CN107273443A - 一种基于大数据模型元数据的混合索引方法 - Google Patents
一种基于大数据模型元数据的混合索引方法 Download PDFInfo
- Publication number
- CN107273443A CN107273443A CN201710384489.0A CN201710384489A CN107273443A CN 107273443 A CN107273443 A CN 107273443A CN 201710384489 A CN201710384489 A CN 201710384489A CN 107273443 A CN107273443 A CN 107273443A
- Authority
- CN
- China
- Prior art keywords
- metadata
- hybrid index
- big data
- data model
- index
- 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
- 238000013499 data model Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000006870 function Effects 0.000 claims abstract description 5
- 238000000605 extraction Methods 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000013461 design Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000011160 research Methods 0.000 description 5
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005267 amalgamation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于大数据模型元数据的混合索引方法,包括以下步骤,S1:提取混合索引元数据,根据大数据模型元数据、模型解释和运行特征提取出混合索引的元数据,根据元数据的属性值将元数据赋值为1或0;S2:构建或更新混合索引,利用全域哈希函数构建或更新混合索引;S3:储存混合索引,根据混合索引特点,将混合索引的各个部分存储于内存、缓存和磁盘上,并根据查询要求依次并行检索索引内容;S4:检索混合索引,根据大数据模型的特点和混合索引特征,构建检索算法同时检索混合索引的不同部分。本发明紧密结合了大数据模型的元数据和模型特征,提供了一种高效准确的模型索引技术,提高了检索速度,增加大数据模型使用的便捷性。
Description
技术领域
本发明涉及一种混合索引方法,尤其是一种基于大数据模型元数据的混合索引方法。
背景技术
伴随着云计算、分布式集群和大数据研究的出现,原有的关系型数据库和索引逐渐不能满足现在的网络和计算要求,尤其是关系型数据库的一致性已经显得没有那么重要,这就需要新的数据存储方式和索引方式的出现。2009年,一场关于开源分布式数据库的讨论使得NoSQL应运而生,随着Google的分布式文件***和BigTable的开源化,非关系型数据库得到国内外的重视、研究和运用。
与关系型数据库不同的是,非关系型数据库提出另一种记录的存储和管理方式,例如,以键值对存储,且结构不固定,每一个存储记录-元组既可以有补一样的字段,也可以根据需要添加键值对,这样就不会局限于固定的结构,可以减少一些时间和空间开销。同时为了获取不同的信息,不需要像关系型数据库对表进行关联查询,只需要根据ID取出相应的value即可。非关系型数据库的颠覆性结构和存储使得其索引变得更加困难,同时也引起了更多的研究机构和学者的注意。从针对全局索引到分布式环境中局部索引的改进,从支持唯一索引到哈希索引的引进,非关系型数据库和其索引在大数据研究中发挥的作用越来越大。
无论是在关系型数据库还是在非关系型数据库中,研究人员均发现了单一的索引方式在某些特定场合发挥的作用低下,尤其是在空间数据和局部微小数据的查询上。于是,混合索引和多级索引结构伴随着不同的索引需求出现了,尤其是通过内存、缓存和外存的存储方式加上哈希树(表)、B树(B+树、B*树)、R树(R相关树)和倒排表在搜索引擎、文档的全文搜索和空间位置方面的运用尤为突出。混合索引的突出特点在大数据研究方面也作用显著,在健康(医疗)大数据、交通大数据和能源大数据的某些数据源上得到了很好的使用。
并行混合索引,即是在分布式集群上构建一个混合索引实现并行检索。由于大数据模型数量多,体积小,分布广泛,易扩展和易改变等特点,当前的关系型数据库已不太适合进行模型管理和存储;又因为分布式集群动态扩展和大数据模型动态运行特征等因素,故选择非关系型数据库-MongoDB进行大数据模型的存储和管理。因此本发明提出了一种基于大数据模型元数据,针对大数据模型的的并行混合索引方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于大数据模型元数据的混合索引方法,能够解决在大数据模型综合分析平台下的模型检索和管理问题。
本发明是通过以下技术方案来实现的:一种基于大数据模型元数据的混合索引结构,包括以下步骤:
S1:提取混合索引元数据,根据大数据模型元数据和模型解释、运行特征,提取得到构建混合索引的元数据,并根据元数据的属性值为元数据赋值为1或0;
S2:构建或更新混合索引,根据提取得到的元数据和元数据值,利用全域哈希函数,对大数据模型记录的提交构建或者更新混合索引;
S3:储存混合索引,根据混合索引的特点,将混合索引的各个部分分别存储于内存、缓存和磁盘上,根据查询要求依次可并行检索索引中内容;
S4:检索混合索引,根据大数据模型的特点和混合索引特征构建检索算法并行检索混合索引的不同部分。
所述提取混合索引元数据包括以下子步骤:
S11:基于大数据模型元数据,根据大数据模型在设计、解释和调度执行中的元数据属性更新情况,提取得到构建大数据模型混合索引使用的16个元数据,分别为:并行特征,输入格式,输出格式,数据输入量,数据输出量,输出可视化,用户自定义特征,模型模式,解释时间,解释约束,解释工作状态,执行环境,调度类型,执行时间,调度控制和同步/异步调度;
S12:根据大数据模型在设计、解释和调度执行的生命周期内的元数据属性值更新,为元数据属性值设置阈值,从而可以直接为元数据赋值为1或者0。当大数据模型在整个生命周期内不存在相应的元数据值,则为相应的元数据赋值为2并严格控制一个模型的元数据值出现2的个数小于等于5,包含1/0和2的元数据属性值严格限制了大数据模型的元数据序列结构。
所述构建或更新混合索引包括以下子步骤:
S21:由S1得到的元数据值均为1或者0,基于元数据和其属性值构建决策字典树获取大数据模型的序列值。每个模型有且仅有一条从根节点到树末端节点的路径,此路径由0、1和2组成,也就是说每个大数据模型通过决策字典树可以得到唯一一个包含0、1和2的有序序列值;
S22:根据雪崩效应思想,选取改进的BKDRHash算法实现大数据模型与哈希隐射地址的对应关系。由于数字序列值的唯一性和序列的顺序性,根据BKDRHash算法让每个字符权值相加的特性,得到大数据模型的
即可得到
所以BKDRHash函数选取的系数跟大数据模型的路径序列和序列大小有关,可指定p=216-1=65535,又因为65535不是质数,则p=65533。根据模型序列可得到模型的自然数值;
S23:根据S22得到每个大数据模型的自然数值后,通过“除数取余”散列法得到余数散列至各集群的的主机上,“除数取余”散列法的除数选取跟集群的逻辑地址有关,然后根据模型记录的更新情况构建混合索引。
所述储存混合索引中,混合索引中包含哈希节点、桶缓存、溢出页和B+树四部分,其中哈希节点和桶缓存是在保留缓冲区(内存中),溢出页是在缓存(或内存)中,B+树存储在外存(磁盘)上,在使用时进入集群内存。
所述检索混合索引中根据混合索引不同部分的存储介质和不同部分检索速度,可以得到检索顺序为:哈希节点>桶缓冲≥溢出页≥B+树;又根据混合索引的更新特征treeflag,构建检索算法。
本发明的有益效果是:为现有的大数据模型综合分析平台提供了一种高效准确的模型索引技术,此混合索引紧密结合了大数据模型的元数据和模型特征,提高了检索速度,增加了大数据模型使用的便捷性。
附图说明
图1为本发明流程图;
图2为本发明-改进的BKDRHash算法构建哈希隐射图;
图3为本发明-检索算法图;
图4为本发明的混合索引结构图;
图5为本发明的混合索引方法流程图。
具体实施方式
下面结合具体实施例进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
实施例1
如图1和图4所示,一种基于大数据模型元数据的混合索引结构,包括以下步骤:
S1:提取混合索引元数据,根据大数据模型元数据和模型解释、运行特征,提取得到构建混合索引的元数据,并根据大数据模型的解释和运行特征为元数据属性赋值为1或0;
S2:构建或更新混合索引,根据提取得到的元数据和元数据属性值,通过构造全域哈希函数,对大数据模型记录的提交构建或者更新混合索引;
S3:储存混合索引,根据混合索引的特点,将混合索引的各个部分分别存储于内存、缓存和外存(磁盘)上,根据查询要求依次可并行检索索引中内容;
S4:检索混合索引,根据大数据模型的特点和混合索引特征构建检索算法并行检索混合索引的不同部分。
所述提取混合索引元数据包括以下子步骤:
S11:基于大数据模型元数据,根据大数据模型在设计、解释和调度执行中的元数据属性更新情况,提取得到构建大数据模型混合索引使用的16个元数据,分别为:并行特征,输入格式,输出格式,数据输入量,数据输出量,输出可视化,用户自定义特征,模型模式,解释时间,解释约束,解释工作状态,执行环境,调度类型,执行时间,调度控制和同步/异步调度;
S12:根据大数据模型在设计、解释和调度执行的生命周期内的元数据属性值更新,为元数据属性值设置阈值,从而可以直接为元数据赋值为1或者0。当大数据模型在整个生命周期内不存在相应的元数据值,则为相应的元数据赋值为2并严格控制一个模型的元数据值出现2的个数小于等于5,包含1/0和2的元数据属性值严格限制了大数据模型的元数据序列结构。
所述构建或更新混合索引包括以下子步骤:
S21:由S1得到的元数据值均为1或者0,基于元数据和其属性值构建决策字典树获取大数据模型的序列值。每个模型有且仅有一条从根节点到树末端节点的路径,此路径由0、1和2组成,也就是说每个大数据模型通过决策字典树可以得到唯一一个包含0、1和2的有序序列值;
S22:根据雪崩效应思想,选取改进的BKDRHash算法实现大数据模型与哈希隐射地址的对应关系。如图2,由于数字序列值的唯一性和序列的顺序性,根据BKDRHash算法让每个字符权值相加的特性,得到大数据模型的
即可得到
所以BKDRHash函数选取的系数跟大数据模型的路径序列和序列大小有关,可指定p=216-1=65535,又因为65535不是质数,则p=65533。根据模型序列可得到模型的自然数值;
S23:在S22得到每个大数据模型的自然数值后,通过“除数取余”散列法得到余数散列至各集群的主机上,“除数取余”散列法的除数选取跟集群的逻辑地址有关,然后根据模型记录的更新情况构建混合索引。
所述储存混合索引中,混合索引中包含哈希节点、桶缓存、溢出页和B+树四部分,其中哈希节点和桶缓存是在保留缓冲区(内存中),溢出页是在缓存(或内存)中,B+树存储在外存(磁盘)上,在使用时进入集群内存;
如图3,所述的检索混合索引包括两种情况:
(1)检索桶、桶缓存和溢出页获取精确的模型结果集;
(2)检索B+树获取精确结果集或者结果范围集。
所述的混合索引中包含哈希节点、桶缓存、溢出页和B+树四部分,其中哈希节点和桶缓存是在保留缓冲区,溢出页是在缓存区,B+树存储在磁盘区;所述的检索混合索引会根据不同部分的存储介质和不同部分的检索速度,得到混合索引的更新特征。
所述检索混合索引中根据混合索引不同部分的存储介质和不同部分检索速度,可以得到检索顺序为:哈希节点>桶缓冲≥溢出页≥B+树;又根据混合索引的更新特征treeflag,构建检索算法。
如图5,所述的检索混合索引是通过检索桶得到结果集,然后根据结果集获取匹配桶缓存的指针q1和B+树指针树q2,使用树标记判断;若真,则根据指针检索B+树,得到结果集P4;若假,检索桶缓存得到结果集P2,检索溢出页得到结果集P3,合并结果集P1、P2、P3得到结果集P;随后判断P值,若P为空集,则根据指针检索B+树得到结果集P4;若P不为空,则返还P值;最后合并P1、P2、P3、P4得到最终结果R,返还R,得到检索结果。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (7)
1.一种基于大数据模型元数据的混合索引方法,其特征在于,它包括以下步骤:
S1:提取混合索引元数据,根据大数据模型元数据、模型解释和运行特征提取混合索引元数据,并根据元数据的属性值将元数据赋值为1或0;
S2:构建或更新混合索引,根据提取的元数据和元数据值,利用全域哈希函数构建或更新混合索引;
S3:储存混合索引,根据混合索引特点,将混合索引的各个部分分别存储于内存、缓存和磁盘上,根据查询要求依次可并行检索索引中内容;
S4:检索混合索引,根据大数据模型的特点和混合索引特征,构建检索算法同时检索混合索引的不同部分。
2.根据权利要求1所述的一种基于大数据模型元数据的混合索引方法,其特征在于,所述的提取混合索引元数据包括以下子步骤:
S11:提取混合索引元数据,基于大数据模型,利用大数据模型元数据的属性更新情况,提取大数据模型混合索引使用的16个元数据;
S12:元数据赋值,利用大数据模型在设计、解释和调度执行的生命周期内的元数据属性更新情况,为元数据属性值设置阈值,将元数据赋值为1或者0。
3.根据权利要求2所述的提取混合索引元数据,其特征在于,所述的16个元数据分别是:并行特征,输入格式,输出格式,数据输入量,数据输出量,输出可视化,用户自定义特征,模型模式,解释时间,解释约束,解释工作状态,执行环境,调度类型,执行时间,调度控制和同步/异步调度;所述的元数据赋值,当大数据模型在整个生命周期内不存在相应的元数据值时,将元数据赋值为2,同时严格控制一个模型的元数据值出现2的个数小于等于5,严格限制包含0、1和2的元数据值的大数据模型元数据序列结构。
4.根据权利要求1所述的一种基于大数据模型元数据的混合索引方法,其特征在于,所述的储存混合索引包括以下子步骤:
S21:根据元数据和元数据值构建决策字典树,并获取大数据模型的序列值;
S22:根据雪崩效应,选取改进的BKDRHash算法实现大数据模型和哈希隐射地址的对应关系,得到模型的自然数值;
S23:利用“除数取余”散列法得到余数散列,根据集群的逻辑地址、模型记录的更新情况构建混合索引。
5.根据权利要求4所述的储存混合索引,其特征在于,所述的构建决策字典树时,每个模型有且只有一条从跟节点到树末端节点的路径,此路径由0、1和2组成,即每个大数据模型通过决策字典树可以得到唯一一个包含0、1和2的有序序列值;所述的改进的BKDRHash算法是根据大数据模型的路径序列和序列大小,将每个字符权值相加,得到
6.根据权利要求1所述的一种基于大数据模型元数据的混合索引方法,其特征在于,所述的检索混合索引包括两种情况:
(1)检索桶、桶缓存和溢出页获取精确的模型结果集;
(2)检索B+树获取精确结果集或者结果范围集。
7.根据权利要求6所述的检索混合索引,其特征在于,所述的混合索引中包含哈希节点、桶缓存、溢出页和B+树四部分,其中哈希节点和桶缓存是在保留缓冲区,溢出页是在缓存区,B+树存储在磁盘区;所述的检索混合索引会根据不同部分的存储介质和不同部分的检索速度,得到混合索引的更新特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710384489.0A CN107273443B (zh) | 2017-05-26 | 2017-05-26 | 一种基于大数据模型元数据的混合索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710384489.0A CN107273443B (zh) | 2017-05-26 | 2017-05-26 | 一种基于大数据模型元数据的混合索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273443A true CN107273443A (zh) | 2017-10-20 |
CN107273443B CN107273443B (zh) | 2020-09-29 |
Family
ID=60065353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710384489.0A Expired - Fee Related CN107273443B (zh) | 2017-05-26 | 2017-05-26 | 一种基于大数据模型元数据的混合索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273443B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109407979A (zh) * | 2018-09-27 | 2019-03-01 | 清华大学 | 多线程持久性b+树数据结构设计与实现方法 |
CN110083601A (zh) * | 2019-04-04 | 2019-08-02 | 中国科学院计算技术研究所 | 面向键值存储***的索引树构建方法及*** |
CN111488342A (zh) * | 2020-04-07 | 2020-08-04 | 小红书科技有限公司 | 一种建立数据索引的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298631A (zh) * | 2011-08-31 | 2011-12-28 | 江苏大学 | 一种新型元数据管理***和一种元数据属性混合索引方法 |
US20140280025A1 (en) * | 2009-10-05 | 2014-09-18 | Salesforce.Com, Inc. | Methods and systems for joining indexes for query optimization in a multi-tenant database |
CN104063487A (zh) * | 2014-07-03 | 2014-09-24 | 浙江大学 | 基于关系型数据库及k-d树索引的文件数据管理方法 |
-
2017
- 2017-05-26 CN CN201710384489.0A patent/CN107273443B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280025A1 (en) * | 2009-10-05 | 2014-09-18 | Salesforce.Com, Inc. | Methods and systems for joining indexes for query optimization in a multi-tenant database |
CN102298631A (zh) * | 2011-08-31 | 2011-12-28 | 江苏大学 | 一种新型元数据管理***和一种元数据属性混合索引方法 |
CN104063487A (zh) * | 2014-07-03 | 2014-09-24 | 浙江大学 | 基于关系型数据库及k-d树索引的文件数据管理方法 |
Non-Patent Citations (1)
Title |
---|
刘震等: "语义对等网中资源元数据混合索引策略研究", 《国防科技大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109407979A (zh) * | 2018-09-27 | 2019-03-01 | 清华大学 | 多线程持久性b+树数据结构设计与实现方法 |
CN109407979B (zh) * | 2018-09-27 | 2020-07-28 | 清华大学 | 多线程持久性b+树数据结构设计与实现方法 |
CN110083601A (zh) * | 2019-04-04 | 2019-08-02 | 中国科学院计算技术研究所 | 面向键值存储***的索引树构建方法及*** |
CN111488342A (zh) * | 2020-04-07 | 2020-08-04 | 小红书科技有限公司 | 一种建立数据索引的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107273443B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866497B (zh) | 分布式文件***列式存储的元数据更新方法、装置、主机 | |
CN103488684B (zh) | 基于缓存数据多线程处理的电力可靠性指标快速计算方法 | |
CN102521334B (zh) | 一种基于分类特性和平衡二叉树的数据存储、查询方法 | |
CN104317966B (zh) | 一种用于电力大数据快速组合查询的动态索引方法 | |
CN102722531B (zh) | 一种云环境中基于分片位图索引的查询方法 | |
CN103488704B (zh) | 一种数据存储方法及装置 | |
CN109471905B (zh) | 一种支持时间范围和属性范围复合查询的区块链索引方法 | |
CN110291518A (zh) | 合并树无用单元指标 | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN103778148B (zh) | Hadoop分布式文件***数据文件的生命周期管理方法和设备 | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN108897761A (zh) | 一种聚簇存储方法及装置 | |
CN102332030A (zh) | 用于分布式键-值存储***的数据存储、管理和查询方法及*** | |
CN101673307A (zh) | 空间数据索引方法及*** | |
CN104504008B (zh) | 一种基于嵌套的SQL到HBase的数据迁移算法 | |
CN103399945A (zh) | 一种基于云计算数据库***的数据结构 | |
CN102609490B (zh) | 一种面向列存储dwms的b+树索引方法 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN110222029A (zh) | 一种大数据多维分析计算效率提升方法及*** | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN105389367A (zh) | 基于Mongo数据库的电网图形多时态多级分布式存储方法 | |
CN108509437A (zh) | 一种ElasticSearch查询加速方法 | |
CN108021702A (zh) | 基于LSM-tree的分级存储方法、装置、OLAP数据库***及介质 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN107273443A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200929 |