一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种OTA升级方法、装置及电子设备与流程

2022-06-01 15:43:16 来源:中国专利 TAG:

一种ota升级方法、装置及电子设备
技术领域
1.本发明涉及工程机械的控制技术领域,具体涉及一种ota升级方法、装置及电子设备。


背景技术:

2.ota(over-the-air technology,空中升级技术)对智能网联工程机械设备的意义重大,通过ota升级可以快速修复系统缺陷、持续提升产品功能体验、减少召回成本。
3.目前,智能网联工程机械设备的ota与智能网联汽车的ota类似,大致流程是:首先云端服务器将软件更新包发送给设备以太网模块,如t-box;接着t-box将云端下载下来的软件更新包发送给设备网关gateway;然后经过用户许可后设备网关作为上位机通过诊断服务对各电子控制单元ecu内运行软件进行新旧版本文件替换;最后重新启动,完成ecu的刷新。也就是说,目前设备ota要求设备停止工作,待升级成功后再重新启动投入正常工作中,升级通常的方法为直接停止旧版本,并运行新版本,并无有效的平滑切换和无损升级方案。但一些对业务中断有严苛要求的设备,比如应急救险设备或参加集群作业的设备,长时间业务中断甚至ota升级过程中造成的短时业务损失基本是无法容忍的,这就极大限制了ota的应用,使得设备的远程升级和运维变得困难。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种ota升级方法、装置及电子设备,以解决目前ota升级没有有效的平滑切换和无损升级方案的问题。
5.根据第一方面,本发明实施例提供了一种ota升级方法,包括以下步骤:当接收到当前版本软件的升级指令时,获取升级版本软件;将所述升级版本软件安装在与所述当前版本软件不同的分区;将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件。
6.本发明实施例提供的ota升级方法,在接收到升级指令时,获取升级版本软件,将升级版本软件安装在与当前版本软件不同的分区,即升级版本软件与当前版本软件采用a、b分区的方式进行安装,不影响在当前版本软件中运行的业务;通过将当前版本软件当前业务的业务相关数据同步至所述升级版本软件,可以避免当前业务在升级版本软件中重启时,由于当前业务的业务相关数据的丢失造成的业务中断。由此可见,本发明实施例提供的ota升级方法可以实现ota升级的平滑切换和无损升级。
7.结合第一方面,在第一方面第一实施方式中,在将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件之前,还包括:当接收到新业务时,将所述新业务分配至所述升级版本软件;获取所述新业务在所述升级版本软件中的运行状态;根据所述运行状态判定所述新业务在所述升级版本软件中是否成功运行;在所述新业务在所述升级版本软件中成功运行之后,执行将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件的步骤。
8.结合第一方面或第一方面第一实施方式,在第一方面第二实施方式中,所述业务相关数据包括以下中的一项或多项:内存数据、未处理数据、配置文件。
9.结合第一方面第二实施方式,在第一方面第三实施方式中,将所述内存数据同步至所述升级版本软件包括:确定与所述当前版本软件相对应的内存;在与所述当前版本软件相对应的内存中获取所述内存数据并同步至所述升级版本软件。
10.结合第一方面第二实施方式,在第一方面第四实施方式中,将所述未处理数据或配置文件同步至所述升级版本软件包括:确定用于保存所述未处理数据或所述配置文件的数据库的地址;当所述数据库的地址在公共区时,获取所述未处理数据或所述配置文件的索引,并将所述索引发送至所述升级版本软件;当所述数据库的地址在与所述当前版本软件相对应的私有目录区域时,在所述私有目录区域获取所述未处理数据或所述配置文件并同步至所述升级版本软件。
11.结合第一方面或第一方面第一实施方式,在第一方面第五实施方式中,在将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件之后,还包括:停止所述当前业务在所述当前版本软件中的运行并同步开启所述当前业务在所述升级版本软件中的运行。
12.结合第一方面或第一方面第一实施方式,在第一方面第五实施方式中,在将所述升级版本软件安装在与当前版本软件不同的分区之前,还包括:获取当前版本软件所在的区域;根据所述当前版本软件所在的区域确定所述升级版本软件的安装区域。
13.根据第二方面,本发明实施例还提供了一种ota升级装置,包括获取模块、安装模块和同步模块;当接收到当前版本软件的升级指令时,所述获取模块用于获取升级版本软件;所述安装模块,用于将所述升级版本软件安装在与当前版本软件不同的分区;所述同步模块,用于将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件。
14.根据第三方面,本发明实施例还提供了一种电子设备,包括:至少两个分区和ota升级管理器,在其中一个分区中安装有当前版本软件;所述ota升级管理器与所述当前版本软件之间互相通信连接,所述ota升级管理器中存储有计算机指令,所述ota升级管理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的ota升级方法。
15.结合第三方面,在第三方面第一实施方式中,还包括公共区,所述公共区中设有与所述当前版本软件相对应的数据库和/或配置文件。
附图说明
16.通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
17.图1为本发明实施例1中ota升级方法的流程示意图;
18.图2为ota升级方法一示例的流程示意图;
19.图3为本发明实施例2中ota升级装置的结构示意图。
具体实施方式
20.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.实施例1
22.工程机械设备的智能作业涉及众多应用程序,某些应用程序的配置文件需要迭代更新时应用程序的新旧版本应该平滑切换,不能影响工程机械设备正常作业。本发明实施例1公开了一种ota升级方法,可用于工程机械设备智能作业应用程序的迭代更新。图1为本发明实施例1中ota升级方法的流程示意图,如图1所示,本发明实施例1的ota升级方法包括以下步骤:
23.s101:当接收到软件的升级指令时,获取升级版本软件。
24.作为具体的实施方式,获取升级版本软件可以采用如下方案:云端服务平台存放有各种各样、不同版本的更新包,ota sever(云端服务平台上的升级服务器)不定期地向各对应的设备终端推送升级通知消息;ota manager(设备上的升级管理器)分析自身需求向云端发出需要下载升级版本软件的通知消息,其中所述通知消息中包括所述软件的标识信息以及所述软件的当前版本信息;设备网关通过无线通信传输的方式从云端服务平台下载所述升级版本软件;升级管理器通过设备内搭载的通信网络从设备网关处获取在所述云端下载的所述升级版本软件。
25.s102:将所述升级版本软件安装在与当前版本软件不同的分区。
26.作为具体的实施方式,在将所述升级版本软件安装在与当前版本软件不同的分区前,升级管理器先获取确认当前版本软件安装所在的区域,然后升级管理器为所述升级版本软件寻找指定另外的安装区域。具体的,要求工程机械设备的电子控制单元支持对硬件或软件的分区,比如a区、b区,a区和b区之间存在隔离,在各自区域运行的软件程序相互不影响,但是能进行数据交互。
27.在本发明实施例1中,将升级版本软件安装在与当前版本软件不同的分区可以避免升级版本软件将当前版本软件覆盖,在升级版本软件没有完全建立前造成当前版本软件中正在运行的业务中断。
28.s103:将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件。
29.在本发明实施例1中,所述业务相关数据包括以下中的一项或多项:内存数据(即存放在内存中的当前业务数据)、未处理数据(即当前业务未处理的部分数据)、配置文件。
30.这是因为,如果处理中的当前业务数据缓存在系统的内存中,在升级版本软件中重启当前业务的进程会导致存放在内存中的当前业务数据的丢失,导致当前业务的中断,因此需要将存放在内存中的当前业务数据即内存数据进行同步处理。
31.另外,如果当前业务数据已经存储在数据库中,如果未将当前业务未处理完部分数据同步至升级版本软件,在升级版本软件中重启当前业务进程时,也有可能导致当前业务未处理的部分数据的丢失,导致当前业务的中断。
32.在本发明实施例1中,配置文件是相对于业务过程中的数据而言的,比如配置的端口号,ip地址之类等。需要说明的是,在有些情况下,在当前业务运行过程中是不包括配置文件的,在不包括配置文件的情况下,则无需将配置文件进行同步。
33.作为具体的实施方式,将所述内存数据同步至所述升级版本软件可以采用以下方
案:确定与所述当前版本软件相对应的内存;在与所述当前版本软件相对应的内存中获取所述内存数据并同步至所述升级版本软件。也就是说,
34.作为具体的实施方式,将所述未处理数据同步至所述升级版本软件可以采用以下方式:确定用于保存所述未处理数据的数据库的地址;当所述数据库的地址在公共区时,获取所述未处理数据的索引,并将所述索引发送至所述升级版本软件;当所述数据库的地址在与所述当前版本软件相对应的私有目录区域时,在所述私有目录区域获取所述未处理数据并同步至所述升级版本软件。
35.作为具体的实施方式,将所述配置文件同步至所述升级版本软件可以采用以下方式:确定用于保存所述配置文件的数据库的地址;当所述数据库的地址在公共区时,获取所述配置文件的索引,并将所述索引发送至所述升级版本软件;当所述数据库的地址在与所述当前版本软件相对应的私有目录区域时,在所述私有目录区域获取所述配置文件并同步至所述升级版本软件。
36.需要说明的是,上述步骤s101~s103可以在当前业务运行的过程中进行,也可以在其他情况下进行;当步骤s101~s103在当前业务执行的过程中进行时,并不会造成当前版本软件中正在运行的业务的中断。
37.由此可见,本发明实施例提供的ota升级方法,在接收到升级指令时,获取升级版本软件,将升级版本软件安装在与当前版本软件不同的分区,即升级版本软件与当前版本软件采用a、b分区的方式进行安装,不影响在当前版本软件中运行的业务;通过将当前版本软件当前业务的业务相关数据同步至所述升级版本软件,可以避免当前业务在升级版本软件中重启时,由于当前业务的业务相关数据的丢失造成的业务中断。也就是说,设备ota升级过程中在a、b区切换过程中引入了数据同步的操作,使当前业务的业务相关数据可以无损的同步,升级过程的未处理完的当前业务也不会中断,从而保证了软件版本的平滑切换,使ota设备业务无损升级。
38.作为进一步的实施方式,在将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件之前,还包括:当接收到所述软件的新业务时,将所述新业务分配至所述升级版本软件;获取所述新业务在所述升级版本软件中的运行状态;根据所述运行状态判定所述新业务在所述升级版本软件中是否成功运行;在所述新业务在所述升级版本软件中成功运行之后,执行获取所述当前版本软件的当前业务数据和静态数据的步骤。由此可以在升级版本软件成功运行之后,再进行数据同步,保证数据同步的
39.作为进一步的实施方式,在将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件之后,还包括:停止所述当前业务在所述当前版本软件中的运行并同步开启所述当前业务在所述升级版本软件中的运行。
40.为了更加详细的说明本发明实施例1的ota升级方法,给出一个具体的示例。该示例以工程机械的智能驾驶套件新增了部分功能,软件版本需要在执行集群作业时从1.0升级到2.0版本为例描述平滑升级过程。升级前软件运行在a区,且版本号为1.0;现要执行ota升级将ota升级到2.0版本;云服务平台侧由ota sever提供远程升级支持,设备侧由ota manager的进程统一调度升级任务。
41.如图2所示,ota升级方法包括以下步骤:
42.1、升级前1.0版本运行在a区;
43.2、云服务平台侧在接收到设备侧的升级请求通知后准备好升级包,创建升级任务,并向设备侧发出升级指令;
44.3、设备侧接收到升级指令后,设备的以太网通信网关通过5g网络从云服务平台侧下载2.0版本的软件包;下载完成后,通过设备搭载的can网络ota manager将2.0版本分发部署在b区运行,并将新的业务切换到b区的2.0版本处理;
45.4、确认b区的2.0版本软件运行成功后,ota manager向a区的1.0版本发出数据同步指令,a区的1.0版本开始将配置数据、内存数据、数据库数据等和业务相关的数据同步到b区的2.0版本;
46.5、数据同步完成后,ota manager停止a区的1.0版本运行,且b区的2.0版本处理旧版本同步的业务数据。
47.本发明实施例1提供了一种ota平滑升级切换的方法,通过软件版本的平滑切换可实现业务的不中断升级,从而极大的丰富了ota的使用场景,促进工程机械智能网联化的蓬勃发展。
48.实施例2
49.本发明实施例2公开了一种ota升级装置。图3为本发明实施例2中ota升级装置的结构示意图,如图3所示,本发明实施例2的ota升级装置包括获取模块20、安装模块21和同步模块22。
50.具体的,获取模块20,当接收到软件的升级指令后,用于获取升级版本软件;
51.安装模块21,用于将所述升级版本软件安装在与当前版本软件不同的分区;
52.同步模块22,用于将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件。
53.进一步的,所述ota升级装置还包括运行模块,在将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件之前,当接收到新业务时,所述运行模块用于将所述新业务分配至所述升级版本软件;获取所述新业务在所述升级版本软件中的运行状态;根据所述运行状态判定所述新业务在所述升级版本软件中是否成功运行;在所述新业务在所述升级版本软件中成功运行之后,判定可以执行将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件的步骤。
54.具体的,所述同步模块22具体用于:确定与所述当前版本软件相对应的内存;在与所述当前版本软件相对应的内存中获取所述内存数据并同步至所述升级版本软件。
55.具体的,所述同步模块22具体用于:确定用于保存所述未处理数据或所述配置文件的数据库的地址;当所述数据库的地址在公共区时,获取所述未处理数据或所述配置文件的索引,并将所述索引发送至所述升级版本软件;当所述数据库的地址在与所述当前版本软件相对应的私有目录区域时,在所述私有目录区域获取所述未处理数据或所述配置文件并同步至所述升级版本软件。
56.进一步的,在将所述当前版本软件当前业务的业务相关数据同步至所述升级版本软件之后,所述同步模块22还用于:停止所述当前业务在所述当前版本软件中的运行并同步开启所述当前业务在所述升级版本软件中的运行。
57.上述ota升级装置具体细节可以对应参阅图1至图2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
58.实施例3
59.本发明实施例还提供了一种电子设备,该电子设备包括至少两个分区和ota升级管理器,在其中一个分区中存储有当前版本软件,所述ota升级管理器与所述当前版本软件之间互相通信连接,所述ota升级管理器中存储有计算机指令,所述ota升级管理器通过执行所述计算机指令,从而执行本发明实施例1所述的ota升级方法。
60.进一步的,电子设备还包括公共区,所述公共区中设有与所述当前版本软件相对应的数据库和/或配置文件。
61.该ota升级管理器可以包括处理器和存储器,其中处理器和存储器可以通过总线或者其他方式连接。
62.处理器可以为中央处理器(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
63.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的ota升级方法对应的程序指令/模块(例如,图3所示的获取模块20、安装模块21和同步模块22)。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的ota升级方法。
64.存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
65.所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行如图1-3所示实施例中的ota升级方法。
66.上述电子设备具体细节可以对应参阅图1至图3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
67.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
68.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献