CN111124716B - 一种无人机中多优先级队列消息传输方法 - Google Patents
一种无人机中多优先级队列消息传输方法 Download PDFInfo
- Publication number
- CN111124716B CN111124716B CN201911367481.9A CN201911367481A CN111124716B CN 111124716 B CN111124716 B CN 111124716B CN 201911367481 A CN201911367481 A CN 201911367481A CN 111124716 B CN111124716 B CN 111124716B
- Authority
- CN
- China
- Prior art keywords
- message
- array
- priority
- empty
- full
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请属于航空技术领域,特别涉及一种无人机中多优先级队列消息传输方法,包括如下步骤:构建优先级队列数组;构建优先级消息数组;将数组成员的头节点、尾节点、空满标志均置为0,优先级数组长度置为对应优先级消息数组长度;当有新消息时进行入队操作;当到达消息下传时间时,进行出队操作。本申请的无人机中多优先级队列消息传输方法,借助两层数据结构关联实现多优先级消息队列,并给出各优先级数据结构参考长度,提高了系统的可扩展性和可复用性,并且降低了无人机下传消息所耗时间,提高了系统效率,保障了无人机的高安全性和高可靠性。
Description
技术领域
本申请属于航空技术领域,特别涉及一种无人机中多优先级队列消息传输方法。
背景技术
针对某类无人机,其下传消息按消息种类分为4种优先级,即最低(0级)、普通(1级)、高级(2级)、关键(3级),详见如下附表1所示:
附表1无人机下传消息优先级划分表
序号 | 种类 | 优先级 |
1 | 序列帧消息 | 0级 |
2 | 事件消息 | 1级 |
3 | 查询应答消息 | 2级 |
4 | 指令回报消息 | 3级 |
无人机飞管计算机下传消息时,需按照优先级队列(先入先出)下传,发送原则是:定周期从缓冲区中取出消息进行发送。具体地,每次取数优先级为:队列4(优先级3级)>队列3(优先级2级)>队列2(优先级1级)>队列1(优先级0级)。高优先级的消息具有中断权,即出现高优先级消息的时候,可以暂时中断正在发送的低优先级消息进程(应保证当前正在发送的低优先级消息的完整性),特别是可以暂时中断低优先级的序列帧发送进程。待高优先级消息发送完毕后,立即恢复暂时中断的低优先级消息的发送进程。
这种消息下传方式有如下技术难点:在无人机飞管计算机的每个运行周期内,待发的各优先级消息队列长度,需随上行消息内容和无人机当前状态而变化,而飞管系统的高安全性和高可靠性要求,不允许系统中出现动态分配内存。
发明内容
为了解决上述技术问题至少之一,本申请提供了一种无人机中多优先级队列消息传输方法。
本申请公开了一种无人机中多优先级队列消息传输方法,包括如下步骤:
步骤一、构建优先级队列数组;其中,优先级队列数组采用结构体类型的数组形式,包括预定数量的不同优先级的数组成员,所述预定数量等于优先级总数,且数组成员包含指向对应优先级消息数组的指针、优先级数组长度、头节点所在位置、尾节点所在位置以及优先级消息数组当前空满标志;
步骤二、构建优先级消息数组;其中,优先级消息数组中消息数组的数量与所述数组成员相等,且各消息数组优先级与各数组成员的优先级相对应;
步骤三、将数组成员的头节点、尾节点、空满标志均置为0,优先级数组长度置为对应优先级消息数组长度;
步骤四、当有新消息加入优先级队列数组时,根据该新消息的优先级,加入到对应优先级消息数组中待发;
步骤五、当到达消息下传时间时,从最高优先级消息数组开始查询,找到不为空的优先级队列数组,并根据其优先级数组长度、头节点所在位置、尾节点所在位置、优先级消息数组当前空满标志,从而进行出队操作。
根据本申请的至少一个实施方式,所述步骤五中,下传消息的格式包括消息头、消息内容、时戳以及校验码;其中,所述消息头又包括接收方地址信息、发送方地址信息、消息属性信息以及消息代码。
根据本申请的至少一个实施方式,所述优先级数组长度中,优先级数组长度为2n- 1N,其中
N=「m/f」;f为无人机下传消息频率,m为地面站上传消息频率;n表示优先级,最高优先级n为1,其它优先级由1开设按照自然数依次递减。
根据本申请的至少一个实施方式,所述优先级消息数组当前空满标志中,0代表空,1代表未满,2代表满。
根据本申请的至少一个实施方式,所述骤四中,根据该新消息的优先级,加入到对应优先级消息数组包括:
步骤4.1、当判断对应优先级消息数组的空满标志不是满标志时,进行下一步;
步骤4.2、将该新消息内容赋值给对应优先级消息数组尾节点所在位置;
步骤4.3、尾节点加1,并与优先级数组长度取余,结果赋给尾节点;
步骤4.4、继续判断对应优先级消息数组的空满标志是否为满标志,是则进行步骤4.5,否则进行步骤4.6;
步骤4.5、将对应优先级消息数组的空满标志置为2;
步骤4.6、将对应优先级消息数组的空满标志置为1。
根据本申请的至少一个实施方式,所述骤五中,进行出队操作包括:
步骤5.1、当判断对应优先级消息数组的空满标志不是满标志时,进行下一步;
步骤5.2、将对应优先级消息数组头节点位置消息赋值给当前下传消息;
步骤5.3、头节点加1,并与优先级数组长度取余,结果赋给头节点;
步骤5.4、继续判断对应优先级消息数组的空满标志是否为空标志,是则进行步骤5.5,否则进行步骤5.6;
步骤5.5、将对应优先级消息数组的空满标志置为0;
步骤6.6、将对应优先级消息数组的空满标志置为1。
本申请至少存在以下有益技术效果:
本申请的无人机中多优先级队列消息传输方法,至少包括如下优点:
1)借助两层数据结构关联实现多优先级消息队列,并给出各优先级数据结构参考长度,提高了系统的可扩展性和可复用性;
2)采用静态队列实现方法,可快速获取当前需下传的消息,降低了无人机下传消息所耗时间,提高了系统效率;
3)没有采用动态分配内存,因此避免了内存泄露、访问未知内存等问题,保障了无人机的高安全性和高可靠性。
附图说明
图1是本申请无人机中多优先级队列消息传输方法中的两层数据结构示意图;
图2是本申请无人机中多优先级队列消息传输方法一实施例中的第一层数据结构示意图;
图3是本申请无人机中多优先级队列消息传输方法一实施例中的第二层数据结构示意图;
图4是本申请无人机中多优先级队列消息传输方法一实施例中的优先级消息数组长度图;
图5是本申请无人机中多优先级队列消息传输方法步骤四部分的流程图;
图6是本申请无人机中多优先级队列消息传输方法步骤五部分的流程图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
本申请的目的就是为了提供一种无人机基于优先级下传消息的静态队列实现方法,用于以静态方法实现无人机中变长的多优先级队列消息下传。
需要解决的技术问题如下:
1)应避免用动态分配内存的方法实现多优先级消息队列;
2)使用静态方法实现队列时,各优先级的最大消息条数如何选取。
下面结合附图1-图6对本申请的无人机中多优先级队列消息传输方法做进一步详细说明。
本申请公开了一种无人机中多优先级队列消息传输方法,包括如下步骤
步骤一、如图1所示,构建优先级队列数组(即第一层数据结构);其中,优先级队列数组采用结构体类型(MSG_QUEUE)的数组形式,包括预定数量的不同优先级的数组成员,所述预定数量等于优先级总数,且数组成员包含指向对应优先级消息数组的指针、优先级数组长度、头节点所在位置、尾节点所在位置以及优先级消息数组当前空满标志。
如图2所示,在一实施例中,设定数组成员个数为4,Msg_Queue[0]对应优先级0级的消息数组。结构体成员包含指向对应优先级消息数组的指针、优先级数组长度、头节点所在位置、尾节点所在位置、优先级消息数组当前空满标志(即空/满标志)。其中,优先级消息数组当前空满标志中,0代表空,1代表未满,2代表满。
步骤二、如图1所示,构建优先级消息数组(即第二层数据结构);其中,优先级消息数组中消息数组的数量与所述数组成员相等,且各消息数组优先级与各数组成员的优先级相对应。
需要说明的是,下传消息格式详见附表2,可以包括消息头、消息内容、时戳以及校验码;其中,所述消息头又包括接收方地址信息、发送方地址信息、消息属性信息以及消息代码。
针对消息格式,设计与具体消息相关的第二层数据结构,详见附图3。
附表2下传消息格式表
另外,通常无人机下传消息频率<地面站上传消息频率,假定无人机下传消息频率为f,地面站上传消息频率为m,取N=「m/f」;则优先级数组长度为2n-1N,其中n表示优先级,最高优先级n为1,其它优先级由1开设按照自然数依次递减。例如上述具体实例中,如图4所示,最高优先级的数组长度为N,分别得出其它优先级数组长度:2N、4N、8N。
综上,如图1所示,步骤一、步骤二中设计两层数据结构实现静态队列。第一层数据结构为优先级队列数组,第二层数据结构为各优先级消息数组。
步骤三、初始化时,将数组成员的头节点、尾节点、空满标志均置为0,优先级数组长度置为对应优先级消息数组长度;
步骤四、当有新消息加入优先级队列数组时,根据该新消息的优先级,加入到对应优先级消息数组中待发;例如上述具体实例中,若优先级2级消息要加入待发,则根据Msg_Queue[2]的优先级数组长度、头节点所在位置、尾节点所在位置、优先级消息数组当前空/满标志,进行入队操作。
进一步,如图6所示,上述骤四中,根据该新消息的优先级,加入到对应优先级消息数组又具体可以包括:
步骤4.1、当判断对应优先级消息数组的空满标志不是满标志时,进行下一步;当然,如果是满标志,则返回继续判断。
步骤4.2、将该新消息内容赋值给对应优先级消息数组尾节点所在位置。
步骤4.3、尾节点加1,并与优先级数组长度取余,结果赋给尾节点。
步骤4.4、继续判断对应优先级消息数组的空满标志是否为满标志,是则进行步骤4.5,否则进行步骤4.6。
步骤4.5、将对应优先级消息数组的空满标志置为2。
步骤4.6、将对应优先级消息数组的空满标志置为1。
步骤五、当到达消息下传时间时,从最高优先级消息数组开始查询,找到不为空的优先级队列数组,并根据其优先级数组长度、头节点所在位置、尾节点所在位置、优先级消息数组当前空满标志,从而进行出队操作。例如上述实例中,先查询Msg_Queue[3]是否为空,若为空,再查询Msg_Queue[2]是否为空,直至找到不为空的队列,根据其优先级数组长度、头节点所在位置、尾节点所在位置、优先级消息数组当前空/满标志,进行出队操作。
综上所述,本申请的无人机中多优先级队列消息传输方法,至少包括如下优点:
1)借助两层数据结构关联实现多优先级消息队列,并给出各优先级数据结构参考长度,提高了系统的可扩展性和可复用性;
2)采用静态队列实现方法,可快速获取当前需下传的消息,降低了无人机下传消息所耗时间,提高了系统效率;
3)没有采用动态分配内存,因此避免了内存泄露、访问未知内存等问题,保障了无人机的高安全性和高可靠性。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种无人机中多优先级队列消息传输方法,其特征在于,包括如下步骤:
步骤一、构建优先级队列数组;其中,优先级队列数组采用结构体类型的数组形式,包括预定数量的不同优先级的数组成员,所述预定数量等于优先级总数,且数组成员包含指向对应优先级消息数组的指针、优先级数组长度、头节点所在位置、尾节点所在位置以及优先级消息数组当前空满标志;
步骤二、构建优先级消息数组;其中,优先级消息数组中消息数组的数量与所述数组成员相等,且各消息数组优先级与各数组成员的优先级相对应;
步骤三、将数组成员的头节点、尾节点、空满标志均置为0,优先级数组长度置为对应优先级消息数组长度;
步骤四、当有新消息加入优先级队列数组时,根据该新消息的优先级,加入到对应优先级消息数组中待发;
步骤五、当到达消息下传时间时,从最高优先级消息数组开始查询,找到不为空的优先级队列数组,并根据其优先级数组长度、头节点所在位置、尾节点所在位置、优先级消息数组当前空满标志,从而进行出队操作。
2.根据权利要求1所述的无人机中多优先级队列消息传输方法,其特征在于,所述步骤五中,下传消息的格式包括消息头、消息内容、时戳以及校验码;其中,所述消息头又包括接收方地址信息、发送方地址信息、消息属性信息以及消息代码。
3.根据权利要求1所述的无人机中多优先级队列消息传输方法,其特征在于,所述优先级数组长度中,优先级数组长度为2n-1N,其中
N=「m/f」;f为无人机下传消息频率,m为地面站上传消息频率;n表示优先级,最高优先级n为1,其它优先级由1开设按照自然数依次递减。
4.根据权利要求1所述的无人机中多优先级队列消息传输方法,其特征在于,所述优先级消息数组当前空满标志中,0代表空,1代表未满,2代表满。
5.根据权利要求4所述的无人机中多优先级队列消息传输方法,其特征在于,所述骤四中,根据该新消息的优先级,加入到对应优先级消息数组包括:
步骤4.1、当判断对应优先级消息数组的空满标志不是满标志时,进行下一步;
步骤4.2、将该新消息内容赋值给对应优先级消息数组尾节点所在位置;
步骤4.3、尾节点加1,并与优先级数组长度取余,结果赋给尾节点;
步骤4.4、继续判断对应优先级消息数组的空满标志是否为满标志,是则进行步骤4.5,否则进行步骤4.6;
步骤4.5、将对应优先级消息数组的空满标志置为2;
步骤4.6、将对应优先级消息数组的空满标志置为1。
6.根据权利要求4所述的无人机中多优先级队列消息传输方法,其特征在于,所述骤五中,进行出队操作包括:
步骤5.1、当判断对应优先级消息数组的空满标志不是满标志时,进行下一步;
步骤5.2、将对应优先级消息数组头节点位置消息赋值给当前下传消息;
步骤5.3、头节点加1,并与优先级数组长度取余,结果赋给头节点;
步骤5.4、继续判断对应优先级消息数组的空满标志是否为空标志,是则进行步骤5.5,否则进行步骤5.6;
步骤5.5、将对应优先级消息数组的空满标志置为0;
步骤6.6、将对应优先级消息数组的空满标志置为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911367481.9A CN111124716B (zh) | 2019-12-26 | 2019-12-26 | 一种无人机中多优先级队列消息传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911367481.9A CN111124716B (zh) | 2019-12-26 | 2019-12-26 | 一种无人机中多优先级队列消息传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124716A CN111124716A (zh) | 2020-05-08 |
CN111124716B true CN111124716B (zh) | 2022-10-28 |
Family
ID=70503087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911367481.9A Active CN111124716B (zh) | 2019-12-26 | 2019-12-26 | 一种无人机中多优先级队列消息传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124716B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185693A (zh) * | 2021-11-22 | 2022-03-15 | 西安空间无线电技术研究所 | 一种可自修复的多结点聚合共享队列管理方法 |
CN115276911B (zh) * | 2022-08-02 | 2023-07-11 | 中国航空工业集团公司沈阳飞机设计研究所 | 基于序列帧整体应答的地面与无人机数据传输方法及系统 |
CN117938787A (zh) * | 2024-03-25 | 2024-04-26 | 中国人民解放军国防科技大学 | 一种消息批量传输的仿真系统及其实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222436A (zh) * | 2008-01-25 | 2008-07-16 | 中兴通讯股份有限公司 | 一种分级发送数据的方法 |
CN104951373B (zh) * | 2015-05-28 | 2018-11-27 | 浙江元亨通信技术股份有限公司 | 调度系统的消息队列处理方法 |
CN106776401B (zh) * | 2016-11-23 | 2019-11-15 | 东软集团股份有限公司 | 消息传输方法和装置 |
-
2019
- 2019-12-26 CN CN201911367481.9A patent/CN111124716B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111124716A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124716B (zh) | 一种无人机中多优先级队列消息传输方法 | |
US10326713B2 (en) | Data enqueuing method, data dequeuing method, and queue management circuit | |
US7372857B1 (en) | Methods and apparatus for scheduling tasks | |
CN101557348B (zh) | 一种基于令牌桶的报文转发方法及装置 | |
CN104796337A (zh) | 一种转发报文的方法及装置 | |
CN113411270B (zh) | 一种面向时间敏感网络的报文缓冲区管理方法 | |
CN1498507A (zh) | 对tdm系统中的突发分布特性进行管理 | |
CN106027308B (zh) | 一种星载1553b总线通信优化方法 | |
US20170078207A1 (en) | Network prioritization based on node-level attributes | |
CN103634224A (zh) | 网络中数据传输的方法和系统 | |
CN106936647A (zh) | 一种新型gjb289a总线的配置方法 | |
CN102035822A (zh) | 航电asm协议控制器及控制方法 | |
CN103326925B (zh) | 一种消息推送方法及装置 | |
CN102025639A (zh) | 队列调度方法及系统 | |
CN102665284B (zh) | 上行业务传输调度方法和终端 | |
CN112583636A (zh) | 一种政务网络切片的构造方法、电子设备和存储介质 | |
CN111106988B (zh) | 一种总线消息分时调度方法及系统 | |
CN108319509B (zh) | 一种事件管理方法、系统及主控设备 | |
CN109347537B (zh) | 时分体制星座网络的数据优先级同步调整及数据检索方法 | |
CN108365886B (zh) | 一种时分复用星间网络数据存储转发方法 | |
CN114024844B (zh) | 数据调度方法、数据调度装置及电子设备 | |
CN114035924A (zh) | 一种分布式限速队列实现方法及装置 | |
CN102170401A (zh) | 一种数据的处理方法和设备 | |
CN107710793A (zh) | 一种定位方法及对应装置 | |
US20210135999A1 (en) | Packet Control Method, Flow Table Update Method, and Node Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |