CN114449003A - 一种联盟链数据处理方法及联盟链 - Google Patents
一种联盟链数据处理方法及联盟链 Download PDFInfo
- Publication number
- CN114449003A CN114449003A CN202210109160.4A CN202210109160A CN114449003A CN 114449003 A CN114449003 A CN 114449003A CN 202210109160 A CN202210109160 A CN 202210109160A CN 114449003 A CN114449003 A CN 114449003A
- Authority
- CN
- China
- Prior art keywords
- block
- storage nodes
- nodes
- storage
- node
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 541
- 230000008520 organization Effects 0.000 claims abstract description 191
- 238000012795 verification Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 abstract description 28
- 238000000034 method Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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]
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种联盟链数据处理方法及联盟链,联盟链中的各组织中包括多个区块链节点,区块链节点分为计算节点和存储节点,方法包括:计算节点进行区块计算,对得到的当前区块进行验证,通过后从同一组织的存储节点中选择N个目标存储节点,将当前区块发送至N个目标存储节点,将当前区块的区块头发送至同一组织中其余存储节点;N小于同一组织中存储节点的个数;目标存储节点对当前区块进行存储;其余存储节点对当前区块的区块头进行存储;区块头中可以包括当前区块的索引。本申请公开的技术方案,计算和存储进行分离,且各区块只在同一组织中存储N份,而并非每个存储节点均对区块进行全量存储,从而减少对区块链节点的资源争夺和占用。
Description
技术领域
本申请涉及区块链技术领域,更具体地说,涉及一种联盟链数据处理方法及联盟链。
背景技术
目前,联盟链中的区块链节点既负责交易背书、交易排序和验证,又负责联盟链数据的存储,这些计算和存储功能在同一个节点上进行,必然会相互争夺联盟链节点的资源。而且联盟链中的各区块链节点中都存储有全量的数据,考虑到联盟链数据会持续增长,因此,联盟链中各区块链节点进行全量数据存储会占用比较大的存储空间。
综上所述,如何减少对区块链节点的资源争夺和占用,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种联盟链数据处理方法及联盟链,用于减少对区块链节点的资源争夺和占用。
为了实现上述目的,本申请提供如下技术方案:
一种联盟链数据处理方法,联盟链中的各组织中包括多个区块链节点,各所述组织中的区块链节点分为计算节点和存储节点,所述联盟链数据处理方法包括:
所述计算节点进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将所述当前区块发送至N个所述目标存储节点,并将所述当前区块的区块头发送至同一组织中除所述目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数;
所述目标存储节点接收所述计算节点发送的所述当前区块,对所述当前区块进行存储;
同一组织中除所述目标存储节点外的存储节点接收所述当前区块的区块头,对所述当前区块的区块头进行存储;所述区块头中包括所述当前区块的索引。
优选的,所述计算节点从同一组织的存储节点中选择N个目标存储节点,包括:
对同一组织中各所述存储节点的地址进行哈希,得到各所述存储节点对应的第一哈希值,根据各所述存储节点对应的第一哈希值确定同一组织中各所述存储节点在预先建立的有向闭合哈希环中的位置;所述有向闭合哈希环根据同一组织中存储节点的个数进行建立;
对所述当前区块的区块哈希进行哈希,得到所述当前区块对应的第二哈希值,根据所述第二哈希值确定所述当前区块在所述有向闭合哈希环中位置;
根据所述当前区块在所述有向闭合哈希环中位置、同一组织中各所述存储节点在所述有向闭合哈希环中的位置,从同一组织的所述存储节点中选择N个目标存储节点。
优选的,所述计算节点根据所述当前区块在所述有向闭合哈希环中位置、同一组织中各所述存储节点在所述有向闭合哈希环中的位置,从同一组织的所述存储节点中选择N个目标存储节点,包括:
若所述当前区块在所述有向闭合哈希环中位置与同一组织中的一个存储节点在所述有向闭合哈希环中的位置重合,则将重合位置对应的存储节点作为一个目标存储节点,并从所述重合位置开始沿所述有向闭合哈希环的前向方向寻找N-1个存储节点,并将寻找到的N-1个存储节点均作为所述目标存储节点;
若所述当前区块在所述有向闭合哈希环中位置与同一组织中的一个存储节点在所述有向闭合哈希环中的位置不重合,则从所述当前区块在所述有向闭合哈希环中位置开始沿所述有向闭合哈希环的前向方向寻找N个存储节点,并将寻找到的N个存储节点均作为所述目标存储节点。
优选的,还包括:
所述存储节点接收客户端发送的区块查询请求,若确定自身未存储有与所述区块查询请求对应的查询区块,则从自身存储的与所述查询区块对应的区块头中获取存储所述查询区块的存储节点的地址,并将存储所述查询区块的存储节点的地址返回给所述客户端,以使所述客户端根据返回的存储所述查询区块的存储节点的地址进行所述查询区块的查询。
优选的,还包括:
若同一组织中的多个所述存储节点连续确定一存储节点未对所述客户端进行响应,则将被多个所述存储节点连续确定的未对所述客户端进行响应的存储节点确定为停服节点;
同一组织中的所述存储节点从除所述停服节点外的存储节点中确定与所述停服节点中存储的各区块分别对应的备份存储节点,由所述备份存储节点对所述停服节点中与所述备份存储节点对应的区块进行存储,并由存储相应区块的区块头的存储节点对相应区块头中的索引进行更新。
优选的,所述存储节点从除所述停服节点外的存储节点中确定与所述停服节点中存储的各区块分别对应的备份存储节点,包括:
将当前最新区块作为待备份区块,根据同一组织中各所述存储节点中存储的区块头判断所述停服节点中是否存储有所述待备份区块;
若是,则从同一组织中未存储所述待备份区块的存储节点中确定与所述待备份区块对应的备份存储节点;
若否,则将所述当前最新区块前的一个区块作为待备份区块,并执行所述根据同一组织中各所述存储节点中存储的区块头确定所述停服节点中是否存储有所述待备份区块的步骤,直至完成对第一个区块的确定为止。
优选的,所述存储节点从同一组织中未存储所述待备份区块的存储节点中确定与所述待备份区块对应的备份存储节点,包括:
所述存储节点在所述待备份区块的区块哈希上添加随机数,并对添加随机数后的区块哈希进行哈希,得到所述待备份区块对应的第三哈希值;
根据所述第三哈希值确定所述待备份区块在所述有向闭合哈希环中位置;
从所述待备份区块在所述有向闭合哈希环中的位置开始沿所述有向闭合哈希环寻找同一组织中第一个未存储所述待备份区块的存储节点,并将寻找到的存储节点确定为与所述待备份区块对应的备份存储节点。
优选的,同一组织中除所述目标存储节点外的存储节点对所述当前区块的区块头进行存储之前,还包括:
同一组织中除所述目标存储节点外的存储节点判断各所述目标存储节点是否成功存储所述当前区块;
若存在有所述目标存储节点未成功存储所述当前区块,则从同一组织中除所述目标存储节点外的存储节点中选择相应数量的目标存储节点,以利用选择出的相应数量的目标存储节点对所述当前区块进行存储。
优选的,还包括:
同一组织中除所述目标存储节点外的存储节点对所述存储节点上的世界状态进行更新。
一种联盟链,包括多个组织,各所述组织中包括多个区块链节点,各所述组织中的区块链节点分为计算节点和存储节点,其中:
同一组织中的所述计算节点,用于进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将所述当前区块发送至N个所述目标存储节点,并将所述当前区块的区块头发送至同一组织中除所述目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数;
同一组织中的目标存储节点,用于接收所述计算节点发送的所述当前区块,对所述当前区块进行存储;
同一组织中除所述目标存储节点外的存储节点,用于接收所述当前区块的区块头,对所述当前区块的区块头进行存储;所述区块头中包括所述当前区块的索引。
本申请提供了一种联盟链数据处理方法及联盟链,联盟链中的各组织中包括多个区块链节点,各组织中的区块链节点分为计算节点和存储节点,该方法包括:计算节点进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将当前区块发送至N个目标存储节点,并将当前区块的区块头发送至同一组织中除目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数;目标存储节点接收计算节点发送的当前区块,对当前区块进行存储;同一组织中除目标存储节点外的存储节点接收当前区块的区块头,对当前区块的区块头进行存储;区块头中可以包括当前区块的索引。
本申请公开的上述技术方案,将联盟链中各组织中的区块链节点划分为计算节点和存储节点,计算节点负责进行区块计算和区块验证,在区块通过验证后,从同一组织中选择N个目标存储节点,由这N个目标存储节点对当前区块进行存储,并由同一组织中除N个目标存储节点外的存储节点对当前区块的区块头进行存储,以便于后续基于区块头中的索引来确定区块的存储位置并进行区块查询和获取,通过上述实现计算和存储的分离,也即计算和存储分别由专门的区块链节点进行实现,从而有效避免造成计算和存储相互争夺节点资源情况的出现,同时由于各区块只在同一组织中存储N份,而并非组织中的每个存储节点均对区块进行存储,这就使得同一组织中的各存储节点无需对所有的区块均进行存储,而是对一部分区块进行存储,对另一部分区块的区块头进行存储,由于区块头所占用的存储空间相比区块所占用的存储空间要小的多,因此,则可以减少对各存储节点中的存储空间的占用,进而便于满足区块存储的需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种联盟链数据处理方法的流程图;
图2为本申请实施例提供的一种联盟链的示意图;
图3为本申请实施例提供的联盟链数据处理的一具体实现图;
图4为本申请实施例提供的有向闭合哈希环的示意图。
具体实施方式
区块链上区分了世界状态(world state)和交易历史(区块)。世界状态是指当前的情况,比起存储交易历史,其存储空间占用较小,但使用频率较高。区块链网络采用去中心化分布式存储,每个区块链节点拥有全量的交易历史区块数据,这保证了区块链的不可篡改性。但这种交易历史全量分布式存储结构又会产生新的问题。区块链网络中,数据需要在成百上千的节点上进行复制。即使在联盟链中,也有十几或者几十个区块链节点,这些区块链节点都存储全量的数据,这无论是从存储空间的占用,还是对区块链节点的文件网络IO都是很大的开销。也即联盟链中区块数据的存储要在联盟链集群中所有记账节点上存储相同的数据,这种全量分布式存储的结构数据由联盟链集群中多方持有,保证了数据不能被单方篡改,但是,这也造成了数据的大量冗余备份。
另外,在联盟链中,区块链节点既负责交易背书、交易排序和验证,又负责联盟链数据的存储,这些计算和存储功能在同一区块链节点上进行,必然会相互争夺节点的资源。
为此,本申请提供一种联盟链数据处理方法及联盟链,用于减少对区块链节点的资源争夺和占用,而且可以降低对区块链节点的文件网络IO的开销。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1和图2,其中,图1示出了本申请实施例提供的一种联盟链数据处理方法的流程图,图2示出了本申请实施例提供的一种联盟链的示意图。本申请实施例提供的一种联盟链数据处理方法,联盟链中的各组织中包括多个区块链节点,各组织中的区块链节点分为计算节点和存储节点,联盟链数据处理方法可以包括:
S11:计算节点进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将当前区块发送至N个目标存储节点,并将当前区块的区块头发送至同一组织中除目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数。
联盟链中包含有多个组织,每个组织中均包含有多个区块链节点,其中,联盟链中加入的组织都是有准入机制的,所有加入到联盟链中的组织都是经过认证并经过其他联盟成员同意才能加入,每个组织中可以有多个区块链节点。考虑到计算和存储功能在联盟链分层结构中是相对独立的,区块的存储是在背书、排序和验证都完成之后,最后一步才会在区块链节点上进行落盘存储,因此,这种明显的分层结构,比较适合进行计算和存储功能的分离。为此,联盟链中各组织内的相关人员可以预先选择组织内计算能力强的区块链节点作为计算节点(具体可以选择组织内计算能力最强的区块链节点作为计算节点,也即计算节点可以为组织内计算能力最强的区块链节点),用于进行区块计算,组织内其余的区块链节点则可以均作为存储节点,用于进行区块存储。也即联盟链中每个组织的区块链节点可以分为用于进行计算的计算节点和用于进行存储的存储节点(也即为负责记账),计算节点只进行计算,不存储区块链的区块,存储节点只负责存储区块信息,而不进行计算区块和交易的验证,以通过将各组织中的区块链节点划分为计算节点和存储节点而实现计算和存储的分离,从而避免计算功能和存储功能在同一区块链节点中进行而相互争夺区块链节点的资源,并提高区块链的计算和存储效率,当前,也可以针对性地选择适合计算和存储的区块链节点,以将区块链节点划分为计算节点和存储节点。
同一组织中的计算节点可以进行区块计算,并对计算得到的当前区块进行验证,具体地,计算节点负责进行交易背书、交易排序、区块生成及交易上链前的验证。当所生成的当前区块通过验证之后,计算节点则从同一组织(即与计算节点位于同一组织)中的存储节点中选择N个目标存储节点,其中,N大于1且小于同一组织中存储节点的个数,而且N为整数,也即目标存储节点的个数大于1且小于同一组织中存储节点的总个数,N的具体大小可以根据区块的备份需求进行设置,以通过N个目标存储节点的选择而保证区块有足够数量的备份。
计算节点在从同一组织中选择出N个目标存储节点之后,可以将计算并验证通过后的当前区块通过gossip协议(或者其他协议)发送N个目标存储节点,以利用这N个目标存储节点对当前区块进行存储。同时计算节点可以通过gossip协议(或者其他协议,具体与上述发送给目标存储节点时采用相同的协议)将当前区块的区块头发送至同一组织中除目标存储节点之外的存储节点,以利用同一组织中除目标存储节点之外的存储节点对当前区块的区块头进行存储。区块头中包含有当前区块的区块哈希和当前区块的索引,其中,这里提及的当前区块的索引具体指的是当前区块所在的存储节点的地址,也即指的是当前区块所存储的目标存储节点的地址,以便于后续在查询到未存储查询区块的存储节点时这些存储节点可以提供查询区块的索引,以便于基于索引而获取查询区块;区块头中包含区块哈希可以保证当前区块不可被篡改,从而有效地保证区块链的不可篡改性。
S12:目标存储节点接收计算节点发送的当前区块,对当前区块进行存储。
同一组织中的目标存储节点则接收计算节点发送的当前区块,且由于存储节点信任本组织中的其他区块链节点,因此,目标存储节点可以不再进行区块的验证而直接对接收到的当前区块进行存储,以提高区块的存储效率。
S13:同一组织中除目标存储节点外的存储节点接收当前区块的区块头,对当前区块的区块头进行存储;区块头中可以包括当前区块的索引。
同一组织中除目标存储节点外的存储节点接收计算节点发送的当前区块的区块头,并在探测到同一组织中已经有N个目标存储节点存储了这个当前区块后,就会放弃再存储这个当前区块,而是对接收到的当前区块的区块头进行存储。也即同一组织中除目标存储节点外的存储节点虽然不对占用存储空间大的区块(或者说是区块体)进行存储,但还是要存储占用存储空间极小的区块头。相对于整个区块来说,区块头对存储空间的占用很小,一个区块的存储空间占用可以达到几兆,而一个区块头的存储空间占用只有几十个字节。需要说明的是,存储节点间可以相互进行通信(具体可以通信所存储的区块相关信息等),且存储节点间可以采用gossip协议进行通信。
也即是说,同一组织中的计算节点对生成及验证通过的每个区块均分别选择N个存储节点进行区块存储,而未被选中的存储节点则进行区块头的存储,通过这种方式使得同一组织中的每个存储节点都不会存储全量的区块,也即每个存储节点只存储一部分的区块,而对于另一部分的区块,则只存储其区块头(也即对于一个区块而言,存储节点要么存储有该区块,要么存储有该区块的区块头),从而有效地降低区块存储对存储节点存储空间的占用。
相较于现有在每个区块链节点中均进行全量的区块存储(也即每个区块均需要存储在所有的区块链节点中),本申请实现联盟链中的每个区块在同一组织中分片存储,每个区块在同一组织中只存储固定的N份备份,同一组织中的其他存储节点探测到联盟链中已经有N个存储节点存储了这个区块,就会放弃再存储这个区块数据,在保证区块足够数量备份的同时,节省了联盟链整体的存储空间,提升了联盟链整体性能。而且由于只需要存储N份区块,而并非是在同一组织中的各存储节点中均进行区块的存储,因此,在进行区块存储时只需要和一部分存储节点进行通信即可,而并不需要和所有的存储节点进行通信,因此,则可以有效地降低区块链节点的文件网络IO开销。
具体可以参见图3,其示出了本申请实施例提供的联盟链数据处理的一具体实现图,需要说明的是图3是以联盟链中的某个组织为例进行说明,且其是以该组织中包含有四个区块链节点、N=2为例进行说明,需要说明的是,图3中的101、102、103、104均指的是区块,且是不同的区块。如图3所示,联盟链中的区块链节点分为计算节点和存储节点,计算节点负责进行交易的背书、交易的排序和区块的生成以及交易上链前的验证,存储节点不需要再进行区块的验证,直接将区块存储到存储节点中,提高区块存储的效率。在存储节点中,实现对联盟链中的区块进行分片存储,预设每个区块的备份数量,比如预设每个区块的备份数量为N,例如图3所示的N=2,其他存储节点只存储占用空间极小的区块头。相对于整个区块来说,区块头对存储空间的占用很小。
本申请公开的上述技术方案,将联盟链中各组织中的区块链节点划分为计算节点和存储节点,计算节点负责进行区块计算和区块验证,在区块通过验证后,从同一组织中选择N个目标存储节点,由这N个目标存储节点对当前区块进行存储,并由同一组织中除N个目标存储节点外的存储节点对当前区块的区块头进行存储,以便于后续基于区块头中的索引来确定区块的存储位置并进行区块查询和获取,通过上述实现计算和存储的分离,也即计算和存储分别由专门的区块链节点进行实现,从而有效避免造成计算和存储相互争夺节点资源情况的出现,同时由于各区块只在同一组织中存储N份,而并非组织中的每个存储节点均对区块进行存储,这就使得同一组织中的各存储节点无需对所有的区块均进行存储,而是对一部分区块进行存储,对另一部分区块的区块头进行存储,由于区块头所占用的存储空间相比区块所占用的存储空间要小的多,因此,则可以减少对各存储节点中的存储空间的占用,进而便于满足区块存储的需求。
本申请实施例提供的一种联盟链数据处理方法,计算节点从同一组织的存储节点中选择N个目标存储节点,可以包括:
对同一组织中各存储节点的地址进行哈希,得到各存储节点对应的第一哈希值,根据各存储节点对应的第一哈希值确定同一组织中各存储节点在预先建立的有向闭合哈希环中的位置;有向闭合哈希环根据同一组织中存储节点的个数进行建立;
对当前区块的区块哈希进行哈希,得到当前区块对应的第二哈希值,根据第二哈希值确定当前区块在有向闭合哈希环中位置;
根据当前区块在有向闭合哈希环中位置、同一组织中各存储节点在有向闭合哈希环中的位置,从同一组织的存储节点中选择N个目标存储节点。
在本申请中,计算节点在从同一组织的存储节点中选择N个目标存储节点时,为了保证同一组织中各存储节点上存储数据量的平均性,防止某些存储节点的存储数据量过大,则计算节点可以采用如下方式进行N个存储节点的选择:
1)首先,可以对同一组织中各存储节点的地址进行哈希,得到同一组织中各存储节点分别对应的第一哈希值,然后,根据同一组织中各存储节点分别对应的第一哈希值确定同一组织中各存储节点在预先建立的有向闭合哈希环中的位置,也即对同一组织中所有存储节点的地址哈希到有向闭合哈希环中;具体可以参见图4,其示出了本申请实施例提供的有向闭合哈希环的示意图,有向闭合哈希环是由0-(2n-1)这2n个哈希值构成的闭合的有向的环形,其中,n为同一组织中存储节点的个数;
2)计算节点对验证通过的当前区块的区块哈希进行哈希,得到当前区块对应的第二哈希值,然后,根据当前区块对应的第二哈希值确定当前区块在有向闭合哈希环中的位置,也即计算节点将生成并验证通过的各区块的区块哈希也哈希到有向闭合哈希环中;
3)根据当前区块在有向闭合哈希环中的位置、同一组织中各存储节点在有向闭合哈希环中的位置,从同一组织的存储节点中选择N个存储节点作为与当前区块对应的目标存储节点。
通过将存储节点的地址哈希到有向闭合哈希环中、区块的区块哈希也哈希到有向闭合哈希环中而进行区块对应的目标存储节点的选择可以实现区块分片存储的平均性,防止某些存储节点的数据量过大。
本申请实施例提供的一种联盟链数据处理方法,计算节点根据当前区块在有向闭合哈希环中位置、同一组织中各存储节点在有向闭合哈希环中的位置,从同一组织的存储节点中选择N个目标存储节点,可以包括:
若当前区块在有向闭合哈希环中位置与同一组织中的一个存储节点在有向闭合哈希环中的位置重合,则将重合位置对应的存储节点作为一个目标存储节点,并从重合位置开始沿有向闭合哈希环的前向方向寻找N-1个存储节点,并将寻找到的N-1个存储节点均作为目标存储节点;
若当前区块在有向闭合哈希环中位置与同一组织中的一个存储节点在有向闭合哈希环中的位置不重合,则从当前区块在有向闭合哈希环中位置开始沿有向闭合哈希环的前向方向寻找N个存储节点,并将寻找到的N个存储节点均作为目标存储节点。
在本申请中,计算节点在根据当前区块在有向闭合哈希环中位置、同一组织中各存储节点在有向闭合哈希环中的位置,从同一组织的存储节点中选择N个目标存储节点时,若当前区块在有向闭合哈希环中位置与同一组织中的一个存储节点在有向闭合哈希环中的位置重合(此时,将该位置简称为重合位置),则计算节点可以将重合位置对应的存储节点作为一个目标存储节点,也即计算节点可以将在有向闭合哈希环中的位置与当前区块在有向闭合哈希环中的位置相重合的存储节点作为一个目标存储节点,然后,则可以以重合位置开始沿着有向闭合哈希环的前方方向(这里提及的前方方向具体为有向闭合哈希环中哈希值增大的位置,结合图3来说,即为逆时针方向)寻找N-1个存储节点,并将寻找到的这N-1个存储节点均作为与当前区块对应的目标存储节点;
若当前区块在有向闭合哈希环中位置与同一组织中的一个存储节点在有向闭合哈希环中的位置不重合,则从当前区块在有向闭合哈希环中位置开始沿着有向闭合哈希环的前向方向寻找N个存储节点,并将寻找到的这N个存储节点作为与当前区块对应的目标存储节点。
通过上述方式可以更好地选择出与当前区块对应的N个目标存储节点,并能更好地保证存储节点存储的平均性。
本申请实施例提供的一种联盟链数据处理方法,还可以包括:
存储节点接收客户端发送的区块查询请求,若确定自身未存储有与区块查询请求对应的查询区块,则从自身存储的与查询区块对应的区块头中获取存储查询区块的存储节点的地址,并将存储查询区块的存储节点的地址返回给客户端,以使客户端根据返回的存储查询区块的存储节点的地址进行查询区块的查询。
在本申请中,当客户端需要查询联盟链区块上的交易时,则可以发送区块查询请求,若某个存储节点接收到客户端发送的区块查询请求,并确定自身中存储有与区块查询请求对应的查询区块,则可以向客户端返回查询区块;若存储节点确定自身中未存储有与区块查询请求对应的查询区块(则存储有查询区块的区块头),此时,则可以从自身存储的与查询区块对应的区块头中获取所有存储查询区块的存储节点的地址(具体即为N个存储查询区块的存储节点的地址),并将存储查询区块的存储节点的地址返回给客户端,以使客户端根据反馈的存储查询区块的存储节点的地址重定向到存储了该查询区块的存储节点进行查询,从而使得客户端可以顺利地获取到查询区块。
本申请实施例提供的一种联盟链数据处理方法,还可以包括:
若同一组织中的多个存储节点连续确定一存储节点未对客户端进行响应,则将被多个存储节点连续确定的未对客户端进行响应的存储节点确定为停服节点;
同一组织中的存储节点从除停服节点外的存储节点中确定与停服节点中存储的各区块分别对应的备份存储节点,由备份存储节点对停服节点中与备份存储节点对应的区块进行存储,并由存储相应区块的区块头的存储节点对相应区块头中的索引进行更新。
在本申请中,如果客户端查询时发现某个存储有某个区块的存储节点没有响应,客户端会根据返回的N个地址再选择一个存储节点进行请求这个查询区块,并且标记因为某个存储节点没有响应而转发来的区块查询请求。如果同一组织中多个存储节点都连接发现一存储节点没有对客户端进行响应,则认为这个存储节点已经停止服务,则会把这个存储节点确定为停服节点。并且同一组织中其他任意一个存储节点会从同一组织中除停服节点外的存储节点中确定与停服节点中存储的各区块分别对应的备份存储节点(该备份存储节点中原本并未存储有停服节点中所存储的相应区块,以避免该区块的存储数量未达到N份),然后,各备份存储节点则对停服节点中与备份存储节点自身对应的区块进行存储,以把这个停服节点上本来存储的区块在同一组织中的其他存储节点(也即前述提及的备份存储节点)上再存储一份,从而保证这个存储节点上原来存储的区块仍然能够保持N份。同时,会更新这个区块链的路由地址,也即其他存储有这些区块(具体指的是停服节点中所存储的区块)的区块头的存储节点在确定备份存储节点对相应区块进行存储后,会对相应区块头中的索引进行更新(具体是把相应区块头的索引中的停服节点的地址更新为备份存储节点的地址),以保证后续能够提供正确索引。
上述这种通过多个不同存储节点连续确定某个存储节点未对客户端进行响应才将其确定为停服节点的方式可以降低偶然性,提高停服节点确定的准确性
例如:客户端在向存储有查询区块的存储节点发送查询请求时,若发现该存储节点(为了区分,将其称为存储节点A)未对客户端进行响应(也即存储节点A存储有客户端要获取的查询区块,但未对客户端进行返回),则客户端可以在区块查询请求中标记存储节点A未对客户端进行响应。然后,客户端可以向N个存储查询区块的存储节点中的下一个存储节点(为了区分,将其称为存储节点B)中发生区块查询请求,若存储节点B成功对客户端响应,则向客户端返回所要的查询区块,同时,存储节点B可以从区块查询请求中发现存储节点A未对客户端进行响应;若存储节点B也未对客户端进行响应,则客户端也在区块查询请求标记存储节点B未对客户端进行响应……直至客户端成功获取查询区块。客户端下一次再次向存储有查询区块(可能与上一次的查询区块不同,但该存储节点中仍旧存储有这一次要查询的查询区块)的存储节点A发送区块查询请求,若发现存储节点A还是未对客户端进行响应,则客户端可以再次在区块查询请求中标记存储节点A未对客户端进行响应。然后,客户端可以向N个存储查询区块的存储节点中的下一个存储节点(为了区分,将其称为存储节点C)中发生区块查询请求,若存储节点C成功对客户端响应,则向客户端返回所要的查询区块,同时,存储节点C可以从区块查询请求中发现存储节点A未对客户端进行响应;若存储节点C也未对客户端进行响应,则客户端也在区块查询请求标记存储节点C未对客户端进行响应……直至客户端成功获取查询区块。在客户端连续向存储有不同查询区块的存储节点A发送区块查询请求,且同一组织中的多个存储节点(例如:存储节点B、存储节点C、存储节点D)连续确定存储节点A未对客户端进行响应时,则将存储节点A确定为停服节点。其中,这里提及的被多个存储节点连续确定中的多个存储节点的个数可以根据实际情况进行设定。然后,则可以从除存储节点A外的存储节点中确定与存储节点A中所存储的各区块分别对应的备份存储节点,由备份存储节点对存储节点A中相应的区块进行存储,由存储相应区块头的存储节点对相应区块头中的索引进行更新。
本申请实施例提供的一种联盟链数据处理方法,存储节点从除停服节点外的存储节点中确定与停服节点中存储的各区块分别对应的备份存储节点,可以包括:
将当前最新区块作为待备份区块,根据同一组织中各存储节点中存储的区块头判断停服节点中是否存储有待备份区块;
若是,则从同一组织中未存储待备份区块的存储节点中确定与待备份区块对应的备份存储节点;
若否,则将当前最新区块前的一个区块作为待备份区块,并执行根据同一组织中各存储节点中存储的区块头确定停服节点中是否存储有待备份区块的步骤,直至完成对第一个区块的确定为止。
在本申请中,存储节点在从除停服节点外的存储节点中确定与停服节点中存储的各区块分别对应的备份存储节点时,会从当前最新区块开始,倒序遍历记录有这个停服节点地址的区块头,说明对应区块被分片存储到停服节点上过,这个区块就需要再增加一个备份。这种从当前最新区块开始倒序遍历的方式可以准确、有效地确定出停服节点中所存储有所有区块。
具体地,将当前最新区块作为待备份区块,根据同一组织中各存储节点中存储的区块头判断停服节点中是否存储有待备份区块,具体可以根据同一组织中各存储节点中存储的区块头的索引中是否包含停服节点的地址来判断停服节点中是否存储有待备份区块。
如果同一组织中至少有一个存储节点存储的区块头的索引中包含有停服节点的地址,则确定停服节点中存储有待备份区块,此时,则从同一组织中未存储有待备份区块的存储节点(这些存储节点仅存储了待备份区块的区块头)中确定与待备份区块对应的备份存储节点。
如果同一组织中所有存储节点存储的区块头的索引中均未包含有停服节点的地址,则确定停服节点中未存储有待备份区块,此时,则可以将位于当前最新区块前的一个区块作为待备份区块,并执行根据同一组织中各存储节点中存储的区块头确定停服节点中是否存储有待备份区块的步骤,直至完成对第一个区块的判断和确定为止。
本申请实施例提供的一种联盟链数据处理方法,存储节点从同一组织中未存储待备份区块的存储节点中确定与待备份区块对应的备份存储节点,可以包括:
存储节点在待备份区块的区块哈希上添加随机数,并对添加随机数后的区块哈希进行哈希,得到待备份区块对应的第三哈希值;
根据第三哈希值确定待备份区块在有向闭合哈希环中位置;
从待备份区块在有向闭合哈希环中的位置开始沿有向闭合哈希环寻找同一组织中第一个未存储待备份区块的存储节点,并将寻找到的存储节点确定为与待备份区块对应的备份存储节点。
在本申请中,存储节点在从同一组织中未存储待备份区块的存储节点中确定与待备份区块对应的备份存储节点时,为了保证存储节点存储数据量的平均性,则存储节点可以在待备份区块的区块哈希上添加随机数(具体可以添加上一个6位的随机数),并对添加随机数后的区块哈希进行哈希,得到待备份区块对应的第三哈希值,然后,根据第三哈希值确定待备份区块在有向闭合哈希环中位置。之后,可以从待备份区块在有向闭合哈希环中位置开始沿着前向方向或后向方向寻找同一组织中第一个未存储待备份区块的存储节点,并将寻找到的存储节点确定为与待备份区块对应的备份存储节点。
通过上述这种方式使得同一组织中各存储节点的存储数据量大致相同,以保证较好的一致性。
本申请实施例提供的一种联盟链数据处理方法,同一组织中除目标存储节点外的存储节点对当前区块的区块头进行存储之前,还可以包括:
同一组织中除目标存储节点外的存储节点判断各目标存储节点是否成功存储当前区块;
若存在有目标存储节点未成功存储当前区块,则从同一组织中除目标存储节点外的存储节点中选择相应数量的目标存储节点,以利用选择出的相应数量的目标存储节点对当前区块进行存储。
在本申请中,同一组织中除目标存储节点外的存储节点对当前区块的区块头进行存储之前,可以判断计算节点所选择出的各目标存储节点是否成功存储当前区块,若各目标存储节点成功存储当前区块,则同一组织中除目标存储节点外的存储节点执行对当前区块的区块头进行存储的步骤;若存在有目标存储节点未成功存储当前区块,则从同一组织中除目标存储节点外的存储节点中选择相应数量的目标存储节点,以利用选择出的相应数量的目标存储节点对当前区块进行存储,例如如果有3个目标存储节点未成功存储当前区块,则从同一组织中除目标存储节点外的存储节点中再选择3个目标存储节点,以利用新选择的这3个目标存储节点对当前区块进行存储,从而保证当前区块是在N个存储节点中进行存储,也即保证当前区块被存储了N份,从而保证当前区块有足够数量的备份。
本申请实施例提供的一种联盟链数据处理方法,还可以包括:
同一组织中除目标存储节点外的存储节点对存储节点上的世界状态进行更新。
在本申请中,同一组织中除目标存储节点外的存储节点在对当前区块的区块头进行存储的同时,还可以对存储节点上的世界状态进行更新,以便于提高查询效率和查询的准确性。其中,世界状态是指当前的情况,其比起区块而言,存储空间占用很小。
本申请实施例提供的一种联盟链,参见图2,可以包括多个组织,各组织中可以包括多个区块链节点,各组织中的区块链节点分为计算节点和存储节点,其中:
同一组织中的计算节点,用于进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将当前区块发送至N个目标存储节点,并将当前区块的区块头发送至同一组织中除目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数;
同一组织中的目标存储节点,用于接收计算节点发送的当前区块,对当前区块进行存储;
同一组织中除目标存储节点外的存储节点,用于接收当前区块的区块头,对当前区块的区块头进行存储;区块头中可以包括当前区块的索引。
本申请提供的一种联盟链中相关部分的说明可以参见本申请实施例提供的一种联盟链数据处理方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种联盟链数据处理方法,其特征在于,联盟链中的各组织中包括多个区块链节点,各所述组织中的区块链节点分为计算节点和存储节点,所述联盟链数据处理方法包括:
所述计算节点进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将所述当前区块发送至N个所述目标存储节点,并将所述当前区块的区块头发送至同一组织中除所述目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数;
所述目标存储节点接收所述计算节点发送的所述当前区块,对所述当前区块进行存储;
同一组织中除所述目标存储节点外的存储节点接收所述当前区块的区块头,对所述当前区块的区块头进行存储;所述区块头中包括所述当前区块的索引。
2.根据权利要求1所述的联盟链数据处理方法,其特征在于,所述计算节点从同一组织的存储节点中选择N个目标存储节点,包括:
对同一组织中各所述存储节点的地址进行哈希,得到各所述存储节点对应的第一哈希值,根据各所述存储节点对应的第一哈希值确定同一组织中各所述存储节点在预先建立的有向闭合哈希环中的位置;所述有向闭合哈希环根据同一组织中存储节点的个数进行建立;
对所述当前区块的区块哈希进行哈希,得到所述当前区块对应的第二哈希值,根据所述第二哈希值确定所述当前区块在所述有向闭合哈希环中位置;
根据所述当前区块在所述有向闭合哈希环中位置、同一组织中各所述存储节点在所述有向闭合哈希环中的位置,从同一组织的所述存储节点中选择N个目标存储节点。
3.根据权利要求2所述的联盟链数据处理方法,其特征在于,所述计算节点根据所述当前区块在所述有向闭合哈希环中位置、同一组织中各所述存储节点在所述有向闭合哈希环中的位置,从同一组织的所述存储节点中选择N个目标存储节点,包括:
若所述当前区块在所述有向闭合哈希环中位置与同一组织中的一个存储节点在所述有向闭合哈希环中的位置重合,则将重合位置对应的存储节点作为一个目标存储节点,并从所述重合位置开始沿所述有向闭合哈希环的前向方向寻找N-1个存储节点,并将寻找到的N-1个存储节点均作为所述目标存储节点;
若所述当前区块在所述有向闭合哈希环中位置与同一组织中的一个存储节点在所述有向闭合哈希环中的位置不重合,则从所述当前区块在所述有向闭合哈希环中位置开始沿所述有向闭合哈希环的前向方向寻找N个存储节点,并将寻找到的N个存储节点均作为所述目标存储节点。
4.根据权利要求2所述的联盟链数据处理方法,其特征在于,还包括:
所述存储节点接收客户端发送的区块查询请求,若确定自身未存储有与所述区块查询请求对应的查询区块,则从自身存储的与所述查询区块对应的区块头中获取存储所述查询区块的存储节点的地址,并将存储所述查询区块的存储节点的地址返回给所述客户端,以使所述客户端根据返回的存储所述查询区块的存储节点的地址进行所述查询区块的查询。
5.根据权利要求4所述的联盟链数据处理方法,其特征在于,还包括:
若同一组织中的多个所述存储节点连续确定一存储节点未对所述客户端进行响应,则将被多个所述存储节点连续确定的未对所述客户端进行响应的存储节点确定为停服节点;
同一组织中的所述存储节点从除所述停服节点外的存储节点中确定与所述停服节点中存储的各区块分别对应的备份存储节点,由所述备份存储节点对所述停服节点中与所述备份存储节点对应的区块进行存储,并由存储相应区块的区块头的存储节点对相应区块头中的索引进行更新。
6.根据权利要求5所述的联盟链数据处理方法,其特征在于,所述存储节点从除所述停服节点外的存储节点中确定与所述停服节点中存储的各区块分别对应的备份存储节点,包括:
将当前最新区块作为待备份区块,根据同一组织中各所述存储节点中存储的区块头判断所述停服节点中是否存储有所述待备份区块;
若是,则从同一组织中未存储所述待备份区块的存储节点中确定与所述待备份区块对应的备份存储节点;
若否,则将所述当前最新区块前的一个区块作为待备份区块,并执行所述根据同一组织中各所述存储节点中存储的区块头确定所述停服节点中是否存储有所述待备份区块的步骤,直至完成对第一个区块的确定为止。
7.根据权利要求6所述的所述的联盟链数据处理方法,其特征在于,所述存储节点从同一组织中未存储所述待备份区块的存储节点中确定与所述待备份区块对应的备份存储节点,包括:
所述存储节点在所述待备份区块的区块哈希上添加随机数,并对添加随机数后的区块哈希进行哈希,得到所述待备份区块对应的第三哈希值;
根据所述第三哈希值确定所述待备份区块在所述有向闭合哈希环中位置;
从所述待备份区块在所述有向闭合哈希环中的位置开始沿所述有向闭合哈希环寻找同一组织中第一个未存储所述待备份区块的存储节点,并将寻找到的存储节点确定为与所述待备份区块对应的备份存储节点。
8.根据权利要求1所述的联盟链数据处理方法,其特征在于,同一组织中除所述目标存储节点外的存储节点对所述当前区块的区块头进行存储之前,还包括:
同一组织中除所述目标存储节点外的存储节点判断各所述目标存储节点是否成功存储所述当前区块;
若存在有所述目标存储节点未成功存储所述当前区块,则从同一组织中除所述目标存储节点外的存储节点中选择相应数量的目标存储节点,以利用选择出的相应数量的目标存储节点对所述当前区块进行存储。
9.根据权利要求1所述的联盟链数据处理方法,其特征在于,还包括:
同一组织中除所述目标存储节点外的存储节点对所述存储节点上的世界状态进行更新。
10.一种联盟链,其特征在于,包括多个组织,各所述组织中包括多个区块链节点,各所述组织中的区块链节点分为计算节点和存储节点,其中:
同一组织中的所述计算节点,用于进行区块计算,对计算得到的当前区块进行验证,验证通过后从同一组织的存储节点中选择N个目标存储节点,将所述当前区块发送至N个所述目标存储节点,并将所述当前区块的区块头发送至同一组织中除所述目标存储节点外的存储节点;N大于1且小于同一组织中存储节点的个数;
同一组织中的目标存储节点,用于接收所述计算节点发送的所述当前区块,对所述当前区块进行存储;
同一组织中除所述目标存储节点外的存储节点,用于接收所述当前区块的区块头,对所述当前区块的区块头进行存储;所述区块头中包括所述当前区块的索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109160.4A CN114449003A (zh) | 2022-01-28 | 2022-01-28 | 一种联盟链数据处理方法及联盟链 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109160.4A CN114449003A (zh) | 2022-01-28 | 2022-01-28 | 一种联盟链数据处理方法及联盟链 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114449003A true CN114449003A (zh) | 2022-05-06 |
Family
ID=81372512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210109160.4A Pending CN114449003A (zh) | 2022-01-28 | 2022-01-28 | 一种联盟链数据处理方法及联盟链 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114449003A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109872156A (zh) * | 2019-03-11 | 2019-06-11 | 赛迪(青岛)区块链研究院有限公司 | 一种联盟链共识系统及方法 |
CN110222053A (zh) * | 2019-05-21 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 一种基于区块链的溯源数据的获取方法及相关设备 |
CN110602095A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据分发、存储方法和装置 |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN111242617A (zh) * | 2020-01-02 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 用于执行交易正确性验证的方法及装置 |
WO2020258853A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 基于区块链的分级存储方法及装置、电子设备 |
WO2021082757A1 (zh) * | 2019-10-29 | 2021-05-06 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的数据处理方法及装置 |
CN112988073A (zh) * | 2021-03-26 | 2021-06-18 | 中国人民解放军国防科技大学 | 一种可降低区块链存储开销的阶梯式数据存储方法及系统 |
CN113285799A (zh) * | 2021-04-19 | 2021-08-20 | 江苏大学 | 一种基于区块链的选举方法 |
CN113421160A (zh) * | 2021-06-21 | 2021-09-21 | 华中科技大学 | 一种基于区块链的交易追踪溯源方法 |
CN113610529A (zh) * | 2021-08-24 | 2021-11-05 | 上海点融信息科技有限责任公司 | 联盟链的区块存储、获取方法、装置、节点和存储介质 |
CN113919951A (zh) * | 2021-10-13 | 2022-01-11 | 甘肃同兴智能科技发展有限责任公司 | 一种联盟链的数据存储方法 |
-
2022
- 2022-01-28 CN CN202210109160.4A patent/CN114449003A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109872156A (zh) * | 2019-03-11 | 2019-06-11 | 赛迪(青岛)区块链研究院有限公司 | 一种联盟链共识系统及方法 |
CN110222053A (zh) * | 2019-05-21 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 一种基于区块链的溯源数据的获取方法及相关设备 |
WO2020258853A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 基于区块链的分级存储方法及装置、电子设备 |
CN110602095A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据分发、存储方法和装置 |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
WO2021082757A1 (zh) * | 2019-10-29 | 2021-05-06 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的数据处理方法及装置 |
CN111242617A (zh) * | 2020-01-02 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 用于执行交易正确性验证的方法及装置 |
CN112988073A (zh) * | 2021-03-26 | 2021-06-18 | 中国人民解放军国防科技大学 | 一种可降低区块链存储开销的阶梯式数据存储方法及系统 |
CN113285799A (zh) * | 2021-04-19 | 2021-08-20 | 江苏大学 | 一种基于区块链的选举方法 |
CN113421160A (zh) * | 2021-06-21 | 2021-09-21 | 华中科技大学 | 一种基于区块链的交易追踪溯源方法 |
CN113610529A (zh) * | 2021-08-24 | 2021-11-05 | 上海点融信息科技有限责任公司 | 联盟链的区块存储、获取方法、装置、节点和存储介质 |
CN113919951A (zh) * | 2021-10-13 | 2022-01-11 | 甘肃同兴智能科技发展有限责任公司 | 一种联盟链的数据存储方法 |
Non-Patent Citations (1)
Title |
---|
曹兆磊;: "一种适用于联盟链的共识机制", 网络空间安全, no. 01, 25 January 2019 (2019-01-25), pages 4 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
CN109242500B (zh) | 区块链交易有效性验证方法、装置及存储介质 | |
WO2021032138A1 (zh) | 一种基于区块链系统的共识方法、装置及系统 | |
US8005865B2 (en) | Systems and methods for notifying listeners of events | |
CN109324757B (zh) | 区块链数据缩容方法、装置及存储介质 | |
US8375141B2 (en) | Infrastructure to disseminate queries and provide query results | |
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
US20050108368A1 (en) | Method and apparatus for representing data available in a peer-to-peer network using bloom-filters | |
CN109189751A (zh) | 基于区块链的数据同步方法及终端设备 | |
CN111242620A (zh) | 区块链交易系统的数据缓存及查询方法、终端及存储介质 | |
CN101771537A (zh) | 分布式认证系统及其认证证书的处理方法、认证方法 | |
CN113541968B (zh) | 共识方法、装置及区块链系统 | |
CN109413202B (zh) | 区块链交易信息的排序系统及方法 | |
CN113064764A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN111291002B (zh) | 文件对账方法、装置、计算机设备及存储介质 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 | |
CN111526165B (zh) | 联盟链中的共识方法和系统 | |
CN111669267B (zh) | 区块链的共识机制配置及背书策略配置方法 | |
CN114449003A (zh) | 一种联盟链数据处理方法及联盟链 | |
Daskos et al. | PePeR: A distributed range addressing space for peer-to-peer systems | |
CN114493602A (zh) | 区块链交易的执行方法、装置、电子设备和存储介质 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
CN113610529A (zh) | 联盟链的区块存储、获取方法、装置、节点和存储介质 | |
CN114375565A (zh) | 一种文件块下载方法及装置 |
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 |