CN109977035A - 磁盘空间分配方法、装置、存储设备及存储介质 - Google Patents
磁盘空间分配方法、装置、存储设备及存储介质 Download PDFInfo
- Publication number
- CN109977035A CN109977035A CN201910203537.0A CN201910203537A CN109977035A CN 109977035 A CN109977035 A CN 109977035A CN 201910203537 A CN201910203537 A CN 201910203537A CN 109977035 A CN109977035 A CN 109977035A
- Authority
- CN
- China
- Prior art keywords
- disk
- disk space
- size
- target phase
- written
- 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
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及存储技术领域,提供一种磁盘空间分配方法、装置、存储设备及存储介质,所述方法包括:响应客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,磁盘空间申请命令包括待写数据所需的待申请的磁盘空间的大小;若磁盘的可用的磁盘空间的大小小于预设阈值,则依据待申请的磁盘空间的大小从至少一个目标段中确定满足最优匹配条件的第一目标段;将待写数据写入至第一目标段。本发明在磁盘的可用的磁盘空间的大小小于预设阈值时,及时调整磁盘空间分配策略,从而缓解磁盘碎片化的加剧,优化存储系统的整体性能。
Description
技术领域
本发明涉及存储技术领域,具体而言,涉及一种磁盘空间分配方法、装置、存储设备及存储介质。
背景技术
存储系统中磁盘空间管理至关重要,直接影响存储系统的性能,现有技术以位图的方式管理磁盘空间,将磁盘空间以块为最小单位进行切分、编号,由于任意时刻磁盘中的每个块只能是“空闲”或“占用”两种状态之一,因此,磁盘中的每一个块可以采用一个比特表示对应块的状态,所有表示块的状态的比特构成位图,根据位图可以索引到磁盘中任意块的状态,实现对磁盘空间的管理和操作,不当的磁盘空间的管理策略会极大地降低磁盘空间的分配效率,最终导致存储系统的整体性能的下降,因此,如何合理地进行磁盘空间的分配以提高存储系统的整体性能是当前亟待解决的技术问题。
发明内容
本发明实施例的目的在于提供一种磁盘空间分配方法、装置、存储设备及存储介质,通过对磁盘空间的管理策略进行优化,提升磁盘空间的分配效率,最终优化存储系统的整体性能。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种磁盘空间分配方法,应用于存储设备,存储设备与客户端通信连接,存储设备包括磁盘,磁盘包括至少一个可写入数据的目标段,所述方法包括:响应客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,磁盘空间申请命令包括待写数据所需的待申请的磁盘空间的大小;若磁盘的可用的磁盘空间的大小小于预设阈值,则依据待申请的磁盘空间的大小从至少一个目标段中确定满足最优匹配条件的第一目标段;将待写数据写入至第一目标段。
第二方面,本发明实施例还提供了一种磁盘空间分配装置,应用于存储设备,所述存储设备与客户端通信连接,所述存储设备包括磁盘,所述磁盘包括至少一个可写入数据的目标段,所述装置包括:响应模块、第一确定模块和第一写入模块,其中,响应模块用于响应客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,磁盘空间申请命令包括待写数据所需的待申请的磁盘空间的大小;第一确定模块用于若磁盘的可用的磁盘空间的大小小于预设阈值,则依据待申请的磁盘空间的大小从至少一个目标段中确定满足最优匹配条件的第一目标段;第一写入模块用于将待写数据写入至第一目标段。
第三方面,本发明实施例还提供了一种存储设备,所述存储设备包括:磁盘,用于存储客户端发送的写数据请求对应的待写数据;一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的磁盘空间分配方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述磁盘空间分配方法。
相对现有技术,本发明实施例提供的一种磁盘空间分配方法、装置、存储设备及存储介质,首先,用户通过客户端发送写数据请求;然后,存储系统响应该写数据请求,生成磁盘空间申请命令,其中,磁盘空间申请命令包括写数据请求对应的待写数据所需的待申请的磁盘空间的大小;接下来,若磁盘的可用的磁盘空间的大小小于预设阈值,则依据所述待申请的磁盘空间的大小从所述至少一个目标段中确定满足最优匹配条件的第一目标段;最后,将将待写数据写入至第一目标段。与现有技术相比,本发明实施例在磁盘的可用的磁盘空间的大小小于预设阈值时,及时调整磁盘空间分配策略,从而缓解磁盘碎片化的加剧,优化存储系统的整体性能。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的磁盘空间初始状态到碎片化状态的转化示例图。
图2示出了本发明实施例提供的磁盘空间分配方法的应用场景示意图。
图3示出了本发明实施例提供的存储设备的方框示意图。
图4示出了本发明实施例提供的磁盘空间分配方法流程图。
图5示出了本发明实施例提供的磁盘空间分配装置的方框示意图。
图标:10-存储设备;101-存储器;102-通信接口;103-处理器;104-总线;20-客户端;200-磁盘空间分配装置;201-响应模块;202-第一确定模块;203-第一写入模块;204-第二确定模块;205-第二写入模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
现有技术采用段方式管理磁盘空间,每个段包括管理的磁盘空间的起始地址、磁盘空间的大小,考虑到磁盘空间分配的效率,通常在首次找到符合磁盘空间申请要求的段时,就直接将该段分配出来,随着时间的推移,对磁盘空间进行大量的写入和删除,导致磁盘空间的反复申请和释放,磁盘空间会趋于碎片化,图1示出了本发明实施例提供的磁盘空间的初始状态到碎片化状态的转化示例图,当磁盘处于初始状态时,磁盘一共有5个磁盘空间大小为4KB的段,此时,5个段均为可写入数据的空闲段,经过一段时间的使用,有5个段均被分配出去,且其中3个段中,每个段有3KB的磁盘空间被使用,有1KB的磁盘空间未使用,2个段中,每个段有2KB的磁盘空间被使用,有2KB的磁盘空间未使用,此时,磁盘处于碎片化状态,虽然此时总的空闲的空间为7KB,但当需要分配3KB的磁盘空间时,由于没有连续的3KB的磁盘空间,无法成功分配,只能等待其他空间释放后,有连续的3KB的磁盘空间时才能分配。因此,当磁盘空间碎片化严重时,会导致磁盘空间申请效率急剧下降,甚至申请不到所需空间,严重影响存储系统的整体性能。
为了缓解上述问题,优化磁盘空间申请效率,发明人提出了一种磁盘空间分配方法、装置、存储设备及存储介质,在磁盘的可用的磁盘空间的大小小于预设阈值时即磁盘空间的碎片化未加剧之前,及时调整磁盘空间分配策略,优先分配与所需磁盘空间大小最匹配的空闲磁盘空间,从而缓解磁盘碎片化的加剧,优化存储系统的整体性能,下面进行详细描述。
请参照图2,图2示出了本发明实施例提供的磁盘空间分配方法的应用场景示意图,图2中,客户端20与存储系统通信连接,存储系统部署在至少一个存储设备10上,每个存储设备10包括至少一块磁盘,每块磁盘包括至少一个可写入数据的目标段,当用户需要将待写数据存储至存储系统时,首先通过客户端20向存储系统发送写数据请求,存储系统响应该写数据请求,并确定需要写入待写数据的存储设备10的磁盘及待写数据所需的待申请的磁盘空间的大小,依据待申请的磁盘空间的大小生成磁盘空间申请命令,存储系统判定需要写入待写数据的存储设备10的磁盘的可用的磁盘空间的大小小于预设阈值,则依据待申请的磁盘空间的大小从待写数据的存储设备10的磁盘中的至少一个目标段中确定满足最优匹配条件的第一目标段,并将待写数据写入至第一目标段。
请参照图3,图3示出了本发明实施例提供的存储设备10的方框示意图。存储设备10可以是,但不限于是刀片存储服务器、机架式存储服务器等能提供数据存储功能的实体或者虚拟的存储服务端。存储设备10的操作系统可以是,但不限于,Windows系统、Linux系统等。所述存储设备10包括存储器101、通信接口102、处理器103和总线104,所述存储器101、通信接口102和处理器103通过总线104连接,处理器103用于执行存储器101中存储的可执行模块,例如计算机程序。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口102(可以是有线或者无线)实现该存储设备10与至少一个其他存储设备10、以及外部存储设备之间的通信连接。
总线104可以是ISA总线、PCI总线或EISA总线等。图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序以实现本发明下述实施例揭示的磁盘空间分配方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器103执行时实现下述实施例揭示的磁盘空间分配方法。
第一实施例
请参照图4,图4示出了本发明实施例提供的磁盘空间分配方法流程图。磁盘空间分配方法包括以下步骤:
步骤S101,响应客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,磁盘空间申请命令包括待写数据所需的待申请的磁盘空间的大小。
在本发明实施例中,存储系统可以包括一个或多个磁盘,存储系统对该一个或多个磁盘进行统一管理,并对外提供连续的存储空间,用户通过客户端20发送写数据请求,请求将待写数据写入至存储系统提供的连续的存储空间,写数据请求中可以包括待写数据需要写入的连续的存储空间的起始写入地址、待写数据的长度及待写数据。存储系统首先根据预设的磁盘与连续的存储空间之间的地址映射关系,确定连续的存储空间的起始写入地址对应磁盘,然后依据待写数据的长度生成磁盘空间申请命令,以向对应磁盘申请足够的磁盘空间写入待写数据,例如,存储系统包括3块磁盘,分别为1#磁盘、2#磁盘和3#磁盘,提供的连续的存储空间为10GB,其中,0~2GB对应1#磁盘,2GB~5GB对应2#磁盘,5GB~10GB对应3#磁盘,写数据请求中包括的起始写入地址为3GB,待写数据的长度为128KB及实际待写数据,存储系统依据起始写入地址确定对应的磁盘为2#磁盘,则生成磁盘空间申请命令,该磁盘空间申请命令包括待申请的磁盘空间的大小128KB,即向2#磁盘申请128KB的磁盘空间以写入待写数据。
步骤S102,若磁盘的可用的磁盘空间的大小小于预设阈值,则依据待申请的磁盘空间的大小从至少一个目标段中确定满足最优匹配条件的第一目标段。
在本发明实施例中,可用的磁盘空间的大小=磁盘的总容量-磁盘的已用容量,其中,磁盘的总容量为可以存储数据的磁盘空间的总大小,磁盘的已用容量为已经存储数据的磁盘空间的大小,例如,磁盘总容量为100GB,磁盘的已用容量为80GB,则磁盘的可用的磁盘空间的大小为20GB。预设阈值用于表征磁盘开始趋于碎片化的门限值,即可用的磁盘空间一旦小于预设阈值,则磁盘碎片化的趋势开始明显加强,预设阈值与磁盘的总容量有关,可以是一个经验值,也可以是通过统计数据确定的预估值,例如,预设阈值为磁盘的总容量的30%,磁盘的总容量为100GB,当可用的磁盘空间的大小小于30GB时,磁盘的碎片化趋势开始明显加强。为了减缓磁盘的碎片化,当磁盘的可用的磁盘空间的大小小于预设阈值时,需要调整磁盘空间的分配策略,即从磁盘的未写入的磁盘空间中确定满足最优匹配条件的磁盘空间,其中,最优匹配条件可以是与待申请的磁盘空间的大小相等的磁盘空间,最优匹配条件还可以是为了满足容错的需要,大于待申请的磁盘空间的大小、且在预设范围内的最小的磁盘空间,作为一种实施方式,确定最匹配的磁盘空间的步骤可以是:
首先,从至少一个目标段中,选择磁盘空间的大小大于或等于待申请的磁盘空间的大小的所有待选目标段。
在本发明实施例中,每个磁盘可以被预先划分为多个大小不一的段,以满足不同磁盘空间的大小的分配需求,提高磁盘空间的分配效率,存储系统以段为单位管理每个磁盘,每个段均包括该段对应的磁盘空间的大小及起始地址,该起始地址为该段在对应的磁盘上的地址,例如,1#磁盘的100#段的磁盘空间的大小为256MB,起始地址为1GB,则100#段对应1#磁盘的1GB地址开始的256MB的空间。存储系统针对每个磁盘均维护两个列表:已分配段列表和未分配段列表,其中,已分配段列表中包括对应磁盘中已经分配的段的列表,未分配段列表中包括对应磁盘中尚未分配的段的列表,目标段为未分配段列表中的段,待选目标段为目标段中磁盘空间的大小大于或等于待申请的磁盘空间的大小的目标段。
其次,从所述所有待选目标段中,选择出磁盘空间的大小最小的作为所述第一目标段。
在本发明实施例中,第一目标段可以为待选目标段中与待申请的磁盘空间的大小最匹配的待选目标段,即待选目标段中磁盘空间大小最小的待选目标段,在达到磁盘碎片化预设阈值后,每次分配磁盘空间时,需要从磁盘空间大小满足待申请的磁盘空间的大小的待选目标段中确定最匹配的第一目标段,以此减缓磁盘碎片化,例如,目标段有4个:1#目标段、2#目标段、3#目标段、4#目标段和5#目标段,其磁盘大小分别为:512KB、64KB、128KB、4KB和256KB,待申请的磁盘空间的大小为100KB,则大于100KB的待选目标段有3个:1#目标段、3#目标段和5#目标段,其中,待选目标段中磁盘空间的大小最小的3#目标段为第一目标段。
需要说明的是,从所有待选目标段中,选择出第一目标段的方法可以是:先将待选目标段的磁盘空间的大小进行排序,然后将磁盘空间的大小最小的待选目标段作为第一目标段,选择出第一目标段的方法还可以是:通过逐个比较待选目标段,最终找到磁盘空间的大小最小的待选目标段,将磁盘空间的大小最小的待选目标段作为第一目标段。
步骤S103,将待写数据写入至第一目标段。
在本发明实施例中,由于确定第一目标段需要较长时间,因而影响了磁盘空间的分配的及时性,为了在减缓磁盘碎片化和分配效率之间达到相对平衡,本发明实施例还包括步骤S104-S105。
步骤S104,若磁盘的可用的磁盘空间的大小大于或者等于预设阈值,则从至少一个目标段中确定满足首次匹配条件的第二目标段。
在本发明实施例中,当磁盘尚未达到磁盘碎片化的预设阈值时,可以优先考虑磁盘空间的分配效率,因此,采取与确定第一目标段不同的分配策略确定满足首次匹配条件的第二目标段,其中,满足首次匹配条件可以是从目标段中确定距离磁盘的磁头位置最近、且起始地址对应的目标段的磁盘空间的大小大于或等于待申请的磁盘空间的大小的目标段,满足首次匹配条件也可以是:为了满足容错的需要,首个找到的距离磁盘的磁头位置最近、大于待申请的磁盘空间的大小、且在预设范围内的目标段,作为一种实施方式,确定第二目标段的步骤可以是:
首先,获取磁盘的磁头位置。
在本发明实施例中,磁盘的磁头是磁盘中对磁盘盘片继续读写的工作部件,对磁盘中数据的读写是通过磁盘的磁头进行的。
其次,将起始地址离磁头位置最近、且起始地址对应的目标段的磁盘空间的大小大于或等于待申请的磁盘空间的大小的目标段确定为第二目标段。
在本发明实施例中,依据磁盘的磁头位置可以得到磁头对应的磁盘中磁盘空间的地址,由于第二目标段的起始地址可以在磁头位置对应的磁盘中磁盘空间的地址之前,也可以在磁头位置对应的磁盘中磁盘空间的地址之后,因此,起始地址离磁头位置最近、且起始地址对应的目标段的磁盘空间的大小大于或等于待申请的磁盘空间的大小的目标段可以有一个,也可以有两个,当有两个时,可以按照预设规则选择其中一个作为第二目标段,例如,考虑到磁盘空间的分配效率,可以将首先找到的作为第二目标段,当然,也可以首选位于磁头位置之后的作为第二目标段,本发明实施例不对预设规则予以限定。例如,磁盘的磁头位置对应的磁盘中的磁盘空间的地址为30MB,目标段有4个:分别为1#目标段、2#目标段、3#目标段和4#目标段,其磁盘空间的起始地址分别为:10MB、50MB、70MB、150MB,其磁盘空间的大小分别为:512KB、64KB、128KB、4KB,待申请的磁盘空间的大小为50KB,则大于或者等于待申请的磁盘空间的大小的目标段有3个:1#目标段、2#目标段、3#目标段,其中,距离磁头位置最近的目标段有1#目标段和2#目标段,1#目标段位于磁头位置之前,与磁盘位置距离20MB,2#目标段位于磁盘位置之后,与磁盘位置距离也为20MB,此时,可以通过将最先找到的1#目标段作为第二目标段。
步骤S105,将待写数据写入至第二目标段。
在本发明实施例中,在磁盘的可用的磁盘空间的大小小于预设阈值时,及时调整磁盘空间分配策略,优先分配与所需磁盘空间大小最匹配的空闲磁盘空间,与现有技术相比,具有以下有益效果:
第一,通过在磁盘碎片化达到预设阈值时,及时调整磁盘空间分配策略,优先分配与所需磁盘空间大小最匹配的空闲磁盘空间,从而避免磁盘碎片化的加剧,优化磁盘碎片化对存储系统整体性能的影响。
第二,在磁盘碎片化未达到预设阈值时,优先分配距离磁头位置最近、且满足所需磁盘空间大小的目标段,保证此时磁盘空间的分配效率。
第三,自动根据磁盘当前使用情况,动态调整适合当前情况的磁盘空间的分配策略,由此实现磁盘空间的分配效率与减缓磁盘碎片化之间的平衡。
第二实施例
请参照图5,图5示出了本发明实施例提供的磁盘空间分配装置200的方框示意图。磁盘空间分配装置200包括至少一个可以软件或固件(firmware)的形式存储于图3所述存储器101中或固化在所述存储设备10的操作系统(operating system,OS)中的软件功能模块。磁盘空间分配装置200包括响应模块201;第一确定模块202;第一写入模块203;第二确定模块204;第二写入模块205。
响应模块201,用于响应客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,磁盘空间申请命令包括待写数据所需的待申请的磁盘空间的大小。
在本发明实施例中,响应模块201用于执行步骤S101。
第一确定模块202,用于若磁盘的可用的磁盘空间的大小小于预设阈值,依据待申请的磁盘空间的大小从至少一个目标段中确定满足最优匹配条件的第一目标段。
在本发明实施例中,第一确定模块202用于执行步骤S102。
在本发明实施例中,第一确定模块202具体用于:从至少一个目标段中,选择磁盘空间的大小大于或等于待申请的磁盘空间的大小的所有待选目标段;从所有待选目标段中,选择出磁盘空间的大小最小的作为第一目标段。
第一写入模块203,用于将待写数据写入至第一目标段。
在本发明实施例中,第一写入模块203用于执行步骤S103。
第二确定模块204,用于若磁盘的可用的磁盘空间的大小大于或者等于预设阈值,则从至少一个目标段中确定满足首次匹配条件的第二目标段。
在本发明实施例中,第二确定模块204用于执行步骤S104。
在本发明实施例中,第二确定模块204具体用于:获取磁盘的磁头位置;将起始地址离磁头位置最近、且起始地址对应的目标段的磁盘空间的大小大于或等于待申请的磁盘空间的大小的目标段确定为第二目标段。
第二写入模块205,用于将待写数据写入至第二目标段。
在本发明实施例中,第二写入模块205用于执行步骤S105。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的磁盘空间分配装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明提供的一种磁盘空间分配方法、装置、存储设备及存储介质,所述方法和装置应用于存储设备,存储设备与客户端通信连接,存储设备包括磁盘,磁盘包括至少一个可写入数据的目标段,所述方法包括:响应客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,磁盘空间申请命令包括待写数据所需的待申请的磁盘空间的大小;若磁盘的可用的磁盘空间的大小小于预设阈值,则依据待申请的磁盘空间的大小从至少一个目标段中确定满足最优匹配条件的第一目标段;将待写数据写入至第一目标段。与现有技术相比,本发明在磁盘的可用的磁盘空间的大小小于预设阈值时,及时调整磁盘空间分配策略,从而缓解磁盘碎片化的加剧,优化存储系统的整体性能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种磁盘空间分配方法,其特征在于,应用于存储设备,所述存储设备与客户端通信连接,所述存储设备包括磁盘,所述磁盘包括至少一个可写入数据的目标段,所述方法包括:
响应所述客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,所述磁盘空间申请命令包括所述待写数据所需的待申请的磁盘空间的大小;
若所述磁盘的可用的磁盘空间的大小小于预设阈值,则依据所述待申请的磁盘空间的大小从所述至少一个目标段中确定满足最优匹配条件的第一目标段;
将所述待写数据写入至所述第一目标段。
2.如权利要求1所述的磁盘空间分配方法,其特征在于,所述依据所述待申请的磁盘空间的大小从所述至少一个目标段中确定满足最优匹配条件的第一目标段的步骤,包括:
从所述至少一个目标段中,选择磁盘空间的大小大于或等于所述待申请的磁盘空间的大小的所有待选目标段;
从所述所有待选目标段中,选择出磁盘空间的大小最小的作为所述第一目标段。
3.如权利要求1所述的磁盘空间分配方法,其特征在于,所述方法还包括:
若所述磁盘的可用的磁盘空间的大小大于或者等于所述预设阈值,则从所述至少一个目标段中确定满足首次匹配条件的第二目标段;
将所述待写数据写入至所述第二目标段。
4.如权利要求3所述的磁盘空间分配方法,其特征在于,每一个所述目标段均包括起始地址,所述从所述至少一个目标段中确定满足首次匹配条件的第二目标段的步骤,包括:
获取所述磁盘的磁头位置;
将所述起始地址离所述磁头位置最近、且所述起始地址对应的所述目标段的磁盘空间的大小大于或等于所述待申请的磁盘空间的大小的目标段确定为第二目标段。
5.一种磁盘空间分配装置,其特征在于,应用于存储设备,所述存储设备与客户端通信连接,所述存储设备包括磁盘,所述磁盘包括至少一个可写入数据的目标段,所述装置包括:
响应模块,用于响应所述客户端基于待写数据发送的写数据请求,生成磁盘空间申请命令;其中,所述磁盘空间申请命令包括所述待写数据所需的待申请的磁盘空间的大小;
第一确定模块,用于若所述磁盘的可用的磁盘空间的大小小于预设阈值,依据所述待申请的磁盘空间的大小从所述至少一个目标段中确定满足最优匹配条件的第一目标段;
第一写入模块,用于将所述待写数据写入至所述第一目标段。
6.如权利要求5所述的磁盘空间分配装置,其特征在于,所述第一确定模块具体用于:
从所述至少一个目标段中,选择磁盘空间的大小大于或等于所述待申请的磁盘空间的大小的所有待选目标段;
从所述所有待选目标段中,选择出磁盘空间的大小最小的作为所述第一目标段。
7.如权利要求5所述的磁盘空间分配装置,其特征在于,所述装置还包括:
第二确定模块,用于若所述磁盘的可用的磁盘空间的大小大于或者等于所述预设阈值,则从所述至少一个目标段中确定满足首次匹配条件的第二目标段;
第二写入模块,用于将所述待写数据写入至所述第二目标段。
8.如权利要求7所述的磁盘空间分配装置,其特征在于,每一个所述目标段均包括起始地址,所述第二确定模块具体用于:
获取所述磁盘的磁头位置;
将所述起始地址离所述磁头位置最近、且所述起始地址对应的所述目标段的磁盘空间的大小大于或等于所述待申请的磁盘空间的大小的目标段确定为第二目标段。
9.一种存储设备,其特征在于,所述存储设备与客户端通信连接,包括:
磁盘,用于存储客户端发送的写数据请求对应的待写数据;
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910203537.0A CN109977035A (zh) | 2019-03-18 | 2019-03-18 | 磁盘空间分配方法、装置、存储设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910203537.0A CN109977035A (zh) | 2019-03-18 | 2019-03-18 | 磁盘空间分配方法、装置、存储设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109977035A true CN109977035A (zh) | 2019-07-05 |
Family
ID=67079246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910203537.0A Pending CN109977035A (zh) | 2019-03-18 | 2019-03-18 | 磁盘空间分配方法、装置、存储设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977035A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880734A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种数据处理方法、系统、电子设备及存储介质 |
CN113625967A (zh) * | 2021-07-26 | 2021-11-09 | 深圳市汉云科技有限公司 | 数据存储方法、数据查询方法及服务器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1044404A1 (en) * | 1998-10-20 | 2000-10-18 | Koninklijke Philips Electronics N.V. | File systems supporting data sharing |
CN1679005A (zh) * | 2002-08-30 | 2005-10-05 | 皇家飞利浦电子股份有限公司 | 动态存储器管理 |
CN101853210A (zh) * | 2010-05-25 | 2010-10-06 | 惠州华阳通用电子有限公司 | 一种内存管理方法及装置 |
CN105279099A (zh) * | 2015-09-30 | 2016-01-27 | 成都华为技术有限公司 | 一种磁盘空间分配法及装置 |
CN105589812A (zh) * | 2015-12-16 | 2016-05-18 | 成都华为技术有限公司 | 磁盘碎片整理方法、装置及主机 |
CN106843751A (zh) * | 2016-12-27 | 2017-06-13 | 华为技术有限公司 | 放置存储卷的方法和设备 |
CN109117273A (zh) * | 2018-08-17 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置及设备 |
-
2019
- 2019-03-18 CN CN201910203537.0A patent/CN109977035A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1044404A1 (en) * | 1998-10-20 | 2000-10-18 | Koninklijke Philips Electronics N.V. | File systems supporting data sharing |
CN1679005A (zh) * | 2002-08-30 | 2005-10-05 | 皇家飞利浦电子股份有限公司 | 动态存储器管理 |
CN101853210A (zh) * | 2010-05-25 | 2010-10-06 | 惠州华阳通用电子有限公司 | 一种内存管理方法及装置 |
CN105279099A (zh) * | 2015-09-30 | 2016-01-27 | 成都华为技术有限公司 | 一种磁盘空间分配法及装置 |
CN105589812A (zh) * | 2015-12-16 | 2016-05-18 | 成都华为技术有限公司 | 磁盘碎片整理方法、装置及主机 |
CN106843751A (zh) * | 2016-12-27 | 2017-06-13 | 华为技术有限公司 | 放置存储卷的方法和设备 |
CN109117273A (zh) * | 2018-08-17 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880734A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种数据处理方法、系统、电子设备及存储介质 |
CN113625967A (zh) * | 2021-07-26 | 2021-11-09 | 深圳市汉云科技有限公司 | 数据存储方法、数据查询方法及服务器 |
CN113625967B (zh) * | 2021-07-26 | 2024-05-03 | 深圳市汉云科技有限公司 | 数据存储方法、数据查询方法及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093304B2 (en) | Using response time objectives in a storage system | |
US7949847B2 (en) | Storage extent allocation method for thin provisioning storage | |
US7971025B2 (en) | Method and apparatus for chunk allocation in a thin provisioning storage system | |
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
CN104317742B (zh) | 一种优化空间管理的自动精简配置方法 | |
CN102023813B (zh) | 在动态页重新分配存储系统中的应用和层配置管理 | |
US8281033B1 (en) | Techniques for path selection | |
US9355112B1 (en) | Optimizing compression based on data activity | |
CN107092442B (zh) | 存储系统资源分配方法及装置 | |
CN102511030B (zh) | 计算机系统及其控制方法 | |
US10261897B2 (en) | Tail latency aware foreground garbage collection algorithm | |
CN109977035A (zh) | 磁盘空间分配方法、装置、存储设备及存储介质 | |
US11416162B2 (en) | Garbage collection method and storage device | |
CN109375985A (zh) | 内存动态管理方法及装置 | |
CN111367469B (zh) | 一种分层存储数据迁移方法和系统 | |
CN104461914A (zh) | 一种自动精简配置的自适应优化方法 | |
US20160004459A1 (en) | Storage system and storage control method | |
CN103778149A (zh) | 文件系统及其对文件进行存储管理的方法 | |
CN109815005A (zh) | 一种管理内存的方法、装置和存储系统 | |
WO2010111906A1 (zh) | 一种刀片服务器及其业务调度方法 | |
CN109783000A (zh) | 一种数据处理方法及设备 | |
CN117215485A (zh) | Zns ssd管理方法及数据写入方法、存储装置、控制器 | |
WO2017059716A1 (zh) | 多磁盘阵列共享写缓存的方法及装置 | |
CN106201921A (zh) | 一种缓存分区容量的调整方法及装置 | |
CN116069252A (zh) | 一种zns ssd设备的控制方法、装置及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |