一种文件系统远程数据同步实现方法和系统与流程

文档序号:16209195发布日期:2018-12-08 07:30阅读:191来源:国知局
一种文件系统远程数据同步实现方法和系统与流程

本发明实施例涉及数据同步技术,尤指一种文件系统远程数据同步实现方法和系统。

背景技术

在现代服务器系统中,由于对业务应用的数据安全性和可靠性有了越来越多的要求,为实现数据保护,通常的做法例如在本地服务器磁盘采用磁盘阵列的方式,增加数据冗余,而针对异地的数据保护,通常使用传统的san(storagearenetwork存储区域网络)存储镜像,需要传统存储设备和存储引擎来支持,通过将数据通过存储引擎在本地和异地同时写入,来保障本地和异地的数据一致性。使用这种做法时,一方面对网络的带宽有一定的要求,同时要求网络具有极大的稳定性,如果出现网络抖动,则很可能导致数据请求无法返回,严重影响存储性能。同时,san网络组网需要专用设备fc(光纤通道)等,成本较高,无法在小规模、低质量网络环境下使用。



技术实现要素:

为了解决上述技术问题,本发明实施例提供了一种文件系统远程数据同步实现方法和系统,可以在实时性要求不强,低质量网络下实现对文件系统数据的远程保护。

为了达到本发明实施例目的,本发明实施例提供了一种文件系统远程数据同步实现方法,该方法可以包括:

通过本地服务器localserver中部署的同步代理agent收集localserver的第一文件系统数据的相关信息,并将第一文件系统数据的相关信息和预设的数据比较算法传输给远端服务器remoteserver中部署的数据保护服务器server;

server通过数据比较算法将第一文件系统数据的相关信息和remoteserver的第二文件系统数据的相关信息进行比较,并在比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息不相同时,将比较结果反馈给agent;

agent根据该比较结果执行localserver和remoteserver之间的数据同步。

可选地,该方法还可以包括:在agent根据比较结果执行localserver和remoteserver之间的数据同步之前,agent将第一文件系统数据的相关信息和第二文件系统数据的相关信息中不相同的信息对应的数据块传输给server,以使server根据该数据块配置remoteserver的文件系统空间。

可选地,agent根据比较结果执行localserver和remoteserver之间的数据同步包括:

agent在将数据块发送给server以后,实时监听并获取localserverr的第一文件系统日志journal信息,将第一文件系统journal信息传送给server;

server接收第一文件系统journal信息,并将第一文件系统journal信息的数据在remoteserver中回放,以对第一文件系统journal信息的数据进行同步复制,实现localserver和remoteserver之间的数据同步。

可选地,该方法还可以包括:

当比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息相同时,server忽略该比较结果并且不执行向agent反馈该比较结果的操作。

可选地,该方法还可以包括:在server将第一文件系统数据的相关信息和第二文件系统数据的相关信息进行比较之前,server配置数据同步目录,并收集第二文件系统数据的相关信息,将第二文件系统数据的相关信息填写在配置数据同步目录中;

其中,配置数据同步目录用于罗列需要进行数据同步的相关数据的信息。

可选地,该方法还可以包括:在server将第一文件系统数据的相关信息和第二文件系统数据的相关信息进行比较之前,server监听agent的请求信息,并在监听到请求信息时从请求信息中获取第一文件系统数据的相关信息和数据比较算法,调取配置数据同步目录获取第二文件系统数据的相关信息。

可选地,该方法还可以包括:agent维护关于localserver的文件系统的数据同步状态和数据改变记录的第一数据表;server维护关于remoteserver的文件系统的数据同步状态和数据改变记录的第二数据表,

当发生网络中断时,agent和server分别将网络中断起始到网络恢复时段内的数据变化记录到第一数据表和第二数据表中;

当网络恢复时,agent和server分别根据第一数据表和第二数据表中记录的内容进行数据同步。

可选地,该方法还可以包括:预先设置数据缓冲区和数据同步时间间隔。

可选地,第一文件系统数据的相关信息包括:localserver的文件系统信息及数据块信息;第二文件系统数据的相关信息包括:remoteserver的文件系统信息及数据块信息。

可选地,数据比较算法包括:消息摘要算法第五版md5。

为了达到本发明实施例目的,本发明实施例还提供了一种文件系统远程数据同步实现系统,该系统可以包括:本地服务器localserver、同步代理agent、远端服务器server和数据保护服务器server;

agent,部署于localserver中,用于收集localserver的第一文件系统数据的相关信息,并将第一文件系统数据的相关信息和预设的数据比较算法传输给server;

server,部署于remoteserver中,用于通过数据比较算法将第一文件系统数据的相关信息和自身的第二文件系统数据的相关信息进行比较,并在比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息不相同时,将比较结果反馈给agent;

agent,还用于根据比较结果执行localserver和remoteserver之间的数据同步。

本发明实施例包括:通过本地服务器localserver中部署的同步代理agent收集localserver的第一文件系统数据的相关信息,并将第一文件系统数据的相关信息和预设的数据比较算法传输给远端服务器remoteserver中部署的数据保护服务器server;server通过数据比较算法将第一文件系统数据的相关信息和remoteserver的第二文件系统数据的相关信息进行比较,并在比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息不相同时,将比较结果反馈给agent;agent根据该比较结果执行localserver和remoteserver之间的数据同步。通过该实施例方案,实现了在实时性要求不强,低质量网络下对文件系统数据的远程保护。

本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。

图1为本发明实施例的文件系统远程数据同步实现方法流程图;

图2为本发明实施例的文件系统远程数据同步实现方法结构原理图;

图3为本发明实施例的文件系统远程数据同步实现系统组成框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

为了达到本发明实施例目的,本发明实施例提供了一种文件系统远程数据同步实现方法,该方法可以包括s101-s103:

s101、通过本地服务器localserver中部署的同步代理agent收集localserver的第一文件系统数据的相关信息,并将第一文件系统数据的相关信息和预设的数据比较算法传输给远端服务器remoteserver中部署的数据保护服务器server。

在本发明实施例中,如图2所示,在对数据文件进行保护时,可以在本地服务器部署同步代理agent,并设置需要备份的文件系统、数据保护server的参数和数据同步策略等;在远端服务器可以部署数据保护server,根据agent的连接请求,server分配关于remoteserver文件系统的相应的同步目录,对localserver文件系统的数据进行数据保护。

在本发明实施例中,agent端执行数据保护任务时,agent端进行初始化,收集和计算localserver文件系统信息和数据块信息,即第一文件系统数据的相关信息,并与预设的数据比较算法一起上报给server端。

可选地,该数据比较算法可以包括:消息摘要算法第五版md5。

在本发明实施例中,可以通过md5校验的方式,对比localserver和remoteserver文件系统差异。

s102、server通过数据比较算法将第一文件系统数据的相关信息和remoteserver的第二文件系统数据的相关信息进行比较,并在比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息不相同时,将比较结果反馈给agent。

可选地,该方法还可以包括:在server将第一文件系统数据的相关信息和第二文件系统数据的相关信息进行比较之前,server配置数据同步目录,并收集第二文件系统数据的相关信息,将第二文件系统数据的相关信息填写在配置数据同步目录中;

其中,配置数据同步目录用于罗列需要进行数据同步的相关数据的信息。

在本发明实施例中,server端执行数据保护任务时,server端进行初始化,配置数据同步目录,收集remoteserver的第二文件系统数据的相关信息,将第二文件系统数据的相关信息填写在配置数据同步目录中。

可选地,该方法还可以包括:在server将第一文件系统数据的相关信息和第二文件系统数据的相关信息进行比较之前,server监听agent的请求信息,并在监听到请求信息时从请求信息中获取第一文件系统数据的相关信息和数据比较算法,调取配置数据同步目录获取第二文件系统数据的相关信息。

在本发明实施例中,server端进行初始化后,server端可以实时监听agent请求,并在监听到该请求时,从请求信息中获取需要数据同步的第一文件系统数据的相关信息和数据比较算法,并将agent收集的localserver的第一文件系统数据的相关信息(其中可以包括localserver的文件系统信息及数据块信息)与第二文件系统数据的相关信息(其中可以包括remoteserver的文件系统信息及数据块信息)一一对比,如果两者不相同,则server端将比较结果反馈给agent。

可选地,该方法还可以包括:

当比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息相同时,server忽略该比较结果并且不执行向agent反馈该比较结果的操作。

在本发明实施例中,如果第一文件系统数据的相关信息和第二文件系统数据的相关信息两者相同,则server端不做操作,继续监听agent的下一次请求。

s103、agent根据该比较结果执行localserver和remoteserver之间的数据同步。

可选地,该方法还可以包括:在agent根据比较结果执行localserver和remoteserver之间的数据同步之前,agent将第一文件系统数据的相关信息和第二文件系统数据的相关信息中不相同的信息对应的数据块传输给server,以使server根据该数据块配置remoteserver的文件系统空间。

在本发明实施例中,agent根据server端反馈的比较结果信息,可以将不一致的数据块传送给server端。server端可以接收agent返回的数据块,写入remoteserver的文件系统。

可选地,agent根据比较结果执行localserver和remoteserver之间的数据同步包括:

agent在将数据块发送给server以后,实时监听并获取localserverr的第一文件系统日志journal信息,将第一文件系统journal信息传送给server;

server接收第一文件系统journal信息,并将第一文件系统journal信息的数据在remoteserver中回放,以对第一文件系统journal信息的数据进行同步复制,实现localserver和remoteserver之间的数据同步。

在本发明实施例中,agent实时监听和获取localserverr的文件系统journal(即第一文件系统journal信息),将该journal传送给server端。server获取该journal数据,并将该journal数据在remoteserver回放,将数据进行同步复制。

可选地,该方法还可以包括:agent维护关于localserver的文件系统的数据同步状态和数据改变记录的第一数据表;server维护关于remoteserver的文件系统的数据同步状态和数据改变记录的第二数据表,

当发生网络中断时,agent和server分别将网络中断起始到网络恢复时段内的数据变化记录到第一数据表和第二数据表中;

当网络恢复时,agent和server分别根据第一数据表和第二数据表中记录的内容进行数据同步。

在本发明实施例中,可以实现对异常情况的处理,agent和server均会维护一个关于自身文件系统同步状态和改变记录的数据表,即第一数据表和第二数据表;当发生网络中断时,agent和server会记录从中断起始到网络恢复时段的数据变化,当网络恢复时,只需要对比第一数据表和第二数据表中很少的数据即可从错误中恢复,减少数据恢复时间。

可选地,该方法还可以包括:预先设置数据缓冲区和数据同步时间间隔。

在本发明实施例中,为减少agent端负载,数据上报和数据发送可以保留一定大小的缓冲区和/或设置数据同步时间间隔,以根据实际情况灵活调整数据同步时间间隔。

本发明实施例方案通过md5值的对比,将localserver和remoteserver的文件系统的数据进行对比,在remoteserver执行主要的计算和对比工作,减小对localserver的性能影响。

本发明实施例方案通过文件系统数据写入日志的采集和回放,来同步localserver和remoteserver的数据文件,由于只需要进行日志的传输,并通过异步的方式来合并数据写入i/o(输入/输出)请求,减少了网络负载,使之可以在低质量网络环境中实现文件系统远程异步复制。

为了达到本发明实施例目的,本发明实施例还提供了一种文件系统远程数据同步实现系统1,需要说明的时,上述的方法实施例中的任何实施例均适用于该系统实施例中,在此不再一一赘述。如图3所示,该系统可以包括:本地服务器localserver11、同步代理agent12、远端服务器remoteserver13和数据保护服务器server14;

agent12,部署于localserver中,用于收集localserver的第一文件系统数据的相关信息,并将第一文件系统数据的相关信息和预设的数据比较算法传输给server;

server13,部署于remoteserver中,用于通过数据比较算法将第一文件系统数据的相关信息和自身的第二文件系统数据的相关信息进行比较,并在比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息不相同时,将比较结果反馈给agent;

agent12,还用于根据比较结果执行localserver和remoteserver之间的数据同步。

本发明实施例包括:通过本地服务器localserver中部署的同步代理agent收集localserver的第一文件系统数据的相关信息,并将第一文件系统数据的相关信息和预设的数据比较算法传输给远端服务器remoteserver中部署的数据保护服务器server;server通过数据比较算法将第一文件系统数据的相关信息和remoteserver的第二文件系统数据的相关信息进行比较,并在比较结果为第一文件系统数据的相关信息和第二文件系统数据的相关信息不相同时,将比较结果反馈给agent;agent根据该比较结果执行localserver和remoteserver之间的数据同步。通过该实施例方案,实现了在实时性要求不强,低质量网络下对文件系统数据的远程保护。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1