一种数据包组块传输方法及系统的制作方法
【专利摘要】本发明提供一种数据包组块传输方法,包括接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长T1;根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2;将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据T1和T2进行排序;将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。本发明所提供的方法,将数据包缓存后组块传输,减少路由器发送数据包的数量,提高路由器的转发效率,并且在组块过程中考虑不同数据包的不同时长要求,从而满足不同业务类型的需求。
【专利说明】
一种数据包组块传输方法及系统
技术领域
[0001]本发明涉及通信技术领域,具体涉及一种数据包组块传输方法及系统。
【背景技术】
[0002]在互联网技术飞速发展的今天,路由器在网络中起到举足轻重的作用,路由器在单位时间内能够处理的数据包的数量,也就是路由器的数据包传输速率,直接影响到整个网络的传输速率。在物联网广泛应用的互联网络中,大量的物联网终端接入网络,产生海量的数据交换,网络需要高效、快速的处理物联网所带来的新增的数据。
[0003]物联网一般会接入通信网络完成数据的交互,虽然当前通信网络中核心网的数据传输速率非常高,但是通信网络中的路由器在单位时间内能够处理的数据包的数量是受到限制的,对网络传输速率的衡量必须考虑路由器的数据包传输速率,而物联网应用通常会产生大量的小数据包,这些小数据包将会在很大程度上降低路由器的比特传输速率,对网络传输效率造成严重影响。此外,由于物联网业务类型涉及众多行业,对于服务质量的要求也多种多样,例如不同的业务的时长容忍程度是不同的,通信网络在提高网络传输效率的同时,还要尽可能的满足多样化的服务质量的要求。
[0004]如何在满足不同业务对数据包不同时长要求的基础上,又能提高路由器整体的数据传输速率,从而提高整个网络的数据传输速率,是通信网领域亟待解决的问题。
【发明内容】
[0005]本发明所要解决的技术问题是针对现有技术中所存在的上述缺陷,提供一种数据包组块传输方法及系统,用以解决现有技术中路由器数据转发效率不高的问题。
[0006]为实现上述目的,本发明提供一种数据包组块传输方法,包括:
[0007]接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长Tl;
[0008]根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2;
[0009]将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据Tl和T2进行排序;
[0010]将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。
[0011 ]优选的,计算数据包的第一剩余等待时长TA,TA = T2-T1;在组块队列中,按照TA从队头到队尾由小到大的顺序排序。
[0012]优选的,在将数据包缓存至组块队列的过程中,记录数据包在组块队列中的已等待时长T3,在组块队列中,数据包从队头到队尾根据T1、T2和T3进行排序。
[0013]优选的,计算数据包的第二剩余等待时长ΤΒ,ΤΒ= Τ2-Τ1_Τ3;在组块队列中,按照TB从队头到队尾由小到大的顺序排序。
[0014]优选的,在将数据包缓存至组块队列的过程中,计算第三剩余等待时长TA’,TA’=Τ2-Τ1-Τ4,在组块队列中,按照TA’从队头到队尾由小到大的顺序排序;或计算第四剩余等待时长TB ’,TB’ =T2-T1-T3-T4,在组块队列中,按照TB,从队头到队尾由小到大的顺序排序;其中,预设传输时长Τ4,所述传输时长为数据在路由器转发后在网络中传输所需要的时长。
[0015]优选的,判断所述业务类型是否为实时业务,若是,则直接发送数据包,否则,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长Τ2。
[0016]本发明还提供一种数据包组块传输系统,包括:
[0017]识别模块,用于接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长Tl;根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长Τ2;
[0018]缓存模块,用于将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据Tl和Τ2进行排序;
[0019]组块模块,用于将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。
[0020]优选的,所述识别模块,具体用于计算数据包的第一剩余等待时长ΤΑ,ΤΑ= Τ2_Τ1,以使组块模块在组块队列中,按照TA从队头到队尾由小到大的顺序排序。
[0021]优选的,所述缓存模块,还用于在将数据包缓存至组块队列的过程中,记录数据包在组块队列中的已等待时长Τ3,以使缓存模块在组块队列中,数据包从队头到队尾根据Tl、Τ2和Τ3进行排序。
[0022]优选的,所述识别模块,具体用于计算数据包的第二剩余等待时长ΤΒ,ΤΒ= Τ2-Τ1_Τ3;以使组块模块在组块队列中,按照TB从队头到队尾由小到大的顺序排序。
[0023]优选的,所述缓存模块,还用于在将数据包缓存至组块队列的过程中,计算第三剩余等待时长TA’,TA’ = Τ2-Τ1-Τ4,以使组块模块在组块队列中,按照TA’从队头到队尾由小到大的顺序排序;或计算第四剩余等待时长了8’,了8’=了2-1'14314,以使组块模块在组块队列中,按照TB’从队头到队尾由小到大的顺序排序;其中,预设传输时长Τ4,所述传输时长为数据在路由器转发后在网络中传输所需要的时长。
[0024]优选的,所述识别模块,还用于判断所述业务类型是否为实时业务,若是,则使组块模块直接发送数据包,否则,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长Τ2。
[0025]本发明所提供的数据包组块传输方法及系统,通过在路由器设置一个缓存区,将数据包缓存后组块传输,减少路由器发送数据包的数量,提高路由器的转发效率,并且同时在组块过程中考虑不同数据包的不同时长要求,从而达到占用较少链路资源的前提下,提高路由器传输速率,又能保证不同业务类型数据包的不同时长要求的目的。
【附图说明】
[0026]为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本发明提供的数据包组块传输方法第一实施例的示意图,
[0028]图2为本发明提供的数据包组块传输系统的结构示意图,
[0029]图3为本发明提供的数据包组块传输方法中数据包组块未超时的示意图,
[0030]图4为本发明提供的数据包组块传输方法中数据包组块超时的示意图,
[0031 ]图5为本发明提供的数据包组块传输方法中数据包组块流程图。
【具体实施方式】
[0032]为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和实施例对本发明作进一步详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033]图1为本发明提供的数据包组块传输方法第一实施例的示意图,如图1所示的数据包组块传输方法第一实施例包括如下步骤:
[0034]步骤SlOl,接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长Tl。
[0035]具体的,在路由器接收到数据包的同时,启动为每个数据包设置的定时器,所述的定时器可以记录数据包在路由器中的时长,后续的各种时长参数都可以通过定时器的记录来提取。
[0036]可提取数据包中的相关参数,识别数据包中数据的相关业务类型,由于不同的业务类型对时长的要求是不同的,如视频类的业务对时长的要求高,但文本类的业务对时长的要求就很低,区分数据包中数据的业务类型,便于对数据包进行后续的组块处理,并能满足不同数据包业务类型的时长要求,保证服务质量。
[0037]同时,需要记录识别数据包业务类型的时长,将其计入最后的组块时长中,从而使得组块时对时长的计算更加准确。
[0038]步骤S102,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2。
[0039]具体的,根据所述的对应关系,查找数据包所能容忍的最大时长,将所述的最大时长作为组块时所能容忍的最大时长。如文本类对时长不敏感的业务类型,可以将其在路由器中缓存更多的时间后再进行组块发送,但对视频类对时长要求很高的业务类型,则只能将其在路由器中缓存较短时间后就要组块发送。
[0040]本发明还提供一种优选的方案,判断所述业务类型是否为实时业务,若是,则直接发送数据包,否则,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2,S卩,在获取了业务类型后,判断所述数据的业务类型是否为实时业务,如是,则将数据包直接发送,避免组块延迟造成对业务质量的影响。
[0041]步骤S103,将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据Tl和T2进行排序。
[0042]具体的,对Tl和T2进行排序时,本发明提供一种优选的方案为:计算数据包的第一剩余等待时长TA,TA = T1-T2。具体的,根据数据包的业务类型能容忍的最大时长,减去分析其业务类型已经用去的时长后所得的差,即为数据包的第一剩余等待时长,可以认为是数据包在路由器中进行缓存并组块发送所能等待的最大时长。
[0043]本发明提供另一种优选的方案为,在将数据包缓存至组块队列的过程中,记录数据包在组块队列中的已等待时长T3,在组块队列中,数据包从队头到队尾根据T1、T2和T3进行排序。计算数据包的第二剩余等待时长TB,TB = Τ2-Τ1-Τ3;在组块队列中,按照TB从队头到队尾由小到大的顺序排序。考虑了数据包缓存时长的方案,可以更完善的解决组块队列中数据包的排队等待所带来时长对组块的影响。
[0044]本发明还提供一种优选的方案为,在将数据包缓存至组块队列的过程中,计算第三剩余等待时长TA’,ΤΑ’ =Τ2-Τ1-Τ4,在组块队列中,按照TA’从队头到队尾由小到大的顺序排序;或计算第四剩余等待时长TB ’,TB ’ = Τ2-Τ1-Τ3-Τ4,在组块队列中,按照TB,从队头到队尾由小到大的顺序排序;其中,预设传输时长Τ4,所述传输时长为数据在路由器转发后在网络中传输所需要的时长。如在通信网络中,在核心网侧传输需要的时长,可以根据网络规模及网络结构等,结合现网中的数据分析结果,进行预估,考虑了网络传输时长后,数据包能够更加准确的根据业务类型完成本发明的组块流程。
[0045]步骤S104,将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。
[0046]具体的,在组块的过程中,不但要考虑数据包的剩余等待时长,在实际的应用中,还需要考虑组块后的数据,能否满足网络传输的要求,如在通信网络,对所传输的数据包的大小有限制,称为最大传输单元MTU(Maximum Transmiss1n Unit ,MTU),当数据包组块后大于MTU时,需要将最后一个数据包去除,以满足网络对最大传输单元MTU的要求。
[0047]本领域技术人员很容易理解的是,在路由器对数据包进行组块的同时,监控数据包的第一剩余等待时长TA和第二剩余等待时长TB,当TA或TB为零时,将所述数据包直接发送。
[0048]如图3和图4所示,图3为本发明提供的数据包组块传输方法中数据包组块未超时的示意图,图4为本发明提供的数据包组块传输方法中数据包组块超时的示意图,在图3中,组块前的三个数据包的剩余等待时长了4或了8,从队头方向依次为1(^8,1548,3(^8,6(^8,10ys,前三个数据包组块后的大小没有超过MTU的限制,所以将前三个数据包组块后一起发送。在图4中,虽然只有两个数据包,但其剩余等待时长TA或TB,从队头方向依次为Oys,10ys,组块后的MTU大小虽然还有很多空余,由于定时器超时,也将这两个数据包组块后发送。
[0049]为更好的说明组块过程中MTU和队头数据包定时器超时,对组块产生的影响,利用图5进行说明,图5为本发明提供的数据包组块传输方法中数据包组块流程图,如图5所示的流程图,在将数据包放入组块时,首先判断组块后的数据包总长度是否已经超出MTU的限制,如已超过MTU大小限制,则不再进行组块,如未超过MTU大小限制,进一步判断定时器是否超时,如超时,则立即完成组块后发送,如未超时,则进入下个数据包组块的循环。
[0050]本发明所提供的数据包组块传输方法,将数据包根据不同的业务类型对时长的不同要求,为不同的数据包设定不同的剩余等待时长进行组块后传送,不但能够提高路由的数据传输效率,同时能够兼顾不同业务类型的数据包的不同时长要求,做到提高网络传输效率的同时,又能使业务质量得到保证。
[0051]本发明还提供一种数据包组块传输系统,包括:
[0052]识别模块201,用于接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长Tl;根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2;具体用于计算数据包的第一剩余等待时长TA,TA = T2-T1,以使组块模块在组块队列中,按照TA从队头到队尾由小到大的顺序排序;具体用于计算数据包的第二剩余等待时长TB,TB = T2-T1-T3;以使组块模块在组块队列中,按照TB从队头到队尾由小到大的顺序排序;还用于判断所述业务类型是否为实时业务,若是,则使组块模块直接发送数据包,否则,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2。
[0053]缓存模块202,用于将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据Tl和T2进行排序;还用于在将数据包缓存至组块队列的过程中,记录数据包在组块队列中的已等待时长T3,以使缓存模块在组块队列中,数据包从队头到队尾根据T1、T2和T3进行排序;还用于在将数据包缓存至组块队列的过程中,计算第三剩余等待时长TA’,TA’ =Τ2-Τ1-Τ4,以使组块模块在组块队列中,按照TA’从队头到队尾由小到大的顺序排序;或计算第四剩余等待时长TB’,ΤΒ’ =Τ2-Τ1-Τ3-Τ4,以使组块模块在组块队列中,按照TB’从队头到队尾由小到大的顺序排序;其中,预设传输时长Τ4,所述传输时长为数据在路由器转发后在网络中传输所需要的时长。
[0054]组块模块203,用于将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。
[0055]本发明所提供的数据包组块传输系统,能够将数据包根据不同业务类型对时长的不同的要求,将数据包组块后发送,提高数据传输速率,同时保证服务质量。
[0056]在本申请所提供的实施例中,应该理解到,所揭露的方法、设备和系统可以通过其它的方式实现。例如以上所描述的设备实施例仅是是示意性的,所述功能模块的划分仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或者一些特征可以忽略或不执行。
[0057]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种数据包组块传输方法,其特征在于,所述方法包括: 接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长Tl; 根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长T2; 将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据Tl和T2进行排序; 将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。2.如权利要求1所述的数据包组块传输方法,其特征在于,所述在组块队列中,数据包从队头到队尾根据Tl和T2进行排序,具体包括: 计算数据包的第一剩余等待时长TA,TA = T2-TI; 在组块队列中,按照TA从队头到队尾由小到大的顺序排序。3.如权利要求1所述的数据包组块传输方法,其特征在于,所述方法还包括: 在将数据包缓存至组块队列的过程中,记录数据包在组块队列中的已等待时长T3,在组块队列中,数据包从队头到队尾根据T1、T2和T3进行排序。4.如权利要求3所述的数据包组块传输方法,其特征在于,所述在组块队列中,数据包从队头到队尾根据Tl、Τ2和Τ3进行排序,具体包括: 计算数据包的第二剩余等待时长ΤΒ,ΤΒ = Τ2-Τ1-Τ3; 在组块队列中,按照TB从队头到队尾由小到大的顺序排序。5.如权利要求2或4所述的数据包组块传输方法,其特征在于,所述方法还包括: 在将数据包缓存至组块队列的过程中,计算第三剩余等待时长TA’,ΤΑ’ =Τ2-Τ1-Τ4,在组块队列中,按照TA’从队头到队尾由小到大的顺序排序; 或计算第四剩余等待时长TB’,ΤΒ’ =Τ2-Τ1-Τ3-Τ4,在组块队列中,按照TB’从队头到队尾由小到大的顺序排序; 其中,预设传输时长Τ4,所述传输时长为数据在路由器转发后在网络中传输所需要的时长。6.如权利要求1所述的数据包组块传输方法,其特征在于,在所述识别业务类型所用时长Tl的步骤之后,所述方法还包括: 判断所述业务类型是否为实时业务,若是,则直接发送数据包,否则,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长Τ2。7.一种数据包组块传输系统,其特征在于,包括: 识别模块,用于接收数据包,识别数据包中数据的业务类型,并记录识别业务类型所用时长Tl;根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长Τ2; 缓存模块,用于将数据包缓存至组块队列,在组块队列中,数据包从队头到队尾根据Tl和Τ2进彳丁排序; 组块模块,用于将组块队列中的数据包从队头开始依序组块生成数据块,并顺序发送数据块。8.如权利要求7所述的数据包组块传输系统,其特征在于: 所述识别模块,具体用于计算数据包的第一剩余等待时长ΤΑ,ΤΑ = Τ2-Τ1,以使组块模块在组块队列中,按照TA从队头到队尾由小到大的顺序排序。9.如权利要求7所述的数据包组块传输,其特征在于: 所述缓存模块,还用于在将数据包缓存至组块队列的过程中,记录数据包在组块队列中的已等待时长T3,以使缓存模块在组块队列中,数据包从队头到队尾根据T1、T2和T3进行排序。10.如权利要求9所述的数据包组块传输系统,其特征在于: 所述识别模块,具体用于计算数据包的第二剩余等待时长ΤΒ,ΤΒ = Τ2-Τ1-Τ3;以使组块模块在组块队列中,按照TB从队头到队尾由小到大的顺序排序。11.如权利要求8或10所述的数据包组块传输系统,其特征在于: 所述缓存模块,还用于在将数据包缓存至组块队列的过程中,计算第三剩余等待时长TA’,ΤΑ’=Τ2-Τ1-Τ4,以使组块模块在组块队列中,按照TA’从队头到队尾由小到大的顺序排序; 或计算第四剩余等待时长TB’,ΤΒ’ =Τ2-Τ1-Τ3-Τ4,以使组块模块在组块队列中,按照TB’从队头到队尾由小到大的顺序排序; 其中,预设传输时长Τ4,所述传输时长为数据在路由器转发后在网络中传输所需要的时长。12.如权利要求7所述的数据包组块传输系统,其特征在于: 所述识别模块,还用于判断所述业务类型是否为实时业务,若是,则使组块模块直接发送数据包,否则,根据数据包的业务类型和预设的所述业务类型与最大时长的对应关系,确定数据包的最大时长Τ2。
【文档编号】H04L12/863GK106059948SQ201610301103
【公开日】2016年10月26日
【申请日】2016年5月9日
【发明人】刘媛媛, 李建功
【申请人】中国联合网络通信集团有限公司