一种分布式容器系统及其故障管理方法与流程

xiaoxiao8月前  43


本发明属于嵌入式操作系统,尤其涉及一种分布式容器系统及其故障管理方法。


背景技术:

1、现有容器系统只是对容器使用的资源进行了统一的管理,但是没有对容器产生的故障进行统一的管理。

2、在实际应用中,一个大型的应用可能包括几十个容器,当多个容器产生故障后,没有一个统一的入口文件来查询多个容器产生的故障,降低了故障分析的效率和实时性。


技术实现思路

1、有鉴于此,本发明实施例提供了一种分布式容器系统及其故障管理方法,所述容器系统包括计算节点和控制节点,每个计算节点通过分区部署容器,发送容器故障事件通知给该容器所在计算节点;当一个计算节点收到容器故障事件的通知时获得相应的容器故障信息,保存在该计算节点的第二容器故障信息文件,并把该通知发送给控制节点;当控制节点收到一个计算节点的容器故障事件的通知时,从该计算节点获得对应的容器故障信息存储在控制节点的第三容器故障信息文件中。通过使用本发明的第二容器故障信息文件和第三容器故障信息文件,提高了整个容器故障分析的效率和实时性。

2、第一方面,本发明实施例提供了一种分布式容器系统,所述容器系统包括计算节点和控制节点,每个计算节点通过分区部署容器引擎和容器;每个容器用于当该容器发生容器故障时发送容器故障事件通知给该容器所在计算节点的容器引擎;每个计算节点的容器引擎用于当该容器引擎收到容器故障事件的通知时获得相应的容器故障信息,保存在该计算节点的第二容器故障信息文件,并把该通知发送给控制节点;控制节点用于在收到一个计算节点的容器故障事件的通知时,从该计算节点获得对应的容器故障信息存储在控制节点的第三容器故障信息文件中。

3、由上,通过一个计算节点的第二容器故障信息文件记录本计算节点各容器的容器故障信息和控制节点的第三容器故障信息文件记录本各容器的容器故障信息,从而使用一个计算节点的第二容器故障信息文件获得本计算节点的容器故障分析统一接口,使用控制节点的第三容器故障信息文件获得本容器系统的容器故障分析统一接口,提高了整个容器故障分析的效率和实时性。

4、在第一方面的一种可能实施方式中,所述容器故障包括软件故障,软件故障为软件检查出来的故障;每个容器还用于当该容器发生的容器故障且为软件故障时在发送容器故障事件通知给该容器所在计算节点的容器引擎之前,在该容器的第一容器故障信息文件中和在该容器与所在计算节点的容器引擎的共享内存中存储容器故障信息。

5、由上,在容器发生软件故障时,通过在该容器与所在计算节点的容器引擎的共享内存中存储容器故障信息,以便于为计算节点的容器引擎获取,提高了计算节点的容器软件故障信息记录的实时性,也简化了计算节点的容器软件故障信息的记录。

6、在第一方面的一种可能实施方式中,所述容器故障还包括任务级故障,任务级故障为在非禁止任务调度且当前任务为非中断处理程序也非空闲任务时的容器硬件故障;每个容器还用于当该容器发生的容器故障且为任务级故障时,挂起发生所述容器故障的任务,在该容器的第一容器故障信息文件中和该容器的所述共享内存中存储相应的容器故障信息。

7、由上,在容器发生任务级故障时,通过在该容器与所在计算节点的容器引擎的共享内存中存储容器故障信息,以便于为计算节点的容器引擎获取,提高了计算节点的容器任务级故障信息记录的实时性,也简化了计算节点的容器任务级故障信息的记录。

8、在第一方面的一种可能实施方式中,所述容器故障还包括容器级故障,容器级故障为非任务级故障的容器硬件故障;每个容器还用于当该容器发生的容器故障且为容器级故障时,通过微内核挂起发生所述容器故障的容器;每个计算节点的容器引擎还用于当一个计算节点的容器引擎收到的所述容器故障事件的通知对应容器级故障时,获取发生该通知对应的所述容器故障的容器信息及其上下文生成所述容器故障的容器故障信息。

9、由上,在容器发生容器级故障时,通过所在计算节点的容器引擎获取发生该通知对应的容器故障的容器信息及其上下文生成容器故障的容器故障信息,从而容器无法获得容器故障信息时生成容器故障信息。

10、在第一方面的一种可能实施方式中,每个容器还用于该容器通过服务中断向该计算节点的容器引擎发送容器故障事件,以触发该容器引擎根据容器故障事件的类型进行相应的操作。

11、由上,通过服务中断发送向所在计算节点的容器引擎分区发送容器故障事件通知,便于计算节点在响应服务中断时及时获取进行相应的操作,提高了容器故障信息记录的实时性,也简化了计算节点故障信息的记录。

12、在第一方面的一种可能实施方式中,控制节点还用于通过json-rpc协议的通信方式从相应的计算节点获取相关的容器故障信息。

13、由上,通过json-rpc协议的通信方式从相应的计算节点获取相关的容器故障信息,简化了在分布式容器系统中控制节点故障信息的记录。

14、第二方面,本发明实施例提供了一种分布式容器系统故障管理的方法,所述容器系统包括计算节点和控制节点,每个计算节点通过分区部署容器和容器引擎,所述方法包括:当一个容器发生容器故障时,发送容器故障事件通知给该容器所在计算节点的容器引擎;当一个计算节点的容器引擎收到容器故障事件的通知时,获得该通知对应的容器故障信息,并存储在该计算节点的第二容器故障节点信息文件中,还把该通知发送给控制节点;当控制节点收到一个计算节点的容器故障事件的通知时,从该计算节点获得该通知对应的容器故障信息,并存储在控制节点的第三容器故障信息文件中。

15、由上,通过一个计算节点的第二容器故障信息文件记录本计算节点各容器的容器故障信息和控制节点的第三容器故障信息文件记录本各容器的容器故障信息,从而使用一个计算节点的第二容器故障信息文件获得本计算节点的容器故障分析统一接口,使用控制节点的第三容器故障信息文件获得本容器系统的容器故障分析统一接口,提高了整个容器故障分析的效率和实时性。

16、在第二方面的一种可能实施方式中,所述容器故障包括软件故障和任务级故障,软件故障为软件检查出来的故障,任务级故障为在非禁止任务调度且当前任务为非中断处理程序也非空闲任务时的容器硬件故障;当一个容器发生的容器故障且为软件故障或任务级故障时,所方法还包括:在发送容器故障事件通知给该容器所在计算节点的容器引擎之前,在该容器的第一容器故障信息文件中和该容器与所在计算节点的容器引擎的共享内存中存储相应的容器故障信息;当一个容器发生的容器故障且为任务级故障时,挂起发生所述容器故障的任务。

17、由上,在容器发生软件故障或任务级故障时,通过在该容器与所在计算节点的容器引擎的共享内存中存储容器故障信息,以便于为计算节点的容器引擎获取,提高了计算节点的容器软件故障和任务级故障信息记录的实时性,也简化了计算节点的容器软件故障和任务级故障信息的记录。

18、在第二方面的一种可能实施方式中,所述容器故障还包括容器级故障,容器级故障为非任务级故障的容器硬件故障,所述方法还包括:当一个容器发生的容器故障且为容器级故障时,通过微内核挂起发生所述容器故障的容器;当一个计算节点的容器引擎收到的所述容器故障事件的通知对应容器级故障时,获取发生该通知对应的所述容器故障的容器信息及其上下文生成所述容器故障的容器故障信息。

19、由上,在容器发生容器级故障时,通过所在计算节点的容器引擎获取发生该通知对应的容器故障的容器信息及其上下文生成容器故障的容器故障信息,从而容器无法获得容器故障信息时生成容器故障信息。

20、在第二方面的一种可能实施方式中,每个计算节点的容器通过服务中断向该计算节点的容器引擎发送容器故障事件,以触发该容器引擎根据容器故障事件的类型进行相应的操作。

21、由上,通过服务中断发送向所在计算节点的容器引擎分区发送容器故障事件通知,便于计算节点在响应服务中断时及时获取进行相应的操作,提高了容器故障信息记录的实时性,也简化了计算节点故障信息的记录。

22、在第二方面的一种可能实施方式中,控制节点通过于json-rpc协议的通信方式从相应的计算节点获取相关的容器故障信息。

23、由上,通过json-rpc协议的通信方式从相应的计算节点获取相关的容器故障信息,简化了在分布式容器系统中控制节点故障信息的记录。


技术特征:

1.一种分布式容器系统,其特征在于,所述容器系统包括计算节点和控制节点,每个计算节点通过分区部署容器引擎和容器;

2.根据权利要求1所述系统,其特征在于,所述容器故障包括软件故障,软件故障为软件检查出来的故障;

3.根据权利要求2所述系统,其特征在于,所述容器故障还包括任务级故障,任务级故障为在非禁止任务调度且当前任务为非中断处理程序也非空闲任务时的容器硬件故障;

4.根据权利要求3所述系统,其特征在于,所述容器故障还包括容器级故障,容器级故障为非任务级故障的容器硬件故障;

5.根据权利要求1所述系统,其特征在于,每个容器还用于该容器通过服务中断向该计算节点的容器引擎发送容器故障事件,以触发该容器引擎根据容器故障事件的类型进行相应的操作。

6.根据权利要求1所述系统,其特征在于,控制节点还用于通过json-rpc协议的通信方式从相应的计算节点获取相关的容器故障信息。

7.一种分布式容器系统故障管理的方法,其特征在于,所述容器系统包括计算节点和控制节点,每个计算节点通过分区部署容器和容器引擎,所述方法包括:

8.根据权利要求7所述方法,其特征在于,所述容器故障包括软件故障和任务级故障,软件故障为软件检查出来的故障,任务级故障为在非禁止任务调度且当前任务为非中断处理程序也非空闲任务时的容器硬件故障;

9.根据权利要求8所述方法,其特征在于,所述容器故障还包括容器级故障,容器级故障为非任务级故障的容器硬件故障,所述方法还包括:

10.根据权利要求7所述方法,其特征在于,每个计算节点的容器通过服务中断向该计算节点的容器引擎发送容器故障事件,以触发该容器引擎根据容器故障事件的类型进行相应的操作;


技术总结
本发明实施例提供了一种分布式容器系统及其故障管理方法,所述容器系统包括计算节点和控制节点,每个计算节点通过分区部署容器,发送容器故障事件通知给该容器所在计算节点;当一个计算节点收到容器故障事件的通知时获得相应的容器故障信息,保存在该计算节点的第二容器故障信息文件,并把该通知发送给控制节点;当控制节点收到一个计算节点的容器故障事件的通知时,从该计算节点获得对应的容器故障信息存储在控制节点的第三容器故障信息文件中。通过使用本发明的第二容器故障信息文件和第三容器故障信息文件,提高了整个容器故障分析的效率和实时性。

技术研发人员:李燕
受保护的技术使用者:北京科银京成技术有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)