CN101344881A - 海量文件型数据的索引生成方法及装置和搜索*** - Google Patents
海量文件型数据的索引生成方法及装置和搜索*** Download PDFInfo
- Publication number
- CN101344881A CN101344881A CNA2007101185274A CN200710118527A CN101344881A CN 101344881 A CN101344881 A CN 101344881A CN A2007101185274 A CNA2007101185274 A CN A2007101185274A CN 200710118527 A CN200710118527 A CN 200710118527A CN 101344881 A CN101344881 A CN 101344881A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- file type
- type data
- metadata
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件型数据的索引生成方法,用于从文件型数据仓库生成供搜索的索引仓库,该方法包括:目录遍历步骤,遍历所述文件型数据仓库;数据格式解析步骤,对由在所述目录遍历步骤中遍历的各个文件型数据进行数据格式的解析;元数据抽取步骤,从由已完成数据格式解析的所述各个文件型数据中抽取作为信息内容的元数据;元数据快照生成步骤,由所述元数据生成元数据快照;路径转换步骤,将所述元数据快照的本地路径转换为对外服务的网络路径;索引生成步骤,将所述元数据快照生成索引。由此,能够对跨节点的海量文件型科学数据,直接、快速地挖掘包含其中的大量描述信息,并将这些描述信息自动索引以供搜索。
Description
技术领域
本发明涉及数据搜索技术领域,尤其涉及地球科学和环境科学等领域的海量文件型数据的索引生成方法和搜索方法以及索引生成装置和搜索***。
背景技术
在以往的数据搜索领域,搜索引擎已在超文本(HTML)中应用广泛,包括GOOGLE、BAIDU等大型搜索引擎能够高效的抽取网页并建立索引,目前它们的搜索对象也扩展到mp3,video等非超文本领域,即直接利用对象中自我描述信息(即元数据)作为索引对象。例如,在mp3文件中的歌手、乐队,唱片风格、发行版权等元数据信息均可作为索引对象。这些数据搜索采用的是抓取到本地后再解析的技术。
然而,在海洋、大气、环境和空间科学等学科领域,数据以海量文件型数据形式存在,并且将海量文件型数据以文件的形式按目录树方式存放已约定俗成。其中,文件型数据是指基于文件的(file-based)、且被按照一定的格式存储的、使用时由相应的应用程序通过相应的解码程序直接进行读取的数据。这些二进制文件中也含有大量的描述信息,但是,对其索引却难以采用类似mp3/video等文件抓取再解析的技术路线,这是因为:
(1)文件型科学数据所占存储空间巨大,单个文件通常为从几十兆到几百兆甚至GB量级且数量多,难以按照常规的做法抓取到本地后解析;
(2)文件型科学数据的数据结构多样,以地球科学为例,常用的数据格式多达上百种,因此,提供远程解析的接口方式则开发成本过高;
(3)科学数据的管理模式,通常由大型的科学数据中心下属多个数据分中心,组成星形拓普的层级结构,对分级数据的访问涉及复杂的权限,特别是对跨节点、跨数据仓库索引的融合受到复杂共享策略的约束。
为了获得文件型数据的描述信息,传统的做法是依靠人工提供的摘要信息。即,将对文件型数据的描述信息通过人工填加的方式存放于关系型数据库中。此类型的搜索是对数据库中数据表字段的匹配过程。目前大型数据中心普遍采用这种方式。
但是,上述基于人工方式的技术的缺陷是:
(1)信息抽取过程复杂,需要人为地向数据表内添加元数据信息,无法直接利用到数据内部已有的描述信息;
(2)搜索的准确率低。通常对关键词匹配仅限于人工登记的有限信息,在多个结果匹配的情况下,缺少评分机制。
(3)扩展性差。访问数据的途径,只能透过数据库返回的文件型数据固定的URL地址。当数据仓库的存储路径发生改变后,必须大量更改数据库字段。
(4)***的开发和部署复杂,费用高,对维护人员的也有一定的技术要求。
因此,在使用海量文件型数据的领域,迫切需要一种针对海量文件型数据,能够快速准确地生成索引的方法及相应的搜索***。然而,到目前为止,在该技术领域中还没有一种能够对海量、跨节点文件型科学数据,直接、快速地挖掘包含其中的大量描述信息,并将这些描述信息自动索引的方法及装置,也缺少相应的交互式搜索方法及***。
发明内容
鉴于上述问题,本发明的目的在于提供一种对海量的文件型数据直接、快速、准确地生成索引的方法及装置,包括相应的搜索方法及***。
本发明提供的文件型数据的索引生成方法,用于从文件型数据仓库生成供搜索的索引仓库,其特征在于,包括:目录遍历步骤,通过爬虫程序,遍历所述文件型数据仓库;数据格式解析步骤,利用数据格式解析器,对由在所述目录遍历步骤中遍历的所述文件型数据仓库中的各个文件型数据进行数据格式的解析;元数据抽取步骤,利用元数据抽取器,从由已完成数据格式解析的所述各个文件型数据中抽取作为信息内容的元数据;元数据快照生成步骤,利用元数据快照生成器,由所述元数据生成元数据快照;路径转换步骤,利用路径转换器,将所述元数据快照中的文件型数据的本地路径转换为对外服务的网络路径;索引生成步骤,利用索引生成器,通过索引程序对已完成路径转换的所述元数据快照生成索引,并按照一定的命名方式存储于所述索引仓库中。
利用上述方法,能够对海量的文件型数据,根据解析出的数据类型,直接抽取其中具有信息价值的元数据,进而将利用模板生成的元数据快照自动编制成索引文件,以供使用者方便搜索。因此,能够获得信息抽取过程简单、搜索的准确率高、扩展性好、***的开发和部署简单且成本低的文件型数据的索引生成方法。
更优选的方式是,在所述数据格式解析步骤中,所述数据格式解析器首先依据文件扩展名预估文件解码格式,之后再通过二进制文件解码程序对预估结果验证。并且,在所述数据格式解析步骤中,在利用所述格式解析器进行格式解析时,如果扩展名解析结果与该扩展名对应的二进制解码程序不匹配,则格式解析器将首先遍历整个格式解析的函数库,若有解码程序匹配,在所述元数据抽取步骤中采用该解码程序,若没有匹配的解码程序,则进入未知元数据快照生成步骤。
更优选的方式是,在所述元数据抽取步骤中,在所述元数据抽取器抽取文件型数据的元数据时,针对每一个不同数据结构的二进制文件,编写唯一的二进制文件解码程序。
更优选的方式是,在所述元数据快照生成步骤中,所述元数据快照生成器利用其具有的主模板定制快照页面的结构,再利用其具有的副模板具体采集文件型数据中的元数据。
更优选的方式是,在所述目录遍历步骤中,所述爬虫程序遍历所述数据仓库中的文件型数据,若遍历失败,则结束本流程,若遍历正常,则对每一个文件型数据调用所述格式解析器解析数据格式,如果格式解析正确则进入所述元数据抽取步骤,否则进入未知元数据快照生成步骤;在所述元数据抽取步骤中,如果抽取成功,则进入所述元数据快照生成步骤,否则进入所述未知元数据快照生成步骤;在所述元数据快照生成步骤中,生成相应的元数据快照,如果生成成功,则进入所述路径转换步骤,否则进入所述未知元数据快照生成步骤;在所述未知元数据快照生成步骤中,如果生成未知元数据快照成功,则进入所述路径转换步骤,若失败则结束本流程。
更优选的方式是,在所述路径转换步骤中,利用正则表达式对元数据快照进行替换,将本地路径转换为HTTP/FTP/NFS网络路径,如果转换成功,进入所述索引生成步骤,否则结束本流程。
更优选的方式是,在所述索引生成步骤中,利用索引生成器将生成的元数据快照生成索引,如果失败则结束本流程,如果成功则将生成索引按一定的命名方式存储于索引仓库。
更优选的方式是,所述索引生成步骤进一步包括对索引仓库中的索引文件进行合并的步骤。根据该方法,通过索引合并机制,实现跨节点、跨数据仓库的文件型数据的索引仓库,以便使用者能在更大的范围内进行快速搜索。
本发明还提供一种文件型数据的搜索方法,通过该搜索方法,对文件型数据仓库中的文件型数据进行搜索查询,其特征在于,包括:索引仓库生成步骤,利用上述的文件型数据的索引生成方法,从所述文件型数据仓库生成供搜索的索引仓库的步骤;信息发送步骤,利用信息收发装置,通过网络CGI平台或者命令行平台,将外部节点上的搜索信息发送出去;信息查询步骤,利用信息查询装置接收在所述信息收发步骤中发送的搜索信息,与在所述索引仓库生成步骤中生成的索引仓库进行正则匹配,得到相应的元数据快照,并按照评分算法排列结果;信息接收步骤,所述信息查询装置将包括相应的所述网络路径的元数据快照反馈给所述信息收发装置。
更优选的方式是,如果在所述信息查询步骤中匹配未成功,则所述信息查询装置将未搜索信息的查询结果反馈给信息收发装置。
本发明还提供一种文件型数据的索引生成装置,用于从文件型数据仓库生成供搜索的索引仓库,其特征在于,包括:目录遍历器,通过爬虫程序遍历所述文件型数据仓库;数据格式解析器,对由所述目录遍历器遍历的所述文件型数据仓库中的各个文件型数据进行数据格式的解析;元数据抽取器,从由已完成数据格式解析的所述各个文件型数据中抽取作为信息内容的元数据;元数据快照生成器,由所述元数据生成元数据快照;路径转换器,将所述元数据快照中的文件型数据的本地路径转换为对外服务的网络路径;索引生成器,通过索引程序对已路径转换的所述元数据快照生成索引,并按照一定的命名方式存储于所述索引仓库中。
更优选的方式是,所述数据格式解析器,在解析数据格式时,首先依据文件扩展名预估文件解码格式,之后再通过二进制文件解码程序对预估结果验证;所述元数据抽取器,在抽取文件型数据的元数据时,针对每一个不同数据结构的二进制文件,编写唯一的二进制文件解码程序;所述元数据快照生成器,包括主模板和副模板,所述主模板定制快照页面的结构,所述副模板具体采集文件型数据的元数据信息。
更优选的方式是,所述数据格式解析器和所述元数据抽取器以函数库的形式存在,所述元数据快照生成器以模板库的形式存在。
更优选的方式是,所述索引生成器还具有对索引仓库中的索引文件进行合并的功能。
本发明还提供一种文件型数据的搜索***,通过该搜索***,对文件型数据仓库中的文件型数据进行搜索查询,其特征在于,包括:上述的文件型数据的索引生成装置;信息收发装置,通过网络CGI平台或者命令行平台,将外部节点上的搜索信息发送出去;信息查询装置,接收由所述信息收发装置发送的搜索信息,与由所述文件型数据的索引生成装置生成的索引文件进行正则匹配,并按照评分算法排列结果,最终将包括与搜索到的文件型数据对应的调用路径的被匹配的元数据快照反馈给所述信息收发装置。
采用本发明的技术方案,能够得到如下的技术效果:
(1)利用本发明的海量文件型数据的索引生成方法及装置,能够自动遍历大规模文件型科学数据仓库,自动解析文件型数据的元数据,自动生成文件型数据快照,并编制为索引,因此,信息抽取过程简单且与人工建立索引时相比建立索引以及搜索的准确率高,并且成本降低;
(2)本发明的索引生成方法及装置具备广泛的扩展性能,可以根据不同文件的数据结构,动态扩展元数据抽取器,以生成索引对象,因此其扩展性能良好;
(3)本发明的索引生成方法采用了索引仓库的合并机制,因此,从一定程度上解决了跨节点、跨数据仓库创建引问题;
(4)本发明的搜索***能够实现结果评分机制,能使用户得到良好的体验感。
(5)本发明的索引生成方法及装置支持多个数据仓库,因此能够广泛应用于各种大型科学数据管理中心等部门,满足了对各种类型的科学数据索引、查询和管理的需求。
附图说明
图1是本发明的文件型数据的索引生成方法以及搜索方法的流程图。
图2是本发明的文件型数据的索引生成装置以及搜索***的构成图。
具体实施方式
本发明针对文件型科学数据,自动抽取出元数据信息、编制索引,进而针对搜索输入的语句,利用正则表达式对其匹配过滤,最终提供基于网络和命令行的搜索业务。其中,所述元数据是指对数据的描述信息,例如在科学数据服务中,数据的生产单位信息,数据内部的变量范围、单位等等都属于元数据。所述正则表达式是描述一个字符串集合的模式,它由文本字符和元字符组成,一个正则表达式规定了什么样的字符串属于该模式。
下面结合附图,进一步详细说明本发明的海量文件型数据的搜索方法及搜索***的具体实施方式,但是本发明并不限定于这些实施方式。
(文件型数据的索引生成方法以及搜索方法)
图1表示本发明的文件型数据的索引生成方法以及搜索方法的流程图。如图1所示,本发明的索引生成方法大体包括目录遍历步骤、数据格式解析步骤、元数据抽取步骤、元数据快照生成步骤、路径转换步骤以及索引生成步骤。下面,对这些步骤分别进行说明。
目录遍历步骤
在该步骤中,利用目录遍历器,通过Perl脚本即爬虫程序遍历数据源文件目录即所述文件型数据仓库,以便能够在后述的元数据解析步骤中获得元数据信息。例如,所述爬虫程序可以遍历ncep科学数据仓库中的文件。这种ncep科学数据以GRIB,NetCDF两种二进制编码格式存在,其文件单个容量大小从20M到600M不等。其中,所述文件型数据仓库为科学数据存储环境,是本地多级目录结构下的文件型数据集。
在利用所述爬虫程序遍历所述数据仓库中的文件型数据时,若遍历失败,则结束本流程,若遍历正常,则进入下面的数据格式解析步骤。
数据格式解析步骤
在该步骤中,利用数据格式解析器,对由在所述目录遍历步骤中遍历成功的所述文件型数据仓库中的各个文件型数据分别进行数据格式的解析,以确定各个文件型数据的存储格式。例如,在海洋、大气、环境和空间科学领域可能采用不同的数据格式存储文件型数据,而通过该步骤,能够识别各文件相应的数据存储格式。在本发明中,所述数据格式解析器可以由C语言编写,并以函数库的形式存在。
在进行数据格式解析时,所述数据格式解析器首先依据文件扩展名预估文件解码格式,之后再通过二进制文件解码程序对预估结果进行验证(例如,解析出是GRIB格式的数据还是NetCDF格式的数据)。具体地说,在所述数据格式解析步骤中,在利用所述格式解析器进行格式解析时,如果扩展名解析结果与该扩展名对应的二进制解码程序不匹配,则格式解析器将首先遍历整个数据格式解析器的函数库,若有解码程序匹配,在所述元数据抽取步骤中采用该解码程序,若没有匹配的解码程序,则进入未知元数据快照生成步骤,利用unknown type模板生成未知元数据快照。
元数据抽取步骤
在该步骤中,从已完成数据格式解析的文件型数据中,利用元数据抽取器抽取其中具有信息价值的元数据。例如,如果格式为GRIB,则自动调用元数据抽取器中的与GRIB格式相应的抽取程序,如果格式为NetCDF,则自动调用元数据抽取器中的与NetCDF格式相应的抽取程序。其中,所述元数据抽取器是针对每一个不同数据格式的二进制文件,编写唯一的二进制文件解码程序。在本发明中,所述元数据抽取器可以由C语言编写,并最终以函数库形式存在。
在所述元数据抽取步骤中,如果抽取成功,则进入下面的元数据快照生成步骤,否则进入未知元数据快照生成步骤。
元数据快照生成步骤
在该步骤中,由在所述元数据抽取步骤中抽取的元数据,利用元数据快照生成器生成元数据快照。其中,元数据快照生成器所述包括主模板和副模板,所述主模板定制快照页面的结构,所述副模板具体采集文件型数据的元数据信息。在本发明中,所述元数据快照生成器可以由Perl语言和C语言混和编写,并以模板库的形式存在。
在所述元数据快照生成步骤中,如果生成相应的元数据快照成功,则进入下面的所述路径转换步骤,否则进入所述未知元数据快照生成步骤,生成包含文件型数据的路径的html页面。进而,在所述未知元数据快照生成步骤中,如果生成未知元数据快照成功,则进入所述路径转换步骤,若失败则结束本流程。
需要说明的是,所述数据格式解析器解析出的每个格式对应于一个元数据对象的元数据抽取器和一个元数据快照生成器。例如,当建立索引的文件格式为GRIB和NetCDF格式时,设定与GRIB和NetCDF格式分别相应的元数据快照生成器,使之能自动生成对应格式的元数据快照页面。
下面是此时生成的元数据快照的一个例子。
Dataset Information
Conventions:″COARDS″
title:″mean daily NMC reanalysis(2006)″
history:″created 2006/01/03 by Hoop(netCDF2.3)″
description:″Data is from NMC initialized reanalysis\\012(4x/day).It consists of most
variables interpolated to\\012pressure surfaces from model(sigma)
surfaces.″
platform:″Model″
Unlimited_Dimension:″time″
Variables in this Dataset
level:Array of 32 bit Reals[level=0..16]
units:″millibar″
actual_range:1000.000000,10.00000000
long_name:″Level″
positive:″down″
GRIB_id:100
GRIB_name:″hPa″
lat:Array of 32 bit Reals[lat=0..72]
units:″degrees_north″
octual_range:90.00000000,-90.00000000
long_name:″Latitude″
lon:Array of 32 bit Reals[lon=0..143]
units:″degrees_east″
long_name:″Longitude″
actual_range:0.000000000,357.5000000
time:Array of 64 bit Reals[time=0..41]
从以上步骤中可以看出,在对海量文件型科学数据元数据自动抽取过程中,本发明的方法能够将格式解析、元数据抽取和元数据快照生成三者结合起来,自动而准确的获取文件型数据中的元数据信息。
路径转换步骤
在该步骤中,利用路径转换器,将所述元数据快照中的文件型数据的本地路径转换为对外服务的HTTP/FTP/NFS等网络路径。其中,所述路径转转换器可以由Perl语言程序编写。
具体地说,在该步骤中,通过路径转换器,用正则表达式替换本地访问路径为HTTP/FTP/NFS网络路径,如果转换成功,进入下面的索引生成步骤,否则结束本流程。其中,所谓“正则表达式”(regular expression)是指描述了一种字符串匹配的模式的表达式,它可以用来检查一个串是否含有某种子串,将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。例如,在Windows操作***中查找word文件时使用的含通配符的表达式“*.doc”即为其一例。
下面表示的是将本地路径转换为基于OPeNDAP协议的网络访问路径的一个例子。
索引生成步骤
在该步骤中,索引生成器通过索引程序对已进行路径转换的所述元数据快照生成供查询接口调用的索引文件,如果索引成功,则将索引文件按照一定的命名方式存储于所述索引仓库中,如果失败则结束本流程。另外,所述索引生成器还具有对索引仓库中的索引文件进行合并的功能。所述索引生成器可以由C语言程序编写。
例如,当生成索引的文件对象是ncep数据仓库时,所述索引程序对ncep数据仓库生成元数据的快照生成索引,如果成功则按一定的命名方式例如以ncep.dataset.index的命名方式存储于索引仓库中,否则保存索引失败的信息,并结束本流程。
在所述索引生成步骤中,还进一步包括对索引仓库中的索引文件进行合并的步骤。通过采用索引合并机制,能够实现跨节点、跨数据仓库的文件型数据的索引仓库,从而能够使使用者在更大的数据范围内进行快速搜索。
信息收发步骤
在该步骤中,利用信息收发装置通过网络CGI平台或者命令行平台,将外部节点上的搜索信息发送出去。例如,通过网络平台,输入关键词“ncep vwnd 2006”,搜索ncep数据集中关于2006年垂直风速的文件型数据。其中,所述网络CGI平台可以由Perl语言程序编写,命令行平台可以由C语言程序编写。
信息查询步骤
信息查询装置接收由所述信息收发装置发送的搜索信息(例如查询者输入的检索语句),与由所述文件型数据的索引生成装置生成的索引文件进行正则匹配,并按照评分算法排列结果,最终将包括与搜索到的文件型数据对应的包括调用路径的被匹配的元数据快照反馈给所述信息收发装置的网络CGI平台或者命令行平台,并结束本流程。如果未查询到任何信息,则反馈未搜索到信息,并结束本流程。
上述的关于“路径转换步骤”的说明中给出的例子,同时也表示了将索引结果按照评分算法排列后的结果,而下面给出的则是将上述索引结果反馈给用户平台的命令行方式显示内容的一例。
[root@dell2~]# search -w″ncep vwnd 2006″
1000 http://dell2.iap.ac.cn/opendap/nph-dods/data/ncep/ncep.reanalysis.dailyavgs
/pressure/vwnd.2006.nc″vwnd.2006.nc:title=″mean daily NMC reanalysis(2006)″
;″3873
1000 http://dell2.iap.ac.cn/opendap/nph-dods/data/ncep/ncep.reanalysis.dailyavgs
/surface/vwnd.sig995.2006.nc″vwnd.sig995.2006.nc:title=″mean daily NMC reana
lysis(2006)″;″3509
1000http://dell2.iap.ac.cn/opendap/nph-dods/data/ncep/ncep.reanalysis.dailyavgs
/surface_gauss/vwnd.10m.gauss.2006.nc″vwnd.10m.gauss.2006.nc:title=″mean dai
ly NMC reanalysis(2006)″:″4832
重复上述目录遍历步骤~索引生成步骤,可以对不同节点和数据仓库下的海量文件型科学数据建立索引仓库。而通过在此基础上加入上述信息收发步骤和信息查询步骤,能够对海量的文件型数据进行搜索。由此,能够实现对跨节点、跨数据仓库的海量文件型科学数据的元数据信息自动索引和检索的目的。
(文件型数据的索引生成装置以及搜索***)
图2是表示本发明的文件型数据的索引生成装置以及搜索***的构成图。如图2所示,本发明的文件型数据的搜索***包括文件型数据的索引生成装置、信息查询装置以及信息收发装置。其中,所述文件型数据的索引生成装置用于从文件型数据仓库生成供搜索的索引仓库,其进一步包括目录遍历器、数据格式解析器、元数据抽取器、元数据快照生成器、路径转换器以及索引生成器。下面,参照附图,对各部分分别进行说明。
目录遍历器
目录遍历器通过Perl脚本即爬虫程序遍历所述文件型数据仓库,以便能够利用后述的元数据解析器获得元数据信息。其中,所述文件型数据仓库为科学数据存储环境,是本地多级目录结构下的文件型数据集。
数据格式解析器
数据格式解析器对由所述目录遍历器遍历的所述文件型数据仓库中的各个文件型数据进行数据格式的解析。在解析数据格式时,首先依据文件扩展名预估文件解码格式,之后再通过二进制文件解码程序对预估结果验证。所述数据格式解析器由C语言编写,并以函数库的形式存在。
元数据抽取器
元数据抽取器从由已完成数据格式解析的所述各个文件型数据中抽取作为信息内容的元数据。所述元数据抽取器在抽取文件型数据的元数据时,针对每一个不同数据结构的二进制文件,编写唯一的二进制文件解码程序。所述元数据抽取器由C语言编写,并以函数库的形式存在。
元数据快照生成器
元数据快照生成器由所述元数据生成元数据快照,包括主模板和副模板,所述主模板定制快照页面的结构,所述副模板具体采集文件型数据的元数据信息。所述元数据快照生成器由Perl语言和C语言混和编写,并以模板库的形式存在。
路径转换器
路径转换器将所述元数据快照中的文件型数据的本地路径转换为对外服务的HTTP/FTP/NFS等网络路径。所述路径转转换器由Perl语言程序编写。
索引生成器
索引生成器通过索引程序对已路径转换的所述元数据快照生成索引,并按照一定的命名方式存储于所述索引仓库中。所述索引生成器还具有对索引仓库中的索引文件进行合并的功能。所述索引生成器由C语言程序编写。
信息收发装置
信息收发装置通过网络CGI平台或者命令行平台,将外部节点上的搜索信息发送出去。所述信息收发装置由C语言程序编写。
信息查询装置
信息查询装置接收由所述信息收发装置发送的搜索信息,与由所述文件型数据的索引生成装置生成的索引文件进行正则匹配,并按照评分算法排列结果,最终将包括与搜索到的文件型数据对应的包括调用路径的被匹配的元数据快照反馈给所述信息收发装置的网络CGI平台或者命令行平台。所述网络CGI平台由Perl语言程序编写,命令行平台由C语言程序编写。
综上所述,通过本发明,能够获得信息抽取过程简单、搜索的准确率高、扩展性好、***的开发和部署简单且成本低的文件型数据的索引生成方法及装置和搜索***。
Claims (18)
1.一种文件型数据的索引生成方法,用于从文件型数据仓库生成供搜索的索引仓库,其特征在于,包括:
目录遍历步骤,通过爬虫程序,遍历所述文件型数据仓库;
数据格式解析步骤,利用数据格式解析器,对由在所述目录遍历步骤中遍历的所述文件型数据仓库中的各个文件型数据进行数据格式的解析;
元数据抽取步骤,利用元数据抽取器,从由已完成数据格式解析的所述各个文件型数据中抽取作为信息内容的元数据;
元数据快照生成步骤,利用元数据快照生成器,由所述元数据生成元数据快照;
路径转换步骤,利用路径转换器,将所述元数据快照中的文件型数据的本地路径转换为对外服务的网络路径;
索引生成步骤,利用索引生成器,通过索引程序对已路径转换的所述元数据快照生成索引,并按照一定的命名方式存储于所述索引仓库中。
2.如权利要求1所述文件型数据的索引生成方法,其特征在于,
在所述数据格式解析步骤中,所述数据格式解析器将首先依据文件扩展名预估文件解码格式,之后再通过二进制文件解码程序对预估结果验证。
3.如权利要求2所述文件型数据的索引生成方法,其特征在于,
在所述数据格式解析步骤中,在利用所述格式解析器进行格式解析时,如果扩展名解析结果与该扩展名对应的二进制解码程序不匹配,则格式解析器将首先遍历整个格式解析的函数库,若有解码程序匹配,在所述元数据抽取步骤中采用该解码程序,若没有匹配的解码程序,则进入未知元数据快照生成步骤。
4.如权利要求1所述文件型数据的索引生成方法,其特征在于,
在所述元数据抽取步骤中,在所述元数据抽取器抽取文件型数据的元数据时,针对每一个不同数据结构的二进制文件,编写唯一的二进制文件解码程序。
5.如权利要求1所述文件型数据的索引生成方法,其特征在于,
在所述元数据快照生成步骤中,所述元数据快照生成器利用其具有的主模板定制快照页面的结构,再利用其具有的副模板具体采集文件型数据中的元数据。
6.如权利要求1所述文件型数据的索引生成方法,其特征在于,
在所述目录遍历步骤中,所述爬虫程序遍历所述数据仓库中的文件型数据,若遍历失败,则结束本流程,若遍历正常,则对每一个文件型数据调用所述格式解析器解析数据格式,如果格式解析正确则进入所述元数据抽取步骤,否则进入未知元数据快照生成步骤;
在所述元数据抽取步骤中,如果抽取成功,则进入所述元数据快照生成步骤,否则进入所述未知元数据快照生成步骤;
在所述元数据快照生成步骤中,生成相应的元数据快照,如果生成成功,则进入所述路径转换步骤,否则进入所述未知元数据快照生成步骤;
在所述未知元数据快照生成步骤中,如果生成未知元数据快照成功,则进入所述路径转换步骤,若失败则结束本流程。
7.如权利要求1所述文件型数据的索引生成方法,其特征在于,
在所述路径转换步骤中,利用正则表达式对元数据快照进行替换,将本地路径转换为HTTP/FTP/NFS网络路径,如果转换成功,进入所述索引生成步骤,否则结束本流程。
8.如权利要求1所述文件型数据的索引生成方法,其特征在于,
在所述索引生成步骤中,利用索引生成器将生成的元数据快照生成索引,如果失败则结束本流程,如果成功则将生成索引按一定的命名方式存储于索引仓库。
9.如权利要求1所述文件型数据的索引生成方法,其特征在于,
所述索引生成步骤进一步包括对索引仓库中的索引文件进行合并的步骤。
10.一种文件型数据的搜索方法,通过该搜索方法,对文件型数据仓库中的文件型数据进行搜索查询,其特征在于,包括:
索引仓库生成步骤,利用权利要求1所述的文件型数据的索引生成方法,从所述文件型数据仓库生成供搜索的索引仓库的步骤;
信息发送步骤,利用信息收发装置,通过网络CGI平台或者命令行平台,将外部节点上的搜索信息发送出去;
信息查询步骤,利用信息查询装置接收在所述信息收发步骤中发送的搜索信息,与在所述索引仓库生成步骤中生成的索引仓库进行正则匹配,得到相应的元数据快照,并按照评分算法排列结果;
信息接收步骤,所述信息查询装置将包括相应的所述网络路径的元数据快照反馈给所述信息收发装置。
11.如权利要求10所述文件型数据的搜索方法,其特征在于,
如果在所述信息查询步骤中匹配未成功,则所述信息查询装置将未搜索信息的查询结果反馈给信息收发装置。
12.一种文件型数据的索引生成装置,用于从文件型数据仓库生成供搜索的索引仓库,其特征在于,包括:
目录遍历器,通过爬虫程序遍历所述文件型数据仓库;
数据格式解析器,对由所述目录遍历器遍历的所述文件型数据仓库中的各个文件型数据进行数据格式的解析;
元数据抽取器,从由已完成数据格式解析的所述各个文件型数据中抽取作为信息内容的元数据;
元数据快照生成器,由所述元数据生成元数据快照;
路径转换器,将所述元数据快照中的文件型数据的本地路径转换为对外服务的网络路径;
索引生成器,通过索引程序对已路径转换的所述元数据快照生成索引,并按照一定的命名方式存储于所述索引仓库中。
13.如权利要求12所述文件型数据的索引生成装置,其特征在于,
所述数据格式解析器,在解析数据格式时,首先依据文件扩展名预估文件解码格式,之后再通过二进制文件解码程序对预估结果验证。
14.如权利要求12所述文件型数据的索引生成装置,其特征在于,
所述元数据抽取器,在抽取文件型数据的元数据时,针对每一个不同数据结构的二进制文件,编写唯一的二进制文件解码程序。
15.如权利要求12所述文件型数据的索引生成装置,其特征在于,
所述元数据快照生成器,包括主模板和副模板,所述主模板定制快照页面的结构,所述副模板具体采集文件型数据的元数据信息。
16.如权利要求12所述文件型数据的索引生成装置,其特征在于,
所述数据格式解析器和所述元数据抽取器以函数库的形式存在,所述元数据快照生成器以模板库的形式存在。
17.如权利要求12所述文件型数据的索引生成装置,其特征在于,
所述索引生成器还具有对索引仓库中的索引文件进行合并的功能。
18.一种文件型数据的搜索***,通过该搜索***,对文件型数据仓库中的文件型数据进行搜索查询,其特征在于,包括:
权利要求12所述的文件型数据的索引生成装置;
信息收发装置,其通过网络CGI平台或者命令行平台,将外部节点上的搜索信息发送出去;
信息查询装置,其接收由所述信息收发装置发送的搜索信息,与由所述文件型数据的索引生成装置生成的索引文件进行正则匹配,并按照评分算法排列结果,最终将包括与搜索到的文件型数据对应的调用路径的被匹配的元数据快照反馈给所述信息收发装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101185274A CN101344881A (zh) | 2007-07-09 | 2007-07-09 | 海量文件型数据的索引生成方法及装置和搜索*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101185274A CN101344881A (zh) | 2007-07-09 | 2007-07-09 | 海量文件型数据的索引生成方法及装置和搜索*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101344881A true CN101344881A (zh) | 2009-01-14 |
Family
ID=40246885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101185274A Pending CN101344881A (zh) | 2007-07-09 | 2007-07-09 | 海量文件型数据的索引生成方法及装置和搜索*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101344881A (zh) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339298A (zh) * | 2010-07-28 | 2012-02-01 | ***通信集团公司 | Sql脚本元数据的更新方法、装置及*** |
CN102456007A (zh) * | 2010-10-14 | 2012-05-16 | 英业达股份有限公司 | 依文件路径开启包含目标资料的目标文件的***及其方法 |
US8185595B2 (en) | 2009-02-02 | 2012-05-22 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
CN102483698A (zh) * | 2009-09-30 | 2012-05-30 | 富士通株式会社 | 动态web应用的客户端层验证 |
CN102662928A (zh) * | 2012-03-28 | 2012-09-12 | 福建榕基软件股份有限公司 | 带文档导入的富文本编辑方法及装置 |
CN102708142A (zh) * | 2012-03-14 | 2012-10-03 | 北京神州数码思特奇信息技术股份有限公司 | 一种通过sql定制模板获取后台数据的方法和*** |
CN102087646B (zh) * | 2009-12-07 | 2013-03-20 | 北大方正集团有限公司 | 一种索引建立方法及装置 |
CN103246711A (zh) * | 2013-04-22 | 2013-08-14 | 华为技术有限公司 | 一种二进制大对象类型数据的快照生成方法及装置 |
CN103390033A (zh) * | 2013-07-09 | 2013-11-13 | 天津南大通用数据技术股份有限公司 | 商务智能数据模板及其生成、混合及离线使用方法 |
CN103399924A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 一种水文水资源数据目录生成***及方法 |
US8832065B2 (en) | 2010-10-29 | 2014-09-09 | Fujitsu Limited | Technique for coordinating the distributed, parallel crawling of interactive client-server applications |
US8880588B2 (en) | 2010-10-29 | 2014-11-04 | Fujitsu Limited | Technique for stateless distributed parallel crawling of interactive client-server applications |
CN104272774A (zh) * | 2012-06-05 | 2015-01-07 | 英特尔公司 | 用于处理编码数据流的***和方法 |
CN104424238A (zh) * | 2013-08-27 | 2015-03-18 | 华为技术有限公司 | 一种海量文件生成的方法、装置 |
US9032067B2 (en) | 2010-03-12 | 2015-05-12 | Fujitsu Limited | Determining differences in an event-driven application accessed in different client-tier environments |
WO2015074477A1 (zh) * | 2013-11-19 | 2015-05-28 | 北京国双科技有限公司 | 路径分析方法和装置 |
US9208054B2 (en) | 2011-02-14 | 2015-12-08 | Fujitsu Limited | Web service for automated cross-browser compatibility checking of web applications |
CN105574093A (zh) * | 2015-12-10 | 2016-05-11 | 深圳市华讯方舟软件技术有限公司 | 一种在基于HDFS的spark-sql大数据处理***上建立索引的方法 |
CN105590064A (zh) * | 2015-12-14 | 2016-05-18 | 中国建设银行股份有限公司 | 文件处理方法、文件处理装置及文件服务器 |
US9400962B2 (en) | 2010-10-29 | 2016-07-26 | Fujitsu Limited | Architecture for distributed, parallel crawling of interactive client-server applications |
CN106294860A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种实时索引数据同步的***及其实现方法 |
CN107168984A (zh) * | 2017-03-20 | 2017-09-15 | 国家计算机网络与信息安全管理中心 | 一种基于多文件格式自动识别的跨地域关联统计方法 |
CN107330031A (zh) * | 2017-06-26 | 2017-11-07 | 广州华多网络科技有限公司 | 一种数据存储的方法、装置及电子设备 |
CN109101500A (zh) * | 2017-06-20 | 2018-12-28 | 北京国双科技有限公司 | 一种文件数据的展示方法及装置 |
CN109344306A (zh) * | 2018-07-27 | 2019-02-15 | 中国科学院计算机网络信息中心 | 一种领域多标准元数据定制化在线汇交与服务方法及*** |
CN109710767A (zh) * | 2019-01-02 | 2019-05-03 | 山东省科学院情报研究所 | 多语种大数据服务平台 |
CN109710832A (zh) * | 2018-12-29 | 2019-05-03 | 上海掌门科技有限公司 | 一种用于搜索寄宿程序的方法与设备 |
CN109933460A (zh) * | 2017-12-25 | 2019-06-25 | 新华三大数据技术有限公司 | 数据快照方法及装置 |
CN110110184A (zh) * | 2017-12-21 | 2019-08-09 | 北京京东尚科信息技术有限公司 | 信息查询方法、***、计算机***及存储介质 |
CN114356848A (zh) * | 2022-03-11 | 2022-04-15 | 中国信息通信研究院 | 元数据管理方法、计算机存储介质及电子设备 |
US11799961B2 (en) | 2020-06-12 | 2023-10-24 | Beijing Baidu Netcom Science And Technology Co., Ltd. | File directory traversal method, apparatus, device, and medium |
-
2007
- 2007-07-09 CN CNA2007101185274A patent/CN101344881A/zh active Pending
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185595B2 (en) | 2009-02-02 | 2012-05-22 | Canon Kabushiki Kaisha | Information processing apparatus and control method thereof |
CN101794300B (zh) * | 2009-02-02 | 2012-12-12 | 佳能株式会社 | 信息处理装置及信息处理装置的控制方法 |
CN102483698A (zh) * | 2009-09-30 | 2012-05-30 | 富士通株式会社 | 动态web应用的客户端层验证 |
CN102087646B (zh) * | 2009-12-07 | 2013-03-20 | 北大方正集团有限公司 | 一种索引建立方法及装置 |
US9032067B2 (en) | 2010-03-12 | 2015-05-12 | Fujitsu Limited | Determining differences in an event-driven application accessed in different client-tier environments |
CN102339298A (zh) * | 2010-07-28 | 2012-02-01 | ***通信集团公司 | Sql脚本元数据的更新方法、装置及*** |
CN102456007A (zh) * | 2010-10-14 | 2012-05-16 | 英业达股份有限公司 | 依文件路径开启包含目标资料的目标文件的***及其方法 |
US8880588B2 (en) | 2010-10-29 | 2014-11-04 | Fujitsu Limited | Technique for stateless distributed parallel crawling of interactive client-server applications |
US9400962B2 (en) | 2010-10-29 | 2016-07-26 | Fujitsu Limited | Architecture for distributed, parallel crawling of interactive client-server applications |
US8832065B2 (en) | 2010-10-29 | 2014-09-09 | Fujitsu Limited | Technique for coordinating the distributed, parallel crawling of interactive client-server applications |
US9208054B2 (en) | 2011-02-14 | 2015-12-08 | Fujitsu Limited | Web service for automated cross-browser compatibility checking of web applications |
CN102708142A (zh) * | 2012-03-14 | 2012-10-03 | 北京神州数码思特奇信息技术股份有限公司 | 一种通过sql定制模板获取后台数据的方法和*** |
CN102662928A (zh) * | 2012-03-28 | 2012-09-12 | 福建榕基软件股份有限公司 | 带文档导入的富文本编辑方法及装置 |
CN104272774A (zh) * | 2012-06-05 | 2015-01-07 | 英特尔公司 | 用于处理编码数据流的***和方法 |
CN104272774B (zh) * | 2012-06-05 | 2019-02-12 | 英特尔公司 | 用于处理编码数据流的***和方法 |
CN103246711B (zh) * | 2013-04-22 | 2016-12-07 | 华为技术有限公司 | 一种二进制大对象类型数据的快照生成方法及装置 |
CN103246711A (zh) * | 2013-04-22 | 2013-08-14 | 华为技术有限公司 | 一种二进制大对象类型数据的快照生成方法及装置 |
CN103390033A (zh) * | 2013-07-09 | 2013-11-13 | 天津南大通用数据技术股份有限公司 | 商务智能数据模板及其生成、混合及离线使用方法 |
CN103399924A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 一种水文水资源数据目录生成***及方法 |
CN104424238B (zh) * | 2013-08-27 | 2018-12-14 | 华为技术有限公司 | 一种海量文件生成的方法、装置 |
CN104424238A (zh) * | 2013-08-27 | 2015-03-18 | 华为技术有限公司 | 一种海量文件生成的方法、装置 |
WO2015074477A1 (zh) * | 2013-11-19 | 2015-05-28 | 北京国双科技有限公司 | 路径分析方法和装置 |
CN105574093B (zh) * | 2015-12-10 | 2019-09-10 | 深圳市华讯方舟软件技术有限公司 | 一种在基于HDFS的spark-sql大数据处理***上建立索引的方法 |
CN105574093A (zh) * | 2015-12-10 | 2016-05-11 | 深圳市华讯方舟软件技术有限公司 | 一种在基于HDFS的spark-sql大数据处理***上建立索引的方法 |
CN105590064A (zh) * | 2015-12-14 | 2016-05-18 | 中国建设银行股份有限公司 | 文件处理方法、文件处理装置及文件服务器 |
CN105590064B (zh) * | 2015-12-14 | 2018-10-19 | 中国建设银行股份有限公司 | 文件处理方法、文件处理装置及文件服务器 |
CN106294860A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种实时索引数据同步的***及其实现方法 |
CN107168984A (zh) * | 2017-03-20 | 2017-09-15 | 国家计算机网络与信息安全管理中心 | 一种基于多文件格式自动识别的跨地域关联统计方法 |
CN109101500A (zh) * | 2017-06-20 | 2018-12-28 | 北京国双科技有限公司 | 一种文件数据的展示方法及装置 |
CN107330031A (zh) * | 2017-06-26 | 2017-11-07 | 广州华多网络科技有限公司 | 一种数据存储的方法、装置及电子设备 |
CN107330031B (zh) * | 2017-06-26 | 2020-07-07 | 广州华多网络科技有限公司 | 一种数据存储的方法、装置及电子设备 |
CN110110184A (zh) * | 2017-12-21 | 2019-08-09 | 北京京东尚科信息技术有限公司 | 信息查询方法、***、计算机***及存储介质 |
CN109933460A (zh) * | 2017-12-25 | 2019-06-25 | 新华三大数据技术有限公司 | 数据快照方法及装置 |
CN109344306A (zh) * | 2018-07-27 | 2019-02-15 | 中国科学院计算机网络信息中心 | 一种领域多标准元数据定制化在线汇交与服务方法及*** |
CN109344306B (zh) * | 2018-07-27 | 2021-12-10 | 中国科学院计算机网络信息中心 | 一种领域多标准元数据定制化在线汇交与服务方法及*** |
CN109710832A (zh) * | 2018-12-29 | 2019-05-03 | 上海掌门科技有限公司 | 一种用于搜索寄宿程序的方法与设备 |
CN109710832B (zh) * | 2018-12-29 | 2021-09-24 | 上海掌门科技有限公司 | 一种用于搜索寄宿程序的方法与设备 |
CN109710767A (zh) * | 2019-01-02 | 2019-05-03 | 山东省科学院情报研究所 | 多语种大数据服务平台 |
US11799961B2 (en) | 2020-06-12 | 2023-10-24 | Beijing Baidu Netcom Science And Technology Co., Ltd. | File directory traversal method, apparatus, device, and medium |
CN114356848A (zh) * | 2022-03-11 | 2022-04-15 | 中国信息通信研究院 | 元数据管理方法、计算机存储介质及电子设备 |
CN114356848B (zh) * | 2022-03-11 | 2022-06-07 | 中国信息通信研究院 | 元数据管理方法、计算机存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101344881A (zh) | 海量文件型数据的索引生成方法及装置和搜索*** | |
Auer et al. | Triplify: light-weight linked data publication from relational databases | |
CN101647020B (zh) | 搜索结构化地理数据 | |
Iváncsy et al. | Frequent pattern mining in web log data | |
Atzeni et al. | Semistructured and structured data in the web: Going back and forth | |
CN102479252B (zh) | 查询语句转换装置及查询语句转换方法 | |
CN102073726B (zh) | 搜索引擎***的结构化数据的引入方法和装置 | |
CN101799826B (zh) | 一种基于虚拟视图的网络化数据共享***及方法 | |
CN101211336B (zh) | 可视化生成查询文件的***及方法 | |
US7493308B1 (en) | Searching documents using a dimensional database | |
CN105706078A (zh) | 实体集合的自动定义 | |
CN101350013A (zh) | 一种地理信息的搜索方法和*** | |
CN101655862A (zh) | 信息对象搜索的方法和装置 | |
CN101393565A (zh) | 基于本体的面向虚拟博物馆的搜索方法 | |
CN102760151A (zh) | 开源软件获取与搜索***的实现方法 | |
CN101727502A (zh) | 一种数据查询方法及装置、*** | |
KR20200082179A (ko) | 공간 데이터의 의미론적 주석을 위한 데이터 변환 방법 | |
KR101331854B1 (ko) | 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법 | |
CN102236713A (zh) | 一种数字电视交互服务页面的信息提取方法及其装置 | |
CN114117242A (zh) | 数据查询方法和装置、计算机设备、存储介质 | |
US20190146954A1 (en) | Hierarchical seedlists for application data | |
Lisowska | Metadata for the open data portals | |
Tomasic et al. | Improving access to environmental data using context information | |
Wariyapola et al. | Ontology and metadata creation for the poseidon distributed coastal zone management system | |
Manguinhas et al. | A geo-temporal web gazetteer integrating data from multiple sources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090114 |