CN117806898A - 进程监控方法、装置及设备 - Google Patents

进程监控方法、装置及设备 Download PDF

Info

Publication number
CN117806898A
CN117806898A CN202211170625.3A CN202211170625A CN117806898A CN 117806898 A CN117806898 A CN 117806898A CN 202211170625 A CN202211170625 A CN 202211170625A CN 117806898 A CN117806898 A CN 117806898A
Authority
CN
China
Prior art keywords
server
child
parent
monitoring
memory
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.)
Pending
Application number
CN202211170625.3A
Other languages
English (en)
Inventor
司译文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Zhixing Technology Co ltd
Original Assignee
Wuhan Zhixing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Zhixing Technology Co ltd filed Critical Wuhan Zhixing Technology Co ltd
Priority to CN202211170625.3A priority Critical patent/CN117806898A/zh
Publication of CN117806898A publication Critical patent/CN117806898A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供了一种进程监控方法,包括:当进程为父进程,并且父进程派生出子进程时,主服务器为子进程分配进程ID;主服务器接收至少一个从服务器上的进程发送的心跳消息;心跳消息至少包括进程ID、进程占用内存、进程占用机器核心数和时间戳;主服务器根据接收到的心跳消息,对进程的状态进行监控。

Description

进程监控方法、装置及设备
技术领域
本发明涉及自动驾驶技术领域,尤其涉及一种进程监控方法、装置及设备。
背景技术
在大规模分布式***中,经常会遇到进程挂起或异常终止的情况,在这种情况下,如果缺乏有效的进程监控措施,会严重影响***的可靠性和自恢复机制。
在目前广泛应用的操作***中,进程间的通信多是通过资源共享的方式实现的。进程通信又可分为低级通信和高级通信,其中高级通信又可分为:共享内存模式、消息传递模式以及共享文件模式等。Shared-memory(共享存储)是最为快捷有效的进程通信方式之一,数据的发送方和接收方之间互不关心,存在一定的安全隐患。Message-passing(消息传递)在发送和接收消息时会指定进程ID,这也是这种通信方式存在的一个缺点。管道通信是一种基于文件***的信息流缓冲机构,以FIFO(先进先出)方式组织数据传输。
现有技术包括在共享内存中记录信息,通过进程间的握手机制获取运行信息。
心跳检测机制一般作用如下:
1、保活
2、检测死链
例如,场景要去保持客户端与服务器之间的连接正常,当服务器与客户端之间长时间没有数据往来时,通过心跳包可实现保活。端对端发送心跳包可以检测链路是否正常,当心跳包消失时,就可以认为连接不存在了,此时可以回收资源。
现有的进程恢复处理方法包括:首先启动监控进程,等待普通进程向其注册,注册成功后,监控进程为普通进程分配共享内存对象。普通进程在共享内存中记录运行信息,监控进程通过握手获取普通进程的运行信息,实时判断异常。并关闭普通进程的共享内存对象。
上述技术中的缺点包括:
1、需要加锁来实现共享内存的互斥读写;
2、当普通进程试图改写受保护的地址空间,并出现异常时,在普通进程向共享内存写故障信息之前进程就会退出,从而导致监控进程无法知晓异常原因。
发明内容
本发明提供了一种进程监控方法,以解决现有技术中的问题。
第一方面,本发明提供了一种进程监控方法,所述方法包括:
当进程为父进程,并且所述父进程派生出子进程时,所述主服务器为所述子进程分配进程ID;
主服务器接收至少一个从服务器上的进程发送的心跳消息;所述心跳消息至少包括进程ID、进程占用内存、进程占用机器核心数和时间戳;
所述主服务器根据接收到的心跳消息,对所述进程的状态进行监控。
在一种可能的实现方式中,所述主服务器接收至少一个从服务器上的进程发送的心跳消息具体包括:
所述主服务器接收所述父进程发送的所述子进程的心跳消息;
所述主服务器根据接收到的心跳消息,对所述进程的状态进行监控具体包括:
所述主服务器根据所述子进程的占用内存,进程占用机器核心数、进程ID和时间戳,对子进程的状态进行监控。
在一种可能的实现方式中,所述方法之后还包括:
所述主服务器对子进程进行监控时,向所述从服务器的父进程发送状态监控消息,以使所述从服务器的父进程识别所述子进程退出是否正常。
在一种可能的实现方式中,所述方法还包括:
所述主服务器接收所述父进程发送的所述子进程退出时的指定消息。
第二方面,本发明提供了一种进程监控装置,所述装置包括:
进程ID分配模块,所述进程ID分配模块用于当进程为父进程,并且所述父进程派生出子进程时,为所述子进程分配进程ID;
心跳消息接收模块,所述心跳消息接收模块用于接收至少一个从服务器上的进程发送的心跳消息;所述心跳消息至少包括进程ID、进程占用内存、进程占用机器核心数和时间戳;
进程状态监控模块,所述进程状态监控模块用于根据接收到的心跳消息,对所述进程的状态进行监控。
在一种可能的实现方式中,所述装置还包括:发送模块;
所述发送模块用于所述监控模块对子进程进行监控时,向所述从服务器的父进程发送状态监控消息,以使所述从服务器的父进程识别所述子进程退出是否正常。
在一种可能的实现方式中,所述装置还包括:指定消息接收模块;
所述指定消息接收模块用于接收所述父进程发送的所述子进程退出时的指定消息。
第三方面,本发明提供了一种计算机服务器,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现第一方面任一项所述的进程监控方法;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
第四方面,本发明提供了一种芯片***,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现第一方面任一项所述的进程监控方法。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行第一方面任一项所述的进程监控方法。
第六方面,本发明提供了一种进程监控设备,所述设备包括第一方面任一项所述的主服务器和至少一个从服务器。
通过应用本发明提供的进程监控方法,不需要进行互斥控制,通过消息机制对进程进行监控。
附图说明
图1为本发明实施例一提供的进程监控架构图;
图2为本发明实施例一提供的进程监控方法流程示意图之一;
图3为本发明实施例一提供的进程监控方法流程示意图之二;
图4为本发明实施例一提供的进程监控方法流程示意图之三;
图5为本发明实施例一提供的进程监控方法流程示意图之四;
图6为本发明实施例二提供的进程监控装置结构示意图之一;
图7为本发明实施例二提供的进程监控装置结构示意图之二;
图8为本发明实施例二提供的进程监控装置结构示意图之三;
图9为本发明实施例三提供的计算机服务器结构示意图;
图10为本发明实施例四提供的芯片***结构示意图;
图11为本发明实施例五提供的计算机可读存储介质结构示意图;
图12为本发明实施例六提供的计算机程序产品结构示意图;
图13为本发明实施例七提供的进程监控设备结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例一
图1为本发明实施例一提供的进程监控架构图,如图1所示,该进程监控方法可以应用在分布式***中,分布式***中包括主服务器和多个从服务器,主服务器可以通过心跳状态值来判断从服务器是否连接,比如,当心跳状态值为1的主服务器中具有监控进程,从服务器中具有进程,从服务器中的进程可以分为父进程和子进程。本申请的进程监控方法可以实现对子进程的监控。
图2为本发明实施例一提供的进程监控方法流程示意图之一,如图2所示,进程监控方法包括:
在一个可能的实现方式中,如图3所示,在步骤210之前还包括:
步骤210,当进程为父进程,并且父进程派生出子进程时,主服务器为子进程分配进程ID。
具体的,进程可以在任意时刻派生出新的进程,可以通过父进程和子进程进行区分。当父进程派生出新的进程时,父进程可以主服务器发送通知消息,主服务器根据通知消息,为派生出的子进程分配进程ID。
步骤220,主服务器接收至少一个从服务器上的进程发送的心跳消息;
具体的,主服务器可以通过心跳消息得到从服务上的进程的状态。
其中,心跳消息至少包括进程ID,进程占用内存,进程占用机器核心数和时间戳。
步骤230,主服务器根据接收到的心跳消息,对进程的状态进行监控。
具体的,主服务器根据接收到的进程ID,进程占用内存,进程占用机器核心数和时间戳,对进程状态进行监控。在接收不到心跳时,则认为***发生了异常。
其中,进程占用内存、进程占用机器核心数属于进程本身的属性,时间戳是指进程开始计算时会记录一个开始时间,主服务器会监控从服务器中的进程是从哪个时间开始进行计算的。主服务器会对每个从服务器的使用状态进行监控。使用状态就是指:进程运行时占了多少内存以及使用了几个核心数。若主服务器也加入计算,则对主服务器本身也进行监控。
下面,对主服务器进行如何对从服务器上的父进程和子进程进行监控,进行说明。如图3所示,包括步骤310和步骤320:
步骤310,主服务器接收父进程发送的子进程的心跳消息;
步骤320,主服务器根据子进程的占用内存,进程占用机器核心数、进程ID和时间戳,对子进程的状态进行监控。
进一步的,在一个可选的实现方式中,在主服务对从服务器上的子进程进行监控时,会将监控消息发送给父进程,以便于父进程得到子进程的状态,具体如图4所示,包括步骤410。
步骤410,主服务器对子进程进行监控时,向从服务器的父进程发送状态监控消息,以使从服务器的父进程识别子进程退出是否正常。
进一步的,在一个可选的实现方式中,当子进程退出时,本申请还可以包括步骤510,如图5所示:
步骤510,主服务器接收父进程发送的子进程退出时的指定消息。
通过应用本发明提供的进程监控方法,不需要进行互斥控制,通过消息机制对进程进行监控。
实施例二
本发明实施例二提供了一种进程监控装置,如图6所示,图6为本发明实施例二提供的进程监控装置的结构示意图,该装置包括:进程ID分配模块610,心跳消息接收模块620和进程状态监控模块630。
进程ID分配模块610用于当进程为父进程,并且父进程派生出子进程时,为子进程分配进程ID;
心跳消息接收模块620用于接收至少一个从服务器上的进程发送的心跳消息;心跳消息至少包括进程ID、进程占用内存、进程占用机器核心数和时间戳;
进程状态监控模块630用于根据接收到的心跳消息,对进程的状态进行监控。
其中,心跳消息接收模块620接收至少一个从服务器上的进程发送的心跳消息具体包括:接收父进程发送的子进程的心跳消息;
进程状态监控模块630根据接收到的心跳消息,对进程的状态进行监控具体包括:根据子进程的占用内存,进程占用机器核心数、进程ID和时间戳,对子进程的状态进行监控。
进一步的,如图7所示,在一个可选的实现方式中,该装置还可以包括发送模块710;
发送模块710用于监控模块对子进程进行监控时,向从服务器的父进程发送状态监控消息,以使从服务器的父进程识别子进程退出是否正常。
在另一个可选的实现方式中,结合图6,或者结合图6和图7,如图8所示,该装置还可以包括指定消息接收模块810。
指定消息接收模块810用于接收父进程发送的子进程退出时的指定消息。
本发明实施例二提供的装置,可以执行上述方法实施例一中的方法步骤,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所描述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(Digital Signal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(System-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例所描述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线路((Digital Subscriber Line,DSL))或无线(例如红外、无线、蓝牙、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
实施例三
本发明实施例三提供了一种计算机服务器,如图9所示,包括:存储器、处理器和收发器;
处理器用于与存储器耦合,读取并执行存储器中的指令,以实现上述实施例一提供的任意一种进程监控方法;
收发器与处理器耦合,由处理器控制收发器进行消息收发。
实施例四
本发明实施例四供了一种芯片***,如图10所示,包括处理器,处理器与存储器的耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现如实施例一提供的任意一种进程监控方法。
实施例五
本发明实施例五提供一种计算机可读存储介质,如图11所示,包括程序或指令,当所述程序或指令在计算机上运行时,实现如实施例一提供的任意一种进程监控方法。
实施例六
实施例六提供一种包含指令的计算机程序产品,如图12所示,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如实施例一提供的任意一种进程监控方法。
实施例七
本发明实施例七提供了一种进程监控设备,如图13所示,包括实施例一中的主服务器和至少一个从服务器。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种进程监控方法,其特征在于,所述方法包括:
当进程为父进程,并且所述父进程派生出子进程时,所述主服务器为所述子进程分配进程ID;
主服务器接收至少一个从服务器上的进程发送的心跳消息;所述心跳消息至少包括进程ID、进程占用内存、进程占用机器核心数和时间戳;
所述主服务器根据接收到的心跳消息,对所述进程的状态进行监控。
2.根据权利要求1所述的方法,其特征在于,所述主服务器接收至少一个从服务器上的进程发送的心跳消息具体包括:
所述主服务器接收所述父进程发送的所述子进程的心跳消息;
所述主服务器根据接收到的心跳消息,对所述进程的状态进行监控具体包括:
所述主服务器根据所述子进程的占用内存,进程占用机器核心数、进程ID和时间戳,对子进程的状态进行监控。
3.根据权利要求2所述的方法,其特征在于,所述方法之后还包括:
所述主服务器对子进程进行监控时,向所述从服务器的父进程发送状态监控消息,以使所述从服务器的父进程识别所述子进程退出是否正常。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述主服务器接收所述父进程发送的所述子进程退出时的指定消息。
5.一种进程监控装置,其特征在于,所述装置包括:
进程ID分配模块,所述进程ID分配模块用于当进程为父进程,并且所述父进程派生出子进程时,为所述子进程分配进程ID;
心跳消息接收模块,所述心跳消息接收模块用于接收至少一个从服务器上的进程发送的心跳消息;所述心跳消息至少包括进程ID、进程占用内存、进程占用机器核心数和时间戳;
进程状态监控模块,所述进程状态监控模块用于根据接收到的心跳消息,对所述进程的状态进行监控。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:发送模块;
所述发送模块用于所述监控模块对子进程进行监控时,向所述从服务器的父进程发送状态监控消息,以使所述从服务器的父进程识别所述子进程退出是否正常。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:指定消息接收模块;
所述指定消息接收模块用于接收所述父进程发送的所述子进程退出时的指定消息。
8.一种计算机服务器,其特征在于,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现权利要求1-4任一项所述的进程监控方法;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
9.一种芯片***,其特征在于,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1-4任一项所述的进程监控方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行权利要求1-4任一项所述的进程监控方法。
11.一种进程监控设备,其特征在于,所述设备包括权利要求1-4任一项所述的主服务器和至少一个从服务器。
CN202211170625.3A 2022-09-23 2022-09-23 进程监控方法、装置及设备 Pending CN117806898A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211170625.3A CN117806898A (zh) 2022-09-23 2022-09-23 进程监控方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211170625.3A CN117806898A (zh) 2022-09-23 2022-09-23 进程监控方法、装置及设备

Publications (1)

Publication Number Publication Date
CN117806898A true CN117806898A (zh) 2024-04-02

Family

ID=90420394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211170625.3A Pending CN117806898A (zh) 2022-09-23 2022-09-23 进程监控方法、装置及设备

Country Status (1)

Country Link
CN (1) CN117806898A (zh)

Similar Documents

Publication Publication Date Title
CN108256002B (zh) 跨机房数据同步方法、装置、***以及服务器
JP3640187B2 (ja) マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード
CN110740072B (zh) 一种故障检测方法、装置和相关设备
CN108319513B (zh) 一种多分区操作***中的消息传递方法及装置
CN108347476B (zh) 跨机房数据同步方法、装置以及服务器
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
US9063929B2 (en) Information processing apparatus, information processing method, computer-readable recording medium having stored therein program
JP7132297B2 (ja) 仮想ゲートウェイクラスタのグローバル障害に対する監視方法及び装置
CN112698942A (zh) 一种人工智能服务***、主控装置和从控装置
WO2014091663A1 (en) Detecting and isolating dropped or out-of-order packets in communication networks
JP2019029960A (ja) 検知装置、検知方法および検知プログラム
EP3349138B1 (en) Communication destination determination device, communication destination determination method, and recording medium
CN117806898A (zh) 进程监控方法、装置及设备
WO2024082471A1 (zh) 节点间链路状态监测方法和装置
CN111447273A (zh) 云处理***及基于云处理***的数据处理方法
CN114697334B (zh) 一种编排任务的执行方法和装置
US10148518B2 (en) Method and apparatus for managing computer system
CN111556043B (zh) 一种报文处理方法、装置、***、设备及可读存储介质
EP3756310B1 (en) Method and first node for managing transmission of probe messages
CN111490911B (zh) 网关故障信息收集方法、装置、网络设备及存储介质
CN115865944B (zh) 设备间点对点通信方法、***、装置、设备及存储介质
JP7176295B2 (ja) 判定装置、ゲートウェイ、判定方法及び判定プログラム
US11150980B2 (en) Node device, recovery operation control method, and non-transitory computer readable medium storing recovery operation control program
JP2829040B2 (ja) 情報集配信システム
US20200117562A1 (en) Implementing power up detection in power down cycle to dynamically identify failed system component resulting in loss of resouces preventing ipl

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