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

一种基于移动5G网络的网络数据包调度方法及系统与流程

2021-12-04 00:09:00 来源:中国专利 TAG:

一种基于移动5g网络的网络数据包调度方法及系统
技术领域
1.本发明涉及网络数据包调度领域,尤其是涉及一种基于移动5g网络的网络数据包调度方法及系统。


背景技术:

2.数据包调度是指用于选择哪些数据包应该被服务或者被丢弃的决策过程,网络调度器,也称为数据包调度器,是数据包通信网络中节点上的决策器,它管理网络接口控制器的发送和接收队列中的网数据包序列,有多种网络调度器可用于不同的操作系统上,它们实现了许多现有的网络调度算法,但是目前的网络调度对于移动网络仍然存在着很多的缺陷,需要合理设计数据包调度器架构,实现多级别层次的网络带宽结构,并且在整个多层次级别数据包调度架构中添加相应的参数,不仅让用户可以根据需求、网络带宽状态和系统状况对整个数据包调度系统进行合理的配置,同时让不同调度器应用在不同层次级别的网络带宽下,发挥不同调度器的优势,才有可能使吞吐量和延迟达到想要的水平,另外,考虑到不同的调度策略在相应的网络带宽下有一定优劣势,在所有网络带宽下一直使用同一种调度策略显然是不合适的,需要制定更好的调度策略方案,让不同层次级别的网络带宽下有不同数据包调度策略,在保证高网络带宽状态下的吞吐量的同时,降低网络带宽状态下高优先级数据包的延迟,为所有级别的网络带宽进行调度策略最优化。


技术实现要素:

3.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于移动5g网络的网络数据包调度方法。
4.本发明的目的可以通过以下技术方案来实现:
5.一种基于移动5g网络的网络数据包调度系方法,包括以下步骤:
6.步骤1:网络带宽监测器模块定时向调度控制器模块的队列发送实时网络带宽数据;
7.步骤2:调度控制器模块判断队列是否排满,若队列排满,则先剔除队列中最旧的数值后再插入新数值,若队列未排满则直接在尾部插入最新数值;
8.步骤3:对获得的实时网络带宽数据进行计算;
9.步骤4:根据网络带宽状态的预先分级,依据计算结果确定当前最新网络带宽状态层级;
10.步骤5:判断获得的最新网络带宽状态层级是否发生改变;
11.步骤6:若网络带宽状态层级不变,则无需通知调度器模块,所有的调度策略维持不变,若网络带宽状态层级发生改变,则通知调度器模块选择并切换相应的网络带宽状态层级的调度策略;
12.步骤7:重复步骤1

6,实时获取最新网络带宽状态级别,并根据最新网络带宽状态级别及时调整对应的调度策略。
13.所述的步骤1中,当网络状况为网络带宽稳定时,采用设置长间隔时间的方法,以避免无谓的状态更新以及浪费系统资源,当网络状况网络带宽不稳定时,采用设置短间隔时间的方法,以及时更新和反映网络带宽状态的变化。
14.所述的步骤2中,调度控制器模块中设有根据需求进行配置大小的队列,用以放置从网络带宽监测器模块接收的实时网络带宽数据。
15.所述的步骤3中,对获得的实时网络带宽数据进行计算的计算方法包括:
16.通过对队列中的实时网络带宽数据进行平均数计算以获取网络带宽状态级别;
17.通过对队列中的实时网络带宽数据进行加权平均数计算以获取网络带宽状态级别。
18.所述的步骤4中,预先对网络带宽状态进行分级的依据包括用户需求、当前的网络状况以及系统的负荷能力。
19.所述的步骤6中,调度器模块的调度策略算法包括fifo算法、pq算法和wfq算法,所述的调度器模块通过链路并依据需求进行互连。
20.所述的fifo算法具体为:无区别地对待所有的报文数据包,处理数据包采用先进先出的策略,即依照数据包到达的先后顺序分配转发所需要的资源,所有数据包共享网络资源,得到的资源量和速度取决于数据包到达的时间,适用于对带宽和延迟不敏感的业务;
21.所述的pq算法具体为:在数据包调度过程中,按照优先级从高到低的次序,优先发送高优先级队列中的数据包,当高优先级队列为空时再处理下一优先级队列中的数据包,以优先处理关键业务的数据包;
22.所述的wfq算法具体为:在计算调度次序时使高优先权的数据包获得优先调度的机会多于低优先权的数据包,按流的会话信息自动进行流分类,将每个流均匀地放入不同队列中,在出队时按流的优先级分配每个流占有的带宽比例,按照带宽比例从队列中取出对应数量的数据包进行发送,以公平分享网络资源和在总体上均衡各个流的延迟;
23.所述的流的会话信息包括协议类型、源和目的tcp或udp端口号、源和目的ip地址以及tos域中的优先级位,所述的每个流占有的带宽比例为:
[0024][0025]
其中,带宽总配额为各个流的优先级加一后的和。
[0026]
一种基于移动5g网络的网络数据包调度方法的系统,该系统包括:
[0027]
网络带宽监测器模块:用以实时监测网络带宽并发送至调度控制器模块;
[0028]
调度控制器模块:用以计算网络带宽监测器模块发送的实时网络带宽数据并获得当前网络带宽状态层级,与各个调度器模块和数据流分类模块连接通信;
[0029]
数据流分类模块:根据数据流的特征通过流量分类算法对输入的不同的数据流类别进行分类,根据当前的网络带宽状态层级使用对应的排列算法对数据流进行有效排列分发,并输入至调度器模块。
[0030]
调度器模块:包括多个调度器模块,一个调度模块内置各类调度策略,以根据当前网络带宽状态实施对应的调度策略。
[0031]
所述的调度器模块在数据流分类模块根据网络带宽状态层级选择对数据流进行分类后,选择对应的排列算法和调度策略对数据流进行有效排列分发,所述的数据流类别
包括大流、小流、视频流、语音流、信息流和指令数据,不同的数据流具有不同的分发优先级别。
[0032]
与现有技术相比,本发明具有以下优点:
[0033]
使用分级网络带宽状态的技术解决应对移动5g网络数据包调度的难题,比传统的数据包调度更加灵活,功能也更加丰富;用户不但可以灵活的配置调度器模块内部的调度器,还能根据网络带宽状态选择调度器模块中对应的调度策略,设置网络带宽状态级数,灵活配置调度系统架构的各个参数来满足需求;方便用户根据自己的需求来设置和管理参数,不仅保障了在优良的网络带宽状态下的所有数据包传输的吞吐量,还有效保证了在不好的网络带宽状态下高优先级数据包的延迟率和获得服务的效率。
附图说明
[0034]
图1为本发明的方法流程图。
[0035]
图2为本发明的系统结构示意图。
具体实施方式
[0036]
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0037]
实施例
[0038]
如图1所示,本发明提供了一种基于移动5g网络的网络数据包调度系统,其中:网络带宽监测器模块实时监测网络带宽,与调度控制器模块通信连接;调度控制器模块通过计算获得当前网络带宽状态层级,并与调度器模块和数据流分类模块连接通信;调度器模块内置预设的各类调度策略;数据流分类模块用以对不同网络数据流进行分类,数据流分类模块只针对特定的情况下对数据流进行分类,以让调度模块根据数据流类别来对其排列调度,其中每个模块通过数据传输链路进行连接,为各模块之间的数据传输提供通道。
[0039]
通过在同一数据包调度系统内构建多个调度器模块且每个调度器模块会根据网络带宽状态实施相应的网络调度策略,使得拥有同一个网络在不同网络带宽状态下灵活的选择调度策略的同时,所有调度器模块上的网络调度策略可以根据需求进行修改和配置。
[0040]
网络带宽状态是指:设备在不断移动的过程中,所接收的网络信号强度是不断变化的,网络带宽值也是不断改变的,因此将网络带宽状态分为若干级别,每一等表示对应网络的带宽状态,例如可将一个500m/s的网络分为三级,分别为高、中和低,高表示网络带宽状态优秀,中表示网络带宽状态中等,低表示网络带宽状态不理想。
[0041]
网络带宽监测器将监测到的实时网络带宽数据发送至调度控制器模块进行计算,得到计算结果后,必要时再将计算结果广播给被控制的各个调度器模块执行。
[0042]
调度控制器模块进行计算是指:网络带宽监测器模块每隔一段时间向调度控制器模块发送监测到的实时网络带宽数据,间隔时间可以被设置,队列服务节点知晓所有通信节点的信息,以组成队列服务集群,提供更快的服务,队列服务集群采用消息队列进行实现,调度控制器模块将接收到的带宽数值放入队列中,队列的大小可以被设置,当队列饱和时,最新的数据替代最旧的数据,最旧的数据被丢弃,调度控制器模块计算队列中所有元素
数值的平均值,必要时调度控制器模块会将数值广播给调度器模块。
[0043]
调度控制器模块控制与其连接的所有调度器模块,调度控制器模块中有一个队列,用来放置从网络带宽监测器模块接收到的带宽数值,队列大小可以根据需求配置,控制器会计算队列中的平均值,当控制器计算到的平均值与当前网络带宽状态的带宽范围不同,控制器将通知调度器模块到切换与当前对应的调度策略。
[0044]
流量分类算法具体为:针对不同网络数据流进行分类,包括大流、小流、视频流、语音流、信息流和指令数据等,不同的流具有不同的分发优先级别,根据当前的网络带宽状态层级使用对应的排列算法和调度策略对这些流进行有效分发,比如当网络状态层级低网络带宽状态不好的时候将指令等重要且高优先级数据流排列在队列前列进行优先处理分发。
[0045]
每一个调度器模块都可以通过链路然后依据需求进行互连,调度器模块包含调度策略算法,例如fifo、pq和wfq算法。
[0046]
fifo算法:即无区别地对待所有的报文数据包,调度器模块处理数据包采用的是先进先出的策略,依照数据包到达的先后顺序分配转发所需要的资源,所有数据包共享网络资源,至于得到资源的多少和速度完全取决于数据包到达的时间,这种服务策略简易,对计算要求不高,但对延迟,延迟抖动,丢包率等不提供保证,在网络带宽资源不足的情况下,无法保证高优先级数据包的顺利传输,只适用于对带宽、延迟不敏感的一些业务;
[0047]
pq算法(优先队列,priorityqueuing):pq队列是针对关键业务应用设计的,即要求高优先级数据包优先获得服务。在数据包调度过程中,pq严格按照优先级从高到低的次序,优先发送高优先级队列中的数据包,当高优先级队列为空时,再处理下一级优先级队列中的数据包,这种调度策略的好处是关键业务的数据包可以被优先处理,缺点也很明显,就是如果高优先级队列中一直有数据包存在,那么低优先级队列中的数据包会一直得不到服务直至饿死;
[0048]
wfq算法(加权平均队列,weightedfairqueuing):fq是为了公平的分享网络资源尽可能使所有流的迟延和延迟抖动达到最优而推出的,主要表现在:不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。与fq相比,wfq在计算计算调度次序时考虑优先权的问题,从统计上,wfq使高优先权的数据包获得优先调度的机会多于低优先权的数据包,wfq能够按流的会话信息(包括协议类型、源和目的tcp或udp端口号、源和目的ip地址及tos域中的优先级位等)自动进行流分类,且尽可能多地提供队列,以将每个流均匀地放入不同队列中,从而在总体上均衡各个流的延迟,在出队的时候,wfq按流的优先级(precedence或dscp)来分配每个流应占有出口的带宽:优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多,最后,轮询各个队列,按照带宽比例从队列中取出相应数量的数据包进行发送,例如:接口中当前共有5个流,它们的优先级分别为0、1、2、3、4,,即1 2 3 4 5=15,每个流所占带宽比例为:(流的优先级数 1)/带宽总配额,带宽总配额为各个流的优先级加一后的和,得到每个流可得的带宽分别为:1/15,2/15,3/15,4/15,5/15,缺点是计算复杂、对硬件要求更高以及带宽分配参数不能依照网络带宽状态的变化进行动态配置。
[0049]
本发明采用网络带宽状态分级混合调度方法对数据包进行调度:调度控制器模块计算来自网络带宽监测器模块发送的实时网络带宽数据,计算得出当前网络带宽状态的层级,当层级发生变化时,再将新的层级信息通知所有调度器模块和数据流分类模块,数据流
分类模块通过从调度控制器模块获得的网络带宽状态层级自动使调度器模块选择对应的调度策略,以此反复,保持为当前网络带宽状态层级执行选择对应的调度器模块。
[0050]
如图2所示,该方法的过程具体为:
[0051]
步骤1:网络带宽监测器模块定时地向调度控制器模块的队列发送实时网络带宽数据,时间间隔根据实际情况设置;
[0052]
步骤2:判断队列是否满,如果队列为满,则先剔除队列中最旧的数值(也就是队列的头数值),再插入新数值;如果队列为不满则直接在尾部插入最新数值;
[0053]
步骤3:对于队列中的所有数值计算它们的平均值或者加权平均值;
[0054]
步骤4:依据计算获得的平均值(网络带宽平均值)确定当前最新网络带宽状态层级(预先对网络带宽状态进行分级)。
[0055]
步骤5:根据获得的最新网络带宽状态层级,判断最新网络带宽状态层级是否发生改变而当前网络带宽状态层级不符;
[0056]
步骤6:若网络带宽状态层级不变,则无需通知调度器模块,所有的调度策略维持不变;若网络带宽状态层级发生改变,则通知调度器模块选择并切换相应的网络带宽状态层级的调度策略,比如网络带宽状态层级变为2则调度器模块切换至预设好的层级2的调度策略。
[0057]
步骤7:再回到步骤1,以此反复,及时获取最新网络带宽状态级别,根据最新网络带宽状态级别做出相应的动作和调整。
[0058]
例如:将一个500m/s的网络分为三级,分别为高、中和低,调度控制器模块获得网络带宽状态层级为低时通知调度器模块,且数据流分类模块对不同网络数据流进行分类,将指令等重要且高优先级数据流排列在队列前列,然后传输给调度器模块中调用流量分类算法进行处理。
[0059]
网络带宽状态分级混合调度方法的参数包括:网络带宽监测器模块发送给调度控制器模块的间隔时间;调度控制器模块中存放实时网络带宽数据的队列大小;计算网络带宽状态分级的计算方法;网络带宽状态分级的级数等。
[0060]
网络带宽监测器模块发送给调度控制器模块的间隔时间参数:设置每隔多长时间将实时网络带宽数据发送给调度控制器模块,间隔时间设置的越长意味着网络带宽状态的更新也会更稀少,更慢,另一方面,间隔时间设置的越短意味着调度控制器模块中的队列更替频繁,同时网络带宽状态的更新也会更加频繁,在网络带宽较稳定的网络状况下使用设置间隔时间更长的方法,以避免无谓的状态更新和浪费系统资源,在网络带宽不稳定的网络状况下使用设置间隔时间更短的方法,以及时更新来反映网络带宽状态的变化。
[0061]
调度控制器模块存放带宽数值的队列大小:设置允许带宽数值量放置在队列中,设置队列的越大表示越多的带宽数值可以参与网络带宽状态分级的计算,而设置队列越小表示越少的带宽数值可以影响到网络带宽状态的计算和分级;通常情况下,队列越大,能确保网络带宽状态分级计算的准确性,但同时也会造成更大的资源开销以及网络带宽状态级别计算不及时,而队列越小则相反,因此需要根据用户的需求和实际情况来进行设置队列的大小。
[0062]
网络带宽状态分级的计算方法:对队列中的数值进行计算,计算出当前网络带宽状态的级别,可以对队列中的数值进行平均数计算来获取网络带宽状态的级别,这是最简
单和直接的方式;另外还可以使用加权平均数来对队列中的数值进行计算,具体的方法是越新加入的数值的权重越高,依次类推计算出网络带宽状态的级别,此计算方法更加合理,但计算更加复杂,同时消耗的计算资源更多,因此建议在队列设置较大时使用此方法,且计算方法根据用户的需求和实际情况来使用。
[0063]
网络带宽状态分级的级数:即将网络带宽状态分成若干级别,例如:有500m/s的网络带宽,可以对这个网络带宽分成5级:0

100m/s、100

200m/s、200

300m/s、300

400m/s和400

500m/s;也可以分成3级:0

200m/s、200

400m/s和400

500m/s。具体的分级方式要根据网络带宽来选择,通常,网络带宽越大网络分级越多,反之越少;网络带宽状态越不稳定网络分级越多,反之越少;网络带宽状态分级的越细,越能通过分级计算捕捉到网络带宽状态的变化,从而很快的对调度策略做出相应的调整以适应当前的网络带宽状态,然而网络带宽状态分级太细表示网络带宽状态更新频繁,造成网络调度策略需不停地切换,同时相应级别的调度策略也更多和更复杂,计算等方面的开销也更多,使得整个系统的压力过大,不能获得好的效果,因此具体的网络带宽状态级别的设置需根据用户需求、当前的网络状况以及系统的负荷能力来判定。
[0064]
本发明首先对网络带宽进状态进行分级,通过调度控制器模块计算来获取网络带宽状态层级,对不同网络带宽状态进行计算,其次在调度器模块在内置多种不同调度策略,可以根据用户的需求和当前网络带宽状态自动选择对应的数据包调度策略,以达到用户的目的和优化数据包的传输,最后,本发明独创的多层级网络带宽状态的的架构,保证整个过程拥有足够的效率,既保障网络带宽传输吞吐量,又尽量满足特定业务低延迟的需求。
[0065]
经过具体实际实验,在网络带宽峰值500m/s且变化的测试环境下,运用本发明提供的方法和系统,得到的实验效果是:不仅在网络带宽状态较好的情况下,保证数据传输的吞吐量,还在网络带宽较差的情况下,满足高优先级数据包的低延迟需求,在兼顾两方面下都获得较好的效果。
[0066]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献