区块链存储方法、装置及节点设备制造方法及图纸

技术编号:16050419 阅读:62 留言:0更新日期:2017-08-20 10:35
本发明专利技术公开了一种区块链存储方法、装置及节点设备,所述方法包括:通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。本发明专利技术通过将区块链中的区块分别冗余存储到虚拟集群中的各节点中,减轻节点的存储量,且由于每个区块都被冗余存储,可保证存储的安全性;提高区块的同步速度,提高查询效率。

【技术实现步骤摘要】
【国外来华专利技术】区块链存储方法、装置及节点设备
本专利技术涉及区块链
,尤其涉及一种区块链存储方法、装置及节点设备。
技术介绍
目前,区块链技术正在越来越广泛的被应用,不管是货币,虚拟物品,房产,股票等等都正在尝试用区块链来记录,使交易变得专利技术透明,去中心化。区块链网络基于P2P(PeertoPeer,对等网络)网络,每个参与交易、区块存储、区块验证或转发的P2P网络节点都是一个区块链网络中的节点。节点之间的数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。由于区块链中存储了所有的交易,随着交易的增加,按照每十分钟产生一个区块的速度,区块链的数据量会越来越大。以比特币区块链为例,比特币区块链完整数据的大小,当前已经达到了几十GB,用户如果使用比特币核心(bitcoincore)客户端进行数据同步的话,可能几个昼夜都无法同步完成。并且,区块链的数据量还在不断地增加,这给比特币核心客户端的运行带来了很大的门槛,普通用户并不适合去使用bitcoincore客户端,这些,也就造成了运行比特币全节点(fullnodes)的数量,不增反减,并且本文档来自技高网...
区块链存储方法、装置及节点设备

【技术保护点】
一种区块链存储方法,应用于区块链网络中的节点,其特征在于,包括:通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。

【技术特征摘要】
【国外来华专利技术】1.一种区块链存储方法,应用于区块链网络中的节点,其特征在于,包括:通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。2.根据权利要求1所述的方法,其特征在于,通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群的步骤包括:当所述节点与第一预设个数的其它节点两两相连时,则向其它节点发送集群组建邀请;当超过第二预设个数的节点回复确认信息时,则与回复确认信息的节点,组建成所述虚拟集群。3.根据权利要求1所述的方法,其特征在于,通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群的步骤包括:接收到其它节点发送的集群组建邀请时,回复确认信息,以加入到一虚拟集群中。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:与所述虚拟集群中的节点,通过第一预设协商机制,确定集群标号;其中,所述集群标识号在预设时间后失效,且所述集群标识号在预设时间失效后,在所述虚拟集群中的节点恢复为普通节点,可接受或发送集群组建邀请。5.根据权利要求1所述的方法,其特征在于,所述按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储的步骤包括:与所述虚拟集群中的节点,通过第二预设协商机制,确定每个节点的编号;根据自己的编号和区块链中每一区块对应的哈希值,确定所要存储的所述一个或多个区块;对所述一个或多个区块进行存储。6.根据权利要求5所述的方法,其特征在于,所述根据自己的编号和区块链中每一区块对应的哈希值,确定所要存储的所述一个或多个区块的步骤包括:将每一区块对应的哈希值分别与预设个数的常数相除,并将相除所得的余数和自身的编号满足预设条件的哈希值对应的区块进行存储,其中,所述每一区块对应的哈希值至少包括以下其中之一:每一区块的区块头的哈希值、每一区块的区块头的哈希值加上固定值后的值、每一区块的区块头和区块主体的哈希值。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:定时向所述虚拟集群中的其它节点发送在线确认信息;以及根据是否接收到其它节点的反馈信息,确定所述虚拟集群中的其它节点是否在线。8.根据权利要求5所述的方法,其特征在于,所述方法还包括:定时向与自己的编号邻近的节点发送在线确认信息;以及根据是否接收到所述编号邻近的节点反馈的信息,确定所述编号邻近的节点是否在线。9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:当所述虚拟集群中有节点下线时,根据所述预设的第一区块分配规则,从相应的在线节点中获取所述下线节点所存储的区块;根据预设的第二区块分配规则,重新确定用于存储所述下线节点所存储的区块的节点;以及将所述下线节点所存储的区块发送给所确定的节点进行存储。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:当所述虚拟集群中有节点下线时,向所述虚拟集群外的节点发送集群加入邀请,以邀请所述虚拟集群外的节点加入所述虚拟集群;当接收到所述虚拟集群外的节点回复的确认信息时,与加入新增节点后的虚拟集群中的节点通过第三预设协商机制,重新确定每个节点的编号;以及根据自己的编号和预设的第三区块分配规则,确定要存储的区块。11.根据权利要求9所述的方法,其特征在于,所述方法还包括:当所述虚拟集群中有节点下线,且接收到所述虚拟集群外的节点发送的集群加入请求时,向所述发送集群加入请求的节点发送集群加入邀请;当所述发送集群加入请求的节点回复确认信息时,与加入新增节点后的虚拟集群中的节点通过第四预设协商机制,重新确定每个节点的编号;若所述新增节点的编号与自己的编号相邻,则根据预设的第四区块分配规则,确定所述新增节点需要存储的区块;以及将所述新增节点需要存储的区块发送给所述新增节点进行存储。12.根据权利要求11所述的方法,其特征在于,所述新增节点需要存储的区块为所述下线节点所存储的区块。13.根据权利要求1所述的方法,其特征在于,所述方法还包括:当区块链网络中产生新区块时,根据预设的第五区块分配规则,确定用于存储所述新区块的节点;以及将所述新区块发送给确定的节点进行存储。14.根据权利要求1所述的方法,其特征在于,所述方法还包括:当区块链网络中产生新区块时,按照预设的第六区块分配规则,确定是否需要存储所述新区块;若需要存储所述新区块,则存储所述新区块,若不需要存储所述新区块,则不作处理。15.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到查询端发送的交易查询请求时,确定是否存储有与所述交易查询请求相对应的区块;若存储有与所述交易查询请求相对应的区块,则根据所述交易查询请求获取查询结果;若未存储与所述交易查询请求相对应的区块,则将所述交易查询请求发送给虚拟集群中的其它节点;接收存储有与所述交易查询请求相关的区块的节点返回的交易查询结果;将查询结果发送给所述查询端。16.根据权利要求1所述的方法,其特征在于,所述方法还包括:当需要执行一目标区块的合约时,确定是否存储有与所述目标区块;若存储有所述目标区块,则执行所述目标区块的合约;若未存储有所述目标区块,则从存储所述目标区块的一节点中获取所述目标区块;以及根据获取的所述目标区块执行合约。17.根据权利要求16所述的方法,其特征在于,所述根据获取的所述目标区块执行合约的步骤包括:删除一存储的区块后,存储所述目标区块;根据存储的目标区块执行合约。18.根据权利要求1所述的方法,其特征在于,所述按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储的步骤包括:根据自己所属的网段,确定需要存储的区块。19.一种区块链存储装置,应用于区块链网络中的节点,其特征在于,包括:虚拟集群加入模块,被配置为通过接受集群组建邀请或发送集群组建邀请,加入一虚拟集群,所述虚拟集群中包括预设个数的节点;区块存储模块,被配置为按照预设的第一区块分配规则,对区块链中的一个或多个区块进行存储,以使得所述虚拟集群中的节点所存储的区块可组成完整的区块链。20.根据权利要求19所述的装置,其特征在于,所述虚拟集群加入模块包括:邀请发送子模块,被配置为在所述节点与第一预设个数的其它节点两两相连时,则向其它节点发送集群组建邀请;虚拟集群组建子模块,被配置为当超过第二预设个数的节点回复确认信息时,则与回复确认信息的节点,组建成所述虚拟集群。21.根据权利要求19所述的装置,其特征在于,所述虚拟集群加入模块包括:接收...

【专利技术属性】
技术研发人员:么文琦张跃洋
申请(专利权)人:深圳前海达闼云端智能科技有限公司
类型:发明
国别省市:广东,44

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

1