首页> 中国专利> 文件列表生成方法、系统以及程序、文件列表生成装置

文件列表生成方法、系统以及程序、文件列表生成装置

摘要

本发明提供文件列表生成方法、系统以及程序、文件列表生成装置。文件列表生成装置具备从第一存储单元取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定分割地进行扫描对象目录的扫描处理的分割方针的单元;按照决定的分割方针,对检索对象文件的目录进行分割,取得并存储当前目录树的快照的单元;针对当前目录树的快照和在决定分割方针之前取得并存储的检索对象文件的目录树的快照,按照分割方针决定单元决定的分割后的单位,通过分散服务器组对各目录上的检索对象文件进行分散扫描,对该分散扫描结果进行比较,生成并输出在生成索引信息后进行了追加、变更、删除的文件的一览的单元。

著录项

  • 公开/公告号CN103257993A

    专利类型发明专利

  • 公开/公告日2013-08-21

    原文格式PDF

  • 申请/专利权人 株式会社日立解决方案;

    申请/专利号CN201310045913.0

  • 发明设计人 西田晋平;今井敬;

    申请日2013-02-05

  • 分类号G06F17/30;

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人许静

  • 地址 日本东京都

  • 入库时间 2024-02-19 19:46:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-18

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20160817 终止日期:20180205 申请日:20130205

    专利权的终止

  • 2016-08-17

    授权

    授权

  • 2013-09-18

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130205

    实质审查的生效

  • 2013-08-21

    公开

    公开

说明书

技术领域

本发明涉及一种高效地对文件服务器内保存的大量文件数据的阶层进行分析,高效地生成应该更新检索索引的文件列表的方法、系统以及程序和装置,特别涉及针对已经存在的配置在依照共同的命名规则生成的2个目录下的文件组比较文件树来高效地生成进行了追加、变更、删除的文件数据的一览的方法和系统以及程序、装置。 

背景技术

近年来,随着计算机性能的高速化、HDD的大容量化,能够制作巨大数量的非典型文档。因此,从巨大数量的文档中高速并且正确地找出需要的文档的检索系统的必要性不断提高。为了使检索结果正确,重要的是针对存储有成为检索对象的非典型文档的文件服务器,实时地在检索索引中反映在生成检索索引后进行的文件数据的追加、变更、删除操作。在向检索索引反映这些时,当对于没有变更的文件数据也更新检索索引时,会花费大量时间,因此,一般仅针对具有追加、变更、删除的文件数据,更新检索索引。为此,需要生成进行了追加、变更、删除的文件数据的一览。 

为了应对这样的检索系统的需求,存在具备以下接口的技术,该接口将文件数据的操作履历存储在文件服务器中,根据来自外部的要求提供进行了追加、变更、删除的文件数据的一览。或者,为了能够访问某个过去的状态的文件树,还存在提供一种接口的技术,该接口将某时刻的文件数据状态作为“快照”保存在其他目录中。 

另外,作为这种现有技术,已知在下述的专利文献1中公开的技术。 

专利文献1:日本特开2006-268456号 

发明内容

在生成进行了追加、变更、删除的文件数据的一览时,在文件服务器提供了一览的情况下,可以利用该接口,但在不具备这样的接口的文件服务器的情况下,需要对文件服务器内存在的检索索引生成对象范围的全部文件数据进行 扫描,确定有无更新操作。 

在此,在进行了追加、变更、删除的文件数据较少的情况下,也需要对全部文件数据进行扫描,因此,进行了追加、变更、删除的文件数据的一览的生成处理成为索引更新处理的时间变长的主要原因。 

对此,考虑通过将文件服务器内的文件树构造分割为几个,并行地进行针对这些文件树的扫描处理,由此提高扫描处理的速度。 

但是,由于文件服务器内的文件树由于环境的不同而各种各样,是未知的,所以难以确定有效的分割方法。对于已经一次生成了索引的文件服务器,通过使自身系统内具有索引已生成文件一览,能够高速地生成进行了追加、变更、删除的文件数据的一览。但是,在索引已生成文件一览中,为了判别是否对文件进行了更新,需要存储文件数据的哈希值,因此,产生为了存储索引已生成文件一览系统自身需要大容量的存储盘,系统规模与检索对象的文件数的增加成正比地变大。 

本发明的目的在于提供一种文件列表生成方法、系统、程序和装置,其在自身系统中无需具有包含文件数据的哈希值的索引已生成文件一览,能够高速地生成进行了追加、变更、删除的文件数据的一览,高速地进行检索索引更新处理。 

为了达到上述目的,本发明的文件列表生成方法的特征为包括:将针对检索对象文件已经生成的索引信息存储在第一存储单元中的步骤;从上述第一存储单元中存储的索引信息中,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的步骤;依照所决定的分割方针,对检索对象文件的目录进行分割的步骤;取得扫描对象文件的当前目录树的快照并存储在第二存储单元中的步骤;对于上述当前目录树的快照和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的目录树的快照,按照在决定上述分割方针的步骤中所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的步骤;以及对该分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的步骤。 

另外,本发明的文件列表生成方法的特征在于,包括:将针对检索对象 文件已经生成的索引信息存储在第一存储单元中的步骤;对检索对象文件的当前的目录树进行复制,作为备份目录存储在第二存储单元中的步骤;从在上述第一存储单元中存储的索引信息中,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的步骤;依照所决定的分割方针,对检索对象文件的备份目录进行分割的步骤;对于上述当前的目录树的备份目录和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的备份目录树,按照在决定上述分割方针的步骤中所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的步骤;以及对该分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的步骤。 

其特征在于,在决定上述分割方针的步骤中,如果从检索对象文件的目录的最上位阶层开始计数得到的目录数不满预定数,则决定将进行检索对象目录的扫描处理的分割数设为1的分割方针,在超过了预定数的情况下,决定将从最上位阶层的目录开始到预定阶层为止的阶层作为一个分割单位进行初次扫描,将深度一个阶层作为分割单位对通过该初次扫描发现的扫描对象目录的下位阶层进行扫描的分割方针。 

本发明的文件列表生成系统的特征在于,具备:存储针对检索对象文件已经生成的索引信息的第一存储单元;从该第一存储单元中存储的索引信息,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的分割方针决定单元;依照所决定的分割方针,对检索对象文件的目录进行分割,取得扫描对象文件的当前目录树的快照并存储在第二存储单元中的单元;针对上述当前目录树的快照和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的目录树的快照,按照上述分割方针决定单元所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的文件扫描单元;对该文件扫描单元的分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的比较单元。 

另外,本发明的文件列表生成系统的特征在于,具备:存储针对检索对 象文件已经生成的索引信息的第一存储单元;对检索对象文件的当前的目录树进行复制来作为备份目录进行存储的第二存储单元;从上述第一存储单元中存储的索引信息,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的分割方针决定单元;依照所决定的分割方针,对检索对象文件的备份目录进行分割的单元;对于上述第二存储单元中存储的当前的目录树的备份目录和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的备份目录树,按照上述分割方针决定单元所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的文件扫描单元;以及对该文件扫描单元的分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的比较单元。 

另外,其特征在于,上述决定分割方针的单元如果从检索对象文件的目录的最上位阶层开始计数得到的目录数不满预定数,则决定将进行检索对象目录的扫描处理的分割数设为1的分割方针,在超过预定数的情况下,决定将从最上位阶层的目录开始到预定阶层为止的阶层作为一个分割单位进行初次扫描,将深度一个阶层作为分割单位对通过该初次扫描发现的扫描对象目录的下位阶层进行扫描的分割方针。 

本发明的文件列表生成装置的特征在于,具备:从第一存储单元中存储的针对检索对象文件已经生成的索引信息,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的分割方针决定单元;依照所决定的分割方针,对检索对象文件的目录进行分割,取得扫描对象文件的当前目录树的快照并存储在第二存储单元中的单元;针对上述当前目录树的快照和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的目录树的快照,按照上述分割方针决定单元所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的文件扫描单元;对该文件扫描单元的分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的比较单元。 

另外,本发明的文件列表生成装置的特征在于,具备:存储针对检索对象文件已经生成的索引信息的第一存储单元;对检索对象文件的当前的目录树进行复制作为备份目录存储的第二存储单元;从上述第一存储单元中存储的索引信息,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的分割方针决定单元;依照所决定的分割方针,对检索对象文件的备份目录进行分割的单元;针对在上述第二存储单元中存储的当前的目录树的备份目录和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的备份目录树,按照上述分割方针决定单元所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的文件扫描单元;对该文件扫描单元的分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的比较单元。 

另外,其特征在于,上述决定分割方针的单元如果从检索对象文件的目录的最上位阶层开始进行计数得到的目录数不满预定数,则决定将进行检索对象目录的扫描处理的分割数设为1的分割方针,在超过预定数的情况下,决定将从最上位阶层的目录开始到预定阶层为止的阶层作为一个分割单位进行初次扫描,将深度一个阶层作为分割单位对通过该初次扫描发现的扫描对象目录的下位阶层进行扫描的分割方针。 

本发明的文件列表生成程序,其是在生成并输出在生成索引信息后进行了追加、删除、变更的文件的一览的文件列表生成服务器中使用的程序,其特征在于,使上述文件列表生成服务器具有以下单元的功能:从第一存储单元中存储的针对检索对象文件已经生成的索引信息,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的分割方针决定单元;依照所决定的分割方针,对检索对象文件的目录进行分割,取得当前目录树的快照并存储在第二存储单元中的单元;针对上述当前目录树的快照和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的目录树的快照,按照上述分割方针决定单元所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的文件扫描单元; 以及对该文件扫描单元的分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的比较单元。 

本发明的文件列表生成程序,其是在生成并输出在生成索引信息后进行了追加、删除、变更的文件的一览的文件列表生成服务器中使用的程序,其特征在于,使上述文件列表生成服务器具有以下单元的功能:将检索对象文件的当前的目录树的复制作为备份目录而存储在第二存储单元中的单元;从上述第一存储单元中存储的针对检索对象文件已经生成的索引信息,取得检索对象文件的目录URL,对该目录URL进行分析来对各阶层的目录数进行累计,根据该累计结果,决定通过分散服务器组分割地进行扫描对象目录的扫描处理的分割方针的分割方针决定单元;依照所决定的分割方针,对检索对象文件的备份目录进行分割的单元;针对在上述第二存储单元中存储的当前的目录树的备份目录和在决定上述分割方针之前取得并存储在第三存储单元中的检索对象文件的备份目录树,按照上述分割方针决定单元所决定的分割后的单位,通过上述分散服务器组对各目录上的检索对象文件进行分散扫描的文件扫描单元;对该文件扫描单元的分散扫描结果进行比较,生成并输出在生成上述索引信息后进行了追加、删除、变更的文件的一览的比较单元。 

另外,其特征在于,决定上述分割方针的单元如果从检索对象文件的目录的最上位阶层开始计数得到的目录数不满预定数,则决定将进行检索对象目录的扫描处理的分割数设为1的分割方针,在超过预定数的情况下,决定将从最上位阶层的目录开始到预定阶层为止的阶层作为一个分割单位进行初次扫描,将深度一个阶层作为分割单位对通过该初次扫描发现的扫描对象目录的下位阶层进行扫描的分割方针。 

根据本发明,利用存储器具有的快照取得功能,利用分散处理服务器组分散地对上次生成索引时取得的快照目录和本次生产索引时取得的快照目录进行扫描处理,同时将两者进行比较,由此生成进行了追加、变更、删除的文件的列表。 

由此,在本系统内不需要用于存储包含检索对象文件的哈希值的数据的大容量的索引已生成文件一览,针对已经一次生成了检索索引的文件服务器,能够在文件服务器上高速地生成进行了追加、变更、删除的文件数据的一览。由此,能够高速地进行检索索引的更新处理,结果,能够使检索系统的检索结果 尽量准确。 

另外,关于快照,可以生成以生成进行了追加、变更、删除的文件数据的一览为主要目的的新的快照,也可以沿用以通常的备份目的而生成的快照。另外,也可以代替快照目录,生成基于共通的命名规则而配置在父目录中的备份目录,利用分散处理服务器分散地对本次和上次的备份目录进行扫描处理。另外,在以下的说明中,记述为按照来自自身系统的指令在每次生成更新索引时,生成以生成进行了追加、变更、删除的文件数据的一览为主要目的的新的快照。 

附图说明

图1是本发明第一实施方式的系统结构图。 

图2是检索索引中存储的索引已生成文件的数据结构例子的图。 

图3是文件服务器内的目录结构的概念图。 

图4是对文件树进行分析决定文件服务器扫描处理的分割方针的处理的流程图。 

图5是对文件服务器进行扫描的处理的流程图。 

图6是使用通过文件服务器扫描执行单元对本次取得的检索对象文件组的快照目录和上次索引更新时取得的检索对象文件组的快照目录的两个快照目录内的数据进行扫描得到的文件一览来生成进行了追加、变更、删除的文件数据的一览的处理的流程图。 

图7是表示图6后续的流程图。 

图8是URL列表的最终行处理的流程图。 

图9是表示图8的后续的流程图。 

图10是根据从URL列表取出的文件或目录的URL的比较结果决定是否追加或删除文件服务器上的数据,在进行了追加、变更、删除的文件数据的一览中进行追加的处理的流程图。 

图11是目录或文件相关的URL组合决定处理的流程图。 

图12是与上次取得或本次取得快照目录相关的URL组合决定表。 

图13是对URL所示的目录或文件的追加、变更、删除文件一览或下次扫描范围的追加处理判断表。 

图14是更新文件追加处理的流程图。 

图15是在文件树的中途的阶层中增加的比例急剧增大的文件树的概念 图。 

图16是表示以图15的文件树为例的2层差分值的概念图。 

图17是基于反转字符串的排序的追加、变更、删除文件发现方法的概念图。 

图18是表示本发明的其他实施方式的系统结构图。 

具体实施方式

以下,根据附图详细说明实施本发明时的第一实施方式。 

图1是本发明的第一实施方式的系统结构图。 

在图1中所示的文件列表生成系统是通过LAN(局域网)4等有线或无线的通信回线将文件列表生成服务器1、分散处理服务器组2以及文件服务器3(以下称为“服务器等”)能相互通信地连接的系统。 

在图1中,服务器等通过LAN4相互能够通信地连接,但连接方法并不限于LAN,例如也可以通过WAN(广域网)或因特网连接。另外,在图1中,服务器等在同一LAN段上连接,但该结构只不过是一个例子,可以是任意的结构。进而,在图1中,文件列表生成服务器1、分散处理服务器组2、文件服务器3分别都存在一台,但也可以分别存在2台以上。另外,文件列表生成服务器1、分散处理服务器组2、文件服务器3并不需要是分别不同的装置,例如也可以通过1台装置实现文件列表生成服务器1、分散处理服务器组2、文件服务器3的功能。 

通过以上那样的结构,文件列表生成服务器1利用分散处理服务器组2,生成文件服务器3上的文件数据中的在上次生成索引后进行了追加、变更、删除的文件数据的一览。 

文件列表生成服务器1是PC等装置,能够通信地与存储装置16连接。存储装置16是磁盘等装置,内置于文件列表生成服务器1中或与文件列表生成服务器1外部连接。存储装置16和文件列表生成服务器1的主存储装置等作为文件列表生成服务器1的存储单元发挥功能。 

在存储装置16中存储有检索索引17。在检索索引17中已经生成了检索索引。存储有一个以上的包含文件服务器3上的检索对象文件的URL的属性信息。通过能够通信地与服务器等连接的检索用索引生成服务器5更新检索用索引17。 

文件列表生成服务器1具备调度器11、文件扫描处理分割方针决定单元12、快照生成处理执行单元13、文件扫描执行单元14、文件列表比较单元15。 

另外,文件列表生成服务器1具备CPU、主存储装置等,CPU将存储装置16中存储的文件列表比较单元15等的程序装载到主存储装置上,执行其指令代码,从而执行各种处理。 

调度器11在定期地生成进行了追加、变更、删除的文件数据的一览时,在参照存储装置16中存储的一览生成处理执行间隔,执行了文件扫描处理分割方针决定单元12后,执行快照生成处理执行单元13,在文件服务器3的存储装置31内生成快照,然后,执行文件扫描执行单元14、文件列表比较单元15,生成进行了追加、变更、删除的文件数据的一览。 

文件扫描处理分割方针决定单元12对存储装置16中存储的检索索引17进行分析,决定怎样对文件扫描处理进行分割从而并行分散执行文件扫描处理的方针。对于该动作,作为文件扫描处理分割方针决定处理(S401等)在后面说明。 

快照生成处理执行单元13向文件服务器3发出快照生成指令,在文件服务器3的存储装置31内生成检索索引更新对象文件组的快照。 

文件扫描执行单元14根据由文件扫描处理分割方针决定单元12决定的文件数据扫描处理的分割方针,取得文件服务器3上的上次更新索引时取得的检索对象文件组的快照目录以及通过本次的文件扫描取得的检索对象文件组的快照目录内的文件数据,生成处于各个快照目录中的文件数据的一览。 

文件列表比较单元15将文件扫描执行单元14生成的上次更新索引时取得的检索对象文件组的快照目录中的文件数据的一览和本次取得的检索对象文件组的快照目录内的文件的一览进行比较,生成进行了追加、变更、删除的文件数据的一览。 

对于该动作,作为文件服务器内数据扫描处理(S501)等在后面说明。 

图2是作为检索索引17的结构要素的文件记录170的数据结构图。 

检索索引17由一个以上的索引已生成文件记录170构成。在索引已生成文件记录170中存储有至少包含文件的URL171的检索对象文件的属性信息(文件名、最终访问时刻、最终更新时刻、索引生成时刻等)。 

在文件URL171中,具体地设定有用于唯一地识别文件服务器上的文件的 路径。例如表示文件服务器的识别名是“server1”而共享名为share1的共享目录的下面的etc这样的名字的目录中的file2.xml的URL为http://server1/share1/etc/file2.xml。 

图3是使用具体例子表示文件服务器内的目录结构的概念图。 

在该概念图所示的文件服务器3的目录结构中,某文件服务器3的识别名为“server1”。在“server1”中,共享2个目录,分别通过“share1”、“share2”这样的共享名能够唯一地识别。在“server1”的“share1”、“share2”中,存在图示那样的目录和文件。例如在“server1”的“share1”中,存在“etc”、“doc”的2个目录,在“etc”目录中存在“file1.doc”、“dile2.xml”的2个文件,在“doc”目录中存在“file3.doc”的一个文件。同样,在“server1”的“share2”中,存在一个目录“pjt”,在“pjt”目录中存在“pjt1”、“pjjt2”、“pjt3”的3个目录,其中在“pjt1”目录中存在“file4.txt”、“file5.doc”的2个文件。 

另外,在“share1”中,具有通过文件列表生成服务器1具有的快照生成处理执行单元13调用文件服务器3具有的快照生成接口而生成的2个快照目录,存在于“snapshot”这样的目录下面。 

一个以“.IDX01”这样的名称生成,另一个以“.IDX02”这样的名称生成。在各个快照目录的下面,存在生成快照的时刻的“share1”下面的目录和文件组。另外,对于以生成进行了追加、变更、删除的文件数据的一览为主要目的而生成的快照目录下面的文件,在上位目录中有时也存在原本的文件组,也可以不生成检索索引。在以下的说明中,假设对“snapshot”以下不生成检索索引来进行说明。 

另外,在快照中附带有文件大小的信息,由此能够检索文件是否被变更。 

图4是表示文件扫描处理分割方针决定单元12的动作的流程图。 

文件扫描处理分割方针决定单元12针对将扫描对象的文件树构造分割为多个并行地进行扫描处理从而高速化这样的本发明的目的,为了避免由于在分割后的范围较小时进行并行处理造成的开销超过并行处理带来的高速化的优点,而进行以下处理,即根据已经生成索引的文件对目录构造进行分析,来进行判断以使最初进行扫描处理的范围成为适当的大小。 

这样的判断处理适合于扫描对象的文件树构造为越是接近扫描处理开始目录的上位阶层目录数越少,越是下位阶层目录数越多的三角形构造的情况。 即使在三角形构造中,特别在阶层之间的目录数的增加的比例不固定,在中途的阶层中增加的比例急剧增大的情况下,也将从最上位阶层到增加比例急剧增大之前的阶层设定为最初的初次扫描范围。 

图15是在中途的阶层中增加的比例急剧增大那样的文件树的概念图。图中的圆1506表示一个目录。另外,在各目录下具有文件。另外,下位阶层的目录属于上位阶层的某个目录。 

在该概念图所示的文件服务器3的文件树的构造中,1个目录属于第一阶层1501,3个目录属于第二阶层1502,6个目录属于第三阶层1503,12个目录属于第四阶层1504,10000个目录属于第五阶层1505。作为具有这样的文件树构造的文件服务器,可以考虑以企业组织的金字塔型结构为基准构筑的企业内文件服务器。例如,在将第一阶层1501设为“总部”,将第二阶层1502设为“部”,将第三阶层1503设为“课”,将第四阶层1504设为“各职员”的目录的情况下,成为具有这样的目录数的比例的文件树构造。 

能够根据阶层之间的目录数的2层差分值,近似地计算出各阶层之间的目录数的增加的比例。 

2层差分值如图16的说明图所示,是指在针对各阶层的目录数将上位阶层与其下的下位阶层的目录数的差作为1层差分值时,将更下位阶层的目录数与1层差分值的差作为2层差分值。相当于对微分运算进行近似。 

在图16的说明图中,由于第四阶层与第五阶层的目录数的2层差分值1603急剧变化,所以能够近似地检测出在第五阶层中目录数急剧变化的情况。 

在图15的例子中,第一阶层1501、第二阶层1502、第三阶层1503之间的2层差分值为1,第二阶层1502、第三阶层1503、第三阶层1504之间的2层差分值为3,第三阶层1503、第三阶层1504、第五阶层1505之间的2层差分值为9982。根据这些2层差分值的比较,能够判断在第四阶层1504与第五阶层1505之间增加的比例急剧变大。文件扫描处理分割方针决定单元12通过该方法,设定为将从最上位阶层1501到第四阶层1504作为一个分割深度的初次扫描范围。 

对于设定为初次扫描范围的第四阶层以下的下位阶层,由于目录数多,所以将其下位的目录阶层作为一个深度单位按照一个阶层单位进行扫描,生成该目录上的文件列表。 

另外,在目录数多的第五阶层以下的阶层中,由多个分散处理服务器分担属于该阶层的目录的扫描。此时,分担的方法是任意的。 

另外,在到最下位阶层为止的目录数的累计结果非常少而不满规定数的情况下,即使分割进行扫描也无法实现高速化的目的,因此,将分割数设为1来进行扫描。 

在本实施方式中,其前提是针对检索对象文件将反映了当前的目录构造的文件服务器的目录的快照预先保存在存储装置内。在通过图4的处理决定了目录的分割方针后,在启动图5的处理之前,发出快照取得指令,由此来实现。 

因此,以此为前提,在本实施方式中,首先根据针对检索对象文件已经生成的检索索引信息,对反映了生成索引后的检索对象文件的目录构造的目录树进行分析。然后,根据检索对象文件的列表对目录数进行累计,根据该累计结果,决定用于通过分散处理服务器组对文件扫描进行分散处理的目录的分割方针,依照该决定的分割方针对目录进行分割,一边对全部目录进行扫描(初次扫描、下次扫描、再下次扫描……),一边向快照生成处理执行单元13发出快照取得指令,由此在文件服务器3的存储装置31内,取得反映了进行了追加、删除的文件的当前文件目录构造的目录树的快照。因此,把在决定文件扫描的分割方针之前取得的目录树的快照和反映了进行了追加、删除的文件的目录树的快照进行比较。由此,根据目录树的新追加或删除的状态,判断追加的文件、删除的文件。另外,虽然没有追加目录,但如果有更新了内容的文件,则将快照中存在的文件大小彼此进行比较,由此来判断更新后的文件。 

因此,在本实施方式中,通过快照之间彼此的比较,来检测出文件的追加、删除、变更,因此不需要像以前那样预先存储检索对象文件的哈希值,不需要大规模容量的存储单元。 

图4的到S401为止的处理如上所述那样,在调度器11定期地生成进行了追加、变更、删除的文件数据的一览时,参照存储装置16中存储的一览生成处理执行间隔,来开始处理。 

首先,根据存储装置16中存储的检索索引17,取得成为扫描对象的文件服务器3的共享目录相关的全部文件的URL171记录(S401)。 

接着,用字符“/”将取得的各文件URL171分割为文件路径上的各阶层的目录名(S402)。例如如果是上述的例子,则“http: //server1/share1/etc/file2.xml”被分割为“http:”、“”(空格)、“server1”、“share1”、“etc”、“file2.xml”。末尾的要素是文件名,由于在目录构造分析中不使用,所以废弃。在上述的例子中,不使用“file2.xml”而废弃。 

接着,计算分割后的目录名分别属于文件路径上的第几个阶层,计算阶层数(S403)。例如如果是上述的例子,则“http://server1/share1/etc/file2.xml”的“share1”是第一阶层,“etc”是第二阶层。 

接着,对每个阶层累计目录数。例如在图3所示的文件树的情况下,计算出涉及共享目录“share1”的第一阶层是一个“share1”。 

同样,计算第二阶层是“etc”和“doc”的2个。在此,“snapshot”下面的目录没有生成检索索引,因此“snapshot”不成为累计对象。 

S402和S403在分散处理服务器组2中利用分散处理执行单元21并行地进行分散处理。例如,每5000行地将目录URL171分配给各分散处理服务器,各分散服务器针对分配的每个目录URL171,进行S402和S403的处理。 

接着,针对每个阶层对唯一的目录名有几个进行计数,由此对每个阶层的目录数进行累计(S404)。S404在分散处理服务器组2中利用分散处理执行单元21并行地进行分散处理。对在S403中计算出的每个阶层数,向各分散处理服务器分配目录名,各分散处理服务器对分配的阶层,进行S404的对唯一的目录数进行累计的处理。 

接着,针对累计完成的阶层中的第一阶层,进行处理(S405)。 

接着,计算第一阶层的推定文件数,并与推定总文件数相加(S406)。另外,通过将S404中计算出的第一阶层的目录数与固定数相乘,来计算推定文件数。固定数例如是100这样的值。该值参照在文件列表生成服务器1上的设定文件等中存储的值。理想的是推定与1个目录保存的文件的平均数接近的值来设定为该值。 

接着,决定推定总文件数是否为最高推定总文件数以上(S407)。 

最高推定总文件数参照在文件列表生成服务器1上的设定文件等中存储的值。该值例如是2000000这样的值,理想的是推定一台文件列表生成服务器1通过一次文件扫描至少在数小时内能够完成扫描的数字来设定。在推定总文件数为最高推定总文件数以上时,将从最初的阶层到当前阶层判断为汇总进行扫描的对象(S412)。 

即,在该情况下,只将第一阶层判断为扫描对象。为了防止汇总进行扫描的对象的范围无限地放大的目的,而设定了最高推定总文件数。 

在推定总文件数少于最高推定总文件数的情况下,接着计算上上阶层、上一阶层、当前阶层的目录数的2层差分值(S408)。在第一阶层的情况下,没有上上阶层、上阶层,因此将第一阶层的目录数自身作为2层差分值。 

接着,决定2层差分值是否为阶层数2层差分阈值以上(S409)。另外,阶层数2层差分阈值参照在文件列表生成服务器1上的设定文件等中存储的值。该值是近似地表示阶层之间的目录数的增加比例是怎样程度的急剧的值,例如设定5000这样的值。 

在2层差分值为2层差分阈值以上的情况下,接着决定推定总文件数是否为最低推定总文件数以上(S410)。 

另外,最低推定总文件数参照在文件列表生成服务器1上的设定文件等中存储的值。该值例如是1000000这样的值,理想的是推定一台文件列表生成服务器1通过一次文件扫描在至少数次以上的扫描中的文件数,来设定该数。 

在推定总文件数为最低推定总文件数以上的情况下,将从最初的阶层到当前阶层判断为汇总进行扫描的对象(S412)。 

在S410的判断中推定总文件数少于最低推定总文件数的情况下,前进到下一个阶层(S411)。 

图4的处理是用于不将较小的范围设定为扫描范围的处理,对一定数的文件进行S410的判断处理以便包含在扫描范围内。 

在S409的判断中2层差分值小于2层差分阈值的情况下,前进到下一个阶层(S411)。 

在S411中前进到下一个阶层后,返回S406的处理。在通过S407、S409和S410的任意一个判断决定扫描范围之前,重复执行S406~S411的处理。 

通过这些处理,文件扫描执行单元14决定适当的范围来作为最初进行扫描处理的范围。 

图5是表示通过文件扫描执行单元14和文件列表比较单元15生成进行了追加、变更、删除的文件数据的一览的处理的动作的流程图。 

在图4的流程图所示的处理结束后,调度器11利用快照生成处理执行单元13在文件服务器3的存储装置31内生成检索对象文件组的快照,然后启动 图5的处理。该快照是成为上述前提的快照。 

将图4的流程图所示的由分割方针决定单元决定的范围设定为扫描范围(S501)。 

接着,针对本次取得的检索对象文件组的快照目录中的扫描范围进行扫描,列举出文件和目录的URL(S502)。对文件服务器内的一部分范围进行扫描来列举文件和目录为公知的技术,所以在此没有对文件服务器扫描执行单元14怎样进行扫描进行详细说明,但是例如文件列表生成服务器1能够将文件服务器3的存储装置31的检索对象文件的快照32设为通过网络文件系统能够访问的状态,使用文件列表生成服务器1的本地文件用的文件树探索程序,输出各文件数据在文件系统上的文件路径的一览等。如果求出文件系统上的文件路径,则通过对文件路径附加文件服务器3的识别名等,能够生成URL。 

接着,针对在开始图5的处理之前或上次更新索引时取得的检索对象文件的快照扫描范围进行扫描,列举出文件和目录的URL(S503)。 

接着,生成文件列表,设定下次扫描范围(S504)。对于该下次扫描范围,设定在S502中扫描的范围的最下层的目录,将该目录下面的一个阶层设定为扫描范围。即,在S501中设定的初次的扫描之后的扫描中,对每个阶层扫描文件树。作为文件列表生成和扫描范围设定处理(S601等),在后面详细说明该处理。 

接着,判断下次扫描范围是否为空(S505)。 

如果下次扫描范围为空,则探索了全部的文件树而结束,结束处理。 

如果下次扫描范围不为空,则返回到S502对下一个扫描范围进行扫描,列举文件和目录的URL。 

图6是表示文件列表生成和扫描范围设定处理的动作的流程图。这是图5的S504的处理的详细流程。 

最初,调整在S502和S503中列举出的文件和目录的URL,按照反转字符串的顺序进行排序(S601)。在此,反转字符串是指使字符串的记载顺序前后反转(替换)所得的字符串。例如与“あいうえお”这样的字符串对应的反转字符串是“おえういあ”。 

在S601中按照反转字符串的顺序对从两个快照目录列举出的文件和目录的URL进行排序的理由是:为了使分散处理服务器组2对进行了追加、变更、 删除的文件数据的一览的生成进行分散处理,在两个快照目录中存在同一文件或同一目录的情况下,通过按照反转字符串顺序进行排序,在文件列表内使2个快照目录的同一文件或同一目录的URL相邻。 

图17以图3所示的快照目录32和快照目录33下面的文件的URL为例子,表示出反转字符串顺序排序的例子。 

表示了在文件列表1701中,按照通常的字符串顺序对2个快照目录内的文件URL进行排序的情况。表示了在文件列表1702中,按照反转字符串顺序对文件URL进行了排序的情况。为了使文件列表1703容易理解,所以保持排序顺序地针对文件列表1702将字符串再反转。 

通过按照反转字符串顺序进行排序,如1704所示那样,同一文件的2个快照目录的URL相邻。这是因为在同一文件的URL中,在快照目录名的部分中初次产生差异。 

利用该特征,通过1705所示的相邻的2行的比较,能够判断出上次更新索引时取得的快照目录和本次取得的快照目录中存在怎样的差异。 

如果不注意URL列表整体,只观察相邻的2行,则成为能够生成进行了追加、变更、删除的文件数据的一览的状态,由此能够使进行了追加、变更、删除的文件数据的一览的生成处理分散到分散处理服务器组2中。 

在图6的S602以后,说明根据按照该反转字符串顺序排序后的URL列表生成进行了追加、变更、删除的文件数据的一览的处理。 

在S602中取出URL列表的开头2行。 

接着,作为字符串对开头2行的URL彼此进行比较(S603)。 

接着,作为S603的比较结果,判断URL的快照目录以下是否与字符串一致(S604)。 

在一致的情况下,由于上次更新索引时取得的快照目录下的文件或目录的URL与本次取得的快照目录下的文件或目录的URL一致,所以能够判断出该文件或目录并非删除了在文件服务器3上新追加的文件或目录,或者上次生成索引的文件或目录,是没有变更或者具有了更新的文件或目录。进行将该文件或目录作为具有更新的可能性的文件或目录,追加到进行了追加、变更、删除的文件数据的一览中的处理(S605)。作为更新文件追加处理(S901等)在后面详细说明该处理。 

接着,判断在URL列表中是否有下一行(图7的S606)。当在URL列表中有下一行时,接着判断在URL列表中是否还有更下一行(S607)。 

在URL列表中还有更下一行时,即在URL列表中有下2行时,取得下2行(S608)。 

接着,返回图6的S603,对下一个URL彼此进行比较。在针对URL列表的全部URL结束了处理之前,重复执行这些处理。 

在S606的判断中在URL列表中没有更下一行时,即,在URL列表中只剩下一行的情况下,对该最终行进行追加到追加、变更、删除文件一览中的处理(S609)。作为URL列表的最终行处理(S701等),在后面详细说明该处理。 

在S604的判断中URL的快照目录以下作为字符串不一致的情况下,能够判断为向文件服务器3上追加了文件或目录,或者删除了上次生产索引的文件或目录,因此决定是新追加了文件、还是删除了文件,进行追加到追加、更新、删除文件一览中的处理(S610)。作为追加删除文件追加处理(S801等),在后面详细说明该处理。 

接着,判断在URL列表中是否有下一行(S611)。 

在URL列表中有下一行的情况下,将当前取出的第一行作为已经进行了判断的行而废弃,使当前取出的第2行移动为第一行,取出下一行作为第2行(S612)。 

在URL列表中没有下一行的情况下,将当前取出的第2行作为最终行而进行URL列表的最终行处理(S609)。 

通过这样的方法从开头到最末尾对URL列表的URL进行比较,由此能够针对该范围将进行了追加、变更、删除的文件全部追加到进行了追加、变更、删除的文件数据的一览中。 

通过这些处理,生成与本次的扫描范围有关的进行了追加、变更、删除的文件数据的一览,确定下一次的扫描范围。 

图8、图9是表示URL列表的最终行处理的动作的流程图。这是图6的S609的处理的详细流程。 

最初判断最终行的URL是否是本次取得的快照目录的URL(S801)。 

在最终行的URL是本次取得的快照目录的URL的情况下,接着判断URL是否是目录的URL(S802)。 

在URL是目录的URL的情况下,判断是否是扫描范围的最下层的目录(S803)。例如在图15的文件树中将第一阶层1501到第五阶层1505设定为扫描范围时,判断为属于第五阶层1505的目录的URL是最下层的目录。 

在URL所示的目录是最下层的目录的情况下,作为下次扫描范围中的起点目录之一包含该目录,因此追加到下次扫描范围中(S804)。该下次扫描范围可以保存在文件列表生成服务器1的主存储装置上,在追加到下次扫描范围中的目录数多的情况下,也可以暂时存储在存储装置15中在下次处理时进行加载。 

在S803的判断中URL不是扫描范围的最下层的目录的情况下,不需要将该目录追加到下次扫描范围中,直接结束图8的处理。 

在S802的处理中URL不是目录而是文件的URL情况下,能够判断为该文件是在上次更新索引时不存在,但在本次生成索引时存在的文件、即追加到文件服务器3的文件,因此作为追加文件追加到追加、更新、删除文件一览中(S805)。 

在S801的处理中最终行的URL不是本次取得的快照目录的URL而是在上次更新索引时取得的快照目录的URL的情况下,接着判断URL是否是目录的URL(S806)。 

在URL是目录的URL的情况下,能够判断为该目录是在上次更新索引时已经存在,但在本次生产索引时不存在的目录、即从文件服务器3删除的目录。在该情况下,需要删除对检索索引生成了索引的该目录以下的全部文件。因此,首先从检索索引中取得目录以下的文件的一览(S807)。 

接着,将在S807中取得的一览的全部文件作为删除文件追加到追加、更新、删除文件一览中(S808)。 

在S806的处理中URL不是目录而是文件的URL的情况下,能够判断为该文件是在上次更新索引时存在,但在本次生产索引时不存在的文件、即从文件服务器3删除的文件,因此作为删除文件而追加到追加、更新、删除文件一览中(S809)。 

通过这些处理,将URL列表的最终行的URL追加到追加、更新、删除文件一览或下次扫描范围中。 

图10是表示将追加删除文件追加到追加、更新、删除文件一览或下次扫 描范围中的处理的动作的流程图。 

最初判断取出的2个URL是目录的URL还是文件的URL,判断第一行的URL是文件第二行的URL是文件的组合;第一行的URL是文件第二行的URL是目录的组合;第一行的URL是目录第二行的URL是文件的组合;第一行的URL是目录第二行的URL是目录的组合中的哪一个(S1001)。作为与目录或文件相关的URL组合确定处理(S1001等),在后面详细说明该处理。 

接着,针对取得的2个URL,判断第一行和第二行的URL分别是在上次更新索引时取得的快照目录的URL,还是本次取得的快照目录的URL,求出组合(S1002)。作为与上次取得或本次取得快照目录有关的URL组合确定表(1201等),在后面详细说明该组合。 

接着,根据S1001、S1002的判断结果,将取出的URL所示的目录或文件追加到追加、更新、删除文件一览或下次扫描范围中(S1003)。作为URL所示的目录或文件向追加、更新、删除文件一览或下次扫描范围的追加处理判断表(1301等),在后面详细说明该判断。 

图11是表示针对取出的2个URL分别判断是目录还是文件URL,确定组合的处理的动作的流程图。 

最初判断第一行的URL是否是目录的URL(S1101)。在S1101的判断中第一行的URL不是目录而是文件的情况下,接着判断第二行的URL是否是目录的URL(S1102)。 

在S1102的判断中第二行的URL不是目录而是文件的情况下,判断为该2行URL是文件、文件的组合。为了方便说明图10的S1003的决定处理,将该组合命名为A(1104)。在S1102的判断中第二行的URL是目录的URL的情况下,将该2行URL判断为文件、目录的组合。同样为了方便,也将该组合命名为B(1105)。 

在S1101的判断中第一行的URL是目录的URL的情况下,接着判断第二行的URL是否是目录的URL(S1103)。 

在S1103的判断中第二行的URL不是目录而是文件的URL情况下,判断为该2行URL是目录、文件的组合。同样为了方便,也将该组合命名为C(1106)。 

在S1103的判断中第二行的URL是目录的URL的情况下,判断为该2 行URL是目录、目录的组合。同样为了方便,也将该组合命名为D(1107)。 

在图10的S1003中,进行以下的处理:针对取出的2个URL分别判断是在上次更新索引时取得的快照目录下的URL、还是本次取得的快照目录的下面的URL。该判断自身能够通过使用公知的技术而容易地实现,因此在此不详细说明,但例如可以考虑决定在字符串中是否包含表示在上次更新索引时取得的快照目录所示的字符串等的方法。 

图12将分别判断为2个URL的结果表示为表1201。在此,为了容易理解,而省略了URL的前半部分的“http://server1/share1”。另外,作为表示快照目录以下的适当的文件路径的标记,使用<A>、<B>。即在表中,标记为“.IDX01/<A>”例如表示“http://server1/share1/.IDX01/etc/file1.doc”这样的文件URL。在表1201中,记载了1208这样的“(※1)”的组合表示同一URL排列了2行的情况,在通过此前说明的方法生成URL列表的情况下,绝对不会出现。 

同样,记载了1209那样的“(※2)”的组合在图6的S601中进行了反转字符串排序处理,因此也不会出现。 

能够出现的URL的组合是表的1202~1207所示的6种。为了说明的方便,对这些组合附加1~6的名字。 

关于组合1~6中的5(1206)和6(1207),为取出的2行为同一URL的情况,是通过图6的S604的判断处理前进到S605的情况。由此,是在针对S601的处理进行说明的图12、以及下一个图13中能够无视的情况。 

在图10的S1003中,具有将根据S1001和S1002的判断结果取出的URL追加到追加、更新、删除文件一览或下次扫描范围中的处理。在图13中作为表1301表示了根据S1001的判断结果A~D和S1002的判断结果中的应该处理的情况1~4的组合,应该怎样对取出的URL进行处理。 

例如,在S1001的判断结果是A(1104),S1002的判断结果是1(1202)的情况下,将取出的URL的第一行的RUL所示的文件作为删除文件追加到追加、更新、删除文件一览中(1302)。 

另外,在S1003中只将全部取出的URL的第一行追加到追加、更新、删除文件一览或下次扫描范围中。在表1301中表示为1303、1304的S1002的判断结果为2的情况以及为4的情况,在具有下一行时,该2行的判断结果只可 能是S1002的判断结果为3的情况或为4的情况。这些处理与通过图8所示的下一行为最终行时的流程图进行的处理具有相同的结果。由此,对于1303、1304的情况,能够确定在该时刻可以怎样对第二行的URL所示的目录或文件进行处理。在本实施方式中,只对第一行的URL进行处理,对于第二行的URL,假设为在图6的重复处理的下一次处理中进行处理来继续说明。 

图14是表示更新文件追加处理的动作的流程图。这是图6的S605的处理的详细流程。 

最初判断URL是否是目录的URL(S1401)。由于快照目录以下的URL相同,所以判断中使用的URL可以是第一行,也可以是第二行。 

在URL是目录的URL的情况下,接着判断是否是扫描范围的最下层的目录(S1402)。使用与本次取得的快照目录相关的URL来对扫描范围进行判断。 

在URL所示的目录是扫描范围的最下层的目录的情况下,作为下次扫描范围的起点目录之一包含该目录,因此追加到下次扫描范围中(S1403)。 

在S1402的判断中不是扫描范围的最下层的目录的情况下,在当前扫描范围中包含下位的目录,因此在下次扫描范围中不需要包含该目录。另外,由于不需要生成与目录相关的检索索引,因此不需要追加到追加、更新、删除文件一览中的处理。由此,结束处理。 

在S1401的判断中URL不是目录的URL而是文件的URL的情况下,针对取出的2行URL所示的文件,根据文件的更新时刻、大小等参数,计算文件信息哈希值,将2个哈希值进行比较(S1404)。 

接着,判断在比较的哈希值中是否存在差(S1405)。 

在S1405的判断中哈希值存在差的情况下,表示该文件被更新,因此接着将该URL作为更新文件追加到追加、更新、删除文件一览中(S1406)。 

在S1405的判断中哈希值没有差的情况下,表示该文件没有被更新,因此针对该文件,不需要追加到追加、更新、删除文件一览中。因此,在此结束处理。 

通过这些处理,在URL是文件并且被更新的情况下,作为更新文件被追加到进行了追加、变更、删除的文件数据的一览中,另外在为扫描范围的最下层的目录的情况下,追加到下次扫描范围中。 

图18是表示本发明的其他实施方式的系统结构图。该实施方式沿用以通 常的备份目的生成的快照来生成进行了追加、变更、删除的文件数据的一览。 

即,快照具有通过存储器管理者“简单”地(点击1个按键)从而“迅速”、“少的容量”地“取得”成为对象的文件的“备份”的功能。存储器管理者通过手动的复制和粘帖取得的备份目录与快照目录大致相同。 

在本实施方式中,在文件服务器3的存储装置1831中存储2个备份目录,使用这些在存储装置1831中存储的成为本次索引对象的检索对象文件组的备份目录1832和在上次更新索引时成为对象的检索对象文件组的备份目录1833,来代替图1的本次取得的检索对象文件组的快照32和在上次更新索引时取得的检索对象文件组的快照33,生成比上次更新索引时(生成时)更加新地进行了追加、变更、删除的文件数据的一览。 

文件列表生成服务器1与图1的实施方式同样地使用文件扫描处理分割方针决定单元12、快照生成处理执行单元13、文件扫描执行单元14、文件列表比较单元15、分散处理服务器2,生成比上次更新索引时(生成时)更加新地进行了追加、变更、删除的文件数据的一览。 

因此,省略详细的说明。 

另外,在本实施方式中,与上述的实施方式的动作的不同点在于,代替快照生成处理单元,而由存储器管理者手动地对检索对象文件的当前的目录树进行复制和粘帖来作为备份目录存储在存储单元中。 

符号说明 

1:文件列表生成服务器;2:分散处理服务器组;3:文件服务器;4:网络;11:调度器;12:文件扫描处理分割方针决定单元;13:快照生成处理执行单元;14:文件扫描执行单元;15:文件列表比较单元;16:与文件列表生成服务器1连接的存储装置;17:检索索引;21:分散处理执行单元;31:与文件服务器3连接的存储装置;32:本次取得的检索对象文件组的快照;33:在上次更新索引时取得的检索对象文件组的快照;160:检索索引17的文件记录;161:文件URL 。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号