技术领域
[0001] 本发明涉及文件管理系统,例如,涉及利用商务文件(文档)的文档结构,显示该商务文件(文档)的概览。
相关背景技术
[0002] 最近几年,在各种组织机构中所使用的文档被越来越多地创建并存储为电子数据。随着存储成本的降低、对内部控制的不断认识、以及因为计算机技术的进步而使电子数据的优势扩大(例如,能够以低的成本存储电子数据且电子数据易于被分享),这种趋势还在加速。
[0003] 作为利用文件系统所管理的树结构、以分层文件夹的形式显示文件的技术,迄今为止开发并提供了下面的内容:
[0004] 1)现有技术1:Windows(注册商标)的dir命令或Unix(注册商标)的ls命令:列出特定文件夹中的文件。
[0005] 2)现有技术2:Windows(注册商标)的tree命令和资源管理器:以树结构的形式显示文件夹分层结构。利用资源管理器,可以显示指定文件夹的子文件夹,而不显示其他文件夹的子结构。
[0006] 3)现有技术3:磁盘空间显示软件:已经开发出显示文件夹的分层和该文件夹中总文件大小的软件。这样的软件的示例包括Scanner、WinDu2、WinDirStat、SequoiaView以及SpaceMonger(非专利文献:1至5)。这样的软件的目的是,可视地确定什么类型的文件占用大部分的磁盘空间以及发现并删除不必要的大文件,从而有效地获得磁盘自由空间。
[0007] 4)现有技术4:文档搜索:列出含有用户规定为查询词的字符串的文档。Google公司提供的“Google Search Appliance”(非专利文献6)具有高亮显示文档内的查询字符串的功能。Vivisimo提供的“Velocity”(非专利文献7)具有,当发现含有查询词的多个文档时,利用文档的字段动态地分类文档并显示结果的功能。
[0008] 5)现有技术5:对于文档管理系统,提供了一种采用模仿书架和书夹的用户界面的文档管理系统(非专利文献8)。该系统具有,根据文档的类型,将存储的文档归入书夹,并且允许利用标签写注释的功能。
[0009] 非专利文献1:Scanner:http://www.steffengerlach.de/freeware/[0010] 非专利文献2:WinDu2:http://www.vector.co.jp/soft/win95/util/se059546.html
[0011] 非专利文献3:WinDirStat:http://windirstat.sourceforge.net/[0012] 非专利文献4:SquoiaView:http://w3.win.tue.nl/nl/onderzoek/onderzoek_informatica/visualization/sequoiaview
[0013] 非专利文献5:SpaceMonger:http://www.sixty-five.cc/sm/
[0014] 非 专 利 文 献 6:Google Search Appliance:http://www.google.co.jp/enterprise/gsa/
[0015] 非专利文献7:Velocity:http://vivisimo.com/html/products
[0016] 非专利文献8:Visual Cabinet(NEC公司):
[0017] http://www.nec.co.jp/univerge/solution/pack/visual_cabinet/index.html[0018] 非专利文献9:Rack-Rack Library(PFU有限公司):
[0019] http://www.pfu.fujitsu.com/raku2library/
具体实施方式
[0069] 下面参考附图描述本发明的实施例。应当注意,本发明实施例仅为说明性的,用于实现本发明,而无意限制本发明的技术范围。全部附图中相同的结构采用相同的标号。
[0070] <商务文档处理系统的配置>
[0071] 图8是示意性地示出根据本发明的一个实施例实现的商务文档处理系统的内部配置的功能框图。该商务文档处理系统包括:文件系统(DB)800,具有文件夹分层结构和文件;搜索索引801,用于搜索引擎,从而对文件执行全文本搜索;显示装置802,显示数据;键盘803;以及定位装置804,诸如用于执行例如为显示的数据选择菜单的操作的鼠标;中央处理单元805,执行必要的运算处理、控制过程等等;程序存储器806,其内存储了在中央处理单元805内执行处理所需的程序;以及数据存储器807,其内存储了在中央处理单元805内执行处理所需要的数据。
[0072] 中央处理单元805包括:查询搜索处理单元808,对存储在文件系统内的文件执行全文本搜索;文件夹概览计算处理单元809,计算文件夹的概览;以及搜索结果文件夹分层位置分布处理单元810,计算分层文件夹内的查询命中文档的分布。文件夹概览计算处理单元809包括属性获得概览计算处理单元811,属性获得概览计算处理单元811根据属性计算文件夹的概览。属性获得概览计算处理单元811包括属性差异获得概览计算处理单元812,属性差异获得概览计算处理单元812计算属性被认为与同级文件夹的属性不同的文件夹的概览。搜索结果文件夹分层位置分布处理单元810包括搜索结果省略显示处理单元
813,搜索结果省略显示处理单元813以展开的形式显示分层文件夹,而省略该分层文件夹的一部分。
[0073] 数据存储器807包括:文件夹内容数据814,含有关于文件夹内容(子文件夹或者文件)的信息;扩展名-类型定义数据815,含有关于扩展名及其类型的信息;以及文档命中数据816,含有关于哪个文件包含搜索查询词的信息。
[0074] <数据存储器807的数据内容>
[0075] 图9、图10和图11是示出包括在数据存储器807内的文件夹内容数据814、扩展名-类型定义数据815和文档命中数据816的数据结构的示意图。
[0076] 图9和图10均示出文件夹内容数据的数据结构并且分别说明了文件和子文件夹的数据示例。图9所示的文件夹内容数据包括:路径名900;标记901,表示该文件夹内容是否是子文件夹;标记902,当该文件夹内容是子文件夹时,表示该子文件夹是否被展开;直方图903,当该文件夹内容是子文件夹时,为该子文件夹下的文件属性的直方图;大小904,当该文件夹内容是文件时,表示该文件的大小;扩展名905,当该文件夹内容是文件时,表示该文件的扩展名;类型906,当该文件夹内容是文件时,为由该扩展名的扩展名-类型定义数据815所限定的类型;创建日期907,当该文件夹内容是文件时,表示该文件的创建日期;上次更新日期908,当该文件夹内容是文件时,表示该文件的上次更新日期;上次浏览日期909,当该文件夹内容是文件时,表示该文件的上次浏览日期;提交日期910,当该文件夹内容是文件时,表示该文件的提交日期;创建者911,当该文件夹内容是文件时,表示该文件的创建者;创建者所属组912,当该文件夹内容是文件时,表示该文件的创建者所属的组;来源913,当该文件夹内容是文件时,表示该文件的来源;目的地914,当该文件夹内容是文件时,表示该文件的目的地;文件夹深度915,当该文件夹内容是子文件夹时,表示该子文件夹下的文件夹的深度;以及文件夹数量916,当该文件夹内容是子文件夹时,表示该子文件夹下的文件夹的数量。每个这样的数据均是从每个文件的属性信息获得的,并被布置在列表中。如图9示出该文件夹内容是文件的情况,字段901示出为“否,FALSE”,而字段902、903、915和916示出为“无效,NULL”。相反,如图10示出该文件夹内容是子文件夹的情况,字段1001示出为“是,TRUE”,而字段1004至1014示出为“无效,NULL”。
[0077] 图11A示出扩展名-类型定义数据815的数据结构。扩展名-类型定义数据是包括扩展名1100和类型1101的元素阵列。例如,当jpg文件和tiff文件被定义为图像文件时,该阵列包括两个元素,它们是扩展名1100为“jpg”、类型1101为“图像”的元素,和扩展名1100为“tiff”、类型为“图像”的元素。
[0078] 图11B示出文档命中数据816的数据结构。该文档命中数据是包括路径名1102、命中查询词1103和概览1104的元素阵列。当单一文档含有多个查询字符串时,该命中查询词1103含有多个查询字符串。例如,在图11所示的示例中,路径名为“C: leader01temp file001.txt”的文档含有两个查询字符串:“文档”和“显示”。因此,命中查询词1103含有这两个查询字符串。
[0079] <商务文档处理系统的操作>
[0080] 下面将描述由根据本发明实施例的商务文档处理系统执行的处理。
[0081] 1)操作概述
[0082] 图12是示意性地示出由商务文档处理系统执行的处理流程的流程图。在图12中,在收到用户的指令时,中央处理单元805确定对应于该指令的处理是显示文件夹的概览,还是显示分层文件夹上的查询搜索结果的位置分布的概览(步骤1200)。如果待执行的处理被确定为显示文件夹的概览,则文件夹概览计算处理单元809执行计算文件夹的概览的处理(步骤1201)。如果在步骤1200中,待执行的处理被确定为显示分层文件夹上的查询搜索结果的位置分布概览,则查询搜索处理单元808进行搜索并获取查询搜索结果。然后,搜索结果文件夹分层位置分布处理单元810执行计算分层文件夹中的查询搜索结果的位置分布信息的处理(步骤1202)。
[0083] 此后,中央处理单元805接收用户的指令,并且确定它是展开该文件夹的指令,还是图标显示该文件夹的指令,还是终止处理的指令(步骤1203)。在此,“展开文件夹”指,展开文件夹使子文件夹成行显示,而“图标显示文件夹”指,将展开的文件夹重新调整成单一行。如果要执行的处理被规定为展开文件夹或者图标显示文件夹,则根据用户的输入,更新表示文件夹内容数据814是否以展开方式显示的标记902(步骤1204)。然后,再一次从步骤1200开始重复该处理。如果在步骤1203中待执行的处理被确定为终止处理,则流程结束。
[0084] 2)步骤1201的细节
[0085] 图13是示出图12所示的步骤1201计算文件夹的概览的处理的细节的流程图。
[0086] 首先,文件夹概览计算处理单元809接收用户的指令,并确定是否规定了文件夹的概览应当基于的属性(步骤1300)。如果确定规定了属性,则文件夹概览计算处理单元809校验哪个属性被规定为该文件夹的概览应当基于的属性(步骤1301)。此外,对于紧接在该文件夹下面的每个子文件夹,文件夹概览计算处理单元809获得在步骤1301确定的规定属性的直方图(步骤1302)。然后,对于紧接在该文件夹下面的每个子文件夹,文件夹概览计算处理单元809显示在步骤1302确定的直方图,如图2中的202所示(步骤1303)。
[0087] 如果在步骤1300中确定没有用户规定的属性,则文件夹概览计算处理单元809获得紧接在该文件夹下面的每个子文件夹的概览(步骤1304)。然后,文件夹概览计算处理单元809显示关于文件夹或者包括在紧接在该文件夹下面的每个子文件夹内的文件的信息,如图2中的201所示(步骤1305)。以弹出方式,显示靠近鼠标指针的子文件夹,如图2A中的200和图2C中的203所示(步骤1306)。
[0088] 3)步骤1302的细节
[0089] 图14是示出在图13的步骤1302中,对于紧接在文件夹下的每个子文件夹,获得规定属性的直方图的处理细节的流程图。
[0090] 首先,文件夹概览计算处理单元809参考图9和图10所示的文件夹内容数据814,并创建目标文件夹的列表L(步骤1400)。接着,文件夹概览计算处理单元809将作为该列表的可变索引的Sub_folder_index初始化为1(步骤1401)。然后,文件夹概览计算处理单元809检验该列表L的长度是否大于或者等于Sub_folder_index的长度(步骤1402)。如果确定L的长度小于Sub_folder_index的长度,则该处理终止。
[0091] 同时,如果确定L的长度大于或者等于Sub_folder_index的长度,则文件夹概览计算处理单元809继续该处理。首先,文件夹概览计算处理单元809参考表示列表L内的第Sub_folder_index个元素是否以展开方式显示的标记1002,以检验该元素是否被规定成以展开形式显示(步骤1403)。如果规定以展开形式显示该元素,则文件夹概览计算处理单元809参考该文件系统800,以检验紧接在该第Sub_folder_index个元素下的文件的规定属性并形成直方图,然后,将其存储为直方图1003(步骤1404)。然后,文件夹概览计算处理单元809参考文件系统800,并将紧接在第Sub_folder_index个元素下的子文件夹添加到该列表L中(步骤1405)。
[0092] 如果在步骤1403中未规定以展开形式显示第Sub_folder_index个元素,则文件夹概览计算处理单元809递归地参考文件系统800,以检验包括在列表L中的第Sub_folder_index个元素内的全部文件的规定属性并形成直方图,然后,将其存储为直方图1003(步骤1406)。此后,文件夹概览计算处理单元809将Sub_folder_index递增1(步骤
1407),并再一次从步骤1402开始重复该处理。
[0093] 4)步骤1304的细节
[0094] 图15是示出在图13所示的步骤1304中,获得紧接在文件夹下的每个子文件夹的概览字符串(表示每个子文件夹的内容的字符串)的处理细节的流程图。
[0095] 首先,文件夹概览计算处理单元809利用空字符串初始化用于存储概览的字符串S(步骤1500)。接着,文件夹概览计算处理单元809递归地参考文件系统800,并创建列表L,在该列表L中,包括在目标文件夹内的全部文件被存储为图9所示的文件夹内容数据(步骤1501)。接着,文件夹概览计算处理单元809检验列表L是否含有该元素(待处理的文件)(步骤1502)。
[0096] 如果列表L中不含有该元素,则该处理终止。相反,如果列表L中含有该元素,则文件夹概览计算处理单元809首先检验是否存在多维文件交叉节点的分布(步骤1503),诸如参考图4所描述的那样。如果确定存在这样的分布,则文件夹概览计算处理单元809对概览S附加代表符,该代表符表示在每一维上都存在文件并且还在该概览中描述了每一维的名称,然后,从列表L中移除这样的文件(步骤1504)。例如,在诸如图4所示的结构中,创建代表设计部门A和设计部门B的概览字符串,然后,从列表L中移除设计部门A和设计部门B的文件夹。例如通过将字符串模板存储在存储器中,并将适当的字符插入该模板上的空字段中,创建概览字符串。在图4所示的情况下,如果提供了模板:“涉及[ ]的[ ]文件”,则通过将“xls,doc”和“销售”插入相应的字段,创建字符串。
[0097] 此后,文件夹概览计算处理单元809再一次从步骤1502开始重复该处理。如果在步骤1503确定,不存在多维文件交叉节点的分布,则文件夹概览计算处理单元809检验是否存在包括相似文件的多个子文件夹(步骤1505)。如果确定存在这样的子文件夹,则文件夹概览计算处理单元809对该概览S附加代表符,以表示某些子文件夹包括相似文件,而且还在该概览中描述了所述子文件夹的名称,并且从该列表L中移除包括在该子文件夹中的文件(步骤1506)。
[0098] 文件夹概览计算处理单元809再一次从步骤1502开始重复该处理。如果在步骤1505确定不存在包括相似文件的多个子文件夹,则文件夹概览计算处理单元809检验子文件夹中是否存在聚集的文件(步骤1507)。如果确定存在聚集的文件,则文件夹概览计算处理单元809将该子文件夹的名称和描述添加到概览S中,以表示该子文件夹包括大量文件,然后,从该列表L中移除除了包括在该子文件夹中的这些文件之外的文件(步骤1508)。
[0099] 文件夹概览计算处理单元809再一次从步骤1502开始重复该处理。当在步骤1507确定不存在聚集的文件时,根据每个文件属性(文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属的组、文件来源、文件目的地、文件夹深度或者文件夹数量)的如下特征或者趋势(文件名中频繁出现的字符串、子文件夹名中频繁出现的字符串、标题中频繁出现的字符串、文件名中出现的顺序号字符串、子文件夹名中出现的顺序号字符串、或者标题中出现的顺序号字符串),属性差异获得概览计算处理单元812将被认为与包括在同级文件夹中的多个文件的特征不同的特征添加到该概览S中(步骤1509),然后,终止该处理。利用现有统计试验技术,可以执行步骤1509的差异确定。
[0100] 5)步骤1202的细节
[0101] 图16是示出在图12所示的步骤1202中,计算分层文件夹内的查询搜索结果的位置分布信息的处理细节的流程图。首先,对于紧接在该文件夹下面的每个子文件夹,搜索结果文件夹分层位置分布处理单元810获得查询搜索处理单元808执行的查询搜索所命中的文件的命中次数的直方图(步骤1600)。然后,文件夹概览计算处理单元809接收用户的指令,并且确定是否规定以文本方式显示该命中次数(步骤1601)。
[0102] 如果规定以文本方式显示该命中次数,则文件夹概览计算处理单元809参考一次或者多次查询命中的文件的数量的直方图以及文件的总数量,并且在分层结构显示部分上(如图6的600所示),仅显示包括含有查询字符串的文件的文件夹(如图7的701所示)(步骤1602)。
[0103] 同时,如果规定不以文本方式,而以图形方式显示该命中次数,则文件夹概览计算处理单元809参考每次查询的命中次数的直方图和文件总数,并在分层结构显示部分上显示它们,如图6B中的601所示(步骤1603)。
[0104] 6)步骤1600的细节
[0105] 图17是示出在图16的步骤1600中,获得紧接在文件夹下的每个子文件夹的命中次数的直方图的处理细节的流程图。首先,查询搜索处理单元808参考搜索索引801,以获取文档命中信息,并以图11B所示的文档命中数据的形式存储该文档命中信息(步骤1700)。这可以通过搜索引擎领域内的现有技术来实现。
[0106] 接着,参考图9和图10所示的文件夹内容数据814,搜索结果文件夹分层位置分布处理单元810创建目标文件夹的列表L(步骤1701),然后,将作为列表L的变量索引的Sub_folder_index初始化为1(步骤1702)。
[0107] 搜索结果文件夹分层位置分布处理单元810确定列表L的长度是否大于或者等于Sub_folder_index的长度(步骤1703)。如果L的长度小于Sub_folder_index的长度,则该处理终止。相反,如果L的长度大于或者等于Sub_folder_index的长度,则搜索结果文件夹分层位置分布处理单元810参考表示是否以展开方式显示列表L中的第Sub_folder_index个元素的标记1002,以检验是否规定以展开形式显示该元素(步骤1704)。如果规定以展开形式显示该元素,则对于紧接在列表L中的第Sub_folder_index个元素下面的文件,搜索结果文件夹分层位置分布处理单元810参考文件系统800和在步骤1700获得的文档命中信息,以获得每次查询的命中次数、一次或者多次查询命中的文件数量以及文件总数,然后,将它们记录在直方图1003中(步骤1705)。然后,搜索结果文件夹分层位置分布处理单元810参考文件系统800,并且将紧接在列表L中的第Sub_folder_index个元素下面的子文件夹添加到列表L中(步骤1706)。
[0108] 同时,如果在步骤1704,没有规定以展开形式显示该元素,则对于包括在列表L中的第Sub_folder_index个元素中的全部文件,搜索结果文件夹分层位置分布处理单元810递归地参考文件系统800,并且还参考在步骤1700获得的文档命中信息,以获得每次查询的命中次数、一次或者多次查询命中的文件数量以及文件总数,并且将它们记录在直方图1003中(步骤1707)。然后,搜索结果文件夹分层位置分布处理单元810将Sub_folder_index递增1(步骤1708),然后,再一次从步骤1703开始重复该处理。
[0109] <补遗>
[0110] 在该实施例中,提供雇员或者资源的版本号或者ID号,作为文件名中出现的顺序号字符串的示例。此外,考虑到文件名含有文件创建日期的情况或者存在丢失号码的情况。因此,文件名也可以使用0至9或者连续英文字母字符作为属性趋势。这同样适用于子文件夹名。此外,文件夹深度915或者文件夹数量916也可以使用空文件夹之外的文件夹数量作为保存在图9所示的文件夹内容数据内的属性。
[0111] 上面描述了,当仅显示包括含有查询字符串的文件的文件夹时的情况(如图7B中的701所示),图16中规定以文本方式显示命中次数。此外,即使当规定以图形方式显示每次查询的命中次数时,仍可以仅显示包括含有查询字符串的文件的文件夹。此外,还可以根据用户的请求,展开702所示的省略部分,并切换显示,从而显示全部的文件夹4至文件夹8。
[0112] 图8所示的文件系统800还可以是文档DB诸如文档管理系统。可替选地,文件系统800可以被搜索索引取代,所述搜索索引是通过利用搜索引擎爬行文件系统而获得的。
[0113] 应当注意,本发明还可以由实现实施例的功能的软件程序代码予以实现。在这样的情况下,将存储有该程序代码的存储介质提供给系统或者设备,然后,该系统或者设备中的计算机(或者CPU或者MPU)读取存储在该存储介质中的程序代码,在这种情况下,从该存储介质读取的程序代码本身实现上述实施例的功能,并且该程序代码本身和存储有该程序代码的存储介质构成本发明。作为提供这样的程序代码的存储介质,例如,可以采用软盘、CD-ROM、DVD-ROM、硬盘、光盘、磁光盘、CD-R、磁带、非易失性存储卡、ROM等等。
[0114] 此外,根据该程序代码的指令,计算机等上运行的OS(操作系统)等可以执行一些或者全部的实际处理,并且这些处理可以实现上述实施例的功能。此外,在将从该存储介质读取的程序代码写入该计算机的内存内后,该计算机的CPU等可以根据该程序代码的指令执行一些或者全部的实际处理,并且这些处理可以实现上述实施例的功能。
[0115] 此外,可以通过网络发布实现实施例的功能的软件的程序代码,因此,所述程序代码可以存储在存储装置诸如该系统或者设备的硬盘或者内存中,或者存储在存储介质诸如CD-RW或者CD-R中,并且在使用时,该系统或者设备中的计算机(或者CPU或者MPU)可以读取存储在该存储装置或者存储介质中的程序代码,并执行该程序代码。
[0116] 符号说明
[0117] 800:文件系统
[0118] 801:搜索索引
[0119] 802:显示装置
[0120] 803:键盘
[0121] 804:定位装置
[0122] 805:中央处理单元
[0123] 806:程序存储器
[0124] 807:数据存储器
[0125] 808:查询搜索处理单元
[0126] 809:文件夹概览计算处理单元
[0127] 810:搜索结果文件夹分层位置分布处理单元
[0128] 811:属性获得概览计算处理单元
[0129] 812:属性差异获得概览计算处理单元
[0130] 814:文件夹内容数据
[0131] 815:扩展名-类型定义数据
[0132] 816:文档命中数据