CN103176868B - 一种文件状态备份方法 - Google Patents

一种文件状态备份方法 Download PDF

Info

Publication number
CN103176868B
CN103176868B CN201310112182.7A CN201310112182A CN103176868B CN 103176868 B CN103176868 B CN 103176868B CN 201310112182 A CN201310112182 A CN 201310112182A CN 103176868 B CN103176868 B CN 103176868B
Authority
CN
China
Prior art keywords
file
module
status
file status
state
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.)
Active
Application number
CN201310112182.7A
Other languages
English (en)
Other versions
CN103176868A (zh
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201310112182.7A priority Critical patent/CN103176868B/zh
Publication of CN103176868A publication Critical patent/CN103176868A/zh
Application granted granted Critical
Publication of CN103176868B publication Critical patent/CN103176868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明提供一种文件状态备份方法,本发明将文件状态的备份分成三部份进行,文件状态锁定模块,文件状态提取模块和文件状态存储模块。文件状态锁定模块用于将待备份文件的状态进行锁定,使之在文件备份过程中不产生任何变化,并且不影响其它程序对文件的使用;文件状态提取模块用于将文件的状态进行提取,其支持用户自定义文件状态的提取;文件状态存储模块将提取的文件状顺序存储在介质上。

Description

一种文件状态备份方法
技术领域
本发明涉及一种计算机应用领域中的数据灾备方法,尤其涉及一种文件状态备份方法。
背景技术
近年来,随着信息建设步伐的加快,数据安全越来越引起企业的重视。并且,随着云计算的落地,信息化基础设施的建设已从过去的分散式转为集中式建设,各个企事业的数据中心如雨后春笋般建立。在这种数据大集中的趋势下,数据灾备已成为信息化建设中必需考虑的一个重要环节。
数据灾备即是将数据从当前存储介质移到其它存储介质,以保证在当前存储介质损坏时,可以从其它的存储介质上得到数据,以保证数据不会丢失。由于数据灾备是将数据进行复制,而众所周知复制就必须要一定的时间,在这段时间内,如果所要复制的问题发生了变化,那么就破坏了建立备份时的文件状态。
为了保证备份时的文件状态,即从备份开始到备份节束,处理备份状态的文件不应有任何改变,需要引入一种文件的快照机制来完成。在windows2003系统上,可以通过vss的方式完成,但这种vss的方式不具备通用性,并且无法兼容所有的windows系统;在linux系统上,尚无一种方法可完成操作。因而,需要设计一种通用的方法完成文件数据状态的锁定。
传统的文件状态提取方法只是提取文件的内容,属性。而在当前的文件系统中,ACL也作为一种特殊的文件属性需要进行备份。因此,需要设计一种文件状态提取的方法,即能提取文件的ACL属性,也能支持用户自定义属性的提取。
发明内容
本发明的目的是提供一种文件状态备份方法。
本发明的目的是按以下方式实现的,系统通过文件状态锁定模块,文件状态提取模块和文件状态存储模块来进行文件状态的备份,其中:
文件状态提取模块用于将文件的状态进行提取,其支持用户自定义文件状态的提取;文件状态存储模块将提取的文件状顺序存储在介质上;
文件状态锁定模块用于将待备份文件的状态进行锁定,使之在文件备份过程中不产生任何变化,并且不影响其它程序对文件的使用;文件状态锁定模块为一个内核驱动,文件状态锁定模块处理内核态,位于文件系统下层,磁盘驱动上层,它能够捕获所有对文件的请求,文件状态锁定模块由读取模块,写入模块,锁定文件判定模块,原始数据查找模块,原始数据提取模块,原始数据存储模块,写入数据放行模块,读取数据放行模块构成;
文件状态提取模块,从文件状态锁定模块锁定的文件系统中读取文件的状态信息,包括文件属性,文件内容,文件权限,文件状态提取模块提供一套接口方法,用户只要提供相应的方法即可对用户自定义的文件状态进行提取;
文件状态存储模块,将文件状态提取模块中提取的的内容按照文件名称,文件属性,文件权限,文件内容的文件状态按顺序存储在存储介质上,这里的介质是指磁盘或磁带;
系统文件状态备份步骤如下:
当用户读取操作时,读取请求由读取模块响应,随后使用锁定文件判定模块判定这个文件是否是状态备份文件,如果不是,则直接使用读取数据放行模块放行该读请求;否则,使用原始数据查找模块在原始数据存储中查找对应的数据,如果找到,则返回此数据,否则使用读取数据放行模块放行该请求;
当用户写入操作时,写入请求由写入模块响应,随后使用锁定文件判定模块判定这个文件是否是状态备份文件,如果不是,则直接使用写入数据放行模块放行该写请求;否则,使用原始数据读取模块找到此写请求要覆盖的原始数据,并将其存入原始数据存储中,随后使用写入数据放行模块放行该请求;
所有的文件状态提取操作通过一个链表的方式组织在一起,在文件状态提取模块中,按以下两个提取接口提取:
register_file_state_operation和iterate_file_state_operation,其中:
register_file_state_operation用于将用户自定入的文件状态提取操作注册到文件状态提取操作链表中;
iterate_file_state_operation用于遍历文件提取操作链表,对当前的文件依次调用文件状态提取操作;
文件状态锁定模块通过系统驱动程序将文件所在磁盘的当前状态进行保存,进而锁定磁盘中文件的当前状态,系统驱动程序动态截获指定磁盘的数据块写入操作,并在正式写入前将原始数据块以一定的索引形式进行保存,等待文件状态提取模块读取,索引形式采用b+树的方式进行组织,存储在当前文件系统的一个文件内。
存储文件采用创建,保留Handle,再删除的方式来使此文件隐形。
本发明的有益效果是:本发明将文件状态的备份分成三部份进行,文件状态锁定模块,文件状态提取模块和文件状态存储模块。文件状态锁定模块用于将待备份文件的状态进行锁定,使之在文件备份过程中不产生任何变化,并且不影响其它程序对文件的使用;文件状态提取模块用于将文件的状态进行提取,其支持用户自定义文件状态的提取;文件状态存储模块将提取的文件状顺序存储在介质上。
附图说明
图1 是件锁定模块原理图;
图2 是文件状态提取链表图;
图3 是文件状态备份流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
本发明将文件状态的备份分成三部份进行,文件状态锁定模块,文件状态提取模块和文件状态存储模块。文件状态锁定模块用于将待备份文件的状态进行锁定,使之在文件备份过程中不产生任何变化,并且不影响其它程序对文件的使用;文件状态提取模块用于将文件的状态进行提取,其支持用户自定义文件状态的提取;文件状态存储模块将提取的文件状顺序存储在介质上。
文件状态锁定模块为一个内核驱动,它的基本原理如图1所示。文件状态锁定模块处理内核态,位于文件系统下层,磁盘驱动上层,它能够捕获所有对文件的请求。文件状态锁定模块由读取模块,写入模块,锁定文件判定模块,原始数据查找模块,原始数据提取模块,原始数据存储模块,写入数据放行模块,读取数据放行模块构成。
当用户读取操作时,读取请求由读取模块响应,随后使用锁定文件判定模块判定这个文件是否是状态备份文件,如果不是,则直接使用读取数据放行模块放行该读请求;否则,使用原始数据查找模块在原始数据存储中查找对应的数据,如果找到,则返回此数据,否则使用读取数据放行模块放行该请求。
当用户写入操作时,写入请求由写入模块响应,随后使用锁定文件判定模块判定这个文件是否是状态备份文件,如果不是,则直接使用写入数据放行模块放行该写请求;否则,使用原始数据读取模块找到此写请求要覆盖的原始数据,并将其存入原始数据存储中,随后使用写入数据放行模块放行该请求。
文件状态提取操作如图2所示,所有的文件状态提取操作通过一个链表的方式组织在一起。
在文件状态提取模块中,提供了两个接口,register_file_state_operation和iterate_file_state_operation。
其中,register_file_state_operation用于将用户自定入的文件状态提取操作注册到文件提取模块内的提取操作链表中,
iterate_file_state_operation用于遍历文件提取操作链表,对当前的文件依次调用文件状态提取操作。
文件提取模块提供的register_file_state_operation接口,允许用户将自定义的file_state_operation注册到文件提取模块内,以完成用户自定义文件状态的提取。
文件状态存储模块将提取的文件状态顺序的写入到介质上,这里的介质可以是文件,也可以是磁盘,也可以是磁带。
实施例
下面参照附图3,详细描述本发明内容中对于文件状态的备份流程。
首先用户选定需要备份的文件和文件夹,开启文件状态备份。文件状态锁定模块根据用户选定的文件和文件夹锁定这些文件,如果锁定失败,则结束此次文件状态备份,并返回出错信息;否则,调用文件状态提取模块对要备份的每个文件依次提取文件状态,并调用文件状态存储模块把文件状态存储在介质之上。
文件状态锁定模块在不影响其它程序使用的情况下锁定文件的状态,并将改变之前的文件的原始数据存储在一个临时文件中。为这隐藏这个临时文件,使用先创建这个临时文件,再打开这个临时文件,最后删除这个临时文件的方式。通过这种方式,可以拿到这个临时文件的句柄,又能够保证其它的程序无法对这个临时文件进行操作。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (1)

1.一种文件状态备份方法, 其特征在于文件系统通过文件状态锁定模块、文件状态提取模块和文件状态存储模块来进行文件状态的备份,其中:
文件状态提取模块用于将文件的状态进行提取,其支持用户自定义文件状态的提取;
文件状态存储模块将提取的文件状态顺序存储在存储介质上;
文件状态锁定模块用于将待备份文件的状态进行锁定,使之在文件备份过程中不产生任何变化,并且不影响其它程序对文件的使用;
文件状态锁定模块为一个内核驱动的文件状态锁定模块处理内核,位于系统下层,磁盘驱动上层,它能够捕获所有对文件的请求,文件状态锁定模块处理内核由读取模块,写入模块,锁定文件判定模块,原始数据查找模块,原始数据提取模块,原始数据存储模块,写入数据放行模块和读取数据放行模块构成;
文件状态提取模块,从文件状态锁定模块锁定的系统中读取文件的状态信息,包括文件属性,文件内容,文件权限,文件状态提取模块提供一套接口方法,用户只要提供相应的方法即可对用户自定义的文件状态进行提取;
文件状态存储模块将提取的文件状态顺序的写入到存储介质上;
系统文件状态备份步骤如下:
当用户读取操作时,读取请求由读取模块响应,随后使用锁定文件判定模块判定这个文件是否是状态备份文件,如果不是,则直接使用读取数据放行模块放行该读取请求;否则,使用原始数据查找模块在原始数据存储中查找对应的数据,如果找到,则返回此数据,否则使用读取数据放行模块放行该读取请求;
当用户写入操作时,写入请求由写入模块响应,随后使用锁定文件判定模块判定这个文件是否是状态备份文件,如果不是,则直接使用写入数据放行模块放行该写入请求;否则,使用原始数据提取模块找到此写入请求要覆盖的原始数据,并将其存入原始数据存储模块中,随后使用写入数据放行模块放行该写入请求;
所有的文件状态提取操作通过一个链表的方式组织在一起,在文件状态提取模块中,按以下两个提取接口提取:
register_file_state_operation和iterate_file_state_operation,其中:
register_file_state_operation用于将用户自定入的文件状态提取操作注册到文件状态提取操作链表中,iterate_file_state_operation用于遍历文件状态提取操作链表,对当前的文件依次调用文件状态提取操作;
文件状态锁定模块通过系统驱动程序将文件所在磁盘的当前状态进行保存,进而锁定磁盘中文件的当前状态,系统驱动程序动态截获指定磁盘的数据块写入操作,并在正式写入前将原始数据块以一定的索引形式进行保存,等待文件状态提取模块读取,索引形式采用b+树的方式进行组织,存储在当前系统的一个文件内。
CN201310112182.7A 2013-04-02 2013-04-02 一种文件状态备份方法 Active CN103176868B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310112182.7A CN103176868B (zh) 2013-04-02 2013-04-02 一种文件状态备份方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310112182.7A CN103176868B (zh) 2013-04-02 2013-04-02 一种文件状态备份方法

Publications (2)

Publication Number Publication Date
CN103176868A CN103176868A (zh) 2013-06-26
CN103176868B true CN103176868B (zh) 2017-07-28

Family

ID=48636767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310112182.7A Active CN103176868B (zh) 2013-04-02 2013-04-02 一种文件状态备份方法

Country Status (1)

Country Link
CN (1) CN103176868B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065636B (zh) * 2013-07-02 2015-09-16 腾讯科技(深圳)有限公司 数据处理方法和系统
CN104536919B (zh) * 2014-12-11 2018-02-13 浪潮(北京)电子信息产业有限公司 一种克隆系统中避免io冲突的方法和装置
CN104679612A (zh) * 2015-03-09 2015-06-03 陈健强 一种文件自动备份及还原方法及其系统
CN106909351B (zh) * 2015-12-22 2021-04-20 中电科技(北京)有限公司 一种基于uefi固件的ext文件系统的实现方法
CN106096447A (zh) * 2016-06-15 2016-11-09 杭州华三通信技术有限公司 一种文件保护方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609419A (zh) * 2009-06-29 2009-12-23 北京航空航天大学 虚拟机持续在线迁移的数据备份方法及装置
CN102238225A (zh) * 2011-04-11 2011-11-09 苏州阔地网络科技有限公司 一种网页上实现文件下载锁定安全同步的方法及系统
EP2477114A2 (en) * 2005-06-24 2012-07-18 Syncsort Incorporated System and method for high performance enterprise data protection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2477114A2 (en) * 2005-06-24 2012-07-18 Syncsort Incorporated System and method for high performance enterprise data protection
CN101609419A (zh) * 2009-06-29 2009-12-23 北京航空航天大学 虚拟机持续在线迁移的数据备份方法及装置
CN102238225A (zh) * 2011-04-11 2011-11-09 苏州阔地网络科技有限公司 一种网页上实现文件下载锁定安全同步的方法及系统

Also Published As

Publication number Publication date
CN103176868A (zh) 2013-06-26

Similar Documents

Publication Publication Date Title
US9703640B2 (en) Method and system of performing incremental SQL server database backups
CN103176868B (zh) 一种文件状态备份方法
US9158631B1 (en) Systems and methods for providing backup interfaces
CN103970585B (zh) 创建虚拟机的方法及装置
US8117168B1 (en) Methods and systems for creating and managing backups using virtual disks
US8712968B1 (en) Systems and methods for restoring images
US10255235B2 (en) Database storage system based on jukebox and method using the system
US9996557B2 (en) Database storage system based on optical disk and method using the system
CN103605588B (zh) 一种虚拟机磁盘备份方法
CN102541691B (zh) 面向内存数据库oltp应用的日志检查点恢复方法
US20150347165A1 (en) Virtual machine template management
JP2020525925A (ja) ある時点についてデータベースのデータセットを復元するシステム及び方法
CN104850598A (zh) 一种实时数据库备份恢复方法
CN103823728B (zh) 一种独立冗余磁盘阵列智能重建的方法
CN100429628C (zh) Ntfs卷中重建目录结构和恢复数据的方法
RU2012154324A (ru) Контрольные точки для файловой системы
CN103262043A (zh) 从差异备份中执行数据库的精细恢复的方法和系统
JP2015503168A (ja) アプリケーションデータを復元するためのシステム及び方法
CN103034592B (zh) 数据处理方法和装置
CN104360914A (zh) 增量快照方法和装置
US20180039547A1 (en) Excluding files in a block based backup
CN103049539A (zh) 一种文件系统中文件数据的存储方法及其装置
CN104461773A (zh) 一种虚拟机备份去重的方法
CN106104515A (zh) 利用非易失性存储器的文件系统设计和故障恢复方法
CN107092685A (zh) 一种联合使用文件系统和rdbms存储事务数据的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant