CN111143371A - 数据查询方法、装置、设备、系统及介质 - Google Patents
数据查询方法、装置、设备、系统及介质 Download PDFInfo
- Publication number
- CN111143371A CN111143371A CN201911382203.0A CN201911382203A CN111143371A CN 111143371 A CN111143371 A CN 111143371A CN 201911382203 A CN201911382203 A CN 201911382203A CN 111143371 A CN111143371 A CN 111143371A
- Authority
- CN
- China
- Prior art keywords
- data
- index information
- storage
- storage space
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
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
-
- 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
-
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询方法、装置、设备、系统及介质。其中,数据查询方法包括:接收数据查询请求;其中,数据查询请求包括第一索引信息;响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应,每个区块链中所存储的数据不同;在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。根据本发明实施例,能够提高数据查询的效率。
Description
技术领域
本发明属于数据查询技术领域,尤其涉及一种数据查询方法、装置、设备、系统及介质。
背景技术
目前,一个数据查询平台可能对接有多个区块链系统,相同属性的不同数据可能分别存储在不同的区块链系统的区块链中,在数据查询平台接收到数据查询请求的情况下,需要进行跨区块链查询,即分别遍历不同的区块链进行迭代查询,使得数据查询的过程比较繁琐,数据查询的效率较低。
发明内容
本发明实施例提供一种数据查询方法、装置、设备、系统及介质,能够提高数据查询的效率。
第一方面,本发明实施例提供一种数据查询方法,包括:
接收数据查询请求;其中,数据查询请求包括第一索引信息;
响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应,每个区块链中所存储的数据不同;
在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。
第二方面,本发明实施例提供了一种数据查询装置,包括:
请求接收模块,用于接收数据查询请求;其中,数据查询请求包括第一索引信息;
空间查询模块,用于响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应,每个区块链中所存储的数据不同;
数据查询模块,用于在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。
第三方面,本发明实施例提供了一种数据查询设备,该设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面所述的数据查询方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所述的数据查询方法。
第五方面,本发明实施例提供了一种数据查询系统,包括:
多个区块链系统,每个区块链系统具有一个区块链,每个区块链中所存储的数据不同;
数据查询设备,用于接收数据查询请求;其中,数据查询请求包括第一索引信息;响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应;在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。
本发明实施例的数据查询方法、装置、设备、系统及介质,在接收到数据查询请求后,能够根据数据查询请求中的第一索引信息,在布隆过滤器的多个存储空间中查询与第一索引信息相匹配的第一存储空间,从而可以根据第一存储空间快速定位到所需查询的第一数据所存储的第一区块链,并且直接在与第一存储空间相对应的第一区块链中查询第一数据,在数据查询时,无需遍历不同的区块链进行迭代查询,简化了数据查询的过程,提高了数据查询的效率。另外,由于布隆过滤器中所存储的数据为无实际意义的属性值,因此,不会泄露数据的隐私,提高了数据存储和数据查询的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的一种数据查询系统的系统架构图;
图2是发明一个实施例提供的数据查询方法的流程示意图;
图3是本发明一个实施例提供的存储空间查询过程的原理示意图;
图4是本发明一个实施例提供的布隆过滤器更新过程的原理示意图;
图5是本发明一个实施例提供的数据查询装置的结构示意图;
图6是本发明实施例提供的数据查询设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,一个数据查询平台可能对接有多个区块链系统,相同属性的不同数据可能分别存储在不同的区块链系统的区块链中。
图1示出了现有的一种数据查询系统的系统架构图。如图1所示,该数据查询系统包括用户设备110、数据查询平台的服务器120和多个区块链系统130。其中,每个区块链系统130分别设置有一个区块链,每个区块链内分别存储有相同属性的不同数据。服务器120可以分别对接每个区块链系统130。用户设备110上安装有数据查询平台对应的数据查询应用程序。用户可以通过数据查询应用程序发起数据查询,使用户设备110生成数据查询请求,并将数据查询请求发送至服务器120,服务器120接收到数据查询请求后,可以响应于该数据查询请求,进行跨区块链查询,以依次遍历不同的区块链以查询数据查询请求对应的数据,使得数据查询的过程比较繁琐,数据查询的效率较低。
为了解决现有技术问题,本发明实施例提供了一种数据查询方法、装置、设备、系统及介质。下面首先对本发明实施例所提供的数据查询方法进行介绍。
图2示出了本发明一个实施例提供的数据查询方法的流程示意图。图2所示的方法可以由电子设备或者服务器执行。其中,电子设备可以为图1所示的用户设备110,服务器可以为图1所示的服务器120。
本发明实施例中,服务器可以是一种高性能的电子计算器,用于存储和处理数据;电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
如图2所示,该数据查询方法可以包括:
S210、接收数据查询请求;其中,数据查询请求包括第一索引信息;
S220、响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应,每个区块链中所存储的数据不同;
S230、在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。
在本发明实施例中,在接收到数据查询请求后,能够根据数据查询请求中的第一索引信息,在布隆过滤器的多个存储空间中查询与第一索引信息相匹配的第一存储空间,从而可以根据第一存储空间快速定位到所需查询的第一数据所存储的第一区块链,并且直接在与第一存储空间相对应的第一区块链中查询第一数据,在数据查询时,无需遍历不同的区块链进行迭代查询,简化了数据查询的过程,提高了数据查询的效率。另外,由于布隆过滤器中所存储的数据为无实际意义的属性值,因此,不会泄露数据的隐私,提高了数据存储和数据查询的安全性。
在本发明一些实施例的S210中,若数据查询方法由电子设备执行,例如电子设备为图1所示的用户设备110,则所接收的数据查询请求为用户输入的数据查询请求,例如,电子设备通过数据查询应用程序接收到的用户输入的数据查询请求。
在这些实施例中,电子设备存储有布隆过滤器。对于布隆过滤器而言,若布隆过滤器具有m个存储空间,每个存储空间可以存储x个字节的属性值,则布隆过滤器的总存储量为m*x个字节,可见,布隆过滤器的总存储量较低,仅会占用电子设备的少量存储资源,不会影响电子设备的数据处理效率。
进一步地,若数据查询方法由电子设备执行,在一些实施例中,S230的具体方法可以为:
获取第一区块链所存储的数据;
在所获取的数据中,查询与第一索引信息相对应的第一数据。
在这些实施例中,在电子设备利用其自身所存储的布隆过滤器,查询到与数据查询请求中的第一索引信息相匹配的第一存储空间的情况下,如果与第一存储空间相对于的第一区块链所属的第一区块链系统不具有第一网关节点,则电子设备可以直接利用第一区块链系统中的任一第一区块链节点,从第一区块链中下载第一区块链所存储的数据,然后,在所获取的数据中,查询与第一索引信息相对应的第一数据。
由此,电子设备可以直接利用基于第一索引信息所查询到的第一区块链对第一数据进行查询,提高了数据查询效率。
进一步地,若数据查询方法由电子设备执行,在另一些实施例中,S230的具体方法还可以为:
向第一网关节点发送数据查询请求,以使第一网关节点响应于数据查询请求,在第一区块链中查询与第一索引信息相对应的第一数据;其中,第一网关节点属于第一区块链系统,第一区块链系统为具有第一区块链的区块链系统;
接收第一网关节点反馈的第一数据。
在这些实施例中,在电子设备利用其自身所存储的布隆过滤器,查询到与数据查询请求中的第一索引信息相匹配的第一存储空间的情况下,如果与第一存储空间相对于的第一区块链所属的第一区块链系统具有第一网关节点,则电子设备可以向第一网关节点发送数据查询请求,以使第一网关节点响应于数据查询请求,在第一区块链中查询与第一索引信息相对应的第一数据,电子设备仅需接收第一网关节点反馈的第一数据即可,可以降低电子设备的数据处理量,进一步减少对电子设备的资源占用。
在本发明另一些实施例中,若数据查询方法由服务器执行,例如电子设备为图1所示的服务器120,则所接收的数据查询请求为目标设备发送的数据查询请求。此时,S210的具体方法可以为:接收目标设备发送的数据查询请求,其中,数据查询请求可以为用于基于第一索引信息查询第一数据的查询请求。
在这些实施例中,服务器内存储有布隆过滤器。对于布隆过滤器而言,若布隆过滤器具有m个存储空间,每个存储空间可以存储x个字节的属性值,则布隆过滤器的总存储量为m*x个字节,可见,布隆过滤器的总存储量较低,仅会占用服务器的少量存储资源,不会影响服务器的数据处理效率。
在本发明一些实施例中,若服务器为数据查询平台的服务器,则目标设备可以为安装有数据查询平台对应的数据查询应用程序的电子设备。在本发明另一些实施例中,若服务器为数据查询平台的服务器,则目标设备也可以为其他应用平台的服务器,此时,电子设备上安装有其他应用平台对应的应用程序,并且该其他应用平台能够与数据查询平台在数据查询功能上进行对接。
进一步地,若数据查询方法由服务器执行,在一些实施例中,S230的具体方法可以为:
获取第一区块链所存储的数据;
在所获取的数据中,查询与第一索引信息相对应的第一数据。
在这些实施例中,在服务器利用其自身所存储的布隆过滤器,查询到与数据查询请求中的第一索引信息相匹配的第一存储空间的情况下,如果与第一存储空间相对于的第一区块链所属的第一区块链系统不具有第一网关节点,则服务器可以直接利用第一区块链系统中的任一第一区块链节点,从第一区块链中下载第一区块链所存储的数据,然后,在所获取的数据中,查询与第一索引信息相对应的第一数据。
进一步地,若数据查询方法由服务器执行,在另一些实施例中,S230的具体方法可以为:
向第一网关节点发送数据查询请求,以使第一网关节点响应于数据查询请求,在第一区块链中查询与第一索引信息相对应的第一数据;其中,第一网关节点属于第一区块链系统,第一区块链系统为具有第一区块链的区块链系统;
接收第一网关节点反馈的第一数据。
在这些实施例中,在服务器利用其自身所存储的布隆过滤器,查询到与数据查询请求中的第一索引信息相匹配的第一存储空间的情况下,如果与第一存储空间相对于的第一区块链所属的第一区块链系统具有第一网关节点,则服务器可以向第一网关节点发送数据查询请求,以使第一网关节点响应于数据查询请求,在第一区块链中查询与第一索引信息相对应的第一数据,服务器仅需接收第一网关节点反馈的第一数据即可,可以降低服务器的数据处理量,进一步减少对服务器的资源占用。
在上述的实施例中,可选地,在S230之后,该数据查询方法还可以包括:
将第一数据发送至目标设备。
由此,服务器可以响应于目标设备所发送的数据查询请求,基于第一索引信息为目标设备快速地查询到第一数据,并且将所查到的第一数据反馈给目标设备,以使用户通过目标设备实现对第一数据的递归查询。
在本发明又一些实施例中,若数据查询方法由服务器执行,例如电子设备为图1所示的服务器120,则所接收的数据查询请求为目标设备发送的数据查询请求。此时,S210的具体方法可以为:接收目标设备发送的数据查询请求,其中,数据查询请求可以为用于基于第一索引信息查询第一数据所属的第一区块链的查询请求。
在这些实施例中,服务器内存储有布隆过滤器。对于布隆过滤器而言,若布隆过滤器具有m个存储空间,每个存储空间可以存储x个字节的属性值,则布隆过滤器的总存储量为m*x个字节,可见,布隆过滤器的总存储量较低,仅会占用服务器的少量存储资源,不会影响服务器的数据处理效率。
在本发明一些实施例中,若服务器为数据查询平台的服务器,则目标设备可以为安装有数据查询平台对应的数据查询应用程序的电子设备。在本发明另一些实施例中,若服务器为数据查询平台的服务器,则目标设备也可以为其他应用平台的服务器,此时,电子设备上安装有其他应用平台对应的应用程序,并且该其他应用平台能够与数据查询平台在数据查询功能上进行对接。
进一步地,若数据查询方法由服务器执行,在又一些实施例中,S230的具体方法可以为:
向目标设备发送查询指示信息,查询指示信息用于指示第一存储空间相对应的第一区块链,以使目标设备根据查询指示信息,在第一区块链中查询与第一索引信息相对应的第一数据。
由此,在服务器查询到与第一索引信息相匹配的第一存储空间后,可以将用于指示第一存储空间相对应的第一区块链的查询指示信息反馈至目标设备,以使目标设备基于该查询指示信息在第一区块链中查询与第一索引信息相对应的第一数据,以使用户通过目标设备实现对第一数据的迭代查询。
在一些实施例中,查询指示信息中可以包括第一区块链所属的第一区块链系统的区块链系统标识,从而使目标设备可以根据区块链系统标识找到第一区块链系统,以在第一区块链系统的第一区块链中查询与第一索引信息相对应的第一数据。在另一些实施例中,查询指示信息中可以包括第一区块链的区块链标识,从而使目标设备可以根据区块链标识直接找到第一区块链,以在第一区块链系统的第一区块链中查询与第一索引信息相对应的第一数据。
需要说明的是,在本发明实施例中,目标设备查询与第一索引信息相对应的第一数据的方法与电子设备或服务器查询与第一索引信息相对应的第一数据的方法相似,在此不做赘述。
在本发明实施例的S220中,继续以布隆过滤器具有m个存储空间,每个存储空间可以存储x个字节的属性值为例,每个存储空间与一个区块链相对应,则区块链也有m条,当接收到第一索引信息时,可以先根据每个存储空间所存储的各个字节的属性值,计算每个存储空间对应的判断值,若某个存储空间对应的判断值为真,则可以确定第一索引信息对应的第一数据存储在该存储空间对应的区块链上,将该存储空间作为第一存储空间,若全部存储空间对应的判断值均为假,则可以确定第一索引信息对应的第一数据不存在于任何区块链上。
每个存储空间有多个存储位置,每个存储位置对应一个字节,则每个存储空间有x个存储位置。具体地,可以查询第一索引信息对应的至少一个存储位置在每个存储空间中的属性值,若某个存储空间中这些存储位置的属性值均为预设值,则可以确定该存储空间对应的判断值为真,若某个存储空间中这些存储位置的属性值不全为预设值,则可以确定该存储空间对应的判断值为假。
在本发明一些实施例中,第一索引信息可以为第一数据索引标识,例如,如果第一数据为发票信息,第一数据索引标识可以为发票编码和/或发票代码构成的字符串,再例如,如果第一数据为加密货币信息,第一数据索引标识可以为账户地址对应的字符串。
在这些实施例中,S230的具体方法可以包括:
对第一数据索引标识进行哈希取模运算处理,得到第一数据索引标识对应的第一模数;
根据第一模数,确定第一数据索引标识对应的存储位置;
查询存储位置在每个存储空间中的属性值;
将存储位置的属性值均为预设值的存储空间,作为与第一索引信息相匹配的第一存储空间。
以第一数据索引标识为发票编码和发票代码构成的字符串为例,第一数据索引标识可以为由发票编码和发票代码首尾拼接所构成的字符串,对第一数据索引标识进行哈希取模运算处理后,可以得到第一数据索引标识对应的第一模数,由于每一个第一模数对应存储空间中的一个存储位置,因此,可以确定第一数据索引标识对应的存储位置,然后,可以查询存储位置在每个存储空间中的属性值,根据属性值确定与第一索引信息相匹配的第一存储空间,以提高第一存储空间的查找准确率。
在一些实施例中,为了进一步降低数据存储量,属性值可以由0和1代表,其中,1可以作为预设值,0可以作为初始值。
在本发明实施例中,对第一数据索引标识进行哈希取模运算处理的方法有多种。在一些实施例中,其中一种对第一数据索引标识进行哈希取模运算处理得到第一数据索引标识对应的第一模数的具体方法可以包括:
利用多个预设哈希函数分别对第一数据索引标识进行哈希运算处理,得到第一数据索引标识对应的多个第一哈希地址;
针对每个第一哈希地址,利用输出第一哈希地址的预设哈希函数对应的预设除数对第一哈希地址进行取模运算处理,得到第一数据索引标识对应的多个第一模数。
图3示出了本发明一个实施例提供的存储空间查询过程的原理示意图。如图3所示,第一数据索引标识可以为索引标识Y,属性值的预设值为1,预设哈希函数为Hash 1-Hash 3,预设除数为Mod 1-Mod 3,一个预设哈希函数与一个预设除数一一对应设置,即利用Hash得到的第一哈希地址,需要用Mod 1进行取模运算处理,得到第一模数。由此,可以利用Hash 1-Hash 3分别对索引标识Y进行哈希运算处理,得到3个第一哈希地址,然后利用Mod 1-Mod 3分别对对应的第一哈希地址进行取模运算处理,得到3个第一模数,3个第一模数分别对应3个存储位置。例如,第一模数2、4和7分别对应2、4和7号存储位置。
布隆过滤器具有3个存储空间,第二个存储空间的2、4和7号存储位置的属性值分别为1、1、1,则可以确定第二个存储空间对应的判断值为真,其他存储空间对应的判断值为假。因此,第二个存储空间为与第一索引信息相匹配的第一存储空间。
在本发明另一些实施例中,第一索引信息为第一数据索引标识对应的第一模数,即直接接收对第一数据索引标识进行哈希取模运算处理后得到的至少一个第一模数。
在这些实施例中,S230的具体方法可以包括:
根据第一模数,确定第一数据索引标识对应的存储位置;
查询存储位置在每个存储空间中的属性值;
将存储位置的属性值均为预设值的存储空间,作为与第一索引信息相匹配的第一存储空间。
在这些实施例中,由于每一个第一模数对应存储空间中的一个存储位置,可以直接确定每个第一模数对应的存储位置,然后,可以查询存储位置在每个存储空间中的属性值,根据属性值确定与第一索引信息相匹配的第一存储空间,从而减少数据处理量。
在本发明一些实施例中,查询存储位置在每个存储空间中的属性值的具体方法可以包括:
按照多个存储空间的排列顺序,依次查询存储位置在每个存储空间中的属性值。
继续参见图3,可以在对第一个存储空间的全部存储位置遍历查询,得到在第一个存储空间中的第一数据索引标识对应的存储位置的属性值后,再分别对第二个存储空间和第三个存储空间的全部存储位置进行遍历查询。这样,在查询到判断值为真的存储空间后,即可以停止查询。由此,在存储空间数量较少时,可以提高查询效率。
在本发明另一些实施例中,查询存储位置在每个存储空间中的属性值的具体方法可以包括:
针对每个存储位置,查询存储位置在每个目标存储空间中的属性值;其中,目标存储空间为具有目标存储位置的存储空间,目标存储位置为排列顺序与存储位置前相邻且属性值为预设值的存储位置。
继续参见图3,可以先查询每个存储空间内的2号存储位置的属性值,可以确定第一个存储空间和第二个存储空间中的2号存储位置的属性值为1,然后继续查询第一个存储空间和第二个存储空间中的4号存储位置的属性值,以此类推。由此,在存储空间内的存储位置数量较少时,可以提高查询效率。
在本发明一些实施例中,在能够利用布隆过滤器对第一索引信息对应的第一数据所属的第一区块链进行查询之前,还需要在布隆过滤器中的与第一区块链对应的第一存储空间内,将第一索引信息对应的至少一个存储位置的属性值设置为预设值。
在本发明另一些实施例中,还可以随时对布隆过滤器进行更新,以在其他数据对应的存储空间内将其他数据的索引信息对应的至少一个存储位置的属性值设置为预设值。
下面,将以第二数据和第二数据的第二索引信息对如何更新布隆过滤器进行说明。其中,第二索引信息与第一索引信息的区别在于,第一索引信息未携带有区块链系统标识或区块链标识,而第二索引信息携带有区块链系统标识或区块链标识。
在本发明一些实施例中,在S210之前,该数据查询方法还可以包括:
接收第二索引信息;
根据第二索引信息,更新布隆过滤器中的第二存储空间;其中,第二存储空间为与第二区块链相对应的存储空间,第二区块链为第二索引信息对应的第二数据所存储的区块链。
具体地,由于第二索引信息携带有区块链系统标识或区块链标识,可以直接根据第二索引信息所携带的区块链系统标识或区块链标识,对区块链系统标识或区块链标识对应的第二存储空间进行更新。
在本发明一些实施例中,第二索引信息可以为第二数据索引标识,例如,如果第二数据为发票信息,第二数据索引标识可以为发票编码和/或发票代码构成的字符串,再例如,如果第二数据为加密货币信息,第二数据索引标识可以为账户地址对应的字符串。
其中,第二数据可以为与第一数据相同的数据,也可以为与第一数据不同的其他数据。
在这些实施例中,根据第二索引信息更新布隆过滤器中的第二存储空间的具体方法可以包括:
对第二数据索引标识进行哈希取模运算处理,得到第二数据索引标识对应的第二模数;
根据第二模数,确定第二数据索引标识对应的存储位置;
将第二存储空间中的存储位置的属性值,由初始值更新为预设值。
具体地,对第二数据索引标识进行哈希取模运算处理的方法与上述的对第一数据索引标识进行哈希取模运算处理的方法相似,在此不做赘述。
图4示出了本发明一个实施例提供的布隆过滤器更新过程的原理示意图。如图4所示,第二数据索引标识可以为索引标识X,索引标识X携带有区块链标识,属性值的预设值为1,预设哈希函数为Hash 1-Hash 3,预设除数为Mod 1-Mod 3,一个预设哈希函数与一个预设除数一一对应设置,即利用Hash得到的第二哈希地址,需要用Mod 1进行取模运算处理,得到第二模数。由此,可以利用Hash 1-Hash 3分别对索引标识X进行哈希运算处理,得到3个第二哈希地址,然后利用Mod 1-Mod 3分别对对应的第二哈希地址进行取模运算处理,得到3个第二模数,3个第二模数分别对应3个存储位置。例如,第一模数2、4和7分别对应2、4和7号存储位置。
布隆过滤器具有3个存储空间,每个存储空间对应一个区块链,根据索引标识X所携带的区块链标识,可以确定区块链标识对应的第二个存储空间为第二存储空间,则将第二个存储空间的2、4和7号存储位置的属性值分别设置为1、1、1,完成布隆过滤器针对索引标识X的更新。
在本发明另一些实施例中,第二索引信息为第二数据索引标识对应的第二模数,即直接接收对第二数据索引标识进行哈希取模运算处理后得到的至少一个第二模数。
在这些实施例中,根据第二索引信息更新布隆过滤器中的第二存储空间的具体方法可以包括:
根据第二模数,确定第二数据索引标识对应的存储位置;
将第二存储空间中的存储位置的属性值,由初始值更新为预设值。
在这些实施例中,由于每一个第二模数对应存储空间中的一个存储位置,并且第二模数携带有区块链标识,则可以直接在区块链标识对应的第二存储空间中确定每个第二模数对应的存储位置,然后,将所确定的存储位置的属性值更新为预设值。
在本发明实施例中,可以通过区块链系统推送、存储有布隆过滤器的服务器或电子设备对各个区块链系统进行监听、或者存储有布隆过滤器的服务器或电子设备对各个区块链进行查询的方法,获取第二索引信息进行获取。
在一些实施例中,接收第二索引信息的具体方法可以包括:
接收第二网关节点发送的第一通知信息;其中,第二网关节点属于第二区块链系统,第二区块链系统为具有第二区块链的区块链系统,第一通知信息用于表征第二区块链系统已经将第二数据存储在第二区块链中,第一通知信息包括第二索引信息。
在第二区块链系统具有第二网关节点的情况下,由于网关节点能够与其他系统进行通信,第二网关节点在第二区块链中上传了第二数据时,可以主动将包括第二数据对应的第二索引信息的第一通知信息发送给存储有布隆过滤器的服务器或电子设备,以使存储有布隆过滤器的服务器或电子设备接收第一通知信息,并且从第一通知信息中获取携带有区块链系统标识或者区块链标识的第二索引信息。
在这些实施例中,第二索引信息可以为第二数据索引标识,也可以为第二数据索引标识对应的第二模数。
在另一些实施例中,在接收第二索引信息之前,该数据查询方法还可以包括:
向第二区块链节点发送事件注册请求,以使第二区块链节点响应于事件注册请求,注册监听事件;其中,监听事件用于监听第二数据的数据存储事件,第二区块链节点属于第二区块链系统,第二区块链系统为具有第二区块链的区块链系统;
在这些实施例中,接收第二索引信息的具体方法可以包括:
接收第二区块链节点发送的第二通知信息;其中,第二通知信息用于表征第二区块链系统触发监听事件,第二通知信息包括第二索引信息。
在第二区块链系统不具有第二网关节点的情况下,存储有布隆过滤器的服务器或电子设备可以向第二区块链系统中的每个第二区块链节点发送事件注册请求,以使每个第二区块链节点中分别注册用于监听第二数据的数据存储事件的监听事件,只要是任一个第二区块链节点向第二区块链上传了第二数据,该第二区块链节点内的监听事件则会被触发,该第二区块链节点会向存储有布隆过滤器的服务器或电子设备反馈触发监听事件的第二通知信息,使得存储有布隆过滤器的服务器或电子设备可以从接收到的第二通知信息中获取携带有区块链系统标识或者区块链标识的第二索引信息。
在这些实施例中,第二索引信息可以为第二数据索引标识。
在又一些实施例中,接收第二索引信息的具体方法可以包括:
接收第二区块链在当前时刻下所存储的当前数据和在上一时刻下所存储的历史数据;
将存在于当前数据中且不存在于历史数据中的数据,作为第二数据;
获取第二数据的第二索引信息。
在这些实施例中,存储有布隆过滤器的服务器或电子设备可以实时地获取每个时刻下第二区块链所存储的数据,并且将在当前时刻下所存储的当前数据和在上一时刻下所存储的历史数据进行比较,将存在于当前数据中且不存在于历史数据中的数据,即第二区块链中新增的数据作为第二数据,然后从第二数据中获取第二索引信息。
在这些实施例中,第二索引信息可以为第二数据索引标识。
在本发明一些实施例中,在数据查询方法由服务器执行的情况下,服务器可以为数据查询平台的服务器集群中的任一个服务器,布隆过滤器可以存储在服务器的任何存储区域存储。
在本发明另一些实施例中,在数据查询方法由服务器执行的情况下,服务器可以为数据查询平台对应的查询平台区块链系统的任一个查询平台区块链节点,即第三区块链节点,查询平台区块链系统可以为多个用于存储待查询的数据的区块链系统共建的分布式账本平台系统,即第三区块链系统,查询平台区块链系统的每个查询平台区块链节点对应一个用于存储待查询的数据的区块链系统,使每个查询平台区块链节点与对应的区块链系统之间可以进行通信,以获取对应的区块链系统发送的第二索引信息。
在这些实施例中,第三区块链节点属于第三区块链系统,第三区块链系统对应的第三区块链用于存储布隆过滤器的更新数据,即每当第三区块链节点接收到第二索引信息,并基于第二索引信息对布隆过滤器进行更新后,本次更新的更新数据被上传至第三区块链系统对应的第三区块链。而布隆过滤器可以存储于第三区块链节点的全局状态存储空间内,从而保证布隆过滤器中的各个存储位置的属性值可以更改。
在本发明实施例中,第一区块链和第二区块链可以分别是同构或异构的区块链,在此不做限制。
图5示出了本发明一个实施例提供的数据查询装置的结构示意图。图5所示的装置可以设置于电子设备或者服务器内。其中,电子设备可以为图1所示的用户设备110,服务器可以为图1所示的服务器120。
本发明实施例中,服务器可以是一种高性能的电子计算器,用于存储和处理数据;电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
如图5所示,该数据查询装置可以包括:
请求接收模块310,用于接收数据查询请求;其中,数据查询请求包括第一索引信息;
空间查询模块320,用于响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应,每个区块链中所存储的数据不同;
数据查询模块330,用于在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。
在本发明实施例中,在接收到数据查询请求后,能够根据数据查询请求中的第一索引信息,在布隆过滤器的多个存储空间中查询与第一索引信息相匹配的第一存储空间,从而可以根据第一存储空间快速定位到所需查询的第一数据所存储的第一区块链,并且直接在与第一存储空间相对应的第一区块链中查询第一数据,在数据查询时,无需遍历不同的区块链进行迭代查询,简化了数据查询的过程,提高了数据查询的效率。另外,由于布隆过滤器中所存储的数据为无实际意义的属性值,因此,不会泄露数据的隐私,提高了数据存储和数据查询的安全性。
在本发明一些实施例中,第一索引信息可以为第一数据索引标识。
在这些实施例中,空间查询模块320可以具体用于:
对第一数据索引标识进行哈希取模运算处理,得到第一数据索引标识对应的第一模数;
根据第一模数,确定第一数据索引标识对应的存储位置;
查询存储位置在每个存储空间中的属性值;
将存储位置的属性值均为预设值的存储空间,作为与第一索引信息相匹配的第一存储空间。
在这些实施例中,可选地,空间查询模块320可以进一步用于:
利用多个预设哈希函数分别对第一数据索引标识进行哈希运算处理,得到第一数据索引标识对应的多个第一哈希地址;
针对每个第一哈希地址,利用输出第一哈希地址的预设哈希函数对应的预设除数对第一哈希地址进行取模运算处理,得到第一数据索引标识对应的多个第一模数。
在本发明另一些实施例中,第一索引信息可以为第一数据索引标识对应的第一模数。
在这些实施例中,空间查询模块320还可以具体用于:
根据第一模数,确定第一数据索引标识对应的存储位置;
查询存储位置在每个存储空间中的属性值;
将存储位置的属性值均为预设值的存储空间,作为与第一索引信息相匹配的第一存储空间。
在本发明一些实施例中,空间查询模块320可以具体用于:
按照多个存储空间的排列顺序,依次查询存储位置在每个存储空间中的属性值。
在本发明另一些实施例中,空间查询模块320还可以具体用于:
针对每个存储位置,查询存储位置在每个目标存储空间中的属性值;其中,目标存储空间为具有目标存储位置的存储空间,目标存储位置为排列顺序与存储位置前相邻且属性值为预设值的存储位置。
在本发明一些实施例中,该数据查询装置还可以包括:
信息接收模块,用于接收第二索引信息;
信息更新模块,用于根据第二索引信息,更新布隆过滤器中的第二存储空间;其中,第二存储空间为与第二区块链相对应的存储空间,第二区块链为第二索引信息对应的第二数据所存储的区块链。
在本发明一些实施例中,第二索引信息可以为第二数据索引标识。
在这些实施例中,信息更新模块可以具体用于:
对第二数据索引标识进行哈希取模运算处理,得到第二数据索引标识对应的第二模数;
根据第二模数,确定第二数据索引标识对应的存储位置;
将第二存储空间中的存储位置的属性值,由初始值更新为预设值。
在本发明另一些实施例中,第二索引信息可以为第二数据索引标识对应的第二模数。
在这些实施例中,信息更新模块还可以具体用于:
根据第二模数,确定第二数据索引标识对应的存储位置;
将第二存储空间中的存储位置的属性值,由初始值更新为预设值。
在本发明一些实施例中,信息接收模块可以具体用于:
接收第二网关节点发送的第一通知信息;其中,第二网关节点属于第二区块链系统,第二区块链系统为具有第二区块链的区块链系统,第一通知信息用于表征第二区块链系统已经将第二数据存储在第二区块链中,第一通知信息包括第二索引信息。
在本发明另一些实施例中,该数据查询装置还可以包括:
请求发送模块,用于向第二区块链节点发送事件注册请求,以使第二区块链节点响应于事件注册请求,注册监听事件;其中,监听事件用于监听第二数据的数据存储事件,第二区块链节点属于第二区块链系统,第二区块链系统为具有第二区块链的区块链系统;
在这些实施例中,信息接收模块还可以具体用于:
接收第二区块链节点发送的第二通知信息;其中,第二通知信息用于表征第二区块链系统触发监听事件,第二通知信息包括第二索引信息。
在本发明又一些实施例中,信息接收模块也可以具体用于:
接收第二区块链在当前时刻下所存储的当前数据和在上一时刻下所存储的历史数据;
将存在于当前数据中且不存在于历史数据中的数据,作为第二数据;
获取第二数据的第二索引信息。
在本发明一些实施例中,布隆过滤器可以存储于第三区块链节点的全局状态存储空间内,第三区块链节点属于第三区块链系统,第三区块链系统对应的第三区块链用于存储布隆过滤器的更新数据。
在本发明一些实施例中,数据查询模块330可以具体用于:
获取第一区块链所存储的数据;
在所获取的数据中,查询与第一索引信息相对应的第一数据。
在这些实施例中,可选地,请求接收模块310可以具体用于:
接收目标设备发送的数据查询请求;
在这些实施例中,可选地,该数据查询装置还可以包括:
数据发送模块,用于将第一数据发送至目标设备。
在本发明另一些实施例中,请求接收模块310还可以具体用于:
接收目标设备发送的数据查询请求;
在这些实施例中,可选地,数据查询模块330还可以具体用于:
向目标设备发送查询指示信息,查询指示信息用于指示第一存储空间相对应的第一区块链,以使目标设备根据查询指示信息,在第一区块链中查询与第一索引信息相对应的第一数据。
在本发明又一些实施例中,数据查询模块330也可以具体用于:
向第一网关节点发送数据查询请求,以使第一网关节点响应于数据查询请求,在第一区块链中查询与第一索引信息相对应的第一数据;其中,第一网关节点属于第一区块链系统,第一区块链系统为具有第一区块链的区块链系统;
接收第一网关节点反馈的第一数据。
需要说明的是,本发明实施例提供的数据查询装置能够实现图2-4的方法实施例中电子设备或者服务器所实现的各个过程和效果,并且实现各个过程的原理相似,为避免重复,这里不再赘述。
图6示出了本发明实施例提供的数据查询设备的硬件结构示意图。如图6所示,数据查询设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种数据查询方法。
在一个示例中,数据查询设备还可包括通信接口403和总线410。其中,如图6所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将数据查询设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-E4press(PCI-4)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该数据查询设备可以执行本发明实施例中的数据查询方法,从而实现结合图2至图5描述的数据查询方法和装置。
另外,结合上述实施例中的数据查询方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据查询方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明实施例还提供了一种数据查询系统,该包括数据查询系统多个区块链系统和数据查询设备。其中,每个区块链系统具有一个区块链,每个区块链中所存储的数据不同。数据查询设备用于接收数据查询请求;其中,数据查询请求包括第一索引信息;响应于数据查询请求,在布隆过滤器的多个存储空间中,查询与第一索引信息相匹配的第一存储空间;其中,一个存储空间与一个区块链相对应;在与第一存储空间相对应的第一区块链中,查询与第一索引信息相对应的第一数据。
在本发明实施例中,在接收到数据查询请求后,能够根据数据查询请求中的第一索引信息,在布隆过滤器的多个存储空间中查询与第一索引信息相匹配的第一存储空间,从而可以根据第一存储空间快速定位到所需查询的第一数据所存储的第一区块链,并且直接在与第一存储空间相对应的第一区块链中查询第一数据,在数据查询时,无需遍历不同的区块链进行迭代查询,简化了数据查询的过程,提高了数据查询的效率。另外,由于布隆过滤器中所存储的数据为无实际意义的属性值,因此,不会泄露数据的隐私,提高了数据存储和数据查询的安全性。
在本发明实施例中,数据查询设备可以为电子设备或者服务器。其中,电子设备可以为图1所示的用户设备110,服务器可以为图1所示的服务器120。
本发明实施例中,服务器可以是一种高性能的电子计算器,用于存储和处理数据;电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
以数据查询设备为数据查询平台的服务器、区块链系统为存储电子发票信息的区块链系统为例,每个发票系统可以分别通过该发票系统对应的区块链系统存储其所拥有的电子发票信息,例如,深圳税务局的发票系统采用TrustSQL区块链底层平台建设其对应的区块链系统,用于存储深圳税务局开具的电子发票信息。再例如,福建税务局的发票系统采用Hyperledger Fabric联盟链建设其对应的区块链系统,用于存储福建税务局开具的电子发票信息。此时,数据索引标识为由发票编码和发票代码首尾拼接所构成的字符串。
用户可以向安装有数据查询平台对应的数据查询应用程序的电子设备输入发票编码和发票代码,使电子设备生成数据查询请求,并发送给数据查询设备,数据查询设备获取数据查询设备中的数据索引标识后,可在布隆过滤器的多个存储空间中,查询与数据索引标识相匹配的存储空间,最终,在与所查询的存储空间相对应的区块链中,查询与数据索引标识相对应的电子发票信息。
再以数据查询设备为数据查询平台的服务器、区块链系统为存储加密货币信息的区块链系统为例,每个加密货币平台系统可以分别通过该加密货币平台系统对应的区块链系统存储其所拥有的加密货币信息,例如,比特币(Bitcoin)、以太币(Ethereum)、柚子币(EOS)、泰达币(USDT)、瑞波币(XRP)等加密货币平台系统都有各自的区块链系统。此时,数据索引标识为账户地址对应的字符串。
用户可以向安装有数据查询平台对应的数据查询应用程序的电子设备输入账户地址,使电子设备生成数据查询请求,并发送给数据查询设备,数据查询设备获取数据查询设备中的数据索引标识后,可在布隆过滤器的多个存储空间中,查询与数据索引标识相匹配的存储空间,最终,在与所查询的存储空间相对应的区块链中,查询与数据索引标识相对应的加密货币信息。
需要说明的是,本发明实施例提供的数据查询设备能够实现图2-4的方法实施例中电子设备或者服务器所实现的各个过程和效果,并且实现各个过程的原理相似,为避免重复,这里不再赘述。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (21)
1.一种数据查询方法,其特征在于,包括:
接收数据查询请求;其中,所述数据查询请求包括第一索引信息;
响应于所述数据查询请求,在布隆过滤器的多个存储空间中,查询与所述第一索引信息相匹配的第一存储空间;其中,一个所述存储空间与一个区块链相对应,每个所述区块链中所存储的数据不同;
在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据。
2.根据权利要求1所述的方法,其特征在于,所述第一索引信息为第一数据索引标识;
其中,所述在布隆过滤器的多个存储空间中,查询与所述第一索引信息相匹配的第一存储空间,包括:
对所述第一数据索引标识进行哈希取模运算处理,得到所述第一数据索引标识对应的第一模数;
根据所述第一模数,确定所述第一数据索引标识对应的存储位置;
查询所述存储位置在每个所述存储空间中的属性值;
将所述存储位置的属性值均为预设值的存储空间,作为与所述第一索引信息相匹配的所述第一存储空间。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一数据索引标识进行哈希取模运算处理,得到所述第一数据索引标识对应的第一模数,包括:
利用多个预设哈希函数分别对所述第一数据索引标识进行哈希运算处理,得到所述第一数据索引标识对应的多个第一哈希地址;
针对每个所述第一哈希地址,利用输出所述第一哈希地址的预设哈希函数对应的预设除数对所述第一哈希地址进行取模运算处理,得到所述第一数据索引标识对应的多个第一模数。
4.根据权利要求1所述的方法,其特征在于,所述第一索引信息为第一数据索引标识对应的第一模数;
其中,所述在布隆过滤器的多个存储空间中,查询与所述第一索引信息相匹配的第一存储空间,包括:
根据所述第一模数,确定所述第一数据索引标识对应的存储位置;
查询所述存储位置在每个所述存储空间中的属性值;
将所述存储位置的属性值均为预设值的存储空间,作为与所述第一索引信息相匹配的所述第一存储空间。
5.根据权利要求2或4所述的方法,其特征在于,所述查询所述存储位置在每个所述存储空间中的属性值,包括:
按照多个所述存储空间的排列顺序,依次查询所述存储位置在每个所述存储空间中的属性值。
6.根据权利要求2或4所述的方法,其特征在于,所述查询所述存储位置在每个所述存储空间中的属性值,包括:
针对每个所述存储位置,查询所述存储位置在每个目标存储空间中的属性值;其中,所述目标存储空间为具有目标存储位置的存储空间,所述目标存储位置为排列顺序与所述存储位置前相邻且属性值为所述预设值的存储位置。
7.根据权利要求1所述的方法,其特征在于,所述接收数据查询请求之前,还包括:
接收第二索引信息;
根据所述第二索引信息,更新所述布隆过滤器中的第二存储空间;其中,所述第二存储空间为与第二区块链相对应的存储空间,所述第二区块链为所述第二索引信息对应的第二数据所存储的区块链。
8.根据权利要求7所述的方法,其特征在于,所述第二索引信息为第二数据索引标识;
其中,所述根据所述第二索引信息,更新所述布隆过滤器中的第二存储空间,包括:
对所述第二数据索引标识进行哈希取模运算处理,得到所述第二数据索引标识对应的第二模数;
根据所述第二模数,确定所述第二数据索引标识对应的存储位置;
将所述第二存储空间中的所述存储位置的属性值,由初始值更新为预设值。
9.根据权利要求7所述的方法,其特征在于,所述第二索引信息为第二数据索引标识对应的第二模数;
其中,所述根据所述第二索引信息,更新所述布隆过滤器中的第二存储空间,包括:
根据所述第二模数,确定所述第二数据索引标识对应的存储位置;
将所述第二存储空间中的所述存储位置的属性值,由初始值更新为预设值。
10.根据权利要求7所述的方法,其特征在于,所述接收第二索引信息,包括:
接收第二网关节点发送的第一通知信息;其中,所述第二网关节点属于第二区块链系统,所述第二区块链系统为具有所述第二区块链的区块链系统,所述第一通知信息用于表征所述第二区块链系统已经将所述第二数据存储在所述第二区块链中,所述第一通知信息包括所述第二索引信息。
11.根据权利要求7所述的方法,其特征在于,所述接收第二索引信息之前,还包括:
向第二区块链节点发送事件注册请求,以使所述第二区块链节点响应于所述事件注册请求,注册监听事件;其中,所述监听事件用于监听所述第二数据的数据存储事件,所述第二区块链节点属于第二区块链系统,所述第二区块链系统为具有所述第二区块链的区块链系统;
其中,所述接收第二索引信息,包括:
接收所述第二区块链节点发送的第二通知信息;其中,所述第二通知信息用于表征所述第二区块链系统触发所述监听事件,所述第二通知信息包括所述第二索引信息。
12.根据权利要求7所述的方法,其特征在于,所述接收第二索引信息,包括:
接收所述第二区块链在当前时刻下所存储的当前数据和在上一时刻下所存储的历史数据;
将存在于所述当前数据中且不存在于所述历史数据中的数据,作为所述第二数据;
获取所述第二数据的所述第二索引信息。
13.根据权利要求7所述的方法,其特征在于,所述布隆过滤器存储于第三区块链节点的全局状态存储空间内,所述第三区块链节点属于第三区块链系统,所述第三区块链系统对应的第三区块链用于存储所述布隆过滤器的更新数据。
14.根据权利要求1所述的方法,其特征在于,所述在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据,包括:
获取所述第一区块链所存储的数据;
在所获取的数据中,查询与所述第一索引信息相对应的第一数据。
15.根据权利要求14所述的方法,其特征在于,所述接收数据查询请求,包括:
接收目标设备发送的所述数据查询请求;
其中,所述在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据之后,还包括:
将所述第一数据发送至所述目标设备。
16.根据权利要求1所述的方法,其特征在于,所述接收数据查询请求,包括:
接收目标设备发送的所述数据查询请求;
其中,所述在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据,包括:
向所述目标设备发送查询指示信息,所述查询指示信息用于指示所述第一存储空间相对应的第一区块链,以使所述目标设备根据所述查询指示信息,在所述第一区块链中查询与所述第一索引信息相对应的第一数据。
17.根据权利要求1所述的方法,其特征在于,所述在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据,包括:
向第一网关节点发送所述数据查询请求,以使所述第一网关节点响应于所述数据查询请求,在所述第一区块链中查询与所述第一索引信息相对应的所述第一数据;其中,所述第一网关节点属于第一区块链系统,所述第一区块链系统为具有所述第一区块链的区块链系统;
接收所述第一网关节点反馈的所述第一数据。
18.一种数据查询装置,其特征在于,包括:
请求接收模块,用于接收数据查询请求;其中,所述数据查询请求包括第一索引信息;
空间查询模块,用于响应于所述数据查询请求,在布隆过滤器的多个存储空间中,查询与所述第一索引信息相匹配的第一存储空间;其中,一个所述存储空间与一个区块链相对应,每个所述区块链中所存储的数据不同;
数据查询模块,用于在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据。
19.一种数据查询设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-17任意一项所述的数据查询方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-17任意一项所述的数据查询方法。
21.一种数据查询系统,其特征在于,包括:
多个区块链系统,每个所述区块链系统具有一个区块链,每个所述区块链中所存储的数据不同;
数据查询设备,用于接收数据查询请求;其中,所述数据查询请求包括第一索引信息;响应于所述数据查询请求,在布隆过滤器的多个存储空间中,查询与所述第一索引信息相匹配的第一存储空间;其中,一个所述存储空间与一个所述区块链相对应;在与所述第一存储空间相对应的第一区块链中,查询与所述第一索引信息相对应的第一数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382203.0A CN111143371B (zh) | 2019-12-27 | 2019-12-27 | 数据查询方法、装置、设备、系统及介质 |
PCT/CN2020/121086 WO2021129062A1 (zh) | 2019-12-27 | 2020-10-15 | 数据查询方法、装置、设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382203.0A CN111143371B (zh) | 2019-12-27 | 2019-12-27 | 数据查询方法、装置、设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143371A true CN111143371A (zh) | 2020-05-12 |
CN111143371B CN111143371B (zh) | 2023-09-19 |
Family
ID=70521250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911382203.0A Active CN111143371B (zh) | 2019-12-27 | 2019-12-27 | 数据查询方法、装置、设备、系统及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111143371B (zh) |
WO (1) | WO2021129062A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966731A (zh) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 一种在区块链系统中查询数据的方法和装置 |
CN112001796A (zh) * | 2020-10-26 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 在区块链系统中进行业务处理的方法和装置 |
CN112632342A (zh) * | 2020-12-29 | 2021-04-09 | 北京大米科技有限公司 | 数据查询方法、装置、存储介质及电子设备 |
CN112948438A (zh) * | 2021-03-05 | 2021-06-11 | 杭州复杂美科技有限公司 | 数据查询方法、计算机设备和存储介质 |
WO2021129062A1 (zh) * | 2019-12-27 | 2021-07-01 | 中国银联股份有限公司 | 数据查询方法、装置、设备、系统及介质 |
CN113205424A (zh) * | 2020-10-28 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 在区块链中部署和调用合约的方法和装置 |
CN113239078A (zh) * | 2021-05-17 | 2021-08-10 | 国网河南省电力公司信息通信公司 | 一种基于联盟链的数据快速查询方法 |
CN113485949A (zh) * | 2021-05-28 | 2021-10-08 | 浙江毫微米科技有限公司 | 数据处理方法、芯片及计算机可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138867A (zh) * | 2021-12-02 | 2022-03-04 | 杭州复杂美科技有限公司 | 区块链多项查询方法、计算机设备和存储介质 |
CN117521152B (zh) * | 2024-01-05 | 2024-05-07 | 同盾科技有限公司 | 数据更新方法、匿踪查询方法、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167811A (zh) * | 2018-07-27 | 2019-01-08 | 阿里巴巴集团控股有限公司 | 一种基于区块链的跨链数据访问方法和装置 |
CN109918398A (zh) * | 2019-02-26 | 2019-06-21 | 符安文 | 一种基于区块链的数据搜索分类方法 |
CN109933586A (zh) * | 2019-02-26 | 2019-06-25 | 符安文 | 一种基于区块链最优化位置索引的管理方法 |
US20190361842A1 (en) * | 2018-05-24 | 2019-11-28 | Luther Systems | System and method for efficient and secure private similarity detection for large private document repositories |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
US11269839B2 (en) * | 2018-06-05 | 2022-03-08 | Oracle International Corporation | Authenticated key-value stores supporting partial state |
CN110597912B (zh) * | 2019-09-17 | 2024-01-16 | 深圳前海微众银行股份有限公司 | 一种区块存储方法及装置 |
CN111143371B (zh) * | 2019-12-27 | 2023-09-19 | 中国银联股份有限公司 | 数据查询方法、装置、设备、系统及介质 |
-
2019
- 2019-12-27 CN CN201911382203.0A patent/CN111143371B/zh active Active
-
2020
- 2020-10-15 WO PCT/CN2020/121086 patent/WO2021129062A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190361842A1 (en) * | 2018-05-24 | 2019-11-28 | Luther Systems | System and method for efficient and secure private similarity detection for large private document repositories |
CN109167811A (zh) * | 2018-07-27 | 2019-01-08 | 阿里巴巴集团控股有限公司 | 一种基于区块链的跨链数据访问方法和装置 |
CN109918398A (zh) * | 2019-02-26 | 2019-06-21 | 符安文 | 一种基于区块链的数据搜索分类方法 |
CN109933586A (zh) * | 2019-02-26 | 2019-06-25 | 符安文 | 一种基于区块链最优化位置索引的管理方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129062A1 (zh) * | 2019-12-27 | 2021-07-01 | 中国银联股份有限公司 | 数据查询方法、装置、设备、系统及介质 |
CN111966731A (zh) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 一种在区块链系统中查询数据的方法和装置 |
CN112001796A (zh) * | 2020-10-26 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 在区块链系统中进行业务处理的方法和装置 |
CN113205424A (zh) * | 2020-10-28 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 在区块链中部署和调用合约的方法和装置 |
CN112632342A (zh) * | 2020-12-29 | 2021-04-09 | 北京大米科技有限公司 | 数据查询方法、装置、存储介质及电子设备 |
CN112948438A (zh) * | 2021-03-05 | 2021-06-11 | 杭州复杂美科技有限公司 | 数据查询方法、计算机设备和存储介质 |
CN112948438B (zh) * | 2021-03-05 | 2022-06-24 | 杭州复杂美科技有限公司 | 数据查询方法、计算机设备和存储介质 |
CN113239078A (zh) * | 2021-05-17 | 2021-08-10 | 国网河南省电力公司信息通信公司 | 一种基于联盟链的数据快速查询方法 |
CN113485949A (zh) * | 2021-05-28 | 2021-10-08 | 浙江毫微米科技有限公司 | 数据处理方法、芯片及计算机可读存储介质 |
CN113485949B (zh) * | 2021-05-28 | 2023-06-20 | 浙江毫微米科技有限公司 | 数据处理方法、芯片及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111143371B (zh) | 2023-09-19 |
WO2021129062A1 (zh) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143371B (zh) | 数据查询方法、装置、设备、系统及介质 | |
KR102105636B1 (ko) | 원격으로 애플리케이션들을 설치 | |
CN108810116B (zh) | 消息处理方法及相关产品 | |
EP3968607B1 (en) | Service invocation methods | |
CN109814524B (zh) | 一种车辆诊断方法、装置及系统 | |
CN112422711B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN111277635B (zh) | 一种外部节点接入区块链方法、设备、装置及计算机介质 | |
CN114465998B (zh) | 多设备的文件传输方法、装置、终端设备及可读存储介质 | |
CN111131079B (zh) | 一种策略查询方法及装置 | |
CN110990350B (zh) | 日志的解析方法及装置 | |
CN113434293A (zh) | 处理重复请求的方法和装置、存储介质及电子装置 | |
CN109067744B (zh) | Acl规则处理方法、装置及通信设备 | |
CN104144170A (zh) | 网页地址的过滤方法、装置和系统 | |
CN110427538B (zh) | 一种数据查询方法、存储方法、装置及电子设备 | |
CN109842482B (zh) | 一种信息同步方法、系统及终端设备 | |
CN107819761B (zh) | 数据处理方法、装置及可读存储介质 | |
CN112688870B (zh) | 一种路由方法、路由装置及节点设备 | |
CN113672669B (zh) | 基于分布式存储的数据查询方法及装置 | |
CN110990611B (zh) | 图片缓存方法、装置、电子设备及存储介质 | |
CN110493735B (zh) | 一种短信处理方法及装置 | |
CN112256706B (zh) | 一种handle引用状态的确定方法及装置 | |
CN110071967B (zh) | 关联方法、装置及设备 | |
CN116934469A (zh) | 一种区块链交易的方法、装置、设备及计算机存储介质 | |
CN114710450A (zh) | 流量控制方法、装置、设备及计算机存储介质 | |
CN115421823A (zh) | 一种业务请求处理方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |