CN110493143B - 动态调整消息发布频率的方法、系统、装置及介质 - Google Patents
动态调整消息发布频率的方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN110493143B CN110493143B CN201910625478.6A CN201910625478A CN110493143B CN 110493143 B CN110493143 B CN 110493143B CN 201910625478 A CN201910625478 A CN 201910625478A CN 110493143 B CN110493143 B CN 110493143B
- Authority
- CN
- China
- Prior art keywords
- frequency
- message
- dynamically adjusting
- optimal
- node
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明一种动态调整消息发布频率的方法、系统、装置及介质,包括如下步骤:步骤1,获取最优消息发布频率并将最优消息发布频率存入参数服务器;步骤2,根据最优消息发布频率更新当前消息发布的频率;步骤3,创建受当前消息发布的频率约束的主题。与现有技术相比,本发明的有益效果如下:本发明提出了一种能够动态调整消息发布频率的方法,通过动态参数的配置,调整数据传输时对带宽的占用。这样改善了机器人操作系统中在主题上发布消息只能静态设置的限制,在有效连接带宽变化的情况下,保障高优先级的主题的数据优先发送,避免了带宽受限时关键数据的丢失。
Description
技术领域
本发明涉及机器人操作系统中动态管理通信带宽的方法,特别是一种动态调整消息发布频率的方法、系统、装置及介质。
背景技术
为了满足机器人软件日益复杂的需求,许多机器人软件平台应运而生。机器人软件平台当前最为活跃的是机器人操作系统ROS(RobotOperatingSystem),其已成为机器人应用软件平台的事实标准。机器人操作系统ROS包含控制算法、传感器驱动等多个软件节点模块,并分布式运行于机器人的多个异构计算机硬件节点上,如机器人的传感器节点、计算单元节点和执行器节点,通过分布式处理框架组合形成完整的机器人控制软件系统。
ROS的运行架构是一种分布式处理框架,主要支持面向数据的异步数据流通信,这使执行节点能被单独设计,并且在运行时松散耦合,形成完整的机器人控制软件系统。软件节点间通过以数据为中心的发布/订阅模型交互。消息是数据的表现形式,是节点之间的通信内容。消息范围可以涵盖传感器信息、目标检测信息、地图信息、动作指令等等丰富的信息。主题是传递消息的一种形式。每个主题都有一个“名称”字符串作为索引。软件节点通过订阅某些主题来得到自己感兴趣的数据。这种基于主题发布/订阅的通信形式非常灵活,以实现多个发布和订阅者的动态消息交互。ROS目前支持使用基于TCP或UDP的消息传输方式。
另一方面,当机器人在动态环境中运行时,通信连接带宽是随环境变化的,机器人操作系统的软件节点间通讯的带宽需要会超过连接带宽,造成数据包丢失的。关键数据的丢失,对机器人的运行是不可接受的。例如,在远程操控机器人时,关键控制命令的丢失会造成机器人的物理损伤。
现有技术,中国发明专利《用于机器人操作系统的信息传输方法及装置》(公开号:107733945B)公开了用于机器人操作系统的信息传输方法及装置。所述方法的一具体实施方式包括:获取待发送信息;确定当前节点与接收待发送信息的信息接收节点之间的网络关系,网络关系包括远程关系和本地关系;根据消息传输参数、配置参数和网络关系确定待发送信息的传输方式;通过传输方式传输所述待发送信息。该实施方式提高了机器人操作系统的信息传输的效率。
现有技术的ROS只能对发布消息的频率和占用的带宽静态的设置,在有限的和动态变化的连接带宽限制下,系统节点间的消息通讯可能会不可避免的发生数据包丢失的情况,尤其是需要同时传输多个视频消息和控制消息时。
发明内容
针对现有技术中的缺陷,本发明目的在于提供一种动态调整消息发布频率的方法、系统、装置及介质。
为解决上述技术问题,本发明一种动态调整消息发布频率的方法,包括如下步骤:
步骤1,获取最优消息发布频率并将最优消息发布频率存入参数服务器;
步骤2,根据最优消息发布频率更新当前消息发布的频率;
步骤3,创建受当前消息发布的频率约束的主题。
优选地,步骤1中,根据主题的上限、下限及优先级,获取主题的最优消息发布频率并将最优消息发布频率存入参数服务器。
优选地,步骤2中,最优消息发布频率被更新至参数服务器的缓存,通过参数服务器的缓存更新当前消息发布的频率。
优选地,步骤3中,创建的主题包括:全速率主题和受控主题;
若通信的节点在同一个计算单元上,则为全速率主题;
若通信的节点不在同一个计算单元上,则为受控主题。
优选地,还包括步骤4,对已有节点加入桥接节点。
优选地,步骤4中,桥接节点运行在原节点的本地计算单元上,订阅原节点的消息,重新以当前消息发布的频率来进行消息的发布。
一种动态调整消息发布频率的系统,包括:
参数模块,用于获取最优消息发布频率并将最优消息发布频率存入参数服务器;
更新块,用于根据最优消息发布频率更新当前消息发布的频率;
创建模块,用于创建受当前消息发布的频率约束的主题。
一种动态调整消息发布频率的装置,包括:存储有动态调整消息发布频率程序的存储器及用于运行动态调整消息发布频率程序的处理器,动态调整消息发布频率程序配置为实现动态调整消息发布频率的步骤。
一种计算机可读存储介质,计算机可读存储介质上存储有动态调整消息发布频率程序,动态调整消息发布频率程序被处理器执行时实现动态调整消息发布频率的步骤。
与现有技术相比,本发明的有益效果如下:
1)本发明提出了一种能够动态调整消息发布频率的方法,通过动态参数的配置,调整数据传输时对带宽的占用。这样改善了机器人操作系统中在主题上发布消息只能静态设置的限制,在有效连接带宽变化的情况下,保障高优先级的主题的数据优先发送,避免了带宽受限时关键数据的丢失。
2)本发明提供了优化发布频率的主题和全速率的主题两种主题的数据发布方式,通过订阅节点是否在本地来动态选择主题;系统在单个计算单元上的软件节点间通讯没有带宽限制,在跨计算单元的软件节点间通讯基于有效的带宽灵活调整,增加了整个系统的灵活性。
3)本发明设计了一种桥接节点,用以兼容当前的ROS上的已有的软件应用,已有的软件应用节点模块可不加修改,通过桥接节点来动态调整消息发布频率。这样可以在兼容原节点的基础上,引入动态的带宽管理。保持了系统的易用性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征目的和优点将会变得更明显。
图1为本发明的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改。
本发明要解决的技术问题体现在以下几点:
1)针对机器人操作系统中在主题上发布消息只能静态设置的限制,本发明提出了一种能够动态调整消息发布频率的方法,通过动态参数的配置,调整发布消息对带宽的占用;
2)本发明能够配置主题的优先级,并基于主题的优先级,找到多个主题上的消息发布频率的最优的策略,以保证高优先级消息的传输;
3)针对在单个计算单元上的软件节点间通讯没有带宽限制的需求,设计了优化发布频率的主题和全速率的主题两种主题并存的方式,通过订阅节点是否在本地来动态选择;
4)本发明还设计了一种桥接节点,用以兼容当前的ROS上的已有的软件应用,已有的软件应用节点模块可不加修改,通过桥接节点来动态调整消息发布频率。
需要有一种能够基于外部通信环境变化时动态调整消息发布频率的方法,且能够基于主题的优先级保障高优先消息的发送。这样通过动态管理通信带宽的方法,自适应通讯条件的变化,保障关键信息的传输。
如图1所示,本方法包括如下步骤:
步骤1:基于环境事件驱动的优化策略实现:
本发明的关键在于能够在环境状态和有效连接带宽变化的情况下,动态的控制主题的消息发布频率。在环境事件发生时,不同的主题安排相应不同的优先级。每个主题有预先设置的消息发布频率的上限和下限。本发明在ROS中单独运行一个优化策略计算节点。此节点主要的功能是在每个主题上下限的约束下,按照优先级的要求,求解每个主题最优的消息发布频率,使得所有主题上消耗的带宽之和小于等于硬件提供的有效连接带宽。此节点在环境状态变化时运行,计算结果存入参数服务器中。
步骤2:基于参数服务器的配置:
参数服务器中存储的参数配置一旦发生变化,就会通知动态发布的主题,来更新消息发布的频率。
步骤3:发布消息频率动态管理的主题创建:
本发明创建了一个新的模板为动态发布的主题创建消息发布者的程序。不像ROS的消息发布者,其发布频率在编译时就静态固定下来,新的消息发布者在继承原生ROS消息发布者的基础上,在每个发布循环调用时使用动态的来自参数服务器的参数来调整发布的频率。
为了减少和参数服务器交互的次数,此消息发布者包含一个参数缓存点。参数服务器在参数更新时会主动通知消息发布者去更新参数缓存。通常在消息发布循环时,直接使用缓存的参数,而不是从参数服务器来获取。
步骤4:基于本地或远程节点的主题订阅方式:
在相同计算单元上的节点间的通讯,通常使用共享内存的方式,并不需要占用通讯的带宽,不需要进行发布频率的调整限制。另一方面,对于一个主题,有可能是本地节点进行消息订阅,也有可能是远程节点进行消息订阅。因此,本发明对受管理的通讯同时创建了两类主题:一个是全速率主题,一个是发布频率受管理的主题。订阅节点订阅时,先判断需要通信的节点们是否在同一个计算单元上,如果在同一个计算单元上,使用全速率主题,如果不在同一个计算单元上,使用布频率受管理的主题。
步骤5:对已有节点的兼容加入桥接节点:
对于已经存在的且源码不可更改的ROS节点,本发明设计了一个桥接节点方式。桥接节点运行在ROS原节点的本地计算单元上,订阅了ROS原节点的消息,重新以参数配置的频率来进行消息的发布。这样可以在兼容原节点的基础上,引入动态的带宽管理。
本发明还提供了一种动态调整消息发布频率的系统,包括:
参数模块,用于获取最优消息发布频率并将最优消息发布频率存入参数服务器;
更新块,用于根据最优消息发布频率更新当前消息发布的频率;
创建模块,用于创建受当前消息发布的频率约束的主题。
本发明还提供了一种动态调整消息发布频率的装置,包括:存储有动态调整消息发布频率程序的存储器及用于运行动态调整消息发布频率程序的处理器,动态调整消息发布频率程序配置为实现动态调整消息发布频率的步骤。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有动态调整消息发布频率程序,动态调整消息发布频率程序被处理器执行时实现动态调整消息发布频率的步骤。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (7)
1.一种动态调整消息发布频率的方法,其特征在于,包括如下步骤:
步骤1,在环境事件发生时,为不同的主题安排相应不同的优先级,每个主题有预先设置的消息发布频率的上限和下限,在机器人操作系统中单独运行一个优化策略计算节点,根据所述消息发布频率的上限、下限及所述优先级,求解每个主题的最优消息发布频率并将最优消息发布频率存入参数服务器;
步骤2,根据最优消息发布频率更新当前消息发布的频率;
步骤3,订阅节点订阅时,先判断需要通信的节点们是否在同一个计算单元上,如果在同一个计算单元上,不进行发布频率调整限制,如果不在同一个计算单元上,进行发布频率调整限制;
其中,步骤1中求解最优的消息发布频率方法为,在每个主题消息发布频率的上下限的约束下,按照优先级的要求,求解每个主题最优的消息发布频率,使得所有主题上消耗的带宽之和小于等于硬件提供的有效连接带宽。
2.根据权利要求1所述的动态调整消息发布频率的方法,其特征在于,步骤2中,最优消息发布频率被更新至参数服务器的缓存,通过参数服务器的缓存更新当前消息发布的频率。
3.根据权利要求2所述的动态调整消息发布频率的方法,其特征在于,还包括步骤4,对已有节点加入桥接节点。
4.根据权利要求3所述的动态调整消息发布频率的方法,其特征在于,步骤4中,桥接节点运行在原节点的本地计算单元上,订阅原节点的消息,重新以当前消息发布的频率来进行消息的发布。
5.一种动态调整消息发布频率的系统,其特征在于,包括:
参数模块,用于在环境事件发生时,为不同的主题安排相应不同的优先级,每个主题有预先设置的消息发布频率的上限和下限,在机器人操作系统中单独运行一个优化策略计算节点,根据所述消息发布频率的上限、下限及所述优先级,求解每个主题的最优消息发布频率并将最优消息发布频率存入参数服务器;
更新模块,用于根据最优消息发布频率更新当前消息发布的频率;
创建模块,用于订阅节点订阅时,先判断需要通信的节点们是否在同一个计算单元上,如果在同一个计算单元上,不进行发布频率调整限制,如果不在同一个计算单元上,进行发布频率调整限制;
其中,参数模块中求解最优的消息发布频率方法为,在每个主题消息发布频率的上下限的约束下,按照优先级的要求,求解每个主题最优的消息发布频率,使得所有主题上消耗的带宽之和小于等于硬件提供的有效连接带宽。
6.一种动态调整消息发布频率的装置,其特征在于,包括:存储有动态调整消息发布频率程序的存储器及用于运行动态调整消息发布频率程序的处理器,动态调整消息发布频率程序配置为实现如权利要求1~4任一项所述的动态调整消息发布频率的方法。
7.一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有动态调整消息发布频率程序,动态调整消息发布频率程序被处理器执行时实现如权利要求1~4任一项所述的动态调整消息发布频率的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625478.6A CN110493143B (zh) | 2019-07-11 | 2019-07-11 | 动态调整消息发布频率的方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625478.6A CN110493143B (zh) | 2019-07-11 | 2019-07-11 | 动态调整消息发布频率的方法、系统、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110493143A CN110493143A (zh) | 2019-11-22 |
CN110493143B true CN110493143B (zh) | 2022-10-18 |
Family
ID=68546999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625478.6A Active CN110493143B (zh) | 2019-07-11 | 2019-07-11 | 动态调整消息发布频率的方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110493143B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259258B (zh) * | 2021-05-12 | 2022-11-04 | 广东美房智高机器人有限公司 | 机器人状态信息实时显示方法、系统、设备及介质 |
CN113839987B (zh) * | 2021-08-24 | 2024-04-30 | 广州市瑞立德信息系统有限公司 | 一种基于消息队列的消息分发方法、门禁系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160113397A (ko) * | 2015-03-19 | 2016-09-29 | 충남대학교산학협력단 | 사물 인터넷에서 dds 기반의 rfid 연동 시스템 및 그 방법 |
CN107733945A (zh) * | 2016-08-11 | 2018-02-23 | 北京百度网讯科技有限公司 | 用于机器人操作系统的信息传输方法及装置 |
CN107888499A (zh) * | 2017-11-17 | 2018-04-06 | 北京邮电大学 | 一种基于sdn的发布订阅系统及消息转发方法 |
CN108418851A (zh) * | 2018-01-12 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 策略发布系统、方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0419231D0 (en) * | 2004-08-28 | 2004-09-29 | Ibm | Methods, apparatus and computer programs for control of publish/subscribe messaging |
-
2019
- 2019-07-11 CN CN201910625478.6A patent/CN110493143B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160113397A (ko) * | 2015-03-19 | 2016-09-29 | 충남대학교산학협력단 | 사물 인터넷에서 dds 기반의 rfid 연동 시스템 및 그 방법 |
CN107733945A (zh) * | 2016-08-11 | 2018-02-23 | 北京百度网讯科技有限公司 | 用于机器人操作系统的信息传输方法及装置 |
CN107888499A (zh) * | 2017-11-17 | 2018-04-06 | 北京邮电大学 | 一种基于sdn的发布订阅系统及消息转发方法 |
CN108418851A (zh) * | 2018-01-12 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 策略发布系统、方法、装置及设备 |
Non-Patent Citations (3)
Title |
---|
"基于ROS的云机器人系统设计与实现";邓畅;《上海工程技术大学学报》;20181231;全文 * |
"基于主题的数据订阅分发技术";王金华等;《计算机工程》;20060720(第14期);全文 * |
"数据分发服务在指控系统中的应用设想";周隽等;《计算机系统应用》;20180215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110493143A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462389B (zh) | 消息通讯行为的上下文感知策略选择 | |
US8139596B2 (en) | Communicating prioritized messages to a destination queue from multiple source queues using source-queue-specific priority values | |
EP2871809A1 (en) | Message processing method, device and system for internet of things | |
CN102090020B (zh) | 通过在服务插入体系的节点中安装软件使服务动态实例化 | |
CN108777633B (zh) | 支持数据调度的意图型工业sdn北向接口系统及交互方法 | |
EP3198842B1 (en) | Managing classified network streams | |
CN110493143B (zh) | 动态调整消息发布频率的方法、系统、装置及介质 | |
ATE372639T1 (de) | Schnittstelle auf hoher ebene für dienstqualitätbasierte mobile multimedia- anwendungen | |
CN111083058B (zh) | 内容分发网络服务限流方法及电子设备 | |
CN102761832A (zh) | 一种消息分发方法以及消息分发装置 | |
King et al. | The middleware assurance substrate: Enabling strong real-time guarantees in open systems with openflow | |
CN112114869A (zh) | 一种服务器、灰度发布方法、装置及介质 | |
CN109412826B (zh) | Sdon架构模型优化方法、装置、系统及计算机可读存储介质 | |
CN104753804A (zh) | 一种数据流传输控制方法、装置及系统 | |
CN115248692A (zh) | 一种支持多种深度学习框架模型云端部署的装置及方法 | |
US11019115B2 (en) | Object life cycle management in a publish-subscribe environment | |
CN113556387A (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
WO2007006860A1 (en) | Method and device arrangement for managing a user application/device management server/client device environment | |
KR20080022934A (ko) | 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을위한 애플리케이션 프레임워크 시스템 | |
CN113542415B (zh) | 基于可配置订阅链的异构数据资源调度系统及方法 | |
CN113625586A (zh) | 一种基于网关控制智能家居的方法及系统 | |
Feist et al. | A comprehensive approach of a middleware for adaptive mixed-critical cyber-physical networking | |
CN114443262A (zh) | 计算资源管理方法、装置、设备及系统 | |
Zhang et al. | Resource allocation and congestion control in distributed sensor networks-a network calculus approach | |
CN117240894B (zh) | 一种Qt平台与PLC的互通控制方法、系统及存储介质 |
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 |