一种面向多节点的高性能处理方法技术

技术编号:31571646 阅读:12 留言:0更新日期:2021-12-25 11:11
一种面向多节点的高性能处理方法,包括传感器数据的传输与处理及区块链数据的传输与处理,传感器数据的传输与处理包括:传感器生成数据,并采用mqtt协议与消息队列中间件技术传输至存储节点;存储节点采用消息队列与批量持久化的方式存储接收到的传感器数据,进行校验保真,然后发送至区块链系统;区块链数据的传输与处理包括:存储节点获取区块链数据,区块链数据为其它储存节点发送至相应区块链节点的传感器数据;存储节点对获取的区块链数据进行同步数据处理。本发明专利技术可解决区块链因接收信息速度与持久化速度等底层速度缓慢而导致的区块同步速度缓慢、数据失真、泄密等问题,为上层区块链系统的区块同步、区块搜索等提供基础和技术支持。础和技术支持。础和技术支持。

【技术实现步骤摘要】
一种面向多节点的高性能处理方法


[0001]本专利技术属于区块链
,涉及特别涉及一种面向多节点的高性能处理方法。

技术介绍

[0002]物联网是在互联网的基础上发展而来的一种将各种信息传感设备与网络结合起来而形成的一个巨大网络。随着互联网技术的发展,出现了更多物联网技术与其他技术相结合的解决方案,提供了更多的技术可能。其中,区块链作为拥有丰富的应用场景的技术,在物联网中的应用可有助于分散网络,确保互联设备之间更高的安全性数据传输,其融合可创造更多的价值。
[0003]传感器往往处于多变的网络环境下,因此需要合理选择传输使用的协议。传统的http协议会为每个新请求消息重新建立http连接,产生可观的开销,较长的头部字节也会增加传输数据的功耗。http协议同样难以在有限的带宽环境下为远程设备提供实时可靠的消息服务。因此,http协议已经难以适应复杂的网络环境。
[0004]同时,存储节点直接向区块链发送原始数据,会使区块链无法验证数据的真实性和不被篡改性。如果因为网络的波动而产生数据的失真,接收方将无法对数据进行验证,会严重影响区块链同步数据的效果。
[0005]存储节点获取传感器数据后,按照传统的方法将每条数据做一次持久化处理,则每次操作都会进行一次对数据库服务器基于tcp连接的访问,造成服务器端需要对每次的tcp报文进行解析,耗费大量的时间。
[0006]综上所述,传统的单纯基于区块链系统的数据传输与持久化方法已经不再适用,已经不能在真实场景中获得较好的效率和较高的安全性。/>
技术实现思路

[0007]为了克服上述现有技术的缺点,本专利技术的目的在于提供一种面向多节点的高性能处理方法,以期解决区块链因接收信息速度与持久化速度等底层速度缓慢而导致的区块同步速度缓慢、数据失真、泄密等问题,为上层区块链系统的区块同步、区块搜索等工作提供了基础和技术支持。
[0008]为了实现上述目的,本专利技术采用的技术方案是:
[0009]一种面向多节点的高性能处理方法,包括传感器数据的传输与处理以及区块链数据的传输与处理,其特征在于:
[0010]所述传感器数据的传输与处理包括:
[0011]传感器生成数据,并传输至存储节点;
[0012]存储节点采用消息队列与批量持久化的方式存储接收到的传感器数据,进行校验保真,然后将传感器数据发送至区块链系统,在所述区块链系统中,每个存储节点对应一个区块链节点,每个存储节点将其传感器数据发送至其对应的区块链节点;
[0013]所述区块链数据的传输与处理包括:
[0014]存储节点获取区块链数据,所述区块链数据为其它储存节点发送至相应区块链节点的传感器数据;
[0015]存储节点对获取的区块链数据进行同步数据处理。
[0016]优选地,所述传感器数据在传输之前进行加密,并在存储节点进行解密,加密和解密过程包括:
[0017]生成密钥,将其保存到传感器与存储节点中;
[0018]传感器对传感器数据与密钥使用加密算法(如aes加密算法)进行加密,发送到存储节点后,存储节点对加密数据与密钥使用解密算法(如aes解密算法)进行解密。
[0019]优选地,所述传感器数据采用mqtt协议与消息队列中间件技术传输至存储节点,包括:
[0020]传感器以恒定或可变速度向中间件发送数据,中间件再向存储节点不断发送数据。
[0021]优选地,所述中间件为消息服务器,数据传输协议采用qos=0的mqtt协议。
[0022]优选地,所述存储节点存储数据的过程如下:
[0023]存储节点将接收的传感器数据存储到自身创建的消息队列里;
[0024]当消息队列满足规定的长度后,存储节点将消息队列中的传感器数据提取,使用nosql数据库自带的批量写库接口对提取的传感器数据作持久化处理;
[0025]将消息队列中的传感器数据按照设定的长度分割并打包成数据块,最后清空消息队列。
[0026]优选地,所述校验保真是采用默克尔根算法为传感器数据生成校验头部,过程如下:
[0027]在获取打包的数据块后,使用默克尔算法对其进行计算,生成默克尔根,截取默克尔根的特定位数作为其校验头部;
[0028]将校验头部与数据块合并发送到区块链系统。
[0029]优选地,所述存储节点获取区块链数据包括:
[0030]存储节点对应区块链节点在区块链系统中接收区块链数据;
[0031]存储节点对应区块链节点将区块链数据发送至存储节点。
[0032]优选地,所述同步数据处理包括:
[0033]存储节点将所述区块链数据依照分割符整理成数据包,整理完毕后对数据包的数据进行数据校验,若校验失败则丢弃相应的数据包;
[0034]对校验成功的数据包进行默克尔根校验,若校验通过则按照包内的数据间隔符将包分割为便于数据库插入的单条数据,并将分割后的数据存入自身创建的消息队列中;
[0035]当消息队列满足规定的长度后,存储节点将消息队列中的区块链数据提取,使用nosql数据库自带的批量写库接口对提取的区块链数据作持久化处理。
[0036]与现有技术相比,本专利技术的有益效果是:
[0037]1.进行数据的批量持久化处理,避免了因多次tcp报文解析而造成的大量资源消耗。
[0038]本系统通过消息队列的应用,通过调用nosql数据库的批量操作接口来实现批量持久化的功能。
[0039]2.加入默克尔根头部校验,为区块链对消息的验证提供底层服务。
[0040]本系统通过默克尔树的构建,为多条数据合并的包提供通用的校验方式,可有效提升系统的效率与安全性。
附图说明
[0041]图1为本专利技术系统整体流程图。
[0042]图2为传感器数据传输子系统流程示意图。
[0043]图3为数据校验保真子系统流程示意图。
[0044]图4为同步数据处理子系统流程示意图。
[0045]图5为传感器数据结构示意图。
具体实施方式
[0046]下面结合附图和实施例详细说明本专利技术的实施方式。
[0047]如图1所示,本专利技术为一种面向多节点的高性能处理方法,包括传感器数据的传输与处理以及区块链数据的传输与处理,存储节点同时接收传感器数据与区块链数据。将接收到的传感器数据进行数据校验保真与批量持久化,将接收到的区块链数据进行同步数据处理,解决了区块链因接收信息速度与持久化速度低而导致的区块同步速度缓慢的问题。
[0048]本专利技术处理过程中采取了如下三个关键技术:
[0049]1.采用mqtt协议与消息服务器的方法,进行传感器数据的传输。
[0050]2.采用默克尔根算法,对传感器数据与区块链数据进行校验保真。
[0051]3.采用消息队列与nosql数据库的批量操作接口,对传感器数据与区块链数据进行批量持久化。
[0052]具体地,传感本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向多节点的高性能处理方法,包括传感器数据的传输与处理以及区块链数据的传输与处理,其特征在于:所述传感器数据的传输与处理包括:传感器生成数据,并传输至存储节点;存储节点采用消息队列与批量持久化的方式存储接收到的传感器数据,进行校验保真,然后将传感器数据发送至区块链系统,在所述区块链系统中,每个存储节点对应一个区块链节点,每个存储节点将其传感器数据发送至其对应的区块链节点;所述区块链数据的传输与处理包括:存储节点获取区块链数据,所述区块链数据为其它储存节点发送至相应区块链节点的传感器数据;存储节点对获取的区块链数据进行同步数据处理。2.根据权利要求1所述面向多节点的高性能处理方法,其特征在于,所述传感器数据在传输之前进行加密,并在存储节点进行解密。3.根据权利要求2所述面向多节点的高性能处理方法,其特征在于,所述加密和解密过程包括:生成密钥,将其保存到传感器与存储节点中;传感器对传感器数据与密钥使用加密算法进行加密,发送到存储节点后,存储节点对加密数据与密钥使用解密算法进行解密。4.根据权利要求1所述面向多节点的高性能处理方法,其特征在于,所述传感器数据采用mqtt协议与消息队列中间件技术传输至存储节点,包括:传感器以恒定或可变速度向中间件发送数据,中间件再向存储节点不断发送数据。5.根据权利要求4所述面向多节点的高性能处理方法,其特征在于,所述中间件为消息服务器。6.根据权利要求4或5所述面向多节点的高性能处理方法,其特征在于,数据传输协议采用qos=0的mqtt协议。7.根据权利要求1所...

【专利技术属性】
技术研发人员:陶敬王嘉康贾健真王晨旭韩婷王平辉赵俊舟
申请(专利权)人:西安交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1