基于动态窗口的虚拟信道通用调度算法

文档序号:10572446阅读:764来源:国知局
基于动态窗口的虚拟信道通用调度算法
【专利摘要】本发明涉及一种基于动态窗口的虚拟信道通用调度算法,该算法实现了全同步调度、全异步调度、同步/异步混合调度以及兼顾应急信道的混合调度,能够模拟多种型号卫星虚拟信道调度。该算法把信道调度划分为应急窗口、同步窗口以及异步窗口等三类窗口,实现了窗口调度的顺序式以及独占式调度策略,实现了同步信道调度的顺序式以及独占式调度策略,实现了异步信道调度的抢占式以及非抢占式调度策略,通过参数设置实现这八种调度策略的切换。
【专利说明】
基于动态窗口的虚拟信道通用调度算法
技术领域
[0001 ] 本发明涉及一种在高级在轨系统(A0S,Advanced Orbiting Systems)中广泛使用 的虚拟信道调度方法,该方法在航天测控领域广泛使用。本发明所研究的方法主要用于实 现多种型号卫星虚拟信道调度算法,以实现多种型号卫星信道调度的通用仿真。
【背景技术】
[0002] 随着我国航天技术应用的不断深入,航天器各分系统和设备需要对不同的应用过 程(事件)产生不同格式、不同发生率和不同内容的数据包,从而要求遥测系统具有动态组 织传送这些数据包的能力,即分包遥测体制。分包遥测引入最主要的新概念是"虚拟信道", 它是一种多信源分时共享同一物理信道的机制。与传统多路时分制不同的是,传统多路机 制是静态时分或者说是事先固定安排的,而虚拟信道是动态时分机制,分包遥测体制不但 可以大大提高遥测能力和信道利用率,更可以很好地适应不同任务的需求,实现高柔性和 低成本。
[0003] 在分包遥测体制中,又可以有分包遥测和高级在轨系统(A0S)两种主要的链路协 议,分包遥测适应于数据量不太大、数据速率不太高的应用场合,A0S是在分包遥测的基础 上进行了业务扩充,能在宽的数据率范围和多样的传输要求上对多路业务有更好的适应 性。因此,从性能上讲,分包体制优于PCM体制,A0S体制又优于分包遥测。
[0004] 目前国际上A0S系统正在逐渐成为主流体制,而我国已经有多种型号卫星开始采 用A0S体制,而虚拟信道调度算法是实现A0S体制的关键内容,国内外开展了大量的研究。虚 拟信道调度算法按调度方式不同可分为全同步调度算法、全异步调度算法、同步/异步混合 调度算法以及兼顾应急信道的混合调度算法,空间数据系统咨询委员会CCSDS建议书中针 对虚拟信道调度,推荐了同步与异步相结合的策略,但由不同厂家研制的卫星数据特性互 有差异,采用的虚拟信道调度算法互不相同,目前尚未有一种能够兼容多种卫星虚拟信道 调度的通用算法。

【发明内容】

[0005] 本发明所要解决的技术问题是针对上述现有技术提供一种性能最优的调度算法, 能够模拟多种型号卫星虚拟信道调度的通用仿真算法。
[0006] 本发明解决上述问题所采用的技术方案为:一种基于动态窗口的虚拟信道通用调 度算法,在调度开始前,预先配置好调度策略表、窗口调度比率表、同步信道调度表和异步 信道调度表,所述方法包括以下步骤: 步骤A、把应急调度、同步调度和异步调度纳入窗口管理,分别为应急窗口、同步窗口和 异步窗口,并采用窗口调度算法实现兼顾应急信道的同步/异步混合调度算法,通过窗口调 度比率表设置调度比率; 步骤B、把同步/异步混合调度区分为顺序式调度以及独占式调度,顺序式调度方式下, 采用同步信道和异步信道轮流的方式进行,独占式调度方式下,仅当同步信道调度完毕后 再进行异步调度,通过调度策略表设置调度方式; 步骤C、把同步信道调度区分为顺序式调度以及独占式调度,顺序式调度方式下,采用 多个同步信道之间采用轮流的方式进行,独占式调度方式下,仅当上一个同步信道调度完 毕后再调度下一个同步信道,通过调度策略表设置同步调度方式,通过同步信道调度表设 置同步信道的初始调度顺序; 步骤D、把异步信道调度区分为抢占式调度以及非抢占式调度,抢占式调度方式下,优 先级高的异步信道将抢先调度,即使当前的异步信道数据未发送完毕。抢占式调度方式下, 优先级高的异步信道当且仅当当前的异步信道数据全部发送完毕后再抢占信道,通过调度 策略表设置异步调度方式,通过异步信道调度表设置异步信道的初始调度顺序。
[0007] 优选地,在步骤A中,窗口调度比率表中包括应急窗口、同步窗口和异步窗口,通过 配置三个窗口的比例系数,可实现全同步调度、全异步调度以及同步/异步混合调度;当应 急窗口 =0、同步窗口 =1、异步窗口 =0时,实现全同步调度;当应急窗口 =0、同步窗口 =0、异步 窗口 =1时,实现全异步调度;当应急窗口 =0、同步窗口辛0、异步窗口辛0时,实现同步/异步 混合调度;当应急窗口辛0、同步窗口辛0、异步窗口辛0时,实现兼容应急信道的同步/异步 混合调度。
[0008] 优选地,在步骤B中,通过配置调度策略表中的窗口调度对应的调度策略,可实现 同步信道和异步信道之间的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调 度,填〇时实现独占式调度。
[0009] 优选地,在步骤C中,通过配置调度策略表中的同步调度对应的调度策略,可实现 同步信道的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填〇时实现独 占式调度; 优选地,在步骤C中,通过配置同步信道调度表设置同步信道的初始调度顺序以及初始 轮转次数。其中"初始轮转次数"(Ni)计算方法为: 把虚拟信道VS1~VSm按照传输周期Tl~Tm从小到大排序,即TKT2彡……彡Tm,假设遥 测帧周期为T,Ti为T的整数倍,计算虚拟信道轮转次数Ni (1彡i彡m) : Ni=Tm/Ti,有N1彡N2 ^......多Nm,且Nm=l;如果Ni中存在非整数,把Ni中所有数据乘以一个系数,归整为整数。
[0010] 优选地,在步骤D中,通过配置调度策略表中的异步调度对应的调度策略,可实现 异步信道的抢占式调度或非抢占式调度,当调度策略值为1时实现抢占式调度,填〇时实现 非抢占式调度。
[0011] 优选地,在步骤D中,通过配置异步信道调度表设置异步信道的初始调度顺序以及 初始传输帧数,其中"初始传输帧数"(Si )计算方法为: 把虚拟信道VA1~VAn按照初始优先级P1~Pn从大到小排序,即P1彡P2彡……彡Pn,假设 遥测帧周期为T,虚拟信道占用的传输时间分别为T1~Τη。计算虚拟信道传输帧数 n):Si=Ti/T〇
[0012] 与现有技术相比,本发明的优点在于: 1、基于动态窗口的虚拟信道通用调度算法,能够模拟多种型号卫星虚拟信道调度算 法,实现了全同步调度算法、全异步调度算法、同步/异步混合调度算法以及兼顾应急信道 的混合调度算法,满足多种型号卫星虚拟信道仿真需求。
[0013] 2、本发明具有8种可选的调度模式,可应用于虚拟信道的实际调度任务,其中窗口 调度实现了顺序式调度/独占式调度策略,同步信道调度实现了顺序式/独占式调度策略, 异步信道调度实现了抢占式调度/非抢占式调度策略。
[0014] 3、本发明实现了兼顾应急信道的同步/异步混合调度,该调度算法与传统同步/异 步混合调度算法相比,能够满足某些紧迫度和重要性在所有同步和异步数据之上的数据及 时发出的要求,克服了传统算法当轮到同步虚拟信道传输时,可能存在同步数据未准备完 毕,而发送填充数据的情况,提高了信道利用率。
【附图说明】
[0015] 图1是本发明所述的获取同步虚拟信道函数GetSyncVC流程图。
[0016] 图2是本发明所述的获取异步虚拟信道函数GetAsynVC流程图。
[0017] 图3是本发明所述的获取动态窗口函数GetDynamicW流程图。
[0018] 图4是本发明所述的基于动态窗口的虚拟信道通用调度算法流程图。
【具体实施方式】
[0019] 以下结合附图实施例对本发明作进一步详细描述。
[0020] 图1是本发明所述的获取同步虚拟信道函数GetSyncVC流程图,图中注(1)表示在 顺序式轮转调度模式下,当搜索到最后一个信道且未发现有需要调度的信道时,需要返回 调度表的头部重新进行一次搜索,以防止本次调度轮空;注@表示在顺序式轮转调度模式 下,下一次调度下一个信道;而在独占式轮转调度模式下,当本信道调度完毕后,下一次才 调度下一个信道。函数原型为int GetSyncVC( int *Ci,int η,int &nNextVC,B00L bSeq), 其中其中Ci[]为信道i剩余调度次数(初始化为Ni[]),n为同步信道个数,nNextVC为下一次 可能被调度的虚拟信道(初始化为〇),bSeq为TRUE表示顺序式轮转调度,bSeq为FALSE表示 独占式轮转调度,返回值表示当前被调度的虚拟信道(-1表示本次调度结束)。
[0021 ]图2是本发明所述的获取异步虚拟信道函数GetAsynVC流程图,图中注CD表示在抢 占式优先级调度模式下,高优先级的信道均优先调度,即时当前信道数据未调用完毕,也从 信道〇开始调度(算法开始前,已经按照优先级从高到低排序);注②表示当该信道调度完毕 后,数据准备就绪标志置为FALSE。且在非抢占式优先级调度模式下,当某个信道调度完毕 后,才返回调度表头重新进行调度。函数原型为int GetAsynVC(int *Ci,int *Ri,int η, int &nNextVC,B00L bPreemptive),其中Ci[]为信道i剩余调度次数(初始化为Si[ ]),Ri[] 为信道i就绪标志,n为异步信道个数,nNextVC为下一次可能被调度的虚拟信道(初始化为 0),bPreemptive为TRUE表示抢占式优先级调度,bPreemptive为FALSE表示非抢占式优先级 调度,返回值表示当前被调度的虚拟信道(-1表示本次调度结束)。
[0022]图3是本发明所述的获取动态窗口函数GetDynamicW流程图,图中注①表示应急窗 口调度完成后,以后仅在同步窗口和异步窗口之间调度,因此起始为1。函数原型为int GetDynamicW(int Ci[3],int &nNextVC,B00L bSeq),其中Ci[]为动态窗口 i剩余调度次数 (初始化为{E,S,A}),nNextVC为下一次可能被调度的窗口(初始化为0),bSeq为TRUE表示顺 序式轮转调度,bSeq为FALSE表示独占式轮转调度,返回值表示当前被调度的虚拟窗口(-1 表示本次调度结束,〇表示应急窗口有效,1表示同步窗口有效,2表示异步窗口有效)。
[0023] 图4是本发明所述的基于动态窗口的虚拟信道通用调度算法流程图,算法使用了 图1所示的获取动态窗口函数GetDynamicW()、图2所示的获取同步虚拟信道函数GetSyncVC ()以及图3所示的获取异步虚拟信道函数GetAsynVC()。
[0024] 本实施例中的一种基于动态窗口的虚拟信道通用调度算法,所述虚拟信道调度算 法可分为全同步调度算法、全异步调度算法、同步/异步混合调度算法以及基于动态窗口的 通用调度算法,所述方法包括以下步骤: 步骤A、实现全同步调度算法。设虚拟信道VC1~VCn为同步信道,传输周期分别为T1~Tn, 且Τ1<Τ2<……<Τη,遥测帧周期为Τ,显然Ti应当为Τ的整数倍。设计了时间轮转调度算法 实现虚拟信道的同步调度,时间片的长度选择为一个遥测帧周期T。按照调度采用的策略不 同,算法可分为两种类型,即独占式轮转算法以及顺序式轮转调度算法,算法描述如下: (1) 根据虚拟信道传输周期和遥测帧周期,计算虚拟信道轮转次数Ni(l<i<n):Ni = Tn/Ti。显然有N1多N2多……多Nn,且Nn=l。如果Ni中存在非整数,把Ni中所有数据乘以一个 系数,归整为整数。
[0025] (2)系统维护一张虚拟信道调度表,该表采用队列实现,如表1所示,"序号"表示对 信道的调度顺序,"发送计数"表示本轮周期内该信道还剩余的调度次数,初始化时"发送计 数" Ci被设置为Ni。
[0026] 表1时间轮转调度算法中的虚拟信道调度表
(3)独占式轮转调度算法中,当前信道数据均调度完毕后,再调度下一个信道数据。即 当调度时机到来时,系统按照如下步骤搜索虚拟信道调度表: (2) 系统依次从前往后搜索。如果Ci大于0,则调度虚拟信道i,对应的"发送计数"Ci减 1,在接下来的Ni-Ι个周期内,均调度信道i,直至Ci计数值为0,此时调度下一个信道i+Ι;如 果Ci为0,则该虚拟信道不参与调度。
[0027] 当最后一个信道η调度完毕后,则所有虚拟信道的"发送计数"Ci恢复为初始值 Ni,重复步骤①,直至系统退出。
[0028] (4)顺序式轮转调度算法与独占式轮转调度算法略有不同,当前信道不是一次性 调度完毕,而是仅调度1次,下一次调度下一个信道数据。即当调度时机到来时,系统按照如 下步骤搜索虚拟信道调度表: ①系统依次从前往后搜索。如果Ci大于0,则调度虚拟信道i,对应的"发送计数"Ci减 1,下一次调度虚拟信道i+Ι;如果Ci为0,则该虚拟信道不参与调度,直接调度虚拟信道i+Ι。
[0029] (|)当最后一个信道η被调度时,返回调度表起始处,重复步骤0),直至所有信道均 被调度完毕,即Ci均为0,则所有虚拟信道的"发送计数" Ci恢复为初始值Ni,重复步骤(Β,直 至系统退出。
[0030]设计了获取同步虚拟信道函数int GetSyncVC( int *Ci,int η,int &nNextVC, BOOL bSeq)实现该算法,函数流程图如图1所示。假设有4个同步信道VC1、VC2、VC3、VC4^ 度周期分别为28、43、88、168,帧周期为1 8,那么轮转次数分别为8、4、2、1。顺序式同步调度 和独占式同步调度的虚拟信道如表2所示。
[0031]表2顺序式同步调度和独占式同步调度顺序
' 步骤B、实现全异步\周度算法。设虚拟信道VC1~VCn为异步信道,传输时间分别为Th Τη,优先级依次为P1~Pn,显然P1多P2多……多Pn。设计了非抢占式优先级调度算法和抢占 式优先级调度算法,实现虚拟信道的异步调度。优先级调度算法描述如下: (1) 根据虚拟信道传输周期和遥测帧周期,计算虚拟信道传输帧数Si(l<i<n):Si = Ti/T,且Si为整数。
[0032] (2)系统维护一张虚拟信道调度表虚拟信道调度表,该表采用链表实现,如下表所 示,调度表按照信道优先级从高到低排列,"序号"表示对信道的调度顺序,"发送计数" Ci表 示当调度到该信道时,需要占用的时间片(为Ci个帧周期),且Ci被初始化为Si,初始化时信 道调度表如表3所示。
[0033]表3优先级调度算法中的虚拟信道调度表
(3)非抢占式优先级调度算法中,系统按照如下步骤搜索虚拟信道调度表: (2) 判断VC1信道"数据就绪标志"是否为真,如果准备就绪,那么在接下来的S1个周期 内,均发送VC1的数据,发送完毕后,"数据就绪标志"设置为否,令i=2,转步骤@ ;如果VC1信 道"数据就绪标志"为否,令i=2,转步骤(|3。
[0034] (|)判断VCi信道"数据就绪标志"是否为真,如果准备就绪,那么在接下来的Si个周 期内,均发送VCi的数据,发送完毕后,"数据就绪标志"设置为否。如果VCi信道"数据就绪标 志"为否,令i++,如果i〈=n,重复步骤(|),否则转步骤0。
[0035] (4)抢占式优先级调度算法与非抢占式优先级调度算法略有不同,即低优先级信 道数据占用信道时,高优先级信道数据可以抢占其信道,概述如下: 0)当调度时机到来时,判断VC1信道"数据就绪标志"是否为真,如果准备就绪,那么在 接下来的S1个周期内,均发送VC1的数据,发送完毕后,"数据就绪标志"设置为否,令i=2,转 步骤@ ;如果VC1信道"数据就绪标志"为否,令i=2,转步骤@。
[0036] @当调度时机到来时,判断VCi信道"数据就绪标志"是否为真,如果准备就绪,那 么发送一帧VCi信道的数据,并令Ci减1(如果Ci等于0,设置VCi的"数据就绪标志"为否),并 转步骤(3);如果VCi信道"数据就绪标志"为否,令i++,如果i〈=n,判断下一个VCi信道,否则 转步骤Φ。
[0037] 设计了获取异步虚拟信道函数int GetAsynVC( int *Ci,int *Ri,int η,int & nNextVC,B00L bPreemptive)实现该算法,函数流程图如图2所示。假设有4个异步信道VC1、 VC2、VC3、VC4,传输时间分别为8s、4s、2s、1 s,帧周期为1 s,那么传输帧数分别为8、4、2、1,优 先级分别为4、3、2、1,各信道数据均准备完毕。抢占式优先级调度和非抢占式优先级调度过 程中,搜索的信道如表4所示。
[0038] 表4抢占式优先级调度和非抢占式优先级调度中搜索的信道
步骤C、实现同步/异步混合调度算法。设虚拟信道VS1~VSm为同步信道(统称为VS,即同 步窗口),VA1~VAn为异步信道(统称为VA,即异步窗口),当同步信道与异步信道占用物理信 道的比率固定时(假设VS:VA的比例为S:A,S和A均为整数)。设计了固定比率同步/异步混合 调度算法,按照调度采用的策略不同,算法可分为两种类型,即独占式混合算法以及顺序式 混合算法,算法描述如下: (1) 设计了如表5所示的同步/异步混合调度表,"序号"表示对窗□的调度顺序,"发送 计数"表示本轮周期内该信道还剩余的调度次数,初始化为S和A。
[0039] 表5固定比率同步/异步混合调度表_^^
(2) 独占式混合算法中,首先调度VS窗口,即采用全同步调度算法调度VS1~VSm,调度S 个周期以后,在接下来的A个周期内,调度VA窗口,即采用全异步调度算法调度VA1~VAm。共 调度(S+A)个周期后,一次混合调度完毕后,重复步骤(2),直至系统退出。
[0040] (3)顺序式混合算法中,依次调度VS窗口、VA窗口、VS窗口、VA窗口。即采用全同步 调度算法调度VS1~VSm,调度1个周期以后,在接下来的1个周期内,采用全异步调度算法调 度VA1~VAm,然后调度VS1~VSm、VAl~VAm。共调度(S+A)个周期以后,一次混合调度完毕,重复 步骤(3),直至系统退出。
[0041] 固定比率同步/异步混合调度算法采用了两级调度机制,第一级在同步窗口和异 步窗口之间调度,第二级采用全同步或全异步调度。显然,混合调度算法根据采用的调度方 式不同可分为8种调度模式,如表6所示。
[0042] 表6混合调度算法的多种调度模式
假设有4个同步信道¥3(:1、¥302、¥303、¥304,调度周期分别为28、48、88、168,帧周期为 Is,那么轮转次数分别为8、4、2、1;假设有4个异步信道VAC1、VAC2、VAC3、VAC4,传输时间分 别为8s、4s、2s、ls,帧周期为ls,那么传输帧数分别为8、4、2、1,优先级分别为4、3、2、1,各信 道数据均准备完毕;同步信道与异步信道比率采用16:16,即R=S=16,那么顺序式混合调度 和独占式混合调度的虚拟信道如表7所示。在顺序式混合调度模式下,第31次和第32次调度 轮空,在顺序式混合调度模式下,第16次和第32次调度轮空。
[0043] 表7固定比率混合模式下,虚拟信道调度顺序表

注:表中以顺序式同步调度以及抢占式异步调度为例。
[0044] 设(^[] = {3,4},11=2,11恥1七1^¥〇=0,&1^表示顺序式混合打1?1^)调度还是独占式 混合(FALSE),那么采用同步虚拟信道函数GetSyncVCO可实现第一级调度,即: int nMixVc= GetSyncVC(Ci,2, nNextMixVc, bMix); 返回值nMixVC为0,表示调度同步信道;nMixVC为1,表示调度异步信道。
[0045] 步骤D、实现基于动态窗口的通用调度算法。该算法既满足同步数据固定时隙要 求,又能适应异步数据的动态调整要求,还能满足极少数应急数据及时发送要求,并尽量减 少信道资源浪费。算法描述如下: (1) 设计了如表8所示的混合调度表,相比固定比率的混合调度表,增加了表示应急窗 口 VE,初始化时,3者比率为E: S: A。
[0046] 表8基于动态窗口的混合调度表
(2) 设计了获取动态窗口函数int GetDynamicW(int Ci[3],int &nNextVC,B00L bSeq)实现动态窗口调度,算法流程图如图3所不。其中: ① Ci []为动态窗口 i剩余调度次数(初始化为{E,S,A}); ② nNextVC为下一次可能被调度的窗口(初始化为0); ③ bSeq为TRUE表示顺序式轮转调度,bSeq为FALSE表示独占式轮转调度; ?返回值表示当前被调度的虚拟窗口(-1表示本次调度结束,〇表示应急窗口有效,1 表示同步窗口有效,2表示异步窗口有效)。
[0047] (3)在获取动态窗口函数GetDynamicWO、获取同步虚拟信道函数GetSyncVCO、获 取异步虚拟信道函数GetAsynVCX )基础上,易于实现基于动态窗口的混合调度算法,算法流 程图如图4所示,算法描述如下: 0调用动态窗口函数GetDynamicWO获取当前被调度的窗口,应急窗口、同步窗口还 是异步窗口; ?:如果是应急窗口,那么发送应急信道数据,本次调度结束; @如果是同步窗口且同步信道有数据,那么调用同步虚拟信道函数GetSyncVCO获取 当前需要调度的同步虚拟信道。如果获取同步信道数据成功,那么发送同步信道数据,本次 调度结束,否则转 ?如果是同步窗口,但同步信道无数据,那么转⑤。
[0048] 辱如果是异步窗口且异步窗口有数据,或者是同步窗口但同步信道无数据且异步 窗口有数据,那么调用异步虚拟信道函数GetAsynVCO获取当前需要调度的异步虚拟信道。 如果获取异步信道数据成功,那么发送异步信道数据,本次调度结束。
[0049] 下面以数据库为例,描述本发明的使用方法,采用配置文件配置参数的方法可参 考执行。设计了《调度策略表》、《窗口调度信息表》、《同步信道调度表》、《异步信道调度表》, 其中窗口调度比率设为E:S:A,通过配置可模拟多种调度策略。
[0050] 表9《调度策略表》
表10《窗口调度比率表》

实施方式一:全同步调度,包括顺序式同步调度以及独占式同步调度。
[0051] 步骤A、配置《调度策略表》中的第2行"同步调度",如表9所示,如果同步调度采取 的策略为顺序式,那么"调度策略"填1,否则填〇; 步骤B、配置《窗口调度比率表》,如表10所示,其中E=0,S=1,A=0,即仅保留同步窗口; 步骤C、配置《同步信道调度表》,如表11所示,m为信道个数,其中"初始轮转次数"(Ni) 计算方法如下:把虚拟信道VS 1~VSm按照传输周期T1 ~Tm从小到大排序,即TKT2彡……彡 Tm,假设遥测帧周期为T,显然Ti应当为T的整数倍。计算虚拟信道轮转次数Ni(l$i彡m):Ni =Tm/Ti。显然有N1彡N2彡……彡Nm,且Nm=l。如果Ni中存在非整数,把Ni中所有数据乘以一 个系数,归整为整数。
[0052] 步骤D、采用如图1所示的同步调度算法实现同步信道调度。当某个信道的调度次 数Ci[]为0时,重新设置该信道的轮转次数,即可实现动态比率的同步信道调度。
[0053]实施方式二:全异步调度,包括抢占式异步调度以及抢占式异步式异步调度。
[0054] 步骤A、配置《调度策略表》中的第3行"异步调度",如表9所示,如果异步调度采取 的策略为抢占式,那么"调度策略"填1,否则填〇; 步骤B、配置《窗口调度比率表》,如表10所示,其中E=0,S=0,A=1,即仅保留异步窗口; 步骤C、配置《异步信道调度表》,如表11所示,η为信道个数,其中"初始传输帧数"(Si) 计算方法如下:把虚拟信道VA1~VAn按照初始优先级P1~Pn从大到小排序,即P1多P2多…… 多Pn,假设遥测帧周期为T,虚拟信道占用的传输时间分别为T1~Τη。计算虚拟信道传输帧数 Si(l彡i彡n):Si=Ti/T〇
[0055] 步骤D、采用如图2所示的异步调度算法实现异步信道调度。当某个信道的调度次 数Ci[]为0时,重新设置该信道的优先级,即可实现动态优先级的异步信道调度。
[0056]实施方式三:同步/异步混合调度。
[0057]步骤A、配置《调度策略表》,如表9所示。第1行"窗口调度",如果窗口调度采取的策 略为顺序式,那么"调度策略"填1,否则填〇;第2行"同步调度",如果同步调度采取的策略为 顺序式,那么"调度策略"填1,否则填0;第3行"异步调度",如果异步调度采取的策略为抢占 式,那么"调度策略"填1,否则填〇; 步骤B、配置《窗口调度比率表》,如表10所示,其中E=0,S和A根据同步/异步调度的比率 设置; 步骤C、按照实施方式一的步骤C配置《同步信道调度表》; 步骤D、按照实施方式二的步骤C配置《异步信道调度表》; 步骤E、采用如图4所示的基于动态窗口的虚拟信道调度算法实现同步/异步混合调度。 当同步信道或异步信道调度完毕后,重新设置该信道的比率,即可实现动态比率的同步/异 步调度。
[0058]实施方式四:兼顾应急信道的同步/异步调度。
[0059]步骤A、同实施方式三的步骤A; 步骤B、配置《窗口调度比率表》,如表10所示,其中E=1,S和A根据同步/异步调度的比率 设置; 步骤C、按照实施方式一的步骤C配置《同步信道调度表》; 步骤D、按照实施方式二的步骤C配置《异步信道调度表》; 步骤E、采用如图4所示的基于动态窗口的虚拟信道调度算法实现兼顾应急信道的同 步/异步调度。
[0060]除上述实施例外,本发明还包括有其他实施方式,凡采用等同变换或者等效替换 方式形成的技术方案,均应落入本发明权利要求的保护范围之内。
【主权项】
1. 一种基于动态窗口的虚拟信道通用调度算法,其特征在于在调度开始前,预先配置 好调度策略表、窗口调度比率表、同步信道调度表和异步信道调度表,所述方法包括以下步 骤: 步骤A、把应急调度、同步调度和异步调度纳入窗口管理,分别为应急窗口、同步窗口和 异步窗口,并采用窗口调度算法实现兼顾应急信道的同步/异步混合调度算法,通过窗口调 度比率表设置调度比率; 步骤B、把同步/异步混合调度区分为顺序式调度以及独占式调度,顺序式调度方式下, 采用同步信道和异步信道轮流的方式进行,独占式调度方式下,仅当同步信道调度完毕后 再进行异步调度,通过调度策略表设置调度方式; 步骤C、把同步信道调度区分为顺序式调度以及独占式调度,顺序式调度方式下,采用 多个同步信道之间采用轮流的方式进行,独占式调度方式下,仅当上一个同步信道调度完 毕后再调度下一个同步信道,通过调度策略表设置同步调度方式,通过同步信道调度表设 置同步信道的初始调度顺序; 步骤D、把异步信道调度区分为抢占式调度以及非抢占式调度,抢占式调度方式下,优 先级高的异步信道将抢先调度,即使当前的异步信道数据未发送完毕,抢占式调度方式下, 优先级高的异步信道当且仅当当前的异步信道数据全部发送完毕后再抢占信道,通过调度 策略表设置异步调度方式,通过异步信道调度表设置异步信道的初始调度顺序。2. 根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于: 在步骤A中,窗口调度比率表中包括应急窗口、同步窗口和异步窗口,通过配置三个窗 口的比例系数,可实现全同步调度、全异步调度以及同步/异步混合调度;当应急窗口 =0、同 步窗口 =1、异步窗口 =0时,实现全同步调度;当应急窗口 =0、同步窗口 =0、异步窗口 =1时,实 现全异步调度;当应急窗口 =〇、同步窗口辛〇、异步窗口辛〇时,实现同步/异步混合调度;当 应急窗口辛0、同步窗口辛0、异步窗口辛0时,实现兼容应急信道的同步/异步混合调度。3. 根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于: 在步骤B中,通过配置调度策略表中的窗口调度对应的调度策略,可实现同步信道和异 步信道之间的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填0时实现 独占式调度。4. 根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于: 在步骤C中,通过配置调度策略表中的同步调度对应的调度策略,可实现同步信道的顺 序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填〇时实现独占式调度。5. 根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于: 在步骤C中,通过配置同步信道调度表设置同步信道的初始调度顺序以及初始轮转次 数,其中"初始轮转次数"(Ni)计算方法为: 把虚拟信道VS1~VSm按照传输周期TI~Tm从小到大排序,即T1彡T2彡……彡Tm,假设遥 测帧周期为T,Ti为T的整数倍,计算虚拟信道轮转次数Ni (1彡i彡m) : Ni=Tm/Ti,有Nl彡N2 ^ 多Nm,且Nm=I;如果Ni中存在非整数,把Ni中所有数据乘以一个系数,归整为整数。6. 根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于: 在步骤D中,通过配置调度策略表中的异步调度对应的调度策略,可实现异步信道的抢 占式调度或非抢占式调度,当调度策略值为1时实现抢占式调度,填〇时实现非抢占式调度。7.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于: 在步骤D中,通过配置异步信道调度表设置异步信道的初始调度顺序以及初始传输帧 数,其中"初始传输帧数"(Si )计算方法为: 把虚拟信道VAl~VAn按照初始优先级Pl~Pn从大到小排序,即Pl彡P2彡……彡Pn,假设 遥测帧周期为T,虚拟信道占用的传输时间分别为Tl~Τη。计算虚拟信道传输帧数 n):Si=Ti/T〇
【文档编号】H04B17/391GK105933083SQ201510739324
【公开日】2016年9月7日
【申请日】2015年11月4日
【发明人】饶爱水, 李永刚, 周锦标, 张龙, 胡健, 李清梅, 汪毅, 王振平, 裴澍炜, 胡上成
【申请人】中国人民解放军63680部队
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1