[发明专利]一种实现数据同步的方法及系统有效
| 申请号: | 201310175253.8 | 申请日: | 2013-05-13 |
| 公开(公告)号: | CN104156361B | 公开(公告)日: | 2017-11-17 |
| 发明(设计)人: | 朱国云 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 解婷婷,栗若木 |
| 地址: | 英国英属开曼群岛大*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 数据 同步 方法 系统 | ||
1.一种实现数据同步的方法,其特征在于,在缓存单元中设置独立的用于提供数据失效处理的失效服务,还包括:
当数据库更新数据后,本地机房的失效服务与其它机房的缓存单元交互进行失效处理,将当前更新的数据设置为失效状态;
业务单元访问缓存单元时,在访问数据的失效状态解除后更新访问数据。
2.根据权利要求1所述的方法,其特征在于,该方法之前还包括:所述本地机房的业务单元更新本地数据库中的数据,更新完成后,本地数据库向其它机房中的数据库同步更新的数据。
3.根据权利要求1或2所述的方法,其特征在于,所述本地机房的失效服务与其它机房的缓存单元交互进行失效处理包括:
所述本地机房的业务单元向本地失效服务发送失效请求;
本地失效服务收到失效请求,将失效请求放入后台处理队列,删除更新的数据记录对应的键key值;
本地失效服务的后台线程异步将收到的失效请求发送给其它各机房的缓存单元;
其它机房缓存单元收到失效请求后,判断出自身存储有失效请求中的键Key值时,将该键key值对应的脏dirty标识设置为脏dirty,并设置该dirty标识的过期时间;
判断出自身未存储有失效请求中的键Key值时,将该键key值写入缓存单元并设为空,将该key值对应的dirty标识设置为脏dirty,并设置该dirty标识的过期时间。
4.根据权利要求3所述的方法,其特征在于,所述发送给其它各机房的失效请求中,还包括预先设置在失效服务上的单条记录更新从本地机房数据库同步到其它各机房数据库的最大延时;
所述过期时间为:当前时间与所述单条记录更新从本地机房数据库同步到其它各机房数据库的最大延时之和。
5.根据权利要求4所述的方法,其特征在于,从所述本地机房数据库同步到其它各机房数据库的所述最大延时相同,和/或不同。
6.根据权利要求3所述的方法,其特征在于,所述删除更新的数据记录对应的键key值后,该方法还包括:所述本地失效服务向业务单元返回表示已经收到失效请求的响应。
7.根据权利要求3所述的方法,其特征在于,该方法还包括:所述其它各机房的缓存单元向所述本地机房的失效服务返回请求成功响应。
8.根据权利要求3所述的方法,其特征在于,所述本地失效服务在预设时间内未接收到来自其它各机房的缓存单元的响应,该方法还包括:
所述本地失效服务将失效请求放入重试队列,由重试线程重新发送;
当重试发送次数超过预先设置的次数时,所述本地失效服务将发送失败的失效请求记录在最终失败队列;
所述本地机房发出告警,待告警消除后,通过人工启动命令再次发送最终失败队列中的失效请求。
9.根据权利要求1或2所述的方法,其特征在于,所述业务单元访问缓存单元为读取操作;所述更新访问数据包括:
所述业务单元向缓存单元发送读取请求;
所述缓存单元收到读取请求后,判断需要读取的Key值是否存在,在所述需要读取的键Key值存在时,判断该键Key值的脏dirty标识是否显示为脏dirty,以及该键Key值的脏dirty标识是否过期:
如果判断出需要读取的键Key值存在,该键Key值的脏dirty标识显示为脏dirty且已过期时,所述缓存单元删除需要读取的键Key值;向业务单元返回需要读取的数据不存在;
如果判断出需要读取的键Key值存在,该键Key值的脏dirty标识显示为脏dirty且未过期,所述缓存单元向业务单元返回需要读取的数据不存在;
如果判断出需要读取的键Key值存在,该键Key值的脏dirty标识显示不为脏dirty,所述缓存单元向业务单元返回需要读取的键Key值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310175253.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





