CN103150267B - 一种多控制器间的缓存同步方法 - Google Patents

一种多控制器间的缓存同步方法 Download PDF

Info

Publication number
CN103150267B
CN103150267B CN201310055329.3A CN201310055329A CN103150267B CN 103150267 B CN103150267 B CN 103150267B CN 201310055329 A CN201310055329 A CN 201310055329A CN 103150267 B CN103150267 B CN 103150267B
Authority
CN
China
Prior art keywords
data
page
wrcount
versions
mirror image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310055329.3A
Other languages
English (en)
Other versions
CN103150267A (zh
Inventor
王恩东
杨帆
文中领
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201310055329.3A priority Critical patent/CN103150267B/zh
Publication of CN103150267A publication Critical patent/CN103150267A/zh
Application granted granted Critical
Publication of CN103150267B publication Critical patent/CN103150267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种多控制器间的缓存同步方法,系统结构包括:缓存数据版本记录模块(1)、缓存数据版本更新模块(2),缓存数据版本记录模块(1)对多控制器系统中的每个缓存页均定义一个原子计数器wrcount记录连续写的次数,用于表示该缓存单元(页)的数据版本。缓存数据版本更新模块(2)在数据镜像时负责向主控申请计数器值并更新其他镜像保存的wrcount。在主控刷写完数据后通知其他镜像端释放备份数据时,需同时向镜像端传递当前数据版本,只有所传递的计数值大于等于镜像端的值才予以释放。在多控器间的同步方法支持的多控制器的存储系统中,多个缓存数据副本与原本之间的数据一致性,防止多个副本与原本之间由于镜像先后顺序等原因导致的缓存数据丢失问题。

Description

一种多控制器间的缓存同步方法
技术领域
本发明涉及计算机技术领域,具体地说是一种多控制器间的缓存同步方法。
背景技术
存储磁盘阵列系统是随着计算机技术发展起来的,随着云计算和物联网等新一代信息技术的风起云涌,客户数据规模和应用规模快速扩大并积累。磁盘阵列技术进入一个高速发展时期。提升存储的应用水平,已经成为数据所蕴藏的信息价值能否顺利转化为信息化主题发展动力的关键。多控制器存储系统相对于单控双控来说,有着更好的性能、可用性、可扩展性及可靠性,越来越多的在各应用领域中得到部署。
为了提高多控制器处理数据的性能,磁盘阵列通常采用缓存技术实现数据写回功能。但缓存数据往往存放在易失性存储器中,一般通过缓存镜像技术在多个控制器上对缓存备份从而保证某些控制器节点故障缓存数据不丢失。本发明是一种多控制器间的缓存同步技术,用于保证多个镜像数据与原数据之间的一致性,防止镜像过程中出现原本与副本数据不一致的问题。
发明内容
本发明的目的是提供一种多控制器间的缓存同步方法,提出一种保证多个控制器间的多个缓存资源副本与原本之间的同步方案,解决了多控制器间数据高速缓存的一致性问题。
本发明的目的是按以下方式实现的,该系统结构包括:缓存数据版本记录模块(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是近端写时释放备份数据流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
正如发明内容中所描述的,本发明的系统结构主要包括:缓存数据版本记录模块(1)、缓存数据版本更新模块(2)。
在一个典型的配置环境里,缓存数据版本记录模块(1)对多控制器系统中的每个缓存页均定义一个原子计数器wrcount记录连续写的次数,用于表示该缓存单元(页)的数据版本。缓存数据版本更新模块(2)在数据镜像时负责向主控申请计数器值并更新其他镜像保存的wrcount。在主控刷写完数据后通知其他镜像端释放备份数据时,需同时向镜像端传递当前数据版本,只有所传递的计数值大于等于镜像端的值才予以释放。
该计数器使用规则为以下四点:
一、备份数据(镜像端写操作)时镜像端按以下规则更新计数器值并将更新后的计数器反馈到其他控制器镜像端:
在新页申请时向主控制器申请数据版本,初始值为0。之后每连续写(即写的时候页仍呈dirty状态)都向主控制器申请此页的数据版本,主控计数申请一次就加1,并通知其他镜像数据更新此数据版本及内容。如果某次写时页已不为“脏”,即已刷写到磁盘,则主控将所有控制器此页的镜像数据计数都重新置1。
如图1所示,其中T5转变是指新的写(备份)缓存操作发起时页已经刷写或者正在刷写到磁盘上则计数值重新变为1。
二、主控端写数据时,每个涉及的缓存页要设置“脏”标记,并且增加wrcount计数,并通知其他镜像端更新wrcount。
其他镜像端按下列规则判断是否需要更新wrcount;
更新“wrcount计数器”操作必须在设置“脏”标记操作之后而不是之前进行。如图2所示,在第7步释放备份数据前,新备份数据已经覆盖了旧备份数据,释放时根据数据wrcount版本判断当前wrcount是否大于释放的wrcount,如果当前wrcount小于等于释放的wrcount,则释放备份数据,否则备份数据为新数据不需要释放。
至此,已经完整实现了一种多控器间的缓存同步方法,这种技术能够保证如果某一个页面在刷新缓存之前连续写时,不管是近端写还是远端写,都能保证缓存数据的数据版本是最新的,避免误释放较新的缓存数据导致缓存原本与副本数据不一致问题。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (4)

1.一种多控制器间的缓存同步方法, 其特征在于该方法中使用的系统结构包括:缓存数据版本记录模块(1)、缓存数据版本更新模块(2),其中:
缓存数据版本记录模块(1)对多控制器系统中的每个缓存页均定义一个原子计数器wrcount记录连续写的次数,用于表示系统中缓存单元的数据版本,其提供的功能是:每个缓存页定义一个计数器记录连续写的次数,用于表示该缓存单元的数据版本,在通知其他控制器镜像端释放备份数据时需同时传递相关页的计数值,只有所传递的计数值大于等于所有镜像端的值才予以释放;
缓存数据版本更新模块(2)在数据镜像时负责向主控申请计数器值并更新其他镜像保存的原子计数器wrcount,在主控刷写完数据后通知其他镜像端释放备份数据时,需同时向镜像端传递当前数据版本,只有所传递的计数值大于等于镜像端的值才予以释放,该模块维护一套更新每个控制器缓存页数据版本的规则,用于保证此计数值能够表示所有控制器的缓存单元数据版本的有效性;
原子计数器wrcount使用规则为以下四点:
一、备份数据作镜像端写操作时,镜像端按以下规则更新计数器值并将更新后的计数器反馈到其他控制器镜像端:
在新页申请时向主控制器申请数据版本,初始值为0,之后每连续写,即写的时候页仍呈“脏”dirty状态时,都向主控制器申请此页的数据版本,主控计数申请一次就加1,并通知其他镜像数据更新此数据版本及内容,如果某次写时页已不为“脏”dirty,即已刷写到磁盘,则主控将所有控制器此页的镜像数据计数都重新置1;
二、主控端写数据时,每个涉及的缓存页要设置“脏”标记,并且增加原子计数器wrcount计数,并通知其他镜像端更新原子计数器wrcount;
更新原子计数器wrcount操作必须在设置“脏”标记操作之后而不是之前进行;释放备份数据前,新备份数据已经覆盖了旧备份数据,释放时根据数据原子计数器wrcount版本判断当前原子计数器wrcount是否大于释放的原子计数器wrcount,如果当前原子计数器wrcount小于等于释放的原子计数器wrcount,则释放备份数据,否则备份数据为新数据不需要释放;
如果某一个页面在刷新缓存之前连续写时,不管是近端写还是远端写,都能保证缓存数据的数据版本是最新的,避免误释放较新的缓存数据导致缓存原本与副本数据不一致问题。
2.根据权利要求1所述的一种多控制器间的缓存同步方法,特征在于该方法中使用的系统核心在于引入了缓存单元数据版本技术,标识系统中每个缓存单元及缓存副本的数据版本信息,删除数据时需要比较系统中缓存单元数据版本,只删除低版本的缓存数据。
3.根据权利要求1所述的方法,其特征在于缓存数据版本记录模块(1)体系结构中,所有控制器的每个缓存页与缓存页副本都包含1个字段记录缓存单元/缓存页的数据版本,在释放页时,需要对比原本与所有副本的数据版本,只有传递的大于等于所有镜像端的值才予以释放。
4.根据权利要求1所述的方法,其特征在于缓存数据版本更新模块(2)体系结构中,提供按一定规则更新缓存单元数据版本标识的功能。
CN201310055329.3A 2013-02-21 2013-02-21 一种多控制器间的缓存同步方法 Active CN103150267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310055329.3A CN103150267B (zh) 2013-02-21 2013-02-21 一种多控制器间的缓存同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310055329.3A CN103150267B (zh) 2013-02-21 2013-02-21 一种多控制器间的缓存同步方法

Publications (2)

Publication Number Publication Date
CN103150267A CN103150267A (zh) 2013-06-12
CN103150267B true CN103150267B (zh) 2017-02-08

Family

ID=48548360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310055329.3A Active CN103150267B (zh) 2013-02-21 2013-02-21 一种多控制器间的缓存同步方法

Country Status (1)

Country Link
CN (1) CN103150267B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391802A (zh) * 2014-11-24 2015-03-04 浪潮电子信息产业股份有限公司 一种精简池元数据节点刷新一致性保护方法
CN106527959B (zh) * 2015-09-10 2019-07-26 阿里巴巴集团控股有限公司 刷新磁盘输入输出请求的处理方法及设备
CN106569751A (zh) * 2016-11-10 2017-04-19 郑州云海信息技术有限公司 一种多控制器缓存镜像方法及系统
CN108228678B (zh) 2016-12-22 2020-10-16 华为技术有限公司 一种多副本数据恢复方法及装置
CN107301051A (zh) * 2017-06-27 2017-10-27 深圳市金立通信设备有限公司 终端动态数据的缓存与交互方法、终端、系统及计算机可读存储介质
CN109407998B (zh) * 2018-11-09 2022-02-18 郑州云海信息技术有限公司 一种缓存中io流同步的方法、系统及相关组件
CN111984552A (zh) * 2020-08-21 2020-11-24 苏州浪潮智能科技有限公司 一种缓存管理方法、装置及电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101776983A (zh) * 2009-01-13 2010-07-14 中兴通讯股份有限公司 磁盘阵列中双控制器信息的同步方法、及磁盘阵列系统
US8131935B2 (en) * 2009-04-07 2012-03-06 International Business Machines Corporation Virtual barrier synchronization cache

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4474570B2 (ja) * 2008-01-28 2010-06-09 エヌイーシーコンピュータテクノ株式会社 キャッシュコヒーレンシ制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101776983A (zh) * 2009-01-13 2010-07-14 中兴通讯股份有限公司 磁盘阵列中双控制器信息的同步方法、及磁盘阵列系统
US8131935B2 (en) * 2009-04-07 2012-03-06 International Business Machines Corporation Virtual barrier synchronization cache

Also Published As

Publication number Publication date
CN103150267A (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
CN103150267B (zh) 一种多控制器间的缓存同步方法
US11907200B2 (en) Persistent memory management
CN105612503B (zh) 持久性数据结构
US7587564B2 (en) System, method and computer program product for managing data versions
KR101827239B1 (ko) 분산 데이터 시스템들을 위한 전 시스템에 미치는 체크포인트 회피
KR101914019B1 (ko) 분산 데이터베이스 시스템들을 위한 고속 장애 복구
US8209498B2 (en) Method and system for transferring duplicate files in hierarchical storage management system
US8244999B1 (en) Maintaining data consistency in mirrored cluster storage systems with write-back cache
US8977826B1 (en) Extent commands in replication
US9069682B1 (en) Accelerating file system recovery by storing file system metadata on fast persistent storage during file system recovery
US9047221B2 (en) Virtual machines failover
US20170052723A1 (en) Replicating data using remote direct memory access (rdma)
CN109725840A (zh) 利用异步冲刷对写入进行节流
CN103885895A (zh) 容错集群存储系统中的写入性能
KR101090633B1 (ko) 정센터의 가상 테이프 장치, 부센터의 가상 테이프 장치, 가상 라이브러리 시스템 및 가상 테이프 제어 방법
US8200627B2 (en) Journaling database changes using a bit map for zones defined in each page
CN106951376A (zh) 面向闪存的细粒度非易失缓存系统以及缓存管理方法
CN106445409A (zh) 一种分布式块存储的数据写入方法及装置
CN110196818A (zh) 缓存数据的方法、缓存设备和存储系统
US7650476B2 (en) System, method and computer program product for generating a consistent point in time copy of data
CN106959907A (zh) 一种云平台碎片化数据备份还原系统
US9292213B2 (en) Maintaining at least one journal and/or at least one data structure by circuitry
CN107402848A (zh) 一种快照数据一致性的实现方法
WO2020057479A1 (zh) 地址映射表项页管理
US11010091B2 (en) Multi-tier storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20161222

Address after: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant after: Zhengzhou Yunhai Information Technology Co. Ltd.

Address before: 250014 Shandong Province, Ji'nan City hi tech Development Zone, Nga Road No. 1036

Applicant before: Langchao Electronic Information Industry Co., Ltd.

TA01 Transfer of patent application right
C14 Grant of patent or utility model
GR01 Patent grant