进程间通信方法、装置、设备及存储介质制造方法及图纸

技术编号:35869549 阅读:59 留言:0更新日期:2022-12-07 11:03
本申请提供一种进程间通信方法、装置、设备及存储介质。该方法包括:获取N个客户端进程的待发送数据的虚拟地址,所述N为大于或等于1的整数。将所述N个客户端进程的待发送数据的虚拟地址并行映射到内核空间中的内核虚拟地址上。根据所述N个客户端进程的通信顺序,以及,M个服务端进程的通信顺序,进行所述N个客户端进程与所述M个服务端进程之间的通信,以将客户端进程的待发送数据同步至服务端进程,所述M为大于或等于1的整数。本申请的方法,提高了进程间通信的效率,降低了服务端进程的负载。载。载。

【技术实现步骤摘要】
进程间通信方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种进程间通信方法、装置、设备及存储介质。

技术介绍

[0002]运行操作系统时,处理器可以通过多进程协作的方式执行程序。进程间存在进程隔离,即,不能够在一个进程中直接访问另一个进程的资源,但是,不同的进程之间需要进行信息的交互和状态的传递,才既能够实现多进程协作。因此,目前需要通过进程间通信(Inter

Process Communication,IPC)的方式实现进程间的进行信息的交互和状态的传递,从而实现多进程协作。
[0003]现有技术中,对于大于256字节(bytes)的数据,运行QNX Neutrino实时操作系统(Real Time Operating System,RTOS)的终端设备的操作系统通过一次虚拟地址映射和一次数据拷贝完成数据同步IPC。在同步IPC过程中,客户端进程需要等待服务端进程的数据接收准备完成后,才进行虚拟地址映射,以及,数据拷贝的过程。当存在多个客户端进程与至少一个服务端进程之间进行同步IPC时,存在效率较低的问题。

技术实现思路

[0004]本申请提供一种进程间通信方法、装置、设备及存储介质,用以解决现有技术中进程间通信效率较低的问题。
[0005]第一方面,本申请提供一种进程间通信方法,应用于处理器,包括:
[0006]获取N个客户端进程的待发送数据的虚拟地址,所述N为大于或等于1的整数。
[0007]将所述N个客户端进程的待发送数据的虚拟地址并行映射到内核空间中的内核虚拟地址上。
[0008]根据所述N个客户端进程的通信顺序,以及,M个服务端进程的通信顺序,进行所述N个客户端进程与所述M个服务端进程之间的通信,以将客户端进程的待发送数据同步至服务端进程;所述M为大于或等于1的整数。
[0009]可选地,所述将所述N个客户端进程的待发送数据的虚拟地址并行映射到内核空间中的内核虚拟地址上,包括:
[0010]针对每个所述客户端进程,并行执行如下操作:
[0011]获取所述客户端进程的待发送数据的虚拟地址。
[0012]根据所述客户端进程的待发送数据的虚拟地址,获取所述客户端进程的待发送数据的物理地址。
[0013]将所述客户端进程的待发送数据的物理地址,映射到所述内核空间的所述内核虚拟地址。
[0014]可选地,所述根据所述客户端进程的待发送数据的虚拟地址,获取所述客户端进程的待发送数据的物理地址,包括:
[0015]获取所述客户端进程的页表,所述页表中包括所述客户端进程的虚拟地址,与,所述客户端进程的物理地址的映射关系。
[0016]根据所述客户端进程的页表,以及,所述客户端进程的待发送数据的虚拟地址,获取所述客户端进程的待发送数据的物理地址。
[0017]可选地,在将所述客户端进程的待发送数据的物理地址,映射到所述内核空间的所述内核虚拟地址后,还包括:
[0018]将连续的内核虚拟地址合并,得到至少一个内核虚拟地址段。
[0019]可选地,所述N个客户端进程的通信顺序是根据所述N个客户端进程的同步完成时间确定的;所述根据所述N个客户端进程的通信顺序,以及,M个服务端进程的通信顺序,进行所述N个客户端进程与所述M个服务端进程之间的通信,包括:
[0020]针对任一客户端进程与对应的服务端进程,执行如下操作:
[0021]建立所述客户端进程与所述服务端进程之间的通信连接。
[0022]向所述客户端进程发送所述服务端进程的接收消息;所述接收消息用于指示所述客户端进程发送通信信息;所述通信信息包括所述内核虚拟地址的指针。
[0023]根据所述接收消息,通过所述客户端进程向所述服务端进程发送所述通信信息。
[0024]通过所述服务端进程根据所述通信信息,以及,数据拷贝函数,将所述待发送数据拷贝到所述服务端进程的预设虚拟地址对应的存储空间。
[0025]可选地,所述根据所述接收消息,通过所述客户端进程向所述服务端进程发送所述通信信息,包括:
[0026]根据所述接收消息,激活所述客户端进程的发送状态,所述发送状态用于表征所述客户端进程能够发送所述通信信息。
[0027]通过所述客户端进程完成所述通信信息发送后,向所述服务端进程发送消息。所述发送消息表征所述客户端进程已完成所有所述通信信息的发送。
[0028]根据所述发送消息,激活所述服务端进程的接收状态,所述接收状态用于表征所述服务端进程能够接收所述通信信息。
[0029]可选地,在通过所述服务端进程根据所述通信信息,以及,数据拷贝函数,将所述待发送数据拷贝到所述服务端进程的预设虚拟地址对应的存储空间后,还包括:
[0030]通过所述服务端进程完成所述待发送数据的拷贝后,向所述客户端进程发送反馈消息,所述反馈消息用于表征所述服务端进程已完成此次进程间通信。
[0031]通过所述客户端进程接收到所述反馈消息后,断开所述客户端进程与所述服务端进程的通信连接。
[0032]第二方面,本申请提供一种进程间通信装置,包括:
[0033]获取模块,获取N个客户端进程的待发送数据的虚拟地址,所述N为大于或等于1的整数。
[0034]映射模块,将所述N个客户端进程的待发送数据的虚拟地址并行映射到内核空间中的内核虚拟地址上。
[0035]同步模块,根据所述N个客户端进程的通信顺序,以及,M个服务端进程的通信顺序,进行所述N个客户端进程与所述M个服务端进程之间的通信,以将客户端进程的待发送数据同步至服务端进程;所述M为大于或等于1的整数。
[0036]第三方面,本申请提供一种进程间通信设备,包括:处理器,以及与所述处理器通信连接的存储器。
[0037]所述存储器存储计算机执行指令。
[0038]所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
[0039]第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中任一项所述的进程间通信方法。
[0040]第五方面,本申请提供一种计算机程序产品,包括:计算机程序,该计算机程序被处理器执行时实现如第一方面中任一项该的方法。
[0041]本申请提供的进程间通信方法、装置、设备及存储介质,通过将待发送数据的虚拟地址映射过程转移到客户端进程与服务端进程建立通信连接之前,使待发送数据的虚拟地址从客户端进程映射到内核空间中,以使多个客户端进程能够并行地将待发送数据的虚拟地址,映射到内核空间中的内核虚拟地址上,然后再利用上述内核虚拟地址,进行多个客户端进程与服务端进程的进程间通信,从而通过并行映射的方式,有效降低虚拟地址映射过程所耗费的时间,提高多个客户端进程与服务端进程之间通信的效率,通过将虚拟地址映射过程由服务端进程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程间通信方法,其特征在于,应用于处理器,所述方法包括:获取N个客户端进程的待发送数据的虚拟地址,所述N为大于或等于1的整数;将所述N个客户端进程的待发送数据的虚拟地址并行映射到内核空间中的内核虚拟地址上;根据所述N个客户端进程的通信顺序,以及,M个服务端进程的通信顺序,进行所述N个客户端进程与所述M个服务端进程之间的通信,以将客户端进程的待发送数据同步至服务端进程;所述M为大于或等于1的整数。2.根据权利要求1所述的方法,其特征在于,所述将所述N个客户端进程的待发送数据的虚拟地址并行映射到内核空间中的内核虚拟地址上,包括:针对每个所述客户端进程,并行执行如下操作:获取所述客户端进程的待发送数据的虚拟地址;根据所述客户端进程的待发送数据的虚拟地址,获取所述客户端进程的待发送数据的物理地址;将所述客户端进程的待发送数据的物理地址,映射到所述内核空间的所述内核虚拟地址。3.根据权利要求2所述的方法,其特征在于,所述根据所述客户端进程的待发送数据的虚拟地址,获取所述客户端进程的待发送数据的物理地址,包括:获取所述客户端进程的页表,所述页表中包括所述客户端进程的虚拟地址,与,所述客户端进程的物理地址的映射关系;根据所述客户端进程的页表,以及,所述客户端进程的待发送数据的虚拟地址,获取所述客户端进程的待发送数据的物理地址。4.根据权利要求2或3所述的方法,其特征在于,在将所述客户端进程的待发送数据的物理地址,映射到所述内核空间的所述内核虚拟地址后,还包括:将连续的内核虚拟地址合并,得到至少一个内核虚拟地址段。5.根据权利要求1

3任一项所述的方法,其特征在于,所述N个客户端进程的通信顺序是根据所述N个客户端进程的同步完成时间确定的;所述根据所述N个客户端进程的通信顺序,以及,M个服务端进程的通信顺序,进行所述N个客户端进程与所述M个服务端进程之间的通信,包括:针对任一客户端进程与对应的服务端进程,执行如下操作:建立所述客户端进程与所述服务端进程之间的通信连接;向所述客户端进程发送所述服务端进程的接收消息;所述接收消息用于指示所述客户端进程发送通信信息;所述通信信息包括所述内核虚拟地址的指针;根据所述接...

【专利技术属性】
技术研发人员:左红明余文兵胡志刚陈凌君
申请(专利权)人:斑马网络技术有限公司
类型:发明
国别省市:

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

1