CN113900590B - 叠瓦式磁盘存储方法、装置、设备及介质 - Google Patents
叠瓦式磁盘存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113900590B CN113900590B CN202111143114.8A CN202111143114A CN113900590B CN 113900590 B CN113900590 B CN 113900590B CN 202111143114 A CN202111143114 A CN 202111143114A CN 113900590 B CN113900590 B CN 113900590B
- Authority
- CN
- China
- Prior art keywords
- root directory
- block
- data
- zone
- zone block
- 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
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/0608—Saving storage space on 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请提供一种叠瓦式磁盘存储方法、装置、设备及介质,该方法包括:获取待存储的目标对象以及用于读写的叠瓦式磁盘,叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,第一存储区设有多个Zone块;针对第一存储区内的Zone块创建根目录并设置根目录信息,根目录信息至少包括根目录名、预分配容量、留存期与创建时间;将待存储的目标对象划分为多个数据块,根据目标对象的数据块个数确定相应的根目录信息;在根目录信息下,将目标对象对应的数据块按照相同留存期的数据块存储同一个Zone块的规则依次存储,直至目标对象对应的数据块存储完为止,本申请使用的数据存储方式,避免了数据迁移,提高了空间利用率。
Description
技术领域
本申请涉及数据存储技术领域,特别是涉及一种叠瓦式磁盘存储方法、装置、设备及介质。
背景技术
叠瓦式磁记录(SMR,Shingled Magnetic Recording)技术是将相邻磁道象屋顶的瓦片一样进行部分重叠,消除了磁道和磁道之间的间隙,因而增加了每个盘面所能容纳的磁道数,使得磁记录密度大幅增加,这样,在不改变磁盘物理尺寸的情况下可以大幅提升磁盘的容量。
叠瓦式磁盘将存储的数据和元数据剥离开来,其中,数据采用顺序写方式写到SMR盘的S-Zone区,元数据写到C-Zone区。而C-Zone和传统磁盘一样,支持随机读写和顺序读写,但是容量大约占磁盘总容量的1%。如果元数据比较多,就会采用SSD+SMR的方案。
然而,现有的SMR磁盘在数据删除后,以顺序写方式存储到S-Zone区的数据会形成数据空洞,为了解决上述技术问题,通常采用数据迁移和S-Zone资源回收的方式,但是这种处理方式,会降低容量利用率、增加资源消耗、也降低了SMR磁盘的容量优势。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种叠瓦式磁盘存储方法、装置、设备及介质,用于解决现有技术中视频文件在采用叠瓦式磁盘存储删除数据后,需要数据迁移的问题。
为实现上述目的及其他相关目的,本申请提供一种叠瓦式磁盘存储方法,包括:
获取待存储的目标对象以及用于读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;
针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;
将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;
在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
在某些实施方式中,根据待存储的目标对象的文件大小将其分成多个预设规格的数据块;根据所述目录信息中的预分配容量按序划分多个Zone块,且每个所述Zone块支持存储多个数据块数据信息。
在某些实施方式中,所述根目录信息存储在第二存储区。
在某些实施方式中,所述Zone块的状态包括NULL、WRITING、USABLE、FINISH,其中,NULL表示当前Zone块未被使用;WRITING表示当前Zone块正在被写入,已归属某个根目录;USABLE表示当前Zone块已经有数据,已归属某个根目录,且存在空余数据块;FINISH表示当前Zone块已归属某个根目录,没有空余数据块。
在某些实施方式中,还包括:当监测到所述Zone块的状态至少为以下任一状态时,写入数据:
所述Zone块的状态为NULL;
所述Zone块的状态为USABLE,且当前所述Zone块与当前待写入的目标对象为同一根目录,以及满足当前所述Zone块写入第一数据块的时间小于预设时限。
在某些实施方式中,还包括:
检测每个目标对象存储的根目录下所对应的留存期;
若某个Zone块内存储的最后一个数据块的结束时间小于留存期的删除期限,则清空所述Zone块内所有元数据,并修改该Zone块的状态为NULL;
若某个Zone块内存储的部分数据块的结束时间小于留存期的删除期限,则清空部分数据块对应的元数据,且不释放所述Zone块的存储空间。
在某些实施方式中,还包括:
在所述根目录信息下创建预设规格大小的文件,所述文件分割成多个多个数据块;
根据根目录信息生成文件信息表,以所述文件名为key,创建k-v结构并保存到第二存储区;其中,所述文件信息表包括文件名、Zone块编号、数据块编号与数据长度;
根据所述根目录信息下Zone块的状态在所述文件内写入数据,并更新所述文件信息表。
在本申请的另一目的在于提供一种叠瓦式磁盘存储装置,包括:
获取模块,用于获取待存储的目标对象以及可读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;
根目录生成模块,用于针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;
数据块生成模块,用于将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;
存储模块,用于在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
在本申请的另一目的在于提供一种电子设备,包括:
一个或多个处理装置;
存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置执行所述叠瓦式磁盘存储方法。
在本申请的还一目的在于提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行所述叠瓦式磁盘存储方法。
如上所述,本申请的叠瓦式磁盘存储方法、装置、设备及介质,具有以下有益效果:
通过获取待存储的目标对象,针对第一存储区内的Zone块创建根目录并设置根目录信息;将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止;其中,利用根目录进行归属,加强了数据关联;将相同留存期数据块存储到同一个Zone块,不仅有利于数据管理,还有利于更快释放存储空间,同时,也避免了数据迁移,提高了空间利用率。
附图说明
图1显示为本申请提供的一种叠瓦式磁盘存储方法流程图;
图2显示为本申请提供的一种叠瓦式磁盘存储结构图;
图3显示为本申请提供的一种叠瓦式磁盘存储方法中S-Zone的状态图;
图4显示为本申请提供的一种叠瓦式磁盘存储方法中另一流程图;
图5显示为本申请提供的一种叠瓦式磁盘存储装置结构框图;
图6显示为本申请提供的一种电子设备结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在相关技术中,SMR硬盘将部分磁道重叠,为了提升了存储密度,比传统硬盘增加25%的容量。磁道的重叠也带来了缺点,不能随机写入数据,需要保证数据的顺序写入。当前最常见的解决方法是,将存储的数据和元数据剥离开来,数据采用顺序写方式写到SMR盘的S-Zone区,元数据写到C-Zone区。其中C-Zone和传统磁盘一样,支持随机读写和顺序读写,但是容量大约占磁盘总容量的1%。如果元数据比较多,就会采用SSD+SMR的方案。因此已有专利的重点都是如何减少元数据信息量,使其能用较少的空间保存,满足SMR存储要求。
然而,在数据删除后,导致S-Zone区产生数据空洞,当前专利的解决方法主要采用数据迁移和S-Zone资源回收的方法,但是这方案降低了容量利用率、增加的资源消耗。另外,还有一种是存储提供流式接口,内部对不同的数据流做私有化存储划分,但是非标准文件接口使得第三方对接及其不方便,因此,在数据删除后,亟需一套避免数据迁移的叠瓦式磁盘存储方法、叠瓦式磁盘存储装置。
请参阅图1,为本申请提供的一种叠瓦式磁盘存储方法流程图,包括:
步骤S101,获取待存储的目标对象以及用于读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;
其中,利用应用软件获取待存储的目标对象(即,视频文件),应用软件是为满足用户不同领域、不同问题的应用需求而提供的软件程序,例如,应用软件包括但不限于视频监控取流软件,以及具有录像功能的各种应用程序,通过应用软件的文件接口接收待存储的目标视频文件。
例如,目标视频文件采用摄像装置、智能手机、平板设备、穿戴设备或带有摄像头的计算机设备之一拍摄的视频文件,该目标视频文件为大文件,一般为大于1GB文件,例如,可通过安防、教育、金融、会议、商务、监控等领域采集目标视频文件。
需要说明的是,由于SMR所具有的特殊的存储结构形式,其不支持数据随机写入与原地更新。其中,SMR将磁道划分为若干个区域(zone),即划分为由连续磁道所构成的若干个可连续写入区域,每个可连续写入区域构成一个需要顺序写入的基本单元。其对应的逻辑概念是“区域(zone)”,是能够对SMR进行操作的上层软件所能看到的SMR中的顺序写入区域。
通常,SMR中的一个Zone的空间大小在256MB量级。由于SMR需要确保可以从磁道的未重叠部分读取数据,因此,每个Zone内的数据读取依旧可以随机进行。并且,SMR在生产制造时,就进行了区域划分,从而,可以通过在每个Zone之间留出较大的间隔来标识每个Zone的起始位置。此外,硬盘厂商可以在SMR上设置一小块区域,并在该小块区域内采用传统硬盘非重叠的磁道组织方式,以牺牲部分存储密度的代价,换取在该小块区域内的随机写入的能力。其中,该小块区域可以被称为“传统区(Conventional Zone,C-zone,即,第二存储区)”,可以为能够对SMR进行操作的上层应用的随机写操作提供一个落脚点。
其中,图2为SMR的结构示意图,其中,如图2所示,可以得到SMR的如下特点:
SMR以Zone为管理单元,并且,每个zone的空间大小通常为256MB;SMR的SMR区中的每个Zone支持乱序写读操作,但是只支持顺序写操作,即只能按照顺序,依次从前向后写入数据;SMR中包括SMR区(S-zone,第一存储区)和CMR(Conventional Magnetic Recording,常规磁记录盘)区(C-zone,第二存储区),C-zone区的空间大小较小,且支持乱序写操作;S-zone中的每个Zone必须打开之后,才可以进行读写,并且,存在打开个数限制;S-zone支持ZAC/ZBC命令进行Zone状态的获取、读写和清空。
步骤S102,针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;
其中,表1-根目录信息包括根目录名、预分配容量、留存期与创建时间,该根目录信息存储在第二存储区。
表1-根目录信息
根目录名 | 预分配容量(GB) | 留存期(天) | 创建时间 |
Test1 | 512 | 30 | 20210801 |
Test2 | 1024 | 60 | 20210802 |
例如,在初始化时,创建多个预设的根目录,并按预设要求配置预分配容量,需要说明的,根目录名与预分配容量保存到第二存储区;且每个根目录都会预设时间的留存期,该留存期的单位为天,留存期也保存到第二存储区;当初始化完成时,第一存储区内所有的Zone(块)都不属于某个根目录,所有根目录信息保存到内存中。
步骤S103,将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;
其中,可以根据创建的文件大小的数据块确定目标对象划分的数据块的个数,例如,若文件的预设大小为512MB,每个数据块为64MB,通过计算可确定采用8个数据块表示文件;同理,也能根据目标对象(视频文件)的大小划分多个数据块,数据块与目标对象的大小不做限定,其对应的单位可为字节、千字节、兆、千兆等,在此不在赘述。
步骤S104,在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
其中,根据待存储的目标对象的文件大小将其分成多个预设规格的数据块;根据所述目录信息中的预分配容量按序划分多个Zone块,且每个所述Zone块支持存储多个数据块数据信息。
具体地,由于每个目标对象划分多个数据块,利用数据留存期的特点,通过按照相同留存期的数据块存储同一个Zone块的规则进行存储,将所有目标对象对应的数据块存储完。
通过上述方式,利用归属域和有效时间的方式,在不改变文件接口的基础上,通过新的数据存储方式,减少数据迁移,降低了资源消耗,提高空间利用率;同时,解决了SMR盘在删除文件后普遍存在的空间浪费和资源消耗。
在另一些实施方式中,请参阅图3,为本申请提供的一种叠瓦式磁盘存储方法中S-Zone的状态图,详述如下:所述Zone块的状态包括NULL、WRITING、USABLE、FINISH,其中,NULL表示当前Zone块未被使用;WRITING表示当前Zone块正在被写入,已归属某个根目录;USABLE表示当前Zone块已经有数据,已归属某个根目录,且存在空余数据块;FINISH表示当前Zone块已归属某个根目录,没有空余数据块。
表2-根目录Test1的S-Zone的FINISH表
Zone编号 | b0-st | b0-et | b1-st | b1-et | b2-st | b2-et | b3-st | b3-et |
4 | xx | xx | xx | xx | xx | xx | xx | xx |
7 | xx | xx | xx | xx | xx | xx | xx | xx |
具体地,该表中Zone编号为4和7的Zone,每个Zone对应的数据块block为4个,数据块编号从0至3,分别记录每个数据块的开始时间(st)与结束时间(et),从而得到每个数据块的创建时间,便于确定留存期对应的期限时间。
其中,当监测到所述Zone块的状态至少为以下任一状态时,写入数据:
所述Zone块的状态为NULL;
所述Zone块的状态为USABLE,且当前所述Zone块与当前待写入的目标对象为同一根目录,以及满足当前所述Zone块写入第一数据块的时间小于预设时限。
具体地,S-Zone总共有四种状态,分别为NULL,WRITING,USABLE,FINISH。其中NULL表示空S-Zone还未被使用;WRITING表示正在被写,已经归属某个根目录;USABLE表示已经有数据在S-Zone中,且归属某个根目录,但当前没有写入操作,还有空余block;FINISH表示已经归属某个根目录,没有空余block。
写入数据时,系统将选择一个可用的S-Zone区;可用S-Zone的判断条件有以下两种,满足其中一种场景即可。
S-Zone状态为NULL;或,
S-Zone状态为USABLE,同时S-Zone和当前要写入的文件归属同一个根目录,且和S-Zone的第一个block的开始时间相差小于24Hour;如果间隔已经大于24Hour,将此S-Zone状态改为FINISH。
系统优先选择状态是USABLE为可用S-Zone,能够确保每个S-Zone都写满数据,一方面,能够确保数据顺序写入,另一方面,提高整个磁盘的利用率。
如果选到S-Zone的状态为NULL,修改S-Zone状态为WRITING,标记归属根目录,以上信息都需保存到C-Zone中。
最后,将用户数据写入到S-Zone对应的block位置,每一个block都需要记录starttime,能够准确反映各个个block的留存期。
在另一些实施方式中,请参阅图4,为本申请提供的一种叠瓦式磁盘存储方法中另一流程图,还包括:
步骤S401,检测每个目标对象存储的根目录下所对应的留存期;
步骤S402,若某个Zone块内存储的最后一个数据块的结束时间小于留存期的删除期限,则清空所述Zone块内所有元数据,并修改该Zone块的状态为NULL;
步骤S403,若某个Zone块内存储的部分数据块的结束时间小于留存期的删除期限,则清空部分数据块对应的元数据,且不释放所述Zone块的存储空间。
具体地,由于每个根目录都设定了留存期,系统将自动检查,删除指定某一天(delete time)之前的所有文件;
如果S-Zone最后一个block的end time小于delete time,清理S-Zone的所有文件元数据信息,修改S-Zone状态为NULL。
如果S-Zone中部分block的end time小于delete time,只删除部分block对应的元数据信息。但是此类S-Zone空间并不释放。
在本实施例中,假设以2Mb/s的码流,写满一个64MB的时间(一字节8比特),需要256s,因此30天留存期场景,空间浪费为(256/2)/(3600*24*30)=0.005%,因此,采用上述存储方式,空间利用率非常高。
通过上述方式,在删除待删除数据时,根据留存期的时间节点进行判断,能够将晚于删除期限的所述有文件定点删除,而不必清空待删除数据所在的数据块,数据删除效率高。
在另一些实施方式中,还包括:
在所述根目录信息下创建预设规格大小的文件,所述文件分割成多个多个数据块;
根据根目录信息生成文件信息表,以所述文件名为key,创建k-v结构并保存到第二存储区;其中,详见表3为所述文件信息表包括文件名、Zone块编号、数据块编号与数据长度,通过文件信息表能够记录写入根目录下的文件中,在Zone块编号、数据块编号以及该数据块存储的数据长度;
根据所述根目录信息下Zone块的状态在所述文件内写入数据,并更新所述文件信息表。
表3-文件信息表
文件名 | S-Zone | block | Length(byte) |
a | 5 | 2 | 67108864 |
b | 7 | 1 | 67108864 |
具体地,创建文件需要指定大小,要求为64MB的整数倍,并按64MB分成多个block。
通常一个S-Zone的大小为256MB,以一个20T大小的SMR盘为例,S-Zone的个数大约有(20*1024*1024)MB*0.91*0.99/256MB=73800个,其中,0.91为各个厂家真实的存储系数,0.99为S-Zone在SMR磁盘内的占比系数,一个S-Zone会划分为256MB/64MB=4个block区域(为块区域,是最小存储和处理单位),最多可以保存4个block的数据信息。
需要说明的是,文件的元数据信息会保存保存到C-Zone中,在文件创建时,并不会占用block空间。
可选的,在另一些实施例中,还包括:
计算目标对象的校验值,其中,若计算得到的校验值与接收到的目标对象的校验值相同,表明目标对象完整,生成针对上述目标对象及上述目标对象所对应的数据块的索引信息。若计算得到的校验值与接收到的目标对象的校验值不同,表明目标对象在传输过程中出现了问题,返回表征目标对象传输错误的信息。
在另一些实施例中,长期运行后的文件创建写过程,还包括:
a创建obj-x文件
在根目录root下创建一个长度是64MB的文件,文件名为obj-x。
创建root的文件信息表,以文件名obj-x为key,创建k-v结构,保存到C-Zone区。
信息表包含有文件名、创建时间、预分配大小和实际文件大小信息。
b写obj-x文件
查询根目录root下所属状态为USABLE的S-Zone,假设获取到为S-Zone[k]。
假设S-Zone[k]只剩最后一个block可用,即,将该block编号为3。
修改S-Zone[k]的状态为WRITING
更新obj-x文件信息表的block信息为S-Zone[k].block[3]
c关闭obj-1文件
关闭文件obj-x时,更新obj-x文件信息表的实际长度;
由于S-Zone[k]的block已经用完,所以,修改S-Zone[k]的状态为FINISH。
具体地,在另一些实施例中,以视频监控文件的存储结构为例,例如,将一个文件名/carmera1/20210719/12093503.mp4,该文件大小为1GB,接收到的视频文件的操作流程如下:
(1)创建root根目录
用户创建根目录root,并指定容量500GB,留存期30天。
将以上根目录信息以根目录root为key值,创建k-v结构,保存到C-Zone区。
根目录root初始化完成时,在根目录下的归属S-Zone信息为空;所有S-Zone的状态均为NULL;且将根目录root信息同步更新到内存中。
(2)创建obj-1文件
在根目录root下创建一个长度是64MB的文件,文件名为obj-1。
创建root的文件信息表,以文件名obj-1为key,创建k-v结构,保存到C-Zone区。
其中,信息表包含文件名、创建时间、预分配大小与实际文件大小信息。
(3)写obj-1文件
由于根目录root下所对应的归属域S-Zone为空,从SMR磁盘上选中一个状态为NULL的S-Zone,例如,将其编号为0的S-Zone[0]。
将S-Zone[0]的状态改为WRITING,同时,修改S-Zone[0]归属于根目录root。
选中S-Zone[0]的第一个block,开始写入数据。
更新obj-1文件信息表中block信息为S-Zone[0]-block[0]
(4)关闭obj-1文件
关闭文件obj-1时,更新obj-1文件信息表的实际长度。
修改S-Zone[0]的状态为USABLE。
通过上述方式,从创建目录、创建文件、打开文件、写入数据以及关闭文件的操作流程,完整的展示了将目标视频文件通过分割成若干个小对象,以叠瓦式磁盘存储方式保存小对象过程,不仅提高了叠瓦式磁盘存储的效率,还优化了对象的管理方式。
在另一些实施例中,请参阅图4,为本申请提供的一种叠瓦式磁盘存储装置500结构框图;包括:
获取模块501,用于获取待存储的目标对象以及可读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;
根目录生成模块502,用于针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;
其中,所述根目录信息存储在第二存储区。
数据块生成模块503,用于将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;
其中,根据待存储的目标对象的文件大小将其分成多个预设规格的数据块;根据所述目录信息中的预分配容量按序划分多个Zone块,且每个所述Zone块支持存储多个数据块数据信息。
存储模块504,用于在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
在上述实施例的基础上,所述Zone块的状态包括NULL、WRITING、USABLE、FINISH,其中,NULL表示当前Zone块未被使用;WRITING表示当前Zone块正在被写入,已归属某个根目录;USABLE表示当前Zone块已经有数据,已归属某个根目录,且存在空余数据块;FINISH表示当前Zone块已归属某个根目录,没有空余数据块。
在上述实施例的基础上,还包括:当监测到所述Zone块的状态至少为以下任一状态时,写入数据:
所述Zone块的状态为NULL;
所述Zone块的状态为USABLE,且当前所述Zone块与当前待写入的目标对象为同一根目录,以及满足当前所述Zone块写入第一数据块的时间小于预设时限。
在上述实施例的基础上,还包括:
检测每个目标对象存储的根目录下所对应的留存期;
若某个Zone块内存储的最后一个数据块的结束时间小于留存期的删除期限,则清空所述Zone块内所有元数据,并修改该Zone块的状态为NULL;
若某个Zone块内存储的部分数据块的结束时间小于留存期的删除期限,则清空部分数据块对应的元数据,且不释放所述Zone块的存储空间。
在上述实施例的基础上,还包括:
在所述根目录信息下创建预设规格大小的文件,所述文件分割成多个多个数据块;
根据根目录信息生成文件信息表,以所述文件名为key,创建k-v结构并保存到第二存储区;其中,所述文件信息表包括文件名、Zone块编号、数据块编号与数据长度;
根据所述根目录信息下Zone块的状态在所述文件内写入数据,并更新所述文件信息表。
其中,需要说明的是,叠瓦式磁盘存储装置与叠瓦式磁盘存储方法为一一对应的关系,在此,各个模块与上述流程步骤所涉及的技术细节与技术效果均相同,在此不用一一赘述,请参照上述叠瓦式磁盘存储方法。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:步骤S101,获取待存储的目标对象以及用于读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;步骤S102,针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;步骤S103,将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;步骤S104,在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
综上所述,通过获取待存储的目标对象,针对第一存储区内的Zone块创建根目录并设置根目录信息;将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止;其中,利用根目录进行归属,加强了数据关联;将相同留存期数据块存储到同一个Zone块,不仅有利于数据管理,还有利于更快释放存储空间,同时,也避免了数据迁移,提高了空间利用率。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (8)
1.一种叠瓦式磁盘存储方法,其特征在于,所述方法包括以下步骤:
获取待存储的目标对象以及用于读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;
针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;
将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;所述Zone块的状态包括NULL、WRITING、USABLE、FINISH,其中,NULL表示当前Zone块未被使用;WRITING表示当前Zone块正在被写入,已归属某个根目录;USABLE表示当前Zone块已经有数据,已归属某个根目录,且存在空余数据块;FINISH表示当前Zone块已归属某个根目录,没有空余数据块;
当监测到所述Zone块的状态至少为以下任一状态时,写入数据:
所述Zone块的状态为NULL;
或,所述Zone块的状态为USABLE,且当前所述Zone块与当前待写入的目标对象为同一根目录,以及满足当前所述Zone块写入第一数据块的时间小于预设时限;
在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
2.根据权利要求1所述的叠瓦式磁盘存储方法,其特征在于,还包括:根据待存储的目标对象的文件大小将其分成多个预设规格的数据块;根据所述目录信息中的预分配容量按序划分多个Zone块,且每个所述Zone块支持存储多个数据块数据信息。
3.根据权利要求1或2所述的叠瓦式磁盘存储方法,其特征在于,所述根目录信息存储在第二存储区。
4.根据权利要求1所述的叠瓦式磁盘存储方法,其特征在于,还包括:
检测每个目标对象存储的根目录下所对应的留存期;
若某个Zone块内存储的最后一个数据块的结束时间小于留存期的删除期限,则清空所述Zone块内所有元数据,并修改该Zone块的状态为NULL;
若某个Zone块内存储的部分数据块的结束时间小于留存期的删除期限,则清空部分数据块对应的元数据,且不释放所述Zone块的存储空间。
5.根据权利要求1所述的叠瓦式磁盘存储方法,其特征在于,还包括:
在所述根目录信息下创建预设规格大小的文件,所述文件分割成多个数据块;
根据根目录信息生成文件信息表,以文件名为key,创建k-v结构并保存到第二存储区;其中,所述文件信息表包括文件名、Zone块编号、数据块编号与数据长度;
根据所述根目录信息下Zone块的状态在所述文件内写入数据,并更新所述文件信息表。
6.一种叠瓦式磁盘存储装置,其特征在于,所述装置包括:
获取模块,用于获取待存储的目标对象以及可读写的叠瓦式磁盘,其中,所述叠瓦式磁盘包含仅支持顺序读写的第一存储区与仅支持随机读写的第二存储区,所述第一存储区设有多个Zone块;
根目录生成模块,用于针对第一存储区内的Zone块创建根目录并设置根目录信息,所述根目录信息至少包括根目录名、预分配容量、留存期与创建时间;
数据块生成模块,用于将待存储的所述目标对象划分为多个数据块,根据所述目标对象的数据块个数确定相应的根目录信息;所述Zone块的状态包括NULL、WRITING、USABLE、FINISH,其中,NULL表示当前Zone块未被使用;WRITING表示当前Zone块正在被写入,已归属某个根目录;USABLE表示当前Zone块已经有数据,已归属某个根目录,且存在空余数据块;FINISH表示当前Zone块已归属某个根目录,没有空余数据块;
写入判断模块,用于当监测到所述Zone块的状态至少为以下任一状态时,写入数据:
所述Zone块的状态为NULL;
或,所述Zone块的状态为USABLE,且当前所述Zone块与当前待写入的目标对象为同一根目录,以及满足当前所述Zone块写入第一数据块的时间小于预设时限;
存储模块,用于在所述根目录信息下,将所述目标对象对应的数据块按照相同留存期的所述数据块存储同一个Zone块的规则依次存储,直至所述目标对象对应的数据块存储完为止。
7.一种电子设备,其特征在于:包括:
一个或多个处理装置;
存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1至5中任一所述叠瓦式磁盘存储方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于使所述计算机执行权利要求1至5中任一所述叠瓦式磁盘存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143114.8A CN113900590B (zh) | 2021-09-28 | 2021-09-28 | 叠瓦式磁盘存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143114.8A CN113900590B (zh) | 2021-09-28 | 2021-09-28 | 叠瓦式磁盘存储方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113900590A CN113900590A (zh) | 2022-01-07 |
CN113900590B true CN113900590B (zh) | 2023-01-31 |
Family
ID=79029696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111143114.8A Active CN113900590B (zh) | 2021-09-28 | 2021-09-28 | 叠瓦式磁盘存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900590B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114936188A (zh) * | 2022-05-30 | 2022-08-23 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115712389B (zh) * | 2022-10-28 | 2023-07-04 | 哈尔滨工业大学(深圳) | 一种数据存储介质间的调度方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548789A (zh) * | 2015-09-17 | 2017-03-29 | 伊姆西公司 | 用于操作叠瓦式磁记录设备的方法和装置 |
CN109445681A (zh) * | 2018-08-27 | 2019-03-08 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
CN109521959A (zh) * | 2018-11-01 | 2019-03-26 | 西安交通大学 | 一种基于ssd-smr磁盘混合键值存储系统数据组织方法 |
CN111506251A (zh) * | 2019-01-30 | 2020-08-07 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、smr存储系统及存储介质 |
CN113157600A (zh) * | 2021-03-08 | 2021-07-23 | 网宿科技股份有限公司 | 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017151211A1 (en) * | 2016-02-29 | 2017-09-08 | Microsemi Storage Solutions (U.S.), Inc. | Method and system for handling random access write requests for a shingled magnetic recording hard disk drive |
US10802726B2 (en) * | 2018-10-29 | 2020-10-13 | Microsoft Technology Licensing, Llc | Optimized placement of data contained in a garbage collected storage system |
-
2021
- 2021-09-28 CN CN202111143114.8A patent/CN113900590B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548789A (zh) * | 2015-09-17 | 2017-03-29 | 伊姆西公司 | 用于操作叠瓦式磁记录设备的方法和装置 |
CN109445681A (zh) * | 2018-08-27 | 2019-03-08 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
CN109521959A (zh) * | 2018-11-01 | 2019-03-26 | 西安交通大学 | 一种基于ssd-smr磁盘混合键值存储系统数据组织方法 |
CN111506251A (zh) * | 2019-01-30 | 2020-08-07 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、smr存储系统及存储介质 |
CN113157600A (zh) * | 2021-03-08 | 2021-07-23 | 网宿科技股份有限公司 | 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113900590A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113900590B (zh) | 叠瓦式磁盘存储方法、装置、设备及介质 | |
CN107180092B (zh) | 一种文件系统的控制方法、装置及终端 | |
CN110162525B (zh) | 基于b+树的读写冲突解决方法、装置及存储介质 | |
CN106575309B (zh) | 具有数据块共享的文件系统 | |
US8095728B2 (en) | Method and system for power aware I/O scheduling | |
US9424137B1 (en) | Block-level backup of selected files | |
CN111104063A (zh) | 一种数据存储方法、装置及电子设备和存储介质 | |
CN102982151B (zh) | 多个物理文件合并为一个逻辑文件的方法 | |
CN109804359A (zh) | 用于将数据回写到存储设备的系统和方法 | |
CN113568582A (zh) | 数据管理方法、装置和存储设备 | |
CN109947373A (zh) | 一种数据处理方法和装置 | |
CN113688139B (zh) | 对象存储方法、网关、设备及介质 | |
CN108304142A (zh) | 一种数据管理方法和装置 | |
CN113127438B (zh) | 用于存储数据的方法、装置、服务器和介质 | |
KR20150128714A (ko) | 최적화된 파일 조작을 위한 파일 그룹화 기법 | |
JP2021103584A (ja) | 磁気ディスクの管理方法、磁気ディスクの管理装置、電子機器、コンピュータプログラムおよびコンピュータ可読記憶媒体 | |
CN109189724A (zh) | 提高视频监控系统音视频数据存储效率的方法及装置 | |
CN100440383C (zh) | 外部存储性能测试方法和装置 | |
CN109558082B (zh) | 分布式文件系统 | |
CN103970671B (zh) | 用于在存储器中分配管理数据集的系统和方法 | |
CN110321321A (zh) | 网络块设备快照读写方法、装置、设备及存储介质 | |
CN115562595A (zh) | 一种卷创建方法及装置、卷读写方法及装置、电子设备 | |
CN107169012B (zh) | Poi推荐方法、装置、设备及计算机可读存储介质 | |
CN113360095B (zh) | 硬盘数据管理方法、装置、设备及介质 | |
CN107918654B (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 |