CN107622096A - 基于区块链系统的异步多方数据交互方法和存储介质 - Google Patents

基于区块链系统的异步多方数据交互方法和存储介质 Download PDF

Info

Publication number
CN107622096A
CN107622096A CN201710769446.4A CN201710769446A CN107622096A CN 107622096 A CN107622096 A CN 107622096A CN 201710769446 A CN201710769446 A CN 201710769446A CN 107622096 A CN107622096 A CN 107622096A
Authority
CN
China
Prior art keywords
data
data query
affairs
catenary system
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710769446.4A
Other languages
English (en)
Other versions
CN107622096B (zh
Inventor
庄伟铭
刘志立
屈永鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Insurance Exchange Ltd By Share Ltd
Original Assignee
Shanghai Insurance Exchange Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Insurance Exchange Ltd By Share Ltd filed Critical Shanghai Insurance Exchange Ltd By Share Ltd
Priority to CN201710769446.4A priority Critical patent/CN107622096B/zh
Publication of CN107622096A publication Critical patent/CN107622096A/zh
Application granted granted Critical
Publication of CN107622096B publication Critical patent/CN107622096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于区块链系统的异步多方数据交互方法和存储介质。该方法包括由区块链系统执行以下步骤:接收数据查询方发起的对数据查询事务的第一请求,其包括查询条件的哈希值;在区块链系统的索引数据中查找具有哈希值的第一条目并且统计第一条目的个数,以及为数据查询事务生成唯一事务标识;向数据查询方返回第一条目的个数和唯一事务标识,以及向每个数据提供方发起对数据查询事务的第二请求,其包括唯一事务标识和哈希值;接收由每个数据提供方发起的对数据查询结果返回事务的第一请求,其包括唯一事务标识和查询结果数据;以及向数据查询方发起对数据查询结果返回事务的第二请求,其包括唯一事务标识和查询结果数据。

Description

基于区块链系统的异步多方数据交互方法和存储介质
技术领域
本发明涉及区块链系统,尤其涉及基于区块链系统的异步多方数据交互方法、设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术在互联网时代的创新应用模式。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链技术的两大特性为可追溯以及不可篡改。
区块链以其可信任性、安全性和不可篡改性,让更多数据被解放出来,推进数据的海量增长。区块链的可追溯特性使得数据从采集、交易、流通,以及计算分析的每一步记录都可以留存在区块链上,使得数据的质量获得前所未有的强信任背书,也保证了数据分析结果的正确性和数据挖掘的效果。区块链能够进一步规范数据的使用,精细化授权范围。脱敏后的数据可以在多方之间进行交互,从而有利于突破信息孤岛,建立数据横向交互机制。
发明内容
但是,在现有的基于区块链系统的数据交互系统中,数据交互的各个参与方只能采用同步的方式进行数据的交互,例如,如果数据查询方希望查询数据,则数据查询方和数据提供方只能以同步的方式在同一个事务中发起查询请求并且返回查询结果,也就是说,由数据查询方发起查询请求和由数据提供方返回查询结果是以同步方式在同一个事务中完成的,从而导致数据交互的速度非常慢,容易造成系统级别的超时,使得整个系统的处理效率非常低。目前并没有可行的方案能够解决这些问题。
因此,本申请针对上述问题中的至少一个问题提出了一种新的技术方案。根据本发明的第一方面,提供了一种基于区块链系统的异步多方数据交互方法,包括:由区块链系统接收数据查询方发起的对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求包括查询条件的哈希值;由区块链系统在该区块链系统的索引数据中查找具有所述哈希值的第一条目并且统计所查找到的第一条目的个数,以及为所述数据查询事务生成唯一事务标识;由区块链系统向数据查询方返回所查找到的第一条目的个数和所生成的唯一事务标识,以及由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括所生成的唯一事务标识和所述哈希值;由区块链系统接收由每个数据提供方发起的对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和查询结果数据;以及由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求,其中,对所述数据查询结果返回事务的第二请求包括所述唯一事务标识和所述查询结果数据。
优选地,对所述数据查询事务的第一请求还包括用于所述数据查询事务的一对公私密钥对中的公钥。
优选地,上述异步多方数据交互方法还包括:由数据查询方根据从区块链系统接收到的第一条目的个数和唯一事务标识,在数据查询方的查询结果表中轮询与所述唯一事务标识相关的查询结果数据;以及由数据查询方将通过所述轮询而获得的查询结果数据返回给用户。
优选地,由数据查询方进行的所述轮询的步骤包括:根据从区块链系统接收到的对所述数据查询结果返回事务的第二请求中所包括的所述唯一事务标识,在数据查询方的发起查询表中查找是否具有所述唯一事务标识;在数据查询方的发起查询表中查找到具有所述唯一事务标识的情况下,将所述查询结果数据和所述唯一事务标识存储到数据查询方的查询结果表中;以及在数据查询方的查询结果表中的与所述唯一事务标识相关的第二条目的个数等于第一条目的个数的情况下、或者在数据查询方的查询结果表中进行的轮询达到预设的超时时间的情况下,从数据查询方的查询结果表中获得与所述唯一事务标识相关的全部第二条目中所包括的查询结果数据。
优选地,上述异步多方数据交互方法还包括:由数据查询方利用用于所述数据查询事务的一对公私密钥对中的私钥,对利用该对公私密钥对中的公钥加密后的查询结果数据进行解密,以获得解密的查询结果数据。
优选地,上述异步多方数据交互方法还包括:由每个数据提供方根据从区块链系统接收到的对所述数据查询事务的第二请求中所包括的所述哈希值,在该数据提供方的本地数据表中查找具有所述哈希值的第二条目;以及由每个数据提供方从所查找到的第二条目中获得所述查询结果数据。
优选地,对所述数据查询事务的第二请求还包括用于所述数据查询事务的一对公私密钥对中的公钥。
优选地,上述异步多方数据交互方法还包括:由每个数据提供方利用所述公钥对所述查询结果数据进行加密。
优选地,由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求的步骤包括:通过区块链系统的主机配置使每个数据提供方区块链节点的主机地址仅指向该数据提供方自身的前置单元;以及根据每个数据提供方区块链节点的主机地址向该数据提供方自身的前置单元发起所述对数据查询事务的第二请求。
优选地,上述异步多方数据交互方法还包括:在每个数据提供方从区块链系统接收到对所述数据查询事务的第二请求的情况下,如果该数据提供方配置有多个区块链节点,则该数据提供方的前置单元根据所述唯一事务标识判断是否接收到重复的对所述数据查询事务的第二请求,并且丢弃被判断为重复的对所述数据查询事务的第二请求。
优选地,由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求的步骤包括:通过区块链系统的主机配置使数据查询方区块链节点的主机地址仅指向该数据查询方自身的前置单元;以及根据数据查询方区块链节点的主机地址向该数据查询方自身的前置单元发起所述对数据查询结果返回事务的第二请求。
优选地,上述异步多方数据交互方法还包括:在数据查询方从区块链系统接收到所述对数据查询结果返回事务的第二请求的情况下,如果该数据查询方配置有多个区块链节点,则该数据查询方的前置单元根据所述唯一事务标识和所述查询结果数据判断是否接收到重复的查询结果数据,并且丢弃被判断为重复的查询结果数据。
优选地,异步多方数据交互方法,还包括:由数据查询方和数据提供方按照业务场景类型将原始数据分别保存在相应的本地数据表中,并且抽取原始数据中的关键字段信息以形成统一格式的规范化数据;以及由数据查询方和数据提供方将所述规范化数据实时或定期地导入到该数据查询方和数据提供方的前置单元数据表中。
优选地,上述异步多方数据交互方法还包括:由数据查询方和/或数据提供方的前置单元定期读取该数据查询方和/或数据提供方的前置单元数据表中的未上传的新数据;由数据查询方和/或数据提供方的前置单元对读取到的新数据中的关键字段信息进行哈希运算以得到关键字段信息的哈希值;以及由数据查询方和/或数据提供方的前置单元调用索引智能合约的索引上传接口,将得到的关键字段信息的哈希值连同业务类型信息和该数据查询方和/或数据提供方自身的标识一起上传到区块链系统。
优选地,上述异步多方数据交互方法还包括:由区块链系统将接收到的关键字段信息的哈希值、业务类型信息和该数据查询方和/或数据提供方自身的标识共同作为索引保存在区块链系统的索引数据中。
优选地,对所述数据查询事务的第一请求还包括数据查询方自身的证书,对所述数据查询结果返回事务的第一请求还包括每个数据提供方自身的证书,上述异步多方数据交互方法还包括:在由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求之后,由区块链系统根据数据查询方自身的证书对该数据查询方进行的数据查询事务进行计数;和/或在由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求之后,由区块链系统根据每个数据提供方自身的证书对该数据提供方进行的数据查询结果返回事务进行计数。
优选地,上述异步多方数据交互方法还包括:由数据查询方和/或数据提供方根据该数据查询方和/或数据提供方本身的证书来查询与该数据查询方和/或数据提供方有关的数据查询事务和/或数据查询结果返回事务;和/或由监管方根据该监管方本身的证书来查询所有的数据查询事务和/或数据查询结果返回事务以进行监管。
根据本发明的第二方面,提供了一种基于区块链系统的异步多方数据交互方法,包括:由数据查询方向区块链系统发起对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求包括查询条件的哈希值;由数据查询方从区块链系统接收在该区块链系统的索引数据中查找到的具有所述哈希值的第一条目的个数和为所述数据查询事务生成的唯一事务标识;由数据查询方根据从区块链系统接收到的第一条目的个数和唯一事务标识,在数据查询方的查询结果表中轮询与所述唯一事务标识相关的查询结果数据;以及由数据查询方将通过所述轮询而获得的查询结果数据返回给用户。
优选地,由数据查询方进行的所述轮询的步骤包括:根据从区块链系统接收到的对所述数据查询结果返回事务的第二请求中所包括的所述唯一事务标识,在数据查询方的发起查询表中查找是否具有所述唯一事务标识;在数据查询方的发起查询表中查找到具有所述唯一事务标识的情况下,将所述查询结果数据和所述唯一事务标识存储到数据查询方的查询结果表中;以及在数据查询方的查询结果表中的与所述唯一事务标识相关的第二条目的个数等于第一条目的个数的情况下、或者在数据查询方的查询结果表中进行的轮询达到预设的超时时间的情况下,从数据查询方的查询结果表中获得与所述唯一事务标识相关的全部第二条目中所包括的查询结果数据。
根据本发明的第三方面,提供了一种基于区块链系统的异步多方数据交互方法,包括:由每个数据提供方从区块链系统接收对数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括区块链系统为所述数据查询事务生成的唯一事务标识和数据查询方的查询条件的哈希值;由每个数据提供方在该数据提供方的本地数据表中查找具有所述哈希值的条目,以及从所查找到的条目中获得查询结果数据;以及由每个数据提供方向区块链系统发起对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和所述查询结果数据。
根据本发明的第四方面,提供了一种计算机存储介质,其上存储有计算机指令,当所述计算机指令被计算机执行时使计算机执行如前述各项中任一项所述的基于区块链的异步多方数据交互方法。
根据本发明的第五方面,提供了一种计算机实现的基于区块链的异步多方数据交互设备,包括:存储器,存储有计算机指令;和处理器,耦接到存储器,执行所述计算机指令以执行如前述各项中任一项所述的基于区块链的异步多方数据交互方法。
根据本发明的一些实施例,数据交互的各个参与方可以采用异步的方式进行数据的交互,例如,如果数据查询方希望查询数据,则数据查询方和数据提供方可以以异步的方式分别在分离的不同事务中发起查询请求并且返回查询结果,也就是说,由数据查询方发起查询请求和由数据提供方返回查询结果是以异步的方式分别在分离的不同事务中完成的,因此可以提高数据交互的速度,进而可以提高整个系统的处理效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1是示意性地示出根据本发明的实施例的基于区块链系统的异步多方数据交互系统的方框图。
图2是示意性地示出根据本发明的实施例的基于区块链系统的异步多方数据交互方法的流程图。
图3是示意性地示出根据本发明的实施例的由数据查询方进行的数据获取和返回处理的流程图。
图4是示意性地示出根据本发明的实施例的由数据查询方进行的轮询处理的流程图。
图5是示意性地示出根据本发明的实施例的由每个数据提供方进行的数据查找处理的流程图。
图6是示意性地示出根据本发明的实施例的由区块链系统向每个数据提供方发起对数据查询事务的第二请求的具体处理的流程图。
图7是示意性地示出根据本发明的实施例的由区块链系统向数据查询方发起对数据查询结果返回事务的第二请求的具体处理的流程图。
图8是示意性地示出根据本发明的实施例的对原始数据进行规范化的具体处理的流程图。
图9是示意性地示出根据本发明的实施例的将根据规范化数据得到的相关信息上传到区块链系统的具体处理的流程图。
图10是示意性地示出根据本发明的另一个实施例的基于区块链系统的异步多方数据交互方法的流程图。
图11是示意性地示出根据本发明的又一个实施例的基于区块链系统的异步多方数据交互方法的流程图。
图12是示意性地示出根据本发明的实施例的数据查询方、每个数据提供方和区块链系统之间的数据交互的流程的示意图。
图13是示出可用于实施根据本发明的实施例的基于区块链系统的异步多方数据交互方法的信息处理设备的示意性框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的模块和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示意性地示出根据本发明的实施例的基于区块链系统的异步多方数据交互系统的方框图。
如图1所示,根据本发明的实施例的基于区块链系统的异步多方数据交互系统可以包括数据查询方101、数据提供方103、区块链系统105和监管方107。需要注意的是,虽然图1中仅示意性地示出了一个数据查询方101和数据提供方103,但是本领域技术人员应该明白,根据本发明的实施例的基于区块链系统的异步多方数据交互系统实际上可以包括多个数据查询方101和多个数据提供方103。
另外,需要注意的是,数据查询方和数据提供方只是在根据实体(例如公司、机构等)在事务中的角色而定义的。具体地,如果实体在事务中的角色是发起数据查询的那方,则该实体可被定义为数据查询方;另外,如果实体在事务中的角色是提供数据的那方,则该实体可被定义为数据提供方。因此,同一个实体根据在事务中的角色的不同,既可以被定义为数据查询方,也可以被定义为数据提供方。例如,假设有一个实体A,如果该实体A在第一个事务中的角色是发起数据查询的那方,则该实体A在第一个事务中可被定义为数据查询方;另外,如果该实体A在第二个事务中的角色是提供数据的那方,则该实体A在第二个事务中可被定义为数据提供方。
如图1所示,数据查询方101可以包括存储单元、前置单元和业务单元。例如,数据查询方101的业务单元可以执行实体(例如公司、机构等)的具体业务。另外,例如,数据查询方101的业务单元可以对通过执行具体业务而得到的原始数据进行有关格式方面的处理,以及可以保存格式处理之后的数据。另外,例如,数据查询方101的业务单元可以向用户提供查询界面,以供用户输入查询条件等。
如图1所示,数据查询方101的前置单元可以与数据查询方101的业务单元连接。例如,数据查询方101的前置单元可以对由数据查询方101的业务单元提供的数据的关键字段信息进行哈希运算以得到关键字段信息的哈希值,以及将得到的关键字段信息的哈希值上传到区块链系统105。另外,例如,数据查询方101的前置单元可以对由数据查询方101的业务单元提供的查询条件进行哈希运算,以及可以向区块链系统发起数据查询数据事务的请求。另外,例如,数据查询方101的前置单元可以判断是否接收到重复的查询结果数据,从而可以排除重复的查询结果数据。另外,例如,数据查询方101的前置单元可以根据数据查询方101本身的证书来查询与该数据查询方101有关的数据查询事务。具体地,例如,数据查询方101的前置单元可以查询该数据查询方101发起了多少次数据查询等。
如图1所示,例如,数据查询方101的存储单元可以存储由数据查询方101的业务单元和前置单元接收和/或生成的各种数据或信息。具体地,例如,数据查询方101的存储单元可以以数据表或数据库的形式来存储各种数据或信息。
上面概括性地描述了数据查询方101可以执行的一些功能的示例,但是数据查询方101可以执行的功能不限于上述示例。在后文中将结合方法流程中的具体步骤来详细描述数据查询方101所执行的具体功能。
类似地,如图1所示,数据提供方103可以包括存储单元、前置单元和业务单元。例如,数据提供方103的业务单元可以执行实体(例如公司、机构等)的具体业务。另外,例如,数据提供方103的业务单元可以对通过执行具体业务而得到的原始数据进行有关格式方面的处理,以及可以保存格式处理之后的数据。
如图1所示,数据提供方103的前置单元可以与数据提供方103的业务单元连接。例如,数据提供方103的前置单元可以对由数据提供方103的业务单元提供的数据的关键字段信息进行哈希运算以得到关键字段信息的哈希值,以及将得到的关键字段信息的哈希值上传到区块链系统105。另外,例如,数据提供方103的前置单元可以判断是否接收到重复的对数据查询事务的请求,从而可以排除重复的对数据查询事务的请求。另外,例如,数据提供方103的前置单元可以根据每个数据提供方103本身的证书来查询与该数据提供方103有关的数据查询结果返回事务。具体地,例如,数据提供方103的前置单元可以查询该数据提供方提供了多少次数据查询结果等。
如图1所示,例如,数据提供方103的存储单元可以存储由数据提供方103的业务单元和前置单元接收和/或生成的各种数据或信息。具体地,例如,数据提供方103的存储单元可以以数据表或数据库的形式来存储各种数据或信息。
上面概括性地描述了数据提供方103可以执行的一些功能的示例,但是数据提供方103可以执行的功能不限于上述示例。在后文中将结合方法流程中的具体步骤来详细描述数据提供方103所执行的具体功能。
如图1所示,监管方107可以包括存储单元和前置单元。例如,监管方107的前置系统可以根据监管方本身的证书来查询所有的数据查询事务和/或数据查询结果返回事务以进行监管。具体地,例如,监管方107的前置系统可以查询哪个数据查询方进行了多少次数据查询,或者哪个数据提供方提供了多少次数据查询结果等。
如图1所示,例如,监管方107的存储单元可以存储由监管方107的前置单元接收和/或生成的各种数据或信息。具体地,例如,监管方107的存储单元可以以数据表或数据库的形式来存储各种数据或信息。
另外,例如,监管方可以具有根证书,以及可以颁发二级证书给各个数据查询方和数据提供方。各个数据查询方和数据提供方可以以所颁发的二级证书为凭证而加入区块链系统的网络。
上面概括性地描述了监管方107可以执行的一些功能的示例,但是监管方107可以执行的功能不限于上述示例。在后文中将结合方法流程中的具体步骤来详细描述监管方107所执行的具体功能。
如图1所示,区块链系统105包括可以包括多个区块链节点,例如数据查询方区块链节点、数据提供方区块链节点和监管方区块链节点。区块链系统105中的多个区块链节点可以彼此连接而形成区块链。如图1所示,区块链系统105中的数据查询方区块链节点可以与数据查询方101相连接,区块链系统105中的数据提供方区块链节点可以与数据提供方103相连接,而区块链系统105中的监管方区块链节点可以与监管方107相连接。
如图1所示,例如,区块链系统105可以将由数据查询方和/或数据提供方上传的关键字段信息的哈希值等作为索引保存在区块链系统105的索引数据中。另外,例如,区块链系统105可以在该区块链系统105的索引数据中查找具有由数据查询方101提供的查询条件的哈希值的条目,以及可以为数据查询事务生成唯一事务标识。另外,例如,区块链系统105可以对数据查询方101进行的数据查询事务进行计数,和/或可以对每个数据提供方103进行的数据查询返回事务进行计数。另外,例如,区块链系统105可以通过区块链系统105的主机配置使数据查询区块链节点的主机地址仅指向该数据查询方101自身的前置单元,和/或可以通过区块链系统105的主机配置使每个数据提供方区块链节点的主机地址仅指向该数据提供方103自身的前置单元,从而可以排除对除该数据查询方101自身和/或该数据提供方103自身以外的其他数据查询方101和/或其他数据提供方103的无效的请求。
上面概括性地描述了区块链系统105可以执行的一些功能的示例,但是区块链系统105可以执行的功能不限于上述示例。在后文中将结合方法流程中的具体步骤来详细描述区块链系统105所执行的具体功能。
下面结合图2来详细描述根据本发明的实施例的基于区块链系统的异步多方数据交互方法的具体流程。图2是示意性地示出根据本发明的实施例的基于区块链系统的异步多方数据交互方法200的流程图。注意,图2中所示出的流程可以主要是由区块链系统105执行的流程。
如图2所示,在步骤S201中,可以由区块链系统105接收数据查询方101发起的对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求可以包括查询条件的哈希值。
当用户需要针对某一项业务进行查询时,用户可以在数据查询方101的业务单元中录入查询条件。例如,如果用户需要针对某一项业务进行查询,则用户可以在数据查询方101的业务单元中录入如下的查询条件:“姓名、身份证号、查询类型”。例如,如果用户需要查询“李小明”的风险保额,则用户可以在数据查询方101的业务单元中录入如下的查询条件:“李小明”、“330421198705160018”、“类型1:风险保额”。
数据查询方101的业务单元可以将上述查询条件转发到数据查询方101的前置单元。数据查询方101的前置单元可以对接收到的查询条件进行哈希运算,以得到查询条件的哈希值。例如,如果接收到的查询条件为“姓名、身份证号、查询类型”,则数据查询方101的前置单元可以对查询条件中的“姓名_身份证号”进行哈希运算,并且附加上查询条件中的“查询类型”,从而得到查询内容:“姓名_身份证号”的哈希值_“查询类型”。例如,如果接收到的查询条件为“李小明、330421198705160018、类型1:风险保额”,则数据查询方101的前置单元可以对查询条件中的“李小明_330421198705160018”进行哈希运算以得到哈希值“eyJleHAiOjE1MDIyODMyNTAsInVz”,并且附加上查询条件中的“type1”,从而得到查询内容:“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”。
数据查询方101的前置单元可以将上述查询条件的哈希值放置在对数据查询事务的第一请求中,并且向区块链系统105发起对数据查询事务的第一请求;区块链系统105可以接收由数据查询方101发起的对数据查询事务的第一请求,从而可以获得对所述数据查询事务的第一请求中所包括的上述查询条件的哈希值。例如,如果上述查询条件为“姓名、身份证号、查询类型”,则数据查询方101的前置单元可以将上述查询条件中的“姓名_身份证号”的哈希值放置在对数据查询事务的第一请求中,并且对区块链系统105发起对数据查询事务的第一请求;区块链系统105可以接收由数据查询方101发起的对数据查询事务的第一请求,从而可以获得对所述数据查询事务的第一请求中所包括的上述查询条件中的“姓名_身份证号”的哈希值。例如,如果上述查询条件为“李小明、330421198705160018、类型1:风险保额”,则数据查询方101的前置单元可以将上述查询条件中的“李小明_330421198705160018”的哈希值“eyJleHAiOjE1MDIyODMyNTAsInVz”放置在对数据查询事务的第一请求中,并且对区块链系统105发起对数据查询事务的第一请求;区块链系统105可以接收由数据查询方101发起的对数据查询事务的第一请求,从而可以获得对所述数据查询事务的第一请求中所包括的上述查询条件中的“李小明_330421198705160018”的哈希值“eyJleHAiOjE1MDIyODMyNTAsInVz”。
根据本发明的一个实施例,对所述数据查询事务的第一请求还可以包括用于所述数据查询事务的一对公私密钥对中的公钥。
在数据查询方101的前置单元接收到由数据查询方101的业务单元转发的上述查询条件的情况下,数据查询方101的前置单元可以生成用于这一次数据查询事务的一对公私密钥对。另外,数据查询方101的前置单元可以将所生成的上述用于这一次数据查询事务的一对公私密钥对中的公钥放置在向区块链系统105发起的对数据查询事务的第一请求中。
根据本发明的一个实施例,对所述数据查询事务的第一请求还可以包括数据查询方101自身的证书,
根据本发明的一个实施例,数据查询方101的前置单元可以将对所述数据查询事务的第一请求存储在数据查询方101中的存储单元中的发起查询表中。
返回参考图2,在步骤S201之后,基于区块链系统的异步多方数据交互方法200可以前进到步骤S203。在步骤S203中,可以由区块链系统105在该区块链系统105的索引数据中查找具有所述哈希值的第一条目并且统计所查找到的第一条目的个数,以及为所述数据查询事务生成唯一事务标识。
在区块链系统105接收到由数据查询方101发起的对数据查询事务的第一请求的情况下,区块链系统105可以将接收到的对数据查询事务的第一请求进行区块打包处理,以及可以将区块打包后的对数据查询事务的第一请求通过区块广播而发送到区块链系统105中的每个区块链节点。
区块链系统105中的每个节点在接收到对数据查询事务的第一请求之后,可以从对数据查询事务的第一请求中提取上述查询条件的哈希值,可以根据所提取的上述查询条件的哈希值在该区块链系统105的索引数据中查找具有上述查询条件的哈希值的第一条目,以及可以统计所查找到的第一条目的个数。例如,如果上述查询条件为“姓名、身份证号、查询类型”,则区块链系统105中的每个节点可以从对数据查询事务的第一请求中提取上述查询条件中的“姓名_身份证号”的哈希值和查询类型,可以根据所提取的上述查询条件“姓名_身份证号”的哈希值和查询类型在该区块链系统105的索引数据中查找具有上述查询条件“姓名_身份证号”的哈希值和查询类型的第一条目,以及可以统计所查找到的第一条目的个数。例如,如果上述查询条件为“李小明、330421198705160018、类型1:风险保额”,则区块链系统105中的每个节点可以从对数据查询事务的第一请求中提取由上述查询条件中的“李小明_330421198705160018”的哈希值“eyJleHAiOjE1MDIyODMyNTAsInVz”和查询类型“type1”构成的查询内容“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”,可以根据所提取的上述查询内容“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”在该区块链系统105的索引数据中通过模糊匹配等方式来查找具有上述查询内容“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”的第一条目,以及可以统计所查找到的第一条目的个数。
另外,区块链系统105可以为这一次数据查询事务生成唯一事务标识。
例如,区块链系统105可以将索引数据、唯一事务标识等数据存储在区块链系统105的存储单元中。
返回参考图2,在步骤S203之后,基于区块链系统的异步多方数据交互方法200可以前进到步骤S205。在步骤S205中,可以由区块链系统105向数据查询方101返回所查找到的第一条目的个数和所生成的唯一事务标识,以及由区块链系统105向每个数据提供方103发起对所述数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括所生成的唯一事务标识和所述哈希值。
区块链系统105可以向数据查询方101返回所查找到的第一条目的个数和所生成的唯一事务标识。
根据本发明的一个实施例,可以由数据查询方根据从区块链系统105接收到的第一条目的个数和唯一事务标识,在数据查询方101的查询结果表中轮询与所述唯一事务标识相关的查询结果数据;以及可以由数据查询方101将通过所述轮询而获得的查询结果数据返回给用户。
下面结合图3来详细描述根据本发明的实施例的由数据查询方101进行的数据获取和返回处理的具体流程。图3是示意性地示出根据本发明的实施例的由数据查询方进行的数据获取和返回处理300的流程图。
如图3所示,在步骤S301中,可以由数据查询方101根据从区块链系统105接收到的第一条目的个数和唯一事务标识,在数据查询方101的查询结果表中轮询与所述唯一事务标识相关的查询结果数据。
例如,可以由数据查询方101中的前置单元根据从区块链系统105接收到的第一条目的个数和唯一事务标识,在数据查询方101的查询结果表中轮询与所述唯一事务标识相关的查询结果数据。由于数据查询方101可以根据第一条目的个数和唯一事务标识在数据查询方101的查询结果表中轮询与该唯一事务标识相关的查询结果数据,所以数据查询方101可以以异步的方式获得查询结果数据,而不需要如现有技术中那样以同步的方式在同一个事务中获得查询结果数据。
注意,数据查询方101可以将第一条目的个数、唯一事务标识和查询结果表等存储在数据查询方101中的存储单元中。
返回参考图3,在步骤S301之后,由数据查询方进行的数据获取和返回处理300可以前进到步骤S303。在步骤S303中,可以由数据查询方101将通过所述轮询而获得的查询结果数据返回给用户。
例如,可以由数据查询方101的前置单元将通过所述轮询而获得的查询结果数据返回给数据查询方101的业务单元,数据查询方101的业务单元可以将查询结果数据再返回给用户。
返回参考图2,在步骤S205中,区块链系统105可以向多个数据提供方103中的每个数据提供方103发起对所述数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括所生成的唯一事务标识和所述哈希值。
注意,每个数据提供方103可以将所接收到的对数据查询事务的第二请求中所包括的唯一事务标识和哈希值等存储在该数据提供方103的存储单元中。
根据本发明的一个实施例,由区块链系统105向每个数据提供方103发起对所述数据查询事务的第二请求的步骤可以包括:可以通过区块链系统105的主机配置使每个数据提供方区块链节点的主机地址仅指向该数据提供方103自身的前置单元;以及可以根据每个数据提供方区块链节点的主机地址向该数据提供方103自身的前置单元发起所述对数据查询事务的第二请求。
下面结合图6来描述根据本发明的实施例的由区块链系统105向每个数据提供方103发起对数据查询事务的第二请求的具体处理。图6是示意性地示出根据本发明的实施例的由区块链系统105向每个数据提供方103发起对数据查询事务的第二请求的具体处理600的流程图。
如图6所示,在步骤S601中,可以通过区块链系统105的主机配置使每个数据提供方区块链节点的主机地址仅指向该数据提供方103自身的前置单元。
例如,可以在区块链系统105的主机配置中进行设置,使得区块链系统105中的每个数据提供方区块链节点的主机地址仅指向该数据提供方103自身的前置单元,而不指向除该数据提供方103自身以外的其他数据提供方的前置单元。例如,假设存在三个数据提供方A、B和C,并且区块链系统105中存在与数据提供方A对应的数据提供方区块链节点A1、与数据提供方B对应的数据提供方区块链节点B1和与数据提供方C对应的数据提供方区块链节点C1,则可以在区块链系统105的主机配置中进行设置,使得:区块链系统105中的数据提供方区块链节点A1的主机地址仅指向数据提供方A自身的前置单元,而不指向数据提供方B和C的前置单元;区块链系统105中的数据提供方区块链节点B1的主机地址仅指向数据提供方B自身的前置单元,而不指向数据提供方A和C的前置单元;以及区块链系统105中的数据提供方区块链节点C1的主机地址仅指向数据提供方C自身的前置单元,而不指向数据提供方A和B的前置单元。
在步骤S601之后,由区块链系统105向每个数据提供方103发起对数据查询事务的第二请求的具体处理600可以前进到步骤S603。在步骤S603中,可以根据每个数据提供方区块链节点的主机地址向该数据提供方103自身的前置单元发起所述对数据查询事务的第二请求。
例如,可以根据在区块链系统105的主机配置中所设置的每个数据提供方区块链节点的主机地址,向该数据提供方103自身的前置单元发起所述对数据查询事务的第二请求,而不需要向除该数据提供方103自身以外的其他数据提供方的前置单元发起对数据查询事务的第二请求。例如,由于区块链系统105中的数据提供方区块链节点A1的主机地址仅指向数据提供方A自身的前置单元,而不指向数据提供方B和C的前置单元,所以区块链系统105中的数据提供方区块链节点A1可以仅向数据提供方A自身的前置单元发起对数据查询事务的第二请求,而不需要向数据提供方B和C的前置单元发起对数据查询事务的第二请求。类似地,例如,由于区块链系统105中的数据提供方区块链节点B1的主机地址仅指向数据提供方B自身的前置单元,而不指向数据提供方A和C的前置单元,所以区块链系统105中的数据提供方区块链节点B1可以仅向数据提供方B自身的前置单元发起对数据查询事务的第二请求,而不需要向数据提供方A和C的前置单元发起对数据查询事务的第二请求。类似地,例如,由于区块链系统105中的数据提供方区块链节点C1的主机地址仅指向数据提供方C自身的前置单元,而不指向数据提供方A和B的前置单元,所以区块链系统105中的数据提供方区块链节点C1可以仅向数据提供方C自身的前置单元发起对数据查询事务的第二请求,而不需要向数据提供方A和B的前置单元发起对数据查询事务的第二请求。
根据本发明的上述实施例,由于区块链系统105中的每个数据提供方区块链节点可以仅向与该数据提供方区块链节点对应的数据提供方的前置单元发送请求,而不会向与区块链系统105中的所有数据提供方区块链节点对应的所有数据提供方的前置单元发送请求,所以可以节省大量的系统资源,从而可以提高整个系统的处理效率。
根据本发明的一个实施例,在由区块链系统105向每个数据提供方103发起对所述数据查询事务的第二请求之后,可以由区块链系统105根据数据查询方101自身的证书对该数据查询方101进行的数据查询事务进行计数。
另外,根据本发明的一个实施例,可以由数据查询方101根据该数据查询方101本身的证书来查询与该数据查询方101有关的数据查询事务。由于区块链系统105可以对数据查询方101进行的数据查询事务进行计数,因此可以在后续对数据查询事务进行查询,例如可以查询哪个数据查询方进行了多少次数据查询等。
另外,根据本发明的一个实施例,可以由监管方107根据该监管方107本身的证书来查询所有的数据查询事务,以进行监管。
返回参考图2,在步骤S205之后,基于区块链系统的异步多方数据交互方法200可以前进到步骤S207。在步骤S207中,可以由区块链系统105接收由每个数据提供方103发起的对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和查询结果数据。
根据本发明的一个实施例,在每个数据提供方103从区块链系统105接收到对所述数据查询事务的第二请求的情况下,如果该数据提供方103配置有多个区块链节点,则该数据提供方103的前置单元可以根据所述唯一事务标识判断是否接收到重复的对所述数据查询事务的第二请求,并且可以丢弃被判断为重复的对所述数据查询事务的第二请求。
有些数据提供方可能具有多个数据提供方区块链节点,在这种情况下,这多个数据提供方区块链节点仍然可能会去访问同一个数据提供方的前置单元,从而导致该前置单元可能会返回多个相同的查询结果数据。因此,根据本发明的实施例,每个数据提供方103的前置单元可以根据从区块链系统105接收到的对数据查询事务的第二请求中提取的用于这一次数据查询事务的唯一事务标志,判断是否接收到重复的对数据查询事务的第二请求,并且可以丢弃被判断为重复的对数据查询事务的第二请求。由于排除重复的对数据查询事务的第二请求之后前置单元只返回一次查询结果数据,所以可以节省系统资源,并且可以提高系统处理速度。
在每个数据提供方103从区块链系统105接收到对所述数据查询事务的第二请求的情况下,每个数据提供方103可以在该数据提供方103的本地数据表中进行查找,以获得查询结果数据。
根据本发明的一个实施例,可以由每个数据提供方103根据从区块链系统105接收到的对所述数据查询事务的第二请求中所包括的所述哈希值,在该数据提供方103的本地数据表中查找具有所述哈希值的第二条目;以及可以由每个数据提供方103从所查找到的第二条目中获得所述查询结果数据。
下面结合图5来详细描述根据本发明的实施例的由每个数据提供方进行的数据查找处理的具体流程。图5是示意性地示出根据本发明的实施例的由每个数据提供方进行的数据查找处理500的流程图。
如图5所示,在步骤S501中,可以由每个数据提供方103根据从区块链系统105接收到的对所述数据查询事务的第二请求中所包括的所述哈希值,在该数据提供方103的本地数据表中查找具有所述哈希值的第二条目。
每个数据提供方103可以从区块链系统105接收到的对所述数据查询事务的第二请求中提取上述查询条件的哈希值,以及可以根据所提取的上述查询条件的哈希值在该数据提供方103的本地数据表中查找具有所述哈希值的第二条目。例如,如果上述查询条件为“姓名、身份证号、查询类型”,则每个数据提供方103可以从区块链系统105接收到的对所述数据查询事务的第二请求中提取上述查询条件中的“姓名_身份证号”的哈希值和查询类型,以及可以根据所提取的上述查询条件“姓名_身份证号”的哈希值和查询类型在该数据提供方103的本地数据表中查找具有上述查询条件“姓名_身份证号”的哈希值和查询类型的第二条目。例如,如果上述查询条件为“李小明、330421198705160018、类型1:风险保额”,则每个数据提供方103可以从对数据查询事务的第二请求中提取由上述查询条件中的“李小明_330421198705160018”的哈希值“eyJleHAiOjE1MDIyODMyNTAsInVz”和查询类型“type1”构成的查询内容“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”,以及可以根据所提取的上述查询内容“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”在该数据提供方103的本地数据表中通过模糊匹配等方式来查找具有上述查询内容“eyJleHAiOjE1MDIyODMyNTAsInVz_type1”的第二条目。
在步骤S501之后,由每个数据提供方进行的数据查找处理500可以前进到步骤S503。在步骤S503中,可以由每个数据提供方103从所查找到的第二条目中获得所述查询结果数据。
根据本发明的一个实施例,对所述数据查询事务的第二请求还包括用于所述数据查询事务的一对公私密钥对中的公钥。例如,区块链系统105可以从数据查询方101接收到的对数据查询事务的第一请求中提取用于这一次数据查询事务的一对公私密钥对中的公钥,并且可以将该公钥放置由区块链系统105向每个数据提供方103发起的在对数据查询事务的第二请求中。
根据本发明的一个实施例,可以由每个数据提供方103利用所述公钥对所述查询结果数据进行加密。在每个数据提供方103从所查找到的第二条目中获得查询结果数据之后,该数据提供方103可以利用用于这一次数据查询事务的一对公私密钥对中的公钥,对查询结果数据进行加密,以获得加密后的查询结果数据。
在每个数据提供方103获得查询结果数据之后,每个数据提供方103可以向区块链系统105发起对数据查询结果返回事务的第一请求,其中,对数据查询结果返回事务的第一请求可以包括唯一事务标识和查询结果数据。区块链系统105可以接收由每个数据提供方103发起的对数据查询结果返回事务的第一请求,从而可以从接收到的对数据查询结果返回事务的第一请求中获得唯一事务标志和查询结果数据。
根据本发明的一个实施例,对数据查询结果返回事务的第一请求还可以包括每个数据提供方103本身的证书。
另外,在区块链系统105接收到由每个数据提供方103发起的对数据查询结果返回事务的第一请求的情况下,区块链系统105可以将接收到的对数据查询结果返回事务的第一请求进行区块打包处理,以及可以将区块打包后的对数据查询结果返回事务的第一请求通过区块广播而发送到区块链系统105中的每个区块链节点。
返回参考图2,在步骤S207之后,基于区块链系统的异步多方数据交互方法200可以前进到步骤S209。在步骤S209中,可以由区块链系统105向数据查询方101发起对所述数据查询结果返回事务的第二请求,其中,对所述数据查询结果返回事务的第二请求包括所述唯一事务标识和所述查询结果数据。
注意,数据查询方101可以将所接收到的对数据查询结果返回事务的第二请求中所包括的唯一事务标识和查询结果数据等存储在数据查询方101的存储单元中。
根据本发明的一个实施例,由区块链系统105向数据查询方101发起对所述数据查询结果返回事务的第二请求的步骤可以包括:可以通过区块链系统105的主机配置使数据查询方区块链节点的主机地址仅指向该数据查询方101自身的前置单元;以及可以根据数据查询方区块链节点的主机地址向该数据查询方101自身的前置单元发起对所述数据查询结果返回事务的第二请求。
下面结合图7来描述根据本发明的实施例的由区块链系统105向数据查询方101发起对数据查询结果返回事务的第二请求的具体处理。图7是示意性地示出根据本发明的实施例的由区块链系统105向数据查询方101发起对数据查询结果返回事务的第二请求的具体处理700的流程图。
如图7所示,在步骤S701中,可以通过区块链系统105的主机配置使数据查询方区块链节点的主机地址仅指向该数据查询方101自身的前置单元。
例如,可以在区块链系统105的主机配置中进行设置,使得区块链系统105中的数据查询方区块链节点的主机地址仅指向该数据查询方101自身的前置单元,而不指向除该数据查询方101自身以外的其他数据查询方的前置单元。例如,假设存在三个数据查询方E、F和G,并且区块链系统105中存在与数据查询方E对应的数据查询方区块链节点E1、与数据查询方F对应的数据查询方区块链节点F1和与数据查询方G对应的数据查询方区块链节点G1,则可以在区块链系统105的主机配置中进行设置,使得:区块链系统105中的数据查询方区块链节点E1的主机地址仅指向数据查询方E自身的前置单元,而不指向数据提供方F和G的前置单元;区块链系统105中的数据查询方区块链节点F1的主机地址仅指向数据查询方F自身的前置单元,而不指向数据查询方E和G的前置单元;以及区块链系统105中的数据查询方区块链节点G1的主机地址仅指向数据查询方G自身的前置单元,而不指向数据查询方E和F的前置单元。
在步骤S701之后,由区块链系统105向数据查询方101发起对数据查询结果返回事务的第二请求的具体处理700可以前进到步骤S703。在步骤S703中,可以根据数据查询方区块链节点的主机地址向该数据查询方101自身的前置单元发起对所述数据查询结果返回事务的第二请求。
例如,可以根据在区块链系统105的主机配置中所设置的数据查询方区块链节点的主机地址,向该数据查询方101自身的前置单元发起所述对数据查询结果返回事务的第二请求,而不需要向除该数据查询方101自身以外的其他数据查询方的前置单元发起对数据查询结果返回事务的第二请求。例如,由于区块链系统105中的数据查询方区块链节点E1的主机地址仅指向数据查询方E自身的前置单元,而不指向数据查询方F和G的前置单元,所以区块链系统105中的数据查询方区块链节点E1可以仅向数据查询方E自身的前置单元发起对数据查询结果返回事务的第二请求,而不需要向数据查询方F和G的前置单元发起对数据查询结果返回事务的第二请求。类似地,例如,由于区块链系统105中的数据查询方区块链节点F1的主机地址仅指向数据查询方F自身的前置单元,而不指向数据查询方E和G的前置单元,所以区块链系统105中的数据查询方区块链节点F1可以仅向数据查询方F自身的前置单元发起对数据查询结果返回事务的第二请求,而不需要向数据查询方E和G的前置单元发起对数据查询结果返回事务的第二请求。类似地,例如,由于区块链系统105中的数据查询方区块链节点G1的主机地址仅指向数据查询方G自身的前置单元,而不指向数据查询方E和F的前置单元,所以区块链系统105中的数据查询方区块链节点G1可以仅向数据查询方G自身的前置单元发起对数据查询结果返回事务的第二请求,而不需要向数据查询方E和F的前置单元发起对数据查询结果返回事务的第二请求。
根据本发明的上述实施例,由于区块链系统105中的每个数据查询方区块链节点可以仅向与该数据查询方区块链节点对应的数据查询方的前置单元发送请求,而不会向与区块链系统105中的所有数据查询方区块链节点对应的所有数据查询方的前置单元发送请求,所以可以节省大量的系统资源,从而可以提高整个系统的处理效率。
根据本发明的一个实施例,在由区块链系统105向数据查询方101发起对所述数据查询结果返回事务的第二请求之后,可以由区块链系统105根据每个数据提供方103自身的证书对该数据提供方103进行的数据查询结果返回事务进行计数。
另外,根据本发明的一个实施例,可以由每个数据提供方103根据该数据提供方103本身的证书来查询与该数据提供方103有关的数据查询结果返回事务。由于区块链系统105可以对每个数据提供方103进行的数据查询结果返回事务进行计数,因此可以在后续对数据查询结果返回事务进行查询,例如可以查询哪个数据提供方返回了多少次查询结果数据等。
另外,根据本发明的一个实施例,可以由监管方107根据该监管方107本身的证书来查询所有的数据查询结果返回事务,以进行监管。
根据本发明的一个实施例,在数据查询方101从区块链系统105接收到所述对数据查询结果返回事务的第二请求的情况下,如果该数据查询方101配置有多个区块链节点,则该数据查询方101的前置单元可以根据所述唯一事务标识和所述查询结果数据判断是否接收到重复的查询结果数据,并且丢弃被判断为重复的查询结果数据。
有些数据查询方可能具有多个数据查询方区块链节点,在这种情况下,这多个数据查询方区块链节点仍然可能会去访问同一个数据查询方的前置单元,从而导致该前置单元可能会接收到多个相同的查询结果数据。因此,根据本发明的实施例,数据查询方101的前置单元可以根据从区块链系统105接收到的对数据查询事务的第二请求中提取的用于这一次数据查询事务的唯一事务标志和查询结果数据,判断是否接收到重复的查询结果数据,并且可以丢弃被判断为重复的查询结果数据。由于排除重复的查询结果数据之后前置单元只获得一次查询结果数据,所以可以节省系统资源,并且可以提高系统处理速度。
下面参考图4来详细描述根据本发明的实施例的由数据查询方进行的轮询处理的具体流程。图4是示意性地示出根据本发明的实施例的由数据查询方101进行的轮询处理400的流程图。
如图4所示,在步骤S401中,可以根据从区块链系统105接收到的对所述数据查询结果返回事务的第二请求中所包括的所述唯一事务标识,在数据查询方101的发起查询表中查找是否具有所述唯一事务标识。
在步骤S401之后,由数据查询方101进行的轮询处理400可以前进到步骤S403。在步骤S403中,在数据查询方101的发起查询表中查找到具有所述唯一事务标识的情况下,可以将所述查询结果数据和所述唯一事务标识存储到数据查询方101的查询结果表中。
在步骤S403之后,由数据查询方101进行的轮询处理400可以前进到步骤S405。在步骤S405中,在数据查询方101的查询结果表中的与所述唯一事务标识相关的第二条目的个数等于第一条目的个数的情况下、或者在数据查询方101的查询结果表中进行的轮询达到预设的超时时间的情况下,从数据查询方101的查询结果表中获得与所述唯一事务标识相关的全部第二条目中所包括的查询结果数据。
另外,根据本发明的一个实施例,可以由数据查询方101利用用于所述数据查询事务的一对公私密钥对中的私钥,对利用该对公私密钥对中的公钥加密后的查询结果数据进行解密,以获得解密的查询结果数据。
下面结合图8来描述对原始数据进行规范化的具体处理。图8是示意性地示出根据本发明的实施例的对原始数据进行规范化的具体处理800的流程图。
如图8所示,在步骤S801中,可以由数据查询方101和数据提供方103按照业务场景类型将原始数据分别保存在相应的本地数据表中,并且抽取原始数据中的关键字段信息以形成统一格式的规范化数据。
在步骤S801之后,对原始数据进行规范化的具体处理800可以前进到步骤S803。在步骤S803中,可以由数据查询方101和数据提供方103将所述规范化数据实时或定期地导入到该数据查询方101和数据提供方103的前置单元数据表中。
下面结合图9来详细描述将根据规范化数据得到的相关信息上传到区块链系统的具体处理。图9是示意性地示出根据本发明的实施例的将根据规范化数据得到的相关信息上传到区块链系统的具体处理900的流程图。
如图9所示,在步骤S901中,可以由数据查询方101和/或数据提供方103的前置单元定期读取该数据查询方101和/或数据提供方103的前置单元数据表中的未上传的新数据。
在步骤S901之后,将根据规范化数据得到的相关信息上传到区块链系统的具体处理900可以前进到步骤S903。在步骤S903中,可以由数据查询方101和/或数据提供方103的前置单元对读取到的新数据中的关键字段信息进行哈希运算以得到关键字段信息的哈希值。
在步骤S903之后,将根据规范化数据得到的相关信息上传到区块链系统的具体处理900可以前进到步骤S905。在步骤S905中,可以由数据查询方101和/或数据提供方103的前置单元调用索引智能合约的索引上传接口,将得到的关键字段信息的哈希值连同业务类型信息和该数据查询方101和/或数据提供方103自身的标识一起上传到区块链系统105。
另外,根据本发明的一个实施例,可以由区块链系统105将接收到的关键字段信息的哈希值、业务类型信息和该数据查询方101和/或数据提供方103自身的标识共同作为索引保存在区块链系统105的索引数据中。
下面结合图10来描述根据本发明的另一个实施例的基于区块链系统的异步多方数据交互方法的具体流程。图10是示意性地示出根据本发明的另一个实施例的基于区块链系统的异步多方数据交互方法1000的流程图。注意,图10中所示出的流程可以主要是由数据查询方101执行的流程。
如图10所示,在步骤S1001中,可以由数据查询方103向区块链系统105发起对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求包括查询条件的哈希值。
在步骤S1001之后,基于区块链系统的异步多方数据交互方法1000可以前进到步骤S1003。在步骤S1003中,可以由数据查询方101从区块链系统105接收在该区块链系统105的索引数据中查找到的具有所述哈希值的第一条目的个数和为所述数据查询事务生成的唯一事务标识。
在步骤S1003之后,基于区块链系统的异步多方数据交互方法1000可以前进到步骤S1005。在步骤S1005中,可以由数据查询方101根据从区块链系统105接收到的第一条目的个数和唯一事务标识,在数据查询方101的查询结果表中轮询与所述唯一事务标识相关的查询结果数据。
在步骤S1005之后,基于区块链系统的异步多方数据交互方法1000可以前进到步骤S1007。在步骤S1007中,可以由数据查询方101将通过所述轮询而获得的查询结果数据返回给用户。
下面结合图11来描述出根据本发明的又一个实施例的基于区块链系统的异步多方数据交互方法的具体流程。图11是示意性地示出根据本发明的又一个实施例的基于区块链系统的异步多方数据交互方法1100的流程图。注意,图11中所示出的流程可以主要是由每个数据提供方103执行的流程。
如图11所示,在步骤S1101中,可以由每个数据提供方103从区块链系统105接收对数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括区块链系统105为所述数据查询事务生成的唯一事务标识和数据查询方101的查询条件的哈希值。
在步骤S1101之后,基于区块链系统的异步多方数据交互方法1100可以前进到步骤S1103。在步骤S1103中,可以由每个数据提供方103在该数据提供方103的本地数据表中查找具有所述哈希值的条目,以及从所查找到的条目中获得查询结果数据。
在步骤S1103之后,基于区块链系统的异步多方数据交互方法1100可以前进到步骤S1105。在步骤S1105中,可以由每个数据提供方103向区块链系统105发起对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和所述查询结果数据。
下面结合图12来描述根据本发明的实施例的数据查询方、每个数据提供方和区块链系统之间的数据交互的流程。图12是示意性地示出根据本发明的实施例的数据查询方101、每个数据提供方103和区块链系统105之间的数据交互的流程的示意图。
如图12所示,在步骤S1,数据查询方101可以向区块链系统105发起对数据查询事务的第一请求,其中,对数据查询事务的第一请求可以包括查询条件的哈希值。区块链系统105在从数据查询方103接收到对数据查询事务的第一请求后,在步骤S2,区块链系统105可以在该区块链系统105的索引数据中查找具有该哈希值的第一条目并且统计所查找到的第一条目的个数,以及为该数据查询事务生成唯一事务标识。接下来,在步骤S3,区块链系统105可以向数据查询方101返回所查找到的第一条目的个数和所生成的唯一事务标识。在步骤S4,区块链系统105可以向每个数据提供方103发起对数据查询事务的第二请求,其中,对数据查询事务的第二请求可以包括所生成的唯一事务标识和该哈希值。数据查询方101在从区块链系统105接收到第一条目的个数和唯一事务标识之后,在步骤S5,数据查询方101可以根据第一条目的个数和唯一事务标识,在数据查询方101的查询结果表中轮询与该唯一事务标识相关的查询结果数据,以及数据查询方101可以将通过所述轮询而获得的查询结果数据返回给用户。另外,在区块链系统105向每个数据提供方103发起对数据查询事务的第二请求之后,在步骤S6,区块链系统105可以根据每个数据查询方101自身的证书对该数据查询方101进行的数据查询事务进行计数。接下来,在步骤S7,每个数据提供方103可以根据从区块链系统105接收到的对数据查询事务的第二请求中所包括的哈希值,在该数据提供方103的本地数据表中查找具有该哈希值的第二条目,以及每个数据提供方103可以从所查找到的第二条目中获得查询结果数据。接下来,在步骤S8,每个数据提供方103可以向区块链系统105发起对数据查询结果返回事务的第一请求,其中,对数据查询结果返回事务的第一请求可以包括唯一事务标识和查询结果数据。接下来,在步骤S9,区块链系统105可以向数据查询方101发起对数据查询结果返回事务的第二请求,其中,对数据查询结果返回事务的第二请求可以包括唯一事务标识和查询结果数据。在区块链系统105向数据查询方101发起对数据查询结果返回事务的第二请求之后,在步骤S10,区块链系统105可以根据每个数据提供方103自身的证书对该数据提供方103进行的数据查询结果返回事务进行计数。接下来,在步骤S11,数据查询方101可以获得查询结果数据。接下来,在步骤S12,数据查询方101可以将查询结果数据返回给用户。
图13是示出可用于实施根据本发明的实施例的用于区块链系统的数据迁移方法的信息处理设备的示意性框图。
在图13中,中央处理单元(CPU)1301根据只读存储器(ROM)1302中存储的程序或从存储部分1308加载到随机存取存储器(RAM)1303的程序执行各种处理。在RAM 1303中,也根据需要存储当CPU 1301执行各种处理等等时所需的数据。CPU 1301、ROM 1302和RAM 1303经由总线1304彼此连接。输入/输出接口1305也连接到总线1304。
下述部件连接到输入/输出接口1305:输入部分1306(包括键盘、鼠标等等)、输出部分1307(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1308(包括硬盘等)、通信部分1309(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1309经由网络比如因特网执行通信处理。根据需要,驱动器1310也可连接到输入/输出接口1305。可拆卸介质1311比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1310上,使得从中读出的计算机程序根据需要被安装到存储部分1308中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1311安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图13所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1311。可拆卸介质1311的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1302、存储部分1308中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
所述指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本申请也可以被配置如下:
(1)、一种基于区块链系统的异步多方数据交互方法,包括:
由区块链系统接收数据查询方发起的对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求包括查询条件的哈希值;
由区块链系统在该区块链系统的索引数据中查找具有所述哈希值的第一条目并且统计所查找到的第一条目的个数,以及为所述数据查询事务生成唯一事务标识;
由区块链系统向数据查询方返回所查找到的第一条目的个数和所生成的唯一事务标识,以及由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括所生成的唯一事务标识和所述哈希值;
由区块链系统接收由每个数据提供方发起的对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和查询结果数据;以及
由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求,其中,对所述数据查询结果返回事务的第二请求包括所述唯一事务标识和所述查询结果数据。
(2)、根据(1)所述的异步多方数据交互方法,其中,对所述数据查询事务的第一请求还包括用于所述数据查询事务的一对公私密钥对中的公钥。
(3)、根据(1)所述的异步多方数据交互方法,还包括:
由数据查询方根据从区块链系统接收到的第一条目的个数和唯一事务标识,在数据查询方的查询结果表中轮询与所述唯一事务标识相关的查询结果数据;以及
由数据查询方将通过所述轮询而获得的查询结果数据返回给用户。
(4)、根据(3)所述的异步多方数据交互方法,其中,由数据查询方进行的所述轮询的步骤包括:
根据从区块链系统接收到的对所述数据查询结果返回事务的第二请求中所包括的所述唯一事务标识,在数据查询方的发起查询表中查找是否具有所述唯一事务标识;
在数据查询方的发起查询表中查找到具有所述唯一事务标识的情况下,将所述查询结果数据和所述唯一事务标识存储到数据查询方的查询结果表中;以及
在数据查询方的查询结果表中的与所述唯一事务标识相关的第二条目的个数等于第一条目的个数的情况下、或者在数据查询方的查询结果表中进行的轮询达到预设的超时时间的情况下,从数据查询方的查询结果表中获得与所述唯一事务标识相关的全部第二条目中所包括的查询结果数据。
(5)、根据(4)所述的异步多方数据交互方法,还包括:
由数据查询方利用用于所述数据查询事务的一对公私密钥对中的私钥,对利用该对公私密钥对中的公钥加密后的查询结果数据进行解密,以获得解密的查询结果数据。
(6)、根据(1)所述的异步多方数据交互方法,还包括:
由每个数据提供方根据从区块链系统接收到的对所述数据查询事务的第二请求中所包括的所述哈希值,在该数据提供方的本地数据表中查找具有所述哈希值的第二条目;以及
由每个数据提供方从所查找到的第二条目中获得所述查询结果数据。
(7)、根据(6)所述的异步多方数据交互方法,其中,对所述数据查询事务的第二请求还包括用于所述数据查询事务的一对公私密钥对中的公钥。
(8)、根据(7)所述的异步多方数据交互方法,还包括:
由每个数据提供方利用所述公钥对所述查询结果数据进行加密。
(9)、根据(1)所述的异步多方数据交互方法,其中,由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求的步骤包括:
通过区块链系统的主机配置使每个数据提供方区块链节点的主机地址仅指向该数据提供方自身的前置单元;以及
根据每个数据提供方区块链节点的主机地址向该数据提供方自身的前置单元发起所述对数据查询事务的第二请求。
(10)、根据(9)所述的异步多方数据交互方法,还包括:
在每个数据提供方从区块链系统接收到对所述数据查询事务的第二请求的情况下,如果该数据提供方配置有多个区块链节点,则该数据提供方的前置单元根据所述唯一事务标识判断是否接收到重复的对所述数据查询事务的第二请求,并且丢弃被判断为重复的对所述数据查询事务的第二请求。
(11)、根据(1)所述的异步多方数据交互方法,其中,由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求的步骤包括:
通过区块链系统的主机配置使数据查询方区块链节点的主机地址仅指向该数据查询方自身的前置单元;以及
根据数据查询方区块链节点的主机地址向该数据查询方自身的前置单元发起所述对数据查询结果返回事务的第二请求。
(12)、根据(11)所述的异步多方数据交互方法,还包括:
在数据查询方从区块链系统接收到所述对数据查询结果返回事务的第二请求的情况下,如果该数据查询方配置有多个区块链节点,则该数据查询方的前置单元根据所述唯一事务标识和所述查询结果数据判断是否接收到重复的查询结果数据,并且丢弃被判断为重复的查询结果数据。
(13)、根据(1)-(12)中任一项所述的异步多方数据交互方法,还包括:
由数据查询方和数据提供方按照业务场景类型将原始数据分别保存在相应的本地数据表中,并且抽取原始数据中的关键字段信息以形成统一格式的规范化数据;以及
由数据查询方和数据提供方将所述规范化数据实时或定期地导入到该数据查询方和数据提供方的前置单元数据表中。
(14)、根据(13)所述的异步多方数据交互方法,还包括:
由数据查询方和/或数据提供方的前置单元定期读取该数据查询方和/或数据提供方的前置单元数据表中的未上传的新数据;
由数据查询方和/或数据提供方的前置单元对读取到的新数据中的关键字段信息进行哈希运算以得到关键字段信息的哈希值;以及
由数据查询方和/或数据提供方的前置单元调用索引智能合约的索引上传接口,将得到的关键字段信息的哈希值连同业务类型信息和该数据查询方和/或数据提供方自身的标识一起上传到区块链系统。
(15)、根据(14)所述的异步多方数据交互方法,还包括:
由区块链系统将接收到的关键字段信息的哈希值、业务类型信息和该数据查询方和/或数据提供方自身的标识共同作为索引保存在区块链系统的索引数据中。
(16)、根据(1)-(12)中任一项所述的异步多方数据交互方法,其中,对所述数据查询事务的第一请求还包括数据查询方自身的证书,对所述数据查询结果返回事务的第一请求还包括每个数据提供方自身的证书,所述异步多方数据交互方法还包括:
在由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求之后,由区块链系统根据数据查询方自身的证书对该数据查询方进行的数据查询事务进行计数;和/或
在由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求之后,由区块链系统根据每个数据提供方自身的证书对该数据提供方进行的数据查询结果返回事务进行计数。
(17)、根据(16)所述的异步多方数据交互方法,还包括:
由数据查询方和/或数据提供方根据该数据查询方和/或数据提供方本身的证书来查询与该数据查询方和/或数据提供方有关的数据查询事务和/或数据查询结果返回事务;和/或
由监管方根据该监管方本身的证书来查询所有的数据查询事务和/或数据查询结果返回事务以进行监管。
(18)、一种基于区块链系统的异步多方数据交互方法,包括:
由数据查询方向区块链系统发起对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求包括查询条件的哈希值;
由数据查询方从区块链系统接收在该区块链系统的索引数据中查找到的具有所述哈希值的第一条目的个数和为所述数据查询事务生成的唯一事务标识;
由数据查询方根据从区块链系统接收到的第一条目的个数和唯一事务标识,在数据查询方的查询结果表中轮询与所述唯一事务标识相关的查询结果数据;以及
由数据查询方将通过所述轮询而获得的查询结果数据返回给用户。
(19)、如(18)所述的异步多方数据交互方法,其中,由数据查询方进行的所述轮询的步骤包括:
根据从区块链系统接收到的对所述数据查询结果返回事务的第二请求中所包括的所述唯一事务标识,在数据查询方的发起查询表中查找是否具有所述唯一事务标识;
在数据查询方的发起查询表中查找到具有所述唯一事务标识的情况下,将所述查询结果数据和所述唯一事务标识存储到数据查询方的查询结果表中;以及
在数据查询方的查询结果表中的与所述唯一事务标识相关的第二条目的个数等于第一条目的个数的情况下、或者在数据查询方的查询结果表中进行的轮询达到预设的超时时间的情况下,从数据查询方的查询结果表中获得与所述唯一事务标识相关的全部第二条目中所包括的查询结果数据。
(20)、一种基于区块链系统的异步多方数据交互方法,包括:
由每个数据提供方从区块链系统接收对数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括区块链系统为所述数据查询事务生成的唯一事务标识和数据查询方的查询条件的哈希值;
由每个数据提供方在该数据提供方的本地数据表中查找具有所述哈希值的条目,以及从所查找到的条目中获得查询结果数据;以及
由每个数据提供方向区块链系统发起对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和所述查询结果数据。
(21)、一种计算机存储介质,其上存储有计算机指令,当所述计算机指令被计算机执行时使计算机执行如权利要求1-20中任一项所述的基于区块链的异步多方数据交互方法。
(22)、一种计算机实现的基于区块链的异步多方数据交互设备,包括:
存储器,存储有计算机指令;和
处理器,耦接到存储器,执行所述计算机指令以执行如权利要求1-20中任一项所述的基于区块链的异步多方数据交互方法。

Claims (10)

1.一种基于区块链系统的异步多方数据交互方法,包括:
由区块链系统接收数据查询方发起的对数据查询事务的第一请求,其中,对所述数据查询事务的第一请求包括查询条件的哈希值;
由区块链系统在该区块链系统的索引数据中查找具有所述哈希值的第一条目并且统计所查找到的第一条目的个数,以及为所述数据查询事务生成唯一事务标识;
由区块链系统向数据查询方返回所查找到的第一条目的个数和所生成的唯一事务标识,以及由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求,其中,对所述数据查询事务的第二请求包括所生成的唯一事务标识和所述哈希值;
由区块链系统接收由每个数据提供方发起的对数据查询结果返回事务的第一请求,其中,对所述数据查询结果返回事务的第一请求包括所述唯一事务标识和查询结果数据;以及
由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求,其中,对所述数据查询结果返回事务的第二请求包括所述唯一事务标识和所述查询结果数据。
2.根据权利要求1所述的异步多方数据交互方法,其中,对所述数据查询事务的第一请求还包括用于所述数据查询事务的一对公私密钥对中的公钥。
3.根据权利要求1所述的异步多方数据交互方法,其中,由区块链系统向每个数据提供方发起对所述数据查询事务的第二请求的步骤包括:
通过区块链系统的主机配置使每个数据提供方区块链节点的主机地址仅指向该数据提供方自身的前置单元;以及
根据每个数据提供方区块链节点的主机地址向该数据提供方自身的前置单元发起所述对数据查询事务的第二请求。
4.根据权利要求3所述的异步多方数据交互方法,还包括:
在每个数据提供方从区块链系统接收到对所述数据查询事务的第二请求的情况下,如果该数据提供方配置有多个区块链节点,则该数据提供方的前置单元根据所述唯一事务标识判断是否接收到重复的对所述数据查询事务的第二请求,并且丢弃被判断为重复的对所述数据查询事务的第二请求。
5.根据权利要求1所述的异步多方数据交互方法,其中,由区块链系统向数据查询方发起对所述数据查询结果返回事务的第二请求的步骤包括:
通过区块链系统的主机配置使数据查询方区块链节点的主机地址仅指向该数据查询方自身的前置单元;以及
根据数据查询方区块链节点的主机地址向该数据查询方自身的前置单元发起所述对数据查询结果返回事务的第二请求。
6.根据权利要求5所述的异步多方数据交互方法,还包括:
在数据查询方从区块链系统接收到所述对数据查询结果返回事务的第二请求的情况下,如果该数据查询方配置有多个区块链节点,则该数据查询方的前置单元根据所述唯一事务标识和所述查询结果数据判断是否接收到重复的查询结果数据,并且丢弃被判断为重复的查询结果数据。
7.根据权利要求1-6中任一项所述的异步多方数据交互方法,还包括:
由数据查询方和数据提供方按照业务场景类型将原始数据分别保存在相应的本地数据表中,并且抽取原始数据中的关键字段信息以形成统一格式的规范化数据;以及
由数据查询方和数据提供方将所述规范化数据实时或定期地导入到该数据查询方和数据提供方的前置单元数据表中。
8.根据权利要求7所述的异步多方数据交互方法,还包括:
由数据查询方和/或数据提供方的前置单元定期读取该数据查询方和/或数据提供方的前置单元数据表中的未上传的新数据;
由数据查询方和/或数据提供方的前置单元对读取到的新数据中的关键字段信息进行哈希运算以得到关键字段信息的哈希值;以及
由数据查询方和/或数据提供方的前置单元调用索引智能合约的索引上传接口,将得到的关键字段信息的哈希值连同业务类型信息和该数据查询方和/或数据提供方自身的标识一起上传到区块链系统。
9.根据权利要求8所述的异步多方数据交互方法,还包括:
由区块链系统将接收到的关键字段信息的哈希值、业务类型信息和该数据查询方和/或数据提供方自身的标识共同作为索引保存在区块链系统的索引数据中。
10.一种计算机存储介质,其上存储有计算机指令,当所述计算机指令被计算机执行时使计算机执行如权利要求1-9中任一项所述的基于区块链的异步多方数据交互方法。
CN201710769446.4A 2017-08-31 2017-08-31 基于区块链系统的异步多方数据交互方法和存储介质 Active CN107622096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710769446.4A CN107622096B (zh) 2017-08-31 2017-08-31 基于区块链系统的异步多方数据交互方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710769446.4A CN107622096B (zh) 2017-08-31 2017-08-31 基于区块链系统的异步多方数据交互方法和存储介质

Publications (2)

Publication Number Publication Date
CN107622096A true CN107622096A (zh) 2018-01-23
CN107622096B CN107622096B (zh) 2020-06-05

Family

ID=61089038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710769446.4A Active CN107622096B (zh) 2017-08-31 2017-08-31 基于区块链系统的异步多方数据交互方法和存储介质

Country Status (1)

Country Link
CN (1) CN107622096B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647230A (zh) * 2018-03-29 2018-10-12 深圳市网心科技有限公司 分布式存储方法、电子装置及存储介质
CN108833460A (zh) * 2018-04-10 2018-11-16 平安科技(深圳)有限公司 基于区块链的音乐发布方法、装置及终端设备
CN108881177A (zh) * 2018-05-28 2018-11-23 夸克链科技(深圳)有限公司 一种异构平行区块链及其技术实现
CN109063138A (zh) * 2018-08-03 2018-12-21 上海点融信息科技有限责任公司 用于在区块链即服务平台搜索数据的方法、设备及存储介质
CN109118220A (zh) * 2018-08-03 2019-01-01 上海点融信息科技有限责任公司 在分布式网络中用于处理事务的方法、装置及存储介质
CN109271801A (zh) * 2018-09-25 2019-01-25 宁波弘讯科技股份有限公司 基于区块链的注塑产品信息管理方法、服务器、注塑机
CN109299189A (zh) * 2018-09-05 2019-02-01 满金坝(深圳)科技有限公司 基于区块链的分布式数据库集群处理方法及装置
CN110263015A (zh) * 2019-05-07 2019-09-20 深圳壹账通智能科技有限公司 基于区块链的数据溯源方法、装置、设备及可读存储介质
WO2019214066A1 (zh) * 2018-05-09 2019-11-14 深圳壹账通智能科技有限公司 区块链上用户数据库重建方法、装置、设备及介质
CN111258966A (zh) * 2020-01-14 2020-06-09 软通动力信息技术有限公司 一种数据去重方法、装置、设备及存储介质
CN111324645A (zh) * 2018-12-14 2020-06-23 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
CN111522873A (zh) * 2020-03-19 2020-08-11 金蝶软件(中国)有限公司 区块生成方法、装置、计算机设备和存储介质
CN111708825A (zh) * 2020-06-11 2020-09-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111727594A (zh) * 2018-01-31 2020-09-29 有线电视实验室公司 使用数字分类账进行隐私管理的系统和方法
CN111782652A (zh) * 2020-06-30 2020-10-16 平安国际智慧城市科技股份有限公司 数据调用方法、装置、计算机设备和存储介质
CN113169882A (zh) * 2018-11-09 2021-07-23 英诺普莱斯股份公司 用于区块链的互操作性的系统和方法
CN113255007A (zh) * 2021-06-25 2021-08-13 蓝象智联(杭州)科技有限公司 一种安全隐匿三要素查询方法
CN114756901A (zh) * 2022-04-11 2022-07-15 敏于行(北京)科技有限公司 操作性风险监控方法及装置
CN115065695A (zh) * 2022-08-17 2022-09-16 湖南大学 基于智能合约的云链数据交换系统、方法及相关设备
CN116599696A (zh) * 2023-04-13 2023-08-15 京信数据科技有限公司 一种基于同态加密的双重隐匿查询装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150229617A1 (en) * 2014-02-11 2015-08-13 Yaana Technologies, LLC Method and System for Metadata Analysis and Collection with Privacy
CN105760477A (zh) * 2016-02-15 2016-07-13 中国建设银行股份有限公司 面向多个数据源的数据查询方法、系统及其相关设备
CN106407244A (zh) * 2016-06-21 2017-02-15 平安科技(深圳)有限公司 基于多数据库的数据查询方法、系统和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150229617A1 (en) * 2014-02-11 2015-08-13 Yaana Technologies, LLC Method and System for Metadata Analysis and Collection with Privacy
CN105760477A (zh) * 2016-02-15 2016-07-13 中国建设银行股份有限公司 面向多个数据源的数据查询方法、系统及其相关设备
CN106407244A (zh) * 2016-06-21 2017-02-15 平安科技(深圳)有限公司 基于多数据库的数据查询方法、系统和装置

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111727594B (zh) * 2018-01-31 2023-04-04 有线电视实验室公司 使用数字分类账进行隐私管理的系统和方法
CN111727594A (zh) * 2018-01-31 2020-09-29 有线电视实验室公司 使用数字分类账进行隐私管理的系统和方法
CN108647230A (zh) * 2018-03-29 2018-10-12 深圳市网心科技有限公司 分布式存储方法、电子装置及存储介质
CN108833460A (zh) * 2018-04-10 2018-11-16 平安科技(深圳)有限公司 基于区块链的音乐发布方法、装置及终端设备
CN108833460B (zh) * 2018-04-10 2021-05-25 平安科技(深圳)有限公司 基于区块链的音乐发布方法、装置及终端设备
WO2019214066A1 (zh) * 2018-05-09 2019-11-14 深圳壹账通智能科技有限公司 区块链上用户数据库重建方法、装置、设备及介质
CN108881177A (zh) * 2018-05-28 2018-11-23 夸克链科技(深圳)有限公司 一种异构平行区块链及其技术实现
CN108881177B (zh) * 2018-05-28 2021-04-23 夸克链科技(深圳)有限公司 一种异构平行区块链的实现方法
CN109063138A (zh) * 2018-08-03 2018-12-21 上海点融信息科技有限责任公司 用于在区块链即服务平台搜索数据的方法、设备及存储介质
CN109118220A (zh) * 2018-08-03 2019-01-01 上海点融信息科技有限责任公司 在分布式网络中用于处理事务的方法、装置及存储介质
CN109299189A (zh) * 2018-09-05 2019-02-01 满金坝(深圳)科技有限公司 基于区块链的分布式数据库集群处理方法及装置
CN109271801A (zh) * 2018-09-25 2019-01-25 宁波弘讯科技股份有限公司 基于区块链的注塑产品信息管理方法、服务器、注塑机
CN113169882A (zh) * 2018-11-09 2021-07-23 英诺普莱斯股份公司 用于区块链的互操作性的系统和方法
CN113169882B (zh) * 2018-11-09 2024-03-22 英诺普莱斯股份公司 用于区块链的互操作性的系统和方法
CN111324645A (zh) * 2018-12-14 2020-06-23 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
CN111324645B (zh) * 2018-12-14 2023-05-30 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
WO2020224247A1 (zh) * 2019-05-07 2020-11-12 深圳壹账通智能科技有限公司 基于区块链的数据溯源方法、装置、设备及可读存储介质
CN110263015A (zh) * 2019-05-07 2019-09-20 深圳壹账通智能科技有限公司 基于区块链的数据溯源方法、装置、设备及可读存储介质
CN111258966A (zh) * 2020-01-14 2020-06-09 软通动力信息技术有限公司 一种数据去重方法、装置、设备及存储介质
CN111522873A (zh) * 2020-03-19 2020-08-11 金蝶软件(中国)有限公司 区块生成方法、装置、计算机设备和存储介质
CN111522873B (zh) * 2020-03-19 2023-09-05 金蝶软件(中国)有限公司 区块生成方法、装置、计算机设备和存储介质
CN111708825A (zh) * 2020-06-11 2020-09-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111782652A (zh) * 2020-06-30 2020-10-16 平安国际智慧城市科技股份有限公司 数据调用方法、装置、计算机设备和存储介质
CN111782652B (zh) * 2020-06-30 2024-04-02 深圳赛安特技术服务有限公司 数据调用方法、装置、计算机设备和存储介质
CN113255007A (zh) * 2021-06-25 2021-08-13 蓝象智联(杭州)科技有限公司 一种安全隐匿三要素查询方法
CN114756901B (zh) * 2022-04-11 2022-12-13 敏于行(北京)科技有限公司 操作性风险监控方法及装置
CN114756901A (zh) * 2022-04-11 2022-07-15 敏于行(北京)科技有限公司 操作性风险监控方法及装置
CN115065695A (zh) * 2022-08-17 2022-09-16 湖南大学 基于智能合约的云链数据交换系统、方法及相关设备
CN116599696A (zh) * 2023-04-13 2023-08-15 京信数据科技有限公司 一种基于同态加密的双重隐匿查询装置及方法
CN116599696B (zh) * 2023-04-13 2024-01-02 京信数据科技有限公司 一种基于同态加密的双重隐匿查询装置

Also Published As

Publication number Publication date
CN107622096B (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN107622096A (zh) 基于区块链系统的异步多方数据交互方法和存储介质
JP7266638B2 (ja) 統合ブロックチェーンに基づくデータ転送制御方法及びシステム
JP6995762B2 (ja) ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム
CN107577427A (zh) 用于区块链系统的数据迁移方法、设备和存储介质
US20230028606A1 (en) Method and apparatus for vertical federated learning
CN112204557A (zh) 用于自动去中心化多边交易处理的系统和方法
CN108520415A (zh) 基于区块链的数据处理方法及装置
CN110689349A (zh) 一种区块链中的交易哈希值存储和搜索方法及装置
CN108764902A (zh) 用于存储数据的方法、节点和区块链系统
CN113536379B (zh) 一种隐私数据的查询方法、装置及电子设备
CN111782620A (zh) 一种信用链路自动跟踪平台及其方法
CN112184444B (zh) 基于信息的特征进行信息处理的方法、装置、设备及介质
WO2021220062A1 (zh) 区块链交易
CN108985740A (zh) 高性能共识算法的实现方法
Masoud et al. CarChain: A novel public blockchain-based used motor vehicle history reporting system
CN114140123B (zh) 一种用于以太坊二层网络交易溯源的方法及系统
CN112000979B (zh) 隐私数据的数据库操作方法、系统及存储介质
Garcia Bringas et al. BlockChain platforms in financial services: current perspective
CN111404958A (zh) 一种通用区块链区块压缩技术
Islam A privacy-preserving transparent central bank digital currency system based on consortium blockchain and unspent transaction outputs
CN111949655A (zh) 表单显示方法、装置、电子设备和介质
CN114024687B (zh) 一种通过锁定再发行实现nft可拆分可互换的方法
CN109756556A (zh) 一种一站式云服务生态系统
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
Chen et al. Knowledge and Systems Sciences

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
CB02 Change of applicant information

Address after: 200120 T3, 1788, 1800 Century Avenue, free trade Experimental Zone, Pudong New Area, Shanghai

Applicant after: Shanghai insurance exchange, Limited by Share Ltd

Address before: 200120 Shanghai East Road Pudong New Area Financial Information Center 22

Applicant before: Shanghai insurance exchange, Limited by Share Ltd

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant