一种进程间心跳检测方法及装置制造方法及图纸

技术编号:34354697 阅读:20 留言:0更新日期:2022-07-31 06:22
本发明专利技术提供一种进程间心跳检测方法及装置,方法包括:服务端进程创建共享内存,并设置所述共享内存的初始值为0,其中,所述共享内存用于实时保存目标客户端进程的PID值;所述服务端进程创建进程状态检测线程,其中,所述进程状态检测线程用于循环检测客户端进程退出事件,并判断产生退出事件的客户端进程是否为目标客户端进程;若产生退出事件的客户端进程是目标客户端进程,则所述服务端进程重置所述共享内存的值为0,并返回所述进程状态检测线程创建步骤,重新创建进程状态检测线程。本发明专利技术基于Linux连接器和共享内存检测进程间心跳状态,相比建立通信链路更加简单,同时极大地降低了检测时间并提高了可靠性。降低了检测时间并提高了可靠性。降低了检测时间并提高了可靠性。

【技术实现步骤摘要】
一种进程间心跳检测方法及装置


[0001]本专利技术涉及互联网
,尤其涉及一种进程间心跳检测方法及装置。

技术介绍

[0002]在高速网络传输检测设备中,网络传输的数据面处理模块作为一个个单独的进程运行在Linux等操作系统上。在某些场景下,进程间需要串联来处理数据面的网络报文。这种情况下就需要检测被串联进程状态是否正常,若被串联进程由于异常Kill或僵死,则需要某些机制来保证网络报文的正常传输通路。
[0003]现有技术中在进行进程间状态检测时,先建立进程间的通信链路,通信链路连接的方式包括:传输控制协议tcp连接和用户数据包协议udp连接以及基于进程间共享内存的通信方式进行连接。现有技术方案的缺点:使用tcp或udp建立通信链路的方式,由于受到链路资源的限制,会出现连接耗时过长,甚至连接失败的问题;心跳检测时延大。通过对方的心跳消息来检测对方状态是否正常,会存在一定的时延。在高速网络传输设备中,时延大会造成大量的报文丢失和短暂的通信链路中断。

技术实现思路

[0004]本专利技术的目的是提供一种进程间心跳检测方法、装置、电子设备与存储介质,用以解决现有心跳检测技术中时延大以及由此带来的报文丢失和链路中断的问题,通过基于Linux连接器和共享内存检测进程间心跳状态,相比建立通信链路更加简单,同时极大地降低了检测时间并提高了可靠性。
[0005]本专利技术提供一种进程间心跳检测方法,应用于Linux系统,包括:共享内存创建步骤,通过服务端进程创建共享内存,并设置所述共享内存的初始值为0,其中,所述共享内存用于实时保存目标客户端进程的PID值;进程状态检测线程创建步骤,通过所述服务端进程创建进程状态检测线程,其中,所述进程状态检测线程用于循环检测客户端进程退出事件,并判断产生退出事件的客户端进程是否为目标客户端进程;退出事件处理步骤,若产生退出事件的客户端进程是目标客户端进程,则所述服务端进程重置所述共享内存的值为0,并返回所述进程状态检测线程创建步骤,重新创建进程状态检测线程。
[0006]本专利技术提供一种进程间心跳检测方法,所述判断产生退出事件的客户端进程是否为目标客户端进程,具体包括:判断所述共享内存中实时保存的目标客户端进程的PID值是否为非0;若所述共享内存中实时保存的目标客户端进程的PID值是0,则所述目标客户端进程和所述服务端进程退出连接。
[0007]本专利技术提供一种进程间心跳检测方法,还包括:若所述共享内存中实时保存的目标客户端进程的PID值是非0,则所述目标客户端
进程和所述服务端进程连接正常。
[0008]本专利技术提供一种进程间心跳检测方法,在所述进程状态检测线程创建步骤之前,还包括:所述服务端进程创建Linux连接器套接字。
[0009]本专利技术提供一种进程间心跳检测方法,在所述共享内存创建步骤之前,还包括:创建需要进行状态检测的服务端进程和对应的目标客户端进程。
[0010]本专利技术还提供一种进程间心跳检测装置,包括:共享内存创建模块,用于服务端进程创建共享内存,并设置所述共享内存的初始值为0,其中,所述共享内存用于实时保存目标客户端进程的PID值;进程状态检测线程创建模块,用于所述服务端进程创建进程状态检测线程,其中,所述进程状态检测线程用于循环检测客户端进程退出事件,并判断产生退出事件的客户端进程是否为目标客户端进程;退出事件处理模块,用于若产生退出事件的客户端进程是目标客户端进程,则所述服务端进程重置所述共享内存的值为0,并返回所述进程状态检测线程创建步骤,重新创建进程状态检测线程。
[0011]本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述进程间心跳检测方法的步骤。
[0012]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任一项所述进程间心跳检测方法的步骤。
[0013]本专利技术还提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现任一项所述进程间心跳检测方法的步骤。
[0014]本专利技术提供一种进程间心跳检测方法及装置,包括共享内存创建步骤,通过服务端进程创建共享内存,并设置所述共享内存的初始值为0,其中,所述共享内存用于实时保存目标客户端进程的PID值;进程状态检测线程创建步骤,通过服务端进程创建进程状态检测线程,其中,所述进程状态检测线程用于循环检测客户端进程退出事件,并判断产生退出事件的客户端进程是否为目标客户端进程;退出事件处理步骤,若产生退出事件的客户端进程是目标客户端进程,则所述服务端进程重置所述共享内存的值为0,并返回所述进程状态检测线程创建步骤,重新创建进程状态检测线程。基于Linux连接器和共享内存检测进程间心跳状态,由Linux内核提供接口,安全可靠,且进程间心跳状态检测的时延,仅有毫秒级,相比建立通信链路更加简单,同时极大地降低了检测时间并提高了可靠性。
附图说明
[0015]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本专利技术提供的进程间心跳检测方法的流程示意图;图2是本专利技术提供的进程间心跳检测装置的结构示意图;
图3是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0017]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0018]下面结合图1

图3描述本专利技术的进程间心跳检测方法、装置、电子设备与存储介质。
[0019]图1为本专利技术提供的进程间心跳检测方法的流程图,如图1所示,本专利技术提供一种进程间心跳检测方法,应用于Linux系统,包括:步骤110、共享内存创建步骤,通过服务端进程创建共享内存,并设置所述共享内存的初始值为0,其中,所述共享内存用于实时保存目标客户端进程的PID值;在本实施例中,进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,也是系统进行资源分配和调度的基本单位;共享内存 (shared memory)是指在多处理器的计算机系统中可以被不同中央处理器CPU访问的大容量内存;进程ID(Process Identification)是大多数操作系统的内核用于唯一标识进程的一个数值,即PID,目标客户端进程的PID值为非0值。
[0020]在本实施例中,服务端进程创建一块共享内存区域,用于保存目标客户端进程的PID值,并初始化共享内存的值为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程间心跳检测方法,应用于Linux系统,其特征在于,包括:共享内存创建步骤,通过服务端进程创建共享内存,并设置所述共享内存的初始值为0,其中,所述共享内存用于实时保存目标客户端进程的PID值;进程状态检测线程创建步骤,通过所述服务端进程创建进程状态检测线程,其中,所述进程状态检测线程用于循环检测客户端进程退出事件,并判断产生退出事件的客户端进程是否为目标客户端进程;退出事件处理步骤,若产生退出事件的客户端进程是目标客户端进程,则所述服务端进程重置所述共享内存的值为0,并返回所述进程状态检测线程创建步骤,重新创建进程状态检测线程。2.根据权利要求1所述的进程间心跳检测方法,其特征在于,所述判断产生退出事件的客户端进程是否为目标客户端进程,具体包括:判断所述共享内存中实时保存的目标客户端进程的PID值是否为非0;若所述共享内存中实时保存的目标客户端进程的PID值是0,则所述目标客户端进程和所述服务端进程退出连接。3.根据权利要求2所述的进程间心跳检测方法,其特征在于,还包括:若所述共享内存中实时保存的目标客户端进程的PID值是非0,则所述目标客户端进程和所述服务端进程连接正常。4.根据权利要求1所述的进程间心跳检测方法,其特征在于,在所述进程状态检测线程创建步骤之前,还包括:所述服务端进程创建Linux连接器套接字。5.根据权利要求1...

【专利技术属性】
技术研发人员:史磊磊王小妹张旋聂晓磊刘高
申请(专利权)人:远江盛邦北京网络安全科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1