CN110535922B - 状态数据存储方法和平行链区块生成方法 - Google Patents

状态数据存储方法和平行链区块生成方法 Download PDF

Info

Publication number
CN110535922B
CN110535922B CN201910755471.6A CN201910755471A CN110535922B CN 110535922 B CN110535922 B CN 110535922B CN 201910755471 A CN201910755471 A CN 201910755471A CN 110535922 B CN110535922 B CN 110535922B
Authority
CN
China
Prior art keywords
block
parallel chain
parallel
chain
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
Application number
CN201910755471.6A
Other languages
English (en)
Other versions
CN110535922A (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 CN201910755471.6A priority Critical patent/CN110535922B/zh
Publication of CN110535922A publication Critical patent/CN110535922A/zh
Application granted granted Critical
Publication of CN110535922B publication Critical patent/CN110535922B/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/22Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种状态数据存储方法、平行链区块生成方法、平行链区块同步方法、设备和存储介质,该方法包括:在第一平行链区块的平行链共识成功时,生成第一索引信息并存入状态数据库;其中,第一索引信息用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一区块哈希,以供平行链节点根据待生成的第二平行链区块的平行链名称和平行链区块高度查询待生成的第二平行链区块所对应的第二主链区块的第二区块哈希,以及,根据第二区块哈希查询第二主链区块,并根据第二主链区块的第一区块数据生成第二平行链区块;本发明节省带宽、降低平行链节点生成平行链区块的耗时时长。

Description

状态数据存储方法和平行链区块生成方法
技术领域
本申请涉及区块链技术领域,具体涉及一种状态数据存储方法和平行链区块生成方法。
背景技术
在申请人所提出的平行链机制(具体可参考申请人所申请的各项平行链专利文本)中,平行链节点需要通过遍历每一个主链区块获取所有本平行链的平行链交易从而生成平行链区块;而实际上并不是每一个主链区块都拥有本平行链的平行链交易,上述机制浪费带宽,且将耗费较长时间生成平行链区块。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种节省带宽、降低平行链节点生成平行链区块的耗时时长的状态数据存储方法、平行链区块生成方法、平行链区块同步方法、设备和存储介质。
第一方面,本发明提供一种适用于主链节点的状态数据存储方法,包括:
在第一平行链区块的平行链共识成功时,生成第一索引信息并存入状态数据库;其中,第一索引信息用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一区块哈希,以供平行链节点根据待生成的第二平行链区块的平行链名称和平行链区块高度查询待生成的第二平行链区块所对应的第二主链区块的第二区块哈希,以及,根据第二区块哈希查询第二主链区块,并根据第二主链区块的第一区块数据生成第二平行链区块。
优选地,第一键值对的值还包括第一主链区块的第一主链区块高度;其中,第一键值对用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一主链区块高度,以供平行链节点根据待生成的第三平行链区块的平行链名称和平行链区块高度查询待生成的第三平行链区块所对应的第三主链区块的第二主链区块高度,以及,根据第二主链区块高度查询第三主链区块,并根据第三主链区块的第二区块数据生成第三平行链区块。
第二方面,本发明提供一种适用于平行链节点的平行链区块生成方法,包括:
根据待生成的第二平行链区块的平行链名称和平行链区块高度生成第一查询请求信息;
向主链节点发送第一查询请求信息,以供主链节点根据第二平行链区块的平行链名称和平行链区块高度,以及,根据上述第一方面的状态数据存储方法所存储的索引信息查找出第二平行链区块所对应的第二主链区块的第二区块哈希,并返回第二区块哈希;
接收第二区块哈希,根据第二区块哈希生成第二查询请求信息;
向主链节点发送第二查询请求信息,以供主链节点根据第二区块哈希查找出第二主链区块,并根据第二主链区块返回第一区块数据;
接收第一区块数据,根据第一区块数据生成第二平行链区块。
第三方面,本发明提供一种适用于平行链节点的平行链区块同步方法,包括:
确定当前节点待同步的第一区块高度;
确定当前平行链在当前时刻已成功完成平行链共识的第二区块高度;
根据上述第二方面的平行链区块生成方法依次生成第一区块高度至第二区块高度的各平行链区块。
第四方面,本发明提供一种适用于平行链节点的平行链区块生成方法,包括:
根据待生成的第三平行链区块的平行链名称和平行链区块高度生成第三查询请求信息;
向主链节点发送第三查询请求信息,以供主链节点根据第三平行链区块的平行链名称和平行链区块高度,以及,根据上述第一方面的优选方式的状态数据存储方法所存储的索引信息查找出第三平行链区块所对应的第三主链区块的第二主链区块高度;
接收第二主链区块高度,根据第二主链区块高度生成第四查询请求信息;
向主链节点发送第四查询请求信息,以供主链节点根据第二主链区块高度查找出第三主链区块,并根据第三主链区块返回第二区块数据;
接收第二区块数据,根据第二区块数据生成第三平行链区块。
第五方面,本发明提供一种适用于平行链节点的平行链区块同步方法,包括:
确定当前节点待同步的第三区块高度;
确定当前平行链在当前时刻已成功完成平行链共识的第四区块高度;
根据上述第四方面的平行链区块生成方法依次生成第三区块高度至第四区块高度的各平行链区块。
第六方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的状态数据存储方法、平行链区块生成方法和平行链区块同步方法。
第七方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的状态数据存储方法、平行链区块生成方法和平行链区块同步方法。
本发明诸多实施例提供的状态数据存储方法、平行链区块生成方法、平行链区块同步方法、设备和存储介质通过在第一平行链区块的平行链共识成功时,生成第一索引信息并存入状态数据库;其中,第一索引信息用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一区块哈希,以供平行链节点根据待生成的第二平行链区块的平行链名称和平行链区块高度查询待生成的第二平行链区块所对应的第二主链区块的第二区块哈希,以及,根据第二区块哈希查询第二主链区块,并根据第二主链区块的第一区块数据生成第二平行链区块的方法,节省带宽、降低平行链节点生成平行链区块的耗时时长。
本发明一些实施例提供的状态数据存储方法、平行链区块生成方法、平行链区块同步方法、设备和存储介质进一步通过当第二主链区块包括当前平行链的平行链交易时,第一区块数据为第二主链区块中当前平行链的各平行链交易,以及,第二主链区块的区块头信息;根据第一区块数据生成第二平行链区块包括:根据第一区块数据生成第二平行链区块;当第二主链区块不包括当前平行链的平行链交易时,第一区块数据为第二主链区块的区块头信息;根据第一区块数据生成第二平行链区块包括:生成第一平行链空块的方法,进一步节省带宽、降低平行链节点生成平行链区块的耗时时长。
本发明一些实施例提供的状态数据存储方法、平行链区块生成方法、平行链区块同步方法、设备和存储介质进一步通过确定当前节点待同步的第一区块高度;确定当前平行链在当前时刻已成功完成平行链共识的第二区块高度;根据平行链区块生成方法依次生成第一区块高度至第二区块高度的各平行链区块的方法,降低平行链节点同步平行链区块的耗时时长。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种状态数据存储方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S11的流程图。
图3为图2所示方法的一种优选实施方式的流程图。
图4为本发明一实施例提供的一种平行链区块生成方法的流程图。
图5为本发明一实施例提供的一种平行链区块同步方法的流程图。
图6为本发明一实施例提供的另一种平行链区块生成方法的流程图。
图7为本发明一实施例提供的另一种平行链区块同步方法的流程图。
图8为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种状态数据存储方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于主链节点的状态数据存储方法,包括:
S11:在第一平行链区块的平行链共识成功时,生成第一索引信息并存入状态数据库;其中,第一索引信息用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一区块哈希,以供平行链节点根据待生成的第二平行链区块的平行链名称和平行链区块高度查询待生成的第二平行链区块所对应的第二主链区块的第二区块哈希,以及,根据第二区块哈希查询第二主链区块,并根据第二主链区块的第一区块数据生成第二平行链区块。
具体地,假设第一平行链区块为block(h1_p1),其中,第一平行链区块的平行链区块高度为h1,第一平行链区块的平行链名称为p1;第一平行链区块对应的第一主链区块为block(H1),第一主链区块的第一区块哈希为hash(block(H1));主链节点为A,平行链节点为a;第二平行链区块为block(h2_p1),第二平行链区块对应的第二主链区块为block(H2),第二主链区块的第二区块哈希为hash(block(H2));
在步骤S11中,A在block(h1_p1)的平行链共识成功时,生成第一索引信息并存入状态数据库;第一索引信息用于根据p1和h1查询hash(block(H1));a根据待生成的第二平行链区块(block(h2_p1))的平行链名称和平行链区块高度查询待生成的第二平行链区块所对应的第二主链区块的第二区块哈希,即,a根据p1和h2查询hash(block(H2));a根据hash(block(H2))查询第二主链区块block(H2),并根据block(H2)的第一区块数据生成第二平行链区块block(h2_p1)。
上述实施例通过在第一平行链区块的平行链共识成功时,生成第一索引信息并存入状态数据库;其中,第一索引信息用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一区块哈希的方法,存储若干第一索引信息,当平行链节点需要生成平行链区块时,只需要通过各所存储的第一索引信息精确查找到所需的主链区块,根据所查找到的主链区块的区块信息生成平行链区块,节省带宽、降低平行链节点生成平行链区块的耗时时长。
图2为图1所示方法的一种优选实施方式中步骤S11的流程图。如图2所示,在一优选实施例中,步骤S11包括:
S111:根据第一平行链区块的平行链名称和平行链区块高度生成第一键值对的键;
S112:根据第一区块哈希生成第一键值对的值;
S113:将第一键值对存入状态数据库。
具体地,在步骤S111中,A根据第一平行链区块的平行链名称和平行链区块高度生成第一键值对的键,即key:p1+h1;
在步骤S112中,A根据第一区块哈希生成第一键值对的值,即value:hash(block(H1));
即生成的第一键值对为(p1+h1,hash(block(H1)));
在步骤S113中,A将第一键值对(p1+h1,hash(block(H1)))存入状态数据库。
在上述实施例中,使用键值对存储第一索引信息和第一索引信息所引的数据,在更多实施例中,还可以根据实际需求使用关系型数据库模型存储第一索引信息,可实现相同的技术效果。
在更多实施例中,还可以根据实际需求生成第一键值对,例如,根据第一平行链区块的平行链名称和平行链区块高度生成第一键值对的键,根据第一主链区块的父哈希生成第一键值对的值,只要第一键值对可以用于供平行链节点精确查找到所需的主链区块,并根据所查找到的主链区块的区块信息生成平行链区块,可实现相同的技术效果。
图3为图2所示方法的一种优选实施方式的流程图。如图3所示,在一优选实施例中,上述方法还包括:
S114:根据第一平行链区块的平行链名称生成第二键值对的键;
S115:根据第一平行链区块的平行链区块高度生成第二键值对的值;
S116:将第二键值对存入状态数据库。
具体地,在步骤S114中,A根据第一平行链区块的平行链名称生成第二键值对的键,即key:p1;
在步骤S115中,A根据第一平行链区块的平行链区块高度生成第二键值对的值,即value:h1;
即生成的第如二键值对为(p1,h1);
在步骤S116中,A将第二键值对(p1,h1)存入状态数据库。
优选地,第一键值对的值还包括第一主链区块的第一主链区块高度;其中,第一键值对用于根据第一平行链区块的平行链名称和平行链区块高度查找第一平行链区块对应的第一主链区块的第一主链区块高度,以供平行链节点根据待生成的第三平行链区块的平行链名称和平行链区块高度查询待生成的第三平行链区块所对应的第三主链区块的第二主链区块高度,以及,根据第二主链区块高度查询第三主链区块,并根据第三主链区块的第二区块数据生成第三平行链区块。
上述实施例的状态数据存储原理可参考图1所示的方法,此处不再赘述。
在更多实施例中,还可以根据实际需求生成第一键值对的值,例如,根据第一区块哈希、第一主链区块高度、父哈希、第一主链区块中各平行链交易生成第一键值对的值,只要第一键值对的值中包括可以用于供平行链节点精确查找到所需的主链区块的参数,并根据所查找到的主链区块的区块信息生成平行链区块,可实现相同的技术效果。
图4为本发明一实施例提供的一种平行链区块生成方法的流程图。如图4所示,在本实施例中,本发明提供一种适用于平行链节点的平行链区块生成方法,包括:
S21:根据待生成的第二平行链区块的平行链名称和平行链区块高度生成第一查询请求信息;
S22:向主链节点发送第一查询请求信息,以供主链节点根据第二平行链区块的平行链名称和平行链区块高度,以及,根据上述一些实施例提供的状态数据存储方法所存储的索引信息查找出第二平行链区块所对应的第二主链区块的第二区块哈希,并返回第二区块哈希;
S23:接收第二区块哈希,根据第二区块哈希生成第二查询请求信息;
S24:向主链节点发送第二查询请求信息,以供主链节点根据第二区块哈希查找出第二主链区块,并根据第二主链区块返回第一区块数据;
S25:接收第一区块数据,根据第一区块数据生成第二平行链区块。
具体地,主链节点为A,平行链节点为a;第二平行链区块为block(h2_p1),第二平行链区块对应的第二主链区块为block(H2),第二主链区块的第二区块哈希为hash(block(H2));
在步骤S21中,a根据待生成的第二平行链区块block(H2)的平行链名称p1和平行链区块高度h2生成第一查询请求信息;
在步骤S22中,a向A发送第一查询请求信息,A根据第二平行链区块block(H2)的平行链名称p1和平行链区块高度h2,以及,根据图1所示的方法所存储的索引信息查找出第二平行链区块block(h2_p1)所对应的第二主链区块block(H2)的第二区块哈希hash(block(H2)),并返回第二区块哈希hash(block(H2));
在步骤S23中,a接收第二区块哈希hash(block(H2)),根据hash(block(H2))生成第二查询请求信息;
在步骤S24中,a向A发送第二查询请求信息,A根据hash(block(H2))查找出第二主链区块block(H2),并根据第二主链区块block(H2)返回第一区块数据;
在步骤S25中,a接收第一区块数据,根据第一区块数据生成第二平行链区块block(h2_p1)。
优选地,第一区块数据为第二主链区块的区块数据,根据第一区块数据生成第二平行链区块包括:
从第一区块数据中筛选当前平行链的各平行链交易以生成第二平行链区块。
在上述实施例中,主链节点将第二主链区块的整个区块数据返回给平行链节点,第二主链区块中可能有若干当前平行链的平行链交易,也可能没有当前平行链的平行链交易,平行链节点从所返回的第二主链区块中筛选当前平行链的各平行链交易:
若筛选出有当前平行链的各平行链交易,则根据所筛选出的各平行链交易生成第二平行链区块;
若未筛选出当前平行链的平行链交易,则生成一个平行链空块。
优选地,当第二主链区块包括当前平行链的平行链交易时,第一区块数据为第二主链区块中当前平行链的各平行链交易,以及,第二主链区块的区块头信息;根据第一区块数据生成第二平行链区块包括:
根据第一区块数据生成第二平行链区块;
当第二主链区块不包括当前平行链的平行链交易时,第一区块数据为第二主链区块的区块头信息;根据第一区块数据生成第二平行链区块包括:
生成第一平行链空块。
在上述实施例中,主链节点将第二主链区块的部分区块数据返回给平行链节点;
当第二主链区块包括当前平行链的平行链交易时,第一区块数据为第二主链区块中当前平行链的各平行链交易,以及,第二主链区块的区块头信息;此时,主链节点将第二主链区块中当前平行链的各平行链交易,以及,第二主链区块的区块头信息返回给平行链节点,平行链节点根据当前平行链的各平行链交易生成第二平行链区块;
当第二主链区块不包括当前平行链的平行链交易时,第一区块数据为第二主链区块的区块头信息;此时,主链节点将第二主链区块的区块头信息返回给平行链节点,平行链节点生成第一平行链空块。
相比于将整个区块数据返回给平行链节点,在上述实施例中,主链节点只向平行链节点返回部分区块数据,进一步节省带宽、降低平行链节点生成平行链区块的耗时时长。
图5为本发明一实施例提供的一种平行链区块同步方法的流程图。如图5所示,在本实施例中,本发明提供一种适用于平行链节点的平行链区块同步方法,包括:
S31:确定当前节点待同步的第一区块高度;
S32:确定当前平行链在当前时刻已成功完成平行链共识的第二区块高度;
S33:根据上述一些实施例提供的平行链区块生成方法依次生成第一区块高度至第二区块高度的各平行链区块。
由于平行链节点生成区块的耗时时长缩短,上述实施例降低平行链节点同步平行链区块的耗时时长。
优选地,步骤S32包括:根据当前平行链的平行链名称查找出当前平行链在当前时刻已成功完成平行链共识的第二区块高度;
具体地,在当前平行链区块的平行链共识成功时,主链节点根据当前平行链区块的平行链的平行链名称生成第二键值对的键,根据当前平行链区块的平行链的区块高度生成第二键值对的值,将第二键值对存入状态数据库;
平行链节点根据当前平行链的平行链名称,以及,第二键值对查找出当前平行链在当前时刻已成功完成平行链共识的第二区块高度。
图6为本发明一实施例提供的另一种平行链区块生成方法的流程图。如图6所示,在本实施例中,本发明提供一种适用于平行链节点的平行链区块生成方法,包括:
S41:根据待生成的第三平行链区块的平行链名称和平行链区块高度生成第三查询请求信息;
S42:向主链节点发送第三查询请求信息,以供主链节点根据第三平行链区块的平行链名称和平行链区块高度,以及,根据上述一些实施例提供的状态数据存储方法所存储的索引信息查找出第三平行链区块所对应的第三主链区块的第二主链区块高度;
S43:接收第二主链区块高度,根据第二主链区块高度生成第四查询请求信息;
S44:向主链节点发送第四查询请求信息,以供主链节点根据第二主链区块高度查找出第三主链区块,并根据第三主链区块返回第二区块数据;
S45:接收第二区块数据,根据第二区块数据生成第三平行链区块。
上述实施例的平行链区块生成原理可参考图4所示的方法,此处不再赘述。
优选地,第二区块数据为第三主链区块的区块数据,根据第二区块数据生成第三平行链区块包括:
从第二区块数据中筛选当前平行链的各平行链交易以生成第三平行链区块。
优选地,当第三主链区块包括当前平行链的平行链交易时,第二区块数据为第三主链区块中当前平行链的各平行链交易,以及,第三主链区块的区块头信息;根据区块数据生成第三平行链区块包括:
根据各平行链交易生成第三平行链区块;
当第三主链区块不包括当前平行链的平行链交易时,第二区块数据为第三主链区块的区块头信息;根据第二区块数据生成第三平行链区块包括:
生成第二平行链空块。
相比于将整个区块数据返回给平行链节点,在上述实施例中,主链节点只向平行链节点返回部分区块数据,进一步节省带宽、降低平行链节点生成平行链区块的耗时时长。
图7为本发明一实施例提供的另一种平行链区块同步方法的流程图。如图7所示,在本实施例中,本发明提供一种适用于平行链节点的平行链区块同步方法,包括:
S51:确定当前节点待同步的第三区块高度;
S52:确定当前平行链在当前时刻已成功完成平行链共识的第四区块高度;
S53:根据上述第四方面的平行链区块生成方法依次生成第三区块高度至第四区块高度的各平行链区块。
由于平行链节点生成区块的耗时时长缩短,上述实施例降低平行链节点同步平行链区块的耗时时长。
上述实施例的平行链区块生成原理可参考图5所示的方法,此处不再赘述。
优选地,步骤S52包括:根据当前平行链的平行链名称查找出当前平行链在当前时刻已成功完成平行链共识的第四区块高度;
具体地,在当前平行链区块的平行链共识成功时,主链节点根据当前平行链区块的平行链的平行链名称生成第二键值对的键,根据当前平行链区块的平行链的区块高度生成第二键值对的值,将第二键值对存入状态数据库;
平行链节点根据当前平行链的平行链名称,以及,第二键值对查找出当前平行链在当前时刻已成功完成平行链共识的第四区块高度。
图8为本发明一实施例提供的一种设备的结构示意图。
如图8所示,作为另一方面,本申请还提供了一种设备800,包括一个或多个中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有设备800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上述任一实施例描述的状态数据存储方法、平行链区块生成方法和平行链区块同步方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行状态数据存储方法、平行链区块生成方法和平行链区块同步方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的状态数据存储方法、平行链区块生成方法和平行链区块同步方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (16)

1.一种状态数据存储方法,其特征在于,所述方法适用于主链节点,所述方法包括:
在第一平行链区块的平行链共识成功时,生成第一索引信息并存入状态数据库;其中,所述第一索引信息用于根据所述第一平行链区块的平行链名称和平行链区块高度查找所述第一平行链区块对应的第一主链区块的第一区块哈希,以供平行链节点根据待生成的第二平行链区块的平行链名称和平行链区块高度查询所述待生成的第二平行链区块所对应的第二主链区块的第二区块哈希,以及,根据所述第二区块哈希查询所述第二主链区块,并根据所述第二主链区块的第一区块数据生成所述第二平行链区块。
2.根据权利要求1所述的方法,其特征在于,所述生成第一索引信息并存入状态数据库包括:
根据所述第一平行链区块的平行链名称和平行链区块高度生成第一键值对的键;
根据所述第一区块哈希生成所述第一键值对的值;
将所述第一键值对存入状态数据库。
3.根据权利要求2所述的方法,其特征在于,所述生成第一索引信息并存入状态数据库还包括:
根据所述第一平行链区块的平行链名称生成第二键值对的键;
根据所述第一平行链区块的平行链区块高度生成所述第二键值对的值;
将所述第二键值对存入状态数据库。
4.根据权利要求2所述的方法,其特征在于,所述第一键值对的值还包括所述第一主链区块的第一主链区块高度;其中,所述第一键值对用于根据第一平行链区块的平行链名称和平行链区块高度查找所述第一平行链区块对应的第一主链区块的第一主链区块高度,以供平行链节点根据待生成的第三平行链区块的平行链名称和平行链区块高度查询所述待生成的第三平行链区块所对应的第三主链区块的第二主链区块高度,以及,根据所述第二主链区块高度查询所述第三主链区块,并根据所述第三主链区块的第二区块数据生成所述第三平行链区块。
5.一种平行链区块生成方法,其特征在于,所述方法适用于平行链节点,所述方法包括:
根据待生成的第二平行链区块的平行链名称和平行链区块高度生成第一查询请求信息;
向主链节点发送所述第一查询请求信息,以供所述主链节点根据所述第二平行链区块的平行链名称和平行链区块高度,以及,根据权利要求1-4任一项所述的状态数据存储方法所存储的索引信息查找出所述第二平行链区块所对应的第二主链区块的第二区块哈希,并返回所述第二区块哈希;
接收所述第二区块哈希,根据所述第二区块哈希生成第二查询请求信息;
向所述主链节点发送所述第二查询请求信息,以供所述主链节点根据所述第二区块哈希查找出所述第二主链区块,并根据所述第二主链区块返回第一区块数据;
接收所述第一区块数据,根据所述第一区块数据生成所述第二平行链区块。
6.根据权利要求5所述的方法,其特征在于,所述第一区块数据为所述第二主链区块的区块数据,所述根据所述第一区块数据生成所述第二平行链区块包括:
从所述第一区块数据中筛选当前平行链的各平行链交易以生成所述第二平行链区块。
7.根据权利要求5所述的方法,其特征在于,当所述第二主链区块包括当前平行链的平行链交易时,所述第一区块数据为所述第二主链区块中当前平行链的各平行链交易,以及,所述第二主链区块的区块头信息;所述根据所述第一区块数据生成所述第二平行链区块包括:
根据所述第一区块数据生成所述第二平行链区块;
当所述第二主链区块不包括当前平行链的平行链交易时,所述第一区块数据为所述第二主链区块的区块头信息;所述根据所述第一区块数据生成所述第二平行链区块包括:
生成第一平行链空块。
8.一种平行链区块同步方法,其特征在于,所述方法适用于平行链节点,所述方法包括:
确定当前节点待同步的第一区块高度;
确定当前平行链在当前时刻已成功完成平行链共识的第二区块高度;
根据权利要求5-7任一项所述的平行链区块生成方法依次生成所述第一区块高度至所述第二区块高度的各平行链区块。
9.根据权利要求8所述的方法,其特征在于,所述确定当前平行链在当前时刻已成功完成平行链共识的第二区块高度包括:
根据当前平行链的平行链名称查找出当前平行链在当前时刻已成功完成平行链共识的第二区块高度。
10.一种平行链区块生成方法,其特征在于,所述方法适用于平行链节点,所述方法包括:
根据待生成的第三平行链区块的平行链名称和平行链区块高度生成第三查询请求信息;
向主链节点发送所述第三查询请求信息,以供所述主链节点根据所述第三平行链区块的平行链名称和平行链区块高度,以及,根据权利要求4所述的状态数据存储方法所存储的索引信息查找出所述第三平行链区块所对应的第三主链区块的第二主链区块高度;
接收所述第二主链区块高度,根据所述第二主链区块高度生成第四查询请求信息;
向所述主链节点发送所述第四查询请求信息,以供所述主链节点根据所述第二主链区块高度查找出所述第三主链区块,并根据所述第三主链区块返回第二区块数据;
接收所述第二区块数据,根据所述第二区块数据生成所述第三平行链区块。
11.根据权利要求10所述的方法,其特征在于,所述第二区块数据为所述第三主链区块的区块数据,所述根据所述第二区块数据生成所述第三平行链区块包括:
从所述第二区块数据中筛选当前平行链的各平行链交易以生成所述第三平行链区块。
12.根据权利要求10所述的方法,其特征在于,当所述第三主链区块包括当前平行链的平行链交易时,所述第二区块数据为所述第三主链区块中当前平行链的各平行链交易,以及,所述第三主链区块的区块头信息;所述根据所述区块数据生成所述第三平行链区块包括:
根据各所述平行链交易生成所述第三平行链区块;
当所述第三主链区块不包括当前平行链的平行链交易时,所述第二区块数据为所述第三主链区块的区块头信息;所述根据所述第二区块数据生成所述第三平行链区块包括:
生成第二平行链空块。
13.一种平行链区块同步方法,其特征在于,所述方法适用于平行链节点,所述方法包括:
确定当前节点待同步的第三区块高度;
确定当前平行链在当前时刻已成功完成平行链共识的第四区块高度;
根据权利要求10-12任一项所述的平行链区块生成方法依次生成所述第三区块高度至所述第四区块高度的各平行链区块。
14.根据权利要求13所述的方法,其特征在于,所述确定当前平行链在当前时刻已成功完成平行链共识的第四区块高度包括:
根据当前平行链的平行链名称查找出当前平行链在当前时刻已成功完成平行链共识的第四区块高度。
15.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-14中任一项所述的方法。
16.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-14中任一项所述的方法。
CN201910755471.6A 2019-08-15 2019-08-15 状态数据存储方法和平行链区块生成方法 Active CN110535922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910755471.6A CN110535922B (zh) 2019-08-15 2019-08-15 状态数据存储方法和平行链区块生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910755471.6A CN110535922B (zh) 2019-08-15 2019-08-15 状态数据存储方法和平行链区块生成方法

Publications (2)

Publication Number Publication Date
CN110535922A CN110535922A (zh) 2019-12-03
CN110535922B true CN110535922B (zh) 2021-10-01

Family

ID=68663531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910755471.6A Active CN110535922B (zh) 2019-08-15 2019-08-15 状态数据存储方法和平行链区块生成方法

Country Status (1)

Country Link
CN (1) CN110535922B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111524010B (zh) * 2020-05-06 2023-06-02 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
CN109410045B (zh) * 2018-08-30 2020-08-14 杭州复杂美科技有限公司 一种平行链共识方法、设备和存储介质
CN109271446B (zh) * 2018-08-30 2020-10-23 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
CN109711842B (zh) * 2018-12-29 2021-04-09 西安纸贵互联网科技有限公司 一种平行链定期汇合的区块链网络的账本记账方法
CN110083745B (zh) * 2019-04-30 2021-07-06 杭州复杂美科技有限公司 数据查询方法、设备和存储介质

Also Published As

Publication number Publication date
CN110535922A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN110442579B (zh) 一种状态树数据存储方法、同步方法及设备和存储介质
US11824996B2 (en) Parachain data synchronization method, device and storage medium
CN109587271B (zh) 主链平行链架构系统及区块同步方法、设备和存储介质
CN110113408B (zh) 一种区块同步方法、设备和存储介质
CN110392121B (zh) 平行链区块生成方法、设备和存储介质
CN110083745B (zh) 数据查询方法、设备和存储介质
CN110287196B (zh) 区块存储方法、平行链交易获取方法、设备和存储介质
CN111861471A (zh) 平行链共识方法、平行链区块回滚方法、设备和存储介质
CN113535777A (zh) 数据库查询方法、装置和系统
CN110442580B (zh) 一种区块链状态数据存储方法、设备和存储介质
CN109947729B (zh) 一种实时数据分析方法及装置
CN110445843B (zh) 平行链区块推送方法、设备和存储介质
CN109614411B (zh) 数据存储方法、设备和存储介质
CN110535922B (zh) 状态数据存储方法和平行链区块生成方法
CN110287263B (zh) 平行链自共识方法、设备和存储介质
CN112182029B (zh) 数据查询方法、设备和存储介质
CN111523896B (zh) 防攻击方法、设备和存储介质
CN113626449A (zh) 数据存储、数据查询方法及相关设备
CN111405037A (zh) 区块同步方法、设备和存储介质
CN112417054B (zh) 分布式数据存储方法、数据查询方法、设备和存储介质
CN111046246A (zh) 标签更新方法及装置、分布式存储系统
CN116186082A (zh) 基于分布式的数据汇总方法、第一服务器和电子设备
CN110955722B (zh) 数据同步方法及装置
CN111858772A (zh) 平行链交易组执行方法、设备和存储介质
CN112054928B (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: 20191203

Assignee: Hangzhou Kulian Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000091

Denomination of invention: State data storage method and parallel chain block generation method

Granted publication date: 20211001

License type: Common License

Record date: 20220516

Application publication date: 20191203

Assignee: Hangzhou DUOLIAN Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000090

Denomination of invention: State data storage method and parallel chain block generation method

Granted publication date: 20211001

License type: Common License

Record date: 20220516

Application publication date: 20191203

Assignee: Hangzhou left chain Technology Co.,Ltd.

Assignor: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Contract record no.: X2022330000092

Denomination of invention: State data storage method and parallel chain block generation method

Granted publication date: 20211001

License type: Common License

Record date: 20220516

EE01 Entry into force of recordation of patent licensing contract