本发明专利技术提供一种发送标签数据的方法、接收标签数据的方法及相关装置其中涉及的发送标签数据的方法、接收标签数据的方法,并在此基础上的基于RDMA的标签数据传输方法,以及相关装置、计算机网络系统和计算机可读存储介质,主要是在源主机端通过对请求跨端通信的标签、数据的内存拷贝、拼接,构造包括所述标签、数据的RDMA传输数据段和执行对所述RDMA传输数据段的RDMA发送,以及在目的主机端通过所述标签、数据内存偏移量解析RDMA传输数据段获取被传输的标签、数据,进而实现标签数据中标签、数据更为广泛且简单高效地一并跨端传输。据更为广泛且简单高效地一并跨端传输。据更为广泛且简单高效地一并跨端传输。
【技术实现步骤摘要】
一种发送标签数据的方法、接收标签数据的方法及相关装置
[0001]本专利技术涉及计算机通信
,具体地,涉及一种发送标签数据的方法、接收标签 数据的方法及相关装置。
技术介绍
[0002]随着电子信息技术的发展,越来越多的电子计算机服务被广泛提供给人们的生产生活 活动。然而,单台计算机设备能够提供服务的能力毕竟有限;故现在越来越多的计算机服务, 特别是功能强大的计算机服务,是通过若干台计算机设备构成的计算机集群实现的。不同的 计算机设备通过网络连接构成服务器集群,进而为人们提供各种形式的计算机服务。在对外 提供服务时,不免涉及跨计算机设备终端间的调用和数据交互,即计算机间的跨端数据通信。 而计算机设备间的跨端通信,通常都是在TCP/IP协议支持下实现的。
[0003]然而,传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需 要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存 之间来回进行复制移动,给服务器的CPU和内存造成了沉重负担。尤其是网络带宽、处理器 速度与内存带宽三者的严重"不匹配性",更加剧了网络延迟效应。
[0004]RDMA是一种远程直接数据存取技术。作为一种远程内存访问技术,RDMA能够使 计算机直接存取其他计算机的内存,而不需要经过处理器的处理。RDMA将数据从一个系统 快速移动到远程系统的内存中,而不对操作系统造成任何影响。正是由于RDMA通信具备上 述优点,故在越来越多的应用场景中,特别是在大数据、AI领域,当有着大量的数据远程通 信请求产生时,越来越倾向于选择基于RDMA协议执行跨端数据传输。
[0005]然而,在这些应用场景中,不免涉标签数据(即带有标签的数据对象)的跨端通信; 这其中不仅限于原本就有着对应标签的数据对象,也包括数据对象原本无标签,而在应用执 行过程中出于某种需要被(临时或永久地)打上标签的数据对象。在现有的通信技术方案中, 基于TCP/IP通信框架一般是不关注、且在技术上也不感知涉及跨端通信的标签、数据对应的 内存地址,它们一般是通过CPU拷贝以及在操作系统内核协议栈的支持下,遵循着一定的数 据格式,逐包发送到目的主机端的,并在目的主机端解析进而实现有效通信的。但是,RDMA 是“零拷贝”的技术,是绕过操作内核的;另,也缺少在此之上的数据格式支持;即便是目 的主机端接收到的数据,也仅会被视为无法识别的字节流,而无法解析识别的。
[0006]此外,这里的标签,特别是那些出于某个或某些特定的功能需要被通信模块以外的功 能模块生成的标签,底层通信模块更是很难感知其与数据的对应关系;同时标签往往是小的 数据,当被作为一个小的、独立的数据对象进行RDMA通信时,由于RDMA通信请求调用 本身是存在一定开销的,标签这种小的数据传输对象基于RDMA进行传输往往是负收益的。
中获取被传输的标签、数据,以提供给目的主机端的相关应用访问或调用。
[0019]再一方面,本专利技术实施例提供一种基于RDMA的标签数据传输方法,该方法应用于 计算机跨端通信系统的标签数据RDMA传输,所述系统包括源主机端设备和目的主机端设 备;其中,源主机端设备用于标签数据的发送,而目的主机端设备用于标签数据的接收。
[0020]结合第一、第二方面,上述的基于RDMA的标签数据传输方法,包括:
[0021]对于源主机端请求跨端传输的数据及其对应的标签,在源主机端执行第一方面述及的 发送标签数据的方法,以及在目的主机端执行第二方面述及的接收标签数据的方法。
[0022]又一方面,本专利技术实施例提供一种用于标签数据RDMA传输的装置。
[0023]结合上述各方面,上述的装置包括:RDMA网卡、处理器,和存储器;其中,所述 的存储器存储有可在所述处理器上运行的计算机程序;而所述的处理器在执行上述计算机程 序时,能够与所述RDMA网卡共同执行第一方面述及的发送标签数据的方法,
[0024]和/或,第二方面述及的接收标签数据的方法。
[0025]又一方面,本专利技术实施例提供一种计算机网络系统。
[0026]结合上述各方面,上述的计算机网络系统,包括:
[0027]若干台(不少于两台的)第四方面述及的的装置;所述装置通过RDMA网络彼此连 接;上述这些装置中,或被用于标签数据RDMA报文的发送,或被用于标签数据RDMA报 文的接收,或者既被用于标签数据RDMA报文的发送,又被用于其他装置发来的标签数据 RDMA报文的接收。
[0028]又一方面,本专利技术实施例提供一种计算机可读存储介质。
[0029]上述的计算机可读存储介质中存储有用于执行标签数据传输的代码,其中包括:用于 执行第一方面述及的发送标签数据的方法操作的指令,和/或,第二方面述及的接收标签数据 的方法操作的指令,或,第三方面述及的基于RDMA的标签数据传输方法操作的指令。
[0030]上述诸实施例提供的发送标签数据的方法、接收标签数据的方法,并在此基础上的基 于RDMA的标签数据传输方法,以及相关装置、计算机网络系统和计算机可读存储介质,主 要是在源主机端通过对请求跨端通信的标签、数据的内存拷贝、拼接,构造包括所述标签、 数据的RDMA传输数据段和执行对所述RDMA传输数据段的RDMA发送,以及在目的主机 端通过所述标签、数据内存偏移量解析RDMA传输数据段获取被传输的标签、数据,进而实 现标签数据中标签、数据更为广泛且简单高效地一并跨端传输。
[0031]下面通过附图、具体实施例对本专利技术的技术方案做进一步的描述。
附图说明
[0032]为更加清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对本专利技术中一部分 实施例或现有技术描述中涉及的附图做简单介绍。
[0033]图1为本专利技术一些优选实施例中RDMA传输数据段的组成示意图;
[0034]图2为本专利技术一优选实施例提供的一种基于RDMA的标签数据传输方法的流程示意 图。
具体实施方式
[0035]下面结合本专利技术实施例的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。 显然,所描述的实施例仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的 实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于 本专利技术保护的范围。
[0036]在现有技术中,典型的基于TCP/IP协议的计算机跨端通信框架,虽然有着诸如技术 方案成熟、既有解决方案丰富、可靠易用等优点,但面对大数据跨端传输时,却也因基于TCP/IP 协议的通信框架设计之初的固有缺陷而在大数据通信时,特别是通信高峰时,形成通信瓶颈, 影响整体系统效率。虽然,RDMA作为一种远程内存访问技术,能够使计算机直接存取其他 计算机的内存,而不需要经过处理器的处理,在一定程度上克服了上述问题。但在涉标签数 据(即带有标签的数据对象)的跨端通信时,由于RDMA绕过操作内核,又因此缺少像TCP/IP 通信框架那样的数据格式机制支持,故即本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种发送标签数据的方法,所述方法应用于源主机端的标签数据RDMA传输,其特征在于,所述方法包括:对于任一请求跨端传输的数据及其对应的标签,将所述的数据、标签拷贝到一块地址连续的内存中,并拼接二者构造RDMA传输数据段;所述的RDMA传输数据段包括:所述的标签、数据;将所述的RDMA传输数据段所对应的内存注册为RDMA内存;生成所述标签数据的RDMA报文;并发送所述RDMA报文;以及向目的主机端发送所述的RDMA传输数据段中标签、数据的内存偏移量信息。2.根据权利要求1所述的发送标签数据方法,其特征在于,所述方法包括:通过DMA引擎申请所述的地址连续的内存,并执行所述数据、标签的拷贝、拼接。3.根据权利要求1所述的发送标签数据方法,其特征在于,所述方法包括:构造的所述RDMA传输数据段,还包括:数据段头部;所述的数据段头部占据固定的若干字段;其记录信息包括:构造所述RDMA传输数据段时所述标签、数据的内存偏移量;而所述的标签、数据的内存偏移量信息,则通过所述RDMA传输数据段一并发送给目的主机端。4.根据权利要求3所述的发送标签数据方法,其特征在于,所述方法包括:所述的RDMA数据传输,为单侧RDMA;其中包括:读操作或写操作。5.一种接收标签数据的方法,所述方法应用于目的主机端的标签数据RDMA传输,其特征在于,所述方法包括:对于任一接收的标签数据,接收其全部的RDMA报文,得到完整的所述标签数据;其中,所述标签数据,即源主机端发来的RDMA传输数据段;所述的RDMA传输数据段包括:被传输的标签、数据;解析所述标签数据:根据来自源主机端的标签、数据内存偏移量获取其中的被传输的标签、数据。6.根据权...
【专利技术属性】
技术研发人员:陈凯,张翔宇,张曼妮,李杨,孙军欢,
申请(专利权)人:深圳致星科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。