当前位置: 首页 > 专利查询>北京大学专利>正文

一种对随机共识的图式账本建立内容索引的方法和装置制造方法及图纸

技术编号:26762374 阅读:55 留言:0更新日期:2020-12-18 23:10
本申请提供了一种对随机共识的图式账本建立内容索引的方法和装置,涉及区块链技术领域。在采集交易数据时,计算得到交易数据的数据内容的哈希值,并根据数据内容的哈希值生成内容身份证,绑定存储数据内容的节点位置和内容身份证,同时在图式账本系统的所有节点建立分布式哈希表,将绑定存储数据内容的节点位置的内容身份证发布到节点的分布式哈希表中,在图式账本的节点中建立数据内容的哈希值与数据内容存储节点的关系索引,提供了定位待查询数据存储节点的依据。

【技术实现步骤摘要】
一种对随机共识的图式账本建立内容索引的方法和装置
本申请涉及区块链
,特别是涉及一种对随机共识的图式账本建立内容索引的方法和装置。
技术介绍
以比特币为代表的区块链问世以来,由于其去中心化、难以篡改、不可抵赖和数据一致性的特性,受到了工业和学术界的广泛关注。区块链技术主要采用节点状态机复制,即全网所有节点都对指令和数据达成一致,但由于在一段时间内全网只能产生一个有效区块,使得区块链存在系统瓶颈,不可拓展。为了解决以比特币为代表的第一代区块链技术的性能瓶颈,实现区块链的可扩展性,有人提出将链式结构替换为图式结构,不同于链式结构,图结构的区块链中,每个区块有多个前驱区块和后驱区块,同时将随机共识算法应用到图式结构中,例如PBFT、Paxos、Raft等,随机共识算法本质是在全网的节点中选择部分节点对新生成的区块进行验证和备份,因此基于随机共识的图式结构的区块链(图式账本)在一段时间内,可以并行产生多个有效区块,使整个系统的交易笔数大幅增加,存储量可扩展。各式各样的数据被记录到图式账本之后,还需要满足用户的各种查询需求,例如查询账户信息、账户余额、交易历史、交易内容等,这是包括区块链、图式账本在内的分布式账本的核心功能需求,是溯源、存证的基础,因此,高效的查询操作必不可少。然而,在采用随机共识的图式账本中,单个节点随机存储部分区块数据,导致区块数据存储位置不可知,无法快速定位并获取用户查询的区块数据。
技术实现思路
本申请实施例提出的一种对随机共识的图式账本建立内容索引的方法和装置,在采集交易数据时,计算得到交易数据的数据内容的哈希值,并根据数据内容的哈希值生成内容身份证,绑定存储数据内容的节点位置和内容身份证,同时在图式账本系统的所有节点建立分布式哈希表,将绑定存储数据内容的节点位置的内容身份证发布到节点的分布式哈希表中,在图式账本的节点中建立数据内容的哈希值与数据内容存储节点的关系索引,提供了定位待查询数据存储节点的依据。本申请实施例第一方面提供一种对随机共识的图式账本建立内容索引的方法,所述方法包括:发布数据内容的第一目标节点利用目标哈希函数对待发布的数据内容进行计算,得到所述待发布的数据内容的哈希值;所述第一目标节点根据所述待发布的数据内容的产生时间,得到有效期;所述第一目标节点根据所述哈希值和所述数据有效期,生成内容身份证;所述第一目标节点利用预设路由算法,在所述图式账本系统中确定存储所述内容身份证的多个第二目标节点;所述第一目标节点获取所述待发布的数据内容的存储位置,并对所述内容身份证绑定所述存储位置;将所述绑定存储位置的内容身份证发送给所述多个第二目标节点;所述第二目标节点将接收的所述绑定存储位置的内容身份证存储在本地节点。可选地,所述方法还包括:在所述图式账本系统的每个节点建立分布式哈希表;所述第二目标节点将接收的所述绑定存储位置的内容身份证存储在本地节点,包括:根据接收所述绑定存储位置的内容身份证的时间,生成时间戳;将所述绑定存储位置的内容身份证和所述时间戳写入本地的分布式哈希表。可选地,所述方法还包括:所述第二目标节点每隔预设时间遍历本地的分布式哈希表中存储的内容身份证;根据每个内容身份证中的数据有效期,确定本地的分布式哈希表中的无效内容身份证;根据每个内容身份证对应的时间戳,确定本地的分布式哈希表中待二次发布的内容身份证;所述第二目标节点利用所述预设路由算法,在所述图式账本系统中确定用于存储所述待二次发布的内容身份证的多个第三目标节点;所述第二目标节点将所述待二次发布的内容身份证发送给所述多个第三目标节点;所述第二目标节点移出所述无效内容身份证。可选地,所述方法还包括:所述第一目标节点获取所述数据内容的数据类型以及所述目标哈希函数的标识;第一目标节点根据所述哈希值和所述数据有效期,生成内容身份证,包括:根据所述哈希值、所述数据有效期、所述数据内容的数据类型和所述目标哈希函数的标识,生成内容身份证数据结构;设置所述内容身份证数据结构的编码方式,并将对应所述编码方式的编码前缀添加到所述内容身份数据结构;对所述内容身份证数据结构添加空白的预留字段;将添加了所述预留字段和所述编码前缀的内容身份证数据结构确定为所述内容身份证。可选地,第一目标节点获取所述待发布的数据内容的存储位置,包括:在所述数据内容是区块数据时,所述第一目标节点将产块节点和见证节点的节点位置确定为所述待发布的数据内容的存储位置;在所述数据内容是交易数据时,所述第一目标节点将所述多个第二目标节点的节点位置确定为所述待发布的数据内容的存储位置。本申请实施例第二方面提供一种对随机共识的图式账本建立内容索引的装置,所述装置包括:哈希值计算模块,用于使发布数据内容的第一目标节点利用目标哈希函数对待发布的数据内容进行计算,得到所述待发布的数据内容的哈希值;有效期获得模块,用于使所述第一目标节点根据所述待发布的数据内容的产生时间,得到有效期;内容身份证生成模块,用于使所述第一目标节点根据所述哈希值和所述数据有效期,生成内容身份证;第二目标节点获取模块,用于使所述第一目标节点利用预设路由算法,在所述图式账本系统中确定存储所述内容身份证的多个第二目标节点;存储位置绑定模块,用于使所述第一目标节点获取所述待发布的数据内容的存储位置,并对所述内容身份证绑定所述存储位置;内容身份证发送模块,用于使将所述绑定存储位置的内容身份证发送给所述多个第二目标节点;内容身份证存储模块,用于使所述第二目标节点将接收的所述绑定存储位置的内容身份证存储在本地节点。可选地,所述装置还包括:哈希表建立模块,用于在所述图式账本系统的每个节点建立分布式哈希表;所述内容身份证存储模块包括:时间戳生成模块,用于根据接收所述绑定存储位置的内容身份证的时间,生成时间戳;写入模块,用于将所述绑定存储位置的内容身份证和所述时间戳写入本地的分布式哈希表。可选地,所述装置还包括:遍历哈希表模块,用于使所述第二目标节点每隔预设时间遍历本地的分布式哈希表中存储的内容身份证;无效内容身份证确定模块,用于根据每个内容身份证中的数据有效期,确定本地的分布式哈希表中的无效内容身份证;二次发布内容确定模块,用于根据每个内容身份证对应的时间戳,确定本地的分布式哈希表中待二次发布的内容身份证;第三目标节点获取模块,用于使所述第二目标节点利用所述预设路由算法,在所述图式账本系统中确定用于存储所述待二次发布的内容身份证的多个第三目标节点;内容身份证二次发布模块,用于使所述第二目标节点将所述待二次发布的内容身份证发送给所述多个第三目标节点;无效内容身份证移出模块,用于使所述第二目标节点移出所述无效内容身份证。可选地,所述本文档来自技高网...

【技术保护点】
1.一种对随机共识的图式账本建立内容索引的方法,其特征在于,应用于图式账本系统;所述方法包括:/n发布数据内容的第一目标节点利用目标哈希函数对待发布的数据内容进行计算,得到所述待发布的数据内容的哈希值;/n所述第一目标节点根据所述待发布的数据内容的产生时间,得到有效期;/n所述第一目标节点根据所述哈希值和所述数据有效期,生成内容身份证;/n所述第一目标节点利用预设路由算法,在所述图式账本系统中确定存储所述内容身份证的多个第二目标节点;/n所述第一目标节点获取所述待发布的数据内容的存储位置,并对所述内容身份证绑定所述存储位置;/n将所述绑定存储位置的内容身份证发送给所述多个第二目标节点;/n所述第二目标节点将接收的所述绑定存储位置的内容身份证存储在本地节点。/n

【技术特征摘要】
1.一种对随机共识的图式账本建立内容索引的方法,其特征在于,应用于图式账本系统;所述方法包括:
发布数据内容的第一目标节点利用目标哈希函数对待发布的数据内容进行计算,得到所述待发布的数据内容的哈希值;
所述第一目标节点根据所述待发布的数据内容的产生时间,得到有效期;
所述第一目标节点根据所述哈希值和所述数据有效期,生成内容身份证;
所述第一目标节点利用预设路由算法,在所述图式账本系统中确定存储所述内容身份证的多个第二目标节点;
所述第一目标节点获取所述待发布的数据内容的存储位置,并对所述内容身份证绑定所述存储位置;
将所述绑定存储位置的内容身份证发送给所述多个第二目标节点;
所述第二目标节点将接收的所述绑定存储位置的内容身份证存储在本地节点。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述图式账本系统的每个节点建立分布式哈希表;
所述第二目标节点将接收的所述绑定存储位置的内容身份证存储在本地节点,包括:
根据接收所述绑定存储位置的内容身份证的时间,生成时间戳;
将所述绑定存储位置的内容身份证和所述时间戳写入本地的分布式哈希表。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第二目标节点每隔预设时间遍历本地的分布式哈希表中存储的内容身份证;
根据每个内容身份证中的数据有效期,确定本地的分布式哈希表中的无效内容身份证;
根据每个内容身份证对应的时间戳,确定本地的分布式哈希表中待二次发布的内容身份证;
所述第二目标节点利用所述预设路由算法,在所述图式账本系统中确定用于存储所述待二次发布的内容身份证的多个第三目标节点;
所述第二目标节点将所述待二次发布的内容身份证发送给所述多个第三目标节点;
所述第二目标节点移出所述无效内容身份证。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一目标节点获取所述数据内容的数据类型以及所述目标哈希函数的标识;
第一目标节点根据所述哈希值和所述数据有效期,生成内容身份证,包括:
根据所述哈希值、所述数据有效期、所述数据内容的数据类型和所述目标哈希函数的标识,生成内容身份证数据结构;
设置所述内容身份证数据结构的编码方式,并将对应所述编码方式的编码前缀添加到所述内容身份数据结构;
对所述内容身份证数据结构添加空白的预留字段;
将添加了所述预留字段和所述编码前缀的内容身份证数据结构确定为所述内容身份证。


5.根据权利要求1所述的方法,其特征在于,第一目标节点获取所述待发布的数据内容的存储位置,包括:
在所述数据内容是区块数据时,所述第一目标节点将产块节点和见证节点的节点位置确定为所述待发布的数据内容的存储位置;
在所述数据内容是交易数据时,所述第一目标节点将所述多个第二目标节点的节点位置确定为所述待发布的数据内容的存储位置。


6.一种对随机共识的图式账本建立内容索引的装置,其特征在于,应用于图式账本系统;所述装置包括:
哈希值计算模块,用于使发布数据内容的第一目标节点利用目标哈希函数对待发布的数据内容进行计算,得到所述待发布的数据内容的哈希值;...

【专利技术属性】
技术研发人员:黄罡景翔谢钰呈朱晓旻蔡华
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

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

1