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

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

Info

Publication number
CN103150267A
CN103150267A CN2013100553293A CN201310055329A CN103150267A CN 103150267 A CN103150267 A CN 103150267A CN 2013100553293 A CN2013100553293 A CN 2013100553293A CN 201310055329 A CN201310055329 A CN 201310055329A CN 103150267 A CN103150267 A CN 103150267A
Authority
CN
China
Prior art keywords
data
wrcount
versions
page
write
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.)
Granted
Application number
CN2013100553293A
Other languages
English (en)
Other versions
CN103150267B (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
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry 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

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

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;
Figure 2013100553293100002DEST_PATH_IMAGE001
更新“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 true CN103150267A (zh) 2013-06-12
CN103150267B 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)

Cited By (7)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176179A (ja) * 2008-01-28 2009-08-06 Nec Computertechno Ltd キャッシュコヒーレンシ制御方法
CN101776983A (zh) * 2009-01-13 2010-07-14 中兴通讯股份有限公司 磁盘阵列中双控制器信息的同步方法、及磁盘阵列系统
US8131935B2 (en) * 2009-04-07 2012-03-06 International Business Machines Corporation Virtual barrier synchronization cache

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176179A (ja) * 2008-01-28 2009-08-06 Nec Computertechno Ltd キャッシュコヒーレンシ制御方法
CN101776983A (zh) * 2009-01-13 2010-07-14 中兴通讯股份有限公司 磁盘阵列中双控制器信息的同步方法、及磁盘阵列系统
US8131935B2 (en) * 2009-04-07 2012-03-06 International Business Machines Corporation Virtual barrier synchronization cache

Cited By (9)

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

Also Published As

Publication number Publication date
CN103150267B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103150267A (zh) 一种多控制器间的缓存同步方法
KR101833114B1 (ko) 분산 데이터베이스 시스템들을 위한 고속 장애 복구
KR101827239B1 (ko) 분산 데이터 시스템들을 위한 전 시스템에 미치는 체크포인트 회피
US9141630B2 (en) Fat directory structure for use in transaction safe file system
US9798792B2 (en) Replication for on-line hot-standby database
US8108634B1 (en) Replicating a thin logical unit
US8060714B1 (en) Initializing volumes in a replication system
US8396833B2 (en) Inode management in redirect-on-write file system
US9069701B2 (en) Virtual machine failover
US10089320B2 (en) Method and apparatus for maintaining data consistency in an in-place-update file system with data deduplication
CN111124277A (zh) 一种深度学习数据集缓存方法、系统、终端及存储介质
CN106445409A (zh) 一种分布式块存储的数据写入方法及装置
CN106951376A (zh) 面向闪存的细粒度非易失缓存系统以及缓存管理方法
CN104516832B (zh) 操作数据处理系统的方法、数据处理系统以及处理器
CN106104515A (zh) 利用非易失性存储器的文件系统设计和故障恢复方法
CN104519103A (zh) 网络数据的同步处理方法、服务器及相关系统
CN110147203A (zh) 一种文件管理方法、装置、电子设备及存储介质
CN110134551B (zh) 一种持续数据保护方法及装置
US9002794B1 (en) Reclaiming space from a file system
US10853314B1 (en) Overlay snaps
CN111143113A (zh) 复制元数据的方法、电子设备和计算机程序产品
US20200133514A1 (en) Proactive copy in a storage environment
US11875060B2 (en) Replication techniques using a replication log
US11226875B2 (en) System halt event recovery
CN103713970A (zh) 一种基于虚拟机的磁盘镜像文件快照的制作方法和系统

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