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

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

Process fault self-healing method, device and equipment of components in distributed management system

【技术实现步骤摘要】
分布式管理系统中组件的进程故障自愈方法、装置及设备
本申请涉及互联网通信
,尤其涉及一种分布式管理系统中组件的进程故障自愈方法、装置及设备。
技术介绍
随着互联网通信技术的日新月异,一些大型的互联网业务系统,由于业务复杂等原因,会采用分布式集群管理。随之也产生了大量用于进行分布式集群管理的服务管理系统,如Apacheambari等,但随着管理的单个分布式集群系统中节点逐渐的增多,各种因硬件、软件导致的组件故障时有发生,一些常见的故障例如内存不足、网络抖动、磁盘IO过载等导致的进程终止,通常只需要将进程重新拉起即可实现故障自愈。现有的故障自愈方案主要有以下两种:一种是通过修改分布式管理系统的组件全局配置文件,重启服务后由分布式管理系统中的代理节点负责处理组件的进程故障自愈;另一种是废除了前一种的全局配置,通过修改服务集成代码定义故障自愈相关信息,并在分布式管理系统中的web界面中配置是否启动故障自愈。但上述两种方案间存在版本不兼容的问题,且当组件进程异常终止后,故障自愈均会在分布式管理系统的后台静默拉起进程进行恢复,导致故障自愈流程只能通过登录服务器查看代理节点的日志得知,自愈流程存在黑盒性;且两个方案,前一种方案中,需要修改组件配置文件后进行进程重启,后一种服务故障自愈能力默认处于关闭状态,需要人工操作逐个服务开启,且需要修改服务集成代码定义故障自愈相关信息,操作流程复杂,服务集成代码维护成本高;因此,需要提供更可靠或更有效的方案。
技术实现思路
本申请提供了一种分布式管理系统中组件的进程故障自愈方法、装置及设备,可以实现跨版本兼容,自愈流程可见,服务集成代码无侵入,简单高效的分布式管理系统中组件的进程故障自愈。一方面,本申请提供了一种分布式管理系统中组件的进程故障自愈方法,所述方法包括:获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;根据所述当前运行状态和所述元数据,对所述组件进行故障检查;当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。另一方面提供了一种分布式管理系统中组件的进程故障自愈装置,所述装置包括:配置信息获取模块,用于获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;当前运行状态获取模块,用于利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;元数据获取模块,用于利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;故障检查模块,用于根据所述当前运行状态和所述元数据,对所述组件进行故障检查;进程重启任务触发模块,用于当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。另一方面提供了一种分布式管理系统中组件的进程故障自愈设备,所述设备包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令由所述处理器加载并执行以实现如上述的分布式管理系统中组件的进程故障自愈方法。本申请提供的分布式管理系统中组件的进程故障自愈方法、装置及设备,具有如下技术效果:本申请通过包括分布式管理系统中分布式管理服务器的应用程序接口地址和分布式管理系统中元数据库的元数据库地址的配置信息,可以实时的从分布式管理服务器获取分布式管理系统对应服务下组件的当前运行状态;以及从元数据库获取包括分布式管理系统对应服务和该服务下组件的工作状态的元数据;进而可以根据当前运行状态和元数据,对组件进行故障检查;当检查到存在故障组件时,通过分布式管理服务器的应用程序接口自动触发故障组件的进程重启任务,实现了对分布式管理系统中组件的进程故障自愈,进而保证了组件所属服务和所在节点的故障自愈。且通过分布式管理服务器的应用程序接口地址和分布式管理系统中元数据库的元数据库地址,将组件的当前运行状态和分布式管理系统的元数据从后台传输出来,用户可以通过webUI、API、命令行工具等入口直观的观察到组件在什么时间发生了故障,何时从故障中恢复,以及恢复过程的完整输出信息,实现自愈流程可见性,避免了现有的自愈流程黑盒性。且直接通过应用程序接口进行进程任务重启,可以兼容分布式管理系统原有的故障自愈技术,达到了跨版本的通用故障自愈能力,保持了原有的使用体验。且无需对分布式管理服务器本身做任何修改或者重启,避免了对运行于分布式管理系统之上的服务集成代码做任何修改,实现了服务集成代码无侵入和更加简单高效的故障自愈。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本申请实施例提供的一种应用环境的示意图;图2是本申请实施例提供的一种分布式管理系统中组件的进程故障自愈方法的流程示意图;图3是本申请实施例提供的一种根据所述当前运行状态和所述元数据对所述组件进行故障检查的流程示意图;图4是本申请实施例提供的一种根据所述当前运行状态和所述元数据,对所述组件进行故障检查的流程示意图;图5是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;图6是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;图7是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;图8是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;图9是本申请实施例提供的另一种分布式管理系统中组件的进程故障自愈方法的流程示意图;图10是本申请实施例提供的一种分布式管理系统中组件的进程故障自愈装置的结构示意图;图11是本申请实施例提供的一种执行语义意图识别方法的设备的硬件结构框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必本文档来自技高网...

【技术保护点】
1.一种分布式管理系统中组件的进程故障自愈方法,其特征在于,所述方法包括:/n获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;/n利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;/n利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;/n根据所述当前运行状态和所述元数据,对所述组件进行故障检查;/n当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。/n

【技术特征摘要】
1.一种分布式管理系统中组件的进程故障自愈方法,其特征在于,所述方法包括:
获取配置信息,所述配置信息包括分布式管理系统中分布式管理服务器的应用程序接口地址和所述分布式管理系统中元数据库的元数据库地址;
利用所述应用程序接口地址从所述分布式管理服务器获取所述分布式管理系统对应服务下组件的当前运行状态;
利用所述元数据库地址从所述元数据库获取所述分布式管理系统的元数据,所述元数据表征所述分布式管理系统对应服务和所述服务下组件的工作状态;
根据所述当前运行状态和所述元数据,对所述组件进行故障检查;
当检查到存在故障组件时,利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务。


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


3.根据权利要求2所述的方法,其特征在于,所述元数据还包括所述组件的当前运行状态;
相应的,所述根据所述当前运行状态和所述元数据,对所述组件进行故障检查还包括:
对所述元数据中组件的当前运行状态和所述分布式管理服务器中获取的所述组件的当前运行状态进行一致性验证;
当一致性验证通过时,执行根据所述组件的当前运行状态和目标运行状态,确定当前运行状态为停止运行状态且目标运行状态为启动运行状态的待自愈组件的步骤。


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


5.根据权利要求1至3任一所述的方法,其特征在于,在所述利用所述应用程序接口向所述分布式管理服务器发送所述故障组件的进程重启任务之前,所...

【专利技术属性】
技术研发人员:高永伟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1