CN104899337A - 一种文件索引的建立方法及系统 - Google Patents
一种文件索引的建立方法及系统 Download PDFInfo
- Publication number
- CN104899337A CN104899337A CN201510379389.XA CN201510379389A CN104899337A CN 104899337 A CN104899337 A CN 104899337A CN 201510379389 A CN201510379389 A CN 201510379389A CN 104899337 A CN104899337 A CN 104899337A
- Authority
- CN
- China
- Prior art keywords
- file
- node
- information
- xml index
- index
- 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
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/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- 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/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Abstract
本申请公开了一种文件索引的建立方法及系统,接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。这样,在文件编写过程中即可根据文件名称以及文件的格式信息建立多维度XML索引文件,在文件使用的过程中,只需要查询XML索引文件就可以知道所需信息是否存在、定位所需信息所在的具体位置以及信息间的相关性,能够使检索的过程得到简化,并可以准确检索到有效信息。
Description
技术领域
本申请涉及软件编译技术领域,特别是涉及一种文件索引的建立方法及系统。
背景技术
在大型软件开发项目中,根据软件工程的要求会在开发过程中产生大量的需求、设计、程序代码、测试代码等信息。这些信息一般都以文件的形式保存在文件系统中,可以通过检索特定的文件获取所需要的信息。文件系统是一个简单的树形存储结构,只能提供一维基于命名规范的索引,而且无法确认所需的信息是否在特定的文件中,为了获取所需要的信息,就需要建立有效的索引。
在实际工作中,需要对文件进行多种不同纬度的检索并准确定位所需信息所在的位置,而目前的电子化办公环境中充斥着基于不同格式和模板的海量文件,面对海量的文件,如何能够准确检索到所需要的文件并定位到文件中所需要的内容,成为日常工作中无法回避的问题。
现有技术中,在文件建立阶段,建立者是根据命名规范将文件保存在文件系统的指定目录中,文件全路径是文件的唯一索引,文件所在的目录代表文件的分类,文件名隐含文件应该包含的内容,文件名的后缀代表文件的类型,在文件使用阶段,可以通过命名规范进行精确检索,也可以通过全文检索进行模糊查询。
但是,基于命名规范的精确检索只能建立基于文件全路径的单一树状索引,仅仅能表述基于某一纬度的分类关系,文件名只能表述有限分类信息,而无法表述文件内更多的信息。全文检索只能进行关键字进行检索,在大多数情况下关键字并不能代表一段有效的信息,所以当通过全文检索进行查找的时候,往往需要面对大量无用的信息。
可见,这两种现有的检索方法由于缺少适合的文件索引,所能检索的信息有限,会造成检索的过程繁琐,却难以准确检索到有效信息。
发明内容
有鉴于此,本申请实施例提供一种文件索引的建立方法及系统,用于建立一种文件索引,能够使检索的过程得到简化,并可以准确检索到有效信息。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种文件索引的建立方法,包括:
接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;
根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;
通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。
优选地,所述根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相应的文件解析器,包括:
获得所述文件名称,根据所述命名规范查找与所述文件名称相对应的文件解析器,判断是否查找到与所述文件名称相对应的文件解析器;
如果未查找到与所述文件名称相对应的文件解析器,根据所述文件系统的配置信息判断所述文件系统中是否允许保存非规范文件;
如果所述文件系统中不允许保存非规范文件,输出无法找到文件解析器的提示信息,并保存到错误记录中。
优选地,还包括:
如果所述文件系统中允许保存非规范文件,输出无法找到文件解析器的提示信息,并判断是否将所述文件作为非规范文件保存;
如果将所述文件作为非规范文件保存,则将所述文件作为非规范文件添加到XML索引文件中;
如果不将所述文件作为非规范文件保存,则保存到错误记录中。
优选地,所述通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中,包括:
清除所述XML索引文件中与所述文件相关的索引节点;
检查所述文件的格式信息,判断所述格式信息是否正确;
如果所述格式信息不正确,将保存到错误记录中,并输出无法解析所述文件的提示信息;
如果所述格式信息正确,获取所述文件中全部的根节点;
在所述XML索引文件中查找与所述根节点对应的节点;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点,则在所述XML索引文件中建立虚节点,并保存到错误记录中;
如果在所述XML索引文件中查找到与所述根节点对应的节点,则在所述XML索引文件中查找与所述根节点对应的节点下的所有子节点;
如果在所述XML索引文件中查找到与所述根节点对应的节点下的子节点,则将索引信息与子节点的关系逐一添加到所述XML索引文件中;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点下的子节点,判断所述文件系统的配置信息是否允许添加子节点;
如果允许,则添加子节点,检查所述XML索引文件中是否包括与添加的子节点相关的虚节点,如果有,则将与添加的子节点相关的虚节点变为实际的节点并在错误记录中清除相关的错误记录;
如果不允许,则添加相关的虚节点,并保存到错误记录中。
优选地,还包括:
判断所述文件系统的配置信息是否有完整性检查要求;
如果有完整性检查要求,则进行完整性检查,并将检查出的错误保存到错误记录中;
生成错误列表,所述错误列表中包括所有的错误记录,并保存所述XML索引文件。
一种文件索引的建立系统,包括:
编写模块,用于接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;
查找模块,用于根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;
解析模块,用于通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。
优选地,所述查找模块,包括:
查找单元,用于获得所述文件名称,根据所述命名规范查找与所述文件名称相对应的文件解析器,判断是否查找到与所述文件名称相对应的文件解析器;
判断单元,用于如果未查找到与所述文件名称相对应的文件解析器,根据所述文件系统的配置信息判断所述文件系统中是否允许保存非规范文件;
第一输出单元,用于如果所述文件系统中不允许保存非规范文件,输出无法找到文件解析器的提示信息,并保存到错误记录中。
优选地,所述查找模块,还包括:
第二输出单元,用于如果所述文件系统中允许保存非规范文件,输出无法找到文件解析器的提示信息,并判断是否将所述文件作为非规范文件保存;
添加单元,用于如果将所述文件作为非规范文件保存,则将所述文件作为非规范文件添加到XML索引文件中;
保存单元,用于如果不将所述文件作为非规范文件保存,则保存到错误记录中。
优选地,所述解析模块,具体用于:
清除所述XML索引文件中与所述文件相关的索引节点;
检查所述文件的格式信息,判断所述格式信息是否正确;
如果所述格式信息不正确,将保存到错误记录中,并输出无法解析所述文件的提示信息;
如果所述格式信息正确,获取所述文件中全部的根节点;
在所述XML索引文件中查找与所述根节点对应的节点;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点,则在所述XML索引文件中建立虚节点,并保存到错误记录中;
如果在所述XML索引文件中查找到与所述根节点对应的节点,则在所述XML索引文件中查找与所述根节点对应的节点下的所有子节点;
如果在所述XML索引文件中查找到与所述根节点对应的节点下的子节点,则将索引信息与子节点的关系逐一添加到所述XML索引文件中;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点下的子节点,判断所述文件系统的配置信息是否允许添加子节点;
如果允许,则添加子节点,检查所述XML索引文件中是否包括与添加的子节点相关的虚节点,如果有,则将与添加的子节点相关的虚节点变为实际的节点并在错误记录中清除相关的错误记录;
如果不允许,则添加相关的虚节点,并保存到错误记录中。
优选地,所述解析模块,还用于:
判断所述文件系统的配置信息是否有完整性检查要求;
如果有完整性检查要求,则进行完整性检查,并将检查出的错误保存到错误记录中;
生成错误列表,所述错误列表中包括所有的错误记录,并保存所述XML索引文件。
应用本申请的文件索引的建立方法及系统,接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。这样,在文件编写过程中即可根据文件名称以及文件的格式信息建立多维度XML索引文件,在文件使用的过程中,只需要查询XML索引文件就可以知道所需信息是否存在、定位所需信息所在的具体位置以及信息间的相关性,能够使检索的过程得到简化,并可以准确检索到有效信息。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种文件索引的建立方法的流程图;
图2为本申请实施例提供的另一种文件索引的建立方法的流程图;
图3为本申请实施例提供的一种文件索引的建立系统的结构示意图。
具体实施方式
相关术语解释:
格式化文件:用于存储与特定表相关的数据文件中各字段格式信息的文件称为“格式化文件”。格式化文件提供了大容量导出或大容量导入数据所需的全部格式信息。格式化文件为编写数据文件提供了一个灵活的系统,用户只需进行极少的编辑甚至无需编辑即可编写出符合其他数据格式的数据文件,或从其他软件读取数据文件。
文件系统:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
全文检索:全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。
XML:XML(Extensible Markup Language,可扩展标记语言)是一套定义语法标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的和结构化的标记语言的句法语言,它在软件开发领域占据着不可或缺的重要地位。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了使本技术领域的人员更好地理解本申请方案,使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
图1为本申请实施例提供的一种文件索引的建立方法的流程图。
参照图1所示,本申请实施例提供的文件索引的建立方法,包括:
步骤S11:接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;
在本申请实施例中,文件建立者和使用者必须遵循相同的基于文件模板的文件编制要求和文件命名规范等预设的格式信息。文件建立者根据预设的格式信息,按照特定的文件模板编写文件,并按照预设的命名规范保存文件。
步骤S12:根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;
在本申请实施例中,文件解析器是用于根据特定规则解析受管理文件的程序,主要由两部分组成:根据文件类型,调用相应API打开文件数据流程序;根据规则编写的解析文件内容的程序。安装在文件系统上的侦听器获得文件的变化,根据命名规范在配置中查找适用的文件解析器。
图2为本申请实施例提供的另一种文件索引的建立方法的流程图,根据图2所示,在本申请实施例中,所述根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相应的文件解析器,包括:
步骤S121:获得所述文件名称,根据所述命名规范查找与所述文件名称相对应的文件解析器,判断是否查找到与所述文件名称相对应的文件解析器;
步骤S122:如果未查找到与所述文件名称相对应的文件解析器,根据所述文件系统的配置信息判断所述文件系统中是否允许保存非规范文件;
步骤S123:如果所述文件系统中不允许保存非规范文件,输出无法找到文件解析器的提示信息,并保存到错误记录中。
可以理解的是,还包括:
步骤S124:如果所述文件系统中允许保存非规范文件,输出无法找到文件解析器的提示信息,并判断是否将所述文件作为非规范文件保存;
步骤S125:如果将所述文件作为非规范文件保存,则将所述文件作为非规范文件添加到XML索引文件中;
步骤S126:如果不将所述文件作为非规范文件保存,则保存到错误记录中。
本申请实施例提供的技术方案,在实际执行中,根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相应的文件解析器,具体为:获得发生变化的文件名;根据基于命名规范的配置获取文件解析器,如果获得文件解析器,进入文件解析流程;如果未获得文件解析器,根据配置检查是否允许保存非规范文件;如果允许保存,提示文件建立者无法找到此文件的解析器,是否作为非规范文件保存;如果选择是,则将文件作为非规范文件添加到XML索引文件中;如果选择否,则将文件作为错误保存到错误记录中;如果不允许保存,提示文件建立者无法找到此文件的解析器,并将文件作为错误保存到错误记录中。
步骤S13:通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。
在本申请实施例中,所述通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中,包括:清除所述XML索引文件中与所述文件相关的索引节点;检查所述文件的格式信息,判断所述格式信息是否正确;如果所述格式信息不正确,将保存到错误记录中,并输出无法解析所述文件的提示信息;如果所述格式信息正确,获取所述文件中全部的根节点;在所述XML索引文件中查找与所述根节点对应的节点;如果在所述XML索引文件中无法查找到与所述根节点对应的节点,则在所述XML索引文件中建立虚节点,并保存到错误记录中;如果在所述XML索引文件中查找到与所述根节点对应的节点,则在所述XML索引文件中查找与所述根节点对应的节点下的所有子节点;如果在所述XML索引文件中查找到与所述根节点对应的节点下的子节点,则将索引信息与子节点的关系逐一添加到所述XML索引文件中;如果在所述XML索引文件中无法查找到与所述根节点对应的节点下的子节点,判断所述文件系统的配置信息是否允许添加子节点;如果允许,则添加子节点,检查所述XML索引文件中是否包括与添加的子节点相关的虚节点,如果有,则将与添加的子节点相关的虚节点变为实际的节点并在错误记录中清除相关的错误记录;如果不允许,则添加相关的虚节点,并保存到错误记录中。
在实际执行中,通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中,具体为:
清除XML文件中所有与此文件相关的索引节点;
检查文件格式;
如果文件格式不正确,直接将错误保存到错误记录中并提示文件建立者文件不规范无法解析;
如果文件格式正确,获取文件中所有的根节点;
根据根节点在XML索引文件中查找对应的节点;
如果无法找到对应节点,在XML索引文件中建立虚节点,即在上下文中应该存在而不存在的节点,并在错误记录中记录此索引信息不完整需要通过其它相关文件建立完整的索引;
在XML索引文件中查找对应的节点下所有的子节点;
将文件解析的结果将相关索引信息(索引信息包含索引的关键字、文件名、文件路径、索引内容在文件中的位置等)根据与子节点关系逐一添加到XML索引文件中;
根据索引规则如果无法找到与索引信息对应的子节点,检查配置是否允许添加子节点;
如果允许,则直接添加相关节点,检查是否有历史上的虚节点与此次添加的节点相关,如果有则将虚节点变为实际的节点并在错误记录中清除相关的错误记录来修正索引;
如果不允许,则添加相关的虚节点,并将此错误保存到错误记录中。
进一步的,本申请实施例提供的技术方案还可以判断所述文件系统的配置信息是否有完整性检查要求;如果有完整性检查要求,则进行完整性检查,并将检查出的错误保存到错误记录中;生成错误列表,所述错误列表中包括此文件所有的错误记录,并保存所述XML索引文件,提示文件建立者索引建立成功。
应用本申请的文件索引的建立方法,接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。这样,在文件编写过程中即可根据文件名称以及文件的格式信息建立多维度XML索引文件,在文件使用的过程中,只需要查询XML索引文件就可以知道所需信息是否存在、定位所需信息所在的具体位置以及信息间的相关性,能够使检索的过程得到简化,并可以准确检索到有效信息。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
图3为本申请实施例提供的一种文件索引的建立系统的结构示意图。
参照图3所示,本申请实施例提供的文件索引的建立系统,包括:
编写模块1,用于接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;
查找模块2,用于根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;
解析模块3,用于通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。
所述查找模块2,包括:
查找单元,用于获得所述文件名称,根据所述命名规范查找与所述文件名称相对应的文件解析器,判断是否查找到与所述文件名称相对应的文件解析器;
判断单元,用于如果未查找到与所述文件名称相对应的文件解析器,根据所述文件系统的配置信息判断所述文件系统中是否允许保存非规范文件;
第一输出单元,用于如果所述文件系统中不允许保存非规范文件,输出无法找到文件解析器的提示信息,并保存到错误记录中。
所述查找模块2,还包括:
第二输出单元,用于如果所述文件系统中允许保存非规范文件,输出无法找到文件解析器的提示信息,并判断是否将所述文件作为非规范文件保存;
添加单元,用于如果将所述文件作为非规范文件保存,则将所述文件作为非规范文件添加到XML索引文件中;
保存单元,用于如果不将所述文件作为非规范文件保存,则保存到错误记录中。
所述解析模块3,具体用于:
清除所述XML索引文件中与所述文件相关的索引节点;
检查所述文件的格式信息,判断所述格式信息是否正确;
如果所述格式信息不正确,将保存到错误记录中,并输出无法解析所述文件的提示信息;
如果所述格式信息正确,获取所述文件中全部的根节点;
在所述XML索引文件中查找与所述根节点对应的节点;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点,则在所述XML索引文件中建立虚节点,并保存到错误记录中;
如果在所述XML索引文件中查找到与所述根节点对应的节点,则在所述XML索引文件中查找与所述根节点对应的节点下的所有子节点;
如果在所述XML索引文件中查找到与所述根节点对应的节点下的子节点,则将索引信息与子节点的关系逐一添加到所述XML索引文件中;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点下的子节点,判断所述文件系统的配置信息是否允许添加子节点;
如果允许,则添加子节点,检查所述XML索引文件中是否包括与添加的子节点相关的虚节点,如果有,则将与添加的子节点相关的虚节点变为实际的节点并在错误记录中清除相关的错误记录;
如果不允许,则添加相关的虚节点,并保存到错误记录中。
所述解析模块3,还用于:
判断所述文件系统的配置信息是否有完整性检查要求;
如果有完整性检查要求,则进行完整性检查,并将检查出的错误保存到错误记录中;
生成错误列表,所述错误列表中包括所有的错误记录,并保存所述XML索引文件。
本申请实施例提供的文件索引的建立系统,可以采用上述方法实施例中的文件索引的建立方法,此处不再赘述。
本申请实施例提供的技术方案,根据特定的文件命名规范和文件模板建立文件解析器使得在文件管理的过程中有能力对文件内的信息进行深入挖掘,基于信息本身而不仅仅是简单的文件名建立索引。在文件解析的过程中,不仅对信息进行的挖掘,与此同时也对信息组织的结构化进行了检查,确保了文件内容格式化的有效性。基于XML格式,可以将信息索引以多种不同的维度进行保存,从而避免了文件系统结构本身所带来的限制。通过在文件以及XML索引文件之间的双向交互,不仅完善了索引本身同时还可以对文件内容的完整性进行检查。总之在文件建立的过程中,不仅建立多维度的索引,还可以完成文件格式化和内容完整性检查,使得对于文件的处理、维护、检索和检查更加方便快捷。在信息检索的过程中,文件使用者可以通过XML索引文件非常明确的了解所需信息是否存在以及所在的具体位置,而不再存在任何可能的歧义,能够切实的提高文件使用者获取文件的效率。
通过XML索引文件使文件获取成本降低了,文件使用者就会对文件质量提出更高的要求,文件使用变得更为频繁也进一步提升文件建立者的积极性,在文件使用者和文件建立者的双重推动下,文件质量也会逐步提高,从而进一步提升使用文件的效益,从而进入一个良性循环。
需要说明的是,在本申请实施例中是用XML格式保存索引信息,而在基于本申请的其它实施例中,不仅可以用XML格式保存索引信息,也可以通过其它定制的结构化格式,例如json格式,二进制对象串行化格式或者数据库保存索引信息,另外,在一定的条件下可以使用全文检索而不是定制的文件解析器进行解析。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件索引的建立方法,其特征在于,包括:
接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;
根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;
通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。
2.根据权利要求1所述的方法,其特征在于,所述根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相应的文件解析器,包括:
获得所述文件名称,根据所述命名规范查找与所述文件名称相对应的文件解析器,判断是否查找到与所述文件名称相对应的文件解析器;
如果未查找到与所述文件名称相对应的文件解析器,根据所述文件系统的配置信息判断所述文件系统中是否允许保存非规范文件;
如果所述文件系统中不允许保存非规范文件,输出无法找到文件解析器的提示信息,并保存到错误记录中。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果所述文件系统中允许保存非规范文件,输出无法找到文件解析器的提示信息,并判断是否将所述文件作为非规范文件保存;
如果将所述文件作为非规范文件保存,则将所述文件作为非规范文件添加到XML索引文件中;
如果不将所述文件作为非规范文件保存,则保存到错误记录中。
4.根据权利要求1所述的方法,其特征在于,所述通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中,包括:
清除所述XML索引文件中与所述文件相关的索引节点;
检查所述文件的格式信息,判断所述格式信息是否正确;
如果所述格式信息不正确,将保存到错误记录中,并输出无法解析所述文件的提示信息;
如果所述格式信息正确,获取所述文件中全部的根节点;
在所述XML索引文件中查找与所述根节点对应的节点;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点,则在所述XML索引文件中建立虚节点,并保存到错误记录中;
如果在所述XML索引文件中查找到与所述根节点对应的节点,则在所述XML索引文件中查找与所述根节点对应的节点下的所有子节点;
如果在所述XML索引文件中查找到与所述根节点对应的节点下的子节点,则将索引信息与子节点的关系逐一添加到所述XML索引文件中;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点下的子节点,判断所述文件系统的配置信息是否允许添加子节点;
如果允许,则添加子节点,检查所述XML索引文件中是否包括与添加的子节点相关的虚节点,如果有,则将与添加的子节点相关的虚节点变为实际的节点并在错误记录中清除相关的错误记录;
如果不允许,则添加相关的虚节点,并保存到错误记录中。
5.根据权利要求4所述的方法,其特征在于,还包括:
判断所述文件系统的配置信息是否有完整性检查要求;
如果有完整性检查要求,则进行完整性检查,并将检查出的错误保存到错误记录中;
生成错误列表,所述错误列表中包括所有的错误记录,并保存所述XML索引文件。
6.一种文件索引的建立系统,其特征在于,包括:
编写模块,用于接收按照预设的格式信息编写的文件,并按照预设的命名规范将接收的所述文件以预设的文件名称保存;
查找模块,用于根据设置在文件系统上的侦听器侦听所述文件名称,并根据所述文件名称查找相对应的文件解析器;
解析模块,用于通过查找的解析器从所述文件的格式信息中解析关键字,并根据预设规则将所述关键字添加到XML索引文件中。
7.根据权利要求6所述的系统,其特征在于,所述查找模块,包括:
查找单元,用于获得所述文件名称,根据所述命名规范查找与所述文件名称相对应的文件解析器,判断是否查找到与所述文件名称相对应的文件解析器;
判断单元,用于如果未查找到与所述文件名称相对应的文件解析器,根据所述文件系统的配置信息判断所述文件系统中是否允许保存非规范文件;
第一输出单元,用于如果所述文件系统中不允许保存非规范文件,输出无法找到文件解析器的提示信息,并保存到错误记录中。
8.根据权利要求7所述的系统,其特征在于,所述查找模块,还包括:
第二输出单元,用于如果所述文件系统中允许保存非规范文件,输出无法找到文件解析器的提示信息,并判断是否将所述文件作为非规范文件保存;
添加单元,用于如果将所述文件作为非规范文件保存,则将所述文件作为非规范文件添加到XML索引文件中;
保存单元,用于如果不将所述文件作为非规范文件保存,则保存到错误记录中。
9.根据权利要求6所述的系统,其特征在于,
所述解析模块,具体用于:
清除所述XML索引文件中与所述文件相关的索引节点;
检查所述文件的格式信息,判断所述格式信息是否正确;
如果所述格式信息不正确,将保存到错误记录中,并输出无法解析所述文件的提示信息;
如果所述格式信息正确,获取所述文件中全部的根节点;
在所述XML索引文件中查找与所述根节点对应的节点;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点,则在所述XML索引文件中建立虚节点,并保存到错误记录中;
如果在所述XML索引文件中查找到与所述根节点对应的节点,则在所述XML索引文件中查找与所述根节点对应的节点下的所有子节点;
如果在所述XML索引文件中查找到与所述根节点对应的节点下的子节点,则将索引信息与子节点的关系逐一添加到所述XML索引文件中;
如果在所述XML索引文件中无法查找到与所述根节点对应的节点下的子节点,判断所述文件系统的配置信息是否允许添加子节点;
如果允许,则添加子节点,检查所述XML索引文件中是否包括与添加的子节点相关的虚节点,如果有,则将与添加的子节点相关的虚节点变为实际的节点并在错误记录中清除相关的错误记录;
如果不允许,则添加相关的虚节点,并保存到错误记录中。
10.根据权利要求9所述的系统,其特征在于,
所述解析模块,还用于:
判断所述文件系统的配置信息是否有完整性检查要求;
如果有完整性检查要求,则进行完整性检查,并将检查出的错误保存到错误记录中;
生成错误列表,所述错误列表中包括所有的错误记录,并保存所述XML索引文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510379389.XA CN104899337B (zh) | 2015-07-01 | 2015-07-01 | 一种文件索引的建立方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510379389.XA CN104899337B (zh) | 2015-07-01 | 2015-07-01 | 一种文件索引的建立方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104899337A true CN104899337A (zh) | 2015-09-09 |
CN104899337B CN104899337B (zh) | 2018-05-29 |
Family
ID=54031999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510379389.XA Active CN104899337B (zh) | 2015-07-01 | 2015-07-01 | 一种文件索引的建立方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899337B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021390A (zh) * | 2016-05-12 | 2016-10-12 | 福建南威软件有限公司 | 一种文件的管理方法和装置 |
CN107168984A (zh) * | 2017-03-20 | 2017-09-15 | 国家计算机网络与信息安全管理中心 | 一种基于多文件格式自动识别的跨地域关联统计方法 |
CN107451239A (zh) * | 2017-07-26 | 2017-12-08 | 深圳Tcl新技术有限公司 | Linux终端及其文件索引方法、计算机可读存储介质 |
CN112632133A (zh) * | 2020-12-31 | 2021-04-09 | 中国农业银行股份有限公司 | 一种数据链路查询方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542901B1 (en) * | 1999-11-29 | 2003-04-01 | International Business Machines Corporation | Formatting input data file compatible with workstation application into formatted input data file compatible with second application utilizing user-customized settings |
CN1961313A (zh) * | 2004-06-25 | 2007-05-09 | 苹果电脑有限公司 | 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统 |
US20090043807A1 (en) * | 2007-08-10 | 2009-02-12 | International Business Machines Corporation | Method, apparatus and software for processing data encoded as one or more data elements in a data format |
CN103092987A (zh) * | 2013-02-06 | 2013-05-08 | 北京荣之联科技股份有限公司 | 一种快速文件检索方法和装置 |
CN104391952A (zh) * | 2014-11-28 | 2015-03-04 | 公安部第三研究所 | 实现文件系统索引建立的方法及实现文件系统查询的方法 |
-
2015
- 2015-07-01 CN CN201510379389.XA patent/CN104899337B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542901B1 (en) * | 1999-11-29 | 2003-04-01 | International Business Machines Corporation | Formatting input data file compatible with workstation application into formatted input data file compatible with second application utilizing user-customized settings |
CN1961313A (zh) * | 2004-06-25 | 2007-05-09 | 苹果电脑有限公司 | 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统 |
US20090043807A1 (en) * | 2007-08-10 | 2009-02-12 | International Business Machines Corporation | Method, apparatus and software for processing data encoded as one or more data elements in a data format |
CN103092987A (zh) * | 2013-02-06 | 2013-05-08 | 北京荣之联科技股份有限公司 | 一种快速文件检索方法和装置 |
CN104391952A (zh) * | 2014-11-28 | 2015-03-04 | 公安部第三研究所 | 实现文件系统索引建立的方法及实现文件系统查询的方法 |
Non-Patent Citations (1)
Title |
---|
孙广路: "基于合并因子的多种格式文件索引技术", 《哈尔滨理工大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021390A (zh) * | 2016-05-12 | 2016-10-12 | 福建南威软件有限公司 | 一种文件的管理方法和装置 |
CN107168984A (zh) * | 2017-03-20 | 2017-09-15 | 国家计算机网络与信息安全管理中心 | 一种基于多文件格式自动识别的跨地域关联统计方法 |
CN107451239A (zh) * | 2017-07-26 | 2017-12-08 | 深圳Tcl新技术有限公司 | Linux终端及其文件索引方法、计算机可读存储介质 |
CN112632133A (zh) * | 2020-12-31 | 2021-04-09 | 中国农业银行股份有限公司 | 一种数据链路查询方法及装置 |
CN112632133B (zh) * | 2020-12-31 | 2023-10-10 | 中国农业银行股份有限公司 | 一种数据链路查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104899337B (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1713179B (zh) | 在对象模型中的影响分析 | |
US20130268567A1 (en) | System And Method For Updating Slowly Changing Dimensions | |
US20170255709A1 (en) | Atomic updating of graph database index structures | |
US20180357329A1 (en) | Supporting tuples in log-based representations of graph databases | |
US8364723B1 (en) | Apparatus and method for realizing big data into a big object and non-transitory tangible machine-readable medium thereof | |
JP2006172446A (ja) | 複合データアクセス | |
WO2018097846A1 (en) | Edge store designs for graph databases | |
US20070168334A1 (en) | Normalization support in a database design tool | |
US11567995B2 (en) | Branch threading in graph databases | |
US20160142488A1 (en) | Digital processing system for transferring data for remote access across a multicomputer data network and method thereof | |
CN104899337A (zh) | 一种文件索引的建立方法及系统 | |
US20180357278A1 (en) | Processing aggregate queries in a graph database | |
EP3486798A1 (en) | Reporting and data governance management | |
WO2018226255A1 (en) | Functional equivalence of tuples and edges in graph databases | |
CN110941629A (zh) | 元数据处理方法、装置、设备及计算机可读存储介质 | |
US8214410B2 (en) | Conflict management in a versioned file system | |
CN116415430B (zh) | 面向空间科学任务论证的定制化SysML模型转换方法 | |
CN105069175A (zh) | 一种基于版本控制系统的信息检索方法及服务器 | |
US10268644B2 (en) | Information processing apparatus, computer-readable recording medium having stored therein data conversion program, and data conversion method | |
EP3486799A1 (en) | Reporting and data governance management | |
US10417230B2 (en) | Transforming and evaluating missing values in graph databases | |
CN114168122A (zh) | 数据脚本的生成方法及装置 | |
US20100185652A1 (en) | Multi-Dimensional Resource Fallback | |
Aljarallah | Comparative study of database modeling approaches | |
US20240036890A1 (en) | System and method of a modular framework for configuration and reuse of web components |
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 | ||
GR01 | Patent grant |