设备升级的方法、装置和系统与流程

文档序号:11234434阅读:450来源:国知局
设备升级的方法、装置和系统与流程

本发明涉及设备升级领域,具体而言,涉及一种设备升级的方法、装置和系统。



背景技术:

工业设备在出厂时设置有预定的程序,在使用的过程中,随着新的程序的研发,还需要进行设备的升级。以智能开关为例,现有技术中对智能开关等设备或其他工业品的软件升级,一般是利用编程线缆进行芯片编程或使用文件拷贝等方式替换执行文件。还有一些技术采用无线传输等技术进行软件升级。

但使用编程线的方式,复杂繁琐,必须有运行维护人员亲自进行操作,从而导致成本高昂,费时费力。

针对现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种设备升级的方法、装置和系统,以至少解决现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

根据本发明实施例的一个方面,提供了一种设备升级的方法,包括:接收设备发送的更新许可,其中,更新许可与设备的设备信息相对应;对设备的更新许可进行验证;如果验证成功,则将预存的固件数据发送至设备。

根据本发明实施例的另一方面,还提供了一种设备升级的方法,包括:向远端服务器发送更新许可,其中,更新许可用于远端服务器对待更新固件的设备进行验证;接收远端服务器返回的固件数据,并根据固件数据进行更新。

根据本发明实施例的另一方面,还提供了一种设备升级的装置,包括:接收模块,用于接收设备发送的更新许可,其中,更新许可与设备的设备信息相对应;验证模块,用于对设备的更新许可进行验证;发送模块,用于如果验证成功,则将预存的固件数据发送至设备。

根据本发明实施例的另一方面,还提供了一种设备升级的装置,包括:发送模块,用于向远端服务器发送更新许可,其中,更新许可用于远端服务器对待更新固件的设备进行验证;更新模块,用于接收远端服务器返回的固件数据,并根据固件数据进行更新。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的设备升级的方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的设备升级的方法。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的设备升级的方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的设备升级的方法。

在本发明实施例中,接收设备发送的更新许可,对设备的更新许可进行验证,如果验证成功,则将预存的固件数据发送至设备。上述方案通过对与设备的设备信息对应的更新许可进行验证,从而确定更新设备是否满足更新固件的条件,在验证成功的情况下确定设备可以进行固件更新,并将固件数据发送至设备。上述方案不仅不需要人为的将固件数据导入设备,还能够确保固件设备的升级安全问题。从而解决了现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的设备升级的方法的流程图;

图2是根据本发明实施例的设备升级的方法的流程图;

图3是根据本申请实施例的一种可选的设备升级的方法的流程图;

图4是根据本申请实施例的一种可选的设备升级的装置的示意图;

图5是根据本申请实施例的一种可选的设备升级的装置的示意图;以及

图6是根据本申请实施例的一种设备升级的系统的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于理解,下面,将下述实施例中的名词进行解释:

空中升级:即ota(over-the-air)升级,其本质是利用了移动互联网络,进行的获取固件、校验、运行文件替换升级等一系列流程。

bootloader:用于在软件正式执行之前,执行例如升级将要执行的软件等其他操作,然后引导设备跳转到软件的起始位置开始执行程序。

实施例1

根据本发明实施例,提供了一种设备升级的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的设备升级的方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,接收设备发送的更新许可,其中,更新许可与设备的设备信息相对应。

具体的,可以通过远程服务器来接收上述设备发送的更新许可,上述设备可以是待进行固件更新的智能开关,设备发送的更新许可可以为证书等数据,用于远程服务器验证是否能够对设备进行更新,远程服务器可以存储有待更新的固件数据。

以智能开关为例,设备的设备信息可以是每个智能开关在出厂后固有的凭证,例如,可以是智能开关电路板中cpu的标识,可以是智能开关的出厂设备串号等信息。一个设备仅有对应的唯一一个设备信息,也即一个设备在一次更新中只能有对应的唯一一个更新许可。

步骤s104,对设备的更新许可进行验证。

在上述步骤中,设备可以将设备发送的更新许可预存的更新许可进行比对,来验证设备的更新许可。

步骤s106,如果验证成功,则将预存的固件数据发送至设备。

在一种可选的实施例中,在商家向用户出售智能开关之后,用户得知智能开关中的固件存在新的可更新的版本,需要对智能开关进行更新,因此智能开关向远端服务器发送与智能开关的设备信息对应的更新许可,远程服务器对更新许可验证成功后,向智能开关返回固件数据,以使智能开关使用远程服务器返回的固件数据进行固件更新。

在另一种可选的实施例中,仿造的智能开关为了获取商家在远端服务器中存储的更新的固件数据,伪造更新许可,并将伪造的更新许可发送至远端服务器,由于更新许可为伪造的更新许可,因此远端服务器对更新许可进行验证失败,在验证失败的情况下,禁止将固件数据下发至智能开关,从而杜绝伪造的智能开关获取更新固件。

此处需要说明的是,上述向设备发送更新许可的设备可以是一个待进行固件更新的设备,也可以是多个待进行固件更新的设备集群。远端服务器可以一次更新一个设备,也可以一次更新多个设备。

此处还需要说明的是,由于上述方案在设备升级时需要验证更新许可,因此远程服务器可以在客户端查询的时候灵活的根据用户设定的策略,选择是否颁发升级的许可。而不是像目前的设备升级系统,发布新软件后所有设备都可以直接升级。

由上可知,本申请上述实施例接收设备发送的更新许可,对设备的更新许可进行验证,如果验证成功,则将预存的固件数据发送至设备。上述方案通过对与设备的设备信息对应的更新许可进行验证,从而确定更新设备是否满足更新固件的条件,在验证成功的情况下确定设备可以进行固件更新,并将固件数据发送至设备。上述方案不仅不需要人为的将固件数据导入设备,还能够确保固件设备的升级安全问题。从而解决了现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

可选的,根据本申请上述实施例,在接收设备发送的更新许可之前,方法还包括:

步骤s108,接收设备发送的设备信息,并对设备信息进行验证。

仍以智能开关为例,上述设备信息可以为智能开关,智能开关的设备信息可以是每个智能开关在出厂后固有的凭证,例如,可以是智能开关电路板上的cpu标识,可以是智能开关的出厂设备串号等信息,一个设备仅有对应的唯一一个设备信息。

步骤s1010,在设备信息验证成功的情况下,根据设备信息生成更新许可,并向设备发送更新许可和固件信息,其中,固件信息用于表征待更新固件的属性信息。

具体的,上述待更新固件的属性信息可以包括:待更新固件的版本号、数据大小等信息。根据设备信息生成的更新许可与设备信息一一对应,即一个设备信息再一次更新过程中仅能生成一个更新许可。

上述步骤可以由远端服务器中的查询接口服务器执行。

可选的,根据本申请上述实施例,在将固件数据发送至设备的同时,上述方法还包括:

步骤s1014,生成任务标志信息,其中,任务标志信息用于表征向设备发送固件数据的进度。

具体的,上述任务标识信息由远端服务器生成。例如,远端服务器已将75%的固件数据发送至设备,则任务标志信息可以为75%。

步骤s1016,将任务标志信息发送至进度监控服务器。

具体的,上述进度监控服务器用于监控设备升级的进度,包括控远端服务器向设备发送固件数据的进度。

实施例2

根据本发明实施例,提供了一种设备升级的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本发明实施例的设备升级的方法的流程图,如图2所示,该方法包括如下步骤:

步骤s202,向远端服务器发送更新许可,其中,所述更新许可用于所述远端服务器对待更新固件的设备进行验证。

在上述步骤中,向远端服务器发送更新许可,可以是向远端服务器中的固件下载服务器发送的更新许可,如果远端服务器对更新许可验证成功,则向设备发送待更新固件的固件数据。

步骤s204,接收远端服务器返回的固件数据,并根据固件数据进行更新。

具体的,上述固件数据可以是远端服务器中的固件下载服务器向设备发送。在一种可选的实施例中,固件下载服务器在接收到设备发送的更新许可之后对更新许可进行验证,在验证成功的情况下向设备返回固件数据,设备根据固件数据进行固件更新。

由上可知,本申请上述实施例,向固件下载服务器发送更新许可,接收固件下载服务器返回的固件数据,并根据固件数据进行更新。上述方案通过向远端服务器发送待验证的更新许可,从而使远端服务器确定设备是否满足更新固件的条件,在验证成功的情况下确定设备可以进行固件更新,并将固件数据发送至设备。上述方案不仅不需要人为的将固件数据导入设备,还能够确保固件设备的升级安全问题。从而解决了现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

可选的,根据本申请上述实施例,在向远端服务器发送更新许可之前,方法还包括:

步骤s206,根据预设指令触发启动更新。

具体的,上述预设指令可以是设备端的ota组件接收到的远程指令,也可以是设备端本地的控制命令。远程指令和控制命令都可以对设备进行单一更新控制,或对多个设备构成的设备集群进行批量更新控制。为了便于发送远程服务器是否存在最新的可更新固件,设备端可以选择远程服务器在生成新的可更新固件时向设备端进行推送,再由用户在设备端确定是否进行更新,或设备端对远端服务器进行主动巡检,在检查到新的可更新固件时,再由用户在设备端确定是否进行固件的更新。

步骤s208,向接口服务器发送设备信息。

具体的,上述设备信息可以是与设备一一对应的标识信息,以智能开关为例,设备的设备信息可以是每个智能开关在出厂后固有的凭证,例如,可以是智能开关电路板上的cpu标识,可以是智能开关的出厂设备串号等信息。

接收接口服务器返回的固件信息和更新许可,其中,固件信息用于表征待更新固件的属性信息。

可选的,根据本申请上述实施例,接收远端服务器返回的固件数据,并根据固件数据进行更新,包括:

步骤s2041,根据固件信息生成临时存储区,并将固件数据存储至临时存储区。

步骤s2043,将固件数据中的验证信息与固件信息中的验证信息进行比对。

具体的,上述验证信息可以为签名信息,验证步骤用于确定接收到的固件数据为待更新的固件数据,在固件数据中的签名与固件信息中的签名不一致的情况下,可以禁止设备进行更新,并向远端服务器返回验证结果。

步骤s2045,在固件数据中的验证信息与固件数据中的验证信息一致的情况下,根据固件数据对设备进行更新。

可选的,根据本申请上述实施例,在根据固件数据对设备进行更新之后,方法还包括:

步骤s2010,清空临时存储区。

步骤s2012,将升级结果发送至进度监控服务器。

具体的,上述进度监控服务器可以属于远端服务器中的进度监控服务器,用于监控设备升级的进度。在进度监控服务器接收到升级结果,设备以更新后的固件运行,完成设备的ota。

图3是根据本申请实施例的一种可选的设备升级的方法的流程图,下面,结合图3所示的示例,对一种设备的升级方法的实施例进行描述,在该示例中,设备处于本地的设备端,查询接口服务器

步骤s301,设备60向查询接口服务器621发送设备信息。

具体的,以设备为智能开关为例,上述设备信息可以为智能开关在出厂后固有的凭证,例如,可以是智能开关电路板上的cpu标识,可以是智能开关的出厂设备串号等信息。

在上述步骤中,设备的ota组件接收到远程命令或本地控制命令,启动更新流程。启动后将设备系统信息提交到远端升级服务端的查询接口服务中,以获取当前远端服务端所提供的最新软件信息。

步骤s302,查询接口服务器621向设备60返回固件信息和更新许可。

具体的,上述更新许可根据设备的设备信息生成,因此预设被具有一一对应的关系,上述固件信息可以为固件的属性信息,例如固件的版本号、文件大小等信息。

在上述步骤中,远端服务器将最新提供的固件信息返回给设备。返回的信息中包含一份对于此次升级生成的升级许可,即上述更新许可。此许可用于验证升级操作的有效性,以及作为升级过程保存在远端服务端的凭据。

步骤s303,查询接口服务器621将更新许可的信息发送至固件下载服务器623。

在上述步骤中,查询接口服务器将设备的更新许可发送至固件下载服务器,用于固件下载服务器对更新许可进行验证。

步骤s304,设备60根据固件信息准备临时存储区,并向固件下载服务器623发送更新许可。

在上述步骤中,按照固件信息中描述,准备出用于存储下载的固件数据的临时存储区,并将更新许可提交给下载服务以启动数据下载。

步骤s305,在固件下载服务器623对设备60的更新许可验证成功的情况下,将固件数据发送至设备。

当临时存储区准备就绪后,远端的固件下载服务将许可中标记的固件数据以流的形式传输给设备,设备将数据保存到刚准备的临时存储区。

步骤s306,固件下载服务器623在对设备60发送固件数据的同时,向进度监控服务器625返回发送固件数据的进度数据。

远端服务器在发送数据完成之后,将发送的结果以及下一步的信息告知给进度监控服务用以监控设备端的升级进度。

步骤s307,设备60使用固件数据进行更新。

设备在接收到固件数据之后,首先将固件数据中的验证信息(例如:签名)与固件信息中的验证信息进行匹配,在匹配成功的情况下确定给固件数据为向远端服务器所请求的固件数据。在对固件数据验证成功后,升级组件通知bootloader(引导模式)下载数据位置等信息,然后重新引导设备。在bootloader启动后,如果检测到标记位中包含升级软件的标记,则将会执行软件主程序更新的操作,替换芯片内程序的存储区内容为bootloader下载的新软件数据(即在临时存储区中存储的固件数据),然后进行数据校验,最后清除临时存储区。

步骤s308,设备60更新固件成功后,生成升级结果报告,并将升级结果发送至进度监控服务器625,进度监控服务器用于监控设备的升级进度,记录此次升级的所有流程和结果,还能够将此次升级的流程和结果显示至供用户查询的界面中。

实施例3

根据本发明实施例,提供了一种设备升级的装置的实施例,图4是根据本申请实施例的一种可选的设备升级的装置的示意图,结合图4所示,该装置包括:

接收模块40,用于接收设备发送的更新许可,其中,更新许可与设备的设备信息相对应。

具体的,可以通过远程服务器来接收上述设备发送的更新许可,上述设备可以是待进行固件更新的智能开关,设备发送的更新许可可以为证书等数据,用于远程服务器验证是否能够对设备进行更新,远程服务器可以存储有待更新的固件数据。

验证模块42,用于对设备的更新许可进行验证。

发送模块44,用于如果验证成功,则将预存的固件数据发送至设备。

此处需要说明的是,上述向设备发送更新许可的设备可以是一个待进行固件更新的设备,也可以是多个待进行固件更新的设备集群。远端服务器可以一次更新一个设备,也可以一次更新多个设备。

此处还需要说明的是,由于上述方案在设备升级时需要验证更新许可,因此远程服务器可以在客户端查询的时候灵活的根据用户设定的策略,选择是否颁发升级的许可。而不是像目前的设备升级系统,发布新软件后所有设备都可以直接升级。

由上可知,本申请上述实施例通过接收模块接收设备发送的更新许可,通过验证模块对设备的更新许可进行验证,如果验证成功,则通过发送模块将预存的固件数据发送至设备。上述方案通过对与设备的设备信息对应的更新许可进行验证,从而确定更新设备是否满足更新固件的条件,在验证成功的情况下确定设备可以进行固件更新,并将固件数据发送至设备。上述方案不仅不需要人为的将固件数据导入设备,还能够确保固件设备的升级安全问题。从而解决了现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

实施例4

根据本发明实施例,提供了一种设备升级的装置的实施例,图5是根据本申请实施例的一种可选的设备升级的装置的示意图,结合图5所示,该装置包括:

发送模块50,用于向远端服务器发送更新许可,其中,更新许可用于远端服务器对待更新固件的设备进行验证。

更新模块52,用于接收远端服务器返回的固件数据,并根据固件数据进行更新。

由上可知,本申请上述实施例,通过发送模块向固件下载服务器发送更新许可,通过更新模块接收固件下载服务器返回的固件数据,并根据固件数据进行更新。上述方案通过向远端服务器发送待验证的更新许可,从而使远端服务器确定设备是否满足更新固件的条件,在验证成功的情况下确定设备可以进行固件更新,并将固件数据发送至设备。上述方案不仅不需要人为的将固件数据导入设备,还能够确保固件设备的升级安全问题。从而解决了现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

实施例5

根据本发明实施例,提供了一种设备升级的系统的实施例,图6是根据本申请实施例的一种设备升级的系统的示意图,结合图6所示,该系统包括:

设备60,向远端服务器发送更新许可。

远端服务器62,与设备通信,对更新许可进行验证,如果验证成功,则将预存的固件数据发送至设备。

此处需要说明的是,上述向设备发送更新许可的设备可以是一个待进行固件更新的设备,也可以是多个待进行固件更新的设备集群。远端服务器可以一次更新一个设备,也可以一次更新多个设备。

此处还需要说明的是,由于上述方案在设备升级时需要验证更新许可,因此远程服务器可以在客户端查询的时候灵活的根据用户设定的策略,选择是否颁发升级的许可。而不是像目前的设备升级系统,发布新软件后所有设备都可以直接升级。

由上可知,本申请上述实施例接收设备发送的更新许可,对设备的更新许可进行验证,如果验证成功,则将预存的固件数据发送至设备。上述方案通过对与设备的设备信息对应的更新许可进行验证,从而确定更新设备是否满足更新固件的条件,在验证成功的情况下确定设备可以进行固件更新,并将固件数据发送至设备。上述方案不仅不需要人为的将固件数据导入设备,还能够确保固件设备的升级安全问题。从而解决了现有技术中设备的升级通常使用编程线的方式,必须有运行维护人员亲自进行操作,从而导致升级成本高的技术问题。

实施例6

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例1中任意一项的设备升级的方法。

上述设备升级的方法可如实施例1所示,此处不再赘述。

实施例7

根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例1中任意一项的设备升级的方法。

上述设备升级的方法可如实施例1所示,此处不再赘述。

实施例8

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例2中任意一项的设备升级的方法。

上述设备升级的方法可如实施例2所示,此处不再赘述。

实施例9

根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例2中任意一项的设备升级的方法。

上述设备升级的方法可如实施例2所示,此处不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1