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

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

Info

Publication number
CN105933083A
CN105933083A CN201510739324.1A CN201510739324A CN105933083A CN 105933083 A CN105933083 A CN 105933083A CN 201510739324 A CN201510739324 A CN 201510739324A CN 105933083 A CN105933083 A CN 105933083A
Authority
CN
China
Prior art keywords
scheduling
channel
window
asynchronous
schedule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510739324.1A
Other languages
English (en)
Other versions
CN105933083B (zh
Inventor
饶爱水
李永刚
周锦标
张龙
胡健
李清梅
汪毅
王振平
裴澍炜
胡上成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Satelite Maritime Measurement And Control Bureau
Original Assignee
63680 TROOPS PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 63680 TROOPS PLA filed Critical 63680 TROOPS PLA
Priority to CN201510739324.1A priority Critical patent/CN105933083B/zh
Publication of CN105933083A publication Critical patent/CN105933083A/zh
Application granted granted Critical
Publication of CN105933083B publication Critical patent/CN105933083B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种基于动态窗口的虚拟信道通用调度算法,该算法实现了全同步调度、全异步调度、同步/异步混合调度以及兼顾应急信道的混合调度,能够模拟多种型号卫星虚拟信道调度。该算法把信道调度划分为应急窗口、同步窗口以及异步窗口等三类窗口,实现了窗口调度的顺序式以及独占式调度策略,实现了同步信道调度的顺序式以及独占式调度策略,实现了异步信道调度的抢占式以及非抢占式调度策略,通过参数设置实现这八种调度策略的切换。

Description

基于动态窗口的虚拟信道通用调度算法
技术领域
本发明涉及一种在高级在轨系统(AOS,Advanced Orbiting Systems)中广泛使用的虚拟信道调度方法,该方法在航天测控领域广泛使用。本发明所研究的方法主要用于实现多种型号卫星虚拟信道调度算法,以实现多种型号卫星信道调度的通用仿真。
背景技术
随着我国航天技术应用的不断深入,航天器各分系统和设备需要对不同的应用过程(事件)产生不同格式、不同发生率和不同内容的数据包,从而要求遥测系统具有动态组织传送这些数据包的能力,即分包遥测体制。分包遥测引入最主要的新概念是“虚拟信道”,它是一种多信源分时共享同一物理信道的机制。与传统多路时分制不同的是,传统多路机制是静态时分或者说是事先固定安排的,而虚拟信道是动态时分机制,分包遥测体制不但可以大大提高遥测能力和信道利用率,更可以很好地适应不同任务的需求,实现高柔性和低成本。
在分包遥测体制中,又可以有分包遥测和高级在轨系统(AOS)两种主要的链路协议,分包遥测适应于数据量不太大、数据速率不太高的应用场合,AOS是在分包遥测的基础上进行了业务扩充,能在宽的数据率范围和多样的传输要求上对多路业务有更好的适应性。因此,从性能上讲,分包体制优于PCM体制,AOS体制又优于分包遥测。
目前国际上AOS系统正在逐渐成为主流体制,而我国已经有多种型号卫星开始采用AOS体制,而虚拟信道调度算法是实现AOS体制的关键内容,国内外开展了大量的研究。虚拟信道调度算法按调度方式不同可分为全同步调度算法、全异步调度算法、同步/异步混合调度算法以及兼顾应急信道的混合调度算法,空间数据系统咨询委员会CCSDS建议书中针对虚拟信道调度,推荐了同步与异步相结合的策略,但由不同厂家研制的卫星数据特性互有差异,采用的虚拟信道调度算法互不相同,目前尚未有一种能够兼容多种卫星虚拟信道调度的通用算法。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种性能最优的调度算法,能够模拟多种型号卫星虚拟信道调度的通用仿真算法。
本发明解决上述问题所采用的技术方案为:一种基于动态窗口的虚拟信道通用调度算法,在调度开始前,预先配置好调度策略表、窗口调度比率表、同步信道调度表和异步信道调度表,所述方法包括以下步骤:
步骤A、把应急调度、同步调度和异步调度纳入窗口管理,分别为应急窗口、同步窗口和异步窗口,并采用窗口调度算法实现兼顾应急信道的同步/异步混合调度算法,通过窗口调度比率表设置调度比率;
步骤B、把同步/异步混合调度区分为顺序式调度以及独占式调度,顺序式调度方式下,采用同步信道和异步信道轮流的方式进行,独占式调度方式下,仅当同步信道调度完毕后再进行异步调度,通过调度策略表设置调度方式;
步骤C、把同步信道调度区分为顺序式调度以及独占式调度,顺序式调度方式下,采用多个同步信道之间采用轮流的方式进行,独占式调度方式下,仅当上一个同步信道调度完毕后再调度下一个同步信道,通过调度策略表设置同步调度方式,通过同步信道调度表设置同步信道的初始调度顺序;
步骤D、把异步信道调度区分为抢占式调度以及非抢占式调度,抢占式调度方式下,优先级高的异步信道将抢先调度,即使当前的异步信道数据未发送完毕。抢占式调度方式下,优先级高的异步信道当且仅当当前的异步信道数据全部发送完毕后再抢占信道,通过调度策略表设置异步调度方式,通过异步信道调度表设置异步信道的初始调度顺序。
优选地,在步骤A中,窗口调度比率表中包括应急窗口、同步窗口和异步窗口,通过配置三个窗口的比例系数,可实现全同步调度、全异步调度以及同步/异步混合调度;当应急窗口=0、同步窗口=1、异步窗口=0时,实现全同步调度;当应急窗口=0、同步窗口=0、异步窗口=1时,实现全异步调度;当应急窗口=0、同步窗口≠0、异步窗口≠0时,实现同步/异步混合调度;当应急窗口≠0、同步窗口≠0、异步窗口≠0时,实现兼容应急信道的同步/异步混合调度。
优选地,在步骤B中,通过配置调度策略表中的窗口调度对应的调度策略,可实现同步信道和异步信道之间的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填0时实现独占式调度。
优选地,在步骤C中,通过配置调度策略表中的同步调度对应的调度策略,可实现同步信道的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填0时实现独占式调度;
优选地,在步骤C中,通过配置同步信道调度表设置同步信道的初始调度顺序以及初始轮转次数。其中“初始轮转次数”(Ni)计算方法为:
把虚拟信道VS1~VSm按照传输周期T1~Tm从小到大排序,即T1≤T2≤……≤Tm,假设遥测帧周期为T, Ti为T的整数倍,计算虚拟信道轮转次数Ni(1≤i≤m):Ni=Tm/Ti,有N1≥N2≥……≥Nm,且Nm=1;如果Ni中存在非整数,把Ni中所有数据乘以一个系数,归整为整数。
优选地,在步骤D中,通过配置调度策略表中的异步调度对应的调度策略,可实现异步信道的抢占式调度或非抢占式调度,当调度策略值为1时实现抢占式调度,填0时实现非抢占式调度。
优选地,在步骤D中,通过配置异步信道调度表设置异步信道的初始调度顺序以及初始传输帧数,其中“初始传输帧数”(Si)计算方法为:
把虚拟信道VA1~VAn按照初始优先级P1~Pn从大到小排序,即P1≥P2≥……≥Pn,假设遥测帧周期为T,虚拟信道占用的传输时间分别为T1~Tn。计算虚拟信道传输帧数Si(1≤i≤n):Si=Ti/T。
与现有技术相比,本发明的优点在于:
1、基于动态窗口的虚拟信道通用调度算法,能够模拟多种型号卫星虚拟信道调度算法,实现了全同步调度算法、全异步调度算法、同步/异步混合调度算法以及兼顾应急信道的混合调度算法,满足多种型号卫星虚拟信道仿真需求。
2、本发明具有8种可选的调度模式,可应用于虚拟信道的实际调度任务,其中窗口调度实现了顺序式调度/独占式调度策略,同步信道调度实现了顺序式/独占式调度策略,异步信道调度实现了抢占式调度/非抢占式调度策略。
3、本发明实现了兼顾应急信道的同步/异步混合调度,该调度算法与传统同步/异步混合调度算法相比,能够满足某些紧迫度和重要性在所有同步和异步数据之上的数据及时发出的要求,克服了传统算法当轮到同步虚拟信道传输时,可能存在同步数据未准备完毕,而发送填充数据的情况,提高了信道利用率。
附图说明
图1是本发明所述的获取同步虚拟信道函数GetSyncVC流程图。
图2是本发明所述的获取异步虚拟信道函数GetAsynVC流程图。
图3是本发明所述的获取动态窗口函数GetDynamicW流程图。
图4是本发明所述的基于动态窗口的虚拟信道通用调度算法流程图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
图1是本发明所述的获取同步虚拟信道函数GetSyncVC流程图,图中注 表示在顺序式轮转调度模式下,当搜索到最后一个信道且未发现有需要调度的信道时,需要返回调度表的头部重新进行一次搜索,以防止本次调度轮空;注表示在顺序式轮转调度模式下,下一次调度下一个信道;而在独占式轮转调度模式下,当本信道调度完毕后,下一次才调度下一个信道。函数原型为int GetSyncVC(int *Ci,int n,int &nNextVC,BOOL bSeq),其中其中Ci[]为信道i剩余调度次数(初始化为Ni[]),n为同步信道个数,nNextVC为下一次可能被调度的虚拟信道(初始化为0),bSeq为TRUE表示顺序式轮转调度,bSeq为FALSE表示独占式轮转调度,返回值表示当前被调度的虚拟信道(-1表示本次调度结束)。
图2是本发明所述的获取异步虚拟信道函数GetAsynVC流程图,图中注表示在抢占式优先级调度模式下,高优先级的信道均优先调度,即时当前信道数据未调用完毕,也从信道0开始调度(算法开始前,已经按照优先级从高到低排序);注表示当该信道调度完毕后,数据准备就绪标志置为FALSE。且在非抢占式优先级调度模式下,当某个信道调度完毕后,才返回调度表头重新进行调度。函数原型为int GetAsynVC(int *Ci,int *Ri,int n,int &nNextVC,BOOL bPreemptive),其中Ci[]为信道i剩余调度次数(初始化为Si[]),Ri[]为信道i就绪标志,n为异步信道个数,nNextVC为下一次可能被调度的虚拟信道(初始化为0),bPreemptive为TRUE表示抢占式优先级调度,bPreemptive为FALSE表示非抢占式优先级调度,返回值表示当前被调度的虚拟信道(-1表示本次调度结束)。
图3是本发明所述的获取动态窗口函数GetDynamicW流程图,图中注①表示应急窗口调度完成后,以后仅在同步窗口和异步窗口之间调度,因此起始为1。函数原型为intGetDynamicW(int Ci[3],int &nNextVC,BOOL bSeq),其中Ci[]为动态窗口i剩余调度次数(初始化为{E,S,A}),nNextVC为下一次可能被调度的窗口(初始化为0),bSeq为TRUE表示顺序式轮转调度,bSeq为FALSE表示独占式轮转调度,返回值表示当前被调度的虚拟窗口(-1表示本次调度结束,0表示应急窗口有效,1表示同步窗口有效,2表示异步窗口有效)。
图4是本发明所述的基于动态窗口的虚拟信道通用调度算法流程图,算法使用了图1所示的获取动态窗口函数GetDynamicW()、图2所示的获取同步虚拟信道函数GetSyncVC()以及图3所示的获取异步虚拟信道函数GetAsynVC()。
本实施例中的一种基于动态窗口的虚拟信道通用调度算法,所述虚拟信道调度算法可分为全同步调度算法、全异步调度算法、同步/异步混合调度算法以及基于动态窗口的通用调度算法,所述方法包括以下步骤:
步骤A、实现全同步调度算法。设虚拟信道VC1~VCn为同步信道,传输周期分别为T1~Tn,且T1≤T2≤……≤Tn,遥测帧周期为T,显然Ti应当为T的整数倍。设计了时间轮转调度算法实现虚拟信道的同步调度,时间片的长度选择为一个遥测帧周期T。按照调度采用的策略不同,算法可分为两种类型,即独占式轮转算法以及顺序式轮转调度算法,算法描述如下:
(1)根据虚拟信道传输周期和遥测帧周期,计算虚拟信道轮转次数Ni(1≤i≤n):Ni=Tn/Ti。显然有N1≥N2≥……≥Nn,且Nn=1。如果Ni中存在非整数,把Ni中所有数据乘以一个系数,归整为整数。
(2)系统维护一张虚拟信道调度表,该表采用队列实现,如表1所示,“序号”表示对信道的调度顺序,“发送计数”表示本轮周期内该信道还剩余的调度次数,初始化时“发送计数”Ci被设置为Ni。
表1 时间轮转调度算法中的虚拟信道调度表
序号 虚拟信道 发送计数Ci
1 VC1 N1
2 VC2 N2
…… …… ……
n VCn Nn
(3)独占式轮转调度算法中,当前信道数据均调度完毕后,再调度下一个信道数据。即当调度时机到来时,系统按照如下步骤搜索虚拟信道调度表:
系统依次从前往后搜索。如果Ci大于0,则调度虚拟信道i,对应的“发送计数”Ci减1,在接下来的Ni-1个周期内,均调度信道i,直至Ci计数值为0,此时调度下一个信道i+1;如果Ci为0,则该虚拟信道不参与调度。
当最后一个信道n调度完毕后,则所有虚拟信道的“发送计数”Ci恢复为初始值Ni,重复步骤,直至系统退出。
(4)顺序式轮转调度算法与独占式轮转调度算法略有不同,当前信道不是一次性调度完毕,而是仅调度1次,下一次调度下一个信道数据。即当调度时机到来时,系统按照如下步骤搜索虚拟信道调度表:
系统依次从前往后搜索。如果Ci大于0,则调度虚拟信道i,对应的“发送计数”Ci减1,下一次调度虚拟信道i+1;如果Ci为0,则该虚拟信道不参与调度,直接调度虚拟信道i+1。
当最后一个信道n被调度时,返回调度表起始处,重复步骤,直至所有信道均被调度完毕,即Ci均为0,则所有虚拟信道的“发送计数”Ci恢复为初始值Ni,重复步骤,直至系统退出。
设计了获取同步虚拟信道函数int GetSyncVC(int *Ci,int n,int &nNextVC,BOOL bSeq)实现该算法,函数流程图如图1所示。假设有4个同步信道VC1、VC2、VC3、VC4,调度周期分别为2s、4s、8s、16s,帧周期为1s,那么轮转次数分别为8、4、2、1。顺序式同步调度和独占式同步调度的虚拟信道如表2所示。
表2 顺序式同步调度和独占式同步调度顺序
调度顺序 顺序式同步调度 独占式同步调度
1 VC1 VC1
2 VC2 VC1
3 VC3 VC1
4 VC4 VC1
5 VC1 VC1
6 VC2 VC1
7 VC3 VC1
8 VC1 VC1
9 VC2 VC2
10 VC1 VC2
11 VC2 VC2
12 VC1 VC2
13 VC1 VC3
14 VC1 VC3
15 VC1 VC4
步骤B、实现全异步调度算法。设虚拟信道VC1~VCn为异步信道,传输时间分别为T1~Tn,优先级依次为P1~Pn,显然P1≥P2≥……≥Pn。设计了非抢占式优先级调度算法和抢占式优先级调度算法,实现虚拟信道的异步调度。优先级调度算法描述如下:
(1)根据虚拟信道传输周期和遥测帧周期,计算虚拟信道传输帧数Si(1≤i≤n):Si=Ti/T,且Si为整数。
(2)系统维护一张虚拟信道调度表虚拟信道调度表,该表采用链表实现,如下表所示,调度表按照信道优先级从高到低排列,“序号”表示对信道的调度顺序,“发送计数”Ci表示当调度到该信道时,需要占用的时间片(为Ci个帧周期),且Ci被初始化为Si,初始化时信道调度表如表3所示。
表3 优先级调度算法中的虚拟信道调度表
序号 虚拟信道 发送计数Ci 信道优先级Pi 数据就绪标志Ri
1 VC1 S1 P1
2 VC2 S2 P2
…… …… …… …… ……
n VCn Sn Pn
(3)非抢占式优先级调度算法中,系统按照如下步骤搜索虚拟信道调度表:
判断VC1信道“数据就绪标志”是否为真,如果准备就绪,那么在接下来的S1个周期内,均发送VC1的数据,发送完毕后,“数据就绪标志”设置为否,令i=2,转步骤;如果VC1信道“数据就绪标志”为否,令i=2,转步骤
判断VCi信道“数据就绪标志”是否为真,如果准备就绪,那么在接下来的Si个周期内,均发送VCi的数据,发送完毕后,“数据就绪标志”设置为否。如果VCi信道“数据就绪标志”为否,令i++,如果i<=n,重复步骤,否则转步骤
(4)抢占式优先级调度算法与非抢占式优先级调度算法略有不同,即低优先级信道数据占用信道时,高优先级信道数据可以抢占其信道,概述如下:
当调度时机到来时,判断VC1信道“数据就绪标志”是否为真,如果准备就绪,那么在接下来的S1个周期内,均发送VC1的数据,发送完毕后,“数据就绪标志”设置为否,令i=2,转步骤;如果VC1信道“数据就绪标志”为否,令i=2,转步骤
当调度时机到来时,判断VCi信道“数据就绪标志”是否为真,如果准备就绪,那么发送一帧VCi信道的数据,并令Ci减1(如果Ci等于0,设置VCi的“数据就绪标志”为否),并转步骤;如果VCi信道“数据就绪标志”为否,令i++,如果i<=n,判断下一个VCi信道,否则转步骤
设计了获取异步虚拟信道函数int GetAsynVC(int *Ci,int *Ri,int n,int &nNextVC,BOOL bPreemptive)实现该算法,函数流程图如图2所示。假设有4个异步信道VC1、VC2、VC3、VC4,传输时间分别为8s、4s、2s、1s,帧周期为1s,那么传输帧数分别为8、4、2、1,优先级分别为4、3、2、1,各信道数据均准备完毕。抢占式优先级调度和非抢占式优先级调度过程中,搜索的信道如表4所示。
表4 抢占式优先级调度和非抢占式优先级调度中搜索的信道
搜索顺序 调度的信道 抢占式优先级搜索的信道 非抢占式优先级搜索的信道
1 VC1 VC1 VC1
2 VC1 VC1 VC1
3 VC1 VC1 VC1
4 VC1 VC1 VC1
5 VC1 VC1 VC1
6 VC1 VC1 VC1
7 VC1 VC1 VC1
8 VC1 VC1 VC1
9 VC2 VC1、VC2 VC1、VC2
10 VC2 VC1、VC2 VC2
11 VC2 VC1、VC2 VC2
12 VC2 VC1、VC2 VC2
13 VC3 VC1、VC2、VC3 VC1、VC2、VC3
14 VC3 VC1、VC2、VC3 VC3
15 VC4 VC1、VC2、VC3、VC4 VC1、VC2、VC3、VC4
步骤C、实现同步/异步混合调度算法。设虚拟信道VS1~VSm为同步信道(统称为VS,即同步窗口),VA1~VAn为异步信道(统称为VA,即异步窗口),当同步信道与异步信道占用物理信道的比率固定时(假设VS:VA的比例为S:A,S和A均为整数)。设计了固定比率同步/异步混合调度算法,按照调度采用的策略不同,算法可分为两种类型,即独占式混合算法以及顺序式混合算法,算法描述如下:
(1)设计了如表5所示的同步/异步混合调度表,“序号”表示对窗口的调度顺序,“发送计数”表示本轮周期内该信道还剩余的调度次数,初始化为S和A。
表5 固定比率同步/异步混合调度表
序号 窗口代号 窗口名称 发送计数Ci
1 VS 同步窗口 S
2 VA 异步窗口 A
(2)独占式混合算法中,首先调度VS窗口,即采用全同步调度算法调度VS1~VSm,调度S个周期以后,在接下来的A个周期内,调度VA窗口,即采用全异步调度算法调度VA1~VAm。共调度(S+A)个周期后,一次混合调度完毕后,重复步骤(2),直至系统退出。
(3)顺序式混合算法中,依次调度VS窗口、VA窗口、VS窗口、VA窗口。即采用全同步调度算法调度VS1~VSm,调度1个周期以后,在接下来的1个周期内,采用全异步调度算法调度VA1~VAm,然后调度VS1~VSm、VA1~VAm。共调度(S+A)个周期以后,一次混合调度完毕,重复步骤(3),直至系统退出。
固定比率同步/异步混合调度算法采用了两级调度机制,第一级在同步窗口和异步窗口之间调度,第二级采用全同步或全异步调度。显然,混合调度算法根据采用的调度方式不同可分为8种调度模式,如表6所示。
表6 混合调度算法的多种调度模式
调度模式编号 窗口调度模式 同步信道调度模式 异步信道调度模式
1 顺序式 顺序式 抢占式
2 顺序式 顺序式 非抢占式
3 顺序式 独占式 抢占式
4 顺序式 独占式 非抢占式
5 独占式 顺序式 抢占式
6 独占式 顺序式 非抢占式
7 独占式 独占式 抢占式
8 独占式 独占式 非抢占式
假设有4个同步信道VSC1、VSC2、VSC3、VSC4,调度周期分别为2s、4s、8s、16s,帧周期为1s,那么轮转次数分别为8、4、2、1;假设有4个异步信道VAC1、VAC2、VAC3、VAC4,传输时间分别为8s、4s、2s、1s,帧周期为1s,那么传输帧数分别为8、4、2、1,优先级分别为4、3、2、1,各信道数据均准备完毕;同步信道与异步信道比率采用16:16,即R=S=16,那么顺序式混合调度和独占式混合调度的虚拟信道如表7所示。在顺序式混合调度模式下,第31次和第32次调度轮空,在顺序式混合调度模式下,第16次和第32次调度轮空。
表7 固定比率混合模式下,虚拟信道调度顺序表
调度顺序 顺序式窗口调度(模式1) 独占式窗口调度(模式5)
1 VSC1 VSC1
2 VAC1 VSC2
3 VSC2 VSC3
4 VAC1 VSC4
5 VSC3 VSC1
6 VAC1 VSC2
7 VSC4 VSC3
8 VAC1 VSC1
9 VSC1 VSC2
10 VAC1 VSC1
11 VSC2 VSC2
12 VAC1 VSC1
13 VSC3 VSC1
14 VAC1 VSC1
15 VSC1 VSC1
16 VAC1 轮空
17 VSC2 VAC1
18 VAC2 VAC1
19 VSC1 VAC1
20 VAC2 VAC1
21 VSC1 VAC1
22 VAC2 VAC1
23 VSC1 VAC1
24 VAC2 VAC1
25 VSC1 VAC2
26 VAC3 VAC2
27 VSC1 VAC2
28 VAC3 VAC2
29 VSC1 VAC3
30 VAC4 VAC3
31 轮空 VAC4
32 轮空 轮空
注:表中以顺序式同步调度以及抢占式异步调度为例。
设Ci[]={S,A},n=2,nNextMixVc=0,bMix表示顺序式混合(TRUE)调度还是独占式混合(FALSE),那么采用同步虚拟信道函数 GetSyncVC()可实现第一级调度,即:
int nMixVc= GetSyncVC(Ci,2, nNextMixVc, bMix);
返回值nMixVC为0,表示调度同步信道;nMixVC为1,表示调度异步信道。
步骤D、实现基于动态窗口的通用调度算法。该算法既满足同步数据固定时隙要求,又能适应异步数据的动态调整要求,还能满足极少数应急数据及时发送要求,并尽量减少信道资源浪费。算法描述如下:
(1)设计了如表8所示的混合调度表,相比固定比率的混合调度表,增加了表示应急窗口VE,初始化时,3者比率为E:S:A。
表8 基于动态窗口的混合调度表
序号 窗口代号 窗口名称 发送计数Ci
1 VE 应急窗口 E
2 VS 同步窗口 S
3 VA 异步窗口 A
(2)设计了获取动态窗口函数int GetDynamicW(int Ci[3],int &nNextVC,BOOLbSeq)实现动态窗口调度,算法流程图如图3所示。其中:
Ci[]为动态窗口i剩余调度次数(初始化为{E,S,A});
nNextVC为下一次可能被调度的窗口(初始化为0);
bSeq为TRUE表示顺序式轮转调度,bSeq为FALSE表示独占式轮转调度;
返回值表示当前被调度的虚拟窗口(-1表示本次调度结束,0表示应急窗口有效,1表示同步窗口有效,2表示异步窗口有效)。
(3)在获取动态窗口函数GetDynamicW()、获取同步虚拟信道函数GetSyncVC()、获取异步虚拟信道函数GetAsynVC()基础上,易于实现基于动态窗口的混合调度算法,算法流程图如图4所示,算法描述如下:
调用动态窗口函数GetDynamicW()获取当前被调度的窗口,应急窗口、同步窗口还是异步窗口;
如果是应急窗口,那么发送应急信道数据,本次调度结束;
如果是同步窗口且同步信道有数据,那么调用同步虚拟信道函数GetSyncVC()获取当前需要调度的同步虚拟信道。如果获取同步信道数据成功,那么发送同步信道数据,本次调度结束,否则转
如果是同步窗口,但同步信道无数据,那么转
如果是异步窗口且异步窗口有数据,或者是同步窗口但同步信道无数据且异步窗口有数据,那么调用异步虚拟信道函数GetAsynVC()获取当前需要调度的异步虚拟信道。如果获取异步信道数据成功,那么发送异步信道数据,本次调度结束。
下面以数据库为例,描述本发明的使用方法,采用配置文件配置参数的方法可参考执行。设计了《调度策略表》、《窗口调度信息表》、《同步信道调度表》、《异步信道调度表》,其中窗口调度比率设为E:S:A,通过配置可模拟多种调度策略。
表9 《调度策略表》
序号 类别 调度策略 说明
1 窗口调度 1 1表示顺序式调度,0表示独占式调度
2 同步调度 1 1表示顺序式调度,0表示独占式调度
3 异步调度 1 1表示抢占式调度,0表示/非抢占式调度
表10 《窗口调度比率表》
序号 窗口代号 窗口名称 初始比率
1 VE 应急窗口 E
2 VS 同步窗口 S
3 VA 异步窗口 A
表11 《同步信道调度表》
序号 信道代号 初始轮转次数
1 VS1 1
2 …… 2
m VSm 4
表12 《异步信道调度表》
序号 信道 初始传输帧数 初始优先级
1 VA1 1 10
2 …… 2 8
n VAn 4 1
实施方式一:全同步调度,包括顺序式同步调度以及独占式同步调度。
步骤A、配置《调度策略表》中的第2行“同步调度”,如表9所示,如果同步调度采取的策略为顺序式,那么“调度策略”填1,否则填0;
步骤B、配置《窗口调度比率表》,如表10所示,其中E=0,S=1,A=0,即仅保留同步窗口;
步骤C、配置《同步信道调度表》,如表11所示,m为信道个数,其中“初始轮转次数”(Ni)计算方法如下:把虚拟信道VS1~VSm按照传输周期T1~Tm从小到大排序,即T1≤T2≤……≤Tm,假设遥测帧周期为T,显然Ti应当为T的整数倍。计算虚拟信道轮转次数Ni(1≤i≤m):Ni=Tm/Ti。显然有N1≥N2≥……≥Nm,且Nm=1。如果Ni中存在非整数,把Ni中所有数据乘以一个系数,归整为整数。
步骤D、采用如图1所示的同步调度算法实现同步信道调度。当某个信道的调度次数Ci[]为0时,重新设置该信道的轮转次数,即可实现动态比率的同步信道调度。
实施方式二:全异步调度,包括抢占式异步调度以及抢占式异步式异步调度。
步骤A、配置《调度策略表》中的第3行“异步调度”,如表9所示,如果异步调度采取的策略为抢占式,那么“调度策略”填1,否则填0;
步骤B、配置《窗口调度比率表》,如表10所示,其中E=0,S=0,A=1,即仅保留异步窗口;
步骤C、配置《异步信道调度表》,如表11所示,n为信道个数,其中“初始传输帧数”(Si)计算方法如下:把虚拟信道VA1~VAn按照初始优先级P1~Pn从大到小排序,即P1≥P2≥……≥Pn,假设遥测帧周期为T,虚拟信道占用的传输时间分别为T1~Tn。计算虚拟信道传输帧数Si(1≤i≤n):Si=Ti/T。
步骤D、采用如图2所示的异步调度算法实现异步信道调度。当某个信道的调度次数Ci[]为0时,重新设置该信道的优先级,即可实现动态优先级的异步信道调度。
实施方式三:同步/异步混合调度。
步骤A、配置《调度策略表》,如表9所示。第1行“窗口调度”,如果窗口调度采取的策略为顺序式,那么“调度策略”填1,否则填0;第2行“同步调度”,如果同步调度采取的策略为顺序式,那么“调度策略”填1,否则填0;第3行“异步调度”,如果异步调度采取的策略为抢占式,那么“调度策略”填1,否则填0;
步骤B、配置《窗口调度比率表》,如表10所示,其中E=0,S和A根据同步/异步调度的比率设置;
步骤C、按照实施方式一的步骤C配置《同步信道调度表》;
步骤D、按照实施方式二的步骤C配置《异步信道调度表》;
步骤E、采用如图4所示的基于动态窗口的虚拟信道调度算法实现同步/异步混合调度。当同步信道或异步信道调度完毕后,重新设置该信道的比率,即可实现动态比率的同步/异步调度。
实施方式四:兼顾应急信道的同步/异步调度。
步骤A、同实施方式三的步骤A;
步骤B、配置《窗口调度比率表》,如表10所示,其中E=1,S和A根据同步/异步调度的比率设置;
步骤C、按照实施方式一的步骤C配置《同步信道调度表》;
步骤D、按照实施方式二的步骤C配置《异步信道调度表》;
步骤E、采用如图4所示的基于动态窗口的虚拟信道调度算法实现兼顾应急信道的同步/异步调度。
除上述实施例外,本发明还包括有其他实施方式,凡采用等同变换或者等效替换方式形成的技术方案,均应落入本发明权利要求的保护范围之内。

Claims (7)

1.一种基于动态窗口的虚拟信道通用调度算法,其特征在于在调度开始前,预先配置好调度策略表、窗口调度比率表、同步信道调度表和异步信道调度表,所述方法包括以下步骤:
步骤A、把应急调度、同步调度和异步调度纳入窗口管理,分别为应急窗口、同步窗口和异步窗口,并采用窗口调度算法实现兼顾应急信道的同步/异步混合调度算法,通过窗口调度比率表设置调度比率;
步骤B、把同步/异步混合调度区分为顺序式调度以及独占式调度,顺序式调度方式下,采用同步信道和异步信道轮流的方式进行,独占式调度方式下,仅当同步信道调度完毕后再进行异步调度,通过调度策略表设置调度方式;
步骤C、把同步信道调度区分为顺序式调度以及独占式调度,顺序式调度方式下,采用多个同步信道之间采用轮流的方式进行,独占式调度方式下,仅当上一个同步信道调度完毕后再调度下一个同步信道,通过调度策略表设置同步调度方式,通过同步信道调度表设置同步信道的初始调度顺序;
步骤D、把异步信道调度区分为抢占式调度以及非抢占式调度,抢占式调度方式下,优先级高的异步信道将抢先调度,即使当前的异步信道数据未发送完毕,抢占式调度方式下,优先级高的异步信道当且仅当当前的异步信道数据全部发送完毕后再抢占信道,通过调度策略表设置异步调度方式,通过异步信道调度表设置异步信道的初始调度顺序。
2.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于:
在步骤A中,窗口调度比率表中包括应急窗口、同步窗口和异步窗口,通过配置三个窗口的比例系数,可实现全同步调度、全异步调度以及同步/异步混合调度;当应急窗口=0、同步窗口=1、异步窗口=0时,实现全同步调度;当应急窗口=0、同步窗口=0、异步窗口=1时,实现全异步调度;当应急窗口=0、同步窗口≠0、异步窗口≠0时,实现同步/异步混合调度;当应急窗口≠0、同步窗口≠0、异步窗口≠0时,实现兼容应急信道的同步/异步混合调度。
3.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于:
在步骤B中,通过配置调度策略表中的窗口调度对应的调度策略,可实现同步信道和异步信道之间的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填0时实现独占式调度。
4.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于:
在步骤C中,通过配置调度策略表中的同步调度对应的调度策略,可实现同步信道的顺序式调度或独占式调度,当调度策略值为1时实现顺序式调度,填0时实现独占式调度。
5.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于:
在步骤C中,通过配置同步信道调度表设置同步信道的初始调度顺序以及初始轮转次数,其中“初始轮转次数”(Ni)计算方法为:
把虚拟信道VS1~VSm按照传输周期T1~Tm从小到大排序,即T1≤T2≤……≤Tm,假设遥测帧周期为T, Ti为T的整数倍,计算虚拟信道轮转次数Ni(1≤i≤m):Ni=Tm/Ti,有N1≥N2≥……≥Nm,且Nm=1;如果Ni中存在非整数,把Ni中所有数据乘以一个系数,归整为整数。
6.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于:
在步骤D中,通过配置调度策略表中的异步调度对应的调度策略,可实现异步信道的抢占式调度或非抢占式调度,当调度策略值为1时实现抢占式调度,填0时实现非抢占式调度。
7.根据权利要求1所述的一种基于动态窗口的虚拟信道通用调度算法,其特征在于:
在步骤D中,通过配置异步信道调度表设置异步信道的初始调度顺序以及初始传输帧数,其中“初始传输帧数”(Si)计算方法为:
把虚拟信道VA1~VAn按照初始优先级P1~Pn从大到小排序,即P1≥P2≥……≥Pn,假设遥测帧周期为T,虚拟信道占用的传输时间分别为T1~Tn。计算虚拟信道传输帧数Si(1≤i≤n):Si=Ti/T。
CN201510739324.1A 2015-11-04 2015-11-04 基于动态窗口的虚拟信道通用调度算法 Expired - Fee Related CN105933083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510739324.1A CN105933083B (zh) 2015-11-04 2015-11-04 基于动态窗口的虚拟信道通用调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510739324.1A CN105933083B (zh) 2015-11-04 2015-11-04 基于动态窗口的虚拟信道通用调度算法

Publications (2)

Publication Number Publication Date
CN105933083A true CN105933083A (zh) 2016-09-07
CN105933083B CN105933083B (zh) 2018-05-01

Family

ID=56839908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510739324.1A Expired - Fee Related CN105933083B (zh) 2015-11-04 2015-11-04 基于动态窗口的虚拟信道通用调度算法

Country Status (1)

Country Link
CN (1) CN105933083B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107525686A (zh) * 2017-08-21 2017-12-29 中国人民解放军63789部队 一种航天器多遥测参数分析窗口划分方法
WO2023020281A1 (zh) * 2021-08-20 2023-02-23 华为技术有限公司 一种通信方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770541A (zh) * 2010-02-03 2010-07-07 北京航空航天大学 一种基于aos标准的卫星数据系统仿真平台
CN102404041A (zh) * 2010-09-15 2012-04-04 大连大学 基于卫星网络的虚拟信道复用的调度算法
CN102710317A (zh) * 2012-04-27 2012-10-03 北京空间飞行器总体设计部 一种基于高级在轨系统的动态遥测组织与控制方法
CN102711173A (zh) * 2012-06-10 2012-10-03 姚国良 无线传感器网络中基于数据队列长度的信道接入方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770541A (zh) * 2010-02-03 2010-07-07 北京航空航天大学 一种基于aos标准的卫星数据系统仿真平台
CN102404041A (zh) * 2010-09-15 2012-04-04 大连大学 基于卫星网络的虚拟信道复用的调度算法
CN102710317A (zh) * 2012-04-27 2012-10-03 北京空间飞行器总体设计部 一种基于高级在轨系统的动态遥测组织与控制方法
CN102711173A (zh) * 2012-06-10 2012-10-03 姚国良 无线传感器网络中基于数据队列长度的信道接入方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
别玉霞 等: "基于AOS的Hurst_优先级自适应RED与动态调度算法", 《通信学报》 *
李芳等: "一种基于CCSDS AOS的虚拟信道动态调度方案", 《微计算机信息》 *
田庄等: "载人航天器 AOS 虚拟信道调度策略研究", 《航天器工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107525686A (zh) * 2017-08-21 2017-12-29 中国人民解放军63789部队 一种航天器多遥测参数分析窗口划分方法
WO2023020281A1 (zh) * 2021-08-20 2023-02-23 华为技术有限公司 一种通信方法及装置

Also Published As

Publication number Publication date
CN105933083B (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
CN106961741B (zh) 一种上行资源分配方法和装置
Rubin Message delays in FDMA and TDMA communication channels
CN102158392B (zh) 集散型构架卫星的aos遥测方法
CN101115012B (zh) 在通信系统中调度数据分组的装置和方法
CN109873873A (zh) 一种航班数据发布系统、航班变更方法及消息处理方法
CN106094801A (zh) 一种新型can fd控制器
CN106464314A (zh) 用于稀疏码多址接入传输的资源分配的系统及方法
Steiger et al. Heuristics for online scheduling real-time tasks to partially reconfigurable devices
CN103716888A (zh) 一种控制信道资源的分配方法和基站
US20060274779A1 (en) Filling token buckets of schedule entries
CN102594663A (zh) 队列调度方法及装置
CN108449285A (zh) 应用于共享式以太网的分式调度方法
CN105933083B (zh) 基于动态窗口的虚拟信道通用调度算法
CN108847961A (zh) 一种大规模、高并发的确定性网络系统
CN108965003A (zh) 一种分布式集群的部署方法、装置、系统及存储介质
CN102025639A (zh) 队列调度方法及系统
CN101610586A (zh) 正交频分复用系统中控制信道的资源映射方法
CN108768865B (zh) 支持多播业务的时间触发业务调度表生成方法
CN1565143A (zh) 通信网络中业务流的分配传输
CN108809554A (zh) 一种解调参考信号的资源映射方法及基站
CN106455042B (zh) 一种节点间时间同步方法、无线传感网络及其节点
CN106231603A (zh) 一种频谱预测方法及装置
CN101568182B (zh) 一种无线资源分配方法及装置
CN104486250A (zh) 一种面向Deadline满足时间确定性的调度方法
CN107220114A (zh) 基于资源统一调度的分布式资源调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Yonggang

Inventor after: Hou Yawei

Inventor after: Rao Aishui

Inventor after: Zhou Jinbiao

Inventor after: Zhang Long

Inventor after: Hu Jian

Inventor after: Li Xinquan

Inventor after: Li Qingmei

Inventor after: Wang Yi

Inventor after: Hu Shangcheng

Inventor before: Rao Aishui

Inventor before: Hu Shangcheng

Inventor before: Li Yonggang

Inventor before: Zhou Jinbiao

Inventor before: Zhang Long

Inventor before: Hu Jian

Inventor before: Li Qingmei

Inventor before: Wang Yi

Inventor before: Wang Zhenping

Inventor before: Pei Shuwei

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180403

Address after: 214400 Jiangyin, Jiangsu, No. 103 mailbox, No. 850, Wuxi

Applicant after: CHINA SATELITE MARITIME MEASUREMENT AND CONTROL BUREAU

Address before: 214400 Jiangyin, Jiangsu, No. 103 mailbox, No. 850, Wuxi

Applicant before: UNIT 63680 OF PLA

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180501