数据库异地容灾方法及系统技术方案

技术编号:7272662 阅读:346 留言:0更新日期:2012-04-15 20:44
本发明专利技术公开了一种数据库异地容灾方法及系统,第一数据库对来源于本地数据库的数据变更生成变更文件,根据所述变更文件生成可执行脚本,加上非同步标识后,同步到第二数据库;所述第二数据库执行所述可执行脚本对本地数据进行变更,在向所述第一数据库同步时,根据所述可执行脚本带有的所述非同步标识识别出数据变更来源于所述第一数据库,则对执行所述可执行脚本引起的数据变更不再同步到所述第一数据库。本发明专利技术数据变更的来源进行了区分,在实现双向异地备份容灾的同时,减低主服务器的负荷。

【技术实现步骤摘要】

本专利技术涉及数据库异地同步容灾
,更具体地,涉及一种数据库异地容灾方法及系统
技术介绍
目前电信领域正朝着多业务、多网络的融合方向发展,但在发展过程中大多数运营商所建设的业务平台仍采用独立、分离的建设模式。每个业务平台,无论其容量大小和功能多少,都需要单独部署对应该业务平台的数据库。对于重要数据,则需要对数据进行容灾备份,一般的做法是使用一套完整的存储设备对主服务器的存储数据进行备份,而这些用于备份的硬件资源在正常运营时,无法产生任何盈利,造成了硬件资源的大量使用或闲置, 导致较高的运营成本。现阶段各大运营商,尤其是跨国运营商都面临着减低 CAPEX(CapitalExpenditure,资本支出)和 OPEX(Operating Expense,即运营成本)的重任,CAPEX —般是指资金对固定资产的投入,对电信运营商来说,有关的网络设备、计算机、仪器等一次性支出的项目都属于CAPEX。因此新局点的部署和扩容,都会遵循降低 TCO(Total Cost of Ownership,总体成本)的原则,以最小的投入,产生最大的收益。在公开的专利文献中,中国专利CN200910236502. 3存在以下不足仅涉及单向从源数据库向另一个数据库进行数据同步,没有对从源数据库同步过来的数据,和由于业务产生在目标数据库的数据进行区分。而另一中国专利CN200510086911则存在判断步骤太多、效率不高的缺陷,因而不适合大数据量进行同步。
技术实现思路
本专利技术解决的技术问题是提供一种数据库异地容灾方法及系统,在实现数据库异地容灾的同时,减低主服务器的负荷。为解决上述技术问题,本专利技术提供了一种数据库异地容灾方法,所述方法包括第一数据库对来源于本地数据库的数据变更生成变更文件,根据所述变更文件生成可执行脚本,加上非同步标识后,同步到第二数据库;所述第二数据库执行所述可执行脚本对本地数据进行变更,在向所述第一数据库同步时,根据所述可执行脚本带有的所述非同步标识识别出数据变更来源于所述第一数据库,则对执行所述可执行脚本引起的数据变更不再同步到所述第一数据库。进一步地,所述第一数据库和所述第二数据库互为对端数据库;所述第一数据库或第二数据库根据执行的可执行脚本是否带有非同步标识,识别出数据变更来源于对端数据库还是本地数据库。进一步地,所述第一数据库或第二数据库识别出数据变更来源于对端数据库时, 对执行可执行脚本引起的数据变更不生成变更文件,不再同步到对端数据库。进一步地,所述第一数据库或第二数据库识别出数据变更来源于本地数据库时,以单条语句为记录单元在缓冲池中生成所述变更文件;从所述缓冲池中读取变更文件生成所述可执行脚本时,对读取过的变更文件进行改名,并定期删除或转移备份所述缓冲池中改名后的变更文件。进一步地,所述数据变更包括增加、减少或内容变更。本专利技术还提供了一种数据库异地容灾系统,包括第一数据子系统和第二数据子系统,所述第一数据子系统用于,对来源于本地数据库的数据变更生成变更文件,根据所述变更文件生成可执行脚本,加上非同步标识后,同步到所述第二数据子系统;所述第二数据子系统用于,执行所述可执行脚本对本地数据进行变更,在向所述第一数据子系统同步时,根据所述可执行脚本带有的所述非同步标识识别出数据变更来源于所述第一数据子系统,则对执行所述可执行脚本引起的数据变更不再同步到所述第一数据子系统。此外,所述数据子系统进一步包括数据库、缓冲池和同步进程模块,所述数据库用于,对来源于本地数据库的数据变更生成变更文件;所述缓冲池用于,缓冲所述数据库生成的所述变更文件;所述同步进程模块用于,读取所述缓冲池所述变更文件,根据所述变更文件生成可执行脚本,加上非同步标识后,同步到对端数据库。此外,所述数据库进一步用于,根据执行的可执行脚本是否带有非同步标识,识别出数据变更来源于对端数据库还是本地数据库,在识别出数据变更来源于对端数据库时, 对执行可执行脚本引起的数据变更不生成变更文件,不再同步到对端数据库。此外,所述同步进程模块还用于,从所述缓冲池中读取变更文件时,对读取过的变更文件进行改名;所述缓冲池还用于,定期删除或转移备份改名后的变更文件。此外,所述同步进程模块进一步用于,对读取过的变更文件的文件名后缀进行修改;所述缓冲池进一步用于,根据文件名的扩展名区分变更文件是否已改名。与现有技术相比,本专利技术至少具有如下有益效果本专利技术在同步过程中,对于从源数据库同步过来的数据和由于业务在目标数据库产生的数据变更进行了区分,对同步失败根据不通原因快速处理,从而实现双向异地备份容灾;通过引进异地双向数据同步,互为容灾系统,使原本仅仅能够用于用户数据备份的数据库也可以参与运营,降低了主服务器压力,同时也保证了数据安全性;此外,由于容灾系统也能够参与运营,使容灾设备也可以产生收益,降低了运营商的CAPEX和OPEX等运营成本。附图说明图1为本专利技术实施例的数据库异地容灾系统的架构图;图2为本专利技术实施例的数据库异地容灾的处理流程示意图。具体实施例方式鉴于现有技术的多种缺陷,本专利技术提出一种数据库异地容灾方法,采用如下技术方案第一数据库对来源于本地数据库的数据变更生成变更文件,根据所述变更文件生成可执行脚本,加上非同步标识后,同步到第二数据库;所述第二数据库执行所述可执行脚本对本地数据进行变更,在向所述第一数据库同步时,根据所述可执行脚本带有的所述非同步标识识别出数据变更来源于所述第一数据库,则对执行所述可执行脚本引起的数据变更不再同步到所述第一数据库。进一步地,所述第一数据库和所述第二数据库互为对端数据库;所述第一数据库或第二数据库根据执行的可执行脚本是否带有非同步标识,识别出数据变更来源于对端数据库还是本地数据库。进一步地,所述第一数据库或第二数据库识别出数据变更来源于对端数据库时, 对执行可执行脚本引起的数据变更不生成变更文件,不再同步到对端数据库。进一步地,所述第一数据库或第二数据库识别出数据变更来源于本地数据库时, 以单条语句为记录单元在缓冲池中生成所述变更文件;从所述缓冲池中读取变更文件生成所述可执行脚本时,对读取过的变更文件进行改名,并定期删除或转移备份所述缓冲池中改名后的变更文件。进一步地,所述数据变更包括增加、减少或内容变更。为了便于阐述本专利技术,以下将结合附图及具体实施例对本专利技术技术方案的实施作进一步详细描述。图1为本专利技术实施例的数据库异地容灾系统的架构图,包括源数据子系统和目标数据子系统,其中所述源数据子系统用于,对来源于本地数据库的数据变更生成变更文件,根据所述变更文件生成可执行脚本,加上非同步标识后,同步到目标数据子系统;所述目标数据子系统用于,执行可执行脚本对本地数据进行变更,在向源数据子系统同步时,根据可执行脚本带有的所述非同步标识识别出数据变更来源于所述源数据子系统,则对执行可执行脚本引起的数据变更不再同步到源数据子系统。其中,源数据子系统所在的环境A和目标数据子系统所在的环境B互为容灾,数据的备份是双向备份的,两者就本身的组成而言并无区别。如图1所示,本实施例的数据子系统主要由以下几个模块构成数据库,主要用于源数据以及容灾数据的存储及处理;缓冲池,主要用于存储变更文件,记录同步信息,定期删除过期文件;同步进程模块,主本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王慧张超赵庆春施健王巍张玲东孙雷
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1
相关领域技术