CN107656939A - 文件写入方法及装置 - Google Patents
文件写入方法及装置 Download PDFInfo
- Publication number
- CN107656939A CN107656939A CN201610597754.9A CN201610597754A CN107656939A CN 107656939 A CN107656939 A CN 107656939A CN 201610597754 A CN201610597754 A CN 201610597754A CN 107656939 A CN107656939 A CN 107656939A
- Authority
- CN
- China
- Prior art keywords
- file
- burst
- space
- write
- memory cell
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 claims abstract description 91
- 230000015654 memory Effects 0.000 claims description 82
- 238000009826 distribution Methods 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 16
- 239000012634 fragment Substances 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 7
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 239000002245 particle Substances 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000013467 fragmentation Methods 0.000 description 16
- 238000006062 fragmentation reaction Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 12
- 238000005457 optimization Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 6
- 230000002688 persistence Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101000802895 Dendroaspis angusticeps Fasciculin-1 Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101100523490 Dictyostelium discoideum rab8A gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文件写入方法及装置,其中,该方法包括:在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入,解决了相关技术中分布式文件***的读写性能低的问题,提高了分布式文件***的读写性能。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种文件写入方法及装置。
背景技术
分布式文件***应用于各类海量富媒体(例如:音视频)***的文件存储目前已非常普遍。随着高清、超清视频技术的不断演进和移动终端的接入带宽不断提升,导致各类富媒体***对外呈现的支持的用户并发路数以及单路用户数据带宽不断提升,除去应用层不断进行增加缓冲层(增加缓存大小)、以及不断优化提升音视频编解码算法之外,更多的是将上层应用的压力透传到存储***层,如采用更多的存储访问并发进程、更大的读写提交块大小、根据业务动作识别采取数据预取、采用零拷贝技术降低磁盘读取时的***资源消耗等。简言之,其对存储***(分布式文件存储***)层的整体性能或单存储服务节点性能(尤其是高吞吐带宽)以及访问效率,相比以往,也在呈现出越来越高的要求。
从分布式文件***视角,采用的存储服务器中的单存储介质设备(如单块3.5英寸SATA类磁盘)支持的存储容量不断提升但性能提升不明显,因此,在相同的存储容量下,如采用更大容量的单位存储介质,则传统的分布式文件***将出现由于存储介质设备数减少而导致整体性能下降的困扰。同时,在分布式文件***存储服务器上,文件***在经历长时间的写入和删除操作的情况下,对后续的文件读写性能会出现由于文件碎片化而导致的性能显著下降,严重时,会导致上层访问存储的业务出现卡顿或超时报错。
针对相关技术中分布式文件***的读写性能低的问题,目前还没有有效地解决方案。
发明内容
本发明实施例提供了一种文件写入方法及装置,以至少解决相关技术中分布式文件***的读写性能低的问题。
根据本发明的一个实施例,提供了一种文件写入方法,包括:在对文件进行写入之前,对所述文件的元数据和/或所述文件的至少一个分片要占用的空间进行预先占用,其中,所述文件分割为至少一个分片以进行分布式存储,所述文件的元数据至少包括所述文件的至少一个分片的存储的信息;根据预先占用的空间对所述文件的元数据和/或所述文件的分片文件进行写入。
可选地,所述元数据包括:所述文件的所有分片存在的位置信息,对所述文件的元数据要占用的空间进行预先占用包括:预测并获取所述文件的所有分片存放的位置信息;将所述所有分片存放的位置信息发送给进行所述文件写入的客户端,其中,所述位置信息用于使所述客户端直接将所述文件的分片写入到所述位置信息对应的存储单元上。
可选地,对所述文件的元数据进行写入包括:在所述文件的每一个分片写入完成之后,或者,在所述文件的所有分片写入完成之后,对所述文件的元数据进行更新。
可选地,对所述文件的至少一个分片进行预先占用包括:在对所述至少一个分片中的每个分片写入之前,对存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用。
可选地,在新写入所述文件的情况下,对所述存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用包括:对于预定分片对应的空间,在写开始阶段,根据所述预定的颗粒度进行连续一次或者最多两次追加式空间预先占用,其中,所述预定分片包括以下至少之一:所述文件对应的最后一个分片;小于所述存储单元上设置的分片尺寸的分片;对于满足所述存储单元上设置的分片尺寸的分片,根据所述存储单元上设置的分片尺寸进行一次性空间预先占用。
可选地,在追加写入所述文件的情况下,对所述存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用包括:根据所述文件追加写入内容的大小与被追加的原文件最后一个分片大小之和,与所述存储单元上设置的分片尺寸的大小进行空间预先占用。
可选地,根据所述追加写入内容的大小与被追加的原文件最后一个分片大小之和,与所述存储单元上设置的分片尺寸的大小进行空间预先占用包括以下至少之一:在所述和不超过所述存储单元上设置的分片尺寸的情况下,在写准备阶段,在所述被追加文件最后一个分片的基础上,进行一次或最多两次追加式空间预先占用;在所述和超过所述存储单元上设置的分片尺寸的情况下,在所述被追加文件最后一个分片之上进行一次分片追加式占用,预先占用所述被追加文件最后一个分片的大小等于所述存储单元上设置的分片尺寸,对于超出部分按照所述存储单元上设置的分片尺寸的粒度进行逐个分片的空间预先占用,对于最后一个小于所述存储单元上设置的分片的情况下,按照预定的颗粒度进行一次或最多两次追加式空间预先占用。
可选地,所述预定的颗粒度根据不同的业务目录进行配置。
可选地,还包括:以存储服务器为单位对所述存储服务器上的所有磁盘进行碎片检测得到第一检测结果;随机抽样对分片文件以及每个分片文件内部块分布情况进行检测得到第二检测结果;根据所述第一检测结果和所述第二检测结果进行碎片整理。
根据本发明的另一个实施例,提供了一种文件写入装置,包括:占用模块,用于在对文件进行写入之前,对所述文件的元数据和/或所述文件的至少一个分片要占用的空间进行预先占用,其中,所述文件分割为至少一个分片以进行分布式存储,所述文件的元数据至少包括所述文件的至少一个分片的存储的信息;写入模块,用于根据预先占用的空间对所述文件的元数据和/或所述文件的分片文件进行写入。
可选地,所述元数据包括:所述文件的所有分片存在的位置信息,所述占用模块包括:处理单元,用于预测并获取所述文件的所有分片存放的位置信息;发送单元,用于将所述所有分片存放的位置信息发送给进行所述文件写入的客户端,其中,所述位置信息用于使所述客户端直接将所述文件的分片写入到所述位置信息对应的存储单元上。
可选地,所述占用模块用于:在对所述至少一个分片中的每个分片写入之前,对存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用。
通过本发明,在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入,由此可见,采用上述方案在写入文件之前进行预先占用,再根据预先占用的空间对文件进行写入,因此,提高了分布式文件***的读写性能,从而解决了相关技术中分布式文件***的读写性能低的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种文件写入方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种文件写入方法的流程图;
图3是根据本发明实施例的一种文件写入装置的结构框图一;
图4是根据本发明实施例的一种文件写入装置的结构框图二;
图5是根据本发明可选实施例的分布式文件***的空间预占的架构的示意图;
图6是根据本发明可选实施例的基于新写文件空间预占的文件写入方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种文件写入方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的文件写入方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种文件写入方法,图2是根据本发明实施例的一种文件写入方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;
步骤S204,根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入。
可选地,上述文件写入方法可以但不限于应用于云存储的场景中。例如:基于分布式文件***的海量富媒体业务(对存储***)在WORM(或写少读多)模型下的大文件连续大块读写提交时的存储访问性能优化应用场景。
可选地,上述文件写入方法可以但不限于应用于分布式文件***,例如:网络文件***、Andrew***、KASS***、DFS***等。
通过上述步骤,在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入,由此可见,采用上述方案在写入文件之前进行预先占用,再根据预先占用的空间对文件进行写入,因此,提高了分布式文件***的读写性能,从而解决了相关技术中分布式文件***的读写性能低的问题。
可选地,元数据可以但不限于包括:文件的所有分片存在的位置信息,在上述步骤S202中,可以对文件的所有分片存放的位置信息进行预测,通过预测文件的所有分片存放的位置信息对元数据占用的空间进行预先占用。例如:预测并获取文件的所有分片存放的位置信息,将所有分片存放的位置信息发送给进行文件写入的客户端,其中,位置信息用于使客户端直接将文件的分片写入到位置信息对应的存储单元上。
通过上述步骤,支持分布式文件***文件层(即元数据)空间预占优化,间接提升元数据在持久化存储时的物理连续性,提升文件元数据写读效率,提升***整体性能。
可选地,可以但不限于通过以下方式之一对文件的元数据进行写入:
方式一,在文件的每一个分片写入完成之后,对文件的元数据进行更新。
方式二,在文件的所有分片写入完成之后,对文件的元数据进行更新。
可选地,在上述步骤S202中,可以但不限于根据存储单元上的预定的颗粒度和/或存储单元上设置的分片尺寸对文件的至少一个分片进行预先占用。例如:在对至少一个分片中的每个分片写入之前,对存储单元上的空间按照预定的颗粒度和/或存储单元上设置的分片尺寸进行空间预先占用。
通过上述步骤,支持分布式文件***文件分片层(即数据)空间预占优化,使文件内容在写入磁盘时尽量保持物理空间连续,提升后续文件内容的连续大块读性能,同时降低读取时的资源消耗,提升***整体性能。
可选地,在新写入文件的情况下,对于预定分片对应的空间,可以但不限于在写开始阶段,根据预定的颗粒度进行连续一次或者最多两次追加式空间预先占用,其中,预定分片包括以下至少之一:文件对应的最后一个分片;小于存储单元上设置的分片尺寸的分片;对于满足存储单元上设置的分片尺寸的分片,可以但不限于根据存储单元上设置的分片尺寸进行一次性空间预先占用。
可选地,在追加写入文件的情况下,可以但不限于根据文件追加写入内容的大小与被追加的原文件最后一个分片大小之和,与存储单元上设置的分片尺寸的大小进行空间预先占用。
可选地,在上述和不超过存储单元上设置的分片尺寸的情况下,在写准备阶段,在被追加的原文件最后一个分片的基础上,进行一次或最多两次追加式空间预先占用。
可选地,在上述和超过存储单元上设置的分片尺寸的情况下,在被追加文件最后一个分片之上进行一次分片追加式占用,预先占用被追加文件最后一个分片的大小等于存储单元上设置的分片尺寸,对于超出部分按照存储单元上设置的分片尺寸的粒度进行逐个分片的空间预先占用,对于最后一个小于存储单元上设置的分片的情况下,按照预定的颗粒度进行一次或最多两次追加式空间预先占用。
可选地,预定的颗粒度可以但不限于根据不同的业务目录进行配置。
可选地,还可以但不限于对***中的碎片进行整理。例如:以存储服务器为单位对存储服务器上的所有磁盘进行碎片检测得到第一检测结果,随机抽样对分片文件以及每个分片文件内部块分布情况进行检测得到第二检测结果,根据第一检测结果和第二检测结果进行碎片整理。
通过上述步骤,支持在分布式文件***存储层和元数据层各物理单元上进行本地文件***碎片检查和本地分片文件分布抽样检查,并按一定阀值和策略进行碎片整理,进一步提升***的整体性能。
实施例2
在本实施例中还提供了一种文件写入装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种文件写入装置的结构框图一,如图3所示,该装置包括:
占用模块32,用于在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;
写入模块34,耦合至占用模块32,用于根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入。
可选地,上述文件写入方法可以但不限于应用于云存储的场景中。例如:基于分布式文件***的海量富媒体业务(对存储***)在WORM(或写少读多)模型下的大文件连续大块读写提交时的存储访问性能优化应用场景。
可选地,上述文件写入方法可以但不限于应用于分布式文件***,例如:网络文件***、Andrew***、KASS***、DFS***等。
通过上述步骤,占用模块在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;写入模块根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入,由此可见,采用上述方案在写入文件之前进行预先占用,再根据预先占用的空间对文件进行写入,因此,提高了分布式文件***的读写性能,从而解决了相关技术中分布式文件***的读写性能低的问题。
图4是根据本发明实施例的一种文件写入装置的结构框图二,如图4所示,占用模块32包括:
处理单元42,用于预测并获取文件的所有分片存放的位置信息进行;
发送单元44,耦合至处理单元42,用于将所有分片存放的位置信息发送给进行文件写入的客户端,其中,位置信息用于使客户端直接将文件的分片写入到位置信息对应的存储单元上。
可选地,写入模块34用于:在文件的每一个分片写入完成之后,或者,在文件的所有分片写入完成之后,对文件的元数据进行更新。
可选地,占用模块32用于:在对至少一个分片中的每个分片写入之前,对存储单元上的空间按照预定的颗粒度和/或存储单元上设置的分片尺寸进行空间预先占用。
可选地,占用模块32用于:在新写入文件的情况下,对于预定分片对应的空间,在写开始阶段,根据预定的颗粒度进行连续一次或者最多两次追加式空间预先占用,其中,预定分片包括以下至少之一:文件对应的最后一个分片;小于存储单元上设置的分片尺寸的分片;对于满足存储单元上设置的分片尺寸的分片,根据存储单元上设置的分片尺寸进行一次性空间预先占用。
可选地,占用模块32用于:在追加写入文件的情况下,根据文件追加写入内容的大小与被追加的原文件最后一个分片大小之和,与存储单元上设置的分片尺寸的大小进行空间预先占用。
可选地,占用模块32用于以下至少之一:在和不超过存储单元上设置的分片尺寸的情况下,在写准备阶段,在被追加文件最后一个分片的基础上,进行一次或最多两次追加式空间预先占用;在和超过存储单元上设置的分片尺寸的情况下,在被追加文件最后一个分片之上进行一次分片追加式占用,预先占用被追加文件最后一个分片的大小等于存储单元上设置的分片尺寸,对于超出部分按照存储单元上设置的分片尺寸的粒度进行逐个分片的空间预先占用,对于最后一个小于存储单元上设置的分片的情况下,按照预定的颗粒度进行一次或最多两次追加式空间预先占用。
可选地,预定的颗粒度可以但不限于根据不同的业务目录进行配置。
可选地,该装置还用于:以存储服务器为单位对存储服务器上的所有磁盘进行碎片检测得到第一检测结果;随机抽样对分片文件以及每个分片文件内部块分布情况进行检测得到第二检测结果;根据第一检测结果和第二检测结果进行碎片整理。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
下面结合本发明可选实施例进行详细说明。
本发明可选实施例提供了一种在分布式文件***内针对写文件动作的磁盘空间预占的优化处理方法,通过空间预占方式使得写入的文件元数据块和数据块在物理空间排列相邻性上更连续,从而使得富媒体应用的在大块读提交时(跨度范围更大的预读)由于磁盘上数据存放的连续性使得读效率更高,从而提升分布式文件***在富媒体应用场景下读写性能,同时显著降低业务读写动作对元数据和数据存储服务对应的***资源占用。
不仅如此,该优化处理方法还包含对分布式文件***各存储模块所在设备的所有存储介质的碎片情况实时检测、分析与处理,进一步提升分布式文件***存储服务端存储介质的读写效率以及空间利用率。
分布式文件***通常情况下文件元数据和数据是分开管理与访问的,本可选实施例优化了分布式文件***中对文件数据层管理和访问流程以及与文件元数据层交互/处理的流程。
文件写入分布式文件***一般分为追加、覆盖和截断等三种情况,本可选实施例可以但不限于应用于其中的追加写的情况。对于用户在分布式文件***中进行文件追加写进一步可以细分为新写(特殊的追加写)和对现有已存在的文件进行追加写两种情况。
在分布式文件***中,对于文件的追加写,在接入层和元数据层交互完成之后,体现为接入层对数据存储层上文件分片的顺序创建(新写)或写打开(追加)方式的写动作,该顺序写动作将一个文件切分后的多个分片写入到数据存储层不同的物理服务器上,写动作完成后,每一个用户文件的文件数据划分为数据存储层的一个或多个分片文件,每个分片文件存放于一个单位存储介质(如一块磁盘,一个逻辑卷)上,多个分片文件所在的单位存储介质可跨不同服务器,也可以在同一个服务器内。对应每一个用户文件的元数据信息(上述文件数据分布信息)也在写动作完成后在元数据层进行相应的更新和持久化。写动作分为两层,一个是在用户文件层,包括按***命名空间(即元数据)配置和策略将一个文件切分为多个分片文件,确定每一个分片的位置(例如:分布到多个不同的物理服务器或同一物理存储服务器上的多个不同的卷)和其余属性(如:id、长度、时间、序列号、文件与分片的映射关系等),并将这些元数据进行持久化存储。另一个是分片文件层,对同一个分片文件内的多个不同数据块的写入,可以设计为聚合或串行提交。
为此,我们在文件写动作的两个层次上,分别引入存储空间预占的思想。
对于文件层的空间预占主要是指在分布式文件***的元数据模块中以并行的方式(或一次性)在文件创建时,预测性地获取文件对应的所有分片存放的位置,这些位置具体到存储层某个存储单元下的具体卷信息,获取成功之后,分布式文件***的元数据层将这些文件分布的元数据信息返回给接入层将要写文件的客户端(一个或并发的多个)。使得分布式文件***客户端在写文件过程中,直接与存储层中的各存储单元交互,将文件内容按上述分配的位置以多个分片文件的形式写入(或并行写入)到各存储单元的具体一个或多个卷上。当然,在每一个分片文件以及整个文件写入完成之后,需要采用同步或异步的方式更新对应的文件元数据信息。
对于每个分片文件层的空间预占主要是指在分布式文件***的数据存储模块(数据存储层)对每个分片文件,在文件内容写入之前对本地磁盘(即某个存储单元上的卷)空间按一定颗粒度进行空间预占,这里,需要对文件两种写方式进行区分:
1)新写(特殊的追加写)方式下的流程包括:
在分布式文件***中,chunk指文件分片,是分布式文件***中对用户文件切分存储的单位,在存储层以本地文件***实体文件形式存储在各存储服务单元。对用户文件对应的最后一个(或小于***设置的chunk分片尺寸的)chunk文件,其对应的磁盘空间,在文件数据写开始阶段,根据可配置磁盘预占颗粒度进行连续一次或最多两次追加式磁盘空间预占。对用户文件对应的其余的满足***设置的chunk分片尺寸的chunk文件,其对应的磁盘空间,在文件数据写开始阶段,直接按chunk分片尺寸(chunksize)进行一次性磁盘空间预占处理。
2)一般追加写(文件已存在)方式下的流程包括:
对于追加写入的文件内容大小,根据其大小加上文件最后一个chunk文件的大小与chunksize大小关系,进一步分为两种情况:
情况一,追加写入的内容大小加上源文件最后一个chunk文件大小不超过***设置的chunksize,对应的追加写磁盘空间,在文件数据写准备阶段,则在原来文件最后一个chunk文件的基础上,直接进行一次或最多两次追加式磁盘空间预占。
情况二,追加写入的文件内容大小(假定为s1)加上源文件最后一个chunk文件大小大于chunksize(假设为c),则在原文件最后一个chunk文件(假设为c1)之上进行一次chunk文件追加式预占,预占后该文件最后一个chunk文件大小等于chunksize。对于超出的追加写文件内容部分(s1+c1-c),则在文件内容按chunk开始写入时先按***的chunksize颗粒度,逐个chunk文件进行磁盘空间预占,对于最后不足一个chunksize大小的chunk文件,按空间预分配的颗粒度,最多进行两次磁盘预占操作。完整的流程为:a)先对文件最后一个chunk进行追加式磁盘空间预占,追加预占的大小为(c-c1);b)再进行共计(s1-(c-c1))/c个chunksize大小的chunk文件(有可能分布在不同的磁盘或不同的文件访问服务器(File Access Server,简称为FAS)节点上)磁盘空间预占;c)对剩余的最后一个chunk文件进行磁盘空间预占操作。
不仅如此,在两个层面对文件写入引入空间预占手段以提升文件读写性能的基础上,本可选实施例还在分布式文件***数据存储层增加了针对对各存储服务器本地文件***(通常基于XFS文件***)的碎片检测和整理。检测采用定时(业务非繁忙时间区间)策略方式,包含两个层面,以存储服务器为单位对其上所有磁盘进行碎片情况检测;以一定比例随机抽样chunk文件以及对每个chunk文件的内部文件块分布情况进行检测,chunk文件检测结果中包含该chunk文件的位置信息(位于哪个存储服务器的具体哪个卷/磁盘上);***综合两个层面的检测结果,依据可配置的本地文件***碎片(文件块分布情况)阈值、以及磁盘碎片整理策略(包含碎片比例情况与整理即刻相关度),决定是否需要对某一块(一些)磁盘进行何种策略的碎片整理。
3)在上述1)新写方式和上述2)一般追加写方式的基础之上,支持对不同业务的目录配置不同的空间预占策略,策略可以但不限于包含:磁盘预占颗粒度、是否开启空间预占等方面;满足同一套分布式文件***在承载多种不同业务的各自业务模型的需要。例如:存在三个不同的业务目录:/a、/b和/c,目录/a承载的业务(文件平均大小较大)要求预占颗粒度配置为8MB,目录/b承载的业务(文件平均大小较小)要求预占颗粒度配置为1MB,目录/c承载的业务(对读写性能无要求)要求不开启空间预占功能;则对于所有的以/a目录下文件及其子文件夹为目的文件写操作,其对应的元数据和数据在写时的空间预分配流程都以8MB为颗粒度进行;而对于所有的以/b目录下文件及其子文件夹为目的文件写操作,其对应的元数据和数据在写时的空间预分配流程都以1MB为颗粒度进行;对于所有的以/c目录下文件及其子文件夹为目的文件写操作,元数据和数据按原有的流程进行;上述设置在各个目录上独立进行,生效后三个目录在空间预占流程上互不干扰,独立生效。
下面分别以分片文件级空间预占和分片文件内数据块级空间预占为例说明在分布式文件***中的空间预占优化过程的详细过程:
在本可选实施例中,提供了一种针对文件层的空间预占的文件写入方法,该方法包括如下步骤:
步骤11,应用调用分布式文件***接口创建一个新文件成功(或带创建标记打开一个文件成功),返回一个有效的文件句柄。
步骤12,应用调用另一个分布式文件***文件预占接口对即将写入的文件进行空间(分布式文件***命名空间)预占操作,成功返回零,失败返回步骤11。
步骤13,步骤12文件预占调用成功,表明新文件在分布式文件***中对应的所有分片文件位置按***设置的分片文件大小以及分片文件空间预占颗粒度(包含存储单元和卷ID)分配/获取成功。
步骤14,步骤12文件预占调用失败,表明新文件在分布式文件***中对应的所有分片文件位置获取/分配失败,并视具体错误情况置错误码。
步骤15,步骤12文件预占调用成功,意味着步骤13中的对应的文件元数据记录空间预分配与设置(连续的元数据记录创建与更新)成功并进行相应的持久化,对应数据存储层并未创建实际的(基于存储单元本地文件***)分片文件。
步骤16,文件调用预占成功对应的元数据记录预分配设置的信息主要包含:文件名、文件节点、文件条目信息,文件与所有文件分片的映射关系信息、每个文件分片的具***置信息,其中文件映射关系信息与所有文件分片信息记录在表记录空间中是连续排列的,因此,在元数据持久化时这些元数据记录也是顺序放在同一个数据块或相邻的元数据块中的。
步骤17,对于这些调用文件预占接口成功的文件元数据的后续加载(版本上电)或访问来说,可根据当初创建时形成的持久化局部性规则(在同一个元数据块或相邻元数据块)进行读取优化(如元数据块预读),提升元数据加载或读效率,减少对磁盘的访问操作次数。
步骤18,文件的追加写无对应文件层空间预占流程。
在本可选实施例中,提供了一种针对分片文件层的空间预占的文件写入方法,该方法包括如下步骤:
步骤21,应用调用分布式文件***接口创建一个新文件成功,或写打开一个文件(为进行追加写)成功,返回一个有效的文件句柄,此时在文件层的空间(元数据)预占流程已完成。
步骤22,应用调用分布式文件***接口从头开始写文件内容,或先调用分布式文件***接口进行位置偏移(到文件末尾)再进行写文件内容。
步骤23,对于文件新写(即步骤22中的应用调用分布式文件***接口从头开始写文件内容),按文件层的空间预占流程中确定的文件分片所属物理位置和在文件中的分片顺序,判断当前要写的chunk是否为最后一个chunk,以及大小是否小于***设置的chunksize(假设为c)。
步骤24,如果当前要写内容的chunk其预分配(文件层的空间预占流程中确定的各个文件分片的大小)的大小为chunksize,则首先在(空间预占流程中确定的文件分片所属物理位置)服务器上创建该chunk文件,创建成功之后,在对应的服务器上进行磁盘空间一次性分配,分配的磁盘空间大小为c。
步骤25,如果当前要写内容的chunk其预分配的大小小于chunksize(通常这样的chunk是文件的最后一个chunk),假设该chunk的长度为c1(c1<c),假设***设置的分片文件层空间预分配的颗粒度为p(p为正整数,p<c且p大于等于存储层数据刷盘提交的缓存数据块大小),则为保证后续文件内容写入的最大连续性,也是保证后续顺序读时的磁盘性能表现,***对该chunk进行最多两次连续的磁盘空间分配,第一次分配的空间大小为:(c1/p)*p;如果c1无法整除p则还有第二次追加磁盘空间分配,第二次追加分配的空间大小为:roundup(c1-(c1/p)*p,0),将磁盘空间预占浪费控制为小于等于p的1个单位,其中,函数roundup(x,0)表示以个位为准对x向上取整。chunk文件在所属物理位置服务器上也是先创建,然后按上述大小进行一次或最多两次磁盘空间分配。
步骤26,对于文件追加写,如原文件最后一个chunk文件大小小于等于chunksize(假设为c2),同时,应用层通知分布式文件***此时要追加写入的文件内容大小(假设为s1),则分为:s1+c2<=c和这s1+c2>c两种情况,磁盘空间预占也分为两种。
步骤27,第一种情况,s1+c2<=c,则表示文件追加写入的内容大小加上源文件最后一个chunk文件大小不超过***的chunksize,此时,对文件的最后一个chunk文件先写打开,然后进行最多两次追加式磁盘预占操作,第一次大小为:(s1/p)*p;如果s1无法整除p则还有第二次追加磁盘空间分配,第二次追加分配的大小为:roundup(s1-(s1/p)*p,0),同样可将磁盘空间预占浪费控制为小于等于p的1个单位内。
步骤28,第二种情况,s1+c2>c,则表示文件追加写入的内容大小加上源文件最后一个chunk文件大小超过***的chunksize,此时,不仅需要对原来的最后一个chunk文件进行空间追加预占(如文件的最后一个chunk文件大小等于chunksize,则不需要),还需要对原文件新申请一个或多个新的chunk文件。该情况下,对原文件最后一个chunk文件的追加预占磁盘空间的大小为:(c-c2);新新申请一个或多个新的chunk文件的空间预占流程和大小同步骤24至步骤25。
步骤29,上述步骤24至步骤28分片文件磁盘空间预分配完成后,均需要向分布式文件***元数据层返回文件元数据更新的消息,元数据模块根据消息内容进行对应文件的元数据更新操作并进行相应的同步或异步持久化动作。
在本可选实施例中还提供了一种分布式文件***的空间预占的架构,图5是根据本发明可选实施例的分布式文件***的空间预占的架构的示意图,如图5所示,该架构包括:文件访问接入层服务集群、元数据服务层集群、数据存储服务层集群和空间预占优化***,其中,文件访问接入层服务集群与元数据服务层集群和数据存储服务层集群连接,元数据服务层集群与数据存储服务层集群连接,并且空间预占优化***与文件访问接入层服务集群、元数据服务层集群和数据存储服务层集群连接。文件访问接入层服务集群用于文件的写入与读取的接口,元数据服务层集群用于元数据的创建、持久化和读取优化,数据存储服务层集群包括存储介质资源池(例如:SATA1至SATAn,SAS1至SASn,NL-SAS1至NL-SASn)创建与管理,数据存储服务层集群用于本地文件***碎片检测以及分片文件抽样检测,空间预占优化***用于文件层空间预占、分片文件层磁盘空间预占、存储单元文件***碎片整理。
本可选实施例还提供了一种基于新写文件空间预占的文件写入方法,图6是根据本发明可选实施例的基于新写文件空间预占的文件写入方法的流程图,如图6所示,该流程包括如下步骤:
步骤S602,文件访问接入层中访问分布式文件***的应用程序(Application,简称为APP)向文件访问接入层中的文件访问客户端(File Access Client,简称为FAC)请求创建文件。
步骤S604,FAC向元数据管理层的元数据服务器目录数服务(Meta Data Server-Directory Tree Service,简称为MDS-DTS)请求创建文件。
步骤S606,FAC根据冗余与选卷策略向元数据管理层的元数据服务器文件分片位置寄存器(Meta Data Server File-fragment Location Register,简称为MDS-FLR)1至MDS-FLRn发送获取文件分片位置请求。
步骤S608,FAC接收MDS-FLR1至MDS-FLRn发送的获取文件分片位置响应。
步骤S610,FAC接收MDS-DTS发送的创建文件响应。
步骤S612,FAC向APP发送创建文件响应。
步骤S614,FAC接收APP发送的写文件内容。
步骤S616,FAC向MDS-DTS发送获取文件分片(写入)具体所在存储位置请求。
步骤S618,FAC向数据存储层的文件访问服务器(File Access Server,简称为FAS)-1至FAS-n请求创建分片文件并预占磁盘空间。
步骤S620,FAC接收FAS-1至FAS-n发送的创建分片文件并预占磁盘空间响应。
步骤S622,FAC在FAS-1至FAS-n中进行分片文件写入。
步骤S624,FAC接收FAS-1至FAS-n发送的分片文件写入响应。
步骤S626,FAC根据接收到的分片文件写入响应更新MDS-DTS和MDS-FLR上的元数据信息。
步骤S628,FAC向APP发送响应。
综上所述,利用本发明实施例和可选实施例提供的文件写入的方法及装置,在相同的资源占用率的情况下,富媒体大文件读写(特别是读)性能更高,或是相同的性能表现下***的资源占用率更低。其次,支持基于不同业务目录进行不同空间预占策略配置的方式,相比固定空间预占方式,使得分布式文件***的磁盘存储空间具有更高的空间利用率和更好的多业务并发承载满足度。此外,使得分布式文件***的物理存储具有更低的部署成本和更低的运维成本。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
实施例3
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,在对文件进行写入之前,对文件的元数据和/或文件的至少一个分片要占用的空间进行预先占用,其中,文件分割为至少一个分片以进行分布式存储,文件的元数据至少包括文件的至少一个分片的存储的信息;
S2,根据预先占用的空间对文件的元数据和/或文件的分片文件进行写入。
可选地,存储介质还被设置为存储用于执行上述实施例记载的方法步骤的程序代码:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种文件写入方法,其特征在于,包括:
在对文件进行写入之前,对所述文件的元数据和/或所述文件的至少一个分片要占用的空间进行预先占用,其中,所述文件分割为至少一个分片以进行分布式存储,所述文件的元数据至少包括所述文件的至少一个分片的存储的信息;
根据预先占用的空间对所述文件的元数据和/或所述文件的分片文件进行写入。
2.根据权利要求1所述的方法,其特征在于,所述元数据包括:所述文件的所有分片存在的位置信息,对所述文件的元数据要占用的空间进行预先占用包括:
预测并获取所述文件的所有分片存放的位置信息;
将所述所有分片存放的位置信息发送给进行所述文件写入的客户端,其中,所述位置信息用于使所述客户端直接将所述文件的分片写入到所述位置信息对应的存储单元上。
3.根据权利要求2所述的方法,其特征在于,对所述文件的元数据进行写入包括:
在所述文件的每一个分片写入完成之后,或者,在所述文件的所有分片写入完成之后,对所述文件的元数据进行更新。
4.根据权利要求1所述的方法,其特征在于,对所述文件的至少一个分片进行预先占用包括:
在对所述至少一个分片中的每个分片写入之前,对存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用。
5.根据权利要求4所述的方法,其特征在于,在新写入所述文件的情况下,对所述存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用包括:
对于预定分片对应的空间,在写开始阶段,根据所述预定的颗粒度进行连续一次或者最多两次追加式空间预先占用,其中,所述预定分片包括以下至少之一:所述文件对应的最后一个分片;小于所述存储单元上设置的分片尺寸的分片;
对于满足所述存储单元上设置的分片尺寸的分片,根据所述存储单元上设置的分片尺寸进行一次性空间预先占用。
6.根据权利要求4所述的方法,其特征在于,在追加写入所述文件的情况下,对所述存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用包括:
根据所述文件追加写入内容的大小与被追加的原文件最后一个分片大小之和,与所述存储单元上设置的分片尺寸的大小进行空间预先占用。
7.根据权利要求6所述的方法,其特征在于,根据所述追加写入内容的大小与被追加的原文件最后一个分片大小之和,与所述存储单元上设置的分片尺寸的大小进行空间预先占用包括以下至少之一:
在所述和不超过所述存储单元上设置的分片尺寸的情况下,在写准备阶段,在所述被追加文件最后一个分片的基础上,进行一次或最多两次追加式空间预先占用;
在所述和超过所述存储单元上设置的分片尺寸的情况下,在所述被追加文件最后一个分片之上进行一次分片追加式占用,预先占用所述被追加文件最后一个分片的大小等于所述存储单元上设置的分片尺寸,对于超出部分按照所述存储单元上设置的分片尺寸的粒度进行逐个分片的空间预先占用,对于最后一个小于所述存储单元上设置的分片的情况下,按照预定的颗粒度进行一次或最多两次追加式空间预先占用。
8.根据权利要求4至7中任一项所述的方法,其特征在于,所述预定的颗粒度根据不同的业务目录进行配置。
9.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:
以存储服务器为单位对所述存储服务器上的所有磁盘进行碎片检测得到第一检测结果;
随机抽样对分片文件以及每个分片文件内部块分布情况进行检测得到第二检测结果;
根据所述第一检测结果和所述第二检测结果进行碎片整理。
10.一种文件写入装置,其特征在于,包括:
占用模块,用于在对文件进行写入之前,对所述文件的元数据和/或所述文件的至少一个分片要占用的空间进行预先占用,其中,所述文件分割为至少一个分片以进行分布式存储,所述文件的元数据至少包括所述文件的至少一个分片的存储的信息;
写入模块,用于根据预先占用的空间对所述文件的元数据和/或所述文件的分片文件进行写入。
11.根据权利要求10所述的装置,其特征在于,所述元数据包括:所述文件的所有分片存在的位置信息,所述占用模块包括:
处理单元,用于预测并获取所述文件的所有分片存放的位置信息;
发送单元,用于将所述文件所有分片存放的位置信息发送给进行所述文件写入的客户端,其中,所述位置信息用于使所述客户端直接将所述文件的分片写入到所述位置信息对应的存储单元上。
12.根据权利要求10所述的装置,其特征在于,所述占用模块用于:
在对所述至少一个分片中的每个分片写入之前,对存储单元上的空间按照预定的颗粒度和/或所述存储单元上设置的分片尺寸进行空间预先占用。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610597754.9A CN107656939A (zh) | 2016-07-26 | 2016-07-26 | 文件写入方法及装置 |
PCT/CN2017/094489 WO2018019255A1 (zh) | 2016-07-26 | 2017-07-26 | 文件写入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610597754.9A CN107656939A (zh) | 2016-07-26 | 2016-07-26 | 文件写入方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107656939A true CN107656939A (zh) | 2018-02-02 |
Family
ID=61016423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610597754.9A Pending CN107656939A (zh) | 2016-07-26 | 2016-07-26 | 文件写入方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107656939A (zh) |
WO (1) | WO2018019255A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492425A (zh) * | 2018-09-30 | 2019-03-19 | 南京中铁信息工程有限公司 | 一种在分布式文件***上的worm技术应用方法 |
WO2019137321A1 (zh) * | 2018-01-09 | 2019-07-18 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
WO2019157929A1 (zh) * | 2018-02-13 | 2019-08-22 | 阿里巴巴集团控股有限公司 | 一种文件处理方法、装置及设备 |
CN110245119A (zh) * | 2018-11-02 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种文件整理方法及存储*** |
CN111046014A (zh) * | 2019-12-24 | 2020-04-21 | 广州众鑫达科技有限公司 | 文件分布式存储***、方法、装置及电子设备 |
CN111209257A (zh) * | 2020-01-15 | 2020-05-29 | 西安奥卡云数据科技有限公司 | 一种文件***碎片化的方法及装置 |
CN111651419A (zh) * | 2020-06-05 | 2020-09-11 | 杭州海康威视***技术有限公司 | 数据存储方法、装置及存储介质 |
CN111831752A (zh) * | 2020-07-20 | 2020-10-27 | 北京百度网讯科技有限公司 | 分布式数据库的空间整理方法、装置、设备以及存储介质 |
CN112115113A (zh) * | 2020-09-25 | 2020-12-22 | 北京百度网讯科技有限公司 | 数据存储***、方法、装置、设备以及存储介质 |
CN113064859A (zh) * | 2021-03-26 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种元数据处理方法、装置及电子设备和存储介质 |
CN113986838A (zh) * | 2021-12-28 | 2022-01-28 | 成都云祺科技有限公司 | 基于文件***的海量小文件处理方法、***及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828719B (zh) * | 2018-12-15 | 2022-04-01 | 平安科技(深圳)有限公司 | 基于云监控的commitLog文件所在磁盘控制方法、装置及相关设备 |
CN112181899A (zh) * | 2019-07-05 | 2021-01-05 | 中兴通讯股份有限公司 | 一种元数据的处理方法、装置及计算机可读存储介质 |
CN110531933B (zh) * | 2019-08-23 | 2022-06-17 | 北京浪潮数据技术有限公司 | 数据处理方法及服务器 |
CN113568883B (zh) * | 2021-07-29 | 2024-06-04 | 上海哔哩哔哩科技有限公司 | 数据写入方法及装置 |
CN115826865A (zh) * | 2022-12-07 | 2023-03-21 | 安世数擎(杭州)信息科技服务有限公司 | 一种适用于大规模跨域机群文件的管理***及方法 |
CN116028327B (zh) * | 2023-02-20 | 2023-06-13 | 成都佰维存储科技有限公司 | 文件***读写性能测试方法、装置、可读存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188128B1 (en) * | 2003-12-12 | 2007-03-06 | Veritas Operating Corporation | File system and methods for performing file create and open operations with efficient storage allocation |
CN102023810A (zh) * | 2009-09-10 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种写数据的方法、装置以及廉价冗余磁盘阵列 |
CN104268096A (zh) * | 2014-09-26 | 2015-01-07 | 西南科技大学 | 基于内存预分配和多点并写技术的大规模点云数据快速读取方法 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100517335C (zh) * | 2007-10-25 | 2009-07-22 | 中国科学院计算技术研究所 | 一种分布式文件***的文件写入***和方法 |
CN102073739A (zh) * | 2011-01-25 | 2011-05-25 | 中国科学院计算技术研究所 | 带有快照功能的分布式文件***中的数据读与数据写方法 |
CN103116552B (zh) * | 2013-03-18 | 2017-03-15 | 华为技术有限公司 | 用于在分布式存储***中分配存储空间的方法和装置 |
CN104731886B (zh) * | 2015-03-12 | 2018-11-20 | 深圳市连用科技有限公司 | 一种海量小文件的处理方法及*** |
-
2016
- 2016-07-26 CN CN201610597754.9A patent/CN107656939A/zh active Pending
-
2017
- 2017-07-26 WO PCT/CN2017/094489 patent/WO2018019255A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188128B1 (en) * | 2003-12-12 | 2007-03-06 | Veritas Operating Corporation | File system and methods for performing file create and open operations with efficient storage allocation |
CN102023810A (zh) * | 2009-09-10 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种写数据的方法、装置以及廉价冗余磁盘阵列 |
CN104268096A (zh) * | 2014-09-26 | 2015-01-07 | 西南科技大学 | 基于内存预分配和多点并写技术的大规模点云数据快速读取方法 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11354050B2 (en) | 2018-01-09 | 2022-06-07 | Alibaba Group Holding Limited | Data processing method, apparatus, and computing device |
WO2019137321A1 (zh) * | 2018-01-09 | 2019-07-18 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
WO2019157929A1 (zh) * | 2018-02-13 | 2019-08-22 | 阿里巴巴集团控股有限公司 | 一种文件处理方法、装置及设备 |
CN109492425A (zh) * | 2018-09-30 | 2019-03-19 | 南京中铁信息工程有限公司 | 一种在分布式文件***上的worm技术应用方法 |
CN110245119A (zh) * | 2018-11-02 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种文件整理方法及存储*** |
US12001399B2 (en) | 2018-11-02 | 2024-06-04 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for storage medium management |
CN111046014A (zh) * | 2019-12-24 | 2020-04-21 | 广州众鑫达科技有限公司 | 文件分布式存储***、方法、装置及电子设备 |
CN111209257A (zh) * | 2020-01-15 | 2020-05-29 | 西安奥卡云数据科技有限公司 | 一种文件***碎片化的方法及装置 |
CN111651419A (zh) * | 2020-06-05 | 2020-09-11 | 杭州海康威视***技术有限公司 | 数据存储方法、装置及存储介质 |
CN111651419B (zh) * | 2020-06-05 | 2023-10-20 | 杭州海康威视***技术有限公司 | 数据存储方法、装置及存储介质 |
CN111831752A (zh) * | 2020-07-20 | 2020-10-27 | 北京百度网讯科技有限公司 | 分布式数据库的空间整理方法、装置、设备以及存储介质 |
CN111831752B (zh) * | 2020-07-20 | 2024-06-04 | 北京百度网讯科技有限公司 | 分布式数据库的空间整理方法、装置、设备以及存储介质 |
CN112115113A (zh) * | 2020-09-25 | 2020-12-22 | 北京百度网讯科技有限公司 | 数据存储***、方法、装置、设备以及存储介质 |
CN113064859A (zh) * | 2021-03-26 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种元数据处理方法、装置及电子设备和存储介质 |
CN113986838A (zh) * | 2021-12-28 | 2022-01-28 | 成都云祺科技有限公司 | 基于文件***的海量小文件处理方法、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018019255A1 (zh) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656939A (zh) | 文件写入方法及装置 | |
CN108287669B (zh) | 数据存储方法、装置及存储介质 | |
CN103064639B (zh) | 数据存储方法及装置 | |
US8171251B2 (en) | Data storage management method and device | |
US10852966B1 (en) | System and method for creating mapped RAID group during expansion of extent pool | |
US9189494B2 (en) | Object file system | |
CN104778222B (zh) | 基于usb存储设备的媒体库建立及更新方法 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN111475483A (zh) | 数据库迁移方法、装置及计算设备 | |
CN103049574B (zh) | 实现文件动态副本的键值文件***及方法 | |
CN110147203A (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN109840051B (zh) | 一种存储***的数据存储方法及装置 | |
CN112463058B (zh) | 一种碎片数据整理方法、装置及存储节点 | |
CN110177142A (zh) | 一种数据同步方法、装置及电子设备 | |
CN108153759A (zh) | 一种分布式数据库的数据传输方法、中间层服务器及*** | |
CN113836116A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN108646987A (zh) | 一种文件卷的管理方法、装置、存储介质及终端 | |
CN108132759A (zh) | 一种文件***中管理数据的方法和装置 | |
CN107479827A (zh) | 一种基于io和元数据分离的混合存储***实现方法 | |
CN105844171B (zh) | 用来进行档案同步控制的方法与装置 | |
CN109857519A (zh) | 虚拟磁盘的处理方法及相关装置 | |
CN114036104A (zh) | 基于分布式存储的重删数据的云归档方法、装置及*** | |
CN114428764A (zh) | 文件写入方法、***、电子设备及可读存储介质 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180424 Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No. Applicant after: ZTE Corp. Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68 Applicant before: Nanjing Zhongxing New Software Co.,Ltd. |
|
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: 20180202 |