CN110516006B - 平行链区块生成方法、设备和存储介质 - Google Patents

平行链区块生成方法、设备和存储介质 Download PDF

Info

Publication number
CN110516006B
CN110516006B CN201910788998.9A CN201910788998A CN110516006B CN 110516006 B CN110516006 B CN 110516006B CN 201910788998 A CN201910788998 A CN 201910788998A CN 110516006 B CN110516006 B CN 110516006B
Authority
CN
China
Prior art keywords
parallel chain
block
chain block
temporary
queue
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
Application number
CN201910788998.9A
Other languages
English (en)
Other versions
CN110516006A (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 CN201910788998.9A priority Critical patent/CN110516006B/zh
Publication of CN110516006A publication Critical patent/CN110516006A/zh
Application granted granted Critical
Publication of CN110516006B publication Critical patent/CN110516006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种平行链区块生成方法、设备和存储介质,该方法包括,并行执行以下两个步骤:接收主链节点发送的第一主链区块的第一区块数据,根据第一区块数据更新临时平行链区块队列并存入本地数据库;其中,第一区块数据包括第一主链区块的第一区块头信息,第一区块头信息包括第一主链区块的第一父哈希;从本地数据库读取临时平行链区块队列的临时平行链区块以生成平行链区块并执行。本申请加强了区块链系统的灵活性、可扩展性和健壮性。

Description

平行链区块生成方法、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种平行链区块生成方法、设备和存储介质。
背景技术
在申请人所提出的平行链机制(具体可参考申请人所申请的各项平行链专利文本)中,平行链节点必须串行的执行接收区块数据和执行平行链区块,即,平行链接收到一个主链区块(假设该主链区块包含当前平行链的平行链交易)的区块数据后,筛选当前平行链的平行链交易生成平行链区块,执行所生成的平行链区块后,再接收下一个主链区块的区块数据,如此循环。
在上述机制的平行链节点处理主链分叉回滚的场景中,当前的主链-平行链机制,平行链节点需要完全复现主链节点的回滚场景,区块链系统不够灵活,不易于扩展。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种灵活性强、易于扩展的平行链区块生成方法、设备和存储介质。
第一方面,本发明提供一种适用于平行链节点的平行链区块生成方法,上述方法包括,并行执行以下两个步骤:
接收主链节点发送的第一主链区块的第一区块数据,根据第一区块数据更新临时平行链区块队列并存入本地数据库;其中,第一区块数据包括第一主链区块的第一区块头信息,第一区块头信息包括第一主链区块的第一父哈希;
从本地数据库读取临时平行链区块队列的临时平行链区块以生成平行链区块并执行。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的平行链区块生成方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的平行链区块生成方法。
本发明诸多实施例提供的平行链区块生成方法、设备和存储介质通过并行执行以下两个步骤:接收主链节点发送的第一主链区块的第一区块数据,根据第一区块数据更新临时平行链区块队列并存入本地数据库;其中,第一区块数据包括第一主链区块的第一区块头信息,第一区块头信息包括第一主链区块的第一父哈希;从本地数据库读取临时平行链区块队列的临时平行链区块以生成平行链区块并执行的方法,加强了区块链系统的灵活性、可扩展性和健壮性;
本发明一些实施例提供的平行链区块生成方法、设备和存储介质进一步通过获取当前平行链的第一平行链区块高度;判断第一平行链区块高度与预配置的第一阈值的余数是否为0:是,则计算第一平行链区块高度与预配置的第一阈值之差获得第二平行链区块高度;以及,删除临时平行链区块队列中第二平行链区块高度之前的临时平行链区块的方法,删除本地数据库中的部分临时平行链区块,提高本地数据库的查询效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种平行链区块生成方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S12的流程图。
图3为图1所示方法的一种优选实施方式的流程图。
图4为图1所示方法的另一种优选实施方式中步骤S12的流程图。
图5为图1所示方法的一种优选实施方式中步骤S13的流程图。
图6为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种平行链区块生成方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于平行链节点的平行链区块生成方法,上述方法包括,并行执行以下两个步骤:
S12:接收主链节点发送的第一主链区块的第一区块数据,根据第一区块数据更新临时平行链区块队列并存入本地数据库;其中,第一区块数据包括第一主链区块的第一区块头信息,第一区块头信息包括第一主链区块的第一父哈希;
S13:从本地数据库读取临时平行链区块队列的临时平行链区块以生成平行链区块并执行。
在申请人所提出的平行链机制(具体可参考申请人所申请的各项平行链专利文本)中,平行链接收到一个主链区块(假设该主链区块包含当前平行链的平行链交易)的区块数据后,筛选当前平行链的平行链交易生成平行链区块,执行所生成的平行链区块后,再接收下一个主链区块。
申请人起初这样设计的理由是,平行链节点必须串行的执行接收区块数据和执行平行链区块(假设每个主链区块中都存在平行链节点所属平行链的平行链交易),即,平行链节点必须先根据区块高度为100的主链区块(block(100))的区块数据生成平行链区块并执行,再根据区块高度为101的主链区块(block(101))的区块数据生成平行链区块并执行;
如果平行链节点先读取到block(101),根据block(101)的区块数据生成平行链区块并执行,这样会导致该平行链节点生成的平行链与其它平行链节点生成的平行链不同;为保证不同平行链节点生成的平行链相同,即使该平行链节点先读取到block(101),也只能在完成“先根据block(100)的区块数据生成平行链区块并执行”步骤后,再执行“根据block(101)的区块数据生成平行链区块并执行”步骤;在这种情况下,设计成并行执行不仅不会提高cpu资源利用率,还会造成浪费空间去存放block(101)的问题;
考虑到平行链节点处理主链分叉回滚的场景,当前的主链-平行链机制,平行链节点需要完全复现主链节点的回滚场景,即,主链节点生成block(100),生成block(101),回滚block(101),生成block(101)';平行链节点也要根据block(100)生成平行链区块,根据block(101)生成平行链区块,回滚block(101)所对应生成的平行链区块,根据block(101)'生成平行链区块;
申请人考虑到,若平行链节点在执行根据block(100)生成平行链区块时,主链节点已经执行完“生成block(101),回滚block(101),生成block(101)'”步骤,此时,平行链节点无需完全复现主链节点的回滚场景,直接根据block(101)'生成平行链区块,这样的机制更加灵活且可扩展,因此,申请人提供了本申请的并行执行的平行链区块生成方法。
具体地,线程一与线程二并行执行;
在线程一中执行步骤S12,平行链节点接收主链节点发送的第一主链区块的第一区块数据,根据第一区块数据更新临时平行链区块队列并存入本地数据库;其中,第一区块数据包括第一主链区块的第一区块头信息,第一区块头信息包括第一主链区块的第一父哈希;
在线程二中执行步骤S13,平行链节点从本地数据库读取临时平行链区块队列的临时平行链区块以生成平行链区块并执行。
在更多实施例中,临时平行链区块队列还可以被存储到内存中,提高平行链节点从内存中读取临时平行链区块队列中的临时平行链区块的读取效率,但是,临时平行链区块队列仍然需存入本地数据库以防宕机丢失内存数据。
上述实施例加强了区块链系统的灵活性、健壮性和可扩展性。
图2为图1所示方法的一种优选实施方式中步骤S12的流程图。如图2所示,在一优选实施例中,步骤S12包括:
S120:接收主链节点发送的第一主链区块的第一区块数据,判断第一区块数据中是否包含当前平行链的平行链交易:
是,则执行步骤S121:根据第一区块数据生成第一临时平行链区块,根据第一临时平行链区块和第一区块头信息更新临时平行链区块队列并存入本地数据库;
否,则执行步骤S122:根据第一区块头信息更新临时平行链区块队列并存入本地数据库。
上述实施例的第一区块数据包括第一主链区块的所有交易,因此平行链节点在接收主链节点发送的第一主链区块的第一区块数据时,需要通过判断第一区块数据中是否包含当前平行链的平行链交易来筛选出当前平行链的平行链交易;
在更多实施例中,还可以由主链节点一开始就将当前平行链的平行链交易筛选出来并发送到当前平行链节点(即,第一区块数据包括第一主链区块中当前平行链的平行链交易,且若第一主链区块中没有当前平行链的平行链交易,第一区块数据为空),此时,平行链节点只需判断第一区块数据是否为空:否,则根据第一区块数据生成第一临时平行链区块,根据第一临时平行链区块和第一区块头信息更新临时平行链区块队列并存入本地数据库;是,则根据第一区块头信息更新临时平行链区块队列并存入本地数据库;可实现相同的技术效果。
图3为图1所示方法的一种优选实施方式的流程图。如图3所示,在一优选实施例中,上述方法还包括:
S14:获取当前平行链的第一平行链区块高度;
S15:判断第一平行链区块高度与预配置的第一阈值的余数是否为0:
是,则执行步骤S16:计算第一平行链区块高度与预配置的第一阈值之差获得第二平行链区块高度;以及,
S17:删除临时平行链区块队列中第二平行链区块高度之前的临时平行链区块。
具体地,假设第一阈值为1000,当前平行链的第一平行链区块高度为3000;
在步骤S14中,平行链节点获取当前平行链的第一平行链区块高度;
在步骤S15中,平行链节点判断第一平行链区块高度与预配置的第一阈值的余数是否为0:
由于第一平行链区块高度为3000,预配置的第一阈值为1000,3000与1000的余数为0,则执行步骤S16:平行链节点计算第一平行链区块高度与预配置的第一阈值之差获得第二平行链区块高度,即,第二平行链区块高度为2000;以及,
在步骤S17中,平行链节点删除临时平行链区块队列中区块高度为2000之前的临时平行链区块。
在更多实施例中,还可以根据实际需求将第一阈值配置为其它数值,例如,配置为500,可实现相同的技术效果。
在更多实施例中,还可以根据实际需求将余数配置为其它数值,例如,配置为1,即,判断第一平行链区块高度与预配置的第一阈值的余数是否为1,可实现相同的技术效果。
在更多实施例中,还可以根据实际需求配置删除本地数据库中较旧的临时平行链区块的方法,可实现相同的技术效果。例如配置为:获取当前平行链的第一平行链区块高度;根据第一平行链区块高度与预配置的第一阈值计算第二平行链区块高度;删除临时平行链区块队列中第二平行链区块高度之前的所有临时平行链区块。
删除本地数据库中较旧的临时平行链区块可以节省本地数据库的存储空间,但在平行链节点经过负载均衡服务器切换所连接主链节点,平行链节点的最新平行链区块的区块高度与新的主链节点的临时平行链区块队列中最新临时平行链区块的区块高度之差超过第一阈值的场景下;或,在主链回滚超过第一阈值数量个区块的场景下,平行链节点无法从临时平行链区块队列中读取临时平行链区块以生成平行链区块。此时,平行链节点向前遍历主链区块,直至查找到第三主链区块;其中,第三主链区块的第三父哈希与临时平行链区块队列中的第三临时平行链区块对应的主链区块的区块哈希相同,平行链节点删除临时平行链区块队列中第三临时平行链区块后的所有临时平行链区块;以及,根据第三主链区块的区块数据更新临时平行链区块队列,并存入本地数据库。
上述实施例删除本地数据库中的部分临时平行链区块,提高本地数据库的查询效率。
图4为图1所示方法的另一种优选实施方式中步骤S12的流程图。如图4所示,在另一优选实施例中,步骤S12包括:
S123:接收主链节点发送的第一主链区块的第一区块数据;
S124:验证临时平行链区块队列中最新临时平行链区块对应的主链区块的区块哈希与第一父哈希是否相同:
是:则执行步骤S125:根据第一区块数据生成临时平行链区块以更新临时平行链区块队列并存入本地数据库;
否,则执行步骤S126:向前遍历主链区块,直至查找到第二主链区块;其中,第二主链区块的第二父哈希与临时平行链区块队列中的第二临时平行链区块对应的主链区块的区块哈希相同;以及,
S127:删除临时平行链区块队列中第二临时平行链区块后的所有临时平行链区块;以及,
S128:根据第二主链区块的区块数据更新临时平行链区块队列,并存入本地数据库。
假设有第一应用场景,第一应用场景如下:
当平行链节点a所连接的主链节点A宕机时,a通过负载均衡服务器连接到新的主链节点B,此时,平行链节点临时平行链区块队列中最新临时平行链区块对应的主链区块的区块哈希blockhash(100)可能与新的主链节点的第一主链区块的第一父哈希parenthash(101)'不同;如果此时a直接根据B的第一主链区块的第一区块数据更新临时平行链区块队列,则所更新的平行链区块队列出错;
针对第一应用场景所产生的问题,可以通过步骤S123至步骤S128解决;
假设blockhash(100)与parenthash(101)'相同:
在步骤S123中,a接收B发送的第一主链区块的第一区块数据;
在步骤S124中,a验证临时平行链区块队列中最新临时平行链区块对应的主链区块的区块哈希blockhash(100)与第一父哈希parenthash(101)'是否相同:
由于blockhash(100)与parenthash(101)'相同,则执行步骤S125,a根据第一区块数据生成临时平行链区块以更新临时平行链区块队列并存入本地数据库;
假设blockhash(100)与parenthash(101)'不同:
在步骤S123中,a接收B发送的第一主链区块的第一区块数据;
在步骤S124中,a验证临时平行链区块队列中最新临时平行链区块对应的主链区块的区块哈希blockhash(100)与第一父哈希parenthash(101)'是否相同:
由于blockhash(100)与parenthash(101)'不同,则执行步骤S126,a向前遍历主链区块,直至查找到第二主链区块;其中,第二主链区块的第二父哈希与临时平行链区块队列中的第二临时平行链区块对应的主链区块的区块哈希相同;以及,
在步骤S127中,a删除临时平行链区块队列中第二临时平行链区块后的所有临时平行链区块;以及,
在步骤S128中,a根据第二主链区块的区块数据更新临时平行链区块队列,并存入本地数据库。
图5为图1所示方法的一种优选实施方式中步骤S13的流程图。如图5所示,在一优选实施例中,步骤S13包括:
S132:验证所读取的第三临时平行链区块的第三父哈希与当前平行链的最新平行链区块的区块哈希是否相同:
是,则执行步骤S133:根据第三临时平行链区块生成平行链区块并执行;
否,则执行步骤S134:向前遍历临时平行链区块队列中的临时平行链区块,直至找到第四临时平行链区块;其中,第四临时平行链区块的父哈希与当前平行链中的第一平行链区块的区块哈希相同;以及,
S135:删除根据第一平行链区块后的所有平行链区块;以及,
S136:根据第四临时平行链区块生成平行链区块并执行。
假设有第二应用场景,第二应用场景如下:
平行链节点a从本地数据库读取临时平行链区块队列的临时平行链区块,当a所读取的第三临时平行链区块的第三父哈希parenthash(21_平_临)与当前平行链的最新平行链区块的区块哈希blockhash(20_平)不相同时,若直接根据第三临时平行链区块生成平行链区块,则生成的平行链区块出错;
针对第二应用场景所产生的问题,可以通过步骤S132至步骤S136解决;
假设parenthash(21_平_临)与blockhash(20_平)相同;
在步骤S132中,a验证所读取的第三临时平行链区块的第三父哈希parenthash(21_平_临)与当前平行链的最新平行链区块的区块哈希blockhash(20_平)是否相同:
由于parenthash(21_平_临)与blockhash(20_平)相同,则执行步骤S133:根据第三临时平行链区块生成平行链区块并执行;
假设parenthash(21_平_临)与blockhash(20_平)不同;
在步骤S132中,a验证所读取的第三临时平行链区块的第三父哈希parenthash(21_平_临)与当前平行链的最新平行链区块的区块哈希blockhash(20_平)是否相同:
由于parenthash(21_平_临)与blockhash(20_平)不同,则执行步骤S134:a向前遍历临时平行链区块队列中的临时平行链区块,直至找到第四临时平行链区块;其中,第四临时平行链区块的父哈希与当前平行链中的第一平行链区块的区块哈希相同;以及,
在步骤S135中,a删除根据第一平行链区块后的所有平行链区块;
以及,
在步骤S136中,a根据第四临时平行链区块生成平行链区块并执行。
图6为本发明一实施例提供的一种设备的结构示意图。
如图6所示,作为另一方面,本申请还提供了一种设备600,包括一个或多个中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有设备600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上述任一实施例描述的平行链区块生成方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行平行链区块生成方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的平行链区块生成方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (7)

1.一种平行链区块生成方法,其特征在于,适用于平行链节点,所述方法包括,并行执行以下两个步骤:
接收主链节点发送的第一主链区块的第一区块数据,根据所述第一区块数据更新临时平行链区块队列并存入本地数据库;其中,所述第一区块数据包括所述第一主链区块的第一区块头信息,所述第一区块头信息包括所述第一主链区块的第一父哈希;
从所述本地数据库读取所述临时平行链区块队列的临时平行链区块以生成平行链区块并执行。
2.根据权利要求1所述的方法,其特征在于,所述接收主链节点发送的第一主链区块的第一区块数据,根据所述第一区块数据更新临时平行链区块队列并存入本地数据库包括:
接收主链节点发送的第一主链区块的第一区块数据,判断所述第一区块数据中是否包含当前平行链的平行链交易:
是,则根据所述第一区块数据生成第一临时平行链区块,根据所述第一临时平行链区块和所述第一区块头信息更新临时平行链区块队列并存入本地数据库;
否,则根据所述第一区块头信息更新临时平行链区块队列并存入本地数据库。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
获取当前平行链的第一平行链区块高度;
判断所述第一平行链区块高度与预配置的第一阈值的余数是否为0:
是,则计算所述第一平行链区块高度与预配置的第一阈值之差获得第二平行链区块高度;以及,
删除所述临时平行链区块队列中所述第二平行链区块高度之前的临时平行链区块。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一区块数据更新临时平行链区块队列并存入本地数据库包括:
验证所述临时平行链区块队列中最新临时平行链区块对应的主链区块的区块哈希与所述第一父哈希是否相同:
是:则根据所述第一区块数据生成临时平行链区块以更新临时平行链区块队列并存入本地数据库;
否,则向前遍历主链区块,直至查找到第二主链区块;其中,所述第二主链区块的第二父哈希与所述临时平行链区块队列中的第二临时平行链区块对应的主链区块的区块哈希相同;以及,
删除所述临时平行链区块队列中所述第二临时平行链区块后的所有临时平行链区块;以及,
根据所述第二主链区块的区块数据更新临时平行链区块队列,并存入本地数据库。
5.根据权利要求1所述的方法,其特征在于,所述从所述本地数据库读取所述临时平行链区块队列的临时平行链区块以生成平行链区块并执行包括:
验证所读取的第三临时平行链区块的第三父哈希与当前平行链的最新平行链区块的区块哈希是否相同:
是,则根据所述第三临时平行链区块生成平行链区块并执行;
否,则向前遍历所述临时平行链区块队列中的临时平行链区块,直至找到第四临时平行链区块;其中,所述第四临时平行链区块的父哈希与当前平行链中的第一平行链区块的区块哈希相同;以及,
删除根据所述第一平行链区块后的所有平行链区块;以及,
根据所述第四临时平行链区块生成平行链区块并执行。
6.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-5中任一项所述的方法。
7.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
CN201910788998.9A 2019-08-26 2019-08-26 平行链区块生成方法、设备和存储介质 Active CN110516006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910788998.9A CN110516006B (zh) 2019-08-26 2019-08-26 平行链区块生成方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910788998.9A CN110516006B (zh) 2019-08-26 2019-08-26 平行链区块生成方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110516006A CN110516006A (zh) 2019-11-29
CN110516006B true CN110516006B (zh) 2021-10-01

Family

ID=68626781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910788998.9A Active CN110516006B (zh) 2019-08-26 2019-08-26 平行链区块生成方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110516006B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475572B (zh) * 2020-04-02 2023-08-29 百度国际科技(深圳)有限公司 区块生成方法、装置、设备和介质
CN111796845B (zh) * 2020-07-03 2022-05-24 杭州复杂美科技有限公司 数据库升级方法、状态数据查询方法、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109410045A (zh) * 2018-08-30 2019-03-01 杭州复杂美科技有限公司 一种平行链共识方法、设备和存储介质
CN109587271A (zh) * 2018-12-29 2019-04-05 杭州复杂美科技有限公司 主链平行链架构系统及区块同步方法、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938567B2 (en) * 2017-09-12 2021-03-02 Kadena Llc Parallel-chain architecture for blockchain systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109410045A (zh) * 2018-08-30 2019-03-01 杭州复杂美科技有限公司 一种平行链共识方法、设备和存储介质
CN109587271A (zh) * 2018-12-29 2019-04-05 杭州复杂美科技有限公司 主链平行链架构系统及区块同步方法、设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
什么是平行链,和主链之间又有什么关系?;zcsmy4;《https://www.chainnode.com/post/250884》;20181124;1 *
多链架构设计必读:平行链节点如何快速发现主链数据被篡改?;weixin_43829193;《https://blog.csdn.net/weixin_43829193/article/details/93378447》;20190623;1 *

Also Published As

Publication number Publication date
CN110516006A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
CN110113408B (zh) 一种区块同步方法、设备和存储介质
CN110392121B (zh) 平行链区块生成方法、设备和存储介质
CN108984662B (zh) 一种区块链数据同步方法
CN109587271B (zh) 主链平行链架构系统及区块同步方法、设备和存储介质
US9672244B2 (en) Efficient undo-processing during data redistribution
CN111737230B (zh) 数据校验方法、装置、电子设备以及可读存储介质
CN110287170B (zh) 数据库升级方法、状态数据调用方法、设备和存储介质
CN110083745B (zh) 数据查询方法、设备和存储介质
CN110516006B (zh) 平行链区块生成方法、设备和存储介质
CN110796549B (zh) 交易方法、设备和存储介质
CN110837505A (zh) 状态数据存储方法、状态数据同步方法、设备和存储介质
CN111259074A (zh) 区块同步方法、设备和存储介质
CN111611319A (zh) 分布式数据存储方法、设备和存储介质
CN111625592A (zh) 分布式数据库的负载均衡方法和装置
CN110445843B (zh) 平行链区块推送方法、设备和存储介质
CN107463390B (zh) 一种软件升级方法及升级服务器
CN110210972B (zh) 共识交易发送方法、设备和存储介质
CN111008249A (zh) 平行链区块同步方法、设备和存储介质
CN112187765B (zh) 一种区块链中选择目标节点的方法及装置
CN111405037A (zh) 区块同步方法、设备和存储介质
CN113626054A (zh) 一种业务服务更新方法及装置
CN116627659B (zh) 模型检查点文件保存方法、装置、设备及存储介质
CN115221552A (zh) 跨链安全保障方法、计算机设备和存储介质
CN111447092A (zh) 版本监测方法、设备和存储介质
CN110535922B (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
EE01 Entry into force of recordation of patent licensing contract

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 block generation method, device and storage medium

Granted publication date: 20211001

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 block generation method, device and storage medium

Granted publication date: 20211001

License type: Common License

Record date: 20220516

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 block generation method, device and storage medium

Granted publication date: 20211001

License type: Common License

Record date: 20220516

EE01 Entry into force of recordation of patent licensing contract