首页> 中国专利> 应用于分布式系统中的进程管理系统及进程管理方法

应用于分布式系统中的进程管理系统及进程管理方法

摘要

本发明提供应用于分布式系统中的进程管理系统,其中,所述分布式系统包括多个节点,该进程管理系统包括:为每一个节点设置的节点进程管理模块,各节点进程管理模块用于管理其所在节点的进程;为每一个节点设置的节点控制模块,各节点控制模块与所在节点的节点进程管理模块通信连接,各节点控制模块用于将其所在节点的位置信息、与其所在节点的进程有关的进程信息发送给其它各节点,接收并更新其它各节点的位置信息与进程信息;总控制模块,其收集各节点的进程信息,并根据需要,经由各节点的节点控制模块和/或节点进程管理模块管理各节点的进程,还提供了相应的分布式进程管理方法。本发明所述的进程管理系统或方法,提高了管理该分布式系统中的进程的方便度。

著录项

  • 公开/公告号CN104750544A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 中国银联股份有限公司;

    申请/专利号CN201310741148.6

  • 发明设计人 茅毓铭;杨宏斌;杨燕明;王振;

    申请日2013-12-30

  • 分类号

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人杜娟娟

  • 地址 200135 上海市浦东新区含笑路36号银联大厦

  • 入库时间 2023-12-18 09:33:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-04

    授权

    授权

  • 2015-07-29

    实质审查的生效 IPC(主分类):G06F9/46 申请日:20131230

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

技术领域

本发明涉及分布式/集群技术领域,更具体地,涉及对分布式系统下的进程进行管理的技术。

背景技术

分布式环境或系统的应用已经很普遍。目前,对分布式系统或集群系统中各节点的进程普遍实行集中式管理。这不利于分布式系统的扩展,而且在某些环境下,这种管理方式具有不便之处。例如,设置有集中管理分布式系统中各节点的系统的设备设立在A地,则对该分布式系统中处于C地的节点的管理都需要通过访问在A地的集中管理系统来完成,由此造成大量的带宽浪费以及响应时延。

  申请号为CN200810066708.1的专利提供了一种实现集群管理的方法。其主要描述了采用浏览器截取用户行为再转化为指定目标集群节点上进行管理的方法。这种方法通过图像转换与识别,无法应对超大规模的集群管理。

发明内容

本发明提供应用于分布式系统中的进程管理系统及方法,可有效改善上述问题。

本发明提供的应用于分布式系统中的进程管理系统,其中,所述分布式系统包括多个节点,该进程管理系统包括:为每一个节点设置的节点进程管理模块,各节点进程管理模块用于管理其所在节点上的进程;为每一个节点设置的节点控制模块,各节点控制模块与所在节点的节点进程管理模块通信连接,各节点控制模块用于将其所在节点的位置信息、与其所在节点上的进程有关的进程信息发送给其它各节点,接收并更新其它各节点的位置信息与进程信息;总控制模块,其收集各节点的进程信息,并根据需要,经由各节点的节点控制模块和/或节点进程管理模块管理各节点上的进程。

优选地,所述节点进程管理模块还设置成接收其它节点对其所在节点上的进程进行管理的管理信息以及处理该管理信息。

优选地,所述节点控制模块还设置成接收其它节点对其所在节点上的进程的管理信息、将该管理信息发送给其所在节点的节点进程管理模块、以及发送其所在节点对其它节点上的进程的管理信息。

优选地,所述节点进程管理模块用于管理其所在节点上的进程包括:控制所在节点上的进程的启动、停止;监控所在节点上的进程的状态以获得进程信息;将所述进程信息发送给同一节点的节点控制模块。

优选地,所述监控其所在节点上的进程的状态包括:监控其所在节点上的与进程的占用资源、类型、总量及调用次数有关的信息。

优选地,所述监控所在节点上的进程的状态以获得进程信息,以及将所述进程信息发送给同一节点的节点控制模块包括监控所在节点上的进程的状态以获得进程信息;并在所述进程信息发生变化时,发送已变化的进程信息给同一节点的节点控制模块。

优选地,所述节点控制模块包括:节点连接单元,用于将其所在节点的位置信息与进程信息发送给其它各节点及接收来自其它各节点的位置信息与进程信息;以及信息更新单元,用于在其所在节点或其它节点的位置信息以及进程信息变化时更新该位置信息及进程信息。

优选地,所述节点连接单元设置成采用广播扩散协议发送位置信息与进程信息给其它各节点。

优选地,所述总控制模块设置于所述多个节点中的一个或若干个节点,所述总控制模块通过其所在节点的节点控制模块收集各节点的进程信息以及通过其所在节点的节点控制模块发送对各节点的进程的管理信息。

本发明还提供一种分布式系统,其包括如上所述的进程管理系统。

本发明还提供一种应用于分布式系统中的进程管理方法,该分布式系统包括多个节点,该进程管理方法包括:在每一个节点处管理该节点上的进程;将每个节点的位置信息及与进程有关的进程信息发送给其它各节点;每个节点接收来自其它各节点的位置信息与进程信息;在所述多个节点中的一个或若干节点处,收集所有节点上的进程信息,并根据需要,管理各节点的进程。

优选地,所述进程管理方法中,在每一个节点处管理该节点上的进程包括:控制所在节点上的进程的启动、停止;监控所在节点上的进程的状态以获得进程信息。

优选地,所述进程管理方法中,所述监控所在节点上的进程的状态包括:监控其所在节点上的与进程的资源占用、类型、总量、及调用次数有关信息。

优选地,所述进程管理方法中,所述监控所在节点上的进程的状态以获得进程汇总信息;并在所述进程信息发生变化时,发送已变化的进程信息给其它各节点。

优选地,所述进程管理方法中,所述将每个节点的位置信息及与进程有关的进程信息发送给其它各节点是通过采用广播扩散协议将每个节点的位置信息及与进程有关的进程信息发送给其它各节点。

采用本发明所述的进程管理系统或方法,提高了管理该分布式系统中的进程的方便度,并且且能在上万规模节点以上的集群环境下,对各节点的进程执行正常管理。

附图说明

 图1是根据本发明示例的应用于分布式系统中的进程管理系统的结构示意图。

图2是流程图,其示意了根据本发明的应用于分布式系统中的进程管理方法。

具体实施方式

 现在参照附图描述本发明的示意性示例,相同的附图标号表示相同的元件。下文描述的各实施例有助于本领域技术人员透彻理解本发明,且意在示例而非限制。除非另有限定,文中使用的术语(包括科学、技术和行业术语)具有与本发明所属领域的技术人员普遍理解的含义相同的含义。

 图1是根据本发明示例的应用于分布式系统中的进程管理系统的结构示意图,其中,分布式系统包括多个节点,在此示例性地,包括节点1、节点2、节点3、节点4、节点5及节点6。进程管理系统包括总控制模块、为每一个节点设置的节点进程管理模块以及为每一个节点设置的节点控制模块。示例地,为各节点设置的节点进程管理模块及节点控制模块设置于各节点,总控制模块可设置于其中任意一个节点,也可单独设置在独立设备中。节点可以是虚拟主机、独立设备上的一个逻辑单元等,独立设备可以是服务器、普通PC机、便携式电子设备等。本例中,进程管理系统包括设置在节点6的总控制模块,分别设置在节点1、2、3、4、5及6中的节点进程管理模块12、22、32、42、52及62,分别设置在节点1、2、3、4、5及6中的节点控制模块10、20、30、40、50以及60。此外,各节点可以具有一个或多个用户进程。

 各节点控制模块10、20、30、40、50及60分别与各自节点的节点进程管理模块12、22、32、42、52及62通信连接。节点控制模块10、20、30、40、50及60分别向其它节点传送自身所在节点的位置信息以及与自身所在节点的进程有关的进程信息,分别接收其它节点传送的其它节点的位置信息及其与进程有关的进程信息,并且进一步更新其自身所在节点中所存储的其它节点的位置信息与进程信息。举例来说,节点控制模块30向其它节点1、2、4、5及6传送节点3的位置信息以及与节点3的进程有关的进程信息,接收其它节点1、2、4、5及6传送的它们的位置信息及其与进程有关的进程信息,并且更新节点3中的节点1、2、4、5及6的位置信息以及与进程有关的进程信息。总控制模块63收集各节点的位置与进程信息,并根据需要,经由各节点的节点控制模块和/或节点进程管理模块管理各节点的进程;在此,可以通过设置了总控制模块63的节点或设备远程管理集群(也就是分布式系统)中其它节点上的进程。

 节点进程管理模块12、22、32、42、52及62管理其所在节点上的用户进程,例如包括控制其所在节点的进程的启动、停止,监控其所在节点的进程的状态以获得进程信息,并将所获得的进程信息发送给同一节点的节点控制模块。作为示例,监控所在节点的进程的状态包括获取所在节点的各进程资源占用情况、进程类型、进程总量以及进程被调用的次数等信息。

  根据本发明的一个示例,节点进程管理模块12、22、32、42、52及62中的每一个还设置成接收其它节点对其所在节点的进程的管理信息、处理该管理信息、发送处理结果,及将处理结果反馈回信息发送节点。可选地,节点进程管理模块12、22、32、42、52及62中的每一个可分别经由节点控制模块10、20、30、40、50及60接收管理信息或发送处理结果给其它节点。

   可选地,节点进程管理模块12、22、32、42、52及62中的每一个将其所在节点对其它节点上的进程的管理信息发送给其所在节点的节点控制模块,以经由节点控制模块将该管理信息发送给相应的其它节点的节点控制模块;节点进程管理模块12、22、32、42、52及62中的每一个还经由其所在节点的节点控制模块接收其它节点对所发送的管理信息的响应。

   各节点控制模块10、20、30、40、50及60可包括节点连接单元与信息更新单元。节点连接单元用于将其所在节点的位置信息与进程信息发送给其它各节点并接收来自其它节点的位置信息与进程信息。信息更新单元用于在其所在节点或其它节点的位置信息及进程信息变化时更新位置信息及进程信息。在本发明的所有示例中,节点连接单元通过采用如Gossip协议的广播扩散协议将位置信息与进程信息扩散给分布式系统中的其它节点,也可采用其它方式使节点控制模块将信息扩散给其它各节点。管理信息从一个节点到另一个节点的传输与常规技术相同,例如采用基于TCP/IP的socket通信方式。

    下文以节点1为例进行阐述。节点进程管理模块12管理节点1上的各用户进程,包括进程的启动、停止等。节点进程管理模块12还监控节点1各进程的状态以获得进程信息。根据本发明的一个示例,节点进程管理模块12将进程信息发送给节点1的节点控制模块10。节点控制模块10将节点1的位置信息及进程信息扩散给其它节点。

  对于进程信息的发送,作为示例,节点进程管理模块12在进程信息发生变化时,发送已变化的进程信息给同一节点的节点控制模块10,由其扩散给其它节点。例如,进程总量发生变化或进程种类发生变化时,节点进程管理模块12将变化后的进程总量或进程种类发送给节点控制模块10,由其扩散给其它各节点。实际应用中,在发送已变化的进程信息之外,节点进程管理模块12还可每隔一段时间发送当前节点1的进程信息或位置信息给其它各节点。

  在一些示例中,节点进程管理模块12还接收其它节点对节点1上的进程进行管理的管理信息,处理所接收的管理信息并将处理结果反馈回发送管理信息的节点。在此,术语“管理信息”应广义理解,其包括启动节点1中的某进程、中止/挂起节点1的某进程、或关闭节点1的某进程等。例如,节点进程管理模块12接收到节点6对节点1中的某一进程的启动信息,即启动该进程并将已启动的信息作为响应发送给节点6;接收到节点6对节点1中的某一进程的关闭信息时,即关闭该进程并将已关闭的信息返回给节点6。作为示例,节点进程管理模块12通过节点1的节点控制模块10来接收来自其它节点的针对节点1中进程的管理信息,并经由节点控制模块10将处理结果发送给发出管理信息的其它节点。

  可选地,节点进程管理模块10还提供查询当前节点,即节点1上的进程信息的接口,通过该接口,可查询到当前节点1的进程数、调用次数、所占资源等。节点进程管理模块12可供用户手动执行诸如启动、关闭某进程的指令外,还可通过管道/消息队列/TCP/IP的方式接收分布式系统中其它节点对节点1的进程的管理信息。

  节点控制模块10的节点连接单元将节点1的位置信息与进程信息通过Gossip协议扩散到节点2、3、4、5及6,并接收其它节点通过Gossip协议扩散的节点位置信息与进程信息。由此,每个节点都知道其它各节点在分布式系统中的位置,以及知道其它各节点的进程信息。进程信息可包括如上文提到的与进程的启动、停止、所监控的进程资源占用情况、进程类型、进程总量以及进程被调用的次数等有关的信息,还可包括节点上正在运行的进程种类及数量,节点状态,其它诸如平衡因子、操作系统版本、通信协议版本、应用版本、运行时间等信息。

   在某些示例中,节点连接单元还被设置成接收来自其它节点的进程管理信息,该相关信息例如为节点6对节点1的某进程的管理信息、如通知节点1停止某进程运行的停止通知信息等。在接收到进程管理信息后,节点控制模块10即将该进程管理信息传送给节点进程管理模块12,由其进行处理。

 节点控制模块10的信息同步单元,在节点连接单元所接收的其它节点2、3、4、5及6的位置信息与进程信息发生变化时,更新相应的位置信息与进程信息。此外,信息同步单元还每隔一段时间,检查本节点的位置信息与进程信息是否发生变化,若发生变化,则通过连接单元扩散给其他节点。

  总控制模块63收集各节点的进程信息,并根据需要,经由各节点的节点控制模块和/或节点进程管理模块执行对各节点上的进程的管理。本例中,总控制模块63设置在节点6。总控制模块63通过节点6的节点控制模块60收集节点6的位置信息与进程信息、并通过该节点控制模块60收集节点1、2、3、4及5通过它们各自的节点控制模块发送到该节点控制模块60的位置信息与进程信息。总控制模块63经由节点6的节点控制模块60发送管理信息给其他节点的节点进程管理模块以管理其他节点上的进程。例如,位于节点6的总控制模块63如果要管理节点1的进程,则发送管理信息给节点1的节点控制模块10,节点控制模块10将该管理信息再发送给节点1的节点进程管理模块12,节点进程管理模块12收到管理信息,即进行相应处理,并将处理结果经由节点控制模块10反馈给总控制模块63。总控制模块63还可配置成具有查询接口,以便用户通过其查询分布式系统中各节点的与进程有关的情况或位置信息等。

 图2是根据本发明的应用于分布式系统中的进程管理方法的流程图,该方法应用于包括多个节点的分布式系统中,例如应用于如图1所示的分布式系统中,但不以此为限。以下结合图1与图2来阐述该进程管理方法。

  在步骤200,在每一节点处管理该节点的进程。在每一节点处管理该节点的进程包括控制每一节点的进程的启动、停止,监控其所在节点的进程的状态以获得进程信息。进一步,监控所在节点的进程的状态包括监控所在节点的进程信息的进程资源占用情况、进程类型、进程总量及进程被调用的次数;在此,可以是针对各进程的进程资源占用情况及被调用的次数。例如通过各节点处的节点进程管理模块进行管理,具体地,节点进程管理模块12、22、32、42、52、62分别管理节点1、2、3、4、5、6中的进程,包括控制其所在节点的进程的启动、停止,监控其所在节点的进程的状态以获得进程信息,以及将所获得的进程信息发送给同一节点控制模块等。

  在步骤202,将每个节点的位置信息及与进程有关的进程信息发送给其它各节点。例如通过图1所示的各节点的节点控制模块10、20、30、40、50及60将它们各自所在节点的位置信息及与所在节点的进程有关的进程信息发送给其它各节点。在本发明的示例中,各节点示例性地通过诸如采用Gossip协议的扩散协议将位置信息与进程信息发送给分布式系统中的其它节点。

    在步骤204,各节点接收来自其它节点的位置信息与进程信息。例如通过图1所示的各节点的节点控制模块10、20、30、40、50及60来执行接收功能。

   在步骤206,在多个节点中的一个或若干节点处,收集所有节点的位置信息与进程信息,并根据需要,管理各节点的进程。可以通过图1所示的总控制模块63收集所有节点的位置信息与进程信息,并根据需要,管理各节点的进程。例如,设置在节点6的总控制模块63通过节点6的节点控制模块60收集节点6的位置信息与进程信息、并通过该节点控制模块60收集节点1、2、3、4及5通过它们各自的节点控制模块发送到该节点控制模块60的位置信息与进程信息。此外,在一个示例中,总控制模块63经由各节点的节点进程管理模块管理各节点的进程。例如,位于节点6的总控制模块63要管理节点1的进程,则发送管理信息给节点1的节点控制模块10,节点控制模块10将该管理信息再发送给节点1的节点进程管理模块12,节点进程管理模块12收到管理信息,据其进行处理,并将处理结果经由节点控制模块10反馈给节点6的节点控制模块60,进而发给总控制模块63。

   本发明的各示例中,以节点1为例进行了说明,但同样的情况也适用于其它节点。亦即,节点2、3、4、5、6的节点进程管理模块22、32、42、52、62及节点控制模块20、30、40、50、60的工作方式与节点1的节点进程管理模块12、节点控制模块10相同。此外,总控制模块63也可设置在任何其它节点。

 按照本发明所示的系统及方法,每个节点都知道分布式系统中的其它各节点的位置信息与进程信息,且可直接对其它节点上的进程服务进行调用,由此提高了管理该分布式系统中的进程的方便度。同时,总控制模块的设置,又使得可根据需要对分布式系统中的各节点进行管理。

采用本发明所述的应用于分布式系统中的进程管理系统或方法,各节点在该分布式系统后,可通过节点控制模块将自身位置信息与进程信息发送给环境中的其它各节点,由此至少产生如下益处:在系统新增加节点时,只需要对该新节点进行配置,使其可将与其有关的位置与进程信息扩散给已存在的其它节点以及接收其它节点的位置与进程信息,而对已存在的节点的进程管理没有任何影响;由于不是集中式管理,使得针对各节点进程管理的信息不会再一致涌向管理节点,由此,降低了网络拥塞。基于以上所述,采用本发明所述的进程管理系统或方法,提高了管理该分布式系统中的进程的方便度,且能在上万规模节点以上的集群环境下,对各节点的进程执行正常管理。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号