CN116126826A - 一种wal批量管理方法、系统、装置及存储介质 - Google Patents

一种wal批量管理方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN116126826A
CN116126826A CN202211736424.5A CN202211736424A CN116126826A CN 116126826 A CN116126826 A CN 116126826A CN 202211736424 A CN202211736424 A CN 202211736424A CN 116126826 A CN116126826 A CN 116126826A
Authority
CN
China
Prior art keywords
wal
wwid
list
san storage
batch 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
Application number
CN202211736424.5A
Other languages
English (en)
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.)
Shanghai Data Center of China Life Insurance Co Ltd
Original Assignee
Shanghai Data Center of China Life Insurance Co 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 Shanghai Data Center of China Life Insurance Co Ltd filed Critical Shanghai Data Center of China Life Insurance Co Ltd
Priority to CN202211736424.5A priority Critical patent/CN116126826A/zh
Publication of CN116126826A publication Critical patent/CN116126826A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种WAL批量管理方法、系统、装置及存储介质。其中方法包括移除WAL的方法及恢复WAL的方法,其中,移除WAL的方法包括以下步骤:查询WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;获取SAN存储中存储的WAL列表;根据指定的数量,进行备份与删除SAN存储中的WAL;恢复WAL的方法包括以下步骤:查询WWID,获取暂存目录中存储的WAL的列表。根据指定的数量,从暂存目录中恢复WAL至SAN存储中。与现有技术相比,本发明在单一的WAL挪移命令的基础上,添加了保护数据库恢复和保护复制链路的功能,同时可指定删除WAL的数量,在不影响数据库工作的同时实现WAL的批量管理功能。

Description

一种WAL批量管理方法、系统、装置及存储介质
技术领域
本发明涉及数据库技术领域,尤其是涉及一种WAL批量管理方法、系统、装置及存储介质。
背景技术
PolarDB是阿里云自主研发的新一代关系型云原生数据库,既拥有分布式设计的低成本优势,又具有集中式的易用性。PolarDB采用存储计算分离、软硬一体化设计,满足大规模应用场景需求。
WAL是(Write Ahead Log)WAL的缩写,是数据库系统中常见的一种手段,用于保证数据操作的原子性和持久性。
PolarDB的架构是多实例、共享存储的架构。多个实例和共享存储等其他组件,组成了一个数据库集群。每个数据库集群使用一个共享存储。数据文件与WAL共同存储在共享存储中。每个数据库集群使用的共享存储大小是有上限的,上限可扩容,但扩容需要流程以及时间。
在突发大量DML(Data Manipulation Language,数据操纵语言)业务发生时,会产生大量WAL占用共享存储空间,当共享存储空间满时,预期是数据库处于不可写、只能读的状态,但还可能使得数据库进入无法启动的状态,影响数据库的使用,目前PolarDB缺乏处理大量WAL的方法以及功能,因此,目前亟需一个能够针对PolarDB实现WAL批量管理的实现方法。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种WAL批量管理方法、系统、装置及存储介质。
本发明的目的可以通过以下技术方案来实现:
一种WAL批量管理方法,包括移除WAL的方法及恢复WAL的方法,其中,移除WAL的方法包括以下步骤:
S01、查询WWID;
S02、根据S01的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S03、根据S01的WWID,获取SAN存储中存储的WAL列表;
S04、根据指定的数量,进行备份与删除SAN存储中的WAL;
恢复WAL的方法包括以下步骤:
S11、查询WWID;
S12、根据S11的WWID,获取暂存目录中存储的WAL的列表。
S13、根据指定的数量,从所述暂存目录中恢复WAL至SAN存储中。
进一步地,步骤S04包括以下子步骤:
创建一个暂存目录;
从S03中获取的WAL列表中获取指定数量的WAL并形成删除列表,所述删除列表中的WAL号小于S02获取的数据库检查点的WAL号;
将删除列表中的WAL复制到暂存目录中;
将删除列表中的WAL从SAN存储中删除。
进一步地,步骤S13包括以下子步骤:
从暂存目录中获取WAL文件列表,该文件列表中的WAL不带后缀;
根据指定的数量,依次将暂存目录中的每一个WAL复制到SAN存储中,并将暂存目录中对应的WAL文件加上文件后缀。
进一步地,针对需要保护复制链路中WAL的情况,移除WAL的方法包括以下步骤:
S21、查询WWID;
S22、根据S21的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S23、获取SAN存储中的文件,获取数据库端口;
S24、根据S23获取的数据库端口,得到复制链路当前正在使用的WAL名称,获取复制链路所使用的WAL,并获取复制链路里的最小WAL;
S25、根据S21的WWID,获取SAN存储中存储的WAL列表;
S26、根据指定的数量,进行备份与删除SAN存储中的WAL。
进一步地,步骤S26包括以下子步骤:
创建一个暂存目录;
从S25中获取的WAL列表中获取指定数量的WAL并形成删除列表,所述删除列表中的WAL号小于步骤S22获取的数据库检查点的WAL号与步骤S24获取的复制链路中的最小WAL号;
将删除列表中的WAL复制到暂存目录中;
将删除列表中的WAL从SAN存储中删除。
一种WAL批量管理系统,用于实现如上所述的一种WAL批量管理方法,包括移除模块及恢复模块;
所述移除模块用于备份与删除SAN存储中的WAL;
所述恢复模块用于恢复WAL至SAN存储中。
进一步地,所述移除模块执行如下操作:
S01、查询WWID;
S02、根据S01的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S03、根据S01的WWID,获取SAN存储中存储的WAL列表;
S04、根据指定的数量,进行备份与删除SAN存储中的WAL;
所述恢复模块执行如下操作:
S11、查询WWID;
S12、根据S01的WWID,获取暂存目录中存储的WAL的列表。
S13、根据指定的数量,从所述暂存目录中恢复WAL至SAN存储中。
一种WAL批量管理装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用所述程序指令能够执行如上所述的一种WAL批量管理方法。
一种计算机可读存储介质,包括计算机程序,所述计算机程序能够被处理器执行以实现如上所述的一种WAL批量管理方法。
与现有技术相比,本发明具有以下有益效果:
1、本发明基于PolarDB数据库实现批量处理WAL,可根据指定数量将WAL从SAN存储中删除或恢复,批量处理可缩短故障恢复时间;
2、本发明可识别并保护数据库恢复所需要的WAL,以及保护复制链路所需要的WAL不备挪走,实现WAL批量管理的同时不影响数据库的正常工作;
3、本发明中批量处理WAL的数量可指定,也可以全部处理;
4、本发明恢复WAL时,可指定间隔时间,以防占用大量IO。
附图说明
图1为移除WAL的方法(1)的流程示意图;
图2为移除WAL的方法(2)的流程示意图;
图3为恢复WAL的方法流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本发明提供了一种基于PolarDB数据库的WAL批量管理的实现方法,该方法在单一的WAL挪移命令的基础上,添加了保护数据库恢复和保护复制链路的功能,同时可指定删除WAL的数量。
实施例1
本实施例提供了一种WAL批量管理方法,包括两种移除WAL的方法及一种恢复WAL的方法,其中,两种移除WAL的方法分别为:
1、移除WAL的方法(1),数据库不可用时,即数据库实例无法启动,会保护数据库恢复状态,不会移除数据库启动时恢复需要的WAL。
2、移除WAL的方法(2),数据库可用时,即数据库处于可读不可写时,会保护复制链路,不会移除复制链路需要的WAL。
恢复WAL的方法为共享存储空间充足时,可恢复已移除的的WAL到共享存储中。
如图1所示,移除WAL的方法(1)包括以下步骤:
S01、通过polarstack查询WWID(World Wild Identification,存储盘标识);
S02、根据S01的WWID,访问WWID对应的SAN存储(Storage Area Network,存储区域网络),查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S03、根据S01的WWID,获取SAN存储中存储的WAL列表;
S04、根据指定的数量,进行备份与删除SAN存储中的WAL;
具体的,步骤S04包括以下子步骤:
创建一个暂存目录;
从S03中获取的WAL列表中获取指定数量的WAL并形成删除列表,删除列表中的WAL号小于S02获取的数据库检查点的WAL号;
将删除列表中的WAL复制到暂存目录中;
将删除列表中的WAL从SAN存储中删除。
如图2所示,移除WAL的方法(2)包括以下步骤:
S21、通过polarstack查询WWID;
S22、根据S21的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S23、获取SAN存储中的文件,获取数据库端口;
S24、根据S23获取的数据库端口,数据库内部的视图写明了复制链路当前正在使用的WAL名字,提供命令得到复制链路当前正在使用的WAL名称,获取复制链路所使用的WAL,并获取复制链路里的最小WAL;
S25、根据S21的WWID,获取SAN存储中存储的WAL列表;
S26、根据指定的数量,进行备份与删除SAN存储中的WAL。
具体的,步骤S26包括以下子步骤:
创建一个暂存目录;
从S25中获取的WAL列表中获取指定数量的WAL并形成删除列表,删除列表中的WAL号小于步骤S22获取的数据库检查点的WAL号与步骤S24获取的复制链路中的最小WAL号;
将删除列表中的WAL复制到暂存目录中;
将删除列表中的WAL从SAN存储中删除。
如图3所示,恢复WAL的方法包括以下步骤:
S11、通过polarstack查询WWID;
S12、根据S11的WWID,获取暂存目录中存储的WAL的列表。
S13、根据指定的数量,从暂存目录中恢复WAL至SAN存储中。
具体的,步骤S13包括以下子步骤:
从暂存目录中获取WAL文件列表,该文件列表中的WAL不带后缀_bak;
根据指定的数量,依次将暂存目录中的每一个WAL复制到SAN存储中,并将暂存目录中对应的WAL文件加上文件后缀_bak。
特别的,恢复WAL时,可指定各个WAL之间的操作间隔时间,以防占用大量IO。
实施例2
本实施例提供了一种WAL批量管理系统,用于实现如上所述的一种WAL批量管理方法,包括移除模块及恢复模块;移除模块用于备份与删除SAN存储中的WAL;恢复模块用于恢复WAL至SAN存储中。
移除模块执行如下操作:
S01、通过polarstack查询WWID;
S02、根据S01的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S03、根据S01的WWID,获取SAN存储中存储的WAL列表;
S04、根据指定的数量,进行备份与删除SAN存储中的WAL;
恢复模块执行如下操作:
S11、通过polarstack查询WWID;
S12、根据S01的WWID,获取暂存目录中存储的WAL的列表。
S13、根据指定的数量,从所述暂存目录中恢复WAL至SAN存储中。
本实施例还提供了一种WAL批量管理装置及一种计算机可读存储介质,其中装置包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用所述程序指令能够执行如上实施例所述的一种WAL批量管理方法;同时,所述计算机可读存储介质包括计算机程序,该计算机程序能够被处理器执行以实现如上实施例所述的一种WAL批量管理方法。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种WAL批量管理方法,其特征在于,包括移除WAL的方法及恢复WAL的方法,其中,移除WAL的方法包括以下步骤:
S01、查询WWID;
S02、根据S01的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S03、根据S01的WWID,获取SAN存储中存储的WAL列表;
S04、根据指定的数量,进行备份与删除SAN存储中的WAL;
恢复WAL的方法包括以下步骤:
S11、查询WWID;
S12、根据S11的WWID,获取暂存目录中存储的WAL的列表。
S13、根据指定的数量,从所述暂存目录中恢复WAL至SAN存储中。
2.根据权利要求1所述的一种WAL批量管理方法,其特征在于,步骤S04包括以下子步骤:
创建一个暂存目录;
从S03中获取的WAL列表中获取指定数量的WAL并形成删除列表,所述删除列表中的WAL号小于S02获取的数据库检查点的WAL号;
将删除列表中的WAL复制到暂存目录中;
将删除列表中的WAL从SAN存储中删除。
3.根据权利要求1所述的一种WAL批量管理方法,其特征在于,步骤S13包括以下子步骤:
从暂存目录中获取WAL文件列表,该文件列表中的WAL不带后缀。
4.根据指定的数量,依次将暂存目录中的每一个WAL复制到SAN存储中,并将暂存目录中对应的WAL文件加上文件后缀。
5.根据权利要求1所述的一种WAL批量管理方法,其特征在于,针对需要保护复制链路中WAL的情况,移除WAL的方法包括以下步骤:
S21、查询WWID;
S22、根据S21的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S23、获取SAN存储中的文件,获取数据库端口;
S24、根据S23获取的数据库端口,得到复制链路当前正在使用的WAL名称,获取复制链路所使用的WAL,并获取复制链路里的最小WAL;
S25、根据S21的WWID,获取SAN存储中存储的WAL列表;
S26、根据指定的数量,进行备份与删除SAN存储中的WAL。
6.根据权利要求5所述的一种WAL批量管理方法,其特征在于,步骤S26包括以下子步骤:
创建一个暂存目录;
从S25中获取的WAL列表中获取指定数量的WAL并形成删除列表,所述删除列表中的WAL号小于步骤S22获取的数据库检查点的WAL号与步骤S24获取的复制链路中的最小WAL号;
将删除列表中的WAL复制到暂存目录中;
将删除列表中的WAL从SAN存储中删除。
7.一种WAL批量管理系统,其特征在于,用于实现如权利要求1-6任一所述的一种WAL批量管理方法,包括移除模块及恢复模块;
所述移除模块用于备份与删除SAN存储中的WAL;
所述恢复模块用于恢复WAL至SAN存储中。
8.根据权利要求7所述的一种WAL批量管理系统,其特征在于,所述移除模块执行如下操作:
S01、查询WWID;
S02、根据S01的WWID,访问WWID对应的SAN存储,查看SAN存储中数据库的控制文件,获取当前数据库检查点的WAL,并记录其WAL号;
S03、根据S01的WWID,获取SAN存储中存储的WAL列表;
S04、根据指定的数量,进行备份与删除SAN存储中的WAL;
所述恢复模块执行如下操作:
S11、查询WWID;
S12、根据S01的WWID,获取暂存目录中存储的WAL的列表。
S13、根据指定的数量,从所述暂存目录中恢复WAL至SAN存储中。
9.一种WAL批量管理装置,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的一种WAL批量管理方法。
10.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-6任一所述的一种WAL批量管理方法。
CN202211736424.5A 2022-12-30 2022-12-30 一种wal批量管理方法、系统、装置及存储介质 Pending CN116126826A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211736424.5A CN116126826A (zh) 2022-12-30 2022-12-30 一种wal批量管理方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211736424.5A CN116126826A (zh) 2022-12-30 2022-12-30 一种wal批量管理方法、系统、装置及存储介质

Publications (1)

Publication Number Publication Date
CN116126826A true CN116126826A (zh) 2023-05-16

Family

ID=86307459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211736424.5A Pending CN116126826A (zh) 2022-12-30 2022-12-30 一种wal批量管理方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN116126826A (zh)

Similar Documents

Publication Publication Date Title
CN107045422B (zh) 分布式存储方法和设备
US20140317369A1 (en) Snapshot creation from block lists
US9817724B2 (en) Efficient FlashCopy backup target volume allocation with reuse and a shared resource pool
US11403187B2 (en) Prioritized backup segmenting
WO2013074914A1 (en) Method of and system for merging, storing and retrieving incremental backup data
CN102667703A (zh) 用于虚拟磁带库系统中的优化回收处理的系统和方法
CN111552437B (zh) 一种应用于分布式存储系统的快照方法及快照装置
US20070233753A1 (en) Database system management method, database system, database device, and backup program
US20130275541A1 (en) Reparse point replication
US10628298B1 (en) Resumable garbage collection
JP2007241486A (ja) 記憶装置システム
US20130290660A1 (en) Post access data preservation
CN104461773A (zh) 一种虚拟机备份去重的方法
CN112800019A (zh) 基于Hadoop分布式文件系统的数据备份方法及系统
CN109753381B (zh) 一种基于对象存储的持续数据保护方法
CN112925676B (zh) 一种基于wal实现分布式数据库集群任意时间点恢复的方法
US20070106701A1 (en) Method and system for updating an application
CN115098300B (zh) 一种数据库的备份方法、容灾方法、装置及设备
CN116126826A (zh) 一种wal批量管理方法、系统、装置及存储介质
US9600188B2 (en) Collision avoidance using dynamic target volume allocation from a shared resource pool
US11269739B2 (en) Method and system for managing backup data
CN111581016B (zh) 一种现代应用的副本数据管理系统及方法
CN113672436A (zh) 一种容灾备份方法、装置、设备及存储介质
US9672118B2 (en) Collision avoidance using dynamic target volume allocation
KR930009854B1 (ko) 전전자 교환기의 dbms에서의 데이타 베이스 백업 및 회복하는 방법

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