CN109861741A - 系留无人机数据分发方法、装置、计算机设备及存储介质 - Google Patents
系留无人机数据分发方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109861741A CN109861741A CN201910086276.9A CN201910086276A CN109861741A CN 109861741 A CN109861741 A CN 109861741A CN 201910086276 A CN201910086276 A CN 201910086276A CN 109861741 A CN109861741 A CN 109861741A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- tethered
- aerial vehicle
- unmanned aerial
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及系留无人机数据分发方法、装置、计算机设备及存储介质,该方法包括获取系留无人机机载监控的需求;根据需求将系留无人机机载监控系统划分为若干个模块;定义模块的主题数据结构以及通信内容;根据主题数据结构以及通信内容进行数据分发。本发明利用消息总线统一模块之间的数据共享接口,可便于后期的维护和扩展。在发生数据更新时,会结合模块的主题名称快速定位至数据缓存的地址,并由相关订阅者通过消息总线获取该数据缓存的地址内更新的数据,提高模块之间的数据通信效率,实现将机载监控作为独立分系统且具备高效的数据传输方式,以提高整个无人机系统的维护和扩展的便捷性。
Description
技术领域
本发明涉及系留无人机,更具体地说是指系留无人机数据分发方法、装置、计算机设备及存储介质。
背景技术
系留无人机的机载高压电源使得整个系留无人机系统的电磁环境和热环境复杂了许多,为了保证系留无人机系统的可靠运行,需要实时地对机载系统各个关键装置、关键器件的状态进行监控并存储日志。主要监控的状态可以分为:温度,电压,电流,功率,转速等。此外,系留无人机系统的续航时间是其他无人机的几十甚至上百倍,因而需要长时间连续地存储监控数据。这些特殊要求,决定了机载监控系统需要:一种高效的通信机制来支援监控数据的加工及处理工作;一种鲁棒的软件系统架构以保证系统长时间连续稳定工作。
现有的系留无人机系统大都只具备简单的状态监控功能,个别甚至不将状态监控作为独立的子系统设计,而是将其简化后集成到飞行控制系统中;这样做,势必导致用户对航电系统的监控能力受到限制,监控点有限且分系统数据整合不便,造成后期无人机系统支持,维护工作的艰难。
因此,有必要设计一种新的方法,实现将机载监控作为独立分系统且具备高效的数据传输方式,以提高整个无人机系统的维护和扩展的便捷性。
发明内容
本发明的目的在于克服现有技术的缺陷,提供系留无人机数据分发方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:系留无人机数据分发方法,包括:
获取系留无人机机载监控的需求;
根据需求将系留无人机机载监控系统划分为若干个模块;
定义所述模块的主题数据结构以及通信内容;
根据主题数据结构以及通信内容进行数据分发。
其进一步技术方案为:所述根据主题数据结构以及通信内容进行数据分发,包括:
获取模块所公告的主题;
根据所述主题获取数据缓存的地址;
反馈所述数据缓存的地址至所公告的模块;
判断所有模块中是否有模块的数据发生更新;
若是,则获取数据发生更新的模块的数据更新信息;
根据数据更新信息更新发布事件列队;
将所述数据更新信息存储于对应的数据缓存的地址内;
判断所述发布事件列队是否有需要发布的事件;
若是,则将数据缓存的地址内的数据更新信息分发至所有相关的订阅者。
其进一步技术方案为:所述根据所述主题获取数据缓存的地址,包括:
获取主题中的主题名称以及发布的数据;
根据主题名称以及发布的数据的关系建立节点;
根据所述节点组合形成主题链表;
获取主题名称所在的主题链表内的地址,以形成数据缓存的地址。
其进一步技术方案为:所述数据更新信息包括数据更新的模块的主题名称以及更新的数据。
其进一步技术方案为:所述将所述数据更新信息存储于对应的数据缓存的地址内,包括:
根据数据更新的模块的主题名称获取主题名称对应的数据缓存的地址,以形成更新的数据缓存地址;
将数据更新信息内的更新的数据存储到更新的数据缓存地址。
其进一步技术方案为:所述判断所述发布事件列队是否有发布事件之前,还包括:
获取邻接链表结构;
根据邻接链表结构确定订阅者。
其进一步技术方案为:所述将数据缓存的地址内的数据更新信息分发至所有相关的订阅者,包括:
将所述数据缓存的地址内的更新的数据拷贝至所述模块的主题名称相关的订阅者内;
更新所述订阅者的数据缓存状态。
本发明还提供了系留无人机数据分发装置,包括:
需求获取单元,用于获取系留无人机机载监控的需求;
划分单元,用于根据需求将系留无人机机载监控系统划分为若干个模块;
定义单元,用于定义所述模块的主题数据结构以及通信内容;
数据分发单元,用于根据主题数据结构以及通信内容进行数据分发。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过按照需求将系留无人机的机载监控系统划分为若干个模块,并且定义模块的主题数据结构和通信内容,利用消息总线统一模块之间的数据共享接口,可便于后期的维护和扩展。在发生数据更新时,会结合模块的主题名称快速定位至数据缓存的地址,并由相关订阅者通过消息总线获取该数据缓存的地址内更新的数据,提高模块之间的数据通信效率,实现将机载监控作为独立分系统且具备高效的数据传输方式,以提高整个无人机系统的维护和扩展的便捷性。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的系留无人机数据分发方法的流程示意图;
图2为本发明实施例提供的系留无人机数据分发方法的子流程示意图;
图3为本发明实施例提供的系留无人机数据分发方法的子流程示意图;
图4为本发明实施例提供的系留无人机数据分发方法的子流程示意图;
图5为本发明实施例提供的系留无人机数据分发方法的子流程示意图;
图6为本发明实施例提供的系留无人机数据分发装置的示意性框图;
图7为本发明实施例提供的系留无人机数据分发装置的数据分发单元的示意性框图;
图8为本发明实施例提供的系留无人机数据分发装置的地址获取子单元的示意性框图;
图9为本发明实施例提供的系留无人机数据分发装置的信息缓存子单元的示意性框图;
图10为本发明实施例提供的系留无人机数据分发装置的信息分发子单元的示意性框图;
图11为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的系留无人机数据分发方法的示意性流程图。该系留无人机数据分发方法的应用场景为机载监控装置、无线通信链路以及地面PC终端形成的场景,其中,机载监控装置是一个嵌入式系统、控制器以及传感器组成的装置,地面PC终端包括实时UI模块以及离线日志分析模块。
图1是本发明实施例提供的系留无人机数据分发方法的流程示意图。如图1所示,该方法包括以下步骤S110至S140。
S110、获取系留无人机机载监控的需求。
在本实施例中,系留无人机机载监控的需求是指系留无人机系统的正常运行时需要达到的要求,比如温度、电压、电流、功率、转速等需求。
S120、根据需求将系留无人机机载监控系统划分为若干个模块。
将软件系统需求按照功能分解为功能模块,明确各模块之间的数据流;模块之间只存在数据不存在直接耦合,是最弱的一种耦合关系,模块之间的相互影响只有数据流,单个模块运行异常,不会导致其他模块乃至整个系统的瘫痪。
S130、定义所述模块的主题数据结构以及通信内容。
在本实施例中,每个模块都有各自的主题数据结构,主题数据结构是指该模块所接收的数据的组成方式,比如温度该模块的主题数据结构可以是标准温度+实测温度+相差温度等组成结构。上述的通信内容是指该模块与其余模块之间的通信内容。将每个模块置于独立的进程内实现其功能。
S140、根据主题数据结构以及通信内容进行数据分发。
上述的数据分发采用的是以下列表所示的消息总线进行数据分发。
上述的主题元数据是指主题数据结构、主题名称以及主题名称对应的模块的数据;消息句柄是指通过公告主题、订阅主题所产生的数据对象,该数据对象是接下来进行发布主题数据,检查并拷贝主题数据的操作的必要参数;待发布数据是指更新的数据;订阅者名称是指任何发生了订阅某一主题动作的软件子模块的名称;更新状态位是指更新模块的数据缓存状态;最新主题数据是指主题名称所对应的最新的数据,也就是更新后的数据,本地缓冲区是指用于存储数据的本地的区域。上述的消息总线被调用某一接口的函数时,会根据参数值输出返回值。
在一实施例中,如图2所示,上述的步骤S140可包括步骤S141~S1411。
S141、获取模块所公告的主题。
在本实施例中,主题是指模块所包括的主题名称以及发布的数据,模块会调用消息总线中的advertise()公告一个主题,这样把模块的主题数据结构以及主题名称注册到消息总线,该主题名称是指模块所带有的标识的主题,比如温度模块的主题名称为温度等。
S142、根据所述主题获取数据缓存的地址。
数据缓存的地址是指模块所获取的数据所存储的地址。
在一实施例中,如图3所示,上述的步骤S142可包括步骤S1421~S1424。
S1421、获取主题中的主题名称以及发布的数据。
在本实施例中,数据是指模块所发布的数据。
S1422、根据主题名称以及发布的数据的关系建立节点。
在本实施例中,节点是指所有模块之间的对应关系形成的连接点,具体地,主题名称与发布的数据是一一对应的关系,节点内囊括有[主题名称,发布的数据]的对应关系。
S1423、根据所述节点组合形成主题链表。
在本实施例中,主题链表是指所有连接点按照模块与模块之间的关系连接形成的链表,类似于树状图等。
S1424、获取主题名称所在的主题链表内的地址,以形成数据缓存的地址。
在本实施例中,数据缓存的地址是指模块所发布的数据所存储的地址,以主题名称作为标识,直接定位至地址,可以提高数据读取的效率。
S143、反馈所述数据缓存的地址至所公告的模块。
将地址反馈至所公告的模块以便于当模块有新的数据时,可快速存储到该地址内。
S144、判断所有模块中是否有模块的数据发生更新;
若否,则返回步骤S144;
S145、若是,则获取数据发生更新的模块的数据更新信息。
在本实施例中,数据更新信息是指模块有数据更新时所产生的信息,数据更新信息包括数据更新的模块的主题名称以及更新的数据。
S146、根据数据更新信息更新发布事件列队。
在本实施例中,发布事件列队是指用于存储需要发布数据的模块主题的列队。当某模块的数据发生了更新,将该模块会调用消息总线的publish()函数,该函数会将某模块的主题名称(或者ID)入队发布事件队列,以表示该模块所更新的数据将会被发布出去,以使相关模块都得知。
S147、将所述数据更新信息存储于对应的数据缓存的地址内。
在一实施例中,如图4所示,上述的步骤S147可包括步骤S1471至S1472。
S1471、根据数据更新的模块的主题名称获取主题名称对应的数据缓存的地址,以形成更新的数据缓存地址。
更新的数据缓存地址是指数据更新的模块的主题名称的数据所缓存的地址。
根据数据更新的模块的主题名称作为搜索条件,在主题链表内进行搜索,以得到该主题名称对应的数据缓存的地址。
S1472、将数据更新信息内的更新的数据存储到更新的数据缓存地址。
将更新的数据写入相应的数据缓存地址,以实现更新的数据发布到消息总线上,该消息总线是所有模块都可以调取在其上方的数据的通讯总线,上述的主题链表以及发布事件列队均由消息总线在建立和维护。
S148、获取邻接链表结构。
在本实施例中,邻接链表结构是指描述模块之间的数据依赖关系图。该邻接链表结构是由消息总线维护,可通过调用advertise()函数会添加主题节点,该主题节点是指包括用于将数据存储至数据缓存的地址以及将主题名称注册到消息总线的模块,类似于主节点,调用unadvertise()函数会删除主题节点;调用subscribe()函数会添加订阅者节点,调用unsubscribe()函数会删除订阅者节点,订阅者节点是指用于接收主题节点经由消息总线分发下来的数据的模块。
S149、根据邻接链表结构确定订阅者。
由数据更新的模块的主题名称作为搜索条件,在邻接链表结构进行搜索,便可确定与之相关的订阅者。
S1410、判断所述发布事件列队是否有需要发布的事件。
在本实施例中,消息总线的主线程监视发布事件列队,一旦发现发布事件列队内有新增的主题名称,则该发布事件列队有需要发布的事件;反之则无。
S1411、若是,则将数据缓存的地址内的数据更新信息分发至所有相关的订阅者.
一旦发现发布事件队列中有需要发布的事件,消息总线会将发生数据更新的模块的数据更新信息分发给所有的相关订阅者。
在一实施例中,如图5所示,上述的步骤S1411可包括步骤S1411a~S1411b。
S1411a、将所述数据缓存的地址内的更新的数据拷贝至所述模块的主题名称相关的订阅者内;
S1411b、更新所述订阅者的数据缓存状态。
具体地,将更新的数据存储到相关的订阅者内,以便于对订阅者相关的数据进行更新等处理,再更新所述订阅者的数据缓存状态,以完成整个数据的分发。
若否,则返回所述步骤S148。
当更新所述订阅者的数据缓存状态之后,订阅者按照自己的需要订阅任意的主题。调用subscribe()函数进行订阅,如果订阅成功,会得到订阅数据所在的数据缓存的地址;订阅者调用check()函数轮询检查订阅数据是否更新,也就是如果有更新,调用copy()函数将订阅数据所在的数据缓存的地址的数据拷贝到本地缓冲区。
上述的系留无人机数据分发方法,通过按照需求将系留无人机的机载监控系统划分为若干个模块,并且定义模块的主题数据结构和通信内容,利用消息总线统一模块之间的数据共享接口,可便于后期的维护和扩展。在发生数据更新时,会结合模块的主题名称快速定位至数据缓存的地址,并由相关订阅者通过消息总线获取该数据缓存的地址内更新的数据,提高模块之间的数据通信效率,实现将机载监控作为独立分系统且具备高效的数据传输方式,以提高整个无人机系统的维护和扩展的便捷性。
图6是本发明实施例提供的一种系留无人机数据分发装置300的示意性框图。如图6所示,对应于以上系留无人机数据分发方法,本发明还提供一种系留无人机数据分发装置300。该系留无人机数据分发装置300包括用于执行上述系留无人机数据分发方法的单元。
具体地,请参阅图6,该系留无人机数据分发装置300包括:
需求获取单元301,用于获取系留无人机机载监控的需求;
划分单元302,用于根据需求将系留无人机机载监控系统划分为若干个模块;
定义单元303,用于定义所述模块的主题数据结构以及通信内容;
数据分发单元304,用于根据主题数据结构以及通信内容进行数据分发。
在一实施例中,如图7所示,所述数据分发单元304包括:
主题获取子单元3041,用于获取模块所公告的主题;
地址获取子单元3042,用于地址根据所述主题获取数据缓存的地址;
地址反馈子单元3043,用于反馈所述数据缓存的地址至所公告的模块;
更新判断子单元3044,用于判断所有模块中是否有模块的数据发生更新;
信息获取子单元3045,用于若是,则获取数据发生更新的模块的数据更新信息;
信息更新子单元3046,用于根据数据更新信息更新发布事件列队;
信息缓存子单元3047,用于将所述数据更新信息存储于对应的数据缓存的地址内;
事件判断子单元30410,用于判断所述发布事件列队是否有需要发布的事件;
信息分发子单元30411,用于若是,则将数据缓存的地址内的数据更新信息分发至所有相关的订阅者。
在一实施例中,如图8所示,所述地址获取子单元3042包括:
数据获取模块30421,用于获取主题中的主题名称以及发布的数据;
节点建立模块30422,用于根据主题名称以及发布的数据的关系建立节点;
链表形成模块30423,用于根据所述节点组合形成主题链表;
链表地址获取模块30424,用于获取主题名称所在的主题链表内的地址,以形成数据缓存的地址。
在一实施例中,如图9所示,所述信息缓存子单元3047包括:
缓存地址获取模块30471,用于根据数据更新的模块的主题名称获取主题名称对应的数据缓存的地址,以形成更新的数据缓存地址;
更新数据存储模块30472,用于将数据更新信息内的更新的数据存储到更新的数据缓存地址。
在一实施例中,上述的装置还包括:
邻接链表获取单元3048,用于获取邻接链表结构;
订阅者确定单元3049,用于根据邻接链表结构确定订阅者。
在一实施例中,如图10所示,所述信息分发子单元30411包括:
数据拷贝单元304111,用于将所述数据缓存的地址内的更新的数据拷贝至所述模块的主题名称相关的订阅者内;
状态更新单元304112,用于更新所述订阅者的数据缓存状态。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述系留无人机数据分发装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述系留无人机数据分发装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种系留无人机数据分发方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种系留无人机数据分发方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取系留无人机机载监控的需求;
根据需求将系留无人机机载监控系统划分为若干个模块;
定义所述模块的主题数据结构以及通信内容;
根据主题数据结构以及通信内容进行数据分发。
在一实施例中,处理器502在实现所述根据主题数据结构以及通信内容进行数据分发步骤时,具体实现如下步骤:
获取模块所公告的主题;
根据所述主题获取数据缓存的地址;
反馈所述数据缓存的地址至所公告的模块;
判断所有模块中是否有模块的数据发生更新;
若是,则获取数据发生更新的模块的数据更新信息;
根据数据更新信息更新发布事件列队;
将所述数据更新信息存储于对应的数据缓存的地址内;
判断所述发布事件列队是否有需要发布的事件;
若是,则将数据缓存的地址内的数据更新信息分发至所有相关的订阅者。
其中,所述数据更新信息包括数据更新的模块的主题名称以及更新的数据。
在一实施例中,处理器502在实现所述根据所述主题获取数据缓存的地址步骤时,具体实现如下步骤:
获取主题中的主题名称以及发布的数据;
根据主题名称以及发布的数据的关系建立节点;
根据所述节点组合形成主题链表;
获取主题名称所在的主题链表内的地址,以形成数据缓存的地址。
在一实施例中,处理器502在实现所述将所述数据更新信息存储于对应的数据缓存的地址内步骤时,具体实现如下步骤:
根据数据更新的模块的主题名称获取主题名称对应的数据缓存的地址,以形成更新的数据缓存地址;
将数据更新信息内的更新的数据存储到更新的数据缓存地址。
在一实施例中,处理器502在实现所述判断所述发布事件列队是否有发布事件步骤之前,还实现如下步骤:
获取邻接链表结构;
根据邻接链表结构确定订阅者。
在一实施例中,处理器502在实现所述将数据缓存的地址内的数据更新信息分发至所有相关的订阅者步骤时,具体实现如下步骤:
将所述数据缓存的地址内的更新的数据拷贝至所述模块的主题名称相关的订阅者内;
更新所述订阅者的数据缓存状态。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取系留无人机机载监控的需求;
根据需求将系留无人机机载监控系统划分为若干个模块;
定义所述模块的主题数据结构以及通信内容;
根据主题数据结构以及通信内容进行数据分发。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据主题数据结构以及通信内容进行数据分发步骤时,具体实现如下步骤:
获取模块所公告的主题;
根据所述主题获取数据缓存的地址;
反馈所述数据缓存的地址至所公告的模块;
判断所有模块中是否有模块的数据发生更新;
若是,则获取数据发生更新的模块的数据更新信息;
根据数据更新信息更新发布事件列队;
将所述数据更新信息存储于对应的数据缓存的地址内;
判断所述发布事件列队是否有需要发布的事件;
若是,则将数据缓存的地址内的数据更新信息分发至所有相关的订阅者。
其中,所述数据更新信息包括数据更新的模块的主题名称以及更新的数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述主题获取数据缓存的地址步骤时,具体实现如下步骤:
获取主题中的主题名称以及发布的数据;
根据主题名称以及发布的数据的关系建立节点;
根据所述节点组合形成主题链表;
获取主题名称所在的主题链表内的地址,以形成数据缓存的地址。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将所述数据更新信息存储于对应的数据缓存的地址内步骤时,具体实现如下步骤:
根据数据更新的模块的主题名称获取主题名称对应的数据缓存的地址,以形成更新的数据缓存地址;
将数据更新信息内的更新的数据存储到更新的数据缓存地址。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述发布事件列队是否有发布事件步骤之前,还实现如下步骤:
获取邻接链表结构;
根据邻接链表结构确定订阅者。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将数据缓存的地址内的数据更新信息分发至所有相关的订阅者步骤时,具体实现如下步骤:
将所述数据缓存的地址内的更新的数据拷贝至所述模块的主题名称相关的订阅者内;
更新所述订阅者的数据缓存状态。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.系留无人机数据分发方法,其特征在于,包括:
获取系留无人机机载监控的需求;
根据需求将系留无人机机载监控系统划分为若干个模块;
定义所述模块的主题数据结构以及通信内容;
根据主题数据结构以及通信内容进行数据分发。
2.根据权利要求1所述的系留无人机数据分发方法,其特征在于,所述根据主题数据结构以及通信内容进行数据分发,包括:
获取模块所公告的主题;
根据所述主题获取数据缓存的地址;
反馈所述数据缓存的地址至所公告的模块;
判断所有模块中是否有模块的数据发生更新;
若是,则获取数据发生更新的模块的数据更新信息;
根据数据更新信息更新发布事件列队;
将所述数据更新信息存储于对应的数据缓存的地址内;
判断所述发布事件列队是否有需要发布的事件;
若是,则将数据缓存的地址内的数据更新信息分发至所有相关的订阅者。
3.根据权利要求2所述的系留无人机数据分发方法,其特征在于,所述根据所述主题获取数据缓存的地址,包括:
获取主题中的主题名称以及发布的数据;
根据主题名称以及发布的数据的关系建立节点;
根据所述节点组合形成主题链表;
获取主题名称所在的主题链表内的地址,以形成数据缓存的地址。
4.根据权利要求2所述的系留无人机数据分发方法,其特征在于,所述数据更新信息包括数据更新的模块的主题名称以及更新的数据。
5.根据权利要求4所述的系留无人机数据分发方法,其特征在于,所述将所述数据更新信息存储于对应的数据缓存的地址内,包括:
根据数据更新的模块的主题名称获取主题名称对应的数据缓存的地址,以形成更新的数据缓存地址;
将数据更新信息内的更新的数据存储到更新的数据缓存地址。
6.根据权利要求1至5任一项所述的系留无人机数据分发方法,其特征在于,所述判断所述发布事件列队是否有发布事件之前,还包括:
获取邻接链表结构;
根据邻接链表结构确定订阅者。
7.根据权利要求6所述的系留无人机数据分发方法,其特征在于,所述将数据缓存的地址内的数据更新信息分发至所有相关的订阅者,包括:
将所述数据缓存的地址内的更新的数据拷贝至所述模块的主题名称相关的订阅者内;
更新所述订阅者的数据缓存状态。
8.系留无人机数据分发装置,其特征在于,包括:
需求获取单元,用于获取系留无人机机载监控的需求;
划分单元,用于根据需求将系留无人机机载监控系统划分为若干个模块;
定义单元,用于定义所述模块的主题数据结构以及通信内容;
数据分发单元,用于根据主题数据结构以及通信内容进行数据分发。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910086276.9A CN109861741B (zh) | 2019-01-29 | 2019-01-29 | 系留无人机数据分发方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910086276.9A CN109861741B (zh) | 2019-01-29 | 2019-01-29 | 系留无人机数据分发方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109861741A true CN109861741A (zh) | 2019-06-07 |
CN109861741B CN109861741B (zh) | 2021-09-24 |
Family
ID=66896723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910086276.9A Active CN109861741B (zh) | 2019-01-29 | 2019-01-29 | 系留无人机数据分发方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109861741B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475263A (zh) * | 2020-04-10 | 2020-07-31 | 上海移为通信技术股份有限公司 | 事件处理方法、设备及存储介质 |
CN113094614A (zh) * | 2019-12-23 | 2021-07-09 | 中国移动通信集团湖南有限公司 | 一种数据分发方法、系统及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955456A (zh) * | 2011-08-26 | 2013-03-06 | 北京安翔动力科技有限公司 | 一种基于总线通讯的小型无人飞行器控制系统 |
CN205229810U (zh) * | 2015-12-11 | 2016-05-11 | 上海埃威航空电子有限公司 | 基于移动通信网络的多无人机低空监控系统 |
CN105807779A (zh) * | 2016-05-11 | 2016-07-27 | 飞智控(天津)科技有限公司 | 一种无人机飞行控制系统及方法 |
CN107197213A (zh) * | 2017-07-10 | 2017-09-22 | 哈尔滨市舍科技有限公司 | 基于局域网的景区用无人机监控系统与方法 |
CN107933957A (zh) * | 2017-12-21 | 2018-04-20 | 中国人民解放军总参谋部第六十研究所 | 一种无人直升机桨叶载荷飞行实测系统及其实测方法 |
US9979463B1 (en) * | 2016-04-16 | 2018-05-22 | Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University | UAV wildlife monitoring system and related methods |
CN108174358A (zh) * | 2017-12-14 | 2018-06-15 | 沈阳无距科技有限公司 | 飞行集群通讯方法、装置和系统 |
CN109050868A (zh) * | 2018-08-24 | 2018-12-21 | 安徽云翼航空技术有限公司 | 一种智能系留无人机系统 |
-
2019
- 2019-01-29 CN CN201910086276.9A patent/CN109861741B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955456A (zh) * | 2011-08-26 | 2013-03-06 | 北京安翔动力科技有限公司 | 一种基于总线通讯的小型无人飞行器控制系统 |
CN205229810U (zh) * | 2015-12-11 | 2016-05-11 | 上海埃威航空电子有限公司 | 基于移动通信网络的多无人机低空监控系统 |
US9979463B1 (en) * | 2016-04-16 | 2018-05-22 | Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University | UAV wildlife monitoring system and related methods |
CN105807779A (zh) * | 2016-05-11 | 2016-07-27 | 飞智控(天津)科技有限公司 | 一种无人机飞行控制系统及方法 |
CN107197213A (zh) * | 2017-07-10 | 2017-09-22 | 哈尔滨市舍科技有限公司 | 基于局域网的景区用无人机监控系统与方法 |
CN108174358A (zh) * | 2017-12-14 | 2018-06-15 | 沈阳无距科技有限公司 | 飞行集群通讯方法、装置和系统 |
CN107933957A (zh) * | 2017-12-21 | 2018-04-20 | 中国人民解放军总参谋部第六十研究所 | 一种无人直升机桨叶载荷飞行实测系统及其实测方法 |
CN109050868A (zh) * | 2018-08-24 | 2018-12-21 | 安徽云翼航空技术有限公司 | 一种智能系留无人机系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094614A (zh) * | 2019-12-23 | 2021-07-09 | 中国移动通信集团湖南有限公司 | 一种数据分发方法、系统及装置 |
CN111475263A (zh) * | 2020-04-10 | 2020-07-31 | 上海移为通信技术股份有限公司 | 事件处理方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109861741B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110858850B (zh) | 一种轨道交通系统综合网管方法、装置及系统 | |
CN107465767B (zh) | 一种数据同步的方法和系统 | |
CN110113381B (zh) | 一种区块链中订阅主题的方法及装置 | |
CN102457906B (zh) | 一种消息队列的负载均衡控制方法及系统 | |
CN104092719B (zh) | 文件传输方法、装置及分布式集群文件系统 | |
CN106155811B (zh) | 资源服务装置、资源调度方法和装置 | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
CN108650667B (zh) | 终端调度方法和装置 | |
CA2604001A1 (en) | Conveying a content delivery schedule to mobile terminals | |
CN109756417A (zh) | 离线消息分发方法、服务器及存储介质 | |
CN109861741A (zh) | 系留无人机数据分发方法、装置、计算机设备及存储介质 | |
CN102523109A (zh) | 资源状态更新方法、管理客户端及服务器 | |
US20170353356A1 (en) | System and method for group-policy-based configuration | |
CN113434282A (zh) | 流计算任务的发布、输出控制方法及装置 | |
CN111756795A (zh) | 一种服务信息管理方法、装置、电子设备及存储介质 | |
CN113031874A (zh) | 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质 | |
CN110740145A (zh) | 消息消费方法、装置、存储介质及电子设备 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN111813529B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
JP5610773B2 (ja) | メッセージ処理装置およびメッセージ処理方法 | |
CN113297008B (zh) | 数据处理方法以及系统 | |
CN111614702A (zh) | 一种边缘计算方法以及边缘计算系统 | |
Nikolopoulos et al. | Enhancing context-awareness in autonomous fog nodes for IoT systems | |
CN115658745A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
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 |