数据库数据双向协同方法及系统技术方案

技术编号:10234967 阅读:180 留言:0更新日期:2014-07-18 18:04
本发明专利技术公开了一种数据库数据双向协同方法及系统,该方法包括:预先存储供中间件连接第一数据库的第一登录名或第一IP地址;在捕获到指向第一数据库的业务数据时,提取该业务数据的源端连接第一数据库所使用的第三登录名或第三IP地址;判断所提取的第三登录名或第三IP地址与预先存储的第一登录名或第一IP地址是否相同,若否,则根据业务数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第二数据库;若是,则不做处理。实施本发明专利技术的技术方案,不会造成同一条业务数据在两个数据库之间循环读写的情况,而且,这种方法无须更改数据结构就能方便快捷地辨别业务数据的来源,使用起来简捷高效。

【技术实现步骤摘要】
数据库数据双向协同方法及系统
本专利技术涉及信息
,尤其涉及一种数据库数据双向协同方法及系统。
技术介绍
在数据库开发中,往往会遇到两个或两个以上应用系统的数据需要同步的情况,通常都是通过中间件进行单向的数据同步,即中间件把系统A通过触发器捕获的业务数据同步到系统B的数据库,或者,中间件把系统B通过触发器捕获的业务数据同步到系统A。但是如果系统A和系统B之间的业务数据需要相互同步,那么此时通过一般的触发器来捕获业务数据的方法就比较难以实现了,因为当应用系统中的业务数据发生变化的时候,触发器无法辨别该业务数据是由应用系统本身产生的还是由中间件同步产生的,从而就会造成同一条业务数据在系统A和系统B之间循环读写的情况。针对这种情况,一般的解决办法是在应用系统的数据表里加标记字段,通过该标记字段来区分业务数据的来源,进而由触发器来辨别是否需要针对该业务数据生成临时数据,但是采用这种方法的缺点是很明显的:1.在应用系统的数据表里增加标记字段会改变应用系统的表结构,这样就可能出现应用程序在读取表数据进行数据处理时出现取值错乱的情况。2.触发器在捕获业务数据的时候,首先需要提取该业务数据在数据表里对应的标记字段,然后跟存储器里的标记字段进行比较,从而增加了生成临时数据时的逻辑复杂度。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种数据库数据双向协同方法及系统,不改变数据结构,且简捷高效。本专利技术解决其技术问题所采用的技术方案是:构造一种数据库数据双向协同方法,包括:存储步骤,预先存储供中间件连接第一数据库的第一登录名或第一IP地址,及预先存储供中间件连接第二数据库的第二登录名或第二IP地址;第一提取步骤,在捕获到指向第一数据库的业务数据时,提取该业务数据的源端连接所述第一数据库所使用的第三登录名或第三IP地址;第一判断步骤,判断所提取的第三登录名与预先存储的第一登录名是否相同,或判断所提取的第三IP地址与预先存储的第一IP地址是否相同,若否,则执行第一生成步骤;若是,则不做处理;第一生成步骤,根据所述业务数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第二数据库;第二提取步骤,在捕获到指向第二数据库的业务数据时,提取该业务数据的源端连接所述第二数据库所使用的第四登录名或第四IP地址;第二判断步骤,判断所提取的第四登录名与预先存储的第二登录名是否相同,或判断所提取的第四IP地址与预先存储的第二IP地址是否相同,若否,则执行第二生成步骤;若是,则不做处理;第二生成步骤,根据所述业务有数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第一数据库。在本专利技术所述的数据库数据双向协同方法中,在第一提取步骤之前,还包括:连接步骤,使用已经赋予第一数据库操作权限的第一登录名将中间件连接第一数据库,及使用已经赋予第二数据库操作权限的第二登录名将中间件连接第二数据库;第一配置步骤,在中间件中对第一数据库与第二数据库的策略映射关系进行配置,并把该策略标记为双向;第二配置步骤,在中间件中对第二数据库与第一数据库的策略映射关系进行配置,并把该策略标记为双向。本专利技术还构造一种数据库数据双向协同系统,包括:存储模块,用于预先存储供中间件连接第一数据库的第一登录名或第一IP地址,及预先存储供中间件连接第二数据库的第二登录名或第二IP地址;第一提取模块,用于在捕获到指向第一数据库的业务数据时,提取该业务数据的源端连接所述第一数据库所使用的第三登录名或第三IP地址;第一判断模块,用于判断所提取的第三登录名与预先存储的第一登录名是否相同,或判断所提取的第三IP地址与预先存储的第一IP地址是否相同;第一生成模块,用于在所述第一判断模块判断不相同时,根据所述业务数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第二数据库;第二提取模块,用于在捕获到指向第二数据库的业务数据时,提取该业务数据的源端连接所述第二数据库所使用的第四登录名或第四IP地址;第二判断模块,用于判断所提取的第四登录名与预先存储的第二登录名是否相同,或判断所提取的第四IP地址与预先存储的第二IP地址是否相同;第二生成模块,用于在所述第二判断模块判断不相同时,根据所述业务有数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第一数据库。在本专利技术所述的数据库数据双向协同系统中,所述数据库数据双向协同系统还包括:连接模块,用于使用已经赋予第一数据库操作权限的第一登录名将中间件连接第一数据库,及使用已经赋予第二数据库操作权限的第二登录名将中间件连接第二数据库;第一配置模块,用于在中间件中对第一数据库与第二数据库的策略映射关系进行配置,并把该策略标记为双向;第二配置模块,用于在中间件中对第二数据库与第一数据库的策略映射关系进行配置信息,并把该策略标记为双向。实施本专利技术的技术方案,源端的数据库由于只将来自客户端的业务数据生成临时数据,并存入相应数据库的临时表,然后由中间件读取并写入目标端的数据库,所以,不会造成同一条业务数据在两个数据库之间循环读写的情况,而且,无须更改数据结构就能方便快捷地辨别业务数据的来源,使用起来简捷高效。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术数据库数据双向协同系统的的较佳实施方式的硬件架构图;图2是本专利技术数据库数据双向协同系统实施例一的功能模块图;图3是本专利技术数据库数据双向协同方法实施例一的流程图;图4是本专利技术数据库数据双向协同方法实施例二的流程图。具体实施方式图1是本专利技术数据库数据双向协同系统的较佳实施方式的硬件架构图,所述的据库数据双向协同系统10应用于电子装置中1中,所述的电子装置1可以是计算机、计算机主机、服务器、笔记本电脑等装置。本实施方式中,该电子装置1包括第一数据库20、第二数据库30及中间件(即中间数据库)40。本实施方式中,据库数据双向协同系统10、该第一数据库20、第二数据库30及中间件(即中间数据库)40可以分别安装于至少具有处理器和存储器的不同服务器中,也可以安装于具有处理器和存储器同一服务器中。中间件30设置在第一数据库20和第二数据库30之间,用于根据所配置的协同策略实现第一数据库20和第二数据库30之间的协同作业。本实施方式中,第一数据库20包括第一永久表21和第一临时表22。第二数据库30包括第二永久表31和第二临时表32。在每个数据库中,其临时表与永久表相似,但临时表当不再使用时会自动删除。图2示出了本专利技术数据库数据双向协同系统实施例一的功能模块图。该数据库数据双向协同系统10包括第一配置模块1361、及第二配置模块1362、存储模块131、连接模块135、第一提取模块1321、第二提取模块1322、第一判断模块1331、第二判断模块1332、第一生成模块1341和第二生成模块1342。存储模块131用于预先存储供中间件40连接第一数据库20的第一登录名或第一IP地址,及预先存储供中间件40连接第二数据库30的第二登录名或第二IP地址。其中,第一登录名可以预先创建,并赋予该第一登录名在访问第一数据库20时的角色及权限,以供中间件40连接第一数据库20时使用。同样地,第二登录名可以预先创建,并赋予该第二登录名在访问第二数据库30时的角色本文档来自技高网...
数据库数据双向协同方法及系统

【技术保护点】
一种数据库数据双向协同方法,其特征在于,包括:存储步骤,预先存储供中间件连接第一数据库的第一登录名或第一IP地址,及预先存储供中间件连接第二数据库的第二登录名或第二IP地址;第一提取步骤,在捕获到指向第一数据库的业务数据时,提取该业务数据的源端连接所述第一数据库所使用的第三登录名或第三IP地址;第一判断步骤,判断所提取的第三登录名与预先存储的第一登录名是否相同,或判断所提取的第三IP地址与预先存储的第一IP地址是否相同,若否,则执行第一生成步骤;若是,则不做处理;第一生成步骤,根据所述业务数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第二数据库;第二提取步骤,在捕获到指向第二数据库的业务数据时,提取该业务数据的源端连接所述第二数据库所使用的第四登录名或第四IP地址;第二判断步骤,判断所提取的第四登录名与预先存储的第二登录名是否相同,或判断所提取的第四IP地址与预先存储的第二IP地址是否相同,若否,则执行第二生成步骤;若是,则不做处理;第二生成步骤,根据所述业务有数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第一数据库。

【技术特征摘要】
1.一种数据库数据双向协同方法,其特征在于,包括:存储步骤,预先存储供中间件连接第一数据库的第一登录名或第一IP地址,及预先存储供中间件连接第二数据库的第二登录名或第二IP地址;第一提取步骤,在捕获到指向第一数据库的业务数据时,提取该业务数据的源端连接所述第一数据库所使用的第三登录名或第三IP地址;第一判断步骤,判断所提取的第三登录名与预先存储的第一登录名是否相同,或判断所提取的第三IP地址与预先存储的第一IP地址是否相同,若否,则执行第一生成步骤;若是,则不做处理;第一生成步骤,根据所述业务数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第二数据库;第二提取步骤,在捕获到指向第二数据库的业务数据时,提取该业务数据的源端连接所述第二数据库所使用的第四登录名或第四IP地址;第二判断步骤,判断所提取的第四登录名与预先存储的第二登录名是否相同,或判断所提取的第四IP地址与预先存储的第二IP地址是否相同,若否,则执行第二生成步骤;若是,则不做处理;第二生成步骤,根据所述业务有数据生成临时数据,以供中间件读取该临时数据并把该临时数据写入第一数据库;在第一提取步骤之前,还包括:连接步骤,使用已经赋予第一数据库操作权限的第一登录名将中间件连接第一数据库,及使用已经赋予第二数据库操作权限的第二登录名将中间件连接第二数据库;第一配置步骤,在中间件中对第一数据库与第二数据库的策略映射关系进行配置,并把该策略标记为双向;第二配置步骤,在中间件中对第二数据库与第一数据库的策略映射关系进行配置,并把该策略标记为双向。2.一种数据库...

【专利技术属性】
技术研发人员:刘国文周怡刘小东
申请(专利权)人:深圳市迈科龙电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1