增长型数据库的数据统计查询系统及方法技术方案

技术编号:7492161 阅读:316 留言:0更新日期:2012-07-10 05:33
本发明专利技术公开了一种增长型数据库的数据统计查询系统及方法,该方法包括:针对实时数据区域中的数据记录进行统计查询,得到第一统计查询结果;获取预先存储的历史数据区域的统计查询结果;根据所述第一统计查询结果,以及获取的统计查询结果,确定最终的统计查询结果。由于预存了数据表中历史数据即不太改动的数据的统计查询结果,所以在进行统计查询时,只需针对数据表中的实时数据即改动较频繁的数据进行统计查询操作,从而避免了对历史数据的统计查询操作,提高了统计查询的速度和效率,节约了系统的处理资源。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及增长型数据库的数据统计查询系统和方法。
技术介绍
随着信息产业和信息技术的飞速发展,信息系统的数据库中记录和处理的数据量也呈现爆炸式的增长。在大量投入运营的增长型数据库中,针对海量数据进行高速统计查询的需求和压力与日俱增。现有技术中进行统计查询的方法,通常是先从数据库中查询到符合查询条件的数据,之后对这些数据进行统计计算,得到统计结果。例如,如图I所示的数据表I中,需要统计出“设备号”为S的交换次数的总和,则需要先从数据表I中查询到所有“设备号”为S的记录,然后针对这些记录中的“交换次数”值求和。在实际使用中为了加快查询速度,现有技术通常会利用索引进行查询。但是即使采用索引的方法进行查询,也需要逐条找到每个符合查询条件的记录,并针对每个记录中相应数据进行统计运算。本专利技术的专利技术人注意到在增长型数据库中,数据由于固有的业务特点,极少发生变更,往往会出现这样的情况刚刚进入数据库的数据,在一段时间内会频繁的变动,但是过了一段时间后,就基本不会发生变动。随着时间的推移,大量新数据持续进入数据库中, 数据库的数据量会迅速增长,数据库中会频繁变动的那部分数据所占的比例越来越小。此时,如果出于某些逻辑固定的业务需求,采用现有技术的方法对数据库中的海量数据进行统计查询时,由于增长型数据库的数据特点是绝大部分数据不会发生变化,所以对这部分数据的查询与逻辑处理实际上是一直在重复操作的。也就是说,在进行固定逻辑统计查询时,每次都需要在数据库逐条找到符合查询条件的数据,对这些数据进行固定的逻辑运算,由于其中大多数数据与上次进行统计查询时并未发生改变,所以大多数的查询和逻辑运算都是重复的,耗费了大量的系统资源,而且,统计查询所需时间也非常长、效率低,往往还会因为超长的等待时间造成查询失败,这期间占用的大量资源还使得数据库难以应付其他的并发操作。这极大地影响了信息系统的友好性、实时性和可靠性。此外,现有技术的查询方法中的索引的创建和维护,也需要消耗大量的数据库资源和维护时间,专门对索引数据进行处理,尤其是对于增长型数据库来说,数据量越大,索引的创建和维护越困难。而起,索引需要数据库在对数据做增删改等操作时,也要额外花费一些资源和时间对索引数据进行维护。终上所述,对于增长型数据库采用现有技术的统计查询方法需要消耗大量的时间和资源,降低了系统的友好性、实时性和可靠性;并且,对索引进行创建和维护,也需要消耗大量的数据库资源和维护时间。
技术实现思路
本专利技术实施例提供了一种,用以提高统5计查询效率,节约系统资源。一种增长型数据库的数据统计查询方法,包括针对实时数据区域中的数据记录进行统计查询,得到第一统计查询结果;获取预先存储的历史数据区域的统计查询结果; 根据所述第一统计查询结果,以及获取的统计查询结果,确定最终的统计查询结果;其中, 所述历史数据区域中包含有数据表中的第一类数据记录,所述实时数据区域中包含有所述数据表中的第二类数据记录;所述第一类数据记录和第二类数据记录是根据数据记录增加到所述数据表中的时间先后顺预先序确定的。所述第一类数据记录和第二类数据记录通过下述步骤确定将所述数据表中的数据记录的时间顺序参数的范围,分割为至少三个时间顺序参数子范围;对于其中任一时间顺序参数子范围,将时间顺序参数处于该时间顺序参数子范围内的数据记录确定为与该时间顺序参数子范围相对应的数据子区域内的数据记录;确定具有最大时间顺序参数的数据子区域为实时数据区域,其内的数据记录为所述第二类数据记录;确定其它数据子区域为历史数据子区域,组成所述的历史数据区域,所述其它数据子区域内的数据记录为所述第一类数据记录。其中,所述数据记录的时间顺序参数是通过对时间值进行换算得到的;将所述数据表中的数据记录的时间顺序参数的范围分割为至少三个时间顺序参数子范围为以时间单位对所述数据表中的数据记录的时间顺序参数的范围进行分割,得到时间顺序参数子范围。其中,将所述数据表中的数据记录的时间顺序参数的范围分割为至少两个时间顺序参数子范围具体为对于n个时间顺序参数子范围札 1中的Mk,其时间顺序参数的范围为[Sk,Sk+1); 其中,Sk+1 = Sk+ff(公式 I)n = ROUNDUP ((Z-S1) /ff)(公式 2)上述公式I中,W为设定值,k为I至n的自然数;上述公式2中,S1为数据表的数据记录中的最小时间顺序参数,Z为数据表的数据记录中的最大时间顺序参数,ROUNDUP为向上取整运算符。在所述确定最终的统计查询结果之前,还包括根据统计查询需求,确定出查询数据区域;所述查询数据区域是根据待查询数据记录的时间顺序参数的范围确定的;确定被所述查询数据区域完全覆盖的历史数据子区域为区域A ;确定被所述查询数据区域部分覆盖的历史数据子区域为区域B ;根据所述统计查询需求在所述区域B进行统计查询得到统计查询结果B ;以及,所述获取预先存储的历史数据区域的统计查询结果具体为获取区域A内各历史数据子区域的统计查询结果;和在根据所述第一统计查询结果以及获取的统计查询结果确定最终的统计查询结果时,还根据所述统计查询结果B,以确定最终的统计查询结果。在所述获取区域A内各历史数据子区域的统计查询结果之前,还包括判断区域A 内各历史数据子区域的结果标识是否为有效;如果是,则获取区域A内各历史数据子区域的统计查询结果;否则,针对无效的结果标识所对应的历史数据子区域中的数据记录进行统计查询、更新该历史数据子区域的统计查询结果后,再获取区域A内各历史数据子区域的统计查询结果。一种增长型数据库的数据统计查询系统,包括历史数据查询结果存储模块,用于存储历史数据区域的统计查询结果;数据区域确定模块,用于确定所述历史数据区域和实时数据区域的;所述历史数据区域中的第一类数据记录和所述实时数据区域中的第二类数据记录是根据数据记录增加到数据表中的时间先后顺序确定的;统计查询模块,用于根据所述数据区域确定模块确定的实时数据区域,针对实时数据区域中的数据记录进行统计查询,得到第一统计查询结果;从所述历史数据查询结果存储模块中获取存储的历史数据区域的统计查询结果;根据所述第一统计查询结果以及获取的统计查询结果,确定最终的统计查询结果。其中,所述数据区域确定模块将所述数据表中的数据记录的时间顺序参数的范围分割为至少三个时间顺序参数子范围;对于其中任一时间顺序参数子范围,将时间顺序参数处于该时间顺序参数子范围内的数据记录确定为与该时间顺序参数子范围相对应的数据子区域内的数据记录;确定具有最大时间顺序参数的数据子区域为实时数据区域,其内的数据记录为所述第二类数据记录;确定其它数据子区域为历史数据子区域,由历史数据子区域组成历史数据区域,所述其它数据子区域内的数据记录为所述第一类数据记录。所述系统还包括历史数据查询结果生成模块,用于根据所述数据区域确定模块确定的历史数据子区域,针对各历史数据子区域中的数据记录进行统计查询,并将各历史数据子区域的统计查询结果存储到所述历史数据查询结果存储模块中。其中,所述统计查询模块根据统计查询需求,确定出查询数据区域;所述查询数据区域是根据待查询数据记录的时间顺序参数的范围确定的;根据所述数据区域确定模块确定的历史数据子区域,确定被所述查询数据区域本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:郭红钰傅永财李淑惠郑扬飞李振宇贾晓霞金辉李兰辉郭彦义张慧吉
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:

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

1
相关领域技术