当前位置: 首页 > 专利查询>李天专利>正文

数据索引方法及装置制造方法及图纸

技术编号:15542299 阅读:45 留言:0更新日期:2017-06-05 11:18
本发明专利技术公开了一种数据索引方法及装置,该方法包括:判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值,若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和该预置存储时间粒度作为索引信息,并将该索引信息和该索引信息对应的行主键值缓存于内存中,当缓存完成后,将该索引信息和该索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录,将该批索引记录写入到数据库中,使得在查询时通过该批索引记录查找到目标数据,这样针对存储重复度高的索引字段利用生成的批索引记录可以一次查询到大量的数据,提高了查询速度,进而提高了查询效率。

Data indexing method and apparatus

The invention discloses a device and a data index method, the method includes: judging whether there are duplicate storage index field in the database, and determine the index field repetitive storage storage repeat number is greater than a preset value, if so, from the preset starting time, the index field preset storage time granularities and the preset the storage time and particle size as the index information, and the primary key corresponding to the index information and the index value of the information in the memory cache, when the cache is completed, will be the primary key index information and the index information corresponding to the value, in accordance with the preset data storage format to generate a group of index records, the number of index records written to the database, through the group of index records to find the target data in the query, so for the storage of high index field generated by repeated batch Index records can query a large amount of data at once, improve the query speed, and then improve the query efficiency.

【技术实现步骤摘要】
数据索引方法及装置
本专利技术属于数据存储领域,尤其涉及一种数据索引方法及装置。
技术介绍
随着社会的发展,各行业、各领域的数据量都会不断地增长,特别是电信和互联网行业更是如此。服务器硬件及数据库配置等条件固定的情况下,存储数据量的增加导致占用资源过大,进而会影响数据查询效率。采用传统的查询方式,查询效率随着数据量不断增大,会不断的降低。用户查询的响应时间会越来越慢,甚至会出现由于查询访问量过多导致数据库无法使用的情况。现有技术中,一般采用Hadoop数据库(HBase,HadoopDatabase)对数据进行存储。HBase是一个分布式的、面向列的开源数据库。现有的查询方式是通过索引条件对单个行主键(Rowkey)访问,然后按照该Rowkey所在的域(Region),将查询数据的请求路由到该Region,以获取查询数据。使用HBase的现有的查询方式,获取100万条记录需要1000秒时间。如果全部数据均匀分布在100个Region上,那么利用并行计算特性,该100个Region同时向客户端输出数据,那么需要10秒就能将所有数据取下来,但是对于一些特殊的企业,如电信行业,每天查询的数据量在千亿条,按照这样的查询数据量,如果使用现有的HBase数据库的查询方式,及时使用并行计算特性,读取所有数据的时间也是很长的。由此可见,一旦数据量暴增,使用现有的查询方法需要很长的查询时间,从而影响查询数据的效率。
技术实现思路
本专利技术提供一种数据索引方法及装置,旨在解决由于数据量的增加,现有技术中的查询方法查询数据的时间过长,查询效率降低的问题。本专利技术提供的一种数据索引方法,包括:判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值;若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和所述预置存储时间粒度作为索引信息,并将所述索引信息和所述索引信息对应的行主键值缓存于内存中;当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录;将所述批索引记录写入到数据库中,使得在查询时通过所述批索引记录查找到目标数据。本专利技术提供的一种数据索引装置,包括:判断模块用于判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值;存储控制模块用于若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和所述预置存储时间粒度作为索引信息,并将所述索引信息和所述索引信息对应的行主键值缓存于内存中;生成模块用于当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录;所述存储控制模块还用于将所述批索引记录写入到数据库中,使得在查询时通过所述批索引记录查找到目标数据。本专利技术提供的数据索引方法及装置,判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值,若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和该预置存储时间粒度作为索引信息,并将该索引信息和该索引信息对应的行主键值缓存于内存中,当缓存完成后,将该索引信息和该索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录,将该批索引记录写入到数据库中,使得在查询时通过该批索引记录查找到目标数据,这样针对存储重复度高的索引字段利用生成的批索引记录可以一次查询到大量的数据,提高了查询速度,进而提高了查询效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例。图1是本专利技术第一实施例提供的数据索引方法的实现流程示意图;图2是本专利技术第二实施例提供的数据索引方法的实现流程示意图;图3是本专利技术第三实施例提供的数据索引装置的结构示意图;图4是本专利技术第四实施例提供的数据索引装置的结构示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,图1为本专利技术第一实施例提供数据索引方法的实现流程示意图,可应用于具有数据处理功能的终端中,如计算机,图1所示的数据索引方法,主要包括以下步骤:S101、判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值。该预置数值可以为50次,也可以为1000次,本领域技术人员可以根据实际情况对预置数值进行调整。一般重复存储次数比较高的索引字段包括:网元、小区、业务类型等,该等索引字段一般运营商使用的较多。若是,则执行步骤S102,若否,则进程结束。S102、从预置起始时间开始,将预置存储时间粒度下的索引字段和该预置存储时间粒度作为索引信息,并将该索引信息和该索引信息对应的行主键值缓存于内存中。S103、当缓存完成后,将该索引信息和该索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录。HBase数据库是采用键值(keyvalue)的列存储,行主键值(rowkey)值为keyvalue的key,表示唯一一行。rowkey为一段二进制码流,最大长度为64KB。该预置存储时间粒度表示时间间隔,该预置存储时间粒度不做限定,可以为5分钟,也可以为10分钟,还可以为2分钟。若预置存储时间粒度为3分钟,则从预置起始时间开始,每3分钟,对索引字段和该3分钟内索引字段对应的所有rowkey值进行存储,该预置起始时间为初始状态下的时间。例如,索引字段为小区ID:xxx,预置时间段为2分钟,预置起始时间为2012年6月2日10:00,则从2012年6月2日10:00开始,每2分钟对小区ID:xxx的索引字段生成一条批索引记录。S104、将该批索引记录写入到数据库中,使得在查询时通过该批索引记录查找到目标数据。需要说明的是,本专利技术是基于HBase数据库的数据索引方法及装置。本专利技术实施例中,判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值,若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和该预置存储时间粒度作为索引信息,并将该索引信息和该索引信息对应的行主键值缓存于内存中,当缓存完成后,将该索引信息和该索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录,将该批索引记录写入到数据库中,使得在查询时通过该批索引记录查找到目标数据,这样针对存储重复度高的索引字段利用生成的批索引记录可以一次查询到大量的数据,提高了查询速度,进而提高了查询效率。请参阅图2,图2为本专利技术第二实施例提供的数据索引方法的实现流程示意图,可应用于具有数据处理功能的终端中,如计算机,图2所示的数据索引方法,主要包括以下步骤:S201、判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值。该预置数值可以为50次,也可以为1000次,本领域技术人员可以根据实际情况对预置数值进行本文档来自技高网...
数据索引方法及装置

【技术保护点】
一种数据索引方法,其特征在于,包括:判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值;若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和所述预置存储时间粒度作为索引信息,并将所述索引信息和所述索引信息对应的行主键值缓存于内存中;当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录;将所述批索引记录写入到数据库中,使得在查询时通过所述批索引记录查找到目标数据。

【技术特征摘要】
1.一种数据索引方法,其特征在于,包括:判断数据库中是否存在重复存储的索引字段,并判断重复存储的索引字段的存储重复数是否大于预置数值;若是,则从预置起始时间开始,将预置存储时间粒度下的索引字段和所述预置存储时间粒度作为索引信息,并将所述索引信息和所述索引信息对应的行主键值缓存于内存中;当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录;将所述批索引记录写入到数据库中,使得在查询时通过所述批索引记录查找到目标数据。2.根据权利要求1所述的方法,其特征在于,所述当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录之前,还包括:确定缓存时间粒度,并等待缓存完成。3.根据权利要求2所述的方法,其特征在于,所述当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录之后,还包括:根据预置公式,计算预置时间段内的待存储的批索引记录中索引记录的数目,其中所述预置公式为:待存储的批索引记录中索引记录的数目等于所述索引字段的总数乘以所述预置时间段与所述缓存时间粒度之间的比值,所述预置时间为分子,所述缓存时间粒度为分母。4.根据权利要求1-3任一项所述的方法,其特征在于,当缓存完成后,将所述索引信息和所述索引信息对应的行主键值,按照预置数据存储格式生成一条批索引记录,包括:将所述索引信息对应的行主键值整合为行主键集合;将所述索引信息和所述索引信息对应的行主键集合生成所述批索引记录。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在待查询时间段内,从所述数据库中查找与待查询索引字段对应的行主键集合;根...

【专利技术属性】
技术研发人员:李天邓翠珠
申请(专利权)人:李天邓翠珠
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1