CN118036021A - 基于多区块链的数据处理方法、装置、设备以及介质 - Google Patents
基于多区块链的数据处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN118036021A CN118036021A CN202211362635.7A CN202211362635A CN118036021A CN 118036021 A CN118036021 A CN 118036021A CN 202211362635 A CN202211362635 A CN 202211362635A CN 118036021 A CN118036021 A CN 118036021A
- Authority
- CN
- China
- Prior art keywords
- service
- node
- data
- clearing
- contract
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 153
- 230000004044 response Effects 0.000 claims abstract description 96
- 238000012795 verification Methods 0.000 claims description 192
- 238000012545 processing Methods 0.000 claims description 106
- 230000001360 synchronised effect Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 20
- 238000010276 construction Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 173
- 230000008569 process Effects 0.000 description 42
- 230000003993 interaction Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 238000013475 authorization Methods 0.000 description 22
- 230000007246 mechanism Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 7
- 238000012797 qualification Methods 0.000 description 7
- 239000006228 supernatant Substances 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000011835 investigation Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供了一种基于多区块链的数据处理方法、装置、设备以及介质,该方法包括:在第一共识节点获取到清分交易请求时,基于清分交易请求中的目标节点标识和第一权限合约,对业务清分节点的身份权限进行验证,在确定业务清分节点为第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用第一权限清分合约从第一主链上获取第一业务数据和第一账本数据,且从合约数据库中获取第一合约数据,将包含第一业务数据、第一账本数据和第一合约数据的第一清分响应信息返回给第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。采用本申请可以提升数据清分时的数据安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于多区块链的数据处理方法、装置、设备以及介质。
背景技术
现有的区块链数据处理系统在用于处理相关交易业务(例如,交易业务A和该交易业务A的扩展交易业务B)时,依赖于架设在单链结构上的区块链网络。这样,对于通过终端或者服务器的形式接入该区块链网络中的各个业务处理方而言,均需要在该区块链网络对应的同一区块链上处理相关交易业务(例如,交易业务A和扩展交易业务B)。
发明人在实践中发现,对于单区块链而言,存在将各业务处理方所分别参与处理的关业务(例如,业务处理方C1参与处理交易业务A和业务处理方C2参与处理扩展交易业务B)所对应的交易业务执行结果打包至同一区块(例如,区块D)的可能。基于此,当业务处理方C1和业务处理方C2均需要从该单区块链上进行数据清分时,会从该单区块链上的同一区块(例如,区块D)中清分到所有的交易执行结果,即对于该单区块链上的任意一个业务处理方而言,会在清分到与自己相关的交易执行结果同时,一并清分到与自己无关的交易执行结果,这意味着现有的区块链清分方案,难以确保数据清分时的数据安全性。
发明内容
本申请实施例提供一种基于多区块链的数据处理方法、装置、设备以及介质,本申请实施例通过明确的身份权限验证机制,可以提升进行数据清分时的数据安全性。
本申请实施例一方面提供了一种基于多区块链的数据处理方法,多区块链包含第一主链,第一主链对应的共识网络为第一网络;方法由第一网络中的第一共识节点执行,方法包括:
在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;业务对象包含与第一业务网络相关联的第一业务对象;第一业务网络为与第一网络相关联的业务网络;
基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;
在身份权限验证结果指示业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,且从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据;第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限;
将第一业务数据、第一账本数据和第一合约数据作为清分交易请求对应的第一清分响应信息,将第一清分响应信息返回给具备第一类型清分权限的第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。
本申请实施例一方面提供了一种基于多区块链的数据处理方法,多区块链包含第一主链,第一主链对应的共识网络为第一网络;方法由业务网络中的业务清分节点执行;业务网络包含与第一网络相关联的第一业务网络;方法包括:
获取业务对象基于第一清分交易构建的清分交易请求;业务对象包含第一业务对象;
将清分交易请求发送给第一网络中的第一共识节点,以使第一共识节点基于清分交易请求中所携带的业务清分节点的节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;身份权限验证结果用于在第一共识节点确定业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,生成第一清分响应信息;第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到第一清分交易所指示的第一业务数据的权限;第一清分响应信息包含第一业务数据、第一业务数据对应的第一账本数据和第一账本数据对应的第一合约数据;第一业务数据为第一共识节点调用与第一权限合约相关联的第一权限清分合约从第一主链上所获取到的与第一类型清分节点相关联的业务数据;第一账本数据对应的第一合约数据为第一共识节点调用第一权限清分合约从第一主链对应的合约数据库中所获取到的合约数据;
接收第一共识节点返回的第一清分响应信息,基于第一清分响应信息中的第一业务数据、第一账本数据和第一合约数据恢复第一账本数据对应的子账本。
本申请实施例一方面提供了一种基于多区块链的数据处理装置,多区块链包含第一主链,第一主链对应的共识网络为第一网络;装置运行在第一网络的第一共识节点上,装置包括:
清分请求获取模块,用于在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;业务对象包含与第一业务网络相关联的第一业务对象;第一业务网络为与第一网络相关联的业务网络;
身份权限验证模块,用于基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;
第一清分调用模块,用于在身份权限验证结果指示业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,且从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据;第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限;
第一清分响应返回模块,用于将第一业务数据、第一账本数据和第一合约数据作为清分交易请求对应的第一清分响应信息,将第一清分响应信息返回给具备第一类型清分权限的第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。
其中,多区块链包含独立于第一主链的目标主链;第一网络对应的链入口为第一链入口;第一链入口存储有第一主链对应的链访问量阈值以及第一共识节点从目标主链上所同步来的允许访问第一主链的授权对象的授权访问数据信息;授权访问数据信息是由与目标主链相关联的目标共识节点基于授权对象所提交的对象数据信息所生成的;链访问量阈值用于表征通过第一链入口所获取到的最大并发请求访问量;
装置还包括:
访问量确定模块,用于在通过第一链入口获取到业务对象通过业务清分节点提交的数据清分交易请求时,基于数据清分交易请求对第一链入口处的请求访问量进行递增处理,得到递增处理后的请求访问量;
请求数据获取模块,用于在递增处理后的请求访问量未达到链访问量阈值时,从数据清分交易请求中获取与业务对象相关联的访问请求数据信息;
访问鉴权模块,用于基于授权访问数据信息对提交访问请求数据信息的业务对象进行访问鉴权,得到业务对象的访问鉴权结果;
清分请求确定模块,用于在访问鉴权结果指示访问请求数据信息与授权访问数据信息中的访问注册数据信息保持一致时,将业务对象确定为授权对象,且将由业务对象所提交的数据请求交易请求作为清分交易请求。
其中,第一链入口处所存储的授权访问数据信息中携带业务对象的公钥信息;数据清分交易请求中携带业务对象的对象签名信息;对象签名信息为业务清分节点基于业务对象的私钥信息对业务对象所请求的第一清分交易进行签名处理后所得到的;业务对象的私钥信息和业务对象的公钥信息互为秘钥对,且业务对象的私钥信息和业务对象的公钥信息均为目标共识节点基于业务对象所提交的对象数据信息所配置的;
请求数据获取模块包括:
签名信息获取单元,用于从数据清分交易请求中获取对象签名信息,基于第一链入口处所存储的业务对象的公钥信息对对象签名信息进行签名验签,得到签名验签结果;
签名验签成功单元,用于在签名验证结果指示验签成功时,获取数据清分交易请求中所携带的所第一清分交易,将第一清分交易对应的访问数据信息作为与业务对象相关联的访问请求数据信息。
其中,请求数据获取模块还包括:
签名验签失败单元,用于在签名验证结果指示验签失败时,将业务对象确定为非法对象,且拒绝由非法对象发送的数据清分交易请求。
其中,身份权限验证模块包括:
节点标识写入单元,用于将目标节点标识写入第一主链上的第一权限合约;
身份验证单元,用于调用第一权限合约中的第一身份验证方法对具备目标节点标识的业务清分节点进行身份验证,得到身份验证结果;
权限验证单元,用于在身份验证结果指示业务清分节点的节点身份为第一身份类型时,将第一身份类型对应的业务清分节点作为第一类型清分节点,且调用第一权限合约中的第一权限验证方法,对具备目标节点标识的业务清分节点进行权限验证,得到权限验证结果;
验证结果确定单元,用于在权限验证结果指示业务清分节点的节点权限为第一类型清分权限时,将具备第一类型清分权限的第一类型清分节点作为业务清分节点对应的身份权限验证结果。
其中,第一业务数据所在的区块为第一主链上的第一目标区块;第一业务数据所在的第一上链交易中包含第一类型清分节点的节点标识;第一类型清分节点的节点标识为目标节点标识;目标节点标识用于表征第一主链上的第一目标区块中的第一上链交易对第一类型清分节点所对应的第一业务对象可见;
第一清分调用模块包括:
清分合约访问单元,用于调用与第一权限合约中的数据清分方法,访问第一权限清分合约,将目标节点标识写入第一权限清分合约,调用第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一目标区块,从第一目标区块中获取对第一类型清分节点可见的第一上链交易,从第一上链交易中获取目标节点标识对应的第一业务数据;
第一账本数据获取单元,用于从第一主链对应的账本数据库中获取与第一业务数据相关联的账本数据作为第一账本数据;
第一合约数据获取单元,用于从第一主链对应的合约数据库中获取与第一业务数据相关联的合约数据作为第一账本数据对应的第一合约数据。
其中,第一网络对应的链入口为第一链入口,多区块链包含独立于第一主链的目标主链;
装置还包括:
上链请求获取模块,用于通过第一链入口获取第一业务对象通过第一类型清分节点发送的第一交易上链请求,从第一交易上链请求中获取第一业务对象所请求的第一业务,以及第一业务对应的第一待上链交易;
跨链读取模块,用于将第一待上链交易写入第一权限合约,调用第一权限合约中的第二权限验证方法,访问第一主链上的第一跨链读取合约,通过第一跨链读取合约从目标主链上跨链读取与第一业务相关联的业务处理权限验证信息;
第一业务写入模块,用于在基于业务处理权限验证信息确定业务对象具备处理第一业务的业务处理权限时,将第一业务写入第一主链上的第一业务合约;
第一业务执行模块,用于调用第一业务合约中的第一业务执行方法执行第一业务,得到第一业务对应的第一业务执行结果,将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据;
第一交易上链模块,用于基于第一业务数据和目标节点标识,生成第一待上链交易对应的第一上链交易,将包含第一上链交易的第一目标区块写入第一主链。
其中,第一业务包含电子票据开具业务,第一业务合约包含电子票据开具合约;
第一业务执行模块,包括:
开票合约访问单元,用于调用第一业务合约中的子合约访问方法,访问电子票据开具合约,通过电子票据开具合约中的第一业务执行方法执行第一业务中的电子票据开具业务,得到为业务对象开具的目标电子票据;目标电子票据为第一业务对应的第一业务执行结果;
第一业务数据确定单元,用于将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据。
其中,第一目标区块中包含除第一上链交易之外的第二上链交易;第二上链交易为第一目标区块中对第一类型清分节点所对应的第一业务对象不可见的交易;
第一交易上链模块,还用于在将第一目标区块写入第一主链时,将第一目标区块的区块头、位于第一上链交易中的第一业务数据的数据内容、与第二上链交易相关联的关联状态根以及用于辅助验证第一业务数据的默克尔验证路径,作为第一目标区块对应的第一账本数据,且将第一账本数据添加至第一主链对应的账本数据库;
第一交易上链模块,还用于将执行第一业务所调用的第一业务合约的合约名称、合约方法以及合约地址作为第一账本数据对应的第一合约数据,将第一合约数据添加至第一主链对应的合约数据库。
其中,第一账本数据获取单元,具体用于从第一主链对应的账本数据库中,查找第一目标区块的区块头、位于第一上链交易中的第一业务数据的数据内容、与第二上链交易相关联的关联状态根以及用于辅助验证第一业务数据的默克尔验证路径;
第一账本数据获取单元,还具体用于将查找到的第一目标区块的区块头、第一业务数据的数据内容、与关联状态根以及默克尔验证路径作为从第一主链对应的账本数据库中所获取到的与第一业务数据相关联的账本数据;
第一账本数据获取单元,还具体用于将与第一业务数据相关联的账本数据作为第一账本数据。
其中,第一合约数据获取单元,具体用于在第一主链对应的合约数据库中,查找执行第一业务所调用的第一业务合约的合约名称、合约方法以及合约地址;
第一合约数据获取单元,还具体用于将查找到的第一业务合约的合约名称、第一业务合约的合约方法以及第一业务合约的合约地址作为从第一主链对应的合约数据库中所获取到的与第一业务数据相关联的合约数据;
第一合约数据获取单元,还具体用于将与第一业务数据相关联的合约数据作为第一账本数据对应的第一合约数据。
其中,多区块链包含独立于第一主链的第二主链,第二主链的链入口为第二主链入口;第二主链对应的第二网络为独立于第一网络的共识网络;与第二网络相关联的业务网络为第二业务网络;业务对象包含第二业务对象;
装置还包括:
第二清分调用模块,用于在身份权限验证结果指示业务清分节点为第二业务对象对应的第二类型清分节点,且第二类型清分节点的节点权限为第二类型清分权限时,调用与第一权限合约相关联的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第一核心数据;第二类型清分节点为第二业务网络中的业务节点;第一核心数据为第一业务数据中对第二类型清分节点所对应的第二业务对象可见的部分数据;第二类型清分权限用于表征来源于第二业务网络的第二类型清分节点具备从第一主链同步到第一业务数据中的局部数据的权限,以及第二类型清分节点具备从第二主链同步到不同于第一业务数据的第二业务数据的权限;
第二清分响应返回模块,用于将第一业务数据的第一核心数据作为清分交易请求对应的第二清分响应信息,将第二清分响应信息返回给具备第二类型清分权限的第二类型清分节点,以使第二类型清分节点在基于第二清分响应信息生成与第二业务相关联的第二交易上链请求时,通过第二主链入口将第二交易上链请求发送给第二主链所对应的第二网络中的第二共识节点;第二网络为独立于第一网络的共识网络;第二共识节点在基于第二交易上链请求确定第二业务对象具备处理第二业务的业务处理权限时,调用第二主链上的第二业务合约执行第二业务,以将执行第二业务所得到的第二业务执行结果作为第二业务数据。
其中,多区块链包含独立于第一主链的目标主链、第二主链、以及目标子链;目标主链对应的目标网络为独立于第一网络的共识网络,且第二主链对应的第二网络为独立于第一网络的共识网络;目标子链所对应的目标子网络是由目标网络中的目标共识节点基于业务对象中的第三业务对象所请求的第三业务所创建得到的;目标子网络中的共识节点包含从第一网络中所选取的共识节点和从第二网络中所选取的共识节点;与目标子网络相关联的业务网络为第三业务网络;装置还包括:
第三清分调用模块,用于在身份权限验证结果指示业务清分节点为第三业务对象对应的第三类型清分节点,且第三类型清分节点的节点权限为第二类型清分权限时,调用与第一权限合约相关联的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第二核心数据;第二类型清分节点为第三业务网络中的业务节点;第二核心数据为第一业务数据中对第三类型清分节点所对应的第三业务对象可见的部分数据;第二类型清分权限用于表征来源于第三业务网络的第三类型清分节点具备从第一主链同步到第一业务数据中的局部数据的权限,以及第二类型清分节点具备从目标子链同步到不同于第一业务数据的第三业务数据的权限;
第三清分响应返回模块,用于将第一业务数据的第二核心数据作为清分交易请求对应的第三清分响应信息,将第三清分响应信息返回给具备第二类型清分权限的第三类型清分节点,以使第三类型清分节点在基于第三清分响应信息生成与第三业务相关联的第三交易上链请求时,将第三交易上链请求发送给目标子网络中与第一共识节点具有关联关系的子共识节点;子共识节点在基于第三交易上链请求确定第三业务对象具备处理第三业务的业务处理权限时,调用目标子链上的第三业务合约执行第三业务,以将执行第三业务所得到的第三业务执行结果作为第三业务数据。
其中,第一网络对应的账本接口为第一账本接口;
装置还包括:
同步请求接收模块,用于通过第一账本接口获取业务同步对象通过业务同步节点发送的区块同步请求,从区块同步请求中获取由业务同步对象所提交的第一区块高度;第一区块高度为业务同步节点本地所存储的本地区块链中的第一区块的区块高度;第一区块为本地区块链上具有最大区块高度的区块;
区块高度确定模块,用于将第一主链上具有最大区块高度的区块作为第二区块,且将第二区块的区块高度作为第二区块高度;
待同步区块确定模块,用于在第二区块高度高于第一区块高度时,从第一主链上获取从第一区块高度至第二区块高度之间的区块作为待同步区块;
全量数据确定模块,用于基于待同步区块确定用于发送给业务同步节点的全量账本数据和全量账本数据对应的全量合约数据;
全量数据返回模块,用于在将待同步区块返回给业务同步节点时,将全量账本数据和全量合约数据返回给业务同步节点,以使业务同步节点将待同步区块添加至本地区块链时,在本地同步构建全量账本数据对应的本地全量账本数据和全量合约数据对应的本地全量合约数据。
本申请实施例一方面提供了一种基于多区块链的数据处理装置,多区块链包含第一主链,第一主链对应的共识网络为第一网络;装置运行在业务网络中的业务清分节点上;业务网络包含与第一网络相关联的第一业务网络;装置包括:
清分请求构建模块,用于获取业务对象基于第一清分交易构建的清分交易请求;业务对象包含第一业务对象;
清分请求发送模块,用于将清分交易请求发送给第一网络中的第一共识节点,以使第一共识节点基于清分交易请求中所携带的业务清分节点的节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;身份权限验证结果用于在第一共识节点确定业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,生成第一清分响应信息;第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到第一清分交易所指示的第一业务数据的权限;第一清分响应信息包含第一业务数据、第一业务数据对应的第一账本数据和第一账本数据对应的第一合约数据;第一业务数据为第一共识节点调用与第一权限合约相关联的第一权限清分合约从第一主链上所获取到的与第一类型清分节点相关联的业务数据;第一账本数据对应的第一合约数据为第一共识节点调用第一权限清分合约从第一主链对应的合约数据库中所获取到的合约数据;
清分响应接收模块,用于接收第一共识节点返回的第一清分响应信息,基于第一清分响应信息中的第一业务数据、第一账本数据和第一合约数据恢复第一账本数据对应的子账本。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
在本申请实施例中,第一网络中的第一共识节点可以在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;可以理解的是,这里的业务对象可以包含与第一业务网络相关联的第一业务对象;第一业务网络为与第一网络相关联的业务网络;进一步的,第一共识节点可以基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果。可以理解的是,本申请实施例所涉及的部署在第一主链上的第一权限合约可以为来源于业务网络中的业务清分节点提供一种节点身份权限验证机制,该节点身份权限验证机制旨在强调可以在多区块链的网络架构中,为与不同链相关联的业务网络中的业务节点配置不同的节点身份,即在本申请实施例中,当与不同链相关联的业务网络中的业务节点需要进行数据清分时,可以将这些来源于不同业务网络中的业务节点统称为业务清分节点,进而可以为这些被作为业务清分节点的业务节点预先配置相应的节点身份。比如,在与第一网络相关联的业务网络为第一业务网络的情况下,可以将该来源于第一业务网络的业务节点被用作业务清分节点,进而可以通过该第一权限合约确定出当前为该业务清分节点所配置的节点身份为第一类型清分节点。这意味着本申请实施例所涉及的第一共识节点可以通过该第一主链上的第一权限合约,判断当前发起清分交易请求的业务清分节点的节点身份,进而可以在确定该业务清分节点的节点身份为第一类型清分节点时,确定该第一类型清分节点的节点权限为第一类型清分权限。需要注意的是,这里的第一类型清分节点用于表征当前发起清分交易请求的业务清分节点为与第一网络相关联的第一业务网络中的业务节点;此外,这里的第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限。基于此,该第一共识节点可以进一步调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与该第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,并可以从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据。最后,该第一共识节点可以将获取到的第一业务数据、第一账本数据和第一合约数据作为该清分交易请求对应的第一清分响应信息,以进一步将该第一清分响应信息返回给具备第一类型清分权限的第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。由此可见,本申请实施例通过写入在第一主链上的第一权限合约中的目标节点标识,可以智能识别发送清分交易请求的业务清分节点的节点身份,进而可以通过智能识别到的节点身份(即前述第一类型清分节点),快速确定出该第一类型清分节点的节点权限,以便于能够进一步从该第一主链上清分到与该第一类型清分节点的节点权限相符的业务数据作为第一业务数据,这样,可以从根据上解决该第一主链上的其他业务数据被该第一类型清分节点获取的现象,进而可以根据明确的身份权限验证机制,提升数据清分时的数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络的分层结构示意图;
图2是本申请实施例提供的一种基于多区块链的区块链电子票据平台的场景示意图;
图3是本申请实施例提供的一种基于多区块链的数据处理方法的示意图;
图4是本申请实施例提供的一种通过第一链入口获取清分交易请求的场景示意图;
图5是本申请实施例提供的一种进行数据清分时的数据交互示意图;
图6是本申请实施例提供的一种通过获取与第一业务相关联的业务权限验证信息的场景示意图;
图7是本申请实施例提供的一种基于多区块链的数据处理方法的示意图;
图8是本申请实施例提供的一种基于多区块链的区块链系统的数据交互示意图;
图9是本申请实施例提供的一种基于多区块链的数据处理方法的时序图;
图10是本申请提供的一种基于多区块链的数据处理装置的结构示意图;
图11是本申请提供的一种基于多区块链的数据处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图;
图13是本申请实施例提供的一种基于多区块链的数据处理系统的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种区块链网络的分层结构示意图。如图1所示的分层结构应用于区块链系统,在该区块链系统所对应的区块链网络中,包含部署在公网中的多个业务网络、和部署在私有云中的多个共识网络。如图1所示,这里的多个业务网络可以为图1所示的业务网络A21、业务网络A31、业务网络A41,且这里的多个共识网络具体可以包含图1所示的共识网络A11、共识网络A22和共识网络A32以及子共识网络A42。
其中,在如图1所示的共识网络A11中部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点10a、共识节点10b、共识节点10c和共识节点10d。需要注意的是,这里将不对部署在该共识网络A11中的共识节点的数量进行限定。如图1所示,由部署在共识网络A11中的多个共识节点所维护的区块链可以为图1所示的主区块链10e。
可以理解的是,如图1所示的业务网络A21为与共识网络A22具有关联关系(例如,交易上链关系和交易清分关系)的业务网络。其中,在如图1所示的业务网络A21中部署有多个业务节点,这里的多个业务节点具体可以包含图1所示的业务节点110a、业务节点110b、业务节点110c、业务节点110d、业务节点110e、业务节点110f、业务节点110g、…、业务节点110n。同理,在如图1所示的共识网络A22中,部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点11a、共识节点11b、共识节点11c和共识节点11d。其中,需要注意的是,这里将不对部署在该业务网络A21中的业务节点的数量进行限定,也不对部署在该共识网络A22中的共识节点的数量进行限定。如图1所示,部署在业务网络A21中的业务节点在用于进行数据清分处理时,可以与图1所示的共识网络A22中的共识节点进行数据交互,以从该共识网络A22所对应的区块链(即图1所示的主区块链11e)上清分到与自己相关的交易,还可以一并清分到与自己相关的交易的账本数据和合约数据。
同理,如图1所示的业务网络A31为与共识网络A32具有关联关系(例如,交易上链关系和交易清分关系)的业务网络。其中,在如图1所示的业务网络A31中部署有多个业务节点,这里的多个业务节点具体可以包含图1所示的业务节点120a、业务节点120b、业务节点120c、业务节点120d、业务节点120e、业务节点120f、业务节点120g、…、业务节点120n。同理,在如图1所示的共识网络A32中,部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点12a、共识节点12b、共识节点12c和共识节点12d。其中,需要注意的是,这里将不对部署在该业务网络A31中的业务节点的数量进行限定,也不对部署在该共识网络A32中的共识节点的数量进行限定。如图1所示,部署在业务网络A31中的业务节点在用于进行数据清分处理时,可以与图1所示的共识网络A32中的共识节点进行数据交互,以从该共识网络A32所对应的区块链(即图1所示的主区块链12e)上清分到与自己相关的交易,还可以一并清分到与自己相关的交易的账本数据和合约数据。
以此类推,如图1所示的业务网络A41为与子共识网络A42具有关联关系(例如,交易上链关系和交易清分关系)的业务网络。其中,在如图1所示的业务网络A41中部署有多个业务节点,这里的多个业务节点具体可以包含图1所示的业务节点130a、业务节点130b、业务节点130c、业务节点130d、业务节点130e、业务节点130f、业务节点130g、…、业务节点130n。同理,在如图1所示的子共识网络A42中,部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点13a、共识节点13b、共识节点13c和共识节点13d。其中,需要注意的是,这里将不对部署在该业务网络A41中的业务节点的数量进行限定,也不对部署在该子共识网络A42中的共识节点的数量进行限定。如图1所示,部署在业务网络A41中的业务节点在用于进行数据清分处理时,可以与图1所示的子共识网络A42中的共识节点进行数据交互,以从该子共识网络A42所对应的区块链(即图1所示的子区块链13e)上清分到与自己相关的交易,还可以一并清分到与自己相关的交易的账本数据和合约数据。
应当理解,本申请实施例可以将共识网络A11所对应的区块链(图1所示的主区块链10e)、共识网络A22所对应的区块链(图1所示的主区块链11e)、共识网络A32所对应的区块链(图1所示的主区块链12e)和子共识网络A42所对应的区块链(图1所示的子区块链14e),统称为该区块链系统所涉及的多区块链。
其中,共识网络A11所对应的区块链(图1所示的主区块链10e)、共识网络A22所对应的区块链(图1所示的主区块链11e)、共识网络A32所对应的区块链(图1所示的主区块链12e)可以用于构建该区块链系统中的三链体系,且在该三链体系的基础上,针对一些特殊的业务场景,如临时业务场景和一些需要批量处理较大数据量的局部业务场景等,则可以基于图1所示的共识网络A22和共识网络A32,构建得到图1所示的子共识网络A42,以通过该子共识网络A42中的子共识节点来处理前述临时业务场景下的临时业务、和前述局部业务场景下的需要批量处理较大数据量的局部业务,进而可以避免前述三链体系下的各主区块链上的存储资源的浪费。应当理解,在本申请实施例中,可以将临时业务场景下的这些业务统称为目标子业务。一个目标子业务对应一个目标子网络,且一个目标子网络中的子共识节点用于维护一个目标子链,比如,这里的目标子链可以为上述子共识网络A42对应的子区块链13e,此时,该子共识网络A42可以为前述目标子网络。
其中,可以理解的是,子共识网络A42中的子共识节点可以包含从该共识网络A22中所选取的部分共识节点(例如,子共识节点13a和子共识节点13b可以为共识网络A22中的共识节点12a和共识节点13b)、以及从该共识网络A32选取的部分共识节点(例如,子共识节点13c和子共识节点13d可以为共识网络A32中的共识节点12c和共识节点13d)。
应当理解,本申请实施例所涉及的区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链。
为便于对上述区块链系统中的各个共识网络进行区分,本申请实施例可以结合该区块链系统的具体应用场景(例如,区块链电子票据平台下的电子票据核心数据流转场景),将上述共识网络A11统称为目标网络,并将在该目标网络中由各个共识节点所共同维护的区块链(主区块链10e)统称为目标主链,还可以将在该目标网络中所选取的用于执行管理业务(例如,注册业务和授权业务等)的共识节点作为该目标网络中的目标共识节点。同理,可以理解的是,本申请实施例可以将上述共识网络A22统称为第一网络,并将在该第一网络中由各个共识节点所共同维护的区块链(即主区块链11e)统称为第一主链,还可以将在该第一网络中所选取的用于执行第一业务(该第一业务具体可以为与电子票据相关联的票据业务,例如,电子票据开具业务等)的共识节点作为该目标网络中的第一共识节点。以此类推,本申请实施例可以将上述共识网络A32统称为第二网络,并将在该第二网络中由各个共识节点所共同维护的区块链(即主区块链12e)统称为第二主链,还可以将在该第二网络中所选取的用于执行第二业务(该第二业务具体可以为与电子票据相关联的衍生业务,例如,征信业务、企业资质识别业务等)的共识节点作为该目标网络中的第二共识节点。此外,本申请实施例还可以将上述子共识网络A42统称为目标子网络,并将在目标子网络中由各个共识节点所共同维护的区块链(即子区块链13e)统称为目标子链,还可以将在该子共识网络中所选取的用于执行第三业务(该第三业务具体可以包含与电子票据相关联的目标子业务,例如,针对某个企业所开展的风控管理业务等)的共识节点作为该目标子网络中的子共识节点。应当理解,对于各共识网络而言,这里的管理业务、票据业务以及衍生业务均可以视为由相应业务对象所发起的交易业务。
比如,在上述区块链系统应用于区块链电子票据平台中时,可以基于上述目标主链、第一主链和第二主链构建得到一个安全可靠的区块链电子票据三链网络,在该区块链电子票据三链网络中,当在上述三个共识网络中独立执行上述业务的情况下,可以将独立执行上述业务所得到的业务执行结果分别存入对应区块链的区块链账本,进而可以从根源上避免各链上数据存储的混杂度。
具体的,比如,在共识网络A11被用作前述区块链电子票据三链网络中的目标网络时,该共识网络A11中的每个节点(比如,共识节点10a、共识节点10b、共识节点10c和共识节点10d等核心节点)上所存储的主区块链10e为上述目标主链,这里的目标主链具体可以为上述目标网络中的管理链,且从该管理链所对应的目标网络(即管理链网络)中的所确定的上述管理共识节点可以统称为目标共识节点。又比如,在共识网络A22被用作前述区块链电子票据三链网络中的第一网络时,共识网络A22中的每个节点(比如,共识节点11a、共识节点11b、共识节点11c和共识节点11d等核心节点)上所存储的主区块链11e为第一主链,这里的第一主链具体可以为上述区块链电子票据三链网络中的票据链,且从该票据链所对应的第一网络(即票据链网络)中所确定的票据共识节点可以统称为第一共识节点。即本申请实施例可以利用该票据链网络中的共识机制将在该票据链网络的共识节点中所选取的某个共识节点(即前述票据共识节点)作为第一共识节点,并可以将在该票据链网络的共识节点中,将除第一共识节点之外所剩余的共识节点统称为校验共识节点(此时,该校验共识节点具体为票据校验共识节点)。又比如,在共识网络A32被用作前述区块链电子票据三链网络中的第二网络时,共识网络A32中的每个节点(比如,共识节点12a、共识节点12b、共识节点21c和共识节点12d等核心节点)上所存储的主区块链12e为第二主链,这里的第二主链具体可以为上述区块链电子票据三链网络中的应用合约链,且从该应用合约链所对应的第二网络中所确定的应用共识节点可以统称为第二共识节点,即本申请实施例可以利用该第二网络中的共识机制将在该应用合约链的共识节点中所选取的某个共识节点(即前述应用共识节点)作为第二共识节点,并可以在该应用合约链所对应的第三网络的共识节点中,将除第二共识节点之外所剩余的共识节点也统称为校验共识节点(此时,该校验共识节点具体为应用校验共识节点)。
在上述区块链系统中,共识节点可以负责对应区块链所在的共识网络中的共识。对于上述三个共识网络(即共识网络A11、共识网络A22和共识网络A32)中的任意一个共识网络(例如,共识网络A22)而言,将共识网络(例如,共识网络A22)中的交易数据写入对应区块链账本(例如,账本数据库)的具体过程可以为:用户客户端发送交易数据至某个业务节点,随后该交易数据以接力棒的方式在与该共识网络(例如,共识网络A22)相关联的业务网络(业务网络A21)中的业务节点之间传递,直到上述共识网络(例如,共识网络A22)中的共识节点(例如,共识节点11b)收到该交易数据,此时,共识节点(例如,共识节点11b)再将该交易数据打包进区块,以便于后续可以与其他共识节点进行共识,从而可以在共识通过后,将共识通过的区块写入自己所在共识网络(例如,共识网络A22)的账本数据库。应当理解,这里的账本数据库属于分布式数据库中的一种数据库。应当理解,其他共识网络将交易数据写入对应区块链账本的具体过程,可以参见前述共识网络A22将交易数据写入对应区块链账本的具体过程的描述,这里将不再继续进行赘述。
可选的,可以理解的是,本申请实施例还可以在共识通过后,通过自己所在共识网络(例如,共识网络A22)的存储层将携带该交易数据的区块和与该区块关联的其他多个区块并行写入上述账本数据库,这样可以从根源上突破区块链的区块链结构的限制,进而可以有效地提升数据存储的存储效率。
其中,可以理解的是,在上述区块链系统中,可以在相应共识网络的区块链上部署智能合约,该智能合约在区块链系统中可以理解为是一种由各区块链节点(即各共识节点)执行的代码,通过该智能合约可以执行任意逻辑并得到结果。比如,用户可以通过业务网络中的某个业务节点(业务网络A21中的业务节点110c)发起一个交易上链请求的方式,调用相应共识网络(例如,上述共识网络A22)中的区块链(例如,上述主区块链11e)上已经部署的智能合约(例如,部署在上述主区块链11e的业务合约)来执行该用户所请求的交易业务(例如,前述第一业务)。
具体的,业务网络中的业务节点110c可以将该交易上链请求发送至相应共识网络中的共识节点(例如,图1所示的共识节点11a),以通过相应共识网络的链入口对该发送交易上链请求的用户进行访问鉴权,且在访问鉴权成功时允许将该用户所发送的交易上链请求发送至相应共识网络中的其他共识节点(例如,图1所示的共识节点11b),以调用这些共识节点(例如,图1所示的共识节点11a和共识节点11b)中运行的智能合约执行该用户所请求的交易业务。
可选地,用户还可以通过业务网络中的某个业务节点(业务网络A21中的业务节点110c)发起清分交易请求,以请求调用相应共识网络(例如,上述共识网络A22)中的区块链(例如,上述主区块链11e)上已经部署的智能合约(例如,部署在上述主区块链11e中的节点权限合约和权限清分合约)来清分到与自己相关的业务数据。
应当理解,在上述共识网络(例如,上述共识网络A22)的区块链(例如,上述区块链11e)上可以部署一个或多个智能合约,这些智能合约可以通过合约调用地址、合约标识号(Identity document,ID)或合约名称来进行区分,而业务节点110c发起的交易上链请求中,也可以携带智能合约的合约调用地址或者合约标识号或合约名称,以此指定需要运行的智能合约。而在上述区块链系统中,若业务节点110c所指定的智能合约为需要跨链读取数据的智能合约(即跨链读取合约),则各个共识节点会通过该跨链读取合约所指定的链标识,请求从对应区块链上进行数据的读取,最后各个共识节点会互相验证基于跨链读取到的信息执行交易后所得到的各交易执行结果是否一致(也就是进行共识),若一致则可以将交易执行结果存入各自的本地缓存和本地存储中,并可以将上述交易业务的交易执行结果返回至业务节点110c。注意,这里的本地缓存为在存储层中创建的系统内存,这里的本地存储为在存储层中所创建的用于进行数据存储的硬盘空间。这样,当共识网络中的某个共识节点出现宕机(即down机)或者系统故障时,并不会因为系统内存中的数据消失而造成无法进行数据读取的现象,即该共识节点还可以通过在该存储层中创建的本地存储来进行数据的读取。
应当理解,在上述区块链系统中,任意一个共识网络(例如,共识网络A11、共识网络A22或者共识网络A32)中的任意两个区块链节点之间可以形成点对点(P2P,Peer ToPeer)网络,该点对点网络可以采用P2P协议,其中,该P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为区块链节点,其中,每个区块链节点均可以包括硬件层、中间层、操作系统层和应用层。
其中,可以理解的是,本申请实施例可以通过上述目标网络中的目标共识节点为接入该区块链网络的任意一个角色(例如,任意一个个人用户、任意一个企业、任意一个机构等实体对象)配置一个与该角色的身份相符的业务网络中的业务节点。比如,在业务网络A21为上述票据链网络时,可以在如图1所示的业务网络A21中,为需要通过业务网络A21接入票据链网络中的开票用户(即角色的身份为请求执行第一任务为开票任务的用户)配置一个业务节点(例如,开票服务商所对应的节点)。
可以理解的是,在上述共识网络A11被作为上述目标网络时,位于该目标网络中的共识节点(例如,上述目标共识节点,该目标共识节点可以为图1所示的共识节点10a)可以为通过目标链入口(即目标网络对应的链入口)而接入该目标网络中的相应角色(或者相应对象)提供注册业务和授权业务,进而可以在该目标网络中对需要接入上述区块链网络(例如,上述目标网络、第一网络、第二网络或者目标子网络)中的相应角色(即相应对象)进行身份管理和权限管理。除此之外,位于该目标网络中的目标共识节点还可以用于对上述区块链系统中的相关元数据信息进行数据管理,比如,可以管理更新目标主链上的合约模板(应当理解,目标主链上的合约模板具体可以包含部署在目标主链上的智能合约的管理合约模板和部署在第二主链上的智能合约的应用合约模板),管理更新记录在目标主链上的票据模板,管理更新与该票据模板相关联的计税规则等、控制第一主链所对应链入口处的访问流量、控制各链上参与共识的共识节点的数量等。
比如,当开发者和税务业务参与方需要在第二主链上部署某个第二业务对应的智能合约时,可以在通过第二主链对应的链入口(即第二链入口)接入该第二网络的情况下,进一步通过第二主链上的跨链读取合约中的合约模板读取方法,从该合约模板读取方法所指示的目标主链上读取该第二业务对应的应用合约模板,以在该第二主链上基于读取到的应用合约模板部署该第二业务对应的智能合约。这样,当后续税务业务参与方需要在该第二主链上执行第二业务时,则可以利用已经部署好的第二业务对应的智能合约来执行相应第二业务。
在本申请实施例中,为便于进行理解,本申请实施例可以基于上述交易上链关系将上述与第一网络进行数据上链交互的业务网络统称为第一业务网络,并可以基于上述交易上链关系将上述与第二网络进行数据上链交互的业务网络统称为第二业务网络,还可以基于上述交易上链关系将上述与目标子网络进行数据上链交互的业务网络统称为第三业务网络。为便于理解,本申请实施例可以将与第一业务网络进行数据交互的业务对象称之为第一业务对象,并可以将与第二业务网络进行数据交互的业务对象称之为第二业务对象,将与第三业务网络进行数据交互的业务对象称之为第三业务对象。
所以,应当理解,在上述共识网络A22被作为上述第一网络时,位于第一网络中的共识节点(例如,上述第一共识节点,该第一共识节点可以为图1所示的共识节点11b)可以用于执行第一业务对象通过第一业务网络中的业务节点所请求的第一业务。这里的第一业务可以包含但不限于与上述电子票据相关联的票据业务,这里的票据业务具体可以包含电子票据开具业务(即前述开票业务)、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务。
此外,还可以理解的是,在上述共识网络A32被作为上述第二网络时,位于第二网络中的共识节点(例如,上述第二共识节点,该第二共识节点可以为图1所示的共识节点12b)可以用于提供与前述第一业务相关联的第二业务(例如,征信业务、信贷业务、进出亏业务、企业资质业务、社交业务、赊购业务和退税业务、抽奖业务等),即第二共识节点可以用于执行第二业务对象通过第二业务网络中的业务节点所请求的第二业务。
以此类推,还可以理解的是,在上述共识网络A42被作为上述目标子网络时,位于目标子网络中的共识节点(例如,上述子共识节点,该子共识节点可以为图1所示的子共识节点13b)可以用于提供与前述第一业务相关联的目标子业务(例如,审计业务、风险管控业务)、以及用于提供与前述第二业务相关联的其他目标子业务(例如,通用数据统计分析业务);为便于理解,本申请实施例可以将与前述第一业务相关联的目标子业务和与前述第二业务相关联的其他目标子业务统称为上述第三业务,即目标子网络中的子共识节点可以用于执行第三业务对象通过第三业务网络中的业务节点所请求的第三业务。
为便于理解,进一步的,请参见图2,图2是本申请实施例提供的一种基于多区块链的区块链电子票据平台的场景示意图。该区块链电子票据平台可以为上述区块链系统中的具体业务平台。应当理解,在该区块链电子票据平台中,可以通过图2所示的区块链电子票据三链网络来降低在链上数据存储的混杂度。如图2所示,该区块链电子票据三链网络中部署有管理链、票据链和应用合约链。
应当理解,这里的管理链可以为上述目标主链,这里的票据链可以为上述第一主链,且这里的应用合约链可以为上述第二主链。此时,与该第一主链相关联的第一业务网络可以为图2所示的业务网络W1,与该第二主链相关联的第二业务网络可以为图2所示的业务网络W2。
其中,可以理解的是,在以区块链作为区块链电子票据核心数据流转的业务场景中,可以通过管理链、票据链和应用合约链之间的相互协作,为整个区块链电子票据平台提供独立执行不同业务的功能特性,从而可以在三链相互协作的前提下,构造一个安全且高效的业务流系统。应当理解,这里以多链系统为三链体系为例,在该三链体系下,管理链、票据链和应用合约链均是独立搭建的,即用于维护该管理链的共识节点不同于用于维护该票据链的共识节点,且不同于用于维护该应用合约链的共识节点。
如图2所示,部署在区块链电子票据三链网络中的管理链独立于票据链和应用合约链,即这三条独立搭建的区块链之间是彼此相互独立的,但是这三条独立搭建的区块链之间可以通过跨链的方式进行数据交互,即这三链之间可以进行跨链交互。比如,在如图2所示的票据链上部署有第一跨链读取合约的情况下,参与维护该票据链的共识节点(即上述第一共识节点)则可以通过该第一跨链读取合约,跨链读取管理链上的业务处理权限验证信息来确定第一业务对象(例如,业务网络W1中的业务节点所对应的业务对象)的业务处理权限。又比如,在如图2所示的应用合约链上部署有第二跨链读取合约的情况下,参与维护该应用合约链的共识节点(即上述第二共识节点)可以通过该第二跨链读取合约,跨链读取管理链上的业务处理权限验证信息来确定第二业务对象(例如,业务网络W2中的业务节点所对应的业务对象)的业务处理权限。
比如,这里的管理链可以用于为整个区块链电子票据平台提供管理功能特性,这里的票据链可以为整个区块链电子票据平台提供不同业务处理权限类型的票据业务(即上述第一业务)的功能特性。应当理解,在本申请实施例中,为确保写入票据链中的电子票据的安全性和独立性,本申请实施例提出可以通过独立于管理链和票据链的另一区块链(即图2所示的应用合约链)来提供更加规范、灵活和功能完备的衍生业务(即上述第二业务),即这里的应用合约链则可以为整个区块链电子票据平台提供基于电子票据中的核心数据来开展衍生业务的功能特性。
为便于理解,这里以管理链所在的共识网络(即上述管理链网络)为上述图1所示的共识网络A11为例,此时,参与维护该管理链的共识节点可以为上述管理共识节点。如图2所示,该管理链上部署有多个智能合约,这些智能合约可以运行在管理共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2所示的对象权限管理合约、对象身份管理合约、元数据管理合约和内部管理合约。应当理解,该管理链上所部署的这些智能合约是由图2所示的内部参与方(即税务管理部门)分别通过自己链(即管理链)上部署的相应管理合约模板所确定的。
此外,该管理链上还可以部署有用于对该区块链系统中所涉及的各个区块链上的全局配置信息(例如,税务元数据信息、链配置信息、发布数据信息等)进行信息同步的全局管理信息合约。与此同时,在上述区块链系统中,票据链和应用合约链上均可以同步部署有与全局管理信息合约相关联的全局信息跨链合约,这样,部署在业务网络W1中的业务节点和部署在业务网络W2中的业务节点,可以通过对于区块链上所部署的全局信息跨链合约同步到在管理链上发布的全局配置信息。
其中,需要注意的是,如图2所示的税务管理部门可以通过管理链全量节点直接从管理链上同步到数据(例如,可以直接同步到该管理链对应的全量账本数据),但是,该区块链系统中除该管理链全量节点之外的其他业务节点均难以直接同步到管理链上的数据。因此,为将该管理链上的数据同步至该区块链系统中的其他业务节点(例如,图2所示的业务网络W1中的业务节点),可以在该管理链部署上述全局管理信息合约,这样,税务管理部门合约通过管理链上的管理共识节点将需要同步出去的全局配置信息(例如,税务元数据信息、链配置信息、发布数据信息等)写入全局管理信息合约中,这样,三链体系中的跨链中继则会进一步将管理链中的全局管理信息合约中所写入的最新信息,中继并写入到发票链上的,应用合约链和各子链上的全局信息跨链合约中。这样,部署在业务网络W1中的业务节点可以通过票据链上所部署的全局信息跨链合约同步到在管理链上发布的全局配置信息。同理,部署在业务网络W2中的业务节点也可以通过应用合约链上所部署的全局信息跨链合约同步到在管理链上发布的全局配置信息。
可以理解的是,前述税务管理部门可以通过该部署在管理链网络中的管理共识节点行使管理职责。比如,这里的管理职责具体可以包含对政务部门内部的信息(比如,税务管理部门内部人员的信息)进行管理、对整体业务的业务逻辑规则(例如,应用合约链上所运行的用于执行衍生业务的业务逻辑的衍生业务合约)进行管理、对整体业务的元数据信息(例如,三链体系下的各链入口处的访问流量)进行管理、对整体业务的参与者(比如,个人用户、企业用户、税务业务参与方等业务对象)进行身份管理和权限管理等。应当理解,在整体业务所对应的区块链网络中,由该管理共识节点所维护的管理链是相对更稳定、数据规模最小、但安全性最高的区块链。
此外,为便于理解,这里以图2所示的票据链所在的共识网络(即上述票据链网络)为上述图1所示的共识网络A22为例,此时,参与维护该票据链的共识节点可以为上述第一共识节点。如图2所示,该票据链上部署有多个智能合约,这些智能合约可以运行在第一共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约、第一跨链读取合约、电子票据权限清分合约和电子票据节点权限合约。同理,应当理解,该票据链上所部署的这些智能合约是由图2所示的内部参与方(例如,与电子票据数据中心相关联的税务部门)通过管理链上部署的相应票据业务合约模板所确定的。
其中,可以理解的是,当部署在图2所示的第一业务网络中的业务节点和部署在图2所示的第二业务网络中的业务节点用于与该票据链(即第一主链)进行数据清分时,该第一主链上的第一共识节点可以通过部署在票据链上的节点权限合约(即图2所示的电子票据节点权限合约),对来源于不同业务网络中的业务节点(即来源于第一业务网络中的业务节点和来源于第二业务网络中的业务节点)的节点身份和节点权限进行验证,进而可以基于验证得到的节点身份和节点权限,为这些来源于不同业务网络中的业务节点提供不同形式的数据清分内容。对于第一共识节点而言,为便于理解,本申请实施例可以在通过该票据链入口获取到的来源于不同业务网络的清分交易请求时,将发起这些清分交易请求的这些业务节点统称为业务清分节点,那么,在通过前述节点权限合约(即图2所示的电子票据节点权限合约)对这些业务清分节点进行身份权限验证之后,可以将来源于第一业务网络中的业务清分节点称之为第一类型清分节点(即非跨链类型的清分节点),并将第一类型清分节点所具备的节点权限称之为第一类型清分权限(即非跨链类型的清分权限),进而可以向具备第一类型清分权限的第一类型清分节点返回该票据链上的电子票据,且可以一并返回与该电子票据相关联的账本数据和合约数据,以便于可以在第一类型清分节点上基于接收到的电子票据、账本数据和合约数据,恢复得到该账本数据对应的子账本。
此外,本申请实施例还可以将来源于第二业务网络中的业务清分节点称之为第二类型清分节点(即跨链类型的清分节点),并将第二类型清分节点所具备的节点权限称之为第二类型清分权限(即跨链类型的清分权限),进而可以向具备第二类型清分权限的第二类型清分节点返回该票据链上的电子票据的核心数据,以便于该第二类型清分节点可以进一步基于清分到电子票据的核心数据向第二主链上的第二共识节点发送针对上述第二业务的交易上链请求。
可以理解的是,该部署在票据链网络中的第一共识节点可以通过票据链维护电子票据在全生命周期内的业务逻辑,比如,可以通过该票据链管理所有开具的电子票据的全生命周期。比如,这里的电子票据的全生命周期包含电子票据的开具、电子票据的流转和电子票据的报销等。应当理解,在整体业务所对应的区块链网络中,由该第一共识节点所维护的票据链具有高性能、低延迟的特点。
同理,为便于理解,这里以应用合约链所在的共识网络(即上述应用合约链网络)为上述图1所示的共识网络A32为例,此时,参与维护该应用合约链的共识节点可以为上述第二共识节点。如图2所示,该应用合约链上部署有多个智能合约,这些智能合约具体可以运行在第二共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2所示的虚拟机兼容合约、开放合约部署合约、衍生业务合约和第二跨链读取合约、通用数据清分合约和应用合约链节点权限合约。
可以理解的是,该部署在应用合约链网络中的第二共识节点可以通过应用合约链承载可变化的票据业务所对应的衍生业务,比如,这里的衍生业务可以具体可以包含上述征信业务、上述资质识别业务等。应当理解,在整体业务所对应的区块链网络中,由该第二共识节点所维护的应用合约链,可以支持图2所示的政务协作部门和联盟链伙伴(即图2所示的业务关联部门),通过图2所示的税务应用合约(开放合约部署合约)间接调用第二跨链读取合约,以利用跨链读取到的管理上的应用合约模板来开发与衍生业务相关的智能合约(例如,图2所示的衍生业务合约),并可以经过税务管理部门审核后将该衍生业务合约部署在应用合约链上。应当理解,部署在应用合约链上的智能合约可以通过虚拟机兼容合约实现智能合约的灵活升级和变化,应当理解,在整体业务所对应的区块链网络中,该第二共识节点可以通过应用合约链上的第二跨链读取合约实现跨链交互,比如,第二共识节点自身也可以通过第二跨链读取合约从票据链上读取上述核心数据来执行衍生业务。这意味着由该第一共识节点所维护的应用合约链,相较于管理链和票据链而言,具有最高的开放度,且支持复杂的智能合约逻辑,参与方较多且不断动态变化,性能相对低于票据链。
其中,可以理解的是,由于部署在第二业务网络中的业务节点可以通过票据链入口跨链向上述第一共识节点发送交易清分请求,进而可以在该第一共识节点对该来源于第二业务网络中的业务节点进行身份权限验证的情况下,将该票据链上与该第二业务网络中的业务节点(即上述第二类型清分节点)相关的电子票据中的核心数据作为清分响应信息返回给第二类型清分节点。应当理解,这里的核心数据为对第二类型清分节点所对应的第二业务对象可见的电子票据中的部分票据信息。这样,第二类型清分节点在通过应用合约链入口向第二共识节点提供交易上链请求时,可以将自己所清分到的对自己可见的核心数据写入该交易上链请求,以便于后续第二共识节点通过第二跨链读取合约从票据链上读取到与第二类型清分节点相关联电子票据的核心数据时,可以将通过不同形式所读取到的核心数据进行比对,进而可以在两者对比成功的情况下,确保在该应用合约链上执行第二业务(例如,上述票据业务所对应的衍生业务)的可靠性。
此外,可以理解的是,对于业务网络W2中的某个业务节点而言,该业务网络W2中的业务节点具备多种数据清分功能。比如,这里的多种数据清分功能是指业务网络W2中的业务节点,可以具备通过票据链入口向票据链发送清分交易请求(即第一清分交易请求),以清分到与自己相关的业务数据的功能,还可以具备直接通过应用合约链入口向应用合约链发起另一清分交易请求(即第二清分交易请求),以清分到与自己相关的业务数据、账本数据和合约数据的功能。由此可见,对于第一主链为票据链、第二主链为应用合约链时,该业务网络W2中的某个业务节点在用于向第一主链发起清分交易请求(即第一清分交易请求)时,可以将该业务网络W2中的某个业务节点确定为上述第二类型清分节点,该第二类型清分节点此时可以基于自己从票据链上所清分到的与自己相关的合约数据向应用合约链发起用于执行第二业务的交易上链请求。
此外,对于第一主链为票据链、第二主链为应用合约链时,业务网络W2中的业务节点在通过应用合约链入口向应用合约链发起另一清分交易请求(即第二清分交易请求),以从应用合约链上获取与自己相关的业务数据、账本数据和合约数据的具体实现方式,则可以参见上述业务网络W1中的业务节点通过票据链入口向票据链发起数据清分请求,以获取与自己相关的业务数据、账本数据和合约数据的具体过程的描述,这里将不再进行赘述。
可选地,可以理解的是,当本申请实施例所涉及的票据链为第二主链,应用合约链为第一主链时,与该第一主链相关联的第一业务网络可以为图2所示的业务网络W2,与该第二主链相关联的第二业务网络可以为图2所示的业务网络W1。这里将不对第一主链和第二主链的具体类型进行限定。
其中,可以理解的是,在图2所示的区块链电子票据三链网络中,管理链所采用的共识算法,不同于票据链所采用的共识算法,也不同于应用合约链所采用的共识算法。
具体的,1.1)与管理链相关联的共识算法为一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识算法,通过该PBFT共识算法可以立即确定某个待上链的提议区块的状态。应当理解,该管理链为上述管理链网络中的区块链,在该管理链网络中的共识节点(即上述管理共识节点)可以由图2所示的税务管理部门参与进行管理。
应当理解,与该管理链相关联的内部参与方可以为图2所示的税务管理部门,比如,该税务管理部门在作为内部参与方参接入该管理链时,可以通过管理链上的内部管理合约对该税务管理部门的一些内部状态进行管理,比如,可以对该税务管理部门中的各人员进行管理,比如,可以在税务管理部门的这些人员中配置特定的税务管理人员、税务开发人员、税务审计人员等。此外,该税务管理部门在作为内部参与方参接入该管理链时,还可以通过管理链上的内部管理合约对该三链体系中的一些参数进行管理,比如,通过该内部管理合约可以对图2所示的票据链入口处的访问流量所对应的访问流量参数进行限制,例如,可以通过分时访问机制控制票据链入口处的某些特定时间段内的访问流量不大于访问流量阈值。又比如,该税务管理部门在作为内部参与方参接入该管理链时,还可以通过管理链上的内部管理合约对参与共识的各链上的共识节点的数量所对应的节点数量参数进行限定。
1.2)与票据链相关联的共识算法为另一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为TBFT(Tower Byzantine Fault Tolerance,塔式拜占庭容错)共识算法,该TBFT共识算法是一种拜占庭容错算法,可以在拜占庭节点数(即票据链网络中的作恶节点数)小于票据链网络的节点总数1/3的情况下,保证整个票据链网络系统的安全运行。应当理解,处于票据链网络中的共识节点可以由前述税务管理部门参与进行管理,比如,税务管理部门中的特定税务人员可以通过上述管理链中的内部管理合约控制该票据链网络中的共识节点的数量。又比如,税务管理部门中的特定税务人员所对应的税局终端可以参与构成该票据链网络。
应当理解,上述TBFT共识算法与PBFT共识算法的最大区别在于:PBFT共识算法有一个固定的leader节点(即主节点)用于打包交易池中的交易,当leader节点故障的时候会使用view-change子协议(即一种主节点切换子协议)更换leader节点;而在TBFT共识算法中,leader节点是基于轮换机制而轮换的,比如,在当前节点被作为leader节点时,每提交X个区块(X的值可以配置),则会自动将该leader节点轮换成下一个节点。这意味着在该票据链对应的票据链网络中的共识节点可以用于连续出块。
1.3)与应用合约链相关联的共识算法为又一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为PoS(proof-of-stake,权益证明)共识算法,通过该权益证明共识算法可以维护该应用合约链所在应用合约链网络的网络安全性,且通过该权益证明共识算法可以立即确定某个待上链的提议区块的状态。可以理解的是,在该应用合约链网络中的共识节点可以由图2所示的税务管理部门和政务协作部门以及大型参与机构(即前述联盟链中的大型企业,该大型企业即为前述图2所示的业务关联部门)等共同参与进行管理。比如,税务管理部门中的税务人员(比如,图2所示的税务业务参与方)可以通过应用合约链网络中的共识节点跨链读取前述票据链上所写入的电子票据的票据信息,以通过跨链读取到的票据信息执行与前述票据业务相关联的衍生业务。比如,可以通过跨链读取到的票据信息对请求开票的开票企业进行资质识别或者征信识别,以得到该开票企业的资质数据或者征信数据。应当理解,如图2所示,这里的税务业务参与方在通过图2所示的应用合约链入口接入应用合约链网络时,可以调用该图2所示的应用合约链上的第二跨链读取合约,从图2所示的票据链上读取基于衍生业务所请求的电子票据中的核心数据,以利用读取到的核心数据在该应用合约链上开展相应的衍生业务。
应当理解,在本申请实施例中,无需将票据链上所产生的大量的电子票据直接跨链转移至应用合约链,而是将票据链上所产生的这些电子票据中的部分授权可见的票据信息(即前述核心数据)跨链转移至应用合约链,这样可以从根源上确保票据链上所记录的这些电子票据的隐私性和安全性。
由此可见,对于请求接入上述应用合约链中的税务业务参与方而言,可以根据所请求的衍生业务的不同,从票据链上跨链读取到不同的核心数据(即可以从上述电子票据中获取到不同数据内容的票据信息)。
应当理解,针对该区块链电子票据三链网络中的智能合约而言,存在以下区别:
2.1)应当理解,如图2所示的管理链上可支持特定语言智能合约引擎,上述管理共识节点通过该特定语言智能合约引擎可以在管理链上部署特定语言智能合约,比如,可以在管理链上部署上述图2所示的对象权限管理合约、对象身份管理合约、元数据管理合约和内部管理合约等。应当理解,这些智能合约可以由税务管理部门中的特定税务管理人员开发和管理。
2.2)如图2所示的票据链上内置有特定票据业务逻辑的智能合约,这些智能合约(例如,上述图2所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约和第一跨链读取合约)可以随着票据业务的更新而进行升级。比如,本申请实施例可以通过从管理链上所读取到的元数据信息更新电子票据开具合约中的票据业务逻辑,进而可以根据更新后的电子票据开具合约来更新处理上述票据业务。这意味着该票据链不支持独立的智能合约引擎,自然也就不支持在该票据链上部署与票据业务无关的其他合约。这样做的好处是让该票据链仅运行与电子票据相关的业务逻辑,且不受其他智能合约的影响,从而可以使该票据链的运行更加独立稳定,更抗攻击。
2.3)该应用合约链上支持多语言、图灵完备面向开发者的智能合约,比如,如图2所示,开发者在通过应用合约链入口接入该应用合约链时,可以通过虚拟机兼容合约兼容主流的EVM虚拟机,以便于可以在兼容的虚拟机上部署运行各种新的业务合约,比如,可以在应用合约链上部署与衍生业务(例如,上述抽奖业务)相关联的衍生业务合约。又比如,可以在应用合约链上部署与另一衍生业务(例如,上述退税业务)相关联的衍生应用合约。
应当理解,如上述图2所示,在区块链电子票据三链网络中,并未在管理链上部署跨链读取合约,故而此时,该管理链并不具备跨链能力。由于图2所示的票据链和应用合约链上均部署有跨链读取合约,故而具备跨链能力。
具体的,与票据链相关联的共识节点(例如,上述第一共识节点)可以通过图2所示的第一跨链读取合约从管理链读取部分管理链信息,比如,可以从管理链读取用于存入票据链入口处的授权对象的注册数据信息;又比如,可以从管理链上读取用于对业务对象的业务处理权限进行确认的业务处理权限验证信息(例如,第一业务处理权限验证信息),还可以从管理链上读取用于开具电子票据(例如,电子发票)时的票据关键信息。
其中,这里的票据关键信息是指在确定业务处理权限为开票权限类型时,基于该票据业务中的电子票据业务从管理链上所读取到的授权可见的辅助元数据信息(例如,管理上所记录的更新后的电子票据模板)。
此外,与应用合约链相关联的共识节点(例如,上述第二共识节点)可以通过图2所示的第二跨链读取合约从管理链读取部分管理链信息,比如,可以从管理链上读取用于存入图2所示的应用合约链入口的授权对象的业务参与许可凭证,也可以从管理链读取用于对请求执行衍生业务的业务对象进行访问鉴权的业务处理权限验证信息(比如,第二业务处理权限验证信息),还可以从票据链读取部分票据链信息(例如,从票据链读取与衍生业务相关联的电子票据中的部分授权可见的票据信息)。应当理解,第二共识节点从管理链读取到的部分管理链信息和部分票据链信息均可以用于开展上述衍生业务。
应当理解,如图2所示,在区块链电子票据三链网络中,与管理链相关联的公开网络参与方可以为图2所示的个人用户和企业用户。同理,如图2所示,与票据链相关联的公开网络参与方可以为图2所示的各地电子票据数据流系统。这里的各地电子票据数据流系统所对应的业务网络可以为上述第一业务网络(即图2所示的业务网络W1),比如,对于各地方电子票据业务开具系统(例如,各地方税局系统)而言,该第一业务网络中的业务节点所对应的第一业务对象可以包含但不限于电子票据开票服务商,大型企业财税相关系统等。同理,如图2所示,与应用合约链相关联的公开网络参与方可以为图2所示的税务业务参与方和开发者,即这里的税务业务参与方和开发者可以为上述第二业务网络(即图2所示的业务网络W2)中的业务节点所对应的第二业务对象。
具体的,3.1)与管理链相关联的链入口(即目标链入口)可以为图2所示的管理链入口。当图2所示的个人用户(例如,用户A)和企业用户(例如,企业B)等作为公开网络参与方时,可以通过该管理链入口接入管理链,进而可以通过该管理链进行身份注册和身份授权等业务。3.2)与票据链相关联的链入口(即第一链入口)可以为图2所示的票据链入口。当图2所示的各地方电子票据数据流系统(例如,大型企业用户)等作为公开网络参与方时,可以通过该票据链入口接入票据链,进而可以通过该票据链执行电子票据开具业务、电子票据流转业务、电子票据红冲业务和电子票据归档业务。3.3)与应用合约链相关联的链入口(即第二链入口)可以为图2所示的应用合约链入口。当图2所示的税务业务参与方和开发者等作为公开网络参与方时,可以通过该应用合约链入口接入应用合约链,进而可以通过在应用合约链上部署衍生业务合约,以通过部署的衍生业务合约执行与电子票据相关的衍生业务。应当理解,图2所示的开发者还可以在接入应用合约链的情况下,在该应用合约链上部署其他衍生业务(或者探索业务)所对应的衍生业务合约,这里将不对部署在应用合约链上的衍生业务合约的合约数量进行限定。
其中,可以理解的是,图2所示的管理链入口具体可以为税务管理部门入口,通过该税务管理部门入口可以对需要接入管理链的个人、法人以及实体等进行身份识别和业务引导。
其中,可以理解的是,图2所示的票据链入口具体可以为电子票据业务入口,通过该电子票据业务入口可以接收某个业务对象(例如,业务对象,该业务对象可以为上述企业B)所请求开具的电子票据的交易数据(也可以称之为交易数据)。这样,在上述第一共识节点通过该电子票据业务入口接收到前述企业B提交的交易数据时,还可以通过该电子票据业务入口校验该交易数据的数据发送方(即作为业务对象的企业B)的接入身份和接入权限是否满足管理链中身份权限合约状态要求,进而可以在校验通过时,确定作为业务对象的企业B为授权对象,进而可以通过票据链上的第一跨链读取合约从管理链上读取前述第一业务处理权限验证信息确定该作为授权对象的企业B的业务处理权限。应当理解,通过第一业务处理权限验证信息可以进一步判断作为授权对象的企业B的业务处理权限是否满足管理链中对象权限管理合约的状态要求。
比如,上述第一共识节点通过该电子票据业务入口可以判断数据发送方(即企业B)的接入身份和接入权限是否满足管理链中的对象身份管理合约和内部管理合约的合约状态要求,进而可以在确定满足管理链中的对象身份管理合约和内部管理合约的合约状态要求时,确定完成对需要接入该票据链的数据发送方(即前述企业B)的访问鉴权。由此可见,上述图2所示的票据链入口处存储有从管理链同步来的各个授权对象的注册数据信息,这里的注册数据信息可以包含但不限于对象接入身份注册信息和对象接入权限注册信息。比如,这里的对象接入身份信息可以用于识别当前请求接入该票据链的业务对象(即前述企业B)是否为授权对象。这里的对象接入权限注册信息包含由管理共识节点通过内部管理合约为该票据链的电子票据业务入口所配置的链访问量阈值(例如,最大并发请求累积量)。上述第一业务处理权限验证信息则可以用于表征作为授权对象的该业务对象(即前述企业B)具体具备访问票据链上的哪些票据业务合约的权限。
其中,可以理解的是,图2所示的应用合约链入口具体可以为税务衍生业务入口,通过该税务衍生业务入口可以接收某个业务对象(例如,第二业务对象,该第二业务对象可以为图2所示的税务业务参与方)所请求参与的与票据业务相关联的衍生业务。应当理解,在图2所示的税务业务参与方和开发者可以在获得税务管理部门发放的授权对象的业务参与许可凭证后,可以通过该应用合约链入口对第二业务对象(例如,税务业务参与方或者开发者)提交的业务参与许可凭证进行验证,进而可以在验证成功时允许该第二业务对象接入该应用合约链,以在该应用合约链上执行与前述票据业务相关联的衍生业务。
其中,如图2所示,参与维护管理链的内部参与方可以为图2所示的税务管理部门,这里的税务管理部门主要用于在管理链上进行内部状态参数的配置与管理,还可以用于对上述元数据信息(例如,税务元数据)进行变更上链(如可以更新电子票据模板,更新计税规则等),以及可以对于该管理链上所维护的各类业务参与方的身份和权限进行管理(如冻结企业开票资质,限制企业开票额度等)。此外,如图2所示,这里的税务管理部门中的管理人员在作为业务同步对象时,还可以通过图2所示的管理链全量节点,直接与管理链上的账本接口进行数据同步交互,而无需与该管理链上的合约进行交互,即税务管理部门可以通过该管理链全量节点全量同步整个管理链的账本数据和合约数据,即该管理链上的各个区块中的交易对于该管理链全量节点所对应的税务管理部门中的管理人员(即业务同步对象)而言,具有完全透明的数据访问权限。
其中,如图2所示,参与维护票据链的内部参与方可以为图2所示的电子票据数据中心,这里的电子票据数据中心具体可以为电子发票数据中心,该电子票据数据中心(比如,电子发票数据中心)可以用于对票据链上所记录的海量的账本数据(例如,基于上述实时票据业务流所产生的电子票据流等)进行链下备份、统计、数据分析和审查等工作。具体的,通过该电子票据数据中心可以统计分时开票数量,进而可以基于统计到的分时开票数量对风险票据(例如,风险发票)、风险企业进行判定,还可以对相关金融经济数据进行数据分析等。此外,如图2所示,这里的电子票据数据中心中的相关人员在作为业务同步对象时,也可以通过图2所示的票据链全量节点,直接与票据链上的账本接口进行数据同步交互,而无需与该票据链上的合约进行交互,即电子票据数据中心中的相关人员可以通过该票据链全量节点全量同步整个票据链的账本数据和合约数据,即该票据链上的各个区块中的交易对于该票据链全量节点所对应的电子票据数据中心中的相关人员(即业务同步对象)而言,具有完全透明的数据访问权限。
其中,如图2所示,参与维护应用合约链的内部参与方可以为图2所示的政务协作部门和业务关联部门。应当理解,参与维护应用合约链的内部参与方除了税务管理部门之外,系统联盟链中的其他部门(即前述政务协作部门)和参与方(即前述业务关联部门)均可以在接入该应用合约链的情况下,进一步通过该应用合约链上的衍生业务合约执行相应的衍生业务。此外,如图2所示,这里的政务协作部门和业务关联部门中的相关人员在作为业务同步对象时,也可以通过图2所示的应用合约链全量节点,直接与应用合约链上的账本接口进行数据同步交互,而无需与该应用合约链上的合约进行交互,即政务协作部门和业务关联部门中的相关人员可以通过该应用合约链全量节点全量同步整个应用合约链的账本数据和合约数据,即该应用合约链上的各个区块中的交易对于该应用合约链全量节点所对应的政务协作部门和业务关联部门中的相关人员(即业务同步对象)而言,具有完全透明的数据访问权限。可以理解的是,图2所示的政务协作部门和业务关联部门等作为税务业务参与方,接入应用合约链的好处是可以在支持完备的智能合约声明周期中灵活运行各类可扩展的衍生业务,以确保业务变化的灵活性,同时不需要直接接触上述票据链上的电子票据的核心数据,从而保证了票据链上的数据隐私和核心数据安全。这意味着本申请实施例所涉及的第二共识节点可以在应用合约链上的第二跨链读取合约(具体的,可以通过第二跨链读取合约中的跨链读取方法),对票据链上针对当前衍生业务所部分授权可见的票据链数据进行读取,比如,可以从票据链上跨链读取与当前衍生业务相关的核心数据(这里的核心数据可以为上述电子票据流所涉及的各电子票据中的票据信息,对于电子票据为电子发票而言,这里的票据数据具体可以为部分授权可见的发票数据),以通过读取到的核心数据来确保上述第二业务对象所请求的衍生业务,可以在该应用合约链上进行有效的开展。
在一些可实现的其他实施例中,为增加位于票据链上的电子票据的数据隐私性,第二共识节点还可以通过第二跨链读取合约中的跨链授权方法所指示的链标识(比如,这里的链标识为票据链对应的链标识),请求该票据链所对应的第一共识节点在该票据链上读取与该衍生业务相关联的电子票据(例如,C企业所开具的电子票据),进而可以在读取到的电子票据的票据信息中,将与衍生业务相关联的票据信息作为前述授权可见的核心数据返回给第二共识节点。应当理解,此时,对于第二共识节点而言,无法得知该电子票据中与该衍生业务无关的其他票据信息,更无法触及到该票据链上与该衍生业务无关的其他电子票据(例如,D企业所开具的电子票据),这样,可以确保存储在该票据链上的所存储票据数据的隐私安全性和可靠性。
应当理解,对于上述图2所示的管理链而言,主要用于处理数据量较小、状态较恒定的管理性业务流,整个管理链的开放性相对较低,可以用于对一些税务数据进行内部管理。而对于上述图2所示的票据链而言,可以用于处理一些数据量长期处于高频请求状态的实时票据业务流,该整个票据链的开放性相对较高,可以允许与电子票据本身生命周期中的相关权威机构参与相应的票据业务,比如,可以允许与代理服务商对应的共识节点为当前请求开票的某个用户开具电子票据。此外,对于图2所示的应用合约链而言,数据量的大小可以无需限定、业务变化的频率波动相对较大,主要是可以通过该应用合约链处理各类合作业务、衍生业务、探索性业务等。应当理解,该应用合约链具有最高的开放性,可以运行由管理链授权的参与者在该应用合约链上部署智能合约、运行探索性的衍生业务等。应当理解,在本申请实施例中,考虑到应用合约链具有较高的开放性和业务变更的灵活性,所以,内置在应用合约链上智能合约在执行时可以有更多的合约安全限制。比如,可以对合约执行步数进行限制(例如,对于上述图2所示的衍生业务合约而言,可以限定当前业务对象(即上述第二业务对象)具体能够访问衍生业务合约中哪些合约方法),并可以对访问该衍生业务合约所需要消耗的存储资源数据等进行限制(即应用合约上的智能合约的调用需要消耗一定数量的存储资源数据)。
其中,可以理解的是,本申请实施例所涉及的三链体系下的共识节点可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的共识节点在跨链获取业务对象(例如,上述个人用户或者企业用户)的授权访问数据信息、注册数据信息、业务参与许可凭证、电子票据中的票据信息等数据时,可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示业务对象当前正在搜集注册数据信息、业务参与许可凭证、电子票据中的票据信息等数据,仅仅在获取到业务对象对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。
此外,可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等业务对象的业务数据(例如,用户的开票信息、征信信息、退税信息等,企业的进出亏、企业资质等信息),当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等业务对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
其中,在上述区块链系统中,对于来源于不同业务网络中的业务节点,在第一主链(例如,票据链)上进行数据清分的具体过程,可以参见如下图3至图9所对应的实施例。
进一步的,请参见图3,图3是本申请实施例提供的一种基于多区块链的数据处理方法的示意图,如图3所示,方法可以由上述第一网络中的第一共识节点执行,比如,该第一共识节点可以为上述图1所示的共识网络A22中任意一个共识节点。方法具体可以包括以下步骤S101-步骤S104。
步骤S101,在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;
其中,本申请实施例所涉及的业务对象包含与第一业务网络相关联的第一业务对象;这里的第一业务网络为与第一网络相关联的业务网络;即部署在第一业务网络中的业务节点可以与部署在第一网络中的第一共识节点进行数据交互,这里的数据交互可以包含上述数据上链交互、还可以包含数据清分交互。
其中,可以理解的是,本申请实施例所涉及的第一网络可以为上述区块链电子票据三链网络中的一个共识网络。此外,可以理解的是,在本申请实施例中,该第一网络部署在相对安全的私有云中,且处于该私有云中的第一网络内的各共识节点上均运行有基于上述TBFT共识算法的区块链共识协议,这样,通过前述区块链共识协议所对应的共识机制,可以确保在该第一网络中的各共识节点之间的访问安全性。
然而,对于处于公网中的公开网络参与方(例如,上述图2所示的个人用户和企业用户等业务对象)而言,若需要通过某个业务网络接入该第一网络,则需要先通过上述图2所示的第一链入口来对请求接入该第一网络的公开网络参与方进行初步的访问鉴权(即可以进行身份校验和权限校验),以确保接入该第一网络的公开网络参与方的访问安全性。
其中,应当理解,该第一链入口所接收到的请求具体可以包含用于请求进行数据清分的数据清分交易请求和用于请求进行交易上链的交易上链请求。这里以该第一链入口所接收到的请求为数据清分交易请求为例,以阐述将发起该数据清分交易请求的业务对象确定为授权对象的具体过程。
其中,为便于理解,本申请实施例可以将请求通过业务网络(例如,上述第一业务网络、第二业务网络、第三业务网络中的一个或者多个)接入该第一网络的公开网络参与方统称为业务对象,进而可以通过前述第一链入口对该来源于各业务网络的业务对象进行访问鉴权。换言之,为确保请求接入第一网络的公开网络参与方的访问安全性,本申请实施例提出第一共识节点在执行上述步骤S101之前,可以预先对请求接入第一网络的公开网络参与方进行初步的访问鉴权,以确保由该公开网络参与方所发起的数据清分交易请求的可靠性。应当理解,本申请实施例可以将来源于不同业务网络、且被用于进行数据清分的业务节点统称为业务清分节点。
为便于理解,本申请实施例结合上述图1所对应实施例中的多个业务网络,提供了一种由多个业务网络中的业务清分节点与第一网络中的第一共识节点进行数据交互的场景示意图。具体的,请参见图4,图4是本申请实施例提供的一种通过第一链入口获取清分交易请求的场景示意图。如图4的第一网络400a可以为上述图1所对应实施例中的共识网络A22,这里的共识网络A22可以为上述区块链电子票据三链网络中的共识网络,例如,上述票据链所对应的票据链网络。如图4所示的业务网络A21可以为上述图1所对应实施例中与该第一网络(例如,上述共识网络A22)相关联的第一业务网络。如图4所示的业务网络A31可以为上述图1所对应实施例中与第二网络(例如,上述共识网络A32)相关联的第二业务网络。如图4所示的业务网络A41可以为上述图1所对应实施例中与目标子网络(例如,上述子共识网络A42)相关联的第三业务网络。
如图4所示,部署在该第一网络中的共识节点包含图4所示的共识节点41a、共识节点41b、共识节点41c和共识节点41d。为便于进行理解,本申请实施例可以将基于上述共识网络A22中的TBFT共识算法所确定出用于连续出块的leader节点作为第一共识节点,比如,可以将图4所示的部署在第一网络400a中的共识节点41d作为第一共识节点。如图4所示的第一共识节点中运行有第一权限合约,应当理解,本申请实施例可以将部署在第一网络的第一共识节点上的第一权限合约统称为上述节点权限合约。
可以理解的是,为确保数据清分时,该第一主链(例如,图4所示的第一主链41e)上的链上数据的安全性和隔离性,本申请实施例提出在通过第一共识节点(例如,图4所示的共识节点41d)进行数据清分时,可以通过第一权限合约判断当前发起数据清分交易请求的这些业务清分节点的节点来源,进而可以根据这些业务清分节点的不同来源,智能将这些业务清分节点的节点类型(即节点身份)进行划分,从而可以根据节点类型的不同,配置不同的节点权限,以从该第一主链上清分到不同数据。
如图4所示,当前发起数据清分交易请求的这些业务清分节点可以包含图4所示的来源于业务网络A21中的业务节点110n,来源于业务网络A31中的业务节点120a以及来源于业务网络A41中的业务节点130g。其中,如图4所示,业务网络A21中的业务节点110n可以为图4所示的用户终端42a,通过该用户终端42a发起数据清分交易请求1的业务对象可以为图4所示的用户42b。同理,如图4所示,业务网络A31中的业务节点120a可以为图4所示的用户终端43a,通过该用户终端43a发起数据清分交易请求2的业务对象可以为图4所示的用户43b。以此类推,如图4所示,业务网络A41中的业务节点130g可以为图4所示的用户终端44a,通过该用户终端44a发起数据清分交易请求3的业务对象可以为图4所示的用户44b。
如图4所示的链入口40a可以为第一网络对应的第一链入口(这里的第一链入口具体可以为上述图2所对应实施例中的电子发票业务入口);第一链入口存储有第一主链对应的链访问量阈值以及第一共识节点从目标主链上所同步来的允许访问第一主链的授权对象的授权访问数据信息;可以理解的是,这里的授权访问数据信息是由与目标主链相关联的目标共识节点基于授权对象所提交的对象数据信息所生成的;链访问量阈值用于表征通过第一链入口所获取到的最大并发请求访问量;可以理解的是,这里的目标主链可以为上述区块链电子票据三链网络中的另一共识网络,例如,这里的目标主链可以为上述图2所对应实施例中的管理链。
如图4所示,第一共识节点(即共识节点41d)可以在通过第一链入口(例如,链入口40a)获取到用户42b通过用户终端42a提交的数据清分交易请求1、用户43b通过用户终端43a提交的数据清分交易请求2以及用户44b通过用户终端44a提交的数据清分交易请求3时,根据当前所依次获取到的数据清分交易请求1、数据清分交易请求2以及数据清分交易请求3,对第一链入口处的请求访问量进行递增处理,以得到递增处理后的请求访问量。
可以理解的是,这里的用户终端42a即为业务网络A21中用于提交数据清分交易请求1的业务清分节点,这里的用户终端43a即为业务网络A31中用于提交数据清分交易请求2的业务清分节点,这里的用户终端44a即为业务网络A41中用于提交数据清分交易请求3的业务清分节点。本申请实施例可以将提交数据清分交易请求1的用户42b、提交数据清分请求2的用户对象43b、提交数据清分交易请求3的用户44b统称为上述业务对象。
进一步的,第一共识节点(即共识节点41d)可以在上述递增处理后的请求访问量未达到链访问量阈值时,从数据清分交易请求中获取与各业务对象相关联的访问请求数据信息;进一步的,第一共识节点可以基于上述第一链入口处所存储的各授权对象的授权访问数据信息,对提交各访问请求数据信息的业务对象进行访问鉴权,以得到业务对象的访问鉴权结果。
为便于理解,这里以图4所示的链入口40a获取到一个数据清分交易请求(例如,图4所示的数据清分交易请求1)为例,以阐述通过该链入口40a对该用户42b进行访问鉴权的具体过程。具体的,第一共识节点(即共识节点41d)可以在通过第一链入口(例如,链入口40a)获取到用户42b通过用户终端42a提交的数据清分交易请求1时,可以根据当前所获取到的数据清分交易请求1,对第一链入口处的请求访问量进行递增处理,以得到递增处理后的请求访问量,例如,当前第一链入口处的访问请求量为100,加一处理后所得到的访问请求量则为101。然后,第一共识节点(即共识节点41d)可以在上述递增处理后的请求访问量(例如,101)未达到链访问量阈值(例如,120)时,从该数据清分交易请求1中获取与用户42b相关联的访问请求数据信息。进一步的,第一共识节点可以基于上述第一链入口(例如,链入口40a)处所存储的各授权对象的授权访问数据信息,对提交访问请求数据信息的用户42b进行访问鉴权,以得到该用户42b的访问鉴权结果。进一步的,第一共识节点(即共识节点41d)可以在访问鉴权结果指示访问请求数据信息与授权访问数据信息中的访问注册数据信息保持一致时,将图4的用户42b确定为授权对象,进而可以将由该用户42b所提交的数据请求交易请求1作为清分交易请求,从而可以将该清分交易请求中所携带的业务清分节点的节点标识(即被作为业务清分节点的用户终端42a的节点标识)作为目标节点标识,以进一步执行下述步骤S102。
其中,可以理解的是,第一链入口(例如,链入口40a)处所存储的授权访问数据信息中可以携带业务对象(即用户42b)的公钥信息;此外,该用户42b所提交的数据清分交易请求1中可以携带该用户42b的对象签名信息;这里的对象签名信息可以为当前被作为业务清分节点的用户终端42b基于业务对象(即用户42b)的私钥信息,对业务对象(即用户42b)所请求的第一清分交易进行签名处理后所得到的;业务对象(即用户42b)的私钥信息和业务对象(即用户42b)的公钥信息互为秘钥对,且业务对象(即用户42b)的私钥信息和业务对象(即用户42b)的公钥信息均为目标共识节点基于业务对象(即用户42b)所提交的对象数据信息所配置的;
此时,第一共识节点从数据清分交易请求1中获取与业务对象(即用户42b)相关联的访问请求数据信息的具体过程,可以描述为:第一共识节点可以从数据清分交易请求1中获取用户42b的对象签名信息,并可以基于第一链入口处所存储的业务对象(例如,用户42b)的公钥信息对用户42b的对象签名信息进行签名验签,得到签名验签结果;进一步的,第一共识节点可以在签名验证结果指示验签成功时,获取数据清分交易请求1中所携带的所第一清分交易,并可以将第一清分交易对应的访问数据信息(例如,由目标主链针对该第一清分交易所下发的授权码或者第一业务节点针对第一清分交易所计算得到的交易数据的哈希值)作为与业务对象相关联的访问请求数据信息。
可选地,第一共识节点还可以在签名验证结果指示验签失败时,将业务对象(例如,用户42b)确定为非法对象,且拒绝由非法对象发送的数据清分交易请求1。
其中,可以理解的是,在第一共识节点确定递增处理后的请求访问量均未达到链访问量阈值,则可以依次从上述数据清分交易请求1、数据清分交易请求2以及数据清分交易请求3获取各业务对象的对象签名信息。其中,第一共识节点从数据清分交易请求2和数据清分交易请求3中获取用户43b的对象签名信息和用户44b的对象签名信息的具体过程,可以参见上述从数据清分交易请求1中获取用户42b的对象签名信息的具体过程的描述。
可以理解的是,本申请实施例所涉及的第一链入口(例如,链入口40a)可以基于当前所批量性获取到的数据清分交易请求进行流量控制,比如,第一共识节点(即共识节点41d)可以在通过第一链入口(例如,链入口40a)获取到用户42b通过用户终端42a提交的数据清分交易请求1、用户43b通过用户终端43a提交的数据清分交易请求2以及用户44b通过用户终端44a提交的数据清分交易请求2时,根据当前所依次获取到的数据清分交易请求1、数据清分交易请求2以及数据清分交易请求3,对第一链入口处的请求访问量进行递增处理,以得到递增处理后的请求访问量,假设递增处理前的请求访问量为99、递增处理后的请求访问量为99+3=102,且该第一链入口对应的链访问量阈值为100,进而可以在递增处理后的请求访问量达到链访问量阈值时,依次拒绝递增处理后的请求访问量达到链访问量阈值时的数据清分交易请求1、数据清分交易请求2以及数据清分交易请求3,进而可以向图4所示的用户终端42a、用户终端43a和用户终端44a返回与该链访问量阈值相关联的访问失败提示信息。
步骤S102,基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;
具体的,第一共识节点可以将目标节点标识写入第一主链上的第一权限合约;进一步的,第一共识节点可以调用第一权限合约中的第一身份验证方法对具备目标节点标识的业务清分节点进行身份验证,得到身份验证结果;进一步的,第一共识节点可以在身份验证结果指示业务清分节点的节点身份为第一身份类型时,将第一身份类型对应的业务清分节点作为第一类型清分节点,且调用第一权限合约中的第一权限验证方法,对具备目标节点标识的业务清分节点进行权限验证,得到权限验证结果;进一步的,第一共识节点可以在权限验证结果指示业务清分节点的节点权限为第一类型清分权限时,将具备第一类型清分权限的第一类型清分节点作为业务清分节点对应的身份权限验证结果。
可以理解的是,为确保数据清分时,链上数据的安全性和隔离性,本申请实施例提出可以在进行数据清分时,根据这些业务清分节点的不同来源,将这些业务清分节点的节点类型进行划分,进而可以根据节点类型的不同,配置不同的节点权限,进而可以按照节点权限的不同,从该第一主链上清分到不同数据。比如,本申请实施例可以将来源于第一业务网络的业务清分节点划分为第一类型清分节点,并可以将来源于第二业务网络的业务清分节点划分为第二类型清分节点、以及将来源于第三业务网络的业务清分节点划分为第三类型清分节点。
即对于上述图4所对应实施例中的业务网络A21、业务网络A31和业务网络A41而言,可以通过上述多区块链中的目标主链上的目标共识节点,为各业务网络中的业务对象所使用的业务节点配置相应的节点类型(或者节点身份),并可以将配置后的各业务节点的节点类型(或者节点身份)同步至对应主链上的节点权限合约。
比如,对于与第一网络相关联的业务网络A21而言,可以在第一共识节点上所运行的节点权限合约(即图4所示的第一权限合约)中,将业务网络A21记录为第一业务网络,并可以同步记录该第一业务网络中用于进行数据清分的业务节点的节点标识,进而可以为同步记录到上述目标共识节点为这些节点标识所配置的节点身份和节点权限。
这样,当第一共识节点获取到业务网络A21中的业务节点发送的数据清分交易请求1时,则可以根据该数据清分交易请求1中所携带的目标节点标识,快速通过该第一权限合约中所录入的目标节点标识,判断出该第一业务网络中的业务节点110n(即上述图4所示的用户终端42a)的节点身份为第一身份类型,进而可以将发送该数据清分交易请求1的第一身份类型的用户终端42a确定为第一类型清分节点,从而可以将该第一类型清分节点的节点权限确定为第一类型清分权限。
其中,可以理解的是,这里的节点身份可以包含两种身份类型,一种身份类型为非跨链类型,另一种身份类型为跨链类型,本申请实施例可以将部署在公网中来源于第一业务网络中的非跨链类型的业务节点称之为第一类型清分节点(例如,上述图4所对应实施例中的业务节点110n),并可以将第一类型清分节点所具备的非跨链类型的身份统称为第一身份类型。此外,本申请实施例可以将部署在公网中来源于第二业务网络中的跨链类型的业务节点称之为第二类型清分节点(例如,上述图4所对应实施例中的业务节点120a),并可以将第二类型清分节点所具备的跨链类型的身份统称为第二身份类型。同理,本申请实施例可以将部署在公网中来源于第三业务网络中的跨链类型的业务节点称之为第三类型清分节点(例如,上述图4所对应实施例中的业务节点130g),并可以将第三类型清分节点所具备的跨链类型的身份一并统称为前述第二身份类型。
其中,可以理解的是,这里的节点权限可以包含两种节点权限,一种节点权限为非跨链类型的清分权限,另一种节点权限为跨链类型的清分权限,本申请实施例可以将非跨链类型的清分权限称之为第一类型清分权限,并可以将跨链类型的清分权限称之为第二类型清分权限,即上述第一类型清分节点(例如,上述图4所对应实施例中的业务节点110n)所具备的权限类型为第一类型清分权限。上述第二类型清分节点(例如,上述图4所对应实施例中的业务节点120a)所具备的权限类型为第二类型清分权限;上述第三类型清分节点(例如,上述图4所对应实施例中的业务节点130g)所具备的权限类型也为第二类型清分权限。
步骤S103,在身份权限验证结果指示业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,且从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据;
其中,第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限;
其中,第一业务数据所在的区块为第一主链上的第一目标区块;第一业务数据所在的第一上链交易中包含第一类型清分节点的节点标识;第一类型清分节点的节点标识为目标节点标识;应当理解,写入第一上链交易中的目标节点标识可以用于表征第一主链上的第一目标区块中的第一上链交易对第一类型清分节点所对应的第一业务对象可见;具体的,第一共识节点可以调用与第一权限合约中的数据清分方法,访问第一权限清分合约,将目标节点标识写入第一权限清分合约,调用第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一目标区块,从第一目标区块中获取对第一类型清分节点可见的第一上链交易,从第一上链交易中获取目标节点标识对应的第一业务数据;进一步的,第一共识节点可以从第一主链对应的账本数据库中获取与第一业务数据相关联的账本数据作为第一账本数据;进一步的,第一共识节点可以从第一主链对应的合约数据库中获取与第一业务数据相关联的合约数据作为第一账本数据对应的第一合约数据。
为便于理解,进一步的,请参见图5,图5是本申请实施例提供的一种进行数据清分时的数据交互示意图。如图5所示的第一共识节点所维护的区块链可以为图5所示的第一主链。该第一主链包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,该第一主链中的各个区块中记录了区块链系统中由该第一共识节点所确认上链的交易数据(这里的交易数据具体包含该第一共识节点执行相应第一业务所得到的业务数据A1、业务数据C1、业务数据C2)。比如,如图5所示的第一主链可以包含按照产生的先后顺序相互接续的区块1、区块2、区块3和区块4。
其中,可以理解的是,图5所示的企业A对应的业务清分节点A’和企业C对应的业务清分节点C’可以为上述图4所对应实施例中来源于业务网络A21中的业务节点。该第一共识节点在通过上述节点权限合约(即第一主链上的第一权限合约)对业务清分节点(这里的业务清分节点为图5所示的业务清分节点A’和业务清分节点C’)进行身份权限验证之后,可以确定业务清分节点A’和业务清分节点C’为来源于上述第一业务网络中的第一类型清分节点,进而可以调用上述节点权限合约对应的权限清分合约(这里指第一主链上的第一权限清分合约),从图5所示的第一主链上获取与这些第一类型清分节点相关联的第一目标区块。
其中,可以理解的是,这里的第一目标区块可以为图5所示的区块3,此时,第一共识节点可以从第一目标区块中获取到对业务清分节点A’可见的上链交易1,进而可以获取到该上链交易1中的业务数据(即图5所示的与企业A相关联的业务数据A1)。与此同时,第一共识节点也可以从第一目标区块中获取到对业务清分节点C’可见的上链交易2和上链交易3,进而可以在获取到该上链交易2中的业务数据(即图5所示的与企业C相关联的业务数据C1)时,一并获取到该上链交易3中的业务数据C2。
应当理解,本申请实施例可以将企业A和企业C一并作为上述发起清分交易请求的第一业务对象。此时,这里的上链交易1和上链交易2以及上链交易3均为该第一共识节点从区块3中为各个第一业务对象所获取到的上链交易。那么,为便于进行区分,本申请实施例可以将第一共识节点为企业A所清分到的上链交易1作为第一上链交易,将该第一共识节点为企业C所清分到的上链交易2和上链交易3作为第二上链交易。即这里的第二上链交易对于作为第一类型清分节点的该企业A而言,是不可见的。同理,这里的第一上链交易对于作为第一类型清分节点的该企业C而言,也是不可见的。
其中,对于图5所示的第一主链的区块结构而言,每个区块中包括基于本区块所存储交易数据所记录的本区块的哈希值(即图5所示的本区块哈希)、以及前一区块的哈希值(即图5所示的前一区块哈希),这些区块可以通过图5箭头所指示的哈希值之间的关联关系连接形成图5所示的第一主链。
另外,图5所示的每个区块中还可以包括有对应区块生成时的区块高度、参与共识签名时的第一网络中的各共识节点的节点签名信息等信息。在图5所示的区块3的区块头中,本区块哈希即为本区块的默克尔树根(比如由图5所示的哈希11和哈希34所确定的目标根哈希1134)。对于图5所示的第一共识节点而言,可以调用上述节点权限合约所对应的权限清分合约(即第一主链上的第一权限清分合约)从第一主链上清分到前述第一业务数据对应的第一账本数据。
由此可见,如图5所示的区块3(即第一目标区块)中还可以包含除第一上链交易之外的第二上链交易(即图5所示的与企业C相关联的业务数据C1所在的上链交易2和与企业C相关联的业务数据C2所在的上链交易3);可以理解的是,为确保第一主链上的链上数据的安全性,该第二上链交易(即图5所示的与企业C相关联的业务数据C1所在的上链交易2和与企业C相关联的业务数据C2所在的上链交易3)为区块3(即第一目标区块)中对业务清分节点A’所对应的企业A不可见的交易。
比如,对于企业A对应的业务清分节点A’而言,由第一共识节点从第一主链上所清分到的第一业务数据对应的第一账本数据:可以包含第一目标区块的区块头(即图5所示的区块3的区块头,应当理解,这里的区块头可以用于对获取到的第一业务数据的完整性验证)、位于第一上链交易中的第一业务数据的数据内容(即图5所示的与企业A相关联的业务数据A1的数据内容)与第二上链交易相关联的关联状态根(例如,图5所示的哈希值34、图5所示的哈希值1以及该哈希值1对应的哈希值11)以及用于辅助验证第一业务数据的默克尔验证路径(即一种用于通过图5所示的哈希值34、图5所示的业务数据A1对应的哈希值1以及该哈希值1对应的哈希值11重构默克尔树根的分叉树的各个分支)。其中,可以理解的是,本申请实施例可以将重构得到的默克尔树根与前述区块3的区块头中的默克尔树根进行比较,在两者一致的情况下,可以确定从该第一主链上所清分到的第一业务数据的完整性。
其中,为便于理解,这里以企业A为开票企业(例如,开票服务商)为例,该企业A在通过上述业务清分节点A’接入第一网络的情况下,可以通过该第一网络中的第一共识节点从第一主链上清分到与自己相关的开票交易中的电子票据,即图5所示的与企业A相关联的业务数据A1即为第一共识节点从第一主链上所清分到与该企业A相关的开票交易中的电子票据,这里的开票交易即为上述第一上链交易,该开票交易中的电子票据具体可以为企业A请求通过第一共识节点上的第一业务合约(例如,电子票据开具合约)为消费用户(例如,企业B)所开具的电子票据(例如,电子票据P1)。那么,第一共识节点从第一主链对应的合约数据库中所获取到的第一账本数据对应的第一合约数据,具体可以包含执行该开票交易(即上述第一业务)所调用的第一业务合约(例如,电子票据开具合约)的合约名称、合约方法以及合约地址。
此外,为便于理解,这里以企业C为地方税局为例,作为地方税局的企业C可以通过第一共识节点中的电子票据流转合约获取到一些报销企业(例如,上述企业B)所报销的电子票据(例如,电子票据P2),还可以通过第一共识节点中的电子票据流转合约将该企业C所获取到的电子票据(例如,电子票据P3)进一步流转至税务总局D,以便于税务总局D可以通过该第一共识节点中的电子票据归档合约对流转来的电子票据进行归档处理。基于此,对于企业C对应的业务清分节点C’而言,与该企业C相关联的业务数据C1可以为该企业C所获取到的由企业B所报销的电子票据P2,同理,与企业C相关联的业务数据C2可以为该企业C需要向税务总局D所流转的电子票据P3。
基于此,对于企业C对应的业务清分节点C’而言,由第一共识节点从第一主链上所清分到的第一业务数据对应的第一账本数据:可以包含第一目标区块的区块头(即图5所示的区块3的区块头)、位于第二上链交易中的第一业务数据的数据内容(即上述电子票据P2的票据内容和上述电子票据P3的票据内容)与第二上链交易相关联的关联状态根(例如,图5所示的哈希值11、图5所示的哈希值3、哈希值4以及由该哈希值3和哈希值4所计算得到的哈希值34)以及用于辅助验证第一业务数据的默克尔验证路径(即一种用于通过图5所示的哈希值11、图5所示的哈希值3、哈希值4以及由该哈希值3和哈希值4所计算得到的哈希值34重构默克尔树根的分叉树的各个分支)。与此同时,第一共识节点从第一主链对应的合约数据库中所获取到的第一账本数据对应的第一合约数据,具体可以包含流转上述电子票据P2和电子票据3所调用的第一业务合约(例如,电子票据流转合约)的合约名称、合约方法以及合约地址。
应当理解,这里的第一网络对应的链入口为上述第一链入口,这里的多区块链可以包含独立于第一主链的目标主链;这里的第一业务数据为该第一共识节点执行第一业务后所得到的业务执行结果,即第一共识节点在从第一主链上清分到第一业务数据之前,还应当将包含该业务执行结果的第一上链交易所在的区块(比如,第一目标区块)写入第一主链。
其中,第一共识节点执行第一业务,且将第一上链交易所在的区块写入第一主链的具体过程可以描述为:第一共识节点可以通过第一链入口获取第一业务对象通过第一类型清分节点发送的第一交易上链请求,从第一交易上链请求中获取第一业务对象所请求的第一业务,以及第一业务对应的第一待上链交易;进一步的,第一共识节点可以将第一待上链交易写入第一权限合约,调用第一权限合约中的第二权限验证方法,访问第一主链上的第一跨链读取合约,通过第一跨链读取合约从目标主链上跨链读取与第一业务相关联的业务权限验证信息;进一步的,第一共识节点可以在基于业务权限验证信息确定第一业务对象具备处理第一业务的业务处理权限时,将第一业务写入第一主链上的第一业务合约;进一步的,第一共识节点可以调用第一业务合约中的第一业务执行方法执行第一业务,得到第一业务对应的第一业务执行结果,将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据;进一步的,第一共识节点可以基于第一业务数据和目标节点标识,生成第一待上链交易对应的第一上链交易,将包含第一上链交易的第一目标区块写入第一主链。
其中,在上述第一业务包含电子票据开具业务,第一业务合约包含电子票据开具合约时,第一共识节点执行上述调用第一业务合约中的第一业务执行方法执行第一业务,得到第一业务对应的第一业务执行结果,将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据的步骤具体可以描述为:第一共识节点可以调用第一业务合约中的子合约访问方法,访问电子票据开具合约,通过电子票据开具合约中的第一业务执行方法执行第一业务中的电子票据开具业务,得到为业务对象开具的目标电子票据;目标电子票据为第一业务对应的第一业务执行结果;进一步的,第一共识节点可以将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据。
为便于理解,进一步的,请参见图6,图6是本申请实施例提供的一种通过获取与第一业务相关联的业务权限验证信息的场景示意图。如图6的用户63b可以为上述第一业务对象,即此时,用户63b为上述请求接入第一网络600a的公开网络参与方。应当理解,在本申请实施例中,该用户63b所使用的用户终端63a可以为上述第一业务对象对应的第一类型清分节点。应当理解,这里的第一类型清分节点可以为上述图1所示业务网络A21中的业务节点,此时,这里的第一类型清分节点可以通过第一共识节点执行某个上链交易(例如,开票交易)。第一类型清分节点在得到这笔上链交易所对应的交易数据时,可以将该交易数据,该用户63a(即业务对象)的签名信息一并添加到图6所示的第一交易上链请求中,以将该第一交易上链请求发送至与图6所示的第一网络600a对应的链入口60a。
其中,应当理解,这里的链入口60a即为上述第一链入口。如图6所示,该第一链入口可以用于存储图6所示的授权对象的注册数据信息,该授权对象的注册数据信息中具体可以包含授权对象的公钥证书。
其中,应当理解,链入口60a处所存储的授权对象的注册数据信息是由第一网络600a中的共识节点从图6所示的目标主链62e上所同步来的。由于该第一网络中的共识节点中运行有上述TBFT共识算法,所以,在TBFT共识算法中,leader节点是轮换的前提下,假设上一轮用于连续出块的leader节点为图6所示的共识节点61c,且本轮用于连续出块的leader节点为图6所示的共识节点61d,那么,共识节点61c则可以在上一轮被作为第一共识节点,且共识节点61d则可以在本轮被作为新的第一共识节点。基于此,链入口60a处所存储的授权对象的注册数据信息具体可以包含历史作为第一共识节点的共识节点61c通过图6所示的第一跨链读取合约从目标主链(例如,图6所示的目标主链62e)上所同步来的第一类授权对象的注册数据信息(例如,授权对象A的公钥证书A1和授权对象B的公钥证书B1),还可以包含当前作为第一共识节点的共识节点61d通过图6所示的第一跨链读取合约从目标主链(例如,图6所示的目标主链62e)上所同步来的第二类授权对象的注册数据信息(例如,授权对象N的公钥证书N1)。应当理解,这里的第一类授权对象的注册数据信息和第二类授权对象的注册数据信息主要是用于区分哪些是由自己作为第一共识节点所同步的,哪些是由其他节点作为第一共识节点时所同步的。
为便于理解,这里以共识节点61d作为第一共识节点为例,阐述通过图6的链入口60a对该用户63b进行身份鉴权的具体过程。比如,在上述区块链系统应用于区块链电子票据场景下,当第一业务为上述票据业务时,这里的实时业务流具体可以为实时电子票据流,即该实时电子票据流具体可以是指由第一共识节点通过前述第一链入口(比如,链入口60a)所确定的处于高频请求状态的大量票据业务所构成的票据业务流。
应当理解,可选地,本申请实施例所涉及的第一链入口(比如,链入口60a)还存储有从目标主链同步来的链访问量阈值(这里的链访问量阈值用于表征该第一链入口处的访问流量,应当理解,这里的链访问量阈值包含但不限于最大并发请求访问量)。应当理解,该链入口60a所获取到的第一交易上链请求的最大并发请求访问量,具体是由目标网络600b中的管理共识节点上所运行的上述内部管理合约所确定的。应当理解,在本申请实施例中,该目标共识节点(例如,图6所示的共识节点62a)上所运行的内部管理合约可以用于对三链体系下的各链入口处所获取到的最大并发请求访问量进行管理。应当理解,通过控制各链入口处的并发访问流量(即前述最大并发请求访问量),可以有效地确保在该第一网络600a中的第一业务流的稳定执行,进而可以确保第一共识节点有足够的存储资源来存储由大量业务数据所构成的业务数据流。
其中,为便于理解,本申请实施例可以将该用户63a(即第一业务对象)的签名信息统称为上述对象签名信息,且该对象签名信息是该用户63a(即第一业务对象)通过自己的私钥信息(即第一业务对象的第一私钥信息)对前述交易数据进行签名后所得到的。这样,当图6所示的链入口60a获取到该第一交易上链请求时,可以统计得到该第一交易上链请求所对应的请求累积量(即上述递增处理后的请求访问量),进而可以在该第一交易上链请求所对应的请求累积量未达到链访问量阈值(例如,上述最大并发请求访问量)时,初步完成对该用户63b的接入权限验证(也称之为访问权限验证),此时,该第一共识节点可以进一步从该第一交易上链请求中获取到该业务对象的对象签名信息,进而可以从链入口60a中存储的授权对象的注册数据信息中快速获取到授权对象的公钥证书(例如,上述授权对象A的公钥证书A1、授权对象B的公钥证书B1、…、授权对象N的公钥证书N1),以通过这些获取到的公钥证书对该用户63b进行身份验证。应当理解,本申请实施例可以在该第一交易上链请求所对应的请求累积量达到链访问量阈值(例如,上述最大并发请求访问量)时,直接拒绝该用户63b发送的第一交易上链请求,并生成用于提示该用户63b进行接入等待的通知消息。
应当理解,这里的每个授权对象的公钥证书中均包含有对应授权对象的公钥信息。这样,该第一共识节点就可以进一步在这些授权对象的公钥证书中查找是否存在该用户63b的公钥证书。1)如果存在,则可以将该用户63b的公钥证书作为查找到的该第一业务对象的第一公钥证书,进而可以将该第一公钥证书中所记录的该用户63b的公钥信息作为第一公钥信息,以通过该第一公钥证书以及第一公钥信息对前述对象签名信息进行签名验证,从而可以得到业务对象的签名验证结果。2)如果不存在,即该第一共识节点并未在这些授权对象的公钥证书中查找是否存在该用户63b的公钥证书时,则确认该用户63b(即业务对象)为非法业务对象,进而可以拒绝该作为非法业务对象的用户63b所发送的第一交易上链请求。
其中,应当理解,本申请实施例还可以进一步结合链入口60a处所存储的公钥证书的证书数据信息(例如,证书的版本信息、证书的哈希值以及与该证书的哈希值相关联的根证书哈希值等)来对上述对象签名信息进行签名验证,以确保用于进行签名验证的公钥证书(即前述第一公钥证书)中的公钥信息(即前述第一公钥信息)的可靠性。
具体的,第一共识节点可以将第一公钥证书的证书数据信息作为待处理证书信息,且可以调用第一跨链读取合约中的证书数据读取方法,从目标主链上读取业务对象的公钥证书;进一步的,该第一共识节点可以将读取到的业务对象的公钥证书中的证书数据信息作为目标证书信息,进而可以在待处理证书信息与目标证书信息保持一致时,基于第一公钥信息对对象签名信息进行签名验证,并将签名验证成功时的验证结果作为业务对象的签名验证结果。
可选地,可以理解的是,在待处理证书信息与目标证书信息未保持一致时,则需要用从目标主链上所读取到的该用户63b的公钥证书对前述第一公钥证书进行更新处理,进而可以通过更新处理后的第一公钥证书中的公钥信息对对象签名信息进行签名验证,以确保该用户63b所请求第一业务能够在该第一网络中的顺利执行。
其中,应当理解,本申请实施例所涉及的授权对象的公钥证书是由目标网络中的目标共识节点调用目标主链中的对象身份管理合约(即上述图2所对应实施例中的对象身份管理合约),对请求注册相应交易业务(例如,前述第一业务)的业务对象所提交的对象数据信息(比如,这里的对象数据信息可以具体包含上述用户63b的基础用户数据信息、上述用户63b需要执行的交易业务、以及该交易业务的业务类型等)进行身份注册后所得到的;应当理解,在目标共识节点成功为该请求注册相应交易业务(例如,前述第一业务)的业务对象配置相应业务所对应的公钥证书的情况下,可以将该请求注册相应交易业务(例如,前述第一业务)的业务对象作为授权对象,并可以将为该授权对象所配置的公钥证书写入目标主链(例如,图6所示的目标主链61e),以便于后续该业务对象在请求在第一网络中执行该第一业务时,该第一共识节点可以进一步用跨链读取到的该目标主链上的公钥证书,对链入口(即前述第一链入口)处的该业务对象的公钥证书进行证书更新处理。由此可见,本申请实施例可以基于前述跨链读取时间戳,按需更新从目标主链上所同步来的授权对象的注册数据信息。
此外,应当理解,目标共识节点在将为该授权对象(例如,图6所示的用户63b)所配置的公钥证书写入目标主链(例如,图6所示的目标主链61e)之后,还可以将为该授权对象(例如,图6所示的用户63b)所同步配置的私钥信息(即上述第一私钥信息)返回给该用户63b,以使该用户63b在作为上述业务对象时,可以通过该第一私钥信息对自己所提交的交易数据进行签名,以得到上述对象签名信息。由此可见,这里的业务对象的第一私钥信息是业务对象(例如,图6所示的用户63b)通过目标主链中的对象身份管理合约进行身份注册后得到的。基于此,这里的对象签名信息是由与该业务对象(例如,图6所示的用户63b)相关联的第一业务节点通过业务对象(例如,图6所示的用户63b)的第一私钥信息,对前述交易数据进行签名后所得到的。
如图6所示,该第一共识节点可以通过从链入口60a处获取到的授权对象的注册数据信息对该用户63b进行身份验证,进而可以在身份验证成功时,确定该用户63b为授权对象,以允许该用户63b作为接入者接入该第一网络600a。应当理解,此时,第一共识节点可以在该第一网络中,对前述交易数据进行交易组装,以得到与该业务对象相关联的第一业务,并可以将该第一业务作为一笔新的交易在该第一网络中进行交易广播,以在该第一网络中对这笔新的交易进行交易验重,进而可以在交易验重成功(即确定该第一网络中不存与该笔新的交易相同的第一业务)的情况下,将这笔新的交易添加至前述实时第一业务流所对应的交易池,进而可以基于交易池中的这些实时第一业务流中的第一业务,调用图6所示的第一跨链读取合约,跨链读取目标主链62e上与这些第一业务相关联的第一业务处理权限验证信息,进而可以基于跨链读取到的第一业务处理权限判断用户63b(第一业务对象)是否具备处理第一业务的业务处理权限。
其中,可以理解的是,对于用户63b所发起的第一交易上链请求而言,链入口60a处所存储的从目标主链上同步来的授权对象的注册数据信息,可以不同于链入口60a处所存储的从目标主链上所同步来的针对上述清分交易请求所获取到的该授权对象的授权访问数据信息。
其中,应当理解,第一共识节点(共识节点61d)在基于业务权限验证信息确定第一业务对象具备处理第一业务的业务处理权限时,可以将第一业务写入第一主链上的第一业务合约,进而可以调用该第一业务合约中的第一业务执行方法执行第一业务,以得到第一业务对应的第一业务执行结果(例如,在第一业务为电子票据开具业务,第一业务合约为上述电子票据开具合约时,这里的第一业务执行结果可以包含执行电子票据开具业务所得到的电子票据)。应当理解,本申请实施例可以将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据(比如,这里的第一业务数据可以为上述图5所对应实施例中与上述企业A相关联的电子票据P1);进一步的,第一共识节点(共识节点61d)可以在将第一业务数据封装为上述第一待上链交易时,将用户终端63a的节点标识(即上述目标节点标识)写入该第一待上链交易,进而可以将写入目标节点标识的第一待上链交易作为上述第一上链交易,以便于后续该第一共识节点可以将包含第一上链交易的第一目标区块(例如,上述图5所对应实施例中的区块3)写入第一主链。
步骤S104,将第一业务数据、第一账本数据和第一合约数据作为清分交易请求对应的第一清分响应信息,将第一清分响应信息返回给具备第一类型清分权限的第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。
具体的,可以理解的是,在第一业务数据为电子票据时,该第一共识节点可以将与上述电子票据(例如,上述图5所对应实施例中的电子票据P1)相关联的第一账本数据(例如,从账本数据库所查找到的上述区块3的区块头、电子票据P1的票据内容、与该电子票据P1在同一区块中的其他上链交易相关联的状态根、默克尔树根)、和与该电子票据相关联的第一合约数据(例如,从合约数据库中所查找到的执行上述电子票据开具业务所调用的电子票据开具合约的合约名称、合约方法和合约地址等)作为第一清分响应信息,以返回给上述第一类型清分权限的第一类型清分节点(例如,部署在上述业务网络A21中的业务节点110n),以使该第一类型清分节点(例如,部署在上述业务网络A21中的业务节点110n)可以基于前述第一清分响应信息恢复第一账本数据对应的子账本,这里的子账本具体可以参见在上述图5所对应实施例中在与企业A对应的业务清分节点A’中所构建的与区块3的区块头相关联的子账本。
本申请实施例提供了一种全新的节点身份权限验证机制,该节点身份权限验证机制旨在强调可以在多区块链的网络架构中,为与不同链相关联的业务网络中的业务节点配置不同的节点身份,即在本申请实施例中,当与不同链相关联的业务网络中的业务节点需要进行数据清分时,可以将这些来源于不同业务网络中的业务节点统称为业务清分节点,进而可以为这些被作为业务清分节点的业务节点预先配置相应的节点身份。比如,在与第一主链相关联的业务网络为第一业务网络的情况下,可以将该来源于第一业务网络的业务节点被用作业务清分节点时,将该业务清分节点的节点身份预先配置为第一类型清分节点。此外,本申请实施例通过写入在第一主链上的第一权限合约中的目标节点标识,可以智能识别发送第一交易清分请求的业务清分节点的节点身份,进而可以通过智能识别到的节点身份(即前述第一类型清分节点),快速确定出该第一类型清分节点的节点权限,进而可以从第一主链上获取到与该第一类型清分节点的节点权限相符的业务数据作为第一业务数据,这样,可以从根据上解决该第一主链上的其他业务数据被该第一类型清分节点获取的现象,进而可以根据明确的身份权限机制,提升数据清分时的数据安全性。此外,还可以理解的是,由于该第一主链上的第一业务数据仅对该第一类型清分节点所对应的业务对象可见,那么,对于其他节点身份的业务清分节点而言,自然也就难以直接从该第一主链上获取到该第一业务数据,即本申请实施例还可以从根源上确保该第一主链上的链上数据的隐私性和安全隔离性。
进一步的,请参见图7,图7是本申请实施例提供的一种基于多区块链的数据处理方法的示意图,如图7所示,方法可以由上述第一网络中的第一共识节点执行,比如,该第一共识节点可以为上述图1所示的共识网络A22中任意一个共识节点。方法具体可以包括以下步骤S201-步骤S208。
步骤S201,在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;
其中,业务对象包含与第一业务网络相关联的第一业务对象;第一业务网络为与第一网络相关联的业务网络;
步骤S202,基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;
步骤S203,在身份权限验证结果指示业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,且从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据;
其中,第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限;
步骤S204,将第一业务数据、第一账本数据和第一合约数据作为清分交易请求对应的第一清分响应信息,将第一清分响应信息返回给具备第一类型清分权限的第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。
其中,可以理解的是,步骤S201-步骤S204的具体实现方式,可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
可选地,第一共识节点在执行完上述步骤S202之后,还可以根据识别到的该业务清分节点的节点身份,进一步执行下述步骤S205-步骤S206;
其中,多区块链包含独立于第一主链的第二主链,第二主链的链入口为第二链入口;第二主链对应的第二网络为独立于第一网络的共识网络;与第二网络相关联的业务网络为第二业务网络;业务对象包含第二业务对象;
步骤S205,在身份权限验证结果指示业务清分节点为第二业务对象对应的第二类型清分节点,且第二类型清分节点的节点权限为第二类型清分权限时,调用与第一权限合约相关联的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第一核心数据;
其中,可以理解的是,第二类型清分节点为第二业务网络中的业务节点;第一核心数据为第一业务数据中对第二类型清分节点所对应的第二业务对象可见的部分数据;第二类型清分权限用于表征来源于第二业务网络的第二类型清分节点具备从第一主链同步到第一业务数据中的局部数据的权限,以及第二类型清分节点具备从第二主链同步到不同于第一业务数据的第二业务数据的权限;
步骤S206,将第一业务数据的第一核心数据作为清分交易请求对应的第二清分响应信息,将第二清分响应信息返回给具备第二类型清分权限的第二类型清分节点。
可以理解的是,本申请实施例所涉及的第二类型清分节点在基于第二清分响应信息生成与第二业务相关联的第二交易上链请求时,可以通过第二链入口将第二交易上链请求发送给第二主链所对应的第二网络中的第二共识节点;第二网络为独立于第一网络的共识网络;第二共识节点在基于第二交易上链请求确定第二业务对象具备处理第二业务的业务处理权限时,调用第二主链上的第二业务合约执行第二业务,以将执行第二业务所得到的第二业务执行结果作为第二业务数据。
为便于理解,进一步的,请参见图8,图8是本申请实施例提供的一种基于多区块链的区块链系统的数据交互示意图。如图8所示的第一业务网络为与第一主链具有关联关系的业务网络。如图8所示的业务节点81a、业务节点82a可以通过图8所示的第一链入口与第一主链进行上述数据上链交互和上述数据清分交互。
如图8所示,目标主链所对应的链入口为目标链入口,管理部门(例如,上述税务管理部门)可以通过该目标链入口在目标主链上通过全局管理信息合约实现对该区块链系统中的各个区块链的全局配置信息进行全局配置。其中,管理部门通过全局管理信息合约对各个区块链的全局配置信息进行全局配置的具体过程,可以参见上述图2所对应实施例中对管理链上部署的全局管理信息合约的描述,这里将不再继续进行赘述。同理,管理部门通过第一全量节点从该目标主链上同步到所有账本数据(即全量账本数据)的具体过程,可以参见上述图2所对应实施例对管理链全量节点的描述,这里将不再继续进行赘述。
当业务节点81a、业务节点82a通过图8所示的第一链入口与第一主链进行数据清分交互时,该第一链入口可以接收到来自于第一业务网络中的业务节点81a发起的清分交易请求,也可以接收来自于该第一业务网络中的业务节点82a发起的另一清分交易请求。可以理解的是,在上述区块链电子票据业务平台下,部署在第一业务网络中的业务节点可以为SPV(Simplified Payment Verification,简单支付验证)节点。比如,这里的业务节点81a可以为地方税局所对应的SPV节点(即地方税局SPV1)、业务节点82a可以为另一地方税局所对应的SPV节点(即地方税局SPV2)。
其中,可以理解的是,部署在第一业务网络中的业务节点(即SPV节点)所对应的第一业务对象可以为部署在外部的税务机构,如地方税局,海关,大型企业(例如,一些独立企业)等。此类SPV节点在通过图8所示的第一链入口接入第一主链所在的第一网络时,需要通过该第一链入口对这些SPV节点进行初步的访问鉴权,进而可以在接入第一网络时,由第一共识节点调用第一主链上的第一权限合约(例如,上述图2所对应实施例中部署在票据链上的电子票据节点权限合约,即电子发票SPV权限合约)对这些已通过目标主链进行身份注册的SPV节点进行身份权限验证(即进行身份验证和权限验证)。
其中,通过第一链入口对这些SPV节点进行初步的访问鉴权的具体过程可以参见上述图3所对应实施例中对访问鉴权的具体过程的描述,这里将不再继续进行赘述。
可选地,本申请实施例所涉及的第一业务对象(例如,地方税局,独立企业等)还可以在第一主链上已部署有第一权限合约的情况下,直接通过与地方税局,独立企业等相关联的业务清分节点访问该第一权限合约,以通过该第一权限合约进行节点身份和节点权限的注册,进而可以在注册成功后,允许与地方税局,独立企业等相关联的业务清分节点可以进一步访问该第一主链上的第一权限清分合约(比如,部署在上述票据链上的电子发票权限清分合约),从而可以在该第一主链上获取自己有权限读取的电子票据、以及与读取的电子票据的相关账本数据。
其中,可以理解的是,通过调用第一权限清分合约(比如,部署在上述票据链上的电子发票权限清分合约),可以获得该电子票据所在第一目标区块的区块头,交易明细内容(即该电子票据的票据内容),状态根(即第一目标区块中除该电子票据之外的其他电子票据所关联的状态根),默克尔验证路径等账本数据(即上述第一账本数据),此外,通过调用第一权限清分合约(比如,部署在上述票据链上的电子发票权限清分合约)还可以获取与产生该电子票据所调用的第一业务合约的合约数据(即上述第一合约数据)。
这样,与地方税局,独立企业等相关联的业务清分节点(例如,图8的业务节点81a和业务节点82a)可以在获取到第一主链上的第一共识节点返回的清分响应消息(即前述第一清分响应消息)时,在业务节点81a和业务节点82a的本地进行子账本恢复。
可以理解的是,本申请实施例所涉及的业务节点81a和业务节点82a均可以在本地完成对自身可见电子票据的查验,且业务节点81a和业务节点82a均可以通过图8所示的第一链入口与第一主链(例如,票据链)进行开票等上链操作。其中,需要注意的是,部署在第一业务网络中的业务节点81a和业务节点82a需要透过相应合约所提供的接口(例如,第一主链上的第一权限清分合约所提供的数据清分接口)获取到部分账本数据(即前述第一账本数据),且部署在第一业务网络中的业务节点81a和业务节点82a并不具备直接访问第一主链的原始账本数据的权限。由此可见,对于部署在第一业务网络中的上述地方发票SPV节点可供地方税局,税务参与机构,企业等使用,这样,地方税局,税务参与机构,企业可以使用该部署在第一业务网络中的上述地方发票SPV节点确保公开网络参与方可以同步到自己有权限可见的子账本。
如图8所示的数据中心可以为上述电子票据数据中心,与第一主链的账本接口相关联的全量SPV节点(即图8所示的第二全量节点)可以部署在税务管理部门内部或相关发票审计,监管部门,进而可以从第一主链上全量同步该第一主链的所有账本数据,即全量SPV节点(即图8所示的第二全量节点)可以直接通过第一主链(例如,上述票据链)的账本接口进行数据同步,而不需要和该第一主链上的合约进行交互。本申请实施例所涉及的全量SPV节点(即图8所示的第二全量节点)主要给发票类管理、监管部门使用,可以和前述票据链进行交互,即第二全量节点对第一主链具有完全透明的数据访问权限。
可选地,在第一网络对应的账本接口为第一账本接口时,第一共识节点可以通过第一账本接口获取业务同步对象通过业务同步节点(即图8所示的第二全量节点)发送的区块同步请求,进而可以从区块同步请求中获取由业务同步对象所提交的第一区块高度;这里的第一区块高度为业务同步节点本地所存储的本地区块链中的第一区块的区块高度;第一区块为本地区块链上具有最大区块高度的区块;进一步的,第一共识节点可以将第一主链上具有最大区块高度的区块作为第二区块,且将第二区块的区块高度作为第二区块高度;进一步的,第一共识节点可以在第二区块高度高于第一区块高度时,从第一主链上获取从第一区块高度至第二区块高度之间的区块作为待同步区块;进一步的,第一共识节点可以基于待同步区块确定用于发送给业务同步节点的全量账本数据和全量账本数据对应的全量合约数据;进一步的,第一共识节点可以在将待同步区块返回给业务同步节点时,将全量账本数据和全量合约数据返回给业务同步节点,以使业务同步节点将待同步区块添加至本地区块链时,在本地同步构建全量账本数据对应的本地全量账本数据和全量合约数据对应的本地全量合约数据。
如图8所示,第二业务网络中的业务节点83a也可以通过第一链入口接入第一网络,进而可以在通过该第一链入口对来源于第二业务网络的SPV节点进行初步的访问鉴权,进而可以在访问鉴权成功时接入第一网络,并由第一共识节点调用第一主链上的第一权限合约(例如,上述图2所对应实施例中部署在票据链上的电子票据节点权限合约,即电子发票SPV权限合约)对来源于第二业务网络的SPV节点进行身份权限验证(即进行上述身份验证和权限验证)。
其中,通过第一链入口对来源于第二业务网络的SPV节点进行初步的访问鉴权的具体过程,可以参见上述图3所对应实施例中对访问鉴权的具体过程的描述,这里将不再继续进行赘述。应当理解,第一共识节点可以通过第一主链上的第一权限合约确定来源于第二业务网络的SPV节点为上述第二类型清分节点,且该第二类型清分节点的节点权限为上述第二类型清分权限,此时,第一共识节点可以进一步调用与第一主链上的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第一核心数据,进而可以通过图8所示的部署在第二主链上的第一应用合约的数据清分接口将该第一核心数据返回给第二类型清分节点,即此时,部署在第二业务网络中业务节点83a可以从第一主链上获取到对业务节点83a所对应的第二业务对象可见的电子票据中的核心数据(即前述第一核心数据,这里的第一核心数据可以为电子票据中的开票企业的名称)。
这样,部署在第二业务网络中的业务节点83a在获取到电子票据中的核心数据(即前述第一核心数据,这里的第一核心数据可以为电子票据中的开票企业的名称)时,可以基于获取到的电子票据中的核心数据向图8所示的第二主链提交第二交易上链请求,以便于第二主链上的第二共识节点在通过第二链入口获取到第二交易上链请求之后,可以调用第二主链上的第二权限合约来确定发起该第二交易上链请求的第二业务对象的业务处理权限,进而可以在确定第二业务对象具备处理第二业务的业务处理权限时,将第二业务写入第二主链上的第一应用合约;第二共识节点可以进一步调用第一应用合约中的第一业务执行方法执行第二业务,得到第二业务对应的第二业务执行结果,将第二业务执行结果作为与第二类型清分节点相关联的第二业务数据;第二共识节点可以进一步基于第二业务数据和业务节点83a的节点标识,生成第二待上链交易对应的第二上链交易,进而可以将包含第二上链交易的第二目标区块写入第二主链。应当理解,部署在第二业务网络中的业务节点83a从第二主链上清分到与自己相关联的第二业务数据、第二业务数据对应的第二账本数据和第二账本数据所对应的第二合约数据的具体过程,可以一并参见上述第一业务网络中的业务节点从第一主链上清分到与自己相关联的第一业务数据、第一业务数据对应的第一账本数据和第一账本数据所对应的第一合约数据的具体过程的描述,这里将不再继续进行赘述。其中,可以理解的是,第二共识节点在第二主链上执行的第二业务可以包含各种与第一业务相关联的衍生业务,故而可以针对不同衍生业务在该第二主链上部署相应的应用合约,这些应用合约可以通过统一的数据清分接口,以供第二权限清分合约访问到特定衍生业务对应的应用合约,以将从该第二主链上所清分到的第二业务数据、第二账本数据和第二合约数据返回给第二业务网络中的业务节点。
其中,可以理解的是,如上述图8所示,本申请实施例所涉及的多区块链包含独立于第一主链的目标主链、第二主链、以及目标子链。其中,目标主链对应的目标网络为独立于第一网络的共识网络,且第二主链对应的第二网络为独立于第一网络的共识网络;目标子链所对应的目标子网络是由目标网络中的目标共识节点基于业务对象中的第三业务对象所请求的第三业务所创建得到的;目标子网络中的共识节点包含从第一网络中所选取的共识节点和从第二网络中所选取的共识节点;与目标子网络相关联的业务网络为第三业务网络;可选地,第一共识节点还可以在执行完上述步骤S202之后,根据识别到的该业务清分节点的节点身份,进一步执行下述步骤S207-步骤S208。
步骤S207,在身份权限验证结果指示业务清分节点为第三业务对象对应的第三类型清分节点,且第三类型清分节点的节点权限为第二类型清分权限时,调用与第一权限合约相关联的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第二核心数据;
其中,第二类型清分节点为第三业务网络中的业务节点;第二核心数据为第一业务数据中对第三类型清分节点所对应的第三业务对象可见的部分数据;第二类型清分权限用于表征来源于第三业务网络的第三类型清分节点具备从第一主链同步到第一业务数据中的局部数据的权限,以及第二类型清分节点具备从目标子链同步到不同于第一业务数据的第三业务数据的权限;
步骤S208,将第一业务数据的第二核心数据作为清分交易请求对应的第三清分响应信息,将第三清分响应信息返回给具备第二类型清分权限的第三类型清分节点。
如上述图8所示,第三业务网络中的业务节点84a也可以通过第一链入口接入第一网络,进而可以在通过该第一链入口对来源于第三业务网络的SPV节点进行初步的访问鉴权,进而可以在访问鉴权成功时接入第一网络,并由第一共识节点调用第一主链上的第一权限合约(例如,上述图2所对应实施例中部署在票据链上的电子票据节点权限合约,即电子发票SPV权限合约)对来源于第三业务网络的SPV节点进行身份权限验证(即进行上述身份验证和权限验证)。
其中,通过第一链入口对来源于第三业务网络的SPV节点进行初步的访问鉴权的具体过程,可以参见上述图3所对应实施例中对访问鉴权的具体过程的描述,这里将不再继续进行赘述。应当理解,第一共识节点可以通过第一主链上的第一权限合约确定源于第三业务网络的SPV节点为上述第三类型清分节点,且该第三类型清分节点的节点权限为上述第二类型清分权限,此时,第一共识节点可以进一步调用与第一主链上的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第二核心数据,进而可以通过图8所示的部署在目标子链上的第二应用合约的数据清分接口将该第二核心数据返回给第三类型清分节点,即此时,部署在第三业务网络中业务节点84a可以从第一主链上获取到对业务节点84a所对应的第三业务对象可见的电子票据中的核心数据(即前述第二核心数据,这里的第一核心数据可以为电子票据中的企业A的开票额度,以便于后续可以通过统计到的该企业A的开票额度对该企业A进行风控管理)。
这样,部署在第三业务网络中的业务节点84a在获取到电子票据中的核心数据(即前述第二核心数据,这里的第一核心数据可以为电子票据中的企业A的开票额度)时,可以基于获取到的电子票据中的核心数据向图8所示的目标子链提交第三交易上链请求(比如,这里的第三交易上链请求具体可以用于指示该目标子链上的子共识节点对该企业A的开票额度进行累计,进而可以基于累计到的该企业A的开票额度,对该企业A进行风控管理),以便于目标子链上的目标子共识节点在通过第二链入口获取到第三交易上链请求之后,可以调用目标子链上的第三权限合约来确定发起该第三交易上链请求的第三业务对象的业务处理权限,进而可以在确定第三业务对象具备处理第三业务的业务处理权限时,将第三业务写入目标子链上的第二应用合约;目标子共识节点可以进一步调用第二应用合约中的第一业务执行方法执行第三业务,得到第三业务对应的第三业务执行结果,将第三业务执行结果作为与第三类型清分节点相关联的第三业务数据;目标子共识节点可以进一步基于第三业务数据和业务节点84a的节点标识,生成第三待上链交易对应的第三上链交易,将包含第三上链交易的第三目标区块写入目标子链。应当理解,部署在第三业务网络中的业务节点84a从目标子链上清分到与自己相关联的第三业务数据、第三业务数据对应的第三账本数据和第三账本数据所对应的第三合约数据的具体过程,可以一并参见上述第一业务网络中的业务节点从第一主链上清分到与自己相关联的第一业务数据、第一业务数据对应的第一账本数据和第一账本数据所对应的第一合约数据的具体过程的描述,这里将不再继续进行赘述。
其中,可以理解的是,本申请实施例所涉及的第三类型清分节点在基于第三清分响应信息生成与第三业务相关联的第三交易上链请求时,可以将第三交易上链请求发送给目标子网络中与第一共识节点具有关联关系的子共识节点;这样,与第一共识节点具有关联关系的子共识节点在基于第三交易上链请求确定第三业务对象具备处理第三业务的业务处理权限时,可以调用目标子链上的第三业务合约执行第三业务,以将执行第三业务所得到的第三业务执行结果作为第三业务数据。
可以理解的是,在第二业务网络中的业务节点和第三业务网络中的业务节点为上述跨链类型的业务清分节点时,均可以从第一主链上同步到对自己可见的第一业务数据中的核心数据(例如,上述电子票据中的核心数据),以利用从第一主链上同步到的第一业务数据中的核心数据(例如,上述电子票据中的核心数据),在对应区块链上开展与第一业务相关联的其他业务。此外,在第二业务网络中的业务节点和第三业务网络中的业务节点为上述非跨链类型的业务清分节点时,还可以从对应区块链上同步到对自己可见的业务数据、账本数据和合约数据。由此可见,本申请实施例可以根据业务网络中的业务节点自身所具备的节点身份的不同,灵活从对应区块链上清分到与自己节点身份和节点权限相符的数据。可以理解的是,本申请实施例通过设置不同类型的业务节点,且这些业务节点可以根据自身节点身份的不同,选择性地在节点本地恢复得到相应的子账本,这样,公开网络参与方在直接与对应类型的业务节点进行数据交互时,可以从根源上提升获取相应数据的效率。
本申请实施例通过写入在第一主链上的第一权限合约中的目标节点标识,可以智能识别发送第一交易清分请求的业务清分节点的节点身份,进而可以通过智能识别到的节点身份(即前述第一类型清分节点、前述第二类型清分节点、前述第三类型清分节点),快速确定出对应节点身份的节点权限,进而可以从第一主链上获取到与相应业务清分节点的节点权限相符的业务数据。比如,对于第一类型清分节点而言,可以从第一主链上获取到上述第一业务数据、第一账本数据和第一合约数据、但是,对于第二类型清分节点和第三类型清分节点而言,则为确保链上数据的安全性,仅需要来源于第二业务网络的业务节点和来源于第三业务网络的业务节点可以从该第一主链上清分到与自己相关第一业务数据中的核心数据。即本申请实施例可以根据明确的身份权限机制,提升数据清分时的数据安全性。此外,还可以理解的是,由于该第一主链上的第一业务数据仅对该第一类型清分节点所对应的业务对象可见,那么,对于其他节点身份的业务清分节点而言,自然也就难以直接从该第一主链上获取到该第一业务数据,即本申请实施例还可以从根源上确保该第一主链上的链上数据的隐私性和安全隔离性。
进一步的,请参见图9,图9是本申请实施例提供的一种基于多区块链的数据处理方法的时序图,如图9所示,方法可以由上述第一网络中的第一共识节点和业务网络中的业务清分节点共同交互执行,比如,该第一共识节点可以为上述图1所示的共识网络A22中任意一个共识节点,业务清分节点可以为上述图1的业务网络A21中的任意一个业务节点。该方法具体可以包括以下步骤S301-步骤S307。
步骤S301,业务清分节点获取业务对象基于第一清分交易构建的清分交易请求;业务对象包含第一业务对象;
步骤S302,业务清分节点将清分交易请求发送给第一网络中的第一共识节点;
步骤S303,第一共识节点在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;业务对象包含与第一业务网络相关联的第一业务对象;第一业务网络为与第一网络相关联的业务网络;
步骤S304,第一共识节点基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;
步骤S305,第一共识节点在身份权限验证结果指示业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,且从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据;
其中,第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限;
步骤S306,第一共识节点将第一业务数据、第一账本数据和第一合约数据作为清分交易请求对应的第一清分响应信息,将第一清分响应信息返回给具备第一类型清分权限的第一类型清分节。
步骤S307,业务清分节点在接收到第一共识节点返回的第一清分响应信息时,基于第一清分响应信息中的第一业务数据、第一账本数据和第一合约数据恢复第一账本数据对应的子账本。
本申请实施例通过写入在第一主链上的第一权限合约中的目标节点标识,可以智能识别发送第一交易清分请求的业务清分节点的节点身份,进而可以通过智能识别到的节点身份(即前述第一类型清分节点、前述第二类型清分节点、前述第三类型清分节点),快速确定出对应节点身份的节点权限,进而可以从第一主链上获取到与相应业务清分节点的节点权限相符的业务数据。比如,对于第一类型清分节点而言,可以从第一主链上获取到上述第一业务数据、第一账本数据和第一合约数据、但是,对于第二类型清分节点和第三类型清分节点而言,则为确保链上数据的安全性,仅需要来源于第二业务网络的业务节点和来源于第三业务网络的业务节点可以从该第一主链上清分到与自己相关第一业务数据中的核心数据。即本申请实施例可以根据明确的身份权限机制,提升数据清分时的数据安全性。此外,还可以理解的是,由于该第一主链上的第一业务数据仅对该第一类型清分节点所对应的业务对象可见,那么,对于其他节点身份的业务清分节点而言,自然也就难以直接从该第一主链上获取到该第一业务数据,即本申请实施例还可以从根源上确保该第一主链上的链上数据的隐私性和安全隔离性。
进一步的,请参见图10,图10是本申请提供的一种基于多区块链的数据处理装置的结构示意图。如图10所示,基于多区块链的数据处理装置1可应用于第一共识节点中,该第一共识节点可以为第一网络(例如,上述共识网络A22)中任意一个区块链节点,例如,该第一共识节点可以为上述图1所对应实施例中的共识节点11c。应当理解,该基于多区块链的数据处理装置1可以是运行于区块链节点(比如,前述共识节点11c)中的一个计算机程序(包括程序代码),例如该基于多区块链的数据处理装置1可以为一个应用软件;可以理解的是,该基于多区块链的数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,基于多区块链的数据处理装置1可以包括:清分请求获取模块11、身份权限验证模块12、第一清分调用模块13和第一清分响应返回模块14;
清分请求获取模块11,用于在获取到业务对象通过业务清分节点提交的清分交易请求时,将清分交易请求中所携带的业务清分节点的节点标识作为目标节点标识;业务对象包含与第一业务网络相关联的第一业务对象;第一业务网络为与第一网络相关联的业务网络;
身份权限验证模块12,用于基于目标节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;
第一清分调用模块13,在身份权限验证结果指示业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,调用与第一权限合约相关联的第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一业务数据和第一业务数据对应的第一账本数据,且从第一主链对应的合约数据库中获取第一账本数据对应的第一合约数据;第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到对第一业务对象可见的第一业务数据的权限;
第一清分响应返回模块14,用于将第一业务数据、第一账本数据和第一合约数据作为清分交易请求对应的第一清分响应信息,将第一清分响应信息返回给具备第一类型清分权限的第一类型清分节点,以使第一类型清分节点基于第一清分响应信息恢复第一账本数据对应的子账本。
其中,清分请求获取模块11、身份权限验证模块12、第一清分调用模块13和第一清分响应返回模块14的具体实现方式,可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
可选地,其中,多区块链包含独立于第一主链的目标主链;第一网络对应的链入口为第一链入口;第一链入口存储有第一主链对应的链访问量阈值以及第一共识节点从目标主链上所同步来的允许访问第一主链的授权对象的授权访问数据信息;授权访问数据信息是由与目标主链相关联的目标共识节点基于授权对象所提交的对象数据信息所生成的;链访问量阈值用于表征通过第一链入口所获取到的最大并发请求访问量;
装置1还包括:访问量确定模块15、请求数据获取模块16、访问鉴权模块17、清分请求确定模块18;
访问量确定模块15,用于在通过第一链入口获取到业务对象通过业务清分节点提交的数据清分交易请求时,基于数据清分交易请求对第一链入口处的请求访问量进行递增处理,得到递增处理后的请求访问量;
请求数据获取模块16,用于在递增处理后的请求访问量未达到链访问量阈值时,从数据清分交易请求中获取与业务对象相关联的访问请求数据信息;
访问鉴权模块17,用于基于授权访问数据信息对提交访问请求数据信息的业务对象进行访问鉴权,得到业务对象的访问鉴权结果;
清分请求确定模块18,用于在访问鉴权结果指示访问请求数据信息与授权访问数据信息中的访问注册数据信息保持一致时,将业务对象确定为授权对象,且将由业务对象所提交的数据请求交易请求作为清分交易请求。
其中,访问量确定模块15、请求数据获取模块16、访问鉴权模块17、清分请求确定模块18的具体实现方式,可以参见上述图3所对应实施例中对确定清分交易请求的具体过程的描述,这里将不再继续进行赘述。
其中,第一链入口处所存储的授权访问数据信息中携带业务对象的公钥信息;数据清分交易请求中携带业务对象的对象签名信息;对象签名信息为业务清分节点基于业务对象的私钥信息对业务对象所请求的第一清分交易进行签名处理后所得到的;业务对象的私钥信息和业务对象的公钥信息互为秘钥对,且业务对象的私钥信息和业务对象的公钥信息均为目标共识节点基于业务对象所提交的对象数据信息所配置的;
请求数据获取模块16包括:签名信息获取单元和签名验签成功单元;
签名信息获取单元,用于从数据清分交易请求中获取对象签名信息,基于第一链入口处所存储的业务对象的公钥信息对对象签名信息进行签名验签,得到签名验签结果;
签名验签成功单元,用于在签名验证结果指示验签成功时,获取数据清分交易请求中所携带的所第一清分交易,将第一清分交易对应的访问数据信息作为与业务对象相关联的访问请求数据信息。
其中,签名信息获取单元和签名验签成功单元的具体实现方式,可以参见上述图3所对应实施例中对签名验签的具体过程的描述,这里将不再继续进行赘述。
可选地,其中,请求数据获取模块16还包括:签名验签失败单元;
签名验签失败单元,用于在签名验证结果指示验签失败时,将业务对象确定为非法对象,且拒绝由非法对象发送的数据清分交易请求。
其中,签名验签失败单元的具体实现方式,可以参见上述图3所对应实施例中对签名验签的具体过程的描述,这里将不再继续进行赘述。
其中,身份权限验证模块12包括:节点标识写入单元、身份验证单元、权限验证单元和验证结果确定单元;
节点标识写入单元,用于将目标节点标识写入第一主链上的第一权限合约;
身份验证单元,用于调用第一权限合约中的第一身份验证方法对具备目标节点标识的业务清分节点进行身份验证,得到身份验证结果;
权限验证单元,用于在身份验证结果指示业务清分节点的节点身份为第一身份类型时,将第一身份类型对应的业务清分节点作为第一类型清分节点,且调用第一权限合约中的第一权限验证方法,对具备目标节点标识的业务清分节点进行权限验证,得到权限验证结果;
验证结果确定单元,用于在权限验证结果指示业务清分节点的节点权限为第一类型清分权限时,将具备第一类型清分权限的第一类型清分节点作为业务清分节点对应的身份权限验证结果。
其中,节点标识写入单元、身份验证单元、权限验证单元和验证结果确定单元的具体实现方式,可以参见上述图3所对应实施例中对验证节点身份和节点权限的具体过程的描述,这里将不再继续进行赘述。
其中,第一业务数据所在的区块为第一主链上的第一目标区块;第一业务数据所在的第一上链交易中包含第一类型清分节点的节点标识;第一类型清分节点的节点标识为目标节点标识;目标节点标识用于表征第一主链上的第一目标区块中的第一上链交易对第一类型清分节点所对应的第一业务对象可见;
第一清分调用模块13包括:清分合约访问单元、第一账本数据获取单元和第一合约数据获取单元;
清分合约访问单元,用于调用与第一权限合约中的数据清分方法,访问第一权限清分合约,将目标节点标识写入第一权限清分合约,调用第一权限清分合约从第一主链上获取与第一类型清分节点相关联的第一目标区块,从第一目标区块中获取对第一类型清分节点可见的第一上链交易,从第一上链交易中获取目标节点标识对应的第一业务数据;
第一账本数据获取单元,用于从第一主链对应的账本数据库中获取与第一业务数据相关联的账本数据作为第一账本数据;
第一合约数据获取单元,用于从第一主链对应的合约数据库中获取与第一业务数据相关联的合约数据作为第一账本数据对应的第一合约数据。
其中,清分合约访问单元、第一账本数据获取单元和第一合约数据获取单元的具体实现方式,可以参见上述图3所对应实施例中对获取第一账本数据和第一合约数据的具体过程的描述,这里将不再继续进行赘述。
可选地,其中,第一网络对应的链入口为第一链入口,多区块链包含独立于第一主链的目标主链;
装置1还包括:上链请求获取模块19、跨链读取模块20、第一业务写入模块21、第一业务执行模块22和第一交易上链模块23;
上链请求获取模19,用于通过第一链入口获取第一业务对象通过第一类型清分节点发送的第一交易上链请求,从第一交易上链请求中获取第一业务对象所请求的第一业务,以及第一业务对应的第一待上链交易;
跨链读取模块20,用于将第一待上链交易写入第一权限合约,调用第一权限合约中的第二权限验证方法,访问第一主链上的第一跨链读取合约,通过第一跨链读取合约从目标主链上跨链读取与第一业务相关联的业务处理权限验证信息;
第一业务写入模块21,用于在基于业务处理权限验证信息确定业务对象具备处理第一业务的业务处理权限时,将第一业务写入第一主链上的第一业务合约;
第一业务执行模块22,用于调用第一业务合约中的第一业务执行方法执行第一业务,得到第一业务对应的第一业务执行结果,将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据;
第一交易上链模块23,用于基于第一业务数据和目标节点标识,生成第一待上链交易对应的第一上链交易,将包含第一上链交易的第一目标区块写入第一主链。
其中,上链请求获取模块19、跨链读取模块20、第一业务写入模块21、第一业务执行模块22和第一交易上链模块23的具体实现方式,可以参见上述图3所对应实施例中对将第一目标区块写入第一主链的具体过程的描述,这里将不再继续进行赘述。
其中,第一业务包含电子票据开具业务,第一业务合约包含电子票据开具合约;
第一业务执行模块22,包括:开票合约访问单元和第一业务数据确定单元;
开票合约访问单元,用于调用第一业务合约中的子合约访问方法,访问电子票据开具合约,通过电子票据开具合约中的第一业务执行方法执行第一业务中的电子票据开具业务,得到为业务对象开具的目标电子票据;目标电子票据为第一业务对应的第一业务执行结果;
第一业务数据确定单元,用于将第一业务执行结果作为与第一类型清分节点相关联的第一业务数据。
其中,开票合约访问单元和第一业务数据确定单元的具体实现方式,可以参见上述图3所对应实施例中对目标电子票据的描述,这里将不再继续进行赘述。
其中,第一目标区块中包含除第一上链交易之外的第二上链交易;第二上链交易为第一目标区块中对第一类型清分节点所对应的第一业务对象不可见的交易;
第一交易上链模块23,还用于在将第一目标区块写入第一主链时,将第一目标区块的区块头、位于第一上链交易中的第一业务数据的数据内容、与第二上链交易相关联的关联状态根以及用于辅助验证第一业务数据的默克尔验证路径,作为第一目标区块对应的第一账本数据,且将第一账本数据添加至第一主链对应的账本数据库;
第一交易上链模块23,还用于将执行第一业务所调用的第一业务合约的合约名称、合约方法以及合约地址作为第一账本数据对应的第一合约数据,将第一合约数据添加至第一主链对应的合约数据库。
其中,第一账本数据获取单元,具体用于从第一主链对应的账本数据库中,查找第一目标区块的区块头、位于第一上链交易中的第一业务数据的数据内容、与第二上链交易相关联的关联状态根以及用于辅助验证第一业务数据的默克尔验证路径;
第一账本数据获取单元,还具体用于将查找到的第一目标区块的区块头、第一业务数据的数据内容、与关联状态根以及默克尔验证路径作为从第一主链对应的账本数据库中所获取到的与第一业务数据相关联的账本数据;
第一账本数据获取单元,还具体用于将与第一业务数据相关联的账本数据作为第一账本数据。
其中,第一合约数据获取单元,具体用于在第一主链对应的合约数据库中,查找执行第一业务所调用的第一业务合约的合约名称、合约方法以及合约地址;
第一合约数据获取单元,还具体用于将查找到的第一业务合约的合约名称、第一业务合约的合约方法以及第一业务合约的合约地址作为从第一主链对应的合约数据库中所获取到的与第一业务数据相关联的合约数据;
第一合约数据获取单元,还具体用于将与第一业务数据相关联的合约数据作为第一账本数据对应的第一合约数据。
可选地,其中,多区块链包含独立于第一主链的第二主链,第二主链的链入口为第二主链入口;第二主链对应的第二网络为独立于第一网络的共识网络;与第二网络相关联的业务网络为第二业务网络;业务对象包含第二业务对象;
装置1还包括:第二清分调用模块24和第二清分响应返回模块25;
第二清分调用模块24,用于在身份权限验证结果指示业务清分节点为第二业务对象对应的第二类型清分节点,且第二类型清分节点的节点权限为第二类型清分权限时,调用与第一权限合约相关联的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第一核心数据;第二类型清分节点为第二业务网络中的业务节点;第一核心数据为第一业务数据中对第二类型清分节点所对应的第二业务对象可见的部分数据;第二类型清分权限用于表征来源于第二业务网络的第二类型清分节点具备从第一主链同步到第一业务数据中的局部数据的权限,以及第二类型清分节点具备从第二主链同步到不同于第一业务数据的第二业务数据的权限;
第二清分响应返回模块25,用于将第一业务数据的第一核心数据作为清分交易请求对应的第二清分响应信息,将第二清分响应信息返回给具备第二类型清分权限的第二类型清分节点,以使第二类型清分节点在基于第二清分响应信息生成与第二业务相关联的第二交易上链请求时,通过第二主链入口将第二交易上链请求发送给第二主链所对应的第二网络中的第二共识节点;第二网络为独立于第一网络的共识网络;第二共识节点在基于第二交易上链请求确定第二业务对象具备处理第二业务的业务处理权限时,调用第二主链上的第二业务合约执行第二业务,以将执行第二业务所得到的第二业务执行结果作为第二业务数据。
其中,第二清分调用模块24和第二清分响应返回模块25的具体实现方式,可以参见上述图3和图7所对应实施例中对第二类型清分节点的描述,这里将不再继续进行赘述。
可选地,其中,多区块链包含独立于第一主链的目标主链、第二主链、以及目标子链;目标主链对应的目标网络为独立于第一网络的共识网络,且第二主链对应的第二网络为独立于第一网络的共识网络;目标子链所对应的目标子网络是由目标网络中的目标共识节点基于业务对象中的第三业务对象所请求的第三业务所创建得到的;目标子网络中的共识节点包含从第一网络中所选取的共识节点和从第二网络中所选取的共识节点;与目标子网络相关联的业务网络为第三业务网络;
装置1还包括:第三清分调用模块26和第三清分响应返回模块27;
第三清分调用模块26,用于在身份权限验证结果指示业务清分节点为第三业务对象对应的第三类型清分节点,且第三类型清分节点的节点权限为第二类型清分权限时,调用与第一权限合约相关联的第一权限清分合约,从第一主链上获取与第二类型清分节点相关联的第一业务数据的第二核心数据;第二类型清分节点为第三业务网络中的业务节点;第二核心数据为第一业务数据中对第三类型清分节点所对应的第三业务对象可见的部分数据;第二类型清分权限用于表征来源于第三业务网络的第三类型清分节点具备从第一主链同步到第一业务数据中的局部数据的权限,以及第二类型清分节点具备从目标子链同步到不同于第一业务数据的第三业务数据的权限;
第三清分响应返回模块27,用于将第一业务数据的第二核心数据作为清分交易请求对应的第三清分响应信息,将第三清分响应信息返回给具备第二类型清分权限的第三类型清分节点,以使第三类型清分节点在基于第三清分响应信息生成与第三业务相关联的第三交易上链请求时,将第三交易上链请求发送给目标子网络中与第一共识节点具有关联关系的子共识节点;子共识节点在基于第三交易上链请求确定第三业务对象具备处理第三业务的业务处理权限时,调用目标子链上的第三业务合约执行第三业务,以将执行第三业务所得到的第三业务执行结果作为第三业务数据。
其中,第三清分调用模块26和第三清分响应返回模块27的具体实现方式,可以参见上述图3和图7所对应实施例中对第三类型清分节点的描述,这里将不再继续进行赘述。
可选地,其中,第一网络对应的账本接口为第一账本接口;
装置1还包括:同步请求接收模块28、区块高度确定模块29、待同步区块确定模块30、全量数据确定模块31和全量数据返回模块32;
同步请求接收模块28,用于通过第一账本接口获取业务同步对象通过业务同步节点发送的区块同步请求,从区块同步请求中获取由业务同步对象所提交的第一区块高度;第一区块高度为业务同步节点本地所存储的本地区块链中的第一区块的区块高度;第一区块为本地区块链上具有最大区块高度的区块;
区块高度确定模块29,用于将第一主链上具有最大区块高度的区块作为第二区块,且将第二区块的区块高度作为第二区块高度;
待同步区块确定模块30,用于在第二区块高度高于第一区块高度时,从第一主链上获取从第一区块高度至第二区块高度之间的区块作为待同步区块;
全量数据确定模块31,用于基于待同步区块确定用于发送给业务同步节点的全量账本数据和全量账本数据对应的全量合约数据;
全量数据返回模块32,用于在将待同步区块返回给业务同步节点时,将全量账本数据和全量合约数据返回给业务同步节点,以使业务同步节点将待同步区块添加至本地区块链时,在本地同步构建全量账本数据对应的本地全量账本数据和全量合约数据对应的本地全量合约数据。
其中,同步请求接收模块28、区块高度确定模块29、待同步区块确定模块30、全量数据确定模块31和全量数据返回模块32的具体实现方式,可以参见上述图7所对应实施例中对第一账本接口的描述,这里将不再继续进行赘述。此外,应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
进一步的,请参见图11,图11是本申请提供的一种基于多区块链的数据处理装置的结构示意图。如图11所示,基于多区块链的数据处理装置2可应用在业务网络中的业务清分节点上;业务网络包含与第一网络相关联的第一业务网络,该业务清分节点可以为第一业务网络(例如,上述业务网络A21)中任意一个区块链节点,例如,该业务清分节点可以为上述图1所对应实施例中的业务节点110c。应当理解,该基于多区块链的数据处理装置2可以是运行于区块链节点(比如,前述业务节点110c)中的一个计算机程序(包括程序代码),例如该基于多区块链的数据处理装置2可以为一个应用软件;可以理解的是,该基于多区块链的数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,基于多区块链的数据处理装置2可以包括:清分请求构建模块100,清分请求发送模块200和清分响应接收模块300;
清分请求构建模块100,用于获取业务对象基于第一清分交易构建的清分交易请求;业务对象包含第一业务对象;
清分请求发送模块200,用于将清分交易请求发送给第一网络中的第一共识节点,以使第一共识节点基于清分交易请求中所携带的业务清分节点的节点标识和第一主链上的第一权限合约,对业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;身份权限验证结果用于在第一共识节点确定业务清分节点为第一业务对象对应的第一类型清分节点,且第一类型清分节点的节点权限为第一类型清分权限时,生成第一清分响应信息;第一类型清分节点为第一业务网络中的业务节点;第一类型清分权限用于表征来源于第一业务网络中的第一类型清分节点具备从第一主链同步到第一清分交易所指示的第一业务数据的权限;第一清分响应信息包含第一业务数据、第一业务数据对应的第一账本数据和第一账本数据对应的第一合约数据;第一业务数据为第一共识节点调用与第一权限合约相关联的第一权限清分合约从第一主链上所获取到的与第一类型清分节点相关联的业务数据;第一账本数据对应的第一合约数据为第一共识节点调用第一权限清分合约从第一主链对应的合约数据库中所获取到的合约数据;
清分响应接收模块300,用于接收第一共识节点返回的第一清分响应信息,基于第一清分响应信息中的第一业务数据、第一账本数据和第一合约数据恢复第一账本数据对应的子账本。
其中,清分请求构建模块100,清分请求发送模块200和清分响应接收模块300的具体实现方式,可以参见上述图3、图7以及图9所实施例中业务清分节点的描述,这里将不再继续进行赘述。另外,对采用相同方法所得到的有益效果描述,也不再进行赘述。
进一步地,请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,该计算机设备1000可以为用户终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为服务器为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能。在图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行上述图3、图7、或者图9所对应实施例中对多区块链数据方法的描述,还可以执行前文图10或者图11所对应实施例中对基于多区块链的数据处理装置(即上述基于多区块链的数据处理装置1或者基于多区块链的数据处理装置2)的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于多区块链的数据处理装置1或者基于多区块链的数据处理装置2所执行的计算机程序,且计算机程序包括计算机指令,当处理器执行计算机指令时,能够执行前文图3、图7、或者图9所对应实施例中对基于多区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3、图7或者图9所对应实施例中对基于多区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图13,图13是本申请实施例提供的一种基于多区块链的数据处理系统的示意图。该基于多区块链的数据处理系统4可以包含共识节点4a、业务节点4b;其中,共识节点4a可以为上述图3所对应实施例所描述的处于第一网络中的第一共识节点,该第一共识节点可以为上述图1所示的共识网络A22中的任意一个区块链节点,这里将不再继续进行赘述。其中,业务节点4b可以为上述图3所对应实施例所描述的处于第一业务网络中的业务节点,该业务节点可以为上述图1所示的业务网络A21中的任意一个区块链节点,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
1.一种基于多区块链的数据处理方法,其特征在于,所述多区块链包含第一主链,所述第一主链对应的共识网络为第一网络;所述方法由所述第一网络中的第一共识节点执行,所述方法包括:
在获取到业务对象通过业务清分节点提交的清分交易请求时,将所述清分交易请求中所携带的所述业务清分节点的节点标识作为目标节点标识;所述业务对象包含与第一业务网络相关联的第一业务对象;所述第一业务网络为与所述第一网络相关联的业务网络;
基于所述目标节点标识和所述第一主链上的第一权限合约,对所述业务清分节点的身份权限进行验证,得到所述业务清分节点对应的身份权限验证结果;
在所述身份权限验证结果指示所述业务清分节点为所述第一业务对象对应的第一类型清分节点,且所述第一类型清分节点的节点权限为第一类型清分权限时,调用与所述第一权限合约相关联的第一权限清分合约从所述第一主链上获取与所述第一类型清分节点相关联的第一业务数据和所述第一业务数据对应的第一账本数据,且从所述第一主链对应的合约数据库中获取所述第一账本数据对应的第一合约数据;所述第一类型清分节点为所述第一业务网络中的业务节点;所述第一类型清分权限用于表征来源于所述第一业务网络中的所述第一类型清分节点具备从所述第一主链同步到对所述第一业务对象可见的所述第一业务数据的权限;
将所述第一业务数据、所述第一账本数据和所述第一合约数据作为所述清分交易请求对应的第一清分响应信息,将所述第一清分响应信息返回给具备所述第一类型清分权限的所述第一类型清分节点,以使所述第一类型清分节点基于所述第一清分响应信息恢复所述第一账本数据对应的子账本。
2.根据权利要求1所述的方法,其特征在于,所述多区块链包含独立于所述第一主链的目标主链;所述第一网络对应的链入口为第一链入口;所述第一链入口存储有所述第一主链对应的链访问量阈值以及所述第一共识节点从所述目标主链上所同步来的允许访问所述第一主链的授权对象的授权访问数据信息;所述授权访问数据信息是由与所述目标主链相关联的目标共识节点基于所述授权对象所提交的对象数据信息所生成的;所述链访问量阈值用于表征通过所述第一链入口所获取到的最大并发请求访问量;
所述方法还包括:
在通过所述第一链入口获取到业务对象通过业务清分节点提交的数据清分交易请求时,基于所述数据清分交易请求对所述第一链入口处的请求访问量进行递增处理,得到递增处理后的请求访问量;
在所述递增处理后的请求访问量未达到所述链访问量阈值时,从所述数据清分交易请求中获取与所述业务对象相关联的访问请求数据信息;
基于所述授权访问数据信息对提交所述访问请求数据信息的所述业务对象进行访问鉴权,得到所述业务对象的访问鉴权结果;
在所述访问鉴权结果指示所述访问请求数据信息与所述授权访问数据信息中的访问注册数据信息保持一致时,将所述业务对象确定为所述授权对象,且将由所述业务对象所提交的所述数据请求交易请求作为所述清分交易请求。
3.根据权利要求2所述的方法,其特征在于,所述第一链入口处所存储的所述授权访问数据信息中携带所述业务对象的公钥信息;所述数据清分交易请求中携带所述业务对象的对象签名信息;所述对象签名信息为所述业务清分节点基于所述业务对象的私钥信息对所述业务对象所请求的第一清分交易进行签名处理后所得到的;所述业务对象的私钥信息和所述业务对象的公钥信息互为秘钥对,且所述业务对象的私钥信息和所述业务对象的公钥信息均为所述目标共识节点基于所述业务对象所提交的对象数据信息所配置的;
所述从所述数据清分交易请求中获取与所述业务对象相关联的访问请求数据信息,包括:
从所述数据清分交易请求中获取所述对象签名信息,基于所述第一链入口处所存储的所述业务对象的公钥信息对所述对象签名信息进行签名验签,得到签名验签结果;
在所述签名验证结果指示验签成功时,获取所述数据清分交易请求中所携带的所第一清分交易,将所述第一清分交易对应的访问数据信息作为与所述业务对象相关联的访问请求数据信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述签名验证结果指示验签失败时,将所述业务对象确定为非法对象,且拒绝由所述非法对象发送的所述数据清分交易请求。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标节点标识和所述第一主链上的第一权限合约,对所述业务清分节点的身份权限进行验证,所述业务清分节点对应的身份权限验证结果,包括:
将所述目标节点标识写入所述第一主链上的第一权限合约;
调用所述第一权限合约中的第一身份验证方法对具备所述目标节点标识的所述业务清分节点进行身份验证,得到身份验证结果;
在所述身份验证结果指示所述业务清分节点的节点身份为第一身份类型时,将所述第一身份类型对应的所述业务清分节点作为所述第一类型清分节点,且调用所述第一权限合约中的第一权限验证方法,对具备所述目标节点标识的所述业务清分节点进行权限验证,得到权限验证结果;
在所述权限验证结果指示所述业务清分节点的节点权限为所述第一类型清分权限时,将具备所述第一类型清分权限的所述第一类型清分节点作为所述业务清分节点对应的身份权限验证结果。
6.根据权利要求1所述的方法,其特征在于,所述第一业务数据所在的区块为所述第一主链上的第一目标区块;所述第一业务数据所在的第一上链交易中包含所述第一类型清分节点的节点标识;所述第一类型清分节点的节点标识为所述目标节点标识;所述目标节点标识用于表征所述第一主链上的所述第一目标区块中的所述第一上链交易对所述第一类型清分节点所对应的所述第一业务对象可见;
所述调用与所述第一权限合约相关联的第一权限清分合约从所述第一主链上获取与所述第一类型清分节点相关联的第一业务数据和所述第一业务数据对应的第一账本数据,且从所述第一主链对应的合约数据库中获取所述第一账本数据对应的第一合约数据,包括:
调用与所述第一权限合约中的数据清分方法,访问所述第一权限清分合约,将所述目标节点标识写入所述第一权限清分合约,调用所述第一权限清分合约从所述第一主链上获取与所述第一类型清分节点相关联的所述第一目标区块,从所述第一目标区块中获取对所述第一类型清分节点可见的所述第一上链交易,从所述第一上链交易中获取所述目标节点标识对应的所述第一业务数据;
从所述第一主链对应的账本数据库中获取与所述第一业务数据相关联的账本数据作为所述第一账本数据;
从所述第一主链对应的合约数据库中获取与所述第一业务数据相关联的合约数据作为所述第一账本数据对应的所述第一合约数据。
7.根据权利要求6所述的方法,其特征在于,所述第一网络对应的链入口为第一链入口,所述多区块链包含独立于所述第一主链的目标主链;
所述方法还包括:
通过所述第一链入口获取所述第一业务对象通过所述第一类型清分节点发送的第一交易上链请求,从所述第一交易上链请求中获取所述第一业务对象所请求的第一业务,以及所述第一业务对应的第一待上链交易;
将所述第一待上链交易写入所述第一权限合约,调用所述第一权限合约中的第二权限验证方法,访问所述第一主链上的第一跨链读取合约,通过所述第一跨链读取合约从所述目标主链上跨链读取与所述第一业务相关联的业务处理权限验证信息;
在基于所述业务处理权限验证信息确定所述业务对象具备处理所述第一业务的业务处理权限时,将所述第一业务写入所述第一主链上的第一业务合约;
调用所述第一业务合约中的第一业务执行方法执行所述第一业务,得到所述第一业务对应的第一业务执行结果,将所述第一业务执行结果作为与所述第一类型清分节点相关联的所述第一业务数据;
基于所述第一业务数据和所述目标节点标识,生成所述第一待上链交易对应的所述第一上链交易,将包含所述第一上链交易的所述第一目标区块写入所述第一主链。
8.根据权利要求7所述的方法,其特征在于,所述第一业务包含电子票据开具业务,所述第一业务合约包含电子票据开具合约;
所述调用所述第一业务合约中的第一业务执行方法执行所述第一业务,得到所述第一业务对应的第一业务执行结果,将所述第一业务执行结果作为与所述第一类型清分节点相关联的所述第一业务数据,包括:
调用所述第一业务合约中的子合约访问方法,访问所述电子票据开具合约,通过所述电子票据开具合约中的第一业务执行方法执行所述第一业务中的所述电子票据开具业务,得到为所述业务对象开具的目标电子票据;所述目标电子票据为所述第一业务对应的第一业务执行结果;
将所述第一业务执行结果作为与所述第一类型清分节点相关联的所述第一业务数据。
9.根据权利要求7所述的方法,其特征在于,所述第一目标区块中包含除所述第一上链交易之外的第二上链交易;所述第二上链交易为所述第一目标区块中对所述第一类型清分节点所对应的所述第一业务对象不可见的交易;所述方法还包括:
在将所述第一目标区块写入所述第一主链时,将所述第一目标区块的区块头、位于所述第一上链交易中的所述第一业务数据的数据内容、与所述第二上链交易相关联的关联状态根以及用于辅助验证所述第一业务数据的默克尔验证路径,作为所述第一目标区块对应的所述第一账本数据,且将所述第一账本数据添加至所述第一主链对应的账本数据库;
将执行所述第一业务所调用的所述第一业务合约的合约名称、合约方法以及合约地址作为所述第一账本数据对应的所述第一合约数据,将所述第一合约数据添加至所述第一主链对应的合约数据库。
10.根据权利要求9所述的方法,其特征在于,所述从所述第一主链对应的账本数据库中获取与所述第一业务数据相关联的账本数据作为所述第一账本数据,包括:
从所述第一主链对应的账本数据库中,查找所述第一目标区块的区块头、位于所述第一上链交易中的所述第一业务数据的数据内容、与所述第二上链交易相关联的关联状态根以及用于辅助验证所述第一业务数据的默克尔验证路径;
将查找到的所述第一目标区块的区块头、所述第一业务数据的数据内容、所述与所述关联状态根以及所述默克尔验证路径作为从所述第一主链对应的账本数据库中所获取到的与所述第一业务数据相关联的账本数据;
将与所述第一业务数据相关联的账本数据作为所述第一账本数据。
11.根据权利要求9所述的方法,其特征在于,所述从所述第一主链对应的合约数据库中获取与所述第一业务数据相关联的合约数据作为所述第一账本数据对应的所述第一合约数据,包括:
在所述第一主链对应的合约数据库中,查找执行所述第一业务所调用的所述第一业务合约的合约名称、合约方法以及合约地址;
将查找到的所述第一业务合约的合约名称、所述第一业务合约的合约方法以及所述第一业务合约的合约地址作为从所述第一主链对应的合约数据库中所获取到的与所述第一业务数据相关联的合约数据;
将与所述第一业务数据相关联的合约数据作为所述第一账本数据对应的所述第一合约数据。
12.根据权利要求1所述的方法,其特征在于,所述多区块链包含独立于所述第一主链的第二主链,所述第二主链的链入口为第二主链入口;所述第二主链对应的第二网络为独立于所述第一网络的共识网络;与所述第二网络相关联的业务网络为第二业务网络;所述业务对象包含第二业务对象;所述方法还包括:
在所述身份权限验证结果指示所述业务清分节点为所述第二业务对象对应的第二类型清分节点,且所述第二类型清分节点的节点权限为第二类型清分权限时,调用与所述第一权限合约相关联的第一权限清分合约,从所述第一主链上获取与所述第二类型清分节点相关联的所述第一业务数据的第一核心数据;所述第二类型清分节点为所述第二业务网络中的业务节点;所述第一核心数据为所述第一业务数据中对所述第二类型清分节点所对应的所述第二业务对象可见的部分数据;所述第二类型清分权限用于表征来源于所述第二业务网络的所述第二类型清分节点具备从所述第一主链同步到所述第一业务数据中的局部数据的权限,以及所述第二类型清分节点具备从所述第二主链同步到不同于所述第一业务数据的第二业务数据的权限;
将所述第一业务数据的第一核心数据作为所述清分交易请求对应的第二清分响应信息,将所述第二清分响应信息返回给具备所述第二类型清分权限的所述第二类型清分节点,以使所述第二类型清分节点在基于所述第二清分响应信息生成与第二业务相关联的第二交易上链请求时,通过所述第二主链入口将所述第二交易上链请求发送给所述第二主链所对应的第二网络中的第二共识节点;所述第二网络为独立于所述第一网络的共识网络;所述第二共识节点在基于所述第二交易上链请求确定所述第二业务对象具备处理所述第二业务的业务处理权限时,调用所述第二主链上的第二业务合约执行所述第二业务,以将执行所述第二业务所得到的第二业务执行结果作为所述第二业务数据。
13.根据权利要求1所述的方法,其特征在于,所述多区块链包含独立于所述第一主链的目标主链、第二主链、以及目标子链;所述目标主链对应的目标网络为独立于所述第一网络的共识网络,且所述第二主链对应的第二网络为独立于所述第一网络的共识网络;所述目标子链所对应的目标子网络是由所述目标网络中的目标共识节点基于所述业务对象中的第三业务对象所请求的第三业务所创建得到的;所述目标子网络中的共识节点包含从所述第一网络中所选取的共识节点和从所述第二网络中所选取的共识节点;与所述目标子网络相关联的业务网络为第三业务网络;所述方法还包括:
在所述身份权限验证结果指示所述业务清分节点为所述第三业务对象对应的第三类型清分节点,且所述第三类型清分节点的节点权限为第二类型清分权限时,调用与所述第一权限合约相关联的第一权限清分合约,从所述第一主链上获取与所述第二类型清分节点相关联的所述第一业务数据的第二核心数据;所述第二类型清分节点为所述第三业务网络中的业务节点;所述第二核心数据为所述第一业务数据中对所述第三类型清分节点所对应的所述第三业务对象可见的部分数据;所述第二类型清分权限用于表征来源于所述第三业务网络的所述第三类型清分节点具备从所述第一主链同步到所述第一业务数据中的局部数据的权限,以及所述第二类型清分节点具备从所述目标子链同步到不同于所述第一业务数据的第三业务数据的权限;
将所述第一业务数据的第二核心数据作为所述清分交易请求对应的第三清分响应信息,将所述第三清分响应信息返回给具备所述第二类型清分权限的所述第三类型清分节点,以使所述第三类型清分节点在基于所述第三清分响应信息生成与所述第三业务相关联的第三交易上链请求时,将所述第三交易上链请求发送给所述目标子网络中与所述第一共识节点具有关联关系的子共识节点;所述子共识节点在基于所述第三交易上链请求确定所述第三业务对象具备处理所述第三业务的业务处理权限时,调用所述目标子链上的第三业务合约执行所述第三业务,以将执行所述第三业务所得到的第三业务执行结果作为所述第三业务数据。
14.根据权利要求1所述的方法,其特征在于,所述第一网络对应的账本接口为第一账本接口;所述方法还包括:
通过所述第一账本接口获取业务同步对象通过业务同步节点发送的区块同步请求,从所述区块同步请求中获取由所述业务同步对象所提交的第一区块高度;所述第一区块高度为所述业务同步节点本地所存储的本地区块链中的第一区块的区块高度;所述第一区块为所述本地区块链上具有最大区块高度的区块;
将所述第一主链上具有最大区块高度的区块作为第二区块,且将所述第二区块的区块高度作为第二区块高度;
在所述第二区块高度高于所述第一区块高度时,从所述第一主链上获取从所述第一区块高度至所述第二区块高度之间的区块作为待同步区块;
基于所述待同步区块确定用于发送给所述业务同步节点的全量账本数据和所述全量账本数据对应的全量合约数据;
在将所述待同步区块返回给所述业务同步节点时,将所述全量账本数据和所述全量合约数据返回给所述业务同步节点,以使所述业务同步节点将所述待同步区块添加至所述本地区块链时,在本地同步构建所述全量账本数据对应的本地全量账本数据和所述全量合约数据对应的本地全量合约数据。
15.一种基于多区块链的数据处理方法,其特征在于,所述多区块链包含第一主链,所述第一主链对应的共识网络为第一网络;所述方法由业务网络中的业务清分节点执行;所述业务网络包含与所述第一网络相关联的第一业务网络;所述方法包括:
获取业务对象基于第一清分交易构建的清分交易请求;所述业务对象包含第一业务对象;
将所述清分交易请求发送给所述第一网络中的第一共识节点,以使第一共识节点基于所述清分交易请求中所携带的所述业务清分节点的节点标识和所述第一主链上的第一权限合约,对所述业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;所述身份权限验证结果用于在所述第一共识节点确定所述业务清分节点为所述第一业务对象对应的第一类型清分节点,且所述第一类型清分节点的节点权限为第一类型清分权限时,生成第一清分响应信息;所述第一类型清分节点为所述第一业务网络中的业务节点;所述第一类型清分权限用于表征来源于所述第一业务网络中的所述第一类型清分节点具备从所述第一主链同步到所述第一清分交易所指示的第一业务数据的权限;所述第一清分响应信息包含所述第一业务数据、所述第一业务数据对应的第一账本数据和所述第一账本数据对应的第一合约数据;所述第一业务数据为所述第一共识节点调用与所述第一权限合约相关联的第一权限清分合约从所述第一主链上所获取到的与所述第一类型清分节点相关联的业务数据;所述第一账本数据对应的第一合约数据为所述第一共识节点调用所述第一权限清分合约从所述第一主链对应的合约数据库中所获取到的合约数据;
接收所述第一共识节点返回的所述第一清分响应信息,基于所述第一清分响应信息中的所述第一业务数据、所述第一账本数据和所述第一合约数据恢复所述第一账本数据对应的子账本。
16.一种基于多区块链的数据处理装置,其特征在于,所述多区块链包含第一主链,所述第一主链对应的共识网络为第一网络;所述装置运行在所述第一网络的第一共识节点上,所述装置包括:
清分请求获取模块,用于在获取到业务对象通过业务清分节点提交的清分交易请求时,将所述清分交易请求中所携带的所述业务清分节点的节点标识作为目标节点标识;所述业务对象包含与第一业务网络相关联的第一业务对象;所述第一业务网络为与所述第一网络相关联的业务网络;
身份权限验证模块,用于基于所述目标节点标识和所述第一主链上的第一权限合约,对所述业务清分节点的身份权限进行验证,得到所述业务清分节点对应的身份权限验证结果;
第一清分调用模块,用于在所述身份权限验证结果指示所述业务清分节点为所述第一业务对象对应的第一类型清分节点,且所述第一类型清分节点的节点权限为第一类型清分权限时,调用与所述第一权限合约相关联的第一权限清分合约从所述第一主链上获取与所述第一类型清分节点相关联的第一业务数据和所述第一业务数据对应的第一账本数据,且从所述第一主链对应的合约数据库中获取所述第一账本数据对应的第一合约数据;所述第一类型清分节点为所述第一业务网络中的业务节点;所述第一类型清分权限用于表征来源于所述第一业务网络中的所述第一类型清分节点具备从所述第一主链同步到对所述第一业务对象可见的所述第一业务数据的权限;
第一清分响应返回模块,用于将所述第一业务数据、所述第一账本数据和所述第一合约数据作为所述清分交易请求对应的第一清分响应信息,将所述第一清分响应信息返回给具备所述第一类型清分权限的所述第一类型清分节点,以使所述第一类型清分节点基于所述第一清分响应信息恢复所述第一账本数据对应的子账本。
17.一种基于多区块链的数据处理装置,其特征在于,所述多区块链包含第一主链,所述第一主链对应的共识网络为第一网络;所述装置运行在业务网络中的业务清分节点上;所述业务网络包含与所述第一网络相关联的第一业务网络;所述装置包括:
清分请求构建模块,用于获取业务对象基于第一清分交易构建的清分交易请求;所述业务对象包含第一业务对象;
清分请求发送模块,用于将所述清分交易请求发送给所述第一网络中的第一共识节点,以使第一共识节点基于所述清分交易请求中所携带的所述业务清分节点的节点标识和所述第一主链上的第一权限合约,对所述业务清分节点的身份权限进行验证,得到业务清分节点对应的身份权限验证结果;所述身份权限验证结果用于在所述第一共识节点确定所述业务清分节点为所述第一业务对象对应的第一类型清分节点,且所述第一类型清分节点的节点权限为第一类型清分权限时,生成第一清分响应信息;所述第一类型清分节点为所述第一业务网络中的业务节点;所述第一类型清分权限用于表征来源于所述第一业务网络中的所述第一类型清分节点具备从所述第一主链同步到所述第一清分交易所指示的第一业务数据的权限;所述第一清分响应信息包含所述第一业务数据、所述第一业务数据对应的第一账本数据和所述第一账本数据对应的第一合约数据;所述第一业务数据为所述第一共识节点调用与所述第一权限合约相关联的第一权限清分合约从所述第一主链上所获取到的与所述第一类型清分节点相关联的业务数据;所述第一账本数据对应的第一合约数据为所述第一共识节点调用所述第一权限清分合约从所述第一主链对应的合约数据库中所获取到的合约数据;
清分响应接收模块,用于接收所述第一共识节点返回的所述第一清分响应信息,基于所述第一清分响应信息中的所述第一业务数据、所述第一账本数据和所述第一合约数据恢复所述第一账本数据对应的子账本。
18.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-15任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-15任一项所述的方法。
20.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-15任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211362635.7A CN118036021A (zh) | 2022-11-02 | 2022-11-02 | 基于多区块链的数据处理方法、装置、设备以及介质 |
PCT/CN2023/121990 WO2024093593A1 (zh) | 2022-11-02 | 2023-09-27 | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211362635.7A CN118036021A (zh) | 2022-11-02 | 2022-11-02 | 基于多区块链的数据处理方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118036021A true CN118036021A (zh) | 2024-05-14 |
Family
ID=90929665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211362635.7A Pending CN118036021A (zh) | 2022-11-02 | 2022-11-02 | 基于多区块链的数据处理方法、装置、设备以及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118036021A (zh) |
WO (1) | WO2024093593A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118656838A (zh) * | 2024-08-19 | 2024-09-17 | 贵州财经大学 | 分布式体系的数字业务系统管理方法、平台、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460590B (zh) * | 2018-12-07 | 2022-07-19 | 深圳市智税链科技有限公司 | 区块链系统的数据管理方法、装置、介质及电子设备 |
US20220272085A1 (en) * | 2021-02-24 | 2022-08-25 | International Business Machines Corporation | Blockchain network identity management using ssi |
CN113765675B (zh) * | 2021-06-21 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备以及介质 |
CN113256297B (zh) * | 2021-07-02 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN113421097B (zh) * | 2021-08-23 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN115065542A (zh) * | 2022-06-23 | 2022-09-16 | 中国工商银行股份有限公司 | 权限验证方法、装置、处理器及电子设备 |
-
2022
- 2022-11-02 CN CN202211362635.7A patent/CN118036021A/zh active Pending
-
2023
- 2023-09-27 WO PCT/CN2023/121990 patent/WO2024093593A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024093593A1 (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190354518A1 (en) | Chain mesh network for decentralized transaction systems | |
CN112685505B (zh) | 一种交易数据处理方法、装置、计算机设备及存储介质 | |
CN111598566A (zh) | 基于混合跨链的网络支付系统 | |
EP4318362A1 (en) | Blockchain-based data processing method, apparatus and device, and storage medium | |
CN113256297B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN113518005B (zh) | 一种区块共识方法、装置、设备及存储介质 | |
KR102139551B1 (ko) | 유언장을 관리하는 서버 및 방법 | |
CN111340628A (zh) | 基于区块链的资产信息管理方法和装置 | |
CN113765675B (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
WO2024082818A1 (zh) | 基于多区块链的跨链处理方法、装置、设备、系统及介质 | |
WO2024093593A1 (zh) | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
Zhu et al. | A study on the challenges and solutions of blockchain interoperability | |
US20240137208A1 (en) | Asset transferring method and apparatus based on multiple blockchains, device, medium, and product | |
CN117951217A (zh) | 基于多区块链的跨链配置方法、装置、设备、系统及介质 | |
CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
CN118368341A (zh) | 一种基于分层链网络的数据处理方法、装置、设备及介质 | |
CN113643032B (zh) | 一种基于区块链的信息处理方法、装置及数据管理系统 | |
CN116708463B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
WO2024078109A1 (zh) | 多区块链数据处理方法、装置、设备、系统以及介质 | |
WO2024099023A1 (zh) | 多区块链数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
US20240129143A1 (en) | Dividing data storage and service operations among plural blockchains | |
CN113836566B (zh) | 基于区块链系统的模型处理方法及装置、设备、介质 | |
CN117909406A (zh) | 基于分层区块链的数据处理方法、装置以及可读存储介质 | |
CN117992534A (zh) | 基于多区块链的数据跨链方法、相关设备、介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |