一种基于大数据的索引获取方法及系统的制作方法

文档序号:9564670阅读:217来源:国知局
一种基于大数据的索引获取方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据检索领域,特别涉及一种基于大数据的索引获取方法及系统。
【背景技术】
[0002]随着社会信息化程度的发展、当今社会已进入了大数据时代。数据量大了、数据的存储和全文检索成为了阻碍信息化发展的瓶颈。目前很多数据存入了一些关系型数据库、比如SQLServer、Mysql、Oracle等,其数据检索依赖于数据库本身的索引、或者分区、分表等。在数据量比较小时查询速度还是可以接受的,但随着数据量的增大、数据库系统存储及检索效率就直线下降,直至数据库崩溃。究其原因,这些关系型数据就不是为大数据而存在的。
[0003]针对大数据的存储及全文检索,现有技术提出了一种nosql数据库,采用mongdb和solr的结合缓解了关系型数据库的压力、存放的数据及检索的速度都有了很大提高。但随着海量数据的存入,其性能瓶颈也展现出来,导致存储和搜索速度越来越慢。

【发明内容】

[0004]针对现有技术中的缺陷,本发明提供了一种基于大数据的索引获取方法,该方法通过数据中的关键词以及存储数据生成的rowkey来建立索引,能在海量的数据中进行高效率的数据检索。
[0005]本发明提供了一种基于大数据的索引获取方法,包括:
[0006]对数据进行第一次解析,获取数据的关键词;
[0007]根据所述关键词对数据进行分类,并将分类后的数据存储数据库,获取与所述分类后的数据对应的rowkey ;
[0008]根据所述与所述分类后的数据对应的rowkey和所述关键词建立索引。
[0009]可选的,在对数据进行第一次解析之前,包括:
[0010]获取多个待获取数据的URL ;
[0011]对每个待获取数据的URL与Hbase集群的历史链接库中的URL进行匹配,若待获取数据的URL为新的URL,则将所述新的URL导入待爬取队列,直到所有待获取数据的URL匹配完为止;
[0012]依次获取所述待爬取队列中的URL,并根据所述URL爬取队列中的URL获取待获取数据。
[0013]可选的,在对数据进行第一次解析之前,包括:
[0014]判断是否获取到所述待获取数据;
[0015]并在未获取到所述待获取数据时,继续根据所述URL爬取队列中的URL获取待获取数据,并将获取待获取数据的次数加1 ;
[0016]若所述获取待获取数据的次数为预设次数且未获取待所述待获取数据,则将未获取到所述待获取数据对应的URL存入所述Hbase集群的错误库。
[0017]可选的,在将分类后的数据存储数据库之前,包括:
[0018]将分类后的数据根据预设策略进行打包压缩;
[0019]对打包压缩后的文件进行第二次解析,并将第二次解析后的数据存储到数据库。
[0020]可选的,所述方法还包括:通过所述索引获取数据的步骤;
[0021]所述通过所述索引获取数据的步骤,包括:
[0022]获取用户输入的关键词,在搜索服务器的索引中根据用户输入的关键词,获取与关键词对应的rowkey ;
[0023]根据所述与关键词对应的rowkey,获取数据库中与rowkey对应的数据。
[0024]本发明还提出了一种基于大数据的索引获取系统,包括:
[0025]第一解析模块:用于对数据进行第一次解析,获取数据的关键词;
[0026]第一获取模块:用于根据所述关键词对数据进行分类,并将分类后的数据存储数据库,获取与所述分类后的数据对应的rowkey ;
[0027]建立模块:用于根据所述与所述分类后的数据对应的rowkey和所述关键词建立索引。
[0028]可选的,该系统还包括:
[0029]第二获取模块:用于获取多个待获取数据的URL ;
[0030]匹配模块:用于对每个待获取数据的URL与Hbase集群的历史链接库中的URL进行匹配,若待获取数据的URL为新的URL,则将所述新的URL导入待爬取队列,直到所有待获取数据的URL匹配完为止;
[0031 ] 第三获取模块:用于依次获取所述待爬取队列中的URL,并根据所述URL爬取队列中的URL获取待获取数据
[0032]可选的,该系统还包括:
[0033]判断模块:用于判断是否获取到所述待获取数据;
[0034]并在未获取到所述待获取数据时,继续根据所述URL爬取队列中的URL获取待获取数据,并将获取待获取数据的次数加1 ;
[0035]若所述获取待获取数据的次数为预设次数且未获取待所述待获取数据,则将未获取到所述待获取数据对应的URL存入所述Hbase集群的错误库。
[0036]可选的,该系统还包括:
[0037]打包模块:用于将分类后的数据根据预设策略进行打包压缩;
[0038]第二解析模块:用于对打包压缩后的文件进行第二次解析,并将第二次解析后的数据存储到数据库。
[0039]可选的,该系统还包括:
[0040]第四获取模块:用于获取用户输入的关键词,在搜索服务器的索引中根据用户输入的关键词,获取与关键词对应的rowkey ;
[0041]第五获取模块:用于根据所述与关键词对应的rowkey,获取数据库中与roekey对应的数据。
[0042]由上述技术方案可知,本发明的基于大数据的索引取方法,通过数据中的关键词以及存储数据时生成的rowkey来建立索引,以将数据库中的数据与索引中的rowkey建立对应关系,在后续的检索中,只需要获取rowkey,即可获取rowkey对应的数据,提高了在海量的数据中的检索速度。
【附图说明】
[0043]通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0044]图1示出了本发明一实施例提供的基于大数据的索引获取方法的流程图;
[0045]图2示出了本发明另一实施例提供的基于大数据的索引获取方法的流程图;
[0046]图3示出了本发明一实施例提供的基于大数据的索引获取系统的结构示意图。
【具体实施方式】
[0047]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1示出了本发明一实施例提供的基于大数据的索引获取方法的流程图,参照图1,本实施例的基于大数据的索引获取方法,包括:
[0049]步骤101、对数据进行第一次解析,获取数据的关键词;
[0050]步骤102、根据所述关键词对数据进行分类,并将分类后的数据存储数据库,获取与所述分类后的数据对应的rowkey ;
[0051]步骤103、根据所述与所述分类后的数据对应的rowkey和所述关键词建立索引。
[0052]通过数据中的关键词以及存储数据时生成的rowkey来建立索引,以将数据库中的数据与索引中的rowkey建立对应关系,在后续的检索中,只需要获取rowkey,即可获取rowkey对应的数据,提高了在海量数据中检索的速度。
[0053]为了提高数据采集的效率,本发明在获取多个待获取数据的URL ;对每个待获取数据的URL与Hbase集群的历史链接库中的URL进行匹配,若待获取数据的URL为新的URL,则将所述新的URL导入待爬取队列,直到所有待获取数据的URL匹配完为止;依次获取所述待爬取队列中的URL,并根据所述URL爬取队列中的URL待获取数据。
[0054]其中,获取所述待爬取队列中的URL的顺序可以为先进先出的顺序。
[0055]为了进一步的提高数据采集和存储的效率,本发明在对数据进行第一次解析之前,还对爬取作业进行了检测,以判断是否获取到所述待获取数据;并在未获取到所述待获取数据时,继续根据所述URL爬取队列中的URL获取待获取数据,并将获取待获取数据的次数加1 ;若所述获取待获取数据的次数为预设次数且未获取待所述待获取数据,则将未获取到所述待获取数据对应的URL存入所述Hbase集群的错误库。
[0056]为了提高数据存储的效率,本发明在将分类后的数据存储数据库之前,还需要将分类后的数据组装成XML文件,并根据预设策略进行打包压缩;对打包压缩后的文件进行第二次解析,并将第二次解析后的数据存储到数据库。
[0057]该方法在获取到上述索引后,还包括:根据上述索引获取数据,具体步骤如下:
[0058]获取用户输入的关键词,在搜索服务器的索引中根据用户输入的关键词,获取与关键词对应的rowkey ;
[0059]根据所述与关键词对应的rowkey,获取数据库中与roekey对应的数据。
[0060]通过上述的索引对用户输入的关键词进行查询,以获取与关键词对应rowkey,并通过该rowkey在数据库中找到对应的数据,以实现在海量的数据库中进行高效的检索的作用。
[0061]图2为本发明另一实施例提供的数据获取方法的流程图,参照图2,下面对索引获取方法以及基于该索引获取数据的方法进行详细说明:
[0062]步骤201、基于数据库从互联网上获取多个待获取数据的URL ;
[0063]步骤202、判断待获取数据的URL是否为已有URL,基于Hbase集群的历史链接库中的UR
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1