一种基于卫星信道的消息优先级动态调整方法与流程

文档序号:19791617发布日期:2020-01-24 14:22阅读:109来源:国知局
一种基于卫星信道的消息优先级动态调整方法与流程
本发明涉及信息处理
技术领域
,尤其是一种卫星信道消息的调整方法。
背景技术
:由于某卫星通信系统中的卫星信道流控(flow-control)特性,为控制消息发送顺序,系统根据到达消息的优先级建立了多条消息队列,系统以均匀间隔选择发送。系统采用基于优先级的队列选择发送方法,该方法始终保证高优先级队列消息优先出队发送。目前该系统中存在以下问题:一是低优先级队列饥饿,饥饿是指在特定时间内系统到达多条高优先级消息,低优先级队列中有少量消息,系统具备在一段时间内将所有消息发送的能力,但因持续发送高优先级消息,导致轮到低优先级消息发送时,等待时间已经超过了该消息生命周期而被系统丢弃;二是卫星通信系统消息优先级队列机制已经确定,无法更改系统消息队列的入队规则、存储规则及出队规则。因此新设计的方法一定是“友好的”。通过对现有优先级动态调整方法调研,现有方法大多基于公平性考虑,通过统计各优先级消息发送次数,通过动态增加低优先级权重来进行发送顺序调整,但是未全面估计选择结果对后续发送的影响,可能因后续高优先级消息超时造成系统超时代价增大。技术实现要素:为了克服现有技术的不足,本发明提供一种基于卫星信道的消息优先级动态调整方法。在分析实际应用场景的基础上,综合考虑资源有效利用,研究了在尽可能不影响高优先级队列消息成功发送的前提下估计最优的发送顺序序列。本发明基于高、中、低三种优先级消息队列,在每次卫星信道流控结束发送开启时,提取当前时间,通过对三种优先级队列中所有消息提取到达时间、生命周期,并根据优先级确定超时代价,综合考虑系统运算资源开销,随机产生有限个不重复的发送顺序序列(穷举该时刻所有可能顺序序列运算开销较大),计算出各发送顺序序列下超时代价之和,进行比较选出超时代价之和最小的序列,赋予序列首消息最高优先级,执行出队并通过卫星信道发送。本发明改善了现有优先级方法在特定时间内高优先级队列持续占据信道资源造成的低优先级队列饥饿,提高了卫星信道资源的利用率。本发明解决其技术问题所采用的技术方案包括以下步骤:【步骤1】在当前时刻t,卫星信道流控δt结束,发送开启;高、中、低优先级队列中存储的消息数目分别记为nh、nm、nl,当nh+nm+nl等于0时,队列为空,不执行操作;当nh+nm+nl大于0时,执行【步骤2】;【步骤2】参数提取;提取非空队列中各消息到达时间ta,高优先级第k个消息到达时间记为tahk,中优先级第k个消息到达时间记为tamk,低优先级第k个消息到达时间记为talk;根据高、中、低优先级消息类型分别确定消息生命周期;消息生命周特指消息自到达发送系统到卫星信道发出的最大允许时延t,高、中、低优先级生命周期分别记为th、tm、tl;超时代价q是消息因超时而造成的影响参数,高、中、低优先级超时代价分别记为qh、qm、ql,q与用户能接受的超时消息的数目负相关;根据本系统业务消息特征与要求,qh:qm:ql推荐设置为9:3:1,即丢失1条高优先级消息损失等价于丢失3条中优先级消息或9条低优先级消息;当队列消息等待时间tw未超出其生命周期时,q置0;待以上参数均提取完毕后,进入【步骤3】;【步骤3】生命周期判定;依高、中、低优先级的顺序,分别判断各队首消息等待时间,等待时间分别记为twh、twm、twl,计算方法为:tw=t-ta(1)分别判断高、中、低优先级非空消息队列队首消息是否超出生命周期,空消息队列不参与判定;若twh>th或twm>tm或twl>tl,则该队列队首消息生命周期耗尽,进入【步骤4】;若twh≤th且twm≤tm且twl≤tl,则该队列队首消息满足生命周期,进入【步骤5】;【步骤4】执行队首消息删除操作;队首消息删除操作是基于优先级队列的卫星通信系统固有操作,取出队首消息节点,将队首消息节点指向下一节点并修改队列长度n;销毁取出的队首消息节点,即丢弃无效消息;当nh+nm+nl等于0时,返回【步骤1】,当nh+nm+nl大于0时,重新进入【步骤3】;【步骤5】随机产生m个不重复的发送顺序序列;m的取值受系统运算能力及三种优先级消息队列长度影响,本发明m值取100,序列中元素为高、中、低三种优先级,序列中元素数目总和为nh+nm+nl,元素发送顺序排列的总和为ns,ns按照如下公式计算:其中,表示nh的阶乘,为nm的阶乘,为nl的阶乘,为(nh+nm+nl)的阶乘,当m大于ns时,表示设置的序列总数大于当前三队所有消息排列方式总和,需要生成的不重复顺序序列为ns个,当m小于等于ns时,需要生成预置的随机发送顺序序列为m个;在第n个序列生成循环过程中,从第一个序列元素开始到第nh+nm+nl个元素,分别在{高,中,低}三种优先级之间的随机,并对随机结果进行计数累加,计数累加结果分别记为sumh、summ、suml,在每个位置进行随机之前对计数累加结果分别进行判定,当当前优先级的计数累加结果等于该优先级所对应的队列中存储的消息数目时,随机范围缩小为其他两个优先级,当某两个优先级的计数累加结果均等于该优先级所对应的队列中存储的消息数目时,缩小范围为剩余一个优先级;在nh+nm+nl个位置元素随机完成后,将本次生成的第n个序列与前n-1个序列依次进行元素比较,若第n个序列与前n-1个序列中某个序列元素1至元素nh+nm+nl完全相等,说明序列重复,重新进行第n个序列的生成过程,否则说明该序列未重复;需要生成的序列个数为m或ns个,当生成m或ns个序列时,n取值m或ns,即随机产生m或ns个不重复的发送顺序序列完成,执行【步骤6】;否则,进行第n+1个序列生成,直至生成m或ns个序列;【步骤6】计算并比较出m个发送顺序序列中超时代价之和最小的序列;序列中第i个元素超时代价wi计算方法为:若预计等待时间大于对应优先级生命周期,则wi等于对应优先级超时代价为q,计算公式如下:wi=[(t+i*δt)-ta]>t?q:0(3)求出m个序列中超时代价之和最小的序列,序列最小超时代价之和wmin,计算公式如下:提取wmin对应序列首元素进入【步骤7】;【步骤7】出队并执行发送;【步骤8】输出的序列首元素为{高,中,低}中的一种,在当前时刻t,赋予当前输出的序列首元素所对应的优先级为最高优先级,并执行出队,通过卫星信道发送,完成本次发送任务。本发明的有益效果在于由于综合考虑了卫星通信系统业务消息特征可能会出现的消息堆积情况下,提供了一种发送控制方法。本发明具有良好的跨信道平台特性,根据不同信道平台特性,根据不同卫星信道调整流控时间δt,即可实现不同信道系统下的优先级动态调整。根据不同消息类型及其时效性要求,可以加入多种消息生命周期参与计算,保证了各类优先级消息的时效性要求。通过调整超时代价q,可以控制高、中、低三种优先级消息丢弃比例。通过调整随机序列个数m,可以控制算法复杂度以适应不同性能地面平台。本发明将现有方法的高优先级队列至低优先级队列按照从高到低的出队方式,变为动态计算最小超时代价wmin顺序序列,改变原优先级方法队列出队的顺序,反映了优先级动态调整的过程。最后,本发明提升了卫星信道资源利用率,降低了消息因等待超时而造成的丢弃。附图说明图1为本发明的处理流程图。图2为本发明生成不重复发送顺序序列处理流程图。具体实施方式下面结合附图和实施例对本发明进一步说明。本发明为基于消息优先级的某卫星通信系统提供一种消息发送序列动态调整的方法,根据不同队列消息到达时间、消息生命周期、原优先级及超时代价,超时代价是用户能够接受消息因丢弃而造成的损失程度的量化参数,采用随机序列逼近法,优选超时代价之和最低的序列决定当前时刻发送的消息,提供了一种高信道资源利用率的消息发送控制方法。本发明解决其技术问题所采用的技术方案将按照参数提取,生命周期判定,发送序列生成,超时代价比较,出队及发送的过程叙述。具体步骤如下:【步骤1】在当前时刻t,卫星信道流控δt结束,发送开启;高、中、低优先级队列中存储的消息数目分别记为nh、nm、nl,当nh+nm+nl等于0时,队列为空,不执行操作;当nh+nm+nl大于0时,执行【步骤2】;【步骤2】参数提取;提取非空队列中各消息到达时间ta,高优先级第k个消息到达时间记为tahk,中优先级第k个消息到达时间记为tamk,低优先级第k个消息到达时间记为talk;根据高、中、低优先级消息类型分别确定消息生命周期;消息生命周期原指消息从系统平台用户发出到对端系统平台用户接收的最大允许时延,因系统各环节最大允许时延已知,这里消息生命周期特指消息自到达发送系统到卫星信道发出的最大允许时延t,高、中、低优先级生命周期分别记为th、tm、tl;超时代价q是消息因超时而造成的影响参数,高、中、低优先级超时代价分别记为qh、qm、ql,q与用户能接受的超时消息的数目负相关;根据本系统业务消息特征与要求,qh:qm:ql推荐设置为9:3:1,即丢失1条高优先级消息损失等价于丢失3条中优先级消息或9条低优先级消息;当队列消息等待时间tw未超出其生命周期时,q置0;待以上参数均提取完毕后,进入【步骤3】;【步骤3】生命周期判定;依高、中、低优先级的顺序,分别判断各队首消息等待时间,等待时间分别记为twh、twm、twl,计算方法为:tw=t-ta(1)分别判断高、中、低优先级非空消息队列队首消息是否超出生命周期,空消息队列不参与判定;若twh>th或twm>tm或twl>tl,则该队列队首消息生命周期耗尽,进入【步骤4】;若twh≤th且twm≤tm且twl≤tl,则该队列队首消息满足生命周期,进入【步骤5】;【步骤4】执行队首消息删除操作;队首消息删除操作是基于优先级队列的卫星通信系统固有操作,取出队首消息节点,将队首消息节点指向下一节点并修改队列长度n;销毁取出的队首消息节点,即丢弃无效消息;当nh+nm+nl等于0时,返回【步骤1】,当nh+nm+nl大于0时,重新进入【步骤3】;【步骤5】随机产生m个不重复的发送顺序序列;m的取值受系统运算能力及三种优先级消息队列长度影响,本发明m值取100,在三种优先级消息队列长度均不超过4的情况下,m值能够使产生的发送顺序序列覆盖到所有组合全集,满足系统运行时的大多数情况;序列中元素为高、中、低三种优先级,序列中元素数目总和为nh+nm+nl,元素发送顺序排列的总和为ns,ns按照如下公式计算:其中,表示nh的阶乘,为nm的阶乘,为nl的阶乘,为(nh+nm+nl)的阶乘,当m大于ns时,表示设置的序列总数大于当前三队所有消息排列方式总和,需要生成的不重复顺序序列为ns个,当m小于等于ns时,需要生成预置的随机发送顺序序列为m个;在第n个序列生成循环过程中,从第一个序列元素开始到第nh+nm+nl个元素,分别在{高,中,低}三种优先级之间的随机,并对随机结果进行计数累加,计数累加结果分别记为sumh、summ、suml,在每个位置进行随机之前对计数累加结果分别进行判定,当当前优先级的计数累加结果等于该优先级所对应的队列中存储的消息数目时,随机范围缩小为其他两个优先级,当某两个优先级的计数累加结果均等于该优先级所对应的队列中存储的消息数目时,缩小范围为剩余一个优先级;在nh+nm+nl个位置元素随机完成后,将本次生成的第n个序列与前n-1个序列依次进行元素比较,若第n个序列与前n-1个序列中某个序列元素1至元素nh+nm+nl完全相等,说明序列重复,重新进行第n个序列的生成过程,否则说明该序列未重复;需要生成的序列个数为m或ns个,当生成m或ns个序列时,n取值m或ns,即随机产生m或ns个不重复的发送顺序序列完成,执行【步骤6】;否则,进行第n+1个序列生成,直至生成m或ns个序列;【步骤6】计算并比较出m个发送顺序序列中超时代价之和最小的序列;序列中第i个元素超时代价wi计算方法为:若预计等待时间大于对应优先级生命周期,则wi等于对应优先级超时代价q,计算公式如下:wi=[(t+i*δt)-ta]>t?q:0(3)求出m个序列中超时代价之和最小的序列,序列最小超时代价之和wmin,计算公式如下:提取wmin对应序列首元素进入【步骤7】;【步骤7】出队并执行发送;【步骤8】输出的序列首元素为{高,中,低}中的一种,在当前时刻t,赋予当前输出的序列首元素所对应的优先级为最高优先级,并执行出队,通过卫星信道发送,完成本次发送任务。将本发明部署在系统发送节点a,通过接收节点b接收并在上层平台显示收到的节点a发送的高、中、低三类优先级消息,并且统计各类消息发送数目与接收数目,以及发送及接收时间戳。在实际部署过程中,需要指定本发明生效时的特殊场景,即在短期内系统连续大量收到高优先级待发送消息,少量中、低优先级待发送消息。通过仿真程序对该场景进行仿真。根据系统属性,发送节点a信道流控时间δt为800ms,系统在3秒内连续收到5条高优先级消息、2条中优先级消息、3条低优先级消息,与系统实际应用状态下一种短期收到大量待发消息的特殊相似。在参数提取中,消息超时代价q根据消息优先级确定。超时代价代表用户能够接受消息因丢弃造成损失的程度。根据高、中、低优先级超时代价9:3:1的比例,确定三种优先级消息超时代价如下表所示:序号消息类型超时代价优先级1高优先级消息9高2中优先级消息3中3低优先级消息1低该超时代价下,用户可以接受丢弃1包高优先级消息,等价于丢弃3包中优先级消息或丢弃9包低优先级消息。本发明消息生命周期t由消息自产生到被用户接收读取的总时间,减去链路传输过程中时延,得到消息自到达发送系统到卫星信道发出的时间间隔t,即消息生命周期。消息生命周期与消息种类及功能有关,在本发明部署的三种优先级消息生命周期如下表所示:序号消息类型生命周期(毫秒)优先级1高优先级消息4500高2中优先级消息5000中3低优先级消息8000低指定本发明生成随机序列个数m为100,m值的设定与队列可能堆积最大消息数目指数相关,受系统执行速度限制,m值及队长增加造成算法执行时间指数增加,m值设置过小逼近结果与最优发送序列会有较大偏差,m设置过大导致运算耗时增加可能造成影响发送。考虑到系统运算能力及消息队列平均长度,控制算法单次执行时间在微秒级,m值取100。执行本发明比较得出超时代价最小的序列后,出队执行并发送。通过与采用现有的优先级方法、顺序法进行对比测试,记录各优先级消息队列出入队时刻及丢弃情况,得出测试结果。测试结果:采用现有的优先级方法,中优先级消息丢包1包。高、中、低优先级消息入队及出队时间见下表:采用顺序法,即先到来的消息优先发送,高、中优先级消息各丢一包。高、中、低优先级消息入队及出队时间见下表:采用本发明,各优先级消息均得到发送,未产生丢包。高、中、低优先级消息入队及出队时间见下表:在实际测试中,本发明能够全面估计可能的丢包情况,实现超时代价最小化的发送控制过程。避免原优先级法在以上情况中的丢包。在预设置了多条高优先级消息,少量中、低优先级消息后,使用原系统测试,对端系统始终先连续收到高优先级消息,后续中优先级消息因生命周期超时被丢弃。采用本发明后接收端在接收高优先级消息的间隙能够收到中优先级消息,未丢弃消息。在实际应用中,若采用现有系统方法,在此种情况下会造成对端系统长时间无法收到某类信息对任务产生负面影响。采用本发明,在保障较高优先级消息生命周期的前提下,适度提高了较低优先级消息的发送机会。此外,本发明已在实际工程上得到应用,效果表明:本发明能够提高卫星信道资源利用率,有效提高系统效能。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1