CN110535933B - 平行链共识方法、设备和存储介质 - Google Patents
平行链共识方法、设备和存储介质 Download PDFInfo
- Publication number
- CN110535933B CN110535933B CN201910789040.1A CN201910789040A CN110535933B CN 110535933 B CN110535933 B CN 110535933B CN 201910789040 A CN201910789040 A CN 201910789040A CN 110535933 B CN110535933 B CN 110535933B
- Authority
- CN
- China
- Prior art keywords
- parallel chain
- consensus
- account group
- chain
- block
- 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
-
- 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
-
- 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/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)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种平行链共识方法、设备和存储介质,该方法包括:在平行链共识成功时,存储该区块的区块高度的平行链授权账户组信息;根据区块执行结果和实时的平行链授权账户组信息生成第一共识交易并发送至主链节点,以供更新平行链授权账户组,根据更新后的平行链授权账户组进行平行链共识;监测平行链区块在超时前是否共识成功:否,则判断授权账户数量是否减少:是,则根据预置规则判断是否重发共识交易:是,则根据第三平行链授权账户组信息生成第二共识交易并发送至主链节点,以供更新平行链授权账户组,根据更新后的平行链授权账户组进行平行链共识。本申请保障了平行链共识在授权节点账户组变更时的正常进行,并减少了手续费的浪费。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种平行链共识方法、设备和存储介质。
背景技术
在申请人所提出的平行链共识机制中,平行链节点从主链同步平行链交易以生成平行链区块,平行链的各授权节点分别根据当前节点的平行链区块执行结果打包(分别在主链和平行链执行的)共识交易并发送至主链节点;
主链节点将各共识交易记录到主链上以进行投票,符合预配置条件(例如,超过2/3的投票一致,等等)则该平行链区块共识成功,从而借助主链共识完成平行链共识;
平行链节点从主链同步到上述各共识交易并打包执行后,在本地进行投票以完成平行链自共识。
在上述平行链共识机制中,当平行链的部分授权节点未正常进行平行链共识,导致平行链共识无法正常完成时,需要重新配置平行链的授权账户组,此时存在主链无法获悉平行链授权账户组变动,导致平行链共识仍无法完成的问题。例如,第一平行链配置有6个授权节点A-F,当授权节点A-D为平行链区块block1发送的共识交易成功记录到主链上,而授权节点E和F因无法缴纳足额手续费等原因未成功发送共识交易时,平行链区块block1无法共识成功(4/6未超过2/3);当第一平行链通过超管账户审批或授权账户投票等任一方法使原授权节点E和F退出授权节点账户组时,主链无法获悉第一平行链的授权节点账户组的该变动(由A-F变为A-D),导致平行链区块block1仍无法共识成功。
进一步地,当平行链共识发生类似上述异常时,如果每个正常运行或新加入的授权节点各自向主链发送交易以触发平行链共识,会浪费较多的手续费。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种在平行链授权节点账户组变更时保障平行链共识正常进行,同时减少手续费的浪费的平行链共识方法、设备和存储介质。
第一方面,本发明提供一种适用于平行链的授权节点的平行链共识方法,包括:
在第一平行链区块平行链共识成功时,存储第一平行链区块的第一区块高度的第一平行链授权账户组信息;
在执行第二平行链区块后,根据第二平行链区块的执行结果和实时的第二平行链授权账户组信息生成第一共识交易并发送至主链节点,以供主链节点在执行第一共识交易时更新当前平行链的平行链授权账户组,并根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;
从主链同步到第一共识交易后,监测第二平行链区块在超时前是否平行链共识成功:
否,则比对实时的第三平行链授权账户组信息和第二平行链区块的上一区块高度的第四平行链授权账户组信息以判断授权账户数量是否减少:
是,则根据预配置的规则判断是否重发共识交易:
是,则根据第二平行链区块的执行结果和第三平行链授权账户组信息生成第二共识交易并发送至主链节点,以供主链节点在执行第二共识交易时更新当前平行链的平行链授权账户组,并根据更新后的平行链授权账户组对第二平行链区块进行平行链共识。
第二方面,本发明提供一种适用于主链节点的平行链共识方法,包括:
执行第一共识交易,根据第一共识交易中的第二平行链授权账户组信息更新第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;其中,第一共识交易由第一平行链的授权节点在执行第二平行链区块后根据第二平行链区块的执行结果和实时的第二平行链授权账户组信息生成;
执行第二共识交易,根据第二共识交易中的第三平行链授权账户组信息更新第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;其中,第二共识交易由第一平行链的授权节点从主链同步到第一共识交易后,监测第二平行链区块在超时前未平行链共识成功时,通过比对实时的第三平行链授权账户组信息和第二平行链区块的上一区块高度的第四平行链授权账户组信息判断出授权账户数量减少时,根据预配置的规则判断出应重发共识交易时,根据第二平行链区块的执行结果和第三平行链授权账户组信息生成;第四平行链授权账户组信息由第一平行链的授权节点在第二平行链区块的上一区块平行链共识成功时存储。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的平行链共识方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的平行链共识方法。
本发明诸多实施例提供的平行链共识方法、设备和存储介质一方面通过在平行链区块超时未共识成功时重发共识交易,并在共识交易中配置最新的平行链授权账户组信息,以供主链节点在执行共识交易时更新平行链授权账户组,从而根据更新后的平行链授权账户组进行平行链共识,保障了平行链共识在授权节点账户组变更时的正常进行;另一方面通过在超时未共识成功时比对实时的账户数量和上一平行链区块共识成功时的账户数量判断是否重发共识交易,实现了减少手续费的浪费;
本发明一些实施例提供的平行链共识方法、设备和存储介质进一步通过在授权节点需要重发共识交易时,在各授权节点中择一重发共识交易,进一步减少了手续费的浪费;
本发明一些实施例提供的平行链共识方法、设备和存储介质进一步通过在本地根据所同步到的各共识交易和当前的授权账户数量判断出已满足平行链共识成功的条件时才重发共识交易,进一步减少了手续费的浪费;
本发明一些实施例提供的平行链共识方法、设备和存储介质进一步通过在存储最新共识成功高度的授权账户组信息时删除所存储的上一高度的授权账户组信息,避免存储无用的冗余信息。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种平行链共识方法的流程图。
图2为图1所示方法的一种优选实施方式的流程图。
图3为图1所示方法的一种优选实施方式中步骤S14的流程图。
图4为图1所示方法的一种优选实施方式中步骤S14的流程图。
图5为本发明一实施例提供的另一种平行链共识方法的流程图。
图6为图5所示方法的一种优选实施方式的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种平行链共识方法的流程图。
如图1所示,在本实施例中,本发明提供一种适用于平行链的授权节点的平行链共识方法,包括:
S00:在第一平行链区块平行链共识成功时,存储第一平行链区块的第一区块高度的第一平行链授权账户组信息。
S11:在执行第二平行链区块后,根据第二平行链区块的执行结果和实时的第二平行链授权账户组信息生成第一共识交易并发送至主链节点,以供主链节点在执行第一共识交易时更新当前平行链的平行链授权账户组,并根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;
S12:从主链同步到第一共识交易后,监测第二平行链区块在超时前是否平行链共识成功:
否,则执行步骤S13:比对实时的第三平行链授权账户组信息和第二平行链区块的上一区块高度的第四平行链授权账户组信息以判断授权账户数量是否减少:
是,则执行步骤S14:根据预配置的规则判断是否重发共识交易:
是,则执行步骤S15:根据第二平行链区块的执行结果和第三平行链授权账户组信息生成第二共识交易并发送至主链节点,以供主链节点在执行第二共识交易时更新当前平行链的平行链授权账户组,并根据更新后的平行链授权账户组对第二平行链区块进行平行链共识。
以下以第一平行链Pa初始的平行链授权账户组配置有6个授权节点a-f,共识高度达到200时,授权节点a-d正常进行平行链共识,授权节点e和f出现异常,导致区块高度为201的平行链区块无法完成平行链共识为例,对上述方法进行示例性的说明:
以授权节点a为例,在步骤S00中,每当授权节点a自共识成功一个平行链区块时,获取此时的平行链授权账户组以存储该区块高度的平行链授权账户组信息,所存储的该信息用于进行步骤S13中的比对。例如,平行链区块高度h=1,授权账户组accounts={a,b,c,d,e,f};…;h=200,accounts={a,b,c,d,e,f};…;h=500,accounts={a,b,d,g,h,j,k},等等。
优选地,步骤S00还包括:删除第一区块高度的上一区块高度的平行链授权账户组信息。具体地,由于步骤S13中只与最新共识高度的平行链授权账户组信息进行比对,因此,只存储最新共识高度的平行链授权账户组信息即可。例如,存储平行链区块高度h=2的平行链授权账户组信息时,删除h=1的平行链授权账户组信息;存储平行链区块高度h=200的平行链授权账户组信息时,删除h=199的平行链授权账户组信息,等等。
优选地,步骤S00还包括:删除回滚安全高度的平行链授权账户组信息。具体地,由于平行链节点可能跟随对应的主链节点进行回滚,只存储最新共识高度的平行链授权账户组信息可能会导致回滚后的信息缺失,因此可以删除不存在回滚风险的区块高度的平行链授权账户组信息。在本实施例中,回滚安全高度配置为第一区块高度与平行链回滚安全间隔高度之差,平行链回滚安全间隔高度可以根据主链回滚安全间隔高度计算得到。
在步骤S11中,授权节点a执行h=201的平行链区块block201后,根据block201的执行结果和实时的平行链授权账户组信息accounts={a,b,c,d,e,f}生成第一共识交易tx201-a并发送至主链节点;
同理,授权节点b、c、d、e、f分别生成第一共识交易tx201-b、tx201-c、tx201-d、tx201-e、tx201-f、并发送至主链节点;
主链节点分别广播、打包并执行上述各笔第一共识交易。以执行tx201-a为例,执行tx201-a时根据tx201-a中的accounts={a,b,c,d,e,f}更新第一平行链Pa的平行链授权账户组(此时与更新前相同,未发生变更)。
其中,tx201-a、tx201-b、tx201-c、tx201-d执行成功,记录在主链上,而tx201-e、tx201-f因手续费不足执行失败。此时,主链上无法完成对平行链区块block201的共识(4/6未超过2/3)。
由于第一平行链Pa的共识高度停留在200一直未增长,维护人员可以在主链上查询到授权节点a-d正常发送了第一共识交易,而授权节点e和f出现异常,因此可以通过超管账户审批或授权账户投票等任一方法使授权节点e和f退出授权节点账户组,此时平行链授权账户组信息变更为accounts={a,b,c,d}。
在步骤S12中,授权节点a从若干主链区块同步到tx201-a、tx201-b、tx201-c、tx201-d,监测到平行链区块block201在超时前没有共识成功,因此执行步骤S13:
比对实时的平行链授权账户组信息accounts={a,b,c,d}和平行链区块block201的上一区块高度h=200的平行链授权账户组信息accounts={a,b,c,d,e,f},判断授权账户数量是否减少:
是,则执行步骤S14:根据预配置的规则(例如,每个授权节点重发,图3所示方法中的规则,或,其它本领域技术人员可以理解的不同规则,等等)判断是否重发共识交易:
是,则执行步骤S15:根据block201的执行结果和accounts={a,b,c,d}生成第二共识交易tx201-a’并发送至主链节点。
主链节点广播、打包并执行第二共识交易,以执行tx201-a’为例,执行tx201-a’时根据tx201-a’中的accounts={a,b,c,d}更新第一平行链Pa的平行链授权账户组,并根据更新后的平行链授权账户组accounts={a,b,c,d}对平行链区块block201进行平行链共识(4/4超过2/3,共识成功)。
在上述方法中,当步骤S13中判断结果为授权账户数量未减少时,继续监测平行链区块block201在再次超时前是否共识成功。具体地,授权账户数量未减少可能存在两种不同情况:1、授权节点账户组尚未发生变更;2、授权节点账户组在异常授权节点的账户退出后,加入了新的账户(例如e、f退出,g、h加入,等)。对于第1种情况,需要等待授权节点账户组的变更;对于第2种情况,只需等待新加入的账户所对应的授权节点向主链发送第一共识交易,即可完成平行链区块block201的平行链共识。因此在上述两种情况中,授权节点a-d均无需立即判断是否重发共识交易,而只需继续监测。
当步骤S14的判断结果是无需重发共识交易时,同样只需继续监测、等待判断结果为需要重发共识交易的授权节点发送第二共识交易即可。
上述实施例一方面通过在平行链区块超时未共识成功时重发共识交易,并在共识交易中配置最新的平行链授权账户组信息,以供主链节点在执行共识交易时更新平行链授权账户组,从而根据更新后的平行链授权账户组进行平行链共识,保障了平行链共识在授权节点账户组变更时的正常进行;另一方面通过在超时未共识成功时比对实时的账户数量和上一平行链区块共识成功时的账户数量判断是否重发共识交易,实现了减少手续费的浪费;并进一步通过在存储最新共识成功高度的授权账户组信息时删除所存储的上一高度的授权账户组信息,避免存储无用的冗余信息。
图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,上述方法还包括:
S16:从主链同步到重发的共识交易后,监测第二平行链区块在再次超时前是否平行链共识成功:
否,则执行步骤S17:比对实时的平行链授权账户组信息和重发的共识交易中的平行链授权账户组信息以判断授权账户数量是否再次减少:
是,则执行步骤S18:根据第二平行链区块的执行结果和实时的平行链授权账户组信息生成共识交易并发送至主链节点;返回步骤S16。
具体地,在极端情况下(例如授权节点a-d中,b和c随着对应的主链节点发生了分叉,2/4未超过2/3),步骤S15发送第二共识交易后仍无法使对应的平行链区块共识成功,此时需要通过比对判断授权账户数量是否再次减少来决定是否要再次重发共识交易。其中,当步骤S17的判断结果为否时,同样只需继续监测,原因与步骤S13相同,不再赘述。
图3为图1所示方法的一种优选实施方式中步骤S14的流程图。如图3所示,在一优选实施例中,步骤S14包括:
S143:对当前的平行链共识高度与授权账户数量进行取余运算,得到第一余数;
S145:比对当前授权账户在当前的平行链授权账户组中的序号和第一余数是否一致:
是,则执行步骤S15。
例如,授权节点a-d的账户在平行链授权账户组中的序号分别为0/1/2/3,在步骤S143中,对共识高度200和授权账户数量4进行取余,得到第一余数0,在步骤S145中,授权节点a的比对结果为一致,执行步骤S15,而授权节点b、c、d的比对结果为不一致,继续监测。
在本实施例中,采用了对共识高度取余并比对余数和序号的方法选取了一个授权节点重发共识交易,在更多实施例中,还可以采用本领域技术人员可以理解的不同方法(例如,轮流发送,重发次数最少的授权节点重发,等等)选取一个或多个授权节点重发共识交易,可实现相同的技术效果。
上述实施例进一步通过在授权节点需要重发共识交易时,在各授权节点中择一重发共识交易,进一步减少了手续费的浪费。
图4为图1所示方法的一种优选实施方式中步骤S14的流程图。如图4所示,在一优选实施例中,步骤S14还包括:
S141:根据从主链同步到的第二平行链区块的各笔共识交易和当前的平行链授权账户组判断是否满足平行链共识成功的条件:否,则暂不重发共识交易。
例如,根据从主链同步到的tx201-a、tx201-b、tx201-c、tx201-d判断出授权节点a-d中a/d或b/c发生了分叉,2/4未超过2/3,因此暂不重发共识交易,等到分叉节点从分叉中恢复并重发共识交易后,或,同步到了新加入的(未分叉的)授权节点发送的共识交易后,即,步骤S141的判断结果为是时,再执行后续步骤。
上述实施例进一步通过在本地根据所同步到的各共识交易和当前的授权账户数量判断出已满足平行链共识成功的条件时才重发共识交易,进一步减少了手续费的浪费。
图5为本发明一实施例提供的另一种平行链共识方法的流程图。图5所示的方法可配合图1、3-4所示的方法执行。
如图5所示,在本实施例中,本发明还提供一种适用于主链节点的平行链共识方法,包括:
S21:执行第一共识交易,根据第一共识交易中的第二平行链授权账户组信息更新第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;其中,第一共识交易由第一平行链的授权节点在执行第二平行链区块后根据第二平行链区块的执行结果和实时的第二平行链授权账户组信息生成;
S23:执行第二共识交易,根据第二共识交易中的第三平行链授权账户组信息更新第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;其中,第二共识交易由第一平行链的授权节点从主链同步到第一共识交易后,监测第二平行链区块在超时前未平行链共识成功时,通过比对实时的第三平行链授权账户组信息和第二平行链区块的上一区块高度的第四平行链授权账户组信息判断出授权账户数量减少时,根据预配置的规则判断出应重发共识交易时,根据第二平行链区块的执行结果和第三平行链授权账户组信息生成;第四平行链授权账户组信息由第一平行链的授权节点在第二平行链区块的上一区块平行链共识成功时存储。
图5所示方法的重发机制原理可参考图1、3-4所示的方法,此处不再赘述。
图6为图5所示方法的一种优选实施方式的流程图。图6所示的方法可配合图2所示的方法执行。
如图6所示,在一优选实施例中,上述方法还包括:
S25:执行再次重发的共识交易以更新第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识。
其中,再次重发的共识交易由第一平行链的授权节点从主链同步到重发的共识交易后,监测到第二平行链区块在再次超时前未平行链共识成功时,通过比对实时的平行链授权账户组信息和所同步到的重发的共识交易中的平行链授权账户组信息判断出授权账户数量再次减少时,根据所述第二平行链区块的执行结果和实时的平行链授权账户组信息生成。
图6所示方法的重发机制原理可参考图2所示的方法,此处不再赘述。
图7为本发明一实施例提供的一种设备的结构示意图。
如图7所示,作为另一方面,本申请还提供了一种设备700,包括一个或多个中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的平行链共识方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行平行链共识方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的平行链共识方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (9)
1.一种平行链共识方法,其特征在于,所述方法适用于平行链的授权节点,所述方法包括:
在第一平行链区块平行链共识成功时,存储所述第一平行链区块的第一区块高度的第一平行链授权账户组信息;
在执行第二平行链区块后,根据所述第二平行链区块的执行结果和实时的第二平行链授权账户组信息生成第一共识交易并发送至主链节点,以供主链节点在执行所述第一共识交易时更新当前平行链的平行链授权账户组,并根据更新后的平行链授权账户组对所述第二平行链区块进行平行链共识;
从主链同步到所述第一共识交易后,监测所述第二平行链区块在超时前是否平行链共识成功:
平行链共识不成功时,则比对实时的第三平行链授权账户组信息和所述第二平行链区块的上一区块高度的第四平行链授权账户组信息以判断授权账户数量是否减少:
减少时,则根据预配置的规则判断是否重发共识交易:
重发共识交易时,则根据所述第二平行链区块的执行结果和所述第三平行链授权账户组信息生成第二共识交易并发送至主链节点,以供主链节点在执行所述第二共识交易时更新当前平行链的平行链授权账户组,并根据更新后的平行链授权账户组对所述第二平行链区块进行平行链共识。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二平行链区块的执行结果和所述第三平行链授权账户组信息生成第二共识交易并发送至主链节点之后还包括:
从主链同步到重发的共识交易后,监测所述第二平行链区块在再次超时前是否平行链共识成功:
平行链共识不成功时,则比对实时的平行链授权账户组信息和所述重发的共识交易中的平行链授权账户组信息以判断授权账户数量是否再次减少:
授权账户数量再次减少时,则根据所述第二平行链区块的执行结果和实时的平行链授权账户组信息生成共识交易并发送至主链节点;返回所述从主链同步到重发的共识交易后,监测所述第二平行链区块在再次超时前是否平行链共识成功。
3.根据权利要求1所述的方法,其特征在于,所述根据预配置的规则判断是否重发共识交易包括:
对当前的平行链共识高度与授权账户数量进行取余运算,得到第一余数;
比对当前授权账户在当前的平行链授权账户组中的序号和所述第一余数是否一致:
是,则重发共识交易。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据预配置的规则判断是否重发共识交易还包括:
根据从主链同步到的所述第二平行链区块的各笔共识交易和当前的平行链授权账户组判断是否满足平行链共识成功的条件:
否,则暂不重发共识交易。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述在第一平行链区块平行链共识成功时,存储所述第一平行链区块的第一区块高度的第一平行链授权账户组信息还包括:
删除所述第一区块高度的上一区块高度的平行链授权账户组信息。
6.一种平行链共识方法,其特征在于,所述方法适用于主链节点,所述方法包括:
执行第一共识交易,根据所述第一共识交易中的第二平行链授权账户组信息更新第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;其中,所述第一共识交易由所述第一平行链的授权节点在执行第二平行链区块后根据所述第二平行链区块的执行结果和实时的第二平行链授权账户组信息生成;
执行第二共识交易,根据所述第二共识交易中的第三平行链授权账户组信息更新所述第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;其中,所述第二共识交易由所述第一平行链的授权节点从主链同步到所述第一共识交易后,监测所述第二平行链区块在超时前未平行链共识成功时,通过比对实时的第三平行链授权账户组信息和所述第二平行链区块的上一区块高度的第四平行链授权账户组信息判断出授权账户数量减少时,根据预配置的规则判断出应重发共识交易时,根据所述第二平行链区块的执行结果和所述第三平行链授权账户组信息生成;所述第四平行链授权账户组信息由所述第一平行链的授权节点在所述第二平行链区块的上一区块平行链共识成功时存储。
7.根据权利要求6所述的方法,其特征在于,还包括:
执行再次重发的共识交易以更新所述第一平行链的平行链授权账户组,根据更新后的平行链授权账户组对第二平行链区块进行平行链共识;
其中,所述再次重发的共识交易由所述第一平行链的授权节点从主链同步到重发的共识交易后,监测到所述第二平行链区块在再次超时前未平行链共识成功时,通过比对实时的平行链授权账户组信息和所同步到的重发的共识交易中的平行链授权账户组信息判断出授权账户数量再次减少时,根据所述第二平行链区块的执行结果和实时的平行链授权账户组信息生成。
8.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7中任一项所述的方法。
9.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789040.1A CN110535933B (zh) | 2019-08-26 | 2019-08-26 | 平行链共识方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789040.1A CN110535933B (zh) | 2019-08-26 | 2019-08-26 | 平行链共识方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535933A CN110535933A (zh) | 2019-12-03 |
CN110535933B true CN110535933B (zh) | 2021-07-06 |
Family
ID=68662820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910789040.1A Active CN110535933B (zh) | 2019-08-26 | 2019-08-26 | 平行链共识方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535933B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111275437B (zh) * | 2020-01-12 | 2023-05-30 | 杭州复杂美科技有限公司 | 平行链共识方法、设备和存储介质 |
CN111524010B (zh) * | 2020-05-06 | 2023-06-02 | 杭州复杂美科技有限公司 | 平行链共识方法、设备和存储介质 |
CN112804322B (zh) * | 2021-01-11 | 2022-06-28 | 杭州复杂美科技有限公司 | 区块生成方法、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255709A (zh) * | 2018-09-05 | 2019-01-22 | 深圳正品创想科技有限公司 | 一种基于区块链的结账方法及其系统 |
CN109410045A (zh) * | 2018-08-30 | 2019-03-01 | 杭州复杂美科技有限公司 | 一种平行链共识方法、设备和存储介质 |
CN109831514A (zh) * | 2019-03-02 | 2019-05-31 | 杭州复杂美科技有限公司 | 平行链共识方法、数据异常处理方法、设备和存储介质 |
CN109886693A (zh) * | 2019-03-13 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 区块链系统的共识实现方法、装置、设备和介质 |
CN110070453A (zh) * | 2019-04-04 | 2019-07-30 | 国美金控投资有限公司 | 一种基于区块链的保险系统与方法 |
CN110113409A (zh) * | 2019-04-30 | 2019-08-09 | 杭州复杂美科技有限公司 | 平行链授权节点配置方法、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896169B2 (en) * | 2017-05-12 | 2021-01-19 | International Business Machines Corporation | Distributed system, computer program product and method |
-
2019
- 2019-08-26 CN CN201910789040.1A patent/CN110535933B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109410045A (zh) * | 2018-08-30 | 2019-03-01 | 杭州复杂美科技有限公司 | 一种平行链共识方法、设备和存储介质 |
CN109255709A (zh) * | 2018-09-05 | 2019-01-22 | 深圳正品创想科技有限公司 | 一种基于区块链的结账方法及其系统 |
CN109831514A (zh) * | 2019-03-02 | 2019-05-31 | 杭州复杂美科技有限公司 | 平行链共识方法、数据异常处理方法、设备和存储介质 |
CN109886693A (zh) * | 2019-03-13 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 区块链系统的共识实现方法、装置、设备和介质 |
CN110070453A (zh) * | 2019-04-04 | 2019-07-30 | 国美金控投资有限公司 | 一种基于区块链的保险系统与方法 |
CN110113409A (zh) * | 2019-04-30 | 2019-08-09 | 杭州复杂美科技有限公司 | 平行链授权节点配置方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110535933A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535933B (zh) | 平行链共识方法、设备和存储介质 | |
US11966916B2 (en) | Resource transfer method and apparatus, storage medium, and computer device | |
CN109584072B (zh) | 一种平行链共识的交易发送方法、设备和存储介质 | |
CN109831514B (zh) | 平行链共识方法、数据异常处理方法、设备和存储介质 | |
CN106502769B (zh) | 分布式事务处理方法、装置及系统 | |
US11893583B2 (en) | Settlement system, settlement method, user device, and settlement program | |
CN103782574B (zh) | 用于数据库事务的幂等性 | |
CN111080449A (zh) | 区块链的跨链交易方法、管理节点、区块链网络 | |
JPH04230541A (ja) | 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法 | |
CN103562853B (zh) | 用于管理程序代码的实例的方法和系统 | |
CN111045794A (zh) | 分布式事务处理方法、装置、系统、计算机设备及存储介质 | |
CN115118604B (zh) | 一种动态扩缩容的数据迁移方法、设备、系统和介质 | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
US20220269568A1 (en) | Blockchain-based data snapshot method and apparatus, and computer-readable storage medium | |
CN110691122B (zh) | 平行链共识方法、设备及存储介质 | |
CN108519920A (zh) | 一种调度重试方法及装置 | |
CN111563124A (zh) | 基于区块链的作业处理方法、装置及系统 | |
US20180268020A1 (en) | Transaction processing system and transaction control method | |
CN110445843B (zh) | 平行链区块推送方法、设备和存储介质 | |
CN111667264A (zh) | 区块数据的传输方法、装置、电子设备及非易失性计算机存储介质 | |
US11500857B2 (en) | Asynchronous remote calls with undo data structures | |
JP2000020619A (ja) | トランザクション補償システム | |
CN106921619B (zh) | 一种关联事件处理方法及装置 | |
CN114372799A (zh) | 一种平行链系统及其共识方法、设备及储存介质 | |
CN112783972A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |