数据库同步的方法及装置制造方法及图纸

技术编号:14549813 阅读:76 留言:0更新日期:2017-02-04 22:54
本发明专利技术提供了一种数据库同步的方法,当接收到数据操作请求时,解析数据操作请求以获取对应的数据操作命令和对应的数据操作信息,判断数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,若数据操作请求是来自数据库系统中的第二主数据库,则根据数据操作信息记录当前已同步来自第二主数据库的同步数据条目数,并执行数据操作命令。本方案通过建立双主数据库的数据库系统,实现主数据库两两之间的实时数据同步,保证了两主数据库通信中断恢复后,可及时将尚未同步的数据补齐,避免了数据意外丢失,大大提高了通信中断恢复的数据一致性。

Method and device for synchronizing database

The present invention provides a method of database synchronization, when receiving a data operation request, data operation information data analysis data and the corresponding operation request command to obtain the corresponding data, judge the operation request from the external database system or from the second main database in the database system, if the data requested operation is from second the main database in the database system, the synchronous data according to the data operation information recording current synchronization from second main database entries, and the implementation of data manipulation commands. This project through the database system the establishment of dual master database, realize real-time data synchronization between the main database 22, to ensure that the two main database outage, timely data synchronization has not been filled, to avoid accidental loss of data, greatly improving the consistency of data communication in fault recovery.

【技术实现步骤摘要】

本专利技术涉及数据库
,具体而言,本专利技术涉及一种数据库同步的方法及装置
技术介绍
随着网络应用的迅速发展,人们对获取信息的正确性和及时性的要求也越来越高。数据库系统是目前存储数据、检索信息最为方便高效的手段,绝大多数企业都将信息存储在数据库中。目前数据库系统的趋势是由小型化向大型化、集中式向分布式发展,在分布式数据库中,数据同步技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。但是,数据库在任何时间点都有可能发生数据丢失或崩溃,现有数据库系统一般为主从数据库构架,包括一个主数据库及多个从数据库,当主数据库服务器发生故障时,需要将从数据库切换为主数据库,切换过程较为复杂,在主从切换不顺畅时可能使得数据服务暂停,导致前端业务中断,服务的连续性降低;或为各个主数据库提供单独的日志备份模块,但是需要为每一主数据库单独维护其相应的日志备份模块,维护过程复杂,增加服务端维护成本。因此,需要实现一种多数据库架构方案,确保当其中某一数据库发生故障后能够在不影响前端数据业务的情况下将故障数据库的数据快速修复,且无需单独为每一数据库维护相应的日志备份模块,不增加数据库服务器的维护成本,最终达到数据库的高稳定性和高业务连续性的设计目的。
技术实现思路
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:本专利技术的实施例提出了一种数据库同步的方法,应用于包括至少两个主数据库的数据库系统中的第一主数据库,所述方法包括:当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;若所述数据操作请求是来自数据库系统中的第二主数据库,则根据所述数据操作信息记录当前已同步来自所述第二主数据库的同步数据条目数;执行所述数据操作命令。优选地,当监测到与所述第二主数据库之间的通信中断后恢复时,该方法还包括:向所述第二主数据库发送同步恢复请求,其中,所述同步恢复请求包括所述同步数据条目数;接收所述第二主数据库响应于所述恢复同步请求发送的数据操作请求,其中,该数据操作请求为根据所述同步数据条目数在所述第二主数据库中所确定的尚未同步的数据操作命令和对应的数据操作信息;执行该数据操作命令。优选地,该方法还包括:持续地接收包括与所述第二主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与所述第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。优选地,该方法还包括:完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之前,当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的所述第二主数据库;若所述数据操作请求是来自数据库系统外部,则将解析得到的数据操作命令和对应的数据操作信息缓存至本地缓存中。优选地,该方法还包括:完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之后,执行所述本地缓存中缓存的数据操作命令。优选地,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库的步骤进一步包括:依据所述数据操作信息判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库,其中所述数据操作信息包含用以区分所述数据操作请求来源的标识。本专利技术的实施例提出了一种数据库同步的方法,应用于包括至少两个主数据库的数据库系统中的第二主数据库,所述方法包括:当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第一主数据库;若所述数据操作请求是来自数据库系统外部,将所述数据操作请求同步至所述数据库系统中的第一主数据库;记录当前已同步至所述第一主数据库的同步数据条目数。优选地,该方法还包括:当监测到与所述第一主数据库之间的通信中断时,停止将所述数据操作请求同步至所述第一主数据库。优选地,当监测到与所述第一主数据库之间的通信中断后恢复时,该方法还包括:根据记录的当前已同步至所述第一主数据库的同步数据条目数,确定尚未同步至所述第一主数据库的数据操作命令和对应的数据操作信息;依据尚未同步至所述第一主数据库的数据操作命令和对应的数据操作信息生成数据操作请求;向所述第一主数据库发送数据操作请求。优选地,该方法还包括:持续地向所述第一主数据库发送包括与所述第一主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,以完成与所述第一主数据库之间通信中断恢复后尚未同步数据的数据补齐。本专利技术的实施例中提出了一种数据库同步的装置,应用于包括至少两个主数据库的数据库系统中的第一主数据库,所述装置包括:第一解析模块,当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;第一判断模块,判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;第一同步模块,若所述数据操作请求是来自数据库系统中的第二主数据库,则根据所述数据操作信息记录当前已同步来自所述第二主数据库的同步数据条目数;第一执行模块,执行所述数据操作命令。优选地,当监测到与所述第二主数据库之间的通信中断后恢复时,该装置还包括:第一发送模块,向所述第二主数据库发送同步恢复请求,其中,所述同步恢复请求包括所述同步数据条目数;接收模块,接收所述第二主数据库响应于所述恢复同步请求发送的数据操作请求,其中,该数据操作请求为根据所述同步数据条目数在所述第二主数据库中所确定的尚未同步的数据操作命令和对应的数据操作信息;第二执行模块,执行该数据操作命令。优选地,该装置还包括:第一数据补齐模块,持续地接收包括与所述第二主数据库之间通信中断后尚未同步的数据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与所述第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。优选地,该装置还包括:第二解析模块,完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数据补齐之前,当接收本文档来自技高网...

【技术保护点】
一种数据库同步的方法,应用于包括至少两个主数据库的数据库系统中的第一主数据库,所述方法包括:当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据操作命令和对应的数据操作信息;判断所述数据操作请求是来自数据库系统外部或是来自数据库系统中的第二主数据库;若所述数据操作请求是来自数据库系统中的第二主数据库,则根据所述数据操作信息记录当前已同步来自所述第二主数据库的同步数据条目数;执行所述数据操作命令。

【技术特征摘要】
1.一种数据库同步的方法,应用于包括至少两个主数据库的数据库
系统中的第一主数据库,所述方法包括:
当接收到数据操作请求时,解析所述数据操作请求以获取对应的数据
操作命令和对应的数据操作信息;
判断所述数据操作请求是来自数据库系统外部或是来自数据库系统
中的第二主数据库;
若所述数据操作请求是来自数据库系统中的第二主数据库,则根据所
述数据操作信息记录当前已同步来自所述第二主数据库的同步数据条目
数;
执行所述数据操作命令。
2.根据权利要求1所述的数据库同步的方法,其特征在于,当监测
到与所述第二主数据库之间的通信中断后恢复时,该方法还包括:
向所述第二主数据库发送同步恢复请求,其中,所述同步恢复请求包
括所述同步数据条目数;
接收所述第二主数据库响应于所述恢复同步请求发送的数据操作请
求,其中,该数据操作请求为根据所述同步数据条目数在所述第二主数据
库中所确定的尚未同步的数据操作命令和对应的数据操作信息;
执行该数据操作命令。
3.根据权利要求2所述的数据库同步的方法,其特征在于,该方法
还包括:
持续地接收包括与所述第二主数据库之间通信中断后尚未同步的数
据操作命令的数据操作请求,并相应地执行数据操作命令,以完成与所述
第二主数据库之间通信中断恢复后尚未同步数据的数据补齐。
4.根据权利要求2或3所述的数据库同步的方法,其特征在于,该
方法还包括:
完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数
据补齐之前,当接收到数据操作请求时,解析所述数据操作请求以获取对

\t应的数据操作命令和对应的数据操作信息;
判断所述数据操作请求是来自数据库系统外部或是来自数据库系统
中的所述第二主数据库;
若所述数据操作请求是来自数据库系统外部,则将解析得到的数据操
作命令和对应的数据操作信息缓存至本地缓存中。
5.根据权利要求4所述的数据库同步的方法,其特征在于,该方法
还包括:
完成与所述第二主数据库之间通信中断恢复后的尚未同步数据的数
据补齐之后,执行所述本地缓存中缓存的数据操作命令。
6.一种数据库同步的装置,应用于包括至少两个主数据库的数据库系
统中的第一...

【专利技术属性】
技术研发人员:彭信东陈宗志杨挺杨艳杰
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1