CN109491609A - 一种缓存数据处理方法、装置、设备及可读存储介质 - Google Patents

一种缓存数据处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN109491609A
CN109491609A CN201811300827.9A CN201811300827A CN109491609A CN 109491609 A CN109491609 A CN 109491609A CN 201811300827 A CN201811300827 A CN 201811300827A CN 109491609 A CN109491609 A CN 109491609A
Authority
CN
China
Prior art keywords
node
caching
data
destination node
partner
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
CN201811300827.9A
Other languages
English (en)
Other versions
CN109491609B (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 CN201811300827.9A priority Critical patent/CN109491609B/zh
Publication of CN109491609A publication Critical patent/CN109491609A/zh
Application granted granted Critical
Publication of CN109491609B publication Critical patent/CN109491609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种缓存数据处理方法,该方法包括以下步骤:对存储集群的各个节点进行状态监测,并记录节点状态信息;监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备;恢复目标节点时,利用缓存对关系表,确定与目标节点互相备份缓存数据的搭档节点;利用节点状态信息判断搭档节点是否运行正常;如果是,则丢弃缓存脏数据,并令目标节点与搭档节点进行缓存数据同步。如此,便可在双控/多控系统中,即使是节点发生故障后,重新恢复后,也能保障恢复后的节点保持系统数据一致性。本发明还公开了一种缓存数据处理装置、设备及可读存储介质,具有相应的技术效果。

Description

一种缓存数据处理方法、装置、设备及可读存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种缓存数据处理方法、装置、设备及可读存储介质。
背景技术
在存储系统中,数据存储需要更加严苛的可靠性,以及更高效的IO处理性能,缓存在其中扮演着重要的角色。缓存的存在提高了IO读写速度,但同时存放在内存中的大量用户的安全性也面临着挑战,掉电易丢失是其致命的缺点。
因此,高可用集群(High Availability Cluster,HACluster)设备一般会提供BBU(Battery Backup Unit)掉电保护电池组件,在恢复节点时,直接恢复掉电时保存的缓存数据信息。如此,可使节点故障时能够保存重要配置信息和用户数据。虽然,使用BBU可将缓存数据在节点故障时进行保存,但是,双控/多控的存储系统不仅要求缓存数据不丢失,还要根据时效性保持数据一致,显然直接恢复缓存数据是不可行的。
综上所述,如何有效地解决故障后缓存数据的处理等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种缓存数据处理方法、装置、设备及可读存储介质,对故障节点中的缓存数据进行有效处理,以保障数据不丢失,以及保障数据一致性。
为解决上述技术问题,本发明提供如下技术方案:
一种缓存数据处理方法,包括:
对存储集群的各个节点进行状态监测,并记录节点状态信息;
监测到目标节点故障后,将所述目标节点的缓存脏数据写入非易失性存储设备;
恢复所述目标节点时,利用缓存对关系表,确定与所述目标节点互相备份缓存数据的搭档节点;
利用所述节点状态信息判断所述搭档节点是否运行正常;
如果是,则丢弃所述缓存脏数据,并令所述目标节点与所述搭档节点进行缓存数据同步。
优选地,在利用所述节点状态信息判断所述搭档节点是否运行正常之后,还包括:
如果否,则判断所述目标节点是否晚于所述搭档节点发生故障;
若所述目标节点比所述搭档节点晚故障,则令所述目标节点恢复所述缓存脏数据;
若所述目标节点比所述搭档节点早故障,则令所述目标节点等待恢复。
优选地,还包括:
当所述目标节点与所述搭档节点运行均正常时,令所述目标节点与所述搭档节点以镜像的方式互相备份缓存数据。
优选地,在所述监测到目标节点故障后,还包括:
令所述搭档节点将所述缓存数据存入所述非易失性存储设备中。
优选地,在将所述缓存数据存入非易失性存储设备中之后,还包括:
采用透写模式处理写访问请求。
优选地,所述记录节点状态信息,包括:
利用current_os表示各个所述节点的状态;
将所述current_os写入所述存储集群各所述节点的系统盘中。
优选地,所述监测到目标节点故障后,将所述目标节点的缓存脏数据写入非易失性存储设备,包括:
监测到目标节点故障后,在BBU电力耗尽前,将具有harden标记的缓存脏数据写入非易失性存储设备。
一种缓存数据处理装置,包括:
节点状态监测模块,用于对存储集群的各个节点进行状态监测,并记录节点状态信息;
缓存脏数据保存模块,用于监测到目标节点故障后,将所述目标节点的缓存脏数据写入非易失性存储设备;
搭档节点确定模块,用于恢复所述目标节点时,利用缓存对关系表,确定与所述目标节点互相备份缓存数据的搭档节点;
判断模块,用于利用所述节点状态信息判断所述搭档节点是否运行正常;
缓存脏数据处理模块,用于如果是,则丢弃所述缓存脏数据,并令所述目标节点与所述搭档节点进行缓存数据同步。
一种缓存数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述缓存数据处理方法的步骤。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述缓存数据处理方法的步骤。
应用本发明实施例所提供的方法,对存储集群的各个节点进行状态监测,并记录节点状态信息;监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备;恢复目标节点时,利用缓存对关系表,确定与目标节点互相备份缓存数据的搭档节点;利用节点状态信息判断搭档节点是否运行正常;如果是,则丢弃缓存脏数据,并令目标节点与搭档节点进行缓存数据同步。
在存储集群中的各个节点进行状态监测,并记录节点状态信息,如此便可快速得知各个节点的状态变化,即可快速确定是否存在发生了故障的目标节点。当目标节点发生故障后,便可将目标节点的缓存脏数据写入非易失性存储设备中,为保障数据不丢失和保持数据一致提供前提。在恢复目标节点时,首先利用缓存对关系表,确定与目标记得互相备份缓存数据的搭档节点。其中缓存对即为互相备份缓存数据的一对节点。若搭档节点运行正常,则直接令目标节点通过与搭档节点同步缓存数据的方式,恢复目标节点的缓存数据,且缓存数据与搭档节点保存同步,即恢复后的缓存数据与当前系统的最新数据匹配。如此,便可在双控/多控系统中,即使是节点发生故障后,重新恢复后,也能保障恢复后的节点保持系统数据一致性。
相应地,本发明实施例还提供了与上述缓存数据处理方法相对应的缓存数据处理装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种缓存数据处理方法的实施流程图;
图2为本发明实施例中一种缓存数据处理装置的结构示意图;
图3为本发明实施例中一种缓存数据处理设备的结构示意图;
图4为本发明实施例中一种缓存数据处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参考图1,图1为本发明实施例中一种缓存数据处理方法的流程图,该方法可用于双控/多控存储系统中。该方法包括以下步骤:
S101、对存储集群的各个节点进行状态监测,并记录节点状态信息。
可通过建立线程对各个节点进行访问,并根据访问的应答时间的方式监测各个节点的状态。状态监测指监测节点的运行状态,运行状态可分故障、正常运行。例如使用1表示正常,使用0表示故障。对多个节点的状态信息进行记录时,则可按照一定的顺序,保存一个状态序列。例如,若存储集群中有6个节点时,依次给这6个节点进行编号1-6,按照编号从小到大的顺序,使用状态序列x1、x2、x3、x4、x5、x6来记录节点状态信息,其中xi的取值为0或1,即正常运行时则为1,故障时则为0,若该序列为111011,即第4个节点故障,其余节点正常。
优选地,为了保障节点状态信息不丢失,可将节点状态信息记录在非易失性存储设备中。非易失性存储设备指掉电不丢失数据的存储设备。具体的,记录节点状态信息具体包括:
步骤一、利用current_os表示各个节点的状态;
步骤二、将current_os写入存储集群各节点的系统盘中。
为便于描述,下面将上述两个步骤结合起来进行说明。
使用current_os表示集群中各节点状态,该状态为non_volatile(非易失性)类型,通过bitmap(位图文件)来组织,写到集群各节点的系统盘上,在节点故障可以保障集群各节点状态不丢失。
对各个节点进行监测之后,便可确定哪些节点正常,哪些节点故障。
S102、监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备。
其中,目标节点仅指代多个节点中发生了故障的任意一个节点,而非特指某一个节点。监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备中。缓存脏数据是指存储在内存中的脏数据。具体的,当一个事务正在访问数据A,并且对数据A进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据A,然后使用了这个数据A。因为这个数据A是还没有提交的数据,那么另外一个事务读到的这个数据A是脏数据,依据脏数据所做的操作可能是不正确的。将缓存脏数据写入非易失性存储设备之后,可在目标节点需要恢复该缓存脏数据,以快速提高业务服务提供前提。
其中,由于目标节点故障后,目标节点的内存中的数据便会因掉电而丢失。为了保障能够在节点故障时,将缓存脏数据存储起来,可利用BUU(Battery Backup Unit,电池模块)提供电力支持,保障内存中的数据不至于立刻丢失。即,监测到目标节点故障后,在BBU电力耗尽前,将具有harden标记的缓存脏数据写入非易失性存储设备。其中,缓存脏数据的harden标记即在对数据进行处理时,当修改还未提交前均将其进行标记,以便在发生故障时,快速准确的将缓存脏数据存入非易失性存储设备中。
S103、恢复目标节点时,利用缓存对关系表,确定与目标节点互相备份缓存数据的搭档节点。
在本发明实施例中,可预先设置缓存对,缓存对即指两个节点之间相互备份缓存数据。并将缓存对的关系制成一个缓存对关系表,存放在各个节点的系统盘中。需要说明的是,当目标节点与搭档节点运行均正常时,令目标节点与搭档节点以镜像的方式互相备份缓存数据。即,在目标节点与搭档节点均正常时,目标节点与搭档节点之间互相以镜像方式备份缓存数据,如此便可在容易一个节点出现故障时,利用缓存对对应的节点便可恢复缓存数据。
在恢复目标节点时,利用缓存对关系表,确定出与目标节点互相备份缓存数据的搭档节点。为便于操作,还可直接将一个设备中的两个节点组成缓存对,即目标节点的搭档节点即为同属于一个设备的另一个节点。
S104、利用节点状态信息判断搭档节点是否运行正常。
确定搭档节点之后,可利用节点状态信息,判断搭档节点是否运行正常,如果运行正常,则表明搭档节点中存储的缓存数据则为最新、且无误的数据,则可执行步骤S105的操作。
若搭档节点也故障,则执行步骤S106的操作,根据节点故障先后时间确定缓存脏数据的处理方式。即,进一步判断缓存脏数据是否需要被恢复或丢弃,具体实现过程包括:
步骤一、判断目标节点是否晚于搭档节点发生故障;
步骤二、若目标节点比搭档节点晚故障,则令目标节点恢复缓存脏数据;
步骤三、若目标节点比搭档节点早故障,则令目标节点等待恢复。
为便于描述,下面将上述步骤结合起来进行说明。
首先,判断目标节点发生故障的时间是否晚于搭档节点,如果是,则表明目标节点的缓存脏数据即为最新数据,在可令目标节点恢复缓存脏数据。如果目标节点比搭档节点早故障,则表明目标节点的缓存脏数据可能已被处理,即非最新数据,因而此时可等待搭档节点先恢复,而后通过先恢复的搭档节点恢复后的缓存数据进行数据同步,进而与搭档节点再次组成缓存对。
S105、丢弃缓存脏数据,并令目标节点与搭档节点进行缓存数据同步。
若搭档节点运行正常,则可直接丢弃该缓存脏数据,直接令目标节点与搭档节点进行缓存数据同步即可。即,将目标节点与缓存节点再次组成缓存对。
应用本发明实施例所提供的方法,对存储集群的各个节点进行状态监测,并记录节点状态信息;监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备;恢复目标节点时,利用缓存对关系表,确定与目标节点互相备份缓存数据的搭档节点;利用节点状态信息判断搭档节点是否运行正常;如果是,则丢弃缓存脏数据,并令目标节点与搭档节点进行缓存数据同步。
在存储集群中的各个节点进行状态监测,并记录节点状态信息,如此便可快速得知各个节点的状态变化,即可快速确定是否存在发生了故障的目标节点。当目标节点发生故障后,便可将目标节点的缓存脏数据写入非易失性存储设备中,为保障数据不丢失和保持数据一致提供前提。在恢复目标节点时,首先利用缓存对关系表,确定与目标记得互相备份缓存数据的搭档节点。其中缓存对即为互相备份缓存数据的一对节点。若搭档节点运行正常,则直接令目标节点通过与搭档节点同步缓存数据的方式,恢复目标节点的缓存数据,且缓存数据与搭档节点保存同步,即恢复后的缓存数据与当前系统的最新数据匹配。如此,便可在双控/多控系统中,即使是节点发生故障后,重新恢复后,也能保障恢复后的节点保持系统数据一致性。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
优选地,在确定目标节点故障之后,为避免在搭档节点故障后,缓存数据丢失,可在监测到目标节点故障后,令搭档节点将缓存数据存入非易失性存储设备中。进一步地,将当前内存中的缓存数据存入非易失性存储设备之后,在处理后接收到的访问请求时,为保障数据的一致性,可采用透写模式处理写访问请求。其中,透写指一种缓存技术,在透写缓存技术中,只有在数据已经安全地写到非易失性存储介质中去之后,才会发写请求完成信号。在透写缓存技术中,写操作的执行性能与无缓存系统的性能相仿,但是,因为写的数据保留在缓存中,所以后续的对该数据的读操作的执行性能将会得到提高。
实施例二:
为便于描述,下面结合具体应用场景为例,对本发明实施例所提供的技术方案进行详细描述。
首先,多控存储系统(MCS,Multichip Synchronization),在高可用集群(HACluster,High Availability Cluster)管理中,会通过集群状态current_os来标识在线节点的状态,该状态需要保存在系统非易失存储器中。其次,系统在节点加入和离开集群时,会改变节点状态,也会保存caching pair中的脏数据,触发相应的故障恢复逻辑处理。其中写缓存脏数据的掉电恢复,具体为缓存对中各节点模块会对current_os进行判断,根据状态确定数据是否需要恢复。
该设计能够应对多种故障场景,可以允许多节点故障及其恢复。
存储系统程序实现时主要包括以下几个步骤和策略:
双控存储系统集群维护了current_os,该值为32-bit的矢量值,可最高支持32个节点的状态表示;每一个设备中的两节点都保存这N1-N2的状态。其中N1-N2为节点1(Node1)和节点2(Node2)的状态,具体数值可用0表示故障,1表示正常,Node1与Node2组成缓存对。
时刻1 时刻2 时刻3
节点1 1·1 1·0 1·1
节点2 1·1 1·1 1·1
表1
情况一、单个节点故障:如,表1中的时刻1至时刻2,Node2发生掉电故障时,时刻2即指Node2保存的是故障后,未恢复前存储的N1·N2的状态,即为1·1,Node2则变成1·0;此时为保障用户数据安全,Node1还会触发脏数据下刷,写缓存模式变为透写,Node2的脏数据在BBU电力保护下,写入非易失性存储设备中。时刻2至时刻3,此时若Node2节点恢复,Node2不执行恢复操作,即舍弃(discard)在BBU电力保护下存入非易失性的缓存脏数据,两节点重新组成caching pair(缓存对),进行缓存数据同步,且两个节点中的状态均为1·1。
时刻1 时刻2 时刻3 时刻4 时刻5 时刻6
节点1 1·1 1·0 1·0 1·0 1·0 1·1
节点2 1·1 1·1 1·1 1·1 1·1 1·1
表2
情况二、两个节点先后故障:如表2,在Node2发生故障之后,即时刻2-时刻5均为Node2故障后,未恢复前的存储的N1·N2的状态,在时刻3Node1又发生故障(且Node1的脏数据未下刷完成),即时刻3和时刻4即为Node1故障后,未恢复前存储的N1·N2,均为1·0。其中,可通过判断两个故障节点最后存储的状态信息确定是哪些节点先故障,具体的,即先故障的节点最后存储的状态信息为1·1,而后故障的节点存储的状态信息为1·0或0·1。在此情况下,若Node2先恢复的情况,由于Node2上的缓存脏数据较Node1而言已经不是最新的,所以该Node2暂时不会加入集群,不能组成caching pair。需要说明的是,若node1没有掉电保护的缓存脏数据则可以直接加入集群。除此之外,只有Node1加入集群后,且其保存的缓存脏数据执行恢复(recovery)操作,并执行下刷操作后,Node2才会加入集群。具体的,在Node1下刷完成,Node2加入集群,其保存的脏数据执行discard操作,重新组成cachingpair,缓存功能可以正常使用。如此,整个过程没有数据丢失。如此,能够保障用户数据安全,在BBU可靠的情况下能够恢复用户缓存中的数据。与目前的处理逻辑相比,能够适应更多的故障场景,允许多节点先后或同时出现故障。能提高产品可靠性和处理能力,提升产品竞争力。
实施例三:
相应于上面的方法实施例,本发明实施例还提供了一种缓存数据处理装置,下文描述的缓存数据处理装置与上文描述的缓存数据处理方法可相互对应参照。
参见图2所示,该装置包括以下模块:
节点状态监测模块101,用于对存储集群的各个节点进行状态监测,并记录节点状态信息;
缓存脏数据保存模块102,用于监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备;
搭档节点确定模块103,用于恢复目标节点时,利用缓存对关系表,确定与目标节点互相备份缓存数据的搭档节点;
判断模块104,用于利用节点状态信息判断搭档节点是否运行正常;
缓存脏数据处理模块105,用于如果是,则丢弃缓存脏数据,并令目标节点与搭档节点进行缓存数据同步。
应用本发明实施例所提供的装置,对存储集群的各个节点进行状态监测,并记录节点状态信息;监测到目标节点故障后,将目标节点的缓存脏数据写入非易失性存储设备;恢复目标节点时,利用缓存对关系表,确定与目标节点互相备份缓存数据的搭档节点;利用节点状态信息判断搭档节点是否运行正常;如果是,则丢弃缓存脏数据,并令目标节点与搭档节点进行缓存数据同步。
在存储集群中的各个节点进行状态监测,并记录节点状态信息,如此便可快速得知各个节点的状态变化,即可快速确定是否存在发生了故障的目标节点。当目标节点发生故障后,便可将目标节点的缓存脏数据写入非易失性存储设备中,为保障数据不丢失和保持数据一致提供前提。在恢复目标节点时,首先利用缓存对关系表,确定与目标记得互相备份缓存数据的搭档节点。其中缓存对即为互相备份缓存数据的一对节点。若搭档节点运行正常,则直接令目标节点通过与搭档节点同步缓存数据的方式,恢复目标节点的缓存数据,且缓存数据与搭档节点保存同步,即恢复后的缓存数据与当前系统的最新数据匹配。如此,便可在双控/多控系统中,即使是节点发生故障后,重新恢复后,也能保障恢复后的节点保持系统数据一致性。
在本发明的一种具体实施方式中,还包括:
缓存脏数据恢复模块,用于在利用节点状态信息判断搭档节点是否运行正常之后,如果否,则判断目标节点是否晚于搭档节点发生故障;若目标节点比搭档节点晚故障,则令目标节点恢复缓存脏数据;若目标节点比搭档节点早故障,则令目标节点等待恢复。
在本发明的一种具体实施方式中,还包括:
缓存对备份模块,用于当目标节点与搭档节点运行均正常时,令目标节点与搭档节点以镜像的方式互相备份缓存数据。
在本发明的一种具体实施方式中,还包括:
缓存数据备份模块,用于在监测到目标节点故障后,令搭档节点将缓存数据存入非易失性存储设备中。
在本发明的一种具体实施方式中,还包括:
写访问处理模块,用于在将缓存数据存入非易失性存储设备中之后,采用透写模式处理写访问请求。
在本发明的一种具体实施方式中,节点状态监测模块101,具体用于利用current_os表示各个节点的状态;将current_os写入存储集群各节点的系统盘中。
在本发明的一种具体实施方式中,缓存脏数据保存模块102,具体用于监测到目标节点故障后,在BBU电力耗尽前,将具有harden标记的缓存脏数据写入非易失性存储设备。
实施例四:
相应于上面的方法实施例,本发明实施例还提供了一种缓存数据处理设备,下文描述的一种缓存数据处理设备与上文描述的一种缓存数据处理方法可相互对应参照。
参见图3所示,该缓存数据处理设备包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例的缓存数据处理方法的步骤。
具体的,请参考图4,为本实施例提供的一种缓存数据处理设备的具体结构示意图,该缓存数据处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在缓存数据处理设备301上执行存储介质330中的一系列指令操作。
缓存数据处理设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的缓存数据处理方法中的步骤可以由缓存数据处理设备的结构实现。
实施例五:
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种缓存数据处理方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的缓存数据处理方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

Claims (10)

1.一种缓存数据处理方法,其特征在于,包括:
对存储集群的各个节点进行状态监测,并记录节点状态信息;
监测到目标节点故障后,将所述目标节点的缓存脏数据写入非易失性存储设备;
恢复所述目标节点时,利用缓存对关系表,确定与所述目标节点互相备份缓存数据的搭档节点;
利用所述节点状态信息判断所述搭档节点是否运行正常;
如果是,则丢弃所述缓存脏数据,并令所述目标节点与所述搭档节点进行缓存数据同步。
2.根据权利要求1所述的缓存数据处理方法,其特征在于,在利用所述节点状态信息判断所述搭档节点是否运行正常之后,还包括:
如果否,则判断所述目标节点是否晚于所述搭档节点发生故障;
若所述目标节点比所述搭档节点晚故障,则令所述目标节点恢复所述缓存脏数据;
若所述目标节点比所述搭档节点早故障,则令所述目标节点等待恢复。
3.根据权利要求1所述的缓存数据处理方法,其特征在于,还包括:
当所述目标节点与所述搭档节点运行均正常时,令所述目标节点与所述搭档节点以镜像的方式互相备份缓存数据。
4.根据权利要求1所述的缓存数据处理方法,其特征在于,在所述监测到目标节点故障后,还包括:
令所述搭档节点将所述缓存数据存入所述非易失性存储设备中。
5.根据权利要求4所述的缓存数据处理方法,其特征在于,在将所述缓存数据存入非易失性存储设备中之后,还包括:
采用透写模式处理写访问请求。
6.根据权利要求1所述的缓存数据处理方法,其特征在于,所述记录节点状态信息,包括:
利用current_os表示各个所述节点的状态;
将所述current_os写入所述存储集群各所述节点的系统盘中。
7.根据权利要求1至6任一项所述的缓存数据处理方法,其特征在于,所述监测到目标节点故障后,将所述目标节点的缓存脏数据写入非易失性存储设备,包括:
监测到目标节点故障后,在BBU电力耗尽前,将具有harden标记的缓存脏数据写入非易失性存储设备。
8.一种缓存数据处理装置,其特征在于,包括:
节点状态监测模块,用于对存储集群的各个节点进行状态监测,并记录节点状态信息;
缓存脏数据保存模块,用于监测到目标节点故障后,将所述目标节点的缓存脏数据写入非易失性存储设备;
搭档节点确定模块,用于恢复所述目标节点时,利用缓存对关系表,确定与所述目标节点互相备份缓存数据的搭档节点;
判断模块,用于利用所述节点状态信息判断所述搭档节点是否运行正常;
缓存脏数据处理模块,用于如果是,则丢弃所述缓存脏数据,并令所述目标节点与所述搭档节点进行缓存数据同步。
9.一种缓存数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述缓存数据处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述缓存数据处理方法的步骤。
CN201811300827.9A 2018-11-02 2018-11-02 一种缓存数据处理方法、装置、设备及可读存储介质 Active CN109491609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811300827.9A CN109491609B (zh) 2018-11-02 2018-11-02 一种缓存数据处理方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811300827.9A CN109491609B (zh) 2018-11-02 2018-11-02 一种缓存数据处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN109491609A true CN109491609A (zh) 2019-03-19
CN109491609B CN109491609B (zh) 2022-04-22

Family

ID=65692324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811300827.9A Active CN109491609B (zh) 2018-11-02 2018-11-02 一种缓存数据处理方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN109491609B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750219A (zh) * 2019-10-18 2020-02-04 苏州浪潮智能科技有限公司 存储集群的业务处理方法、装置、设备及可读存储介质
CN111010672A (zh) * 2019-11-18 2020-04-14 杭州电子科技大学 一种基于缓存节点过滤的无线传感器网络数据传输方法
CN111881067A (zh) * 2020-07-30 2020-11-03 北京浪潮数据技术有限公司 一种内存申请方法、装置、电子设备和介质
CN113721746A (zh) * 2021-08-04 2021-11-30 浙江大华技术股份有限公司 一种日志的存储方法及装置
CN114546978A (zh) * 2022-02-18 2022-05-27 苏州浪潮智能科技有限公司 一种存储集群的位图管理方法、系统、设备以及介质
CN115437853A (zh) * 2022-11-07 2022-12-06 四川省华存智谷科技有限责任公司 系统异常重启下的缓存数据保护方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490659B1 (en) * 2000-03-31 2002-12-03 International Business Machines Corporation Warm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
US20030212921A1 (en) * 2002-05-08 2003-11-13 Howe Steven M. Write cache recovery after loss of power
CN101826055A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种用于Linux系统数据缓存分配的管理方法
CN102713828A (zh) * 2011-12-21 2012-10-03 华为技术有限公司 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统
CN102929805A (zh) * 2012-10-19 2013-02-13 浪潮电子信息产业股份有限公司 一种存储系统缓存数据掉电保护方法
CN102968360A (zh) * 2012-11-28 2013-03-13 青岛海信网络科技股份有限公司 具有n+1冗余功能的存储系统及方法
CN103516736A (zh) * 2012-06-20 2014-01-15 中兴通讯股份有限公司 分布式缓存系统的数据恢复方法及装置
CN103605616A (zh) * 2013-11-21 2014-02-26 浪潮电子信息产业股份有限公司 一种多控制器间的缓存数据一致性保障方法
CN105045685A (zh) * 2015-08-04 2015-11-11 浪潮电子信息产业股份有限公司 缓存数据的备份方法及装置、缓存数据的恢复方法及装置
CN105426271A (zh) * 2015-12-22 2016-03-23 华为技术有限公司 对分布式存储系统的锁管理的方法和装置
CN108628701A (zh) * 2017-03-22 2018-10-09 杭州宏杉科技股份有限公司 缓存数据的保护方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490659B1 (en) * 2000-03-31 2002-12-03 International Business Machines Corporation Warm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
US20030212921A1 (en) * 2002-05-08 2003-11-13 Howe Steven M. Write cache recovery after loss of power
CN101826055A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种用于Linux系统数据缓存分配的管理方法
CN102713828A (zh) * 2011-12-21 2012-10-03 华为技术有限公司 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统
CN103516736A (zh) * 2012-06-20 2014-01-15 中兴通讯股份有限公司 分布式缓存系统的数据恢复方法及装置
CN102929805A (zh) * 2012-10-19 2013-02-13 浪潮电子信息产业股份有限公司 一种存储系统缓存数据掉电保护方法
CN102968360A (zh) * 2012-11-28 2013-03-13 青岛海信网络科技股份有限公司 具有n+1冗余功能的存储系统及方法
CN103605616A (zh) * 2013-11-21 2014-02-26 浪潮电子信息产业股份有限公司 一种多控制器间的缓存数据一致性保障方法
CN105045685A (zh) * 2015-08-04 2015-11-11 浪潮电子信息产业股份有限公司 缓存数据的备份方法及装置、缓存数据的恢复方法及装置
CN105426271A (zh) * 2015-12-22 2016-03-23 华为技术有限公司 对分布式存储系统的锁管理的方法和装置
CN108628701A (zh) * 2017-03-22 2018-10-09 杭州宏杉科技股份有限公司 缓存数据的保护方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐晗等: "双控制器RAID系统中缓存镜像技术研究与实现", 《计算机工程与设计》 *
马玮骏等: "云存储系统管理节点故障自恢复算法", 《计算机系统应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750219A (zh) * 2019-10-18 2020-02-04 苏州浪潮智能科技有限公司 存储集群的业务处理方法、装置、设备及可读存储介质
CN111010672A (zh) * 2019-11-18 2020-04-14 杭州电子科技大学 一种基于缓存节点过滤的无线传感器网络数据传输方法
CN111881067A (zh) * 2020-07-30 2020-11-03 北京浪潮数据技术有限公司 一种内存申请方法、装置、电子设备和介质
CN111881067B (zh) * 2020-07-30 2022-07-08 北京浪潮数据技术有限公司 一种内存申请方法、装置、电子设备和介质
CN113721746A (zh) * 2021-08-04 2021-11-30 浙江大华技术股份有限公司 一种日志的存储方法及装置
CN114546978A (zh) * 2022-02-18 2022-05-27 苏州浪潮智能科技有限公司 一种存储集群的位图管理方法、系统、设备以及介质
CN114546978B (zh) * 2022-02-18 2024-01-26 苏州浪潮智能科技有限公司 一种存储集群的位图管理方法、系统、设备以及介质
CN115437853A (zh) * 2022-11-07 2022-12-06 四川省华存智谷科技有限责任公司 系统异常重启下的缓存数据保护方法及系统

Also Published As

Publication number Publication date
CN109491609B (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
CN109491609A (zh) 一种缓存数据处理方法、装置、设备及可读存储介质
EP3518110B1 (en) Designation of a standby node
US10817386B2 (en) Virtual machine recovery method and virtual machine management device
US9658912B2 (en) Method and apparatus for implementing heartbeat service of high availability cluster
CN107402722B (zh) 一种数据迁移方法及存储设备
CN107817950B (zh) 一种数据处理方法及装置
CN103885895A (zh) 容错集群存储系统中的写入性能
CN109496401B (zh) 一种业务接管方法、存储设备和业务接管装置
EP2435916A1 (en) Cache data processing using cache cluster with configurable modes
CN109582502A (zh) 存储系统故障处理方法、装置、设备及可读存储介质
KR101983208B1 (ko) 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
CN111176888B (zh) 云存储的容灾方法、装置及系统
CN108701005A (zh) 数据更新技术
CN109582213A (zh) 数据重构方法及装置、数据存储系统
US12050778B2 (en) Data restoration method and related device
CN110196818A (zh) 缓存数据的方法、缓存设备和存储系统
US9830263B1 (en) Cache consistency
CN115878052A (zh) Raid阵列巡检方法、巡检装置和电子设备
CN114461593A (zh) 日志写入方法及其装置、电子设备及存储介质
CN114024922A (zh) 一种针对光纤交换机的镜像端口冗余处理方法及装置
CN113051428B (zh) 一种摄像机前端存储备份的方法及装置
JP2016513309A (ja) 分散コンピューティングシステムのコンピューティングノードにおける障害に起因するエラー伝播の制御
CN117411840A (zh) 链路故障处理方法、装置、设备、存储介质和程序产品
CN104407806B (zh) 独立磁盘冗余阵列组硬盘信息的修改方法和装置
CN109669814A (zh) 一种元数据服务的恢复方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant