CN115174364B - 一种容灾场景下的数据还原方法、装置以及介质 - Google Patents

一种容灾场景下的数据还原方法、装置以及介质 Download PDF

Info

Publication number
CN115174364B
CN115174364B CN202210764643.8A CN202210764643A CN115174364B CN 115174364 B CN115174364 B CN 115174364B CN 202210764643 A CN202210764643 A CN 202210764643A CN 115174364 B CN115174364 B CN 115174364B
Authority
CN
China
Prior art keywords
minio
cluster
metadata
kubernetes
data
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
CN202210764643.8A
Other languages
English (en)
Other versions
CN115174364A (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.)
Inspur Jinan data Technology Co ltd
Original Assignee
Inspur Jinan data 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 Inspur Jinan data Technology Co ltd filed Critical Inspur Jinan data Technology Co ltd
Priority to CN202210764643.8A priority Critical patent/CN115174364B/zh
Publication of CN115174364A publication Critical patent/CN115174364A/zh
Application granted granted Critical
Publication of CN115174364B publication Critical patent/CN115174364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种容灾场景下的数据还原方法、装置以及介质,应用于信息技术领域。该方法中,备份资源池为多个minio集群。工作集群用于正常运行客户业务,若工作集群无法正常工作,则根据各minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;不同时间的当前Kubernetes元数据不同,本申请的目的是找到各minio集群中最适合保存当前Kubernetes元数据的目标minio集群。在工作集群无法正常工作时,找到最优的目标minio集群保存当前Kubernetes元数据,从而保证了容灾集群获取Kubernetes元数据的效率。

Description

一种容灾场景下的数据还原方法、装置以及介质
技术领域
本申请涉及信息技术领域,特别是涉及一种容灾场景下的数据还原方法、装置以及介质。
背景技术
在容器技术时代,大量的业务应用场景需通过Kubernetes容器编排技术上云,Kubernetes是一个用于容器集群的自动化部署、扩容以及运维的开源平台。容灾是指一种提高***在遇到一些突发情况后***快速恢复业务的能力,容灾***是指两套或多套功能相同的***,互相之间可以进行健康状态监视和功能切换,当一处***因意外停止工作时,整个应用***可以切换到另一处,使得该***功能可以继续正常工作。容灾技术是***的高可用性技术的一个组成部分,容灾***更加强调处理外界环境对***的影响,提供节点级别的***恢复功能。Kubernetes集群分为工作集群和容灾集群,工作集群是用于正常运行客户业务的Kubernetes集群;在一些无法预知情况下,造成工作集群无法正常工作,必须快速启用一个Kubernetes集群来满足客户正常业务,这样的Kubernetes集群称为容灾集群。在工作集群出现故障后,我们可以通过容灾的手段,快速恢复客户业务。目前的方案是将Kubernetes元数据存入备份资源池中,备份资源池为一个minio集群,在工作集群无法正常工作后,直接从备份资源池中拉取Kubernetes元数据。
但是,当前的方案只有一个minio集群,在工作集群无法正常工作后,只能从这个minio集群中拉取Kubernetes元数据,无法保证容灾集群获取Kubernetes元数据的效率。
由此可见,如何保障容灾集群获取Kubernetes元数据的效率,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种容灾场景下的数据还原方法、装置以及介质,保障容灾集群获取Kubernetes元数据的效率。
为解决上述技术问题,本申请提供一种容灾场景下的数据还原方法,备份资源池为多个minio集群;所述方法包括:
若工作集群无法正常工作,则根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;
将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中;
控制容灾集群从所述目标minio集群中拉取所述Kubernetes元数据。
优选地,所述性能数据包括:所述工作集群将当前所述Kubernetes元数据上传至各所述minio集群的上传时长和各所述minio集群的心跳时间。
优选地,所述根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群包括:
获取当前时间与最近一次所述心跳时间的时间差值;
根据所述上传时长和所述时间差值建立得分公式;其中,所述得分公式的得分表征所述minio集群的数据拉取效率;
根据所述得分公式确定出当前所述Kubernetes元数据拉取效率最高的所述目标minio集群。
优选地,各所述minio集群相互连接。
优选地,所述将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中包括:
将当前所述Kubernetes元数据进行打包并生成zip文件;
将所述zip文件进行分片得到多个分片数据;
将所述分片数据保存至所述目标minio集群,以便于所述目标minio集群组合各所述分片数据得到新的Kubernetes元数据。
优选地,所述将所述分片数据保存至所述目标minio集群包括:
将所述分片数据直接发送至所述目标minio集群或通过其他所述minio集群转发至所述目标minio集群。
优选地,所述将所述分片数据保存至所述目标minio集群,以便于所述目标minio集群组合各所述分片数据得到新的Kubernetes元数据之后,还包括:
对所述新的Kubernetes元数据进行签名;其中,所述容灾集群拉取到所述新的Kubernetes元数据后对所述签名进行验证。
为解决上述技术问题,本申请还提供一种容灾场景下的数据还原装置,备份资源池为多个minio集群;所述装置包括:
确定模块,用于若工作集群无法正常工作,则根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;
保存模块,用于将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中;
控制模块,用于控制容灾集群从所述目标minio集群中拉取所述Kubernetes元数据。
优选地,所述容灾场景下的数据还原装置还包括:签名模块,用于在将所述分片数据直接发送至所述目标minio集群或通过其他所述minio集群转发至所述目标minio集群中,以便于所述目标minio集群组合各所述分片数据得到新的Kubernetes元数据之后,对所述新的Kubernetes元数据进行签名;其中,所述容灾集群拉取到所述新的Kubernetes元数据后对所述签名进行验证。
为解决上述技术问题,本申请还提供一种容灾场景下的数据还原装置,包括:存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述容灾场景下的数据还原方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述容灾场景下的数据还原方法的步骤。
本申请所提供的容灾场景下的数据还原方法,备份资源池为多个minio集群。工作集群用于正常运行客户业务,若工作集群无法正常工作,则根据各minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;不同时间的当前Kubernetes元数据不同,本申请的目的是找到各minio集群中最适合保存当前Kubernetes元数据的目标minio集群。确定出目标minio集群之后,将工作集群的当前Kubernetes元数据存入目标minio集群中;进而控制容灾集群从目标minio集群中拉取Kubernetes元数据。本方案提供的备份资源池为多个minio集群,在工作集群无法正常工作时,找到最优的目标minio集群保存当前Kubernetes元数据,从而保证了容灾集群获取Kubernetes元数据的效率。
本申请还提供了一种容灾场景下的数据还原装置和计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种容灾场景下的数据还原方法的流程图;
图2为本申请实施例提供的一种备份Kubernetes元数据的结构示意图;
图3为本申请实施例提供的一种数据分发装置的结构示意图;
图4为本申请实施例提供的容灾场景下的数据还原装置的结构图;
图5为本申请另一实施例提供的容灾场景下的数据还原装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种容灾场景下的数据还原方法、装置以及介质,保障容灾集群获取Kubernetes元数据的效率。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
Kubernetes元数据也称K8s元数据,是Kubernetes集群资源,是无状态负载(Deployment)、有状态负载(StatefulSet)、网络策略(NetworkPolicy)、普通配置(ConfigMap)、集群角色(ClusterRole)、卷声明对象(PV)等类型资源的统称。minio是用于存储Kubernetes元数据的对象存储,是一个开源组件。minio集群是基于分布式技术部署的minio,用于提高minio的可靠性及稳定性。容灾是指一种提高***在遇到一些突发情况后***快速恢复业务的能力。Kubernetes集群分为工作集群和容灾集群,工作集群是用于正常运行客户业务的Kubernetes集群;在一些无法预知情况下,造成工作集群无法正常工作,必须快速启用一个Kubernetes集群来满足客户正常业务,这样的Kubernetes集群称为容灾集群。在一些不可预知的情况下,工作集群会出现故障,我们可以通过容灾的手段,通过容灾集群快速恢复客户业务;而快速恢复客户业务有一个很重要的基础,就是要保障备份资源池中Kubernetes元数据安全存在,并且能够快速被拉取到容灾集群进行恢复创建。因此,保障Kubernetes元数据的上传拉取效率、数据安全以及防止数据孤岛、单点故障就是一个需要解决的问题。本方案就是应用于容灾场景下Kubernetes元数据上传到minio集群中进行存储操作的一种方法和装置,通过本策略,可以将Kubernetes元数据快速上传到备份资源池中;在Kubernetes元数据成功上传到minio集群后,对其进行签名并对上传的Kubernetes元数据涉及的信息进行管理;在发生不可预知问题导致工作集群故障时,能快速拉取Kubernetes元数据并在容灾集群上进行创建。本申请主要应用于在容灾场景下Kubernetes元数据上传到minio集群进行存储保护的操作,通过本方法和装置进行容灾场景下的Kubernetes元数据上传到minio集群,提高了工作集群的容灾Kubernetes元数据的上传拉取效率,增强了Kubernetes元数据的安全特性,解决了容灾场景下Kubernetes元数据孤岛、单点故障问题。
本申请实施例提供的容灾场景下的数据还原方法中,备份资源池为多个minio集群;图1为本申请实施例提供的一种容灾场景下的数据还原方法的流程图;如图1所示,该方法包括如下步骤:
S10:若工作集群无法正常工作,则根据各minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群。
S11:将工作集群的当前Kubernetes元数据存入目标minio集群中。
S12:控制容灾集群从目标minio集群中拉取Kubernetes元数据。
图2为本申请实施例提供的一种备份Kubernetes元数据的结构示意图;如图2所示,包括:数据分发装置1、minio管理装置2、数据拉取装置3、工作集群4、备份资源池5、容灾集群6、minio集群7;本申请实施例可通过数据分发装置1、minio管理装置2、数据拉取装置3来实现快速拉取Kubernetes元数据并在容灾集群6上进行创建。velero是一种开源的备份、还原工具,可用于将Kubernetes元数据进行备份还原。在工作集群4出现故障无法正常工作时,数据分发装置1会接收velero打包的工作集群4上Kubernetes元数据,然后可以对打包的Kubernetes元数据进行分片得到分片数据,并分发到备份资源池5中;本实施例提供的备份资源池5中有多个区域,即包括多个minio集群7,且各minio集群7之间可以相互通信,则可将分片数据分发到各minio集群7中,目标minio集群可从其他minio集群7中获取分发到的分片数据,然后和自身获取的分片数据组合成备份的Kubernetes元数据并进行签名,然后容灾集群6在目标minio集群中拉取Kubernetes元数据以恢复客户业务。图2中的第二区域内的minio集群7即为目标minio集群,则第二区域的minio集群7可从第一区域中的minio集群7中拉取分片数据。minio管理装置2用于维护上传Kubernetes元数据的一些管理信息,如开始处理时间,完成时间以及签名信息等。数据拉取装置3用于计算从哪个minio集群7拉取Kubernetes元数据最优,然后交由容灾集群6的velero进行恢复创建,如图2,数据拉取装置3和第二区域中的目标minio集群相连,以从目标minio集群中拉取数据。在容灾场景下,通过备份和还原的操作快速恢复客户业务,备份即是将工作集群4的Kubernetes元数据打包成zip包,并上传到备份资源池5的目标minio集群中;还原则是从备份资源池5的目标minio集群中拉取Kubernetes元数据的zip包,在容灾集群6中重新生成Kubernetes元数据,通过数据拉取装置3计算出拉取Kubernetes元数据最优的目标minio集群,提高了Kubernetes元数据的上传拉取效率;在目标minio集群中对Kubernetes元数据进行签名,可增强数据的安全性,各minio集群7之间可以相互通信,解决了Kubernetes元数据孤岛、单点故障等问题。需要注意的是,图2所示的结构和对应的方案只是本申请实施例所提供的其中一种,并不对本申请的其他方案造成限定,在一些实施例中,只需要确定出当前Kubernetes元数据拉取效率最高的目标minio集群,然后将工作集群4的当前Kubernetes元数据存入目标minio集群以及从目标minio集群拉取Kubernetes元数据到容灾集群6即可。
下面以图2所示的结构对本申请实施例的方案进行详细描述,主要针对数据分发装置1、minio管理装置2、数据拉取装置3三个模块进行叙述。
本示例需建立一个基于对等网络(Peer to Peer,P2P)进行数据分发的数据分发装置1,数据分发装置1拦截到velero上传打包的Kubernetes元数据时,开始进行数据分发以及分发完后的上传签名操作。数据分发装置1由一个Data master和多个Data agent构成,如图2所示的结构中,数据分发装置1由一个Data master和两个Data agent构成(虚线框内),对应的minio集群也为两个。velero会把需要上传的Kubernetes元数据进行打包,并生成zip文件。在生成zip文件后,通过数据分发装置1的Data master将zip文件进行分片,比如可以分为5M一片;并根据minio集群7的数量生成数据分发任务。将任务下发到各Dataagent,Data agent开始缓存Data master分发的分片数据,当各Data agent获取所有分片数据在后,开始将分片组合生成新的Kubernetes元数据zip文件。由于不同的分片数据到达不同的Data agent是有差异的,各个Data agent之间可以经由Data master的调度模块,就近拉取其他Data agent上的分片数据,从而加快Kubernetes元数据zip文件的上传。因为各Data agent与一minio集群7对应,各个Data agent之间可就近拉取其他Data agent上的分片数据即相当于minio集群7之间可以相互通信,即实现了目标minio集群可从其他minio集群7中获取先分发到的分片数据。当Data agent接收到所有Kubernetes元数据zip文件的分片数据后,在目标minio集群中组合成Kubernetes元数据zip文件;然后对数据进行验证签名,具体可以通过生成唯一的hash值进行签名。
minio管理装置2是用于维护上传Kubernetes元数据的一些管理信息。这些管理信息通过主从表结构对Kubernetes元数据信息进行管理,主表结构主要记录上传Kubernetes元数据所属工作集群4的信息;从表结构用于记录上传Kubernetes元数据的时间、完成上传Kubernetes元数据的时间、上传Kubernetes元数据所属minio集群7的心跳,以及签名hash值等。另外,值得注意的是,本申请所提供的备份资源池5中的minio集群7的数量并不作要求,可根据实际情况进行设定,minio管理装置2与全部的minio集群7相互连接,minio集群7将各管理信息上传到minio管理装置2中。
数据拉取装置3用于在发生不可预知的故障时,能够从备份资源池5中快速拉取Kubernetes元数据,从而缩短Kubernetes集群业务恢复的时间。对于快速拉取Kubernetes元数据参考以下算法策略:从minio管理装置2中获取需要拉取Kubernetes元数据所涉及的minio集群7,并分别计算出将当前Kubernetes元数据上传至各minio集群7的上传时长,还从minio管理装置2中获取需要拉取Kubernetes元数据所涉及minio集群7的心跳时间。
根据公式(1)计算出最适合拉取Kubernetes元数据的minio集群:
其中,Kubernetes元数据上传到minio集群的上传时长分别为:ST1、ST2、ST3……STn。每个minio集群当前时间与最后一次心跳时间的差值:HT1、HT2、HT3……HTn。根据公式(1)计算出每个minio集群的得分Score,得分最高的就是我们需要保存和拉取Kubernetes元数据的目标minio集群。
本实施例的目的是,在一些不可预知的情况下,Kubernetes元数据所在的工作集群出现故障,从而影响客户业务的正常进行时,通过容灾的手段,快速恢复客户业务。快速恢复客户业务重要的基础就是要保障备份资源池中的Kubernetes元数据安全存在,并且能够快速被拉取到容灾集群以进行恢复创建,这两种业务场景就是我们要提升优化满足的场景。本方法的关键点是,设计基于P2P网络进行数据分发的规则,以达到多点上传Kubernetes元数据(即通过多个minio集群向目标minio集群传输分片数据)、对Kubernetes元数据进行签名以防篡改、统筹考虑Kubernetes元数据存放远近及网络实际情况得到拉取算法,进而提高Kubernetes集群容灾元数据的上传拉取效率,增强Kubernetes元数据安全特性,解决Kubernetes集元数据孤岛、单点故障问题。
本申请实施例所提供的容灾场景下的数据还原方法,备份资源池为多个minio集群。工作集群用于正常运行客户业务,若工作集群无法正常工作,则根据各minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;不同时间的当前Kubernetes元数据不同,本申请的目的是找到各minio集群中最适合保存当前Kubernetes元数据的目标minio集群。确定出目标minio集群之后,将工作集群的当前Kubernetes元数据存入目标minio集群中;进而控制容灾集群从目标minio集群中拉取Kubernetes元数据。本方案提供的备份资源池为多个minio集群,在工作集群无法正常工作时,找到最优的目标minio集群保存当前Kubernetes元数据,从而保证了容灾集群获取Kubernetes元数据的效率。
在上述实施例中,并未限定本申请所使用是性能数据,性能数据是用于确定出当前Kubernetes元数据拉取效率最高的目标minio集群,因此,合适的性能数据能够准确的确定出目标minio集群,使数据拉取的效率更高。因此,本申请实施例提供的性能数据包括:工作集群将当前Kubernetes元数据上传至各minio集群的上传时长和各minio集群的心跳时间。对应地,采用上述性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群的具体方案如下:根据各minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群包括:获取当前时间与最近一次心跳时间的时间差值;根据上传时长和时间差值建立得分公式;其中,得分公式的得分表征minio集群的数据拉取效率,得分公式具体可参见公式(1);Kubernetes元数据上传到minio集群的上传时长分别为:ST1、ST2、ST3……STn。每个minio集群当前时间与最后一次心跳时间的差值:HT1、HT2、HT3……HTn。根据得分公式(1)可计算出每个minio集群的得分,最终确定出当前Kubernetes元数据拉取效率最高的目标minio集群。本申请实施例所提供的性能数据以及对应的确定目标minio集群的方案,可在多个minio集群中找到拉取当前Kubernetes元数据效率最高的目标minio集群,提高了Kubernetes元数据的拉取效率。
在具体实施时,各minio集群并不一定需要相互连接,但是这会造成Kubernetes元数据孤岛、单点故障问题。若确定出的目标minio集群突然故障,则相应的Kubernetes元数据应输入另一minio集群进行备份。因此,本实施例提供的方案中,各minio集群相互连接,且将工作集群的当前Kubernetes元数据存入目标minio集群中包括:将当前Kubernetes元数据进行打包并生成zip文件;将zip文件进行分片得到多个分片数据;将分片数据保存至目标minio集群,以便于目标minio集群组合各分片数据得到新的Kubernetes元数据。本实施例所提供的方案,将Kubernetes元数据分片后再进行传输,可提高传输效率。另外,将分片数据保存至目标minio集群包括:将分片数据直接发送至目标minio集群或通过其他minio集群转发至目标minio集群。如图2所示的结构中,在生成zip文件后,通过数据分发装置1的Data master将zip文件进行分片;并根据minio集群7的数量生成数据分发任务。将任务下发到各Data agent,Data agent开始缓存Data master分发的分片数据,由于不同的分片数据到达不同的Data agent是有差异的,各个Data agent之间可以经由Data master的调度模块,就近拉取其他Data agent上的分片数据,从而加快Kubernetes元数据zip文件的上传。因为各Data agent与一minio集群7对应,各个Data agent之间可就近拉取其他Dataagent上的分片数据即相当于minio集群7之间可以相互通信,即实现了目标minio集群可从其他minio集群7中获取先分发到的分片数据。目标minio集群的Data agent就近拉取其他minio集群的Data agent上的分片数据,极大的提高了Kubernetes元数据上传至目标minio集群的效率,也相当于提高了Kubernetes元数据整个备份和还原过程的效率。
为了保证容灾集群得到的Kubernetes元数据是安全的,本申请实施例提供一种方案,在将分片数据保存至目标minio集群,以便于目标minio集群组合各分片数据得到新的Kubernetes元数据之后,还包括:对新的Kubernetes元数据进行签名;其中,容灾集群拉取到新的Kubernetes元数据后对签名进行验证。具体可以通过生成唯一的hash值进行签名,hash是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。hash值是固定的,相当于某个文件的信息摘要,无论这个文件在哪个机器上,它的hash值都是不变的,无论过了多长时间,这个值始终如一,当我们在进行文件的下载上传过程中,都可通过hash值来确定文件。若Kubernetes元数据被改动,则对应的hash值也会变化,因此,容灾集群拉取到新的Kubernetes元数据后对签名的hash值进行验证,可确保自己拿到的Kubernetes元数据没有经过改动。另外,值得注意的是,本示例通过生成唯一的hash值进行签名只是本实施例的其中一种方式,也可通过其他方式进行签名,这里不作限定。
另外,本申请实施例提供一种数据分发装置1的具体结构,图3为本申请实施例提供的一种数据分发装置的结构示意图;如图3所示,数据分发装置1由一个Data master和两个Data agent构成,Data master由Scheduler模块进行调度任务,再通过Progress模块生成任务到Data master Task模块以及缓存文件到内容分发网络(Content DeliveryNetwork,CDN)模块中,最后将任务下发到各Data agent,Data Agent主要分为Progress和Uploader两个模块,Progress模块用于接收Data master分发过来的分片数据,以及可以从其他Data Agent协同拉取到分片数据;Uploader模块用于将Progress模块合成的分片数据进行签名后上传到minio集群中。本实施例提供的数据分发装置的结构只是一种示例,并不对其他方案造成限定。
在上述实施例中,对于容灾场景下的数据还原方法进行了详细描述,本申请还提供容灾场景下的数据还原装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种容灾场景下的数据还原装置,其中,备份资源池为多个minio集群;图4为本申请实施例提供的容灾场景下的数据还原装置的结构图,如图4所示,该装置包括:
确定模块10,用于若工作集群无法正常工作,则根据各minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;
保存模块11,用于将工作集群的当前Kubernetes元数据存入目标minio集群中;
控制模块12,用于控制容灾集群从目标minio集群中拉取Kubernetes元数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施方式,容灾场景下的数据还原装置还包括:签名模块,用于在将分片数据直接发送至目标minio集群或通过其他minio集群转发至目标minio集群中,以便于目标minio集群组合各分片数据得到新的Kubernetes元数据之后,对新的Kubernetes元数据进行签名;其中,容灾集群拉取到新的Kubernetes元数据后对签名进行验证。
本实施例提供的容灾场景下的数据还原装置,与上述方法对应,故具有与上述方法相同的有益效果。
基于硬件的角度,本实施例提供了另一种容灾场景下的数据还原装置,图5为本申请另一实施例提供的容灾场景下的数据还原装置的结构图,如图5所示,容灾场景下的数据还原装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的容灾场景下的数据还原方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的容灾场景下的数据还原方法的相关步骤。另外,存储器20所存储的资源还可以包括操作***202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作***202可以包括Windows、Unix、Linux等。数据203可以包括但不限于容灾场景下的数据还原方法涉及到的数据等。
在一些实施例中,容灾场景下的数据还原装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图中示出的结构并不构成对容灾场景下的数据还原装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的容灾场景下的数据还原装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:容灾场景下的数据还原方法。
本实施例提供的容灾场景下的数据还原装置,与上述方法对应,故具有与上述方法相同的有益效果。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例描述的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
以上对本申请所提供的一种容灾场景下的数据还原方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (4)

1.一种容灾场景下的数据还原方法,其特征在于,备份资源池为多个minio集群,各所述minio集群相互连接;所述方法包括:
若工作集群无法正常工作,则根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;
将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中;
控制容灾集群从所述目标minio集群中拉取所述Kubernetes元数据;
其中,所述性能数据包括:所述工作集群将当前所述Kubernetes元数据上传至各所述minio集群的上传时长和各所述minio集群的心跳时间;
所述根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群包括:
获取当前时间与最近一次所述心跳时间的时间差值;
根据所述上传时长和所述时间差值建立得分公式;其中,所述得分公式的得分表征所述minio集群的数据拉取效率;所述得分公式包括:
所述Kubernetes元数据上传到各所述minio集群的所述上传时长分别为:ST1、ST2、ST3……STn;每个所述minio集群的所述时间差值为:HT1、HT2、HT3……HTn;
根据所述得分公式确定出当前所述Kubernetes元数据拉取效率最高的所述目标minio集群;
所述将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中包括:
将当前所述Kubernetes元数据进行打包并生成zip文件;
将所述zip文件进行分片得到多个分片数据;
将所述分片数据直接发送至所述目标minio集群或通过其他所述minio集群转发至所述目标minio集群,以便于所述目标minio集群组合各所述分片数据得到新的Kubernetes元数据;
对所述新的Kubernetes元数据进行签名;其中,所述容灾集群拉取到所述新的Kubernetes元数据后对所述签名进行验证。
2.一种容灾场景下的数据还原装置,其特征在于,备份资源池为多个minio集群,各所述minio集群相互连接;所述装置包括:
确定模块,用于若工作集群无法正常工作,则根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群;
保存模块,用于将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中;
控制模块,用于控制容灾集群从所述目标minio集群中拉取所述Kubernetes元数据;
其中,所述性能数据包括:所述工作集群将当前所述Kubernetes元数据上传至各所述minio集群的上传时长和各所述minio集群的心跳时间;
所述根据各所述minio集群的性能数据确定出当前Kubernetes元数据拉取效率最高的目标minio集群包括:
获取当前时间与最近一次所述心跳时间的时间差值;
根据所述上传时长和所述时间差值建立得分公式;其中,所述得分公式的得分表征所述minio集群的数据拉取效率;所述得分公式包括:
所述Kubernetes元数据上传到各所述minio集群的所述上传时长分别为:ST1、ST2、ST3……STn;每个所述minio集群的所述时间差值为:HT1、HT2、HT3……HTn;
根据所述得分公式确定出当前所述Kubernetes元数据拉取效率最高的所述目标minio集群;
所述将所述工作集群的当前所述Kubernetes元数据存入所述目标minio集群中包括:
将当前所述Kubernetes元数据进行打包并生成zip文件;
将所述zip文件进行分片得到多个分片数据;
将所述分片数据直接发送至所述目标minio集群或通过其他所述minio集群转发至所述目标minio集群,以便于所述目标minio集群组合各所述分片数据得到新的Kubernetes元数据;
对所述新的Kubernetes元数据进行签名;其中,所述容灾集群拉取到所述新的Kubernetes元数据后对所述签名进行验证。
3.一种容灾场景下的数据还原装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述的容灾场景下的数据还原方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的容灾场景下的数据还原方法的步骤。
CN202210764643.8A 2022-06-30 2022-06-30 一种容灾场景下的数据还原方法、装置以及介质 Active CN115174364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210764643.8A CN115174364B (zh) 2022-06-30 2022-06-30 一种容灾场景下的数据还原方法、装置以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210764643.8A CN115174364B (zh) 2022-06-30 2022-06-30 一种容灾场景下的数据还原方法、装置以及介质

Publications (2)

Publication Number Publication Date
CN115174364A CN115174364A (zh) 2022-10-11
CN115174364B true CN115174364B (zh) 2024-07-02

Family

ID=83488716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210764643.8A Active CN115174364B (zh) 2022-06-30 2022-06-30 一种容灾场景下的数据还原方法、装置以及介质

Country Status (1)

Country Link
CN (1) CN115174364B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658390A (zh) * 2022-11-14 2023-01-31 济南浪潮数据技术有限公司 容器容灾方法、***、装置、设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145406A (zh) * 2017-05-14 2017-09-08 四川盛世天成信息技术有限公司 一种基于集群技术的容灾备份方法及***
CN112214351A (zh) * 2020-10-12 2021-01-12 珠海格力电器股份有限公司 备份数据的恢复方法和装置、电子设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598789B (zh) * 2016-11-30 2020-02-21 成都华为技术有限公司 容器服务容灾的方法、装置、生产站点和灾备站点
CN109120678B (zh) * 2018-07-26 2021-05-14 北京百度网讯科技有限公司 用于分布式存储***的服务托管的方法和装置
CN109600430A (zh) * 2018-11-29 2019-04-09 深圳市网心科技有限公司 一种数据管理方法、***及电子设备和存储介质
CN110377459A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 一种容灾***、容灾处理方法、监控节点和备份集群
CN110321252B (zh) * 2019-07-02 2022-02-08 思必驰科技股份有限公司 一种技能服务资源调度的方法和装置
CN111176697B (zh) * 2020-01-02 2024-02-13 广州虎牙科技有限公司 服务实例部署方法、数据处理方法及集群联邦
US11093290B1 (en) * 2020-03-19 2021-08-17 EMC IP Holding Company LLC Backup server resource-aware discovery of client application resources
CN112015593B (zh) * 2020-08-27 2022-06-07 北京浪潮数据技术有限公司 Kubernetes集群的容灾备份方法及相关组件
CN112099989A (zh) * 2020-08-28 2020-12-18 中国—东盟信息港股份有限公司 一种Kubernetes云原生应用灾备、迁移与恢复的方法
CN112653574B (zh) * 2020-12-11 2023-07-04 邦彦技术股份有限公司 基于ims集群应用的业务容灾方法和***
CN113596190B (zh) * 2021-07-23 2023-05-26 浪潮云信息技术股份公司 基于Kubernetes的应用分布式多活***及方法
CN113590386B (zh) * 2021-07-30 2023-03-03 深圳前海微众银行股份有限公司 数据的容灾恢复方法、***、终端设备及计算机存储介质
CN113687911A (zh) * 2021-07-30 2021-11-23 广东浪潮智慧计算技术有限公司 一种元数据管理方法、***、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145406A (zh) * 2017-05-14 2017-09-08 四川盛世天成信息技术有限公司 一种基于集群技术的容灾备份方法及***
CN112214351A (zh) * 2020-10-12 2021-01-12 珠海格力电器股份有限公司 备份数据的恢复方法和装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115174364A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
CA2957749C (en) Systems and methods for fault tolerant communications
EP3014446B1 (en) Asynchronous message passing for large graph clustering
CN103778031B (zh) 一种云环境下的分布式***多级故障容错方法
CN110856018B (zh) 一种基于云计算的监控***中的快速转码方法及***
CN115174364B (zh) 一种容灾场景下的数据还原方法、装置以及介质
CN108804465B (zh) 一种分布式缓存数据库数据迁移的方法及***
CN109921942B (zh) 云平台切换控制方法、装置、***及电子设备
CN106528574A (zh) 一种数据同步方法及设备
US11824714B2 (en) Method and apparatus for updating an edge node, device, medium and program product
US9436560B2 (en) Increasing disaster resiliency by having a pod backed up to other peer pods in a site or beyond
US9100380B2 (en) File download method, device and system
CN104113606B (zh) 一致性动态均衡的分布式元数据节点架构的工作方法
US10218780B2 (en) Cloud based peer assisted updates in a device management environment
CN113900598A (zh) 基于区块链的数据存储方法、装置、设备以及存储介质
CN101741635A (zh) 一种同步告警信息的方法、***及设备
US9846622B1 (en) Parallel computer system recovery
CN103281356A (zh) 一种分发文件的方法及***
CN109117292B (zh) 一种集群存储的方法和装置及集群存储***
CN111988347B (zh) 跳板机***的数据处理方法和跳板机***
CN105119754A (zh) 虚拟化主备倒换保持tcp连接的***及方法
CN103902401A (zh) 基于监控的虚拟机容错方法及装置
CN107346217B (zh) 一种云硬盘管理方法、云计算管理平台及虚拟化平台
CN106708666A (zh) 一种故障计算机自动切换方法及装置
KR102031484B1 (ko) 블록 체인을 이용하여 서비스 서버의 재해 복구를 수행하는 서버 및 복구 서버와, 상기 서버의 제어 방법
US11537480B1 (en) Systems and methods of backup and recovery of journaling systems

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