CN101808127A - 数据备份方法、系统和服务器 - Google Patents

数据备份方法、系统和服务器 Download PDF

Info

Publication number
CN101808127A
CN101808127A CN201010126099.1A CN201010126099A CN101808127A CN 101808127 A CN101808127 A CN 101808127A CN 201010126099 A CN201010126099 A CN 201010126099A CN 101808127 A CN101808127 A CN 101808127A
Authority
CN
China
Prior art keywords
server
data
written
interface layer
file interface
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
Application number
CN201010126099.1A
Other languages
English (en)
Other versions
CN101808127B (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201010126099.1A priority Critical patent/CN101808127B/zh
Publication of CN101808127A publication Critical patent/CN101808127A/zh
Application granted granted Critical
Publication of CN101808127B publication Critical patent/CN101808127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明实施例提供一种数据备份方法、系统和服务器,所述数据备份方法包括:接收客户端发送的写操作指令;将所述写操作指令中的待写入数据写入第一服务器的文件接口层缓存;将所述待写入数据发送至第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。本发明实施例可以方便地实现数据备份,由于在文件接口层进行数据同步,因此提高了数据同步的性能,并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;另外,本发明实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,节省了部署成本。

Description

数据备份方法、系统和服务器
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据备份方法、系统和服务器。
背景技术
网络附加存储(Network Attached Storage;以下简称:NAS)文件系统由NAS客户端和NAS服务器组成。一个NAS服务器包括处理器、文件服务管理模块和多个用于数据存储硬盘驱动器。NAS客户端可以安装到应用服务器上;NAS服务器可以应用在任何的网络环境中。客户端可以通过网络文件系统(Network File System;以下简称:NFS)协议、通用因特网文件系统(Common Internet File System;以下简称:CIFS)协议等等非常方便地在NAS服务器上存取任意格式的文件。NAS服务器可以根据NAS客户端发出的指令完成对内在文件的管理。
现有技术提供的一种基于数据块镜像的实现方法中,NAS服务器采用通用高可靠性(High Availability;以下简称:HA)软件与通用镜像软件结合实现数据备份,并提供高可靠性存储。但是这种方法中,需要部署HA软件与通用镜像软件,因此增加了软件部署的复杂度;并且,这种方法中,在NAS服务器的块设备层实现数据同步,数据处理的层数较多,因此实现较复杂,数据同步的性能较低;另外,上述方法在异步时容易丢失数据。此外,还可以采用NAS客户端同时向两个NAS服务器并发地写数据,从而达到数据备份的效果。但是这种方法的开发量大,开发实现的成本较高。
发明内容
本发明实施例提供一种数据备份方法、系统和服务器,以简化软件部署,提高数据同步性能。
本发明实施例提供一种数据备份方法,包括:
接收客户端发送的写操作指令;
将所述写操作指令中的待写入数据写入第一服务器的文件接口层缓存;
将所述待写入数据发送至第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
本发明实施例还提供一种第一服务器,包括:
接收模块,用于接收客户端发送的写操作指令;
写入模块,用于将所述接收模块接收的写操作指令中的待写入数据写入所述第一服务器的文件接口层缓存;
发送模块,用于将所述待写入数据发送至第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
本发明实施例还提供一种数据备份系统,包括:客户端、第一服务器和第二服务器,
所述第一服务器,用于接收所述客户端发送的写操作指令,将所述写操作指令中的待写入数据写入所述第一服务器的文件接口层缓存,并将所述待写入数据发送至所述第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
通过本发明实施例,第一服务器接收到写操作指令之后,将该写操作指令中的待写入数据写入第一服务器的文件接口层缓存,并将该待写入数据发送至第二服务器,以便第二服务器将该待写入数据写入第二服务器的文件接口层缓存。本发明实施例在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,因此可以方便地实现数据备份,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;另外,本发明实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,简化了软件部署,降低了实现成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据备份方法一个实施例的流程图;
图2为本发明实施例服务器的逻辑结构示意图;
图3为本发明数据备份方法另一个实施例的流程图;
图4为本发明数据备份方法再一个实施例的流程图;
图5为本发明第一服务器一个实施例的结构示意图;
图6为本发明第一服务器另一个实施例的结构示意图;
图7为本发明数据备份系统一个实施例的结构示意图;
图8为本发明NAS集群一个实施例的结构示意图;
图9为本发明NAS集群另一个实施例的结构示意图;
图10为本发明NAS集群再一个实施例的结构示意图;
图11为本发明分布式文件系统一个实施例的结构示意图;
图12为本发明分布式文件系统另一个实施例的结构示意图;
图13为本发明分布式文件系统再一个实施例的结构示意图;
图14为本发明分布式文件系统又一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明数据备份方法一个实施例的流程图,如图1所示,该实施例可以包括:
步骤101,接收客户端发送的写操作指令。
步骤102,将写操作指令中的待写入数据写入第一服务器的文件接口层缓存。
图2为本发明实施例服务器的逻辑结构示意图,如图2所示,本发明实施例中,服务器的逻辑结构包括:应用层、文件接口层、文件系统、块设备层和硬盘驱动,在服务器接收到一个指令之后,应用层、文件接口层、文件系统、块设备层和硬盘驱动依次对该指令进行处理。
本实施例中,数据备份可以由服务器来执行,在本实施例中可以为第一服务器,在第一服务器和第二服务器的文件接口层设置缓存,在第一服务器接收到写操作指令之后,第一服务器将该写操作指令中的待写入数据写入该第一服务器的文件接口层缓存。
步骤103,将待写入数据发送至第二服务器,以便第二服务器将待写入数据写入第二服务器的文件接口层缓存。
本实施例中,第一服务器可以在将写操作指令中的待写入数据写入第一服务器的文件接口层缓存的同时或之后,将该待写入数据发送至第二服务器;即步骤102和步骤103可以并行执行,也可以先执行步骤102,再执行步骤103。
在第二服务器接收到第一服务器发送的待写入数据之后,第二服务器将该待写入数据写入第二服务器的文件接口层缓存。
本实施例中,步骤102~步骤103实现了第一服务器和第二服务器在文件接口层进行数据同步,提高了数据同步的性能。
上述实施例在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,因此可以方便地实现数据备份,提高了数据同步的性能,并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,简化了软件部署,降低了实现成本。
图3为本发明数据备份方法另一个实施例的流程图,如图3所示,该实施例可以包括:
步骤301,第一服务器接收客户端发送的写操作指令。
步骤302,第一服务器将该写操作指令中的待写入数据写入第一服务器的文件接口层缓存。
本实施例中,第一服务器的逻辑结构如图2所示,在第一服务器的文件接口层设置缓存,第一服务器接收到写操作指令之后,第一服务器将该写操作指令中的待写入数据写入该第一服务器的文件接口层缓存。
步骤303,第一服务器将该待写入数据发送至第二服务器。
本实施例中,第一服务器可以在将写操作指令中的待写入数据写入第一服务器的文件接口层缓存的同时或之后,将该待写入数据发送至第二服务器;即步骤302和步骤303可以并行执行,也可以先执行步骤302,再执行步骤303。
步骤304,第二服务器将该待写入数据写入第二服务器的文件接口层缓存。
本实施例中,步骤302~步骤304实现了第一服务器和第二服务器在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求第一服务器与第二服务器的块设备层完全一致,甚至第一服务器与第二服务器的文件系统可以采用不同的本地文件系统,适用性较高。
步骤305,第一服务器接收第二服务器在将上述待写入数据写入该第二服务器的文件接口层缓存之后发送的第一响应消息。
本实施例中,第二服务器在将上述待写入数据写入该第二服务器的文件接口层缓存之后,向第一服务器发送第一响应消息,接收到该第一响应消息之后,第一服务器可以确定第二服务器将待写入数据写入文件接口层缓存的操作已完成。
步骤306,第一服务器向客户端发送第二响应消息,该第二响应消息是对写操作指令的响应。
本实施例中,在第一服务器和第二服务器将待写入数据写入各自的文件接口层缓存的操作完成,且第一服务器接收到上述第一响应消息之后,第一服务器即可向客户端发送第二响应消息,而不必等到第一服务器和第二服务器各自的块设备层写硬盘时,再向客户端发送响应消息,从而提高了写操作的响应速度。
步骤307,第一服务器将写入第一服务器的文件接口层缓存中的待写入数据存储至第一服务器的硬盘。
步骤308,第二服务器将写入第二服务器的文件接口层缓存中的待写入数据存储至第二服务器的硬盘。
本实施例中,第一服务器和第二服务器可以异步或同步地将各自的文件接口层缓存中的待写入数据存储至各自的硬盘中,即步骤307与步骤308可以并行执行,也可以先后执行,本发明实施例对步骤307与步骤308的执行顺序不作限定。
下面对本实施例中可能出现的异常情况的处理方式进行介绍。
(1)第一服务器将该写操作指令中的待写入数据写入第一服务器的文件接口层缓存的操作失败,因此在预定的时间间隔,例如:5分钟内,客户端未接收到第一服务器发送的第二响应消息;这时,客户端会重发写操作指令,重复预置次数后,例如:3次后,均未收到第二响应消息时,客户端向上层返回失败响应。
(2)第一服务器将写入第一服务器的文件接口层缓存中的待写入数据存储至第一服务器的硬盘的操作失败,这时第一服务器会在本地硬盘中申请新的存储空间,再次执行将写入第一服务器的文件接口层缓存中的待写入数据存储至第一服务器的硬盘的操作。
(3)当第一服务器在将待写入数据存储至第一服务器的硬盘的过程中发生故障,例如:第一服务器掉电,未能将该待写入数据存储至第一服务器的硬盘时,该第一服务器的文件接口层缓存中的数据丢失;但是由于第二服务器未发生故障,因此第二服务器成功将上述待写入数据存储至第二服务器的硬盘,并且第二服务器在第一服务器发生故障期间接管第一服务器的工作,因此第一服务器在恢复正常工作之后,首先根据第一服务器中文件系统的事务日志,从第二服务器获取待写入数据,并将获取的待写入数据写入第一服务器的文件接口层缓存;然后,第一服务器根据第二服务器在第一服务器发生故障期间记录的同步日志(SYNC-LOG),同步第一服务器的文件接口层缓存中的数据与第二服务器的文件接口层缓存中的数据。在第一服务器与第二服务器的文件接口层缓存中的数据达到一致之后,再将文件接口层缓存中的数据存储至硬盘。
(4)当第二服务器在将待写入数据存储第二服务器的硬盘的过程中发生故障,例如:第二服务器掉电,未能将该待写入数据存储至第二服务器的硬盘时,第二服务器参照(3)中的处理方式进行处理,在此不再赘述。
上述实施例可以方便地实现数据备份,提高了写操作的响应速度;在文件接口层进行数据同步,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;并且在一个服务器发生故障之后,另一服务器记录同步日志,在发生故障的服务器恢复正常工作之后,可以根据同步日志同步两个服务器中的数据,可靠性高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,简化了软件部署,降低了实现成本。
图4为本发明数据备份方法再一个实施例的流程图,如图4所示,该实施例可以包括:
步骤401,第一服务器接收客户端发送的写操作指令。
步骤402,第一服务器将该写操作指令中的待写入数据写入第一服务器的文件接口层缓存。
本实施例中,第一服务器的逻辑结构如图2所示,在第一服务器的文件接口层设置缓存,第一服务器接收到写操作指令之后,第一服务器将该写操作指令中的待写入数据写入该第一服务器的文件接口层缓存。
步骤403,在预设的缓存同步条件被满足之后,第一服务器将待写入数据发送至第二服务器。
本实施例中,当第一服务器与第二服务器之间的网络连接带宽有限时,可以预先设置缓存同步条件,只有在预设的缓存同步条件被满足之后,第一服务器才将待写入数据发送至第二服务器。
该缓存同步条件可以为第一服务器当前的业务量低于预设的阈值,该阈值可以根据第一服务器的性能,以及第一服务器与第二服务器之间的网络连接带宽设置;即在第一服务器当前的业务量大于预设的阈值,即第一服务器比较繁忙时,可以先将待写入数据存放在该第一服务器的文件接口层缓存中,在第一服务器当前的业务量低于上述预设的阈值之后,第一服务器再将该待写入数据发送至第二服务器。从而第一服务器将该待写入数据发送至第二服务器的操作,不会影响第一服务器自身业务的处理。
当然,本发明实施例并不仅限于此,缓存同步条件也可采用其他的设置方式,只要可以实现第一服务器将该待写入数据发送至第二服务器的操作,不影响第一服务器自身业务的处理即可。
步骤404,第二服务器将该待写入数据写入第二服务器的文件接口层缓存。
本实施例中,步骤402~步骤404实现了第一服务器和第二服务器在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求第一服务器与第二服务器的块设备层完全一致,甚至第一服务器与第二服务器的文件系统可以采用不同的本地文件系统,适用性较高。
步骤405,第一服务器接收第二服务器在将上述待写入数据写入该第二服务器的文件接口层缓存之后发送的第一响应消息。
本实施例中,第二服务器在将上述待写入数据写入该第二服务器的文件接口层缓存之后,向第一服务器发送第一响应消息,接收到该第一响应消息之后,第一服务器可以确定第二服务器将待写入数据写入文件接口层缓存的操作已完成。
步骤406,第一服务器向客户端发送第二响应消息,该第二响应消息是对写操作指令的响应。
本实施例中,在第一服务器和第二服务器将待写入数据写入各自的文件接口层缓存的操作完成,且第一服务器接收到第一响应消息之后,第一服务器即可向客户端发送第二响应消息,而不必等到第一服务器和第二服务器各自的块设备层写硬盘时,再向客户端发送响应消息,从而提高了写操作的响应速度。
步骤407,第一服务器将写入第一服务器的文件接口层缓存中的待写入数据存储至第一服务器的硬盘。
步骤408,第二服务器将写入第二服务器的文件接口层缓存中的待写入数据存储至第二服务器的硬盘。
本实施例中,第一服务器和第二服务器可以异步或同步地将各自的文件接口层缓存中的待写入数据存储至各自的硬盘中,即步骤407与步骤408可以并行执行,也可以先后执行,本发明实施例对步骤407与步骤408的执行顺序不作限定。
本实施例中异常情况的处理方式与本发明图3所示实施例相同,在此不再赘述。
上述实施例可以方便地实现数据备份,提高了写操作的响应速度;在文件接口层进行数据同步,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;并且在一个服务器发生故障时,另一服务器记录同步日志,在发生故障的服务器恢复正常工作之后,可以根据同步日志同步两个服务器中的数据,可靠性高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,简化了软件部署,降低了实现成本。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明第一服务器一个实施例的结构示意图,本实施例中的第一服务器可以实现本发明图1所示实施例的流程,如图5所示,该第一服务器可以包括:接收模块51、写入模块52和发送模块53。
其中,接收模块51,用于接收客户端发送的写操作指令。
写入模块52,用于将接收模块51接收的写操作指令中的待写入数据写入第一服务器的文件接口层缓存;
本实施例中,第一服务器的逻辑结构可以如图2所示,在第一服务器的文件接口层设置缓存,在接收模块51接收到写操作指令之后,写入模块52将该写操作指令中的待写入数据写入该第一服务器的文件接口层缓存。
发送模块53,用于将上述待写入数据发送至第二服务器,以便第二服务器将待写入数据写入第二服务器的文件接口层缓存;本实施例中,发送模块53可以在写入模块52将写操作指令中的待写入数据写入第一服务器的文件接口层缓存的同时或之后,将该待写入数据发送至第二服务器。
具体地,发送模块53可以在预设的缓存同步条件被满足之后,将该待写入数据发送至第二服务器,以便第二服务器将待写入数据写入该第二服务器的文件接口层缓存。
本实施例中,写入模块52和发送模块53实现了第一服务器与第二服务器在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求第一服务器与第二服务器的块设备层完全一致,甚至第一服务器与第二服务器的文件系统可以采用不同的本地文件系统,适用性较高。
本实施例中,接收模块51还可以接收第二服务器在将待写入数据写入第二服务器的文件接口层缓存之后发送的第一响应消息,该第一响应消息用于表示第二服务器将待写入数据写入第二服务器的文件接口层缓存的操作已完成。这时,发送模块53还用于在接收模块51接收到第一响应消息,并且写入模块52将待写入数据写入第一服务器的文件接口层缓存之后,向客户端发送第二响应消息,该第二响应消息是对写操作指令的响应。
本实施例中,在第一服务器和第二服务器将待写入数据写入各自的文件接口层缓存的操作完成之后,发送模块53即可向客户端发送第二响应消息,而不必等到第一服务器和第二服务器各自的块设备层写硬盘时,再向客户端发送响应消息,从而提高了写操作的响应速度。
上述第一服务器可以方便地与第二服务器实现数据备份,提高了写操作的响应速度;在文件接口层进行数据同步,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,简化了软件部署,降低了实现成本。
图6为本发明第一服务器另一个实施例的结构示意图,本实施例中的第一服务器可以实现本发明图1、图3或图4所示实施例的流程,如图6所示,该第一服务器可以包括:接收模块61、写入模块62、发送模块63、存储模块64、获取模块65和同步模块66。
其中,接收模块61,用于接收客户端发送的写操作指令。
写入模块62,用于将接收模块61接收的写操作指令中的待写入数据写入第一服务器的文件接口层缓存;
本实施例中,第一服务器的逻辑结构可以如图2所示,在第一服务器的文件接口层设置缓存,在接收模块61接收到写操作指令之后,写入模块62将该写操作指令中的待写入数据写入该第一服务器的文件接口层缓存。
发送模块63,用于将上述待写入数据发送至第二服务器,以便第二服务器将待写入数据写入第二服务器的文件接口层缓存;本实施例中,发送模块63可以在写入模块62将写操作指令中的待写入数据写入第一服务器的文件接口层缓存的同时或之后,将该待写入数据发送至第二服务器。
具体地,发送模块63可以在预设的缓存同步条件被满足之后,将该待写入数据发送至第二服务器。
本实施例中,写入模块62和发送模块63实现了第一服务器与第二服务器在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求第一服务器与第二服务器的块设备层完全一致,甚至第一服务器与第二服务器的文件系统可以采用不同的本地文件系统,适用性较高。
本实施例中,接收模块61还可以接收第二服务器在将待写入数据写入第二服务器的文件接口层缓存之后发送的第一响应消息,该第一响应消息用于表示第二服务器将待写入数据写入第二服务器的文件接口层缓存的操作已完成。这时,发送模块63还用于在接收模块61接收到第一响应消息,并且写入模块62将待写入数据写入第一服务器的文件接口层缓存之后,向客户端发送第二响应消息,该第二响应消息是对写操作指令的响应。
本实施例中,在第一服务器和第二服务器将待写入数据写入各自的文件接口层缓存的操作完成之后,发送模块63即可向客户端发送第二响应消息,而不必等到第一服务器和第二服务器各自的块设备层写硬盘时,再向客户端发送响应消息,从而提高了写操作的响应速度。
本实施例中,存储模块64,用于将写入模块62写入第一服务器的文件接口层缓存中的待写入数据存储至第一服务器的硬盘。
当存储模块64在将待写入数据存储至第一服务器的硬盘的过程中发生故障,未能将上述待写入数据存储至第一服务器的硬盘时,在第一服务器恢复正常工作之后,获取模块65根据第一服务器中文件系统的事务日志,从第二服务器获取上述待写入数据;这时,写入模块62还用于将获取模块65获取的待写入数据写入第一服务器的文件接口层缓存。
然后,同步模块66可以根据第二服务器在第一服务器发生故障期间记录的同步日志,同步第一服务器的文件接口层缓存中的数据与第二服务器的文件接口层缓存中的数据。
上述第一服务器可以方便地与第二服务器实现数据备份,提高了写操作的响应速度;在文件接口层进行数据同步,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求两个服务器的块设备层完全一致,甚至两个服务器的文件系统可以采用不同的本地文件系统,适用性较高;并且在第一服务器发生故障之后,第二服务器记录同步日志,在第一服务器恢复正常工作之后,同步模块66可以根据同步日志同步两个服务器中的数据,可靠性高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,简化了软件部署,降低了实现成本。
图7为本发明数据备份系统一个实施例的结构示意图,如图7所示,该数据备份系统可以包括:客户端71、第一服务器72和第二服务器73。
其中,第一服务器72,用于接收客户端71发送的写操作指令,将该写操作指令中的待写入数据写入第一服务器72的文件接口层缓存,并将待写入数据发送至第二服务器73,以便第二服务器73将待写入数据写入第二服务器73的文件接口层缓存。具体地,第一服务器72可以采用本发明图5或图6所示的第一服务器实现;本发明实施例对第二服务器73的结构不作限定,第二服务器73可以采用与第一服务器72相同或不同的结构。
本实施例中的数据备份系统可以应用于NAS集群或分布式文件系统。
下面介绍上述数据备份系统应用于NAS集群时的部署方式。
NAS集群的实现方式包括:
(1)集群式NAS设备:企业可以购买现成的NAS集群设备,这些NAS集群设备一般是厂商预先配置好的,可以很轻松的插入和部署。直接购买NAS集群设备是最简单、部署最快的一种方法。
(2)NAS机头(NAS head):在存储设备之前部署一个NAS机头。NAS机头包括集群文件系统,通过集群文件系统,可以把网络文件系统统一管理起来。
(3)NAS集群软件:企业购买软件和集群文件系统,然后在该企业的服务器上运行,连接到该企业的存储设备和网络。NAS集群软件会便宜一些,但是部署的工作量较大,另外,企业还需要单独购买服务器和存储设备,部署成本较高。
本发明实施例以NAS集群采用NAS机头的方式实现为例进行说明。
图8为本发明NAS集群一个实施例的结构示意图,该NAS集群采用NAS机头的方式实现。如图8所示,在该NAS集群中,客户端与主NAS机头连接,主NAS机头和备用NAS机头分别负责不同的NAS节点。主NAS机头与备用NAS机头负责操作中转和数据缓冲,完成整个NAS集群的数据备份。在主NAS机头与备用NAS机头进行数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法。
图9为本发明NAS集群另一个实施例的结构示意图,该NAS集群采用NAS机头的方式实现。如图9所示,客户端与主NAS机头连接,主NAS机头与备用NAS机头之间只负责主备切换,接管下面的NAS节点,由NAS节点实现数据备份。NAS节点实现数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法。
本实施例中,在NAS机头上可以维护备份信息,该备份信息可以分为目录级别和文件级别的备份信息。该备份信息的格式如下:
目录路径:/dir1/dir2/  ------>   NAS节点1,NAS节点2;
文件路径:/dir1/dir2/largefiel  ------>  NAS节点3,NAS节点4;
在操作某个文件或目录时,选择一条最长匹配路径,那么该最长匹配路径描述的信息,就是此文件或目录所在的节点信息。以上述目录路径和文件路径为例,文件/dir1/dir2/largefiel存放在NAS节点3与NAS节点4上;目录/dir1/dir2/下除文件/dir1/dir2/largefiel之外的其它文件则存放在NAS节点1与NAS节点2上。
图10为本发明NAS集群再一个实施例的结构示意图,该实施例综合本发明图8与图9所示NAS集群的结构,同样采用NAS机头的方式实现。如图10所示,主NAS机头与备用NAS机头正常工作时,主NAS机头和备用NAS机头分别负责不同的NAS节点,例如:主NAS机头负责NAS节点1和NAS节点2,备用NAS机头负责NAS节点3和NAS节点4。主NAS机头和备用NAS机头用于进行操作中转和数据缓冲,完成整个NAS集群的数据备份。在主NAS机头与备用NAS机头进行数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法,实现机头级别的数据备份。
当主NAS机头或者备用NAS机头发生故障,例如:主NAS机头或者备用NAS机头掉线时,由未发生故障的NAS机头全面接管下面所有NAS节点的操作。
在上述图8、图9或图10所示的NAS集群中,还可以将备份的节点例如:备用NAS机头或NAS节点部署在远端,实现NAS集群远程镜像。
下面介绍上述数据备份系统应用于分布式文件系统时的部署方式。
图11为本发明分布式文件系统一个实施例的结构示意图,本实施例实现元数据服务器备份。
在图11所示分布式文件系统中,客户端为应用程序提供访问分布式文件系统的用户开发接口,可以部署到多个应用服务器。
元数据服务器负责向客户端提供整个分布式文件系统的元数据,管理整个分布式文件系统的命名空间,维护整个分布式文件系统的目录结构和用户权限,并维护分布式文件系统的数据的一致性。同时元数据服务器维护数据服务器的部署信息,为客户端提供文件部署方案。
备用元数据服务器,是元数据服务器的备份,在元数据服务器发生故障时,接管元数据服务器的工作。本实施例中,元数据服务器与备用元数据服务器在进行数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法。
数据服务器为对象存储节点,以对象形式存储数据。分布式文件系统中的文件以条带的形式分布到各个数据服务器上。
分布式文件系统通过元数据与数据的存储分离,提高了存储系统的整体性能。
图12为本发明分布式文件系统另一个实施例的结构示意图,本实施例实现数据服务器备份。
图12所示分布式文件系统中,客户端、元数据服务器和数据服务器的功能,与图11所示分布式文件系统中对应网元的功能相同,在此不再赘述。
与图11所示分布式文件系统不同的是,图12所示分布式文件系统中,为数据服务器设置备用数据服务器,实现数据服务器备份。数据服务器与备用数据服务器在进行数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法。
图13为本发明分布式文件系统再一个实施例的结构示意图,本实施例实现元数据服务器和数据服务器备份。
图13所示分布式文件系统中,客户端、元数据服务器和数据服务器的功能,与图11所示分布式文件系统中对应网元的功能相同,在此不再赘述。
与图11所示分布式文件系统不同的是,图13所示分布式文件系统中,不仅设置备用元数据服务器,还设置备用数据服务器,实现元数据服务器和数据服务器的备份。数据服务器与备用数据服务器,以及元数据服务器与备用元数据服务器在进行数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法。
图14为本发明分布式文件系统又一个实施例的结构示意图,本实施例实现分布式文件系统的远程备份。
图14所示分布式文件系统中,客户端、元数据服务器和数据服务器的功能,与图11所示分布式文件系统中对应网元的功能相同,在此不再赘述。
与图11所示分布式文件系统不同的是,图14所示分布式文件系统中,在本地与远端各部署一个操作代理,用于同步各种文件接口级别的操作,实现数据备份。本地与远端的操作代理在进行数据备份时,可以采用本发明图1、图3或图4所示实施例提供的数据备份方法。
本发明实施例提供的数据备份系统,可以方便地实现数据备份,提高了写操作的响应速度;在文件接口层进行数据同步,与现有的在块设备层进行数据同步的方案相比,减少了数据处理的层数,节约了处理时间,提高了数据同步的性能;并且在文件接口层进行数据同步,不要求第一服务器72与第二服务器73的块设备层完全一致,甚至第一服务器72与第二服务器73的文件系统可以采用不同的本地文件系统,适用性较高;并且在一个服务器发生故障之后,另一服务器记录同步日志,在发生故障的服务器恢复正常工作之后,可以根据同步日志同步两个服务器中的数据,可靠性高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,节省了部署成本。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种数据备份方法,其特征在于,包括:
接收客户端发送的写操作指令;
将所述写操作指令中的待写入数据写入第一服务器的文件接口层缓存;
将所述待写入数据发送至第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
2.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据发送至第二服务器包括:
在预设的缓存同步条件被满足之后,将所述待写入数据发送至所述第二服务器。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
将所述写操作指令中的待写入数据写入第一服务器的文件接口层缓存,且接收到所述第二服务器在将所述待写入数据写入所述第二服务器的文件接口层缓存之后发送的第一响应消息之后,向所述客户端发送第二响应消息;所述第二响应消息是对所述写操作指令的响应。
4.根据权利要求3所述的方法,其特征在于,还包括:
将写入所述第一服务器的文件接口层缓存中的待写入数据存储至所述第一服务器的硬盘。
5.根据权利要求4所述的方法,其特征在于,还包括:
当在将所述待写入数据存储至所述第一服务器的硬盘的过程中发生故障,未能将所述待写入数据存储至所述第一服务器的硬盘时,在所述第一服务器恢复正常工作之后,根据所述第一服务器中文件系统的事务日志,从所述第二服务器获取所述待写入数据,将获取的待写入数据写入所述第一服务器的文件接口层缓存;并根据所述第二服务器在所述第一服务器发生故障期间记录的同步日志,将所述第一服务器的文件接口层缓存中的数据与所述第二服务器的文件接口层缓存中的数据同步。
6.一种第一服务器,其特征在于,包括:
接收模块,用于接收客户端发送的写操作指令;
写入模块,用于将所述接收模块接收的写操作指令中的待写入数据写入所述第一服务器的文件接口层缓存;
发送模块,用于将所述待写入数据发送至第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
7.根据权利要求6所述的第一服务器,其特征在于,所述发送模块具体用于在预设的缓存同步条件被满足之后,将所述待写入数据发送至所述第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
8.根据权利要求6或7所述的第一服务器,其特征在于,所述接收模块还用于接收所述第二服务器在将所述待写入数据写入所述第二服务器的文件接口层缓存之后发送的第一响应消息;
所述发送模块还用于在所述接收模块接收到所述第一响应消息,并且所述写入模块将所述待写入数据写入所述第一服务器的文件接口层缓存之后,向所述客户端发送第二响应消息,所述第二响应消息是对所述写操作指令的响应。
9.根据权利要求8所述的第一服务器,其特征在于,还包括:
存储模块,用于将所述写入模块写入所述第一服务器的文件接口层缓存中的待写入数据存储至所述第一服务器的硬盘。
10.根据权利要求9所述的第一服务器,其特征在于,还包括:获取模块和同步模块,
所述获取模块,用于当所述第一服务器在将所述待写入数据存储至所述第一服务器的硬盘的过程中发生故障,未能将所述待写入数据存储至所述第一服务器的硬盘时,在所述第一服务器恢复正常工作之后,根据所述第一服务器中文件系统的事务日志,从所述第二服务器获取所述待写入数据;
所述写入模块还用于将所述获取模块获取的待写入数据写入所述第一服务器的文件接口层缓存;
所述同步模块,用于根据所述第二服务器在所述第一服务器发生故障期间记录的同步日志,同步所述第一服务器的文件接口层缓存中的数据与所述第二服务器的文件接口层缓存中的数据。
11.一种数据备份系统,其特征在于,包括:客户端、第一服务器和第二服务器,
所述第一服务器,用于接收所述客户端发送的写操作指令,将所述写操作指令中的待写入数据写入所述第一服务器的文件接口层缓存,并将所述待写入数据发送至所述第二服务器,以便所述第二服务器将所述待写入数据写入所述第二服务器的文件接口层缓存。
CN201010126099.1A 2010-03-15 2010-03-15 数据备份方法、系统和服务器 Active CN101808127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010126099.1A CN101808127B (zh) 2010-03-15 2010-03-15 数据备份方法、系统和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010126099.1A CN101808127B (zh) 2010-03-15 2010-03-15 数据备份方法、系统和服务器

Publications (2)

Publication Number Publication Date
CN101808127A true CN101808127A (zh) 2010-08-18
CN101808127B CN101808127B (zh) 2013-03-20

Family

ID=42609746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010126099.1A Active CN101808127B (zh) 2010-03-15 2010-03-15 数据备份方法、系统和服务器

Country Status (1)

Country Link
CN (1) CN101808127B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088490A (zh) * 2011-01-19 2011-06-08 华为技术有限公司 数据存储方法、设备和系统
CN103731507A (zh) * 2013-05-02 2014-04-16 乐视网信息技术(北京)股份有限公司 一种分布式数据存储设备处理数据的方法及装置
CN103793181A (zh) * 2012-11-05 2014-05-14 腾讯科技(深圳)有限公司 一种多层关联存储架构的数据同步方法及数据同步系统
CN103827832A (zh) * 2011-09-29 2014-05-28 甲骨文国际公司 用于在事务中间件机器环境中持久化事务记录的系统与方法
CN104156327A (zh) * 2014-08-25 2014-11-19 曙光信息产业股份有限公司 一种分布式文件系统中写回模式下对象掉电识别方法
CN105049161A (zh) * 2015-08-25 2015-11-11 长沙市麓智信息科技有限公司 基于文本储存的在线业务处理系统
CN106412025A (zh) * 2016-09-12 2017-02-15 福建中金在线信息科技有限公司 一种直播信息推送方法、装置及系统
CN106980645A (zh) * 2017-02-24 2017-07-25 深圳市中博睿存信息技术有限公司 一种分布式文件系统架构实现方法和装置
CN107153644A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 一种数据同步方法及装置
CN108595121A (zh) * 2018-04-17 2018-09-28 湖北文理学院 数据存储方法和装置
CN109597722A (zh) * 2018-12-29 2019-04-09 北京车和家信息技术有限公司 数据库备份文件恢复方法、装置及电子设备
CN111858744A (zh) * 2019-04-29 2020-10-30 北京嘀嘀无限科技发展有限公司 数据库数据同步方法、服务器及系统
WO2022188184A1 (zh) * 2021-03-12 2022-09-15 华为技术有限公司 数据存储方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1296225A (zh) * 1999-05-18 2001-05-23 国际商业机器公司 用于改进pci-x或pci网桥性能的缓冲器管理
CN101132347A (zh) * 2006-08-24 2008-02-27 华为技术有限公司 一种实现tcp连接备份的系统及方法
CN101183325A (zh) * 2007-12-07 2008-05-21 中国科学院计算技术研究所 一种高可用存储服务器系统及其数据保护方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1296225A (zh) * 1999-05-18 2001-05-23 国际商业机器公司 用于改进pci-x或pci网桥性能的缓冲器管理
CN101132347A (zh) * 2006-08-24 2008-02-27 华为技术有限公司 一种实现tcp连接备份的系统及方法
CN101183325A (zh) * 2007-12-07 2008-05-21 中国科学院计算技术研究所 一种高可用存储服务器系统及其数据保护方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012097588A1 (zh) * 2011-01-19 2012-07-26 华为技术有限公司 数据存储方法、设备和系统
CN102088490B (zh) * 2011-01-19 2013-06-12 华为技术有限公司 数据存储方法、设备和系统
CN102088490A (zh) * 2011-01-19 2011-06-08 华为技术有限公司 数据存储方法、设备和系统
CN103827832A (zh) * 2011-09-29 2014-05-28 甲骨文国际公司 用于在事务中间件机器环境中持久化事务记录的系统与方法
CN103793181B (zh) * 2012-11-05 2019-05-24 腾讯科技(深圳)有限公司 一种多层关联存储架构的数据同步方法及数据同步系统
CN103793181A (zh) * 2012-11-05 2014-05-14 腾讯科技(深圳)有限公司 一种多层关联存储架构的数据同步方法及数据同步系统
US9753939B2 (en) 2012-11-05 2017-09-05 Tencent Technology (Shenzhen) Company Limited Data synchronization method and data synchronization system for multi-level associative storage architecture, and storage medium
CN103731507A (zh) * 2013-05-02 2014-04-16 乐视网信息技术(北京)股份有限公司 一种分布式数据存储设备处理数据的方法及装置
CN104156327A (zh) * 2014-08-25 2014-11-19 曙光信息产业股份有限公司 一种分布式文件系统中写回模式下对象掉电识别方法
CN105049161A (zh) * 2015-08-25 2015-11-11 长沙市麓智信息科技有限公司 基于文本储存的在线业务处理系统
CN107153644B (zh) * 2016-03-02 2021-06-04 创新先进技术有限公司 一种数据同步方法及装置
CN107153644A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 一种数据同步方法及装置
CN106412025A (zh) * 2016-09-12 2017-02-15 福建中金在线信息科技有限公司 一种直播信息推送方法、装置及系统
CN106980645B (zh) * 2017-02-24 2020-09-15 北京同有飞骥科技股份有限公司 一种分布式文件系统架构实现方法和装置
CN106980645A (zh) * 2017-02-24 2017-07-25 深圳市中博睿存信息技术有限公司 一种分布式文件系统架构实现方法和装置
CN108595121A (zh) * 2018-04-17 2018-09-28 湖北文理学院 数据存储方法和装置
CN109597722A (zh) * 2018-12-29 2019-04-09 北京车和家信息技术有限公司 数据库备份文件恢复方法、装置及电子设备
CN111858744A (zh) * 2019-04-29 2020-10-30 北京嘀嘀无限科技发展有限公司 数据库数据同步方法、服务器及系统
WO2022188184A1 (zh) * 2021-03-12 2022-09-15 华为技术有限公司 数据存储方法及相关设备

Also Published As

Publication number Publication date
CN101808127B (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
CN101808127B (zh) 数据备份方法、系统和服务器
US10073747B2 (en) Reducing recovery time in disaster recovery/replication setup with multitier backend storage
US8938604B2 (en) Data backup using distributed hash tables
CN103138912B (zh) 数据同步方法及系统
US20150019491A1 (en) Replication of Data Between Mirrored Data Sites
CN106156359A (zh) 一种云计算平台下的数据同步更新方法
US7941455B2 (en) Notification for a distributed file system
CN104731691A (zh) 动态调整分布式文件系统内文件副本数目的方法和系统
US9390034B1 (en) Unified SCSI target management for performing a delayed shutdown of a service daemon in a deduplication appliance
CN101741536A (zh) 数据级容灾方法、系统和生产中心节点
CN105407117A (zh) 分布式备份数据的方法、装置和系统
WO2020063600A1 (zh) 数据容灾方法与站点
CN106656593A (zh) 流媒体直播录制冗余热备的方法及系统
JP5868986B2 (ja) アイテム単位でのリカバリー
CN102298547A (zh) 一种数据备份方法及其装置
CN105446831A (zh) 一种结合SAN的Server-Free备份方法
CN101216794A (zh) 改进的Server-Less备份方法、存储设备及备份服务器
CN111045602B (zh) 集群系统控制方法及集群系统
US6804819B1 (en) Method, system, and computer program product for a data propagation platform and applications of same
CN109254873B (zh) 数据备份方法、相关装置及系统
CN113608691A (zh) 一种存储阵列nfs高可用的方法和装置
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
CN116112511A (zh) 一种基于多网关的分布式储存系统
US9384151B1 (en) Unified SCSI target management for managing a crashed service daemon in a deduplication appliance
CN114281600A (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

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220905

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.