【技术实现步骤摘要】
数据归档的方法、装置和计算机可读存储介质
本公开涉及数据库
,特别涉及一种数据归档的方法、装置和计算机可读存储介质。
技术介绍
随着互联网企业的快速发展,其后端数据库存储的数据和占据的磁盘空间越来越大。因此为了保证线上服务的高可用,需要及时清理冷数据(暂时不用的历史数据),从而释放线上数据库服务器的磁盘空间。目前,实现释放线上数据库的磁盘空间的做法基本就是靠DBA(DatabaseAdministrator,DBA)手动地把数据从线上数据库归档到线下数据库。
技术实现思路
专利技术人发现:目前数据归档方案是由DBA手动编写脚本执行的,而且每隔一段时间就需要重新编写和执行,归档效率低。本公开所要解决的一个技术问题是:提出一种自动化的数据归档方案,提高归档效率。根据本公开的一些实施例,提供的一种数据归档的方法,包括:获取用户输入的归档规则,归档规则包括:待归档数据的地址信息和待归档数据的范围,范围包括时间范围或标识范围;将归档规则划分为多个子规则;根据每个子规则创建对应的归档任务,并将归档任务放入任务队列中;从任务队列中取出至少一个的归档任务,并执行取出的归档任务,以便对待归档数据进行归档。在一些实施例中,将归档规则划分为多个子规则包括:根据归档规则创建规则划分任务,将规则划分任务放入任务队列中;从任务队列中取出规则划分任务,根据规则划分任务将归档规则划分为多个子规则;其中,在归档规则包括待归档数据的时间范围的情况下,按照预设时间长度,将待归档数据的时间范围划分为 ...
【技术保护点】
1.一种数据归档的方法,包括:/n获取用户输入的归档规则,所述归档规则包括:待归档数据的地址信息和所述待归档数据的范围,所述范围包括时间范围或标识范围;/n将所述归档规则划分为多个子规则;/n根据每个子规则创建对应的归档任务,并将所述归档任务放入任务队列中;/n从所述任务队列中取出至少一个的归档任务,并执行取出的归档任务,以便对所述待归档数据进行归档。/n
【技术特征摘要】
1.一种数据归档的方法,包括:
获取用户输入的归档规则,所述归档规则包括:待归档数据的地址信息和所述待归档数据的范围,所述范围包括时间范围或标识范围;
将所述归档规则划分为多个子规则;
根据每个子规则创建对应的归档任务,并将所述归档任务放入任务队列中;
从所述任务队列中取出至少一个的归档任务,并执行取出的归档任务,以便对所述待归档数据进行归档。
2.根据权利要求1所述的方法,其中,
所述将所述归档规则划分为多个子规则包括:
根据所述归档规则创建规则划分任务,将所述规则划分任务放入任务队列中;
从所述任务队列中取出所述规则划分任务,根据所述规则划分任务将所述归档规则划分为多个子规则;
其中,在所述归档规则包括所述待归档数据的时间范围的情况下,按照预设时间长度,将所述待归档数据的时间范围划分为多个时间子范围,在所述归档规则包括所述待归档数据的标识范围的情况下,按照预设标识范围长度,将所述待归档数据的标识范围划分为多个标识子范围,以便形成所述子规则。
3.根据权利要求1所述的方法,其中,
所述归档任务包括:所述待归档数据的地址信息和所述待归档数据的子范围,所述子范围包括:时间子范围或标识子范围;
所述从所述任务队列中取出至少一个的归档任务,并执行取出的归档任务包括:
由至少两个任务执行单元分别从所述任务队列中取出一个归档任务,针对每个归档任务,根据待归档数据的地址信息从源数据库,获取与所述待归档数据的子范围相对应的待归档数据;
在目标数据库中创建目标表,将获取的待归档数据存储到所述目标表中;
将已存储到目标表中待归档数据对应的所述源数据库中的数据删除。
4.根据权利要求3所述的方法,其中,
所述获取与所述待归档数据的子范围相对应的待归档数据包括:
每次根据所述源数据库的当前性能,确定本次待获取的待归档数据的数量;所述当前性能包括当前每秒处理事务数,当前CPU利用率,当前每秒内I/O操作的时间占比中至少一项;
根据本次待获取的待归档数据的数量,获取相应数量的属于所述子范围的待归档数据。
5.根据权利要求4所述的方法,其中,
所述每次根据所述源数据库的当前性能,确定本次待获取的待归档数据的数量包括:
将当前每秒处理事务数,当前CPU利用率,当前每秒内I/O操作的时间占比进行加权得到加权值;
根据所述加权值与预设数量,确定本次待获取的待归档数据的数量。
6.根据权利要求3所述的方法,其中,
所述在目标数据库中创建目标表,将获取的待归档数据存储到所述目标表中包括:
根据源数据库的标识、源表的标识以及欲存储的待归档数据的范...
【专利技术属性】
技术研发人员:程鹏兴,高新刚,肖盛锋,赵越,郭声永,
申请(专利权)人:京东数字科技控股有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。