CN113127562A - 一种低冗余区块链数据存储和检索方法及系统 - Google Patents
一种低冗余区块链数据存储和检索方法及系统 Download PDFInfo
- Publication number
- CN113127562A CN113127562A CN202110339456.0A CN202110339456A CN113127562A CN 113127562 A CN113127562 A CN 113127562A CN 202110339456 A CN202110339456 A CN 202110339456A CN 113127562 A CN113127562 A CN 113127562A
- Authority
- CN
- China
- Prior art keywords
- data
- account book
- node
- block
- backup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013500 data storage Methods 0.000 title claims abstract description 23
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种低冗余区块链数据存储和检索方法及系统,上述方法包括:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;基于Raft协议实现区块链节点之间的上链共识机制;领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。本发明通过重构区块数据结构,剔除冗余账本数据,并新增查询索引结构,提出基于Raft协议和Hash散列的低冗余账本数据存储和检索方法,最终实现区块链低冗余数据存储和溯源。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种低冗余区块链数据存储和检索方法及系统、设备、存储介质。
背景技术
区块链本质上是一个分布式共享数据库,基于P2P网络、密码学、数据库等技术,在无需可信认证中心的情况下,实现数据的不可篡改、不可抵赖等性质。目前,区块链技术已成功应用于电子政务中的存证管理、互联网货币交易平台、数据交换与共享等领域,已经是政府、产业界和学术界备受关注的热点技术。
区块链采用P2P网络以全连接的方式将一个个对等节点连接起来,节点之间采取广播的方式传输数据,每个节点以链式结构同步分布式账本;采用MD5等方法提取账本数据的Hash摘要以防止账本数据被篡改,采用数字签名等方法确保账本数据不可抵赖;采用分布式数据库共识方法实现去中心化的节点间信任机制。
尽管区块链技术有着去中心化、不可篡改、不可抵赖等优点,然而传统的区块链仍然存在一些缺点:为了保障分布式账本的安全性和可靠性,所有节点需要同步存储相同的分布式账本,造成区块链网络中存在大量冗余数据,特别是面向大量节点、海量数据场景,不利用于区块链技术的广泛应用。=。
发明内容
有鉴于此,本发明提出了一种低冗余区块链数据存储和检索方法及系统、设备、存储介质,用于解决区块链网络中存在大量冗余数据的问题。
本发明第一方面,公开一种低冗余区块链数据存储和检索方法,所述方法包括:
对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
优选的,所述方法还包括:
当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
优选的,所述低冗余区块数据结构包括时间戳、数字签名、账本摘要、查询索引;
所述时间戳是由区块链网络中的领导者节点记录系统时间;
所述数字签名是区块链网络中的领导者节点利用自己的私钥对节点的身份信息进行的数字签名;
所述账本摘要是将账本数据、时间戳、数字签名合并成一个区块文件,采用MD5算法提取区块文件的Hash摘要得到;
所述查询索是引通过索引结构存放领导者节点的本地网络地址和数据备份节点的网络地址。
优选的,所述基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制具体包括:
当区块链网络中有节点需要发布账本数据时,基于Raft协议,通过随机投票方式选举出区块链网络中的领导者节点;
领导者节点生成时间戳、账本数据、数字签名和账本摘要,基于所述低冗余区块数据结构构造账本区块和账本数据一并广播给其他所有节点;
其他任意节点接收到账本区块以及账本数据后,进行合法性验证;其他任意节点进行合法性验证通过后向其他所有节点发送确认信息,除领导者节点外的其他节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,并舍弃账本数据。
优选的,所述领导者节点将账本区块上链后,保存数据至本地具体包括:
领导者节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,同时将账本数据及其账本摘要保存至本地账本数据库中,并建立一份账本数据备份。
优选的,所述基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引具体包括:
领导者节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点;
领导者节点将账本数据备份及账本摘要发送至备份节点进行存储;
领导者节点获取本地网络地址和备份节点网络地址并发送至其他所有节点,其他所有节点接收到后更新本地区块链上低冗余账本区块中的查询索引。
优选的,所述Hash散列函数为:
Hash(md5,N)=md5%(N-1)
其中md5为账本摘要,N为区块链网络的节点总数。
本发明第二方面,公开一种低冗余区块链数据存储和检索系统,所述系统包括:
区块重构模块:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
共识机制模块:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
备份存储模块:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
分布式检索模块:当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
本发明第三方面,公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如本发明第一方面所述的方法。
本发明第四方面,公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现如本发明第一方面所述所述的方法。
本发明相对于现有技术具有以下有益效果:
1)本发明通过重构区块数据结构,保留时间戳、账本摘要、数字签名等结构,剔除冗余账本数据,并新增查询索引结构,该区块数据结构不包含账本数据,除领导者节点和数据备份节点外的任意节点确认账本数据的有效性后,即可删除账本数据,即每次数据上链仅有领导者节点和账本数据备份节点会存储数据,而其他节点不保存账本数据,能有效降低区块链网络中的存储冗余,从而保障区块链安全性的同时减少区块链网络中的数据冗余。
2)为了保障账本数据的可靠性,同时不影响分布式账本溯源,提出基于Raft协议和Hash散列的低冗余账本数据存储和检索方法,通过采用Raft协议实现数据上链、备份存储的共识机制,在区块链网络中随机散列存储账本数据备份,通过区块中的索引结构进行溯源,最终实现区块链低冗余数据存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明低冗余区块数据结构示意图;
图2为基于Raft协议和Hash散列的低冗余账本数据存储和检索工作流程图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本发明提出一种低冗余区块链数据存储和检索方法,所述方法包括:
S1、构造低冗余区块数据结构:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
请参阅图1,图1为本发明低冗余区块数据结构示意图,本发明对传统分布式账本进行重构,提取其中时间戳、账本摘要、数字签名等部分,剔除账本数据部分,并新增查询索引部分,从而构造一种新型区块数据结构,主要包含时间戳time、数字签名sign、账本摘要md5和查询索引index等。所述账本摘要包括当前区块MD5摘要以及父节点MD5摘要。
其中,时间戳time:由区块链网络中的领导者节点记录的系统时间,并记录在生成的数据区块文件中,用于记录账本生成时间;
数字签名sign:区块链网络中的领导者节点利用自己的私钥keyprivate(秘钥长度为1024位),采用RSA加密方法sign=RSAEncrypt(identity,keyprivate)对节点的身份信息identity进行数字签名,该签名可以利用领导者节点公开的公钥keypublic(秘钥长度为1024位),采用RSA解密方法identity=RSADecrypt(sign,keypublic)进行解密以确认该节点的身份信息是否正确,用于记录生成账本的节点并防止抵赖;
账本区块数据结构即由上述时间戳time、数字签名sign、账本摘要md5和查询索引index的文本数据组成,表示为其中为文本拼接符号。该区块数据结构不包含账本数据data,当任意节点(除领导者节点和数据备份节点外)确认账本数据的有效性后,即可删除账本数据,从而减少区块链网络中的数据冗余。相对于传统分布式账本,因剔除账本数据、增加查询索引部分,从而降低区块链网络中大量冗余存储的数据。
请参阅图2,图2为本发明基于Raft协议和Hash散列的低冗余账本数据存储和检索工作流程示意图,对应于以下步骤S2、S3。
S2、基于Raft协议实现区块链节点共识:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
当区块链网络中有节点需要发布账本数据时,基于Raft协议,通过随机投票方式选举出区块链网络中的领导者节点;比如,随机投票方式选举时,超过1/2的节点通过则认为选举成功,重复选举直至选举成功为止。
领导者节点生成时间戳time、账本数据data,并生成数字签名sign和账本摘要md5,基于上述低冗余区块数据结构构造账本区块ledger,表示为ledger=generate(time,sign,md5,index),将ledger和账本数据data一并广播给其他所有节点,即广播
其他任意节点接收到账本区块以及账本数据后,进行合法性验证;具体的,所述合法性验证包括:从账本区块中提取时间戳time、数字签名sign、账本摘要md5,表示为(time,sign,md5)=Disassemble(ledger)。通过验证当前账本区块时间戳timei是否大于区块链中上一区块的时间戳timei-1以验证时间正确性,即timei>timei-1;通过比较数字签名解密后的信息与签名者身份信息是否一致来验证账本区块未被伪造,表示为Match(identityleader,RSADecrypt(sign,keypublic))==0;通过比较账本摘要md5与由账本数据data、时间戳time、数字签名sign生成的MD5标签是否一致来验证账本区块未被篡改,表示为
任意节点进行合法性验证通过后向其他所有节点发送确认信息,除领导者节点外的其他节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块ledger上链,并舍弃账本数据data,表示为Onchain(ledger)。
本发明采用Raft协议实现区块链节点之间的共识机制,区块链网络中各节点通过投票机制选出临时领导节点,由领导节点构造低冗余账本区块(附上账本数据)并广播给其他跟随节点,其他节点收到账本区块后验证区块的合法性并向所有其他节点反馈确认信息,任一节点当且仅当收到一半以上的节点反馈确认信息后,则将账本区块上链并舍弃其中的账本数据部分。
S3、基于Hash散列的随机备份存储:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。具体包括:
S31、领导者节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块ledger上链Onchain(ledger),同时将账本数据data及其账本摘要md5保存至本地账本数据库中,表示为Store(ledger,md5),并建立一份账本数据备份datacopy。
S32、领导者节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点;所述Hash散列函数为:
Hash(md5,N)=md5%(N-1)
其中md5为账本摘要,N为区块链网络的节点总数。
S33、选取出账本数据备份节点后,领导者节点将账本数据备份datacopy及账本摘要md5发送至备份节点进行存储;
S34、发送至备份节点进行存储的同时,领导者节点获取本地网络地址ipleader和备份节点网络地址ipcopy并发送至其他所有节点,其他所有节点接收到后更新本地区块链上低冗余账本区块中的查询索引index,表示为
本发明通过Hash散列的随机备份存储,当领导节点收到一半以上的节点反馈确认信息后,将账本数据及其账本摘要保存至本地的账本数据库中,并建立一份账本数据备份。领导节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点,并将账本账本数据备份及账本摘要发送至备份节点进行存储。领导节点获得本地网络地址和备份节点网络地址,一并发送至其他所有节点,所有节点随后更新低冗余账本区块中查询索引部分。因为每次数据上链仅有领导者节点和账本数据备份节点会存储数据,而其他节点不保存账本数据,所以能有效降低区块链网络中的存储冗余。
S4、分布式账本检索:当任意节点需要对账本数据进行溯源时,通过提取区块链上的查询索引数据获取账本数据存储节点的网络地址ipleader或ipcopy以及账本摘要md5,并在存储节点的账本数据库中通过账本摘要检索账本数据。
如果被查询的存储节点出现故障或存在其他安全问题,则可以查询备份节点的账本数据库。
与上述方法实施例相对应,本发明还提出一种低冗余区块链数据存储和检索系统,所述系统包括:
区块重构模块:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
共识机制模块:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
备份存储模块:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
分布式检索模块:当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
以上系统实施例是与方法实施例相对应的,方法实施例简述之处请参阅方法实施例即可。
本发明还公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明前述的低冗余区块链数据存储和检索方法方法。
本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现本发明实施例所述低冗余区块链数据存储和检索方法方法的全部或部分步骤。所述存储介质包括:U盘、移动硬盘、只议存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以分布到多个网络单元上。可以根据实际的衙要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种低冗余区块链数据存储和检索方法,其特征在于,所述方法包括:
对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
2.根据权利要求1所述低冗余区块链数据存储和检索方法,其特征在于,所述方法还包括:
当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
3.根据权利要求1所述低冗余区块链数据存储和检索方法,其特征在于,所述低冗余区块数据结构包括时间戳、数字签名、账本摘要、查询索引;
所述时间戳是由区块链网络中的领导者节点记录系统时间;
所述数字签名是区块链网络中的领导者节点利用自己的私钥对节点的身份信息进行的数字签名;
所述账本摘要是将账本数据、时间戳、数字签名合并成一个区块文件,采用MD5算法提取区块文件的Hash摘要得到;
所述查询索是引通过索引结构存放领导者节点的本地网络地址和数据备份节点的网络地址。
4.根据权利要求3所述低冗余区块链数据存储和检索方法,其特征在于,所述基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制具体包括:
当区块链网络中有节点需要发布账本数据时,基于Raft协议,通过随机投票方式选举出区块链网络中的领导者节点;
领导者节点生成时间戳、账本数据、数字签名和账本摘要,基于所述低冗余区块数据结构构造账本区块和账本数据一并广播给其他所有节点;
其他任意节点接收到账本区块以及账本数据后,进行合法性验证;其他任意节点进行合法性验证通过后向其他所有节点发送确认信息,除领导者节点外的其他节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,并舍弃账本数据。
5.根据权利要求4所述低冗余区块链数据存储和检索方法,其特征在于,所述领导者节点将账本区块上链后,保存数据至本地具体包括:
领导者节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,同时将账本数据及其账本摘要保存至本地账本数据库中,并建立一份账本数据备份。
6.根据权利要求5所述低冗余区块链数据存储和检索方法,其特征在于,所述基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引具体包括:
领导者节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点;
领导者节点将账本数据备份及账本摘要发送至备份节点进行存储;
领导者节点获取本地网络地址和备份节点网络地址并发送至其他所有节点,其他所有节点接收到后更新本地区块链上低冗余账本区块中的查询索引。
7.根据权利要求6所述低冗余区块链数据存储和检索方法,其特征在于,所述Hash散列函数为:
Hash(md5,N)=md5%(N-1)
其中md5为账本摘要,N为区块链网络的节点总数。
8.一种低冗余区块链数据存储和检索系统,其特征在于,所述系统包括:
区块重构模块:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
共识机制模块:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
备份存储模块:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
分布式检索模块:当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
9.一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;
其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339456.0A CN113127562A (zh) | 2021-03-30 | 2021-03-30 | 一种低冗余区块链数据存储和检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339456.0A CN113127562A (zh) | 2021-03-30 | 2021-03-30 | 一种低冗余区块链数据存储和检索方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113127562A true CN113127562A (zh) | 2021-07-16 |
Family
ID=76775373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110339456.0A Pending CN113127562A (zh) | 2021-03-30 | 2021-03-30 | 一种低冗余区块链数据存储和检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127562A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821549A (zh) * | 2021-09-23 | 2021-12-21 | 广东科学技术职业学院 | 一种基于云存储的区块链数据检索系统及方法 |
CN113901131A (zh) * | 2021-09-02 | 2022-01-07 | 北京邮电大学 | 基于索引的链上数据查询方法及装置 |
CN114881760A (zh) * | 2022-04-29 | 2022-08-09 | 深圳市智策科技有限公司 | 基于区块链的数据管理方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004744A1 (en) * | 2016-07-01 | 2018-01-04 | Intel Corporation | Optimized selection of hash collision chains |
CN109542980A (zh) * | 2018-11-20 | 2019-03-29 | 北京磁云数字科技有限公司 | 一种区块链的数据处理方法、装置、设备及介质 |
CN110032547A (zh) * | 2019-01-29 | 2019-07-19 | 香港贝尔科技有限公司 | 一种分布式环境下文件存储改进方法 |
CN110322352A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市炳德区块链技术有限公司 | 一种基于区块链的账本建立及查询方法、电子设备 |
CN110399373A (zh) * | 2019-06-26 | 2019-11-01 | 杭州慧牧科技有限公司 | 一种区块链账本存储系统、存储查询方法及删除方法 |
CN111177277A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 数据存储方法、交易存储方法及装置 |
US20200159726A1 (en) * | 2015-09-04 | 2020-05-21 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US20210014066A1 (en) * | 2019-07-11 | 2021-01-14 | Alibaba Group Holding Limited | Shared blockchain data storage |
US20210026740A1 (en) * | 2018-09-30 | 2021-01-28 | Tencent Technology (Shenzhen) Company Ltd | Data backup method, storage medium, and computing device |
US20210044422A1 (en) * | 2019-11-06 | 2021-02-11 | Alipay (Hangzhou) Information Technology Co., Ltd. | Data security of shared blockchain data storage based on error correction code |
CN112380010A (zh) * | 2020-11-13 | 2021-02-19 | 成都纵上行信息科技有限公司 | 一种物联网环境下负载均衡的层次化区块链 |
-
2021
- 2021-03-30 CN CN202110339456.0A patent/CN113127562A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200159726A1 (en) * | 2015-09-04 | 2020-05-21 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US20180004744A1 (en) * | 2016-07-01 | 2018-01-04 | Intel Corporation | Optimized selection of hash collision chains |
US20210026740A1 (en) * | 2018-09-30 | 2021-01-28 | Tencent Technology (Shenzhen) Company Ltd | Data backup method, storage medium, and computing device |
CN109542980A (zh) * | 2018-11-20 | 2019-03-29 | 北京磁云数字科技有限公司 | 一种区块链的数据处理方法、装置、设备及介质 |
CN110032547A (zh) * | 2019-01-29 | 2019-07-19 | 香港贝尔科技有限公司 | 一种分布式环境下文件存储改进方法 |
CN110399373A (zh) * | 2019-06-26 | 2019-11-01 | 杭州慧牧科技有限公司 | 一种区块链账本存储系统、存储查询方法及删除方法 |
CN110322352A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市炳德区块链技术有限公司 | 一种基于区块链的账本建立及查询方法、电子设备 |
US20210014066A1 (en) * | 2019-07-11 | 2021-01-14 | Alibaba Group Holding Limited | Shared blockchain data storage |
US20210044422A1 (en) * | 2019-11-06 | 2021-02-11 | Alipay (Hangzhou) Information Technology Co., Ltd. | Data security of shared blockchain data storage based on error correction code |
CN111177277A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 数据存储方法、交易存储方法及装置 |
CN112380010A (zh) * | 2020-11-13 | 2021-02-19 | 成都纵上行信息科技有限公司 | 一种物联网环境下负载均衡的层次化区块链 |
Non-Patent Citations (2)
Title |
---|
XINYING YANG: "LedgerDB: A Centarlized Ledger Database for Universal Audit and Verfication", PROCEEDINGS OF THE VLDB ENDOWMENT * |
符纯浩: "基于分布式账本的去中心化存储系统框架", 硕士电子期刊2020年第07期 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901131A (zh) * | 2021-09-02 | 2022-01-07 | 北京邮电大学 | 基于索引的链上数据查询方法及装置 |
CN113821549A (zh) * | 2021-09-23 | 2021-12-21 | 广东科学技术职业学院 | 一种基于云存储的区块链数据检索系统及方法 |
CN113821549B (zh) * | 2021-09-23 | 2023-08-08 | 广东科学技术职业学院 | 一种基于云存储的区块链数据检索系统及方法 |
CN114881760A (zh) * | 2022-04-29 | 2022-08-09 | 深圳市智策科技有限公司 | 基于区块链的数据管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018348334C1 (en) | Achieving consensus among network nodes in a distributed system | |
AU2018348335B2 (en) | Performing a recovery process for a network node in a distributed system | |
AU2018348336B2 (en) | Performing a change of primary node in a distributed system | |
US11057187B2 (en) | Blockchain-assisted hash-based data signature system and method | |
CN113127562A (zh) | 一种低冗余区块链数据存储和检索方法及系统 | |
CN111786812B (zh) | 节点管理方法、装置、计算机设备和存储介质 | |
US20220005029A1 (en) | Blockchain-based identity verification method and related hardware | |
CN111212139A (zh) | 对信任节点信息进行更新的方法及装置 | |
Jämthagen et al. | Blockchain-based publishing layer for the keyless signing infrastructure | |
US11316698B2 (en) | Delegated signatures for smart devices | |
US20240073045A1 (en) | Blockchain-based data processing method and apparatus, device, medium, and product | |
CN111414417B (zh) | 一种基于区块链的视频版权管理方法 | |
CN116069856A (zh) | 一种基于区块链的数据完整性验证方法及系统 | |
Song et al. | New techniques for ensuring the long term integrity of digital archives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240528 |