CN114090050A - 机器人软件远程自动更新方法、系统及相关产品 - Google Patents
机器人软件远程自动更新方法、系统及相关产品 Download PDFInfo
- Publication number
- CN114090050A CN114090050A CN202111440783.1A CN202111440783A CN114090050A CN 114090050 A CN114090050 A CN 114090050A CN 202111440783 A CN202111440783 A CN 202111440783A CN 114090050 A CN114090050 A CN 114090050A
- Authority
- CN
- China
- Prior art keywords
- task
- ota
- robot
- software
- upgrading
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种机器人软件远程自动更新方法、系统及相关产品,所述方法包括以下步骤:OTA云端获取OTA升级任务并发送到DevOps主服务器上;DevOps主服务器接收OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人的客户端上;机器人的客户端接收具体OTA任务后进行相应的软件更新升级。本发明提供的机器人软件远程自动更新方法,通过OTA云端确定OTA升级任务,以及通过DevOps主服务器根据OTA升级任务与每个机器人的软件版本确定每个机器人的具体OTA任务,从而有针对性的使每个机器人的软件都能远程进行根据需要相应的更新升级,满足随时推送最新的修复版本或产品新功能的上线,保证机器人端的软件/固件得到及时的修复和更新。
Description
【技术领域】
本发明涉及机器人技术领域,尤其涉及一种机器人软件远程自动更新方法及相关产品。
【背景技术】
目前,随着当前机器人硬件结构层面的定模量产之后,后续的产品体验优化方面更多的寄托软件/固件版本的升级迭代,进而修复BUG或带给用户使用方面的新功能。然而,随着机器人数量的增多,传统层面上的单台机器复制/替换软件安装包的方式就不太可行,效率较为低下,不能满足随时推送最新的修复版本或产品新功能的上线,从而便不能保证机器人端的软件/固件得到及时的修复和更新。
鉴于此,实有必要提供一种机器人软件远程自动更新方法以克服上述缺陷。
【发明内容】
本发明的目的是提供一种机器人软件远程自动更新方法及相关产品,旨在改善机器人软件更新效率较为低下的问题,满足随时推送最新的修复版本或产品新功能的上线,保证机器人端的软件/固件得到及时的修复和更新。
为了实现上述目的,本发明第一方面提供一种机器人软件远程自动更新方法,包括以下步骤:
OTA云端获取OTA升级任务并发送到DevOps主服务器上;
所述DevOps主服务器接收所述OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人的客户端上;
所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级。
在一个优选实施方式中,在所述OTA云端获取OTA升级任务并发送到DevOps主服务器上步骤中,OTA云端根据所述OTA升级任务进行维护一个下OTA任务记录。
在一个优选实施方式中,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
获取机器人的当前状态并判断是否满足软件升级需求,若结果为是,则执行所述具体OTA任务的更新升级;若结果为否,则暂停所述具体OTA任务的更新升级。
在一个优选实施方式中,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
判断所述具体OTA任务的优先度级别,对超过预设级别的所述具体OTA任务则在机器人上暂停当前任务的执行并更新升级,对未超过预设级别的所述具体OTA任务则在机器人上完成当前任务后执行更新升级。
在一个优选实施方式中,在机器人对软件进行更新升级的过程中采用消息队列中间件的形式进行系统解耦。
在一个优选实施方式中,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
暂停与所述具体OTA任务对应的原软件的服务;
下载接收所述具体OTA任务的新版软件文件并解压,然后执行软件的升级;
重启新版软件的服务。
在一个优选实施方式中,在所述暂停与所述具体OTA任务对应的原软件的服务步骤中,还包括步骤:
备份原软件的服务文件。
在一个优选实施方式中,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
机器人接收所述DevOps主服务器发送的所述具体OTA任务;
机器人将对应原软件的本地版本及签名与所述具体OTA任务中的内容进行对比,若结果相同,则机器人取消所述具体OTA任务;若结果不同,则到对象存储仓库下载新版本内容。
在一个优选实施方式中,在软件更新升级的过程中,每个步骤均相应的保存具有详细数据的埋点记录,并通过消息队列回传到OTA云端。
在一个优选实施方式中,所述机器人软件远程自动更新方法还包括步骤:
判断所述机器人的软件更新升级是否完成,若结果为否,则结束本次升级任务,并相隔预设时间后重试更新升级步骤。
在一个优先实施方式中,所述OTA云端获取OTA升级任务的方式可以采用以下任一方式:
由OTA云端主动开启OTA升级任务;
由机器人端请求OTA云端开启OTA升级任务。
本发明第二方面提供了一种计算机程序产品,包括计算机程序或者指令,所述计算机程序或者指令在被处理器执行时可以实现本发明第一方面中所述机器人软件远程自动更新方法的各个步骤。
本发明第三方面提供了一种机器人软件远程自动更新系统,包括:
OTA云端,用于获取OTA升级任务并发送到DevOps主服务器上;
DevOps主服务器,用于接收所述OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人的客户端上;
机器人,用于通过客户端接收所述具体OTA任务后进行相应的软件更新升级。
本发明提供的机器人软件远程自动更新方法及相关产品,通过OTA云端确定OTA升级任务,以及通过DevOps主服务器根据OTA升级任务与每个机器人的软件版本确定每个机器人的具体OTA任务,从而有针对性的使每个机器人的软件都能远程进行根据需要相应的更新升级,满足随时推送最新的修复版本或产品新功能的上线,保证机器人端的软件/固件得到及时的修复和更新。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的机器人软件远程自动更新方法的流程图;
图2为图1所示机器人软件远程自动更新方法中一个实施例的系统拓扑图;
图3为图1所示机器人软件远程自动更新方法中一个实施例中步骤S13的流程图;
图4为本发明提供的机器人软件远程自动更新系统的框架图。
【具体实施方式】
为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本发明的实施例中,提供一种机器人软件远程自动更新方法,通过OTA(Over-the-AirTechnology,空中下载技术)技术实现对机器人的软件相应的远程升级功能,提升更新效率。其中,空中下载技术是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。
如图1与图2所示,机器人软件远程自动更新方法包括以下步骤S11-S13。
步骤S11,OTA云端获取OTA升级任务并发送到DevOps主服务器上。
具体的,由于各种场景下的需求,运营人员/SRE(网站可靠性工程师)/研发人员等角色通过系统(即OTA任务云端)可以下发一个升级任务,该任务可以是全量更新任务或者个别机器人的特定版本更新任务,其通过前端页面触发OTA任务。
OTA任务云端会将各个来源的升级任务进行汇总转发到DevOps工具Master主节点上,产生相应的OTA任务。进一步的,OTA任务云端会在云端进行维护一个下OTA任务的记录,便于用户后续排查和回溯。其中,DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
步骤S12,DevOps主服务器接收OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人的客户端上。
具体的,DevOps主服务器(DevOpsMaster服务器)将接收到的任务分析转换,通过维护的整个机器人设备的映射表,将具体OTA任务下发到特定的机器人的客户端上,例如,升级2号机器人的软件A版本为v1.0,该条OTA任务消息就会发送到2号机器人的DevOps客户端上。
步骤S13,机器人的客户端接收具体OTA任务后进行相应的软件更新升级。
具体的,如图3所示,机器人的DevOpsClient客户端将接收到的OTA任务进行转换并进行相应的升级。需要说明的是,OTA任务和整个升级过程采用消息队列中间件的形式进行系统解耦,整个OTA升级任务的过程进度信息会通过事件的形式转发到消息队列中保存,进而OTA任务云端会订阅OTA回传的各个机器人升级的事件信息,将这些OTA升级任务更新到远端展示给操作者查看。
其中,目前由于现场环境的复杂多样性,机器人在升级过程中需要保证在特定环境下来执行,提升机器人软件更新升级的成功率。因此,本步骤还包括:获取机器人的当前状态并判断是否满足软件升级需求,若结果为是,则执行具体OTA任务的更新升级;若结果为否,则暂停具体OTA任务的更新升级。
举例来说,机器人处于充电桩充电并且电量高于设定可升级软件的最低限值,或者机器人当前没有云端任务的调度和本地的调度任务。进一步的,还包括步骤:判断具体OTA任务的优先度级别,对超过预设级别的具体OTA任务则在机器人上暂停当前任务的执行并更新升级,对未超过预设级别的具体OTA任务则在机器人上完成当前任务后执行更新升级。能够理解的是,优化性的OTA任务优先级不会太高,可在不影响现场使用的情况下升级。而有一种特殊的情况,例如机器人软件BUG的强制更新则会绕过部分的体验使用,暂停当前任务并保存,切换到升级模式下,等完成任务升级,再恢复到原始任务下继续。
进一步的,步骤S13还包括步骤:机器人接收DevOps主服务器发送的具体OTA任务;然后,机器人将对应原软件的本地版本及签名与具体OTA任务中的内容进行对比,若结果相同,则机器人取消具体OTA任务;若结果不同,则到对象存储仓库下载新版本内容。
其中,机器人的软件的升级过程一般分为三步:
首先,暂停与具体OTA任务对应的原软件的服务。
进一步的,为防止文件丢失,备份原软件的服务文件。
其次,下载接收具体OTA任务的新版软件文件并解压,然后执行软件的升级;
最后,重启新版软件的服务。
更进一步的,步骤S13之中或之后还包括:判断机器人的软件更新升级是否完成,若结果为否,则结束本次升级任务,并相隔预设时间后重试更新升级步骤。即,OTA任务云端下发升级任务,如果失败直接返回失败结束此次升级任务,然后间隔一段时间重试,避免因机器人正在执行任务而导致的升级失败。
需要说明的是,在软件更新升级的过程中,每个步骤均相应的保存具有详细数据的埋点记录,并通过消息队列回传到OTA云端,为后续流程优化和溯源保存记录。
上面机器人内部的升级流程中,将系统监视软件作为升级模式切换的主要执行者和维护者,负责整个机器人本地状态、模式的维护和切换,机器人的升级任务不应该影响机器人本体工作的基本运行,在用户正常使用情况下一般不允许进入升级模式。机器人升级切换到升级模式下会进入用户短暂的不可用状态。机器人升级需要保持电量充裕,如果在低电量下强制进行软件的升级会有极大的风险导致失败或者损坏。由于机器人软件包的升级会有下载云端新版软件包的情况,所以当前网络状态比较差的情况下也会导致下载软件包失败,进而导致此次更新任务的失败。
需要说明的是,以上实施例中的方法不是机器人本体主动检测远端软件版本是否可升级,进而触发升级任务,而是明确要求升级任务要通过云端主动触发,机器人本地客户端接受任务并执行的方案,做到无感完成的OTA升级任务。
作为实施例,所述OTA云端获取OTA升级任务的方式也可以采用以下方式:
由机器人端请求OTA云端开启OTA升级任务。
如果机器人本体发现软件版本不一致后主动向云端发送升级任务请求,所述OTA云端被动进行机器人的软件更新。
无论所述OTA云端获取OTA升级任务的方式是主动的,还是被动的,都执行上述机器人软件远程自动更新方法中任一实施例的升级步骤。
综上所述,本发明提供的机器人软件远程自动更新方法,通过OTA云端确定OTA升级任务,以及通过DevOps主服务器根据OTA升级任务与每个机器人的软件版本确定每个机器人的具体OTA任务,从而有针对性的使每个机器人的软件都能远程进行根据需要相应的更新升级,满足随时推送最新的修复版本或产品新功能的上线,保证机器人端的软件/固件得到及时的修复和更新。
本发明提供了一种机器人软件远程自动更新系统100,用于通过OTA技术实现对机器人的软件相应的远程升级功能,提升更新效率。需要说明的是,机器人软件远程自动更新系统100的实现原理及实施方式与上述的机器人软件远程自动更新方法相一致,故以下不再赘述。
如图4所示,机器人软件远程自动更新系统100包括:
OTA云端10,用于获取OTA升级任务并发送到DevOps主服务器20上;
DevOps主服务器20,用于接收OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人30的客户端上;
机器人30,用于通过客户端接收具体OTA任务后进行相应的软件更新升级。
其中,所述机器人内集成有用于升级软件的软件升级模块、用于软件版本校验的版本校验模块。
本发明提供了一种具有处理器可执行的非易失的计算机程序的计算机可读介质,所述计算机程序使所述处理器执行上述实施例中所述机器人软件远程自动更新方法的各个步骤。
本发明提供了一种计算机程序产品,包括计算机程序或者指令,所述计算机程序或者指令在被处理器执行时可以实现上述实施例中所述机器人软件远程自动更新方法的各个步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
在本发明所提供的实施例中,应该理解到,所揭露的系统或装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统或装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
本发明并不仅仅限于说明书和实施方式中所描述,因此对于熟悉领域的人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
Claims (10)
1.一种机器人软件远程自动更新方法,其特征在于,包括以下步骤:
OTA云端获取OTA升级任务并发送到DevOps主服务器上;
所述DevOps主服务器接收所述OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人的客户端上;
所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级。
2.如权利要求1所述的机器人软件远程自动更新方法,其特征在于,在所述OTA云端获取OTA升级任务并发送到DevOps主服务器上步骤中,OTA云端根据所述OTA升级任务进行维护一个下OTA任务记录。
3.如权利要求1所述的机器人软件远程自动更新方法,其特征在于,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
获取机器人的当前状态并判断是否满足软件升级需求,若结果为是,则执行所述具体OTA任务的更新升级;若结果为否,则暂停所述具体OTA任务的更新升级。
4.如权利要求1所述的机器人软件远程自动更新方法,其特征在于,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
判断所述具体OTA任务的优先度级别,对超过预设级别的所述具体OTA任务则在机器人上暂停当前任务的执行并更新升级,对未超过预设级别的所述具体OTA任务则在机器人上完成当前任务后执行更新升级。
5.如权利要求1所述的机器人软件远程自动更新方法,其特征在于,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
暂停与所述具体OTA任务对应的原软件的服务;
下载接收所述具体OTA任务的新版软件文件并解压,然后执行软件的升级;
重启新版软件的服务。
6.如权利要求1所述的机器人软件远程自动更新方法,其特征在于,所述机器人的客户端接收所述具体OTA任务后进行相应的软件更新升级步骤中包括:
机器人接收所述DevOps主服务器发送的所述具体OTA任务;
机器人将对应原软件的本地版本及签名与所述具体OTA任务中的内容进行对比,若结果相同,则机器人取消所述具体OTA任务;若结果不同,则到对象存储仓库下载新版本内容。
7.如权利要求1所述的机器人软件远程自动更新方法,其特征在于,在软件更新升级的过程中,每个步骤均相应的保存具有详细数据的埋点记录,并通过消息队列回传到OTA云端。
8.如权利要求1-7任一项所述的机器人软件远程自动更新方法,其特征在于,还包括步骤:
判断所述机器人的软件更新升级是否完成,若结果为否,则结束本次升级任务,并相隔预设时间后重试更新升级步骤。
9.一种机器人软件远程自动更新系统,其特征在于,包括:
OTA云端,用于获取OTA升级任务并发送到DevOps主服务器上;
DevOps主服务器,用于接收所述OTA升级任务并进行分析转换,然后根据机器人设备的映射表将具体OTA任务下发到对应的机器人的客户端上;
机器人,用于通过客户端接收所述具体OTA任务后进行相应的软件更新升级。
10.一种计算机程序产品,包括计算机程序或者指令,其特征在于,所述计算机程序或者指令被处理器执行时实现权利要求1-8任一项所述的机器人软件远程自动更新方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440783.1A CN114090050A (zh) | 2021-11-30 | 2021-11-30 | 机器人软件远程自动更新方法、系统及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440783.1A CN114090050A (zh) | 2021-11-30 | 2021-11-30 | 机器人软件远程自动更新方法、系统及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090050A true CN114090050A (zh) | 2022-02-25 |
Family
ID=80305823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111440783.1A Pending CN114090050A (zh) | 2021-11-30 | 2021-11-30 | 机器人软件远程自动更新方法、系统及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090050A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629785A (zh) * | 2022-12-01 | 2023-01-20 | 摩尔线程智能科技(北京)有限责任公司 | 升级方法、电子设备及存储介质 |
-
2021
- 2021-11-30 CN CN202111440783.1A patent/CN114090050A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629785A (zh) * | 2022-12-01 | 2023-01-20 | 摩尔线程智能科技(北京)有限责任公司 | 升级方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8020044B2 (en) | Distributed batch runner | |
CN104092718A (zh) | 分布式系统及分布式系统中配置信息的更新方法 | |
CN104021078B (zh) | 软件监控装置及方法 | |
CN112134940A (zh) | 一种ota升级任务生命周期策略管理方法 | |
CN111880497A (zh) | 基于容器的智能制造设备控制系统 | |
CN107870774A (zh) | 一种用于aoi系统软件版本管理的系统 | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN103516735A (zh) | 一种网络节点升级的方法及装置 | |
CN111984373B (zh) | 一种Kubernetes容器环境下保证环境一致性的方法及系统 | |
CN103347048A (zh) | 一种城市轨道交通信号系统的自动升级方法 | |
CN114090050A (zh) | 机器人软件远程自动更新方法、系统及相关产品 | |
CN102841825B (zh) | 一种驱动备份方法、装置及驱动还原方法、装置 | |
CN110865826B (zh) | 机器人软件升级方法、装置、设备和存储介质 | |
CN115202680A (zh) | 在线远程自动升级本地客户端的系统及方法 | |
CN113190250A (zh) | 座舱软件升级方法、电子设备及可读存储介质 | |
CN104469278A (zh) | 一种监控系统升级方法及装置 | |
CN113485720B (zh) | 一种微服务系统的离线升级方法 | |
CN114879977A (zh) | 应用部署方法、装置及存储介质 | |
CN114095343A (zh) | 基于双活系统的容灾方法、装置、设备及存储介质 | |
CN114124698A (zh) | 基于云主站的配电自动化终端操作系统的升级方法、装置及系统 | |
CN113127032A (zh) | 一种列车控制器的系统更新方法 | |
CN114327563A (zh) | 数据同步方法及装置、系统、存储介质、计算机系统 | |
CN112099814A (zh) | 车机应用软件安装环境管理系统及方法 | |
CN112291084A (zh) | 一种示教器自动更新方法、装置及系统 | |
CN114090049A (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 |