面向时间触发以太网的自适应服务质量优先级调度方法与流程

文档序号:18969268发布日期:2019-10-28 23:47阅读:423来源:国知局
面向时间触发以太网的自适应服务质量优先级调度方法与流程
本发明属于信息网络
技术领域
,具体涉及一种面向时间触发以太网的自适应服务质量优先级调度方法。
背景技术
:目前,人类对太空的探索活动主要是由发射的航天器进行,航天器主要由人造地球卫星、载人航天器和空间探测器三类构成,细化下来进一步形成针对各种不同应用场合的航天器,包括针对军事应用的军事侦察卫星和针对民用的各种气象、通信卫星,以及提供科研试验平台的空间站等。航天技术发展至今,已经成为一个国家综合国力的体现。当今航天器的发展,以模块化为方向的趋势越来越明显,所谓模块化是指航天器由多个相互独立的子模块构成,多个子模块则通过组合的方式实现一个航天器的基本功能,例如我国不久前发射的天宫二号空间实验室,就可以看是一系列模块化航天器的主模块,主模块与后续发射的不同舱室共同构建我国的空间站。模块化航天器的发展方向,不仅推动了航天器本身的发展,而且对航天器内部使用通信网络提出了更高的要求,传统的基于总线的方式不仅在带宽上已经不满足报文数据传输的要求,而且在实时性、可拓展性方面也无法满足要求。因此,引入时间触发以太网技术作为航天器内部通信的骨干网,能够有效满足可拓展性、稳定性以及报文数据多样性的应用需求。然而,直接将时间触发以太网应用在航天器中,也面临着一些严峻的考验,具体如下:(1)报文数据传输服务质量的问题模块化航天器的发展推动了大型复杂航天器设计的可能,在地面使用的时间触发以太网中,网络对于终端数量的支持以及对于所传输的非实时报文数据的服务质量的支持有限,不能够满足复杂航天器的稳定可靠运行。(2)带宽利用率问题传统的限流,是系统运行之前便已经将限速速率配置完成,然而对于不同优先级的流而言,在保证总的限速速率不变的情况下,提前配置无法充分使用链路带宽,这样导致某些传输需求大的数据出现丢包严重的现象。技术实现要素:针对上述存在的报文数据传输服务质量的问题、带宽利用率问题,本发明提出了一种面向时间触发以太网的自适应服务质量优先级调度算法,在保障高优先级数据优先转发的情况下,通过自适应的调整各条流的带宽限速速率,以达到在不同的链路情况下更加合理的利用带宽的目的。本发明的目的是通过下述技术方案实现的:1、该方法由限流部分和优先级控制部分组成,两个部分都由链路观测模块的监测结果控制,但是两个部分彼此无关,其中限流部分主要完成对令牌阵列的配置任务,优先级控制部分主要完成报文的优先级调度。2、链路观测模块包括统计模块、记录模块、计算模块、配置模块、流记录模块五个模块,其中统计模块的功能是对进入的报文信息进行分类,根据分类对不同的流进行监测统计;记录模块的功能是将一段时间内监测的统计结果记录到五元组,即{分类标识,报文长度,报文个数,最大报文间隔,最小报文间隔};计算模块的功能是五元组中相关参数计算出报文的限流带宽;配置模块的功能是形成相应的配置参数发送给限流部分的令牌阵列模块,这样每一段时间段能够更新一次令牌阵列的配置,使得令牌阵列能够随着链路实际状况动态调整;流记录模块的功能是根据分类监测流状态,将监测的结果记录到流记录模块中,对于长时间未检测报文的流,通过发送相关的标识信息给优先级控制部分的优先级调度模块,使得优先级调度模块运行时,删除相应流的时隙,而当再次监测到该流的报文时,则立即重新启动该流对应的时隙。3、限流部分的令牌阵列模块接收到链路观测模块发送的相应的配置参数后,会进入限流处理,通过比较相应优先级的流内存在的令牌数与报文的大小,来决策报文是通过或是丢弃,并将决策控制结果输出给后继逻辑单元,由后继逻辑单元执行相应处理,从而达到流量控制的目的。4、优先级控制部分的优先调度模块内设一个定时器,完成多个时隙的定时,对于优先级高的报文,分配的时隙会更长,而优先级低的报文,则分得更短的时隙。5、当链路观测模块长时间未监测到某条流的报文时,通过标识信息通知优先级控制部分的优先级调度模块删除该条流对应的时隙,并将该流所对应的时隙,按照时隙公式分配给其他流进行运行,在下一个新的调度周期开始按照重新分配的时隙进行报文转发,当链路观测模块重新监测到某条流的报文时,首先将该流的报文转发通过补偿定时进行发送,当链路观测模块再次监测到该流对应报文时,则通知调度模块重新开启时隙分配,这样避免系统某一突发的报文对时隙资源的消耗。6、如果报文优先级高且数据量小,控制结果优先转发,设置更小的转发速率;如果报文优先级高且数据量大,控制结果优先转发,设置更大的转发速率;如果报文优先级低且数据量小,控制结果次优先转发,设置更小的转发速率;如果报文优先级低且数据量大,控制结果次优先转发,设置更大的转发速率。与现有技术相比,本发明的优点在于:本方法能够根据链路的实际状态,动态的完成对报文的配置,在保障高优先级数据优先转发的情况下,通过自适应的调整各条流的带宽限速速率,以达到在不同的链路情况下更加合理的利用带宽的目的。附图说明图1是本发明所述的面向时间触发以太网的自适应服务质量保证调度方法的工作流程图图2链路观测模块实现框图图3令牌桶未充满示意图图4令牌桶充满示意图图5优先调度模块。具体实施方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图1所示,为面向时间触发以太网的自适应服务质量保证调度方法的流程图。首先,报文经过一个分类模块,将报文按照不同的优先级进行分类,优先级不同的流进入不同的缓冲区进行缓存,报文观测模块同时会监测分类结果并将结果记录在本地,除此之外,报文相关信息还会传送给令牌阵列,等待令牌阵列的处理结果;报文观测模块会监测一段时间内报文的各种属性,并以多元组的方式记录在本地,时间到期之后,观测模块进行结果计算分析,并根据计算结果重新进行针对不同优先级报文的限流带宽的分配;令牌阵列接收到报文的相关信息之后,会进入限流处理,主要是通过比较相应优先级的流内存在的令牌数与报文长度的大小,来决策报文是通过还是丢弃。优先级调度模块内设一个定时器,用以完成多个时隙的定时,对于优先级高的报文,分得的时隙会更长一些,而对于优先级低的报文,则分得更短的时隙。除此之外,链路观测模块还监测某一条流的存在时间,一旦该流超时或者新到来一条流,则通知优先级模块进行流的删除或增加。如图2所示,链路观测模块包括统计模块、记录模块、计算模块、配置模块、流记录模块五个模块,其中统计模块的功能是对进入的报文信息进行分类,根据分类对不同的流进行监测统计;记录模块的功能是将一段时间内监测的统计结果记录到五元组,即{分类标识,报文长度,报文个数,最大报文间隔,最小报文间隔};计算模块的功能是五元组中相关参数计算出报文的限流带宽;配置模块的功能是形成相应的配置参数发送给限流部分的令牌阵列模块,这样每一段时间段能够更新一次令牌阵列的配置,使得令牌阵列能够随着链路实际状况动态调整;流记录模块的功能是根据分类监测流状态,将监测的结果记录到流记录模块中,对于长时间未检测报文的流,通过发送相关的标识信息给优先级控制部分的优先级调度模块,使得优先级调度模块运行时,删除相应流的时隙,而当再次监测到该流的报文时,则立即重新启动该流对应的时隙。上述提及的五元组信息如表:五元组说明分类标识标识不同的流信息,根据系统传输需求而设置报文长度记录报文在一段时间内报文的最大长度报文个数记录报文在一段时间的总数,到时清零最大报文间隔记录报文在一段是内两个连续报文之间最大的时间间隔最小报文间隔记录报文在一段是内两个连续报文之间最小的时间间隔上述提及的计算报文限速带宽公式:单位为Mbps,其中n表示流的数量,i表示其中的某条流;当计算出的报文限速带宽为初始带宽的90%~110%,配置模块则使用初始的参数配置,当计算出的报文限速带宽小于初始带宽的90%或110%时,配置模块需按照实际所需的比例重新配置参数。上述提及的限流部分的令牌阵列模块接收到链路观测模块发送的相应的配置参数后,会进入限流处理,通过比较相应优先级的流内存在的令牌数与报文的大小,来决策报文是通过或是丢弃,并将决策控制结果输出给令牌阵列配置模块,由后继逻辑单元执行相应处理,从而达到流量控制的目的。令牌阵列模块根据时间粒度、令牌增加粒度和报文的决策控制结果,对令牌桶执行添加/删除令牌操作。A配置参数选取令牌阵列配置模块通过4个参数进行配置,即令牌桶深(Bucket_Len)、令牌增加粒度(TokenAdd_GRN)、令牌粒度(Token_GRN)和时间粒度(Time_GRN),其值均为正整数,各参数的含义如表所示。系统通过配置参数,可以达到限制不同速率的流的目的。配置参数含义令牌桶深令牌桶中可容纳的最大令牌数令牌增加粒度1个时间粒度内向令牌桶内添加的令牌个数令牌粒度1个令牌允许通过的报文字节数,通常配置为一个令牌允许通过一个字节的报文时间粒度令牌增加的时间间隔B令牌阵列配置参数与五元组中报文个数、报文长度的关系令牌桶深length,令牌桶的时间粒度为time_gen,令牌增加粒度为tokenadd_gen,系统上电开始运行时间为t0,测试仪于t1时刻开始发送测试报文,t表示测试仪的工作时刻,T为系统运行周期,sum为令牌桶内报文个数,r为1个时间粒度接收的报文个数,k为令牌增加粒度。记令牌桶限速的速率为v,则v满足如下计算关系:假设实验是基于ASR空间路由器开发板的实验平台进行,该平台工作时的时钟频率为125MHz,所以:具体推导步骤如下:1)t1时刻令牌桶未充满t1时刻令牌桶未充满表示在测试报文达到之前,令牌桶内的报文个数尚未达到令牌桶允许的最大令牌数,此时桶内的令牌数目满足如下关系:由于令牌桶所起作用为限流,则从t1开始之后,sum始终是向下减少的趋势,满足如图3所示两个函数关系的叠加(图3中,sum为令牌桶内报文个数,r为1个时间粒度接收的报文个数,K为令牌增加粒度的速率)。则在t时刻,令牌桶可以接收的报文个数receive_sum为:receive_sum=r×(t-t1)在t时刻,令牌桶可以发送的报文个数send_sum为:当上述两式相等时,从t0开始,系统第一次将令牌消耗完毕,记此时为t2,则称t2为排空时间,指令牌桶第一次给出丢弃报文的时间。在t1到t2时间内,sum≥receive_sum,故而在该段时间内,报文无丢弃。当t>t2时,则经过令牌桶的报文总数为从t0到t时间的令牌总数,则可以推算出经过令牌桶之后,报文的速率为:由于t1>t0即当系统运行时间足够长,令牌桶极限限速速率v为2)t1时刻令牌桶充满t1时刻令牌桶充满表示在测试报文达到之前,令牌桶内的报文个数已经达到令牌桶允许的最大令牌数,此时桶内的令牌数目满足如下关系:sum=length则从t1开始之后,sum满足如图4所示的两个函数关系的叠加:同理,排空时间t2满足如下关系:同理,在排空时间内,报文不会产生丢弃现象。当t>t2时,则经过令牌桶的报文个数为从t0到t时间内的令牌总数,则可以推算出经过令牌桶之后,报文的速率为:即当系统运行时间足够长,令牌桶极限限速速率综合1)、2)所得,系统长时间运行,令牌桶速速率为当系统在小尺度时间内运行时,处理结果如上述1)、2)所示。此外,在令牌桶深度相同的情况下,报文长度影响时间t2的值,即报文长度越大,令牌桶第一次给出丢弃报文的时间的值t2越小;报文长度越小,令牌桶第一次给出丢弃报文的时间的值t2的值越大。如图5所示,优先级控制部分主要控制报文的优先级转发,其中优先级调度模块内设一个定时器,完成多个时隙的定时,对于优先级高的报文,分配的时隙会更长,而优先级低的报文,则分得更短的时隙。记一个优先级调度周期为T,T由定时长度T0和补偿定时T1构成,一个优先级调度周期T中,系统首先运行T0,而当T0运行结束之后,T1才开始运行。时隙按照公式的方式进行计算,其中n表示优先级的数量,i表示某个优先级,当链路观测模块长时间未监测到某条流的报文时,则通过标识信息通知调度部分删除该条流对应的时隙,并将该流所对应的时隙,按照时隙公式分配给其他流进行运行,在下一个新的调度周期开始按照重新分配的时隙进行报文转发;当链路观测模块重新监测到某条流的报文时,首先将该流的报文转发通过补偿定时T1进行发送,当链路观测模块再次监测到该流对应报文时,则通知调度模块重新开启时隙分配,这样设计可避免系统某一突发的报文对时隙资源的消耗。如果报文优先级高且数据量小,控制结果优先转发,设置更小的转发速率;如果报文优先级高且数据量大,控制结果优先转发,设置更大的转发速率;如果报文优先级低且数据量小,控制结果次优先转发,设置更小的转发速率;如果报文优先级低且数据量大,控制结果次优先转发,设置更大的转发速率。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1