CN101783814A - 海量存储系统的元数据存储方法 - Google Patents
海量存储系统的元数据存储方法 Download PDFInfo
- Publication number
- CN101783814A CN101783814A CN200910312538A CN200910312538A CN101783814A CN 101783814 A CN101783814 A CN 101783814A CN 200910312538 A CN200910312538 A CN 200910312538A CN 200910312538 A CN200910312538 A CN 200910312538A CN 101783814 A CN101783814 A CN 101783814A
- Authority
- CN
- China
- Prior art keywords
- file
- metadata
- object storage
- striping
- storage equipment
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种网络存储技术领域的海量存储系统的元数据存储方法,包括以下步骤:第一步,元数据服务器接收到创建文件的请求时,完成新创建文件中元数据的存储,当元数据服务器接收到写文件的请求时,执行第二步;当元数据服务器接收到读文件的请求时,执行第三步;第二步,根据要写入文件的写偏移量U确定写入元数据所在的对象存储设备的序列OS-x,进而向OS-x写入数据;第三步,根据要读取文件的读偏移量V确定读取元数据所在的对象存储设备的序列OS-y,进而从OS-y读取数据。本发明于对海量存储系统中元数据的存储提供了更大的灵活性和更好的负载均衡潜力,简化了存储的复杂度并提高了效率。
Description
技术领域
本发明涉及的是一种网络存储技术领域的方法,具体是一种海量存储系统的元数据存储方法。
背景技术
海量存储系统是一种大容量的网络存储系统,向外部提供基于文件的访问方式。其它计算机设备通过网络接口来访问海量存储系统,向其写入文件或读取文件。为了提供更大的容量和更高的性能,海量存储系统往往采用分布式架构。目前新型的海量存储系统都采用元数据和数据分离的存储方式,该方法能够防止元数据服务器成为性能瓶颈,系统具有更好的可扩展能力。这类系统中,系统的节点有2种类型:元数据服务器和对象存储设备。元数据服务器管理存储系统的命名空间,实现文件的创建、删除等操作,并实现文件元数据的管理。对象存储设备对外提供基于对象的访问接口。对象是类似于文件的容器,可以存储数据。海量存储系统中的数据采用条带化方式存储,在该方式中,同一文件的数据被划分为相同大小的对象,该大小称为条带化大小,分别存储在多个对象存储设备上,所选择对象存储设备的数目称为条带化宽度。
元数据服务器为了管理文件,需要记录文件的一些管理信息,如创建者,文件类型、访问权限、读写时间、以及文件的数据在存储系统中的地址信息,这类管理信息称为元数据。在海量存储系统中,元数据服务器记录的文件的地址信息包括文件被划分为哪几个对象,以及每个对象存储在哪一个对象存储设备上。元数据的组织和管理是元数据服务器的核心任务,直接影响着海量存储系统的性能和灵活性。
经对现有文献检索发现,在目前已有的海量存储系统中,有些系统将每个文件的多个对象保存在多个连续的对象存储设备中,如PVFS系统(《PVFS:A Parallel Virtual FileSystem for Linux Clusters(一种用于Linux集群系统的并行虚拟文件系统)》),这种方式难以实现对象存储设备的负载均衡,且对象服务器必须以连续方式编号,缺乏灵活性;有些在元数据中显式记录文件的每个对象所在的对象存储设备,如Luster系统(见《LusterFile system whitepaper(Luster文件系统白皮书)》)和Panasas系统(见《ScalablePerformance of the Panasas Parallel File System(Panasas并行文件系统的可扩展性能)》),该技术的缺点在于当文件大小增加时,元数据信息量将相应增加,增加了存储开销,在读取文件时需要执行查找过程,增加了计算开销;Ceph系统(见《Ceph:A Scalable,High-Performance Distributed File System(Ceph:一个可扩展、高性能分布式文件系统)》)中采用哈希计算方式,文件的每个对象被随机分布到不同的对象存储设备,其不足之处在于当动态增加对象存储设备的数量时,所有以前计算的值都需要重新计算,导致大量的计算工作和数据迁移。
发明内容
本发明的目的在于克服现有技术存在的上述不足,提供一种海量存储系统的元数据存储方法。本发明通过使用确定的分布方法来确定文件数据的存储地址,且不要求同一文件的多个对象必须存放在连续的对象存储设备上,也允许动态扩充对象存储设备,提高了海量存储系统中元数据存储的效率和灵活性。
本发明是通过以下技术方案实现的,包括以下步骤:
第一步,元数据服务器接收到创建文件的请求时,完成新创建文件中元数据的存储,当元数据服务器接收到写文件的请求时,执行第二步;当元数据服务器接收到读文件的请求时,执行第三步。
所述的新创建文件中元数据的存储是:
1)根据要求确定新创建文件的条带化大小S和条带化宽度W;
所述的条带化大小S的单位是字节,范围是大于0的整数。
所述的条带化宽度W的范围是大于0的整数。
2)根据要求选择用于存储新创建文件的对象存储设备,且该对象存储设备的数量等于条带化宽度W;
3)将得到的条带化大小S、条带化宽度W和选择的对象存储设备信息保存到新创建文件的元数据中。
第二步,根据要写入文件的写偏移量U确定写入元数据所在的对象存储设备的序列OS-x,进而向选定的文件数据(对象)所在的对象存储设备OS-x写入数据,其中:x代表大于0且小于等于条带化宽度W的整数。
所述的确定写入元数据所在的对象存储设备的序列OS-x是:
当(n-1)S<U<nS-1时,OS-x选为OS-n,即x代表n,其中:n是大于0且小于等于条带化宽度W的整数,S是条带化大小。
第三步,根据要读取文件的读偏移量V确定读取元数据所在的对象存储设备的序列OS-y,进而从选定的文件数据(对象)所在的对象存储设备OS-y读取数据,其中:y代表大于0且小于等于条带化宽度W的整数。
所述的确定读取元数据所在的对象存储设备的序列OS-y是:
当(m-1)S<V<mS-1时,OS-y选为OS-m,即y代表m,其中:m是大于0且小于等于条带化宽度W的整数,S是条带化大小。
与现有技术相比,本发明的有益效果是:文件的元数据中显式记录了存储该文件对象数据的所有对象存储设备,该设备序列是有序的,文件的多个对象依次、循环分布到该对象设备序列上,提供了更大的灵活性和更好的负载均衡潜力,且不需要对已保存在存储系统中的文件数据进行迁移,也不需要修改保存在元数据服务器上的已有文件的元数据,简化了存储的复杂度并提高了效率。
附图说明
图1是本发明第一步的流程框图;
图2是本发明第二步的流程框图;
图3是本发明第三步的流程框图。
具体实施方式
以下结合附图对本发明的方法进一步描述:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
本实施例用于包括1个元数据服务器和128个对象存储设备的海量存储系统的元数据存储,包括以下步骤:
第一步,如图1所示,元数据服务器接收到创建文件foo.bar的请求时,完成新创建文件中元数据的存储,当元数据服务器接收到写文件的请求时,执行第二步;当元数据服务器接收到读文件的请求时,执行第三步。
所述的新创建文件中元数据的存储是:
1)根据要求确定新创建文件foo.bar的条带化大小S和条带化宽度W,本实施例中条带化大小S为65536字节,条带化宽度W为5;
2)根据要求选择用于存储新创建文件foo.bar的对象存储设备,且该对象存储设备的数量等于条带化宽度W,本实施例选择的对象存储设备共5个,分别记为OS-A、OS-B、OS-E、OS-M和OS-N,其中:A、B、E、M和N分别代表1、2、3、4和5。
3)将得到的条带化大小S、条带化宽度W和选择的对象存储设备信息保存到新创建文件foo.bar的元数据中。
第二步,如图2所示,元数据服务器接收到一个写文件foo.bar的请求,欲写入的写偏移量U是75536,由于65536<75536<131071,即S<U<2S-1,所以确定写入元数据所在的对象存储设备的序列OS-B,进而向选定的文件数据(对象)所在的对象存储设备OS-B写入数据。
第三步,如图3所示,元数据服务器接收到一个读文件foo.bar的请求,欲读取的读偏移量V是20036,由于0<20036<65535,即0<V<S-1,所以确定读取元数据所在的对象存储设备的序列是OS-A,进而从选定的文件数据(对象)所在的对象存储设备OS-A读取数据。
本实施例的优点:通过使用确定的分布方法来确定文件数据的存储地址,且不要求同一文件的多个对象必须存放在连续的对象存储设备上,也允许动态扩充对象存储设备,提高了海量存储系统中元数据存储的效率和灵活性;文件的元数据中显示记录了存储该文件对象数据的所有对象存储设备,该设备序列是有序的,文件的多个对象依次、循环分布到该对象设备序列上,提供了更大的灵活性和更好的负载均衡潜力,且不需要对已保存在存储系统中的文件数据进行迁移,也不需要修改保存在元数据服务器上的已有文件的元数据,简化了存储的复杂性并提高了效率。
Claims (4)
1.一种海量存储系统的元数据存储方法,其特征在于,包括以下步骤:
第一步,元数据服务器接收到创建文件的请求时,完成新创建文件中元数据的存储,当元数据服务器接收到写文件的请求时,执行第二步;当元数据服务器接收到读文件的请求时,执行第三步;
第二步,根据要写入文件的写偏移量U确定写入元数据所在的对象存储设备的序列OS-x,进而向选定的文件数据所在的对象存储设备OS-x写入数据,其中:x代表大于0且小于等于条带化宽度W的整数;
第三步,根据要读取文件的读偏移量V确定读取元数据所在的对象存储设备的序列OS-y,进而从选定的文件数据所在的对象存储设备OS-y读取数据,其中:y代表大于0且小于等于条带化宽度W的整数。
2.根据权利要求1所述的海量存储系统的元数据存储方法,其特征是,所述的新创建文件中元数据的存储是:
1)根据要求确定新创建文件的条带化大小S和条带化宽度W;
2)根据要求选择用于存储新创建文件的对象存储设备,且该对象存储设备的数量等于条带化宽度W;
3)将得到的条带化大小S、条带化宽度W和选择的对象存储设备信息保存到新创建文件的元数据中。
3.根据权利要求1所述的海量存储系统的元数据存储方法,其特征是,所述的确定写入元数据所在的对象存储设备的序列OS-x是:
当(n-1)S<U<nS-1时,OS-x选为OS-n,即x代表n,其中:n是大于0且小于等于条带化宽度W的整数。
4.根据权利要求1所述的海量存储系统的元数据存储方法,其特征是,所述的确定读取元数据所在的对象存储设备的序列OS-y是:
当(m-1)S<V<mS-1时,OS-y选为OS-m,即y代表m,其中:m是大于0且小于等于条带化宽度W的整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910312538A CN101783814A (zh) | 2009-12-29 | 2009-12-29 | 海量存储系统的元数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910312538A CN101783814A (zh) | 2009-12-29 | 2009-12-29 | 海量存储系统的元数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101783814A true CN101783814A (zh) | 2010-07-21 |
Family
ID=42523630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910312538A Pending CN101783814A (zh) | 2009-12-29 | 2009-12-29 | 海量存储系统的元数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101783814A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013097618A1 (zh) * | 2011-12-31 | 2013-07-04 | 华为技术有限公司 | 存储虚拟化的装置、存储系统及数据存储方法及系统 |
CN103516809A (zh) * | 2013-10-22 | 2014-01-15 | 浪潮电子信息产业股份有限公司 | 一种高扩展、高性能的分布式存储体系结构 |
CN104424238A (zh) * | 2013-08-27 | 2015-03-18 | 华为技术有限公司 | 一种海量文件生成的方法、装置 |
CN105338118A (zh) * | 2015-11-30 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 分布式存储系统 |
WO2016101283A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 一种数据处理方法装置及系统 |
CN106302717A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种ceph系统的资源优化方法及装置 |
-
2009
- 2009-12-29 CN CN200910312538A patent/CN101783814A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013097618A1 (zh) * | 2011-12-31 | 2013-07-04 | 华为技术有限公司 | 存储虚拟化的装置、存储系统及数据存储方法及系统 |
CN104424238A (zh) * | 2013-08-27 | 2015-03-18 | 华为技术有限公司 | 一种海量文件生成的方法、装置 |
CN104424238B (zh) * | 2013-08-27 | 2018-12-14 | 华为技术有限公司 | 一种海量文件生成的方法、装置 |
CN103516809A (zh) * | 2013-10-22 | 2014-01-15 | 浪潮电子信息产业股份有限公司 | 一种高扩展、高性能的分布式存储体系结构 |
WO2016101283A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 一种数据处理方法装置及系统 |
CN108733761A (zh) * | 2014-12-27 | 2018-11-02 | 华为技术有限公司 | 一种数据处理方法装置及系统 |
US11032368B2 (en) | 2014-12-27 | 2021-06-08 | Huawei Technologies Co., Ltd. | Data processing method, apparatus, and system |
CN108733761B (zh) * | 2014-12-27 | 2021-12-03 | 华为技术有限公司 | 一种数据处理方法装置及系统 |
US11799959B2 (en) | 2014-12-27 | 2023-10-24 | Huawei Technologies Co., Ltd. | Data processing method, apparatus, and system |
CN105338118A (zh) * | 2015-11-30 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 分布式存储系统 |
CN106302717A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种ceph系统的资源优化方法及装置 |
CN106302717B (zh) * | 2016-08-12 | 2019-07-26 | 浪潮(北京)电子信息产业有限公司 | 一种ceph系统的资源优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967124B (zh) | 一种分布式持久性内存存储系统及方法 | |
US10289315B2 (en) | Managing I/O operations of large data objects in a cache memory device by dividing into chunks | |
US10114749B2 (en) | Cache memory system and method for accessing cache line | |
KR101502896B1 (ko) | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 | |
CN107168657B (zh) | 一种基于分布式块存储的虚拟磁盘分层缓存设计方法 | |
CN106776967B (zh) | 基于时序聚合算法的海量小文件实时存储方法及装置 | |
CN103440208B (zh) | 一种数据存储的方法及装置 | |
CN102985909B (zh) | 为良好分格的对象提供高扩展性网络存储的方法和设备 | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
CN106570113B (zh) | 一种海量矢量切片数据云存储方法及系统 | |
CN103034684A (zh) | 一种基于内容寻址存储的虚拟机镜像存储优化方法 | |
CN104317742A (zh) | 一种优化空间管理的自动精简配置方法 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
CN102255962A (zh) | 一种分布式存储方法、装置和系统 | |
CN106682110B (zh) | 一种基于哈希格网索引的影像文件存储和管理系统及方法 | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
US9355121B1 (en) | Segregating data and metadata in a file system | |
CN103229173A (zh) | 元数据管理方法及系统 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN101783814A (zh) | 海量存储系统的元数据存储方法 | |
CN102169460A (zh) | 变长数据管理方法及装置 | |
CN103559229A (zh) | 基于MapFile的小文件管理服务SFMS系统及其使用方法 | |
CN104572505A (zh) | 一种保证海量数据缓存最终一致性的系统及方法 | |
CN103914483A (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100721 |