CN108418859A - 写数据的方法和装置 - Google Patents
写数据的方法和装置 Download PDFInfo
- Publication number
- CN108418859A CN108418859A CN201810068940.2A CN201810068940A CN108418859A CN 108418859 A CN108418859 A CN 108418859A CN 201810068940 A CN201810068940 A CN 201810068940A CN 108418859 A CN108418859 A CN 108418859A
- Authority
- CN
- China
- Prior art keywords
- cluster
- target data
- wal
- client
- 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.)
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供了一种写数据的方法和装置,该方法可以应用于双活集群,双活集群包括第一集群和第二集群,第一集群中设置有远端预写日志WAL,方法包括:客户端向双活集群发送写请求,写请求记录待存储的目标数据;若第一集群按照预设规则存储目标数据成功,且第二集群按照预设规则写目标数据失败,客户端接收第一响应消息,第一响应消息指示第二集群按照预设规则写目标数据失败;客户端向第一集群的远端WAL中写入目标数据,远端WAL用于指示第一集群将远端WAL存储的目标数据存储到第二集群。有利于在维护双活集群中目标数据的一致性方面,降低对客户端的依赖性,减小客户端的开发代价。
Description
技术领域
本申请涉及计算机领域,并且更具体地,涉及写数据的方法和装置。
背景技术
双活集群的特点是两个集群都是在线运行的,并且可以支持相同的应用负载,也就是说,客户端可以通过应用在双活集群中的两个集群中同时存储的待存储的目标数据,这样,在客户端通过应用从双活集群中读取数据时,如果双活集群中有一个集群故障,另一个集群还可以正常工作,那么客户端可以直接通过正常工作的集群读取数据。由此可知,基于双活集群的数据存储机制,在提高存储数据的安全性的同时,还有利于提高应用运行的可靠性。
在向双活集群存储数据的过程中,客户端通过应用同时向双活集群中的第一集群和第二集群存储目标数据,只有当目标数据同时存储至第一集群和第二集群时,客户端向双活集群写目标数据的过程才算成功。如果在向双活集群存储数据的过程中,有一个集群故障,例如,第一集群故障,此时,客户端需要将原本存储至第一集群的目标数据存储至第三方集群,直到第一集群恢复正常工作,可以存储数据时,客户端再从第三方集群中将目标数据读出,并存储至第一集群。
在上文介绍的向双活集群存储数据的过程中,需要客户端对目标数据在双活集群中的一致性进行维护,对客户端的依赖性较高,也就是说,在维护目标数据在双活集群中的一致性方面,客户端的开发代价较高。
发明内容
本申请提供一种写数据的方法和装置,有利于在维护双活集群中目标数据的一致性方面,降低对客户端的依赖性,减小客户端的开发代价。
第一方面,提供了一种写数据的方法,该方法可以应用于双活集群,所述双活集群包括第一集群和第二集群,所述第一集群中设置有远端预写日志WAL,所述方法包括:客户端向所述双活集群发送写请求,所述写请求记录待存储的目标数据;若所述第一集群按照预设规则存储所述目标数据成功,且所述第二集群按照所述预设规则写所述目标数据失败,所述客户端接收第一响应消息,所述第一响应消息指示所述第二集群按照所述预设规则写所述目标数据失败;所述客户端向所述第一集群的所述远端WAL中写入所述目标数据,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储到所述第二集群。
上述远端WAL用于存储客户端向第二集群中存储的未存储成功的数据,或者说,远端WAL用于存储待存储至第二集群的数据。
上述远端WAL用于指示所述第一集群将所述远端WAL中存储的所述目标数据存储到所述第二集群,可以理解为,第一集群将远端WAL中的目标数据至第二集群中。
需要说明的是,上述第一响应消息可以是第一集群发送至所述客户端的,还可以是第二集群发送至所述客户端的,还可以是管理第一集群和第二集群的集中控制器向客户端发送的。
可选地,上述双活集群为HDFS与HBase构成的存储系统时,上述控制器可以指HBase。
在本申请实施例中,当目标数据按照预设规则在第一集群中存储成功,却未按照预设规则在第二集群中存储成功时,客户端可以将第二集群中未成功存储的目标数据,存储至第一集群中的远端WAL中,以便于由第一集群基于远端WAL,将第二集群中未存储成功的目标数据存储至第二集群中,避免了现有技术中,需要依赖客户端将第二集群中未存储成功的目标数据从第三方存储设备中读出,重新存储至第二集群,有利于在维护双活集群中目标数据的一致性方面,降低对客户端的依赖性,减小客户端的开发代价。
结合第一方面,在一种可能的实现方式中,所述第一集群中还设置有本地WAL,所述本地WAL用于存储存储至第一集群本地的目标数据。
结合第一方面,在一种可能的实现方式中,所述预设规则为在预设时间内完成所述目标数据的写入。
具体地,所述预设规则为在预设时间内完成所述目标数据的写入,则上述第二集群按照所述预设规则写所述目标数据失败,可以理解为客户端向第二集群写目标数据的时间超过上述预设时间。所述第一集群按照预设规则存储所述目标数据成功,可以理解为在预设时间内,客户端将目标数据成功存储至第一集群。
本申请实施例中,基于预设时间设置预设规则,限制客户端向双活集群写数据占用的时间,有利于提高客户端向双活集群写数据的效率,避免了在第二集群故障的情况下,客户端仍然多次向第二集群写目标数据,导致客户端向第二集群写数据占用较长的时间。
需要说明的是,上述预设规则除了可以基于上述预设时间进行配置,还可以基于客户端是否能从集群中成功读取目标数据进行配置,例如,若客户端能够从第一集群中读取目标数据,则可以理解为第一集群按照预设规则存储目标数据成功,若客户端无法从第二集群中读取目标数据,则可以理解为第二集群按照预设规则存储目标数据失败。
结合第一方面,在一种可能的实现方式中,所述目标数据在所述第一集群存储和在所述第二集群存储的优先级一样。或者说,所述第一集群存储所述目标数据的优先级等于所述第二集群存储所述目标数据的优先级,即第一集群和第二集群处于对等模式。
在本申请实施例中,第一集群和第二集群处于对等模式,进一步地说,客户端向第一集群或第二集群中的任意一个集群写目标数据成功后,客户端都可以认为目标数据已经成功写入至双活集群中,有利于提高客户端向双活集群中写目标数据的成功率。
结合第一方面,在一种可能的实现方式中,相对于所述第二集群,所述目标数据优先在所述第一集群中存储。或者说,所述第一集群存储所述目标数据的优先级高于所述第二集群存储所述目标数据的优先级,即第一集群和第二集群处于优选模式,且第一集群为优选的集群。
在本申请实施例中,第一集群和第二集群处于优选模式,进一步地说,若客户端向优选的集群写目标数据成功,客户端可以认为目标数据已经成功写入至双活集群中;若客户端未成功向优选的集群写入目标数据,客户端可以认为目标数据未成功存储至双活集群中,避免了现有技术中,客户端需要等待两个集群都反馈指示目标数据是否存储成功的响应消息,有利于减小客户端等待双活集群反馈响应消息的时间。
结合第一方面,在一种可能的实现方式中,相对于所述第二集群,所述目标数据优先在所述第一集群中存储,所述方法还包括:若所述第一集群按照所述预设规则所述目标数据失败,所述客户端接收所述第一集群发送的第二响应消息,所述第二响应消息用于指示向所述第一集群和所述第二集群写所述目标数据失败。
也就是说,第一集群和第二集群处于优选模式,且第一集群为优选的集群时,如果向第一集群写目标数据失败,则无论目标数据是否在第二集群中成功存储,控制器都向客户端发送响应信息,指示向第一集群和第二集群写目标数据失败。
结合第一方面,在一种可能的实现方式中,所述客户端向所述第一集群的所述远端 WAL中写入所述目标数据,包括:所述客户端向所述第一集群发送第一指示信息,所述第一指示信息用于指示将所述目标数据存储至所述远端WAL中。
上述第一指示信息可以是第二集群的标识。
结合第一方面,在一种可能的实现方式中,所述方法包括:所述客户端向所述第二集群的管理模块发送第三指示信息,所述第三指示信息用于指示所述目标数据在第二集群中未存储成功。
在本申请实施例中,第二集群的管理模块可以基于第三指示信息作为确定第二集群故障或正常工作的依据,以便于可以与第二集群通行的其他客户端在向第二双活集群写数据之前,可以从第二集群的管理模块中获取第二集群的运行状态,或者其他集群通过与第二集群通行的客户端,获取第二集群的运行状态,有利于提高向双活集群中写数据的效率。
可选地,上述第二集群为Hadoop分布式文件系统时,上述第二集群的管理模块可以是Hadoop分布式文件系统中的Zookeeper。
需要说明的是,在预设时间段内,双活集群收到客户端发送的第三指示信息的数量高于预设数量时,双活集群可以将第二集群标记为故障;在预设时间段内,若双活集群收到客户端发送的第三指示信息的数量低于或等于预设数量时,第二集群可能正常工作,上述目标数据未在第二集群中存储成功的原因,可能是在传输过程中的数据丢失等。
第二方面,提供一种写数据的方法,所述方法应用于双活集群,所述双活集群包括第一集群和第二集群,所述第一集群中设置有远端预写日志WAL和本地WAL,所述方法包括:客户端获取所述第一集群和所述第二集群的优先级,所述优先级指示待存储的目标数据是否优先向所述第一集群或者所述第二集群写入;若所述第一集群和第二集群的优先级相同或者所述第一集群的优先级大于所述第二集群,且所述第一集群正常工作和所述第二集群故障,所述客户端指示所述第一集群将所述目标数据分别存储至所述本地WAL和所述远端WAL中,所述本地WAL用于指示所述第一集群将所述本地WAL中的所述目标数据在本地存储,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储至所述第二集群。
上述远端WAL用于存储客户端向第二集群中存储的未存储成功的数据,或者说,远端WAL用于存储待存储至第二集群的数据。
上述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储到所述第二集群,可以理解为,第一集群将远端WAL中的数据存储至第二集群中。
上述本地WAL用于存储存储至第一集群本地的目标数据。
所述本地WAL用于指示所述第一集群将所述本地WAL中的所述目标数据在本地存储,可以理解为,第一集群将本地WAL中的数据存储至第一集群本地。
在本申请实施例中,当第一集群正常工作,且第二集群故障时,客户端可以将目标数据存储至第一集群中的远端WAL中,以便于在第二集群正常工作后,由第一集群基于远端WAL,向第二集群存储目标数据,避免了现有技术中,需要依赖客户端将第二集群中未存储成功的目标数据从第三方存储设备中读出,重新存储至第二集群,有利于在维护双活集群中目标数据的一致性方面,降低对客户端的依赖性,减小客户端的开发代价。
结合第二方面,在一种可能的实现方式中,所述目标数据在所述第一集群存储和在所述第二集群存储的优先级一样。或者说,所述第一集群存储所述目标数据的优先级等于所述第二集群存储所述目标数据的优先级,即第一集群和第二集群处于对等模式。
在本申请实施例中,第一集群和第二集群处于对等模式,进一步地说,客户端向第一集群或第二集群中的任意一个集群写目标数据成功后,客户端都可以认为目标数据已经成功写入至双活集群中,有利于提高客户端向双活集群中写目标数据的成功率。
结合第二方面,在一种可能的实现方式中,相对于所述第二集群,所述目标数据优先在所述第一集群中存储。或者说,所述第一集群存储所述目标数据的优先级高于所述第二集群存储所述目标数据的优先级,即第一集群和第二集群处于优选模式,且第一集群为优选的集群。
在本申请实施例中,第一集群和第二集群处于优选模式,进一步地说,若客户端向优选的集群写目标数据成功,客户端可以认为目标数据已经成功写入至双活集群中;若客户端未成功向优选的集群写入目标数据,客户端可以认为目标数据未成功存储至双活集群中,避免了现有技术中,客户端需要等待两个集群都反馈指示目标数据是否存储成功的响应消息,有利于减小客户端等待双活集群反馈响应消息的时间。
结合第二方面,在一种可能的实现方式中,若相对于所述第二集群,所述目标数据优先在所述第一集群中存储,且所述第一集群故障,所述方法还包括:所述客户端停止向所述第一集群和所述第二集群写所述目标数据。
也就是说,第一集群和第二集群处于优选模式,且第一集群为优选的集群时,如果第一集群故障,那么客户端不再向双活集群中写目标数据。
结合第二方面,在一种可能的实现方式中,所述方法还包括:所述客户端获取第一集群和第二集群的运行状态,所述运行状态包括正常工作和故障。
需要说明的是,上述第一集群和第二集群的运行状态可以存储在客户端中,也就是说,客户端可以基于之前向第一集群和第二集群写数据的情况,确定第一集群和第二集群的运行状态。客户端还可以从第一集群的管理模块中获取其他客户端上报的第一集群的运行状态,从第二集群的管理模块中获取其他客户端上报的第二集群的运行状态。
可选地,上述集群(包括第一集群和第二集群)为Hadoop分布式文件系统时,上述集群的管理模块可以是Hadoop分布式文件系统中的Zookeeper。
结合第二方面,在一种可能的实现方式中,所述客户端指示所述第一集群将所述目标数据分别存储至所述本地WAL和所述远端WAL中,包括:所述客户端向所述第一集群发送第二指示信息,所述第二指示信息用于指示将所述目标数据分别存储至所述远端 WAL和本地WAL中。
可选地,上述第二指示信息可以为第一集群的标识和第二集群的标识。
第三方面,提供一种写数据的方法,所述方法应用于双活集群,所述双活集群包括第一集群和第二集群,所述第一集群中设置有远端预写日志WAL,所述远端WAL用于存储待存储至所述第二集群中的目标数据,所述方法还包括:在所述第二集群正常工作时,所述第一集群向所述第二集群写所述远端WAL中的所述目标数据。
在本申请实施例中,在所述第二集群处于正常工作状态时,第一集群可以直接将未在第二集群中存储成功的数据(即远端WAL中的目标数据)存储至第二集群,避免了现有技术中,由客户端从第三方集群中将目标数据读出,再存储至第二集群中,也就是说,本申请实施例的方法,在向第二集群重新存储目标数据,以保证目标数据在第一集群和第二集群中的一致性的过程中,不再需要客户端的参与,有利于降低客户端在维护目标数据一致性方面的开发代价。
需要说明的是,上述未在第二集群中存储成功的数据可能是由于第二集群故障而未向第二集群存储的数据,还可以是向第二集群存储过,但未成功存储的数据。
第四方面,提供了一种写数据的装置,所述装置包括用于执行上述方法中的各个模块。
第五方面,提供一种客户端,所述客户端具有实现上述方法设计中的客户端的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
第六方面,提供了一种客户端,包括输入/输出接口、处理器和存储器。该处理器用于控制输入/输出接口接收输入的数据和信息,输出操作结果等数据,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该客户端执行上述方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第八方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第九方面,提供了一种芯片系统,该芯片系统包括处理器,用于支持客户端实现上述方面中所涉及的功能,例如,生成,接收,发送,或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存终端设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1是本申请实施例适用的双活集群的示意性架构图。
图2是传统的向双活集群中写数据的方法的示意性流程图。
图3是本申请实施例的写数据的方法的示意性流程图。
图4是本申请另一实施例的写数据的方法的示意性流程图。
图5是本申请实施例的写数据的装置的示意性框图。
图6是本申请实施例的写数据的装置的示意性框图。
图7是本申请另一实施例的客户端的示意性框图。
图8是本申请实施例的双活集群的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解,结合图1介绍本申请实施例适用的场景。
图1是本申请实施例适用的双活集群的示意性架构图。图1所示的双活集群包括第一集群110和第二集群120。
其中,第一集群和第二集群可以是以Hadoop分布式文件系统(HadoopDistributed File System,HDFS)与Hadoop数据库(Hadoop Database,HBase)构成的。
Hbase,用于实现对HDFS中存储的数据进行管理,以及对HDFS进行访问等功能。
HDFS,包括多个数据节点(Data node),用于为预写日志(Write Ahead Logging,WAL)的提供存储空间。
下文基于图1所示的双活集群的架构,简单介绍传统的向双活集群中写数据的方法。图2是传统的向双活集群中写数据的方法的示意性流程图。图2所示的方法包括步骤210至步骤230。
210,客户端向第一集群和第二集群写待存储的目标数据。
220,若目标数据未存储至第二集群,客户端将目标数据存储在第三方存储设备中。
230,若第二集群正常工作,客户端从第三方存储设备中读出目标数据,并将目标数据存储至第二集群中。
具体地,为保证目标数据在第一集群和第二集群中的一致性,需要由客户端重新将目标数据存储至第二集群。
图2所示的方法中,当两个集群中有一个集群出现故障时,需要客户端对目标数据的一致性进行维护,由客户端保证目标数据在两个集群中的一致性,因此,在维护目标数据的一致性方面,客户端的开发代价较高。
为了降低客户端在维护目标数据的一致性方面的开发代价,本申请实施例提供了一种写数据的方法,在第一集群正常工作且第二集群故障时,为了保证目标数据在第一集群和第二集群中的一致性,可以将目标数据存储在第一集群中的远端WAL(Remote WAL)中,以便于第二集群恢复正常工作后,第一集群可以直接将远端WAL中的数据存储至第二集群中,而无需客户端的参与。
具体地,适用本申请实施例的方法的场景,可以细化为在以下两种:场景一,在目标数据未成功存储至第二集群的情况下,重新存储目标数据;场景二,在第二集群故障的情况下存储目标数据。
下文基于图1所示的双活集群以及上述两种场景,结合图3和图4详细说明本申请实施例的写数据的方法。
图3是本申请实施例的写数据的方法的示意性流程图。图3所示的方法可以适用于上述场景一,图3所示的方法包括步骤310至步骤350。
310,客户端向第一集群和第二集群分别存储待存储的目标数据。
具体地,客户端可以通过第一写请求向第一集群存储一份目标数据,通过第二写请求向第二集群存储另一份目标数据。
可选地,所述第一集群中还设置有本地WAL(Local WAL),所述本地WAL用于存储向所述第一集群中存储的数据,上述步骤310包括:所述客户端向所述第一集群的所述本地WAL中写所述目标数据。
需要说明的是,在步骤310中,客户端向第一集群和第二集群存储待存储的目标数据时,如果客户端仅仅向第一集群和第二集群发送目标数据,而未发送下文中提到的第一指示信息或第二指示信息时,可以直接将目标数据存储在本地WAL中。例如,若客户端向第一集群存储目标数据时,客户端未发送第一指示信息或第二指示信息,则可以直接将目标数据存储至第一集群的本地WAL中。若客户端向第二集群存储目标数据时,客户端未发送第一指示信息或第二指示信息,则可以直接将目标数据存储至第二集群的本地WAL 中。
可选地,上述第一集群和第二集群处于对等模式,上述第一集群和第二集群还可以处于优选模式。
也就是说,上述对等模式可以理解为第一集群存储所述目标数据的优先级和第二集群存储目标数据的优先级相同。上述优选模式可以理解为两个集群中存储目标数据的优先级可以不同,其中,两个集群中存储目标数据的优先级高的集群可以称为“优选的集群”。例如,优选的集群为第一集群时,第一集群存储目标数据的优先级高于第二集群存储目标数据的优先级;优选的集群为第二集群时,第二集群存储目标数据的优先级高于第一集群存储目标数据的优先级。
需要说明的是,上述对等模式可以适用于客户端向第一集群写数据所需的时间,客户端向第二集群写数据所需的时间较接近的情况下。例如,第一集群的地理位置和第二集群的地理位置较近时,客户端向第一集群和第二集群发送写请求的链路长短接近,使得客户端向第一集群写数据所需的时间,客户端向第二集群写数据所需的时间较接近。
上述优选模式可以适用客户端向第一集群写数据所需的时间,客户端向第二集群写数据所需的时间相差较大的情况下。例如,第一集群的地理位置和第二集群的地理位置较远时,客户端向第一集群和第二集群发送写请求的链路长短相差较远,若第一集群的地理位置与客户端的地理位置较接近时,客户端向第一集群写数据所需的时间较短,此时可以将第一集群配置为优选的集群。
还需要说明的是,上述第一集群和第二集群为对等模式还是优选模式,可以由客户端根据向第一集群写数据所需的时间以及向第二集群写数据说所需的时间进行配置。第一集群和第二集群为对等模式还是优选模式,还可以是预先配置的,本申请实施例对此不作具体限定。
320,若所述客户端向所述第二集群写所述目标数据失败,且所述客户端向所述第一集群写所述目标数据成功,所述客户端生成第一指示信息,所述第一指示信息用于指示所述控制器向所述远端WAL中写入所述目标数据。
具体地,当目标数据已经在第一集群中存储成功,且没有在第二集群中存储成功时,可以先将目标数据存储至远端WAL中。
上述远端WAL用于存储第二集群中未存储成功的数据,或者说,远端WAL用于存储第一集群准备存储至第二集群中的数据。
应理解,本申请实施例对向第二集群写目标数据失败的原因不做限定,可以由于第二集群长期故障导致第二集群存储目标数据失败,还可以是由于客户端向第二集群写目标数据超时导致第二集群存储目标数据失败。
可选地,上述第一指示信息可以是第二集群的标识,还可以是远端WAL的标识。
可选地,作为一个实施例,若所述第一集群存储所述目标数据的优先级高于所述第二集群存储所述目标数据的优先级,且所述客户端向所述第一集群写所述目标数据失败,所述方法还包括:所述客户端接收所述控制器发送的响应消息,所述响应消息用于指示分别向所述第一集群和所述第二集群写所述目标数据失败。
具体地,在优先模式下,若第一集群为优选的集群,且向第一集群写目标数据失败后,无论目标数据是否在第二集群中存储成功,都向客户端返回响应消息,响应消息用于指示向所述第一集群和所述第二集群写所述目标数据失败。
需要说明的是,在上述优先模式下,若目标数据在第二集群中成功存储,且目标数据未在第一集群中成功存储,则为了保证目标数据在第一集群和第二集群中的一致性,第二集群删除所述目标数据。
还应理解,若上述第二集群删除目标数据的操作失败,第二集群可以忽略此次删除目标数据的操作。
应理解,上述客户端向所述第一集群写目标数据失败,可以理解为若客户端向第一集群写目标数据的时延高于写入最大容忍时延,则客户端向第一集群写目标数据失败。
330,客户端通过向第一集群发送第一指示信息和目标数据,指示第一集群将目标数据存储至第一集群的远端WAL中。
340,第一集群基于第一指示信息,将目标数据存储至远端WAL中。
可选地,作为一个实施例,若所述第一指示信息为第二集群的标识,且第一集群中存储了多个远端WAL,多个远端WAL中的任意一个WAL用于存储双活集群中除第一集群之外的其他集群中未存储成功的数据,且第一集群可以存储远端WAL与双活集群中集群的对应关系,则步骤340包括:第一集群基于对应关系确定第二集群对应的远端WAL;第一集群将目标数据存储至第二集群对应的远端WAL。
也就是说,第一集群可以和双活集群的多个其他集群,构成双活集群,其中,多个其他集群包括第二集群。
350,若第二集群恢复正常工作,第一集群将远端WAL中的数据存储至第二集群中。
具体地,上述正常工作可以理解为可以向第二集群成功存储待存储的数据。
需要说明的是,双活集群中每个集群的管理模块可以实时记录集群的运行状态,以使第一集群可以从第二集群的管理模块中获取第二集群的当前运行状态,运行状态包括正常工作和故障。例如,第一集群可以通过客户端从第二集群的管理模块中获取第二集群的当前运行状态。
具体地,客户端向第二集群的管理模块发送用于指示未将待存储的数据成功存储至第二集群的第三指示信息,以便于第二集群的管理模块可以根据客户端上报的第三指示信,确定第二集群的运行状态。
可选地,上述第二集群为Hadoop分布式文件系统时,上述第二集群的管理模块可以为Hadoop分布式文件系统中的可靠协调系统Zookeeper。
例如,在预设时间段内,客户端向双活集群的管理模块发送第三指示信息的次数高于预设次数,第三指示信息用于指示待存储的数据未成功存储至第二集群中,双活集群的管理模块可以将第二集群的运行状态标记为故障。
第一集群还可以周期性地向第二集群发送写请求,若第二集群向第一集群返回用于指示该写请求中携带的数据成功存储至第二集群的响应消息,则第一集群可以获知第二集群恢复正常工作状态;若第一集群向第二集群写数据的时延高于写入最大容忍时延,则第一集群可以获知第二集群故障。
图4是本申请另一实施例的写数据的方法的示意性流程图。图4所示的方法可以适用于上述场景二,图4所示的方法包括步骤410至步骤450。
410,客户端确定所述第一集群正常工作,且所述第二集群故障。
具体地,上述第一集群正常工作可以理解为可以向第一集群中成功存储目标数据。
上述第二集群故障可以理解为目标数据不能成功存储至第一集群中。
可选地,客户端从双活集群的管理模块中获取第一集群的运行状态和/或第二集群的运行状态,所述运行状态包括正常工作或故障。
具体地,在预设时间段内,客户端向第二集群的管理模块发送第三指示信息的次数高于预设次数,第三指示信息用于指示待存储的数据未成功存储至第二集群中,第二集群的管理模块可以将第二集群的运行状态标记为故障。
可选地,上述第二集群为Hadoop分布式文件系统时,上述第二集群的管理模块可以为Hadoop分布式文件系统中的Zookeeper。
可选地,上述第一集群和第二集群处于对等模式,或上述第一集群和第二集群处于优选模式。
需要说明的是,对等模式和优选模式的定义、使用场景及配置方式可以参见图3所示方法中的相关描述,为了简洁,在此不做赘述。
可选地,作为一个实施例,所述第一集群存储所述目标数据的优先级高于所述第二集群存储所述目标数据的优先级,所述方法还包括:若所述客户端确定所述第一集群故障,所述客户端停止向所述第一集群和所述第二集群写所述目标数据。
具体地,在优选模式下,若第一集群为优选的集群,且第一集群故障时,客户端不再向双活集群中存储目标数据。
420,所述客户端生成第二指示信息,所述第二指示信息用于指示所述控制器将待存储的目标数据存储至所述本地WAL和所述远端WAL中。
具体地,上述本地WAL用于存储第一集群中的数据,上述远端WAL用于存储第二集群中未存储成功的数据。
可选地,第二指示信息可以包含第一集群的标识和第二集群的标识,或者第二指示信息还可以包括上述远端WAL的标识和本地WAL的标识。当远端WAL和本地WAL以键值对的方式存储时,远端WAL的标识可以是远端WAL的键值,本地WAL的标识可以是本地WAL的键值。
430,客户端向第一集群发送所述第二指示信息和所述目标数据。
具体地,客户端通过向控制器发送第二指示信息和目标数据,指示控制器将目标数据存储至第一集群的远端WAL以及本地WAL中。
440,第一集群基于第二指示信息,将目标数据存储至第一集群的远端WAL以及本地WAL中。
可选地,作为一个实施例,若所述第二指示信息包含第二集群的标识,且第一集群中存储了多个远端WAL,多个远端WAL中的任意一个WAL用于存储双活集群中除第一集群之外的其他集群中未存储成功的数据,且第一集群可以存储远端WAL与双活集群中集群的对应关系,则步骤440包括:第一集群基于对应关系确定第二集群对应的远端WAL;第一集群将目标数据存储至第二集群对应的远端WAL。
也就是说,第一集群可以和双活集群的多个其他集群,构成双活集群,其中,多个其他集群包括第二集群。
450,若第二集群恢复正常工作,第一集群将远端WAL中的数据存储至第二集群中。
具体地,上述正常工作可以理解为可以向第二集群成功存储待存储的数据。
需要说明的是,第二集群的管理模块可以实时记录第二集群的运行状态,即正常工作或故障,以使第一集群可以从第二集群的管理模块中获取第二集群的当前运行状态。例如,第一集群通过客户端从第二集群的管理模块中获取第二集群的当前运行状态,第一集群还可以周期性地向第二集群发送写请求,若第二集群向第一集群返回用于指示该写请求中携带的数据成功存储至第二集群的响应消息,则第一集群可以获知第二集群恢复正常工作状态;若第一集群向第二集群写数据的时延高于写入最大容忍时延,则第一集群可以获知第二集群故障。
可选地,上述第二集群为Hadoop分布式文件系统时,上述第二集群的管理模块可以为Hadoop分布式文件系统中的Zookeeper。
可选地,作为一个实施例,在图3所示的方法和图4所示的方法中,客户端还可以根据第一集群中的远端WAL,确定第一集群中是否有待同步数据需要由第一集群向第二集群进行同步。
具体地,若远端WAL中存储的数据,已经全部由第一集群存储至第二集群,则第一集群中存储的数据和第二集群中存储的数据相同,第一集群和第二集群的双活存储状态为强一致性状态。若远端WAL中存储的数据中的至少部分数据,没有从第一集群存储至第二集群,则第一集群中存储的数据和第二集群中存储的数据至少部分不相同,第一集群和第二集群的双活存储状态为弱一致性状态。
上文结合图3和图4详细说明的本申请实施例中向双活集群写数据的方法,下文结合两个场景详细描述从双活集群中读数据的方法。
场景三,第一集群的运行状态为正常工作和第二集群的运行状态为正常工作。
若第一集群和第二集群为对等模式,则客户端可以从第一集群和第二集群中的任意一个集群中读取待读取的数据。
相应的,若客户端选择第一集群,作为读取待读取的数据的目标集群后,从第一集群中读取数据失败,此时客户端可以从第二集群中读取待读取的数据。
若第一集群和第二集群为优选模式,且第一集群为优选的集群,则客户端优先从第一集群中读取待读取的数据。若从第一集群中读取数据失败,此时需要结合客户端的读取模式细分为以下两种情况。
情况一,客户端的读取模式为强一致性模式时,若从第一集群中读取数据失败,且第一集群和第二集群的双活存储状态为弱一致性状态,则第一集群向客户端返回用于指示读操作失败的响应消息。若从第一集群中读取数据失败,且第一集群和第二集群的双活存储状态为强一致性状态,则客户端可以从第二集群中读取待读取的数据。
具体地,上述第一集群和第二集群的双活存储状态为弱一致性状态,可以理解为第一集群中存储的数据与第二集群中存储的数据至少部分不相同,即第一集群中存储的数据与第二集群中存储的数据不同步。
情况二,客户端的读取模式为弱一致性模式时,若从第一集群中读取数据失败,则无论第一集群和第二集群的双活存储状态为弱一致性状态还是强一致性模式,客户端都可以从第二集群中读取待读取的数据。
需要说明的是,在上述情况一和情况二中从第一集群中读取数据失败,可以理解为从第一集群中读取数据所需的时间大于读取最大时延,也就是说,当从第一集群中读取数据所需的时间大于读取最大时延时,第一集群向客户端返回用于指示读操作失败的响应消息。
场景四,第一集群和第二集群中有一个集群故障。
若第一集群和第二集群为对等模式,且无论故障的集群是第一集群和第二集群中的哪一个,则客户端可以从正常工作的集群中读取待读取的数据。例如,故障的集群为第一集群,则客户端可以从第二集群中读取待读取的数据。
若第一集群和第二集群为优选模式,且第一集群为优选的集群,当第二集群故障后,则客户端可以从第一集群中读取待读取的数据。当第一集群故障后,此时需要结合客户端的读取模式细分为以下两种情况。
情况一,客户端的读取模式为强一致性模式时,若第一集群和第二集群的双活存储状态为弱一致性状态,则第二集群或第一集群向客户端返回用于指示读操作失败的响应消息。若第一集群和第二集群的双活存储状态为强一致性状态,则客户端都可以从第二集群中读取待读取的数据。
具体地,上述第一集群和第二集群的双活存储状态为弱一致性状态,可以理解为第一集群中存储的数据与第二集群中存储的数据至少部分不相同,即第一集群中存储的数据与第二集群中存储的数据不同步。
情况二,客户端的读取模式为弱一致性模式时,无论第一集群和第二集群的双活存储状态为弱一致性状态还是强一致性模式,客户端都可以从第二集群中读取待读取的数据。
上文结合图1至图4详细介绍了本申请实施例的写数据的方法,下文结合图5至图8详细地描述本申请实施例的写数据的装置。需要说明的是,图5至图8所示的装置可以实现上述方法中各个步骤,为了简洁,在此不再赘述。
图5是本申请实施例的写数据的装置的示意性框图。图5所示的装置可以应用于双活集群,所述双活集群包括第一集群和第二集群,所述第一集群中设置有远端预写日志WAL,所述装置500包括:发送模块510、接收模块520和处理模块530。
发送模块510,用于用于向所述双活集群发送写请求,所述写请求记录待存储的目标数据;
接收模块520,用于若所述第一集群按照预设规则存储所述目标数据成功,且所述第二集群按照所述预设规则写所述目标数据失败,接收第一响应消息,所述第一响应消息指示所述第二集群按照所述预设规则写所述目标数据失败;
处理模块530,用于向所述第一集群的所述远端WAL中写入所述目标数据,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储到所述第二集群。
可选地,作为一个实施例,所述预设规则为在预设时间内完成所述目标数据的写入。
可选地,作为一个实施例,相对于所述第二集群,所述目标数据优先在所述第一集群存储;或者,所述目标数据在所述第一集群存储和在所述第二集群存储的优先级一样。
可选地,作为一个实施例,所述目标数据相对于所述第二集群优先在所述第一集群存储,所述接收模块还用于:若所述第一集群按照所述预设规则写所述目标数据失败,接收所述第一集群发送的第二响应消息,所述第二响应消息用于指示向所述第一集群和所述第二集群写所述目标数据失败。
图6是本申请实施例的写数据的装置的示意性框图。所述装置应用于双活集群,所述双活集群包括第一集群和第二集群,所述第一集群中设置有远端预写日志WAL和本地WAL,所述装置600包括:获取模块610和处理模块620。
获取模块610,用于获取所述第一集群和第二集群的优先级,所述优先级指示待存储的目标数据是否优先向所述第一集群或者所述第二集群写入;
处理模块620,用于若所述第一集群和第二集群的优先级相同或者所述第一集群的优先级大于所述第二集群,且所述第一集群正常工作和所述第二集群故障,指示所述第一集群将所述目标数据分别存储至所述本地WAL和所述远端WAL中,所述本地WAL用于指示所述第一集群将所述本地WAL中的所述目标数据在本地存储,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据复制到所述第二集群。
可选地,作为一个实施例,若所述目标数据相对于所述第二集群优先在所述第一集群中存储,且所述第一集群故障,所述处理模块还用于:停止向所述第一集群和所述第二集群写所述目标数据。
在可选的实施例中,上述装置500还可以是客户端700,具体地,所述处理模块530可以为处理器720,所述发送模块510和接收模块520可以为输入输出接口730。所述客户端700还可以包括存储器710,具体如图7所示。
在可选的实施例中,上述装置600还可以是客户端700,具体地,所述处理模块620可以为处理器720,所述获取模块610可以为输入输出接口730。所述客户端700还可以包括存储器710,具体如图7所示。
图7是本申请另一实施例的客户端的示意性框图。图7所示的客户端700可以包括:存储器710、处理器720和输入/输出接口730。其中,存储器710、处理器720和输入/输出接口730通过内部连接通路相连,该存储器710用于存储程序指令,该处理器720用于执行该存储器720存储的程序指令,以控制输入/输出接口730接收输入的数据和信息,输出操作结果等数据。
应理解,在本申请实施例中,该处理器720可以采用通用的中央处理器(CentralProcessing Unit,CPU),微处理器,应用专用集成电路(Application SpecificIntegrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器710可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。处理器720的一部分还可以包括非易失性随机存取存储器。例如,处理器720还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器710,处理器720读取存储器710中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit, CPU),该处理器还可以是其它通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列 (field programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图8是本申请实施例的双活集群的示意性框图。图8所示的双活集群800包括第一集群810和第二集群820,所述第一集群中设置有远端预写日志WAL,所述远端WAL用于存储向所述第二集群中存储的第一数据,
所述第一集群,用于在所述第二集群正常工作时,向所述第二集群写所述远端WAL中数据。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定 B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(Digital Video Disc,DVD))或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种写数据的方法,其特征在于,第一集群与第二集群为双活集群,所述第一集群中设置有远端预写日志WAL,
所述方法包括:
客户端向所述双活集群发送写请求,所述写请求记录待存储的目标数据;
若所述第一集群按照预设规则存储所述目标数据成功,且所述第二集群按照所述预设规则写所述目标数据失败,所述客户端接收第一响应消息,所述第一响应消息指示所述第二集群按照所述预设规则写所述目标数据失败;
所述客户端向所述第一集群的所述远端WAL中写入所述目标数据,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储到所述第二集群。
2.如权利要求1所述的方法,其特征在于,所述预设规则为在预设时间内完成所述目标数据的写入。
3.如权利要求1或2所述的方法,其特征在于,相对于所述第二集群,所述目标数据优先在所述第一集群中存储;或者,所述目标数据在所述第一集群存储和在所述第二集群存储的优先级一样。
4.如权利要求1-3中任一项所述的方法,其特征在于,相对于所述第二集群,所述目标数据优先在所述第一集群中存储,
所述方法还包括:
若所述第一集群按照所述预设规则所述目标数据失败,所述客户端接收所述第一集群发送的第二响应消息,所述第二响应消息用于指示向所述第一集群和所述第二集群写所述目标数据失败。
5.一种写数据的方法,其特征在于,第一集群与第二集群为双活集群,所述第一集群中设置有远端预写日志WAL和本地WAL,
所述方法包括:
客户端获取所述第一集群和所述第二集群的优先级,所述优先级指示待存储的目标数据是否优先向所述第一集群或者所述第二集群写入;
若所述第一集群和第二集群的优先级相同或者所述第一集群的优先级大于所述第二集群,且所述第一集群正常工作和所述第二集群故障,所述客户端指示所述第一集群将所述目标数据分别存储至所述本地WAL和所述远端WAL中,所述本地WAL用于指示所述第一集群将所述本地WAL中的所述目标数据在本地存储,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储至所述第二集群。
6.如权利要求5所述的方法,其特征在于,若相对于所述第二集群,所述目标数据优先在所述第一集群中存储,且所述第一集群故障,所述方法还包括:
所述客户端停止向所述第一集群和所述第二集群写所述目标数据。
7.一种写数据的装置,其特征在于,第一集群和第二集群互为双活集群,所述第一集群中设置有远端预写日志WAL,
所述装置包括:
发送模块,用于向所述双活集群发送写请求,所述写请求记录待存储的目标数据;
接收模块,用于若所述第一集群按照预设规则存储所述目标数据成功,且所述第二集群按照所述预设规则写所述目标数据失败,接收第一响应消息,所述第一响应消息指示所述第二集群按照所述预设规则写所述目标数据失败;
处理模块,用于向所述第一集群的所述远端WAL中写入所述目标数据,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据存储到所述第二集群。
8.如权利要求7所述的装置,其特征在于,所述预设规则为在预设时间内完成所述目标数据的写入。
9.如权利要求7或8所述的装置,其特征在于,相对于所述第二集群,所述目标数据优先在所述第一集群存储;或者,所述目标数据在所述第一集群存储和在所述第二集群存储的优先级一样。
10.如权利要求7-9中任一项所述的装置,其特征在于,所述目标数据相对于所述第二集群优先在所述第一集群存储,
所述接收模块还用于:
若所述第一集群按照所述预设规则写所述目标数据失败,接收所述第一集群发送的第二响应消息,所述第二响应消息用于指示向所述第一集群和所述第二集群写所述目标数据失败。
11.一种写数据的装置,其特征在于,第一集群和第二集群为双活集群,所述第一集群中设置有远端预写日志WAL和本地WAL,
所述装置包括:
获取模块,用于获取所述第一集群和第二集群的优先级,所述优先级指示待存储的目标数据是否优先向所述第一集群或者所述第二集群写入;
处理模块,用于若所述第一集群和第二集群的优先级相同或者所述第一集群的优先级大于所述第二集群,且所述第一集群正常工作和所述第二集群故障,指示所述第一集群将所述目标数据分别存储至所述本地WAL和所述远端WAL中,所述本地WAL用于指示所述第一集群将所述本地WAL中的所述目标数据在本地存储,所述远端WAL用于指示所述第一集群将所述远端WAL存储的所述目标数据复制到所述第二集群。
12.如权利要求11所述的装置,其特征在于,若所述目标数据相对于所述第二集群优先在所述第一集群中存储,且所述第一集群故障,所述处理模块还用于:
停止向所述第一集群和所述第二集群写所述目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810068940.2A CN108418859B (zh) | 2018-01-24 | 2018-01-24 | 写数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810068940.2A CN108418859B (zh) | 2018-01-24 | 2018-01-24 | 写数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108418859A true CN108418859A (zh) | 2018-08-17 |
CN108418859B CN108418859B (zh) | 2020-11-06 |
Family
ID=63126331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810068940.2A Active CN108418859B (zh) | 2018-01-24 | 2018-01-24 | 写数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108418859B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100160A (zh) * | 2020-11-05 | 2020-12-18 | 四川新网银行股份有限公司 | 一种基于Elastic Search的双活实时数据仓库建设方法 |
CN113254274A (zh) * | 2021-04-21 | 2021-08-13 | 北京大米科技有限公司 | 消息处理方法、装置、存储介质以及服务器 |
CN113778764A (zh) * | 2021-08-24 | 2021-12-10 | 百融至信(北京)征信有限公司 | 一种hbase数据双活系统及方法 |
WO2023125412A1 (en) * | 2021-12-27 | 2023-07-06 | Huawei Cloud Computing Technologies Co., Ltd. | Method and system for synchronous data replication |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193658A1 (en) * | 2003-03-31 | 2004-09-30 | Nobuo Kawamura | Disaster recovery processing method and apparatus and storage unit for the same |
CN104219085A (zh) * | 2014-08-07 | 2014-12-17 | 深圳市同洲电子股份有限公司 | 一种数据库的数据处理方法、代理服务器及系统 |
US20160077936A1 (en) * | 2014-09-12 | 2016-03-17 | Facebook, Inc. | Failover mechanism in a distributed computing system |
CN106570007A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 用于分布式缓存系统数据同步的方法和设备 |
CN107273462A (zh) * | 2017-06-02 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法 |
-
2018
- 2018-01-24 CN CN201810068940.2A patent/CN108418859B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193658A1 (en) * | 2003-03-31 | 2004-09-30 | Nobuo Kawamura | Disaster recovery processing method and apparatus and storage unit for the same |
CN104219085A (zh) * | 2014-08-07 | 2014-12-17 | 深圳市同洲电子股份有限公司 | 一种数据库的数据处理方法、代理服务器及系统 |
US20160077936A1 (en) * | 2014-09-12 | 2016-03-17 | Facebook, Inc. | Failover mechanism in a distributed computing system |
CN106570007A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 用于分布式缓存系统数据同步的方法和设备 |
CN107273462A (zh) * | 2017-06-02 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100160A (zh) * | 2020-11-05 | 2020-12-18 | 四川新网银行股份有限公司 | 一种基于Elastic Search的双活实时数据仓库建设方法 |
CN113254274A (zh) * | 2021-04-21 | 2021-08-13 | 北京大米科技有限公司 | 消息处理方法、装置、存储介质以及服务器 |
CN113778764A (zh) * | 2021-08-24 | 2021-12-10 | 百融至信(北京)征信有限公司 | 一种hbase数据双活系统及方法 |
CN113778764B (zh) * | 2021-08-24 | 2023-10-27 | 百融至信(北京)科技有限公司 | 一种hbase数据双活系统及方法 |
WO2023125412A1 (en) * | 2021-12-27 | 2023-07-06 | Huawei Cloud Computing Technologies Co., Ltd. | Method and system for synchronous data replication |
Also Published As
Publication number | Publication date |
---|---|
CN108418859B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418859A (zh) | 写数据的方法和装置 | |
US8996611B2 (en) | Parallel serialization of request processing | |
KR101959153B1 (ko) | 데이터베이스에서의 계좌와 관련된 거래 요청의 효율적인 처리를 위한 시스템 | |
CN105068758B (zh) | 面向并行数据采集的分布式文件系统数据i/o优化方法 | |
CN106406758A (zh) | 一种基于分布式存储系统的数据处理方法及存储设备 | |
US8380757B1 (en) | Techniques for providing a consolidated system configuration view using database change tracking and configuration files | |
CN108418900A (zh) | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 | |
CN108108476A (zh) | 高可靠分布式日志系统的工作方法 | |
CN106484322A (zh) | 一种挂载文件系统的方法、装置及设备 | |
CN111475501B (zh) | 区块链网络的数据清理方法及装置 | |
US10216426B2 (en) | Highly scalable storage array management with reduced latency | |
CN101594256A (zh) | 容灾方法、装置和系统 | |
CN110096220A (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
CN107920131A (zh) | 一种hdfs存储系统的元数据管理方法及装置 | |
CN108512753A (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN107783728A (zh) | 数据存储方法、装置和设备 | |
CN108763517A (zh) | 一种删除元数据的方法以及相关设备 | |
WO2024001025A1 (zh) | 一种预执行缓存数据清理方法和区块链节点 | |
CN108228099A (zh) | 一种数据存储的方法及装置 | |
Pankowski | Consistency and availability of Data in replicated NoSQL databases | |
CN110275893A (zh) | 一种数据操作方法及装置 | |
CN110309224A (zh) | 一种数据复制方法及装置 | |
US10148518B2 (en) | Method and apparatus for managing computer system | |
CN112579343B (zh) | 区块链节点数据的恢复方法及装置 | |
CN111212138B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220208 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |