[发明专利]一种基于私有云的缓存数据一致性维护方法有效
申请号: | 201710441131.7 | 申请日: | 2017-06-13 |
公开(公告)号: | CN107295072B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 顾宁;程沛;卢暾;丁向华 | 申请(专利权)人: | 复旦大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;王洁平 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 私有 缓存 数据一致性 维护 方法 | ||
1.一种基于私有云的缓存数据一致性维护方法,其特征在于,其通过维护私有云下每个缓存节点中数据的一致性,使得重定向的请求直接从新定位的应用服务器节点中获取数据;其由基于缓存的地址空间回溯算法、基于缓存的控制算法和基于缓存的操作执行算法组成;所述基于缓存的地址空间回溯算法是将缓存状态切换到远程操作产生时;基于缓存的控制算法是在执行远程操作时将缓存状态进行更新;基于缓存的操作执行算法是远程操作的执行逻辑;其中:
基于缓存的地址空间回溯算法的具体流程如下:
首先遍历缓存哈希表中的每个数据项,并标记为无效;然后获取数据项下面附着的操作列表,操作列表根据时间戳向量排序算法排序,从操作列表的最后一个操作对象开始进行从后往前遍历;如果操作列表中的操作对象的时间戳和当前回溯空间的时间戳SV为并发操作,则用Torder时间戳比较算法来进行比较大小,如果操作对象的时间戳比当前回溯空间的时间戳SV要小,并且操作类型为将数据存入到缓存的PUT,则设置为有效,跳出循环体;如果是因果关系的操作,则直接比较两个向量时间戳的大小,并且如果操作类型为将数据存入到缓存的PUT,同样也设置为有效,并退出循环;
基于缓存的控制算法的具体流程如下:
首先获得远程操作O的时间戳SVo,再调用地址空间回溯算法将缓存空间切换到SVo时间戳下的缓存数据视图中,执行算法O;接着创建一个的操作节点,将该节点根据Torder时间戳比较算法利用插入排序插入到缓存数据项下的操作节点中;然后更新当前站点的时间戳,即远程操作所在站点的维度值加一,最后以更新的站点时间戳进行地址空间回溯,将已经执行过的远程操作对缓存数据的更新包含到当前的站点中;
基于缓存的操作执行算法的具体流程如下:
首先从远程操作O中获取操作内容,操作内容包含如何根据已有的信息从缓存中获取数据,并且要求和缓存中的键值有一对一的映射关系,即根据操作内容直接得到键值;然后根据操作内容得到在缓存中是否已经包含该键值的判断,如果缓存中已经存在键值,则直接获取该键值对应的数据,否则,就创建一个新的数据对象;如果缓存中包含该键值,则从缓存中获取该存储对象,根据地址空间回溯算法中对缓存中的每个数据项设置的有效性属性,判断存储对象的value值是否有效,如果在当前时间戳下该数据是无效的,则需要执行操作O,即从数据库中重新获取一遍数据;如果缓存中不存在该键值,则同样也需要执行操作O;最后把对应的键值以及获取到的数据执行结果对放入到缓存中去。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710441131.7/1.html,转载请声明来源钻瓜专利网。