掌桥专利:专业的专利平台
掌桥专利
首页

一种低延迟的数据传输方法和装置

文献发布时间:2023-06-19 12:10:19


一种低延迟的数据传输方法和装置

技术领域

本发明实施例涉及计算机技术领域,尤其涉及一种低延迟的数据传输方法和装置。

背景技术

当前网络环境相当复杂,当一个数据包经过流量运营商的交换机和路由器处理时,由于运营商设置的限制以及路由器性能等诸多因素的影响,会导致数据包在传输的过程中优先级被降低,从而导致数据传输的延迟增加。

发明内容

本发明提供一种低延迟的数据传输方法和装置,以有效的筛选出优先级高的数据包,提高数据传输过程中的时效性。

第一方面,本发明实施例提供了一种低延迟的数据传输方法,包括:

采用加权公平队列,对待传输的数据流进行排队;

基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,并对所述目标数据包进行转发。

可选的,所述基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,包括:

利用最速下降法求解函数

根据a和b对应的值从队列中的数据流中筛选出优先级最高的目标数据包;

其中,a表示数据包的源IP,b表示数据包的源端口。

可选的,所述方法还包括:基于卡方检验,通过计算统计量

其中,自变量A为数据包的源IP,有N种取值;因变量B为数据包的源端口,有M种取值,且N,M均为大于0的正整数。

可选的,所述方法还包括:

计算队列中每个待传输的数据流进入队列所需要的入队时间,并从所述入队时间中确定最大入队时间。

可选的,所述方法还包括:

给队列中的每个数据包设置相应的过期时间;

当有新的数据包被传进队列中时,获取所述新的数据包的入队时间;

若所述新的数据包的入队时间大于或等于所述最大入队时间,则该新的数据包被自动放弃;

若所述新的数据包的入队时间小于所述最大入队时间,则将所述新的数据包加入队列并且将所述最大入队时间对应的数据包从队列中删除。

第二方面,本发明实施例还提供了一种低延迟的数据传输装置,包括:

排队模块,用于采用加权公平队列,对待传输的数据流进行排队;

转发模块,用于基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,并对所述目标数据包进行转发。

可选的,所述转发模块具体用于:

利用最速下降法求解函数

根据a和b对应的值从队列中的数据流中筛选出优先级最高的目标数据包;

其中,a表示数据包的源IP,b表示数据包的源端口。

可选的,所述装置还包括:

相关性验证模块,用于基于卡方检验,通过计算统计量

其中,自变量A为数据包的源IP,有N种取值;因变量B为数据包的源端口,有M种取值,且N,M均为大于0的正整数。

可选的,所述装置还包括入队时间计算模块,用于:

用于计算队列中每个待传输的数据流进入队列所需要的入队时间,并从所述入队时间中确定最大入队时间。

可选的,所述装置还包括数据包处理模块,用于:

给队列中的每个数据包设置相应的过期时间;

当有新的数据包被传进队列中时,获取所述新的数据包的入队时间;

若所述新的数据包的入队时间大于或等于所述最大入队时间,则该新的数据包被自动放弃;

若所述新的数据包的入队时间小于所述最大入队时间,则将所述新的数据包加入队列并且将所述最大入队时间对应的数据包从队列中删除。

本发明的有益效果是:本发明通过对待传输的数据流进行排队,基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,并对所述目标数据包进行转发。与现有技术相比,本发明基于数据流和历史经验模型,联立实时状态来找出数据包中优先级高的信息并进行优先转发,克服了现有传输协议中无法针对不同优先级的TCP/UDP链路进行有效筛选,以至于数据包在经过层层交换后无法达到理想的传输效果,从而造成网络延时大的缺点。

附图说明

图1为本发明实施例一提供的一种低延时的数据传输方法的流程图;

图2是本发明实施例一提供的一种数据传输过程图;

图3为本发明实施例二提供的一种低延迟的数据传输装置的功能模块图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一图1为本发明实施例一提供的一种低延时的数据传输方法的流程图,本实施例可适用于对数据进行传输的情况,该方法可以由一种低延时的数据传输装置来执行,具体包括如下步骤:

S110、采用加权公平队列,对待传输的数据流进行排队。

其中,加权公平队列(Weighted Fair Queuing,WFQ)是一种拥塞管理算法,该算法识别对话(以数据流的形式)、分开属于各个对话的分组,并确保传输容量被这些独立的对话公平地分享。

本实施例中,数据流要经过两次传输,具体参见图2,分别是从客户端转发至代理服务器,再从代理服务器转发到目标服务器。在客户端与代理服务器之间,以及在代理服务器与目标服务器之间,分别会形成两个实时的数据队列。数据流在进入队列时,利用WFQ对数据流进行排队。

具体的,本实施例中按照数据流的不同来分不同的类,区分不同流的五元组为:①源IP、②目标IP、③源端口号、④目标端口号、⑤协议。

WFQ根据流对报文进行动态分类,在报文达到接口后,首先对报文进行分类,不同的数据流分入不同的队列。WFQ主要根据数据流的优先级以及五元组中的源端口号对数据流进行排序,根据数据流的优先级来调整对应的源端口号,从而将优先级高的数据流排在队列的前端。在出队的时候,WFQ按数据流的权重分配每个流应占的带宽。权重数值越小,所得的带宽越少。权重数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。

进一步的,所述方法还包括:计算队列中每个待传输的数据流进入队列所需要的入队时间,并从所述入队时间中确定最大入队时间。

具体的,数据流在从客户端进入代理服务器和从代理服务器进入目标服务器时,路由器和代理服务器会对数据包分别进行哈希计算,哈希相同的为同种数据流,计算每个数据流进入队列完成时间所需要的入队时间FT,并将数据流对应的放入队列中,FT值最小的数据包将优先被代理服务器转发,包越小则FT值越小,此时就会得到优先的转发,从总体意义上来说包越小会越优先调出队列。

WFQ在调度时首先传输权重小的分组,包的尺寸越小,其权重也就越小。所以小尺寸的包往往被优先转发。对于有优先级的包的处理,要计算其权重的时候往往使用其虚拟包大小进行计算。

W=1/(IP P+1)

其中,W为权重值,P为入队时间FT,此时计算FT值使用虚拟包长,所以优先级越大,FT值越小,权重就越小,越优先得到得到转发,为了让虚拟包长为整倍数值,以防除不尽,所以要将实际包长乘以8的公倍数。

由于数据流中对应的源端口号和源IP分别有很多,需要验证源IP对源端口的相关性。具体的,本实施例基于卡方检验,验证自变量对因变量的相关性,假设自变量A(源IP)有N种取值,因变量B(源端口号)有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:

步骤120、基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,并对所述目标数据包进行转发。

具体的,所述基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,包括:利用最速下降法求解函数

TCP的源端口一共可用的端口就是65536个,端口号是从保留端口0开始(使用0端口会分配一个随机端口),实际可用的端口范围是1-65535,在我们的系统中,有很多的保留端口,如HTTP的80,SSH的22等等,这些端口都是特定协议的特定端口。当我们从本机访问服务器时,系统会随机分配一个端口。

因为需要采用非常严格的方式选择源端口,只要有可能四元组冲突,就不能分配。利用最速下降法求解下列函数极小值:

其中,a表示数据包的源IP,b表示数据包的源端口。数据流的传输是实时的,数据流从客户端发送至代理服务器,以及从代理服务器发送至目标服务器的过程中,依照上述方法实时的将数据流中优先级最高的信息优先转发到代理服务器和目标服务器,以根据优先级实现对数据的筛选,从而避免数据传输过程中的延时。

本发明实施例根据队列中数据包优劣情况,分配给目标最优化的IP,从而完成一种高效的低延迟线路筛选及分配。此外,本发明还提升了传统服务器分配过程中容易出现的延迟过大、数据流筛选困难等问题,起到了提升连接质量和稳定性的作用。

本发明实施例通过对待传输的数据流进行排队,基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,并对所述目标数据包进行转发。与现有技术相比,本发明基于数据流和历史经验模型,联立实时状态来找出数据包中优先级够的信息,克服了现有传输协议中无法针对不同优先级的TCP/UDP链路进行有效筛选,以至于数据包在经过层层交换后无法达到理想的传输效果,从而造成网络延时大的缺点。

在上述技术方案的基础上,所述方法还包括:给队列中的每个数据包设置相应的过期时间;当有新的数据包被传进队列中时,获取所述新的数据包的入队时间;

若所述新的数据包的入队时间大于或等于所述最大入队时间,则该新的数据包被自动放弃;若所述新的数据包的入队时间小于所述最大入队时间,则将所述新的数据包加入队列并且将所述最大入队时间对应的数据包从队列中删除。基于上述数据包的处理方式,来保证队列中数据包源的质量。

实施例二

图3为本发明实施例二提供的一种低延迟的数据传输装置的功能模块图。该装置包括排队模块310和转发模块320。

其中,排队模块310,用于采用加权公平队列,对待传输的数据流进行排队;

转发模块320,用于基于最速下降法,实时的从队列中的数据流中筛选出优先级最高的目标数据包,并对所述目标数据包进行转发。

可选的,所述转发模块320具体用于:

利用最速下降法求解函数

根据a和b对应的值从队列中的数据流中筛选出优先级最高的目标数据包;

其中,a表示数据包的源IP,b表示数据包的源端口。

进一步的,所述装置还包括:相关性验证模块,用于基于卡方检验,通过计算统计量

其中,自变量A为数据包的源IP,有N种取值;因变量B为数据包的源端口,有M种取值,且N,M均为大于0的正整数。

所述装置还包括入队时间计算模块,用于:

用于计算队列中每个待传输的数据流进入队列所需要的入队时间,并从所述入队时间中确定最大入队时间。

所述装置还包括数据包处理模块,用于:

给队列中的每个数据包设置相应的过期时间;

当有新的数据包被传进队列中时,获取所述新的数据包的入队时间;

若所述新的数据包的入队时间大于或等于所述最大入队时间,则该新的数据包被自动放弃;

若所述新的数据包的入队时间小于所述最大入队时间,则将所述新的数据包加入队列并且将所述最大入队时间对应的数据包从队列中删除。

本发明实施例所提供的一种低延迟的数据传输装置可执行本发明任意实施例所提供的一种低延迟的数据传输方法,具备执行方法相应的功能模块和有益效果,不再进行赘述。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 一种低延迟的数据传输方法和装置
  • 一种低延迟PCIE DMA数据传输方法及控制器
技术分类

06120113191972