一种数据分析方法和设备的制作方法

文档序号:6597716阅读:240来源:国知局
专利名称:一种数据分析方法和设备的制作方法
技术领域
本申请实施例涉及数据存储技术领域,特别涉及一种数据分析方法和设备。
背景技术
缓慢变化维度(Slowly Changing Dimensions, SCD)是在数据仓库中随着时间的 推移存储和管理当前数据和历史数据的维。它被视为并实现为跟踪维记录历史过程中最关 键的数据抽取、转换和加载(Extraction TransformationLoading, ETL)任务之一。S⑶分为三种类型,可以使用Warehouse Builder定义、部署并加载这三种类型的 SCD,分别为Type 1 SCD-覆盖在Type 1 S⑶中,新数据将覆盖现有数据。因此,现有数据将丢失,而不会存储 在其他任何地方。这是创建的维的默认类型,不需要指定任何附加信息,即可创建Type 1 SCD。Type 2 SCD-创建另一个维记录Type 2 S⑶可保留值的完整历史。如果选定属性的值发生更改,当前记录会关闭。 系统会使用更改后的数据值创建一个新记录,这个新记录将成为当前记录。每个记录都包 含有效时间和过期时间,以标识记录处于活动状态的时间段。Type 3 SCD-创建当前值域Type 3 S⑶可为某些选定的级别属性存储两个版本的值。每个记录都会存储选定 属性的上一个值和当前值。如果任一选定属性的值发生更改,就会将当前值存储为旧值,而 新值将成为当前值。其中,SCD Type 2和Type 3可用于OWB 10gR2的企业ETL组件。利用核心ETL特 性,只能使用 SCD Type 1,即 Do not keep history 选项。如果存储类型为多维联机分析处理(Muiltdimension On-Line AnalysisProcessing, M0LAP),则不能创建 Type 2 或 Type 3 缓慢变化维度。常规的缓慢变化维度方法定位在单条商业记录的生命周期管理上,对单条商业数 据的开始时间,结束时间做了记录,从而能够通过指定的商业日期,取出该商业日期的商业 数据快照,而且要扫描的输入输出anput-Output,10)成本比该业务日期的真实大小要大 很多,从而影响了应用在取快照的效率,只能解决快照的完整性,而不能解决使用快照的便 捷和高性能。现有的常规缓慢变化维技术的缺点是每次预处理和业务取快照都要扫描比指定 快照大很多的10,从而限制了预处理的效率和使用快照的效率。

发明内容
本申请实施例提供一种数据分析方法和设备,减少快照处理数据的数据量,提高 应用处理的效率。
本申请实施例提供一种数据分析方法,包括以下步骤根据不同的时间范围创建相应的数据分区;根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据 分区中。优选的,所述根据不同的时间范围创建相应的数据分区,具体为根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数 据分区;或,根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对 应的数据分区。优选的,根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对 应的数据分区中,具体为将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所 述数据分区的时间范围相匹配;其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间。优选的,所述数据的生命周期具体包括当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无 穷大;当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无 穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。优选的,所述方法,还包括根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数据分区, 并在所述数据分区中获取与所述业务日期对应的数据快照。优选的,根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数 据分区,具体包括,当所述数据分区满足,所述数据分区所对应时间范围的开始时间< 所述业务日期 <所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确 定所述数据分区为与所述业务日期相匹配的数据分区。优选的,所述在所述数据分区中获取与所述业务日期对应的数据快照,具体为将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务 日期对应的数据快照。另一方面,本申请实施例还提出了一种数据分析设备,包括创建模块,用于根据不同的时间范围创建相应的数据分区;存储模块,与所述创建模块相连接,用于根据数据的生命周期,将所述数据存储至 所述创建模块所创建的时间范围与所述生命周期相对应的数据分区中。优选的,所述创建模块根据不同的时间范围创建相应的数据分区,具体为所述创建模块根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区;或,所述创建模块根据当前各已存在数据的生命周期所对应的时间范围,分别创建一 个或多个相对应的数据分区。优选的,所述存储模块根据数据的生命周期,将所述数据存储至时间范围与所述生命周期 相对应的数据分区中,具体为所述存储模块将所述数据所对应的数据分配在相应的所述数据分区,所述数据的 生命周期与所述数据分区的时间范围相匹配;其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间;所述数据的生命周期具体包括当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无 穷大;当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无 穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。优选的,所述设备还包括确定模块和获取模块,所述确定模块,与所述创建模块相连接,用于根据业务日期在所述创建模块所创 建的当前存在的数据分区中确定与所述业务日期相匹配的数据分区;所述获取模块,与所述确定模块相连接,用于在所述确定模块所确定的数据分区 中获取与所述业务日期对应的数据快照;优选的,所述确定模块确定数据分区的具体方式包括当所述数据分区满足,所述数据分区所对应时间范围的开始时间< 所述业务日期 <所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确 定所述数据分区为与所述业务日期相匹配的数据分区。所述获取模块在所述数据分区中获取与所述业务日期对应的数据快照的具体方 式包括将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务 日期对应的数据快照。本申请实施例包括以下优点通过应用本申请的技术方案,可以根据生命周期的变化对数据按照不同的数据分 区进行存储,从而在获取数据时可以直接依据业务日期在相应的数据分区中对数据进行获 取,而按照数据分区对不同生命周期的数据进行存储的思路,可以减小相同个数的快照的 存储容量和预处理过程扫描的数据量,使预处理过程比常规的增量合并的过程时间短,由 于获取数据快照的时候所扫描的数据容量就是确定的需要扫描的数据快照的真实大小,因 此,不再需要扫描任何所需快照以外的数据,从而提升应用的便捷和效率。


为了更清楚地说明本申请实施例或现有技术的技术方案,下面将对本申请实施例 或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。图1为本申请实施例一中的一种实现数据快照的方法流程图;图2为本申请实施例二中的一种实现数据快照的方法流程图;图3为本申请实施例三中的一种实现数据快照的设备的结构示意图。
具体实施例方式本申请实施例根据数据的生命周期将数据分配在对应的数据分区,下面将结合本 申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述 的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例 中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本申请实施例保护的范围。如图1所示,为本申请实施例一中的一种数据分析方法,包括以下步骤步骤SlOl、根据不同的时间范围创建相应的数据分区。在具体的应用场景中,本步骤的实现可以包括以下两种方案方案一、根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相 对应的数据分区。这种方案在预设的周期性时间点启动,例如在每一天的0点启动,当然,在实际 的应用中也可以另行确定其他的任意时间点完成本步骤,具体时间的变化并不会影响本申 请的保护范围。该方案依据预设的创建规则直接建立与当前日期相对应的数据分区,例如分别 建立当前日期至无穷大的数据分区、先前各个日期至当前日期的数据分区等。该方案的思想在于在数据分析之前,建立与当前日期相对应的各种数据分区,在 进行数据分析之后,将相应的数据存储至相应的数据分区。这样处理的优点在于数据分区都属于先创建的,而且可以将当前日期下可能会用 到的数据分区全部一次性建立,从而,在完成数据分析后一定可以为数据找到相对应的数据 分区,从而直接进行相应的存储,不用再另行建立数据分区,节省了数据分区的创建时间。方案二、根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或 多个相对应的数据分区。该方案的实现依赖于数据分析的实现,只有在数据分析进行过程中或数据分析完 成后,即产生了一个或多个数据分析结果后才能具体应用。当对一个数据完成了数据分析,确定了该数据的生命周期后,根据该生命周期,查 询当前是否已经存在相对应的数据分区,如果存在,则将该数据放入该数据分区,但是,如 果当前没有存在,则根据该数据的生命周期和当前的日期,创建相对应的数据分区,并将该 数据存储至新创建的该数据分区。这样处理的好处在于可以根据实际的数据分析情况进行数据分区的建立,不会创建用不到的数据分区,从而节约了建立用不到的数据分区所耗费的系统资源。步骤S102、根据数据的生命周期,将数据存储至时间范围与生命周期相对应的数 据分区中。需要进一步指出的是,上述的各数据在具体的数据表中可以设置有“业务日期”、 “生命周期”字段,从而在划分数据分区时,可以直接以此为依据进行存储,也可以不设置上 述的字段,而是仅仅设置具体的存储规则,已发生数据操作的日期为当前的业务日期,并设 置具体的生命周期生成规则,从而完成相应的数据存储。具体的生命周期生成规则在后续 说明中会进行详细叙述,在此不再重复描述。在具体的应用场景中,在达到相同技术效果的前提下,具体应用上述哪种方案,是 否设置上述的字段标识或规则并不会影响本申请的保护范围。在本申请实施例中,按照数据的生命周期将数据分配在对应的数据分区中,具有 相同生命周期的数据分配在一个数据分区中,生命周期不同的数据分配在不同的数据分区 中。例如,设置以天为基本单位确定数据的生命周期和数据分区的区间,具有相同生 命周期的数据分配在同一个数据分区中,该数据分区的时间范围与数据的生命周期相匹 配,数据分区的时间范围为数据分区开始时间与结束时间之间的时间范围;生命周期不同 的数据分配在不同的数据分区中,数据分区的时间范围与数据的生命周期相匹配。在对数据进行相关操作时,数据的生命周期会发生相应的改变,其中,对数据的相 关操作包括对数据进行新增操作、修改操作、删除操作以及其他操作。在本申请实施例中,设置数据的生命周期以天为基本单位,具体为1,新增数据的生命周期为进行新增操作的当前日期至无穷大;2,修改后数据的生命周期为进行修改操作的当前日期至无穷大;3,修改前数据的生命周期截止到进行修改操作的当前日期;4,删除数据的生命周期截止到进行删除操作的当前日期。根据数据的生命周期,将数据分配到与数据的生命周期相匹配的数据分区中,数 据分区的时间范围与数据的生命周期相匹配,具体的,与新增数据对应的数据分区的时间 范围为进行新增操作的当前日期至无穷大,与修改后数据对应的数据分区的时间范围为进 行修改操作的当前日期至无穷大,与修改前数据对应的数据分区的时间范围为该数据的初 始开始时间至进行修改操作的当前日期,与删除数据对应的数据分区的时间范围为该数据 的初始开始时间至进行删除操作的当前日期。在本申请实施例中,为了方便描述,以表1所示的各个数据分区分布为例进行说 明,表1中的各个表格中的信息具体为该数据分区所对应的时间范围。其中,表1中的列(Column)中列出了根据各业务日期所建立的的数据分区,行 (Row)中列出了时间范围为在当前业务日期之前的各个日期到当前业务日期的各个数据分区。表1数据分区格式示意列表
权利要求
1.一种数据分析方法,其特征在于,包括以下步骤 根据不同的时间范围创建相应的数据分区;根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中。
2.如权利要求1所述的方法,其特征在于,所述根据不同的时间范围创建相应的数据 分区,具体为根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分 区;或,根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的 数据分区。
3.如权利要求1所述的方法,其特征在于,根据数据的生命周期,将所述数据存储至时 间范围与所述生命周期相对应的数据分区中,具体为将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所述数 据分区的时间范围相匹配;其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间。
4.如权利要求3所述的方法,其特征在于,所述数据的生命周期具体包括当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷 大,修改前的数据的生命周期截止到进行修改操作的当前日期;当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
5.如权利要求1所述的方法,其特征在于,还包括根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数据分区,并在 所述数据分区中获取与所述业务日期对应的数据快照。
6.如权利要求5所述的方法,其特征在于,根据业务日期在当前存在的数据分区中确 定与所述业务日期相匹配的数据分区,具体包括,当所述数据分区满足,所述数据分区所对应时间范围的开始时间< 所述业务日期 <所 述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所 述数据分区为与所述业务日期相匹配的数据分区。
7.如权利要求5所述的方法,其特征在于,所述在所述数据分区中获取与所述业务日 期对应的数据快照,具体为将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期 对应的数据快照。
8.一种数据分析设备,其特征在于,包括创建模块,用于根据不同的时间范围创建相应的数据分区;存储模块,与所述创建模块相连接,用于根据数据的生命周期,将所述数据存储至所述 创建模块所创建的时间范围与所述生命周期相对应的数据分区中。
9.如权利要求8所述的设备,其特征在于,所述创建模块根据不同的时间范围创建相 应的数据分区,具体为所述创建模块根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相 对应的数据分区;或,所述创建模块根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或 多个相对应的数据分区。
10.如权利要求8所述的设备,其特征在于,所述存储模块根据数据的生命周期,将所 述数据存储至时间范围与所述生命周期相对应的数据分区中,具体为所述存储模块将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命 周期与所述数据分区的时间范围相匹配;其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间; 所述数据的生命周期具体包括当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷 大,修改前的数据的生命周期截止到进行修改操作的当前日期;当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
11.如权利要求8所述的设备,其特征在于,还包括确定模块和获取模块,所述确定模块,与所述创建模块相连接,用于根据业务日期在所述创建模块所创建的 当前存在的数据分区中确定与所述业务日期相匹配的数据分区;所述获取模块,与所述确定模块相连接,用于在所述确定模块所确定的数据分区中获 取与所述业务日期对应的数据快照;
12.如权利要求11所述的设备,其特征在于, 所述确定模块确定数据分区的具体方式包括当所述数据分区满足,所述数据分区所对应时间范围的开始时间< 所述业务日期 <所 述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所 述数据分区为与所述业务日期相匹配的数据分区。所述获取模块在所述数据分区中获取与所述业务日期对应的数据快照的具体方式包括将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期 对应的数据快照。
全文摘要
本申请实施例公开了一种数据分析方法和设备,通过数据的生命周期将数据存储在数据分区中实现了数据存储的不重复性,降低了容纳相同数目的快照总容量,节省了数据预处理的时间,并将数据预处理的时间控制在常规的增量合并的时间范围内,对获取的与业务日期相对应的数据分区进行合并获取对应的数据快照,提高了取快照的效率并降低了取快照的复杂程度。
文档编号G06F12/02GK102141963SQ20101010229
公开日2011年8月3日 申请日期2010年1月28日 优先权日2010年1月28日
发明者张清 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1