[发明专利]一种多控制器间的缓存同步方法有效
申请号: | 201310055329.3 | 申请日: | 2013-02-21 |
公开(公告)号: | CN103150267B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 王恩东;杨帆;文中领 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/14 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制器 缓存 同步 方法 | ||
技术领域
本发明涉及计算机技术领域,具体地说是一种多控制器间的缓存同步方法。
背景技术
存储磁盘阵列系统是随着计算机技术发展起来的,随着云计算和物联网等新一代信息技术的风起云涌,客户数据规模和应用规模快速扩大并积累。磁盘阵列技术进入一个高速发展时期。提升存储的应用水平,已经成为数据所蕴藏的信息价值能否顺利转化为信息化主题发展动力的关键。多控制器存储系统相对于单控双控来说,有着更好的性能、可用性、可扩展性及可靠性,越来越多的在各应用领域中得到部署。
为了提高多控制器处理数据的性能,磁盘阵列通常采用缓存技术实现数据写回功能。但缓存数据往往存放在易失性存储器中,一般通过缓存镜像技术在多个控制器上对缓存备份从而保证某些控制器节点故障缓存数据不丢失。本发明是一种多控制器间的缓存同步技术,用于保证多个镜像数据与原数据之间的一致性,防止镜像过程中出现原本与副本数据不一致的问题。
发明内容
本发明的目的是提供一种多控制器间的缓存同步方法,提出一种保证多个控制器间的多个缓存资源副本与原本之间的同步方案,解决了多控制器间数据高速缓存的一致性问题。
本发明的目的是按以下方式实现的,该系统结构包括:缓存数据版本记录模块(1)、缓存数据版本更新模块(2),其中:
缓存数据版本记录模块(1)对多控制器系统中的每个缓存页均定义一个原子计数器wrcount记录连续写的次数,用于表示该缓存单元的数据版本,提供的功能是:每个缓存页定义一个计数器记录连续写的次数,用于表示该缓存单元的数据版本,在通知其他控制器镜像端释放备份数据时需同时传递相关页的计数值,只有所传递的计数值大于等于所有镜像端的值才予以释放;
缓存数据版本更新模块(2)在数据镜像时负责向主控申请计数器值并更新其他镜像保存的原子计数器wrcount,在主控刷写完数据后通知其他镜像端释放备份数据时,需同时向镜像端传递当前数据版本,只有所传递的计数值大于等于镜像端的值才予以释放,该模块维护一套更新每个控制器缓存页数据版本的规则,用于保证此计数值能够表示所有控制器的缓存单元数据版本的有效性;
原子计数器wrcount使用规则为以下四点:
一、备份数据作镜像端写操作时,镜像端按以下规则更新计数器值并将更新后的计数器反馈到其他控制器镜像端:
在新页申请时向主控制器申请数据版本,初始值为0,之后每连续写,即写的时候页仍呈“脏”dirty状态时,都向主控制器申请此页的数据版本,主控计数申请一次就加1,并通知其他镜像数据更新此数据版本及内容,如果某次写时页已不为“脏”dirty,即已刷写到磁盘,则主控将所有控制器此页的镜像数据计数都重新置1;
二、主控端写数据时,每个涉及的缓存页要设置“脏”标记,并且增加原子计数器wrcount计数,并通知其他镜像端更新原子计数器wrcount;
更新原子计数器wrcount操作必须在设置“脏”标记操作之后而不是之前进行;释放备份数据前,新备份数据已经覆盖了旧备份数据,释放时根据数据原子计数器wrcount版本判断当前原子计数器wrcount是否大于释放的原子计数器wrcount,如果当前原子计数器wrcount小于等于释放的原子计数器wrcount,则释放备份数据,否则备份数据为新数据不需要释放;
如果某一个页面在刷新缓存之前连续写时,不管是近端写还是远端写,都能保证缓存数据的数据版本是最新的,避免误释放较新的缓存数据导致缓存原本与副本数据不一致问题。
该系统核心在于引入了缓存单元数据版本技术,标识每个缓存单元及缓存副本的数据版本信息,删除数据时需要比较缓存单元数据版本,只删除低版本的缓存数据。
缓存数据版本记录模块(1)体系结构中,所有控制器的每个缓存页与缓存页副本都包含1个字段记录该缓存单元(页)的数据版本,在释放页时,需要对比原本与所有副本的数据版本,只有传递的大于等于所有镜像端的值才予以释放。
缓存数据版本更新模块(2),体系结构中,提供按一定规则更新缓存单元数据版本标识的功能。
本发明的有益效果是:一种多控器间的同步方法支持在多控制器的存储系统中,多个缓存数据副本与原本之间的数据一致性,防止多个副本与原本之间由于镜像先后顺序等原因导致的缓存数据丢失问题。
附图说明
图1是缓存页“连续写”计数值在镜像端的变化状态图;
图2是近端写时释放备份数据流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310055329.3/2.html,转载请声明来源钻瓜专利网。