CN112527322A - 物联网设备中的系统升级方法、装置、设备及存储介质 - Google Patents
物联网设备中的系统升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112527322A CN112527322A CN201910799751.7A CN201910799751A CN112527322A CN 112527322 A CN112527322 A CN 112527322A CN 201910799751 A CN201910799751 A CN 201910799751A CN 112527322 A CN112527322 A CN 112527322A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- program
- internet
- starting
- upgrade
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 230000004044 response Effects 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000010485 coping Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000011449 brick Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
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/61—Installation
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了一种物联网设备中的系统升级方法、装置、设备及存储介质。检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一系统,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二系统,其中,第二系统为待升级的新系统,第一系统的版本低于第二系统。由此,在无法成功升级系统时可以自动回滚到之前版本。
Description
技术领域
本公开涉及物联网领域,特别涉及物联网设备中的系统升级方法、装置、设备及存储介质。
背景技术
随着物联网的纵深发展,数十亿甚至数百亿的物联网设备通过联网接入云服务网,与此同时物联网设备开发周期、新功能的发布逐渐加快,联网设备的售后成本问题也越来越突出,促使利用OTA(Over-the-Air Technology,空中下载技术)对物联网设备进行远程升级变得越来越迫切。
然而当前物联网设备升级方案比较匮乏,普遍使用原地升级,这种升级方式造成的安全问题非常突出,若升级新版本系统软件后新版本不工作,系统存在变砖永远无法恢复的风险。
因此,需要一种能够应对物联网设备的升级风险的升级方案。
发明内容
本公开要解决的一个技术问题是,提供一种能够应对物联网设备的升级风险的升级方案。
根据本公开的第一个方面,提出了一种物联网设备中的系统升级方法,包括:检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一系统,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二系统,其中,第二系统为待升级的新系统,第一系统的版本低于第二系统。
可选地,该系统升级方法还包括:在不存在升级标识的情况下,启动第一系统。
可选地,该系统升级方法还包括:在尝试启动第二系统的情况下,将升级次数加一。
可选地,该系统升级方法还包括:在成功启动第二系统的情况下,清除升级标识和/或升级次数。
可选地,该系统升级方法还包括:设置定时器,定时器用于响应于计时超过第二预定阈值触发系统升级方法的执行,或者触发第一系统的启动。
可选地,该系统升级方法还包括:在成功启动第二系统的情况下,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。
可选地,该系统升级方法还包括:响应于接收到服务器下发的升级文件或升级指令,生成升级标识。
可选地,启动第一系统的步骤包括:启动升级前运行的系统;或者根据系统稳定性,从第二系统之前多个版本的系统中选择一个版本的系统进行启动。
可选地,物联网设备为以下至少一项:车辆;个人数字助理终端;传感器;智能家居设备。
可选地,物联网设备的存储区被划分为第一区、第二区、第三区以及第四区,第一区用于存储引导加载程序,引导加载程序用于执行系统升级方法,第二区用于存储第一系统,第三区用于存储第二系统;第四区用于存储升级标识和/或升级次数。
根据本公开的第二个方面,还提出了一种物联网设备中的系统升级方法,包括:设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第一个方面述及的系统升级方法。
根据本公开的第三个方面,还提出了一种物联网设备中的系统升级方法,包括:响应于系统升级请求,尝试启动第二系统;在第二系统启动失败或者第二系统启动失败次数超过第一预定阈值的情况下,启动第一系统,其中,第二系统为待升级的新系统,第一系统的版本低于第二系统。
根据本公开的第四个方面,还提出了一种物联网设备中的程序升级方法,包括:检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一程序,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。
根据本公开的第五个方面,还提出了一种物联网设备中的程序升级方法,包括:设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第四个方面述及的程序升级方法。
根据本公开的第六个方面,还提出了一种物联网设备中的程序升级方法,包括:响应于程序升级请求,尝试启动第二程序;在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。
根据本公开的第七个方面,还提出了一种物联网设备中的系统升级装置,包括:检查模块,用于检查是否存在升级标识;判断模块,用于在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;第一启动模块,用于在判断模块判定升级次数超过第一预定阈值的情况下,启动第一系统,和/或第二启动模块,用于在判断模块判定升级次数未超过第一预定阈值的情况下,尝试启动第二系统,其中,第二系统为待升级的新系统,第一系统的版本低于第二系统。
根据本公开的第八个方面,还提出了一种物联网设备中的系统升级装置,包括:设置模块,用于设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第一个方面述及的系统升级方法。
根据本公开的第九个方面,还提出了一种物联网设备中的系统升级装置,包括:第二启动模块,用于响应于系统升级请求,尝试启动第二系统;第一启动模块,用于在第二系统启动失败或者第二系统启动失败次数超过预定阈值的情况下,启动第一系统,其中,第二系统为待升级的新系统,第一系统的版本低于第二系统。
根据本公开的第十个方面,还提出了一种物联网设备中的程序升级装置,包括:检查模块,用于检查是否存在升级标识;判断模块,用于在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;第一启动模块,用于在判断模块判定升级次数超过第一预定阈值的情况下,启动第一程序,和/或第二启动模块,用于在判断模块判定升级次数未超过第一预定阈值的情况下,尝试启动第二程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。
根据本公开的第十一个方面,还提出了一种物联网设备中的程序升级装置,包括:设置模块,用于设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第四个方面述及的程序升级方法。
根据本公开的第十二个方面,还提出了一种物联网设备中的程序升级装置,包括:第二启动模块,用于响应于程序升级请求,尝试启动第二程序;第一启动模块,用于在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。
根据本公开的第十三个方面,还提出了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本公开第一个方面至第六个方面中任一个方面述及的方法。
根据本公开的第十四个方面,还提出了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本公开第一个方面至第六个方面中任一个方面述及的方法。
本公开支持物联网设备中的系统升级,并可以在系统升级失败或升级次数超过预定阈值时,自动回滚到之前版本,从而可以消除物联网设备的升级风险。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了物联网设备与服务器间的通信流程图。
图2示出了物联网设备的存储区布局结构示意图。
图3示出了根据本公开一实施例的物联网设备中的系统升级方法的示意性流程图。
图4示出了根据本公开一个实施例的物联网设备中的升级装置的结构示意图。
图5示出了根据本公开另一个实施例的物联网设备中的升级装置的结构示意图。
图6示出了根据本公开一实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了物联网设备与服务器间的通信流程图。
本公开述及的物联网设备100可以是但不限于PDA(Personal DigitalAssistant,个人数字助理)智能终端、车辆(如无人汽车)、传感器、智能家居设备(如可以包括但不限于智能音箱、扫地机器人、智能灯泡、智能开关、智能门锁)等。其中PDA智能终端可以是但不限于快件跟踪扫描记录仪,用于实现零售开单、打印小票、盘点、数据上传和日结等一种或多种功能的移动POS机。
物联网(Internet of Things,简称IoT),即“万物相连的互联网”是互联网基础上的延伸和扩展的网络,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现在任何时间、任何地点,人、机、物的互联互通。物联网设备100可以通过物联网与服务器通信,也可以通过物联网与其他物联网设备连接。
如图1所示,物联网设备100可以利用OTA(Over-the-Air Technology,空中下载技术)进行远程升级。例如,物联网设备100可以通过网络从服务器200获取更新文件,以实现物联网设备100的远程升级。其中网络可以是但不限于无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。
在物联网设备100利用OTA进行远程升级的过程中,不可避免地会出现因升级文件错误或其他原因导致升级失败的情况发生。
为了使得系统升级失败时,物联网设备100能够自动回滚到之前的版本,不影响设备的正常使用,本公开提出了一种支持升级失败自动回滚到之前版本的系统升级方案。本公开主要是设置引导加载程序,基于引导加载程序引导系统升级并提供升级失败情况下的应对处理。本公开述及的引导加载程序可以视为设备加电后运行的第一段软件代码,其中引导加载程序可以实现为一种固件,例如可以是Bootloader固件。
物联网设备上电启动后,可以首先启动引导加载程序,由引导加载程序执行本公开的系统升级方法,实现系统升级及升级失败情况下的应对处理。
图2示出了物联网设备的存储区布局结构示意图。
如图2所示,物联网设备的存储区可以划分为第一区、第二区、第三区以及第四区。其中这里述及的划分不代表执行实际的划分动作,而可以是指逻辑上的划分。
第一区用于存储引导加载程序,引导加载程序用于执行本公开的系统升级方法,引导启动整个系统。
第二区用于存储第一系统,第三区用于存储第二系统,其中第二系统为待升级的新系统,第一系统的版本低于第二系统,第一系统可以视为旧系统。第一系统可以是指升级新系统前设备运行过的系统,第二区可以存储一个或多个版本低于第二系统的旧系统。
第四区用于存储升级标识、升级次数等升级参数。其中,第四区定义的参数设计为引导加载程序和系统程序进行共享的数据桥梁,可以相互配合完成对系统启动失败的自动判断。
作为示例,在新系统成功启动后,可以将第二区中的旧系统替换为新系统,并清空第三区,以等待新的升级系统的到来。
另外在新系统成功启动后,也可以在不删除第二区中存储的旧系统的情况下,将新系统添加到第二区,由此第二区中可以存储多个设备运行过的系统。
图3示出了根据本公开一实施例的物联网设备中的系统升级方法的示意性流程图。
如图3所示,物联网设备上电启动后,首先启动引导加载程序,在引导加载程序的引导作用下,实现整个系统升级方法的执行。
在步骤S110,可以由引导加载程序设置定时器,也即初始化定时器。
定时器用于计时,并响应于计时超过预定阈值(为了便于分区,可以称为第二预定阈值)触发本公开的系统升级方法的执行(也即触发引导加载程序的重启),或者触发第一系统的启动。其中定时器可以实现为一种硬件模块,如可以实现为硬件看门狗。
在本实施例中,第一系统可以是升级前运行的系统,如可以是第二系统的上一个版本的系统。另外第一系统也可以是从第二系统之前多个版本的系统中选择的一个版本的系统,也即第一系统可以是从第二区存储的多个旧系统中选择的一个系统。
在步骤S120,检查是否存在升级标识。
升级标识用于表征物联网设备当前是否存在升级需求,升级标识可以是响应于接收到服务器下发的升级文件或升级指令而生成的标识符。关于升级标识的具体表示形式,本公开不再赘述。
在不存在升级标识的情况下,表明物联网设备当前无需升级,可以执行步骤S190,启动第一系统。作为示例,在执行步骤S190时,可以启动升级前运行的系统,也可以根据统计得到的各个版本的系统稳定性,从第二系统之前多个版本的系统中选择稳定性较好的版本的系统进行启动。
在存在升级标识的情况下,表明物联网设备当前存在升级需求,可以执行步骤S130,判断升级次数是否超过预定阈值N(为了便于分区,可以称为第一预定阈值)。此处述及的升级次数是指尝试启动待升级的新系统的次数,也即失败次数。第一预定阈值的大小可以根据实际情况设定。
如上文结合图1所述,第四区用于存储升级标识、升级次数等参数,因此在执行步骤S120、步骤S130时,均可以从第四区获取升级标识、升级次数,实现升级标识的查找、升级次数的判断等操作。
在判定升级次数超过第一预定阈值的情况下,表明失败次数过多,无法升级成功,此时可以执行步骤S190,启动第一系统。
在判定升级次数不超过第一预定阈值的情况下,可以执行步骤S140、步骤S150,将升级次数加1并尝试启动新系统。
在执行完步骤S150后,可以判断是否成功启动。
在第二系统能够正常运行的情况下可以认为启动成功,也即升级成功。在第二系统启动过程中出错(如抛出错误)或者启动耗时(也即升级耗时)超过第三预定阈值的情况下,可以认为启动失败。
在未成功启动新系统的情况下,可以执行步骤S195,使定时器超时,进而触发引导加载程序的重新启动。可选地,在未成功启动的情况下,也可以通过执行步骤S195使定时器超时,触发第一系统的启动。
在成功启动新系统的情况下,可以执行步骤S170,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。通过循环对定时器的计时清零,可以避免在新系统能够正常运行的情况下,因定时器超时而重启引导加载程序或回滚到第一系统。其中,在定时器是看门狗的情况下,步骤S170也即对看门狗进行自动喂狗。可选地,步骤S170可以由成功启动后的新系统执行。
在本公开中,可以在定时器的配合下实现系统升级失败情况下本公开的系统升级方法(也即引导加载程序)的重启。可选地定时器还可以用于在第二系统的启动耗时超过第二预定阈值的情况下,自动回滚到第一系统。
另外在成功启动的情况下,还可以执行步骤S180,清除升级标识和/或升级次数。由此,在执行完步骤S180后,成功启动后的新系统就可以作为当前运行系统运行,此后在物联网设备需要再次升级的情况下,当前运行的系统可以作为第一系统,待升级的新系统可以作为新的第二系统,再次执行图3所示的流程,实现系统升级。
综上,本公开可以在引导加载程序的作用下初始化定时器,并引导启动新系统,在成功启动新系统后,可以循环重置定时器的计时,避免系统重启。而在新系统启动失败时,可以由定时器触发系统重启,重新在引导加载程序的作用下执行本公开的升级方法,在失败次数(也即升级次数)超过第一预定阈值时,自动回滚到旧系统。
本公开还提出了另一种物联网设备中的系统升级方法,包括:设置引导加载程序,引导加载程序被配置为:执行上文结合图3所示的系统升级方法。
本公开还提出了另一种物联网设备中的系统升级方法,包括:响应于系统升级请求,尝试启动第二系统;在第二系统启动失败或者第二系统启动失败次数超过第一预定阈值的情况下,启动第一系统。关于第一系统、第二系统可以参见上文相关描述,此处不再赘述。系统升级请求也即物联网设备的系统升级需求,可以通过检查是否存在升级标识的方式判断是否存在系统升级需求,关于升级标识可以参见上文相关描述,此处也不再赘述。
在第二系统启动失败的情况下,可以将失败次数(也即上文述及的启动次数)加1,然后再次尝试启动第二系统,如此在失败次数超过第一预定阈值时,不再尝试启动第二系统,而是启动第一系统。
在本实施例中,可以在第二系统超过第三预定阈值未启动成功的情况下,判定第二系统启动失败。也即本公开可以根据第二系统启动耗时来触发重新升级或回滚到第一系统。
作为示例,可以通过设置定时器,来实现系统第二系统启动失败或者第二系统启动失败次数超过预定阈值时,自动回滚到第一系统。例如,定时器可以被设置为,响应于计时超过第二预定阈值,触发第一系统的启动,引导加载程序可以在启动第二系统失败或者失败次数超过第一预定阈值时,使定时器超时,以回滚到第一系统。
以物联网设备为快件跟踪扫描记录仪、移动POS机为例,上文述及的第一系统/第二系统可以是指实时操作系统(RTOS)。RTOS是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。
至此,就本公开的物联网设备中的系统升级方法做了详细说明。本公开还可以实现为一种针对物联网设备中的其他非系统程序的升级的程序升级方法。也即上文述及的第一系统/第二系统也可以替换为运行在物联网设备中的第一程序/第二程序。
下面就本公开的物联网设备中的程序升级方法的流程进行示例性说明,关于方案涉及的细节均可以参见上文相关描述,此处不再赘述。
公开的物联网设备中的程序升级方法,可以包括:检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一程序,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。也即本公开还可以用于对物联网设备中非系统程序的升级,其中关于方法涉及的细节可以参见上文相关描述,此处不再赘述。
公开的物联网设备中的程序升级方法,还可以包括:设置引导加载程序,引导加载程序被配置为:执行上文述及的程序升级方法。
公开的物联网设备中的程序升级方法,还可以包括:响应于程序升级请求,尝试启动第二程序;在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。
图4示出了根据本公开一个实施例的物联网设备中的升级装置的结构示意图。其中,升级装置的功能模块可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就升级装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。
参见图4,升级装置400包括检查模块410,判断模块420,第一启动模块430和/或第二启动模块440。
在本公开的一个实施例中,升级装置400用于实现物联网设备中的系统升级。
检查模块410用于检查是否存在升级标识。
在不存在升级标识的情况下,可以由第一启动模块430启动第一系统。第一启动模块430可以启动升级前运行的系统,或者也可以根据系统稳定性,从第二系统之前多个版本的系统中选择一个版本的系统进行启动。
在存在升级标识的情况下,可以由判断模块420判断升级次数是否超过第一预定阈值。
在判断模块420判定升级次数超过第一预定阈值的情况下,可以由第一启动模块430启动第一系统。
在判断模块420判定升级次数未超过第一预定阈值的情况下,可以由第二启动模块440尝试启动第二系统。
升级装置400还可以包括累加模块,用于在第二启动模块440尝试启动第二系统的情况下,将升级次数加一。
升级装置400还可以包括清除模块,用于在第二启动模块440成功启动第二系统的情况下,清除升级标识和/或升级次数。
升级装置400还可以包括定时器,定时器用于响应于计时超过第二预定阈值触发系统升级方法的执行,或者触发第一系统的启动。
升级装置400还可以包括重置模块,用于在第二启动模块440成功启动第二系统的情况下,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。
升级装置400还可以包括生成模块,用于响应于接收到服务器下发的升级文件或升级指令,生成升级标识。
在本公开的另一个实施例中,升级装置400用于实现物联网设备中的程序升级。
检查模块410用于检查是否存在升级标识。
在不存在升级标识的情况下,可以由第一启动模块430启动第一程序。第一启动模块430可以启动升级前运行的程序,或者也可以根据程序稳定性,从第二程序之前多个版本的程序中选择一个版本的程序进行启动。
在存在升级标识的情况下,可以由判断模块420判断升级次数是否超过第一预定阈值。
在判断模块420判定升级次数超过第一预定阈值的情况下,可以由第一启动模块430启动第一程序,第一程序为版本低于第二程序的程序。
在判断模块420判定升级次数未超过第一预定阈值的情况下,可以由第二启动模块440尝试启动第二程序,第二程序为待升级的新程序。
升级装置400还可以包括累加模块,用于在第二启动模块440尝试启动第二程序的情况下,将升级次数加一。
升级装置400还可以包括清除模块,用于在第二启动模块440成功启动第二程序的情况下,清除升级标识和/或升级次数。
升级装置400还可以包括定时器,定时器用于响应于计时超过第二预定阈值触发系统升级方法的执行,或者触发第一程序的启动。
升级装置400还可以包括重置模块,用于在第二启动模块440成功启动第二程序的情况下,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。
升级装置400还可以包括生成模块,用于响应于接收到服务器下发的升级文件或升级指令,生成升级标识。
本公开还提出了另一种物联网设备中的升级装置。该升级装置包括用于设置引导加载程序的设置模块。引导加载程序可以被配置为执行上文述及的系统升级方法,也可以被配置为执行上文述及的程序升级方法。
图5示出了根据本公开另一个实施例的物联网设备中的升级装置的结构示意图。其中,升级装置的功能模块可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就升级装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。
参见图5,升级装置500包括第一启动模块510和第二启动模块520。
在本公开的一个实施例中,升级装置400用于实现物联网设备中的系统升级。第二启动模块520用于响应于系统升级请求,尝试启动第二系统。第一启动模块510用于在第二系统启动失败或者第二系统启动失败次数超过第一预定阈值的情况下,启动第一系统,其中,第二系统为待升级的新系统,第一系统的版本低于第二系统。
在本公开的另一个实施例中,升级装置400用于实现物联网设备中的程序升级。第二启动模块520用于响应于程序升级请求,尝试启动第二程序。第一启动模块510用于在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。
图6示出了根据本公开一实施例可用于实现上述物联网设备中的系统升级方法或程序方法的计算设备的结构示意图。
参见图6,计算设备600包括存储器610和处理器620。
处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器610可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的物联网设备中的系统升级方法或程序方法。
上文中已经参考附图详细描述了根据本公开的物联网设备中的系统或程序升级方法、装置及设备。
此外,根据本公开的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本公开的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本公开还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本公开的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本公开的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (24)
1.一种物联网设备中的系统升级方法,其特征在于,包括:
检查是否存在升级标识;
在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;
在判定所述升级次数超过所述第一预定阈值的情况下,启动第一系统,并且/或者在判定所述升级次数未超过所述第一预定阈值的情况下,尝试启动第二系统,其中,所述第二系统为待升级的新系统,所述第一系统的版本低于所述第二系统。
2.根据权利要求1所述的系统升级方法,其特征在于,还包括:
在不存在所述升级标识的情况下,启动所述第一系统。
3.根据权利要求1所述的系统升级方法,其特征在于,还包括:
在尝试启动所述第二系统的情况下,将所述升级次数加一。
4.根据权利要求1所述的系统升级方法,其特征在于,还包括:
在成功启动所述第二系统的情况下,清除所述升级标识和/或所述升级次数。
5.根据权利要求1所述的系统升级方法,其特征在于,还包括:
设置定时器,所述定时器用于响应于计时超过第二预定阈值触发所述系统升级方法的执行,或者触发所述第一系统的启动。
6.根据权利要求5所述的系统升级方法,其特征在于,还包括:
在成功启动所述第二系统的情况下,循环执行如下操作:在所述定时器的计时超过所述第二预定阈值之前,重置所述计时。
7.根据权利要求1所述的系统升级方法,其特征在于,还包括:
响应于接收到服务器下发的升级文件或升级指令,生成所述升级标识。
8.根据权利要求1所述的系统升级方法,其特征在于,所述启动第一系统的步骤包括:
启动升级前运行的系统;或者
根据系统稳定性,从所述第二系统之前多个版本的系统中选择一个版本的系统进行启动。
9.根据权利要求1所述的系统升级方法,其特征在于,所述物联网设备为以下至少一项:
车辆;
个人数字助理终端;
传感器;
智能家居设备。
10.根据权利要求1至9中任一项所述的系统升级方法,其特征在于,所述物联网设备的存储区被划分为第一区、第二区、第三区以及第四区,
所述第一区用于存储引导加载程序,所述引导加载程序用于执行所述系统升级方法,
所述第二区用于存储所述第一系统,
所述第三区用于存储所述第二系统;
所述第四区用于存储所述升级标识和/或所述升级次数。
11.一种物联网设备中的系统升级方法,其特征在于,包括:设置引导加载程序,所述引导加载程序被配置为:
响应于所述物联网设备上电启动,执行权利要求1至10中任一项所述的系统升级方法。
12.一种物联网设备中的系统升级方法,其特征在于,包括:
响应于系统升级请求,尝试启动第二系统;
在所述第二系统启动失败或者所述第二系统启动失败次数超过第一预定阈值的情况下,启动第一系统,其中,所述第二系统为待升级的新系统,所述第一系统的版本低于所述第二系统。
13.根据权利要求12所述的系统升级方法,其特征在于,还包括:
在所述第二系统超过第三预定阈值未启动成功的情况下,判定所述第二系统启动失败。
14.一种物联网设备中的程序升级方法,其特征在于,包括:
检查是否存在升级标识;
在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;
在判定所述升级次数超过所述第一预定阈值的情况下,启动第一程序,并且/或者在判定所述升级次数未超过所述第一预定阈值的情况下,尝试启动第二程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。
15.一种物联网设备中的程序升级方法,其特征在于,包括:设置引导加载程序,所述引导加载程序被配置为:
响应于所述物联网设备上电启动,执行权利要求14所述的程序升级方法。
16.一种物联网设备中的程序升级方法,其特征在于,包括:
响应于程序升级请求,尝试启动第二程序;
在所述第二程序启动失败或者所述第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。
17.一种物联网设备中的系统升级装置,其特征在于,包括:
检查模块,用于检查是否存在升级标识;
判断模块,用于在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;
第一启动模块,用于在所述判断模块判定所述升级次数超过所述第一预定阈值的情况下,启动第一系统,和/或第二启动模块,用于在所述判断模块判定所述升级次数未超过所述第一预定阈值的情况下,尝试启动第二系统,其中,所述第二系统为待升级的新系统,所述第一系统的版本低于所述第二系统。
18.一种物联网设备中的系统升级装置,其特征在于,包括:设置模块,用于设置引导加载程序,所述引导加载程序被配置为:
响应于所述物联网设备上电启动,执行权利要求1至10中任一项所述的系统升级方法。
19.一种物联网设备中的系统升级装置,其特征在于,包括:
第二启动模块,用于响应于系统升级请求,尝试启动第二系统;
第一启动模块,用于在所述第二系统启动失败或者所述第二系统启动失败次数超过第一预定阈值的情况下,启动第一系统,其中,所述第二系统为待升级的新系统,所述第一系统的版本低于所述第二系统。
20.一种物联网设备中的程序升级装置,其特征在于,包括:
检查模块,用于检查是否存在升级标识;
判断模块,用于在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;
第一启动模块,用于在所述判断模块判定所述升级次数超过所述第一预定阈值的情况下,启动第一程序,和/或第二启动模块,用于在所述判断模块判定升级次数未超过所述第一预定阈值的情况下,尝试启动第二程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。
21.一种物联网设备中的程序升级装置,其特征在于,包括:设置模块,用于设置引导加载程序,所述引导加载程序被配置为:
响应于所述物联网设备上电启动,执行权利要求14所述的程序升级方法。
22.一种物联网设备中的程序升级装置,其特征在于,包括:
第二启动模块,用于响应于程序升级请求,尝试启动第二程序;
第一启动模块,用于在所述第二程序启动失败或者所述第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。
23.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至16中任何一项所述的方法。
24.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至16中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799751.7A CN112527322A (zh) | 2019-08-28 | 2019-08-28 | 物联网设备中的系统升级方法、装置、设备及存储介质 |
TW109118079A TW202109336A (zh) | 2019-08-28 | 2020-05-29 | 物聯網設備中的系統升級方法、裝置、設備及儲存媒體 |
PCT/CN2020/110400 WO2021036917A1 (zh) | 2019-08-28 | 2020-08-21 | 物联网设备中的系统升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799751.7A CN112527322A (zh) | 2019-08-28 | 2019-08-28 | 物联网设备中的系统升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527322A true CN112527322A (zh) | 2021-03-19 |
Family
ID=74684117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910799751.7A Pending CN112527322A (zh) | 2019-08-28 | 2019-08-28 | 物联网设备中的系统升级方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN112527322A (zh) |
TW (1) | TW202109336A (zh) |
WO (1) | WO2021036917A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157303A (zh) * | 2021-05-27 | 2021-07-23 | 盈合(深圳)机器人与自动化科技有限公司 | 升级方法、嵌入式系统、终端及计算机存储介质 |
CN114237722A (zh) * | 2021-11-19 | 2022-03-25 | 湖南三一智能控制设备有限公司 | 一种系统的启动方法、装置、设备及工程车辆 |
CN114741119A (zh) * | 2022-03-22 | 2022-07-12 | 深圳数马电子技术有限公司 | 系统的启动方法、装置、计算机设备和存储介质 |
CN115904450A (zh) * | 2022-11-02 | 2023-04-04 | 易科奇通信技术(深圳)有限公司 | 嵌入式设备固件升级装置和方法、嵌入式设备、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253850A (zh) * | 2011-07-08 | 2011-11-23 | 烽火通信科技股份有限公司 | Iptv机顶盒增量式软件升级方法 |
CN103793247A (zh) * | 2014-01-23 | 2014-05-14 | 深圳市道通科技有限公司 | 诊断设备软件升级的方法及设备 |
CN104281479A (zh) * | 2014-10-31 | 2015-01-14 | 深圳市大疆创新科技有限公司 | 一种固件升级方法及装置 |
CN107102871A (zh) * | 2017-03-30 | 2017-08-29 | 建荣半导体(深圳)有限公司 | 嵌入式系统升级的方法和装置 |
CN108881455A (zh) * | 2018-06-28 | 2018-11-23 | 西北工业大学 | 低容量存储节点的异构云存储系统中数据封装与传输方法 |
CN109032846A (zh) * | 2018-08-08 | 2018-12-18 | 京信通信系统(中国)有限公司 | 设备远程备份升级方法、装置、计算机存储介质及设备 |
CN109324815A (zh) * | 2018-08-31 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 系统升级的监控方法、装置、设备及计算机可读存储介质 |
CN110149224A (zh) * | 2019-05-10 | 2019-08-20 | 上海擎感智能科技有限公司 | 空间下载技术中的升级通知方法及装置、存储介质和终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402273B2 (en) * | 2016-12-14 | 2019-09-03 | Microsoft Technology Licensing, Llc | IoT device update failure recovery |
WO2018120213A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种固件更新方法及控制器 |
CN107220091B (zh) * | 2017-06-08 | 2020-06-26 | 成都欧飞凌通讯技术有限公司 | 一种100g cfp主备映象文件的升级与切换方法 |
CN108549539A (zh) * | 2018-01-23 | 2018-09-18 | 青岛海尔科技有限公司 | 一种进行设备远程升级的方法及装置 |
CN109189445B (zh) * | 2018-10-12 | 2022-03-15 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
-
2019
- 2019-08-28 CN CN201910799751.7A patent/CN112527322A/zh active Pending
-
2020
- 2020-05-29 TW TW109118079A patent/TW202109336A/zh unknown
- 2020-08-21 WO PCT/CN2020/110400 patent/WO2021036917A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253850A (zh) * | 2011-07-08 | 2011-11-23 | 烽火通信科技股份有限公司 | Iptv机顶盒增量式软件升级方法 |
CN103793247A (zh) * | 2014-01-23 | 2014-05-14 | 深圳市道通科技有限公司 | 诊断设备软件升级的方法及设备 |
CN104281479A (zh) * | 2014-10-31 | 2015-01-14 | 深圳市大疆创新科技有限公司 | 一种固件升级方法及装置 |
CN107102871A (zh) * | 2017-03-30 | 2017-08-29 | 建荣半导体(深圳)有限公司 | 嵌入式系统升级的方法和装置 |
CN108881455A (zh) * | 2018-06-28 | 2018-11-23 | 西北工业大学 | 低容量存储节点的异构云存储系统中数据封装与传输方法 |
CN109032846A (zh) * | 2018-08-08 | 2018-12-18 | 京信通信系统(中国)有限公司 | 设备远程备份升级方法、装置、计算机存储介质及设备 |
CN109324815A (zh) * | 2018-08-31 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 系统升级的监控方法、装置、设备及计算机可读存储介质 |
CN110149224A (zh) * | 2019-05-10 | 2019-08-20 | 上海擎感智能科技有限公司 | 空间下载技术中的升级通知方法及装置、存储介质和终端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157303A (zh) * | 2021-05-27 | 2021-07-23 | 盈合(深圳)机器人与自动化科技有限公司 | 升级方法、嵌入式系统、终端及计算机存储介质 |
CN114237722A (zh) * | 2021-11-19 | 2022-03-25 | 湖南三一智能控制设备有限公司 | 一种系统的启动方法、装置、设备及工程车辆 |
CN114237722B (zh) * | 2021-11-19 | 2023-09-01 | 湖南三一智能控制设备有限公司 | 一种系统的启动方法、装置、设备及工程车辆 |
CN114741119A (zh) * | 2022-03-22 | 2022-07-12 | 深圳数马电子技术有限公司 | 系统的启动方法、装置、计算机设备和存储介质 |
CN115904450A (zh) * | 2022-11-02 | 2023-04-04 | 易科奇通信技术(深圳)有限公司 | 嵌入式设备固件升级装置和方法、嵌入式设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202109336A (zh) | 2021-03-01 |
WO2021036917A1 (zh) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527322A (zh) | 物联网设备中的系统升级方法、装置、设备及存储介质 | |
US11106446B2 (en) | Preinstalled application management method for mobile terminal and mobile terminal | |
US9507604B2 (en) | Boot method and boot system | |
CN106020875B (zh) | 嵌入式终端的固件更新管理方法和装置 | |
EP2195741A1 (en) | Firmware image update and management | |
CN109408122B (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN110825563A (zh) | 系统恢复方法、装置以及电子设备 | |
CN109101247A (zh) | 安装驱动程序的方法、装置和服务器 | |
CN105867962A (zh) | 系统升级的方法和装置 | |
CN115113905A (zh) | 固件升级方法和固件升级装置 | |
CN112579114B (zh) | 物联网设备的程序升级方法、装置及物联网设备 | |
TW202131170A (zh) | 韌體損壞恢復技術 | |
CN114661322A (zh) | 操作系统的升级方法、电子设备及存储介质 | |
CN111131131B (zh) | 一种漏洞扫描方法、装置、服务器及可读存储介质 | |
CN114448779A (zh) | 无线通信模组及其功能恢复方法、电子设备和存储介质 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
US11768669B2 (en) | Installing application program code on a vehicle control system | |
CN103473081A (zh) | 终端进行系统升级后生效的方法及该终端 | |
CN115543399A (zh) | 一种软件处理系统、软件处理方法以及装置 | |
CN110659052A (zh) | 网络设备中系统软件的更新方法、系统及可读存储介质 | |
CN116661812B (zh) | 设备升级方法、电子设备及系统 | |
US20240020103A1 (en) | Parallelizing data processing unit provisioning |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046335 Country of ref document: HK |