分布式管理系统中组件的进程故障自愈方法、装置及设备转让专利

申请号 : CN202010703292.0

文献号 : CN111930565B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高永伟

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种分布式管理系统中组件的进程故障自愈方法、装置及设备,该方法包括:获取包括分布式管理系统中分布式管理服务器的应用程序接口地址和分布式管理系统中元数据库的元数据库地址的配置信息;利用应用程序接口地址从分布式管理服务器获取组件的当前运行状态;利用元数据库地址从元数据库获取元数据;根据当前运行状态和元数据,对组件进行故障检查;当检查到存在故障组件时,利用应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。利用本申请实施例提供的技术方案可以实现跨版本兼容,自愈流程可见,服务集成代码无侵入,简单高效的分布式管理系统中组件的进程故障自愈。

权利要求 :

1.一种分布式管理系统中组件的进程故障自愈方法,其特征在于,所述方法包括:获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;

利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;

利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;

根据所述当前运行状态和所述元数据,对所述组件进行故障检查;所述元数据包括所述组件的目标运行状态、所述组件的模式信息、所述组件所属服务的模式信息和所述组件所在节点的模式信息;所述根据所述当前运行状态和所述元数据,对所述组件进行故障检查包括:根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件;根据所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息对所述待自愈组件进行维护模式检查;当所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息均为非维护模式时,确定所述待自愈组件为故障组件;

当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。

2.根据权利要求1所述的方法,其特征在于,所述元数据还包括所述组件的当前运行状态;

相应的,所述根据所述当前运行状态和所述元数据,对所述组件进行故障检查还包括:对所述元数据中组件的当前运行状态和所述分布式管理服务器中获取的所述组件的当前运行状态进行一致性验证;

当一致性验证通过时,执行根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件的步骤。

3.根据权利要求1至2任一所述的方法,其特征在于,在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,所述方法还包括:确定所述故障组件所在节点的连通性;

当所述故障组件所在节点连通时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。

4.根据权利要求1至2任一所述的方法,其特征在于,在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,所述方法还包括:对所述故障组件进行任务冲突检测;

当任务冲突检测的结果为所述故障组件不存在其他任务时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。

5.根据权利要求1至2任一所述的方法,其特征在于,所述配置信息还包括服务黑名单,在根据所述当前运行状态和所述元数据,对所述组件进行故障检查之前,所述方法还包括:根据所述服务黑名单对所述分布式管理系统对应服务下组件进行黑名单筛查,得到目标组件;

相应的,所述根据所述当前运行状态和所述元数据,对所述组件进行故障检查包括:根据所述当前运行状态和所述元数据,对所述目标组件进行故障检查。

6.根据权利要求1至2任一所述的方法,其特征在于,在利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之后,所述方法还包括:记录所述故障组件的进程重启累计次数。

7.根据权利要求6所述的方法,其特征在于,所述配置信息还包括预设重启上限;

相应的,在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,所述方法还包括:确定所述故障组件的进程重启累计次数;

当所述故障组件的进程重启累计次数小于等于预设重启上限时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。

8.一种分布式管理系统中组件的进程故障自愈装置,其特征在于,所述装置包括:配置信息获取模块,用于获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;

当前运行状态获取模块,用于利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;

元数据获取模块,用于利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;

故障检查模块,用于根据所述当前运行状态和所述元数据,对所述组件进行故障检查;

所述元数据可以包括所述组件的目标运行状态、所述组件的模式信息、所述组件所属服务的模式信息和所述组件所在节点的模式信息;所述故障检查模块包括:待自愈组件确定单元,用于根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件;维护模式检查单元,用于根据所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息对所述待自愈组件进行维护模式检查;故障组件确定单元,用于当所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息均为非维护模式时,确定所述待自愈组件为故障组件;

进程重启任务触发模块,用于当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。

9.一种分布式管理系统中组件的进程故障自愈设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令由所述处理器加载并执行以实现如权利要求1至7任一所述的分布式管理系统中组件的进程故障自愈方法。

10.一种计算机可读存储介质,所述存储介质可设置于设备之中以保存计算机指令,所述计算机指令由设备中的处理器加载并执行以实现如权利要求1至7任一所述的分布式管理系统中组件的进程故障自愈方法。

说明书 :

分布式管理系统中组件的进程故障自愈方法、装置及设备

技术领域

[0001] 本申请涉及互联网通信技术领域,尤其涉及一种分布式管理系统中组件的进程故障自愈方法、装置及设备。

背景技术

[0002] 随着互联网通信技术的日新月异,一些大型的互联网业务系统,由于业务复杂等原因,会采用分布式集群管理。随之也产生了大量用于进行分布式集群管理的服务管理系
统,如Apache ambari等,但随着管理的单个分布式集群系统中节点逐渐的增多,各种因硬
件、软件导致的组件故障时有发生,一些常见的故障例如内存不足、网络抖动、磁盘IO过载
等导致的进程终止,通常只需要将进程重新拉起即可实现故障自愈。
[0003] 现有的故障自愈方案主要有以下两种:一种是通过修改分布式管理系统的组件全局配置文件,重启服务后由分布式管理系统中的代理节点负责处理组件的进程故障自愈;
另一种是废除了前一种的全局配置,通过修改服务集成代码定义故障自愈相关信息,并在
分布式管理系统中的web界面中配置是否启动故障自愈。但上述两种方案间存在版本不兼
容的问题,且当组件进程异常终止后,故障自愈均会在分布式管理系统的后台静默拉起进
程进行恢复,导致故障自愈流程只能通过登录服务器查看代理节点的日志得知,自愈流程
存在黑盒性;且两个方案,前一种方案中,需要修改组件配置文件后进行进程重启,后一种
服务故障自愈能力默认处于关闭状态,需要人工操作逐个服务开启,且需要修改服务集成
代码定义故障自愈相关信息,操作流程复杂,服务集成代码维护成本高;因此,需要提供更
可靠或更有效的方案。

发明内容

[0004] 本申请提供了一种分布式管理系统中组件的进程故障自愈方法、装置及设备,可以实现跨版本兼容,自愈流程可见,服务集成代码无侵入,简单高效的分布式管理系统中组
件的进程故障自愈。
[0005] 一方面,本申请提供了一种分布式管理系统中组件的进程故障自愈方法,所述方法包括:
[0006] 获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;
[0007] 利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;
[0008] 利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;
[0009] 根据所述当前运行状态和所述元数据,对所述组件进行故障检查;
[0010] 当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0011] 另一方面提供了一种分布式管理系统中组件的进程故障自愈装置,所述装置包括:
[0012] 配置信息获取模块,用于获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;
[0013] 当前运行状态获取模块,用于利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;
[0014] 元数据获取模块,用于利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作
状态;
[0015] 故障检查模块,用于根据所述当前运行状态和所述元数据,对所述组件进行故障检查;
[0016] 进程重启任务触发模块,用于当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0017] 另一方面提供了一种分布式管理系统中组件的进程故障自愈设备,所述设备包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令由所述处理器加载并
执行以实现如上述的分布式管理系统中组件的进程故障自愈方法。
[0018] 本申请提供的分布式管理系统中组件的进程故障自愈方法、装置及设备,具有如下技术效果:
[0019] 本申请通过包括分布式管理系统中分布式管理服务器的应用程序接口地址和分布式管理系统中元数据库的元数据库地址的配置信息,可以实时的从分布式管理服务器获
取分布式管理系统对应服务下组件的当前运行状态;以及从元数据库获取包括分布式管理
系统对应服务和该服务下组件的工作状态的元数据;进而可以根据当前运行状态和元数
据,对组件进行故障检查;当检查到存在故障组件时,通过分布式管理服务器的应用程序接
口自动触发故障组件的进程重启任务,实现了对分布式管理系统中组件的进程故障自愈,
进而保证了组件所属服务和所在节点的故障自愈。且通过分布式管理服务器的应用程序接
口地址和分布式管理系统中元数据库的元数据库地址,将组件的当前运行状态和分布式管
理系统的元数据从后台传输出来,用户可以通过web UI、API、命令行工具等入口直观的观
察到组件在什么时间发生了故障,何时从故障中恢复,以及恢复过程的完整输出信息,实现
自愈流程可见性,避免了现有的自愈流程黑盒性。且直接通过应用程序接口进行进程任务
重启,可以兼容分布式管理系统原有的故障自愈技术,达到了跨版本的通用故障自愈能力,
保持了原有的使用体验。且无需对分布式管理服务器本身做任何修改或者重启,避免了对
运行于分布式管理系统之上的服务集成代码做任何修改,实现了服务集成代码无侵入和更
加简单高效的故障自愈。

附图说明

[0020] 为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅
仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其它附图。
[0021] 图1是本申请实施例提供的一种应用环境的示意图;
[0022] 图2是本申请实施例提供的一种分布式管理系统中组件的进程故障自愈方法的流程示意图;
[0023] 图3是本申请实施例提供的一种根据所述当前运行状态和所述元数据对所述组件进行故障检查的流程示意图;
[0024] 图4是本申请实施例提供的一种根据所述当前运行状态和所述元数据,对所述组件进行故障检查的流程示意图;
[0025] 图5是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;
[0026] 图6是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;
[0027] 图7是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;
[0028] 图8是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;
[0029] 图9是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;
[0030] 图10是本申请实施例提供的一种分布式管理系统中组件的进程故障自愈装置的结构示意图;
[0031] 图11是本申请实施例提供的一种执行语义意图识别方法的设备的硬件结构框图。

具体实施方式

[0032] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其
他实施例,都属于本申请保护的范围。
[0033] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限
于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产
品或设备固有的其它步骤或单元。
[0034] 请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境至少包括故障自愈控制端100、分布式管理系统200和分布式集群300。
[0035] 本说明书实施例中,故障自愈控制端100可以用于对分布式管理系统对应服务下的组件进行故障自愈控制,具体的,故障自愈控制端100可以包括客户端,也可以包括服务
器。
[0036] 本说明书实施例中,分布式管理系统200可以包括分布式管理服务器201、元数据库202和多个代理节点203。具体的,分布式管理系统200可以用于分布式集群及其生态相关
组件的服务定义、管理、监控等一体化集群管理系统,具体的,本说明书实施例中,分布式管
理系统200可以包含一套简单易用的web UI(User Interface,用户界面)和一套规范的
RESTful API(Application Programming Interface,应用程序接口)集合。
[0037] 本说明书实施例中,分布式集群300可以包括多个节点,所述多个节点可以包括客户端,也可以包括服务器。
[0038] 本说明书实施例中,多个代理节点203可以部署于分布式集群300的多个节点上,具体的,例如分布式集群300的每一节点上部署一个代理节点;相应的,分布式管理服务器
201可以通过多个代理节点203收集分布式集群300的多个节点上服务和服务下组件的工作
状态,并存储到元数据库;另外,所述分布式管理服务器201也可以收集多个代理节点203上
服务和服务下组件的工作状态,并将多个代理节点203的工作状态存储到元数据库。
[0039] 本说明书实施例中,上述故障自愈控制端100、分布式管理系统200和分布式集群300可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
[0040] 在一个具体的实施例中,上述故障自愈控制端100可以通过分布式管理系统200中的分布式管理服务器的应用程序接口实现与分布式管理服务器的通信连接。
[0041] 本说明书实施例中,客户端可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual 
reality,VR)设备、智能可穿戴设备等类型的实体设备。也可以为运行与实体设备中的软
体。本申请实施例中实体设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、
linux、windows等。
[0042] 本说明书实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存
储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,
内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0043] 在一个具体的实施例中,分布式管理系统200或分布式集群300应用于区块链系统时,可以由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)形成,节点
之间形成组成的点对点(P2P,Peer To Peer)网络,P2P 协议是一个运行在传输控制协议
(TCP,Transmission Control Protocol )协议之上的应用层协议。在分布式系统中,任何
机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用
层。具体的,区块链系统中各节点的功能,涉及的功能可以包括:
[0044] 1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0045] 节点除具有路由功能外,还可以具有以下功能:
[0046] 2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数
据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,
将记录数据添加到临时区块中。
[0047] 以下介绍本申请一种分布式管理系统中组件的进程故障自愈方法的实施例,图2是本申请实施例提供的一种分布式管理系统中组件的进程故障自愈方法的流程示意图,本
说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可
以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的
一种方式,不代表唯一的执行顺序。在实际中的系统或客户端产品执行时,可以按照实施例
或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具
体的如图2所示,所述方法可以包括:
[0048] S201:获取配置信息。
[0049] 本说明书实施例中,可以预先配置好需要进行组件的进程故障自愈控制的分布式管理系统的配置信息,并在进行进程故障自愈控制时,从本地加载获取配置信息,具体的,
配置信息可以包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布
式管理系统中元数据库的元数据库地址。
[0050] 在实际应用中,故障自愈控制端可以创建一个守护进程,该守护进程可以用于加载配置信息,以结合配置信息中应用程序接口地址和元数据库地址获取用于进行组件的进
程故障自愈控制的相关信息。
[0051] S203:利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态。
[0052] 本说明书实施例中,分布式管理服务器可以提供通用的应用程序接口,相应的,故障自愈控制端可以结合该应用程序接口的地址信息(应用程序接口地址),从分布式管理服
务器获取分布式管理系统对应服务下组件的当前运行状态。具体的,可以由故障自愈控制
端的守护进程基于应用程序接口地址从分布式管理服务器获取分布式管理系统对应服务
下组件的当前运行状态。具体的,组件的当前运行状态可以包括正常运行状态或停止运行
状态。
[0053] 本说明书实施例中,分布式管理系统对应服务下组件可以包括分布式管理系统本身所包括的多个代理节点以及所管理的分布式集群所提供服务下的组件。
[0054] S205:利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据。
[0055] 本说明书实施例中,故障自愈控制端的守护进程可以基于元数据库地址从元数据库获取分布式管理系统的元数据。具体的,元数据可以表征分布式管理系统对应服务和所
述服务下组件的工作状态;
[0056] 本说明书实施例中,分布式管理系统对应服务可以包括分布式管理系统本身所包括的多个代理节点以及所管理的分布式集群所提供的服务。
[0057] S207:根据所述当前运行状态和所述元数据,对所述组件进行故障检查。
[0058] 在一个具体的实施例中,元数据可以包括组件的目标运行状态、组件的模式信息、所述组件所属服务的模式信息和所述组件所在节点的模式信息。相应的,如图3所示,根据
所述当前运行状态和所述元数据,对所述组件进行故障检查可以包括:
[0059] S301:根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件;
[0060] S303:根据所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息对所述待自愈组件进行维护模式检查;
[0061] S305:当所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息均为非维护模式时,确定所述待自愈组件为故障组
件。
[0062] 本说明书实施例中,组件的目标运行状态可以包括启动运行状态或停止运行状态,具体的,可以结合组件的实际应用需求进行设置。在实际应用中,大多数组件的目标运
行状态为启动运行状态,当组件需要进行维护或存在某些冲突导致组件需要停止运行的特
殊情况下,组件的目标运行状态可以为停止运行状态。
[0063] 本说明书实施例中,需要进行进程故障自愈的组件可以为当前运行状态为停止运行状态且目标运行状态为启动运行状态的组件;
[0064] 本说明书实施例中,模式信息可以包括维护模式和非维护模式。在实际应用中,当组件、组件所属服务以及组件所在节点中任一的模式信息为维护模式下时,往往需要组件
处于停止运行状态,相应的,为了避免对因维护模式需要处于停止运行状态的组件的进程
重启,可以对当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件
进行维护模式检查,当待自愈组件的模式信息、待自愈组件的所属服务的模式信息和待自
愈组件所在节点的模式信息均为非维护模式时,确定该待自愈组件为可以进行进程重启的
故障组件。
[0065] 进一步的,当待自愈组件的模式信息、待自愈组件的所属服务的模式信息和待自愈组件所在节点的模式信息中任一为维护模式时,不执行进一步的故障自愈操作,由守护
进程重新从分布式管理服务器获取组件的当前运行状态以及从元数据库获取分布式管理
系统的元数据。
[0066] 在另一些实施例中,为了避免分布式管理系统本身存在异常,元数据还可以包括所述组件的当前运行状态;相应的,如图4所示,所述根据所述当前运行状态和所述元数据,
对所述组件进行故障检查可以包括:
[0067] S401:对所述元数据中组件的当前运行状态和所述分布式管理服务器中获取的所述组件的当前运行状态进行一致性验证;
[0068] S403:当一致性验证通过时,根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件;
[0069] S405:根据所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息对所述待自愈组件进行维护模式检查;
[0070] S407:当所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息均为非维护模式时,确定所述待自愈组件为故障组
件。
[0071] 本说明书实施例中,当元数据中组件的当前运行状态和所述分布式管理服务器中获取的所述组件的当前运行状态一致时,一致性验证通过;反之,一致性验证不通过;相应
的,当一致性验证不通过时,分布式管理系统本身存在异常,相应的,不执行进一步的故障
自愈操作,由守护进程重新从分布式管理服务器获取组件的当前运行状态以及从元数据库
获取分布式管理系统的元数据。
[0072] 进一步的,当一致性验证不通过时,还可以反馈相关提示信息,以便相关人员对分布式管理系统进行异常检查,并及时恢复。
[0073] S209:当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0074] 本说明书实施例中,在检查到分布式管理系统对应服务下组件中存在故障组件时,可以利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任
务,以便分布式管理服务器启动对所述故障组件的进程重启,实现组件的故障进程自愈。
[0075] 在另一些实施例中,考虑到因节点硬件发生故障或者掉电而出现的组件故障,会无法实现故障组件的进程重启,为了避免无效的进程重启,相应的,如图5所示,在所述利用
所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,所述
方法还包括:
[0076] S211:当检查到存在故障组件时,确定所述故障组件所在节点的连通性。
[0077] 相应的,步骤S209替换为当所述故障组件所在节点连通时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0078] 本说明书实施例中,可以通过连接故障组件所在节点的TCP端口来确定故障组件所在节点的连通性,具体的,若连接上,确定故障组件所在节点连通,触发该故障组件的进
程重启任务;反之,若未连接上,确定该故障组件所在节点不连通,相应的,不执行进一步的
故障自愈操作,由守护进程重新从分布式管理服务器获取组件的当前运行状态以及从元数
据库获取分布式管理系统的元数据。
[0079] 进一步的,当确定该故障组件所在节点不连通,可以通过反馈故障组件所在节点不连通的提示信息,以便相关工作人员及时进行节点的恢复。
[0080] 在另一些实施例中,在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,如图6所示,所述方法还可以包括:
[0081] S213:当检查到存在故障组件时,对所述故障组件进行任务冲突检测;
[0082] 相应的,S209替换为当任务冲突检测的结果为所述故障组件不存在其他任务时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0083] 在实际应用中,若故障组件本身还有其他操作正在执行中,比如前面已经有一个重启的任务了,这个时候就没有必要再重启了,为了避免任务冲突或者任务堆积,可以对故
障组件进行任务冲突检测,在故障组件不存在其他任务时,触发该故障组件的进程重启任
务。
[0084] 本说明书实施例中,当任务冲突检测的结果为所述故障组件存在其他任务时,不执行进一步的故障自愈操作,由守护进程重新从分布式管理服务器获取组件的当前运行状
态以及从元数据库获取分布式管理系统的元数据。
[0085] 在另一些实施例中,所述配置信息还可以包括服务黑名单,在根据所述当前运行状态和所述元数据,对所述组件进行故障检查之前,如图7所示,所述方法还包括:
[0086] S215:根据所述服务黑名单对所述分布式管理系统对应服务下组件进行黑名单筛查,得到目标组件。
[0087] 相应的,步骤S207中所述根据所述当前运行状态和所述元数据,对所述组件进行故障检查包括:根据所述当前运行状态和所述元数据,对所述目标组件进行故障检查。
[0088] 在实际应用中,可以对分布式管理系统对应服务下组件均进行故障自愈控制,也可以结合服务黑名单进行部分组件的故障自愈控制。
[0089] 在一个具体的实施例中,当需要对分布式管理系统对应服务下组件均进行故障自愈控制,配置信息中可以进行如下配置:
[0090] [services]
[0091] include = all
[0092] exclude =
[0093] 在另一个具体的实施例中,当需要结合服务黑名单进行部分组件的故障自愈控制,配置信息中可以进行如下配置:
[0094] [services]
[0095] include = all
[0096] exclude = YARN, ZOOKEEPER,HDFS
[0097] 即需要将服务YARN,ZOOKEEPER,HDFS下的组件进行排除,其中,YARN(Yet Another Resource Negotiator,另一种资源协调者)为一种新的 Hadoop 资源管理器;ZooKeeper是
一个分布式的,开放源码的分布式应用程序协调服务;HDFS(Hadoop分布式文件系统)是指
被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。
[0098] 在实际应用中,服务黑名单可以包括处于调整阶段,还未正式上线的一些服务,相应的,可以将服务黑名单中的服务下组件筛除掉,得到目标组件。
[0099] 本说明书实施例中,当某一组件所属的服务在服务黑名单中时,不执行进一步的故障自愈操作,由守护进程重新从分布式管理服务器获取组件的当前运行状态以及从元数
据库获取分布式管理系统的元数据。
[0100] 此外,需要说明的是,在实际应用中,还可以设置服务白名单,相应的,可以将服务白名单中的服务下组件作为目标组件。
[0101] 在另一些实施例中,在利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之后,所述方法还包括:
[0102] 记录所述故障组件的进程重启累计次数;
[0103] 相应的,所述配置信息还包括预设重启上限;在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,如图8所示,所述方法还可以
包括:
[0104] S217:当检查到存在故障组件时,确定所述故障组件的进程重启累计次数。
[0105] 相应的,步骤S209替换为当所述故障组件的进程重启累计次数小于等于预设重启上限时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任
务。
[0106] 在实际应用中,当进行多次重启,组件依然处于停止运行状态,为了避免过多无效的故障重启造成整个系统的资源浪费,可以在每次触发故障组件的进程重启任务之后,记
录故障组件的进程重启累计次数,当达到预设重启上限之后,将不再触发故障组件的进程
重启任务,相应的,守护进程可以重新从分布式管理服务器获取组件的当前运行状态以及
从元数据库获取分布式管理系统的元数据。
[0107] 进一步的,当达到预设重启上限之后,也可以反馈相应的提示信息,以便相关工作人员进行进一步的检查恢复。
[0108] 进一步的,若在预设重启上限内重启成功,可以将该故障组件的进程重启累计次数清零。
[0109] 由以上本说明书实施例提供的技术方案可知,本说明书实施例中通过包括分布式管理系统中分布式管理服务器的应用程序接口地址和分布式管理系统中元数据库的元数
据库地址的配置信息,可以实时的从分布式管理服务器获取分布式管理系统对应服务下组
件的当前运行状态;以及从元数据库获取包括分布式管理系统对应服务和该服务下组件的
工作状态的元数据;进而可以根据当前运行状态和元数据,对组件进行故障检查;当检查到
存在故障组件时,通过分布式管理服务器的应用程序接口自动触发故障组件的进程重启任
务,实现了对分布式管理系统中组件的进程故障自愈,进而保证了组件所属服务和所在节
点的故障自愈。且通过分布式管理服务器的应用程序接口地址和分布式管理系统中元数据
库的元数据库地址,将组件的当前运行状态和分布式管理系统的元数据从后台传输出来,
用户可以通过web UI、API、命令行工具等入口直观的观察到组件在什么时间发生了故障,
何时从故障中恢复,以及恢复过程的完整输出信息,实现自愈流程可见性,避免了现有的自
愈流程黑盒性。且直接通过应用程序接口进行进程任务重启,可以兼容分布式管理系统原
有的故障自愈技术,达到了跨版本的通用故障自愈能力,保持了原有的使用体验。且无需对
分布式管理服务器本身做任何修改或者重启,避免了对运行于分布式管理系统之上的服务
集成代码做任何修改,实现了服务集成代码无侵入和更加简单高效的故障自愈。
[0110] 此外,需要说明的是,在实际应用中,可以结合实际应用对组件的进程故障自愈需求,设置不同的故障自愈条件,以及对不同的故障自愈条件进行组合等,并不仅限于上述当
前运行状态一致性验证、当前运行状态和目标运行状态的限定、维护模式检查、故障组件所
在节点的连通性确认、任务冲突检测、黑名单筛查、重启次数限定等实施例。
[0111] 在一个具体的实施例中,本说明书提供一种分布式管理系统中组件的进程故障自愈方法的实施例。本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或
者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众
多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或客户端产品执
行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者
多线程处理的环境)。具体的如图9所示,所述方法可以包括:
[0112] S901:获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;
[0113] S903:利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态,利用所述元数据库地址从所述元数据库获取所述分
布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件
的工作状态。
[0114] S905:根据所述服务黑名单对所述分布式管理系统对应服务下组件进行黑名单筛查,得到目标组件。
[0115] 本说明书实施例中,当某一组件所属的服务在服务黑名单中时,返回步骤S903。
[0116] S907:对所述元数据中组件的当前运行状态和所述分布式管理服务器中获取的所述目标组件的当前运行状态进行一致性验证。
[0117] S909:当一致性验证通过时,根据所述目标组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件。
[0118] 本说明书实施例中,当一致性验证不通过时,可以返回步骤S903。
[0119] S911:根据所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息对所述待自愈组件进行维护模式检查。
[0120] S913:当所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息均为非维护模式时,确定所述待自愈组件为故障组
件。
[0121] 本说明书实施例中,当待自愈组件的模式信息、待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息中任一为维护模式时,可以返回步骤S903。
[0122] S915:确定所述故障组件所在节点的连通性。
[0123] S917:当所述故障组件所在节点连通时,确定所述故障组件的进程重启累计次数。
[0124] 本说明书实施例中,当所述故障组件所在节点不连通时,可以返回步骤S903。
[0125] S919:当所述故障组件的进程重启累计次数小于等于预设重启上限时,对所述故障组件进行任务冲突检测。
[0126] 本说明书实施例中,当所述故障组件的进程重启累计次数大于预设重启上限时,可以返回步骤S903。
[0127] S921:当任务冲突检测的结果为所述故障组件不存在其他任务时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0128] 本说明书实施例中,当任务冲突检测的结果为所述故障组件存在其他任务时,可以返回步骤S903。
[0129] 本申请实施例还提供了一种分布式管理系统中组件的进程故障自愈装置,如图10所示,所述装置包括:
[0130] 配置信息获取模块1010,可以用于获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数
据库地址;
[0131] 当前运行状态获取模块1020,可以用于利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;
[0132] 元数据获取模块1030,可以用于利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组
件的工作状态;
[0133] 故障检查模块1040,可以用于根据所述当前运行状态和所述元数据,对所述组件进行故障检查;
[0134] 进程重启任务触发模块1050,可以用于当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。
[0135] 在一些实施例中,所述元数据可以包括所述组件的目标运行状态、所述组件的模式信息、所述组件所属服务的模式信息和所述组件所在节点的模式信息;
[0136] 所述故障检查模块1040可以包括:
[0137] 待自愈组件确定单元,用于根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件;
[0138] 维护模式检查单元,用于根据所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息对所述待自愈组件进行维护模
式检查;
[0139] 故障组件确定单元,用于当所述待自愈组件的模式信息、所述待自愈组件的所属服务的模式信息和所述待自愈组件所在节点的模式信息均为非维护模式时,确定所述待自
愈组件为故障组件。
[0140] 在一些实施例中,所述元数据还可以包括所述组件的当前运行状态;
[0141] 相应的,所述故障检查模块1040还可以包括:
[0142] 一致性验证单元,用于对所述元数据中组件的当前运行状态和所述分布式管理服务器中获取的所述组件的当前运行状态进行一致性验证;
[0143] 相应的,当一致性验证通过时,所述待自愈组件确定单元根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状
态的待自愈组件。
[0144] 在一些实施例中,在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,所述装置还包括:
[0145] 节点连通性确定单元,用于确定所述故障组件所在节点的连通性;
[0146] 相应的,当所述故障组件所在节点连通时,所述进程重启任务触发模块1050利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务;
[0147] 在一些实施例中,所述装置还包括:
[0148] 任务冲突检测模块,用于对所述故障组件进行任务冲突检测;
[0149] 相应的,当任务冲突检测的结果为所述故障组件不存在其他任务时,所述进程重启任务触发模块1050利用所述应用程序接口向所述分布式管理服务器发送所述故障组件
的进程重启任务。
[0150] 在一些实施例中,所述配置信息还包括服务黑名单,所述装置还包括:
[0151] 黑名单筛查模块,用于根据所述服务黑名单对所述分布式管理系统对应服务下组件进行黑名单筛查,得到目标组件;
[0152] 相应的,所述故障检查模块1040还用于根据所述当前运行状态和所述元数据,对所述目标组件进行故障检查。
[0153] 在一些实施例中,所述装置还包括:
[0154] 进程重启累计次数记录模块,用于在利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之后,记录所述故障组件的进程重启累计次数;
[0155] 在一些实施例中,所述配置信息还包括预设重启上限;
[0156] 相应的,所述装置还包括:
[0157] 进程重启累计次数确定模块,用于确定所述故障组件的进程重启累计次数;
[0158] 相应的,当所述故障组件的进程重启累计次数小于等于预设重启上限时,所述进程重启任务触发模块1050利用所述应用程序接口向所述分布式管理服务器发送所述故障
组件的进程重启任务。
[0159] 所述的装置实施例中的装置与方法实施例基于同样的申请构思。
[0160] 本说明书实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备
的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计
算机设备执行上述各种可选实现方式中提供的分布式管理系统中组件的进程故障自愈方
法。
[0161] 本申请实施例提供了一种分布式管理系统中组件的进程故障自愈设备,该分布式管理系统中组件的进程故障自愈设备包括处理器和存储器,该存储器中存储有计算机指
令,该计算机指令由该处理器加载并执行以实现如上述方法实施例所提供的分布式管理系
统中组件的进程故障自愈方法。
[0162] 本申请的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于设备之中以保存用于实现方法实施例中一种分布式管理系统中组件的进程故障自愈方法相关
的计算机指令,该计算机指令由该处理器加载并执行以实现上述方法实施例提供的分布式
管理系统中组件的进程故障自愈方法。
[0163] 存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数
据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据
所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括
非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相
应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
[0164] 可选地,本说明书实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,本说明书实施例中,存储介质可以包括但不限于:U盘、只
读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动
硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0165] 本申请实施例所提供的方法实施例可以在客户端(移动终端、计算机终端)、服务器或者类似的运算装置中执行。以运行在客户端上为例,如图11所示,所述客户端可以包括
RF(Radio Frequency,射频)电路1110、包括有一个或一个以上计算机可读存储介质的存储
器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、WiFi(wireless 
fidelity,无线保真)模块1170、包括有一个或者一个以上处理核心的处理器1180、以及电
源1190等部件。本领域技术人员可以理解,图11中示出的客户端结构并不构成对客户端的
限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0166] RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1180处理;另外,将涉及上行的数据发送给
基站。通常,RF电路1110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、
用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双
工器等。此外,RF电路810还可以通过无线通信与网络和其他客户端通信。所述无线通信可
以使用任一通信标准或协议,包括但不限于GSM(Global  System  of  Mobile 
communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无
线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code 
Division Multiple Access, 宽带码分多址)、LTE(Long Term Evolution,长期演进)、电
子邮件、SMS(Short Messaging Service,短消息服务)等。
[0167] 存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1120可主要包括
存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存
储数据区可存储根据所述客户端的使用所创建的数据等。此外,存储器1120可以包括高速
随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或
其他易失性固态存储器件。相应地,存储器1120还可以包括存储器控制器,以提供处理器
1180和输入单元1130对存储器1120的访问。
[0168] 输入单元1130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1130可包括触
敏表面1131以及其他输入设备1132。触敏表面1131,也称为触摸显示屏或者触控板,可收集
用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏
表面1131上或在触敏表面1131附近的操作),并根据预先设定的程式驱动相应的连接装置。
可选的,触敏表面1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检
测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从
触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理
器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多
种类型实现触敏表面1131。除了触敏表面1131,输入单元1130还可以包括其他输入设备
1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、
开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0169] 显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及所述客户端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来
构成。显示单元1140可包括显示面板1141,可选的,可以采用LCD(Liquid Crystal 
Display,液晶显示器)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等形式来
配置显示面板1141。进一步的,触敏表面1131可覆盖显示面板1141,当触敏表面1131检测到
在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180
根据触摸事件的类型在显示面板1141上提供相应的视觉输出。其中,触敏表面1131与显示
面板1141可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触
敏表面1131与显示面板1141集成而实现输入和输出功能。
[0170] 所述客户端还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据
环境光线的明暗来调节显示面板1141的亮度,接近传感器可在所述客户端移动到耳边时,
关闭显示面板1141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向
上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别客户端姿
态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、
敲击)等; 至于所述客户端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其
他传感器,在此不再赘述。
[0171] 音频电路1160、扬声器1161,传声器1162可提供用户与所述客户端之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器
1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频
电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以
发送给比如另一客户端,或者将音频数据输出至存储器1120以便进一步处理。音频电路
1160还可能包括耳塞插孔,以提供外设耳机与所述客户端的通信。
[0172] WiFi属于短距离无线传输技术,所述客户端通过WiFi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11
示出了WiFi模块1170,但是可以理解的是,其并不属于所述客户端的必须构成,完全可以根
据需要在不改变发明的本质的范围内而省略。
[0173] 处理器1180是所述客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储
器1120内的数据,执行所述客户端的各种功能和处理数据,从而对客户端进行整体监控。可
选的,处理器1180可包括一个或多个处理核心;优选的,处理器1180可集成应用处理器和调
制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处
理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180
中。
[0174] 所述客户端还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及
功耗管理等功能。电源1190还可以包括一个或一个以上的直流或交流电源、再充电系统、电
源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0175] 尽管未示出,所述客户端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,客户端的显示单元是触摸屏显示器,客户端还包括有存储器,以及一个或者一
个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个
以上处理器执行本发明中方法实施例中的指令。
[0176] 由上述本申请提供的分布式管理系统中组件的进程故障自愈方法、装置、设备或存储介质的实施例可见,本申请中通过包括分布式管理系统中分布式管理服务器的应用程
序接口地址和分布式管理系统中元数据库的元数据库地址的配置信息,可以实时的从分布
式管理服务器获取分布式管理系统对应服务下组件的当前运行状态;以及从元数据库获取
包括分布式管理系统对应服务和该服务下组件的工作状态的元数据;进而可以根据当前运
行状态和元数据,对组件进行故障检查;当检查到存在故障组件时,通过分布式管理服务器
的应用程序接口自动触发故障组件的进程重启任务,实现了对分布式管理系统中组件的进
程故障自愈,进而保证了组件所属服务和所在节点的故障自愈。且通过分布式管理服务器
的应用程序接口地址和分布式管理系统中元数据库的元数据库地址,将组件的当前运行状
态和分布式管理系统的元数据从后台传输出来,用户可以通过web UI、API、命令行工具等
入口直观的观察到组件在什么时间发生了故障,何时从故障中恢复,以及恢复过程的完整
输出信息,实现自愈流程可见性,避免了现有的自愈流程黑盒性。且直接通过应用程序接口
进行进程任务重启,可以兼容分布式管理系统原有的故障自愈技术,达到了跨版本的通用
故障自愈能力,保持了原有的使用体验。且无需对分布式管理服务器本身做任何修改或者
重启,避免了对运行于分布式管理系统之上的服务集成代码做任何修改,实现了服务集成
代码无侵入和更加简单高效的故障自愈。
[0177] 需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一
些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且
仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连
续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者
可能是有利的。
[0178] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、
设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之
处参见方法实施例的部分说明即可。
[0179] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0180] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。