CN113625955A - 一种分布式存储***的脏数据处理方法、装置及介质 - Google Patents
一种分布式存储***的脏数据处理方法、装置及介质 Download PDFInfo
- Publication number
- CN113625955A CN113625955A CN202110742166.0A CN202110742166A CN113625955A CN 113625955 A CN113625955 A CN 113625955A CN 202110742166 A CN202110742166 A CN 202110742166A CN 113625955 A CN113625955 A CN 113625955A
- Authority
- CN
- China
- Prior art keywords
- dirty data
- scanning
- osd
- pool
- data
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 47
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 54
- 238000011010 flushing procedure Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 26
- 238000000034 method Methods 0.000 abstract description 27
- 238000010586 diagram Methods 0.000 description 6
- 230000001680 brushing effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式存储***的脏数据处理方法、装置及介质,方法应用于Cache tier,包括:缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;OSD利用脏数据扫描线程对激活的主放置策略组PG进行脏数据扫描;OSD获得脏数据扫描线程扫描的主PG包括的对象的脏数据范围;将脏数据范围保存到内存中,以根据内存保存的脏数据范围下刷脏数据到数据池。该可以获得脏数据的范围,而且将脏数据范围保存在内存中,因此,可以保证OSD重启后也可以准确获得脏数据范围,在需要下刷时将脏数据下刷到数据池,从而保证缓存池的水位不会过高,不至于被写爆。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种分布式存储***的脏数据处理方法、装置及介质。
背景技术
首先介绍分布式存储***的几个基本概念,目前很多分布式存储基于分布式文件***Ceph。Ceph是一种开源软件,利用一个分布式集群来提供对象,块和文件存储的统一存储平台,具有高可靠性、高度自动化、高可扩展性等特点。Ceph存储集群至少需要一个Monitor和两个对象存储守护进程(OSD,Object Storage Device),OSD用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他OSD守护进程发送心跳,然后向Monitor提供一些监控信息。Ceph还包括放置策略组(PG,Placement Group),PG是对象的集合,集合中的所有对象具有相同的放置策略;对象的副本都分布在相同的OSD列表上,服务端数据均衡和恢复的最小粒度就是PG。一个对象只能属于一个PG,一个PG对应于放置在其上的OSD列表。一个OSD上可以分布多个PG。一个PG可以包含多个对象。
分布式集群一般采用机械盘存放数据,其特点:容量大,但I/O性能较低,尤其随机I/O性能,为了提升存储***的I/O性能,目前使用更快速的磁盘设备,例如固态硬盘(SSD,Solid State Drives)创建Cache,即在数据池之前添加一个由SSD创建的缓存池。参见图1,该图为Ceph分层tier存储结构图,即添加了Cache tier,Cache tier的访问速度比较快,下面介绍Cache tier的架构,参见图2,该图为一种Cache tier的架构图。
Cache tier的架构涉及缓存池Cache pool和数据池Data pool,Cache Tier是在更快速的磁盘设备(通常是SSD)上创建缓存池,在慢速设备(通过是机械硬盘HDD)上创建数据池,缓存池放在数据池的前端,客户端的I/O操作首先由缓存池完成,之后,再将脏数据下刷到数据池。
小IO或非纠删条带对齐的数据先写到缓存池中,缓存池达到一定水位且满足下刷脏数据范围时,脏数据由缓存池下刷到数据池,条带对齐部分的数据直接写到数据池,通过以上优化显著提升了分布式存储***的I/O性能、降低了客户端请求响应时延。
但是,Cache池中对象的脏数据范围,在内存中记录,OSD重启后,除非对象重写,否则内存中不再记录对象的脏数据范围,导致脏数据不能下刷,Cache水位升高,严重时会导致Cache被写爆,影响了存储的稳定性及性能。
发明内容
为了解决上述技术问题,本申请提供了一种分布式存储***的脏数据处理方法、装置及介质,能够及时在内存中记录脏数据范围,避免Cache水位升高被写爆。
为了实现上述目的,本申请实施例提供的技术方案如下:
本申请提供一种分布式存储***脏数据的处理方法,应用于Cache tier,包括:
缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;
所述OSD利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描;
所述OSD获得所述脏数据扫描线程扫描的所述主PG包括的对象的脏数据范围;
将所述脏数据范围保存到内存中,以根据所述内存保存的所述脏数据范围下刷脏数据到数据池。
优选地,还包括:所述OSD根据所述缓存池的水位和所述内存保存的所述脏数据范围确定脏数据大小,当所述脏数据大小超过预设值时,将所述缓存池中的脏数据下刷到所述数据池。
优选地,所述OSD利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描,具体包括:
所述OSD获得所述缓存池的当前水位,根据所述当前水位确定扫描脏数据的对象个数M,所述M与所述当前水位成正比;利用所述脏数据扫描线程扫描active的主PG中所述M个对象。
优选地,所述利用所述脏数据扫描线程对active的主PG进行脏数据扫描,具体包括:
遍历active的主PG的所有对象,利用所述脏数据扫描线程对active的主PG中的非元数据对象和非missing对象进行脏数据扫描。
优选地,还包括:所述OSD利用所述脏数据扫描线程对active的主PG的所有对象扫描完成后,设置完成标志,不再扫描。
本申请还提供一种分布式存储***脏数据的处理装置,应用于Cache tier,包括:
创建模块,用于在缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;
扫描模块,利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描;
范围获得模块,用于获得所述脏数据扫描线程扫描的所述主PG包括的对象的脏数据范围;
保存模块,用于将所述脏数据范围保存到内存中,以根据所述内存保存的所述脏数据范围下刷脏数据到数据池。
优选地,还包括:下刷模块,用于根据所述缓存池的水位和所述内存保存的所述脏数据范围确定脏数据大小,当所述脏数据大小超过预设值时,将所述缓存池中的脏数据下刷到所述数据池。
优选地,所述扫描模块包括扫描个数子模块,用于获得所述缓存池的当前水位,根据所述当前水位确定扫描脏数据的对象个数M,所述M与所述当前水位成正比;利用所述脏数据扫描线程扫描active的主PG中所述M个对象。
优选地,所述扫描模块包括对象子模块,用于遍历active的主PG的所有对象,利用所述脏数据扫描线程对active的主PG中的非元数据对象和非missing对象进行脏数据扫描。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得设备执行以上介绍的处理方法。
与现有技术相比,本申请提供的技术方案具有如下优点:
本实施例提供的脏数据的处理方法,在OSD启动时即创建脏数据扫描线程,脏数据扫描线程扫描OSD的主PG上的脏数据,获得扫描的脏数据范围,将扫描获得的脏数据范围保存到内存中,OSD根据内存中存储的脏数据范围以及缓存池的水位来决定是否下刷脏数据到数据池中。由于本申请实施例提供的方法可以获得脏数据的范围,而且将脏数据范围保存在内存中,因此,可以保证OSD重启后也可以准确获得脏数据范围,在需要下刷时将脏数据下刷到数据池,从而保证缓存池的水位不会过高,不至于被写爆。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为Ceph分层tier存储结构图;
图2为一种Cache tier的架构图;
图3为本申请实施例提供的一种分布式存储***脏数据的处理方法的流程图;
图4为本申请实施例提供的另一种分布式存储***脏数据的处理方法的流程图;
图5为本申请实施例提供的一种分布式存储***脏数据的处理装置的示意图。
具体实施方式
为了帮助更好地理解本申请实施例提供的方案,在介绍本申请实施例提供的方法之前,先介绍本申请实施例方案的应用的场景。
Cache Tier涉及到缓存池和数据池两个存储池,其中小IO数据或非纠删条带对齐的数据先写到缓存池中,缓存池达到一定水位且满足下刷脏数据的大小size时,脏数据由缓存池下刷到数据池,条带对齐部分的数据直接写到数据池。通过以上优化显著提升了存储***的I/O性能、降低了客户端请求响应时延。
但是,缓存池中对象的脏数据size,传统是在内存中记录,OSD重启后,除非对象重写,否则内存中不再记录对象的脏数据size,导致脏数据不能下刷,缓存池的水位升高,严重时会导致缓存池被写爆,影响了存储的稳定性及性能。其中缓存池的水位是指缓存池的已用容量与总容量的比值。
本申请为了解决缓存池的水位升高,导致被写爆的风险,提供了一种分布式存储***的脏数据处理的方法,先进行脏数据扫描,脏数据扫描的目的是将未记录在内存中的脏数据范围拉到内存中,即记录到内存中,工作时,OSD从内存中获取脏数据的范围,从而决定是否从缓存池下刷脏数据到数据池,由于本申请通过脏数据扫描,使内存中记录了脏数据的范围,因此,可以保证脏数据及时下刷,从而防止缓存池被写爆。
一个Cache包括多个OSD,一个OSD包括多个PG,一般一个OSD包括一个主PG,其余为副PG,例如一个OSD包括三个PG,则其中一个PG为主PG,其余两个PG为副PG。本申请实施例提供的技术方案是,OSD仅扫描主PG中的对象,不扫描副PG中的对象。由于每个OSD单独进行脏数据扫描,单独进行脏数据下刷,因此,下面的实施例中以一个OSD为例进行描述,各个OSD的工作原理相同,在此不再一一赘述。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
参见图3,该图为本申请实施例提供的一种分布式存储***脏数据的处理方法的流程图。
本实施例提供的分布式存储***脏数据的处理方法,应用于Cache tier,包括:
S101:缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;
即每个OSD启动时便创建脏数据扫描线程,该线程用来进行该OSD包括的主PG的脏数据扫描。
S102:OSD利用脏数据扫描线程对active的主放置策略组PG进行脏数据扫描;
具体实现时,脏数据扫描线程遍历缓存池中的PSD的所有PG,仅active的主PG进行脏数据扫描。并且,OSD的脏数据扫描线程可以定时地扫描主PG上的脏数据。脏数据扫描线程进行脏数据扫描时,仅扫描主PG上的脏数据,不扫描副PG上的脏数据。
脏数据扫描线程会主动地把主PG中对象的脏数据统计到脏数据的扫描队列中,同时对象的重写或修改也会把对象的脏数据统计到脏数据列队中,因此,可以保证脏数据扫描的完整性。
S103:OSD获得脏数据扫描线程扫描的主PG包括的对象的脏数据范围;
其中,脏数据扫描线程扫描的主PG包括的对象的脏数据,需要遍历主PG包括的所有对象,但不扫描missing对象和元数据对象,此处不扫描missing对象是因为数据不完整,另外由于元数据对象全部写在缓存池中,所以元数据对象不进行扫描。
S104:将脏数据范围保存到内存中,以根据内存保存的脏数据范围下刷脏数据到数据池。
本实施例提供的脏数据的处理方法,在OSD启动时即创建脏数据扫描线程,脏数据扫描线程扫描OSD的主PG上的脏数据,获得扫描的脏数据范围,将扫描获得的脏数据范围保存到内存中,OSD根据内存中存储的脏数据范围以及缓存池的水位来决定是否下刷脏数据到数据池中。由于本申请实施例提供的方法可以获得脏数据的范围,而且将脏数据范围保存在内存中,因此,可以保证OSD重启后也可以准确获得脏数据范围,在需要下刷时将脏数据下刷到数据池,从而保证缓存池的水位不会过高,不至于被写爆。
下面详细介绍脏数据扫描的一种更详细的实现方案。
参见图4,该图为本申请实施例提供的另一种分布式存储***脏数据的处理方法的流程图。
本实施例提供的分布式存储***脏数据的处理方法包括:
S201:缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;
S202:OSD利用脏数据扫描线程遍历所有PG,获得active的主PG;
S203:OSD获得缓存池的当前水位,根据当前水位确定扫描脏数据的对象个数M,M与当前水位成正比;利用脏数据扫描线程扫描active的主PG中的M个对象;
为了兼顾缓存池的水位以及性能,需要根据水位确定每次扫描的脏数据的对象个数,当水位越高时,每次扫描的脏数据的对象个数越大,即快速扫描,避免脏数据不能及时下刷,水位升高快。当水位越低时,每次扫描的脏数据的对象的个数可以较小,因为水位较低,即使每次扫描的对象个数较少,减小对前端IO业务的影响。
S204:遍历active的主PG中的所有对象,不扫描missing对象和元数据对象。即遍历active的主PG的所有对象,利用脏数据扫描线程对active的主PG中的非元数据对象和非missing对象进行脏数据扫描。
S205:扫描完所有对象后获得脏数据的范围,OSD利用脏数据扫描线程对active的主PG的所有对象扫描完成后,设置完成标志,不再扫描。
OSD扫描完主PG的对象后,便不再扫描,即OSD启动时创建的脏数据扫描线程仅扫描一次。
S206:将脏数据的范围保存到内存,OSD根据缓存池的水位和内存保存的脏数据范围确定脏数据大小,当脏数据大小超过预设值时,将缓存池中的脏数据下刷到数据池。
由于扫描的脏数据范围包括空洞,即不连续,因此,需要扣除这些不连续的部分,获得脏数据的大小。扫描的脏数据范围仅是包括脏数据的起始点和终止点。
本申请实施例提供的方法,在Cache tier分层存储特性下,每个OSD启动时创建一个脏数据扫描线程,根据Cache的不同水位,获取一次扫描的脏数据个数,然后定时的扫描主PG上的脏数据,直到Cache池的OSD都扫描完成。脏数据扫描可以主动地把主PG中对象的脏数据统计到脏数据的队列中,同时对象的重写或修改也会把对象的脏数据统计到脏数据列队中,使Cache在OSD启动后,能快速的统计脏数据范围,保证脏数据能及时下刷,使Cache维持在一个安全的水位,从而保证了存储的稳定性及性能。
基于以上实施例提供的一种分布式存储***脏数据的处理方法,本申请实施例还提供一种分布式存储***脏数据的处理装置,下面结合附图进行详细介绍。
参见图5,该图为本申请实施例提供的一种分布式存储***脏数据的处理装置的示意图。
本申请实施例提供的分布式存储***脏数据的处理装置,应用于Cache tier,包括:
创建模块301,用于在缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;
即每个缓存池的OSD启动时便创建脏数据扫描线程,该线程用来进行该OSD包括的主PG的脏数据扫描。
扫描模块302,利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描;
具体实现时,脏数据扫描线程遍历缓存池中的OSD的所有PG,仅active的主PG进行脏数据扫描。并且,OSD的脏数据扫描线程可以定时地扫描主PG上的脏数据。脏数据扫描线程进行脏数据扫描时,仅扫描主PG上的脏数据,不扫描副PG上的脏数据。
脏数据扫描线程会主动地把主PG中对象的脏数据统计到脏数据的扫描队列中,同时对象的重写或修改也会把对象的脏数据统计到脏数据列队中,因此,可以保证脏数据扫描的完整性。
范围获得模块303,用于获得所述脏数据扫描线程扫描的所述主PG包括的对象的脏数据范围;
其中,脏数据扫描线程扫描的主PG包括的对象的脏数据,需要遍历主PG包括的所有对象,且为了提升Cache Tier的性能,不扫描missing对象和元数据对象,由于元数据对象全部写在缓存池中,所以元数据对象不进行扫描。
保存模块304,用于将所述脏数据范围保存到内存中,以根据所述内存保存的所述脏数据范围下刷脏数据到数据池。
本实施例提供的脏数据的处理装置,在OSD启动时即创建脏数据扫描线程,脏数据扫描线程扫描OSD的主PG上的脏数据,获得扫描的脏数据范围,将扫描获得的脏数据范围保存到内存中,OSD根据内存中存储的脏数据范围以及缓存池的水位来决定是否下刷脏数据到数据池中。由于本申请实施例提供的方法可以获得脏数据的范围,而且将脏数据范围保存在内存中,因此,可以保证OSD重启后也可以准确获得脏数据范围,在需要下刷时将脏数据下刷到数据池,从而保证缓存池的水位不会过高,不至于被写爆。
另外,本申请实施例提供的脏数据的处理装置,还包括:下刷模块,用于根据所述缓存池的水位和所述内存保存的所述脏数据范围确定脏数据大小,当所述脏数据大小超过预设值时,将所述缓存池中的脏数据下刷到所述数据池。
扫描模块包括扫描个数子模块,用于获得所述缓存池的当前水位,根据所述当前水位确定扫描脏数据的对象个数M,所述M与所述当前水位成正比;利用所述脏数据扫描线程扫描active的主PG中所述M个对象。
为了兼顾缓存池的水位以及性能,需要根据水位确定每次扫描的脏数据的对象个数,当水位越高时,每次扫描的脏数据的对象个数越大,即快速扫描,避免脏数据不能及时下刷,水位升高快。当水位越低时,每次扫描的脏数据的对象的个数可以较小,因为水位较低,即使每次扫描的对象个数较少,减小对前端IO业务的影响。
扫描模块包括对象子模块,用于遍历active的主PG的所有对象,利用所述脏数据扫描线程对active的主PG中的非元数据对象和非missing对象进行脏数据扫描。
在Cache tier分层存储特性下,每个OSD启动时创建一个脏数据扫描线程,根据Cache的不同水位,获取一次扫描的脏数据个数,然后定时的扫描主PG上的脏数据,直到Cache池的OSD都扫描完成。脏数据扫描可以主动地把主PG中对象的脏数据统计到脏数据的队列中,同时对象的重写或修改也会把对象的脏数据统计到脏数据列队中,使Cache在OSD启动后,能快速的统计脏数据范围,保证脏数据能及时下刷,使Cache维持在一个安全的水位,从而保证了存储的稳定性及性能。
基于以上实施例提供的一种分布式存储***脏数据的处理方法,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在设备上运行时,使得设备执行以上介绍的处理方法。本申请不限定设备的具体类型,例如可以为服务器,存储器或者计算机等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的***相对应,所以描述的比较简单,相关之处参见***部分说明即可。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种分布式存储***脏数据的处理方法,其特征在于,应用于Cache tier,包括:
缓存池的对象存储守护进程OSD启动时创建脏数据扫描线程;
所述OSD利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描;
所述OSD获得所述脏数据扫描线程扫描的所述主PG包括的对象的脏数据范围;
将所述脏数据范围保存到内存中,以根据所述内存保存的所述脏数据范围下刷脏数据到数据池。
2.根据权利要求1所述的处理方法,其特征在于,还包括:所述OSD根据所述缓存池的水位和所述内存保存的所述脏数据范围确定脏数据大小,当所述脏数据大小超过预设值时,将所述缓存池中的脏数据下刷到所述数据池。
3.根据权利要求1所述的处理方法,其特征在于,所述OSD利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描,具体包括:
所述OSD获得所述缓存池的当前水位,根据所述当前水位确定扫描脏数据的对象个数M,所述M与所述当前水位成正比;利用所述脏数据扫描线程扫描active的主PG中所述M个对象。
4.根据权利要求1-3任一项所述的处理方法,其特征在于,所述利用所述脏数据扫描线程对active的主PG进行脏数据扫描,具体包括:
遍历active的主PG的所有对象,利用所述脏数据扫描线程对active的主PG中的非元数据对象和非missing对象进行脏数据扫描。
5.根据权利要求1所述的处理方法,其特征在于,还包括:所述OSD利用所述脏数据扫描线程对active的主PG的所有对象扫描完成后,设置完成标志,不再扫描。
6.一种分布式存储***脏数据的处理装置,其特征在于,应用于Cache tier,包括:
创建模块,用于在缓存池的OSD启动时创建脏数据扫描线程;
扫描模块,利用所述脏数据扫描线程对active的主放置策略组PG进行脏数据扫描;
范围获得模块,用于获得所述脏数据扫描线程扫描的所述主PG包括的对象的脏数据范围;
保存模块,用于将所述脏数据范围保存到内存中,以根据所述内存保存的所述脏数据范围下刷脏数据到数据池。
7.根据权利要求6所述的处理装置,其特征在于,还包括:下刷模块,用于根据所述缓存池的水位和所述内存保存的所述脏数据范围确定脏数据大小,当所述脏数据大小超过预设值时,将所述缓存池中的脏数据下刷到所述数据池。
8.根据权利要求7所述的处理装置,其特征在于,所述扫描模块包括扫描个数子模块,用于获得所述缓存池的当前水位,根据所述当前水位确定扫描脏数据的对象个数M,所述M与所述当前水位成正比;利用所述脏数据扫描线程扫描active的主PG中所述M个对象。
9.根据权利要求6-8任一项所述的处理装置,其特征在于,所述扫描模块包括对象子模块,用于遍历active的主PG的所有对象,利用所述脏数据扫描线程对active的主PG中的非元数据对象和非missing对象进行脏数据扫描。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行权利要求1-5任一项所述的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742166.0A CN113625955B (zh) | 2021-06-30 | 2021-06-30 | 一种分布式存储***的脏数据处理方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742166.0A CN113625955B (zh) | 2021-06-30 | 2021-06-30 | 一种分布式存储***的脏数据处理方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113625955A true CN113625955A (zh) | 2021-11-09 |
CN113625955B CN113625955B (zh) | 2023-12-22 |
Family
ID=78378730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742166.0A Active CN113625955B (zh) | 2021-06-30 | 2021-06-30 | 一种分布式存储***的脏数据处理方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113625955B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017167056A1 (zh) * | 2016-03-29 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种虚拟机的数据存储方法和装置 |
CN112631521A (zh) * | 2020-12-25 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种控制缓存池水位的方法、***、设备及介质 |
-
2021
- 2021-06-30 CN CN202110742166.0A patent/CN113625955B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017167056A1 (zh) * | 2016-03-29 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种虚拟机的数据存储方法和装置 |
CN112631521A (zh) * | 2020-12-25 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种控制缓存池水位的方法、***、设备及介质 |
Non-Patent Citations (2)
Title |
---|
WANG, Z等: "A Provenance Storage Method Based On Parallel Database", 《 2015 2ND INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND CONTROL ENGINEERING ICISCE 2015》 * |
詹玲;朱承浩;万继光;: "Ceph文件***的对象异构副本技术研究与实现", 小型微型计算机***, no. 09 * |
Also Published As
Publication number | Publication date |
---|---|
CN113625955B (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2735978B1 (en) | Storage system and management method used for metadata of cluster file system | |
US8326897B2 (en) | Apparatus and method for managing data storage | |
US10860494B2 (en) | Flushing pages from solid-state storage device | |
US8914379B2 (en) | Index constructing method, search method, device and system | |
CN111400204B (zh) | 一种固态盘缓存方法、***及相关设备 | |
US20090089628A1 (en) | File system error detection and recovery framework | |
JP2007188497A (ja) | トランザクション処理のためのログ情報管理システムおよび方法 | |
CN112099996B (zh) | 基于页面更新序号的数据库集群多节点重做日志恢复方法 | |
CN115481127A (zh) | 数据库的数据存储方法、存储介质与设备 | |
WO2022037016A1 (zh) | 一种树结构数据的存储方法、***及相关装置 | |
CN114416677A (zh) | 一种冷存储数据的更新方法、装置、设备及存储介质 | |
KR102321346B1 (ko) | 대용량 ssd 장치를 위한 데이터 저널링 방법 | |
KR20110076345A (ko) | 비휘발성 램을 이용하여 연산 처리의 원자성을 보장하는 컴퓨팅 시스템 및 방법 | |
CN111625506A (zh) | 一种基于删除队列的分布式数据删除方法、装置及设备 | |
CN113625955A (zh) | 一种分布式存储***的脏数据处理方法、装置及介质 | |
CN115658382A (zh) | 一种对象存储的增量对象备份恢复方法、***及存储介质 | |
CN107422990B (zh) | 一种动态迁移方法及装置 | |
US20150113244A1 (en) | Concurrently accessing memory | |
KR101797482B1 (ko) | 데이터베이스 시스템에서 블록 복구 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램 | |
CN115061630A (zh) | 一种数据迁移方法、装置、设备及介质 | |
CN111352590B (zh) | 文件存储方法及设备 | |
CN112328539A (zh) | 一种基于大数据的数据迁移方法 | |
CN117762336B (zh) | 针对Ceph对象的定期删除方法、装置及设备 | |
CN110351386B (zh) | 一种不同副本间的增量同步方法及装置 | |
CN113821176B (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 |