CN110597826A - 一种基于区块链网络的数据隔离方法及装置 - Google Patents
一种基于区块链网络的数据隔离方法及装置 Download PDFInfo
- Publication number
- CN110597826A CN110597826A CN201910906469.4A CN201910906469A CN110597826A CN 110597826 A CN110597826 A CN 110597826A CN 201910906469 A CN201910906469 A CN 201910906469A CN 110597826 A CN110597826 A CN 110597826A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- target
- block
- type
- 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
- 238000002955 isolation Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 160
- 238000007726 management method Methods 0.000 claims description 85
- 238000013507 mapping Methods 0.000 claims description 55
- 238000004519 manufacturing process Methods 0.000 claims description 28
- 238000012550 audit Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013475 authorization Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链网络的数据隔离方法及装置,该方法包括:管理节点获取目标数据提交节点发送的查询请求;查询请求是目标数据提交节点根据目标区块头所生成的;目标区块头为目标数据提交节点从所属的业务子链中获取的;目标数据提交节点所属的业务子链中包括业务全量链中目标数据提交节点具有查看权限的所有区块的区块头;业务全量链中是基于多个数据提交节点分别对应的区块所构成的;多个数据提交节点包括目标数据提交节点;从业务全量链中,获取查询信息携带的目标区块头所对应的区块,作为目标区块,将目标区块中的业务流程数据发送至目标数据提交节点。采用本申请,提高了针对业务流程数据的隐私性和安全性。
Description
技术领域
本申请涉及数据处理的技术领域,尤其涉及一种基于区块链网络的数据隔离方法及装置。
背景技术
随着计算机网络的不断发展,对于区块链的应用领域也在不断扩大。当前技术中,对于同一个区块链网络中的所有节点而言,每个节点均会分别持有一条相同的区块链,即同一个区块链网络下的每个节点之间是共享数据,每个节点在自己的区块链中所存储的数据都是相同的。因此,对于同一个区块链网络下的多个区块链节点而言,相互之间的信息隐私性以及安全性得不到保障。
申请内容
本申请提供了一种基于区块链网络的数据隔离方法及装置,可提高针对业务流程数据的隐私性和安全性。
本申请一方面提供了一种基于区块链网络的数据隔离方法,包括:
管理节点获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;
从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。
其中,所述管理节点持有所述目标数据提交节点的密钥对;所述目标区块中的业务流程数据为目标业务流程数据;还包括:
接收所述目标数据提交节点发送的业务数据包,基于所述密钥对对所述业务数据包进行验签,验签通过之后,获取所述业务数据包中的待核验数据,检测所述目标数据提交节点的节点类型和所述待核验数据的数据类型;
当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据;
根据所述目标业务流程数据生成所述目标区块。
其中,所述节点类型包括生产对象节点类型、审核对象节点类型以及物流对象节点类型;所述数据类型包括物流数据类型、生产数据类型以及凭证数据类型;
所述当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据,包括:
当检测到所述目标数据提交节点的节点类型为所述物流对象节点类型,且所述待核验数据的数据类型为所述物流数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
当检测到所述目标数据提交节点的节点类型为所述生产对象节点类型,且所述待核验数据的数据类型为所述生产数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
当检测到所述目标数据提交节点的节点类型为所述审核对象节点类型,且所述待核验数据的数据类型为所述凭证数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据。
其中,所述根据所述目标业务流程数据生成所述目标区块,包括:
当检测到所述目标业务流程数据的数据量大于数据量阈值时,基于哈希算法对所述目标业务流程数据进行哈希运算,得到所述目标业务流程数据对应的哈希值;
根据所述哈希值生成所述目标区块,将所述目标区块添加至所述业务全量链;
基于线下的方式将所述目标业务流程数据与所述哈希值发送至查询节点对应的映射数据库;
则,还包括:
获取所述查询节点发送的针对所述目标区块的数据查看请求,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的所述哈希值发送至所述查询节点,以使所述查询节点根据所述哈希值在所述映射数据库中获取所述目标业务流程数据。
其中,所述将所述目标区块添加至所述业务全量链,包括:
基于区块高度递增机制生成所述目标区块对应的索引值,将所述索引值与所述目标数据提交节点之间的映射关系存储至索引映射表;所述索引映射表用于存储与所述目标数据提交节点具有映射关系的所有索引值;
将具有所述索引值的所述目标区块添加至所述业务全量链;
则,还包括:
根据所述索引映射表和所述目标区块对应的所述索引值,在所述业务全量链上获取所述目标数据提交节点对应的所述目标区块。
其中,还包括:
当检测到所述查询请求所携带的目标区块头为所述业务全量链中,所述多个数据提交节点中除所述目标数据提交节点之外的其他数据提交节点对应的区块的区块头时,根据所述查询请求向所述目标数据提交节点发送错误提示信息。
其中,还包括:
获取查询节点发送的针对所述目标区块的数据查看请求,检测所述查询节点的数据查看权限;
当检测到所述查询节点具备所述数据查看权限时,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的业务流程数据发送至所述查询节点。
本申请一方面提供了一种基于区块链网络的数据隔离装置,应用于管理节点,包括:
第一获取模块,用于获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;
第二获取模块,用于从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。
其中,所述管理节点持有所述目标数据提交节点的密钥对;所述目标区块中的业务流程数据为目标业务流程数据;所述基于区块链网络的数据隔离装置,还包括:
接收模块,用于接收所述目标数据提交节点发送的业务数据包,基于所述密钥对对所述业务数据包进行验签,验签通过之后,获取所述业务数据包中的待核验数据,检测所述目标数据提交节点的节点类型和所述待核验数据的数据类型;
检测模块,用于当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据;
生成模块,用于根据所述目标业务流程数据生成所述目标区块。
其中,所述节点类型包括生产对象节点类型、审核对象节点类型以及物流对象节点类型;所述数据类型包括物流数据类型、生产数据类型以及凭证数据类型;
所述检测模块,包括:
第一检测单元,用于当检测到所述目标数据提交节点的节点类型为所述物流对象节点类型,且所述待核验数据的数据类型为所述物流数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
第二检测单元,用于当检测到所述目标数据提交节点的节点类型为所述生产对象节点类型,且所述待核验数据的数据类型为所述生产数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
第三检测单元,用于当检测到所述目标数据提交节点的节点类型为所述审核对象节点类型,且所述待核验数据的数据类型为所述凭证数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据。
其中,所述生成模块,包括:
第四检测单元,用于当检测到所述目标业务流程数据的数据量大于数据量阈值时,基于哈希算法对所述目标业务流程数据进行哈希运算,得到所述目标业务流程数据对应的哈希值;
生成单元,用于根据所述哈希值生成所述目标区块,将所述目标区块添加至所述业务全量链;
发送单元,用于基于线下的方式将所述目标业务流程数据与所述哈希值发送至查询节点对应的映射数据库;
则,所述基于区块链网络的数据隔离装置,还用于:
获取所述查询节点发送的针对所述目标区块的数据查看请求,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的所述哈希值发送至所述查询节点,以使所述查询节点根据所述哈希值在所述映射数据库中获取所述目标业务流程数据。
其中,所述生成单元,包括:
映射子单元,用于基于区块高度递增机制生成所述目标区块对应的索引值,将所述索引值与所述目标数据提交节点之间的映射关系存储至索引映射表;所述索引映射表用于存储与所述目标数据提交节点具有映射关系的所有索引值;
添加子单元,用于将具有所述索引值的所述目标区块添加至所述业务全量链;
则,所述基于区块链网络的数据隔离装置,还用于:
根据所述索引映射表和所述目标区块对应的所述索引值,在所述业务全量链上获取所述目标数据提交节点对应的所述目标区块。
其中,所述基于区块链网络的数据隔离装置,还用于:
当检测到所述查询请求所携带的目标区块头为所述业务全量链中,所述多个数据提交节点中除所述目标数据提交节点之外的其他数据提交节点对应的区块的区块头时,根据所述查询请求向所述目标数据提交节点发送错误提示信息。
其中,所述基于区块链网络的数据隔离装置,还包括:
第三获取模块,用于获取查询节点发送的针对所述目标区块的数据查看请求,检测所述查询节点的数据查看权限;
第四获取模块,用于当检测到所述查询节点具备所述数据查看权限时,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的业务流程数据发送至所述查询节点。
本申请一方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述一方面中的方法。
本申请通过管理节点获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。由此可见,本申请提出的方法,每个数据提交节点可以通过自己的业务子链中的区块头从业务全量链中获取到对应的区块中的业务流程数据,而不同数据提交节点之间不能获取到对方的业务流程数据,保障了每个数据提交节点的业务流程数据的隐私性和安全性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种数据获取的场景示意图;
图2是本申请提供的一种基于区块链网络的数据隔离方法的流程示意图;
图3是本申请提供的一种区块链生成的场景示意图;
图4是本申请提供的一种区块的结构示意图;
图5是本申请提供的一种基于区块链网络的数据隔离装置的结构示意图;
图6是本申请提供的另一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链中包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
请参见图1,是本申请提供的一种数据获取的场景示意图。如图1所示,数据提交节点f1、数据提交节点f2和数据提交节点f3均为与审核对象相关联的3个节点,其中,与审核对象相关联的数据提交节点的个数根据实际应用场景决定,对此不做限制。与审核对象相关联的数据提交节点可以理解为:当审核对象需要办理某项业务时,需要通过其相关联的数据提交节点提供的相关业务流程数据才能办理。数据提交节点f1、数据提交节点f2和数据提交节点f3以及管理节点f4均为区块链网络中的节点。数据提交节点f1、数据提交节点f2和数据提交节点f3可以分别对应于一个或者多个服务器。数据提交节点f1、数据提交节点f2和数据提交节点f3均为spv节点(轻量节点),数据提交节点f1、数据提交节点f2和数据提交节点f3对应的业务子链中也分别存储有相应的交易记录(即数据提交节点上链业务流程数据的记录,通过区块头体现),业务子链中不会存储具体的业务流程数据。具体为:业务子链z1为数据提交节点f1所存储的区块链,业务子链z1中存储有数据提交节点f1在业务全量链z4中上链的所有业务流程数据对应的区块的区块头。业务子链z2为数据提交节点f2所存储的区块链,业务子链z2中存储有数据提交节点f2在业务全量链z4中上链的所有业务流程数据对应的区块的区块头。业务子链z3为数据提交节点f3所存储的区块链,业务子链z3中存储有数据提交节点f3在业务全量链z4中上链的所有业务流程数据对应的区块的区块头。数据提交节点f1、数据提交节点f2和数据提交节点f3均能向管理节点f4发送携带区块头的查询请求,此处以数据提交节点f1向管理节点f4发送查询请求q2为例进行说明。
当数据提交节点f1想要查看业务子链z1中的某个区块头所对应的具体业务流程数据时,数据提交节点可以在业务子链z1中获取该区块头,作为目标区块头q1。目标区块头q1可以是业务子链z1中的任意一个区块头。数据提交节点f1可以根据获取到的目标区块头q1生成对应的查询请求q2。查询请求q2中携带有目标区块头q1,查询请求q2为数据提交节点f1向管理节点f4请求获取目标区块头q1对应的区块中的业务流程数据的请求。数据提交节点f1可以将查询请求q2发送至管理节点f4,管理节点f4可以从查询请求q2中提取得到目标区块头q1。管理节点f4可以根据提取得到的目标区块头q1在业务全量链中查找到对应的区块q3,该区块q3中的区块头即是目标区块头q1,可以将区块q3称之为目标区块。查找到目标区块q3之后,管理节点f4可以从目标区块q3的区块体中获取到相应的业务流程数据,可以见该业务流程数据称之为目标业务流程数据。管理节点f4可以将提取得到的目标业务流程数据发送至数据提交节点f1。到此,即实现了数据提交节点f1根据业务子链z1中的区块头向管理节点请求获取到了对应的业务流程数据。数据提交节点f2和数据提交节点f3可以通过上述相同的过程,向管理节点获取自己的业务子链中的区块头所对应的业务流程数据。
通过本申请的方法,每个数据提交节点作为spv节点,可以根据各自的业务子链管理自己的交易记录(通过区块头体现),不同数据提交节点之间不能查看到对方的交易记录,实现了数据提交节点之间的数据隔离,保证了每个数据提交节点的交易记录的隐私性和安全性。此外,管理节点作为全量节点,可以管理所有数据提交节点的交易数据,提高了针对所有交易数据的管理效率。
请参见图2,是本申请提供的一种基于区块链网络的数据隔离方法的流程示意图,如图2所示,所述方法可以包括:
步骤S101,管理节点获取目标数据提交节点发送的查询请求;
具体的,可以存在多个数据提交节点,该多个数据提交节点可以是与审核对象相关联的节点。本申请所提供的方法可以应用在出口退税业务中,审核对象可以是申请办理出口退税业务的企业,与审核对象相关联的多个数据提交节点可以是在为企业办理出口退税时,涉及到的需要提交审核材料的对象所对应的节点,该多个数据提交节点可以包括审核对象自己所对应的节点(即企业对应的节点)、审核对象购买物品的生产商对应的节点以及生产商委托运送物品的物流商对应的节点,其中,管理节点、企业对应的节点、生产商对应的节点以及物流商对应的节点均为区块链网络中的区块链节点。管理节点、企业对应的节点、生产商对应的节点以及物流商对应的节点可以分别对应于一个或者多个服务器。目标数据提交节点可以是与审核对象相关联的多个数据提交节点中的任意一个数据提交节点。每个数据提交节点均分别对应有一条业务子链。
此处,首先对如何生成每个数据提交节点的业务子链以及业务全量链进行说明,请参见图3,是本申请提供的一种区块链生成的场景示意图。数据提交节点101a、数据提交节点103a和数据提交节点105a,均为与审核对象相关联的节点,数据提交节点的个数根据实际应用场景决定,对此不做限制。业务子链102a为数据提交节点101a的业务子链,业务子链104a为数据提交节点103a的业务子链,业务子链106a为数据提交节点105a的业务子链。
可以在数据提交节点101a、数据提交节点103a和数据提交节点105a中任选一个节点作为目标数据提交节点,管理节点可以接收所述目标数据提交节点发送的业务数据包,基于所述密钥对对所述业务数据包进行验签,验签通过之后,获取所述业务数据包中的待核验数据,检测所述目标数据提交节点的节点类型和所述待核验数据的数据类型;当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据;根据所述目标业务流程数据生成所述目标区块:
目标数据提交节点(数据提交节点101a、数据提交节点103a或者数据提交节点105a)可以向管理节点107a发送业务数据包,该业务数据包已经通过目标数据提交节点的密钥对(包括目标数据提交节点的公钥和密钥)进行加密。管理节点107a持有每个数据提交节点的密钥对,管理节点107a可以使用目标数据提交节点的密钥对对目标数据提交节点发送的业务数据包进行验签,具体过程为:管理节点107a可以使用目标数据提交节点的私钥对业务数据包进行解密,得到业务数据包中的业务流程数据以及签名。管理节点107a可以使用目标数据提交节点的公钥对该签名进行解密,得到该签名中的哈希值,该哈希值为业务数据包中的业务流程数据的哈希值,可以将该签名称之为该业务流程数据对应的正确哈希值。管理节点107a可以通过哈希算法对从业务数据包中得到的业务流程数据进行哈希运算,得到该业务流程数据对应的另一哈希值,可以将该哈希值称之为业务流程数据对应的待验证哈希值。当管理节点107a检测到业务流程数据对应的待验证哈希值与业务流程数据对应的正确哈希值相同时,则表明从业务数据包中得到的业务流程数据没有被篡改,是安全可用的,则可以将该业务流程数据作为上述待核验数据。
此外,由于每个数据提交节点的节点类型不同,因此,可以根据数据提交节点的节点类型限定每个数据提交节点可以上链的业务流程数据的数据类型。例如,数据提交节点101a为企业对应的节点,数据提交节点103a为生产商对应的节点,数据提交节点105a为物流商对应的节点,则节点类型包括生产对象节点类型(即生产商对应的节点的类型)、审核对象节点类型(即企业对应的节点的类型)以及物流对象节点类型(即物流商对应的节点的类型)。相应的,数据类型包括物流数据类型(即物流商对应的节点可以上链的业务流程数据的类型,物流数据可以包括物流商在运送物品时的物流信息)、生产数据类型(即生产商对应的节点可以上链的业务流程数据的类型,生产数据可以包括生产商在生产物品时生产车间流水线经营活动的照片或者视频)以及凭证数据类型(即企业对应的节点可以上链的业务流程数据的类型,凭证数据可以包括企业向生产商购买物品时的购买凭证)。
当检测到所述目标数据提交节点的节点类型为所述物流对象节点类型,且所述待核验数据的数据类型为所述物流数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据:物流对象节点类型的节点可以上链的业务流程数据的数据类型为物流数据类型,则当管理节点107a检测到目标数据提交节点的节点类型为物流对象节点类型,并且上述待核验数据的数据类型为物流数据类型时,表明此时目标数据提交节点的节点类型与所请求上链的待核验数据的数据类型相匹配,则可以将该待核验数据作为目标业务流程数据。
当检测到所述目标数据提交节点的节点类型为所述生产对象节点类型,且所述待核验数据的数据类型为所述生产数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据:生产对象节点类型的节点可以上链的业务流程数据的数据类型为生产数据类型,则当管理节点107a检测到目标数据提交节点的节点类型为生产对象节点类型,并且上述待核验数据的数据类型为生产数据类型时,表明此时目标数据提交节点的节点类型与所请求上链的待核验数据的数据类型相匹配,则可以将该待核验数据作为目标业务流程数据。
当检测到所述目标数据提交节点的节点类型为所述审核对象节点类型,且所述待核验数据的数据类型为所述凭证数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据:审核对象节点类型的节点可以上链的业务流程数据的数据类型为凭证数据类型,则当管理节点107a检测到目标数据提交节点的节点类型为审核对象节点类型,并且上述待核验数据的数据类型为凭证数据类型时,表明此时目标数据提交节点的节点类型与所请求上链的待核验数据的数据类型相匹配,则可以将该待核验数据作为目标业务流程数据。
管理节点107a可以根据得到的目标业务流程数据生成对应的区块:可以设置数据量阈值,当管理节点107a检测到目标业务流程数据的数据量小于该数据量阈值时,表明目标业务流程数据的数据量较小,则管理节点107a可以直接根据目标业务流程数据生成对应的区块,可以将该区块称之为目标区块,并将生成的目标区块添加至业务全量链108a中。
当管理节点107a检测到所述目标业务流程数据的数据量大于数据量阈值时,基于哈希算法对所述目标业务流程数据进行哈希运算,得到所述目标业务流程数据对应的哈希值;根据所述哈希值生成所述目标区块,将所述目标区块添加至所述业务全量链;基于线下的方式将所述目标业务流程数据与所述哈希值发送至查询节点对应的映射数据库:
当管理节点107a检测到目标业务流程数据的数据量大于上述数据量阈值时,表明目标业务流程数据的数据量较大,则管理节点107a可以对目标业务流程数据进行哈希运算,得到目标业务流程数据对应的哈希值,将此哈希值作为需要上链的数据。管理节点107a可以根据该哈希值生成对应的区块,可以将该区块也称之为目标区块,可以将该目标区块添加至业务全量链108a中。
其中,业务全量链中的每个区块均会包括区块头和区块体。若所生成的业务流程数据的区块为业务全量链中的第一个区块,则该区块中所包含的区块头中存储有输入信息特征值(即随机数)、版本号、时间戳和难度值,区块主体中存储有输入信息(可以是上述业务流程数据或者该业务流程数据对应的第一哈希值)。若生成的业务流程数据的区块不是业务全量链中的第一个区块,则该区块中所包含的区块头中存储有当前区块(即上述生成的业务流程数据的区块)的输入信息特征值、父区块(即当前区块的上一个区块,即在上述业务流程数据的区块添加至业务全量链上之前,业务全量链上最晚添加的区块)的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。请参见图4,是本申请提供的一种区块的结构示意图。如图4所示,区块c1可以是业务全量链中上链的第一个区块,区块c1中包括输入信息特征值、版本号、时间戳和难度值,而没有父区块的区块头特征值。区块c2是业务全量链中上链的第二个区块,区块c1为区块c2的父区块,区块c2中除了包括输入信息特征值、版本号、时间戳和难度值,还包括父区块(即区块c1)的区块头特征值。同理,区块c2为区块c3的父区块,区块c3中除了包括输入信息特征值、版本号、时间戳和难度值之外,还包括区块c2的区块头特征值。
添加目标区块到业务全量链108a中的方式可以是:管理节点107a基于区块高度递增机制生成所述目标区块对应的索引值,将所述索引值与所述目标数据提交节点之间的映射关系存储至索引映射表;所述索引映射表用于存储与所述目标数据提交节点具有映射关系的所有索引值;将具有所述索引值的所述目标区块添加至所述业务全量链:其中,区块高度递增机制可以理解为,为业务全量链中的每个区块分配一个编号,并且编号依次增高,越晚添加至业务全量链中区块的编号越大。例如,在第一时间将区块1添加至了业务全量链,并且区块1为添加至业务全量链中的第一个区块,则可以为区块1分配一个编号为001。在第二时间将区块2添加至了业务全量链,第二时间晚于第一时间,则可以为区块2分配一个编号为002。在第三时间将区块3添加至了业务全量链,第三时间晚于第二时间,则可以为区块3分配一个编号为003,依次递推。上述为每个区块分配的编号也可以称之为每个区块的索引值,管理节点107a可以将每个索引值与对应的数据提交节点之间的映射关系存储至索引映射表,例如,区块1是根据数据提交节点1发送给管理节点的上链请求所携带的待上链数据中的业务流程数据生成的,则可以将区块1对应的索引值001与数据提交节点1之间的映射关系存储至索引映射表。管理节点107a可以将已经分配有索引值的区块添加至业务全量链中。因此可以理解的是,管理节点107a可以生成目标区块的索引值,例如,当此时业务全量链中的索引值包括001到010,则为目标区块生成的索引值可以是011,即递增1。管理节点107a可以将目标区块的索引值011与目标数据提交节点之间的映射关系,存储至目标数据提交节点对应的索引映射表。每个数据提交节点均可以分别对应于一个索引映射表,每个数据提交节点对应的索引映射表用于存储与所对应的数据提交节点具有映射关系的所有区块的索引值。管理节点107a可以将已经分配有索引值011的目标区块添加至业务全量链108a中。后续,管理节点107a可以根据所述索引映射表和所述目标区块对应的所述索引值,在所述业务全量链上获取所述目标数据提交节点对应的所述目标区块:当管理节点107a需要获取目标数据提交节点对应的目标区块时,可以从目标数据提交节点对应的索引映射表中获取与目标数据提交节点具有映射关系的所有索引值(包括目标区块的索引值),进而可以根据获取到的索引值在业务全量链中获取到目标数据提交节点对应的所有区块(包括目标区块)。
由于,当目标业务流程数据的数据量较大时,目标区块中存在的是目标业务流程数据的哈希值,而没有目标业务流程数据。因此,需要管理节点通过线下的方式将目标业务流程数据以及该目标业务流程数据的哈希值发送至查询节点。线下的方式指非区块链传输渠道的方式,例如发邮件的方式或者线下发送文件的方式。其中,查询节点也是区块链节点,查询节点可以指为审核对象办理相关业务的对象所对应的节点。例如,查询节点可以是出口退税局对应的节点,当审核对象(即企业)向查询节点(即出口退税局)申请需要办理出口退税业务时,出口退税局需要通过管理节点107a获取到与审核对象(即企业)相关联的所有数据提交节点的业务流程数据,并对获取到的业务流程数据进行审核通过之后,才能为审核对象办理相应的出口退税业务。查询节点可以将接收到的目标业务流程数据以及所对应的哈希值关联存储在映射数据库中,该映射数据库中存储有每个业务流程数据(此处指上链的数据为业务流程数据的哈希值所对应的业务流程数据)与所对应的哈希值之间的映射关系。
当目标区块中为目标业务流程数据对应的哈希值时,管理节点107a可以获取所述查询节点发送的针对所述目标区块的数据查看请求,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的所述哈希值发送至所述查询节点,以使所述查询节点根据所述哈希值在所述映射数据库中获取所述目标业务流程数据:查询节点可以向管理节点107a发送针对目标区块的数据查看请求,管理节点107a当接收到该数据查看请求时,可以根据该数据查看请求在业务全量链108a中获取到对应的目标区块,并且管理节点107a可以从该目标区块中提取得到目标业务流程数据对应的哈希值。管理节点107a可以将该哈希值发送给查询节点,查询节点可以根据接收到的目标业务流程数据的哈希值,在映射数据库中找到与该哈希值相对应的目标业务流程数据。
当目标业务流程数据的数据量较大时,目标业务流程数据的数据量会远大于所对应的哈希值的数据量,因此通过将目标业务流程数据的哈希值进行上链,可以减少对区块链网络内存空间的占用。
通过上述的过程,即可知道业务全量链108a中存储有所有数据提交节点的业务流程数据所对应的区块,即业务全量链108a是通过每个数据提交节点的业务流程数据对应的区块而生成的。
管理节点107a在将目标区块添加至业务全量链108a中之后,可以将目标区块中的区块头返回给目标数据提交节点,目标数据提交节点可以将获取到的目标区块中的区块头存储至自己的业务子链中。即每个数据提交节点对应的业务子链是分别通过对应的数据提交节点的业务流程数据在业务全量链上的区块中的区块头所生成的。例如,业务子链102a,是通过数据提交节点101a的业务流程数据在业务全量链108a中的区块的区块头所生成的;业务子链104a,是通过数据提交节点103a的业务流程数据在业务全量链108a中的区块的区块头所生成的;业务子链106a,是通过数据提交节点105a的业务流程数据在业务全量链108a中的区块的区块头所生成的。该区块头即表征了数据提交节点上链对应的业务流程数据的交易记录,即每个数据提交节点分别对应的业务子链中存储的是每个数据提交节点自己上链业务流程数据的交易记录。
当目标数据提交节点想要从业务全量链108a上获取自己的业务子链中某个区块头对应的区块中的业务流程数据时,目标数据提交节点可以从自己的业务子链中获取该区块头,作为目标区块头。目标数据提交节点可以根据该目标区块头生成上述查询请求,该查询请求用于向管理节点107a获取目标区块头对应的区块中的业务流程数据,该查询请求携带有目标区块头。目标数据提交节点可以将该查询请求发送给管理节点107a。
不同的数据提交节点之间不能相互获取对方的业务流程数据。例如,当管理节点检测到所述查询请求所携带的目标区块头为所述业务全量链中,所述多个数据提交节点中除所述目标数据提交节点之外的其他数据提交节点对应的区块的区块头时,根据所述查询请求向所述目标数据提交节点发送错误提示信息:当管理节点107a检测到目标数据提交节点发送过来的查询请求中所携带的目标区块头,不是目标数据提交节点自己的业务流程数据在业务全量链108a上的区块中的区块头,而是其他数据提交节点的业务流程数据在业务全量链108a上的区块中的区块头时,管理节点107a不会根据该查询请求中的目标区块头去业务全量链108a中获取相应的区块,而是会生成错误提示信息,管理节点107a可以将获取到的错误提示信息发送给目标数据提交节点,以提示目标数据提交节点获取不到相应的区块中的业务流程数据。
步骤S102,从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点;
具体的,当查询请求中携带的目标区块头是目标数据提交节点自己的业务流程数据在业务全量链108a上的区块中的区块头,则管理节点107a会在业务全量链中去获取该目标区块头对应的区块。获取的方式可以是:请参见图4,图4中除了区块链中的第一个区块c1之外的其他每个区块,均有一个父区块的区块头特征值。管理节点107a可以对目标区块头进行哈希运算,得到目标区块头的哈希值,管理节点107a可以遍历在业务全量链中每个区块的区块头中的父区块的区块头特征值,当遍历到某个父区块的区块头特征值与上述目标区块头的哈希值相同时,则可以将业务全量链中该个父区块的区块头特征值所在的区块的父区块(即上/前一个区块)作为目标区块。管理节点107a还可以提取目标区块头中的输入信息特征值,接着管理节点107a可以遍历在业务全量链中每个区块的区块头中的输入信息特征值,当遍历到某个区块的输入信息特征值与上述目标区块头中的输入信息特征值相同时,则可以将该个区块作为目标区块。管理节点107a可以从获取到的目标区块中提取出对应的业务流程数据,这种情况是业务流程数据的数据量较小,上链的为业务流程数据本身。管理节点107a也可以从获取到的目标区块中提取出对应的业务流程数据的哈希值,这种情况是业务流程数据的数据量较大,上链的为业务流程数据的哈希值。管理节点107a可以通过该哈希值在映射数据库中获取到对应的业务流程数据。管理节点107a可以将获取到的业务流程数据发送给目标数据提交节点。其中,当目标数据提交节点为企业对应的节点时,管理节点107a获取到的业务流程数据可以是企业向生产商购买物品时的购买凭证;当目标数据提交节点为生产商对应的节点时,管理节点107a获取到的业务流程数据可以是生产商在生产物品时生产车间流水线经营活动的照片或者视频;当目标数据提交节点为物流商对应的节点时,管理节点107a获取到的业务流程数据可以是物流商在运送物品时的物流信息(定位信息,即物品运送路线信息),物流商运送的物品即是企业在生产商处所购买的物品。
更多的,管理节点可以获取查询节点发送的针对所述目标区块的数据查看请求,检测所述查询节点的数据查看权限;当检测到所述查询节点具备所述数据查看权限时,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的业务流程数据发送至所述查询节点:管理节点107a可以存储一个授权表,授权表中可以包括多个节点,授权表中的每个节点均可以向管理节点107a发起获取业务全量链上的区块中的业务流程数据的权限。该授权表中可以包括上述查询节点(可以是出口退税局对应的节点),当管理节点107a获取到查询节点发送的针对目标区块的数据查看请求时,由于检测到授权表中包括该查询节点,表明查询节点具备数据查看权限,因此,管理节点107a可以在业务全量链108a中获取目标区块,并将目标区块中的业务流程数据发送给查询节点。查询节点可以对接收到的业务流程数据进行审核,以判断审核对象是否具备相应的业务处理权限(例如办理出口退税业务的权限)。
本申请通过管理节点获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。由此可见,本申请提出的方法,每个数据提交节点可以通过自己的业务子链中的区块头从业务全量链中获取到对应的区块中的业务流程数据,而不同数据提交节点之间不能获取到对方的业务流程数据,保障了每个数据提交节点的业务流程数据的隐私性和安全性。
请参见图5,是本申请提供的一种基于区块链网络的数据隔离装置的结构示意图。如图5所示,该基于区块链网络的数据隔离装置1可以包括:第一获取模块11和第二获取模块12;
第一获取模块11,用于获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;
第二获取模块12,用于从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。
其中,所述第一获取模块11和第二获取模块12的具体功能实现方式请参见图2对应的实施例中的步骤S101-步骤S102,这里不再进行赘述。
其中,所述管理节点持有所述目标数据提交节点的密钥对;所述目标区块中的业务流程数据为目标业务流程数据;所述基于区块链网络的数据隔离装置1,还包括接收模块13、检测模块14和生成模块15:
接收模块13,用于接收所述目标数据提交节点发送的业务数据包,基于所述密钥对对所述业务数据包进行验签,验签通过之后,获取所述业务数据包中的待核验数据,检测所述目标数据提交节点的节点类型和所述待核验数据的数据类型;
检测模块14,用于当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据;
生成模块15,用于根据所述目标业务流程数据生成所述目标区块。
其中,所述接收模块13、检测模块14和生成模块15的具体功能实现方式请参见图2对应的实施例中的步骤S101,这里不再进行赘述。
其中,所述节点类型包括生产对象节点类型、审核对象节点类型以及物流对象节点类型;所述数据类型包括物流数据类型、生产数据类型以及凭证数据类型;
所述检测模块14,包括第一检测单元141、第二检测单元142和第三检测单元143:
第一检测单元141,用于当检测到所述目标数据提交节点的节点类型为所述物流对象节点类型,且所述待核验数据的数据类型为所述物流数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
第二检测单元142,用于当检测到所述目标数据提交节点的节点类型为所述生产对象节点类型,且所述待核验数据的数据类型为所述生产数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
第三检测单元143,用于当检测到所述目标数据提交节点的节点类型为所述审核对象节点类型,且所述待核验数据的数据类型为所述凭证数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据。
其中,所述第一检测单元141、第二检测单元142和第三检测单元143的具体功能实现方式请参见图2对应的实施例中的步骤S101,这里不再进行赘述。
其中,所述生成模块15,包括第四检测单元151、生成单元152和发送单元153:
第四检测单元151,用于当检测到所述目标业务流程数据的数据量大于数据量阈值时,基于哈希算法对所述目标业务流程数据进行哈希运算,得到所述目标业务流程数据对应的哈希值;
生成单元152,用于根据所述哈希值生成所述目标区块,将所述目标区块添加至所述业务全量链;
发送单元153,用于基于线下的方式将所述目标业务流程数据与所述哈希值发送至查询节点对应的映射数据库;
则,所述基于区块链网络的数据隔离装置1,还用于:
获取所述查询节点发送的针对所述目标区块的数据查看请求,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的所述哈希值发送至所述查询节点,以使所述查询节点根据所述哈希值在所述映射数据库中获取所述目标业务流程数据。
其中,所述第四检测单元151、生成单元152和发送单元153的具体功能实现方式请参见图2对应的实施例中的步骤S101,这里不再进行赘述。
其中,所述生成单元152,包括映射子单元1521和添加子单元1522:
映射子单元1521,用于基于区块高度递增机制生成所述目标区块对应的索引值,将所述索引值与所述目标数据提交节点之间的映射关系存储至索引映射表;所述索引映射表用于存储与所述目标数据提交节点具有映射关系的所有索引值;
添加子单元1522,用于将具有所述索引值的所述目标区块添加至所述业务全量链;
则,所述基于区块链网络的数据隔离装置1,还用于:
根据所述索引映射表和所述目标区块对应的所述索引值,在所述业务全量链上获取所述目标数据提交节点对应的所述目标区块。
其中,所述映射子单元1521和添加子单元1522的具体功能实现方式请参见图2对应的实施例中的步骤S101,这里不再进行赘述。
其中,所述基于区块链网络的数据隔离装置1,还用于:
当检测到所述查询请求所携带的目标区块头为所述业务全量链中,所述多个数据提交节点中除所述目标数据提交节点之外的其他数据提交节点对应的区块的区块头时,根据所述查询请求向所述目标数据提交节点发送错误提示信息。
其中,所述基于区块链网络的数据隔离装置1,还包括第三获取模块154和第四获取模块155:
第三获取模块154,用于获取查询节点发送的针对所述目标区块的数据查看请求,检测所述查询节点的数据查看权限;
第四获取模块155,用于当检测到所述查询节点具备所述数据查看权限时,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的业务流程数据发送至所述查询节点。
其中,所述第三获取模块154和第四获取模块155的具体功能实现方式请参见图2对应的实施例中的步骤S102,这里不再进行赘述。
本申请通过管理节点获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。由此可见,本申请提出的方法,每个数据提交节点可以通过自己的业务子链中的区块头从业务全量链中获取到对应的区块中的业务流程数据,而不同数据提交节点之间不能获取到对方的业务流程数据,保障了每个数据提交节点的业务流程数据的隐私性和安全性。
请参见图6,是本申请提供的另一种计算机设备的结构示意图。如图6所示,所述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图2所对应实施例中对所述基于区块链网络的数据隔离方法的描述。
应当理解,本申请中所描述的计算机设备1000可执行前文图2所对应实施例中对所述基于区块链网络的数据隔离方法的描述,也可执行前文图5所对应实施例中对所述基于区块链网络的数据隔离装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的基于区块链网络的数据隔离装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2所对应实施例中对所述基于区块链网络的数据隔离方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖范围。
Claims (10)
1.一种基于区块链网络的数据隔离方法,其特征在于,包括:
管理节点获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;
从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。
2.根据权利要求1所述的方法,其特征在于,所述管理节点持有所述目标数据提交节点的密钥对;所述目标区块中的业务流程数据为目标业务流程数据;还包括:
接收所述目标数据提交节点发送的业务数据包,基于所述密钥对对所述业务数据包进行验签,验签通过之后,获取所述业务数据包中的待核验数据,检测所述目标数据提交节点的节点类型和所述待核验数据的数据类型;
当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据;
根据所述目标业务流程数据生成所述目标区块。
3.根据权利要求2所述的方法,其特征在于,所述节点类型包括生产对象节点类型、审核对象节点类型以及物流对象节点类型;所述数据类型包括物流数据类型、生产数据类型以及凭证数据类型;
所述当检测到所述节点类型与所述数据类型相匹配时,将所述待核验数据确定为所述目标业务流程数据,包括:
当检测到所述目标数据提交节点的节点类型为所述物流对象节点类型,且所述待核验数据的数据类型为所述物流数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
当检测到所述目标数据提交节点的节点类型为所述生产对象节点类型,且所述待核验数据的数据类型为所述生产数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据;
当检测到所述目标数据提交节点的节点类型为所述审核对象节点类型,且所述待核验数据的数据类型为所述凭证数据类型时,确定所述节点类型与所述数据类型相匹配,将所述待核验数据确定为所述目标业务流程数据。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标业务流程数据生成所述目标区块,包括:
当检测到所述目标业务流程数据的数据量大于数据量阈值时,基于哈希算法对所述目标业务流程数据进行哈希运算,得到所述目标业务流程数据对应的哈希值;
根据所述哈希值生成所述目标区块,将所述目标区块添加至所述业务全量链;
基于线下的方式将所述目标业务流程数据与所述哈希值发送至查询节点对应的映射数据库;
则,还包括:
获取所述查询节点发送的针对所述目标区块的数据查看请求,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的所述哈希值发送至所述查询节点,以使所述查询节点根据所述哈希值在所述映射数据库中获取所述目标业务流程数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标区块添加至所述业务全量链,包括:
基于区块高度递增机制生成所述目标区块对应的索引值,将所述索引值与所述目标数据提交节点之间的映射关系存储至索引映射表;所述索引映射表用于存储与所述目标数据提交节点具有映射关系的所有索引值;
将具有所述索引值的所述目标区块添加至所述业务全量链;
则,还包括:
根据所述索引映射表和所述目标区块对应的所述索引值,在所述业务全量链上获取所述目标数据提交节点对应的所述目标区块。
6.根据权利要求1所述的方法,其特征在于,还包括:
当检测到所述查询请求所携带的目标区块头为所述业务全量链中,所述多个数据提交节点中除所述目标数据提交节点之外的其他数据提交节点对应的区块的区块头时,根据所述查询请求向所述目标数据提交节点发送错误提示信息。
7.根据权利要求1所述的方法,其特征在于,还包括:
获取查询节点发送的针对所述目标区块的数据查看请求,检测所述查询节点的数据查看权限;
当检测到所述查询节点具备所述数据查看权限时,根据所述数据查看请求在所述业务全量链中获取所述目标区块,将所述目标区块中的业务流程数据发送至所述查询节点。
8.一种基于区块链网络的数据隔离装置,应用于管理节点,其特征在于,包括:
第一获取模块,用于获取目标数据提交节点发送的查询请求;所述查询请求是所述目标数据提交节点根据目标区块头所生成的;所述目标区块头为所述目标数据提交节点从所属的业务子链中获取的;所述目标数据提交节点所属的业务子链中包括业务全量链中所述目标数据提交节点具有查看权限的所有区块的区块头;所述所有区块的区块头包括所述目标区块头;所述业务全量链是基于多个数据提交节点分别对应的区块所构成的;所述多个数据提交节点包括所述目标数据提交节点;不同的数据提交节点分别对应不同的业务子链;
第二获取模块,用于从所述业务全量链中,获取所述查询信息携带的所述目标区块头所对应的区块,作为目标区块,将所述目标区块中的业务流程数据发送至所述目标数据提交节点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910906469.4A CN110597826A (zh) | 2019-09-24 | 2019-09-24 | 一种基于区块链网络的数据隔离方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910906469.4A CN110597826A (zh) | 2019-09-24 | 2019-09-24 | 一种基于区块链网络的数据隔离方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597826A true CN110597826A (zh) | 2019-12-20 |
Family
ID=68862932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910906469.4A Pending CN110597826A (zh) | 2019-09-24 | 2019-09-24 | 一种基于区块链网络的数据隔离方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597826A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716421A (zh) * | 2016-12-30 | 2017-05-24 | 深圳前海达闼云端智能科技有限公司 | 数据查询方法、装置及节点设备 |
CN106796688A (zh) * | 2016-12-26 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链的权限控制方法、装置、系统及节点设备 |
US20170235645A1 (en) * | 2013-12-20 | 2017-08-17 | Amazon Technologies, Inc. | Chained replication techniques for large-scale data streams |
CN107426170A (zh) * | 2017-05-24 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据处理方法及设备 |
CN109379382A (zh) * | 2018-12-07 | 2019-02-22 | 深圳市智税链科技有限公司 | 区块链系统的数据管理方法、装置、介质及电子设备 |
-
2019
- 2019-09-24 CN CN201910906469.4A patent/CN110597826A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170235645A1 (en) * | 2013-12-20 | 2017-08-17 | Amazon Technologies, Inc. | Chained replication techniques for large-scale data streams |
CN106796688A (zh) * | 2016-12-26 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链的权限控制方法、装置、系统及节点设备 |
CN106716421A (zh) * | 2016-12-30 | 2017-05-24 | 深圳前海达闼云端智能科技有限公司 | 数据查询方法、装置及节点设备 |
CN107426170A (zh) * | 2017-05-24 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据处理方法及设备 |
CN109379382A (zh) * | 2018-12-07 | 2019-02-22 | 深圳市智税链科技有限公司 | 区块链系统的数据管理方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531981B2 (en) | Digital contracts in blockchain environments | |
CN107274139B (zh) | 仓单数据管理方法和计算机可读介质 | |
CN110601856B (zh) | 一种基于区块链网络的数据交互方法及装置 | |
JP6877448B2 (ja) | 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム | |
US20200043001A1 (en) | Pet Food Traceability System and Method Therefor | |
WO2020001105A1 (zh) | 基于区块链的数据验证方法及装置、电子设备 | |
CN109684375B (zh) | 在区块链网络中查询交易信息的方法、记账节点和介质 | |
US11824838B2 (en) | Providing assertions regarding entities | |
US20190354606A1 (en) | Private Cryptocoinage in Blockchain Environments | |
JP2023502346A (ja) | 量子安全ネットワーキング | |
CN110493268B (zh) | 一种基于区块链网络的数据处理方法、装置、设备及存储介质 | |
EP3918505A2 (en) | Point-to-point distributed decentralized system | |
CN112567716B (zh) | 安全数据传输系统和方法 | |
CN110599322B (zh) | 一种基于区块链网络的数据审核方法及装置 | |
JP2023535013A (ja) | 量子安全支払いシステム | |
CN113407954A (zh) | 基于区块链的数据管理方法及装置 | |
CN108805574B (zh) | 基于隐私保护的交易方法和系统 | |
CN115619395A (zh) | 基于区块链的数据处理方法及相关设备 | |
CN109816525A (zh) | 一种数据处理方法及其装置、介质、终端 | |
CN115310978A (zh) | 一种数字资产的交易方法及装置 | |
CN110597826A (zh) | 一种基于区块链网络的数据隔离方法及装置 | |
CN112926972B (zh) | 一种基于区块链的信息处理方法、区块链系统及终端 | |
US11663590B2 (en) | Privacy-preserving assertion system and method | |
CN114817249B (zh) | 交易区块校验方法、装置、设备及存储介质 | |
US12001522B1 (en) | Asset metadata oracle service for facilitating digital asset trading |
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 |