一种数据库日志用近实时智能复制方法及系统与流程

摘要: 本发明涉及数据容灾备份,更具体地涉及一种数据库日志用近实时智能复制方法及系统。背景技术:1、数据库管理系统在日常运行中会产生大量的数据库日志,这些日志记录了数据...
一种数据库日志用近实时智能复制方法及系统与流程

本发明涉及数据容灾备份,更具体地涉及一种数据库日志用近实时智能复制方法及系统。

背景技术:

1、数据库管理系统在日常运行中会产生大量的数据库日志,这些日志记录了数据库的所有操作历史和状态信息,是维护数据一致性、完整性和进行故障恢复的关键数据,因此,对数据库日志进行有效备份是数据库数据保护的核心任务之一;

2、目前,针对数据库日志的备份主要采用以下两种技术方案:方案一是基于主机agent的传统日志备份方案,该方案通过在数据库主机侧部署agent程序,由agent远程或本地连接数据库,实时监控数据库日志的产生,并将新产生的日志通过网络备份到备份系统的媒体服务器;方案二是基于存储快照的备份方案,该方案利用存储系统的快照能力,按照预设策略对存储lun创建快照,实现数据备份,但是其仍存在以下问题:

3、agent运行在数据库主机上,会持续占用主机的cpu、内存、网络和磁盘i/o资源,对生产业务造成负面影响;为避免对业务的影响,备份策略通常被安排在非业务时段执行,导致两次备份之间产生的数据库日志可能丢失,恢复点目标较大;多次快照对i/o影响较大,建议在非生产环境使用;快照的调度是根据策略设置,例如间隔30分钟或1小时,也会导致rpo很高,当出现异常后,数据丢失较多。

技术实现思路

1、为了克服现有技术的上述缺陷,本发明提供一种数据库日志用近实时智能复制方法及系统,以解决背景技术中所提出的技术问题。

2、为实现上述目的,本发明提供如下技术方案:一种数据库日志用近实时智能复制方法,包括以下步骤:

3、步骤s1、在管理系统中标记需实时保护的lun对象,配置数据库日志存放路径、日志文件后缀以及备份目标地址;

4、步骤s2、在数据库主机上部署监控组件,监控组件通过调用管理系统的api接口获取lun对象信息以及数据库日志路径;

5、步骤s3、监控组件根据步骤s2获取的配置信息,利用操作系统内核级文件系统事件通知机制监控指定的数据库日志存放目录,当监控到日志文件的创建事件和/或关闭事件时,生成备份元数据并发送至存储管理系统的监控模块;

6、步骤s4、存储系统根据备份元数据,对指定的lun创建快照、克隆lun,从克隆lun中读取指定路径下的数据库日志文件并备份至目标备份路径;

7、步骤s5、管理系统读取备份执行进度以及结果并进行展示。

8、在一个优选的实施方式中,所述步骤s1中,标记以及配置通过管理系统的web图形界面和/或命令行界面执行,标记完成后支持对已配置的lun对象、数据库日志存放路径、日志文件后缀和备份目标地址进行修改。

9、在一个优选的实施方式中,所述步骤s2中,监控组件按照可配置的时间间隔定期查询管理系统api,以获取最新的lun对象信息和数据库日志路径信息,所述监控组件查询管理系统api的时间间隔默认为1分钟,该时间间隔配置范围为1至30分钟。

10、在一个优选的实施方式中,所述步骤s3中,操作系统内核级文件系统事件通知机制为linux系统的inotify机制,监控组件通过inotify机制捕获文件创建事件in_create和文件关闭事件in_close_write,对数据库日志文件进行生成以及写入完成的实时感知。

11、在一个优选的实施方式中,所述步骤s3中,备份元数据包括日志文件的文件名称、文件在存储系统中的完整路径、文件大小和文件创建时间中的至少一种信息,所述备份元数据用于唯一标识待备份的日志文件并指导存储系统执行备份操作。

12、在一个优选的实施方式中,所述步骤s3中,监控组件将捕获到的事件信息封装为json格式的备份元数据,并通过http协议将所述备份元数据发送至存储管理系统的监控模块,进行监控组件与存储管理系统之间的标准化数据交互。

13、在一个优选的实施方式中,所述步骤s4中,数据库日志文件从克隆lun读取并备份至目标备份路径的过程中,对备份数据采用自适应压缩算法进行压缩传输,自适应压缩算法根据当前网络带宽状况和数据类型自动选择压缩比。

14、在一个优选的实施方式中,所述步骤s4中,自适应压缩算法包括以下步骤:

15、步骤a1、通过发送探测数据包或监测网络协议栈状态,实时获取当前可用网络带宽值;

16、步骤a2、通过读取待备份日志文件的文件头信息和/或对数据块进行熵值分析,识别数据类型及其可压缩性;

17、步骤a3、根据步骤a1获取的网络带宽值和步骤a2识别的数据类型,从预置的多种压缩算法中选择匹配的压缩算法以及压缩级别,其中:

18、当网络带宽高于第一阈值时,优先选择压缩比高于第一压缩比阈值的压缩算法;

19、当网络带宽低于第二阈值时,优先选择压缩速度高于第一速度阈值的压缩算法;

20、当数据类型为预设的不可压缩类型或数据熵值高于预设熵值阈值时,跳过压缩或采用最低压缩级别;

21、步骤a4、在备份传输过程中持续监测压缩耗时与传输耗时的比值,当压缩+传输总耗时超出不压缩直接传输预估耗时的预设比例时,自动降低压缩级别或切换至更快的压缩算法。

22、在一个优选的实施方式中,所述步骤s5中,管理系统展示的备份信息包括文件名称、文件大小、文件创建时间、文件最后修改时间、当前备份状态和历史备份次数,且管理系统支持通过web图形界面以及命令行界面两种方式进行备份结果的查询与展示。

23、一种数据库日志用近实时智能复制系统,包括:

24、标记配置模块,设置于管理系统中,用于接收用户对需保护lun对象的标记指令以及数据库日志存放路径、日志文件后缀、备份目标地址的配置指令,生成并存储配置文件,并提供api查询接口;

25、日志监控模块,为部署于数据库主机的轻量级agent,通过api查询接口获取lun对象信息及数据库日志路径,利用操作系统内核级文件系统事件通知机制实时监控指定目录下的日志文件创建事件和/或文件关闭事件,将捕获的事件信息生成备份元数据并发送;

26、备份触发模块,设置于存储管理系统中,用于接收所述日志监控模块发送的备份元数据,并触发备份执行模块;

27、备份执行模块,设置于存储系统中,用于根据备份元数据对指定lun创建快照、克隆lun,从克隆lun中读取指定路径下的数据库日志文件并备份至目标备份路径;

28、结果展示模块,设置于管理系统中,用于读取备份执行进度和结果并进行展示。

29、本发明的技术效果和优点:

30、1、本发明通过操作系统内核级文件系统事件通知机制实现对数据库日志文件变化的实时监控,该机制对主机cpu、内存等资源的消耗微乎其微,可忽略不计,与现有技术中需要在主机上部署重型agent持续轮询或驱动级监控的方案相比,本发明消除备份操作对生产数据库主机的资源占用影响,实现备份对业务系统的零负向影响;

31、2、本发明通过采用事件驱动的触发机制,一旦数据库产生新的日志文件,agent即刻捕获该事件并触发后续备份流程,实现数据库日志产生后的近实时备份,与基于固定时间策略的快照方案相比,本发明的rpo从小时/十分钟级别降低至秒级,减少异常情况下的数据丢失;

32、3、本发明通过将实际的备份数据读写和传输任务全部卸载到存储系统侧执行,数据库主机仅需承担极轻量级的文件事件监控任务,与现有技术中agent需要通过网络将日志数据从主机传输到备份服务器的方案相比,本发明的备份数据流不经过数据库主机,消除备份操作对主机网络和磁盘i/o资源的占用;

33、4、本发明通过管理系统web界面直接标识需保护的lun对象和文件类型,无需复杂的命令行查询和操作,配置完成后支持随时修改,与通过命令行手动配置快照策略的方式相比,易用性提高,在备份传输过程中自动采用自适应压缩算法,根据网络带宽状况和数据类型动态选择压缩策略,充分提高网络带宽利用率,确保系统能够高效备份更多的数据库日志。