CN103218404A - 一种基于关联特性的多维元数据管理方法和*** - Google Patents
一种基于关联特性的多维元数据管理方法和*** Download PDFInfo
- Publication number
- CN103218404A CN103218404A CN2013100900424A CN201310090042A CN103218404A CN 103218404 A CN103218404 A CN 103218404A CN 2013100900424 A CN2013100900424 A CN 2013100900424A CN 201310090042 A CN201310090042 A CN 201310090042A CN 103218404 A CN103218404 A CN 103218404A
- Authority
- CN
- China
- Prior art keywords
- metadata
- meta data
- data server
- query
- collection
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于关联特性的多维元数据管理方法,包括:在元数据服务器集群中,对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件,根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件;根据集合统计文件,分别在每台元数据服务器上建立本地索引表,根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表,根据组索引表建立元数据服务器集群的顶层索引表,接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表。本发明能够充分地利用元数据的多维属性间的关联特性,满足复杂查询需求,并具有良好的可扩展性。
Description
技术领域
本发明属于计算机数据存储领域,更具体地,涉及一种基于关联特性的多维元数据管理方法和***。
背景技术
随着云计算、云存储时代的到来,信息存储***中的数据规模的几何级数式增长使得对数据的高效存储、管理与查询等问题也变得越来越困难。海量数据规模的不断增长导致了数据存储和维护的难度不断增加,研究表明,实际中海量存储***的文件数据具有显著的关联特征。关联特性是指文件在其属性空间中具有的聚集现象,其本质上体现了文件之间的相关性。通常情况下,我们经常使用的是文件间的时间关联性与空间关联性,时间关联性表现在时间相近的文件在一段时间内会被立即访问,而空间关联性表现在位于相邻位置的文件具有很大可能性被后继请求访问。除了时间关联性与空间关联性之外,还有众多的关联性体现在文件与文件之间,比如文件大小、文件的访问频率、文件的创建者等。但是已有的研究成果明显缺乏对文件在更多属性上关联性的研究。考虑更多属性上的关联性,有助于更加准确地区分文件之间的相关性,基于多维属性空间中的距离度量,两个文件间的相关性可以明确的计算出来。面对海量数据处理,运用一定的方法来度量数据之间的关联性,并由此将数据划分成多个聚集的空间,将为后继处理带来明显的好处。
然而,现有的元数据管理方法存在以下问题:
(1)没有充分利用元数据的多维属性间的关联特性,表现在现有方法往往只利用了元数据的时间属性与空间属性,没有充分地挖掘元数据之间的关联特性。
(2)不能有效的支持复杂的查询请求,对于涉及元数据多维属性的查询请求,如范围查询、TopK查询等,现有方法不能有效地处理;
(3)可扩展性差,当元数据数目随着***的扩展而变多时,现有方法的查询响应时间将显著增加。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于关联特性的多维元数据管理方法,旨在解决海量存储***中的元数据管理问题,其能够充分地利用元数据的多维属性间的关联特性,满足复杂查询需求,并具有良好的可扩展性。
为实现上述目的,本发明提供了一种基于关联特性的多维元数据管理方法,包括以下步骤:
(1)在元数据服务器集群中,对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件;
(2)根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件;
(3)根据集合统计文件,分别在每台元数据服务器上建立本地索引表;本地索引表用于管理每台元数据服务器上的元数据集合,索引表中每一项记录了集合统计文件中的元数据集合编号,以及该元数据集合编号对应的元数据集合在磁盘中的存储地址;
(4)根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表;
(5)根据组索引表,建立元数据服务器集群的顶层索引表;
(6)接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表,并返回查询结果;其中用户查询请求包括点查询、范围查询和TopK查询。
步骤(1)包括以下子步骤:
(1-1)确定表示每台元数据服务器上元数据之间关联特性的多维属性;
(1-2)将元数据的多维属性构造成固定长度的输入向量,该输入向量作为位置灵敏哈希函数的输入值;
(1-3)使用相同的位置灵敏哈希函数对输入向量进行哈希计算,得到的哈希值作为该输入向量对应的元数据的唯一标识;
(1-4)将具有相同哈希值的元数据划分到同一元数据集合中,并以该哈希值作为该元数据集合的编号;
(1-5)统计元数据集合中元数据的划分情况,以生成集合统计文件;该集合统计文件包括元数据集合编号、元数据数目、各维属性平均值、各维属性范围,其中元数据集合编号范围为1,2,3,…,N,N表示位置灵敏哈希函数中哈希表的长度。
步骤(2)具体为,在每台元数据服务器上构建一个位向量,该位向量的长度与步骤(1)中位置灵敏哈希函数使用的哈希表长度相同,其后,根据所有元数据服务器的位向量两两之间的海明距离并利用层次聚类算法在元数据服务器之间进行聚类操作,以得到元数据服务器的分组,当聚类形成的分组数目达到下限,或者分组之间的距离到达了上限,则停止聚类操作,从而得到多个元数据服务器组,并将结果保存在分组配置文件中。
步骤(4)具体为,对于分组配置文件中的每个分组,分别构建对应的组索引表,组索引表中的每一项记录该分组中所有元数据服务器上元数据集合的信息,包括元数据集合编号、元数据集合所在元数据服务器的IP地址、元数据数目、各维属性平均值、各维属性范围。
步骤(6)中的点查询操作具体包括以下步骤:
(6-1-1)接收点查询请求,确定该查询请求对应的元数据的多维属性,并利用位置灵敏哈希函数计算多维属性的哈希值,该哈希值即为需要查询的元数据集合的编号;
(6-1-2)在顶层索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器分组的IP地址;
(6-1-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-1-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-1-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回查询结果。
步骤(6)中的范围查询操作具体包括以下步骤:
(6-2-1)接收范围查询请求,确定待查的多维属性范围,计算各属性范围的中位值,并由各属性范围的中位值构造输入向量,利用位置灵敏哈希函数计算输入向量的哈希值,该哈希值即为需要查询的元数据集合的编号;
(6-2-2)在顶层索引表中查询元数据集合编号对应的表项,将查询请求中的多维属性范围与表项中保存的多维属性范围作对比,如果两个范围不相交,直接返回结果为空;如果两个范围相交,得到包含待查元数据的元数据服务器分组的IP地址;
(6-2-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-2-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-2-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回所有满足查询请求中多维属性范围的元数据。
步骤(6)中的TopK查询操作具体包括以下步骤:
(6-3-1)接收TopK查询请求,确定该查询请求对应的元数据的多维属性及K值,并利用位置灵敏哈希函数计算多维属性的哈希值,该哈希值即为需要查询的元数据集合的编号;其中K表示与查询请求中的元数据多维属性最相近的元数据的数量;
(6-3-2)在顶层索引表中查询元数据集合编号对应的表项,如果表项中记录的元数据数目小于K值,则将该表项左右两边的表项也纳入查询范围,直到表项中元数据数目之和大于或等于K值,最后得到多个元数据服务器分组的IP地址;
(6-3-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-3-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-3-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回与查询请求中的元数据的多维属性最相近的K条元数据。
通过本发明所构思的以上技术方案,与现有技术相比,本方法具有以下的有益效果:
1、充分利用了元数据的多维属性间的关联特性。由于采用了步骤(1)和(2),元数据根据其多维属性间的关联特性被划分到了多个元数据集合,具有相同或相近多维属性的元数据被划分到了相同的元数据集合之中,从而可以有效地以元数据集合为单位来管理所有的元数据。
2、有效地支持复杂的查询请求,如范围查询、TopK查询。由于采用了步骤(3)、步骤(4)和步骤(5),对于每种查询请求,都将依次查询顶层索引表、组索引表和本地索引表,并最终将查询定位到元数据集合之中。查询元数据集合中具有相同或相近多维属性的元数据,可以快速,准确地返回结果。
3、满足了可扩展性的要求。由于元数据根据关联特性被划分成了多个元数据集合进行管理,***元数据数目的迅速增长只会引起元数据集合的缓慢增长,从而保证了元数据管理的效果与效率。
本发明的另一目的在于提供一种基于关联特性的多维元数据管理***,旨在解决海量存储***中的元数据管理问题,其能够充分地利用元数据的多维属性间的关联特性,满足复杂查询需求,并具有良好的可扩展性。
为实现上述目的,本发明提供了一种基于关联特性的多维元数据管理***,包括元数据集合生成模块、元数据服务器分组模块、本地索引生成模块、组索引生成模块、顶层索引生成模块、查询模块,元数据集合生成模块对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件,元数据服务器分组模块根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件,本地索引生成模块,根据集合统计文件,分别在每台元数据服务器上建立本地索引表,组索引生成模块根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表,顶层索引生成模块根据组索引表,建立元数据服务器集群的顶层索引表,查询模块接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表,并返回查询结果。
元数据集合生成模块包括多维属性确定模块、输入向量构造模块、哈希函数计算模块、关联特性划分模块和输出模块,多维属性确定模块确定表示元数据之间关联特性的多维属性,输入向量构造模块将元数据的多维属性构造成固定长度的输入向量,该输入向量作为位置灵敏哈希函数的输入值,哈希函数计算模块使用相同的位置灵敏哈希函数对输入向量进行哈希计算,得到的哈希值作为该输入向量对应的元数据的唯一标识,关联特性划分模块将具有相同哈希值的元数据划分到同一元数据集合中,并以该哈希值作为该元数据集合的编号,输出模块统计元数据集合中元数据的划分情况,以生成集合统计文件。
查询模块具体包括点查询子模块、范围查询子模块、TopK查询子模块,点查询子模块处理用户的点查询请求,给定某个元数据的多维属性,查询结果返回元数据的具体信息,范围查询子模块处理用户的范围查询请求,给定多维属性的范围,查询结果返回整个***中满足范围的所有元数据信息,TopK查询子模块处理用户的TopK查询请求,给定一组多维属性,并指定K值,查询结果返回整个***中与给定多维属性最相近的K条数据。
通过本发明所构思的以上技术方案,与现有技术相比,本***具有以下的有益效果:
1、充分利用了元数据的多维属性间的关联特性。由于采用了元数据集合生成模块、元数据服务器分组模块,元数据根据其多维属性间的关联特性被划分到了多个元数据集合,具有相同或相近多维属性的元数据被划分到了相同的元数据集合之中,从而可以有效地以元数据集合为单位来管理所有的元数据。
2、有效地支持复杂的查询请求,如范围查询、TopK查询。由于采用了本地索引生成模块、组索引生成模块、顶层索引生成模块,对于每种查询请求,都将依次查询顶层索引表、组索引表和本地索引表,并最终将查询定位到元数据集合之中。查询元数据集合中具有相同或相近多维属性的元数据,可以快速,准确地返回结果。
3、满足了可扩展性的要求。由于元数据根据关联特性被划分成了多个元数据集合进行管理,***元数据数目的迅速增长只会引起元数据集合的缓慢增长,从而保证了元数据管理的效果与效率。
附图说明
图1为本发明基于关联特性的多维元数据管理方法的流程图。
图2为本发明基于关联特性的多维元数据管理***的模块示意图。
图3为本发明方法中步骤(1)的细化流程图。
图4为本发明元数据集合生成模块的示意框图。
图5为本发明查询过程的示意图。
图6为本发明***中查询模块的事宜框图。
图7为本发明点查询过程的流程图。
图8为本发明范围查询过程的流程图。
图9为本发明TopK查询过程的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明为基于关联特性的多维元数据管理方法和***,该方法利用多维元数据之间的关联特性,对元数据进行分组操作,将具有相同或相似多维属性的元数据划分到同一元数据集合之中,能够满足对于元数据的各种复杂查询操作。
如图1所示,本发明基于关联特性的多维元数据管理方法包括以下步骤:
(1)在元数据服务器集群中,对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件;
如图3所示,本步骤包括以下子步骤,
(1-1)确定表示每台元数据服务器上元数据之间关联特性的多维属性;在本实施方式中,多维属性包括文件大小、文件创建时间、文件修改时间、文件访问次数等;
(1-2)将元数据的多维属性构造成固定长度的输入向量,该输入向量作为位置灵敏哈希函数的输入值;具体而言,固定长度的大小等于元数据的维度;构造成的输入向量被表示为(文件大小,文件创建时间,文件修改时间,文件访问次数,…);
(1-3)使用相同的位置灵敏哈希函数对输入向量进行哈希计算,得到的哈希值作为该输入向量对应的元数据的唯一标识;
(1-4)将具有相同哈希值的元数据划分到同一元数据集合中,并以该哈希值作为该元数据集合的编号;
(1-5)统计元数据集合中元数据的划分情况,以生成集合统计文件;该集合统计文件包括元数据集合编号、元数据数目、各维属性平均值、各维属性范围,其中元数据集合编号范围为1,2,3,…,N,其中N表示位置灵敏哈希函数中哈希表的长度。
对元数据进行基于关联特性的分组有多种方法,本发明选择了位置灵敏哈希。位置灵敏哈希可以将多维数据映射到一维空间之中,同时保持多维数据之间空间关系的不变,即原本相邻的数据在经过哈希后仍然是相邻的。对于每条元数据,通过位置灵敏哈希计算得到哈希值,将具有相同哈希值的元数据聚集到同一元数据集合中,就可以达到对元数据进行分组的目的。
本步骤的优点在于:利用元数据的多维属性间的关联特性,将所有元数据划分成多个元数据集合,同一元数据集合中包含的元数据具有相同或相似的多维属性。这样,对于元数据的查询操作就可以限定在对应的元数据集合中进行,从而显著提高查询效率。
(2)根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件;
具体而言,在每台元数据服务器上构建一个位向量,该位向量的长度与步骤(1)中位置灵敏哈希函数使用的哈希表长度相同,位向量的第一个位对应于元数据集合编号为1的元数据集合是否存在,若存在,则该第一个位为1,否则为0,…,位向量的第N个位对应于元数据集合编号为N的元数据集合是否存在,若存在,则该第N个位为1,否则为0;其后,根据所有元数据服务器的位向量两两之间的海明距离(Hamming distance)并利用层次聚类算法在元数据服务器之间进行聚类操作,以得到元数据服务器的分组,当聚类形成的分组数目达到下限,或者分组之间的距离到达了上限,则停止聚类操作,从而得到多个元数据服务器组,并将结果保存在分组配置文件中;在本实施方式中,上限的取值等于位向量长度的一半,下限的取值为1。
举例而言,假如有A、B、C、D和E共5个元数据服务器,分别对应于5个位向量,首先计算这5个位向量两两之间的海明距离,然后选出海明距离最短的两个位向量对应的元数据服务器(比如A和B)形成聚类F,以生成的每个聚类为一个元数据服务器分组,然后在F、C、D和E之间进行重复迭代操作,一旦形成的分组数目达到下限,或者分组之间的距离达到上限,则停止聚类操作。
本步骤的优点在于:将元数据服务器分成多个元数据服务器分组,可以有效地将查询请求分散在多个元数据服务器分组之中,从而避免出现***瓶颈。
(3)根据集合统计文件,分别在每台元数据服务器上建立本地索引表;本地索引表用于管理每台元数据服务器上的元数据集合,索引表中每一项记录了集合统计文件中的元数据集合编号,以及该元数据集合编号对应的元数据集合在磁盘中的存储地址。
(4)根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表;具体而言,对于分组配置文件中的每个分组,分别构建对应的组索引表,组索引表中的每一项记录该分组中所有元数据服务器上元数据集合的信息,包括元数据集合编号、元数据集合所在元数据服务器的IP地址、元数据数目、各维属性平均值、各维属性范围。
对于建立的组索引表,在具体实施中,可以存放在元数据服务器分组中的任一台元数据服务器上,这台元数据服务器我们称之为元数据服务器分组的组长元数据服务器;在考虑数据冗余的情况下,也可以将组索引表存放在元数据服务器分组中的多台元数据服务器上。
(5)根据组索引表,建立元数据服务器集群的顶层索引表;具体而言,建立顶层索引表来管理元数据服务器分组的信息,包括元数据集合编号、元数据集合所在分组的IP地址、元数据数目、各维属性平均值、各维属性范围。
顶层索引表可以存放在任一台选定的元数据服务器上,为了避免单点故障,也可以将其存放在多台元数据服务器上。
步骤(3)到步骤(5)用于构造整个***的三级索引表,通过三级索引表,对于元数据的查询请求可以快速地定位到某个元数据服务器分组中,然后再定位到具体的元数据服务器,最后找到包含该元数据的元数据集合。三级索引表用于快速地定位元数据集合,提高查询的时间效率。
(6)接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表,并返回查询结果;其中用户查询请求具体包括:点查询、范围查询和TopK查询。
如图6所示,步骤(6)中的点查询操作具体包括以下步骤:
(6-1-1)接收点查询请求,确定该查询请求对应的元数据的多维属性,并利用位置灵敏哈希函数计算多维属性的哈希值,该哈希值即为需要查询的元数据集合的编号;
(6-1-2)在顶层索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器分组的IP地址;
(6-1-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-1-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-1-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回查询结果;
如图7所示,步骤(6)中的范围查询操作具体包括以下步骤:
(6-2-1)接收范围查询请求,确定待查的多维属性范围,计算各属性范围的中位值,并由各属性范围的中位值构造输入向量,利用位置灵敏哈希函数计算输入向量的哈希值,该哈希值即为需要查询的元数据集合的编号;
(6-2-2)在顶层索引表中查询元数据集合编号对应的表项,将查询请求中的多维属性范围与表项中保存的多维属性范围作对比,如果两个范围不相交,直接返回结果为空;如果两个范围相交,得到包含待查元数据的元数据服务器分组的IP地址;
(6-2-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-2-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-2-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回所有满足查询请求中多维属性范围的元数据;
如图8所示,步骤(6)中的TopK查询操作具体包括以下步骤:
(6-3-1)接收TopK查询请求,确定该查询请求对应的元数据的多维属性及K值,并利用位置灵敏哈希函数计算多维属性的哈希值,该哈希值即为需要查询的元数据集合的编号;其中K表示与查询请求中的元数据多维属性最相近的元数据的数量;
(6-3-2)在顶层索引表中查询元数据集合编号对应的表项,如果表项中记录的元数据数目小于K值,则将该表项左右两边的表项也纳入查询范围,直到表项中元数据数目之和大于或等于K值,最后得到多个元数据服务器分组的IP地址;
(6-3-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-3-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-3-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回与查询请求中的元数据的多维属性最相近的K条元数据;
因为元数据由多维属性构成,这些属性包括文件大小、文件创建时间、文件修改时间、文件访问次数等。在文件***中,元数据之间往往存在一定的关联特性,比如具有相似的大小与访问时间,传统的元数据查询方式只利用了元数据的空间局部性与时间局部性,而忽略了元数据其它属性之间的关联性。在面对复杂的查询请求,如TopK查询、范围查询,传统的元数据管理方式不得不遍历整个元数据集合来获得结果。在本发明中,充分的利用了元数据之间的关联特性,将具有相同或相似元数据属性的元数据聚焦成元数据集合,对于每个元数据查询请求,本发明都将首先将查询定位到某个或某些元数据集合中,从而大大减少了元数据的查询数目,可以更快的返回查询结果。
如图2所示,本发明基于关联特性的多维元数据管理***包括元数据集合生成模块1、元数据服务器分组模块2、本地索引生成模块3、组索引生成模块4、顶层索引生成模块5、查询模块6。
元数据集合生成模块1,对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件;如图4所示,元数据集合生成模块1包括多维属性确定模块11、输入向量构造模块12、哈希函数计算模块13、关联特性划分模块14和输出模块15。
多维属性确定模块11确定表示元数据之间关联特性的多维属性;
输入向量构造模块12将元数据的多维属性构造成固定长度的输入向量,该输入向量作为位置灵敏哈希函数的输入值;
哈希函数计算模块13使用相同的位置灵敏哈希函数对输入向量进行哈希计算,得到的哈希值作为该输入向量对应的元数据的唯一标识;
关联特性划分模块14将具有相同哈希值的元数据划分到同一元数据集合中,并以该哈希值作为该元数据集合的编号;
输出模块15统计元数据集合中元数据的划分情况,以生成集合统计文件;
元数据服务器分组模块2根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件;
本地索引生成模块3,根据集合统计文件,分别在每台元数据服务器上建立本地索引表;
组索引生成模块4根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表;
顶层索引生成模块5根据组索引表,建立元数据服务器集群的顶层索引表;
查询模块6接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表,并返回查询结果;如图6所示,查询模块具体包括点查询子模块61、范围查询子模块62、TopK查询子模块63。
查询模块6的总体示意图如图5所示,查询请求先被发送到顶层索引表所在元数据服务器,通过顶层索引生成模块5将查询请求定位到某个元数据服务器分组,转发查询请求到对应的组索引生成模块4,通过查询组索引表将查询请求定位到某个或某些元数据服务器上,转发查询请求到对应的本地索引生成模块3,最后确定要查询的元数据集合,并返回满足条件的结果。
具体而言:点查询子模块61处理用户的点查询请求,给定某个元数据的多维属性,查询结果返回元数据的具体信息;范围查询子模块62处理用户的范围查询请求,给定多维属性的范围,查询结果返回整个***中满足范围的所有元数据信息;TopK查询子模块63处理用户的TopK查询请求,给定一组多维属性,并指定K值,查询结果返回整个***中与给定多维属性最相近的K条数据。
为验证本发明***的可行性和有效性,在真实环境下配置本发明***,并进行相关查询操作来验证其效果。
本发明***测试的硬件与软件***如表1所示:
表1
本发明***的配置过程如下:首先,将测试的trace文件分发到每个节点;然后,每个节点运行元数据集合生成模块1和数据服务器分组模块2,在本测试中5个节点被分成了三个分组,分组中的节点数目分别为1,2,3;在每个分组中运行本地索引生成模块3,在每个分组中选择一个节点来存放由组索引生成模块4生成的组索引表,同时在该节点上还保存顶层索引生成模块5生成的顶层索引表。
对于用户的查询请求,则由查询模块6处理,先查询顶层索引表,确定请求所有的元数据服务器分组,在分组中查询组索引表,确定请求所有的元数据服务器,最后通过本地索引表确定要查询的元数据集合。通过这一过程,一个请求最终被限定到某个或某些元数据集合中,从而有效的提高了查询的时间效率。表2为本发明***与关系数据库***的查询平均时间对比。
表2
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于关联特性的多维元数据管理方法,其特征在于,包括以下步骤:
(1)在元数据服务器集群中,对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件;
(2)根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件;
(3)根据集合统计文件,分别在每台元数据服务器上建立本地索引表;本地索引表用于管理每台元数据服务器上的元数据集合,索引表中每一项记录了集合统计文件中的元数据集合编号,以及该元数据集合编号对应的元数据集合在磁盘中的存储地址;
(4)根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表;
(5)根据组索引表,建立元数据服务器集群的顶层索引表;
(6)接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表,并返回查询结果;其中用户查询请求包括点查询、范围查询和TopK查询。
2.根据权利要求1所述的多维元数据管理方法,其特征在于,步骤(1)包括以下子步骤:
(1-1)确定表示每台元数据服务器上元数据之间关联特性的多维属性;
(1-2)将元数据的多维属性构造成固定长度的输入向量,该输入向量作为位置灵敏哈希函数的输入值;
(1-3)使用相同的位置灵敏哈希函数对输入向量进行哈希计算,得到的哈希值作为该输入向量对应的元数据的唯一标识;
(1-4)将具有相同哈希值的元数据划分到同一元数据集合中,并以该哈希值作为该元数据集合的编号;
(1-5)统计元数据集合中元数据的划分情况,以生成集合统计文件;该集合统计文件包括元数据集合编号、元数据数目、各维属性平均值、各维属性范围,其中元数据集合编号范围为1,2,3,…,N,N表示位置灵敏哈希函数中哈希表的长度。
3.根据权利要求1所述的多维元数据管理方法,其特征在于,步骤(2)具体为,在每台元数据服务器上构建一个位向量,该位向量的长度与步骤(1)中位置灵敏哈希函数使用的哈希表长度相同,其后,根据所有元数据服务器的位向量两两之间的海明距离并利用层次聚类算法在元数据服务器之间进行聚类操作,以得到元数据服务器的分组,当聚类形成的分组数目达到下限,或者分组之间的距离到达了上限,则停止聚类操作,从而得到多个元数据服务器组,并将结果保存在分组配置文件中。
4.根据权利要求1所述的多维元数据管理方法,其特征在于,步骤(4)具体为,对于分组配置文件中的每个分组,分别构建对应的组索引表,组索引表中的每一项记录该分组中所有元数据服务器上元数据集合的信息,包括元数据集合编号、元数据集合所在元数据服务器的IP地址、元数据数目、各维属性平均值、各维属性范围。
5.根据权利要求1所述的多维元数据管理方法,其特征在于,步骤(6)中的点查询操作具体包括以下步骤:
(6-1-1)接收点查询请求,确定该查询请求对应的元数据的多维属性,并利用位置灵敏哈希函数计算多维属性的哈希值,该哈希值即为需要查询的元数据集合的编号;
(6-1-2)在顶层索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器分组的IP地址;
(6-1-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-1-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-1-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回查询结果。
6.根据权利要求1所述的多维元数据管理方法,其特征在于,步骤(6)中的范围查询操作具体包括以下步骤:
(6-2-1)接收范围查询请求,确定待查的多维属性范围,计算各属性范围的中位值,并由各属性范围的中位值构造输入向量,利用位置灵敏哈希函数计算输入向量的哈希值,该哈希值即为需要查询的元数据集合的编号;
(6-2-2)在顶层索引表中查询元数据集合编号对应的表项,将查询请求中的多维属性范围与表项中保存的多维属性范围作对比,如果两个范围不相交,直接返回结果为空;如果两个范围相交,得到包含待查元数据的元数据服务器分组的IP地址;
(6-2-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-2-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-2-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回所有满足查询请求中多维属性范围的元数据。
7.根据权利要求1所述的多维元数据管理方法,其特征在于,步骤(6)中的TopK查询操作具体包括以下步骤:
(6-3-1)接收TopK查询请求,确定该查询请求对应的元数据的多维属性及K值,并利用位置灵敏哈希函数计算多维属性的哈希值,该哈希值即为需要查询的元数据集合的编号;其中K表示与查询请求中的元数据多维属性最相近的元数据的数量;
(6-3-2)在顶层索引表中查询元数据集合编号对应的表项,如果表项中记录的元数据数目小于K值,则将该表项左右两边的表项也纳入查询范围,直到表项中元数据数目之和大于或等于K值,最后得到多个元数据服务器分组的IP地址;
(6-3-3)根据元数据服务器分组的IP地址确定对应的元数据服务器,并在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据服务器的IP地址;
(6-3-4)根据查找到的元数据服务器的IP地址,在该元数据服务器的组索引表中查询元数据集合编号对应的表项,以得到该元数据所在元数据集合在磁盘中的存储地址;
(6-3-5)根据查找到的元数据集合在磁盘中的存储地址,查询对应的元数据集合,并返回与查询请求中的元数据的多维属性最相近的K条元数据。
8.一种基于关联特性的多维元数据管理***,包括元数据集合生成模块、元数据服务器分组模块、本地索引生成模块、组索引生成模块、顶层索引生成模块、查询模块,其特征在于,
元数据集合生成模块对每台元数据服务器上的元数据根据关联特性进行划分,以生成元数据集合与集合统计文件;
元数据服务器分组模块根据集合统计文件,对元数据集群进行分组操作,以生成多个元数据服务器分组与分组配置文件;
本地索引生成模块,根据集合统计文件,分别在每台元数据服务器上建立本地索引表;
组索引生成模块根据分组配置文件与集合统计文件,分别在每个元数据服务器分组内建立组索引表;
顶层索引生成模块根据组索引表,建立元数据服务器集群的顶层索引表;
查询模块接收来自用户的查询请求,并根据查询请求依次查询顶层索引表、组索引表与本地索引表,并返回查询结果。
9.根据权利要求8所述的多维元数据管理***,其特征在于,
元数据集合生成模块包括多维属性确定模块、输入向量构造模块、哈希函数计算模块、关联特性划分模块和输出模块;
多维属性确定模块确定表示元数据之间关联特性的多维属性;
输入向量构造模块将元数据的多维属性构造成固定长度的输入向量,该输入向量作为位置灵敏哈希函数的输入值;
哈希函数计算模块使用相同的位置灵敏哈希函数对输入向量进行哈希计算,得到的哈希值作为该输入向量对应的元数据的唯一标识;
关联特性划分模块将具有相同哈希值的元数据划分到同一元数据集合中,并以该哈希值作为该元数据集合的编号;
输出模块统计元数据集合中元数据的划分情况,以生成集合统计文件。
10.根据权利要求8所述的多维元数据管理***,其特征在于,
查询模块具体包括点查询子模块、范围查询子模块、TopK查询子模块;
点查询子模块处理用户的点查询请求,给定某个元数据的多维属性,查询结果返回元数据的具体信息;
范围查询子模块处理用户的范围查询请求,给定多维属性的范围,查询结果返回整个***中满足范围的所有元数据信息;
TopK查询子模块处理用户的TopK查询请求,给定一组多维属性,并指定K值,查询结果返回整个***中与给定多维属性最相近的K条数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090042.4A CN103218404B (zh) | 2013-03-20 | 2013-03-20 | 一种基于关联特性的多维元数据管理方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090042.4A CN103218404B (zh) | 2013-03-20 | 2013-03-20 | 一种基于关联特性的多维元数据管理方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103218404A true CN103218404A (zh) | 2013-07-24 |
CN103218404B CN103218404B (zh) | 2015-11-18 |
Family
ID=48816191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310090042.4A Active CN103218404B (zh) | 2013-03-20 | 2013-03-20 | 一种基于关联特性的多维元数据管理方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103218404B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970871A (zh) * | 2014-05-12 | 2014-08-06 | 华中科技大学 | 存储***中基于溯源信息的文件元数据查询方法与*** |
CN103984640A (zh) * | 2014-05-14 | 2014-08-13 | 华为技术有限公司 | 实现数据预取方法及装置 |
CN104424240A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 多表关联方法、主服务节点、计算节点及*** |
WO2015048925A1 (en) * | 2013-10-03 | 2015-04-09 | Huawei Technologies Co., Ltd. | A method of optimizing queries execution on a data store |
CN104657383A (zh) * | 2013-11-22 | 2015-05-27 | 华中科技大学 | 一种基于关联特性的重复视频检测方法与*** |
CN105956122A (zh) * | 2016-05-03 | 2016-09-21 | 无锡雅座在线科技发展有限公司 | 对象属性的确定方法和装置 |
CN107562946A (zh) * | 2017-09-26 | 2018-01-09 | 南京哈卢信息科技有限公司 | 一种大数据***中创建索引表的方法 |
CN107818117A (zh) * | 2016-09-14 | 2018-03-20 | 阿里巴巴集团控股有限公司 | 一种数据表的建立方法、在线查询方法及相关装置 |
CN109067817A (zh) * | 2018-05-31 | 2018-12-21 | 北京五八信息技术有限公司 | 媒体内容流量分配方法、装置、电子设备及服务器 |
CN109143017A (zh) * | 2018-07-31 | 2019-01-04 | 成都天衡智造科技有限公司 | 一种半导体行业生产测试数据处理方法 |
CN109558404A (zh) * | 2018-10-19 | 2019-04-02 | 中国平安人寿保险股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN110347654A (zh) * | 2018-03-23 | 2019-10-18 | 北京京东尚科信息技术有限公司 | 一种上线集群特性的方法和装置 |
CN111062751A (zh) * | 2019-12-12 | 2020-04-24 | 镇江市第一人民医院 | 一种基于药品自动关联耗材的计费***及方法 |
US11451629B2 (en) * | 2020-05-14 | 2022-09-20 | Hangzhou Juicedata Technology Limited | Distributed metadata management method for distributed file system |
WO2024109051A1 (zh) * | 2022-11-21 | 2024-05-30 | 华为云计算技术有限公司 | 基于数据仓库***的数据处理方法和数据仓库*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112875A1 (en) * | 2004-07-15 | 2007-05-17 | Hitachi, Ltd. | Method and apparatus for hierarchical storage management based on data value and user interest |
CN101957861A (zh) * | 2010-10-18 | 2011-01-26 | 江苏大学 | 新型元数据服务器集群和基于调整表的元数据管理方法 |
CN102063486A (zh) * | 2010-12-28 | 2011-05-18 | 东北大学 | 一种面向多维数据管理的云计算平台查询处理方法 |
CN102411637A (zh) * | 2011-12-30 | 2012-04-11 | 创新科软件技术(深圳)有限公司 | 分布式文件***的元数据管理方法 |
-
2013
- 2013-03-20 CN CN201310090042.4A patent/CN103218404B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112875A1 (en) * | 2004-07-15 | 2007-05-17 | Hitachi, Ltd. | Method and apparatus for hierarchical storage management based on data value and user interest |
CN101957861A (zh) * | 2010-10-18 | 2011-01-26 | 江苏大学 | 新型元数据服务器集群和基于调整表的元数据管理方法 |
CN102063486A (zh) * | 2010-12-28 | 2011-05-18 | 东北大学 | 一种面向多维数据管理的云计算平台查询处理方法 |
CN102411637A (zh) * | 2011-12-30 | 2012-04-11 | 创新科软件技术(深圳)有限公司 | 分布式文件***的元数据管理方法 |
Non-Patent Citations (1)
Title |
---|
YU HUA ET AL: "smartstore:a new metadata organization paradigm with semantic-awareness for next-generation file systems", 《SC09 CONFERENCE ON HIGH PERFORMANCE COMPUTING NETWORKING,STORAGE AND ANALYSIS》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424240A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 多表关联方法、主服务节点、计算节点及*** |
CN104424240B (zh) * | 2013-08-27 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 多表关联方法、主服务节点、计算节点及*** |
WO2015048925A1 (en) * | 2013-10-03 | 2015-04-09 | Huawei Technologies Co., Ltd. | A method of optimizing queries execution on a data store |
CN104657383A (zh) * | 2013-11-22 | 2015-05-27 | 华中科技大学 | 一种基于关联特性的重复视频检测方法与*** |
CN104657383B (zh) * | 2013-11-22 | 2017-11-24 | 华中科技大学 | 一种基于关联特性的重复视频检测方法与*** |
CN103970871A (zh) * | 2014-05-12 | 2014-08-06 | 华中科技大学 | 存储***中基于溯源信息的文件元数据查询方法与*** |
CN103970871B (zh) * | 2014-05-12 | 2017-06-16 | 华中科技大学 | 存储***中基于溯源信息的文件元数据查询方法与*** |
CN103984640A (zh) * | 2014-05-14 | 2014-08-13 | 华为技术有限公司 | 实现数据预取方法及装置 |
CN103984640B (zh) * | 2014-05-14 | 2017-06-20 | 华为技术有限公司 | 实现数据预取方法及装置 |
CN105956122A (zh) * | 2016-05-03 | 2016-09-21 | 无锡雅座在线科技发展有限公司 | 对象属性的确定方法和装置 |
CN107818117A (zh) * | 2016-09-14 | 2018-03-20 | 阿里巴巴集团控股有限公司 | 一种数据表的建立方法、在线查询方法及相关装置 |
CN107562946A (zh) * | 2017-09-26 | 2018-01-09 | 南京哈卢信息科技有限公司 | 一种大数据***中创建索引表的方法 |
CN110347654A (zh) * | 2018-03-23 | 2019-10-18 | 北京京东尚科信息技术有限公司 | 一种上线集群特性的方法和装置 |
CN109067817A (zh) * | 2018-05-31 | 2018-12-21 | 北京五八信息技术有限公司 | 媒体内容流量分配方法、装置、电子设备及服务器 |
CN109067817B (zh) * | 2018-05-31 | 2021-12-07 | 北京五八信息技术有限公司 | 媒体内容流量分配方法、装置、电子设备及服务器 |
CN109143017A (zh) * | 2018-07-31 | 2019-01-04 | 成都天衡智造科技有限公司 | 一种半导体行业生产测试数据处理方法 |
CN109558404A (zh) * | 2018-10-19 | 2019-04-02 | 中国平安人寿保险股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN109558404B (zh) * | 2018-10-19 | 2023-12-01 | 中国平安人寿保险股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN111062751A (zh) * | 2019-12-12 | 2020-04-24 | 镇江市第一人民医院 | 一种基于药品自动关联耗材的计费***及方法 |
US11451629B2 (en) * | 2020-05-14 | 2022-09-20 | Hangzhou Juicedata Technology Limited | Distributed metadata management method for distributed file system |
WO2024109051A1 (zh) * | 2022-11-21 | 2024-05-30 | 华为云计算技术有限公司 | 基于数据仓库***的数据处理方法和数据仓库*** |
Also Published As
Publication number | Publication date |
---|---|
CN103218404B (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103218404B (zh) | 一种基于关联特性的多维元数据管理方法和*** | |
US11294933B2 (en) | Adaptive distribution method for hash operations | |
CN103106249B (zh) | 一种基于Cassandra的数据并行处理*** | |
US8782075B2 (en) | Query handling in databases with replicated data | |
US7457835B2 (en) | Movement of data in a distributed database system to a storage location closest to a center of activity for the data | |
CN104090897B (zh) | 访问元数据的方法、服务器及*** | |
CN110990473B (zh) | 标签数据处理***和方法 | |
US9229960B2 (en) | Database management delete efficiency | |
US20160314173A1 (en) | Low-latency query processor | |
CN103207919A (zh) | 一种MongoDB集群快速查询计算的方法及装置 | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
Malensek et al. | Fast, ad hoc query evaluations over multidimensional geospatial datasets | |
CN105320702A (zh) | 一种用户行为数据的分析方法、装置及智能电视 | |
US20180302268A1 (en) | Systems and Methods for Real Time Streaming | |
CN105550332A (zh) | 一种基于双层索引结构的起源图查询方法 | |
Hua et al. | ANTELOPE: A semantic-aware data cube scheme for cloud data center networks | |
CN103412883B (zh) | 基于p2p技术的语义智能信息发布订阅方法 | |
CN103034650A (zh) | 一种数据处理***和方法 | |
CN105159925A (zh) | 一种数据库集群数据分配方法及*** | |
CN105574010B (zh) | 数据查询方法及装置 | |
CN102193988A (zh) | 一种图形数据库节点数据的检索方法及*** | |
US20130024483A1 (en) | Distribution of data within a database | |
Ding et al. | RDB-KV: A cloud database framework for managing massive heterogeneous sensor stream data | |
Qin et al. | Massive AIS data management based on HBase and Spark | |
CN116756139B (zh) | 一种数据索引方法、***、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |