CN101414946B - 一种远程数据备份方法及介质服务器 - Google Patents
一种远程数据备份方法及介质服务器 Download PDFInfo
- Publication number
- CN101414946B CN101414946B CN2008102032266A CN200810203226A CN101414946B CN 101414946 B CN101414946 B CN 101414946B CN 2008102032266 A CN2008102032266 A CN 2008102032266A CN 200810203226 A CN200810203226 A CN 200810203226A CN 101414946 B CN101414946 B CN 101414946B
- Authority
- CN
- China
- Prior art keywords
- backup
- event
- backup event
- memory mapping
- media server
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种远程数据备份方法,该方法包括:监听将数据备份到本地介质服务器的备份事件;采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。由于远程介质服务器执行的备份事件与原数据发出的备份事件完全一致,不必将备份事件分解成底层IO操作进行同步,从而大大提高了远程介质服务器备份的数据与原数据之间的一致性。本发明还同时公开了一种介质服务器。
Description
技术领域
本发明涉及数据备份技术领域,特别涉及一种远程数据备份方法及介质服务器。
背景技术
数据备份是防止数据丢失的一种重要保护措施,一般是将分布在用户工作站或服务器上的数据,复制到某一介质服务器上保存,介质服务器上保存的数据和原数据相同,这样在原数据发生问题时,可以利用介质服务器上的数据进行恢复,从而保护重要数据的安全,又称数据容灾。
根据介质服务器与原数据的距离远近,现有备份方法可以分为远程备份和本地备份,远程备份包括城市中不同的地点、不同的城市甚至不同国家之间的数据备份,可有效地防范一些地域性的意外灾难和自然灾害,相比本地备份能够提供更高的数据安全性。
不论是本地备份还是异地备份,其实现都是基于数据的复制,数据复制的基本方式分两大类,一类是同步复制,一类是异步复制。
同步复制是指,将对本地数据系统的每一个写操作,首先同步到介质服务器中,当介质服务器完成写操作后,对本地数据系统的写操作方可继续进行。采用这种备份方式,对本地数据系统的性能影响是直接的,因为本地数据系统的所有写操作必须等待介质服务器的写操作完成才能继续,因此,本地数据系统对写操作的响应速度会明显下降,这种复制方式需要昂贵的硬件设施方可具有可用性,因此该方式在实际环境中,基本上不采用。
异步复制是指,将本地数据系统的每一个写操作,都缓冲保存起来,同时在本地数据系统中继续完成写操作,本地数据系统的写操作完成后可立即返回。而本地数据系统中采用另一单独工作线程,将缓冲的写操作同步到介质服务器中。这种复制方式解决了本地数据系统的写操作响应速度问题,尤其是在远程数据备份的应用下,大多使用异步复制方式。
图1为现有远程数据备份系统结构示意图,如图1所示,该系统包括本地数据系统101、本地介质服务器102和远程介质服务器103。本地数据系统101与本地介质服务器102相连,本地介质服务器102与远程介质服务器103相连。
需要进行数据备份时,本地数据系统101向本地介质服务器102发出备份事件,本地介质服务器102将接收到的备份事件分解为底层的输入输出(IO)操作,将本地数据系统101中的数据备份到本地介质服务器102,这一步的数据备份可以采用同步或异步复制方式。
本地介质服务器102再通过异步复制方式将对数据的底层IO操作同步到远程介质服务器103,即把底层IO操作进行缓冲并同步到远程介质服务器103。其中本地介质服务器102把底层IO操作同步到远程介质服务器103,是指本地介质服务器102在远程介质服务器103上执行IO操作并将操作所需的数据发送到远程介质服务器103中。
上述远程备份系统虽然解决了远程备份问题,但在实际应用时还具有如下几点技术上的不足:
首先,因为一个完整的备份事件可能涉及到多个底层IO操作,在采用异步复制方式时,由于不同备份事件的操作可能互相关联,备份事件中具体底层IO操作的先后顺序需要严格对应,但由于无法判断具体底层IO操作的关联性,因此很难保证本地数据系统中的IO操作顺序与远程介质服务器上同步的IO操作顺序完全相同,使得远程备份的数据与原数据的一致性难以保证,造成备份数据不可用。
其次,本地数据系统通常需要持续不断地发出备份事件,一个完整的备份事件可以包含对一个数据的一个或多个底层IO操作,也可以包含对多个数据的多个底层IO操作。如果多个备份事件中的IO操作很可能都是对同一数据进行的,例如多次修改同一数据的值,显然,对于最终修改结果,只需要执行最后一次的IO操作即可,即将之前的操作都合并到最后一次操作中;但由于无法判断出IO操作是否具有重叠性,因而对于IO操作是无法进行合并的,从而导致需要同步更多数据到远程介质服务器;另外,对于一些特殊的备份事件,如合成备份、修改备份密钥等,事件本身只需要一部分参数,即可在介质服务器上执行事件,如果是采用基于IO操作的异步复制方式,则会同步更多数据到远程介质服务器。
另外,在进行异步方式远程备份时,可能会存在局部数据无法同步到远程介质服务器的单操作故障,由于基于IO操作的同步无法判断该故障对于整个备份过程具体有何影响,不能轻易丢弃该IO操作,只能中断整个备份过程中断。
发明内容
本发明实施例提供一种远程数据备份方法,可以提高备份数据与原数据的一致性。
本发明实施例提供一种介质服务器,可以提高备份数据与原数据的一致性。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种远程数据备份方法,该方法包括:
监听将数据备份到本地介质服务器的备份事件;
采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。
一种介质服务器,该介质服务器还包括:
备份事件监听器,用于监听将数据备份到本地介质服务器的备份事件;
备份事件同步器,与所述备份事件监听器相连,用于采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。
由上述的技术方案可见,本发明的这种基于备份事件的远程数据备份方法和介质服务器,监听将数据备份到本地介质服务器的备份事件,并采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。远程介质服务器执行的备份事件与原数据发出的备份事件完全一致,不必将备份事件分解成底层IO操作进行同步,从而大大提高了远程介质服务器备份的数据与原数据之间的一致性。
附图说明
图1为现有远程数据备份系统结构示意图;
图2为本发明实施例的远程数据备份方法流程图;
图3为本发明实施例的备份事件在本地介质服务器中的存储结构示意图;
图4为本发明实施例的介质服务器的初始化方法流程图;
图5为本发明实施例合并备份事件的总体流程图;
图6为本发明实施例将保存在内存映像区的备份事件同步到远程介质服务器的具体流程图;
图7为本发明实施例的备份事件同步失败后的处理流程图;
图8为本发明实施例的本地介质服务器具体结构示意图;
图9为本发明实施例的备份事件同步器的具体结构示意图;
图10为本发明实施例的同步模块具体结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明主要是采用备份事件作为数据备份的执行基础,在进行远程备份时通过监听将数据备份到本地介质服务器的备份事件;采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。在本地介质服务器和远程介质服务器之间传递的是备份事件而不是具体的IO操作,本地介质服务器以备份事件为基础同步操作单位,使同步到远程介质服务器的备份事件与本地数据系统发出的备份事件完全相同,最大可能地避免了将备份事件分解为多个底层IO操作而使得IO操作之间可能造成的执行混乱,从而提高远程备份的数据和原数据之间的一致性。
图2为本发明实施例的远程数据备份方法流程图,该方法可以用于图1所示的远程数据备份系统。如图2所示,该流程包括以下步骤:
步骤201,监听将数据备份到本地介质服务器的备份事件。
步骤202,采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。
在步骤201中,监听备份事件一般可以采用监听器来实现,监听器可以在本地介质服务器启动时进行初始化,初始化侦听器时,可以首先创建一个备份事件侦听器,该备份事件监听器可以安装到本地介质服务器上的备份事件处理系统中。
备份事件包括3种类型:
一、数据备份请求(SYNC_BAK_DATA_REQUEST)类型,它表示在本地介质服务器处理了某工作站或服务器的备份请求,该类型里包括如下内容:
备份数据文件创建操作(SYNC_CREATE_FILF_OPERATION),表示一个备份数据文件的创建,附加信息为创建的文件名。
备份数据文件删除操作(SYNC_DEL_FILE_OPERATION),表示一个备份数据文件的删除,附加信息为删除的文件名。
备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION),表示一个备份数据文件名的重命名,附加信息为重命名前的文件名和重命名后的文件名。
二、修改备份数据备份密钥请求(SYNC_MODIFY_BAKKEY_REQUEST),它表示在本地介质服务器对指定的备份数据文件修改其备份密钥,该类型包括的内容有旧备份密钥和新备份密钥,待修改的备份数据文件列表。
三、执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),它表示在本地介质服务器上某些备份数据文件上执行合成备份请求,该类型包括要执行合成备份的备份数据文件以及合成范围。
根据这三种不同类型的备份事件,备份事件侦听器(ISyncEventListener)可以设置3种接口分别接收这三种类型的备份事件,例如备份事件接口(onBakDataEvent),用于接收数据备份请求(SYNC_BAK_DATA_REQUEST)的备份事件,修改备份数据备份密钥接口(onModifyBakKeyEvent)用于接收修改备份数据备份密钥请求(SYNC_MODIFY_BAKKEY_REQUEST),合成备份接口(onSyntheticBakEvent)用于接收执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST)。
在步骤202中,所述采用异步复制方式具体来说,是在本地介质服务器执行备份事件的同时,将监听到的备份事件缓冲保存起来,并同步到远程介质服务器。具体来说,可以缓冲在本地介质服务器的内存或者存储介质中,也可以缓冲到其他独立的存储介质中。较佳的方式是将监听到的备份事件添加到本地介质服务器中划分出的内存映像区中保存,并将保存在内存映像区的备份事件同步到远程介质服务器。
内存映像区在本发明中,是用于保存侦听过程中备份事件的存储区域,它可以由CreateFileMapping或mmap等命令创建,可将磁盘上一个文件的内容直接映射到内存中,当修改该内存块时,其修改的结果会直接保存到对应的文件里。这样可以有效防止当意外断电、服务器重启等事件发生时,监听到及执行的备份事件状态不会发生丢失的问题,大大提高了备份事件同步的可靠性。
图3为本发明实施例的备份事件在本地介质服务器中的存储结构示意图,如图3所示,在本地介质服务器上,维护一个映像文件表,该映像文件表中可以包括多个映像文件,每一个映像文件对应一个内存映像区,每一个内存映像区可以是一块连续的内存块,可以存放多个备份事件。
内存映像区可以在本地介质服务器启动时进行初始化,初始化内存映像区时,如果本地介质服务器此前尚未建立有内存映像区,则创建一个新的内存映像区,如果本地介质服务器此前已存在内存映像区,则打开已存在的内存映像区,并将内存映像区的数据从磁盘中加载到内存中。
具体备份事件的存储结构也可以根据需要制定,例如以数据库的形式等,这里仅仅是一个较佳的例子,不再一一赘述了。
本地介质服务器在启动时,内存映像区和备份事件监听器的具体初始化方法如下:
图4为本发明实施例的介质服务器的初始化方法流程图,如图4所示,该流程包括以下步骤:
步骤401,初始化内存映像区。
步骤402,判断是否存在映像文件,若是则执行步骤403,否则执行步骤404。
装载映像文件表,查看是否已经有保存的映像文件。
步骤403,打开已存在的映像文件。
如果存在映像文件,则遍历映像文件表,打开每一个映像文件。
步骤404,创建新的映像文件。
如果没有已保存的映像文件,则创建一个新的内存映像区,将新内存映像区对应的文件添加到映像文件表。
步骤405,将映像文件的内容映射到内存中。
将映像文件的内的数据从磁盘中加载到内存中的内存映像区。
步骤406,创建备份事件监听器。
步骤407,安装备份事件监听器。
备份事件监听器可以安装到本地介质服务器上备份请求处理系统中。
本地介质服务器初始化完成后,即可进行正常工作。但这里的初始化方法仅仅是一个例子,具体如何初始化完全可以根据具体需要制定。
另外,在上述实施例的基础上,还可以进一步在将监听到的备份事件同步到远程介质服务器之前,将可以合并的备份事件进行合并,从而减少备份操作和需要传输的数据。
具体来说,可以在将监听到的备份事件添加到内存映像区保存之前,判断所述监听到的备份事件是否可以与所述保存在内存映像区的备份事件进行合并,若是,则将所述监听到的备份事件与所述保存的备份事件进行合并,否则直接添加到内存映像区中。
上述的合并操作可以是新的备份事件合并到已存在的备份事件,也可以是将已存在的备份事件合并到新的备份事件,如果是合并到新的备份事件,则可将已存在的备份事件标记为已同步,如果是合并到已存在的备份事件,则不将新的备份事件保存到内存映像区。
图5为本发明实施例合并备份事件的总体流程图,如图5所示,该流程包括以下步骤:
步骤501,接收监听到的备份事件。
步骤502,判断备份事件是否可以合并,若是,则执行步骤503,否则执行步骤504。
步骤503,与已存在的备份事件进行合并。
步骤504,将备份事件添加到内存映像区。
其中,一个备份事件中可能存在多个具体备份操作,在进行合并时可以细化到备份事件中的具体备份操作是否可以合并。
具体判断备份事件或备份事件中的具体备份操作是否可以合并时可以参考以下例子:
一、当新备份事件为修改备份数据备份密钥请求(SYNC_MODIFY_BAKKEY_REQUEST),则不可合并。
二、当新备份事件为执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),在该事件的参数中,根据要合成备份的备份数据文件查找该文件的其它备份事件,如果不存在,则不可合并;如果存在时,可继续判断:
i、如果已存在的备份事件为执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),则将两个合成备份事件的合成备份范围进行合并后,将新备份事件保存到内存映像区,并将已存在的备份事件标记为已同步。
ii、如果已存在的备份事件为数据备份请求(SYNC_BAK_DATA_REQUEST),则不合并。
三、当新备份事件为数据备份请求(SYNC_BAK_DATA_REQUEST),则可继续遍历该事件里的具体操作:
i、如果遍历的操作为备份数据文件创建操作(SYNC_CREATE_FILE_OPERATION),在该操作的参数中,根据创建的文件名查找该文件的其它事件或操作,如果不存在,则不可合并,如果已存在,则继续判断:
如果已存在为执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),则合并,已存在备份事件标记为已同步,新备份事件的此操作保存到内存映像区;如果已存在为备份数据文件删除操作(SYNC_DEL_FILE_OPERATION),则合并,已存在备份事件的操作标记为已同步,新备份事件的此操作保存到内存映像区;如果已存在为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION)的重命名前的文件名,则不合并;如果已存在为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION)的重命名后的文件名,则合并,已存在备份事件的操作标记为已同步,新备份事件的此操作保存到内存映像区;如果已存在为备份数据文件创建操作(SYNC_CREATE_FILE_OPERATION),则合并,已存在备份事件的操作不修改,新备份事件的此操作不保存到内存映像区。
ii、如果遍历的操作为备份数据文件删除操作(SYNC_DEL_FILE_OPERATION),在该操作的参数中,根据删除的文件名查找该文件的其它事件或操作,如果不存在,则不可合并,如果已存在,则继续判断:
如果存在为执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),则合并,已存在备份事件标记为已同步,新备份事件的此操作保存到内存映像区;如果已存在为备份数据文件删除操作(SYNC_DEL_FILE_OPERATION),则合并,已存在备份事件的操作不修改,新备份事件的此操作不保存到内存映像区;如果已存在为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION)的重命名前的文件名,则合并,已存在备份事件的操作不修改,新备份事件的此操作不保存到内存映像区;如果已存在为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION)的重命名后的文件名,则合并,已存在备份事件的操作标记为已同步,新备份事件的此操作不保存到内存映像区;如果已存在为备份数据文件创建操作(SYNC_CREATE_FILE_OPERATION),则合并,已存在备份事件的操作标记为已同步,新备份事件的此操作不保存到内存映像区。
iii、如果遍历的操作为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION),在该操作的参数中,根据重命名前的文件名查找该文件的其它事件或操作,如果不存在,则不可合并,并继续执行步骤iv,如果已存在,则继续判断:
如果存在为执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),则合并,已存在备份事件标记为已同步,新备份事件的此操作保存到内存映像区;如果已存在为备份数据文件删除操作(SYNC_DEL_FILE_OPERATION),则合并,已存在备份事件的操作标记为已同步,新备份事件的此操作保存到内存映像区;如果已存在为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION),则不可合并,且不再执行步骤iv;如果已存在为备份数据文件创建操作(SYNC_CREATE_FILE_OPERATION),则合并,已存在备份事件的操作的文件名修改为重命名后的文件名,新备份事件的此操作不保存到内存映像区。
iv、如果遍历的操作为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION),在该操作的参数中,根据重命名后的文件名查找该文件的其它事件或操作,如果不存在,则不可合并,如果已存在,则继续判断:
如果存在为执行合成备份请求(SYNC_SYNTHETIC_BAK_REQUEST),则不可合并;如果已存在为备份数据文件删除操作(SYNC_DEL_FILE_OPERATION),则不可合并;如果已存在为备份数据文件重命名操作(SYNC_RENAME_FILE_OPERATION),则不可合并;如果已存在为备份数据文件创建操作(SYNC_CREATE_FILE_OPERATION),则合并,已存在备份事件的操作标记为已同步,新备份事件的此操作保存到内存映像区。
上述合并备份事件的例子是根据现有的备份事件和具体备份操作所举的例子,但并不仅限定这一种合并方法,根据备份事件和具体备份操作的不同,可以根据需要制定不同的合并方法,但原理都是以节省备份操作为原则进行合并,这里就不再一一赘述了。
另外,在步骤202中,将保存在内存映像区的备份事件同步到远程介质服务器时,可以遍历内存映像区中保存的备份事件,依次将尚未同步到远程介质服务器的备份事件同步到远程介质服务器,若该备份事件同步成功,则标识该备份事件为已同步,否则忽略该次同步操作,继续同步下一备份事件。具体同步操作的流程举例如下:
图6为本发明实施例将保存在内存映像区的备份事件同步到远程介质服务器的具体流程图,如图6所示,该流程包括如下步骤:
步骤601,遍历内存映像区的备份事件。
遍历内存映像区的备份事件,获得某一备份事件。
步骤602,判断备份事件是否已同步,若是,则返回步骤601,否则继续执行步骤603。
步骤603,判断备份事件是否为备份数据请求事件,若是,则执行步骤604,否则执行步骤605。
如果备份事件尚未标记为同步,则判断该事件是否为数据备份请求(SYNC_BAK_DATA_REQUEST)。
步骤604,遍历备份数据请求中的备份操作,执行步骤609。
遍历备份数据请求中的备份操作,获得某一备份操作。
步骤605,向远程介质服务器发送备份事件及相关参数。
步骤606,判断是否同步成功,若是,则执行步骤607,否则执行步骤608。
步骤607,将备份事件标记为已同步,返回步骤601。
步骤608,忽略该次同步操作,返回步骤601。
步骤609,判断备份操作是否为备份数据文件创建操作,若是则执行步骤610,否则执行步骤605。
步骤610,向远程介质服务器发送备份数据文件。
步骤611,判断备份数据文件是否传输成功,若是,则执行步骤607,否则执行步骤608。
具体同步操作与现有的同步操作相近,但是在同步时以备份事件为基础而不是现有的IO操作。
在上述将保存在内存映像区的备份事件同步到远程介质服务器的过程中,可能会因网络故障、介质原因、其它未知原因而导致备份事件或备份事件的某操作同步失败,对于同步失败的备份事件,除了忽略该次同步操作外,还可以进一步判断本次同步失败距备份事件第一次同步失败的时间是否大于预设的保留时间,是则将该备份事件标识为已同步,表示丢弃该备份事件,不再进行同步尝试,否则忽略该次同步操作,具体流程举例如下:
图7为本发明实施例的备份事件同步失败后的处理流程图,如图7所示,该流程包括以下步骤:
步骤701,判断备份事件是否同步失败过,是则执行步骤703,否则执行步骤702。
可以通过备份事件或备份事件的某操作的第一次失败时间判断是否已失败过,如果其第一次失败时间值为0,则表示尚未失败。
步骤702,将当前时间保存为备份事件第一次失败的时间,执行步骤705。
可以将当前时间保存到备份事件或备份事件的某操作的第一次失败时间参数里。
步骤703,判断当前时间与备份事件第一次失败的时间之差是否大于预设的保留时间,若是,则执行步骤704,否则执行步骤705。
步骤704,将备份事件标识为已同步。
标识为已同步,表示丢弃该事件或操作。将不再对该备份事件进行同步尝试。
步骤705,忽略该次同步操作。
忽略该次同步操作后,可以继续下一备份事件的同步。
通过对备份事件失败时间的判断,并丢弃失败时间过长的备份事件,可以进一步减少某一个备份事件执行失败对整个备份过程的影响。
最后,本发明还提供了一种介质服务器,可以实现上述以备份事件为基础的远程备份方法,其中在上述远程备份方法的实施例中的本地介质服务器的具体结构举例如下:
图8为本发明实施例的本地介质服务器具体结构示意图,如图8所示,该介质服务器包括:
备份事件监听器801,用于监听将数据备份到本地介质服务器的备份事件;
备份事件同步器802,与所述备份事件监听器相连,用于采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。
图9为本发明实施例的备份事件同步器的具体结构示意图,如图9所示,该备份事件同步器包括:
本地备份模块901,与所述备份事件监听器801相连,用于将数据备份到本地介质服务器;
内存映像区902,与所述备份事件监听器801相连,用于保存监听到的备份事件;
同步模块903,与所述内存映像区相连,用于将保存在内存映像区902的备份事件同步到远程介质服务器。
较佳地,所述备份事件同步器还可以进一步包括:备份事件合并器,连接在所述内存映像区902与所述备份事件监听器801之间,用于判断监听到的备份事件是否可以与保存在所述内存映像区902的备份事件进行合并,若是,则将监听到的备份事件与所述保存的备份事件进行合并,否则直接添加到内存映像区902中保存。
图10为本发明实施例的同步模块具体结构示意图,如图10所示,该同步模块包括:
事件遍历单元1001,与所述内存映像区902相连,用于遍历内存映像区902中保存的备份事件,获取尚未同步到远程介质服务器的备份事件;
事件同步单元1002,与所述事件遍历单元1001相连,用于将所述事件遍历单元1001获取的尚未同步到远程介质服务器的备份事件同步到远程介质服务器;
同步判决单元1003,与所述事件同步单元1002相连,用于判断所述事件同步单元1002同步到远程介质服务器的备份事件是否同步成功;
同步标识单元1004,与所述同步判决单元1003及内存映像区902相连,用于在所述内存映像区902中,将所述同步判决单元1003判断为同步成功的备份事件标识为已同步。
较佳地,在所述同步模块中还可以进一步包括:时间判决单元,与所述同步判决单元1003相连,用于在所述同步判决单元1003判断备份事件同步不成功时,进一步判断本次同步失败距备份事件第一次同步失败的时间是否大于预设的保留时间。同时,所述同步标识单元1004进一步与所述时间判决单元相连,用于在所述时间判决单元判断本次同步失败距备份事件第一次同步失败的时间大于预设的保留时间时,将该备份事件标记为已同步。
由上述的实施例可见,本发明这种基于备份事件的远程数据备份方法和介质服务器,监听将数据备份到本地介质服务器的备份事件,并采用异步复制方式将监听到的所述备份事件同步到远程介质服务器。远程介质服务器执行的备份事件与原数据发出的备份事件完全一致,不必将备份事件分解成底层IO操作进行同步,因此大大提高了远程介质服务器备份的数据与原数据之间的一致性。另外,由于备份事件的具体操作可知,因此在进行备份事件同步时,可以将能够合并的备份事件或备份事件中的操作进行合并,从而减少了需要同步的数据量,提高同步性能。最后,由于备份事件的具体操作的可知性,在备份事件同步失败时,可以直接丢弃该备份事件,不影响其它备份事件的同步操作。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种远程数据备份方法,其特征在于,该方法包括:
监听将数据备份到本地介质服务器的备份事件;
采用异步复制方式将监听到的所述备份事件同步到远程介质服务器;
其中,在本地介质服务器和远程介质服务器之间传递的是备份事件而不是具体的IO操作,本地介质服务器以备份事件为基础同步操作单位;
其中,所述采用异步复制方式将监听到的所述备份事件同步到远程介质服务器包括:
本地介质服务器执行备份事件的同时,将监听到的备份事件添加到内存映像区保存,并将保存在内存映像区的备份事件同步到远程介质服务器,
其中,所述将监听到的备份事件添加到内存映像区保存之前,该方法进一步包括:
判断所述监听到的备份事件是否可以与所述保存在内存映像区的备份事件进行合并,若是,则将所述监听到的备份事件与所述保存的备份事件进行合并,否则直接添加到内存映像区中;
其中,所述合并包括:
当所述监听到的备份事件为执行合成备份请求SYNC_SYNTHETIC_BAK_REQUEST,在该事件的参数中,根据要合成备份的备份数据文件查找该文件的其它备份事件,如果不存在,则不可合并;如果存在时,继续判断:
如果已存在的所述保存在内存映像区的备份事件为执行合成备份请求SYNC_SYNTHETIC_BAK_REQUEST,则将两个合成备份事件的合成备份范围进行合并后,将新备份事件保存到内存映像区,并将已存在的备份事件标记为已同步;
如果已存在的所述保存在内存映像区的备份事件为数据备份请求SYNC_BAK_DATA_REQUEST,则不合并。
2.如权利要求1所述的远程数据备份方法,其特征在于,所述将保存在内存映像区的备份事件同步到远程介质服务器包括:
遍历内存映像区中保存的备份事件,依次将尚未同步到远程介质服务器的备份事件同步到远程介质服务器,若该备份事件同步成功,则标识该备份事件为已同步,否则忽略该次同步操作。
3.如权利要求2所述的远程数据备份方法,其特征在于,若所述备份事件同步失败,则进一步判断本次同步失败距备份事件第一次同步失败的时间是否大于预设的保留时间,是则将该备份事件标识为已同步,否则忽略该次同步操作。
4.如权利要求1所述的远程数据备份方法,其特征在于,所述将所述监听到的备份事件与所述保存的备份事件进行合并,还包括:将所述监听到的备份事件中的备份操作与所述保存的备份事件中的备份操作进行合并。
5.一种介质服务器,作为本地介质服务器使用,其特征在于,该介质服务器包括:
备份事件监听器,用于监听将数据备份到本地介质服务器的备份事件;
备份事件同步器,与所述备份事件监听器相连,用于采用异步复制方式将监听到的所述备份事件同步到远程介质服务器;
其中,在本地介质服务器和远程介质服务器之间传递的是备份事件而不是具体的IO操作,本地介质服务器以备份事件为基础同步操作单位,
其中,所述备份事件同步器包括:
本地备份模块,与所述备份事件监听器相连,用于将数据备份到本地介质服务器;
内存映像区,与所述备份事件监听器相连,用于保存监听到的备份事件;
同步模块,与所述内存映像区相连,用于将保存在内存映像区的备份事件同步到远程介质服务器,
其中,所述备份事件同步器进一步包括:
备份事件合并器,连接在所述内存映像区与所述备份事件监听器之间,用 于判断监听到的备份事件是否可以与保存在所述内存映像区的备份事件进行合并,若是,则将监听到的备份事件与所述保存的备份事件进行合并,否则直接添加到内存映像区中保存;
其中所述合并包括:
当所述监听到的备份事件为执行合成备份请求SYNC_SYNTHETIC_BAK_REQUEST,在该事件的参数中,根据要合成备份的备份数据文件查找该文件的其它备份事件,如果不存在,则不可合并;如果存在时,继续判断:
如果已存在的所述保存在内存映像区的备份事件为执行合成备份请求SYNC_SYNTHETIC_BAK_REQUEST,则将两个合成备份事件的合成备份范围进行合并后,将新事件保存到内备份存映像区,并将已存在的备份事件标记为已同步;
如果已存在的所述保存在内存映像区的备份事件为数据备份请求SYNC_BAK_DATA_REQUEST,则不合并。
6.如权利要求5所述的介质服务器,其特征在于,所述同步模块包括:
事件遍历单元,与所述内存映像区相连,用于遍历内存映像区中保存的备份事件,获取尚未同步到远程介质服务器的备份事件;
事件同步单元,与所述时间遍历单元相连,用于将所述事件遍历单元获取的尚未同步到远程介质服务器的备份事件同步到远程介质服务器;
同步判决单元,与所述事件同步单元相连,用于判断所述事件同步单元同步到远程介质服务器的备份事件是否同步成功;
同步标识单元,与所述同步判决单元及内存映像区相连,用于在所述内存映像区中,将所述同步判决单元判断为同步成功的备份事件标识为已同步。
7.如权利要求6所述的介质服务器,其特征在于,所述同步模块进一步包括:
时间判决单元,与所述同步判决单元相连,用于在所述同步判决单元判断备份事件同步不成功时,判断本次同步失败距备份事件第一次同步失败的时间 是否大于预设的保留时间;
所述同步标识单元,进一步与所述时间判决单元相连,用于在所述时间判决单元判断本次同步失败距备份事件第一次同步失败的时间大于预设的保留时间时,将该备份事件标记为已同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102032266A CN101414946B (zh) | 2008-11-21 | 2008-11-21 | 一种远程数据备份方法及介质服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102032266A CN101414946B (zh) | 2008-11-21 | 2008-11-21 | 一种远程数据备份方法及介质服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101414946A CN101414946A (zh) | 2009-04-22 |
CN101414946B true CN101414946B (zh) | 2011-11-16 |
Family
ID=40595271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102032266A Expired - Fee Related CN101414946B (zh) | 2008-11-21 | 2008-11-21 | 一种远程数据备份方法及介质服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101414946B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776145A (zh) * | 2016-12-29 | 2017-05-31 | 上海爱数信息技术股份有限公司 | 数据库备份性能的控制方法、系统及服务器 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997930A (zh) * | 2010-12-24 | 2011-03-30 | 南开大学 | 一种基于重传─纠删码传输协议的远程镜像方法和系统 |
CN103179158B (zh) * | 2011-12-22 | 2017-03-01 | 中国银联股份有限公司 | 一种参数批量同步方法和系统 |
CN102946410A (zh) * | 2012-10-15 | 2013-02-27 | 北京奇虎科技有限公司 | 网络同步方法和装置 |
CN102946411A (zh) * | 2012-10-15 | 2013-02-27 | 北京奇虎科技有限公司 | 网络同步系统 |
WO2015085529A1 (zh) * | 2013-12-12 | 2015-06-18 | 华为技术有限公司 | 数据复制方法、数据复制装置和存储设备 |
CN104216806B (zh) * | 2014-07-24 | 2016-04-06 | 上海英方软件股份有限公司 | 一种文件系统序列化操作日志的捕获与传输方法及其装置 |
CN106021030A (zh) * | 2016-05-30 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种数据库的系统、一种处理数据库故障的方法及装置 |
CN107491364A (zh) * | 2017-08-25 | 2017-12-19 | 长沙曙通信息科技有限公司 | 一种远程数据复制服务质量实现方法 |
CN110265888B (zh) * | 2019-06-28 | 2021-01-05 | 贵阳研卓电子科技有限公司 | Pdu电源控制系统 |
CN112463457A (zh) * | 2020-12-10 | 2021-03-09 | 上海爱数信息技术股份有限公司 | 一种保障应用一致性的数据保护方法、装置、介质及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852455A (zh) * | 2005-11-22 | 2006-10-25 | 华为技术有限公司 | 一种数据容灾系统及其容灾方法 |
WO2007044964A2 (en) * | 2005-10-12 | 2007-04-19 | Datacastle Corporation | Method and system for data backup |
CN101090330A (zh) * | 2006-06-13 | 2007-12-19 | 上海威腾信息科技有限公司 | 一种网络数据备份管理装置及其相关处理方法 |
CN101118509A (zh) * | 2007-09-12 | 2008-02-06 | 华为技术有限公司 | 内存数据库远程容灾的方法、装置和系统 |
-
2008
- 2008-11-21 CN CN2008102032266A patent/CN101414946B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007044964A2 (en) * | 2005-10-12 | 2007-04-19 | Datacastle Corporation | Method and system for data backup |
CN1852455A (zh) * | 2005-11-22 | 2006-10-25 | 华为技术有限公司 | 一种数据容灾系统及其容灾方法 |
CN101090330A (zh) * | 2006-06-13 | 2007-12-19 | 上海威腾信息科技有限公司 | 一种网络数据备份管理装置及其相关处理方法 |
CN101118509A (zh) * | 2007-09-12 | 2008-02-06 | 华为技术有限公司 | 内存数据库远程容灾的方法、装置和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776145A (zh) * | 2016-12-29 | 2017-05-31 | 上海爱数信息技术股份有限公司 | 数据库备份性能的控制方法、系统及服务器 |
CN106776145B (zh) * | 2016-12-29 | 2020-04-03 | 上海爱数信息技术股份有限公司 | 数据库备份性能的控制方法、系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN101414946A (zh) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101414946B (zh) | 一种远程数据备份方法及介质服务器 | |
CN110209726B (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
CN105677516B (zh) | 一种计算靠近存储云平台中高效可靠的备份恢复方法 | |
CN107832138B (zh) | 一种扁平化的高可用namenode模型的实现方法 | |
CN101383690B (zh) | 一种基于socket的容错计算机系统的网络同步方法 | |
CN101079896B (zh) | 一种构建并行存储系统多可用性机制并存架构的方法 | |
US7954104B2 (en) | Remote copy storage device system and a remote copy method to prevent overload of communication lines in system using a plurality of remote storage sites | |
US6941327B2 (en) | Apparatus and method for database synchronization in a duplex system | |
CN109189860A (zh) | 一种基于Kubernetes系统的MySQL主备增量同步方法 | |
CN102411639B (zh) | 元数据的多副本存储管理方法和系统 | |
CN101453489B (zh) | 一种网络附加存储装置及其数据备份和数据恢复方法 | |
CN105955836A (zh) | 一种冷热备份自动演练多功能系统 | |
CN102890716B (zh) | 分布式文件系统和分布式文件系统的数据备份方法 | |
KR20150137884A (ko) | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 | |
EP2281240A1 (en) | Maintaining data integrity in data servers across data centers | |
CN103853634A (zh) | 一种容灾备份系统及方法 | |
CN111198662B (zh) | 一种数据存储方法、装置和计算机可读存储介质 | |
EP4213038A1 (en) | Data processing method and apparatus based on distributed storage, device, and medium | |
CN108964986B (zh) | 协同办公系统应用级双活灾备系统 | |
US8527454B2 (en) | Data replication using a shared resource | |
CN104486387B (zh) | 一种数据同步处理方法及系统 | |
CN103377100A (zh) | 一种数据备份方法、网络节点及系统 | |
CN102457400B (zh) | 一种防止磁盘镜像资源发生脑裂的方法 | |
CN102541693A (zh) | 数据的多副本存储管理方法和系统 | |
CN104850628A (zh) | 一种数据库数据的同步方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP03 | Change of name, title or address |
Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Patentee after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD. Address before: 201103, room 25, 204 Zhenkang Road, Cambridge, Shanghai, Pudong New Area Patentee before: Shanghai Eisoo Software Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111116 Termination date: 20191121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |