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

一种发送受限业务规划调度方法

2022-07-30 20:06:00 来源:中国专利 TAG:


1.本发明属于发送受限业务调度技术领域,尤其涉及一种发送受限业务规划调度方法。


背景技术:

2.目前,随着航空、航天、船舶及汽车等复杂性系统的发展,对数据传输带宽、实时性、可靠性提出了更高的要求,航空电子全双工交换式以太网(afdx)网络、时间触发以太网(tte)等确定性网络已广泛应用于航空航天电子控制系统及汽车网络等领域,速率受限(rate constrained)业务,简称rc业务,作为一种事件触发型业务,具有灵活性、动态性的优点,通过建立最大化带宽利用的周期通信来保证在复杂的网络中有限的传输时延,已成为确定性交换式以太网的主流通信业务之一。
3.对于发送受限业务来说,时延与抖动是其业务性能与网络服务质量(qos)的关键,以速率受限(rc)业务为例,传统速率受限(rc)业务的调度方式主要有以下几种:
4.使用先进先出队列(fifo)缓存。这种调度方式利用了fifo本身先进先出的特点,只需简单的对数据帧进行缓存,在发送时再依次读取,这种调度方法易于实现,队列管理简单,但发送受限业务往往为了不同的目的而使得业务的发送受到了一定的限制,例如速率受限(rc)业务就是对业务的带宽进行了限制,事实上采用fifo缓存的方式时,若是fifo中先入的业务一直不满足发送的条件,那么在它之后入队的业务即使满足了发送的条件也无法发送,这使得业务的派发时延会非常大,同时多条业务使用同一个fifo的方法使得不同业务之间的耦合影响非常严重,故这种实现方法在发送受限业务的调度上有着严重弊病。
5.简单轮询的调度方法。通过对不同业务进行轮询选择,对所有队列公平地分配带宽资源,这虽然保证公平性,但是效率较低,而且派发时延无法保证,一个入队较早的数据帧,可能因为该队列号刚刚被调度过不久,这使得其必须等待后续队列号全部轮询完成之后才能得到调度,这在一些应用场景下是不被允许的。
6.基于优先级的调度方法,主要有静态优先级队列调度算法(avlsp),索引表静态优先级调度方法(aisp)等,都是通过不同的算法来设置优先级,尽可能减小平均时延,但是这种静态的表项仅仅适用于各种业务流量相对稳定的情况下,在业务流量变化较大或者说业务流量没有任何规律的情况下,静态的优先级表项显然不够灵活,在保证了少数高优先级业务的同时,会导致大量的较低优先级业务的时延等参数性能很差。
7.基于时间片的rc业务调度表的方法。这种基于时间片的rc业务调度方法在业务数量很少时,还能保证其一定性能,但随着业务数量的增多,不仅业务的派发时延等性能无法保证,该业务规划表的规划生成也变得非常困难与复杂,甚至在业务数量达到一定程度时,完全无法生成一套满足要求的业务规划表。
8.速率受限业务,作为一种事件触发型业务,具有灵活性、动态性的优点,但事件触发型业务随机无规律,对系统及业务传输性能影响很大,如何既保持着其灵活性、动态性的特点又要满足其速率受限的约束,同时还需要保障系统内各个业务之间的整体性能以及防
止各个业务之间互相产生影响,是解决以上问题及缺陷的主要难度。
9.通过上述分析,现有技术存在的问题及缺陷为:
10.(1)传统速率受限(rc)业务的调度方式,普通fifo缓存中的不同业务耦合严重,不同业务之间有着严重影响,一个先进入缓存的业务被限制发送时,在它之后的所有业务都将被阻塞。
11.(2)简单轮询的调度方法的效率较低,且派发时延无法保证,完全公平的轮询方式导致一些发送较为频繁的业务会受到其它发送不频繁的业务的影响与限制。
12.(3)基于优先级的静态调度方法通过不同的算法来设置优先级,尽可能减小平均时延,但是这种静态的调度方法不太灵活,对于随机无规律的业务来说,效果很差,而且对优先级较低的业务牺牲较大。
13.(4)基于时间片的业务规划表,首先这种业务调度方法只适用于速率受限业务,无法应用于其它种类的受限业务,其次这种调度方法局限性很大,只适用于业务数量很少的情况下,并且在百兆工作模式下,限制极为苛刻。


技术实现要素:

14.针对现有技术存在的问题,本发明提供了一种发送受限业务规划调度方法。
15.本发明是这样实现的,一种发送受限业务规划调度方法,所述发送受限业务规划调度方法由系统自行生成并维护一份动态的业务规划调度表,并按照业务调度表对业务进行带有优先级的轮询调度;业务规划表按照业务下发的先后顺序生成轮询的优先级,其中下发较早的业务轮询优先级较高;系统在运行过程中,按照表项中的优先级从高到低进行轮询,直至轮询到满足发送间隔要求的业务后停止,并在不与其它类型业务冲撞的情况下出队,在业务开始出队时,将得到调度的表项链接到空闲链表中,并将表项的上一表项与下一条表项相链接。
16.进一步,所述发送受限业务系统在运行过程中动态维护业务调度表,并根据业务调度表对rc业务进行有优先级的轮询调度;调度表每行表项对应一次调度业务,其中每条表项中有上一跳地址、下一跳地址、调度帧数、vl索引与队列号五个属性;其中通过维护更新上一跳地址与下一跳地址保证表项的动态链接,调度帧数表示该业务在被调度时要发送几帧,vl索引表示该业务的vl号对应的索引值,队列号则表明了实际要调度的是哪条业务。
17.进一步,调度表中上一跳地址与下一跳地址这两个属性的存在保证了表项内容的动态更新;在初始化表项时,通过初始化整个表项的下一跳地址,将整个空闲链表链接起来;在入队时将业务的信息写入空闲链表的头地址处,并将其上一跳地址写为有效表项的尾地址,将空闲表项链接到有效表项中;在轮询时通过下一跳地址这一属性,并在轮询到可以调度发送的业务时,在确认调度业务后,更新表项的上一条表项的下一跳地址与该条表项的下一条表项的上一跳地址,保证调度表的连续性,同时在空闲链表尾的下一跳地址处写入该调度表项地址,将已调度完成的表项链接到空闲链表中。
18.进一步,调度表中调度帧数这一属性的存在,在调度层面上支持对超长消息进行分片重组;在维护调度表时,根据ip首部中的分片信息判断其是否为消息分片;选择使用ip首部中的mf标识字段作为是否为分片判断条件;调度帧数这一项表明这一业务在调度发送时需要发送几帧;
19.vl索引是对afdx中业务vl号的一种映射,将单一系统中可能使用到的0-4095的vl号映射到0-255的vl索引值上;使用队列号来对业务进行区分,而且不同队列号对应同一个vl索引,为不同业务可以共享同一条vl。
20.进一步,所述发送受限业务规划调度方法包括以下步骤:
21.步骤一,通过加载bag表的方式,确定规划的不同vl业务的bag大小,并通过令牌桶的算法,为各个vl业务进行bag流量整形;
22.步骤二,在不同队列号的业务进行入队申请时,使用队列号作为索引值查找子vl映射表,来确定队列号的业务是否需要使用规划调度方法,若需要则为其更新动态调度表,反之,则不更新表项;
23.步骤三,更新并维护动态调度表,在有发送受限业务入队或调度发送时,更新动态调度表内容,并在系统运行时,不断按照表项优先级进行轮询查表,直至找到满足bag要求的最高优先级业务;
24.步骤四,判断步骤三中提供的业务当前是否以及入队完成,若是已经完成入队则,读取业务的首帧帧长,并依据帧长与链路状态判断当前是否能够调度发送该业务,并在合适时间发送该业务。
25.进一步,所述步骤一中使用vl索引值作为查找bag表的索引,从bag表中读出vl业务的bag要求与抖动要求,使用令牌桶算法对rc业务进行流量整形,令牌桶的最大令牌数为bag值 抖动值,每次调度业务所需的令牌数即为bag值,在令牌数达到bag值及以上时,表明vl业务满足bag要求,被调度,并在业务被调度后,将令牌数清空,直至其再次累加到bag以上;
26.所述步骤二中使用队列号作为查找子vl映射表的索引,若该索引查找的内容有效,则表明队列号业务是需要排序调度的rc业务,反之则是不使用本规划调度方法的其它种类业务,同时,在vl映射表中会得到队列号业务所对应的vl索引值,其中有多个不同队列号的业务对应同一个vl索引值,以此实现子vl的概念;
27.所述步骤三中在入队时,确定入队业务是否为rc业务,若是普通rc业务则将其队列号与vl索引值填入业务规划调度表中,并在帧数字段上写1,若入队业务帧是分片帧则在其所有分片都申请入队后,将成功入队的帧数与队列号、vl索引写入空闲链表头中,并将空闲链表链接到有效表项尾;在系统正常运行时,将从最高优先级不断轮询读取表项,直到读取到满足bag要求的业务后,保持在表项,并将表项中的队列号、vl索引、发送帧数传输到rc调度模块中,等待该业务被调度发送;在该业务被调度发送完成时,则通过更新上一跳地址与下一跳地址将调度表项的前一条表项与后一条表项相连接,并将该调度过的表项链接到空闲链表尾;
28.所述步骤四中得到当前调度的业务信息之后,调度模块在确认队列号业务确实入队完成了之后,根据当前系统的发送状态判断能否发送该调度业务,在确认不会与其它种类业务冲突的情况下,发送当前调度rc业务。
29.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述发送受限业务规划调度方法的步骤。
30.本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述
计算机程序被处理器执行时,使得所述处理器执行所述发送受限业务规划调度方法的步骤。
31.本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述发送受限业务规划调度方法。
32.本发明的另一目的在于提供一种实施所述发送受限业务规划调度方法的发送受限业务规划调度系统,所述发送受限业务规划调度系统包括:入队申请模块、业务规划模块、队列管理模块、发送调度模块、表项配置模块;其中所述发送调度模块包括tt调度模块、rc调度模块、be调度模块,业务规划模块包括:入队规划模块、出队轮询模块、初始化表项模块;
33.入队申请模块:向队列管理模块提出入队申请,提供队列号、帧长、分片信息等信息;
34.入队规划模块:按照入队先后顺序生成并不断更新业务规划表;
35.出队轮询模块:按照业务规划表的优先级对表项内容进行轮询,在轮询到满足发送条件的业务后,调度该业务,并在该业务完成调度时,更新业务规划表与空闲链表,之后继续按照优先级对表项进行轮询;
36.初始化表项模块:在系统刚运行时,对空闲链表进行初始化,保证其为连续;
37.队列管理模块:将所有业务进行缓存管理,按照队列号维护队列信息,使用动态的共享缓存机制;
38.表项配置模块:完成对bag表与子vl映射表的配置;
39.tt调度模块:在实现时应用于tte端系统,用于对系统中的tt业务进行调度,在实际使用时按照使用的实际情况决定是否需要此模块;
40.rc调度模块:判断当前是否能够发送表项中规划调度的业务,在发送时,调度业务进行发送,同时开启保护窗;
41.be调度模块:用于对普通以太网be业务进行调度。
42.结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
43.第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:本发明提供的速率受限业务规划调度系统,可以处理不定长的速率受限(rc)业务,业务整体的调度时延很小,且整个调度过程无需缓存完整数据帧,业务数据只需缓存在队列管理中就能完成所规划的调度,减少了系统对现场可编程门阵列(fpga)存储资源的消耗。
44.本发明还包括以下有益效果:
45.(1)本发明通过系统运行时自动生成并维护业务调度表,对业务模型的适应性强,根据业务流量自身的特性来生成业务调度表。
46.(2)不同业务之间的隔离性强,不同队列的业务之间的相互影响较弱,不存在有先入业务在不能发送的情况下对后入业务的阻塞,在部分业务出现问题的情况下,不会影响到其它业务的调度发送。
47.(3)支持对消息分片数据帧的连发功能,丰富了发送受限业务的功能与适用场景,
并在一定程度上提升了发送受限业务的带宽。
48.(4)实现了afdx系统中的子vl的概念,使得多个业务可以共用同一条虚拟链路,既保留了虚拟链路之间的隔离,同时提升了虚拟链路的利用率。
49.(5)先入先出的调度思想,在系统整体层面上保证了各条业务的调度时延最小。
50.(6)本发明所设计的速率受限业务规划调度系统,除了可满足于上述tte系统与afdx系统之外,对于任意使用速率受限(rc)业务的以太网与其它类型发送受限业务系统都适用。
51.第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
52.以速率受限业务为典型的各种发送受限业务,已成为确定性交换式以太网的主流通信业务之一,在航空、航天、船舶、汽车等诸多复杂性系统中应用广泛,发送受限业务在增加了各种发送约束的牺牲下,往往在性能上,如数据传输带宽、实时性、可靠性等方面提出了更高的要求,通过对调度方法与系统的研究,可以进一步保证受限业务在复杂的网络中有限的发送时延,进一步提高其实时性,是以太网发展的重要研究方向,从而推动确定性交换式以太网和各种发送受限业务的发展。本发明提出了以速率受限业务为基础的一种对发送受限业务的规划调度方法与应用。这种新型规划调度方法一方面,使用具有优先级的动态规划调度表,降低了系统内所有业务流的整体发送时延,使每一条业务流都得到了恰当的保障;另一方面,根据本发明的调度方法在提高了普适性的同时还增加了虚链路(vl)隔离、虚链路共享、数据帧连发等实用功能。
53.第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
54.(1)本发明的技术方案转化后的预期收益和商业价值为:
55.以速率受限业务为典型的各种发送受限业务,已成为确定性交换式以太网的主流通信业务之一,在航空、航天、船舶、汽车等诸多复杂性系统中应用广泛。本发明的技术方案在当前火热的汽车生态领域中有着很好的应用前景与商业价值。在标准的以太网中,实时性是难以保证的,而本发明的技术方案允许在同一网络上共存不同优先级的不同流量类别,并对业务的可用带宽和端到端延迟提供一定的保障,这对于汽车的安全行驶甚至自动驾驶有十分重要的帮助,可以推动车载网络与车载生态的进一步发展。相较于tte网络与tsn网络中原有的速率受限业务的调度方式,本发明的调度方法不仅可以保障低发送时延,而且系统运行过程中根据业务流量自行生成并更新调度表的特性使得它对于业务模型的变化有着很强的适应能力,这一特点非常嵌合汽车网络中多变的环境导致的业务流量变化大且随机的特点。虚链路隔离、虚链路共享、数据帧连发等实用功能将保障着在智能生态中复杂繁多的业务之间都得到一定的服务保障,并且各业务之间将不会存在干扰的影响,更有助于一个车载系统的健壮性与稳定性。
56.(2)本发明的技术方案是否解决了人们一直渴望解决、但始终未能获得成功的技术难题:
57.传统的对发送受限业务的调度方法在不同业务之间的干扰影响总是难以解决,并且在保障了部分业务的服务质量的同时往往对其它业务的服务质量牺牲较大,再加上受限业务本身的随机性等一系列问题导致以往的调度方法往往都有着很强的局限性,对应用场景都有着一定的条件,只能根据实际情况进行取舍。而本发明的技术方案在满足了受限业
务的约束条件的情况下,根据业务自身的流量情况生成调度表,解决了业务源随机性的问题,提高了算法的普适性,并且业务之间存在隔离,不会相互产生影响,业务的整体服务质量也得到了很好的保障。解决了以往各种受限业务调度上的片面性的特点,提出了一种十分全面的调度方法,让发送受限业务的应用场景更加广泛。
附图说明
58.图1是本发明实施例提供的发送受限业务规划调度方法流程图;
59.图2是本发明实施例提供的发送受限业务规划调度系统的结构示意图;
60.图3是本发明实施例提供的发送受限业务规划表示意图;
61.图4是本发明实施例提供的发送受限业务规划调度方法的实现流程图;
62.图5是本发明实施例提供的速率受限业务规划调度设计框图;
63.图6是本发明实施例提供的速率受限业务规划调度实现系统示意图;
64.图中:1、入队申请模块;2、队列管理模块;3、业务规划调度模块;4、发送调度模块;5、配表模块。
65.图7是本发明实施例提供的系统整体发送时延仿真图;
66.图8是本发明实施例提供的业务调度轮询最大固有时延图;
具体实施方式
67.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
68.一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
69.如图1所示,本发明实施例提供的发送受限业务规划调度方法包括以下步骤:
70.s101,查找子虚拟链路(vl)映射表,确认入队业务为速率受限业务(rc)业务且队列管理允许入队后,将入队业务的帧数、vl索引值、队列号写入空闲表项中,并将其连接到调度表尾,更新调度表尾指针与空闲表头指针;
71.s102,从调度表头指针处开始轮询,轮询得到满足带宽分配间隔(bag)要求的业务后,将该业务的信息发送到发送调度模块,等待业务调度;
72.s103,发送调度收到调度队列号后,确认该队列好有数据帧缓存,则读取该业务帧长,并根据帧长判断是否会与时间触发(tt)业务发送冲撞,在不冲撞的情况下调度发送该队列号业务,并为其开启发送窗;
73.s104,在发送派发命令后,更新bag令牌,同时将调度业务的表项连接到空闲链表尾,并且将调度表项前后两条表项相连接,之后重新从调度表头处开始轮询。
74.如图2所示,本发明实施例提供的发送受限业务规划调度系统包括:入队申请模块1、队列管理模块2、业务规划调度模块3、发送调度模块4、配表模块5;其中所述业务规划调度模块3包括:入队规划模块、出队轮询模块、初始化调度表模块;发送调度模块4中包括:rc流量整形模块、rc调度模块、tt调度模块和普通以太网(be)调度模块。
75.入队规划模块,在每次业务入队时,将入队业务的帧数、vl索引、队列号信息存储
在空闲链表头,并将空闲链表头连接到调度表尾,之后更新空闲链表头指针与调度表尾指针;
76.出队轮询模块,在调度表非空的情况下,从调度表头开始轮询,直至得到满足bag条件的业务停止,在该业务被调度发送后,将该表象连接到空闲链表尾,同时保障调度表内部的连续;
77.初始化调度表模块,在系统刚上电时,此时调度表为空,将所有空闲链表进行链接;
78.rc流量整形模块,根据bag表中的参数,为各个vl计算令牌,在令牌数达到bag后将该vl置为有效,在该vl有业务发送后,将令牌数减去bag;
79.rc调度模块,读取调度业务的帧长,并判断此时能否发送,在不会与其它类型业务发生冲撞的情况下,发生调度业务,并开启发送窗;
80.tt调度模块,按照tt调度表对tt业务进行派发,属于本发明实施例系统自身的其它应用,可以去除;
81.be调度模块,用于对普通以太网帧进行调度,优先级低于tt业务与rc业务,仅在tt与rc空闲时调度。
82.下面结合实施例对本发明的技术方案作进一步的描述。
83.1、以下对速率受限业务规划调度方式进行说明。
84.速率受限(rc)业务主要被应用于航空电子全双工交换式以太网(afdx)网络与时间触发以太网(tte)中,它是一种事件触发型业务,其对每一个虚拟链路(vl)的业务有着最大带宽限制,通过对业务自身的流量模型动态构建业务调度表,可以有效降低rc业务的发送时延以及提高系统的普适性。
85.如图3所示为rc业务规划表,系统在运行过程中,由系统自行生成并维护一份动态的业务规划调度表,并按照此业务调度表来对业务进行带有优先级的轮询调度;该业务规划表按照业务下发的先后顺序来生成轮询的优先级,其中下发较早的业务轮询优先级较高;系统在运行过程中,按照表项中的优先级从高到低进行轮询,直至轮询到满足发送间隔要求的业务后停止,并在不与其它类型业务冲撞的情况下将其调度出队,在业务开始出队时,将得到调度的表项链接到空闲链表中,并将该表项的上一表项与下一条表项相链接。
86.调度表中每一条表项都对应一个端口的业务,在业务入队时将业务的信息写入空闲链表的头地址处,并将表项中的上一跳地址写为有效调度表的尾地址,从而将空闲表项链接到有效调度表项中;在有效调度表非空的情况下,通过读取表项内容中的下一跳地址来不断进行轮询,这样可以保证一直在有效表项中进行轮询,提高了轮询的效率,并在轮询到可以调度发送的业务时,在确认调度该业务后,更新该条表项的上一跳表项的下一跳地址与该条表项的下一跳表项的上一跳地址,保证有效表的连续性,同时在空闲链表尾的下一跳地址处写入该调度表项地址,从而将该调度完成的表项链接到空闲链表中,保证整套调度表的循环使用。在表项更新之后,继续从有效调度表最高优先级处开始轮询。
87.在有数据帧进行入队申请时,入队申请模块会提供一些ip首部中的有关ip分片的字段信息,业务规划调度模块可以根据这些分片信息来判断其是否为消息分片;本发明实施例在实现过程中选择使用ip首部中的更多分片(mf)标识字段来作为是否为分片判断条件;在入队申请时,若mf信号为高,则表明当前申请入队帧为分片帧,且后续仍然有分片帧
申请入队,故此时记录入队帧数,直至最后一个分片帧申请入队后(mf信号为低时),将业务信息写入一条表项中,并在表项中的调度帧数字段上写入记录的入队帧数;在出队调度时,调度帧数这一项表明了这一业务在调度发送时需要发送几帧,从而保证了对同一消息的不同分片的连续发送功能,同时也极大增加了rc业务的带宽。
88.本发明实施例使用队列号来对不同端口的rc业务进行区分,而且本发明实施例中的不同队列号可以对应同一个vl索引,即不同端口业务可以共享同一条vl,这在一定程度上提高了对每条vl的利用率。在入队申请时,可通过申请入队的队列号去查找子vl映射表,一方面可以确认此端口业务是否为rc业务(非rc业务查表得到全0),另一方面也得到了业务的vl索引值,之后将该vl索引值连同队列好一同写入业务规划调度表中。在轮询调度表时,通过表项中的vl索引值来判断该条业务属于哪一条vl,并且判断该vl是否满足bag的要求。
89.2、以下对技术方案业务发送模式进行说明。
90.速率受限业务规划调度的实现系统是基于上述的速率受限(rc)业务规划和调度方式进行实现的,它可以在按照系统维护的rc业务规划调度表来调度rc业务的同时,也能不冲突的处理时间触发(time-triggered,简称tt)业务与普通以太网(best effort,简称be)业务等其他类型业务。如图6所示为速率受限业务规划调度实现系统示意图,该图表现了在本发明实施例中rc业务、tt业务与普通的be业务的无冲撞传输模式。
91.在发送调度模块中,其中tt调度根据预先配置的tt派发表进行派发,其在规定的时间点发送规定的业务;rc调度模块则根据得到的调度队列号来向队列管理模块查找业务帧长,在得到业务的帧长后,rc调度模块会判断此时派发该业务的话能否在下一个tt派发的时间点前将该rc业务发送完毕,防止与tt业务的发送产生冲突,在不会发送冲突的情况下,则开始发送调度的rc业务;be业务是普通的以太网帧,其只在tt业务与rc业务都空闲的情况下进行发送。
92.3、以下对技术方案工作流程进行说明。
93.如图4所示为速率受限(rc)业务规划调度的工作流程。在有业务申请入队时,会根据子vl映射表的查找结果来判断该业务是否为rc业务,若不是rc业务则不做处理,正常进行入队申请。若申请业务是rc业务,则在该业务被允许入队的情况下,将该业务的入队帧数、vl索引、队列号信息写入到空闲链表头,并将该表项链接到调度表的尾部。在调度表非空的情况下,会从调度表的最高优先级处不断对调度表进行轮询,直到轮询得到满足bag要求的表项,并将该表项中记录的调度帧数、vl索引、队列号信息发送到rc调度模块中。rc调度模块会确认队管中该队列号是否有帧缓存,在确认有帧后,会从队列管理模块中读取该队列的首帧长,并根据该帧长与tt业务的派发时间来判断当前是否能够发送该rc业务,来确认不会造成业务冲突时,开始发送该业务。若是调度帧数不为1,则在调度完1个数据帧后,继续读取该队列号的首帧长,继续上述操作,直至发送到表项中规定的调度帧数时,将该调度表项链接到空闲链表的尾部,并将该调度表项的前后两条表项进行链接,同时将该vl对应的令牌数减去该vl的bag值。
94.4、以下对技术方案的具体设计进行说明。
95.如图5所示为本发明的整体结构图。
96.在入队申请模块中使用两个先入先出队列(fifo)对需要申请入队的数据帧与该
数据帧的信息暂时进行缓存。在确认两个fifo都非空时,读取信息fifo中缓存中数据帧信息,并拉高入队申请信号,申请入队。在允许入队时,将数据帧从数据fifo中读出发送到队列管理模块中,反之,则将数据帧读出丢弃。
97.队列管理模块中会根据申请的队列号与帧长判断该业务是否能够入队,若允许入队则拉高相应的信号,并将数据帧缓存,更新队列信息。
98.初始化表项模块在系统刚上电运行时,将所有空闲链表链接到一起。
99.业务规划调度模块会使用申请入队的队列号来查找子vl映射表,并根据查表结果来判断入队业务是否为rc业务。若入队业务为rc业务且队列管理模块允许入队,那么入队规划模块会根据mf信号来判断入队业务是否为分片数据帧,若不是分片数据帧,则根据空闲链表头指针,往空闲链表头指针中写入调度帧数、vl索引与队列号,并在表项中上一跳地址处写入有效调度表尾指针,同时更新空闲链表头指针与有效调度表尾指针。若申请入队帧为分片帧,则暂时不将业务信息写入空闲表项中,而是等待该消息的其它分片申请入队后统一写入空闲链表头中。在分片申请入队期间会统计申请入队的分片数,并将其写入表项中的调度帧数中,以此实现在发送时将同一消息的分片帧进行连发。
100.在调度表非空的情况下,出队轮询模块对调度表项进行轮询,首先从有效调度表头指针处开始,即从先入队的业务开始轮询,在轮询过程中,会根据表项中的vl索引值与rc流量整形模块中的bag比特码表来判断其是否满足bag要求。轮询到有效调度表尾指针处后跳转到调度表头继续轮询,直至从表项中找到满足bag要求的业务时停止轮询,将该表项中的调度帧数、vl索引值与队列号发送到rc调度模块中等待调度。在该业务调度到调度帧数时,则更新上一跳地址与下一跳地址将调度表项的前一条表项与后一条表项相连接,并将该调度过的表项链接到空闲链表尾。
101.在发送调度模块中,其中tt调度根据预先配置的tt派发表进行派发,其在规定的时间点发送规定的业务;rc调度模块则根据得到的调度队列号来向队列管理模块查找业务帧长,在得到业务的帧长后,rc调度模块会判断此时派发该业务的话能否在下一个tt派发的时间点前将该rc业务发送完毕,防止与tt业务的发送产生冲突,在不会发送冲突的情况下,则开始发送调度的rc业务;be业务是普通的以太网帧,其只在tt业务与rc业务都空闲的情况下进行发送。
102.本发明通过系统运行过程自行生成表项,极大的提高了对表项轮询的效率,对有效调度表中的每一条表项都代表着已经入队的业务,相较于其它按表项轮询的方法,不会出现轮询到可以调度的业务,此时队管中却没有此业务的情况。
103.本发明生成的业务规划表中,通过优先轮询先入队的方法,保证了系统中各个业务整体的低派发时延,尽可能的做到了先入先出的调度。
104.本发明的调度方法中,实现了不同业务之间的虚拟隔离,各个业务之间不存在相互阻塞的情况,当部分业务的派发条件极为苛刻时,不会影响到其它业务的正常调度发送。
105.本发明使用动态维护表项的方法,极大的提高了表项的利用率,只需要使用较小的存储空间循环利用便可以满足大量业务的调度需求,同时较小的表项深度也减少了轮询的开销。
106.本发明实现的规划调度方法、系统与应用可以支持分片连发功能与子vl的概念,功能丰富。
107.本发明所实现的系统具有很强的适应性,不仅对业务的流量模型有很强的适应能力,而且除了可满足于上述航空航天电子系统之外,对于任意使用速率受限(rc)业务的以太网和其它类型发送受限业务都使用。
108.应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
109.二、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
110.1.对本实施例与传统调度技术进行对分析:
111.1)与使用先进先出队列(fifo)缓存进行对比。
112.在实现上直接使用一个fifo对业务进行先入先出显然是非常简单的,同时在理想情况下有着最低的调度时延。但考虑到实际应用于发送受限业务中时,不难发现发送受限业务对每条业务的发送都具有一定的约束条件,倘若先入队的业务不满足发送条件时,那么fifo中的后入队业务将无法发送,在业务数量比较多的情况下,这种调度方式的效率将非常低,并且业务之间的耦合影响十分严重。
113.反之,对于本发明的调度方法,在入队业务都能满足发送约束的情况下,本发明也可看做是一种先入先出队列,同样具有很低的调度时延,反之若是入队业务无法满足发送约束,本发明的方法也完全可以对其它满足发送要求的业务进行轮询调度,丝毫不受先入队业务的影响。因此,本发明与使用fifo缓存的方式相比较有着非常明显的优势;
114.2)与简单轮询的调度方法进行对比。
115.简单轮询调度通过对不同业务进行轮询选择,对所有队列公平地分配带宽资源。但事实公平的进行轮询也是一种不公平,不同业务的流量与发送频率是不同的,只是简单的对业务进行轮询显然是不公平的。倘若有些业务的发送条件相较于其它业务来说比较宽松,同时业务流量较大,那么这种公平轮询的方式显然是不合理的,并且这种调度方式也无法降低业务的调度时延。而面对这种情况本发明则可以很好的解决,倘若一些业务本身流量较大,那么其自然在调度表中所占有的比例就高于其它流量较小的业务,那么该业务被调度的次数与机会自然就多于那些流量较小的业务。
116.3)基于优先级的调度方法,主要有静态优先级队列调度算法(avlsp),索引表静态优先级调度方法(aisp)等。
117.这种静态的优先级调度方法,对于高优先级的业务的服务质量显然是足够高的,但同样地,那些优先级较低的业务的服务质量就低于平均水平了。与之相对应的,本发明的调度方法,对所有业务是平等对待的,其在所有业务整体的层面上做到了先入先出的调度,
使得业务整体的服务质量较高。同时在遇到业务流量变化较大的情况时,本发明的方法显然不受影响,而这种静态调度算法会受到很严重的影响,可以说本发明在服务质量上与静态优先级调度方法上各有侧重,本发明偏重于整体,而静态优先级调度方法偏重于部分个体业务,但在普适性与健壮性方面,本发明有着明显的优势。
118.4)基于时间片的业务规划表。
119.首先在应用范围上,本发明是面向于发送受限业务的,而基于时间片的业务规划表的调度方法仅适用于发送受限业务中的速率受限业务。即使在速率受限业务领域中,基于时间片的业务调度方式也无法应用于业务种类较多的场景之下,在业务数量较多时,其业务规划表的生成会很困难,同时其各个业务的时延也会很大,如果运行在百兆的工作模式下,其一个时间片可能就需要120us,这意味着一个业务只要稍有偏差,其派发时延就要达到至少120us的程度,而且超长的时间片也意味着其仅仅只能规划几个业务。而对于本发明的调度方法对于业务数量并无要求,完全可以满足多业务数量的应用场景。
120.2.本发明实际使用效果
121.如图7所示为本发明在实际应用时的仿真图,本仿真对使用本调度方法的数据帧的整体发送时延进行了测试。本实施例自己产生不同业务的数据帧,并在数据帧的末尾处打上一个时间戳,该数据帧将会通过本发明的所有模块,直至最终输出,使用输出的时间与数据帧末尾的时间戳进行对比,即可得到该数据帧在系统中所经历的所有时延。由图可知,其经过的最大时延为0x254个时钟,即596个时钟,在本实施例系统中使用时钟为125m,故该数据帧从产生到最终完全输出到mac层经过的时延最大不超过5us,而在多数情况下仅有不到2us的延时,这在性能上是十分出色的。与使用时间片的调度方式进行对比,其最大时延甚至不超过一个时间片的偏差。而且事实上这些发送时延绝大部分是由于系统中其它功能模块与队管等所带来的。
122.如图8所示则是在实际使用过程中由本发明调度轮询所产生最大固有的时延,事实上当一个数据帧在入队后,若其满足发送条件,那么其轮询调度所产生最大固有的时延也仅仅只为5个时钟。
123.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献