CN107729184B - 一种系统组件服务自愈方法 - Google Patents
一种系统组件服务自愈方法 Download PDFInfo
- Publication number
- CN107729184B CN107729184B CN201710991095.1A CN201710991095A CN107729184B CN 107729184 B CN107729184 B CN 107729184B CN 201710991095 A CN201710991095 A CN 201710991095A CN 107729184 B CN107729184 B CN 107729184B
- Authority
- CN
- China
- Prior art keywords
- self
- healing
- service
- component
- component service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及系统故障恢复技术领域,特别是一种系统组件服务自愈方法。本发明是对系统组件服务进行分类,设置每一类服务的检测和修复方法;根据节点角色,一键自定义节点上自愈程序配置文件的系统组件服务;启动自愈程序读取配置文件进行组件服务缓存;自愈程序定时检测各个组件的服务状态并做修复操作。本发明有效保障了各角色节点的系统组件服务的正常运行;可以用于系统组件服务的监测、修复。
Description
技术领域
本发明涉及系统故障恢复技术领域,特别是一种系统组件服务自愈方法。
背景技术
在分布式多组件服务的大型系统中,由于系统规模大、组件多而导致系统在运行过程中很难维护。针对此,通常都会另外开发一套专门的运维管理系统,这种系统一般的实现方法都是控制节点上启动控制程序并采取数据库记录各个节点上分布式组件服务的详细信息。然后在每个节点上面运行一个代理程序定时收集组件服务的状态信息并网络通信到控制程序;控制程序记录数据库并调度下发服务修复指令到代理程序;代理程序执行修复指令修复组件服务。这种方式通用性强,也具有较强的集中可控性,但是存在如下不足:
1、组件服务的状态监控和修复都需要经过网络通信传输,会造成一定的时延;
2、对于一些只需要进行组件服务状态监控和简单修复操作的分布式系统的自愈,此种运维管理系统显得太过复杂,不灵活。
发明内容
本发明解决的技术问题在于提出了一种系统组件服务自愈方法,实现了针对大型分布式多组件服务系统的简单故障自动恢复,实现方法灵活且具有一定的通用性,也避免了复杂故障自动恢复运维管理系统的臃肿和网络通信时延。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
(1)对系统组件服务进行分类,设置每一类服务的监测和修复方法;
(2)根据节点角色,自定义节点上自愈程序配置文件的系统组件服务;
(3)启动自愈程序读取配置文件进行组件服务缓存;
(4)自愈程序定时检测各个组件的服务状态并做修复操作。
所述的分类按照大型系统各个服务的启动方式、监测方式进行分组操作;
所述分组操作包括在自愈程序中定义每一组的服务自愈基类;
所述自愈基类包括组件服务的状态监测和修复方法。
所述的节点角色是在大型分布式多组件服务的系统中,根据每个节点上运行的组件服务不同而定义为不同的角色;
所述的自愈程序配置文件至少包括有组件服务类别、组件服务名称;组件服务类别决定组件服务监控过程和修复过程中执行的监控和修复操作类型;组件服务名称决定监控和修复过程中具体的组件服务参数。
所述的定义组件程序配置文件包括有执行脚本程序,并通过传递组件服务参数进行配置文件定义。
所述的自愈程序是一个独立于大型分布式多组件系统的软件程序,运行在各个分布式节点上,负责对组件服务的状态监控和异常修复操作;
所述的状态监控包括判断组件服务进程是否处于正常运行状态;
所述的异常修复操作包括重启组件服务。
本发明方案的有益效果如下:
1、本发明提供一种系统组件的自愈方法,可以实现大型分布式多组件服务系统的故障监控和自动修复。
2、本发明的方法较专门的系统故障恢复系统具有简单轻巧、灵活可配的特性。
3、本发明的方法具有一定的通用性,同时避免了额外的网络通信所带来的时延。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明方法的流程图。
具体实施方式
本发明提出一种系统组件服务的自愈方法,可以实现大型分布式多组件服务系统的故障监控和自动修复。
请参见图1为本发明实施例所提供方法的流程图。下面以G-Cloud云平台的组件服务自愈为例分别对其各个流程具体实现进行描述。
(1)对系统组件服务进行分类,设置每一类服务的监测和修复方法;
在G-Cloud云平台上存在很多组件服务,其中一些组件服务都是通过systemctl来管理,则定义这些组件服务为systemctl类服务,相应的指定SystemctlPollster功能子类进行状态监控和指定SystemctlCure功能子类进行修复;另外存在tomcat组件服务也可以定义为tomcat类服务,相应的指定TomcatPollster功能子类进行状态监控和指定TomcatCure功能子类进行修复,其他类服务类似。
(2)根据节点角色,一键自定义节点上自愈程序配置文件的系统组件服务;
在G-Cloud云平台上存在三种角色的节点:控制节点、网络节点和计算节点。这三种角色的节点所启动的组件服务各不相同,其中以虚拟网络组件服务为例,在控制节点中启动的组件服务为neutron-server;在网络节点中启动的组件服务为neutron-l3-agent、neutron-dhcp-agent、neutron-openvswitch-agent和openvswitch;在计算节点中启动的组件服务为neutron-openvswitch-agent和openvswitch。
在自愈组件的配置文件中可以配置各类组件服务的相关配置定义三种角色的节点,并在各自角色节点下定义相应的服务,以网络节点为例,部分配置如下所示:
##----------------tomcat--------------------
-name:tomcat.service
pollster:grest.cure.pollster.tomcat.TomcatPollster
cure:grest.cure.processor.tomcat.TomcatCure
##----------------neutron---------------------
-name:neutron-dhcp-agent.service
pollster:grest.cure.pollster.systemctl.SystemcltPollster
cure:grest.cure.processor.systemctl.SystemctlCure
-name:neutron-openvswitch-agent.service
pollster:grest.cure.pollster.systemctl.SystemcltPollster
cure:grest.cure.processor.systemctl.SystemctlCure
-name:neutron-l3-agent.service
pollster:grest.cure.pollster.systemctl.SystemcltPollster
cure:grest.cure.processor.systemctl.SystemctlCure
-name:neutron-lbaas-agent.service
pollster:grest.cure.pollster.systemctl.SystemcltPollster
cure:grest.cure.processor.systemctl.SystemctlCure
-name:openvswitch.service
pollster:grest.cure.pollster.systemctl.SystemcltPollster
cure:grest.cure.processor.systemctl.SystemctlCure
cure_mode:self
cure_related_components:neutron-openvswitch-agent.service
其中的xxxPollster为组件服务的监控子类,xxxCure为组件服务的自动修复子类。
(3)启动自愈程序读取配置文件进行组件服务缓存;
自愈程序中的自愈基类如下:
根据组件服务的分类进一步定义各个分类的自愈子类,如下设置SystemctlCure子类用于自动重启systemctl类的组件服务:
如下,设置TomcatCure子类完成tomcat组件服务的自动重启操作:
所有的自愈子类都继承自自愈基类CureBase,并各自实现自愈方法cure(),其中自愈方法中定义了各类组件服务的统一恢复方式。
(4)自愈程序定时检测各个组件的服务状态并做修复操作。
启动自愈程序后,自愈程序定时线程读取配置文件,然后针对各自角色节点配置的组件服务监控子类进行定时监控,当发现状态异常时,调用相应的修复子类进行自动修复操作。
以上描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出实质性创造所获得的方案,都属于本发明保护的范围。
Claims (2)
1.一种系统组件服务自愈方法,其特征在于:所述的方法实现大型分布式多组件服务系统的故障监控和自动修复,包括如下步骤:
(1)对系统组件服务进行分类,设置每一类服务的监测和修复方法;
所述的分类按照大型系统各个服务的启动方式、监测方式进行分组操作;所述分组操作包括在自愈程序中定义每一组的服务自愈基类;所述自愈基类包括组件服务的状态监测和修复方法;根据组件服务的分类进一步定义各个分类的自愈子类,所有的自愈子类都继承自自愈基类,并各自实现自愈方法,其中自愈方法中定义了各类组件服务的统一恢复方式;自愈子类至少包括:监控子类、修复子类、自动重启子类;
所述的自愈程序是一个独立于大型分布式多组件系统的软件程序,运行在各个分布式节点上,负责对组件服务的状态监控和异常修复操作;
(2)在大型分布式多组件服务的系统中,根据每个节点上运行的组件服务不同而定义节点为不同的节点角色,根据节点角色,自定义节点上自愈程序配置文件的系统组件服务;
所述的自愈程序配置文件至少包括有组件服务类别、组件服务名称;组件服务类别决定组件服务监控过程和修复过程中执行的监控和修复操作类型;组件服务名称决定监控和修复过程中具体的组件服务参数;
(3)启动自愈程序读取自愈程序配置文件进行组件服务缓存;
(4)自愈程序定时检测各个组件的服务状态并做修复操作;
启动自愈程序后,自愈程序定时线程读取自愈程序配置文件,然后针对各自节点角色配置的组件服务监控子类进行定时监控,当发现状态异常时,调用相应的修复子类进行自动修复操作。
2.根据权利要求1所述的一种系统组件服务自愈方法,其特征在于,所述的自愈程序配置文件包括有执行脚本程序,并通过传递组件服务参数进行配置文件定义。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991095.1A CN107729184B (zh) | 2017-10-23 | 2017-10-23 | 一种系统组件服务自愈方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991095.1A CN107729184B (zh) | 2017-10-23 | 2017-10-23 | 一种系统组件服务自愈方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729184A CN107729184A (zh) | 2018-02-23 |
CN107729184B true CN107729184B (zh) | 2021-07-30 |
Family
ID=61212287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710991095.1A Active CN107729184B (zh) | 2017-10-23 | 2017-10-23 | 一种系统组件服务自愈方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729184B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845916B (zh) * | 2018-07-03 | 2022-02-22 | 中国联合网络通信集团有限公司 | 平台监控与告警方法、装置、设备与计算机可读存储介质 |
CN109726047A (zh) * | 2018-11-28 | 2019-05-07 | 国云科技股份有限公司 | 一种基于模板实现组件自愈的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546256A (zh) * | 2012-01-12 | 2012-07-04 | 易云捷讯科技(北京)有限公司 | 用于对云计算服务进行监控的系统及方法 |
CN104572176A (zh) * | 2014-12-18 | 2015-04-29 | 国云科技股份有限公司 | 一种大型软件启动部署检测框架及其运行方法 |
CN105491143A (zh) * | 2015-12-15 | 2016-04-13 | 国云科技股份有限公司 | 一种软件运行状态监控系统及其实现方法 |
-
2017
- 2017-10-23 CN CN201710991095.1A patent/CN107729184B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546256A (zh) * | 2012-01-12 | 2012-07-04 | 易云捷讯科技(北京)有限公司 | 用于对云计算服务进行监控的系统及方法 |
CN104572176A (zh) * | 2014-12-18 | 2015-04-29 | 国云科技股份有限公司 | 一种大型软件启动部署检测框架及其运行方法 |
CN105491143A (zh) * | 2015-12-15 | 2016-04-13 | 国云科技股份有限公司 | 一种软件运行状态监控系统及其实现方法 |
Non-Patent Citations (3)
Title |
---|
刘俊宏.基于多主体协作的云节点自愈机制的研究与实现.《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》.2014,(第04期), * |
基于多主体协作的云节点自愈机制的研究与实现;刘俊宏;《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》;20140415(第04期);第I139-103页 * |
自愈软件系统设计与实现方法;陆伟 等;《计算机工程与设计》;20150531;第36卷(第5期);第1244-1250页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107729184A (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808394B (zh) | 一种服务器自愈的方法和装置 | |
CN110716842B (zh) | 集群故障检测方法和装置 | |
CN110046073B (zh) | 一种日志采集方法及装置、设备、存储介质 | |
CN107870948A (zh) | 任务调度方法和装置 | |
US20180267869A1 (en) | Method and apparatus for processing gateway device fault | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN108989134B (zh) | 基于sdn的虚拟化网络数据平面配置恢复系统及方法 | |
CN108459951B (zh) | 测试方法和装置 | |
CN110750426A (zh) | 服务状态监测方法、装置、电子设备及可读存储介质 | |
CN113704046B (zh) | 一种故障告警处理方法及装置、设备、存储介质 | |
CN107729184B (zh) | 一种系统组件服务自愈方法 | |
CN106130763A (zh) | 服务器集群及适用于该集群的数据库资源组切换控制方法 | |
CN102306119A (zh) | 捕获全局异常的系统及方法 | |
CN113434327A (zh) | 一种故障处理系统、方法、设备和存储介质 | |
CN105511937A (zh) | 一种适用于云平台的批量虚拟机蓝屏监控方法 | |
CN111130821A (zh) | 一种掉电告警的方法、处理方法及装置 | |
CN116055285A (zh) | 一种工控系统的进程管理方法及系统 | |
CN114422386B (zh) | 一种微服务网关的监测方法及装置 | |
CN114064217A (zh) | 一种基于OpenStack的节点虚拟机迁移方法及装置 | |
CN111538738B (zh) | 服务升级方法、装置、电子设备及存储介质 | |
CN112000442A (zh) | 一种基于kubernetes平台的集群状态自动获取方法及装置 | |
CN110704223B (zh) | 一种数据库单节点异常的恢复系统和方法 | |
CN115378841B (zh) | 设备接入云平台状态的检测方法及装置、存储介质、终端 | |
CN113031569B (zh) | 一种核聚变控制系统的监听方法、系统、终端及介质 | |
CN112596887B (zh) | 一种针对批量延迟的分析方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 19 / F, Cloud Computing Center, Chinese Academy of Sciences, No.1 Kehui Road, Songshanhu high tech Industrial Development Zone, Dongguan City, Guangdong Province, 523000 Applicant after: G-CLOUD TECHNOLOGY Co.,Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Applicant before: G-CLOUD TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |