一种支持数据高效溯源的区块链底层平台制造技术

技术编号:34934104 阅读:8 留言:0更新日期:2022-09-15 07:30
本发明专利技术公开了一种支持数据高效溯源的区块链底层平台。该平台包括用以为其他节点颁发公钥证书CA节点,用以为用户打包交易请求,并将交易请求发送给存储节点的客户端节点,用以管理智能合约并执行所述交易请求,且生成执行结果并发送至通过负载均衡算法找出的共识节点的存储节点,以及用以负责对交易数据排序共识并生成新区块的共识节点。本发明专利技术能够接收用户请求,并将用户请求的执行结果安全、可信的记录到区块链中,减少了发送数据的冗余量,避免了在区块链平台中广播雪崩的问题,实现了既提高区块链平台执行用户请求的效率,又保持区块链平台轻量化的目的,在保证了容错性的前提下,既具有流量削峰的功能,又能减少交易数据的冗余数据量。的冗余数据量。的冗余数据量。

【技术实现步骤摘要】
一种支持数据高效溯源的区块链底层平台


[0001]本专利技术涉及区块链平台
,具体涉及一种支持数据高效溯源的区块链底层平台。

技术介绍

[0002]信息互联网的出现,高效率低成本地解决了人类社会信息传播与共享的问题。在信息大爆炸的时代,信息互联网蓬勃发展,使得良莠不齐的信息在互联网上飞速广泛传播,随之出现的数字壁垒,信任缺失和信息孤岛等问题是信息互联网的一大痛点。价值互联网在信息互联网的基础之上形成,保证了互联网中数据的真实性,让数字化的资产可以像信息一样在互联网上传播与共享,解决了信息互联网中长期存在而不能有效解决的问题。作为价值互联网的基础架构,区块链是随着数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式,它加快了信息互联网向价值互联网的转变。区块链底层平台可以为不同场景的区块链应用提供稳定、高效、安全的运行环境,可以在不互信的组织机构之间提供数据存储,数据查询和交易执行等一系列服务,并通过密码学,分布式存储等技术让这些服务真实可靠。此外区块链平台通过将系统的计算资源,存储资源以及区块链的去中心化、防篡改等特性转化为对外提供的可编程接口,让区块链业务应用的开发以及部署过程得到简化,区块链应用被安装部署到具有普适性的区块链平台上以后就可以利用区块链平台的可编程接口对外提供具有可靠性保障的服务。
[0003]区块链技术是信息互联网转变为价值互联网的桥梁,区块链平台是区块链技术落地并大规模应用的切入点。稳定、高效、安全的区块链平台既能促进区块链技术的落地应用,又能促进区块链技术自身向更深层次发展,让互联网中价值交换的成本更低,流动更便捷。目前关于区块链的研究方向还是主要集中于将区块链与实际情况结合进而解决实际问题,另一个方向就是调研区块链的发展前景,探讨区块链对各行业的影响,而对区块链技术本身的研究相对较少。

技术实现思路

[0004]本专利技术的目的是针对现有技术存在的不足,提供一种支持数据高效溯源的区块链底层平台。
[0005]为实现上述目的,本专利技术提供了一种支持数据高效溯源的区块链底层平台,包括CA节点、客户端节点、存储节点集群和共识节点集群,所述存储节点集群包括多个存储节点,所述共识节点集群包括多个共识节点;
[0006]所述CA节点用以为其他节点颁发公钥证书;
[0007]所述客户端节点用以为用户打包交易请求,并将所述交易请求发送给存储节点;
[0008]所述存储节点用以管理智能合约并执行所述交易请求,且生成执行结果,并将执行结果发送至通过负载均衡算法找出的共识节点;
[0009]所述共识节点用以接收所述存储节点发送的执行结果,并在共识节点集群中生成
新区块,在所有的共识节点中同步完区块后,将新区块发送给所有的存储节点,然后根据新区块的内容更新所有存储节点的本地数据,并形成溯源数据链,再按照存储节点的角色分别在全节点上存储所有数据,在轻节点上保存区块头的策略持久保存区块,最终由存储节点通知客户端节点交易执行结果。
[0010]进一步的,还包括数据分发子模块,用以在某一节点有数据需要分发或请求时,控从该节点的邻居节点中随机选出若干个,并控制将分发数据或请求数据分发至选出的若干个邻居节点,并控制若干个邻居节点依次逐步向下分发。
[0011]进一步的,还包括分布式区块链存储子模块,所述分布式区块链存储子模块用以通过数据存储轻重分离的策略在数据之间构建隐形的数据链。
[0012]进一步的,所述轻重分离的策略包括:
[0013]将所述存储节点分为全节点和轻节点;
[0014]当有新区块到来时,首先用新区块更新本地的状态数据,然后分轻节点和全节点进行新区块存储;
[0015]若当前节点为全节点,则在验证了区块编号和区块哈希之后,直接将新区块追加到区块链的末尾;
[0016]若当前节点为轻节点,则在验证了区块编号和区块哈希之后,只保留区块头而舍弃掉区块其他部分,然后将新区块追加到区块链末尾。
[0017]进一步的,所述构建隐形的数据链的方式具体如下:
[0018]区块链平台中的数据以键值对的形式存在,在键K的值中增加了一个字段 pre_num用于表示键的前一个版本所在区块的编号;
[0019]当执行交易请求新生成一个键值对时,pre_num的值为

1,表示该键没有更早的版本;
[0020]将交易请求的执行结果打包到区块中,新区块的编号为N;
[0021]在对键K验证通过后,将键K保存状态数据库中,状态数据库中的K的 pre_num字段的值为N,表示键K的最新版本所在区块的编号为N;
[0022]再次执行交易,修改键K的值,从状态数据中读出它的前一个版本所在区块为N,将pre_num字段设置为N,然后将数据提交共识;
[0023]将再次执行交易的结果打包到区块中,新区块的编号为M;
[0024]在对键K验证通过后,将键K保存到状态数据库中,状态数据库中的K的 pre_num字段为M,表示键K的当前最新版本所在的区块编号为M。
[0025]进一步的,还包括共识子模块,所述共识子模块用以通过动态负载均衡算法和raft共识协议结合将瞬时较大的数据传输压力均衡到所有的共识节点之上,具体如下:
[0026]初始状态下,共识节点中的Leader节点和所有的Follower节点本地缓存的交易数量都为0;
[0027]Leader节点向所有的Follower节点发送心跳信息,心跳信息中表明所有的Follower节点本地缓存的交易数量都没有发生变化;
[0028]所有的Follower节点都向Leader节点返回心跳信息的响应信息,响应信息中表示Follower节点自己本地缓存的交易数量没有发生变化;
[0029]Leader节点收到每个节点的心跳信息响应后,将每个节点缓存的交易变化量保存
在本地,等待下次发送心跳信息时,将它发送给所有的Follower节点;
[0030]在存储节点向某个共识节点发送了交易数据时,则该共识节点就会在心跳信息的响应信息中表明自己本地缓存的交易数量变化量为增加1;
[0031]Leader节点在下一次发送心跳信息时,将这个变化量就同步给了所有的 Follower节点,每个Follower节点由此可以知道其他每个Follower节点本地缓存的交易数量,从而找出当前负载最轻的共识节点;
[0032]在存储节点再次向共识节点集群提交交易数据之前,随机向任意共识节点请求当前负载最轻的共识节点,然后将交易数据发送至当前负载最轻的共识节点;
[0033]负载最轻的共识节点收到交易数据后,继续在共识节点集群中同步所有共识节点缓存交易的变化量。
[0034]进一步的,所述共识节点集群中生成新区块方式具体如下:
[0035]Leader节点判断共识节点集群中缓存的交易数量是否超过设定的数量阈值,若超过设定的数量阈值,则打包生成新区块;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持数据高效溯源的区块链底层平台,其特征在于,包括CA节点、客户端节点、存储节点集群和共识节点集群,所述存储节点集群包括多个存储节点,所述共识节点集群包括多个共识节点;所述CA节点用以为其他节点颁发公钥证书;所述客户端节点用以为用户打包交易请求,并将所述交易请求发送给存储节点;所述存储节点用以管理智能合约并执行所述交易请求,且生成执行结果,并将执行结果发送至通过负载均衡算法找出的共识节点;所述共识节点用以接收所述存储节点发送的执行结果,并在共识节点集群中生成新区块,在所有的共识节点中同步完区块后,将新区块发送给所有的存储节点,然后根据新区块的内容更新所有存储节点的本地数据,并形成溯源数据链,再按照存储节点的角色分别在全节点上存储所有数据,在轻节点上保存区块头的策略持久保存区块,最终由存储节点通知客户端节点交易执行结果。2.根据权利要求1所述的一种支持数据高效溯源的区块链底层平台,其特征在于,还包括数据分发子模块,用以在某一节点有数据需要分发或请求时,控从该节点的邻居节点中随机选出若干个,并控制将分发数据或请求数据分发至选出的若干个邻居节点,并控制若干个邻居节点依次逐步向下分发。3.根据权利要求1所述的一种支持数据高效溯源的区块链底层平台,其特征在于,还包括分布式区块链存储子模块,所述分布式区块链存储子模块用以通过数据存储轻重分离的策略在数据之间构建隐形的数据链。4.根据权利要求3所述的一种支持数据高效溯源的区块链底层平台,其特征在于,所述轻重分离的策略包括:将所述存储节点分为全节点和轻节点;当有新区块到来时,首先用新区块更新本地的状态数据,然后分轻节点和全节点进行新区块存储;若当前节点为全节点,则在验证了区块编号和区块哈希之后,直接将新区块追加到区块链的末尾;若当前节点为轻节点,则在验证了区块编号和区块哈希之后,只保留区块头而舍弃掉区块其他部分,然后将新区块追加到区块链末尾。5.根据权利要求4所述的一种支持数据高效溯源的区块链底层平台,其特征在于,所述构建隐形的数据链的方式具体如下:区块链平台中的数据以键值对的形式存在,在键K的值中增加了一个字段pre_num用于表示键的前一个版本所在区块的编号;当执行交易请求新生成一个键值对时,pre_num的值为

1,表示该键没有更早的版本;将交易请求的执行结果打包到区块中,新区块的编号为N;在对键K验证通过后,将键K保存状态数据库中,状态数据库中的K的pre_num字段的值为N,表示键K的最新版本所在区块的编号为N;再次执行交易,修改键K的值,从状态数据中读出它的前一个版本所在区块为N,将pre_num字段设置为N,然后将数据提交共识;将再次执行交易的结果打包到区块中,新区块的编号为M;
在对键K验证通过后,将键K保存到状态数据库中,状态数据库中的K的pre_num字段为M,表示键K的当前最新版本所在的区块编号为M。6.根据权利要求1所述的一种支持数据高效溯源的区块链底层平台,其特征在于,还包括共识子模块,所述共识子模块用以通过动态负载均衡算法和raft共识协议结合将瞬时较大的数据传输压力均衡到所有的共识节点之上,具体如下:初始状态下,共识节点中的Leader节点和所有的Follower节点本地缓存的交易数量都为0;Leader节点向所有的Follower节点发送心跳信息,心跳信息中表明所有的Follower节点本地缓存的交易数量都没有发生变化;所有的Follower节点都向Leader节点返回心跳信息的响应信息,响应信息中表示Follower节点自己本地缓存的交易数量没有发生变化;Leader节点收到每个节点的心跳信息响应后,将每个节点缓存的交易变化量保存在本地,等待下次发送心跳信息时,将它发送给所有的Follower节点;在存储节点向某个共识节点发送了交易数据时,则该共识节点就会在心跳信息的响应信息中表明自己本地缓存的交易数量变化量为增加1;Leader节点在下一次发送心跳信息时,将这个变化量就同步给了所有的Follower节点,每个Follower节点由此可以知道其他每个Follower节点本地缓存的交易数量,从...

【专利技术属性】
技术研发人员:路松峰顾原一
申请(专利权)人:南京搜文信息技术有限公司
类型:发明
国别省市:

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

1