存储系统中基于溯源信息的文件元数据查询方法与系统的制作方法

文档序号:6546353阅读:117来源:国知局
存储系统中基于溯源信息的文件元数据查询方法与系统的制作方法
【专利摘要】本发明公开了存储系统中基于溯源信息的文件元数据查询方法。在系统客户端收集溯源信息,通过分析得到文件相关性信息并传递给元数据服务器;元数据服务器根据文件之间的关系信息实时维护关系图;建立基于关联感知的元数据索引树;接收到查询请求后,先在索引树中查找到种子结果集,然后在关系图中查找,得到初始结果集,最后对初始结果集根据查询条件进行排序和精简得到最终结果发送给客户。本发明还提供了相应的文件元数据查询系统。本发明通过关系值来衡量文件之间的相关特性,本发明能够充分地利用空间索引结构的快速定位以及关系图的精确相关性的特点,优化元数据查询的效率。
【专利说明】存储系统中基于溯源信息的文件元数据查询方法与系统
【技术领域】
[0001]本发明属于计算机数据存储【技术领域】,更具体地,涉及一种存储系统中基于溯源信息的文件元数据查询方法与系统。
【背景技术】
[0002]现在元数据的查询研究变的越来越重要,主要有两方面的原因,一是随着移动网络和云计算的发展,信息存储系统中的数据规模越来越大,用户、系统管理员很难管理和定位自己需要的文件,必须借助快速准确的查询系统来提高效率。另一方面,相比于传统的数据管理,在大数据的管理中更加注重数据分析,通过数据分析,用户或是管理员才能更好的把握数据的真实价值。数据分析需要大量的查询操作,在现代的存储系统中,就需要专门的文件元数据查询系统才能满足大数据中数据分析的需要。
[0003]现有的文件元数据的查询设计存在以下问题:
[0004](I)有的系统利用DBMS来索引和查询元数据,没有关注查询请求的趋势,忽略了查询请求的局部性原理的利用,导致极差的查询速度,据测有的查询需要400-1000秒。
[0005](2)有的系统利用树型的索引来加快查询。例如利用目录树来加快查询,但目录树只反映了文件的一维属性(即元数据的一项),不能很好的体现元数据之间的相关性;利用元数据的多维属性,如创建者、创建时间、修改时间等静态属性反映的相关性来建立索引加快查询,但这种索引也仅仅只能反映元数据的某些静态特征所表现相关性,随着应用的变化,这种相关性会发生变化,不能有效的支持元数据查询。有研究表明,传统的文件属性有时无助于文件查询,比如根据时间来查询,30.8%的可能找到结果,53.8%的可能找到错误结果。
[0006](3)现有的文件元数据查询系统缺乏对复杂查询的实现或优化,对于涉及元数据多维属性的查询请求,如范围查询、Top K查询、近似最近邻查询等,随着数据量的增大,现有方法不能快速有效地处理用户越来越多的复杂查询请求;
[0007](4)现有的文件元数据查询系统的可扩展性差,当元数据的属性项或数目随着系统的扩展而增多时,查询的响应时间将显著增加。

【发明内容】

[0008]本发明要解决的技术问题是:针对现有文件元数据查询技术无法满足云计算和大数据的快速高效的文件查询需要的问题,本发明提出存储系统中基于溯源信息的文件元数据查询方法,通过溯源信息提供的关于文件元数据之间的动态的相关性来加快查询,并可提高查询的准确率。
[0009]为实现上述目的,按照本发明的一个方面,提供了一种存储系统中基于溯源信息的文件元数据查询方法,包括以下步骤:
[0010](I)对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
[0011](2)根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图为无向有权图,所述关系图中的节点代表文件,所述边代表文件相关性;
[0012](3)接收用户的查询请求,根据用户的查询条件在基于关联感知的元数据索引树中查询得到种子结果集;
[0013](4)根据得到的种子结果集在关系图中进行查询,得到初始结果集,然后对初始结果集进行排序和精简得到最终结果集发送给查询用户。
[0014]进一步地,所述步骤(I)包括以下子步骤:
[0015](1-1)在每一个存储系统的客户端程序中加入溯源信息收集模块;
[0016](1-2)设置溯源信息收集模块收集溯源信息的范围,即只收集存储系统中涉及到文件相关性的信息;
[0017](1-3)将在客户端收集的溯源信息经过去重,分析得到文件关系项后,将这些文件关系项发送到相应的元数据服务器,所述每个文件关系项中包含发生关系的两个文件的通用资源标识符URI和相关性信息。
[0018]进一步地,所述步骤(2)包括以下子步骤:
[0019](2-1)得到客户端传递过来的各条文件关系项;
[0020](2-2)根据文件关系项中的两个文件的URI分别判断关系图中是否已包含代表这两个文件的节点,如果不包含,则在关系图中添加代表该文件的节点;
[0021](2-3)根据文件关系项中两个文件的相关性信息,判断该文件关系项是否已在关系图中记录,如果已记录则更新这两个文件的相关性信息,否则在关系图中添加这一文件关系项。
[0022]进一步地,在所述步骤(3)之前还包括建立基于关联感知的元数据索引树的步骤,具体为:
[0023]选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树。
[0024]进一步地,所述步骤(3)包括以下子步骤:
[0025](3-1)当元数据服务器集群中的某一台服务器接受到用户的查询请求后,通过查询条件与集群中各个元数据服务器的文件属性进行比较,确定需要查询的元数据服务器,并将查询请求转发给这台服务器;
[0026](3-2)这台服务器接收到用户请求后,根据查询方式在元数据服务器内部对基于关联感知的元数据索引树进行查询操作,得到的结果作为种子结果集;
[0027](3-3)种子结果的个数由查询条件确定,查询过程中计算各个种子节点与查询点之间的距离,并根据距离对种子结果集进行排序。
[0028]进一步地,如果所述查询为Top K查询,所述步骤(4)具体包括如下步骤:
[0029](4-1-1)根据步骤(3)得到的种子结果集中的每个种子进行查询,获取与每个种子最靠近的K个结果,并计算各个结果与查询点之间的关系值,处理得到初始结果集;
[0030](4-1-2)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,选取最好的K个结果作为最终结果集;[0031](4-1-3)将最终结果集返回给用户。
[0032]进一步地,如果所述查询为近似最近邻查询,所述步骤(4)具体包括如下步骤:
[0033](4-2-1)根据查询条件在基于关联感知的元数据索引树中进行查询操作,得到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ ε ) Xd, ε为用户输入参数,用于确定查询半径;
[0034](4-2-2)根据步骤(3)得到的种子结果集中的每个种子进行查询,查找离种子节点在这个查询半径R内的所有节点,并计算各个节点与查询点之间的关系值,处理得到初始结果集;
[0035](4-2-3)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,得到最终结果集;
[0036](4-2-4)将最终结果集返回给用户。
[0037]按照本发明的另一方面,还提供了一种存储系统中基于溯源信息的文件元数据查询系统,所述查询系统包括溯源信息收集模块、关系图生成和维护模块、基于关联感知的元数据索引结构生成模块、基于关联感知的元数据索引结构查询模块、关系图查询模块、初始查询结果集处理模块以及用户查询处理模块,其中:
[0038]所述溯源信息收集模块,用于对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
[0039]所述关系图生成和维护模块,用于根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图包含节点表和边表两个部分,节点表保存文件_UR1、文件_ID和连通量的数据项,边表保存文件1_ID、文件2_ID、最后一次发生关系的时间和关系值的数据项;并完成对关系图中节点和边的添加操作,以及对所述关系图进行更新操作;
[0040]所述基于关联感知的元数据索引结构生成模块,用于选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树;
[0041]所述基于关联感知的元数据索引结构查询模块,用于根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;
[0042]所述关系图查询模块,用于将在关联感知的元数据索引树中得到的种子节点集代入到关系图中,经过关系图的查询得到初始查询结果集;
[0043]所述初始查询结果集处理模块,用于对上述初始查询结果集通过精简和排序得到最终结果集发送给查询用户;
[0044]所述用户查询处理模块,用于接收用户的各种查询请求,并根据查询请求所提供的查询方式和查询条件调度系统其它模块完成查询任务。
[0045]进一步地,所述用户查询处理模块具体包括点查询子模块、范围查询子模块、skyline查询子模块、Top K查询子模块和近似最近邻查询子模块,其中:
[0046]点查询子模块,用于处理用户的点查询请求,根据点查询请求中给定的元数据的多维属性进行查询,查询结果返回元数据的具体信息;
[0047]范围查询子模块,用于处理用户的范围查询请求,根据范围查询请求中给定的多维属性的范围进行查询,查询结果返回整个系统中满足范围的所有元数据信息;
[0048]skyline查询子模块,用于处理用户的skyline查询请求,根据skyline查询请求中给定的一组多维属性和skyline查询准则进行查询,查询结果返回整个系统中在给定查询点周围不被决定的多条数据;
[0049]Top K查询子模块,用于处理用户的Top K查询请求,根据Top K查询请求中给定的一组多维属性及K值进行查询,查询结果返回整个系统中与给定多维属性最相近的K条数据;
[0050]近似最近邻(Approximate Nearest Neighbors, ANN)查询子模块,用于处理用户的近似最近邻查询请求,根据近似最近邻查询请求中给定的一组多维属性,首先找到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(l+e)Xd,ε为用户输入参数,用于确定查询半径,查询结果返回整个系统中与给定多维属性在查询半径内的各条数据。
[0051]进一步地,所述溯源信息收集模块具体包括用户应用监听模块、溯源信息处理模块、溯源信息缓存模块、溯源信息分析模块以及关系信息传输模块,其中:
[0052]用户应用监听模块,用于监听用户对系统中文件的各种操作从而得到初始溯源信息;
[0053]溯源信息处理模块,用于对初始溯源信息进行过滤,包括对溯源信息进行去重和规整;
[0054]溯源信息缓存模块,用于在客户端暂存部分溯源信息;
[0055]溯源信息分析模块,用于对原始溯源信息进行分析,得到文件关系项,所述文件关系项中包含文件1_UR1、文件2_UR1、产生关系时间和关系值的数据信息;
[0056]关系信息传输模块是将暂存的关系信息周期性的发送给系统中的元数据服务器。
[0057]通过本发明所构思的以上技术方案,与现有技术相比,本方法具有以下的有益效果:
[0058]1、充分利用了元数据的多维静态属性以及统计的部分动态属性的相关特性,传统的元数据查询的优化主要是利用元数据在各个维度上所反映出来的相关特性进行分类集聚,但这种相关特性只能反映文件表象之间的相似性,精确度不高,例如同样是相同大小的Pdf文件,可能它们的内容是相差巨大的,因此需要从文件本身的内容的相似性出发来进行文件分类集聚,加快查询。而文件的溯源信息恰好记录了文件在应用过程中相互之间的关系,这种关系精确的反映了文件内容之间的相关性。通过这种相关特性进行分类集聚可以在查询过程中进行快速定位,加快元数据查询;
[0059]2、有效地支持复杂的查询请求,如范围查询、skyline查询、Top K查询以及近似最近邻查询,在大数据环境下更加注重对数据的分析,导致复杂查询使用的频率变大;
[0060]3、提高了 Top K查询和近似最近邻查询的准确率;
[0061]4、满足了可扩展性的要求。由于元数据根据关联特性被划分成了多个元数据集合进行管理,系统元数据数目的迅速增长只会引起元数据集合的缓慢增长,从而保证了元数据管理的效果与效率。
【专利附图】

【附图说明】[0062]图1为本发明的查询方法整体流程图;
[0063]图2为本发明中收集溯源信息步骤的细化流程图;
[0064]图3为本发明中关系图生成的流程图;
[0065]图4为本发明中基于关联感知的元数据索引结构的建立、查询和维护的事宜框图;
[0066]图5为本发明中关系图查询的工作流程图;
[0067]图6为本发明中点查询过程的流程图;
[0068]图7为本发明中范围查询过程的流程图;
[0069]图8为本发明中skyline查询过程的流程图;
[0070]图9为本发明中Top K查询过程的流程图;
[0071]图10为本发明中近似最近邻查询过程的流程图;
[0072]图11为本发明中基于溯源信息的文件元数据查询系统的结构示意图。
【具体实施方式】
[0073]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0074]本发明为基于溯源信息的文件元数据查询方法和系统,该方法不仅利用多维元数据之间的静态属性之间相关特性建立元数据索引结构,而且利用数据本身的溯源所反映的相互关系生成关系图,通过元数据索引结构可以快速定位到查询点周围的元数据生成种子结果集,然后根据种子结果集和查询条件在关系图中进行查询,得到初始结果集,然后进行将初始结果集进行精简和排序得到最后的结果集返回给用户,能够满足对于元数据的各种复杂查询操作。
[0075]图1为本发明的查询方法整体流程图;包括以下步骤:(I)在存储系统的客户端安装溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理、分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;(2)根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图中的节点代表文件,所述边代表文件相关性;(3)接收用户的查询请求,根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;(4)根据得到的种子结果集在关系图中进行查询,得到初始结果集,然后根据查询条件和查询方式,对初始结果集进行排序和精简得到最终结果集发送给查询用户。
[0076]图2是本发明的步骤(I)的细化流程图,具体包括以下子步骤:
[0077](1-1)在每一个文件存储系统的用户的客户端程序中加入溯源收集工具模块;设置溯源收集工具收集文件应用信息的范围,即只收集能够提取文件相关性的信息;
[0078](1-2)对用户对文件的所有操作进行监听;
[0079](1-3)将在每一个客户端收集的溯源信息进行过滤和去重;
[0080](1-4)分析溯源信息得到文件关系项(文件1_URI,文件2_URI,产生关系时间,关系值)后,[0081](1-5)将这些文件关系项发送到对应的元数据服务器。
[0082]图3是本发明生成关系图的流程图,具体包括以下子步骤:
[0083](2-1)得到客户端传递过来的文件关系项集合S ;
[0084](2-2)当S不为空时,执行步骤(2-3),否则结束生成关系图过程。
[0085](2-3)从S中选取一条文件关系项I进行处理,根据文件关系项中的两个文件的URI判断这两文件是否分别为已有文件,如果不是,则在关系图的节点表中添加该文件,并确定新文件的ID号;
[0086](2-4)根据文件关系项I中的(文件1_URI,文件2_URI)对,判断这项关系是否在关系图中已经记录,如果记录则更新关系图,否则在关系图中添加这一项。然后转步骤(2-2)。
[0087]图4是本发明基于关联感知的元数据索引结构的建立、查询和维护的事宜框图。具体为,根据文件的属性选择反映文件相关性较好的属性(如创建时间,读写次数、读写的数据量等),包括部分静态属性和动态属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对多个元数据服务器(元数据服务器集群)采用同样的方法建立一个树型的索引;这样在整个系统中建立基于关联感知的元数据索引树。索引结构的查询包括三部分操作,一是元数据服务器间的查询请求的分发,二是元数据服务器内部的查询处理,三是查询结果的组收集和转发,通过对索引结构的查询操作可以得到查询的初始结果集;该树型索引的维护需要注意元数据的添加和删除、元数据服务器的添加和系统失效以及组的维护。
[0088]图5是本发明方法中关系图查询的流程图,具体包括以下子步骤:
[0089](4-1-1)通过步骤(3)得到种子结果集S,启动本查询工作流程;
[0090](4-1-2)判断S是否为空,如果为空,则返回查询结果并结束流程;否则转入(4-1-3);
[0091](4-1-3)从S中选取种子节点A,在关系图中根据查询方式选取A的临近节点Ni (i=I, 2,..., η), η由查询方式决定,并计算查询节点与Ni这关系值;
[0092](4-1-3)根据这些关系值判断这些临近节点是否满足查询条件,如果是则加入结果集RS,转入步骤(4-1-2).[0093](4-1-4)关系值的计算,引入两个新的参数:关系的时间参数P,反映了历史关系和当前关系的权衡,以及文件的活跃性参数q,反映了文件重要性和关系重要性的比例。
[0094]本步骤的优点是在关系值的计算中引入了关系的时间衰减性和节点重要性这两个参数来更加精准的描述文件相关程度。提高了元数据查询的效率。
[0095]图6是本发明点查询过程的流程图,具体包括以下子步骤:
[0096](5-1-1)接收点查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询;
[0097](5-1-2)如果查询成功,则将查询结果返回用户,如果查询不成功,则转入近似最近邻查询,给出最相似的结果。
[0098]图7是本发明范围查询过程的流程图,具体包括以下子步骤:
[0099](5-2-1)接收范围查询请求,确定该查询请求对应的元数据的多维属性。根据给定属性的上下限,在基于关联感知的元数据索引树中进行查询。[0100](5-2-2)将结果查询结果返回用户。
[0101]图8是本发明skyline查询过程的流程图,具体包括以下子步骤:
[0102](5-3-1)接收skyline查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询;
[0103](5-3-2)将结果查询结果返回用户。
[0104]基于关联感知的元数据索引树可以高效的支持上述三种非近似查询,主要是因为索引树这中空间索引结构具有在元数据维度空间快速定位的功能,可以很快的定位到与查询节点最近的子树,查找到这三种查询的最终结果。
[0105]图9是本发明Top K查询过程的流程图,具体包括以下子步骤:
[0106](5-4-1)接收Top K查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询,得到种子结果集;
[0107](5-4-2)将(5-4-1)得到的查询结果作为输入,转入步骤(4)的关系图查询,跟据每一个种子,查询最靠近的K个结果,处理得到初始结果集;
[0108](5-4-3)对初始结果集进行排序,选取最好的K个结果作为最终结果;
[0109](5-4-4)将生成最终的查询结果集返回用户。
[0110]图10是本发明近似最近邻ANN查询过程的流程图,具体包括以下子步骤:
[0111](5-5-1)接收ANN查询请求,确定该查询请求对应的元数据的多维属性,在基于关联感知的元数据索引树中进行查询,得到种子结果集;
[0112](5-5-2)将(5-5-1)得到的查询结果作为输入,转入步骤(4)的关系图查询,跟据每一个种子,根据查询条件设置查询距离,查找离种子节点在这个距离内的所有节点,处理得到初始结果集;
[0113](5-5-3)对初始结果集进行精简和排序,得到最终结果;
[0114](5-5-4)将生成最终的查询结果集返回用户。
[0115]上述两种查询实现方式的优点是利用了通过溯源分析获取的关系图的更精准的文件相关特性描述的特点,可以根据查询节点最近的几个节点快速而且低功耗的找到满足查询条件的其它的结果,最后通过排序,潜在的提高了查询准确率,得到最终结果。
[0116]图11是本发明基于溯源信息的文件元数据查询系统的模块示意图。所述查询系统包括溯源信息收集模块、关系图生成和维护模块、基于关联感知的元数据索引结构生成模块、基于关联感知的元数据索引结构查询模块、关系图查询模块、初始查询结果集处理模块以及用户查询处理模块。其中:
[0117]所述溯源信息收集模块,用于对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器;
[0118]所述关系图生成和维护模块,用于根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图包含节点表和边表两个部分,节点表保存文件_UR1、文件_ID和连通量的数据项,边表保存文件1_ID、文件2_ID、最后一次发生关系的时间和关系值的数据项;并完成对关系图中节点和边的添加操作,以及对所述关系图进行更新操作;
[0119]所述基于关联感知的元数据索引结构生成模块,用于选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树;
[0120]所述基于关联感知的元数据索引结构查询模块,用于根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集;
[0121]所述关系图查询模块,用于将在关联感知的元数据索引树中得到的种子节点集代入到关系图中,经过关系图的查询得到初始查询结果集;
[0122]所述初始查询结果集处理模块,用于对上述初始查询结果集通过精简和排序得到最终结果集发送给查询用户;
[0123]所述用户查询处理模块,用于接收用户的各种查询请求,并根据查询请求所提供的查询方式和查询条件调度系统其它模块完成查询任务。
[0124]进一步地,所述用户查询处理模块具体包括点查询子模块、范围查询子模块、skyline查询子模块、Top K查询子模块和近似最近邻查询子模块,其中:
[0125]点查询子模块,用于处理用户的点查询请求,根据点查询请求中给定的元数据的多维属性进行查询,查询结果返回元数据的具体信息;
[0126]范围查询子模块,用于处理用户的范围查询请求,根据范围查询请求中给定的多维属性的范围进行查询,查询结果返回整个系统中满足范围的所有元数据信息;
[0127]skyline查询子模块,用于处理用户的skyline查询请求,根据skyline查询请求中给定的一组多维属性和skyline查询准则进行查询,查询结果返回整个系统中在给定查询点周围不被决定的多条数据;
[0128]Top K查询子模块,用于处理用户的Top K查询请求,根据Top K查询请求中给定的一组多维属性及K值进行查询,查询结果返回整个系统中与给定多维属性最相近的K条数据;
[0129]近似最近邻(Approximate Nearest Neighbors, ANN)查询子模块,用于处理用户的近似最近邻查询请求,根据近似最近邻查询请求中给定的一组多维属性,首先找到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(l+e)Xd,ε为用户输入参数,用于确定查询半径,查询结果返回整个系统中与给定多维属性在查询半径内的各条数据。
[0130]进一步地,所述溯源信息收集模块具体包括用户应用监听模块、溯源信息处理模块、溯源信息缓存模块、溯源信息分析模块以及关系信息传输模块,其中:
[0131]用户应用监听模块,用于监听用户对系统中文件的各种操作从而得到初始溯源信息;
[0132]溯源信息处理模块,用于对初始溯源信息进行过滤,包括对溯源信息进行去重和规整;
[0133]溯源信息缓存模块,用于在客户端暂存部分溯源信息;
[0134]溯源信息分析模块,用于对原始溯源信息进行分析,得到文件关系项,所述文件关系项中包含文件1_UR1、文件2_UR1、产生关系时间和关系值的数据信息;
[0135]关系信息传输模块是将暂存的关系信息周期性的发送给系统中的元数据服务器。
[0136]为验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,并进行相关查询操作来验证其效果。[0137]本发明系统测试的硬件与软件系统如表1所示:
[0138]表1
[0139]
【权利要求】
1.一种存储系统中基于溯源信息的文件元数据查询方法,其特征在于,所述方法包括以下步骤: (1)对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器; (2)根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图为无向有权图,所述关系图中的节点代表文件,所述边代表文件相关性; (3)接收用户的查询请求,根据用户的查询条件在基于关联感知的元数据索引树中查询得到种子结果集; (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到4任一项所述的文件元数据查询方法,其特征在于,所述步骤(3)包括以下子步骤: (3-1)当元数据服务器集群中的某一台服务器接受到用户的查询请求后,通过查询条件与集群中各个元数据服务器的文件属性进行比较,确定需要查询的元数据服务器,并将查询请求转发给这台服务器; (3-2)这台服务器接收到用户请求后,根据查询方式在元数据服务器内部对基于关联感知的元数据索引树进行查询操作,得到的结果作为种子结果集;(3-3)计算各个种子节点与查询点之间的距离,并根据距离对种子结果集进行排序,其中种子结果集中种子结果的个数由查询条件确定。
6.根据权利要求1到4任一项所述的文件元数据查询方法,其特征在于,如果所述查询为Top K查询,所述步骤(4)具体包括如下步骤: (4-1-1)根据步骤(3)得到的种子结果集中的每个种子进行查询,获取与每个种子最靠近的K个结果,并计算各个结果与查询点之间的关系值,处理得到初始结果集; (4-1-2)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,选取最好的K个结果作为最终结果集; (4-1-3)将最终结果集返回给用户。
7.根据权利要求1到4任一项所述的文件元数据查询方法,其特征在于,如果所述查询为近似最近邻查询,所述步骤(4)具体包括如下步骤: (4-2-1)根据查询条件在基于关联感知的元数据索引树中进行查询操作,得到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ ε ) Xd, ε为用户输入参数,用于确定查询半径; (4-2-2)根据步骤(3)得到的种子结果集中的每个种子进行查询,查找离种子节点在这个查询半径R内的所有节点,并计算各个节点与查询点之间的关系值,处理得到初始结果集; (4-2-3)依据初始结果集中的各个结果与查询点的关系值的大小,对初始结果集进行排序,得到最终结果集; (4-2-4)将最终结果集返回给用户。
8.一种存储系统中基于溯源信息的文件元数据查询系统,其特征在于,所述查询系统包括溯源信息收集模块、关系图生成和维护模块、基于关联感知的元数据索引结构生成模块、基于关联感知的元数据索引结构查询模块、关系图查询模块、初始查询结果集处理模块以及用户查询处理模块,其中: 所述溯源信息收集模块,用于对安装在存储系统的客户端的溯源信息收集工具,设置溯源信息收集范围,获取初始溯源信息后经过处理分析得到文件相关性信息,然后将这些文件相关性信息发送到存储系统的元数据服务器; 所述关系图生成和维护模块,用于根据元数据服务器接收的文件相关性信息,生成关系图,所述关系图包含节点表和边表两个部分,节点表保存文件_UR1、文件_ID和连通量的数据项,边表保存文件1_ID、文件2_ID、最后一次发生关系的时间和关系值的数据项;并完成对关系图中节点和边的添加操作,以及对所述关系图进行更新操作; 所述基于关联感知的元数据索引结构生成模块,用于选择文件属性中能反映文件相关性的属性,将每台元数据服务器上的元数据根据这些属性进行划分,然后建立索引,对所有的元数据服务器采用同样的方法建立一个树型的索引,从而在整个存储系统中建立基于关联感知的元数据索引树; 所述基于关联感知的元数据索引结构查询模块,用于根据用户的查询请求在基于关联感知的元数据索引树中查询得到种子结果集; 所述关系图查询模块,用于将在关联感知的元数据索引树中得到的种子节点集代入到关系图中,经过关系图的查询得到初始查询结果集;所述初始查询结果集处理模块,用于对上述初始查询结果集通过精简和排序得到最终结果集发送给查询用户; 所述用户查询处理模块,用于接收用户的各种查询请求,并根据查询请求所提供的查询方式和查询条件调度系统其它模块完成查询任务。
9.根据权利要求8所述的文件元数据查询系统,其特征在于,所述用户查询处理模块具体包括点查询子模块、范围查询子模块、skyline查询子模块、Top K查询子模块和近似最近邻查询子模块,其中: 点查询子模块,用于处理用户的点查询请求,根据点查询请求中给定的元数据的多维属性进行查询,查询结果返回元数据的具体信息; 范围查询子模块,用于处理用户的范围查询请求,根据范围查询请求中给定的多维属性的范围进行查询,查询结果返回整个系统中满足范围的所有元数据信息; skyline查询子模块,用于处理用户的skyline查询请求,根据skyline查询请求中给定的一组多维属性和 skyline查询准则进行查询,查询结果返回整个系统中在给定查询点周围不被决定的多条数据; Top K查询子模块,用于处理用户的Top K查询请求,根据Top K查询请求中给定的一组多维属性及K值进行查询,查询结果返回整个系统中与给定多维属性最相近的K条数据; 近似最近邻查询子模块,用于处理用户的近似最近邻查询请求,根据近似最近邻查询请求中给定的一组多维属性,首先找到与查询请求最接近的那条数据,计算这条数据与查询请求之间的距离d,确定查询半径R为(1+ε ) Xd,ε为用户输入参数,用于确定查询半径,查询结果返回整个系统中在查询半径内的各条数据。
10.根据权利要求8或9所述的文件元数据查询系统,其特征在于,所述溯源信息收集模块具体包括用户应用监听模块、溯源信息处理模块、溯源信息缓存模块、溯源信息分析模块以及关系信息传输模块,其中: 用户应用监听模块,用于监听用户对系统中文件的各种操作从而得到初始溯源信息; 溯源信息处理模块,用于对初始溯源信息进行过滤,包括对溯源信息进行去重和规整; 溯源信息缓存模块,用于在客户端暂存部分溯源信息; 溯源信息分析模块,用于对原始溯源信息进行分析,得到文件关系项,所述文件关系项中包含文件1_UR1、文件2_UR1、产生关系时间和关系值的数据信息; 关系信息传输模块是将暂存的关系信息周期性的发送给系统中的元数据服务器。
【文档编号】G06F17/30GK103970871SQ201410199580
【公开日】2014年8月6日 申请日期:2014年5月12日 优先权日:2014年5月12日
【发明者】冯丹, 刘进军, 华宇, 彭斌, 聂振华, 黄大彰, 蔡娟 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1