本发明涉及信息技术领域,特别涉及一种基于蓝牙mesh(blemesh)的区块链分布式信息传输系统及方法。
背景技术
随着区块链技术的飞速发展和推广,以及无线通信技术的进步,为了满足不同应用场景的需求,各种异构网络不断涌现。目前区块链信息分布式传输系统是基于互联网p2p技术实现的传输系统,整个区块链系统需要搭建于互联网之上,依赖互联网进行传输数据,无法在无网络基础设施场合和一些特殊的环境下使用,因此存在难以解决“最后一公里”网络瓶颈问题,本发明基于此而研发。
技术实现要素:
针对现有技术存在的无法在无网络基础设施场合使用的问题,本发明提供一种基于蓝牙mesh的区块链分布式信息传输系统及方法。
为了实现上述目的,本发明的具体技术方案如下:
一种基于蓝牙mesh的区块链分布式信息传输方法,区块链网络中的每一区块链节点包括blemesh模块,所述blemesh模块建立基于mesh传输的区块链分布式mesh网络;所述信息传输方法包括:
s1、第一区块链节点将带有转发次数ttl和目标地址dst的区块链数据包经mesh网络广播出去;
s3、与第一区块链节点相邻的第二区块链节点经mesh网络接收该区块链数据包;
s5、当ttl大于等于2、dst不是该第二区块链节点地址,转发该区块链数据包至相邻区块链节点;
s7、当dst是该第二区块链节点地址,第二区块链节点对该区块链数据包处理并发送给上层。
优选地,所述上层为arm主机。
优选地,在步骤s1与s3之间还包括检验区块链数据包的步骤s2,所述步骤s2包括:
s201、判断区块链数据包nid是否合法,不合法则丢弃;
s202、对区块链数据完整性进行验证,不完整则丢弃;
s203、检验源地址src和目的地址dst是否有效,无效则丢弃。
优选地,所述步骤s2还包括:
s204、查找本节点缓存中是否已经存有该区块链数据包,有则丢弃。
本发明还提供一种基于蓝牙mesh的区块链分布式信息传输系统,包括arm主机和blemesh从机,所述arm主机用于运行区块链节点,处理区块链中的各业务;所述blemesh从机建立区块链底层分布式blemesh网络,实现传输机制和数据传输;所述arm主机与blemesh从机之间通过urat进行本地数据通信。
优选地,区块链网络中的每一区块链节点包括blemesh模块,所述blemesh模块建立基于mesh传输的区块链分布式mesh网络。
优选地,所述blemesh模块为带蓝牙并具备蓝牙mesh功能的终端。
采用本发明的技术方案,具有以下有益效果:
(1)区块链网络层使用blemesh网络,可以使区块链系统脱离互联网运行;
(2)可以使区块链技术应用在无互联网和网络管制严格的场合;
(3)提升区块链技术在物联网中使用的方便性;
(4)让区块链技术广泛应用于物联网中各种带蓝牙mesh功能的终端设备。
附图说明
图1为本发明实施例系统架构示意图;
图2为本发明实施例底层架构与现有技术对比示意图;
图3为本发明实施例mesh网络示意图;
图4为本发明实施例信息传输方法结构示意图;
图5为本发明实施例信息传输流程图。
具体实施方式
以下结合附图和具体实施例,对本发明进一步说明。
参照图1与图2,本发明还提供一种基于蓝牙mesh的区块链分布式信息传输系统,包括arm主机和blemesh从机,所述arm主机用于运行区块链节点,处理区块链中的各业务;所述blemesh从机建立区块链底层分布式blemesh网络,实现传输机制和数据传输;所述arm主机与blemesh从机之间通过urat进行本地数据通信。
其中,区块链网络中的每一区块链节点包括blemesh模块,所述blemesh模块建立基于mesh传输的区块链分布式mesh网络。所述blemesh模块为带蓝牙并具备蓝牙mesh功能的终端。
该系统相比普通的区块链系统,接入blemesh而对区块链底层架构中网络层p2p和传输机制的修改,使其脱离pc机的网卡传输,直接与blemesh设备进行本地通信,通过blemesh组成的分布式网络进行网络寻址和数据传输。
参考图3至图4,本发明还提供一种基于blemesh的区块链分布式信息传输方法,区块链网络中的每一区块链节点包括blemesh模块,所述blemesh模块建立基于mesh传输的区块链分布式mesh网络;所述信息传输方法包括:
s1、第一区块链节点将带有转发次数ttl和目标地址dst的区块链数据包经mesh网络广播出去;
s3、与第一区块链节点相邻的第二区块链节点经mesh网络接收该区块链数据包;
s5、当ttl大于等于2、dst不是该第二区块链节点地址,转发该区块链数据包至相邻区块链节点;
s7、当dst是该第二区块链节点地址,第二区块链节点对该区块链数据包处理并发送给上层。优选地,所述上层为arm主机。
其中,在步骤s1与s3之间还包括检验区块链数据包的步骤s2,所述步骤s2包括:
s201、判断区块链数据包nid是否合法,不合法则丢弃;
s202、对区块链数据完整性进行验证,不完整则丢弃;
s203、检验源地址src和目的地址dst是否有效,无效则丢弃。
优选地,具有步骤s204、查找本节点缓存中是否已经存有该区块链数据包,有则丢弃。
结合图3,图5展示a节点给h节点依照本发明系统与方法的发送数据的过程:
①a节点arm主机把区块链数据和转发条件(如ttl=3)通过串口发送到blemesh从机中,从机根据要求把数据发给h节点;
②blemesh从机根据arm主机要求把信息通过mesh网络广播出去;
③相邻节点b接收到广播信息,判断dst地址是否是自己和转发条件;
④b节点转发数据;
⑤b节点相邻的节点都会收到b节点转发的广播包,此时c节点会收到广播信息,执行③的操作;
⑥c节点转发数据;
⑦h节点收到广播数据,判断出dst地址是自己,则会对数据进行处理并发给上层的arm主机;
⑧arm主机接收blemesh从机发过来的数据,同时处理数据。
综合上述的具体实施例阐述,本发明的改进之处在于:
(1)、接入blemesh而对区块链底层架构中网络层p2p和传输机制的修改;
(2)、区块链与blemesh的组合机制。
上述改进带来的优势则在于让区块链网络层使用blemesh网络,可以使区块链系统脱离互联网运行,解决“最后一公里”网络瓶颈问题。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。