CN108123976A - 集群间的数据备份方法、装置及系统 - Google Patents
集群间的数据备份方法、装置及系统 Download PDFInfo
- Publication number
- CN108123976A CN108123976A CN201611081496.5A CN201611081496A CN108123976A CN 108123976 A CN108123976 A CN 108123976A CN 201611081496 A CN201611081496 A CN 201611081496A CN 108123976 A CN108123976 A CN 108123976A
- Authority
- CN
- China
- Prior art keywords
- cluster
- data
- write
- standby
- written
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种集群间的数据备份方法、装置及系统,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息。本实施例中,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性。
Description
技术领域
本发明属于计算机领域,尤其涉及一种集群间的数据备份方法、装置及系统。
背景技术
实际应用中,任何一个系统在使用过程中,出现机房掉电、网络中断或者软件错误(Bug)现象时,都会存在系统不可用的情况。对于类似HBase的分布式存储系统中,往往两个集群间构建主备复制关系,即通过一个复制链路将主集群上的数据复制到备集群上,以应对单一集群出现故障时,导致系统无法提供服务的问题,通过两个集群进行主备复制,能够保障系统的高可用性。而如何在两个集群间,保持数据拷贝的实时性、正确性与稳定性,就是主备复制设计要解决的问题。
目前,主备集群使用异步复制模式,来实现主备集群之间的数据备份。通过异步复制模式实现主备集群之间的数据备份的过程中,主集群定时地将需要备份的数据复制到备集群上,由于需要到达定时时间,主集群才会将数据复制到备集群上,这样就会导致主备集群间上的数据并不能实时同步。例如,对于一个数据D,主集群上已经存储该数据D,但由于未到达设定的时间,主集群还不能将该数据D复制到备集群上,此时主备份数据上的数据就会出现不同步的问题。
发明内容
本发明提供一种集群间的数据备份方法、装置及系统,用于解决主备集群通过现有异步复制模式进行数据备份时,存在主备集群间上的数据并不能实时同步的问题。
为了实现上述目的,本发明提供了一种集群间的数据备份方法,包括:
客户端向请求调度装置发送写入请求,其中,所述写入请求中携带待写入的数据;
所述请求调度装置根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
所述请求调度装置将所述写入请求发送给所述目标集群;
所述目标集群和另一集群分别向自身的日志文件中写入所述待写入的数据;其中,所述另一集群为所述主集群和所述备集群中的一个;所述另一集群与所述目标集群同一时刻对应的集群不同;当所述目标集群为主集群时,所述另一集群为备集群,所述目标集群为备集群时,所述另一集群为主集群;
在所述目标集群和所述另一集群均写入成功时,所述请求调度装置将接收到的写入成功消息反馈给所述客户端。
为了实现上述目的,本发明提供了一种集群间的数据备份方法,包括:
客户端通过请求调度装置向主集群发送访问请求;
所述请求调度装置在所述主集群故障时,将所述访问请求切换到备集群中进行处理;
所述备集群获取与所述访问请求对应的目标数据,并发送给所述请求调度装置;
所述请求调度装置将所述目标数据发送给所述客户端。
为了实现上述目的,本发明提供了一种集群间的数据备份方法,包括:
请求调度装置接收客户端发送的写入请求,所述写入请求中携带待写入的数据;
所述请求调度装置根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
所述请求调度装置向目标集群发送所述写入请求;
所述请求调度装置在所述主集群的本地日志文件和所述备集群的远端日志文件均写入成功时,向所述客户端返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份方法,包括:
主集群接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
所述主集群向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据;
所述主集群在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份方法,包括:
备集群接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
所述备集群向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据;
所述备集群在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份方法,包括:
将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件;
在所述本地日志文件和所述远端日志文件均写入成功时,向客户端返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份系统,包括:
客户端,用于向请求调度装置发送写入请求,以及接收所述请求调度装置返回的写入成功消息;其中,所述写入请求中携带待写入的数据;
所述请求调度装置,用于根据所述主集群的状态,确定接收所述写入请求的目标集群,将所述写入请求发送给所述目标集群,接收所述目标集群发送的所述写入成功消息,将所述写入成功消息发送给所述客户端;所述目标集群为所述主集群和备集群中的一个;
所述主集群和所述备集群,用于分别向自身的日志文件中写入所述待写入的数据,以及在所述主集群和所述备集群均写入成功时,向所述请求调度装置发送所述写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份系统,包括:
客户端,用于通过请求调度装置向主集群发送访问请求;
所述请求调度装置,用于在所述主集群故障时,将所述访问请求切换到备集群中进行处理,接收所述备集群发送的与所述访问请求对应的目标数据,将所述目标数据发送给所述客户端;
所述备集群,用于获取与所述访问请求对应的目标数据,并发送给所述请求调度装置。
为了实现上述目的,本发明提供了一种集群间的数据备份装置,包括:
接收模块,用于接收客户端发送的写入请求,所述写入请求中携带待写入的数据;
确定模块,用于根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
发送模块,用于向目标集群发送所述写入请求,以及在所述主集群的本地日志文件和所述备集群的远端日志文件均写入成功时,向所述客户端返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份装置,包括:
接收模块,用于接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
写入模块,用于向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据;
返回模块,用于在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份装置,包括:
接收模块,用于接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
写入模块,用于向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据;
返回模块,用于在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
为了实现上述目的,本发明提供了一种集群间的数据备份装置,包括:
写入模块,用于将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件;
返回模块,用于在所述本地日志文件和所述远端日志文件均写入成功时,向客户端返回写入成功消息。
本发明提供的集群间的数据备份方法、装置及系统,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息。本实施例中,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性。
附图说明
图1为本发明实施例一的集群间的数据备份方法的流程示意图;
图2为本发明实施例一的集群间的数据备份方法的应用示意图之一;
图3为本发明实施例一的集群间的数据备份方法的应用示意图之二;
图4为本发明实施例二的集群间的数据备份方法的流程示意图;
图5为现有的集群间的数据备份方法的流程示意图;
图6为本发明实施例三的集群间的数据备份方法的流程示意图;
图7为本发明实施例四的集群间的数据备份方法的流程示意图;
图8为本发明实施例四的集群间的数据备份系统的结构示意图;
图9为本发明实施例五的集群间的数据备份方法的流程示意图;
图10为本发明实施例六的集群间的数据备份方法的流程示意图;
图11为本发明实施例七的集群间的数据备份方法的流程示意图;
图12为本发明实施例八的集群间的数据备份方法的流程示意图;
图13为本发明实施例九的集群间的数据备份方法的流程示意图;
图14为本发明实施例十的集群间的数据备份方法的流程示意图;
图15为本发明实施例十一的集群间的数据备份方法的流程示意图;
图16为本发明实施例十二的集群间的数据备份方法的流程示意图;
图17为本发明实施例十三的集群间的数据备份方法的流程示意图;
图18为本发明实施例十四的集群间的数据备份系统的结构示意图;
图19为本发明实施例十五的集群间的数据备份系统的结构示意图;
图20为本发明实施例十六的集群间的数据备份装置的结构示意图;
图21为本发明实施例十七的集群间的数据备份装置的结构示意图;
图22为本发明实施例十八的集群间的数据备份装置的结构示意图;
图23为本发明实施例十九的集群间的数据备份装置的结构示意图;
图24为本发明实施例二十的集群间的数据备份装置的结构示意图;
图25为本发明实施例二十一的集群间的数据备份装置的结构示意图;
图26为本发明实施例二十二的集群间的数据备份装置的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的集群间的数据备份方法、装置及系统进行详细描述。
实施例一
如图1所示,其为本发明实施例一的集群间的数据备份方法的流程示意图。该集群间的数据备份方法包括以下步骤:
S101、客户端向请求调度装置发送写入请求,其中,所述写入请求中携带待写入的数据。
在客户端需要向集群写入数据时,客户端可以请求调度装置发送一个写入请求,在该写入请求中携带待写入的数据。
S102、请求调度装置根据主集群的状态,确定接收写入请求的目标集群;所述目标集群为主集群和备集群中的一个。
具体地,请求调度装置对主集群的状态进行监控,请求调度装置根据监控的状态判断主集群是否发生故障,如果判断出主集群发生故障,为了保证待写入的数据可以写入到集群中,本实施例中,请求调度装置将备集群作为目标集群,而判断出主机群未发生故障,请求调度装置则将该主集群作为目标集群。
S103、请求调度装置将写入请求发送给目标集群。
在确定出目标集群后,请求调度装置将写入请求发送给目标集群。即当目标集群为备集群时,则请求调度装置将写入请求发送给备集群,当目标集群为主集群时,则请求调度装置将写入请求发送给主集群。
S104、目标集群和另一集群分别向自身的日志文件中写入待写入的数据。
其中,另一集群为主集群和备集群中的一个;另一集群与目标集群同一时刻对应的集群不同;当目标集群为主集群时,另一集群为备集群,目标集群为备集群时,另一集群为主集群。
S105、在目标集群和另一集群均写入成功时,请求调度装置将接收到的写入成功消息反馈给客户端。
目标集群在接收到写入请求后,则需要开始向集群中写入数据。本实施例中,主集群对应的日志文件为本地日志文件,备集群对应的日志文件为远端日志文件。
本实施例中,为了保证主集群和备集群之间写入的数据能够实时同步,需要将待写入的数据写入主集群中的本地日志文件中,还需要将待写入的数据写入到备集群的远端日志文件中。
本实施例中,可以采用串行方式将待写入的数据写入到主备集群中,也可以采用并行方式将待写入的数据写入到主备集群中。
串行方式:首先备集群将待写入的数据写入到备集群的远端日志文件中,在远端日志文件写入成功后,主集群将待写入的数据写入到主集群的本地日志文件中。
如2图所示,其为本实施例中串行方式待写入的数据写入成功的情形和写入失败的情形。
写入成功情形:首先备集群向自身的远端日志文件中写入待写入的数据,当在备集群写入成功后,主集群再向自身的本地日志文件中写入待写入的数据,当在主集群的本地日志文件和备集群的远端日志文件均写入成功,向请求调度装置返回写入成功消息,请求调度装置将该写入成功消息反馈给客户端。
写入失败情形一:待写入的数据在备集群的远端日志文件中写入失败,则可以直接向请求调度装置返回写入失败消息。由于在串行方式先写备集群的远端日志文件,再写入主集群的本地日志文件,因此,当待写入的数据未成功写入到备集群的远端日志文件中时,不再将待写入的数据写入到主集群的本地日志文件中,此时会向请求调度装置返回写入失败消息。请求调度装置再将写入失败消息反馈给客户端。
写入失败情形二:待写入的数据在备集群的远端日志文件中写入成功,但是在主集群的本地日志文件中写入失败,此时向请求调度装置返回写入失败消息。本实施例中,将待写入的数据写入到备集群的远端日志文件与将待写入的数据写入到备集群的数据表进行了隔离,将待写入的数据写入到备集群的远端日志文件中,并不表示将待写入的数据写入到备集群的数据表中,所以在该写入失败情形下,不需要回滚备集群的远端日志文件中原有的数据,即可以直接返回失败。
并行方式:将待写入的数据并行地写入到主集群的本地日志文件和备集群的远端日志文件。
如3图所示,其为本实施例中并行方式待写入的数据写入成功的情形和写入失败的情形。
写入成功情形一:主集群和备集群并行地将待写入的数据写入到本地日志文件和远端日志文件中,即主集群将待写入的数据写入本地日志文件的同时,备集群将待写入的数据并行地写入远端日志文件中。主集群的本地日志文件和备集群的远端日志文件同时写入成功时,向请求调度装置返回写入成功消息。
写入成功情形二:主集群和备集群并行地将待写入的数据写入到本地日志文件和远端日志文件中,当主集群的本地日志文件写入成功且备集群的远端日志文件当前写入失败时,备集群阻塞下一个写入请求,等待处理当前的写入请求,直到当前的写入请求对应的待写入数据成功成功写入到备集群的远端日志文件中。具体地,备集群重新为备集群创建新的日志文件作为远端日志文件,将待写入的数据重新写入重新创建的该远端日志文件中,直到该待写入的数据成功写入该远端日志文件中。相比于串行方式,并行方式在主集群写入成功后,当备集群当前写入失败后,可以重复尝试向备集群写入该待写入数据,直到写入成功,使得具有更好的写入性能。在写入成功后,向请求调度装置发送写入成功消息。
请求调度装置在接收到写入成功消息后,将写入成功消息反馈给客户端。
写入失败情形一:主集群和备集群将待写入的数据并发地写入到本地日志文件和远端日志文件中,当备集群的远端日志文件写入成功,而主集群的本地日志文件未写入成功时,向请求调度装置返回写入失败请求。
写入失败情形二:主集群和备集群将待写入的数据并发地写入到本地日志文件和远端日志文件中,主集群的本地日志文件和备集群的远端日志文件均写入失败,向请求调度装置返回写入失败请求。
请求调度装置在接收到写入失败消息后,将写入失败消息反馈给客户端。
本发明实施例提供的集群间的数据备份方法,通过将待写入的数据写入主集群的本地日志文件和备集群的远端日志文件,在本地日志文件和远端日志文件均写入成功时,向客户端返回写入成功消息。本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例二
如图4所示,其为本发明实施例二的集群间的数据备份方法的流程示意图。在上述实施例一的基础之上,该集群间的数据备份方法还包括以下步骤:
S201、客户端通过请求调度装置向主集群发送访问请求。
在将写入请求对应的待写入的数据写入到主备集群的过程中,客户端还可以对之前写入的数据进行访问,客户端可以通过其你去调度装置向主集群发送访问请求。
S202、在主集群出现故障时,请求调度装置将访问请求切换到备集群中进行处理。
请求调度装置对主集群的状态进行监控,可以根据监控的状态判断主集群是否出现故障,在主集群出现故障时,主集群将无法继续为客户端提供服务。本实施例中,为了能够持续为客户端提供服务,在将数据写入主集群的同时,将数据写入到备集群以实现对数据的备份,因此,在主集群出现故障后,请求调度装置可以将访问请求切换到备集群中进行处理。
S203、备集群将远端日志文件中的数据回放到备集群的数据表中。
为了保证访问请求切换后,备集群中的数据与主集群中的数据保持一致,需要将备集群中远端日志文件中记录的数据回放到备集群的数据表中。
具体地,本实施例中,备集群将远端日志文件中的数据回放到备集群的数据表中包括本地方式和分布式方式。其中,本地方式:通过备集群的主(Master)节点服务器,遍历该备集群所有的远端日志文件,从各远端日志文件中读取记录的数据,然后将所有数据写入到备集群的中。
分布式方式:通过备集群的Master节点服务器,向各从(Slave)节点服务器派发回放任务,以使Slave节点服务器具体执行将远端日志文件中的数据回放到备集群数据表中的任务。具体地,优选地,通过Master节点服务器随机向Slave节点服务器派发回放任务,即为每个Slave节点服务器随机的派发部分远端日志文件,每个Slave节点服务器遍历各自被派发的远端日志文件,将远端日志文件中记录的数据回放到备集群的数据表中。或者,Master节点服务器把所有的远端日志文件列表放在一个公共的池子中,然后Slave节点服务器采用竞争机制从该公共池子中去抢占远端日志文件,当Slave节点服务器抢到一个远端日志文件后,就对锁定该远端日志文件,防止其他Slave节点服务器抢占相同的远端日志文件。当Slave完成一个远端日志文件的数据回放后,就会将该远端日志文件从池子中删除。当池子里的日志文件列表为空的时候,说明所有的远端日志文件中记录的数据,已经全部回放到备集群的数据表中。
本实施例中,主集群的本地日志文件与备集群的远端日志文件之间通过设定的关联方式形成关联关系。一般情况下,主集群的本地日志文件会与备集群的远端日志文件形成一对多的关联,即一个主集群的本地日志文件对应备集群上的多个远端日志文件,多个远端日志文件组合陈给一个完整的本地日志文件。
优选地,设定的关联方式为远端日志文件的标识由主集群的本地日志文件的标识、固定分隔符以及数字序号构成。其中,远端日志文件的标识可以为远端日志文件的文件名,主集群的本地日志文件的标识为本地日志文件的文件名,固定分隔符可以使用‘.’或者‘/’等特定符号,具体构成方式为:远端日志文件的文件名=主集群日志文件名+固定分隔符(默认使用‘.’符号)+数字。
在将本地日志文件与远端日志文件进行关联后,可以将一份待写入的数据只持久化在主集群的本地日志文件和与该本地日志文件关联的远端日志文件中。
S204、备集群从备集群的数据表中获取与访问请求对应的目标数据。
在将备集群的远端日志文件中记录的数据回放到备集群的数据表中之后,备集群就可以根据访问请求访问该备集群的数据表中,从该数据表中获取与该访问请求对应的目标数据。
如图5所示为现有的分布式存储系统中,两个集群之间进行异步备份,具体过程如下:
如图5中的T1、T2、……、Tn表示发生时刻,T1<T2<……<Tn,表示时间的发生顺序。图5中仅以一份数据D说明数据备份和访问的过程,在实际应用中,与数据D相似的数据会存在很多。
T1时刻开始发送写入数据D的请求,T2时刻将数据D持久化到本地日志文件中,并且在T3时刻将数据D更新到内存中即写入到主集群的数据表中,然后在T4时刻向客户端返回写入成功消息,即从T1至T4时刻,客户端成功的把数据D写入到主集群中。在T5时刻,客户端可以从主集群中查询到数据D。T6时刻主集群发生故障后,客户端将访问切换到了备集群。由于数据D此时并未复制到备集群,所以T8时刻,客户端从备集群访问数据D为空,也就是说,此刻数据D在主集群和备集群之间是不一致的状态。T9时刻,数据D从主集群成功地复制到备集群的数据表中。T10时刻,客户端才可以从备集群中正常查询到数据D,也从时刻开始,数据D在主集群和备集群之间达到一致性。综上所述,当主集群发生故障,将访问请求切换到备集群后,由于在T7-T9这段时间内数据D在主集群和备集群之间是不一致的状态,从而导致客户端对数据进行访问时存在读取延迟的问题。
与现有技术相比,本实施例中,将待写入的数据写入到主备集群中同时成功时,才可以返回写入成功消息,保证了待写入的数据可以是强一致的状态,从而可以使得在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
本发明实施例提供的集群间的数据备份方法,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息,在主集群出现故障时,将备集群中远端日志文件中记录的数据回放到备集群的数据表中,从而可以通过备集群为客户端提供服务,使客户端获取到与访问请求对应的目标数据。本实施例中,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间数据的强一致性。
进一步地,由于主集群和备集群之间数据的强一致性,从而可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
实施例三
如图6所示,其为本发明实施例三的集群间的数据备份方法的流程示意图。在上述实施例一的基础之上,在将待写入的数据写入主集群中的本地日志文件之后,该集群间的数据备份方法还包括以下步骤:
S301、主集群将本地日志文件中的数据写入到主集群的数据表中。
本实施例中,为了保证存储系统的高可用性,在同步备份的同时,可以对数据进行异步备份,具体地,主集群在将待写入的数据写入主集群中的本地日志文件之后,可以将主集群的本地日志文件中记录的数据,写入到主集群的数据表中,便于客户端在对主集群进行访问时,能够从主集群的数据表中查询到相应的数据。
进一步地,可以设置一个缓冲池,在将待写入的数据写入主集群的数据表的过程中,利用设置的缓存池对待写入的数据进行缓存,以避免由于数据未及时写入而导致的数据丢失的问题。
S302、主集群周期性地将本地日志文件中的数据写入到备集群的数据表中。
本实施例中,主集群还可以对主集群的本地日志文件中的数据进行周期性采集,然后将采集到的数据直接写入到备集群的数据表中。在上述实施例一提供的同步备份模式下,即将待写入的数据写入主集群的本地日志文件和备集群的远端日志文件中,在备集群将待写入的数据写入到远端日志文件中后,该数据并未写入到备集群的数据表中,当在主集群出现故障时,备集群可以将远端日志文件中记录的数据回放到备集群的数据表中。
本发明实施例提供的集群间的数据备份方法,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息,进一步地,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,从而可以兼顾异步的数据备份模式的优点,更好地保证了存储系统的高可用性。
实施例四
如图7所示,其为本发明实施例四的集群间的数据备份方法的流程示意图。在上述实施例三的基础之上,该集群间的数据备份方法还包括以下步骤:
S401、客户端通过请求调度装置向主集群发送访问请求。
S402、当主集群出现故障时,请求调度装置将访问请求切换到备集群中进行处理。
S401~S402的具体介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
S403、备集群将远端日志文件中的数据与备集群的数据表中已有数据进行比较。
本实施例中,通过异步的数据备份模式周期性地将待写入的数据直接写入到备集群的数据中,同时,通过同步的数据备份模式将待写入的数据写入到备集群的远端日志文件中。在同步的数据备份模式下,由于数据同步写入到本地日志文件和远端日志文件中,数据可以保证强一致性,但是数据只有写入到数据表中才可以被客户端访问或者读取,而在同步的数据备份模式下只是将数据写入到远端日志文件中,并未将数据回放到数据表中。本实施例中,异步的数据备份模式下可以直接数据写入到备集群的数据表中,但是由于设置有周期,当周期到达后才会将数据写入到数据表中,异步的数据备份模式下数据不具备强一致性。
在主集群出现故障时,为了保证客户端能够查询到当前已经存入到主集群中的所有数据,需要将备集群中的远端日志文件中的数据与备集群的数据表中已有数据进行比较。
S404、备集群将未写入备集群的数据表中的数据回放到备集群的数据表中。
为了保证存储系统的高可用性,将未写入备集群的数据表中的数据,通过回放的方式写入到备集群的数据表中。关于回放的过程,可参见上述实施例中的相关内容的记载,此处不再赘述。
S405、备集群从备集群的数据表中获取与访问请求对应的目标数据。
在将备集群的远端日志文件中记录的数据回放到备集群的数据表中之后,就可以根据访问请求访问备集群的数据表中,从该数据表中获取与访问请求对应的目标数据。
与现有技术相比,本实施例中,不仅提供了异步的数据备份模式,还设置有同步的数据备份模式,可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
实际应用中,存储系统中包括多个数据表中,可以为不同的数据表设在不同的数据备份模式,当对待写入的数据进行写入时,可以获取到待写入的数据所隶属的数据表,利用所隶属的数据表对应的数据备份模式对待写入的数据进行备份。具体地,当所隶属的数据表对应同步的数据备份模式时,则采用同步的数据备份模式对待写入的数据进行备份,当所隶属的数据表对应异步的数据备份模式时,则采用异步的数据备份模式对待写入的数据进行备份。
例如,存储系统中包括数据表1、数据表2、数据表3和数据表4。数据表1和数据表3为异步的数据备份模式,而数据表2和数据表4为同步的数据备份模式。当一个数据D需要写入主集群和备集群时,可以得知该数据D所隶属的数据表为数据表2,由于数据表2设置成同步的数据备份模式,可以采用同步的数据备份模式将数据D备份到主集群和备集群上。
如图8所示,其为本发明实施例提供的一种集群间的数据备份系统。在该系统中包括客户端、请求调度装置、主集群和备集群。其中,主集群中包括:同步发送模块、异步采集模块、本地日志文件以及缓冲池。备集群中包括回放模块、远端日志文件和备集群的数据表在该系统中包括两条数据流动链路,其中,实线构成的链路用于实现同步的数据备份过程,虚线构成的链路用于实现异步的数据备份过程,本实施中,将实现构成的链路称为同步备份链路,虚线构成的链路称为异步备份链路。
客户端可以通过请求调度装置向主集群发送写入请求,请求调度装置可以根据主集群的状态,确定接收写入请求的目标集群。接收目标集群后,主集群和备集群分别将待写入的数据在本地日志文件和远端日志文件中进行写入。具体地,同步发送模块将待写入的数据写入到主集群的本地日志文件和备集群的远端日志文件。在本地日志文件和远端日志文件同时写入成功后,向请求调度装置返回一个成功写入消息。通过主集群中的同步发送模块可以实现实施例一中提供的集群间的数据备份方法,即实现主备集群之间的同步的数据备份模式,保证了主集群和备集群之间数据的强一致性。
进一步地,在同步的备份模式下,主集群在将待写入的数据写入主集群的数据表的过程中,可以通过缓存池对待写入的数据进行缓存,以避免数据的丢失。
而当主集群出现故障后,备集群的远端日志文件与回放模块之间的黑色加粗实线链路被启动,利用回放模块对远端日志文件进行回放,将远端日志文件中的数据写入到备集群的数据表中。同步发送模块和回放模块可以实现实施例二中提供的集群间的数据备份方法,由于主集群和备集群之间数据的强一致性,从而可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
由于本实施例中,设置有同步的数据备份模式和异步的数据备份模式,当备集群出现故障时,同步的数据备份模式将不能继续使用,此时暂停向备集群的远端日志文件写入待写入的数据直到备集群的故障解除。
进一步地,在图8所示的系统中还提供了异步的数据备份模式,通过备集群中的异步采集模块对主机的本地日志文件进行采集,将采集到的数据周期性地直接写入到备集群的数据表中。通过该异步采集模块可以实现实施例三中的异步的数据备份模式,通过同步发送模块和异步采集模块可以实现实施例三提供的集群间的数据备份方法。
而当主集群出现故障后,回放模块可以回放备集群的远端日志文件,将远端日志文件中的数据写入到备集群的数据表中。具体回放的具体过程可参见上述实施例中相关内容的记载,此次不再赘述。
本发明实施例提供的集群间的数据备份方法,在同步的数据备份模式下,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。进一步地,在主集群出现故障时,将备集群中远端日志文件中通过异步的数据备份模式,未写入到备集群的数据表中的数据回放到备集群的数据表中,从而可以通过备集群为客户端提供服务,使客户端获取到与访问请求对应的目标数据。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,更好地保证了存储系统的高可用性。
实施例五
如图9所示,其为本发明实施例五的集群间的数据备份方法的流程示意图。在上述实施例四的基础之上,该集群间的数据备份方法还包括以下步骤:
S501、主集群对备集群进行周期性访问,以获取远端日志文件列表。
本实施例中,可以对备集群进行周期性访问,从备集群中获取远端日志文件的列表。
S502、主集群逐次从远端日志文件中选取一个远端日志文件作为待删除的远端日志文件。
具体地,在获取到远端日志文件列表后,按照远端日志文件在该远端日志文集列表中的顺序,逐次从中选取一个远端日志文件作为待删除的远端日志文件。
S503、主集群判断待删除的远端日志文件中的数据是否全部写入到备集群的数据表中。
本实施例中,备集群中的远端日志文件是保证主备集群中的数据能够强一致性的重要文件。由于异步的数据备份模式下,向备集群数据表中发送数据的时间未到,而导致该周期内的数据不能及时写入到备集群的数据表中,如果远端日志文件被轻易删除了,就会导致访问请求切换后,无法从远端日志文件将由于时间未到而导致未能发送的数据回放到数据表中,从而造成数据不一致的问题,因此备集群上的远端日志文件需要被有效地清理。
本实施例中,通过异步的数据模式即异步的数据链路,可以将数据直接写入到备集群的数据表中,由于本地日志文件与远端日志文件之间存在关联关系,本地日志文件中的数据可以对应到远端日志文件中,当本地日志文件中对应一个远端日志文件的数据写入到备集群之后,会对远端日志文件进行标记,在获取到待删除的远端日志文件后,如果该待删除的远端日志文件被标记,说明该待删除的远端日志文件中的数据全部写入到备集群的数据表中,执行S504。如果待删除的远端日志文件未被标记,说明该待删除的远端日志文件中的数据未全部写入到备集群的数据表中,执行S505。
S504、主集群从备集群上删除待删除的远端日志文件。
本实施例中,为了增加远端日志文件清理的可靠性,可以通过主集群中的每个节点服务器上都设置一个删除模块,通过该删除模块对远端日志文件进行清除,同时使用基于zookeeper的分布式锁,来保证同一时刻只会有一个节点服务器上的删除模块执行清理远端日志文件的逻辑。
S505、主集群继续将待删除的远端日志文件保留在备集群上。
由于待删除的远端日志文件中的数据,通过异步的数据链路未全部备份到备集群的数据表中,为了保证主备集群中的数据强一致性,当前不能删除该待删除的远端日志文件,可以将该待删除的远端日志文件继续保留在备集群上。
本发明实施例提供的集群间的数据备份方法,在同步的数据备份模式下,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。进一步地,在主集群出现故障时,将备集群中远端日志文件中通过异步的数据备份模式,未写入到备集群的数据表中的数据回放到备集群的数据表中,当远端日志文件记录的数据全部写入到数据表中之后,可以将远端日志文件进行删除。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,更好地保证了存储系统的高可用性,而且可以定期对远端日志文件进行清除,以节省存储空间。
实施例六
如图10所示,其为本发明实施例六的集群间的数据访问方法的流程示意图。该集群间的数据访问方法包括以下步骤:
S601、客户端通过请求调度装置向主集群发送访问请求。
S602、请求调度装置在所述主集群故障时,将访问请求切换到备集群中进行处理。
S603、备集群获取与所述访问请求对应的目标数据,并发送给请求调度装置。
S604、请求调度装置将目标数据发送给客户端。
具体处理的过程,可参见上述实施例四中相关内容的记载,此处不再赘述。
本发明实施例提供的集群间的数据备份系统,在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,客户端可以对存储在主集群上的数据进行访问,当主集群出现故障时,可以将访问请求切换到备集群中进行处理,更好地保证了存储系统可持续性。
实施例七
如图11所示,其为本发明实施例六的集群间的数据备份方法的流程示意图。该集群间的数据备份方法包括以下步骤:
S701、请求调度装置接收客户端发送的写入请求,所述写入请求中携带待写入的数据。
在客户端需要向集群写入数据时,客户端可以请求调度装置发送一个写入请求,在该写入请求中携带待写入的数据。
S702、请求调度装置根据主集群的状态,确定接收写入请求的目标集群;所述目标集群为主集群和备集群中的一个。
具体地,请求调度装置对主集群的状态进行监控,请求调度装置根据监控的状态判断主集群是否发生故障,如果判断出主集群发生故障,为了保证待写入的数据可以写入到集群中,本实施例中,请求调度装置将备集群作为目标集群,而判断出主机群未发生故障,请求调度装置则将该主集群作为目标集群。
S703、请求调度装置向目标集群发送写入请求。
S04、请求调度装置在主集群的本地日志文件和备集群的远端日志文件均写入成功时,接收写入成功消息并返回给客户端。
进一步地,请求调度装置接收客户端发送的访问请求。请求调度装置在主集群出现故障时,将访问请求切换到备集群进行处理。备集群的处理过程,可参见上述实施例中相关内容的记载,此次不再赘述。
在备集群对访问请求处理完成后,请求调度装置就可以接收到备集群返回的与该访问请求对应的目标数据,请求调度装置再将目标数据发送给客户端。
本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例八
如图12所示,其为本实施例七的集群间的数据备份方法的流程示意图。该集群间的数据备份方法包括以下步骤:
S801、主集群接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据。
客户端向请求调度装置发送写入请求,主集群可以接收到请求调度装置发送的写入请求。
S802、主集群向本地日志文件中写入待写入的数据,以及指示备集群向远端日志文件中写入待写入的数据。
主要包括串行方式和并行方式将待写入数据写入到本地日志文件和远端日志文件中,具体的介绍,可参见上述实施例中相关内容的记载,此次不再赘述。
S803、主集群在本地日志文件和远端日志文件均写入成功时,向请求调度装置返回写入成功消息。
在主集群的本地日志文件和远端日志文件均写入成功后,向请求调度装置返回写入成功消息,请求调度装置将该写入成功消息发送给客户端。
可选地,主集群将本地日志文件中的数据写入到主集群的数据表中,进一步地,主集群周期性地将本地日志文件中的数据写入到备集群的数据表中。本实施例中,主集群与备集群进行同步复制的情况下,主集群还可以与备集群进行异步复制。
进一步地,主集群可以对备集群进行周期性访问,以获取远端日志文件列表,主集群逐次从远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件,主集群判断待删除的远端日志文件中的数据是否全部写入到备集群的数据表中,如果判断结果为是,主集群从备集群上删除待删除的远端日志文件。本实施例中,主集群可以定期对远端日志文件进行清除,以节省存储空间。
进一步地,在备集群出现故障时,主集群暂停向备集群的远端日志文件写入待写入的数据直到备集群的故障解除。
本发明实施例提供的集群间的数据备份方法,在同步的数据备份模式下,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。进一步地,在主集群出现故障时,将备集群中远端日志文件中通过异步的数据备份模式,未写入到备集群的数据表中的数据回放到备集群的数据表中,当远端日志文件记录的数据全部写入到数据表中之后,可以将远端日志文件进行删除。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,更好地保证了存储系统的高可用性,而且可以定期对远端日志文件进行清除,以节省存储空间。
实施例九
图13所示,其为本实施例八的集群间的数据备份方法的流程示意图。该集群间的数据备份方法包括以下步骤:
S901、备集群接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据。
客户端向请求调度装置发送写入请求,当请求调度装置确定目标集群为备集群时,则可以向备集群发送写入请求。
S902、备集群向远端日志文件中写入待写入的数据,以及指示主集群向本地日志文件中写入待写入的数据。
主要包括串行方式和并行方式将待写入数据写入到本地日志文件和远端日志文件中,具体的介绍,可参见上述实施例中相关内容的记载,此次不再赘述。
S903、备集群在本地日志文件和远端日志文件均写入成功时,向请求调度装置返回写入成功消息。
在本地日志文件和远端日志文件均写入成功后,备集群向请求调度装置返回写入成功消息,请求调度装置将该写入成功消息发送给客户端。
可选地,备集群周期从所述主集群接收本地日志文件中的数据,备集群将接收的数据写入到备集群的数据表中。
进一步地,备集群在主集群出现故障时,接收请求调度装置切换来的访问请求,备集群将远端日志文件中的数据与备集群的数据表中已有数据进行比较,备集群将未写入备集群的数据表中的数据回放到备集群的数据表中,备集群从备集群的数据表中获取与访问请求对应的目标数据。
进一步地,备集群对已经将数据回放到备集群的数据表中的远端日志文件进行标记,备集群周期性地将标记后的远端日志文件进行删除。
进一步地,备集群在主集群故障恢复后,将故障期间写入的数据写入到主集群。
本发明实施例提供的集群间的数据备份方法,在同步的数据备份模式下,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。进一步地,在主集群出现故障时,将备集群中远端日志文件中通过异步的数据备份模式,未写入到备集群的数据表中的数据回放到备集群的数据表中,当远端日志文件记录的数据全部写入到数据表中之后,可以将远端日志文件进行删除。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,更好地保证了存储系统的高可用性,而且可以定期对远端日志文件进行清除,以节省存储空间。
实施例十
如图14所示,其为本实施例十的集群间的数据访问方法的流程示意图。该集群间的数据访问方法包括以下步骤:
S1001、将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件。
在客户端需要向集群写入数据时,客户端可以向主集群发送写入请求,接收到写入请求后,本实施例中,为了保证主集群和备集群之间写入的数据能够实时同步,需要将待写入的数据写入主集群中的本地日志文件中,还需要将待写入的数据写入到备集群的远端日志文件中。
本实施例中,可以采用串行方式将待写入的数据写入到主备集群中,也可以采用并行方式将待写入的数据写入到主备集群中。
串行方式:首先将待写入的数据写入到备集群的远端日志文件中,在远端日志文件写入成功后,将待写入的数据写入到主集群的本地日志文件中。
关于串行方式和并行方式向主备集群写入待写入数据的过程,可参见上述实施例中相关内容的记载,此次不再赘述。
S1002、在本地日志文件和远端日志文件均写入成功时,返回写入成功消息。
本实施例中,当待写入的数据在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息。本实施例中提供的是一种同步的数据备份模式,在该同步的数据备份模式,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步。
进一步地,在向主备集群写入数据的过程中,当主集群出现故障时,可以将写入请求切换到备集群上处理,将待写入的数据写入到备集群上,当主集群故障恢复后,可以将该备集群在主集群故障期间写入的数据,再写入到主集群中。当主集群的故障恢复后,继续将写入请求发送到主集群上进行处理。
本发明实施例提供的集群间的数据备份方法,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息。本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例十一
如图15所示,其为本发明实施例十一的集群间的数据备份方法的流程示意图。在上述实施例的基础之上,该集群间的数据备份方法还包括以下步骤:
S1101、接收客户端发送的访问请求。
在将客户端的写入请求对应的数据写入到主备集群的过程中,客户端还可以对之前写入的数据进行访问,客户端可以向主集群发送访问请求,主集群接收客户端的访问请求。
S1102、当主集群出现故障时,将备集群中的远端日志文件中的数据回放到备集群的数据表中。
在客户端对写入的数据进行访问过程中,当主集群出现故障时,主集群将无法继续为客户端提供服务。为了能够持续为客户端提供服务,在将数据写入主集群的同时,将数据写入到备集群以实现对数据的备份。本实施例中,当主集群出现故障无法提供服务时,则可以将访问请求切换到备集群,为了保证访问请求切换后,备集群中的数据与主集群中的数据保持一致,需要将备集群中远端日志文件中记录的数据回放到备集群的数据表中。具体的回放过程可参见上述实施例中相关内容的记载,此处不再赘述。
优选地,设定的关联方式为远端日志文件的标识由主集群的本地日志文件的标识、固定分隔符以及数字序号构成。关联方式可参见上述实施例中相关内容的记载,此处不再赘述。
进一步地,可以对已经将数据回放到备集群的数据表中的远端日志文件进行标记,通过主集群的可以周期性对备集群的远端日志文件中已经进行了数据回放的日志文件进行清除,例如,可以间隔3分钟进行一次清除。具体地,对备集群进行周期性访问,以获取备集的远端日志文件列表,从远端日志文件列表中可以获取到标记后的远端日志文件,将标记后的远端日志文件进行删除。本实施例中,由于已经将数据在数据表中进行了持久化落地,则可以删除远端日志文件,以节省资源占用率。
S1103、从备集群的数据表中获取与访问请求对应的目标数据。
在将备集群的远端日志文件中记录的数据回放到备集群的数据表中之后,就可以根据访问请求访问该备集群的数据表中,从该数据表中获取与该访问请求对应的目标数据。
与现有技术相比,本实施例中,将待写入的数据写入到主备集群中同时成功时,才可以返回写入成功消息,保证了待写入的数据可以是强一致的状态,从而可以使得在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
本发明实施例提供的集群间的数据备份方法,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息,在主集群出现故障时,将备集群中远端日志文件中记录的数据回放到备集群的数据表中,从而可以通过备集群为客户端提供服务,使客户端获取到与访问请求对应的目标数据。本实施例中,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间数据的强一致性。
进一步地,由于主集群和备集群之间数据的强一致性,从而可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
实施例十二
如图16所示,其为本发明实施例十二的集群间的数据备份方法的流程示意图。在上述实施例的基础之上,在将待写入的数据写入主集群中的本地日志文件之后,该集群间的数据备份方法还包括以下步骤:
S1201、将主集群的本地日志文件中的数据写入到主集群的数据表中。
本实施例中,为了保证存储系统的高可用性,在同步备份的同时,可以对数据进行异步备份,具体地,在将待写入的数据写入主集群中的本地日志文件之后,可以将主集群的本地日志文件中记录的数据,写入到主集群的数据表中,便于客户端在对主集群进行访问时,能够从主集群的数据表中查询到相应的数据。
进一步地,可以设置一个缓冲池,在将待写入的数据写入主集群的数据表的过程中,利用设置的缓存池对待写入的数据进行缓存,以避免由于数据未及时写入而导致的数据丢失的问题。
S1202、周期性地将本地日志文件中的数据写入到备集群的数据表中。
本实施例中,还可以对主集群的本地日志文件中的数据进行周期性采集,然后将采集到的数据直接写入到备集群的数据表中。在上述实施例一提供的同步备份模式下,将待写入的数据写入主集群的本地日志文件和备集群的远端日志文件中,写入到远端日志文件中后,数据并未写入到数据表中,当在主集群出现故障时,将会将备集群的远端日志文件中记录的数据回放到备集群的数据表中。
本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,从而可以兼顾异步的数据备份模式的优点,更好地保证了存储系统的高可用性。
实施例十三
如图17所示,其为本发明实施例十三的集群间的数据备份方法的流程示意图。在上述实施例的基础之上,该集群间的数据备份方法还包括以下步骤:
S1301、接收客户端发送的访问请求。
在将客户端的写入请求对应的数据写入到主备集群的过程中,客户端还可以对之前写入的数据进行访问,客户端可以向主集群发送访问请求,主集群接收客户端的访问请求。
S1302、当主集群出现故障时,将备集群中的远端日志文件中的数据与备集群的数据表中已有数据进行比较。
本实施例中,通过异步的数据备份模式周期性地将待写入的数据直接写入到备集群的数据中,同时,通过同步的数据备份模式将待写入的数据写入到备集群的远端日志文件中。在同步的数据备份模式下,由于数据同步写入到本地日志文件和远端日志文件中,数据可以保证强一致性,但是数据只有写入到数据表中才可以被客户端访问或者读取,而在同步的数据备份模式下只是将数据写入到远端日志文件中,并未将数据回放到数据表中。本实施例中,异步的数据备份模式下可以直接数据写入到备集群的数据表中,但是由于设置有周期,当周期到达后才会将数据写入到数据表中,异步的数据备份模式下数据不具备强一致性。
在主集群出现故障时,为了保证客户端能够查询到当前已经存入到主集群中的所有数据,需要将备集群中的远端日志文件中的数据与备集群的数据表中已有数据进行比较。
S1303、将未写入备集群的数据表中的数据回放到备集群的数据表中。
为了保证存储系统的高可用性,将未写入备集群的数据表中的数据,通过回放的方式写入到备集群的数据表中。关于回放的过程,可参见上述实施例中的相关内容的记载,此处不再赘述。
S1304、从备集群的数据表中获取与访问请求对应的目标数据。
在将备集群的远端日志文件中记录的数据回放到备集群的数据表中之后,就可以根据访问请求访问该备集群的数据表中,从该数据表中获取与该访问请求对应的目标数据。
与现有技术相比,本实施例中,不仅提供了异步的数据备份模式,还设置有同步的数据备份模式,可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
实际应用中,存储系统中包括多个数据表中,可以为不同的数据表设在不同的数据备份模式,当对待写入的数据进行写入时,可以获取到该待写入的数据所隶属的数据表,利用所隶属的数据表对应的数据备份模式对待写入的数据进行备份。具体地,当所隶属的数据表对应同步的数据备份模式时,则采用同步的数据备份模式对待写入的数据进行备份,当所隶属的数据表对应异步的数据备份模式时,则采用异步的数据备份模式对待写入的数据进行备份。
本发明实施例提供了一种集群间的数据备份系统,该集群间的数据备份系统如上述实施例中图8所示。在该系统中包括客户端、主集群、备集群以及数据备份装置。其中,数据备份装置包括:同步发送模块、异步采集模块、回放模块以及缓冲池。在该系统中包括两条数据流动链路,其中,实线构成的链路用于实现同步的数据备份过程,虚线构成的链路用于实现异步的数据备份过程,本实施中,将实现构成的链路称为同步备份链路,虚线构成的链路称为异步备份链路。通过数据备份装置实现主备集群之间的同步备份模式和异步备份模式,具体过程可参见上述实施例中相关内容的记载,此处不再赘述。
进一步地,本实施例中,可以定期对远端日志文件进行清除,以节省存储空间。关于定期对远端日志文件进行清除的过程,可参见上述实施例中相关内容的记载,此处不再赘述。
本发明实施例提供的集群间的数据备份方法,在同步的数据备份模式下,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。进一步地,在主集群出现故障时,将备集群中远端日志文件中通过异步的数据备份模式,未写入到备集群的数据表中的数据回放到备集群的数据表中,从而可以通过备集群为客户端提供服务,使客户端获取到与访问请求对应的目标数据。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,更好地保证了存储系统的高可用性。
实施例十四
如图18所示,其为本发明实施例十四的集群间的数据备份系统的结构示意图。该集群间的数据备份系统1包括:客户端11、请求调度装置12、主集群13和备集群14。
客户端11,用于向请求调度装置12发送写入请求,以及接收所述请求调度装置返回的写入成功消息;其中,所述写入请求中携带待写入的数据。
请求调度装置12,用于根据主集群13的状态,确定接收写入请求的目标集群,将写入请求发送给目标集群,接收目标集群发送的写入成功消息,将写入成功消息发送给客户端11。其中,目标集群为主集群13和备集群14中的一个。
主集群13和备集群14,用于分别向自身的日志文件中写入待写入的数据,以及在主集群13和备集群14均写入成功时,向请求调度装置12发送写入成功消息。
进一步地,请求调度装置12,具体用于对主集群13的状态进行监控,根据监控的状态判断所述主集群13是否发生故障,在所述主集群13发生故障时,将所述备集群14作为所述目标集群,而在所述主机群13未发生故障时,将所述主集群13作为所述目标集群。
可选地,备集群14,用于将所述待写入的数据写入远端日志文件中;
所述主集群13,用于在写入所述远端日志文件成功后,将所述待写入的数据写入本地日志文件中。
可选地,主集群13和备集群14,用于并行地将所述待写入的数据分别写入到所述本地日志文件和所述远端日志文件。
进一步地,备集群14,还用于当所述本地日志文件写入成功且所述远端日志文件当前写入失败时,阻塞下一个写入请求,重新创建所述远端日志文件,将所述待写入的数据重新写入重新创建的所述远端日志文件中,直到所述待写入的数据成功写入所述远端日志文件中。
进一步地,主集群13,还用于将所述本地日志文件中的数据写入到所述主集群13的数据表中,周期性地将所述本地日志文件中的数据写入到备集群14的数据表中。
进一步地,客户端11,还用于通过请求调度装置12向主集群13发送访问请求。
请求调度装置12,还用于在主集群13出现故障时,将访问请求切换到备集群14中进行处理。
备集群14,还用于将所述远端日志文件回放到所述备集群14的数据表中,从备集群14的数据表中获取与访问请求对应的目标数据。
可选地,备集群14,还用于将远端日志文件中数据与备集群14的数据表中已有数据进行比较,将未写入备集群14的数据表中的数据回放到备集群4的数据表中,从备集群14的数据表中获取与访问请求对应的目标数据。
进一步地,本地日志文件与远端日志文件之间通过设定的关联方式形成关联关系。
主集群13,还用于对备集群进行周期性访问,以获取远端日志文件列表,逐次从所述远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件,判断待删除的远端日志文件中的数据是否全部写入到备集群14的数据表中,如果判断结果为是,从备集群14上删除待删除的远端日志文件。
进一步地,备集群14,还用于对已经将数据回放到备集群14的数据表中的远端日志文件进行标记,周期性地将标记后的远端日志文件进行删除。
进一步地,主集群13,还用于在备集群14出现故障时,暂停向备集群4的远端日志文件写入待写入的数据直到备集群14的故障解除。
进一步地,备集群14,还用于当主集群13故障恢复后,将在主集群13故障期间写入的数据写入到主集群13。
本发明实施例提供的集群间的数据备份系统,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息。本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例十五
如图19所示,其为本发明实施例十五的集群间的数据备份系统的结构示意图。该集群间的数据备份系统2包括:客户端21、请求调度装置22、主集群23和备集群24。
客户端21,用于通过请求调度装置向主集群23发送访问请求。
请求调度装置22,用于在主集群23故障时,将访问请求切换到备集群24中进行处理,接收备集群24发送的与所述访问请求对应的目标数据,将所述目标数据发送给所述客户端21。
备集群24,用于获取与访问请求对应的目标数据,并发送给请求调度装置22。
进一步地,请求调度装置22,具体用于对主集群23的状态进行监控,根据监控的状态判断主集群23是否发生故障。
进一步地,备集群24,具体用于将所述远端日志文件中的数据与所述备集群24的数据表中已有数据进行比较,将未写入备集群24的数据表中的数据回放到备集群24的数据表中,从备集群24的数据表中获取与访问请求对应的目标数据。
本发明实施例提供的集群间的数据备份系统,在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,客户端可以对存储在主集群上的数据进行访问,当主集群出现故障时,可以将访问请求切换到备集群中进行处理,更好地保证了存储系统可持续性。
实施例十六
如图20所示,其为本发明实施例十六的集群间的数据备份装置的结构示意图。该集群间的数据备份装置3包括:接收模块31、确定模块32和发送模块33。
接收模块31,用于接收客户端发送的写入请求,所述写入请求中携带待写入的数据;
确定模块32,用于根据主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
发送模块33,用于向目标集群发送所述写入请求,以及在所述主集群的本地日志文件和所述备集群的远端日志文件均写入成功时,向所述客户端返回写入成功消息。
进一步地,确定模块32,具体用于对主集群的状态进行监控,根据监控的状态判断主集群是否发生故障,在主集群发生故障时,将所述备集群作为所述目标集群,向所述备集群发送所述写入请求;或者在所述主机群未发生故障,将所述主集群作为所述目标集群,向所述主集群发送所述写入请求。
进一步地,接收模块31,还用于接收客户端发送的访问请求,发送模块,还用于在所述主集群出现故障时,将所述访问请求切换到所述备集群进行处理。
进一步地,接收模块31,还用于接收所述备集群返回的与所述访问请求对应的目标数据。
发送模块33,用于将所述目标数据发送给所述客户端。
本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例十七
如图21所示,其为本发明实施例十七的集群间的数据备份系统的结构示意图。该集群间的数据备份装置4包括:接收模块41、确定模块42和发送模块43。
接收模块41,用于接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据。
写入模块42,用于向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据。
返回模块43,用于在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
进一步地,写入模块42,具体用于指示所述备集群将所述待写入的数据写入所述远端日志文件,在写入所述远端日志文件成功后,将所述待写入的数据写入所述本地日志文件。
进一步地,写入模块42,具体用于在将所述待写入的数据写入所述本地日志文件中的同时,指示所述备集群并行地将所述待写入的数据写入所述远端日志文件中
进一步地,写入模块42,还用于将所述本地日志文件中的数据写入到所述主集群的数据表中,周期性地将所述本地日志文件中的数据写入到所述备集群的数据表中。
进一步地,所述集群间的数据备份装置4还包括:访问模块44、选取模块45、判断模块46和删除模块47。
其中,访问模块44,用于对所述备集群进行周期性访问,以获取远端日志文件列表。
选取模块45,用于逐次从所述远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件;
判断模块46,用于判断所述待删除的远端日志文件中的数据是否全部写入到所述备集群的数据表中;
删除模块47,用于在判断结果为是时,从所述备集群上删除所述待删除的远端日志文件。
进一步地,写入模块42,还用于在所述备集群出现故障时,暂停向所述备集群的远端日志文件写入所述待写入的数据直到所述备集群的故障解除。
本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例十八
如图22所示,其为本发明实施例十八的集群间的数据备份系统的结构示意图。该集群间的数据备份装置5包括:接收模块51、写入模块52和返回模块53。
接收模块51,用于接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据。
写入模块52,用于向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据。
返回模块53,用于在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
进一步地,写入模块52,具体用于将所述待写入的数据写入所述远端日志文件中,在写入所述远端日志文件成功后,指示将所述待写入的数据写入所述本地日志文件中。
进一步地,写入模块52,具体用于在将所述待写入的数据写入所述远端日志文件中的同时,指示所述主集群并行地将所述待写入的数据写入所述远端日志文件中。
进一步地,接收模块51,还用于周期接收所述主集群发送的所述本地日志文件中的数据。
写入模块52,用于将接收的数据写入到所述备集群的数据表中。
进一步地,接收模块51,还用在所述主集群出现故障时,接收所述请求调度装置切换来的访问请求。
写入模块52,具体用于将所述远端日志文件中的数据与所述备集群的数据表中已有数据进行比较,将未写入所述备集群的数据表中的数据回放到所述备集群的数据表中。
进一步地,所述集群间的数据备份装置5还包括:获取模块54、标记模块56和删除模块57。
获取模块54,用于从所述备集群的数据表中获取与所述访问请求对应的目标数据。
标记模块55,用于对已经将数据回放到所述备集群的数据表中的所述远端日志文件进行标记。
删除模块56,用于周期性地将标记后的所述远端日志文件进行删除。
进一步地,写入模块52,还用于在所述主集群故障恢复后,将故障期间写入的数据写入到所述主集群。
本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例十九
如图23所示,其为本发明实施例十九的集群间的数据备份装置的结构示意图。该集群间的数据备份装置6包括:写入模块61和返回模块62。
其中,写入模块61,用于将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件。
在客户端需要向集群写入数据时,客户端可以向主集群发送写入请求,接收到写入请求后,本实施例中,为了保证主集群和备集群之间写入的数据能够实时同步,写入模块61需要将待写入的数据写入主集群中的本地日志文件中,还需要将待写入的数据写入到备集群的远端日志文件中。
本实施例中,写入模块61可以采用串行方式将待写入的数据写入到主备集群中,也可以采用并行方式将待写入的数据写入到主备集群中。
串行方式:写入模块11首先将待写入的数据写入到备集群的远端日志文件中,在远端日志文件写入成功后,将待写入的数据写入到主集群的本地日志文件中。
并行方式:写入模块61将待写入的数据并行地写入到主集群的本地日志文件和备集群的远端日志文件。
写入模块61,还用于当所述本地日志文件写入成功且所述远端日志文件当前写入失败时,阻塞下一个写入请求,重新为所述备集群创建所述远端日志文件,以及将所述待写入的数据重新写入重新创建的所述远端日志文件中,直到所述待写入的数据成功写入所述远端日志文件中。
关于串行方式和并行方式的介绍,可参见上述实施例一以及附图2~3中相关内容的记载,此处不再赘述。
返回模块62,用于在本地日志文件和远端日志文件均写入成功时,向客户端返回写入成功消息。
本实施例中,当写入模块61将待写入的数据在主集群的本地日志文件和备集群的远端日志文件均写入成功时,返回模块62才会向客户端返回写入成功消息。本实施例中提供的是一种同步的数据备份模式,在该同步的数据备份模式,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步。
进一步地,在写入模块61向主备集群写入数据的过程中,当主集群出现故障时,可以将写入请求切换到备集群上处理,写入模块11将待写入的数据写入到备集群上,当主集群故障恢复后,写入模块11可以将该备集群在主集群故障期间写入的数据,再写入到主集群中。当主集群的故障恢复后,继续将写入请求发送到主集群上进行处理。
本发明实施例提供的集群间的数据备份装置,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息。本实施例中提供的是一种同步的数据备份模式,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间的数据进行强一致性,保障存储系统的高可用。
实施例二十
如图24所示,其为本发明实施例二十的集群间的数据备份装置的结构示意图。该集群间的数据备份装置6除了包括上述实施例六中的写入模块61和返回模块62之外,还包括第一接收模块63、第一回放模块64和第一获取模块65。
第一接收模块63,用于接收客户端发送的访问请求。
在将客户端的写入请求对应的数据写入到主备集群的过程中,客户端还可以对之前写入的数据进行访问,客户端可以向主集群发送访问请求,第一接收模块63接收客户端的访问请求。
第一回放模块64,用于当所述主集群出现故障时,将所述备集群中的所述远端日志文件回放到所述备集群的数据表中。
在客户端对写入的数据进行访问过程中,当主集群出现故障时,主集群将无法继续为客户端提供服务。为了能够持续为客户端提供服务,在将数据写入主集群的同时,将数据写入到备集群以实现对数据的备份。本实施例中,当主集群出现故障无法提供服务时,可以将访问请求切换到备集群,为了保证访问请求切换后,备集群中的数据与主集群中的数据保持一致,第一回放模块64需要将备集群中远端日志文件中记录的数据回放到备集群的数据表中。
具体地,第一回放模块64将备集群的远端日志文件中的数据回放到备集群的数据表中包括本地方式和分布式方式。关于本地方式和分布式方式回放远端日志文件的介绍,可参见上述实施例二中相关内容的记载,此处不再赘述。
第一获取模块65,用于从所述备集群的数据表中获取与所述访问请求对应的目标数据。
在将备集群的远端日志文件中记录的数据回放到备集群的数据表中之后,第一获取模块65就可以根据访问请求访问该备集群的数据表中,从该数据表中获取与该访问请求对应的目标数据。
与现有技术相比,本实施例中,将待写入的数据写入到主备集群中同时成功时,才可以返回写入成功消息,保证了待写入的数据可以是强一致的状态,从而可以使得在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
本发明实施例提供的集群间的数据备份装置,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息,在主集群出现故障时,将备集群中远端日志文件中记录的数据回放到备集群的数据表中,从而可以通过备集群为客户端提供服务,使客户端获取到与访问请求对应的目标数据。本实施例中,由于在主集群的本地日志文件和备集群的远端日志文件均写入成功时,才会向客户端返回写入成功消息,实现了主备集群之间的同步备份,使得主备集群上的数据实时同步,从而保证了主集群和备集群之间数据的强一致性。
进一步地,由于主集群和备集群之间数据的强一致性,从而可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
实施例二十一
如图25所示,其为本发明实施例二十一的集群间的数据备份装置的结构示意图。该集群间的数据备份装置6除了包括上述实施例中的写入模块61和返回模块62之外,还包括第一数据表写入模块66和第二数据表写入模块67。
其中,第一数据表写入模块66,用于在所述将待写入的数据写入主集群中的本地日志文件之后,将所述本地日志文件中的数据写入到所述主集群的数据表中;
本实施例中,为了保证存储系统的高可用性,在同步备份的同时,可以对数据进行异步备份,具体地,第一数据表写入模块66在将待写入的数据写入主集群中的本地日志文件之后,可以将主集群的本地日志文件中记录的数据,写入到主集群的数据表中,便于客户端在对主集群进行访问时,能够从主集群的数据表中查询到相应的数据。
进一步地,可以设置一个缓冲池,在将待写入的数据写入主集群的数据表的过程中,利用设置的缓存池对待写入的数据进行缓存,以避免由于数据未及时写入而导致的数据丢失的问题。
第二数据表写入模块67,用于周期性地将所述本地日志文件中的数据写入到所述备集群的数据表中。
本实施例中,第二数据表写入模块67还可以对主集群的本地日志文件中的数据进行周期性采集,然后将采集到的数据直接写入到备集群的数据表中。在上述实施例一提供的同步备份模式下,将待写入的数据写入主集群的本地日志文件和备集群的远端日志文件中,写入到远端日志文件中后,数据并未写入到数据表中,当在主集群出现故障时,将会将备集群的远端日志文件中记录的数据回放到备集群的数据表中。
本发明实施例提供的集群间的数据备份装置,通过将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,在本地日志文件和远端日志文件均写入成功时,返回写入成功消息,进一步地,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,从而可以兼顾异步的数据备份模式的优点,更好地保证了存储系统的高可用性。
实施例二十二
如图26所示,其为本发明实施例二十二的集群间的数据备份装置的结构示意图。该集群间的数据备份装置6除了包括上述实施例中的写入模块61、返回模块62、第一数据表写入模块66和第二数据表写入模块67之外,还包括:第二接收模块68、比较模块69、第二回放模块70、第二获取模块71、列表获取模块72、选取模块73、判断模块74、删除模块75、标记模块76和暂停模块77。
其中,第二接收模块68,用于接收客户端发送的访问请求。
比较模块69,用于当所述主集群出现故障时,将所述备集群中的所述远端日志文件中的数据与所述备集群的数据表中已有数据进行比较。
本实施例中,通过异步的数据备份模式周期性地将待写入的数据直接写入到备集群的数据中,同时,通过同步的数据备份模式将待写入的数据写入到备集群的远端日志文件中。
在同步的数据备份模式下,由于数据同步写入到本地日志文件和远端日志文件中,数据可以保证强一致性,但是数据只有写入到数据表中才可以被客户端访问或者读取,而在同步的数据备份模式下只是将数据写入到远端日志文件中,并未将数据回放到数据表中。本实施例中,异步的数据备份模式下可以直接数据写入到备集群的数据表中,但是由于设置有周期,当周期到达后才会将数据写入到数据表中,异步的数据备份模式下数据不具备强一致性。
在主集群出现故障时,为了保证客户端能够查询到当前已经存入到主集群中的所有数据,比较模块69需要将备集群中的远端日志文件中的数据与备集群的数据表中已有数据进行比较。
第二回放模块70,用于将未写入所述备集群的数据表中的数据回放到所述备集群的数据表中。
为了保证存储系统的高可用性,第二回放模块70将未写入备集群的数据表中的数据,通过回放的方式写入到备集群的数据表中。关于回放的过程,可参见上述实施例一中的相关内容的记载,此处不再赘述。
第二获取模块71,用于从所述备集群的数据表中获取与所述访问请求对应的目标数据。
在将备集群的远端日志文件中记录的数据回放到备集群的数据表中之后,第二获取模块71就可以根据访问请求访问该备集群的数据表中,从该数据表中获取与该访问请求对应的目标数据。
与现有技术相比,本实施例中,不仅提供了异步的数据备份模式,还设置有同步的数据备份模式,可以在主集群出现故障后,当访问备集群时能够读取到与访问请求对应的目标数据,不存在读取延迟的问题。
进一步地,本地日志文件与远端日志文件之间通过设定的关联方式形成关联关系。
关于本地日志文件与远端日志文件之间的关联方式的介绍,可参见上述实施例二中相关内容的记载,此处不再赘述。
进一步地,列表获取模块72,用于对所述备集群进行周期性访问,以获取远端日志文件列表。
本实施例中,列表获取模块72可以对备集群进行周期性访问,从备集群中获取远端日志文件的列表。
选取模块73,用于逐次从所述远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件。
具体地,在获取到远端日志文件列表后,选取模块73按照远端日志文件在该远端日志文集列表中的顺序,逐次从中选取一个远端日志文件作为待删除的远端日志文件。
判断模块74,用于判断所述待删除的远端日志文件中的数据是否全部写入到所述备集群的数据表中。
删除模块75,用于当待删除的远端日志文件中的数据全部写入到备集群的数据表中时,从所述备集群上删除所述待删除的远端日志文件。
本实施例中,备集群中的远端日志文件是保证主备集群中的数据能够强一致性的重要文件。由于异步的数据备份模式下,向备集群数据表中发送数据的时间未到,而导致该周期内的数据不能及时写入到备集群的数据表中,如果远端日志文件被轻易删除了,就会导致访问请求切换后,无法从远端日志文件将由于时间未到而导致未能发送的数据回放到数据表中,从而造成数据不一致的问题,因此备集群上的远端日志文件需要被有效地清理。
本实施例中,通过异步的数据模式即异步的数据链路,可以将数据直接写入到备集群的数据表中,由于本地日志文件与远端日志文件之间存在关联关系,本地日志文件中的数据可以对应到远端日志文件中,当本地日志文件中对应一个远端日志文件的数据写入到备集群之后,会对远端日志文件进行标记,在选取模块73获取到待删除的远端日志文件后,如果该待删除的远端日志文件被标记,判断模块74可以判断该待删除的远端日志文件中的数据全部写入到备集群的数据表中,删除模块75从备集群上删除该待删除的远端日志文件。
如果待删除的远端日志文件未被标记,说明该待删除的远端日志文件中的数据未全部写入到备集群的数据表中,继续将该删除的远端日志文件保留在备集群上。
标记模块76,用于对已经将数据回放到所述备集群的数据表中的所述远端日志文件进行标记。
删除模块75,还用于周期性地将标记后的所述远端日志文件进行删除。
暂停模块77,用于在所述备集群出现故障时,暂停向所述备集群的远端日志文件写入所述待写入的数据直到所述备集群的故障解除。
进一步地,写入模块71,还用于在写入数据的过程中,如果所述主集群出现故障时,将所述写入请求切换到所述备集群,将所述待写入的数据写入到所述备集群,以及当所述主集群故障恢复后,将所述备集群在所述主集群故障期间写入的数据写入到所述主集群。
本发明实施例提供的集群间的数据备份装置,在同步的数据备份模式下,在将待写入的数据写入到本地日志文件后,将数据写入到主集群的数据表中,并且周期性地将本地日志文件中的数据写入到备集群的数据表中。进一步地,在主集群出现故障时,将备集群中远端日志文件中通过异步的数据备份模式,未写入到备集群的数据表中的数据回放到备集群的数据表中,从而可以通过备集群为客户端提供服务,使客户端获取到与访问请求对应的目标数据。本实施例中在主备集群之间设置了同步的数据备份和异步的数据备份两种模式,更好地保证了存储系统的高可用性,而且可以定期对远端日志文件进行清除,节省存储空间。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (54)
1.一种集群间的数据备份方法,其特征在于,包括:
客户端向请求调度装置发送写入请求,其中,所述写入请求中携带待写入的数据;
所述请求调度装置根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
所述请求调度装置将所述写入请求发送给所述目标集群;
所述目标集群和另一集群分别向自身的日志文件中写入所述待写入的数据;其中,所述另一集群为所述主集群和所述备集群中的一个;所述另一集群与所述目标集群同一时刻对应的集群不同;当所述目标集群为主集群时,所述另一集群为备集群,所述目标集群为备集群时,所述另一集群为主集群;
在所述目标集群和所述另一集群均写入成功时,所述请求调度装置将接收到的写入成功消息反馈给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述请求调度装置根据所述主集群的状态,确定接收所述写入请求的目标集群,包括:
所述请求调度装置对所述主集群的状态进行监控;
所述请求调度装置根据监控的状态判断所述主集群是否发生故障;
所述请求调度装置在所述主集群发生故障时,将所述备集群作为所述目标集群,而在所述主机群未发生故障时,将所述主集群作为所述目标集群。
3.根据权利要求2所述的方法,其特征在于,所述目标集群和另一集群分别向自身的日志文件中写入所述待写入的数据,包括:
所述备集群将所述待写入的数据写入远端日志文件中;
在写入所述远端日志文件成功后,所述主集群将所述待写入的数据写入本地日志文件中。
4.根据权利要求2所述的方法,其特征在于,所述目标集群和另一集群分别向自身的日志文件中写入所述待写入的数据,包括:
所述主集群和所述备集群并行地将所述待写入的数据分别写入到所述本地日志文件和所述远端日志文件。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述备集群当所述本地日志文件写入成功且所述远端日志文件当前写入失败时,阻塞下一个写入请求;
所述备集群重新创建所述远端日志文件;
所述备集群将所述待写入的数据重新写入重新创建的所述远端日志文件中,直到所述待写入的数据成功写入所述远端日志文件中。
6.根据权利要求3或4所述的方法,其特征在于,在所述主集群将所述待写入的数据写入所述本地日志文件之后,包括:
所述主集群将所述本地日志文件中的数据写入到所述主集群的数据表中;
所述主集群周期性地将所述本地日志文件中的数据写入到所述备集群的数据表中。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述客户端通过所述请求调度装置向所述主集群发送访问请求;
在所述主集群出现故障时,所述请求调度装置将所述访问请求切换到所述备集群中进行处理;
所述备集群将所述远端日志文件回放到所述备集群的数据表中;
所述备集群从所述备集群的数据表中获取与所述访问请求对应的目标数据。
8.根据权利要求6所述的方法,其特征在于,还包括:
所述本地日志文件与所述远端日志文件之间通过设定的关联方式形成关联关系。
9.根据权利要求3或4所述的方法,其特征在于,还包括:
所述主集群对所述备集群进行周期性访问,以获取远端日志文件列表;
所述主集群逐次从所述远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件;
所述主集群判断所述待删除的远端日志文件中的数据是否全部写入到所述备集群的数据表中;
如果判断结果为是,所述主集群从所述备集群上删除所述待删除的远端日志文件。
10.根据权利要求6所述的方法,其特征在于,还包括:
所述备集群对已经将数据回放到所述备集群的数据表中的所述远端日志文件进行标记;
所述备集群周期性地将标记后的所述远端日志文件进行删除。
11.根据权利要求6所述的方法,其特征在于,还包括:
在所述备集群出现故障时,所述主集群暂停向所述备集群的远端日志文件写入所述待写入的数据直到所述备集群的故障解除。
12.根据权利要求2所述的方法,其特征在于,还包括:
当所述主集群故障恢复后,所述备集群将在所述主集群故障期间写入的数据写入到所述主集群。
13.一种集群间的数据备份方法,其特征在于,包括:
客户端通过请求调度装置向主集群发送访问请求;
所述请求调度装置在所述主集群故障时,将所述访问请求切换到备集群中进行处理;
所述备集群获取与所述访问请求对应的目标数据,并发送给所述请求调度装置;
所述请求调度装置将所述目标数据发送给所述客户端。
14.根据权利要求13所述的方法,其特征在于,还包括:
所述请求调度装置对所述主集群的状态进行监控;
所述请求调度装置根据监控的状态判断所述主集群是否发生故障。
15.根据权利要求14所述的方法,其特征在于,所述请求调度装置在所述主集群故障时,将所述访问请求切换到备集群中进行处理,包括:
所述备集群将所述远端日志文件中的数据与所述备集群的数据表中已有数据进行比较;
所述备集群将未写入所述备集群的数据表中的数据回放到所述备集群的数据表中;
所述备集群获取与所述访问请求对应的目标数据,包括:
所述备集群从所述备集群的数据表中获取与所述访问请求对应的目标数据。
16.一种集群间的数据备份方法,其特征在于,包括:
请求调度装置接收客户端发送的写入请求,所述写入请求中携带待写入的数据;
所述请求调度装置根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
所述请求调度装置向目标集群发送所述写入请求;
所述请求调度装置在所述主集群的本地日志文件和所述备集群的远端日志文件均写入成功时,向所述客户端返回写入成功消息。
17.根据权利要求16所述的集群间的数据备份方法,其特征在于,所述请求调度装置根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群或者备集群,包括:
所述请求调度装置对主集群的状态进行监控;
所述请求调度装置根据监控的状态判断所述主集群是否发生故障;
所述请求调度装置在所述主集群发生故障时,将所述备集群作为所述目标集群,向所述备集群发送所述写入请求;或者在所述主机群未发生故障,将所述主集群作为所述目标集群,向所述主集群发送所述写入请求。
18.根据权利要求16所述的方法,其特征在于,还包括:
所述请求调度装置接收所述客户端发送的访问请求;
所述请求调度装置在所述主集群出现故障时,将所述访问请求切换到所述备集群进行处理;
所述请求调度装置接收所述备集群返回的与所述访问请求对应的目标数据;
所述请求调度装置将所述目标数据发送给所述客户端。
19.一种集群间的数据备份方法,其特征在于,包括:
主集群接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
所述主集群向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据;
所述主集群在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
20.根据权利要求19所述的方法,其特征在于,所述主集群向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据,包括:
所述主集群指示所述备集群将所述待写入的数据写入所述远端日志文件;
在写入所述远端日志文件成功后,所述主集群将所述待写入的数据写入所述本地日志文件。
21.根据权利要求19所述的方法,其特征在于,所述主集群向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据,包括:
所述主集群在将所述待写入的数据写入所述本地日志文件中的同时,指示所述备集群并行地将所述待写入的数据写入所述远端日志文件中。
22.根据权利要求20或21所述的方法,其特征在于,在所述主集群将所述待写入的数据写入所述本地日志文件中之后,包括:
所述主集群将所述本地日志文件中的数据写入到所述主集群的数据表中;
所述主集群周期性地将所述本地日志文件中的数据写入到所述备集群的数据表中。
23.根据权利要求22所述的方法,其特征在于,还包括:
所述主集群对所述备集群进行周期性访问,以获取远端日志文件列表;
所述主集群逐次从所述远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件;
所述主集群判断所述待删除的远端日志文件中的数据是否全部写入到所述备集群的数据表中;
如果判断结果为是,所述主集群从所述备集群上删除所述待删除的远端日志文件。
24.根据权利要求22所述的方法,其特征在于,还包括:
在所述备集群出现故障时,所述主集群暂停向所述备集群的远端日志文件写入所述待写入的数据直到所述备集群的故障解除。
25.一种集群间的数据备份方法,其特征在于,包括:
备集群接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
所述备集群向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据;
所述备集群在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
26.根据权利要求25所述的方法,其特征在于,所述备集群向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据,包括:
所述备集群将所述待写入的数据写入所述远端日志文件中;
在写入所述远端日志文件成功后,所述备集群指示将所述待写入的数据写入所述本地日志文件中。
27.根据权利要求25所述的方法,其特征在于,所述备集群向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据,包括:
所述备集群在将所述待写入的数据写入所述远端日志文件中的同时,指示所述主集群并行地将所述待写入的数据写入所述远端日志文件中。
28.根据权利要求25所述的方法,其特征在于,还包括:
所述备集群周期接收所述主集群发送的所述本地日志文件中的数据;
所述备集群将接收的数据写入到所述备集群的数据表中。
29.根据权利要求25或28所述的方法,其特征在于,还包括:
所述备集群在所述主集群出现故障时,接收所述请求调度装置切换来的访问请求;
所述备集群将所述远端日志文件中的数据与所述备集群的数据表中已有数据进行比较;
所述备集群将未写入所述备集群的数据表中的数据回放到所述备集群的数据表中;
所述备集群从所述备集群的数据表中获取与所述访问请求对应的目标数据。
30.根据权利要求25或28所述的方法,其特征在于,还包括:
所述备集群对已经将数据回放到所述备集群的数据表中的所述远端日志文件进行标记;
所述备集群周期性地将标记后的所述远端日志文件进行删除。
31.根据权利要求25或28所述的方法,其特征在于,还包括:
所述备集群在所述主集群故障恢复后,将故障期间写入的数据写入到所述主集群。
32.一种集群间的数据备份方法,其特征在于,包括:
将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件;
在所述本地日志文件和所述远端日志文件均写入成功时,向客户端返回写入成功消息。
33.根据权利要求32所述的方法,其特征在于,还包括:
接收客户端发送的访问请求;
当所述主集群出现故障时,将所述备集群中的所述远端日志文件回放到所述备集群的数据表中;
从所述备集群的数据表中获取与所述访问请求对应的目标数据。
34.根据权利要求32或33所述的方法,其特征在于,所述将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,包括:
将所述待写入的数据写入所述远端日志文件;
在写入所述远端日志文件成功后,将所述待写入的数据写入所述本地日志文件。
35.根据权利要求32或33所述的方法,其特征在于,所述将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件,包括:
将所述待写入的数据并行地写入到所述本地日志文件和所述远端日志文件。
36.根据权利要求35所述的方法,其特征在于,还包括:
当所述本地日志文件写入成功且所述远端日志文件当前写入失败时,阻塞下一个写入请求;
重新为所述备集群创建所述远端日志文件;
将所述待写入的数据重新写入重新创建的所述远端日志文件中,直到所述待写入的数据成功写入所述远端日志文件中。
37.根据权利要求32所述的方法,其特征在于,在所述将待写入的数据写入主集群中的本地日志文件之后,包括:
将所述本地日志文件中的数据写入到所述主集群的数据表中;
周期性地将所述本地日志文件中的数据写入到所述备集群的数据表中。
38.根据权利要求37所述的方法,其特征在于,还包括:
接收客户端发送的访问请求;
当所述主集群出现故障时,将所述备集群中的所述远端日志文件中的数据与所述备集群的数据表中已有数据进行比较;
将未写入所述备集群的数据表中的数据回放到所述备集群的数据表中;
从所述备集群的数据表中获取与所述访问请求对应的目标数据。
39.根据权利要求32或37所述的方法,其特征在于,还包括:
所述本地日志文件与所述远端日志文件之间通过设定的关联方式形成关联关系。
40.根据权利要求39所述的方法,其特征在于,还包括:
对所述备集群进行周期性访问,以获取远端日志文件列表;
逐次从所述远端日志文件列表中选取一个远端日志文件作为待删除的远端日志文件;
判断所述待删除的远端日志文件中的数据是否全部写入到所述备集群的数据表中;
如果判断结果为是,从所述备集群上删除所述待删除的远端日志文件。
41.根据权利要求33或37所述的方法,其特征在于,还包括:
对已经将数据回放到所述备集群的数据表中的所述远端日志文件进行标记;
周期性地将标记后的所述远端日志文件进行删除。
42.根据权利要求37所述的方法,其特征在于,还包括:
在所述备集群出现故障时,暂停向所述备集群的远端日志文件写入所述待写入的数据直到所述备集群的故障解除。
43.根据权利要求32或37所述的方法,其特征在于,还包括:
在写入数据的过程中,如果所述主集群出现故障时,将所述写入请求切换到所述备集群;
将所述待写入的数据写入到所述备集群;
当所述主集群故障恢复后,将所述备集群在所述主集群故障期间写入的数据写入到所述主集群。
44.一种集群间的数据备份系统,其特征在于,包括:
客户端,用于向请求调度装置发送写入请求,以及接收所述请求调度装置返回的写入成功消息;其中,所述写入请求中携带待写入的数据;
所述请求调度装置,用于根据所述主集群的状态,确定接收所述写入请求的目标集群,将所述写入请求发送给所述目标集群,接收所述目标集群发送的所述写入成功消息,将所述写入成功消息发送给所述客户端;所述目标集群为所述主集群和备集群中的一个;
所述主集群和所述备集群,用于分别向自身的日志文件中写入所述待写入的数据,以及在所述主集群和所述备集群均写入成功时,向所述请求调度装置发送所述写入成功消息。
45.根据权利要求44所述的系统,其特征在于,所述请求调度装置,具体用于对所述主集群的状态进行监控,根据监控的状态判断所述主集群是否发生故障,在所述主集群发生故障时,将所述备集群作为所述目标集群,而在所述主机群未发生故障时,将所述主集群作为所述目标集群。
46.根据权利要求45所述的系统,其特征在于,所述备集群,用于将所述待写入的数据写入远端日志文件中;
所述主集群,用于在写入所述远端日志文件成功后,将所述待写入的数据写入本地日志文件中。
47.根据权利要求45所述的系统,其特征在于,所述主集群和所述备集群,用于并行地将所述待写入的数据分别写入到所述本地日志文件和所述远端日志文件。
48.根据权利要求47所述的系统,其特征在于,所述备集群,还用于当所述本地日志文件写入成功且所述远端日志文件当前写入失败时,阻塞下一个写入请求,重新创建所述远端日志文件,将所述待写入的数据重新写入重新创建的所述远端日志文件中,直到所述待写入的数据成功写入所述远端日志文件中。
49.根据权利要求46或47所述的系统,其特征在于,所述主集群,还用于将所述本地日志文件中的数据写入到所述主集群的数据表中,所述主集群周期性地将所述本地日志文件中的数据写入到所述备集群的数据表中。
50.一种集群间的数据备份系统,其特征在于,包括:
客户端,用于通过请求调度装置向主集群发送访问请求;
所述请求调度装置,用于在所述主集群故障时,将所述访问请求切换到备集群中进行处理,接收所述备集群发送的与所述访问请求对应的目标数据,将所述目标数据发送给所述客户端;
所述备集群,用于获取与所述访问请求对应的目标数据,并发送给所述请求调度装置。
51.一种集群间的数据备份装置,其特征在于,包括:
接收模块,用于接收客户端发送的写入请求,所述写入请求中携带待写入的数据;
确定模块,用于根据所述主集群的状态,确定接收所述写入请求的目标集群;所述目标集群为所述主集群和备集群中的一个;
发送模块,用于向目标集群发送所述写入请求,以及在所述主集群的本地日志文件和所述备集群的远端日志文件均写入成功时,向所述客户端返回写入成功消息。
52.一种集群间的数据备份装置,其特征在于,包括:
接收模块,用于接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
写入模块,用于向本地日志文件中写入所述待写入的数据,以及指示所述备集群向远端日志文件中写入所述待写入的数据;
返回模块,用于在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
53.一种集群间的数据备份装置,其特征在于,包括:
接收模块,用于接收请求调度装置发送的写入请求,其中,所述写入请求中携带待写入的数据;
写入模块,用于向远端日志文件中写入所述待写入的数据,以及指示主集群向本地日志文件中写入所述待写入的数据;
返回模块,用于在所述本地日志文件和所述远端日志文件均写入成功时,向所述请求调度装置返回写入成功消息。
54.一种集群间的数据备份装置,其特征在于,包括:
写入模块,用于将待写入的数据写入主集群中的本地日志文件和备集群中的远端日志文件;
返回模块,用于在所述本地日志文件和所述远端日志文件均写入成功时,向客户端返回写入成功消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611081496.5A CN108123976B (zh) | 2016-11-30 | 2016-11-30 | 集群间的数据备份方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611081496.5A CN108123976B (zh) | 2016-11-30 | 2016-11-30 | 集群间的数据备份方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108123976A true CN108123976A (zh) | 2018-06-05 |
CN108123976B CN108123976B (zh) | 2020-11-20 |
Family
ID=62226168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611081496.5A Active CN108123976B (zh) | 2016-11-30 | 2016-11-30 | 集群间的数据备份方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108123976B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614270A (zh) * | 2018-12-14 | 2019-04-12 | 深圳前海微众银行股份有限公司 | 基于Hbase的数据读写方法、装置、设备及存储介质 |
CN109739690A (zh) * | 2018-12-29 | 2019-05-10 | 平安科技(深圳)有限公司 | 备份方法及相关产品 |
CN111343277A (zh) * | 2020-03-04 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 分布式数据存储方法、系统、计算机设备和存储介质 |
CN111506459A (zh) * | 2020-04-22 | 2020-08-07 | 深圳前海微众银行股份有限公司 | 数据导入方法、装置、设备及计算机存储介质 |
CN111866098A (zh) * | 2020-07-03 | 2020-10-30 | 北京小米松果电子有限公司 | 一种日志处理方法、装置及存储介质 |
CN112000735A (zh) * | 2020-08-05 | 2020-11-27 | 中国邮政储蓄银行股份有限公司 | 一种数据处理方法、装置、系统 |
CN112416884A (zh) * | 2020-11-23 | 2021-02-26 | 中国移动通信集团江苏有限公司 | 一种数据同步方法及系统 |
CN112631839A (zh) * | 2020-12-31 | 2021-04-09 | 中国农业银行股份有限公司 | 一种实现数据备份的方法、装置及设备 |
CN114579671A (zh) * | 2022-05-09 | 2022-06-03 | 高伟达软件股份有限公司 | 集群间数据同步方法及装置 |
CN117176743A (zh) * | 2023-11-03 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693168A (zh) * | 2011-03-22 | 2012-09-26 | 中兴通讯股份有限公司 | 一种数据备份恢复的方法、系统和服务节点 |
CN103391217A (zh) * | 2013-07-24 | 2013-11-13 | 深信服网络科技(深圳)有限公司 | 实现异构集群设备同步的方法和异构集群系统 |
CN103577546A (zh) * | 2013-10-12 | 2014-02-12 | 北京奇虎科技有限公司 | 一种数据备份的方法、设备及分布式集群文件系统 |
CN103580906A (zh) * | 2012-08-09 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
CN103858122A (zh) * | 2011-08-03 | 2014-06-11 | 艾玛迪斯简易股份公司 | 保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统 |
CN105426275A (zh) * | 2015-10-30 | 2016-03-23 | 成都华为技术有限公司 | 双活集群系统中容灾的方法及装置 |
CN105487944A (zh) * | 2015-12-31 | 2016-04-13 | 成都华为技术有限公司 | 数据备份系统中复制模式转换的方法及装置 |
CN105574127A (zh) * | 2015-12-12 | 2016-05-11 | 天津南大通用数据技术股份有限公司 | 分布式数据库系统准实时的双活方法 |
-
2016
- 2016-11-30 CN CN201611081496.5A patent/CN108123976B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693168A (zh) * | 2011-03-22 | 2012-09-26 | 中兴通讯股份有限公司 | 一种数据备份恢复的方法、系统和服务节点 |
CN103858122A (zh) * | 2011-08-03 | 2014-06-11 | 艾玛迪斯简易股份公司 | 保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统 |
CN103580906A (zh) * | 2012-08-09 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
CN103391217A (zh) * | 2013-07-24 | 2013-11-13 | 深信服网络科技(深圳)有限公司 | 实现异构集群设备同步的方法和异构集群系统 |
CN103577546A (zh) * | 2013-10-12 | 2014-02-12 | 北京奇虎科技有限公司 | 一种数据备份的方法、设备及分布式集群文件系统 |
CN105426275A (zh) * | 2015-10-30 | 2016-03-23 | 成都华为技术有限公司 | 双活集群系统中容灾的方法及装置 |
CN105574127A (zh) * | 2015-12-12 | 2016-05-11 | 天津南大通用数据技术股份有限公司 | 分布式数据库系统准实时的双活方法 |
CN105487944A (zh) * | 2015-12-31 | 2016-04-13 | 成都华为技术有限公司 | 数据备份系统中复制模式转换的方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614270A (zh) * | 2018-12-14 | 2019-04-12 | 深圳前海微众银行股份有限公司 | 基于Hbase的数据读写方法、装置、设备及存储介质 |
CN109739690A (zh) * | 2018-12-29 | 2019-05-10 | 平安科技(深圳)有限公司 | 备份方法及相关产品 |
CN109739690B (zh) * | 2018-12-29 | 2024-05-28 | 平安科技(深圳)有限公司 | 备份方法及相关产品 |
CN111343277A (zh) * | 2020-03-04 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 分布式数据存储方法、系统、计算机设备和存储介质 |
CN111343277B (zh) * | 2020-03-04 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 分布式数据存储方法、系统、计算机设备和存储介质 |
CN111506459A (zh) * | 2020-04-22 | 2020-08-07 | 深圳前海微众银行股份有限公司 | 数据导入方法、装置、设备及计算机存储介质 |
CN111866098B (zh) * | 2020-07-03 | 2024-04-26 | 北京小米松果电子有限公司 | 一种日志处理方法、装置及存储介质 |
CN111866098A (zh) * | 2020-07-03 | 2020-10-30 | 北京小米松果电子有限公司 | 一种日志处理方法、装置及存储介质 |
CN112000735A (zh) * | 2020-08-05 | 2020-11-27 | 中国邮政储蓄银行股份有限公司 | 一种数据处理方法、装置、系统 |
CN112416884A (zh) * | 2020-11-23 | 2021-02-26 | 中国移动通信集团江苏有限公司 | 一种数据同步方法及系统 |
CN112631839A (zh) * | 2020-12-31 | 2021-04-09 | 中国农业银行股份有限公司 | 一种实现数据备份的方法、装置及设备 |
CN112631839B (zh) * | 2020-12-31 | 2024-08-06 | 中国农业银行股份有限公司 | 一种实现数据备份的方法、装置及设备 |
CN114579671A (zh) * | 2022-05-09 | 2022-06-03 | 高伟达软件股份有限公司 | 集群间数据同步方法及装置 |
CN117176743A (zh) * | 2023-11-03 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
CN117176743B (zh) * | 2023-11-03 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、可读存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN108123976B (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108123976A (zh) | 集群间的数据备份方法、装置及系统 | |
CN102024016B (zh) | 一种分布式文件系统快速数据恢复的方法 | |
CN100592251C (zh) | 储存虚拟化电脑系统及储存系统中管理资料快照影像方法 | |
CN101809558B (zh) | 远程异步数据复制系统和方法 | |
CN102891849B (zh) | 业务数据同步方法、恢复方法及装置和网络设备 | |
US8521691B1 (en) | Seamless migration between replication technologies | |
CN110209726A (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
CN104679772B (zh) | 分布式数据仓库中删除文件的方法、装置、设备及系统 | |
CN100478902C (zh) | 地理分布式集群 | |
US7039661B1 (en) | Coordinated dirty block tracking | |
CN103186554B (zh) | 分布式数据镜像方法及存储数据节点 | |
CN103902405B (zh) | 一种准连续性数据复制方法及装置 | |
CN105739924A (zh) | 基于缓存集群的缓存方法和系统 | |
CN100388225C (zh) | 具有远程数据镜像的集群数据库 | |
CN107870829A (zh) | 一种分布式数据恢复方法、服务器、相关设备及系统 | |
CN105183400B (zh) | 一种基于内容寻址的对象存储方法和系统 | |
CN106406758A (zh) | 一种基于分布式存储系统的数据处理方法及存储设备 | |
CN102939740A (zh) | 分布式数据存储 | |
CN105574187A (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
CN103780638A (zh) | 数据同步方法及系统 | |
CN109582686B (zh) | 分布式元数据管理一致性保证方法、装置、系统及应用 | |
CN110402429A (zh) | 复制用于管理基于云的资源的存储表以抵挡存储账户中断 | |
CN105589887A (zh) | 分布式文件系统的数据处理方法及分布式文件系统 | |
CN109739435A (zh) | 文件存储和更新方法及装置 | |
CN113905054A (zh) | 基于RDMA的Kudu集群数据同步方法、装置、系统 |
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 |