物联网终端的共享升级方法、装置、物联网终端及介质与流程

文档序号:24647849发布日期:2021-04-13 16:02阅读:81来源:国知局
物联网终端的共享升级方法、装置、物联网终端及介质与流程

1.本发明涉及信息技术领域,尤其涉及的是一种物联网终端的共享升级方法、装置、物联网终端及介质。


背景技术:

2.物联网是一个基于互联网、传统电信网等的信息承载体,让独立的物理对象形成互联互通的网络。随着物联网的发展,组成物联的各种终端成为不可或缺的部分。在终端的使用过程中,需要不断地对终端软件进行升级。现有技术在对终端进行固件升级时,通常采用从服务器直接下载升级包的方式,再利用升级包对终端上的软件进行升级。
3.在对物联网终端进行远程升级的过程中,当网络信号不稳定或者大量终端同时接入服务器时,容易出现网络拥塞,从而导致升级不及时,甚至出现升级失败的情况,严重地影响到了整个物联网的稳定和完善。


技术实现要素:

4.本发明提供一种物联网终端的共享升级方法、装置、物联网终端及介质,以解决现有技术在对物联网终端进行固件升级时存在的升级不及时、升级失败的问题。
5.本发明是这样实现的,一种物联网终端的共享升级方法,应用于第一物联网终端,包括:
6.向第二物联网终端发送第一共享请求信息,所述第一共享请求信息中包括待升级固件的目标升级版本号,以及所述第一物联网终端已下载的升级分包的分包标识;
7.接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据,将所述第一共享数据保存至本地,所述第一共享数据中包括所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包;
8.接收所述第二物联网终端发送的第二共享请求信息,所述第二共享请求信息中包括所述第二物联网终端已下载所述待升级固件的升级分包的分包标识;
9.根据所述第二共享请求信息生成第二共享数据,所述第二共享数据中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包,并将所述第二共享数据发送至所述第二物联网终端,以使所述第二物联网终端将所述第二共享数据保存至本地。
10.可选地,所述接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据,将所述第一共享数据保存至本地包括:
11.接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据及第一密钥密文;
12.根据所述第一密钥密文得到第一密钥,使用所述第一密钥对所述第一共享数据进行解密,得到所述第一共享数据中的升级分包,并将所得到的升级分包保存至对应的分包文件中。
13.可选地,所述根据所述第二共享请求信息生成第二共享数据,所述第二共享数据
中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包包括:
14.根据所述目标升级版本号、所述第一物联网终端已下载的升级分包的分包标识,以及所述第二物联网终端已下载所述待升级固件的升级分包的分包标识,得到所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包。
15.可选地,在得到所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包之后,所述方法还包括:
16.使用第二密钥对所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包进行加密,得到第二共享数据;
17.对所述第二密钥进行加密,得到第二密钥密文;
18.将所述第二共享数据及第二密钥密文发送至所述第二物联网终端。
19.可选地,在将所述第一共享数据保存至本地之后,所述方法还包括:
20.在下载得到所述待升级固件的所有升级分包后,组合所有升级分包,得到所述待升级固件的目标升级固件,根据所述目标升级固件对所述待升级固件进行升级。
21.可选地,所述方法还包括:
22.所述第一物联网终端在唤醒时,与服务器建立通信连接;
23.在建立通信连接后,所述第一物联网终端向所述服务器发送同步信息;
24.所述第一物联网终端接收服务器根据所述同步信息返回的升级信息,所述升级信息中包括待升级固件的目标升级版本号和目标升级固件的大小、分包大小;
25.所述第一物联网终端根据所述目标升级固件的大小和分包大小计算分包数,并按照所述分包数在本地创建分包文件。
26.可选地,所述升级信息中还包括目标升级固件的升级地址,在按照所述分包数在本地创建分包文件后,所述方法还包括:
27.按照所述升级地址从服务器下载所述待升级固件的升级数据;
28.对所述升级数据进行解密,得到所述升级数据中的升级分包,并将所述升级分包保存至对应的分包文件中。
29.可选地,所述升级信息中包括目标升级固件的md5值,所述在下载得到所述待升级固件的所有升级分包后,组合所有升级分包,得到所述待升级固件的目标升级固件,根据所述目标升级固件对所述待升级固件进行升级包括:
30.在下载得到所述待升级固件的所有升级分包后,对所有已下载的升级分包进行排序,得到目标升级固件;
31.计算所述目标升级固件的md5校验值;
32.将计算得到的md5校验值与服务器下发的md5校验值进行比较;
33.若两者一致,则对所述待升级固件进行备份,根据所述目标升级固件对所述待升级固件进行升级。
34.一种物联网终端的共享升级装置,包括:
35.请求发送模块,用于向第二物联网终端发送第一共享请求信息,所述第一共享请求信息中包括待升级固件的目标升级版本号,以及所述第一物联网终端已下载的升级分包的分包标识;
36.数据接收模块,用于接收所述第二物联网终端根据所述第一共享请求信息发送的
第一共享数据,将所述第一共享数据保存至本地,所述第一共享数据中包括所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包;
37.请求接收模块,用于接收所述第二物联网终端发送的第二共享请求信息,所述第二共享请求信息中包括所述第二物联网终端已下载所述待升级固件的升级分包的分包标识;
38.数据共享模块,用于根据所述第二共享请求信息生成第二共享数据,所述第二共享数据中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包,并将所述第二共享数据发送至所述第二物联网终端,以使所述第二物联网终端将所述第二共享数据保存至本地。
39.一种物联网终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述的物联网终端的共享升级方法。
40.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述物联网终端的共享升级方法。
41.本发明实施例改进了现有物联网终端下载待升级固件的升级分包的方式,通过向第二物联网终端发送第一共享请求信息,所述第一共享请求信息中包括待升级固件的目标升级版本号,以及所述第一物联网终端已下载的升级分包的分包标识;接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据,将所述第一共享数据保存至本地,所述第一共享数据中包括所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包;接收所述第二物联网终端发送的第二共享请求信息,所述第二共享请求信息中包括所述第二物联网终端已下载所述待升级固件的升级分包的分包标识;根据所述第二共享请求信息生成第二共享数据,所述第二共享数据中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包,并将所述第二共享数据发送至所述第二物联网终端,以使所述第二物联网终端将所述第二共享数据保存至本地,从而扩展了物联网终端下载待升级固件的升级分包的方式,实现了物联网终端之间共享固件升级,有利于提高物联网终端升级的成功率,解决了现有技术在对物联网终端进行固件升级时存在的升级不及时、升级失败的问题。
附图说明
42.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1是本发明一实施例提供的物联网的组成示意图;
44.图2是本发明一实施例提供的物联网终端的共享升级方法的实现流程图;
45.图3是本发明另一实施例提供的物联网终端的共享升级方法的实现流程图;
46.图4是本发明另一实施例提供的物联网终端的共享升级方法中步骤s305的实现流程图;
47.图5是本发明另一实施例提供的物联网终端的共享升级方法中步骤s311的实现流
程图;
48.图6是本发明一实施例提供的物联网终端的共享升级装置的组成结构图;
49.图7是本发明一实施例中物联网终端的一示意图。
具体实施方式
50.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
51.本发明实施例解决了现有技术在对物联网终端进行固件升级时存在的升级不及时、升级失败的问题,通过改进物联网终端获取待升级固件的方式,基于多点连接多途径下载的方式,在物联网终端向服务器下载待升级固件的基础上,叠加物联网终端之间共享待升级固件的升级分包,从而有效地提高了物联网终端获取待升级固件的效率,提高了物联网终端升级的成功率。以下对本实施例提供的物联网终端的共享升级方法进行详细的描述。
52.图1是本发明提供的物联网的组成示意图,包括服务器1、至少两个物联网终端2。所述物联网终端2包括但不限于车载终端、物流终端、各类传感器的远程监管终端,彼此之间能够建立通信连接,也可以与服务器建立通信连接。
53.所述服务器1为计算机设备,用于管理员发布待升级固件的升级分包,即目标升级固件的分包。管理员预先将物联网终端2的目标升级固件上传至所述服务器1。所述服务器1根据所述目标升级固件计算md5校验值,并根据目标升级固件的大小、网络状态、存储空间以及处理器性能,对所述目标升级固件进行分包处理,把相对较大的目标升级固件均匀地划分为预设大小的若干个升级分包,比如大小为512byte、1024byte、2048byte的升级分包,其中对最后一个升级分包在末尾处添加空闲字节进行补充。然后按照划分的先后顺序对所述升级分包进行编号,得到升级分包对应的标识。本发明实施例通过将目标升级固件划分为多个升级分包进行传输,可以在物联网终端网速较低且不稳定的情况下,保障每一个升级分包能够在短暂的网络状态下传输完,提高了每一升级分包的传输成功率,进而提高整个目标升级固件的传输成功率;同时由于物联网终端处理器的内存存储空间较小、处理性能偏低,每次只能处理一个升级分包大小的数据,因此分包处理能够有效适配终端处理器的数据存储空间和处理性能需求。
54.图2为本发明提供的物联网终端的共享升级方法的实现流程图。在图2中,物联网终端通过与服务器交互下载待升级固件的升级分包。如图2所示,所述物联网终端的共享升级方法包括:
55.在步骤s201中,所述第一物联网终端在唤醒时,与服务器建立通信连接。
56.在这里,物联网终端在休眠唤醒或者开机后,比如检测到主板电压发生变化或者检测到振动,会通过网络连接到服务器,与服务器建立通信连接。
57.在步骤s202中,在建立通信连接后,所述第一物联网终端向所述服务器发送同步信息。
58.其中,所述同步信息包括但不限于所述第一物联网终端本地的固件版本号和固件下载状态。所述固件下载状态用于表示所述第一物联网终端已下载目标升级固件的升级分
包的分包标识,包括固件升级标志和已下载分包标识。在与服务器建立通信连接后,所述第一物联网终端会将本地的固件版本号、固件下载状态作为同步信息发送至所述服务器。
59.在步骤s203中,所述服务器根据所述同步信息获取升级信息,并将所述升级信息发送至所述第一物联网终端。
60.所述服务器在接收到同步信息后,将所述同步信息中的固件版本号和目标升级固件的版本号进行比较,若所述固件版本号和目标升级固件的版本号不一致时,继续判断所述固件下载状态中是否存在固件升级标志,若不存在时,表示所述第一物联网终端未开始下载所述待升级固件,所述服务器将所述待升级固件的目标升级版本号和目标升级固件的大小、分包大小、md5校验值、升级地址进行打包,生成升级信息,并将所述升级信息下发至所述第一物联网终端,以供所述第一物联网终端进行固件升级。
61.若所述固件版本号和目标升级固件的版本号一致时,表示所述第一物联网终端中的固件为最新版本,无需进行固件升级。或者,若所述固件版本号和所述目标升级固件的版本号不一致,且所述固件下载状态中存在固件升级标志,则表示所述第一物联网终端已开始下载待升级固件,但未下载完所有的升级分包,此时所述服务器不返回升级信息,而是等待所述第一物联网终端来下载升级分包。
62.在步骤s204中,所述第一物联网终端接收服务器根据所述同步信息返回的升级信息。
63.如前所述,所述升级信息中包括待升级固件的目标升级版本号和目标升级固件的大小、分包大小、md5校验值、升级地址。若所述第一物联网终端接收到升级信息时,根据所述升级信息进行分包预处理。
64.在步骤s205中,所述第一物联网终端根据所述目标升级固件的大小和分包大小计算分包数,并按照所述分包数在本地创建分包文件。
65.在分包预处理的过程中,所述第一物联网终端首先根据所述目标升级固件的大小和分包大小,计算出所述目标升级固件的分包数,所述分包数是指所述目标升级固件总共有多少个升级分包。然后按照所述分包数,使用文件系统在本地创建对应个数的分包文件,并对每一个分包文件进行统一标识。在这里,所述分包文件用于存储从服务器下载或者物联网终端共享的升级分包,其中一个分包文件对应存储一个升级分包,且所述分包文件和升级分包的标识是对应的。
66.在步骤s206中,所述服务器对所述目标升级固件的升级分包进行加密得到升级数据。
67.在这里,本发明实施例中物联网终端与服务器之间采用加密传输方式。可选地,作为本发明的一个优选示例,服务器可以采用aes对称算法产生密钥,并使用所述密钥对所述目标升级固件的升级分包进行加密,得到升级数据。
68.在步骤s207中,所述第一物联网终端按照所述升级地址从服务器下载所述待升级固件的升级数据。
69.在这里,所述第一物联网终端通过所述升级地址访问所述服务器,并从所述服务器中下载所述待升级固件的升级数据。
70.在步骤s208中,所述第一物联网终端对所述升级数据进行解密,得到所述升级数据中的升级分包,并将所述升级分包保存至对应的分包文件中。
71.可选地,作为本发明的一个优选示例,在采用aes对称算法产生密钥完成升级分包加密后,本发明实施例还对所述密钥进行加密。其中,由第一物联网终端采用sm2国密非对称算法产生公钥和私钥,保留私钥,并将所述公钥分享至服务器,服务器在在采用aes对称算法产生密钥完成升级分包加密后,使用所述公钥对所述aes对称算法产生的密钥进行加密,得到第三密钥密文。所述服务器进一步将所述第三密钥密文传输至所述第一物联网终端,从而完成服务器与第一物联网终端之间的密钥交换。
72.在这里,作为本发明的一个优选示例,所述服务器可以采用统一的密钥对所述待升级固件的升级分包进行加密,分别得到对应的升级数据。此时,所述服务器在传输所述待升级固件的首个升级数据之前将所述第三密钥密文发送至所述第一物联网终端,后续不再发送所述第三密钥密文。作为本发明的另一个优选示例,所述服务器也可以针对每一个升级分包产生对应的互不相同的密钥,然后使用密钥为对应的升级分包进行加密,得到升级数据。此时,所述服务器在传输每一个升级数据之前将所述第三密钥密文发送至所述第一物联网终端。
73.所述第一物联网终端根据保留的私钥对所述第三密钥密文进行解密,从中得到对所述升级分包进行解密的密钥。然后按照所述密钥对所述升级数据进行解密,得到升级数据中的升级分包,并将所述升级分包存储至分包预处理中所创建的分包文件中,以及更新所述固件下载状态中当前已下载的待升级固件的升级分包的标识。
74.上述步骤s201至步骤s208是第一物联网终端从服务器上下载待升级固件的升级分包的过程。在本实施例中,第一物联网终端唤醒时,除了与服务器建立连接通信外,还可同步与至少一个第二物联网终端建立连接通信,以与所述第二物联网终端进行固件共享。应当理解,所述第一、第二仅用于区分不同的物联网终端。图3为本发明提供的物联网终端的共享升级方法的另一实现流程图。在图3中,物联网终端之间交互共享待升级固件。如图3所示,所述物联网终端的共享升级方法包括:
75.在步骤s301中,第一物联网终端在唤醒时,与第二物联网终端建立通信连接。
76.在这里,物联网终端在休眠唤醒或者开机后,会通过蓝牙、wifi等短距离连接方式连接到附近的第二物联网终端,与第二物联网终端建立通信连接。
77.在步骤s302中,在建立通信连接后,所述第一物联网终端向所述第二物联网终端发送第一共享请求信息。
78.其中,所述第一共享请求信息中包括待升级固件的目标升级版本号,以及所述第一物联网终端已下载的升级分包的分包标识。在本实施例中,建立通信连接的所述第一物联网终端与所述第二物联网终端之间相互交换本地当前的升级信息,以使对方获悉己方当前待升级固件的目标升级版本号、未下载或者已下载的升级分包及升级标识,从而使得物联网终端之间只传输未下载的升级分包。
79.在步骤s303中,所述第二物联网终端接收第一共享请求信息,根据所述第一共享请求信息生成第一共享数据,所述第一共享数据中包括所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包。
80.在这里,所述第二物联网终端比较所述第一物联网终端当前待升级固件的目标升级版本号和本地当前的待升级固件的目标升级版本号,若两者相同,则根据本地已下载的升级分包的分包标识和所述第一物联网终端已下载的升级分包的分包标识,得到所述第二
物联网终端已下载且所述第一物联网终端未下载的升级分包。
81.在步骤s304中,所述第二物联网终端将所述第一共享数据发送至所述第一物联网终端。
82.在步骤s305中,所述第一物联网终端接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据,将所述第一共享数据保存至本地。
83.在这里,所述第一物联网终端在接收到第一共享数据后,将所述第一共享数据中的升级分包保存至对应的分包文件中。
84.可选地,本发明实施例中物联网终端之间采用加密的方式进行数据传输。作为本发明的一个优选示例,所述第一物联网终端首先根据sm2国密非对称算法产生公钥和私钥,保留所述私钥,将所述公钥分享至所述第二物联网终端。所述第二物联网终端采用aes对称算法产生第一密钥,使用所述第一密钥对所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包进行加密,得到第一共享数据;然后采用第一物联网终端分享的公钥,对所述aes对称算法产生的第一密钥进行加密,得到第一密钥密文,并将第一密钥密文发送至所述第一物联网终端,以实现物联网终端之间的密钥交换。如图4所述,步骤s305还包括:
85.在步骤s401中,所述第一物联网终端接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据及第一密钥密文。
86.在这里,作为本发明的一个优选示例,所述第二物联网终端可以采用统一的第一密钥对所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包进行加密,分别得到对应的第一共享数据。此时,所述第二物联网终端在开始传输所述第一共享数据之前将所述第一密钥密文发送至所述第一物联网终端,后续不再发送所述第一密钥密文。作为本发明的另一个优选示例,所述第二物联网终端也可以针对每一个分包产生对应的互不相同的第一密钥,然后使用第一密钥为对应的升级分包进行加密,得到第一共享数据。此时,所述服务器在每次传输所述第一共享数据之前向所述第一物联网终端发送一次第一密钥密文。
87.在步骤s402中,所述第一物联网终端根据所述第一密钥密文得到第一密钥,使用所述第一密钥对所述第一共享数据进行解密,得到所述第一共享数据中的升级分包,并将所得到的升级分包保存至对应的分包文件中。
88.在这里,所述第一物联网终端采用保留的私钥对所述第一密钥密文进行解密,从中得到对所述第一共享数据进行解密的第一密钥。然后按照所述第一密钥对所述第一共享数据进行解密,得到所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包,并将所述升级分包存储至分包预处理中所创建的分包文件中,更新所述固件下载状态中当前已下载的升级分包的分包标识。
89.上述步骤s302至步骤s305是第一物联网终端从第二物联网终端上请求待升级固件的升级分包的过程。在本实施例中,第一物联网终端唤醒时,除了向第二物联网终端请求升级分包外,还可同步向所述第二物联网终端发送升级分包。如图3所示,所述方法还包括:
90.在步骤s306中,所述第二物联网终端向所述第一物联网终端发送第二共享请求信息。
91.其中,所述第二共享请求信息中包括所述第二物联网终端已下载所述待升级固件的升级分包的分包标识。在本实施例中,建立通信连接的所述第一物联网终端与所述第二
物联网终端之间相互交换本地当前的升级信息,以使对方获悉己方当前待升级固件的目标升级版本号、未下载或者已下载的升级分包及升级标识,从而使得物联网终端之间只传输未下载的升级分包。
92.在步骤s307中,所述第一物联网终端接收所述第二物联网终端发送的第二共享请求信息。
93.在步骤s308中,所述第一物联网终端根据所述第二共享请求信息生成第二共享数据,所述第二共享数据中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包。
94.在这里,所述第一物联网终端根据所述目标升级版本号、所述第一物联网终端已下载的升级分包的分包标识,以及所述第二物联网终端已下载所述待升级固件的升级分包的分包标识,得到所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包。
95.在步骤s309中,所述第一物联网终端将所述第二共享数据发送至所述第二物联网终端。
96.可选地,本发明实施例中物联网终端之间采用加密的方式进行数据传输。作为本发明的一个优选示例,所述第二物联网终端首先根据sm2国密非对称算法产生公钥和私钥,保留所述私钥,将所述公钥分享至所述第一物联网终端。所述第一物联网终端采用aes对称算法产生第二密钥,使用所述第二密钥对所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包进行加密,得到第二共享数据;然后采用第二物联网终端分享的公钥,对所述aes对称算法产生的第二密钥进行加密,得到第二密钥密文,并将第二密钥密文发送至所述第二物联网终端,以实现物联网终端之间的密钥交换。
97.在步骤s310中,所述第二物联网终端接收所述第一物联网终端发送的第二共享数据,将所述第二共享数据保存至本地。
98.在这里,所述第二物联网终端在接收到第二共享数据后,将所述第二共享数据中的升级分包保存至对应的分包文件中。
99.如前所述,本发明实施例中物联网终端之间采用加密的方式进行数据传输。所述第二物联网终端接收所述第一物联网终端根据所述第二共享请求消息发送的第二共享数据及第二密钥密文;根据第二密钥密文得到第二密钥,使用所述第二密钥对所述第二共享数据进行解密,得到所述第二共享数据中的升级分包,并将所述升级分包保存至对应的分包文件中。具体地,所述第二物联网终端采用保留的私钥对所述第二密钥密文进行解密,从中得到对所述第二共享数据进行解密的第二密钥。然后按照所述第二密钥对所述第二共享数据进行解密,得到所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包,并将所述升级分包存储至分包预处理中所创建的分包文件中,更新所述固件下载状态中当前已下载的升级分包的分包标识。
100.为了便于理解,以下给出本发明的一个具体示例,假设待升级固件的升级分包包括升级分包1、升级分包2、升级分包3、升级分包4,其中第一物联网终端a已下载的升级分包1和升级分包2,第二物联网终端b已下载的升级分包3、升级分包4,那么通过本发明提供的共享升级方法,第一物联网终端a会把升级分包1、升级分包2传输给第二物联网终端b,同时第二物联网终端b会把升级分包3、升级分包4传输给第一物联网终端a,最后第一物联网终端a和第二物联网终端b都有了升级分包1、升级分包2、升级分包3、升级分包4,完成了整个
目标升级固件的下载。
101.在步骤s311中,在下载得到所述待升级固件的所有升级分包后,所述第一物联网终端组合所有升级分包,得到所述待升级固件的目标升级固件,根据所述目标升级固件对所述待升级固件进行升级。
102.在进行固件升级时,本发明实施例进一步通过md5校验值来判定第一物联网终端中已下载的目标升级固件是否正确,如图5所示,步骤s311还包括:
103.在步骤s501中,在下载得到所述待升级固件的所有升级分包后,对所有已下载的升级分包进行排序,得到目标升级固件。
104.在这里,所述第一物联网终端按照标识大小顺序对所有已下载的升级分包进行排序、组合,得到所下载的目标升级固件。
105.在步骤s502中,计算所述目标升级固件的md5校验值。
106.在步骤s503中,将计算得到的md5校验值与服务器下发的md5校验值进行比较。
107.所述第一物联网终端采用md5信息摘要算法对所下载的目标升级固件计算其对应的md5校验值,然后比较计算得到的md5校验值与服务器下发的md5校验值。若两者相同,则表明所述目标升级固件下载成功,执行步骤s604,否则所述目标升级固件存在错误,下载失败。
108.在步骤s504中,若两者一致,则对所述待升级固件进行备份,根据所述目标升级固件对所述待升级固件进行升级。
109.在所述目标升级固件下载成功后,所述第一物联网终端对当前运行的固件进行备份,然后通过升级引导程序按照所述目标升级固件进行更新,以完成固件升级。
110.本发明实施例在固件升级前对待升级固件进行备份,以便于在所述目标升级固件无法使用时退回至上一个固件版本,比如由于电磁干扰导致的文件复制错误或者人为上传错误的目标升级固件时,目标升级固件均不可用,此时使用备份的待升级固件,恢复到下载之前的状态,有利于保证物联网终端正常运行。
111.在步骤s312中,在下载得到所述待升级固件的所有升级分包后,所述第二物联网终端组合所有升级分包,得到所述待升级固件的目标升级固件,根据所述目标升级固件对所述待升级固件进行升级。
112.所述第二物联网终端根据所述目标升级固件进行固件升级与所述第一物联网终端的固件升级流程一致,具体请参见上述实施例的叙述,此处不再赘述。
113.本发明实施例改进了现有物联网终端下载待升级固件的升级分包的方式,扩展了物联网终端下载待升级固件的升级分包的方式,实现了物联网终端之间共享固件升级,有利于提高物联网终端升级的成功率,解决了现有技术在对物联网终端进行固件升级时存在的升级不及时、升级失败的问题。同时由于多点连接,物联网终端能够同时从服务器和其他物联网终端下载同一目标升级固件的不同升级分包,实际上增加了总的下载带宽,从而大大地提高了升级的速率。
114.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
115.在一实施例中,提供一种物联网终端的共享升级装置,该物联网终端的共享升级
装置用于上述实施例中物联网终端的共享升级方法中物联网终端的功能。如图6所示,该物联网终端的共享升级装置包括请求发送模块61、数据接收模块62、请求接收模块63、数据共享模块64。各功能模块详细说明如下:
116.请求发送模块61,用于向第二物联网终端发送第一共享请求信息,所述第一共享请求信息中包括待升级固件的目标升级版本号,以及所述第一物联网终端已下载的升级分包的分包标识;
117.数据接收模块62,用于接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据,将所述第一共享数据保存至本地,所述第一共享数据中包括所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包;
118.请求接收模块63,用于接收所述第二物联网终端发送的第二共享请求信息,所述第二共享请求信息中包括所述第二物联网终端已下载所述待升级固件的升级分包的分包标识;
119.数据共享模块64,用于根据所述第二共享请求信息生成第二共享数据,所述第二共享数据中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包,并将所述第二共享数据发送至所述第二物联网终端,以使所述第二物联网终端将所述第二共享数据保存至本地。
120.可选地,所述数据接收模块62包括:
121.数据接收单元,用于接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据及第一密钥密文;
122.解密单元,用于根据所述第一密钥密文得到第一密钥,使用所述第一密钥对所述第一共享数据进行解密,得到所述第一共享数据中的升级分包,并将所得到的升级分包保存至对应的分包文件中。
123.可选地,所述数据共享模块64包括:
124.获取单元,用于根据所述目标升级版本号、所述第一物联网终端已下载的升级分包的分包标识,以及所述第二物联网终端已下载所述待升级固件的升级分包的分包标识,得到所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包。
125.所述数据共享模块64还包括:
126.第一加密单元,用于使用第二密钥对所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包进行加密,得到第二共享数据;
127.第二加密单元,用于对所述第二密钥进行加密,得到第二密钥密文;
128.发送单元,用于将所述第二共享数据及第二密钥密文发送至所述第二物联网终端。
129.可选地,所述装置还包括:
130.升级模块,用于在下载得到所述待升级固件的所有升级分包后,组合所有升级分包,得到所述待升级固件的目标升级固件,根据所述目标升级固件对所述待升级固件进行升级。
131.可选地,所述装置还包括:
132.通信连接模块,用于在唤醒时,与服务器建立通信连接;
133.同步请求模块,用于在建立通信连接后,向所述服务器发送同步信息;
134.同步模块,用于接收服务器根据所述同步信息返回的升级信息,所述升级信息中包括待升级固件的目标升级版本号和目标升级固件的大小、分包大小;
135.预处理模块,用于根据所述目标升级固件的大小和分包大小计算分包数,并按照所述分包数在本地创建分包文件。
136.可选地,所述升级信息中还包括目标升级固件的升级地址,所述装置还包括:
137.下载模块,用于按照所述升级地址从服务器下载所述待升级固件的升级数据;
138.解密模块,用于对所述升级数据进行解密,得到所述升级数据中的升级分包,并将所述升级分包保存至对应的分包文件中。
139.可选地,所述升级信息中包括目标升级固件的md5值,所述升级模块包括:
140.排序单元,用于在下载得到所述待升级固件的所有升级分包后,对所有已下载的升级分包进行排序,得到目标升级固件;
141.计算单元,用于计算所述目标升级固件的md5校验值;
142.比较单元,用于将计算得到的md5校验值与服务器下发的md5校验值进行比较;
143.升级单元,用于若两者一致,则对所述待升级固件进行备份,根据所述目标升级固件对所述待升级固件进行升级。
144.关于物联网终端的共享升级装置的具体限定可以参见上文中对于物联网终端的共享升级方法中关于第一物联网终端、第二物联网终端的限定,在此不再赘述。上述物联网终端的共享升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
145.在一个实施例中,提供了一种物联网终端,该物联网终端可以是车载终端、物流终端、各类传感器的远程监管终端,其内部结构图可以如图7所示。该物联网终端包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该物联网终端的处理器用于提供计算和控制能力。该物联网终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该物联网终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种物联网终端的共享升级方法。
146.在一个实施例中,提供了一种物联网终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
147.向第二物联网终端发送第一共享请求信息,所述第一共享请求信息中包括待升级固件的目标升级版本号,以及所述第一物联网终端已下载的升级分包的分包标识;
148.接收所述第二物联网终端根据所述第一共享请求信息发送的第一共享数据,将所述第一共享数据保存至本地,所述第一共享数据中包括所述第二物联网终端已下载且所述第一物联网终端未下载的升级分包;
149.接收所述第二物联网终端发送的第二共享请求信息,所述第二共享请求信息中包括所述第二物联网终端已下载所述待升级固件的升级分包的分包标识;
150.根据所述第二共享请求信息生成第二共享数据,所述第二共享数据中包括所述第一物联网终端已下载且所述第二物联网终端未下载的升级分包,并将所述第二共享数据发送至所述第二物联网终端,以使所述第二物联网终端将所述第二共享数据保存至本地。
151.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
152.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
153.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1