一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种发送标签数据的方法、接收标签数据的方法及相关装置与流程

2022-02-21 03:25:38 来源:中国专利 TAG:


1.本发明涉及计算机通信技术领域,具体地,涉及一种发送标签数据的方法、接收标签 数据的方法及相关装置。


背景技术:

2.随着电子信息技术的发展,越来越多的电子计算机服务被广泛提供给人们的生产生活 活动。然而,单台计算机设备能够提供服务的能力毕竟有限;故现在越来越多的计算机服务, 特别是功能强大的计算机服务,是通过若干台计算机设备构成的计算机集群实现的。不同的 计算机设备通过网络连接构成服务器集群,进而为人们提供各种形式的计算机服务。在对外 提供服务时,不免涉及跨计算机设备终端间的调用和数据交互,即计算机间的跨端数据通信。 而计算机设备间的跨端通信,通常都是在tcp/ip协议支持下实现的。
3.然而,传统的tcp/ip技术在数据包处理过程中,要经过操作系统及其他软件层,需 要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存 之间来回进行复制移动,给服务器的cpu和内存造成了沉重负担。尤其是网络带宽、处理器 速度与内存带宽三者的严重"不匹配性",更加剧了网络延迟效应。
4.rdma是一种远程直接数据存取技术。作为一种远程内存访问技术,rdma能够使 计算机直接存取其他计算机的内存,而不需要经过处理器的处理。rdma将数据从一个系统 快速移动到远程系统的内存中,而不对操作系统造成任何影响。正是由于rdma通信具备上 述优点,故在越来越多的应用场景中,特别是在大数据、ai领域,当有着大量的数据远程通 信请求产生时,越来越倾向于选择基于rdma协议执行跨端数据传输。
5.然而,在这些应用场景中,不免涉标签数据(即带有标签的数据对象)的跨端通信; 这其中不仅限于原本就有着对应标签的数据对象,也包括数据对象原本无标签,而在应用执 行过程中出于某种需要被(临时或永久地)打上标签的数据对象。在现有的通信技术方案中, 基于tcp/ip通信框架一般是不关注、且在技术上也不感知涉及跨端通信的标签、数据对应的 内存地址,它们一般是通过cpu拷贝以及在操作系统内核协议栈的支持下,遵循着一定的数 据格式,逐包发送到目的主机端的,并在目的主机端解析进而实现有效通信的。但是,rdma 是“零拷贝”的技术,是绕过操作内核的;另,也缺少在此之上的数据格式支持;即便是目 的主机端接收到的数据,也仅会被视为无法识别的字节流,而无法解析识别的。
6.此外,这里的标签,特别是那些出于某个或某些特定的功能需要被通信模块以外的功 能模块生成的标签,底层通信模块更是很难感知其与数据的对应关系;同时标签往往是小的 数据,当被作为一个小的、独立的数据对象进行rdma通信时,由于rdma通信请求调用 本身是存在一定开销的,标签这种小的数据传输对象基于rdma进行传输往往是负收益的。
中获取被传输的标签、数据,以提供给目的主机端的相关应用访问或调用。
19.再一方面,本发明实施例提供一种基于rdma的标签数据传输方法,该方法应用于 计算机跨端通信系统的标签数据rdma传输,所述系统包括源主机端设备和目的主机端设 备;其中,源主机端设备用于标签数据的发送,而目的主机端设备用于标签数据的接收。
20.结合第一、第二方面,上述的基于rdma的标签数据传输方法,包括:
21.对于源主机端请求跨端传输的数据及其对应的标签,在源主机端执行第一方面述及的 发送标签数据的方法,以及在目的主机端执行第二方面述及的接收标签数据的方法。
22.又一方面,本发明实施例提供一种用于标签数据rdma传输的装置。
23.结合上述各方面,上述的装置包括:rdma网卡、处理器,和存储器;其中,所述 的存储器存储有可在所述处理器上运行的计算机程序;而所述的处理器在执行上述计算机程 序时,能够与所述rdma网卡共同执行第一方面述及的发送标签数据的方法,
24.和/或,第二方面述及的接收标签数据的方法。
25.又一方面,本发明实施例提供一种计算机网络系统。
26.结合上述各方面,上述的计算机网络系统,包括:
27.若干台(不少于两台的)第四方面述及的的装置;所述装置通过rdma网络彼此连 接;上述这些装置中,或被用于标签数据rdma报文的发送,或被用于标签数据rdma报 文的接收,或者既被用于标签数据rdma报文的发送,又被用于其他装置发来的标签数据 rdma报文的接收。
28.又一方面,本发明实施例提供一种计算机可读存储介质。
29.上述的计算机可读存储介质中存储有用于执行标签数据传输的代码,其中包括:用于 执行第一方面述及的发送标签数据的方法操作的指令,和/或,第二方面述及的接收标签数据 的方法操作的指令,或,第三方面述及的基于rdma的标签数据传输方法操作的指令。
30.上述诸实施例提供的发送标签数据的方法、接收标签数据的方法,并在此基础上的基 于rdma的标签数据传输方法,以及相关装置、计算机网络系统和计算机可读存储介质,主 要是在源主机端通过对请求跨端通信的标签、数据的内存拷贝、拼接,构造包括所述标签、 数据的rdma传输数据段和执行对所述rdma传输数据段的rdma发送,以及在目的主机 端通过所述标签、数据内存偏移量解析rdma传输数据段获取被传输的标签、数据,进而实 现标签数据中标签、数据更为广泛且简单高效地一并跨端传输。
31.下面通过附图、具体实施例对本发明的技术方案做进一步的描述。
附图说明
32.为更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明中一部分 实施例或现有技术描述中涉及的附图做简单介绍。
33.图1为本发明一些优选实施例中rdma传输数据段的组成示意图;
34.图2为本发明一优选实施例提供的一种基于rdma的标签数据传输方法的流程示意 图。
具体实施方式
35.下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述。 显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的 实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于 本发明保护的范围。
36.在现有技术中,典型的基于tcp/ip协议的计算机跨端通信框架,虽然有着诸如技术 方案成熟、既有解决方案丰富、可靠易用等优点,但面对大数据跨端传输时,却也因基于tcp/ip 协议的通信框架设计之初的固有缺陷而在大数据通信时,特别是通信高峰时,形成通信瓶颈, 影响整体系统效率。虽然,rdma作为一种远程内存访问技术,能够使计算机直接存取其他 计算机的内存,而不需要经过处理器的处理,在一定程度上克服了上述问题。但在涉标签数 据(即带有标签的数据对象)的跨端通信时,由于rdma绕过操作内核,又因此缺少像tcp/ip 通信框架那样的数据格式机制支持,故即便是目的主机端接收到的数据,也仅会被视为无法 识别的字节流,而无法解析识别的。此外,若分开通信,不仅无法保障传输过程中标签、数 据间的对应关系,且即使能够保障二者对应关系,标签这样的字节数较少的数据传输对象基 于rdma进行传输往往是负收益的(rdma通信过程中,注册内存以及其中的控制消息通 信都是存在着一定的开销的)。
37.于是,本发明提供一种发送标签数据的方法、接收标签数据的方法及相关装置,用以 实现标签数据中标签、数据更为广泛且简单高效地一并跨端传输。
38.以下为本发明的一些优选实施例。其中,
39.本发明的一些优选实施例提供一种发送标签数据的方法,该方法应用于计算机跨端通 信系统中的源主机端,具体应用于标签数据的rdma传输,其能够生成包括着标签数据(即 相互对应的标签、数据)的rdma报文,以及发送rdma报文。该方法包括:对请求跨端 传输的数据及其对应的标签,通过利用所述标签、数据构造rdma传输数据段,且对构造的 rdma传输数据段执行rdma跨端通信。其具体实现过程如下:对请求通信的数据及其对 应的标签,申请一块地址连续的空闲内存,将所述标签、数据拷贝到空闲内存进行拼接,构 造rdma传输数据段,使所述的rdma传输数据段包括前面述及的标签、数据;将构造的 rdma传输数据段对应的内存注册为rdma内存,并生产相应的rdma报文和执行rdma 报文发送。
40.在上述优选实施例中的一些中,还提供一种优选的实现方式,具体包括:通过dma 引擎申请所述的空闲内存,并通过dma引擎拷贝数据、标签到空闲内存,以用于rdma传 输数据段的构造。
41.在上述优选实施例中的一些中,还提供一种优选的实现方式,其中构造的rdma传 输数据段,如图1所示,包括:数据段头部103、标签101、数据102。而其所提供的发送标 签数据的方法,其具体实现过程则如下:对请求通信的数据102及其对应的标签101;生成 一个数据段头部103,同时申请一块与三者大小相同的且地址连续的空闲内存,将标签101 和数据102以及数据段头部103拷贝到空闲内存进行拼接,构造所述的rdma传输数据段, 并使数据段头部103占据所述rdma传输数据段前面固定的若干字段;其记录构造所述 rdma传输数据段时其中的标签、数据的内存偏移量;将所述的rdma传输数据段对应的 内存注册为rdma内存,并生成对应rdma报文以及发送所述rdma报文。如此,所述的 标签、数据的内存偏移量信息,通过所述rdma传输数据段一并发送给目的主机端,以实现 减少了额外的控制消息通
信的目的,提高整体通信效率。
42.在上述优选实施例中的一些中,其中的rdma数据传输,为单侧rdma;单侧rdma 的基本语义操作,通常包括:rdma读操作和rdma读操作两种基本语音操作方式;故这 里的rdma数据传输,可以采用rdma读操作,也可以采用rdma写操作。相较于双侧 rdma,在一次有效通信过程中,单侧rdma显然可以减少通信两端的消息交互次数,进而 提高整体通信效率。
43.本发明的另一些优选实施例提供一种接收标签数据的方法,该方法应用于计算机跨端 通信系统中的目的主机端,具体应用于标签数据的rdma传输,其能够接收包括着标签数据(即相互对应的标签、数据)的rdma报文,以及从中解析获取被传输的标签、数据。该方 法包括:
44.对于接收的标签数据,具体来说,接收其全部的rdma报文,得到完整的包括着标 签数据的数据段,即源主机端发来的rdma传输数据段;同样地,接收的rdma传输数据 段也是被存储在一块地址连续的内存中,且上述的rdma传输数据段包括:被传输的标签、 数据;
45.解析所述标签数据,也即解析所述的rdma传输数据段,具体来说,即:根据来自 源主机端的标签、数据内存偏移量获取其中的被传输的标签、数据,以提供给目的主机端的 相关应用访问或调用。
46.在上述优选实施例中的一些中,还提供一种优选的实现方式,当其接收的所述rdma 传输数据段还包括数据段头部,且所述的数据段头部占据固定的若干字段并记录构造所述 rdma传输数据段时所述标签、数据的内存偏移量时,其中解析标签数据的过程,即解析所 述rdma传输数据段的过程,其具体实现可以是:先解析所述的数据段头部,获取其中所述 的标签、数据的内存偏移量;再根据所获的标签、数据内存偏移量获取其中的被传输的标签、 数据,以提供给目的主机端的相关应用访问或调用。
47.本发明的再一些优选实施例提供一种基于rdma的标签数据传输方法,具体应用于 标签数据的rdma传输,所述系统包括源主机端设备和目的主机端设备;其中,源主机端设 备用于标签数据的发送,而目的主机端设备用于标签数据的接收。该方法包括:
48.对于源主机端请求跨端传输的数据及其对应的标签,
49.在源主机端执行上述任一实施例中述及的发送标签数据的方法,
50.以及对应地,在目的主机端执行上述任一实施例中述及的接收标签数据的方法。
51.图2为上述优选实施例中的一个提供的一种基于rdma的标签数据传输方法的流程 示意图。如图2所示,其标签数据的传输过程以数据102以及与之对应的标签101为例,包 括:
52.在源主机端,
53.s101构造对应标签数据的rdma传输数据段:
54.申请一块地址连续的空闲内存;将标签101、数据102拷贝到空闲内存拼接,并生成 一个固定字节数的数据段头部103,使数据段头部103在标签101、数据102之前,并记录标 签101、数据102在所述rdma传输数据段的内存偏移量信息;
55.s102将上述内存(即对应rdma传输数据段的内存)注册为rdma内存;
56.s103生成相应的标签数据的rdma报文;
57.s104并发送所述rdma报文;
58.在目的主机端,
59.s201接收全部的rdma报文,获取包括着数据段头部103、标签101、数据102的 标签数据的数据段,即源主机端发送的rdma传输数据段;
60.s202遍历解析数据段头部,从中获取所述rdma传输数据段中标签101、数据102 的内存偏移量;
61.s203根据上述的标签101、数据102的内存偏移量,从所述rdma传输数据段中解 析获取标签101、数据102,以提供给目的主机端的相关应用访问或调用。
62.需要强调的是,本发明提供的方法在构造所述rdma传输数据段时,包括但不仅限 于本段中前面所述实施例中的所述标签在所述数据前的情形。
63.本发明的又一些优选实施例提供一种装置,该装置包括:rdma网卡、处理器,和 存储器;其中,所述的存储器存储有可在所述处理器上运行的计算机程序;而所述的处理器 在执行上述计算机程序时,能够与所述rdma网卡共同执行上述任一实施例述及的发送标签 数据的方法,和/或接收标签数据的方法。
64.本发明的又一些优选实施例提供一种计算机网络系统,该系统包括:若干台(不少于 两台)上述任一实施例述及的装置;而它们通过rdma网络彼此连接;其中,这些装置或被 用于标签数据rdma报文的发送(即作为源主机端),或被用于标签数据rdma报文的接收 (即作为目的主机端),或者既被用于标签数据rdma报文的发送,又被用于其他装置发来 的标签数据rdma报文的接收。
65.本发明的又一些优选实施例提供一种计算机可读存储介质,该计算机可读存储介质中 存储有用于执行标签数据传输的代码,其中包括:用于执行上述任一实施例述及的发送标签 数据的方法操作的指令,和/或,上述任一实施例述及的接收标签数据的方法操作的指令,或, 上述任一实施例述及的基于rdma的标签数据传输方法操作的指令。
66.此外,需要强调的是,上述各实施例中所述及的内存,包括但不仅限于狭义上的内存 (即计算机系统中内存卡提供的内存),也包括显卡的内存(通常被简称为显存)等。
67.以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献