掌桥专利:专业的专利平台
掌桥专利
首页

数据管理系统的处理方法及装置、电子设备、存储介质

文献发布时间:2024-04-18 19:59:31


数据管理系统的处理方法及装置、电子设备、存储介质

技术领域

本申请涉及数据处理技术领域,特别涉及一种数据管理系统的处理方法及装置、电子设备、存储介质。

背景技术

数据管理系统用于实现对海量数据的统一管理。例如,分布式数据管理系统是一种通过服务器集群进行数据管理和维护的数据管理系统,服务器集群中包括多个服务器,每个服务器可以运行分布式数据管理系统中的一个角色实例,承载各个角色实例的服务器之间相互配合可以实现对数据的管理和维护。基于此,为确保分布式数据管理系统正常运行,若任意服务器的运行出现异常,需要尽快对异常进行排查并在排查异常之后重新配置相关服务器。

目前,针对数据管理系统的异常情况,均是人工进行排查处理,这样不仅处理效率低,且难以在异常出现时及时处理,从而影响分布式数据管理系统的运行。

发明内容

本申请提供一种数据管理系统的处理方法及装置、电子设备、存储介质,用以提升数据管理系统面对异常信息的处理效率,确保数据管理系统的稳定可靠运行。

第一方面,本申请提供了一种数据管理系统的处理方法,所述数据管理系统包括多个角色实例,每个角色实例通过至少一个服务器运行,且每个服务器包括至少一个存储器,所述方法包括:

获取目标异常信息,所述目标异常信息包括目标存储器标识和目标服务器地址,所述目标存储器标识用于指示与所述目标异常信息对应的目标存储器,所述目标服务器地址用于指示所述目标存储器所属的目标服务器;

根据地址标识映射关系,确定与所述目标服务器地址对应的目标服务器标识;其中,所述目标服务器地址是目标服务器的硬件地址,所述目标服务器标识是目标服务器用于与角色实例建立关联关系的软件标识;

获取所述角色实例的部署服务器标识,将部署服务器标识与所述目标服务器标识匹配的角色实例确定为目标角色实例;

从所述目标角色实例对应的实例数据目录中删除与所述目标存储器标识相匹配的目录项,以及删除所述目标存储器中与所述目标角色实例相对应的实例内容数据;其中,所述目标角色实例对应的实例数据目录存储在所述目标存储器之外的第一存储区域,所述实例内容数据存储在所述目标存储器内部的第二存储区域。

第二方面,本申请提供了一种数据管理系统的处理装置,所述数据管理系统包括多个角色实例,每个角色实例通过至少一个服务器运行,且每个服务器包括至少一个存储器,所述装置包括:

异常获取模块,适于获取目标异常信息,所述目标异常信息包括目标存储器标识和目标服务器地址,所述目标存储器标识用于指示与所述目标异常信息对应的目标存储器,所述目标服务器地址用于指示所述目标存储器所属的目标服务器;

映射模块,适于根据地址标识映射关系,确定与所述目标服务器地址对应的目标服务器标识;其中,所述目标服务器地址是目标服务器的硬件地址,所述目标服务器标识是目标服务器用于与角色实例建立关联关系的软件标识;

匹配模块,适于获取所述角色实例的部署服务器标识,将部署服务器标识与所述目标服务器标识匹配的角色实例确定为目标角色实例;

处理模块,适于从所述目标角色实例对应的实例数据目录中删除与所述目标存储器标识相匹配的目录项,以及删除所述目标存储器中与所述目标角色实例相对应的实例内容数据;其中,所述目标角色实例对应的实例数据目录存储在所述目标存储器之外的第一存储区域,所述实例内容数据存储在所述目标存储器内部的第二存储区域。

第三方面,本申请提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,所述一个或多个计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据管理系统的处理方法。

第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的数据管理系统的处理方法。

本申请实施例的技术方案应用于数据管理系统,所述数据管理系统可以包括多个角色实例,所述多个角色实例通过多个服务器运行。在本申请实施例提供的数据管理系统的处理方法中,在检测到目标异常信息的情况下,获取目标异常信息中的目标存储器标识和目标服务器地址,由于目标服务器地址是硬件层面的地址,因此,借助地址标识映射关系,确定目标服务器地址对应的软件层面的目标服务器标识。相应的,获取角色实例的部署服务器标识,根据部署服务器标识与目标服务器标识之间的匹配关系定位目标角色实例,以便根据定位到的目标角色实例删除对应的实例数据目录以及实例内容数据。由此可见,一方面,本申请借助地址标识映射关系,实现了将硬件层面的地址映射为软件层面的标识的目的,从而为后续定位出现异常的角色实例提供了基础;另一方面,本申请在定位到异常的角色实例(即目标角色实例)的情况下,能够分别获取并删除目标角色实例的实例数据目录中的数据,以及目标角色实例存储在目标存储器中的实例内容数据,从而实现异常数据的全面删除处理。该方式提升了数据管理系统面对异常信息的处理效率,进而提升了系统的稳定性。

应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请,并不构成对本申请的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:

图1为本申请实施例提供的一种数据管理系统的处理方法的流程图;

图2为本申请实施例提供的一种示例性数据管理系统的处理方法的流程图;

图3为本申请实施例提供的一种数据管理系统的处理装置的结构图;

图4为本申请实施例提供的一种电子设备的结构图。

具体实施方式

为使本领域的技术人员更好地理解本申请的技术方案,以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在不冲突的情况下,本申请各实施例及实施例中的各特征可相互组合。

如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。

本文所使用的术语仅用于描述特定实施例,且不意欲限制本申请。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本申请的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。

本申请实施例涉及数据管理系统的异常处理技术,常规的数据管理系统可以部署分布式文件系统(Hadoop Distributed File System,HDFS),该HDFS是数据管理系统的核心。HDFS可以维护多个角色实例,每个角色实例可以视为该HDFS的一个功能节点。其中,不同角色实例在数据管理系统中的功能可以不同,基于此,通常可以按照功能将角色实例划分为不同的角色类型,例如,名称节点(Name Node)类型、数据节点(Data Node)类型等。

需要指出的是,数据管理系统相关的角色实例可以承载在服务器上运行,示例性的,每个服务器可以部署一个角色实例。其中,角色实例可以维护数据管理系统所需的配置信息、管理所需的文件等,而承载该角色实例的服务器可以为该角色实例的运行提供硬件支持(例如存储器(磁盘)),以及存储该角色实例运行所产生的数据等。基于此,当数据管理系统出现异常的情况下,可以分别对异常对应的角色实例和服务器均重新配置。由于角色实例作为提供逻辑功能的软件系统,与为逻辑功能运行提供硬件支持的服务器相互独立,在配置异常对应的角色实例和服务器过程中,可以通过角色实例和服务器的对应关系确定异常对应的服务器以及该服务器承载的角色实例。

本申请实施例提供了一种数据管理系统的处理方法,用于对出现异常的数据管理系统进行配置。在获取包括目标存储器标识和目标服务器地址的目标异常信息后,自动获取所述目标服务器地址对应的服务器标识,得到目标服务器标识,并根据目标服务器标识定位目标角色实例,进而,删除目标角色实例的实例数据目录以及实例内容数据。本申请实施例的方法,在系统异常时,即可自动启动异常排查处理流程,无需人工参与,从而能够在异常出现时及时响应和处理,且通过系统中预配置的服务器地址、服务器标识、角色实例等相互之间的对应关系,查找需要删除的内容并自动执行信息删除处理,能够提高处理效率,从而有利于提升数据管理系统的稳定性。

本申请实施例示意的处理方法可以部署在服务器集群、分布式系统、区块链系统、或者云服务器等各类数据管理系统中。一些实现方式中,该处理方法可以通过数据管理系统中的处理器调用存储器中存储的计算机可读程序指令的方式来实现。

以下结合示例性实现方式对本申请实施例的数据管理系统的处理方法进行介绍。

图1为本申请实施例提供的一种数据管理系统的处理方法的流程图,该数据管理系统包括多个角色实例,每个角色实例通过至少一个服务器运行,且每个服务器包括至少一个存储器。参照图1,该方法包括:

在步骤S11中,获取目标异常信息,目标异常信息包括目标存储器标识和目标服务器地址,目标存储器标识用于指示与目标异常信息对应的目标存储器,目标服务器地址用于指示目标存储器所属的目标服务器。

其中,异常信息可以为数据管理系统在出现异常、故障时自动触发的告警信息。相应的,通过设置回调函数、挂钩函数等方式,即可自动捕获到系统触发的告警信息。在本实施例中,可以将全部告警信息均作为目标异常信息,也可以对告警信息进行筛查,从而将指定类型的告警信息确定为目标异常信息。

例如,在一种可选的实现方式中,通过以下方式获取目标异常信息:

首先,接收数据管理系统中的系统告警消息(即系统自动触发的告警信息),解析该系统告警消息,得到异常信息。然后,确定该异常信息的异常来源,并在异常来源与预设来源列表匹配的情况下,将异常信息确定为目标异常信息。通过上述方式,能够根据异常来源或异常类型,对获取到的异常信息进行筛选,以便筛选出特定来源或特定类型的异常信息作为后续待处理的目标异常信息。其中,预设来源列表用于存储与角色实例相关联的异常来源。所谓与角色实例相关联的异常来源是指:在异常发生时,需要针对角色实例对应的数据内容进行更改的异常来源。另外,在对角色实例对应的数据内容进行更改之后,通常还需要针对数据管理系统的配置信息进行同步更新,相应的,预设来源列表还可以存储与数据管理系统的配置信息更新存在关联的来源类型。例如,数据管理系统对应的异常可以有多种来源类型,不同来源类型的异常可以采用不同的排查方式,一些类型的异常的排查可以无需修改角色实例,而另一些类型的异常的排查则需要修改角色实例。优选的,将需要修改角色实例的异常相关信息确定为目标异常信息,例如,目标异常信息通常包括云管理(cloudera manager,CMF)系统中出现的P0异常告警信息。在一些可选的实现方式中,在修改角色实例之后,还需要更新数据管理系统的配置信息,以确保数据管理系统的配置信息与修改后的角色实例的情况匹配。

其中,目标存储器标识用于指示与目标异常信息对应的目标存储器,目标服务器地址用于指示目标存储器所属的目标服务器。具体的,目标异常信息对应于特定的存储器(即目标存储器,该目标存储器存在于一台服务器(即目标服务器)中。例如,目标存储器标识可以是异常磁盘的盘符;目标服务器地址可以是异常磁盘所属服务器的网际互连协议(Internet Protocol,IP)地址。

在步骤S12中,根据地址标识映射关系,确定与目标服务器地址对应的目标服务器标识;其中,目标服务器地址是目标服务器的硬件地址,目标服务器标识是目标服务器用于与角色实例建立关联关系的软件标识。

其中,地址标识映射关系包括多个服务器中每个服务器的服务器标识与服务器地址之间的对应关系。

由于角色实例是运行在服务器上的,因此,为了便于维护服务器与角色实例之间的对应关系,数据管理系统可以为每个服务器设置服务器标识(Identity document,ID),以通过服务器ID关联每个服务器和该服务器承载的角色实例。其中,每个服务器ID用于在数据管理系统中唯一标识每个服务器。需要说明的是,该服务器标识是用于与角色实例建立关联关系的软件标识,与服务器本身的硬件无关。但是,由于目标异常信息是根据系统告警消息得到的,而系统告警消息则是基于服务器的硬件信息对服务器进行标识的,因此,目标异常信息中包含的是目标服务器的硬件地址。为了实现软件标识与硬件地址之间的转换,数据管理系统可以通过地址标识映射关系维护每个服务器的服务器ID与服务器的服务器地址的对应关系,这样在获取到服务器地址之后,可以查找到服务器地址对应的服务器ID。

示例性的,可以通过getHostId的调用方式,获取与目标服务器地址对应的服务器ID作为目标服务器ID。

在步骤S13中,获取角色实例的部署服务器标识,将部署服务器标识与目标服务器标识匹配的角色实例确定为目标角色实例。

其中,目标角色实例可以指目标异常信息对应的角色实例。

由于每个角色实例通过至少一个服务器运行,因此,每个角色实例至少对应于一个部署服务器标识。其中,部署服务器标识用于表征对应的部署服务器。所谓部署服务器是指:用于部署角色实例的服务器。

为了便于理解,先介绍角色实例的概念:以集群形式的数据管理系统为例,在集群中包含多种服务角色类型,每种服务角色类型可通过对应的一个或多个角色实例实现。例如,在HDFS系统中,至少包含NameNode(名称节点)角色所对应的角色实例,以及DataNode(数据节点)角色所对应的角色实例。其中,每类角色通常对应于多个角色实例。例如,NameNode角色用于管理文件系统的命名空间,用以维护文件系统树及整棵树内所有的文件和目录,这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件。NameNode角色用于记录每个文件中各个块所在的数据节点信息,但并不永久保存块的位置信息,因为这些信息在系统启动时由数据节点(DataNode)进行重建。相应的,DataNode角色主要用来存储数据文件,HDFS将一个文件分割成一个个的block(块),这些block可能存储在一个DataNode实例上或者存储在多个DataNode实例上。由此可见,在HDFS系统中,至少包含两类角色,且每类角色通常对应于多个角色实例,每个角色实例用于部署在至少一台服务器上,以运行相应的功能。同理,Hbase集群中包含HMaster角色和RegionServer角色。

通过上述描述可知,每个角色实例用于借助服务器实现对应的角色服务功能的实例化运行,相应的,每个角色实例需要部署在至少一台服务器上,该用于部署角色实例的服务器称作该角色实例的部署服务器。因此,在本步骤中,通过获取角色实例的部署服务器标识,将部署服务器标识与目标服务器标识进行匹配,即可将部署服务器标识与目标服务器标识匹配的角色实例确定为目标角色实例。由此可见,目标角色实例是指:部署在目标服务器上的角色实例。

具体实施时,可根据角色实例的实例描述信息确定对应的部署服务器。其中,每个角色实例配置有对应的实例描述信息,该实例描述信息用于描述角色实例的实例类型、实例创建时间、实例对应的部署服务器等详细信息。相应的,通过查询每个角色实例的实例描述信息,即可分别确定每个角色实例的部署服务器,进而将部署服务器与目标服务器一致的角色实例确定为目标角色实例。

由于系统中的角色实例的数量众多,若逐一查询每个角色实例的部署服务器,将导致查询过程耗时较长。为了提升异常处理效率,发明人在实现本发明的过程中发现,角色类型和异常类型之间具有特定的对应关系。例如,某种异常类型的告警信息只可能发生在特定的一种或两种角色实例中。因此,通过预先建立角色类型与目标异常信息的异常类型之间的对应关系,可以快速缩小角色实例的查询范围,从而提升处理速度。相应的,通过以下方式获取角色实例的部署服务器标识:首先,确定目标异常信息的异常类型,从多个角色类型中筛选与异常类型相匹配的目标角色类型;然后,将角色类型属于目标角色类型的角色实例确定为候选角色实例;最后,根据每个候选角色实例的实例描述信息,获取每个候选角色实例的部署服务器标识。该方式借助角色类型与异常类型之间的对应关系,缩小了查询范围,仅查询候选角色实例的部署服务器即可。

例如,以CMF系统为例,CMF系统中的HDFS包括Name Node角色类型和Data Node角色类型,CMF系统中的HBase包括hmaster角色类型和region server角色类型。而P0异常告警通常发生在Data Node角色类型的角色实例中。那么,在获取P0异常告警信息后,可以通过getServiceRoleTypeInfo方法调用HDFS中包含的角色类型,从而可以获取到HDFS中包含的角色类型[u'DATANODE',u'NAMENODE'],进而,可以从u'DATANODE'类型的角色实例中确定目标角色实例。采用本实现方式,不仅能够缩小筛选目标角色实例的角色实例的范围,降低计算量,而且能够避免筛选出的角色实例是其他角色类型的角色实例,从而能够避免误处理。

此外,示例性的,从u'DATANODE'类型的角色实例中确定目标角色实例,可以实现为:获取HDFS服务中u'DATANODE'类型的所有角色实例的名称role.name和描述信息role.hostRef.hostId,然后通过循环遍历的方式,逐一判断每个角色实例的描述信息中hostId与目标服务器ID是否相等,将相等的描述信息对应的role.name作为目标角色实例的角色名称,进而,通过该角色名称获取到该目标角色实例。

在步骤S14中,从目标角色实例对应的实例数据目录中删除与目标存储器标识相匹配的目录项,以及删除目标存储器中与目标角色实例相对应的实例内容数据;其中,目标角色实例对应的实例数据目录存储在目标存储器之外的第一存储区域,实例内容数据存储在目标存储器内部的第二存储区域。

由于目标角色实例对应的数据类型较多,因此,需要在本步骤中完整删除与目标角色实例相关联的各类数据。例如,一个目标角色实例通常包含多种数据类型的数据,如图片数据、文件数据、列表数据、系统数据等,不同类型的数据通过不同的路径存储在不同的位置。为了便于快速查询一个角色实例所关联的数据内容,可以针对每个角色实例设置对应的实例数据目录,该实例数据目录用于存储与角色实例相关联的各类数据的存储地址。另外,实例数据目录中还可以包含与角色实例的初始化相关联的配置信息。通常情况下,各个角色实例对应的实例数据目录统一存储在位于目标存储器之外的第一存储区域,例如,将各个角色实例对应的实例数据目录统一存储在特定的服务器或存储器中。另外,角色实例对应的具体数据内容即为实例内容数据,例如,上文提到的图片数据、文件数据、列表数据、系统数据等均为角色实例的实例内容数据。实例内容数据通常存储在目标存储器内部的第二存储区域中。

由此可见,每个角色实例的实例内容数据存储在该角色实例的部署服务器内部的一个或多个存储器中。由于角色实例及其对应的部署服务器的数量众多,因此,为了便于查询,统一将各个角色实例的实例数据目录存储在预设空间。相应的,在本步骤中,需要将目标角色实例的相关数据全部删除,因此,不仅需要从目标角色实例对应的实例数据目录中删除与目标存储器标识相匹配的目录项,还需要删除目标存储器中与目标角色实例相对应的实例内容数据。

另外,除删除目标存储器中与目标角色实例相对应的实例内容数据之外,还可以进一步删除目标存储器对应的存储器配置信息(例如所安装的磁盘和逻辑磁盘信息)以及目标存储器对应的缓存数据(例如缓存的数据)。

在一些可选的实现方式中,在获取目标角色实例的实例数据目录dfs_data_dir_list,dfs_data_dir_list中包含的目标角色实例涉及的所有数据内容之后,可以将目标角色实例的实例数据目录中与目标存储器标识相对应的目录项全部删除。示例性的,可以根据目标存储器标识从目标服务器的/etc/fstab文件里面获取目标存储器标识对应的目录项,进而,在dfs_data_dir_list列表里面删除目标存储器标识对应的目录项。

另一些实现方式中,对于目标服务器,例如可以调用umount命令卸载目标服务器中异常磁盘盘符(即目标存储器标识)指示的磁盘,并通过命令删除缓存信息:/opt/MegaRAID/storcli/storcli64/c0/v${VD}delete preservedCache,其中,变量${VD}是指异常磁盘对应的逻辑磁盘信息。通过直接卸载出现异常的目标存储器的方式,能够最大程度的删除异常信息。

需要指出的是,上述步骤S11至S14可以由预部署到数据管理系统中的自动化配置工具执行,该自动化配置工具可以通过调用数据管理系统的应用程序编程接口(Application Programming Interface,API),实现上述步骤S11至S14的处理。

可见,通过本申请实施例提供的数据管理系统的处理方法,在检测到目标异常信息的情况下,获取目标异常信息中的目标存储器标识和目标服务器地址,由于目标服务器地址是硬件层面的地址,因此,借助地址标识映射关系,确定目标服务器地址对应的软件层面的目标服务器标识。相应的,获取角色实例的部署服务器标识,根据部署服务器标识与目标服务器标识之间的匹配关系定位目标角色实例,以便根据定位到的目标角色实例删除对应的实例数据目录以及实例内容数据。由此可见,一方面,本申请借助地址标识映射关系,实现了将硬件层面的地址映射为软件层面的标识的目的,从而为后续定位出现异常的角色实例提供了基础;另一方面,本申请在定位到异常的角色实例(即目标角色实例)的情况下,能够分别获取并删除目标角色实例的实例数据目录中的数据,以及目标角色实例存储在目标存储器中的实例内容数据,从而实现异常数据的全面删除处理。该方式提升了数据管理系统面对异常信息的处理效率,进而提升了系统的稳定性。

本领域技术人员还可以针对上述实施例进行各种改动和变形:

例如,在一些实现方式中,为防止在删除目标存储器中与目标角色实例相对应的实例内容数据之前,再次调用该异常的目标存储器所导致的故障问题,在确定与目标服务器地址对应的目标服务器标识之后,还可以根据目标服务器标识确定目标存储器,并为目标存储器添加异常注释信息,该异常注释信息用于指示目标存储器不可被调用。示例性的,例如,在目标存储器为磁盘的情况下,可以注释服务器中/etc/fstab文件里面异常磁盘盘符标识的信息,以指示该异常磁盘不可被调用。相应的,在接收到针对任一存储器触发的调用指令的情况下,查询该调用指令对应的存储器是否存在异常注释信息;若否,则执行调用指令;若是,则拦截调用指令。其中,调用指令用于调用对应的存储器以实现数据处理,通过对存在异常的存储器添加异常注释信息的方式,可以有效规避已经出现异常的存储器在更新数据之前再次被调用,从而有利于在出现异常的情况下,维持数据管理系统的正常运行。

需要说明的是,该异常注释信息主要用于在异常的存储器中的异常数据(即目标角色实例的实例内容数据)被删除之前,避免存储器被调用。当检测到异常数据已经被删除完毕,且数据管理系统的配置信息已对应更新的情况下,则删除该异常注释信息,以恢复该存储器的正常调用过程。

在又一些可选的实现方式中,为了确保数据删除处理的全面性,进一步需要删除缓存数据。相应的,在删除目标存储器中与目标角色实例相对应的实例数据之后,进一步确定与目标存储器相对应的缓存区域,从缓存区域中删除与目标角色实例相对应的缓存数据。其中,缓存区域用于缓存与目标存储器相对应的访问数据。例如,每个存储器对应于一块缓存区域,该缓存区域用于缓存近期从该存储器中访问的数据内容,以提升后续访问的速度。因此,通过同步删除缓存数据,能够避免因缓存数据导致的数据访问异常情况。可选的,在删除目标存储器中与目标角色实例相对应的实例数据之后,进一步将目标存储器对应的存储文件由缓存模式(WT)切换为缓存失效(WB)模式。

在又一些可选的实现方式中,考虑到数据管理系统中存储有配置文件,该配置文件用于统一配置与系统中的各个角色实例相关联的数据信息。因此,在针对目标角色实例的相关数据执行删除处理之后,为了确保系统中各部分的同步,还需要执行刷新操作,以使针对系统中的角色实例的修改内容生效。相应的,在删除目标存储器中与目标角色实例相对应的实例数据之后,进一步在数据管理系统中执行实例刷新操作,以更新数据管理系统中与角色实例相关联的系统实例配置信息。例如,在将目标存储器标识对应的数据存储目录从dfs_data_dir_list中删除后,可以将删除数据后的dfs_data_dir_list传输至roleInstance.update_config方法,以调用刷新处理来刷新系统中与目标角色实例相关的配置信息。通过实例刷新操作,能够使系统中与角色实例相关联的系统实例配置信息同步更新,从而确保各个设备间的调用数据准确。

在又一种可选的实现方式中,在针对目标角色实例执行实例刷新操作,以更新目标角色实例在数据管理系统中对应的配置信息之后,进一步采集目标角色实例在数据管理系统中对应的配置信息的更新结果;若更新结果指示目标角色实例在数据管理系统中对应的配置信息更新失败,则输出异常提示信息;其中,异常提示信息用于触发针对目标异常信息的校验处理。该方式能够快速发现因更新失败而导致实例刷新未生效的错误问题,从而根据异常提示信息对目标异常信息进行校验处理。校验处理的方式可以是查询更新失败的具体原因,并针对性进行修复。

例如,在一些实现方式中,更新结果是0,可以指示数据管理系统的配置信息更新成功;更新结果是1,可以指示数据管理系统的配置信息更新失败。示例性的,本申请实施例可以基于Prometheus判断磁盘清理状态(disk_clear_state)的值是否为1,如果为1,则触发监控告警;如果为0,可以输出更新成功的提示信息。采用本实现方式,能够监控自动化系统配置的处理结果,从而在确定自动化系统配置未配置成功的情况下发出告警,从而能够及时输出处理结果,以便于技术人员能够及时介入。

下面结合示例性实施场景对本申请实施例的数据管理系统的处理方法进行说明。

以下以数据管理系统实现为CMF系统,且以异常告警是P0告警为例进行说明。该CMF系统中可以部署有自动化配置工具,该CMF系统可以部署有多个角色实例,该多个角色实例可以分别部署在多个服务器上,每个服务器例如部署一个角色实例。

参见图2,图2示意了一种示例性数据管理系统的处理方法的流程图,该数据管理系统的处理方法可以包括如下步骤:

步骤S20,CMF系统接收到P0告警信息后,将P0告警信息对应的磁盘盘符(即目标存储器标识)和磁盘对应的服务器IP地址(即目标服务器地址)传输至自动化配置工具。

本示例中,所述的磁盘可以是触发产生P0告警信息的异常对应的磁盘。磁盘盘符即上述目标存储器标识的示例性实现形式,磁盘对应的服务器IP地址即上述目标服务器地址的示例性实现形式。

进一步的,自动化配置工具在接收到磁盘盘符和磁盘对应的服务器IP地址之后,可以调用CMF系统的API执行后续步骤的处理。

步骤S21,筛选P0告警信息对应的目标角色类型。

其中,P0告警信息的异常通常发生在HDFS中,基于此,自动化配置工具可以通过getServiceRoleTypeInfo方法调用HDFS中包含的角色类型,从而可以获取到HDFS中包含的角色类型[u'DATANODE',u'NAMENODE'],进而,将u'DATANODE'确定为目标角色类型。

步骤S22,获取CMF系统包含的所有服务器的服务器ID和服务器IP地址的对应关系。

步骤S23,根据磁盘对应的服务器IP地址,从服务器ID和服务器IP地址的对应关系中查找磁盘对应的服务器ID。

本示例中,磁盘对应的服务器ID即前述目标服务器ID。

在确定磁盘对应的服务器ID之后,可以注释磁盘对应的服务器中/etc/fstab文件里面异常磁盘盘符标识的信息,以指示该异常磁盘不可被调用。

步骤S24,获取目标角色类型对应的全部角色名称,根据每个角色名称对应的描述信息中的即部署服务器标识与目标服务器标识之间的匹配结果,确定目标角色实例。

获取HDFS中u'DATANODE'类型对应的所有角色名称role.name和每个role.name对应的描述信息role.hostRef.hostId,然后通过循环遍历的方式,逐一判断每个role.hostRef.hostId中hostId(即部署服务器标识)与磁盘对应的服务器ID(即目标服务器标识)是否相等,将相等的role.hostRef.hostId对应的role.name作为目标角色实例的角色名称,进而,根据目标角色实例的角色名称确定目标角色实例。由此可见,该步骤旨在将部署服务器标识与目标服务器标识匹配的角色实例确定为目标角色实例。

步骤S25,获取目标角色实例的实例数据目录。

例如,实例数据目录可以为:dfs_data_dir_list。

步骤S26,将磁盘盘符对应的目录项从dfs_data_dir_list中删除,以及刷新目标角色实例的配置信息。

该步骤旨在从目标角色实例对应的实例数据目录中删除与目标存储器标识相匹配的目录项(即磁盘盘符对应的目录项)。并且,通过刷新操作使对应的配置信息的修改生效。

步骤S27,删除目标存储器中与目标角色实例相对应的实例内容数据。

另外,还可以将磁盘盘符对应的磁盘从磁盘对应的服务器中卸载。

其中,自动化配置工具可以调用umount命令卸载磁盘盘符对应的磁盘。

步骤S28,将磁盘盘符对应的缓存数据和逻辑磁盘信息从磁盘对应的服务器中删除。

自动化配置工具可以通过命令删除缓存信息:/opt/MegaRAID/storcli/storcli64/c0/v${VD}delete preservedCache,其中,变量${VD}是指异常磁盘对应的逻辑磁盘信息。其中,磁盘盘符对应的缓存数据即为目标存储器对应的缓存区域中的数据。

步骤S29,将磁盘盘符对应的存储文件由WT切换为WB模式,以使缓存失效。另外,自动化工具还可以进一步生成更新结果,若更新结果为1,则输出告警。

综上,通过上述方式即可实现异常信息的自动处理。该方式能够确保删除数据的全面性,并且,能够监控配置数据的刷新结果,从而提升系统的可靠性。

可以理解,本申请提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本申请不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

图3为本申请实施例提供的一种数据管理系统的处理装置的结构图。

参照图3,本申请实施例提供了一种数据管理系统的处理装置,所述数据管理系统包括多个角色实例,每个角色实例通过至少一个服务器运行,且每个服务器包括至少一个存储器,所述装置包括:

异常获取模块31,适于获取目标异常信息,所述目标异常信息包括目标存储器标识和目标服务器地址,所述目标存储器标识用于指示与所述目标异常信息对应的目标存储器,所述目标服务器地址用于指示所述目标存储器所属的目标服务器;

映射模块32,适于根据地址标识映射关系,确定与所述目标服务器地址对应的目标服务器标识;其中,所述目标服务器地址是目标服务器的硬件地址,所述目标服务器标识是目标服务器用于与角色实例建立关联关系的软件标识;

匹配模块33,适于获取所述角色实例的部署服务器标识,将部署服务器标识与所述目标服务器标识匹配的角色实例确定为目标角色实例;

处理模块34,适于从所述目标角色实例对应的实例数据目录中删除与所述目标存储器标识相匹配的目录项,以及删除所述目标存储器中与所述目标角色实例相对应的实例内容数据;其中,所述目标角色实例对应的实例数据目录存储在所述目标存储器之外的第一存储区域,所述实例内容数据存储在所述目标存储器内部的第二存储区域。

可见,通过本申请实施例提供的数据管理系统的处理方法,在检测到目标异常信息的情况下,获取目标异常信息中的目标存储器标识和目标服务器地址,由于目标服务器地址是硬件层面的地址,因此,借助地址标识映射关系,确定目标服务器地址对应的软件层面的目标服务器标识。相应的,获取角色实例的部署服务器标识,根据部署服务器标识与目标服务器标识之间的匹配关系定位目标角色实例,以便根据定位到的目标角色实例删除对应的实例数据目录以及实例内容数据。由此可见,一方面,本申请借助地址标识映射关系,实现了将硬件层面的地址映射为软件层面的标识的目的,从而为后续定位出现异常的角色实例提供了基础;另一方面,本申请在定位到异常的角色实例(即目标角色实例)的情况下,能够分别获取并删除目标角色实例的实例数据目录中的数据,以及目标角色实例存储在目标存储器中的实例内容数据,从而实现异常数据的全面删除处理。该方式提升了数据管理系统面对异常信息的处理效率,进而提升了系统的稳定性。

在一种可选的实现方式中,所述匹配模块33具体适于:确定所述目标异常信息的异常类型,从多个角色类型中筛选与所述异常类型相匹配的目标角色类型;将角色类型属于所述目标角色类型的角色实例确定为候选角色实例;根据每个候选角色实例的实例描述信息,获取每个候选角色实例的部署服务器标识。

在一种可选的实现方式中,所述处理模块34还适于:确定与所述目标存储器相对应的缓存区域;其中,所述缓存区域用于缓存与所述目标存储器相对应的访问数据;从所述缓存区域中删除与所述目标角色实例相对应的缓存数据。

在一种可选的实现方式中,所述映射模块32还适于:为所述目标存储器添加异常注释信息,所述异常注释信息用于指示所述目标存储器不可被调用;并且,在接收到针对任一存储器触发的调用指令的情况下,查询所述调用指令对应的存储器是否存在异常注释信息;若否,则执行所述调用指令;若是,则拦截所述调用指令。

在一种可选的实现方式中,所述处理模块34还适于:在所述数据管理系统中执行实例刷新操作,以更新所述数据管理系统中与角色实例相关联的的系统实例配置信息。

在一种可选的实现方式中,所述处理模块还适于:采集所述目标角色实例在所述数据管理系统中对应的配置信息的更新结果;若所述更新结果指示所述目标角色实例在数据管理系统中对应的配置信息更新失败,则输出异常提示信息;其中,所述异常提示信息用于触发针对所述目标异常信息的校验处理。

在一种可选的实现方式中,所述异常获取模块31具体适于:接收所述数据管理系统中的系统告警消息,解析所述系统告警消息,得到异常信息;确定所述异常信息的异常来源,并在所述异常来源与预设来源列表匹配的情况下,将所述异常信息确定为目标异常信息;其中,所述预设来源列表用于存储与角色实例相关联的异常来源。

具体实现方式详见上述图1和图2示意的方法实现方式,此处不再赘述。

可以理解的是,以上各个模块/单元的划分仅仅是一种逻辑功能的划分,实际实现时,各以上各个模块/单元可以集成到硬件实现。

如图4所示,图4为本申请实施例提供的一种电子设备的框图。参照图4,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器501;至少一个存储器502,以及一个或多个I/O接口503,连接在处理器501与存储器502之间;其中,存储器502存储有可被至少一个处理器501执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器501执行,以使至少一个处理器501能够执行上述的数据管理系统的处理方法。

本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质可以是易失性或非易失性计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器501执行时执行上述数据管理系统的处理方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。

如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。

这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。

这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本申请的范围的情况下,可进行各种形式和细节上的改变。

技术分类

06120116516217