CN115145596A - 一种机器人升级包ota升级方法及设备 - Google Patents

一种机器人升级包ota升级方法及设备 Download PDF

Info

Publication number
CN115145596A
CN115145596A CN202210674852.3A CN202210674852A CN115145596A CN 115145596 A CN115145596 A CN 115145596A CN 202210674852 A CN202210674852 A CN 202210674852A CN 115145596 A CN115145596 A CN 115145596A
Authority
CN
China
Prior art keywords
upgrade package
robot
cloud
upgrade
file
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.)
Pending
Application number
CN202210674852.3A
Other languages
English (en)
Inventor
赵洪宇
李朝铭
王建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong New Generation Information Industry Technology Research Institute Co Ltd
Original Assignee
Shandong New Generation Information Industry Technology Research Institute Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong New Generation Information Industry Technology Research Institute Co Ltd filed Critical Shandong New Generation Information Industry Technology Research Institute Co Ltd
Priority to CN202210674852.3A priority Critical patent/CN115145596A/zh
Publication of CN115145596A publication Critical patent/CN115145596A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种机器人升级包OTA升级方法及设备。向云端定时发送升级包查询信息;其中,所述云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与所述升级包之间的映射关系;在所述机器人型号与所述升级包符合所述映射关系的情况下,接收云端发送的升级包更新信息;对所述云端Minio存储桶中的升级包进行下载,并通过预置校验文件对所述升级包进行完整性校验;在校验通过的情况下,对所述升级包进行安装,并将安装结果反馈至云端。通过上述方法提高机器人升级过程的便捷性。

Description

一种机器人升级包OTA升级方法及设备
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人升级包OTA升级方法及设备。
背景技术
随着机器人技术的快速发展,机器人正在迅速走进人们的生活,以帮助人们完成各种各样的任务。任务的完成依赖于机器人内部配置的各种软件,对服务于不同行业的机器人而言,其软件的功能也会有所差异。
机器人的软件功能包大多依附于机器人操作系统ROS或智能机器人操作系统IROS。当机器人本体售出后,后续仍需要对机器人的功能进行修复、更新和维护,靠人工完成机器人功能的升级费时费力,且升级过程需要运维人员对其进行相应操作,以致机器人升级过程便捷性较差。
发明内容
本申请实施例提供了一种机器人升级包OTA升级方法及设备,用于解决如下技术问题:靠人工完成机器人功能的升级费时费力,且升级过程需要运维人员对其进行相应操作,以致机器人升级过程便捷性较差。
本申请实施例采用下述技术方案:
本申请实施例提供一种机器人升级包OTA升级方法。向云端定时发送升级包查询信息;其中,云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与升级包之间的映射关系;在机器人型号与升级包符合映射关系的情况下,接收云端发送的升级包更新信息;对云端Minio存储桶中的升级包进行下载,并通过预置校验文件对升级包进行完整性校验;在校验通过的情况下,对升级包进行安装,并将安装结果反馈至云端。
本申请实施例通过定时向云端发送升级包查询信息,能够使机器人自动对升级包进行查询,从而提升机器人升级的便捷性与灵活性。其次,本申请实施例在云端数据库中预先存储机器人型号与升级包之间的映射关系,从而根据接收到的升级包查询信息,确定出与当前机器人所对应的升级包,进而将相应的升级包信息发送至机器人,以确保升级包信息发送的准确性,进而确保机器人后续对升级包下载的准确性。其次,本申请实施例通过预置校验文件对升级包进行完整性检测,以确保下载的升级包的完整性,进而确保机器人升级的顺利进行。从而使机器人能够自发地在软件层面进行功能修复、更新和维护。
在本申请的一种实现方式中,向云端定时发送升级包查询信息之后,方法还包括:通过云端服务器将接收到的机器人型号与机器人版本信息,与云端数据库中存储的机器人型号与升级包进行比对,以在云端数据库中确定出机器人对应的升级包。
在本申请的一种实现方式中,向云端定时发送升级包查询信息之前,方法还包括:对机器人对应的aws-sdk-cpp接口进行封装,以使aws-sdk-cpp接口静态链接aws-sdk-cpp的相关库,并将依赖库的查找路径指定为RUNPATH;编译动态库libminio.so,将动态库libminio.so放置于机器人对应的下载安装程序的库目录;以及将编译aws-sdk-cpp时所使用的依赖库libopenssl.so与libcurl.so放置于RUNPATH路径在机器人中对应的目录下;调用动态库libminio.so提供的接口,以对云端Minio进行访问。
在本申请的一种实现方式中,通过预置校验文件对升级包进行完整性校验之后,方法还包括:确定机器人对应的当前版本,并将当前版本对应的版本数据进行备份;在对升级包安装失败的情况下,通过备份的当前版本数据对机器人进行版本恢复。
在本申请的一种实现方式中,通过预置校验文件对升级包进行完成性校验,具体包括:通过预置SHA256散列算法生成的校验文件,对下载后的升级包进行完整性校验;其中,SHA256散列算法生成的校验文件放置于升级包中。
在本申请的一种实现方式中,对云端Minio存储桶中的升级包对进行下载,具体包括:将接收到的升级包更新信息中的版本号与当前版本号进行比对;在版本号不一致的情况下,在升级包更新信息中确定出升级包下载url地址;根据升级包下载url地址,在云端Minio存储桶中对升级包进行下载。
在本申请的一种实现方式中,升级包至少包括updatecmd文件、updateindex文件、updatedata文件以及updateinfo文件中的一项;其中,updatecmd文件用于存放不同功能模块分别对应的安装shell脚本;updateindex文件用于确定出不同功能模块的安装顺序;updatedata文件用于存储不同功能模块分别对应的升级包;updateinfo文件用于存储不同功能模块分别对应的升级描述。
在本申请的一种实现方式中,述对升级包进行安装,具体包括:对updatecmd文件夹中的updateindex文件进行读取,以获取不同功能模块分别对应的安装顺序;对不同功能模块分别对应的当前版本的升级包进行备份;基于安装顺序依次执行updatecmd文件中存储的shell脚本,以对不同功能模块分别对应的升级包进行安装;在所有升级包安装成功后,将升级包进行删除。
在本申请的一种实现方式中,将安装结果反馈至云端之前,方法还包括:在校验不通过的情况下,或在升级包安装失败的情况下,对下载的升级包进行删除处理,并对升级包进行不可更新记录。
本申请实施例提供一种机器人升级包OTA升级设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:向云端定时发送升级包查询信息;其中,云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与升级包之间的映射关系;在机器人型号与升级包符合映射关系的情况下,接收云端发送的升级包更新信息;对云端Minio存储桶中的升级包进行下载,并通过预置校验文件对升级包进行完整性校验;在校验通过的情况下,对升级包进行安装,并将安装结果反馈至云端。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例通过定时向云端发送升级包查询信息,能够使机器人自动对升级包进行查询,从而提升机器人升级的便捷性与灵活性。其次,本申请实施例在云端数据库中预先存储机器人型号与升级包之间的映射关系,从而根据接收到的升级包查询信息,确定出与当前机器人所对应的升级包,进而将相应的升级包信息发送至机器人,以确保升级包信息发送的准确性,进而确保机器人后续对升级包下载的准确性。其次,本申请实施例通过预置校验文件对升级包进行完整性检测,以确保下载的升级包的完整性,进而确保机器人升级的顺利进行。从而使机器人能够自发地在软件层面进行功能修复、更新和维护。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本申请实施例提供的一种机器人升级包OTA升级方法流程图;
图2为本申请实施例提供的一种机器人升级包OTA升级方法流程框图;
图3为本申请实施例提供的一种机器人升级包OTA升级设备的结构示意图。
具体实施方式
本申请实施例提供一种机器人升级包OTA升级方法及设备。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
随着机器人技术的快速发展,机器人正在迅速走进人们的生活,以帮助人们完成各种各样的任务。任务的完成依赖于机器人内部配置的各种软件,对服务于不同行业的机器人而言,其软件的功能也会有所差异。
机器人的软件功能包大多依附于机器人操作系统ROS或智能机器人操作系统IROS。当机器人本体售出后,后续仍需要对机器人的功能进行修复、更新和维护,靠人工完成机器人功能的升级费时费力,且升级过程需要运维人员对其进行相应操作,以致机器人升级过程便捷性较差。
为了解决上述问题,本申请实施例提供一种机器人升级包OTA升级方法及设备。通过定时向云端发送升级包查询信息,能够使机器人自动对升级包进行查询,从而提升机器人升级的便捷性与灵活性。其次,本申请实施例在云端数据库中预先存储机器人型号与升级包之间的映射关系,从而根据接收到的升级包查询信息,确定出与当前机器人所对应的升级包,进而将相应的升级包信息发送至机器人,以确保升级包信息发送的准确性,进而确保机器人后续对升级包下载的准确性。其次,本申请实施例通过预置校验文件对升级包进行完整性检测,以确保下载的升级包的完整性,进而确保机器人升级的顺利进行。从而使机器人能够自发地在软件层面进行功能修复、更新和维护。
下面通过附图对本申请实施例提出的技术方案进行详细的说明。
图1为本申请实施例提供的一种机器人升级包OTA升级方法流程图。如图1所示,机器人升级包OTA升级方法包括如下步骤:
S101、向云端定时发送升级包查询信息。其中,云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与升级包之间的映射关系。
在本申请的一个实施例中,云端作为升级包的提供者,需要搭建分布式Minio作为云端的存储介质,用来保存机器人的升级包。升级包可以包含ROS1或IROS机器人操作系统的多个功能模块,云端还要建立后台数据库,用来维护云端升级包的版本信息,以及机器人型号与升级包之间的映射关系。
具体地,存储机器人升级包首先要在云端搭建部署Minio存储服务,应用环境中应存在至少2台服务器作为Minio集群的节点,且集群中的硬盘数量大于等于4,以搭建分布式Minio存储机器人的升级包。云端还要有后台数据库来管理和维护存储在Minio中的升级包信息。云端搭建完毕后,由管理员将制作好的机器人升级包上传到的Minio存储桶中,同时要将升级包的版本、对应机器人型号等信息更新到云端数据库。基于此,可建立机器人型号与升级包之间的映射关系。
需要说明的是,作为云端存储机器人的升级包,分布式Minio能保证云端数据的安全可靠。只要有一半的服务器是正常工作的,云端数据就是安全的,避免单节点宕机产生数据丢失的风险。
在本申请的一个实施例中,对机器人对应的aws-sdk-cpp接口进行封装,以使所述aws-sdk-cpp接口静态链接aws-sdk-cpp的相关库,并将依赖库的查找路径指定为RUNPATH。编译动态库libminio.so,将所述动态库libminio.so放置于所述机器人对应的下载安装程序的库目录。以及将编译aws-sdk-cpp时所使用的依赖库libopenssl.so与libcurl.so放置于所述RUNPATH路径在所述机器人中对应的目录下。调用动态库libminio.so提供的接口,以对云端Minio进行访问。
具体地,机器人要作为升级包的接受者,要开发对应的OTA程序,本申请实施例基于C++开发的OTA程序要访问云端Minio服务,需要借助亚马逊的aws-sdk-cpp库。为了简化aws-sdk-cpp库,避免安装OTA程序中用不到的库文件,增强易用性和可移植性,可以根据自身访问Minio服务的需求,在aws-sdk-cpp接口之上进行一层封装,静态链接aws-sdk-cpp的相关库,并指定依赖库的查找路径RUNPATH。以防止机器人上已经安装过不同版本的依赖库,最后编译成一个动态库libminio.so,此后对外发布使用时只需将动态库libminio.so放到机器人下载安装程序的库目录,并将编译aws-sdk-cpp时所使用的依赖库libopenssl.so和libcurl.so放到前面指定的RUNPATH路径在机器人中对应的目录下。基于上述方案,机器人的OTA程序即可调用libminio.so提供的接口,访问云端Minio服务,无需再考虑第三方库的依赖问题。
在本申请的一个实施例中,通过云端服务器将接收到的机器人型号与机器人版本信息,与云端数据库中存储的机器人型号与升级包进行比对,以在云端数据库中确定出机器人对应的升级包。
具体地,本申请实施例中的云端作为升级包的提供者,主要用于升级包的存储和管理。在Minio里创建一个Minio存储桶,专门用来存储机器人的升级包,在该桶中为每种类型的机器人创建对应的文件夹,用来存储该类型的机器人升级包。当某种类型的机器人需要发布新版本时,将制作好的升级包上传到桶中对应的文件夹下即可。
进一步地,装有OTA程序的机器人会将自己的型号、版本等信息定时发送到云端,云端将接收到的机器人的型号与版本等信息与云端数据库中的存储映射关系进行比对,以确定出当前机器人所对应的升级包。
S102、在机器人型号与升级包符合映射关系的情况下,接收云端发送的升级包更新信息。
在本申请的一个实施例中,云端查询数据库将机器人信息映射到的升级包信息,反馈给机器人。机器人的OTA程序根据收到的升级包信息,判断云端是否存在可用升级包,存在可用升级包时由OTA程序访问Minio服务,将升级包下载到本地。
S103、对云端Minio存储桶中的升级包进行下载,并通过预置校验文件对升级包进行完整性校验。
在本申请的一个实施例中,将接收到的升级包更新信息中的版本号与当前版本号进行比对。在版本号不一致的情况下,在升级包更新信息中确定出升级包下载url地址。根据升级包下载url地址,在云端Minio存储桶中对升级包进行下载。
具体地,机器人接收到云端反馈的升级包更新信息后,会将升级包更新信息中的版本号与机器人当前对应的版本号进行比对,若版本号不一致,则说明云端Minio桶中已对升级包进行更新。此时,通过升级包更新信息中的下载url地址,确定出存放该升级包的云端Minio存储桶,以在该云端Minio存储桶中对升级包进行下载。由于Minio未提供面向C++的开发接口,因此对于C++编写的OTA程序,要借助亚马逊提供的aws-sdk-cpp访问Minio服务。
在本申请的一个实施例中,通过预置SHA256散列算法生成的校验文件,对下载后的升级包进行完整性校验。其中,SHA256散列算法生成的校验文件放置于升级包中。
具体地,制作升级包使用SHA256散列算法生成校验文件,用于下载完升级包后对文件的完整性进行校验。机器人在云端Minio存储桶中对升级包进行下载后,需要通过该SHA256散列算法对当前下载的文件进行完整性校验。若下载的升级包是完整的,则对下载的升级包进行安装。若下载的安装包不完整,则将下载的安装包进行删除,并记录该升级包不可更新。
在本申请的一个实施例中,确定机器人对应的当前版本,并将当前版本对应的版本数据进行备份。在对升级包安装失败的情况下,通过备份的当前版本数据对机器人进行版本恢复。
具体地,在对下载的升级包进行安装之前,需要对当前版本进行备份。备份成功后对该升级包进行安装。若安装失败,OTA程序会基于之前备份,对各模块进行版本回滚,恢复到升级前的版本,确保机器人升级失败也不会影响原功能的使用。
S104、在校验通过的情况下,对升级包进行安装,并将安装结果反馈至云端。
在本申请的一个实施例中,升级包至少包括updatecmd文件、updateindex文件、updatedata文件以及updateinfo文件中的一项。其中,updatecmd文件用于存放不同功能模块分别对应的安装shell脚本。updateindex文件用于确定出不同功能模块的安装顺序。updatedata文件用于存储不同功能模块分别对应的升级包。updateinfo文件用于存储不同功能模块分别对应的升级描述。
具体地,升级包中包含的SHA256文件用于校验文件下载的完整性,updatecmd文件夹存放各功能模块的安装shell脚本,脚本的实现做到通用化。不同模块基于脚本模板略加修改就能完成升级脚本的快速适配和定制,通过定制可同时兼容ROS和IROS的功能包安装,还存放了一个updateindex用来指定各个模块的安装顺序,updatedata文件夹存放各功能模块的升级安装包,updateinfo文件夹存放各功能模块的升级描述。
在本申请的一个实施例中,对updatecmd文件夹中的updateindex文件进行读取,以获取不同功能模块分别对应的安装顺序。对不同功能模块分别对应的当前版本的升级包进行备份。基于安装顺序依次执行updatecmd文件中存储的shell脚本,以对不同功能模块分别对应的升级包进行安装。在所有升级包安装成功后,将升级包进行删除。
具体地,机器人的OTA程序将升级包下载到本地,基于SHA256校验升级包无误后,读取updatecmd文件夹中的updateindex,获取各模块升级包的安装顺序,在安装每个升级包前备份当前版本的功能包,备份成功后会按照功能包的安装顺序依次执行shell脚本进行安装,待所有升级包安装结束,OTA程序会删除下载的升级包,并统计安装结果,将结果反馈到云端。如果存在安装失败的功能包,OTA程序会基于之前备份的升级包,对各模块进行版本回滚,恢复到升级前的版本,确保机器人升级失败也不会影响原功能的使用。
在本申请的一个实施例中,在校验不通过的情况下,或在升级包安装失败的情况下,对下载的升级包进行删除处理,并对升级包进行不可更新记录。
具体地,本申请实施例存在升级包下载不完整的情况,此时对升级包的校验会存在错误提示,此时,会将升级包进行删除处理,并对升级包进行不可更新记录。同样地,在升级包安装失败的情况下,同样需要将该升级包进行删除处理,并对升级包进行不可更新记录。
本申请实施例可以实现机器人自发地升级软件版本,整个过程安全可靠。采用shell脚本模板快速定制各模块的升级脚本,从而指导各模块功能包的安装,兼容性强,并且能同时兼容ROS1和IROS的功能包升级。
图2为本申请实施例提供的一种机器人升级包OTA升级方法流程框图。如图2所示,机器人升级包OTA升级的过程中包括升级包提供者与升级包接受者。云端作为升级包提供者,主要负责将升级包存储在Minio,并在后台数据库中维护升级包的信息,从而响应升级包接受者的请求服务。机器人作为升级包接受者,会通过OTA程序定时将自己的型号特征发送给云端,请求查询是否有可用的升级包,当云端反馈存在可用升级包时,OTA程序会对升级包进行下载、校验和安装。整个升级过程由机器人自发完成,无需人为干涉。
图3为本申请实施例提供的一种机器人升级包OTA升级设备的结构示意图。如图3所示,机器人升级包OTA升级设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
向云端定时发送升级包查询信息;其中,所述云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与所述升级包之间的映射关系;
在所述机器人型号与所述升级包符合所述映射关系的情况下,接收云端发送的升级包更新信息;
对所述云端Minio存储桶中的升级包进行下载,并通过预置校验文件对所述升级包进行完整性校验;
在校验通过的情况下,对所述升级包进行安装,并将安装结果反馈至云端。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请的实施例可以有各种更改和变化。凡在本申请实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种机器人升级包OTA升级方法,其特征在于,所述方法包括:
向云端定时发送升级包查询信息;其中,所述云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与所述升级包之间的映射关系;
在所述机器人型号与所述升级包符合所述映射关系的情况下,接收云端发送的升级包更新信息;
对所述云端Minio存储桶中的升级包进行下载,并通过预置校验文件对所述升级包进行完整性校验;
在校验通过的情况下,对所述升级包进行安装,并将安装结果反馈至云端。
2.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述向云端定时发送升级包查询信息之后,所述方法还包括:
通过云端服务器将接收到的机器人型号与机器人版本信息,与所述云端数据库中存储的机器人型号与所述升级包进行比对,以在云端确定出所述机器人对应的升级包。
3.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述向云端定时发送升级包查询信息之前,所述方法还包括:
对机器人对应的aws-sdk-cpp接口进行封装,以使所述aws-sdk-cpp接口静态链接aws-sdk-cpp的相关库,并将依赖库的查找路径指定为RUNPATH;
编译动态库libminio.so,将所述动态库libminio.so放置于所述机器人对应的下载安装程序的库目录;以及
将编译aws-sdk-cpp时所使用的依赖库libopenssl.so与libcurl.so放置于所述RUNPATH路径在所述机器人中对应的目录下;
调用动态库libminio.so提供的接口,以对云端Minio进行访问。
4.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述通过预置校验文件对所述升级包进行完整性校验之后,所述方法还包括:
确定机器人对应的当前版本,并将所述当前版本对应的版本数据进行备份;
在对所述升级包安装失败的情况下,通过备份的当前版本数据对机器人进行版本恢复。
5.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述通过预置校验文件对所述升级包进行完成性校验,具体包括:
通过预置SHA256散列算法生成的校验文件,对下载后的所述升级包进行完整性校验;
其中,所述SHA256散列算法生成的校验文件放置于所述升级包中。
6.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述对所述云端Minio存储桶中的升级包进行下载,具体包括:
将接收到的升级包更新信息中的版本号与当前版本号进行比对;
在所述版本号不一致的情况下,在所述升级包更新信息中确定出升级包下载url地址;
根据所述升级包下载url地址,在所述云端Minio存储桶中对升级包进行下载。
7.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述升级包至少包括updatecmd文件、updateindex文件、updatedata文件以及updateinfo文件中的一项;
其中,所述updatecmd文件用于存放不同功能模块分别对应的安装shell脚本;所述updateindex文件用于确定出所述不同功能模块的安装顺序;所述updatedata文件用于存储所述不同功能模块分别对应的升级包;所述updateinfo文件用于存储所述不同功能模块分别对应的升级描述。
8.根据权利要求7所述的一种机器人升级包OTA升级方法,其特征在于,所述对所述升级包进行安装,具体包括:
对所述updatecmd文件夹中的updateindex文件进行读取,以获取所述不同功能模块分别对应的安装顺序;
对所述不同功能模块分别对应的当前版本的升级包进行备份;
基于所述安装顺序依次执行所述updatecmd文件中存储的shell脚本,以对所述不同功能模块分别对应的升级包进行安装;
在所有升级包安装成功后,将所述升级包进行删除。
9.根据权利要求1所述的一种机器人升级包OTA升级方法,其特征在于,所述将安装结果反馈至云端之前,所述方法还包括:
在校验不通过的情况下,或在升级包安装失败的情况下,对下载的所述升级包进行删除处理,并对所述升级包进行不可更新记录。
10.一种机器人升级包OTA升级设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
向云端定时发送升级包查询信息;其中,所述云端Minio存储桶中存储有升级包,以及云端数据库中存储有机器人型号与所述升级包之间的映射关系;
在所述机器人型号与所述升级包符合所述映射关系的情况下,接收云端发送的升级包更新信息;
对所述云端Minio存储桶中的升级包进行下载,并通过预置校验文件对所述升级包进行完整性校验;
在校验通过的情况下,对所述升级包进行安装,并将安装结果反馈至云端。
CN202210674852.3A 2022-06-15 2022-06-15 一种机器人升级包ota升级方法及设备 Pending CN115145596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210674852.3A CN115145596A (zh) 2022-06-15 2022-06-15 一种机器人升级包ota升级方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210674852.3A CN115145596A (zh) 2022-06-15 2022-06-15 一种机器人升级包ota升级方法及设备

Publications (1)

Publication Number Publication Date
CN115145596A true CN115145596A (zh) 2022-10-04

Family

ID=83409044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210674852.3A Pending CN115145596A (zh) 2022-06-15 2022-06-15 一种机器人升级包ota升级方法及设备

Country Status (1)

Country Link
CN (1) CN115145596A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116841578A (zh) * 2023-05-19 2023-10-03 国汽朴津智能科技(安庆)有限公司 一种移动机器人的远程升级方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116841578A (zh) * 2023-05-19 2023-10-03 国汽朴津智能科技(安庆)有限公司 一种移动机器人的远程升级方法及系统
CN116841578B (zh) * 2023-05-19 2024-03-26 国汽朴津智能科技(安庆)有限公司 一种移动机器人的远程升级方法及系统

Similar Documents

Publication Publication Date Title
US10768973B1 (en) Method for implementation and optimization of online migration system for dockers container
KR101143112B1 (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
CN106843957B (zh) 系统固件升级方法及装置
JP5535484B2 (ja) 自動ソフトウェアテストフレームワーク
US7984435B2 (en) Update system employing reference software to reduce number of update packages
US9785429B2 (en) Efficient deployment of thin client applications to end user
CN102193805B (zh) 一种软件补丁升级装置及方法
CN112416406B (zh) 终端设备升级方法、装置、终端设备和介质
CN109298871B (zh) 一种电网智能调度系统软件版本监测部署方法
CN111158719B (zh) 应用软件升级方法及装置
WO2017198156A1 (zh) 业务部署方法、装置和系统
CN109308184B (zh) 一种中间件安装和更新方法、装置及计算机可读存储介质
CN110597544A (zh) 一种软件系统升级方法及装置
CN111651304B (zh) 基于双芯智能电表的软件恢复方法、装置和计算机设备
CN114721809A (zh) 一种kubernetes集群的应用部署方法及装置
CN112905230A (zh) 应用程序的管理方法、装置、终端设备和存储介质
CN115145596A (zh) 一种机器人升级包ota升级方法及设备
WO2016082450A1 (zh) 一种用户终端的升级方法和用户终端
CN112286543B (zh) 一种应用服务部署方法及装置
CN108388440A (zh) 一种web应用系统自动更新的方法
CN116028084A (zh) 一种基于OpenStack云平台跨版本热升级的方法、系统及终端
CN111629200A (zh) 一种快速检测差分包可靠性的方法、装置及可读存储介质
CN111400243B (zh) 基于流水线服务的研发管理系统以及文件存储方法、装置
CN112596760A (zh) 软件维护方法、装置和设备
CN114489711A (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