结构化信息快速检索方法及系统的制作方法

文档序号:6374131阅读:213来源:国知局
专利名称:结构化信息快速检索方法及系统的制作方法
结构化信息快速检索方法及系统
技术领域
本发明涉及一种快速检索方法及系统。
背景技术
结构化信息是信息格式固定,可以存储在数据库中,可用二维表逻辑来表达的信息。常见的结构化信息的检索包括数据库检索方式以及类似GOOGLE和百度的搜索引擎技术。数据库检索虽然能够准确地查询出我们需要的信息;但随着数据量的激增,在高效性上遇到了瓶颈,响应速度慢,经常无响应。而搜索引擎获取的信息是及时高效的,但准确性不高。信息量越大,用搜索引擎查找信息在准确性上也随之降低了。安全事件属于结构化信息中的一种,目前没有一种准确高效的检索方法。

发明内容本发明要解决的技术问题之一,在于提供一种结构化信息快速检索方法,采用分片再合并的方式处理数据,可以大为提高检索的效率及准确性。本发明要解决的技术问题之二,在于提供一种结构化信息快速检索系统,采用分片再合并的方式处理数据,可以大为提高检索的效率及准确性。本发明要解决的技术问题之一是这样实现的一种结构化信息快速检索方法,包括如下步骤步骤10、预处理先对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;步骤20、数据分析对所述大索引文件的域转换为最基本的索引表示单元项,这 些索引表示单元项是用于决定匹配查询条件的信息;步骤30、建立索引并入库所述大索引文件的数据经分析后分级建立索引,再按顺序进行存储;步骤40、查询用户输入查询条件;步骤50、解析对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;步骤60、索引利用步骤50所得的索引表示单元项进行索引;步骤70、返回结果将索引的结果集返回给用户。进一步的,所述步骤20中的对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。进一步的,步骤30中,建立索引时先判断结构化信息的类型和发生时间,分级建立索引,存储时按所述发生时间进行倒排索引进行存储。本发明要解决的技术问题之二是这样实现的一种结构化信息快速检索系统,包括预处理模块用于对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;数据分析模块用于对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;也用于对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;建立索引模块用于在大索引文件的数据经分析后分级建立索引; 索引库用于按顺序存储建立好的索引的数据;查询模块供用户输入查询条件;索引模块利用数据分析模块对用户输入的查询条件进行解析所得的索引表示单元项在所述索引库中进行索引;返回结果模块将索引的结果集返回给用户。进一步的,所述数据分析模块在对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。进一步的,所述建立索引模块是建立索引时先判断结构化信息的类型和发生时间,分级建立索引;所述索引库存储时按所述结构化信息的发生时间进行倒排索引进行存储。本发明具有如下优点本发明一方面通过预先建立颗粒度较小的索引文件,然后对这些小索引文件进行合并为大索引文件;另一方面通过分级建立索引之后进行存储,能极大提高检索的效率,与从数据库中检索提高广2个数量级并且不会随着安全事件等结构化信息数量级的增加而急剧降低。本发明对生成的索引文件通过字符流单元化,将大索引文件的域转换为最基本的索引表示单元项;在查询时,对用户输入的信息以同样的方式进行转换,使查询信息能够精确匹配到索引文件中的信息,以此来保证检索时的准确性和高效性。

下面参照附图结合实施例对本发明作进一步的说明。图I为本发明方法执行流程图。图2为本发明系统架构示意图。
具体实施方式如图I所示,本发明的结构化信息快速检索方法,包括如下步骤
步骤10、预处理先对结构化信息的数据源进行预处理,并生成索引文件;所述数据源是需要被解析的结构化信息的数据结构,为分析器模块提供访问协议,分析器通过该协议得到索引文件的内容。所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成Prx和fdx等小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中,以此来减少系统资源的开销。现有技术中的大多搜索引擎是采用B树结构来维护索引,索引的更新会导致大量的IO操作。而本发明创建索引过程中不是维护一个索引文件,而是在扩展索引的时候不断创建新的索引文件,然后定量定期的把这些新的小索引文件合并到原先的大索引中(针对不同的策略,批次的大小可以调整),这样在不影响检索的效率的前提下,提高了索引的效率。步骤20、数据分析对所述大索引文件的域转换为最基本的索引表示单元项,这 些索引表示单元项是用于决定匹配查询条件的信息;所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。步骤30、建立索引并入库所述大索引文件的数据经分析后分级建立索引,再按顺序进行存储;建立索引时先判断结构化信息的类型和发生时间,分级建立索引,存储时按所述发生时间进行倒排索引进行存储。这样,用户在检索时,能够过滤掉不在检索范围内的数据,并能快速定位到需要查询数据的范围,以缩小检索范围,提高响应速度。步骤40、查询用户输入查询条件。步骤50、解析对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索弓I表示单元项。步骤60、索引利用步骤50所得的索引表示单元项进行索引。步骤70、返回结果将索引的结果集返回给用户。如图2所示,本发明还提供一结构化信息快速检索系统,该快速检索系统其是面向对象的,耦合度低,效率高,其包括预处理模块I :用于对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中。数据分析模块2 :用于对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;也用于对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;所述数据分析模块在对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。数据分析模块2为搜索和索引提供了相同的解析过程。在建立索引过程中,需要对被索引的文件进行分析;同样对于搜索过程而言,输入的查询条件也需要通过解析。只有通过相同的解析过程,用户的查询信息才能从索引文件中解析出相匹配的信息,这样才能返回给用户正确的结果。建立索引模块3 :用于在大索引文件的数据经分析后分级建立索引;所述建立索引模块是建立索引时先判断结构化信息的类型和发生时间,分级建立索引;所述索引库存储时按所述结构化信息的发生时间进行倒排索引进行存储。索引库4 :用于按顺序存储建立好的索引的数据;索引库提供保存索引的空间,用户需要通过索引库检索相关信息。查询模块5 :供用户输入查询条件;该模块是用户与索引文件交互的一个窗口。索引模块6 :利用数据分析模块对用户输入的查询条件进行解析所得的索引表示单元项在所述索引库中进行索引。返回结果模块7 :将索引的结果集返回给用户。 综上所述,本发明一方面通过预先建立颗粒度较小的索引文件,然后对这些小索引文件进行合并为大索引文件;另一方面通过分级建立索引之后进行存储,能极大提高检索的效率,与从数据库中检索提高广2个数量级并且不会随着安全事件数量级的增加而急剧降低。在第三方的测试中,在数据量达到500万规模时,系统的响应速度在O. 5 2秒之间。而在数据量为2000多万规模下,系统检索响应速度仍维持在2秒左右;系统支持检索条件的任意组合以及关键字检索。与之相比,传统数据库方式检索的响应速度缓慢,在500万数量级的查询中通常需要1(Γ20秒时间。其次在准确性上,通过对海量数据建立索引,在检索安全事件的时候,对索引文件进行遍历,从而达到准确检索安全事件的目的。虽然以上描述了本发明的具体实施方式
,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
权利要求
1.一种结构化信息快速检索方法,其特征在于包括如下步骤 步骤10、预处理先对结构化信息的数据源进行预处理,并生成索引文件; 所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中; 步骤20、数据分析对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息; 步骤30、建立索引并入库所述大索引文件的数据经分析后分级建立索引,再按顺序进行存储; 步骤40、查询用户输入查询条件; 步骤50、解析对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项; 步骤60、索引利用步骤50所得的索引表示单元项进行索引; 步骤70、返回结果将索引的结果集返回给用户。
2.根据权利要求I所述的结构化信息快速检索方法,其特征在于所述步骤20中的对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。
3.根据权利要求I所述的结构化信息快速检索方法,其特征在于所述步骤30中,建立索引时先判断结构化信息的类型和发生时间,分级建立索引,存储时按所述发生时间进行倒排索引进行存储。
4.一种结构化信息快速检索系统,其特征在于包括 预处理模块用于对结构化信息的数据源进行预处理,并生成索引文件;所述预处理是抽取相同类型的结构化信息的公共信息,并在生成索引文件是对不同主机传递过来的相同类型的结构化信息的差异化数据进行单独处理;所述索引文件的生成方式是采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中; 数据分析模块用于对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;也用于对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项; 建立索引模块用于在大索引文件的数据经分析后分级建立索引; 索引库用于按顺序存储建立好的索引的数据; 查询模块供用户输入查询条件; 索引模块利用数据分析模块对用户输入的查询条件进行解析所得的索引表示单元项在所述索引库中进行索引; 返回结果模块将索引的结果集返回给用户。
5.根据权利要求4所述的结构化信息快速检索系统,其特征在于所述数据分析模块在对所述大索引文件的域转换为最基本的索引表示单元项是通过将字符流单元化,所述字符流单元化包括提取所述查询条件中的关键字、对时间信息、IP信息进行数据格式转换以及将用户输入的字母大小写规范化。
6.根据权利要求4所述的结构化信息快速检索系统,其特征在于所述建立索引模块是建立索引时先判断结构化信息的类型和发生时间,分级建立索引;所述索引库存储时按所述结构化信息的发生时间进行倒排索引进行存储。
全文摘要
本发明提供一种结构化信息快速检索方法,先对结构化信息的数据源进行预处理,采用多线程的方式来不断地产生不同的索引片,生成小索引文件,然后定量或定期地把小索引文件合并到一个大索引文件中;数据分析对所述大索引文件的域转换为最基本的索引表示单元项,这些索引表示单元项是用于决定匹配查询条件的信息;建立索引并入库;用户输入查询条件;解析对用户输入的查询条件进行解析,即对用户输入的查询条件对应的每个查询项解析成索引表示单元项;利用索引表示单元项进行索引;将索引的结果集返回给用户。本发明通过建立颗粒度较小的索引文件,再合并为大索引文件;通过分级建立索引之后进行存储,能极大提高检索的效率。
文档编号G06F17/30GK102831174SQ20121026592
公开日2012年12月19日 申请日期2012年7月27日 优先权日2012年7月27日
发明者陈进炘, 唐敏, 陈冬冬, 涂大志, 黄震奇 申请人:福建富士通信息软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1