CN117573907A - 一种移动机器人数据存储方法及系统 - Google Patents
一种移动机器人数据存储方法及系统 Download PDFInfo
- Publication number
- CN117573907A CN117573907A CN202410057582.0A CN202410057582A CN117573907A CN 117573907 A CN117573907 A CN 117573907A CN 202410057582 A CN202410057582 A CN 202410057582A CN 117573907 A CN117573907 A CN 117573907A
- Authority
- CN
- China
- Prior art keywords
- target
- message
- cloud platform
- data
- robot
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005070 sampling Methods 0.000 claims abstract description 69
- 230000002093 peripheral effect Effects 0.000 claims abstract description 10
- 230000000737 periodic effect Effects 0.000 claims abstract description 5
- 238000005259 measurement Methods 0.000 claims description 81
- 238000005192 partition Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 56
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Manipulator (AREA)
Abstract
本申请提出一种移动机器人数据存储方法及系统,包括:机器人按照目标采样频率采集实时遥测数据,实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;机器人将实时遥测数据传输给Kafka消息队列;Kafka消息队列创建并存储主题消息;云平台订阅Kafka消息队列中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台;按照预设周期间隔获取数据存储计算平台的当前性能指标测量值;基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率,通过进行迭代更新,可以适应实时变化的数据需求,保障稳定快速地完成机器人数据存储。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种移动机器人数据存储方法及系统。
背景技术
服务器机器人作为现在社会解放人力的一种主要设备,在各行各业的使用越来越频繁,服务机器人的控制依赖其所采集到的数据。服务器机器人所采集的数据量巨大。
如何对服务器机器人所采集到的数据进行存储,成为了本领域技术人员所关注的难题。
发明内容
本申请的目的在于提供一种移动机器人数据存储方法及系统,以至少部分改善上述问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种机器人数据存储方法,所述方法包括:
机器人按照目标采样频率采集实时遥测数据,其中,所述实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;
所述机器人将所述实时遥测数据传输给Kafka消息队列;
所述Kafka消息队列创建并存储主题消息,其中,所述主题消息包括所述实时遥测数据;
云平台订阅所述Kafka消息队列中的主题消息,按照目标数量将所述实时遥测数据批量写入数据存储计算平台;
所述云平台按照预设周期间隔获取所述数据存储计算平台的当前性能指标测量值;
所述云平台基于所述当前性能指标测量值和所述目标采样频率确定下一个周期间隔对应的目标采样频率。
可选地,所述云平台基于所述当前性能指标测量值和所述目标采样频率确定下一个周期间隔对应的目标采样频率的步骤,包括:
所述云平台基于所述当前性能指标测量值和所述目标采样频率确定频率测量误差;
所述云平台基于所述当前性能指标测量值、所述目标采样频率以及所述频率测量误差确定下一个周期间隔对应的目标采样频率。
可选地,在所述云平台按照预设周期间隔获取所述数据存储计算平台的当前性能指标测量值之后,所述方法还包括:
所述云平台基于所述当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量。
可选地,所述云平台基于所述当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量的步骤,包括:
所述云平台基于所述当前性能指标测量值和所述期望性能指标值确定数量测量误差;
所述云平台基于所述当前性能指标测量值、所述目标数量以及所述数量测量误差确定下一个周期间隔对应的目标数量。
可选地,所述机器人将所述实时遥测数据传输给Kafka消息队列的步骤,包括:
所述机器人将所述实时遥测数据和对应的消息ID传输给所述Kafka消息队列;
所述Kafka消息队列创建并存储主题消息的步骤,包括:
所述Kafka消息队列基于所述实时遥测数据和对应的消息ID创建并存储主题消息,其中,所述主题消息包括所述实时遥测数据和对应的消息ID;
在云平台订阅所述Kafka消息队列中的主题消息之后,所述方法还包括:
所述云平台基于消息处理记录确定目标主题消息是否为重复消息;
其中,所述目标主题消息为当前订阅的主题消息,所述消息处理记录包括历史主题消息中的消息ID;
若是重复消息,则所述云平台将所述目标主题消息丢弃;
若不是重复消息,则所述云平台将所述目标主题消息中对应的所述实时遥测数据批量写入数据存储计算平台。
可选地,所述云平台基于消息处理记录确定目标主题消息是否为重复消息的步骤,包括:
所述云平台对目标主题消息中的消息ID确定目标分区;
所述云平台对目标主题消息中的消息ID进行哈希函数运算,确定目标哈希值;
所述云平台确定所述目标哈希值在所述目标分区中的目标位数组;
在所述目标分区中的目标位数组已记录有哈希元素的情况下,所述云平台确定目标主题消息为重复消息;
在所述目标分区中的目标位数组未记录有哈希元素的情况下,所述云平台确定目标主题消息不是重复消息,并将所述目标哈希值填入所述目标分区中的目标位数组。
第二方面,本申请实施例提供一种机器人数据存储系统所述机器人数据存储系统包括机器人、Kafka消息队列、云平台、数据存储计算平台,所述机器人与所述Kafka消息队列通信连接,所述Kafka消息队列与所述云平台通信连接,所述云平台与数据存储计算平台通信连接;
所述机器人用于按照目标采样频率采集实时遥测数据,其中,所述实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;
所述机器人用于将所述实时遥测数据传输给Kafka消息队列;
所述Kafka消息队列用于创建并存储主题消息,其中,所述主题消息包括所述实时遥测数据;
所述云平台用于订阅所述Kafka消息队列中的主题消息,按照目标数量将所述实时遥测数据批量写入数据存储计算平台;
所述云平台用于按照预设周期间隔获取所述数据存储计算平台的当前性能指标测量值;
所述云平台用于基于所述当前性能指标测量值和所述目标采样频率确定下一个周期间隔对应的目标采样频率。
可选地,所述云平台用于基于所述当前性能指标测量值和所述目标采样频率确定频率测量误差;
所述云平台用于基于所述当前性能指标测量值、所述目标采样频率以及所述频率测量误差确定下一个周期间隔对应的目标采样频率。
可选地,所述云平台用于基于所述当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量。
可选地,所述云平台用于基于所述当前性能指标测量值和所述期望性能指标值频率确定数量测量误差;
所述云平台用于基于所述当前性能指标测量值、所述目标数量以及所述数量测量误差确定下一个周期间隔对应的目标数量。
相对于现有技术,本申请实施例所提供的一种移动机器人数据存储方法及系统,包括:机器人按照目标采样频率采集实时遥测数据,其中,实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;机器人将实时遥测数据传输给Kafka消息队列;Kafka消息队列创建并存储主题消息,其中,主题消息包括实时遥测数据;云平台订阅Kafka消息队列中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台;云平台按照预设周期间隔获取数据存储计算平台的当前性能指标测量值;云平台基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率。通过对目标采样频率进行迭代更新,可以适应实时变化的数据需求,保障稳定快速地完成机器人数据存储。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的机器人数据存储系统的架构示意图;
图2为本申请实施例提供的机器人数据存储方法的流程示意图之一;
图3为本申请实施例提供的机器人数据存储方法的流程示意图之二。
图中:10-机器人;20-Kafka消息队列;30-云平台;40-数据存储计算平台。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
为了满足机器人传感器海量数据实时传输和存储要求,本申请实施例提供了一种机器人数据存储系统,基于云平台和数据存储计算平台(可以但不限定为海量时序数据库2.0(InfluxDB2.0)高性能云端协同实时数据存储计算平台),采用动态采样技术,保证采样稳定,使用消息队列遥测传输(Message Queuing Telemetry Transport,简称MQTT)通讯协议实现数据传输,基于可配置化引擎实现数据清洗和存储,基于数据存储计算平台和动态可配置分布式规则链实现机器人高性能实时数据存储。
请参考图1,图1为本申请实施例提供的机器人数据存储系统的架构示意图。机器人数据存储系统包括机器人10、Kafka消息队列20、云平台30、数据存储计算平台40,机器人10与Kafka消息队列20通信连接,Kafka消息队列20与云平台30通信连接,云平台30与数据存储计算平台40通信连接。
其中,云平台30可以为一种基于Kubernetes(简称K8s)的物联网云平台,Kafka消息队列20是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
机器人10用于按照目标采样频率采集实时遥测数据。
其中,实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种。
本申请方案中的机器人10可以为服务机器人。可选地,机器人10部署有图像传感器(例如摄像头)和雷达系统(例如激光雷达),图像传感器可以用于采集周边图像数据,雷达系统可以用于采集障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据。
在一种可选地实施方式中,机器人10可以将实时遥测数据整合为机器人10的状态向量,该状态向量包括所有的实时遥测数据。
机器人10用于将实时遥测数据传输给Kafka消息队列20。
可选地,机器人10以状态向量的形式将实时遥测数据传输给Kafka消息队列20。
可选地,机器人10采用MQTT通讯协议将实时遥测数据(以状态向量的形式)传输给Kafka消息队列20。通过引入MQT通讯T协议和Kafka消息队列20,成功地实现数据生成和消费的解耦,显著降低了系统的耦合度,进一步实现对数据的削峰填谷,减轻了数据写入的压力,而且在网络异常时提供了强大的缓存机制,有效地防止了数据丢失的风险。当网络重新建立连接后,Kafka消息队列20确保了数据的可靠传输,进一步增强了整个系统的稳定性和可靠性。
Kafka消息队列20用于创建并存储主题消息。
其中,主题消息包括实时遥测数据,主题消息又称为topic消息。
云平台30用于订阅Kafka消息队列20中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台40。
在一种可选的实施方式中,云平台30中包括主节点和服务节点。订阅Kafka消息队列20中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台40的过程,包括:主节点从Kafka消息队列20拉取预设数量的主题消息,基于负载均衡的方式,将各个主题消息发送给对应的服务节点,服务节点在消费主题消息时,可以通过可配置的规则链对主题消息中的实时遥测数据进行特定的处理。
需要说明的是,主节点从Kafka消息队列20拉取消息的预设数量和拉取消息的时间(包括但不限定于超时时间)均可以预先配置,还可以预先配置不同的策略,控制消息拉取失败或超时的重新处理方式。
在一种可选的实施方式中,主节点从Kafka消息队列20拉取预设数量的主题消息后,可以将消息分发给不同的服务节点,服务节点得到消息后执行对应的动作。
在一种可选的实施方式中,可配置的规则链包括过滤规则节点、转换规则节点、传输规则节点等等,同时还可以配置优先级队列实现主题消息优先处理。通过可视化配置的方式,对主题消息置对应的规则节点,设置不同的分支条件和分支结果,满足不同场景、动态数据的业务需求。
可选地,还可以将不满足规则节点的主题信号通过发送邮件(给管理人员终端)或转到外部数据流(转到其他系统)的方式进行处理。
可选地,也可以基于规则链进行开发新的规则节点,基于规则引擎实现新的业务逻辑,无需修改源代码。无论从开发或运维的角度,大大提升了工作的效率。
云平台30用于按照预设周期间隔获取数据存储计算平台40的当前性能指标测量值。
可选地,云平台30可以对数据存储计算平台40进行系统性能监控。定期收集数据存储计算平台40的系统性能数据,包括但不限于写入延迟、系统负载、网络流量等。云平台30基于收集到的数据存储计算平台40的系统性能数据进行转换(例如按照预设的转换权重),确定数据存储计算平台40的当前性能指标测量值。
云平台30用于基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率。
可选地,云平台30在获取到下一个周期间隔对应的目标采样频率之后,可以将下一个周期间隔对应的目标采样频率传输给机器人10,以使机器人10按照下一个周期间隔对应的目标采样频率进行采样,以获取对应的实时遥测数据。
在本申请方案中,通过对目标采样频率进行更新,可以适应实时变化的数据需求,保障稳定快速地完成机器人数据存储。
在前文的基础上,关于云平台30如何基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率,本申请实施例还提供了一种可选的实施方式,请参考下文。
云平台30用于基于当前性能指标测量值和目标采样频率确定频率测量误差。
可选地,频率测量误差的算式为:
=/>;
ek=-/>;
其中,表示第k+1个周期间隔对应的当前性能指标测量值,/>表示第k+1个周期间隔对应的目标采样频率,/>表示当前性能指标测量值经过滤波计算后的输出结果,/>表示在目标采样频率下第k+1个周期间隔对应的有效采样数据量期望,ek表示第k+1个周期间隔对应的频率测量误差。
云平台30用于基于当前性能指标测量值、目标采样频率以及频率测量误差确定下一个周期间隔对应的目标采样频率。
可选地,下一个周期间隔对应的目标采样频率的算式为:
wk+1=wk+μ⋅ek⋅;
其中,wk+1表示下一个周期间隔(第k+2个周期间隔)对应的目标采样频率,μ表示预先设置的学习速率。
在一种可选的实施方式中,还可以对批量写入数据存储计算平台40的目标数量进行动态调节,具体地,请参考下文。
云平台30用于基于当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量。
可选地,云平台30用于基于当前性能指标测量值和期望性能指标值确定数量测量误差。
可选地,数量测量误差的算式为:
=/>;
ekk=;
其中,表示第k+1个周期间隔对应的当前性能指标测量值,Tk表示第k+1个周期间隔对应的目标数量,/>表示当前性能指标测量值经过滤波计算后的输出结果,/>表示在设定批量写入数据时,第k+1个周期间隔对应的期望性能指标值(例如系统的响应延迟期望),ekk表示第k+1个周期间隔对应的数量测量误差。
云平台30用于基于当前性能指标测量值、目标数量以及数量测量误差确定下一个周期间隔对应的目标数量。
可选地,下一个周期间隔对应的目标数量的算式为:
Tk+1=Tk+μ⋅ekk⋅;
其中,Tk+1表示下一个周期间隔对应的目标数量,Tk表示第k+1个周期间隔对应的目标数量。
通过分析系统负载和性能状况,智能地调整批量写入的数据量,以提高系统的性能和稳定性,当系统性能下降或负载增加时,实时调整批量写入的数量,以补偿系统性能,确保系统持续稳定运行。
在一些可选的场景下,机器人10重复向Kafka消息队列20发送相同的消息,以导致Kafka消息队列20中重复存储相同的消息,或者因为服务挂机的原因,云平台30重复从Kafka消息队列20中订阅相同的消息。为了应该上述情况,避免重复存储的事故发生,本申请实施例还提供了一种可选的实施方式,请参考下文。
机器人10将实时遥测数据传输给Kafka消息队列20,包括:机器人10用于将实时遥测数据和对应的消息ID传输给Kafka消息队列20。
其中,消息ID是唯一标识,不同实时遥测数据对应的消息ID不同。
Kafka消息队列20创建并存储主题消息,包括:Kafka消息队列20用于基于实时遥测数据和对应的消息ID创建并存储主题消息。
其中,主题消息包括实时遥测数据和对应的消息ID。
在云平台30订阅Kafka消息队列20中的主题消息之后,云平台30还用于基于消息处理记录确定目标主题消息是否为重复消息。
其中,目标主题消息为当前订阅的主题消息,消息处理记录包括历史主题消息中的消息ID,历史主题消息为已经订阅完成的主题消息。
若是重复消息,则云平台30还用于将目标主题消息丢弃;
若不是重复消息,则云平台30还用于将目标主题消息中对应的实时遥测数据批量写入数据存储计算平台40。
可选的,云平台30基于消息处理记录确定目标主题消息是否为重复消息,包括:云平台30对目标主题消息中的消息ID确定目标分区;云平台30对目标主题消息中的消息ID进行哈希函数运算,确定目标哈希值;云平台30确定目标哈希值在目标分区中的目标位数组;在目标分区中的目标位数组已记录有哈希元素的情况下,云平台30确定目标主题消息为重复消息;在目标分区中的目标位数组未记录有哈希元素的情况下,云平台30确定目标主题消息不是重复消息,并将目标哈希值填入目标分区中的目标位数组。
在一种可选的实施方式中,按照目标采样频率进行采样的实时遥测数据为第一类遥测数据。并且,机器人10还可以按照固定采样频率采集第二类遥测数据,第二类遥测数据(关键数据)的获取优先级高于第一类遥测数据。通过动态调整采集的频率,当一定时间内采样的数量过多而影响后续数据时,通过自适应迭代算法,使机器人对通用数据降采样,而关键数据采样保持不变,从而提升关键数据的有效采样。
在本申请方案中,基于K8s云原生系统构建物联网云平台,适应不同规模和需求设备数据采集,存储分析,基于云原生平台,系统根据需求自动调整系统资源,提高硬件资源利用率。构建主要步骤如下。构建K8s容器,对引擎进行模块化划分,每个微服务专注于完成特定的业务功能,设计微服务分布式通信接口和协议,确保它们能够有效地协同工作。利用Kubernetes提供的服务发现机制,确保微服务能够动态地发现和通信,配置负载均衡以平衡各个微服务的负载,提高系统的整体性能和稳定性。
通过云原生平台实现微服务的治理和部署,基于云计算思想和容器技术,动态调度服务器相关资源,通过对微服务,容器编排和自动化运维技术,提升系统容错性,开发团队基于云原生平台,可以更高效的部署和集成代码,为开发团队提供了更灵活,可扩展的环境,促进了创新和敏捷开发实践。
应当理解的是,图1所示的结构仅为机器人数据存储系统的部分的结构示意图,机器人数据存储系统还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的一种机器人数据存储方法,可以但不限于应用于图1所示的机器人数据存储系统,具体的流程,请参考图2,机器人数据存储方法包括:S101、S102、S201、S301、S302以及S303,具体阐述如下。
S101,机器人按照目标采样频率采集实时遥测数据。
其中,实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种。
S102,机器人将实时遥测数据传输给Kafka消息队列。
S201,Kafka消息队列创建并存储主题消息。
其中,主题消息包括实时遥测数据;
S301,云平台订阅Kafka消息队列中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台。
S302,云平台按照预设周期间隔获取数据存储计算平台的当前性能指标测量值。
S303,云平台基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率。
可选地,S303,云平台基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率的步骤,包括:S303-1和S303-2,具体阐述如下。
S303-1,云平台基于当前性能指标测量值和目标采样频率确定频率测量误差。
S303-2,云平台基于当前性能指标测量值、目标采样频率以及频率测量误差确定下一个周期间隔对应的目标采样频率。
可选地,请参考图3,在S302,云平台按照预设周期间隔获取数据存储计算平台的当前性能指标测量值之后,机器人数据存储方法还包括:S304,具体阐述如下。
S304,云平台基于当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量。
可选地,S304,云平台基于当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量的步骤,包括:S304-1和S304-2,具体阐述如下。
S304-1,云平台基于当前性能指标测量值和期望性能指标值确定数量测量误差。
S304-2,云平台基于当前性能指标测量值、目标数量以及数量测量误差确定下一个周期间隔对应的目标数量。
可选地,S102,机器人将实时遥测数据传输给Kafka消息队列的步骤,包括:S102-1,具体阐述如下。
S102-1,机器人将实时遥测数据和对应的消息ID传输给Kafka消息队列。
S201,Kafka消息队列创建并存储主题消息的步骤,包括:S201-1,具体阐述如下。
S201-1,Kafka消息队列基于实时遥测数据和对应的消息ID创建并存储主题消息。
其中,主题消息包括实时遥测数据和对应的消息ID。
可选地,S301,云平台订阅Kafka消息队列中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台的步骤,包括:S310、S311、S312以及S313,具体阐述如下。
S310,云平台订阅Kafka消息队列中的主题消息
S311,云平台基于消息处理记录确定目标主题消息是否为重复消息。若是,则执行S312,若否,则执行S313。
其中,目标主题消息为当前订阅的主题消息,消息处理记录包括历史主题消息中的消息ID。
S312,云平台将目标主题消息丢弃。
S313,云平台将目标主题消息中对应的实时遥测数据批量写入数据存储计算平台。
可选地,S311,云平台基于消息处理记录确定目标主题消息是否为重复消息的步骤,包括:S311-1、S311-2、S311-3、S311-4以及S311-5,具体阐述如下。
S311-1,云平台对目标主题消息中的消息ID确定目标分区。
S311-2,云平台对目标主题消息中的消息ID进行哈希函数运算,确定目标哈希值。
S311-3,云平台确定目标哈希值在目标分区中的目标位数组。
S311-4,在目标分区中的目标位数组已记录有哈希元素的情况下,云平台确定目标主题消息为重复消息。
S311-5,在目标分区中的目标位数组未记录有哈希元素的情况下,云平台确定目标主题消息不是重复消息,并将目标哈希值填入目标分区中的目标位数组。
需要说明的是,本实施例所提供的机器人数据存储方法,其可以执行上述机器人数据存储系统实施例所示的功能用途,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
综上所述,本申请实施例提供的一种移动机器人数据存储方法及系统,包括:机器人按照目标采样频率采集实时遥测数据,其中,实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;机器人将实时遥测数据传输给Kafka消息队列;Kafka消息队列创建并存储主题消息,其中,主题消息包括实时遥测数据;云平台订阅Kafka消息队列中的主题消息,按照目标数量将实时遥测数据批量写入数据存储计算平台;云平台按照预设周期间隔获取数据存储计算平台的当前性能指标测量值;云平台基于当前性能指标测量值和目标采样频率确定下一个周期间隔对应的目标采样频率。通过对目标采样频率进行迭代更新,可以适应实时变化的数据需求,保障稳定快速地完成机器人数据存储。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种机器人数据存储方法,其特征在于,所述方法包括:
机器人按照目标采样频率采集实时遥测数据,其中,所述实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;
所述机器人将所述实时遥测数据传输给Kafka消息队列;
所述Kafka消息队列创建并存储主题消息,其中,所述主题消息包括所述实时遥测数据;
云平台订阅所述Kafka消息队列中的主题消息,按照目标数量将所述实时遥测数据批量写入数据存储计算平台;
所述云平台按照预设周期间隔获取所述数据存储计算平台的当前性能指标测量值;
所述云平台基于所述当前性能指标测量值和所述目标采样频率确定下一个周期间隔对应的目标采样频率。
2.如权利要求1所述的机器人数据存储方法,其特征在于,所述云平台基于所述当前性能指标测量值和所述目标采样频率确定下一个周期间隔对应的目标采样频率的步骤,包括:
所述云平台基于所述当前性能指标测量值和所述目标采样频率确定频率测量误差;
所述云平台基于所述当前性能指标测量值、所述目标采样频率以及所述频率测量误差确定下一个周期间隔对应的目标采样频率。
3.如权利要求1所述的机器人数据存储方法,其特征在于,在所述云平台按照预设周期间隔获取所述数据存储计算平台的当前性能指标测量值之后,所述方法还包括:
所述云平台基于所述当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量。
4.如权利要求3所述的机器人数据存储方法,其特征在于,所述云平台基于所述当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量的步骤,包括:
所述云平台基于所述当前性能指标测量值和所述期望性能指标值确定数量测量误差;
所述云平台基于所述当前性能指标测量值、所述目标数量以及所述数量测量误差确定下一个周期间隔对应的目标数量。
5.如权利要求1所述的机器人数据存储方法,其特征在于,所述机器人将所述实时遥测数据传输给Kafka消息队列的步骤,包括:
所述机器人将所述实时遥测数据和对应的消息ID传输给所述Kafka消息队列;
所述Kafka消息队列创建并存储主题消息的步骤,包括:
所述Kafka消息队列基于所述实时遥测数据和对应的消息ID创建并存储主题消息,其中,所述主题消息包括所述实时遥测数据和对应的消息ID;
在云平台订阅所述Kafka消息队列中的主题消息之后,所述方法还包括:
所述云平台基于消息处理记录确定目标主题消息是否为重复消息;
其中,所述目标主题消息为当前订阅的主题消息,所述消息处理记录包括历史主题消息中的消息ID;
若是重复消息,则所述云平台将所述目标主题消息丢弃;
若不是重复消息,则所述云平台将所述目标主题消息中对应的所述实时遥测数据批量写入数据存储计算平台。
6.如权利要求5所述的机器人数据存储方法,其特征在于,所述云平台基于消息处理记录确定目标主题消息是否为重复消息的步骤,包括:
所述云平台对目标主题消息中的消息ID确定目标分区;
所述云平台对目标主题消息中的消息ID进行哈希函数运算,确定目标哈希值;
所述云平台确定所述目标哈希值在所述目标分区中的目标位数组;
在所述目标分区中的目标位数组已记录有哈希元素的情况下,所述云平台确定目标主题消息为重复消息;
在所述目标分区中的目标位数组未记录有哈希元素的情况下,所述云平台确定目标主题消息不是重复消息,并将所述目标哈希值填入所述目标分区中的目标位数组。
7.一种机器人数据存储系统,其特征在于,所述机器人数据存储系统包括机器人、Kafka消息队列、云平台、数据存储计算平台,所述机器人与所述Kafka消息队列通信连接,所述Kafka消息队列与所述云平台通信连接,所述云平台与数据存储计算平台通信连接;
所述机器人用于按照目标采样频率采集实时遥测数据,其中,所述实时遥测数据包括周边图像数据、障碍物距离数据、障碍物方向数据、机器人速度数据以及障碍物速度数据中的任一种或多种;
所述机器人用于将所述实时遥测数据传输给Kafka消息队列;
所述Kafka消息队列用于创建并存储主题消息,其中,所述主题消息包括所述实时遥测数据;
所述云平台用于订阅所述Kafka消息队列中的主题消息,按照目标数量将所述实时遥测数据批量写入数据存储计算平台;
所述云平台用于按照预设周期间隔获取所述数据存储计算平台的当前性能指标测量值;
所述云平台用于基于所述当前性能指标测量值和所述目标采样频率确定下一个周期间隔对应的目标采样频率。
8.如权利要求7所述的机器人数据存储系统,其特征在于,
所述云平台用于基于所述当前性能指标测量值和所述目标采样频率确定频率测量误差;
所述云平台用于基于所述当前性能指标测量值、所述目标采样频率以及所述频率测量误差确定下一个周期间隔对应的目标采样频率。
9.如权利要求7所述的机器人数据存储系统,其特征在于,
所述云平台用于基于所述当前性能指标测量值和期望性能指标值确定下一个周期间隔对应的目标数量。
10.如权利要求9所述的机器人数据存储系统,其特征在于,
所述云平台用于基于所述当前性能指标测量值和所述期望性能指标值频率确定数量测量误差;
所述云平台用于基于所述当前性能指标测量值、所述目标数量以及所述数量测量误差确定下一个周期间隔对应的目标数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410057582.0A CN117573907B (zh) | 2024-01-16 | 2024-01-16 | 一种移动机器人数据存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410057582.0A CN117573907B (zh) | 2024-01-16 | 2024-01-16 | 一种移动机器人数据存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117573907A true CN117573907A (zh) | 2024-02-20 |
CN117573907B CN117573907B (zh) | 2024-04-26 |
Family
ID=89895884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410057582.0A Active CN117573907B (zh) | 2024-01-16 | 2024-01-16 | 一种移动机器人数据存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573907B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647452A (zh) * | 2012-03-20 | 2012-08-22 | 广东电子工业研究院有限公司 | 基于大规模云计算平台的自适应资源监控系统及其方法 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN111694644A (zh) * | 2020-05-15 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于机器人操作系统的消息处理方法、装置及计算机设备 |
CN113535515A (zh) * | 2021-07-06 | 2021-10-22 | 杭州电子科技大学 | 一种基于Zabbix监控系统的高效动态采集方法 |
CN114020717A (zh) * | 2021-10-14 | 2022-02-08 | 济南浪潮数据技术有限公司 | 分布式存储系统的性能数据获取方法、装置、设备及介质 |
CN114416815A (zh) * | 2021-12-15 | 2022-04-29 | 中国科学院国家授时中心 | 基于大数据存储平台的卫星数据分布式处理系统和方法 |
CN115566696A (zh) * | 2022-10-27 | 2023-01-03 | 云南电网有限责任公司 | 一种云边协同的电网频率在线监测分析方法与系统 |
CN115811537A (zh) * | 2023-02-20 | 2023-03-17 | 江苏金恒信息科技股份有限公司 | 资源调整方法、装置、计算机设备和存储介质 |
CN116089213A (zh) * | 2022-12-30 | 2023-05-09 | 天翼云科技有限公司 | 云平台资源监控方法、装置、电子设备及可读存储介质 |
CN116708495A (zh) * | 2023-06-01 | 2023-09-05 | 西安理工大学 | 一种可智能维护的水文遥测方法和系统 |
-
2024
- 2024-01-16 CN CN202410057582.0A patent/CN117573907B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647452A (zh) * | 2012-03-20 | 2012-08-22 | 广东电子工业研究院有限公司 | 基于大规模云计算平台的自适应资源监控系统及其方法 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN111694644A (zh) * | 2020-05-15 | 2020-09-22 | 平安科技(深圳)有限公司 | 基于机器人操作系统的消息处理方法、装置及计算机设备 |
CN113535515A (zh) * | 2021-07-06 | 2021-10-22 | 杭州电子科技大学 | 一种基于Zabbix监控系统的高效动态采集方法 |
CN114020717A (zh) * | 2021-10-14 | 2022-02-08 | 济南浪潮数据技术有限公司 | 分布式存储系统的性能数据获取方法、装置、设备及介质 |
CN114416815A (zh) * | 2021-12-15 | 2022-04-29 | 中国科学院国家授时中心 | 基于大数据存储平台的卫星数据分布式处理系统和方法 |
CN115566696A (zh) * | 2022-10-27 | 2023-01-03 | 云南电网有限责任公司 | 一种云边协同的电网频率在线监测分析方法与系统 |
CN116089213A (zh) * | 2022-12-30 | 2023-05-09 | 天翼云科技有限公司 | 云平台资源监控方法、装置、电子设备及可读存储介质 |
CN115811537A (zh) * | 2023-02-20 | 2023-03-17 | 江苏金恒信息科技股份有限公司 | 资源调整方法、装置、计算机设备和存储介质 |
CN116708495A (zh) * | 2023-06-01 | 2023-09-05 | 西安理工大学 | 一种可智能维护的水文遥测方法和系统 |
Non-Patent Citations (4)
Title |
---|
TENG, FEI等: "Multiphase Parallel Demodulation for Remote Sensing Satellite Data Transmission-Filter Bank Based on WOLA Structure", 《IEEE JOURNAL OF SELECTED TOPICS IN APPLIED EARTH OBSERVATIONS AND REMOTE SENSING》, vol. 15, 26 November 2022 (2022-11-26) * |
俞小兵;: "网络性能测量技术及其性能指标的统计分析", 硫磷设计与粉体工程, no. 01, 30 January 2007 (2007-01-30) * |
谢圆琰: "云机器人高效语义建图与鲁棒定位方法研究", 《中国优秀博士学位论文全文数据库(信息科技辑)》, no. 1, 15 January 2024 (2024-01-15) * |
金双喜;李永;吴骅;武文广;李俊臣;张新艳;: "基于Kafka消息队列的新一代分布式电量采集方法研究", 智慧电力, no. 02, 20 February 2018 (2018-02-20) * |
Also Published As
Publication number | Publication date |
---|---|
CN117573907B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110868336B (zh) | 数据管理方法、装置和计算机可读存储介质 | |
US7953842B2 (en) | Open network-based data acquisition, aggregation and optimization for use with process control systems | |
KR100869902B1 (ko) | 통합관리 시스템 환경에서의 장애 및 성능정보 통합모니터링 방법 및 그 시스템 | |
US8090824B2 (en) | Gateway data proxy for embedded health management systems | |
CN110858850A (zh) | 一种轨道交通系统综合网管方法、装置及系统 | |
CN103761309A (zh) | 一种运营数据处理方法及系统 | |
CN107040608A (zh) | 一种数据处理方法及系统 | |
CN102449567A (zh) | 作为用于装备健康状况监视服务的基础的云计算 | |
CN111124819A (zh) | 全链路监控的方法和装置 | |
CN111125230B (zh) | 一种基于规则引擎的物联网平台的数据处理方法及系统 | |
CN113312154B (zh) | 一种卫星服务资源的调度方法、系统、设备及存储介质 | |
CN113852785A (zh) | 一种基于5g的智能监控调度方法、装置及系统 | |
CN114090366A (zh) | 一种监控数据的方法、装置和系统 | |
CN113190524A (zh) | 一种工业大数据采集方法及系统 | |
CN112671922B (zh) | 工业互联网数据处理系统及方法 | |
CN117573907B (zh) | 一种移动机器人数据存储方法及系统 | |
CN113722369A (zh) | 田间监测数据预测方法、装置、设备和存储介质 | |
CN110245120B (zh) | 流式计算系统及流式计算系统的日志数据处理方法 | |
KR102013149B1 (ko) | 데이터 수집 및 관리 방법 및 이를 수행하기 위한 시스템 | |
US10742534B2 (en) | Monitoring system for metric data | |
CN115809119A (zh) | 容器编排引擎的监控方法、系统及装置 | |
CN112061407A (zh) | 无人机故障预警的方法、系统、无人机、设备和介质 | |
CN114064391A (zh) | 一种分布式报警或事件信息处理方法及装置 | |
CN114637648A (zh) | 信息管理方法、装置、电子设备和计算机可读介质 | |
CN219716142U (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 |