CN103605616A - 一种多控制器间的缓存数据一致性保障方法 - Google Patents
一种多控制器间的缓存数据一致性保障方法 Download PDFInfo
- Publication number
- CN103605616A CN103605616A CN201310587503.9A CN201310587503A CN103605616A CN 103605616 A CN103605616 A CN 103605616A CN 201310587503 A CN201310587503 A CN 201310587503A CN 103605616 A CN103605616 A CN 103605616A
- Authority
- CN
- China
- Prior art keywords
- controller
- data
- node
- message
- 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.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种多控制器间的缓存数据一致性保障方法,其具体保障过程为:设置至少两个控制器,进行缓存镜像操作:当其中一个控制器接收到写请求后,数据写入磁盘前先发送到另一控制器进行镜像,在第一控制器发生故障后,在进行资源接管前保证第二控制器中的镜像数据先被写入磁盘;当一控制器出现故障时,进行故障切换,即将出现故障的控制器转换为完好的控制器,当失效的控制器恢复后,则该控制器继续启动工作。该一种多控制器间的缓存数据一致性保障方法和现有技术相比,确保了多控制器系统意外故障时数据的一致性,做到无单点故障,保证数据的可靠性,安全性好,实用性强。
Description
技术领域
本发明涉及计算机信息技术领域,具体的说是一种多控制器间的缓存数据一致性保障方法。
背景技术
随着信息时代的到来,人们不仅要处理与日俱增的各种信息,更重要的是如何保存这些信息,为日常的工作和生活服务。计算机系统发展到今天,其应用的主流已经从科学计算变为泛计算应用,特别是信息服务,这种变化使得计算机在经历以CPU为中心和以内存为中心的阶段后,进入以I/O特别是存储系统为中心的阶段。在电子商务迅速发展的今天,产生的数据量正以100%的速度爆炸性增长,数据已经成为一种财富,由此给企业IT基础设施带来严峻的挑战,特别在高能物理研究、电视视频节目数字化存储、数字博物馆、地理信息系统、气象服务、生物信息学、数字图像处理、金融、电信等领域对大数据量的数据存取迫切需要一种安全有效地方法,而这一切的基础又是数据一致性。本发明设计了一种多控制器间的缓存数据一致性保障方法,有效地防止了多控制器中的任一控制器由于意外故障而导致缓存里的数据丢失,确保了系统意外故障时数据的一致性。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种多控制器间的缓存数据一致性保障方法。
本发明的技术方案是按以下方式实现的,该一种多控制器间的缓存数据一致性保障方法,其具体保障过程为:
一、设置至少两个控制器,进行缓存镜像操作:当其中一个控制器接收到写请求后,数据写入磁盘前先发送到另一控制器进行镜像,在第一控制器发生故障后,在进行资源接管前保证第二控制器中的镜像数据先被写入磁盘;
二、当一控制器出现故障时,进行故障切换,即将出现故障的控制器转换为完好的控制器,当失效的控制器恢复后,则该控制器继续启动工作。
所述步骤一中的缓存镜像操作的详细过程为:对于写镜像操作,在数据写入本地控制器磁盘之前,会先发送消息到对端控制器,对端控制器接收到消息后启动RDMA操作,然后将数据保存,RDMA操作完成后会自动发送消息通知本地控制器,这时本地控制器进行写操作;当本地控制器的数据同步到本地磁盘完成后,再通过发送DEL消息到对端控制器将其缓存中的数据删除。
所述步骤二中的故障切换过程为:设置故障切换模块在多个节点间通过心跳消息来监测每个节点的状态,该故障切换模块由服务状态检测、任务接管回切和管理三部分组成,每个节点定期发送心跳消息给其它节点,通知对方正在工作,如果在规定的时间范围内没有接收到心跳信息,先进行一系列的监测确定对方是否失效,若失效,则启动接管、恢复进程将失效控制器的资源和任务全部接管,由接管的节点开始对外提供服务;当失效控制器恢复后,状态监测进程又会发送心跳信息,当接管节点接收到发送过来的心跳消息后,就立即释放占有的资源,将这些资源和服务在恢复的控制器上启动。
本发明与现有技术相比所产生的有益效果是:
本发明的一种多控制器间的缓存数据一致性保障方法通过在多个控制器间的实现缓存镜像技术和故障切换技术,解决了多控制器间高速缓存的数据一致性问题,在数据读写时,将数据同时写入到两个独立的内存区域中,相对于现有的内存访问只在单内存区域中进行的情况,有效地防止了多控制器中的任一控制器由于意外故障而导致缓存里的数据丢失的情况的发生,确保了多控制器系统意外故障时数据的一致性,做到无单点故障,在任一控制器发生故障的情况下仍可保证数据存取服务不中断,保证数据的可靠性,安全性好,实用性强,易于推广。
附图说明
图1是本发明的硬件构架图。
具体实施方式
下面结合附图对本发明的一种多控制器间的缓存数据一致性保障方法作详细说明。
本发明提供一种多控制器间的缓存数据一致性保障方法,该方法所设计的系统体系结构包括:缓存镜像模块和故障切换模块,故障切换模块在多个节点间通过心跳消息来监测每个节点的状态,由服务状态检测,任务接管回切和管理部分组成,它和缓存镜像模块结合来维护数据的一致性,保证存储服务连续性。其具体保障过程为:
一、设置缓存镜像模块,设置两个控制器,即控制器A和控制器B:实现了控制器A接收到写请求后,数据写入磁盘前先发送到另一控制器B进行镜像,在控制器A发生故障后,在进行资源接管前保证控制器B中的镜像数据先被写入磁盘。
设置故障切换模块:在多个控制器节点间通过心跳消息来监测每个节点的状态,它由服务状态检测,任务接管回切和管理部分组成,它和缓存镜像模块结合来维护数据的一致性,保证存储服务连续性。当一控制器出现故障时,进行故障切换,即将出现故障的控制器转换为完好的控制器,当失效的控制器恢复后,则该控制器继续启动工作。
在该体系结构中,两个控制器同时保存一份相同的缓存数据。
其具体的硬件结构如附图1所示,若干控制器连接到交换背板上,该交换背板通过交换接口连接有若干本地的磁盘箱,在交换背板上还设置有管理故障切换动作的管理单元。
所述步骤一中的缓存镜像操作的详细过程为:对于写镜像操作,在数据写入本地控制器磁盘之前,会先发送消息到对端控制器,对端控制器接收到消息后启动RDMA操作,然后将数据保存,RDMA操作完成后会自动发送消息通知缓存镜像模块,这时本地控制器就可以进行写操作了。在后来的某个时刻,当本地控制器的数据同步到本地磁盘完成后,再通过发送DEL消息到对端控制器将其缓存中的数据删除。
所述步骤二中的故障切换过程为:故障切换模块在多个节点间通过心跳消息来监测每个节点的状态,每个节点定期发送心跳消息给其它节点,通知对方正在工作,如果在规定的时间范围内没有接收到心跳信息,先进行一系列的监测确定对方是否失效,若失效,则启动接管、恢复进程将失效控制器的资源和任务全部接管,由接管的节点开始对外提供服务。当失效控制器恢复后,状态监测进程又会发送心跳信息,当接管节点接收到发送过来的心跳消息后,就立即释放占有的资源,将这些资源和服务在恢复的控制器上启动,这样就智能地实现了故障时的高可用。
实施例:根据上述步骤,控制器节点A和控制器节点B详细的缓存数据保障过程为:
1)节点A收到客户端写数据后,首先将数据通过RDMA消息发送到节点B上进行镜像,然后将数据写入本地高速缓存中。
2)在节点A上将记录scsiid,数据长度len和在文件中偏移pos等信息结构插入链表中。
3)在节点B上,收到RDMA消息后,启动RDMA读操作,记录scsiid,数据长度和在文件中偏移,并将存储这些信息的结构体插入两个链表中:icm_mirrordatahead链表,用于收到消息“del”后删除;headnode_s链表,用于接管时将同一个磁盘上的数据刷到后端磁盘上。
4)节点A上的刷新线程定时将其上链表中数据刷到磁盘,然后发送RDMA消息给节点B,通知节点B将链表上的镜像记录删除并释放镜像的数据。
5)节点B收到RDMA消息后,根据scsiid,len,pos记录,从链表上删除并释放镜像数据。
6)当节点A宕机,如果节点B在规定的时间范围内没有接收到节点A的心跳信息,先进行一系列的监测确定对方是否失效,若失效,则节点B启动接管、恢复进程将失效控制器的资源和任务全部接管,由接管的节点开始对外提供服务,同时节点B将链表中的数据刷到接管后的磁盘上,并将记录的数据从链表中删除。
至此,已经完整实现了一种多控制器间的缓存数据一致性保障方法。
除说明书所述的技术特征外,均为本专业技术人员的公知技术。
Claims (3)
1.一种多控制器间的缓存数据一致性保障方法,其特征在于,其具体保障过程为:
一、设置至少两个控制器,进行缓存镜像操作:当其中一个控制器接收到写请求后,数据写入磁盘前先发送到另一控制器进行镜像,在第一控制器发生故障后,在进行资源接管前保证第二控制器中的镜像数据先被写入磁盘;
二、当一控制器出现故障时,进行故障切换,即将出现故障的控制器转换为完好的控制器,当失效的控制器恢复后,则该控制器继续启动工作。
2.根据权利要求1所述的一种多控制器间的缓存数据一致性保障方法,其特征在于,所述步骤一中的缓存镜像操作的详细过程为:对于写镜像操作,在数据写入本地控制器磁盘之前,会先发送消息到对端控制器,对端控制器接收到消息后启动RDMA操作,然后将数据保存,RDMA操作完成后会自动发送消息通知本地控制器,这时本地控制器进行写操作;当本地控制器的数据同步到本地磁盘完成后,再通过发送DEL消息到对端控制器将其缓存中的数据删除。
3.根据权利要求1或2所述的一种多控制器间的缓存数据一致性保障方法,其特征在于,所述步骤二中的故障切换过程为:设置故障切换模块在多个节点间通过心跳消息来监测每个节点的状态,该故障切换模块由服务状态检测、任务接管回切和管理三部分组成,每个节点定期发送心跳消息给其它节点,通知对方正在工作,如果在规定的时间范围内没有接收到心跳信息,先进行一系列的监测确定对方是否失效,若失效,则启动接管、恢复进程将失效控制器的资源和任务全部接管,由接管的节点开始对外提供服务;当失效控制器恢复后,状态监测进程又会发送心跳信息,当接管节点接收到发送过来的心跳消息后,就立即释放占有的资源,将这些资源和服务在恢复的控制器上启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310587503.9A CN103605616A (zh) | 2013-11-21 | 2013-11-21 | 一种多控制器间的缓存数据一致性保障方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310587503.9A CN103605616A (zh) | 2013-11-21 | 2013-11-21 | 一种多控制器间的缓存数据一致性保障方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103605616A true CN103605616A (zh) | 2014-02-26 |
Family
ID=50123845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310587503.9A Pending CN103605616A (zh) | 2013-11-21 | 2013-11-21 | 一种多控制器间的缓存数据一致性保障方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103605616A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331352A (zh) * | 2014-11-19 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | cache一致性芯片地址带外读取检测方法及装置 |
CN105335101A (zh) * | 2015-09-29 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法和系统 |
CN106775472A (zh) * | 2016-12-09 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种控制器缓存方法、存储控制器及多控制器存储系统 |
CN107643988A (zh) * | 2017-09-15 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种具有失效切换机制的存储系统及存储方法 |
CN109491609A (zh) * | 2018-11-02 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种缓存数据处理方法、装置、设备及可读存储介质 |
CN110677280A (zh) * | 2019-09-18 | 2020-01-10 | 招商银行股份有限公司 | 服务节点切换方法、装置、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625747B1 (en) * | 2000-06-30 | 2003-09-23 | Dell Products L.P. | Computer storage system and failover method |
CN101430636A (zh) * | 2007-11-07 | 2009-05-13 | 中兴通讯股份有限公司 | 一种在冗余控制器环境下多路径管理的方法 |
CN101471955A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | 一种双控制器网络储存环境下的设备数据写入方法 |
CN101739406A (zh) * | 2008-11-13 | 2010-06-16 | 英业达股份有限公司 | 双控制器上文件服务操作的同步方法 |
CN102662803A (zh) * | 2012-03-13 | 2012-09-12 | 深圳华北工控股份有限公司 | 一种双控双活冗余设备 |
CN102868754A (zh) * | 2012-09-26 | 2013-01-09 | 北京联创信安科技有限公司 | 一种实现集群存储高可用性的方法、节点装置和系统 |
-
2013
- 2013-11-21 CN CN201310587503.9A patent/CN103605616A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625747B1 (en) * | 2000-06-30 | 2003-09-23 | Dell Products L.P. | Computer storage system and failover method |
CN101430636A (zh) * | 2007-11-07 | 2009-05-13 | 中兴通讯股份有限公司 | 一种在冗余控制器环境下多路径管理的方法 |
CN101471955A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | 一种双控制器网络储存环境下的设备数据写入方法 |
CN101739406A (zh) * | 2008-11-13 | 2010-06-16 | 英业达股份有限公司 | 双控制器上文件服务操作的同步方法 |
CN102662803A (zh) * | 2012-03-13 | 2012-09-12 | 深圳华北工控股份有限公司 | 一种双控双活冗余设备 |
CN102868754A (zh) * | 2012-09-26 | 2013-01-09 | 北京联创信安科技有限公司 | 一种实现集群存储高可用性的方法、节点装置和系统 |
Non-Patent Citations (1)
Title |
---|
吕烁 等: "磁盘阵列中基于IB通信的内存镜像技术的设计与实现", 《计算机研究与发展》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331352A (zh) * | 2014-11-19 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | cache一致性芯片地址带外读取检测方法及装置 |
CN104331352B (zh) * | 2014-11-19 | 2018-03-09 | 浪潮(北京)电子信息产业有限公司 | cache一致性芯片地址带外读取检测方法及装置 |
CN105335101A (zh) * | 2015-09-29 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法和系统 |
CN105335101B (zh) * | 2015-09-29 | 2018-11-20 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法和系统 |
CN106775472A (zh) * | 2016-12-09 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种控制器缓存方法、存储控制器及多控制器存储系统 |
CN106775472B (zh) * | 2016-12-09 | 2020-03-06 | 郑州云海信息技术有限公司 | 一种控制器缓存方法、存储控制器及多控制器存储系统 |
CN107643988A (zh) * | 2017-09-15 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种具有失效切换机制的存储系统及存储方法 |
CN109491609A (zh) * | 2018-11-02 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种缓存数据处理方法、装置、设备及可读存储介质 |
CN109491609B (zh) * | 2018-11-02 | 2022-04-22 | 郑州云海信息技术有限公司 | 一种缓存数据处理方法、装置、设备及可读存储介质 |
CN110677280A (zh) * | 2019-09-18 | 2020-01-10 | 招商银行股份有限公司 | 服务节点切换方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2703901T3 (es) | Sistema de archivo distribuido mediante nodos de consenso | |
US10659292B2 (en) | Arbitration method, apparatus, and system used in active-active data centers | |
CN103605616A (zh) | 一种多控制器间的缓存数据一致性保障方法 | |
WO2017113276A1 (zh) | 分布式存储系统中的数据重建的方法、装置和系统 | |
CN103138912B (zh) | 数据同步方法及系统 | |
EP2902922B1 (en) | Distributed file system and data backup method for distributed file system | |
CN101808127B (zh) | 数据备份方法、系统和服务器 | |
US9652520B2 (en) | System and method for supporting parallel asynchronous synchronization between clusters in a distributed data grid | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN104320401A (zh) | 一种基于分布式文件系统的大数据存储访问系统及方法 | |
CN104158693A (zh) | 数据服务的容灾备份方法和系统 | |
WO2014059804A1 (zh) | 数据同步方法及系统 | |
WO2016078529A1 (zh) | 业务处理方法、装置及系统 | |
CN110351313B (zh) | 数据缓存方法、装置、设备及存储介质 | |
WO2018157605A1 (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN112887367B (zh) | 实现分布式集群高可用的方法、系统及计算机可读介质 | |
WO2016095329A1 (zh) | 一种日志记录系统及日志记录操作方法 | |
CN108390919A (zh) | 一种用于高可靠双机热备的消息同步系统及方法 | |
WO2020133473A1 (zh) | 一种备份数据的方法、装置和系统 | |
CN110377487A (zh) | 一种处理高可用集群脑裂的方法及装置 | |
CN109474694A (zh) | 一种基于san存储阵列的nas集群的管控方法及装置 | |
CN115145782A (zh) | 一种服务器切换方法,MooseFS系统及存储介质 | |
CN105159846A (zh) | 一种支持虚拟化磁盘双控切换的方法和存储系统 | |
CN104243554A (zh) | 一种集群系统中的时序库主备机内存同步方法 | |
CN101145955A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140226 |
|
WD01 | Invention patent application deemed withdrawn after publication |