一种物联设备的升级方法、装置、电子设备及存储介质

文档序号:152879 发布日期:2021-10-26 浏览:22次 >En<

阅读说明:本技术 一种物联设备的升级方法、装置、电子设备及存储介质 (Upgrading method and device for Internet of things equipment, electronic equipment and storage medium ) 是由 李迅 陈小雷 谢海军 张清华 谢堂健 李伟民 于 2021-06-30 设计创作,主要内容包括:本发明实施例公开了一种物联设备的升级方法、装置、电子设备及存储介质。该方法包括:当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成物联设备的全部软件应用程序;根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知;响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级。该方法可以在物联设备进行OTA升级时,减少需要的升级量,从而减少升级时长,升级空间的占用,以及需要擦除的芯片空间。(The embodiment of the invention discloses an upgrading method and device of an internet of things device, an electronic device and a storage medium. The method comprises the following steps: when the existence of an upgrading program of the Internet of things equipment is detected, determining at least one program layer to be updated and corresponding program layer upgrading information according to the upgrading program; the programs of the plurality of program layers jointly form all software application programs of the Internet of things equipment; sending an upgrade notification to the equipment of the Internet of things according to each program layer to be updated and corresponding program layer upgrade information; and responding to an upgrading confirmation instruction of the equipment of the Internet of things, and sending the upgrading program to the storage address matched with the upgrading information of the program layer to be updated so that the equipment of the Internet of things can upgrade the program layer to be updated. The method can reduce the required upgrading amount when OTA upgrading is carried out on the Internet of things equipment, thereby reducing the upgrading time, the occupation of the upgrading space and the chip space required to be erased.)

一种物联设备的升级方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及智能物联设备领域,尤其涉及一种物联设备的升级方法、装置、电子设备及存储介质。

背景技术

随着物联网技术的发展,智能物联设备变得越来越多。智能物联设备通常需要进行技术升级,因此空中下载技术(Over-the-Air Technology,OTA)是智能物联设备的必备技能。

现有技术中,智能物联设备的OTA升级方案是在判断程序需要进行升级时,直接进行整包升级。整包升级的方式存在下述问题:需要消耗很长的升级时长,占用的升级空间过大,还需要擦除很大的芯片空间进行升级等。

发明内容

本发明实施例提供了一种物联设备的升级方法、装置、电子设备及存储介质,可以提高升级速度、减少芯片擦除次数以及擦除空间。

第一方面,本发明实施例提供了一种物联设备的升级方法,该方法包括:

当检测到存在物联设备的升级程序时,根据所述升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成所述物联设备的全部软件应用程序;

根据各所述待更新程序层以及对应的程序层升级信息,向所述物联设备发送升级通知;

响应于所述物联设备的升级确认指令,将所述升级程序发送至与各所述待更新程序层的程序层升级信息所匹配的存储地址,以使所述物联设备进行各所述待更新程序层的升级。

第二方面,本发明实施例还提供了一种物联设备的升级装置,该装置包括:

程序层信息确定模块,用于当检测到存在物联设备的升级程序时,根据所述升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成所述物联设备的全部软件应用程序;

升级通知发送模块,用于根据各所述待更新程序层以及对应的程序层升级信息,向所述物联设备发送升级通知;

升级程序发送模块,用于响应于所述物联设备的升级确认指令,将所述升级程序发送至与各所述待更新程序层的程序层升级信息所匹配的存储地址,以使所述物联设备进行各所述待更新程序层的升级。

第三方面,本发明实施例还提供了一种物联设备,该设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的一种物联设备的升级方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的一种物联设备的升级方法。

本发明实施例的技术方案通过当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成物联设备的全部软件应用程序;根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知;响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级,解决了物联设备的OTA升级问题,实现了在物联设备进行OTA升级时,减少需要的升级量,从而减少升级时长,升级空间的占用,以及需要擦除的芯片空间的效果。

附图说明

图1a是本发明实施例一提供的一种物联设备的升级方法的流程图;

图1b是本发明实施例一提供的一种物联设备全部软件应用程序的程序层划分示意图;

图2a是本发明实施例二提供的一种物联设备的升级方法的流程图;

图2b是本发明实施例二提供的一种物联设备的升级方法的流程图;

图3是本发明实施例三提供的一种物联设备的升级装置的结构示意图;

图4是本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a是本发明实施例一提供的一种物联设备的升级方法的流程图,本实施例可适用于对物联设备进行OTA升级的情况,该方法可以由物联设备的升级装置来执行,该装置可以通过软件,和/或硬件的方式实现,该装置可以集成在电子设备如服务器或者云端计算终端中,如图1a所示,该方法具体包括:

步骤110、当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息。

其中,物联设备可以是通过物联网进行通信的设备。例如,物联设备可以是需要通过物联网技术在云端获取OTA程序下载的设备。示例性的,物联设备可以是热水器。升级程序可以是物联设备基于当前功能进行功能升级时对应的程序。

在本发明实施例中,升级程序可以是物联设备实现全部功能时所对应的全部软件应用程序中的一部分程序。具体的,在本发明实施例中可以将全部软件应用程序按照软件层次的定义或者使用等进行划分,生成与不同程序层对应的程序。升级程序可以是一个或者多个程序层对应的程序。其中,多个程序层的程序可以共同构成物联设备的全部软件应用程序。

在本发明实施例的一个可选实施方式中,图1b是本发明实施例一提供的一种物联设备全部软件应用程序的程序层划分示意图。如图1b所示,物联设备的程序层包括:硬件驱动层、软件公共层、参数层、设备功能层以及系统基础层。其中,硬件驱动层主要是物联设备底板的底层硬件驱动程序如单片机的底层硬件驱动程序,其升级概率很低。软件公共层主要是软件公用部分的程序。例如,软件公共层可以是热水器中设置的带电可擦可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM)或者温度检测器件等所对应的程序。软件公共层的程序升级概率也较低。参数层主要存放的是物联设备运行过程中需要的参数数据,例如,热水器中E2PROM的大小,默认设置温度等。参数层可以是物联设备运行中需要用到的参数数据。参数层有升级需求,参数层所占用的空间通常较小,升级时可以将物联设备中的全部参数进行同步升级。设备功能层可以是物联设备功能实现所对应的程序层。设备功能层可以是多个设备功能共同构成的,各设备功能可以是独立的,可以针对其中一个设备功能进行单独的升级,具体升级方式可以同程序层的升级方式。系统基础层可以是负责整个物联设备的正常运行。例如,系统基础层可以包括硬件的初始化调用、系统的实际运算以及各设备功能的调用运行等。

在本发明实施例中,确定待更新程序层以及对应的程序层升级信息的方式可以是多种。例如,升级程序中可以具有待更新程序层的标识信息以及程序层升级信息;或者,可以对升级程序进行编译得到待更新程序层的标识信息以及程序层升级信息等。其中,程序层升级信息可以是程序层进行升级时的附加信息。例如,程序层升级信息可以是对升级程序进行解释或者介绍的信息。可选的,程序层升级信息,可以包括:程序层标识、程序层占用空间量、程序层预设存储地址以及升级程序的版本序号等。程序层预设存储地址可以包括程序层预设的存储起始地址以及结束地址。

步骤120、根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知。

其中,云端可以向物联设备发送升级通知,告知物联设备需要升级的程序层以及相关的升级信息,便于物联设备在做好升级准备时,进行升级,优化物联设备的当前设备功能等。

在本发明实施例的一个可选实施方式中,根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知,包括:当待更新程序层为设备功能层时,根据程序层升级信息,确定设备功能层中的至少一个待更新设备功能以及对应的设备功能升级信息;根据待更新设备功能以及对应的设备功能升级信息,向物联设备发送升级通知。

其中,为了进一步减少升级量,提升升级速度,设备功能层可以具有多个设备功能对应的程序,各个设备功能可以单独进行升级。对设备功能层进行升级时,可以是按照设备功能进行的升级。具体的,程序层升级信息中可以具有待更新设备功能的相关信息。例如,程序层升级信息可以包括待更新设备功能的标识信息以及设备功能升级信息等。设备功能升级信息可以包括设备功能标识、设备功能占用空间量、设备功能预设存储地址以及升级程序的版本序号等。其中,设备功能预设存储地址可以包括起始地址和结束地址。

云端可以向物联设备发送升级通知,告知物联设备需要升级的设备功能以及相关的升级信息,便于物联设备在做好升级准备时,进行设备功能升级,优化物联设备的当前设备功能。

在本发明实施例的一个可选实施方式中,根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知,包括:获取物联设备的设备信息;当根据设备信息以及程序层升级信息,确定升级程序为物联设备所匹配的待升级程序时,根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知。

其中,设备信息可以是物联设备的型号、物联设备所使用的芯片信息以及全部软件应用程序的信息等。具体的,设备信息可以包括单片机型号、各程序层或者各设备功能在存储器中的存储地址信息、用户识别卡(SIM)信息以及当前软件应用程序的版本号等。

在向物联设备发送升级通知之前,可以先确定升级程序是否是与物联设备所匹配的待升级程序。具体的,可以将设备信息与程序层升级信息或者设备功能升级信息进行比对,根据比对结果确定升级程序是否是与物联设备所匹配的待升级程序。

示例性的,可以将设备信息当前软件应用程序的版本号与程序层升级信息或者设备功能升级信息中升级程序的版本序号进行比对,当升级程序的版本序号对应的版本是当前软件应用程序的版本号之后的版本时,确定对物联设备发送升级通知。或者,程序层升级信息或者设备功能升级信息中可以包括单片机型号和/或SIM信息。当程序层升级信息或者设备功能升级信息中的单片机型号和/或SIM信息与物联设备的设备信息中单片机型号和/或SIM信息一致时,可以确定升级程序适配于物联设备。再通过版本号的比对,确定是否向物联设备发送升级通知。

步骤130、响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级。

其中,物联设备接收到升级通知时,可以等待用户的升级确认指令。例如,物联设备可以通过智能终端如手机向用户发送升级通知,用户可以进行升级确认。物联设备可以针对用户的升级确认指令向云端进行回应。或者,云端可以直接将升级通知通过智能终端发送至用户,并获取用户的升级确认指令。

在本发明实施例中,程序层升级信息中可以包括程序层预设存储地址,升级程序可以直接发送至物联设备中与待更新程序层匹配的程序层预设存储地址。物联设备进行程序升级时,可以仅升级待更新程序层预设存储地址的程序,而无需升级其他程序层的程序,可以使升级量显著降低,提升升级速度,可以减少物联设备中存储器需要擦除的空间,减少擦除次数。

相应的,当需要进行升级的是设备功能层中的某一设备功能时,设备功能升级信息中可以包括设备功能预设存储地址,升级程序可以直接发送至物联设备中与待更新设备功能匹配的存储地址。物联设备进行程序升级时,可以仅升级待更新设备功能预设存储地址的程序,而无需升级其他设备功能的程序,可以进一步降低升级量,节省网络链路占用,进一步提升升级速度,减少需要擦除的空间与次数。

在本发明实施例的一个可选实施方式中,如图1b所示,程序层包括:升级备份层;将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级,包括:将升级程序发送至升级备份层,通知物联设备进行升级程序校验,并将升级备份层中校验通过的升级程序,进行本地移动至与各待更新程序层的程序层升级信息所匹配的存储地址。

其中,如图1b所示,升级备份层可以是负责将升级程序进行缓存备份的程序层。具体的,可以将升级程序缓存到升级备份层。物联设备可以对升级备份层中的升级程序进行校验,校验完成后再进行升级。通过升级被分层可以不用一边获取升级程序一边进行程序升级,可以使用户在使用产品的同时,获取升级程序,减少升级程序下载时占用用户使用物联设备的时间,提升用户体验。同时升级程序缓存校验完成后再启动升级程序升级到指定存储地址的动作,这样升级速度进一步加快,基本能够达到一个无感升级的体验。并且升级完成后升级程序在升级备份层存储,若是后期物联设备存在问题,还可以再次进行刷写升级,为升级程序提供额外备份功能。

本实施例的技术方案,通过当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成物联设备的全部软件应用程序;根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知;响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级,解决了物联设备OTA升级的问题,实现了减少需要的升级量,从而减少升级时长,升级空间的占用,以及需要擦除的芯片空间的效果。

实施例二

图2a是本发明实施例二提供的一种物联设备的升级方法的流程图。本实施例是对上述技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。具体的:

在本发明实施例的一个可选实施方式中,程序层升级信息,包括:程序层标识、程序层占用空间量以及程序层预设存储地址;

将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,包括:

当程序层占用空间量小于等于程序层预设存储地址对应的空间量时,将升级程序发送至与各程序层标识指定的程序层所匹配的程序层预设存储地址;

当程序层占用空间量大于程序层预设存储地址对应的空间量时,将升级程序发送至全部程序层预设存储地址之后的目的存储地址;

通知物联设备各程序层标识指定的程序层所对应的目的存储地址,以使物联设备进行程序层预设存储地址更新;或者,

当程序层占用空间量大于程序层预设存储地址对应的空间量时,将升级程序发送至各程序层标识指定的程序层所匹配的程序层预设存储地址的起始地址;

根据程序层占用空间量与程序层预设存储地址对应空间量的差值,确定程序层标识指定程序层的超出预设存储地址的预增存储地址;

通知物联设备,程序层标识指定程序层之后的程序层根据预增存储地址进行本地移动。

如图2a所示,本发明实施例二提供的一种物联设备的升级方法可以细化为:

步骤210、当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息。

其中,多个程序层的程序共同构成物联设备的全部软件应用程序。程序层包括:硬件驱动层、软件公共层、参数层、设备功能层、系统基础层以及升级备份层。

步骤220、当待更新程序层为设备功能层时,根据程序层升级信息,确定设备功能层中的至少一个待更新设备功能以及对应的设备功能升级信息。

步骤230、根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知;和/或,根据待更新设备功能以及对应的设备功能升级信息,向物联设备发送升级通知。

在本发明实施例的一个可选实施方式中,向物联设备发送升级通知,包括:获取物联设备的设备信息;当根据设备信息,以及程序层升级信息和/或设备功能升级信息,确定升级程序为物联设备所匹配的待升级程序时,向物联设备发送升级通知。

步骤240、响应于物联设备的升级确认指令,将升级程序发送至升级备份层,通知物联设备进行升级程序校验,并将升级备份层中校验通过的升级程序,进行本地移动至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级。

在本发明实施例的一个可选实施方式中,程序层升级信息,包括:程序层标识、程序层占用空间量以及程序层预设存储地址。其中,程序层占用空间量可以是升级程序所需要占用程序层的空间量,具体的,可以是升级程序的大小。

在本发明实施例的一个可选实施方式中,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,或者,通知物联设备将升级备份层中校验通过的升级程序,进行本地移动至与各待更新程序层的程序层升级信息所匹配的存储地址,包括:

当程序层占用空间量小于等于程序层预设存储地址对应的空间量时,将升级程序发送至与各程序层标识指定的程序层所匹配的程序层预设存储地址;

当程序层占用空间量大于程序层预设存储地址对应的空间量时,将升级程序发送至全部程序层预设存储地址之后的目的存储地址;通知物联设备各程序层标识指定的程序层所对应的目的存储地址,以使物联设备进行程序层预设存储地址更新;或者,

当程序层占用空间量大于程序层预设存储地址对应的空间量时,将升级程序发送至各程序层标识指定的程序层所匹配的程序层预设存储地址的起始地址;根据程序层占用空间量与程序层预设存储地址对应空间量的差值,确定程序层标识指定程序层的超出预设存储地址的预增存储地址;通知物联设备,程序层标识指定程序层之后的程序层根据预增存储地址进行本地移动。

具体的,在本发明实施例中,各程序层或者设备功能层中的各设备功能存在预设存储地址。预设存储地址在设置时可以考虑空间预留的问题,但是如果空间预留过大,会造成预设存储地址占用的空间太大,不利于芯片的正常运行;而如果空间预留过小,会造成升级程序所需要的空间量超出预设存储地址所对应空间量的情况,导致升级程序无法正常存储在预设存储地址。

为了解决上述问题,本发明实施例提供了一种根据升级程序占用空间量与预设存储地址所对应空间量之间的关系,确定升级程序存储方式的方法。

当程序层占用空间量小于等于程序层预设存储地址对应的空间量时,即升级程序可以正常在预设存储地址存储时,可以直接将升级程序发送至与各程序层标识指定的程序层所匹配的程序层预设存储地址。

具体的,当程序层占用空间量小于等于程序层预设存储地址对应的空间量时,可以是先将升级程序缓存至升级备份层,通知物联设备进行升级程序校验,并在校验通过后,将升级程序本地移动至程序层标识指定的程序层所匹配的程序层预设存储地址。此时,进行空间量大小判断的可以是物联设备。

当程序层占用空间量大于程序层预设存储地址对应的空间量时,即升级程序无法在预设存储地址正常存储时,可以采用下述两种解决方式中的任一种。

第一种为:将升级程序发送至全部程序层预设存储地址之后的目的存储地址;通知物联设备各程序层标识指定的程序层所对应的目的存储地址,以使物联设备进行程序层预设存储地址更新。即可以重新分配程序层标识指定的程序层所对应的预设存储地址,具体的,可以将预设存储地址更新为全部程序层存储之后的目的存储地址。程序层标识指定的程序层所对应的当前预设存储地址中的内容可以进行擦除,便于减少空间占用,存储其他内容。

具体的,当程序层占用空间量大于程序层预设存储地址对应的空间量时,可以是先将升级程序缓存至升级备份层,通知物联设备进行升级程序校验,并在校验通过后,将升级程序本地移动至程序层标识指定的程序层所对应的目的存储地址,并进行程序层预设存储地址更新。此时,物联设备可以进行空间量大小的判断,以及目的存储地址的确定。

第二种为:将升级程序发送至各程序层标识指定的程序层所匹配的程序层预设存储地址的起始地址;根据程序层占用空间量与程序层预设存储地址对应空间量的差值,确定程序层标识指定程序层的超出预设存储地址的预增存储地址;通知物联设备,程序层标识指定程序层之后的程序层根据预增存储地址进行本地移动。

其中,预增存储地址可以是升级程序大小超过预设存储地址对应空间量时,需要增加的存储地址。例如,升级程序大小为3.5KB,预设存储地址对应的空间量为3KB,预增存储地址可以是预设存储地址之后空间量为0.5KB的存储地址。即可以将程序层标识指定程序层之后的程序层全部向后移动,让出0.5KB的空间量。物联设备此时可以本地预设存储地址的更新,便于程序调用。

具体的,当程序层占用空间量大于程序层预设存储地址对应的空间量时,可以是先将升级程序缓存至升级备份层,通知物联设备进行升级程序校验,并在校验通过后,将升级程序本地移动至程序层标识指定的程序层所匹配的程序层预设存储地址的起始地址,将程序层标识指定程序层之后的程序层根据预增存储地址进行本地移动。此时,物联设备可以进行空间量大小的判断,以及预增存储地址的确定。由于本地移动的速度远快于从云端进行程序下载的速度,因此,第二种方式不会对升级速度造成明显影响。

本发明实施例的技术方案通过上述的第一种或者第二种方式解决了现有的预设存储地址无法满足升级程序正常存储的问题,可以在不影响升级速度的同时,对升级程序进行正常存储。当升级程序是设备功能层中的设备功能时,可以采用与上述相同的方式进行升级程序与预设存储地址之间的空间量比较,确定升级程序的具体存储方式,此处不再赘述。

在上述实施方式的基础上,可选的,在响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址之前,还包括:获取物联设备针对多个程序层的当前程序对应的占用空间量,所设定的程序层预设存储地址。

其中,物联设备可以根据程序层的当前程序对应的占用空间量,预先进行预设存储地址的设定,可以便于精准地仅针对某一预设存储地址进行程序的擦除与写入,实现对某程序层的程序升级,减少程序升级时的擦除量与写入量,提升升级速度。

具体的,对于各程序层或者设备功能层中的各设备功能,可以按照占用空间量不足1KB时,按照1KB进行预设存储地址分配的原则进行设定,可以在升级时便于程序擦鞋,也可以与后续的程序升级预留空间量,便于升级。其中,设备功能占用空间量较小时,可以与其他设备功能划分为同一预设存储地址,可以起到节省空间的目的。设备功能占用空间量较大时,可以单独划分预设存储地址,便于单独升级,不会对其他设备功能造成影响。

示例性的,表1是物联设备对各程序层(除设备功能层)的一种示例性预设存储地址设定表格;表2是物联设备对设备功能层中的各设备功能的一种示例性预设存储地址设定表格。

表1

表2

如表1和表2所示,物联设备可以根据占用空间量不足1KB按照1KB进行计算的方式,确定预设存储地址,便于预留空间。如表2所示,可以将占用空间量较小的设备功能的预设存储地址进行合并,节省空间。

在上述实施方式的基础上,可选的,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级,包括:获取物联设备中与各待更新程序层对应的当前程序;将升级程序与当前程序进行差分处理,得到差分程序;将差分程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的差分升级。

其中,差分处理可以是当前程序与升级程序之间的内容差异比对。差分程序可以是根据升级程序确定的,需要对当前程序进行修改的程序。具体的,差分程序可以是在当前程序中需要增加或者删除的程序。差分升级可以是依据差分程序在当前程序的基础上进行修改,使当前程序更新为升级程序。

在本发明实施例中,可以针对各程序层或者各设备功能进行差分程序的差分升级,可以避免对全部软件应用程序进行差分升级,可以进一步减少需要升级更新的内容,提升升级速度,减少需要擦除与写入的程序内容。

本实施例的技术方案,通过当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息;当待更新程序层为设备功能层时,根据程序层升级信息,确定设备功能层中的至少一个待更新设备功能以及对应的设备功能升级信息;根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知;和/或,根据待更新设备功能以及对应的设备功能升级信息,向物联设备发送升级通知;响应于物联设备的升级确认指令,将升级程序发送至升级备份层,通知物联设备进行升级程序校验,并将升级备份层中校验通过的升级程序,进行本地移动至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级,解决了物联设备程序升级的问题,实现了提高升级速度、减少程序擦除与写入量以及对升级程序进行备份便于异常处理的效果。

图2b是本发明实施例二提供的一种物联设备的升级方法的流程图,如图2b所示,本发明实施例的物联设备的升级方法的使用过程可以是:

当云端检测到物联设备需要进行升级程序的升级时,可以确定需要升级的程序层或者设备功能中的具体设备功能。例如可以是根据升级程序中的程序层标识或者设备功能标识确定的。对升级程序进行编译,分析升级程序占用空间量,并确定需要升级的程序层或者设备功能所对应的预设存储地址。根据占用空间量与预设存储地址对应空间量之间的比较关系,确定升级程序的存储方式。将升级程序与对应的升级信息进行打包,并上传至服务器,服务器完成升级准备。可以通过智能终端通过物联设备进行程序升级,并获取物联设备的设备信息。将设备信息与升级信息进行比对,确定升级程序是否为物联设备需要进行升级的程序。例如,可以确定升级信息和设备信息中信息是否一致,如信息可以是单片机型号和/或SIM信息。当信息一致时,可以比对程序的版本号,当升级程序的版本序号对应的版本是当前软件应用程序的版本号之后的版本时,确定升级程序是物联设备需要进行升级的程序。物联设备可以在服务器中获取打包后的升级程序,并存储在升级备份层并进行校验。物联设备可以通过校验如循环冗余校验(Cyclic Redundancy Check,CRC),验证数据包的每一帧以及整个数据包是否存在异常。当校验通过时,物联设备可以按照确定存储方式,将升级程序升级到对应的存储地址,并进行升级校验。当升级校验无问题时,确定本次升级成功。

本发明实施例的技术方案解决了物联设备升级包过大的问题,将原有的整个数据包的升级方式变为单个程序层或单个设备功能的升级,提升了升级的效率,降低了数据包的空间占用,同时减少了单片机内存空间的擦写次数。并且做备份升级时,能够大幅减少空间占用情况。相比于之前,需要将整个数据包进行存储的方式,现在只需要将升级的某个程序层或者设备功能对应的程序进行存储,节省空间。

本发明实施例中的差分升级针对的不是整个数据包的差分情况,也不是整个数据包按数据量进行的差分情况,而是针对某个程序层或者设备功能,是部分数据包的体现。若是升级后存在问题也仅仅是一个设备功能的问题,不会对整个设备应用产生影响。

实施例三

图3是本发明实施例三提供的一种物联设备的升级装置的结构示意图。结合图3,该装置包括:程序层信息确定模块310,升级通知发送模块320和升级程序发送模块330。其中:

程序层信息确定模块310,用于当检测到存在物联设备的升级程序时,根据升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成物联设备的全部软件应用程序;

升级通知发送模块320,用于根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知;

升级程序发送模块330,用于响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的升级。

可选的,程序层包括:硬件驱动层、软件公共层、参数层、设备功能层以及系统基础层;

升级通知发送模块320,包括:

设备功能信息确定单元,用于当待更新程序层为设备功能层时,根据程序层升级信息,确定设备功能层中的至少一个待更新设备功能以及对应的设备功能升级信息;

升级通知发送单元,用于根据待更新设备功能以及对应的设备功能升级信息,向物联设备发送升级通知。

可选的,升级通知发送模块320,包括:

设备信息获取单元,用于获取物联设备的设备信息;

又一升级通知发送单元,用于当根据设备信息以及程序层升级信息,确定升级程序为物联设备所匹配的待升级程序时,根据各待更新程序层以及对应的程序层升级信息,向物联设备发送升级通知。

可选的,程序层升级信息,包括:程序层标识、程序层占用空间量以及程序层预设存储地址;

升级程序发送模块330,具体用于:

当程序层占用空间量小于等于程序层预设存储地址对应的空间量时,将升级程序发送至与各程序层标识指定的程序层所匹配的程序层预设存储地址;

当程序层占用空间量大于程序层预设存储地址对应的空间量时,将升级程序发送至全部程序层预设存储地址之后的目的存储地址;

通知物联设备各程序层标识指定的程序层所对应的目的存储地址,以使物联设备进行程序层预设存储地址更新;或者,

当程序层占用空间量大于程序层预设存储地址对应的空间量时,将升级程序发送至各程序层标识指定的程序层所匹配的程序层预设存储地址的起始地址;

根据程序层占用空间量与程序层预设存储地址对应空间量的差值,确定程序层标识指定程序层的超出预设存储地址的预增存储地址;

通知物联设备,程序层标识指定程序层之后的程序层根据预增存储地址进行本地移动。

可选的,程序层包括:升级备份层;

升级程序发送模块330,包括:

升级程序发送单元,用于将升级程序发送至升级备份层,通知物联设备进行升级程序校验,并将升级备份层中校验通过的升级程序,进行本地移动至与各待更新程序层的程序层升级信息所匹配的存储地址。

可选的,升级程序发送模块330,包括:

当前程序获取单元,用于获取物联设备中与各待更新程序层对应的当前程序;

差分程序确定单元,用于将升级程序与当前程序进行差分处理,得到差分程序;

差分程序发送单元,用于将差分程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址,以使物联设备进行各待更新程序层的差分升级。

可选的,该装置,还包括:

预设存储地址获取模块,用于在响应于物联设备的升级确认指令,将升级程序发送至与各待更新程序层的程序层升级信息所匹配的存储地址之前,获取物联设备针对多个程序层的当前程序对应的占用空间量,所设定的程序层预设存储地址。

本发明实施例所提供的物联设备的升级装置可执行本发明任意实施例所提供的物联设备的升级方法,具备执行方法相应的功能模块和有益效果。

实施例四

图4是本发明实施例四提供的一种电子设备的结构示意图,如图4所示,该设备包括:

一个或多个处理器510,图4中以一个处理器510为例;

存储器520;

所述设备还可以包括:输入装置530和输出装置540。

所述设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图4中以通过总线连接为例。

存储器520作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种物联设备的升级方法对应的程序指令/模块(例如,附图3所示的程序层信息确定模块310,升级通知发送模块320和升级程序发送模块330)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种物联设备的升级方法,即:

当检测到存在物联设备的升级程序时,根据所述升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成所述物联设备的全部软件应用程序;

根据各所述待更新程序层以及对应的程序层升级信息,向所述物联设备发送升级通知;

响应于所述物联设备的升级确认指令,将所述升级程序发送至与各所述待更新程序层的程序层升级信息所匹配的存储地址,以使所述物联设备进行各所述待更新程序层的升级。

存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。

实施例五

本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的一种物联设备的升级方法:

当检测到存在物联设备的升级程序时,根据所述升级程序确定至少一个待更新程序层以及对应的程序层升级信息;其中,多个程序层的程序共同构成所述物联设备的全部软件应用程序;

根据各所述待更新程序层以及对应的程序层升级信息,向所述物联设备发送升级通知;

响应于所述物联设备的升级确认指令,将所述升级程序发送至与各所述待更新程序层的程序层升级信息所匹配的存储地址,以使所述物联设备进行各所述待更新程序层的升级。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:应用升级方法、装置、计算机设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!