CN106055433A - 一种数据备份方法及装置 - Google Patents
一种数据备份方法及装置 Download PDFInfo
- Publication number
- CN106055433A CN106055433A CN201610394932.8A CN201610394932A CN106055433A CN 106055433 A CN106055433 A CN 106055433A CN 201610394932 A CN201610394932 A CN 201610394932A CN 106055433 A CN106055433 A CN 106055433A
- Authority
- CN
- China
- Prior art keywords
- storage device
- backup
- application
- data
- disk
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Mining & Analysis (AREA)
Abstract
本发明实施例公开了一种数据备份方法及装置,该方法包括:确定需要进行数据备份的应用,以及存储应用的数据的至少一个存储设备;冻结至少一个存储设备中每个存储设备对应的磁盘IO;通知备份设备对至少一个存储设备中每个存储设备执行针对应用的数据备份;在确定所述备份设备完成针对应用的数据备份后,恢复每个存储设备对应的磁盘IO。因此Host agent通过冻结磁盘IO方式保证应用数据一致性,备份设备只需要通过标准南向接口与对Host Agent对接,不需要关心上层应用的具体备份前置处理与备份后置处理,降低了数据备份复杂度,提高了数据备份效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据备份方法及装置。
背景技术
企业数据中心中的IT系统可能会因火灾、洪水、地震等自然灾害导致计划外停机,造成业务中断,也可能因人为因素,如误操作、软件错误、病毒入侵等导致业务中断。业务一旦中断,将会给企业造成难以预估的损失。因此,越来越多的企业意识到需要自建容灾站点以防止未知的灾害。
在将系统中各个应用的应用数据备份至容灾站点时,为确保灾难发生时业务可以正确恢复,需要在进行数据备份时保证应用数据的一致性,这里的应用数据一致性是指由于应用具有缓存机制,因此存储设备中存储的数据不是针对该应用的完整数据,在数据备份时需要确保将针对该应用的缓存数据和存储设备上的数据均进行备份。否则,在灾难发生时,可能出现虽然数据已经备份至容灾站点,但由于备份的数据没有保证应用数据的一致性,给业务恢复带来非常大的难度,甚至不可恢复。
例如,由于数据库内部具有缓存机制,数据库中的数据一部分写入磁盘当中,还有一部分保存在自身的缓存空间中,当系统不具备容灾站点时,在系统计划外停机后,数据库的缓存空间中保存的数据将会丢失,只有磁盘中的数据能够恢复,这就产生了系统停机前和系统重启后数据不一致的情形,可能使数据库业务恢复困难,甚至造成数据库重启失败。在系统具备容灾站点时,需将数据库中的全部数据备份至容灾站点,即将写入磁盘的数据和保存在缓存空间中的数据均备份至容灾站点,以保证应用数据的一致性。
因此,自建的容灾系统需要在备份数据前需冻结应用IO,并刷应用中缓存的脏数据至存储设备中,以确保应用数据的一致性,使业务能够被恢复。当前业界针对不同的应用进行应用数据一致性备份的技术原理基本类似,如图1所示,需要进行数据备份的应用是数据库,执行数据备份的备份设备为存储阵列,下面结合图1说明应用数据备份的典型过程:
S101:管理服务器向主机代理(Host Agent)发送启动数据备份保护命令。
S102:Host Agent通知数据库提交缓存脏数据至相应的存储设备并且冻结数据库IO。
冻结数据库IO是指停止对数据库的写入操作。
S103:管理服务器向存储阵列发送启动数据备份命令,以使其对保存数据库数据的各个存储设备进行数据备份。
例如,这里可以结合存储阵列的远程复制、快照、克隆等对数据进行备份,在存储阵列使用各自备份方式进行数据备份时,需要对数据库的状态进行判断,确定其已经完成将脏数据提交至相应的存储设备且冻结数据库IO时,再开始执行针对保存数据库数据的各个存储设备的数据备份。
S104:管理服务器在确定针对数据库的应用数据备份结束后,向Host Agent发送结束备份保护命令。
S105:Host Agent通知数据库恢复数据库IO。
恢复数据库IO即恢复对数据库的写入操作。
因此,通过上述步骤可以确保备份至容灾站点中的数据满足应用数据一致性的要求,用该份数据进行业务恢复时可以确保业务能够被恢复。
但是,由于部署在Linux业务主机上的应用具有多样性的特点,如数据库Oracle、DB2、Sybase、MySQL,大型应用SAP、文件系统EXT3、EXT4、JFS、VXFS、HFS等,因此,需要确保针对每种应用进行应用数据一致性的备份处理,但是对于不同的应用确保其应用数据一致性的方法不同,比如,Oracle确保应用数据一致性的方式为:置数据库为热备模式;SQLServer确保应用数据一致性的方式为:刷数据库缓存、VSS冻结磁盘写IO;DB2确保应用数据一致性的方式为冻结数据库写IO、刷数据库缓存;文件系统确保应用数据一致性的方式为:冻结文件系统写IO,刷文件系统缓存。
因此,现有技术中,在备份设备执行对应用的数据备份时,需要考虑每一种应用自身的备份特点,甚至一个应用的不同的版本分别对应的备份特点,导致对系统中的各个应用进行数据备份时复杂度较高。
发明内容
本发明实施例的目的是提供一种数据备份方法及装置,以解决备份设备对系统中的各个应用进行数据备份时复杂度较高的问题。
本发明实施例的目的是通过以下技术方案实现的:
一种数据备份方法,包括:
确定需要进行数据备份的应用,以及存储所述应用的数据的至少一个存储设备;
冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
因此,通过冻结磁盘IO,以确保应用数据一致性,备份设备无需关心上层应用的具体备份前置处理与备份后置处理,只需通过标准南向接口与对HostAgent对接,降低了备份复杂度,提高了备份效率。
在一种可能的实现方式中,确定需要进行数据备份的应用,包括:
接收第三方系统发送的应用注册消息,所述应用注册消息用于指示本次需要进行数据备份的应用。
在一种可能的实现方式中,在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,还包括;
接收第三方系统发送的启动数据备份消息。
在一种可能的实现方式中,在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,还包括;
通知所述应用执行备份前置处理,所述备份前置处理为通知所述应用将缓存的脏数据存储至对应的存储设备和/或通知所述应用处理正在执行的事务。
在一种可能的实现方式中,冻结所述至少一个存储设备中每个存储设备对应的磁盘IO,包括:
将接收到的针对每个存储设备的IO命令缓存至相应存储设备的IO队列中;或者
将接收到的针对每个存储设备的IO命令丢弃。
因此,本发明实施例提出了冻结磁盘IO的多种方式,增加了冻结磁盘IO的灵活性。
在一种可能的实现方式中,在通知备份设备对所述至少一个存储设备中每个存储设备执行针对所述应用的数据备份之后,还包括:
启动数据备份定时器;
在确定所述备份设备完成针对所述应用的数据备份之后,还包括:
确定所述数据备份定时器未超时时,将所述数据备份定时器清零。
因此,通过数据备份定时器可以磁盘IO冻结时间过久,对系统运行造成影响。
在一种可能的实现方式中,在恢复每个存储设备对应的磁盘IO之后,还包括:
将每个存储设备的IO队列中缓存的IO命令依次取出并提交至相应的存储设备;或者,
停止丢弃针对每个存储设备的IO命令,恢复针对相应存储设备的初始设置。
因此,在恢复磁盘IO时,需要根据不同的冻结磁盘IO方式进行恢复。
在一种可能的实现方式中,在恢复每个存储设备对应的磁盘IO之后,还包括:
发送备份结束通知消息至所述第三方系统,所述备份结束通知消息用于通知所述第三方系统针对所述应用的数据备份是否成功。
第二方面,一种数据备份装置,包括:
备份控制模块,用于确定需要进行数据备份的应用;
应用驱动模块,用于确定存储所述应用的数据的至少一个存储设备;
磁盘驱动模块,用于冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
备份驱动模块,用于通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
所述磁盘驱动模块,还用于在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
在一种可能的实现方式中,确定需要进行数据备份的应用时,所述备份控制模块,具体用于:
接收第三方系统发送的应用注册消息,所述应用注册消息用于指示本次需要进行数据备份的应用。
在一种可能的实现方式中,所述备份控制模块,还用于:
在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,接收第三方系统发送的启动数据备份消息。
在一种可能的实现方式中,所述应用驱动模块,还用于
在所述分析单元确定存储所述应用的数据的至少一个存储设备之后,在所述冻结单元冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,通知所述应用执行备份前置处理,所述备份前置处理为通知所述应用将缓存的脏数据存储至对应的存储设备和/或通知所述应用处理正在执行的事务。
在一种可能的实现方式中,冻结所述至少一个存储设备中每个存储设备对应的磁盘IO时,所述磁盘驱动模块,具体用于:
将接收到的针对每个存储设备的IO命令缓存至相应存储设备的IO队列中;或者
将接收到的针对每个存储设备的IO命令丢弃。
在一种可能的实现方式中,所述磁盘驱动模块,还用于:
在通知备份设备对所述至少一个存储设备中每个存储设备执行针对所述应用的数据备份之后,启动数据备份定时器;
所述磁盘驱动模块,还用于:
在确定所述备份设备完成针对所述应用的数据备份之后,确定所述数据备份定时器未超时时,将所述数据备份定时器清零。
在一种可能的实现方式中,所述磁盘驱动模块,还用于:
在恢复每个存储设备对应的磁盘IO之后,将每个存储设备的IO队列中缓存的IO命令依次取出并提交至相应的存储设备;或者,
在恢复每个存储设备对应的磁盘IO之后,停止丢弃针对每个存储设备的IO命令,恢复针对相应存储设备的初始设置。
在一种可能的实现方式中,所述备份控制模块,还用于:
在恢复每个存储设备对应的磁盘IO之后,发送备份结束通知消息至所述第三方系统,所述备份结束通知消息用于通知所述第三方系统针对所述应用的数据备份是否成功。
第三方面,本发明实施例提供一种数据备份设备,包括:
收发器;
存储器,用于存储指令;和
处理器,与所述存储器和所述收发器分别相连,用于执行所述指令,以在执行所述指令时执行如下步骤:
确定需要进行数据备份的应用,以及存储所述应用的数据的至少一个存储设备;
冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
本发明实施例提供了一种数据备份方法,该方法包括:确定需要进行数据备份的应用,以及存储应用的数据的至少一个存储设备;冻结至少一个存储设备中每个存储设备对应的磁盘IO,以确保应用数据一致性;通知备份设备对至少一个存储设备中每个存储设备执行针对应用的数据备份,备份设备此时无需关心上层应用的具体备份前置处理与备份后置处理,只需通过标准南向接口与对Host Agent对接;在确定所述备份设备完成针对应用的数据备份后,恢复每个存储设备对应的磁盘IO。因此,降低了备份复杂度,提高了备份效率。
附图说明
图1为本发明背景技术中应用数据备份的典型过程;
图2为本发明实施例中数据备份的概述流程图;
图3为本发明实施例中Host agent的结构示意图;
图4为本发明实施例中针对应用Oracle和DB2的数据备份具体过程;
图5为本发明实施例中一种数据备份装置的结构示意图;
图6为本发明实施例中一种数据备份设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图2所示,本发明实施例提供一种数据备份方法,包括:
S200:Host agent确定需要进行数据备份的应用,以及存储应用的数据的至少一个存储设备。
S210:Host agent冻结至少一个存储设备中每个存储设备对应的磁盘IO。
S220:Host agent通知备份设备对至少一个存储设备中的每个存储设备执行针对应用的数据备份。
S230:Host agent在确定备份设备完成针对应用的数据备份后,恢复每个存储设备对应的磁盘IO。
这里的备份设备可以为存储阵列或备份服务器。
具体的,针对S200,Host agent接收第三方系统发送的应用注册消息,应用注册消息用于指示本次需要进行数据备份的应用。例如,应用注册消息中包含数据库实例名和密码等。这里的第三方系统可以为图1中的管理服务器。
当Host agent确定需要进行数据备份的应用后,开始执行针对该应用的环境准备,即进一步确定存储应用的数据的至少一个存储设备。例如,一个数据库应用具有多种类型的数据,各种不同类型的数据存储在不同的存储设备中。
可选地,在执行S200之后,在执行S210之前,即在确定存储应用的数据的至少一个存储设备之后,在冻结至少一个存储设备中每个存储设备对应的磁盘IO之前,Host agent接收第三方系统发送的启动数据备份消息,该消息用于触发Host agent向存储设备发送执行针对应用的数据备份的指令。
可选地,在执行S200之后,在执行S210之前,Host agent通知应用执行备份前置处理,备份前置处理为通知应用将缓存的脏数据存储至对应的存储设备和/或通知应用处理正在执行的事务。
针对不同应用,备份前置处理的内容不同,有的应用只需将缓存的脏数据存储至对应的存储设备,有的应用需要处理正在执行的事务,包括结束当前正在执行的事务或等待当前正在执行的事务完成等。这里的备份前置处理由Host agent触发,备份设备无需关心各个应用的备份前置处理内容。
具体的,针对S210,Host agent冻结至少一个存储设备中每个存储设备对应的磁盘IO可以采用但不限于以下两种方式:
第一种方式:Host agent将接收到的针对每个存储设备的IO命令缓存至相应存储设备的IO队列中。
采用上述方式在恢复每个存储设备对应的磁盘IO之后,Host agent将每个存储设备的IO队列中缓存的IO命令依次取出并提交至相应的存储设备。
第二种方式:Host agent将接收到的针对每个存储设备的IO命令丢弃。
采用上述方式在恢复每个存储设备对应的磁盘IO之后,停止丢弃针对每个存储设备的IO命令,恢复针对相应存储设备的初始设置。
针对S220,在备份设备接收到针对应用的数据备份指令时,备份设备将针对应用的数据备份至容灾站点。例如,当备份设备为存储阵列时,存储阵列可以通过远程复制任务、或创建快照、或启动克隆、或特定的备份软件等方式对数据进行备份。
进一步地,在执行S220之后,即在通知备份设备对至少一个存储设备中的每个存储设备执行针对应用的数据备份之后,Host agent启动数据备份定时器。
若Host agent确定备份设备完成针对应用的数据备份,且此时数据备份定时器未超时,将数据备份定时器清零。
若数据备份定时器超时时,Host agent确定至少一个存储设备中存在未完成针对应用的数据备份的存储设备时,则恢复每个存储设备对应的磁盘IO,以免冻结磁盘IO时间过长对系统运行产生影响。
可选地,在执行S230之后,Host agent通知应用执行备份后置处理,备份后置处理与备份前置处理相对应。与备份前置处理不同,针对不同应用,备份后置处理的内容也不同。例如,若该应用执行的备份前置处理为将缓存的脏数据存储至对应的存储设备,则不需进行备份后置处理。若该应用执行的备份前置处理为阻止提交事务,则应用执行的备份后置处理为恢复事务提交。
可选地,在恢复每个存储设备对应的磁盘IO之后,Host agent发送备份结束通知消息至第三方系统,备份结束通知消息用于通知第三方系统针对应用的数据备份是否成功。
参阅图3和图4所示,图3中将Host agent划分为四个模块,分别为备份控制模块(BackupController)通过标准北向接口与第三方系统对接,用于与第三方系统通信,应用驱动模块(AppDriver)用于确定存储应用的数据的至少一个存储设备,以及通知各个应用执行备份前置处理(例如,图4中所示通知OracleDriver和DB2Driver分别执行备份前置处理),磁盘驱动模块(DiskDriver)用于冻结磁盘IO和恢复磁盘IO,备份驱动模块(BackupDriver)用于通过标准南向接口与备份设备对接。图4为针对应用Oracle和DB2的数据备份具体过程,包括:
S401:第三方系统向Host agent发送应用注册消息,该消息中包含应用名称Oracle和Oracle的密码以及应用名称DB2和DB2的密码。
这里第三方系统通过标准北向接口向BackupController注册需要进行数据备份的应用消息。
S402:Host agent接收应用注册消息,并根据应用注册消息确定本次需要进行数据备份的应用为Oracle和DB2。
S403:Host agent针对Oracle和DB2进行应用环境准备,确定Oracle对应的至少一个存储设备和DB2对应的至少一个存储设备。
例如,Host agent根据应用注册消息向Oracle获取Oracle对应的至少一个存储设备。
S404:第三方系统向Host agent发送启动数据备份消息。
S405:Host agent接收启动数据备份消息,分别通知Oracle和DB2进行备份前置处理。
即通过AppDriver通知Oracle和DB2进行备份前置处理。
S406:Oracle和DB2分别进行备份前置处理。
例如,Oracle需要置数据库为热备模式。
S407:Host agent冻结Oracle对应的至少一个存储设备中每个存储设备对应的磁盘IO,以及DB2对应的至少一个存储设备中每个存储设备对应的磁盘IO。
即通过DiskDriver冻结磁盘IO。
S408:Host agent通知备份设备将Oracle对应的至少一个存储设备分别执行针对Oracle的数据备份,以及通知备份设备将DB2对应的至少一个存储设备分别执行针对DB2的数据备份。
即BackupDriver通过标准南向接口通知备份设备执行数据备份,无需关心上层应用的具体备份前置处理与备份后置处理。这里的备份设备为存储阵列或备份服务器。
S409:备份服务器对Oracle对应的至少一个存储设备分别执行针对Oracle的数据备份,以及对DB2对应的至少一个存储设备分别执行针对DB2的数据备份。
S410:Host agent确定针对Oracle的数据备份完成时,恢复Oracle对应的至少一个存储设备中每个存储设备对应的磁盘IO,以及确定针对DB2的数据备份完成时,恢复Oracle对应的至少一个存储设备中每个存储设备对应的磁盘IO。
即通过DiskDriver恢复磁盘IO。
S411:Host agent分别通知Oracle和DB2数据备份完成。
S412:Oracle和DB2分别进行备份后置处理。
S413:Host agent向第三方系统发送备份结束通知消息,通知第三方系统针对Oracle和DB2的数据备份成功。
基于同一发明构思,本发明实施例中还提供了一种数据备份装置,该装置包含图2所示实施例中的Host agent,可以用于执行上述图2对应的方法实施例,因此本发明实施例提供的数据备份装置的实施方式可以参见该方法的实施方式,重复之处不再赘述。
参阅图5所示,本发明实施例提供一种数据备份装置50,包括:
备份控制模块51,用于确定需要进行数据备份的应用;
应用驱动模块52,用于确定存储所述应用的数据的至少一个存储设备;
磁盘驱动模块53,用于冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
备份驱动模块54,用于通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
所述磁盘驱动模块53,还用于在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
在一种可能的实现方式中,确定需要进行数据备份的应用时,所述备份控制模块51,具体用于:
接收第三方系统发送的应用注册消息,所述应用注册消息用于指示本次需要进行数据备份的应用。
在一种可能的实现方式中,所述备份控制模块51,还用于:
在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,接收第三方系统发送的启动数据备份消息。
在一种可能的实现方式中,所述应用驱动模块52,还用于
在所述分析单元确定存储所述应用的数据的至少一个存储设备之后,在所述冻结单元冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,通知所述应用执行备份前置处理,所述备份前置处理为通知所述应用将缓存的脏数据存储至对应的存储设备和/或通知所述应用处理正在执行的事务。
在一种可能的实现方式中,冻结所述至少一个存储设备中每个存储设备对应的磁盘IO时,所述磁盘驱动模块53,具体用于:
将接收到的针对每个存储设备的IO命令缓存至相应存储设备的IO队列中;或者
将接收到的针对每个存储设备的IO命令丢弃。
在一种可能的实现方式中,所述磁盘驱动模块53,还用于:
在通知备份设备对所述至少一个存储设备中每个存储设备执行针对所述应用的数据备份之后,启动数据备份定时器;
所述磁盘驱动模块53,还用于:
在确定所述备份设备完成针对所述应用的数据备份之后,确定所述数据备份定时器未超时时,将所述数据备份定时器清零。
在一种可能的实现方式中,所述磁盘驱动模块53,还用于:
在恢复每个存储设备对应的磁盘IO之后,将每个存储设备的IO队列中缓存的IO命令依次取出并提交至相应的存储设备;或者,
在恢复每个存储设备对应的磁盘IO之后,停止丢弃针对每个存储设备的IO命令,恢复针对相应存储设备的初始设置。
在一种可能的实现方式中,所述备份控制模块51,还用于:
在恢复每个存储设备对应的磁盘IO之后,发送备份结束通知消息至所述第三方系统,所述备份结束通知消息用于通知所述第三方系统针对所述应用的数据备份是否成功。
基于同一发明构思,本发明实施例中还提供了一种数据备份设备,该设备可以用于执行上述图2对应的方法实施例,因此本发明实施例提供的数据备份设备的实施方式可以参见该方法的实施方式,重复之处不再赘述。
参阅图6所示,本发明实施例提供一种数据备份设备,包括:
收发器61;
存储器62,用于存储指令;和
处理器63,与所述存储器62和所述收发器61分别相连,用于执行所述指令,以在执行所述指令时执行如下步骤:
确定需要进行数据备份的应用,以及存储所述应用的数据的至少一个存储设备;
冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
需要说明的是图6所示的各部分之间的连接方式仅为一种可能的示例,也可以是,收发器61与存储器63均与处理器62连接,且收发器61与存储器63之间没有连接,或者,也可以是其他可能的连接方式。
综上所述,采用本发明实施例提供的方法,在Linux业务主机上,Host agent通过冻结磁盘IO方式保证应用数据一致性,备份设备只需要通过标准南向接口与对Host Agent对接,不需要关心上层应用的具体备份前置处理与备份后置处理,降低了备份复杂度,提高了备份效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种数据备份方法,其特征在于,包括:
确定需要进行数据备份的应用,以及存储所述应用的数据的至少一个存储设备;
冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
2.如权利要求1所述的方法,其特征在于,确定需要进行数据备份的应用,包括:
接收第三方系统发送的应用注册消息,所述应用注册消息用于指示本次需要进行数据备份的应用。
3.如权利要求1或2所述的方法,其特征在于,在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,还包括;
接收第三方系统发送的启动数据备份消息。
4.如权利要求1-3任一项所述的方法,其特征在于,在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,还包括;
通知所述应用执行备份前置处理,所述备份前置处理为通知所述应用将缓存的脏数据存储至对应的存储设备和/或通知所述应用处理正在执行的事务。
5.如权利要求1-4任一项所述的方法,其特征在于,冻结所述至少一个存储设备中每个存储设备对应的磁盘IO,包括:
将接收到的针对每个存储设备的IO命令缓存至相应存储设备的IO队列中;或者
将接收到的针对每个存储设备的IO命令丢弃。
6.如权利要求1-5任一项所述的方法,其特征在于,在通知备份设备对所述至少一个存储设备中每个存储设备执行针对所述应用的数据备份之后,还包括:
启动数据备份定时器;
在确定所述备份设备完成针对所述应用的数据备份之后,还包括:
确定所述数据备份定时器未超时时,将所述数据备份定时器清零。
7.如权利要求5所述的方法,其特征在于,在恢复每个存储设备对应的磁盘IO之后,还包括:
将每个存储设备的IO队列中缓存的IO命令依次取出并提交至相应的存储设备;或者,
停止丢弃针对每个存储设备的IO命令,恢复针对相应存储设备的初始设置。
8.如权利要求2-7任一项所述的方法,其特征在于,在恢复每个存储设备对应的磁盘IO之后,还包括:
发送备份结束通知消息至所述第三方系统,所述备份结束通知消息用于通知所述第三方系统针对所述应用的数据备份是否成功。
9.一种数据备份装置,其特征在于,包括:
备份控制模块,用于确定需要进行数据备份的应用;
应用驱动模块,用于确定存储所述应用的数据的至少一个存储设备;
磁盘驱动模块,用于冻结所述至少一个存储设备中每个存储设备对应的磁盘IO;
备份驱动模块,用于通知备份设备对所述至少一个存储设备中的每个存储设备执行针对所述应用的数据备份;
所述磁盘驱动模块,还用于在确定所述备份设备完成针对所述应用的数据备份后,恢复每个存储设备对应的磁盘IO。
10.如权利要求9所述的装置,其特征在于,确定需要进行数据备份的应用时,所述备份控制模块,具体用于:
接收第三方系统发送的应用注册消息,所述应用注册消息用于指示本次需要进行数据备份的应用。
11.如权利要求9或10所述的装置,其特征在于,所述备份控制模块,还用于:
在确定存储所述应用的数据的至少一个存储设备之后,在冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,接收第三方系统发送的启动数据备份消息。
12.如权利要求9-11任一项所述的装置,其特征在于,所述应用驱动模块,还用于
在所述分析单元确定存储所述应用的数据的至少一个存储设备之后,在所述冻结单元冻结所述至少一个存储设备中每个存储设备对应的磁盘IO之前,通知所述应用执行备份前置处理,所述备份前置处理为通知所述应用将缓存的脏数据存储至对应的存储设备和/或通知所述应用处理正在执行的事务。
13.如权利要求9-12任一项所述的装置,其特征在于,冻结所述至少一个存储设备中每个存储设备对应的磁盘IO时,所述磁盘驱动模块,具体用于:
将接收到的针对每个存储设备的IO命令缓存至相应存储设备的IO队列中;或者
将接收到的针对每个存储设备的IO命令丢弃。
14.如权利要求9-13任一项所述的装置,其特征在于,所述磁盘驱动模块,还用于:
在通知备份设备对所述至少一个存储设备中每个存储设备执行针对所述应用的数据备份之后,启动数据备份定时器;
所述磁盘驱动模块,还用于:
在确定所述备份设备完成针对所述应用的数据备份之后,确定所述数据备份定时器未超时时,将所述数据备份定时器清零。
15.如权利要求13所述的装置,其特征在于,所述磁盘驱动模块,还用于:
在恢复每个存储设备对应的磁盘IO之后,将每个存储设备的IO队列中缓存的IO命令依次取出并提交至相应的存储设备;或者,
在恢复每个存储设备对应的磁盘IO之后,停止丢弃针对每个存储设备的IO命令,恢复针对相应存储设备的初始设置。
16.如权利要求10-15任一项所述的装置,其特征在于,所述备份控制模块,还用于:
在恢复每个存储设备对应的磁盘IO之后,发送备份结束通知消息至所述第三方系统,所述备份结束通知消息用于通知所述第三方系统针对所述应用的数据备份是否成功。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394932.8A CN106055433B (zh) | 2016-06-06 | 2016-06-06 | 一种数据备份方法及装置 |
PCT/CN2017/075489 WO2017211099A1 (zh) | 2016-06-06 | 2017-03-02 | 一种数据备份方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394932.8A CN106055433B (zh) | 2016-06-06 | 2016-06-06 | 一种数据备份方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055433A true CN106055433A (zh) | 2016-10-26 |
CN106055433B CN106055433B (zh) | 2019-02-26 |
Family
ID=57170537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610394932.8A Active CN106055433B (zh) | 2016-06-06 | 2016-06-06 | 一种数据备份方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106055433B (zh) |
WO (1) | WO2017211099A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017211099A1 (zh) * | 2016-06-06 | 2017-12-14 | 华为技术有限公司 | 一种数据备份方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376033B (zh) * | 2018-09-21 | 2023-04-07 | 平安科技(深圳)有限公司 | 快照备份方法、装置、计算机设备及存储介质 |
CN109284205B (zh) * | 2018-09-21 | 2023-04-07 | 平安科技(深圳)有限公司 | 快照备份方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131318A1 (en) * | 2009-05-26 | 2011-06-02 | Oracle International Corporation | High availability enabler |
US20110314221A1 (en) * | 2010-06-18 | 2011-12-22 | Fujitsu Limited | Storage apparatus, controller and storage apparatus control method |
CN102402471A (zh) * | 2011-12-23 | 2012-04-04 | 创新科软件技术(深圳)有限公司 | 基于存储阵列快照功能的数据实时备份方法及系统 |
CN104685838A (zh) * | 2012-10-05 | 2015-06-03 | 华为技术有限公司 | 利用服务特定拓扑抽象和接口的软件定义网络虚拟化 |
US9218345B1 (en) * | 2002-07-15 | 2015-12-22 | Symantec Corporation | System and method for backing up a computer system |
US9317375B1 (en) * | 2012-03-30 | 2016-04-19 | Lenovoemc Limited | Managing cache backup and restore for continuous data replication and protection |
WO2016070389A1 (zh) * | 2014-11-06 | 2016-05-12 | 华为技术有限公司 | 一种信息发送的方法、被管理系统及管理系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873622A (zh) * | 2006-04-20 | 2006-12-06 | 北京艾德斯科技有限公司 | San环境下数据备份、复制和恢复的方法及其装置 |
CN101256528B (zh) * | 2008-03-20 | 2010-07-28 | 中国科学院计算技术研究所 | 支持零备份窗口的磁盘级数据备份系统和方法 |
CN101414277B (zh) * | 2008-11-06 | 2010-06-09 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾系统及方法 |
CN106055433B (zh) * | 2016-06-06 | 2019-02-26 | 华为技术有限公司 | 一种数据备份方法及装置 |
-
2016
- 2016-06-06 CN CN201610394932.8A patent/CN106055433B/zh active Active
-
2017
- 2017-03-02 WO PCT/CN2017/075489 patent/WO2017211099A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218345B1 (en) * | 2002-07-15 | 2015-12-22 | Symantec Corporation | System and method for backing up a computer system |
US20110131318A1 (en) * | 2009-05-26 | 2011-06-02 | Oracle International Corporation | High availability enabler |
US20110314221A1 (en) * | 2010-06-18 | 2011-12-22 | Fujitsu Limited | Storage apparatus, controller and storage apparatus control method |
CN102402471A (zh) * | 2011-12-23 | 2012-04-04 | 创新科软件技术(深圳)有限公司 | 基于存储阵列快照功能的数据实时备份方法及系统 |
US9317375B1 (en) * | 2012-03-30 | 2016-04-19 | Lenovoemc Limited | Managing cache backup and restore for continuous data replication and protection |
CN104685838A (zh) * | 2012-10-05 | 2015-06-03 | 华为技术有限公司 | 利用服务特定拓扑抽象和接口的软件定义网络虚拟化 |
WO2016070389A1 (zh) * | 2014-11-06 | 2016-05-12 | 华为技术有限公司 | 一种信息发送的方法、被管理系统及管理系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017211099A1 (zh) * | 2016-06-06 | 2017-12-14 | 华为技术有限公司 | 一种数据备份方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017211099A1 (zh) | 2017-12-14 |
CN106055433B (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077382B (zh) | 在多租户应用服务器环境中进行事务恢复的系统和方法 | |
US10747745B2 (en) | Transaction execution commitment without updating of data row transaction status | |
CN103608786B (zh) | 在恢复站点处管理复制的虚拟储存器 | |
US7594138B2 (en) | System and method of error recovery for backup applications | |
CA3054040A1 (en) | Synchronously replicating datasets and other managed objects to cloud-based storage systems | |
US8806264B2 (en) | Methods for detecting split brain in a distributed system | |
KR101993432B1 (ko) | 2-단계 커미트 호출들의 엄격한 순서화에 근거하여 트랜잭션 복구를 지원하는 시스템들 및 방법들 | |
CN102306197A (zh) | 保证跨数据源操作结果一致性的装置和方法 | |
US10365978B1 (en) | Synchronization of snapshots in a distributed consistency group | |
CN100465899C (zh) | 基于虚拟内核对象的Linux程序检查点用户级实现方法 | |
US10049020B2 (en) | Point in time recovery on a database | |
CN103885854A (zh) | 一种数据备份方法、装置及系统 | |
CN105426427A (zh) | 基于raid 0 存储的mpp 数据库集群副本实现方法 | |
CN111753013A (zh) | 分布式事务处理方法及装置 | |
CN111309524A (zh) | 分布式存储系统故障恢复方法、装置、终端及存储介质 | |
CN106055433A (zh) | 一种数据备份方法及装置 | |
CN107038091A (zh) | 一种基于异步远程镜像的数据安全性保护系统与电力应用系统数据保护方法 | |
US20080059731A1 (en) | Backup of hierarchically structured storage pools | |
CN104850628A (zh) | 一种数据库数据的同步方法及装置 | |
EP4060514A1 (en) | Distributed database system and data disaster backup drilling method | |
US20230409540A1 (en) | End-to-end restartability of cross-region replication using a new replication | |
CN115878386A (zh) | 容灾方法、装置、电子设备及存储介质 | |
CN105630626A (zh) | 事务备份处理方法及装置 | |
CN104516778B (zh) | 一种多任务环境下进程检查点的保存与恢复系统及方法 | |
KR101513943B1 (ko) | 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템 |
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 |