信息的备份方法、装置及设备与流程

文档序号:16207660发布日期:2018-12-08 07:19阅读:180来源:国知局
信息的备份方法、装置及设备与流程

本公开涉及信息备份领域,尤其涉及信息的备份方法、装置及设备。

背景技术

容器(container)是一种轻量级的虚拟化技术,以实现操作系统和应用程序的打包、运行和资源隔离。容器有多租户、轻量化、一致性以及容易迁移等优点,然而,在宿主机发生故障或者用户的误操作,都会导致容器实例意外终止,甚至造成信息丢失。

在相关技术中,为了解决容器中信息会发生丢失的问题,通常使用docker镜像对容器进行备份和恢复。具体地,docker镜像是多层存储,每一层是在前一层的基础上进行的修改,容器的文件系统也是多层存储,它以镜像为基础层,在其基础上加一层作为容器运行时的存储层,其中,用户在容器内对文件所做的修改都会被记录于容器的存储层中。docker提供了根据容器制作镜像的机制,即使用dockercommit命令,可以将容器的存储层进行保存以作为镜像,也即在原有镜像的基础上,再叠加上容器的存储层,构成新的镜像,并将新的镜像放到私有仓库中存储,完成容器的备份。另外,利用存储的新的镜像创建新的容器,可以实现容器的恢复,以避免在容器实例意外终止时,信息会发生丢失的现象。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种信息的备份方法、装置及设备。

根据本公开实施例的第一方面,提供一种信息的备份方法,包括:

接收用户通过终端设备触发的信息备份指令;

根据所述信息备份指令,对待备份信息创建快照;所述待备份信息包括容器内的数据以及如下信息中的至少一项:所述容器内运行的进程的进程信息、用户在所述容器中所执行的操作记录或所述容器挂载的数据卷中的数据;

将所述快照进行备份,获得备份信息。

可选地,若所述待备份信息包括所述容器内运行的进程的进程信息;

所述根据所述信息备份指令,对待备份信息创建快照,包括:

根据所述信息备份指令,查询所述容器内所有运行的进程,将所述进程的进程信息保存到进程日志文件中;所述进程信息包括用户信息、启动命令和进程启动参数;

对所述进程日志文件创建快照。

可选地,若所述待备份信息包括用户在所述容器中所执行的操作记录;

所述根据所述信息备份指令,对待备份信息创建快照,包括:

根据所述信息备份指令,查询用户在预设时间段内在所述容器中所执行的操作记录,将所述操作记录保存到操作日志文件中;

对所述操作日志文件创建快照。

可选地,所述将所述快照进行备份包括:

将所述快照存储至云端服务器中。

可选地,所述方法还包括:

根据所述备份信息,生成备份元文件,所述备份元文件中包括时间信息和地址信息,所述时间信息用于指示所述备份信息的备份时间,所述地址信息包括所述备份信息在所述云端服务器中的地址信息;

将所述备份元文件存储至所述云端服务器中。

根据本公开实施例的第二方面,提供一种信息的恢复方法,包括:

接收用户通过终端设备触发的信息恢复指令;

根据所述信息恢复指令,获取备份信息,所述备份信息包括第一容器内的数据以及如下信息中的至少一项:所述第一容器内运行的进程的信息、用户在所述第一容器中所执行的操作记录或所述第一容器挂载的数据卷中的数据;

对所述备份信息进行恢复。

可选地,所述备份信息包括第一容器内的数据;

所述对所述备份信息进行恢复,包括:

根据所述第一容器内的数据,创建第二容器。

可选地,所述备份信息包括所述第一容器内运行的进程的信息;

所述对所述备份信息进行恢复,包括:

从所述备份信息中获取进程日志文件;

根据所述进程日志文件中的进程信息,在所述第二容器内启动进程,所述进程信息包括用户信息、启动命令和进程启动参数。

可选地,所述备份信息包括用户在所述第一容器中所执行的操作记录;

所述对所述备份信息进行恢复,包括:

接收用户通过所述终端设备触发的操作记录恢复指令;

根据所述操作记录恢复指令,从所述备份信息中获取操作日志文件;

根据所述操作日志文件中的操作记录,在所述第二容器内执行所述操作记录对应的操作。

可选地,所述接收用户通过终端设备触发的信息恢复指令之前,还包括:

接收用户通过终端设备发送的请求消息;

根据所述请求消息,向所述云端服务器发送查询消息,所述查询消息用于指示所述云端服务器查询备份元文件,所述备份元文件中包括时间信息和地址信息,所述时间信息用于指示所述备份信息的备份时间,所述地址信息包括所述备份信息在所述云端服务器中的地址信息;

接收所述云端服务器发送的至少一个备份元文件,并通过终端设备向用户显示所述至少一个备份元文件;

对应的,所述信息恢复指令包括用户从至少一个备份元文件中确定出的目标备份元文件所包括的时间信息;

对应的,所述根据所述信息恢复指令,获取备份信息,包括:

根据所述信息恢复指令中的时间信息,从所述云端服务器中读取所述时间信息对应的备份信息。

根据本公开实施例的第三方面,提供一种信息的备份装置,包括:

接收模块,被配置为接收用户通过终端设备触发的信息备份指令;

创建模块,被配置为根据所述信息备份指令,对待备份信息创建快照;所述待备份信息包括容器内的数据以及如下信息中的至少一项:所述容器内运行的进程的进程信息、用户在所述容器中所执行的操作记录或所述容器挂载的数据卷中的数据;

备份模块,被配置为将所述快照进行备份,获得备份信息。

可选地,若所述待备份信息包括所述容器内运行的进程的进程信息;

所述创建模块,包括:

第一查询子模块,被配置为根据所述信息备份指令,查询所述容器内所有运行的进程,将所述进程的进程信息保存到进程日志文件中;所述进程信息包括用户信息、启动命令和进程启动参数;

第一创建子模块,被配置为对所述进程日志文件创建快照。

可选地,若所述待备份信息包括用户在所述容器中所执行的操作记录;

所述创建模块,包括:

第二查询子模块,被配置为根据所述信息备份指令,查询用户在预设时间段内在所述容器中所执行的操作记录,将所述操作记录保存到操作日志文件中;

第二创建子模块,被配置为对所述操作日志文件创建快照。

可选地,所述备份模块,包括:

存储子模块,被配置为将所述快照存储至云端服务器中。

可选地,所述装置还包括:

生成模块,被配置为根据所述备份信息,生成备份元文件,所述备份元文件中包括时间信息和地址信息,所述时间信息用于指示所述备份信息的备份时间,所述地址信息包括所述备份信息在所述云端服务器中的地址信息;

存储模块,被配置为将所述备份元文件存储至所述云端服务器中。

根据本公开实施例的第四方面,提供一种信息的恢复装置,包括:

第一接收模块,被配置为接收用户通过终端设备触发的信息恢复指令;

获取模块,被配置为根据所述信息恢复指令,获取备份信息,所述备份信息包括第一容器内的数据以及如下信息中的至少一项:所述第一容器内运行的进程的信息、用户在所述第一容器中所执行的操作记录或所述第一容器挂载的数据卷中的数据;

恢复模块,被配置为对所述备份信息进行恢复。

可选地,所述备份信息包括第一容器内的数据;

所述恢复模块,包括:

创建子模块,被配置为根据所述第一容器内的数据,创建第二容器。

可选地,所述备份信息包括所述第一容器内运行的进程的信息;

所述恢复模块,包括:

获取子模块,被配置为从所述备份信息中获取进程日志文件;

启动子模块,被配置为根据所述进程日志文件中的进程信息,在所述第二容器内启动进程,所述进程信息包括用户信息、启动命令和进程启动参数。

可选地,所述备份信息包括用户在所述第一容器中所执行的操作记录;

所述恢复模块,包括:

接收子模块,被配置为接收用户通过所述终端设备触发的操作记录恢复指令;

获取子模块,被配置为根据所述操作记录恢复指令,从所述备份信息中获取操作日志文件;

执行子模块,被配置为根据所述操作日志文件中的操作记录,在所述第二容器内执行所述操作记录对应的操作。

可选地,所述装置还包括:

第二接收模块,被配置为接收用户通过终端设备发送的请求消息;

发送模块,被配置为根据所述请求消息,向所述云端服务器发送查询消息,所述查询消息用于指示所述云端服务器查询备份元文件,所述备份元文件中包括时间信息和地址信息,所述时间信息用于指示所述备份信息的备份时间,所述地址信息包括所述备份信息在所述云端服务器中的地址信息;

第三接收模块,被配置为接收所述云端服务器发送的至少一个备份元文件,并通过终端设备向用户显示所述至少一个备份元文件;

对应的,所述信息恢复指令包括用户从至少一个备份元文件中确定出的目标备份元文件所包括的时间信息;

所述获取模块,包括:

读取子模块,被配置为根据所述信息恢复指令中的时间信息,从所述云端服务器中读取所述时间信息对应的备份信息。

根据本公开实施例的第五方面,提供一种服务器,包括:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收用户通过终端设备触发的信息备份指令;

根据所述信息备份指令,对待备份信息创建快照;所述待备份信息包括容器内的数据以及如下信息中的至少一项:所述容器内运行的进程的进程信息、用户在所述容器中所执行的操作记录或所述容器挂载的数据卷中的数据;

将所述快照进行备份,获得备份信息。

根据本公开实施例的第六方面,提供一种服务器,包括:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收用户通过终端设备触发的信息恢复指令;

根据所述信息恢复指令,获取备份信息,所述备份信息包括第一容器内的数据以及如下信息中的至少一项:所述第一容器内运行的进程的信息、用户在所述第一容器中所执行的操作记录或所述第一容器挂载的数据卷中的数据;

对所述备份信息进行恢复。

根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法的步骤。

根据本公开实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面所述的方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过接收用户通过终端设备触发的信息备份指令,并根据信息备份指令,对待备份信息创建快照,然后将快照进行备份,获得备份信息,其中,待备份信息包括容器内的数据以及如下信息中的至少一项:容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据。由于服务器在进行信息备份时,将不仅对容器内的数据创建快照,还对容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据中的至少一项信息创建快照,这样不仅可以对容器内的数据进行备份,而且可以对容器运行时的环境参数、用户所执行的操作或容器挂载的数据卷进行备份,由此使备份的信息更加完整。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种信息的备份方法的流程图;

图2是根据另一示例性实施例示出的一种信息的备份方法的流程图;

图3是根据又一示例性实施例示出的一种信息的备份方法的流程图;

图4是根据再一示例性实施例示出的一种信息的备份方法的流程图;

图5是根据一示例性实施例示出的一种信息的恢复方法的流程图;

图6是根据另一示例性实施例示出的一种信息的恢复方法的流程图;

图7是根据一示例性实施例示出的一种信息的备份装置的框图;

图8是根据另一示例性实施例示出的一种信息的备份装置的框图;

图9是根据又一示例性实施例示出的一种信息的备份装置的框图;

图10是根据再一示例性实施例示出的一种信息的备份装置的框图;

图11是根据再一示例性实施例示出的一种信息的备份装置的框图;

图12是根据一示例性实施例示出的一种信息的恢复装置的框图;

图13是根据另一示例性实施例示出的一种信息的恢复装置的框图;

图14是根据又一示例性实施例示出的一种信息的恢复装置的框图;

图15是根据再一示例性实施例示出的一种信息的恢复装置的框图;

图16是根据再一示例性实施例示出的一种信息的恢复装置的框图;

图17是根据一示例性实施例示出的一种服务器的实体的框图;

图18是根据另一示例性实施例示出的一种服务器的实体的框图;

图19是根据一示例性实施例示出的一种用于信息的备份装置1900的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

目前,为了解决容器中信息会发生丢失的问题,通常使用docker镜像对容器进行备份和恢复。docker镜像是多层存储,每一层是在前一层的基础上进行的修改,容器的文件系统也是多层存储,它以镜像为基础层,在其基础上加一层作为容器运行时的存储层,其中,用户在容器内对文件所做的修改都会被记录于容器的存储层中。docker提供了根据容器制作镜像的机制,即使用dockercommit命令,可以将容器的存储层进行保存以作为镜像,也即在原有镜像的基础上,再叠加上容器的存储层,构成新的镜像,并将新的镜像放到私有仓库中存储,完成容器的备份。另外,利用存储的新的镜像创建新的容器,可以实现容器的恢复,以避免在容器实例意外终止时,信息会发生丢失的现象。可见,相关技术中,服务器在对信息进行备份和恢复时,将只会对容器内或系统盘内的文件进行备份和恢复,而不对其他的信息进行备份,如不能备份容器的运行环境参数或容器额外挂载的数据卷等。

因此,本公开实施例提供的信息的备份方法旨在解决如上的技术问题,具体的实现方式参见下述实施例。

下面结合附图通过具体实施例对本公开实施例提供的信息的备份方法进行详细说明。

图1是根据一示例性实施例示出的一种信息的备份方法的流程图,如图1所示,本实施例涉及的信息的备份方法用于第一服务器中。该信息的备份方法包括以下步骤。

在步骤s11中,接收用户通过终端设备触发的信息备份指令。

在本公开实施例中,为了防止容器实例在意外终止后,与容器相关的数据丢失,通常需要进行信息的备份。当用户想要进行信息备份时,可以通过终端设备向第一服务器触发信息备份指令,在实际应用中,用户可以通过点击终端设备中的某个物理按键或者控件向第一服务器触发信息备份指令,当然,用户也可以通过其他方式向第一服务器触发信息备份指令,如通过语音方式等,对于信息备份指令的具体触发方式,本实施例在此不作限制。

在步骤s12中,根据信息备份指令,对待备份信息创建快照;待备份信息包括容器内的数据以及如下信息中的至少一项:容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据。

在本公开实施例中,第一服务器在接收到用户触发的信息备份指令之后,将对容器内的数据创建快照。其中,该快照中包含了当前时间点的容器内文件的内容,对容器内的数据创建快照之后,将会保证容器内文件的内容不会发生丢失。

另外,除了对容器内的数据创建快照之外,第一服务器还对容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据中的至少一项信息创建快照。其中,第一服务器可以只创建上述三种信息中任意一种信息的快照,也可以只创建上述三种信息中任意两种信息的快照,还可以对上述三种信息全部创建快照。

可选地,容器挂载的数据卷,通常是逻辑卷设备,在对容器挂载的数据卷中的数据创建快照时,可以对整个数据卷创建快照,例如,可以使用lvcreate命令对整个数据卷创建快照。

通过对容器内运行的进程的进程信息创建快照,可以对容器当前时间点时进程的运行状态进行备份,通过对用户在容器中所执行的操作记录创建快照,可以将用户在容器内的操作进行备份,通过对容器挂载的数据卷中的数据创建快照,可以对除系统盘内的文件之外的其他数据进行备份,这样,可以使备份的信息更加完整。

在步骤s13中,将快照进行备份,获得备份信息。

在本公开实施例中,第一服务器在对待备份信息创建快照之后,可以将创建的快照进行备份,获得备份信息,以供第二服务器在需要恢复容器实例,以及恢复创建快照时运行的进程、用户执行的相关操作或容器挂载的数据卷时,将直接根据备份信息进行恢复即可。

本实施例的信息的备份方法,通过接收用户通过终端设备触发的信息备份指令,并根据信息备份指令,对待备份信息创建快照,然后将快照进行备份,获得备份信息,其中,待备份信息包括容器内的数据以及如下信息中的至少一项:容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据。由于服务器在进行信息备份时,将不仅对容器内的数据创建快照,还对容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据中的至少一项信息创建快照,这样不仅可以对容器内的数据进行备份,而且可以对容器运行时的环境参数、用户所执行的操作或容器挂载的数据卷进行备份,由此使备份的信息更加完整。

图2是根据另一示例性实施例示出的一种信息的备份方法的流程图,该方法用于第一服务器中,本实施例在图1所示实施例的基础上,对若待备份信息包括容器内运行的进程的进程信息时,如何对待备份信息创建快照的实施例,作详细说明,如图2所示,该信息的备份方法包括以下步骤。

在步骤s21中,接收用户通过终端设备触发的信息备份指令。

在步骤s22中,根据信息备份指令,查询容器内所有运行的进程,将进程的进程信息保存到进程日志文件中,进程信息包括用户信息、启动命令和进程启动参数。

在本公开实施例中,若待备份信息包括容器内运行的进程的进程信息时,第一服务器在接收到用户触发的信息备份指令后,将查询此时容器内正在运行的所有的进程。在实际应用中,第一服务器将调用系统命令(例如linux的ps命令)查询当前容器内运行的所有进程,包括进程的启动命令和参数,并将查询的结果保存到进程日志文件中。

需要进行说明的是,进程日志文件是纯文本文件,其中,每一行对应一个进程的进程信息。另外,进程的信息包括用户信息、启动命令和启动参数,用户信息用于表示启动进程的用户的权限,启动命令用于启动该进程,启动参数包括进程本身的相关参数。

在一种可能的实现方式中,进程日志文件的格式的样例如下:

rootbash

rootsshd:root@pts/12

www-data/usr/sbin/apache2-kstart

举例来说,若第一服务器在创建快照时,第一服务器通过调用系统命令,查询到容器内正在运行的进程包括浏览器和即时通讯应用程序,则第一服务器会将浏览器和即时通讯应用程序分别对应的用户信息、启动命令和进程启动参数保存到进程日志文件中。

在步骤s23中,对进程日志文件创建快照。

在本公开实施例中,第一服务器在将容器内正在运行的进程的进程信息保存到进程日志文件中后,将对进程日志文件创建快照。例如:进程日志文件中保存有浏览器和即时通讯应用程序的进程信息时,第二服务器在进行信息恢复时,将会在新创建的容器内启动浏览器和即时通讯应用程序。

在步骤s24中,将快照进行备份,获得备份信息。

本实施例的信息的备份方法,由于在待备份信息包括容器内运行的进程的进程信息时,将根据信息备份指令,查询容器内所有运行的进程,将进程的进程信息保存到进程日志文件中,并对进程日志文件创建快照,其中,进程信息包括用户信息、启动命令和进程启动参数,这样,第一服务器将会对容器的运行是的环境参数进行备份,从而使得备份的信息更加完整。

图3是根据又一示例性实施例示出的一种信息的备份方法的流程图,该方法用于第一服务器中,本实施例在图1所示实施例的基础上,对若待备份信息包括用户在容器中所执行的操作记录时,如何对待备份信息创建快照的实施例,作详细说明,如图3所示,该信息的备份方法包括以下步骤。

在步骤s31中,接收用户通过终端设备触发的信息备份指令。

在步骤s32中,根据信息备份指令,查询用户在预设时间段内在容器中所执行的操作记录,将操作记录保存到操作日志文件中。

在本公开实施例中,若待备份信息包括用户在容器中所执行的操作记录时,第一服务器在接收到用户触发的信息备份指令后,将查询用户在预设时间段内在所述容器中所执行的操作记录,例如从用户操作历史记录文件(如~/.bash_history文件)中,查询用户最近一次备份时间之后已执行的操作记录,并将查询的结果保存到操作日志文件中。

在一种可能的实现方式中,操作日志文件的格式的样例如下:

2017-09-0110:15:36df-h

2017-09-0110:15:39cd/home

举例来说,若第一服务器在创建快照时,第一服务器从用户操作历史记录文件中,查询到用户在最近一次备份之后,所做的操作为通过浏览器向服务器发送数据包,则第一服务器会将该操作记录到操作日志文件中。

在步骤s33中,对操作日志文件创建快照。

在本公开实施例中,第一服务器在将用户在容器中所执行的操作记录保存到操作日志文件中后,将对操作日志文件创建快照。例如:操作日志文件中保存有用户通过浏览器向服务器发送的数据包的信息时,第二服务器在进行信息恢复时,将会在新创建的容器内通过浏览器向服务器发送相同的数据包。

在步骤s34中,将快照进行备份,获得备份信息。

本实施例的信息的备份方法,由于在待备份信息包括用户在容器中所执行的操作记录时,将根据信息备份指令,查询用户在预设时间段内在容器中所执行的操作记录,将操作记录保存到操作日志文件中,并对操作日志文件创建快照,这样,第一服务器将会对用户的操作记录进行备份,从而使得备份的信息更加完整。

图4是根据再一示例性实施例示出的一种信息的备份方法的流程图,该方法用于第一服务器中,本实施例在上述各实施例的基础上,对将快照进行备份之后,根据备份信息生成备份元文件的实施例,作详细说明,如图4所示,该信息的备份方法包括以下步骤。

在步骤s41中,接收用户通过终端设备触发的信息备份指令。

在步骤s42中,根据信息备份指令,对待备份信息创建快照;该待备份信息包括容器内的数据以及如下信息中的至少一项:容器内运行的进程的进程信息、用户在容器中所执行的操作记录或容器挂载的数据卷中的数据。

步骤s41-步骤s42与步骤s11-步骤s12类似,此处不再赘述。

在步骤s43中,将快照存储至云端服务器中,获得备份信息。

在本实施例中,第一服务器在对待备份信息创建快照之后,可以将创建的快照存储至云端服务器中,在一种可能的实现方式中,可以将快照存储至文件存储系统中,其中,文件存储系统是以文件为最小单位的对象存储系统,其具有分布式以及高可用等特点。常见的文件存储系统有gfs、swift、ceph等。

在步骤s44中,根据备份信息,生成备份元文件,该备份元文件中包括时间信息和地址信息,时间信息用于指示备份信息的备份时间,地址信息包括备份信息在云端服务器中的地址信息。

在本实施例中,在将生成的快照存储至云端服务器,获得备份信息后,将根据备份信息,生成备份元文件,并将生成的备份元文件也存储至云端服务器中,如存储至文件存储系统中。其中,备份元文件中包括有备份信息的元信息,即备份信息的备份时间以及备份信息在云端服务器中的地址信息,如当待备份信息包括容器内的数据时,该地址信息将包括容器快照在云端服务器中的地址信息,当待备份信息包括容器内运行的进程的进程信息时,该地址信息将包括进程日志文件在云端服务器中的地址信息,当待备份信息包括用户在容器中所执行的操作记录时,该地址信息将包括操作日志文件在云端服务器中的地址信息,当待备份信息包括容器挂载的数据卷中的数据时,该地址信息将包括数据卷快照在云端服务器中的地址信息。

第一服务器将备份元文件存储至云端服务器后,当用户想要恢复某个时间点的信息时,将通过终端设备向第二服务器发送信息恢复指令,该信息恢复指令中可以携带有时间戳,第二服务器将根据该时间戳,从云端服务器中获取该时间戳对应的备份元文件,并根据备份元文件中记录的地址信息,从对应的地址中获取各备份信息,从而根据备份信息进行信息的恢复。

在一种可能的实现方式中,备份元文件的格式样例如下:

其中,各项数据的意义如下:

date为备份信息的备份时间;container_id为容器实例的标识;docker_image为容器实例生成的快照在文件存储系统中的文件路径;process_log为容器进程日志文件在文件存储系统中的文件路径;operation_log为容器操作日志文件在文件存储系统中的文件路径;volume为容器挂载数据卷的备份信息,其中id属性是数据卷的标识,host_path是挂载点,volume_image是数据卷快照在文件存储系统中的文件路径。

在步骤s45中,将备份元文件存储至云端服务器中。

在本实施例中,第一服务器在生成备份元文件后,可以将备份元文件存储至云端服务器中。由于将备份元文件以及备份信息都存储至云端服务器中,可以提高信息存储的安全性。

本实施例的信息的备份方法,由于第一服务器可以将对待备份信息创建的快照存储至云端服务器中,而且将根据备份信息生成备份元文件,并将备份元文件也存储至云端服务器中,由此可以提高信息存储的安全性。另外,由于备份元文件中包括时间信息和地址信息,该时间信息用于指示备份信息的备份时间,该地址信息包括备份信息在云端服务器中的地址信息,这样,在进行信息恢复时,服务器将直接根据备份元文件中的时间信息和地址信息获取对应的备份信息,以进行信息的恢复即可,由此可以提高信息恢复的效率。

图5是根据一示例性实施例示出的一种信息的恢复方法的流程图,如图5所示,本实施例涉及的信息的恢复方法用于第二服务器中。该信息的恢复方法包括以下步骤。

在步骤s51中,接收用户通过终端设备触发的信息恢复指令。

在本公开实施例中,当用户想要通过备份的信息进行信息恢复时,可以通过终端设备向第二服务器触发信息恢复指令,在实际应用中,用户可以通过点击终端设备中的某个物理按键或者控件向第二服务器触发信息恢复指令,当然,用户也可以通过其他方式向第二服务器触发信息恢复指令,如通过语音方式等,对于信息恢复指令的具体触发方式,本实施例在此不作限制。

在步骤s52中,根据信息恢复指令,获取备份信息,该备份信息包括第一容器内的数据以及如下信息中的至少一项:第一容器内运行的进程的信息、用户在第一容器中所执行的操作记录或第一容器挂载的数据卷中的数据。

在本公开实施例中,第二服务器在接收到信息恢复指令后,将获取备份信息,其中,该备份信息为第一服务器对待备份信息进行备份之后得到的信息,备份信息包括第一服务器的第一容器内的数据以及如下信息中的至少一项:第一服务器的第一容器内运行的进程的信息、用户在第一服务器的第一容器中所执行的操作记录或第一服务器的第一容器挂载的数据卷中的数据。

其中,第一服务器与第二服务器可以是同一个服务器,也可以是不同的服务器。

在步骤s53中,对备份信息进行恢复。

在本实施例中,第二服务器在获取到备份信息之后,可以将备份信息进行恢复。可选地,备份信息包括第一容器内的数据时,第二服务器将根据第一容器内的数据,创建第二容器实例。备份信息包括第一容器内运行的进程的信息时,第二服务器将会在创建的第二容器内恢复前述的进程。当备份信息包括用户在第一容器中所执行的操作记录时,第二服务器将会在新创建的第二容器内将用户的操作记录进行恢复,当备份信息包括第一容器挂载的数据卷中的数据时,第二服务器根据数据卷的快照,可以将挂载的数据卷进行恢复。

本实施例的信息的恢复方法,通过接收用户通过终端设备触发的信息恢复指令,并根据信息恢复指令,获取备份信息,然后对备份信息进行恢复,其中,备份信息包括第一容器内的数据以及如下信息中的至少一项:第一容器内运行的进程的信息、用户在第一容器中所执行的操作记录或第一容器挂载的数据卷中的数据。由于在获取到备份信息后,将不仅可以恢复第一容器内的数据,还可以恢复第一容器内运行的进程的信息、用户在第一容器中所执行的操作记录或第一容器挂载的数据卷中的数据中的至少一项信息,这样,不仅可以对第一容器内的数据进行恢复,而且可以对容器运行时的环境参数、用户所执行的操作或容器挂载的数据卷进行恢复,由此使恢复的信息更加完整。

下面,将对备份信息包括的内容不同时,对该备份信息具体的恢复方式进行详细介绍。

当备份信息包括第一容器挂载的数据卷中的数据时,第二服务器对备份信息进行恢复包括第二服务器将根据获取到的数据卷的快照,创建新的数据卷。例如:可以使用lvcreate命令创建新的数据卷。

当备份信息包括第一容器内的数据时,对备份信息进行恢复,包括根据第一容器内的数据,创建第二容器。具体地,第二服务器从备份信息中获取到第一容器内的数据的快照后,将添加该第一容器的快照到镜像仓库中,并使用该快照创建新的第二容器实例。

需要说明的是,第二服务器在进行信息恢复时,通常是先根据挂载的数据卷的快照,创建新的数据卷,再根据第一容器的快照,创建新的容器实例。

当备份信息包括第一容器内运行的进程的信息时,对备份信息进行恢复包括:从备份信息中获取进程日志文件,根据进程日志文件中的进程信息,在第二容器内启动进程,进程信息包括用户信息、启动命令和进程启动参数。

具体地,进程日志文件是纯文本文件,其中,每一行对应一个进程的进程信息。另外,进程的信息包括用户信息、启动命令和启动参数,用户信息用于表示启动进程的用户的权限,启动命令用于启动该进程,启动参数包括进程本身的相关参数。第二服务器在进行信息恢复时,将从备份信息中获取进程日志文件到第二容器内,并根据进程日志文件中的用户信息、启动命令和启动参数,重新启动对应的进程。这样,在进行信息备份时,第一容器内正在运行的进程,也将会在重新创建的第二容器内被启动。例如:在信息备份时,若第一容器内浏览器和即时通讯应用程序处于运行的状态,则根据进程日志文件进行信息恢复后,在重新创建的第二容器内,该浏览器和即时通讯应用程序也将处于正在运行的状态,由此可以保证信息恢复的完整性。

当备份信息包括用户在第一容器中所执行的操作记录时,对备份信息进行恢复包括:接收用户通过终端设备触发的操作记录恢复指令,根据操作记录恢复指令,从备份信息中获取操作日志文件;根据操作日志文件中的操作记录,在第二容器内执行所述操作记录对应的操作。

具体地,用户可以根据自己的需要选择性的恢复操作记录,当用户需要恢复操作记录时,将可以通过终端设备向第二服务器发送操作记录恢复指令,第二服务器在接收到操作记录恢复指令后,将从备份信息中获取操作日志文件到第二容器内,并根据操作日志文件恢复用户的相关操作。其中,操作日志文件中包括用户最近一次备份时间之后在第一容器内执行的操作。例如:在信息备份时,若用户通过浏览器向服务器发送了至少一个数据包,则根据操作日志文件进行信息恢复后,在重新创建的第二容器内,将也会通过浏览器向服务器发送至少一个数据包,由此可以保证信息恢复的完整性。

图6是根据另一示例性实施例示出的一种信息的恢复方法的流程图,该方法用于第二服务器中,本实施例在图5所示实施例的基础上,对第二服务器在接收用户通过终端设备触发的信息恢复指令之前,需要先查询备份元文件,并向用户呈现多个备份元文件,以使用户根据自己的需要选择其中的一个备份元文件的实施例,作详细说明,如图6所示,该信息的恢复方法包括以下步骤。

在步骤s61中,接收用户通过终端设备发送的请求消息。

在本公开实施例中,用户想要进行信息恢复时,将通过终端设备向第二服务器发送请求消息,该请求消息用于指示第二服务器进行信息恢复。

在步骤s62中,根据请求消息,向云端服务器发送查询消息,该查询消息用于指示云端服务器查询备份元文件,该备份元文件中包括时间信息和地址信息,时间信息用于指示备份信息的备份时间,地址信息包括备份信息在云端服务器中的地址信息。

在本公开实施例中,第一服务器在进行信息备份时,可以将备份信息存储至云端服务器中,其中,云端服务器可以为文件存储系统,其中,文件存储系统是以文件为最小单位的对象存储系统,其具有分布式以及高可用等特点。常见的文件存储系统有gfs、swift、ceph等。

第二服务器在接收到用户触发的请求消息后,将会向云端服务器发送查询消息,以指示云端服务器查询备份元文件,其中,备份元文件中包括有备份信息的元信息,即备份信息的备份时间以及备份信息在云端服务器中的地址信息,如当待备份信息包括容器内的数据时,该地址信息将包括容器快照在云端服务器中的地址信息,当待备份信息包括容器内运行的进程的进程信息时,该地址信息将包括进程日志文件在云端服务器中的地址信息,当待备份信息包括用户在容器中所执行的操作记录时,该地址信息将包括操作日志文件在云端服务器中的地址信息,当待备份信息包括容器挂载的数据卷中的数据时,该地址信息将包括数据卷快照在云端服务器中的地址信息。

另外,在云端存储器中存储的备份元文件的数量可以为一个,也可以为多个。

在步骤s63中,接收云端服务器发送的至少一个备份元文件,并通过终端设备向用户显示至少一个备份元文件。

在本公开实施例中,云端服务器在本地查询到备份元文件后,会将查询到的至少一个备份元文件发送给第二服务器,第二服务器会将该至少一个备份元文件通过终端设备呈现给用户。

在步骤s64中,接收用户通过终端设备触发的信息恢复指令。

在本公开实施例中,当有多个备份元文件时,用户将可以根据自己的需要,从多个备份元文件中确定出目标备份元文件,并根据该目标备份元文件向第二服务器发送信息恢复指令,此时,该信息恢复指令中将包括用户从至少一个备份元文件中确定出的目标备份元文件所包括的时间信息。

在步骤s65中,根据信息恢复指令中的时间信息,从云端服务器中读取时间信息对应的备份信息。

在本实施例中,第二服务器在接收到信息恢复指令后,将根据该信息恢复指令中的时间信息,从云端服务器中读取该时间信息对应的备份信息。例如:若第一服务器在2016年10月12日14点26分对信息做了一次备份,在2017年8月20日8点30分对信息又做了一次备份,当第二服务器将携带有这两个时间信息的备份元文件呈现给用户后,用户将根据自己的需要,选择恢复在2017年8月20日8点30分备份的信息,此时,用户向第二服务器发送的信息恢复指令中将携带有该时间信息,第二服务器会根据信息恢复指令,从云端服务器中读取2017年8月20日8点30分备份的信息。

在步骤s66中,对备份信息进行恢复。

本实施例的信息的恢复方法,第二服务器根据用户从至少一个备份元文件中确定出的目标备份元文件所包括的时间信息,从云端服务器中读取该时间信息对应的备份信息,并对该备份信息进行恢复,这样在第一服务器对信息进行了多次备份之后,用户可以根据自己的需要选择性的对信息进行恢复,由此可以提高信息恢复的灵活性。

以上描述了信息的备份方法的实现过程,该过程可以由信息的备份装置来实现,以下将对该装置的内部功能和结构进行说明。

图7是根据一示例性实施例示出的一种信息的备份装置的框图。如图7所示,该信息的备份装置包括接收模块11,创建模块12和备份模块13。

接收模块11被配置为接收用户通过终端设备触发的信息备份指令;

创建模块12被配置为根据所述信息备份指令,对待备份信息创建快照;所述待备份信息包括容器内的数据以及如下信息中的至少一项:所述容器内运行的进程的进程信息、用户在所述容器中所执行的操作记录或所述容器挂载的数据卷中的数据;

备份模块13被配置为将所述快照进行备份,获得备份信息。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

其中,如图8所示,图8是根据另一示例性实施例示出的一种信息的备份装置的框图,在图7所示实施例的基础上,若所述待备份信息包括所述容器内运行的进程的进程信息,所述创建模块12包括:第一查询子模块121和第一创建子模块122。

第一查询子模块121被配置为根据所述信息备份指令,查询所述容器内所有运行的进程,将所述进程的进程信息保存到进程日志文件中;所述进程信息包括用户信息、启动命令和进程启动参数;

第一创建子模块122被配置为对所述进程日志文件创建快照。

其中,如图9所示,图9是根据又一示例性实施例示出的一种信息的备份装置的框图,在图7所示实施例的基础上,若所述待备份信息包括用户在所述容器中所执行的操作记录,所述创建模块12包括:第二查询子模块123和第二创建子模块124。

第二查询子模块123被配置为根据所述信息备份指令,查询用户在预设时间段内在所述容器中所执行的操作记录,将所述操作记录保存到操作日志文件中;

第二创建子模块124被配置为对所述操作日志文件创建快照。

其中,如图10所示,图10是根据再一示例性实施例示出的一种信息的备份装置的框图,在图7所示实施例的基础上,所述备份模块13包括:存储子模块131。

存储子模块131被配置为将所述快照存储至云端服务器中。

其中,如图11所示,图11是根据再一示例性实施例示出的一种信息的备份装置的框图,在图10所示实施例的基础上,所述装置还包括:生成模块14和存储模块15。

生成模块14被配置为根据所述备份信息,生成备份元文件,所述备份元文件中包括时间信息和地址信息,所述时间信息用于指示所述备份信息的备份时间,所述地址信息包括所述备份信息在所述云端服务器中的地址信息;

存储模块15被配置为将所述备份元文件存储至所述云端服务器中。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图12是根据一示例性实施例示出的一种信息的恢复装置的框图。如图12所示,该信息的恢复装置包括第一接收模块21,获取模块22和恢复模块23。

第一接收模块21被配置为接收用户通过终端设备触发的信息恢复指令;

获取模块22被配置为根据所述信息恢复指令,获取备份信息,所述备份信息包括第一容器内的数据以及如下信息中的至少一项:所述第一容器内运行的进程的信息、用户在所述第一容器中所执行的操作记录或所述第一容器挂载的数据卷中的数据;

恢复模块23被配置为对所述备份信息进行恢复。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

其中,如图13所示,图13是根据另一示例性实施例示出的一种信息的恢复装置的框图,在图12所示实施例的基础上,所述备份信息包括第一容器内的数据;所述恢复模块23包括:创建子模块231。

创建子模块231被配置为根据所述第一容器内的数据,创建第二容器。

其中,如图14所示,图14是根据又一示例性实施例示出的一种信息的恢复装置的框图,在图13所示实施例的基础上,所述备份信息包括所述第一容器内运行的进程的信息;所述恢复模块23包括:第一获取子模块232和启动子模块233。

第一获取子模块232被配置为从所述备份信息中获取进程日志文件;

启动子模块233被配置为根据所述进程日志文件中的进程信息,在所述第二容器内启动进程,所述进程信息包括用户信息、启动命令和进程启动参数。

其中,如图15所示,图15是根据再一示例性实施例示出的一种信息的恢复装置的框图,在图13所示实施例的基础上,所述备份信息包括用户在所述第一容器中所执行的操作记录;所述恢复模块23包括:接收子模块234、第二获取子模块235和执行子模块236。

接收子模块234被配置为接收用户通过所述终端设备触发的操作记录恢复指令;

第二获取子模块235被配置为根据所述操作记录恢复指令,从所述备份信息中获取操作日志文件;

执行子模块236被配置为根据所述操作日志文件中的操作记录,在所述第二容器内执行所述操作记录对应的操作。

其中,如图16所示,图16是根据再一示例性实施例示出的一种信息的恢复装置的框图,在图12所示实施例的基础上,所述装置还包括:

第二接收模块24被配置为接收用户通过终端设备发送的请求消息;

发送模块25被配置为根据所述请求消息,向所述云端服务器发送查询消息,所述查询消息用于指示所述云端服务器查询备份元文件,所述备份元文件中包括时间信息和地址信息,所述时间信息用于指示所述备份信息的备份时间,所述地址信息包括所述备份信息在所述云端服务器中的地址信息;

第三接收模块26被配置为接收所述云端服务器发送的至少一个备份元文件,并通过终端设备向用户显示所述至少一个备份元文件;

对应的,所述信息恢复指令包括用户从至少一个备份元文件中确定出的目标备份元文件所包括的时间信息;

所述获取模块22包括:

读取子模块221被配置为根据所述信息恢复指令中的时间信息,从所述云端服务器中读取所述时间信息对应的备份信息。

以上描述了服务器的内部功能模块和结构示意,图17是根据一示例性实施例示出的一种服务器的实体的框图,参照图17,该服务器可以具体实现为:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,处理器被配置为:

接收用户通过终端设备触发的信息备份指令;

根据所述信息备份指令,对待备份信息创建快照;所述待备份信息包括容器内的数据以及如下信息中的至少一项:所述容器内运行的进程的进程信息、用户在所述容器中所执行的操作记录或所述容器挂载的数据卷中的数据;

将所述快照进行备份,获得备份信息。

以上描述了服务器的内部功能模块和结构示意,图18是根据另一示例性实施例示出的一种服务器的实体的框图,参照图18,该服务器可以具体实现为:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收用户通过终端设备触发的信息恢复指令;

根据所述信息恢复指令,获取备份信息,所述备份信息包括第一容器内的数据以及如下信息中的至少一项:所述第一容器内运行的进程的信息、用户在所述第一容器中所执行的操作记录或所述第一容器挂载的数据卷中的数据;

对所述备份信息进行恢复。

图19是根据一示例性实施例示出的一种用于信息的备份装置1900的框图。例如,装置1900可以被提供为一服务器。参照图19,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述信息的备份方法和信息的恢复方法。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

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