[发明专利]数据同步方法、系统及计算机可读存储介质有效
| 申请号: | 201810394143.3 | 申请日: | 2018-04-27 |
| 公开(公告)号: | CN108804523B | 公开(公告)日: | 2021-07-16 |
| 发明(设计)人: | 刘栋;曹宝山;赵森;刘军;雷云飞 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 贾允;肖丁 |
| 地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 同步 方法 系统 计算机 可读 存储 介质 | ||
1.一种数据同步方法,其特征在于,所述方法包括:
监测主数据库中的数据是否发生改变;
在所述主数据库中的数据发生改变时,将所述改变以日志形式写入共享内存中;
判断所述共享内存中的所述日志是否堆积;
如果所述共享内存中的所述日志未发生堆积,则将所述共享内存中的所述日志同步至从数据库;
如果所述共享内存中的所述日志发生堆积,则将所述共享内存中的所述日志转储到磁盘中,将所述磁盘中的所述日志同步至所述从数据库,当所述磁盘中的所有日志同步完成时,返回执行所述判断所述共享内存中的所述日志是否堆积的步骤;
所述将所述共享内存中的所述日志同步至从数据库包括:从所述共享内存的读取位置读取日志,将读取的日志推送给各从数据库;接收各从数据库处理所述日志的反馈信息,所述反馈信息包含所述从数据库中最后一条日志的主标识符;根据各从数据库中最后一条日志的主标识符,确定各从数据库的同步位置的从标识符,从数据库的同步位置为与最后一条日志相邻的空闲空间;将各从数据库的同步位置的从标识符进行比对,确定数值最小的从标识符;根据数值最小的从标识符修改所述共享内存的读取位置,返回执行所述从所述共享内存的读取位置读取日志,将读取的日志推送给各从数据库的步骤;
所述将所述共享内存中的所述日志转储到磁盘中包括:获取所述共享内存中读取位置到结束位置之间的日志,所述结束位置位于所述读取位置与写入位置之间;将获取的日志添加到所述磁盘中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述磁盘中的所述日志同步至所述从数据库的同时,如果所述主数据库中的数据发生改变,将所述改变以日志形式写入共享内存中。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述主数据库中的数据发生改变时,将所述改变以日志形式写入共享内存中包括:
在所述主数据库中的数据发生改变时,获取所述改变对应的更新数据;
为所述更新数据分配一自增连续的主标识符;
根据所述更新数据和主标识符生成日志;
将所述日志从所述共享内存的写入位置写入共享内存,并以所述日志占用的空间为偏移量修改所述写入位置,返回执行所述在所述主数据库中的数据发生改变时,根据所述改变生成更新数据的步骤。
4.根据权利要求1所述的方法,其特征在于,所述判断所述共享内存中的所述日志是否堆积包括:
检测所述共享内存的空闲空间是否小于阈值;
如果小于阈值,则判定所述共享内存中的日志发生堆积;
如果不小于阈值,则判定所述共享内存中的日志未发生堆积。
5.根据权利要求1所述的方法,其特征在于,所述将所述磁盘中的所述日志同步至所述从数据库包括:
接收从数据库处理日志的反馈信息,所述反馈信息包含从数据库中最后一条日志的主标识符;
根据所述从数据库中最后一条日志的主标识符,确定所述从数据库的同步位置的从标识符;
将所述同步位置的从标识符与所述磁盘中各日志的主标识符进行比对,判断所述磁盘中是否存在与所述从标识符一致的主标识符;
如果所述磁盘中存在与所述从标识符一致的主标识符,则将所述磁盘中包含主标识符的日志推送给所述从数据库,返回执行所述接收从数据库处理日志的反馈信息的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810394143.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





