CN116501552B - 数据备份的方法、装置、系统及存储介质 - Google Patents
数据备份的方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN116501552B CN116501552B CN202310743572.8A CN202310743572A CN116501552B CN 116501552 B CN116501552 B CN 116501552B CN 202310743572 A CN202310743572 A CN 202310743572A CN 116501552 B CN116501552 B CN 116501552B
- Authority
- CN
- China
- Prior art keywords
- backup
- information
- service system
- data
- data information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008859 change Effects 0.000 claims description 40
- 238000004458 analytical method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 14
- 230000002688 persistence Effects 0.000 claims description 11
- 238000011084 recovery Methods 0.000 abstract description 23
- 230000000694 effects Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000000306 component Substances 0.000 description 150
- 230000008569 process Effects 0.000 description 24
- 230000006978 adaptation Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 239000008358 core component Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据备份的方法、装置、系统及存储介质,其中,该方法包括:获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息;依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份。通过本申请,解决了相关技术中对容器云平台的备份只能机械的复制文件目录,导致备份的数据信息无法被原有的容器云平台所识别的问题,进而达到了提高容器云平台的容灾备份能力的效果。
Description
技术领域
本申请实施例涉及数据备份领域,具体而言,涉及一种数据备份的方法、装置、系统及存储介质。
背景技术
以Kubernetes(容器编排引擎)和Docker(应用容器引擎)为代表的云原生技术,以其独特的设计理念和高度自动化的运维能力得到了各行业的认可,现在基于云原生技术的容器云平台已经成为企业数字化转型过程中新的选择。
作为云平台除了实现对于资源管理、运维、运营的能力,更重要的是通过云平台的技术手段保证业务的稳定性和持续服务能力,所以云平台所能提供的备份容灾能力则显得尤为重要。相关技术中,针对容器形态资源的备份没有成熟的产品,大部分还是停留在针对虚拟机或者操作系统层面的备份功能,对于容器化的形态智能提供机械的文件目录复制的功能。但是这种机械的复制,会导致备份的数据信息无法被原有的容器云平台所识别。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据备份的方法、装置、系统及存储介质,以至少解决相关技术中对容器云平台的备份只能机械的复制文件目录,导致备份的数据信息无法被原有的容器云平台所识别的问题。
根据本申请的一个实施例,提供了一种数据备份的方法,包括:获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息;依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份。
在一个示例性实施例中,获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,包括:检测容器云平台中的服务器端口,其中,服务器端口为容器云平台中进行数据通信的接口;在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息,其中,数据信息变化包括以下至少之一:元数据信息的变化和业务系统数据信息的变化。
在一个示例性实施例中,在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息,包括:从容器云平台中的分布式键值数据库中调度元数据信息;从容器云平台中的第一组件和第二组件中调度业务系统数据信息,并通过第一组件和第二组件确定业务系统数据信息和元数据信息之间的关联关系,其中,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在一个示例性实施例中,从容器云平台中的分布式键值数据库中调度元数据信息,包括:解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为元数据信息的情况下,从容器云平台中的分布式键值数据库中调度元数据信息。
在一个示例性实施例中,从容器云平台中的第一组件和第二组件中调度业务系统数据信息,包括:解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为业务系统数据信息的情况下,从第一组件和第二组件中调度业务系统数据信息。
在一个示例性实施例中,从容器云平台中的第一组件和第二组件中调度业务系统数据信息,包括:通过第一组件和第二组件,从与容器云平台对应的存储介质中调度业务系统数据信息,其中,业务系统数据信息为持久化后的业务系统数据信息。
在一个示例性的实施例中,依据业务系统数据信息与元数据信息之间的关联关系,对业务系统数据信息进行备份,包括:从元数据信息中确定与元数据信息对应的第二组件的列表;读取列表中的每个第二组件对应的业务系统数据信息,并对业务系统数据信息进行备份。
在一个示例性实施例中,对元数据信息和业务系统数据信息进行备份,包括:在容器云平台中发生变化的数据信息为元数据信息的情况下,通过第一备份方式对元数据信息进行备份;在容器云平台中发生变化的数据信息为业务系统数据信息的情况下,通过第二备份方式对业务系统数据信息进行备份,其中,第一备份方式和第二备份方式分别对不同数据来源的数据信息进行备份。
在一个示例性实施例中,通过第一备份方式对元数据信息进行备份,包括:将从分布式键值数据库中获取的元数据信息存储在备份存储介质中,并以第一命名方式命名第一备份文件,其中,第一备份文件用于存储发生变化的元数据信息。
在一个示例性实施例中,第一命名方式通过以下方式确定:获取元数据信息的第一更新时间;依据第一更新时间、第一随机数和分布式键值数据库的标识确定第一命名方式。
在一个示例性实施例中,通过第二备份方式对业务系统数据信息进行备份,包括:将通过容器云平台中的第一组件和第二组件从存储介质中获取的业务系统数据信息存储在备份存储介质中,并以第二命名方式命名第二备份文件,其中,第二备份文件用于存储发生变化的业务系统数据信息,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在一个示例性实施例中,第二命名方式通过以下方式确定:获取业务系统数据信息的第二更新时间;依据第二更新时间、第二随机数和业务系统数据信息的标识确定第二命名方式。
在一个示例性实施例中,对元数据信息和业务系统数据信息进行备份,包括:将第一备份文件和第二备份文件转化为指定格式的文件,其中,指定格式为备份存储介质支持的格式;将指定格式的文件存储在备份存储介质中。
在一个示例性实施例中,将指定格式的文件存储在备份存储介质中,包括:确定指定格式的文件对应的存储类型和存储形态;依据存储类型和存储形态,将指定格式的文件存储到对应的备份存储介质中,其中,存储形态包括以下之一:集中存储和分布式存储,存储类型包括以下之一:块存储、对象存储和文件存储。
在一个示例性实施例中,对元数据信息和业务系统数据信息进行备份之后,方法还包括:依据备份文件中的数据信息将容器云平台中的数据恢复到目标时间点对应的数据,其中,备份文件为将元数据信息和业务系统数据信息进行备份后得到的文件。
在一个示例性实施例中,依据备份文件中的数据信息将容器云平台中的数据恢复到目标时间点对应的数据,包括:获取目标时间点之前的备份文件和基础数据备份文件,其中,备份文件包括元数据信息对应的第一增量备份文件以及业务系统数据信息对应的第二增量备份文件,基础数据备份文件为容器云平台部署后未发生数据变化时的原始数据对应的文件;将第一增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标元数据文件;将第二增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标业务系统数据文件;依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据。
在一个示例性实施例中,依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据,包括:将容器云平台的分布式键值数据库中的数据信息全部替换为目标元数据文件中的数据;通过写操作将目标业务系统数据文件中的数据写入存储介质,并覆盖存储介质中的原有数据,其中,存储介质用于存储业务系统数据信息。
在一个示例性实施例中,业务系统数据信息包括业务系统的日志数据和业务系统的业务数据;元数据信息包括容器云平台的配置信息和资源状态信息。
根据本申请的另一个实施例,提供了一种数据备份的装置,包括:获取模块,用于获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息;备份模块,用于依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份。
根据本申请的又一个实施例,还提供了一种数据备份的系统,包括:容器云平台、备份存储介质和存储介质,其中,容器云平台,包括分布式键值数据库、服务器端口和备份组件,分布式键值数据库用于存储容器云平台中的元数据信息,服务器端口为容器云平台中进行数据通信的接口,备份组件用于获取元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息;依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份,得到第一备份文件和第二备份文件,其中,第一备份文件用于存储发生变化的元数据信息,第二备份文件用于存储发生变化的业务系统数据信息;备份存储介质,用于存储第一备份文件和第二备份文件;存储介质,用于存储业务系统数据信息。
在一个示例性实施例中,备份组件还用于:检测服务器端口;在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息。
在一个示例性实施例中,备份组件还用于:从分布式键值数据库中调度元数据信息;从容器云平台中的第一组件和第二组件中调度业务系统数据信息,并通过第一组件和第二组件确定业务系统数据信息和元数据信息之间的关联关系,其中,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在一个示例性实施例中,备份组件还用于:获取目标时间点之前的备份文件和基础数据备份文件,其中,备份文件为将元数据信息和业务系统数据信息进行备份后得到的文件,备份文件包括元数据信息对应的第一增量备份文件以及业务系统数据信息对应的第二增量备份文件,基础数据备份文件为容器云平台部署后未发生数据变化时的原始数据对应的文件;将第一增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标元数据文件;将第二增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标业务系统数据文件;依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项数据备份的方法中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项数据备份的方法中的步骤。
通过本申请,由于获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,在业务系统数据信息中包括业务系统数据信息与元数据信息之间的关联关系,在对业务系统数据信息进行备份的过程中,可以根据该关联关系,确定与进行备份的业务系统数据信息对应的元数据信息,因此,可以解决相关技术中对容器云平台的备份只能机械的复制文件目录,导致备份的数据信息无法被原有的容器云平台所识别的问题,达到提高容器云平台的容灾备份能力的效果。
附图说明
图1是根据本申请实施例的一种数据备份的方法的移动终端的硬件结构框图;
图2是根据本申请实施例的一种数据备份的方法的流程图;
图3a是根据本申请实施例的数据备份过程的示意图;
图3b是根据本申请实施例的数据恢复过程的示意图;
图4是根据本申请实施例的一种数据备份的装置的结构框图;
图5是根据本申请实施例的一种数据备份的系统的结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先,在对本申请实施例进行解释说明的过程中出现的部分名词或术语适用于如下解释:
Kubernetes,是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
etcd,是一个高度一致的分布式键值(key-value)存储,它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据。
PersistentVolume (持久卷,简称PV) 是集群内,由管理员提供的网络存储的一部分。就像集群中的节点一样,PV也是集群中的一种资源。它也像Volume 一样,是一种Volume插件,但是它的生命周期却是和使用它的Pod(运行单元)相互独立的。PV这个API(Application Programming Interface,应用程序编程接口)对象,捕获了诸如NFS(Network File System,网络文件系统)、ISCSI(Internet Small Computer SystemInterface,互联网小型计算机系统接口)、或其他云存储系统的实现细节。
PersistentVolumeClaim (持久卷声明,简称PVC) 是用户的一种存储请求。它和Pod类似,Pod消耗Node(节点)资源,而PVC消耗PV资源。Pod能够请求特定的资源 (如CPU和内存)。PVC能够请求指定的大小和访问的模式 (可以被映射为一次读写或者多次只读) 。
Docker,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Pod,是一种组合的多容器运行单元,也是Kubernetes里的一个基础单元,是一种容器的扩展或者增强型的容器。Pod里面包括一个主容器和数个辅助容器,它们共同完成一个特定的功能。把多个进程(容器也是一种隔离的进程)打包在一个Name Space(命名空间)里的时候,就构成了一个Pod。Pod里面不同进程的应用包装仍然是独立的(每个容器都会有自己的镜像)。
相关技术中对容器云平台的备份只能机械的复制文件目录,导致备份的数据信息无法被原有的容器云平台所识别,因为容器云平台产生的业务数据信息与容器云平台本身有着关联关系,如果数据拷贝过程中不能将业务数据信息与原有容器云平台的元数据信息关联,并且将元数据信息一并备份,那么就会出现上文提到的无法识别的问题。除了专业的备份厂商,商业版的容器云平台产品大部分也存在类似的问题,无法真正做到容灾备份的功能。
基于上述问题,本申请实施例提出一种基于容器云平台的容灾备份方案,该方案是基于充分理解容器云平台核心技术架构,也就是Kubernetes调度管理平台实现原理的基础上,扩展Kubernetes平台组件能力,新增backup-controller组件,依赖该组件最终做到自动化,自助式、多手段的容灾备份能力。备份过程不需要人为后台操作,只需要通过前台界面配置备份策略即可实现自动化容灾备份需求,以下详细介绍。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种数据备份的方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的数据备份的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的方法,图2是根据本申请实施例的一种数据备份的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息。
步骤S204,依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份。
上述步骤S202至步骤S204中的执行主体可以为基于Kubernetes平台(资源调度管理平台,在本申请实施例中可指容器云平台)增加的容灾备份组件backup-controller(可简称为备份组件),该组件基于go语言开发,符合Kubernetes技术架构要求,可与Kuberentes平台中的kube-apiserver(指后文中的服务器端口)、scheduler(任务调度器)、kube-controller-manager(控制管理器)、etcd(分布式键值存储)等核心组件进行信息通信,通过与Kubernetes核心的信息交互,检测容器云平台中数据信息的变化,数据信息包括容器云平台自身的元数据信息和容器云平台上的业务系统产生的业务系统数据信息两大部分。
容器云平台自身的元数据信息,可以包括容器云平台的配置信息和资源状态信息,具体地,配置信息例如可以包括容器云平台的节点角色,管理组件部署模式,资源配置,网络配置地址信息、身份认证以及权限管理、角色配置等负责平台基础数据内容,资源状态信息包括容器云平台的容器镜像资源、容器资源、负载资源、网络资源、存储资源等运行时资源信息。上述配置信息和资源状态信息均会被记录在容器云平台中的etcd这个高可用分布式键值数据库中,可以说etcd数据库中记录的是整个容器云平台最核心的元数据信息,容器云平台的关联数据信息也即etcd中的核心数据。所以本申请中的备份组件的核心能力之一就是对etcd数据库的备份能力,但是这个备份不是机械的对etcd的全量备份,而是基于对于容器云平台运行检测的前提下,对容器云平台的变化信息做容灾备份,减少全量备份带来的网络带宽开销和时间的消耗,实现容灾备份过程中的高效。
业务系统数据信息,指的是以容器形态运行在容器云平台上的业务系统所产生的业务数据,容器资源有别于虚拟机台资源,运行过程中产生的数据不会直接被持久化,而只是临时被存储,当容器资源被重启或者重建时候临时数据会被清除。对于保留数据的业务系统,需要提供专门的存储跟容器平台进行对接,将需要保留的数据持久化到对应的存储设备或存储介质上,而这部分被保留在存储设备或存储介质上的数据信息就称为业务系统数据信息,业务系统数据信息包括业务系统(如业务软件系统)运行本身产生的日志数据和业务系统中持久化后的业务数据。
本申请中的备份组件的另一个核心的能力是对业务系统数据信息进行备份的能力,相较于容器云平台的元数据,业务系统数据信息存储的介质在专门的存储设备或存储介质上,所以组件需要能够自动识别不同品牌、厂商的存储设备,以及同品牌存储支持的不同类型存储服务比如块存储、文件存储、对象存储。备份组件实时检测业务系统数据变化,然后根据对应存储系统的存储服务,进行增量数据容灾备份,容灾备份过程不依赖底层存储。
通过上述步骤,获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,在业务系统数据信息中包括业务系统数据信息与元数据信息之间的关联关系,在对业务系统数据信息进行备份的过程中,可以根据该关联关系,确定与进行备份的业务系统数据信息对应的元数据信息,因此,可以解决相关技术中对容器云平台的备份只能机械的复制文件目录,导致备份的数据信息无法被原有的容器云平台所识别的问题,达到提高容器云平台的容灾备份能力的效果。
步骤S202和步骤S204的执行顺序是可以互换的,即可以先执行步骤S204,然后再执行S202。
在上述数据备份的方法中的步骤S202中,获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,具体包括如下步骤:检测容器云平台中的服务器端口,其中,服务器端口为容器云平台中进行数据通信的接口;在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息,其中,数据信息变化包括以下至少之一:元数据信息的变化和业务系统数据信息的变化。
在上述步骤中,在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息,具体包括如下步骤:从容器云平台中的分布式键值数据库(即etcd数据库)中调度元数据信息;从容器云平台中的第一组件和第二组件中调度业务系统数据信息,并通过第一组件和第二组件确定业务系统数据信息和元数据信息之间的关联关系,其中,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在本申请实施例中,备份组件在对元数据信息和业务系统数据信息进行备份的过程中,备份的关键是与Kubernetes的通信,其实就是对Kubernetes平台核心组件kube-apiserver(即上述服务器端口)的检测,kube-apiserver是Kubernetes平台各个模块之间的数据交互和通信的枢纽,Kubernetes平台的任何信息变动都会通过apiserver去进行通信调度,该调度包括调度etcd更新数据库元数据信息以及调度容器云平台PersistentVolume(即上述第一组件,简称为PV)和PersistenVolumeClaim(即上述第二组件,简称为PVC)组件持久化后的业务系统数据信息。由于PV组件和PVC组件会记录发生变化的业务系统数据信息与对应的元数据信息之间的关联关系(即对应关系),因此,在通过PV组件和PVC组件调度业务系统数据信息时,可以确定业务系统数据信息和元数据信息之间的对应关系,从而在对业务系统数据信息进行备份时,原有的容器云平台可以根据该关联对应关系识别备份的数据信息。
在上述步骤中,从容器云平台中的分布式键值数据库中调度元数据信息,具体包括如下步骤:解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为元数据信息的情况下,从容器云平台中的分布式键值数据库中调度元数据信息。
在上述步骤中,从容器云平台中的第一组件和第二组件中调度业务系统数据信息,具体包括如下步骤:解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为业务系统数据信息的情况下,从第一组件和第二组件中调度业务系统数据信息。
在上述步骤中,从容器云平台中的第一组件和第二组件中调度业务系统数据信息,具体包括如下步骤:通过第一组件和第二组件,从与容器云平台对应的存储介质中调度业务系统数据信息,其中,业务系统数据信息为持久化后的业务系统数据信息。
在本申请实施例中,备份组件通过检测kube-apiserver是否发生(数据)变化确定是否要进行数据备份,具体地,可以通过备份组件中的备份管理模块检测kube-apiserver是否发生变化,当检测到kube-apiserver发生变化时,需先获取检测到的发生变化的数据信息对应的数据报文,并解析该数据报文的内容,当解析结果指示发生变化的数据信息为容器云平台中元数据信息的情况下,例如用户新建了容器实例,实例的资源配置、镜像信息、配置文件内容、存储信息均属于容器云平台记录的元数据信息,需要从etcd数据库中调度发生变化的元数据信息。当解析结果指示发生变化的数据信息为容器云平台中的业务系统数据信息的情况下,触发容器云平台中的PV组件和PVC组件,通过PV组件和PVC组件从存储介质中反向获取发生变化且被持久化后的业务系统数据信息。
在上述数据备份的方法中的步骤S204中,对元数据信息和业务系统数据信息进行备份,具体包括如下步骤:在容器云平台中发生变化的数据信息为元数据信息的情况下,通过第一备份方式对元数据信息进行备份;在容器云平台中发生变化的数据信息为业务系统数据信息的情况下,通过第二备份方式对业务系统数据信息进行备份,其中,第一备份方式和第二备份方式分别对不同数据来源的数据信息进行备份。
在本申请实施例中,在通过解析数据报文确定发生变化的数据信息为元数据信息的情况下,会触发第一备份方式,该第一备份方式即etcd数据备份机制,也即当此次元数据信息的变化请求在etcd数据库中刷新时自动触发该etcd数据备份机制;在通过解析数据报文确定发生变化的数据信息为业务系统数据信息的情况下,会触发第二备份方式,第二备份方式与第一备份方式不同,该第二备份方式会触发PV组件和PVC组件,通过PV组件和PVC组件反向获取持久化后的业务系统数据信息,从而对业务系统数据信息进行备份。
在上述数据备份的方法中的步骤S204中,依据业务系统数据信息与元数据信息之间的关联关系,对业务系统数据信息进行备份,包括:从元数据信息中确定与元数据信息对应的第二组件的列表;读取列表中的每个第二组件对应的业务系统数据信息,并对业务系统数据信息进行备份。
在本申请实施例中,元数据信息与业务系统数据信息通过第二组件PVC进行关联,具体地,一个PVC属于一个Pod资源元数据信息,每个PVC可以读取对应的后端数据(即业务系统数据信息),当需要对业务系统数据信息进行备份时,通过PVC读取对应的业务系统数据信息,而每个PVC与Pod资源元数据信息是关联的,也即元数据信息和业务系统数据信息通过PVC实现关联关系。
例如在图3a中,Pod资源元数据信息中包含了CPU、内存、PVC卷、网卡、配置等相关信息。其中一个Pod可以对应多个PVC卷,一个PVC只能属于一个Pod资源。本申请实施例在备份业务系统数据时,从Pod元数据信息中获取对应PVC的列表,然后通过存储接口进行反向数据读取,也就是说将列表中每个PVC对应的后端数据(即业务系统数据信息)重新读取保存。这样在回复的过程中就可以针对PVC来回复,而PVC又与Pod元数据是关联的,进而实现了元数据信息和业务系统数据信息关联备份的能力。
在上述步骤中,通过第一备份方式对元数据信息进行备份,具体包括如下步骤:将从分布式键值数据库中获取的元数据信息存储在备份存储介质中,并以第一命名方式命名第一备份文件,其中,第一备份文件用于存储发生变化的元数据信息。
在上述步骤中,第一命名方式通过以下方式确定:获取元数据信息的第一更新时间;依据第一更新时间、第一随机数和分布式键值数据库的标识确定第一命名方式。
在本申请实施例中,在通过第一备份方式对元数据信息进行备份时,会将此次发生变化的元数据信息以特定的文件格式存储在与备份组件对应的备份存储介质中,该元数据信息对应的存储文件即上述第一备份文件,该第一备份文件的命名格式例如可以为:“元数据的更新时间+8位随机数+etcd”,其中,该命名格式中的“元数据的更新时间”即上述第一更新时间,该格式中的“8位随机数”即上述第一随机数,且随机数的位数可根据实际情况设置,此处不做限定,该格式中的“etcd”即上述分布式键值数据库的标识。
需要说明的是,通过第一备份方式对元数据信息进行备份时,由备份组件中的备份管理模块检测kube-apiserver,在kube-apiserver中更新的数据为元数据信息时自动触发。
在上述步骤中,通过第二备份方式对业务系统数据信息进行备份,具体包括如下步骤:将通过容器云平台中的第一组件和第二组件从存储介质中获取的业务系统数据信息存储在备份存储介质中,并以第二命名方式命名第二备份文件,其中,第二备份文件用于存储发生变化的业务系统数据信息,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在上述步骤中,第二命名方式通过以下方式确定:获取业务系统数据信息的第二更新时间;依据第二更新时间、第二随机数和业务系统数据信息的标识确定第二命名方式。
在本申请实施例中,通过第二备份方式对业务系统数据信息进行备份时,通过PV组件和PVC组件,从存储有持久化后的业务系统数据信息的存储介质中反向获取此次发生变化的业务系统数据信息,将得到的业务系统数据信息存储在与备份组件对应的备份存储介质中,该业务系统数据信息对应的存储文件即上述第二备份文件,该第二备份文件的命名格式例如可以为:“业务系统数据信息的更新时间+8位随机数+busidata”,其中,该命名格式中的“业务系统数据信息的更新时间”即上述第二更新时间,该格式中的“8位随机数”即上述第二随机数,该第二随机数可以与第一随机数相同,也可以不同,且第二随机数的位数可以根据实际情况设置,此处不做限定,该格式中的“busidata”即上述业务系统数据信息的标识。
需要说明的是,通过第二备份方式对业务系统数据信息进行备份时,由备份组件中的备份管理模块检测kube-apiserver,在kube-apiserver中更新的数据为业务系统数据信息时自动触发。
在上述步骤中,对元数据信息和业务系统数据信息进行备份,包括如下步骤:将第一备份文件和第二备份文件转化为指定格式的文件,其中,指定格式为备份存储介质支持的格式;将指定格式的文件存储在备份存储介质中。
在上述步骤中,将指定格式的文件存储在备份存储介质中,具体包括如下步骤:确定指定格式的文件对应的存储类型和存储形态;依据存储类型和存储形态,将指定格式的文件存储到对应的备份存储介质中,其中,存储形态包括以下之一:集中存储和分布式存储,存储类型包括以下之一:块存储、对象存储和文件存储。
在本申请实施例中,在对元数据信息和业务系统数据信息进行备份的过程中,可以通过备份组件中的存储适配模块实现,具体地,存储适配模块是指在容器云平台中与备份存储介质的存储接口适配的组件,存储适配模块在获取到备份管理模块的数据(即上述第一备份文件和第二备份文件)后,将第一备份文件和第二备份文件转换为备份存储介质可以识别的指定格式,再调用后端存储的接口将指定格式的文件保存到备份存储介质上,存储适配模块关键的工作就是格式转化和适配后端备份存储介质的接口。按照当前企业对备份存储介质的使用方式,存储适配模块需要支持集中存储、分布式存储等多种形态的存储介质;块存储、对象存储、文件存储三种存储类型。该存储形态和存储类型为与使用该备份存储介质的企业对应,也即每个备份存储介质中的存储形态和存储类型为确定的,是在生产该备份存储介质时就预先配置好的,每个企业选择与其适配的备份存储介质用于存储备份的元数据信息和业务系统数据信息。
通过图3a所示的数据备份过程的示意图对上述过程进行解释说明,在图3a中,管理节点和计算节点均属于容器云平台中的节点,管理节点包括kube-apiserver(即服务器端口)、etcd数据库(用于存储元数据信息)和备份组件backup-controller,备份组件包括备份管理模块、存储适配模块和数据恢复模块,每个计算节点包括Pod、PV和PVC,存储介质用于存储容器云平台中的持久化后的业务系统数据信息(即图3a中的业务数据),备份存储介质用于存储容器云平台的备份数据,包括容器云平台的基础数据备份文件、元数据信息和业务系统数据信息对应的增量备份文件。在具体的数据备份过程中,备份组件检测kube-apiserver的状态,当检测到kube-apiserver中发生数据变化的情况下,需先获取检测到的发生变化的数据信息对应的数据报文,并解析该数据报文的内容,当解析结果指示发生变化的数据信息为容器云平台中元数据信息的情况下,自动触发第一备份方式,具体地,备份管理模块从etcd数据库中获取发生变化的元数据信息,以特定的文件格式将该元数据信息通过存储适配模块存储在与备份组件对应的备份存储介质中。当解析结果指示发生变化的数据信息为业务系统数据信息的情况下,自动触发第二备份方式,具体地,备份管理模块通过计算节点中的PV组件和PVC组件从存储介质中反向获取发生变化且被持久化后的业务系统数据信息,以特定的文件格式将该业务系统数据信息通过存储适配模块存储在与备份组件对应的备份存储介质中。
在上述数据备份的方法中的步骤S204中,对元数据信息和业务系统数据信息进行备份之后,方法还包括如下步骤:依据备份文件中的数据信息将容器云平台中的数据恢复到目标时间点对应的数据,其中,备份文件为将元数据信息和业务系统数据信息进行备份后得到的文件。
在上述步骤中,依据备份文件中的数据信息将容器云平台中的数据恢复到目标时间点对应的数据,具体包括如下步骤:获取目标时间点之前的备份文件和基础数据备份文件,其中,备份文件包括元数据信息对应的第一增量备份文件以及业务系统数据信息对应的第二增量备份文件,基础数据备份文件为容器云平台部署后未发生数据变化时的原始数据对应的文件;将第一增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标元数据文件;将第二增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标业务系统数据文件;依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据。
在本申请实施例中,通过备份存储介质中存储的备份文件,可以将容器云平台中的数据恢复到目标时间点对应的数据,即可以实现容灾备份数据的逆向恢复过程,具体地,可以通过备份组件中的数据恢复模块实现,上文中提到在数据容灾备份过程中会以增量文件的形式存储到与备份组件对接的后端存储设备(即备份存储介质),由于容灾备份是每次etcd更新和业务系统数据持久化的时候触发,所以在备份存储介质上存在一些备份文件,类似格式如下“2023020911230645832167etcd.data”、“2023020911230645834167etcd.data”,当用户需要恢复备份数据时,可以选择需要恢复的时间点(即上述目标时间点),数据恢复模块会自动合并文件信息,将该目标时间点之前的增量备份文件(包括元数据信息对应的第一增量备份文件和业务系统数据信息对应的第二增量备份文件)和基础数据备份文件进行合并,最终形成该目标时间点容器云平台的元数据信息和业务系统数据信息分别对应的目标元数据文件和目标业务系统数据文件,然后用户可以选择将目标文件(包括目标元数据文件和目标业务系统数据文件)恢复到原有数据中心或更新到异地的数据中心,数据恢复模块会将合并后的目标文件传输到对应的容器云平台,将目标文件全量更新到对应的组件,具体地,将目标元数据文件更新到etcd数据库中,将目标业务系统数据文件更新到存储介质中。
在上述步骤中,依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据,具体包括如下步骤:将容器云平台的分布式键值数据库中的数据信息全部替换为目标元数据文件中的数据;通过写操作将目标业务系统数据文件中的数据写入存储介质,并覆盖存储介质中的原有数据,其中,存储介质用于存储业务系统数据信息。
在本申请实施例中,在对容器云平台进行数据恢复的过程中,若恢复的文件中的数据为元数据信息,则会将元数据信息对应的目标元数据文件全量覆盖etcd数据库中存储的数据,若恢复的文件中的数据为持久化的业务系统数据信息,则会通过触发PV组件和PVC组件的写操作,将业务系统数据信息对应的目标业务系统数据文件的内容重新写入后端的存储介质中,并对存储介质中的原有数据进行全量覆盖。
通过图3b所示的数据恢复过程的示意图对上述过程进行解释说明,在图3b中,当用户需要恢复备份数据时,先选择需要恢复的目标时间点,数据恢复模块通过存储适配模块从备份存储介质中获取该目标时间点之前的增量备份文件(包括元数据信息对应的第一增量备份文件和业务系统数据信息对应的第二增量备份文件)和基础数据备份文件,将增量备份文件和基础数据备份文件进行合并,得到该目标时间点容器云平台的元数据信息和业务系统数据信息分别对应的目标元数据文件和目标业务系统数据文件,将目标元数据文件中的元数据信息更新到etcd数据库中,并覆盖etcd数据库中原来存储的数据;通过触发PV组件和PVC组件的写操作,将目标业务系统数据文件中的业务系统数据信息重新写入后端的存储介质中,并对存储介质中的原有数据进行全量覆盖。
本申请实施例提供的数据备份的方法,基于Kubernetes框架开发,是对Kubernetes平台的扩展,兼容性优异,操作简单并且备份数据可以支持多种存储介质,具有普遍适应能力。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种数据备份的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的一种数据备份的装置的结构框图,如图4所示,该装置包括:
获取模块402,用于获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息;
备份模块404,用于依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份。
在上述数据备份的装置中的获取模块中,获取容器云平台中的元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,具体包括如下过程:检测容器云平台中的服务器端口,其中,服务器端口为容器云平台中进行数据通信的接口;在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息,其中,数据信息变化包括以下至少之一:元数据信息的变化和业务系统数据信息的变化。
在上述数据备份的装置中的获取模块中,该获取模块还用于在服务器端口中存在数据信息变化的情况下,从容器云平台中的分布式键值数据库中调度元数据信息;从容器云平台中的第一组件和第二组件中调度业务系统数据信息,并通过第一组件和第二组件确定业务系统数据信息和元数据信息之间的关联关系,其中,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在上述数据备份的装置中的获取模块中,该获取模块还用于解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为元数据信息的情况下,从容器云平台中的分布式键值数据库中调度元数据信息。
在上述数据备份的装置中的获取模块中,该获取模块还用于解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为业务系统数据信息的情况下,从第一组件和第二组件中调度业务系统数据信息。
在上述数据备份的装置中的获取模块中,该获取模块还用于通过第一组件和第二组件,从与容器云平台对应的存储介质中调度业务系统数据信息,其中,业务系统数据信息为持久化后的业务系统数据信息。
在上述数据备份的装置中的备份模块中,依据业务系统数据信息与元数据信息之间的关联关系,对业务系统数据信息进行备份,具体包括如下过程:从元数据信息中确定与元数据信息对应的第二组件的列表;读取列表中的每个第二组件对应的业务系统数据信息,并对业务系统数据信息进行备份。
在上述数据备份的装置中的备份模块中,对元数据信息和业务系统数据信息进行备份,具体包括如下过程:在容器云平台中发生变化的数据信息为元数据信息的情况下,通过第一备份方式对元数据信息进行备份;在容器云平台中发生变化的数据信息为业务系统数据信息的情况下,通过第二备份方式对业务系统数据信息进行备份,其中,第一备份方式和第二备份方式分别对不同数据来源的数据信息进行备份。
在上述数据备份的装置中的备份模块中,该备份模块还用于将从分布式键值数据库中获取的元数据信息存储在备份存储介质中,并以第一命名方式命名第一备份文件,其中,第一备份文件用于存储发生变化的元数据信息。
在上述数据备份的装置中,第一命名方式通过以下方式确定:获取元数据信息的第一更新时间;依据第一更新时间、第一随机数和分布式键值数据库的标识确定第一命名方式。
在上述数据备份的装置中的备份模块中,该备份模块还用于将通过容器云平台中的第一组件和第二组件从存储介质中获取的业务系统数据信息存储在备份存储介质中,并以第二命名方式命名第二备份文件,其中,第二备份文件用于存储发生变化的业务系统数据信息,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
在上述数据备份的装置中,第二命名方式通过以下方式确定:获取业务系统数据信息的第二更新时间;依据第二更新时间、第二随机数和业务系统数据信息的标识确定第二命名方式。
在上述数据备份的装置中,还包括存储模块406,该存储模块用于将第一备份文件和第二备份文件转化为指定格式的文件,其中,指定格式为备份存储介质支持的格式;将指定格式的文件存储在备份存储介质中。
在上述数据备份的装置中的存储模块中,该存储模块还用于确定指定格式的文件对应的存储类型和存储形态;依据存储类型和存储形态,将指定格式的文件存储到对应的备份存储介质中,其中,存储形态包括以下之一:集中存储和分布式存储,存储类型包括以下之一:块存储、对象存储和文件存储。
在上述数据备份的装置中,还包括恢复模块408,该恢复模块用于依据备份文件中的数据信息将容器云平台中的数据恢复到目标时间点对应的数据,其中,备份文件为将元数据信息和业务系统数据信息进行备份后得到的文件。
在上述数据备份的装置中的恢复模块中,该恢复模块还用于获取目标时间点之前的备份文件和基础数据备份文件,其中,备份文件包括元数据信息对应的第一增量备份文件以及业务系统数据信息对应的第二增量备份文件,基础数据备份文件为容器云平台部署后未发生数据变化时的原始数据对应的文件;将第一增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标元数据文件;将第二增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标业务系统数据文件;依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据。
在上述数据备份的装置中的恢复模块中,该恢复模块还用于将容器云平台的分布式键值数据库中的数据信息全部替换为目标元数据文件中的数据;通过写操作将目标业务系统数据文件中的数据写入存储介质,并覆盖存储介质中的原有数据,其中,存储介质用于存储业务系统数据信息。
在上述数据备份的装置中,业务系统数据信息包括业务系统的日志数据和业务系统的业务数据,元数据信息包括容器云平台的配置信息和资源状态信息。
需要说明的是,图4所示的数据备份的装置用于执行图2所示的数据备份的方法,因此上述数据备份的方法中的相关解释说明也适用于该数据备份的装置,此处不再赘述。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
图5是根据本申请实施例的一种数据备份的系统的结构图,如图5所示,该系统包括:容器云平台502、备份存储介质504和存储介质506,其中,容器云平台,包括分布式键值数据库etcd508、服务器端口510和备份组件512,分布式键值数据库用于存储容器云平台中的元数据信息,服务器端口为容器云平台中进行数据通信的接口,备份组件用于获取元数据信息,以及运行在容器云平台上的业务系统产生的业务系统数据信息,其中,元数据信息用于表示容器云平台的属性信息;依据业务系统数据信息与元数据信息之间的关联关系,对元数据信息和业务系统数据信息进行备份,得到第一备份文件和第二备份文件,其中,第一备份文件用于存储发生变化的元数据信息,第二备份文件用于存储发生变化的业务系统数据信息;备份存储介质,用于存储第一备份文件和第二备份文件;存储介质,用于存储业务系统数据信息。
上述数据备份的系统中的备份组件还用于检测服务器端口;在服务器端口中存在数据信息变化的情况下,获取元数据信息和业务系统数据信息,其中,数据信息变化包括以下至少之一:元数据信息的变化和业务系统数据信息的变化。
上述数据备份的系统中的备份组件还用于从容器云平台中的分布式键值数据库中调度元数据信息;从容器云平台中的第一组件和第二组件中调度业务系统数据信息,并通过第一组件和第二组件确定业务系统数据信息和元数据信息之间的关联关系,其中,第一组件用于提供网络存储,第二组件用于向第一组件请求存储空间的大小和访问模式。
上述数据备份的系统中的备份组件还用于解析服务器端口发生变化的数据信息对应的数据报文,得到数据报文的解析结果;在解析结果指示发生变化的数据信息为元数据信息的情况下,从容器云平台中的分布式键值数据库中调度元数据信息;在解析结果指示发生变化的数据信息为业务系统数据信息的情况下,从第一组件和第二组件中调度业务系统数据信息。
上述数据备份的系统中的备份组件还用于通过第一组件和第二组件,从与容器云平台对应的存储介质中调度业务系统数据信息,其中,业务系统数据信息为持久化后的业务系统数据信息。
上述数据备份的系统中的备份组件还用于从元数据信息中确定与元数据信息对应的第二组件的列表;读取列表中的每个第二组件对应的业务系统数据信息,并对业务系统数据信息进行备份。
上述数据备份的系统中的备份组件还用于在容器云平台中发生变化的数据信息为元数据信息的情况下,通过第一备份方式对元数据信息进行备份;在容器云平台中发生变化的数据信息为业务系统数据信息的情况下,通过第二备份方式对业务系统数据信息进行备份,其中,第一备份方式和第二备份方式分别对不同数据来源的数据信息进行备份。
上述数据备份的系统中的备份组件还用于将从分布式键值数据库中获取的元数据信息存储在备份存储介质中,并以第一命名方式命名第一备份文件,其中,第一备份文件用于存储发生变化的元数据信息。第一命名方式通过以下方式确定:获取元数据信息的第一更新时间;依据第一更新时间、第一随机数和分布式键值数据库的标识确定第一命名方式。
上述数据备份的系统中的备份组件还用于将通过容器云平台中的第一组件和第二组件从存储介质中获取的业务系统数据信息存储在备份存储介质中,并以第二命名方式命名第二备份文件,其中,第二备份文件用于存储发生变化的业务系统数据信息。第二命名方式通过以下方式确定:获取业务系统数据信息的第二更新时间;依据第二更新时间、第二随机数和业务系统数据信息的标识确定第二命名方式。
上述数据备份的系统中的备份组件还用于将第一备份文件和第二备份文件转化为指定格式的文件,其中,指定格式为备份存储介质支持的格式;将指定格式的文件存储在备份存储介质中。
上述备份组件还用于确定指定格式的文件对应的存储类型和存储形态;依据存储类型和存储形态,将指定格式的文件存储到对应的备份存储介质中,其中,存储形态包括以下之一:集中存储和分布式存储,存储类型包括以下之一:块存储、对象存储和文件存储。
上述数据备份的系统中的备份组件还用于依据备份文件中的数据信息将容器云平台中的数据恢复到目标时间点对应的数据,其中,备份文件为将元数据信息和业务系统数据信息进行备份后得到的文件。
上述数据备份的系统中的备份组件还用于获取目标时间点之前的备份文件和基础数据备份文件,其中,备份文件包括元数据信息对应的第一增量备份文件以及业务系统数据信息对应的第二增量备份文件,基础数据备份文件为容器云平台部署后未发生数据变化时的原始数据对应的文件;将第一增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标元数据文件;将第二增量备份文件和基础数据备份文件进行合并,得到目标时间点对应的目标业务系统数据文件;依据目标元数据文件和目标业务系统数据文件将容器云平台中的数据恢复到目标时间点对应的数据。
上述数据备份的系统中的备份组件还用于将容器云平台的分布式键值数据库中的数据信息全部替换为目标元数据文件中的数据;通过写操作将目标业务系统数据文件中的数据写入存储介质,并覆盖存储介质中的原有数据,其中,存储介质用于存储业务系统数据信息。
在上述数据备份的系统中,业务系统数据信息包括业务系统的日志数据和业务系统的业务数据,元数据信息包括容器云平台的配置信息和资源状态信息。
需要说明的是,图5所示的数据备份的系统用于执行图2所示的数据备份的方法,因此上述数据备份的方法中的相关解释说明也适用于该数据备份的系统,此处不再赘述。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种数据备份的方法,其特征在于,包括:
获取容器云平台中的元数据信息,以及运行在所述容器云平台上的业务系统产生的业务系统数据信息,其中,所述元数据信息用于表示所述容器云平台的属性信息;
依据所述业务系统数据信息与所述元数据信息之间的关联关系,对所述元数据信息和所述业务系统数据信息进行备份;
获取容器云平台中的元数据信息,以及运行在所述容器云平台上的业务系统产生的业务系统数据信息,包括:检测所述容器云平台中的服务器端口,其中,所述服务器端口为所述容器云平台中进行数据通信的接口;在所述服务器端口中存在数据信息变化的情况下,获取所述元数据信息和所述业务系统数据信息,其中,所述数据信息变化包括以下至少之一:所述元数据信息的变化和所述业务系统数据信息的变化。
2.根据权利要求1所述的方法,其特征在于,在所述服务器端口中存在数据信息变化的情况下,获取所述元数据信息和所述业务系统数据信息,包括:
从所述容器云平台中的分布式键值数据库中调度所述元数据信息;
从所述容器云平台中的第一组件和第二组件中调度所述业务系统数据信息,并通过所述第一组件和所述第二组件确定所述业务系统数据信息和所述元数据信息之间的关联关系,其中,所述第一组件用于提供网络存储,所述第二组件用于向所述第一组件请求存储空间的大小和访问模式。
3.根据权利要求2所述的方法,其特征在于,从所述容器云平台中的分布式键值数据库中调度所述元数据信息,包括:
解析所述服务器端口发生变化的数据信息对应的数据报文,得到所述数据报文的解析结果;
在所述解析结果指示所述发生变化的数据信息为所述元数据信息的情况下,从所述容器云平台中的分布式键值数据库中调度所述元数据信息。
4.根据权利要求2所述的方法,其特征在于,从所述容器云平台中的第一组件和第二组件中调度所述业务系统数据信息,包括:
解析所述服务器端口发生变化的数据信息对应的数据报文,得到所述数据报文的解析结果;
在所述解析结果指示所述发生变化的数据信息为所述业务系统数据信息的情况下,从所述第一组件和所述第二组件中调度所述业务系统数据信息。
5.根据权利要求2所述的方法,其特征在于,从所述容器云平台中的第一组件和第二组件中调度所述业务系统数据信息,包括:
通过所述第一组件和所述第二组件,从与所述容器云平台对应的存储介质中调度所述业务系统数据信息,其中,所述业务系统数据信息为持久化后的业务系统数据信息。
6.根据权利要求2所述的方法,其特征在于,依据所述业务系统数据信息与所述元数据信息之间的关联关系,对所述业务系统数据信息进行备份,包括:
从所述元数据信息中确定与所述元数据信息对应的所述第二组件的列表;
读取所述列表中的每个第二组件对应的业务系统数据信息,并对所述业务系统数据信息进行备份。
7.根据权利要求1所述的方法,其特征在于,对所述元数据信息和所述业务系统数据信息进行备份,包括:
在所述容器云平台中发生变化的数据信息为所述元数据信息的情况下,通过第一备份方式对所述元数据信息进行备份;
在所述容器云平台中发生变化的数据信息为所述业务系统数据信息的情况下,通过第二备份方式对所述业务系统数据信息进行备份,其中,所述第一备份方式和第二备份方式分别对不同数据来源的数据信息进行备份。
8.根据权利要求7所述的方法,其特征在于,通过第一备份方式对所述元数据信息进行备份,包括:
将从分布式键值数据库中获取的所述元数据信息存储在备份存储介质中,并以第一命名方式命名第一备份文件,其中,所述第一备份文件用于存储发生变化的元数据信息。
9.根据权利要求8所述的方法,其特征在于,所述第一命名方式通过以下方式确定:
获取所述元数据信息的第一更新时间;
依据所述第一更新时间、第一随机数和所述分布式键值数据库的标识确定所述第一命名方式。
10.根据权利要求8所述的方法,其特征在于,通过第二备份方式对所述业务系统数据信息进行备份,包括:
将通过所述容器云平台中的第一组件和第二组件从存储介质中获取的所述业务系统数据信息存储在所述备份存储介质中,并以第二命名方式命名第二备份文件,其中,所述第二备份文件用于存储发生变化的业务系统数据信息,所述第一组件用于提供网络存储,所述第二组件用于向所述第一组件请求存储空间的大小和访问模式。
11.根据权利要求10所述的方法,其特征在于,所述第二命名方式通过以下方式确定:
获取所述业务系统数据信息的第二更新时间;
依据所述第二更新时间、第二随机数和所述业务系统数据信息的标识确定所述第二命名方式。
12.根据权利要求10所述的方法,其特征在于,对所述元数据信息和所述业务系统数据信息进行备份,包括:
将所述第一备份文件和所述第二备份文件转化为指定格式的文件,其中,所述指定格式为所述备份存储介质支持的格式;
将所述指定格式的文件存储在所述备份存储介质中。
13.根据权利要求12所述的方法,其特征在于,将所述指定格式的文件存储在所述备份存储介质中,包括:
确定所述指定格式的文件对应的存储类型和存储形态;
依据所述存储类型和所述存储形态,将所述指定格式的文件存储到对应的所述备份存储介质中,其中,所述存储形态包括以下之一:集中存储和分布式存储,所述存储类型包括以下之一:块存储、对象存储和文件存储。
14.根据权利要求1所述的方法,其特征在于,对所述元数据信息和所述业务系统数据信息进行备份之后,所述方法还包括:
依据备份文件中的数据信息将所述容器云平台中的数据恢复到目标时间点对应的数据,其中,所述备份文件为将所述元数据信息和所述业务系统数据信息进行备份后得到的文件。
15.根据权利要求14所述的方法,其特征在于,依据备份文件中的数据信息将所述容器云平台中的数据恢复到目标时间点对应的数据,包括:
获取所述目标时间点之前的备份文件和基础数据备份文件,其中,所述备份文件包括所述元数据信息对应的第一增量备份文件以及所述业务系统数据信息对应的第二增量备份文件,所述基础数据备份文件为所述容器云平台部署后未发生数据变化时的原始数据对应的文件;
将所述第一增量备份文件和所述基础数据备份文件进行合并,得到所述目标时间点对应的目标元数据文件;
将所述第二增量备份文件和所述基础数据备份文件进行合并,得到所述目标时间点对应的目标业务系统数据文件;
依据所述目标元数据文件和所述目标业务系统数据文件将所述容器云平台中的数据恢复到所述目标时间点对应的数据。
16.根据权利要求15所述的方法,其特征在于,依据所述目标元数据文件和所述目标业务系统数据文件将所述容器云平台中的数据恢复到所述目标时间点对应的数据,包括:
将所述容器云平台的分布式键值数据库中的数据信息全部替换为所述目标元数据文件中的数据;
通过写操作将所述目标业务系统数据文件中的数据写入存储介质,并覆盖所述存储介质中的原有数据,其中,所述存储介质用于存储所述业务系统数据信息。
17.根据权利要求1所述的方法,其特征在于,所述业务系统数据信息包括所述业务系统的日志数据和所述业务系统的业务数据;所述元数据信息包括所述容器云平台的配置信息和资源状态信息。
18.一种数据备份的装置,其特征在于,包括:
获取模块,用于获取容器云平台中的元数据信息,以及运行在所述容器云平台上的业务系统产生的业务系统数据信息,其中,所述元数据信息用于表示所述容器云平台的属性信息;所述获取模块还用于检测所述容器云平台中的服务器端口,其中,所述服务器端口为所述容器云平台中进行数据通信的接口;在所述服务器端口中存在数据信息变化的情况下,获取所述元数据信息和所述业务系统数据信息,其中,所述数据信息变化包括以下至少之一:所述元数据信息的变化和所述业务系统数据信息的变化;
备份模块,用于依据所述业务系统数据信息与所述元数据信息之间的关联关系,对所述元数据信息和所述业务系统数据信息进行备份。
19.一种数据备份的系统,其特征在于,包括:容器云平台、备份存储介质和存储介质,其中,
所述容器云平台,包括分布式键值数据库、服务器端口和备份组件,所述分布式键值数据库用于存储所述容器云平台中的元数据信息,所述服务器端口为所述容器云平台中进行数据通信的接口,所述备份组件用于获取所述元数据信息,以及运行在所述容器云平台上的业务系统产生的业务系统数据信息,其中,所述元数据信息用于表示所述容器云平台的属性信息;检测所述服务器端口;在所述服务器端口中存在数据信息变化的情况下,获取所述元数据信息和所述业务系统数据信息;依据所述业务系统数据信息与所述元数据信息之间的关联关系,对所述元数据信息和所述业务系统数据信息进行备份,得到第一备份文件和第二备份文件,其中,所述第一备份文件用于存储发生变化的元数据信息,所述第二备份文件用于存储发生变化的业务系统数据信息;
所述备份存储介质,用于存储所述第一备份文件和所述第二备份文件;
所述存储介质,用于存储所述业务系统数据信息。
20.根据权利要求19所述的系统,其特征在于,所述备份组件还用于:
从所述分布式键值数据库中调度所述元数据信息;
从所述容器云平台中的第一组件和第二组件中调度所述业务系统数据信息,并通过所述第一组件和所述第二组件确定所述业务系统数据信息和所述元数据信息之间的关联关系,其中,所述第一组件用于提供网络存储,所述第二组件用于向所述第一组件请求存储空间的大小和访问模式。
21.根据权利要求20所述的系统,其特征在于,所述备份组件还用于:
获取目标时间点之前的备份文件和基础数据备份文件,其中,所述备份文件为将所述元数据信息和所述业务系统数据信息进行备份后得到的文件,所述备份文件包括所述元数据信息对应的第一增量备份文件以及所述业务系统数据信息对应的第二增量备份文件,所述基础数据备份文件为所述容器云平台部署后未发生数据变化时的原始数据对应的文件;
将所述第一增量备份文件和所述基础数据备份文件进行合并,得到所述目标时间点对应的目标元数据文件;
将所述第二增量备份文件和所述基础数据备份文件进行合并,得到所述目标时间点对应的目标业务系统数据文件;
依据所述目标元数据文件和所述目标业务系统数据文件将所述容器云平台中的数据恢复到所述目标时间点对应的数据。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至17任一项中所述的数据备份的方法的步骤。
23.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至17任一项中所述的数据备份的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310743572.8A CN116501552B (zh) | 2023-06-21 | 2023-06-21 | 数据备份的方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310743572.8A CN116501552B (zh) | 2023-06-21 | 2023-06-21 | 数据备份的方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501552A CN116501552A (zh) | 2023-07-28 |
CN116501552B true CN116501552B (zh) | 2023-09-08 |
Family
ID=87318704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310743572.8A Active CN116501552B (zh) | 2023-06-21 | 2023-06-21 | 数据备份的方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501552B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160352827A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | System and method for automatic cloud-based full-data backup and restore on mobile devices |
CN111625401A (zh) * | 2020-05-29 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 基于集群文件系统的数据备份方法、装置及可读存储介质 |
CN113467993A (zh) * | 2021-06-24 | 2021-10-01 | 广东浪潮智慧计算技术有限公司 | 一种云平台资源的还原方法、系统、设备及存储介质 |
CN115328696A (zh) * | 2022-07-28 | 2022-11-11 | 阿里云计算有限公司 | 一种数据库中的数据备份方法 |
-
2023
- 2023-06-21 CN CN202310743572.8A patent/CN116501552B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160352827A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | System and method for automatic cloud-based full-data backup and restore on mobile devices |
CN111625401A (zh) * | 2020-05-29 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 基于集群文件系统的数据备份方法、装置及可读存储介质 |
US20230138736A1 (en) * | 2020-05-29 | 2023-05-04 | Inspur Electronic Information Industry Co., Ltd. | Cluster file system-based data backup method and apparatus, and readable storage medium |
CN113467993A (zh) * | 2021-06-24 | 2021-10-01 | 广东浪潮智慧计算技术有限公司 | 一种云平台资源的还原方法、系统、设备及存储介质 |
CN115328696A (zh) * | 2022-07-28 | 2022-11-11 | 阿里云计算有限公司 | 一种数据库中的数据备份方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116501552A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429499B2 (en) | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node | |
US11294786B2 (en) | Management of internet of things devices | |
US11314618B2 (en) | Management of internet of things devices | |
US12007854B2 (en) | Backup of containerized applications using a backup services container and a backup services container-orchestration pod | |
US11494273B2 (en) | Holistically protecting serverless applications across one or more cloud computing environments | |
US11520755B2 (en) | Migration of a database management system to cloud storage | |
US9531809B1 (en) | Distributed data storage controller | |
US11314444B1 (en) | Environment-sensitive distributed data management | |
US8930364B1 (en) | Intelligent data integration | |
US11748214B2 (en) | Remote snappable linking | |
CA2686384C (en) | Dynamic cli mapping for clustered software entities | |
CN112099989A (zh) | 一种Kubernetes云原生应用灾备、迁移与恢复的方法 | |
CN113672350A (zh) | 一种应用处理方法、装置及相关设备 | |
US9485308B2 (en) | Zero copy volume reconstruction | |
CN116501552B (zh) | 数据备份的方法、装置、系统及存储介质 | |
WO2024078211A1 (zh) | 业务集群实例的备份和恢复方法以及相关设备 | |
CN117459401B (zh) | 网络靶场环境快照的生成方法、装置、设备和存储介质 | |
CN116954870B (zh) | 跨集群应用的迁移方法、恢复方法、装置及集群系统 | |
US20230409405A1 (en) | Holistically protecting serverless applications based on detecting in-cloud deployments | |
CN116719604A (zh) | 容器迁移方法及装置、存储介质和电子设备 | |
CN114816764A (zh) | 资源的迁移方法、装置、处理器及电子设备 | |
CN117149350A (zh) | k8s集群的部署方法、集群快照的生成方法及设备 | |
CN107479948A (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 |