CN108563515A - 一种业务进程管理方法和*** - Google Patents
一种业务进程管理方法和*** Download PDFInfo
- Publication number
- CN108563515A CN108563515A CN201810226939.8A CN201810226939A CN108563515A CN 108563515 A CN108563515 A CN 108563515A CN 201810226939 A CN201810226939 A CN 201810226939A CN 108563515 A CN108563515 A CN 108563515A
- Authority
- CN
- China
- Prior art keywords
- business process
- group
- information
- array
- process group
- 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.)
- Granted
Links
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例涉及进程管理领域,尤其涉及一种业务进程管理方法和***,用以解决现有技术中对业务进程管理灵活性差问题。本发明实施例中,适用于包括配置中心和至少一个主机构成的***;配置中心用于配置多个业务进程对应的配置信息;守护代理从配置中心获取配置信息;配置信息包括用于指示多个业务进程中每个业务进程所属的业务进程组的指示信息,以及多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;守护代理根据指示信息确定多个业务进程对应的多组业务进程组;多组业务进程组中每组业务进程组包括多个业务进程中的至少一个业务进程;守护代理根据业务进程组对应的守护信息,确定是否开启对业务进程组的守护。
Description
技术领域
本发明实施例涉及进程管理领域,尤其涉及一种业务进程管理方法和***。
背景技术
分布式环境或者***的应用已经很普遍了,对于分布式***中的服务器往往会启动多类业务进程,各类业务进程必须提供正常的服务以保证互联网业务的正常运行。因此,需要对业务进程进行监控。通常用守护进程监控服务器上的各业务进程是否存活,一旦有业务进程退出,守护进程可以及时探测到并重信拉起业务进程,进而保证各业务进程的正常运行。
在现有技术中,需要在不同的服务器上部署不同的守护进程,且守护进程对该服务器上的所有业务进程进行统一守护,当有某个或某几个业务进程升级或变更时,需要停止守护进程的守护;造成对业务进程管理灵活性差的问题。
发明内容
本发明实施例提供一种业务进程管理方法和***,用以解决现有技术中对业务进程管理灵活性差问题。
本发明实施例提供一种业务进程管理方法,所述方法适用于包括配置中心和至少一个主机构成的***;所述主机上部署有守护代理和多个业务进程;所述配置中心用于配置所述多个业务进程对应的配置信息;该方法包括:所述守护代理从所述配置中心获取所述配置信息;其中,所述配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;所述守护代理根据所述指示信息确定所述多个业务进程对应的多组业务进程组;所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程;所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护。
由于本发明实施例中,守护代理可根据配置信息中的指示信息确定出多个业务进程对应的多组业务进程组,根据业务进程组的对应的守护信息来确定是否开启对所述业务进程组的守护;通过本发明实施例,实现了对业务进程的有效划分,进而可以从不同的粒度对业务进程进行管理,提高了业务进程管理的灵活性。
进一步,配置信息是在配置中心集中进行配置的,不需要在每个主机上对业务进程进行配置,如此,可以在配置中心集中管理配置信息,进而提高了运维人员的工作效率。
可选地,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护之后,还包括:针对所述每组业务进程组包括一个业务进程,执行:当所述守护代理确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值;所述当前进程记录数组用于标识对应的业务进程的当前运行状态;若所述守护代理确定所述业务进程在所述当前进记录数组中对应的标识为初始值时,则重新启动所述业务进程。
本发明实施例中,通过确定所述业务进程在当前进程记录数组中对应的标识是否为初始值来确定该业务进程是否丢失,不需要像现有技术中与业务进程通过心跳报文的方式来确定业务进程是否丢失,进而避免了对业务进程的侵入,降低了业务进程与守护代理之间的耦合性,有助于提高***的稳定性。
可选地,所述主机上还部署有命令行客户端程序,所述命令行客户端程序用于输入操作指令;所述守护代理从所述配置中心获取所述配置信息之后,还包括:所述守护代理接收所述命令行客户端程序发送的操作指令;所述守护代理根据所述操作指令查询或修改所述守护信息。
通过本发明实施例中命令行客户端程序,一方面可以实现通过命令行客户端程序提供对业务进程操作指令的支持,另一方面有助于降低对业务进程高危命令的告警。
可选地,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护,包括:所述守护代理根据所述多组所述业务进程组中每组业务进程组对应的守护信息,确定所述业务进程组的业务进程组开关数组;所述守护代理对所述业务进程组开关数组中的开关值为开的业务进程组开启守护。
可选地,所述当所述守护代理确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值之前,还包括:所述守护代理根据所述配置信息初始化进程记录数组;所述守护代理根据所述多个业务进程中每个业务进程对应的守护信息获取所述业务进程的标识;所述守护代理根据前一次进程记录数组中所述业务进程对应的标识的位置,确定出获取到的所述业务进程在初始化进程记录数组中的目标位置;所述守护代理将获取到的所述业务进程对应的标识记录在所述目标位置,确定出当前进程记录数组。
本发明实施例提供一种业务进程管理***,所述***包括配置中心和至少一个主机;所述主机上部署有守护代理和多个业务进程;所述配置中心用于配置所述多个业务进程对应的配置信息;其中,所述主机上部署的守护代理包括:获取单元,用于从所述配置中心获取所述配置信息;其中,所述配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;处理单元,用于根据所述指示信息确定所述多个业务进程对应的多组业务进程组;所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程;根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护。
可选地,所述处理单元,还用于:针对所述每组业务进程组包括一个业务进程,执行:当确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值;所述当前进程记录数组用于标识对应的业务进程的当前运行状态;若确定所述业务进程在所述当前进记录数组中对应的标识为初始值时,则重新启动所述业务进程。
可选地,所述主机上还部署有命令行客户端程序,所述命令行客户端程序用于输入操作指令;所述获取单元,还用于:接收所述命令行客户端程序发送的操作指令;所述处理单元,还用于:根据所述操作指令查询或修改所述守护信息。
可选地,所述处理单元,用于:根据所述多组所述业务进程组中每组业务进程组对应的守护信息,确定所述业务进程组的业务进程组开关数组;对所述业务进程组开关数组中的开关值为开的业务进程组开启守护。
可选地,所述处理单元,还用于:根据所述配置信息初始化进程记录数组;根据所述多个业务进程中每个业务进程对应的守护信息获取所述业务进程的标识;根据前一次进程记录数组中所述业务进程对应的标识的位置,确定出获取到的所述业务进程在初始化进程记录数组中的目标位置;将获取到的所述业务进程对应的标识记录在所述目标位置,确定出当前进程记录数组。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述所述的方法。
本发明实施例提供一种计算机设备,包括:存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通信***的架构示意图;
图2为本发明实施例提供的一种守护代理的框架示意图;
图3为本发明实施例提供的一种守护信息示意图;
图4为本发明实施例提供的一种业务进程管理方法流程示意图;
图5为本发明实施例提供的一种业务进程管理***中守护代理的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了应用本发明实施例的一种通信***的架构示意图。如图1所示,该***架构可以包括配置中心10和主机集群20;主机集群20包括多个主机,图1以主机20a和主机20b为例说明。配置中心10和主机集群20中的每个主机通过有线或者无线的方式进行连接。
配置中心10可以是数据库;用于配置多个业务进程对应的配置信息;其中,配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程。可选地,配置中心可以按主机名-业务进程名索引配置信息。
主机集群20中的主机20a上部署业务进程组201、业务进程组202、守护代理203和命令行客户端程序21,主机20b上部署有业务进程组204、业务进程组205、守护代理206和命令行客户端程序22;业务进程组201包括业务进程201a、201b和201c;业务进程组202包括业务进程202a、202b和202c;业务进程组204包括业务进程204a、204b和204c;业务进程组205包括业务进程205a、205b和205c。守护代理203和206用于对各业务进程组进程守护,以及对接收到的操作指令进行处理和发送应答。可选地,为了确保守护代理在主机启动时立即提供服务,可以将守护代理的启动脚本加入到主机启动脚本中,比如Linux的/etc/rc.local。命令行客户端程序21和22用于输入操作指令,并对操作指令合法性及安全性的检查,将操作指令序列化后向守护代理发送操作指令、以及对守护代理发送的应答进行展示。当命令行客户端程序完成处理后,关闭连接,触发守护代理回收资源。可选地,将命令行客户端程序部署路径加入到主机***的搜索路径中,比如Linux的PATH路径,以保证在业务主机任意目录下运行命令行客户端程序。
图1的通信***中还可以包括集中命令管理中心,集中命令管理中心与主机集群中的每个主机以有线或者无线的方式连接。命令行客户端程序21和22也可以部署在集中命令管理中心。当命令行客户端程序部署在集中命令管理中心时,为了确定出操作指令和主机之间的映射关系,在集中命令管理中心还需要预先存储主机名列表;主机名可以是主机的网络协议(Internet Protocol,简称IP)地址。命令行客户端程序可以根据主机名向相应的主机发送操作指令;通过集中命令管理中心可以实现批量的操作命令的批量管理。
图2示出了应用本发明实施例的一种守护代理的框架示意图。如图2所示,守护代理包括主线程301、守护线程302、守护信息303、生产者线程304、EPOLL异步事件触发器305(EPOLL是Linux内核为处理大批量文件描述符而作了改进的poll)、异步队列306和消费线程池307。
主线程301用于拉起守护线程302、生产者线程304和消费线程池307中的所有线程;初始化EPOLL异步事件触发器305、异步队列306;以及确定守护信息303。
守护线程302用于根据业务进程组对应的守护信息,守护需要守护的所述业务进程组;当确定守护的业务进程组中的业务进程对应的标识消失时,重新拉起该标识对应的业务进程。
守护信息303如图3所示,包括读写锁、全局开关业务进程组开关数组、进程开关数组、业务进程组哈希表、业务进程哈希表、主机用户名、用户目录路径、PS命令行、守护间隔。其中,业务进程开关组是易失变量,用于控制是否开启对应的业务进程组的守护;业务进程开关数组是变量,用于控制是否开启对应的业务进程的守护;业务进程组哈希表中包括三层哈希表,第一层哈希表是根据业务进程组名与一级哈希表关联组成,第二层哈希表是否三个特殊键组成,包括业务进程组开关数组中的下标、业务进程组启动路径以及业务进程组内的业务进程哈希表,第三层哈希表由业务进程组内的业务进程与其在进程开关数组中下标关联组成;业务进程哈希表包括进程开关数组下标;主机用户名标识启动业务进程的用户,用于组成每轮守护业务进程时,业务进程对应的标识获取的命令的正则表达式;PS命令行用于获取业务进程对应的标识的正则表达式;用户目录路径用于标识统一的用户根目录,通常用于拼接业务进程组的路径,可以减少业务进程组中具备同一路径前缀时的配置信息;守护间隔用于确定每轮守护的时间间隔。
生产者线程304依赖于EPOLL事件触发线程;在EPOLL事件触发线程上等待事件的到来;如果超过预设时间无事件到来,进入下一轮守护;如果在预设时间内接收到命令行客户端程序发来操作指令时,确定是否为监控套接字上事件;若是,则确定为连接请求,生产者线程接收命令行客户端程序的连接,完成对连接请求的注册;若否,则从所述操作指令中读取通信上下文信息,并对异步队列临界区上锁,将上下文信息存入队列,解锁并激发消费线程池中线程。
EPOLL异步事件触发器305是基于EPOLL实现的多路复用IO,可以高效的分发操作指令;
异步队列306是基于环形数组和线程信号技术实现的异步通知队列。
消费线程池306在异步队列的线程信号上,用于在被唤醒后,获取异步队列上的互斥锁并加锁;从异步队列中获取通信上下文信息,根据所述通信上下文信息,读取并解析通信线路上的操作指令;确定是查询指令还是修改指令;根据对应的指令获取读写锁;之后操作指令查询或修改全局开关、业务进程组开关、业务进程组开关,来实现查询或修改业务进程组的状态、业务进程的状态;释放读写锁;组装应答报文,并将应答报文写入通信线路;将套接字加回时间循环。
基于图1、图2和图3所示,图4示例性示出了本发明实施例提供的一种业务进程管理方法流程示意图,如图4所示,该业务进程管理方法包括以下步骤:
步骤401,所述守护代理从所述配置中心获取所述配置信息。
所述配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;
步骤402,所述守护代理根据所述指示信息确定所述多个业务进程对应的多组业务进程组。
所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程。
步骤403,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护。
由于本发明实施例中,守护代理可根据配置信息中的指示信息确定出多个业务进程对应的多组业务进程组,根据业务进程组的对应的守护信息来确定是否开启对所述业务进程组的守护;通过本发明实施例,实现了对业务进程的有效划分,进而可以从不同的粒度对业务进程进行管理,提高了业务进程管理的灵活性。
进一步,配置信息是在配置中心集中进行配置的,不需要在每个主机上对业务进程进行配置,如此,可以在配置中心集中管理配置信息,进而提高了运维人员的工作效率。
为了便于方案的理解,表1示例性示出了本发明实施例提供的一种配置信息的形式;
表1配置信息的形式
本发明实施例中,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护之后,还包括:针对所述每组业务进程组包括一个业务进程,执行:当所述守护代理确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值;所述当前进程记录数组用于标识对应的业务进程的当前运行状态;若所述守护代理确定所述业务进程在所述当前进记录数组中对应的标识为初始值时,则重新启动所述业务进程。
本发明实施例中,通过确定所述业务进程在当前进程记录数组中对应的标识是否为初始值来确定该业务进程是否丢失,不需要像现有技术中与业务进程通过心跳报文的方式来确定业务进程是否丢失,进而避免了对业务进程的侵入,降低了业务进程与守护代理之间的耦合性,有助于提高***的稳定性。
本发明实施例中,所述当所述守护代理确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值之前,还包括:所述守护代理根据所述配置信息初始化进程记录数组;所述守护代理根据所述多个业务进程中每个业务进程对应的守护信息获取所述业务进程的标识;所述守护代理根据前一次进程记录数组中所述业务进程对应的标识的位置,确定出获取到的所述业务进程在初始化进程记录数组中的目标位置;所述守护代理将获取到的所述业务进程对应的标识记录在所述目标位置,确定出当前进程记录数组。
具体地,守护代理在对业务进程组进程管理时,首先要判断主机上的全局开关是否打开;若全局开关未打开,则不进行守护。需经过守护间隔后再次确定全局开关是否打开。若全局开关打开,守护代理初始化本轮业务进程对应的进程记录数组,可以将进程记录数据中的元素均初始化为0;之后通过业务进程捞取命令,读取该轮守护中所有业务进程的启动方式和业务进程对应的标识。进程捞取命令的形式可为:ps–opid,cmd–u配置的主机用户名|grep–E‘配置的进程启动正则表达式’”,其中,主机用户名及业务进程正则表达式根据表1中配置信息确定出;业务进程捞取命令可以通过管道***调用方法。根据业务进程的启动方式查找守护信息中进程哈希表,确定出业务进程对应的标识在前一次业务进程开关数组中的索引位置,前一次进程开关数组中索引位置和当前进程记录数组中的索引位置相同,可以确定出获取到的所述业务进程对应的标识在当前进程记录数组中的目标位置;所述守护代理将获取到的所述标识记录在所述目标位置。
本发明实施例中,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护,包括:所述守护代理根据所述多组所述业务进程组中每组业务进程组对应的守护信息,确定所述业务进程组的业务进程组开关数组;所述守护代理对所述业务进程组开关数组中的开关值为开的业务进程组开启守护。
可选地,根据业务进程组哈希表确定出业务进程组在业务进程组开关数组中的索引位置、根据配置信息确定出业务进程组的启动路径以及业务进程组内的业务进程列表;根据确定出的索引位置确定出业务进程组开关数组中当前业务进程组数组中业务进程组的开关值,当确定所述业务进程组的开关值对应为开时,确定开启对该业务进程组的守护。
之后确定出业务进程组中的业务进程列表,取出哈希表中的键及键值,根据键值确定出业务进程对应的标识在当前进程开关数组中对应的值为开时,守护该业务进程。
本发明实施例提供了一种确定业务进程是否消失或者发生变化的实施例。具体地,确定该业务进程对应的标识在当前进程记录数组的相应位置上的值,如果该值为初始值,则说明该业务进程丢失了,需要重启该业务进程。如果该值不是初始值,再比较该值在当前进程记录数组与前一次进程记录数组是否相同;如果相同,则说明业务进程正常,如果不相同,则说明业务进程发生过变化,并将当前进程记录数组中该业务进程对应的值记录到前一次进程记录数组中。如此,实现了对业务进程的守护时无侵的优势;且可以追踪到业务进程的日志信息。
当确定业务进程消失时,需要重新启动该业务进程。本发明实施例中提供了一种重新启动业务进程的实现方式,具体为:根据配置信息中的业务进程的启动路径、业务进程的启动方式拼接启动命令;之后业务进程可以调用fork函数创建一个新子进程;关闭子进程中除了0、1、2之外的其余文件句柄;调用excel,到指定启动路径下载业务进程,拉起该业务进程,并将拉起的业务进程的标识记录到前一次业务进程记录数组中相应业务进程对应的标识的位置。
本发明实施例中,所述主机上还部署有命令行客户端程序,所述命令行客户端程序用于输入操作指令;所述守护代理从所述配置中心获取所述配置信息之后,还包括:所述守护代理接收所述命令行客户端程序发送的操作指令;所述守护代理根据所述操作指令查询或者修改所述配置信息。
通过本发明实施例中命令行客户端程序,一方面可以实现通过命令行客户端程序提供对业务进程操作指令的支持,另一方面有助于降低对业务进程高危命令的告警。
可选地,命令行客户端程序主要采用命令行界面(Command-Line Interface,简称CLI)的方式,以方便运维人员命令行操作。在命令行客户端程序中可输入的操作指令如表2所示。
表2客户端程序可输入的操作指令
通过在命令行客户端输入的操作命令,实现了从不同粒度对业务进程组的管理,进而降低了开发运维人员变更配置文件的复杂度,提高了***稳定性。
从上述内容可以看出:本发明实施例中,守护代理可根据配置信息中的指示信息确定出多个业务进程对应的多组业务进程组,根据业务进程组的对应的守护信息来确定是否开启对所述业务进程组的守护;通过本发明实施例,实现了对业务进程的有效划分,进而可以从不同的粒度对业务进程进行管理,提高了业务进程管理的灵活性。
进一步,配置信息是在配置中心集中进行配置的,不需要在每个主机上对业务进程进行配置,如此,可以在配置中心集中管理配置信息,进而提高了运维人员的工作效率。
基于相同的技术构思,本发明实施例还提供一种业务进程管理***中守护代理,可执行上述方法实施例。图5为本发明实施例提供了一种业务进程管理***中守护代理的结构示意图,如图5所示,该守护代理500包括获取501和处理模块502。其中:
获取单元,用于从所述配置中心获取所述配置信息;其中,所述配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;处理单元,用于根据所述指示信息确定所述多个业务进程对应的多组业务进程组;所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程;根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护。
可选地,所述处理单元,还用于:针对所述每组业务进程组包括一个业务进程,执行:当确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值;所述当前进程记录数组用于标识对应的业务进程的当前运行状态;若确定所述业务进程在所述当前进记录数组中对应的标识为初始值时,则重新启动所述业务进程。
可选地,所述主机上还部署有命令行客户端程序,所述命令行客户端程序用于输入操作指令;所述获取单元,还用于:接收所述命令行客户端程序发送的操作指令;所述处理单元,还用于:根据所述操作指令查询或修改所述守护信息。
可选地,所述处理单元,用于:根据所述多组所述业务进程组中每组业务进程组对应的守护信息,确定所述业务进程组的业务进程组开关数组;对所述业务进程组开关数组中的开关值为开的业务进程组开启守护。
可选地,所述处理单元,还用于:根据所述配置信息初始化进程记录数组;根据所述多个业务进程中每个业务进程对应的守护信息获取所述业务进程的标识;根据前一次进程记录数组中所述业务进程对应的标识的位置,确定出获取到的所述业务进程在初始化进程记录数组中的目标位置;将获取到的所述业务进程对应的标识记录在所述目标位置,确定出当前进程记录数组。
从上述内容可以看出:本发明实施例中,守护代理可根据配置信息中的指示信息确定出多个业务进程对应的多组业务进程组,根据业务进程组的对应的守护信息来确定是否开启对所述业务进程组的守护;通过本发明实施例,实现了对业务进程的有效划分,进而可以从不同的粒度对业务进程进行管理,提高了业务进程管理的灵活性。
进一步,配置信息是在配置中心集中进行配置的,不需要在每个主机上对业务进程进行配置,如此,可以在配置中心集中管理配置信息,进而提高了运维人员的工作效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,所述指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如,CD、DVD、BD、HVD等)、或者半导体介质(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk,SSD))等。本领域内的技术人员应明白,本申请实施例可提供为方法、***、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种业务进程管理方法,其特征在于,所述方法适用于包括配置中心和至少一个主机构成的***;所述主机上部署有守护代理和多个业务进程;所述配置中心用于配置所述多个业务进程对应的配置信息;
所述守护代理从所述配置中心获取所述配置信息;其中,所述配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;
所述守护代理根据所述指示信息确定所述多个业务进程对应的多组业务进程组;所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程;
所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护。
2.如权利要求1所述的方法,其特征在于,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护之后,还包括:
针对所述每组业务进程组包括一个业务进程,执行:
当所述守护代理确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值;所述当前进程记录数组用于标识对应的业务进程的当前运行状态;
若所述守护代理确定所述业务进程在所述当前进记录数组中对应的标识为初始值时,则重新启动所述业务进程。
3.如权利要求1所述的方法,其特征在于,所述主机上还部署有命令行客户端程序,所述命令行客户端程序用于输入操作指令;
所述守护代理从所述配置中心获取所述配置信息之后,还包括:
所述守护代理接收所述命令行客户端程序发送的操作指令;
所述守护代理根据所述操作指令查询或修改所述守护信息。
4.如权利要求1所述的方法,其特征在于,所述守护代理根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护,包括:
所述守护代理根据所述多组所述业务进程组中每组业务进程组对应的守护信息,确定所述业务进程组的业务进程组开关数组;
所述守护代理对所述业务进程组开关数组中的开关值为开的业务进程组开启守护。
5.如权利要求2所述的方法,其特征在于,所述当所述守护代理确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值之前,还包括:
所述守护代理根据所述配置信息初始化进程记录数组;
所述守护代理根据所述多个业务进程中每个业务进程对应的守护信息获取所述业务进程的标识;
所述守护代理根据前一次进程记录数组中所述业务进程对应的标识的位置,确定出获取到的所述业务进程在初始化进程记录数组中的目标位置;
所述守护代理将获取到的所述业务进程对应的标识记录在所述目标位置,确定出当前进程记录数组。
6.一种业务进程管理***,其特征在于,所述***包括配置中心和至少一个主机;所述主机上部署有守护代理和多个业务进程;所述配置中心用于配置所述多个业务进程对应的配置信息;其中,所述主机上部署的守护代理包括:
获取单元,用于从所述配置中心获取所述配置信息;其中,所述配置信息包括用于指示所述多个业务进程中每个业务进程所属的业务进程组的指示信息,以及所述多个业务进程对应的多组业务进程组中每组业务进程组对应的守护信息;
处理单元,用于根据所述指示信息确定所述多个业务进程对应的多组业务进程组;所述多组业务进程组中每组业务进程组包括所述多个业务进程中的至少一个业务进程;根据所述业务进程组对应的守护信息,确定是否开启对所述业务进程组的守护。
7.如权利要求6所述的***,其特征在于,所述处理单元,还用于:
针对所述每组业务进程组包括一个业务进程,执行:
当确定开启对所述业务进程的守护时,确定所述业务进程在当前进程记录数组中对应的标识是否为初始值;所述当前进程记录数组用于标识对应的业务进程的当前运行状态;若确定所述业务进程在所述当前进记录数组中对应的标识为初始值时,则重新启动所述业务进程。
8.如权利要求6所述的方法,其特征在于,所述主机上还部署有命令行客户端程序,所述命令行客户端程序用于输入操作指令;
所述获取单元,还用于:
接收所述命令行客户端程序发送的操作指令;
所述处理单元,还用于:
根据所述操作指令查询或修改所述守护信息。
9.如权利要求6所述的***,其特征在于,所述处理单元,用于:
根据所述多组所述业务进程组中每组业务进程组对应的守护信息,确定所述业务进程组的业务进程组开关数组;对所述业务进程组开关数组中的开关值为开的业务进程组开启守护。
10.如权利要求7所述的***,其特征在于,所述处理单元,还用于:
根据所述配置信息初始化进程记录数组;根据所述多个业务进程中每个业务进程对应的守护信息获取所述业务进程的标识;根据前一次进程记录数组中所述业务进程对应的标识的位置,确定出获取到的所述业务进程在初始化进程记录数组中的目标位置;将获取到的所述业务进程对应的标识记录在所述目标位置,确定出当前进程记录数组。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至5任一权利要求所述的方法。
12.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226939.8A CN108563515B (zh) | 2018-03-14 | 2018-03-14 | 一种业务进程管理方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226939.8A CN108563515B (zh) | 2018-03-14 | 2018-03-14 | 一种业务进程管理方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108563515A true CN108563515A (zh) | 2018-09-21 |
CN108563515B CN108563515B (zh) | 2021-08-27 |
Family
ID=63532112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810226939.8A Active CN108563515B (zh) | 2018-03-14 | 2018-03-14 | 一种业务进程管理方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108563515B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385296A (zh) * | 2020-03-04 | 2020-07-07 | 深信服科技股份有限公司 | 一种业务进程重启方法、装置、存储介质以及*** |
CN112346906A (zh) * | 2019-08-08 | 2021-02-09 | 丰鸟航空科技有限公司 | 无人机守护进程处理方法、装置、设备、及存储介质 |
CN112463828A (zh) * | 2020-11-02 | 2021-03-09 | 马上消费金融股份有限公司 | 一种数据处理方法、装置、设备、***及可读存储介质 |
CN113076131A (zh) * | 2021-04-07 | 2021-07-06 | 山东爱拓软件开发有限公司 | 基于多进程架构思想的嵌入式软件***构建方法及*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750566A (zh) * | 2004-09-16 | 2006-03-22 | 中兴通讯股份有限公司 | 基于代理进程的双机应用***的监控方法 |
US7954062B2 (en) * | 2005-01-03 | 2011-05-31 | International Business Machines Corporation | Application status board mitigation system and method |
CN102104628A (zh) * | 2010-12-29 | 2011-06-22 | 北京新媒传信科技有限公司 | 一种服务器集群***及其管理方法 |
CN103138985A (zh) * | 2011-12-01 | 2013-06-05 | ***通信集团浙江有限公司 | 一种支撑网业务主机进程控制方法和*** |
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台***及其实现方法 |
US20140280398A1 (en) * | 2013-03-15 | 2014-09-18 | Miosoft Corporation | Distributed database management |
US9063783B2 (en) * | 2008-11-24 | 2015-06-23 | Red Hat, Inc. | Coordinating parallel execution of processes using agents |
CN104750544A (zh) * | 2013-12-30 | 2015-07-01 | ***股份有限公司 | 应用于分布式***中的进程管理***及进程管理方法 |
US20160132318A1 (en) * | 2014-11-07 | 2016-05-12 | Oracle International Corporation | Notifications framework for distributed software upgrades |
CN105610648A (zh) * | 2016-01-11 | 2016-05-25 | 飞天诚信科技股份有限公司 | 一种运维监控数据的采集方法及服务器 |
CN106325975A (zh) * | 2016-09-09 | 2017-01-11 | 浪潮软件股份有限公司 | 一种利用Docker容器自动化部署与管理大数据集群的方法 |
CN106776212A (zh) * | 2016-12-09 | 2017-05-31 | 中电科华云信息技术有限公司 | 容器集群部署多进程应用的监管***及方法 |
-
2018
- 2018-03-14 CN CN201810226939.8A patent/CN108563515B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750566A (zh) * | 2004-09-16 | 2006-03-22 | 中兴通讯股份有限公司 | 基于代理进程的双机应用***的监控方法 |
US7954062B2 (en) * | 2005-01-03 | 2011-05-31 | International Business Machines Corporation | Application status board mitigation system and method |
US9063783B2 (en) * | 2008-11-24 | 2015-06-23 | Red Hat, Inc. | Coordinating parallel execution of processes using agents |
CN102104628A (zh) * | 2010-12-29 | 2011-06-22 | 北京新媒传信科技有限公司 | 一种服务器集群***及其管理方法 |
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台***及其实现方法 |
CN103138985A (zh) * | 2011-12-01 | 2013-06-05 | ***通信集团浙江有限公司 | 一种支撑网业务主机进程控制方法和*** |
US20140280398A1 (en) * | 2013-03-15 | 2014-09-18 | Miosoft Corporation | Distributed database management |
CN104750544A (zh) * | 2013-12-30 | 2015-07-01 | ***股份有限公司 | 应用于分布式***中的进程管理***及进程管理方法 |
US20160132318A1 (en) * | 2014-11-07 | 2016-05-12 | Oracle International Corporation | Notifications framework for distributed software upgrades |
CN105610648A (zh) * | 2016-01-11 | 2016-05-25 | 飞天诚信科技股份有限公司 | 一种运维监控数据的采集方法及服务器 |
CN106325975A (zh) * | 2016-09-09 | 2017-01-11 | 浪潮软件股份有限公司 | 一种利用Docker容器自动化部署与管理大数据集群的方法 |
CN106776212A (zh) * | 2016-12-09 | 2017-05-31 | 中电科华云信息技术有限公司 | 容器集群部署多进程应用的监管***及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346906A (zh) * | 2019-08-08 | 2021-02-09 | 丰鸟航空科技有限公司 | 无人机守护进程处理方法、装置、设备、及存储介质 |
CN111385296A (zh) * | 2020-03-04 | 2020-07-07 | 深信服科技股份有限公司 | 一种业务进程重启方法、装置、存储介质以及*** |
CN111385296B (zh) * | 2020-03-04 | 2022-06-21 | 深信服科技股份有限公司 | 一种业务进程重启方法、装置、存储介质以及*** |
CN112463828A (zh) * | 2020-11-02 | 2021-03-09 | 马上消费金融股份有限公司 | 一种数据处理方法、装置、设备、***及可读存储介质 |
CN113076131A (zh) * | 2021-04-07 | 2021-07-06 | 山东爱拓软件开发有限公司 | 基于多进程架构思想的嵌入式软件***构建方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108563515B (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4650203B2 (ja) | 情報システム及び管理計算機 | |
US11132356B2 (en) | Optimizing data entries in a log | |
US9961011B2 (en) | System and method for supporting multi-tenancy in an application server, cloud, or other environment | |
JP5394123B2 (ja) | 複数装置管理の方法およびシステム | |
US8024449B1 (en) | System and method for remote administration of computer network through local administration proxy | |
CA2808239C (en) | Determining equivalent subsets of agents to gather information for a fabric | |
US11706080B2 (en) | Providing dynamic serviceability for software-defined data centers | |
US8838762B2 (en) | Virtual-machine management program and method for managing virtual machines | |
US20130191516A1 (en) | Automated configuration error detection and prevention | |
CN108563515A (zh) | 一种业务进程管理方法和*** | |
US20130013732A1 (en) | Configuration data management system, and configuration data management method | |
JP2008287633A (ja) | Hba情報提供プログラム、hba情報提供方法及びhba情報提供装置 | |
US10102073B2 (en) | Systems and methods for providing automatic system stop and boot-to-service OS for forensics analysis | |
CN109299064B (zh) | 数据库监控方法及终端设备 | |
US11424984B2 (en) | Autodiscovery with dynamic configuration launching | |
CN103973470A (zh) | 用于无共享集群的集群管理方法和设备 | |
US10838712B1 (en) | Lifecycle management for software-defined datacenters | |
CN106411945A (zh) | 一种Web的访问方法和装置 | |
EP2819020A1 (en) | Information system management device and information system management method and program | |
US20160350132A1 (en) | Systems and methods for exporting diagnostic data and securing privileges in a service operating system | |
US20130204921A1 (en) | Diagnostics agents for managed computing solutions hosted in adaptive environments | |
US11509555B2 (en) | Determining operational status of Internet of Things devices | |
CN112579247A (zh) | 确定任务状态的方法和装置 | |
US9672489B1 (en) | Inventory validator with notification manager | |
US20240111579A1 (en) | Termination of sidecar containers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |