CN113342376B - 一种针对物联网设备的操作***进行升级的方法及装置 - Google Patents
一种针对物联网设备的操作***进行升级的方法及装置 Download PDFInfo
- Publication number
- CN113342376B CN113342376B CN202110699570.4A CN202110699570A CN113342376B CN 113342376 B CN113342376 B CN 113342376B CN 202110699570 A CN202110699570 A CN 202110699570A CN 113342376 B CN113342376 B CN 113342376B
- Authority
- CN
- China
- Prior art keywords
- target internet
- things equipment
- internet
- upgrading
- things
- 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
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)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例公开了一种针对物联网设备的操作***进行升级的方法及装置,所述方法通过获取物联网设备集群中的目标物联网设备的工作状态信息,判断目标物联网设备是否处于工作状态得到第一判断结果,当第一判断结果表示目标物联网设备处于工作状态时,采用热补丁对目标物联网设备的操作***进行升级,当第一判断结果表示目标物联网设备未处于工作状态,采用完整升级包对目标物联网设备的操作***进行升级。可以保证物联网设备在不同的情况下执行不同的升级方式,采用热补丁与完整升级包相结合的方式,兼顾固件升级的及时性与稳定性。
Description
技术领域
本申请涉及物联网技术领域,尤其涉及一种针对物联网设备的操作***进行升级的方法及装置。
背景技术
目前,物联网设备大都采用实时操作***(Real-time operating system,RTOS)实时操作***。RTOS虽然在功能与架构上比Windows/Linux这类非实时操作***要简单,但能通过优先级调度确保每个线程的按时执行。
对RTOS设备,尤其是医疗领域的RTOS设备例如各类输液泵、对数据连续性有要求的传感器等,需要高实时性、长时间工作来满足各种功能需求。目前,对于此类物联网设备,如何通过操作***的升级来调整业务功能、进行漏洞修复,是亟需解决的技术问题。
发明内容
本说明书实施例提供一种针对物联网设备的操作***的升级的方法及装置,以通过对物联网设备操作***的升级来调整业务功能、进行漏洞修复。
为实现上述目的,本说明书实施例是这样实现的:
本说明书实施例提供的一种针对物联网设备的操作***进行升级的方法,包括:
获取物联网设备集群中的目标物联网设备的工作状态信息;
根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
本说明书实施例提供的一种针对物联网设备的操作***进行升级的装置,包括:
获取模块,用于获取物联网设备集群中的目标物联网设备的工作状态信息;
判断模块,用于根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
第一执行模块,用于当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
第二执行模块,用于当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
本说明书实施例提供的一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取物联网设备集群中的目标物联网设备的工作状态信息;
根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现一种针对物联网设备的操作***进行升级的方法。
本说明书一个实施例实现了能够达到以下有益效果:通过获取物联网设备集群中的目标物联网设备的工作状态信息,判断目标物联网设备是否处于工作状态得到第一判断结果,当第一判断结果表示目标物联网设备处于工作状态时,采用热补丁对目标物联网设备的操作***进行升级,当第一判断结果表示目标物联网设备未处于工作状态,采用完整升级包对目标物联网设备的操作***进行升级。可以保证物联网设备在不同的情况下执行不同的升级方式,采用热补丁与完整升级包相结合的方式,兼顾固件升级的及时性与稳定性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中一种针对物联网设备的操作***进行升级的方法的***架构示意图;
图2为本说明书实施例中一种针对物联网设备的操作***进行升级的方法的流程示意图;
图3是本申请实施例中对各个物联网设备的操作***进行升级的***架构图;
图4是本说明书实施例提供的一种针对物联网设备的操作***进行升级的装置的结构示意图;
图5是本说明书实施例提供的一种电设备的结构示意图。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
现有技术中,物联网设备尤其是实时操作***(Real-time operating system,RTOS)的物联网设备通常都需要升级其操作***包括固件来调整业务功能、进行漏洞修复等,当固件升级时,对于如医疗领域中的各类输液泵、心脏起搏器、对数据连续性有要求的传感器,如果发现设备存在需要紧急修复的漏洞,如果强制升级,则可能导致正在工作中的设备强制重启,可能会带来无法挽回的损失,稳定性和及时性无法兼顾。
图1为本说明书实施例中一种针对物联网设备的操作***进行升级的***架构示意图。***架构可以包括服务器10,以及与服务器数据连接的物联网设备集群20。其中,服务器可以是OTA(Over-the-AirTechnology)服务器或云平台。物联网集群中包括有多个物联网设备21。其中,物联网设备为RTOS设备,例如医疗领域中的输液泵,心跳传感器,或者钢铁厂中的高炉的控制器等。
图2为本说明书实施例中一种针对物联网设备的操作***进行升级的方法的流程示意图。
如图2所示,本发明提供的一种针对物联网设备的操作***进行升级的方法可以包括以下步骤:
步骤S100:获取物联网设备集群中的目标物联网设备的工作状态信息;
本发明实施例中,本发明实施例中,从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序,其中,服务器端可以为OTA服务器、云服务平台等,可以获取物联网设备集群中各个物联网设备的工作状态信息。
其中,获取目标物联网设备的工作状态信息可以分为主动和被动两种方式。
本发明实施例中,所述获取物联网设备集群中的目标物联网设备的工作状态信息,具体包括:
向所述目标物联网设备发送工作状态询问消息;
获取所述目标物联网设备反馈的工作状态信息。
本发明实施例中,通过主动方式获取物联网设备集群中各个物联网设备的工作状态信息可以具体为,发送获取工作状态信息到目标物联网设备,确定目标物联网设备中表征工作状态标识位的状态信息,该状态信息可以作为目标物联网设备的工作状态信息。状态信息可以表征该物联网设备是处于工作状态还是未处于工作状态。例如目标物联网设备为输液泵,其状态寄存器中的信息可以表征目标物联网设的工作状态,则可以通过该状态寄存器中的数值来确定其是否处于工作状态。也可以是发送询问消息给目标物联网设备,目标物联网设备返回工作状态信息。可以是该物联网设备设置有特定的标志位,根据该标志位的来判断是否处于工作状态。采用主动获取工作状态信息的方式,由于物联网设备集群中的节点较多,当目标物联网设备为多个时,OTA服务器的负载压力会加大,但是可以主动发起升级的流程,时效性较好。
本发明实施例中,所述获取物联网设备集群中的目标物联网设备的工作状态信息,具体可以包括:
获取所述目标物联网设备主动上报的工作状态信息。
本发明实施例中,被动获取目标物联网设备主动上报的工作状态信息为目标物联网设备主动上报工作状态信息。本发明实施例中,目标物联网设备可以具有主动上报工作状态信息的能力。
其中,主动上报可以按照预设时间间隔、预设规则等方式,例如,每隔预定时长建立与OTA服务器的通信连接,发送表征工作状态的工作状态信息到OTA服务器;或者,物联网设备开始工作时上报表征处于工作状态的工作状态信息,当工作结束时,上报表征未处于工作状态的工作状态信息等。此种方式可以节省服务器资源。
当然,还可以是上述两种方式结合的方式,例如,当发送工作状态询问信息时,触发目标物联网设备主动上报功能的进程,当此次升级结束时,终止主动上报功能的进程。其中,目标物联网设备的主动上报功能的进程在运行时可以包括依据预设规则主动上报工作状态信息。
本发明实施例中,如果物联网设备不具有主动上报功能,可以在升级完成后,发送用于安装主动上报功能的安装包,针对于不同的物联网设备,对应有不同类型不同语言的安装包,使得该物联网设备可以对该安装包进行解析,并将实现主动上报功能的代码写入该物联网设备的存储空间中,使该物联网设备能够执行主动上报功能的进程。
步骤S200:根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
本发明实施例中,根据所获取的工作状态信息,来判断目标物联网设备是否处于工作状态,得到第一判断结果。例如,工作状态信息中包括状态寄存器中表征处于工作状态的数值1,则第一判断结果为所述目标物联网设备处于工作状态,工作状态信息中包括状态寄存器中表征未处于工作状态的数值0,则第一判断结果为所述目标物联网设备处于未工作状态。
当然,还可以是根据所得到工作状态信息来进行分析,得到第一判断结果。例如,工作状态信息为报文,则对该报文进行解析,得到表征工作状态的内容,根据该内容得到第一判断结果。
步骤S300:当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
本发明实施例中,如果目标物联网设备处于工作状态时,则采用热补丁来对目标物联网设备的操作***进行升级。
其中,可以采用HERA(hotpatchingofembedded Real-time Applications)技术对所述目标物联网设备的操作***进行升级。
本发明实施例中,热补丁是不重启物联网设备的情况下对操作***进行补丁修改,可以实现在物联网设备在正常工作时完成升级,无需打断物联网设备所执行的任务,可以应用于紧急升级的情景中。此种方式不需要重启物联网设备,是针对具有实时约束的嵌入式***的漏洞修补方法。可以在操作期间对实时嵌入式***执行安全更新,且不会中断或违反实时约束。
本发明实施例中,调用处理其中内置硬件调试单元,确定所述热补丁对应的写入位置,当代码重定向或者接收有硬件级别的原子指令时,将该热补丁对应的代码写入该位置。
本发明实施例中,热补丁可以采用高级编程语言或汇编语言开发,其中,当采用的是高级编程语言时,可以使用二进制扩散算法diffing编译二进制文件来实现热补丁的升级,当采用汇编语言时,可以为封闭源设备开发热补丁从而对物联网设备的操作***进行升级。
本发明实施例中,目标物联网设备中可以具有FPB(FlashPatch and Breakpoint)闪存补丁和断点单元,每个FPB允许设置断点来指示处理器停止或修改代码。可选的,一个FPB可以包括有6个用于硬件断点的单元,FPB单元的开销小,其仅需要存储补丁和几个内存地址的列表。
本发明实施例中,采用热补丁进行升级可以包括采用蹦床(trampoline)重定向执行,直接重写固件可执行文件。例如,采用分支或跳转指令***到目标点,重新定向应用程序的原始控制流,在先前选定的内存位置停止执行指令,并从内存记载另一条指令,通过分支交换指令来操纵控制流,在运行时***蹦床。该过程需要的信息包括:***点、蹦床以及硬件断点。其中,***点即***分支或跳转指令的具***置,断点用于指示处理器在该位置执行蹦床***。蹦床为分支指令,其可以将控制流从***点重新定向补丁。另一种方式可以用正在运行的实例更新另一个实例。
可以看出,本发明实施例中,可以采用热补丁在不重启的情况下对目标物联网设备的操作***进行升级。
步骤S400、当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
本发明实施例中,如果目标物联网设备未处于工作状态,则可以采用完整升级包进行升级。
本发明实施例中,所述采用完整升级包对所述目标物联网设备的操作***进行升级,具体可以包括:
向所述目标物联网设备的ROM写入所述完整升级包后,重启所述目标物联网设备;
在重启所述目标物联网设备的过程中,清除所述目标物联网设备已加载的热补丁。
其中,完整升级包是通常是指完整版本的更新升级包,通常目标物联网设备需要重启才能够完成升级。因此,本发明实施例中,可以当确定目标物联网设备未处于工作状态时,采用此种方式进行升级。
本发明实施例中,可以采用OTA来实现对ROM完整升级包的升级。
本申请实施例中,在重启目标物联网设备的过程中,还会执行清除目标物联网已经加载的热补丁。这样可以避免因为热补丁和完整升级包对同一函数执行多次升级而导致的兼容性问题。
其中,当目标物联网设备处于未工作状态时,发送升级指令到目标物联网设备,目标物联网设备接收该升级指令后,下载对应的升级包,并在下载完成后执行重启操作,并在目标物联网设备重启完成时执行新版固件的初始化以完成升级。该过程稳定性强。
可以看出,本发明实施例中,采用热补丁与完整升级包相结合的方式,实现了目标物联网设备的操作***的升级,保证了紧急修复的能力。
前述实施例中,介绍了热补丁的升级方式,该过程中,如果操作***已有多个热补丁,会对稳定性造成影响,针对此问题,在前述实施例的基础上,本申请实施例还提供了如下实施例。
所述采用热补丁对所述目标物联网设备的操作***进行升级之前,还可以包括:
确定所述目标物联网设备的操作***已安装的热补丁数目;
判断所述热补丁数目是否大于或等于预设数值,得到第二判断结果;
若所述第二判断结果表示所述热补丁数目大于或等于预设数值,终止对所述目标物联网设备的操作***的升级过程;
所述采用热补丁对所述目标物联网设备的操作***进行升级,具体可以包括:
若所述第二判断结果表示所述热补丁数目小于所述预设数值,采用热补丁对所述目标物联网设备的操作***进行升级。
本发明实施例中,在对目标物联网设备的操作***进行升级之前,会确定出目标物联网设备的操作***已经安装的热补丁的数目。由于FPB单元的数量是有限制的,例如,每一个FPB单元可以对应N个热补丁,并且每一个FPB单元可以处理的热补丁的数量是有限的。如果FPB单元热补丁数量的补丁数目大于或等于预设值时,则得到第二判断结果。第二判断结果表征目标物联网设备的能够运行的补丁数量已经超过了其正常运行范围。
当第二判断结果表征热补丁数目大于或等于预设数值时,则终止升级过程,即停止对目标物联网的升级操作,以保证目标物联网设备运行的稳定性。
当第二判断结果表征热补丁数目小于预设数值,则采用热补丁对目标物联网设备的操作***进行升级。该过程可以参见前述实施例,在此不进行赘述。
本发明实施例中,当终止对目标物联网设备的操作***升级过程之后,还可以包括:
按照预定周期向所述目标物联网设备发送工作状态询问消息;
当接收到所述目标物联网设备反馈的表示所述目标物联网设备未处于工作状态的信息时,采用完整升级包对所述目标物联网设备的操作***进行升级。
本发明实施例中,如果终止对目标物联网的操作***升级过程之后,可以按照预定周期向目标物联网设备来发送工作状态询问消息。目标物联网设备会根据该工作状态询问消息反馈表征目标物联网设备所处状态的信息。
当目标物联网处于未工作状态时,会在接收到该工作状态询问消息后反馈给服务器表示目标物联网设备未处于工作状态的信息,则服务器可以执行采用完整升级包对目标物联网设备的操作***升级的过程。
本发明实施例中,预定周期可以根据实际需要进行设置,或者根据不同型号的设备进行预先标定后得到该预定周期的具体值。
当然,本发明实施例中,当终止对所述目标物联网设备的操作***的升级过程之后,还可以包括:
获取所述目标物联网设备主动上报的表示所述目标物联网设备未处于工作状态的信息后,采用完整升级包对所述目标物联网设备的操作***进行升级。
本发明实施例中,如果目标物联网设备具有主动上报能力,则目标物联网设备可以在处于未工作状态时,主动上报标识目标物联网设备未处于工作状态的信息。
当然,主动上报的触发条件可以是当接收到确定目标物联网设备的操作***的已安装热补丁数目的相应指令时,也可以是当接收到工作状态询问消息时,也可以是接收到终止对目标物联网设备的操作***的升级过程的相应指令时。当接收到主动上报的信息后,采用完整升级包对所述目标物联网设备的操作***进行升级。
本发明实施例中,还可以包括:
当所述第一判断结果表示所述目标物联网设备处于工作状态,向所述目标物联网设备发送完整升级包,以便所述目标物联网设备处于非工作状态后进行升级。
本发明实施例中,如果目标物联网设备处于工作状态时,还可以先将完整升级包发送给目标物联网设备,然后当目标物联网设备处于非工作状态后,直接使用该完整升级包执行升级。其中,当目标物联网设备接收了完整升级包后,可以将其存储在其RAM中,当目标物联网设备处于非工作状态时或处于空闲状态时,可以直接采用该完整升级包执行更新任务,来实现操作***的更新。
可以看出,本发明实施例可以在保证目标物联网设备稳定性的前提下采用热补丁对目标物联网设备的操作***进行升级。
在前述实施例的基础上,本发明实施例还能在不影响物联网设备正常运行的情况下执行升级。
本发明实施例中,所述采用热补丁对所述目标物联网设备的操作***进行升级之前,还可以包括:
获取所述目标物联网设备的任务优先级信息;
根据所述任务优先级信息,判断所述目标物联网设备的任务优先级是否大于预设优先级,得到第三判断结果;
当所述第三判断结果表示所述目标物联网设备的任务优先级不大于预设优先级,采用完整升级包对所述目标物联网设备的操作***进行升级。
本发明实施例中,如果直接采用热补丁进行升级,如果目标物联网设备当前还在运行某任务,例如,心跳传感器的计数任务,高炉中周期性上报温度的任务等,可能会造成任务执行过程中出现错误或者兼容性出现问题。
因此,本发明实施例中,在采用热补丁进行升级之前还会获取目标物联网设备的任务优先级信息。其中,任务优先级信息表征各个任务的优先级信息。优先级信息中各个任务的优先级的调度用来确保所有任务都能在任务对应的规定时间完成。
当判断目标物联网设备的任务优先级不大于预设优先级时,则可以采用完整升级包对目标物联网设备的操作***进行升级。目标物联网设备的优先级可以是当前运行的任务对应的优先级。预设优先级可以表征是否需要紧急执行任务对应的优先级,例如紧急修复补丁等。
其中,预设优先级可以为不影响目标物联网设备稳定性和其他关键任务运行所对应的优先级。
如果判断目标物联网设备的任务优先级大于预设优先级,则可以直接采用热补丁对目标物联网设备的操作***进行升级,来及时对目标物联网设备进行升级,避免未修复所带来的***故障等问题。
本发明实施例中,服务器21可以通过对集群的操作来实现对各个物联网设备的操作***的升级。
参见图3,图3是本申请实施例中对各个物联网设备的操作***进行升级的***架构图。
对于所述物联网设备集群中的各个物联网设备,确定处于工作状态的第一集群31以及未处于工作状态的第二集群32;
对于所述第一集群中的物联网设备310,采用热补丁对所述目标物联网设备的操作***进行升级;
对于所述第二集群中的物联网设备320,采用完整升级包对所述目标物联网设备的操作***进行升级。
本发明实施例中,可以将多个物联网设备划分为不同的集群,其中,第一集群中的物联网设备例如摄像机,传感器等均处于工作状态,第二集群中的物联网设备例如输液泵,高炉传感器等均未处于工作状态。可以针对于集群执行统一操作。对于第一集群中的各个物联网设备,采用热补丁执行升级,对于第二集群中的各个物联网设备,采用完整升级包进行升级。
本发明实施例中,通过集群来对每一个物联网设备的操作***进行升级,可以针对不同的物联网设备采用不同的升级方式,保证每一个物联网设备的操作***的升级。
本发明实施例中,在采用集群的方式执行整体升级完成之后,还可以包括,记录各个集群中并未进行完整升级的物联网设备形成第一列表,并根据第一列表在预定时间后执行确定处于工作状态的第一集群以及未处于工作状态的第二集群的步骤,或重新执行获取物联网设备集群中的目标物联网设备的工作状态信息的步骤。其中,第一列表中至少包括各个物联网设备的设备地址或设备信息等物联网信息,以确定物联网设备的唯一性。
在采用集群的方式执行整体升级完成之后,还可以包括针对第一列表中的物联网设备,获取该物联网设备中已经安装的热补丁的数目,如果该数目超过预设个数,为了避免该物联网设备升级失败,则可以采用完整升级包对目标物联网设备的操作***进行升级。
本发明实施例中,可以针对于集群进行升级操作,在保证各个集群中各个物联网设备兼容性的前提下,提高了升级效率。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图3为本说明书实施例提供的对应于图2的一种针对物联网设备的操作***进行升级的装置的结构示意图。如图4所示,该装置可以包括:
获取模块401,用于获取物联网设备集群中的目标物联网设备的工作状态信息;
判断模块402,用于根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
第一执行模块403,用于当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
第二执行模块404,用于当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
在一些实施例中,所述装置还可以包括:
热补丁数目确定单元,用于确定所述目标物联网设备的操作***已安装的热补丁数目;
数值判断单元,用于判断所述热补丁数目是否大于或等于预设数值,得到第二判断结果;
停止单元,用于在所述第二判断结果表示所述热补丁数目大于或等于预设数值时终止对所述目标物联网设备的操作***的升级过程;
所述第一执行模块具体用于:
若所述第二判断结果表示所述热补丁数目小于所述预设数值,采用热补丁对所述目标物联网设备的操作***进行升级。
在一些实施例中,所述装置还可以包括:
优先级获取单元,用于获取所述目标物联网设备的任务优先级信息;
优先级判断单元,用于根据所述任务优先级信息,判断所述目标物联网设备的任务优先级是否大于预设优先级,得到第三判断结果;
第一升级子单元,用于当所述第三判断结果表示所述目标物联网设备的任务优先级不大于预设优先级时采用完整升级包对所述目标物联网设备的操作***进行升级。
在一些实施例中,所述装置还可以包括:
轮询单元,用于按照预定周期向所述目标物联网设备发送工作状态询问消息;
第二升级子单元,用于当接收到所述目标物联网设备反馈的表示所述目标物联网设备未处于工作状态的信息时,采用完整升级包对所述目标物联网设备的操作***进行升级。
在一些实施例中,所述装置还可以包括:
断点升级单元,用于当所述第一判断结果表示所述目标物联网设备处于工作状态,向所述目标物联网设备发送完整升级包,以便所述目标物联网设备处于非工作状态后进行升级。
基于同样的思路,本说明书实施例还提供了上述方法对应的电子设备。
图5为本说明书实施例提供的对应于图2的一种电子设备的结构示意图。如图5所示,电子设备900可以包括:
至少一个处理器910;以及,
与所述至少一个处理器通信连接的存储器930;其中,
所述存储器930存储有可被所述至少一个处理器910执行的指令920,所述指令被所述至少一个处理器910执行,以使所述至少一个处理器910能够:
获取物联网设备集群中的目标物联网设备的工作状态信息;
根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现以下方法:
获取物联网设备集群中的目标物联网设备的工作状态信息;
根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
当所述第一判断结果表示所述目标物联网设备处于工作状态,采用热补丁对所述目标物联网设备的操作***进行升级;
当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图3所示的针对物联网设备的操作***进行升级的装置而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field ProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字符多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种针对物联网设备的操作***进行升级的方法,包括:
获取物联网设备集群中的目标物联网设备的工作状态信息;
根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
当所述第一判断结果表示所述目标物联网设备处于工作状态,获取所述目标物联网设备的任务优先级信息;
根据所述任务优先级信息,判断所述目标物联网设备的任务优先级是否大于预设优先级,得到第三判断结果;
当所述第三判断结果表示所述目标物联网设备的任务优先级大于预设优先级,采用热补丁对所述目标物联网设备的操作***进行升级;
当所述第三判断结果表示所述目标物联网设备的任务优先级不大于预设优先级,采用完整升级包对所述目标物联网设备的操作***进行升级;
当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
2.根据权利要求1所述的方法,所述采用热补丁对所述目标物联网设备的操作***进行升级之前,还包括:
确定所述目标物联网设备的操作***已安装的热补丁数目;
判断所述热补丁数目是否大于或等于预设数值,得到第二判断结果;
若所述第二判断结果表示所述热补丁数目大于或等于预设数值,终止对所述目标物联网设备的操作***的升级过程;
所述采用热补丁对所述目标物联网设备的操作***进行升级,具体包括:
若所述第二判断结果表示所述热补丁数目小于所述预设数值,采用热补丁对所述目标物联网设备的操作***进行升级。
3.根据权利要求1所述的方法,所述采用完整升级包对所述目标物联网设备的操作***进行升级,具体包括:
向所述目标物联网设备的ROM写入所述完整升级包后,重启所述目标物联网设备;
在重启所述目标物联网设备的过程中,清除所述目标物联网设备已加载的热补丁。
4.根据权利要求1所述的方法,所述采用热补丁对所述目标物联网设备的操作***进行升级,具体包括:
采用HERA技术对所述目标物联网设备的操作***进行升级。
5.根据权利要求1所述的方法,所述获取物联网设备集群中的目标物联网设备的工作状态信息,具体包括:
向所述目标物联网设备发送工作状态询问消息;
获取所述目标物联网设备反馈的工作状态信息。
6.根据权利要求1所述的方法,所述获取物联网设备集群中的目标物联网设备的工作状态信息,具体包括:
获取所述目标物联网设备主动上报的工作状态信息。
7.根据权利要求2所述的方法,所述终止对所述目标物联网设备的操作***的升级过程之后,还包括:
按照预定周期向所述目标物联网设备发送工作状态询问消息;
当接收到所述目标物联网设备反馈的表示所述目标物联网设备未处于工作状态的信息时,采用完整升级包对所述目标物联网设备的操作***进行升级。
8.根据权利要求2所述的方法,所述终止对所述目标物联网设备的操作***的升级过程之后,还包括:
获取所述目标物联网设备主动上报的表示所述目标物联网设备未处于工作状态的信息后,采用完整升级包对所述目标物联网设备的操作***进行升级。
9.根据权利要求2所述的方法,还包括:
当所述第一判断结果表示所述目标物联网设备处于工作状态,向所述目标物联网设备发送完整升级包,以便所述目标物联网设备处于非工作状态后进行升级。
10.根据权利要求1所述的方法,还包括:
对于所述物联网设备集群中的各个物联网设备,确定处于工作状态的第一集群以及未处于工作状态的第二集群;
对于所述第一集群中的物联网设备,采用热补丁对所述目标物联网设备的操作***进行升级;
对于所述第二集群中的物联网设备,采用完整升级包对所述目标物联网设备的操作***进行升级。
11.一种针对物联网设备的操作***进行升级的装置,包括:
获取模块,用于获取物联网设备集群中的目标物联网设备的工作状态信息;
判断模块,用于根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
优先级获取模块,用于当所述第一判断结果表示所述目标物联网设备处于工作状态,获取所述目标物联网设备的任务优先级信息;
优先级判断模块,用于根据所述任务优先级信息,判断所述目标物联网设备的任务优先级是否大于预设优先级,得到第三判断结果;
第一执行模块,用于当所述第三判断结果表示所述目标物联网设备的任务优先级大于预设优先级,采用热补丁对所述目标物联网设备的操作***进行升级;
第二执行模块,用于当所述第三判断结果表示所述目标物联网设备的任务优先级不大于预设优先级,采用完整升级包对所述目标物联网设备的操作***进行升级;
第二执行模块,还用于当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
12.一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取物联网设备集群中的目标物联网设备的工作状态信息;
根据所述工作状态信息,判断所述目标物联网设备是否处于工作状态,得到第一判断结果;
当所述第一判断结果表示所述目标物联网设备处于工作状态,获取所述目标物联网设备的任务优先级信息;
根据所述任务优先级信息,判断所述目标物联网设备的任务优先级是否大于预设优先级,得到第三判断结果;
当所述第三判断结果表示所述目标物联网设备的任务优先级大于预设优先级,采用热补丁对所述目标物联网设备的操作***进行升级;
当所述第三判断结果表示所述目标物联网设备的任务优先级不大于预设优先级,采用完整升级包对所述目标物联网设备的操作***进行升级;
当所述第一判断结果表示所述目标物联网设备未处于工作状态,采用完整升级包对所述目标物联网设备的操作***进行升级。
13.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至10中任一项所述的一种针对物联网设备的操作***进行升级的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110699570.4A CN113342376B (zh) | 2021-06-23 | 2021-06-23 | 一种针对物联网设备的操作***进行升级的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110699570.4A CN113342376B (zh) | 2021-06-23 | 2021-06-23 | 一种针对物联网设备的操作***进行升级的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342376A CN113342376A (zh) | 2021-09-03 |
CN113342376B true CN113342376B (zh) | 2022-08-30 |
Family
ID=77478370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110699570.4A Active CN113342376B (zh) | 2021-06-23 | 2021-06-23 | 一种针对物联网设备的操作***进行升级的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342376B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708394B (zh) * | 2022-10-31 | 2024-06-14 | 荣耀终端有限公司 | 终端升级方法、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7168075B1 (en) * | 1999-11-15 | 2007-01-23 | Siemens Aktiengesellschaft | Automation device and updating method |
CN111651175A (zh) * | 2020-04-27 | 2020-09-11 | 厦门科灿信息技术有限公司 | 数据中心监控***的升级方法、装置、终端及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509636B2 (en) * | 2003-12-15 | 2009-03-24 | Microsoft Corporation | System and method for updating files utilizing delta compression patching |
US20060075001A1 (en) * | 2004-09-30 | 2006-04-06 | Canning Jeffrey C | System, method and program to distribute program updates |
CN104834537B (zh) * | 2014-12-30 | 2018-04-27 | 沈阳东软医疗***有限公司 | 数据处理方法、服务器及客户端 |
WO2017019684A1 (en) * | 2015-07-27 | 2017-02-02 | Datagrid Systems, Inc. | Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data |
US10866824B2 (en) * | 2017-01-13 | 2020-12-15 | Citrix Systems, Inc. | Continuous uptime of guest virtual machines during upgrade of a virtualization host device |
US10705821B2 (en) * | 2018-02-09 | 2020-07-07 | Forescout Technologies, Inc. | Enhanced device updating |
CN109413210A (zh) * | 2018-12-18 | 2019-03-01 | 郑州云海信息技术有限公司 | 分布式集群***的目标驱动升级方法、装置、设备及介质 |
CN109491698B (zh) * | 2018-12-29 | 2022-07-08 | 武汉思普崚技术有限公司 | 基于热补丁的***更新方法及装置 |
CN110032382A (zh) * | 2019-03-25 | 2019-07-19 | 深圳猛犸电动科技有限公司 | 一种汽车电子控制单元升级方法、***及终端设备 |
CN110597545B (zh) * | 2019-09-04 | 2023-05-30 | 北京方研矩行科技有限公司 | 一种基于ota组件的热补丁智能升级方法及*** |
CN111045714B (zh) * | 2019-12-19 | 2022-03-01 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
EP4012554B1 (en) * | 2020-01-17 | 2023-10-18 | Shenzhen Goodix Technology Co., Ltd. | Chip patching method and chip |
CN111965989B (zh) * | 2020-08-14 | 2024-01-26 | 深圳市欧瑞博科技股份有限公司 | ***更新方法、装置、智能家居控制面板以及存储介质 |
CN112099821A (zh) * | 2020-08-25 | 2020-12-18 | 珠海格力电器股份有限公司 | 程序升级方法、装置以及空调*** |
-
2021
- 2021-06-23 CN CN202110699570.4A patent/CN113342376B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7168075B1 (en) * | 1999-11-15 | 2007-01-23 | Siemens Aktiengesellschaft | Automation device and updating method |
CN111651175A (zh) * | 2020-04-27 | 2020-09-11 | 厦门科灿信息技术有限公司 | 数据中心监控***的升级方法、装置、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
自动更新***的设计与实现;陈坚等;《计算机时代》;20100802(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113342376A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6912583B2 (ja) | サービス処理方法および装置 | |
CN109032825B (zh) | 一种故障注入方法、装置及设备 | |
US10515206B2 (en) | Program-instruction-controlled instruction flow supervision | |
CN110046479B (zh) | 一种基于安卓操作***的链接库文件反调试方法及装置 | |
CN104375861A (zh) | 基于安卓平台的应用程序免安装运行的方法、装置及终端 | |
US9690567B2 (en) | Runtime detection of software configurations and upgrades | |
US11704139B2 (en) | Service processing method and apparatus, electronic device, and storage medium | |
TWI684916B (zh) | 函式選取方法和伺服器 | |
CN103793248A (zh) | 一种应用程序升级的方法及装置 | |
CN112130926B (zh) | 应用程序运行的方法、装置、终端设备及存储介质 | |
CN110765394A (zh) | so文件加载方法、装置、存储介质及终端设备 | |
CN110007935B (zh) | 一种程序升级的处理方法、装置及设备 | |
CN113342376B (zh) | 一种针对物联网设备的操作***进行升级的方法及装置 | |
CN108121650B (zh) | 一种对于页面用户界面的测试方法及装置 | |
CN110046100B (zh) | 一种分组测试的方法、电子设备及介质 | |
CN111385661B (zh) | 语音控制全屏播放的方法、装置、终端及存储介质 | |
CN109582388B (zh) | 一种参数配置方法、装置及设备 | |
CN111897543A (zh) | 一种软件管理方法、装置、管理设备及存储介质 | |
CN107451050B (zh) | 函数获取方法和装置、服务器 | |
CN105573891A (zh) | 一种安卓应用耗电统计方法和装置 | |
CN104281443B (zh) | 利用tcm实现代码、数据替换的方法 | |
CN113282363A (zh) | 一种优化混合app的方法及装置 | |
CN112286572A (zh) | 一种业务流程的配置方法及装置 | |
CN111796864A (zh) | 一种数据校验的方法及装置 | |
RU2521265C2 (ru) | Система и способ автоматической обработки системных ошибок программного обеспечения |
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 |