CN103116476A - 一种多控制器间的缓存管理系统 - Google Patents

一种多控制器间的缓存管理系统 Download PDF

Info

Publication number
CN103116476A
CN103116476A CN2013100567347A CN201310056734A CN103116476A CN 103116476 A CN103116476 A CN 103116476A CN 2013100567347 A CN2013100567347 A CN 2013100567347A CN 201310056734 A CN201310056734 A CN 201310056734A CN 103116476 A CN103116476 A CN 103116476A
Authority
CN
China
Prior art keywords
controller
data
disk
controllers
buffer memory
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
CN2013100567347A
Other languages
English (en)
Other versions
CN103116476B (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.)
Inspur Electronic Information Industry 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 CN201310056734.7A priority Critical patent/CN103116476B/zh
Publication of CN103116476A publication Critical patent/CN103116476A/zh
Application granted granted Critical
Publication of CN103116476B publication Critical patent/CN103116476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种多控制器间的缓存管理系统,通过控制器id记录数据块的分布,在单个缓存更新时,同时更新其它控制器的缓存,有效地克服了多控制器节点故障导致缓存数据丢失的缺陷,保证了数据的一致性,当系统中存在N+1个控制器时,能容忍N个控制器同时出现故障,同一数据在缓存中存在多份,并维持一张全局目录表,记录数据块的分布。在单个缓存更新时,同时更新其它控制器的缓存,有效地克服了多控制器节点故障导致缓存数据丢失的缺点,保证了数据的一致性。

Description

一种多控制器间的缓存管理系统
技术领域
本发明涉及计算机应用领域,具体地说是一种多控制器间的缓存管理系统。
背景技术
存储设备出现故障, 一直是IT人员头痛的事,因为没有有效的手段,让多个控制器间数据高速缓存保持一致。某个或某些控制器出现故障后,没有足够的缓存备份,导致数据丢失。这会严重影响到企业的正常营运。目前市面存储产品大多只支持一个或几个特定的控制器出故障后数据不丢失。采用此方案的系统,可以做到N+1个控制器的系统中,N个控制器出故障后缓存数据不丢失。
多控器间的缓存管理系统如字义所言,就是对多个控制器间的缓存资源虚拟化全局共享,实现缓存的统一管理与冗余分配,解决多个控制器同时故障时缓存数据丢失问题。
发明内容
本发明的目的是提供一种多控制器间的缓存管理系统。
本发明的目的是按以下方式实现的,同一数据在缓存中存在多份,通过控制器id记录数据块的分布,在单个缓存更新时,同时更新其它控制器的缓存,有效地克服了多控制器节点故障导致缓存数据丢失的缺陷,保证了数据的一致性,当系统中存在N+1个控制器时,能容忍N个控制器同时出现故障,该系统结构包括:缓存管理模块(1)、缓存同步模块(2)、故障处理模块(3),其中:
缓存管理模块(1)提供如下功能:
磁盘管理功能:所有加入到多控系统缓存管理模块的磁盘对于每台控制器来说都需要创建对应的红黑树用来缓存数据,所有红黑树用链表连接起来,并记录此磁盘所属控制器id,便于确定此磁盘属于哪个控制器,并通知所有控制器,使其他控制器也创建此磁盘的红黑树并记录所属控制器id,从系统中移除磁盘时,需要通知所有控制器释放此结构;
缓存数据组织缓存功能:将所有从本控制器或其他控制器发送的数据按照一定规则有序组织并缓存到内存中,每台控制器用链表将所有分配的空闲页挂接在一个链表中,对于所有控制器的每个磁盘,写入的数据都缓存在每台控制器对应磁盘的红黑树上;
刷写缓存数据功能:根据磁盘id判断所属本控制器磁盘,刷新本磁盘上的红黑树中缓存数据到磁盘中,并通知所有其他控制器释放此缓存数据,其他磁盘释放对应红黑树的缓存数据,所有释放的缓存移动到空余页链表中;
预读功能:在读数据时,如果数据存在于内存中,直接从内存返回数据内容,避免在磁盘上查找的低效率;
缓存同步模块(2)提供如下功能:
从任意控制器写入数据时,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致;
从任意控制器读取数据时,如果数据不存在于缓存中,需要根据磁盘所属控制器id来通知此控制器读取实际数据,此控制器将数据读到缓存中后,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致;
故障处理模块(3)提供如下功能:
故障处理:负责通过心跳包检测各个控制器的状态,当某个或某些控制器出现故障时,相邻控制器会接管这些故障控制器磁盘,并更新此磁盘的所属控制器id;
新增控制器:向系统新增控制器时,从相邻控制器复制缓存数据,保证缓存数据一致性。
在体系结构中,所有控制器保存一份相同的缓存数据。
缓存管理模块(1),当加入磁盘时通知所有控制器,使其他控制器也创建此磁盘的数据结构用来缓存数据。
缓存同步模块(2),从任意控制器写入数据时,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致,从任意控制器读取数据时,如果数据不存在于缓存中,需要根据磁盘所属控制器id来通知此控制器读取实际数据,此控制器将数据读到缓存中后,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致。
故障处理模块(3),向系统新增控制器时,从相邻控制器复制缓存数据,保证缓存数据一致性。
本发明的有益效果是:一种多控器间的缓存管理系统支持在N+1个节点的存储系统中,N个节点同时故障。因此采用这种“多控器间的缓存管理系统”技术可以增加系统可靠性,防止在多个控制器出现故障时,缓存数据丢失问题。
附图说明
图1是磁盘注册流程图;
图2是缓存数据写入同步流程图;
图3是缓存数据读取同步流程图;
图4是单台控制器缓存数据组织形式图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
正如发明内容中所描述的,本发明体系结构主要包括:缓存管理模块(1)、缓存同步模块(2)、故障处理模块(3)。
在一个典型的配置环境里,如果是写入数据,数据写入到缓存中,缓存同步模块(2)根据将写入数据同步到其他控制器缓存,其他控制器缓存管理模块(1)会记录此数据,同步完成后本地控制器缓存管理模块(1)也记录此数据并通知上层写入完成。如果是读取数据,首先查找是否在本控制器缓存中,如果不存在则根据磁盘所属控制器id,缓存备份模块(2)通知所在控制器读取磁盘数据到缓存中并同步缓存数据。同步完成后直接读取本地控制器的缓存,返回读成功。当系统中某台控制器出现故障时,相邻控制器的故障处理模块(3)接管出错控制器的磁盘,并修改这些磁盘的所属控制器id为本控制器id,然后通知其他控制器更新这些磁盘修改的所属控制器id。 
至此,已经完整实现了整个一种多控器间的缓存管理系统,这种技术与传统的缓存管理系统不一样之处在于实现了多个控制器的缓存同步功能,并且保障了N+1个控制器存储系统中,N个控制器同时故障系统不会丢失缓存数据。
因此采用这种技术,使其应用在存储系统中,解决了多控制器间数据高速缓存的一致性问题,极大的提高了系统的可靠性。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (5)

1.一种多控制器间的缓存管理系统, 其特征在于同一数据在缓存中存在多份,通过控制器id记录数据块的分布,在单个缓存更新时,同时更新其它控制器的缓存,有效地克服了多控制器节点故障导致缓存数据丢失的缺陷,保证了数据的一致性,当系统中存在N+1个控制器时,能容忍N个控制器同时出现故障,该系统结构包括:缓存管理模块(1)、缓存同步模块(2)、故障处理模块(3),其中:
缓存管理模块(1)提供如下功能:
磁盘管理功能:所有加入到多控系统缓存管理模块的磁盘对于每台控制器来说都需要创建对应的红黑树用来缓存数据,所有红黑树用链表连接起来,并记录此磁盘所属控制器id,便于确定此磁盘属于哪个控制器,并通知所有控制器,使其他控制器也创建此磁盘的红黑树并记录所属控制器id,从系统中移除磁盘时,需要通知所有控制器释放此结构;
缓存数据组织缓存功能:将所有从本控制器或其他控制器发送的数据按照一定规则有序组织并缓存到内存中,每台控制器用链表将所有分配的空闲页挂接在一个链表中,对于所有控制器的每个磁盘,写入的数据都缓存在每台控制器对应磁盘的红黑树上;
刷写缓存数据功能:根据磁盘id判断所属本控制器磁盘,刷新本磁盘上的红黑树中缓存数据到磁盘中,并通知所有其他控制器释放此缓存数据,其他磁盘释放对应红黑树的缓存数据,所有释放的缓存移动到空余页链表中;
预读功能:在读数据时,如果数据存在于内存中,直接从内存返回数据内容,避免在磁盘上查找的低效率;
缓存同步模块(2)提供如下功能:
从任意控制器写入数据时,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致;
从任意控制器读取数据时,如果数据不存在于缓存中,需要根据磁盘所属控制器id来通知此控制器读取实际数据,此控制器将数据读到缓存中后,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致;
故障处理模块(3)提供如下功能:
故障处理:负责通过心跳包检测各个控制器的状态,当某个或某些控制器出现故障时,相邻控制器会接管这些故障控制器磁盘,并更新此磁盘的所属控制器id;
新增控制器:向系统新增控制器时,从相邻控制器复制缓存数据,保证缓存数据一致性。
2.根据权利要求1所述的方法,其特征在于在体系结构中,所有控制器保存一份相同的缓存数据。
3.根据权利要求1所述的方法,其特征在于缓存管理模块(1),当加入磁盘时通知所有控制器,使其他控制器也创建此磁盘的数据结构用来缓存数据。
4.根据权利要求1所述方法,其特征在于缓存同步模块(2),从任意控制器写入数据时,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致,从任意控制器读取数据时,如果数据不存在于缓存中,需要根据磁盘所属控制器id来通知此控制器读取实际数据,此控制器将数据读到缓存中后,将此缓存数据发送到其余控制器缓存中保存,其余控制器更新自己的缓存,从而保证所有控制器缓存数据一致。
5.根据权利要求1所述的方法,其特征在于故障处理模块(3),向系统新增控制器时,从相邻控制器复制缓存数据,保证缓存数据一致性。
CN201310056734.7A 2013-02-22 2013-02-22 一种多控制器间的缓存管理系统 Active CN103116476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310056734.7A CN103116476B (zh) 2013-02-22 2013-02-22 一种多控制器间的缓存管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310056734.7A CN103116476B (zh) 2013-02-22 2013-02-22 一种多控制器间的缓存管理系统

Publications (2)

Publication Number Publication Date
CN103116476A true CN103116476A (zh) 2013-05-22
CN103116476B CN103116476B (zh) 2016-12-28

Family

ID=48414868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310056734.7A Active CN103116476B (zh) 2013-02-22 2013-02-22 一种多控制器间的缓存管理系统

Country Status (1)

Country Link
CN (1) CN103116476B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506625A (zh) * 2016-11-02 2017-03-15 郑州云海信息技术有限公司 四控服务器及四控服务器通信方法
CN106528447A (zh) * 2016-10-25 2017-03-22 郑州云海信息技术有限公司 一种分布式san的缓存同步方法
CN106897175A (zh) * 2017-02-19 2017-06-27 郑州云海信息技术有限公司 热替换nc节点的方法及装置
CN107643988A (zh) * 2017-09-15 2018-01-30 郑州云海信息技术有限公司 一种具有失效切换机制的存储系统及存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549988B1 (en) * 1999-01-22 2003-04-15 Ilya Gertner Data storage system comprising a network of PCs and method using same
CN102006330A (zh) * 2010-12-01 2011-04-06 北京瑞信在线系统技术有限公司 分布式缓存系统、数据的缓存方法及缓存数据的查询方法
US20110145499A1 (en) * 2009-12-16 2011-06-16 International Business Machines Corporation Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
CN102333108A (zh) * 2011-03-18 2012-01-25 北京神州数码思特奇信息技术股份有限公司 分布式缓存同步系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549988B1 (en) * 1999-01-22 2003-04-15 Ilya Gertner Data storage system comprising a network of PCs and method using same
US20110145499A1 (en) * 2009-12-16 2011-06-16 International Business Machines Corporation Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
CN102006330A (zh) * 2010-12-01 2011-04-06 北京瑞信在线系统技术有限公司 分布式缓存系统、数据的缓存方法及缓存数据的查询方法
CN102333108A (zh) * 2011-03-18 2012-01-25 北京神州数码思特奇信息技术股份有限公司 分布式缓存同步系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李文中等: "分布式缓存系统中一种优化缓存部署的图算法", 《JOURNAL OF SOFTWARE》 *
杨波等: "多控制器集群流媒体缓存代理的研究", 《电子与信息学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528447A (zh) * 2016-10-25 2017-03-22 郑州云海信息技术有限公司 一种分布式san的缓存同步方法
CN106506625A (zh) * 2016-11-02 2017-03-15 郑州云海信息技术有限公司 四控服务器及四控服务器通信方法
CN106897175A (zh) * 2017-02-19 2017-06-27 郑州云海信息技术有限公司 热替换nc节点的方法及装置
CN107643988A (zh) * 2017-09-15 2018-01-30 郑州云海信息技术有限公司 一种具有失效切换机制的存储系统及存储方法

Also Published As

Publication number Publication date
CN103116476B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
US7882316B2 (en) Shared data mirroring apparatus, method, and system
US5210866A (en) Incremental disk backup system for a dynamically mapped data storage subsystem
US9141486B2 (en) Intelligent I/O cache rebuild in a storage controller
TWI450087B (zh) 複數個磁碟陣列系統之資料儲存方法及資料儲存系統
US7600152B2 (en) Configuring cache memory from a storage controller
AU2013403132B2 (en) Data storage method, data storage apparatus, and storage device
CN102033786B (zh) 一种对象存储系统中修复副本一致性的方法
CN104881368B (zh) 应用于双控存储系统的缓存同步方法及系统
CN105897859B (zh) 一种存储系统
JP2007122477A (ja) Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US9286175B2 (en) System and method of write hole protection for a multiple-node storage cluster
TW201107981A (en) Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system
CN103116476A (zh) 一种多控制器间的缓存管理系统
US10642508B2 (en) Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media
CN104166601A (zh) 一种存储数据的备份方法和装置
CN110134551B (zh) 一种持续数据保护方法及装置
CN105843560A (zh) 一种维护主从式双控软Raid6一致性的方法及系统
JP2006268420A (ja) ディスクアレイ装置、ストレージシステムおよび制御方法
CN101046760B (zh) 存储装置、数据设置方法以及程序
CN105740172A (zh) 一种块设备数据缓存掉电保护的方法及系统
CN100492323C (zh) 对缓存内容进行保护的方法和装置以及缓存控制器
JP2003316525A (ja) ディスクアレイ制御装置
CN104156327A (zh) 一种分布式文件系统中写回模式下对象掉电识别方法
WO2022033269A1 (zh) 数据处理的方法、设备及系统
CN105871987A (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
C14 Grant of patent or utility model
GR01 Patent grant