CN102141963A - 一种数据分析方法和设备 - Google Patents

一种数据分析方法和设备 Download PDF

Info

Publication number
CN102141963A
CN102141963A CN2010101022955A CN201010102295A CN102141963A CN 102141963 A CN102141963 A CN 102141963A CN 2010101022955 A CN2010101022955 A CN 2010101022955A CN 201010102295 A CN201010102295 A CN 201010102295A CN 102141963 A CN102141963 A CN 102141963A
Authority
CN
China
Prior art keywords
data
life cycle
date
partition
professional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010101022955A
Other languages
English (en)
Other versions
CN102141963B (zh
Inventor
张清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201010102295.5A priority Critical patent/CN102141963B/zh
Publication of CN102141963A publication Critical patent/CN102141963A/zh
Priority to HK11114069.4A priority patent/HK1159792A1/zh
Application granted granted Critical
Publication of CN102141963B publication Critical patent/CN102141963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据分析方法和设备,通过数据的生命周期将数据存储在数据分区中实现了数据存储的不重复性,降低了容纳相同数目的快照总容量,节省了数据预处理的时间,并将数据预处理的时间控制在常规的增量合并的时间范围内,对获取的与业务日期相对应的数据分区进行合并获取对应的数据快照,提高了取快照的效率并降低了取快照的复杂程度。

Description

一种数据分析方法和设备
技术领域
本申请实施例涉及数据存储技术领域,特别涉及一种数据分析方法和设备。
背景技术
缓慢变化维度(Slowly Changing Dimensions,SCD)是在数据仓库中随着时间的推移存储和管理当前数据和历史数据的维。它被视为并实现为跟踪维记录历史过程中最关键的数据抽取、转换和加载(Extraction TransformationLoading,ETL)任务之一。
SCD分为三种类型,可以使用Warehouse Builder定义、部署并加载这三种类型的SCD,分别为:
Type 1 SCD-覆盖
在Type 1 SCD中,新数据将覆盖现有数据。因此,现有数据将丢失,而不会存储在其他任何地方。这是创建的维的默认类型,不需要指定任何附加信息,即可创建Type 1 SCD。
Type 2 SCD-创建另一个维记录
Type 2 SCD可保留值的完整历史。如果选定属性的值发生更改,当前记录会关闭。***会使用更改后的数据值创建一个新记录,这个新记录将成为当前记录。每个记录都包含有效时间和过期时间,以标识记录处于活动状态的时间段。
Type 3 SCD-创建当前值域
Type 3 SCD可为某些选定的级别属性存储两个版本的值。每个记录都会存储选定属性的上一个值和当前值。如果任一选定属性的值发生更改,就会将当前值存储为旧值,而新值将成为当前值。
其中,SCD Type 2和Type 3可用于OWB 10gR2的企业ETL组件。利用核心ETL特性,只能使用SCD Type 1,即Do not keep history选项。
如果存储类型为多维联机分析处理(Muiltdimension On-Line AnalysisProcessing,MOLAP),则不能创建Type 2或Type 3缓慢变化维度。
常规的缓慢变化维度方法定位在单条商业记录的生命周期管理上,对单条商业数据的开始时间,结束时间做了记录,从而能够通过指定的商业日期,取出该商业日期的商业数据快照,而且要扫描的输入输出(Input-Output,IO)成本比该业务日期的真实大小要大很多,从而影响了应用在取快照的效率,只能解决快照的完整性,而不能解决使用快照的便捷和高性能。
现有的常规缓慢变化维技术的缺点是每次预处理和业务取快照都要扫描比指定快照大很多的IO,从而限制了预处理的效率和使用快照的效率。
发明内容
本申请实施例提供一种数据分析方法和设备,减少快照处理数据的数据量,提高应用处理的效率。
本申请实施例提供一种数据分析方法,包括以下步骤:
根据不同的时间范围创建相应的数据分区;
根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中。
优选的,所述根据不同的时间范围创建相应的数据分区,具体为:
根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区;或,
根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的数据分区。
优选的,根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中,具体为:
将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所述数据分区的时间范围相匹配;
其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间。
优选的,所述数据的生命周期具体包括:
当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;
当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;
当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
优选的,所述方法,还包括:
根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数据分区,并在所述数据分区中获取与所述业务日期对应的数据快照。
优选的,根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数据分区,具体包括,
当所述数据分区满足,所述数据分区所对应时间范围的开始时间≤所述业务日期<所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所述数据分区为与所述业务日期相匹配的数据分区。
优选的,所述在所述数据分区中获取与所述业务日期对应的数据快照,具体为:
将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期对应的数据快照。
另一方面,本申请实施例还提出了一种数据分析设备,包括:
创建模块,用于根据不同的时间范围创建相应的数据分区;
存储模块,与所述创建模块相连接,用于根据数据的生命周期,将所述数据存储至所述创建模块所创建的时间范围与所述生命周期相对应的数据分区中。
优选的,
所述创建模块根据不同的时间范围创建相应的数据分区,具体为:
所述创建模块根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区;或,
所述创建模块根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的数据分区。
优选的,
所述存储模块根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中,具体为:
所述存储模块将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所述数据分区的时间范围相匹配;
其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间;
所述数据的生命周期具体包括:
当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;
当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;
当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
优选的,所述设备还包括确定模块和获取模块,
所述确定模块,与所述创建模块相连接,用于根据业务日期在所述创建模块所创建的当前存在的数据分区中确定与所述业务日期相匹配的数据分区;
所述获取模块,与所述确定模块相连接,用于在所述确定模块所确定的数据分区中获取与所述业务日期对应的数据快照;
优选的,
所述确定模块确定数据分区的具体方式包括:
当所述数据分区满足,所述数据分区所对应时间范围的开始时间≤所述业务日期<所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所述数据分区为与所述业务日期相匹配的数据分区。
所述获取模块在所述数据分区中获取与所述业务日期对应的数据快照的具体方式包括:
将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期对应的数据快照。
本申请实施例包括以下优点:
通过应用本申请的技术方案,可以根据生命周期的变化对数据按照不同的数据分区进行存储,从而在获取数据时可以直接依据业务日期在相应的数据分区中对数据进行获取,而按照数据分区对不同生命周期的数据进行存储的思路,可以减小相同个数的快照的存储容量和预处理过程扫描的数据量,使预处理过程比常规的增量合并的过程时间短,由于获取数据快照的时候所扫描的数据容量就是确定的需要扫描的数据快照的真实大小,因此,不再需要扫描任何所需快照以外的数据,从而提升应用的便捷和效率。
附图说明
为了更清楚地说明本申请实施例或现有技术的技术方案,下面将对本申请实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一中的一种实现数据快照的方法流程图;
图2为本申请实施例二中的一种实现数据快照的方法流程图;
图3为本申请实施例三中的一种实现数据快照的设备的结构示意图。
具体实施方式
本申请实施例根据数据的生命周期将数据分配在对应的数据分区,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
如图1所示,为本申请实施例一中的一种数据分析方法,包括以下步骤:
步骤s101、根据不同的时间范围创建相应的数据分区。
在具体的应用场景中,本步骤的实现可以包括以下两种方案:
方案一、根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区。
这种方案在预设的周期性时间点启动,例如:在每一天的0点启动,当然,在实际的应用中也可以另行确定其他的任意时间点完成本步骤,具体时间的变化并不会影响本申请的保护范围。
该方案依据预设的创建规则直接建立与当前日期相对应的数据分区,例如:分别建立当前日期至无穷大的数据分区、先前各个日期至当前日期的数据分区等。
该方案的思想在于在数据分析之前,建立与当前日期相对应的各种数据分区,在进行数据分析之后,将相应的数据存储至相应的数据分区。
这样处理的优点在于数据分区都属于先创建的,而且可以将当前日期下可能会用到的数据分区全部一次性建立,从而,在完成数据分析后一定可以为数据找到相对应的数据分区,从而直接进行相应的存储,不用再另行建立数据分区,节省了数据分区的创建时间。
方案二、根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的数据分区。
该方案的实现依赖于数据分析的实现,只有在数据分析进行过程中或数据分析完成后,即产生了一个或多个数据分析结果后才能具体应用。
当对一个数据完成了数据分析,确定了该数据的生命周期后,根据该生命周期,查询当前是否已经存在相对应的数据分区,如果存在,则将该数据放入该数据分区,但是,如果当前没有存在,则根据该数据的生命周期和当前的日期,创建相对应的数据分区,并将该数据存储至新创建的该数据分区。
这样处理的好处在于可以根据实际的数据分析情况进行数据分区的建立,不会创建用不到的数据分区,从而节约了建立用不到的数据分区所耗费的***资源。
步骤S102、根据数据的生命周期,将数据存储至时间范围与生命周期相对应的数据分区中。
需要进一步指出的是,上述的各数据在具体的数据表中可以设置有“业务日期”、“生命周期”字段,从而在划分数据分区时,可以直接以此为依据进行存储,也可以不设置上述的字段,而是仅仅设置具体的存储规则,已发生数据操作的日期为当前的业务日期,并设置具体的生命周期生成规则,从而完成相应的数据存储。具体的生命周期生成规则在后续说明中会进行详细叙述,在此不再重复描述。
在具体的应用场景中,在达到相同技术效果的前提下,具体应用上述哪种方案,是否设置上述的字段标识或规则并不会影响本申请的保护范围。
在本申请实施例中,按照数据的生命周期将数据分配在对应的数据分区中,具有相同生命周期的数据分配在一个数据分区中,生命周期不同的数据分配在不同的数据分区中。
例如,设置以天为基本单位确定数据的生命周期和数据分区的区间,具有相同生命周期的数据分配在同一个数据分区中,该数据分区的时间范围与数据的生命周期相匹配,数据分区的时间范围为数据分区开始时间与结束时间之间的时间范围;生命周期不同的数据分配在不同的数据分区中,数据分区的时间范围与数据的生命周期相匹配。
在对数据进行相关操作时,数据的生命周期会发生相应的改变,其中,对数据的相关操作包括对数据进行新增操作、修改操作、删除操作以及其他操作。
在本申请实施例中,设置数据的生命周期以天为基本单位,具体为:
1,新增数据的生命周期为进行新增操作的当前日期至无穷大;
2,修改后数据的生命周期为进行修改操作的当前日期至无穷大;
3,修改前数据的生命周期截止到进行修改操作的当前日期;
4,删除数据的生命周期截止到进行删除操作的当前日期。
根据数据的生命周期,将数据分配到与数据的生命周期相匹配的数据分区中,数据分区的时间范围与数据的生命周期相匹配,具体的,与新增数据对应的数据分区的时间范围为进行新增操作的当前日期至无穷大,与修改后数据对应的数据分区的时间范围为进行修改操作的当前日期至无穷大,与修改前数据对应的数据分区的时间范围为该数据的初始开始时间至进行修改操作的当前日期,与删除数据对应的数据分区的时间范围为该数据的初始开始时间至进行删除操作的当前日期。
在本申请实施例中,为了方便描述,以表1所示的各个数据分区分布为例进行说明,表1中的各个表格中的信息具体为该数据分区所对应的时间范围。
其中,表1中的列(Column)中列出了根据各业务日期所建立的的数据分区,行(Row)中列出了时间范围为在当前业务日期之前的各个日期到当前业务日期的各个数据分区。
表1 数据分区格式示意列表
具体的,设置N1(N为正整数)为业务开始时间,与业务日期N1对应的数据的生命周期为N1-无穷大,与业务日期N1对应的数据分区最多为1个,数据分区的时间范围为N1-无穷大,分配在该数据分区中数据的生命周期从N1开始至无穷大。
需要说明的是,在上述描述中,在业务日期N1,存储在时间范围为N1-无穷大的数据分区中数据的生命周期为N1-无穷大,其中,数据的生命周期N1表示数据的生命开始时间,无穷大表示在业务日期N1下,数据未发生任何操作,其生命周期未结束,因此用无穷大表示数据的结束时间。当然,在N1之后的业务日期中,当生命周期为N1-无穷大的数据发生相关操作时,例如,生命周期为N1-无穷大的数据发生修改或删除操作时,数据的生命周期将发生改变,生命周期修改后的部分或全部数据将被保存在新的数据分区中,且数据的生命周期和数据分区的时间范围相匹配。具体的,对数据进行相关操作后数据的生命周期发生改变的几种情况进行详细描述。
在业务日期N2,N1<N2,当数据发生新增、修改或删除操作时,对应数据的生命周期也发生改变,具体的,在业务日期N2,当发生数据新增操作时,新增数据的生命周期为N2-无穷大;当生命周期为N1-无穷大的数据发生修改操作时,修改后数据的生命周期为N2-无穷大,修改前数据的生命周期为N1-N2;当生命周期为N1-无穷大的数据删除修改操作时,删除数据的生命周期为N1-N2。
因此,根据数据的生命周期,将数据分配在对应的数据分区中。具体的,在业务日期N2,新增的数据和修改后的数据的生命周期为N2-无穷大,修改前的数据和删除的数据的生命周期为N1-N2,将生命周期为N2-无穷大的数据分配在时间范围为N2-无穷大的数据分区中,将生命周期为N1-N2的数据分配在时间范围为N1-N2的数据分区。
在业务日期N2中,根据数据的生命周期,对应的数据分区最多为2个,数据分区的时间范围分别为N2-无穷大和N1-N2。当然,在业务日期N2中,数据新增操作、数据修改操作或数据删除操作可以同时发生,或者只发生其中的某一个或几个操作,或者不发生任何数据操作。例如,在业务日期N2中,当只发生数据新增操作,而未发生数据修改操作或数据删除操作时,新增数据将分配在时间范围为N2-无穷大的数据区间中,而在时间范围为N1-N2的数据区间中未被数据占用。
需要说明的是,与业务日期N2对应的数据区间N2-无穷大和数据区间N1-N2中的数据,与业务日期N1对应的数据区间N1-无穷大中的数据未产生重合,即在不同的数据分区中,存储的是具有不同生命周期的数据,且对应数据分区的时间范围与数据的生命周期相匹配,具有相同生命周期的数据存储在一个数据分区中。在本申请实施例中,按照数据的生命周期将数据分配在对应的数据分区中,确保了数据存储的不重复性。
同样的,在业务日期N3,N2<N3当数据发生新增、修改或删除操作时,对应数据的生命周期也发生改变,具体的,在业务日期N3,当发生数据新增操作时,新增数据的生命周期为N3-无穷大;当生命周期为N1-无穷大的数据发生修改操作时,修改后数据的生命周期为N3-无穷大,修改前数据的生命周期为N1-N3;当生命周期为N2-无穷大的数据发生修改操作时,修改后数据的生命周期为N3-无穷大,修改前数据的生命周期为N2-N3;当生命周期为N1-无穷大的数据删除修改操作时,删除数据的生命周期为N1-N3,当生命周期为N2-无穷大的数据删除修改操作时,删除数据的生命周期为N2-N3。
因此,根据数据的生命周期,将数据分配在对应的数据分区中。具体的,在业务日期N3,将生命周期为N3-无穷大的数据分配在时间范围为N3-无穷大的数据分区中,将生命周期为N1-N3的数据分配在时间范围为N1-N3的数据分区中,将生命周期为N2-N3的数据分配在时间范围为N2-N3的数据分区中,其中,生命周期为N3-无穷大的数据包括新增的数据,以及对生命周期为N1-无穷大的数据进行修改操作后的数据和对生命周期为N2-无穷大的数据进行修改操作后的数据;生命周期为N1-N3的数据包括对生命周期为N1-无穷大的数据进行修改操作前的数据和对生命周期为N1-无穷大的数据进行删除操作的数据;生命周期为N2-N3的数据包括对生命周期为N2-无穷大的数据进行修改操作前的数据和对生命周期为N2-无穷大的数据进行删除操作的数据。
在业务日期N3中,根据数据的生命周期,对应的数据分区最多为3个,数据分区的时间范围分别为N3-无穷大、N1-N3和N2-N3。当然,在业务日期N3中,数据新增操作、数据修改操作或数据删除操作可以同时发生,或者只发生其中的某一个或几个操作,或者不发生任何数据操作,例如,在业务日期N3中,在只对生命周期为N1-无穷大的数据和生命周期为N2-无穷大的数据进行删除操作,删除数据将分别被分配在时间范围为N1-N3的数据分区和时间范围为N2-N3的数据分区中,而时间范围为N3-无穷大的数据分区未被数据占用。
需要说明的是,业务日期N3对应的数据区间N3-无穷大、数据区间N1-N3和数据区间N2-N3中的数据互不重合,另外,与业务日期N3对应的数据区间中的数据和业务日期N1、业务日期N2对应的数据区间中的数据互不重合。在不同的数据分区中,存储的是具有不同生命周期的数据,具有相同生命周期的数据存储在一个数据分区中,确保了数据存储的不重复性。
同理,在业务日期N4中,N3<N4根据数据的生命周期,对应的数据分区最多有4个,其数据分区的时间范围分别为:N4-无穷大、N1-N4、N2-N4和N3-N4;在业务日期N5中,N4<N5根据数据的生命周期,对应的数据分区最多有5个,其数据分区的时间范围分别为:N5-无穷大、N1-N5、N2-N5、N3-N5和N4-N5;在业务日期Nn中,Nn-1<Nn,根据数据的生命周期,对应的数据分区最多有n个,其数据分区的时间范围分别为:Nn-无穷大、N1-Nn、N2-Nn、N3-Nn……Nn-1-Nn。
在本申请实施例中,根据数据的生命周期将数据分配在对应的数据分区中,具有相同生命周期的数据存储在一个数据分区中,不同日期范围的数据分区中存储不同生命周期的数据,完成数据快照的预处理过程。
由于数据的生命周期具有唯一性,且在进行数据新增、数据修改或数据删除操作后,数据仍具有唯一的生命周期,所有根据数据的生命周期将数据分配在对应的数据分区中确保了数据存储的不重复性,降低了对数据快照进行预处理的时间,并将预处理时间控制在常规的增量合并的过程所需的时间范围内。
至此,本申请的技术方案完成了数据分析过程,将对应的数据存储在了各个数据分区中。
在实际的应用中,基于上述的数据分析结果,本申请还进一步提出了后续的数据快照提取过程,具体如下:
步骤s103、根据业务日期在当前存在的数据分区中确定与业务日期相匹配的数据分区,并在该数据分区中获取与该业务日期对应的数据快照。
数据分区按照时间范围进行区分,一个数据分区中所存储的数据具有相同的生命周期,不同的数据分区中所存储的数据具有不同的生命周期。根据业务日期,在数据分区中获取与该业务日期相匹配的数据分区,当业务日期满足:数据分区所对应时间范围的开始时间≤业务日期<数据分区所对应时间范围的结束时间时,获取该数据分区是与该业务日期相匹配的数据分区。
例如,根据业务日期N1获取与N1对应的数据分区,由于
N1=N1<无穷大,N1-无穷大是业务日期N1相对应的有效数据分区;
N1=N1<N2,N1-N2是业务日期N1相对应的有效数据分区;
N1=N1<N3,N1-N3是业务日期N1相对应的有效数据分区;
……
N1=N1<Nn,N1-Nn是业务日期N1相对应的有效数据分区。
因此,根据上述筛选条件,获取与业务日期N1相对应的所有数据分区,具体为:N1-无穷大、N1-N2、N1-N3……N1-Nn。
而数据区间N2-N3和数据区间N3-无穷大,由于N2≤N1<N3不成立,N3≤N1<无穷大不成立,所以数据区间N2-N3和数据区间N3-无穷大不是与业务日期N1相匹配的数据分区。
又例如,根据业务日期N3获取与N3对应的数据分区,由于
N1<N3<无穷大,N1-无穷大是业务日期N3相对应的有效数据分区;
N2<N3<无穷大,N2-无穷大是业务日期N3相对应的有效数据分区;
N1≤N3<N2,不成立,N1-N2不是业务日期N3相对应的有效数据分区;
N3=N3<无穷大,N3-无穷大是业务日期N3相对应的有效数据分区;
N1<N3=N3,不成立,N1-N3不是业务日期N3相对应的有效数据分区;
N2<N3=N3,不成立,N2-N3不是业务日期N3相对应的有效数据分区;
N4≤N3<无穷大,不成立,N4-无穷大不是业务日期N3相对应的有效数据分区;
N1<N3<N4,N1-N4是业务日期N3相对应的有效数据分区;
N2<N3<N4,N2-N4是业务日期N3相对应的有效数据分区;
N3=N3<N4,N3-N4是业务日期N3相对应的有效数据分区;
以此类推。
因此,根据上述筛选条件,获取与业务日期N3相对应的所有数据区间,具体为:N1-无穷大、N2-无穷大、N3-无穷大、N1-N4、N2-N4、N3-N4、N1-N5、N2-N5、N3-N5……N1-Nn、N2-Nn、N3-Nn。
在获取到与业务日期相匹配的数据分区后,将确定的与业务日期相匹配的数据分区进行合并操作,获取与业务日期对应的数据快照。
SNIA(Storage Network Industry Association,存储网络行业协会)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
而从具体的技术细节来讲,快照是指向保存在存储设备中的数据的引用标记或指针。可以这样理解,快照有点像是详细的目录表,但它被计算机作为完整的数据备份来对待。
快照有三种基本形式:基于文件***式的、基于子***式的和基于卷管理器/虚拟化式的,而且这三种形式差别很大。市场上已经出现了能够自动生成这些快照的实用工具,比如有代表性的有NetApp的存储设备基于文件***实现,高中低端设备使用共同的操作***,都能够实现快照应用;HP的EVA、HDS通用存储平台以及EMC的高端阵列则实现了子***式快照;而Veritas则通过卷管理器实现快照。
在本申请中,对于快照的实现是针对根据业务日期所选择出的多个数据分区来进行的,上述数据分区中的内容将被作为整体生成数据快照,而不再需要进一步进行处理。
具体生成快照的方式可以根据具体的应用场景需要来进行调整,在能够实现生成快照的技术效果的前提下,具体快照形式的变化并不会影响本申请的保护范围。
根据本申请实施例中按照数据的生命周期将数据分配在对应的数据分区中,且数据分区的时间范围与数据的生命周期相匹配,由于不同的数据分区具有不同的时间范围,因此获取的与业务日期相匹配的所有数据分区的时间范围都是不同的。在获取到与业务日期相匹配的数据分区后,由于具有相同生命周期的数据存储在一个数据分区中,不同生命周期的数据存储在不同的数据分区中,因此,无需对获取到的所述数据分区中的数据进行任何附加处理,只需将所有数据分区进行合并后获取与该业务日期相对应的数据快照。
需要说明的是,在本申请实施例中,根据数据的生命周期将数据存储在对应的数据分区中,再根据业务日期获取与该业务日期相对应的数据分区,将获取的数据分区进行合并后得到与该业务日期相对应的数据快照,与现有技术相比,根据数据的生命周期实现了数据在数据分区中的不重复存储,使得快照的预处理时间控制在常规的增量合并的时间范围内,且保证了容纳相同数目的快照总容量最小。
另外,本申请实施例代替了现有技术中对单条数据的生命周期进行记录的数据管理方式,减少了单条数据记录的开始时间和结束时间的存储成本,避免了对所有数据进行扫描的IO成本,在获取与业务日期对应的数据分区后,无需做任何附加处理即可获取完成的快照,提高了取快照的效率。
需要进一步指出的是,上述的数据分析过程和数据快照提取过程同样适用于海量数据的处理场景,并且,在海量数据的处理场景中,由于本申请的技术方案对相应的数据都按照不同的数据分区进行了分析和存储,所以,在后续的处理和快照提取过程中,可以有效的提高处理效率,降低IO成本,尤其可以体现本申请的技术方案的优势。
因此,具体应用场景以及所处理数据的数据量的变化并不会影响本发明的保护范围。
本申请实施例包括以下优点:
通过应用本申请的技术方案,可以根据生命周期的变化对数据按照不同的数据分区进行存储,从而在获取数据时可以直接依据业务日期在相应的数据分区中对数据进行获取,而按照数据分区对不同生命周期的数据进行存储的思路,可以减小相同个数的快照的存储容量和预处理过程扫描的数据量,使预处理过程比常规的增量合并的过程时间短,由于获取数据快照的时候所扫描的数据容量就是确定的需要扫描的数据快照的真实大小,因此,不再需要扫描任何所需快照以外的数据,从而提升应用的便捷和效率。
如图2所示,为本申请实施例二中的一种数据分析方法的流程示意图,包括以下步骤:
步骤s201、按照数据的生命周期将数据分配在对应的数据分区。
在本申请实施例中,按照数据的生命周期将数据分配在对应的数据分区中,具有相同生命周期的数据分配在一个数据分区中,生命周期不同的数据分配在不同的数据分区中,且对应的数据分区的时间范围与数据的生命周期与相匹配。具体的,设置以天为基本单位确定数据的生命周期和数据分区的区间。
对数据进行相应的操作,数据的生命周期发生相应的改变,设置数据的生命周期以天为基本单位,具体为:
1,新增数据的生命周期为进行新增操作的当前日期至无穷大;
2,修改后数据的生命周期为进行修改操作的当前日期至无穷大;
3,修改前数据的生命周期截止到进行修改操作的当前日期;
4,删除数据的生命周期截止到进行删除操作的当前日期。
在本申请实施例中,为了便于描述,以业务日期1月1日(简称为1.1,以下简称规则相同,不再重复叙述)为开始业务日期,业务日期1.5为结束业务日期。其中,业务日期1.1对应的数据分区的时间范围为1.1-无穷大,且与1.1对应的数据分区只有1个,生命周期为1.1-无穷大的数据存储在业务日期1.1对应的时间范围为1.1-无穷大的数据分区中,即数据的生命周期与对应的数据分区的时间范围相匹配。
具体的,本申请实施例中,为了方便描述,以表2所示的各个数据分区分布为例进行说明,表2中的各个表格中的信息具体为该数据分区所对应的时间范围。
其中,表2中的列(Column)中列出了根据各业务日期所建立的的数据分区,行(Row)中列出了时间范围为在当前业务日期之前的各个日期到当前业务日期的各个数据分区
表2 以1月1日为参考业务日期的数据分区示意列表
Figure GSA00000007923000161
当然,在本申请实施例中,还可以以其他业务日期作为参考业务日期,例如,可以以1.2为参考业务日期,或以1.3为参考业务日期,具体的如何选择参考业务日期可以根据用户的具体需要进行设定,在此不再一一赘述。
在业务日期1.2,在发生数据新增操作时,新增数据的生命周期为1.2-无穷大;对生命周期为1.1-无穷大的全部或部分数据进行修改操作,修改前数据的生命周期为1.1-1.2,修改后数据的生命周期为1.2-无穷大;对生命周期为1.1-无穷大的全部或部分数据进行删除操作,删除数据的生命周期为1.1-1.2。根据数据的生命周期将数据分配在对应的数据分区中,将生命周期为1.1-1.2的数据存储在时间范围为1.1-1.2的数据分区中,将生命周期为1.1-无穷大的数据存储在时间范围为1.1-无穷大的数据分区中。
当然,在业务日期1.2,数据新增操作、数据修改操作或数据删除操作可以同时发生,或者只发生其中的某一个或几个操作,或者不发生任何数据操作。
例如,在业务日期1.3,只对生命周期为1.1-无穷大的数据和生命周期为1.2-无穷大的数据进行修改操作。具体的,对生命周期为1.1-无穷大的数据进行修改操作,修改前数据的生命周期为1.1-1.3,修改后数据的生命周期为1.3-无穷大;对生命周期为1.2-无穷大的数据进行修改操作,修改前数据的生命周期为1.2-1.3,修改后数据的生命周期为1.2-无穷大。
再根据数据的生命周期将数据分配在对应的数据分区中,将生命周期为1.1-1.3的数据存储在时间范围为1.1-1.3的数据分区中,将生命周期为1.2-1.3的数据存储在时间范围为1.2-1.3的数据分区中,将生命周期为1.3-无穷大的数据存储在时间范围为1.3-无穷大的数据分区中。
需要说明的是,在业务日期1.3,在执行对数据的修改操作或删除操作时,只能对生命周期为1.1-无穷大的数据和生命周期为1.2-无穷大的数据进行修改操作或删除操作,对生命周期为1.1-1.2的数据无法进行修改操作或删除操作,原因在于生命周期为1.1-1.2的数据表示数据的生命开始时间为1.1,数据的生命周期截止日期为1.2,因此在业务日期1.3,无法对生命周期为1.1-1.2的数据进行修改操作或删除操作。
同样的,在业务日期1.4,只能对生命周期为1.1-无穷大的数据、生命周期为1.2-无穷大的数据和生命周期为1.3-无穷大的数据进行修改操作或删除操作,而对生命周期为1.1-1.2的数据、生命周期为1.1-1.3的数据和生命周期为1.2-1.3的数据无法行修改操作或删除操作,具体原因不在一一赘述。
在业务日期1.4,当发生数据新增操作时,新增数据的生命周期为1.4-无穷大;对生命周期为1.2-无穷大的全部或部分数据进行修改操作,修改前数据的生命周期为1.2-1.4,修改后数据的生命周期为1.4-无穷大;对生命周期为1.3-无穷大的全部或部分数据进行删除操作,删除数据的生命周期为1.3-1.4。
再根据数据的生命周期将数据分配在对应的数据分区中,将生命周期为1.2-1.4的数据存储在时间范围为1.2-1.4的数据分区中,将生命周期为1.3-1.4的数据存储在时间范围为1.3-1.4的数据分区中,将生命周期为1.4-无穷大的数据存储在时间范围为1.4-无穷大的数据分区中。
根据本申请实施例一中的描述,在业务日期1.4,最多有4个数据分区,具体为:1.1-1.4、1.2-1.4、1.3-1.4和1.4-无穷大。其中,时间范围为1.1-1.4的数据分区用于存储对生命周期为1.1-无穷大进行操作后的数据。例如,对生命周期为1.1-无穷大进行修改操作,修改前数据的生命周期为1.1-1.4,所以生命周期为1.1-1.4的数据将被存储在时间范围为1.1-1.4的数据分区中。但是,在本申请实施例中,由于对生命周期为1.1-无穷大的数据未进行任何操作,时间范围为1.1-1.4的数据分区未被占用,即与业务日期1.4对应的数据分区有3个,分别为1.2-1.4、1.3-1.4和1.4-无穷大。
在业务日期1.5,对应的数据分区最多有5个,数据分区的时间范围分别为1.1-1.5、1.2-1.5、1.3-1.5、1.4-1.5和1.5-无穷大。其中,对生命周期为1.1-无穷大的数据进行修改操作和删除操作,修改前的数据和删除的数据存储在时间范围为1.1-1.5的数据分区中,修改后的数据存储在时间范围为1.5-无穷大的数据分区;对生命周期为1.2-无穷大的数据进行修改操作和删除操作,修改前的数据和删除的数据存储在时间范围为1.2-1.5的数据分区中,修改后的数据存储在时间范围为1.5-无穷大的数据分区;对生命周期为1.3-无穷大的数据进行修改操作和删除操作,修改前的数据和删除的数据存储在时间范围为1.3-1.5的数据分区中,修改后的数据存储在时间范围为1.5-无穷大的数据分区;对生命周期为1.4-无穷大的数据进行修改操作和删除操作,修改前的数据和删除的数据存储在时间范围为1.4-1.5的数据分区中,修改后的数据存储在时间范围为1.5-无穷大的数据分区;新增数据的生命周期为1.5-无穷大,存储在时间范围为1.5-无穷大的数据分区中。
当然,上述列举的只是在业务日期1.5可能出现的数据操作,具体的,根据实际数据操作情况确定数据分区的数目。另外,在业务日期1.5,无法对存储在下列时间范围的数据分区中的数据进行任何操作:1.1-1.2、1.1-1.3、1.2-1.3、1.1-1.4、1.2-1.4、1.3-1.4,具体原因在此不再赘述。
根据数据的生命周期将数据分配在对应的数据分区中,且数据分区的时间范围与数据的生命周期相匹配,完成数据快照的预处理过程,具体的,上述对数据快照的预处理过程可以基于分布式计算的hadoop底层上的hive DB,采用sql语言来实现,通过采用sql语言对数据快照进行预处理,比采用传统的oracle的方式更具备扩展性,成本也更低廉。
在本申请实施例中,根据数据的生命周期将数据分配在对应的数据分区中,具有相同生命周期的数据存储在一个数据分区中,不同日期范围的数据分区中存储不同生命周期的数据,由于数据的生命周期具有唯一性,且在进行数据新增、数据修改或数据删除操作后,数据仍具有唯一的生命周期,所有根据数据的生命周期将数据分配在对应的数据分区中确保了数据存储的不重复性,降低了对数据快照进行预处理的时间,并将预处理时间控制在常规的增量合并的过程所需的时间范围内。
步骤s202、根据业务日期在数据分区中获取与业务日期相匹配的数据分区。
根据数据的生命周期将数据分配在对应的数据分区中,且数据分区的时间范围与数据的生命周期相匹配,具有相同生命周期的数据存储在一个数据分区中,不同数据分区中存储着具有不同生命周期的数据,从而完成数据的预处理过程。
在完成数据快照的预处理过程后,根据业务日期在数据分区中获取与业务日期相匹配的数据快照。
由于数据分区是按照时间范围进行区分的,一个数据分区的时间范围是指开始时间与结束时间之间的区间,在根据业务日期在数据分区中获取与该业务日期相匹配的数据分区,当该业务日期满足:数据分区开始时间start_date≤业务日期bizdate<数据分区结束时间end_date时,获取该数据分区是与该业务日期相匹配的数据分区。
在本申请实施例中,以步骤s201中所描述的以业务日期1.1为开始业务日期,业务日期1.5为结束业务日期的业务时间范围为例,获取对应业务日期的数据快照。下面结合不同的业务日期获取与该业务日期相对应的数据快照进行详细的描述。
例如,根据业务日期1.1,获取与1.1对应的数据分区:
1.1=1.1<无穷大,1.1-无穷大是业务日期1.1相对应的有效数据分区;
1.1=1.1<1.2,1.1-1.2是业务日期1.1相对应的有效数据分区;
1.1=1.1<1.3,1.1-1.3是业务日期1.1相对应的有效数据分区;
1.1=1.1<1.5,1.1-1.5是业务日期1.1相对应的有效数据分区;
1.2≤1.1<1.3,不成立,1.2-1.3不是业务日期1.1相对应的有效数据分区;
1.3≤1.1<无穷大,不成立,1.3-无穷大不是业务日期1.1相对应的有效数据分区。
因此,根据数据分区开始时间start_date≤业务日期bizdate<数据分区结束时间end_date,获取与业务日期1.1相对应的所有有效数据分区,有效数据分区的时间范围具体为:1.1-无穷大、1.1-1.2、1.1-1.3和1.1-1.5。
例如,根据业务日期1.3,获取与1.3对应的数据分区:
1.1<1.3<无穷大,1.1-无穷大是业务日期1.3相对应的有效数据分区;
1.2<1.3<无穷大,1.2-无穷大是业务日期1.3相对应的有效数据分区;
1.1≤1.3<1.2,不成立,1.1-1.2不是业务日期1.3相对应的有效数据分区;
1.3=1.3<无穷大,1.3-无穷大是业务日期1.3相对应的有效数据分区;
1.1≤1.3<1.3,不成立,1.1-1.3不是业务日期1.3相对应的有效数据分区;
1.2≤1.3<1.3,不成立,1.1-1.3不是业务日期1.3相对应的有效数据分区;
以此类推,1.2-1.4、1.3-1.4、1.1-1.5、1.2-1.5、1.3-1.5也是与业务日期1.3相对应的有效数据分区。
因此,根据数据分区开始时间start_date≤业务日期bizdate<数据分区结束时间end_date,获取与业务日期1.3相对应的所有有效数据分区,有效数据分区的时间范围具体为:1.1-无穷大、1.2-无穷大、1.3-无穷大、1.2-1.4、1.3-1.4、1.1-1.5、1.2-1.5、1.3-1.5。且与业务日期1.3相对应的各有效数据分区中存储的数据具有不同的生命周期。
相应的,当业务日期满足数据分区开始时间start_date≤业务日期bizdate<数据分区结束时间end_date时,获取该数据分区就是与该业务日期相对应的数据分区,因此,根据该筛选条件还可以获取与业务日期1.2、1.4和1.5相对应的数据分区,在此不再一一赘述。
步骤s203、根据获取的与业务日期相匹配的数据分区,获取与业务日期对应的数据快照。
在步骤s202中,根据数据分区开始时间start_date≤业务日期bizdate<数据分区结束时间end_date的筛选条件,获取与业务日期相对应的所有有效数据分区。
又,在步骤s201中,根据数据的生命周期将数据分配在对应的数据分区中,数据分区的时间范围与数据的生命周期相匹配,具体的,具有相同生命周期的数据存储在一个数据分区中,不同的数据分区中存储的数据具有不同的生命周期。
所以,获取的与业务日期相对应的所有有效数据分区中,各数据分区中存储的数据具有不同的生命周期,在一个数据分区中存储具有相同生命周期的数据,且在一个数据分区中存储的具有相同生命周期的数据为一个或多个。即获取的与业务日期相对应的数据分区中的数据不具有重复性,因此,在获取到与业务日期相匹配的数据分区后,无需对获取到的所述数据分区中的数据进行任何附加处理,只需将所有数据分区进行合并后获取与该业务日期相对应的数据快照。
需要说明的是,与现有技术相比,根据数据的生命周期实现了数据在数据分区中的不重复存储,使得快照的预处理时间控制在常规的增量合并的时间范围内,且保证了容纳相同数目的快照总容量最小,另外,在一个数据分区中存储具有相同生命周期的数据,且在一个数据分区中存储的具有相同生命周期的数据为一个或多个,代替了现有技术中对单条数据的生命周期进行记录的数据管理方式,减少了单条数据记录的开始时间和结束时间的存储成本,避免了对所有数据进行扫描的I/O成本,在本申请实施例中,根据业务日期获取数据快照需进行扫描的I/O容量就是所需扫描的数据快照的真实大小,不需要扫描任何一点所需获取快照以外的数据,在获取与业务日期对应的数据分区后,无需做任何附加处理即可获取完成的快照,提高了取快照的效率。
例如,与业务日期1.1对应的数据分区的时间范围为1.1-无穷大、1.1-1.2、1.1-1.3和1.1-1.5,由于各数据分区存储的数据具有不同的生命周期,一个数据分区中存储的数据具有相同的生命周期,不同的数据分区中数据不具有重复性,所以将获取的与业务日期1.1对应的数据分区进行合并,获取与业务日期1.1相对应的数据快照。
另外,需要说明的是,由于不同的数据分区中数据不具有重复性,所以,在获取与业务日期1.1对应的数据分区分别为1.1-无穷大、1.1-1.2、1.1-1.3和1.1-1.5后,也可以不对各数据分区进行合并,各数据分区已经可以表示与业务日期相对应的数据快照。
相应的,将与业务日期1.3相对应的所有有效数据分区进行合并,具体的,将时间范围为1.1-无穷大、1.2-无穷大、1.3-无穷大、1.2-1.4、1.3-1.4、1.1-1.5、1.2-1.5、1.3-1.5的数据区间进行合并即可得到与业务日期1.3相对应的数据快照。当然,对获取的与业务日期1.3相对应的数据分区后,对各数据分区可不执行合并操作,各数据分区中存储的不重复的数据已经可以作为与业务日期1.3相对应的数据快照。
本申请实施例包括以下优点:
通过应用本申请的技术方案,可以根据生命周期的变化对数据按照不同的数据分区进行存储,从而在获取数据时可以直接依据业务日期在相应的数据分区中对数据进行获取,而按照数据分区对不同生命周期的数据进行存储的思路,可以减小相同个数的快照的存储容量和预处理过程扫描的数据量,使预处理过程比常规的增量合并的过程时间短,由于获取数据快照的时候所扫描的数据容量就是确定的需要扫描的数据快照的真实大小,因此,不再需要扫描任何所需快照以外的数据,从而提升应用的便捷和效率。
另一方面,本申请实施例还提供了一种数据快照的实现设备,其结构示意图如图3所示,具体包括:
创建模块31,用于根据不同的时间范围创建相应的数据分区;
在具体的应用场景中,具体的创建方式包括以下两种方式:
方案一、所述创建模块31根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区。
这种方案在预设的周期性时间点启动,例如:在每一天的0点启动,当然,在实际的应用中也可以另行确定其他的任意时间点完成本步骤,具体时间的变化并不会影响本申请的保护范围。
该方案依据预设的创建规则直接建立与当前日期相对应的数据分区,例如:分别建立当前日期至无穷大的数据分区、先前各个日期至当前日期的数据分区等。
该方案的思想在于在数据分析之前,建立与当前日期相对应的各种数据分区,在进行数据分析之后,将相应的数据存储至相应的数据分区。
这样处理的优点在于数据分区都属于先创建的,而且可以将当前日期下可能会用到的数据分区全部一次性建立,从而,在完成数据分析后一定可以为数据找到相对应的数据分区,从而直接进行相应的存储,不用再另行建立数据分区,节省了数据分区的创建时间。
方案二、所述创建模块31根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的数据分区。
该方案的实现依赖于数据分析的实现,只有在数据分析进行过程中或数据分析完成后,即产生了一个或多个数据分析结果后才能具体应用。
当对一个数据完成了数据分析,确定了该数据的生命周期后,根据该生命周期,查询当前是否已经存在相对应的数据分区,如果存在,则将该数据放入该数据分区,但是,如果当前没有存在,则根据该数据的生命周期和当前的日期,创建相对应的数据分区,并将该数据存储至新创建的该数据分区。
这样处理的好处在于可以根据实际的数据分析情况进行数据分区的建立,不会创建用不到的数据分区,从而节约了建立用不到的数据分区所耗费的***资源。
存储模块32,与所述创建模块31相连接,用于根据数据的生命周期,将所述数据存储至所述创建模块31所创建的时间范围与所述生命周期相对应的数据分区中。
在具体的应用场景中,本模块的具体实现流程为:
所述存储模块32将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所述数据分区的时间范围相匹配;
其中,
所述数据分区的时间范围为所述数据分区业务开始时间至结束时间;
所述数据的生命周期具体包括:
当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;
当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;
当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
进一步的,上述一种数据快照的实现设备还包括确定模块33和获取模块34,
所述确定模块33,与所述创建模块31相连接,用于根据业务日期在所述创建模块31所创建的当前存在的数据分区中确定与所述业务日期相匹配的数据分区;
其中,所述确定模块33确定数据分区的具体方式包括:
当所述数据分区满足,所述数据分区所对应时间范围的开始时间≤所述业务日期<所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所述数据分区为与所述业务日期相匹配的数据分区。
所述获取模块34,与所述确定模块33相连接,用于在所述确定模块33所确定的数据分区中获取与所述业务日期对应的数据快照;
其中,所述获取模块34在所述数据分区中获取与所述业务日期对应的数据快照的具体方式包括:
将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期对应的数据快照。
需要进一步指出的是,上述的各个模块可以以软件、硬件或者软、硬件结合的方式实现,以实施前述实施例描写的数据分析方法,以及相应的数据快照提取过程,这样的变化并不会影响本申请的保护范围。
本申请实施例包括以下优点:
通过应用本申请的技术方案,可以根据生命周期的变化对数据按照不同的数据分区进行存储,从而在获取数据时可以直接依据业务日期在相应的数据分区中对数据进行获取,而按照数据分区对不同生命周期的数据进行存储的思路,可以减小相同个数的快照的存储容量和预处理过程扫描的数据量,使预处理过程比常规的增量合并的过程时间短,由于获取数据快照的时候所扫描的数据容量就是确定的需要扫描的数据快照的真实大小,因此,不再需要扫描任何所需快照以外的数据,从而提升应用的便捷和效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请实施例所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请实施例的几个具体实施例,但是,本申请实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请实施例的保护范围。

Claims (12)

1.一种数据分析方法,其特征在于,包括以下步骤:
根据不同的时间范围创建相应的数据分区;
根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中。
2.如权利要求1所述的方法,其特征在于,所述根据不同的时间范围创建相应的数据分区,具体为:
根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区;或,
根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的数据分区。
3.如权利要求1所述的方法,其特征在于,根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中,具体为:
将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所述数据分区的时间范围相匹配;
其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间。
4.如权利要求3所述的方法,其特征在于,所述数据的生命周期具体包括:
当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;
当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;
当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
5.如权利要求1所述的方法,其特征在于,还包括:
根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数据分区,并在所述数据分区中获取与所述业务日期对应的数据快照。
6.如权利要求5所述的方法,其特征在于,根据业务日期在当前存在的数据分区中确定与所述业务日期相匹配的数据分区,具体包括,
当所述数据分区满足,所述数据分区所对应时间范围的开始时间≤所述业务日期<所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所述数据分区为与所述业务日期相匹配的数据分区。
7.如权利要求5所述的方法,其特征在于,所述在所述数据分区中获取与所述业务日期对应的数据快照,具体为:
将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期对应的数据快照。
8.一种数据分析设备,其特征在于,包括:
创建模块,用于根据不同的时间范围创建相应的数据分区;
存储模块,与所述创建模块相连接,用于根据数据的生命周期,将所述数据存储至所述创建模块所创建的时间范围与所述生命周期相对应的数据分区中。
9.如权利要求8所述的设备,其特征在于,所述创建模块根据不同的时间范围创建相应的数据分区,具体为:
所述创建模块根据当前时间所能对应的一个或多个时间范围,分别创建一个或多个相对应的数据分区;或,
所述创建模块根据当前各已存在数据的生命周期所对应的时间范围,分别创建一个或多个相对应的数据分区。
10.如权利要求8所述的设备,其特征在于,所述存储模块根据数据的生命周期,将所述数据存储至时间范围与所述生命周期相对应的数据分区中,具体为:
所述存储模块将所述数据所对应的数据分配在相应的所述数据分区,所述数据的生命周期与所述数据分区的时间范围相匹配;
其中,所述数据分区的时间范围为所述数据分区业务开始时间至结束时间;
所述数据的生命周期具体包括:
当所述数据为新增数据时,所述数据的生命周期为进行新增操作的当前日期至无穷大;
当所述数据被修改时,修改后的数据的生命周期为进行修改操作的当前日期至无穷大,修改前的数据的生命周期截止到进行修改操作的当前日期;
当所述数据被删除时,被删除的数据的生命周期截止到进行删除操作的当前日期。
11.如权利要求8所述的设备,其特征在于,还包括确定模块和获取模块,
所述确定模块,与所述创建模块相连接,用于根据业务日期在所述创建模块所创建的当前存在的数据分区中确定与所述业务日期相匹配的数据分区;
所述获取模块,与所述确定模块相连接,用于在所述确定模块所确定的数据分区中获取与所述业务日期对应的数据快照;
12.如权利要求11所述的设备,其特征在于,
所述确定模块确定数据分区的具体方式包括:
当所述数据分区满足,所述数据分区所对应时间范围的开始时间≤所述业务日期<所述数据分区所对应时间范围的结束时间时,所述数据分区与所述业务日期相匹配,确定所述数据分区为与所述业务日期相匹配的数据分区。
所述获取模块在所述数据分区中获取与所述业务日期对应的数据快照的具体方式包括:
将确定的与所述业务日期相匹配的所述数据分区进行合并操作,获取与所述业务日期对应的数据快照。
CN201010102295.5A 2010-01-28 2010-01-28 一种数据分析方法和设备 Active CN102141963B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010102295.5A CN102141963B (zh) 2010-01-28 2010-01-28 一种数据分析方法和设备
HK11114069.4A HK1159792A1 (zh) 2010-01-28 2011-12-30 種數據分析方法和設備

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010102295.5A CN102141963B (zh) 2010-01-28 2010-01-28 一种数据分析方法和设备

Publications (2)

Publication Number Publication Date
CN102141963A true CN102141963A (zh) 2011-08-03
CN102141963B CN102141963B (zh) 2016-06-08

Family

ID=44409497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010102295.5A Active CN102141963B (zh) 2010-01-28 2010-01-28 一种数据分析方法和设备

Country Status (2)

Country Link
CN (1) CN102141963B (zh)
HK (1) HK1159792A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521260A (zh) * 2011-11-18 2012-06-27 华为技术有限公司 数据预热方法及装置
CN103577474A (zh) * 2012-08-03 2014-02-12 阿里巴巴集团控股有限公司 一种数据库的更新方法及***
CN104166650A (zh) * 2013-05-16 2014-11-26 方正宽带网络服务股份有限公司 数据存储装置和数据存储方法
CN104915421A (zh) * 2015-06-10 2015-09-16 湖南菜鸟网络科技有限公司 体检数据处理***和方法
CN105183391A (zh) * 2015-09-18 2015-12-23 北京京东尚科信息技术有限公司 一种分布式数据平台下数据存储的方法和装置
CN106940698A (zh) * 2016-01-05 2017-07-11 阿里巴巴集团控股有限公司 一种维度数据处理方法及装置
CN107526733A (zh) * 2016-06-20 2017-12-29 咪咕互动娱乐有限公司 一种拉链表数据存储方法和装置
CN107861989A (zh) * 2017-10-17 2018-03-30 平安科技(深圳)有限公司 数据的分区存储方法、装置、计算机设备及存储介质
CN108475349A (zh) * 2016-02-12 2018-08-31 谷歌有限责任公司 用于稳健的大规模机器学习的***和方法
CN109376148A (zh) * 2018-08-22 2019-02-22 中国平安人寿保险股份有限公司 缓慢变化维表的数据处理方法、装置、电子设备
CN110716924A (zh) * 2018-07-13 2020-01-21 杭州海康威视***技术有限公司 删除过期数据的方法和装置
CN110850824A (zh) * 2019-11-12 2020-02-28 北京矿冶科技集团有限公司 一种将分布式控制***数据采集至Hadoop平台的实现方法
CN112307023A (zh) * 2020-10-29 2021-02-02 杭州微拍堂文化创意有限公司 基于事件心跳和多版本的Flink流维Join通用处理方法
CN113010523A (zh) * 2021-03-23 2021-06-22 华泰证券股份有限公司 数据仓库拉链表存储方法、刷新方法及可读存储介质
CN113326397A (zh) * 2021-08-04 2021-08-31 北京达佳互联信息技术有限公司 业务数据的处理方法、装置
CN113495906A (zh) * 2020-03-20 2021-10-12 北京京东振世信息技术有限公司 数据处理方法与装置、计算机可读存储介质、电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216821B (zh) * 2007-01-05 2010-06-16 中兴通讯股份有限公司 数据采集***的存储管理方法
CN101556589A (zh) * 2008-04-09 2009-10-14 北京闻言科技有限公司 一种Oracle在数据库中定期淘汰过期数据的方法
CN102567428A (zh) * 2010-12-30 2012-07-11 ***通信集团浙江有限公司 一种在线数据生命周期管理方法和装置

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521260A (zh) * 2011-11-18 2012-06-27 华为技术有限公司 数据预热方法及装置
CN102521260B (zh) * 2011-11-18 2014-04-02 华为技术有限公司 数据预热方法及装置
US9569489B2 (en) 2011-11-18 2017-02-14 Huawei Technologies Co., Ltd. Method and apparatus for data preheating
CN103577474A (zh) * 2012-08-03 2014-02-12 阿里巴巴集团控股有限公司 一种数据库的更新方法及***
CN103577474B (zh) * 2012-08-03 2017-06-09 阿里巴巴集团控股有限公司 一种数据库的更新方法及***
CN104166650A (zh) * 2013-05-16 2014-11-26 方正宽带网络服务股份有限公司 数据存储装置和数据存储方法
CN104166650B (zh) * 2013-05-16 2018-03-06 方正宽带网络服务股份有限公司 数据存储装置和数据存储方法
CN104915421A (zh) * 2015-06-10 2015-09-16 湖南菜鸟网络科技有限公司 体检数据处理***和方法
CN105183391A (zh) * 2015-09-18 2015-12-23 北京京东尚科信息技术有限公司 一种分布式数据平台下数据存储的方法和装置
CN105183391B (zh) * 2015-09-18 2018-12-28 北京京东尚科信息技术有限公司 一种分布式数据平台下数据存储的方法和装置
CN106940698A (zh) * 2016-01-05 2017-07-11 阿里巴巴集团控股有限公司 一种维度数据处理方法及装置
CN108475349A (zh) * 2016-02-12 2018-08-31 谷歌有限责任公司 用于稳健的大规模机器学习的***和方法
CN108475349B (zh) * 2016-02-12 2021-10-08 谷歌有限责任公司 用于稳健的大规模机器学习的***和方法
CN107526733A (zh) * 2016-06-20 2017-12-29 咪咕互动娱乐有限公司 一种拉链表数据存储方法和装置
CN107861989A (zh) * 2017-10-17 2018-03-30 平安科技(深圳)有限公司 数据的分区存储方法、装置、计算机设备及存储介质
CN110716924A (zh) * 2018-07-13 2020-01-21 杭州海康威视***技术有限公司 删除过期数据的方法和装置
CN110716924B (zh) * 2018-07-13 2022-09-16 杭州海康威视***技术有限公司 删除过期数据的方法和装置
CN109376148A (zh) * 2018-08-22 2019-02-22 中国平安人寿保险股份有限公司 缓慢变化维表的数据处理方法、装置、电子设备
CN110850824A (zh) * 2019-11-12 2020-02-28 北京矿冶科技集团有限公司 一种将分布式控制***数据采集至Hadoop平台的实现方法
CN113495906A (zh) * 2020-03-20 2021-10-12 北京京东振世信息技术有限公司 数据处理方法与装置、计算机可读存储介质、电子设备
CN113495906B (zh) * 2020-03-20 2023-09-26 北京京东振世信息技术有限公司 数据处理方法与装置、计算机可读存储介质、电子设备
CN112307023A (zh) * 2020-10-29 2021-02-02 杭州微拍堂文化创意有限公司 基于事件心跳和多版本的Flink流维Join通用处理方法
CN112307023B (zh) * 2020-10-29 2023-11-10 杭州微拍堂文化创意有限公司 基于事件心跳和多版本的Flink流维Join通用处理方法
CN113010523A (zh) * 2021-03-23 2021-06-22 华泰证券股份有限公司 数据仓库拉链表存储方法、刷新方法及可读存储介质
CN113326397A (zh) * 2021-08-04 2021-08-31 北京达佳互联信息技术有限公司 业务数据的处理方法、装置

Also Published As

Publication number Publication date
HK1159792A1 (zh) 2012-08-03
CN102141963B (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN102141963A (zh) 一种数据分析方法和设备
US20220350819A1 (en) System and method for improved performance in a multidimensional database environment
Li et al. A platform for scalable one-pass analytics using mapreduce
US20090225082A1 (en) Generating distributed dataflow graphs
CN102129425B (zh) 数据仓库中大对象集合表的访问方法及装置
US9292568B2 (en) Method and system for dynamically optimizing client queries to read-mostly servers
CN106855861A (zh) 一种文件合并方法、装置及电子设备
US20140223444A1 (en) Resource assignment for jobs in a system having a processing pipeline
CN115129782A (zh) 一种分布式数据库的分区级连接方法和装置
US11182378B2 (en) System and method for committing and rolling back database requests
Lomet Digital B-trees
US20150178122A1 (en) Method and system for providing a high-availability application
CA2965831C (en) Relation aware aggregation (raa) on normalized datasets
CN110381136A (zh) 一种数据读取方法、终端、服务器及存储介质
CN109829678B (zh) 一种回滚处理方法、装置以及电子设备
CN105426119A (zh) 一种存储设备及数据处理方法
Wolf et al. New algorithms for parallelizing relational database joins in the presence of data skew
CN111221814A (zh) 二级索引的构建方法、装置及设备
CN109241027B (zh) 数据迁移的方法、装置、电子设备及计算机可读存储介质
EP2833282B1 (en) Data aggregation in an in-memory DBMS
Chang Effective clustering and buffering in an object-oriented DBMS
CN112364007B (zh) 基于数据库的海量数据交换方法、装置、设备和存储介质
US11429676B2 (en) Document flagging based on multi-generational complemental secondary data
Barcelo et al. Revisiting active object stores: Bringing data locality to the limit with NVM
Yang et al. An efficient parallel topic-sensitive expert finding algorithm using spark

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1159792

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1159792

Country of ref document: HK