联盟链的区块存储、获取方法、装置、节点和存储介质制造方法及图纸

技术编号:30703811 阅读:12 留言:0更新日期:2021-11-06 09:45
本申请实施例涉及一种联盟链的区块存储、获取方法、装置、节点和存储介质。该方法包括:在同步到当前区块后,根据当前区块的区块哈希值,确定当前区块在一致性哈希空间中的第一分布位置;根据第一分布位置和组织内当前节点列表中的各交易节点在一致性哈希空间中的第二分布位置,从组织内的所有交易节点中确定第一目标交易节点;其中,第一目标交易节点为用于对当前区块进行完整存储的节点;当确定第一本交易节点是第一目标交易节点时,将当前区块的完整内容存储在第一本交易节点中;当确定第一本交易节点不是第一目标交易节点时,将当前区块的区块头存储在第一本交易节点中。该方法能够节约各交易节点的存储空间。够节约各交易节点的存储空间。够节约各交易节点的存储空间。

【技术实现步骤摘要】
联盟链的区块存储、获取方法、装置、节点和存储介质


[0001]本申请涉及互联网
,特别是涉及一种联盟链的区块存储、获取方法、装置、节点和存储介质。

技术介绍

[0002]基于区块链技术有公有链、联盟链和私有链三种形式,联盟链本质上仍然是一种私有链,只不过它比单个组织开发的私有链更大,却没有公有链那么大的规模,可以理解为它是介于私有链和公有链之间的一种区块链。
[0003]在联盟链中,一个组织内部可能有多个区块链节点,每个节点都会存储产生的每一个区块,进而构成完整的一条区块链。但是,随着业务的发展,数据量急剧增加,区块数量将急剧增多,单个节点上的数据容量将变得很大,这对各节点的存储空间要求很高。

技术实现思路

[0004]基于此,有必要针对传统方式对联盟链中各节点的存储空间要求很高的技术问题,提供一种联盟链的区块存储、获取方法、装置、节点和存储介质。
[0005]第一方面,本申请实施例提供一种联盟链的区块存储方法,应用于所述联盟链的同一组织内的各交易节点,所述方法包括:
[0006]在同步到当前区块后,根据当前区块的区块哈希值,确定所述当前区块在一致性哈希空间中的第一分布位置;
[0007]根据所述第一分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点中确定第一目标交易节点;其中,所述第一目标交易节点为用于对所述当前区块进行完整存储的节点;
[0008]当确定第一本交易节点是所述第一目标交易节点时,将所述当前区块的完整内容存储在第一本交易节点中;
[0009]当确定第一本交易节点不是所述第一目标交易节点时,将所述当前区块的区块头存储在第一本交易节点中。
[0010]第二方面,本申请实施例提供一种联盟链的区块获取方法,应用于所述联盟链的同一组织内的各交易节点,所述方法包括:
[0011]响应于接收到的区块获取请求,根据目标区块的区块哈希值,确定所述目标区块在一致性哈希空间中的第三分布位置;其中,所述区块获取请求用于请求所述目标区块;
[0012]根据所述第三分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点确定第二目标交易节点;其中,所述第二目标交易节点为当前完整存储所述目标区块的节点;
[0013]当确定第二本交易节点是所述第二目标交易节点时,将所述目标区块的完整内容发送给客户端;
[0014]当确定第二本交易节点不是所述第二目标交易节点时,将所述第二目标交易节点
的地址信息发送给客户端。
[0015]第三方面,本申请实施例提供一种联盟链的区块存储装置,集成于所述联盟链的同一组织内的各交易节点,所述装置包括:
[0016]第一确定模块,用于在同步到当前区块后,根据当前区块的区块哈希值,确定所述当前区块在一致性哈希空间中的第一分布位置;
[0017]第二确定模块,用于根据所述第一分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点中确定第一目标交易节点;其中,所述第一目标交易节点为用于对所述当前区块进行完整存储的节点;
[0018]第一存储模块,用于当确定第一本交易节点是所述第一目标交易节点时,将所述当前区块的完整内容存储在第一本交易节点中;
[0019]第二存储模块,用于当确定第一本交易节点不是所述第一目标交易节点时,将所述当前区块的区块头存储在第一本交易节点中。
[0020]第四方面,本申请实施例提供一种联盟链的区块获取装置,集成于所述联盟链的同一组织内的各交易节点,所述装置包括:
[0021]第三确定模块,用于响应于接收到的区块获取请求,根据目标区块的区块哈希值,确定所述目标区块在一致性哈希空间中的第三分布位置;其中,所述区块获取请求用于请求所述目标区块;
[0022]第四确定模块,用于根据所述第三分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点确定第二目标交易节点;其中,所述第二目标交易节点为当前完整存储所述目标区块的节点;
[0023]第一发送模块,用于当确定第二本交易节点是所述第二目标交易节点时,将所述目标区块的完整内容发送给客户端;
[0024]第二发送模块,用于当确定第二本交易节点不是所述第二目标交易节点时,将所述第二目标交易节点的地址信息发送给客户端。
[0025]第五方面,本申请实施例提供一种联盟链的交易节点,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的联盟链的区块存储方法的步骤和第二方面提供的联盟链的区块获取方法的步骤。
[0026]第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例第一方面提供的联盟链的区块存储方法的步骤和第二方面提供的联盟链的区块获取方法的步骤。
[0027]本申请实施例提供的技术方案,在同步到当前区块后,根据当前区块在一致性哈希空间中的第一分布位置以及该组织内各交易节点在一致性哈希空间中的第二分布位置,确定用于对当前区块进行完整存储的第一目标交易节点,在确定第一本交易节点是第一目标交易节点时,将当前区块的完整内容存储在第一本交易节点中,在确定第一本交易节点不是第一目标交易节点时,将当前区块的区块头存储在第一本交易节点中。也就是说,对于第一本交易节点来说,其并不是将所有区块的完整内容均进行存储,而是仅存储部分区块的完整内容,对于其它区块仅存储区块头,由其它交易节点来存储该部分区块的完整内容,从而实现了同一组织内的所有交易节点共同分担区块链账本的目的,节约了各交易节点的
存储空间。同时,由于各交易节点中均保存了完整的账本区块链条,因此可以确保账本区块的正确性和不可篡改性。
附图说明
[0028]图1为本申请实施例提供的联盟链网络的一种结构示意图;
[0029]图2为本申请实施例提供的联盟链的区块存储方法的一种流程示意图;
[0030]图3为本申请实施例提供的本交易节点中存储的账本区块链条的一种示意图;
[0031]图4为本申请实施例提供的联盟链的区块存储方法的另一种流程示意图;
[0032]图5为本申请实施例提供的确定第一目标交易节点的一种原理示意图;
[0033]图6为本申请实施例提供的联盟链的区块获取方法的一种流程示意图
[0034]图7为本申请实施例提供的联盟链的区块存储装置的一种结构示意图;
[0035]图8为本申请实施例提供的联盟链的区块获取装置的一种结构示意图;
[0036]图9为本申请实施例提供的联盟链的交易节点的一种结构示意图。
具体实施方式
[0037]本申请实施例提供的联盟链的区块存储方法以及区块获取方法,可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种联盟链的区块存储方法,其特征在于,应用于所述联盟链的同一组织内的各交易节点,所述方法包括:在同步到当前区块后,根据当前区块的区块哈希值,确定所述当前区块在一致性哈希空间中的第一分布位置;根据所述第一分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点中确定第一目标交易节点;其中,所述第一目标交易节点为用于对所述当前区块进行完整存储的节点;当确定第一本交易节点是所述第一目标交易节点时,将所述当前区块的完整内容存储在第一本交易节点中;当确定第一本交易节点不是所述第一目标交易节点时,将所述当前区块的区块头存储在第一本交易节点中。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点中确定第一目标交易节点,包括:根据所述组织内当前节点列表中的各交易节点的节点哈希值,确定各交易节点在所述一致性哈希空间中的第二分布位置;按照预设顺序,将与所述第一分布位置最邻近的第二分布位置上对应的交易节点确定为第一目标交易节点。3.根据权利要求2所述的方法,其特征在于,在所述根据所述组织内当前节点列表中的各交易节点的节点哈希值,确定各交易节点在所述一致性哈希空间中的第二分布位置之前,所述方法还包括:对所述组织内的各交易节点的节点标识进行哈希运算,得到所述各交易节点的节点哈希值。4.根据权利要求3所述的方法,其特征在于,所述节点标识为节点证书、节点域名或者节点互联网协议IP地址。5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述根据当前区块的区块哈希值,确定所述当前区块在一致性哈希空间中的第一分布位置之前,所述方法还包括:对当前区块的区块标识进行哈希运算,得到所述当前区块的区块哈希值。6.一种联盟链的区块获取方法,其特征在于,应用于所述联盟链的同一组织内的各交易节点,所述方法包括:响应于接收到的区块获取请求,根据目标区块的区块哈希值,确定所述目标区块在一致性哈希空间中的第三分布位置;其中,所述区块获取请求用于请求所述目标区块;根据所述第三分布位置和所述组织内当前节点列表中的各交易节点在所述一致性哈希空间中的第二分布位置,从所述组织内的所有交易节点确定第二目标交易节点;其中,所述第二目标交易节点为当前完整存储所述目标区块的节点;当确定第二本交易节点是所述第二...

【专利技术属性】
技术研发人员:刘辉
申请(专利权)人:上海点融信息科技有限责任公司
类型:发明
国别省市:

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

1