(19)中华人民共和国国家知识产权局
母亲节祝福语简短8字
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910119485.9
(22)申请日 2019.02.18
(71)申请人 闪联信息技术工程中心有限公司
地址 100080 北京市海淀区东北旺西路58
号院东侧1号楼
(72)发明人 丁路宁 
(74)专利代理机构 北京捷诚信通专利事务所
马可的老婆(普通合伙) 11221
孛儿只斤包迪
代理人 王卫东
(51)Int.Cl.
H04L  29/08(2006.01)
H04L  12/24(2006.01)
H04L  9/32(2006.01)
H04L  29/06(2006.01)
周扬青怒斥罗志祥劈腿G06F  8/65(2018.01)
(54)发明名称
一种基于区块链实现嵌入式硬件OTA升级系
统及方法
(57)摘要
本发明公开了一种基于区块链实现嵌入式
硬件OTA升级系统及方法,该方法:构建一个包括罗志祥承认恋情
多个固件下载的服务节点的P2P网络拓扑结构;
以一个服务节点作为第一区块节点,通过区块链
共识验证机制逐个将P2P网络中的其他服务节点
转化为区块链上的一个区块节点;在服务节点上
存储最新固件软件,并利用哈希算法对节点内容
进行计算得到该服务节点的hash值;其中,节点
内容包括服务节点和其上存储的固件软件的特
征信息;智能终端从P2P网络的服务节点下载相
应的hash值,根据该hash值进行固件版本安全校
验,并下载、保存通过校验的固件软件,并利用该
固件软件进行升级。本发明使用区块链技术建立
安全可信的P2P网络拓扑结构,提高智能终端OTA
升级可靠性及安全性。权利要求书2页  说明书7页  附图4页CN 109889589 A 2019.06.14
C N  109889589
A金星能过性能活吗
权 利 要 求 书1/2页CN 109889589 A
1.一种基于区块链实现嵌入式硬件OTA升级方法,其特征在于,包括以下步骤:
步骤S10、构建一个包括多个固件下载的服务节点的去中心化的P2P网络拓扑结构,每个服务节点用于智能终端硬件OTA升级服务;
步骤S20、以一个服务节点作为第一区块节点,通过区块链共识验证机制逐个将P2P网络拓扑结构中的其他服务节点转化为区块链上的一个区块节点;
步骤S30、在服务节点上存储最新固件软件,并利用哈希算法对节点内容进行计算得到该服务节点的h
ash值,构建固件版本安全校验机制;其中,节点内容包括服务节点和其上存储的固件软件的特征信息;
步骤S40、智能终端从P2P网络拓扑结构的服务节点下载相应的hash值,根据该hash值进行固件版本安全校验,并下载、保存通过校验的固件软件,并利用该固件软件进行升级。
2.根据权利要求1所述的方法,其特征在于,当固件软件在第一次上传至固件下载的服务节点时,将固件软件拆分成多个部分,分别存储在多固件下载服务节点上,并生成相应的索引文件;
智能终端连接一个服务节点,下载部分固件软件;根据下载的部分固件软件的组份标识,从P2P网络拓扑结构中依次查存有其他部分固件软件的服务节点,并依次下载所有固件软件的组份;根据索引文件拼装成完整固件软件。
3.根据权利要求1所述的方法,其特征在于,节点内容包括:存储固件软件的服务节点的节点ID、设备类型、设备型号;该服务节点上存储的固件软件的固件版本号、固件大小byte值、固件本地下载地址hash值、固件存储时间戳;该服务节点下载固件软件的上一服务节点的hash值;
如果没有上一个服务节点的hash值,此部分取值为0。
4.根据权利要求3所述的方法,其特征在于,智能终端保存通过校验的固件软件后,利用哈希算法生成
固件本地下载地址hash值;
再利用哈希算法对该智能终端的节点内容进行计算,得到该智能终端的hash值,并通过区块链共识验证机制将该智能终端转化为区块链上的一个区块节点,成为P2P网络拓扑结构中一个固件下载的服务节点。
5.根据权利要求4所述的方法,其特征在于,步骤S40具体包括以下步骤:
步骤S41、用户打开智能终端,并在联网后,按照相应的P2P协议宣告及发现P2P网络拓扑结构中的服务节点;
步骤S42、智能终端与发现的任意一个服务节点建立连接,并从该服务节点上下载该服务节点的hash值,解析该hash值得到相应的节点内容;
步骤S43、根据节点内容中的固件本地下载地址获取服务节点上存储的固件软件的特征信息;
步骤S44、判断获取的固件软件的特征信息与解析得到的节点内容是否一致,如果一致,执行步骤S45;否则,执行步骤S48;
步骤S45、下载、并保存固件软件,并利用哈希算法生成智能终端的固件本地下载地址hash值;
步骤S46、利用哈希算法对该智能终端的节点内容进行计算,得到该智能终端的hash 值,并通过区块链共识验证机制将该智能终端转化为区块链上的一个区块节点;
2