CN116166470A - Redis集群克隆复制方法及装置、介质、设备 - Google Patents
Redis集群克隆复制方法及装置、介质、设备 Download PDFInfo
- Publication number
- CN116166470A CN116166470A CN202211099611.7A CN202211099611A CN116166470A CN 116166470 A CN116166470 A CN 116166470A CN 202211099611 A CN202211099611 A CN 202211099611A CN 116166470 A CN116166470 A CN 116166470A
- Authority
- CN
- China
- Prior art keywords
- file
- source
- backup
- instance
- redis cluster
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000010076 replication Effects 0.000 title claims abstract description 19
- 238000010367 cloning Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims description 18
- 239000012634 fragment Substances 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了一种Redis集群克隆复制方法及装置、介质、设备。方法包括判断源Redis集群实例的集群状态是否正常;若源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使备份恢复程序将源Redis集群实例中当前的全量数据生成快照文件,将快照文件上传至分布式存储系统中;创建资源编排文件;将资源编排文件发送至云平台,以使云平台根据资源创建步骤创建版本和规格的至少一个目标Redis集群实例,并根据实例克隆步骤调用备份恢复程序,以使备份恢复程序从分布式存储系统中下载快照文件,将快照文件恢复为源文件,并通过并发写入的方式将源文件写入至少一个目标Redis集群实例中。本发明实施例可以实现Redis集群的快速克隆复制。
Description
技术领域
本说明书一个或多个实施例涉及缓存数据库技术领域,尤其是涉及一种Redis集群克隆复制方法及装置、介质、设备。
背景技术
在云计算和大数据背景下,公有云环境中缓存数据库的应用越来越广泛,因此产生了将源Redis集群的数据克隆复制到一个或者多个目标Redis集群的需求。
发明内容
为了解决以上至少一个问题,本说明书实施例描述了一种Redis集群克隆复制方法及装置、介质、设备。
根据第一方面,提供了一种Redis集群克隆复制方法,包括:
判断源Redis集群实例的集群状态是否正常;
若所述源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中;
创建资源编排文件;其中,所述资源编排文件中包括所述源Redis集群实例对应的版本和规格、资源创建步骤以及实例克隆步骤;
将所述资源编排文件发送至云平台,以使所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例,并根据所述实例克隆步骤调用所述备份恢复程序,以使所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。
根据第二方面,提供了一种Redis集群克隆复制装置,包括:
状态判断模块,用于判断源Redis集群实例的集群状态是否正常;
备份上传模块,用于若所述源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中;
文件创建模块,用于创建资源编排文件;其中,所述资源编排文件中包括所述源Redis集群实例对应的版本和规格、资源创建步骤以及实例克隆步骤;
下载恢复模块,用于将所述资源编排文件发送至云平台,以使所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例,并根据所述实例克隆步骤调用所述备份恢复程序,以使所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面提供的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的所述的方法。
本说明书实施例提供的Redis集群克隆复制方法及装置、介质、设备,在源Redis集群实例的集群状态正常的情况下,通过备份恢复程序将源Redis集群实例中当前的全量数据生成快照文件,并将快照文件上传至分布式存储系统中,实现备份和上传。创建资源编排文件,使得云平台根据其中的资源创建步骤创建相同版本和规格的目标Redis集群实例,根据实例克隆步骤调用备份恢复程序,进而通过备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。可见本发明实施例提供的方法基于备份恢复程序及资源编排文件实现的集群快速克隆复制,可实现同一源Redis集群向多个目标Redis集群的克隆复制,不必手动操作,即克服了手动创建实例并同步数据的繁琐操作的缺点,同时保证备份数据的完整性,从而简化了实例复制的流程。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例中Redis集群克隆复制方法的流程示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
第一方面,本发明实施例提供一种Redis集群克隆复制方法。
所述方法由公有云环境中源Redis集群实例和目标Redis集群实例之外的管理系统执行,参见图1,所述方法包括如下步骤S110~S140:
S110、判断源Redis集群实例的集群状态是否正常;
其中,源Redis集群实例,即,将源Redis集群作为一个实例,这样在进行克隆复制时不仅可以复制源Redis集群本身存储的数据,还可以复制相应的实例资源信息,例如,内存大小、集群个数、磁盘大小、CPU大小等资源信息。
在一个实施例中,S110具体可以包括:判断所述源Redis集群实例中的各个节点是否处于连通状态且是否处于正常工作状态;若所述各个节点处于连通状态且处于正常工作状态,则所述源Redis集群实例的集群状态正常,否则所述源Redis集群实例的集群状态不正常。
例如,通过循环遍历源Redis集群实例中的各个节点,包括主节点和从节点,判断各个节点是否连通以及各个节点是否都正常提供服务,如果各个节点连通畅通,且各个节点都正常提供服务,则可以确定源Redis集群实例处于正常状态,此时可以继续执行以下步骤。如果确定源Redis集群实例的集群状态不正常,则终止执行后续的备份、上传、目标Redis集群实例创建、恢复等步骤。
S120、若所述源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中;
具体的,如果源Redis集群实例的集群状态正常,那么发送备份命令给备份恢复程序。备份恢复程序接收到备份命令后,所述备份恢复程序向所述源Redis集群实例发送备份命令。接收到备份命令的源Redis集群实例生成当前各个分片各自对应的快照文件,即一个分片生成一个快照文件。例如,源Redis集群实例的全量数据分为三个分片,而每一个分片具有自己的主节点和从节点,主节点和从节点上存储的数据是相同的,因此主节点或者从节点可以将自己的分片数据生成一个快照文件,然后将快照文件发送给备份恢复程序。备份恢复程序接收到各个分片对应的快照文件后,将各个快照文件上传到分布式存储系统,至此实现了源Redis集群实例的数据备份。
也就是说,管理系统发送备份命令至所述备份恢复程序,以使所述备份恢复程序向所述源Redis集群实例发送备份命令;其中,接收到备份命令的源Redis集群实例生成当前各个分片各自对应的快照文件,并将各个分片各自对应的快照文件推送至所述备份恢复程序,以使所述备份恢复程序将各个分片各自对应的快照文件上传至所述分布式存储系统中,以实现所述源Redis集群实例的数据备份。
其中,分布式存储系统可以采用Swift分布式存储系统。
可理解的是,备份恢复程序对数据备份后的快照文件直接上传,从而实现了备份数据不落盘,节约了本地存储资源,有效降低了存储资源利用率。
在一个实施例中,所述备份恢复程序可以控制所述源Redis集群实例中每一分片对应的从节点中的全量数据生成对应的快照文件。
也就是说,由从节点生成快照文件,而不是由主节点生成快照文件,这样不会影响到主节点的正常工作,避免备份操作影响到主节点提供的正常服务。
S130、创建资源编排文件;其中,所述资源编排文件中包括所述源Redis集群实例对应的版本和规格、资源创建步骤以及实例克隆步骤;
具体的,在源Redis集群实例备份成功后,管理系统可以生成克隆指令,在克隆指令里指定本次备份完成的各个快照文件的存储地址。然后获取源Redis集群实例的数据库版本和数据库规格,基于版本和规格生成资源编排文件。在资源编排文件中包括上述规格和版本,也包括资源创建步骤以及实例克隆步骤。其中,资源创建步骤是指如何在云平台上创建目标Redis集群实例的详细步骤,实例克隆步骤是指在创建目标Redis集群实例后如何将快照文件对应的源文件克隆到目标Redis集群的详细步骤。
S140、将所述资源编排文件发送至云平台,以使所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例,并根据所述实例克隆步骤调用所述备份恢复程序,以使所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。
也就是说,将资源编排文件发送至云平台,这样云平台就会根据资源编排文件中源Redis集群实例的版本和规格,创建相同版本和相同规格的目标Redis集群实例,即,创建的目标Redis集群实例和源Redis集群实例具有相同的数据库版本和规格。其中,创建目标Redis集群实例的步骤可以参考资源编排文件中的资源创建步骤。
在一个实施例中,所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例的过程中,所述云平台可以通过ping包检测所述目标Redis集群实例中的各个节点是否创建成功且连通。
也就是说,在创建目标Redis集群实例的过程中,可以通过不断的进行节点ping来判断节点是否创建成功,以及所有的节点是否连接通畅。如果各个节点创建成功且连接通畅,则说明目标Redis集群实例创建成功,此时云平台向管理系统反馈创建成功的消息。如果创建失败,则云平台需要向管理系统反馈创建失败的消息。
云平台在目标Redis集群实例创建成功之后,继续执行资源编排文件,即继续执行实例克隆步骤,实例克隆步骤触发或者调用备份恢复程序,备份恢复程序会从分布式存储系统中下载快照文件,将快照文件恢复为源Redis集群实例中的数据,也就是说将快照文件恢复为源文件。然后将各个源文件通过并发写入的方式写入到目标Redis集群实例中。下载快照文件的过程实际上从分布式存储系统拉取快照文件的过程。
为了实现快速的克隆复制,可以一边下载快照文件,一边恢复已经下载得到的快照文件,保证快照数据不落盘。上述并发写入的方式为批量写入的方式,具体的,可以生成多条写命令,从而备份恢复程序可以模拟多个redis客户端进行redis写操作,从而将恢复得到的各个源文件批量写入到目标Redis集群实例中。
也就是说,所述备份恢复程序在下载所述快照文件的过程中,可以将已经下载的快照文件恢复为对应的源文件;生成多条写命令,并通过所述多条写命令将恢复得到的各个源文件批量写入到所述至少一个目标Redis集群实例中。
备份恢复程序在执行上述操作的过程中,还可以新建一条线程,该线程进行写操作的确认,保证数据不丢失,从而保证快照文件克隆到目标Redis集群实例的正确性和完整性。
当然,备份恢复程序还可以通过一个监控脚本对快照文件的恢复进度进行实时监控,如果恢复过程中发生错误,监控脚本及时发出错误信息通知管理系统,并进行回滚操作。快照文件恢复成功后通知管理系统。使用监控脚本进行实时监听,可以使程序进行异步执行,防止程序等待过久造成程序超时,以及防止等待进程过多造成程序异常。
在一个实施例中,所述备份恢复程序控制所述源文件写入所述至少一个目标Redis集群实例的主节点中。
也就是说,只需要将恢复到的源文件写入到目标Redis集群实例的主节点中即可,而主节点就会自动将写入的源文件共享到从节点中。然而,如果将恢复到的源文件直接写入到目标Redis集群实例的从节点中,从节点不会自动将写入的源文件共享到主节点中。因此将源文件写入到目标Redis集群实例的主节点是利用主节点的自动共享功能,可以减少后续的操作步骤。
其中,Redis是目前主流的缓存数据库,Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,是跨平台的非关系型支持网络、可基于内存、分布式、可选持久性的键值对存储数据库。Redis Cluster是一种服务器分片技术,3.0版本开始正式提供,实现了Redis的分布式存储,将整个Redis集群实例中的数据分为多个分片,每一个分片采用主节点和从节点进行存储。
其中,公有云环境中,Openstack Swift分布式存储系统提供存储量大、存储时间长、高可用的存储服务,能够解决快照文件的存储空间问题,解决本地磁盘空间有限的难题。
其中,备份恢复程序是基于改进后的Redis-shake实现的,Redis-shake是阿里云开源的Redis数据传输工具,支持对Redis数据进行解析、恢复、备份和同步,易于部署,灵活高效,备份恢复程序支持swift的备份存储方式。
可见,本发明实施例可以对源Redis集群实例的从节点执行备份上传操作,对目标Redis集群实例的主节点进行拉去写入操作。
可理解的是,在本发明实施例中利用了Swift特性进行分布式存储,实现数据高效快速,大量长时间的存储,解决了磁盘存取缓慢、存储量小的短板;并实现了网络之间高速文件传递的效果。
可理解的是,本发明实施例针对部署在公有云环境上的源Redis集群实例,基于备份恢复程序及资源编排文件实现的集群快速克隆复制,可实现同一源Redis集群向多个目标Redis集群的克隆复制,使得在公有云环境上可以轻松的实现实例复制,也可用来向不同区域或复制相同实例数据。本发明实施例提供的方法可以用于测试实例的搭建及数据的快速复制,克服了手动创建实例并同步数据的繁琐操作及无法保证复制数据的完整性的缺点,从而简化了实例复制的流程。
在上述克隆复制过程中,备份恢复程序具有重要的作用,首先备份恢复程序控制源Redis集群实例生成快照文件,然后将快照文件上传至分布式存储系统,使得整个过程中数据不落地,并保证了备份数据的完成。之后在文件恢复过程中,备份恢复程序实现了快照文件下载恢复的功能,同时也实现了下载数据不落到数据盘。
其中,资源编排文件采用基础设施即代码(即Infrastructure as Code)的设计理念,实现利用代码对云平台资源的管理,无需手动创建多个资源,使用模板进行一键部署,管理系统通过源Redis集群实例的版本和规格等信息生成资源编排文件,利用该资源编排文件实现与源Redis集群实例同等版本、规格的目标Redis集群实例的部署。
可理解的是,在克隆复制的过程中,首要保证的就是备份数据的完整性及恢复过程的数据完整性,由于采用了备份恢复程序,备份恢复程序模拟了Redis主从同步的模式,这里的主即主实例,是指为源Redis集群实例,从即从实例,是指目标Redis集群实例。备份恢复程序给主实例发送备份命令,主实例接收到命令后生成当前数据的快照文件,并推送快照文件到备份恢复程序,备份恢复程序把接收到的快照文件上传至分布式存储系统,实现备份。恢复的过程中,备份恢复程序下载、恢复快照文件得到源文件,并将源文件并发写入到从实例中。其中,主实例在生成快照文件时是将当前时间点的全量数据生成对应的快照文件,可以防止获取到历史的快照文件导致的数据不全、丢失等严重后果。
可理解的是,备份恢复程序还开辟专门的线程来检查写命令的结果,保证写入操作的数据没有丢失,并在写入完成之后进行一次数据全量检查,再次确认写入数据的完整性。
可理解的是,本发明实施例提供的方法得以执行的前提是:部署在公有云环境中的源Redis集群实例能够正常运行,源Redis集群实例所在环境与分布式存储系统互通,目标Redis集群实例所在环境与分布式存储系统互通。
可理解的是,本发明实施例在开源的Redis-shake的基础上修改增加了以swift分布式存储系统作为工具进行源Redis集群实例的快速克隆复制,即,使用备份恢复程序进行快速克隆复制。
可理解的是,本发明实施例在源Redis集群实例正常运行条件下,利用备份恢复程序将源Redis集群中当前的全量数据进行备份,将各个分片形成一个个独立的快照文件,上传Swift分布式存储系统中存储。在云平台上建立一个同等规格和版本的目标Redis集群实例,然后再从Swift分布式存储系统中存取拉取源Redis集群实例的全量数据的快照文件,把各个独立的快照文件恢复为源文件,将源文件写入到目标Redis集群实例的不同分片中。该方法在源Redis集群实例的从节点上进行全量备份,不会影响源Redis集群实例的服务,各个分片同时备份上传,且同时拉取恢复,实现了云上快速克隆复制集群的要求。
其中,资源编排文件是用于云平台执行一系列关联性动作的指令集,它可以实现云平台自动创建目标Redis集群实例,并触发备份恢复程序在分布式存储系统中拉取快照文件进行恢复操作。
第二方面,本发明实施例提供一种Redis集群克隆复制装置,包括:
状态判断模块,用于判断源Redis集群实例的集群状态是否正常;
备份上传模块,用于若所述源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中;
文件创建模块,用于创建资源编排文件;其中,所述资源编排文件中包括所述源Redis集群实例对应的版本和规格、资源创建步骤以及实例克隆步骤;
下载恢复模块,用于将所述资源编排文件发送至云平台,以使所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例,并根据所述实例克隆步骤调用所述备份恢复程序,以使所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。
在一个实施例中,备份上传模块执行的步骤“发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中”,包括:发送备份命令至所述备份恢复程序,以使所述备份恢复程序向所述源Redis集群实例发送备份命令;其中,接收到备份命令的源Redis集群实例生成当前各个分片各自对应的快照文件,并将各个分片各自对应的快照文件推送至所述备份恢复程序,以使所述备份恢复程序将各个分片各自对应的快照文件上传至所述分布式存储系统中,以实现所述源Redis集群实例的数据备份。
在一个实施例中,所述备份恢复程序具体用于:控制所述源Redis集群实例中每一分片对应的从节点中的全量数据生成对应的快照文件。
在一个实施例中,所述备份恢复程序具体用于:控制所述源文件写入所述至少一个目标Redis集群实例的主节点中。
在一个实施例中,状态判断模块具体用于:判断所述源Redis集群实例中的各个节点是否处于连通状态且是否处于正常工作状态;若所述各个节点处于连通状态且处于正常工作状态,则所述源Redis集群实例的集群状态正常,否则所述源Redis集群实例的集群状态不正常。
在一个实施例中,所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例的过程中,所述云平台通过ping包检测所述目标Redis集群实例中的各个节点是否创建成功且连通。
在一个实施例中,所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中,具体包括:所述备份恢复程序在下载所述快照文件的过程中,将已经下载的快照文件恢复为对应的源文件;生成多条写命令,并通过所述多条写命令将恢复得到的各个源文件批量写入到所述至少一个目标Redis集群实例中。
第三方面,本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
第四方面,本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例的装置的具体限定。在说明书的另一些实施例中,上述装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置、系统内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种Redis集群克隆复制方法,其特征在于,包括:
判断源Redis集群实例的集群状态是否正常;
若所述源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中;
创建资源编排文件;其中,所述资源编排文件中包括所述源Redis集群实例对应的版本和规格、资源创建步骤以及实例克隆步骤;
将所述资源编排文件发送至云平台,以使所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例,并根据所述实例克隆步骤调用所述备份恢复程序,以使所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。
2.根据权利要求1所述的方法,其特征在于,所述发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中,包括:
发送备份命令至所述备份恢复程序,以使所述备份恢复程序向所述源Redis集群实例发送备份命令;其中,接收到备份命令的源Redis集群实例生成当前各个分片各自对应的快照文件,并将各个分片各自对应的快照文件推送至所述备份恢复程序,以使所述备份恢复程序将各个分片各自对应的快照文件上传至所述分布式存储系统中,以实现所述源Redis集群实例的数据备份。
3.根据权利要求2所述的方法,其特征在于,所述备份恢复程序控制所述源Redis集群实例中每一分片对应的从节点中的全量数据生成对应的快照文件。
4.根据权利要求1所述的方法,其特征在于,所述备份恢复程序控制所述源文件写入所述至少一个目标Redis集群实例的主节点中。
5.根据权利要求1所述的方法,其特征在于,所述判断源Redis集群实例的集群状态是否正常,包括:
判断所述源Redis集群实例中的各个节点是否处于连通状态且是否处于正常工作状态;若所述各个节点处于连通状态且处于正常工作状态,则所述源Redis集群实例的集群状态正常,否则所述源Redis集群实例的集群状态不正常。
6.根据权利要求1所述的方法,其特征在于,所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例的过程中,所述云平台通过ping包检测所述目标Redis集群实例中的各个节点是否创建成功且连通。
7.根据权利要求1所述的方法,其特征在于,所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中,包括:所述备份恢复程序在下载所述快照文件的过程中,将已经下载的快照文件恢复为对应的源文件;生成多条写命令,并通过所述多条写命令将恢复得到的各个源文件批量写入到所述至少一个目标Redis集群实例中。
8.一种Redis集群克隆复制装置,其特征在于,包括:
状态判断模块,用于判断源Redis集群实例的集群状态是否正常;
备份上传模块,用于若所述源Redis集群实例的集群状态正常,则发送备份命令至备份恢复程序,以使所述备份恢复程序将所述源Redis集群实例中当前的全量数据生成快照文件,并将所述快照文件上传至分布式存储系统中;
文件创建模块,用于创建资源编排文件;其中,所述资源编排文件中包括所述源Redis集群实例对应的版本和规格、资源创建步骤以及实例克隆步骤;
下载恢复模块,用于将所述资源编排文件发送至云平台,以使所述云平台根据所述资源创建步骤创建所述版本和所述规格的至少一个目标Redis集群实例,并根据所述实例克隆步骤调用所述备份恢复程序,以使所述备份恢复程序从所述分布式存储系统中下载所述快照文件,将所述快照文件恢复为源文件,并通过并发写入的方式将所述源文件写入所述至少一个目标Redis集群实例中。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现权利要求4~7中的任一项所述的方法。
10.一种计算设备,其特征在于,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求4~7中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211099611.7A CN116166470A (zh) | 2022-09-09 | 2022-09-09 | Redis集群克隆复制方法及装置、介质、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211099611.7A CN116166470A (zh) | 2022-09-09 | 2022-09-09 | Redis集群克隆复制方法及装置、介质、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166470A true CN116166470A (zh) | 2023-05-26 |
Family
ID=86420703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211099611.7A Pending CN116166470A (zh) | 2022-09-09 | 2022-09-09 | Redis集群克隆复制方法及装置、介质、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166470A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194178A (zh) * | 2023-11-07 | 2023-12-08 | 飞狐信息技术(天津)有限公司 | 获得Redis数据变化记录的方法、装置及服务器 |
-
2022
- 2022-09-09 CN CN202211099611.7A patent/CN116166470A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194178A (zh) * | 2023-11-07 | 2023-12-08 | 飞狐信息技术(天津)有限公司 | 获得Redis数据变化记录的方法、装置及服务器 |
CN117194178B (zh) * | 2023-11-07 | 2024-03-08 | 飞狐信息技术(天津)有限公司 | 获得Redis数据变化记录的方法、装置及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN109120678B (zh) | 用于分布式存储系统的服务托管的方法和装置 | |
US8055937B2 (en) | High availability and disaster recovery using virtualization | |
CN105468717B (zh) | 数据库操作方法和装置 | |
CN112448858B (zh) | 网络通信控制方法及装置、电子设备和可读存储介质 | |
CN106657167B (zh) | 管理服务器、服务器集群、以及管理方法 | |
CN114466027B (zh) | 一种云原生数据库服务提供方法、系统、设备及介质 | |
CN115576655B (zh) | 容器数据保护系统、方法、装置、设备及可读存储介质 | |
US8612799B2 (en) | Method and apparatus of backing up subversion repository | |
CN112882738A (zh) | 一种微服务架构下的配置信息更新方法、装置及电子设备 | |
CN115658390A (zh) | 容器容灾方法、系统、装置、设备及计算机可读存储介质 | |
CN116166470A (zh) | Redis集群克隆复制方法及装置、介质、设备 | |
US10318385B2 (en) | Service recovery using snapshots and interservice messages | |
CN114900449A (zh) | 一种资源信息管理方法、系统及装置 | |
CN112929438B (zh) | 一种双站点分布式数据库的业务处理方法及装置 | |
CN112052127B (zh) | 一种用于双机热备环境的数据同步方法及装置 | |
CN110620798A (zh) | Ftp连接的控制方法、系统、设备和存储介质 | |
CN110351122B (zh) | 容灾方法、装置、系统与电子设备 | |
KR20090123518A (ko) | 실시간 데이터 복제 시스템 | |
CN110737543B (zh) | 一种分布式文件系统数据恢复的方法、装置及存储介质 | |
CN112948484A (zh) | 分布式数据库系统和数据灾备演练方法 | |
CN114500289B (zh) | 控制平面恢复方法、装置、控制节点及存储介质 | |
JP2017194729A (ja) | 計算機システムおよびシステム状態再現方法 | |
CN116193481A (zh) | 一种5g核心网处理方法、装置、设备及介质 | |
JP2015114952A (ja) | ネットワークシステム、監視制御装置およびソフトウェア検証方法 |
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 |