【技术实现步骤摘要】
进程间数据传输方法、进程、电子设备及存储介质
[0001]本申请涉及通信技术,尤其涉及一种进程间数据传输方法、进程、电子设备及存储介质。
技术介绍
[0002]近几十年来,微内核操作系统已经被广泛研究和使用。进程间通信(Inter
‑
Process Communication,IPC)是微内核操作系统中的核心功能之一,主要负责大量进程间的通信任务,进程间通信的大部分场景都为进程间数据传输,进程间数据传输的性能则成了微内核操作系统性能的主要瓶颈。
[0003]对于进程间数据传输场景,目前用户进程需要提前发送头告知信息,告知待传输数据的大小,然后用户进程再将待传输数据发送给其他进程。对于传输数量大时,需要多次内核拷贝才能完成数据的传输。上述方案中,每次进程间数据传输,都至少需要发送两次信息,而用户进程间每次的信息发送都要通过内核进程,会有多次系统调用,带来系统开销问题。
技术实现思路
[0004]本申请提供一种进程间数据传输方法、进程、电子设备及存储介质,用以进程间数据传输的优化,减少因 ...
【技术保护点】
【技术特征摘要】
1.一种进程间数据传输方法,其特征在于,包括:根据待传输数据的长度,确定本次数据传输的第一传输模式;根据所述第一传输模式,生成传输请求,所述传输请求包括所述第一传输模式的标识、待传输数据的长度和表征所述待传输数据的数据信息;其中,所述传输请求的数据长度不超过预设的阈值;通过内核二次拷贝的方式,向其它进程传送所述传输请求;所述传输请求用于所述其它进程通过采用所述第一传输模式对应的处理策略,获得所述待传输数据。2.根据权利要求1所述的方法,其特征在于,所述传输请求包括头结构体和数据包结构体,所述头结构体用于封装所述第一传输模式的标识和待传输数据的长度,所述数据包结构体用于封装所述数据信息;所述根据待传输数据的长度,确定本次数据传输的第一传输模式,包括:若所述待传输数据和所述头结构体的数据长度之和超过所述阈值,则确定所述第一传输模式为内存映射模式或共享内存模式;其中,所述头结构体具有预定的数据长度;若所述待传输数据和所述头结构体的数据长度之和未超过所述阈值,则确定所述第一传输模式为数据直接拷贝模式。3.根据权利要求1或2所述的方法,其特征在于,所述第一传输模式为内存映射模式,所述待传输数据的数据信息包括所述待传输数据所在用户空间的首地址;或者,所述第一传输模式为共享内存模式,所述待传输数据的数据信息包括所述待传输数据所在共享内存的信息;或者,所述第一传输模式为数据直接拷贝模式,所述待传输数据的数据信息包括所述待传输数据。4.一种进程间数据传输方法,其特征在于,包括:接收其它进程通过内核二次拷贝的方式发送的传输请求,所述传输请求包括第一传输模式的标识、待传输数据的长度和表征待传输数据的数据信息;所述传输请求的数据长度不超过预设的阈值;根据所述数据信息,采用所述第一传输模式对应的处理策略,获得所述待传输数据。5.根据权利要求4所述的方法,其特征在于,所述传输请求包括头结构体和数据包结构体,所述头结构体用于封装所述第一传输模式的标识和待传输数据的长度,所述数据包结构体用于封装所述数据信息;所述待传输数据和所述头结构体的数据长度之和超过所述阈值,所述第一传输模式为内存映射模式或共享内存模式;或者,所述待传输数据和所述头结构体的数据长度之和未超过所述阈值,所述第一传输模式为数据直接拷贝模式。6.根据权利要求4或5所述的方法,其特征在于,所述第一传输模式为内存映射模式,所述待传输数据的数据信息包括所述待传输数据所在用户空间的首地址;或者,所述第一传输模式为共享内存模式,所述待传输数据的数据信息包括所述待传输数据所在共享内存的信息;或者,所述第一传输模式为数据直接拷贝模式,所述待传输数据的数据信息包括所述待传输数据。7.根据权利要求6所述的方法,其特征在于,所述根据所述数据信息,采用所述第一传
输模式对应的处理策略,获得所述待传输数据,包括:若所述第一传输模式为内存映射模式,则将所述待传输数据所在用户空间的首地址进行映射,通过访问映射后的地址,获得所述待传输数据;若所述第一传输模式为共享内存模式,则根据所述数据信息中的共享内存的信息,通过访问所述共享内存获得所述待传输数据;若所述第一传输模式为数据直接拷贝模式,则通过提取所述传输请求中的所述数据信息,获得所述待传输数据。8.根据权利要求4或5所述的方法,其特征在于,所述根据所述数据信息,采用所述第一传输模式对应的处理策略,获得所述待传输数据,包括:根据所述待传输数据的长度,向内核申请用户态下的内存;根据所述数据信息,采用所述第一传输模式对应的处理策略,将所述待传输数据存储至申请的所述内存。9.根据权利要求4或5所述的方法,其特征在于,所述根据所述数据信息,采用所述第一传输模式对应的处理策略,获得所述待传输数据,包括:根据所述数据信息,采用所述第一传输模式对应的处理策略,将所述待传输数据存储至预先分配的用户态下的内存。10.一种用户态进程,其特征在于,包括:确定模块,用于根据待传输数据的长度,确定本次数据传输的第一传输模式;第一处理模块,用于根据所述第一传输模式,生成传输请求,所述传输请求包括所述第一传输模式的标识、待传输数据的长度和表征所述待传输数据的数据信息;其中,所述传输请求的数据长度不超过预设的阈值;传送模块,用于通过内核二次拷贝的方式,向其它进程传送所述传输请求;所述...
【专利技术属性】
技术研发人员:杨诚,傅嘉凌,胡志刚,陈凌君,
申请(专利权)人:斑马网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。