[发明专利]数据同步方法、装置及系统有效
申请号: | 201310489129.9 | 申请日: | 2013-10-17 |
公开(公告)号: | CN104572689B | 公开(公告)日: | 2020-03-17 |
发明(设计)人: | 鹿宝生;王继群;周立发 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张颖玲 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 同步 方法 装置 系统 | ||
本发明涉及一种数据同步方法、装置及系统,其方法包括:异步拉取数据库更新数据时生成的包含更新数据信息的日志数据;将日志数据按照数据库中的表名进行分类,添加相应的日志数据到预先创建的对应的日志队列中;并行解析日志队列中的日志数据,得到数据库对应的更新数据;根据得到的对应的更新数据对缓存中的数据进行并行同步更新。由于采用异步基于日志的数据库与缓存并行化数据同步方式,当数据库发生数据更新时,更新数据基于日志并行同步到缓存内,满足了数据库与缓存之间数据同步的一致性和实时性要求,解决了数据库数据更新时数据库与缓存之间同步的延迟问题,并减轻了数据库与缓存之间数据同步时对数据库的压力。
技术领域
本发明涉及计算机及互联网技术领域,尤其涉及一种关系数据库与缓存数据同步方法、装置及系统。
背景技术
关系数据库(以下简称数据库)是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。一个数据库通常包含预先定义的一组表,每个表代表一类数据。数据库的优点是功能强大,接口丰富,缺点是随着数据量的增加和用户数的增多,会导致数据库的性能变得很低,从而使得数据库成为整个应用系统的瓶颈。
为解决上述问题,一般使用高速缓存(以下简称缓存)保存数据库中的结果。缓存是指基于key-value的分布式存储方案,其优点是查询速度快、存放数据量大、支持高并发。应用系统通过访问缓存,减轻直接访问数据库而对数据库造成的读写压力和计算压力,改善数据访问性能,提高应用系统的处理能力。
在具体应用中,缓存中的数据需要与数据库中的数据保持一致,也即数据库中的数据更新时,更新的数据需要同步到缓存中。在具体实现中,数据库与缓存之间的数据同步主要有以下几点关键要素:
实时性要求:数据库数据更新后,需要尽量保证用户最短时间内在缓存中看到最新数据;
一致性要求:保证数据库与缓存之间的数据一致,数据同步处理应当尽量避免同步数据的丢失;
同步处理计算量:数据库与缓存同步时,对数据库带来的计算压力应当尽量小。
通常,在数据库中使用数据库日志记录数据的更新操作。数据库中的数据更新后,会新增包含更新数据信息的日志数据。外部系统可以按照一定的数据库外部接口规范,进行数据库日志数据的拉取操作。
目前,数据库与缓存之间的数据同步通常采用以下几种方案:
1、基于外部同步程序的数据同步。通过外部同步程序周期性检查数据库内的数据更新,如果检测到数据更新,外部同步程序把相应的更新数据同步更新到缓存中。
但是,现有的这种数据同步方案存在以下缺点:
如果检查周期太短,会存在大量的数据库读取操作,对数据库带来大量附加压力;如果检查周期太长,数据库数据更新后,会经过比较长的时间才能同步到缓存,更新数据无法被用户实时看到,影响同步的实时性;如果数据库包含大量数据,完成一次数据库数据检查对外部同步程序带来的计算开销也是不可接受的。
2、在进行数据查询时完成数据同步。在查询数据时,首先查询缓存,如果缓存中不存在目标数据,则查询数据库,并将数据库中得到的查询数据同步到缓存,同时设置缓存中数据的过期时间;如果缓存中存在目标数据,则检查数据的过期时间,如果发现缓存中该数据已经过期,则查询数据库,并将数据库中得到的查询数据重新同步到缓存,同时重新设置缓存中数据的过期时间。
现有的这种实现方式存在以下缺陷:
缓存服务重新启动后,缓存中不存在任何数据,因此会发生大量数据需要从数据库重新同步的情况,这样会产生在短时间内对数据库带来大量压力和影响性能问题;此外,采用数据查询时完成数据同步,增加了数据查询操作的复杂度和出错概率;而且在缓存数据的过期时间内,如果数据库数据发生更新,则无法实时同步到缓存,用户无法看到最新数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310489129.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:微博群体处理方法及装置
- 下一篇:信息处理方法和装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置