多北斗卡指挥机的报文调度方法与流程

文档序号:12828690阅读:389来源:国知局
多北斗卡指挥机的报文调度方法与流程
本发明涉及通信
技术领域
,尤其涉及一种多北斗卡指挥机的报文调度方法。
背景技术
:北斗卫星导航系统相对其它卫星导航系统的最大优势之一是报文通讯。报文通讯使得北斗导航通讯设备在边远地区、海洋远航等环境下应用越来越广泛。北斗导航通讯设备包括指挥机和用户机。其中,指挥机一般部署在北斗服务商中心机房,用于收发用户机的通信报文。用户机安装在移动终端上,用于和指挥机、其他用户机进行报文通讯。通过对通信报文的拓展定义,可以实现不同需求的应用,如可以实现转发和手机app通讯、报警求救、以及定期报告位置等功能。随着北斗卫星导航系统应用越来越广,北斗导航通讯设备的数量在不断增加,导致指挥机和用户机报文通讯的压力越来越大。目前的北斗卫星导航系统资源分配的情况是:指挥机的发送频度分为10秒、30秒、50秒等几类,每次发送容量628bits报文数据。由此看来,指挥机发送资源越来越珍贵。针对现有技术中因北斗导航通讯设备数量增大,带来的指挥机发送资源明显不足的问题,需要提供一种可以对多北斗卡指挥机的调度通讯机制进行优化,增加指挥机的通讯能力的报文调度方法。技术实现要素:为解决上述问题,本发明提供一种多北斗卡指挥机的报文调度方法,可以通过多北斗卡指挥机对其接收到的通讯报文进行自动调配,增加指挥机的通讯能力。为实现上述目的,本发明的一种多北斗卡指挥机的报文调度方法,包括以下步骤:s1、获取待发送的发送任务链表并确定当前未分配报文任务的北斗卡;s2、根据发送任务链表中的各通讯报文与各北斗卡对应匹配的情况,确定各通讯报文中的待调配报文和各北斗卡中的可调配北斗卡;s3、预测下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率,根据所预测的概率分别计算向各可调配北斗卡分配报文任务时的收益值,并将其中收益值为正的可调配北斗卡确定为待调配北斗卡;s4、为各待调配北斗卡分配相应的待调配报文。进一步地,还包括,根据当前各个等级北斗卡的平均报文发送频度,动态更新下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率。进一步地,根据当前已发送的任一等级通讯报文的总数量和该等级北斗卡总数量的比值与该等级北斗卡的平均报文发送频度和当前运行时间的比值的乘积,动态更新概率。进一步地,还包括,设置动态更新概率的周期,使概率在各周期开始时重新确定。进一步地,周期被设置为24小时的整数倍。进一步地,还包括,预先设置消耗权重系数和价值权重系数,根据可调配北斗卡的等级和消耗权重系数确定其在当前被分配报文任务的消耗资源量,根据可调配北斗卡的等级和价值权重系数确定其在当前被分配报文任务的获益量。进一步地,收益值根据获益量与消耗资源量和概率乘积的差值来计算。进一步地,s2步骤中,根据下列至少其一来确定各通讯报文与各北斗卡对应匹配的情况:通讯报文是否已指定北斗卡、已指定北斗卡是否未分配报文任务、通讯报文的等级是否小于全部北斗卡的最高等级以及是否存在与通讯报文的等级相同的未分配报文任务的北斗卡。进一步地,将未指定北斗卡、通讯报文的等级小于或者等于全部北斗卡的最高等级并且未能匹配同等级的未分配报文任务的北斗卡的通讯报文确定为待调配报文。进一步地,还包括,确定已匹配指定北斗卡或同等级的处于空闲状态的北斗卡的通讯报文为可发送报文,确定已指定北斗卡未处于空闲状态的或者等级大于全部北斗卡的最高等级的通讯报文为不可发送报文。进一步地,s4步骤中为各待调配北斗卡分配的相应的待调配报文包括等级低于待调配北斗卡中等级最高的待调配报文。本发明的多北斗卡指挥机的报文调度方法,当接收到发送任务链表时,在保证对待发送的通讯报文和北斗卡正常分配的情况下,根据预测的下一发送任务链表中出现与各未被分配通讯报文的北斗卡,即可调配北斗卡相同等级的通讯报文的概率,分析当前对其分配报文任务时的收益值,从而判断是否为其分配相应的待调配报文,为多北斗卡指挥机提供合理、高效、可靠的报文调度方法,并且优化报文通讯机制,提高报文发送效率,降低北斗导航通讯设备的报文通信压力。附图说明图1为本发明的多北斗卡指挥机的报文调度方法的流程图;图2为本发明中计算北斗卡平均报文发送频度方法的流程图;图3为本发明中计算北斗卡获得报文任务的概率的方法的流程图;图4为本发明一个实施例的报文调度方法的流程图。具体实施方式下面,结合附图,对本发明的结构以及工作原理等作进一步的说明。如图1所示,本发明的一种多北斗卡指挥机的报文调度方法,包括以下步骤:s1、获取待发送的发送任务链表并确定当前未分配报文任务的北斗卡。通常情况下,为了区分通讯报文的重要性、紧迫性,一般会对不同种类、不同重要程度的通讯报文进行等级分类,并且报文等级越高,其对应的重要性就越高,如表1所示。表1北斗通讯报文等级和类别对照表级别短信类别备注(90无穷大)未定义未使用9通播信息类广播类报文8控制北斗终端指令类对北斗终端远程设置、控制等报文7一般中心下发的北斗报文如:通知、天气等6转发手机(app)到北斗的报文转发移动应用和北斗通信的报文[0,6)未定义未使用对应的,多北斗卡指挥机的北斗卡也会根据用途的不同,将其分为不同的等级。获取待发送的发送任务链表和当前未分配报文任务的北斗卡后,读取发送任务链表内的通讯报文信息和北斗卡信息。其中,通讯报文信息包括通讯报文的等级、通讯报文是否指定了某个北斗卡发送等,北斗卡信息包括北斗卡等级、北斗卡编号等,以方便后续对通讯报文和北斗卡进行匹配和分配处理。s2、根据发送任务链表中的各通讯报文与各北斗卡对应匹配的情况,确定各通讯报文中的待调配报文和各北斗卡中的可调配北斗卡。在本发明实施例中,可以根据下列一个或多个条件来确定各通讯报文与各北斗卡对应匹配的情况:通讯报文是否已指定北斗卡、已指定北斗卡是否未分配报文任务、通讯报文的等级是否小于全部北斗卡的最高等级以及是否存在与通讯报文的等级相同的未分配报文任务的北斗卡。其中,本发明实施例中,先用最优化原则根据上述条件进行依次判断,最终确定各通讯报文和北斗卡的状态。例如,在提取了一条通讯报文后,先确定该通讯报文的等级是否低于或者等于全部北斗卡的最高等级,如果该通讯报文的等级低于或者等于全部北斗卡的最高等级,才对其进行后续的与北斗卡的匹配和分配处理;然后确定该通讯报文是否已经指定了北斗卡,如果指定了北斗卡,则该通讯报文只能用指定的北斗卡发送,如果指定的北斗卡已经被分配了报文任务,则在当前发送任务链表中,该通讯报文不会在当前分配给任何北斗卡,待其进入后续的发送任务链表,指定的北斗卡完成已分配的报文任务并处于空闲状态时,再对其进行发送;如果该通讯报文没有指定北斗卡,则最后确定是否存在与该通讯报文的等级相同的未分配报文任务的北斗卡,如果存在,则将其对应地分配给相同等级的未分配报文任务的北斗卡。在本发明实施例中,根据上述顺序进行通讯报文和北斗卡的匹配后,可以将未指定北斗卡、通讯报文的等级小于或者等于全部北斗卡的最高等级并且未能匹配同等级的未分配报文任务的北斗卡的通讯报文确定为待调配报文。在本发明另一实施例中,根据上述顺序进行通讯报文和北斗卡的匹配后,还可以确定已匹配指定北斗卡或同等级的处于空闲状态的北斗卡的通讯报文为可发送报文,确定已指定北斗卡未处于空闲状态的或者等级大于全部北斗卡的最高等级的通讯报文为不可发送报文。s3、预测下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率,根据所预测的概率分别计算向各可调配北斗卡分配报文任务时的收益值,并将其中收益值为正的可调配北斗卡确定为待调配北斗卡。由于在多北斗卡指挥机进行通信报文和北斗卡匹配时,被配置为北斗卡只能发送同等级或者低等级的通讯报文,未被分配报文任务的北斗卡发送同等级的通讯报文是“义务”,而未被分配报文任务的北斗卡发送其他等级通讯报文的则并非“义务”。因此,高等级的可调配北斗卡只有在满足特定条件的情况下,才会接收被分配的报文任务。在本发明实施例中,这一条件即为确定该可调配北斗卡当前被分配报文任务时的收益值是否为正,只有当收益值为正时,才可以将该可调配北斗卡确定为待调配北斗卡,然后再进行后续处理。s4、为各待调配北斗卡分配相应的待调配报文。在本发明实施例中,为各待调配北斗卡分配的相应的待调配报文包括等级低于待调配北斗卡中等级最高的待调配报文。为了保证在利用高等级的待调配北斗卡发送低等级的待调配报文时,能够优先发送出更紧急的通讯报文,从而获得最大收益,因此,优先为待调配北斗卡分配较高等级的待调配报文。在本发明另一个实施例中,根据当前各个等级北斗卡的平均报文发送频度,动态更新下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率。在本发明另一个实施例中,还可以设置动态更新概率的周期,使概率在各周期开始时重新确定。其中,周期被设置为24小时的整数倍。由于多北斗卡指挥机的北斗卡根据不同途径被分为不同等级,不同等级的北斗卡对应的同等级的通讯报文的紧急情况不同,因此根据对应的通讯报文的紧急程度,不同等级的北斗卡发送报文的频度也会有所区别,一般等级越高的北斗卡发送报文的频度也会更快。而同一等级的北斗卡,由于各种因素的限制,也会存在发送报文的频度不一样的情况,如表2所示。表2北斗卡等级和频度参数对照表北斗卡id等级li发送报文的频度fi(秒)45591181012093730524179910524180810455912810304753630458233660458234660458255760458235660因此,可以计算出同一等级的北斗卡对应的平均报文发送频度,以方便预测下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率。具体的计算流程如图2所示,平均报文发送频度对应的计算公式为:其中,fi为北斗卡发送报文的频度,afi为该等级北斗卡对应的平均报文发送频度,n为该等级北斗卡的数量。根据表2中各北斗卡的等级和对应报文发送的频度参数,使用平均报文发送频度计算公式,得到如表3所示的各个等级的北斗卡的平均报文发送频度,其中,li为北斗卡的等级。表3表2中各等级的北斗卡的平均报文发送频度对照表平均报文发送频度afi(秒)等级li北斗卡总数cni10911083457252.564当计算出各个等级的北斗卡的平均报文发送频度后,如图3所示,再根据当前周期内已发送的任一等级通讯报文的总数量和该等级北斗卡总数量的比值与该等级北斗卡的平均报文发送频度和当前周期的运行时间的比值的乘积,动态更新概率。根据本发明实施例,预测下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率pi的计算公式为:其中,tnow为当前周期的运行时间(即utc时间),sti为当前周期运行开始时间,mni为已发送的任一等级通讯报文的总数量,cni为与该通讯报文等级相同的北斗卡总数量。在本发明的一个实施例中,利用上述概率pi的计算公式,根据表2和表3中的数据预测得到如表4所下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率。表4下一时刻出现与各等级通讯报文的概率对照表在本发明另一个实施例中,还可以预先设置消耗权重系数和价值权重系数,根据可调配北斗卡的等级和消耗权重系数确定其在当前被分配报文任务的消耗资源量,根据可调配北斗卡的等级和价值权重系数确定其在当前被分配报文任务的获益量。具体地,收益值根据获益量与消耗资源量和概率乘积的差值来计算。因此,设x为通信报文对应的等级,可以定义该可调配北斗卡发送一条被分配报文任务的获益量为svalue(x),发送一条被分配报文任务的消耗资源量为cvalue(x),可以得到下述公式:svalue(x)=sweight*xcvalue(x)=cweight*x其中,sweight为价值权重系数,cweight为消耗权重系数,由于在后续计算中sweight、cweight可以被抵消掉,因此其数值对结果不会产生影响,可以设置为任意值。在本发明实施例中,可以将sweight、cweight均设置为100。根据上述公式可以得知,当北斗卡发送与其等级相同的通讯报文时,其获益量等于消耗资源量,收益值value的计算公式如下:value=∑svalue(xi)-cvalue(xi)=0当同等级的北斗卡和通讯报文匹配完成后,首先预测下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率pi,当pi为0时,表示根据当前的情况,下一发送任务链表中不会出现同等级的通讯报文,此时可知,在当前时刻被分配报文任务的消耗资源量为pj*cvalue(xj)=0,在当前时刻被分配报文任务的获益量为svalue(xj),因此根据公式svalue(xj)-pj*cvalue(xj)可以确定使用该高等级的可调配北斗卡发送低等级的待调配报文带来的收益是正的,可以将其作为待调配北斗卡。当然,对于预测到下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率pi不为0的情况下,也可以根据公式svalue(xj)-pj*cvalue(xj)计算其收益值,如果svalue(xj)-pj*cvalue(xj)>0,则表示在当前时刻被分配报文任务的收益为正,可以对该可调配北斗卡分配报文任务。当收益是正的情况下,为各待调配北斗卡分配的相应的待调配报文包括等级低于待调配北斗卡中等级最高的待调配报文,即可获得最大收益。在本发明的一个实施例中,判断当前时刻为可调配北斗卡分配报文任务的收益值,并选取等级低于待调配北斗卡中等级最高的待调配报文的方法具体为:首先遍历所有可调配北斗卡,根据其对应等级取得概率,计算当前时刻为可调配北斗卡分配报文任务的消耗资源量pj*cvalue(xj),找出使得j满足公式j=argjmin(pj*cvalue(xj))的待调配北斗卡。然后遍历所有的待调配报文,确定是否有等级满足公式i=argimin(j-i),j>1的待调配报文,如果有,将该待调配报文分配给该待调配北斗卡,如果没有,则不为该待调配北斗卡分配报文任务。直到全部待调配报文都分配给待调配北斗卡或被标记为不可发送。在本发明另一实施例中,对于全部被分配了北斗卡的通讯报文,可以根据北斗卡的上次发送报文时间、发送报文的频度,给出各个通信报文可发送的时间,即对应的北斗卡发送各通讯报文的等待时间。如图4所示的一种多北斗卡指挥机的报文调度方法的实施例,将多北斗卡指挥机的北斗卡信息配置为如表2所示,在多北斗卡指挥机处于当前周期的运行开始时刻,所有北斗卡都处于未分配报文任务(空闲)状态,此时,获取如表5所示的发送任务链表,可以得到如表6所示的报文调度结果以及如表7所示的北斗卡空闲状况结果。表5发送任务链表表6报文调度结果统计表报文序号指定北斗卡等级发送状态分配北斗卡发送时间(秒)10102------------209152417903081455912040714582550506145823506050------------70102------------8090------------9081524180010120937112093011061458234012050------------其中,发送状态0为待调配报文,发送状态1为可发送报文,发送状态2为不可发送报文(即等级超过全部北斗卡的最高等级或指定北斗卡已被分配报文任务)。表7北斗卡空闲状况结果统计表北斗卡级别待调配北斗卡数量6281从表6可以看出,对于需要等级为10的北斗卡的通信报文,由于不存在这样等级的北斗卡,因此被判定为不可发送报文;对于指定编号为12093的北斗卡的通讯报文,将该通讯报文分配给了编号为12093的北斗卡发送;对于等级为5的通讯报文,由于所有的北斗卡的等级都比5大,因此该通讯报文被标记为待调配报文,在出现等级高于5的可调配北斗卡的时候才决定是否调度发送等级为5的通信报文。由于在当前周期刚开始运行,就获取了该发送任务链表,因此,此时预测得到的下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率均为1,导致在编号为455911、458233、304753的北斗卡可调配的情况下,并未分配发送等级为5的通信报文。当多北斗卡指挥机在当前周期内运行了一段时间,各个北斗卡已经完成了一些通讯报文的发送任务,并且各个北斗卡此时均处于如表8所示的未分配报文任务(空闲)状态,各等级北斗卡的报文发送情况如表9所示。表8各北斗卡的运行状态表表9各等级北斗卡报文发送情况表此时,获取如表5所示的发送任务链表时,预测得到下一发送任务链表中出现与各可调配北斗卡相同等级的通讯报文的概率pi的结果如表10所示。表10出现各等级通讯报文的概率对照表根据上述结果,可以得到如表11所示的报文调度结果以及如表12所示的北斗卡空闲状况结果。表11报文调度结果统计表表12北斗卡空闲状况结果统计表级别可发送数量61从表11报文调度结果分析可知,编号为455911的北斗卡被分配发送报文序号为5的通讯报文的发送任务、编号为458234的北斗卡被分配发送报文序号为12的通讯报文的发送任务,根据本发明的方法可以计算得知,为编号为455911、458234的北斗卡当分配相应的通讯报文参与报文发送,能产生最大的发送价值。综上所述,本发明的多北斗卡指挥机的报文调度方法,可以充分合理地利用北斗卡的发送资源,能够使发送达到全局的最优化,并且可以很好的解决通讯报文的调度问题。以上,仅为本发明的示意性描述,本领域技术人员应该知道,在不偏离本发明的工作原理的基础上,可以对本发明作出多种改进,这均属于本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1