CN114610817B - 数据同步方法、装置、多活系统、电子设备及存储介质 - Google Patents
数据同步方法、装置、多活系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114610817B CN114610817B CN202210511837.7A CN202210511837A CN114610817B CN 114610817 B CN114610817 B CN 114610817B CN 202210511837 A CN202210511837 A CN 202210511837A CN 114610817 B CN114610817 B CN 114610817B
- Authority
- CN
- China
- Prior art keywords
- write operation
- distributed cluster
- data
- written
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及分布式技术领域,提供了一种数据同步方法、装置、多活系统、电子设备及存储介质,在需要将写入第一分布式集群中的第一待写数据同步至人分布式集群时,获取写入第一待写数据时生成的第一写操作日志,其中,第一待写数据是基于客户端发送至第一分布式集群的写请求获取的,将第一写操作日志作为第一主题类型插入至消息队列,第二节点依据第一主题类型从消息队列中取出第一写操作日志、并根据第一写操作日志将第一待写数据同步至第二分布式集群。本发明能够在分布式集群间进行数据同步时仍然保证分布式集群的性能。
Description
技术领域
本发明涉及分布式技术领域,具体而言,涉及一种数据同步方法、装置、多活系统、电子设备及存储介质。
背景技术
多活系统以其强大的可靠性、并发性及扩展性成为分布式技术领域的解决方案中常用系统架构,多活系统包括多个分布式集群,为了满足多活系统的高可靠性要求,通常需要将一个分布式集群中的数据同步至另一个分布式集群中,如何在分布式集群间进行数据同步时仍然保证分布式集群的性能是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供了一种数据同步方法、装置、多活系统、电子设备及存储介质,其能够在分布式集群间进行数据同步时仍然保证分布式集群的性能。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据同步方法,应用于多活系统中多个分布式集群中第一分布式集群的第一节点,所述多个分布式集群还包括除所述第一分布式集群之外的第二分布式集群,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述方法包括:获取写入第一待写数据时生成的第一写操作日志,其中,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写请求获取的;将所述第一写操作日志作为所述第一主题类型插入至所述消息队列,以使所述第二节点依据所述第一主题类型从所述消息队列中取出所述第一写操作日志、并根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
进一步地,所述第一节点包括日志文件,所述第一写操作日志为多个,每一所述第一写操作日志为写入对应的第一待写数据时生成、且预先存储至所述日志文件中,所述获取写入第一待写数据时生成的第一写操作日志的步骤包括:
获取最近一次读取所述日志文件的读取位置;
若所述日志文件中从所述读取位置起、至最近一次写入位置止之间的第一写操作日志的条数大于预设值,则从所述读取位置起、读取预设条数的第一写操作日志。
进一步地,所述第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的,所述方法还包括:
从所述消息队列中取出所述第二主题类型的第二写操作日志;
根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群。
进一步地,所述第一分布式集群设置有预写日志功能,所述根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群步骤之前还包括:
关闭所述第一分布式集群的预写日志功能,以便在将所述第二待写数据同步至所述第一分布式集群时不产生写操作日志。
第二方面,本发明实施例提供了一种数据同步方法,应用于多活系统中多个分布式集群中第二分布式集群的第二节点,所述多个分布式集群还包括除所述第二分布式集群之外的第一分布式集群,所述第一分布式集群包括第一节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述方法包括:从所述消息队列中取出第一主题类型的第一写操作日志,其中,所述第一写操作日志是所述第一节点获取并插入至所述消息队列的,所述第一写操作日志是所述第一节点写入第一待写数据时生成的,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写数据请求获取的;根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
第三方面,本发明实施例提供了一种数据同步方法,应用于多活系统,所述多活系统包括第一分布式集群和第二分布式集群,所述第一分布式集群包括第一节点,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一节点执行第一方面的数据同步方法,所述第二节点执行第二方面的数据同步方法。
第四方面,本发明实施例提供了一种数据同步装置,应用于多活系统中多个分布式集群中第一分布式集群的第一节点,所述多个分布式集群还包括除所述第一分布式集群之外的第二分布式集群,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述装置包括:获取模块,用于获取写入第一待写数据时生成的第一写操作日志,其中,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写请求获取的;插入模块,用于将所述第一写操作日志作为所述第一主题类型插入至所述消息队列,以使所述第二节点依据所述第一主题类型从所述消息队列中取出所述第一写操作日志、并根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
进一步地,第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的,所述装置还包括第一同步模块,所述第一同步模块用于:从所述消息队列中取出所述第二主题类型的第二写操作日志;根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群。
第五方面,本发明实施例提供了一种数据同步装置,应用于多活系统中多个分布式集群中第二分布式集群的第二节点,所述多个分布式集群还包括除所述第二分布式集群之外的第一分布式集群,所述第一分布式集群包括第一节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述装置包括:第二同步模块,用于从所述消息队列中取出第一主题类型的第一写操作日志,其中,所述第一写操作日志是所述第一节点获取并插入至所述消息队列的,所述第一写操作日志是所述第一节点写入第一待写数据时生成的,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写数据请求获取的;所述第二同步模块,还用于根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
第六方面,本发明实施例提供了一种多活系统,述多活系统包括第一分布式集群和第二分布式集群,所述第一分布式集群包括第一节点,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型;所述第一节点,用于获取写入第一待写数据时生成的第一写操作日志,其中,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写请求获取的;所述第一节点还用于,将所述第一写操作日志作为所述第一主题类型插入至所述消息队列;所述第二节点用于,依据所述第一主题类型从所述消息队列中取出所述第一写操作日志、并根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
第七方面,本发明实施例提供了一种电子设备,包括处理器和存储器;所述存储器用于存储程序;所述处理器用于在执行所述程序时,实现第一方面的数据同步方法,或者实现第二方面的数据同步方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面的数据同步方法,或者实现第二方面的数据同步方法。
相对于现有技术,本发明实施例提供的数据同步方法、装置、多活系统、电子设备及存储介质,在需要将写入第一分布式集群中的第一待写数据同步至分布式集群时,获取写入第一待写数据时生成的第一写操作日志,其中,第一待写数据是基于客户端发送至第一分布式集群的写请求获取的,将第一写操作日志作为第一主题类型插入至消息队列,第二节点依据第一主题类型从消息队列中取出第一写操作日志、并根据第一写操作日志将第一待写数据同步至第二分布式集群,由此,实现了待写数据在第一分布式集群和第二分布式集群之间的同步,由于第一分布式集群对应第一主题类型,即第一写操作日志为第一主题类型,向第一分布式集群写第一待写数据和向第二分布式集群写第一待写数据基于消息队列实现了数据同步的异步写入,因而避免了在将第一分布式集群中的数据同步至第二分布式集群时对第一分布式集群的性能产生影响,保证了第一分布式集群的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的多活系统的示例图。
图2为本发明实施例提供的电子设备的方框示意图。
图3为本发明实施例提供的应用于第一节点的数据同步方法的流程示例图一。
图4为本发明实施例提供的应用于第一节点的数据同步方法的流程示例图二。
图5为本发明实施例提供的应用于第一节点的数据同步方法的流程示例图三。
图6为本发明实施例提供的应用于第二节点的数据同步方法的流程示例图一。
图7为本发明实施例提供的第一节点、第二节点和消息队列的交互图。
图8为本发明实施例提供的数据同步方法对应的逻辑视图的示例。
图9为本发明实施例提供的数据同步方法对应的交互图的示例。
图10为本发明实施例提供的应用于第一节点的第一数据同步装置的方框示意图。
图11为本发明实施例提供的应用于第二节点的第二数据同步装置的方框示意图。
图标:10-第一节点;20-第二节点;30-客户端;40-电子设备;41-处理器;42-存储器;43-总线;100-第一数据同步装置;110-获取模块;120-插入模块;130-第一同步模块;200-第二数据同步装置;210-第二同步模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
需要说明的是,本实施例中的分布式集群可以为分布式存储系统,例如,Hadoop数据库HBase(Hadoop Database,HBase)集群,当然也可以是与HBase具有类似功能的其他分布式存储系统,其能够提供写入数据时打开或者关闭写操作日志功能的分布式存储系统。本实施例以HBase为例进行描述,但是并不限定于HBase这一种分布式集群。
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase可在廉价的个人电脑服务器(PC Server)上搭建起大规模结构化存储集群。
HBase的预写日志WAL (Write Ahead Log,WAL)机制提供了一种高并发、持久化的日志保存与回放的功能。通过对HBase WAL日志可以实现多个HBase集群之间的实时同步,从而实现HBase的热备、主备集群、多活集群(包括双活)等功能。
在现有技术中,如果需要实现两个HBase集群之间的数据同步(也称为备份)一般会用三种方式:(1)通过运行批程序,对主HBase集群增量数据的批量采集同步到备HBase集群;(2)通过配置主HBase集群的协处理器coprocessor对增量、变更数据做监听并同步至备HBase集群;(3)通过HBase的复制Replication功能来实现主备集群间的异步复制。
上述三种方式中,第一种增量批采集的方式,对HBase集群会造成一定读写压力影响主HBase集群的性能,由于增量批采集是离线批处理的方式,所以实时性较差,一般为小时级别。第二种协处理器同步的方式,需要编写相关的处理逻辑打包集成至HBase集群的coprocessor,过程复杂并且会涉及到大量的业务相关的处理。此外,协处理器实时监听HBase的读写事件以触发协处理器,严重影响HBase集群的读写性能。第三种HBaseReplication为HBase自带的集群间异步复制的功能,同步效率较高,但是主要用与主备集群复制,暂时无法实现双活、多活等功能。
有鉴于此,本发明实施例提供了一种数据同步方法、装置、多活系统、电子设备及存储介质,既能够实现多活功能,又不会影响分布式集群的性能,下面将对其进行详细描述。
请参考图1,图1为本发明实施例提供的多活系统的示例图,图1中,多活系统包括第一分布式集群和第二分布式集群,第一分布式集群和第二分布式集群与至少一个客户端30通信连接,应用程序通过客户端30访问第一分布式集群或第二分布式集群。第一分布式集群包括至少一个第一节点10、第二分布式集群包括至少一个第二节点20。
当第一分布式集群为待同步数据的源集群时,第二分布式集群为待同步数据需要同步至的目标集群,即第一分布式集群的客户端30首先将待写数据写入第一分布式集群,后续再由第二分布式集群中的第二节点20将待写数据同步至第二分布式集群,当第一分布式集群为待同步数据的目标集群时,第二分布式集群为待同步数据需要同步至的目标集群,第二分布式集群的客户端30首先将待写数据写入第二分布式集群,后续再由第一分布式集群中的第一节点10将待写数据同步至第一分布式集群。这种基于获取日志、异步将其发送消息队列,再异步从消息队列中取出日志进行数据同步的方式,避免了对分布式集群造成的性能影响。
在本实施例中,为了便于数据同步,多活系统还包括一个消息队列,该消息队列用于管理所有需要同步数据的分布式集群写待写数据时生成的写操作日志,即多个分布式集群共用这一个消息队列,每一分布式集群对应一种主题类型,写入同一个分布式集群生成的写操作日志均属于相同的主题类型,根据主题类型,每一分布式集群只将自身写数据时产生的写操作日志插入消息队列,即将自身产生的写操作日志设置为自身对应主题类型,每一分布式集群只从消息队列中取出非自身写数据时产生的写操作日志,即从消息队列中取出与自身对应主题类型不同的写操作日志。在本实施例中,消息队列中可能存在多个分布式集群插入的写操作日志,可以根据需要设置每一分布式集群从消息队列中取出的写操作日志所属的主题类型的种类,例如,多活系统包括3个分布式集群:集群1~集群3,分别对应主题类型A~C,集群2可以从消息队列中取出类型A和类型C中其中任一类型的写操作日志,也可以同时取出类型A和类型C的写操作日志,具体可以根据需要进行设置。
在本实施例中,消息队列可以通过在多活系统上部署Kafka或者Pulsar消息管理组件的方式实现,Kafka是一种高吞吐量的分布式发布订阅消息系统,提供消息的持久化,对于TB量级的消息存储也能够保持长时间的稳定性能。Pulsar是分布式消息流平台,集消息、存储、轻量化函数式计算为一体,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐以及低延时的高可扩展流数据存储特性。利用Kafka或者Pulsar消息队列高吞吐量的能力,能够进一步降低延时,实现了数据的高效同步。消息队列可以部署在专门的分布式系统中,也可以部署在多活系统中的任一分布式集群中。
在本实施例中,第一分布式集群写入的第一待写数据可以同时同步至多个第二分布式集群中,即多活系统中任一集群都可以读写数据并将数据同步至多活系统中除该集群之外的其它集群,因此,实现了多活系统中的分布式集群的多活、多中心的能力。
为了保证分布式集群的可靠性,避免分布式集群出现单点故障SPOF(singlepoint of failure,SPOF),分布式集群中的节点可以是多个,多个节点实现双机集群系统,也称为HA(Highly Available,HA)。因此,第一节点和第二节点均可以是多个。
需要说明的是,虽然图1中只示出了双活系统包括两个分布式集群,实际上,双活集群可以包括两个以上的分布式集群,第一分布式集群和第二分布式集群均可以是多活系统中任意一个或者多个分布式集群,每一第一分布式集群中第一节点10的处理过程是一样的,每一第二分布式集群中第二节点20的处理过程也是一样的。
图1中的第一节点10和第二节点20均可以是主机、服务器等实体的计算机设备,也可以实现与实体的计算机设备的功能的虚拟机。
客户端30可以是专门的硬件设备,也可以是分布式集群中节点上运行的程序,客户端30为应用程序提供访问分布式集群的入口,应用程序无需关心分布式集群中的节点,也无需和具体的节点直接交互,而是通过客户端30将待写数据发送至分布式集群,由分布式集群将其进行存储。
需要说明的是,当客户端30为客户端程序时,与第一分布式集群通信连接的客户端30和与第二分布式集群通信连接的客户端30可以运行在不同的设备上,也可以运行在同一台设备上。
为了实现本发明实施例中的数据同步方法,下面介绍多活系统的工作原理。
第一节点,用于获取写入第一待写数据时生成的第一写操作日志,其中,第一待写数据是基于客户端发送至第一分布式集群的写请求获取的。
在本实施例中,应用程序需要写第一待写数据时,向客户端30发送写请求,客户端30通过调用第一分布式集群提供的写数据接口将第一待写数据写入第一分布式集群,同时,生成第一写操作日志,用于记录第一待写数据的写入操作,以便于在第一分布式集群发生异常导致第一待写数据写入失败时,根据第一写操作日志重新正确地写入第一待写数据。
需要说明的是,客户端30在向第一分布式集群写数据时,同一个时刻不能向不同的分布式集群请求在相同位置写入数据,例如,同一个时刻不能向不同的分布式集群请求对同一个表中的同一个字段写数据,这样可能造成数据不一致的问题。
第一节点还用于,将第一写操作日志作为第一主题类型插入至消息队列。
在本实施例中,每一分布式集群对应一个主题类型,待写数据写入每一分布式集群时,均会生成写操作日志,该写操作日志的类型与该分布式集群对应的主题类型一致,主题类型用于区分来自不同分布式集群的写操作日志。第一分布式集群对应第一主题类型,待写数据写入第一分布式集群时生成的写操作日志为第一写操作日志。
在本实施例中,可以在第一节点上运行专门的线程检测生成的第一写操作日志,然后将第一写操作日志插入消息队列。作为一种实施方式,可以批量插入生成的第一写操作日志,即当生成的第一写操作日志达到预设条数时,将其一次性地插入至消息队列,也可以周期性地检测,将检测到的第一写操作日志插入至消息队列中。
第二节点用于,依据第一主题类型从消息队列中取出第一写操作日志、并根据第一写操作日志将第一待写数据同步至第二分布式集群。
在本实施例中,第二分布式集群与第一分布式集群一样,也提供一个用于访问第二分布式集群的客户端30,通过用于访问第二分布式集群的客户端30,根据第一写操作日志将第一待写数据同步至第二分布式集群,即写入至第二分布式集群。作为一种具体实施方式,第二节点通过第二分布式集群的客户端30调用第二分布式集群提供的写数据接口将将第一待写数据写入至第二分布式集群。
在本实施例中,为了提高第一写操作日志的处理效率,可以批量获取第一写操作日志,批量将其插入至消息队列,此时,第一节点包括日志文件,第一写操作日志为多个,每一第一写操作日志为写入对应的第一待写数据时生成、且预先存储至日志文件中,即每次写入第一待写数据时,都会生成与之对应的第一写操作日志,并将第一写操作日志写入日志文件,日志文件中可以包括多条第一写操作日志,第一节点还用于:
首先,获取最近一次读取日志文件的读取位置。
在本实施例中,对于自带写操作日志功能的分布式集群,为了不影响其原有的写操作日志功能,本实施例提供的方法只读取日志文件中的第一写操作日志,而不会修改或者删除其中的任何内容,为了每次能从中读取所需的第一写操作日志,每次从日志文件中读取第一写操作日志时,可以记录此时的读取位置,以便下一次读取时从该读取位置继续读取。
其次,若日志文件中从读取位置起、至最近一次写入位置止之间的第一写操作日志的条数大于预设值,则从读取位置起、读取预设条数的第一写操作日志。
在本实施例中,预设值可以根据实际应用场景的需要进行设置,即在最近一次读取日志文件的读取时间开始至当前时间期间,日志文件中新增的第一写操作日志累积条数超出预设值时,才从日志文件中批量读取第一写操作日志。预设条数用于表征一次性批量读取的第一写操作日志的条数,为了控制读日志文件对第一分布式集群的性能的影响,也可以对预设条数进行设置,例如,根据第一分布式集群写业务压力进行设置,在第一分布式集群写业务压力大时,将预设条数设置小一些,第一分布式集群写业务压力小时,将预设条数设置大一些,也可以根据第一分布式集群的日志文件中第一写操作日志增加的速度,当增加速度较快时,将预设条数设置大一些,当增加速度较慢时,将预设条数设置小一些。
由于对于日志文件的读取是顺序进行的,而顺序读的性能更高,最终可以进一步提高数据同步的效率。
在本实施例中,第二分布式集群也可以为待同步数据的源集群,第一分布式集群为待同步需要同步至的目标集群,此时,第二分布式集群对应第二主题类型,消息队列包括第二节点插入的第二主题类型的第二写操作日志,第二写操作日志是第二节点写入第二待写数据时生成的,第二节点也可以批量获取第二写操作日志并将其插入至消息队列,其获取方式与上述第一节点批量获取第一写操作日志类似,此处不再赘述。第一节点为了将第二待写数据同步至第一分布式集群,第一节点还用于:
首先,从消息队列中取出第二主题类型的第二写操作日志。
其次,根据第二写操作日志将第二待写数据同步至第一分布式集群。
在本实施例中,第一节点从消息队列中取出第二主题类型的第二写操作日志,并根据第二写操作日志将第二待写数据同步至第一分布式集群的方式与第二节点从消息队列中取出第一主题类型的第一写操作日志,并根据第一写操作日志将第一待写数据同步至第二分布式集群的方式类似,此处不再赘述。
在本实施例中,如果第二待写数据同步至第一分布式集群时,第一分布式集群将其作为新的待写数据而产生对应的第一写操作日志,第一写操作日志继续插入消息队列,第二节点从消息队列中取出该第一写操作日志,再次将对应的数据(此时的数据即为之前写入第二分布式集群的第二待写数据)写入至第二分布式集群,此时,就出现了数据回环,为了避免出现数据回环,第一节点根据第二写操作日志将第二待写数据同步至第一分布式集群之前,还用于:关闭第一分布式集群的预写日志功能,以便在将第二待写数据同步至第一分布式集群时不产生写操作日志。
在本实施例中,为了便于实现,本发明实施例利用第一分布式集群设置的预写日志功能,在将第二待写数据同步至第一分布式集群时,先将预写日志功能关闭,保证同步第二待写数据时不会产出对应的第一写操作日志,由此,在正常向第一分布式集群写入数据时,打开预写日志功能,以保证正常写入数据时产生对应的第一写操作日志,在同步第二待写数据至第一分布式集群时关闭第一分布式集群预写日志功能,保证不会出现数据回环。通过此方式,可以充分利用第一分布式集群提供的功能,以避免重复开发类似功能导致的开发工作量增加。
可以理解的是,与第一分布式集群类似,第二分布式集群在根据第一写操作日志将第一待写数据同步至第二分布式集群时,也可以预先将第二分布式集群的预写日志功能关闭,以便在将第一待写数据同步至第二分布式集群时不产生写操作日志,避免数据回环。
基于图1描述的多活系统,本发明实施例还提供了电子设备40的方框示意图,电子设备40可以是图1中的第一节点10,也可以是图1中的第二节点20,请参照图2,图2示出了本发明实施例提供的电子设备40的方框示意图,电子设备40包括处理器41、存储器42和总线43,处理器41、存储器42及通过总线43连接。
处理器41可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,应用于第一节点10的数据同步方法或者应用于第二节点的数据同步方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器DSP(Digital Signal Processing,DSP)、专用集成电路ASIC(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列FPGA(Field Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器42用于存储程序,例如本实施例中的应用于第一节点的第一数据同步装置或者应用于第二节点的第二数据同步装置。第一数据同步装置和第二数据同步装置均包括至少一个可以软件或固件(firmware)的形式存储于存储器42中或固化在电子设备40的操作系统OS(operating system,OS)中的软件功能模块。处理器41在接收到执行指令后,执行所述程序以实现下述实施例揭示的应用于第一节点的第一数据同步方法或者应用于第二节点的第二数据同步方法。
基于图1描述的多活系统,本发明实施例还提供了一种数据同步方法,该数据同步方法应用于多活系统中第一分布式集群的第一节点,请参照图3,图3为本发明实施例提供的应用于第一节点的数据同步方法的流程示例图一,该方法包括:
步骤S100,获取写入第一待写数据时生成的第一写操作日志,其中,第一待写数据是基于客户端发送至第一分布式集群的写请求获取的。
步骤S101,将第一写操作日志作为第一主题类型插入至消息队列,以使第二节点依据第一主题类型从消息队列中取出第一写操作日志、并根据第一写操作日志将第一待写数据同步至第二分布式集群。
基于图3,本发明实施例还提供了一种获取第一写操作日志的具体实现方式,请参照图4,图4为本发明实施例提供的应用于第一节点的数据同步方法的流程示例图二,步骤S100包括以下子步骤:
子步骤S1001,获取最近一次读取日志文件的读取位置。
子步骤S1002,若日志文件中从读取位置起、至最近一次写入位置止之间的第一写操作日志的条数大于预设值,则从读取位置起、读取预设条数的第一写操作日志。
在本实施例中,第一节点包括日志文件,第一写操作日志为多个,每一第一写操作日志为写入对应的第一待写数据时生成、且预先存储至日志文件中,具体处理过程在上述介绍多活系统的工作原理时已有描述,此处不再赘述。
基于图1描述的多活系统,本发明实施例还提供了第一分布式集群为目标集群时将第二待写数据写入至第一分布式集群的具体实现方式,请参照图5,图5为本发明实施例提供的应用于第一节点的数据同步方法的流程示例图三,该方法还包括以下步骤:
步骤S102,从消息队列中取出第二主题类型的第二写操作日志。
步骤S104,根据第二写操作日志将第二待写数据同步至第一分布式集群。
在本实施例中,为了避免出现数据回环,请继续参照图5,在将第二待写数据同步至第一分布式集群之前的步骤包括:
步骤S103,关闭第一分布式集群的预写日志功能,以便在将第二待写数据同步至第一分布式集群时不产生写操作日志。
基于图1描述的多活系统,本发明实施例还提供了一种数据同步方法,该数据同步方法应用于多活系统中第二分布式集群的第二节点,请参照图6,图6为本发明实施例提供的应用于第二节点的数据同步方法的流程示例图一,该方法包括:
步骤S200,从消息队列中取出第一主题类型的第一写操作日志,其中,第一写操作日志是第一节点获取并插入至消息队列的,第一写操作日志是第一节点写入第一待写数据时生成的,第一待写数据是基于客户端发送至第一分布式集群的写数据请求获取的。
步骤S201,根据第一写操作日志将第一待写数据同步至第二分布式集群。
本发明实施例还提供了一种应用于多活系统的第一节点10和第二节点20的交互图,请参照图7,图7为本发明实施例提供的第一节点10、第二节点20和消息队列的交互图。图7中,第一节点10除了执行步骤S100和步骤S101,还可以执行其他用于第一节点10的步骤,例如,步骤S100的子步骤S1001~S1002、步骤S102~S104,以实现对应的技术效果,此处不再赘述。
为了从整体上说明上述数据同步方法的处理过程,本发明实施例以3个HBase集群为例进行说明,请参照图8,图8为本发明实施例提供的数据同步方法对应的逻辑视图的示例,图8中,3个HBase集群分别为HBase集群1~HBase集群3,分别对应的主题类型为:主题1~主题3,每个集群包括3个节点,每个节点上运行有各自实现数据同步方法的进程,例如,HBase集群1包括节点1-1~节点1-3,其上运行的进程分别为进程1-1~进程1-3,每个节点上运行的进程负责从对应节点的日志文件中读取写操作日志,并将其插入至消息队列中,同时也负责从消息队列中取出非本节点对应的主题的写操作日志,根据该写操作日志将对应的待同步数据同步至本节点所属的分布式集群中,图8中还包括了用Kafka/Pulsar消息组件实现的消息队列,以便对写操作日志进行管理。
在图8中,以HBase集群1的待写数据同步至HBase集群2和HBase集群3为例,此时,HBase集群1为源集群,即HBase集群1为第一分布式集群,HBase集群2和HBase集群3为目标集群,即HBase集群2和HBase集群3均为第二分布式集群,以HBase集群1中的节点1-1为第一节点,以HBase集群2中的节点2-1和HBase集群3中的节点3-1为第二节点为例,说明具体处理过程,其处理过程为:节点1-1在写第一待写数据时生成对应的第一写操作日志,第一写操作日志为主题1类型,并将其存储至本地的日志文件中,进程1-1从日志文件中读取第一写操作日志并将其插入至消息队列中,进程2-1和进程3-1并发根据主题1类型从消息队列中取出第一写操作日志,并根据各自取出的第一写操作日志将对应的第一待写数据同步至各自所属的HBase集群2和HBase集群3,为了避免数据回环,进程2-1和进程3-1在写入对应的第一待写数据之前是关闭了HBase集群2和HBase集群3的预写日志功能的。当HBase集群1中的其他节点作为第一节点,HBase集群2中的节点和HBase集群3中的节点作为第二节点的情况与之类似,此处不再赘述。另外,当HBase集群1中的节点作为第二节点,HBase集群2和/或HBase集群3中的节点作为第一节点,其处理过程可以根据上述实施例的描述推导得到,此处不再赘述。
需要说明的是,为了避免HBase集群中的节点出现单点故障,可以通过HBase集群1~ HBase集群3中各自运行的zookeeper组件,实现各自集群中节点的HA,以便在集群中的一个节点出现故障时,该集群中的其余节点可以接管故障节点的业务,实现该集群的高可靠性,zookeeper组件是一个分布式的,开放源码的分布式应用程序协调服务,其提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
还需要说明的是,为了实现写操作日志的并发处理,可以将同一个HBase集群的主题划分为多个分区,该HBase集群中的每一个节点对应一个分区,由此,实现多个节点并发处理消息队列中的写操作日志。
还需要说明的是,在客户端30向对应的HBase集群写待写数据时,需要做好权限管理,客户端30在一个时刻只能向一个HBase集群特定的命名空间或者固定的表写数据,如果同一时刻针对同一个表的同一个字段向两个HBase集群写数据,此时可能会造成数据不一致。
为了更清楚地展示图8中数据同步方法的处理过程中各设备、模块之间的交互,本发明实施例还提供了各设备、模块之间的交互图,请参照图9,图9为本发明实施例提供的数据同步方法对应的交互图的示例,其交互过程如下:
S1:HBase客户端向HBase集群1写第一待写数据。
S2:HBase集群1写入第一待写数据,并生成对应的第一写操作日志后,将第一写操作日志写入日志文件。
S3:进程1-1从日志文件中读取第一写操作日志。
S4:进程1-1将读取的第一写操作日志发送至Kafka组件,通过Kafka组件将其插入至消息队列。
S5:进程2-1/3-1根据主题1消费消息队列中的第一写操作日志(即从消息队列中获取第一写操作日志)。
S6:进程2-1/3-1各自调用HBase集群2/3提供的写数据接口将第一待写数据写入至HBase集群2/3。
需要说明的是,进程2-1/3-1在消费消息队列中的第一写操作日志时,会按照第一写操作日志写入日志文件中的时间的先后顺序写对应的第一待写数据,由此保证第一待写数据写入至HBase集群2/3的写入顺序与写入至HBase集群1的写入顺序相同。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于第一节点的第一数据同步装置100的实现方式。请参照图10,图10示出了本发明实施例提供的第一数据同步装置100的方框示意图。需要说明的是,本实施例所提供的第一数据同步装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
第一数据同步装置100包括获取模块110、插入模块120和第一同步模块130。
获取模块110,用于获取写入第一待写数据时生成的第一写操作日志,其中,第一待写数据是基于客户端发送至第一分布式集群的写请求获取的。
进一步地,第一节点包括日志文件,所第一写操作日志为多个,每一第一写操作日志为写入对应的第一待写数据时生成、且预先存储至日志文件中,获取模块110具体用于:获取最近一次读取日志文件的读取位置;若日志文件中从读取位置起、至最近一次写入位置止之间的第一写操作日志的条数大于预设值,则从读取位置起、读取预设条数的第一写操作日志。
插入模块120,用于将第一写操作日志作为第一主题类型插入至消息队列,以使第二节点依据第一主题类型从消息队列中取出第一写操作日志、并根据第一写操作日志将第一待写数据同步至第二分布式集群。
进一步地,第二分布式集群对应第二主题类型,消息队列包括第二节点插入的第二主题类型的第二写操作日志,第二写操作日志是第二节点写入第二待写数据时生成的,第一同步模块130用于:从消息队列中取出第二主题类型的第二写操作日志;根据第二写操作日志将第二待写数据同步至第一分布式集群。
进一步地,第一分布式集群设置有预写日志功能,第一同步模块130在用于根据第二写操作日志将第二待写数据同步至所述第一分布式集群之前还用于:关闭第一分布式集群的预写日志功能,以便在将第二待写数据同步至第一分布式集群时不产生写操作日志。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于第二节点的第二数据同步装置200的实现方式。请参照图11,图11示出了本发明实施例提供的第二数据同步装置200的方框示意图。需要说明的是,本实施例所提供的第二数据同步装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
第二数据同步装置200包括第二同步模块210。
第二同步模块210用于:从消息队列中取出第一主题类型的第一写操作日志,其中,第一写操作日志是第一节点获取并插入至消息队列的,第一写操作日志是一节点写入第一待写数据时生成的,所第一待写数据是基于客户端发送至第一分布式集群的写数据请求获取的;根据第一写操作日志将第一待写数据同步至第二分布式集群。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的应用于第一节点的数据同步方法或者应用于第二节点的数据同步方法。
综上所述,本发明实施例提供了一种数据同步方法、装置、多活系统、电子设备及存储介质,应用于多活系统中多个分布式集群中第一分布式集群的第一节点,多个分布式集群还包括除第一分布式集群之外的第二分布式集群,第二分布式集群包括第二节点,多活系统还包括一个消息队列,第一分布式集群与客户端通信连接,第一分布式集群对应第一主题类型,方法包括:获取写入第一待写数据时生成的第一写操作日志,其中,第一待写数据是基于客户端发送至第一分布式集群的写请求获取的;将第一写操作日志作为第一主题类型插入至消息队列,以使第二节点依据第一主题类型从消息队列中取出第一写操作日志、并根据第一写操作日志将第一待写数据同步至第二分布式集群。与现有技术相比,本发明实施例向第一分布式集群写第一待写数据和向第二分布式集群写第一待写数据基于消息队列实现了数据同步的异步写入,因而避免了在将第一分布式集群中的数据同步至第二分布式集群时对第一分布式集群的性能产生影响,保证了第一分布式集群的性能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据同步方法,其特征在于,应用于多活系统中多个分布式集群中第一分布式集群的第一节点,所述多个分布式集群还包括除所述第一分布式集群之外的第二分布式集群,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的,所述方法包括:
获取写入第一待写数据时生成的第一写操作日志,其中,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写请求获取的;
将所述第一写操作日志作为所述第一主题类型插入至所述消息队列,以使所述第二节点依据所述第一主题类型从所述消息队列中取出所述第一写操作日志、并根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群;
所述方法还包括:
从所述消息队列中取出所述第二主题类型的第二写操作日志;
根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群。
2.如权利要求1所述的数据同步方法,其特征在于,所述第一节点包括日志文件,所述第一写操作日志为多个,每一所述第一写操作日志为写入对应的第一待写数据时生成、且预先存储至所述日志文件中,所述获取写入第一待写数据时生成的第一写操作日志的步骤包括:
获取最近一次读取所述日志文件的读取位置;
若所述日志文件中从所述读取位置起、至最近一次写入位置止之间的第一写操作日志的条数大于预设值,则从所述读取位置起、读取预设条数的第一写操作日志。
3.如权利要求1所述的数据同步方法,其特征在于,所述第一分布式集群设置有预写日志功能,所述根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群步骤之前还包括:
关闭所述第一分布式集群的预写日志功能,以便在将所述第二待写数据同步至所述第一分布式集群时不产生写操作日志。
4.一种数据同步方法,其特征在于,应用于多活系统中多个分布式集群中第二分布式集群的第二节点,所述多个分布式集群还包括除所述第二分布式集群之外的第一分布式集群,所述第一分布式集群包括第一节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的,以使所述第一节点进行如下处理:从所述消息队列中取出所述第二主题类型的第二写操作日志;根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群;
所述方法包括:
从所述消息队列中取出第一主题类型的第一写操作日志,其中,所述第一写操作日志是所述第一节点获取并插入至所述消息队列的,所述第一写操作日志是所述第一节点写入第一待写数据时生成的,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写数据请求获取的;
根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
5.一种数据同步方法,其特征在于,应用于多活系统,所述多活系统包括第一分布式集群和第二分布式集群,所述第一分布式集群包括第一节点,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一节点执行权利要求1-3任一项所述的数据同步方法,所述第二节点执行权利要求4所述的数据同步方法。
6.一种数据同步装置,其特征在于,应用于多活系统中多个分布式集群中第一分布式集群的第一节点,所述多个分布式集群还包括除所述第一分布式集群之外的第二分布式集群,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的,所述装置包括:
获取模块,用于获取写入第一待写数据时生成的第一写操作日志,其中,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写请求获取的;
插入模块,用于将所述第一写操作日志作为所述第一主题类型插入至所述消息队列,以使所述第二节点依据所述第一主题类型从所述消息队列中取出所述第一写操作日志、并根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群;
第一同步模块用于:从所述消息队列中取出所述第二主题类型的第二写操作日志;根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群。
7.一种数据同步装置,其特征在于,应用于多活系统中多个分布式集群中第二分布式集群的第二节点,所述多个分布式集群还包括除所述第二分布式集群之外的第一分布式集群,所述第一分布式集群包括第一节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的,以使所述第一节点进行如下处理:从所述消息队列中取出所述第二主题类型的第二写操作日志;根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群;
所述装置包括:
第二同步模块,用于从所述消息队列中取出第一主题类型的第一写操作日志,其中,所述第一写操作日志是所述第一节点获取并插入至所述消息队列的,所述第一写操作日志是所述第一节点写入第一待写数据时生成的,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写数据请求获取的;
所述第二同步模块,还用于根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群。
8.一种多活系统,其特征在于,所述多活系统包括第一分布式集群和第二分布式集群,所述第一分布式集群包括第一节点,所述第二分布式集群包括第二节点,所述多活系统还包括一个消息队列,所述第一分布式集群与客户端通信连接,所述第一分布式集群对应第一主题类型,所述第二分布式集群对应第二主题类型,所述消息队列包括所述第二节点插入的第二主题类型的第二写操作日志,所述第二写操作日志是所述第二节点写入第二待写数据时生成的;
所述第一节点,用于获取写入第一待写数据时生成的第一写操作日志,其中,所述第一待写数据是基于所述客户端发送至所述第一分布式集群的写请求获取的;
所述第一节点还用于,将所述第一写操作日志作为所述第一主题类型插入至所述消息队列;
所述第二节点用于,依据所述第一主题类型从所述消息队列中取出所述第一写操作日志、并根据所述第一写操作日志将所述第一待写数据同步至所述第二分布式集群;
所述第一节点还用于:从所述消息队列中取出所述第二主题类型的第二写操作日志;根据所述第二写操作日志将所述第二待写数据同步至所述第一分布式集群。
9.一种电子设备,其特征在于,包括处理器和存储器;所述存储器用于存储程序;所述处理器用于在执行所述程序时,实现如权利要求1-3中任一项所述的数据同步方法,或者实现如权利要求4所述的数据同步方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-3中任一项所述的数据同步方法,或者实现如权利要求4所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210511837.7A CN114610817B (zh) | 2022-05-12 | 2022-05-12 | 数据同步方法、装置、多活系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210511837.7A CN114610817B (zh) | 2022-05-12 | 2022-05-12 | 数据同步方法、装置、多活系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114610817A CN114610817A (zh) | 2022-06-10 |
CN114610817B true CN114610817B (zh) | 2022-09-27 |
Family
ID=81870704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210511837.7A Active CN114610817B (zh) | 2022-05-12 | 2022-05-12 | 数据同步方法、装置、多活系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610817B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277610B (zh) * | 2022-07-25 | 2024-06-04 | 平安科技(深圳)有限公司 | 基于双活环境的消息分流发送方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149382A (zh) * | 2019-05-08 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 数据同步的方法、系统、主服务器、同步客户端及介质 |
CN110807013A (zh) * | 2018-08-03 | 2020-02-18 | 阿里巴巴集团控股有限公司 | 用于分布式数据存储集群的数据迁移方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11005933B2 (en) * | 2016-03-17 | 2021-05-11 | International Business Machines Corporation | Providing queueing in a log streaming messaging system |
CN111767296A (zh) * | 2020-06-30 | 2020-10-13 | 北京百度网讯科技有限公司 | 用于同步数据的方法、装置、电子设备及可读存储介质 |
CN112416884A (zh) * | 2020-11-23 | 2021-02-26 | 中国移动通信集团江苏有限公司 | 一种数据同步方法及系统 |
-
2022
- 2022-05-12 CN CN202210511837.7A patent/CN114610817B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807013A (zh) * | 2018-08-03 | 2020-02-18 | 阿里巴巴集团控股有限公司 | 用于分布式数据存储集群的数据迁移方法和装置 |
CN110149382A (zh) * | 2019-05-08 | 2019-08-20 | 拉扎斯网络科技(上海)有限公司 | 数据同步的方法、系统、主服务器、同步客户端及介质 |
Non-Patent Citations (3)
Title |
---|
The research and realization of multi-platform real-time message-oriented middleware in large-scale air traffic control system;You,Z et al.;《MATERIALS SCIENCE, ENERGY TECHNOLOGY, AND POWER ENGINEERING I》;20171222;全文 * |
一种使用Node.js构建的分布式数据流日志服务系统;张煜;《计算机系统应用》;20130215(第02期);第68-71页 * |
高速公路收费及管理系统中分布式消息系统的应用;方瑜庆;《中国交通信息化》;20160115(第01期);第98-106页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114610817A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102402395B (zh) | 基于仲裁磁盘的高可用系统不间断运行方法 | |
US8301600B1 (en) | Failover recovery in a distributed data store | |
CN103199972B (zh) | 基于soa、rs485总线实现的双机热备份切换方法及热备份系统 | |
CN112286905A (zh) | 数据迁移方法及装置、存储介质、电子设备 | |
US20070294578A1 (en) | Method and apparatus for facilitating process migration | |
CN103458036A (zh) | 一种集群文件系统的访问装置和方法 | |
Oriani et al. | From backup to hot standby: High availability for hdfs | |
CN114610817B (zh) | 数据同步方法、装置、多活系统、电子设备及存储介质 | |
CN113204353B (zh) | 一种大数据平台组件部署方法及装置 | |
CN111541599B (zh) | 基于数据总线的集群软件系统及方法 | |
CN111552701A (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
US11579940B2 (en) | Techniques and architectures for managing global installations and configurations | |
EP2975517B1 (fr) | Procédé et dispositif d'exécution synchronisée d'une application dans un environnement à haute disponibilité | |
CN115292408A (zh) | MySQL数据库的主从同步方法、装置、设备及介质 | |
US7484125B2 (en) | Method and apparatus for providing updated processor polling information | |
CN114189429A (zh) | 一种服务器集群故障的监测系统、方法、装置及介质 | |
CN111966644A (zh) | 超级计算机数据存储方法、装置、系统及存储介质 | |
CN111597157A (zh) | 一种改进日志处理系统架构的方法 | |
CN115221116A (zh) | 一种数据写入方法、装置、设备及可读存储介质 | |
CN111737348B (zh) | 基于数据库表的时效同步方法及装置 | |
CN112799835A (zh) | 一种分布式数据库系统元数据的处理方法及系统 | |
CN111752907A (zh) | 一种集群日志集中管控方法、系统、终端及存储介质 | |
CN107168815A (zh) | 一种收集硬件错误信息的方法 | |
CN112486868B (zh) | 基于cpld存储双控同步系统、方法、设备及存储介质 | |
CN110262993B (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 |