节点间数据传输方法、装置、设备及计算机可读存储介质与流程

文档序号:20677360发布日期:2020-05-08 18:00阅读:153来源:国知局
节点间数据传输方法、装置、设备及计算机可读存储介质与流程

本发明涉及分布式存储技术领域,特别是涉及一种节点间数据传输方法、装置、设备及计算机可读存储介质。



背景技术:

随着分布式存储技术的发展,分布式存储是将数据分散存储在多台独立的设备上。解决了传统的网络存储系统采用集中的计算机节点存放所有数据,计算机节点成为系统性能的瓶颈,不能满足大规模存储应用的需要的缺陷。分布式存储系统采用可扩展的系统结构,利用多台计算机节点分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。由于分布式存储系统是利用多台计算机节点分担存储负荷,数据在各计算机节点间的传输对系统性能存在较大影响。

现有的分布式存储系统中任意两节点间的数据传输方式为将两节点间的非透明传输桥(ntb,non-transparentbridge)的带宽任意划分为多个队列,基于优先队列(pq,proiorityqueueing)的方式进行数据传输。易发生因数据之间争夺带宽,导致数据传输失败的现象,且不能对非透明传输桥的带宽进行充分利用,造成带宽浪费,数据传输效率低。

综上所述,如何有效地解决易导致数据传输失败,造成带宽浪费,数据传输效率低等问题,是目前本领域技术人员急需解决的问题。



技术实现要素:

本发明的目的是提供一种节点间数据传输方法,该方法保证了对数据的正常传输,实现了对非透明传输桥的带宽进行充分利用,较大地提高了数据传输效率;本发明的另一目的是提供一种节点间数据传输装置、设备及计算机可读存储介质。

为解决上述技术问题,本发明提供如下技术方案:

一种节点间数据传输方法,包括:

获取两目标节点间的待传输数据;

对各所述待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;

将所述低延时数据组发送到各低延时队列进行传输,并将所述带宽保证数据组发送到各带宽保证队列进行传输;其中,各所述低延时队列和各所述带宽保证队列为通过对两所述目标节点间的非透明传输桥进行带宽划分得到;

判断各所述低延时队列和/或各所述带宽保证队列中是否存在空闲带宽;

若是,则利用所述空闲带宽对所述等待传送数据组进行传输。

在本发明的一种具体实施方式中,在判断各所述低延时队列和各所述带宽保证队列中是否存在空闲带宽之前,还包括:

检测是否存在空闲的低延时队列和/或带宽保证队列;

若是,则将空闲的低延时队列和/或带宽保证队列确定为目标队列,并按除所述目标队列之外的各队列的带宽比例关系将所述目标队列的带宽划分给各所述低延时队列和各所述带宽保证队列。

在本发明的一种具体实施方式中,将所述低延时数据组发送到各低延时队列进行传输,包括:

获取两所述目标节点间的信息响应时长;

根据所述信息响应时长确定所述低延时数据组的目标数据传输速率;

将所述低延时数据组发送到各所述低延时队列按所述目标数据传输速率进行传输。

在本发明的一种具体实施方式中,将所述带宽保证数据组发送到各带宽保证队列进行传输,包括:

将所述带宽保证数据组发送到各所述带宽保证队列按照先进先出队列调度算法进行传输。

在本发明的一种具体实施方式中,对两所述目标节点间的非透明传输桥进行带宽划分得到各所述低延时队列和各所述带宽保证队列的划分过程,包括:

获取预存的低延时数据组和带宽保证数据组的数据量大小比例;

按照所述数据量大小比例对两所述目标节点间的非透明传输桥进行带宽划分,得到各所述低延时队列和各所述带宽保证队列。

一种节点间数据传输装置,包括:

数据获取模块,用于获取两目标节点间的待传输数据;

数据分类模块,用于对各所述待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;

第一数据传输模块,用于将所述低延时数据组发送到各低延时队列进行传输,并将所述带宽保证数据组发送到各带宽保证队列进行传输;其中,各所述低延时队列和各所述带宽保证队列为通过对两所述目标节点间的非透明传输桥进行带宽划分得到;

判断模块,用于判断各所述低延时队列和/或各所述带宽保证队列中是否存在空闲带宽;

第二数据传输模块,用于当确定各所述低延时队列和/或各所述带宽保证队列中存在空闲带宽时,利用所述空闲带宽对所述等待传送数据组进行传输。

在本发明的一种具体实施方式中,还包括:

队列检测模块,用于在判断各所述低延时队列和各所述带宽保证队列中是否存在空闲带宽之前,检测是否存在空闲的低延时队列和/或带宽保证队列;

带宽划分模块,用于当确定检测到存在空闲的低延时队列和/或带宽保证队列时,将空闲的低延时队列和/或带宽保证队列确定为目标队列,并按除所述目标队列之外的各队列的带宽比例关系将所述目标队列的带宽划分给各所述低延时队列和各所述带宽保证队列。

在本发明的一种具体实施方式中,所述第一数据传输模块包括低延时数据组传输子模块,所述低延时数据组传输子模块包括:

响应时长获取单元,用于获取两所述目标节点间的信息响应时长;

传输效率确定单元,用于根据所述信息响应时长确定所述低延时数据组的目标数据传输速率;

低延时数据组传输单元,用于将所述低延时数据组发送到各所述低延时队列按所述目标数据传输速率进行传输。

一种节点间数据传输设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前所述节点间数据传输方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述节点间数据传输方法的步骤。

应用本发明实施例所提供的方法,获取两目标节点间的待传输数据;对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输;其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到;判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽;若是,则利用空闲带宽对等待传送数据组进行传输。通过将待传输数据进行分类处理,并将两目标节点间的非透明传输桥的带宽根据需要划分给分类得到的各数据组对应的队列,从而保证了对数据的正常传输,且通过对空闲带宽的充分利用,避免了带宽浪费,实现了对非透明传输桥的带宽进行充分利用,较大地提高了数据传输效率。

相应的,本发明实施例还提供了与上述节点间数据传输方法相对应的节点间数据传输装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中节点间数据传输方法的一种实施流程图;

图2为本发明实施例中节点间数据传输方法的另一种实施流程图;

图3为本发明实施例中一种节点间数据传输装置的结构框图;

图4为本发明实施例中一种节点间数据传输设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,图1为本发明实施例中节点间数据传输方法的一种实施流程图,该方法可以包括以下步骤:

s101:获取两目标节点间的待传输数据。

在分布式存储系统中两目标节点需要进行数据交互时,可以获取两目标节点间的待传输数据。待传输数据可以包括心跳数据,io数据流,节点间控制信息流等数据。

两目标节点可以为分布式存储系统中任意两个建立有数据交互通信连接的节点。

s102:对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组。

可以预先设置对两目标节点间的待传输数据进行数据组划分的划分规则,如可以根据对待传输数据的传输速度要求、传输可靠性要求,预先设定将待传输数据可划分为的数据包括低延时数据组、带宽保证数据组、以及等待传送数据组。在获取两目标节点间的待传输数据之后,可以对待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组。如可以将卷映射,卷拷贝,快照等作为快速转发业务的数据划分为低延时数据组,将两目标节点间的节点控制信息流划分为带宽保证数据组,将两节点的心跳数据划分为等待传送数据组。

s103:将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输。

其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到。

可以预先对两目标节点间的非透明传输桥进行带宽划分,得到各低延时队列和各带宽保证队列。当通过对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组之后,将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输。通过基于类的队列(cbq,class-basedqueuing)对待传输数据进行传输,较大地提高了数据传输速率。

s104:判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽,若是,则执行步骤s105,若否,则对等待传送数据组进行缓存操作。

由于不同时段低延时数据组和带宽保证数据组中的数据量不定,因此各低延时队列和各带宽保证队列可能存储空闲带宽,即除用于传输低延时数据组和带宽保证数据组之外的剩余带宽,如可能仅是存在低延时队列中有空闲带宽,也可能仅是存在带宽保证队列中有空闲带宽,还可能是既存在低延时队列中有空闲带宽,也存在带宽保证队列中有空闲带宽。在将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输之后,判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽,若存在,则说明确实存在空闲带宽,在这种情况下,可以执行步骤s105,若不存在,则说明各低延时队列和各带宽保证队列均已被占用,在这种情况下,可以对等待传送数据组进行缓存操作,当后续检测到存在空闲带宽之后,再将缓存的各等待传送数据组进行依次传输。

s105:利用空闲带宽对等待传送数据组进行传输。

在确定各低延时队列和/或各带宽保证队列中存在空闲带宽之后,即在确定仅是存在低延时队列中有空闲带宽,或仅是存在带宽保证队列中有空闲带宽,或既存在低延时队列中有空闲带宽,也存在带宽保证队列中有空闲带宽之后,可以利用空闲带宽对等待传送数据组进行传输,从而使得两目标节点间非透明传输桥的带宽得到最大化利用,避免了带宽浪费。

应用本发明实施例所提供的方法,获取两目标节点间的待传输数据;对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输;其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到;判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽;若是,则利用空闲带宽对等待传送数据组进行传输。通过将待传输数据进行分类处理,并将两目标节点间的非透明传输桥的带宽根据需要划分给分类得到的各数据组对应的队列,从而保证了对数据的正常传输,且通过对空闲带宽的充分利用,避免了带宽浪费,实现了对非透明传输桥的带宽进行充分利用,较大地提高了数据传输效率。

需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。

实施例二:

参见图2,图2为本发明实施例中节点间数据传输方法的另一种实施流程图,该方法可以包括以下步骤:

s201:获取两目标节点间的待传输数据。

s202:对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组。

s203:获取两目标节点间的信息响应时长。

因为两目标节点间的非透明传输桥的带宽有限,当两目标节点间数据交互量较大时,数据交互的响应速度会有所降低,从而使得两目标节点间的信息响应时长增大,因此在对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组之后,可以获取两目标节点间的信息响应时长,如可以通过多次测试请求发送与信息响应的时长,以此来计算平均时长,将平均时长确定为两目标节点间的信息响应时长。

s204:根据信息响应时长确定低延时数据组的目标数据传输速率。

在获取两目标节点间的信息响应时长之后,可以根据信息响应时长确定低延时数据组的目标数据传输速率。

s205:将低延时数据组发送到各低延时队列按目标数据传输速率进行传输。

其中,各低延时队列和各带宽保证队列为按照预存的低延时数据组和带宽保证数据组的数据量大小比例,对两目标节点间的非透明传输桥进行带宽划分得到。

可以预先对两目标节点之间需要进行交互的低延时数据组和带宽保证数据组的数据量进行总结,得到低延时数据组和带宽保证数据组的数据量大小比例,从而按照预存的低延时数据组和带宽保证数据组的数据量大小比例,对两目标节点间的非透明传输桥进行带宽划分得到各低延时队列和各带宽保证队列。

在确定低延时数据组的目标数据传输速率之后,将低延时数据组发送到各低延时队列按目标数据传输速率进行传输,从而达到对低延时数据组进行限速,避免非透明传输桥拥塞,提升低延时数据组传输的可靠性。

s206:将带宽保证数据组发送到各带宽保证队列按照先进先出队列调度算法进行传输。

在对各待传输数据进行分类得到带宽保证数据组,并预先按照预存的低延时数据组和带宽保证数据组的数据量大小比例,对两目标节点间的非透明传输桥进行带宽划分得到各低延时队列和各带宽保证队列之后,可以将带宽保证数据组发送到各带宽保证队列按照先进先出队列调度算法进行传输。

s207:检测是否存在空闲的低延时队列和/或带宽保证队列,若是,则执行步骤s208,若否,则跳过s208,直接执行步骤s209。

在将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输之后,可能由于低延时数据组的数据量较小,使得存在低延时队列空闲,或者由于带宽保证数据组的数据量较小,使得存在带宽保证队列空闲,或者由于低延时数据组和带宽保证数据组的数据量均较小,使得既存在低延时队列空闲,也存在带宽保证队列空闲。

s208:将空闲的低延时队列和/或带宽保证队列确定为目标队列,并按除目标队列之外的各队列的带宽比例关系将目标队列的带宽划分给各低延时队列和各带宽保证队列。

在确定存在空闲的低延时队列和/或带宽保证队列之后,将空闲的低延时队列和/或带宽保证队列确定为目标队列。即在确定仅存在低延时队列空闲之后,将空闲的低延时队列空闲确定为目标队列;在确定仅存在带宽保证队列空闲之后,将空闲的带宽保证队列确定为目标队列;在确定既存在低延时队列空闲,也存在带宽保证队列空闲之后,将空闲的低延时队列空闲和空闲的带宽保证队列均确定为目标队列。在确定出目标队列之后,按除目标队列之外的各队列的带宽比例关系将目标队列的带宽划分给各低延时队列和各带宽保证队列。

s209:判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽,若是,则执行步骤s210,若否,则对等待传送数据组进行缓存操作。

s210:利用空闲带宽对等待传送数据组进行传输。

相应于上面的方法实施例,本发明实施例还提供了一种节点间数据传输装置,下文描述的节点间数据传输装置与上文描述的节点间数据传输方法可相互对应参照。

参见图3,图3为本发明实施例中一种节点间数据传输装置的结构框图,该装置可以包括:

数据获取模块31,用于获取两目标节点间的待传输数据;

数据分类模块32,用于对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;

第一数据传输模块33,用于将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输;其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到;

判断模块34,用于判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽;

第二数据传输模块35,用于当确定各低延时队列和/或各带宽保证队列中存在空闲带宽时,利用空闲带宽对等待传送数据组进行传输。

应用本发明实施例所提供的装置,获取两目标节点间的待传输数据;对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输;其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到;判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽;若是,则利用空闲带宽对等待传送数据组进行传输。通过将待传输数据进行分类处理,并将两目标节点间的非透明传输桥的带宽根据需要划分给分类得到的各数据组对应的队列,从而保证了对数据的正常传输,且通过对空闲带宽的充分利用,避免了带宽浪费,实现了对非透明传输桥的带宽进行充分利用,较大地提高了数据传输效率。

在本发明的一种具体实施方式中,该装置还可以包括:

队列检测模块,用于在判断各低延时队列和各带宽保证队列中是否存在空闲带宽之前,检测是否存在空闲的低延时队列和/或带宽保证队列;

带宽划分模块,用于当确定检测到存在空闲的低延时队列和/或带宽保证队列时,将空闲的低延时队列和/或带宽保证队列确定为目标队列,并按除目标队列之外的各队列的带宽比例关系将目标队列的带宽划分给各低延时队列和各带宽保证队列。

在本发明的一种具体实施方式中,第一数据传输模块33包括低延时数据组传输子模块,低延时数据组传输子模块包括:

响应时长获取单元,用于获取两目标节点间的信息响应时长;

传输效率确定单元,用于根据信息响应时长确定低延时数据组的目标数据传输速率;

低延时数据组传输单元,用于将低延时数据组发送到各低延时队列按目标数据传输速率进行传输。

在本发明的一种具体实施方式中,第一数据传输模块33包括带宽保证数据组传输子模块,

带宽保证数据组传输子模块具体为将带宽保证数据组发送到各带宽保证队列按照先进先出队列调度算法进行传输的模块。

在本发明的一种具体实施方式中,该装置包括队列获得模块,队列获得模块包括:

数据量比例获得子模块,用于获取预存的低延时数据组和带宽保证数据组的数据量大小比例;

队列获得子模块,用于按照数据量大小比例对两目标节点间的非透明传输桥进行带宽划分,得到各低延时队列和各带宽保证队列。

相应于上面的方法实施例,参见图4,图4为本发明所提供的节点间数据传输设备的示意图,该设备可以包括:

存储器41,用于存储计算机程序;

处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:

获取两目标节点间的待传输数据;对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输;其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到;判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽;若是,则利用空闲带宽对等待传送数据组进行传输。

对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。

相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

获取两目标节点间的待传输数据;对各待传输数据进行分类,得到低延时数据组、带宽保证数据组、以及等待传送数据组;将低延时数据组发送到各低延时队列进行传输,并将带宽保证数据组发送到各带宽保证队列进行传输;其中,各低延时队列和各带宽保证队列为通过对两目标节点间的非透明传输桥进行带宽划分得到;判断各低延时队列和/或各带宽保证队列中是否存在空闲带宽;若是,则利用空闲带宽对等待传送数据组进行传输。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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