CN113157735A - 一种区块链存储数据的查询方法及装置 - Google Patents

一种区块链存储数据的查询方法及装置 Download PDF

Info

Publication number
CN113157735A
CN113157735A CN202110426757.7A CN202110426757A CN113157735A CN 113157735 A CN113157735 A CN 113157735A CN 202110426757 A CN202110426757 A CN 202110426757A CN 113157735 A CN113157735 A CN 113157735A
Authority
CN
China
Prior art keywords
data
information
hash value
semantic
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.)
Pending
Application number
CN202110426757.7A
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110426757.7A priority Critical patent/CN113157735A/zh
Publication of CN113157735A publication Critical patent/CN113157735A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种区块链存储数据的查询方法及装置,包括:根据用户提交的查询信息,获取所述查询信息的哈希值;所述查询信息包括区块号、表名称、关键字或语义以及时态信息;根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。本发明的方法,通过结合区块链存储系统的特性,在外部数据库预先构建多层级索引树,使得用户进行数据查询时,系统可以通过查询信息的哈希值,快速检索到查询信息的哈希值对应的目标存储数据,提高了查询效率。

Description

一种区块链存储数据的查询方法及装置
技术领域
本发明涉及信息处理领域,尤其涉及一种区块链存储数据的查询方法及装置。
背景技术
目前,大数据的迅猛发展给数据管理以及数据安全领域带来了很大的挑战。例如多源原始数据构成的数据湖成为了关注的焦点,面向这种复杂数据的管理以及数据安全性保证是比较大的难点。随着区块链技术的发展,利用区块链技术本身的加密属性来对数据进行存储逐渐成为一个热点方向,利用区块链技术的天然加密属性,可以有效地对数据安全、数据隐私进行保护。
然而,目前的区块链存储系统本质上仅仅是以区块链的方式来对数据进行组织,这样虽然可以提高数据的安全以及加密特性,但由于区块链系统的链式存储特性,原生区块链存储系统只能按照线性方式进行数据查找,在数据量很大的情况下这种方式显然不可行,使得数据检索以及面向分布式数据库的事务处理面临很大的障碍,检索效率较低。
因此,如何更好地实现基于区块链存储系统的事务处理与查询,已成为业界关注的研究重点。
发明内容
本发明提供一种区块链存储数据的查询方法及装置,用以更好地实现基于区块链存储系统的事务处理以及查询。
本发明提供一种区块链存储数据的查询方法,包括:
根据用户提交的查询信息,获取所述查询信息的哈希值;
其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;
根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;
其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
根据本发明提供的一种区块链存储数据的查询方法,所述根据用户提交的查询信息,获取所述查询信息的哈希值的步骤之前,所述方法还包括:
根据用户存储的原始数据,对所述原始数据进行数据分片,得到多个分片数据;
根据所述用户的加密密钥对所述分片数据进行加密,得到加密后的分片数据;
根据所述加密后的分片数据与所述加密密钥,生成所述加密密钥对应的哈希值;
将所述加密后的分片数据存储到区块链系统中,得到所述加密后的分片数据对应的关键字、所述关键字所在的表名称和所述表名称对应的表所在的区块号。
根据本发明提供的一种区块链存储数据的查询方法,根据所述用户的加密密钥对所述分片数据进行加密的步骤之前,所述方法还包括:
对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息;
根据所述分片数据的语义以及时态信息,构建所述分片数据的语义时态索引。
根据本发明提供的一种区块链存储数据的查询方法,根据所述分片数据的语义以及时态信息,构建所述分片数据的语义时态索引的步骤之后,所述方法还包括:
根据每个所述加密后的分片数据对应的关键字的哈希值,构建多层级索引树的表级哈希索引;
根据所述区块号中每个所述关键字所在的表名称的哈希值,构建所述多层级索引树的区块级哈希索引;
根据每个所述表名称对应的表所在的区块号的哈希值,构建所述多层级索引树的树根节点级哈希索引;
根据所述表级哈希索引、所述区块级哈希索引、所述树根节点级哈希索引和所述分片数据的语义时态索引,构建所述多层级索引树。
根据本发明提供的一种区块链存储数据的查询方法,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为结构化数据的情况下,抽取所述结构化数据中的元信息,得到所述结构化数据的语义以及时态信息。
根据本发明提供的一种区块链存储数据的查询方法,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为半结构化数据的情况下,将所述半结构化数据转换为网络本体语言数据,抽取所述网络本体语言数据中的属性关系,得到所述半结构化数据的语义以及时态信息。
根据本发明提供的一种区块链存储数据的查询方法,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为非结构化数据的情况下,抽取所述非结构化数据中的元信息,得到所述非结构化数据的语义以及时态信息。
本发明还提供一种区块链存储数据的查询装置,包括:
查询模块,用于根据用户提交的查询信息,获取所述查询信息的哈希值;
其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;
查询结果返回模块,用于根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述哈希值对应的目标存储数据,返回给用户;
其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述边缘网络动态业务卸载和调度方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述边缘网络动态业务卸载和调度方法的步骤。
本发明提供的区块链存储数据的查询方法及装置,通过在外部数据库预先构建多层级索引树,使得用户进行数据查询时,系统可以通过查询信息的哈希值,快速检索到查询信息的哈希值对应的目标存储数据。本发明的方法通过结合区块链存储系统的特性,引入多层级索引机制,提高了查询效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的区块链存储数据的查询方法的流程示意图;
图2是本发明实施例中的多层级索引机制的框架示意图;
图3是本发明实施例中针对数据的语义以及时态信息的抽取方法示意图;
图4是本发明提供的区块链存储数据的查询方法的整体架构示意图;
图5是本发明的实施例中基于SGX硬件安全系统以及同态加密方法的示意图;
图6是本发明实施例中分布式存储可调一致性保障方法的示意图;
图7是本发明提供的区块链存储数据的查询装置的结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的区块链存储数据的查询方法的流程示意图,如图1所示,包括:
步骤S1,根据用户提交的查询信息,获取所述查询信息的哈希值;
其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息。
具体地,本发明所描述的用户提交的查询信息指的是用户输入到系统查询层中的信息内容。
在本发明的实施例中,查询信息中的关键字指的是在区块链系统中,用户预先存储的查询信息对应的关键字;查询信息中的表名称指的是用户预先存储的查询信息对应的关键字所在的表名称;查询信息中的区块号指的是用户预先存储的查询信息中表名称对应的表所在的区块号;查询信息中的语义以及时态信息指的是包括可以直接从原始数据中获取数据特征或关于时间状态的序列信息以及语义信息。
进一步地,根据用户提交的上述查询信息,基于预先构建的多层级索引树,可以获取查询信息对应的哈希值。
步骤S2,根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;
其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
具体地,本发明所描述的多层级索引树是预先构建的,存储在外部数据库中,并不存储在区块链系统中。由于多层级索引树中只包含哈希值,这样可以保证即使其存储在外部数据库中,也不会对区块链系统中的信息安全造成影响。
多层级索引树包括表级哈希索引、区块级哈希索引和树根节点级哈希索引三层结构。
本发明所描述的目标存储数据指的是用户请求查询的区块链系统中的存储数据内容。
在本发明的实施例中,通过预先构建的多层级索引树,可以根据查询信息的哈希值,在多层级索引树中进行逐层检索,获取目标存储数据。
本发明所描述的逐层检索指的是根据用户提交的区块号、表名称、关键字的哈希值或语义以及时态信息的哈希值,由多层级索引树树根节点级哈希索引到区块级哈希索引,再由区块级哈希索引到表级哈希索引的检索过程。
本发明实施例提供的方法,通过在外部数据库预先构建多层级索引树,使得用户进行数据查询时,系统可以通过查询信息的哈希值,快速检索到查询信息的哈希值对应的目标存储数据。本发明的方法通过结合区块链存储系统的特性,引入多层级索引机制,提高了查询效率。
基于上述任一实施例,所述根据用户提交的查询信息,获取所述查询信息的哈希值的步骤之前,所述方法还包括:
根据用户存储的原始数据,对所述原始数据进行数据分片,得到多个分片数据;
根据所述用户的加密密钥对所述分片数据进行加密,得到加密后的分片数据;
根据所述加密后的分片数据与所述加密密钥,生成所述加密密钥对应的哈希值;
将所述加密后的分片数据存储到区块链系统中,得到所述加密后的分片数据对应的关键字、所述关键字所在的表名称和所述表名称对应的表所在的区块号。
具体地,本发明所描述的原始数据指的是未经任何处理或简化的用户存储数据。
本发明所描述的用户的加密密钥指的是通过用户对分片数据进行加密,系统生成的密钥信息。
本发明所描述的数据分片指的是将用户存储的原始数据,划分成多个可以管理的块,这些块可以分布在区块链系统的多个存储节点上。根据数据类型以及应用程序来确定具体的分片规则。
进一步地,用户对分片数据进行加密,以保证其他人无法访问分片中的数据,无论该数据处于何种状态。
基于哈希算法,将加密后的分片数据以及加密密钥生成唯一的哈希值,该哈希值用于之后区块链系统中的Merkle树构建。其中,Merkle树因为它的任一父节点等于左右子节点数据相加后哈希的结果,所以默克尔树也叫哈希树。
将上述加密后的分片数据在区块链系统中进行分布式存储,基于分布式数据存储特征,可以得到加密后的分片数据对应的关键字和该关键字所在的表名称、以及该表名称对应的表所在的区块号。
同时,在进行存储之前,系统还可以将加密后的分片数据复制多个备份,以防数据丢失以及缓解大规模I/O接口带来的性能瓶颈。
进一步地,区块链对等网络系统将各个复制的备份分片数据分发到分散在地理上多个存储节点进行数据存储。其中,不同存储节点属于不同的个人或组织,没有一个实体可以访问系统中的所有数据,只有内容所有者才可以访问自己拥有的数据。
本发明实施例的方法,通过对原始数据进行数据分片、分片数据加密、分片数据哈希运算等处理,构建区块链系统的分布式数据存储体系。
基于上述任一实施例,根据所述用户的加密密钥对所述分片数据进行加密的步骤之前,所述方法还包括:
对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息;
根据所述分片数据的语义以及时态信息,构建所述分片数据的语义时态索引。
具体地,本发明所描述的语义以及时态信息包括语义信息和时态信息。其中,语义信息指的是包括可以直接从原始数据中获取的各种元数据以及经过其他特征算法获取到的数据特征;时态信息指的是随时间状态的不断发生变化的序列信息,比如天气数据、交通数据中都包含时态信息。
本发明所描述的分片数据可以是多元异构数据。在本发明的实施例中,将多元异构数据归为三类,分别是结构化数据、半结构化数据以及非结构化数据。
进一步地,对上述三类多元异构数据进行语义以及时态信息抽取,根据抽取到的语义以及时态信息,构建所述分片数据的语义时态索引。其中,该索引可以是B+树、散列索引、位图索引或哈希索引。
本发明实施例的方法,通过从分片数据中抽取语义以及时态信息构建语义时态索引,以基于语义时态索引可以支持对区块链存储系统中的数据进行语义与时态查询。
基于上述任一实施例,根据所述分片数据的语义以及时态信息,构建所述分片数据的语义时态索引的步骤之后,所述方法还包括:
根据每个所述加密后的分片数据对应的关键字的哈希值,构建多层级索引树的表级哈希索引;
根据所述区块号中每个所述关键字所在的表名称的哈希值,构建所述多层级索引树的区块级哈希索引;
根据每个所述表名称对应的表所在的区块号的哈希值,构建所述多层级索引树的树根节点级哈希索引;
根据所述表级哈希索引、所述区块级哈希索引、所述树根节点级哈希索引和所述分片数据的语义时态索引,构建所述多层级索引树。
具体地,本发明所描述的关键字指的是是用来标识各个加密后的分片数据的值。通过哈希算法,根据每个加密后的分片数据对应的关键字的哈希值,构建多层级索引树的表级哈希索引,由此可以通过表级哈希索引,直接指向加密后的分片数据在系统里的逻辑位置。
进一步地,同样基于哈希算法,根据区块号中每个关键字所在的表名称的哈希值,构建多层级索引树的区块级哈希索引;根据每个表名称对应的表所在的区块号的哈希值,构建多层级索引树的树根节点级哈希索引。基于表级哈希索引、区块级哈希索引、树根节点级哈希索引,构建三层哈希索引树。
在本申请的实施例中,为了实现对区块链存储系统中数据的语义与时态查询,将分片数据的语义时态索引,添加到上述哈希索引树中。
本发明实施例的方法,通过构建多层级索引机制,使得用户可以根据区块号、表名称、关键字和语义以及时态信息进行快速数据检索查询。
图2是本发明实施例中的多层级索引机制的框架示意图,如图2所示,区块链系统呈链式存储特性,构建的多层级索引机制为三层索引结构,分为表级哈希索引、区块级哈希索引、树根节点级哈希索引。
如图2的左图所示,在表级哈希索引层,如在关键字donate中,对应有数据1001100…01,在关键字transfer中,对应数据有1101100…01;又如图2的右图所示,在表名称Histogram里,关键字有bucket1、bucket2、bucket3等,不同关键字里对应的不同的分片数据,如在bucket1中,对应的分片数据为Min-500;在bucket2中,对应的分片数据为500-800;在bucket3中,对应的分片数据为800-1600。
如图2的左图所示,在区块级哈希索引层,包括n个表,为((1,1,Ts1),P1),…,((n,j,Tsn),Pn)。又如图2的右图所示,包括n个区块,即区块1、区块2、…、区块n。各个区块对应有自己的区块号,根据区块号,可以看到对应区块里的数据结构内容。
区块级哈希索引层上一级为树根节点级哈希索引层,结合区块级哈希索引层和表级哈希索引层,构成三层哈希索引机制
基于上述任一实施例,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为结构化数据的情况下,抽取所述结构化数据中的元信息,得到所述结构化数据的语义以及时态信息。
具体地,在分片数据为结构化数据的情况下,本申请采取基于转换规则的语义以及时态抽取方法,可通过设定多种规则,来抽取结构化数据中的元信息,将该元信息作为结构化数据的语义以及时态信息。
本发明实施例的方法,通过对结构化数据进行语义以及时态信息抽取,得到结构化数据的语义以及时态信息,以实现对结构化数据的语义与时态查询。
基于上述任一实施例,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为半结构化数据的情况下,将所述半结构化数据转换为网络本体语言数据,抽取所述网络本体语言数据中的属性关系,得到所述半结构化数据的语义以及时态信息。
具体地,本发明所描述的半结构化数据为可扩展标记语言(eXtensible MarkupLanguage;XML)文件数据,它的元素主要包含节点、属性和属性值三类。
进一步地,语义以及时态信息抽取的过程分为内容转换和层次关系转换,现将XML数据转换为网络本体语言(Web Ontology Language;OWL)数据,然后基于OWL数据中的类-属性关系作为语义以及时态信息。
本发明实施例的方法,通过对半结构化数据进行语义以及时态信息抽取,得到半结构化数据的语义以及时态信息,以实现对半结构化数据的语义与时态查询。
基于上述任一实施例,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为非结构化数据的情况下,抽取所述非结构化数据中的元信息,得到所述非结构化数据的语义以及时态信息。
具体地,本发明所描述的非结构化数据包括图片、视频、文档等。在本申请的实施例中,采用目前一些主流的基于深度学习的方法,包括有监督的神经网络模型和无监督的预训练网络模型,来对非结构化数据进行元数据的提取。此类方法种类丰富且非常适用于非结构化数据的语义信息自动抽取,包括统一资源定位(Uniform Resource Locator;URL)位置信息、关键项特征、特征项名称、特征项内容等,由此,得到非结构化数据的语义以及时态信息。
本发明实施例的方法,通过对非结构化数据进行语义以及时态信息抽取,得到非结构化数据的语义以及时态信息,以实现对非结构化数据的语义与时态查询。
图3是本发明实施例中针对数据的语义以及时态信息的抽取方法示意图,如图3所示,针对结构化数据的语义以及时态信息的抽取,基于规则的特征方法,得到结构化数据的语义以及时态信息;针对半结构化数据的语义以及时态信息的抽取,基于内容转换和层次转换,得到半结构化数据的语义以及时态信息;针对非结构化数据的语义以及时态信息的抽取,基于深度学习等特征模型,得到非结构化数据的语义以及时态信息。
需要说明的是,快速大规模增长的数据形式多样、结构复杂,对多元异构数据进行语义时态抽取是对信息进行归类整理、检索查询的关键步骤。
本发明实施例的方法,通过融合语义以及时态信息在区块链数据库上,实现语义查询和时态查询。
图4是本发明提供的区块链存储数据的查询方法的整体架构示意图,如图4所示,该整体架构包括数据层、索引层和查询层。
通过云服务为用户提供服务,其中,数据层负责数据存储和语义时态信息抽取;索引层负责构建哈希索引树;查询层负责提供多种查询结构。
数据层的数据包括各种模态的数据、结构化数据、非结构化数据以及各种异构数据。
区块链系统包括基于比特币、以太坊等去中心化架构的区块链系统,共识方案包括但不限于工作证明(Proof of Work;POW)、股权证明(Proof of Stake;POS)、拜占庭容错算法(Byzantine Fault Tolerance;BFT)、虚拟路由转发(Virtual Routing Forwarding;VRF)。
此外,整个系统都使用SGX安全系统和基于同态加密的密态算子,保证系统数据安全性。
数据安全性是指保证数据在检索、运算等过程中尽可能少地向使用者提供原始数据信息,从而降低数据泄露风险。
通过本发明的实施例,提供一种数据分片以及加密的方法,在保证数据安全性的前提下,对数据进行一定程度的结构化组织,并将数据分布在不同的物理机器上,便于后续面向该存储系统进行各种操作。
图5是本发明的实施例中基于SGX硬件安全系统以及同态加密方法的示意图,如图5所示,该系统的用户分为数据请求者以及数据上传者,数据上传者将数据通过系统云服务接口上传到区块链存储系统中后,数据申请者可以向数据上传者申请数据的访问权限。
在本发明的实施例中,云服务系统负责和数据系统进行数据连接,数据系统主要包含三个部分,分别是区块链数据库、SGX安全系统、数据库基本密态算子。
区块链数据库的构建方法以及索引构建方法如前面所述,在此不做赘述。
SGX硬件系统是基于Intel公司开发的SGX技术设计的安全性硬件系统,其本质是设计了一套CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见,凡是放在安全区内的代码通过专用指令启用,并被构建和加载成Windows动态链接库文件。该区域对操作系统、虚拟机,甚至是bios、特权系统代码等较为底层的部件都是隔绝的,从而防范了很多隐患。
SGX安全系统不依赖于固件和软件的安全状态,提供用户空间的可信执行环境,通过一组新的指令集扩展与访问控制机制,实现不同程序间的隔离运行,保障用户关键代码和数据的机密性与完整性不受恶意软件的破坏。
数据库基本密态算子是基于同态加密等技术实现,目的在于支持区块链数据库的密态查询技术。其中,同态加密技术是基于数学难题的计算复杂性理论的密码学技术。
本发明实施例的方法,通过软硬件的配合开发基本密态算子,实现数据密态查询功能,并保证数据安全性。
图6是本发明实施例中分布式存储可调一致性保障方法的示意图,如图6所示,区块链分布式系统中包括两种类型的节点,协调节点和副本节点,副本节点又分为读操作响应节点和写操作响应节点。
分布式存储指前述基于区块链系统的分布式数据存储体系。
系统中各个节点数据的一致性是区块链分布式账本的天然特性,但构建区块链数据库需要求各个节点进行额外的事务处理能力扩展,所以保证可调一致性是区块链数据库正常运转的基础。
在本发明的实施例中,可调一致性指的是至少五个可调一致性等级。
通过本发明的实施例,提出一种分布式存储可调一致性保障方法。如图6所示,区块链分布式系统中全部节点个数为N,写操作响应节点个数为W,读操作响应节点个数为R。进一步地,协调节点通过调整N、W、R等参数来实现不同程度的一致性等级,从而实现可调一致性。
在本发明实施例中,还提供一种区块链存储数据的查询方法,通过设计多层级索引机制,来提高区块链存储系统的检索性能;通过为链上数据添加语义以及时态信息,从而支持对链上数据的语义查询和时态查询;通过软硬件的配合开发基本密态算子,实现数据密态查询功能,并保证数据安全性;针对分布式数据库中的可调一致性问题,通过设计一套冗余副本智能检测算法来实现存储系统在分布式事务处理中的弹性可调,保证了至少五个可调一致性等级。
图7是本发明提供的区块链存储数据的查询装置的结构示意图,如图7所示,包括:
查询模块710,用于根据用户提交的查询信息,获取所述查询信息的哈希值;
其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;
查询结果返回模块720,用于根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述哈希值对应的目标存储数据,返回给用户;
其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
本发明提供的区块链存储数据的查询装置,通过在外部数据库预先构建多层级索引树,使得用户进行数据查询时,系统可以通过查询信息的哈希值,快速检索到查询信息的哈希值对应的目标存储数据。本发明的方法通过结合区块链存储系统的特性,引入多层级索引机制,提高了查询效率。
本发明描述的边缘网络动态业务卸载和调度装置与上文描述的边缘网络动态业务卸载和调度方法可相互对应参照,故此不再赘述。
图8是本发明提供的电子设备的结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行所述区块链存储数据的查询方法,该方法包括:根据用户提交的查询信息,获取所述查询信息的哈希值;其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的所述区块链存储数据的查询方法,该方法包括:根据用户提交的查询信息,获取所述查询信息的哈希值;其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的所述区块链存储数据的查询方法,该方法包括:根据用户提交的查询信息,获取所述查询信息的哈希值;其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种区块链存储数据的查询方法,其特征在于,包括:
根据用户提交的查询信息,获取所述查询信息的哈希值;
其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;
根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述查询信息的哈希值对应的目标存储数据;
其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
2.根据权利要求1所述的区块链存储数据的查询方法,其特征在于,所述根据用户提交的查询信息,获取所述查询信息的哈希值的步骤之前,所述方法还包括:
根据用户存储的原始数据,对所述原始数据进行数据分片,得到多个分片数据;
根据所述用户的加密密钥对所述分片数据进行加密,得到加密后的分片数据;
根据所述加密后的分片数据与所述加密密钥,生成所述加密密钥对应的哈希值;
将所述加密后的分片数据存储到区块链系统中,得到所述加密后的分片数据对应的关键字、所述关键字所在的表名称和所述表名称对应的表所在的区块号。
3.根据权利要求2所述的区块链存储数据的查询方法,其特征在于,根据所述用户的加密密钥对所述分片数据进行加密的步骤之前,所述方法还包括:
对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息;
根据所述分片数据的语义以及时态信息,构建所述分片数据的语义时态索引。
4.根据权利要求3所述的区块链存储数据的查询方法,其特征在于,根据所述分片数据的语义以及时态信息,构建所述分片数据的语义时态索引的步骤之后,所述方法还包括:
根据每个所述加密后的分片数据对应的关键字的哈希值,构建多层级索引树的表级哈希索引;
根据所述区块号中每个所述关键字所在的表名称的哈希值,构建所述多层级索引树的区块级哈希索引;
根据每个所述表名称对应的表所在的区块号的哈希值,构建所述多层级索引树的树根节点级哈希索引;
根据所述表级哈希索引、所述区块级哈希索引、所述树根节点级哈希索引和所述分片数据的语义时态索引,构建所述多层级索引树。
5.根据权利要求3所述的区块链存储数据的查询方法,其特征在于,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为结构化数据的情况下,抽取所述结构化数据中的元信息,得到所述结构化数据的语义以及时态信息。
6.根据权利要求3所述的区块链存储数据的查询方法,其特征在于,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为半结构化数据的情况下,将所述半结构化数据转换为网络本体语言数据,抽取所述网络本体语言数据中的属性关系,得到所述半结构化数据的语义以及时态信息。
7.根据权利要求3所述的区块链存储数据的查询方法,其特征在于,所述对所述分片数据进行语义以及时态信息抽取,获取所述分片数据的语义以及时态信息的步骤,具体为:
在所述分片数据为非结构化数据的情况下,抽取所述非结构化数据中的元信息,得到所述非结构化数据的语义以及时态信息。
8.一种区块链存储数据的查询装置,其特征在于,包括:
查询模块,用于根据用户提交的查询信息,获取所述查询信息的哈希值;
其中,所述查询信息包括区块号、表名称、关键字或语义以及时态信息;
查询结果返回模块,用于根据所述查询信息的哈希值,在外部数据库里的多层级索引树中逐层检索,获取所述哈希值对应的目标存储数据,返回给用户;
其中,所述多层级索引树包括所述用户预先存储的所述查询信息的哈希值。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述区块链存储数据的查询方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述区块链存储数据的查询方法的步骤。
CN202110426757.7A 2021-04-20 2021-04-20 一种区块链存储数据的查询方法及装置 Pending CN113157735A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110426757.7A CN113157735A (zh) 2021-04-20 2021-04-20 一种区块链存储数据的查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110426757.7A CN113157735A (zh) 2021-04-20 2021-04-20 一种区块链存储数据的查询方法及装置

Publications (1)

Publication Number Publication Date
CN113157735A true CN113157735A (zh) 2021-07-23

Family

ID=76867731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110426757.7A Pending CN113157735A (zh) 2021-04-20 2021-04-20 一种区块链存储数据的查询方法及装置

Country Status (1)

Country Link
CN (1) CN113157735A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704302A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 基于hash映射的海量数据检索方法、系统、终端及存储介质
CN113806402A (zh) * 2021-09-14 2021-12-17 北京八分量信息科技有限公司 一种基于区块链的信息查询方法及装置
CN116050698A (zh) * 2023-03-10 2023-05-02 山东铁路投资控股集团有限公司 铁路建设大数据管理方法、装置、设备及可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704302A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 基于hash映射的海量数据检索方法、系统、终端及存储介质
CN113806402A (zh) * 2021-09-14 2021-12-17 北京八分量信息科技有限公司 一种基于区块链的信息查询方法及装置
CN113806402B (zh) * 2021-09-14 2023-08-15 北京八分量信息科技有限公司 一种基于区块链的信息查询方法及装置
CN116050698A (zh) * 2023-03-10 2023-05-02 山东铁路投资控股集团有限公司 铁路建设大数据管理方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
JP6865851B2 (ja) ブロックチェーンワールド状態マークルパトリシアトライ木サブツリーの構築
CN113157735A (zh) 一种区块链存储数据的查询方法及装置
JP2007052698A (ja) 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
Song et al. Discovering high utility itemsets based on the artificial bee colony algorithm
Siddiqui et al. Pseudo-cache-based IoT small files management framework in HDFS cluster
Venkatesh et al. A study on use of big data in cloud computing environment
Malliaros et al. Estimating robustness in large social graphs
Chandrakar et al. Improved technique for preserving privacy while mining real time big data
Ananthi et al. FSS-SDD: fuzzy-based semantic search for secure data discovery from outsourced cloud data
Tomaszuk et al. A distributed graph data storage in ethereum ecosystem
Jeon et al. Distributed L-diversity using spark-based algorithm for large resource description frameworks data
JP2009151746A (ja) 情報資源の協同タギングシステム及び方法
Yan et al. Handling conditional queries and data storage on Hyperledger Fabric efficiently
Tian et al. Trustworthiness study of HDFS data storage based on trustworthiness metrics and KMS encryption
San Román Guzmán et al. Design of a New Distributed NoSQL Database with Distributed Hash Tables
Devaki et al. A study on challenges in data security during data transformation
Saini et al. An efficient multi-keyword synonym-based fuzzy ranked search over outsourced encrypted cloud data
Shuijing Big data analytics: Key technologies and challenges
Zhou et al. SAPMS: a semantic-aware privacy-preserving multi-keyword search scheme in cloud
Jain et al. Big data security and privacy: New proposed model of big data with secured mr layer
Revathy et al. HadoopSec 2.0: Prescriptive analytics-based multi-model sensitivity-aware constraints centric block placement strategy for Hadoop
Tian et al. BPPIR: Blockchain-assisted privacy-preserving similarity image retrieval over multiple clouds
Priyadarshi et al. WawPart: workload-aware partitioning of knowledge graphs
Indira et al. Parallel CLARANS algorithm for recommendation system in multi-cloud environment
Kumar et al. Big data issues and challenges in 21st century

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