CN110347747A - 数据库间数据同步方法、系统、计算机设备及存储介质 - Google Patents
数据库间数据同步方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110347747A CN110347747A CN201910513290.2A CN201910513290A CN110347747A CN 110347747 A CN110347747 A CN 110347747A CN 201910513290 A CN201910513290 A CN 201910513290A CN 110347747 A CN110347747 A CN 110347747A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- manipulation instruction
- tables
- incremental
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
- G06F16/273—Asynchronous replication or reconciliation
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据库间数据同步方法,包括以下步骤:通过获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;判断预设的同步记录表中是否存在与所述表名相匹配的数据表;若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及定时将所述增量数据同步至目标数据库。本发明实施例还提供了数据库间数据同步系统、计算机设备和计算机可存储介质。本发明实施例能够增加系统的可扩展性,降低开发成本。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据库间数据同步方法、系统、计算机设备及计算机可读存储介质。
背景技术
现有技术中,在实现各个系统之间数据同步时,一般是通过定制开发系统间要同步的表的来实现系统之间的同步。然而,当某个系统需要同多个其他系统进行数据同步时,则需要定制开发多个系统间要同步的表来实现该系统与多个系统之间的数据同步,该实现方法繁琐,灵活度不够。
发明内容
有鉴于此,本发明实施例的目的是提供一种数据库间数据同步方法、系统、计算机设备及计算机可读存储介质,能够增加系统的可扩展性,降低开发成本。
为实现上述目的,本发明实施例提供了一种数据库间数据同步方法,包括以下步骤:
获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;
判断预设的同步记录表中是否存在与所述表名相匹配的数据表;
若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及
定时将所述增量数据同步至目标数据库。
进一步地,所述数据库间数据同步方法还包括:
设置与所述数据处理业务对应的数据记录范围,并将所述数据记录范围添加至所述同步记录表中。
进一步地,所述获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名的步骤包括:
通过mybtis拦截器对所述数据操作指令进行拦截,并获取所述数据操作指令中的SQL语句;及
对所述SQL语句进行解析,以提取出所述SQL语句中所包含的数据表的表名。
进一步地,所述定时将所述增量数据同步至目标数据库的步骤包括:
确定当前需要同步的增量数据;
获取每个增量数据所关联的第一数据表;
根据所述第一数据表确定所述每个增量数据对应的目标数据库的地址信息;及
根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中。
进一步地,所述根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中的步骤之后,还包括:
接收对应的所述目标数据库返回的数据同步结果;及
若所述数据同步结果为同步成功,则对已同步的增量数据设置对应的标识。
进一步地,所述接收对应的所述目标数据库返回的数据同步结果的步骤之后,还包括:
若所述数据同步结果为同步失败,则发送通知消息至预设用户。
进一步地,所述数据库间数据同步方法还包括:
将已同步的增量数据存储至历史数据表中。
为实现上述目的,本发明实施例还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据库间数据同步方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据库间数据同步方法的步骤。
本发明实施例提供的数据库间数据同步方法、系统、计算机设备及计算机可读存储介质,通过获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;判断预设的同步记录表中是否存在与所述表名相匹配的数据表;若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及定时将所述增量数据同步至目标数据库,从而能够增加系统的可扩展性,降低开发成本。
附图说明
图1为本发明数据库间数据同步方法第一实施例的实施流程示意图。
图2为本发明中获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名的步骤细化流程示意图。
图3为本发明中定时将所述增量数据同步至目标数据库的步骤的细化流程示意图。
图4为本发明数据库间数据同步方法第二实施例的实施流程示意图。
图5为本发明一实施方式的数据库间数据同步系统的程序模块示意图。
图6为本发明一实施方式的计算机设备的硬件结构示意图。
附图标记
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,示出了本发明实施例一之数据库间数据同步方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以数据库间数据同步系统(下文以“同步系统”简称)为执行主体进行示例性描述,所述同步系统可以应用于计算机设备中。具体如下:
步骤S100,获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令。
具体地,同步系统可以获取用户设备发送的数据操作指令,所述数据操作指令可以包括数据新增指令、数据删除指令、数据修改指令等等。同步系统在接收到数据操作指令之后,可进一步根据所述数据操作指令执行数据处理业务,所述数据处理业务可以包括对数据库进行数据新增业务、数据删除业务、数据修改业务等。例如,若所述数据操作指令为数据修改指令,则所述同步系统根据所述数据修改指令对数据库中的相应是数据进行修改。
在本实施例中,同步系统在接收到数据操作指令之后,也可以对数据操作指令进行解析,从而得到该数据操作指令中所涉及的数据表信息,所述数据表信息包括数据表的表名。
需要说明的是,本发明实施例中的数据操作指令是基于SQL(Structured QueryLanguage,结构化查询语言)语句的指令,即所述数据操作指令是一条SQL语句。
进一步地,参阅图2,在一实施例中,所述获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名的步骤包括:
步骤S200,通过mybtis拦截器对所述数据操作指令进行拦截,并获取所述数据操作指令中的SQL语句;及
步骤S202,对所述SQL语句进行解析,以提取出所述SQL语句中所包含的数据表的表名。
具体地,同步系统可以调用mybtis拦截器对数据操作指令进行拦截,从而捕获数据操作指令中的SQL语句,在捕获到SQL语句后,可以进一步对该SQL语句进行解析,从而提取出该SQL语句中所的数据表信息,该数据表信息中包含有数据表的表名。
在发明实施中,当不需要获取数据操作指令中包含的数据表的表名时,可以将该mybtis拦截器进行屏蔽。
步骤S102,判断预设的同步记录表中是否存在与所述表名相匹配的数据表。
具体地,所述同步记录表为源数据库的各个数据表中需要同步的数据表。该同步记录表可以根据业务需求进行设定,例如,当前业务需求为需要对源数据库中的数据表A与数据表B中被修改的数据进行同步,则可以设定所述同步记录表中包括数据表A与数据表B,即后续只需要对数据表A与数据表B中被修改的数据进行同步,对于其他数据表中的数据不需要同步;若当前业务需求为需要对源数据库进行同步,则可以设定所述同步记录表中包括源数据库中的所有数据表,即后续只要源数据库中的数据被修改,都要对修改的数据进行同步。
在具体地判断过程中,可以将获得到的表名与同步记录表中所包含的各个数据表的表名一一与该获得到的表名进行比较,以确定该同步记录表中是否存在与所述表名相匹配的数据表。
步骤S104,若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据。
具体地,当存在与所述表名相匹配的数据表时,表明需要对该数据操作指令所执行的数据处理业务进行同步。因而,在当存在与所述表名相匹配的数据表时,同步系统需要记录根据所述数据操作指令执行的数据处理业务所生成的增量数据。所述增量数据包括所述数据操作指令所对应的SQL语句以及该SQL语句所涉及到的数据表信息、数据库信息等。
步骤S106,定时将所述增量数据同步至目标数据库。
具体地,同步系统定时会将增量数据同步至目标数据库,比如,每隔1分钟将所有的增量数据同步至目标数据库中。所述目标数据库为要将源数据库中的数据同步至其中的数据库,该目标数据库可以有多个,比如,数据库A、数据库B,数据库C等。
在本实施例中,在对增量数据进行同步时,可以在目标数据库中执行该增量数据中所包含的SQL语句,从而实现数据的同步。
可以理解的是,为了将源数据中的增量数据同步至目标数据库中,需要预先将目标数据库的地址维护到源数据库中。
本发明本实施例所提出的数据库间数据同步方法,通过获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;判断预设的同步记录表中是否存在与所述表名相匹配的数据表;若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及定时将所述增量数据同步至目标数据库,从而能够增加系统的可扩展性,降低开发成本。
进一步地,参照图3,在一实施例中,所述定时将所述增量数据同步至目标数据库的步骤包括:
步骤S300,确定当前需要同步的增量数据。
具体地,由于在对增量数据进行同步时,是定时执行的,因此,在进行数据同步之前,需要确定本次同步周期中所记录的增量数据,本次同步周期所记录的增量数据为在上一个同步周期的时间戳到本次同步周期的时间戳之间所记录的增量数据。比如,上一个同步周期的时间戳为15时12分10秒,本次同步周期的时间戳为15时13分10秒,则在15时12分10秒以及15时13分10秒这之间的时间段所记录的增量数据即为当前需要同步的增量数据。
步骤S302,获取每个增量数据所关联的第一数据表。
具体地,每个增量数据中都关联有一个第一数据表,不同的增量数据关联的第一数据表可能相同,也可能不同。
步骤S304,根据所述第一数据表确定所述每个增量数据对应的目标数据库的地址信息。
具体地,在同步系统中预存有各个第一数据表与目标数据库的映射表,该映射表中包括各个第一数据表与目标数据库的对应关系,以及各个目标数据库的地址信息,所述地址信息包括所述目标服务器的IP地址、端口号等。在本实施例中,每个第一数据表可以和一个目标数据库相对应,也可以与多个目标数据库相对应。例如,数据表a与目标数据库B相对应,数据表b与目标数据库C与目标数据库D相对应等。
步骤S306,根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中。
具体地,同步系统在获取到该地址信息后,即可通过该目标服务器的地址将增量数据同步至对应的所述目标数据库中。
进一步地,在一实施方式中,所述根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中的步骤之后,还包括:
接收对应的所述目标数据库返回的数据同步结果;及
若所述数据同步结果为同步成功,则对已同步的增量数据设置对应的标识。
具体地,目标数据库在接收到增量数据之后,执行该增量数据中的SQL语句,从而实现数据的同步。目标数据库在执行数据同步操作之后,会给同步系统反馈一个数据同步结果,同步系统在接收到该同步结果之后,对该同步结果进行解析,进而可以根据解析后的同步结果确定目标数据库在对数据进行同步时是否成功的完成数据的同步,在确定该数据同步结果为同步成功时,可以对已完成同步的增量数据设置标识信息,比如设置“完成”标识,或者设置“1”标识,以表明该增量数据已完成数据的同步。在本实施例中,通过设置对应的标识,从而可以避免对同一个曾量数据进行多次重复的同步操作。
在本发明另一实施方式中,当目标数据库在接收到增量数据之后,连续执行该增量数据中的SQL语句若干次(比如3次)后,仍未实现数据的同步,则可以反馈同步失败的同步结果给同步系统,同步系统在接收到该同步结果之后,对该同步结果进行解析,进而可以根据解析后的同步结果确定目标数据库在对数据进行同步时是否成功的完成数据的同步,在确定该数据同步结果为同步失败时,发送通知消息至预设用户。该通知消息可以通过邮件的方式发送,也可以通过短信的方式发送等。该预设用户优选为目标服务器的维护人员。
进一步地,在另一实施方式中,在对增量数据成功完成数据同步时,可以将同步的增量数据存储至历史数据表中,以作为记录。在本实施例中,通过将同步成功的增量数据存储至历史数据表中,可以方便后续出现问题时,根据该历史数据表中的数据对问题进行排查。
参阅图4,是本发明数据库间数据同步方法第二实施例的实施流程示意图。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。下面以数据库间数据同步系统(下文以“同步系统”简称)为执行主体进行示例性描述,所述同步系统可以应用于服务器中。具体如下:
步骤S400,设置与所述数据处理业务对应的数据记录范围,并将所述数据记录范围添加至所述同步记录表中。
具体地,可以根据业务需求设置数据处理业务对应的数据记录范围,所述数据记录范围为具体需对该源数据库中的哪些数据表进行同步。该数据记录范围可以预先设定,也可以在后期根据用户的输入信息进行设定。例如,若用户需要对源数据库中的数据表a进行同步,则用户可以将所述数据表a对应的信息输入至同步系统,同步系统在接收到该输入信息后,根据该输入信息设置所述数据记录范围。
在设置好该数据记录范围之后,将即该数据记录范围添加至同步记录表中。
步骤S402,获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令。
步骤S404,判断预设的同步记录表中是否存在与所述表名相匹配的数据表;
步骤S406,若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据。
步骤S408,定时将所述增量数据同步至目标数据库。
上述步骤S402-S408与步骤S100-S106类似,在本实施方式中不再赘述。
本发明实施例所提出的数据库间数据同步方法,通过设置与所述数据处理业务对应的数据记录范围,从而使得系统具有很好的扩展性。
请参阅图5,示出了本发明实施例之数据库间数据同步系统500(以下简称为“同步系统”500)的程序模块示意图。在本实施例中,同步系统500可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据库间数据同步方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据库间数据同步方法在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
获取模块501,用于获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令。
具体地,获取模块501可以获取用户设备发送的数据操作指令,所述数据操作指令可以包括数据新增指令、数据删除指令、数据修改指令等等。获取模块501在接收到数据操作指令之后,可进一步根据所述数据操作指令执行数据处理业务,所述数据处理业务可以包括对数据库进行数据新增业务、数据删除业务、数据修改业务等。例如,若所述数据操作指令为数据修改指令,则所述获取模块501根据所述数据修改指令对数据库中的相应是数据进行修改。
在本实施例中,获取模块501在接收到数据操作指令之后,也可以对数据操作指令进行解析,从而得到该数据操作指令中所涉及的数据表信息,所述数据表信息包括数据表的表名。
需要说明的是,本发明实施例中的数据操作指令是基于SQL(Structured QueryLanguage,结构化查询语言)语句的指令,即所述数据操作指令是一条SQL语句。
进一步地,在一实施例中,所述获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名的步骤包括:通过mybtis拦截器对所述数据操作指令进行拦截,并获取所述数据操作指令中的SQL语句;及用于对所述SQL语句进行解析,以提取出所述SQL语句中所包含的数据表的表名。
具体地,获取模块501可以调用mybtis拦截器对数据操作指令进行拦截,从而捕获数据操作指令中的SQL语句,在捕获到SQL语句后,可以进一步对该SQL语句进行解析,从而提取出该SQL语句中所的数据表信息,该数据表信息中包含有数据表的表名。
在发明实施中,当不需要获取数据操作指令中包含的数据表的表名时,可以将该mybtis拦截器进行屏蔽。
判断模块502,用于判断预设的同步记录表中是否存在与所述表名相匹配的数据表。
具体地,所述同步记录表为源数据库的各个数据表中需要同步的数据表。该同步记录表可以根据业务需求进行设定,例如,当前业务需求为需要对源数据库中的数据表A与数据表B中被修改的数据进行同步,则可以设定所述同步记录表中包括数据表A与数据表B,即后续只需要对数据表A与数据表B中被修改的数据进行同步,对于其他数据表中的数据不需要同步;若当前业务需求为需要对源数据库进行同步,则可以设定所述同步记录表中包括源数据库中的所有数据表,即后续只要源数据库中的数据被修改,都要对修改的数据进行同步。
在具体地判断过程中,可以将获得到的表名与同步记录表中所包含的各个数据表的表名一一与该获得到的表名进行比较,以确定该同步记录表中是否存在与所述表名相匹配的数据表。
记录模块503,用于当存在与所述表名相匹配的数据表时,记录根据所述数据操作指令执行的数据处理业务所生成的增量数据。
具体地,当存在与所述表名相匹配的数据表时,表明需要对该数据操作指令所执行的数据处理业务进行同步。因而,在当存在与所述表名相匹配的数据表时,记录模块503需要记录根据所述数据操作指令执行的数据处理业务所生成的增量数据。所述增量数据包括所述数据操作指令所对应的SQL语句以及该SQL语句所涉及到的数据表信息、数据库信息等。
同步模块504,用于定时将所述增量数据同步至目标数据库。
具体地,同步模块504定时会将增量数据同步至目标数据库,比如,每隔1分钟将所有的增量数据同步至目标数据库中。所述目标数据库为要将源数据库中的数据同步至其中的数据库,该目标数据库可以有多个,比如,数据库A、数据库B,数据库C等。
在本实施例中,在对增量数据进行同步时,可以在目标数据库中执行该增量数据中所包含的SQL语句,从而实现数据的同步。
可以理解的是,为了将源数据中的增量数据同步至目标数据库中,需要预先将目标数据库的地址维护到源数据库中。
本发明本实施例所提出的数据库间数据同步系统,通过获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;判断预设的同步记录表中是否存在与所述表名相匹配的数据表;若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及定时将所述增量数据同步至目标数据库,从而能够增加系统的可扩展性,降低开发成本。
进一步地,在一实施方式中,所述定时将所述增量数据同步至目标数据库的步骤包括:
步骤1,确定当前需要同步的增量数据。
具体地,由于在对增量数据进行同步时,是定时执行的,因此,在进行数据同步之前,需要确定本次同步周期中所记录的增量数据,本次同步周期所记录的增量数据为在上一个同步周期的时间戳到本次同步周期的时间戳之间所记录的增量数据。比如,上一个同步周期的时间戳为15时12分10秒,本次同步周期的时间戳为15时13分10秒,则在15时12分10秒以及15时13分10秒这之间的时间段所记录的增量数据即为当前需要同步的增量数据。
步骤2,获取每个增量数据所关联的第一数据表。
具体地,每个增量数据中都关联有一个第一数据表,不同的增量数据关联的第一数据表可能相同,也可能不同。
步骤3,根据所述第一数据表确定所述每个增量数据对应的目标数据库的地址信息。
具体地,在同步系统中预存有各个第一数据表与目标数据库的映射表,该映射表中包括各个第一数据表与目标数据库的对应关系,以及各个目标数据库的地址信息,所述地址信息包括所述目标服务器的IP地址、端口号等。在本实施例中,每个第一数据表可以和一个目标数据库相对应,也可以与多个目标数据库相对应。例如,数据表a与目标数据库B相对应,数据表b与目标数据库C与目标数据库D相对应等。
步骤4,根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中。
具体地,同步系统在获取到该地址信息后,即可通过该目标服务器的地址将增量数据同步至对应的所述目标数据库中。
进一步地,在一实施方式中,所述根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中的步骤之后,还包括:
接收对应的所述目标数据库返回的数据同步结果;及
若所述数据同步结果为同步成功,则对已同步的增量数据设置对应的标识。
具体地,目标数据库在接收到增量数据之后,执行该增量数据中的SQL语句,从而实现数据的同步。目标数据库在执行数据同步操作之后,会给同步系统反馈一个数据同步结果,同步系统在接收到该同步结果之后,对该同步结果进行解析,进而可以根据解析后的同步结果确定目标数据库在对数据进行同步时是否成功的完成数据的同步,在确定该数据同步结果为同步成功时,可以对已完成同步的增量数据设置标识信息,比如设置“完成”标识,或者设置“1”标识,以表明该增量数据已完成数据的同步。在本实施例中,通过设置对应的标识,从而可以避免对同一个曾量数据进行多次重复的同步操作。
在本发明另一实施方式中,当目标数据库在接收到增量数据之后,连续执行该增量数据中的SQL语句若干次(比如3次)后,仍未实现数据的同步,则可以反馈同步失败的同步结果给同步系统,同步系统在接收到该同步结果之后,对该同步结果进行解析,进而可以根据解析后的同步结果确定目标数据库在对数据进行同步时是否成功的完成数据的同步,在确定该数据同步结果为同步失败时,发送通知消息至预设用户。该通知消息可以通过邮件的方式发送,也可以通过短信的方式发送等。该预设用户优选为目标服务器的维护人员。
进一步地,在另一实施方式中,在对增量数据成功完成数据同步时,可以将同步的增量数据存储至历史数据表中,以作为记录。在本实施例中,通过将同步成功的增量数据存储至历史数据表中,可以方便后续出现问题时,根据该历史数据表中的数据对问题进行排查。
在本发明另一实施方式中,所述同步系统500还包括:
设置模块,用于设置与所述数据处理业务对应的数据记录范围,并将所述数据记录范围添加至所述同步记录表中。
具体地,可以根据业务需求设置数据处理业务对应的数据记录范围,所述数据记录范围为具体需对该源数据库中的哪些数据表进行同步。该数据记录范围可以预先设定,也可以在后期根据用户的输入信息进行设定。例如,若用户需要对源数据库中的数据表a进行同步,则用户可以将所述数据表a对应的信息输入至同步系统的设置模块,设置模块在接收到该输入信息后,根据该输入信息设置所述数据记录范围。
在设置好该数据记录范围之后,将即该数据记录范围添加至同步记录表中。
参阅图6,是本发明实施例之计算机设备600的硬件架构示意图。在本实施例中,所述计算机设备600是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图所示,所述计算机设备600至少包括,但不限于,可通过系统总线相互通信连接存储器601、处理器602、网络接口603、以及数据库间数据同步系统604。其中:
本实施例中,存储器601至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器601可以是计算机设备600的内部存储单元,例如该计算机设备600的硬盘或内存。在另一些实施例中,存储器601也可以是计算机设备600的外部存储设备,例如该计算机设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器601还可以既包括计算机设备600的内部存储单元也包括其外部存储设备。本实施例中,存储器601通常用于存储安装于计算机设备600的操作系统和各类应用软件,例如数据库间数据同步系统604的程序代码等。此外,存储器601还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器602在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器602通常用于控制计算机设备600的总体操作。本实施例中,处理器602用于运行存储器601中存储的程序代码或者处理数据,例如运行数据库间数据同步系统604,以实现上述各个实施例中的数据库间数据同步方法。
所述网络接口603可包括无线网络接口或有线网络接口,该网络接口603通常用于在所述计算机设备600与其他电子装置之间建立通信连接。例如,所述网络接口603用于通过网络将所述计算机设备600与外部终端相连,在所述计算机设备600与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件601-604的计算机设备600,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器601中的所述数据库间数据同步系统604还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器601中,并由一个或多个处理器(本实施例为处理器602)所执行,以完成本发明之数据库间数据同步方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据库间数据同步系统500或604,以被处理器执行时实现本发明之数据库间数据同步方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据库间数据同步方法,其特征在于,包括以下步骤:
获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;
判断预设的同步记录表中是否存在与所述表名相匹配的数据表;
若存在,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及
定时将所述增量数据同步至目标数据库。
2.如权利要求1所述的数据库间数据同步方法,其特征在于,所述数据库间数据同步方法还包括:
设置与所述数据处理业务对应的数据记录范围,并将所述数据记录范围添加至所述同步记录表中。
3.如权利要求1或2所述的数据库间数据同步方法,其特征在于,所述获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名的步骤包括:
通过mybtis拦截器对所述数据操作指令进行拦截,并获取所述数据操作指令中的SQL语句;及
对所述SQL语句进行解析,以提取出所述SQL语句中所包含的数据表的表名。
4.如权利要求1或2所述的数据库间数据同步方法,其特征在于,所述定时将所述增量数据同步至目标数据库的步骤包括:
确定当前需要同步的增量数据;
获取每个增量数据所关联的第一数据表;
根据所述第一数据表确定所述每个增量数据对应的目标数据库的地址信息;及
根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中。
5.如权利要求4所述的数据库间数据同步方法,其特征在于,所述根据所述地址信息将所述每个增量数据同步至对应的所述目标数据库中的步骤之后,还包括:
接收对应的所述目标数据库返回的数据同步结果;及
若所述数据同步结果为同步成功,则对已同步的增量数据设置对应的标识。
6.如权利要求5所述的数据库间数据同步方法,其特征在于,所述接收对应的所述目标数据库返回的数据同步结果的步骤之后,还包括:
若所述数据同步结果为同步失败,则发送通知消息至预设用户。
7.如权利要求5所述的数据库间数据同步方法,其特征在于,所述数据库间数据同步方法还包括:
将已同步的增量数据存储至历史数据表中。
8.一种数据库间数据同步系统,其特征在于,包括:
获取模块,用于获取数据操作指令,并对所述数据操作指令进行解析以得到所述数据操作指令中包含的数据表的表名,所述数据操作指令为基于SQL语句的指令;
判断模块,用于判断预设的同步记录表中是否存在与所述表名相匹配的数据表;
记录模块,用于若存在与所述表名相匹配的数据表,则记录根据所述数据操作指令执行的数据处理业务所生成的增量数据;及
同步模块,用于定时将所述增量数据同步至目标数据库。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据库间数据同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的数据库间数据同步方法的的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910513290.2A CN110347747A (zh) | 2019-06-14 | 2019-06-14 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
PCT/CN2019/102843 WO2020248375A1 (zh) | 2019-06-14 | 2019-08-27 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910513290.2A CN110347747A (zh) | 2019-06-14 | 2019-06-14 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110347747A true CN110347747A (zh) | 2019-10-18 |
Family
ID=68181979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910513290.2A Pending CN110347747A (zh) | 2019-06-14 | 2019-06-14 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110347747A (zh) |
WO (1) | WO2020248375A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324614A (zh) * | 2020-03-18 | 2020-06-23 | 浩云科技股份有限公司 | 一种表的配置方法、装置、终端设备以及存储介质 |
CN111400397A (zh) * | 2020-02-29 | 2020-07-10 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备和计算机存储介质 |
CN112015738A (zh) * | 2020-08-28 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 用于实现多个数据明细表的联表处理的方法及装置 |
CN112069194A (zh) * | 2020-08-31 | 2020-12-11 | 杭州铁驰云商科技有限公司 | 一种对数据库中数据的实时修改方法及系统 |
CN112559638A (zh) * | 2021-02-20 | 2021-03-26 | 恒生电子股份有限公司 | 数据同步的方法、装置、设备和存储介质 |
CN112612797A (zh) * | 2020-12-30 | 2021-04-06 | 杭州拼便宜网络科技有限公司 | 多源同表数据加载方法、装置、设备及介质 |
WO2021147197A1 (zh) * | 2020-01-20 | 2021-07-29 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN115952172A (zh) * | 2023-03-08 | 2023-04-11 | 畅捷通信息技术股份有限公司 | 一种基于数据库临时表的数据匹配方法及装置 |
WO2023109286A1 (zh) * | 2021-12-17 | 2023-06-22 | 蚂蚁区块链科技(上海)有限公司 | 数据同步方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170286475A1 (en) * | 2016-04-05 | 2017-10-05 | International Business Machines Corporation | Change stream analytics for data replication systems |
CN108205560A (zh) * | 2016-12-19 | 2018-06-26 | 腾讯科技(深圳)有限公司 | 一种数据同步方法以及装置 |
CN108595522A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种增量同步方法、装置及系统 |
CN108769212A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912949B (zh) * | 2016-04-13 | 2019-11-05 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
CN106294075B (zh) * | 2016-08-17 | 2018-09-21 | 浪潮软件股份有限公司 | 一种对sql进行监控的方法、装置及系统 |
-
2019
- 2019-06-14 CN CN201910513290.2A patent/CN110347747A/zh active Pending
- 2019-08-27 WO PCT/CN2019/102843 patent/WO2020248375A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170286475A1 (en) * | 2016-04-05 | 2017-10-05 | International Business Machines Corporation | Change stream analytics for data replication systems |
CN108205560A (zh) * | 2016-12-19 | 2018-06-26 | 腾讯科技(深圳)有限公司 | 一种数据同步方法以及装置 |
CN108595522A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种增量同步方法、装置及系统 |
CN108769212A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147197A1 (zh) * | 2020-01-20 | 2021-07-29 | 深圳壹账通智能科技有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN111400397A (zh) * | 2020-02-29 | 2020-07-10 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备和计算机存储介质 |
CN111400397B (zh) * | 2020-02-29 | 2023-04-11 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备和计算机存储介质 |
CN111324614A (zh) * | 2020-03-18 | 2020-06-23 | 浩云科技股份有限公司 | 一种表的配置方法、装置、终端设备以及存储介质 |
CN112015738A (zh) * | 2020-08-28 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 用于实现多个数据明细表的联表处理的方法及装置 |
CN112069194A (zh) * | 2020-08-31 | 2020-12-11 | 杭州铁驰云商科技有限公司 | 一种对数据库中数据的实时修改方法及系统 |
CN112612797A (zh) * | 2020-12-30 | 2021-04-06 | 杭州拼便宜网络科技有限公司 | 多源同表数据加载方法、装置、设备及介质 |
CN112559638A (zh) * | 2021-02-20 | 2021-03-26 | 恒生电子股份有限公司 | 数据同步的方法、装置、设备和存储介质 |
CN112559638B (zh) * | 2021-02-20 | 2021-05-07 | 恒生电子股份有限公司 | 数据同步的方法、装置、设备和存储介质 |
WO2023109286A1 (zh) * | 2021-12-17 | 2023-06-22 | 蚂蚁区块链科技(上海)有限公司 | 数据同步方法和装置 |
CN115952172A (zh) * | 2023-03-08 | 2023-04-11 | 畅捷通信息技术股份有限公司 | 一种基于数据库临时表的数据匹配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020248375A1 (zh) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347747A (zh) | 数据库间数据同步方法、系统、计算机设备及存储介质 | |
JP6695984B2 (ja) | マルチタスクスケジューリング方法、システム、アプリケーションサーバ及びコンピュータの読み取り可能な記憶媒体 | |
CN108769212B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN109684054B (zh) | 信息处理方法及装置、电子设备及存储器 | |
CN110932918B (zh) | 日志数据采集方法、装置及存储介质 | |
CN112364049B (zh) | 数据同步脚本生成方法、系统、终端及存储介质 | |
CN113312064A (zh) | 物理机的安装配置方法、装置以及计算机可读介质 | |
CN104660639B (zh) | 云终端升级处理方法及装置 | |
EP4142238A1 (en) | Pico base station configuration method and apparatus, and storage medium and electronic apparatus | |
CN110324384A (zh) | 数据推送的方法和装置 | |
CN104618474B (zh) | 设备信息保存方法以及装置 | |
CN106341449A (zh) | 数据同步方法及装置 | |
CN115617555A (zh) | 一种信息处理系统以及方法 | |
CN111726396B (zh) | 设备绑定方法及装置、云端、存储介质 | |
CN113839991A (zh) | 设备信息的确认方法、装置、存储介质及电子装置 | |
CN107590256A (zh) | 异构数据库同步方法和装置 | |
CN106503149B (zh) | 一种数据同步方法及其系统 | |
CN115982285B (zh) | 数据处理方法、设备及计算机可读存储介质 | |
CN100372311C (zh) | 一种同步标示语言中终端管理的无线搜索方法 | |
CN112564953B (zh) | 一种对局远端设备管理的方法和装置及设备 | |
CN104065753B (zh) | 智能终端文件的推送方法、装置及系统 | |
CN115794927B (zh) | 业务功能扩展方法和系统 | |
CN113449035B (zh) | 数据同步方法、装置、计算机设备及可读存储介质 | |
CN103647809A (zh) | 数据同步的方法及服务器系统 | |
CN112988571B (zh) | 一种用于优化cc代码的自动化编译部署方法及系统 |
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 |