数据同步方法、系统及数据访问装置制造方法及图纸

技术编号:7662615 阅读:174 留言:0更新日期:2012-08-09 07:10
本发明专利技术涉及数据同步,公开了数据同步方法、系统及相关设备,其中数据同步包括:在第一数据库与第二数据库之间进行数据库级同步过程中,向第一数据库发送创建事务的请求,请求中包含执行事务所需的操作命令;在第一数据库执行事务时,从第一数据库获取序号,并将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存;在第一数据库与第二数据库的数据库级同步链路断开时,从第二数据库中获取切换序号;确定临时存储队列中保存的在切换序号之后的序号,并将确定的序号所对应的执行事务所需的操作命令发送到第二数据库,实现应用级数据同步。使用本发明专利技术,可以在数据库同步过程中不中断第三方设备对数据库的访问。

【技术实现步骤摘要】

本专利技术涉及数据库同步技术,具体涉及数据同步方法、系统及数据访问装置
技术介绍
目前,数据同步技术被应用的越来越多,典型的如,数据库的容灾方案以及数据库的数据迁移方案,下面以数据库容灾方案来描述当前数据同步技术应用现状。目前有一种两个站点同时工作的模式的容灾方案,称为Active-Active模式,即两个站点的数据库的数据互相备份,并且通过第三方业务对数据库进行双写来保证两个站点间的数据实时同步,第三方设备通过核心网或者负载分发器发送修改请求到任何一个站点上的数据库,都可以被正常处理。 在Active-Active模式下,当一个站点发生灾难后,第三方设备发送的修改请求只能触发到正常站点上,当灾难站点的硬件、软件的故障排除后,此时灾难站点的数据库的数据将会跟正常站点的数据库的数据会不一致、或者灾难站点的数据库数可能被永久破坏,那么为了恢复灾难站点的数据库数据,使其跟正常站点的数据库数据保持一致,让两个站点再次同步运行起来,就需要对两个站点间数据库的数据进行同步。在两个站点间数据库的数据同步过程中,利用正常站点的数据库中与灾难站点的数据库建立的数据库级同步链路,将正常站点的数据库中的数据同步到灾难站点的数据库中。在两个站点间数据库的数据同步过程中,正常站点处理第三方设备发送的修改请求不受影响,但灾难站点的数据库处于只读(Readonly)状态或者不可读写(Mounted)状态。当灾难站点的恢复正常工作时,需要把灾难站点的数据库激活为读写(ReadWrite)状态,然后才能接收第三方设备发送的修改请求。在激活灾难站点的数据库的同时,数据库级同步链路会自动断连,此时两个站点间的数据库再无数据同步关系,后续的两个站点间的数据库可以利用第三方设备在两个数据库上的双写机制来实现数据实时同步。在激活灾难站点的数据库前,正常站点的数据库需要停止接收发送第三方设备的修改请求,直到两个站点的数据库可以同时处理第三方设备发送的修改请求后,才恢复正常站点接收对第三方设备发送的修改请求,因此,数据同步过程中,数据库必须要中断接收第三方设备发送的修改请求。从上面的两个站点之间的数据库同步过程可以看出,数据同步是会中断业务对数据库访问的,中断时间仍会被记在故障停机时长中,这个对于要求严格的运营商或者数据库厂商是无法容忍。
技术实现思路
本专利技术实施例提供了数据同步方法、系统及数据访问装置,可以实现在数据库数据同步过程中,不中断接收第三方设备发送的修改请求,以及对数据修改处理。本专利技术一个实施例提供了一种数据同步方法,包括在第一数据库与第二数据库之间进行数据库级同步过程中,数据访问装置向第一数据库发送创建事务的请求,请求中包含执行事务所需的操作命令;在第一数据库执行事务时,数据访问装置从第一数据库获取序号,并将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存,其中,序号为第一数据库为事务分配的;在第一数据库与第二数据库的数据库级同步链路断开时,数据访问装置从第二数据库中获取切换序号,切换序号是从第一数据库最后同步过来的事务对应的序号;数据访问装置确定临时存储队列中保存的在切换序号之后的序号,并将确定的序号所对应的执行事务所需的操作命令发送到第二数据库,实现应用级数据同步。可选的,方法还包括数据访问装置与临时存储队列、第一数据库以及第二数据库之间,建立应用级同步链路;数据访问装置从第一数据库获取序号,并将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存,具体包括通过应用级同步链路,数据访问装置从第一数据库获取序号,并将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存。可选的方法还包括在第一数据库与第二数据库的数据库级同步链路断开时,数据访问装置从第二数据库中获取切换序号,具体包括在第一数据库与第二数据库的数据库级同步链路断开时,数据访问装置在检测到第一数据库可写时,从第二数据库中获取切换序号。可选的方法还包括实现应用级数据同步,具体包括第二数据库接收到切换序号之后的序号对应的执行事务所需操作命令,按照序号顺序,依次执行切换序号之后的序号对应执行事务所需操作命令。。可选的方法还包括数据访问装置向第一数据库发送创建事务的请求,请求中包含执行事务所需的操作命令,包括数据访问装置接收第三方设备发送的修改请求,修改请求包含执行事务所需的操作命令;数据访问装置向第一数据库发送创建事务的请求,请求中包含执行事务所需的操作命令。可选的方法还包括在第一数据库执行事务时,数据访问装置从第一数据库获取序号,具体包括在第一数据库执行事务时,数据访问装置向第一数据库发送查询序号的请求;数据访问装置接收第一数据库发送的事务对应的序号。可选的方法还包括数据访问装置将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存,具体包括数据访问装置接收第一数据库发送的操作结果,操作结果为第一数据库执行操作命令获得的操作结果;向第一数据库提交事务的请求,结束事务;将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存。本专利技术另一个实施例提供了一种数据访问装置,包括第一交互模块,用于在第一数据库与第二数据库之间进行数据库级同步过程中,向第一数据库发送创建事务的请求,请求中包含执行事务所需的操作命令;保存模块,用于在第一数据库执行事务时,从第一数据库获取序号,并将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存,其中,序号为第一数据库为事务分配的;获取模块,用于在第一数据库与第二数据库的数据库级同步链路断开时,从第二数据库中获取切换序号,切换序号是从第一数据库最后同步过来的事务对应的序号;第二交互模块,用于确定临时存储队列中保存的在切换序 号之后的序号,并将确定的序号所对应的执行事务所需的操作命令发送到第二数据库,实现应用级数据同步。可选的数据访问装置还包括获取模块具体包括检测模块,用于检测单元,用于在第一数据库与第二数据库的数据库级同步链路断开时,检测第一数据库是否可写,获取单元,用于当检测单元检测到第一数据库可写时,从第二数据库中获取切换序号。可选的数据访问装置还包括第一交互模块具体包括接收单元,用于接收第三方设备发送的修改请求,修改请求包含执行事务所需的操作命令;发送单元,用于向第一数据库发送创建事务的请求,请求中包含执行事务所需的操作命令。可选的数据访问装置还包括保存模块具体包括查询单元,用于在第一数据库执行事务时,向第一数据库发送查询序号的请求,并接收第一数据库发送的事务对应的序号;提交单元,用于接收第一数据库发送的操作结果,操作结果为第一数据库执行操作命令获得的操作结果,向第一数据库提交事务的请求,结束事务;保存单元,用于将执行事务所需的操作命令和事务对应的序号发送给临时存储队列进行保存。本专利技术另一个实施例提供了一种数据同步系统,包括第一数据库,用于在与第二数据库之间进行数据库级同步过程中,从数据访问装置接收创建事务的请求,请求中包含 执行事务所需的操作命令,执行事务,为事务分配序列号;数据访问装置,用于在第一数据库与第二数据库之间进行数据库级同步过程中,向第一数据库发送创建事务的请求,在第一数据库执行事务时,从第一数据库获取序号,并将执行事务所需的操作命令和事务对应的序号发本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:丁福海
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1