一种基于RocketMQ协议的机器人远程数据传输方法技术

技术编号:36743089 阅读:19 留言:0更新日期:2023-03-04 10:22
本发明专利技术提出了一种基于RocketMQ协议的机器人远程数据传输系统,该系统包括:Internet/Intranet网络、机器人、云端RocketMQ服务器、数据存储服务器和客户端,在该系统基础上提出了一种基于RocketMQ协议的机器人远程数据传输方法,该方法能够实现机器人与机器人云平台的高实时性、高可靠性数据传输要求,可实时将机器人的消息远程传输给多种跨平台客户端展示,且能够保证消息的低时延与传输质量。同时,该方法可采集大量机器人数据,支持高并发、高负载,特别适用于机器人网络环境不好、网络不稳定情况下的数据准确传输与控制。定情况下的数据准确传输与控制。定情况下的数据准确传输与控制。

【技术实现步骤摘要】
一种基于RocketMQ协议的机器人远程数据传输方法


[0001]本专利技术涉及数据传输
,具体说是一种基于RocketMQ协议的机器人远程数据传输方法。

技术介绍

[0002]在服务机器人和特种机器人应用中,随着机器人的种类、数量的增多,机器人数据汇总、数据整合是必不可少的。因此,机器人云平台应运而生,机器人云平台的主要功能与作用就是对运行中的众多机器人进行集中化的管理、监控和数据统计汇总。在机器人云平台实施和部署过程中,离不开数据传输。传统的工业仪表都是通过有线或无线网络进行单向的数据上传,即通过有线网络、4G、5G或WIFI技术,将现场的数据上传到云端指定服务器中,从而进行展示和数据汇总。对于机器人云平台来说,单向数据上传无法满足机器人的实时控制需求,云平台既要接收机器人上传的数据,又要下发控制数据到机器人端,且机器人控制对实时性要求很高。同时,由于机器人云平台需要集成成百上千的机器人数据,因此对数据服务器的负载能力也是一个很大的考验。另外,由于机器人网络环境、硬件性能等都受到很大限制,因此,需要一种既轻量化,实时性又好,支持高并发的数据传输方式。

技术实现思路

[0003]为解决上述技术问题,本专利技术利用RocketMQ协议,实现机器人与云平台端的双向数据交互,从而有效解决机器人与云平台进行数据交互过程中存在的问题。
[0004]本专利技术采用的技术方案是:一种基于RocketMQ协议的机器人远程数据传输系统,该系统包括: Internet/Intranet网络、机器人、云端RocketMQ服务器、数据存储服务器和客户端,所述机器人通过Internet/Intranet网络与云端RocketMQ服务器连接,并将机器人数据实时传送给云端RocketMQ服务器;云端RocketMQ服务器根据需求将数据存储在数据存储服务器;所述客户端通过Internet/Intranet网络与云端RocketMQ服务器连接,客户端接收云端RocketMQ服务器推送的消息进行解析展示;客户端可随时对存储于云端RocketMQ服务器中的消息进行查看;所述客户端可以是PC端、IOS端、Android端或其他可穿戴设备端。
[0005]基于上述机器人远程数据传输系统基础上,本专利技术提出了一种基于RocketMQ协议的机器人远程数据传输方法,该方法包括以下步骤:步骤一:机器人通过RocketMQ SDK,与云端RocketMQ服务器进行连接。如果连接不成功,则重连,直到连接成功。机器人成功连接到云端RocketMQ服务器后,订阅云端RocketMQ服务器的数据标题topicHeartbeat(心跳数据标题)和topicCtrlData(控制数据标题)。
[0006]步骤二:机器人定时上报通讯心跳数据heartbeat到云端RocketMQ服务器,心跳数据中包含当前时间戳t1。
[0007]步骤三:云端RocketMQ服务器收到机器人上报的心跳消息后,立即将回复消息heartbeat1发送到数据标题topicHeartbeat,且数据中带有机器人上报的时间戳t1。
Internet/Intranet网络、机器人、云端RocketMQ服务器、数据存储服务器和客户端,所述机器人通过Internet/Intranet网络与云端RocketMQ服务器连接,并将机器人数据实时传送给云端RocketMQ服务器;云端RocketMQ服务器根据需求将数据存储在数据存储服务器;所述客户端通过Internet/Intranet网络与云端RocketMQ服务器连接,客户端接收云端RocketMQ服务器推送的消息进行解析展示;客户端可随时对存储于云端RocketMQ服务器中的消息进行查看;所述客户端可以是PC端、IOS端、Android端或其他可穿戴设备端。
[0017]如图2所示,基于上述机器人远程数据传输系统,本专利技术提出了一种基于RocketMQ协议的机器人远程数据传输方法,该方法包括以下步骤:步骤一:机器人通过RocketMQ SDK,与云端RocketMQ服务器进行连接。如果连接不成功,则重连,直到连接成功。机器人成功连接到云端RocketMQ服务器后,订阅云端RocketMQ服务器的数据标题topicHeartbeat(心跳数据标题)和topicCtrlData(控制数据标题)。
[0018]步骤二:机器人定时上报通讯心跳数据heartbeat到云端RocketMQ服务器,心跳数据中包含当前时间戳t1。
[0019]步骤三:云端RocketMQ服务器收到机器人上报的心跳消息后,立即将回复消息heartbeat1发送到数据标题topicHeartbeat,且数据中带有机器人上报的时间戳t1。
[0020]步骤四:机器人收到云端RocketMQ服务器下发的数据heartbeat1数据后,根据收到的heartbeat1中的t1时间与当前时间之间的差值ts,动态调节数据标题topicRobotData的数据robotData的上报频率与上报字节长度。如果ts较大,则降低上报频率与字节长度;如果ts较小,则提高上报频率与字节长度。
[0021]步骤五:云端RocketMQ服务器收到机器人上传数据robotData后,将robotData转存到数据存储服务器中,以便进行历史数据的查询。
[0022]优选地,当云端RocketMQ服务器需要下发控制指令控制机器人工作时,所述步骤还包括:云端RocketMQ服务器将控制数据ctrlData1发送到数据标题topicCtrlData,机器人接收到云端RocketMQ服务器下发的控制数据ctrlData1后,先进行MD5校验,校验成功,机器人即可执行相应的控制动作;若校验不成功,机器人则记录错误日志,不执行动作。
[0023]优选地,当客户端需要采集机器人信息时,所述步骤还包括:客户端通过RocketMQ SDK与云端RocketMQ服务器进行连接,然后订阅机器人上报数据的标题topicRobotData,即可收到机器人上报的robotData数据。客户端收到robotData后,即可将数据进行前端UI展示。
[0024]本专利技术优化了消息服务质量,基于多校验机制对发布数据校验发送、订阅接受端解析数据流及校验包,优化了消息数据的完整性,保障消息准确。另外,本专利技术优化了心跳机制对于机器人客户端发布消息时存在的消息过期,消息未收到做代码优化,实现2次重发机制,确保消息的及时性。
[0025]本专利技术提出的基于RocketMQ的消息推送机器人数据到云平台的方法,通过代码优化RocketMQ消息发布订阅机制,根据订阅的场景信息需求动态配置生成的RocketMQ推送消息数据。达到消防机器人现场作业时实时数据交互数据推送的需求,尤其在现场条件恶劣、干扰源复杂环境下,保障指挥系统延时低、控制响应快、控制准确的性能。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RocketMQ协议的机器人远程数据传输方法,其特征在于:该方法包括以下步骤:步骤一:机器人通过RocketMQ SDK,与云端RocketMQ服务器进行连接;如果连接不成功,则重连,直到连接成功;机器人成功连接到云端RocketMQ服务器后,订阅云端RocketMQ服务器的数据标题topicHeartbeat(心跳数据标题)和topicCtrlData(控制数据标题);步骤二:机器人定时上报通讯心跳数据heartbeat到云端RocketMQ服务器,心跳数据中包含当前时间戳t1;步骤三:云端RocketMQ服务器收到机器人上报的心跳消息后,立即将回复消息heartbeat1发送到数据标题topicHeartbeat,且数据中带有机器人上报的时间戳t1;步骤四:机器人收到云端RocketMQ服务器下发的数据heartbeat1后,根据收到的heartbeat1中的t1时间与当前时间之间的差值ts,动态调节数据标题topicRobotData的数据robotData的上报频率与上报字节长度;如果ts较大,则降低上报频率与字节长度;如果ts较小,则提高上报频率与字节长度;步骤五:云端Rocke...

【专利技术属性】
技术研发人员:裴文良孙宁李东广王炳南刘国亮陈金山马静雅
申请(专利权)人:中国中信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1