[发明专利]数据同步方法和系统在审
申请号: | 201710694394.9 | 申请日: | 2017-08-14 |
公开(公告)号: | CN110019062A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 李强;廖耀华 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/18 | 分类号: | G06F16/18;G06F16/27 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 吕雁葭 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 日志 数据同步 主数据库 数据库 同步的 操作命令 日志队列 数据库架构 数据库系统 写操作命令 日志存储 解析 应用 | ||
1.一种数据同步方法,应用于具有主数据库和从数据库架构的数据库系统,所述方法包括:
获取对所述主数据库的操作命令;
生成日志,所述日志包括所述操作命令以及相应的日志序号;
将所述日志存储在第一日志队列中;
根据从数据库的当前待同步的日志序号从所述第一日志队列中获取相应的日志,其中,所述从数据库根据所述日志序号的顺序依次实现与所述主数据库的数据同步,所述当前待同步的日志序号用于指示所述从数据库要同步的下一个日志;
解析所述获取得到的日志,对所述从数据库执行所述日志对应的操作命令。
2.根据权利要求1所述的方法,其中:
所述操作命令包括写操作命令,所述写操作命令包括要写入所述主数据库的第一数据;
所述对所述从数据库执行所述相应日志对应的操作命令包括:将所述第一数据写入所述从数据库。
3.根据权利要求1所述的方法,其中,所述第一日志队列在存储的日志数量超过预设阈值时采用先进先出的工作模式。
4.根据权利要求3所述的方法,还包括:
将所述日志存储在第二日志队列中,所述第二日志队列的存取速度小于所述第一日志队列的存取速度;
判断从数据库的当前待同步的日志序号是否存在于所述第一日志队列中;
在所述从数据库的当前待同步的日志序号不存在于所述第一日志队列中时,从所述第二日志队列中获取与所述当前待同步的日志序号对应的日志。
5.根据权利要求4所述的方法,其中,所述根据从数据库的当前待同步的日志序号从所述第一日志队列中获取相应的日志,包括:
在所述从数据库的当前待同步的日志序号存在于所述第一日志队列中时,从所述第一日志队列中获取与所述当前待同步的日志序号对应的日志。
6.根据权利要求1所述的方法,还包括:
在对所述从数据库执行所述日志对应的操作命令之后,更新所述从数据库的当前待同步的日志序号。
7.根据权利要求1~6中任一项所述的方法,在具有多个所述数据库系统时,其中:
所述日志还包括所述主数据库所属的数据库系统的系统标识;
所述根据所述从数据库的当前待同步的日志序号从所述第一日志队列中获取相应的日志,包括:根据所述从数据库所属的数据库系统标识以及所述当前待同步的日志序号从所述第一日志队列中获取相应的日志。
8.一种数据同步系统,应用于具有主数据库和从数据库架构的数据库系统,所述系统包括:
第一获取模块,获取对所述主数据库的操作命令;
日志生成模块,生成日志,所述日志包括所述操作命令以及相应的日志序号;
第一存储模块,将所述日志存储在第一日志队列中;
第二获取模块,根据从数据库的当前待同步的日志序号从所述第一日志队列中获取相应的日志,其中,所述从数据库根据所述日志序号的顺序依次实现与所述主数据库的数据同步,所述当前待同步的日志序号用于指示所述从数据库要同步的下一个日志;
同步模块,解析所述获取得到的日志,对所述从数据库执行所述日志对应的操作命令。
9.根据权利要求8所述的系统,其中:
所述操作命令包括写操作命令,所述写操作命令包括要写入所述主数据库的第一数据;
所述对所述从数据库执行所述相应日志对应的操作命令包括:将所述第一数据写入所述从数据库。
10.根据权利要求8所述的系统,其中,所述第一日志队列在存储的日志数量超过预设阈值时采用先进先出的工作模式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710694394.9/1.html,转载请声明来源钻瓜专利网。