一种基于有限硬件的物联网区块链解决方法与流程



1.本发明涉及的物联网技术领域,尤其涉及一种基于有限硬件的物联网区块链解决方法。


背景技术:



2.现有的联盟链都是基于标准的pc服务器进行的,并没有专门制定在有限的内存、硬盘和网络的情况下进行专门的定制,比如说目前较为广泛应用的联盟链fabric和fisco-bcos都没有针对在物联网当中有限的硬件资源做专门的优化。
3.区块链的大小,在标准pc服务器中,硬盘可以做的很大,因此可以存储大量的区块链数据信息,在特的情况下,也可以进行实时的备份,但在物联网当中,硬盘的存储空间非常有限,且在现有的联盟链方案中,联盟链的运行对cpu和内存的资源并不敏感,但在物联网的有限硬件中,相关的资源则非常的紧张,共识和p2p通讯都分布在每个节点服务器中,tcpip网络资源也很宽裕,但在物联网的有限资源中,传输网络错综复杂,因此不能直接适用标准的联盟链方案。


技术实现要素:



4.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
5.鉴于上述现有基于有限硬件的物联网区块链解决方法存在的问题,提出了本发明。
6.因此,本发明目的是提供一种基于有限硬件的物联网区块链解决方法,其目的在于:对区块链数据体积和区块链头体积的缩减,提升通讯效率和智能合约执行效率。
7.为解决上述技术问题,本发明提供如下技术方案:包括,设置上位机程序和下位机程序各一个;所述上位机程序初始化,并将区块链模组和hplc通讯初始化,向所述下位机程序发送数据通讯信息;所述下位机程序初始化,并将区块链模组和hplc通讯初始化,等待所述上位机程序发送数据通讯信息。
8.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述上位机程序中的上位区块链模组数据传输与下位机程序中的下位区块链模组数据传输进行通讯;在所述上位区块链模组数据传输与下位区块链模组数据传输的通过mqtt通讯修改为能够通过hplc进行通讯的区块链通讯协议。
9.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述上位区块链模组数据传输向上位机区块链与hplc同步与传输发出块,所述上位机区块链与hplc同步与传输发出dataclone锁存指令给hplc通讯。
10.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述hplc通讯将锁存指令发给主控,并请求数据,所述主控将数据发给下位机区块链与
hplc同步与传输,并发送锁存指令给所述下位机区块链与hplc同步与传输,再将数据发给所述hplc通讯;hplc通讯将数据返回所述上位机区块链与hplc同步与传输。
11.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述上位机区块链与hplc同步与传输将所述上位区块链模组数据传输的出块指令发出;所述hplc通讯和主控将出块指令原样发给所述下位机区块链与hplc同步与传输。
12.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述下位机区块链与hplc同步与传输将原样发给下位区块链模组数据传输,并将锁存数据发给所述下位区块链模组数据传输,并返回给所述主控为delay(n);所述下位区块链模组数据传输收到出块指令和数据后开始出块,出块后将hash返还给所述下位机区块链与hplc同步与传输。
13.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述主控收到delay指令后发给所述hplc通讯;所述hplc通讯等待后再次发起到所述主控,所述主控发给所述下位机区块链与hplc同步与传输。
14.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述下位机区块链与hplc同步与传输收到hash则发出,通过所述主控和hplc通讯转给所述上位机区块链与hplc同步与传输,所述上位机区块链与hplc同步与传输将hash和数据转给所述上位区块链模组数据传输。
15.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述上位区块链模组数据传输收到hash和数据后调用sdk出块,并将块hash转给所述上位机区块链与hplc同步与传输;所述上位机区块链与hplc同步与传输将hash发给所述下位机区块链与hplc同步与传输存储并获得成功与响应。
16.作为本发明所述基于有限硬件的物联网区块链解决方法的一种优选方案,其中:所述上位机区块链与hplc同步与传输能够整合到所述上位区块链模组数据传输中;所述下位机区块链与hplc同步与传输能够整合到所述下位区块链模组数据传输中。
17.本发明的有益效果:减少了一个出块时间,具有一定的实时性,传统出块在3秒到5分钟之间,区块链在通讯过程中传输速度《1秒,因为不需要出块,所以整体智能合约执行实现小于2秒,而终端区块链的体积大概减少90%以上。
附图说明
18.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
19.图1为本发明基于有限硬件的物联网区块链解决方法的传输流程示意图。
20.图2为本发明基于有限硬件的物联网区块链解决方法的通讯流程示意图。
具体实施方式
21.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
22.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
23.其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
24.再其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
25.实施例1
26.参照图1~2,为本发明第一个实施例,提供了一种基于有限硬件的物联网区块链解决方法,包括:
27.设置上位机程序100和下位机程序200各一个,将上位机程序100和下位机程序200互相通讯。
28.而上位机程序100进行初始化,并将区块链模组和hplc通讯初始化,即可向下位机程序200发送数据通讯信息。
29.下位机程序200初始化,并将区块链模组和hplc通讯初始化,即可等待上位机程序100发送数据通讯信息。
30.需要说明的是,数据出块分为两个阶段。
31.第一阶段,上位机程序100中的上位区块链模组数据传输101与下位机程序200中的下位区块链模组数据传输201进行通讯。
32.而在上位区块链模组数据传输101与下位区块链模组数据传输201通讯成功的基础上,完成上位机区块链与hplc同步与传输102、hplc通讯103、主控203和下位机区块链与hplc同步与传输202的开发。
33.主要功能是将上位区块链模组数据传输101与下位区块链模组数据传输201的通过mqtt通讯修改为能够通过hplc进行通讯的区块链通讯协议。
34.实施例2
35.参照图1~2,为本发明的第二个实施例,该实施例不同于第一个实施例的是,为数据出块主要流程的第一个阶段。
36.需要说明的是,第一阶段分为:
37.1.上位区块链模组数据传输101向上位机区块链与hplc同步与传输102发出块.
38.2.上位机区块链与hplc同步与传输102发出dataclone锁存指令给hplc通讯103。
39.3.hplc通讯103将锁存指令发给主控203,并请求数据。
40.4.主控203将数据发给下位机区块链与hplc同步与传输202,并发送锁存指令给下位机区块链与hplc同步与传输202,再将数据发给hplc通讯103。
41.5.hplc通讯103将数据返回上位机区块链与hplc同步与传输102。
42.实施例3
43.参照图1~2,为本发明的第三个实施例,该实施例不同于第二个实施例的是,为数据出块主要流程的第一个阶段。
44.需要说明的是,第一阶段分为:
45.1.上位机区块链与hplc同步与传输102将上位区块链模组数据传输101的出块指令发出。
46.2.hplc通讯103和主控203将出块指令原样发给下位机区块链与hplc同步与传输202。
47.3.下位机区块链与hplc同步与传输202将原样发给下位区块链模组数据传输201,并将锁存数据发给下位区块链模组数据传输201,并返回给主控203为delay(n)。
48.4.下位区块链模组数据传输201收到出块指令和数据后开始出块,出块后将hash返还给下位机区块链与hplc同步与传输202。
49.5.主控203收到delay指令后发给hplc通讯103。
50.6.hplc通讯103等待后再次发起到主控203,主控203发给下位机区块链与hplc同步与传输202,下位机区块链与hplc同步与传输202收到hash则发出,通过主控203和hplc通讯103转给上位机区块链与hplc同步与传输102,上位机区块链与hplc同步与传输102将hash和数据转给上位区块链模组数据传输101。
51.7.上位区块链模组数据传输101收到hash和数据后调用sdk出块,并将块hash转给上位机区块链与hplc同步与传输102。
52.8.上位机区块链与hplc同步与传输102将hash发给下位机区块链与hplc同步与传输202存储并获得成功与响应。
53.而上位机区块链与hplc同步与传输102能够整合到上位区块链模组数据传输101中,下位机区块链与hplc同步与传输202能够整合到下位区块链模组数据传输201中,其则能够加快开发的时间,而耦合度过强。
54.网关端的上位机区块链与hplc同步与传输102和接入端的下位机区块链与hplc同步与传输202,两者区块链与plc之间的通讯需求为:延时通讯相应服务、锁存响应服务、数据主动请求服务和数据被动响应服务。
55.其中,延时通讯相应服务为,与plc的通讯套接字delay(n),单向,由终端区块链发送给plc,用于区块链与plc之间的延时通讯等待,n表示等待的时间秒。
56.锁存响应服务为,与plc的通讯套接字dataclone()(bool),获取数据采集的锁存。
57.数据主动请求服务为,与plc的通讯套接字fabricdatapull(n,string[]),向plc-app主动发出获取数据集的需求,就是需要获得几个数据。
[0058]
数据被动响应服务为,与plc的通讯套接字fabricdatapush(n,string[]),plc-app主动发出给终端,表示提供对应的变量值。
[0059]
上位机区块链与hplc同步与传输102和接入端的下位机区块链与hplc同步与传输202的区块链与plc之间的通讯需求可再增加终端节点列表及数字证书更新服务,为与plc的通讯套接子fabricnodeflash(bool),表示终端节点列表更新,用于获得网关端节点列表更新,以二进制的表示,1位表示刷新对方列表,2位表示申请对方刷新列表。
[0060]
结合图1~2和实施例1~3。
[0061]
基本的流程就是从下面的区块链模组存储数据出块,同时通过cco将数据传输到上端的区块链模组,为了解决有限硬件下的区块链,提出了以下的几个解决方案。
[0062]
1.传统的区块链是在每一个设备中存了一个完整的区块链,这样体积很大,n个设
备的存储体积为n*1=n。
[0063]
而该解决方法通过一个全节点加若干轻节点的方案来解决这个问题,在最优情况下,n个设备的存储体积位,通过提出了1:n方案,就是每一个节点只存储自己采集数据的内容,这样总的存储体积位1+n/n*n=2,而结论是,该方法的冗余度则为1or(n-1),最小可靠性为(n-d+1)/n*100%(d为丢失节点),也就是说,出了主节点外的任何一个节点崩溃,都能完整的回复,同时如果主节点崩溃,剩下的若干节点,除了丢失的节点外,其余都能自恢复,通过验证,这种方案是可行的。
[0064]
2.传统的区块链头体积很大,即使是一个空块也将近1kb的空间,通过给该方法提出了极简区块链头设计,在有限硬件的区块链头中,只放入前块、现块,和主链的三个hash,对于其他的十几种类型数据一概省略,能节省较大的空间。
[0065]
3.基于1和2,通过提出特殊的校验方案,侧链数据的校验方案和多链存在的形式,也就是侧链区块存主链的hash值,主链的智能合约里面存侧链的区块hash,并完整其数据结构。
[0066]
4.智能合约虚拟机外置和执行事后验证策略:一个fabric的完整程序大概3gb左右,一个fisco-bcos大概300mb,该方法将区块链只保留了存储和出块两个基本功能,抛弃了内置智能合约虚拟机的方案,而是将虚拟机,通过地址的形式挂接在外部,以及在本地当中,然后双方进行执行校对。
[0067]
通过计算,传统的智能合约基于出块执行,执行的时间为:数据传输至区块链时间+智能合约执行及出块时间+数据传输至终端时间+硬件执行时间,出块时间按3秒计算,在目前的情况当中,需要4秒完成。
[0068]
通过验证策略,执行时间为:数据传输至终端时间+脚本解析时间+硬件执行时间,经测试小于1秒。
[0069]
5.因为有限硬件的传输网络错综复杂,所以提出了主节点回馈响应和硬件忽略透传概念,把联盟链的通讯更改为预言机策略。
[0070]
具体来说,就是由p2p的多点通讯,更改为被动的数据通讯,并且将数据量较大的区块链同步传输,更改为数据量较小的预研机实时同步传输。
[0071]
而结合上述实施例及解决方案,能够达到区块链程序体积减少、区块链程序占用系统资源减少、区块链体积的减少、智能合约执行效率和同步通讯效率提升。
[0072]
(1)区块链程序体积减少:也就是如上述所说的终端区块链的体积大概减少90%以上,fabric是3.5gb,fisco-bcos是300mb,本方法的程序体积不到1mb。
[0073]
(2)区块链程序占用系统资源减少:正常运行中不到1%,在运行时该占用系统资源可以非常大的减少。
[0074]
(3)传统联盟链是一个节点一个区块链账本,n个为n。
[0075]
而本方法是全节点一个账本,终端是每个节点只存1/n,总共就是1+(1/n)xn)=2,所以总的体积从n减少到了2。
[0076]
(4)智能合约执行效率:减少了一个出块时间,大概能提速80%以上,具有一定的实时性,传统出块大概在3秒到5分钟之间,区块链在通讯过程中传输速度《1秒,因为不需要出块,所以整体智能合约执行实现大概小于2秒。
[0077]
(5)同步通讯效率提升:由p2p更改为预研机出块,带宽资源利用率最高提高n-1
倍。
[0078]
传统区块链通讯是p2p方案,极端情况下是(n-1)x(n-1)同步通讯,即每个节点都跟其他节点同时通讯。
[0079]
本方法的节点复杂度是n,一个主节点对n-1个终端,每个终端只跟主节点同步,所以复杂度是n-1。
[0080]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

技术特征:


1.一种基于有限硬件的物联网区块链解决方法,其特征在于:包括,设置上位机程序(100)和下位机程序(200)各一个;所述上位机程序(100)初始化,并将区块链模组和hplc通讯初始化,向所述下位机程序(200)发送数据通讯信息;所述下位机程序(200)初始化,并将区块链模组和hplc通讯初始化,等待所述上位机程序(100)发送数据通讯信息。2.根据权利要求1所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述上位机程序(100)中的上位区块链模组数据传输(101)与下位机程序(200)中的下位区块链模组数据传输(201)进行通讯;在所述上位区块链模组数据传输(101)与下位区块链模组数据传输(201)的通过mqtt通讯修改为能够通过hplc进行通讯的区块链通讯协议。3.根据权利要求2所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述上位区块链模组数据传输(101)向上位机区块链与hplc同步与传输(102)发出块,所述上位机区块链与hplc同步与传输(102)发出dataclone锁存指令给hplc通讯(103)。4.根据权利要求3所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述hplc通讯(103)将锁存指令发给主控(203),并请求数据,所述主控(203)将数据发给下位机区块链与hplc同步与传输(202),并发送锁存指令给所述下位机区块链与hplc同步与传输(202),再将数据发给所述hplc通讯(103);hplc通讯(103)将数据返回所述上位机区块链与hplc同步与传输(102)。5.根据权利要求4所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述上位机区块链与hplc同步与传输(102)将所述上位区块链模组数据传输(101)的出块指令发出;所述hplc通讯(103)和主控(203)将出块指令原样发给所述下位机区块链与hplc同步与传输(202)。6.根据权利要求5所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述下位机区块链与hplc同步与传输(202)将原样发给下位区块链模组数据传输(201),并将锁存数据发给所述下位区块链模组数据传输(201),并返回给所述主控(203)为delay(n);所述下位区块链模组数据传输(201)收到出块指令和数据后开始出块,出块后将hash返还给所述下位机区块链与hplc同步与传输(202)。7.根据权利要求6所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述主控(203)收到delay指令后发给所述hplc通讯(103);所述hplc通讯(103)等待后再次发起到所述主控(203),所述主控(203)发给所述下位机区块链与hplc同步与传输(202)。8.根据权利要求7所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述下位机区块链与hplc同步与传输(202)收到hash则发出,通过所述主控(203)和hplc通讯(103)转给所述上位机区块链与hplc同步与传输(102),所述上位机区块链与hplc同步与传输(102)将hash和数据转给所述上位区块链模组数据传输(101)。9.根据权利要求8所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述上位区块链模组数据传输(101)收到hash和数据后调用sdk出块,并将块hash转给所述上位机
区块链与hplc同步与传输(102);所述上位机区块链与hplc同步与传输(102)将hash发给所述下位机区块链与hplc同步与传输(202)存储并获得成功与响应。10.根据权利要求9所述的基于有限硬件的物联网区块链解决方法,其特征在于:所述上位机区块链与hplc同步与传输(102)能够整合到所述上位区块链模组数据传输(101)中;所述下位机区块链与hplc同步与传输(202)能够整合到所述下位区块链模组数据传输(201)中。

技术总结


本发明公开了一种基于有限硬件的物联网区块链解决方法,包括设置上位机程序和下位机程序各一个;所述上位机程序初始化,并将区块链模组和HPLC通讯初始化,向所述下位机程序发送数据通讯信息;所述下位机程序初始化,并将区块链模组和HPLC通讯初始化,等待所述上位机程序发送数据通讯信息。该基于有限硬件的物联网区块链解决方法,减少了一个出块时间,具有一定的实时性,传统出块在3秒到5分钟之间,区块链在通讯过程中传输速度<1秒,因为不需要出块,所以整体智能合约执行实现小于2秒,而终端区块链的体积大概减少90%以上。区块链的体积大概减少90%以上。区块链的体积大概减少90%以上。


技术研发人员:

谷江涛 杨炳洪 卢佳伟

受保护的技术使用者:

南京瀚元科技有限公司

技术研发日:

2022.07.29

技术公布日:

2022/12/12

本文发布于:2024-09-21 13:29:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/42806.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:区块   所述   上位   模组
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议