CN116204493A - 一种数据管理方法和系统 - Google Patents
一种数据管理方法和系统 Download PDFInfo
- Publication number
- CN116204493A CN116204493A CN202310303494.XA CN202310303494A CN116204493A CN 116204493 A CN116204493 A CN 116204493A CN 202310303494 A CN202310303494 A CN 202310303494A CN 116204493 A CN116204493 A CN 116204493A
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- management
- management policy
- data management
- 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.)
- Pending
Links
- 238000013523 data management Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000005192 partition Methods 0.000 claims abstract description 97
- 238000007726 management method Methods 0.000 claims abstract description 36
- 238000004140 cleaning Methods 0.000 claims abstract description 27
- 230000014759 maintenance of location Effects 0.000 claims abstract description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据管理方法和系统,该方法包括以下步骤:根据需要执行数据管理的应用数据库和数据表,以及数据表中的关键字段,检测数据管理策略;在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对应用数据库和数据表中的过期数据进行清理或归档;在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对应用数据库和数据表中的过期数据进行按分区清理或归档。本申请根据需要执行数据管理的应用数据库和数据表,执行相应的数据管理策略,能够提升对历史数据所占用磁盘空间释放速度和数据管理效率,降低数据清理过程对业务的影响,容错性好,从而保障业务高可靠性运转。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种数据管理方法和系统。
背景技术
在基于数据库开发的应用系统中,通常存在一些随时间增长而正常的流水性质的数据,如:操作审计日志、系统调用记录、流水单等等。在系统长期运行过程中,这类数据会越来越多,需要定期进行人为或系统自动清理,如果直接通过delete删除数据存在表空间不释放,以及存在空间碎片问题。如果存在多个应用存在类似的需求,在每个系统实现各自的清理方案,也存在重复造轮子,效率低下等问题。
申请内容
本申请实施例的目的是提供一种数据管理方法和系统,以解决现有技术存在的管理效率低下的缺陷。
为了解决上述技术问题,本申请是这样实现的:
第一方面,提供了一种数据管理方法,包括以下步骤:
根据需要执行数据管理的应用数据库和数据表,以及所述数据表中的关键字段,检测数据管理策略;
在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对所述应用数据库和所述数据表中的过期数据进行清理或归档;
在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行按分区清理或归档。
第二方面,提供了一种数据管理系统,包括:
检测模块,用于根据需要执行数据管理的应用数据库和数据表,以及所述数据表中的关键字段,检测数据管理策略;
第一管理模块,用于在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对所述应用数据库和所述数据表中的过期数据进行清理或归档;
第二管理模块,用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行按分区清理或归档。
本申请实施例根据需要执行数据管理的应用数据库和数据表,执行相应的数据管理策略,能够提升对历史数据所占用磁盘空间释放速度和数据管理效率,降低数据清理过程对业务的影响,容错性好,从而保障业务高可靠性运转。
附图说明
图1是本申请实施例提供的一种数据管理方法流程图;
图2是本申请实施例提供的数据库分区存储的示意图;
图3是本申请实施例提供的一种数据管理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据管理系统、装置,通过注册需要管理的应用数据库信息,选取配置要管理的表,并标记出一部分关键字段,如:CreateDate、UpdateDate、KeepUntilDate等等,根据所述库表的结构以及配置在创建清理作业时自动检测符合条件的生命周期管理策略,选取符合自己要求的策略并配置后即可实现对过期的数据按执行策略自动进行删除或归档,结合一种自滚动的分区分配方法,来实现分区循环利用,循环整理,以此解决系统超长期运行中空间碎片带来的影响,并最大限度降低数据清理过程对业务的影响。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的一种数据管理方法进行详细地说明。
如图1所示,为本申请实施例提供的一种数据管理方法流程图,该方法包括以下步骤:
步骤101,根据需要执行数据管理的应用数据库和数据表,以及所述数据表中的关键字段,检测数据管理策略。
步骤102,在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对所述应用数据库和所述数据表中的过期数据进行清理或归档。
步骤103,在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行按分区清理或归档。
具体地,在检测到的数据管理策略为第二管理策略的情况下,可以根据需要保留数据的分区的数量,确定需要删除数据的分区;计算需要删除数据的分区索引,并生成需要删除数据的分区的结构化查询语言SQL指令。
在检测到的数据管理策略为第二管理策略的情况下,也可以根据需要保留数据的分区的数量,确定与所述需要保留数据的分区最近的一个需要删除数据的分区;对所述最近的一个需要删除数据的分区进行数据清理或归档。
本实施例中,还可以注册需要执行数据管理的应用数据库信息,配置需要执行数据管理的数据表,并在所述数据表中标记出关键字段,以及配置多个数据管理策略。
本申请实施例根据需要执行数据管理的应用数据库和数据表,执行相应的数据管理策略,能够提升对历史数据所占用磁盘空间释放速度和数据管理效率,降低数据清理过程对业务的影响,容错性好,从而保障业务高可靠性运转。
在本申请实施例中,基于数据库的分区特性来实现循环分区的目的,其中,分区的维度是数据的产生时间。保留时长,按照分区的粒度如按月、按天、按年进行实现。按照分区路由条件设定,按照时序新产生的数据总是会存储到其中一个分区,在达到时间边界值后,数据将存储到后继的下一个分区,以此类推,数据会循环往复的在预设分区内进行存储,如图2所示。
假设总分区数为N,分别是P1、P2、P3...PN,保留分区数为X,利用循环链表结构使用分区,其中X<=N-1。分区数据清理或归档时,有效数据分区范围:当前分区PC至向前第X-1个分区PC-X+1,即PC-X+1~PC。待清理或归档分区范围:PC的下一个分区PC+1至向前第X个分区PC-X,即PC+1~PC-X。如果每个分区周期执行一次归档任务,那么每次只需要归档PC-X分区。
其中保留时长=分区时间跨度*保留分区个数X
对于分区归档后,做数据清理时,可以采用truncate、drop create等方式来实现分区空间快速释放,最大限度减少对线上业务的影响。
在本申请实施例的一种具体实现方式中,按月做循环分区的实现方法,按日期进行RANGE分区,设计p0~p59个分区
当前分区=MOD((YEAR(CREATE_TIME)*12+MONTH(CREATE_TIME)),<分区总数>)
即,求时间的绝对月份然后与分区总数取模,在保证CREATE_TIME按时间单调递增的情况下,最多能保证分区总数-1个分区的数据不会被重复写入。因此,最多保留(分区总数-1)个时间范围内的数据。
其中,可以通过以下方式创建分区表:
CREATE TABLE T_TEST_PARTITIONS(ID INT NOT NULL AUTO_INCREMENT,CREATE_TIME DATETIME NOT NULL,PRIMARY KEY(ID,CREATE_TIME))
PARTITION BY RANGE(MOD((YEAR(CREATE_TIME)*12+MONTH(CREATE_TIME)),60))
(
PARTITION P0 VALUES LESS THAN(1),
PARTITION P1 VALUES LESS THAN(2),
PARTITION P2 VALUES LESS THAN(3)
);
进一步地,可以通过以下方式查看分区信息:
SELECT*FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA()AND TABLE_NAME='T_TEST_PARTITIONS';
从而借助上述函数来求当前分区总数;
进一步地,可以通过以下方式获取当前时间所在分区:
SELECT MOD((YEAR(NOW())*12+MONTH(NOW())),60);
进一步地,可以执行分区清理算法1,即,
根据要保留的分区个数,求出需要删除的所有分区:
计算示例:
int keepPartitionCount=1;
int totalPartitionCount=60;
int currentPartition=10;
p<59
p=0deletePartition=(10+0+1)%60=11
p=58deletePartition=(10+58+1)%60=9
然后,计算出要删除的分区索引后生成删除分区的SQL:
ALTER TABLE T_TEST_PARTITIONS TRUNCATE PARTITION Pn~m;
此外,也可以执行分区清理算法2,即,
根据要保留的分区个数,求出要删除的最近一个分区:
int keepPartitionCount=<保留分区个数>;
int totalPartitionCount=<总分区个数>;
int currentPartition=<当前分区>;
int deletePartition=(currentPartition-keepPartitionCount+totalPartitionCount)%totalPartitionCount;
计算示例:
(10-20+60)%60=50
(15-20+60)%60=55
(20-20+60)%60=0
(30-20+60)%60=10
(40-20+60)%60=20
然后,每次仅需要清理一个分区即可:
ALTER TABLE T_TEST_PARTITIONS TRUNCATE PARTITION Pn;
使用本申请实施例的数据归档策略,数据在产生过程就按照时序就近存储,可以大大提升对历史数据所占用磁盘空间释放速度,并降低锁表时间。如果采用linux添加数据块硬连接清理方案,可以将锁表时间降低到秒级,锁表仅发生在分区表,分区表作为可清理的历史数据表,几乎不存在读写等访问。此外,容错性好,不依赖定期创建数据分区,保障业务高可靠性运转。
如图3所示,为本申请实施例提供的一种数据管理系统的结构示意图,包括:
检测模块310,用于根据需要执行数据管理的应用数据库和数据表,以及所述数据表中的关键字段,检测数据管理策略。
第一管理模块320,用于在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对所述应用数据库和所述数据表中的过期数据进行清理或归档。
第二管理模块330,用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行按分区清理或归档。
具体地,第二管理模块330,可以具体用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,确定需要删除数据的分区;计算需要删除数据的分区索引,并生成需要删除数据的分区的SQL指令。
第二管理模块330,还可以具体用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,确定与所述需要保留数据的分区最近的一个需要删除数据的分区;对所述最近的一个需要删除数据的分区进行数据清理或归档。
本实施例中,上述系统,还包括:
注册模块,用于注册需要执行数据管理的应用数据库信息,配置需要执行数据管理的数据表,并在所述数据表中标记出关键字段。
配置模块,用于配置多个数据管理策略。
本申请实施例根据需要执行数据管理的应用数据库和数据表,执行相应的数据管理策略,能够提升对历史数据所占用磁盘空间释放速度和数据管理效率,降低数据清理过程对业务的影响,容错性好,从而保障业务高可靠性运转。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种数据管理方法,其特征在于,包括以下步骤:
根据需要执行数据管理的应用数据库和数据表,以及所述数据表中的关键字段,检测数据管理策略;
在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对所述应用数据库和所述数据表中的过期数据进行清理或归档;
在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行按分区清理或归档。
2.根据权利要求1所述的方法,其特征在于,所述在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行循环分区归档,具体包括:
在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,确定需要删除数据的分区;
计算需要删除数据的分区索引,并生成需要删除数据的分区的结构化查询语言SQL指令。
3.根据权利要求1所述的方法,其特征在于,所述在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行循环分区归档,具体包括:
在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,确定与所述需要保留数据的分区最近的一个需要删除数据的分区;
对所述最近的一个需要删除数据的分区进行数据清理或归档。
4.根据权利要求1所述的方法,其特征在于,还包括:
注册需要执行数据管理的应用数据库信息,配置需要执行数据管理的数据表,并在所述数据表中标记出关键字段。
5.根据权利要求1所述的方法,其特征在于,还包括:
配置多个数据管理策略。
6.一种数据管理系统,其特征在于,包括:
检测模块,用于根据需要执行数据管理的应用数据库和数据表,以及所述数据表中的关键字段,检测数据管理策略;
第一管理模块,用于在检测到的数据管理策略为第一管理策略的情况下,根据数据保留时长,按照数据产生时间对所述应用数据库和所述数据表中的过期数据进行清理或归档;
第二管理模块,用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,对所述应用数据库和所述数据表中的过期数据进行按分区清理或归档。
7.根据权利要求6所述的系统,其特征在于,
所述第二管理模块,具体用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,确定需要删除数据的分区;计算需要删除数据的分区索引,并生成需要删除数据的分区的SQL指令。
8.根据权利要求6所述的系统,其特征在于,
所述第二管理模块,具体用于在检测到的数据管理策略为第二管理策略的情况下,根据需要保留数据的分区的数量,确定与所述需要保留数据的分区最近的一个需要删除数据的分区;对所述最近的一个需要删除数据的分区进行数据清理或归档。
9.根据权利要求6所述的系统,其特征在于,还包括:
注册模块,用于注册需要执行数据管理的应用数据库信息,配置需要执行数据管理的数据表,并在所述数据表中标记出关键字段。
10.根据权利要求6所述的系统,其特征在于,还包括:
配置模块,用于配置多个数据管理策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310303494.XA CN116204493A (zh) | 2023-03-27 | 2023-03-27 | 一种数据管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310303494.XA CN116204493A (zh) | 2023-03-27 | 2023-03-27 | 一种数据管理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204493A true CN116204493A (zh) | 2023-06-02 |
Family
ID=86509542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310303494.XA Pending CN116204493A (zh) | 2023-03-27 | 2023-03-27 | 一种数据管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204493A (zh) |
-
2023
- 2023-03-27 CN CN202310303494.XA patent/CN116204493A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857724B (zh) | 基于区块链实现支持多种数据库的方法及设备 | |
US9813450B1 (en) | Metadata-based verification of artifact quality policy compliance | |
CN105808633A (zh) | 数据归档方法和系统 | |
EP3788505B1 (en) | Storing data items and identifying stored data items | |
US10817203B1 (en) | Client-configurable data tiering service | |
CN109446177B (zh) | 一种分布式文件系统目录文件个数配额的实现方法及装置 | |
CN113448938A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
WO2018006721A1 (zh) | 日志文件的存储方法及装置 | |
CN113051229A (zh) | 一种用户数据获取方法、装置、终端及可读存储介质 | |
US10289685B2 (en) | Information lifecycle governance | |
CN108646987B (zh) | 一种文件卷的管理方法、装置、存储介质及终端 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
RU2665272C1 (ru) | Способ и устройство для восстановления дедуплицированных данных | |
CN111046081A (zh) | 一种工业时序数据的访问方法及系统 | |
CN116663853B (zh) | 任务分派方法、装置、计算机设备和存储介质 | |
CN116204493A (zh) | 一种数据管理方法和系统 | |
CN110597830B (zh) | 实时指标生成方法和系统、电子设备及存储介质 | |
CN116204540A (zh) | 操作日志记录方法、装置、设备及存储介质 | |
CN112506875B (zh) | 文件存储方法、相关装置及文件存储系统 | |
CN110990394B (zh) | 分布式面向列数据库表的行数统计方法、装置和存储介质 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
CN113821166A (zh) | 一种聚合多版本小对象的方法、装置及设备 | |
CN114385081B (zh) | 针对kafka集群的磁盘保护方法及相关设备 | |
CN115033608B (zh) | 一种储能系统信息的分级处理方法及系统 | |
CN111858603B (zh) | 区块链的数据写入方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |