本发明涉及区块链,特别是涉及基于区块链的多模态数据可验证查询方法及系统。
背景技术:
1、本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
2、在当今数字化时代,互联网、大数据和人工智能等技术的广泛应用,尤其是摄像头、传感器等先进设备的普及,使得数据不再局限于传统的数值文本信息,而变得更为多元化,涵盖了图像、视频、音频等多模态数据。例如在供应链管理中,会整合如rfid跟踪、卫星图像和温度传感器记录等各种数据模态,具有多层次和高度的信息交叉。如何实现大规模多模态数据的安全存储、可信管理和高效查询成为当今亟待解决的重要问题。
3、区块链作为一种具有去中心化、可追溯、防篡改、集体维护等特点的分布式数据库技术,解决了中心化机构带来的成本高、效率低、信任度低等一系列问题,为大规模多模态数据提供了更可信赖的存储保障。但现有的区块链数据查询优化方法仅支持以事务哈希值为关键字的单模态数据查询,对于多模态数据的查询,通常需要遍历整个区块链,导致查询速度显著下降。现存的方法缺乏对多模态数据的灵活索引查询能力,未充分利用多模态数据的内容特征建立有效的索引,从而限制了查询的深度和广度。
4、位图索引(bitmap index)是一种常见的数据索引模块,多用于在区块间进行高效的查索引。它基于位运算原理,通过将每个可能的数值映射到一个位图,从而实现对数据的快速查询。尽管在某些情况下位图索引非常有效,但其一般用于处理低维度数据,而对于多模态数据的高维度和复杂性,位图索引的层次结构可能变得难以设计和维护,从而无法满足对于多模态数据查询效率的要求。在区块内部,传统的默克尔树(merkle tree)是一种递归哈希的数据结构,虽然对于验证数据的完整性和一致性非常高效,但对于多模态数据的复杂查询需求,例如基于多个模态特征的联合查询或范围查询等,默克尔树并没有提供相应的优化,这使得在这些复杂查询场景下难以满足安全高效的查询需求。
技术实现思路
1、为了解决现有技术的不足,本发明提供了基于区块链的多模态数据可验证查询方法及系统;以解决目前区块链多模态数据查询效率低下的问题,通过引入适用于多模态数据的高效索引机制,旨在加速查询过程、提高系统的整体性能。
2、一方面,提供了基于区块链的多模态数据可验证查询方法,包括:
3、获取多模态数据,将多模态数据存储于链下数据库中;对多模态数据进行元数据提取,得到若干个元数据;对每个元数据生成唯一标识符;将每个元数据和每个元数据对应的唯一标识符打包,将打包数据上链,存入区块链的区块中;
4、基于元数据为区块链创建双层索引,所述双层索引包括:第一层索引和第二层索引;所述第一层索引,是根据多模态数据属性的取值范围,构建的多层子集位图索引;所述第二层索引,包括默克尔帕特丽夏树mpt(merkle patricia tree)与布谷鸟过滤器;
5、获取待查询的数据,根据待查询数据和多层子集位图索引,确定若干个候选区块子集;对所有的候选区块子集取交集,得到待扫描区块集合;对待扫描区块集合中的每个区块,采用布谷鸟过滤器进行过滤,过滤出目标区块;对目标区块,通过默克尔帕特丽夏树进行搜索,获取目标元数据;
6、对目标元数据进行链上和链下的协同验证。
7、另一方面,提供了基于区块链的多模态数据可验证查询系统,包括:
8、数据上链模块,其被配置为:获取多模态数据,将多模态数据存储于链下数据库中;对多模态数据进行元数据提取,得到若干个元数据;对每个元数据生成唯一标识符;将每个元数据和每个元数据对应的唯一标识符打包,将打包数据上链,存入区块链的区块中;
9、索引创建模块,其被配置为:基于元数据为区块链创建双层索引,所述双层索引包括:第一层索引和第二层索引;所述第一层索引,是根据多模态数据属性的取值范围,构建的多层子集位图索引;所述第二层索引,包括默克尔帕特丽夏树mpt(merkle patriciatree)与布谷鸟过滤器;
10、目标元数据获取模块,其被配置为:获取待查询的数据,根据待查询数据和多层子集位图索引,确定若干个候选区块子集;对所有的候选区块子集取交集,得到待扫描区块集合;对待扫描区块集合中的每个区块,采用布谷鸟过滤器进行过滤,过滤出目标区块;对目标区块,通过默克尔帕特丽夏树进行搜索,获取目标元数据;
11、验证模块,其被配置为:对目标元数据进行链上和链下的协同验证。
12、再一方面,还提供了一种电子设备,包括:
13、存储器,用于非暂时性存储计算机可读指令;以及
14、处理器,用于运行所述计算机可读指令,
15、其中,所述计算机可读指令被所述处理器运行时,执行上述第一方面所述的方法。
16、再一方面,还提供了一种存储介质,非暂时性存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行第一方面所述方法的指令。
17、再一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现上述第一方面所述的方法。
18、上述技术方案具有如下优点或有益效果:
19、1.适用于多模态数据:本发明设计了链上链下协同存储和查询的结构以实现多模态数据的管理与查询,解决了多模态数据通常占用大量空间,难以完整存储在区块链上,并且其数据结构复杂导致查询困难的问题。其中,在区块链查询模块中引入的多层子集位图索引(msbi)和c-mpt模块,较好地解决了区块链查询阶段对多模态数据的支持,特别适用于离线海量数据如图像、音频、文本等多种数据类型数据。
20、2.极高的查询效率:本发明设计了适用于多模态数据的高效索引机制,极大地提高了对多模态数据的查询效率。其中,第一层msbi模块可以快速定位可能包含目标数据的区块,减少了不必要的区块扫描。第二层c-mpt模块则融合了布谷鸟过滤器和mpt树的优势,查询时无需扫描整个区块,有效降低了查询的时间复杂度,更好地支持快速验证和数据检索。
21、3.数据安全性高:本发明设计了链上链下协同验证机制。通过mpt树的哈希运算和路径验证,确保链上数据的完整性。同时,针对链下数据采用自适应哈希算法构建唯一标识符,实现了对链上链下数据一致性和完整性的全面验证,确保了数据在整个存储和查询过程中的高度安全性。
22、4.存储空间优化:本发明设计的基于多模态数据属性的多层索引模块,相较于传统的索引模块能够以更为紧凑的形式存储索引和数据信息,有效地减少了冗余数据,显著降低了存储空间占用,并在存储效率上取得显著提升。
1.基于区块链的多模态数据可验证查询方法,其特征是,包括:
2.如权利要求1所述的基于区块链的多模态数据可验证查询方法,其特征是,将每个元数据和每个元数据对应的唯一标识符打包,将打包数据上链,存入区块链的区块中,其中,当一个数据上链时,将上链数据作为默克尔帕特丽夏树的叶子节点的值进行存储,默克尔帕特丽夏树的构建流程包括:
3.如权利要求1所述的基于区块链的多模态数据可验证查询方法,其特征是,将每个元数据和每个元数据对应的唯一标识符打包,将打包数据上链,存入区块链的区块中,其中,存入区块链的区块的具体过程包括:
4.如权利要求1所述的基于区块链的多模态数据可验证查询方法,其特征是,基于元数据为区块链创建双层索引,所述双层索引包括:第一层索引和第二层索引;其中,所述第一层索引,是根据多模态数据属性的取值范围,构建一个多层子集位图索引;所述多层子集位图索引,包括:若干层子集位图,每一层子集位图表示多模态数据的一种数据属性的取值范围;每一层子集位图,包括:若干个比特位,每个比特位包括一个区块子集;每个区块子集,包括:若干个区块编号和每个区块编号对应区块的存储位置;将取值范围划分为若干个子取值范围,每个比特位用于存储对应子取值范围的数据。
5.如权利要求1所述的基于区块链的多模态数据可验证查询方法,其特征是,所述第二层索引,为区块链的每一个区块维护一个布谷鸟过滤器,同时将上链的元数据存储在默克尔帕特丽夏树的叶子节点,将默克尔帕特丽夏树根节点的哈希值存储到区块链的区块头中;
6.如权利要求1所述的基于区块链的多模态数据可验证查询方法,其特征是,对待扫描区块集合中的每个区块,采用布谷鸟过滤器进行过滤,过滤出目标区块,具体包括:
7.如权利要求1所述的基于区块链的多模态数据可验证查询方法,其特征是,对目标元数据进行链上和链下的协同验证,具体包括:
8.基于区块链的多模态数据可验证查询系统,其特征是,包括:
9.一种电子设备,其特征是,包括:
10.一种存储介质,其特征是,非暂时性存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行权利要求1-7任一项所述方法的指令。