CN111324668B - 数据库数据同步处理方法、装置及存储介质 - Google Patents

数据库数据同步处理方法、装置及存储介质 Download PDF

Info

Publication number
CN111324668B
CN111324668B CN202010100191.4A CN202010100191A CN111324668B CN 111324668 B CN111324668 B CN 111324668B CN 202010100191 A CN202010100191 A CN 202010100191A CN 111324668 B CN111324668 B CN 111324668B
Authority
CN
China
Prior art keywords
database
databases
target
processing
target data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010100191.4A
Other languages
English (en)
Other versions
CN111324668A (zh
Inventor
于晓虹
裴宏祥
张加伟
李学政
周文卿
谷永平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202010100191.4A priority Critical patent/CN111324668B/zh
Publication of CN111324668A publication Critical patent/CN111324668A/zh
Application granted granted Critical
Publication of CN111324668B publication Critical patent/CN111324668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明实施例提供了一种数据库数据同步处理方法、装置及存储介质,该方法从修复消息队列中读取至少两个数据库的目标操作的同步异常消息,目标操作为对目标数据所做的增、或者删、或者改的操作;该同步异常消息用于指示至少两个数据库基于目标操作,对目标数据处理所得到的处理结果不同;根据同步异常消息,控制第一数据库重新执行目标操作,第一数据库为至少两个数据库中对目标数据处理结果出错的数据库。该方法在多个数据库中的数据不同步的情况下,对处理结果为操作失败的数据库进行修复,克服了由于现有的数据同步机制出现异常,导致多个数据库中的数据不同步的问题。

Description

数据库数据同步处理方法、装置及存储介质
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据库数据同步处理方法、装置及存储介质。
背景技术
目前,随着数据库技术的发展,数据库被广泛应用于各行各业,采用多数据库存储数据已经是业内流行的一种数据库架构。多数据库可以按照数据特性对数据进行分类,将同一份数据保存到多数据库中的至少两个数据库中。
示例性的,图1是一种多数据库操作的***架构示意图,如图1所示,包括服务器和至少两个数据库(数据库S1、数据库S2、……、数据库Sn),服务器和至少两个数据库连接。在该***中,服务器是多数据库操作的***的管理节点,服务器可以按照数据特性对数据进行分类,将同一份数据保存到该多数据库操作的***中的多个数据库中。例如,服务器可以接收终端或者业务服务器的操作请求,然后根据数据所属的业务将数据存储到该多数据库操作的***的多个数据库中(例如数据库S1和数据库S2)。
在上述示例中,为了保持数据库S1和数据库S2中所保存的数据同步,通常做法是先通过增、或者删、或者改等操作,将该操作对应的数据结果保存到多个数据库中的其中一个(例如数据库S1)。在此基础上,再将该数据库中通过操作得到的数据结果基于现有的数据同步机制同步到多个数据库的其他数据库中(例如数据库S2)。
但是在上述方法中,如果现有的数据同步机制出现异常,通过该操作得到的数据结果并没有从一个数据库同步到多个数据库中的其他数据库中,会造成多个数据库中的数据无法保持同步。
发明内容
本发明实施例提供一种数据库数据同步处理方法、装置及存储介质,以克服现有的数据同步机制出现异常时,多个数据库中的数据无法同步的问题。
第一方面,本发明实施例提供一种数据库数据同步处理方法,所述方法包括:
从修复消息队列中读取至少两个数据库的目标操作的同步异常消息,所述目标操作为至少两个数据库对目标数据所做的增、或者删、或者改的操作;所述同步异常消息用于指示所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同;
根据所述同步异常消息,控制第一数据库重新执行所述目标操作,所述第一数据库为所述至少两个数据库中对所述目标数据处理结果出错的数据库。
可选地,所述控制第一数据库重新执行所述目标操作之后,所述方法还包括:
若所述第一数据库重新执行所述目标操作后所得到的所述目标数据的处理结果与所述至少两个数据库中其他数据库的处理结果不同,则在数据运维表中添加所述目标操作的同步异常消息。
可选地,所述从修复消息队列中读取至少两个数据库的目标操作的同步异常消息之前,还包括:
获取所述目标操作的同步异常消息。
可选地,所述获取所述目标操作的同步异常消息,包括:
接收操作请求,所述操作请求用于请求执行所述目标操作;
根据所述目标数据所属的业务对应的数据库配置信息,确定待执行所述目标操作的至少两个数据库;
控制所述至少两个数据库执行所述目标操作;
获取所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果;
若所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同,则生成所述目标操作的同步异常消息。
可选地,所述数据库配置信息包括:第一线程池信息,所述控制所述至少两个数据库执行所述目标操作,包括:
根据所述目标数据所属的业务对应的第一线程池信息,分配与每个数据库对应的第一线程;
通过与每个数据库对应的第一线程,控制每个所述数据库执行所述目标操作。
可选地,所述获取所述目标操作的同步异常消息,包括:
获取第二数据库的操作日志;所述第二数据库为所述至少两个数据库中的任一个;所述操作日志包括所述目标数据的标识,以及,所述第二数据库基于所述目标操作对所述目标数据处理所得到的第一处理结果;
根据所述目标数据的标识,获取与所述至少两个数据库中其他数据库对所述目标数据的处理结果;
若所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同,则生成所述目标操作的同步异常消息。
可选地,所述生成所述目标操作的同步异常消息之前,还包括:
访问所述第二数据库,获取所述第二数据库对所述目标数据的第二处理结果;
所述生成所述目标操作的同步异常消息,包括:
若所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同、且所述第一处理结果与所述第二处理结果相同,则生成所述目标操作的同步异常消息。
可选地,所述同步异常消息包括:所述目标数据的标识,所述根据所述同步异常消息,控制第一数据库重新执行所述目标操作,包括:
根据所述目标数据的标识,获取至少两个数据库对所述目标数据的处理结果;
根据所述至少两个数据库对所述目标数据的处理结果,确定所述第一数据库;
控制第一数据库重新执行所述目标操作。
可选地,所述控制第一数据库重新执行所述目标操作,包括:
通过第二线程池中的第二线程,控制第一数据库重新执行所述目标操作。
可选地,所述方法还包括:
监测所述修复消息队列中同步异常消息的数量;
根据同步异常消息的数量,调整所述第二线程池的大小。
第二方面,本发明实施例还提供一种数据库数据同步处理装置,所述装置包括:
处理模块,用于从修复消息队列中读取至少两个数据库的目标操作的同步异常消息;根据所述同步异常消息,控制第一数据库重新执行所述目标操作;所述目标操作为至少两个数据库对目标数据所做的增、或者删、或者改的操作;所述同步异常消息用于指示所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同;所述第一数据库为所述至少两个数据库中对所述目标数据处理结果出错的数据库。
可选地,所述处理模块,还用于在所述控制第一数据库重新执行所述目标操作之后,当所述第一数据库重新执行所述目标操作后所得到的所述目标数据的处理结果与所述至少两个数据库中其他数据库的处理结果不同时,在数据运维表中添加所述目标操作的同步异常消息。
可选地,所述处理模块,还用于从修复消息队列中读取至少两个数据库的目标操作的同步异常消息之前,获取所述目标操作的同步异常消息。
可选地,所述装置还包括:第一输入/输出I/O模块;
所述处理模块,具体用于通过所述出第一I/O模块接收操作请求,根据所述目标数据所属的业务对应的数据库配置信息,确定待执行所述目标操作的至少两个数据库,控制所述至少两个数据库执行所述目标操作;获取所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果;当所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同时,生成所述目标操作的同步异常消息,所述操作请求用于请求执行所述目标操作。
可选地,所述数据库配置信息包括:第一线程池信息;
所述处理模块,具体用于根据所述目标数据所属的业务对应的第一线程池信息,分配与每个数据库对应的第一线程;通过与每个数据库对应的第一线程,控制每个所述数据库执行所述目标操作。
可选地,所述装置还包括:第二输入/输出I/O模块;
所述处理模块,具体用于通过第二I/O模块获取第二数据库的操作日志;根据所述目标数据的标识,获取与所述至少两个数据库中其他数据库对所述目标数据的处理结果;当所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同时,生成所述目标操作的同步异常消息;所述第二数据库为所述至少两个数据库中的任一个;所述操作日志包括所述目标数据的标识,以及,所述第二数据库基于所述目标操作对所述目标数据处理所得到的第一处理结果。
可选地,所述第二I/O模块,还用于在所述处理模块生成所述目标操作的同步异常消息之前,访问所述第二数据库,获取所述第二数据库对所述目标数据的第二处理结果;
所述处理模块,具体用于当所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同、且所述第一处理结果与所述第二处理结果相同时,生成所述目标操作的同步异常消息。
可选地,所述同步异常消息包括:所述目标数据的标识;
所述处理模块,具体用于根据所述目标数据的标识,获取至少两个数据库对所述目标数据的处理结果;根据所述至少两个数据库对所述目标数据的处理结果,确定所述第一数据库;控制第一数据库重新执行所述目标操作。
可选地,所述处理模块,具体用于通过第二线程池中的第二线程,控制第一数据库重新执行所述目标操作。
可选地,所述处理模块,还用于监测所述修复消息队列中同步异常消息的数量;根据同步异常消息的数量,调整所述第二线程池的大小。
第三方面,本发明实施例还提供一种数据库数据同步处理装置,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述装置执行第一方面任一项所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。
本发明实施例提供的数据库数据同步处理方法、装置及存储介质,该方法通过从修复消息队列中获取包括多个数据库操作处理结果的同步异常消息,并基于这些处理结果判断多个数据库是否同步。在多个数据库的数据不同步的情况下,对处理结果为操作失败的数据库进行修复,克服了由于现有的数据同步机制出现异常,导致多个数据库中的数据不同步的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一种多数据库操作的***架构示意图;
图2是本发明实施例提供的一种数据库数据同步处理方法的流程示意图;
图3是本发明实施例提供的另一种数据库数据同步处理方法的流程示意图;
图4是本发明实施例提供的又一种数据库数据同步处理方法的流程示意图;
图5是本发明实施例提供的一种数据库数据同步处理方法的工作原理图;
图6是本发明实施例提供的一种数据库数据同步处理装置的结构示意图;
图7为本发明实施例提供的另一种数据库数据同步处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在图1所示的多数据库操作的***中,为了保持数据库S1和数据库S2中所保存的数据同步,通常做法是先通过增、或者删、或者改等操作,将该操作对应的数据结果保存到多个数据库中的其中一个(例如数据库S1)。在此基础上,再将该数据库中通过操作得到的数据结果基于现有的数据同步机制同步到多个数据库的其他数据库中(例如数据库S2)。
但是在上述方法中,如果现有的数据同步机制出现异常,通过该操作得到的数据结果并没有从一个数据库同步到多个数据库中的其他数据库中,会造成多个数据库中的数据无法保持同步。
为了克服上述方法中由于现有的数据同步机制出现异常,导致多个数据中的数据不同步的问题,本发明实施例基于多个数据库对某一数据的处理结果,对处理失败的数据库进行修复,以确保多个数据库的数据同步。
应理解,图1所示的多数据库操作的***仅仅是本发明实施例提供的数据库数据同步处理方法的一种应用场景,本发明实施例还可以应用在其他采用多个数据库存储相同数据的存储***中,本实施例不再赘述。
下面结合几个具体的实施例,对本发明提供的数据库数据同步处理方法的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或者相似的概念或者过程可能在某些实施例不再赘述。
图2是本发明实施例提供的一种数据库数据同步处理方法的流程示意图。本实施例的数据库数据同步处理方法,执行该方法的执行主体可以为数据库数据同步处理装置,还可以为集成了数据库数据同步处理装置的电子设备(例如服务器、终端等),本发明实施例以执行主体为服务器为例进行说明,该服务器例如可以为图1中的服务器。如图2所示,本发明该方法可以包括:
S101、从修复消息队列中读取至少两个数据库的目标操作的同步异常消息。
其中,至少两个数据库是指需要保存相同数据,且需要保持至少两个数据库中的数据同步的数据库,例如上述示例中的数据库S1和数据库S2。至少两个数据库的类型可以是oracle数据库、mysql数据库、redis数据库、hbase数据库、es数据库等中任一种,该至少两个数据库的类型可以相同,也可以不同,本实施例不做限制。
目标操作可以为该至少两个数据库对目标数据所做的增、或者删、或者改的操作,也可以为其他类型的对目标数据的操作,本发明实施例不做限制。
同步异常消息用于指示至少两个数据库基于目标操作,对目标数据处理所得到的处理结果不同。示例性的,若对至少两个数据库的目标操作为“增加目标数据X”,继续参照上述示例,该至少两个数据库目标数据处理所得到的处理结果不同例如可以如下述表1所示。
表1
修复消息队列中可以包括多个同步异常消息,服务器可以从修复消息队列中的多个同步异常消息中按照一定顺序读取至少一个同步异常消息进行进一步处理。该顺序例如可以是按照先入先出的原则进行处理,例如还可以是按照异常同步消息所对应的目标操作的优先级进行处理。
S102、根据同步异常消息,控制第一数据库重新执行目标操作,第一数据库为至少两个数据库中对目标数据处理结果出错的数据库。
示例性的,继续参照步骤S101中的示例,至少两个数据库中存在其中一个数据库成功新增了目标数据,存在另一个数据库未能成功新增目标数据,未能成功新增目标数据的数据库即为第一数据库。此时,服务器通过控制第一数据库重新执行“增加目标数据X”操作。
示例性的,服务器可以通过第二线程池中的第二线程,控制第一数据库重新执行目标操作。第二线程池为服务器对多个数据不同步的数据库进行修复所分配的线程池,服务器可以同时启用第二线程池中的多个线程,同时对修复消息队列中的多个同步异常消息对应的多个数据库进行修复,提高了修复的效率。在一些实施例中,服务器还可以监测修复消息队列中同步异常消息的数量,并根据同步异常消息的数量,调整第二线程池的大小,使得第二线程池的大小和同步异常消息的数量相匹配,进而使服务器能够及时根据修复消息队列中的同步异常消息对多个数据库中不同步的数据进行修复,提高修复效率。
可选地,步骤S102的一种可能的实现方式,同步异常消息包括至少两个数据库基于目标操作,对目标数据处理所得到的处理结果。则服务器可以将目标数据处理所得到的处理结果为处理失败的数据库确定为第一数据库,并控制第一数据库重新执行目标操作。
步骤S102的另一种可能的实现方式,同步异常消息包括目标数据的标识,服务器可以根据目标数据的标识,获取至少两个数据库对目标数据的处理结果;根据至少两个数据库对目标数据的处理结果,确定第一数据库;控制第一数据库重新执行目标操作。
可选地,在一些实施例中,在步骤S102之后,该方法还可以包括如下步骤:
判断第一数据库重新执行目标操作后所得到的目标数据的处理结果与至少两个数据库中其他数据库的处理结果是否相同。
若相同,说明至少两个数据库基于目标操作的目标数据的处理结果相同,即实现了多个数据库的数据同步。此时,可以从修复消息队列中删除该条同步异常消息,也可以将该同步异常消息标记为已处理。
若不同,说明至少两个数据库基于目标操作的目标数据的处理结果不同,没有实现多个数据库的数据同步。此时在数据运维表中添加目标操作的同步异常消息,以便于用户查看了数据运维表中的同步异常消息后,进行进一步处理。
本发明实施例提供的数据库数据同步处理方法,通过从修复消息队列中获取包括多个数据库操作处理结果的同步异常消息,并基于这些处理结果判断多个数据库是否同步。在多个数据库的数据不同步的情况下,对处理结果为操作失败的数据库进行修复,克服了由于现有的数据同步机制出现异常,导致多个数据库中的数据不同步的问题。
在上述步骤S101之前,可选地,在一些实施例中,还可以获取目标操作的同步异常消息。例如,可以包括如下两种实现方式:
第一种可能的实现方式:在对多个数据库执行的目标操作时,通过获取对多个数据库执行目标操作所对应的处理结果,获取目标操作的同步异常消息。
图3是本发明实施例提供的另一种数据库数据同步处理方法的流程示意图,如图3所示,该方法可以包括如下步骤:
S201、接收操作请求,操作请求用于请求执行目标操作。
示例性地,服务器可以接收业务服务器A1的操作请求,该操作请求所要执行的目标操作可以是对目标数据做增、或者删、或者改的操作。例如该操作请求为将目标数据Y通过“增”操作增加到对应的数据库中。
S202、根据目标数据所属的业务对应的数据库配置信息,确定待执行目标操作的至少两个数据库。
数据库配置信息用于指示与目标数据所属的业务、和待执行目标操作的至少两个数据库的映射关系,该数据库配置信息可以是预先存储在服务器中的。
示例性的,在接收目标数据Y的“增”操作的操作请求后,服务器可以根据目标数据Y所属的业务(例如业务标识)获取对应的数据库配置信息,该数据库配置信息用于指示将目标数据Y通过“增”操作增加到数据库S1和数据库S2中。
本领域技术人员可以理解,数据库配置信息通常还可以包括:目标数据的标识(例如数据库主键)、数据库的地址、写入超时时间、异常重试次数,是否批量提交等中至少一项,用于实现现有技术中的相关功能。
其中,目标数据的标识,用于标识目标数据。
数据库的地址,例如数据库的IP地址,服务器基于该数据库的地址可以与该数据库进行通信。
操作超时时间,用于指示执行目标操作的最大时长。
异常重试次数,用于指示对至少两个数据库执行目标操作均失败的最大执行次数。
是否批量提交,用于指示是否对多个数据的操作批量提交。
S203、控制至少两个数据库执行目标操作。
示例性的,继续参照上述示例,服务器可以向数据库S1和数据库S2分别发送指令,控制数据库S1将目标数据Y通过“增”操作增加到数据库S1中,以及,控制数据库S2将目标数据Y通过“增”操作增加到数据库S2中。
可选地,在一些实施例中,数据库配置信息还可以包括第一线程池信息,第一线程池信息用于分配每个数据库执行目标操作对应的第一线程,第一线程池信息例如可以包括线程池大小、线程超时时间等。具体地,可以根据目标数据所属的业务对应的第一线程池信息,分配与每个数据库对应的第一线程。通过与每个数据库对应的第一线程,控制每个数据库执行目标操作。该方法可以并行控制至少两个数据库执行目标操作,提高效率。可选地,当第一线程池信息发生变更时,还可以根据变更后的第一线程池信息更新第一线程池的大小和线程超时时间。
可选地,在一些实施例中,若服务器在达到线程超时时间时,仍未获取到数据库对目标数据处理所得到的处理结果时,则将该数据库隔离。对该数据库隔离后,服务器可以在预设隔离时间段内不再对该数据库进行操作,还可以在隔离时间段内释放对该数据库执行目标操作所占用的线程,提高了线程利用率。
S204、获取至少两个数据库基于目标操作,对目标数据处理所得到的处理结果。
示例性的,继续参照上述示例,服务器可以获取对数据库S1将目标数据Y通过“增”操作增加到数据库S1的处理结果,以及,可以获取对数据库S2将目标数据Y通过“增”操作增加到数据库S2的处理结果。该处理结果可以是处理成功或处理失败。
S205、判断至少两个数据库基于目标操作,对目标数据处理所得到的处理结果是否相同,若否,则执行步骤S206。若是,则执行步骤S207。
示例性的,继续参照上述示例,若否,则说明数据库S1和数据库S2中的数据没有同步,此时执行步骤S206。若是,则说明对数据库S1和数据库S2的目标操作或者都为处理成功,或者都为处理失败,此时执行步骤S207。
S206、生成目标操作的同步异常消息。
S207、判断获取的至少两个数据库的对目标数据处理所得到的处理结果是否都为处理成功,若都为处理成功,则说明数据库S1和数据库S2中的数据同步,且对数据库S1和数据库S2的目标操作都成功执行,此时本轮流程结束。
若都为处理失败,则说明对数据库S1和数据库S2的目标操作都未能成功执行,示例性的,此时可以返回执行步骤S203。
若数据库配置信息中包括异常重试次数(例如异常重试次数为3),示例性的,还可以使异常重试计数加一,并返回执行步骤S203。当异常重试计数累积到数据库配置信息中的异常重试次数3次时,此时可以在数据运维表中添加该处理失败的消息,以便于用户查看了数据运维表中目标操作失败的消息后,进行进一步处理。
本发明实施例提供的方法结合图2所示的实施例,服务器可以在控制至少两个数据库执行目标操作,对目标数据处理所得到的处理结果不同时,生成目标操作的同步异常消息并添加到修复消息队列中以待进一步处理。该方法相比于现有技术可以实时发现多个数据库的数据不同步的问题,并及时处理,实现多个数据库的数据实时同步。
第二种可能的实现方式:在对多个数据库执行目标操作之后,通过获取对多个数据库中任一个的操作日志,并基于该操作日志获取至少两个数据库对目标数据的处理结果,进而获取目标操作的同步异常消息。
图4是本发明实施例提供的又一种数据库数据同步处理方法的流程示意图,如图4所示,该方法可以包括如下步骤:
S301、获取第二数据库的操作日志。
第二数据库为至少两个数据库中的任一个;操作日志包括目标数据的标识,以及,第二数据库基于目标操作对目标数据处理所得到的第一处理结果。
示例性的,第二数据库为数据库S1和数据库S2中的任一个,例如第二数据库为数据库S1。获取的数据库S1的操作日志中某一记录为对目标数据的标识为Z的目标数据执行的“增”操作,并且第二数据库基于目标操作对目标数据处理所得到的第一处理结果为处理成功。
可选地,在一些实施例中,还可以在步骤S301之后,对第二数据库的操作日志进行格式转换。由于不同类型的数据库的操作日志的格式可能不同,因此,通过该步骤,可以使服务器获取的多个数据库的操作日志的格式保持一致,以便于服务器对多个数据库的操作日志进行下一步处理。
S302、根据目标数据的标识,获取与至少两个数据库中其他数据库对目标数据的处理结果。
示例性的,根据目标数据的标识Z,获取数据库S2中对目标数据的处理结果。
其中,服务器可以根据目标数据的标识Z,从预先存储在服务器中的数据库配置信息中获取与至少两个数据库中的其他数据库(数据库S2)。
S303、判断至少两个数据库中其他数据库对目标数据的处理结果,与,第二数据库对目标数据的第一处理结果是否相同,若是,本轮流程结束;若否,则执行步骤S304。
若至少两个数据库中其他数据库对目标数据的处理结果,与,第二数据库对目标数据的第一处理结果相同,说明至少两个数据库中对目标数据的处理结果同步,进而说明至少两个数据库的数据同步,此时本轮流程结束。若至少两个数据库中其他数据库对目标数据的处理结果,与,第二数据库对目标数据的第一处理结果不同,说明至少两个数据库中对目标数据的处理结果不一致,进而说明至少两个数据库的数据不同步,此时执行步骤S304。
S304、生成目标操作的同步异常消息。
可选地,在一些实施例中,在执行步骤S304之前,还可以访问第二数据库,获取第二数据库对目标数据的第二处理结果。此时,步骤S304具体可以包括如下步骤:
若至少两个数据库中其他数据库对目标数据的处理结果,与第二数据库对目标数据的第一处理结果不同、且第一处理结果与第二处理结果相同,则生成目标操作的同步异常消息。其中,第二处理结果是基于访问第二数据库中的目标数据得到的,第一处理结果是基于第二数据库的操作日志得到的,通过获取第二处理结果,可以进一步确认第二数据库和其他数据库中的目标数据是否同步,进而提高多个数据库同步的可靠性。
本发明实施例提供的方法结合图2所示的实施例,服务器可以根据各个数据库的操作日志,逐一检查多个数据库是否同步,该方法相比于现有技术可以提高多个数据库同步的可靠性。
为了更好地理解本发明的技术方案,下面通过一个示例对本发明提供的方法进行说明。
在该示例中,多数据库操作的***包括服务器和多个数据库(数据库1、数据库2、……、数据库n)。其中,该服务器可以包括业务双写模块、配置中心模块、数据修复监听模块、实时数据比对模块、数据操作日志抓取模块、监控调度模块,以及修复消息队列和数据比对消息队列。其中,业务双写模块具体包括配置加载单元、线程分配单元、结果汇总单元、异常投递单元以及多个数据提交单元(数据提交单元1、数据提交单元2、……、数据提交单元n)。本示例以将目标数据保存到两个数据库中(数据库1和数据库2)为例进行说明。
图5是本发明实施例提供的一种数据库数据同步处理方法的工作原理图。如图5所示。
①业务双写模块接收操作请求,该操作请求用于请求对目标数据执行目标操作。
②业务双写配置模块中的配置加载单元从配置中心模块获取目标数据所属的业务对应的数据库配置信息,并确定待执行目标操作的数据库1和数据库2,以及目标数据所属的业务对应的第一线程池信息。
③线程池分配单元根据目标数据所属的业务对应的第一线程池信息,为数据提交单元1和数据提交单元2分配对应的线程。
④业务双写模块中的数据提交单元1和数据提交单元2通过第一线程分别控制数据库1和数据库2执行目标操作,并获取两个数据库对目标数据处理所得到的处理结果。
其中,当某一数据库执行目标操作的时间超过了线程超时时间,还未获取对目标数据处理所得到的处理结果时,则通过隔离该目标操作对应的数据提交单元的方式隔离数据库(图中未示出)。
⑤业务双写模块中的结果汇总单元获取数据提交单元1反馈的数据库1对目标数据处理所得到的处理结果,以及,数据提交单元2反馈的数据库2对目标数据处理所得到的处理结果,并进行分析。当数据库1和数据库2基于目标操作,对目标数据处理所得到的处理结果不同时(例如数据库1操作成功、数据库2操作失败),生成目标操作的同步异常消息。
该同步异常消息例如可以包括:流水号(用于标识该条同步异常消息)、批次号(用于标识该条同步异常消息的批次)、异常编码(用于指示操作失败的数据库的编码)、异常信息描述(用于指示操作失败的原因)、异常发生时间(用于指示操作失败的时间)、操作服务(操作数据服务的唯一标识)、操作业务码(操作数据所所对应的***业务类型标识)、目标操作(增、或者改、或者删)、异常重试次数、操作超时时间、数据库2的编码(数据库的一个唯一标识)、数据库2的类型(说明数据库是mysql、还是oracle或者hbase等)、数据库2的表(操作数据所在的表)、表类型或表数据类型、数据库1的编码、数据库1的类型、数据库1的表、操作执行的sql、操作的行键、操作行键的值、目标数据、处理结果标识等中的至少一项。
⑥异常投递单元将同步异常消息保存到修复消息队列中。
⑦数据修复监听模块从修复消息队列中读取数据库1和数据库2的目标操作的同步异常消息。
⑧实时数据对比模块根据同步异常消息中的目标数据的标识,获取数据库1和数据库2对目标数据的处理结果。
⑨数据修复监听模块根据数据库1和数据库2对目标数据的处理结果,确定对目标数据处理结果出错的数据库,控制数据库2重新执行目标操作,此时即可完成数据库1和数据库2的实时同步。
⑩当数据库2重新执行目标操作后所得到的目标数据的处理结果与数据库1的处理结果不同,则数据修复监听模块在监控调度模块中的数据运维表中添加目标操作的同步异常消息。
上述示例是以实时处理过程为例进行描述的,下面将描述基于该操作日志获取数据库1和数据库2对目标数据的处理结果,进而获取目标操作的同步异常消息。本领域技术人员可以理解,服务器在控制数据库1和数据库2执行目标操作后,即可在各自对应的数据库中生成与目标操作对应的操作日志。服务器在采用前述方法进行实时处理后,还可以采用如下方式生成同步异常消息:
a.数据操作日志抓取模块获取数据库1和数据库2中任一个的操作日志(以数据库1为例)。
b.将获取到的操作日志以数据操作消息的方式添加到数据比对消息队列中。
c.实时数据比对模块根据数据比对消息队列中每个数据操作消息的目标数据的标识,获取数据库2中对目标数据的处理结果,当数据库1和数据库2中对目标数据的处理结果不同时,生成目标操作的同步异常消息。
一种可能的实现方式中,实时数据比对模块还访问数据库1,获取数据库1对目标数据的处理结果,当数据库2中对目标数据的处理结果与数据库1的操作日志的处理结果不同,且与数据库1中对目标数据的处理结果相同时,生成目标操作的同步异常消息。
d.实时数据比对模块将同步异常消息添加到修复消息队列中,以便进一步按照步骤⑦~⑩的方法处理。
在上述步骤①~⑩、以及步骤a~d进行的过程中,监听调度模块还可以监测修复消息队列的同步异常消息的数量,预测未来一段时间内未处理的同步异常消息的数量(例如基于人工智能算法预测未来一段时间内未处理的同步异常消息的数量),并于基于预测的未来一段时间内未处理的同步异常消息的数量对数据修复监听模块的第二线程池进行扩展及压缩。同时,监听调度模块还监测数据比对消息队列的数据操作消息的数量,并基于同样的方法对实时数据比对模块的线程池进行扩展及压缩。
一种可能的实现方式,监控调度模块还可以根据同步异常消息和数据操作消息的数量,修改配置中心模块中对应业务的第一线程池信息,优化业务双写模块的第一线程池资源。
本实施例提供的数据库数据同步处理方法,在业务双写模块在对多个数据库执行目标操作的同时,获取多个数据库对目标数据处理所得到的处理结果并实时分析,生成异常同步消息并基于修复消息队列进行修复,可以保持多个数据库中的数据实时同步;本实施例还通过获取多个数据库的操作日志,并基于操作日志检查多个数据库的数据是否同步,若不同步则生成异常同步消息并基于修复消息队列进行修复,该方法可以提高多个数据库数据同步的可靠性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6是本发明实施例提供的一种数据库数据同步处理装置的结构示意图,如图6所示,该装置包括:处理模块11。其中,
处理模块11,用于从修复消息队列中读取至少两个数据库的目标操作的同步异常消息;根据同步异常消息,控制第一数据库重新执行目标操作;目标操作为至少两个数据库对目标数据所做的增、或者删、或者改的操作;同步异常消息用于指示至少两个数据库基于目标操作,对目标数据处理所得到的处理结果不同;第一数据库为至少两个数据库中对目标数据处理结果出错的数据库。
可选地,在一些实施例中,处理模块11,还用于在控制第一数据库重新执行目标操作之后,当第一数据库重新执行目标操作后所得到的目标数据的处理结果与至少两个数据库中其他数据库的处理结果不同时,在数据运维表中添加目标操作的同步异常消息。
可选地,在一些实施例中,处理模块11,还用于从修复消息队列中读取至少两个数据库的目标操作的同步异常消息之前,获取目标操作的同步异常消息。
可选地,继续参照图6,在一些实施例中,该装置还包括:第一输入/输出I/O模块12。
处理模块11,具体用于通过出第一I/O模块12接收操作请求,根据目标数据所属的业务对应的数据库配置信息,确定待执行目标操作的至少两个数据库,控制至少两个数据库执行目标操作;获取至少两个数据库基于目标操作,对目标数据处理所得到的处理结果;当至少两个数据库基于目标操作,对目标数据处理所得到的处理结果不同时,生成目标操作的同步异常消息,操作请求用于请求执行目标操作。
可选地,在一些实施例中,数据库配置信息包括:第一线程池信息;
处理模块11,具体用于根据目标数据所属的业务对应的第一线程池信息,分配与每个数据库对应的第一线程;通过与每个数据库对应的第一线程,控制每个数据库执行目标操作。
可选地,继续参照图6,在一些实施例中,上述装置还包括:第二输入/输出I/O模块13。
处理模块11,具体用于通过第二I/O模块13获取第二数据库的操作日志;根据目标数据的标识,获取与至少两个数据库中其他数据库对目标数据的处理结果;当至少两个数据库中其他数据库对目标数据的处理结果,与,第二数据库对目标数据的第一处理结果不同时,生成目标操作的同步异常消息;第二数据库为至少两个数据库中的任一个;操作日志包括目标数据的标识,以及,第二数据库基于目标操作对目标数据处理所得到的第一处理结果。
可选地,在一些实施例中,第二I/O模块13,还用于在处理模块11生成目标操作的同步异常消息之前,访问第二数据库,获取第二数据库对目标数据的第二处理结果;
处理模块11,具体用于当至少两个数据库中其他数据库对目标数据的处理结果,与,第二数据库对目标数据的第一处理结果不同、且第一处理结果与第二处理结果相同时,生成目标操作的同步异常消息。
可选地,在一些实施例中,该同步异常消息包括:目标数据的标识;
处理模块11,具体用于根据目标数据的标识,获取至少两个数据库对目标数据的处理结果;根据至少两个数据库对目标数据的处理结果,确定第一数据库;控制第一数据库重新执行目标操作。
可选地,在一些实施例中,处理模块11,具体用于通过第二线程池中的第二线程,控制第一数据库重新执行目标操作。
可选地,在一些实施例中,处理模块11,还用于监测修复消息队列中同步异常消息的数量;根据同步异常消息的数量,调整第二线程池的大小。
本发明图6所示的实施例提供的数据库数据同步处理装置,可以执行上述方法实施例中服务器的动作。例如,该数据库数据同步处理装置可以是服务器本身,也可以是服务器的一个芯片。
图7为本发明实施例提供的另一种数据库数据同步处理装置的结构示意图,如图7所示,该装置包括:存储器91和至少一个处理器92。
存储器91,用于存储程序指令。
处理器92,用于在程序指令被执行时实现本发明实施例中的数据库数据同步处理方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。
该数据库数据同步处理装置还可以包括及输入/输出接口93。
输入/输出接口93可以包括独立的输出接口和输入接口,也可以为集成输入和输出的集成接口。其中,输出接口用于输出数据,输入接口用于获取输入的数据,上述输出的数据为上述方法实施例中输出的统称,输入的数据为上述方法实施例中输入的统称。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当数据库数据同步处理装置的至少一个处理器执行该执行指令时,当计算机执行指令被处理器执行时,实现上述实施例中的数据库数据同步处理方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。数据库数据同步处理装置的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得数据库数据同步处理装置实施上述各种实施方式提供的数据库数据同步处理方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种数据库数据同步处理方法,其特征在于,所述方法包括:
获取第二数据库的操作日志;所述第二数据库为至少两个数据库中的任一个;所述操作日志包括目标数据的标识,以及,所述第二数据库基于目标操作对所述目标数据处理所得到的第一处理结果;
根据所述目标数据的标识,获取与所述至少两个数据库中其他数据库对所述目标数据的处理结果;
若所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同,则访问所述第二数据库,获取所述第二数据库对所述目标数据的第二处理结果;
若所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同、且所述第一处理结果与所述第二处理结果相同,则生成所述目标操作的同步异常消息;
从修复消息队列中读取所述至少两个数据库的所述目标操作的同步异常消息,所述目标操作为所述至少两个数据库对所述目标数据所做的增、或者删、或者改的操作;所述同步异常消息用于指示所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同;
根据所述同步异常消息,通过第二线程池中的第二线程,控制第一数据库重新执行所述目标操作,所述第一数据库为所述至少两个数据库中对所述目标数据处理结果出错的数据库;
监测所述修复消息队列中同步异常消息的数量;
根据同步异常消息的数量,预测未来未处理的同步异常消息的数量;
根据所述未来未处理的同步异常消息的数量调整所述第二线程池的大小。
2.根据权利要求1所述的方法,其特征在于,所述控制第一数据库重新执行所述目标操作之后,所述方法还包括:
若所述第一数据库重新执行所述目标操作后所得到的所述目标数据的处理结果与所述至少两个数据库中其他数据库的处理结果不同,则在数据运维表中添加所述目标操作的同步异常消息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述目标操作的同步异常消息,包括:
接收操作请求,所述操作请求用于请求执行所述目标操作;
根据所述目标数据所属的业务对应的数据库配置信息,确定待执行所述目标操作的至少两个数据库;
控制所述至少两个数据库执行所述目标操作;
获取所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果;
若所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同,则生成所述目标操作的同步异常消息。
4.根据权利要求3所述的方法,其特征在于,所述数据库配置信息包括:第一线程池信息,所述控制所述至少两个数据库执行所述目标操作,包括:
根据所述目标数据所属的业务对应的第一线程池信息,分配与每个数据库对应的第一线程;
通过与每个数据库对应的第一线程,控制每个所述数据库执行所述目标操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述同步异常消息包括:所述目标数据的标识,所述根据所述同步异常消息,控制第一数据库重新执行所述目标操作,包括:
根据所述目标数据的标识,获取至少两个数据库对所述目标数据的处理结果;
根据所述至少两个数据库对所述目标数据的处理结果,确定所述第一数据库;
控制第一数据库重新执行所述目标操作。
6.一种数据库数据同步处理装置,其特征在于,所述装置包括:
处理模块,用于通过第二I/O模块获取第二数据库的操作日志;根据目标数据的标识,获取与至少两个数据库中其他数据库对目标数据的处理结果;当所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同时,访问所述第二数据库,获取所述第二数据库对所述目标数据的第二处理结果;若所述至少两个数据库中其他数据库对所述目标数据的处理结果,与,所述第二数据库对所述目标数据的第一处理结果不同、且所述第一处理结果与所述第二处理结果相同,则生成所述目标操作的同步异常消息;从修复消息队列中读取所述至少两个数据库的所述目标操作的同步异常消息;根据所述同步异常消息,通过第二线程池中的第二线程,控制第一数据库重新执行所述目标操作;监测所述修复消息队列中同步异常消息的数量;根据同步异常消息的数量,预测未来未处理的同步异常消息的数量;根据所述未来未处理的同步异常消息的数量调整所述第二线程池的大小;所述目标操作为所述至少两个数据库对所述目标数据所做的增、或者删、或者改的操作;所述同步异常消息用于指示所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同;所述第一数据库为所述至少两个数据库中对所述目标数据处理结果出错的数据库;所述第二数据库为所述至少两个数据库中的任一个;所述操作日志包括所述目标数据的标识,以及,所述第二数据库基于所述目标操作对所述目标数据处理所得到的第一处理结果。
7.根据权利要求6所述的装置,其特征在于,
所述处理模块,还用于在所述控制第一数据库重新执行所述目标操作之后,当所述第一数据库重新执行所述目标操作后所得到的所述目标数据的处理结果与所述至少两个数据库中其他数据库的处理结果不同时,在数据运维表中添加所述目标操作的同步异常消息。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:第一输入/输出I/O模块;
所述处理模块,具体用于通过所述第一I/O模块接收操作请求,根据所述目标数据所属的业务对应的数据库配置信息,确定待执行所述目标操作的至少两个数据库,控制所述至少两个数据库执行所述目标操作;获取所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果;当所述至少两个数据库基于所述目标操作,对所述目标数据处理所得到的处理结果不同时,生成所述目标操作的同步异常消息,所述操作请求用于请求执行所述目标操作。
9.根据权利要求8所述的装置,其特征在于,所述数据库配置信息包括:第一线程池信息;
所述处理模块,具体用于根据所述目标数据所属的业务对应的第一线程池信息,分配与每个数据库对应的第一线程;通过与每个数据库对应的第一线程,控制每个所述数据库执行所述目标操作。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述同步异常消息包括:所述目标数据的标识;
所述处理模块,具体用于根据所述目标数据的标识,获取至少两个数据库对所述目标数据的处理结果;根据所述至少两个数据库对所述目标数据的处理结果,确定所述第一数据库;控制第一数据库重新执行所述目标操作。
11.一种数据库数据同步处理装置,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述装置执行权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-5任一项所述的方法。
CN202010100191.4A 2020-02-18 2020-02-18 数据库数据同步处理方法、装置及存储介质 Active CN111324668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010100191.4A CN111324668B (zh) 2020-02-18 2020-02-18 数据库数据同步处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010100191.4A CN111324668B (zh) 2020-02-18 2020-02-18 数据库数据同步处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111324668A CN111324668A (zh) 2020-06-23
CN111324668B true CN111324668B (zh) 2023-11-21

Family

ID=71172801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010100191.4A Active CN111324668B (zh) 2020-02-18 2020-02-18 数据库数据同步处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111324668B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064913A (zh) * 2021-03-26 2021-07-02 北京深思数盾科技股份有限公司 交互语句处理方法、电子设备及计算机可读存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1393771A (zh) * 2001-06-28 2003-01-29 华为技术有限公司 一种快速消除数据库差异信息的方法
CN101207512A (zh) * 2006-12-22 2008-06-25 中兴通讯股份有限公司 一种数据库***冗灾备份和切换方法
CN101364185A (zh) * 2008-09-02 2009-02-11 中国科学院软件研究所 线程池容量自适应调节方法及应用服务器并发控制方法
CN103268247A (zh) * 2013-06-05 2013-08-28 中国电子科技集团公司第十五研究所 任务执行及调整线程池中保留线程的数量的方法和装置
CN103971189A (zh) * 2013-01-30 2014-08-06 中兴通讯股份有限公司 一种多模块管理的方法和装置
CN104376017A (zh) * 2013-08-15 2015-02-25 阿里巴巴集团控股有限公司 在数据库之间进行数据同步的方法及***
CN104484470A (zh) * 2014-12-31 2015-04-01 天津南大通用数据技术股份有限公司 一种数据库集群元数据管理方法
CN104980307A (zh) * 2015-06-29 2015-10-14 小米科技有限责任公司 数据访问请求的处理方法、装置及数据库服务器
CN105159991A (zh) * 2015-09-01 2015-12-16 北京皮尔布莱尼软件有限公司 一种保持数据一致性的方法、装置、***和应用服务器
CN106598762A (zh) * 2016-12-29 2017-04-26 上海理想信息产业(集团)有限公司 一种消息同步方法及***
CN106716367A (zh) * 2014-09-25 2017-05-24 甲骨文国际公司 用于支持分布式数据网格中的动态线程池大小确定的***和方法
CN107622119A (zh) * 2017-09-21 2018-01-23 深圳智盾信息技术有限公司 一种分布式跨数据库保持事务一致性的方法及***
CN107948318A (zh) * 2017-12-27 2018-04-20 世纪龙信息网络有限责任公司 多节点间的缓存同步方法和***
CN109101627A (zh) * 2018-08-14 2018-12-28 交通银行股份有限公司 异构数据库同步方法及装置
CN109885617A (zh) * 2019-01-29 2019-06-14 中国工商银行股份有限公司 分布式异构数据库***的数据同步方法及装置
CN110502572A (zh) * 2019-06-26 2019-11-26 中电万维信息技术有限责任公司 一种数据同步的方法及服务器

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1393771A (zh) * 2001-06-28 2003-01-29 华为技术有限公司 一种快速消除数据库差异信息的方法
CN101207512A (zh) * 2006-12-22 2008-06-25 中兴通讯股份有限公司 一种数据库***冗灾备份和切换方法
CN101364185A (zh) * 2008-09-02 2009-02-11 中国科学院软件研究所 线程池容量自适应调节方法及应用服务器并发控制方法
CN103971189A (zh) * 2013-01-30 2014-08-06 中兴通讯股份有限公司 一种多模块管理的方法和装置
CN103268247A (zh) * 2013-06-05 2013-08-28 中国电子科技集团公司第十五研究所 任务执行及调整线程池中保留线程的数量的方法和装置
CN104376017A (zh) * 2013-08-15 2015-02-25 阿里巴巴集团控股有限公司 在数据库之间进行数据同步的方法及***
CN106716367A (zh) * 2014-09-25 2017-05-24 甲骨文国际公司 用于支持分布式数据网格中的动态线程池大小确定的***和方法
CN104484470A (zh) * 2014-12-31 2015-04-01 天津南大通用数据技术股份有限公司 一种数据库集群元数据管理方法
CN104980307A (zh) * 2015-06-29 2015-10-14 小米科技有限责任公司 数据访问请求的处理方法、装置及数据库服务器
CN105159991A (zh) * 2015-09-01 2015-12-16 北京皮尔布莱尼软件有限公司 一种保持数据一致性的方法、装置、***和应用服务器
CN106598762A (zh) * 2016-12-29 2017-04-26 上海理想信息产业(集团)有限公司 一种消息同步方法及***
CN107622119A (zh) * 2017-09-21 2018-01-23 深圳智盾信息技术有限公司 一种分布式跨数据库保持事务一致性的方法及***
CN107948318A (zh) * 2017-12-27 2018-04-20 世纪龙信息网络有限责任公司 多节点间的缓存同步方法和***
CN109101627A (zh) * 2018-08-14 2018-12-28 交通银行股份有限公司 异构数据库同步方法及装置
CN109885617A (zh) * 2019-01-29 2019-06-14 中国工商银行股份有限公司 分布式异构数据库***的数据同步方法及装置
CN110502572A (zh) * 2019-06-26 2019-11-26 中电万维信息技术有限责任公司 一种数据同步的方法及服务器

Also Published As

Publication number Publication date
CN111324668A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN110442560B (zh) 一种日志重演方法、装置、服务器和存储介质
US20140181035A1 (en) Data management method and information processing apparatus
KR20060079078A (ko) 서버 큐잉 시스템 및 방법
CN109558260B (zh) Kubernetes故障排除***、方法、设备及介质
JP2010134522A (ja) データベース管理方法、データベース管理プログラム、および、データベース管理装置
CN113157411B (zh) 一种基于Celery的可靠可配置任务***及装置
US9298765B2 (en) Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network
CN111338834B (zh) 数据存储方法和装置
CN112231403A (zh) 数据同步的一致性校验方法、装置、设备和存储介质
CN109697112B (zh) 分布式集约化一站式作业***和实现方法
CN111324668B (zh) 数据库数据同步处理方法、装置及存储介质
CN111708812A (zh) 一种分布式数据处理方法
US8359601B2 (en) Data processing method, cluster system, and data processing program
US20190347165A1 (en) Apparatus and method for recovering distributed file system
CN113946427A (zh) 用于多操作***的任务处理方法、处理器及存储介质
CN112711606A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN111694724B (zh) 分布式表格***的测试方法、装置、电子设备及存储介质
CN111124751A (zh) 数据恢复方法及***、数据存储节点、数据库管理节点
CN112860746B (zh) 一种基于缓存削减的方法、设备及***
CN115499493A (zh) 异步事务处理方法、装置、存储介质及计算机设备
CN108920628B (zh) 一种适配大数据平台的分布式文件***访问方法及装置
US10885014B2 (en) Assigning monitoring responsibilities in distributed systems using optimistic concurrency
CN112818204A (zh) 一种业务的处理方法、装置、设备及存储介质
CN113609199B (zh) 数据库***、服务器及存储介质
US12019909B2 (en) IO request pipeline processing device, method and system, and storage medium

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