一种数据传输方法及相关装置与流程

文档序号:37794669发布日期:2024-04-30 17:04阅读:4来源:国知局
一种数据传输方法及相关装置与流程

本技术涉及通信,尤其涉及一种数据传输方法及相关装置。


背景技术:

1、随着通信技术的发展,人们日常生活与通信的联系愈发紧密,需要电子设备处理的信息也越来越多。在处理繁多的信息时,不仅需要不同电子设备之间进行通信,还需要电子设备中的不同进程之间进行通信。

2、当电子设备中的不同进程进行通信时,发送数据的进程要将数据拷贝到parcel中,再通过进程间通信(interprocess communication,ipc)将parcel传输给接收进程。接收进程再将数据从parcel中拷贝到接收进程的进程空间。

3、采用上述方法虽然可以实现进程间通信,但是在传输过程繁琐,数据的传输效率不高。


技术实现思路

1、本技术提供了一种数据传输方法及相关装置,实现了跨进程数据传输,提高了数据传输效率。

2、第一方面,本技术提供了,一种数据传输方法,应用于第一电子设备,第一电子设备包括第一进程、第二进程和共享内存,共享内存中包括第一存储区域,第一存储区域包括多个连续的节点;其特征在于,方法包括:第一进程获取第一存储区域的第一节点信息,第一节点信息包括第一存储区域中每个节点的起始地址和内存大小;第一进程基于第一节点信息对第一任务数据执行预处理操作,确定多个数据段;第一进程将多个数据段并行写入第一存储区域的多个节点,第一存储区域的每个节点写入的数据段不同;第一进程将第一任务数据的第一索引标识通过进程间通信ipc传递给第二进程,第一索引标识用于表征第一存储区域在共享内存中的位置;第二进程基于第一索引标识获取第一存储区域中的第一任务数据。

3、这样,可以提高跨进程数据的传输效率。

4、在一种可能的实现方式中,当多个数据段的数目多于多个节点的数目时,方法还包括:第一进程确定填缝数据,填缝数据包括多个数据段中未写入第一存储区域的一个或多个数据段;第一进程基于多个节点的数据填充情况确定多个节点中空白缝隙的存储信息,空白缝隙的存储信息包括第一存储区域中的每个空白缝隙的地址和内存大小,空白缝隙为每个节点中未填充数据的区域;第一进程基于空白缝隙的存储信息将填缝数据写入一个或多个空白缝隙。

5、这样,可以提高第一存储区域中内存的使用效率。

6、在一种可能的实现方式中,第一进程基于空白缝隙的存储信息将填缝数据写入一个或多个空白缝隙,具体包括:第一进程确定填缝数据中每个数据段的数据类型;第一进程基于空白缝隙的存储信息确定每个空白缝隙的数据类型标签,数据类型标签用于指示空白缝隙与数据类型的对应关系;第一进程基于填缝数据的数据类型、空白缝隙的数据类型标签和空白缝隙的存储信息将填缝数据填充到空白缝隙。

7、这样,可以提高填缝数据的填充效率。

8、在一种可能的实现方式中,多个节点的内存大小相同。

9、这样,可以方便对第一存储区域的节点进行管理。

10、在一种可能的实现方式中,第一任务数据包括多个数据单元,第一任务数据的多个数据单元包括第一数据单元、第二数据单元和第三数据单元;第一存储区域包括多个内存页,多个内存页包括第一内存页和第二内存页;第一进程将多个数据段并行写入第一存储区域的多个节点,具体包括:在第一时间,第一进程将第一数据单元的多个数据段并行写入第一内存页的多个节点;在第三时间,第一进程将第二数据单元的多个数据段并行写入第二内存页的多个节点;在第五时间,第一进程将第三数据单元的多个数据段并行写入第一内存页的多个节点;其中,第五时间晚于第三时间,第三时间晚于第一时间。

11、这样可以提高第一存储区域中内存的使用效率,还可以提高数据传输效率。

12、在一种可能的实现方式中,第二进程获取第一存储区域中的第一任务数据,具体包括:在第二时间,第二进程获取第一内存页中的第一数据单元;在第四时间,第二进程获取第二内存页中的第二数据单元;在第六时间,第二进程获取第一内存页中的第三数据单元;其中,第六时间晚于第五时间,第四时间晚于第三时间,第二时间晚于第一时间,第五时间晚于第二时间。

13、在一种可能的实现方式中,第一进程基于第一节点信息对第一任务数据执行预处理操作,确定多个数据段,具体包括:在第一时间之前,第一进程基于第一节点信息对第一数据单元执行预处理操作,确定第一数据单元的多个数据段;在第三时间之前,第一进程基于第一节点信息对第二数据单元执行预处理操作,确定第一数据单元的多个数据段;在第五时间之前,第一进程基于第一节点信息对第三数据单元执行预处理操作,确定第一数据单元的多个数据段。

14、在一种可能的实现方式中,第二进程获取第一内存页中的第一数据单元,具体包括:第二进程并行读取第一内存页中多个节点的第一数据单元的多个数据段;第二进程获取第二内存页中的第二数据单元,具体包括:第二进程并行读取第二内存页中多个节点的第二数据单元的多个数据段;第二进程获取第一内存页中的第三数据单元,具体包括:第二进程并行读取第一内存页中多个节点的第三数据单元的多个数据段。

15、在一种可能的实现方式中,在第二进程基于第一索引标识获取第一存储区域中的第一任务数据之后,方法还包括:第一进程将第二任务数据写入共享内存中的第一存储区域;第一进程将第一索引标识通过进程间通信ipc传递给第二进程;第二进程基于第一索引标识获取第一存储区域中的第二任务数据。

16、在一种可能的实现方式中,电子设备还包括第三进程,方法还包括:第三进程将第三任务数据写入共享内存中的第二存储区域;第三进程向第一电子设备的操作系统发送第一请求,第一请求包括第二索引标识和第二电子设备的设备标识,第二索引标识用于表征共享内存中第二存储区域的位置;响应于第一请求,操作系统向第二电子设备发送第二存储区域中的第三任务数据。

17、在一种可能的实现方式中,第二存储区域包括多个连续的节点,第三进程将第三任务数据写入共享内存中的第二存储区域,具体包括:第三进程获取第二存储区域的第二节点信息,第二节点信息包括第二存储区域中每个节点的起始地址和内存大小;第三进程基于第二节点信息对第三任务数据执行预处理操作;第三进程将预处理后的第三任务数据并行写入第二存储区域的多个节点,第二存储区域的每个节点写入的数据不同。

18、第二方面,本技术提供了一种电子设备,为第一电子设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得第一电子设备执行上述任一方面任一项可能的实现方式中的数据传输方法。

19、第三方面,本技术实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在第一电子设备上运行时,使得第一电子设备执行上述任一方面任一项可能的实现方式中的数据传输方法。

20、第四方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在第一电子设备上运行时,使得第一电子设备执行上述任一方面任一项可能的实现方式中的数据传输方法。

21、第二方面至第四方面的有益效果可以参考第一方面的有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1