CN110516150A - 平行链交易推送方法、设备和存储介质 - Google Patents

平行链交易推送方法、设备和存储介质 Download PDF

Info

Publication number
CN110516150A
CN110516150A CN201910789017.2A CN201910789017A CN110516150A CN 110516150 A CN110516150 A CN 110516150A CN 201910789017 A CN201910789017 A CN 201910789017A CN 110516150 A CN110516150 A CN 110516150A
Authority
CN
China
Prior art keywords
parallel chain
block
parallel
chain
pushed
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.)
Granted
Application number
CN201910789017.2A
Other languages
English (en)
Other versions
CN110516150B (zh
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.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei 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 Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201910789017.2A priority Critical patent/CN110516150B/zh
Publication of CN110516150A publication Critical patent/CN110516150A/zh
Application granted granted Critical
Publication of CN110516150B publication Critical patent/CN110516150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种平行链交易推送方法、设备和存储介质,该方法包括:在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点;其中,第一推送信息根据所存储的若干第一平行链节点的注册信息从第一主链区块中筛选相对应的平行链的平行链交易生成,注册信息包括第一平行链节点的平行链名称和推送地址。本申请降低平行链节点同步平行链区块的带宽,以及,降低平行链节点同步平行链区块的耗时时长,改善用户体验。

Description

平行链交易推送方法、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种平行链交易推送方法、设备和存储介质。
背景技术
在申请人所提出的平行链机制(具体可参考申请人所申请的各项平行链专利文本)中,平行链节点需要通过遍历每一个主链区块获取所有本平行链的平行链交易从而生成平行链区块;而实际上并不是每一个主链区块都拥有本平行链的平行链交易,上述机制将造成浪费带宽、耗时长的问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种降低平行链节点同步平行链区块的带宽、降低平行链节点同步平行链区块的耗时时长的平行链交易推送方法、设备和存储介质。
第一方面,本发明提供一种适用于主链节点的平行链交易推送方法,包括:
在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点;其中,第一推送信息根据所存储的若干第一平行链节点的注册信息从第一主链区块中筛选相对应的平行链的平行链交易生成,注册信息包括第一平行链节点的平行链名称和推送地址。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的平行链交易推送方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的平行链交易推送方法。
本发明诸多实施例提供的平行链交易推送方法、设备和存储介质通过在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点;其中,第一推送信息根据所存储的若干第一平行链节点的注册信息从第一主链区块中筛选相对应的平行链的平行链交易生成,注册信息包括第一平行链节点的平行链名称和推送地址的方法,降低平行链节点同步平行链区块的带宽,以及,降低平行链节点同步平行链区块的耗时时长,改善用户体验。
本发明一些实施例提供的平行链交易推送方法、设备和存储介质进一步通过只需要挖矿成功的主链节点拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易,并对各第一交易进行分类(将第一交易加入所属平行链的第一队列,或将第一交易加入主链的第二队列);挖矿成功的主链节点根据各第一队列和第二队列生成第一主链区块,并将第一主链区块广播给其它主链节点;挖矿成功的主链节点根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点;其它主链节点无需对交易分类,只需要根据挖矿成功的主链节点广播的第一主链区块的各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点;进一步降低平行链节点同步平行链区块的耗时时长,改善用户体验。
本发明一些实施例提供的平行链交易推送方法、设备和存储介质进一步通过注册信息还包括第一平行链的第一空块间隔,当第一平行链的第一队列为空,且不包括第一平行链的平行链交易的主链区块的连续数量不小于第一空块间隔时,根据第一区块头信息生成第一推送信息,并推送给第一平行链的平行链节点以供第一平行链的平行链节点生成空块的方法,使得即使在较长时间内没有某一平行链的平行链交易,用户仍能通过平行链产生的空块感知到平行链在正常运行,进一步改善用户体验。
本发明一些实施例提供的平行链交易推送方法、设备和存储介质进一步通过第一推送信息包括第一主链区块的第一区块高度,以供第一平行链节点接收第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于第一区块高度:是,则删除第一区块高度至第二区块高度的所有主链区块对应的平行链区块;以及,根据第一推送信息生成第一平行链区块的方法,使得主链发生回滚时,平行链能正确跟随主链进行回滚,保证平行链运行的正确性。
本发明一些实施例提供的平行链交易推送方法、设备和存储介质进一步通过配置重发次数,计算重发次数,并判断计算后的重发次数是否不小于预配置的第一阈值:是,则删除第一平行链节点的注册信息的方法,使得主链节点不再向失效的平行链节点一直推送平行链交易,减少主链节点的资源浪费。
本发明一些实施例提供的平行链交易推送方法、设备和存储介质进一步通过拉取并打包若干第一交易生成第一主链区块;根据第一主链区块的区块头信息生成各待推送的平行链的第一推送信息;依次判断各第一交易是否平行链交易:是,则将第一交易加入所属平行链的第一推送信息;将各平行链的第一推送信息推送给相对应的各第一平行链节点的方法,不依赖于成功挖矿的主链节点,每个主链节点只根据第一主链区块生成待推送的平行链的第一推送信息,降低平行链节点同步平行链区块的带宽,以及,降低平行链节点同步平行链区块的耗时时长。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种平行链交易推送方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S12的流程图。
图3为图2所示方法的一种优选实施方式的步骤S1204的流程图。
图4为图2所示方法的另一种优选实施方式的流程图。
图5为图1所示方法的另一种优选实施方式中步骤S12的流程图。
图6为图1所示方法的另一种优选实施方式中步骤S12的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种平行链交易推送方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于主链节点的平行链交易推送方法,包括:
S12:在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点;其中,第一推送信息根据所存储的若干第一平行链节点的注册信息从第一主链区块中筛选相对应的平行链的平行链交易生成,注册信息包括第一平行链节点的平行链名称和推送地址;
具体地,假设主链节点为A,第一平行链节点为a和b;a的注册信息包括a的平行链名称chain1和a的推送地址为addr(a);b的注册信息包括b的平行链名称chain2和b的推送地址为addr(b);第一主链区块为block(100),block(100)中有一条chain1的平行链交易tx1,两条chain2的平行链交易tx2和tx3;第一推送信息根据所存储的若干第一平行链节点的注册信息从第一主链区块中筛选相对应的平行链的平行链交易生成,因此A生成a的第一推送信息(包括tx1),A生成b的第一推送信息(包括tx2和tx3);
在步骤S12中,A在block(100)共识成功后,各第一推送信息推送给相对应的各第一平行链节点,即,将包括tx1的第一推送信息推送给a,将包括tx2和tx3的第一推送信息推送给b。
在更多实施例中,注册信息可以根据实际需求配置为由第一平行链节点向主链节点发送注册请求后,主链节点根据注册请求存储注册信息;或,由人为配置,例如由管理员配置,主链节点存储管理员配置的注册信息,可实现相同的技术效果。
上述实施例降低平行链节点同步平行链区块的带宽,以及,降低平行链节点同步平行链区块的耗时时长,改善用户体验。
图2为图1所示方法的一种优选实施方式中步骤S12的流程图。如图2所示,在一优选实施例中,步骤S12包括:
S1200:响应于挖矿成功,拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易:
是,则执行步骤S1201:将第一交易加入所属平行链的第一队列;
否,则执行步骤S1202:将第一交易加入主链的第二队列;
S1203:根据各第一队列和第二队列生成第一主链区块,并将第一主链区块广播给其它主链节点;
S1204:根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点。
具体地,假设主链节点为C,第一平行链节点为c和d;c的注册信息包括c的平行链名称chain1和c的推送地址为addr(c);d的注册信息包括d的平行链名称chain2和d的推送地址为addr(d);该区块链系统中一共有四条平行链,平行链名称分别为chain1、chain2、chain3和chain4;第一主链区块为block(101),block(101)共有10条交易tx4~tx13,其中,有一条chain1的平行链交易tx4,两条chain2的平行链交易tx5和tx6,一条chain3的平行链交易tx7,零条chain4的平行链交易,六条主链交易tx8~tx13;
在步骤S1200中,响应于挖矿成功,C拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易:
是,则执行步骤S1201:将第一交易加入所属平行链的第一队列;
否,则执行步骤S1202:将第一交易加入主链的第二队列;
执行完以上步骤时,chain1的第一队列为:tx4;chain2的第一队列为:tx5、tx6;chain3的第一队列为:tx7;chain4的第一队列为:null;主链的第二队列为:tx8~tx13;
在步骤S1203中,C根据各第一队列和第二队列生成block(101),并将block(101)广播给其它主链节点;
在步骤S1204中,C根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点,即,C将根据tx4生成的第一推送信息推送给c,将根据tx5,tx6生成的第一推送信息推送给d。
在更多实施例中,还可以根据实际需求将平行链交易推送方法配置为:
响应于挖矿成功,拉取并打包若干第一交易生成第一主链区块;
根据第一主链区块的区块头信息生成各平行链的第一推送信息;
依次判断各第一交易是否平行链交易:
是,则将第一交易加入所属平行链的第一推送信息;
将各平行链的第一推送信息广播给其它主链节点;
将各平行链的第一推送信息推送给相对应的各第一平行链节点。
上述方法与图2所示的实施例的不同之处在于,成功挖矿的主链节点在生成主链区块后,再对所生成的主链区块中的各交易进行分类生成各推送信息,且各推送信息将被额外广播给其它主链节点,即,所生成的主链区块中的所有交易仍是无序的,但同样能降低平行链节点同步平行链区块的耗时时长,改善用户体验。
上述实施例只需要挖矿成功的主链节点拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易,并对各第一交易进行分类(将第一交易加入所属平行链的第一队列,或将第一交易加入主链的第二队列);挖矿成功的主链节点根据各第一队列和第二队列生成第一主链区块,并将第一主链区块广播给其它主链节点;挖矿成功的主链节点根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点;其它主链节点无需对交易分类,只需要根据挖矿成功的主链节点广播的第一主链区块的各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点;进一步降低平行链节点同步平行链区块的耗时时长,改善用户体验。
图3为图2所示方法的一种优选实施方式的步骤S1204的流程图。如图3所示,在一优选实施例中,注册信息还包括第一平行链的第一空块间隔,步骤S1204包括:
S12041:判断第一平行链的第一队列是否为空:
否,则执行步骤S12042:根据第一平行链的第一队列和第一主链区块的第一区块头信息生成第一推送信息,并推送给第一平行链的平行链节点;
是,则执行步骤S12043:判断不包括第一平行链的平行链交易的主链区块的连续数量是否不小于第一空块间隔:
是,则执行步骤S12044:根据第一区块头信息生成第一推送信息,并推送给第一平行链的平行链节点以供第一平行链的平行链节点生成空块。
具体地,假设chain1和chain2的第一空块间隔均为50,block(102)~block(150)均没有chain1和chain2的平行链交易,此时,C生成block(151),block(151)中有chain1的平行链交易、没有chain2的平行链交易;
对于C-c:
在步骤S12041中,C判断chain1的第一队列是否为空:
由于block(151)中有chain1的平行链交易,第一队列不为空,则执行步骤S12042:C根据第一平行链的第一队列和第一主链区块的第一区块头信息生成第一推送信息,并推送给c;
对于C-d:
在步骤S12041中,C判断chain1的第一队列是否为空:
由于block(151)中没有chain2的平行链交易,第一队列不为空,则执行步骤S12043:C判断不包括第一平行链的平行链交易的主链区块的连续数量是否不小于第一空块间隔:
由于block(102)~block(150)均没有chain2的平行链交易,block(151)中也没有chain2的平行链交易,不包括chain2的平行链交易的主链区块的连续数量为50,不小于第一空块间隔50,则执行步骤S12044:根据第一区块头信息生成第一推送信息,并推送给d,d接收C根据第一区块头信息生成的第一推送信息,生成空块。
在更多实施例中,还可以根据实际需求配置第一数量的数值,例如,配置为100,可实现相同的技术效果。
上述实施例使得即使在较长时间内没有某一平行链的平行链交易,用户仍能通过平行链产生的空块感知到平行链在正常运行,进一步改善用户体验。
优选地,第一推送信息包括第一主链区块的第一区块高度,以供第一平行链节点接收第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于第一区块高度:
是,则删除第一区块高度至第二区块高度的所有主链区块对应的平行链区块;以及,
根据第一推送信息生成第一平行链区块。
上述实施例使得主链发生回滚时,平行链能正确跟随主链进行回滚,保证平行链运行的正确性。
图4为图2所示方法的另一种优选实施方式的流程图。如图4所示,在一优选实施例中,上述方法还包括:
S1210:监测在预配置的超时时长内是否接收到第一平行链节点返回的第一推送信息的确收信息:
否,则执行步骤S1211:将第一平行链节点的重发次数加一;以及,
S1212:判断重发次数是否不小于预配置的第一阈值:
否,则返回监测在预配置的超时时长内是否接收到第一平行链节点返回的第一推送信息的确收信息;
是,则执行步骤S1213:删除第一平行链节点的注册信息。
具体地,假设预配置的超时时长为1分钟,第一阈值为2次,以C-c为例,并假设c此次掉线时长为10分钟;
在步骤S1210中,C监测在1分钟内是否接收到c返回的第一推送信息的确收信息:
由于c此次掉线时长为10分钟,无法返回确收信息,则执行步骤S1211:将c的重发次数加一;以及,
在步骤S1212中,C判断c的重发次数是否不小于2:
由于此时c的重发次数为1,小于2,则返回步骤S1210;
在步骤S1210中,C监测在1分钟内是否接收到c返回的第一推送信息的确收信息:
由于c此次掉线时长为10分钟,无法返回确收信息,则执行步骤S1211:将c的重发次数加一;以及,
在步骤S1212中,C判断c的重发次数是否不小于2:
由于此时c的重发次数为2,不小于2,则执行步骤S1213:删除c的注册信息。
在更多实施例中,还可以根据实际需求配置预配置的超时时长,例如,配置为30秒,可实现相同的技术效果;
在更多实施例中,还可以根据实际需求配置第一阈值,例如,配置为3,可实现相同的技术效果。
上述实施例使得主链节点不再向失效的平行链节点一直推送平行链交易,减少主链节点的资源浪费。
图5为图1所示方法的另一种优选实施方式中步骤S12的流程图。如图5所示,在一优选实施例中,步骤S12包括:
S1220:接收成功挖矿的主链节点广播的第一主链区块;其中,第一主链区块由成功挖矿的主链节点响应于挖矿成功,拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易:是,则将第一交易加入所属平行链的第一队列;否,则将第一交易加入主链的第二队列;根据各第一推送信息和第二推送信息生成;
S1221:根据第一主链区块的各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点。
具体地,假设主链节点为E,第一平行链节点为e;e的注册信息包括e的平行链名称chain2和e的推送地址为addr(e);
在步骤S1220中,E接收C广播的第一主链区块block(101);block(101)由E响应于挖矿成功,拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易:是,则将第一交易加入所属平行链的第一队列;否,则将第一交易加入主链的第二队列;根据各第一推送信息和第二推送信息生成,在block(101)中,chain1的第一队列为:tx4;chain2的第一队列为:tx5、tx6;chain3的第一队列为:tx7;chain4的第一队列为:null;主链的第二队列为:tx8~tx13;
在步骤S1221中,E根据block(101)的各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点,即,E将根据tx5、tx6生成的第一推送信息推送给e。
在更多实施例中,平行链交易推送方法配置为:
接收成功挖矿的主链节点广播的各平行链的第一推送信息;其中,第一推送信息包括第一主链区块的区块头信息,以及,第一主链区块中相对应平行链的平行链交易;
将各平行链的第一推送信息推送给相对应的各第一平行链节点。
上述方法与图5所示的实施例的不同之处在于,成功挖矿的主链节点在生成主链区块后,再对所生成的主链区块中的各交易进行分类生成各推送信息,且各推送信息将被额外广播给其它主链节点,即,所生成的主链区块中的所有交易仍是无序的;其它主链节点根据收到的额外的各推送信息,再将各推送信息推送给相对应的各平行链节点,但同样能降低平行链节点同步平行链区块的耗时时长,改善用户体验。
上述实施例只需要挖矿成功的主链节点拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易,并对各第一交易进行分类(将第一交易加入所属平行链的第一队列,或将第一交易加入主链的第二队列);挖矿成功的主链节点根据各第一队列和第二队列生成第一主链区块,并将第一主链区块广播给其它主链节点;挖矿成功的主链节点根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点;其它主链节点无需对交易分类,只需要根据挖矿成功的主链节点广播的第一主链区块的各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点;进一步降低平行链节点同步平行链区块的耗时时长,改善用户体验。
优选地,注册信息还包括第一平行链的第一空块间隔,步骤S1221包括:
判断第一平行链的第一队列是否为空:
否,则根据第一平行链的第一队列和第一主链区块的第一区块头信息生成第一推送信息,并推送给第一平行链的平行链节点;
是,则判断不包括第一平行链的平行链交易的主链区块的连续数量是否不小于第一空块间隔:
是,则根据第一区块头信息生成第一推送信息,并推送给第一平行链的平行链节点以供第一平行链的平行链节点生成空块。
上述实施例的平行链交易推送原理可参考图3所示的方法,此处不再赘述。
上述实施例使得即使在较长时间内没有某一平行链的平行链交易,用户仍能通过平行链产生的空块感知到平行链在正常运行,进一步改善用户体验。
优选地,第一推送信息包括第一主链区块的第一区块高度,以供第一平行链节点接收第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于第一区块高度:
是,则删除第一区块高度至第二区块高度的所有主链区块对应的平行链区块;以及,
根据第一推送信息生成第一平行链区块。
上述实施例使得主链发生回滚时,平行链能正确跟随主链进行回滚,保证平行链运行的正确性。
优选地,上述方法还包括:
监测在预配置的超时时长内是否接收到第一平行链节点返回的第一推送信息的确收信息:
否,则将第一平行链节点的重发次数加一;以及,
判断重发次数是否不小于预配置的第一阈值:
否,则返回监测在预配置的超时时长内是否接收到第一平行链节点返回的第一推送信息的确收信息;
是,则删除第一平行链节点的注册信息。
上述实施例的平行链交易推送原理可参考图4所示的方法,此处不再赘述。
图6为图1所示方法的另一种优选实施方式中步骤S12的流程图。如图6所示,在一优选实施例中,步骤S12包括:
S1230:拉取并打包若干第一交易生成第一主链区块;
S1231:根据第一主链区块的区块头信息生成各待推送的平行链的第一推送信息;
S1232:依次判断各第一交易是否平行链交易:是,则执行步骤S1233:将第一交易加入所属平行链的第一推送信息;
S1234:将各平行链的第一推送信息推送给相对应的各第一平行链节点。
具体地,假设有另一个强一致性的区块链,该区块链中没有挖到矿的主链节点与其它普通节点之分,所有主链节点首先先将互相同步待打包的主链区块中的各交易,再各自生成主链区块;假设主链节点为M,第一平行链节点为m;m的注册信息包括m的平行链名称chain10和m的推送地址为addr(m);该区块链系统中一共有四条平行链,平行链名称分别为chain10、chain11、chain12和chain13;第一主链区块为block(200),block(200)中有一条chain10的平行链交易tx20,一条chain11的平行链交易tx21,一条chain12的平行链交易tx22,零条chain13的平行链交易;
在步骤S1230中,M拉取并打包若干第一交易生成block(200);
在步骤S1231中,M根据block(200)的区块头信息blockheader(200)生成各待推送的平行链的第一推送信息,即,chain10的第一推送信息:blockheader(200);
在步骤S1232中,M依次判断各第一交易是否平行链交易:是,则执行步骤S1233:将第一交易加入所属平行链的第一推送信息;即,chain10的第一推送信息:blockheader(200),tx20;
在步骤S1234中,M将blockheader(200),tx20推送给m。
上述实施例不依赖于成功挖矿的主链节点,每个主链节点只根据第一主链区块生成待推送的平行链的第一推送信息,降低平行链节点同步平行链区块的带宽,以及,降低平行链节点同步平行链区块的耗时时长。
优选地,注册信息还包括第一平行链的第一空块间隔,上述方法还包括:
监测是否有连续第一空块间隔个主链区块不包括第一平行链的平行链交易:
是,则生成通知第一平行链的平行链节点生成空块的第一通知信息;以及,
将第一通知信息推送给第一平行链的平行链节点。
上述实施例使得即使在较长时间内没有某一平行链的平行链交易,用户仍能通过平行链产生的空块感知到平行链在正常运行,进一步改善用户体验。
优选地,第一推送信息包括第一主链区块的第一区块高度,以供第一平行链节点接收第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于第一区块高度:
是,则删除第一区块高度至第二区块高度的所有主链区块对应的平行链区块;以及,
根据第一推送信息生成第一平行链区块。
上述实施例使得主链发生回滚时,平行链能正确跟随主链进行回滚,保证平行链运行的正确性。
优选地,上述方法还包括:
监测在预配置的超时时长内是否接收到第一平行链节点返回的第一推送信息的确收信息:
否,则将第一平行链节点的重发次数加一;以及,
判断重发次数是否不小于预配置的第一阈值:
否,则返回监测在预配置的超时时长内是否接收到第一平行链节点返回的第一推送信息的确收信息;
是,则删除第一平行链节点的注册信息。
上述实施例的平行链交易推送原理可参考图4所示的方法,此处不再赘述。
图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 (15)

1.一种平行链交易推送方法,其特征在于,适用于主链节点,所述方法包括:
在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点;其中,所述第一推送信息根据所存储的若干第一平行链节点的注册信息从第一主链区块中筛选相对应的平行链的平行链交易生成,所述注册信息包括所述第一平行链节点的平行链名称和推送地址。
2.根据权利要求1所述的方法,其特征在于,所述在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点包括:
响应于挖矿成功,拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易:
是,则将所述第一交易加入所属平行链的第一队列;
否,则将所述第一交易加入主链的第二队列;
根据各所述第一队列和所述第二队列生成第一主链区块,并将所述第一主链区块广播给其它主链节点;
根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点。
3.根据权利要求2所述的方法,其特征在于,所述注册信息还包括第一平行链的第一空块间隔,所述根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点包括:
判断第一平行链的第一队列是否为空:
否,则根据所述第一平行链的第一队列和所述第一主链区块的第一区块头信息生成第一推送信息,并推送给所述第一平行链的平行链节点;
是,则判断不包括第一平行链的平行链交易的主链区块的连续数量是否不小于所述第一空块间隔:
是,则根据所述第一区块头信息生成第一推送信息,并推送给所述第一平行链的平行链节点以供所述第一平行链的平行链节点生成空块。
4.根据权利要求2所述的方法,其特征在于,所述第一推送信息包括所述第一主链区块的第一区块高度,以供所述第一平行链节点接收所述第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于所述第一区块高度:
是,则删除所述第一区块高度至所述第二区块高度的所有主链区块对应的平行链区块;以及,
根据所述第一推送信息生成第一平行链区块。
5.根据权利要求2所述的方法,其特征在于,还包括:
监测在预配置的超时时长内是否接收到所述第一平行链节点返回的所述第一推送信息的确收信息:
否,则将所述第一平行链节点的重发次数加一;以及,
判断所述重发次数是否不小于预配置的第一阈值:
否,则返回所述监测在预配置的超时时长内是否接收到所述第一平行链节点返回的所述第一推送信息的确收信息;
是,则删除所述第一平行链节点的注册信息。
6.根据权利要求1所述的方法,其特征在于,所述在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点包括:
接收成功挖矿的主链节点广播的第一主链区块;其中,所述第一主链区块由成功挖矿的主链节点响应于挖矿成功,拉取若干第一交易,依次判断所拉取的各第一交易是否平行链交易:是,则将所述第一交易加入所属平行链的第一队列;否,则将所述第一交易加入主链的第二队列;根据各所述第一推送信息和所述第二推送信息生成;
根据所述第一主链区块的各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点。
7.根据权利要求6所述的方法,其特征在于,所述注册信息还包括第一平行链的第一空块间隔,所述根据各平行链的第一队列分别生成第一推送信息并推送给相对应的各第一平行链节点包括:
判断第一平行链的第一队列是否为空:
否,则根据所述第一平行链的第一队列和所述第一主链区块的第一区块头信息生成第一推送信息,并推送给所述第一平行链的平行链节点;
是,则判断不包括第一平行链的平行链交易的主链区块的连续数量是否不小于所述第一空块间隔:
是,则根据所述第一区块头信息生成第一推送信息,并推送给所述第一平行链的平行链节点以供所述第一平行链的平行链节点生成空块。
8.根据权利要求6所述的方法,其特征在于,所述第一推送信息包括所述第一主链区块的第一区块高度,以供所述第一平行链节点接收所述第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于所述第一区块高度:
是,则删除所述第一区块高度至所述第二区块高度的所有主链区块对应的平行链区块;以及,
根据所述第一推送信息生成第一平行链区块。
9.根据权利要求6所述的方法,其特征在于,还包括:
监测在预配置的超时时长内是否接收到所述第一平行链节点返回的所述第一推送信息的确收信息:
否,则将所述第一平行链节点的重发次数加一;以及,
判断所述重发次数是否不小于预配置的第一阈值:
否,则返回所述监测在预配置的超时时长内是否接收到所述第一平行链节点返回的所述第一推送信息的确收信息;
是,则删除所述第一平行链节点的注册信息。
10.根据权利要求1所述的方法,其特征在于,所述在第一主链区块共识成功后,将各第一推送信息推送给相对应的各第一平行链节点包括:
拉取并打包若干第一交易生成第一主链区块;
根据所述第一主链区块的区块头信息生成各待推送的平行链的第一推送信息;
依次判断各所述第一交易是否平行链交易:是,则将所述第一交易加入所属平行链的第一推送信息;
将各平行链的第一推送信息推送给相对应的各第一平行链节点。
11.根据权利要求10所述的方法,其特征在于,所述注册信息还包括第一平行链的第一空块间隔,所述方法还包括:
监测是否有连续第一空块间隔个主链区块不包括第一平行链的平行链交易:
是,则生成通知所述第一平行链的平行链节点生成空块的第一通知信息;以及,
将所述第一通知信息推送给所述第一平行链的平行链节点。
12.根据权利要求10所述的方法,其特征在于,所述第一推送信息包括所述第一主链区块的第一区块高度,以供所述第一平行链节点接收所述第一推送信息,判断当前平行链的最新平行链区块对应的主链区块的第二区块高度是否大于所述第一区块高度:
是,则删除所述第一区块高度至所述第二区块高度的所有主链区块对应的平行链区块;以及,
根据所述第一推送信息生成第一平行链区块。
13.根据权利要求10所述的方法,其特征在于,还包括:
监测在预配置的超时时长内是否接收到所述第一平行链节点返回的所述第一推送信息的确收信息:
否,则将所述第一平行链节点的重发次数加一;以及,
判断所述重发次数是否不小于预配置的第一阈值:
否,则返回所述监测在预配置的超时时长内是否接收到所述第一平行链节点返回的所述第一推送信息的确收信息;
是,则删除所述第一平行链节点的注册信息。
14.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-13中任一项所述的方法。
15.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一项所述的方法。
CN201910789017.2A 2019-08-26 2019-08-26 平行链交易推送方法、设备和存储介质 Active CN110516150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910789017.2A CN110516150B (zh) 2019-08-26 2019-08-26 平行链交易推送方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910789017.2A CN110516150B (zh) 2019-08-26 2019-08-26 平行链交易推送方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110516150A true CN110516150A (zh) 2019-11-29
CN110516150B CN110516150B (zh) 2021-12-10

Family

ID=68626793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910789017.2A Active CN110516150B (zh) 2019-08-26 2019-08-26 平行链交易推送方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110516150B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008249A (zh) * 2019-12-04 2020-04-14 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111249739A (zh) * 2020-02-18 2020-06-09 杭州复杂美科技有限公司 主链节点选择方法、游戏结果展示方法、设备和存储介质
CN111275437A (zh) * 2020-01-12 2020-06-12 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111432027A (zh) * 2020-04-14 2020-07-17 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN112804322A (zh) * 2021-01-11 2021-05-14 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质
CN112839091A (zh) * 2021-01-11 2021-05-25 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271446A (zh) * 2018-08-30 2019-01-25 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
CN109410045A (zh) * 2018-08-30 2019-03-01 杭州复杂美科技有限公司 一种平行链共识方法、设备和存储介质
US20190081793A1 (en) * 2017-09-12 2019-03-14 Kadena, LLC Parallel-chain architecture for blockchain systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081793A1 (en) * 2017-09-12 2019-03-14 Kadena, LLC Parallel-chain architecture for blockchain systems
CN109271446A (zh) * 2018-08-30 2019-01-25 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
CN109410045A (zh) * 2018-08-30 2019-03-01 杭州复杂美科技有限公司 一种平行链共识方法、设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEIXIN_43829193: "多链架构设计必读:平行链节点如何快速发现主链数据被篡改?", 《HTTPS://BLOG.CSDN.NET/WEIXIN_43829193/ARTICLE/DETAILS/93378447》 *
ZCSMY4: "什么是平行链,和主链之间又有什么关系?", 《HTTPS://WWW.CHAINNODE.COM/POST/250884》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008249A (zh) * 2019-12-04 2020-04-14 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111008249B (zh) * 2019-12-04 2023-04-07 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111275437A (zh) * 2020-01-12 2020-06-12 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111275437B (zh) * 2020-01-12 2023-05-30 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111249739A (zh) * 2020-02-18 2020-06-09 杭州复杂美科技有限公司 主链节点选择方法、游戏结果展示方法、设备和存储介质
CN111249739B (zh) * 2020-02-18 2023-04-07 杭州复杂美科技有限公司 主链节点选择方法、游戏结果展示方法、设备和存储介质
CN111432027A (zh) * 2020-04-14 2020-07-17 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN111432027B (zh) * 2020-04-14 2023-04-14 杭州复杂美科技有限公司 平行链区块同步方法、设备和存储介质
CN112804322A (zh) * 2021-01-11 2021-05-14 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质
CN112839091A (zh) * 2021-01-11 2021-05-25 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质
CN112839091B (zh) * 2021-01-11 2022-06-24 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质
CN112804322B (zh) * 2021-01-11 2022-06-28 杭州复杂美科技有限公司 区块生成方法、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110516150B (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
CN110516150A (zh) 平行链交易推送方法、设备和存储介质
Juan et al. The SR-GCWS hybrid algorithm for solving the capacitated vehicle routing problem
CN103327003B (zh) 用于面向服务的系统的服务等级协议转换
CN101256516B (zh) 网格环境中的数据分布和任务实例
Lamas et al. A purely proactive scheduling procedure for the resource-constrained project scheduling problem with stochastic activity durations
CN101799809B (zh) 数据挖掘方法和数据挖掘系统
RU2455683C2 (ru) Информационные системы рчид, использующие коммерческое приложение
CN109933592A (zh) 数据存储方法、数据回滚方法、设备和存储介质
US20220122010A1 (en) Long-short field memory networks
US8543903B2 (en) System and method of integrating a plurality of form related workflow tools
Tavares et al. The risk of delay of a project in terms of the morphology of its network
CN102567840A (zh) 基于混合任务板和关键路径方法的项目管理应用界面
CN108446317B (zh) 一种房产交易可视化数据同步方法及装置
CN110392121A (zh) 平行链区块生成方法、设备和存储介质
CN109003027A (zh) 一种画像标签的管理方法及系统
CN110287196A (zh) 区块存储方法、平行链交易获取方法、设备和存储介质
CN109687953A (zh) 交易分类方法、设备和存储介质
CN110210972A (zh) 共识交易发送方法、设备和存储介质
Paneque et al. A Lagrangian decomposition scheme for choice-based optimization
CN110287263A (zh) 平行链自共识方法、设备和存储介质
CN110490734A (zh) 交易组构建、广播方法和系统、设备及存储介质
CN117350677A (zh) 融合业务计划助手的业务计划平台及其应用方法
Mayes et al. Asymmetry and Aggregation in the EU
CN110298756A (zh) 平行链自共识方法、设备和存储介质
JP6899340B2 (ja) 業務プロセス設計支援方法及び業務プロセス設計支援装置

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191129

Assignee: Hangzhou left chain Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000092

Denomination of invention: Parallel chain transaction push method, equipment and storage medium

Granted publication date: 20211210

License type: Common License

Record date: 20220516

Application publication date: 20191129

Assignee: Hangzhou Kulian Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000091

Denomination of invention: Parallel chain transaction push method, equipment and storage medium

Granted publication date: 20211210

License type: Common License

Record date: 20220516

Application publication date: 20191129

Assignee: Hangzhou DUOLIAN Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000090

Denomination of invention: Parallel chain transaction push method, equipment and storage medium

Granted publication date: 20211210

License type: Common License

Record date: 20220516