CN116955015B - 基于数据存储服务的数据备份系统及方法 - Google Patents

基于数据存储服务的数据备份系统及方法 Download PDF

Info

Publication number
CN116955015B
CN116955015B CN202311207771.3A CN202311207771A CN116955015B CN 116955015 B CN116955015 B CN 116955015B CN 202311207771 A CN202311207771 A CN 202311207771A CN 116955015 B CN116955015 B CN 116955015B
Authority
CN
China
Prior art keywords
backup
data
cluster
synchronized
storage service
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
CN202311207771.3A
Other languages
English (en)
Other versions
CN116955015A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202311207771.3A priority Critical patent/CN116955015B/zh
Publication of CN116955015A publication Critical patent/CN116955015A/zh
Application granted granted Critical
Publication of CN116955015B publication Critical patent/CN116955015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本说明书提供基于数据存储服务的数据备份系统及方法,其中所述基于数据存储服务的数据备份系统包括版本相同的主集群端和备集群端,包括:所述主集群端,用于获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象;利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至所述备集群端;所述备集群端,用于利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象;基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据;将所述目标数据存储至备集群数据存储服务。

Description

基于数据存储服务的数据备份系统及方法
技术领域
本说明书涉及数据处理技术领域,特别涉及基于数据存储服务的数据备份系统及方法。
背景技术
随着计算机技术的发展,数据备份服务在越来越多的场景下得以应用,用于支持计算机集群在发生故障的情况下,可以由备用计算机集群代替故障集群进行工作,从而不影响上下游业务的运行。现有技术中,Kubernetes集群备份方案主要是通过备份etcd的数据快照实现。并且每次生成快照的时间间隔时间为分钟级,通常为设定分钟。集群如果在两次快照之间发生故障,则会丢失掉一部分数据。另一方面,使用etcd快照做热备集群的数据,还需要要求备集群与主集群的环境信息完全一致,即主集群和备集群需要在各维度保证高度一致性的前提下才能够支持容灾,否则备集群无法正常工作,从而会严重影响业务的运行。而这种集群一致性的设置将消耗更多的成本,且也会存在一部分无法还原的数据,因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本说明书实施例提供了一种基于数据存储服务的数据备份系统。本说明书同时涉及一种基于数据存储服务的数据备份方法,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种基于数据存储服务的数据备份系统,包括版本相同的主集群端和备集群端,包括:
所述主集群端,用于获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象;利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至所述备集群端;
所述备集群端,用于利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象;基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据;将所述目标数据存储至备集群数据存储服务。
可选地,所述主集群端,还用于针对所述主集群数据存储服务进行订阅,根据订阅结果监测所述主集群数据存储服务关联的共享数据;在所述共享数据更新的情况下,在更新后的共享数据中确定变化共享数据,作为所述待同步数据。
可选地,所述主集群端,还用于利用本地部署的主集群同步模块对所述待同步数据进行解密,获得解密数据;基于所述主集群同步模块对所述解密数据进行反序列化处理,根据处理结果确定备份对象。
可选地,所述主集群端,还用于在预设的过滤策略中选择基准过滤策略和自定义过滤策略;基于所述基准过滤策略对所述备份对象进行过滤,获得待同步基准备份对象;基于所述自定义过滤策略对所述待同步基准备份对象进行过滤,获得待同步备份对象。
可选地,所述备集群端,还用于接收所述待同步备份对象,以及在预设的检测策略中选择依赖对象检测规则;利用所述依赖对象检测规则对所述待同步备份对象的依赖对象进行同步检测;在同步检测通过的情况下,根据所述待同步备份对象和所述依赖对象生成所述待存储备份对象。
可选地,所述备集群端,还用于接收所述待同步备份对象,以及在预设的检测策略中选择补偿对象检测规则;利用所述补偿对象检测规则对所述待同步备份对象进行对象补偿检测;在对象补偿检测通过的情况下,针对所述待同步备份对象创建关联对象,根据所述待同步备份对象和所述关联对象生成所述待存储备份对象。
可选地,所述备集群端,还用于基于本地部署的备集群同步模块对所述待存储备份对象序列化处理,获得待存储数据;基于所述备集群同步模块对所述待存储数据进行加密处理,获得目标数据。
可选地,所述备集群端,还用于根据所述目标数据的存储结果生成存储结果,将所述存储结果发送至所述主集群端;
所述主集群端,还用于响应于所述存储结果更新数据记录信息;其中,所述数据记录信息用于在所述主集群端发生故障的情况下执行容灾任务。
可选地,在所述主集群端故障的情况下,所述备集群端,还用于切换为任务执行状态,并基于所述备集群数据存储服务中存储的数据,执行所述主集群端在故障发生后触发的目标任务。
可选地,在所述主集群端故障解除的情况下,所述备集群端,还用于在所述备集群数据存储服务中读取目标更新数据,将所述目标更新数据发送至所述主集群端;
所述主集群端,还用于接收所述目标更新数据,并将所述目标更新数据存储至所述主集群数据存储服务。
根据本说明书实施例的第二方面,提供了一种基于数据存储服务的数据备份方法,包括:
主集群端获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象,利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至备集群端;
备集群端利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象,基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据,将所述目标数据存储至备集群数据存储服务。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现所述基于数据存储服务的数据备份方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述基于数据存储服务的数据备份方法的步骤。
本说明书提供的基于数据存储服务的数据备份系统,为了能够实现实时完成数据备份,且支持备集群端在不与主集群端具有相同设备需求的情况下,也可以完成数据备份,从而支持备集群端正常工作,可以由主集群端实时监测主集群数据存储服务,只要获取到待同步数据,即可触发备份处理操作。此时可以基于主集群同步模块将待同步数据转换为备份对象,之后利用预设的过滤策略对备份对象进行过滤,以得到需要同步的待同步备份对象并发送至备集群端即可。为支持备集群端可以基于待同步备份对象随时接管主集群端的任务,以正常工作,可以先利用预设的检测策略对待同步备份对象进行检测,以实现根据检测结果生成适配备集群端的待存储备份对象,确保主集群端和备集群端在配置不同的情况下也可以正常工作。而后即可将待存储备份对象利用备集群同步模块将其转换为目标数据,并将其存储到备集群数据存储服务即可,从而实现备集群端可以随时接管发生故障的主集群端,且能够继续执行相应的任务,而不影响上下游业务运行。
附图说明
图1是本说明书一实施例提供的一种基于数据存储服务的数据备份系统的示意图;
图2是本说明书一实施例提供的一种基于数据存储服务的数据备份系统的结构示意图;
图3是本说明书一实施例提供的一种基于数据存储服务的数据备份系统中备份过程的示意图;
图4是本说明书一实施例提供的一种基于数据存储服务的数据备份系统的处理流程图;
图5是本说明书一实施例提供的一种基于数据存储服务的数据备份方法的流程图;
图6是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
etcd:是一个分布式的一致的key-value存储,主要用途是共享配置和服务发现。
kubernetes,简称K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。
在本说明书中,提供了一种基于数据存储服务的数据备份系统,本说明书同时涉及一种基于数据存储服务的数据备份方法,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1所示的示意图,本说明书提供的基于数据存储服务的数据备份系统,为了能够实现实时完成数据备份,且支持备集群端在不与主集群端具有相同设备需求的情况下,也可以完成数据备份,从而支持备集群端正常工作,可以由主集群端实时监测主集群数据存储服务,只要获取到待同步数据,即可触发备份处理操作。此时可以基于主集群同步模块将待同步数据转换为备份对象,之后利用预设的过滤策略对备份对象进行过滤,以得到需要同步的待同步备份对象并发送至备集群端即可。为支持备集群端可以基于待同步备份对象随时接管主集群端的任务,以正常工作,可以先利用预设的检测策略对待同步备份对象进行检测,以实现根据检测结果生成适配备集群端的待存储备份对象,确保主集群端和备集群端在配置不同的情况下也可以正常工作。而后即可将待存储备份对象利用备集群同步模块将其转换为目标数据,并将其存储到备集群数据存储服务即可,从而实现备集群端可以随时接管发生故障的主集群端,且能够继续执行相应的任务,而不影响上下游业务运行。
图2示出了根据本说明书一实施例提供的一种基于数据存储服务的数据备份系统的结构示意图,其中,基于数据存储服务的数据备份系统200包括版本相同的主集群端210和备集群端220。
所述主集群端210,用于获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象;利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至所述备集群端;
所述备集群端220,用于利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象;基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据;将所述目标数据存储至备集群数据存储服务。
本实施例提供的基于数据存储服务的数据备份系统,应用于k8s集群备份方案,用于实现在主集群和备集群之间实时同步etcd数据,用于实现主集群故障的情况下,备集群可以随时接管主集群的工作,且主集群和备集群之间不需要确保配置一致性,从而提高集群之间主备关系的通用性。
具体的,主集群端具体是指k8s集群中主要用于执行相关容器管理任务的计算机集群,其由设定数量的计算机组成,用于提供计算资源支持容器管理任务的运行。相应的,备集群端具体是指k8s集群中用于支持主集群故障而被随时调用的计算机集群,用于随时接管故障主集群关联的容器管理任务,以实现故障主集群所需要执行的容器管理任务而不被中断,达到容灾的目的。
相应的,主集群数据存储服务具体是指主集群端订阅的etcd服务,用于存储配置数据和服务发现,实现随时能够将etcd数据同步给备集群端,用于达到备份的目的。相应的,待同步数据具体是指数据存储服务中发生变化的数据,如新增的数据、修改的数据或者删除的数据等;相应的,主集群同步模块具体是指用于向备集群端同步待同步数据的模块,且为支持同步到备集群端的etcd数据可以应用,主集群同步模块还需要对待同步数据进行转换,从而形成备份对象。相应的,备份对象具有是指对待同步数据进行转换后得到的Kubernetes对象。相应的,预设的过滤策略具体是指对转换后得到的多个备份对象进行过滤的策略,用于将多个备份对象中需要剔除的备份对象进行清除,以实现仅同步需要备份到备集群端的待同步备份对象。相应的,待同步备份对象即为本次热备状态下需要同步的备份对象。
相应的,预设的检测策略具体是指对主集群端同步的待同步备份对象进行检测的策略,用于检测待同步备份对象是否存在依赖对象和/或是否需要进行对象补偿。由于待同步备份对象适配主集群端,而备份到备集群端后,备集群端可能存在与主集群端配置不同的问题,而为支持备集群端能够基于备份数据随时接管故障后的主集群端,需要通过检测确定本次同步的完善性,实现根据检测结果生成适配备集群端的待存储备份对象。相应的,待存储备份对象具体是指与备集群端适配的Kubernetes对象。相应的,备集群同步模块所具备的功能与主集群同步模块所具备的功能相同,以及备集群数据存储服务与主集群数据存储服务的功能也相同,本实施例在此不作过多赘述。相应的,目标数据具体是指对待存储备份对象进行转换后得到的etcd数据,且该etcd数据与备集群端订阅的备集群数据存储服务相关联。
需要说明的是,本实施例提供的基于数据存储服务的数据备份系统,能够实现不同配置的主集群和备集群完成数据备份,而为支持该功能实现,需要确保主集群端和备集群端的版本相同。也就是说,Kubernetes主版本决定了etcd内存储对象的元数据定义,包括:存在哪些类型的对象,各类型对象包含哪些字段,各类型对象存储在什么位置。例如:Endpoint对象在1.18版本存储在discovery.k8s.io/v1alpha1目录;1.21版本存储位置被修改为discovery.k8s.io/v1,另外还增加了zone字段。如果把1.21版本中的Endpoint对象导入到1.18版本,这些数据无法被1.18的Kubernetes识别,会导致软件运行出错。因此需要确保主集群端Kubernetes的软件主版本与备集群端的Kubernetes的软件主版本相同,而补丁版本可以不同。以支持二者在配置不同的情况下,依然可以完成热备处理。
基于此,服务端可以部署两个规格及配置不同且相互独立的主集群和备集群,但二者版本需要相同。当主集群端获取到主集群数据存储服务中的待同步数据时,说明主集群端实时监测到需要热备的数据,即待同步数据。而为了能够确保该数据同步到备集群端后可以被存储,此时可以利用本地部署的主集群同步模块将待同步数据转换为备份对象,之后利用预设的过滤策略对备份对象进行过滤,以得到需要同步的待同步备份对象并发送至备集群端即可。为支持备集群端可以基于待同步备份对象随时接管主集群端的任务,以正常工作,可以先利用预设的检测策略对待同步备份对象进行检测,以实现根据检测结果生成适配备集群端的待存储备份对象,确保主集群端和备集群端在配置不同的情况下也可以正常工作。而后即可将待存储备份对象利用备集群同步模块将其转换为目标数据,并将其存储到备集群数据存储服务即可,从而实现备集群端可以随时接管发生故障的主集群端,且能够继续执行相应的任务,而不影响上下游业务运行。
举例说明,参见图3所示的示意图,主集群的etcd同步装置在监测到etcd数据发生更新的情况下,此时将确定etcd更新数据,之后利用主集群的etcd同步装置将etcd更新数据集转换为Kubernetes对象;而后再将过滤策略通过加载策略加载到etcd同步装置,并利用过滤策略对转换后得到的Kubernetes对象进行过滤,以剔除不需要的Kubernetes对象,从而得到待同步Kubernetes对象,并将其发送到备集群。备集群的etcd同步装置接收到待同步Kubernetes对象后,会先对待同步Kubernetes对象进行检测,以实现根据检测结果确定待存储Kubernetes对象。而后可以利用etcd同步装置对待存储Kubernetes对象进行转换,得到适配备集群的etcd数据,并将其存储到备集群etcd中即可,从而实现在故障情况下支持备集群接管主集群继续执行容器管理任务。
综上所述,在数据备份前进行过滤,以及在同步到备集群端后进行检测,可以确保主集群端和备集群端在配置不同的情况下,依然可以正常工作。从而实现备集群端可以随时接管发生故障的主集群端,且能够继续执行相应的任务,而不影响上下游业务运行。
进一步的,为了避免每次进行数据同步时,出现冗余数据重复同步,从而影响同步效率,以及周期性扫描会有较差的备份实时性,可以选择仅发生变化的数据作为待同步数据;本实施例中,所述主集群端,还用于针对所述主集群数据存储服务进行订阅,根据订阅结果监测所述主集群数据存储服务关联的共享数据;在所述共享数据更新的情况下,在更新后的共享数据中确定变化共享数据,作为所述待同步数据。
具体的,共享数据具体是指主集群数据存储服务中存储的etcd数据,即主集群数据存储服务中的全部数据;这部分数据需要在热备阶段同步至备集群端。相应的,变化共享数据具体是指共享数据中在当前阶段发生变化的部分共享数据。
基于此,为了能够在向备集群端同步数据时,可以仅同步发生变化的数据,可以由主集群端订阅主集群数据存储服务中的全部数据,当主集群数据存储服务中的数据发生变化的情况下,此时可以主动向备集群端发送变化的数据,即在更新后的共享数据中确定变化共享数据,将其作为待同步数据,以用于后续处理。
沿用上例,主集群的etcd同步装置将订阅集群内的etcd数据,当etcd数据发生更新的情况下,可以选择发生更新的etcd数据,如新增的etcd数据或者更新的etcd数据,将其作为etcd更新数据,方便后续进行使用。
综上,通过采用仅提取更新的数据作为待同步数据,可以避免出现重复同步数据的问题发生,从而进一步降低了资源消耗。
进一步的,考虑到主集群端和备集群端的加密密钥不同,如果直接将加密数据原样发送至备集群端,可能会出现数据无法被读取的问题发生,因此在发送前还需要进行解密;本实施例中,所述主集群端,还用于利用本地部署的主集群同步模块对所述待同步数据进行解密,获得解密数据;基于所述主集群同步模块对所述解密数据进行反序列化处理,根据处理结果确定备份对象。
具体的,解密数据具体是指主集群同步模块对待同步数据进行解密后得到的数据,其使用的密钥为主集群端预设的密钥。相应的,反序列化处理具体是指将解密数据转换为备份对象的处理,用于实现从数据中提取必要的信息进行同步。
基于此,在利用主集群同步模块将待同步数据转换为备份对象时,为了避免主集群端和备集群端的加密密钥不同,而无法支持数据在备集群端处使用,主集群端可以利用本地部署的主集群同步模块对待同步数据进行解密,从而根据解密结果获得解密数据;此后再基于主集群同步模块对解密数据进行反序列化处理,即可根据处理结果确定备份对象,以方便后续使用。
实际应用中,考虑到主集群端部署的过滤策略所能够处理的对象为Kubernetes对象,如要同步哪种类型(GVK)的对象;要同步哪个命名空间(Namespace)下的对象;要同步包含哪种指定标签(Label)的对象等。如果通过etcd订阅获得的数据无法直接知晓上述信息,因此需要利用主集群同步模块对数据进行反序列化处理,将数据转换为Kubernetes对象后,后续才能从数据中取得必要的信息判断该条数据是否需要同步。以实现在同步阶段利用更少的资源完成同步操作。
沿用上例,主集群在确定etcd更新数据后,可以利用etcd同步模块对etcd数据进行解密,得到解密数据,之后通过对解密数据进行反序列化处理,即可得到Kubernetes对象,以方便后续通过对Kubernetes对象进行处理,实现向备集群同步需要同步的对象。
综上,为避免主备集群端的加密密钥不同,而影响数据无法在备集群端读取,可以在进行同步前,先对待同步数据进行解密,并在解密完成后进行反序列化处理,以得到记录需要同步信息的备份对象,方便下游处理使用。
更进一步的,为了能够避免出现主集群端向备集群端发送无用的备份对象,或者不适配备集群端的对象,可以结合不同的两种策略进行过滤,本实施例中,所述主集群端,还用于在预设的过滤策略中选择基准过滤策略和自定义过滤策略;基于所述基准过滤策略对所述备份对象进行过滤,获得待同步基准备份对象;基于所述自定义过滤策略对所述待同步基准备份对象进行过滤,获得待同步备份对象。
具体的,基准过滤策略具体是指主集群端预设的内置过滤策略,用于对备份对象中部分备份对象进行过滤,过滤掉的备份对象如Node对象、pod对象等。相应的,自定义过滤策略具体是指主集群端由业务需求方设定的过滤策略,其可以由业务需求方根据实际需求设定,比如过滤影响集群运行的对象等。相应的,待同步基准备份对象具体是指对备份对象进行过滤后,得到的剩余备份对象。
基于此,为了能够实现备集群可以仅同步需要使用的数据,可以由主集群端在预设的过滤策略中选择基准过滤策略和自定义过滤策略;此后基于基准过滤策略对所述备份对象进行过滤,以根据内置的过滤策略过滤掉无用的备份对象,从而得到待同步基准备份对象;进一步的再基于自定义过滤策略对待同步基准备份对象进行过滤,实现将业务需求不需要的备份对象进行过滤,从而获得待同步备份对象,以方便后续使用。
实际应用中,基准过滤策略的设定可以包括下述几类:1)集群的硬件、基础配置和证书密钥相关的信息所构成的备份对象可以被过滤;比如Node对象定义了集群内主机的IP地址,CPU核数,内存大小等;CNI、CSI、CRI定义了集群使用的网络类型、存储类型、运行时;EncryptionConfiguration存储了加密密钥;在进行过滤时,记录这部分信息的备份对象并不需要告知备集群,因此可以对这部分备份对象进行过滤。2)Kubernetes可以自动创建的对象;如Pod对象,如果同步了Deployment对象,Kubernetes就会根据Deployment自动创建出对应的Pod对象,而自动创建的对象对于备集群来讲并不需要,因此可以对这部分备份对象进行过滤。3)Event对象,用于记录Kubernetes集群自身产生的错误和警告消息;这部分对象所记录的信息都是相对于主集群的,因此也不需要进行同步。
进一步的,自定义过滤策略具体是指过滤掉影响程序运行的备份对象。考虑到除基准过滤策略外,如果还有其他对象,从主集群同步到备集群后,会导致备集群或备集群中的应用程序无法正常运行时,就需要使用自定义策略禁止同步这些对象。例如,备集群的主机硬件资源小于主集群时,不能同步用于控制分配的LimitRange和ResourceQuota对象,则这两种对象的过滤即可通过自定义过滤策略设置。再例如,部分应用程序会自动生成证书文件保存在Secret对象中,主集群和备集群的证书是不同的,此时就不能同步这部分保存证书的Secret对象,该对象即可通过自定义过滤策略设置。实际应用中,自定义过滤规则可以根据实际需求设定,本实施例在此不作任何限定。
沿用上例,主集群在利用etcd同步模块转换出Kubernetes对象后,可以先利用内置过滤策略对这部分Kubernetes对象进行过滤,用于过滤掉Node对象、pod对象和Event对象。在将这部分对象过滤完成后,还将利用自定义过滤策略对剩余Kubernetes对象中的LimitRange对象、ResourceQuota对象和Secret对象进行过滤,根据过滤结果将得到待同步Kubernetes对象,而待同步Kubernetes对象所记录的信息即为需要告知备集群的信息,以方便后续进行同步处理即可。
综上,通过采用基准过滤策略和自定义过滤策略进行部分备份对象的过滤处理,可以实现将记录相对于备集群端无用信息的备份对象进行过滤,从而确保备集群端可以存储有用的信息,以支持主集群端故障时使用。
在备集群端接收到待同步备份对象后,考虑到待同步备份对象可能需要依赖其他对象才能够使用,如果仅同步该备份对象可能无法支持备集群端接管主集群端工作,因此可以利用依赖对象检测规则进行依赖对象同步检测;本实施例中,所述备集群端,还用于接收所述待同步备份对象,以及在预设的检测策略中选择依赖对象检测规则;利用所述依赖对象检测规则对所述待同步备份对象的依赖对象进行同步检测;在同步检测通过的情况下,根据所述待同步备份对象和所述依赖对象生成所述待存储备份对象。
具体的,依赖对象检测策略具体是指对待同步备份对象进行依赖对象检测的策略,考虑到待同步备份对象可能存在依赖于其他对象才能够使用的情况,如果仅通过待同步备份对象给备集群,而其关联的依赖对象未被同步,则会出现待同步备份对象无法在备集群端使用的问题,因此通过该策略可以检测依赖对象,以确保依赖对象也被同步到备集群端后,可以支持备集群端完成相关数据的存储。相应的,依赖对象具体是指待同步备份对象所依赖的对象,只有该对象存在的情况下,待同步备份对象才能够使用,比如,同步某命名空间(Namespace)下的对象时,必须等待Namespace对象创建完成,才能够确保数据写入无误。
基于此,备集群端在接收到主集群端发送的待同步备份对象后,为了避免待同步对象无法在备集群端使用,可以在预设的检测策略中选择依赖对象检测规则;此时利用依赖对象检测规则可以对待同步备份对象的依赖对象进行同步检测;在同步检测未通过的情况下,说明待同步备份对象的依赖对象还未同步完成,从而无法支持待同步备份对象在备集群端可用,因此可以延迟等待,且等待过程中不断的进行检测;直至检测通过,说明依赖对象已经完成同步,则可以根据待同步备份对象和依赖对象生成待存储备份对象,以方便后续使用。
沿用上例,在主集群新增etcd数据的情况下,此时备集群接收到的Kubernetes对象将是关联新增etcd数据的对象。而为了避免这部分对象在备集群处不可用,可以对Kubernetes对象的依赖对象进行检测,如果未检测到其对应的依赖对象,可以延迟等待。直至检测到Kubernetes对象的依赖对象也由主集群同步到会备集群时,将Kubernetes对象和其关联的依赖对象作为待存储Kubernetes对象即可。
综上,通过采用依赖对象检测规则进行待同步备份对象的依赖对象检测,可以避免待同步备份对象同步给备集群后不可用,从而确保备集群端存在的待存储备份对象能够支持备集群端随时接管主集群端进行工作。
此外,还考虑到部分特殊对象不会自动创建关联对象,从而影响待同步备份对象的使用,因此还可以结合补偿对象检测规则进行补偿对象的建立;本实施例中,所述备集群端,还用于接收所述待同步备份对象,以及在预设的检测策略中选择补偿对象检测规则;利用所述补偿对象检测规则对所述待同步备份对象进行对象补偿检测;在对象补偿检测通过的情况下,针对所述待同步备份对象创建关联对象,根据所述待同步备份对象和所述关联对象生成所述待存储备份对象。
具体的,补偿对象检测规则具体是指针对待同步备份对象进行关联对象检测的策略,且能够根据检测结果针对待同步备份对象创建所关联的对象,用于确保待同步备份对象可以在备集群端使用。相应的,关联对象具体是指针对待同步备份对象在备集群端创建的对象,其与待同步备份对象具有关联性。
基于此,考虑到部分对象无法备份,但与待同步备份对象又具有关联性,为支持此情况下待同步备份对象在备集群端可用,备集群端可以在接收到待同步备份对象后,在预设的检测策略中选择补偿对象检测规则;此时可以先利用补偿对象检测规则对待同步备份对象进行对象补偿检测;在对象补偿检测通过的情况下,说明待同步备份对象存在关联对象未被同步,因此可以针对待同步备份对象创建关联对象,以根据待同步备份对象和关联对象生成待存储备份对象,以方便后续使用。
也就是说,备集群同步装置接收到数据后,会进行对象补偿操作的判断。部分特殊对象写入etcd后,k8s不会自动为其创建关联对象,且这部分关联对象又是无法进行同步的,因此可以由备集群的同步装置来创建这部分关联对象,并用于后续转换为数据以写入数据存储服务。比如,同步Service对象时,需要按照k8s逻辑创建出其关联的Endpoint对象。
此外,补偿对象检测规则和依赖对象检测规则可以先后执行,用于确保待同步备份对象可以转换为待存储备份对象后,适配备集群端。
综上,在接收到待同步备份对象后,通过进行关联对象的创建,可以确保待同步备份对象的关联对象也存在于备集群端,从而得到适配备集群端的待存储备份对象,从而方便备集群端可以将数据存储后随时使用。
更进一步的,备集群端在接收到待存储备份对象后,为了能够支持本地部署的备集群同步模块可以随时调用数据使用,可以将其加密为适配备集群端的目标数据;本实施例中,所述备集群端,还用于基于本地部署的备集群同步模块对所述待存储备份对象序列化处理,获得待存储数据;基于所述备集群同步模块对所述待存储数据进行加密处理,获得目标数据。
具体的,待存储数据具体是指将待存储备份对象进行序列化处理后,得到的关联备集群端的etcd数据。基于此,在备集群端生成待存储备份对象后,为了能够在备集群端生成用于存储在备集群数据存储服务中的数据,以及针对备集群端配置的需要加密的对象类型进行加密,可以先对待存储备份对象进行序列化处理,从而将其转换为数据结构的待存储数据;此后再基于备集群同步模块,采用备集群端预设的密钥对待存储数据进行加密处理,即可获得目标数据,以用于后续将其存储到备集群数据存储服务即可。
需要说明的是,备集群端在进行加密处理时,其加密的对象类型可以根据k8s集群自身的配置确定,备集群同步模块仅需要读取该配置即可确定需要加密的对象,从而在数据存储前完成加密;也就是说,加密处理并不是必须执行的处理,但可以根据实际需求进行配置。
例如,在配置有加密对象场景下,备集群在接收到待存储Kubernetes对象后,可以利用etcd同步模块将待存储Kubernetes对象转换为适配备集群的etcd数据,此后再利用etcd同步模块对etcd数据进行加密处理,即可得到etcd目标数据,并将其写入到备集群的etcd中即可,从而实现在故障情况下支持备集群接管主集群继续执行容器管理任务。
综上,通过采用序列化和加密的方式从待存储备份对象生成目标数据,可以确保目标数据能够写入备集群的备集群数据存储服务,以支持备集群端可以随之接管主集群工作。
具体实施时,在完成etcd数据同步后,备集群端可以向主集群端反馈存储结果,而主集群端为了能够支持在故障恢复后,可以继续工作,可以将存储结果更新到数据记录信息中;本实施例中,所述备集群端,还用于根据所述目标数据的存储结果生成存储结果,将所述存储结果发送至所述主集群端;
所述主集群端,还用于响应于所述存储结果更新数据记录信息;其中,所述数据记录信息用于在所述主集群端发生故障的情况下执行容灾任务。
具体的,存储结果具体是指备集群端向主集群端发送的表征目标数据存储成功的标识;相应的,数据记录信息具体是指用于对备集群端完成目标数据同步成功记录的信息结构,其可以用于在主集群端发生故障后,基于数据记录信息继续进行相关任务的执行,从而避免任务中断。相应的,容灾任务具体是指故障情况下需要启动的任务,用于使备集群端接管主集群端工作。
基于此,为了能够确保每次数据的同步都能够反馈,且对同步成功结果进行记录,备集群端可以根据目标数据的存储结果生成存储结果,并将存储结果发送至主集群端;主集群端接收到存储结果后,可以响应于存储结果更新数据记录信息,用于对本次成功同步的信息进行记录,从而方便利用数据记录信息在主集群端发生故障的情况下执行容灾任务。
沿用上例,在备集群将etcd数据同步到etcd中后,备集群同步装置可以向主集群返回成功标识;主集群同步装置在接收到成功标识后,可以记录revision+1,用于支持主集群同步装置下次重启时,可以从revision+1开始订阅,从而避免业务中断。
综上,通过进行存储结果的反馈记录,可以确保主集群端确定备集群端完成数据同步,从而实现在任意时刻发生故障后,可以确保业务在不中断的情况下继续工作,从而降低对上下游任务的影响。
此外,在主集群端发生故障的情况下,备集群端即可接管主集群端后续将要触发的任务,继续进行后续的工作;本实施例中,在所述主集群端故障的情况下,所述备集群端,还用于切换为任务执行状态,并基于所述备集群数据存储服务中存储的数据,执行所述主集群端在故障发生后触发的目标任务。
具体的,任务执行状态具体是指备集群端在主集群端故障后所被切换到的状态,该状态下备集群端将代替主集群端进行工作;相应的,目标任务具体是指主集群端在发生故障后所需要执行的任务。
基于此,在主集群端故障的情况下,为了能够避免主集群故障而影响业务的正常运行,备集群端可以将待机状态切换为任务执行状态,此时备集群端将接管主集群端进行工作,同时为了能够确保任务执行连续不中断,可以基于已经过来的数据,即备集群数据存储服务中的数据,执行主集群端故障发生后触发的目标任务,从而支持备集群端代替主集群端进行工作。
进一步的,在故障解除后,主集群端将重新开始工作,而为了避免在发生故障时间内的数据丢失,备集群端可以将这个时间段内的数据同步给主集群端,实现主集群端可以继续工作;本实施例中,在所述主集群端故障解除的情况下,所述备集群端,还用于在所述备集群数据存储服务中读取目标更新数据,将所述目标更新数据发送至所述主集群端;
所述主集群端,还用于接收所述目标更新数据,并将所述目标更新数据存储至所述主集群数据存储服务。
具体的,目标更新数据具体是指主集群端故障的时间段内,所产生的etcd数据,该数据包括新增、修改和删除的etcd数据。为了能够支持主集群端可以继续进行任务的执行,可以将这部分etcd数据反馈给主集群端,由主集群端存储到主集群数据存储服务中。
基于此,在主集群端故障解除的情况下,备集群端可以在备集群数据存储服务中读取目标更新数据,将目标更新数据发送至主集群端;此时主集群端可以根据接收到的目标更新数据,更新主集群数据存储服务,即:将目标更新数据存储至主集群数据存储服务。
具体实施时,将目标更新数据发送给主集群端,其与待同步数据的发送逻辑相同。即:备集群端先利用备集群同步模块对目标更新数据进行转换,以得到新增备份对象,此后将新增备份对象发送给主集群端。而主集群端在接收到新增备份对象后,会利用主集群同步模块将其转换为目标更新数据,最后将其写入到主集群数据存储服务即可,从而支持主集群端可以基于主集群数据存储服务中的数据继续执行后续的任务。
也就是说,主集群故障恢复或者重建后,在可维护时段内,停止备集群Kubernetes集群的API-Server。反转两个集群内的同步装置数据发送方向。将备集群内etcd数据全部发送给主集群后,恢复同步装置的发送方向,重新启动备集群的API-Server即可。
举例说明,主集群宕机时,可以由于主集群关联的备集群接管主集群,从而基于备集群存储的etcd数据继续执行主集群在故障后触发的任务。当主集群故障恢复后,可以将备集群产生的etcd全部数据都发送给主集群并存储,此时主集群即可继续执行后续的任务,而不会影响上下游业务。
需要说明的是,关于备集群端向主集群端发送目标更新数据的过程,即为上述待同步数据发送至备集群的逆向处理逻辑,相同或相应的描述均可参见上述实施例中的详细描述内容,本实施例在此不作过多赘述。
综上,通过实时同步数据的方式完成主集群和备集群之间的切换,不仅可以避免数据丢失,还能够支持主备集群随时切换,从而满足各种业务需求,提高容灾效果。
下述结合附图4,以本说明书提供的基于数据存储服务的数据备份系统在k8s系统中的应用为例,对所述基于数据存储服务的数据备份系统进行进一步说明。其中,图4示出了本说明书一实施例提供的一种基于数据存储服务的数据备份系统的处理流程图,具体包括以下步骤:
步骤S402,主集群同步模块获取主集群数据存储服务中的待同步数据。
步骤S404,主集群同步模块对待同步数据进行解密,获得解密数据。
步骤S406,主集群同步模块对解密数据进行反序列化处理,根据处理结果确定备份对象。
步骤S408,主集群同步模块在预设的过滤策略中选择基准过滤策略和自定义过滤策略,基于基准过滤策略和自定义过滤策略对备份对象进行过滤,获得待同步备份对象,发送至备集群同步模块。
步骤S410,备集群同步模块接收待同步备份对象,以及在预设的检测策略中选择依赖对象检测规则,利用依赖对象检测规则对待同步备份对象的依赖对象进行同步检测;在同步检测通过的情况下,根据待同步备份对象和依赖对象生成待存储备份对象。
步骤S412,备集群同步模块接收待同步备份对象,以及在预设的检测策略中选择补偿对象检测规则;利用补偿对象检测规则对待同步备份对象进行对象补偿检测;在对象补偿检测通过的情况下,针对待同步备份对象创建关联对象,根据待同步备份对象和关联对象生成待存储备份对象。
步骤S414,备集群同步模块对待存储备份对象序列化处理,获得待存储数据。
步骤S416,备集群同步模块对待存储数据进行加密处理,获得目标数据,并将目标数据存储至备集群数据存储服务。
步骤S418,备集群同步模块根据目标数据的存储结果生成存储结果,将存储结果发送至主集群同步模块。
步骤S420,主集群同步模块响应于存储结果更新数据记录信息。
步骤S422,在主集群故障的情况下,备集群同步模块切换为任务执行状态,并基于备集群数据存储服务中存储的数据,执行主集群在故障发生后触发的目标任务。
步骤S424,在主集群故障解除的情况下,备集群同步模块在备集群数据存储服务中读取目标更新数据,将目标更新数据发送至主集群同步模块。
步骤S426,主集群同步模块接收目标更新数据,并将目标更新数据存储至主集群数据存储服务。
本说明书提供的基于数据存储服务的数据备份系统,为了能够实现实时完成数据备份,且支持备集群端在不与主集群端具有相同设备需求的情况下,也可以完成数据备份,从而支持备集群端正常工作,可以由主集群端实时监测主集群数据存储服务,只要获取到待同步数据,即可触发备份处理操作。此时可以基于主集群同步模块将待同步数据转换为备份对象,之后利用预设的过滤策略对备份对象进行过滤,以得到需要同步的待同步备份对象并发送至备集群端即可。为支持备集群端可以基于待同步备份对象随时接管主集群端的任务,以正常工作,可以先利用预设的检测策略对待同步备份对象进行检测,以实现根据检测结果生成适配备集群端的待存储备份对象,确保主集群端和备集群端在配置不同的情况下也可以正常工作。而后即可将待存储备份对象利用备集群同步模块将其转换为目标数据,并将其存储到备集群数据存储服务即可,从而实现备集群端可以随时接管发生故障的主集群端,且能够继续执行相应的任务,而不影响上下游业务运行。
与上述方法实施例相对应,本说明书还提供了基于数据存储服务的数据备份方法实施例,图5示出了本说明书一实施例提供的一种基于数据存储服务的数据备份方法的流程图。如图5所示,该方法包括:
步骤S502,主集群端获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象,利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至备集群端;
步骤S504,备集群端利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象,基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据,将所述目标数据存储至备集群数据存储服务。
一个可选的实施例中,所述主集群端针对所述主集群数据存储服务进行订阅,根据订阅结果监测所述主集群数据存储服务关联的共享数据;在监测到所述共享数据更新的情况下,在更新后的共享数据中提取变化共享数据,作为所述待同步数据。
一个可选的实施例中,所述主集群端利用本地部署的主集群同步模块对所述待同步数据进行解密,获得解密数据;基于所述主集群同步模块对所述解密数据进行反序列化处理,根据处理结果确定备份对象。
一个可选的实施例中,所述主集群端在预设的过滤策略中选择基准过滤策略和自定义过滤策略;基于所述基准过滤策略对所述备份对象进行过滤,获得待同步基准备份对象;基于所述自定义过滤策略对所述待同步基准备份对象进行过滤,获得待同步备份对象。
一个可选的实施例中,所述备集群端接收所述待同步备份对象,以及在预设的检测策略中选择依赖对象检测规则;利用所述依赖对象检测规则对所述待同步备份对象的依赖对象进行同步检测;在同步检测通过的情况下,根据所述待同步备份对象和所述依赖对象生成所述待存储备份对象。
一个可选的实施例中,所述备集群端接收所述待同步备份对象,以及在预设的检测策略中选择补偿对象检测规则;利用所述补偿对象检测规则对所述待同步备份对象进行对象补偿检测;在对象补偿检测通过的情况下,针对所述待同步备份对象创建关联对象,根据所述待同步备份对象和所述关联对象生成所述待存储备份对象。
一个可选的实施例中,所述备集群端基于本地部署的备集群同步模块对所述待存储备份对象序列化处理,获得待存储数据;基于所述备集群同步模块对所述待存储数据进行加密处理,获得目标数据。
一个可选的实施例中,所述备集群端根据所述目标数据的存储结果生成存储结果,将所述存储结果发送至所述主集群端;
所述主集群端响应于所述存储结果更新数据记录信息;其中,所述数据记录信息用于在所述主集群端发生故障的情况下执行容灾任务。
一个可选的实施例中,在所述主集群端故障的情况下,所述备集群端切换为任务执行状态,并基于所述备集群数据存储服务中存储的数据,执行所述主集群端在故障发生后触发的目标任务。
一个可选的实施例中,在所述主集群端故障解除的情况下,所述备集群端在所述备集群数据存储服务中读取目标更新数据,将所述目标更新数据发送至所述主集群端;
所述主集群端接收所述目标更新数据,并将所述目标更新数据存储至所述主集群数据存储服务。
本说明书提供的基于数据存储服务的数据备份方法,为了能够实现实时完成数据备份,且支持备集群端在不与主集群端具有相同设备需求的情况下,也可以完成数据备份,从而支持备集群端正常工作,可以由主集群端实时监测主集群数据存储服务,只要获取到待同步数据,即可触发备份处理操作。此时可以基于主集群同步模块将待同步数据转换为备份对象,之后利用预设的过滤策略对备份对象进行过滤,以得到需要同步的待同步备份对象并发送至备集群端即可。为支持备集群端可以基于待同步备份对象随时接管主集群端的任务,以正常工作,可以先利用预设的检测策略对待同步备份对象进行检测,以实现根据检测结果生成适配备集群端的待存储备份对象,确保主集群端和备集群端在配置不同的情况下也可以正常工作。而后即可将待存储备份对象利用备集群同步模块将其转换为目标数据,并将其存储到备集群数据存储服务即可,从而实现备集群端可以随时接管发生故障的主集群端,且能够继续执行相应的任务,而不影响上下游业务运行。
上述为本实施例的一种基于数据存储服务的数据备份方法的示意性方案。需要说明的是,该基于数据存储服务的数据备份方法的技术方案与上述的基于数据存储服务的数据备份系统的技术方案属于同一构思,基于数据存储服务的数据备份方法的技术方案未详细描述的细节内容,均可以参见上述基于数据存储服务的数据备份系统的技术方案的描述。
图6示出了根据本说明书一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行计算机可执行指令时实现所述基于数据存储服务的数据备份方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于数据存储服务的数据备份方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于数据存储服务的数据备份方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于基于数据存储服务的数据备份方法。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于数据存储服务的数据备份方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于数据存储服务的数据备份方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地域,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (13)

1.一种基于数据存储服务的数据备份系统,其特征在于,应用于k8s集群,所述系统包括版本相同的主集群端和备集群端,且所述主集群端和所述备集群端的配置不同,包括:
所述主集群端,用于获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象;利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至所述备集群端,其中,所述待同步数据为所述主集群端订阅的etcd服务中更新的etcd数据,所述备份对象为Kubernetes对象;
所述备集群端,用于利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象;基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据;将所述目标数据存储至备集群数据存储服务,其中,预设的检测策略用于检测所述待同步备份对象是否存在依赖对象以及是否进行对象补偿,所述待存储备份对象为适配所述备集群端的Kubernetes对象,且转换后获得的所述目标数据为与所述备集群端订阅的etcd服务关联的etcd数据。
2.根据权利要求1所述的基于数据存储服务的数据备份系统,其特征在于,所述主集群端,还用于针对所述主集群数据存储服务进行订阅,根据订阅结果监测所述主集群数据存储服务关联的共享数据;在所述共享数据更新的情况下,在更新后的共享数据中确定变化共享数据,作为所述待同步数据。
3.根据权利要求1所述的基于数据存储服务的数据备份系统,其特征在于,所述主集群端,还用于利用本地部署的主集群同步模块对所述待同步数据进行解密,获得解密数据;基于所述主集群同步模块对所述解密数据进行反序列化处理,根据处理结果确定备份对象。
4.根据权利要求1所述的基于数据存储服务的数据备份系统,其特征在于,所述主集群端,还用于在预设的过滤策略中选择基准过滤策略和自定义过滤策略;基于所述基准过滤策略对所述备份对象进行过滤,获得待同步基准备份对象;基于所述自定义过滤策略对所述待同步基准备份对象进行过滤,获得待同步备份对象。
5.根据权利要求1所述的基于数据存储服务的数据备份系统,其特征在于,所述备集群端,还用于接收所述待同步备份对象,以及在预设的检测策略中选择依赖对象检测规则;利用所述依赖对象检测规则对所述待同步备份对象的依赖对象进行同步检测;在同步检测通过的情况下,根据所述待同步备份对象和所述依赖对象生成所述待存储备份对象。
6.根据权利要求1所述的基于数据存储服务的数据备份系统,其特征在于,所述备集群端,还用于接收所述待同步备份对象,以及在预设的检测策略中选择补偿对象检测规则;利用所述补偿对象检测规则对所述待同步备份对象进行对象补偿检测;在对象补偿检测通过的情况下,针对所述待同步备份对象创建关联对象,根据所述待同步备份对象和所述关联对象生成所述待存储备份对象。
7.根据权利要求1所述的基于数据存储服务的数据备份系统,其特征在于,所述备集群端,还用于基于本地部署的备集群同步模块对所述待存储备份对象序列化处理,获得待存储数据;基于所述备集群同步模块对所述待存储数据进行加密处理,获得目标数据。
8.根据权利要求1-7任一项所述的基于数据存储服务的数据备份系统,其特征在于,所述备集群端,还用于根据所述目标数据的存储结果生成存储结果,将所述存储结果发送至所述主集群端;
所述主集群端,还用于响应于所述存储结果更新数据记录信息;其中,所述数据记录信息用于在所述主集群端发生故障的情况下执行容灾任务。
9.根据权利要求1-7任一项所述的基于数据存储服务的数据备份系统,其特征在于,在所述主集群端故障的情况下,所述备集群端,还用于切换为任务执行状态,并基于所述备集群数据存储服务中存储的数据,执行所述主集群端在故障发生后触发的目标任务。
10.根据权利要求9所述的基于数据存储服务的数据备份系统,其特征在于,在所述主集群端故障解除的情况下,所述备集群端,还用于在所述备集群数据存储服务中读取目标更新数据,将所述目标更新数据发送至所述主集群端;
所述主集群端,还用于接收所述目标更新数据,并将所述目标更新数据存储至所述主集群数据存储服务。
11.一种基于数据存储服务的数据备份方法,应用于k8s集群,其特征在于,包括:
主集群端获取主集群数据存储服务中的待同步数据,并基于本地部署的主集群同步模块将所述待同步数据转换为备份对象,利用预设的过滤策略对所述备份对象进行过滤,根据过滤结果确定待同步备份对象,发送至备集群端,其中,所述待同步数据为所述主集群端订阅的etcd服务中更新的etcd数据,所述备份对象为Kubernetes对象,所述主集群端和所述备集群端版本相同且配置不同;
备集群端利用预设的检测策略对所述待同步备份对象进行检测,根据检测结果生成待存储备份对象,基于本地部署的备集群同步模块将所述待存储备份对象转换为目标数据,将所述目标数据存储至备集群数据存储服务,其中,预设的检测策略用于检测所述待同步备份对象是否存在依赖对象以及是否进行对象补偿,所述待存储备份对象为适配所述备集群端的Kubernetes对象,且转换后获得的所述目标数据为与所述备集群端订阅的etcd服务关联的etcd数据。
12.一种计算设备,其特征在于,包括存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现权利要求11所述方法的步骤。
13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求11所述方法的步骤。
CN202311207771.3A 2023-09-19 2023-09-19 基于数据存储服务的数据备份系统及方法 Active CN116955015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311207771.3A CN116955015B (zh) 2023-09-19 2023-09-19 基于数据存储服务的数据备份系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311207771.3A CN116955015B (zh) 2023-09-19 2023-09-19 基于数据存储服务的数据备份系统及方法

Publications (2)

Publication Number Publication Date
CN116955015A CN116955015A (zh) 2023-10-27
CN116955015B true CN116955015B (zh) 2024-01-23

Family

ID=88442821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311207771.3A Active CN116955015B (zh) 2023-09-19 2023-09-19 基于数据存储服务的数据备份系统及方法

Country Status (1)

Country Link
CN (1) CN116955015B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708836A (zh) * 2020-06-03 2020-09-25 北京天空卫士网络安全技术有限公司 集群管理的方法、设备和集群系统
CN111737271A (zh) * 2020-05-13 2020-10-02 平安国际智慧城市科技股份有限公司 数据同步更新方法、装置、设备及存储介质
CN112751938A (zh) * 2020-12-30 2021-05-04 上海赋算通云计算科技有限公司 一种基于多集群作业的实时数据同步系统,实现方法以及存储介质
CN113641761A (zh) * 2021-08-20 2021-11-12 北京达佳互联信息技术有限公司 数据同步方法及装置
CN114416868A (zh) * 2021-12-30 2022-04-29 联通智网科技股份有限公司 一种数据同步方法、装置、设备及存储介质
CN115248746A (zh) * 2021-04-26 2022-10-28 华为云计算技术有限公司 数据备份方法、系统及相关设备
WO2023046042A1 (zh) * 2021-09-23 2023-03-30 华为技术有限公司 一种数据备份方法和数据库集群

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684997B2 (en) * 2017-10-24 2020-06-16 Microsoft Technology Licensing, Llc File consistency across file versions maintained by different services

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737271A (zh) * 2020-05-13 2020-10-02 平安国际智慧城市科技股份有限公司 数据同步更新方法、装置、设备及存储介质
CN111708836A (zh) * 2020-06-03 2020-09-25 北京天空卫士网络安全技术有限公司 集群管理的方法、设备和集群系统
CN112751938A (zh) * 2020-12-30 2021-05-04 上海赋算通云计算科技有限公司 一种基于多集群作业的实时数据同步系统,实现方法以及存储介质
CN115248746A (zh) * 2021-04-26 2022-10-28 华为云计算技术有限公司 数据备份方法、系统及相关设备
CN113641761A (zh) * 2021-08-20 2021-11-12 北京达佳互联信息技术有限公司 数据同步方法及装置
WO2023046042A1 (zh) * 2021-09-23 2023-03-30 华为技术有限公司 一种数据备份方法和数据库集群
CN114416868A (zh) * 2021-12-30 2022-04-29 联通智网科技股份有限公司 一种数据同步方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
记一次K8S集群中etcd数据快照的备份恢复实践;佚名;http://mp.weixin.qq.com/s/eblhCVjEFdvw7B-tlNTi-w;全文 *

Also Published As

Publication number Publication date
CN116955015A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN107526626B (zh) 一种基于CRIU的Docker容器热迁移方法及系统
CN103180842B (zh) 云计算系统和用于该云计算系统的数据同步方法
CN106331098B (zh) 一种服务器集群系统
CN109151045B (zh) 一种分布式云系统及监控方法
CN110581782B (zh) 一种容灾数据的处理方法、装置及系统
US20090144341A1 (en) Ad Hoc Data Storage Network
WO2018049983A1 (zh) 数据同步方法、系统、同步获取方法及装置
US11947429B2 (en) Data disaster recovery method and site
CN111427728B (zh) 状态管理方法、主备切换方法及电子设备
CN115576655B (zh) 容器数据保护系统、方法、装置、设备及可读存储介质
CN114415984B (zh) 数据处理方法及装置
CN111274065B (zh) 一种基于软件的灾备方法及装置
CN115878384A (zh) 一种基于备份容灾系统的分布式集群及构建方法
CN115658390A (zh) 容器容灾方法、系统、装置、设备及计算机可读存储介质
CN102185717A (zh) 业务处理设备、方法及系统
CN116955015B (zh) 基于数据存储服务的数据备份系统及方法
CN113986450A (zh) 一种虚拟机备份方法及装置
CN113438111A (zh) 基于Raft分布式恢复RabbitMQ网络分区的方法及应用
CN116107704B (zh) 区块链BaaS和多联盟部署方法、数据存储访问方法及装置
CN112052127A (zh) 一种用于双机热备环境的数据同步方法及装置
EP4318243A1 (en) Data backup method and system, and related device
CN114281600A (zh) 一种容灾备份和容灾恢复方法、装置、设备及存储介质
CN114584459A (zh) 一种实现容器云平台主备高可用的方法
CN110688259B (zh) 一种私有云备份恢复系统及其备份恢复方法
CN108429813B (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