CN111080287B - 一种业务数据的处理方法、相关设备和*** - Google Patents
一种业务数据的处理方法、相关设备和*** Download PDFInfo
- Publication number
- CN111080287B CN111080287B CN201811215247.XA CN201811215247A CN111080287B CN 111080287 B CN111080287 B CN 111080287B CN 201811215247 A CN201811215247 A CN 201811215247A CN 111080287 B CN111080287 B CN 111080287B
- Authority
- CN
- China
- Prior art keywords
- block
- management node
- management
- nodes
- service
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种业务数据的处理方法、相关设备和***。区块链***中指定的管理节点维护子链的共识过程,不需要区块链***中所有的节点参与子链的共识过程,避免区块链***中所有节点生成区块消而消耗计算资源,提高了区块链***的计算资源的利用率。另外,区块链上可以形成多个子链,不同的子链对应不同的服务,不同的子链记录的业务数据的类型也可以不同,实现了在区块链***中记录多种不同类型的业务数据的能力。
Description
技术领域
本发明涉及通信领域,尤其涉及一种业务数据的处理方法、相关设备和***。
背景技术
区块链技术综合了分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,最早诞生于比特币的底层技术架构,其应用越来越广泛。
当前的区块链技术从参与方角度可分为公有链、联盟链和私有链,私有链主要在个人或公司内部实现,与中心化的模式相比没有明显的好处。联盟链由某个群体内部指定的多个预选的节点作为记账节点,每个区块的生成由的预选节点公共决定,其他节点可以参与交易,但不过问记账过程。公有链是指任何个体或团体都参与共识过程。
在公有链的区块链***中,各个节点都存储有一份相同的本地账本,本地账本以区块链的方式存储,各个节点组成分布式的数据库***。区块链中包括区块,首个区块称为创始区块,创始区块不包括父区块摘要值,除了创始区块之外,其他区块都包括一个上一个区块的摘要值,从而构成一个链式结构。区块包括区块头和区块体,区块头中保持多个交易数据,以及该交易数据得到的摘要值,以梅克尔树(Merkletree)的形式生成梅克尔(Merkle)根摘要值。区块头中包括该区块的公共信息:父区块摘要值、时间戳、版本号、难度值、Merkle根、随机数。
在公有链的架构下,共识需要在所有的节点内产生。所有参与共识的节点集中在区块链的链尾区块上争夺记账权,共识过程中会不断地产生分叉—确认节点—消除分叉。而只有最终获得记账权的节点才能获得收益,由此导致很多节点消耗了很多的算力,但并不能获得收益。如何缩小对一项业务数据达成共识所需涉及的节点数量,减少整个区块链生态中计算资源的浪费,是亟需解决的技术问题。
发明内容
本申请所要解决的技术问题在于,提供一种业务数据的处理方法、装置和***,以减少区块链***中节点的计算资源的浪费。
第一方面,本申请提供了一种业务数据的处理方法,处理方法应用于区块链***中的第一管理节点,区块链***包括管理节点第一集合和管理节点第二集合,管理节点第一集合包括第一管理节点和第二管理节点,管理节点第二集合包括第三管理节点和第四管理节点,管理节点第一集合用于处理第一业务的业务数据,即管理节点第一集合参与对第一业务的业务数据的共识过程,管理节点第二集合用于管理第一区块链,即管理节点第二集合参与对第一区块链上的区块的共识过程。该处理方法包括:第一管理节点接收来自终端设备的第一业务数据,第一业务数据由第一业务生成,第一管理节点根据第一业务数据生成第一区块,第一区块包括第一业务数据的业务标识和第二区块的摘要值,摘要值表示使用哈希算法得到的值,摘要值又可以称散列值或MD5(message digest algorithm 5,消息摘要算法第五版)值等。第二区块为第一区块链中的链尾区块,链尾区块即为第一区块链中的最后一个区块,链尾区块即第一区块链中的最新区块。第一管理节点在区块链***中广播第一区块,管理节点第一集合参与对第一区块的共识,确定管理节点对第一区块达成共识,第一管理节点将第一区块链接到第二区块上形成第一区块链的第一子链,即第一区块为第一子链中的首个区块。第一管理节点将第一区块的记账信息发送给管理节点第二集合,第一管理节点接收来自第三管理节点的第三区块,第三管理节点为管理节点第二集合中的记账节点,第三区块是第三管理节点根据第一区块的记账信息生成的,第一区块的记账信息包括第二区块的摘要值和第一业务的业务标识,第一管理节点将第三区块链接到第二区块上。
实施本发明实施例,管理节点第一集合用于维护该子链的共识过程,不需要区块链***中所有的节点参与子链的共识过程,避免管理节点集合之外的其他节点生成区块消而消耗计算资源,提高了区块链***的计算资源的利用率。另外,第一区块链上可以形成多个子链,不同的子链对应不同的服务,不同的子链记录的业务数据的类型也可以不同,实现了在区块链***中记录多种不同类型的业务数据的能力。
在一种可能的设计中,所述将第一区块链链接到所述第二区块上形成第一子链之前,还包括:第一管理节点接收来自所述第二管理节点的第四区块,所述第四区块由所述第二管理节点根据所述第一业务数据生成;确定所述管理节点第一集合未对所述第四区块达成共识,第一管理节点丢弃所述第四区块。
在一种可能的设计中,所述将所述第三区块链接到所述第二区块上之后,还包括:
第一管理节点接收来自所述终端设备的所述第一业务的第二业务数据;第一管理节点根据所述第二业务数据生成第五区块;其中,所述第五区块包括所述第一业务的业务标识和所述第一区块的摘要值;第一管理节点将第五区块发送给所述管理节点第一集合中除所述第一管理节点之外的其他节点以及所述管理节点第二集合;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块添加到所述第一子链中;
将所述第五区块的记账信息发送给所述管理节点第二集合;其中,第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
所述第一管理节点接收来自所述第三管理节点的第六区块;其中,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接所述第三区块上。
在一种可能的设计中,所述接收来自所述第三管理节点的第三区块之前,还包括:
接收来自第三管理节点的验证请求;所述验证请求携带所述第一区块的记账信息;
验证接收到的所述第一区块的记账信息和所述第一子链中存储的所述第一区块的记账信息是否相同;
向所述第三管理节点发送验证结果。
在一种可能的设计中,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自第二管理节点的第五区块,所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的,所述第五区块包括所述第一区块的摘要值和所述第一业务的业务标识;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
在一种可能的设计中,所述方法还包括:
根据所述第二业务数据生成第七区块;
向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点和所述管理节点第二集合发送所述第七区块;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
在一种可能的设计中,第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
在一种可能的设计中,,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
第二方面,本申请提供了一种业务数据的处理方法,所述处理方法应用于区块链***中的第二管理节点,所述区块链***包管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理所述第一区块链;
所述处理方法包括:
接收来自第一管理节点的第一区块;其中,所述第一区块由所述第一管理节点根据所述第一业务的第一业务数据生成的,所述第一区块包括所述第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块,链尾区块即为第一区块链中的最后一个区块,也是第一区块链中的最新区块;摘要值表示使用哈希算法得到的值,摘要值又可以称散列值或MD5值等;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链;
接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
将所述第三区块链接到所述第二区块上。
在一种可能的设计中,所述方法还包括:
接收来自所述终端设备的所述第一业务数据;
根据所述第一业务数据生成第四区块;
向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第四区块;
确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块;
在一种可能的设计中,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自终端设备的所述第一业务的第二业务数据;
根据所述第二业务数据生成第七区块;
向所述管理节点第一集合中除所述第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第七区块;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块;
接收来自所述第一管理节点的第五区块,第五区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合对第五区块达成共识,将所述第五区块链接到第一区块上;
接收来自所述第三管理节点的第六区块;所述第六区块是由所述第三管理节点根据第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
在一种可能的设计中,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自所述终端设备的所述第一业务的第二业务数据;
根据所述第二业务数据生成第五区块;所述第五区块包括所述第一区块的摘要值和所述第一业务的标识;
向所述管理节点第一集合中除第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第五区块;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
将所述第五区块的记账信息发送给所述管理节点第二集合;
接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
在一种可能的设计中,所述方法还包括:
接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
第三方面,本申请提供了一种业务数据的处理方法,所述处理方法应用于区块链***中的第三管理节点,所述区块链***包管理节点第一集合和管理节点第二集合,所述第一管理节点和所述第二管理节点属于所述管理节点第一集合,第三管理节点属于管理节点第二集合,所述管理节点第一集合用于处理第一业务的业务数据,所述第二管理集合用于维护所述第一区块链的共识;
所述处理方法包括:
接收来自所述第一管理节点的第一区块,第一区块由第一管理节点根据所述第一业务的第一数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块,所述链尾区块为所述第一区块链中的最后一个区块,也是第一区块链中的最新区块,或者说是所述第一区块链中没有后继区块的区块;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到第二区块上以形成所述第一区块链的第一子链;
接收来自所述第一管理节点的第一区块的记账信息;其中,所述第一区块的记账信息包括所述第一业务的业务标识和所述第二区块的摘要值;摘要值表示使用哈希算法得到的值,摘要值又可以称散列值或MD5值等;
在所述管理节点第一集合上验证所述第一区块的记账信息正确时,根据所述第一区块的记账信息生成第三区块,将所述第三区块链接到所述第二区块上;
向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
在一种可能的设计中,所述方法还包括:
接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
确定管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
在一种可能的设计中,所述向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块之后,还包括:
接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第一管理节点的所述第五区块的记账信息;
在所述第一管理节点集合上验证所述第五区块的记账信息正确时,根据所述第五区块的记账信息生成第六区块;
将第六区块链接到第三区块上;
向管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
在一种可能的设计中,所述方法还包括:
接收来自第二管理节点的第七区块,所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
在一种可能的设计中,所述在所述管理节点第一集合上验证所述第五区块的记账信息包括:
向管理节点第一集合发送验证请求;所述验证请求携带所述第五区块的记账信息,所述验证请求用于验证所述管理节点第一集合中各个管理节点存储的所述第五区块的记账信息和所述验证请求中携带的所述第五区块的记账信息是否相同,以及向所述第三管理节点发送验证结果;
根据所述管理节点第一集合中各个管理节点发送的验证结果确定所述第五区块的记账信息是否正确。
在一种可能的设计中,所述向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块之后,还包括:
接收来自第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
确定第一管理节点集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第二管理节点的第五区块的记账信息;所述第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
在所述管理节点第一集合上验证所述第五区块的记账信息正确时,根据所述第五区块的记账信息生成第六区块;
向所述管理节点第二集合中除所述第二管理节点之外的其他管理节点以及管理节点第二集合发送所述第六区块
将第六区块链接在所述第三区块上。
在一种可能的设计中,所述方法还包括:
接收来自所述第一管理节点发送的第七区块,所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
第四方面,本申请提供了一种业务数据的处理方法,所述处理方法应用于区块链***中的第四管理节点,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一主链;
所述处理方法包括:
接收来自第一管理节点的第一区块;第一区块由第一管理节点根据第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和第一业务的业务标识,所述第二区块是所述第一区块链中的链尾区块,链尾区块为第一区块链中的最后一个区块,也是第一区块链中的最新区块;摘要值表示使用哈希算法得到的值,摘要值又可以称散列值或MD5值等;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上;
接收来自第三管理节点的第三区块;其中,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
将所述第三区块链接到所述第二区块上。
在一种可能的设计中,还包括:
接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
确定所述管理节点第一集合未对所述第三区块达成共识,丢弃所述第四区块。
在一种可能的设计中,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
在一种可能的设计中,所述方法还包括:
接收来自所述第二管理节点的第七区块;所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
在一种可能的设计中,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自所述第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
在一种可能的设计中,还包括:
接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
在一种可能的设计中,所述第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
在一种可能的设计中,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
第五方面,本申请提供了一种业务数据的处理方法,所述处理方法应用于终端设备,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点,所述管理节点第二集合包括第三管理节点,所述管理节点第一集合用于管理第一子链,所述管理节点第二集合用于管理第一区块链;
所述处理方法包括:
向所述第一管理节点发送查询请求;其中,所述查询请求携带业务标识,所述查询请求用于请求在所述业务标识指示的所述第一子链中查询第一区块;第一区块包括第二区块的摘要值和业务标识;
接收所述第一管理节点发送的第一区块;
向所述第三管理节点发送验证请求;其中,所述验证请求携带所述业务标识、所述第一区块中包括的所述第二区块的摘要值和所述第一区块在所述第一子链中的高度,所述验证请求用于请求在所述第一区块链中查询与所述第一区块对应的第二区块,以及验证所述第二区块中记录的所述第二区块的摘要值和所述子链区块中包括的所述第二区块的摘要值是否相同,以及向所述终端设备发送验证结果;摘要值表示使用哈希算法得到的值,摘要值又可以称散列值或MD5值等;
接收来自所述第三管理节点的验证结果;
根据所述验证结果确定所述第一区块是否正确。
在一种可能的设计中,所述第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
在一种可能的设计中,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
第六方面,本申请提供了一种区块链***,所述区块链***包括管理节点第一集合、管理节点第二集合和管理节点第三集合;所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链,所述管理节点第三集合用于处理第二业务的业务数据;
所述第三管理节点,用于接收来自所述管理节点第一集合中的记账节点的第一区块,第一区块由所述管理节点第一集合中的记账节点根据所述第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块;确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到第二区块上以形成所述第一区块链的第一子链;接收来自所述管理节点第一集合中的记账节点的第一区块的记账信息,所述第一区块的记账信息包括所述第一业务的业务标识和所述第二区块的摘要值;在所述管理节点第一集合上验证所述第一区块的记账信息正确时,根据所述第一区块的记账信息生成第三区块,将所述第三区块链接到所述第二区块上;向所述区块链***广播所述第三区块;
所述第四管理节点,用于接收来自所述管理节点第一集合中的记账节点的第一区块;确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上形成所述第一区块链的第一子链;接收来自所述第三管理节点的第三区块;将所述第三区块链接到所述第二区块上。
所述第三管理节点,还用于接收来自所述管理节点第三集合中的记账节点的第四区块;所述第四区块由所述管理节点第三集合中的记账节点根据所述第二业务的第一业务数据生成的;确定所述管理节点第三集合对所述第四区块达成共识,将所述第四区块链接到所述第三区块上形成所述第一区块链的第二子链;接收来自所述管理节点第三集合中的记账节点的第四区块的记账信息,所述第四区块的记账信息包括所述第二业务的业务标识和所述第四区块的摘要值;在所述管理节点第三集合上验证所述第四区块的记账信息正确时,根据所述第四区块的记账信息生成第五区块,将所述第五区块链接到所述第三区块上;向所述区块链***广播所述第五区块;
所述第四管理节点,还用于接收来自所述管理节点第三集合中的记账节点的所述第四区块;确定所述管理节点第三集合对所述第四区块达成共识,将所述第四区块链接到所述第三区块上形成所述第一区块链的第二子链;接收来自所述第三管理节点的所述第五区块,将所述第五区块链接到所述第三区块上。
在一种可能的设计中,所述第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
在一种可能的设计中,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
第七方面,本申请提供了一种装置,可以实现上述第一方面至第五方面中的业务数据的处理方法。例如所述装置可以是芯片(如基带芯片,或通信芯片等)或者管理节点或终端设备。可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。
在一种可能的实现方式中,所述装置的结构中包括处理器、存储器;所述处理器被配置为支持所述装置执行上述通信方法中相应的功能。存储器用于与处理器耦合,其保存所述装置必要的程序(指令)和/或数据。可选的,所述装置还可以包括通信接口用于支持所述装置与其他网元之间的通信。
在另一种可能的实现方式中,所述装置,可以包括执行上述方法中相应动作的单元模块。
在又一种可能的实现方式中,包括处理器和收发装置,所述处理器与所述收发装置耦合,所述处理器用于执行计算机程序或指令,以控制所述收发装置进行信息的接收和发送;当所述处理器执行所述计算机程序或指令时,所述处理器还用于实现上述方法。其中,所述收发装置可以为收发器、收发电路或输入输出接口。当所述装置为芯片时,所述收发装置为收发电路或输入输出接口。
当所述装置为芯片时,发送单元可以是输出单元,比如输出电路或者通信接口;接收单元可以是输入单元,比如输入电路或者通信接口。当所述装置为网络设备时,发送单元可以是发射器或发射机;接收单元可以是接收器或接收机。
本申请又一方面提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面至第五方面的各个可能的实施方式中任意一项所述的方法。
本申请又一方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面至第五方面的各个可能的实施方式中任意一项所述的方法。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例提供的一种区块链***的结构示意图;
图2是本发明实施例提供的区块链***中本地账本的结构示意图;
图3是本发明实施例提供的区块链***中本地账本的结构示意图;
图4是本发明实施例提供的子链上的区块的结构示意图;
图5是本发明实施例提供的一种业务数据的处理方法的流程示意图;
图6是本发明实施例提供的一种业务数据的处理方法的另一流程示意图;
图7是本发明实施例提供的一种业务数据的处理方法的另一流程示意图;
图8是本发明实施例提供的一种业务数据的处理方法的流程示意图;
图9至图11是本发明实施例提供的业务数据的处理方法的原理示意图;
图12是本发明实施例提供的一种装置的结构示意图;
图13是本发明实施例提供的一种装置的另一结构示意图。
具体实施方式
下面结合说明书附图对本发明实施例进行详细说明。
图1为本申请提供的一种区块链***的结构示意图,该区块链***包括管理节点第一集合和管理节点第二集合,管理节点第一集合和管理节点第二集合中管理节点的数量为多个。管理节点第一集合包括第一管理节点和第二管理节点,管理节点第二集合包括第三管理节点和第四管理节点。区块链***中任意两个节点之间都能进行互联互通。管理节点第一集合用于处理第一业务的业务数据,即管理节点第一集合维护第一业务的业务数据的共识。管理节点第二集合用于维护第一区块链的共识,第一区块链并不记录业务的业务数据。需要说明的是,图1中区块链***中设备的数量和连接关系,以及本地账本中的区块的数量、区块之间的连接关系仅为举例说明,并非对本发明构成限定。
其中,区块链***中每个节点都存储有一个相同的本地账本,例如:图1中的第一管理节点至第四管理节点均存储有一个相同的本地账本。本地账本中包括第一区块链和一个或多个子链,每个子链关联一个业务,不同的子链关联不同的业务,即每个子链记录业务生成的业务数据,业务数据可以是交易数据或服务细节信息,本发明不作限制。例如:图1中第一区块链链接的子链的数量为1个,图2和图3中链接的子链的数量为2个。在第一区块链链接的子链的数量为多个时,每个子链可以链接到第一区块链中不同的区块上,多个子链也可以链接到第一区块链中同一个子链上,如图2所示的,第一子链链接到第一区块链中的区块10上,第二子链链接到第一区块链中的区块11上;如图3所示,第一子链和第二子链均链接到第一区块链的区块11上。可以理解的是,子链在第一区块链中的链接位置是由该子链对应的业务首次生成的业务数据的时间决定的。
其中,每个业务管理一个管理节点集合,管理集合中的管理节点参与业务数据的记账权的竞争,并获得一定的收益,例如:图1所示,第一子链管理第一管理节点集合,第一管理节点集合中的管理节点参与对第一业务生成的业务数据的记账权的竞争,在成功竞争到业务数据的记账权时获得一定的收益。不同的子链对应的管理集合中的管理节点可能发生重合,即两个管理节点集合中可能存在相同的管理节点,一个管理节点可以同时参与两个以上业务的业务数据的记账权的竞争。
其中,在某个时刻可能没有发布任何一个业务,那么此时第一区块链也未链接任何一个子链。
其中,第一区块链也称为主链,在以下的描述中第一区块链和主链交替使用,两者表达相同的含义。需要说明的是,本发明实施例中节点对区块的相关操作(例如:添加区块、删除区块等操作)均表示该节点对本地账本中的区块进行相关操作。子链用于记录关联的业务生成的业务数据,第一区块链用于记录子链中的区块的记账信息。
如图4所示,为子链中的区块的结构,子链中的区块包括区块头和区块头,区块头包括父摘要值、业务标识、高度、随机数、Merkle根哈希值、块内记录总数中的一种或多种,父区块摘要值表示父区块的摘要值,对于子链中的首个区块来说,首个区块的父区块摘要值可以是第一区块链中的父区块的摘要值,也可以是第一区块链中的父区块的Merkle根哈希值,如图2所示,第一子链中的首个区块区块20,区块20的父区块为第一区块链中的区块10,区块20的父区块摘要值可以是区块10的摘要值,也可以是区块10的Merkle根哈希值。业务标识表示区块所在的子链关联的业务的身份标识,不同的子链具有不同的业务标识;时间戳表示记录各个业务数据的时刻;高度表示区块子子链中的位置,例如:子链中首个区块的高度为1,第二个区块的高度为2;块内记录总数表示区块体中记录的业务数据的数量,Merkle根哈希值是根据区块体中记录的业务数据生成的,Merkle根哈希值的生成过程可参照现有技术,此处不再赘述。在一种可能的实施方式中,区块头中还包括分支权重,分支权重用于表示子链的权重,分支权重可以用来调节在子链上进行记账的收益。
其中,第一区块链中的区块可以采用子链中区块相同的结构,在这种情况下,由于第一区块链不关联任何业务,也不记录业务数据,对于第一区块链中的区块,区块头中的分支标识可以取预设的特殊值,例如:业务标识为0,表示区块位于第一区块链中。
参见图5所示,为本发明实施例提供的一种业务数据的处理方法的交互示意图,在本发明实施例基于图1的网络架构,所述方法包括:
S501、终端设备向第一管理节点发送第一业务数据,第一管理节点接收来自终端设备的第一业务数据。
具体的,第一业务数据是运行第一业务由终端设备生成的,终端设备向区块链***发送第一业务数据,区块***中的各个管理节点接收第一业务数据。第一业务数据包括的数据条目数量可以是一个或多个,本发明不作限制。在一种可能的实施方式中,第一业务数据为交易数据,且第一业务数据为第一业务首次生成的交易数据。在另一种可能的实施方式中,第一业务数据为第一业务的服务细节信息,例如:服务细节信息包括第一业务的业务标识、分支权重或其他属性等;服务细节信息可以是终端设备发布第一业务时由终端设备生成的,也可以是其他设备生成的。
S502、终端设备向第二管理节点发送第一业务数据,第二管理节点接收来自终端设备的第一业务数据。
S503、第一管理节点根据第一业务数据生成第一区块。
具体的,第一区块的区块体中存放第一业务数据,第一区块的区块头包括第一业务的业务标识、父区块摘要值,业务标识表示第一业务的业务标识。第一管理节点在生成第一区块之前,确定本地账本中的第一区块链上的链尾区块为第二区块,第一区块的父区块为第二区块,第一区块的父区块摘要值为第二区块的摘要值。
在一种可能的实施方式中,对于第二管理节点来说,所述方法还包括:第二管理节点接收来自终端设备的第一业务数据,第一业务数据也第一业务生成的,第二管理节点根据第一业务数据生成第四区块,第二管理节点向区块链***中除第二管理节点之前的其他管理节点发送第四区块,请求管理节点第一集合对第四区块执行共识机制,在管理节点第一集合未对第四区块达成共识,第二管理节点丢弃该第四区块。
在一种可能的实施方式中,第一区块还包括所述第一业务的分支权重,对所述第一业务的业务数据进行记账的收益与所述分支权重有关。进一步的,所述第一区块还包括块内记录总数和时间戳,对所述第一业务的业务数据进行记账的收益还与所述块内记录总数和所述时间戳有关。
具体的,传统的公有链下,所有节点争夺同一个信息的记账权,各个节点不断地产生区块分叉,形成共识,再消除分叉,由此浪费了很多计算资源。在本发明实施例的区块链***中,管理节点可以自由地调整记账的子链,通过调节子链上的收益来动态调节管理节点在子链上的分布。例如:对参与度高,分支权重大的业务,提供的收益越高,从而吸引更多的管理节点在对应的子链上参与记账,提高数据篡改的难度,形成对计算资源分布的动态合理调节。
管理节点在子链上成功记账的收益为Rn(w,TPSn),参数包括:分支权重w和业务的TPS,其中n代表子链上第n个区块,分支权重越大,记账的收益越高;TPS越大,记账的收益越高。分支权重是发布服务时产生的。TPS(Transaction Per Second)是每秒产生的交易数,通过子链上的区块头内的时间戳T和块内记录总数m可以计算得到,计算公式为TPSn=mn/(Tn-Tn-1)。管理节点在生成的区块的区块头中记录获得收益为上述的Rn(w,TPSn)。
S504、第一管理节点广播第一区块。
具体的,第一管理节点向区块链***中除第一管理节点之外的各个节点发送第一区块,第二管理节点、第三管理节点和第四管理节点都属于区块链***,因此第二管理节点、第三管理节点和第四管理节点都会接收到第一管理节点的第一区块。
S505、管理节点第一集合对第一区块达成共识。
具体的,管理节点第一集合属于区块链***,管理节点第一集合执行对第一区块的共识过程,对第一区块的共识过程可以利用目前常用的公有链的共识算法,例如:工作证明(proofofwork,POW)、股权证明(proofofstake,POS)、委托权益证明(delegated proofof stake,DOS)或实用拜占庭容错(practical Byzantine fault tolerance,PBFT)。
需要说明的是,管理节点第一集合中除第一管理节点的其他管理节点也会根据第一业务数据生成各自的区块,然后广播至管理节点第一集合执行共识过程,但是管理节点第一集合只会对唯一的一个管理节点生的区块达成共识。
S506、将第一区块链接到第二区块上。
具体的,区块链中的各个管理节点将第一区块链接到第二区块上,对于属于区块链***的第一管理节点、第二管理节点、第三管理节点和第四管理节点来说,第一管理节点将第一区块链接到第一管理节点的本地账本中的第二区块上,第二管理节点将第一区块链接到第二管理节点的本地账本中的第二区块上,第三管理节点将第一区块链接到第三管理节点的本地账本的第二区块上,第四管理节点将第一区块链接到第四管理节点的本地账本中的第二区块上,以实现区块链***中各自的本地账本的同步更新。第一区块链接到第二区块上后形成第一子链,第一区块为第一子链的首个区块。第一业务的所有业务数据都会记录到第一子链中,即根据第一业务的业务数据生成的区块都会添加到第一子链中。
其中,区块链***中的其他节点若接收到来自第二管理节点的第四区块,将未通过共识的第四区块丢弃掉,第一管理节点、第三管理节点和第四管理节点丢弃第四区块。
S507、第一管理节点将第一区块的记账信息发送给第三管理节点,第三管理节点接收来自第一管理节点的第一区块的记账信息。
具体的,第一管理节点获取第一区块的记账信息,第一区块的记账信息包括第一区块的父区块摘要值和第一业务的业务标识,第一管理节点向管理节点第二集合发送第一区块的记账信息,第三管理节点属于管理节点第二集合,第三节点接收来自第一管理节点的第一区块的记账信息。
S508、第一管理节点将第一区块的记账信息发送给第四管理节点,第四管理节点接收来自第一管理节点的第一区块的记账信息。
具体的,第四管理节点属于管理节点第二集合,第四管理节点接收来自第一管理节点的第一区块的记账信息。
S509、第三管理节点向第一管理节点发送验证请求,第一管理节点接收来自第三管理节点的验证请求。
具体的,第三管理节点向管理节点第一集合发送验证请求,验证请求用于验证S510中接收到的第一区块的记账信息是否正确,验证请求中可以携带第一区块的记账信息和第一区块的高度,对于属于管理节点第一集合的第一管理节点和第二管理节点都会接收到来自第三管理节点的验证请求。
S510、第三管理节点向第二管理节点发送验证请求,第二管理节点接收来自第三管理节点的验证请求。
S511、第二管理节点向第三管理节点发送验证结果,第三管理节点接收来自第二管理节点的验证结果。
具体的,第二管理节点根据第一区块的高度在第一区块链中确定对应的第二区块,在第二区块中获取第一区块的记账信息,比较第一区块中存储的第一区块的记账信息和验证请求中的第一区块的记账信息是否一致,然后向第三管理节点发送验证结果。
S512、第一管理节点向第三管理节点发送验证结果,第三管理节点接收来自第一管理节点的验证结果。
S513、第三管理节点根据第一区块的记账信息生成第三区块。
具体的,第三管理节点接收管理节点第一集合中各个管理节点发送的验证结果,在管理节点第一集合中所有的管理节点的验证结果为是的情况下,第三管理节点确定第一区块的记账信息是正确的。
其中,第一区块链可以为联盟链,第三管理节点为当前的记账节点。管理节点第二集合中除第三管理节点并不会根据第一区块的记账信息生成区块。
S514、第三管理节点广播第三区块。
具体的,第三管理节点向区块链***中除第三管理节点之外的其他管理节点发送第三区块,第一管理节点、第二管理节点和第四管理节点属于区块链***,第一管理节点、第二管理节点和第四管理节点均会接收到来自第三管理节点的第三区块。
S515、将第三区块添加到第一区块链中。
具体的,区块链***中的各个管理节点将第三区块添加到本地账本的第一区块链中,将第三区块链接到第一区块链中的链尾区块上,例如:第一区块链中当前的链尾区块为第二区块,将第三区块链接到第二区块上。
实施本发明实施例,管理节点第一集合用于维护该子链的共识过程,不需要区块链***中所有的节点参与子链的共识过程,避免管理节点集合之外的其他节点生成区块消而消耗计算资源,提高了区块链***的计算资源的利用率。另外,第一区块链上可以形成多个子链,不同的子链对应不同的服务,不同的子链记录的业务数据的类型也可以不同,实现了在区块链***中记录多种不同类型的业务数据的能力。
在一种可能的实施方式中,第一管理节点在根据第一业务的第二业务数据生成第五区块时,需要将达成共识的第五区块添加到第一子链中,以及将根据第五区块的记账信息生成的第六区块添加到第一区块链中,基于图1的网络架构,具体过程可参照图6所示的步骤:
S601、终端设备向第一管理节点发送第二业务数据,第一管理节点接收来自终端设备的第二业务数据。
具体的,第二业务数据是运行第一业务由终端设备生成的,终端设备向区块链***发送第二业务数据,区块***中的各个管理节点接收第二业务数据。第二业务数据包括的数据条目数量可以是一个或多个,本发明不作限制。第二业务数据为交易数据,第二业务数据为第一业务数据之后生成的,且第一业务数据的发送时间和第二业务数据的发送时间相邻。
S602、终端设备向第二管理节点发送第二业务数据,第二管理节点接收来自终端设备的第二业务数据。
S603、第一管理节点根据第二业务数据生成第五区块。
具体的,第五区块的区块体中存放第二业务数据,第五区块的区块头包括第一业务的业务标识、父区块摘要值,业务标识表示第一业务的业务标识,父区块摘要值为第五区块的父区块的摘要值。第一管理节点在生成第五区块之前,确定本地账本中的第一子链上的链尾区块(假设为第一区块),第五区块的父区块为第一区块,第五区块的父区块摘要值为第一区块的摘要值。
在一种可能的实施方式中,对于第二管理节点来说,所述方法还包括:第二管理节点接收来自终端设备的第二业务数据,第二业务数据也第一业务生成的,第二管理节点根据第二业务数据生成第七区块,第二管理节点向区块链***中除第二管理节点之前的其他管理节点发送第七区块,请求管理节点第一集合对七五区块执行共识机制,在管理节点第一集合未对第七区块达成共识,第二管理节点以及区块链***中的其他管理节点(第一管理节点、第三管理节点、第四管理节点)丢弃该第七区块。
在一种可能的实施方式中,第五区块还包括所述第一业务的分支权重,对所述第一业务的业务数据进行记账的收益与所述分支权重有关。进一步的,所述第五区块还包括块内记录总数和时间戳,对所述第一业务的业务数据进行记账的收益还与所述块内记录总数和所述时间戳有关。
具体的,传统的公有链下,所有节点争夺同一个信息的记账权,各个节点不断地产生区块分叉,形成共识,再消除分叉,由此浪费了很多计算资源。在本发明实施例的区块链***中,管理节点可以自由地调整记账的子链,通过调节子链上的收益来动态调节管理节点在子链上的分布。例如:对参与度高,分支权重打的业务,提供的收益越高,从而吸引更多的管理节点在对应的子链上参与记账,提高数据篡改的难度,形成对计算资源分布的动态合理调节。。
管理节点在子链上成功记账的收益为Rn(w,TPSn),参数包括:分支权重w和业务的TPS,其中n代表子链上第n个区块,分支权重越大,记账的收益越高;TPS越大,记账的收益越高。分支权重是发布服务时产生的。TPS(Transaction Per Second)是每秒产生的交易数,通过子链上的区块头内的时间戳T和块内记录总数m可以计算得到,计算公式为TPSn=mn/(Tn-Tn-1)。管理节点在生成的区块的区块头中记录获得收益上述的Rn(w,TPSn)。
S604、第一管理节点广播第五区块。
具体的,第一管理节点向区块链***中除第一管理节点之外的各个节点发送第五区块,第二管理节点、第三管理节点和第四管理节点都属于区块链***,因此第二管理节点、第三管理节点和第四管理节点都会接收到第一管理节点的第五区块。
S605、管理节点第一集合对第五区块达成共识。
具体的,管理节点第一集合属于区块链***,管理节点第一集合执行对第五区块的共识过程,对第五区块的共识过程可以利用目前常用的公有链的共识算法,例如:POW算法、POS算法、DOS算法或PBFT算法。
其中,达成共识的第五区块也可以是管理节点第一节中的第二管理节点生成的,具体过程可参照第一管理节点生成第五区块的过程,此处不再赘述。
S606、将第五区块链接到第一区块上。
具体的,第一区块为第一子链中的链尾区块,区块链中的各个管理节点将第五区块链接到第一区块上,对于属于区块链***的第一管理节点、第二管理节点、第三管理节点和第四管理节点来说,第一管理节点将第五区块链接到第一管理节点的本地账本中的第一区块上,第二管理节点将第五区块链接到第二管理节点的本地账本中的第一区块上,第三管理节点将第五区块链接到第三管理节点的本地账本的第一区块上,第四管理节点将第五区块链接到第四管理节点的本地账本中的第一区块上,以实现区块链***中各自的本地账本的同步更新。
在一种可能的实施方式中,如果第二业务数据是第一业务数据之后发送的,但是第一业务数据的发送时间和第二业务数据的发送时间不相邻,第一管理节点需要将达成共识的第五区块链接到第一子链中最新的区块上即可。
S607、第一管理节点将第五区块的记账信息发送给第三管理节点,第三管理节点接收来自第一管理节点的第五区块的记账信息。
具体的,第一管理节点获取第五区块的记账信息,第五区块的记账信息包括第五区块的父区块摘要值和第一业务的业务标识,第一管理节点向管理节点第二集合发送第五区块的记账信息,第三管理节点属于管理节点第二集合,第三节点接收来自第一管理节点的第五区块的记账信息。第五区块的父摘要值为第一区块的摘要值,第一区块的摘要值表示对第一区块进行哈希运算得到的值。
S608、第一管理节点将第五区块的记账信息发送给第四管理节点,第四管理节点接收来自第一管理节点的第五区块的记账信息。
具体的,第四管理节点属于管理节点第二集合,第四管理节点接收来自第一管理节点的第五区块的记账信息。
S609、第三管理节点向第一管理节点发送验证请求,第一管理节点接收来自第三管理节点的验证请求。
具体的,第三管理节点向管理节点第一集合发送验证请求,验证请求用于验证S608中接收到的第五区块的记账信息是否正确,验证请求中可以携带第五区块的记账信息和第五区块的高度,对于属于管理节点第一集合的第一管理节点和第二管理节点都会接收到来自第三管理节点的验证请求。
S610、第三管理节点向第二管理节点发送验证请求,第二管理节点接收来自第三管理节点的验证请求。
S611、第二管理节点向第三管理节点发送验证结果,第三管理节点接收来自第二管理节点的验证结果。
具体的,第二管理节点根据第五区块的高度在第一区块链中确定对应的第五区块,在第五区块中获取第五区块的记账信息,比较第五区块中存储的第五区块的记账信息和验证请求中的第五区块的记账信息是否一致,然后向第三管理节点发送验证结果。
S612、第一管理节点向第三管理节点发送验证结果,第三管理节点接收来自第一管理节点的验证结果。
S613、第三管理节点根据第五区块的记账信息生成第六区块。
具体的,第三管理节点接收管理节点第一集合中各个管理节点发送的验证结果,在管理节点第一集合中所有的管理节点的验证结果为是的情况下,第三管理节点确定第五区块的记账信息是正确的。
其中,第五区块链可以为联盟链,第三管理节点为当前的记账节点。管理节点第二集合中除第三管理节点并不会根据第五区块的记账信息生成区块。
其中,管理节点第二集合中的当前记账节点也可以是第四管理节点,第四管理节点生成第六区块的过程可参照第三管理节点的描述,此处不再赘述。
S614、第三管理节点广播第六区块。
具体的,第三管理节点向区块链***中除第三管理节点之外的其他管理节点发送第六区块,第一管理节点、第二管理节点和第四管理节点属于区块链***,第一管理节点、第二管理节点和第四管理节点均会接收到来自第三管理节点的第六区块。
S615、将第六区块添加到第一区块链中。
具体的,区块链***中的各个管理节点将第六区块添加到本地账本的第一区块链中,将第六区块链接到第一区块链中的链尾区块上,例如:第一区块链中当前的链尾区块为第三区块,将第六区块链接到第三区块上。
在另一种可能的实施方式中,在第二管理节点根据第一业务的第二业务数据生成第五区块时,需要将达成共识的第五区块添加到第一子链中,以及将根据第五区块的记账信息生成的第六区块添加到第一区块链中,基于图1的网络架构,具体过程可参照图7所示的步骤:
S701、终端设备向第一管理节点方第二业务数据,第一管理节点接收来自终端设备的第二业务数据。
S702、终端设备向第二管理节点发送第二业务数据,第二管理节点接收来自终端设备的第二业务数据。
S703、第二管理节点根据第二业务数据生成第五区块。
S704、第二管理节点广播第五区块。
S705、管理节点第一集合对第五区块达成共识。
其中,第一管理节点根据第二业务数据生成第七区块,第一管理节点在区块链***中广播第七区块,确定管理节点第一集合未对第七区块达成共识,第一管理节点以及区块链***中的其他接收到第七区块的管理节点丢弃该第七区块。
S706、将第五区块链接到第一区块上。
S707、第二管理节点将第五区块的记账信息发送给第三管理节点,第三管理节点接收来自第二管理节点发送第第五区块的记账信息。
S708、第二管理节点将第五区块的记账信息发送给第四管理节点,第四管理节点接收来自第二管理节点的第五区块的记账信息。
S709、第三管理节点向第二管理节点发送验证请求,第二管理节点接收来自第三管理节点的验证请求。
S710、第三管理节点向第一管理节点发送验证请求,第一管理节点接收来自第三管理节点的验证请求。
S711、第二管理节点向第三管理节点发送验证结果,第三管理节点接收来自第二管理节点的验证结果。
S712、第一管理节点向第三管理节点发送验证结果,第三管理节点接收来自第一管理节点的验证结果。
S713、第三管理节点根据第五区块的记账信息生成第六区块。
S714、第三管理节点向区块链***广播第六区块。
S715、将第六区块添加到第一区块链中。
其中,S701~S715的具体过程和图6中S601~S615的区别仅在于部分不再的执行主体不同,图7中各个步骤的具体过程可参照图6所示,此处不再赘述。
参见图8,为本发明实施例提供的一种业务数据的处理方法的流程示意图,在本发明实施例基于图1的网络架构,所述方法包括:
S801、终端向第一管理节点发送查询请求,第一管理节点接收来自终端设备的查询请求。
具体的,查询请求中携带业务标识和高度,第一管理节点根据业务标识确定对应的第一子链,然后根据高度在第一子链中确定对应的第一区块,第一区块包括第二区块的摘要值和业务标识,业务标识指示第一子链。
S802、第一管理节点将第一区块发送给终端设备,终端设备接收来自第一管理节点的第一区块。
S803、终端设备向第三管理节点发送验证请求,第三管理节点接收来自终端设备的验证请求。
具体的,验证请求中携带业务标识和第一区块所在的第一子链中的高度。
S804、第三管理节点在第一区块链中查询第一区块对应的第二区块。
具体的,第三管理节点根据业务标识和第一区块所在的子链中的高度在第一区块链中查找第一区块对应的第二区块,第二区块中存储有第一区块的记账信息,第一区块的记账信息包括业务标识和父摘要值。
S805、第三管理节点验证第二区块中记录的父区块摘要值验证请求中携带父摘要值是否相同。
S806、第三管理节点向终端设备发送验证结果,终端设备接收来自第三管理节点的验证结果。
具体的,如果相同,第三管理节点向终端设备发送验证通过的验证结果,反之,发送不通过的验证结果。
S807、终端设备根据验证结果验证第一区块。
具体的,终端设备在接收到验证通过的验证结果时,确定查询到的第一区块是正确的;终端设备在接收到验证不通过的验证结果是,确定查询到的第一区块是错误的。其中,终端设备也可以接收来自第三管理节点的第二区块,终端设备比较第二区块中记录的父摘要值和查询到的第一区块的父摘要值是否相同,根据比较结果来自验证查询到的第一区块是否正确。
实施本发明的实施例,终端设备在业务对应的子链上查询业务数据,避免在整个区块链上查询业务数据,提高业务数据的检索效率。
参见图9至图11,下面就一个具体的实施例对本发明实施例的过程进行说明,图9的区块链***中包括管理节点集合1、管理节点集合2、管理节点集合3和管理节点集合4,管理节点集合1、管理节点集合2、管理节点集合3、管理节点集合4中的的数量为多个,区块链***中任意两个节点之间具有互联互通的能力。区块链***中每个节点存储有一个相同的本地账本,本地账本包括主链、子链1、子链2和子链3,主链包括区块10、区块11、区块12和区块13,子链1包括区块20、区块21、区块,子链2包括区块30和区块31,子链3包括区块40、区块41和区块42。子链1中的首个区块为区块20,区块20链接到区块10上,子链2中的首个区块为区块30,区块30链接到区块11上,子链3中的首个区块为区块40,区块40也链接到区块11上。子链用于记录购车服务的业务数据,子链2用于记录银行贷款的业务数据,子链3用于记录征信业务的业务数据。
其中,购车服务关联管理节点集合2,即管理节点集合2中的各个管理节点竞争购车服务产生的业务数据的记账权,记账成功的管理节点获得相应的收益。银行贷款管理节点集合3,即管理节点集合3中的各个节点竞争银行贷款业务生成的业务数据的记账权,记账成功的管理节点获得相应的收益。征信业务管理管理节点集合4,即管理节点集合4中的各节点竞争征信业务生成的业务数据的记账权,记账成功的管理节点获得相应的收益。
其中,子链1、子链2和子链3的记账收益可以通过分支权重来调节,不同的分支权重对应不同的收益。
用户A通过贷款的形式在4S店购车的过程对本发明实施例的进行详细说明,上述过程涉及征信业务、银行贷款和购车服务三个业务。
a、查询征信记录,用户A向银行申请贷款,银行查询用户A的征信记录,具体在子链3上查询用户A的征信记录,查询过程包括如下步骤:
1、银行终端向管理节点集合4中的管理节点40发送查询请求,查询请求用于查询用户A的征信信息,查询请求携带征信业务的业务标识和用户A的标识,管理节点40接收到查询请求向银行终端返回包括用户A的征信信息的区块42。
2、银行终端接收来自管理节点40的区块42,获取区块42的父区块摘要值和业务标识。
3、银行终端向管理节点集合1的管理节点10发送验证请求,验证请求携带征信业务的业务标识、区块42在子链3中的高度和区块42的父区块摘要值,管理节点10根据上述信息在主链中查询与区块42管理的区块12,在区块12中获取区块42的记账信息,比较区块12中记录的区块42的记账信息中的父区块摘要值与验证请求中的父区块摘要值是否相同,并向管理银行终端返回验证结果。
4、银行终端接收来自管理节点40的验证结果,在验证结果为验证通过是,表明来自管理节点40的区块42是正确的。
(b)如图10所示,银行根据在子链3中查询到的用户A的征信记录确定向用户A发放贷款的过程:
1、银行终端向管理节点集合3发送贷款记录,管理节点集合3中的各个管理节点接收来自银行终端的贷款记录。
2、管理节点集合3中的各个管理节点计算当前交易总数、时间戳和分支权重,得到记账收益,将根据贷款记录生成的区块进行广播,管理节点集合3中的个管理节点争夺对贷款记录的记账权。
3、管理节点集合3中的管理节点30根据贷款记录生成区块32,且管理节点集合3对区块32达成共识,即管理节点30竞争到对贷款记录的记账权。
4、区块***中的节点分别将区块32链接到子链2中的区块31上,同时丢弃其他节点根据该贷款记录生成的区块。
5、管理节点30向管理节点集合1发送区块32的记账信息,区块32的记账信息包括区块31的父区块摘要值和银行贷款的业务标识。
6、主链采用联盟链的方式进行记账,管理节点集合1中当前的记账节点为管理节点10,管理节点10根据区块32的记账信息生成区块14,将区块14链接到主链上的链尾区块(区块13)上,然后向区块链***中其他节点广播区块14,区块链***中的其他节点接收来自管理节点10的区块14,将区块14链接到各自的本地账本的区块13之后,以实现区块链***中各个节点之间的本地账本的同步。
(c)如图11所示,4S店购车过程:4S店终端在子链2上查询用户A的贷款记录,判断用户A的贷款记录是否正确,查询的过程可参照查询用户A的征信记录的过程,此处不再赘述。
4S点终端确定用户A的贷款记录正确后,生成售车记录,请求在子链1上记录售车记录,
记录的过程包括:
1、4S店终端向管理节点集合2发送售车记录,管理节点集合2中的各个管理节点接收来自4S店终端的售车记录。
2、管理节点集合2中的各个管理节点计算当前交易总数、时间戳和分支权重,得到记账收益,将根据贷款记录生成的区块进行广播,管理节点集合2中的个管理节点争夺对贷款记录的记账权。
3、管理节点集合2中的管理节点20根据贷款记录生成区块22,且管理节点集合2对区块22达成共识,即管理节点20竞争到对贷款记录的记账权。
4、区块***中的节点分别将区块22链接到子链1中的区块21上,同时丢弃其他节点根据该贷款记录生成的区块。
5、管理节点20向管理节点集合1发送区块22的记账信息,区块22的记账信息包括区块31的父区块摘要值和购车服务的业务标识。
6、主链采用联盟链的方式进行记账,管理节点集合1中当前的记账节点为管理节点10,管理节点10根据区块22的记账信息生成区块15,将区块15链接到主链上的链尾区块(区块14)上,然后向区块链***中其他节点广播区块15,区块链***中的其他节点接收来自管理节点10的区块15,将区块15链接到各自的本地账本的区块14之后,以实现区块链***中各个节点之间的本地账本的同步。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置的结构示意图,以下简称装置12,装置12包括处理单元1201和收发单元1202,
实施例一:装置12用于执行图5至图7中的实施例中第一管理节点的功能,装置12的具体原理可参照第一管理节点的描述,此处不再赘述。。
其中,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括所述第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点;所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链;
收发单元1202,用于接收所述第一业务的第一业务数据。
处理单元1201,用于根据所述第一业务数据生成第一区块,所述第一区块包括所述第一业务的业务标识和第二区块的摘要值,所述第二区块为所述第一区块链中的链尾区块。
收发单元1202,还用于向所述管理节点第一集合中除所述第一管理节点之外的管理节点以及所述管理节点第二集合发送所述第一区块。
处理单元1201,还用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上形成所述第一区块链的第一子链。
收发单元1202,还用于将所述第一区块的记账信息发送给所述管理节点第二集合,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识。
收发单元1202,还用于接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的。
处理单元1201,还用于将所述第三区块链接到所述第二区块上。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第二管理节点的第四区块,所述第四区块由所述第二管理节点根据所述第一业务数据生成;
处理单元1201,还用于确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
在一种可能的实施方式中,收发单元1202,还用于接收所述第一业务的第二业务数据。
处理单元1201,还用于根据所述第二业务数据生成第五区块;其中,所述第五区块包括所述第一业务的业务标识和所述第一区块的摘要值。
收发单元1202,还用于将第五区块发送给所述管理节点第一集合中除所述第一管理节点之外的其他节点以及所述管理节点第二集合。
处理单元1201,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块添加到所述第一子链中。
收发单元1202,还用于将所述第五区块的记账信息发送给所述管理节点第二集合;其中,第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识。
收发单元1202,还用于接收来自所述第三管理节点的第六区块;其中,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的。
处理单元1201,还用于将所述第六区块链接所述第三区块上。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第三管理节点的验证请求;所述验证请求携带所述第一区块的记账信息。
处理单元1201,还用于验证接收到的所述第一区块的记账信息和所述第一子链中存储的所述第一区块的记账信息是否相同;
收发单元1202,还用于向所述第三管理节点发送验证结果。
在一种可能的实施方式中,收发单元1202,还用于接收来自第二管理节点的第五区块,所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的,所述第五区块包括所述第一区块的摘要值和所述第一业务的业务标识。
处理单元1201,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上。
收发单元1202,还用于接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据第五区块的记账信息生成的。
处理单元1201,还用于将所述第六区块链接到所述第三区块上。
在一种可能的实施方式中,处理单元1201,还用于根据所述第二业务数据生成第七区块;
收发单元1202,还用于向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点和所述管理节点第二集合发送所述第七区块;
处理单元1201,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
在一种可能的实施方式中,所述第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
在一种可能的实施方式中,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
实施例二:装置12用于执行图5至图7中第二管理节点的功能,装置12的具体原理可参照第二管理节点的描述,此处不再赘述。
其中,区块链***包管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理所述第一区块链;
收发单元1202,用于接收来自第一管理节点的第一区块;其中,所述第一区块由所述第一管理节点根据所述第一业务的第一业务数据生成的,所述第一区块包括所述第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块。
处理单元1201,用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链。
收发单元1201,还用于接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识。
处理单元1201,还用于将所述第三区块链接到所述第二区块上。
在一种可能的设计中,收发单元1202,还用于接收来自所述终端设备的所述第一业务数据;
处理单元1201,还用于根据所述第一业务数据生成第四区块;
收发单元1202,还用于向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第四区块;
处理单元1201,还用于确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块;
在一种可能的设计中,收发单元1202,还用于接收来自终端设备的所述第一业务的第二业务数据。
处理单元1201,还用于根据所述第二业务数据生成第七区块。
收发单元1202,还用于向所述管理节点第一集合中除所述第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第七区块。
处理单元1201,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
收发单元1202,还用于接收来自所述第一管理节点的第五区块,第五区块由所述第一管理节点根据所述第二业务数据生成的。
处理单元1201,还用于确定所述管理节点第一集合对第五区块达成共识,将所述第五区块链接到第一区块上。
收发单元1202,还用于接收来自所述第三管理节点的第六区块;所述第六区块是由所述第三管理节点根据第五区块的记账信息生成的;
处理单元1201,还用于将所述第六区块链接到所述第三区块上。
在一种可能的实施方式中,收发单元1202,还用于接收来所述第一业务的第二业务数据;
处理单元1201,还用于根据所述第二业务数据生成第五区块;所述第五区块包括所述第一区块的摘要值和所述第一业务的标识;
收发单元1202,还用于向所述管理节点第一集合中除第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第五区块;
处理单元1201,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
收发单元1202,还用于将所述第五区块的记账信息发送给所述管理节点第二集合;
收发单元1202,还用于接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
处理单元1201,还用于将所述第六区块链接到所述第三区块上。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
实施例三:装置12用于执行图5至图7中第三管理节点的功能,装置12的具体原理可参照第三管理节点的描述,此处不再赘述。。
其中,区块链***包管理节点第一集合和管理节点第二集合,所述第一管理节点和所述第二管理节点属于所述管理节点第一集合,第三管理节点属于管理节点第二集合,所述管理节点第一集合用于处理第一业务的业务数据,所述第二管理集合用于维护所述第一区块链的共识;
收发单元1202,用于接收来自所述第一管理节点的第一区块,第一区块由第一管理节点根据所述第一业务的第一数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块。
处理单元1201,用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到第二区块上以形成所述第一区块链的第一子链。
收发单元1202,还用于接收来自所述第一管理节点的第一区块的记账信息;其中,所述第一区块的记账信息包括所述第一业务的业务标识和所述第二区块的摘要值;
处理单元1201,还用于确定所述管理节点第一集合上验证所述第一区块的记账信息正确,根据所述第一区块的记账信息生成第三区块,将所述第三区块链接到所述第二区块上;
收发单元1202,还用于向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
在一种可能的实施方式中,收发单元1202,还用于接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
处理单元1201,还用于确定管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
收发单元1202,还用于接收来自所述第一管理节点的所述第五区块的记账信息;
处理单元1201,还用于确定所述第一管理节点集合上验证所述第五区块的记账信息正确,根据所述第五区块的记账信息生成第六区块;
收发单元1202,还用于将第六区块链接到第三区块上;
收发单元1202,还用于向管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
在一种可能的实施方式中,收发单元1202,还用于接收来自第二管理节点的第七区块,所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
在一种可能的实施方式中,处理单元1201在所述管理节点第一集合上验证所述第五区块的记账信息包括:
指示所述收发单元向管理节点第一集合发送验证请求;所述验证请求携带所述第五区块的记账信息,所述验证请求用于验证所述管理节点第一集合中各个管理节点存储的所述第五区块的记账信息和所述验证请求中携带的所述第五区块的记账信息是否相同,以及向所述第三管理节点发送验证结果;
根据所述管理节点第一集合中各个管理节点发送的验证结果确定所述第五区块的记账信息是否正确。
在一种可能的实施方式中,收发单元1202,还用于接收来自第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
处理单元1201,还用于确定第一管理节点集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
收发单元1202,还用于接收来自所述第二管理节点的第五区块的记账信息;所述第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
处理单元1201,还用于确定所述管理节点第一集合上验证所述第五区块的记账信息正确,根据所述第五区块的记账信息生成第六区块;
收发单元1202,还用于向所述管理节点第二集合中除所述第二管理节点之外的其他管理节点以及管理节点第二集合发送所述第六区块
处理单元1201,还用于将第六区块链接在所述第三区块上。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第一管理节点发送的第七区块,所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
实施例四:装置12用于执行图5至图7中第四管理节点的功能,装置12的具体原理可参照第四管理节点的描述,此处不再赘述。
其中,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一主链;
收发单元1202,用于接收来自第一管理节点的第一区块;第一区块由第一管理节点根据第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和第一业务的业务标识,所述第二区块是所述第一区块链中的链尾区块;
处理单元1201,用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链;
收发单元1202,还用于接收来自所述第三管理节点的第三区块;其中,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
处理单元1201,还用于将所述第三区块链接到所述第二区块上。
在一种可能的实施方式中,收发单元1202,用于接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
处理单元1201,用于确定所述管理节点第一集合未对所述第三区块达成共识,丢弃所述第四区块。
在一种可能的实施方式中,收发单元1202,用于接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
处理单元1201,用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
收发单元1202,用于接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
处理单元1201,用于将所述第六区块链接到所述第三区块上。
在一种可能的实施方式中,收发单元1202,用于接收来自所述第二管理节点的第七区块;所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
收发单元1202,还用于接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
处理单元1201,还用于将所述第六区块链接到所述第三区块上。
在一种可能的实施方式中,收发单元1202,还用于接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
处理单元1201,还用于确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
实施例五:装置12用于执行图8中终端设备的功能,装置12的具体原理可参照图8中终端设备的描述,此处不再赘述。
其中,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点,所述管理节点第二集合包括第三管理节点,所述管理节点第一集合用于管理第一子链,所述管理节点第二集合用于管理第一区块链;
收发单元1202,用于向所述第一管理节点发送查询请求;其中,所述查询请求携带业务标识,所述查询请求用于请求在所述业务标识指示的所述第一子链中查询第一区块,第一区块包括第二区块的摘要值和业务标识;
收发单元1202,还用于接收所述第一管理节点发送的第一区块;
收发单元1202,还用于向所述第三管理节点发送验证请求;其中,所述验证请求携带所述业务标识、所述第一区块中包括的所述第二区块的摘要值和所述第一区块在所述第一子链中的高度,所述验证请求用于请求在所述第一区块链中查询与所述第一区块对应的第二区块,以及验证所述第二区块中记录的所述第二区块的摘要值和所述子链区块中包括的所述第二区块的摘要值是否相同,以及向所述终端设备发送验证结果;
收发单元1202,还用于接收来自所述第三管理节点的验证结果;
处理单元1201,用于根据所述验证结果确定所述第一区块是否正确。
上述装置实施例仅列出了模块之间的逻辑功能,具体的执行过程与有益效果请参照其对应的方法实施例。
装置12可以是终端设备或管理节点,也可以为实现相关功能的现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,***芯片(system on chip,SoC),中央处理器(central processor unit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controller unit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
图13为本发明实施例提供的一种装置结构示意图,以下简称装置13,装置13可以集成于前述的管理节点或终端设备,如图13所示,该装置包括:存储器1302、处理器1301、收发器1303。
存储器1302可以是独立的物理单元,与处理器1301和收发器1303可以通过总线连接。存储器1302、处理器1301、收发器1303也可以集成在一起,通过硬件实现等。
存储器1302用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器1201调用该程序,执行以上方法实施例的操作。
可选地,当上述实施例的业务数据的处理方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
上述实施例中,发送模块或发射器执行上述各个方法实施例发送的步骤,接收模块或接收器执行上述各个方法实施例接收的步骤,其它步骤由其他模块或处理器执行。发送模块和接收模块可以组成收发模块,接收器和发射器可以组成收发器。
本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的业务数据的处理方法。
本申请实施例还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的业务数据的处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包括有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (55)
1.一种业务数据的处理方法,其特征在于,所述处理方法应用于区块链***中的第一管理节点,所述区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括所述第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点;所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链;
所述处理方法包括:
接收所述第一业务的第一业务数据;
根据所述第一业务数据生成第一区块,所述第一区块包括所述第一业务的业务标识和第二区块的摘要值,所述第二区块为所述第一区块链中的链尾区块;
向所述管理节点第一集合中除所述第一管理节点之外的管理节点以及所述管理节点第二集合发送所述第一区块;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上形成所述第一区块链的第一子链;
将所述第一区块的记账信息发送给所述管理节点第二集合,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的;
将所述第三区块链接到所述第二区块上。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一区块链接到所述第二区块上形成所述第一区块链的第一子链之前,还包括:
接收来自所述第二管理节点的第四区块,所述第四区块由所述第二管理节点根据所述第一业务数据生成;
确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收所述第一业务的第二业务数据;
根据所述第二业务数据生成第五区块;其中,所述第五区块包括所述第一业务的业务标识和所述第一区块的摘要值;
将第五区块发送给所述管理节点第一集合中除所述第一管理节点之外的其他节点以及所述管理节点第二集合;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块添加到所述第一子链中;
将所述第五区块的记账信息发送给所述管理节点第二集合;其中,第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
所述第一管理节点接收来自所述第三管理节点的第六区块;其中,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接所述第三区块上。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述接收来自所述第三管理节点的第三区块之前,还包括:
接收来自第三管理节点的验证请求;所述验证请求携带所述第一区块的记账信息;
验证接收到的所述第一区块的记账信息和所述第一子链中存储的所述第一区块的记账信息是否相同;
向所述第三管理节点发送验证结果。
5.根据权利要求1或2所述的方法,其特征在于,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自第二管理节点的第五区块,所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的,所述第五区块包括所述第一区块的摘要值和所述第一业务的业务标识;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据所述第二业务数据生成第七区块;
向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点和所述管理节点第二集合发送所述第七区块;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
8.根据权利要求7所述的方法,其特征在于,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
9.一种业务数据的处理方法,其特征在于,所述处理方法应用于区块链***中的第二管理节点,所述区块链***包管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链;
所述处理方法包括:
接收来自第一管理节点的第一区块;其中,所述第一区块由所述第一管理节点根据所述第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链;
接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
将所述第三区块链接到所述第二区块上。
10.根据权利要求9所述的方法,其特征在于,还包括:
接收来自终端设备的所述第一业务数据;
根据所述第一业务数据生成第四区块;
向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第四区块;
确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
11.根据权利要求9或10所述的方法,其特征在于,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自终端设备的所述第一业务的第二业务数据;
根据所述第二业务数据生成第七区块;
向所述管理节点第一集合中除所述第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第七区块;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块;
接收来自所述第一管理节点的第五区块,第五区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合对第五区块达成共识,将所述第五区块链接到第一区块上;
接收来自所述第三管理节点的第六区块;所述第六区块是由所述第三管理节点根据第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
12.根据权利要求9或10所述的方法,其特征在于,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来所述第一业务的第二业务数据;
根据所述第二业务数据生成第五区块;所述第五区块包括所述第一区块的摘要值和所述第一业务的标识;
向所述管理节点第一集合中除第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第五区块;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
将所述第五区块的记账信息发送给所述管理节点第二集合;
接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
13.根据权利要求12所述的方法,其特征在于,还包括:
接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
14.一种业务数据的处理方法,其特征在于,所述处理方法应用于区块链***中的第三管理节点,所述区块链***包管理节点第一集合和管理节点第二集合,第一管理节点和第二管理节点属于所述管理节点第一集合,第三管理节点属于管理节点第二集合,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于维护第一区块链的共识;
所述处理方法包括:
接收来自所述第一管理节点的第一区块,第一区块由第一管理节点根据所述第一业务的第一数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到第二区块上以形成所述第一区块链的第一子链;
接收来自所述第一管理节点的第一区块的记账信息;其中,所述第一区块的记账信息包括所述第一业务的业务标识和所述第二区块的摘要值;
在所述管理节点第一集合上验证所述第一区块的记账信息正确时,根据所述第一区块的记账信息生成第三区块,将所述第三区块链接到所述第二区块上;
向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
15.根据权利要求14所述的方法,其特征在于,还包括:
接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
确定管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
16.根据权利要求14或15所述的方法,其特征在于,所述向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块之后,还包括:
接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第一管理节点的所述第五区块的记账信息;
在所述第一管理节点集合上验证所述第五区块的记账信息正确时,根据所述第五区块的记账信息生成第六区块;
将第六区块链接到第三区块上;
向管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
17.根据权利要求16所述的方法,其特征在于,还包括:
接收来自第二管理节点的第七区块,所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
18.根据权利要求16或17所述的方法,其特征在于,所述在所述管理节点第一集合上验证所述第五区块的记账信息包括:
向管理节点第一集合发送验证请求;所述验证请求携带所述第五区块的记账信息,所述验证请求用于验证所述管理节点第一集合中各个管理节点存储的所述第五区块的记账信息和所述验证请求中携带的所述第五区块的记账信息是否相同,以及向所述第三管理节点发送验证结果;
根据所述管理节点第一集合中各个管理节点发送的验证结果确定所述第五区块的记账信息是否正确。
19.根据权利要求14或15所述的方法,其特征在于,所述向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块之后,还包括:
接收来自第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
确定第一管理节点集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第二管理节点的第五区块的记账信息;所述第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
确定所述管理节点第一集合上验证所述第五区块的记账信息正确时,根据所述第五区块的记账信息生成第六区块;
向所述管理节点第二集合中除所述第二管理节点之外的其他管理节点以及管理节点第二集合发送所述第六区块
将第六区块链接在所述第三区块上。
20.根据权利要求19所述的方法,其特征在于,还包括:
接收来自所述第一管理节点发送的第七区块,所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
21.一种业务数据的处理方法,其特征在于,所述处理方法应用于区块链***中的第四管理节点,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一主链;
所述处理方法包括:
接收来自第一管理节点的第一区块;第一区块由第一管理节点根据第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和第一业务的业务标识,所述第二区块是所述第一区块链中的链尾区块;
确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链;
接收来自所述第三管理节点的第三区块;其中,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
将所述第三区块链接到所述第二区块上。
22.根据权利要求21所述的方法,其特征在于,还包括:
接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
确定所述管理节点第一集合未对所述第三区块达成共识,丢弃所述第四区块。
23.根据权利要求21或22所述的方法,其特征在于,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
24.根据权利要求23所述的方法,其特征在于,还包括:
接收来自所述第二管理节点的第七区块;所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
25.根据权利要求21或22所述的方法,其特征在于,所述将所述第三区块链接到所述第二区块上之后,还包括:
接收来自所述第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
26.根据权利要求25所述的方法,其特征在于,还包括:
接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
27.一种业务数据的处理方法,其特征在于,所述处理方法应用于终端设备,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点,所述管理节点第二集合包括第三管理节点,所述管理节点第一集合用于管理第一子链,所述管理节点第二集合用于管理第一区块链;
所述处理方法包括:
向所述第一管理节点发送查询请求;其中,所述查询请求携带业务标识,所述查询请求用于请求在所述业务标识指示的所述第一子链中查询第一区块,第一区块包括第二区块的摘要值和业务标识;
接收所述第一管理节点发送的第一区块;
向所述第三管理节点发送验证请求;其中,所述验证请求携带所述业务标识、所述第一区块中包括的所述第二区块的摘要值和所述第一区块在所述第一子链中的高度,所述验证请求用于请求在所述第一区块链中查询与所述第一区块对应的第二区块,以及验证所述第二区块中记录的所述第二区块的摘要值和所述子链区块中包括的所述第二区块的摘要值是否相同,以及向所述终端设备发送验证结果;
接收来自所述第三管理节点的验证结果;
根据所述验证结果确定所述第一区块是否正确。
28.一种管理节点,其特征在于,所述管理节点为第一管理节点,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括所述第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点;所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链;
所述第一管理节点包括:
收发单元,用于接收所述第一业务的第一业务数据;
处理单元,用于根据所述第一业务数据生成第一区块,所述第一区块包括所述第一业务的业务标识和第二区块的摘要值,所述第二区块为所述第一区块链中的链尾区块;
所述收发单元,还用于向所述管理节点第一集合中除所述第一管理节点之外的管理节点以及所述管理节点第二集合发送所述第一区块;
所述处理单元,还用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上形成所述第一区块链的第一子链;
所述收发单元,还用于将所述第一区块的记账信息发送给所述管理节点第二集合,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
所述收发单元,还用于接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的;
所述处理单元,还用于将所述第三区块链接到所述第二区块上。
29.根据权利要求28所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第二管理节点的第四区块,所述第四区块由所述第二管理节点根据所述第一业务数据生成;
所述处理单元,还用于确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
30.根据权利要求28或29所述的管理节点,其特征在于,
所述收发单元,还用于接收所述第一业务的第二业务数据;
所述处理单元,还用于根据所述第二业务数据生成第五区块;其中,所述第五区块包括所述第一业务的业务标识和所述第一区块的摘要值;
所述收发单元,还用于将第五区块发送给所述管理节点第一集合中除所述第一管理节点之外的其他节点以及所述管理节点第二集合;
所述处理单元,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块添加到所述第一子链中;
所述收发单元,还用于将所述第五区块的记账信息发送给所述管理节点第二集合;其中,第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
所述收发单元,还用于接收来自所述第三管理节点的第六区块;其中,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
所述处理单元,还用于将所述第六区块链接所述第三区块上。
31.根据权利要求28至30任意一项所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第三管理节点的验证请求;所述验证请求携带所述第一区块的记账信息;
所述处理单元,还用于验证接收到的所述第一区块的记账信息和所述第一子链中存储的所述第一区块的记账信息是否相同;
所述收发单元,还用于向所述第三管理节点发送验证结果。
32.根据权利要求28或29所述的管理节点,其特征在于,
所述收发单元,还用于接收来自第二管理节点的第五区块,所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的,所述第五区块包括所述第一区块的摘要值和所述第一业务的业务标识;
所述处理单元,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
所述收发单元,还用于接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据第五区块的记账信息生成的;
所述处理单元,还用于将所述第六区块链接到所述第三区块上。
33.根据权利要求32所述的管理节点,其特征在于,
所述处理单元,还用于根据所述第二业务数据生成第七区块;
所述收发单元,还用于向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点和所述管理节点第二集合发送所述第七区块;
所述处理单元,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
34.根据权利要求28至33任意一项所述的管理节点,其特征在于,所述第一子链中的区块包括所述第一业务的分支权重,在所述第一子链上进行记账的收益与所述分支权重有关。
35.根据权利要求34所述的管理节点,其特征在于,所述第一子链中的区块还包括块内记录总数和时间戳,在所述第一子链上进行记账的收益还与所述块内记录总数和所述时间戳有关。
36.一种管理节点,其特征在于,所述管理节点为第二管理节点,区块链***包管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链;
所述第二管理节点包括:
收发单元,用于接收来自第一管理节点的第一区块;其中,所述第一区块由所述第一管理节点根据所述第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块;
处理单元,用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链;
所述收发单元,还用于接收来自所述第三管理节点的第三区块,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
所述处理单元,还用于将所述第三区块链接到所述第二区块上。
37.根据权利要求36所述的管理节点,其特征在于,
所述收发单元,还用于接收来自终端设备的所述第一业务数据;
所述处理单元,还用于根据所述第一业务数据生成第四区块;
所述收发单元,还用于向所述管理节点第一集合中除所述第一管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第四区块;
所述处理单元,还用于确定所述管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
38.根据权利要求36或37所述的管理节点,其特征在于,
所述收发单元,还用于接收来自终端设备的所述第一业务的第二业务数据;
所述处理单元,还用于根据所述第二业务数据生成第七区块;
所述收发单元,还用于向所述管理节点第一集合中除所述第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第七区块;
所述处理单元,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块;
所述收发单元,还用于接收来自所述第一管理节点的第五区块,第五区块由所述第一管理节点根据所述第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合对第五区块达成共识,将所述第五区块链接到第一区块上;
所述收发单元,还用于接收来自所述第三管理节点的第六区块;所述第六区块是由所述第三管理节点根据第五区块的记账信息生成的;
将所述第六区块链接到所述第三区块上。
39.根据权利要求36或37所述的管理节点,其特征在于,
所述收发单元,还用于接收来所述第一业务的第二业务数据;
所述处理单元,还用于根据所述第二业务数据生成第五区块;所述第五区块包括所述第一区块的摘要值和所述第一业务的标识;
所述收发单元,还用于向所述管理节点第一集合中除第二管理节点之外的其他管理节点以及所述管理节点第二集合发送所述第五区块;
所述处理单元,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
所述收发单元,还用于将所述第五区块的记账信息发送给所述管理节点第二集合;
所述收发单元,还用于接收来自所述第三管理节点的第六区块,所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
所述处理单元,还用于将所述第六区块链接到所述第三区块上。
40.根据权利要求38所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
41.一种管理节点,其特征在于,所述管理节点为第三管理节点,区块链***包管理节点第一集合和管理节点第二集合,第一管理节点和第二管理节点属于所述管理节点第一集合,第三管理节点属于管理节点第二集合,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于维护第一区块链的共识;
所述第三管理节点包括:
收发单元,用于接收来自所述第一管理节点的第一区块,第一区块由第一管理节点根据所述第一业务的第一数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块;
处理单元,用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到第二区块上以形成所述第一区块链的第一子链;
所述收发单元,还用于接收来自所述第一管理节点的第一区块的记账信息;其中,所述第一区块的记账信息包括所述第一业务的业务标识和所述第二区块的摘要值;
所述处理单元,还用于确定所述管理节点第一集合上验证所述第一区块的记账信息正确,根据所述第一区块的记账信息生成第三区块,将所述第三区块链接到所述第二区块上;
所述收发单元,还用于向所述管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
42.根据权利要求41所述的管理节点,其特征在于,
所述收发单元,还用于接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
所述处理单元,还用于确定管理节点第一集合未对所述第四区块达成共识,丢弃所述第四区块。
43.根据权利要求41或42所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
所述收发单元,还用于接收来自所述第一管理节点的所述第五区块的记账信息;
所述处理单元,还用于确定所述第一管理节点集合上验证所述第五区块的记账信息正确,根据所述第五区块的记账信息生成第六区块;
所述收发单元,还用于将第六区块链接到第三区块上;
所述收发单元,还用于向管理节点第二集合中除所述第三管理节点之外的其他节点以及所述管理节点第一集合发送所述第三区块。
44.根据权利要求43所述的管理节点,其特征在于,
所述收发单元,还用于接收来自第二管理节点的第七区块,所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
45.根据权利要求43或44所述的管理节点,其特征在于,所述处理单元在所述管理节点第一集合上验证所述第五区块的记账信息包括:
指示所述收发单元向管理节点第一集合发送验证请求;所述验证请求携带所述第五区块的记账信息,所述验证请求用于验证所述管理节点第一集合中各个管理节点存储的所述第五区块的记账信息和所述验证请求中携带的所述第五区块的记账信息是否相同,以及向所述第三管理节点发送验证结果;
根据所述管理节点第一集合中各个管理节点发送的验证结果确定所述第五区块的记账信息是否正确。
46.根据权利要求41或42所述的管理节点,其特征在于,
所述收发单元,还用于接收来自第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
所述处理单元,还用于确定第一管理节点集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
所述收发单元,还用于接收来自所述第二管理节点的第五区块的记账信息;所述第五区块的记账信息包括所述第一区块的摘要值和所述第一业务的业务标识;
所述处理单元,还用于确定所述管理节点第一集合上验证所述第五区块的记账信息正确,根据所述第五区块的记账信息生成第六区块;
所述收发单元,还用于向所述管理节点第二集合中除所述第二管理节点之外的其他管理节点以及管理节点第二集合发送所述第六区块
所述处理单元,还用于将第六区块链接在所述第三区块上。
47.根据权利要求46所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第一管理节点发送的第七区块,所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合未对所述第七区块达成共识,丢弃所述第七区块。
48.一种管理节点,其特征在于,所述管理节点为第四管理节点,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点和第二管理节点,所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一主链;
所述第四管理节点包括:
收发单元,用于接收来自第一管理节点的第一区块;第一区块由第一管理节点根据第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和第一业务的业务标识,所述第二区块是所述第一区块链中的链尾区块;
处理单元,用于确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上以形成所述第一区块链的第一子链;
所述收发单元,还用于接收来自所述第三管理节点的第三区块;其中,所述第三区块由所述第三管理节点根据所述第一区块的记账信息生成的,所述第一区块的记账信息包括所述第二区块的摘要值和所述第一业务的业务标识;
所述处理单元,还用于将所述第三区块链接到所述第二区块上。
49.根据权利要求48所述的管理节点,其特征在于,
收发单元,用于接收来自第二管理节点的第四区块;所述第四区块由所述第二管理节点根据所述第一业务数据生成的;
处理单元,用于确定所述管理节点第一集合未对所述第三区块达成共识,丢弃所述第四区块。
50.根据权利要求48或49所述的管理节点,其特征在于,
所述收发单元,用于接收来自所述第一管理节点的第五区块;所述第五区块由所述第一管理节点根据所述第一业务的第二业务数据生成的;
所述处理单元,用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
所述收发单元,用于接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
所述处理单元,用于将所述第六区块链接到所述第三区块上。
51.根据权利要求50所述的管理节点,其特征在于,
所述收发单元,用于接收来自所述第二管理节点的第七区块;所述第七区块由所述第二管理节点根据所述第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
52.根据权利要求48或49所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第二管理节点的第五区块;所述第五区块由所述第二管理节点根据所述第一业务的第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合对所述第五区块达成共识,将所述第五区块链接到所述第一区块上;
所述收发单元,还用于接收来自所述第三管理节点的第六区块;所述第六区块由所述第三管理节点根据所述第五区块的记账信息生成的;
所述处理单元,还用于将所述第六区块链接到所述第三区块上。
53.根据权利要求52所述的管理节点,其特征在于,
所述收发单元,还用于接收来自所述第一管理节点的第七区块;所述第七区块由所述第一管理节点根据所述第二业务数据生成的;
所述处理单元,还用于确定所述管理节点第一集合未对所述第五区块达成共识,丢弃所述第七区块。
54.一种终端设备,其特征在于,区块链***包括管理节点第一集合和管理节点第二集合,所述管理节点第一集合包括第一管理节点,所述管理节点第二集合包括第三管理节点,所述管理节点第一集合用于管理第一子链,所述管理节点第二集合用于管理第一区块链;
所述终端设备包括:
收发单元,用于向所述第一管理节点发送查询请求;其中,所述查询请求携带业务标识,所述查询请求用于请求在所述业务标识指示的所述第一子链中查询第一区块,第一区块包括第二区块的摘要值和业务标识;
所述收发单元,还用于接收所述第一管理节点发送的第一区块;
所述收发单元,还用于向所述第三管理节点发送验证请求;其中,所述验证请求携带所述业务标识、所述第一区块中包括的所述第二区块的摘要值和所述第一区块在所述第一子链中的高度,所述验证请求用于请求在所述第一区块链中查询与所述第一区块对应的第二区块,以及验证所述第二区块中记录的所述第二区块的摘要值和所述子链区块中包括的所述第二区块的摘要值是否相同,以及向所述终端设备发送验证结果;
所述收发单元,还用于接收来自所述第三管理节点的验证结果;
处理单元,用于根据所述验证结果确定所述第一区块是否正确。
55.一种区块链***,其特征在于,所述区块链***包括管理节点第一集合、管理节点第二集合和管理节点第三集合;所述管理节点第二集合包括第三管理节点和第四管理节点,所述管理节点第一集合用于处理第一业务的业务数据,所述管理节点第二集合用于管理第一区块链,所述管理节点第三集合用于处理第二业务的业务数据;
所述第三管理节点,用于接收来自所述管理节点第一集合中的记账节点的第一区块,第一区块由所述管理节点第一集合中的记账节点根据所述第一业务的第一业务数据生成的,所述第一区块包括第二区块的摘要值和所述第一业务的业务标识,所述第二区块为所述第一区块链中的链尾区块;确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到第二区块上以形成所述第一区块链的第一子链;接收来自所述管理节点第一集合中的记账节点的第一区块的记账信息,所述第一区块的记账信息包括所述第一业务的业务标识和所述第二区块的摘要值;在所述管理节点第一集合上验证所述第一区块的记账信息正确时,根据所述第一区块的记账信息生成第三区块,将所述第三区块链接到所述第二区块上;向所述区块链***广播所述第三区块;
所述第四管理节点,用于接收来自所述管理节点第一集合中的记账节点的第一区块;确定所述管理节点第一集合对所述第一区块达成共识,将所述第一区块链接到所述第二区块上形成所述第一区块链的第一子链;接收来自所述第三管理节点的第三区块;将所述第三区块链接到所述第二区块上;
所述第三管理节点,还用于接收来自所述管理节点第三集合中的记账节点的第四区块;所述第四区块由所述管理节点第三集合中的记账节点根据所述第二业务的第一业务数据生成的;确定所述管理节点第三集合对所述第四区块达成共识,将所述第四区块链接到所述第三区块上形成所述第一区块链的第二子链;接收来自所述管理节点第三集合中的记账节点的第四区块的记账信息,所述第四区块的记账信息包括所述第二业务的业务标识和所述第四区块的摘要值;在所述管理节点第三集合上验证所述第四区块的记账信息正确时,根据所述第四区块的记账信息生成第五区块,将所述第五区块链接到所述第三区块上;向所述区块链***广播所述第五区块;
所述第四管理节点,还用于接收来自所述管理节点第三集合中的记账节点的所述第四区块;确定所述管理节点第三集合对所述第四区块达成共识,将所述第四区块链接到所述第三区块上形成所述第一区块链的第二子链;接收来自所述第三管理节点的所述第五区块,将所述第五区块链接到所述第三区块上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811215247.XA CN111080287B (zh) | 2018-10-18 | 2018-10-18 | 一种业务数据的处理方法、相关设备和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811215247.XA CN111080287B (zh) | 2018-10-18 | 2018-10-18 | 一种业务数据的处理方法、相关设备和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111080287A CN111080287A (zh) | 2020-04-28 |
CN111080287B true CN111080287B (zh) | 2023-06-16 |
Family
ID=70308741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811215247.XA Active CN111080287B (zh) | 2018-10-18 | 2018-10-18 | 一种业务数据的处理方法、相关设备和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111080287B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111798317B (zh) * | 2020-07-07 | 2024-05-07 | Gotcex有限公司 | 多维空间区块链及基于该区块链的数据处理方法 |
CN113704813A (zh) * | 2021-07-20 | 2021-11-26 | 武汉理工大学 | 海工装备二级标识数据存储方法及***、验证方法及*** |
CN113726740B (zh) * | 2021-07-27 | 2022-12-09 | 武汉理工大学 | 面向海工装备二级节点的数据存储方法、防护方法及*** |
CN114047980B (zh) * | 2021-11-29 | 2024-01-19 | 珠海格力电器股份有限公司 | 可编程控制器配置数据的管理*** |
CN115774760B (zh) * | 2022-12-12 | 2023-08-22 | 北京辰极智程信息技术股份有限公司 | 一种基于人工智能和区块链的数据处理及数据分析*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
CN107395665A (zh) * | 2017-05-22 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链业务受理及业务共识方法及装置 |
CN107450981A (zh) * | 2017-05-31 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及设备 |
WO2018059334A1 (zh) * | 2016-09-29 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 区块链网络、分支节点、区块链网络应用方法及存储介质 |
WO2018171539A1 (zh) * | 2017-03-21 | 2018-09-27 | 阿里巴巴集团控股有限公司 | 一种业务请求的处理方法及装置 |
CN108629588A (zh) * | 2018-05-09 | 2018-10-09 | 合肥达朴汇联科技有限公司 | 一种用于区块链共识达成的计算机可读介质 |
CN108650328A (zh) * | 2018-05-22 | 2018-10-12 | 河海大学常州校区 | 一种云服务平台中数据信息记录与存储的区块链*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
US10657526B2 (en) * | 2016-10-28 | 2020-05-19 | International Business Machines Corporation | System and method to dynamically setup a private sub-blockchain based on agility of transaction processing |
US10586210B2 (en) * | 2016-11-30 | 2020-03-10 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
US11095432B2 (en) * | 2017-04-05 | 2021-08-17 | Samsung Sds Co., Ltd. | System for processing data based on blockchain and operating method thereof |
-
2018
- 2018-10-18 CN CN201811215247.XA patent/CN111080287B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059334A1 (zh) * | 2016-09-29 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 区块链网络、分支节点、区块链网络应用方法及存储介质 |
WO2018171539A1 (zh) * | 2017-03-21 | 2018-09-27 | 阿里巴巴集团控股有限公司 | 一种业务请求的处理方法及装置 |
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
CN107395665A (zh) * | 2017-05-22 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链业务受理及业务共识方法及装置 |
CN107450981A (zh) * | 2017-05-31 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及设备 |
CN108629588A (zh) * | 2018-05-09 | 2018-10-09 | 合肥达朴汇联科技有限公司 | 一种用于区块链共识达成的计算机可读介质 |
CN108650328A (zh) * | 2018-05-22 | 2018-10-12 | 河海大学常州校区 | 一种云服务平台中数据信息记录与存储的区块链*** |
Also Published As
Publication number | Publication date |
---|---|
CN111080287A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111080287B (zh) | 一种业务数据的处理方法、相关设备和*** | |
US20220129439A1 (en) | High throughput blockchain consensus systems and methods with low finalization time | |
US11128522B2 (en) | Changing a master node in a blockchain system | |
CN109314636B (zh) | 用于从区块链中安全提取数据的密码方法和*** | |
WO2019174430A1 (zh) | 区块链数据处理方法、管理端、用户端、转换装置及介质 | |
US20200134578A1 (en) | Blockchain consensus systems and methods involving a time parameter | |
JP7003995B2 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
CN113806699B (zh) | 一种云际计算环境中跨区块链身份验证方法及*** | |
CN112348518B (zh) | 一种区块链交易证明的方法及装置 | |
CN105187218B (zh) | 一种多核心基础设施的数字化记录签名、验证方法 | |
CN111640018B (zh) | 一种区块链交易存在性验证方法及装置 | |
US20220278854A1 (en) | Unity Protocol Consensus | |
JP2022551874A (ja) | セキュアな共生(Symbiosis)マイニングのための方法および装置 | |
Hong et al. | A secure peer to peer multiparty transaction scheme based on blockchain | |
WO2021227867A1 (zh) | 去中心化分布式数据库的形成方法及***、电子设备及计算机可读存储介质 | |
Li et al. | Jenga: Orchestrating smart contracts in sharding-based blockchain for efficient processing | |
Hsueh et al. | EPoW: Solving blockchain problems economically | |
US20220309504A1 (en) | Multi-criteria blockchain protocol | |
CN111260364A (zh) | 一种基于区块链的可扩展快速支付方法及*** | |
CN114172661B (zh) | 一种数字资产的双向跨链方法、***及装置 | |
KR20200107113A (ko) | 블록체인을 활용한 신뢰도 기반 전력 거래 방법 및 시스템 | |
CN115021944A (zh) | 基于聚合签名和时空证明算法的共识方法及装置 | |
CN111524011B (zh) | 平行链共识确认方法、设备和存储介质 | |
Suresh et al. | A hybrid proof based consensus algorithm for permission less blockchain | |
KR20210127231A (ko) | 동력화된 ID (Energized Identity) 기반 블록체인 |
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 |