应用系统的备份恢复方法、装置及计算机可读存储介质与流程

文档序号:17695489发布日期:2019-05-17 21:28阅读:215来源:国知局
应用系统的备份恢复方法、装置及计算机可读存储介质与流程

本发明涉及大数据技术领域,尤其涉及一种应用系统的整体备份恢复方法、装置及计算机可读存储介质。



背景技术:

随着互联网的发展,现在的应用系统越做越大,越来越复杂,为了高可用高响应速度,很多大型系统都分割成了几个甚至几十上百个子系统或者微服务,每个子系统/微服务都拥有一个或者多个相同类型或者不同类型的数据库。这些子系统之间或多或少的存在着关联关系。不管是对各个关联子系统还是对某个子系统下面的数据库,在备份恢复的过程中,用户都希望所有相关的子系统及数据库之间能保持数据的一致性。

由于各个子系统或者数据库可能会部署在多个不同的主机上,传统备份方案对各个主机在同一时间分别做备份,由于各个主机时间不能保证绝对统一,再加上缓存等因素影响,数据一致性不能保证,且在恢复过程中,要对各个子系统分别作恢复操作,在大型应用中,一个系统可能涉及几百上千台主机,这个工作量很大,效率低下还容易出错。



技术实现要素:

本发明提供一种应用系统的备份恢复方法、装置及计算机可读存储介质,其主要目的在于解决大型应用系统备份数据的一致性,及大力提高整个系统备份恢复的效率。

为实现上述目的,本发明提供的一种应用系统的备份恢复方法,包括:

设置一个分布式存储系统作为一预设应用系统的后端存储系统;

将所述分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备,并将所述应用系统的各个子系统和数据库部署在对应应用主机的本地块设备上;

在所述分布式存储系统的管理端创建块设备组,并将所述分布式存储系统中的所有块设备添加到该块设备组中;

在执行数据备份时,对该块设备组执行一次性快照,形成一致性快照组;及

在执行数据恢复时,根据所述应用系统是否宕机的情况,采用克隆或者回滚方法将所述一致性快照组的数据恢复到所述应用系统的应用主机中。

可选地,所述将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机包括:

通过iscsi或者rbd技术将所述块设备共享给所述分布式存储的各个子系统的数据库所在的应用主机。

可选地,所述在所述分布式存储系统的管理端对所述块设备组执行一致性快照,形成一致性快照组,包括:

冻结块设备组中所有块设备的i/o操作;

将所有块设备的缓存数据写入磁盘,以释放缓存;

对所有块设备做快照;及

取消对块设备的i/o冻结。

可选地,所述在执行数据恢复时,根据所述应用系统是否宕机的情况,采用克隆或者回滚方法将所述一致性快照组的数据恢复到所述应用系统的应用主机中,包括:

在所述应用系统没有宕机的情况下,对待恢复的一致性快照组执行克隆操作,得到与所述应用系统的本地块设备的一一对应的副本,并将所有副本映射到新主机上,将所述应用系统的一个或者多个子系统的数据库部署到所述新主机的块设备副本上;

在所述应用系统宕机的情况下,在所有应用主机中取消所述应用系统中用到的所有块设备的映射,在所述分布式存储系统中对将要恢复的一致性快照组执行回滚操作,使所有块设备的数据恢复到同一时间点的状态,并在各个应用主机上对这些块设备重新产生映射,并启动所述应用系统。

可选地,所述应用系统的一个或者多个子系统或数据库包括:产品系统,客户系统,订单系统,价格系统,及评价系统。

此外,为实现上述目的,本发明还提供一种应用系统的备份恢复装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的应用系统的备份恢复程序,所述应用系统的备份恢复程序被所述处理器执行时实现如下步骤:

设置一个分布式存储系统作为一预设应用系统的后端存储系统;

将所述分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备,并将所述应用系统的各个子系统和数据库部署在对应应用主机的本地块设备上;

在所述分布式存储系统的管理端创建块设备组,并将所述分布式存储系统中的所有块设备添加到该块设备组中;

在执行数据备份时,对该块设备组执行一次性快照,形成一致性快照组;及

在执行数据恢复时,根据所述应用系统是否宕机的情况,采用克隆或者回滚方法将所述一致性快照组的数据恢复到所述应用系统的应用主机中。

可选地,所述将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机包括:

通过iscsi或者rbd技术将所述块设备共享给所述分布式存储的各个子系统的数据库所在的应用主机。

可选地,所述在所述分布式存储系统的管理端对所述块设备组执行一致性快照,形成一致性快照组,包括:

冻结块设备组中所有块设备的i/o操作;

将所有块设备的缓存数据写入磁盘,以释放缓存;

对所有块设备做快照;及

取消对块设备的i/o冻结。

可选地,所述在执行数据恢复时,根据所述应用系统是否宕机的情况,采用克隆或者回滚方法将所述一致性快照组的数据恢复到所述应用系统的应用主机中,包括:

在所述应用系统没有宕机的情况下,对待恢复的一致性快照组执行克隆操作,得到与所述应用系统的本地块设备的一一对应的副本,并将所有副本映射到新主机上,将所述应用系统的一个或者多个子系统的数据库部署到所述新主机的块设备副本上;

在所述应用系统宕机的情况下,在所有应用主机中取消所述应用系统中用到的所有块设备的映射,在所述分布式存储系统中对将要恢复的一致性快照组执行回滚操作,使所有块设备的数据恢复到同一时间点的状态,并在各个应用主机上对这些块设备重新产生映射,并启动所述应用系统。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有应用系统的备份恢复程序,所述应用系统的备份恢复程序可被一个或者多个处理器执行,以实现如上所述的应用系统的备份恢复方法的步骤。

本发明提出的应用系统的备份恢复方法、装置及计算机可读存储介质将应用系统的分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备;在数据备份时,在所述分布式存储系统的管理端对所述块设备组执行一致性快照,以及在数据恢复时,根据所述应用系统是否宕机,对所述一致性快照组执行克隆或者回滚操作,因此,解决大型应用系统备份数据的一致性,及大力提高整个系统备份恢复的效率。

附图说明

图1为本发明一实施例提供的应用系统的备份恢复方法的流程示意图;

图2为本发明一实施例提供的应用系统的备份恢复装置的内部结构示意图;

图3为本发明一实施例提供的应用系统的备份恢复装置中应用系统的备份恢复程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种应用系统的备份恢复方法。参照图1所示,为本发明一实施例提供的应用系统的备份恢复方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,应用系统的备份恢复方法包括:

s1、设置一个分布式存储系统作为一预设应用系统的后端存储系统。

本案所述分布式存储系统是一种数据存储技术,通过网络使用连接所述网络的企业或者个人的每台电脑的磁盘空间中的存储资源,并将这些分散的存储资源构成一个虚拟的存储设备。在所述分布式存储系统中,数据是分散的存储在系统的各个角落。

本案所述的分布式存储系统可以是ceph系统等。

所述ceph可以将多台服务器组成一个超大集群,把这些机器中的磁盘资源整合到一块儿,形成一个大的资源池(pb级别),然后按需分配给应用使用。ceph的底层实现是rados,rados是由c++写的,但是它向外界暴露了调用接口,即librados,应用程序只需要调用librados的接口,就可以操纵ceph了。这其中,radosgw用于对象存储,rbd用于块存储,它们都属于librados。cephfs是内核态程序,向外界提供了posix接口,用户可以通过客户端直接挂载使用。每台服务器都有好几块磁盘(sda、sdb、sdc等),磁盘又可以进一步分区(sda1、sda2等)。ceph中最基本的进程就是osd(对象存储设备),每个磁盘对应一个osd。如果用户通过客户端想要存储一个文件,那么在rados中,该文件实际上会分为一个个4m块大小的对象。每个文件都一个文件id(例如a,于是,这些对象的id就是a0、a1、a2等)。然而在ceph分布式储存系统中,有成千上万个对象,光遍历就要花很长的时间,所以对象会先通过hash-取模运算,存放到一个pg(placegroup)中,pg相当于数据库中的索引(pg的数量是固定的,不会随着osd的增加或者删除而改变),这样一来,只需要首先定位到pg的位置,然后在pg中查询对象即可,大大提高了查询的效率。之后,pg中的对象又会根据设置的副本数量进行复制,并根据crush算法存储到osd节点上。ceph中的monitor(至少有3个)用于维护和监控整个集群的状态,每个monitor都有一个clustermap,只要有这个map,就能够清楚知道每个对象存储在什么位置了。客户端会先tcp连接到monitor,从中获取clustermap,并在客户端进行计算,当知道对象的位置后,再直接与osd通信(去中心化的思想)。osd节点平常会向monitor节点发送简单心跳,只有当添加、删除或者出现异常状况时,才会自动上报信息给monitor。在ceph中,元数据也是存放在osd中的,mds只相当于元数据的缓存服务器。

在ceph中,如果要写数据,只能向主osd写,然后再由主osd向从osd同步地写,只有当从osd返回结果给主osd后,主osd才会向客户端报告写入完成的消息。如果要读数据,不会使用读写分离,而是也需要先向主osd发请求,以保证数据的强一致性。

本方案中所述预设的应用系统可以是一个大型的企业级应用系统,如一个电商系统。该应用系统可以分割成几个甚至几十上百个子系统或数据库,如:产品系统,客户系统,订单系统,价格系统,评价系统等。这些子系统的数据存储在所述的分布式存储系统。

s2、将所述分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备。

本案所述块设备是i/o设备中的一类,是将信息存储在一个固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。所述i/o设备可以是,例如硬盘、u盘、sd卡等。

本发明较佳实施例将所述分布式存储划分出多个块设备,并将这些块设备通过iscsi,rbd等技术共享给所述分布式存储的各个子系统的数据库所在的应用主机。

所述iscsi(internetsmallcomputersysteminterface,小型计算机系统接口)技术是一种能够把scsi接口与以太网技术相结合的存储技术,实现了物理硬盘设备与tcp/tp网络传输协议的相互结合,使得用户可以通过互联网方便的获取到远程机房提供的共享存储资源。iscsi可以克服直接连接存储的局限性,实现跨不同服务器共享存储资源,因此可以在不停机状态下扩充存储容量。

所述rbd(radosblockdevice,块设备)通过差量文件的方式定期将数据备份到灾备中心,当主数据中心发生故障时,从灾备中心恢复最近的备份数据并重启相应的虚拟机,最大程度降低灾难时的数据恢复时间。应用主机将分布式存储系统共享出来的块设备映射为本地块设备,这样这个块设备就可以当做本地设备一样使用了:如,创建文件系统部署数据库等。

s3、将所述应用系统的各个子系统和数据库部署在对应应用主机的本地块设备上。

因此,本案中整个应用系统使用了一个统一的后端存储。

s4、在所述分布式存储系统的管理端创建块设备组,并将所述分布式存储系统中的所有块设备添加到该块设备组中。

本发明在数据备份之前,在分布式存储系统里,创建一个块设备组(group),将所述应用系统中的各个子系统和数据库用到的所有的块设备添加到该块设备组中。

s5、执行数据备份时,对该块设备组执行一次性快照,形成一致性快照组。

本发明较佳实施例中,所述一致性快照的步骤如下:

1.冻结块设备组中所有块设备的i/o操作;

2.将所有块设备的缓存数据写入磁盘,以释放缓存;;

3.对所有块设备做快照;所述快照是指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品;及

4.取消对块设备的i/o冻结。

由于快照只是对元数据(metadata)打一个标签,没有额外的i/o操作,因此,本案在数据备份时,速度相当快,整个过程只需毫秒级,对上层应用无感。此外,由于是在分布式存储系统的一个原子操作中完成对整个应用系统中所有用到的块设备做的快照操作,所以能保证各个子系统和数据库的数据一致性。所述原子操作是指不可分割开的操作,该操作是在同一个cpu时间片中完成。

s6、在执行数据恢复时,判断所述应用系统是否宕机。

如果所述应用系统没有宕机,则执行下述的s7。否则,如果所述应用系统宕机,则执行s8。

s7、在所述应用系统没有宕机的情况下,对将要恢复的一致性快照组执行克隆操作,得到对所述应用系统所有块设备的一一对应的副本,并将所有副本映射到新主机上,将所述应用系统的各个子系统的数据库部署到这些新主机的块设备副本上。

用一批新的主机,将所有设备副本映射到相应的主机上,然后将各个子系统和数据库部署到这些主机的块设备副本上;这样整个大型应用系统就能运行起来,经过验证确认应用系统运行正常后再将系统切换到刚恢复的系统中来。

s8、在所述应用系统宕机的情况下,在所有应用主机中取消所述应用系统中用到的所有块设备的映射,在分布式存储系统中对将要恢复的一致性快照组做回滚操作,使所有块设备的数据恢复到同一时间点的状态,并在各个应用主机上对这些块设备重新做映射并启动所述应用系统。

所述回滚操作是指:由于程序或数据处理错误,而将程序或数据恢复到上一次正确状态的行为。在各个应用主机上对这些块设备重新做映射并启动应用,这样整个应用系统的状态就恢复出来了。而且,整个操作流程可以写一个脚本执行,保证执行的可靠性并减少误操作及提高效率。

发明还提供一种应用系统的备份恢复装置。参照图2所示,为本发明一实施例提供的应用系统的备份恢复装置的内部结构示意图。

在本实施例中,所述一种应用系统的备份恢复装置1可以是一个服务器或者服务器集群等。该应用系统的备份恢复装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是应用系统的备份恢复装置1的内部存储单元,例如该应用系统的备份恢复装置1的硬盘。存储器11在另一些实施例中也可以是应用系统的备份恢复装置1的外部存储设备,例如应用系统的备份恢复装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括应用系统的备份恢复装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于应用系统的备份恢复装置1的应用软件及各类数据,例如应用系统的备份恢复程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行应用系统的备份恢复程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在应用系统的备份恢复装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-14以及应用系统的备份恢复程序01的应用系统的备份恢复装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对应用系统的备份恢复装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的装置1实施例中,存储器11中存储有应用系统的备份恢复程序01;处理器12执行存储器11中存储的应用系统的备份恢复程序01时实现如下步骤:

步骤一、设置一个分布式存储系统作为一预设应用系统的后端存储系统。

本案所述分布式存储系统是一种数据存储技术,通过网络使用连接所述网络的企业或者个人的每台电脑的磁盘空间中的存储资源,并将这些分散的存储资源构成一个虚拟的存储设备。在所述分布式存储系统中,数据是分散的存储在系统的各个角落。

本案所述的分布式存储系统可以是ceph系统等。

所述ceph可以将多台服务器组成一个超大集群,把这些机器中的磁盘资源整合到一块儿,形成一个大的资源池(pb级别),然后按需分配给应用使用。ceph的底层实现是rados,rados是由c++写的,但是它向外界暴露了调用接口,即librados,应用程序只需要调用librados的接口,就可以操纵ceph了。这其中,radosgw用于对象存储,rbd用于块存储,它们都属于librados。cephfs是内核态程序,向外界提供了posix接口,用户可以通过客户端直接挂载使用。每台服务器都有好几块磁盘(sda、sdb、sdc等),磁盘又可以进一步分区(sda1、sda2等)。ceph中最基本的进程就是osd(对象存储设备),每个磁盘对应一个osd。如果用户通过客户端想要存储一个文件,那么在rados中,该文件实际上会分为一个个4m块大小的对象。每个文件都一个文件id(例如a,于是,这些对象的id就是a0、a1、a2等)。然而在ceph分布式储存系统中,有成千上万个对象,光遍历就要花很长的时间,所以对象会先通过hash-取模运算,存放到一个pg(placegroup)中,pg相当于数据库中的索引(pg的数量是固定的,不会随着osd的增加或者删除而改变),这样一来,只需要首先定位到pg的位置,然后在pg中查询对象即可,大大提高了查询的效率。之后,pg中的对象又会根据设置的副本数量进行复制,并根据crush算法存储到osd节点上。ceph中的monitor(至少有3个)用于维护和监控整个集群的状态,每个monitor都有一个clustermap,只要有这个map,就能够清楚知道每个对象存储在什么位置了。客户端会先tcp连接到monitor,从中获取clustermap,并在客户端进行计算,当知道对象的位置后,再直接与osd通信(去中心化的思想)。osd节点平常会向monitor节点发送简单心跳,只有当添加、删除或者出现异常状况时,才会自动上报信息给monitor。在ceph中,元数据也是存放在osd中的,mds只相当于元数据的缓存服务器。

在ceph中,如果要写数据,只能向主osd写,然后再由主osd向从osd同步地写,只有当从osd返回结果给主osd后,主osd才会向客户端报告写入完成的消息。如果要读数据,不会使用读写分离,而是也需要先向主osd发请求,以保证数据的强一致性。

本方案中所述预设的应用系统可以是一个大型的企业级应用系统,如一个电商系统。该应用系统可以分割成几个甚至几十上百个子系统或数据库,如:产品系统,客户系统,订单系统,价格系统,评价系统等。这些子系统的数据存储在所述的分布式存储系统。

步骤二、将所述分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备。

本案所述块设备是i/o设备中的一类,是将信息存储在一个固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。所述i/o设备可以是,例如硬盘、u盘、sd卡等。

本发明较佳实施例将所述分布式存储划分出多个块设备,并将这些块设备通过iscsi,rbd等技术共享给所述分布式存储的各个子系统的数据库所在的应用主机。

所述iscsi(internetsmallcomputersysteminterface,小型计算机系统接口)技术是一种能够把scsi接口与以太网技术相结合的存储技术,实现了物理硬盘设备与tcp/tp网络传输协议的相互结合,使得用户可以通过互联网方便的获取到远程机房提供的共享存储资源。iscsi可以克服直接连接存储的局限性,实现跨不同服务器共享存储资源,因此可以在不停机状态下扩充存储容量。

所述rbd(radosblockdevice,块设备)通过差量文件的方式定期将数据备份到灾备中心,当主数据中心发生故障时,从灾备中心恢复最近的备份数据并重启相应的虚拟机,最大程度降低灾难时的数据恢复时间。应用主机将分布式存储系统共享出来的块设备映射为本地块设备,这样这个块设备就可以当做本地设备一样使用了:如,创建文件系统部署数据库等。

步骤三、将所述应用系统的各个子系统和数据库部署在对应应用主机的本地块设备上。

因此,本案中整个应用系统使用了一个统一的后端存储。

步骤四、在所述分布式存储系统的管理端创建块设备组,并将所述分布式存储系统中的所有块设备添加到该块设备组中。

本发明在数据备份之前,在分布式存储系统里,创建一个块设备组(group),将所述应用系统中的各个子系统和数据库用到的所有的块设备添加到该块设备组中。

步骤五、执行数据备份时,对该块设备组执行一次性快照,形成一致性快照组。

本发明较佳实施例中,所述一致性快照的步骤如下:

1.冻结块设备组中所有块设备的i/o操作;

2.将所有块设备的缓存数据写入磁盘,以释放缓存;;

3.对所有块设备做快照;所述快照是指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品;及

4.取消对块设备的i/o冻结。

由于快照只是对元数据(metadata)打一个标签,没有额外的i/o操作,因此,本案在数据备份时,速度相当快,整个过程只需毫秒级,对上层应用无感。此外,由于是在分布式存储系统的一个原子操作中完成对整个应用系统中所有用到的块设备做的快照操作,所以能保证各个子系统和数据库的数据一致性。所述原子操作是指不可分割开的操作,该操作是在同一个cpu时间片中完成。

步骤六、在执行数据恢复时,判断所述应用系统是否宕机。

在所述应用系统没有宕机的情况下,对将要恢复的一致性快照组执行克隆操作,得到对所述应用系统所有块设备的一一对应的副本,并将所有副本映射到新主机上,将所述应用系统的各个子系统的数据库部署到这些新主机的块设备副本上。

用一批新的主机,将所有设备副本映射到相应的主机上,然后将各个子系统和数据库部署到这些主机的块设备副本上;这样整个大型应用系统就能运行起来,经过验证确认应用系统运行正常后再将系统切换到刚恢复的系统中来。

在所述应用系统宕机的情况下,在所有应用主机中取消所述应用系统中用到的所有块设备的映射,在分布式存储系统中对将要恢复的一致性快照组做回滚操作,使所有块设备的数据恢复到同一时间点的状态,并在各个应用主机上对这些块设备重新做映射并启动所述应用系统。

所述回滚操作是指:由于程序或数据处理错误,而将程序或数据恢复到上一次正确状态的行为。在各个应用主机上对这些块设备重新做映射并启动应用,这样整个应用系统的状态就恢复出来了。而且,整个操作流程可以写一个脚本执行,保证执行的可靠性并减少误操作及提高效率。

可选地,在其他实施例中,应用系统的备份恢复程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述应用系统的备份恢复程序在应用系统的备份恢复装置中的执行过程。

例如,参照图3所示,为本发明应用系统的备份恢复装置一实施例中的应用系统的备份恢复程序的程序模块示意图,该实施例中,所述应用系统的备份恢复程序可以被分割为存储设置模块10、数据备份模块20以及数据恢复模块30,示例性地:

所述存储设置模块10用于:设置一个分布式存储系统作为一预设应用系统的后端存储系统,将所述分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备,并将所述应用系统的各个子系统和数据库部署在对应应用主机的本地块设备上,在所述分布式存储系统的管理端创建块设备组,并将所述分布式存储系统中的所有块设备添加到该块设备组中。

所述数据备份模块20用于:在执行数据备份时,对该块设备组执行一次性快照,形成一致性快照组。

所述数据恢复模块30用于:在执行数据恢复时,根据所述应用系统是否宕机的情况,采用克隆或者回滚方法将所述一致性快照组的数据恢复到所述应用系统的应用主机中。

上述存储设置模块10、数据备份模块20、数据恢复模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有应用系统的备份恢复程序,所述应用系统的备份恢复程序可被一个或多个处理器执行,以实现如下操作:

设置一个分布式存储系统作为一预设应用系统的后端存储系统;

将所述分布式存储系统划分出多个块设备,并将所述块设备共享给所述应用系统的一个或者多个子系统或数据库所在的应用主机,控制所述应用主机将所述块设备映射为本地块设备,并将所述应用系统的各个子系统和数据库部署在对应应用主机的本地块设备上;

在所述分布式存储系统的管理端创建块设备组,并将所述分布式存储系统中的所有块设备添加到该块设备组中;

在执行数据备份时,对该块设备组执行一次性快照,形成一致性快照组;及

在执行数据恢复时,根据所述应用系统是否宕机的情况,采用克隆或者回滚方法将所述一致性快照组的数据恢复到所述应用系统的应用主机中。

本发明计算机可读存储介质具体实施方式与上述应用系统的备份恢复装置和方法各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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