CN111880896B - 一种快速还原容器及运行状态数据的方法和装置 - Google Patents

一种快速还原容器及运行状态数据的方法和装置 Download PDF

Info

Publication number
CN111880896B
CN111880896B CN202010696386.XA CN202010696386A CN111880896B CN 111880896 B CN111880896 B CN 111880896B CN 202010696386 A CN202010696386 A CN 202010696386A CN 111880896 B CN111880896 B CN 111880896B
Authority
CN
China
Prior art keywords
container
data
point
user
restoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010696386.XA
Other languages
English (en)
Other versions
CN111880896A (zh
Inventor
商子豪
曲茂强
张春涛
吴庆建
李世祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Dete Zhilian Information Technology Co ltd
Original Assignee
Shandong Dete Zhilian Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Dete Zhilian Information Technology Co ltd filed Critical Shandong Dete Zhilian Information Technology Co ltd
Priority to CN202010696386.XA priority Critical patent/CN111880896B/zh
Publication of CN111880896A publication Critical patent/CN111880896A/zh
Application granted granted Critical
Publication of CN111880896B publication Critical patent/CN111880896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例公开了一种快速还原容器及运行状态数据的方法和装置,涉及软件技术领域,所述方法应用于Docker容器宿主机,包括:向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态信息的元数据描述信息,所述元数据描述信息包括容器、使用的存储卷及状态数据、数据库及数据信息;接收用户的容器还原点恢复指令;删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息。本发明实施例操作方便,能够根据容器还原点的元数据描述信息快速还原容器及状态数据。

Description

一种快速还原容器及运行状态数据的方法和装置
技术领域
本发明涉及软件技术领域,尤其涉及一种通过容器还原点技术快速还原容器及运行状态数据的方法、装置、电子设备及存储介质。
背景技术
在云计算的快速发展过程中,以Docker为代表的容器技术为基础和核心的云原生应用开发架构变成了云时代各类企业应用的主流开发架构,应用的部署、测试都以docker容器的方式运行在从个人工作机器到数据中心、私有云和公有云、混合云等各种环境中。
相对于虚拟机技术,docker容器是轻量级的,最初设计是为运行无状态的微服务应用,用户通过更新容器镜像来更新应用,为了适应应用的横向扩展,通过增加运行的容器实例来提升应用的性能,为了保证所有运行和容器实例状态保持一致,不在本地保存应用数据,采用分布式存储作为容器应用的存储方案,虽然也提供本地文件存储方式,但本地存储方式限制了容器实例在不同机器之间的迁移。
还原点(restore point)是一种计算机数据恢复技术,表示计算机系统文件的存储状态。
在容器应用的现有的技术方案中,要在应用的不同状态之间切换需要事先通过docker commit命令将需要保存的运行的应用容器实例保存为新版本的应用容器镜像,在切换容器应用时,先手工停掉运行的容器实例,再运行新版本的应用容器镜像,用户操作起来非常的不方便,用户需要熟记相关的命令和参数,效率不高。在现有的docker规范和实现中,docker commit命令保存为方案存在很大的局限性:一方面,对于使用外部存储卷(docker volume)来存取状态数据信息的容器实例来讲,docker commit命令生成的新版本容器镜像无法同时保存容器实例的存储卷数据,需要单独对存储卷进行数据备份,另一方面,对于应用使用的数据库类容器实例,也无法自动调用数据库软件自带的备份工具进行数据备份。在迁移容器应用时,需要对容器及使用的存储卷数据进行分别迁移,目前docker容器并没有提供标准的容器存储卷导入导出命令,这样在迁移过程中需要用户自己分别对容器实例及使用的存储卷进行备份、迁移操作。
发明内容
有鉴于此,本发明实施例提供一种快速还原容器及运行状态数据的方法、装置、电子设备及存储介质,其操作方便,能够快速恢复、迁移容器及运行状态数据。
第一方面,本发明实施例提供一种快速还原容器及运行状态数据的方法,应用于所有使用Docker容器技术的宿主机,包括:
向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态数据的元数据描述信息,所述元数据描述信息包括容器、使用的存储卷及状态数、数据库及数据等信息;
接收用户的容器还原点恢复指令;
删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息,该数据信息包括内部运行的数据、存储卷数据、及数据库数据。
结合第一方面,在第一方面的一种实施方式中,在所述向用户提供本地容器还原点列表之前,包括:
接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据等行为;
如果根据自带算法判断容器实例是数据库应用,则调用数据库的备份脚本和命令对当前的数据库数据进行数据备份;
如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
将容器实例使用的外部存储卷及状态数据、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。
结合第一方面,在第一方面的另一种实施方式中,在所述向用户提供本地容器还原点列表之后,包括:
接收用户的容器还原点导出指令;
将用户选择的容器还原点导出为tar格式的符合容器镜像标准的数据文件。
结合第一方面,在第一方面的再一种实施方式中,在所述向用户提供本地容器还原点列表之后,包括:
接收用户的容器还原点导入指令;
解析用户选择的tar格式的容器还原点数据文件,并将容器还原点信息导入到本地容器还原点列表中。
结合第一方面,在第一方面的又一种实施方式中,在所述向用户提供本地容器还原点列表之后,包括:
接收用户的容器还原点删除指令;
从本地容器还原点列表中删除用户选择的容器还原点。
第二方面,本发明实施例提供一种快速还原容器及运行状态数据的装置,应用于所有使用Docker容器的宿主机,包括:
列表提供模块,用于向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态数据的元数据描述信息,所述元数据描述信息包括容器、使用的存储卷及状态数据、数据库及数据信息;
恢复指令接收模块,用于接收用户的容器还原点恢复指令;
运行模块,用于删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息,该数据信息包括内部运行的数据、存储卷数据、及数据库数据。
结合第二方面,在第二方面的一种实施方式中,所述装置包括:
解析模块,用于接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据;
数据库数据备份模块,用于如果根据自带算法判断容器实例是数据库应用,则调用数据库的备份脚本和命令对当前的数据库数据进行备份;
存储卷数据备份模块,用于如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
容器还原点创建模块,用于将容器实例使用的外部存储卷及状态数据、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。
结合第二方面,在第二方面的另一种实施方式中,所述装置包括:
导出指令接收模块,用于接收用户的容器还原点导出指令;
导出模块,用于将用户选择的容器还原点导出为tar格式的符合容器镜像标准的数据文件。
结合第二方面,在第二方面的再一种实施方式中,所述装置包括:
导入指令接收模块,用于接收用户的容器还原点导入指令;
导入模块,用于解析用户选择的tar格式的容器还原点数据文件,并将容器还原点信息导入到本地容器还原点列表中。
结合第二方面,在第二方面的又一种实施方式中,所述装置包括:
删除指令接收模块,用于接收用户的容器还原点删除指令;
删除模块,用于从本地容器还原点列表中删除用户选择的容器还原点。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一所述的方法。
本发明实施例提供的快速还原容器及运行状态数据的方法、装置、电子设备及存储介质,首先向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,然后接收用户的容器还原点恢复指令,最后删除当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例并进行数据恢复。由于本地容器还原点列表中的容器还原点具有元数据描述信息,元数据描述信息描述了容器及其状态数据信息,包括容器、使用的存储卷及数据、数据库数据信息,故根据该元数据描述信息运行相关命令,即可快速恢复容器及数据到保存时的还原点状态。本发明实施例操作方便,能够快速还原容器及运行状态数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的快速还原容器及运行状态数据的方法一个实施例的流程示意图;
图2为本发明的快速还原容器及运行状态数据的方法另一实施例的流程示意图;
图3为本发明的快速还原容器及运行状态数据的装置实施例的结构示意图;
图4为本发明的电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
一方面,本发明实施例提供一种快速还原容器及运行状态数据的方法,应用于所有安装并运行Docker容器的宿主机,具体实施时可以“Docker容器还原软件系统”的形式安装在宿主机上,该软件系统可以包括以下部分:
容器还原点列表,以列表的方式显示本地保存的容器还原点信息;
容器还原点导出,提供将保存的容器还原点导出为tar格式的还原点数据文件;
容器还原点导入,提供将导出的tar格式还原点数据文件导入到本地及容器还原点列表中;
容器还原点创建,提供对当前主机运行的容器进行容器还原点创建的功能;
容器还原点恢复,提供根据保存的容器还原点信息快速恢复保存的容器及状态数据的容器实例的功能;
系统日志,负责记录软件运行信息,提供日志级别过滤,日志文件命名规则,日志文件的最大数目,实现日志文件的自我管理。
如图1-2所示,本实施例的方法可以包括(对应容器还原点恢复过程):
步骤101:向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态数据的元数据描述信息,所述元数据描述信息包容器、使用的存储卷及状态数据、数据库及数据信息;
为解决现有容器无法快速恢复、迁移状态数据存在的不足,本发明实施例基于Docker引擎提供的镜像、文件复制等操作标准接口,进行了元数据和接口扩展,记录当前容器的原始镜像、存储卷及其他数据、构建命令及参数等信息,为容器管理提供容器还原点功能,用户在操作时,可自由方便的根据需要,通过容器还原系统菜单交互命令窗口提供的界面来运行不同状态下的容器应用,实现快速切换到需要的状态和在不同的机器之间迁移容器应用。
本步骤中,本地容器还原点列表是以列表的方式显示本地保存的容器还原点信息,其中的容器还原点是一种扩展的docker镜像,它提供了额外的元数据描述信息,描述了容器的状态信息,如使用的存储卷及状态、数据库备份脚本等,在使用时自动根据元数据描述信息进行存储卷分析和备份、数据库信息分析判断和备份调用等相关处理操作,即可快速恢复容器到保存时的状态。
步骤102:接收用户的容器还原点恢复指令;
步骤103:删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息,该数据信息包括内部运行的数据、存储卷数据、及数据库数据。
上述步骤102-103在具体实施时,可以是用户在本地容器还原点列表中选中容器还原点,选择运行操作,系统自动删除原来运行的容器实例,创建并运行保存的容器还原点容器实例并进行数据恢复。
本发明实施例提供的快速还原容器及运行状态数据的方法,首先向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,然后接收用户的容器还原点恢复指令,最后删除当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例并进行数据恢复。由于本地容器还原点列表中的容器还原点包含有元数据描述信息,元数据描述信息描述了容器及运行的状态数据信息,包括容器、使用的存储卷及状态数据、数据库数据信息,故根据该元数据描述信息运行相关命令,即可快速恢复容器到保存时的状态。本发明实施例操作方便,能够快速还原容器及运行状态数据。
作为一种可选的实施例,在所述向用户提供本地容器还原点列表(步骤101)之前,所述方法可以包括(对应容器还原点创建过程):
步骤1001:接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据等行为;
具体实施时,用户如果选择容器还原点创建,系统上显示当前运行的容器信息列表,用户选择需要创建容器还原点的容器实例后,输入容器还原点的名称信息,系统接收到用户的请求后,解析指令信息,对容器实例根据内部算法进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据等行为;
步骤1002:如果根据自带算法对容器运行的进程名称、文件特征等信息进行匹配分析,判断容器实例是数据库应用如Mysql、PostgreSQL、Oracle、SQL Server、MongoDB、Redis等数据库应用,则调用数据库的备份脚本(如果官方提供,则使用官方提供(如Mysql、PostgreSQL、MS SQL、Oracle);如果官方没有,则使用系统提供的数据备份、恢复脚本(如Redis))和命令对当前的数据库数据进行备份;
步骤1003:如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
步骤1004:将容器实例使用的外部存储卷及状态、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。
上述步骤1001-1004能够较好地根据用户需要为当前运行的应用容器实例创建出前述步骤101-103所需的容器还原点。
作为另一种可选的实施例,在所述向用户提供本地容器还原点列表(步骤101)之后,可以包括(对应容器还原点导出过程):
步骤102’:接收用户的容器还原点导出指令;
步骤103’:将用户选择的容器还原点导出为tar格式的符合容器镜像标准的数据文件。
具体实施时,用户可在系统提供的本地容器还原点列表中选中容器还原点,选择执行导出操作,系统自动根据用户的选择,将容器还原点打包导出为tar格式的数据文件,该文件符合docker容器镜像规范,供用户迁移使用。
作为再一种可选的实施例,在所述向用户提供本地容器还原点列表(步骤101)之后,还可以包括(对应容器还原点导入过程):
步骤102”:接收用户的容器还原点导入指令;
步骤103”:解析用户选择的tar格式的容器还原点数据文件,并将容器还原点信息导入到本地容器还原点列表中。
这样,容器的迁移只需要在主机导出还原点文件,在其它主机导入还原点就可以。具体实施时,用户可以选择导入容器还原点,之后选择要导入的tar格式的容器还原点数据文件,系统解析文件,并将容器还原点信息导入到本地容器还原点列表中。
作为又一种可选的实施例,在所述向用户提供本地容器还原点列表(步骤101)之后,还可以包括(对应容器还原点删除过程):
步骤102”’:接收用户的容器还原点删除指令;
步骤103”’:从本地容器还原点列表中删除用户选择的容器还原点。
具体实施时,用户可在系统提供的本地容器还原点列表中选中容器还原点,选择删除容器还原点,系统自动删除保存的容器还原点。
本发明实施例的好处在于:
1、提供了一种Docker容器的容器还原点技术,特别适用于开发、测试环境等需要在不同的主机环境下对容器应用进行测试和应用容器环境的搭建,如快速将数据库或应用切换到某一状态,在不同的主机环境中迁移应用。
2、本发明的系统软件使用场景非常灵活,可实现在不同的容器还原点中根据用户需求进行快速切换、恢复和迁移,可广泛应用于云原生应用等容器应用的开发、测试。具有应用范围广,适用于任何运行Docker的云环境,既适用于java应用、node.js等各类应用的容器实例,也可应用于MySQL等数据库应用环境,可大大提升容器的使用效率。
3、本发明的系统软件内置分析算法,可自动感知智能分析数据库类应用容器,感知到数据库类应用容器后,在生成容器还原点前自动调用数据库相关的数据备份脚本()进行数据备份,有效降低数据存储空间。
4、本发明的软件生成的容器还原点数据文件兼容docker镜像标准规范,可以通过docker镜像标准命令将容器还原点提交到任何容器镜像仓库,供使用时自动从仓库下载,共享方便,同时使用简单方便,另外系统提供了图形化界面供用户操作,用户不需要熟记相关docker命令。
综上,本发明适用于在容器云的环境中通过容器还原点管理本地运行容器的不同容器还原点,可根据用户需求在不同的容器还原点之间进行切换、在不同主机之间进行迁移,可广泛应用于容器云应用的开发、测试、生产环境中,应用范围广,适用于任何运行Docker容器的云环境,既适用于java应用、node.js等各类应用的容器实例,也可应用于MySQL等数据库应用环境,可大大提升使用容器的效率。
另一方面,本发明实例提供一种快速还原容器及运行状态数据的装置,应用于所有安装运行Docker容器的宿主机环境,如图3所示,该装置可以包括:
列表提供模块11,用于向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态数据的元数据描述信息,所述元数据描述信息包括容器、使用的存储卷及状态数据、数据库及数据信息;
恢复指令接收模块12,用于接收用户的容器还原点恢复指令;
运行模块13,用于删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息,该数据信息包括内部运行的数据、存储卷数据、及数据库数据。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
优选的,所述装置可以包括:
解析模块,用于接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据;
数据库数据备份模块,用于如果根据自带算法判断容器实例是数据库应用,则调用数据库的备份脚本和命令对当前的数据库数据进行备份;
存储卷数据备份模块,用于如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
容器还原点创建模块,用于将容器实例使用的外部存储卷及状态数据、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。解析模块,用于接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据;
数据库数据备份模块,用于如果根据自带算法判断容器实例是数据库应用,则调用数据库的备份脚本和命令对当前的数据库数据进行备份;
存储卷数据备份模块,用于如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
容器还原点创建模块,用于将容器实例使用的外部存储卷及状态数据、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。
优选的,所述装置还可以包括:
导出指令接收模块,用于接收用户的容器还原点导出指令;
导出模块,用于将用户选择的容器还原点导出为tar格式的符合容器镜像标准的数据文件。
优选的,所述装置还可以包括:
导入指令接收模块,用于接收用户的容器还原点导入指令;
导入模块,用于解析用户选择的tar格式的容器还原点数据文件,并将容器还原点信息导入到本地容器还原点列表中。
优选的,所述装置还可以包括:
删除指令接收模块,用于接收用户的容器还原点删除指令;
删除模块,用于从本地容器还原点列表中删除用户选择的容器还原点。
本发明实施例还提供一种电子设备,图4为本发明的电子设备一个实施例的结构示意图,可以实现本发明图1或2所示实施例的流程,如图4所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一方法实施例所述的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例所述的方法步骤。
本发明的实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一方法实施例提供的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种快速还原容器及运行状态数据的方法,应用于Docker容器宿主机,其特征在于,包括:
向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态数据的元数据描述信息,所述元数据描述信息包括容器、使用的存储卷及状态数据、数据库及数据信息;
接收用户的容器还原点恢复指令;
删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息,该数据信息包括内部运行的数据、存储卷数据、及数据库数据;
其中,在所述向用户提供本地容器还原点列表之前,包括:
接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据;
如果根据自带算法判断容器实例是数据库应用,则调用数据库的备份脚本和命令对当前的数据库数据进行备份;
如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
将容器实例使用的外部存储卷及状态数据、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。
2.根据权利要求1所述的方法,其特征在于,在所述向用户提供本地容器还原点列表之后,包括:
接收用户的容器还原点导出指令;
将用户选择的容器还原点导出为tar格式的符合容器镜像标准的数据文件。
3.根据权利要求1所述的方法,其特征在于,在所述向用户提供本地容器还原点列表之后,包括:
接收用户的容器还原点导入指令;
解析用户选择的tar格式的容器还原点数据文件,并将容器还原点信息导入到本地容器还原点列表中。
4.根据权利要求1所述的方法,其特征在于,在所述向用户提供本地容器还原点列表之后,包括:
接收用户的容器还原点删除指令;
从本地容器还原点列表中删除用户选择的容器还原点。
5.一种快速还原容器及运行状态数据的装置,应用于Docker容器宿主机,其特征在于,包括:
列表提供模块,用于向用户提供本地容器还原点列表,所述本地容器还原点列表中包含能够用于恢复容器及运行状态数据的容器还原点,所述容器还原点具有描述容器及状态数据的元数据描述信息,所述元数据描述信息包括容器、使用的存储卷及状态数据、数据库及数据信息;
恢复指令接收模块,用于接收用户的容器还原点恢复指令;
运行模块,用于删除指定的当前运行的容器实例,创建并运行用户选择的容器还原点所保存的容器实例,并还原其数据信息,该数据信息包括内部运行的数据、存储卷数据、及数据库数据;
所述装置,还包括:
解析模块,用于接收到用户的容器还原点创建请求后,解析指令信息,对指定的正在运行的容器实例进行自动分析,判断是否是数据库应用,是否使用了外部存储卷来存储数据;
数据库数据备份模块,用于如果根据自带算法判断容器实例是数据库应用,则调用数据库的备份脚本和命令对当前的数据库数据进行备份;
存储卷数据备份模块,用于如果容器实例使用了外部存储卷来存储数据,则对存储卷数据进行数据备份;
容器还原点创建模块,用于将容器实例使用的外部存储卷及状态数据、数据库及数据信息写入容器还原点的元数据描述信息中,对容器实例进行容器还原点创建,并记录到本地容器还原点列表中,返回容器还原点创建成功的消息。
6.根据权利要求5所述的装置,其特征在于,包括:
导出指令接收模块,用于接收用户的容器还原点导出指令;
导出模块,用于将用户选择的容器还原点导出为tar格式的符合容器镜像标准的数据文件。
7.根据权利要求5所述的装置,其特征在于,包括:
导入指令接收模块,用于接收用户的容器还原点导入指令;
导入模块,用于解析用户选择的tar格式的容器还原点数据文件,并将容器还原点信息导入到本地容器还原点列表中。
8.根据权利要求5所述的装置,其特征在于,包括:
删除指令接收模块,用于接收用户的容器还原点删除指令;
删除模块,用于从本地容器还原点列表中删除用户选择的容器还原点。
9.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述权利要求1-4任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述权利要求1-4任一所述的方法。
CN202010696386.XA 2020-07-17 2020-07-17 一种快速还原容器及运行状态数据的方法和装置 Active CN111880896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010696386.XA CN111880896B (zh) 2020-07-17 2020-07-17 一种快速还原容器及运行状态数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010696386.XA CN111880896B (zh) 2020-07-17 2020-07-17 一种快速还原容器及运行状态数据的方法和装置

Publications (2)

Publication Number Publication Date
CN111880896A CN111880896A (zh) 2020-11-03
CN111880896B true CN111880896B (zh) 2022-05-31

Family

ID=73156015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010696386.XA Active CN111880896B (zh) 2020-07-17 2020-07-17 一种快速还原容器及运行状态数据的方法和装置

Country Status (1)

Country Link
CN (1) CN111880896B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799883A (zh) * 2021-02-09 2021-05-14 珠海豹趣科技有限公司 一种系统还原点管理方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770410A (zh) * 2009-01-07 2010-07-07 联想(北京)有限公司 基于客户操作系统的系统还原方法、虚拟机管理器及系统
WO2015131714A1 (zh) * 2014-07-31 2015-09-11 中兴通讯股份有限公司 一种还原数据源的方法、分组传送平台及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501368B2 (en) * 2008-09-30 2016-11-22 Veritas Technologies Llc Backing up and restoring selected versioned objects from a monolithic database backup
CN106776120A (zh) * 2016-11-24 2017-05-31 珠海市魅族科技有限公司 数据恢复的方法及装置
US10963349B2 (en) * 2017-08-25 2021-03-30 Vmware, Inc. Containerized application snapshots
CN109726007B (zh) * 2017-10-31 2023-05-26 中兴通讯股份有限公司 一种容器编排配额管理方法和装置、及容器编排系统
CN108958976A (zh) * 2018-07-02 2018-12-07 山东汇贸电子口岸有限公司 一种pv快照备份恢复分布式数据库数据方法和系统
CN109614202A (zh) * 2018-12-04 2019-04-12 北京京东尚科信息技术有限公司 容器环境的备份、恢复以及镜像处理方法和系统
CN110688199A (zh) * 2019-09-29 2020-01-14 苏州浪潮智能科技有限公司 一种数据还原方法、系统、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770410A (zh) * 2009-01-07 2010-07-07 联想(北京)有限公司 基于客户操作系统的系统还原方法、虚拟机管理器及系统
WO2015131714A1 (zh) * 2014-07-31 2015-09-11 中兴通讯股份有限公司 一种还原数据源的方法、分组传送平台及存储介质

Also Published As

Publication number Publication date
CN111880896A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
US8738883B2 (en) Snapshot creation from block lists
CN106502703B (zh) 一种函数调用方法和装置
CN102984357B (zh) 一种联系人信息管理方法及装置
CN106776908B (zh) 数据清理方法、装置及终端
CN103677870A (zh) 系统升级方法及采用该方法升级的系统
CN111158750A (zh) 一种基于Unity的游戏安装包的打包方法及装置
CN114205365B (zh) 应用界面迁移系统、方法及相关设备
CN109147022A (zh) Vr数据渲染方法和系统、计算机设备、计算机存储介质
CN110442426A (zh) 一种密码重置方法、装置及存储介质
CN110652728A (zh) 一种游戏资源管理方法、装置、电子设备及存储介质
CN111880896B (zh) 一种快速还原容器及运行状态数据的方法和装置
CN108090345A (zh) linux系统外部命令执行方法及装置
CN115576600A (zh) 基于代码变更的差异处理方法、装置、终端及存储介质
CN103037076A (zh) 一种移动终端的状态备份还原方法及装置
CN111767169B (zh) 数据处理方法、装置、电子设备及存储介质
CN108874495B (zh) 一种主题资源转换方法、装置及电子设备
CN113392091A (zh) 分布式集群数据迁移方法及装置
CN114356867A (zh) 一种压缩包文件的打开方法、装置、电子设备及存储介质
CN114281321A (zh) 一种软件开发快捷编辑方法、装置、电子设备及介质
CN110704157B (zh) 一种应用启动方法、相关装置及介质
CN113110846A (zh) 一种环境变量的获取方法及装置
CN112036133A (zh) 一种文件保存方法、装置、电子设备及存储介质
CN111399975A (zh) 基于云计算管理平台的虚拟机快照管理方法、装置及系统
CN113645057B (zh) 一种云平台支持添加网卡模型的方法、装置
CN114003228B (zh) 界面更新方法、装置、计算机设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method and Device for Quickly Restoring Container and Running State Data

Effective date of registration: 20230628

Granted publication date: 20220531

Pledgee: Shizhong Branch of Qilu Bank Co.,Ltd.

Pledgor: Shandong dete Zhilian Information Technology Co.,Ltd.

Registration number: Y2023980046085

PE01 Entry into force of the registration of the contract for pledge of patent right