数据存储方法和装置制造方法及图纸

技术编号:10748657 阅读:84 留言:0更新日期:2014-12-10 19:30
本发明专利技术公开了一种数据存储方法和装置。其中,该数据存储方法包括:获取待统计数据的时间标识;按照时间标识将待统计数据存储在数据库的不同分区中,其中,每个分区对应一个时间标识;对存储有待统计数据的分区中的数据进行统计,得到统计结果;以及输出统计结果。通过本发明专利技术,解决了为保证数据的准确存储而导致的系统开销比较大的问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种数据存储方法和装置。其中,该数据存储方法包括:获取待统计数据的时间标识;按照时间标识将待统计数据存储在数据库的不同分区中,其中,每个分区对应一个时间标识;对存储有待统计数据的分区中的数据进行统计,得到统计结果;以及输出统计结果。通过本专利技术,解决了为保证数据的准确存储而导致的系统开销比较大的问题。【专利说明】数据存储方法和装置
本专利技术涉及数据处理领域,具体而言,涉及一种数据存储方法和装置。
技术介绍
在对互联网的海量数据进行统计分析时,需要将一段时间内的存储为历史数据统计数据(例如将I天内的数据累加存储),以便于根据汇总数据快速生成报表,避免对原始海量数据的搜索,这种方式广泛应用于大数据分析中。 现有技术进行数据存储时,通常采用两种方案:一种方案是将历史数据存为多块,一旦有延期录入的历史数据作为新进数据进行录入,则单独存储延期录入的历史数据为块,并关联延期录入的历史数据与同期的历史数据。另外一种方案是删除所有统计数据,根据所有历史数据和新录入的数据重新将历史数据进行统计汇总。 第一种方案明显的缺陷是多记录了一条记录,造成了存储空间浪费。另外,对于不能直接加和的数据,在两个块内记录同期的数据会造成存储的数据重复,从而导致统计的数据结果不准确。 第二种方案由于新进数据访问日期可能包含任何一天或多天的数据,所以需要将所有数据合并汇总历史数据统计值,虽然能够解决方案I正确性的问题,但由于不确定新进数据的影响范围,需要全部重新计算,耗费大量的计算资源。 针对现有技术中为了保证数据的准确统计而导致的系统开销比较大的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种数据存储方法和装置,以解决为了保证数据的准确存储而导致的系统开销比较大的问题。 为了实现上述目的,根据本专利技术的一个方面,提供了一种数据存储方法。根据本专利技术的数据存储方法包括:获取待统计数据的时间标识;按照所述时间标识将所述待统计数据存储在数据库的不同分区中,其中,每个所述分区对应一个所述时间标识;对存储有所述待统计数据的所述分区中的数据进行统计,得到统计结果;以及输出所述统计结果。 进一步地,按照所述时间标识将所述待统计数据存储在数据库的不同分区中包括:根据所述时间标识判断所述待统计数据为新进数据或者延期数据,其中,所述新进数据为所述待统计数据的时间标识与所述数据库中已经存储的时间标识不同的数据,所述延期数据为所述待统计数据的时间标识与所述数据库中已经存储的时间标识相同的数据;如果所述待统计数据为所述延期数据,则在所述数据库中查找与所述延期数据的所述时间标识相同的第一分区,并将所述延期数据存储在所述第一分区中;如果所述待统计数据为所述新进数据,则按照所述新进数据的所述时间标识建立第二分区,并将所述新进数据存储在所述第二分区中。 进一步地,对存储有所述待统计数据的所述分区中的数据进行统计,得到统计结果包括:对存储在所述第一分区中的同期数据和所述延期数据进行统计,得到第一统计结果,其中,所述同期数据为与所述延期数据的时间标识相同的数据;或者对存储在所述第二分区中的所述新进数据进行统计,得到第二统计结果。 进一步地,在获取待统计数据的时间标识之前,所述方法还包括:获取所述数据库中存储数据的索引标识,其中,所述索引标识为按照所述数据库中的数据产生顺序生成的数值;按照所述索引标识从所述数据库的历史数据中查找所述数值最大的所述索引标识,得到历史数据的最大索引标识;获取所述待统计数据的索引标识中所述数值最大的索引标识,得到所述待统计数据的最大索引标识;以及将处于所述历史数据的最大索引标识与所述待统计数据的最大索引标识之间的索引标识对应的数据作为所述待统计数据。 进一步地,获取待统计数据的时间标识包括:按照所述索引标识查找处于所述历史数据的最大索引标识与所述待统计数据的最大索引标识之间的索引标识对应的数据的时间标识;将查找到的时间标识作为所述待统计数据的所述时间标识。 为了实现上述目的,根据本专利技术的另一方面,提供了一种数据存储装置。根据本专利技术的数据存储装置包括:第一获取单元,用于获取待统计数据的时间标识;存储单元,用于按照所述时间标识将所述待统计数据存储在数据库的不同分区中,其中,每个所述分区对应一个所述时间标识;统计单元,用于对存储有所述待统计数据的所述分区中的数据进行统计,得到统计结果;以及输出单元,用于输出所述统计结果。 进一步地,所述存储单元包括:判断模块,用于根据所述时间标识判断所述待统计数据为新进数据或者延期数据,其中,所述新进数据为所述待统计数据的时间标识与所述数据库中已经存储的时间标识不同的数据,所述延期数据为所述待统计数据的时间标识与所述数据库中已经存储的时间标识相同的数据;第一查找模块,用于在所述待统计数据为所述延期数据时,在所述数据库中查找与所述延期数据的所述时间标识相同的第一分区,并将所述延期数据存储在所述第一分区中;建立模块,用于在所述待统计数据为所述新进数据时,按照所述新进数据的所述时间标识建立第二分区,并将所述新进数据存储在所述第二分区中。 进一步地,所述统计单元包括:第一统计模块,用于对存储在所述第一分区中的同期数据和所述延期数据进行统计,得到第一统计结果,其中,所述同期数据为与所述延期数据的时间标识相同的数据;或者第二统计模块,用于对存储在所述第二分区中的所述新进数据进行统计,得到第二统计结果。 进一步地,所述装置还包括:第二获取单元,用于在获取待统计数据的时间标识之前,获取所述数据库中存储数据的索引标识,其中,所述索引标识为按照所述数据库中的数据产生顺序生成的数值;查找单元,用于按照所述索引标识从所述数据库的历史数据中查找所述数值最大的所述索引标识,得到历史数据的最大索引标识;第三获取单元,用于获取所述待统计数据的索引标识中所述数值最大的索引标识,得到所述待统计数据的最大索引标识;以及确定单元,用于将处于所述历史数据的最大索引标识与所述待统计数据的最大索引标识之间的索引标识对应的数据作为所述待统计数据。 进一步地,所述第一获取单元包括:第二查找模块,用于按照所述索引标识查找处于所述历史数据的最大索引标识与所述待统计数据的最大索引标识之间的索引标识对应的数据的时间标识;确定模块,用于将查找到的时间标识作为所述待统计数据的所述时间标识。 通过本专利技术,按照不同的时间标识将待统计数据存储在数据库的不同分区中,在进行数据统计时并不是对数据库中的每个分区都进行统计,而是统计存储有待统计数据的分区进行数据统计,不仅避免了独立访问量的错误统计,还能针对有新的数据加入的分区进行统计,从而解决为了保证数据的准确存储而导致的系统开销比较大的问题,进而在保证准确统计数据的同时,仅对数据库的几个分区进行数据统计,达到了减少系统开销的效果O 【专利附图】【附图说明】 构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1是根据本专利技术实施例的数据存储方法的流程图;以及 图2是根据本专利技术实施例的数据存储装置的示意图。 【具体实施方式】 需要本文档来自技高网
...

【技术保护点】
一种数据存储方法,其特征在于,包括:获取待统计数据的时间标识;按照所述时间标识将所述待统计数据存储在数据库的不同分区中,其中,每个所述分区对应一个所述时间标识;对存储有所述待统计数据的所述分区中的数据进行统计,得到统计结果;以及输出所述统计结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:池雷
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1