CN111124292A - 一种数据下刷方法、装置、缓存节点及分布式存储系统 - Google Patents
一种数据下刷方法、装置、缓存节点及分布式存储系统 Download PDFInfo
- Publication number
- CN111124292A CN111124292A CN201911256872.3A CN201911256872A CN111124292A CN 111124292 A CN111124292 A CN 111124292A CN 201911256872 A CN201911256872 A CN 201911256872A CN 111124292 A CN111124292 A CN 111124292A
- Authority
- CN
- China
- Prior art keywords
- utilization rate
- space utilization
- cache
- node
- correction coefficient
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本发明实施例提供了一种数据下刷方法、装置、缓存节点及分布式存储系统,分布式存储系统中的缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率,若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。矫正的空间使用率超过预设阈值,说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点产生数据溢出,因此,在数据重构之前,对未故障的缓存节点进行数据下刷,提前将缓存节点存储的数据发送到存储节点,则在数据重构时不会引起未故障的缓存节点溢出,保证了重构业务的正常进行。
Description
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种数据下刷方法、装置、缓存节点及分布式存储系统。
背景技术
分布式存储系统包括多个存储节点,可以提供海量数据的存储服务。传统的分布式存储系统中,存储节点一般使用SAS(Serial Attached Small Computer SystemInterface,串行连接小型计算机系统接口)、SATA(Serial Advanced TechnologyAttachment,一种基于行业标准的串行硬件驱动器接口)的机械硬盘,机械硬盘的访问速度较慢,导致分布式存储系统对数据的读写速度较慢。
为了解决上述问题,在分布式存储系统中增加缓存节点(如固态硬盘),如图1所示,缓存节点用于存储热点数据、提供高速的I/O(Input/Output,输入/输出)服务,存储节点用于存储非热点数据、提供慢速的I/O服务。分布式存储系统客户端在接收到数据后,会先将数据存储至缓存节点,实现对数据的快速读写,而当缓存节点的空间使用率达到一定阈值后(即缓存节点已经存储大量的数据,如果再继续存储更多的数据,会出现数据溢出等现象,影响缓存节点的服务性能),此时,需要将缓存节点中的数据发送到存储节点存储,释放缓存节点的缓存空间,以使缓存空间能够接收新的数据,通常称这个过程为数据下刷,通过数据下刷使得缓存节点的空间使用率维持在阈值以下,保证缓存节点具有较高的服务性能。
然而,在实际场景中,缓存节点可能会发生故障,在缓存节点发生故障时,如果没有对故障的缓存节点进行更换,故障的缓存节点上的数据会自动重构到剩下未故障的缓存节点上,如果未故障的缓存节点空间不足,很容易出现缓存节点溢出的现象,导致重构业务失败。
发明内容
本发明实施例的目的在于提供一种数据下刷方法、装置、缓存节点及分布式存储系统,以保证重构业务的正常进行。具体技术方案如下:
第一方面,本发明实施例提供了一种数据下刷方法,应用于分布式存储系统中的缓存节点,分布式存储系统包括缓存节点和存储节点,该方法包括:
缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,其中,空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例;
根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率;
若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。
可选的,获取自身的当前空间使用率的步骤,包括:
定时获取自身的当前空间使用量以及缓存节点自身的总容量;
根据当前空间使用量及总容量,计算缓存节点自身的当前空间使用率。
可选的,分布式存储系统还包括管理节点;获取空间使用率矫正系数,包括:
定时向管理节点发送触发请求,以触发管理节点统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算缓存节点数目占缓存节点总数目的比例作为空间使用率矫正系数;
接收管理节点反馈的空间使用率矫正系数。
可选的,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率的步骤,包括:
将当前空间使用率除以空间使用率矫正系数,得到矫正后的空间使用率。
可选的,该方法还包括:
若矫正后的空间使用率未超过预设阈值,则保留缓存节点本地存储的数据。
第二方面,本发明实施例提供了一种数据下刷装置,应用于分布式存储系统中的缓存节点,分布式存储系统包括缓存节点和存储节点,该装置包括:
获取模块,用于获取自身的当前空间使用率以及空间使用率矫正系数,其中,空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例;
矫正模块,用于根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率;
下刷模块,用于若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。
可选的,获取模块,具体用于:
定时获取自身的当前空间使用量以及缓存节点自身的总容量;
根据当前空间使用量及总容量,计算缓存节点自身的当前空间使用率。
可选的,分布式存储系统还包括管理节点;获取模块,具体用于:
定时向管理节点发送触发请求,以触发管理节点统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算缓存节点数目占缓存节点总数目的比例作为空间使用率矫正系数;
接收管理节点反馈的空间使用率矫正系数。
可选的,矫正模块,具体用于:
将当前空间使用率除以空间使用率矫正系数,得到矫正后的空间使用率。
可选的,该装置还包括:
保留模块,用于若矫正后的空间使用率未超过预设阈值,则保留缓存节点本地存储的数据。
第三方面,本发明实施例提供了一种缓存节点,包括处理器和机器可读存储介质,其中,机器可读存储介质存储有能够被处理器执行的机器可执行指令;处理器被机器执行指令促使:实现本发明实施例第一方面所提供的方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,实现本发明实施例第一方面所提供的方法。
第五方面,本发明实施例提供了一种分布式存储系统,该系统包括本发明实施例第三方面所提供的缓存节点和存储节点;存储节点,用于对从缓存节点接收的数据进行存储。
可选的,该系统还包括管理节点;
缓存节点,具体用于定时向管理节点发送触发请求;
管理节点,用于在接收到触发请求后,统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算缓存节点数目占缓存节点总数目的比例作为空间使用率矫正系数;
缓存节点,具体还用于接收管理节点反馈的空间使用率矫正系数。
本发明实施例提供的一种数据下刷方法、装置、缓存节点及分布式存储系统,分布式存储系统中的缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率,若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,利用空间使用率矫正系数对缓存节点的当前空间使用率进行矫正,矫正后得到的空间使用率能够表征如果故障的缓存节点上的数据全部重构到未故障的缓存节点上,未故障的缓存节点的使用率高低。如果矫正后的空间使用率超过预设阈值,则说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点空间不足、产生数据溢出,因此,在数据重构之前,对未故障的缓存节点进行数据下刷,提前将缓存节点存储的数据发送到存储节点,从而保证故障的缓存节点上的数据重构到未故障的缓存节点时,未故障的缓存节点已经释放了足够的空间存储重构的数据,不会引起未故障的缓存节点溢出,从而保证了重构业务的正常进行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的分布式存储系统的结构示意图;
图2为本发明一实施例的分布式存储系统的结构示意图;
图3为本发明另一实施例的分布式存储系统的结构示意图;
图4为本发明一实施例的数据下刷方法的流程示意图;
图5为本发明另一实施例的数据下刷方法的流程示意图;
图6为本发明实施例的分布式存储系统中各节点交互实现数据下刷的流程示意图;
图7为本发明实施例的数据下刷装置的结构示意图;
图8为本发明实施例的缓存节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于对本发明实施例的理解,首先对本发明实施例中的术语解释如下:
Storage tier(存储池)和Cache tier(缓存池):基于分布式存储的常规后端存储层上构建一个缓存层进行加速,在这样的结构中,存储层一般称为Storage tier,缓存层一般称为Cache tier,其中,Storage tier由相对低速、便宜的HDD(Hard Disk Drive,机械硬盘)组成,Cache tier由相对高速、昂贵的SSD(Solid State Disk,固态硬盘)组成。
数据下刷:由于Cache tier的容量总是小于Storage tier,随着数据不断的写入,最终Cache tier的存储空间将会耗尽。此时需要将之前写入Cache tier的数据写入Storage tier,这个过程就叫做数据下刷。已经下刷的数据就可以从Cache tier中淘汰,以释放Cache tier的存储空间来接纳新的数据。可以选择Cache tier中之前写入的全部数据进行下刷淘汰,也可以选择最近没有被访问过的数据进行下刷、淘汰,以提高读I/O在Cachetier的命中率,从而使分布式存储系统整体的性能较高。
为了保证重构业务的正常进行,本发明实施例提供了一种数据下刷方法、装置、缓存节点及分布式存储系统。
下面,首先对本发明实施例所提供的分布式存储系统进行介绍,如图2所示,该分布式存储系统包括缓存节点210和存储节点220,缓存节点和存储节点的数目均可以为多个。缓存节点一般为SSD,是一种高速、昂贵的存储设备,多个缓存节点组成Cache tier;存储节点一般为HDD,是一种低速、便宜的存储设备,多个存储节点组成Storage tier。
一般情况下,除了缓存节点210和存储节点220以外,分布式存储系统还可以包括一个管理节点230,如图3所示,管理节点230用于对缓存节点210和存储节点220进行管理,提供协调存储的功能,能够与缓存节点210和存储节点220进行通信。
基于上述分布式存储系统,对本发明实施例所提供的数据下刷方法进行介绍,该方法应用于上述分布式存储系统中的缓存节点,如图4所示,该方法可以包括如下步骤。
S401,缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,其中,空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例。
S402,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率。
S403,若矫正后的空间使用率超过预设阈值,则下刷该缓存节点本地存储的数据至存储节点。
应用本发明实施例,分布式存储系统中的缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率,若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,利用空间使用率矫正系数对缓存节点的当前空间使用率进行矫正,矫正后得到的空间使用率能够表征如果故障的缓存节点上的数据全部重构到未故障的缓存节点上,未故障的缓存节点的使用率高低。如果矫正后的空间使用率超过预设阈值,则说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点空间不足、产生数据溢出,因此,在数据重构之前,对未故障的缓存节点进行数据下刷,提前将缓存节点存储的数据发送到存储节点,从而保证故障的缓存节点上的数据重构到未故障的缓存节点时,未故障的缓存节点已经释放了足够的空间存储重构的数据,不会引起未故障的缓存节点溢出,从而保证了重构业务的正常进行。
进一步的,S401中缓存节点的当前空间使用率是指缓存节点已经存储的数据量(即缓存节点的当前空间使用量)占缓存节点总容量的比例。缓存节点的当前空间使用率可以作为缓存节点的一个属性,在数据存储时自动生成,也可以是缓存节点获知自身的当前空间使用量和总容量计算得到。
可选的,获取自身的当前空间使用率的步骤,具体可以为:定时获取自身的当前空间使用量以及缓存节点自身的总容量;根据当前空间使用量及总容量,计算缓存节点自身的当前空间使用率。
数据下刷的过程一般是定时执行的,每间隔一段时间就需要判断是否将数据下刷到存储节点,因此,缓存节点需要定时获取自身的当前空间使用量以及缓存节点自身的总容量,计算当前空间使用量占总容量的比例,例如,缓存节点的总容量为100M,当前空间使用量为30M,则该缓存节点的当前空间使用率为0.3。
空间使用率矫正系数是分布式存储系统的一个参数,用于表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,例如,当前未故障的缓存节点数目为8个、缓存节点总数目为10个,则空间使用率矫正系数为0.8。空间使用率矫正系数可以是缓存节点通过统计分布式存储系统中当前未故障的缓存节点数目、缓存节点总数目计算得到,也可以是从管理节点获取到。
可选的,获取空间使用率矫正系数的步骤,具体可以为:定时向管理节点发送触发请求,以触发管理节点统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算缓存节点数目占缓存节点总数目的比例作为空间使用率矫正系数;接收管理节点反馈的空间使用率矫正系数。
缓存节点统计分布式存储系统中当前未故障的缓存节点数目、缓存节点总数目计算空间使用率矫正系数的方式这里不再赘述。主要介绍缓存节点从管理节点获取空间使用率矫正系数的实现方式,缓存节点定时向管理节点发送触发请求,管理节点在接收到触发请求后,开始统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,例如分布式存储系统中,当前故障的缓存节点为2个、未故障的缓存节点为8个、缓存节点总共为10个,则可以计算出空间使用率矫正系数为0.8,然后将计算出的空间使用率矫正系数反馈给缓存节点。
由于空间使用率矫正系数表征了分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,而当前空间使用率是指缓存节点当前的数据存储情况,基于空间使用率矫正系数,能够换算出如果将故障的缓存节点的数据全部重构到未故障的缓存节点上,预估出来的空间使用率会是多大,即在S402中利用空间使用率矫正系数对缓存节点的当前空间使用率进行矫正,矫正后得到的空间使用率能够表征如果故障的缓存节点上的数据全部重构到未故障的缓存节点上,未故障的缓存节点的空间使用率高低。
可选的,S402具体可以为:将当前空间使用率除以空间使用率矫正系数,得到矫正后的空间使用率。
在对如果将故障的缓存节点的数据全部重构到未故障的缓存节点上,空间使用率的矫正方式具体可以是将当前空间使用率除以空间使用率矫正系数,例如若当前空间使用率为0.4,空间使用率矫正系数为0.8,则矫正后的空间使用率为0.4/0.8=0.5。
在得到矫正后的空间使用率后,需要对矫正后的空间使用率的大小进行判断,如果矫正后的空间使用率超过预设阈值,例如预设阈值为0.6,得到矫正后的空间使用率为0.8,说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点空间不足、产生数据溢出,因此,需要向存储节点发送该缓存节点本地存储的数据,即在数据重构之前,释放出未故障的缓存节点中需要存储重构的数据的存储空间,从而保证故障的缓存节点上的数据能够正常重构到未故障的缓存节点。
基于图4所示的方法,本发明实施例还提供了一种数据下刷方法,如图5所示,该方法可以包括如下步骤:
S501,缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,其中,空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例。
S502,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率。
S503,判断矫正后的空间使用率是否超过预设阈值,若是则执行S504,否则执行S505。
S504,下刷该缓存节点本地存储的数据至存储节点。
S505,保留该缓存节点本地存储的数据。
如果矫正后的空间使用率没有超过预设阈值,则说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上并不会导致未故障的缓存节点空间不足、产生数据溢出,因此,保留该缓存节点本地存储的数据,不需要进行数据下刷。
为了便于理解,下面以图3所示的分布式系统为应用场景,从分布式系统中各节点的交互过程,对本发明实施例所提供的数据下刷方法进行介绍,具体的交互过程如图6所示。
缓存节点定时向管理节点的客户端发起触发请求,管理节点的客户端在接收到触发请求后,触发管理节点统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,管理节点计算缓存节点数目占缓存节点总数目的比例作为空间使用率矫正系数。管理节点通过管理节点的客户端向缓存节点反馈空间使用率矫正系数。缓存节点在接收到空间使用率矫正系数后,启动数据下刷线程,根据空间使用率矫正系数循环执行空间使用率的矫正,如果矫正后的空间使用率超过预设阈值,则开始向存储节点下刷数据。
相应于上述方法实施例,本发明实施例提供了一种数据下刷装置,应用于上述分布式存储系统中的缓存节点,如图7所示,该装置包括:
获取模块710,用于获取自身的当前空间使用率以及空间使用率矫正系数,其中,空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例;
矫正模块720,用于根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率;
下刷模块730,用于若矫正后的空间使用率超过预设阈值,则下刷存节点本地存储的数据至存储节点。
可选的,获取模块710,具体可以用于:
定时获取自身的当前空间使用量以及缓存节点自身的总容量;
根据当前空间使用量及总容量,计算缓存节点自身的当前空间使用率。
可选的,分布式存储系统还包括管理节点;获取模块710,具体可以用于:
定时向管理节点发送触发请求,以触发管理节点统计分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算缓存节点数目占缓存节点总数目的比例作为空间使用率矫正系数;
接收管理节点反馈的空间使用率矫正系数。
可选的,矫正模块720,具体可以用于:
将当前空间使用率除以空间使用率矫正系数,得到矫正后的空间使用率。
可选的,该装置还可以包括:
保留模块,用于若矫正后的空间使用率未超过预设阈值,则保留缓存节点本地存储的数据。
应用本发明实施例,分布式存储系统中的缓存节点获取自身的当前空间使用率以及空间使用率矫正系数,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率,若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,利用空间使用率矫正系数对缓存节点的当前空间使用率进行矫正,矫正后得到的空间使用率能够表征如果故障的缓存节点上的数据全部重构到未故障的缓存节点上,未故障的缓存节点的使用率高低。如果矫正后的空间使用率超过预设阈值,则说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点空间不足、产生数据溢出,因此,在数据重构之前,对未故障的缓存节点进行数据下刷,提前将缓存节点存储的数据发送到存储节点,从而保证故障的缓存节点上的数据重构到未故障的缓存节点时,未故障的缓存节点已经释放了足够的空间存储重构的数据,不会引起未故障的缓存节点溢出,从而保证了重构业务的正常进行。
本发明实施例还提供了一种缓存节点,如图8所示,包括处理器801和机器可读存储介质802,其中,机器可读存储介质802存储有能够被处理器801执行的机器可执行指令;处理器801被机器执行指令促使:实现本发明实施例所提供的数据下刷方法。
本发明实施例中,处理器801通过读取机器可读存储介质802中存储的机器可执行指令,被机器可执行指令促使能够实现:获取自身的当前空间使用率以及空间使用率矫正系数,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率,若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,利用空间使用率矫正系数对缓存节点的当前空间使用率进行矫正,矫正后得到的空间使用率能够表征如果故障的缓存节点上的数据全部重构到未故障的缓存节点上,未故障的缓存节点的使用率高低。如果矫正后的空间使用率超过预设阈值,则说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点空间不足、产生数据溢出,因此,在数据重构之前,对未故障的缓存节点进行数据下刷,提前将缓存节点存储的数据发送到存储节点,从而保证故障的缓存节点上的数据重构到未故障的缓存节点时,未故障的缓存节点已经释放了足够的空间存储重构的数据,不会引起未故障的缓存节点溢出,从而保证了重构业务的正常进行。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,实现本发明实施例所提供的数据下刷方法。
本实施例中,机器可读存储介质中存储的机器可执行指令在运行时能够实现:获取自身的当前空间使用率以及空间使用率矫正系数,根据空间使用率矫正系数,对当前空间使用率进行矫正,得到矫正后的空间使用率,若矫正后的空间使用率超过预设阈值,则下刷缓存节点本地存储的数据至存储节点。空间使用率矫正系数表征分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例,利用空间使用率矫正系数对缓存节点的当前空间使用率进行矫正,矫正后得到的空间使用率能够表征如果故障的缓存节点上的数据全部重构到未故障的缓存节点上,未故障的缓存节点的使用率高低。如果矫正后的空间使用率超过预设阈值,则说明如果故障的缓存节点上的数据全部重构到未故障的缓存节点上会导致未故障的缓存节点空间不足、产生数据溢出,因此,在数据重构之前,对未故障的缓存节点进行数据下刷,提前将缓存节点存储的数据发送到存储节点,从而保证故障的缓存节点上的数据重构到未故障的缓存节点时,未故障的缓存节点已经释放了足够的空间存储重构的数据,不会引起未故障的缓存节点溢出,从而保证了重构业务的正常进行。
对于缓存节点、机器可读存储介质以及分布式存储系统实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、缓存节点、机器可读存储介质以及分布式存储系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种数据下刷方法,其特征在于,应用于分布式存储系统中的缓存节点,所述分布式存储系统包括缓存节点和存储节点,所述方法包括:
获取所述缓存节点自身的当前空间使用率以及空间使用率矫正系数,所述空间使用率矫正系数表征所述分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例;
根据所述空间使用率矫正系数,对所述当前空间使用率进行矫正,得到矫正后的空间使用率;
若所述矫正后的空间使用率超过预设阈值,则下刷所述缓存节点本地存储的数据至所述存储节点。
2.根据权利要求1所述的方法,其特征在于,所述获取所述缓存节点自身的当前空间使用率,包括:
定时获取所述缓存节点自身的当前空间使用量以及所述缓存节点自身的总容量;
根据所述当前空间使用量及所述总容量,计算所述缓存节点自身的当前空间使用率。
3.根据权利要求1所述的方法,其特征在于,所述分布式存储系统还包括管理节点;所述获取空间使用率矫正系数,包括:
定时向所述管理节点发送触发请求,以触发所述管理节点统计所述分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算所述缓存节点数目占所述缓存节点总数目的比例作为空间使用率矫正系数;
接收所述管理节点反馈的所述空间使用率矫正系数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述空间使用率矫正系数,对所述当前空间使用率进行矫正,得到矫正后的空间使用率,包括:
将所述当前空间使用率除以所述空间使用率矫正系数,得到矫正后的空间使用率。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述矫正后的空间使用率未超过所述预设阈值,则保留所述缓存节点本地存储的数据。
6.一种数据下刷装置,其特征在于,应用于分布式存储系统中的缓存节点,所述分布式存储系统包括缓存节点和存储节点,所述装置包括:
获取模块,用于获取所述缓存节点自身的当前空间使用率以及空间使用率矫正系数,所述空间使用率矫正系数表征所述分布式存储系统中当前未故障的缓存节点数目占缓存节点总数目的比例;
矫正模块,用于根据所述空间使用率矫正系数,对所述当前空间使用率进行矫正,得到矫正后的空间使用率;
下刷模块,用于若所述矫正后的空间使用率超过预设阈值,则下刷所述缓存节点本地存储的数据至所述存储节点。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
定时获取所述缓存节点自身的当前空间使用量以及所述缓存节点自身的总容量;
根据所述当前空间使用量及所述总容量,计算所述缓存节点自身的当前空间使用率。
8.根据权利要求6所述的装置,其特征在于,所述分布式存储系统还包括管理节点;所述获取模块,具体用于:
定时向所述管理节点发送触发请求,以触发所述管理节点统计所述分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算所述缓存节点数目占所述缓存节点总数目的比例作为空间使用率矫正系数;
接收所述管理节点反馈的所述空间使用率矫正系数。
9.根据权利要求6所述的装置,其特征在于,所述矫正模块,具体用于:
将所述当前空间使用率除以所述空间使用率矫正系数,得到矫正后的空间使用率。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
保留模块,用于若所述矫正后的空间使用率未超过所述预设阈值,则保留所述缓存节点本地存储的数据。
11.一种缓存节点,其特征在于,包括处理器和机器可读存储介质,其中,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器被机器执行指令促使:实现权利要求1-5任一项所述的方法。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,实现权利要求1-5任一项所述的方法。
13.一种分布式存储系统,其特征在于,所述系统包括如权利要求11所述的缓存节点和存储节点;
所述存储节点,用于对从所述缓存节点接收的数据进行存储。
14.根据权利要求13所述的系统,其特征在于,所述系统还包括管理节点;
所述缓存节点,具体用于定时向所述管理节点发送触发请求;
所述管理节点,用于在接收到所述触发请求后,统计所述分布式存储系统中当前未故障的缓存节点数目及缓存节点总数目,并计算所述缓存节点数目占所述缓存节点总数目的比例作为空间使用率矫正系数;
所述缓存节点,具体还用于接收所述管理节点反馈的所述空间使用率矫正系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911256872.3A CN111124292B (zh) | 2019-12-10 | 2019-12-10 | 一种数据下刷方法、装置、缓存节点及分布式存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911256872.3A CN111124292B (zh) | 2019-12-10 | 2019-12-10 | 一种数据下刷方法、装置、缓存节点及分布式存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124292A true CN111124292A (zh) | 2020-05-08 |
CN111124292B CN111124292B (zh) | 2022-08-19 |
Family
ID=70497996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911256872.3A Active CN111124292B (zh) | 2019-12-10 | 2019-12-10 | 一种数据下刷方法、装置、缓存节点及分布式存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124292B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463079A (zh) * | 2020-12-17 | 2021-03-09 | 北京浪潮数据技术有限公司 | 一种数据存储控制方法、装置、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204218A (zh) * | 2011-05-31 | 2011-09-28 | 华为技术有限公司 | 数据处理方法、缓存节点、协作控制器及系统 |
US20150363319A1 (en) * | 2014-06-12 | 2015-12-17 | Netapp, Inc. | Fast warm-up of host flash cache after node failover |
US20150370712A1 (en) * | 2014-06-24 | 2015-12-24 | Huawei Technologies Co., Ltd. | Method for processing error directory of node in cc-numa system, and node |
WO2019062856A1 (zh) * | 2017-09-29 | 2019-04-04 | 杭州海康威视系统技术有限公司 | 数据重构方法及装置、数据存储系统 |
CN109614344A (zh) * | 2018-12-12 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种缓存空间回收方法、装置、设备以及存储系统 |
CN110442306A (zh) * | 2019-06-28 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的故障处理方法、设备以及存储介质 |
CN110460663A (zh) * | 2019-08-12 | 2019-11-15 | 深圳市网心科技有限公司 | 分布式节点间的数据分配方法、装置、服务器及存储介质 |
-
2019
- 2019-12-10 CN CN201911256872.3A patent/CN111124292B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204218A (zh) * | 2011-05-31 | 2011-09-28 | 华为技术有限公司 | 数据处理方法、缓存节点、协作控制器及系统 |
US20150363319A1 (en) * | 2014-06-12 | 2015-12-17 | Netapp, Inc. | Fast warm-up of host flash cache after node failover |
US20150370712A1 (en) * | 2014-06-24 | 2015-12-24 | Huawei Technologies Co., Ltd. | Method for processing error directory of node in cc-numa system, and node |
WO2019062856A1 (zh) * | 2017-09-29 | 2019-04-04 | 杭州海康威视系统技术有限公司 | 数据重构方法及装置、数据存储系统 |
CN109614344A (zh) * | 2018-12-12 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种缓存空间回收方法、装置、设备以及存储系统 |
CN110442306A (zh) * | 2019-06-28 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的故障处理方法、设备以及存储介质 |
CN110460663A (zh) * | 2019-08-12 | 2019-11-15 | 深圳市网心科技有限公司 | 分布式节点间的数据分配方法、装置、服务器及存储介质 |
Non-Patent Citations (3)
Title |
---|
MAHDI NASRULLAH AL-AMEEN; RAKIB HASAN: ""The mechanisms to decide on caching a packet on its way of transmission to a faulty node in wireless sensor networks based on the analytical models and mathematical evaluations"", 《IEEE》 * |
郑松等: "分布式控制系统动态重构技术研究与实现", 《原子能科学技术》 * |
陈雪等: "基于均衡数据放置策略的分布式网络存储编码缓存方案", 《计算机应用研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463079A (zh) * | 2020-12-17 | 2021-03-09 | 北京浪潮数据技术有限公司 | 一种数据存储控制方法、装置、设备及可读存储介质 |
CN112463079B (zh) * | 2020-12-17 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种数据存储控制方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111124292B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8839049B2 (en) | Dynamically allocating multitier applications based upon application requirements and performance reliability of resources | |
CN103078933B (zh) | 一种确定数据迁移时机的方法和装置 | |
CN109545267A (zh) | 闪存自检的方法、固态硬盘以及存储装置 | |
CN111770030B (zh) | 消息持久化处理方法、装置和存储介质 | |
JP5934445B2 (ja) | 適応可能なサービスタイムアウト | |
CN108509157A (zh) | 一种应用于分布式文件系统的数据均衡方法及装置 | |
US11269737B2 (en) | Incrementally updating recovery map data for a memory system | |
EP2458504A1 (en) | Method and device for processing data caching | |
CN108595347B (zh) | 一种缓存控制方法、装置及计算机可读存储介质 | |
CN111857592A (zh) | 基于对象存储系统的数据存储方法及装置、电子设备 | |
US11449402B2 (en) | Handling of offline storage disk | |
CN106445409A (zh) | 一种分布式块存储的数据写入方法及装置 | |
CN106293492A (zh) | 一种存储管理方法及分布式文件系统 | |
CN111124292B (zh) | 一种数据下刷方法、装置、缓存节点及分布式存储系统 | |
CN111142803B (zh) | 一种元数据刷盘方法、装置、设备及介质 | |
CN116257186A (zh) | 一种数据对象纠删码存储方法、装置、设备及介质 | |
CN110874181A (zh) | 一种数据更新方法及更新装置 | |
CN111400241B (zh) | 数据重构方法和装置 | |
CN113177033A (zh) | 一种日志数据存储方法、装置、电子设备和介质 | |
CN111176570B (zh) | 一种厚置备卷创建方法、装置、设备及介质 | |
US10769017B2 (en) | Adaptive multi-level checkpointing | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN109634531A (zh) | 一种raid 5磁盘阵列监控方法、装置、设备及介质 | |
CN111143073B (zh) | 一种虚拟化资源的管理方法、设备及存储介质 | |
CN114328548A (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 |