CN113157600A - 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 - Google Patents

一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 Download PDF

Info

Publication number
CN113157600A
CN113157600A CN202110250257.2A CN202110250257A CN113157600A CN 113157600 A CN113157600 A CN 113157600A CN 202110250257 A CN202110250257 A CN 202110250257A CN 113157600 A CN113157600 A CN 113157600A
Authority
CN
China
Prior art keywords
storage area
file
storage
segment
hard disk
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
Application number
CN202110250257.2A
Other languages
English (en)
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN202110250257.2A priority Critical patent/CN113157600A/zh
Publication of CN113157600A publication Critical patent/CN113157600A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free 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

本发明公开了一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器,其中,所述方法包括:获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态;接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域;根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。本申请提供的技术方案,使得SMR硬盘能够兼容于更多的文件存储系统。

Description

一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器
技术领域
本发明涉及互联网技术领域,特别涉及一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器。
背景技术
目前,为了存储海量数据和降低硬件成本,可以采用叠瓦式硬盘(ShingledMagnetic Recording,SMR)进行数据存储。叠瓦式硬盘中可以包括顺序存储区域和随机存储区域。其中,顺序存储区域中的数据需要满足顺序写入并且对齐的要求。通常而言,叠瓦式硬盘中可以保留1%至5%的随机存储区域,其它区域都可以作为顺序存储区域。而现有的用户态文件存储系统(例如BlueFS系统)通常只能支持PMR(Perpendicular MagneticRecording,垂直磁性记录)硬盘的空间管理,而无法支持SMR硬盘的空间管理,导致现有的部分用户态文件存储系统无法兼容于SMR硬盘。
发明内容
本申请的目的在于提供一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器,使得SMR硬盘能够兼容于更多的文件存储系统。
为实现上述目的,本申请一方面提供一种叠瓦式硬盘的空间分配方法,所述方法包括:获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态;接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域;根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。
为实现上述目的,本申请另一方面还提供一种应用于叠瓦式硬盘的文件存储系统,所述系统包括:区域信息获取单元,用于获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态;存储区域确定单元,用于接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域;分段确定单元,用于根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。
为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的叠瓦式硬盘的空间分配方法。
由上可见,本申请一个或者多个实施方式提供的技术方案,通过改变现有的文件存储系统的数据处理方式,从而使得SMR硬盘能够兼容更多的文件存储系统。其中,SMR硬盘的存储区域可以进一步地被划分为多个存储分段,当文件存储系统接收到用户的空间申请请求时,可以先在SMR硬盘中确定出相匹配的目标存储区域。然后,通过解析目标存储区域中各个存储分段的分段状态,可以进一步查找到适配于待写入文件的目标存储分段。这样,待写入的文件便可以写入目标存储分段中。通过先确定存储区域,再确定存储分段的方式,能够保证待写入的文件能够遵循SMR硬盘的顺序写入特点。在文件写入完成后,可以更新目标存储区域中的区域信息,从而使得后续的文件在写入时,能够根据更新后的区域信息,依然遵循顺序写入的特点。可见,通过上述的方式,文件存储系统与SMR硬盘之间可以协同运作,从而处理用户提出的文件写入需求,使得SMR硬盘的顺序存储的特点也能够被文件存储系统兼容。
附图说明
为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中叠瓦式硬盘的空间分配方法步骤图;
图2是本发明实施方式中文件存储系统的功能模块示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
目前,键值对(key-value)存储方式由于数据简单、易部署等优点,被广泛应用在数据存储领域。键值对存储方式中,可以通过写入(put)功能,写入键值对数据,或者根据查询(get)功能,通过提供的键数据,查询对应的值数据。
LSM-Tree(Log-Structured Merge Tree,日志结构的合并树)是为键值对存储方式设计的存储引擎。该存储引擎可以先将最新的数据驻留在内存中,等到内存中积累到足够多的数据之后,再使用归并排序的方式将内存中的数据合并(compact)追加到硬盘的队尾。目前,基于LSM-Tree的数据库有很多,例如可以包括Hbase、RocksDB、LevelDB等。由于LSM-Tree的这种先将数据聚合至内存中,然后再统一写入硬盘的特点,使得LSM-Tree能够很好地与SMR硬盘的顺序写入方式相适配。
鉴于此,在将用户态的文件存储系统与SMR硬盘相兼容时,可以采用LSM-Tree提供的数据存储方式。
请参阅图1,本申请一个实施方式提供的叠瓦式硬盘的空间分配方法,可以包括以下多个步骤。
S1:获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态。
在本实施方式中,SMR硬盘中的存储区域(zone)可以由若干个扇区构成,通常而言,一个存储区域可以具备256M的存储空间,并且每个存储区域都可以具备单独的数据起始点(start_pointer,sp)和当前数据写入点(write_point,wp)。其中,sp通常是不变的,而wp会随着存储区域中数据的写入而不断变化,并且,由于SMR硬盘的顺序写入特点,针对SMR硬盘的空间分配,都需要在wp指定的位置处进行。
在实际应用中,考虑到如果将整个存储区域都一次性分配给某个文件,那么无法保证该存储区域能够写满该文件的数据,从而造成存储空间的浪费。鉴于此,在本实施方式中可以将存储区域进一步更小的存储分段(segment),并按照存储分段进行存储空间的分配。举例来说,对于256M的存储区域而言,可以按照64k的大小,划分为多个存储分段。为了使得文件存储系统能够将文件写入SMR硬盘的存储分段中,还需要针对存储区域创建自定义的数据结构,并通过自定义的数据结构,来管理划分为多个存储分段后的存储区域的区域信息。
在一个具体应用示例中,上述自定义的数据结构的伪代码可以如下所示:
Figure BDA0002965733950000041
其中,segment_stat可以表征存储分段的分段状态,该分段状态可以包括占用(kUsed),释放(kEmpting),弃用(kWasted)以及空闲(kInit),其中,前三种状态都表示存储分段处于不可分配的状态,只有空闲状态表示存储分段处于可分配的状态。
上述的数据结构中,zong_t可以表示存储区域的区域信息,在该区域信息中,可以包括多种参数。其中,cf表示存储区域在LSM-Tree中对应的列簇(colunmfamily)标识,writing表示存储区域当前是否在执行数据写入,topped表示存储区域的空间是否已完全分配,writing_ino表示正在写入的文件的文件标识,zone_start表示存储空间的起始位置,segment_length表示存储区域内每个存储分段的大小,segment_items表示存储区域内包含的存储分段的数量。
通过上述数据结构中的Map<unit64_t,zone_t>zones,可以为各个存储区域分配对应的区域编号,从而建立区域编号与存储区域之间的映射关系。
上述的数据结构在第一次加载时,可以对其中参数的参数值进行初始化。例如,cf的参数值可以设置为-1,表示当前的存储区域还未进行分配。又例如,writing和topped的参数值可以默认为false,表示当前没有执行数据写入操作,存储区域的空间也没有被完全分配。随着后续文件的不断写入,数据结构中参数的参数值也会根据写入的过程而变化。
在本实施方式中,文件存储系统可以通过SMR硬盘的标准接口,获取SMR硬盘中各个存储区域的区域信息,该区域信息除了包含上述数据结构中的各项参数,还可以包含存储区域固有的sp、wp等常规信息。这样,通过解析获取到的区域信息,文件存储系统便可以了解SMR硬盘中各个存储区域当前的数据存储状态。
S3:接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域。
在本实施方式中,当用户的写入进程想要将某个文件写入SMR硬盘中时,可以向文件存储系统发送对应的空间申请请求。该空间申请请求中可以携带一系列的请求信息。例如,该请求信息可以包括所需空间大小、文件在LSM-Tree中所属的列簇、待写入文件的文件标识、文件写入的期望位置等。当然,文件存储系统接收到的空间申请请求中,不一定会携带上述的各项请求信息,根据实际的文件写入进度,可能只包含其中的一部分请求信息。
在一个实施方式中,空间申请请求中可以包括文件写入的期望位置(hint),该期望位置可以表示该文件在上一次写完时对应的写入位置,为了让数据在硬盘中尽可能保持连续,在为该文件再次分配存储空间时,就应当尽可能遵循该期望位置。但由于在上一次写完之后,硬盘中可能还写入了其它文件,因此该期望位置对应的存储空间不一定是空闲的。鉴于此,可以根据空间申请请求中的期望位置和各个存储区域的存储大小,先在SMR硬盘中确定该期望位置的归属存储区域。具体地,各个存储区域的存储大小通常是固定的(256M),通过将该期望位置与256M进行对比,便可以知晓该期望位置实际所处的存储区域的区域编号。例如,该期望位置的大小为272M,那么该期望位置对应的区域编号就是2。通过前述的数据结构中建立的区域编号与存储区域的映射关系,从而可以知晓该期望位置实际所属的存储区域,该实际所属的存储区域便可以作为期望位置的归属存储区域。
在本实施方式中,通过解析该归属存储区域的区域信息,从而可以获知该归属存储区域的实际存储状态。在实际应用中,如果该归属存储区域的区域信息表征所述归属存储区域目前未执行文件写入,并且空间未被完全分配,那么就可以将所述归属存储区域作为与所述空间申请请求相匹配的目标存储区域。后续便可以在该目标存储区域中查找能够分配给该空间申请请求的存储分段。
然而,如果所述区域信息表征所述归属存储区域目前正在执行文件写入,或者空间已被完全分配,那么在该归属存储区域中,就无法为该空间申请请求分配空闲的存储分段,此时,可以依次识别位于所述归属存储区域之后的各个存储区域的区域信息,并将目前未执行文件写入,并且空间未被完全分配的存储区域作为与所述空间申请请求相匹配的目标存储区域。当然,在识别归属存储区域之后的存储区域的区域信息时,通常会将满足条件(目前未执行文件写入,并且空间未被完全分配)的第一个存储区域就作为与空间申请请求相匹配的目标存储区域,并且在查询到满足条件的第一个存储区域后,就可以停止识别后续存储区域的区域信息。
在实际应用中,以上确定期望位置的归属存储区域的过程,通常只会在期望位置的数值大于0的时候才会执行,如果期望位置的数值小于或者等于0,则表示当前的文件不具备存储的期望位置,此时可以从SMR硬盘的第一个存储区域开始,识别出满足条件的存储区域即可。
S5:根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。
在本实施方式中,确定出与空间申请请求相匹配的目标存储区域后,可以进一步根据该目标存储区域中各个存储分段的分段状态,为该空间申请请求分配用于写入文件的目标存储分段。具体地,由于SMR硬盘遵循顺序写入的特点,并且当前的数据写入需要由wp来指定,因此,可以在目标存储区域中识别分段状态表征未被分配的存储分段,其中,未被分配的分段状态可以由上述的kInit参数来表示,当该kInit参数的赋值为1时,可以表征当前的存储分段能够被分配出去。然后,在识别出的存储分段中,可以将当前数据写入点(wp)指向的存储分段作为用于写入文件的目标存储分段,从而遵循顺序写入的特点。
这样,通过上述的方式,便可以确定出目标存储区域中的目标存储分段,并将该目标存储分段分配给空间申请请求,以进行数据写入。在分配了目标存储分段之后,可以标记该目标存储区域的区域信息中各个参数的参数值,以使得区域信息中各个参数标记后的参数值能够符合当前的数据写入状态。
具体地,区域信息中标记后的参数的参数值可以包括:所述目标存储区域对应的列簇标识(cf)、表征所述目标存储区域正在执行数据写入的标识(writing)、正在写入的文件的文件标识(writing_ino)、表征目标存储区域未被完全分配的标识(topped)、表征所述目标存储分段已被分配的状态标识(kUsed)。当然,根据区域信息中实际包含的参数(上述的至少一种),可以对实际包含的参数进行对应的标记。
在本实施方式中,在完成了对目标存储区域的区域信息进行标记后,文件存储系统可以向用户反馈分配所得的存储分段的信息,同时,文件存储系统还可以通过日志记录的方式,将分配得到的存储分段的信息写入日志记录中,从而持久化文件的存储信息,后续当系统重启或者进行异常检测时,可以通过读取日志记录中的存储信息,并将存储信息与SMR硬盘中的实际存储状态进行对比,从而完成异常校验的过程。
用户在接收到分配所得的存储分段的信息后,便可以针对该存储分段开始文件写入过程。在文件写入完成之后,也需要同步地更新目标存储区域的区域信息。具体地,可以将之前标记的参数的参数值进行更新。例如,可以重置目标存储区域的区域信息中部分参数的参数值,其中,该部分参数包括:表征目标存储区域正在执行数据写入的标识(writing),以及正在写入的文件的文件标识(writing_ino)。其中,writing的参数值可以重置为false,writing_ino的参数值可以重置为0(表示没有文件在写入)。在上述文件写入的过程中,目标存储区域的wp也会随着文件写入的过程而发生改变,wp的改变也可以视为区域信息的更新过程。
需要说明的是,在SMR硬盘中进行存储空间分配时,为了保证顺序写入能够正常进行,在文件写入完成之前,目标存储区域中的存储分段无法被分配给其它文件,并且在文件写入完成后,目标存储区域中的存储分段仅允许被分配给与完成写入的文件属于相同数据类型的文件。
在一个实施方式中,文件存储系统还可以接收到用户发来的针对SMR硬盘的文件删除请求。文件存储系统可以在SMR硬盘中,查询到待删除的文件对应的存储分段,然后在SMR硬盘中将对应的文件删除后,可以释放删除的文件所占用的存储分段。但是,释放的存储分段并不能直接作为空闲的空间进行后续的分配。原因在于,假设SMR硬盘先后写入了两个文件,第一个文件所占用的存储分段在第二个文件之前,那么如果删除了第一个文件,该第一个文件所占用的存储分段就会被释放。而第二个文件却依然存在,并且此时wp也是指向第二个文件的末尾。为了遵循顺序写入的特点,因第一个文件删除而释放的空间就无法利用。鉴于此,在释放删除的文件所占用的存储分段之后,还需要检测删除的文件所属的存储区域,并基于该存储区域的空间状态,判断是否对该存储区域的空间进行重置。具体地,若所述存储区域的全部空间均未被占用,那么可以直接重置所述存储区域的空间,重置后的存储区域的空间可以进行后的分配。而如果所述存储区域的部分空间被占用,那么就不能对所述存储空间进行重置。原因在于,重置所述存储区域的空间时,是需要将所述存储区域的当前数据写入点(wp)重置为所述存储区域的数据起始点(sp),由于存储区域中依然存在被占用的空间,而wp应当指向这部分被占用的空间的末尾,这样才能使得后续写入的文件能够遵循顺序写入的规则,如果直接将wp重置为sp,那么就违背了顺序写入的规则。因此,只有在存储区域中全部空间均未被占用时,才能重置该存储区域的空间。
在一个实施方式中,为了避免删除文件后的存储分段的分段状态对后续的空间分配构成影响,针对所述叠瓦式硬盘中的任一存储区域,可以逐一检测所述存储区域中各个存储分段的分段状态。若当前的存储分段的分段状态表征未被分配(kInit),并且所述当前的存储分段位于当前数据写入点之前,那就表示此时存储区域中还有被占用的空间,此时被删除文件的存储分段并不能分配给其它文件使用(否则违反顺序写入原则),因此需要更改这个存储分段的分段状态。具体地,可以将所述当前的存储分段的分段状态修改为废弃状态(kWasted),并将所述当前的存储分段从所述叠瓦式硬盘的可用分配空间中剔除,从而避免将该当前的存储分段分配给其它文件使用。
在一个实施方式中,如果文件存储系统因为异常而重启,或者SMR硬盘在写入过程中异常断电,会导致文件存储系统中记录的存储信息与SMR硬盘实际的存储状态不符。那么在系统重启后,或者SMR硬盘重新通电后,需要进行异常检测。
针对SMR硬盘中的任一存储区域,可以获取文件存储系统中记录的该存储区域的空间分配信息。在该空间分配信息中,可以包括cf、topped、segment_stat等一系列参数的实际赋值,其中,该空间分配信息中可以记录最新有效分段位置,该最新有效分段位置,可以是最新被分配的存储分段的末尾。然后,可以获取SMR硬盘的区域信息,在该区域信息中,可以包括sp和wp的信息。然后,可以将文件存储系统中的空间分配信息,与SMR硬盘中的区域信息进行比对,以判断是否存在异常。理论上,SMR硬盘的wp应当指向最新有效分段位置,然而,由于硬盘断电或者人为调控,这两个参数可能不会一致,那么在异常检测时,就需要重新将这两个参数进行对齐。
具体地,可以识别所述存储区域的当前数据写入点,并将所述当前数据写入点与所述空间分配信息中包含的最新有效分段位置进行对比,然后可以根据对比结果,判断是否对所述当前数据写入点进行对齐操作。
其中,若所述当前数据写入点和所述最新有效分段位置保持一致,那么表示不存在异常,可以不进行对齐操作。
而若所述当前数据写入点小于所述最新有效分段位置,则表示可能在数据写入过程中发现了硬盘断电的情况,而当硬盘再次通电时,只能从最新有效分段位置之后继续进行数据写入,此时,就需要将所述当前数据写入对齐至所述最新有效分段位置处。
若所述当前数据写入点大于所述最新有效分段位置,则表示wp可能经过了人为调整,此时,可以识别所述当前数据写入点的归属存储分段,并将所述当前数据写入点对齐至所述归属存储分段的有效分段位置处。举例来说,存储区域中存储分段都是按照64k的大小进行划分,假设最新有效分段位置是第一个存储分段的末尾(也就是64k的位置处),而此时wp指向80k的位置,那么就不能紧接着第一个存储分段的末尾进行数据写入,而是应当遵循wp的位置进行数据写入。但在执行数据写入时,一般不会从存储分段的中间位置处开始写入,那么此时只能将wp对齐至第二个存储分段的末尾(128k处),并从该第二个存储分段的末尾开始写入数据。在该例子中,第二个存储分段就是wp的归属存储分段,而第二个存储分段的末尾,就是归属存储分段的有效分段位置。
经过上述的异常校验,能够通过补齐操作,将wp和最新有效分段位置保持一致,并遵循顺序写入的规则。
请参阅图2,本申请还提供一种应用于叠瓦式硬盘的文件存储系统,所述系统包括:
区域信息获取单元,用于获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态;
存储区域确定单元,用于接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域;
分段确定单元,用于根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。
本申请还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的叠瓦式硬盘的空间分配方法。
由上可见,本申请一个或者多个实施方式提供的技术方案,通过改变现有的文件存储系统的数据处理方式,从而使得SMR硬盘能够兼容更多的文件存储系统。其中,SMR硬盘的存储区域可以进一步地被划分为多个存储分段,当文件存储系统接收到用户的空间申请请求时,可以先在SMR硬盘中确定出相匹配的目标存储区域。然后,通过解析目标存储区域中各个存储分段的分段状态,可以进一步查找到适配于待写入文件的目标存储分段。这样,待写入的文件便可以写入目标存储分段中。通过先确定存储区域,再确定存储分段的方式,能够保证待写入的文件能够遵循SMR硬盘的顺序写入特点。在文件写入完成后,可以更新目标存储区域中的区域信息,从而使得后续的文件在写入时,能够根据更新后的区域信息,依然遵循顺序写入的特点。可见,通过上述的方式,文件存储系统与SMR硬盘之间可以协同运作,从而处理用户提出的文件写入需求,使得SMR硬盘的顺序存储的特点也能够被文件存储系统兼容。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对系统的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施方式而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种叠瓦式硬盘的空间分配方法,其特征在于,所述方法包括:
获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态;
接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域;
根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。
2.根据权利要求1所述的方法,其特征在于,所述空间申请请求中包括文件写入的期望位置;在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域包括:
根据所述期望位置和各个所述存储区域的存储大小,在所述叠瓦式硬盘中确定所述期望位置的归属存储区域;
识别所述归属存储区域的区域信息,若所述区域信息表征所述归属存储区域目前未执行文件写入,并且空间未被完全分配,将所述归属存储区域作为与所述空间申请请求相匹配的目标存储区域。
3.根据权利要求1所述的方法,其特征在于,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段包括:
在所述目标存储区域中识别分段状态表征未被分配的存储分段,并在识别出的存储分段中,将当前数据写入点指向的存储分段作为用于写入文件的目标存储分段。
4.根据权利要求1或3所述的方法,其特征在于,在分配了目标存储分段之后,所述方法还包括:
标记所述目标存储区域的区域信息中各个参数的参数值,所述参数的参数值包括以下至少一种:
所述目标存储区域对应的列簇标识;表征所述目标存储区域正在执行数据写入的标识;正在写入的文件的文件标识;表征所述目标存储分段已被分配的状态标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在文件写入完成之前,所述目标存储区域中的存储分段无法被分配给其它文件,并且在文件写入完成后,所述目标存储区域中的存储分段存储的数据类型,与完成写入的文件的数据类型相同。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对所述叠瓦式硬盘的文件删除请求,并在所述叠瓦式硬盘中将对应的文件删除后,释放删除的文件所占用的存储分段;
检测所述删除的文件所属的存储区域,并基于所述存储区域的空间状态,判断是否对所述存储区域的空间进行重置。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述叠瓦式硬盘中的任一存储区域,获取文件存储系统中记录的所述存储区域的空间分配信息;
识别所述存储区域的当前数据写入点,并将所述当前数据写入点与所述空间分配信息中包含的最新有效分段位置进行对比;
根据对比结果,判断是否对所述当前数据写入点进行对齐操作。
8.根据权利要求7所述的方法,其特征在于,判断是否对所述当前数据写入点进行对齐操作包括:
若所述当前数据写入点和所述最新有效分段位置保持一致,不进行对齐操作;
若所述当前数据写入点小于所述最新有效分段位置,将所述当前数据写入对齐至所述最新有效分段位置处;
若所述当前数据写入点大于所述最新有效分段位置,识别所述当前数据写入点的归属存储分段,并将所述当前数据写入点对齐至所述归属存储分段的有效分段位置处。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述叠瓦式硬盘中的任一存储区域,逐一检测所述存储区域中各个存储分段的分段状态;
若当前的存储分段的分段状态表征未被分配,并且所述当前的存储分段位于当前数据写入点之前,将所述当前的存储分段的分段状态修改为废弃状态,并将所述当前的存储分段从所述叠瓦式硬盘的可用分配空间中剔除。
10.一种应用于叠瓦式硬盘的文件存储系统,其特征在于,所述系统包括:
区域信息获取单元,用于获取叠瓦式硬盘的区域信息,所述区域信息至少用于表征存储区域中各个存储分段的分段状态;
存储区域确定单元,用于接收针对所述叠瓦式硬盘的空间申请请求,并在所述叠瓦式硬盘中确定与所述空间申请请求相匹配的目标存储区域;
分段确定单元,用于根据所述目标存储区域中各个存储分段的分段状态,在所述目标存储区域中为所述空间申请请求分配用于写入文件的目标存储分段,并且在文件写入完成时,更新所述目标存储区域的区域信息。
11.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一所述的方法。
CN202110250257.2A 2021-03-08 2021-03-08 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 Pending CN113157600A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110250257.2A CN113157600A (zh) 2021-03-08 2021-03-08 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110250257.2A CN113157600A (zh) 2021-03-08 2021-03-08 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器

Publications (1)

Publication Number Publication Date
CN113157600A true CN113157600A (zh) 2021-07-23

Family

ID=76884483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110250257.2A Pending CN113157600A (zh) 2021-03-08 2021-03-08 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器

Country Status (1)

Country Link
CN (1) CN113157600A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113900590A (zh) * 2021-09-28 2022-01-07 重庆紫光华山智安科技有限公司 叠瓦式磁盘存储方法、装置、设备及介质
CN116527691A (zh) * 2023-06-27 2023-08-01 天津中远海运散运数字科技有限公司 一种船岸数据的同步方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808163A (zh) * 2016-02-29 2016-07-27 华为技术有限公司 一种访问叠瓦式磁记录smr硬盘的方法及服务器
CN107656697A (zh) * 2016-07-26 2018-02-02 阿里巴巴集团控股有限公司 一种在存储介质上操作数据的方法和装置
CN108804019A (zh) * 2017-04-27 2018-11-13 华为技术有限公司 一种数据存储方法及装置
CN111026329A (zh) * 2019-11-18 2020-04-17 华中科技大学 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法
WO2020168516A1 (en) * 2019-02-21 2020-08-27 Alibaba Group Holding Limited Method and system for facilitating fast atomic write operations in shingled magnetic recording hard disk drives

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808163A (zh) * 2016-02-29 2016-07-27 华为技术有限公司 一种访问叠瓦式磁记录smr硬盘的方法及服务器
CN107656697A (zh) * 2016-07-26 2018-02-02 阿里巴巴集团控股有限公司 一种在存储介质上操作数据的方法和装置
CN108804019A (zh) * 2017-04-27 2018-11-13 华为技术有限公司 一种数据存储方法及装置
WO2020168516A1 (en) * 2019-02-21 2020-08-27 Alibaba Group Holding Limited Method and system for facilitating fast atomic write operations in shingled magnetic recording hard disk drives
CN111026329A (zh) * 2019-11-18 2020-04-17 华中科技大学 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113900590A (zh) * 2021-09-28 2022-01-07 重庆紫光华山智安科技有限公司 叠瓦式磁盘存储方法、装置、设备及介质
CN113900590B (zh) * 2021-09-28 2023-01-31 重庆紫光华山智安科技有限公司 叠瓦式磁盘存储方法、装置、设备及介质
CN116527691A (zh) * 2023-06-27 2023-08-01 天津中远海运散运数字科技有限公司 一种船岸数据的同步方法、装置、设备和介质
CN116527691B (zh) * 2023-06-27 2023-11-03 天津中远海运散运数字科技有限公司 一种船岸数据的同步方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
US11799959B2 (en) Data processing method, apparatus, and system
US7895394B2 (en) Storage system
KR100390734B1 (ko) 고정적이고 확실한 저장 할당을 위한 시스템 및 방법
KR100390616B1 (ko) 고정적이고 확실한 저장 할당을 위한 시스템 및 방법
KR102031588B1 (ko) 파일 저장 시의 색인 구현 방법 및 시스템
CN111427855A (zh) 一种存储系统中重复数据删除方法、存储系统及控制器
CN110765076A (zh) 数据存储方法、装置、电子设备及存储介质
CN113157600A (zh) 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器
CN111552438B (zh) 一种对象写入的方法、装置、服务器和存储介质
US9009204B2 (en) Storage system
CN110795282B (zh) 一种数据回滚方法、装置、设备及存储介质
KR102071072B1 (ko) 데이터 저장장치의 주소 맵핑 테이블 운용 방법
CN109165305B (zh) 一种特征值存储、检索方法及装置
CN110795031A (zh) 一种基于全闪存储的数据重删方法、装置和系统
CN109508140B (zh) 存储资源管理方法、装置、电子设备及电子设备、系统
CN109241011B (zh) 一种虚拟机文件处理方法及装置
US20170147256A1 (en) Memory storage recycling
US11429587B1 (en) Multiple duration deduplication entries
CN107329702B (zh) 一种自精简元数据管理方法及装置
CN113127376A (zh) 固态驱动器的控制方法、装置及设备
CN110968587A (zh) 一种数据处理方法及装置
CN111143288A (zh) 一种数据存储方法、系统及相关装置
US11593327B2 (en) Segmented index for data deduplication
CN113703671B (zh) 一种数据块擦除方法及相关装置
US10318159B1 (en) Method and system for physical locality repair in a storage system

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