进程间的通信方法及装置制造方法及图纸

技术编号:37176913 阅读:11 留言:0更新日期:2023-04-20 22:45
本申请涉及数据处理技术领域,提供一种进程间的通信方法及装置。所述方法包括:存储第一进程获取到的报文数据至共享内存池空间,并将所述共享内存池空间中,存储所述报文数据的至少一个内存块的地址信息写入循环队列;将所述循环队列中的各所述地址信息发送至至少一个第二进程,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据。本申请实施例提供的进程间的通信方法,能够提高报文数据传输速度,减少CPU资源损耗。减少CPU资源损耗。减少CPU资源损耗。

【技术实现步骤摘要】
进程间的通信方法及装置


[0001]本申请涉及数据处理
,具体涉及一种进程间的通信方法及装置。

技术介绍

[0002]单向光闸(又称单向网闸)部署在不同安全等级的网络之间,通过单向无反馈传输物理环境,实现报文数据由低安全域单向传输到高安全域。由于单向光闸的报文数据单向同步功能是核心功能,需要支持多种文件传输协议代理功能,同时需要自测安全检查功能,例如关键字检查、文件格式及内容检查、恶意代码检查,因此通常需要由多个进程之间进行通信协作来实现上述功能。
[0003]相关技术中,多个进程之间的通信协作,通常是由进程间进行报文数据传输,如由代理进程将获取到的报文数据传输给内容检查进程和恶意代码检查进程,而这种需要在各进程之间进行大量的报文数据传输,且各进程无法进行并发处理,导致造成报文数据传输速度下降,CPU资源损耗大。

技术实现思路

[0004]本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种进程间的通信方法,能够提高报文数据传输速度,减少CPU资源损耗。
[0005]本申请还提出一种进程间的通信装置。
[0006]本申请还提出一种电子设备。
[0007]本申请还提出一种计算机可读存储介质。
[0008]根据本申请第一方面实施例的进程间的通信方法,包括:
[0009]存储第一进程获取到的报文数据至共享内存池空间,并将所述共享内存池空间中,存储所述报文数据的至少一个内存块的地址信息写入循环队列;
[0010]将所述循环队列中的各所述地址信息发送至至少一个第二进程,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据。
[0011]本申请实施例提供的进程间的通信方法,通过存储第一进程获取到的报文数据至共享内存池空间,并将共享内存池空间中,存储该报文数据的内存块的地址信息写入循环队列后,将循环队列中的各所述地址信息发送至第二进程,使第二进程根据读取到的各地址信息,从共享内存池空间中进行报文数据获取,从而使进程可利用循环队列中的地址信息,来从共享内存池空间来获取报文数据,无需在各进程之间直接进行大量的报文数据传输,进而能够实现报文数据的高吞吐传输,提高报文数据传输速度,减少CPU资源损耗。
[0012]根据本申请的一个实施例,将所述循环队列中的各所述地址信息发送至至少一个第二进程,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据,包括:
[0013]向至少一个第二进程发送唤醒消息,唤醒所述第二进程读取所述循环队列中的各所述地址信息,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所
述报文数据。
[0014]根据本申请的一个实施例,所述地址信息包括偏移地址;
[0015]向至少一个第二进程发送唤醒消息,唤醒所述第二进程读取所述循环队列中的各所述地址信息,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据,包括:
[0016]向至少一个第二进程发送唤醒消息,唤醒所述第二进程读取所述循环队列中的各所述偏移地址,以使所述第二进程根据各所述偏移地址,以及所述第二进程对应的共享内存池空间的基地址,从所述共享内存池空间中获取所述报文数据。
[0017]根据本申请的一个实施例,所述第二进程对应的所述共享内存池空间的基地址,根据所述第一进程发送的所述共享内存池空间的配置信息确定。
[0018]根据本申请的一个实施例,所述共享内存池空间和所述循环队列根据所述第一进程确定。
[0019]根据本申请的一个实施例,所述循环队列包括无锁循环队列。
[0020]根据本申请的一个实施例,还包括:
[0021]确定所述第二进程完成所述循环队列中的各所述地址信息的读取,向所述第一进程发送表示所述第二进程放弃读取地址信息的指示消息,以使所述第一进程根据所述指示消息标识各所述地址信息的发送状态。
[0022]根据本申请第二方面实施例的进程间的通信装置,包括:
[0023]数据存储模块,用于存储第一进程获取到的报文数据至共享内存池空间,并将所述共享内存池空间中,存储所述报文数据的至少一个内存块的地址信息写入循环队列;
[0024]进程通信模块,用于将所述循环队列中的各所述地址信息发送至至少一个第二进程,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据。
[0025]根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的进程间的通信方法。
[0026]根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的进程间的通信方法。
[0027]根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的进程间的通信方法。
[0028]本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
[0029]通过存储第一进程获取到的报文数据至共享内存池空间,并将共享内存池空间中,存储该报文数据的内存块的地址信息写入循环队列后,将循环队列中的各所述地址信息发送至第二进程,使第二进程根据读取到的各地址信息,从共享内存池空间中进行报文数据获取,从而使进程可利用循环队列中的地址信息,来从共享内存池空间来获取报文数据,无需在各进程之间直接进行大量的报文数据传输,进而能够实现报文数据的高吞吐传输,提高报文数据传输速度,减少CPU资源损耗。
[0030]进一步的,通过第一进程向第二进程发送唤醒消息,以触发第二进程读取循环队列中的各地址信息,从而无需直接向第二进程发送循环队列中的各地址信息。而由于唤醒消息本身携带的数据量很小,因此能够减少进程间的数据传输量,从而进一步提高进程间的通信效率,降低进程间的通信资源的消耗,特别是对于中低端单向网闸产品,可以提升整
机传输性能。
附图说明
[0031]为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是本申请实施例提供的进程间的通信方法的流程示意图;
[0033]图2是本申请实施例提供的进程间的通信装置的结构示意图;
[0034]图3是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0035]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程间的通信方法,其特征在于,包括:存储第一进程获取到的报文数据至共享内存池空间,并将所述共享内存池空间中,存储所述报文数据的至少一个内存块的地址信息写入循环队列;将所述循环队列中的各所述地址信息发送至至少一个第二进程,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据。2.根据权利要求1所述的进程间的通信方法,其特征在于,将所述循环队列中的各所述地址信息发送至至少一个第二进程,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据,包括:向至少一个第二进程发送唤醒消息,唤醒所述第二进程读取所述循环队列中的各所述地址信息,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据。3.根据权利要求2所述的进程间的通信方法,其特征在于,所述地址信息包括偏移地址;向至少一个第二进程发送唤醒消息,唤醒所述第二进程读取所述循环队列中的各所述地址信息,以使所述第二进程根据各所述地址信息,从所述共享内存池空间中获取所述报文数据,包括:向至少一个第二进程发送唤醒消息,唤醒所述第二进程读取所述循环队列中的各所述偏移地址,以使所述第二进程根据各所述偏移地址,以及所述第二进程对应的共享内存池空间的基地址,从所述共享内存池空间中获取所述报文数据。4.根据权利要求3所述的进程间的通信方法,其特征在于,所述第二进程对应的所述共享内...

【专利技术属性】
技术研发人员:李仁江
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1