列车控制与服务网络的调度方法与流程

文档序号:11253893阅读:516来源:国知局
列车控制与服务网络的调度方法与流程

本发明涉及列车通信网络、网络通信技术领域,具体涉及一种列车控制与服务网络(tcsn)的调度方法。



背景技术:

针对我国列车网络技术和标准长期受制于国际垄断巨头、既有列车控制网络与信息服务网络物理分离、无法适应列车控制与服务业务的快速增长和多样化需求等问题。列车控制与服务网络中存在这各种与列车控制和旅客服务有关的网络业务流量,不同的业务流的流量特性及传输服务质量需求(实时性、稳定性、关键性等)特性不同,需要有不同的调度策略。

tcsn的业务中包括关键业务和其它业务,与diffserv类似,tcsn中的关键业务对应于diffserv中的ef,需要提供的是“三低一保证”的虚拟专线服务。其它业务对应于diffserv中的af,提供的是具有最小保证带宽的确保服务。超出服务合约(sla)的流量对应于diffserv的be,提供的是缺省的“尽力而为”服务。因此,在所有聚流中,tcsn关键业务数据流具有最高的调度优先级,af流具有次高优先级,be流具有最低优先级。

故,tcsn中的ef流队列(关键业务流队列)、af流队列、be流队列之间可以采用优先级调度(pri)策略。但是,在tcsn中,除了关键业务流外,还有很多具有不同流量特性和传输服务质量(即不同时延和丢包率等优先级)需求的af子流,这些af子流均需要提供一定的服务质量保证,且这些af子流之间不宜使用pri进行调度。这是由于pri是一种“饥饿”型调度方式,它在网络资源不足时,会造成高优先级队列完全侵占网络资源,较低优先级的队列由于没有可用的网络资源而被“饿死”的现象。



技术实现要素:

针对现有技术中存在的上述不足,本发明提供的列车控制与服务网络的调度方法,其在保证关键业务流的调度优先的前提下,还能为af子类业务提供一定的服务质量保证,对超出合约的流量提供尽力而为服务。

为了达到上述发明目的,本发明采用的技术方案:

提供一种列车控制与服务网络的调度方法,其包括:

获取涵盖列车控制与服务网络中所有业务流的关键业务流队列、af子队列和be流队列;

计算af子队列中每个af子队列的调度配额:

af子队列的调度配额=w1*基于流量到达率的af子队列的调度配额+w2*基于时延优先级的af子队列的调度配额+w3*基于包丢弃优先级的af子队列的调度配额,其中,w1、w2和w3为调度配额权重,w1+w2+w3=1;

根据af子队列的调度配额,调度af子队列中与调度配额相同数量的业务流,并按预设队列顺序对所有af子队列调度出来的业务流进行排序形成等待进行再次调度的af业务流;

接收调度设定调度量业务流的调度任务,初始设定调度量等于网络带宽;

判断关键业务流队列中的业务流数量是否小于设定调度量;

若小于设定调度量,则调度关键业务流队列中的所有业务流,否则,调度与设定调度量等量的关键业务流;

采用设定调度量减已调度出的关键业务流队列中的业务流数量更新设定调度量,并判断af流队列中等待调度的业务流的数量是否小于新的设定调度量;

若小于或等于,则调度af流队列中的所有业务流,否则,调度与新的设定调度量等量的af业务流;

采用设定调度量-(已经调度出去的关键业务流队列中的业务流数量+已经调度出去的af流队列中的业务流数量)再次更新设定调度量,并判断更新后的设定调度量是否大于零,若大于零,则调度be流队列中与设定调度量等量的be业务流数量。

进一步地,所述基于流量到达率的af子队列的调度配额的计算公式为:

其中,af子队列的当前瞬时流量到达率=af子队列到达的流量数量/统计时间;af子队列的流量平均到达率=(1-w)*上一时间段af子队列流量平均到达率+w*af子队列当前瞬时流量到达率;w为滑动平均算法的权值,i为af子队列的序号。

计算基于时延优先级的af子队列的调度配额的方法包括:

读取所有af子队列的时延优先级;

当所有af子队列的时延优先级为连续时,基于时延优先级的af子队列调度配额为:

其中,当所有af子队列的时延优先级个数为奇数时,队列时延优先级的中值为中间的af子队列的时延优先级,否则为中间两个af子队列的时延优先级的平均值;

当所有af子队列的时延优先级呈等比例时,基于时延优先级的af子队列调度配额为:

其中,m为af子队列的时延优先级,a=1,2…m;

当所有af子队列的时延优先级为非连续或非等比例时,读取基于时延优先级的调度配额比例;

根据基于时延优先级的调度配额比例,计算基于时延优先级的af子队列的调度配额:

基于时延优先级的af子队列的调度配额=af流队列可以接纳的流量数量*基于时延优先级的调度配额比例。

进一步地,计算基于包丢弃优先级的af子队列的调度配额方法包括:

读取所有af子队列的包丢弃优先级;

当所有af子队列的包丢弃优先级为连续时,基于包丢弃优先级的af子队列调度配额为:

其中,当所有af子队列的包丢弃优先级个数为奇数时,队列包丢弃优先级的中值为中间的af子队列的包丢弃优先级,否则为中间两个af子队列的包丢弃优先级的平均值;

当所有af子队列的包丢弃优先级呈等比例时,基于包丢弃优先级的af子队列调度配额为:

其中,m为af子队列的包丢弃优先级,b=1,2…m;

当所有af子队列的包丢弃优先级为非连续或非等比例时,读取基于包丢弃优先级的调度配额比例;

根据基于包丢弃优先级的调度配额比例,计算基于包丢弃优先级的af子队列的调度配额:

基于包丢弃优先级的af子队列的调度配额=

af流队列可以接纳的流量数量*基于包丢弃优先级的调度配额比例。

进一步地,所述af流队列可以接纳的流量数量为:

当系统工作处于稳定状态时,af流队列可以接纳的流量数量=从af流队列调离的流量数量,否则,af流队列可以接纳的流量数量=af流队列缓冲区长度-当前af流队列长度。

进一步地,当根据调度任务从af流队列中调度出业务流后,更新当前af流队列长度:

当前af流队列长度=上一时刻af流队列长度+新到达的业务流数量–从af流队列中调度出去的业务流数量。

进一步地,所述调度配额权重的获取方法包括:

获取网络当前时刻的信道利用率;

判断当前时刻的信道利用率与上一时刻的信道利用率差异是否小于预设阈值;

若小于等于预设阈值,则网络的信道利用率为当前时刻的信道利用率;

若大于预设阈值,则根据预设网络状态对应的信道利用率范围,确定当前时刻网络的当前网络状态;

根据当前网络状态设置w1、w2和w3权值;所述预设网络状态包括轻载状态、中载状态和重载状态。

进一步地,根据af子队列的调度配额,设置af子队列的实际调度配额:

判断af子队列的流量平均到达量是否小于af子队列调度配额;

若小于,则af子队列的实际调度配额=af子队列的流量平均到达量,否则,af子队列的实际调度配额=af子队列调度配额;

之后,读取af子队列中与实际调度配额相同数量的业务流,并按预设队列顺序对所有af子队列读取的业务流进行排序形成等待再次调度的af业务流。

本发明的有益效果为:本方案通过网络的环境动态计算每个af子队列的调度配额,根据调度配额在每次轮询时从每个af子队列调度出与调度配额相同的业务流,再按照预设队列顺序对从每个af子队列中调度出的业务流进行排序,形成等待再次调度的af业务流。

通过这种方式能够在每次进行数据调度时,确保了每次均能从每个af子队列调度出部分不同流量特性和传输服务质量需求的业务流,通过这种方式解决了在网络资源不足时,造成高优先级队列完全侵占网络资源,较低优先级的队列由于没有可用的网络资源而不能被调度出的问题。

本方案的调度方法适用于区分服务环境下的调度,特别是工业控制与旅客服务业务一体化传输环境下的调度;能够无条件优先保证系统中关键业务的传输,为关键业务提供类似于虚拟专线的服务;在确保关键业务优先传输的同时,可以为其它业务提供一定的服务质量保证,服务质量随网络负载状况动态变化。并且具有到达流量、时延优先级、包丢弃优先级等方面的比例公平性。

本方案采用两级调度(第一级为af流队列内部的af子队列中业务流的调度,第二级是针对关键业务流、af业务流和be业务流的调度),适应工业控制与旅客服务业务一体化传输环境的情况;算法的公平性好,能保证除了关键业务流量和超出合约部分流量外其它业务流量按流量大小、时延优先级和包丢弃优先级等公平分配带宽。

第一级调度中的轮询调度权重的动态调整同时综合考虑了各业务的流量特性(到达流量大小)、传输服务质量需求(时延优先级、包丢弃优先级)和网络的当前工作负载情况,具有自适应性;轻载网络负载情况下重点考虑到达流量大小的公平性;中等负载下重点考虑时延优先级的公平性;重负载下重点考虑包丢弃优先级的公平性;符合实际的网络工作状况。

设计了分段变化和连续变化两种权重调整方案,适用性好;提供了多种时延或包丢弃优先级调度配额计算方法,适用性好;算法复杂性低,算法的实现性好,算法中的所有流程和算法均能直接程序编码实现。

附图说明

图1为列车控制与服务网络的调度方法一个实施例的流程图。

图2为计算af流队列中af子队列调度配额的方法的流程图。

图3为分段式调整权重时,队列到达流量增长与实际调度配额一个实施例的仿真图。

图4为分段式调整权重时,队列到达流量增长与实际调度配额另一个实施例的仿真图。

图5为连续权重调整时,队列到达流量增长与实际调度配额一个实施例的仿真图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

参考图1,图1示出了列车控制中服务网络的调度方法一个实施例的流程图;如图1所示,该方法100包括步骤101至步骤109。

在步骤101中,获取涵盖列车控制与服务网络中所有业务流的关键业务流队列、af子队列和be流队列;其中的关键业务流队列中的业务流包括司控台、牵引、制动、辅助电源、车门、空调等列车控制命令、状态信息、报警信息等业务流;

af子队列中的业务流包括除了关键业务流外的其它控制业务流、交互类应用流、音频流、视频流、高保真业务流、传统ip网络应用业务流和p2p流等业务流。

be流队列是列车控制与服务网络中除去关键业务流队列和af流队列涵盖的业务流后余下的业务流,其也可以指代超出服务合约(sla)的业务流。

在步骤102中,计算每个af子队列的调度配额。

参考图2,图2示出了计算af流队列中af子队列调度配额的方法的流程图。计算af子队列调度配额的方法200包括步骤201至步骤206。在步骤201中,获取涵盖列车控制与服务网络中所有业务流的关键业务流队列、af流队列和be流队列。

获取af流队列可以接纳的流量数量:

当系统工作处于稳定状态时,af流队列可以接纳的流量数量=从af流队列调离的流量数量,否则,af流队列可以接纳的流量数量=af流队列缓冲区长度-当前af流队列长度。

在步骤202中,计算基于流量到达率的af子队列的调度配额:

其中,af子队列的当前瞬时流量到达率=af子队列到达的流量数量/统计时间;

af子队列的流量平均到达率=(1-w)*上一时间段af子队列流量平均到达率+w*af子队列当前瞬时流量到达率;

w为滑动平均算法的权值,i为af子队列的序号。

在步骤203中,计算基于时延优先级的af子队列的调度配额。

在本发明的一个实施例中,计算基于时延优先级的af子队列的调度配额的方法包括以下步骤:

读取所有af子队列的时延优先级;

当所有af子队列的时延优先级为连续时,基于时延的af子队列调度配额为:

其中,当所有af子队列的时延优先级个数为奇数时,队列时延优先级的中值为中间的af子队列的时延优先级,否则为中间两个af子队列的时延优先级的平均值;

当所有af子队列的时延优先级呈等比例(比如所有af子队列按时延优先级排序后,其第一个af子队列的时延优先级为1,第二个af子队列的时延优先级为2,第三个af子队列的时延优先级为4,第四个af子队列的时延优先级为8,依次按2的倍数增加,则第n个的优先级为2的n次方)时,基于时延优先级的af子队列调度配额为:

其中,m为af子队列的时延优先级的级数,a=1,2…m;

当所有af子队列的时延优先级为非连续或非等比例时,提供配置文件读取基于时延优先级的调度配额比例;

根据基于时延优先级的调度配额比例,计算基于时延优先级的af子队列的调度配额:

基于时延优先级的af子队列的调度配额=af流队列可以接纳的流量数量*基于时延优先级的调度配额比例。

在步骤204中,计算基于包丢弃优先级的af子队列的调度配额。

在本发明的一个实施例中,计算基于包丢弃优先级的af子队列的调度配额的方法包括以下步骤:

读取所有af子队列的包丢弃优先级;

当所有af子队列的包丢弃优先级为连续时,基于包丢弃优先级的af子队列调度配额为:

其中,当所有af子队列的包丢弃优先级个数为奇数时,队列包丢弃优先级的中值为中间的af子队列的包丢弃优先级,否则为中间两个af子队列的包丢弃优先级的平均值;

当所有af子队列的包丢弃优先级呈等比例(比如所有af子队列按包丢弃优先级排序后,其第一个af子队列的包丢弃优先级为1,第二个af子队列的包丢弃优先级为2,第三个af子队列的包丢弃优先级为4,第四个af子队列的包丢弃优先级为8,依次按2的倍数增加)时,基于包丢弃优先级的af子队列调度配额为:

af子队列分配到的调度配额为:

其中,m为af子队列的包丢弃优先级的级数,b=1,2…m;

当所有af子队列的包丢弃优先级为非连续或非等比例时,提供配置文件读取基于包丢弃优先级的调度配额比例;

根据基于包丢弃优先级的调度配额比例,计算基于包丢弃优先级的af子队列的调度配额:

基于包丢弃优先级的af子队列的调度配额=

af流队列可以接纳的流量数量*基于包丢弃优先级的调度配额比例。

在步骤203和步骤204中,当所有af子队列的包丢弃优先级及时延优先级为非连续或非等比例时,可以根据流量类别直接读取调度配额比例表格中的数据,部分业务流的调度配额比例表如下:

在步骤205中,获取基于流量到达率、基于时延优先级和基于包丢弃优先级的调度配额权重w1、w2和w3。

在本发明的一个实施例中,调度配额权重w1、w2和w3的获取方法包括:

获取网络当前时刻的信道利用率;

判断当前时刻的信道利用率与上一时刻的信道利用率的差异是否小于预设阈值;

若小于等于预设阈值,则网络的信道利用率为当前时刻的信道利用率;

若大于预设阈值,则根据预设网络状态对应的信道利用率范围,确定当前时刻网络的当前网络状态;

根据当前网络状态读取w1、w2和w3的权值;所述预设网络状态包括轻载状态、中载状态和重载状态。

当平均信道利用率低于20%时,系统处于轻载状态;当平均信道利用率高于20%且小于80%时,系统处于中载状态;当平均信道利用率高于80%时,系统处于重载状态。

当网络处于轻载状态时,系统的时延和丢包率均很小,这时的队列服务配额主要由基于流量到达率的服务配额决定;当网络处于中载状态时,系统的时延增加,丢包率不是很大,这时的队列服务配额主要由基于时延优先级的服务配额决定;当网络处于重载状态时,系统的时延和丢包率急剧增大,这时的队列服务配额主要由基于包丢弃优先级的服务配额决定。

本发明设计了两种权重动态调整算法:分段调整权重(差异小于等于预设阈值)和连续调整权重(差异大于预设阈值)。

分段调整权重为:当网络环境处于轻载状态下,设置w1=0.9、w2=0.08、w3=0.02;当网络环境处于中载状态下,设置w1=0.001、w2=0.9、w3=0.099;当网络环境处于重载状态下,设置w1=0.0001、w2=0.001、w3=0.9989。

连续权重调整:权重调整主要依据af子队列流量到达特性(即队列的流量到达率)和队列的传输服务质量需求特性,假设相应的权重分别为w流量到达率和w传输服务质量需求,w流量到达率=w1。其中队列的传输服务质量需求特性包括时延优先级和包丢弃优先级。w流量到达率随网络的信道利用率增加递减,w传输服务质量需求随网络的信道利用率增加递增,

然后将分配到时延优先级和包丢弃优先级,采用下列算法计算w1,w2和w3:

w1=w流量到达率;

在步骤206中,通过基于流量到达率、基于时延优先级和基于包丢弃优先级的调度配额和对应的调度配额权重,计算af子队列的调度配额:

af子队列的调度配额=w1*基于流量到达率的af子队列的调度配额+w2*基于时延优先级的af子队列的调度配额+w3*基于包丢弃优先级的af子队列的调度配额。其中,w1、w2和w3为调度配额权重,w1+w2+w3=1。

上述步骤202至步骤205之间没有先后顺序,其可以是同步运行。

在步骤103中,根据af子队列的调度配额,调度af子队列中与调度配额相同数量的业务流,并按预设队列顺序对所有af子队列读取的业务流进行排序形成等待再次调度的af业务流。

正常情况下af子队列为第一af子队列、第二af子队列、第三af子队列、…、第n个af子队列,而预设队列顺序可能会是第三af子队列、第一af子队列、第五af子队列、…、第n个af子队列。

为了保证调度的高质量,实施时,每个af子队列的调度配额计算完成后,还需要根据af子队列的调度配额设置af子队列的实际调度配额,其具体设置方法如下:

判断af子队列的流量平均到达量是否小于af子队列调度配额;

若小于,则af子队列的实际调度配额=af子队列的流量平均到达量,否则,af子队列的实际调度配额=af子队列调度配额;

之后,调度af子队列中与实际调度配额相同数量的业务流,并按预设队列顺序对所有af子队列读取的业务流进行排序形成等待再次调度的af业务流。

在步骤104中,接收调度设定调度量业务流的调度任务,初始设定调度量等于网络带宽;在进行调度时,大部分情况下,设定调度量会大于关键业务流队列中的业务流数量。

在步骤105中,判断关键业务流队列中的业务流数量是否小于设定调度量。

在步骤106中,若小于设定调度量,则调度关键业务流队列中的所有业务流,否则,调度与设定调度量等量的关键业务流。

在执行调度任务时,关键业务流队列、af流队列和be流队列中的业务流均按照先到先出的方式进行调度,在af子队列中按调度配额调取业务流时也应当遵循这一原则。

在步骤107中,采用设定调度量减已调度出的关键业务流队列中的业务流数量更新设定调度量,并判断af流队列中等待调度的业务流的数量是否小于新的设定调度量。

在步骤108中,若小于或等于,则调度af流队列中的所有业务流,否则,调度与设定调度量等量的af业务流。

在步骤109中,采用设定调度量-(已经调度出去的关键业务流队列中的业务流数量+已经调度出去的af流队列中的业务流数量)再次更新设定调度量,并判断再次更新后的设定调度量是否大于零,若大于零,则调度be流队列中与设定调度量等量的be业务流数量。

在本发明的一个实施例中,当根据调度任务从af流队列中调度出业务流后,该调度方法还包括更新当前af流队列长度:

当前af流队列长度=上一时刻af流队列长度+新到达的业务流数量–从af流队列中调度出去的业务流数量。

如图3所示,其为在分段调整权重方式下,采用优先级中值等比例方式计算基于时延优先级和基于包丢弃优先级级的af子队列的调度配额。af子队列1-5的时延优先级分别为5,4,3,2,1;丢包优先级也为5,4,3,2,1。;图中给出的是af子队列实际调度配额与到达流量之间的关系。

如图4所示,其为在分段调整权重方式下,采用优先级与2的幂运算方式计算基于时延优先级和基于包丢弃优先级级时的af子队列的调度配额。af子队列1-5的时延优先级分别为5,4,3,2,1;调节丢包优先级为1,2,3,4,5。。图中给出的是af子队列实际调度配额与到达流量之间的关系。

如图5所示,其为在连续调整权重方式下,采用优先级中值等比例方式计算基于时延优先级和基于包丢弃优先级级的af子队列的调度配额。af子队列1-5的时延优先级分别为5,4,3,2,1;调节丢包优先级为3,2,3,4,1。。图中给出的是af子队列实际调度配额与到达流量之间的关系。

综上所述,本发明提供的列车控制与服务网络的调度方法能够在保证关键业务流的调度优先级的前提下,还能为af子类业务提供一定的服务质量保证,并且能保证af子业务流之间的到达流量、时延优先级和包丢弃优先级之间的比例公平性。

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