一种获取截面数据的方法和系统技术方案

技术编号:13138839 阅读:86 留言:0更新日期:2016-04-07 00:15
本申请提供了一种获取截面数据的方法,属于数据处理领域,解决了浪费存储空间的问题,该方法包括:确定计算截面数据的起始时间点,所述起始时间点为查询时间点之前且距离所述查询时间点最近的初始量数据或全量数据的时间点;获取所述起始时间点和用户输入的查询时间点之间的所有归档数据,所述归档数据至少包括标识所述归档数据的主键值;根据所述主键值对获取的所述所有归档数据分组;分别确定每组归档数据中的最新数据变化时间点,遍历所有所述最新数据变化时间点对应的归档数据,将其中属性为初始量或全量或增量的所述归档数据作为所述查询时间点的截面数据。与现有技术相比,不需要为每个时间点保存一份全量数据,节省了存储空间。

【技术实现步骤摘要】

本申请涉及数据处理领域,特别是涉及一种获取截面数据的方法和系统
技术介绍
随着计算机技术的发展,以及互联网和大数据技术的广泛应用,需要存储和处理的数据越来越多。并且,在数据存储的过程中,经常会出现数据字段的变化。为了充分利用数据,出现了越来越多的管理数据的需求,例如,查询某一日期的截面数据。现有技术在数据归档的过程中,数据管理系统的主档表中的数据通常是多日数据混合存储,为了满足用户的查询某一日期的截面数据的需求,现有技术通常的做法是:为每个需要查询的日期保存一个全量数据。很显然,现有技术提供全种做法的缺陷是:数据管理系统每日保存一份全量数据,其中有些数据是没有变化的,浪费了大量存储空间。
技术实现思路
本申请所要解决的技术问题是提供一种获取截面数据的方法和系统,能够快速地提供用户查询的截面数据,并且能够节省存储空间。为了解决上述问题,本申请公开了一种获取截面数据的方法,包括:确定计算截面数据的起始时间点,所述起始时间点为查询时间点之前且距离所述查询时间点最近的初始量数据或全量数据的时间点;获取所述起始时间点和用户输入的查询时间点之间的所有归档数据,所述归档数据至少包括标识所述归档数据的主键值;根据所述主键值对获取的所述所有归档数据分组;分别确定每组归档数据中的最新数据变化时间点,遍历所有所述最新数据变化时间点对应的归档数据,将其中属性为初始量或全量或增量的所述归档数据作为所述查询时间点的截面数据。其中,归档数据的属性包括:初始量、全量、增量、减量,不同属性的归档数据分别存储。优选的,在得到所述查询时间点的截面数据之后,所述方法还包括:缓存所述查询时间点的截面数据。所述方法还包括:根据所述查询时间点的查询概率确定是否缓存该查询时间点对应的截面数据。在确定计算截面数据的起始时间点之前,所述方法还包括:判断是否缓存有指定的查询时间点对应的截面数据,若有,则返回缓存的所述截面数据。优选的,所述方法还包括:根据所述截面数据的读取频率,动态调整所述截面数据的缓存期。相应地,本申请实施例还公开了一种获取截面数据的系统,包括:起始时间确定模块,用于确定计算截面数据的起始时间点,所述起始时间点为查询时间点之前且距离所述查询时间点最近的初始量数据或全量数据的时间点;归档数据获取模块,用于获取所述起始时间点和用户输入的查询时间点之间的所有归档数据,所述归档数据至少包括标识所述归档数据的主键值;分组模块,用于根据所述主键值对获取的所述所有归档数据分组;数据选择模块,用于分别确定每组归档数据中的最新数据变化时间点,遍历所有所述最新数据变化时间点对应的归档数据,将其中属性为初始量或全量或增量的所述归档数据作为所述查询时间点的截面数据。在另一实施例中,所述系统还包括:缓存模块,用于在得到所述查询时间点的截面数据之后,缓存所述查询时间点的截面数据。在另一实施例中,还包括:判断模块,用于在确定计算截面数据的起始时间点之前,判断是否缓存有指定的查询时间点对应的截面数据,若有,则返回缓存的所述截面数据。优选的,所述系统还包括:缓存管理模块,用于根据所述截面数据的读取频率,动态调整所述截面数据的缓存期。本申请公开的获取截面数据的方法和系统,通过选择距离所述查询时间点最近的初始量数据或全量数据的时间点作为计算截面数据的起始时间点,确定了一个尽量小的截面数据计算范围,然后,获取所述起始时间点和用户输入的查询时间点之间的所有归档数据,并根据所述主键值对获取的所述所有归档数据分组;进一步选择每组数据中最新的、属性为初始量或全量或增量的归档数据作为所述查询时间点的截面数据。与现有技术相比,不需要为每个时间点保存一份全量数据,节省了存储空间。【附图说明】图1是本申请获取截面数据的方法一实施例的流程示意图;图2是本申请获取截面数据的方法另一实施例的流程示意图;图3是本申请一具体实施例中的归档数据;图4是对图3的归档数据计算得到的截面数据;图5是本申请获取截面数据的系统一个实施例的结构示意图;图6是本申请获取截面数据的系统另一个实施例的结构示意图。【具体实施方式】为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。为了便于阅读者理解本申请,首先对本申请中涉及的技术术语进行介绍。数据归档过程中,数据存储类型包括:主档表和明细表,其中,主档表是反映客观事实主体属性的表,产生新主体时会增加到主档信息,主体发生变更时会修改主档信息,主体消失时会删除或标记主档信息;明细表是反映客观事实主体历史变化情况的表。根据数据产生的时机,归档数据又有如下属性:初始量、增量、减量、全量。其中,增量数据:相对最近一次提取数据后增加、修改的数据;减量数据:相对最近一次提取数据后删除的数据;全量数据:某张表的全部数据;初始量数据:某张表首次卸载提供的数据;截面数据:主档表某个特定时间点(通常是特定日)的全量数据。本申请中提及的“源系统”指数据产生系统,本申请获取截面数据的方法应用于数据管理系统。数据管理系统用于相应源系统等其他系统的请求,实现数据的归档存储、管理、查询等功能。参照图1,示出了本申请一种获取截面数据的方法,包括如下步骤:步骤110,确定计算截面数据的起始时间点,所述起始时间点为查询时间点之前且距离所述查询时间点最近的初始量数据或全量数据的时间点;步骤120,获取所述起始时间点和用户输入的查询时间点之间的所有归档数据,所述归档数据至少包括标识所述归档数据的主键值;步骤130,根据所述主键值对获取的所述所有归档数据分组;步骤140,分别确定每组归档数据中的最新数据变化时间点,遍历所有最新数据变化时间点对应的归档数据,将其中属性为初始量或全量或增量的所述归档数据作为所述查询时间点的截面数据。截面数据是主档表某个特定时间点的全量数据,因此,上述步骤110中,需要从查询的截面数据对应的时间点起,向前搜索历史数据,找出主档表中的所有数据。为了提高查找效率,不需要遍历所有归档数据,仅需要找到最近一次卸载的初始量数据或全量数据即可,并将最近一次卸载的初始量数据或全量数据的时间点作为截面数据计算区间的起始时间点T1。若没有找到初始量数据或全量数据,则将最早一条数据的时间点作为截面数据计算区间的起始时间点,即需要将查询的截面数据对应的时间点之前的所有数据进行截面数据计算。截面数据是主档表某个特定时间点的全量数据,在需要查询截面数据时,用户会指定查询时间点T2。在上述步骤120中,将步骤110确定的计算截面数据的起始时间点T1和用户指定的查询时间点T2作为截面数据查询时间区间,获取该时间区间内的所有归档数据{DATA(t) I te }。归档数据通常以二维表的形式存储,至少包括主键值列,还可以包括其他相关列。主键值是唯一标识归档数据的,通过主键值可以区分不同的归档数据。通常,主档表中包括多个主键值。在步骤130中,根据所述主键值对获取的所述所有归档数据{DATA(t)te}分组,每一个主键值对应的数据划分为一组,每一数据组中可以包含多条数据,分别记录该主键值对应的数据的历史变化情况。例如,主键值为“CPU利用率”,这一数据组中包含不同日期的CHJ利用率;主键值为当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种获取截面数据的方法,其特征在于,包括:确定计算截面数据的起始时间点,所述起始时间点为查询时间点之前且距离所述查询时间点最近的初始量数据或全量数据的时间点;获取所述起始时间点和用户输入的查询时间点之间的所有归档数据,所述归档数据至少包括标识所述归档数据的主键值;根据所述主键值对获取的所述所有归档数据分组;分别确定每组归档数据中的最新数据变化时间点,遍历所有所述最新数据变化时间点对应的归档数据,将其中属性为初始量或全量或增量的所述归档数据作为所述查询时间点的截面数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱大勇滕一勤
申请(专利权)人:北京先进数通信息技术股份公司
类型:发明
国别省市:北京;11

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

1