CN113421097A - 一种数据处理方法、装置、计算机设备及存储介质 - Google Patents
一种数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113421097A CN113421097A CN202110965200.0A CN202110965200A CN113421097A CN 113421097 A CN113421097 A CN 113421097A CN 202110965200 A CN202110965200 A CN 202110965200A CN 113421097 A CN113421097 A CN 113421097A
- Authority
- CN
- China
- Prior art keywords
- block
- service
- node
- chain
- consensus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000004806 packaging method and process Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 133
- 230000008859 change Effects 0.000 claims description 82
- 238000000034 method Methods 0.000 claims description 46
- 238000009795 derivation Methods 0.000 claims description 41
- 230000001360 synchronised effect Effects 0.000 claims description 22
- 238000012856 packing Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000002955 isolation Methods 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000013475 authorization Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000011835 investigation Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 238000012858 packaging process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/3825—Use of electronic signatures
-
- 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
-
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/123—Tax preparation or submission
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、计算机设备及存储介质,包括:接收业务节点发送的待上链交易以及目标链标识;目标链标识属于为业务节点所配置的M个链标识;M个链标识属于核心共识网络所注册的N个业务分支链的链标识;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;基于目标链标识对应的派生条件,对待上链交易进行打包处理得到待验证区块,基于目标链标识将待验证区块发送至核心共识网络中的共识节点;接收共识节点返回的第一区块共识结果,若第一区块共识结果指示共识成功,则基于创世块将待验证区块写入至目标链标识对应的业务分支链。采用本申请实施例,可以有效区分不同交易业务以及提高***效率。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
现有区块链节点***对应的区块链网络中可以包括一条区块链,该区块链网络中的业务节点生成的所有交易业务对应的交易,均需要记录在这条区块链上。该区块链网络中的共识节点在接收到业务节点发送的交易时,需要将接收到的所有交易存储至该共识节点的节点交易池,以使所有交易在该节点交易池中进行排队,从而得到排队结果。进一步地,该共识节点可以将每个交易按照排队结果写入该条区块链。
可以理解的是,由于业务节点生成的所有交易均需要写入同一条区块链,这样导致该区块链上将会存储不同交易业务对应的交易,进而无法有效区分该条区块链上的不同交易业务。此外,这种简单的排队方式导致业务节点生成的交易在该节点交易池中等待时间过长,从而造成资源过度浪费,以至于降低业务交易的上链效率和共识效率,进而降低了***效率。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备及存储介质,可以有效区分不同交易业务以及提高***效率。
本申请实施例一方面提供一种数据处理方法,包括:
接收由业务网络中的业务节点发送的待上链交易以及待上链交易对应的目标链标识;目标链标识属于核心共识网络为业务节点所配置的M个链标识;M个链标识属于核心共识网络所注册的N个业务分支链的链标识;M为小于或者等于N的正整数;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的;业务网络与核心共识网络均为区块链网络中的子网络;
基于目标链标识对应的派生条件,对待上链交易进行打包处理,得到用于广播至核心共识网络中的待验证区块,基于目标链标识,将待验证区块发送至核心共识网络中的共识节点,以使共识节点对待验证区块进行区块共识;目标链标识对应的派生条件用于在基础主链中确定目标链标识对应的业务分支链的创世块;
接收共识节点针对待验证区块返回的第一区块共识结果,若第一区块共识结果指示共识成功,则基于创世块,将待验证区块写入至目标链标识对应的业务分支链。
本申请实施例一方面提供一种数据处理装置,包括:
接收模块,用于接收由业务网络中的业务节点发送的待上链交易以及待上链交易对应的目标链标识;目标链标识属于核心共识网络为业务节点所配置的M个链标识;M个链标识属于核心共识网络所注册的N个业务分支链的链标识;M为小于或者等于N的正整数;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的;业务网络与核心共识网络均为区块链网络中的子网络;
待验证区块打包模块,用于基于目标链标识对应的派生条件,对待上链交易进行打包处理,得到用于广播至核心共识网络中的待验证区块,基于目标链标识,将待验证区块发送至核心共识网络中的共识节点,以使共识节点对待验证区块进行区块共识;目标链标识对应的派生条件用于在基础主链中确定目标链标识对应的业务分支链的创世块;
待验证区块写入模块,用于接收共识节点针对待验证区块返回的第一区块共识结果,若第一区块共识结果指示共识成功,则基于创世块,将待验证区块写入至目标链标识对应的业务分支链。
其中,该装置还包括:
业务注册信息获取模块,用于将N个交易业务的下一交易业务作为待创建业务,获取与待创建业务相关联的业务注册信息;业务注册信息包括待创建业务所对应的待派生业务分支链的待派生链标识、待创建业务的业务配置信息以及待派生链标识对应的派生条件;待派生链标识与N个业务分支链中的每个业务分支链对应的链标识均不同;
注册区块打包模块,用于从基础主链中获取用于对待派生业务分支链进行分支注册的智能合约,调用智能合约对业务注册信息进行打包处理,生成用于广播至核心共识网络中的分支链注册区块;
注册区块写入模块,用于在将分支链注册区块成功写入至基础主链时,将待派生业务分支链作为由基础主链所派生的第(N+1)个业务分支链。
其中,该接收模块包括:
交易上链请求获取单元,用于获取路由代理网络中的代理节点转发的交易上链请求;路由代理网络属于区块链网络中的子网络,且路由代理网络用于对区块链网络中的业务网络和核心共识网络进行网络隔离;交易上链请求是业务网络中的业务节点所生成的;交易上链请求包括待上链交易、待上链交易对应的目标链标识、待上链交易对应的交易签名信息以及业务节点的节点标识;交易签名信息为业务节点基于业务节点的节点私钥,对待上链交易进行签名后所得到的;
验签单元,用于获取业务节点的节点公钥,基于业务节点的节点公钥,对交易签名信息进行验签,得到验签结果;
交易验证单元,用于在验签结果指示验签成功时,基于目标链标识以及业务节点的节点标识,对待上链交易进行交易验证,得到交易验证结果;
目标链标识获取单元,用于若交易验证结果指示交易验证成功,则确定交易上链请求为合法请求,且从交易上链请求中获取待上链交易以及目标链标识。
其中,该交易验证单元包括:
校验注册信息获取子单元,用于在验签结果指示验签成功时,从基础主链中获取与目标链标识对应的业务分支链相关联的注册信息,将获取到的注册信息确定为校验注册信息;
标识查找子单元,用于获取校验注册信息中的业务节点配置信息,在业务节点配置信息中查找与业务节点的节点标识相匹配的配置节点标识;配置节点标识对应的业务节点是核心共识网络为目标链标识对应的业务分支链所配置的;配置节点标识对应的业务节点用于执行目标链标识对应的交易业务;
交易验证结果确定子单元,用于若业务节点配置信息中存在与业务节点的节点标识相匹配的配置节点标识,则得到用于指示交易验证成功的交易验证结果。
其中,在核心共识网络中用于接收目标链标识的共识节点为具有第一共识权限的第一共识节点;第一共识节点的节点交易池中包括N个交易集合;一个交易集合用于存储具有同一链标识的业务交易;
该装置还包括:
交易存储模块,用于若交易验证结果指示交易验证成功,则从N个交易集合中确定目标链标识对应的目标交易集合,且将待上链交易存储至目标交易集合。
其中,该待验证区块打包模块包括:
待处理交易获取单元,用于从核心共识网络的节点交易池中,获取与目标链标识具有同一链标识的业务交易,将获取到的业务交易作为待处理交易;待处理交易包括待上链交易;
待验证区块打包单元,用于基于目标链标识对应的派生条件,对待处理交易进行打包处理,得到用于广播至核心共识网络中的待验证区块;
待验证区块发送单元,用于基于目标链标识,将待验证区块发送至核心共识网络中的共识节点;共识节点用于对目标链标识对应的交易业务进行共识。
其中,该待验证区块打包单元包括:
区块类型识别子单元,用于将目标链标识对应的业务分支链作为目标业务分支链,识别待生成的待验证区块在目标业务分支链上的区块类型;
父区块哈希值确定子单元,用于基于区块类型以及目标链标识对应的派生条件,确定待验证区块的父区块,将待验证区块的父区块的区块哈希值作为待验证区块的父区块哈希值;
区块哈希值确定子单元,用于对待处理交易进行交易哈希转换,得到待处理交易对应的交易哈希值,且基于交易哈希值确定待验证区块的区块哈希值;
区块打包子单元,用于对待处理交易、区块哈希值以及父区块哈希值进行打包处理,得到待写入目标业务分支链的待验证区块;待验证区块的生成时间戳用于更新目标业务分支链上的最大生成时间戳。
其中,区块类型包含第一区块类型;第一区块类型用于指示待验证区块的父区块属于基础主链上的区块;
该父区块哈希值确定子单元还用于:
若区块类型为第一区块类型,则从基础主链中获取与目标业务分支链相关联的目标注册信息,且从目标注册信息中获取目标链标识对应的派生条件;
基于目标链标识对应的派生条件,确定目标业务分支链的创世块,将确定的创世块作为待验证区块的父区块;
获取待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为待验证区块的父区块哈希值。
其中,区块类型包含第二区块类型;第二区块类型用于指示待验证区块的父区块不属于基础主链上的区块;
该父区块哈希值确定子单元还用于:
若区块类型为第二区块类型,则从目标链标识对应的派生条件所指示的目标业务分支链中,获取具有最大生成时间戳的区块,且将具有最大生成时间戳的区块作为待验证区块的父区块;
获取待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为待验证区块的父区块哈希值。
其中,该装置还包括:
目标注册信息获取模块,用于在将待验证区块成功写入至目标链标识对应的业务分支链时,从基础主链中获取与目标链标识对应的业务分支链相关联的目标注册信息,且从目标注册信息中获取目标链标识对应业务节点配置信息;
目标区块高度发送模块,用于将业务节点配置信息以及待验证区块的目标区块高度发送至路由代理网络中的代理节点,以使代理节点将目标区块高度转发至业务节点配置信息中的配置节点标识对应的业务节点;目标区块高度用于指示配置节点标识对应的业务节点,基于本地区块链上的初始区块高度以及初始区块高度对应的链标识生成区块同步请求;路由代理网络为区块链网络中的子网络,且路由代理网络用于对业务网络和核心共识网络进行网络隔离;
区块同步请求接收模块,用于通过代理节点接收区块同步请求,基于区块同步请求中的初始区块高度以及初始区块高度对应的链标识,确定用于同步至配置节点标识对应的业务节点的待同步区块;
待同步区块发送模块,用于通过代理节点将待同步区块发送至配置节点标识对应的业务节点,以使配置节点标识对应的业务节点在成功验证待同步区块时,将待同步区块写入至本地区块链中的对应业务分支链。
其中,该装置还包括:
配置变更区块生成模块,用于在具备监管权限时获取与区块链网络相关联的配置变更信息,基于配置变更信息,生成用于写入至基础主链中的配置变更区块,将配置变更区块广播至核心共识网络,以使核心共识网络中的共识节点对配置变更区块进行共识;配置变更区块用于指示核心共识网络中的所有共识节点暂停运行;
配置变更区块写入模块,接收共识节点针对配置变更区块返回的第二区块共识结果,若第二区块共识结果指示共识成功,则将配置变更区块写入至基础主链;
配置变更区块同步模块,用于基于配置变更区块对核心共识网络中的所有业务分支链分别进行区块同步,在所有业务分支链均成功同步配置变更区块时,生成用于广播至核心共识网络中的恢复通知信息,且将恢复通知信息广播至所有共识节点,以使所有共识节点恢复运行。
其中,区块链网络包括路由代理网络;路由代理网络中的代理节点用于记录核心共识网络中的属于独立共识节点的独立共识节点信息;独立共识节点信息用于指示代理节点在接收到业务节点发送的业务请求时,从核心共识网络中的N个分支链独立共识网络中,确定业务请求中携带的链标识所对应的目标独立共识网络,且将业务请求转发至目标独立共识网络中的共识节点;目标独立共识网络中的共识节点为具有第二共识权限的第二共识节点;业务请求包括交易上链请求以及区块同步请求。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,核心共识网络中的共识节点(即目标共识节点)可以接收由业务网络中的业务节点发送的待上链交易以及该待上链交易对应的目标链标识。其中,业务网络与核心共识网络均为区块链网络中的子网络;这里的目标链标识属于核心共识网络为业务节点所配置的M个链标识;M个链标识可以属于核心共识网络所注册的N个业务分支链的链标识;M为小于或者等于N的正整数。可以理解的是,这N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识,而并非是将这N个交易业务的生成的所有交易无差别的存储至一条区块链上,这样能够有效区分不同交易业务,以保持每个业务分支链的交易存储的专一性。进一步地,由于目标链标识对应的派生条件用于在基础主链中确定目标链标识对应的业务分支链的创世块,因此,该目标共识节点可以基于目标链标识对应的派生条件,对待上链交易进行打包处理,以得到用于广播至核心共识网络中的待验证区块,进而可以基于该创世块,将该待验证区块成功写入至目标链标识对应的业务分支链。此外,核心共识网络中的N个业务分支链同时运行,可以提高不同交易业务的并行性能,进而减少业务交易的上链等待时间,以至于提高了资源利用率,进而提高了***效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种区块链网络分层结构的示意图;
图1b是本申请实施例提供的一种核心共识网络的网络架构示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种目标共识节点获取待上链交易以及目标链标识的场景示意图;
图5a是本申请实施例提供的一种生成属于第一区块类型的待验证区块的场景示意图;
图5b是本申请实施例提供的一种将待验证区块写入至目标链标识对应的业务分支链的场景示意图;
图6是本申请实施例提供的一种数据处理方法的流程示意图;
图7是本申请实施例提供的一种区块同步的场景示意图;
图8是本申请实施例提供的一种税务区块链***下的***架构图;
图9是本申请实施例提供的一种数据处理装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1a,图1a是本申请实施例提供的一种区块链网络分层结构的示意图。本申请实施例中的区块链网络分层结构可以为图1a所示的区块链网络1W,该区块链网络1W对应的完整区块链业务体系可以由图1a所示的业务网络、核心共识网络以及路由代理网络所组成。
应当理解,该路由代理网络中的代理节点的节点数量可以为一个或者多个,在此不做限定。本申请实施例以代理节点10D为例,该代理节点10D可以用于对该业务网络和核心共识网络进行网络隔离。该代理节点10D可以是独立的一个物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供基础云计算服务的云服务器,在此不做限定。该代理节点10D可以将点对点(Peer To Peer,简称P2P)网络进行网络分层,以形成“业务网络—核心共识网络”这样的分层结构,进而能够提高区块链上数据的保密性和安全性。
其中,图1a所示的业务网络(即见证网络)对应的区块链节点***(即第一区块链节点***)中可以包括一个或者多个区块链节点,这里将不对第一区块链节点***中的节点数量进行限制。比如,第一区块链节点***具体可以包括节点110a、节点110b、节点110c、…、节点110n。应当理解,本申请实施例可以将处于业务网络中的区块链节点称之为业务节点,该业务节点不需要参与记账共识,主要用于执行交易业务,以得到对应的业务交易。其中,这里的业务节点可以为包含完整的区块链数据库的全量节点,也可以为存储区块链数据库中的部分数据的轻量节点,这里将不对其进行限定。为了减少业务节点的存储空间的浪费,本申请实施例中的业务节点可以以轻量节点(Simplified PaymentVerification,简称SPV)为例,该业务节点不需要存储完整的交易数据,而是通过代理节点10D,从图1a所示的核心共识网络中,获得区块头数据和部分授权可见的区块数据(例如,与业务节点自身相关联的业务交易)。
其中,图1a所示的核心共识网络对应的区块链节点***(即第二区块链节点***)中也可以包括一个或者多个区块链节点,这里将不对第二区块链节点***中的节点数量进行限制。比如,第二区块链节点***具体可以包括节点120a、节点120b、节点120c、…、节点120m。应当理解,本申请实施例可以将处于该核心共识网络中的节点称之为共识节点(即记账节点),该共识节点可以运行有区块链共识协议。
应当理解,本申请实施例可以将代理节点、业务节点以及共识节点统称为区块链网络1W中的区块链节点。其中,该区块链节点可以为接入至该区块链网络1W中的服务器,也可以为接入至该区块链网络1W中的用户终端,这里对区块链节点的具体形式不做限定。可以理解的是,图1a所示的业务网络和核心共识网络可以处于不同的网络环境,例如,通常来说,业务节点部署在处于公网的业务网络中,而运行区块链共识协议的共识节点则部署在私有的核心共识网络中,二者可以通过路由边界进行交互。
为便于理解,本申请实施例可以在图1a所示的核心共识网络中选择一个节点(例如,节点120a)作为该核心共识网络中的目标共识节点。该目标共识节点在具有监管权限时,可以称之为该核心共识网络中的具有监管权限的共识节点。该具有监管权限的共识节点可以为主链管理对象(即用于管理核心共识网络中的基础主链10Q的主链管理员)对应的共识节点,这里将不对主链管理员对应的共识节点的数量进行限定。比如,若图1a所示的区块链网络1W对应的区块链节点***为应用在税务业务中的税务区块链***,则具有监管权限的节点120a可以为该税务区块链***中的税务总局所使用的终端,用于将基础数据和业务配置等数据信息提交到基础主链10Q上。其中,与该税务区块链***相关联的交易业务可以为该税务业务中的各类税务子业务,具体可以包括票据业务、征信业务、进出亏业务、企业资质业务以及退税业务等。
如图1a所示,该核心共识网络中的区块链可以包括基础主链10Q、以及由该基础主链10Q派生的N个交易业务分别对应的业务分支链。这里的N为正整数。应当理解,核心共识网络中的基础主链10Q上可以包括每个交易业务对应的业务分支链的注册信息,每个交易业务对应的业务分支链的注册信息均可以包括该业务分支链的链标识、该交易业务的业务配置信息、链标识对应的派生条件。
其中,这里的交易业务(例如,票据业务)的业务配置信息可以包括交易业务的基本信息(即对票据业务的描述)以及节点配置信息(包括业务节点配置信息和共识节点配置信息)。该业务节点配置信息可以包括具有监管权限的共识节点(例如,具有监管权限的节点120a)为对应业务分支链(例如,票据业务对应的业务分支链)配置的配置节点标识,该配置节点标识对应的业务节点可以用于执行该票据业务。这里的共识节点配置信息可以包括具有监管权限的共识节点为该业务分支链配置的用于参与共识该业务分支链的独立共识节点。
这里的每个业务分支链对应的派生条件均可以用于在基础主链10Q上确定各自对应业务分支链的创世块。该图1a所示的每个业务分支链均是由基础主链10Q上的派生条件所得到的,如图1a所示,本申请实施例中的业务分支链的数量可以以3个为例,具体可以包括业务分支链11Q、业务分支链12Q以及业务分支链13Q。其中,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识,这样将能够有效区分不同交易业务,以保持单个业务分支链所存储的数据的专一性。
应当理解,如果整个区块链网络对应的区块链节点***(例如,税务区块链***)的配置信息发生信息变化,核心共识网络中的其他共识节点需要暂停运行。其中,本申请实施例可以将发生信息变化的配置信息称之为配置变更信息。比如,该配置变更信息可以是指税务领域范畴的监管规则、计算法规改变、重要的区块链节点变化、链的证书颁发节点轮换等。该核心共识网络中的具备监管权限的共识节点可以基于这些配置变更信息生成配置变更区块,进而将该配置变更区块上链至该核心共识网络中的基础主链,且同步至所有业务分支链,此时,核心共识网络中的其他共识节点可以恢复运行。如图1a所示,该核心共识网络中的区域1K中包括的基础主链10Q中的区块A4、业务分支链11Q中的区块B5以及业务分支链12Q中的区块C5均可以称之为配置变更区块。
其中,图1a所示的核心共识网络可以为业务网络中的任意一个业务节点配置M个链标识,这M个链标识属于该核心共识网络所注册的N个业务分支链的链标识。其中,这里的M为小于或者等于N的正整数。其中,该核心共识网络中的具备监管权限的共识节点为每个业务节点配置的链标识的数量可以相同,也可以不同,这里将不对其进行限定。比如,若核心共识网络中的基础主链所派生的业务分支链的数量为3,且这3个链标识分别为交易业务1X(例如,票据业务)对应的链标识1s、交易业务2X(例如,征信业务)对应的链标识2s以及交易业务3X(例如,进出亏业务)对应的链标识3s,则该核心共识网络中的节点120a在具备监管权限时,可以为业务网络中的节点110a动态配置2个链标识(例如,链标识1s和链标识3s)。该节点120a在具备监管权限时还可以为业务网络中的节点110b动态配置3个链标识(例如,链标识1s、链标识2s以及链标识3s),以此类推。可以理解的是,一个业务节点可以动态配置多个链标识,来参与执行多个业务分支链对应的交易业务,进而可以有效保证业务节点的轻便和有效的安全控制。换言之,多个业务分支链对应的交易业务可以由同一业务节点来参与执行,从而可以有效保证业务节点的轻便以及保持有效的安全控制。
在该核心共识网络中,该目标共识节点还可以用于接收业务网络中的业务节点发送的业务请求。比如,这里的业务请求可以包括交易上链请求以及区块同步请求。其中,该目标共识节点可以为具有第一共识权限的第一共识节点。这里的第一共识权限用于指示该第一共识节点能够参与该核心共识网络中的基础主链以及由该基础主链所派生的N个业务分支链的共识。可选的,该目标共识节点还可以为具有第二共识权限的第二共识节点。其中,这里的第二共识权限用于指示该第二共识节点能够参与该核心共识网络中的基础主链以及该目标链标识对应的业务分支链的共识,即该第二共识节点可以为一个用于参与共识目标链标识对应的业务分支链的独立共识节点。
为便于理解,进一步地,请参见图1b,图1b是本申请实施例提供的一种核心共识网络的网络架构示意图。如图1b所示,该核心共识网络可以为上述图1a所示的核心共识网络,该核心共识网络中的目标共识节点在具有监管权限时,可以为某一业务分支链配置用于对该业务分支链进行独立共识的共识节点,这些用于对同一业务分支链进行独立共识的共识节点可以构成一个分支链独立共识网络。此外,该核心共识网络中的目标共识节点在具有监管权限时,还可以为基础主链(例如,图1b所示的基础主链10Q)配置进行独立共识的共识节点,这些用于对基础主链进行独立共识的共识节点可以构成一个主链独立共识网络。其中,本申请实施例可以将主链独立共识网络和分支链独立共识网络均称之为独立共识网络。
其中,该核心共识网络可以包括N个分支链独立共识网络,且每一个分支链独立共识网络中的共识节点均具有第二共识权限,即每一个分支链独立共识网络中的共识节点均可以对同一个业务分支链进行独立共识,且同步基础主链10Q上的数据。如图1b所示,本申请实施例中的核心共识网络中的分支链独立共识网络的数量可以以3个为例,这3个分支链独立共识网络具体可以包括分支链独立共识网络W1、分支链独立共识网络W2以及分支链独立共识网络W3。
其中,分支链独立共识网络W1中的共识节点可以为核心共识网络中的具有监管权限的共识节点(例如,目标共识节点)为业务分支链11Q所配置的,该分支链独立共识网络W1中的区块链可以包括该核心共识网络中的基础主链(例如,图1b所示的基础主链10Q)以及业务分支链11Q。这意味该分支链独立共识网络W1中的共识节点不仅需要参与共识业务分支链11Q,还需要同步该核心共识网络中的基础主链10Q中的数据。
其中,分支链独立共识网络W2中的共识节点可以为核心共识网络中的具有监管权限的共识节点为业务分支链12Q所配置的,该分支链独立共识网络W2中的区块链可以包括该核心共识网络中的基础主链10Q以及业务分支链12Q。这意味该分支链独立共识网络W2中的共识节点不仅需要参与共识业务分支链12Q,还需要同步该核心共识网络中的基础主链10Q中的数据。
以此类推,分支链独立共识网络W3中的共识节点可以为核心共识网络中的具有监管权限的共识节点为业务分支链13Q所配置的,该分支链独立共识网络W3中的区块链可以包括该核心共识网络中的基础主链10Q以及业务分支链13Q。这意味该分支链独立共识网络W3中的共识节点不仅需要参与共识业务分支链13Q,还需要同步该核心共识网络中的基础主链10Q中的数据。
本申请实施例可以提供一种由核心共识网络中的基础主链派生多个业务分支链的数据处理方法,这样可以有效保证该基础主链作为所有业务分支链的信任根,且汇总了每个业务分支链的业务配置等全局信息,为后续监管和审查提供了便利。此外,多个业务分支链同时运行可以提高不同交易业务的并行性能,减少业务交易在上链过程中的等待时间,以至于提高了资源利用率,进而提高了***效率。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行数据交互的场景示意图。如图2所示,本申请实施例中的业务节点200A可以为业务网络中的任意一个业务节点,例如,上述图1a所示的业务网络中的节点110a。本申请实施例中的代理节点200B可以为路由代理网络中的代理节点,例如,上述图1a所示的代理节点10D。本申请实施例中的共识节点200C可以为核心共识网络中的目标共识节点,其中,该目标共识节点可以为具备第一共识权限的第一共识节点,例如,上述图1a所示的核心共识网络中的节点120a。其中,业务节点200A所在的业务网络、代理节点200B所在的路由代理网络以及共识节点200C所在的核心共识网络均为区块链网络中的子网络。
其中,由于该共识节点200C具备第一共识权限,因此该共识节点200C所运行的区块链可以包括该核心共识网络中的基础主链(例如,基础主链20Q)、以及由该基础主链20Q派生的N个业务分支链。这里的N为正整数。如图2所示,本申请实施例中的业务分支链的数量可以以3个为例,具体可以包括业务分支链21Q、业务分支链22Q以及业务分支链23Q。其中,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识。图2所示的每个业务分支链均是由具有监管权限的共识节点(即主链管理员对应的共识节点),基于基础主链20Q上的派生条件所得到的,这里的每个业务分支链对应的派生条件可以用于在基础主链20Q上确定对应业务分支链的创世块。该具有监管权限的共识节点可以为图2所示的共识节点200C,也可以为该共识节点200C所在核心共识网络中的其他节点,这里将不对具有监管权限的共识节点进行限定。
如图2所示,业务分支链21Q的链标识(例如,链标识210s)可以为具有监管权限的共识节点在该区块链网络对应的区块链节点***中,创建某一交易业务(即第一交易业务,例如,票据业务)时所确定的。该业务分支链21Q可以为该具有监管权限的共识节点,基于该基础主链20Q上的链标识210s对应的派生条件,从基础主链20Q中的区块A2派生的业务子链。其中,链标识210s对应的派生条件可以用于在基础主链20Q上确定该业务分支链21Q的创世块(例如,区块A2),该业务分支链21Q还可以包括区块B3、区块B4以及区块B5。
其中,业务分支链22Q的链标识(例如,链标识220s)可以为具有监管权限的共识节点在该区块链网络对应的区块链节点***中,创建另一交易业务(即第二交易业务,例如,征信业务)时所确定的。该业务分支链22Q可以为具有监管权限的共识节点,基于该基础主链20Q上的链标识220s对应的派生条件,从基础主链20Q中的区块A3派生的业务子链。其中,链标识220s对应的派生条件可以用于在基础主链20Q上确定该业务分支链22Q的创世块(例如,区块A3),该业务分支链22Q还可以包括区块C4、区块C5、区块C6以及区块C7。其中,该区块C7可以包含图2所示的业务节点200A发送的待上链交易(图2所示的交易2X)。
同理,业务分支链23Q的链标识(例如,链标识230s)可以为具有监管权限的共识节点在该区块链网络对应的区块链节点***中,创建另一交易业务(即第三交易业务,例如,退税业务)时所确定的。该业务分支链23Q是具有监管权限的共识节点,基于该基础主链20Q上的链标识230s对应的派生条件,从基础主链20Q中的区块A4派生的业务子链。其中,链标识230s对应的派生条件可以用于在基础主链20Q上确定该业务分支链23Q的创世块(例如,区块A4),该业务分支链23Q还可以包括区块D5。
应当理解,该核心共识网络中的具有监管权限的共识节点还可以基于基础主链20Q已经注册的这3个链标识,为图2所示的业务节点200A动态配置M个链标识。这里的M可以为小于或者等于3的正整数。如图2所示,本申请实施例以2个为例,具体可以包括链标识210s以及链标识220s。可以理解的是,该业务节点200A在执行征信业务这一第二交易业务时,可以生成该第二交易业务对应的业务交易(例如,图2所示的交易2X),此时,本申请实施例可以将图2所示的交易2X称之为待上链交易,将该链标识220s作为该交易2X对应的链标识(即目标链标识)。进一步地,该业务节点200A可以将该交易2X和交易2X对应的链标识220s一并发送至图2所示的代理节点200B。
可以理解的是,代理节点200B在接收到该交易2X以及链标识220s时,可以对业务节点200A进行权限验证(例如,验证业务节点200A对交易2X的交易签名信息、交易2X的交易格式以及业务节点200A是否属于代理节点200B中所存储的非法节点列表中的节点等),进而可以在确定该业务节点200A具备合法性时,将该交易2X以及链标识220s一并转发至核心共识网络,以使该核心共识网络中的共识节点将该交易2X写入至链标识220s对应的业务分支链(即业务分支链22Q)。
在核心共识网络中的共识节点200C接收到该交易2X以及链标识220s时,该共识节点200C可以基于链标识220s,从基础主链20Q上获取该链标识220s对应的派生条件,进而可以基于该链标识220s对应的派生条件,对该待上链交易进行打包处理,以得到用于广播至核心共识网络中的待验证区块。进一步地,该共识节点200C可以基于该链标识220s,将待验证区块发送至该核心共识网络中的共识节点(例如,共识节点200C所在核心共识网络中的能够用于参与共识该业务分支链22Q的其他共识节点),以使共识节点对该待验证区块进行区块共识。
可以理解的是,该共识节点200C可以接收共识节点针对待验证区块返回的区块共识结果(即第一区块共识结果),进而可以对该第一区块共识结果进行结果分析。若该第一区块共识结果指示共识成功,则该共识节点200C可以基于业务分支链22Q的创世块(区块A3),将该待验证区块写入至该链标识220s对应的业务分支链22Q,换言之,共识节点200C将待验证区块作为业务分支链22Q中的区块C6的下一区块(例如,图2所示的区块C7)。
由此可见,图2所示的核心共识网络中的基础主链20Q可以派生多个交易业务分别对应的业务分支链,且一个业务分支链对应一个链标识,这样能够有效区分不同交易业务,以保持单个业务分支链的数据存储的专一性。此外,图2所示的多个业务分支链(以3个业务分支链)在交易上链过程中可以同时运行,从而可以减少业务交易的上链等待时间,以至于提高了资源利用率,从而提高了不同交易业务同时运行的并行性能,进而提高了***效率。
其中,本申请实施例提供了一种在区块链节点***中基于不断分叉的业务树状区块链结构,在该区块链节点***对应的区块链网络的核心共识网络中,能够同时运行由基础主链所派生的多个业务分支链。该核心共识网络中的共识节点(例如,目标共识节点)在接收到业务网络中的业务节点发送的待上链交易时,基于待上链交易对应的目标链标识,将待上链交易上链至对应的业务分支链的具体实现方式可以参见下述图3-图8所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可以由核心共识网络中的目标共识节点(例如,具有第一共识权限的第一共识节点)执行,该目标共识节点可以为接入至核心共识网络中的服务器,也可以为接入至该核心共识网络中的用户终端,这里对该目标共识节点的具体形式不做限定。该目标共识节点可以用于参与该核心共识网络中的基础主链以及由基础主链所派生的N(其中,N为正整数)个业务分支链的共识,例如,该目标共识节点可以为上述图1a所示的核心共识网络中的节点120a。该方法至少可以包括以下步骤S101-步骤S103:
步骤S101,接收由业务网络中的业务节点发送的待上链交易以及待上链交易对应的目标链标识。
具体地,核心共识网络中的目标共识节点可以获取路由代理网络中的代理节点转发的交易上链请求。其中,该路由代理网络可以属于该核心共识网络所在区块链网络中的子网络,且该路由代理网络用于对该区块链网络中的业务网络和核心共识网络进行网络隔离。这里的交易上链请求是业务网络中的业务节点所生成的,该交易上链请求可以包括待上链交易、待上链交易对应的目标链标识、待上链交易对应的交易签名信息以及业务节点的节点标识。其中,该交易签名信息可以为该业务节点基于业务节点的节点私钥,对待上链交易进行签名后所得到的。进一步地,该目标共识节点可以获取业务节点的节点公钥,进而可以基于业务节点的节点公钥,对交易签名信息进行验签,以得到验签结果。可以理解的是,在验签结果指示验签成功时,该目标共识节点可以基于目标链标识以及业务节点的节点标识,对待上链交易进行交易验证,得到交易验证结果。若交易验证结果指示交易验证成功,则该目标共识节点可以确定该交易上链请求为合法请求,且从交易上链请求中获取待上链交易以及目标链标识。
应当理解,业务网络中的业务节点在执行目标交易业务时,可以生成该目标交易业务对应的业务交易,进而可以将生成的业务交易作为待上链交易,且将该目标交易业务对应的链标识作为目标链标识。其中,这里的目标交易业务是指该核心共识网络为该业务节点所配置的M个链标识中的某一链标识所对应的交易业务。该M个链标识属于核心共识网络所注册的N个业务分支链的链标识,这里的M为小于或者等于N的正整数。应当理解,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识,该N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的。
为了有效提高该待上链交易在数据传输时的真实性和安全性,该业务节点可以基于业务节点的节点私钥对待上链交易进行签名处理,以得到该待上链交易对应的交易签名信息。进一步地,该业务节点可以基于该待上链交易、该待上链交易对应的目标链标识、该待上链交易对应的交易签名信息以及该业务节点的节点标识,生成用于将待上链交易进行上链的业务请求。其中,本申请实施例可以将用于将待上链交易进行上链的业务请求称之为交易上链请求。
其中,本申请实施例中的区块链网络可以包括业务网络和核心共识网络这两个子网络,且业务网络中的业务节点与核心共识网络中的核心共识节点可以直接进行网络交互,以实现两个子网络之间的数据传输。基于此,业务节点在生成交易上链请求时,可以直接基于交易上链请求中的目标链标识,将该交易上链请求直接发送至核心共识网络中能够参与共识该目标链标识对应的业务分支链的目标共识节点,以使该目标共识节点将该交易上链请求中的待上链交易成功写入至目标链标识对应的业务分支链。
可选的,本申请实施例中的区块链网络不仅可以包括业务网络和核心共识网络,还可以包括用于对该业务网络和核心共识网络进行网络隔离的路由代理网络。其中,该路由代理网络中的代理节点可以在业务网络和核心共识网络之间实现路由转发的功能。基于此,业务节点(例如,上述图1a所示的业务网络中的节点110a)在生成交易上链请求时,需要将该交易上链请求发送至路由代理网络中的代理节点,以使该代理节点对该业务节点进行权限验证,进而在权限验证结果为合法结果时,将该交易上链请求广播至核心共识网络。
其中,这里的权限验证可以包括验证业务节点的节点标识是否属于非法节点列表中的节点标识、验证待上链交易的交易格式是否有误、验证待上链交易的交易签名信息是否有误等等。这里的非法节点列表可以是该代理节点所存储的黑名单列表,该非法节点列表中的非法节点标识所对应的非法节点可以包括检测到的恶意节点、被他人举报的节点,在某一时间段发送交易频率异常的节点等。
核心共识网络中的目标共识节点在接收到该代理节点转发的交易上链请求时,可以获取该业务节点的节点公钥,进而可以基于该业务节点的节点公钥,对交易上链请求中的交易签名信息进行验签,得到验签结果。在验签结果指示验签成功时,该目标共识节点可以基于该目标链标识以及业务节点的节点标识,对待上链交易进行交易验证,从而得到交易验证结果。
比如,在验签结果指示验签成功时,该目标共识节点可以从核心共识网络中的基础主链中,获取与该目标链标识对应的业务分支链相关联的注册信息,进而可以将获取到的注册信息确定为校验注册信息。此时,该目标共识节点可以获取校验注册信息中的业务节点配置信息,在该业务节点配置信息中查找与业务节点的节点标识相匹配的配置节点标识。其中,该配置节点标识对应的业务节点是核心共识网络(比如,核心共识网络中具有监管权限的共识节点)为目标链标识对应的业务分支链所配置的;该配置节点标识对应的业务节点用于执行目标链标识对应的目标交易业务。
若业务节点配置信息中不存在与业务节点的节点标识相匹配的配置节点标识,则该目标共识节点能够得到用于指示交易验证失败的交易验证结果。可选的,若业务节点配置信息中存在与业务节点的节点标识相匹配的配置节点标识,则该目标共识节点能够得到用于指示交易验证成功的交易验证结果。可以理解的是,若交易验证结果指示交易验证成功,则该目标共识节点可以确定该交易上链请求为合法请求,进而可以从该交易上链请求中获取待上链交易以及待上链交易对应的目标链标识。
为便于理解,进一步地,请参见图4,图4是本申请实施例提供的一种目标共识节点获取待上链交易以及目标链标识的场景示意图。如图4所示,本申请实施例中的业务节点400A可以为业务网络中的任意一个用于执行目标交易业务的业务节点,例如,该业务节点400A可以为上述图2所示的业务网络中的业务节点200A。本申请实施例中的共识节点400C可以为核心共识网络中的目标共识节点,该目标共识节点可以为具有第一共识权限的第一共识节点,例如,该共识节点400C可以为上述图2所示的共识节点200C。本申请实施例中的代理节点400B可以用于对该业务网络和该核心共识网络进行网络隔离,该代理节点400B可以为上述图2所示的代理节点200B。
其中,图4所示的交易4X(即待上链交易)是业务节点400A在执行链标识430s对应的交易业务(即目标交易业务,例如,票据业务)时所生成的。其中,这里的链标识430s可以为共识节点400C所在核心共识网络为该业务节点所配置的M个链标识中的任意一个链标识,这里的M为小于N的正整数,这里的N可以为在核心共识网络中的基础主链上所注册的业务分支链的总数量。
为了有效提高该交易4X在数据传输时的真实性和安全性,该业务节点400A可以基于业务节点400A的节点私钥对交易4X进行签名处理,以得到该交易4X对应的交易签名信息。其中,可以理解的是,该业务节点400A可以获取针对该待上链交易(即交易4X)的哈希计算规则,该哈希计算规则可以为该业务节点400A与区块链网络中的其他区块链节点(例如,共识节点400C)提前约定好的摘要算法。因此,该业务节点400A可以基于该哈希计算规则对该交易4X进行哈希计算,以得到交易4X的摘要信息(例如,摘要信息h)。其中,本申请实施例可以将业务节点400A确定的交易4X的摘要信息称之为第一摘要信息。进一步地,该业务节点400A可以基于该业务节点400A的节点私钥,对该第一摘要信息进行签名,从而可以得到图4所示的交易签名信息。
该业务节点400A可以基于该交易4X、该交易4X对应的链标识430s、该交易4X对应的交易签名信息以及该业务节点400A的节点标识4J,生成用于将交易4X进行上链的交易上链请求。此时,该业务节点400A可以将该交易上链请求发送至图4所示的代理节点400B,以使该代理节点400B对该业务节点400A进行权限验证,进而在权限验证结果为合法结果时,将该交易上链请求广播至核心共识网络。
其中,该代理节点400B可以存储有非法节点列表,该非法节点列表中的非法节点标识对应的非法节点可以包括检测到的恶意节点、被他人举报的节点,在某一时间段发送交易频率异常的节点等。比如,该代理节点400B在接收到该业务节点400A发送的交易上链请求时,可以从该交易上链请求中获取该业务节点400A的节点标识4J,进而可以在该非法节点列表中查找该业务节点400A的节点标识4J,以得到权限验证结果。若权限验证结果指示该非法节点列表存在与业务节点400A的节点标识4J相同的非法节点标识,则该代理节点400B可以确定该权限验证结果属于非法验证结果,此时,该代理节点400B可以确定该业务节点400A为非法节点,进而无需将该交易上链请求广播至核心共识网络。
可选的,若权限验证结果指示该非法节点列表不存在与该业务节点400A的节点标识4J相同的非法节点标识,则该代理节点400B可以确定该权限验证结果属于合法验证结果,此时,该代理节点400B可以确定该业务节点400A为合法节点,进而可以基于该交易上链请求中的链标识430s,将该交易上链请求广播至核心共识网络中的共识节点(例如,图4所示的共识节点400C)。
该共识节点400C可以获取该业务节点400A的节点公钥,进而可以基于该业务节点400A的节点公钥,对交易上链请求中的交易签名信息进行验签,得到验签结果。其中,可以理解的是,共识节点400C可以获取业务节点400A的节点公钥,进而可以基于该业务节点400A的节点公钥对该交易签名信息进行验签,得到交易4X的第一摘要信息。与此同时,该共识节点400C还可以获取与业务节点400A相同的哈希计算规则,对交易4X进行哈希计算,从而可以得到该交易4X的摘要信息(例如,摘要信息H)。其中,本申请实施例可以将共识节点400C确定的交易4X的摘要信息称之为第二摘要信息。
此时,该共识节点400C可以将第一摘要信息与第二摘要信息进行比对,得到验签结果,以确定该交易4X是否被篡改。可以理解的是,若第一摘要信息与第二摘要信息不相同,则该共识节点400C可以确定验签结果指示验签失败。可选的,若第一摘要信息与第二摘要信息相同,则该共识节点400C可以确定验签结果指示验签成功,这意味着交易4X未发生篡改,且该交易4X确实是由业务节点400A发送的。
进一步地,在验签结果指示验签成功时,该共识节点400C可以基于该链标识430s以及业务节点400A的节点标识4J,对交易4X进行交易验证,从而得到交易验证结果。比如,在验签结果指示验签成功时,该共识节点400C可以从核心共识网络中的基础主链中,获取与该链标识430s对应的业务分支链相关联的注册信息,进而可以将获取到的注册信息确定为校验注册信息。此时,该共识节点400C可以获取校验注册信息中的业务节点配置信息,在该业务节点配置信息中查找与业务节点400A的节点标识4J相匹配的配置节点标识。其中,该配置节点标识对应的业务节点可以为核心共识网络为链标识430s对应的业务分支链所配置的;该配置节点标识对应的业务节点可以用于执行该目标交易业务。
为便于理解,请参见表1,表1是本申请实施例提供的一种配置节点标识列表。该配置节点标识列表可以用于表示共识节点400C从核心共识网络中的基础主链上所获取到的业务节点配置信息。如表1所示:
表1
如表1所示,该配置节点标识列表可以包括多个(以4个为例)配置节点标识对应的业务节点,具体可以包括业务节点100A、业务节点200A、业务节点300A以及业务节点400A。其中,每个配置节点标识对应的业务节点均是由该核心共识网络中的具有监管权限的共识节点为某一业务分支链(例如,目标链标识对应的业务分支链)所配置的,这意味着表1中的业务节点均具备执行该目标链标识对应的目标交易业务的资格。其中,配置节点标识列表中的节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
可以理解的是,若该配置节点标识列表(例如,上述表1)中不存在于业务节点400A的节点标识4J(例如,156.115.726.324)相匹配的配置节点标识,则该共识节点400C能够得到用于指示交易验证失败的交易验证结果,这意味着该业务节点400A不具备执行链标识430s对应的目标交易业务的资格。此时,该共识节点400C可以确定该交易上链请求为非法请求,进而可以生成一个用于通知该业务节点400A的上链失败通知,以通过代理节点400B转发至业务节点400A。其中,该上链失败通知可以为“您暂不具备执行此交易业务的权限,无法上链该交易4X,如有需要,可前往某税局修改您的权限” 。
可选的,若该配置节点标识列表中存在与业务节点400A的节点标识4J(例如,119.123.789.258)相匹配的配置节点标识4J,则该共识节点400C能够得到用于指示交易验证成功的交易验证结果,这意味着该业务节点400A具备执行链标识430s对应的目标交易业务的资格。此时,该共识节点400C可以确定该交易上链请求为合法请求,进而可以从该交易上链请求中获取交易4X以及交易4X对应的链标识430s。
由于核心共识网络中的目标共识节点为具有第一共识权限的第一共识节点,即第一共识节点可以用于参与该核心共识网络中的基础主链以及由基础主链所派生的N个业务分支链的共识,因此,该第一共识节点的节点交易池可以包括N个交易集合,且一个交易集合用于存储具有同一链标识的业务交易。若交易验证结果指示交易验证成功,则该第一共识节点可以从N个交易集合中,确定该目标链标识对应的交易集合,且将该待上链交易存储至目标链标识对应的目标交易集合。
如图4所示,本申请实施例中的共识节点400C所在的基础主链所派生的业务分支链可以以4个为例,因此,该共识节点400C的节点交易池4000m可以包括4个交易集合,这4个交易集合具体可以包括交易集合1g、交易集合2g、交易集合3g以及交易集合4g。其中,交易集合1g用于存储与链标识410s相关联的业务交易,交易集合2g用于存储与链标识420s相关联的业务交易,交易集合3g用于存储与链标识430s相关联的业务交易,交易集合4g用于存储与链标识440s相关联的业务交易。
若共识节点400C确定的交易验证结果指示交易验证成功,则该共识节点400C可以从这4个交易集合中,确定链标识430s对应的交易集合(例如,图4所示的交易集合3g),进而可以将该交易4X存储至该交易集合3g。
步骤S102,基于目标链标识对应的派生条件,对待上链交易进行打包处理,得到用于广播至核心共识网络中的待验证区块,基于目标链标识,将待验证区块发送至核心共识网络中的共识节点,以使共识节点对待验证区块进行区块共识。
具体地,该目标共识节点可以从核心共识网络的节点交易池中,获取与目标链标识具有同一链标识的业务交易,进而可以将获取到的业务交易作为待处理交易。其中,该待处理交易可以包括待上链交易。进一步地,该目标共识节点可以基于目标链标识对应的派生条件,对该待处理交易进行打包处理,以得到用于广播至核心共识网络中的待验证区块。此时,该目标共识节点可以基于目标链标识,将该待验证区块发送至核心共识网络中的共识节点。其中,接收该待验证区块的共识节点可以是指该目标共识节点所在核心共识网络中,对目标链标识对应的业务分支链具有共识权限的其他共识节点。
如图4所示,共识节点400C在基于链标识430s对应的派生条件,对交易4X这一待上链交易进行打包处理时,可以从图4所示的节点交易池4000m中确定链标识430s对应的交易集合3g,进而从交易集合3g中获取包括交易4X的业务交易,且将获取到的业务交易作为待处理交易。
应当理解,目标共识节点可以将目标链标识对应的业务分支链作为目标业务分支链,进而可以识别待生成的待验证区块在目标业务分支链上的区块类型。其中,该待验证区块在目标业务分支链上的区块类型可以包括第一区块类型以及第二区块类型。这里的第一区块类型用于指示该待验证区块的父区块属于基础主链上的区块,即该待验证区块属于该目标业务分支链的创世块的下一区块,这意味当前基础主链所派生的目标业务分支链仅包括该目标业务分支链的创世块(即基于派生条件所确定的基础主链上的某一区块),还未在该创世块之后写入该创世块的下一区块。这里的第二区块类型用于指示该待验证区块的父区块不属于基础主链上的区块,即该待验证区块属于该目标业务分支链上的非创世块的下一区块,这意味当前基础主链所派生的目标业务分支链不仅包括该目标业务分支链的创世块,还包括在该创世块之后所写入的具有区块索引关系的其他区块。
进一步地,该目标共识节点可以基于区块类型以及目标链标识对应的派生条件,确定该待验证区块的父区块,进而可以将待验证区块的父区块的区块哈希值作为父区块哈希值。其中,可以理解的是,若区块类型为第一区块类型,则目标共识节点可以从基础主链中,获取与该目标业务分支链相关联的目标注册信息,且从目标注册信息中获取目标链标识对应的派生条件。进一步地,该目标共识节点可以基于目标链标识对应的派生条件,确定目标业务分支链的创世块,进而可以将确定的创世块作为待验证区块的父区块。此时,该目标共识节点可以获取待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为该待验证区块的父区块哈希值。
可选的,若区块类型为第二区块类型,则该目标共识节点可以从目标链标识对应的派生条件所指示的目标业务分支链中,获取具有最大生成时间戳的区块,进而可以将具有最大生成时间戳的区块作为待验证区块的父区块。进一步地,该目标共识节点可以获取待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为该待验证区块的父区块哈希值。
与此同时,该目标共识节点可以对该待处理交易进行交易哈希转换,以得到待处理交易对应的交易哈希值,且基于交易哈希值确定待验证区块的区块哈希值。进一步地,该目标共识节点可以对待处理交易、区块哈希值以及父区块哈希值进行打包处理,从而得到待写入目标业务分支链的待验证区块。其中,该待验证区块的生成时间戳用于更新目标业务分支链上的最大生成时间戳。
为便于理解,进一步地,请参见图5a,图5a是本申请实施例提供的一种生成属于第一区块类型的待验证区块的场景示意图。如图5a所示,本申请实施例中的共识节点500C可以为核心共识网络中的目标共识节点,该目标共识节点可以为具有第一共识权限的第一共识节点,比如,该共识节点500C可以为上述图1a所示的核心共识网络中的节点120a。本申请实施例中的共识节点500D可以为该核心共识网络中的具有第一共识权限的另一个共识节点,比如,该共识节点500D可以为上述图1a所示的核心共识网络中的节点120b。
如图5a所示,该核心共识网络中的区块链可以包括基础主链(例如,基础主链50Q),以及由基础主链50Q所派生的N个业务分支链,这里可以以3个为例,具体可以包括业务分支链51Q、业务分支链52Q以及业务分支链53Q。其中,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识。其中,业务分支链51Q对应的链标识可以为链标识510s,该链标识510s对应的派生条件(图5a的派生条件51P)用于在基础主链50Q中确定该业务分支链51Q的创世块(例如,区块A2);业务分支链52Q对应的链标识可以为链标识520s,该链标识520s对应的派生条件(图5a的派生条件52P)用于在基础主链50Q中确定业务分支链52Q的创世块(例如,区块A3);业务分支链53Q对应的链标识可以为链标识530s,该链标识510s对应的派生条件(图5a的派生条件53P)用于在基础主链50Q中确定业务分支链53Q的创世块(例如,区块A4)。可以理解的是,由于该业务分支链53Q还未在该创世块之后写入该创世块的下一区块,因此图5a中并未出现该业务分支链53Q。
若共识节点500C接收到的待上链交易(例如,交易4X)对应的目标链标识为链标识530s,则该共识节点500C在对待上链交易进行打包处理的过程中,可以从图5a所示的节点交易池5000m中获取与链标识530s具有同一链标识的业务交易,进而可以将获取到的业务交易作为待处理交易。其中,该待处理交易可以包括图5a所示的交易1X、交易2X、交易3X以及交易4X。
进一步地,该共识节点500C可以识别待生成的待验证区块在业务分支链53Q(即目标业务分支链)上的区块类型。由于业务分支链53Q还未在该创世块之后写入该创世块的下一区块,因此,该共识节点500C可以确定待验证区块的区块类型为第一区块类型。此时,共识节点500C可以从基础主链50Q中,获取与该业务分支链53Q相关联的注册信息(即目标注册信息,例如,图5a所示的区块A3中所存储的注册信息),进而可以从该目标注册信息获取链标识530s对应的派生条件(例如,图5a所示的派生条件53P)。
比如,该派生条件53P可以为:将派生条件53P所在区块的下一区块作为业务分支链53Q的创世块。该派生条件53P也可以为:将与业务分支链53Q相关联的目标注册信息所在区块作为业务分支链53Q的创世块。该派生条件53P还可以为:在需要将具有链标识530s的业务交易上链时,将基础主链53Q上的具备最大生成时间戳的区块作为业务分支链53Q的创世块。这里将不对派生条件的具体方式进行限定。
可以理解的是,该共识节点500C基于派生条件53P所确定的该业务分支链53Q的创世块可以为图5a所示的基础主链50Q中的区块A4,此时,该共识节点可以将该区块A4作为待生成的待验证区块的父区块,进而可以获取区块A4的区块哈希值作为该待验证区块的父区块哈希值。
与此同时,该共识节点500C可以对该交易1X、交易2X、交易3X以及交易4X这4个待处理交易进行交易哈希转换,以得到该待处理交易对应的交易哈希值,进而可以基于交易哈希值确定该待验证区块的区块哈希值。进一步地,该共识节点500C可以对该待处理交易、区块哈希值以及父区块哈希值进行打包处理,从而得到待写入业务分支链53Q的待验证区块。其中,该待验证区块的生成时间戳用于更新目标业务分支链上的最大生成时间戳。可以理解的是,该待验证区块在写入业务分支链53Q时,可以作为区块A4的下一区块(例如,区块D5)。
可选的,如图2所示,若共识节点200C接收到的待上链交易(例如,交易2X)对应的目标链标识为链标识220s,则该共识节点200C在对待上链交易进行打包处理的过程中,可以从共识节点200C的节点交易池中,获取与链标识220s具有同一链标识的业务交易,进而可以将获取到的业务交易作为待处理交易。
进一步地,该共识节点200C可以识别待生成的待验证区块在链标识220s对应的目标业务分支链(例如,业务分支链22Q)上的区块类型。由于该业务分支链22Q不仅包括该业务分支链22Q的创世块(例如,基础主链20Q上的区块A3),还包括在该创世块之后所写入的具有区块索引关系的其他区块(例如,区块C4、区块C5以及区块C6),因此,该共识节点200C可以确定图2所示的待验证区块的区块类型为第二区块类型。
此时,该共识节点200C可以从链标识220s对应的派生条件所指示的业务分支链22Q中,获取具有最大生成时间戳的区块,进而可以将该具有最大生成时间戳的区块作为待验证区块的父区块(例如,区块C6)。进一步地,该共识节点200C可以将区块C6的区块哈希值作为该待验证区块的父区块哈希值。
与此同时,该共识节点200C可以对包括图2所示的交易2X的待处理交易进行交易哈希转换,以得到该待处理交易对应的交易哈希值,进而可以基于交易哈希值确定该待验证区块的区块哈希值。进一步地,该共识节点200C可以对该待处理交易、区块哈希值以及父区块哈希值进行打包处理,从而得到待写入业务分支链22Q的待验证区块。其中,该待验证区块的生成时间戳用于更新目标业务分支链上的最大生成时间戳。可以理解的是,该待验证区块在写入业务分支链22Q时,可以作为业务分支链22Q上的区块C6的下一区块(例如,区块C7)。
进一步地,目标共识节点在生成待验证区块之后,可以基于目标链标识,将该待验证区块发送至核心共识网络中的共识节点。其中,这里的共识节点可以用于参与共识该目标链标识对应的业务分支链(即目标业务分支链)。如图5a所示,共识节点500C在生成待验证区块之后,可以基于链标识530s,将该待验证区块发送至图5a所示的共识节点500D,进而使得该共识节点500D对该待验证区块进行共识,以得到区块共识结果(即第一区块共识结果)。
步骤S103,接收共识节点针对待验证区块返回的第一区块共识结果,若第一区块共识结果指示共识成功,则基于派生条件,将待验证区块写入至目标链标识对应的业务分支链。
具体地,该目标共识节点可以接收核心共识网络中的其他共识节点针对该待验证区块返回的第一区块共识结果,进而可以对该第一区块共识结果进行结果分析。若第一区块共识结果中存在超过共识阈值(例如,1/2或者2/3)的共识结果指示共识成功,则目标共识节点可以确定核心共识网络中的共识节点达成共识,进而可以基于该派生条件,将该待验证区块写入至该目标链标识对应的业务分支链。
进一步地,请参见图5b,图5b是本申请实施例提供的一种将待验证区块写入至目标链标识对应的业务分支链的场景示意图。如图5b所示,本申请实施例中的核心共识网络中的基础主链以及由该基础主链派生的业务分支链均可以参见上述图5a所示的基础主链以及业务分支链。该图5b所描述的上链过程可以为图5a中的共识节点500C在接收到共识节点500D针对待验证区块的区块共识结果之后进行区块上链的过程。
应当理解,共识节点500C在接收到共识节点500D针对待验证区块返回的区块共识结果(即第一区块共识结果)时,可以对区块共识结果进行结果分析。若该第一区块共识结果中存在超过共识阈值(例如,1/2或者2/3)的共识结果指示共识成功,则共识节点500C可以确定核心共识网络中的共识节点达成共识,进而可以基于该派生条件53P,将该待验证区块写入至该链标识530s对应的业务分支链53Q,也就是将该待验证区块作为基础主链50Q中的区块A4的下一区块,即区块D5。
在本申请实施例中,核心共识网络为业务网络中的业务节点所配置的M个链标识,均属于核心共识网络所注册的N个业务分支链的链标识,其中,M为小于或者等于N的正整数。这意味着一个业务节点可以具有执行M个交易业务的资格,而无法执行未配置给该业务节点的其他链标识对应的交易业务,这样不仅可以保证了业务节点的轻便,还能对该业务节点进行有效的安全控制。可以理解的是,这N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的,这意味着本申请实施例可以将基础主链作为所有交易业务的信任根,且汇总了所有业务分支链的分别对应的子链配置等全局信息(即所有业务分支链各自对应的注册信息),进而可以在监管和审查过程中提供了便利,以至于有效避免各个业务分支链因数据不统一而造成的***不一致的问题。此外,该核心共识网络中的一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识,而并非是将这N个交易业务的生成的所有交易无差别的存储至一条区块链上,这样能够有效区分不同交易业务,以保持每个业务分支链的交易存储的专一性。应当理解,核心共识网络中的N个业务分支链的运行过程均可以参见目标共识节点运行目标链标识对应的业务分支链的过程,这样在N个业务分支链同时运行时,可以提高不同交易业务的并行性能,进而减少业务交易的上链等待时间,以至于提高了资源利用率,进而提高了***效率。
进一步地,请参见图6,图6是本申请实施例提供的一种数据处理方法的流程示意图。如图6所示,该方法可以由业务网络中的业务节点、路由代理网络中的代理节点、目标独立共识网络中的目标共识节点(例如,具有第二共识权限的第二共识节点)以及该目标独立共识网络中的另一共识节点(例如,用于对待验证区块进行区块共识的第三共识节点)共同执行。其中,该业务节点可以用于执行所配置的M个链标识中的目标链标识对应的交易业务(即目标交易业务),该业务节点可以为上述图1a所示的业务网络中的任意一个业务节点,例如,节点110a。该代理节点可以用于对业务网络和核心共识网络进行网络隔离,例如,该代理节点可以为上述图1a所示的代理节点10D。该第二共识节点和第三共识节点均可以用于参与共识该目标链标识对应的业务分支链,例如,该第二共识节点和第三共识节点所属的目标独立共识网络可以为上述图1b所示的核心共识网络中的任意一个分支链独立共识网络,例如,分支链独立共识网络W1。该方法至少可以包括以下步骤S201-步骤S207:
步骤S201,业务网络中的业务节点将生成的交易上链请求发送至路由代理网络中的代理节点。
具体地,业务网络中的业务节点在执行目标交易业务时,可以生成该目标交易业务对应的业务交易,进而可以将生成的业务交易作为待上链交易,且将该目标交易业务对应的链标识作为目标链标识。其中,这里的目标交易业务是指该核心共识网络为该业务节点所配置的M个链标识中的某一链标识对应的交易业务。该M个链标识属于核心共识网络所注册的N个业务分支链的链标识,这里的M为小于或者等于N的正整数。应当理解,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识,该N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的。进一步地,该业务节点可以基于业务节点的节点私钥对待上链交易进行签名处理,以得到该待上链交易对应的交易签名信息。进一步地,该业务节点可以基于该待上链交易、该待上链交易对应的目标链标识、该待上链交易对应的交易签名信息以及该业务节点的节点标识,生成用于将待上链交易进行上链的交易上链请求,进而可以将该交易上链请求发送至路由代理网络中的代理节点。
步骤S202,代理节点对该业务节点进行权限验证,且在权限验证结果为合法结果时,基于交易上链请求中的目标链标识,将该交易上链请求转发至对应的目标独立共识网络中的第二共识节点。
其中,代理节点可以用于记录该核心共识网络中属于独立共识节点的独立共识节点信息,进而可以基于记录的独立共识节点信息,在业务网络和核心共识网络之间实现路由转发的功能。具体地,该代理节点在接收到交易上链请求时,可以对业务节点进行权限验证(比如,验证业务节点的节点标识是否属于非法节点列表中的节点标识、验证待上链交易的交易格式是否有误、验证待上链交易的交易签名信息是否有误等等),得到权限验证结果。在权限验证结果为合法结果时,该代理节点可以基于目标链标识以及独立共识节点信息,从核心共识网络中的N个分支链独立共识网络中,确定该目标链标识对应的目标独立共识网络,进而可以将该交易上链请求发送至目标独立共识网络中的第二共识节点。
为便于理解,进一步地,请参见表2,表2是本申请实施例提供的一种独立共识节点信息表。该独立共识节点信息表可以用于表示代理节点基于基础主链(例如,如图1b所示的基础主链10Q)所记录的独立共识节点信息。如表2所示:
表2
应当理解,核心共识网络中的基础主链上可以包括每个交易业务对应的业务分支链的注册信息,每个交易业务对应的业务分支链的注册信息均可以包括该业务分支链的链标识、该交易业务的业务配置信息(包括共识节点配置信息)、链标识对应的派生条件。该共识节点配置信息可以为该核心共识网络中具有监管权限的共识节点为该业务分支链所配置的用于参与共识该业务分支链的独立共识节点。因此,该代理节点可以从核心共识网络中的基础主链上,获取每个业务分支链的注册信息,进而可以基于获取到的注册信息,确定每个业务分支链的链标识、共识节点配置信息、以及该共识节点配置所构成的分支链独立共识网络之间的映射关系,以生成图2所示的独立共识节点信息。此外,当该核心共识网络创建新的交易业务之后,该代理节点可以获取与新的交易业务相关联的新注册信息,进而可以基于这新注册信息动态更新上述表2。
可以理解的是,在权限验证结果为合法结果时,该代理节点可以基于目标链标识(例如,链标识2s)以及上述表2所示的独立共识节点信息,从核心共识网络中的N个分支链独立共识网络中,确定该目标链标识对应的目标独立共识网络(例如,分支链独立共识网络W1),进而可以将该交易上链请求发送至目标独立共识网络中的第二共识节点(例如,节点120d)。
步骤S203,第二共识节点从交易上链请求中获取待上链交易以及待上链交易对应的目标链标识。
其中,这里的交易上链请求可以包括待上链交易、待上链交易对应的目标链标识、待上链交易对应的交易签名信息以及业务节点的节点标识。其中,该交易签名信息可以为该业务节点基于业务节点的节点私钥,对待上链交易进行签名后所得到的。进一步地,该第二共识节点可以获取业务节点的节点公钥,进而可以基于业务节点的节点公钥,对交易签名信息进行验签,以得到验签结果。可以理解的是,在验签结果指示验签成功时,该第二识节点可以基于目标链标识以及业务节点的节点标识,对待上链交易进行交易验证,得到交易验证结果。若交易验证结果指示交易验证成功,则该第二共识节点可以确定该交易上链请求为合法请求,且从交易上链请求中获取待上链交易以及目标链标识。
步骤S204,第二共识节点基于目标链标识对应的派生条件,对待上链交易进行打包处理,得到用于广播至核心共识网络中的待验证区块。
具体地,该第二共识节点可以从第二共识节点的节点交易池中,直接获取与目标链标识具有同一链标识的业务交易,进而可以将获取到的业务交易作为待处理交易。由于第二共识节点为独立共识节点,因此该第二共识节点的节点交易池可以存储与目标链标识具有同一链标识的业务交易,而无需存储其他链标识的业务交易。其中,该待处理交易可以包括待上链交易。进一步地,该第二共识节点可以基于目标链标识对应的派生条件,对该待处理交易进行打包处理,以得到用于广播至目标独立共识网络中的待验证区块。
步骤S205,第二共识节点基于目标链标识,将待验证区块发送至目标独立共识网络中的第三共识节点,以使目标独立共识网络中的第三共识节点对待验证区块进行区块共识。
其中,接收该待验证区块的第三共识节点可以是指该第一共识节点所在分支链独立共识网络中的任意一个共识节点,例如,上述表2所示的分支链独立共识网络W1中的节点120f。
步骤S206,第二共识节点接收第三共识节点针对待验证区块返回的第一区块共识结果。
具体地,该第二共识节点可以接收第三共识节点针对该待验证区块返回的第一区块共识结果,进而可以对该第一区块共识结果进行结果分析。
步骤S207,若第一区块共识结果指示共识成功,则第二共识节点基于创世块,将待验证区块写入至目标链标识对应的业务分支链。
具体地,若第一区块共识结果中存在超过共识阈值(例如,1/2或者2/3)的共识结果指示共识成功,则第二共识节点可以确定核心共识网络中的共识节点达成共识,进而可以基于该派生条件,将该待验证区块写入至该目标链标识对应的业务分支链。
其中,该步骤S201-步骤S207的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再赘述。
应当理解,在本申请实施例中,核心共识网络中的目标共识节点(例如,具有第一共识权限的第一共识节点或者具有第二共识权限的第二共识节点)在将待验证区块成功写入至目标链标识对应的业务分支链时,该目标共识节点可以从基础主链中,获取与目标链标识对应的业务分支链相关联的目标注册信息,且从目标注册信息中获取目标链标识对应的业务节点配置信息。进一步地,该目标共识节点可以将业务节点配置信息以及待验证区块的目标区块高度发送至路由代理网络中的代理节点,以使代理节点将目标区块高度转发至业务节点配置信息中的配置节点标识对应的业务节点(即目标业务节点)。其中,该目标区块高度可以用于指示该目标业务节点基于本地区块链上的初始区块高度以及初始区块高度对应的链标识生成区块同步请求。
此时,该目标业务节点在接收到代理节点所转发的目标区块高度时,可以确定本地区块链的初始区块高度,并基于该初始区块高度以及该初始区块高度对应的链标识生成区块同步请求,进而可以将该区块同步请求发送至代理节点,以使该代理节点将区块同步请求转发至核心共识网络中的目标共识节点。进一步地,该目标共识节点在接收到区块同步请求时,可以基于该区块同步请求中的初始区块高度以及初始区块高度对应的链标识,确定用于同步至该目标业务节点的待同步区块。进一步地,该目标共识节点可以通过代理节点,将待同步区块发送至该目标业务节点,以使该目标业务节点在成功验证待同步区块时,将待同步区块写入至本地区块链中的对应业务分支链。
为便于理解,进一步地,请参见图7,图7是本申请实施例提供的一种区块同步的场景示意图。如图7所示,本申请实施例中的业务节点700A可以为业务网络中的目标业务节点,该目标业务节点可以为核心共识网络为目标链标识对应的业务分支链所配置的,例如,该业务节点700A可以为上述图2所示的业务网络中的业务节点200A。本申请实施例中的共识节点700C可以为核心共识网络中的目标共识节点,该目标共识节点可以为具有第一共识权限的第一共识节点,例如,该共识节点700C可以为上述图2所示的共识节点200C。本申请实施例中的代理节点700B可以用于对该业务网络和该核心共识网络进行网络隔离,该代理节点700B可以为上述图2所示的代理节点200B。
如图7所示,业务节点700A的本地区块链可以包括核心共识网络为该目标业务节点所配置的M个(以2个为例)链标识分别对应的业务分支链的部分区块数据,具体可以包括链标识710s对应的业务分支链71Q的部分区块数据(例如,业务分支链71q)以及链标识720s对应的业务分支链72Q的部分区块数据(例如,业务分支链72q)。此外,该业务节点700A的本地区块链还可以包括基础主链70Q上的部分区块数据(例如,基础主链70q)。其中,基础主链70q、业务分支链71q以及业务分支链72q均可以称之为区块头链,该区块头链可以为由多个区块头首尾连接而成的链型结构。例如,基础主链70q可以包括创世块的区块头、区块头a1、区块头a2以及区块头a3;业务分支链71q可以包括区块头b3以及区块头b4;业务分支链72q可以包括区块头c4以及区块头c5。其中,区块头a1可以为核心共识网络中的基础主链70Q的区块A1的区块头数据。
共识节点700C在将待验证区块(例如,区块C7)成功写入目标链标识(即链标识720s)对应的业务分支链72Q时,可以从基础主链70Q中获取与该业务分支链72Q相关联的目标注册信息(例如,图7所示的注册信息72Z),进而可以从该注册信息72Z中获取链标识720s对应的业务节点配置信息。其中,该业务节点配置信息中的配置节点标识可以包括图7所示的业务节点700A的节点标识。此时,该共识节点700C可以将区块C7的区块高度(即目标区块高度)以及业务节点配置信息一并发送至代理节点700B。
该代理节点700B可以基于该业务节点配置信息中的配置节点标识,将该区块C7的区块高度发送至配置节点标识对应的业务节点(比如,业务节点700A)。其中,为了提高数据传输时的安全性,该代理节点700B还可以获取业务网络的***公钥,对该区块C7的区块高度进行加密处理,以得到***加密数据信息,进而可以将该***加密数据信息转发至该业务节点700A。该业务节点700A在接收到该***加密数据信息时,可以基于***公钥对应的***私钥,对该***加密数据信息进行解密处理,以得到区块C7的区块高度。
进一步地,该业务节点700A可以在本地区块链上获取每个业务分支链的初始区块高度(即最大区块高度),进而可以基于每个业务分支链的初始区块高度以及初始区块高度对应的链标识,生成用于发送至代理节点700B的区块同步请求。
比如,该业务节点700A在业务分支链71q上获取到的最大区块高度为区块头b4的区块高度,进而可以将该区块头b4的区块高度称之为该业务分支链71q上的初始区块高度。又比如,该业务节点700A在业务分支链72q上获取到的最大区块高度为区块头c5的区块高度,进而可以将该区块头c5的区块高度称之为该业务分支链72q上的初始区块高度。此时,该业务节点700A可以基于业务分支链71q上的初始区块高度、业务分支链71q上的初始区块高度的链标识710s、业务分支链72q上的初始区块高度、业务分支链72q上的初始区块高度的链标识720s,生成用于发送至代理节点700B的区块同步请求,以使该代理节点700B可以将区块同步请求转发至共识节点700C。
进一步地,该共识节点700C可以基于该区块同步请求中的初始区块高度以及初始区块高度对应的链标识,确定用于同步至配置节点标识对应的业务节点的待同步区块。比如,该共识节点700C可以基于业务分支链71q上的初始区块高度对应的链标识710s,确定业务分支链71Q上的最大区块高度,进而可以基于业务分支链71q上的初始区块高度以及业务分支链71Q上的最大区块高度,确定用于同步至业务分支链71q的待同步区块(例如,区块B5)。与此同时,该共识节点700C可以基于业务分支链72q上的初始区块高度对应的链标识720s,确定业务分支链72Q上的最大区块高度,进而可以基于业务分支链72q上的初始区块高度以及业务分支链72Q上的最大区块高度,确定用于同步至业务分支链72q的待同步区块(例如,区块C6和区块C7)。
进一步地,该共识节点700C可以通过代理节点700B,将每个业务分支链上的待同步区块(即区块B5、区块C6以及区块C7)发送至业务节点700A。该业务节点700A在接收到待同步区块时,可以对待同步区块进行验证。由于该业务节点700A同步有核心共识网络中的基础主链70Q上的部分区块数据,因此,该业务节点700A在接收到待同步区块时,需要验证到对应业务分支链的创世块。比如,该业务节点700A在对业务分支链71q的待同步区块(例如,区块B5)进行验证时,需要从区块B5成功索引至该业务分支链71q在基础主链70Q上的创世块(即区块头a2),即需要基于区块B5的父区块哈希值,索引到区块头b4,然后基于区块头b4的父区块哈希值索引到区块b3,直到基于区块头b3的父区块哈希值成功索引到区块头a2,即可验证成功。
当然,若业务节点700A并未同步核心共识网络中的基础主链70Q上的部分区块数据,那么该业务节点700A在对业务分支链71Q的待同步区块进行验证时,不仅需要从区块B5成功索引至该业务分支链71q在基础主链70Q上的创世块(即区块头a2),还需要索引到基础主链70Q自己的创世块,即业务节点700A需要基于区块B5的父区块哈希值索引到区块头b4,再基于区块头b4的父区块哈希值索引到区块b3,然后基于区块头b3的父区块哈希值成功索引到区块头a2,进而基于区块头a2的父区块哈希值成功索引至区块头a1,直到基于区块头a1的父区块哈希值成功索引至创世块的区块头,即可验证成功。
进一步地,该业务节点700A在成功验证每个业务分支链上的待同步区块时,可以将每个业务分支链上的待同步区块的部分区块数据(即待同步区块的区块头数据以及与自身相关联的业务交易)写入至本地区块链中的对应业务分支链。
应当理解,核心共识网络中的目标共识节点在具备监管权限时,可以获取与区块链网络相关联的配置变更信息(比如,变更的监管规则等),进而可以基于该配置变更信息,生成用于写入至基础主链中的配置变更区块。进一步地,该目标共识节点可以将该配置变更区块广播至核心共识网络,以使核心共识网络中的共识节点对该配置变更区块进行共识。其中,该配置变更区块用于指示核心共识网络中的所有共识节点暂停运行,这意味着该核心共识网络中的所有共识节点在接收到配置变更区块时,不仅需要对该配置变更区块进行共识,还需要暂停对所有业务分支链的共识出块等操作。
目标共识节点可以接收该核心共识网络中的共识节点针对该配置变更区块返回的第二区块共识结果,进而可以对该第二区块共识结果进行结果分析。若第二区块共识结果指示共识失败,则该目标共识节点可以认为当前区块链网络对应的区块链节点***暂不发生配置信息的变更,进而可以生成用于广播至核心共识网络中的恢复通知信息,且将该恢复通知信息广播至所有共识节点,以使核心共识网络中的所有共识节点恢复运行。可选的,若第二区块共识结果指示共识成功,则该目标共识节点可以将配置变更区块写入至基础主链。与此同时,该目标共识节点还可以基于已经写入至该基础主链上的配置变更区块,对该核心共识网络中的所有业务分支链分别进行区块同步。在核心共识网络中的所有业务分支链均成功同步配置变更区块时,生成用于广播至核心共识网络中的恢复通知信息,进而将该恢复通知信息广播至所有共识节点,以使核心共识网络中的所有共识节点恢复运行。
如图1a所示,该核心共识网络中的配置信息未发生变化时,当前核心共识网络中可以包括基础主链10Q、业务分支链11Q以及业务分支链12Q。其中,该基础主链11Q可以包括创世块、区块A1、区块A2以及区块A3。该业务分支链11Q可以为由区块A2所派生的业务分支链,该业务分支链11Q可以包括区块B3以及区块B4。该业务分支链12Q可以为由区块A3所派生的业务分支链,该业务分支链12Q可以包括区块C4。
基于此,该核心共识网络中的目标共识节点(例如,图1a所示的节点120a)在具备监管权限时,可以获取与区块链网络1W相关联的配置变更信息。此时,该节点120a可以获取当前基础主链10Q上的具有最大生成时间戳的区块(例如,区块A3),进而可以将该区块A3的区块哈希值作为待生成的配置变更区块的父区块哈希值。进一步地,该节点120a可以对该配置变更区块的父区块哈希值以及配置变更信息进行打包处理,以生成配置变更区块。进一步地,该共识节点120a可以将该配置变更区块广播至核心共识网络,以使核心共识网络中的其他共识节点对该配置变更区块进行共识。若该节点120a接收到用于指示共识成功的第二区块共识结果,则该节点120a可以将该配置变更区块写入基础主链10Q,即将该配置变更区块作为区块A3的下一区块(例如,区块A4)。
与此同时,该节点120a还可以基于该区块A4,对该核心共识网络中的所有业务分支链分别进行区块同步。比如,该节点120a在将该配置变更区块(例如,区块A4)写入至基础主链10Q之后,可以对业务分支链11Q进行区块同步。其中,该节点120a可以获取该业务分支链11Q的最大生成时间戳对应的区块(例如,区块B4),进而可以将该配置变更区块中的父区块哈希值由区块A3的区块哈希值替换为区块B4的区块哈希值,进而可以将替换后的配置变更区块写入至该业务分支链11Q,即将替换后的配置变更区块作为区块B4的下一区块(例如,区块B5),以完成业务分支链11Q上的区块同步。
此外,该节点120a在将该配置变更区块(例如,区块A4)写入至基础主链10Q之后,还需要对业务分支链12Q进行区块同步。其中,该节点120a可以获取该业务分支链12Q的最大生成时间戳对应的区块(例如,区块C4),进而可以将该配置变更区块中的父区块哈希值由区块A3的区块哈希值替换为区块C4的区块哈希值,进而可以将替换后的配置变更区块写入至该业务分支链12Q,即将替换后的配置变更区块作为区块C4的下一区块(例如,区块C5),以完成业务分支链12Q上的区块同步。
在核心共识网络中的所有业务分支链(即业务分支链11Q和业务分支链12Q)均成功同步该配置变更区块时,该节点120a可以生成用于广播至核心共识网络中的恢复通知信息,进而可以将该恢复通知信息广播至该核心共识网络的所有共识节点,以使该核心共识网络中的所有共识节点恢复运行。
进一步地,在核心共识网络中的目标共识节点具备监管权限时,该目标共识节点还可以在该核心共识网络中的基础主链上创建新的交易业务。比如,该目标共识节点可以将N个交易业务的下一交易业务作为待创建业务,进而可以获取与待创建业务相关联的业务注册信息。其中,该业务注册信息可以包括待创建业务所对应的待派生业务分支链的待派生链标识、待创建业务的业务配置信息以及待派生链标识对应的派生条件。其中,待派生链标识与核心共识网络中的N个业务分支链中的每个业务分支链对应的链标识均不同。
可以理解的是,该目标共识节点可以从基础主链中,获取用于对待派生业务分支链进行分支注册的智能合约,进而可以调用智能合约对业务注册信息进行打包处理,以生成用于广播至核心共识网络中的分支链注册区块。在将分支链注册区块成功写入至基础主链时,该目标共识节点可以将待派生业务分支链作为由该基础主链所派生的第(N+1)个业务分支链。由此可见,本申请实施例在区块链网络对应的区块链节点***稳定运行的过程中,可以将不同的交易业务逐步加入至该区块链节点***,这样可以使得每个业务分支链能够在对应交易业务准备充分时再创建,从而可以有效避免整个体系因不同步导致的问题。
进一步地,请参见图8,图8是本申请实施例提供的一种税务区块链***下的***架构图。如图8所示,本申请实施例中的业务网络、路由代理网络以及核心共识网络组成了整个完整区块链业务体系。图8所示的核心共识网络可以包括一个核心链(例如,上述图1a所示的核心共识网络中的区块链),该核心链可以包括核心共识网络中的基础主链以及由该基础主链所派生的N个业务分支链,N为正整数。可选的,图8所示的核心共识网络可以包括一个(N+1)个独立共识网络,具体可以包括一个主链独立共识网络和N个分支链独立共识网络。其中,一个独立共识网络中可以包括一个核心链。比如,核心链0可以为主链独立共识网络(例如,上述图1b所示的主链独立共识网络W0)中的区块链,核心链1可以为分支链独立共识网络(例如,上述图1b所示的主链独立共识网络W1)中的区块链,以此类推。
可以理解的是,当区块链被用于政府(例如,税务***)或者商业机构的一些场景中,为了提高数据的保密性和安全性,在区块链体系中涉及个人隐私或者国家安全等相关数据时,可以采用本申请实施例中的“业务网络—核心共识网络”这一分层区块链结构。其中,该***架构图可以应用于多种与税务业务相关联的子业务(交易业务),例如,***业务、出块业务、法人业务、征信业务以及退税业务等。一个交易业务可以对应一个业务分支链,且一个业务分支链可以对应一个链标识,这样能够有效区分不同交易业务,以保持单个业务分支链上交易存储的专一性。
由于整个税务业务将会涉及到监管机构、开票方、报销方和报税方等。因此,图8所示的业务网络中的业务节点可以包括电子税局对应的终端设备、企业用户对应的终端设备以及消费用户对应的终端设备。其中,电子税局可以是指监管专网中的监管机构(例如,省、市、区等税局对应的计算机设备),企业用户可以为公有云中的开票服务商、报销服务商或者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费用户可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,业务网络中的业务节点可以配置有M个链标识,这M个链标识属于核心共识网络所注册的N个业务分支链的链标识,且M可以为小于或者等于N的正整数,该业务节点在执行这M个链标识中的任意一个链标识(即目标链标识)对应的交易业务时,可以生成用于广播至该核心共识网络中的待上链交易,以通过路由代理网络中的代理节点转发至该核心共识网络中的目标共识节点,以使该目标共识节点将该待上链交易上链至目标链标识对应的业务分支链。其中,这里的目标共识节点可以为具有第一共识权限的第一共识节点,也可以为具有第二共识权限的第二共识节点,这里将不对其进行限定。
其中,路由代理网络中的代理节点可以用于对业务网络和核心共识网络进行网络隔离,代理节点可以具有点对点服务(即P2P服务)、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在P2P网络中的服务,基于一类特定的网络协议,P2P网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点的基本功能,可以用于节点之间的通信,以对业务网络和核心共识网络进行网络隔离。证书缓存用于缓存各节点的身份证书,其中,这里的证书可以指公钥证书体系(Public Key Infrastructure,PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构(CA)进行颁发,基于公钥证书体系可以实现非对称加密和对于信息的数字签名。这里的公钥证书体系可以包括公私钥密码,x509证书,CA证书签发中心等等。认证服务可以用于对业务网络中的业务节点进行身份验证等。可以理解的是,在本申请实施例中,该代理节点可以用于记录核心共识网络中属于独立共识节点的独立共识节点信息,该独立共识节点信息可以用于指示代理节点在接收到业务网络中的业务节点发送的业务请求(包括交易上链请求以及区块同步请求)时,从核心共识网络中的N个分支链独立共识网络中,确定业务请求中携带的链标识对应的目标独立共识网络,进而将该业务请求转发至目标独立共识网络中的目标共识节点,以使该目标共识节点根据业务请求中的链标识来独立处理。此时,该目标共识节点是指具有第二共识权限的第二共识节点。由于业务分支链的数据量小,且不会与其他业务分支链的数据融合,进而使得该目标共识节点在对业务请求进行独立处理时的操作更加便捷。
其中,核心共识网络中的共识节点(即记账节点)可以为税务专网中的可信节点,可以通过调用权限合约(例如,智能合约),以确定自己的共识职责。这里的权限合约还存储了关于电子票据的整个生命周期的流转逻辑,比如电子票据的票据状态、流转流程、数据的访问权限、电子票据申领条件、电子票据开具条件等等。比如,核心共识网络中的目标共识节点可以接收由代理节点转发的待上链交易以及待上链交易对应的目标链标识,在成功验证待上链交易时,可以基于目标链标识,将待上链交易存储至图8所示的缓存(即核心共识网络中的节点交易池),进而可以基于该目标链标识对应的派生条件,对待上链交易进行打包处理,以得到用于广播至核心共识网络中的待验证区块,并将该待验证区块成功写入至目标链标识对应的业务分支链。由于每个业务分支链可以同时运行,这样将提高不同交易业务的并行性能,减少业务交易的上链等待时间,以至于提高了资源利用率,进而提高了***效率。
进一步地,请参见图9,图9是本申请实施例提供的一种数据处理装置的结构示意图。如图9所示,该数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该数据处理装置1可以运行于核心共识网络中的共识节点,该共识节点可以为具有第一共识权限的第一共识节点(例如,上述图1a所示的核心共识网络中的节点120a),也可以为具有第二共识权限的第二共识节点(例如,上述图1b所示的某一分支链独立共识网络中的共识节点),这里将不对其进行限定。该数据处理装置1可以包括:接收模块11,待验证区块打包模块12,待验证区块写入模块13,业务注册信息获取模块14,注册区块打包模块15,注册区块写入模块16,交易存储模块17,目标注册信息获取模块18,目标区块高度发送模块19,区块同步请求接收模块20,待同步区块发送模块21,配置变更区块生成模块22,配置变更区块写入模块23以及配置变更区块同步模块24。
该接收模块11,用于接收由业务网络中的业务节点发送的待上链交易以及待上链交易对应的目标链标识;目标链标识属于核心共识网络为业务节点所配置的M个链标识;M个链标识属于核心共识网络所注册的N个业务分支链的链标识;M为小于或者等于N的正整数;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的;业务网络与核心共识网络均为区块链网络中的子网络。
其中,该接收模块11包括:交易上链请求获取单元111,验签单元112,交易验证单元113以及目标链标识获取单元114。
该交易上链请求获取单元111,用于获取路由代理网络中的代理节点转发的交易上链请求;路由代理网络属于区块链网络中的子网络,且路由代理网络用于对区块链网络中的业务网络和核心共识网络进行网络隔离;交易上链请求是业务网络中的业务节点所生成的;交易上链请求包括待上链交易、待上链交易对应的目标链标识、待上链交易对应的交易签名信息以及业务节点的节点标识;交易签名信息为业务节点基于业务节点的节点私钥,对待上链交易进行签名后所得到的;
该验签单元112,用于获取业务节点的节点公钥,基于业务节点的节点公钥,对交易签名信息进行验签,得到验签结果;
该交易验证单元113,用于在验签结果指示验签成功时,基于目标链标识以及业务节点的节点标识,对待上链交易进行交易验证,得到交易验证结果。
其中,该交易验证单元113包括:校验注册信息获取子单元1131,标识查找子单元1132以及交易验证结果确定子单元1133。
该校验注册信息获取子单元1131,用于在验签结果指示验签成功时,从基础主链中获取与目标链标识对应的业务分支链相关联的注册信息,将获取到的注册信息确定为校验注册信息;
该标识查找子单元1132,用于获取校验注册信息中的业务节点配置信息,在业务节点配置信息中查找与业务节点的节点标识相匹配的配置节点标识;配置节点标识对应的业务节点是核心共识网络为目标链标识对应的业务分支链所配置的;配置节点标识对应的业务节点用于执行目标链标识对应的交易业务;
该交易验证结果确定子单元1133,用于若业务节点配置信息中存在与业务节点的节点标识相匹配的配置节点标识,则得到用于指示交易验证成功的交易验证结果。
其中,该校验注册信息获取子单元1131,标识查找子单元1132以及交易验证结果确定子单元1133的具体实现方式可以参见上述图3所对应实施例中对待上链交易进行交易验证的描述,这里将不再继续进行赘述。
该目标链标识获取单元114,用于若交易验证结果指示交易验证成功,则确定交易上链请求为合法请求,且从交易上链请求中获取待上链交易以及目标链标识。
其中,该交易上链请求获取单元111,验签单元112,交易验证单元113以及目标链标识获取单元114的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
该待验证区块打包模块12,用于基于目标链标识对应的派生条件,对待上链交易进行打包处理,得到用于广播至核心共识网络中的待验证区块,基于目标链标识,将待验证区块发送至核心共识网络中的共识节点,以使共识节点对待验证区块进行区块共识;目标链标识对应的派生条件用于在基础主链中确定目标链标识对应的业务分支链的创世块。
其中,该待验证区块打包模块12包括:待处理交易获取单元121,待验证区块打包单元122以及待验证区块发送单元123。
该待处理交易获取单元121,用于从核心共识网络的节点交易池中,获取与目标链标识具有同一链标识的业务交易,将获取到的业务交易作为待处理交易;待处理交易包括待上链交易;
该待验证区块打包单元122,用于基于目标链标识对应的派生条件,对待处理交易进行打包处理,得到用于广播至核心共识网络中的待验证区块。
其中,该待验证区块打包单元122包括:区块类型识别子单元1221,父区块哈希值确定子单元1222,区块哈希值确定子单元1223以及区块打包子单元1224。
该区块类型识别子单元1221,用于将目标链标识对应的业务分支链作为目标业务分支链,识别待生成的待验证区块在目标业务分支链上的区块类型;
该父区块哈希值确定子单元1222,用于基于区块类型以及目标链标识对应的派生条件,确定待验证区块的父区块,将待验证区块的父区块的区块哈希值作为待验证区块的父区块哈希值。
其中,区块类型包含第一区块类型;第一区块类型用于指示待验证区块的父区块属于基础主链上的区块;
该父区块哈希值确定子单元1222还用于:
若区块类型为第一区块类型,则从基础主链中获取与目标业务分支链相关联的目标注册信息,且从目标注册信息中获取目标链标识对应的派生条件;
基于目标链标识对应的派生条件,确定目标业务分支链的创世块,将确定的创世块作为待验证区块的父区块;
获取待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为待验证区块的父区块哈希值。
其中,区块类型包含第二区块类型;第二区块类型用于指示待验证区块的父区块不属于基础主链上的区块;
该父区块哈希值确定子单元1222还用于:
若区块类型为第二区块类型,则从目标链标识对应的派生条件所指示的目标业务分支链中,获取具有最大生成时间戳的区块,且将具有最大生成时间戳的区块作为待验证区块的父区块;
获取待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为待验证区块的父区块哈希值。
该区块哈希值确定子单元1223,用于对待处理交易进行交易哈希转换,得到待处理交易对应的交易哈希值,且基于交易哈希值确定待验证区块的区块哈希值;
该区块打包子单元1224,用于对待处理交易、区块哈希值以及父区块哈希值进行打包处理,得到待写入目标业务分支链的待验证区块;待验证区块的生成时间戳用于更新目标业务分支链上的最大生成时间戳。
其中,该区块类型识别子单元1221,父区块哈希值确定子单元1222,区块哈希值确定子单元1223以及区块打包子单元1224的具体实现方式可以参见上述图3所对应实施例中对待验证区块的描述,这里将不再继续进行赘述。
该待验证区块发送单元123,用于基于目标链标识,将待验证区块发送至核心共识网络中的共识节点;共识节点用于对目标链标识对应的交易业务进行共识。
其中,该待处理交易获取单元121,待验证区块打包单元122以及待验证区块发送单元123的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
该待验证区块写入模块13,用于接收共识节点针对待验证区块返回的第一区块共识结果,若第一区块共识结果指示共识成功,则基于创世块,将待验证区块写入至目标链标识对应的业务分支链。
该业务注册信息获取模块14,用于将N个交易业务的下一交易业务作为待创建业务,获取与待创建业务相关联的业务注册信息;业务注册信息包括待创建业务所对应的待派生业务分支链的待派生链标识、待创建业务的业务配置信息以及待派生链标识对应的派生条件;待派生链标识与N个业务分支链中的每个业务分支链对应的链标识均不同;
该注册区块打包模块15,用于从基础主链中获取用于对待派生业务分支链进行分支注册的智能合约,调用智能合约对业务注册信息进行打包处理,生成用于广播至核心共识网络中的分支链注册区块;
该注册区块写入模块16,用于在将分支链注册区块成功写入至基础主链时,将待派生业务分支链作为由基础主链所派生的第(N+1)个业务分支链。
其中,在核心共识网络中用于接收目标链标识的共识节点为具有第一共识权限的第一共识节点;第一共识节点的节点交易池中包括N个交易集合;一个交易集合用于存储具有同一链标识的业务交易;
该交易存储模块17,用于若交易验证结果指示交易验证成功,则从N个交易集合中确定目标链标识对应的目标交易集合,且将待上链交易存储至目标交易集合。
该目标注册信息获取模块18,用于在将待验证区块成功写入至目标链标识对应的业务分支链时,从基础主链中获取与目标链标识对应的业务分支链相关联的目标注册信息,且从目标注册信息中获取目标链标识对应业务节点配置信息;
该目标区块高度发送模块19,用于将业务节点配置信息以及待验证区块的目标区块高度发送至路由代理网络中的代理节点,以使代理节点将目标区块高度转发至业务节点配置信息中的配置节点标识对应的业务节点;目标区块高度用于指示配置节点标识对应的业务节点,基于本地区块链上的初始区块高度以及初始区块高度对应的链标识生成区块同步请求;路由代理网络为区块链网络中的子网络,且路由代理网络用于对业务网络和核心共识网络进行网络隔离;
该区块同步请求接收模块20,用于通过代理节点接收区块同步请求,基于区块同步请求中的初始区块高度以及初始区块高度对应的链标识,确定用于同步至配置节点标识对应的业务节点的待同步区块;
该待同步区块发送模块21,用于通过代理节点将待同步区块发送至配置节点标识对应的业务节点,以使配置节点标识对应的业务节点在成功验证待同步区块时,将待同步区块写入至本地区块链中的对应业务分支链。
该配置变更区块生成模块22,用于在具备监管权限时获取与区块链网络相关联的配置变更信息,基于配置变更信息,生成用于写入至基础主链中的配置变更区块,将配置变更区块广播至核心共识网络,以使核心共识网络中的共识节点对配置变更区块进行共识;配置变更区块用于指示核心共识网络中的所有共识节点暂停运行;
该配置变更区块写入模块23,接收共识节点针对配置变更区块返回的第二区块共识结果,若第二区块共识结果指示共识成功,则将配置变更区块写入至基础主链;
该配置变更区块同步模块24,用于基于配置变更区块对核心共识网络中的所有业务分支链分别进行区块同步,在所有业务分支链均成功同步配置变更区块时,生成用于广播至核心共识网络中的恢复通知信息,且将恢复通知信息广播至所有共识节点,以使所有共识节点恢复运行。
其中,区块链网络包括路由代理网络;路由代理网络中的代理节点用于记录核心共识网络中的属于独立共识节点的独立共识节点信息;独立共识节点信息用于指示代理节点在接收到业务节点发送的业务请求时,从核心共识网络中的N个分支链独立共识网络中,确定业务请求中携带的链标识所对应的目标独立共识网络,且将业务请求转发至目标独立共识网络中的共识节点;目标独立共识网络中的共识节点为具有第二共识权限的第二共识节点;业务请求包括交易上链请求以及区块同步请求。
其中,该接收模块11,待验证区块打包模块12,待验证区块写入模块13,业务注册信息获取模块14,注册区块打包模块15,注册区块写入模块16,交易存储模块17,目标注册信息获取模块18,目标区块高度发送模块19,区块同步请求接收模块20,待同步区块发送模块21,配置变更区块生成模块22,配置变更区块写入模块23以及配置变更区块同步模块24的具体实现方式可以参见上述图6所对应实施例中对步骤S201-步骤S207的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,图10是本申请实施例提供的一种计算机设备的示意图。如图10所示,该计算机设备1000可以为核心共识网络中的目标共识节点,该目标共识节点可以为具有第一共识权限的第一共识节点(例如,上述图1a所示的核心共识网络中的节点120a),也可以为具有第二共识权限的第二共识节点(例如,上述图1b所示的任意一个分支链独立共识网络中的共识节点),这里将不对其进行赘述。该计算机设备1000可以包括:至少一个处理器1001,例如,CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的计算机设备1000中,网络接口1004主要用于与路由代理网络中的代理节点以及核心共识网络中的其他共识节点进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
接收由业务网络中的业务节点发送的待上链交易以及待上链交易对应的目标链标识;目标链标识属于核心共识网络为业务节点所配置的M个链标识;M个链标识属于核心共识网络所注册的N个业务分支链的链标识;M为小于或者等于N的正整数;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的;业务网络与核心共识网络均为区块链网络中的子网络;
基于目标链标识对应的派生条件,对待上链交易进行打包处理,得到用于广播至核心共识网络中的待验证区块,基于目标链标识,将待验证区块发送至核心共识网络中的共识节点,以使共识节点对待验证区块进行区块共识;目标链标识对应的派生条件用于在基础主链中确定目标链标识对应的业务分支链的创世块;
接收共识节点针对待验证区块返回的第一区块共识结果,若第一区块共识结果指示共识成功,则基于创世块,将待验证区块写入至目标链标识对应的业务分支链。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图6所对应实施例中对该数据处理方法的描述,也可执行前文图9所对应实施例中对该数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图6中各个步骤所提供的数据处理方法,具体可参见图3以及图6各个步骤所提供的实现方式,在此不再赘述。
计算机可读存储介质可以是前述任一实施例提供的数据传输装置或者计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital, SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图3或者图6所对应实施例中对数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
接收由业务网络中的业务节点发送的待上链交易以及所述待上链交易对应的目标链标识;所述目标链标识属于核心共识网络为所述业务节点所配置的M个链标识;所述M个链标识属于所述核心共识网络所注册的N个业务分支链的链标识;所述M为小于或者等于所述N的正整数;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;所述N个业务分支链中的每个业务分支链均是由所述核心共识网络中的基础主链上的派生条件所得到的;所述业务网络与所述核心共识网络均为区块链网络中的子网络;
基于所述目标链标识对应的派生条件,对所述待上链交易进行打包处理,得到用于广播至所述核心共识网络中的待验证区块,基于所述目标链标识,将所述待验证区块发送至所述核心共识网络中的共识节点,以使所述共识节点对所述待验证区块进行区块共识;所述目标链标识对应的派生条件用于在所述基础主链中确定所述目标链标识对应的业务分支链的创世块;
接收所述共识节点针对所述待验证区块返回的第一区块共识结果,若所述第一区块共识结果指示共识成功,则基于所述创世块,将所述待验证区块写入至所述目标链标识对应的业务分支链。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将N个交易业务的下一交易业务作为待创建业务,获取与所述待创建业务相关联的业务注册信息;所述业务注册信息包括所述待创建业务所对应的待派生业务分支链的待派生链标识、所述待创建业务的业务配置信息以及所述待派生链标识对应的派生条件;所述待派生链标识与所述N个业务分支链中的每个业务分支链对应的链标识均不同;
从所述基础主链中获取用于对所述待派生业务分支链进行分支注册的智能合约,调用所述智能合约对所述业务注册信息进行打包处理,生成用于广播至所述核心共识网络中的分支链注册区块;
在将所述分支链注册区块成功写入至所述基础主链时,将所述待派生业务分支链作为由所述基础主链所派生的第(N+1)个业务分支链。
3.根据权利要求1所述的方法,其特征在于,所述接收由业务网络中的业务节点发送的待上链交易以及所述待上链交易对应的目标链标识,包括:
获取路由代理网络中的代理节点转发的交易上链请求;所述路由代理网络属于区块链网络中的子网络,且所述路由代理网络用于对所述区块链网络中的业务网络和核心共识网络进行网络隔离;所述交易上链请求是所述业务网络中的业务节点所生成的;所述交易上链请求包括待上链交易、所述待上链交易对应的目标链标识、所述待上链交易对应的交易签名信息以及所述业务节点的节点标识;所述交易签名信息为所述业务节点基于所述业务节点的节点私钥,对所述待上链交易进行签名后所得到的;
获取所述业务节点的节点公钥,基于所述业务节点的节点公钥,对所述交易签名信息进行验签,得到验签结果;
在所述验签结果指示验签成功时,基于所述目标链标识以及所述业务节点的节点标识,对所述待上链交易进行交易验证,得到交易验证结果;
若所述交易验证结果指示交易验证成功,则确定所述交易上链请求为合法请求,且从所述交易上链请求中获取所述待上链交易以及所述目标链标识。
4.根据权利要求3所述的方法,其特征在于,所述在所述验签结果指示验签成功时,基于所述目标链标识以及所述业务节点的节点标识,对所述待上链交易进行交易验证,得到交易验证结果,包括:
在所述验签结果指示验签成功时,从所述基础主链中获取与所述目标链标识对应的业务分支链相关联的注册信息,将获取到的注册信息确定为校验注册信息;
获取所述校验注册信息中的业务节点配置信息,在所述业务节点配置信息中查找与所述业务节点的节点标识相匹配的配置节点标识;所述配置节点标识对应的业务节点是所述核心共识网络为所述目标链标识对应的业务分支链所配置的;所述配置节点标识对应的业务节点用于执行所述目标链标识对应的交易业务;
若所述业务节点配置信息中存在与所述业务节点的节点标识相匹配的配置节点标识,则得到用于指示交易验证成功的交易验证结果。
5.根据权利要求3所述的方法,其特征在于,在所述核心共识网络中用于接收所述目标链标识的共识节点为具有第一共识权限的第一共识节点;所述第一共识节点的节点交易池中包括N个交易集合;一个交易集合用于存储具有同一链标识的业务交易;
所述方法还包括:
若所述交易验证结果指示交易验证成功,则从所述N个交易集合中确定所述目标链标识对应的目标交易集合,且将所述待上链交易存储至所述目标交易集合。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标链标识对应的派生条件,对所述待上链交易进行打包处理,得到用于广播至所述核心共识网络中的待验证区块,基于所述目标链标识,将所述待验证区块发送至所述核心共识网络中的共识节点,包括:
从所述核心共识网络的节点交易池中,获取与所述目标链标识具有同一链标识的业务交易,将获取到的业务交易作为待处理交易;所述待处理交易包括所述待上链交易;
基于所述目标链标识对应的派生条件,对所述待处理交易进行打包处理,得到用于广播至所述核心共识网络中的待验证区块;
基于所述目标链标识,将所述待验证区块发送至所述核心共识网络中的共识节点;所述共识节点用于对所述目标链标识对应的交易业务进行共识。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标链标识对应的派生条件,对所述待处理交易进行打包处理,得到用于广播至所述核心共识网络中的待验证区块,包括:
将所述目标链标识对应的业务分支链作为目标业务分支链,识别待生成的待验证区块在所述目标业务分支链上的区块类型;
基于所述区块类型以及所述目标链标识对应的派生条件,确定所述待验证区块的父区块,将所述待验证区块的父区块的区块哈希值作为所述待验证区块的父区块哈希值;
对所述待处理交易进行交易哈希转换,得到所述待处理交易对应的交易哈希值,且基于所述交易哈希值确定所述待验证区块的区块哈希值;
对所述待处理交易、所述区块哈希值以及所述父区块哈希值进行打包处理,得到待写入所述目标业务分支链的所述待验证区块;所述待验证区块的生成时间戳用于更新所述目标业务分支链上的最大生成时间戳。
8.根据权利要求7所述的方法,其特征在于,所述区块类型包含第一区块类型;所述第一区块类型用于指示所述待验证区块的父区块属于所述基础主链上的区块;
所述基于所述区块类型以及所述目标链标识对应的派生条件,确定所述待验证区块的父区块,将所述待验证区块的父区块的区块哈希值作为所述待验证区块的父区块哈希值,包括:
若所述区块类型为所述第一区块类型,则从所述基础主链中获取与所述目标业务分支链相关联的目标注册信息,且从所述目标注册信息中获取所述目标链标识对应的派生条件;
基于所述目标链标识对应的派生条件,确定所述目标业务分支链的创世块,将确定的创世块作为所述待验证区块的父区块;
获取所述待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为所述待验证区块的父区块哈希值。
9.根据权利要求7所述的方法,其特征在于,所述区块类型包含第二区块类型;所述第二区块类型用于指示所述待验证区块的父区块不属于所述基础主链上的区块;
所述基于所述区块类型以及所述目标链标识对应的派生条件,确定所述待验证区块的父区块,将所述待验证区块的父区块的区块哈希值作为所述待验证区块的父区块哈希值,包括:
若所述区块类型为所述第二区块类型,则从所述目标链标识对应的派生条件所指示的所述目标业务分支链中,获取具有最大生成时间戳的区块,且将所述具有最大生成时间戳的区块作为所述待验证区块的父区块;
获取所述待验证区块的父区块的区块哈希值,将获取到的区块哈希值作为所述待验证区块的父区块哈希值。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述待验证区块成功写入至所述目标链标识对应的业务分支链时,从所述基础主链中获取与所述目标链标识对应的业务分支链相关联的目标注册信息,且从所述目标注册信息中获取所述目标链标识对应的业务节点配置信息;
将所述业务节点配置信息以及所述待验证区块的目标区块高度发送至路由代理网络中的代理节点,以使所述代理节点将所述目标区块高度转发至所述业务节点配置信息中的配置节点标识对应的业务节点;所述目标区块高度用于指示所述配置节点标识对应的业务节点,基于本地区块链上的初始区块高度以及所述初始区块高度对应的链标识生成区块同步请求;所述路由代理网络为所述区块链网络中的子网络,且所述路由代理网络用于对所述业务网络和所述核心共识网络进行网络隔离;
通过所述代理节点接收所述区块同步请求,基于所述区块同步请求中的所述初始区块高度以及所述初始区块高度对应的链标识,确定用于同步至所述配置节点标识对应的业务节点的待同步区块;
通过所述代理节点将所述待同步区块发送至所述配置节点标识对应的业务节点,以使所述配置节点标识对应的业务节点在成功验证所述待同步区块时,将所述待同步区块写入至所述本地区块链中的对应业务分支链。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在具备监管权限时获取与所述区块链网络相关联的配置变更信息,基于所述配置变更信息,生成用于写入至所述基础主链中的配置变更区块,将所述配置变更区块广播至所述核心共识网络,以使所述核心共识网络中的共识节点对所述配置变更区块进行共识;所述配置变更区块用于指示所述核心共识网络中的所有共识节点暂停运行;
接收所述共识节点针对所述配置变更区块返回的第二区块共识结果,若所述第二区块共识结果指示共识成功,则将所述配置变更区块写入至所述基础主链;
基于所述配置变更区块对所述核心共识网络中的所有业务分支链分别进行区块同步,在所述所有业务分支链均成功同步所述配置变更区块时,生成用于广播至所述核心共识网络中的恢复通知信息,且将所述恢复通知信息广播至所述所有共识节点,以使所述所有共识节点恢复运行。
12.根据权利要求1所述的方法,其特征在于,所述区块链网络包括路由代理网络;所述路由代理网络中的代理节点用于记录所述核心共识网络中的属于独立共识节点的独立共识节点信息;所述独立共识节点信息用于指示所述代理节点在接收到所述业务节点发送的业务请求时,从所述核心共识网络中的N个分支链独立共识网络中,确定所述业务请求中携带的链标识所对应的目标独立共识网络,且将所述业务请求转发至所述目标独立共识网络中的共识节点;所述目标独立共识网络中的共识节点为具有第二共识权限的第二共识节点;所述业务请求包括交易上链请求以及区块同步请求。
13.一种数据处理装置,其特征在于,包括:
接收模块,用于接收由业务网络中的业务节点发送的待上链交易以及所述待上链交易对应的目标链标识;所述目标链标识属于核心共识网络为所述业务节点所配置的M个链标识;所述M个链标识属于所述核心共识网络所注册的N个业务分支链的链标识;所述M为小于或者等于所述N的正整数;一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识;所述N个业务分支链中的每个业务分支链均是由所述核心共识网络中的基础主链上的派生条件所得到的;所述业务网络与所述核心共识网络均为区块链网络中的子网络;
待验证区块打包模块,用于基于所述目标链标识对应的派生条件,对所述待上链交易进行打包处理,得到用于广播至所述核心共识网络中的待验证区块,基于所述目标链标识,将所述待验证区块发送至所述核心共识网络中的共识节点,以使所述共识节点对所述待验证区块进行区块共识;所述目标链标识对应的派生条件用于在所述基础主链中确定所述目标链标识对应的业务分支链的创世块;
待验证区块写入模块,用于接收所述共识节点针对所述待验证区块返回的第一区块共识结果,若所述第一区块共识结果指示共识成功,则基于所述创世块,将所述待验证区块写入至所述目标链标识对应的业务分支链。
14.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110965200.0A CN113421097B (zh) | 2021-08-23 | 2021-08-23 | 一种数据处理方法、装置、计算机设备及存储介质 |
PCT/CN2022/105391 WO2023024742A1 (zh) | 2021-08-23 | 2022-07-13 | 一种数据处理方法、装置、计算机设备及存储介质 |
US18/206,028 US20230316273A1 (en) | 2021-08-23 | 2023-06-05 | Data processing method and apparatus, computer device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110965200.0A CN113421097B (zh) | 2021-08-23 | 2021-08-23 | 一种数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113421097A true CN113421097A (zh) | 2021-09-21 |
CN113421097B CN113421097B (zh) | 2021-11-30 |
Family
ID=77719099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110965200.0A Active CN113421097B (zh) | 2021-08-23 | 2021-08-23 | 一种数据处理方法、装置、计算机设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230316273A1 (zh) |
CN (1) | CN113421097B (zh) |
WO (1) | WO2023024742A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570466A (zh) * | 2021-09-24 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及可读存储介质 |
CN113904822A (zh) * | 2021-09-28 | 2022-01-07 | 则正(上海)生物科技有限公司 | 基于区块链的实验室管理*** |
CN114338673A (zh) * | 2021-12-30 | 2022-04-12 | 马上消费金融股份有限公司 | 一种交易数据处理方法、装置、设备、***及存储介质 |
WO2023024742A1 (zh) * | 2021-08-23 | 2023-03-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN116684425A (zh) * | 2023-07-28 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 区块链的数据处理方法、***、装置和计算机设备 |
CN116760632A (zh) * | 2023-08-10 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
WO2023221772A1 (zh) * | 2022-05-19 | 2023-11-23 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法及相关产品 |
WO2024093593A1 (zh) * | 2022-11-02 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
WO2024099023A1 (zh) * | 2022-11-11 | 2024-05-16 | 腾讯科技(深圳)有限公司 | 多区块链数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171236B (zh) * | 2023-11-02 | 2024-02-06 | 中电科大数据研究院有限公司 | 一种基于区块链的数据溯源方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379429A (zh) * | 2018-10-25 | 2019-02-22 | 龚玉环 | 一种基于区块链的多链管理方法及*** |
CN109493050A (zh) * | 2018-11-21 | 2019-03-19 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的转账流程 |
CN110535872A (zh) * | 2019-09-12 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 在区块链网络中处理数据请求的方法和装置 |
CN112926982A (zh) * | 2021-01-20 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113141401A (zh) * | 2021-04-20 | 2021-07-20 | 普华云创科技(北京)有限公司 | 一种基于主子链的多链构建方法与*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902091B (zh) * | 2019-02-21 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 数据区块在区块链上记录的方法、领导记账节点和介质 |
CN112685505B (zh) * | 2021-01-07 | 2022-06-24 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、计算机设备及存储介质 |
CN113421097B (zh) * | 2021-08-23 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
-
2021
- 2021-08-23 CN CN202110965200.0A patent/CN113421097B/zh active Active
-
2022
- 2022-07-13 WO PCT/CN2022/105391 patent/WO2023024742A1/zh active Application Filing
-
2023
- 2023-06-05 US US18/206,028 patent/US20230316273A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379429A (zh) * | 2018-10-25 | 2019-02-22 | 龚玉环 | 一种基于区块链的多链管理方法及*** |
CN109493050A (zh) * | 2018-11-21 | 2019-03-19 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的转账流程 |
CN110535872A (zh) * | 2019-09-12 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 在区块链网络中处理数据请求的方法和装置 |
CN112926982A (zh) * | 2021-01-20 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN113141401A (zh) * | 2021-04-20 | 2021-07-20 | 普华云创科技(北京)有限公司 | 一种基于主子链的多链构建方法与*** |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023024742A1 (zh) * | 2021-08-23 | 2023-03-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN113570466A (zh) * | 2021-09-24 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及可读存储介质 |
CN113570466B (zh) * | 2021-09-24 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及可读存储介质 |
CN113904822A (zh) * | 2021-09-28 | 2022-01-07 | 则正(上海)生物科技有限公司 | 基于区块链的实验室管理*** |
CN114338673A (zh) * | 2021-12-30 | 2022-04-12 | 马上消费金融股份有限公司 | 一种交易数据处理方法、装置、设备、***及存储介质 |
WO2023221772A1 (zh) * | 2022-05-19 | 2023-11-23 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法及相关产品 |
WO2024093593A1 (zh) * | 2022-11-02 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
WO2024099023A1 (zh) * | 2022-11-11 | 2024-05-16 | 腾讯科技(深圳)有限公司 | 多区块链数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品 |
CN116684425A (zh) * | 2023-07-28 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 区块链的数据处理方法、***、装置和计算机设备 |
CN116684425B (zh) * | 2023-07-28 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 区块链的数据处理方法、***、装置和计算机设备 |
CN116760632A (zh) * | 2023-08-10 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN116760632B (zh) * | 2023-08-10 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230316273A1 (en) | 2023-10-05 |
WO2023024742A1 (zh) | 2023-03-02 |
CN113421097B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113421097B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
CN112926982B (zh) | 一种交易数据处理方法、装置、设备及存储介质 | |
CN112667749B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112685505B (zh) | 一种交易数据处理方法、装置、计算机设备及存储介质 | |
WO2018228337A1 (zh) | 业务数据存储方法、计算机可读存储介质以及电子设备 | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
WO2018112940A1 (zh) | 区块链节点的业务执行方法、装置及节点设备 | |
WO2022100679A1 (zh) | 一种数据通信方法、装置、计算机设备及存储介质 | |
KR20190075771A (ko) | 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템 | |
CN108377272B (zh) | 一种管理物联网终端的方法及*** | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
US20210144017A1 (en) | Method and apparatus for replacing identity certificate in blockchain network, storage medium, and computer device | |
CN111740966B (zh) | 一种基于区块链网络的数据处理方法及相关设备 | |
CN113259130B (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
CN114519197A (zh) | 一种基于区块链和云服务的数据存储架构和方法 | |
CN110620776A (zh) | 一种数据转移信息传输方法及其装置 | |
CN117407437A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
WO2024045552A1 (zh) | 一种数据处理方法及相关设备 | |
TWI774204B (zh) | 具有混合區塊鏈之虛擬儲存架構及其方法 | |
WO2021172589A1 (ja) | 情報処理システム、及びプログラム | |
Divyeshkumar | Block-chain based data provenance and integrity verification | |
CN117131079A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051778 Country of ref document: HK |