CN114119242B - 基于自适应窗口分片的联盟链性能优化方法及装置 - Google Patents
基于自适应窗口分片的联盟链性能优化方法及装置 Download PDFInfo
- Publication number
- CN114119242B CN114119242B CN202210103660.7A CN202210103660A CN114119242B CN 114119242 B CN114119242 B CN 114119242B CN 202210103660 A CN202210103660 A CN 202210103660A CN 114119242 B CN114119242 B CN 114119242B
- Authority
- CN
- China
- Prior art keywords
- transaction
- window
- nodes
- sub
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于自适应窗口分片的联盟链性能优化方法及装置,该方法在同一窗口内对交易进行DAG排序,将交易划分成子交易集合;根据自适应分片算法对节点进行分片,将子交易集合分发到对应分片的节点上;各分片节点对接收到的子交易集合进行并发共识,并发生成区块,各分片将新区块同步到其他节点;对节点区块状态进行检查,从而判断是否更新主链。该方法利用窗口管理通过DAG技术分析交易依赖关系进行交易排序,保证交易全序性,通过分片技术将无依赖关系交易在不同分片上执行达到并发生成区块,通过自适应分片算法选择分片节点确保联盟链安全及高效。该方法能够大大提高联盟链性能,并能保证交易的全序性、结果一致性、安全性。
Description
技术领域
本发明属于联盟链技术领域,尤其涉及一种基于自适应窗口分片的联盟链性能优化方法及装置。
背景技术
当前联盟链在很多领域得到广泛应用,但是联盟链的性能满足不了业务需求,目前针对联盟链的性能优化有针对单一链下的共识优化、网络优化等,或者是采用多链分片的思想,将交易分发到不同的分片链上,分片链再进行通信,那么联盟链处理能力为这些分片的总和,但是这种做法和跨链优化比较类似,其中分片间涉及到交易事务性、原子性等问题。
为了保证联盟链内交易的全序性,传统的联盟链区块生成不能并发,针对交易并发执行优化或者区块的并发生成优化,如果不保证全序性会造成交易执行结果不一致或者双花等问题。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于自适应窗口分片的联盟链性能优化方法及装置,该方法利用窗口管理通过DAG技术分析交易依赖关系进行交易排序保证交易全序性,通过分片技术将无依赖关系交易在不同分片上执行达到并发生成区块,通过自适应分片算法选择分片节点确保联盟链安全及高效。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种基于自适应窗口分片的联盟链性能优化方法,该方法包括:
在打包阶段,生成窗口信息并广播;
在同一窗口内,获取总交易集合,根据交易依赖关系对交易进行DAG排序,将交易划分成无相互依赖关系的子交易集合;
在同一窗口内,根据自适应分片算法对联盟链内节点进行分片,将划分好的子交易集合分发到对应分片的节点上;
在同一窗口内,各分片内的节点对接收到的子交易集合进行并发共识,并并发生成区块,各分片将生成的区块同步到分片外其他节点;
在同一窗口内,检查链内所有节点区块状态信息,如果状态一致,则更新主链,切换至下一窗口,并全网共识同步窗口信息,执行下一批交易;如果状态不一致,则不更新主链,交易回退,切换至下一窗口,并全网共识同步窗口信息,重新提交回退的交易进行分片执行。
进一步地,每个分片内的交易具有依赖关系,不同分片之间的交易无相互依赖关系,不同子交易集合能够并发执行。
进一步地,所述自适应分片算法根据联盟链内网络节点负载情况、共识策略和安全策略三个因素,得到每个子交易集合对应的分片内的节点集合。
进一步地,根据各分片内的节点数,确定各分片共识算法的投票机制,每个窗口内的各分片采用的共识算法全部相同、部分相同或者全部不同。
进一步地,在同一窗口内,节点在收到其他分片的区块后,按照区块生成时间进行排序。
进一步地,所述子交易集合的划分过程具体为:
从交易缓冲区获取总交易集合,根据交易依赖关系构建交易DAG结构; 所述交易DAG结构的顶点属性包括入度、出边和交易信息,如果两个顶点的交易之间有依赖关系,则在两个顶点之间构建一条边;
遍历所述交易DAG结构,如果某顶点的入度为0,则将该顶点中的交易加入不同的新的子交易集合,后续交易对应的顶点入度减1,遍历完后将总交易集合划分成若干无相互依赖关系的子交易集合。
进一步地,分片结构元素包括:分片标识、分片节点集合、分片对应的子交易集合、分片对应的窗口信息,不同分片之间相互隔离,节点会单独启动线程处理对应分片的子交易集合。
进一步地,根据所述自适应分片算法得到分片节点集合,包括超级节点、随机选出的若干骨干节点、交易相关方节点、共识签名要求节点、随机生成的安全节点、负载压力小于要求的若干节点。
进一步地,所述窗口的切换具体为:
在窗口内选择一个主节点,主节点选择策略为P = W mod n,其中P为主节点ID,W为窗口ID,n为联盟链网络节点数,mod表示取模操作;
当一批交易完成时,主节点发起窗口切换消息,对消息进行签名并进行全网广播;联盟链网络其他节点收到窗口切换消息后,验证消息签名,并检查当前窗口是否满足更新条件,若满足则进行窗口更新;联盟链网络其他节点返回窗口更新消息并对消息进行签名;切换主节点,窗口更新成功。
根据本发明的第二方面,提供一种基于自适应窗口分片的联盟链性能优化装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述基于自适应窗口分片的联盟链性能优化方法。
本发明的有益效果是:本发明提出一种利用窗口管理通过DAG技术分析交易依赖关系进行交易排序保证交易全序性,通过分片技术将无依赖关系交易在不同分片上执行达到并发生成区块,通过自适应分片算法选择分片节点确保联盟链安全及高效的方法,该方法能够大大提高联盟链性能,并能保证交易的全序性、结果一致性、安全性。
附图说明
图1为本发明实施例提供的基于自适应窗口分片的联盟链性能优化方法的流程图;
图2为本发明实施例提供的窗口下交易执行流程图;
图3为本发明实施例提供的分片共识流程图;
图4为本发明实施例提供的基于自适应窗口分片的联盟链性能优化装置的结构图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
当前联盟链在很多领域得到广泛应用,但是联盟链的性能满足不了业务需求,目前针对联盟链的性能优化有针对单一链下的共识优化、网络优化等,或者是采用多链分片的思想,将交易分发到不同的分片链上,分片链再进行通信,那么联盟链处理能力为这些分片的总和,但是这种做法和跨链优化比较类似,其中分片间涉及到交易事务性、原子性等问题。
针对这些情况本发明提出一种在单链架构下的分片优化方案。该方案为单一链下对联盟链网络节点进行分片,交易分发到不同分片节点进行共识生成区块,但是怎么保证各个分片之间交易的全序性、正确性及安全性是关键,也正是因为要保证联盟链内交易的全序性,导致传统的联盟链区块生成不能并发,针对交易并发执行优化或者区块的并发生成优化,如果不保证全序性会造成交易执行结果不一致或者双花等问题。在并发或者分片优化的基础上需要保证交易的全序性,在联盟链系统中有一个去中心化、安全性、效率上的不可能三角,本发明针对以上问题,提出一种利用窗口管理通过DAG技术分析交易依赖关系进行交易排序保证交易全序性,通过分片技术将无依赖关系交易在不同分片上执行达到并发生成区块,通过自适应分片算法选择分片节点确保联盟链安全及高效的方法,该方法能够大大提高联盟链性能,并能保证交易的全序性、结果一致性、安全性。
图1为本发明一个实施例提供的基于自适应窗口分片的联盟链性能优化方法的流程图,该方法具体为:
1、当交易大并发时(交易量很大),打包阶段,生成窗口信息并广播,确保全网节点处于同一窗口。
2、在同一窗口内,总交易集合通过分析交易依赖关系进行DAG排序,根据DAG排序结果确定若干能够并发执行的子交易集合,将能够并发执行的子交易集合分发到不同联盟链分片上进行共识,每个分片内的交易具有依赖关系,由于处于不同分片之间交易无相互依赖关系,进而能够保证各个分片之间并发生成区块后,也能确保交易的全序性,即在该窗口内交易执行的结果是确定的,不会因为区块生成的顺序不同导致交易执行结果的不一致性,不会导致同一窗口内不同子交易集合的交易并发执行后结果不一致的情况,进而引发交易结果不确定、双花等问题。
3、在同一窗口内,将DAG排序后无依赖关系的子交易集合,根据自适应分片算法得到每个子交易集合对应的分片内的节点集合,自适应分片算法考虑联盟链内网络节点负载情况、共识策略和安全策略等因素,例如共识签名要求,联盟链中超级节点、骨干节点等背书,那么自适应分片算法会根据交易将这些节点划入分片内,其他节点根据具体要求选择,例如负载情况、交易要求节点背书情况等。
4、交易经过DAG排序,选择好共识分片节点后,无依赖关系的子交易集合在各分片内并发共识并并发生成区块,生成区块后,各分片内并发执行区块。
5、为保证交易安全性,分片区块生成后,在同一窗口内,将区块同步到分片外其他节点,实现全网节点收到所有分片生成的区块。
6、因为在同一窗口内生成的各个区块间交易无相互依赖关系,在上链阶段,全网节点收到同步过来的区块后,优选地,同一窗口内按照区块生成时间进行排序,排序后,更新主链,并更新节点的窗口信息。
在一个实施例中,详细描述交易窗口的设计流程,具体如下:
为了确保在联盟链分片后,区块并发生成后交易的全序性,本发明设计了交易时间窗口概念,主要包括窗口切换、窗口回退等。
窗口切换流程设计具体为:
1、在窗口W内选择一个主节点,主节点选择策略为P = W mod n,其中P为主节点ID,W为窗口ID,n为联盟链网络节点数,mod表示取模操作,当一批交易完成时,主节点负责发起窗口切换。
2、窗口W内的主节点P发起窗口切换消息updateWindow,主节点对消息进行签名,签名后的消息形式为updateWindow<W+1,signature,timestamp>,其中W+1表示切换至窗口W+1,signature为签名信息,timestamp为时间戳,并进行全网广播。
3、联盟链网络其他节点收到窗口切换消息后,验证消息签名,并检查当前窗口是否满足更新条件。
4、联盟链网络其他节点更新窗口至W+1。
5、联盟链网络其他节点返回窗口更新消息ACK并对消息进行签名,签名后的消息形式为ACK<State,signature,timestamp>,其中State为状态信息,表示是否更新成功。
6、切换主节点,窗口更新成功。
如图2所示,窗口下交易执行流程具体为:
1、窗口初始化,例如当前处于窗口n。
2、从交易缓冲区获取总交易集合,例如总交易集合S1。
3、将总交易集合进行DAG排序分析,将交易划分成无相互依赖关系的子交易集合,例如总交易集合S1={A、B、C},A、B、C为三个子交易集合。
4、根据自适应分片算法对联盟链内节点进行分片,将划分好的子交易集合分发到对应分片的节点上;例如子交易集合A、B、C分别对应分片1、分片2、分片3,分片1对应的节点集合为节点1、2、3、4,分片2对应的节点集合为节点2、3、4、5,分片3对应的节点集合为节点3、4、5、6。
5、各分片内的节点对接收到的子交易集合进行共识,并生成区块,共识算法包括PBFT、RAFT等。根据每个分片内的节点数,确定共识算法的投票机制,例如PBFT为3f+1机制,分片内总的节点数为3f+1个,如果为RAFT,其为2f+1机制,分片内总的节点数为2f+1个,其中f为容错节点数。每个窗口内的各分片可以采用不同的共识算法。
6、各分片将新的区块同步到其他节点,节点收到区块后按照区块生成时间进行排序。
7、检查链内所有节点区块状态信息。如果状态一致,则更新主链,切换窗口至n+1,并全网共识同步窗口信息,执行下一批交易;如果状态不一致,则不更新主链,交易回退,切换窗口至n+1,并全网共识同步窗口信息,重新提交回退的交易进行分片执行。
在一个实施例中,详细描述DAG排序流程,具体如下:
在生成区块阶段可利用DAG实现并发。
根据交易依赖关系构建交易DAG结构,交易DAG结构中,交易的数据结构包括如下结构元素:交易源地址From、交易目的地址To、交易额度Value、交易时间戳Timestamp、签名信息Signature、身份信息Id、交易哈希值TransactionHash、随机值Nonce、其他信息Other;交易互斥资源为From、To两个元素,根据交易源地址From和交易目的地址To确定交易的依赖关系。
根据交易时间戳和交易互斥资源构建交易DAG结构的顶点和依赖边,顶点属性包括入度、出边和联盟链交易信息,如果两个顶点的交易之间有依赖关系,则在两个顶点之间构建一条边。
遍历DAG排序后的所有交易,将可以并发执行的交易放入不同的子交易集合,将有依赖关系的交易放入同一子交易集合。具体操作为:如果某顶点的入度为0,则将该顶点中的交易加入不同的新的子交易集合,该交易加入新的子交易集合后,后续交易对应的顶点入度减1,直至遍历完DAG排序后的所有交易。将交易分到不同的没有依赖关系的子交易集合中。
在一个实施例中,详细描述分片共识设计流程,如图3所示,具体如下:
在交易缓冲区获取总交易集合S,根据交易依赖关系进行DAG排序,遍历交易DAG结构,如果某顶点的入度为0,则将该顶点中的交易加入不同的新的子交易集合,该交易加入新的子交易集合后,后续交易对应的顶点入度减1,遍历完后会将总交易集合划分成若干无相互依赖关系的子交易集合,例如S={S1,S2,S3…Sn},此时根据子交易集合S1…Sn将联盟链内节点进行分片,根据自适应分片算法自适应选取分片节点集合,经过自适应分片后得到分片Sharding1,Sharding2…Shardingn。
分片结构元素主要包括:分片标识、分片节点集合、分片对应的子交易集合、分片对应的窗口信息,分片之间相互隔离,节点会单独启动线程处理对应分片的子交易集合。交易在分片节点内完成共识后生成区块,生成区块后在窗口内进行链内全网节点同步。
自适应分片算法主要根据以下因素进行分片:超级节点:SuperNode、骨干节点:BackboneNode、交易相关方节点:RelatedNode、节点负载压力:LoadPresure、共识签名要求:SignPolicyNode、安全节点(随机生成):RandomNode。其中超级节点为一联盟链内比较有权威性的组织机构,例如国家级节点,例如银行业中,银监会节点可作为超级节点,一般链内交易需要其参与共识;骨干节点,指的是政府部门或者核心企业这类较有权威的机构,例如银行业中的国有大行等;交易相关方指的是交易发生的主体机构;节点负载压力指的是当前节点处理交易负载情况;共识签名要求指的是交易指定的机构参与共识;安全节点指的是为保证安全性,在分片时会随机选择一批节点参与共识确保共识安全性。
自适应分片算法会根据以上因素得到分片节点集合Sharding,一个示例为:
Sharding=SuperNode+Random{BackboneNode}+RelatedNode+SignPolicyNode+RandomNode+MinS{LoadPresure};
其中,Random{BackboneNode}为随机选出一些骨干节点,MinS{LoadPresure}为负载压力较小的若干节点。
在窗口内完成分片后,将对应的子交易集合广播到分片节点内,进行共识,生成区块,并执行交易。所有分片间交易会并发执行,并发生成区块。并将区块发送到其他节点,进行区块同步。
在一个实施例中,详细描述区块同步流程,具体如下:
因为各个分片对应的区块内的交易无相互依赖关系,所以区块在主链的顺序不影响实际结果,也就是说在该窗口内各分片区块在主链顺序能够确保联盟链内交易结果的一致性,不会出现双花等问题。所以在该窗口内,节点在收到其他分片的区块后可以按照区块生成时间进行排序,并更新区块到主链。
与前述基于自适应窗口分片的联盟链性能优化方法的实施例相对应,本发明还提供了基于自适应窗口分片的联盟链性能优化装置的实施例。
参见图4,本发明实施例提供的一种基于自适应窗口分片的联盟链性能优化装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述实施例中的基于自适应窗口分片的联盟链性能优化方法。
本发明基于自适应窗口分片的联盟链性能优化装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明基于自适应窗口分片的联盟链性能优化装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于自适应窗口分片的联盟链性能优化方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (5)
1.一种基于自适应窗口分片的联盟链性能优化方法,其特征在于,包括:
在打包阶段,生成窗口信息并广播;
在同一窗口内,获取总交易集合,根据交易依赖关系对交易进行DAG排序,将交易划分成无相互依赖关系的子交易集合;
在同一窗口内,根据自适应分片算法对联盟链内节点进行分片,将划分好的子交易集合分发到对应分片的节点上;所述自适应分片算法根据联盟链内网络节点负载情况、共识策略和安全策略三个因素,得到每个子交易集合对应的分片内的节点集合,包括超级节点、随机选出的若干骨干节点、交易相关方节点、共识签名要求节点、随机生成的安全节点、负载压力小于要求的若干节点;分片结构元素包括:分片标识、分片节点集合、分片对应的子交易集合、分片对应的窗口信息,不同分片之间相互隔离,节点会单独启动线程处理对应分片的子交易集合;
在同一窗口内,各分片内的节点对接收到的子交易集合进行并发共识,并并发生成区块,各分片将生成的区块同步到分片外其他节点;
在同一窗口内,节点在收到其他分片的区块后,按照区块生成时间进行排序;
在同一窗口内,检查链内所有节点区块状态信息,如果状态一致,则更新主链,切换至下一窗口,并全网共识同步窗口信息,执行下一批交易;如果状态不一致,则不更新主链,交易回退,切换至下一窗口,并全网共识同步窗口信息,重新提交回退的交易进行分片执行;
窗口的切换具体为:
在窗口内选择一个主节点,主节点选择策略为P = W mod n,其中P为主节点ID,W为窗口ID,n为联盟链网络节点数,mod表示取模操作;
当一批交易完成时,主节点发起窗口切换消息,对消息进行签名并进行全网广播;联盟链网络其他节点收到窗口切换消息后,验证消息签名,并检查当前窗口是否满足更新条件,若满足则进行窗口更新;联盟链网络其他节点返回窗口更新消息并对消息进行签名;切换主节点,窗口更新成功。
2.根据权利要求1所述的方法,其特征在于,每个分片内的交易具有依赖关系,不同分片之间的交易无相互依赖关系,不同子交易集合能够并发执行。
3.根据权利要求1所述的方法,其特征在于,根据各分片内的节点数,确定各分片共识算法的投票机制,每个窗口内的各分片采用的共识算法全部相同、部分相同或者全部不同。
4.根据权利要求1所述的方法,其特征在于,所述子交易集合的划分过程具体为:
从交易缓冲区获取总交易集合,根据交易依赖关系构建交易DAG结构;所述交易DAG结构的顶点属性包括入度、出边和交易信息,如果两个顶点的交易之间有依赖关系,则在两个顶点之间构建一条边;
遍历所述交易DAG结构,如果某顶点的入度为0,则将该顶点中的交易加入不同的新的子交易集合,后续交易对应的顶点入度减1,遍历完后将总交易集合划分成若干无相互依赖关系的子交易集合。
5.一种基于自适应窗口分片的联盟链性能优化装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210103660.7A CN114119242B (zh) | 2022-01-28 | 2022-01-28 | 基于自适应窗口分片的联盟链性能优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210103660.7A CN114119242B (zh) | 2022-01-28 | 2022-01-28 | 基于自适应窗口分片的联盟链性能优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114119242A CN114119242A (zh) | 2022-03-01 |
CN114119242B true CN114119242B (zh) | 2023-03-14 |
Family
ID=80361874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210103660.7A Active CN114119242B (zh) | 2022-01-28 | 2022-01-28 | 基于自适应窗口分片的联盟链性能优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114119242B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114298713B (zh) * | 2022-03-03 | 2022-07-08 | 浙商银行股份有限公司 | 一种联盟链分片方法、装置及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020018898A1 (en) * | 2018-07-20 | 2020-01-23 | Ezblock Ltd. | Blockchain sharding with parallel threads |
CN110971684B (zh) * | 2019-11-28 | 2022-09-09 | 北京工业大学 | 一种基于pbft的区块链网络节点负载均衡方法 |
CN111161070A (zh) * | 2019-12-30 | 2020-05-15 | 卓望数码技术(深圳)有限公司 | 基于以太坊的联盟链优化方法及装置 |
CN111460474B (zh) * | 2020-03-27 | 2023-12-29 | 北京瑞卓喜投科技发展有限公司 | 去中心化的预言机实现方法、装置、存储器和计算机 |
CN112039860B (zh) * | 2020-08-18 | 2021-04-06 | 上海简苏网络科技有限公司 | 一种在联盟链中实现联合共识分片的方法和装置 |
CN112184226B (zh) * | 2020-09-30 | 2023-09-12 | 中国科学院计算技术研究所 | 一种区块链动态分片方法及系统 |
CN112766560B (zh) * | 2021-01-15 | 2024-02-06 | 中国工商银行股份有限公司 | 联盟区块链网络优化方法、装置、系统和电子设备 |
CN112907252B (zh) * | 2021-02-02 | 2023-10-31 | 中国科学院计算技术研究所 | 一种基于多人链下通道的区块链交易方法及系统 |
CN113821566A (zh) * | 2021-09-10 | 2021-12-21 | 杭州链网科技有限公司 | 一种基于多链分片的区块链聚合架构 |
CN113674095A (zh) * | 2021-10-20 | 2021-11-19 | 浙商银行股份有限公司 | 一种基于交易dag提高区块链吞吐量的方法 |
-
2022
- 2022-01-28 CN CN202210103660.7A patent/CN114119242B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114119242A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345388B (zh) | 区块链智能合约验证方法、装置及存储介质 | |
US20200244764A1 (en) | Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network | |
CN111061769B (zh) | 一种区块链系统的共识方法及相关设备 | |
AU2018430192A1 (en) | Blockchain system and method | |
CN112598525B (zh) | 一种智能合约分簇并行的区块链实现方法及装置 | |
CN111045794B (zh) | 分布式事务处理方法、装置、系统、计算机设备及存储介质 | |
WO2020009771A1 (en) | Methods, devices and systems for a distributed coordination engine-based exchange that implements a blockchain distributed ledger | |
CN109859043B (zh) | 一种交易清算方法和交易清算系统 | |
CN113064764B (zh) | 在区块链系统中执行区块的方法及装置 | |
CN114298713B (zh) | 一种联盟链分片方法、装置及存储介质 | |
CN110287205A (zh) | 一种区块链跨分片交易数据处理方法及装置 | |
CN110691077B (zh) | 一种联盟链的业务校验方法及联盟链系统 | |
CN114119242B (zh) | 基于自适应窗口分片的联盟链性能优化方法及装置 | |
CN114422155B (zh) | 提案共识执行方法、区块链系统、设备和存储介质 | |
CN113157710B (zh) | 区块链数据并行写入方法、装置、计算机设备及存储介质 | |
CN115665170B (zh) | 基于信誉和节点压缩机制的区块链共识方法 | |
CN111932257A (zh) | 一种区块链并行化处理方法及装置 | |
CN113553375A (zh) | 一种面向图式区块链的分片存储装置及方法 | |
WO2023040453A1 (zh) | 一种交易信息处理方法及装置 | |
CN113674095A (zh) | 一种基于交易dag提高区块链吞吐量的方法 | |
CN111078696A (zh) | 区块生成方法、设备和存储介质 | |
CN116743771B (zh) | 区块链共识方法、装置、电子设备及计算机可读存储介质 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN113807851A (zh) | 一种基于分片的区块链可扩展性实现方法及系统 | |
US20220278854A1 (en) | Unity Protocol Consensus |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |