CN103810056A - 一种在Linux平台上获得一致性备份的方法 - Google Patents

一种在Linux平台上获得一致性备份的方法 Download PDF

Info

Publication number
CN103810056A
CN103810056A CN201210437244.7A CN201210437244A CN103810056A CN 103810056 A CN103810056 A CN 103810056A CN 201210437244 A CN201210437244 A CN 201210437244A CN 103810056 A CN103810056 A CN 103810056A
Authority
CN
China
Prior art keywords
file
backup
monitoring
function
linux
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
CN201210437244.7A
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.)
NANJING YIJIZHI INFORMATION TECHNOLOGY Co Ltd
Original Assignee
NANJING YIJIZHI INFORMATION TECHNOLOGY 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 NANJING YIJIZHI INFORMATION TECHNOLOGY Co Ltd filed Critical NANJING YIJIZHI INFORMATION TECHNOLOGY Co Ltd
Priority to CN201210437244.7A priority Critical patent/CN103810056A/zh
Publication of CN103810056A publication Critical patent/CN103810056A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在Linux平台上获得一致性备份的方法,其过程为:通过监控备份文件,在所述文件的备份过程中,拦截文件的写操作,获取文件在进行写操作时的实时数据文件,最后把监控文件的镜像数据和实时数据按时间的先后顺序组合成一个备份,此时生成的备份就是一致性备份。本发明对Linux操作***的要求比较低,通过使用应用模块和内核模块,可以在任何Linux***上获得文件或数据库的一致性备份,方法通用,不依赖于任何可选配置或技术。

Description

一种在Linux平台上获得一致性备份的方法
技术领域
本发明涉及一种计算机数据安全领域,特别是涉及一种在LINUX平台上获得一致性备份的方法。
背景技术
随着计算机***和互联网在各个领域的广泛应用,许多政府机构、公司甚至个人对计算机数据越来越依赖,因此数据安全成为信息社会的重要诉求之一,而数据备份正是解决数据安全的核心问题。
本技术方案解决的正是如何在Linux平台上获得一致性备份,用户在某一个状态下做备份时,可能有应用正在修改某一文件或者数据,这就是使得备份的时候文件处于一个状态,而备份完后,文件却处于另一个状态,这种状态恢复数据库数据几乎不会成功。
Linux是一个性能稳定、功能强大、效率高的操作***。目前,Linux传统的文件备份工具如tar和cpio等命令功能比较简单,难以处理文件***级的数据备份,而能够获得一致性备份的只有基于BTRFS、ZFS文件***的快照技术和基于逻辑卷管理(LVM)的快照技术。Linux默认的ext3或ext4文件***是不支持快照的,且逻辑卷管理需要安装,而且很多Linux用户可能并没有进行分区以及建立1vm逻辑卷,因此,对于普通用户来说,快照这一功能有很大的使用局限性。
发明内容
本发明的目的是提供一种在Linux平台上获得一致性备份的方法。用户在某一个状态下做备份时,可能有应用正在修改某一文件或者数据,这就使得备份的时候文件处于一个状态,而备份完后,文件却处于另一个状态,这种状态恢复数据库数据几乎不会成功。
为解决上述技术问题,本发明采取以下技术方案:
步骤1:在Linux平台上,应用模块将需要监控的文件或目录传递给管理模块,并且向管理模块发送开始或停止监控的命令。
步骤2:Linux内核的监控模块拦截sys-write函数,将所述原sys-write函数记为OLDWRITE函数,并将拦截后的所述sys-write函数用NEWWRITE函数替换。
步骤3:当用户需要进行监控时,所述应用模块通过接口通知内核开始监控,当文件的写操作被截获后,所述NEWWRITE函数根据文件句柄判断所述文件是否为被监控的文件,如果是被监控文件,则捕获写操作的操作时刻、文件名、起始偏移、写入的数据内容以及字节数,将捕获到的实时监控信息存储到实时数据集合中,最后所述文件再调用OLDWRITE函数;如果不是监控文件,则直接调用OLDWRITE函数,继续原来的进程。
步骤4:当用户程序完成对需要监控文件或目录的拷贝后,所述应用模块通过接口通知内核停止监控。
步骤5:应用模块把上述监控文件的镜像数据和实时数据集合文件按实时数据操作时间的先后顺序组成一个备份文件,此时生成的备份就是一致性备份。
从上述技术方案可以看出,与现有在Linux平台上获得一致性备份的方法相比,本发明具有以下优点:
第一,本发明对Linux操作***的要求比较低,通过使用应用模块和内核模块,可以在任何Linux***上获得文件或数据库的一致性备份,方法通用,不依赖于任何可选配置或技术。
第二,目前现有在Linux中,必须在支持快照技术的文件***或逻辑卷管理上才能获得一致性备份。但是,Linux默认的ext3或ext4文件***是不支持快照的,且逻辑卷管理需要安装,因此,对于普通用户来说,快照这一功能有很大的使用局限性。
第三,LVM的快照采用COW(Copy-On-Write)的机制,即当对原逻辑卷的数据进行写操作时,原始的数据块将被拷贝到快照卷分配的空间,并将数据的流向记录在一个表中。如果该逻辑卷存在多个快照卷,则原始数据块将被拷贝到各个快照卷所分配的空间,降低了***写磁盘的效率。
从上述可知,本发明技术具有可操作性高、成本低、效率高的特点。
附图说明
图1是本发明的总流程图。
图2是本发明监控模块拦截到sys-write函数并进行处理的流程图。
图3是本发明记录实时数据的流程图。
图4是本发明中合成一致性备份文件的示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明。本实施方案在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
首先,用户根据备份需要通过应用模块告诉管理模块需要监控的文件或目录,当需要监控时,应用模块向管理模块发送开始监控的命令。同理,当不需要监控时,应用模块向管理模块发送停止监控的命令。例如,用户在10时至11时之间对文件进行备份,因此用户可以选择在10时或之前对文件进行监控,当备份结束后,用户可以结束监控,也可以根据需要继续监控。另外,应用模块可以向管理模块添加、删除需要监控的文件。
当应用模块通过接口通知内核模块开始监控后,监控模块拦截内核sys-write函数,并对sys-write函数进行处理,如图2所示,原sys-write函数记为OLDWRITE函数,并将拦截后的所述sys-write函数用NEWWRITE函数替换。
如图3所示,当文件的写操作被截获后,并对截获的sys-write函数进行过处理后,NEWWRITE函数根据文件句柄判断该文件是否为被监控的文件,如果不是被监控的文件,则调用OLDWRITE函数,被截获的文件继续原来的进程;如果被截获的文件为被监控文件,捕获文件的操作信息,包括操作时刻、文件名、起始偏移、写入的数据内容以及字节数,将捕获到的实时监控信息存储到实时数据集合中,最后所述文件再调用OLDWRITE函数,继续原来的进程。因为监控过程为实时的,因此能够实时捕获进行写操作的文件,每拦截一次形成一次实时数据。由于操作信息非常繁杂,因此要对操作信息进行分析,将需要的操作信息记录到实时数据集合中,且实时数据文件以操作时刻命名,这样在后面按时间先后顺序合成一致性备份文件时,清晰明了,易于操作,保证数据的一致性。
当用户完成对某一文件的拷贝后,应用模块通过接口通知内核停止监控。如果用户需要对该文件继续监控,则根据需要继续监控所述文件,在此后形成的实时数据文件仍按照操作时刻命名,在用户进行下一次备份时,合成一致性备份文件。
最后,如图4所示,应用模块把监控文件的镜像数据和实时数据文件集合按操作时间顺序组合成一个新的备份文件,此时生产的备份文件就是一致性备份。在形成一个新的一致性备份文件后,用户可以将产生的镜像文件和实时数据文件删除,增加电脑空间。

Claims (3)

1.一种在Linux平台上获得一致性备份的方法,其特征在于包括以下步骤:
步骤1:应用模块将需要监控的文件或目录传递给管理模块,并且向管理模块发送开始或停止监控的命令;
步骤2:Linux内核的监控模块拦截sys-write函数,将所述原sys-write函数记为OLDWRITE,并将拦截后的所述sys-write函数用NEWWRITE函数替换;
步骤3:所述应用模块通过接口通知内核开始监控,当文件的写操作被截获后,所述NEWWRITE函数根据文件句柄判断所述文件是否为被监控的文件,如果是被监控文件,则捕获写操作的操作时刻、文件名、起始偏移、写入的数据内容以及字节数,将捕获到的实时监控信息存储到实时数据集合中,最后所述文件再调用OLDWRITE函数,如果不是监控文件,则直接调用OLDWRITE函数;
步骤4:当用户程序完成对需要监控文件或目录的拷贝后,所述应用模块通过接口通知内核停止监控;
步骤5:应用模块把上述监控文件的镜像数据和实时数据集合文件按时间的先后顺序组成一个备份文件,此时生成的备份就是一致性备份。
2.如权利要求1中所述一种在Linux平台上获得一致性备份的方法,所述Linux平台对Linux操作***的要求比较低,默认文件***即可,不需要具备快照功能、安装逻辑卷管理以及其他复杂配置。
3.如权利要求1中所述一种在Linux平台上获得一致性备份的方法,所述实时数据集合是存储监控文件进行写操作时捕获到的实时监控信息,每拦截到一次写操作并进行一次记录,其功能类似日志。
CN201210437244.7A 2012-11-06 2012-11-06 一种在Linux平台上获得一致性备份的方法 Pending CN103810056A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210437244.7A CN103810056A (zh) 2012-11-06 2012-11-06 一种在Linux平台上获得一致性备份的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210437244.7A CN103810056A (zh) 2012-11-06 2012-11-06 一种在Linux平台上获得一致性备份的方法

Publications (1)

Publication Number Publication Date
CN103810056A true CN103810056A (zh) 2014-05-21

Family

ID=50706862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210437244.7A Pending CN103810056A (zh) 2012-11-06 2012-11-06 一种在Linux平台上获得一致性备份的方法

Country Status (1)

Country Link
CN (1) CN103810056A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017190580A1 (zh) * 2016-05-06 2017-11-09 北京奇虎科技有限公司 访问数据库的方法及装置
CN112000375A (zh) * 2020-07-13 2020-11-27 深圳市智微智能软件开发有限公司 安卓***的启动阶段判断方法、装置、设备及存储介质
CN117724905A (zh) * 2024-02-05 2024-03-19 成都云祺科技有限公司 Linux下文件***的实时复制方法、***及恢复方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086502A (en) * 1989-07-11 1992-02-04 Intelligence Quotient International Limited Method of operating a data processing system
US5546534A (en) * 1993-07-19 1996-08-13 Intelligence Quotient International Ltd. Method of operating a computer system
CN1326155A (zh) * 2000-05-25 2001-12-12 英业达股份有限公司 即时生成文件版本的方法
CN1368683A (zh) * 2001-02-02 2002-09-11 英业达股份有限公司 利用同步目录容错的方法
CN102467557A (zh) * 2010-11-17 2012-05-23 英业达股份有限公司 重复数据删除的处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086502A (en) * 1989-07-11 1992-02-04 Intelligence Quotient International Limited Method of operating a data processing system
US5546534A (en) * 1993-07-19 1996-08-13 Intelligence Quotient International Ltd. Method of operating a computer system
CN1326155A (zh) * 2000-05-25 2001-12-12 英业达股份有限公司 即时生成文件版本的方法
CN1368683A (zh) * 2001-02-02 2002-09-11 英业达股份有限公司 利用同步目录容错的方法
CN102467557A (zh) * 2010-11-17 2012-05-23 英业达股份有限公司 重复数据删除的处理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017190580A1 (zh) * 2016-05-06 2017-11-09 北京奇虎科技有限公司 访问数据库的方法及装置
CN112000375A (zh) * 2020-07-13 2020-11-27 深圳市智微智能软件开发有限公司 安卓***的启动阶段判断方法、装置、设备及存储介质
CN112000375B (zh) * 2020-07-13 2023-12-26 深圳市智微智能软件开发有限公司 安卓***的启动阶段判断方法、装置、设备及存储介质
CN117724905A (zh) * 2024-02-05 2024-03-19 成都云祺科技有限公司 Linux下文件***的实时复制方法、***及恢复方法
CN117724905B (zh) * 2024-02-05 2024-04-19 成都云祺科技有限公司 Linux下文件***的实时复制方法、***及恢复方法

Similar Documents

Publication Publication Date Title
US10997035B2 (en) Using a snapshot as a data source
US10552373B2 (en) Space accounting for storage system snapshots
US7672979B1 (en) Backup and restore techniques using inconsistent state indicators
US8468136B2 (en) Efficient data backup
CN110851302B (zh) 一种数据库信息的备份方法及恢复方法
US7650475B2 (en) Storage system and method for managing data using the same
WO2020207010A1 (zh) 数据备份方法、装置及计算机可读存储介质
US8732128B2 (en) Shadow copy bookmark generation
US11914554B2 (en) Adaptable multi-layered storage for deduplicating electronic messages
US9223797B2 (en) Reparse point replication
CN108255638B (zh) 一种快照回滚方法及装置
US20110276573A1 (en) Journal event consolidation
US10146637B1 (en) Intelligent snapshot rollbacks
CN113886143B (zh) 虚拟机持续数据保护方法、装置及数据恢复方法、装置
US20110282843A1 (en) Method and system for data backup and replication
US20200379848A1 (en) Adaptable multi-layered storage for generating search indexes
US10642511B2 (en) Continuous data protection storage media using smart solid state drives
US11144233B1 (en) Efficiently managing point-in-time copies of data within a primary storage system
CN112800019A (zh) 基于Hadoop分布式文件***的数据备份方法及***
CN106991020B (zh) 对图像级备份的文件***对象的有效处理
CN103810056A (zh) 一种在Linux平台上获得一致性备份的方法
JP2017167811A (ja) バックアップ制御装置、バックアップ制御方法及びプログラム
CN106445729A (zh) 一种基于备份虚拟化的方法
WO2021208402A1 (zh) 现代应用的副本数据管理***及方法
US11977454B2 (en) Leveraging metadata of a deduplication storage system to perform an efficient restore of backup data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140521