著录项信息
专利名称 | 一种自动删除过期数据的方法和系统 |
申请号 | CN201510434289.2 | 申请日期 | 2015-07-22 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-11-11 | 公开/公告号 | CN105045535A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/06 | IPC分类号 | G;0;6;F;3;/;0;6查看分类表>
|
申请人 | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 | 申请人地址 | 北京市海淀区杏石口路65号西杉创意园西区11C楼东段1-4层西段1-4层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司 | 当前权利人 | 北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司 |
发明人 | 颜博 |
代理机构 | 北京邦信阳专利商标代理有限公司 | 代理人 | 金玺 |
摘要
本发明公开了一种自动删除过期数据的方法和系统。所述方法包括:根据分区中数据的加载时间确定分区值;计算该分区的分区阈值;判断所述分区值是否小于所述分区阈值;根据判断结果删除该分区中的数据。所述系统包括:分区值确定模块、分区阈值计算模块、判断模块和数据删除模块。本发明所提供的自动删除过期数据的方法和系统能够自动对数据库实体的存储周期进行管理;有效地避免人为删除导致的误操作;在具体应用过程中,只需要在建表的时候定义保留周期,以后则不用考虑数据的存储与删除,达到一劳永逸的效果。
1.一种自动删除过期数据的方法,其特征在于,所述方法包括以下步骤:
步骤a,根据分区中数据的加载时间确定分区值;
步骤b,计算该分区的分区阈值;
步骤c,判断所述分区值是否小于所述分区阈值;
步骤d,根据步骤c中的判断结果删除该分区中的数据;
所述分区中预设有保留周期和例外周期,所述保留周期和所述例外周期通过建立的管理表存储,所述管理表内存储的所述保留周期和所述例外周期依据周期时长分类;
所述管理表的结构通过元数据管理表定义,所述元数据管理表包括实体名称、数据频度、保留周期、例外周期和/或数据类型;
步骤a包括:根据分区中数据的加载时间确定数据的分区值,步骤c包括:判断每一个数据的分区值是否小于所述分区阈值,步骤d包括:根据步骤c中的判断结果删除分区值小于所述分区阈值的数据;
在删除分区值小于所述分区阈值的数据之前还包括:判断数据的分区值是否属于预设的例外周期的范围,若不属于则将所述数据删除。
2.根据权利要求1所述的自动删除过期数据的方法,其特征在于,所述步骤b包括:
步骤b1,读取该分区预设的保留周期;
步骤b2,根据系统时间确定系统值;
步骤b3,根据所述保留周期与所述系统值计算所述分区阈值。
3.根据权利要求2所述的自动删除过期数据的方法,其特征在于,在所述步骤b3中,所述分区阈值=所述系统值-所述保留周期。
4.根据权利要求1-3中任意一项所述的自动删除过期数据的方法,其特征在于,在步骤d中,若所述分区值小于所述分区阈值,则删除该分区中的数据。
5.根据权利要求1-3中任意一项所述的自动删除过期数据的方法,其特征在于,所述步骤d包括:
步骤d1,若所述分区值小于所述分区阈值,则读取该分区预设的例外周期;
步骤d2,判断所述分区值是否属于所述例外周期的范围;
步骤d3,若所述分区值不属于所述例外周期的范围,则删除该分区中的数据。
6.一种自动删除过期数据的系统,其特征在于,所述系统包括:
分区值确定模块,用于根据分区中数据的加载时间确定分区值;
分区阈值计算模块,用于计算该分区的分区阈值;
判断模块,用于判断所述分区值是否小于所述分区阈值;
数据删除模块,用于根据所述判断模块的判断结果删除该分区中的数据;
所述分区中预设有保留周期和例外周期,所述保留周期和所述例外周期通过建立的管理表存储,所述管理表内存储的所述保留周期和所述例外周期依据周期时长分类;
所述管理表的结构通过元数据管理表定义,所述元数据管理表包括实体名称、数据频度、保留周期、例外周期和/或数据类型;
分区值确定模块包括:根据分区中数据的加载时间确定数据的分区值,判断模块包括:
判断每一个数据的分区值是否小于所述分区阈值,数据删除模块包括:根据判断模块中的判断结果删除分区值小于所述分区阈值的数据;
在删除分区值小于所述分区阈值的数据之前还包括:判断数据的分区值是否属于预设的例外周期的范围,若不属于则将所述数据删除。
7.根据权利要求6所述的自动删除过期数据的系统,其特征在于,所述分区阈值确定模块包括:
保留周期读取子模块,用于读取该分区预设的保留周期;
系统值确定子模块,用于根据系统时间确定系统值;
分区阈值计算子模块,用于根据所述保留周期与所述系统值计算所述分区阈值。
8.根据权利要求7所述的自动删除过期数据的系统,其特征在于,所述分区阈值=所述系统值-所述保留周期。
9.根据权利要求6-8中任意一项所述的自动删除过期数据的系统,其特征在于,所述数据删除模块用于在所述分区值小于所述分区阈值时,删除该分区中的数据。
10.根据权利要求6-8中任意一项所述的自动删除过期数据的系统,其特征在于,所述数据删除模块包括:
例外周期读取子模块,若所述分区值小于所述分区阈值,则读取该分区预设的例外周期;
判断子模块,用于判断所述分区值是否属于所述例外周期的范围;
数据删除子模块,用于在所述分区值不属于所述例外周期的范围时,删除该分区中的数据。
一种自动删除过期数据的方法和系统\n技术领域\n[0001] 本发明涉及一种自动删除过期数据的方法和系统。\n背景技术\n[0002] 在数据仓库、大数据(Big Data)所涉及的行业中,数据通常是按照分区(或者分表)的方式进行长期存储的。但是,随着时间的推移,所存储的数据量越来越大,数据所保留的时间周期也越来越长。如何管理好海量的数据对传统的数据管理技术带来了巨大挑战,而数据管理的关键环节在于如何将过期的数据进行删除,以释放不必要的存储资源,达到降低企业运营成本的目的。\n[0003] 目前,传统的数据周期管理的方法,一般是通过手动删除过期数据的方法来进行维护管理。具体地,可以根据实体表所确定的大致保留周期,到一定时间进行过期数据的手动清理。但是,现有的手动删除过期数据的方法会导致在删除时容易出现误操作,同时还会增加数据管理人员的工作量。\n[0004] 因此,非常有必要设计一种能够实现动删除过期数据的方法。\n发明内容\n[0005] 有鉴于此,本发明提供了一种自动删除过期数据的方法和系统,旨在克服现有技术的缺陷。\n[0006] 本发明所提供的自动删除过期数据的方法包括以下步骤:步骤a,根据分区中数据的加载时间确定分区值;步骤b,计算该分区的分区阈值;步骤c,判断所述分区值是否小于所述分区阈值;步骤d,根据步骤c中的判断结果删除该分区中的数据。\n[0007] 优选的,所述步骤b包括:步骤b1,读取该分区预设的保留周期;步骤b2,根据系统时间确定系统值;步骤b3,根据所述保留周期与所述系统值计算所述分区阈值。\n[0008] 优选的,所述分区阈值=所述系统值-所述保留周期。\n[0009] 优选的,在所述步骤d中,若所述分区值小于所述分区阈值,则删除该分区中的数据。\n[0010] 优选的,所述步骤d包括:步骤d1,若所述分区值小于所述分区阈值,则读取该分区预设的例外周期;步骤d2,判断所述分区值是否属于所述例外周期的范围;步骤d3,若所述分区值不属于所述例外周期的范围,则删除该分区中的数据。\n[0011] 本发明所提供的自动删除过期数据的系统包括:分区值确定模块,用于根据分区中数据的加载时间确定分区值;分区阈值计算模块,用于计算该分区的分区阈值;判断模块,用于判断所述分区值是否小于所述分区阈值;数据删除模块,用于根据所述判断模块的判断结果删除该分区中的数据。\n[0012] 优选的,所述分区阈值确定模块包括:保留周期读取子模块,用于读取该分区预设的保留周期;系统值确定子模块,用于根据系统时间确定系统值;分区阈值计算子模块,用于根据所述保留周期与所述系统值计算所述分区阈值。\n[0013] 优选的,所述分区阈值=所述系统值-所述保留周期。\n[0014] 优选的,所述数据删除模块用于在所述分区值小于所述分区阈值时,删除该分区中的数据。\n[0015] 优选的,所述数据删除模块包括:例外周期读取子模块,若所述分区值小于所述分区阈值,则读取该分区预设的例外周期;判断子模块,用于判断所述分区值是否属于所述例外周期的范围;第二数据删除子模块,用于在所述分区值不属于所述例外周期的范围时,删除该分区中的数据。\n[0016] 采用本发明所提供的自动删除过期数据的方法和系统,通过判断分区值和分区阈值之间的关系来确定分区中的数据是否符合删除条件,并进一步对特殊数据是否属于例外周期的范围进行判断,从而最终实现了数据的自动删除。本发明所提供的自动删除过期数据的方法和系统具有以下有益的技术效果:能够自动对数据库实体的存储周期进行管理;\n有效地避免人为删除导致的误操作;在具体应用过程中,只需要在建表的时候定义保留周期,以后则不用考虑数据的存储与删除,达到一劳永逸的效果。\n附图说明\n[0017] 下面将通过附图详细描述本发明中优选实施例,将有助于理解本发明的目的和优点,其中:\n[0018] 图1是本发明的自动删除过期数据的方法的第一种优选实施例。\n[0019] 图2是本发明的自动删除过期数据的方法的第二种优选实施例。\n[0020] 图3是本发明的自动删除过期数据的系统的优选实施例。\n具体实施方式\n[0021] 下面结合实施例对本发明进行详细说明。其中相同的零部件用相同的附图标记表示。\n[0022] 图1是本发明的自动删除过期数据的方法的第一种优选实施例。如图1所示,本发明所提供的自动删除过期数据的方法包括下述步骤。\n[0023] 步骤S100,根据分区中数据的加载时间确定分区值;步骤S200,计算该分区的分区阈值;步骤S300,判断所述分区值是否小于所述分区阈值;步骤S400,根据步骤S300中的判断结果删除该分区中的数据。\n[0024] 在步骤S100中,可以将数据加载到预设的分区中,并在所述分区中实现存储,这种将不同的数据储存在不同的分区中的设计可以实现数据的有序化管理,例如:可以将需要保存时间相同的数据储存在同一个分区中,在管理过程中可以对该分区中的全部数据进行统一的操作(例如:删除操作)。实际使用过程中,可以在数据加载到相应的分区时,记录数据的加载时间,并根据加载时间来确定一个分区值,以供后续的判断步骤使用。例如,某数据在2015年7月17日加载到分区中,则可以将分区值确定为20150717;另一数据在2014年5月15日20点18分加载到分区中,则可以将分区值确定为201405152018。\n[0025] 在步骤S200中,需要计算得出相应的分区阈值。在优选实施例中,所述步骤S200可以通过以下步骤实现:步骤S210,读取分区预设的保留周期;步骤S220,根据系统时间确定系统值;步骤S230,根据所述保留周期与所述系统值计算所述分区阈值。具体地,所述分区阈值=所述系统值-所述保留周期。所述系统值可以根据系统中所显示的当前时间来确定,也可以根据从相关服务器中所获取的当前时间来确定,具体的字段可以根据实际需要做相应的设置。所述保留周期可以根据具体的数据情况进行定义或自动生成,也可以根据数据加载的目标分区中预设的值来进行设定。优选地,所述分区阈值的字段与所述分区值的字段相匹配,以便于数据的计算和处理。\n[0026] 在步骤S300中,主要是将步骤S100与步骤S200中得到的分区值与分区阈值进行比较。例如:可以将分区值与分区阈值进行差值运算,从而获取分区值与分区阈值的大小关系;也可以直接将分区值与分区阈值进行比较运算,从而直接得出二者的大小关系。实际上,所述分区值和所述分区阈值并不限于以日期和时间字段来表示,还可以通过其它字段实现。例如,可以将分区值的日期时间字段映射为一种其它编码方式的字段,并将分区阈值映射为同样编码方式的字段,只要使分区值和分区阈值的字段相匹配,能够完成相关的运算即可。\n[0027] 对于步骤S400,在具体的执行过程中,若所述分区值小于所述分区阈值,则删除该分区中的数据。例如:步骤S100中所得出的分区值为201102111021,而步骤S200中所得到的分区阈值为201102131452,则通过差值运算可知,在当前时间的分区值小于分区阈值。由于在本例中的分区值与分区阈值的字段均以日期和时间来定义,则当分区值小于所述分区阈值时,说明该分区中的数据已经超出了要保存的周期,此时可以将对分区中的数据进行自动删除。\n[0028] 图2是本发明的自动删除过期数据的方法的第二种优选实施例。其中,与图1中步骤相同的内容这里不在赘述。如图2所示,在步骤S400中,可以具体通过以下步骤实现:步骤S410,若所述分区值小于所述分区阈值,则读取该分区预设的例外周期;步骤S420,判断所述分区值是否属于所述例外周期的范围;步骤S430,若所述分区值不属于所述例外周期的范围,则删除该分区中的数据。\n[0029] 在实际应用过程中,有部分数据需要较长时间保存或者永久保存,这部分数据就不需要在分区值小于分区阈值时进行删除,而图2所示的优选实施例中很好地解决了这个问题。通过增加一个判断是否是例外周期的步骤,从而保证了这些有特殊需求的数据不被误删。\n[0030] 在具体实施过程中,可以将分区中所预设的保留周期和例外周期等信息通过建立管理表的实现存储。例如,可以结合当前数据仓库常见的存储周期,将表的存储分为月、日、小时三大类(也可定义其他周期粒度的数据)。对于月、日、小时的频度,分别以M、D、H来进行标识,并将所有涉及的表结构定义在一个元数据管理表中,元数据管理表可以包含(但不限于)如下字段定义:实体名称、数据频度、保留周期、例外周期、数据类型等。在一种优选实施例中,元数据可以被定义为:描述数据的数据,对数据及信息资源的描述性信息。\n[0031] 具体地,所述实体名称可以是数据库中具体保留的表名称。所述数据频度的设置可以将分区或数据按照不同的频度进行加工或者存储,比如M:代表月份;D:代表日;H:代表小时。所述保留周期是指数据需要保留的周期,比如12个月、30天、24小时、51分钟等等。所述例外周期是为有特殊需求的数据进行设计的,例如有一部分数据是需要特殊保留不能删除的,比如年末的月数据,再比如月初的日数据等等。通过具体数值对要特殊保留的周期进行标识:年末(12月),月初(1号),最后一个小(23时);这几个例外周期通过数值存储为12、\n1、23(如有多个周期需要保留,也可以采用逗号进行分隔)。所述数据类别可以分为:增量、全量两种类型。通过数据类别来标识表的增量、全量。可以配合数据频度、保留周期与例外周期来使用。比如:增量日数据可以统一定义为30,即保留30天的数据,其他为过期,这样的话就无需单独定义具体的保留周期。\n[0032] 以下列举一些元数据管理表定义的实例:\n[0033] 1.实体名称:T_M;数据频度:M;保留周期:12;例外周期:12;数据类别:增量。\n[0034] 2.实体名称:T_D;数据频度:D;保留周期:3;例外周期:01;数据类别:全量。\n[0035] 3.实体名称:T_H;数据频度:H;保留周期:24;例外周期:23;数据类别:增量。\n[0036] 4.实体名称:T_F;数据频度:F;保留周期:60;例外周期:59;数据类别:全量。\n[0037] 在具体的实施过程中,可以通过结合系统表或系统命令列出实体表中所有分区(或者分表)。例如:在Hive中,可以通过show partitions的操作,在其他关系型数据库中,可以通过系统表进行查询。以下述几个主流关系型数据库为例:在Oracle中,可通过USER_TAB_PARTITIONS查询;在db2中,可以通过syscat.datapartitions进行查询;在mysql中,可以通过INFORMATION_SCHEMA.partitions查询。\n[0038] 在判断和删除步骤中,可以通过系统时间与保留周期的减法从而判断出分区是否应该报保留。例如:表T_D,频度是D(按天),保留周期是30(天),通过第一步列出了表T_D的某一个分区是20150403,假设当前系统时间是20150506(精确到日),那么应保留的最早分区是:20150506–30Days=20150407;早于这个时间的可以认为是过去数据,我们列出来的分区20150403是小于20150407这个最早分区阀值的,则符合删除条件。此外,如果是月份(小时)等其他周期,可以通过YYYYMM–Months,YYYYMMDDHH–Hours,YYYYMMDDHH–Minutes的方法对时间进行加减操作。\n[0039] 对于需要特殊保存的数据,可以继续判断所列出的分区是否属于特殊保留周期,例如:列出了表T_D的某一个分区是20150401,而1号的数据在特殊保留的时间周期里,则不符合删除条件,需要从删除的分区中剔除掉。在删除步骤中,可以结合之前步骤筛选出可以删除的列表,自动生成Drop语句(分区或者分表),并执行Drop分区语句进行删除。此外,可以将上述方法中的步骤放在轮询管理如crontab中,随着系统时间的推移,自动删除过期的数据。\n[0040] 本发明还提供了一种自动删除过期数据的系统。图3是本发明的自动删除过期数据的系统的优选实施例。如图3所示,所述系统包括:分区值确定模块10,用于根据分区中数据的加载时间确定分区值;分区阈值计算模块20,用于计算该分区的分区阈值;判断模块\n30,用于判断所述分区值是否小于所述分区阈值;数据删除模块40,用于根据所述判断模块的判断结果删除该分区中的数据。\n[0041] 在一个优选实施例中,所述分区阈值确定模块20包括:保留周期读取子模块21,用于读取该分区预设的保留周期;系统值确定子模块22,用于根据系统时间确定系统值;分区阈值计算子模块23,用于根据所述保留周期与所述系统值计算所述分区阈值。其中优选的是,所述分区阈值=所述系统值-所述保留周期。\n[0042] 优选的,所述数据删除模块40用于在所述分区值小于所述分区阈值时,删除该分区中的数据。优选的,所述数据删除模块40包括:例外周期读取子模块41,若所述分区值小于所述分区阈值,则读取该分区预设的例外周期;判断子模块42,用于判断所述分区值是否属于所述例外周期的范围;数据删除子模块43,用于在所述分区值不属于所述例外周期的范围时,删除该分区中的数据。\n[0043] 采用本发明所提供的自动删除过期数据的方法和系统,通过判断分区值和分区阈值之间的关系来确定分区中的数据是否符合删除条件,并进一步对特殊数据是否属于例外周期的范围进行判断,从而最终实现了数据的自动删除。本发明所提供的自动删除过期数据的方法和系统具有以下有益的技术效果:能够自动对数据库实体的存储周期进行管理;\n有效地避免人为删除导致的误操作;在具体应用过程中,只需要在建表的时候定义保留周期,以后则不用考虑数据的存储与删除,达到一劳永逸的效果。\n[0044] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;\n而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
法律信息
- 2018-10-02
- 2015-12-09
实质审查的生效
IPC(主分类): G06F 3/06
专利申请号: 201510434289.2
申请日: 2015.07.22
- 2015-11-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-07-11
|
2010-12-30
| | |
2
| |
2008-07-09
|
2007-01-05
| | |
3
| |
2007-12-12
|
2006-06-11
| | |
4
| |
2009-10-14
|
2008-04-09
| | |
5
| |
2011-09-28
|
2010-03-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |