具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图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的文件系统可以采用不同的本地文件系统,适用性较高;并且在一个服务器发生故障之后,另一服务器记录同步日志,在发生故障的服务器恢复正常工作之后,可以根据同步日志同步两个服务器中的数据,可靠性高;另外,本实施例不需修改客户端,不影响客户端已有的部署,也不需要第三方镜像软件,节省了部署成本。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。