CN114020208B - 数据垃圾回收方法、装置、计算机设备以及存储介质 - Google Patents

数据垃圾回收方法、装置、计算机设备以及存储介质 Download PDF

Info

Publication number
CN114020208B
CN114020208B CN202111162137.3A CN202111162137A CN114020208B CN 114020208 B CN114020208 B CN 114020208B CN 202111162137 A CN202111162137 A CN 202111162137A CN 114020208 B CN114020208 B CN 114020208B
Authority
CN
China
Prior art keywords
storage pool
hard disk
garbage collection
garbage
action
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.)
Active
Application number
CN202111162137.3A
Other languages
English (en)
Other versions
CN114020208A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111162137.3A priority Critical patent/CN114020208B/zh
Publication of CN114020208A publication Critical patent/CN114020208A/zh
Application granted granted Critical
Publication of CN114020208B publication Critical patent/CN114020208B/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0608Saving storage space on storage systems
    • 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]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明提供一种数据垃圾回收方法、装置、计算机设备及存储介质,在容量敏感情况下,当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收,硬盘自身需要进行垃圾回收先通知所述存储池;对于性能敏感场景下,根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作,并禁用硬盘自身触发的垃圾回收动作。该方案中将上层存储池和底层SSD硬盘的GC操作实时管控,分别在性能敏感场景和容量敏感进行不同的策略调整,进一步利用硬盘的预留空间,使得集群整体的GC动作保持一致,不会造成额外的写放大和性能浪费,进而提高了整机系统的可用性。

Description

数据垃圾回收方法、装置、计算机设备以及存储介质
技术领域
本发明涉及存储领域,具体涉及一种数据垃圾回收方法、装置、计算机设备以及存储介质。
背景技术
在操作系统中删除文件时,操作系统只是在其内部文件表中做标记表示该文件已删除,当前无效的数据仍然保留在硬盘上。这样就会产生大量的失效数据,也称为数据垃圾。为了提升硬盘的利用效率,这时候就通过“垃圾回收”(Garbage Collection,简称GC)来释放空间。GC过程是固态硬盘控制器先复制所有有效数据(不包括被删除的无效数据),将这些有效数据写入不同数据区的空白页,擦除当前数据区中的所有数据单元,然后开始将新数据写入刚刚擦除过的数据区。这样,就实现了对垃圾数据的清理。
存储池是Data Protection Manager(DPM)服务器在其中存储副本、卷影副本和传输日志的一组磁盘。当前在集中式存储方案中,一般采用在存储池层面增加闲置空间进行GC操作,来提高系统可用性,但是这种方式下存储池无法和硬盘自身的GC形成有效配合,甚至出现硬盘刚GC的“有效”数据块因为存储池更新而变“无效”,不仅带来了额外的写放大,还增加了系统负担,造成了集群性能浪费,进而影响整机系统的可用性。
发明内容
有鉴于此,本发明实施例提供了一种数据垃圾回收方法,以解决现有技术中存储池层面和硬盘层面的数据垃圾回收过程中无法有效配合,造成写放大、增加系统负担的问题。
根据第一方面,本发明实施例中提供一种数据垃圾回收方法,用于容量敏感场景下的存储池中,所述存储池包括多块硬盘,包括
获取所述硬盘的预留空间接口的开放情况;
根据所述开放情况设置存储池用于垃圾回收的预留空间;
当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收;
当所述硬盘自身需要进行垃圾回收时,将所述硬盘自身的垃圾回收动作通知所述存储池。
该方式中,针对容量敏感的情况,用户对存储池的容量利用率更加重视,因此此时尽量提高存储池的容量使用率,根据硬盘的预留空间接口的开放情况设置存储池用于垃圾回收的预留空间,将存储池的垃圾回收动作转化为硬盘的垃圾回收动作,硬盘自身的垃圾回收动作先通知存储池后再进行,这样所有垃圾回收动作都是硬盘来进行最终执行,就不会产生存储池层面和硬盘层面上分别进行垃圾回收,造成干扰的问题,使得集群整体的垃圾回收动作一致,不会造成额外的写放大和性能浪费,进而提高了整机系统的可用性。
结合第一方面,在第一方面第一实施方式中,所述根据所述开放情况设置存储池用于垃圾回收的预留空间,包括:
当所述硬盘的预留空间接口开放时,利用所述硬盘的预留空间作为所述存储池用于垃圾回收的预留空间;
当所述硬盘的预留空间接口未开放时,设置存储池的第一容量空间作为存储池用于垃圾回收的预留空间。
该方式中,在容量敏感的情况下,为提高存储池的容量利用率,对于硬盘的预留空间接口开放的情况下,利用硬盘的预留空间作为存储池用于垃圾回收的预留空间,这样就不用在存储池层面单独设置预留空间,提高存储池的空间利用率;对于硬盘的预留空间接口未开放的情况下,设置较小比例的容量作为预留空间,保证存储池的存储空间利用率。
结合第一方面的第一实施方式,在第一方面的第二实施方式中,所述第一容量空间为存储池总容量的1%-3%。在硬盘的预留空间接口未开放的情况下,设置一个很小比例如存储池总容量的1%-3%作为预留空间,在满足系统运行的条件下,尽量占用存储池较小的空间容量,使得其余的更多空间可以用来存放数据,提高空间利用率。
根据第二方面,本发明实施例中还提供另外一种数据垃圾回收方法,用于性能敏感场景下的存储池中,所述存储池包括多块硬盘,包括
在存储池内设置第二容量空间作为存储池用于垃圾回收的预留空间;
获取当前业务负载的数据量;
禁用硬盘自身触发的垃圾回收动作;
根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作。
该方式中,在性能敏感的场景中,用户更多注重存储池的性能,而不是容量,此时可以设置一定比例的空间作为存储池的预留空间,保证存储池在系统集群中的高性能运行,根据业务负载的数据量,来设置存储池垃圾回收动作转化为硬盘垃圾回收动作的比例,同时禁用硬盘自身触发的垃圾回收动作,这样所有的垃圾回收都是存储池层面进行管理,部分由存储池进行垃圾回收,部分由存储池的垃圾回收动作转化为硬盘垃圾回收动作,这样就不会产生存储池和硬盘都进行垃圾回收,避免了额外的写放大、增加系统负担和集群性能浪费的问题,提升了存储池的性能,提高整机的可用性。
结合第二方面,在第二方面第一实施方式中,根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作,包括:
在业务负载不大于预设负载数量时,将存储池第一预设比例的垃圾回收动作转化为硬盘的垃圾回收动作;
当业务负载大于预设负载数量时,将存储池第二预设比例的垃圾回收动作转化为硬盘的垃圾回收动作。
结合第二方面第一实施方式,在第二方面第二实施方式中,所述第二容量空间为存储池总容量的12%-18%;所述预设负载数量为负载上限的60%-80%;所述第一预设比例为50%-70%;所述第二预设比例为10%-30%。
在该方式中,存储池的预留空间为总容量的12-18%,优选15%左右,选择该范围内的存储池的空间作为垃圾回收的预留空间,在保证存储池可用空间的同时,保证存储池的处理性能。在业务负载不大于预设负载数量时,如不大于70%(可选60%-80%范围内)时,此处负载的比例不算太高,为保障存储卷的性能,可以将存储池60%(可选在50%-70%范围内)左右的垃圾回收动作转化为硬盘的垃圾回收动作,其余的由存储池自身的垃圾回收动作处理。对于负载数量大于70%的情况下,说明负载已经量比较大,存储池占用较高,将存储池的垃圾回收动作转化为硬盘的垃圾回收动作也需要一定的数据处理量,此时则将少量的如存储池20%的垃圾回收动作转化为硬盘的垃圾回收动作,其余的由存储池自身的垃圾回收进行处理,这样保证硬盘和存储池的工作性能较高,提高存储池的性能。
根据第三方面,本发明实施例提供一种数据垃圾回收装置,用于容量敏感场景下的存储池中,所述存储池包括多块硬盘,包括:
第一获取单元,用于获取所述硬盘的预留空间接口的开放情况;
预留单元,用于根据所述开放情况设置存储池预留空间;
第一转化单元,用于当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收;
通知单元,用于当所述硬盘自身需要进行垃圾回收时,将所述硬盘自身的垃圾回收动作通知所述存储池。
结合第三方面,在第三方面第一实施方式中,所述预留单元包括:
第一预留子单元,用于当所述硬盘的预留空间接口开放时,利用所述硬盘的预留空间作为所述存储池用于垃圾回收的预留空间;
第二预留子单元,用于当所述硬盘的预留空间接口未开放时,设置存储池的第一容量空间作为存储池用于垃圾回收的预留空间。
结合第三方面第一实施方式,在第三方面第二实施方式中,所述第一容量空间为存储池总容量的1%-3%。
根据第四方面,本发明实施例还提供一种数据垃圾回收装置,用于性能敏感场景下的存储池中,所述存储池包括多块硬盘,包括:
设置单元,用于在存储池内设置第二容量空间作为存储池用于垃圾回收的预留空间;
获取单元,用于获取当前业务负载的数据量;
禁用单元,用于禁用硬盘自身触发的垃圾回收动作;
第二转化单元,用于根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作。
结合第四方面,在第四方面第一实施方式中,所述第二转化单元包括:
第一转化子单元,用于在业务负载不大于预设负载数量时,将存储池第一预设比例的垃圾回收动作转化为硬盘的垃圾回收动作;
第二转化子单元,用于当业务负载大于预设负载数量时,将存储池第二预设比例的垃圾回收动作转化为硬盘的垃圾回收动作。
结合第四方面第一实施方式,在第四方面第二实施方式中,所述第二容量空间为存储池总容量的12%-18%;所述预设负载数量为负载上限的60%-80%;所述第一预设比例为50%-70%;所述第二预设比例为10%-30%。
根据第五方面,本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面或第二方面及其可选实施方式中任一项的数据垃圾回收方法。
根据第六方面,本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行第一方面或第二方面及其可选实施方式中任一项的数据垃圾回收方法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了一个实施例中存储池的功能拓扑示意图;
图2示出了一个实施例中数据垃圾回收方法的步骤流程图;
图3示出了另一个实施例中数据垃圾回收方法的步骤流程图;
图4示出了另一个实施例中数据垃圾回收装置的结构框图;
图5示出了另一个实施例中数据垃圾回收装置的结构框图;
图6示出了一个实施例计算机设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提升硬盘的利用效率,这时候就通过“垃圾回收”(Garbage Collection,简称GC)来释放空间。GC过程是固态硬盘控制器先复制所有有效数据(不包括被删除的无效数据),将这些有效数据写入不同数据区的空白页,擦除当前数据区中的所有数据单元,然后开始将新数据写入刚刚擦除过的数据区。这样,就实现了对垃圾数据的清理。
当前集中式存储一般采用在存储池层面增加闲置预留空间进行GC的方式来提高系统可用性,但是这种方式下存储池无法和SSD自身的GC形成有效配合,甚至出现SSD刚GC的“有效”数据块因为存储池更新而变“无效”,不仅带来了额外的写放大、增加了系统负担还造成了集群性能浪费,进而影响整机系统的可用性。
基于上述问题,本发明实施例提出了一种基于GC联动模块的提高系统可用性的数据垃圾回收方法和装置,通过GC联动模块将上层存储池和底层SSD硬盘的GC操作实时管控,分别在性能敏感场景和容量敏感进行不同的策略调整,进一步利用SSD的OP,使得集群整体的GC动作保持一致,不会造成额外的写放大和性能浪费,进而提高了整机系统的可用性。
为解决上述问题,本发明实施例中提供的数据垃圾回收方法,用于计算机设备中,需要说明的是,其执行主体可以是数据垃圾回收装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
在存储池中,可以设置OS模块、性能模块、指示模块、无线模块和串口模块中的一个或多个模块。如图1所述,该功能拓扑具体如下:
OS模块:存储池所在模块,可以将自身GC操作经由GC联动模块转化为SSD硬盘的GC操作。
性能模块:该模块位于板卡上,可对GC联动模块发送集群实时负载情况。
指示模块:该模块位于板卡上,受串口模块的直接控制,对外指示当前GC联动模块的实时状态。
无线模块:可将串口模块信号转换成WIFI等无线信号,外界不用实体串口线就可与GC联动模块进行信息交互。
串口模块:通过串口模块可以进行外界与GC联动模块的信息交互、参数预设和相关功能的开启。
GC联动模块:用于执行通过数据回收方法执行GC联动。GC联动模块位于卡板上,主要应用于例如ARM等可编程逻辑器件。
本实施例中提供一种数据垃圾回收方法,用于上述计算机设备中,适用于容量敏感场景下的存储池中,此处的容量敏感是指用户更在乎存储池的存储空间,客户对存储空间的使用率有较高要求,希望存储池的空间利用率最大,GC联动模块通过获取OS模块、串口模块的IO信息,判断当前的业务场景。在该容量敏感的场景下,本实施例的数据垃圾回收方法,如图2所示,包括:
S101、获取所述硬盘的预留空间接口的开放情况。存储池的底层硬盘中,对于预留空间(Over-Provisioning,简称OP)都有设置,但是是否可以由存储池调用使用根据情况设置不同。一般对于供应商盘,SSD未开放自身OP接口,对于自研盘,也就是自开发的硬盘,SSD可以设置为开放自身OP接口。
S102、根据所述开放情况设置存储池用于垃圾回收的预留空间。
当所述硬盘的预留空间接口开放时,利用所述硬盘的预留空间作为所述存储池用于垃圾回收的预留空间。此时,由于SSD盘开放自身的OP接口,存储池不需要设立额外的存储空间进行垃圾回收,直接利用SSD盘自身的存储空间,可以更加节约空间,保证存储池的空间利用率。
当所述硬盘的预留空间接口未开放时,设置存储池的第一容量空间作为存储池用于垃圾回收的预留空间。第一容量空间为存储池总容量的1%-3%。在硬盘的预留空间接口未开放的情况下,设置一个很小比例如存储池总容量的1%-3%作为预留空间,本实施例中可以选择1%或2%或3%,在满足系统运行的条件下,尽量占用存储池较小的空间容量,使得其余的更多空间可以用来存放数据,提高空间利用率。
该方式中,在容量敏感的情况下,为提高存储池的容量利用率,对于硬盘的预留空间接口开放的情况下,利用硬盘的预留空间作为存储池用于垃圾回收的预留空间,这样就不用在存储池层面单独设置预留空间,提高存储池的空间利用率;对于硬盘的预留空间接口未开放的情况下,设置较小比例的容量作为预留空间,保证存储池的存储空间利用率。
S103、当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收。
对于存储池层面的垃圾回收,转化为硬盘层面的垃圾回收。在集群运行过程中,存储池全部的GC动作直接经由GC联动模块转化成SSD硬盘的GC动作,这样存储盘层面占用的存储空间最少,可以实现存储容量的最大化利用。
S104、当所述硬盘自身需要进行垃圾回收时,将所述硬盘自身的垃圾回收动作通知所述存储池。此时SSD硬盘自身的GC动作,会通过GC联动模块通知存储池后再进行,避免存储池与硬盘上的数据读写产生冲突。
上述步骤S103、S104在步骤执行上无先后顺序之分,根据不同情况进行分别处理。
该方式中,针对容量敏感的情况,用户对存储池的容量利用率更加重视,因此此时尽量提高存储池的容量使用率,根据硬盘的预留空间接口的开放情况设置存储池用于垃圾回收的预留空间,将存储池的垃圾回收动作转化为硬盘的垃圾回收动作,硬盘自身的垃圾回收动作先通知存储池后再进行,这样所有垃圾回收动作都是硬盘来进行最终执行,就不会产生存储池层面和硬盘层面上分别进行垃圾回收,造成干扰的问题,使得集群整体的垃圾回收动作一致,不会造成额外的写放大和性能浪费,进而提高了整机系统的可用性。
本发明实施例中还提供另外一种数据垃圾回收方法,用于性能敏感场景下的存储池中,性能敏感场景相对于上述容量敏感场景而言,指用户对于存储池的性能有较高的要求,而对于存储池的容量使用要求相对没有特别高的情况,该场景下的数据垃圾回收方法如图3所示,包括以下步骤:
S201、在存储池内设置第二容量空间作为存储池用于垃圾回收的预留空间。在性能敏感的场景下,为保证存储池层面运行性能,无论SSD硬盘是否开放自身的OP接口,存储池都会单独设置存储池的预留空间用于垃圾回收,可以选择设立总容量15%的空间作为存储池的预留空间OP。此处的第二容量空间也可以根据需要设置为存储池总容量的12%-18%,例如选择12%或14%或15%或18%等。选择该范围内的存储池的空间作为垃圾回收的预留空间,在保证存储池可用空间的同时,保证存储池的处理性能。
S202、获取当前业务负载的数据量。
对于固定的存储池,对于该存储池能够正常处理的业务量是有上限或者额定值的,一般存储池的业务负载数量需要在对应的合理范围内才可以保证存储池保持正常的处理性能。
S203、禁用硬盘自身触发的垃圾回收动作。
在性能敏感场景下,存储池会通过联动模块禁用SSD自身触发的GC动作,一切GC操作都来自存储池。
S204、根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作。具体包括:
在业务负载不大于预设负载数量时,将存储池第一预设比例的垃圾回收动作转化为硬盘的垃圾回收动作;所述预设负载数量为负载上限的60%-80%,所述第一预设比例为50%-70%。在业务负载不大于预设负载数量时,如不大于负载上限或负载额定数量的70%,也可选60%-80%范围内,如60%、65%、70%、75%、80%。当负载数量在存储池正常处理范围内时,为保证处理效率,可以将一些存储池的垃圾回收动作转化给硬盘来处理,如果负载数量相对很高时,由于数据转化也需要占用空间,因此选择更多的垃圾回收有存储池自身完成,少量转化为硬盘的垃圾回收动作来处理。
在业务数据不大于预设负载数量时,此时负载的比例不算太高,为保障存储池的处理效率和性能,可以将存储池第一预设比例如60%左右的垃圾回收动作转化为硬盘的垃圾回收动作,第一预设比例可选在50%-70%范围内,例如50%、55%、60%、65%或70%,其余的由存储池自身的垃圾回收动作处理。
当业务负载大于预设负载数量时,将存储池第二预设比例的垃圾回收动作转化为硬盘的垃圾回收动作。所述第二预设比例为10%-30%。对于负载数量大于70%的情况下,说明负载已经量比较大,存储池占用较高,将存储池的垃圾回收动作转化为硬盘的垃圾回收动作也需要一定的数据处理量,此时则将少量的如存储池20%的垃圾回收动作转化为硬盘的垃圾回收动作,可选为10%-30%,如10%、15%、25%或30%,其余的由存储池自身的垃圾回收进行处理,这样保证硬盘和存储池的工作性能较高,提高存储池的性能。
该方式中,在性能敏感的场景中,用户更多注重存储池的性能,而不是容量,此时可以设置一定比例的空间作为存储池的预留空间,保证存储池在系统集群中的高性能运行,根据业务负载的数据量,来设置存储池垃圾回收动作转化为硬盘垃圾回收动作的比例,同时禁用硬盘自身触发的垃圾回收动作,这样所有的垃圾回收都是存储池层面进行管理,部分由存储池进行垃圾回收,部分由存储池的垃圾回收动作转化为硬盘垃圾回收动作,这样就不会产生存储池和硬盘都进行垃圾回收,避免了额外的写放大、增加系统负担和集群性能浪费的问题,提升了存储池的性能,提高整机的可用性。
上述实施例中,以上参数根据实验获得较佳的预设值,也能通过串口模块对上述参数进行定制化调整。通过对GC操作的实时管控,使得集群整体的GC动作保持一致,不会造成额外的写放大和性能浪费,进而提高整机系统的可用性。
为更好的说明本发明实施例,本实施例中提供一种具体的数据垃圾回收方法,用于计算机设备中设置的GC联动模块中,GC联动模块位于板卡上,主要应用例如ARM等可编程逻辑器件。该方法包括:
该模块通过获取OS模块、串口模块的IO信息,判断当前的业务场景。
在容量敏感场景下,如果SSD开放自身的OP接口,诸如自研盘,则存储池不需要设立额外的OP进行GC,直接利用SSD自身OP。如果SSD未开放自身OP接口,诸如供应商盘,则存储池设立总容量2%的空间作为存储池OP。在集群运行过程中,存储池全部的GC动作直接经由GC联动模块转化成SSD的GC动作,SSD自身的GC也会通过联通模块通知存储池后再进行。
在性能敏感场景下,无论SSD是否开放自身的OP接口,存储池设立总容量15%的空间作为存储池OP。在集群运行过程中,通过性能模块判断当前业务负载,在负载不大于70%时,存储池60%的GC动作经由GC联动模块转化成SSD的GC动作,在负载大于70%时,存储池20%的GC动作经由GC联动模块转化成SSD的GC动作。性能敏感场景下存储池会通过联动模块禁用SSD自身触发的GC动作,一切GC操作来自存储池。以上参数均有最佳实践的预设值,也能通过串口模块进行定制化调整。通过这种对GC操作的实时管控,使得集群整体的GC动作保持一致,不会造成额外的写放大和性能浪费,进而提高了整机系统的可用性。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
本发明实施例提供一种数据垃圾回收装置,用于容量敏感场景下的存储池中,所述存储池包括多块硬盘,该装置结构框图如图4所示,包括:
第一获取单元401,用于获取所述硬盘的预留空间接口的开放情况;
预留单元402,用于根据所述开放情况设置存储池预留空间;
第一转化单元403,用于当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收;
通知单元404,用于当所述硬盘自身需要进行垃圾回收时,将所述硬盘自身的垃圾回收动作通知所述存储池。
其中,所述预留单元402包括:
第一预留子单元,用于当所述硬盘的预留空间接口开放时,利用所述硬盘的预留空间作为所述存储池用于垃圾回收的预留空间;
第二预留子单元,用于当所述硬盘的预留空间接口未开放时,设置存储池的第一容量空间作为存储池用于垃圾回收的预留空间。所述第一容量空间为存储池总容量的1%-3%。
此外,本发明实施例还提供另一种数据垃圾回收装置,用于性能敏感场景下的存储池中,所述存储池包括多块硬盘,该装置结构框图如图5所示,包括:
设置单元501,用于在存储池内设置第二容量空间作为存储池用于垃圾回收的预留空间;
获取单元502,用于获取当前业务负载的数据量;
禁用单元503,用于禁用硬盘自身触发的垃圾回收动作;
第二转化单元504,用于根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作。
其中,所述第二转化单元504包括:
第一转化子单元,用于在业务负载不大于预设负载数量时,将存储池第一预设比例的垃圾回收动作转化为硬盘的垃圾回收动作;
第二转化子单元,用于当业务负载大于预设负载数量时,将存储池第二预设比例的垃圾回收动作转化为硬盘的垃圾回收动作。
其中,所述第二容量空间为存储池总容量的12%-18%;所述预设负载数量为负载上限的60%-80%;所述第一预设比例为50%-70%;所述第二预设比例为10%-30%。
上述数据回收装置的具体限定以及有益效果可以参见上文中对于数据回收方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图6是本发明实施例提供的计算机设备的硬件结构示意图,如图6所示,该设备包括一个或多个处理器710以及存储器720,存储器720包括持久内存、易失内存和硬盘,图6中以一个处理器710为例。该设备还可以包括:输入装置730和输出装置740。
处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器710可以为中央处理器(Central Processing Unit,CPU)。处理器710还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器720作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器710通过运行存储在存储器720中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述数据垃圾回收方法。
存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器720中,当被所述一个或者多个处理器710执行时,执行如图2-3所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图2-3所示的实施例中的相关描述。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (9)

1.一种数据垃圾回收方法,用于容量敏感场景下的存储池中,所述存储池包括多块硬盘,其特征在于,包括
获取所述硬盘的预留空间接口的开放情况;
根据所述开放情况设置存储池用于垃圾回收的预留空间,其中,所述根据所述开放情况设置存储池用于垃圾回收的预留空间,包括:当所述硬盘的预留空间接口开放时,利用所述硬盘的预留空间作为所述存储池用于垃圾回收的预留空间;当所述硬盘的预留空间接口未开放时,设置存储池的第一容量空间作为存储池用于垃圾回收的预留空间;
当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收;
当所述硬盘自身需要进行垃圾回收时,将所述硬盘自身的垃圾回收动作通知所述存储池。
2.根据权利要求1所述的方法,其特征在于,所述第一容量空间为存储池总容量的1%-3%。
3.一种数据垃圾回收方法,用于性能敏感场景下的存储池中,所述存储池包括多块硬盘,其特征在于,包括
在存储池内设置第二容量空间作为存储池用于垃圾回收的预留空间;
获取当前业务负载的数据量;
禁用硬盘自身触发的垃圾回收动作;
根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作;根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作,包括:根据所述业务负载的数据量,将一些存储池的垃圾回收动作转化给硬盘来处理,其他垃圾回收由存储池自身完成。
4.根据权利要求3所述的方法,其特征在于,根据所述业务负载的数据量,将一些存储池的垃圾回收动作转化给硬盘来处理,其他垃圾回收由存储池自身完成,所述根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作,包括:
在业务负载不大于预设负载数量时,将存储池第一预设比例的垃圾回收动作转化为硬盘的垃圾回收动作,其中,所述第一预设比例为50%-70%;
当业务负载大于预设负载数量时,将存储池第二预设比例的垃圾回收动作转化为硬盘的垃圾回收动作,其中,所述第二预设比例为10%-30%。
5.根据权利要求4所述的方法,其特征在于,
所述第二容量空间为存储池总容量的12%-18%;
所述预设负载数量为负载上限的60%-80%。
6.一种数据垃圾回收装置,用于容量敏感场景下的存储池中,所述存储池包括多块硬盘,其特征在于,包括
第一获取单元,用于获取所述硬盘的预留空间接口的开放情况;
预留单元,用于根据所述开放情况设置存储池预留空间,其中,所述预留单元用于:当所述硬盘的预留空间接口开放时,利用所述硬盘的预留空间作为所述存储池用于垃圾回收的预留空间;当所述硬盘的预留空间接口未开放时,设置存储池的第一容量空间作为存储池用于垃圾回收的预留空间;
第一转化单元,用于当存储池需要进行垃圾回收时,将所述存储池的垃圾回收动作转化为硬盘的垃圾回收动作,由所述硬盘进行垃圾回收;
通知单元,用于当所述硬盘自身需要进行垃圾回收时,将所述硬盘自身的垃圾回收动作通知所述存储池。
7.一种数据垃圾回收装置,用于性能敏感场景下的存储池中,所述存储池包括多块硬盘,其特征在于,包括
设置单元,用于在存储池内设置第二容量空间作为存储池用于垃圾回收的预留空间;
获取单元,用于获取当前业务负载的数据量;
禁用单元,用于禁用硬盘自身触发的垃圾回收动作;
第二转化单元,用于根据所述业务负载的数据量,将预定数量的存储池的垃圾回收动作转化为硬盘的垃圾回收动作,其中,所述第二转化单元用于根据所述业务负载的数据量,将一些存储池的垃圾回收动作转化给硬盘来处理,其他垃圾回收由存储池自身完成。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-5中任一项所述的数据垃圾回收方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的数据垃圾回收方法。
CN202111162137.3A 2021-09-30 2021-09-30 数据垃圾回收方法、装置、计算机设备以及存储介质 Active CN114020208B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111162137.3A CN114020208B (zh) 2021-09-30 2021-09-30 数据垃圾回收方法、装置、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111162137.3A CN114020208B (zh) 2021-09-30 2021-09-30 数据垃圾回收方法、装置、计算机设备以及存储介质

Publications (2)

Publication Number Publication Date
CN114020208A CN114020208A (zh) 2022-02-08
CN114020208B true CN114020208B (zh) 2023-08-22

Family

ID=80055474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111162137.3A Active CN114020208B (zh) 2021-09-30 2021-09-30 数据垃圾回收方法、装置、计算机设备以及存储介质

Country Status (1)

Country Link
CN (1) CN114020208B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931416A (zh) * 2022-10-14 2024-04-26 成都华为技术有限公司 资源分配方法、装置、存储介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813343A (zh) * 2020-07-16 2020-10-23 济南浪潮数据技术有限公司 一种固态硬盘垃圾回收方法、系统及相关组件
WO2021018052A1 (zh) * 2019-07-31 2021-02-04 华为技术有限公司 一种垃圾回收方法及装置
CN112433676A (zh) * 2020-11-24 2021-03-02 合肥康芯威存储技术有限公司 一种固态硬盘的垃圾回收处理方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021018052A1 (zh) * 2019-07-31 2021-02-04 华为技术有限公司 一种垃圾回收方法及装置
CN111813343A (zh) * 2020-07-16 2020-10-23 济南浪潮数据技术有限公司 一种固态硬盘垃圾回收方法、系统及相关组件
CN112433676A (zh) * 2020-11-24 2021-03-02 合肥康芯威存储技术有限公司 一种固态硬盘的垃圾回收处理方法及系统

Also Published As

Publication number Publication date
CN114020208A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN107832126B (zh) 一种线程的调整方法及其终端
CN106354562B (zh) 内存清理系统和内存清理方法
CN108495195A (zh) 一种网络直播排行榜生成方法、装置、设备及存储介质
US10437519B2 (en) Method and mobile terminal for processing write request
CN109992402B (zh) 内存处理方法和装置、电子设备、计算机可读存储介质
CN105740425A (zh) 一种文件存储的方法及装置
US11789718B2 (en) System and method for subscription based solution modification implementation
US20230222471A1 (en) System and method for subscription based solution implementation
CN114020208B (zh) 数据垃圾回收方法、装置、计算机设备以及存储介质
CN110764906A (zh) 内存回收处理方法、装置、电子设备以及存储介质
CN110908923A (zh) 内存回收方法及装置
WO2021057622A1 (zh) 内存回收方法、装置、电子设备及存储介质
CN104808767A (zh) 一种终端控制方法
CN106022108A (zh) 一种同步管理方法及终端设备
CN104808766A (zh) 一种终端
CN109582649A (zh) 一种元数据存储方法、装置、设备及可读存储介质
CN105824660A (zh) 一种应用程序的更新方法及终端
CN110502457B (zh) 一种元数据存储方法及装置
CN111654879A (zh) 业务推送方法、装置、控制设备及存储介质
CN105045669A (zh) 容器系统的管理服务方法以及智能终端
CN113704177B (zh) 一种服务器固件升级文件的存储方法、系统及相关组件
CN113835636A (zh) 数据存储方法、装置、全闪设备以及计算机可读存储介质
CN103618625A (zh) 一种微博中网络资源的控制方法、装置和系统
CN107704596A (zh) 一种读取文件的方法、装置及设备
KR20230174749A (ko) 메모리의 동작 주파수 조정 방법, 스마트 단말기 및 저장 매체

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