实现事务日志镜像备份的方法及装置与流程

文档序号:14672829发布日期:2018-06-12 20:21阅读:159来源:国知局
本发明涉及数据存储领域,尤其涉及一种实现事务日志镜像备份的方法及装置。
背景技术
::事务日志型存储系统是指系统的变更都通过日志记录下来,这主要是一种出于安全策略的做法;当系统异常时可以通过文件系统记录的日志来重做事务恢复数据。开源的文件系统(ZFS,ZettabyteFileSystem)是基于事务日志型的文件系统,文件系统在内存中的每次变更定义为一个事务,ZFS日志在内存中保存了导致ZFS系统发生变更的系统调用的事务记录。当系统异常时,如果变更ZFS系统的事务没有及时同步到永久存储介质时,系统可以通过ZFS系统的日志使得系统可以重做这些事务,从而保证了数据不会出现丢失的情况。当往事务日志型存储系统中写入数据,并且要求是采用同步写的方式时,事务日志型存储系统只需要将这次写事务的日志记录下来,并且将日志写到固定存储介质上去,然后给外部返回写入成功,这就是事务日志型存储系统的同步写语义。即使写到内存中的数据在出现故障时没有被同步到磁盘,因为数据写入时记录了日志,系统还可以在日志中将数据找到,这是事务日志型存储系统的同步语义。对于一个文件系统来说,如果应用于高数据可靠性的场景下时,通常写入的数据都是采用同步写的方式。而同步写因为失去了高速缓存装置的加速作用性能一般非常低,同步写通常意味着数据必须同步写到稳定的存储介质上才给用户返回成功,同步写入数据时所使用的固定存储介质决定了同步写的性能。如图1所示,可移植操作系统接口(posix,PortableOperatingSystemInterface)标准下的文件系统接口或者卷级块设备接口即文件系统(posix)或者卷级块设备接口;系统外部访问接口,外部请求每次对文件系统的更改都会产生一个事务;文件系统事务日志模块,负责产生并记录事务日志;数据管理单元,负责组织管理系统数据结构;存储池,管理所有物理存储空间。事务日志型存储系统中,采用同步写的方式时,两个可运行同一事务日志型存储系统的服务器之间共享后端的磁盘,产生事务时生成的日志通过意图日志模块被保存在存储池的数据盘即后端磁盘,当运行事务日志型存储系统的服务器A故障时,可运行同一事务日志型存储系统的服务器B根据存储在后端的磁盘中的日志,可恢复该日志对应的事务,但是这种情况下日志写到后端的磁盘的性能,决定了当前系统同步写的性能。将日志保存在后端的磁盘影响了系统的运行速度。技术实现要素:为了克服将日志保存到后端的磁盘影响系统的运行速度的问题,本发明提供了一种实现事务日志镜像备份的方法及装置。为了解决上述技术问题,本发明采用如下技术方案:依据本发明的一个方面,提供了一种实现事务日志镜像备份的方法,应用于可运行同一事务日志型存储系统的多个服务器,该方法包括:运行所述事务日志型存储系统的第一服务器,记录所述事务日志型存储系统中的第一事务产生时生成的第一事务日志;该第一服务器将所述第一事务日志发送至预设的第一掉电保护内存,其中,所述第一掉电保护内存位于该第一服务器;该第一服务器将所述第一掉电保护内存保存的所述第一事务日志镜像备份至第二掉电保护内存,其中,所述第二掉电保护内存位于可运行同一事务日志型存储系统的第二服务器。可选的,所述第一掉电保护内存和第二掉电保护内存均为非易失性随机访问存储器。可选的,所述第一掉电保护内存和所述第二掉电保护内存的大小相同。依据本发明的又一个方面,提供了一种实现事务日志镜像备份的方法,应用于可运行同一事务日志型存储系统的多个服务器,该方法包括:可运行所述事务日志型存储系统的第二服务器,接收运行所述事务日志型存储系统的第一服务器发送的第一事务日志,其中,所述第一事务日志为所述事务日志型存储系统中第一事务产生时生成的,并且存储于该第一服务器的第一掉电保护内存。该第二服务器将所述第一事务日志保存在第二掉电保护内存,其中,所述第二掉电保护内存位于该第二服务器;该第二服务器检测到所述第一服务器故障时,根据所述第二掉电保护内存中保存的第一事务日志,在本地恢复所述第一服务器在发生故障前的内存数据,并运行所述事务日志型存储系统。可选的,所述第一掉电保护内存和第二掉电保护内存均为非易失性随机访问存储器。可选的,所述第一掉电保护内存和所述第二掉电保护内存的大小相同。依据本发明的又一个方面,提供了一种实现事务日志镜像备份的装置,应用于可运行同一事务日志型存储系统的多个服务器,该装置包括:日志生成模块,用于运行所述事务日志型存储系统的第一服务器,记录所述事务日志型存储系统中的第一事务产生时生成的第一事务日志;发送模块,用于该第一服务器将所述第一事务日志发送至预设的第一掉电保护内存,其中,所述第一掉电保护内存位于该第一服务器;镜像模块,用于该第一服务器将所述第一掉电保护内存保存的所述第一事务日志镜像备份至第二掉电保护内存,其中,所述第二掉电保护内存位于可运行同一事务日志型存储系统的第二服务器。可选的,所述第一掉电保护内存和第二掉电保护内存均为非易失性随机访问存储器。可选的,所述第一掉电保护内存和所述第二掉电保护内存的大小相同。依据本发明的又一个方面,提供了一种实现事务日志镜像备份的装置,应用于可运行同一事务日志型存储系统的多个服务器,该装置包括:接收模块,用于可运行所述事务日志型存储系统的第二服务器,接收运行所述事务日志型存储系统的第一服务器发送的第一事务日志,其中,所述第一事务日志为所述事务日志型存储系统中第一事务产生时生成的,并且存储于该第一服务器的第一掉电保护内存;存储模块,用于该第二服务器将所述第一事务日志保存在第二掉电保护内存,其中,所述第二掉电保护内存位于该第二服务器;处理模块,用于该第二服务器检测到所述第一服务器故障时,根据所述第二掉电保护内存中保存的第一事务日志,在本地恢复所述第一服务器在发生故障前的内存数据,并运行所述事务日志型存储系统。可选的,所述第一掉电保护内存和第二掉电保护内存均为非易失性随机访问存储器。可选的,所述第一掉电保护内存和所述第二掉电保护内存的大小相同。本发明的有益效果是:本发明将可恢复第一事务的第一事务日志镜像备份至第二掉电保护内存,当第一服务器故障时,通过切换至第二服务器,并根据位于第二掉电保护内存的第一事务日志恢复第一事务。第一掉电内存和第二掉电内存分别位于第一服务器和第二服务器,将第一事务日志存储于第一掉电内存和第二掉电内存而非后端磁盘,提高了系统运行的速度。附图说明图1表示现有技术中可运行事务日志型存储系统的服务器的示意图;图2表示本发明实施例实现事务日志镜像备份的方法的流程图之一;图3表示本发明实施例实现事务日志镜像备份的方法的流程图之二;图4表示本发明实施例实现事务日志镜像备份的方法的示意图;图5表示本发明实施例实现事务日志镜像备份的装置的示意图之一;图6表示本发明实施例实现事务日志镜像备份的装置的示意图之二。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。如图2所示,为本发明实施例实现事务日志镜像备份的方法的流程图之一,本发明实施例应用于可运行同一事务日志型存储系统的多个服务器,这里,事务日志型存储系统可以是ZFS系统,当然也不仅限于此。该实施例包括以下步骤:步骤S100、运行事务日志型存储系统的第一服务器,记录事务日志型存储系统中的第一事务产生时生成的第一事务日志。步骤S200、该第一服务器将第一事务日志发送至预设的第一掉电保护内存,其中,第一掉电保护内存位于该第一服务器。这里,第一服务器通过意图日志模块将第一事务日志保存至预设的第一掉电保护内存,而非将第一事务日志保存保存至存储池中的磁盘中,大大提高了系统的运行速度。第一掉电保护内存有断电保护的功能,当系统断电时,通过系统自身所带电源来完成第一事务日志的存储,该第一掉电保护内存可以是非易失性随机访问存储器(NVRAM,Non-VolatileRandomAccessMemory),也可以是掉电时通过备用电源将内存数据备份到固态硬盘中,系统下次上电是再将之前掉电备份在固态硬盘中的数据再次读入内存当中,本发明实施例采用的为NVRAM。步骤S300、该第一服务器将第一掉电保护内存保存的第一事务日志镜像备份至第二掉电保护内存,其中,第二掉电保护内存位于可运行同一事务日志型存储系统的第二服务器。这里,镜像备份采用的是现有技术,例如远程过程调用技术。第一掉电内存和第二掉电内存的大小相同,保证了第二掉电内存也可以完全存储第一事务日志。应当说明的是,本发明实施例通过在第一服务器中增加NVRAM,用以存储第一事务日志,提高了系统运行的速度,而且不需要占用后端磁盘。如图3所示,为本发明实施例实现事务日志镜像备份的方法的流程图之二,本发明实施例应用于可运行同一事务日志型存储系统的多个服务器,这里,事务日志型存储系统可以是ZFS系统,当然也不仅限于此。该实施例包括以下步骤:步骤S400、可运行事务日志型存储系统的第二服务器,接收运行事务日志型存储系统的第一服务器发送的第一事务日志,其中,第一事务日志为事务日志型存储系统中第一事务产生时生成的,并且存储于该第一服务器的第一掉电保护内存。步骤S500、该第二服务器将第一事务日志保存在第二掉电保护内存,其中,第二掉电保护内存位于该第二服务器。步骤S600、该第二服务器检测到第一服务器故障时,根据第二掉电保护内存中保存的第一事务日志,在本地恢复第一服务器在发生故障前的内存数据,并运行事务日志型存储系统。应当说明的是,本发明实施例将可恢复第一事务的第一事务日志镜像备份至第二掉电保护内存,当第一服务器故障时,通过切换至第二服务器,并根据位于第二掉电保护内存的第一事务日志可恢复第一事务,从而也保证了数据写入的可靠性。这里,服务器之间的切换采用现有技术,例如双机热备切换。如图4所示,为本发明实施例实现事务日志镜像备份的方法的示意图;与图1不同的是,图4中的服务器A和服务器B中均设置有NVRAM,生成的第一事务日志通过意图日志模块被保存在NVRAM,而非后端磁盘中,大大提高了系统运行的速度。如图5所示,为本发明实施例实现事务日志镜像备份的装置的示意图之一,本发明实施例应用于可运行同一事务日志型存储系统的多个服务器,包括:日志生成模块501、发送模块502和镜像模块503;其中,日志生成模块501,用于运行事务日志型存储系统的第一服务器,记录事务日志型存储系统中的第一事务产生时生成的第一事务日志;发送模块502,用于该第一服务器将第一事务日志发送至预设的第一掉电保护内存,其中,第一掉电保护内存位于该第一服务器;镜像模块503,用于该第一服务器将第一掉电保护内存保存的第一事务日志镜像备份至第二掉电保护内存,其中,第二掉电保护内存位于可运行同一事务日志型存储系统的第二服务器。这里,本发明实施例通过在第一服务器中增加NVRAM,用以存储第一事务日志,提高了系统运行的速度,而且不需要占用后端磁盘。第一掉电保护内存有断电保护的功能,当系统断电时,通过系统自身所带电源来完成第一事务日志的存储,该第一掉电保护内存可以是NVRAM,也可以是由软件实现的,本发明实施例采用的为NVRAM。镜像备份采用的是现有技术,例如远程过程调用技术。第一掉电内存和第二掉电内存的大小相同,保证了第二掉电内存也可以完全存储第一事务日志。如图6所示,为本发明实施例实现事务日志镜像备份的装置的示意图之二,本发明实施例应用于可运行同一事务日志型存储系统的多个服务器,包括:接收模块601、存储模块602和处理模块603;其中,接收模块601,用于可运行事务日志型存储系统的第二服务器,接收运行事务日志型存储系统的第一服务器发送的第一事务日志,其中,第一事务日志为事务日志型存储系统中第一事务产生时生成的,并且存储于该第一服务器的第一掉电保护内存;存储模块602,用于该第二服务器将第一事务日志保存在第二掉电保护内存,其中,第二掉电保护内存位于该第二服务器;处理模块603,用于该第二服务器检测到第一服务器故障时,根据第二掉电保护内存中保存的第一事务日志,在本地恢复第一服务器在发生故障前的内存数据,并运行事务日志型存储系统。应当说明的是,本发明实施例将可恢复第一事务的第一事务日志镜像备份至第二掉电保护内存,当第一服务器故障时,通过切换至第二服务器,并根据位于第二掉电保护内存的第一事务日志可恢复第一事务,从而也保证了数据写入的可靠性。这里,服务器之间的切换采用现有技术,例如双机热备切换。以上所述的是本发明的优选实施方式,应当指出对于本
技术领域
:的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1