CN102831174B - 结构化信息快速检索方法及系统 - Google Patents
结构化信息快速检索方法及系统 Download PDFInfo
- Publication number
- CN102831174B CN102831174B CN201210265923.0A CN201210265923A CN102831174B CN 102831174 B CN102831174 B CN 102831174B CN 201210265923 A CN201210265923 A CN 201210265923A CN 102831174 B CN102831174 B CN 102831174B
- Authority
- CN
- China
- Prior art keywords
- index
- file
- user
- structured message
- data
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种结构化信息快速检索方法,先对结构化信息的数据源进行预处理,采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;数据分析:对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;建立索引并入库;用户输入查询条件;解析:对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;利用索引表示单元项进行索引;将索引的结果集返回给用户。本发明通过建立颗粒度较小的索引文件,再合并为大索引文件;通过分级建立索引之后进行存储,能极大提高检索的效率。
Description
【技术领域】
本发明涉及一种快速检索方法及系统。
【背景技术】
结构化信息是信息格式固定,可以存储在数据库中,可用二维表逻辑来表达的信息。常见的结构化信息的检索包括数据库检索方式以及类似GOOGLE和百度的搜索引擎技术。数据库检索虽然能够准确地查询出我们需要的信息;但随着数据量的激增,在高效性上遇到了瓶颈,响应速度慢,经常无响应。而搜索引擎获取的信息是及时高效的,但准确性不高。信息量越大,用搜索引擎查找信息在准确性上也随之降低了。安全事件属于结构化信息中的一种,目前没有一种准确高效的检索方法。
【发明内容】
本发明要解决的技术问题之一,在于提供一种结构化信息快速检索方法,采用分片再合并的方式处理数据,可以大为提高检索的效率及准确性。
本发明要解决的技术问题之二,在于提供一种结构化信息快速检索系统,采用分片再合并的方式处理数据,可以大为提高检索的效率及准确性。
本发明要解决的技术问题之一是这样实现的:一种结构化信息快速检索方法,包括如下步骤:
步骤10、预处理:先对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;
步骤20、数据分析:对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;
步骤30、建立索引并入库:所述大索引文件的数据经分析后分级建立索引,再按顺序进行存储;
步骤40、查询:用户输入查询条件;
步骤50、解析:对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;
步骤60、索引:利用步骤50所得的索引表示单元项进行索引;
步骤70、返回结果:将索引的结果集返回给用户。
进一步的,所述步骤20中的对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。
进一步的,步骤30中,建立索引时先判断结构化信息的类型和发生时间,分级建立索引,存储时按所述发生时间进行倒排索引进行存储。
本发明要解决的技术问题之二是这样实现的:一种结构化信息快速检索系统,包括:
预处理模块:用于对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;
数据分析模块:用于对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;也用于对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;
建立索引模块:用于在大索引文件的数据经分析后分级建立索引;
索引库:用于按顺序存储建立好的索引的数据;
查询模块:供用户输入查询条件;
索引模块:利用数据分析模块对用户输入的查询条件进行解析所得的索引表示单元项在所述索引库中进行索引;
返回结果模块:将索引的结果集返回给用户。
进一步的,所述数据分析模块在对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。
进一步的,所述建立索引模块是建立索引时先判断结构化信息的类型和发生时间,分级建立索引;所述索引库存储时按所述结构化信息的发生时间进行倒排索引进行存储。
本发明具有如下优点:
本发明一方面通过预先建立颗粒度较小的索引文件,然后对这些小索引文件进行合并为大索引文件;另一方面通过分级建立索引之后进行存储,能极大提高检索的效率,与从数据库中检索提高1~2个数量级并且不会随着安全事件等结构化信息数量级的增加而急剧降低。
本发明对生成的索引文件通过字符流单元化,将大索引文件的域转换为最基本的索引表示单元项;在查询时,对用户输入的信息以同样的方式进行转换,使查询信息能够精确匹配到索引文件中的信息,以此来保证检索时的准确性和高效性。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明系统架构示意图。
【具体实施方式】
如图1所示,本发明的结构化信息快速检索方法,包括如下步骤:
步骤10、预处理:先对结构化信息的数据源进行预处理,并生成索引文件;所述数据源是需要被解析的结构化信息的数据结构,为分析器模块提供访问协议,分析器通过该协议得到索引文件的内容。所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成prx和fdx等小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中,以此来减少系统资源的开销。
现有技术中的大多搜索引擎是采用B树结构来维护索引,索引的更新会导致大量的IO操作。而本发明创建索引过程中不是维护一个索引文件,而是在扩展索引的时候不断创建新的索引文件,然后定量定期的把这些新的小索引文件合并到原先的大索引中(针对不同的策略,批次的大小可以调整),这样在不影响检索的效率的前提下,提高了索引的效率。
步骤20、数据分析:对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。
步骤30、建立索引并入库:所述大索引文件的数据经分析后分级建立索引,再按顺序进行存储;建立索引时先判断结构化信息的类型和发生时间,分级建立索引,存储时按所述发生时间进行倒排索引进行存储。这样,用户在检索时,能够过滤掉不在检索范围内的数据,并能快速定位到需要查询数据的范围,以缩小检索范围,提高响应速度。
步骤40、查询:用户输入查询条件。
步骤50、解析:对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项。
步骤60、索引:利用步骤50所得的索引表示单元项进行索引。
步骤70、返回结果:将索引的结果集返回给用户。
如图2所示,本发明还提供一结构化信息快速检索系统,该快速检索系统其是面向对象的,耦合度低,效率高,其包括:
预处理模块1:用于对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中。
数据分析模块2:用于对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;也用于对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;所述数据分析模块在对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。数据分析模块2为搜索和索引提供了相同的解析过程。在建立索引过程中,需要对被索引的文件进行分析;同样对于搜索过程而言,输入的查询条件也需要通过解析。只有通过相同的解析过程,用户的查询信息才能从索引文件中解析出相匹配的信息,这样才能返回给用户正确的结果。
建立索引模块3:用于在大索引文件的数据经分析后分级建立索引;所述建立索引模块是建立索引时先判断结构化信息的类型和发生时间,分级建立索引;所述索引库存储时按所述结构化信息的发生时间进行倒排索引进行存储。
索引库4:用于按顺序存储建立好的索引的数据;索引库提供保存索引的空间,用户需要通过索引库检索相关信息。
查询模块5:供用户输入查询条件;该模块是用户与索引文件交互的一个窗口。
索引模块6:利用数据分析模块对用户输入的查询条件进行解析所得的索引表示单元项在所述索引库中进行索引。
返回结果模块7:将索引的结果集返回给用户。
综上所述,本发明一方面通过预先建立颗粒度较小的索引文件,然后对这些小索引文件进行合并为大索引文件;另一方面通过分级建立索引之后进行存储,能极大提高检索的效率,与从数据库中检索提高1~2个数量级并且不会随着安全事件数量级的增加而急剧降低。在第三方的测试中,在数据量达到500万规模时,系统的响应速度在0.5~2秒之间。而在数据量为2000多万规模下,系统检索响应速度仍维持在2秒左右;系统支持检索条件的任意组合以及关键字检索。与之相比,传统数据库方式检索的响应速度缓慢,在500万数量级的查询中通常需要10~20秒时间。其次在准确性上,通过对海量数据建立索引,在检索安全事件的时候,对索引文件进行遍历,从而达到准确检索安全事件的目的。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (4)
1.一种结构化信息快速检索方法,其特征在于:包括如下步骤:
步骤10、预处理:先对结构化信息的数据源进行预处理,并生成索引文件;
所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;
步骤20、数据分析:对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;所述对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化;
步骤30、建立索引并入库:所述大索引文件的数据经分析后分级建立索引,再按顺序进行存储;
步骤40、查询:用户输入查询条件;
步骤50、解析:对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;
步骤60、索引:利用步骤50所得的索引表示单元项进行索引;
步骤70、返回结果:将索引的结果集返回给用户。
2.根据权利要求1所述的结构化信息快速检索方法,其特征在于:所述步骤30中,建立索引时先判断结构化信息的类型和发生时间,分级建立索引,存储时按所述发生时间进行倒排索引进行存储。
3.一种结构化信息快速检索系统,其特征在于:包括:
预处理模块:用于对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;
数据分析模块:用于对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;也用于对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;所述数据分析模块在对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化;
建立索引模块:用于在大索引文件的数据经分析后分级建立索引;
索引库:用于按顺序存储建立好的索引的数据;
查询模块:供用户输入查询条件;
索引模块:利用数据分析模块对用户输入的查询条件进行解析所得的索引表示单元项在所述索引库中进行索引;
返回结果模块:将索引的结果集返回给用户。
4.根据权利要求3所述的结构化信息快速检索系统,其特征在于:所述建立索引模块是建立索引时先判断结构化信息的类型和发生时间,分级建立索引;所述索引库存储时按所述结构化信息的发生时间进行倒排索引进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210265923.0A CN102831174B (zh) | 2012-07-27 | 2012-07-27 | 结构化信息快速检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210265923.0A CN102831174B (zh) | 2012-07-27 | 2012-07-27 | 结构化信息快速检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831174A CN102831174A (zh) | 2012-12-19 |
CN102831174B true CN102831174B (zh) | 2015-06-17 |
Family
ID=47334311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210265923.0A Active CN102831174B (zh) | 2012-07-27 | 2012-07-27 | 结构化信息快速检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831174B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488124A (zh) * | 2015-11-24 | 2016-04-13 | 浪潮(北京)电子信息产业有限公司 | 一种创建索引文件的方法及装置 |
CN108170789A (zh) * | 2017-12-27 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种基于分布式文件系统的分级存储方法以及相关装置 |
CN110275983B (zh) * | 2019-06-05 | 2022-11-22 | 青岛海信网络科技股份有限公司 | 交通监控数据的检索方法及装置 |
CN116186078A (zh) * | 2023-03-15 | 2023-05-30 | 中国华能集团有限公司北京招标分公司 | 一种数据检索方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858737A (zh) * | 2006-01-25 | 2006-11-08 | 华为技术有限公司 | 一种数据搜索的方法和系统 |
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
CN101989301A (zh) * | 2010-10-22 | 2011-03-23 | 复旦大学 | 一种支持多数据源的索引维护方法 |
-
2012
- 2012-07-27 CN CN201210265923.0A patent/CN102831174B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
CN1858737A (zh) * | 2006-01-25 | 2006-11-08 | 华为技术有限公司 | 一种数据搜索的方法和系统 |
CN101989301A (zh) * | 2010-10-22 | 2011-03-23 | 复旦大学 | 一种支持多数据源的索引维护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102831174A (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899314B (zh) | 一种数据仓库的血统分析方法和装置 | |
CN106682147A (zh) | 一种基于海量数据的查询方法及装置 | |
US8086593B2 (en) | Dynamic filters for relational query processing | |
US8560531B2 (en) | Search tool that utilizes scientific metadata matched against user-entered parameters | |
Prakash et al. | Geo-identification of web users through logs using ELK stack | |
CN106055676B (zh) | 一种基于大数据模型分析平台的数据溯源方法及系统 | |
CN111967761B (zh) | 一种基于知识图谱的监控预警方法、装置及电子设备 | |
CN103778185A (zh) | 一种用于数据库审计系统的sql语句解析方法和系统 | |
CN102831174B (zh) | 结构化信息快速检索方法及系统 | |
CN110851461A (zh) | 非关系型数据库的审计方法、装置和存储介质 | |
CN112000773A (zh) | 基于搜索引擎技术的数据关联关系挖掘方法及应用 | |
WO2013127951A1 (en) | Method for discovering relevant concepts in a semantic graph of concepts | |
KR101544560B1 (ko) | 대용량 데이터를 처리하기 위하여 sql 파싱에 의한 2단계 쿼리 및 결과 캐싱을 이용한 온라인 분석 프로세싱 방법 | |
CN102819600B (zh) | 面向电力生产管理系统关系数据库的关键词搜索方法 | |
CN109684402A (zh) | 一种基于大数据平台元数据血缘关系实现方法 | |
CN102508901A (zh) | 基于内容的海量图像检索方法和系统 | |
CN103440249A (zh) | 一种非结构化数据快速检索的系统及方法 | |
Hassanzadeh et al. | Helix: Online enterprise data analytics | |
Gagliardelli et al. | Bigdedup: a big data integration toolkit for duplicate detection in industrial scenarios | |
CN107729428A (zh) | 一种基于Presto和Elasticsearch的SQL查询方法 | |
CN112634004B (zh) | 征信数据的血缘图谱分析方法与系统 | |
Dinari | A survey on graph queries processing: techniques and methods | |
CN103605744A (zh) | 网站搜索引擎流量数据的分析方法及装置 | |
KR102345410B1 (ko) | 빅데이터 지능형 수집 방법 및 장치 | |
CN104834976A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350000 No. 22 water head road Doumen, Jinan District, Fuzhou, Fujian Patentee after: China Electric fufu Mdt InfoTech Ltd Address before: 350000 No. 22 water head road Doumen, Jinan District, Fuzhou, Fujian Patentee before: Fujian Fushitong Information Software Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |