CN110728578A - 区块链交易的并行执行方法、系统及存储介质 - Google Patents

区块链交易的并行执行方法、系统及存储介质 Download PDF

Info

Publication number
CN110728578A
CN110728578A CN201910935077.0A CN201910935077A CN110728578A CN 110728578 A CN110728578 A CN 110728578A CN 201910935077 A CN201910935077 A CN 201910935077A CN 110728578 A CN110728578 A CN 110728578A
Authority
CN
China
Prior art keywords
transaction
transactions
execution
block
read
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
Application number
CN201910935077.0A
Other languages
English (en)
Inventor
石宁
甘子荣
李达
王晨旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Jinninghui Technology Co Ltd
Original Assignee
Nanjing Jinninghui Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Jinninghui Technology Co Ltd filed Critical Nanjing Jinninghui Technology Co Ltd
Priority to CN201910935077.0A priority Critical patent/CN110728578A/zh
Publication of CN110728578A publication Critical patent/CN110728578A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明公开了区块链交易的并行执行方法、系统及存储介质,方法包括以下步骤:通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;获取任意两个读写集之间的交集;将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;通过领导节点将该区块广播至区块链网络;在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。本发明降低了算法实现的复杂度且提高了区块链系统交易处理能力,可广泛应用于区块链技术领域。

Description

区块链交易的并行执行方法、系统及存储介质
技术领域
本发明涉及区块链技术领域,尤其是区块链交易的并行执行方法、系统及存储介质。
背景技术
在区块链中,账户模型可以分为两类,一种是UTXO模型,一种是世界状态模型。UTXO模型中,交易分为输入和输出,上一个交易的输出作为下一个交易的输入,UTXO即为未花费输出。这种模型下,一个账户会有多个UTXO,每次发送交易需要在UTXO集合中选取一个或者多个作为交易的输入,每一个UTXO都有固定的输出值。UTXO作为一个流量数据,天然指定了交易之间的依赖关系,因此,只需要根据UTXO即可生成区块交易集合的有向无环图,进而可以使用多线程并行执行一个区块中的交易集合。而在世界状态模型中,每一个账户都用一个存量数据表示状态数据,每一个账户可以看作是一个有限状态机,交易则是驱动该有限状态机的事件。这种模型下,交易的并行一般情况下也要预先执行然后生成有向无环图进而多线程并行执行。
在UTXO模型中,每一个账户需要可能需要保存大量的UTXO,对存储能力要求高,同时UTXO模型中,每一个UTXO只有花费于未花费两种状态,不能很好满足复杂的智能合约的要求,甚至限制了智能合约的功能;
在世界状态模型中,传统的交易预执行然后生成有向无环图的方式在交易执行逻辑过于复杂的情况下,很难生成甚至无法生成一个合乎要求的有向无环图,因此不具备落地执行的要求。
发明内容
有鉴于此,本发明实施例提供一种复杂度低且处理效率高的区块链交易的并行执行方法、系统及存储介质。
第一方面,本发明实施例提供了一种区块链交易的并行执行方法,包括以下步骤:
通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;
获取任意两个读写集之间的交集;
将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;
通过领导节点将该区块广播至区块链网络;
在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。
进一步,还包括以下步骤:
通过领导节点接收用户提交的交易;
通过领导节点对每个用户提交的交易赋值一个递增的序号。
进一步,所述通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集这一步骤,包括以下步骤:
通过领导节点打包共识过程中的区块交易;
通过领导节点对该区块进行预执行,生成交易执行过程的读写集。
进一步,所述将交集为非空集的交易放置在串行执行位置这一步骤,包括以下步骤:
根据交易序号,将交集为非空集部分的交易串行执行,生成新的读写集;
将新生成的读写集及交易本身放在区块的串行执行位置。
进一步,所述读写集的记录包括交易的读写类型、键、值以及版本号。
第二方面,本发明实施例还提供了一种区块链交易的并行执行系统,包括:
打包模块,用于通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;
交运算模块,用于获取任意两个读写集之间的交集;
划分模块,用于将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;
广播模块,用于通过领导节点将该区块广播至区块链网络;
执行模块,用于在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。
进一步,还包括:
接收模块,用于通过领导节点接收用户提交的交易;
赋值模块,用于通过领导节点对每个用户提交的交易赋值一个递增的序号。
进一步,所述打包模块包括:
打包单元,用于通过领导节点打包共识过程中的区块交易;
预执行单元,用于通过领导节点对该区块进行预执行,生成交易执行过程的读写集。
第三方面,本发明实施例还提供了区块链交易的并行执行系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的区块链交易的并行执行方法。
第四方面,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的区块链交易的并行执行方法。
上述本发明实施例中的一个或多个技术方案具有如下优点:本发明首先通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;接着获取任意两个读写集之间的交集;然后将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;最后通过领导节点将该区块广播至区块链网络;在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行;本发明不需要针对交易生成表示交易依赖关系的有向无环图,只需要生成交易执行过程的读写集,降低了算法实现的复杂度;另外,本发明在冲突交易出现概率不高的情况下,实现了大部分交易的并行执行,大大提高了区块链系统交易处理能力。
附图说明
图1为本发明实施例的领导节点生成可并行执行交易区块流程示意图;
图2为本发明实施例的读写集记录格式示意图;
图3为本发明实施例的读写集交运算示意图;
图4为本发明实施例的整体步骤流程示意图;
图5为本发明实施例中读写集的交集非空时的交易集合处理流程图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
参照图4,本发明实施例提供了一种区块链交易的并行执行方法,包括以下步骤:
通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;
获取任意两个读写集之间的交集;
将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;
通过领导节点将该区块广播至区块链网络;
在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。
具体的,本实施例提供了两种方式生成并行执行位置处的交易集合,首先,获取任意两个读写集之间的交集,对于交集为空集的交易,是指完全和其他交易没有交集的交易,则将其放置在并行执行位置;但是,对于存在有交集的交易中也可能存在可以并行执行的交易,比如,交易1与交易2有交集,交易1与交易3有交集,但是交易2和交易3没有交集,因此2和3可以并行执行,于是,本实施例再进行以下操作:
如图5所示,先按照交易序号的大小排序交易读写集交集为非空集的交易,然后依次将这些非空集的交易放在一个新的集合中,如果新放入的交易和已经在该新的集合中的交易读写集合存在冲突,则将该新放入的交易放在串行执行位置。最后,将该新的集合中的所有交易放在并行执行位置,在这种方式下,必须等并行执行位置的交易全部执行完之后才能执行串行执行位置的交易。
在实际应用中,可以根据交集中的交易数量来决定具体实施方式,比如统一设定一个比例指数,当交集中的交易占比超过30%时,使用对交集为非空集的交易进行筛选的方法;当交集中的交易占比小于等于30%时,只采用将交集为空集的交易放置在并行执行位置这个方法产生的结果即可。
进一步作为优选的实施方式,还包括以下步骤:
通过领导节点接收用户提交的交易;
通过领导节点对每个用户提交的交易赋值一个递增的序号。
具体的,本发明的主要目的是提供一种基于区块链世界状态账户模型的交易并行执行的方法,旨在提高区块链系统的交易处理能力,同时给出一种切实可行的交易执行方法。
为了实现上述目的,本发明提供了一种基于区块链世界状态账户模型下交易并行执行的方法,所述交易的并行执行是基于在同一个区块中,冲突交易出现的概率小的假设,方法的步骤为:
s1:在共识的过程中,每一轮有一个领导节点负责打包区块交易,共识的算法此处不做限制,领导节点对每一个用户提交的交易赋值一个严格递增的序号;
s2:领导节点在打包区块交易时,先将整个区块的交易当作是完全并行的交易执行一遍,并生成交易执行过程的读写集RWS;
s3:节点将s2中生成的读写集两两之间取交集,交集为空集的交易按照交易的序号放在区块的可完全并行执行交易的位置TXS1,剩下的交易按照交易序号进行排序后,统一放在区块的串行执行交易的位置TXS2,最终得到一个包含两部分交易的区块;
s4:领导节点广播该区块,区块链网络在针对所述领导节点广播的区块形成共识后,使用多线程全并行执行TXS1中的交易,使用另外一个单独的线程执行TXS2中的交易。
本发明公布的区块链交易并行执行的方法,不需要针对交易生成表示交易依赖关系的有向无环图,只需要预执行交易并针对交易执行的读写集进行交运算,降低了算法实现的复杂度,同时在冲突交易出现概率不高的情况下,实现了大部分交易的并行执行,故能大大提高区块链系统交易处理能力;另外本发明公布的方法是基于世界状态账户模型,因此能够很好的支持图灵完备型的智能合约。
进一步作为优选的实施方式,所述通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集这一步骤,包括以下步骤:
通过领导节点打包共识过程中的区块交易;
通过领导节点对该区块进行预执行,生成交易执行过程的读写集。
进一步作为优选的实施方式,所述将交集为非空集的交易放置在串行执行位置这一步骤,包括以下步骤:
根据交易序号,将交集为非空集部分的交易串行执行,生成新的读写集;
将新生成的读写集及交易本身放在区块的串行执行位置。
进一步作为优选的实施方式,所述读写集的记录包括交易的读写类型、键、值以及版本号。
与图4的方法相对应,本发明实施例还提供了一种区块链交易的并行执行系统,包括:
打包模块,用于通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;
交运算模块,用于获取任意两个读写集之间的交集;
划分模块,用于将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;
广播模块,用于通过领导节点将该区块广播至区块链网络;
执行模块,用于在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。
进一步作为优选的实施方式,还包括:
接收模块,用于通过领导节点接收用户提交的交易;
赋值模块,用于通过领导节点对每个用户提交的交易赋值一个递增的序号。
进一步作为优选的实施方式,所述打包模块包括:
打包单元,用于通过领导节点打包共识过程中的区块交易;
预执行单元,用于通过领导节点对该区块进行预执行,生成交易执行过程的读写集。
与图4的方法相对应,本发明实施例还提供了区块链交易的并行执行系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的区块链交易的并行执行方法。
与图4的方法相对应,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的区块链交易的并行执行方法。
下面参照图1,详细描述本发明的区块链交易的并行执行方法的具体实施步骤:
s1:领导节点在接收到用户交易的时候,给每一个用户交易赋值一个严格递增的序号,并将交易打包成预备区块;
s2:领导节点全并行预执行区块交易,生成每一个交易执行读写集;
s3:领导节点对s2中所述的交易执行读写集两两之间进行交运算,得到两部分交易,一部分为读写集交集为空集,另一部分为非空集;
s4:领导节点将s3中所述读写集交集为空集部分的交易放在区块的全并行执行交易部分位置,将s3中所述的读写集交易为非空集部分的交易按照交易的序号串行执行并重新生成读写集,然后放在区块的交易串行执行部分;
s5:领导节点广播s4中生成区块到区块链网络,每一个随从节点用多线程全并行执行s4中区块全并行执行部分交易,用另外一个线程单独执行s4中所述区块的串行执行部分交易。
本实施例中:每一个区块经过领导节点的处理,可以用多线程并行执行区块中的交易,特别地,当一个区块中的冲突交易概率低时,区块交易近似等同于全并行执行,交易处理能力会得到很大程度的提升。
如图2所示,本实施例中的每一个读写集中的记录包括读写类型,键,值以及版本号,所述格式内容是读写集交运算操作的对象;
如图3所示,本实施例在进行读写集的交运算时,需要遍历一个交易读写集中的所有记录,关于同一个键以及版本的状态的读操作和另一个读写集中相同的键以及版本状态的读操作不冲突,但是与写操作冲突,关于同一个键以及版本的状态的写操作则和另一个读写集中相同的键以及版本状态的读写操作都冲突。
综上所述,相较于现有技术,本发明的区块链交易的并行执行方法、系统及存储介质具有以下优点:
本发明公布的区块链交易并行执行的方法,不需要针对交易生成表示交易依赖关系的有向无环图,只需要预执行交易并针对交易执行的读写集进行交运算,降低了算法实现的复杂度,同时在冲突交易出现概率不高的情况下,实现了大部分交易的并行执行,故能大大提高区块链系统交易处理能力;另外本发明公布的方法是基于世界状态账户模型,因此能够很好的支持图灵完备型的智能合约。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.区块链交易的并行执行方法,其特征在于:包括以下步骤:
通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;
获取任意两个读写集之间的交集;
将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;
通过领导节点将该区块广播至区块链网络;
在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。
2.根据权利要求1所述的区块链交易的并行执行方法,其特征在于:还包括以下步骤:
通过领导节点接收用户提交的交易;
通过领导节点对每个用户提交的交易赋值一个递增的序号。
3.根据权利要求1所述的区块链交易的并行执行方法,其特征在于:所述通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集这一步骤,包括以下步骤:
通过领导节点打包共识过程中的区块交易;
通过领导节点对该区块进行预执行,生成交易执行过程的读写集。
4.根据权利要求2所述的区块链交易的并行执行方法,其特征在于:所述将交集为非空集的交易放置在串行执行位置这一步骤,包括以下步骤:
根据交易序号,将交集为非空集部分的交易串行执行,生成新的读写集;
将新生成的读写集及交易本身放在区块的串行执行位置。
5.根据权利要求1-4中任一项所述的区块链交易的并行执行方法,其特征在于:所述读写集的记录包括交易的读写类型、键、值以及版本号。
6.区块链交易的并行执行系统,其特征在于:包括:
打包模块,用于通过领导节点打包共识过程中的区块交易,生成交易执行过程的读写集;
交运算模块,用于获取任意两个读写集之间的交集;
划分模块,用于将交集为空集的交易放置在并行执行位置;以及,对交集为非空集的交易进行筛选,并根据筛选结果将交易放置在并行执行位置或在串行执行位置,生成包含两种执行类型的交易的区块;
广播模块,用于通过领导节点将该区块广播至区块链网络;
执行模块,用于在区块链网络完成对该区块的共识后,通过多线程对并行执行位置上的交易进行并行执行,并通过单独线程对串行执行位置上的交易进行执行。
7.根据权利要求6所述的区块链交易的并行执行系统,其特征在于:还包括:
接收模块,用于通过领导节点接收用户提交的交易;
赋值模块,用于通过领导节点对每个用户提交的交易赋值一个递增的序号。
8.根据权利要求6所述的区块链交易的并行执行系统,其特征在于:所述打包模块包括:
打包单元,用于通过领导节点打包共识过程中的区块交易;
预执行单元,用于通过领导节点对该区块进行预执行,生成交易执行过程的读写集。
9.区块链交易的并行执行系统,其特征在于:包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-5中任一项所述的区块链交易的并行执行方法。
10.一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-5中任一项所述的区块链交易的并行执行方法。
CN201910935077.0A 2019-09-29 2019-09-29 区块链交易的并行执行方法、系统及存储介质 Pending CN110728578A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910935077.0A CN110728578A (zh) 2019-09-29 2019-09-29 区块链交易的并行执行方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910935077.0A CN110728578A (zh) 2019-09-29 2019-09-29 区块链交易的并行执行方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN110728578A true CN110728578A (zh) 2020-01-24

Family

ID=69219696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910935077.0A Pending CN110728578A (zh) 2019-09-29 2019-09-29 区块链交易的并行执行方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110728578A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111754349A (zh) * 2020-08-28 2020-10-09 支付宝(杭州)信息技术有限公司 对区块链中的交易进行分组的方法和装置
CN112287400A (zh) * 2020-09-29 2021-01-29 卓尔智联(武汉)研究院有限公司 超级账本中的交易排序方法、装置和计算机设备
CN112508574A (zh) * 2021-02-03 2021-03-16 北京全息智信科技有限公司 一种区块链的并行交易执行方法、装置和电子设备
CN112990895A (zh) * 2021-03-11 2021-06-18 杭州复杂美科技有限公司 一种加速区块链交易并行执行的方法、设备及储存介质
CN113034142A (zh) * 2021-01-29 2021-06-25 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置以及计算机设备
CN113110925A (zh) * 2021-04-09 2021-07-13 杭州复杂美科技有限公司 一种基于并行执行的区块打包方法、设备及储存介质
CN113168652A (zh) * 2020-08-03 2021-07-23 支付宝(杭州)信息技术有限公司 区块链交易处理系统和方法
CN113159791A (zh) * 2020-12-08 2021-07-23 苏州域乎区块链科技有限公司 一种基于区块链的分层式交易并行执行方法及系统
CN113205417A (zh) * 2021-04-27 2021-08-03 华东师范大学 一种面向联盟链的交易并行处理方法及系统
CN113743949A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点
CN113744062A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链节点和区块链
CN113743942A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 交易执行方法、区块链、主节点和主存储设备
CN113743940A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点
CN113743943A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点
CN113743941A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 一种在区块链中执行交易的方法、区块链和主节点
WO2022027173A1 (en) * 2020-08-03 2022-02-10 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
US11354335B2 (en) 2020-08-28 2022-06-07 Alipay (Hangzhou) Information Technology Co., Ltd. Method and apparatus for obtaining number for transaction-accessed variable in blockchain in parallel

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
CN107402824A (zh) * 2017-05-31 2017-11-28 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN108595157A (zh) * 2018-04-28 2018-09-28 百度在线网络技术(北京)有限公司 区块链数据的处理方法、装置、设备和存储介质
CN109784930A (zh) * 2019-02-18 2019-05-21 深圳市网心科技有限公司 一种区块链交易数据的处理方法、装置、电子设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
CN107402824A (zh) * 2017-05-31 2017-11-28 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN108595157A (zh) * 2018-04-28 2018-09-28 百度在线网络技术(北京)有限公司 区块链数据的处理方法、装置、设备和存储介质
CN109784930A (zh) * 2019-02-18 2019-05-21 深圳市网心科技有限公司 一种区块链交易数据的处理方法、装置、电子设备及介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11500845B2 (en) 2020-08-03 2022-11-15 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
CN113168652A (zh) * 2020-08-03 2021-07-23 支付宝(杭州)信息技术有限公司 区块链交易处理系统和方法
US11604608B2 (en) 2020-08-03 2023-03-14 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
WO2022027173A1 (en) * 2020-08-03 2022-02-10 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain transaction processing systems and methods
CN113168652B (zh) * 2020-08-03 2022-04-15 支付宝(杭州)信息技术有限公司 区块链交易处理系统和方法
CN111754349A (zh) * 2020-08-28 2020-10-09 支付宝(杭州)信息技术有限公司 对区块链中的交易进行分组的方法和装置
US11354335B2 (en) 2020-08-28 2022-06-07 Alipay (Hangzhou) Information Technology Co., Ltd. Method and apparatus for obtaining number for transaction-accessed variable in blockchain in parallel
US11263623B1 (en) 2020-08-28 2022-03-01 Alipay (Hangzhou) Information Technology Co., Ltd. Method and apparatus for grouping transactions in blockchain
CN112287400A (zh) * 2020-09-29 2021-01-29 卓尔智联(武汉)研究院有限公司 超级账本中的交易排序方法、装置和计算机设备
CN113159791A (zh) * 2020-12-08 2021-07-23 苏州域乎区块链科技有限公司 一种基于区块链的分层式交易并行执行方法及系统
CN113034142A (zh) * 2021-01-29 2021-06-25 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置以及计算机设备
CN112508574A (zh) * 2021-02-03 2021-03-16 北京全息智信科技有限公司 一种区块链的并行交易执行方法、装置和电子设备
CN112990895A (zh) * 2021-03-11 2021-06-18 杭州复杂美科技有限公司 一种加速区块链交易并行执行的方法、设备及储存介质
CN113110925A (zh) * 2021-04-09 2021-07-13 杭州复杂美科技有限公司 一种基于并行执行的区块打包方法、设备及储存介质
CN113205417B (zh) * 2021-04-27 2022-10-25 华东师范大学 一种面向联盟链的交易并行处理方法及系统
CN113205417A (zh) * 2021-04-27 2021-08-03 华东师范大学 一种面向联盟链的交易并行处理方法及系统
CN113743941A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 一种在区块链中执行交易的方法、区块链和主节点
CN113743943A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点
CN113743940A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点
CN113743942A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 交易执行方法、区块链、主节点和主存储设备
CN113744062A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链节点和区块链
CN113743949A (zh) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点

Similar Documents

Publication Publication Date Title
CN110728578A (zh) 区块链交易的并行执行方法、系统及存储介质
US5991761A (en) Method of reorganizing a data entry database
CN102722381B (zh) 优化升级任务的技术
CN109146081B (zh) 一种用于机器学习平台中创建模型项目的方法及装置
CN103500185B (zh) 一种基于多平台数据生成数据表的方法和系统
CN105988930A (zh) 测试用例生成方法和装置
CN104360824A (zh) 一种数据合并的方法和装置
CN105653647A (zh) Sql语句的信息采集方法及系统
CN110866589A (zh) 深度神经网络模型的运行方法、装置及框架
US8711160B1 (en) System and method for efficient resource management of a signal flow programmed digital signal processor code
CN108241531A (zh) 一种在集群中为虚拟机分配资源的方法和装置
CN110333911A (zh) 一种文件包读取方法及装置
US20120102496A1 (en) Reconfigurable processor and method for processing a nested loop
US11514306B1 (en) Static memory allocation in neural networks
CN103294714B (zh) 索引字段的字段属性值的存储位置的确定方法以及装置
CN112732556A (zh) 分布式系统的自动化测试方法、装置、设备及存储介质
WO2021219211A1 (en) Memory allocation in a neural network
CN113077344B (zh) 基于区块链的交易方法、装置、电子设备及存储介质
CN114564412B (zh) 区块链的确定性交易并发调度方法及系统
CN108021448B (zh) 一种内核空间的优化方法及装置
CN113656507B (zh) 区块链系统中执行交易的方法及装置
CN116360961A (zh) 基于多线程的内存分配方法及装置
CN107506375A (zh) 数据存储方法及装置
CN107515867A (zh) 一种NoSQL数据库的数据存储、查询方法和装置以及一种rowKey全组合的生成方法和装置
US8296336B2 (en) Techniques for efficient dataloads into partitioned tables using swap tables

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200124

RJ01 Rejection of invention patent application after publication