CN101727502A - 一种数据查询方法及装置、系统 - Google Patents
一种数据查询方法及装置、系统 Download PDFInfo
- Publication number
- CN101727502A CN101727502A CN201010102826A CN201010102826A CN101727502A CN 101727502 A CN101727502 A CN 101727502A CN 201010102826 A CN201010102826 A CN 201010102826A CN 201010102826 A CN201010102826 A CN 201010102826A CN 101727502 A CN101727502 A CN 101727502A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- concordance list
- file
- field value
- 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
本发明公开了一种数据查询方法及装置、系统,将从数据载体中获取的原始数据以文件的形式存储,并生成各文件的索引表,查询时,根据查询请求中的关键字,首先查询各文件的索引表,根据所找到的索引表,在各文件中找到要查询的数据。本发明还公开了一种数据查询装置及系统,通过本发明不仅解决了WEB搜索中索引查询命中率不高和数据库查询中对模糊查询无法使用索引的问题,可以有效提高数据查询的精确度和效率,并可实现百分百的命中,而且可实现海量数据的快速索引、快速查询,并保证海量数据查询中有较高的查询准确率。
Description
技术领域
本发明涉及信息检索领域,尤其涉及一种数据查询方法及装置、系统。
背景技术
WEB搜索引擎是常见的海量数据的检索引擎,通过对用户关心的信息如标题、网页URL、文本等进行全文索引,生成索引信息;查询时,搜索索引信息,快速定位网页,便可将网页显示给用户。由于WEB搜索中被检索的信息预先被索引,查询时只需对索引查询,无需重新扫描全部内容,所以查询效率非常高。
由于WEB搜索中的处理对象是文字,较关注特定语言的分词、索引和存储。例如,在查询为A.B.C.D的IP时,WEB搜索过程中会将该IP按照A、B、C、D这4个数据进行分词和索引,而非IP本身,因而WEB搜索无法对特定格式的内容如IP本身进行查询,不仅造成无意义的索引,且降低了查询效率,查询返回的结果匹配度也不高。
数据库是结构化数据的存储工具,数据库也可以对数据进行索引以提高查询效率,且查询针对各字段,准确率高。但是,数据库完成海量数据的插入、修改和删除等过程需要极高的性能指标,因而通过性能一般的数据库难以实现海量数据的快速查询,且数据库对模糊查询无法使用索引,造成查询效率严重低下,无法满足实际需求。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据查询方法及装置、系统,以解决现有WEB搜索中的分词问题、命中率不高,以及数据库查询中对模糊查询无法使用索引、查询效率严重低下等问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种数据查询方法,所述方法包括:将各数据以文件的形式存储;生成所述文件的索引表;根据所述索引表,完成对要查询数据的查询。
在上述方案中,所述的将各数据以文件的形式存储的过程,包括:从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值;根据所得到各属性字段及各属性字段的字段值,将各原始数据存储为一个或多个文件。
在上述方案中,所述的从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值,还包括:在解析得到原始数据后,将原始数据分割为多个数据,分别得到所述的多个数据的属性字段及各属性字段的字段值。
在上述方案中,所述的生成所述文件的索引表的过程,包括:根据所述的各字段值,生成包含所述字段值及该字段值在所述的一个或多个文件的存储位置的索引条目;根据所生成的各字段值的索引条目,得到所述属性字段的索引项;根据得到的各属性字段的索引项,得到所述的一个或多个文件的索引表。
在上述方案中,所述的生成所述文件的索引表的过程,还包括:将得到的所述的一个或多个文件的索引表分别存储于一个或多个文件中。
在上述方案中,所述的根据所述索引表,完成对要查询数据的查询,具体为:在接收到用户输入的查询请求后,依次对索引表中的每个索引项进行检索,找到每个索引项中与查询请求中包含的关键字相匹配的索引条目;根据所找到索引条目,在已存储的一个或多个文件中找到与所述查询请求中的关键字相匹配的数据;在所有索引项都检索完后,将所找到的所有的包含所述字段值的数据合并,得到查询结果并返回给用户。
本发明还提供了一种数据查询装置,所述装置包括:存储单元,用于将各数据以文件的形式存储;生成单元,用于生成所述存储单元中所存储文件的索引表;查询单元,用于根据所述生成单元生成的索引表,完成对要查询数据的查询。
在上述方案中,所述装置还包括:解析单元,用于从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值。
在上述方案中,所述存储单元,具体用于:根据所述解析单元得到的各属性字段及各属性字段的字段值,将各原始数据存储为一个或多个文件。
在上述方案中,所述生成单元包括:索引条目生成模块、索引项生成模块、索引表生成模块,其中:索引条目生成模块,用于根据所述存储单元所存储文件的各字段值,生成包含所述字段值及该字段值在所述的一个或多个文件的存储位置的索引条目索引项生成模块,用于根据所述索引条目生成模块生成的各字段值的索引条目,得到所述属性字段的索引项;索引表生成模块,用于根据所述索引项生成模块得到的各属性字段的索引项,得到所述的一个或多个文件的索引表。
在上述方案中,所述存储单元还用于存储所述生成单元生成的索引表。
在上述方案中,所述查询单元包括第一查询模块、第二查询模块、合并模块,其中:第一查询模块,用于在接收到用户输入的查询请求后,依次对所述生成单元生成的和/或所述存储单元所存储的索引表中的每个索引项进行检索,找到每个索引项中与查询请求中包含的关键字相匹配的索引条目;第二查询模块,用于根据所述第一查询模块找到的索引条目,在所述存储单元所存储的一个或多个文件中找到与所述查询请求中的关键字相匹配的数据;合并模块,用于将所述第二查询模块找到的各数据合并后返回给用户。
本发明还提供了一种数据查询系统,所述系统包括控制装置和至少一个数据查询装置,其中:控制装置,用于控制所述的至少一个数据查询装置完成对要查询数据的查询,并将至少一个数据查询装置得到的查询结果返回给用户;数据查询装置,用于将各数据以文件的形式存储,生成所述文件的索引表,根据所述索引表,完成对要查询数据的查询。
本发明所提供的数据查询方法及装置、系统,将从数据载体中获取的原始数据以文件的形式存储,并根据原始数据的属性字段及其字段值生成各文件的索引表,查询时,根据查询请求中的关键字,首先查询各文件的索引表,再由所找到的索引表便可以在各文件中精确定位到要查询的数据所存储的位置,最终准确、快速的找到要查询的数据。这样,不仅解决了WEB搜索中索引查询命中率不高和数据库查询中对模糊查询无法使用索引的问题,而且可减少海量数据的无效索引,实现海量数据的快速索引和快速查询,从而有效提高数据查询的精确度和效率,并可实现百分百的命中。
附图说明
图1为本发明数据查询方法的流程示意图;
图2为将各数据以文件的形式存储过程的流程示意图;
图3为生成索引表的流程示意图;
图4为图3所示生成索引表的一种具体实例的实现流程图;
图5为本发明中文件的一种具体实例的示意图;
图6为本发明中文件的另一种具体实例的示意图;
图7为本发明中文件的另一种具体实例的示意图;
图8为图5-7所示多个文件的索引表的示意图;
图9为根据索引表查询数据过程的流程示意图;
图10为图3所示查询过程的一种具体实例的实现流程图;
图11为本发明数据查询装置的组成结构示意图;
图12为本发明数据查询系统的组成结构示意图。
具体实施方式
本发明的一种数据查询方法,参照图1所示,主要包括以下步骤:
步骤101:将各数据以文件的形式存储;
步骤102:生成所述文件的索引表;
步骤103:根据所述索引表,完成对要查询数据的查询。
其中,步骤101中将各数据以文件的形式存储,参照图2所示,具体包括以下步骤:
步骤201:从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值;
这里,数据载体包括但不限于网络数据包、数据文件、数据库表等。
具体地,对于不同的数据载体,需要根据其对应的解码方法,来解析获取的原始数据。
假设数据载体是作为一种UDP报文的NetFlow报文,通过TCP/IP协议解析其UDP包头,可以获得发送该报文的设备的IP、端口等信息,同时,解析NetFlow包中除去UDP包头外得到的有效数据,便能够获得多个IP会话的源IP、目的IP、字节数及包数等的原始数据。
数据文件的格式很多,以二进制文件的解析为例。对于如下的数据文件(字节以逗号隔开):
0xff,0xff,0xff,0xff,0x49,0xe5,0xc1,0x38,0xc0,0xa8,0x40,0x27,…,0xff,0xff,0xff,0xff,…,
该数据文件的编码格式为:以4个0xff表示一条记录的开始,其后紧跟4个字节,表示时间,再之后的4个字节表示IP。解析器根据该数据文件的编码格式将其解析后可以得到如下对应的原始数据:“0x49,0xe5,0xc1,0x38”表示时间2009年4月15日19时12分56秒,“0xc0,0xa8,0x40,0x27”表示IP为192.168.64.39。由此可知,任意格式的文件,只要知道编码方法,就可以解析获得信息。
其中,数据库载体主要是数据库表,可以通过SQL语句来获取指定的数据。
步骤202:根据所得到各属性字段及各属性字段的字段值,将各数据存储为一个或多个文件。
这里,存储时,可以将得到的各属性字段作为所述文件的各列名,将不同数据对应于各属性字段的不同字段值作为所述文件的不同的行来记录;其中,文件的格式可以为CSV格式。
例如,可以将原始数据1、原始数据2、……、原始数据M等M个原始数据存储为如下的文件,该文件的内容如下:
Column1,Column2,Column3,...,ColumnN
Value11,Value12,Value13,…,Value1N
Value21,Value22,Value23,…,Value2N
…
ValueM1,ValueM2,ValueM3,…,ValueMN
其中,Column1、Column2、……、ColumnN为所得到的原始数据1、原始数据2、……、原始数据M等M个原始数据的N个属性字段;
文件第一行的Value11、Value12、Value13、……、Value1N为原始数据1分别对应于各属性字段Column1、Column2、……、ColumnN的字段值,文件第二行的Value21、Value22、Value23、……、Value2N则为原始数据2分别对应于各属性字段Column1、Column2、……、ColumnN的字段值,……,文件的第M行则为原始数据M对应于各属性字段的字段值。
而文件第一列Value11、Value21、……、ValueM1分别为原始数据1、原始数据2、……、原始数据M对应于属性字段Column1的字段值,第二列Value12、Value22、……、ValueM2则分别为原始数据1、原始数据2、……、原始数据M对应于属性字段Column2的字段值,……,第N列则分别为原始数据1、原始数据2、……、原始数据M对应于属性字段ColumnN的字段值。
其中,步骤102中生成所述文件的索引表的过程,参照图3所示,具体包括以下步骤:
步骤301:根据所述的各字段值,生成包含所述字段值及该字段值在所述的一个或多个文件的存储位置的索引条目;
步骤302:根据所生成的各字段值的索引条目,得到所述属性字段的索引项;
步骤303:根据得到的各属性字段的索引项,得到所述的一个或多个文件的索引表。
这里,为便于查询,还可以将所得到的一个或多个文件的索引表存储于对应的一个或多个文件中,
具体地,字段值的索引条目包含字段值本身及该字段值在一个或多个文件的存储位置,表示所述字段值指向所述字段值在一个或多个文件的存储位置;一般,一个属性字段可以有一个或多个字段值,该属性字段的索引项就包含了所对应的各字段值的索引条目;同样地,一个文件中包含一个或多个属性字段,索引表则包含该文件所包含各属性字段的索引项;或者,也可以将多个文件的各属性字段的索引项包含在一个索引表。
在实际应用中,参照图4所示,本发明中生成索引表的过程可以通过如下流程实现,具体包括:
步骤401:读取当前文件中下一列的属性字段;
这里,如果首次读取,则读取当前文件第一列的属性字段。
步骤402:读取当前文件中下一行对应于所述属性字段的字段值;
这里,如果首次读取,则读取当前文件第一行中对应所述属性字段的字段值。
步骤403:生成包含所读取字段值及该字段值在当前文件中存储位置的索引条目,并将所生成的索引条目增加到所述属性字段的索引项中,完成所述属性字段索引项的更新;
这里,该字段值在文件中的存储位置可以包含该字段值存储于当前文件的行号,或者可以包含当前文件的文件名和该字段值在当前文件中对应的行号。
步骤404:验证当前行是否为当前文件的最后一行,如果否,则返回步骤402,否则继续步骤405;
步骤405:得到当前列属性字段的索引项;
步骤406:验证当前读取的列是否为当前文件的最后一列,如果是,则继续步骤407;否则返回步骤401;
步骤407:根据所得到的各属性字段的索引项,得到当前文件的索引表。
这里,还可以根据实际应用的需要,对于文件中部分不需要查询的属性字段和/或字段值,可以不生成其对应的索引项和/或索引条目。
例如,在实际应用中,将获取的原始数据存储为M个文件,这M个文件的属性字段包括源IP、目的IP、外网IP等,其中,源IP具有源IP1、源IP2、……、源IPn的N个字段值,目的IP具有目的IP1、目的IP2、……、目的IPn的N个字段值,外网IP具有外网IP1的1个字段值。
如图5所示,文件1中包含了记录10、记录11、……、记录1N等N条记录,记录10包含源IP1、目的IP1、外网IP1等一个或多个数据,记录11则包含源IP2、目的IP2、外网IP1等一个或多个数据,……,记录1N为包含源IPn、目的IP1、外网IP1等一个或多个数据。
如图6所示,文件2中包含了记录20、记录21、……、记录2N等N条记录,记录20为包含源IP2、目的IP1、外网IP1等一个或多个的数据,记录21则为包含源IP1、目的IP2、外网IP1等一个或多个的数据,……,记录2N为包含源IPn、目的IPn、外网IP1等一个或多个的数据。
如图7所示,文件M中包含了记录M0、记录M1、……、记录MN等N条记录,记录M0为包含源IP2、目的IP2、外网IP1等一个或多个数据,记录M1则为包含源IP1、目的IPn、外网IP1等一个或多个数据,……,记录MN为包含源IPn、目的IPn、外网IP1等一个或多个数据。
由上述的M个文件,可以生成如图8所示的索引表。
其中,对应于上述M个文件的各属性字段,图8所示的索引表包括了源IP的索引项、目的IP的索引项、以及外网IP的索引项。
其中,对应于源IP的各字段值,源IP的索引项中包含了源IP1、源IP2、……、源IPn的索引条目。
由于在这M个文件中,包含源IP2的记录有记录11、记录20、记录M0等,则生成的源IP2的索引条目包含源IP2本身、和包含源IP2的记录的位置11、20、M0,表示将包含源IP2的关键字指向记录11、记录20和记录M0,同理,源IP1的索引条目包含源IP1和10、M1,表示将包含源IP1部分或全部的关键字指向记录10和记录M1。这里,各记录的位置可以包含文件名称、及该记录在文件中存储的行号,例如,记录11就存储于文件1中的第1行中。
其中,对应于目的IP的各字段值,目的IP的索引项中包含了目的IP1、目的IP2、……、目的IPn的索引条目,各索引条目中均包含了对应的字段值及包含该字段值的记录的位置。
这里,还可以对上述的M个文件,分别生成对应的M个索引表。例如,对于文件1来说,对应文件1的索引表包含了对应于源IP、目的IP、外网IP等属性字段的多个索引项。
其中,由于在文件1中,对应于源IP,存在源IP1、源IP2、……、源IPn等N个对应的字段值,则源IP的索引项包含对应于源IP1、源IP2、……、源IPn等N个字段值的N索引条目。
其中,由于源IP1这个字段值只在记录11中出现,则源IP1的索引条目只包含了源IP1本身和11,表示将包含IP1部分或全部的关键字指向记录11。
这样,如果需要查询源IP的相关数据,则只要查询源IP的索引项,找到包含源IP的一条或多条记录的位置,根据找到的这些记录的位置,读取这些记录中源IP的相关数据如源IP在这些记录中的各字段值并返回,实现对要查询数据的查询。
在实际应用中,如果被索引的数据非常庞大,生成索引和查询索引的效率就会降低,且一般不同数据的更新频繁程度不一,甚至部分数据生成后便不会更新(如日志数据),因此,还可以将原始数据分割,并将分割得到的各数据分别存储为多个文件,再对各文件单独生成索引表。这样,在数据有更新时,便于只对有数据更新的部分文件更新索引表。
具体地,将原始数据进行分割时,可以按照数据的更新时间来分割,将更新时间一致的数据存储为同一文件,以便于对各文件更新索引表。
其中,更新索引表的过程可以通过上述图4所示的流程来实现。
其中,步骤103中根据所述索引表完成对要查询数据的查询过程,参照图9所示,具体可以包括以下步骤:
步骤901:在接收到用户输入的查询请求后,依次对索引表中的每个索引项进行检索,找到每个索引项中与查询请求中包含的关键字相匹配的索引条目;
这里,查询请求中的关键字可以包含一个或多个索引条目的字段值的全部字符或部分字符、和/或表示约束条件的字符,和/或包含用于匹配任意多个字符的通配符星号,和/或包含用于匹配任意一个字符的通配符问号等。
查询请求中的关键字还可以包含只表示约束条件的字符,例如关键字可以为“大于5”,则查询时会在预先指定的列中或者全部索引表中进行搜索包含大于5的字段值的索引条目。
步骤902:根据所找到的索引条目,在一个或多个文件中找到与所述查询请求中的关键字相匹配的数据;
具体地,根据所找到的索引条目,得到一个或多个文件中包含所述索引条目中字段值的各记录的位置,再根据该记录的位置,从记录中读取与所述查询请求中关键字相匹配的数据。
步骤903:在所有索引项都检索完后,将所找到的所有的包含所述字段值的数据合并,得到查询结果并返回给用户。
这里,在查询结果中,可以将查询得到的数据按匹配分值排序。一般地,查询时,查询得到的索引条目匹配度越高,则对应该索引条目的数据与要查询数据的匹配分值就越高。其中,索引条目的匹配度由索引条目的字段值与查询请求中关键字的匹配度来决定。
这里,在查询结果过多时,还可以根据匹配分值的排序结果,设定只向用户返回前N条记录,其中N为由用户指定返回的最大查询结果数量,或默认设置返回的最大查询结果数量。
具体地,参照图10所示,本发明中根据索引表完成对要查询数据的查询过程,具体可以包括以下流程:
步骤1001:接收到用户输入的查询请求;
步骤1002:读取下一个索引表;
这里,如果首次读取,则读取第一个索引表。
步骤1003:读取所述索引表中的下一个索引项;
这里,如果首次读取所述的索引表,则从所述索引表的第一个索引项开始读取。
步骤1004:读取当前索引项的下一个索引条目;
这里,如果首次读取所述的索引项,则从所述索引项的第一个索引条目开始读取。
步骤1005:验证所读取的索引条目与所述查询请求中关键字是否匹配,如果是,则继续步骤1006,否则继续步骤1007;
步骤1006:根据所读取的索引条目中记录的位置,从所述的记录中获得与所述查询请求中的关键字相匹配的数据;
步骤1007:验证当前索引条目是否为当前索引项的最后一条索引条目,如果是,则继续步骤1008,否则返回步骤1004;
步骤1008:验证当前索引项是否为当前索引表的最后一项,如果是,则继续步骤1009;否则返回步骤1003;
步骤1009:验证当前索引表是否为所有索引表中的最后一个,如果是,则继续步骤1010,否则返回步骤1002;
步骤1010:按照所述查询请求中的约束条件,合并所得到的各数据,得到查询结果,并返回给用户。
具体地,合并所得到的各记录时,可以首先将对应于同一索引项的数据按照查询请求中该索引项的约束条件合并,得到各索引项的查询结果,然后再根据查询请求中各索引项之间的约束条件,将各索引项的查询结果合并,得到最终的查询结果并返回给用户。
这里,由于读取数据较消耗资源,因此,基于实现的效率,图9所示完成对要查询数据的查询过程中,步骤902-903的过程还可以这样来实现:根据所找到的索引条目,首先得到一个或多个文件中包含所述索引条目中字段值的各记录的位置;再按照查询请求中的约束条件,将得到的各记录的位置进行合并,最后按照合并得到的位置来从对应的记录中读取该数据。
例如,用户在“IP”一栏中输入关键字“192.168.1.0 192.168.2.0”、在“端口”一栏中输入关键字“80 8080”,对应的查询请求则为“(IP=192.168.1.0 OR192.168.2.0)AND(Port=80 OR 8080)”,表示要查询IP为192.168.1.0或192.168.2.0、且端口为80或8080的数据。
查询时,分别查询索引表中的“IP”索引项和“端口”索引项,在“IP”的索引项中找到包含192.168.1.0的索引条目和包含192.168.2.0的索引条目,再根据找到的这两条“IP”的索引条目,找到分别包含有192.168.1.0、192.168.2.0、的记录的位置;同理,在“端口”的索引项中找到包含80的索引条目和包含8080的索引条目,再由找到的“端口”的索引条目,找到分别包含80、8080的记录的位置;最后,由查询条件中的“AND”约束条件,取上述两个“记录的位置”的交集,从对应的记录中读取数据,返回给用户。
本发明的一种数据查询装置,参照图11所示,所述装置主要包括存储单元111、生成单元112和查询单元113,其中:
存储单元111,用于将各数据以文件的形式存储;
生成单元112,用于生成所述存储单元111中所存储文件的索引表;
查询单元113,用于根据所述生成单元112生成的索引表,完成对要查询数据的查询。
其中,所述装置还可以包括:解析单元114,用于从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值。
这里,所述存储单元111,具体用于:根据所述解析单元114得到的各属性字段及各属性字段的字段值,将各原始数据存储为一个或多个文件。
其中,所述生成单元112可以包括索引条目生成模块1121、索引项生成模块1122、索引表生成模块1123,其中:
索引条目生成模块1121,用于根据所述存储单元111所存储文件的各字段值,生成包含所述字段值及该字段值在所述的一个或多个文件的存储位置的索引条目;
索引项生成模块1122,用于根据所述索引条目生成模块1121生成的各字段值的索引条目,得到所述属性字段的索引项;
索引表生成模块1123,用于根据所述索引项生成模块1122得到的各属性字段的索引项,得到所述的一个或多个文件的索引表。
其中,所述存储单元111还用于存储所述生成单元112生成的索引表。
其中,所述查询单元113可以包括第一查询模块1131、第二查询模块1132、合并模块1133,其中:
第一查询模块1131,用于在接收到用户输入的查询请求后,依次对所述生成单元112生成的和/或所述存储单元113所存储的索引表中的每个索引项进行检索,找到每个索引项中与查询请求中包含的关键字相匹配的索引条目;
第二查询模块1132,用于根据所述第一查询模块找到的索引条目,在所述存储单元112所存储的一个或多个文件中找到与所述查询请求中的关键字相匹配的数据;
合并模块1133,用于将所述第二查询模块1132找到的各数据合并后返回给用户。
具体地,由上述的数据查询装置实现数据查询的具体过程已在上文详述,在此不再赘述。
本发明还提供了一种数据查询系统,如图12所示,主要包括:控制装置121和至少一个上述的数据查询装置122,其中:
控制装置121,用于控制至少一个数据查询装置完成对要查询数据的查询,并将至少一个数据查询装置得到的查询结果返回给用户;
数据查询装置122,用于将各数据以文件的形式存储,生成所述文件的索引表;根据所述索引表,完成对要查询数据的查询。
具体地,每个数据查询装置独立获取并解析原始数据、将数据存储为文件、并生成各文件的索引表,控制装置用于控制各数据查询装置。查询时,控制装置控制各个数据查询装置的查询过程,并将各个数据查询装置得到的查询结果合并返回给用户。这里,可以根据实际应用需要,来确定数据查询系统中包含的数据查询装置的数量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种数据查询方法,其特征在于,所述方法包括:
将各数据以文件的形式存储;
生成所述文件的索引表;
根据所述索引表,完成对要查询数据的查询。
2.根据权利要求1所述的数据查询方法,其特征在于,所述的将各数据以文件的形式存储的过程,包括:
从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值;
根据所得到各属性字段及各属性字段的字段值,将各原始数据存储为一个或多个文件。
3.根据权利要求2所述的数据查询方法,其特征在于,所述的从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值,还包括:
在解析得到原始数据后,将原始数据分割为多个数据,分别得到所述的多个数据的属性字段及各属性字段的字段值。
4.根据权利要求2所述的数据查询方法,其特征在于,所述的生成所述文件的索引表的过程,包括:
根据所述的各字段值,生成包含所述字段值及该字段值在所述的一个或多个文件的存储位置的索引条目;
根据所生成的各字段值的索引条目,得到所述属性字段的索引项;
根据得到的各属性字段的索引项,得到所述的一个或多个文件的索引表。
5.根据权利要求4所述的数据查询方法,其特征在于,所述的生成所述文件的索引表的过程,还包括:
将得到的所述的一个或多个文件的索引表分别存储于一个或多个文件中。
6.根据权利要求4或5所述的数据查询方法,其特征在于,所述的根据所述索引表,完成对要查询数据的查询,具体为:
在接收到用户输入的查询请求后,依次对索引表中的每个索引项进行检索,找到每个索引项中与查询请求中包含的关键字相匹配的索引条目;
根据所找到索引条目,在已存储的一个或多个文件中找到与所述查询请求中的关键字相匹配的数据;
在所有索引项都检索完后,将所找到的所有的包含所述字段值的数据合并,得到查询结果并返回给用户。
7.一种数据查询装置,其特征在于,所述装置包括:
存储单元,用于将各数据以文件的形式存储;
生成单元,用于生成所述存储单元中所存储文件的索引表;
查询单元,用于根据所述生成单元生成的索引表,完成对要查询数据的查询。
8.根据权利要求7所述的数据查询装置,其特征在于,所述装置还包括:
解析单元,用于从数据载体中解析得到原始数据,并得到各原始数据的属性字段及各属性字段的字段值。
9.根据权利要求8所述的数据查询装置,其特征在于,所述存储单元,具体用于:
根据所述解析单元得到的各属性字段及各属性字段的字段值,将各原始数据存储为一个或多个文件。
10.根据权利要求7、或8、或9所述的数据查询装置,其特征在于,所述生成单元包括:索引条目生成模块、索引项生成模块、索引表生成模块,其中:
索引条目生成模块,用于根据所述存储单元所存储文件的各字段值,生成包含所述字段值及该字段值在所述的一个或多个文件的存储位置的索引条目
索引项生成模块,用于根据所述索引条目生成模块生成的各字段值的索引条目,得到所述属性字段的索引项;
索引表生成模块,用于根据所述索引项生成模块得到的各属性字段的索引项,得到所述的一个或多个文件的索引表。
11.根据权利要求10所述的数据查询装置,其特征在于,所述存储单元还用于存储所述生成单元生成的索引表。
12.根据权利要求10所述的数据查询装置,其特征在于,所述查询单元包括第一查询模块、第二查询模块、合并模块,其中:
第一查询模块,用于在接收到用户输入的查询请求后,依次对所述生成单元生成的和/或所述存储单元所存储的索引表中的每个索引项进行检索,找到每个索引项中与查询请求中包含的关键字相匹配的索引条目;
第二查询模块,用于根据所述第一查询模块找到的索引条目,在所述存储单元所存储的一个或多个文件中找到与所述查询请求中的关键字相匹配的数据;
合并模块,用于将所述第二查询模块找到的各数据合并后返回给用户。
13.一种数据查询系统,其特征在于,所述系统包括控制装置和至少一个数据查询装置,其中:
控制装置,用于控制所述的至少一个数据查询装置完成对要查询数据的查询,并将至少一个数据查询装置得到的查询结果返回给用户;
数据查询装置,用于将各数据以文件的形式存储,生成所述文件的索引表,根据所述索引表,完成对要查询数据的查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010102826A CN101727502A (zh) | 2010-01-25 | 2010-01-25 | 一种数据查询方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010102826A CN101727502A (zh) | 2010-01-25 | 2010-01-25 | 一种数据查询方法及装置、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101727502A true CN101727502A (zh) | 2010-06-09 |
Family
ID=42448388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010102826A Pending CN101727502A (zh) | 2010-01-25 | 2010-01-25 | 一种数据查询方法及装置、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101727502A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963977A (zh) * | 2010-09-19 | 2011-02-02 | 北京腾瑞万里科技有限公司 | 无城市搜索方法及移动终端 |
CN102323923A (zh) * | 2011-05-18 | 2012-01-18 | 北京百纳威尔科技有限公司 | 历史记录处理方法及设备 |
CN102360359A (zh) * | 2011-09-29 | 2012-02-22 | 用友软件股份有限公司 | 数据管理装置和数据管理方法 |
CN102693293A (zh) * | 2012-05-15 | 2012-09-26 | 清华大学 | 一种多变量时空数据的范围查询方法及系统 |
CN103150365A (zh) * | 2013-03-05 | 2013-06-12 | 交通银行股份有限公司 | 银行后台系统模糊搜索的方法及设备 |
CN103838817A (zh) * | 2012-11-26 | 2014-06-04 | 埃森哲环球服务有限公司 | 数据一致性管理 |
CN104317924A (zh) * | 2014-10-30 | 2015-01-28 | 中国银行股份有限公司 | 同城票据交换中的数据查询方法和装置 |
CN105389314A (zh) * | 2014-09-04 | 2016-03-09 | 中芯国际集成电路制造(上海)有限公司 | 一种日志文件查询系统及查询方法 |
CN105630847A (zh) * | 2014-11-21 | 2016-06-01 | 深圳市腾讯计算机系统有限公司 | 数据存储方法、数据查询方法、装置及系统 |
CN106250409A (zh) * | 2016-07-21 | 2016-12-21 | 中国农业银行股份有限公司 | 数据查询方法及装置 |
CN107515882A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN108241723A (zh) * | 2016-12-23 | 2018-07-03 | 天津市勘察院 | 一种应用导向的企业数据资源聚合方法 |
CN108388632A (zh) * | 2011-11-15 | 2018-08-10 | 起元科技有限公司 | 数据分群、分段、以及并行化 |
CN108846123A (zh) * | 2018-06-28 | 2018-11-20 | 中国建设银行股份有限公司 | 任务管理方法、装置及电子设备 |
CN109408499A (zh) * | 2018-10-22 | 2019-03-01 | 福建星瑞格软件有限公司 | 一种匹配数据库访问用户的审计方法及系统 |
CN109947759A (zh) * | 2017-07-17 | 2019-06-28 | 中国移动通信集团吉林有限公司 | 一种数据索引建立方法、索引检索方法及装置 |
CN110019985A (zh) * | 2017-12-29 | 2019-07-16 | 上海全土豆文化传播有限公司 | 索引文件的建立、查询方法及装置 |
CN110489653A (zh) * | 2019-08-23 | 2019-11-22 | 北京金堤科技有限公司 | 舆情信息查询方法和装置、系统、电子设备、存储介质 |
CN110674369A (zh) * | 2019-09-23 | 2020-01-10 | 杭州迪普科技股份有限公司 | 一种数据查询方法及装置 |
CN111506559A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1464436A (zh) * | 2002-06-26 | 2003-12-31 | 联想(北京)有限公司 | 嵌入式系统的数据存放及其查找组合方法 |
CN1996286A (zh) * | 2006-01-06 | 2007-07-11 | 英华达(上海)电子有限公司 | 手持设备上电子辞典中存储和快速查找语音信息的方法 |
CN101183385A (zh) * | 2007-12-04 | 2008-05-21 | 西安交通大学 | 一种基于多模态索引结构的xml查询方法 |
-
2010
- 2010-01-25 CN CN201010102826A patent/CN101727502A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1464436A (zh) * | 2002-06-26 | 2003-12-31 | 联想(北京)有限公司 | 嵌入式系统的数据存放及其查找组合方法 |
CN1996286A (zh) * | 2006-01-06 | 2007-07-11 | 英华达(上海)电子有限公司 | 手持设备上电子辞典中存储和快速查找语音信息的方法 |
CN101183385A (zh) * | 2007-12-04 | 2008-05-21 | 西安交通大学 | 一种基于多模态索引结构的xml查询方法 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963977A (zh) * | 2010-09-19 | 2011-02-02 | 北京腾瑞万里科技有限公司 | 无城市搜索方法及移动终端 |
CN102323923A (zh) * | 2011-05-18 | 2012-01-18 | 北京百纳威尔科技有限公司 | 历史记录处理方法及设备 |
CN102360359A (zh) * | 2011-09-29 | 2012-02-22 | 用友软件股份有限公司 | 数据管理装置和数据管理方法 |
CN108388632B (zh) * | 2011-11-15 | 2021-11-19 | 起元科技有限公司 | 数据分群、分段、以及并行化 |
CN108388632A (zh) * | 2011-11-15 | 2018-08-10 | 起元科技有限公司 | 数据分群、分段、以及并行化 |
CN102693293A (zh) * | 2012-05-15 | 2012-09-26 | 清华大学 | 一种多变量时空数据的范围查询方法及系统 |
CN102693293B (zh) * | 2012-05-15 | 2014-10-22 | 清华大学 | 一种多变量时空数据的范围查询方法及系统 |
CN103838817A (zh) * | 2012-11-26 | 2014-06-04 | 埃森哲环球服务有限公司 | 数据一致性管理 |
US9727600B2 (en) | 2012-11-26 | 2017-08-08 | Accenture Global Services Limited | Data consistency management |
CN103838817B (zh) * | 2012-11-26 | 2017-03-22 | 埃森哲环球服务有限公司 | 数据一致性管理 |
CN103150365A (zh) * | 2013-03-05 | 2013-06-12 | 交通银行股份有限公司 | 银行后台系统模糊搜索的方法及设备 |
CN103150365B (zh) * | 2013-03-05 | 2016-12-07 | 交通银行股份有限公司 | 银行后台系统模糊搜索的方法及设备 |
CN105389314A (zh) * | 2014-09-04 | 2016-03-09 | 中芯国际集成电路制造(上海)有限公司 | 一种日志文件查询系统及查询方法 |
CN104317924A (zh) * | 2014-10-30 | 2015-01-28 | 中国银行股份有限公司 | 同城票据交换中的数据查询方法和装置 |
CN105630847A (zh) * | 2014-11-21 | 2016-06-01 | 深圳市腾讯计算机系统有限公司 | 数据存储方法、数据查询方法、装置及系统 |
CN105630847B (zh) * | 2014-11-21 | 2019-06-07 | 深圳市腾讯计算机系统有限公司 | 数据存储方法、数据查询方法、装置及系统 |
CN107515882A (zh) * | 2016-06-17 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN107515882B (zh) * | 2016-06-17 | 2020-12-25 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置 |
CN106250409A (zh) * | 2016-07-21 | 2016-12-21 | 中国农业银行股份有限公司 | 数据查询方法及装置 |
CN108241723A (zh) * | 2016-12-23 | 2018-07-03 | 天津市勘察院 | 一种应用导向的企业数据资源聚合方法 |
CN109947759A (zh) * | 2017-07-17 | 2019-06-28 | 中国移动通信集团吉林有限公司 | 一种数据索引建立方法、索引检索方法及装置 |
CN110019985A (zh) * | 2017-12-29 | 2019-07-16 | 上海全土豆文化传播有限公司 | 索引文件的建立、查询方法及装置 |
CN110019985B (zh) * | 2017-12-29 | 2021-09-24 | 阿里巴巴(中国)有限公司 | 索引文件的建立、查询方法及装置 |
CN108846123A (zh) * | 2018-06-28 | 2018-11-20 | 中国建设银行股份有限公司 | 任务管理方法、装置及电子设备 |
CN109408499A (zh) * | 2018-10-22 | 2019-03-01 | 福建星瑞格软件有限公司 | 一种匹配数据库访问用户的审计方法及系统 |
CN110489653A (zh) * | 2019-08-23 | 2019-11-22 | 北京金堤科技有限公司 | 舆情信息查询方法和装置、系统、电子设备、存储介质 |
CN110674369A (zh) * | 2019-09-23 | 2020-01-10 | 杭州迪普科技股份有限公司 | 一种数据查询方法及装置 |
CN111506559A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111506559B (zh) * | 2020-04-21 | 2024-04-05 | 北京同邦卓益科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727502A (zh) | 一种数据查询方法及装置、系统 | |
CN102164186B (zh) | 一种实现云搜索服务的方法及系统 | |
JP5152877B2 (ja) | 文書ベースシステムにおける文書データ記憶方法およびその装置 | |
US20100114843A1 (en) | Index Compression In Databases | |
CN108932236A (zh) | 一种文件管理方法、过期文件删除方法及装置 | |
CN103002061B (zh) | 一种长域名与短域名互相转化的方法及装置 | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN102332030A (zh) | 用于分布式键-值存储系统的数据存储、管理和查询方法及系统 | |
US20110099174A1 (en) | Data Recovery System and Method In A Resource Description Framework Environment | |
CN102467521A (zh) | 一种易扩展的多级分类检索方法及系统 | |
CN102184211A (zh) | 文件系统和检索、写入、修改或删除文件的方法与装置 | |
CN103488704A (zh) | 一种数据存储方法及装置 | |
CN102999600A (zh) | 一种嵌入式数据库自动生成方法和系统 | |
CN104035993A (zh) | 电子书的存储检索方法、电子书管理系统、阅读系统 | |
CN102710795A (zh) | 热点聚合方法及装置 | |
CN100565508C (zh) | 结构化文档管理设备、搜索设备、存储和搜索方法 | |
CN100561482C (zh) | 一种嵌入式系统数据库的实现方法 | |
CN113568995A (zh) | 基于检索条件的动态瓦片地图制作方法及瓦片地图系统 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN102110109A (zh) | 一种数字报专题的制作方法及系统 | |
CN102831224A (zh) | 一种数据索引库的建立方法、搜索建议生成方法和装置 | |
KR100671077B1 (ko) | 페이지 묶음을 이용한 정보 검색 서비스 제공 서버, 방법및 시스템 | |
CN102346765A (zh) | 一种查询内存数据的方法及装置 | |
CN101393551B (zh) | 专利全文检索的索引建立系统及方法 | |
CN110825747A (zh) | 一种信息存取方法、装置和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100609 |