CN112732290B - 设备升级方法、装置、存储介质及电子装置 - Google Patents
设备升级方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112732290B CN112732290B CN202011589696.8A CN202011589696A CN112732290B CN 112732290 B CN112732290 B CN 112732290B CN 202011589696 A CN202011589696 A CN 202011589696A CN 112732290 B CN112732290 B CN 112732290B
- Authority
- CN
- China
- Prior art keywords
- container
- state
- upgrading
- upgrade
- determining
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 17
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 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/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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
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)
Abstract
本发明实施例提供了一种设备升级方法、装置、存储介质及电子装置,其中,该方法包括:在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与第一设备绑定的第一应用的第一容器是否具备执行升级操作的能力,第一容器具备对第一应用绑定的一个或多个设备进行升级的功能;在确定第一容器不具备执行升级操作的能力的情况下,调用第二容器执行升级操作,其中,第二容器中包括有用于对多个设备进行升级的通用组件,多个设备包括第一设备。通过本发明,解决了相关技术存在的通过应用升级设备时需要在重复开发容器的问题,达到利用通用组件即可实现设备升级的效果,减少了开发资源、降低了开发成本。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种设备升级方法、装置、存储介质及电子装置。
背景技术
在对设备在线升级时,针对不同的平台、不同的设备需要使用不同的开发技术来实现,webapp与Hybrid等技术的产生使web技术做跨平台开发变为当今主流技术,但要想在不同容器不同设备以及复杂环境下实现相对应的web逻辑,还需要针对每一种情况单独开发,这样会产生很大的工作量和复杂程序。传统的FOTA升级页面开发,都是由Android或者IOS开发者写原生的native页面来实现,但原生native开发成本高、通用性差,增加了开发的复杂度和工作量;后来webapp的出现也有的app中嵌入了不同类型的web容器,但不同容器之间无法公用组件,就需要各容器中单独开发自己的web页面。
在相关技术中,可以在app开发中嵌入适合自己产业的web容器,在容器中运行web页面,直接在各自web页面中实现一个按钮触发升级功能,再根据升级的状态有基本的步骤提示。然而,每个应用都独自开发自己的升级web页面,加大了多应用公用统一功能的开发工作量,而且各应用有新版本上线都会重新部署相同功能,耗时又费力,一旦公用部分需要修改逻辑则各应用都需要重新上线,增加整个app的运营成本。
由此可知,相关技术中存在通过应用升级设备时需要在重复开发容器的问题。
发明内容
本发明实施例提供了一种设备升级方法、装置、存储介质及电子装置,以至少解决相关技术存在的通过应用升级设备时需要在重复开发容器的问题。
根据本发明的一个实施例,提供了一种设备升级方法,包括:在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与所述第一设备绑定的第一应用的第一容器是否具备执行所述升级操作的能力,所述第一容器具备对所述第一应用绑定的一个或多个设备进行升级的功能;在确定所述第一容器不具备执行所述升级操作的能力的情况下,调用第二容器执行所述升级操作,其中,所述第二容器中包括有用于对多个设备进行升级的通用组件,所述多个设备包括所述第一设备。
根据本发明的另一个实施例,提供了一种设备升级装置,包括:判断模块,用于在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与所述第一设备绑定的第一应用的第一容器是否具备执行所述升级操作的能力,所述第一容器具备对所述第一应用绑定的一个或多个设备进行升级的功能;升级模块,在确定所述第一容器不具备执行所述升级操作的能力的情况下,调用第二容器执行所述升级操作,其中,所述第二容器中包括有用于对多个设备进行升级的通用组件,所述多个设备包括所述第一设备。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与第一设备绑定的第一应用的第一容器是否具有执行升级操作的能力,在确定第一容器不具有执行升级操作的能力的情况下,调用第二容器执行升级操作,由于第二容器中包括由对多个设备进行升级的通用组件,因此,在第一容器无法对第一设备进行升级时,可以直接调用第二容器,无需在第一应用中重复开发容器,因此,可以解决相关技术存在的通过应用升级设备时需要在重复开发容器的问题,达到利用通用组件即可实现设备升级的效果,减少了开发资源、降低了开发成本。
附图说明
图1是本发明实施例的一种设备升级方法的移动终端的硬件结构框图;
图2是根据本发明实施例的设备升级方法的流程图;
图3是根据本发明具体实施例的设备升级方法流程图;
图4是根据本发明实施例的设备升级装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种设备升级方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备升级方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种设备升级方法,图2是根据本发明实施例的设备升级方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与所述第一设备绑定的第一应用的第一容器是否具备执行所述升级操作的能力,所述第一容器具备对所述第一应用绑定的一个或多个设备进行升级的功能;
步骤S204,在确定所述第一容器不具备执行所述升级操作的能力的情况下,调用第二容器执行所述升级操作,其中,所述第二容器中包括有用于对多个设备进行升级的通用组件,所述多个设备包括所述第一设备。
在上述实施例中,第一设备可以是智能家居设备,第一应用可以是绑定智能家居设备,并可以对智能家居设备进行控制的智能家居app(application,应用)。
可选地,上述步骤的执行主体可以是第一容器、后台处理器,或者其他的具备类似处理能力的设备,还可以是至少集成有数据处理设备的机器,其中,数据处理设备可以包括计算机、手机等终端,但不限于此。
通过本发明,在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与第一设备绑定的第一应用的第一容器是否具有执行升级操作的能力,在确定第一容器不具有执行升级操作的能力的情况下,调用第二容器执行升级操作,由于第二容器中包括由对多个设备进行升级的通用组件,因此,在第一容器无法对第一设备进行升级时,可以直接调用第二容器,无需在第一应用中重复开发容器,因此,可以解决相关技术存在的通过应用升级设备时需要在重复开发容器的问题,达到利用通用组件即可实现设备升级的效果,减少了开发资源、降低了开发成本。
在一个示例性实施例中,调用所述第二容器执行所述升级操作包括:确定所述第一应用的第一网络连接状态;在确定所述第一网络连接状态为第一状态的情况下,确定所述第一设备的第二网络连接状态;在所述第二网络连接状态为第二状态的情况下,调用所述第二容器执行所述升级操作。在本实施例中,在利用第二容器进行升级操作时,可以先确定第一应用的第一网络连接状态,在确定第一网络连接状态为第一状态的情况下,确定第一设备的第二网络连接状态,在确定第二网络连接状态为第二状态的情况下,利用第二容器执行升级操作。其中,第一网络连接状态可以为网络的质量状态,第一状态可以为网络质量良好状态,第二网络连接状态可以网络的连接状态,第二状态可以为在线状态。即利用第二容器进行升级操作时,判断当前app的网络状态,如果无网络则查明原因并重试网络;如果网络良好则判断需要升级的设备是否在线,离线则查明原因重试;在线则执行升级操作。
在一个示例性实施例中,在所述第二网络连接状态为所述第二状态的情况下,调用所述第二容器执行所述升级操作包括:在所述第二网络连接状态为所述第二状态的情况下,获取所述第一设备的系统状态,其中,所述系统状态用于指示所述第一设备的系统是否需要升级;基于所述系统状态确定与所述第一设备对应的升级任务;基于所述升级任务调用所述第二容器对所述第一设备执行所述升级操作。在本实施例中,在第一设备处于在线的状态时,可以获取第一设备的系统状态,即确定第一设备的系统是否处于最新版本,当系统状态处于非最高版本的情况下,确定第一设备需要升级。并确定第一设备对应的升级任务,根据升级任务调用第二容器对第一设备进行升级。其中,升级任务可以为第一设备需要升级时需要执行的任务,例如需要下载的安装包、需要安装的插件等。
在一个示例性实施例中,基于所述升级任务调用所述第二容器对所述第一设备执行所述升级操作包括:基于所述升级任务向所述第二容器发送第二指令,以指示所述第二容器执行以下操作:在所述第二指令的触发下确定执行所述升级操作所需的预定时间;在所述预定时间内对所述第一设备执行所述升级操作。在本实施例中,在第二容器确定需要对第一设备执行升级操作时,即第二容器确定存在升级任务时,可以订阅第一设备的状态,在接收到第二指令时,确定执行升级操作所需的预定时间,在预定时间内对第一设备进行升级。在执行升级操作之后,还可以确定升级结果,即升级失败或成功。其中,第二指令可以是在用户的触发下发送的指令。
在一个示例性实施例中,在调用所述第二容器执行所述升级操作之前,所述方法还包括:确定所述第二容器的初始参数;基于所述初始参数监听所述第二容器的运行状态;在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作;在确定所述运行状态为后台运行状态的情况下,执行等待操作,直至所述运行状态变更为所述前台运行状态,并在确定所述运行状态为所述前台运行状态之后,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作。在本实施例中,在调用第二容器执行升级操作之前,可以先确定第二容器的初始参数,根据初始参数监听第二容器的运行状态,在运行状态为前台运行状态的情况下,确定第二容器的配置参数,在确定运行状态为后台运行状态的情况下,执行等待操作,直至运行状态变更为前台运行状态。
在一个示例性实施例中,在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数包括:判断所述第二容器是否为锁定状态;在确定所述第二容器处于非锁定状态的情况下,为所述第二容器配置所述配置参数;在确定所述第二容器处于锁定状态的情况下,确定所述配置参数为历史配置参数,其中,所述历史配置参数为前一次执行所述升级操作时配置的参数。在本实施例中,在第二容器为前台运行状态的情况下,判断容器的锁定状态,如果未锁定则证明第二容器此时状态处于最开始状态,则为第二容器配置运行参数(即配置参数),以指示第二容器按照运行参数运行,如果已锁定则证明第二容器处于再次返回的状态,即第二容器处于已运行的状态,则确定配置参数为历史配置参数,即指示第二容器按照之前配置好的运行参数运行。需要说明的是,配置参数还可以是第二容器根据第一设备参数确定的参数。
在一个示例性实施例中,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作包括:在确定所述配置参数为所述历史配置参数之后,控制所述第二容器执行以下操作:判断所述第二容器中缓存的所述第一设备的版本状态;在确定所述版本状态为历史版本的情况下,基于所述配置参数执行所述升级操作。在本实施例中,在确定第二容器处于已运行状态的情况下,确定第一设备的版本状态,在确定第一设备的版本为最新版本的情况下,可以任务第一设备已经升级完成,则可以直接退出升级过程。在确定第一设备的版本为历史版本的情况下,第二容器可以基于配置参数执行升级操作。
在一个示例性实施例中,在调用所述第二容器执行所述升级操作之后,所述方法还包括:确定所述升级操作是否执行成功;在执行成功的情况下,缓存升级后的所述第一设备的版本状态。在本实施例中,在对第一设备执行升级操作执行成功的情况下,可以缓存第一设备的版本状态。
下面结合具体实施例对设备升级方法进行说明:
图3是根据本发明具体实施例的设备升级方法流程图,如图3所示,该流程包括:
步骤S302,等待容器初始化成功,并判断容器初始化是否成功,如果判断结果为成功的情况下,执行步骤S304,在判断结果为失败的情况下,执行步骤S306。
步骤S304,初始化容器的锁定值。
步骤S306,执行重复启动容器3次操作
步骤S308,判断重复启动容器操作是否重启成功,如果判断结果为是,则执行步骤S304,如果判断结果为否,即3次均执行失败,则执行步骤S310。
步骤S310:结束。
步骤S312:监听容器的变化状态.
步骤S314,判断容器是否进入后台状态,在判断结果为是的情况下,执行步骤S316,在判断结果为否的情况下,执行步骤S318。
步骤S316,容器处于锁定容器状态,则执行等待操作。
步骤S318,监听容器进入前台事件,判断容器的锁定状态,如果判断结果为是,则执行步骤S320,如果判断结果为否,则证明容器此时状态处于最开始状态。
步骤S320,判断目前页面缓存的状态是否是结果状态,如果判断结果为是,则证明升级已结束,只需返回即可,即执行步骤S310。如果判断结果为否,则执行步骤S322。
步骤S322,获取容器间的通讯信息,确定待升级的设备(对应于上述第一设备)。
步骤S324,判断当前app的网络状态是否良好。如果判断结果为是,则执行步骤S326,如果判断结果为否,则执行步骤S346。
步骤S326,网络良好,判断需要升级的设备是否在线。如果判断结果为是,则执行步骤S328,如果判断结果为否,则执行步骤S348。
步骤S328,获取设备的升级状态。
步骤S330,确定升级任务。
步骤S332,订阅设备状态,手动触发升级任务。
步骤S334,开始升级。
步骤S336,倒计时5分钟。
步骤S338,判断是否升级成功,在确定有效时间内执行成功,则执行步骤S340,在确定有效时间内执行失败,则执行步骤S342。
步骤S340,执行成功,提示执行成功。
步骤S342,执行失败,提示执行失败。
步骤S344,获取设备的升级状态为无需升级的情况下,确定设备处于最新版本。
步骤S346,如果无网络或网络质量差则查明原因并重试网络,并判断重试是否成功,在判断结果为是的情况下,执行步骤S324,在判断结果为否的情况下,执行步骤S310。
步骤S348,设备处于离线状态,查明原因并重试,在重试后执行步骤S324。
在前述实施例中,利用通用组件并放在第二容器中来实现通用性,只需要其他应用与公共组件之间实现简单的通信就可以达到FOTA的升级功能,所以此公用组件需要实现对不同容器的兼容以及不同平台不同场景下的功能融合。通用组件可以兼容多种容器类型,并且独立存在于第二容器中,只需要简单的容器间通讯功能便可启动。即通用组件是可以用于多设备多应用的公共组件,一次上线就可实现各种设备的升级。因此,解决了重复开发功能不同步问题,也减少了开发资源、降低了开发成本。通用组件一旦上线与各应用之间相互独立,只有在用到时再加载,组件实现了对不同容器的兼容,以及对不同平台的差异、不同使用场景的处理,而且通用组件兼具不同异常情况的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种设备升级装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的设备升级装置的结构框图,如图4所示,该装置包括:
判断模块42,用于在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与所述第一设备绑定的第一应用的第一容器是否具备执行所述升级操作的能力,所述第一容器具备对所述第一应用绑定的一个或多个设备进行升级的功能;
升级模块44,在确定所述第一容器不具备执行所述升级操作的能力的情况下,调用第二容器执行所述升级操作,其中,所述第二容器中包括有用于对多个设备进行升级的通用组件,所述多个设备包括所述第一设备。
在一个示例性实施例中,所述升级模块44可以通过如下方式实现调用所述第二容器执行所述升级操作:确定所述第一应用的第一网络连接状态;在确定所述第一网络连接状态为第一状态的情况下,确定所述第一设备的第二网络连接状态;在所述第二网络连接状态为第二状态的情况下,调用所述第二容器执行所述升级操作。
在一个示例性实施例中,所述升级模块44可以通过如下方式实现在所述第二网络连接状态为所述第二状态的情况下,调用所述第二容器执行所述升级操作:在所述第二网络连接状态为所述第二状态的情况下,获取所述第一设备的系统状态,其中,所述系统状态用于指示所述第一设备的系统是否需要升级;基于所述系统状态确定与所述第一设备对应的升级任务;基于所述升级任务调用所述第二容器对所述第一设备执行所述升级操作。
在一个示例性实施例中,所述升级模块44可以通过如下方式实现基于所述升级任务调用所述第二容器对所述第一设备执行所述升级操作:基于所述升级任务向所述第二容器发送第二指令,以指示所述第二容器执行以下操作:在所述第二指令的触发下确定执行所述升级操作所需的预定时间;在所述预定时间内对所述第一设备执行所述升级操作。
在一个示例性实施例中,所述装置还可以用于在调用所述第二容器执行所述升级操作之前,确定所述第二容器的初始参数;基于所述初始参数监听所述第二容器的运行状态;在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作;在确定所述运行状态为后台运行状态的情况下,执行等待操作,直至所述运行状态变更为所述前台运行状态,并在确定所述运行状态为所述前台运行状态之后,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作。
在一个示例性实施例中,所述装置可以通过如下方式实现在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数:判断所述第二容器是否为锁定状态;在确定所述第二容器处于非锁定状态的情况下,为所述第二容器配置所述配置参数;在确定所述第二容器处于锁定状态的情况下,确定所述配置参数为历史配置参数,其中,所述历史配置参数为前一次执行所述升级操作时配置的参数。
在一个示例性实施例中,所述装置可以通过如下方式实现确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作:在确定所述配置参数为所述历史配置参数之后,控制所述第二容器执行以下操作:判断所述第二容器中缓存的所述第一设备的版本状态;在确定所述版本状态为历史版本的情况下,基于所述配置参数执行所述升级操作。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种设备升级方法,其特征在于,包括:
在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与所述第一设备绑定的第一应用的第一容器是否具备执行所述升级操作的能力,所述第一容器具备对所述第一应用绑定的一个或多个设备进行升级的功能;
在确定所述第一容器不具备执行所述升级操作的能力的情况下,调用第二容器执行所述升级操作,其中,所述第二容器中包括有用于对多个设备进行升级的通用组件,所述多个设备包括所述第一设备;
其中,在调用所述第二容器执行所述升级操作之前,所述方法还包括:
确定所述第二容器的初始参数;
基于所述初始参数监听所述第二容器的运行状态;
在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作;
在确定所述运行状态为后台运行状态的情况下,执行等待操作,直至所述运行状态变更为所述前台运行状态,并在确定所述运行状态为所述前台运行状态之后,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作;
其中,在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数包括:
判断所述第二容器是否为锁定状态;
在确定所述第二容器处于非锁定状态的情况下,为所述第二容器配置所述配置参数;
在确定所述第二容器处于锁定状态的情况下,确定所述配置参数为历史配置参数,其中,所述历史配置参数为前一次执行所述升级操作时配置的参数。
2.根据权利要求1所述的方法,其特征在于,调用所述第二容器执行所述升级操作包括:
确定所述第一应用的第一网络连接状态;
在确定所述第一网络连接状态为第一状态的情况下,确定所述第一设备的第二网络连接状态;
在所述第二网络连接状态为第二状态的情况下,调用所述第二容器执行所述升级操作。
3.根据权利要求2所述的方法,其特征在于,在所述第二网络连接状态为所述第二状态的情况下,调用所述第二容器执行所述升级操作包括:
在所述第二网络连接状态为所述第二状态的情况下,获取所述第一设备的系统状态,其中,所述系统状态用于指示所述第一设备的系统是否需要升级;
基于所述系统状态确定与所述第一设备对应的升级任务;
基于所述升级任务调用所述第二容器对所述第一设备执行所述升级操作。
4.根据权利要求3所述的方法,其特征在于,基于所述升级任务调用所述第二容器对所述第一设备执行所述升级操作包括:
基于所述升级任务向所述第二容器发送第二指令,以指示所述第二容器执行以下操作:
在所述第二指令的触发下确定执行所述升级操作所需的预定时间;
在所述预定时间内对所述第一设备执行所述升级操作。
5.根据权利要求1所述的方法,其特征在于,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作包括:
在确定所述配置参数为所述历史配置参数之后,控制所述第二容器执行以下操作:
判断所述第二容器中缓存的所述第一设备的版本状态;
在确定所述版本状态为历史版本的情况下,基于所述配置参数执行所述升级操作。
6.一种设备升级装置,其特征在于,包括:
判断模块,用于在接收到用于指示对第一设备进行升级操作的第一指令的情况下,判断与所述第一设备绑定的第一应用的第一容器是否具备执行所述升级操作的能力,所述第一容器具备对所述第一应用绑定的一个或多个设备进行升级的功能;
升级模块,在确定所述第一容器不具备执行所述升级操作的能力的情况下,调用第二容器执行所述升级操作,其中,所述第二容器中包括有用于对多个设备进行升级的通用组件,所述多个设备包括所述第一设备;
其中,所述升级模块,还用于确定所述第二容器的初始参数;基于所述初始参数监听所述第二容器的运行状态;在确定所述运行状态为前台运行状态的情况下,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作;在确定所述运行状态为后台运行状态的情况下,执行等待操作,直至所述运行状态变更为所述前台运行状态,并在确定所述运行状态为所述前台运行状态之后,确定所述第二容器的配置参数,以指示所述第二容器基于所述配置参数执行所述升级操作;
其中,所述升级模块,还用于判断所述第二容器是否为锁定状态;在确定所述第二容器处于非锁定状态的情况下,为所述第二容器配置所述配置参数;在确定所述第二容器处于锁定状态的情况下,确定所述配置参数为历史配置参数,其中,所述历史配置参数为前一次执行所述升级操作时配置的参数。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至5任一项中所述的方法的步骤。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589696.8A CN112732290B (zh) | 2020-12-28 | 2020-12-28 | 设备升级方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589696.8A CN112732290B (zh) | 2020-12-28 | 2020-12-28 | 设备升级方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732290A CN112732290A (zh) | 2021-04-30 |
CN112732290B true CN112732290B (zh) | 2023-06-16 |
Family
ID=75607479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011589696.8A Active CN112732290B (zh) | 2020-12-28 | 2020-12-28 | 设备升级方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732290B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102711142A (zh) * | 2012-05-18 | 2012-10-03 | 南京拓诺传感网络科技有限公司 | 一种无线传感器网络节点通信控制系统及其控制方法 |
CN104756139A (zh) * | 2012-10-05 | 2015-07-01 | 谷歌公司 | 用于管理远程交易的系统、方法和计算机程序产品 |
US9383989B1 (en) * | 2014-06-16 | 2016-07-05 | Symantec Corporation | Systems and methods for updating applications |
CN109189445A (zh) * | 2018-10-12 | 2019-01-11 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
CN110968335A (zh) * | 2019-12-04 | 2020-04-07 | 国网江苏省电力有限公司南通供电分公司 | 一种用于电力业务系统资源统筹管理的组件系统 |
CN110990033A (zh) * | 2019-10-21 | 2020-04-10 | 望海康信(北京)科技股份公司 | 远程升级方法及系统 |
CN111324361A (zh) * | 2018-12-14 | 2020-06-23 | 中国移动通信集团北京有限公司 | 一种应用升级方法及设备 |
CN111831269A (zh) * | 2020-07-21 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 一种应用开发系统、运行方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11218854B2 (en) * | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
-
2020
- 2020-12-28 CN CN202011589696.8A patent/CN112732290B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102711142A (zh) * | 2012-05-18 | 2012-10-03 | 南京拓诺传感网络科技有限公司 | 一种无线传感器网络节点通信控制系统及其控制方法 |
CN104756139A (zh) * | 2012-10-05 | 2015-07-01 | 谷歌公司 | 用于管理远程交易的系统、方法和计算机程序产品 |
US9383989B1 (en) * | 2014-06-16 | 2016-07-05 | Symantec Corporation | Systems and methods for updating applications |
CN109189445A (zh) * | 2018-10-12 | 2019-01-11 | 武汉微智创大科技有限公司 | 一种物联网设备程序升级的方法 |
CN111324361A (zh) * | 2018-12-14 | 2020-06-23 | 中国移动通信集团北京有限公司 | 一种应用升级方法及设备 |
CN110990033A (zh) * | 2019-10-21 | 2020-04-10 | 望海康信(北京)科技股份公司 | 远程升级方法及系统 |
CN110968335A (zh) * | 2019-12-04 | 2020-04-07 | 国网江苏省电力有限公司南通供电分公司 | 一种用于电力业务系统资源统筹管理的组件系统 |
CN111831269A (zh) * | 2020-07-21 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 一种应用开发系统、运行方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Hardening Containers for Cross-Domain Applications;Jason Dahlstrom等;《 MILCOM 2019 - 2019 IEEE Military Communications Conference (MILCOM)》;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732290A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108170448B (zh) | 一种自动化高效进行软件更新版本发布的系统 | |
CN109725921B (zh) | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 | |
CN110463162B (zh) | 应用部署方法、装置及系统 | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
EP4092524B1 (en) | Ota differential upgrade method and system of master-slave architecture | |
CN111273924B (zh) | 软件更新方法及装置 | |
CN110995481A (zh) | 配置方法、服务器及计算机可读存储介质 | |
CN111625245A (zh) | 一种推理服务部署方法、装置、设备及存储介质 | |
CN106020882A (zh) | 一种应用升级方法、智能终端及升级系统 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN115529301A (zh) | 基于云边协同的固件升级方法及服务端、边缘网关端 | |
CN107526584B (zh) | 数据接入方法和装置 | |
CN105045671A (zh) | 一种智能终端的系统升级方法及装置 | |
CN112732290B (zh) | 设备升级方法、装置、存储介质及电子装置 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN110688136A (zh) | 一种应用程序更新方法及装置 | |
CN115480806A (zh) | 空中下载技术ota的升级方法及装置 | |
CN113824620A (zh) | 一种分区切换方法、装置、车辆和存储介质 | |
CN108833128A (zh) | 一种设备更新的方法 | |
US11425203B2 (en) | Commissioning a virtualized network function | |
CN111427603B (zh) | 应用程序的升级方法及装置 | |
CN113568770B (zh) | 实时操作系统的应急救援方法、电子设备及计算机存储介质 | |
CN112199161A (zh) | 一种云平台服务管理方法、装置及相关组件 | |
CN107315602B (zh) | 一种应用程序的升级方法及终端 | |
CN116107603B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |