CN102567443B - 一种分布式文件系统数据分片换段的方法 - Google Patents
一种分布式文件系统数据分片换段的方法 Download PDFInfo
- Publication number
- CN102567443B CN102567443B CN2011103264756A CN201110326475A CN102567443B CN 102567443 B CN102567443 B CN 102567443B CN 2011103264756 A CN2011103264756 A CN 2011103264756A CN 201110326475 A CN201110326475 A CN 201110326475A CN 102567443 B CN102567443 B CN 102567443B
- Authority
- CN
- China
- Prior art keywords
- file
- hole
- cavity
- data
- tagged object
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式文件系统数据分片换段的方法,在每个文件分片的段中增加一个标记对象,所述标记对象用于存储该段中因磁盘空间不足而产生的文件空洞的信息;在标记对象头中预留空间,所述预留空间用于保存文件空洞在对象文件中的位置和在标记对象中位置的映射信息;读操作和写操作遇到文件空洞后,根据文件空洞类型作相应处理。本发明通过在文件空洞上增加标志位,使得读取和写入操作都不会因为文件洞导致操作失败,同时支持了文件存储换段的操作。
Description
技术领域
本发明涉及分布式文件系统中文件存储分片方式下磁盘空间分配和管理的一种策略,具体涉及了一种在面向对象存储的分布式文件系统中,数据分片存储模式下空间分片的一种策略。
背景技术
在文件系统中,数据空间的分配和管理都是一项比较关键的技术问题。在本地文件系统中,磁盘空间一般采用按需实时分配的策略。实时分配是当文件系统要写一块数据时,在磁盘上同时分配相应一个块的磁盘空间。这种策略保证了写到内存缓存中的数据不会因为磁盘空间不足而导致数据丢失。但是这种策略也使写新文件时,频繁调用空间分配器影响性能。
在新一代的一些比较先进文件系统上,普遍采用了预分配和延迟分配的策略。预分配和延迟分配都可以减少空间分配器的调用次数,减少开销。
在分布式文件系统中,文件的数据一般都通过分片的方式分布在多个数据服务器的多个磁盘上,一个文件保存在每个磁盘上的数据称为该文件的一个对象。通过分片的方式可以克服单个磁盘带宽的限制,使多个磁盘并发工作,提高整个磁盘的聚合带宽。
在这种基于对象的分布式文件系统中,只保存一个文件分布在哪个对象的信息,并没有保存该对象空间的一些信息。在这种模式下实际上都采用了延迟分配对象空间的策略。这种策略并没有对空间进行必要的管理。这种方式导致在一个分片空间不足时,需要切换到另一个数据段,也就是另一组磁盘分片中。当有文件空洞时,这种空间划分会导致仍然有磁盘空间不足的问题,从而产生磁盘访问数据的混乱。
发明内容
本发明的目的在于提供了一种方法可以保证应用层写到磁盘中的数据不会因为某个分片磁盘空间不足而导致数据丢失的情况,同时支持文件存储换段操作。
一种分布式文件系统数据分片换段的方法,
在每个文件分片的段中增加一个标记对象,所述标记对象用于存储该段中因磁盘空间不足而产生的文件空洞的信息;
在标记对象头中预留空间,所述预留空间用于保存文件空洞在对象文件中的位置和在标记对象中位置的映射信息;
读操作和写操作遇到文件空洞后,根据文件空洞类型作相应处理。
优选的,所述文件空洞由客户访问数据服务器的对象时产生。
优选的,所述文件空洞类型包括真洞与假洞,其中,所述真洞为通过lseek操作产生的文件空洞,所述假洞为由于磁盘空间不足而导致的文件空洞。
优选的,所述文件空洞为真洞或假洞标记在标记对象中。
优选的,所述标记在内核态或用户态实现。
优选的,所述读操作遇到文件空洞后的操作过程为:
在数据服务器判断该文件空洞的类型,若为真洞,则正常填0并返回;若为假洞,则重定向到标记对象,并根据标记对象头的地址信息来确定该页真实数据存放的位置,并读取。
优选的,所述写操作遇到文件空洞后的操作过程为:
客户端把缓存在内存中的数据刷回数据服务器时,如果磁盘空间不足,且该段并不是最后一个段,则把该对象所写页在底层文件系统的元数据中标记为假洞;同时把对该页的数据的写操作定向到标记对象上。
优选的,所述定向到标记对象上的过程为:首先在对象的头部添加位置映射信息,并把该数据写入标记对象中,且对特殊对象的写都是追加模式的写。
本发明通过在文件空洞上增加标志位,使得读取和写入操作都不会因为文件洞导致操作失败,同时支持了文件存储换段的操作。
具体实施方式
下面对本发明做进一步详细的描述:
在每个文件分片的段中增加一个标记对象,用来存储该段中因磁盘空间不足而产生的文件空洞。
在标记对象头中保存文件洞在对象文件中位置和在标记对象中位置的映射信息。这需要在标记对象的头中预留空间来保存这样的信息。
文件洞的标记:当因为磁盘空间不足而导致的文件洞称之为假洞,当通过lseek操作导致的文件洞为真的文件洞。在在访问数据服务器的对象时产生了洞,需要标记这两种不同的情况。只有假的文件洞才需要重定向到访问标记对象。这种方法在内核态实现比较方便,在用户态标记页是否是空洞比较困难,但都是可以实现的。
写操作流程
1)客户端把缓存在内存中的数据刷回数据服务器时,如果磁盘空间不足,并且该段并不是最后一个段,也就是已经换过段了,则把该对象写的页在底层文件系统的元数据中标记为假的空洞。
2)把对该页的数据的写操作定向到标记对象上,首先在对象的头部添加位置映射信息,并把该数据写入特殊的对象中,应该注意的是,对标记对象的写都是追加模式的写。
读操作流程
在没有文件洞的情况下的操作流程都是正常的读操作流程,当有文件洞时:
1)首先要在数据服务器上判断该文件洞时真洞还是假的洞,如果是真的文件洞,则正常的填0并返回。
2)如果标记文件洞为假洞,则要重定向到标记对象上根据对象头的地址信息来确定该页真实数据存放的位置,根据此来获取实际的数据。
Claims (5)
1.一种分布式文件系统数据分片换段的方法,其特征在于:
在每个文件分片的段中增加一个标记对象,所述标记对象用于存储该段中因磁盘空间不足而产生的文件空洞的信息;
在标记对象头中预留空间,所述预留空间用于保存文件空洞在对象文件中的位置和在标记对象中位置的映射信息;
读操作和写操作遇到文件空洞后,根据文件空洞类型作相应处理;
所述文件空洞由客户访问数据服务器的对象时产生;
所述文件空洞类型包括真洞与假洞,其中,所述真洞为通过lseek操作产生的文件空洞,所述假洞为由于磁盘空间不足而导致的文件空洞;
所述文件空洞为真洞或假洞标记在标记对象中。
2.如权利要求1所述的方法,其特征在于:所述标记在内核态或用户态实现。
3.如权利要求1所述的方法,其特征在于:所述读操作遇到文件空洞后的操作过程为:
在数据服务器判断该文件空洞的类型,若为真洞,则正常填0并返回;若为假洞,则重定向到标记对象,并根据标记对象头的地址信息来确定真实数据存放的位置,并读取。
4.如权利要求1所述的方法,其特征在于:所述写操作遇到文件空洞后的操作过程为:
客户端把缓存在内存中的数据刷回数据服务器时,如果磁盘空间不足,且该段并不是最后一个段,则把该对象所写页在底层文件系统的元数据中标记为假洞;同时把对该页的数据的写操作定向到标记对象上。
5.如权利要求4所述的方法,其特征在于:所述定向到标记对象上的过程为:首先在对象的头部添加位置映射信息,并把该数据写入标记对象中,且对特殊对象的写都是追加模式的写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103264756A CN102567443B (zh) | 2011-10-25 | 2011-10-25 | 一种分布式文件系统数据分片换段的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103264756A CN102567443B (zh) | 2011-10-25 | 2011-10-25 | 一种分布式文件系统数据分片换段的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567443A CN102567443A (zh) | 2012-07-11 |
CN102567443B true CN102567443B (zh) | 2013-11-13 |
Family
ID=46412867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103264756A Active CN102567443B (zh) | 2011-10-25 | 2011-10-25 | 一种分布式文件系统数据分片换段的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567443B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701907A (zh) * | 2013-12-27 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 服务器中的数据续传的处理方法及系统 |
CN103761268B (zh) * | 2014-01-06 | 2017-12-01 | 无锡城市云计算中心有限公司 | 一种分布式文件系统数据存储布局的方法 |
CN104933067A (zh) * | 2014-03-19 | 2015-09-23 | 中国移动通信集团公司 | 一种对文件系统和对象存储系统进行操作的方法及装置 |
CN106528328A (zh) * | 2016-10-10 | 2017-03-22 | 乐视控股(北京)有限公司 | 基于分布式存储系统的数据恢复方法、装置及系统 |
CN110324429A (zh) * | 2019-07-10 | 2019-10-11 | 中国工商银行股份有限公司 | 基于分布式数据存储的备份方法及备份装置 |
CN110531933B (zh) * | 2019-08-23 | 2022-06-17 | 北京浪潮数据技术有限公司 | 数据处理方法及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673271A (zh) * | 2008-09-09 | 2010-03-17 | 青岛海信传媒网络技术有限公司 | 分布式文件系统及其文件分片方法 |
-
2011
- 2011-10-25 CN CN2011103264756A patent/CN102567443B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102567443A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567443B (zh) | 一种分布式文件系统数据分片换段的方法 | |
US7478217B2 (en) | Method of storing both large and small files in a data storage device and data storage device thereof | |
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
US9047174B2 (en) | Method and system for hierarchically managing storage resources | |
CN101008919A (zh) | 基于裸设备的音视频数据存取方法和装置 | |
CN103116552A (zh) | 用于在分布式存储系统中分配存储空间的方法和装置 | |
CN102467408A (zh) | 一种虚拟机数据的访问方法和设备 | |
CN103514249A (zh) | 一种数据自精简方法和系统及存储装置 | |
CN102185929A (zh) | 一种基于san资源的视频监控数据存储方法及其装置 | |
JP2010079886A5 (zh) | ||
CN102541983A (zh) | 一种分布式文件系统中多客户端缓存同步的方法 | |
CN104239234B (zh) | 一种高效的本地缓存管理及读写方法 | |
CN107992430A (zh) | 闪存芯片的管理方法、装置及计算机可读存储介质 | |
CN103795801A (zh) | 一种基于实时应用集群的元数据集群设计方法 | |
CN103425435B (zh) | 磁盘存储方法及磁盘存储系统 | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件系统 | |
CN102521114A (zh) | 一种虚拟化环境下的文件系统日志存储系统 | |
CN102682108A (zh) | 一种行列混合的数据库存储方法 | |
CN110007870A (zh) | 一种存储设备写请求处理方法及相关装置 | |
CN109471843A (zh) | 一种元数据缓存方法、系统及相关装置 | |
CN103608784A (zh) | 网络卷创建方法、数据存储方法、存储设备和存储系统 | |
CN104850355A (zh) | 存储装置、存储系统及存储装置的地址信息处理方法 | |
CN102122284B (zh) | 一种复合文档存储、读写方法和装置 | |
WO2020155552A1 (zh) | 一种基于地址映射的单盘多用户物理隔离方法 | |
CN103713973A (zh) | 一种基于hdd和ssd的混合存储备份方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |