CN112579114A - 物联网设备的程序升级方法、装置及物联网设备 - Google Patents
物联网设备的程序升级方法、装置及物联网设备 Download PDFInfo
- Publication number
- CN112579114A CN112579114A CN201910926491.5A CN201910926491A CN112579114A CN 112579114 A CN112579114 A CN 112579114A CN 201910926491 A CN201910926491 A CN 201910926491A CN 112579114 A CN112579114 A CN 112579114A
- Authority
- CN
- China
- Prior art keywords
- program
- upgrading
- internet
- upgrade
- upgraded
- 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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种物联网设备的程序升级方法、装置以及物联网设备,所述方法包括:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;重新运行所述至少一个应用程序。本发明实施例通过减少运行的应用程序与升级任务的冲突以提高升级效率以及系统稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种物联网设备的程序升级方法、装置以及物联网设备。
背景技术
物联网是一个基于互联网、无线网、传统电信网等网络的信息载体,通过各种物联网设备可以实现智能化感知、识别、数据采集和设备管理等智能处理过程。物联网设备可以包括信息传感器、射频识别技术、全球定位系统、红外传感器、激光扫描器、车载设备、智能音箱等,利用物联网设备可以实时采集声音、光、电、热、图像、位置等各种需要的信息,从而实现智能化感知、识别和管理。物联网设备需要应用程序、操作系统、固件等程序的支撑才得以运行,而随着时间的推移,物联网设备中的程序存在解决漏洞、兼容性问题、增加交互方式或者提供更多功能支持等需求,需要将物联网设备程序升级。
现有技术中,在对物联网设备进行升级时,为了使设备正常运行,物联网设备通常是在物联网设备运行期间升级,此时,物联网设备中的主应用程序处于正常运行状态,升级任务也处于运行状态,主应用程序与升级任务同时启动,以在设备的正常运行时,完成设备程序的升级。
但是,多数物联网设备的内存资源较小,例如,传感器的内存资源可能只有100K,如果仍然根据内存资源的使用状态同时处理主程序运行以及升级任务,容易出现下载速度下降或者主程序运行不稳定的问题,目前并没有一种有效方式可以解决该技术问题。
发明内容
有鉴于此,本发明实施例提供一种物联网设备的程序升级方法、装置以及物联网设备,用以解决现有技术中物联网设备同时处理主应用程序运行以及升级任务时出现的系统不稳定的技术问题。
第一方面,本申请实施例提供一种物联网设备的程序升级方法,包括:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;
从升级服务端下载待升级程序;
运行所述待升级程序,完成所述物联网设备的升级任务;
重新运行所述至少一个应用程序。
第二方面,本申请实施例提供一种物联网设备的程序升级方法,包括:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
判断当前运行的应用程序的资源占用是否满足升级条件;
如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;
如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
第三方面,本申请实施例提供一种物联网设备的程序升级装置,包括:
消息检测模块,用于在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
消息响应模块,用于响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;
程序下载模块,用于从升级服务端下载待升级程序;
程序升级模块,用于运行所述待升级程序,完成所述物联网设备的升级任务;
程序运行模块,用于重新运行所述至少一个应用程序。
第四方面,本申请实施例提供一种物联网设备的程序升级装置,包括:
消息检测模块,用于在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
条件判断模块,用于判断当前运行的应用程序的资源占用是否满足升级条件;
第一处理模块,用于如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;
第二处理模块,用于如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
第五方面,本申请实施例提供一种物联网设备,包括:存储组件与处理组件;所述存储组件用于存储一条或多条计算机指令;所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;重新运行所述至少一个应用程序。
第六方面,本申请实施例提供一种物联网设备,包括:存储组件与处理组件;所述存储组件用于存储一条或多条计算机指令;所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;判断当前运行的应用程序的资源占用是否满足升级条件;如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
本发明实施例,针对资源较少的物联网设备,可以在物联网设备的至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息,之后,可以响应于所述升级触发消息,基于至少一个应用程序的资源占用,关闭至少部分应用程序,从而可以使得物联网设备的系统环境能够满足升级需求,进而可以从升级服务端下载待升级程序。下载结束时,可以运行下载完毕的待升级程序,从而完成物联网设备的升级任务。在升级完毕之后,可以重新运行至少一个应用程序,以使物联网设备重新正常运行。通过关闭至少部分应用程序以使物联网设备的系统能够正常下载待升级程序并完成升级任务,从而可以解决升级任务与主应用程序同时运行时导致的系统不稳定的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种物联网设备的程序升级方法的一个实施例的流程图;
图2为本发明实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图;
图3为本发明实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图;
图4为本发明实施例提供的一个物联网设备的升级示例图;
图5为本发明实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图;
图6为本发明实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图;
图7为本发明实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图;
图8为本发明实施例提供的一种物联网设备的程序升级装置的一个实施例的结构示意图;
图9为本发明实施例提供的一种物联网设备的一个实施例的结构示意图;
图10为本发明实施例提供的一种物联网设备的程序升级装置的一个实施例的结构示意图;
图11为本发明实施例提供的一种物联网设备的一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
本申请实施例可以应用于物联网设备中,通过对物联网设备中系统资源的占用情况进行分析,以提供能够正常升级的条件,使得升级能够及时完成,并及时恢复主应用程序的运行,从而避免出现下载升级导致的运行系统不稳定问题。
现有技术中,物联网设备的硬件资源、内存资源可能是一定的,通常内存资源比较小。在物联网设备至少一个应用程序运行的过程中,可以针对物联网设备中的程序进行升级,例如,应用程序的普通升级、版本的升级或者固件升级等等。在升级过程中,为了确保物联网设备与升级父亲端之间的网络连接的安全性以及可靠性,通常需要物联网设备与升级服务端通过安全的HTTPS(Hypertext transfer protocol Secure,超文本传输安全协议)下载待升级程序,也即是安装包。但是,由于HTTPS的下载升级过程中,需要增加证书交换以及握手验证的过程,对系统内存资源的消耗更大。因此,资源受限的物联网设备往往无法使用HTTPS进行下载升级。并且,在一些资源受限的物联网设备中如果同时进行应用程序的运行以及升级任务的下载时,由于资源受限,还容易出现物联网设备的操作系统不稳定的技术问题。为了解决上述技术问题,发明人提出了本申请的技术方案。
本申请实施例中,针对资源受限的物联网设备,可以在至少一个应用程序运行的过程中,检测设备管理服务端发送的升级触发消息,响应于该升级触发消息,可以基于至少一个应用程序的资源占用,关闭至少部分应用程序,以使得物联网设备系统中的资源能够执行升级任务。从升级服务端下载待升级程序之后,可以运行待升级程序,完成物联网设备的升级任务,之后,可以重新运行至少一个应用程序。此时,物联网设备完成升级任务,且在升级结束之后重新运行至少一个应用程序,以使物联网设备的系统恢复到稳定状态,从而可以解决升级任务与主应用程序同时运行时导致的系统不稳定的技术问题。
下面将结合附图对本申请实施例进行详细描述。
如图1所示,为本申请实施例提供的一种物联网设备的程序升级方法的一个实施例的流程图,所述方法可以包括以下几个步骤:
101:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息。
本申请实施例可以应用于物联网设备中,所述物联网设备可以指资源受限的电子设备,具体可以指内存资源小于设置的内存阈值的电子设备。
物联网设备在正常运行时,需要多个程序的支持,例如可以包括:引导程序(Bootloader)、OS(operating system、操作系统)、定时程序以及网络连接程序等,对于某些特定功能的物联网设备,例如,图像传感器、声音传感器等,还可以包括具有针对用户提供某些特定功能的应用程序,例如,展示图像的应用程序、为用户输出声音的应用程序等。
设备管理服务端可以用于提供计算服务的设备,例如可以是个人计算机、超级计算机、笔记本电脑等设备构成,还可以是云服务器构成,本申请实施例对所述设备管理服务端的具体类型不作出过多限定。
设备管理服务端是指用于对物联网设备进行管理的服务端,通常可以对物联网设备的服务请求进行响应,并进行处理,还可以对物联网设备中的应用程序进行管理控制。在一些实施例中,当物联网设备中的用户应用程序进行版本更新或者升级时,设备管理服务端可以由第三方服务器构成,该第三方服务器具体可以指开发该用户应用程序的开发者为这个用户应用程序设置的访问服务器。
设备管理服务端判断物联网设备存在升级需求时,可以发送升级触发消息至物联网设备。所述升级触发消息中可以包括待升级程序的程序名称以及下载地址等信息,通过升级触发消息可以确定下载地址,从而从升级服务端下载待升级程序。
所述至少一个应用程序可以指所述物联网设备中的主应用(MAIN APP Task)模块,主应用模块是指针对用户制定的具有特定应用目地的软件模块,通过主应用模块主要为用户可以在物联网设备上使用的程序,不包括物联网设备的操作系统、网络模块等。
102:响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序。
物联网设备中的至少一个应用程序在运行过程中会消耗该物联网设备的资源,其中,可以包括硬件资源或内存资源。由于物联网设备的资源较小,如果至少一个应用程序的资源占用较大,导致物联网设备的剩余资源较少,不能够及时进行升级,或者升级程序与至少一个应用程序的运行存在资源争夺现象。例如,假设物联网设备的内存资源为100K,而至少一个应用程序占用的资源为60K,剩余资源为40K,但是若升级任务需要60K的内存资源,由于剩余资源不够,不能完成升级,若升级任务需要38K的内存资源,在至少一个应用程序以及升级任务同时进行升级时需要使用98K的内存资源,可以进行任务升级,但是由于内存资源消耗过多,容易出现资源使用冲突,资源争抢等现象,导致物联网设备出现不稳定现象。
在响应升级触发消息之后,可以开始启动升级。此时可以基于至少一个应用程序的资源占用,关闭至少部分应用程序,通过至少部分应用程序的关闭,可以使得物联网设备中的部分资源被解除占用,提高了可应用资源的供应量,物联网设备即可以在关闭了至少部分应用程序的基础上进行升级。
103:从升级服务端下载待升级程序。
可选地,所述响应升级触发消息中可以包括待升级程序的下载地址,可以基于待升级程序的下载地址,从服务端下载待升级程序。
可选地,所述响应升级触发消息中可以包括待升级程序的下载提示信息,物联网设备可以根据响应升级触发消息中的下载提示信息,确定待升级程序的下载地址,从而基于下载地址,从升级服务端下载待升级程序。
在一些实施例中,所述从升级服务端下载待升级程序具体可以是:基于下载地址,向所述下载地址对应的升级服务端发送下载请求,基于所述下载请求建立与所述升级服务端的握手连接,连接完成,根据已建立的握手连接,与所述升级服务端交换证书之后,可以从升级服务端下载待升级程序。
104:运行所述待升级程序,完成所述物联网设备的升级任务。
物联网设备在下载待升级程序之后,可以启动该待升级程序,以完成所述物联网设备的升级任务。
105:重新运行所述至少一个应用程序。
所述重新运行所述至少一个应用程序可以包括重新启动被关闭的至少部分应用程序,以重新运行至少一个应用程序。
本申请实施例中,通过针对资源受限的物联网设备,可以在至少一个应用程序运行的过程中,检测设备管理服务端发送的升级触发消息,响应于该升级触发消息,可以基于至少一个应用程序的资源占用,关闭至少部分应用程序,以使得物联网设备系统中的资源能够执行升级任务。从升级服务端下载待升级程序之后,可以运行该待升级程序,完成物联网设备的升级任务,之后,可以重新运行至少一个应用程序。此时,物联网设备完成升级任务,且在升级结束之后重新运行至少一个应用程序,以使物联网设备的系统恢复到稳定状态,从而可以解决升级任务与主应用程序同时运行时导致的系统不稳定的技术问题。
为了解决下载任务与至少一个应用程序同时运行产生的资源冲突问题,可以关闭所有应用程序,增加系统中的可利用资源,从而确保程序升级能够正常完成。作为一个实施例,所述响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序可以包括:
响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序。
为了确保下载的安全性,所述从升级服务端下载待升级程序可以包括:
基于超文本传输安全协议,从升级服务端下载待升级程序。
所述超文本传输安全协议由于需要资源较多,在未关闭至少部分应用程序时,不可以使用或者受资源限制影响而使用效果不佳,本申请中通过关闭至少部分应用程序可以使得超文本传输安全协议得以使用,以提高下载的安全性,从而提高升级任务的安全性。
如图2所示,为本申请实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图,所述方法可以包括以下几个步骤:
201:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息。
本申请实施例中的部分步骤的处理过程与图1所示的实施例中的部分内容相同,在此不再赘述。
202:响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序。
203:切换所述物联网设备至下载模式,以从升级服务端下载待升级程序。
作为一种可能的实现方式,可以通过执行模式指令,以切换物联网设备至下载模式,从升级服务端下载待升级程序。
切换物联网设备至下载模式时,需要物联网设备不处于升级模式。因此,所述切换所述物联网设备至下载模式时,还可以包括:设置升级标志位为第一标志,重启所述物联网设备,检测所述升级标志位为第一标志时,确定物理网设备切换至下载模式,以从升级服务端下载待升级程序。
204:检测所述待升级程序下载完成时,切换所述物联网设备至升级模式。
检测所述待升级程序完成具体可以是检测所述待升级程序接收到所述升级服务端发送的结束指令,即可以确定所述待升级程序下载完成。
切换所述物联网设备至升级模式具体可以包括:检测所述待升级程序下载完成时,设置升级标志位为第二标志,重启物联网设备,并检测所述升级标志位为第二标志时,确定物联网设备切换至升级模式。
在检测所述待升级程序下载完成时,切换所述物联网设备至升级模式具体可以包括在检测所述待升级程序下载完成时,清除所述下载模式,并切换所述物联网设备至升级模式。
205:检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务。
所述物联网处理升级模式时,也即检测到升级标志位为第二标志时,可以运行待升级程序,完成所述物联网设备的升级任务。
升级标志位可以指用于标识升级模式的变量,通过升级标志位的设置可以判断当前是否可以对物联网设备的程序进行升级。例如,所述升级标志位可以通过表示为整型变量flag(标志),为flag设置的第一标志具体可以指flag等于0;为flag设置的第二标志具体可以指flag等于1。在升级标志位为第一标志时,未处于升级状态,不执行物联网设备的待升级程序。在升级标志位为第二标志时,执行对物联网设备的升级程序,完成对物联网设备的升级。
206:重新运行所述至少一个应用程序。
本申请实施例中,通过设置下载模式,以使得物联网设备可以明确当前运行环境,从而根据当前运行环境,下载待升级程序,下载成功之后可以切换所述物联网设备至升级模式,检测所述物联网设备处于升级模式时,可以运行待升级程序,完成所述物联网设备的升级任务。在这一过程中,通过模式的作用可以明确执行的内容,以提高升级效率。
作为一个实施例,所述切换所述物联网设备至下载模式,以从升级服务端下载待升级程序可以包括:
设置所述物联网设备为下载模式并重启所述物联网设备,以切换所述物联网设备至下载模式。
检测升级标志位为第一标志时,从升级服务端下载待升级程序。
物联网设备中下载模式的开启之后,可以通过重启的方式,使物联网设备由正常运行模式切换至下载模式,重启之后,处于下载模式的物联网设备即可以开始下载待升级程序。在下载模式下,升级标志位为第一标志时,可以从升级服务端下载待升级程序。由于采用重启的方式,物联网设备中的应用程序关闭,将应用程序与下载过程进行了隔离,以确保下载效率。
由于物联网设备的至少一个应用程序中按照启动顺序的先后顺序排列,具体可以包括:启动程序、操作系统、网络模块、用户应用程序等。不同的应用程序具备不同的功能。而启动程序是为了将至少一个应用程序与升级任务完全隔离以执行,可以启动阶段将升级任务与至少一个应用程序在物联网设备进行隔离。
作为一种可能的实现方式,所述检测升级标志位为第一标志时,从升级服务端下载待升级程序可以包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序。
本申请实施例中,在物联网设备启动引导程序之后,即可以开始进行待升级程序的下载,以使得物联网设备能够在引导程序启动其他程序不启动的情况下即可以开始进行待升级程序的下载,以实现升级任务与用户应用、操作系统等程序的隔离,在升级结束之后,再启动物联网设备的至少一个应用程序即可,从而确保应用程序的正常运行,以避免出现因下载任务以及用户应用同时执行产生资源争夺而导致系统运行不稳定、升级任务不稳定的问题。
进一步,可选地,所述在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序可以包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,运行所述物联网设备的操作系统单元。
检测与所述升级服务端的网络连接已完成时,检测所述物联网设备为下载模式时,从所述升级服务端下载待升级程序。
在检测升级标志位为第一标志时,可以启动待升级服务的下载任务,此时即可以进入操作系统的启动、网络连接成功时,即可以开始进行程序下载。
作为一种可能的实现方式,所述检测所述待升级程序下载完成时,切换所述物联网设备至升级模式可以包括:
检测所述待升级程序下载完成时,清除所述下载模式并设置升级标志位为第二标志;
重启所述物联网设备;
检测所述升级标志位为第二标志时,确认切换至升级模式。
在物联网设备进入升级模式之后,可以运行所述待升级程序,完成所述物联网设备的升级任务。
进一步,可选地,所述检测所述升级标志位为第二标志时,确认切换至升级模式包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第二标志时,确认切换至升级模式。
在某些实施例中,所述检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务之后,所述方法还可以包括:
设置所述升级标志位为第一标志。
作为一个实施例,所述重新运行所述至少一个应用程序可以包括:
重启所述物联网设备,以重新运行所述至少一个应用程序。
在某些实施例中,所述重启所述物联网设备,以重新运行所述至少一个应用程序可以包括:
运行重启指令,启动引导程序;
检测升级标志位为第一标志时,启动操作系统并建立网络连接;
检测未处于下载模式时,启动所述至少一个应用程序。
本申请中所述的重启物联网设备具体可以指运行重启(Reboot)指令,以重启所述物联网设备。
如图3所示,为本申请实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图,所述方法可以包括以下几个步骤:
301:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息。
302:响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序。
303:设置所述物联网设备为下载模式并重启,以切换所述物联网设备至下载模式;
304:在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,运行所述物联网设备的操作系统单元。
305:检测与所述升级服务端的网络连接已完成时,检测所述物联网设备为下载模式时,启动监控任务,从所述升级服务端下载待升级程序并利用所述监控任务监控所述待升级程序的下载过程。
在从升级服务端下载待升级程序时可以基于超文本传输安全协议,从升级服务端下载待升级程序,以确保下载的安全性。
306:检测所述待升级程序下载完成时,清除所述下载模式并设置升级标志位为第二标志;
307:重启所述物联网设备。
308:在所述物联网设备的引导程序启动时,检测所述升级标志位为第二标志时,确认切换至升级模式。
309:检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务。
310:设置所述升级标志位为第一标志。
311:重启所述物联网设备,以重新运行所述至少一个应用程序。
所述重启所述物联网设备,以重启运行所述至少一个应用程序可以包括:
重启所述物联网设备,启动引导程序;检测所述升级标志位为第一标志时,启动操作系统并建立网络连接;检测未处于下载模式时,启动所述至少一个应用程序。
本申请实施例中的部分步骤的处理过程与图1~图2中所示的实施例中的部分内容相同,在此不再赘述。
本申请实施例中,物联网设备的升级整体分为了三个阶段,第一阶段,在物联网设备至少一个应用程序正常运行的过程中,可以检测到设备管理服务端发送的升级触发消息,此时物联网设备可以响应于该升级触发消息,基于至少一个应用程序的资源占用,关闭所有应用程序,进而可以将物联网设备设置为下载模式,并重新启动,此时,即可以切换物联网设备至下载模式,进行待升级程序的下载。在物联网设备重启之后,引导程序先启动,启动结束时,物联网设备即可以开始进入启动阶段,通过对升级标志位的检测可以在确定升级标志位为第一标志时,启动物联网设备的操作系统单元,并在操作系统启动完毕时,建立物联网设备与升级服务端的连接,从而完成下载环境的搭建。在下载过程中,可以启动监控任务,在从升级服务端下载待升级程序时,利用监控任务监控待升级程序的下载过程,从而可以在检测待升级程序下载完成时,清除下载模式,并设置升级标志位为第二标志。此时待升级程序经过模式切换、重启设备、搭载下载环境之后完成待升级程序的下载工作。第二阶段,在将升级标志位设置为第二标志之后,即完成待升级程序的下载工作,可以开始执行待升级程序的安装工作,此时,可以重启物联网设备,并在所述物联网设备的引导程序启动之后,检测升级标志位。当检测到升级标志位为第二标志时,说明此时物联网设备已切换至升级模式,在升级模式下,即可以开始运行待升级程序,完成物联网设备的升级任务,此时即完成待升级程序的安装工作。第三阶段,物联网设备在安装待升级程序之后,可以设置升级标志位为第一标志,将其切换为正常的工作模式,此时,重启所述物联网设备,即可以重新运行至少一个应用程序,完成整个物联网设备的升级。在这一升级过程中,由于物联网设备的下载过程以及安装过程均未有应用程序参与运行,可以使得物联网设备能够单独处理待升级程序的下载以及安装,之后再正常运行至少一个应用程序,避免出现应用程序的运行与下载以及安装过程出现资源冲突,提高了系统的稳定性。
为了便于理解,以所述物联网设备为智能音箱为例对本申请实施例进行详细说明。图4中的智能音箱M1可以与设备管理服务端M2建立通信连接,还可以与升级服务端M3建立通信连接。所述智能音箱M1可以在正常工作过程中可以正常运行至少一个应用程序。设备管理服务端M2可以发送401升级触发消息至智能音箱M1。在至少一个应用程序的运行过程中,智能音箱M1可以检测402设备管理服务端M2发送的升级触发消息。
智能音箱M1可以响应于该升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序403。之后,智能音箱可以设置所述物联网设备为下载模式404,之后可以运行405重启指令(Reboot)。重启指令运行之后,引导程序(Bootloader)即开始启动406。智能音箱判断407升级标志位(Upgrade Flag)是第一标志时,启动408操作系统单元,建立409网络连接。网络连接成功(Network Ready)之后,检测410处于下载模式时,启动411监控任务(Monitor Task),从所述升级服务端M3下载412待升级程序并利用所述监控任务监控所述待升级程序的下载过程。检测所述待升级程序下载完成时,清除所述下载模式并设置升级标志位为第二标志413。
之后,智能音箱M1可以运行重启指令405,在执行引导程序启动406后,检测407所述升级标志位为第二标志时,确认切换至升级模式,从而在升级模式下,运行414所述待升级程序,完成所述物联网设备的升级任务。升级成功之后,可以清除升级标志位,也即将升级标志位设置为第一标志415。
之后,智能音箱M1可以重启所述物联网设备405,执行406启动引导程序;执行407检测所述升级标志位为第一标志时,以及执行步骤408启动操作系统并409建立网络连接;410检测未处于下载模式时,启动所述至少一个应用程序417。
如图5所示,为本申请实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图,所述方法可以包括以下几个步骤:
501:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息。
502:响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应的占用阈值,关闭至少部分应用程序。
作为一种可能的实现方式,所述占用阈值可以通过以下方式确定:
基于所述升级触发消息,确定所述升级触发消息运行时所需的目标资源;
利用所述目标资源以及所述物联网设备的总资源,确定所述占用阈值。
可选地,所述利用所述目标资源以及所述物联网设备的总资源,确定所述占用阈值可以包括:计算所述目标资源与所述物联网设备的总资源的比值,获得升级任务的占用比例,计算整数1与升级任务的占用比例的差,获得所述占用阈值。所述响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应占用阈值,关闭至少部分应用程序包括:响应于所述升级触发消息,如果所述至少一个应用程序的资源占用与物联网设备的总资源的比例大于相对应的占用阈值,关闭至少部分应用程序。
在某些实施例中,所述响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应的占用阈值,关闭至少部分应用程序可以包括:响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应的占用阈值,基于所述占用阈值,重新确定所述至少一个应用程序的可占用资源;关闭至少部分应用程序,以使得至少一个应用程序中的剩余应用程序占用的资源小于所述可占用资源。
503:从升级服务端下载待升级程序。
504:运行所述待升级程序,完成所述物联网设备的升级任务。
505:重新运行所述至少一个应用程序。
本申请实施例中的部分步骤的处理过程与图1~图3所示的实施例中的部分内容相同,在此不再赘述。
本申请实施例中,在至少一个应用程序运行过程中,可以检测设备管理服务端发送的升级触发消息。之后,可以响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于占用阈值,可以关闭至少部分应用程序。通过关闭至少部分应用程序可以将物联网设备中的部分被占用的资源解除占用,从而可以使物联网设备的资源可以完成待升级程序且不影响剩余部分的应用程序的稳定运行。
如图6所示,为本申请实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图,所述方法可以包括以下几个步骤:
601:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息。
602:确定与所述升级触发消息对应升级任务的升级类型。
其中,所述升级类型包括全量升级或增量升级。
603:如果所述升级类型为全量升级,解除所述至少一个应用程序的资源占用,以关闭所述至少一个应用程序。之后,执行步骤606。
604:如果所述升级类型为增量升级,确定与所述增量升级相匹配的目标资源。
605:根据所述至少一个应用程序的资源占用以及所述目标资源,解除至少部分应用程序的资源占用,以使所述物联网设备中剩余资源满足所述目标资源的需求。之后,执行步骤606。
可选地,所述根据所述至少一个应用程序的资源占用以及所述目标资源,解除至少部分应用程序的资源占用,以使所述物联网设备中剩余资源满足所述目标资源的需求可以包括:根据所述物联网设备的总资源,以及所述目标资源,计算所述物联网设备中应用程序的可占用资源;解除所述至少一个应用程序中至少部分应用程序占用的资源,以使所述至少一个应用程序中的剩余存在的资源占用小于所述可占用资源。
在某些实施例中,可以对至少一个应用程序分别设置各自的运行级别,在关闭至少部分应用程序时,可以按照每个应用程序的运行级别,按照从低到高的顺序关闭对应的应用程序,直至物联网设备的剩余资源满足升级任务的资源需求。例如,第一应用程序的运行级别为一级,第二应用程序的运行级别为二级,一级应用程序的运行级别大于二级应用程序,可以按照二级应用程序运行级别低于一级应用程序运行级别的关闭规则,先关闭第二应用程序,如果物联网设备中的剩余资源满足升级任务的资源需求不再关闭第一应用程序,即可以开始执行下载任务;如果物联网设备中的剩余资源不满足升级任务的资源需求,需要关闭第一应用程序,直至物联网设备中的剩余资源满足升级任务的资源需求。
606:从升级服务端下载待升级程序。
607:运行所述待升级程序,完成所述物联网设备的升级任务。
608:重新运行所述至少一个应用程序。
本申请实施例中的部分步骤的处理过程与图1~图3所示的实施例中的部分内容相同,在此不再赘述。
本申请实施例中,在物联网设备的至少一个应用程序的运行过程中,可以检测设备管理服务器发送的升级触发消息,通过升级触发消息可以确定其对应升级任务的升级类型,所述升级类型可以包括全量升级以及增量升级。对于全量升级可能对物联网设备的资源要求较高,因此,可以采用关闭所有应用程序的方式以执行升级任务,而对于增量升级而言,对物联网设备的资源要求较低,因此,可以采用关闭部分升级资源的方式以执行升级任务。对于不同类型的升级任务采用不同的关闭方式,升级过程较为灵活可以减少关闭所有应用程序的次数,以保持物联网设备的可运行状态,使得其能够维持较高的工作效率。
如图7所示,为本申请实施例提供的一种物联网设备的程序升级方法的又一个实施例的流程图,所述方法可以包括以下几个步骤:
701:在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
702:判断当前运行的应用程序的资源占用是否满足升级条件。
可选地,所述判断当前运行的应用程序的资源占用是否满足升级条件可以包括判断当前运行的应用程序的资源占用是否小于对应的占用阈值。
其中,所述占用阈值为基于所述升级触发消息对应的升级任务所需的资源而确定。所述占用阈值具体可以通过:基于所述升级触发消息,确定所述升级触发消息运行时所需的目标资源;利用所述目标资源以及所述物联网设备的总资源,确定所述占用阈值。
可选地,所述利用所述目标资源以及所述物联网设备的总资源,确定所述占用阈值可以包括:计算所述目标资源与所述物联网设备的总资源的比值,获得升级任务的占用比例,计算整数1与升级任务的占用比例的差,获得所述占用阈值。
703:如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务。
704:如果不满足,返回步骤702。
本申请实施例中的部分步骤的处理过程与图1~图3所示的实施例中的部分内容相同,在此不再赘述。
本申请实施例中,在物联网设备的至少一个应用程序的运行过程中,可以检测设备管理服务器发送的升级触发消息。之后,可以判断当前运行的应用程序是否满足升级条件,如果满足,可以从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务,如果不满足可以返回至判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行,直至当前运行的应用程序的资源占用满足升级条件。对当前运行的应用程序的资源占用是否满足升级条件的角度出发,对物联网设备的资源环境进行了监控,从而在达到升级条件时,执行升级任务。避免了在物联网设备资源环境较差时的升级而引发系统不稳定的现象,提高了升级的稳定性以及有效性。
为了提高监控的准确性以及有效性,可以按照一定的监控频率对物联网设备的资源占用情况进行监控,作为一个实施例,所述判断当前运行的应用程序的资源占用是否满足升级条件可以包括:
基于预设监控频率,判断当前运行的应用程序的资源占用是否满足升级条件。
可选地,所述基于预设监控频率,判断当前运行的应用程序的资源占用是否满足升级条件可以包括:基于预设监控频率,确定每次监控对应的监控时间;在达到任一监控时间时,判断当前运行的应用程序的资源占用是否满足升级条件。
在一些实施例中,在当前运行的应用程序的资源占用不满足升级条件时,可以关闭至少部分应用程序,以使得当前运行的应用程序的资源占用满足升级条件,从而实现升级。所述如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行可以包括:
如果不满足,基于当前运行的应用程序的资源占用,关闭至少部分应用程序;返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
通过关闭当前运行至少部分应用程序以使关闭后剩余应用程序的资源展示满足升级条件,从而可以实现升级。
进一步,可选地,所述基于当前运行的应用程序的资源占用,关闭至少部分应用程序具体可以是:
解除当前运行的应用程序中至少部分应用程序占用的资源。
作为一种可能的实现方式,具体还可以是:确定升级任务所需的目标资源;根据所述物联网设备的总资源,以及所述目标资源,计算所述物联网设备中应用程序的可占用资源;解除当前运行应用程序中至少部分应用程序的资源占用,以使剩余应用程序的资源占用小于所述可占用资源。
如图8所示,为本申请实施例提供的一种物联网设备的程序升级装置的一个实施例的结构示意图,所述装置可以包括:
消息检测模块801,用于在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息。
消息响应模块802,用于响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序。
程序下载模块803,用于从升级服务端下载待升级程序。
程序升级模块804,用于运行所述待升级程序,完成所述物联网设备的升级任务。
程序运行模块805,用于重新运行所述至少一个应用程序。
本申请实施例中,通过针对资源受限的物联网设备,可以在至少一个应用程序运行的过程中,检测设备管理服务端发送的升级触发消息,响应于该升级触发消息,可以基于至少一个应用程序的资源占用,关闭至少部分应用程序,以使得物联网设备系统中的资源能够执行升级任务。从升级服务端下载待升级程序之后,可以运行该待升级程序,完成物联网设备的升级任务,之后,可以重新运行至少一个应用程序。此时,物联网设备完成升级任务,且在升级结束之后重新运行至少一个应用程序,以使物联网设备的系统恢复到稳定状态,从而可以解决升级任务与主应用程序同时运行时导致的系统不稳定的技术问题。
作为一个实施例,所述消息响应模块可以包括:
第一响应单元,用于响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序。
在某些实施例中,所述程序下载模块可以包括:
模式切换单元,用于切换所述物联网设备至下载模式,以从升级服务端下载待升级程序;
所述装置还包括:
升级切换模块,用于检测所述待升级程序下载完成时,切换所述物联网设备至升级模式;
所述程序升级模块可以包括:
第一升级单元,用于检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务。
作为一种可能的实现方式,所述模式切换单元包括:
第一处理子单元,用于设置所述物联网设备为下载模式并重启所述物联网设备,以切换所述物联网设备至下载模式;
第二处理子单元,用于检测升级标志位为第一标志时,从升级服务端下载待升级程序。
在某些实施例中,所第二处理子单元可以包括:
第一下载模块,用于在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序。
进一步,可选地,所述第一下载模块可以包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,运行所述物联网设备的操作系统单元;
检测与所述升级服务端的网络连接已完成时,检测所述物联网设备为下载模式时,从所述升级服务端下载待升级程序。
作为又一种可能的实现方式,所述升级切换模块包括:
标志清除单元,用于检测所述待升级程序下载完成时,清除所述下载模式并设置升级标志位为第二标志;
第一重启单元,用于重启所述物联网设备;
第一切换单元,用于检测所述升级标志位为第二标志时,确认切换至升级模式。
在某些实施例中,所述第一切换单元可以包括:
第三处理子单元,用于在所述物联网设备的引导程序启动时,检测所述升级标志位为第二标志时,确认切换至升级模式。
在某些实施例中,所述装置还可以包括:
标志设置模块,用于设置所述升级标志位为第一标志。
作为一种可能的实现方式,所述程序运行模块包括:
第二重启单元,用于重启所述物联网设备,以重新运行所述至少一个应用程序。
进一步,可选地,所述第二重启单元可以包括:
第二重启子单元,用于运行重启指令,启动引导程序;
第四处理子单元,用于检测升级标志位为第一标志时,启动操作系统并建立网络连接;
程序启动子单元,用于检测未处于下载模式时,启动所述至少一个应用程序。
作为一个实施例,所述消息响应模块可以包括:
第二响应单元,用于响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应的占用阈值,关闭至少部分应用程序。
作为又一个实施例,所述消息响应模块包括:
类型确定单元,用于确定与所述升级触发消息对应升级任务的升级类型;其中,所述升级类型包括全量升级或增量升级;
第二升级单元,用于如果所述升级类型为全量升级,解除所述至少一个应用程序的资源占用,以关闭所述至少一个应用程序;
第三升级单元,用于如果所述升级类型为增量升级,确定与所述增量升级相匹配的目标资源;根据所述至少一个应用程序的资源占用以及所述目标资源,解除至少部分应用程序的资源占用,以使所述物联网设备中剩余资源满足所述目标资源的需求。
作为一个实施例,所述程序下载模块可以包括:
协议传输单元,用于基于超文本传输安全协议,从升级服务端下载待升级程序。
作为又一个实施例,所述装置还包括:
任务监控模块,用于启动下载监控任务,利用所述下载监控任务监控所述待升级程序的下载过程。
图8所述的物联网设备的程序升级装置可以执行图1~图6所示实施例所述的物联网设备的程序升级方法,其实现原理和技术效果不再赘述。对于上述实施例中的程序升级装置其中的各个模块、单元、子单元所执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令存储有计算机指令,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器上述实施例中执行的任一个实施例中图1~图6所述的物联网设备的程序升级方法。
在实际应用中,图8所示的装置可以配置为一物联网设备,如图9所示,为本申请实施例提供的一种物联网设备的结构示意图,所述设备可以包括:
存储组件901与处理组件902;所述存储组件901用于存储一条或多条计算机指令;所述一条或多条计算机指令被所述处理组件902调用;
所述处理组件902用于:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;重新运行所述至少一个应用程序。
本申请实施例中,通过针对资源受限的物联网设备,可以在至少一个应用程序运行的过程中,检测设备管理服务端发送的升级触发消息,响应于该升级触发消息,可以基于至少一个应用程序的资源占用,关闭至少部分应用程序,以使得物联网设备系统中的资源能够执行升级任务。从升级服务端下载待升级程序之后,可以运行该待升级程序,完成物联网设备的升级任务,之后,可以重新运行至少一个应用程序。此时,物联网设备完成升级任务,且在升级结束之后重新运行至少一个应用程序,以使物联网设备的系统恢复到稳定状态,从而可以解决升级任务与主应用程序同时运行时导致的系统不稳定的技术问题。
作为一个实施例,所述处理组件响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序具体可以是:
响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序。
在某些实施例中,所述处理组件从升级服务端下载待升级程序具体可以是:
切换所述物联网设备至下载模式,以从升级服务端下载待升级程序;
所述处理组件运行所述待升级程序,完成所述物联网设备的升级任务之前,还具体可以是:
检测所述待升级程序下载完成时,切换所述物联网设备至升级模式;
所述处理组件运行所述待升级程序,完成所述物联网设备的升级任务具体可以是:
检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务。
作为一种可能的实现方式,所述处理组件切换所述物联网设备至下载模式,以从升级服务端下载待升级程序具体可以是:
设置所述物联网设备为下载模式并重启所述物联网设备,以切换所述物联网设备至下载模式;
检测升级标志位为第一标志时,从升级服务端下载待升级程序。
在一种可能的设计中,所述处理组件检测升级标志位为第一标志时,从升级服务端下载待升级程序具体可以是:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序。
进一步,可选地,所述处理组件在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序具体可以是:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,运行所述物联网设备的操作系统单元;
检测与所述升级服务端的网络连接已完成时,检测所述物联网设备为下载模式时,从所述升级服务端下载待升级程序。
作为又一种可能的实现方式,所述处理组件检测所述待升级程序下载完成时,切换所述物联网设备至升级模式具体可以是:
检测所述待升级程序下载完成时,清除所述下载模式并设置升级标志位为第二标志;
重启所述物联网设备;
检测所述升级标志位为第二标志时,确认切换至升级模式。
在一种可能的设计中,所述处理组件检测所述升级标志位为第二标志时,确认切换至升级模式具体可以是:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第二标志时,确认切换至升级模式。
进一步,可选地,所述处理组件检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务之后,还具体可以是:
设置所述升级标志位为第一标志。
在某些实施例中,所述处理组件重新运行所述至少一个应用程序具体可以是:
重启所述物联网设备,以重新运行所述至少一个应用程序。
在一种可能的设计中,所述处理组件重启所述物联网设备,以重新运行所述至少一个应用程序具体可以是:
运行重启指令,启动引导程序;
检测升级标志位为第一标志时,启动操作系统并建立网络连接;
检测未处于下载模式时,启动所述至少一个应用程序。
作为又一个实施例,所述处理组件响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序具体可以是:
响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应的占用阈值,关闭至少部分应用程序。
作为又一个实施例,所述处理组件响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序具体可以是:
确定与所述升级触发消息对应升级任务的升级类型;其中,所述升级类型包括全量升级或增量升级;
如果所述升级类型为全量升级,解除所述至少一个应用程序的资源占用,以关闭所述至少一个应用程序;
如果所述升级类型为增量升级,确定与所述增量升级相匹配的目标资源;根据所述至少一个应用程序的资源占用以及所述目标资源,解除至少部分应用程序的资源占用,以使所述物联网设备中剩余资源满足所述目标资源的需求。
作为又一个实施例,所述从升级服务端下载待升级程序具体可以是:
基于超文本传输安全协议,从升级服务端下载待升级程序。
作为又一个实施例,所述处理组件从升级服务端下载待升级程序之前,具体可以是:
启动下载监控任务,利用所述下载监控任务监控所述待升级程序的下载过程。
图9所述的物联网设备可以执行图1~图6所示实施例所述的物联网设备的程序升级方法,其实现原理和技术效果不再赘述。对于上述实施例中的物联网设备其中的处理组件所执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图10所示,为本申请实施例提供的一种物联网设备的程序升级装置的一个实施例的结构示意图,所述装置可以包括:
消息检测模块1001,用于在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
条件判断模块1002,用于判断当前运行的应用程序的资源占用是否满足升级条件;
第一处理模块1003,用于如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;
第二处理模块1004,用于如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
作为一个实施例,所述条件判断模块可以包括:
条件判断单元,用于基于预设监控频率,判断当前运行的应用程序的资源占用是否满足升级条件。
作为又一个实施例,在当前运行的应用程序的资源占用不满足升级条件时,可以关闭至少部分应用程序,以使得当前运行的应用程序的资源占用满足升级条件,从而实现升级。所述第二处理模块可以包括:
资源处理单元,用于如果不满足,基于当前运行的应用程序的资源占用,关闭至少部分应用程序;返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
通过关闭当前运行至少部分应用程序以使关闭后剩余应用程序的资源展示满足升级条件,从而可以实现升级。
图10所述的物联网设备的程序升级装置可以执行图7所示实施例所述的物联网设备的程序升级方法,其实现原理和技术效果不再赘述。对于上述实施例中的程序升级装置其中的各个模块、单元、子单元所执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令存储有计算机指令,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器上述实施例中执行的任一个实施例中图7所述的物联网设备的程序升级方法。
在实际应用中,图10所示的装置可以配置为一物联网设备,如图11所示,为本申请实施例提供的一种物联网设备的结构示意图,所述设备可以包括:存储组件1101与处理组件1102;所述存储组件1101用于存储一条或多条计算机指令;所述一条或多条计算机指令被所述处理组件1102调用;
所述处理组件1102用于:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;判断当前运行的应用程序的资源占用是否满足升级条件;如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
作为一个实施例,所述处理组件判断当前运行的应用程序的资源占用是否满足升级条件具体可以是:
基于预设监控频率,判断当前运行的应用程序的资源占用是否满足升级条件。
作为一个实施例,所述处理组件处理如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行具体可以是:
如果不满足,基于当前运行的应用程序的资源占用,关闭至少部分应用程序;返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
图11所述的物联网设备可以执行图7所示实施例所述的物联网设备的程序升级方法,其实现原理和技术效果不再赘述。对于上述实施例中的物联网设备其中的处理组件所执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例未详细描述的部分,可参考对图1~图7所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1~图7所示实施例中的描述,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和程序结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种物联网设备的程序升级方法,其特征在于,包括:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;
从升级服务端下载待升级程序;
运行所述待升级程序,完成所述物联网设备的升级任务;
重新运行所述至少一个应用程序。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序包括:
响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭所有应用程序。
3.根据权利要求2所述的方法,其特征在于,所述从升级服务端下载待升级程序包括:
切换所述物联网设备至下载模式,以从升级服务端下载待升级程序;
所述运行所述待升级程序,完成所述物联网设备的升级任务之前,还包括:
检测所述待升级程序下载完成时,切换所述物联网设备至升级模式;
所述运行所述待升级程序,完成所述物联网设备的升级任务包括:
检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务。
4.根据权利要求3所述的方法,其特征在于,所述切换所述物联网设备至下载模式,以从升级服务端下载待升级程序包括:
设置所述物联网设备为下载模式并重启所述物联网设备,以切换所述物联网设备至下载模式;
检测升级标志位为第一标志时,从升级服务端下载待升级程序。
5.根据权利要求4所述的方法,其特征在于,所述检测升级标志位为第一标志时,从升级服务端下载待升级程序包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序。
6.根据权利要求5所述的方法,其特征在于,所述在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,从升级服务端下载待升级程序包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第一标志时,运行所述物联网设备的操作系统单元;
检测与所述升级服务端的网络连接已完成时,检测所述物联网设备为下载模式时,从所述升级服务端下载待升级程序。
7.根据权利要求3所述的方法,其特征在于,所述检测所述待升级程序下载完成时,切换所述物联网设备至升级模式包括:
检测所述待升级程序下载完成时,清除所述下载模式并设置升级标志位为第二标志;
重启所述物联网设备;
检测所述升级标志位为第二标志时,确认切换至升级模式。
8.根据权利要求7所述的方法,其特征在于,所述检测所述升级标志位为第二标志时,确认切换至升级模式包括:
在所述物联网设备的引导程序启动时,检测所述升级标志位为第二标志时,确认切换至升级模式。
9.根据权利要求7所述的方法,其特征在于,所述检测所述物联网设备处于升级模式时,运行所述待升级程序,完成所述物联网设备的升级任务之后,还包括:
设置所述升级标志位为第一标志。
10.根据权利要求4所述的方法,其特征在于,所述重新运行所述至少一个应用程序包括:
重启所述物联网设备,以重新运行所述至少一个应用程序。
11.根据权利要求10所述的方法,其特征在于,所述重启所述物联网设备,以重新运行所述至少一个应用程序包括:
运行重启指令,启动引导程序;
检测升级标志位为第一标志时,启动操作系统并建立网络连接;
检测未处于下载模式时,启动所述至少一个应用程序。
12.根据权利要求1所述的方法,其特征在于,所述响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序包括:
响应于所述升级触发消息,如果所述至少一个应用程序的资源占用大于相对应的占用阈值,关闭至少部分应用程序。
13.根据权利要求1所述的方法,其特征在于,所述响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序包括:
确定与所述升级触发消息对应升级任务的升级类型;其中,所述升级类型包括全量升级或增量升级;
如果所述升级类型为全量升级,解除所述至少一个应用程序的资源占用,以关闭所述至少一个应用程序;
如果所述升级类型为增量升级,确定与所述增量升级相匹配的目标资源;根据所述至少一个应用程序的资源占用以及所述目标资源,解除至少部分应用程序的资源占用,以使所述物联网设备中剩余资源满足所述目标资源的需求。
14.根据权利要求1所述的方法,其特征在于,所述从升级服务端下载待升级程序包括:
基于超文本传输安全协议,从升级服务端下载待升级程序。
15.根据权利要求1所述的方法,其特征在于,所述从升级服务端下载待升级程序之前,还包括:
启动下载监控任务,利用所述下载监控任务监控所述待升级程序的下载过程。
16.一种物联网设备的程序升级方法,其特征在于,包括:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
判断当前运行的应用程序的资源占用是否满足升级条件;
如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;
如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
17.根据权利要求16所述的方法,其特征在于,所述判断当前运行的应用程序的资源占用是否满足升级条件包括:
基于预设监控频率,判断当前运行的应用程序的资源占用是否满足升级条件。
18.根据权利要求16所述的方法,其特征在于,所述如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行包括:
如果不满足,基于当前运行的应用程序的资源占用,关闭至少部分应用程序;返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
19.一种物联网设备的程序升级装置,其特征在于,包括:
消息检测模块,用于在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
消息响应模块,用于响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;
程序下载模块,用于从升级服务端下载待升级程序;
程序升级模块,用于运行所述待升级程序,完成所述物联网设备的升级任务;
程序运行模块,用于重新运行所述至少一个应用程序。
20.一种物联网设备的程序升级装置,其特征在于,包括:
消息检测模块,用于在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;
条件判断模块,用于判断当前运行的应用程序的资源占用是否满足升级条件;
第一处理模块,用于如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;
第二处理模块,用于如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
21.一种物联网设备,其特征在于,包括:存储组件与处理组件;所述存储组件用于存储一条或多条计算机指令;所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;响应于所述升级触发消息,基于所述至少一个应用程序的资源占用,关闭至少部分应用程序;从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;重新运行所述至少一个应用程序。
22.一种物联网设备,其特征在于,包括:存储组件与处理组件;所述存储组件用于存储一条或多条计算机指令;所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
在至少一个应用程序的运行过程中,检测设备管理服务端发送的升级触发消息;判断当前运行的应用程序的资源占用是否满足升级条件;如果满足,从升级服务端下载待升级程序;运行所述待升级程序,完成所述物联网设备的升级任务;如果不满足,返回至所述判断当前运行的应用程序的资源占用是否满足升级条件的步骤继续执行。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910926491.5A CN112579114A (zh) | 2019-09-27 | 2019-09-27 | 物联网设备的程序升级方法、装置及物联网设备 |
TW109118082A TW202113587A (zh) | 2019-09-27 | 2020-05-29 | 物聯網設備的程式升級方法、裝置及物聯網設備 |
PCT/CN2020/117622 WO2021057880A1 (zh) | 2019-09-27 | 2020-09-25 | 物联网设备的程序升级方法、装置及物联网设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910926491.5A CN112579114A (zh) | 2019-09-27 | 2019-09-27 | 物联网设备的程序升级方法、装置及物联网设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579114A true CN112579114A (zh) | 2021-03-30 |
Family
ID=75110054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910926491.5A Pending CN112579114A (zh) | 2019-09-27 | 2019-09-27 | 物联网设备的程序升级方法、装置及物联网设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN112579114A (zh) |
TW (1) | TW202113587A (zh) |
WO (1) | WO2021057880A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242288A (zh) * | 2021-05-06 | 2021-08-10 | 国家计算机网络与信息安全管理中心 | 一种物联网设备固件升级方法、系统、装置以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105756A (zh) * | 2007-08-21 | 2008-01-16 | 中兴通讯股份有限公司 | 多核终端的固件升级方法 |
CN104239111A (zh) * | 2014-09-30 | 2014-12-24 | 北京金山安全软件有限公司 | 应用程序的升级方法、装置及终端 |
CN105721941A (zh) * | 2016-01-18 | 2016-06-29 | 贵阳海信电子有限公司 | 云电视的空中下载升级控制方法和装置 |
CN106325929A (zh) * | 2016-08-22 | 2017-01-11 | 合肥华凌股份有限公司 | 一种固件升级方法、固件升级装置、冰箱和服务端 |
CN107992318A (zh) * | 2017-12-07 | 2018-05-04 | 北京趣拿软件科技有限公司 | 应用程序升级方法、装置、存储介质和处理器 |
CN110086885A (zh) * | 2019-05-10 | 2019-08-02 | 上海擎感智能科技有限公司 | 空间下载技术的升级包下载方法及装置、存储介质和终端 |
CN110221856A (zh) * | 2019-06-25 | 2019-09-10 | 努比亚技术有限公司 | 一种可穿戴设备升级方法、可穿戴设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530146B (zh) * | 2013-09-16 | 2016-09-07 | 成都交大光芒科技股份有限公司 | 低功耗嵌入式设备远程无线升级方法 |
CN106101835A (zh) * | 2016-07-05 | 2016-11-09 | 青岛海信电器股份有限公司 | 智能电视升级控制方法及装置 |
CN109445809A (zh) * | 2018-08-29 | 2019-03-08 | 交控科技股份有限公司 | 列车自动监控ats子系统软件自动升级方法及系统 |
CN109766109B (zh) * | 2018-12-17 | 2022-04-15 | 浙江创意声光电科技有限公司 | 照明控制器的客户端更新方法、装置及系统 |
-
2019
- 2019-09-27 CN CN201910926491.5A patent/CN112579114A/zh active Pending
-
2020
- 2020-05-29 TW TW109118082A patent/TW202113587A/zh unknown
- 2020-09-25 WO PCT/CN2020/117622 patent/WO2021057880A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105756A (zh) * | 2007-08-21 | 2008-01-16 | 中兴通讯股份有限公司 | 多核终端的固件升级方法 |
CN104239111A (zh) * | 2014-09-30 | 2014-12-24 | 北京金山安全软件有限公司 | 应用程序的升级方法、装置及终端 |
CN105721941A (zh) * | 2016-01-18 | 2016-06-29 | 贵阳海信电子有限公司 | 云电视的空中下载升级控制方法和装置 |
CN106325929A (zh) * | 2016-08-22 | 2017-01-11 | 合肥华凌股份有限公司 | 一种固件升级方法、固件升级装置、冰箱和服务端 |
CN107992318A (zh) * | 2017-12-07 | 2018-05-04 | 北京趣拿软件科技有限公司 | 应用程序升级方法、装置、存储介质和处理器 |
CN110086885A (zh) * | 2019-05-10 | 2019-08-02 | 上海擎感智能科技有限公司 | 空间下载技术的升级包下载方法及装置、存储介质和终端 |
CN110221856A (zh) * | 2019-06-25 | 2019-09-10 | 努比亚技术有限公司 | 一种可穿戴设备升级方法、可穿戴设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242288A (zh) * | 2021-05-06 | 2021-08-10 | 国家计算机网络与信息安全管理中心 | 一种物联网设备固件升级方法、系统、装置以及存储介质 |
CN113242288B (zh) * | 2021-05-06 | 2022-03-08 | 国家计算机网络与信息安全管理中心 | 一种物联网设备固件升级方法、系统、装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021057880A1 (zh) | 2021-04-01 |
TW202113587A (zh) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10002054B2 (en) | Method and system for performing automatic system recovery | |
KR20120052406A (ko) | 펌웨어 이미지 갱신 및 관리 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN107329792B (zh) | 一种Docker容器启动方法及装置 | |
CN106547645B (zh) | 自动修复映像档的方法及服务器系统 | |
CN113645262A (zh) | 云计算服务系统和方法 | |
CN110737453A (zh) | 安全芯片的升级方法、装置及安全芯片 | |
CN112527322A (zh) | 物联网设备中的系统升级方法、装置、设备及存储介质 | |
CN108459868A (zh) | 一种软件启动方法、装置、终端和存储介质 | |
CN112579114A (zh) | 物联网设备的程序升级方法、装置及物联网设备 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN113805933A (zh) | 机顶盒系统升级方法、装置、机顶盒、系统和存储介质 | |
EP2835737A1 (en) | Data terminal running mode switching method, device, and data terminal | |
CN111176671B (zh) | 系统自动连续更新的方法、移动终端和存储介质 | |
CN110308914B (zh) | 升级处理方法、装置、设备、系统及计算机可读存储介质 | |
CN106919423B (zh) | 一种固件升级方法及装置 | |
CN112286622A (zh) | 虚机迁移处理及策略生成方法、装置、设备及存储介质 | |
EP4086756A1 (en) | Method and apparatus for processing virtual machine component | |
CN114237722B (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN106789863B (zh) | 一种匹配规则升级方法及装置 | |
CN113467893B (zh) | 虚拟机自动化测试方法、装置、存储介质及处理器 | |
CN115495161A (zh) | Bios选项修改的生效方法和装置、存储介质 | |
CN112685063B (zh) | 特征库更新方法、装置、网络设备及可读存储介质 | |
CN103473081A (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 |