CN103970871B - 存储系统中基于溯源信息的文件元数据查询方法与系统 - Google Patents
存储系统中基于溯源信息的文件元数据查询方法与系统 Download PDFInfo
- Publication number
- CN103970871B CN103970871B CN201410199580.1A CN201410199580A CN103970871B CN 103970871 B CN103970871 B CN 103970871B CN 201410199580 A CN201410199580 A CN 201410199580A CN 103970871 B CN103970871 B CN 103970871B
- Authority
- CN
- China
- Prior art keywords
- inquiry
- information
- relation
- metadata
- file
- 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
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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了存储系统中基于溯源信息的文件元数据查询方法。在系统客户端收集溯源信息,通过分析得到文件相关性信息并传递给元数据服务器;元数据服务器根据文件之间的关系信息实时维护关系图;建立基于关联感知的元数据索引树;接收到查询请求后,先在索引树中查找到种子结果集,然后在关系图中查找,得到初始结果集,最后对初始结果集根据查询条件进行排序和精简得到最终结果发送给客户。本发明还提供了相应的文件元数据查询系统。本发明通过关系值来衡量文件之间的相关特性,本发明能够充分地利用空间索引结构的快速定位以及关系图的精确相关性的特点,优化元数据查询的效率。
Description
技术领域
本发明属于计算机数据存储技术领域,更具体地,涉及一种存储系统中基于溯源信息的文件元数据查询方法与系统。
背景技术
现在元数据的查询研究变的越来越重要,主要有两方面的原因,一是随着移动网络和云计算的发展,信息存储系统中的数据规模越来越大,用户、系统管理员很难管理和定位自己需要的文件,必须借助快速准确的查询系统来提高效率。另一方面,相比于传统的数据管理,在大数据的管理中更加注重数据分析,通过数据分析,用户或是管理员才能更好的把握数据的真实价值。数据分析需要大量的查询操作,在现代的存储系统中,就需要专门的文件元数据查询系统才能满足大数据中数据分析的需要。
现有的文件元数据的查询设计存在以下问题:
(1)有的系统利用DBMS来索引和查询元数据,没有关注查询请求的趋势,忽略了查询请求的局部性原理的利用,导致极差的查询速度,据测有的查询需要400-1000秒。
(2)有的系统利用树型的索引来加快查询。例如利用目录树来加快查询,但目录树只反映了文件的一维属性(即元数据的一项),不能很好的体现元数据之间的相关性;利用元数据的多维属性,如创建者、创建时间、修改时间等静态属性反映的相关性来建立索引加快查询,但这种索引也仅仅只能反映元数据的某些静态特征所表现相关性,随着应用的变化,这种相关性会发生变化,不能有效的支持元数据查询。有研究表明,传统的文件属性有时无助于文件查询,比如根据时间来查询,30.8%的可能找到结果,53.8%的可能找到错误结果。
(3)现有的文件元数据查询系统缺乏对复杂查询的实现或优化,对于涉及元数据多维属性的查询请求,如范围查询、Top K查询、近似最近邻查询等,随着数据量的增大,现有方法不能快速有效地处理用户越来越多的复杂查询请求;
(4)现有的文件元数据查询系统的可扩展性差,当元数据的属性项或数目随着系统的扩展而增多时,查询的响应时间将显著增加。
发明内容
本发明要解决的技术问题是:针对现有文件元数据查询技术无法满足云计算和大数据的快速高效的文件查询需要的问题,本发明提出存储系统中基于溯源信息的文件元数据查询方法,通过溯源信息提供的关于文件元数据之间的动态的相关性来加快查询,并可提高查询的准确率。
为实现上述目的,按照本发明的一个方面,提供了一种存储系统中基于溯源信息的文件元数据查询方法,包括以下步骤:
(1)对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
(2)根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图为无向有权图,所述关系图中的节点代表文件,所述边代表文件相关性;
(3)接收用户的查询请求,根据用户的查询条件在基于关联感知的元数据索引树中查询得到种子结果集;
(4)根据得到的种子结果集在关系图中进行查询,得到初始结果集,然后对初始结果集进行排序和精简得到最终结果集发送给查询用户。
进一步地,所述步骤(1)包括以下子步骤:
(1-1)在每一个存储系统的客户端程序中加入溯源信息收集模块;
(1-2)设置溯源信息收集模块收集溯源信息的范围,即只收集存储系统中涉及到文件相关性的信息;
(1-3)将在客户端收集的溯源信息经过去重,分析得到文件关系项后,将这些文件关系项发送到相应的元数据服务器,所述每个文件关系项中包含发生关系的两个文件的通用资源标识符URI和相关性信息。
进一步地,所述步骤(2)包括以下子步骤:
(2-1)得到客户端传递过来的各条文件关系项;
(2-2)根据文件关系项中的两个文件的URI分别判断关系图中是否已包含代表这两个文件的节点,如果不包含,则在关系图中添加代表该文件的节点;
(2-3)根据文件关系项中两个文件的相关性信息,判断该文件关系项是否已在关系图中记录,如果已记录则更新这两个文件的相关性信息,否则在关系图中添加这一文件关系项。
进一步地,在所述步骤(3)之前还包括建立基于关联感知的元数据索引树的步骤,具体为:
选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树。
进一步地,所述步骤(3)包括以下子步骤:
(3-1)当元数据服务器集群中的某一台服务器接受到用户的查询请求后,通过查询条件与集群中各个元数据服务器的文件属性进行比较,确定需要查询的元数据服务器,并将查询请求转发给这台服务器;
(3-2)这台服务器接收到用户请求后,根据查询方式在元数据服务器内部对基于关联感知的元数据索引树进行查询操作,得到的结果作为种子结果集;
(3-3)种子结果的个数由查询条件确定,查询过程中计算各个种子节点与查询点之间的距离,并根据距离对种子结果集进行排序。
进一步地,如果所述查询为Top K查询,所述步骤(4)具体包括如下步骤:
(4-1-1)根据步骤(3)得到的种子结果集中的每个种子进行查询,获取与每个种子最靠近的K个结果,并计算各个结果与查询点之间的关系值,处理得到初始结果集;
(4-1-2)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,选取最好的K个结果作为最终结果集;
(4-1-3)将最终结果集返回给用户。
进一步地,如果所述查询为近似最近邻查询,所述步骤(4)具体包括如下步骤:
(4-2-1)根据查询条件在基于关联感知的元数据索引树中进行查询操作,得到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε)×d,ε为用户输入参数,用于确定查询半径;
(4-2-2)根据步骤(3)得到的种子结果集中的每个种子进行查询,查找离种子节点在这个查询半径R内的所有节点,并计算各个节点与查询点之间的关系值,处理得到初始结果集;
(4-2-3)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,得到最终结果集;
(4-2-4)将最终结果集返回给用户。
按照本发明的另一方面,还提供了一种存储系统中基于溯源信息的文件元数据查询系统,所述查询系统包括溯源信息收集模块、关系图生成和维护模块、基于关联感知的元数据索引结构生成模块、基于关联感知的元数据索引结构查询模块、关系图查询模块、初始查询结果集处理模块以及用户查询处理模块,其中:
所述溯源信息收集模块,用于对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
所述关系图生成和维护模块,用于根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图包含节点表和边表两个部分,节点表保存文件_URI、文件_ID和连通量的数据项,边表保存文件1_ID、文件2_ID、最后一次发生关系的时间和关系值的数据项;并完成对关系图中节点和边的添加操作,以及对所述关系图进行更新操作;
所述基于关联感知的元数据索引结构生成模块,用于选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树;
所述基于关联感知的元数据索引结构查询模块,用于根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;
所述关系图查询模块,用于将在关联感知的元数据索引树中得到的种子节点集代入到关系图中,经过关系图的查询得到初始查询结果集;
所述初始查询结果集处理模块,用于对上述初始查询结果集通过精简和排序得到最终结果集发送给查询用户;
所述用户查询处理模块,用于接收用户的各种查询请求,并根据查询请求所提供的查询方式和查询条件调度系统其它模块完成查询任务。
进一步地,所述用户查询处理模块具体包括点查询子模块、范围查询子模块、skyline查询子模块、Top K查询子模块和近似最近邻查询子模块,其中:
点查询子模块,用于处理用户的点查询请求,根据点查询请求中给定的元数据的多维属性进行查询,查询结果返回元数据的具体信息;
范围查询子模块,用于处理用户的范围查询请求,根据范围查询请求中给定的多维属性的范围进行查询,查询结果返回整个系统中满足范围的所有元数据信息;
skyline查询子模块,用于处理用户的skyline查询请求,根据skyline查询请求中给定的一组多维属性和skyline查询准则进行查询,查询结果返回整个系统中在给定查询点周围不被决定的多条数据;
Top K查询子模块,用于处理用户的Top K查询请求,根据Top K查询请求中给定的一组多维属性及K值进行查询,查询结果返回整个系统中与给定多维属性最相近的K条数据;
近似最近邻(Approximate Nearest Neighbors,ANN)查询子模块,用于处理用户的近似最近邻查询请求,根据近似最近邻查询请求中给定的一组多维属性,首先找到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε)×d,ε为用户输入参数,用于确定查询半径,查询结果返回整个系统中与给定多维属性在查询半径内的各条数据。
进一步地,所述溯源信息收集模块具体包括用户应用监听模块、溯源信息处理模块、溯源信息缓存模块、溯源信息分析模块以及关系信息传输模块,其中:
用户应用监听模块,用于监听用户对系统中文件的各种操作从而得到初始溯源信息;
溯源信息处理模块,用于对初始溯源信息进行过滤,包括对溯源信息进行去重和规整;
溯源信息缓存模块,用于在客户端暂存部分溯源信息;
溯源信息分析模块,用于对原始溯源信息进行分析,得到文件关系项,所述文件关系项中包含文件1_URI、文件2_URI、产生关系时间和关系值的数据信息;
关系信息传输模块是将暂存的关系信息周期性的发送给系统中的元数据服务器。
通过本发明所构思的以上技术方案,与现有技术相比,本方法具有以下的有益效果:
1、充分利用了元数据的多维静态属性以及统计的部分动态属性的相关特性,传统的元数据查询的优化主要是利用元数据在各个维度上所反映出来的相关特性进行分类集聚,但这种相关特性只能反映文件表象之间的相似性,精确度不高,例如同样是相同大小的pdf文件,可能它们的内容是相差巨大的,因此需要从文件本身的内容的相似性出发来进行文件分类集聚,加快查询。而文件的溯源信息恰好记录了文件在应用过程中相互之间的关系,这种关系精确的反映了文件内容之间的相关性。通过这种相关特性进行分类集聚可以在查询过程中进行快速定位,加快元数据查询;
2、有效地支持复杂的查询请求,如范围查询、skyline查询、Top K查询以及近似最近邻查询,在大数据环境下更加注重对数据的分析,导致复杂查询使用的频率变大;
3、提高了Top K查询和近似最近邻查询的准确率;
4、满足了可扩展性的要求。由于元数据根据关联特性被划分成了多个元数据集合进行管理,系统元数据数目的迅速增长只会引起元数据集合的缓慢增长,从而保证了元数据管理的效果与效率。
附图说明
图1为本发明的查询方法整体流程图;
图2为本发明中收集溯源信息步骤的细化流程图;
图3为本发明中关系图生成的流程图;
图4为本发明中基于关联感知的元数据索引结构的建立、查询和维护的事宜框图;
图5为本发明中关系图查询的工作流程图;
图6为本发明中点查询过程的流程图;
图7为本发明中范围查询过程的流程图;
图8为本发明中skyline查询过程的流程图;
图9为本发明中Top K查询过程的流程图;
图10为本发明中近似最近邻查询过程的流程图;
图11为本发明中基于溯源信息的文件元数据查询系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明为基于溯源信息的文件元数据查询方法和系统,该方法不仅利用多维元数据之间的静态属性之间相关特性建立元数据索引结构,而且利用数据本身的溯源所反映的相互关系生成关系图,通过元数据索引结构可以快速定位到查询点周围的元数据生成种子结果集,然后根据种子结果集和查询条件在关系图中进行查询,得到初始结果集,然后进行将初始结果集进行精简和排序得到最后的结果集返回给用户,能够满足对于元数据的各种复杂查询操作。
图1为本发明的查询方法整体流程图;包括以下步骤:(1)在存储系统的客户端安装溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理、分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;(2)根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图中的节点代表文件,所述边代表文件相关性;(3)接收用户的查询请求,根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;(4)根据得到的种子结果集在关系图中进行查询,得到初始结果集,然后根据查询条件和查询方式,对初始结果集进行排序和精简得到最终结果集发送给查询用户。
图2是本发明的步骤(1)的细化流程图,具体包括以下子步骤:
(1-1)在每一个文件存储系统的用户的客户端程序中加入溯源收集工具模块;设置溯源收集工具收集文件应用信息的范围,即只收集能够提取文件相关性的信息;
(1-2)对用户对文件的所有操作进行监听;
(1-3)将在每一个客户端收集的溯源信息进行过滤和去重;
(1-4)分析溯源信息得到文件关系项(文件1_URI,文件2_URI,产生关系时间,关系值)后,
(1-5)将这些文件关系项发送到对应的元数据服务器。
图3是本发明生成关系图的流程图,具体包括以下子步骤:
(2-1)得到客户端传递过来的文件关系项集合S;
(2-2)当S不为空时,执行步骤(2-3),否则结束生成关系图过程。
(2-3)从S中选取一条文件关系项I进行处理,根据文件关系项中的两个文件的URI判断这两文件是否分别为已有文件,如果不是,则在关系图的节点表中添加该文件,并确定新文件的ID号;
(2-4)根据文件关系项I中的(文件1_URI,文件2_URI)对,判断这项关系是否在关系图中已经记录,如果记录则更新关系图,否则在关系图中添加这一项。然后转步骤(2-2)。
图4是本发明基于关联感知的元数据索引结构的建立、查询和维护的事宜框图。具体为,根据文件的属性选择反映文件相关性较好的属性(如创建时间,读写次数、读写的数据量等),包括部分静态属性和动态属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对多个元数据服务器(元数据服务器集群)采用同样的方法建立一个树型的索引;这样在整个系统中建立基于关联感知的元数据索引树。索引结构的查询包括三部分操作,一是元数据服务器间的查询请求的分发,二是元数据服务器内部的查询处理,三是查询结果的组收集和转发,通过对索引结构的查询操作可以得到查询的初始结果集;该树型索引的维护需要注意元数据的添加和删除、元数据服务器的添加和系统失效以及组的维护。
图5是本发明方法中关系图查询的流程图,具体包括以下子步骤:
(4-1-1)通过步骤(3)得到种子结果集S,启动本查询工作流程;
(4-1-2)判断S是否为空,如果为空,则返回查询结果并结束流程;否则转入(4-1-3);
(4-1-3)从S中选取种子节点A,在关系图中根据查询方式选取A的临近节点Ni(i=1,2,…,n),n由查询方式决定,并计算查询节点与Ni这关系值;
(4-1-3)根据这些关系值判断这些临近节点是否满足查询条件,如果是则加入结果集RS,转入步骤(4-1-2).
(4-1-4)关系值的计算,引入两个新的参数:关系的时间参数p,反映了历史关系和当前关系的权衡,以及文件的活跃性参数q,反映了文件重要性和关系重要性的比例。
本步骤的优点是在关系值的计算中引入了关系的时间衰减性和节点重要性这两个参数来更加精准的描述文件相关程度。提高了元数据查询的效率。
图6是本发明点查询过程的流程图,具体包括以下子步骤:
(5-1-1)接收点查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询;
(5-1-2)如果查询成功,则将查询结果返回用户,如果查询不成功,则转入近似最近邻查询,给出最相似的结果。
图7是本发明范围查询过程的流程图,具体包括以下子步骤:
(5-2-1)接收范围查询请求,确定该查询请求对应的元数据的多维属性。根据给定属性的上下限,在基于关联感知的元数据索引树中进行查询。
(5-2-2)将结果查询结果返回用户。
图8是本发明skyline查询过程的流程图,具体包括以下子步骤:
(5-3-1)接收skyline查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询;
(5-3-2)将结果查询结果返回用户。
基于关联感知的元数据索引树可以高效的支持上述三种非近似查询,主要是因为索引树这中空间索引结构具有在元数据维度空间快速定位的功能,可以很快的定位到与查询节点最近的子树,查找到这三种查询的最终结果。
图9是本发明Top K查询过程的流程图,具体包括以下子步骤:
(5-4-1)接收Top K查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询,得到种子结果集;
(5-4-2)将(5-4-1)得到的查询结果作为输入,转入步骤(4)的关系图查询,跟据每一个种子,查询最靠近的K个结果,处理得到初始结果集;
(5-4-3)对初始结果集进行排序,选取最好的K个结果作为最终结果;
(5-4-4)将生成最终的查询结果集返回用户。
图10是本发明近似最近邻ANN查询过程的流程图,具体包括以下子步骤:
(5-5-1)接收ANN查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询,得到种子结果集;
(5-5-2)将(5-5-1)得到的查询结果作为输入,转入步骤(4)的关系图查询,跟据每一个种子,根据查询条件设置查询距离,查找离种子节点在这个距离内的所有节点,处理得到初始结果集;
(5-5-3)对初始结果集进行精简和排序,得到最终结果;
(5-5-4)将生成最终的查询结果集返回用户。
上述两种查询实现方式的优点是利用了通过溯源分析获取的关系图的更精准的文件相关特性描述的特点,可以根据查询节点最近的几个节点快速而且低功耗的找到满足查询条件的其它的结果,最后通过排序,潜在的提高了查询准确率,得到最终结果。
图11是本发明基于溯源信息的文件元数据查询系统的模块示意图。所述查询系统包括溯源信息收集模块、关系图生成和维护模块、基于关联感知的元数据索引结构生成模块、基于关联感知的元数据索引结构查询模块、关系图查询模块、初始查询结果集处理模块以及用户查询处理模块。其中:
所述溯源信息收集模块,用于对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
所述关系图生成和维护模块,用于根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图包含节点表和边表两个部分,节点表保存文件_URI、文件_ID和连通量的数据项,边表保存文件1_ID、文件2_ID、最后一次发生关系的时间和关系值的数据项;并完成对关系图中节点和边的添加操作,以及对所述关系图进行更新操作;
所述基于关联感知的元数据索引结构生成模块,用于选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树;
所述基于关联感知的元数据索引结构查询模块,用于根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;
所述关系图查询模块,用于将在关联感知的元数据索引树中得到的种子节点集代入到关系图中,经过关系图的查询得到初始查询结果集;
所述初始查询结果集处理模块,用于对上述初始查询结果集通过精简和排序得到最终结果集发送给查询用户;
所述用户查询处理模块,用于接收用户的各种查询请求,并根据查询请求所提供的查询方式和查询条件调度系统其它模块完成查询任务。
进一步地,所述用户查询处理模块具体包括点查询子模块、范围查询子模块、skyline查询子模块、Top K查询子模块和近似最近邻查询子模块,其中:
点查询子模块,用于处理用户的点查询请求,根据点查询请求中给定的元数据的多维属性进行查询,查询结果返回元数据的具体信息;
范围查询子模块,用于处理用户的范围查询请求,根据范围查询请求中给定的多维属性的范围进行查询,查询结果返回整个系统中满足范围的所有元数据信息;
skyline查询子模块,用于处理用户的skyline查询请求,根据skyline查询请求中给定的一组多维属性和skyline查询准则进行查询,查询结果返回整个系统中在给定查询点周围不被决定的多条数据;
Top K查询子模块,用于处理用户的Top K查询请求,根据Top K查询请求中给定的一组多维属性及K值进行查询,查询结果返回整个系统中与给定多维属性最相近的K条数据;
近似最近邻(Approximate Nearest Neighbors,ANN)查询子模块,用于处理用户的近似最近邻查询请求,根据近似最近邻查询请求中给定的一组多维属性,首先找到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε)×d,ε为用户输入参数,用于确定查询半径,查询结果返回整个系统中与给定多维属性在查询半径内的各条数据。
进一步地,所述溯源信息收集模块具体包括用户应用监听模块、溯源信息处理模块、溯源信息缓存模块、溯源信息分析模块以及关系信息传输模块,其中:
用户应用监听模块,用于监听用户对系统中文件的各种操作从而得到初始溯源信息;
溯源信息处理模块,用于对初始溯源信息进行过滤,包括对溯源信息进行去重和规整;
溯源信息缓存模块,用于在客户端暂存部分溯源信息;
溯源信息分析模块,用于对原始溯源信息进行分析,得到文件关系项,所述文件关系项中包含文件1_URI、文件2_URI、产生关系时间和关系值的数据信息;
关系信息传输模块是将暂存的关系信息周期性的发送给系统中的元数据服务器。
为验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,并进行相关查询操作来验证其效果。
本发明系统测试的硬件与软件系统如表1所示:
表1
本发明系统的配置过程如下:首先,将测试的trace文件分发到每个节点;然后,每个节点运行基于关联感知的元数据索引结构的建立模块和关系图生成模块,在本测试中50个节点被分成了三个分组,分组中的节点数目分别为20,10,20;在每个分组中运行关系图查询和维护模块、基于关联感知的元数据索引结构维护模块、初始查询结果集处理模块以及查询模块。
对于用户的查询请求,则由基于关联感知的元数据索引结构查询模块负责接收,先查询基于关联感知的元数据索引结构,确定种子节点集;在关系图查询模块中查询,确定初始查询结果集;最后通过初始查询结果集处理模块,得到单MDS中的最终结果,然后汇集这些结果,返回给查询用户。表2为本发明系统与传统索引树(R-tree)的查询平均时间开销对比。表3为本发明系统与传统索引树(R-tree)的查询平均空间开销对比。
表2
表3
表4为本发明系统中p的取值与查询准确率之间的关系,通过测试发现随着p的增大,准确率上涨,反映了历史关系对提高查询效率的重要影响,同样也验证了利用溯源来优化元数据查询的合理性。
表5为本发明系统中q的取值与查询准确率之间的关系,通过测试发现随着q的增大,准确率略微下降,反映了节点的重要性在文件相关性的衡量中需要被谨慎考虑。
表4
查询方式 | 参数p | 查询准确率 |
top50 | 10 | 0.68 |
top50 | 100 | 0.72 |
top50 | 1000 | 0.76 |
top50 | 10000 | 0.78 |
top50 | 100000 | 0.78 |
ANN | 10 | 0.76 |
ANN | 100 | 0.8 |
ANN | 1000 | 0.78 |
ANN | 10000 | 0.8 |
ANN | 100000 | 0.82 |
表5
查询方式 | 参数q | 查询准确率 |
top50 | 0.2 | 0.96 |
top50 | 0.4 | 0.94 |
top50 | 0.6 | 0.9 |
top50 | 0.8 | 0.9 |
top50 | 1 | 0.88 |
ANN | 0.2 | 0.92 |
ANN | 0.4 | 0.92 |
ANN | 0.6 | 0.9 |
ANN | 0.8 | 0.88 |
ANN | 1 | 0.86 |
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种存储系统中基于溯源信息的文件元数据查询方法,其特征在于,所述方法包括以下步骤:
(1)对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
(2)根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图为无向有权图,所述关系图中的节点代表文件,边代表文件相关性;
(3)接收用户的查询请求,根据用户的查询条件在基于关联感知的元数据索引树中查询得到种子结果集;
(4)根据得到的种子结果集在关系图中进行查询,得到初始结果集,然后对初始结果集进行排序和精简得到最终结果集发送给查询用户;
如果步骤(4)中的所述查询为Top K查询,所述步骤(4)具体包括如下步骤:
(4-1-1)根据步骤(3)得到的种子结果集中的每个种子进行查询,获取与每个种子最靠近的K个结果,并计算各个结果与查询点之间的关系值,处理得到初始结果集;
(4-1-2)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,选取最好的K个结果作为最终结果集;
(4-1-3)将最终结果集返回给用户;
如果步骤(4)中的所述查询为近似最近邻查询,所述步骤(4)具体包括如下步骤:
(4-2-1)根据查询条件在基于关联感知的元数据索引树中进行查询操作,得到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε)×d,ε为用户输入参数,用于确定查询半径;
(4-2-2)根据步骤(3)得到的种子结果集中的每个种子进行查询,查找离种子节点在这个查询半径R内的所有节点,并计算各个节点与查询点之间的关系值,处理得到初始结果集;
(4-2-3)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,得到最终结果集;
(4-2-4)将最终结果集返回给用户。
2.根据权利要求1所述的文件元数据查询方法,其特征在于,所述步骤(1)包括以下子步骤:
(1-1)在每一个存储系统的客户端程序中加入溯源信息收集模块;
(1-2)设置溯源信息收集模块收集溯源信息的范围,即只收集存储系统中涉及到文件相关性的信息;
(1-3)将在客户端收集的溯源信息经过去重,分析得到文件关系项后,将这些文件关系项发送到相应的元数据服务器,所述每个文件关系项中包含发生关系的两个文件的通用资源标识符URI和相关性信息。
3.根据权利要求2所述的文件元数据查询方法,其特征在于,所述步骤(2)包括以下子步骤:
(2-1)得到客户端传递过来的各条文件关系项;
(2-2)根据文件关系项中的两个文件的URI分别判断关系图中是否已包含代表这两个文件的节点,如果不包含,则在关系图中添加代表该文件的节点;
(2-3)根据文件关系项中两个文件的相关性信息,判断该文件关系项是否已在关系图中记录,如果已记录则更新这两个文件的相关性信息,否则在关系图中添加这一文件关系项。
4.根据权利要求1至3任一项所述的文件元数据查询方法,其特征在于,在所述步骤(3)之前还包括建立基于关联感知的元数据索引树的步骤,具体为:
选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树。
5.根据权利要求1到3任一项所述的文件元数据查询方法,其特征在于,所述步骤(3)包括以下子步骤:
(3-1)当元数据服务器集群中的某一台服务器接受到用户的查询请求后,通过查询条件与集群中各个元数据服务器的文件属性进行比较,确定需要查询的元数据服务器,并将查询请求转发给这台服务器;
(3-2)这台服务器接收到用户请求后,根据查询方式在元数据服务器内部对基于关联感知的元数据索引树进行查询操作,得到的结果作为种子结果集;
(3-3)计算各个种子节点与查询点之间的距离,并根据距离对种子结果集进行排序,其中种子结果集中种子结果的个数由查询条件确定。
6.根据权利要求4所述的文件元数据查询方法,其特征在于,所述步骤(3)包括以下子步骤:
(3-1)当元数据服务器集群中的某一台服务器接受到用户的查询请求后,通过查询条件与集群中各个元数据服务器的文件属性进行比较,确定需要查询的元数据服务器,并将查询请求转发给这台服务器;
(3-2)这台服务器接收到用户请求后,根据查询方式在元数据服务器内部对基于关联感知的元数据索引树进行查询操作,得到的结果作为种子结果集;
(3-3)计算各个种子节点与查询点之间的距离,并根据距离对种子结果集进行排序,其中种子结果集中种子结果的个数由查询条件确定。
7.一种存储系统中基于溯源信息的文件元数据查询系统,其特征在于,所述查询系统包括溯源信息收集模块、关系图生成和维护模块、基于关联感知的元数据索引结构生成模块、基于关联感知的元数据索引结构查询模块、关系图查询模块、初始查询结果集处理模块以及用户查询处理模块,其中:
所述溯源信息收集模块,用于对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
所述关系图生成和维护模块,用于根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图包含节点表和边表两个部分,节点表保存文件_URI、文件_ID和连通量的数据项,边表保存文件1_ID、文件2_ID、最后一次发生关系的时间和关系值的数据项;并完成对关系图中节点和边的添加操作,以及对所述关系图进行更新操作;
所述基于关联感知的元数据索引结构生成模块,用于选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树;
所述基于关联感知的元数据索引结构查询模块,用于根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;
所述关系图查询模块,用于将在关联感知的元数据索引树中得到的种子节点集代入到关系图中,经过关系图的查询得到初始查询结果集;
所述初始查询结果集处理模块,用于对上述初始查询结果集通过精简和排序得到最终结果集发送给查询用户;
所述用户查询处理模块,用于接收用户的各种查询请求,并根据查询请求所提供的查询方式和查询条件调度系统其它模块完成查询任务;所述用户查询处理模块具体包括点查询子模块、范围查询子模块、skyline查询子模块、Top K查询子模块和近似最近邻查询子模块,其中:
点查询子模块,用于处理用户的点查询请求,根据点查询请求中给定的元数据的多维属性进行查询,查询结果返回元数据的具体信息;
范围查询子模块,用于处理用户的范围查询请求,根据范围查询请求中给定的多维属性的范围进行查询,查询结果返回整个系统中满足范围的所有元数据信息;
skyline查询子模块,用于处理用户的skyline查询请求,根据skyline查询请求中给定的一组多维属性和skyline查询准则进行查询,查询结果返回整个系统中在给定查询点周围不被决定的多条数据;
Top K查询子模块,用于处理用户的Top K查询请求,根据Top K查询请求中给定的一组多维属性及K值进行查询,查询结果返回整个系统中与给定多维属性最相近的K条数据;所述Top K查询子模块包括下述子模块:
第(4-1-1)子模块用于根据所述基于关联感知的元数据索引结构查询模块得到的种子结果集中的每个种子进行查询,获取与每个种子最靠近的K个结果,并计算各个结果与查询点之间的关系值,处理得到初始结果集;
第(4-1-2)子模块用于依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,选取最好的K个结果作为最终结果集;
第(4-1-3)子模块用于将最终结果集返回给用户;
近似最近邻查询子模块,用于处理用户的近似最近邻查询请求,根据近似最近邻查询请求中给定的一组多维属性,首先找到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε)×d,ε为用户输入参数,用于确定查询半径,查询结果返回整个系统中在查询半径内的各条数据;所述近似最近邻查询子模块包括下述子模块:
第(4-2-1)子模块用于根据查询条件在基于关联感知的元数据索引树中进行查询操作,得到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε)×d,ε为用户输入参数,用于确定查询半径;
第(4-2-2)子模块用于根据步骤(3)得到的种子结果集中的每个种子进行查询,查找离种子节点在这个查询半径R内的所有节点,并计算各个节点与查询点之间的关系值,处理得到初始结果集;
第(4-2-3)子模块用于依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,得到最终结果集;
第(4-2-4)子模块用于将最终结果集返回给用户。
8.根据权利要求7所述的文件元数据查询系统,其特征在于,所述溯源信息收集模块具体包括用户应用监听模块、溯源信息处理模块、溯源信息缓存模块、溯源信息分析模块以及关系信息传输模块,其中:
用户应用监听模块,用于监听用户对系统中文件的各种操作从而得到初始溯源信息;
溯源信息处理模块,用于对初始溯源信息进行过滤,包括对溯源信息进行去重和规整;
溯源信息缓存模块,用于在客户端暂存部分溯源信息;
溯源信息分析模块,用于对原始溯源信息进行分析,得到文件关系项,所述文件关系项中包含文件1_URI、文件2_URI、产生关系时间和关系值的数据信息;
关系信息传输模块是将暂存的关系信息周期性的发送给系统中的元数据服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410199580.1A CN103970871B (zh) | 2014-05-12 | 2014-05-12 | 存储系统中基于溯源信息的文件元数据查询方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410199580.1A CN103970871B (zh) | 2014-05-12 | 2014-05-12 | 存储系统中基于溯源信息的文件元数据查询方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970871A CN103970871A (zh) | 2014-08-06 |
CN103970871B true CN103970871B (zh) | 2017-06-16 |
Family
ID=51240368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410199580.1A Active CN103970871B (zh) | 2014-05-12 | 2014-05-12 | 存储系统中基于溯源信息的文件元数据查询方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970871B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872103B2 (en) * | 2015-11-03 | 2020-12-22 | Hewlett Packard Enterprise Development Lp | Relevance optimized representative content associated with a data storage system |
CN105893542B (zh) * | 2016-03-31 | 2019-04-12 | 华中科技大学 | 一种云存储系统中的冷数据文件重分布方法及系统 |
CN106055674B (zh) * | 2016-06-03 | 2019-05-31 | 东南大学 | 一种分布式环境下基于度量空间的top-k支配查询方法 |
CN106802922B (zh) * | 2016-12-19 | 2020-07-10 | 华中科技大学 | 一种基于对象的溯源存储系统及方法 |
CN107766473A (zh) * | 2017-10-09 | 2018-03-06 | 中国人民解放军国防科技大学 | 最优k组合轮廓查询方法 |
US10880197B2 (en) * | 2018-07-13 | 2020-12-29 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for testing a network node using source code for programming a packet forwarding plane of the network node |
CN110399337B (zh) * | 2019-07-24 | 2023-05-12 | 江苏物联网研究发展中心 | 基于数据驱动的文件自动化服务方法和系统 |
CN110674360B (zh) * | 2019-09-27 | 2023-03-31 | 厦门美亚亿安信息科技有限公司 | 一种用于数据的溯源方法和系统 |
CN111538703B (zh) * | 2020-03-27 | 2024-01-26 | 中科边缘智慧信息科技(苏州)有限公司 | 一种分布式存储系统 |
CN112818067A (zh) * | 2020-08-27 | 2021-05-18 | 黄天红 | 结合大数据和多维特征的数据溯源方法及大数据云服务器 |
CN112199352A (zh) * | 2020-10-14 | 2021-01-08 | 武汉第二船舶设计研究所(中国船舶重工集团公司第七一九研究所) | 一种产品数据溯源方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1890662A (zh) * | 2003-09-29 | 2007-01-03 | 千兆科技(深圳)有限公司 | 内容定向的索引和搜索方法与系统 |
CN103218404A (zh) * | 2013-03-20 | 2013-07-24 | 华中科技大学 | 一种基于关联特性的多维元数据管理方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829668B2 (en) * | 2000-12-28 | 2004-12-07 | Intel Corporation | System for finding data related to an example datum on two electronic devices |
-
2014
- 2014-05-12 CN CN201410199580.1A patent/CN103970871B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1890662A (zh) * | 2003-09-29 | 2007-01-03 | 千兆科技(深圳)有限公司 | 内容定向的索引和搜索方法与系统 |
CN103218404A (zh) * | 2013-03-20 | 2013-07-24 | 华中科技大学 | 一种基于关联特性的多维元数据管理方法和系统 |
Non-Patent Citations (2)
Title |
---|
Evaluation of a Hybrid Approach for Efficient Provenance Storage;YuLai Xie;《ACM Transactions on Storage》;20131031;第3.1节 * |
Using Provenance to Aid in Personal File Search;Sam Shah;《Annual Technical Conference》;20071231;第三章第一段 * |
Also Published As
Publication number | Publication date |
---|---|
CN103970871A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970871B (zh) | 存储系统中基于溯源信息的文件元数据查询方法与系统 | |
US9430559B2 (en) | Document retrieval using internal dictionary-hierarchies to adjust per-subject match results | |
Bozzon et al. | Liquid query: multi-domain exploratory search on the web | |
CN105706078B (zh) | 实体集合的自动定义 | |
US9798772B2 (en) | Using persistent data samples and query-time statistics for query optimization | |
CN107193967A (zh) | 一种多源异构行业领域大数据处理全链路解决方案 | |
US6463433B1 (en) | Distributed computer database system and method for performing object search | |
CN104462084B (zh) | 基于多个查询提供搜索细化建议 | |
CN108268600B (zh) | 基于ai的非结构化数据管理方法及装置 | |
CN105045875B (zh) | 个性化信息检索方法及装置 | |
CN102270232B (zh) | 一种存储优化的语义数据查询系统 | |
WO2013030133A1 (en) | Search and discovery system | |
CN103778251B (zh) | 面向大规模rdf图数据的sparql并行查询方法 | |
Ahmed et al. | A literature review on NoSQL database for big data processing | |
CN102306176A (zh) | 一种基于数据仓库内在特征的olap关键词查询方法 | |
US11461333B2 (en) | Vertical union of feature-based datasets | |
CN106874426A (zh) | 基于Storm的RDF流式数据关键词实时搜索方法 | |
KR20160053933A (ko) | 스마트 검색 정제 기법 | |
Cuzzocrea et al. | Semantics-aware advanced OLAP visualization of multidimensional data cubes | |
Mythily et al. | Clustering models for data stream mining | |
CN105138674B (zh) | 一种数据库访问方法 | |
CN102622358A (zh) | 一种搜索信息的方法和系统 | |
JP2011170461A (ja) | 情報蓄積検索方法及び情報蓄積検索プログラム | |
CN111522918A (zh) | 数据汇聚方法、装置、电子设备及计算机可读存储介质 | |
CN107577690B (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 | ||
GR01 | Patent grant |