一种零拷贝控制方法、装置、设备及存储介质与流程

文档序号:30946263发布日期:2022-07-30 05:21阅读:96来源:国知局
一种零拷贝控制方法、装置、设备及存储介质与流程

1.本发明涉及通信技术领域,特别是涉及一种零拷贝控制方法、装置、设备及存储介质。


背景技术:

2.对于人工智能(artificial intelligence,ai)场景的训练任务来说,服务之间的通信非常重要,尤其是微服务之间的通信。然而在微服务中的通信一般是使用超文本传输协议(hyper text transfer protocol,http)通信,存在时间延迟、传输数据量限制和安全性的问题,所以本领域技术人员更倾向于偏向底层的传输控制协议(transmission control protocol,tcp)通信,此种方式效率高,安全性好。
3.但是,在使用tcp通信的过程中,如果使用不当会存在性能低下的问题,例如会造成cpu资源的浪费,用户态和内核态的频繁切换导致资源的浪费,以及造成内存带宽的占用。
4.因此,如何解决tcp通信性能低下的问题,是本领域技术人员亟待解决的技术问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种零拷贝控制方法、装置、设备及存储介质,可以减少用户空间和内核空间之间的上下文切换,提高tcp通信的效率和用户的体验。其具体方案如下:
6.一种零拷贝控制方法,应用于ai资源管理平台,包括:
7.接收用户空间发送的请求指令;所述请求指令包括待传输的文件;
8.读取所述文件到内核空间;
9.将所述内核空间的文件数据直接写入到硬件目标,以便所述硬件目标将写入结果返回到内核空间;
10.将所述内核空间的结果信息返回至所述用户空间。
11.优选地,在本发明实施例提供的上述零拷贝控制方法中,所述读取所述文件到内核空间,包括:
12.从指定的路径上读取所述文件到内核空间。
13.优选地,在本发明实施例提供的上述零拷贝控制方法中,在读取所述文件到内核空间之后,包括:
14.将内核空间读取的文件数据从读取缓冲区传输到套接字缓冲区。
15.优选地,在本发明实施例提供的上述零拷贝控制方法中,所述请求指令还包括待传输的目的目录;
16.所述将所述内核空间读取的数据直接写入到硬件目标,包括:
17.将所述内核空间读取的数据直接写入到所述目的目录对应的硬件目标。
18.本发明实施例还提供了一种零拷贝控制装置,应用于ai资源管理平台,包括:
19.指令接收模块,用于接收用户空间发送的请求指令;所述请求指令包括待传输的文件;
20.文件读取模块,用于读取所述文件到内核空间;
21.文件写入模块,用于将所述内核空间的文件数据直接写入到硬件目标,以便所述硬件目标将写入结果返回到内核空间;
22.信息返回模块,用于将所述内核空间的结果信息返回至所述用户空间。
23.优选地,在本发明实施例提供的上述零拷贝控制装置中,所述文件读取模块,具体用于从指定的路径上读取所述文件到内核空间。
24.优选地,在本发明实施例提供的上述零拷贝控制装置中,所述文件读取模块,具体还用于将内核空间读取的文件数据从读取缓冲区传输到套接字缓冲区。
25.优选地,在本发明实施例提供的上述零拷贝控制装置中,当所述请求指令还包括待传输的目的目录时,所述文件写入模块,具体用于将所述内核空间读取的数据直接写入到所述目的目录对应的硬件目标。
26.本发明实施例还提供了一种零拷贝控制设备,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如本发明实施例提供的上述零拷贝控制方法。
27.本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本发明实施例提供的上述零拷贝控制方法。
28.从上述技术方案可以看出,本发明所提供的一种零拷贝控制方法,应用于ai资源管理平台,包括:接收用户空间发送的请求指令;请求指令包括待传输的文件;读取文件到内核空间;将内核空间的文件数据直接写入到硬件目标,以便硬件目标将写入结果返回到内核空间;将内核空间的结果信息返回至用户空间。
29.本发明的上述零拷贝控制方法,可以实现用户空间和内核空间的拷贝为零,减少用户空间和内核空间之间的上下文切换,避免不必要的cpu拷贝,节省ai资源管理平台的cpu资源和内存空间,增强系统可用性和灵活性,提高tcp通信的效率和用户的体验,从而有效保障服务的正常运行和使用,提高ai资源管理平台的竞争力。
30.此外,本发明还针对零拷贝控制方法提供了相应的装置、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该装置、设备及计算机可读存储介质具有相应的优点。
附图说明
31.为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
32.图1为本发明实施例提供的零拷贝控制方法的流程图;
33.图2为本发明实施例提供的将文件从c盘复制到d盘的示意图;
34.图3为本发明实施例提供的零拷贝控制方法的信令交互图;
35.图4为本发明实施例提供的零拷贝控制装置的结构示意图。
具体实施方式
36.在实际应用中,在ai资源管理平台,由于微服务是基于java语言实现的,大多的通信都是采用http通信,这种方式属于短连接,用完就释放,有些需要保持长连接,一直通信,此时就会用到tcp通信,为了提高tcp通信的效率,本发明提供了一种零拷贝控制方法。
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.本发明提供一种零拷贝控制方法,应用于ai资源管理平台,如图1所示,包括以下步骤:
39.s101、接收用户空间发送的请求指令;请求指令包括待传输的文件;
40.具体地,当用户需要传输一个文件时,以图2为例,需要把c盘的a.txt复制到d盘中,用户可以先从用户空间选择一个文件,然后发起一个请求指令到操作系统内核。
41.s102、读取文件到内核空间;
42.具体地,操作系统内核接收到请求指令后,会进行读取文件,然后将文件数据传递到操作系统内核空间。
43.s103、将内核空间的文件数据直接写入到硬件目标,以便硬件目标将写入结果返回到内核空间;
44.具体地,将内核空间的文件数据写入到硬件目标,当写完数据之后,把写入结果返回到内核空间。
45.s104、将内核空间的结果信息返回至用户空间。
46.需要说明的是,上述零拷贝控制方法的实现取决于操作系统,即零拷贝完全依赖于操作系统,操作系统支持零拷贝就可以实现零拷贝,不依赖java本身,因此可以提高tcp通信的效率。
47.在本发明实施例提供的上述零拷贝控制方法中,可以实现用户空间和内核空间的拷贝为零,减少用户空间和内核空间之间的上下文切换,避免不必要的cpu拷贝,节省ai资源管理平台的cpu资源和内存空间,增强系统可用性和灵活性,提高tcp通信的效率和用户的体验,从而有效保障服务的正常运行和使用,提高ai资源管理平台的竞争力。
48.需要指出的是,传统的文件传输方法中用户空间和内核空间存在拷贝,当用户要传输一个文件,首先用户在用户空间发起指令要传输一个文件,此时内核空间会接到一个指令,要传输入一个文件,内核会先读取此文件,然后返回到内核空间,在返回到用户空间,又从内核空间传到目标硬件设备上,最后传输完成之后,把传输结果返回给内核空间,内核空间再返回给用户空间。这样用户空间和内核空间多了一次读和写的操作,降低了性能。而本发明的用户空间和内核空间的拷贝为零,性能明显提高。
49.在具体实施时,在本发明实施例提供的上述零拷贝控制方法中,步骤s102读取文件到内核空间,具体可以包括:从指定的路径上读取文件到内核空间。
50.进一步地,在具体实施时,在本发明实施例提供的上述零拷贝控制方法中,在执行
步骤s102读取文件到内核空间之后,还可以包括:将内核空间读取的文件数据从读取缓冲区传输到套接字缓冲区(socket buffer)。较佳地,可以将内核空间读取的文件数据通过描述符从read buffer传输到socket buffer。
51.在具体实施时,在本发明实施例提供的上述零拷贝控制方法中,用户空间发送的请求指令还可以包括待传输的目的目录;步骤s103将内核空间读取的数据直接写入到硬件目标,具体可以包括:将内核空间读取的数据直接写入到目的目录对应的硬件目标。
52.下面以图3为例,对本发明实施例提供的上述零拷贝控制方法进行说明,具体步骤如下:
53.步骤一、用户选择要传输的文件和传输的目的目录,并发送请求指令给操作系统内核,进入操作系统内核空间;
54.步骤二、操作系统内核收到请求指令之后,从指定的路径上读取文件到内核空间;
55.步骤三、操作系统内核把内核空间的数据写入到目的目录;
56.步骤四、操作系统内核把内核空间的数据写入完之后,硬件把写入结果返回到内核空间;
57.步骤五、操作系统内核把写完数据的结果信息通知用户空间。
58.通过执行上述步骤一至步骤五后,文件传输完毕,整个过程可以实现用户空间和内核空间的拷贝为零,减少用户空间和内核空间之间的上下文切换,对ai资源管理平台的服务中的资源得到节省,做到了充分的合理利用。
59.基于同一发明构思,本发明实施例还提供了一种零拷贝控制装置,由于该装置解决问题的原理与前述一种零拷贝控制方法相似,因此该装置的实施可以参见零拷贝控制方法的实施,重复之处不再赘述。
60.在具体实施时,本发明实施例提供的零拷贝控制装置,应用于ai资源管理平台,如图4所示,具体包括:
61.指令接收模块11,用于接收用户空间发送的请求指令;请求指令包括待传输的文件;
62.文件读取模块12,用于读取文件到内核空间;
63.文件写入模块13,用于将内核空间的文件数据直接写入到硬件目标,以便硬件目标将写入结果返回到内核空间;
64.信息返回模块14,用于将内核空间的结果信息返回至用户空间。
65.在本发明实施例提供的上述零拷贝控制装置中,可以通过上述四个模块的相互作用,实现用户空间和内核空间的拷贝为零,减少用户空间和内核空间之间的上下文切换,避免不必要的cpu拷贝,节省ai资源管理平台的cpu资源和内存空间,增强系统可用性和灵活性,提高tcp通信的效率和用户的体验,从而有效保障服务的正常运行和使用,提高ai资源管理平台的竞争力。
66.在具体实施时,在本发明实施例提供的上述零拷贝控制装置中,文件读取模块12,具体可以用于从指定的路径上读取文件到内核空间。
67.进一步地,在具体实施时,在本发明实施例提供的上述零拷贝控制装置中,文件读取模块12,具体还可以用于将内核空间读取的文件数据从读取缓冲区传输到套接字缓冲区。
68.在具体实施时,在本发明实施例提供的上述零拷贝控制装置中,当请求指令还包括待传输的目的目录时,文件写入模块13,具体可以用于将内核空间读取的数据直接写入到目的目录对应的硬件目标。
69.关于上述各个模块更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
70.相应地,本发明实施例还公开了一种零拷贝控制设备,包括处理器和存储器;其中,处理器执行存储器中存储的计算机程序时实现前述实施例公开的零拷贝控制方法。
71.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
72.进一步地,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的零拷贝控制方法。
73.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
74.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
75.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
76.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
77.综上,本发明实施例提供的一种零拷贝控制方法,应用于ai资源管理平台,包括:接收用户空间发送的请求指令;请求指令包括待传输的文件;读取文件到内核空间;将内核空间的文件数据直接写入到硬件目标,以便硬件目标将写入结果返回到内核空间;将内核空间的结果信息返回至用户空间。这样可以实现用户空间和内核空间的拷贝为零,减少用户空间和内核空间之间的上下文切换,避免不必要的cpu拷贝,节省ai资源管理平台的cpu资源和内存空间,增强系统可用性和灵活性,提高tcp通信的效率和用户的体验,从而有效保障服务的正常运行和使用,提高ai资源管理平台的竞争力。此外,本发明还针对零拷贝控制方法提供了相应的装置、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该装置、设备及计算机可读存储介质具有相应的优点。
78.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
79.以上对本发明所提供的零拷贝控制方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1