CN117076466B - 一种针对大型档案数据库的快速数据索引方法 - Google Patents
一种针对大型档案数据库的快速数据索引方法 Download PDFInfo
- Publication number
- CN117076466B CN117076466B CN202311344947.XA CN202311344947A CN117076466B CN 117076466 B CN117076466 B CN 117076466B CN 202311344947 A CN202311344947 A CN 202311344947A CN 117076466 B CN117076466 B CN 117076466B
- Authority
- CN
- China
- Prior art keywords
- query
- index
- node
- caching
- load
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008901 benefit Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 230000006835 compression Effects 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 abstract description 14
- 230000004044 response Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理领域,尤其涉及一种针对大型档案数据库的快速数据索引方法。首先,创建Bloom Filter结构,进行预查询筛选;然后,描述查询频率,对索引进行压缩存储,采用增量索引更新技术更新索引;设计分布式节点的动态权重分配策略,根据每个节点的实时负载和性能,动态调整其权重,优化各节点负载;最后,选择缓存效益最大的查询进行缓存,设立查询优先级调度算法对所有查询按照其优先级进行排序。解决了现有技术未采用高效预查询筛选机制,增加了不必要的查询延迟和系统负载;没有对索引进行有效的压缩和分层存储,导致存储空间浪费和查询效率降低;难以应对节点间动态变化的负载以及缺乏有效的查询优先级调度机制的问题。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种针对大型档案数据库的快速数据索引方法。
背景技术
随着信息技术的发展,大型档案数据库已经成为许多行业和领域中不可或缺的组成部分。这些数据库存储了大量的数据,如文档、图片、视频等,为用户提供了丰富的信息资源。然而,随着数据量的持续增长,如何高效地对这些数据进行索引和查询成为了一个重要的技术挑战。
传统的数据索引方法,如B-tree、R-tree等,虽然在小型或中型数据库中表现良好,但在大型档案数据库中,由于其固有的结构和算法限制,往往难以满足高效、实时的查询需求。特别是在高查询负载的情况下,这些方法可能会导致查询延迟增加、系统负载过高等问题。
因此,如何设计一种针对大型档案数据库的快速数据索引方法,既能高效地处理大量的查询请求,又能确保查询结果的准确性和完整性,同时还能在分布式环境中实现负载均衡,是当前数据库技术研究的一个热点和难点。
我国专利申请号:CN202310632686.5,公开日:2023.08.15,公开了一种数据库索引的优化方法、存储介质与设备。其中上述方法包括:获取数据库操作;根据数据库操作确定索引;根据索引在预设索引系统表中查找需要执行操作的索引分区,预设索引系统表用于记录索引与自身分区的对应关系;根据数据库操作的类型执行对应的操作。通过这种方法,在数据库中将索引进行分区,在接口调用数据库时根据预设系统表找到需要执行的索引分区,从而将高并发的压力分散到各个索引分区中,降低每个索引的并发访问冲突,以此来提升数据库的性能,并且索引分区能够根据调用数据库的接口中的信息来自行确定,提升了数据库使用的便利性。
但上述技术至少存在如下技术问题:现有技术没有采用高效预查询筛选机制,导致大量无效查询进入后续处理流程,增加了不必要的查询延迟和系统负载;没有对索引进行有效的压缩和分层存储,导致存储空间浪费和查询效率降低;难以应对节点间动态变化的负载,可能导致部分节点过载,而其他节点资源浪费;缺乏有效的查询优先级调度机制,导致关键查询的响应时间无法得到保障。
发明内容
本申请实施例通过提供一种针对大型档案数据库的快速数据索引方法,解决了现有技术没有采用高效预查询筛选机制,导致大量无效查询进入后续处理流程,增加了不必要的查询延迟和系统负载;没有对索引进行有效的压缩和分层存储,导致存储空间浪费和查询效率降低;难以应对节点间动态变化的负载,可能导致部分节点过载,而其他节点资源浪费;缺乏有效的查询优先级调度机制,导致关键查询的响应时间无法得到保障。本申请最终形成了一个完整的、高效的、自适应的数据索引系统,为大型档案数据库提供了一个高效、均衡、自适应的数据索引方法。
本申请提供了一种针对大型档案数据库的快速数据索引方法,具体包括以下技术方案:
一种针对大型档案数据库的快速数据索引方法,包括以下步骤:
S100:创建Bloom Filter结构,进行预查询筛选;
S200:描述查询频率,对索引进行压缩存储,采用增量索引更新技术更新索引;
S300:设计分布式节点的动态权重分配策略,根据每个节点的实时负载和性能,动态调整其权重,优化各节点负载;
S400:选择缓存效益最大的查询进行缓存,设立查询优先级调度算法对所有查询按照其优先级进行排序。
优选的,所述S100,具体包括:
快速判断一个元素是否在数据库中,即检查一个元素是否在Bloom Filter中时,将元素放入k个哈希函数中。
优选的,所述S200,具体包括:
采用分层索引压缩技术,采用改进的Zipf-Mandelbrot法则来描述查询频率;所述改进的Zipf-Mandelbrot法则将频繁查询的索引项存储在顶层,使用最小的压缩,而不常查询的索引项存储在底层,使用高度压缩。
优选的,所述S200,还包括:
采用增量索引更新技术;当索引更新时,增量索引更新技术只记录变化的部分,而不是重新压缩整个索引;使用韦布尔分布来描述索引更新的频率;采用索引完整性验证技术;对于每个索引,索引完整性验证技术都计算一个向量,并使用余弦相似度来比较压缩前和压缩后的向量。
优选的,所述S300,具体包括:
定义一个负载指标,所述负载指标是基于每个节点的请求到达率和服务率的函数。
优选的,所述S300,还包括:
为每个节点分配一个权重,权重是基于节点的负载和其性能指标的函数;并对权重进行归一化。
优选的,所述S400,具体包括:
当查询请求到达节点时,首先检查查询缓存是否已经包含该查询的结果;查询缓存是一个动态维护的数据结构,它存储了最近执行的查询及其结果;引入效益函数,所述效益函数基于查询的频率查询在数据库中的执行时间。
优选的,所述S400,还包括:
为了最大化总体缓存效益,需要选择缓存效益最大的查询进行缓存。
优选的,所述S400,还包括:
当查询请求到达节点时,对于检查有缓存的查询结果则直接返回;对于没有缓存的查询结果,设立查询优先级调度算法来决定查询的处理顺序。
有益效果:
本申请实施例中提供的多个技术方案,至少具有如下技术效果或优点:
1、通过采用Bloom Filter结构,能够有效地筛选出不在数据库中的查询,从而避免了不必要的、耗时的查询,大大提高了查询效率;引入分层索引压缩技术,根据查询频率的长尾分布进行索引存储,既节省了存储空间,又确保了高频查询的快速响应;
2、通过设计分布式节点的动态权重分配策略,能够根据每个节点的实时负载和性能,动态调整其权重,从而实现负载均衡,提高系统整体稳定性和响应速度;引入查询缓存机制,将常用的查询结果缓存起来,从而减少查询时间;同时,通过查询优先级调度算法,确保关键查询得到及时响应,进一步提高用户体验。
3、采用基于日志的技术,只记录变化的部分,避免了重新压缩整个索引,从而提高了索引更新的效率;通过索引完整性验证技术,确保了在压缩和解压缩过程中数据的完整性,避免了因数据损坏导致的查询错误。
4、本申请的技术方案能够有效解决现有技术没有采用高效预查询筛选机制,导致大量无效查询进入后续处理流程,增加了不必要的查询延迟和系统负载;没有对索引进行有效的压缩和分层存储,导致存储空间浪费和查询效率降低;难以应对节点间动态变化的负载,可能导致部分节点过载,而其他节点资源浪费;缺乏有效的查询优先级调度机制,导致关键查询的响应时间无法得到保障。形成了一个完整的、高效的、自适应的数据索引系统,为大型档案数据库提供了一个高效、均衡、自适应的数据索引方法。
附图说明
图1为本申请所述的一种针对大型档案数据库的快速数据索引方法流程图;
图2为本申请所述的一种针对大型档案数据库的快速数据索引方法示意图;
具体实施方式
本申请实施例通过提供一种针对大型档案数据库的快速数据索引方法,解决了现有技术没有采用高效预查询筛选机制,导致大量无效查询进入后续处理流程,增加了不必要的查询延迟和系统负载;没有对索引进行有效的压缩和分层存储,导致存储空间浪费和查询效率降低;难以应对节点间动态变化的负载,可能导致部分节点过载,而其他节点资源浪费;缺乏有效的查询优先级调度机制,导致关键查询的响应时间无法得到保障。
本申请实施例中的技术方案为解决上述问题,总体思路如下:
通过采用Bloom Filter结构,能够有效地筛选出不在数据库中的查询,从而避免了不必要的、耗时的查询,大大提高了查询效率;引入分层索引压缩技术,根据查询频率的长尾分布进行索引存储,既节省了存储空间,又确保了高频查询的快速响应;通过设计分布式节点的动态权重分配策略,能够根据每个节点的实时负载和性能,动态调整其权重,从而实现负载均衡,提高系统整体稳定性和响应速度;引入查询缓存机制,将常用的查询结果缓存起来,从而减少查询时间;同时,通过查询优先级调度算法,确保关键查询得到及时响应,进一步提高用户体验。采用基于日志的技术,只记录变化的部分,避免了重新压缩整个索引,从而提高了索引更新的效率;通过索引完整性验证技术,确保了在压缩和解压缩过程中数据的完整性,避免了因数据损坏导致的查询错误。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参照附图1,本申请所述的一种针对大型档案数据库的快速数据索引方法包括以下步骤:
S100:创建Bloom Filter结构,进行预查询筛选;
在大型档案数据库中,为了实现高效的数据索引,特别是在高查询负载下,首先采用了Bloom Filter进行预查询筛选。Bloom Filter是一种概率性数据结构,用于快速判断一个元素是否属于一个集合。这种筛选方法的主要目的是减少无效查询,从而提高查询效率并减少不必要的数据检索。
具体的,创建一个有效的Bloom Filter结构,Bloom Filter由位数组和哈希函数组成:位数组是一个长度为m的数组,初始时所有位都设置为0;哈希函数是k个独立的哈希函数,每个函数都将集合中的任何元素映射到位数组的m个位置之一。m和k的选择基于预期的插入元素数量n和可接受的误报率,为了最小化误报率,通过下述公式来找到最优的k和m:
,
,
其中,是误报率。
在将一个元素添加到Bloom Filter中时,要将元素分别放入k个哈希函数中。每个哈希函数都会给一个位数组中的位置,将这些位置的值都设置为1。哈希函数为元素x计算出的位置为:
,
其中,是第i个哈希函数为元素x计算出的位置,/>和/>是两个独立的哈希函数。
快速判断一个元素是否可能在数据库中,即检查一个元素是否在Bloom Filter中时,将元素放入k个哈希函数中。如果任何一个哈希函数返回的位置在位数组中的值为0,那么该元素绝对不在集合中。如果所有哈希函数返回的位置在位数组中的值都为1,那么该元素可能在集合中。不同的元素可能被哈希到位数组的同一位置,因此,即使所有哈希函数返回的位置都为1,也不能确定该元素是否真的在集合中,只能说它“可能”在集合中。
在大型档案数据库中进行实际的磁盘或网络查询之前,先使用Bloom Filter作为第一级的查询筛选,检查元素是否可能在数据库中。这样可以避免许多不必要的、耗时的查询,从而大大提高查询效率。
S200:描述查询频率,对索引进行压缩存储,采用增量索引更新技术更新索引;
在大型档案数据库中,为了实现高效的数据索引,特别是在高查询负载下,本发明采用了一种分层索引压缩技术,简称LIC。LIC考虑到查询频率的分布可能是长尾的,因此采用了改进的Zipf-Mandelbrot法则来描述查询频率:
,
其中,表示第j个索引项的查询频率,s、a和b是参数,C是归一化常数,确保所有频率的总和为1。这种分布将频繁查询的索引项存储在顶层,使用最小的压缩,而不常查询的索引项存储在底层,使用高度压缩。
但是,随着数据的变化,索引也需要更新。为了高效地更新索引,采用了一种基于日志的技术,称为增量索引更新技术。当索引更新时,增量索引更新技术只记录变化的部分,而不是重新压缩整个索引。考虑到索引更新可能是突发的,使用韦布尔分布来描述索引更新的频率:
,
其中,表示/>次更新的概率,/>和/>是韦布尔分布的参数。
为了确保压缩和解压缩过程中数据的完整性,采用了一种基于向量空间的技术,称为索引完整性验证技术。对于每个索引,索引完整性验证技术都会计算一个向量,并使用余弦相似度来比较压缩前和压缩后的向量:
其中,和/>分别为压缩前和压缩后的索引向量,/>、/>、/>和/>是为了稳定计算而添加的平滑参数。如果余弦相似度接近1,那么两个向量非常相似,说明数据完整性得到了保证。从而不仅可以有效地压缩索引,还可以确保压缩后的索引具有高查询效率、可以快速更新,并且数据完整性得到保证。
S300:设计分布式节点的动态权重分配策略,根据每个节点的实时负载和性能,动态调整其权重,优化各节点负载;
在分布式环境下,为了确保各个节点的查询负载均衡,设计了一个分布式节点的动态权重分配策略。根据每个节点的实时负载和性能,动态调整其权重,从而实现负载均衡,优化各节点负载,提高系统整体稳定性和响应速度。
具体的,每个节点都有其独特的处理能力和当前的负载情况。为了准确评估每个节点的负载,需要定义一个负载指标。这个指标是基于每个节点的请求到达率和服务率的函数。设节点r在时间t的请求到达率为和服务率为/>。我们定义节点r在时间t的负载为:
,
其中,是节点r在时间t的负载,/>。上述公式表示在最近的时间单位内,节点r接收的请求量与其处理的请求量之差。这是一个连续的时间窗口评估,它考虑了时间t之前的所有请求。
基于上述的负载评估,为每个节点分配一个权重。权重是基于节点的负载和其性能指标的函数。设节点r的性能指标为,这个性能指标可以是基于硬件配置、网络带宽等多种因素的综合评估。定义节点r的权重为:
,
其中,是节点r的权重,/>是一个很小的常数,用于避免分母为零。节点的权重与其性能指标成正比,与其负载成反比。为了确保所有节点的权重之和为1,需要对权重进行归一化:
,
其中,是节点的总数,/>,且/>。由此可知,请求被分配给节点的概率与节点的权重成正比。从而可以动态地为每个节点分配权重,实现查询负载均衡。不仅可以提高系统的响应速度,还可以提高系统的稳定性。
S400:选择缓存效益最大的查询进行缓存,设立查询优先级调度算法对所有查询按照其优先级进行排序。
当查询请求到达节点时,首先检查查询缓存是否已经包含该查询的结果。查询缓存是一个动态维护的数据结构,它存储了最近执行的查询及其结果。为了决定哪些查询结果应该被缓存,引入了一个效益函数。这个函数基于查询的频率来查询在数据库中的执行时间。
设查询q的结果为,定义查询q的缓存效益为:
,
其中,是查询q的频率,是基于过去的查询历史来估计的;/>是从数据库中检索查询q的时间,是通过对数据库进行基准测试来估计的;/>是从缓存中检索任何查询的平均时间,是通过对缓存进行基准测试来估计的。
为了最大化总体缓存效益,需要选择缓存效益最大的查询进行缓存,通过以下公式实现:
,
其中,是指被选择用于缓存的查询,Q表示所有待处理的查询集合。通过选择缓存效益最大的查询进行缓存,可以减少重复查询的计算和检索时间,提高查询速度。
当查询请求到达节点时,如果检查有缓存的结果则直接返回;对于没有缓存的查询,设立查询优先级调度算法来决定查询的处理顺序。保证关键查询得到及时响应,提高用户体验。
具体的,设查询q的重要性为和紧急性为/>,在实际应用中,可能存在某些查询即使紧急性很高,但其重要性较低,为了确保这些查询不会过度占用资源,引入了一个新的参数/>,表示查询的权重。定义查询q的优先级为:
,
其中,和/>是权重参数,用于调整重要性和紧急性的相对重要性,这些参数可以通过实验或经验来确定;/>是查询q的权重参数。
为了确保优先级最高的查询首先得到响应,需要对所有查询按照其优先级进行排序,通过以下公式实现:
,
其中,是按照优先级排序后的查询集合,/>是一个排序操作,它根据中定义的优先级值对/>中的查询进行排序。
综上所述,便完成了本申请所述的一种针对大型档案数据库的快速数据索引方法。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
1、通过采用Bloom Filter结构,能够有效地筛选出不在数据库中的查询,从而避免了不必要的、耗时的查询,大大提高了查询效率;引入分层索引压缩技术,根据查询频率的长尾分布进行索引存储,既节省了存储空间,又确保了高频查询的快速响应;
2、通过设计分布式节点的动态权重分配策略,能够根据每个节点的实时负载和性能,动态调整其权重,从而实现负载均衡,提高系统整体稳定性和响应速度;引入查询缓存机制,将常用的查询结果缓存起来,从而减少查询时间;同时,通过查询优先级调度算法,确保关键查询得到及时响应,进一步提高用户体验。
3、采用基于日志的技术,只记录变化的部分,避免了重新压缩整个索引,从而提高了索引更新的效率;通过索引完整性验证技术,确保了在压缩和解压缩过程中数据的完整性,避免了因数据损坏导致的查询错误。
效果调研:
本申请的技术方案能够有效解决现有技术没有采用高效预查询筛选机制,导致大量无效查询进入后续处理流程,增加了不必要的查询延迟和系统负载;没有对索引进行有效的压缩和分层存储,导致存储空间浪费和查询效率降低;难以应对节点间动态变化的负载,可能导致部分节点过载,而其他节点资源浪费;缺乏有效的查询优先级调度机制,导致关键查询的响应时间无法得到保障,并且,上述系统或方法经过了一系列的效果调研,通过验证,最终形成了一个完整的、高效的、自适应的数据索引系统,为大型档案数据库提供了一个高效、均衡、自适应的数据索引方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种针对大型档案数据库的快速数据索引方法,其特征在于,包括以下步骤:
S100:创建Bloom Filter结构,进行预查询筛选;
S200:描述查询频率,对索引进行压缩存储,采用增量索引更新技术更新索引;
S300:设计分布式节点的动态权重分配策略,根据每个节点的实时负载和性能,动态调整其权重,优化各节点负载;
S400:选择缓存效益最大的查询进行缓存,当查询请求到达节点时,首先检查查询缓存是否已经包含所述查询的结果;所述查询缓存是动态维护的数据结构,存储了最近执行的查询及结果;引入效益函数,所述效益函数基于查询的频率来查询在数据库中的执行时间;
设查询q的结果为,定义查询q的缓存效益为:
,
其中,是查询q的频率;/>是从数据库中检索查询q的时间;/>是从缓存中检索任何查询的平均时间;
选择缓存效益最大的查询进行缓存,通过以下公式实现:
,
其中,是指被选择用于缓存的查询,Q表示所有待处理的查询集合;设立查询优先级调度算法对所有查询按照其优先级进行排序。
2.根据权利要求1所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S100,具体包括:
快速判断一个元素是否在数据库中,即检查一个元素是否在Bloom Filter中时,将元素放入k个哈希函数中。
3.根据权利要求1所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S200,具体包括:
采用分层索引压缩技术,采用改进的Zipf-Mandelbrot法则来描述查询频率;所述改进的Zipf-Mandelbrot法则将频繁查询的索引项存储在顶层,使用最小的压缩,而不常查询的索引项存储在底层,使用高度压缩。
4.根据权利要求1所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S200,还包括:
采用增量索引更新技术;当索引更新时,增量索引更新技术只记录变化的部分,而不是重新压缩整个索引;使用韦布尔分布来描述索引更新的频率;采用索引完整性验证技术;对于每个索引,索引完整性验证技术都计算一个向量,并使用余弦相似度来比较压缩前和压缩后的向量。
5.根据权利要求1所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S300,具体包括:
定义一个负载指标,所述负载指标是基于每个节点的请求到达率和服务率的函数。
6.根据权利要求5所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S300,还包括:
为每个节点分配一个权重,权重是基于节点的负载和其性能指标的函数;并对权重进行归一化。
7.根据权利要求1所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S400,具体包括:
当查询请求到达节点时,首先检查查询缓存是否已经包含该查询的结果;查询缓存是一个动态维护的数据结构,它存储了最近执行的查询及其结果;引入效益函数,所述效益函数基于查询的频率查询在数据库中的执行时间。
8.根据权利要求7所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S400,还包括:
为了最大化总体缓存效益,需要选择缓存效益最大的查询进行缓存。
9.根据权利要求1所述的一种针对大型档案数据库的快速数据索引方法,其特征在于,所述S400,还包括:
当查询请求到达节点时,对于检查有缓存的查询结果则直接返回;对于没有缓存的查询结果,设立查询优先级调度算法来决定查询的处理顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311344947.XA CN117076466B (zh) | 2023-10-18 | 2023-10-18 | 一种针对大型档案数据库的快速数据索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311344947.XA CN117076466B (zh) | 2023-10-18 | 2023-10-18 | 一种针对大型档案数据库的快速数据索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076466A CN117076466A (zh) | 2023-11-17 |
CN117076466B true CN117076466B (zh) | 2023-12-29 |
Family
ID=88719828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311344947.XA Active CN117076466B (zh) | 2023-10-18 | 2023-10-18 | 一种针对大型档案数据库的快速数据索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076466B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555904B (zh) * | 2024-01-05 | 2024-03-26 | 杭银消费金融股份有限公司 | 一种异构环境下精确数据截面快速构建获取方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761255A (zh) * | 2013-12-27 | 2014-04-30 | 北京集奥聚合网络技术有限公司 | NoSQL方式数据存储的优化方法及系统 |
CN104239377A (zh) * | 2013-11-12 | 2014-12-24 | 新华瑞德(北京)网络科技有限公司 | 跨平台的数据检索方法及装置 |
CN104331497A (zh) * | 2014-11-19 | 2015-02-04 | 中国科学院自动化研究所 | 一种利用向量指令并行处理文件索引的方法及装置 |
CN108460074A (zh) * | 2017-12-29 | 2018-08-28 | 天津南大通用数据技术股份有限公司 | 基于BloomFilter的多列索引在列存数据库中的创建及使用方法 |
CN109726225A (zh) * | 2019-01-11 | 2019-05-07 | 广东工业大学 | 一种基于Storm的分布式流数据存储与查询方法 |
CN112698941A (zh) * | 2020-12-22 | 2021-04-23 | 浙江中控技术股份有限公司 | 一种基于动态负载均衡的实时数据库查询方法 |
CN113297269A (zh) * | 2021-02-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN113568906A (zh) * | 2021-07-02 | 2021-10-29 | 浙江工业大学 | 面向高通量数据流的分布式索引结构及负载均衡方法 |
CN114020779A (zh) * | 2021-10-22 | 2022-02-08 | 上海卓辰信息科技有限公司 | 自适应优化检索性能数据库及数据查询方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9213780B2 (en) * | 2009-06-26 | 2015-12-15 | Microsoft Technology Licensing Llc | Cache and index refreshing strategies for variably dynamic items and accesses |
US20170193041A1 (en) * | 2016-01-05 | 2017-07-06 | Sqrrl Data, Inc. | Document-partitioned secondary indexes in a sorted, distributed key/value data store |
US20220027349A1 (en) * | 2020-07-24 | 2022-01-27 | Alibaba Group Holding Limited | Efficient indexed data structures for persistent memory |
US11520788B2 (en) * | 2021-03-05 | 2022-12-06 | Insight Direct Usa, Inc. | Methods and systems for transforming distributed database structure for reduced compute load |
US20230141891A1 (en) * | 2021-11-10 | 2023-05-11 | Google Llc | Autonomous Column Selection for Columnar Cache |
-
2023
- 2023-10-18 CN CN202311344947.XA patent/CN117076466B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239377A (zh) * | 2013-11-12 | 2014-12-24 | 新华瑞德(北京)网络科技有限公司 | 跨平台的数据检索方法及装置 |
CN103761255A (zh) * | 2013-12-27 | 2014-04-30 | 北京集奥聚合网络技术有限公司 | NoSQL方式数据存储的优化方法及系统 |
CN104331497A (zh) * | 2014-11-19 | 2015-02-04 | 中国科学院自动化研究所 | 一种利用向量指令并行处理文件索引的方法及装置 |
CN108460074A (zh) * | 2017-12-29 | 2018-08-28 | 天津南大通用数据技术股份有限公司 | 基于BloomFilter的多列索引在列存数据库中的创建及使用方法 |
CN109726225A (zh) * | 2019-01-11 | 2019-05-07 | 广东工业大学 | 一种基于Storm的分布式流数据存储与查询方法 |
CN112698941A (zh) * | 2020-12-22 | 2021-04-23 | 浙江中控技术股份有限公司 | 一种基于动态负载均衡的实时数据库查询方法 |
CN113297269A (zh) * | 2021-02-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN113568906A (zh) * | 2021-07-02 | 2021-10-29 | 浙江工业大学 | 面向高通量数据流的分布式索引结构及负载均衡方法 |
CN114020779A (zh) * | 2021-10-22 | 2022-02-08 | 上海卓辰信息科技有限公司 | 自适应优化检索性能数据库及数据查询方法 |
Non-Patent Citations (4)
Title |
---|
分布式存储系统的数据管理技术研究;呼延晓楠;中国优秀硕士学位论文全文数据库信息科技辑(4);正文全文 * |
分布式环境下的频繁数据缓存策略;易俗;殷慧文;张一川;张莉;;计算机应用与软件(第08期);正文全文 * |
支持高效写的自适应学习索引研究;张洲;中国优秀硕士学位论文全文数据库信息科技辑(第1期);正文全文 * |
数据库大数据量存储结构研究;刘丹;任浩然;无线互联科技;第18卷(第10期);正文全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117076466A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266147B2 (en) | Methods and systems for database organization | |
US9063982B2 (en) | Dynamically associating different query execution strategies with selective portions of a database table | |
US8356154B2 (en) | Storage system, data relocation method thereof, and recording medium that records data relocation program | |
US10387411B2 (en) | Determining a density of a key value referenced in a database query over a range of rows | |
CN117076466B (zh) | 一种针对大型档案数据库的快速数据索引方法 | |
US10007691B2 (en) | Prioritizing repopulation of in-memory compression units | |
US8055666B2 (en) | Method and system for optimizing database performance | |
US20040158551A1 (en) | Patterned based query optimization | |
US6321218B1 (en) | Automatically determining data that is best suited for index tuning | |
CN100395750C (zh) | 一种缓存管理方法 | |
CN103077197A (zh) | 一种数据存储方法装置 | |
US12026160B2 (en) | Query plan cache in database systems | |
CN115687304A (zh) | 一种Flink状态存储优化方法及装置 | |
US10366067B2 (en) | Adaptive index leaf block compression | |
EP3507699B1 (en) | Method and systems for master establishment using service-based statistics | |
US7539608B1 (en) | Techniques for determining effects on system performance of a memory management parameter | |
CN110209742B (zh) | 一种基于区块链依据数据重要性分类存储系统及方法 | |
CN112269947B (zh) | 空间文本数据的缓存方法、装置、电子设备及存储介质 | |
CN114546962A (zh) | 一种基于Hadoop的海事局船检大数据分布式存储系统 | |
KR20170122151A (ko) | 동적인 알고리즘 변경을 통하여 쿼리 처리 시간을 축소시키기 위한 방법, 장치 및 컴퓨터-판독가능 매체 | |
CN113297106A (zh) | 基于混合存储的数据置换方法、相关方法及装置和系统 | |
US8140520B2 (en) | Embedding densities in a data structure | |
CN118170737B (zh) | 数据处理方法、装置及相关设备 | |
CN116305297B (zh) | 一种用于分布式数据库的数据分析方法及系统 | |
CN115455284A (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 |