CN102968423A - 一种基于数据容器的高性能私有云存储节点文件系统设计 - Google Patents
一种基于数据容器的高性能私有云存储节点文件系统设计 Download PDFInfo
- Publication number
- CN102968423A CN102968423A CN2012100821663A CN201210082166A CN102968423A CN 102968423 A CN102968423 A CN 102968423A CN 2012100821663 A CN2012100821663 A CN 2012100821663A CN 201210082166 A CN201210082166 A CN 201210082166A CN 102968423 A CN102968423 A CN 102968423A
- Authority
- CN
- China
- Prior art keywords
- file
- access
- data
- data block
- memory
- 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
本发明针对传统文件系统性能不足的问题,提出一种高性能的私有云存储节点文件存储系统的设计,满足私有云存储对于海量文件访问的高性能要求。其特征在于以下几个方面:一、用户文件数据分块、分散存放在不同存储节点中。二、在存储节点上通过磁盘空间映射内存文件构造数据容器,将对磁盘的访问在一定程度上提升为对内存的访问,从而大幅提高访问速度。三、通过并发访问存储节点和数据块动态组装机制提升文件整体访问速度。
Description
技术领域
本发明涉及私有云存储的节点文件系统,尤其是对节点数据存储和整体文件访问提供高性能支持。属于云计算技术和计算机软件技术领域。
背景技术
通常私有云存储系统采用分布式文件系统作为存储的基础。分布式文件系统一般采用单一中心控制节点和多个存储节点的星型结构或无控制节点的完全分布结构。由于前者管理简单、实现容易,所以为大多数私有云存储系统所采用。在这种结构中,控制节点负责元数据的管理,如用户的目录结构、文件名和文件存储位置的映射关系等。文件数据实际存放在某个或几个存储节点上。用户访问文件时,需要通过控制节点获得文件的位置信息和其它信息,然后访问存储节点,获得完整的文件。通常存储节点的管理完全依赖操作系统提供的文件系统实现,用户文件或分块或完整的作为一个文件存放到节点磁盘空间的某个目录下,访问文件时需要依赖文件系统的目录搜索、文件定位和文件读写功能。当盘空间存放的文件数量到达一定级别时,文件访问性能会大幅下降,当多个用户并发访问文件系统时也会出现更加严重的性能瓶颈。这是因为文件系统固有的设计造成的,缺少对海量文件搜索、定位、读写等操作及并发访问的专门支持,影响了私有云存储的性能。
发明内容
针对传统文件系统性能不足的问题,提出一种高性能的节点文件存储系统的设计,满足私有云存储对于海量文件访问的高性能要求。
本发明解决其技术问题所采用的技术方案是:用户文件数据分块、分散存放在不同存储节点中,在存储节点上通过磁盘空间映射内存文件构造数据容器,将对磁盘的访问从一定程度上提升为对内存的访问,通过并发访问存储节点和数据块动态组装机制大幅提升文件的访问速度。
本发明所述文件数据分块分散存储机制如下:用户文件被分割成大小固定的数据块,由控制节点根据策略和规则确定存放在哪些存储节点上。每个数据块被赋予全局唯一的一个编号,每个文件对应了一个由编号组成的数据块表。
本发明所述数据容器存放文件数据的机制如下:存储节点上的将每个磁盘空间映射为一个大型内存文件,内存文件按独占模式打开成为一个数据容器。数据容器划分为数据块编号索引区、资源比特位图索引表区和数据块区三个部分。每个部分的大小在数据容器创建时根据可用盘空间大小生成。编号索引区由数据块编号、长度和比特位索引值和摘要值记录表构成。每个比特位索引表项按其所在位映射到数据块区的一个块,比特位的值代表对应的数据块位置是否被占用。当写入数据块时,存储节点管理程序为其生成全局唯一的编号,然后搜索资源比特位图,找到第一个未被占用的比特位,将其置位,然后将数据写入到对应的数据块区。最后在编号区中搜索空的记录项插入一条包含该数据块编号、长度、比特位等信息的记录。当读取数据块时,首先检索数据块编号所在的记录,获得对应的比特位,然后直接计算出比特位对应的数据块起始位置,根据长度读取数据。删除数据时,只要将对应的比特位置清空,同时清空编号区对应的记录项。用户访问文件时将存放在某个存储节点上的所有数据块信息列表批量提交给该存储节点,由数据容器根据用户根据当前访问的数据块和后续顺序访问的数据块将对应的磁盘数据换入内存页,同时数据容器总是在内存中预取一部分空闲页面,供新的数据块写入使用。这种预存取机制,可以明显提高访问的速度。数据容器支持多线程共享并发访问,允许对于数据块存储区进行并发访问,对编号索引区和比特位索引区支持互斥共享。
本发明所述并发访问和文件动态组装机制如下:当用户访问文件时,通过访问控制节点获得文件的数据块列表和对应的数据块信息,由用户端程序根据数据块信息并发访问各个存 储节点,获得不同的数据块数据,然后将数据块组成完整的文件提交。
本发明的有益效果是提高存储节点的数据访问和I/O的性能,提高整个文件的访问速度,从而提高整个分布式文件系统的性能。
附图说明
下面结合附图和实例对本发明做进一步说明。
图1表示设计方案中用户文件分块分散存放示意图。
图2表示设计方案中一个存储节点的数据容器的结构图
具体实施方式
在图1中,用户文件被分成固定大小的数据块,分别存放在两个不同的存储节点上。每一个数据块被赋予了一个全局唯一的编号,在windows操作系统可以用UUID作为数据块的编号。在控制节点中记录了该文件有关信息,如文件名,数据块编号列表,每个数据块存放的存储节点的标识等。通过这些信息,可以获得完整的文件存储信息。
在图2中,存储节点的一个磁盘被映射成一个数据容器。在数据容器中第一个区是数据块编号记录区,每个记录由编号、长度、比特位索引值和摘要值构成。记录的第一位用0/1表示是否是空记录。记录区总数等于存放数据空间的大小除以数据块的长度,如盘空间为2TB,每个数据块大小为4MB,数据块总数为512000个,记录总数也为512000个。第二个区是比特位索引区,每个比特位根据其所在索引位置对应于一个数据块的位置。512000个数据块需要512000个比特位对应,即需要64000个字节。按照顺序,第一个字节的最高比特位对应第1个数据块,第二字节的第2字节对应第10个数据块,数据块起始位置=数据块区的起始地址+数据块长度x比特位索引值。比特位为0或1表示了对应数据块是否被占用。第三个区是数据块存储区,存放具体的文件数据块。
Claims (4)
1.一种高性能的私有云存储节点文件系统的设计方案,可有效提高节点数据的访问性能和文件整体的访问性能。其特征在于使用了用户文件分块分散存储的机制、磁盘空间映射内存文件的数据容器技术和并发访问及动态文件组装技术。
2.如权利要求1所述的文件分块分散存储机制,其特征在于,利用私有云存储的分布式结构,将用户文件分块、分散在不同的存储节点上,而不以完整的文件形态存在于任何磁盘上,文件名、用户信息、文件数据块的分布信息存储在控制节点上。
3.如权利要求1所述的数据容器机制,其特征在于,在存储节点上,磁盘空间被映射为一个大型的内存文件数据容器,数据容器分为数据块编号索引区、资源比特位图区和数据块存储区。通过编号索引可以快速定位数据块所在位置,通过比特位图可以迅速定位未被占用的数据块存储区位置。通过预存取机制,将用户文件数据块自动换入内存,提高了数据的访问效率。
4.如权利要求1所述的并发访问盒动态组装机制,其特征在于,文件数据块分散存放在不同的存储节点上。通过控制节点可获得完整的文件数据块信息,从而支持客户端程序并发访问不同的存储节点,获取所有的文件数据块,然后动态组装成完整的文件提交给用户。可以成倍提高用户访问文件的速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100821663A CN102968423A (zh) | 2012-03-27 | 2012-03-27 | 一种基于数据容器的高性能私有云存储节点文件系统设计 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100821663A CN102968423A (zh) | 2012-03-27 | 2012-03-27 | 一种基于数据容器的高性能私有云存储节点文件系统设计 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102968423A true CN102968423A (zh) | 2013-03-13 |
Family
ID=47798569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100821663A Pending CN102968423A (zh) | 2012-03-27 | 2012-03-27 | 一种基于数据容器的高性能私有云存储节点文件系统设计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102968423A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144194A (zh) * | 2013-05-10 | 2014-11-12 | 中国移动通信集团公司 | 云存储系统的数据处理方法及装置 |
CN105450709A (zh) * | 2014-09-01 | 2016-03-30 | 杭州海康威视系统技术有限公司 | 一种视频云存储系统中的数据热替换方法和系统 |
WO2016165509A1 (en) * | 2015-04-15 | 2016-10-20 | Huawei Technologies Co., Ltd. | Big data statistics at data-block level |
CN106127074A (zh) * | 2016-06-24 | 2016-11-16 | 江西金格科技股份有限公司 | 一种基于智能密钥的存储设备及其数据存储和读取方法 |
CN106775499A (zh) * | 2017-02-07 | 2017-05-31 | 无锡华云数据技术服务有限公司 | 一种对公共存储空间进行合理化暴露的方法、暴露控制系统及一种云存储系统 |
CN109284069A (zh) * | 2018-08-23 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种存放备份数据的分布式存储系统及方法 |
CN109587132A (zh) * | 2018-11-29 | 2019-04-05 | 苏宁易购集团股份有限公司 | 一种基于联盟链的数据传递方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
CN101587476A (zh) * | 2008-05-22 | 2009-11-25 | 中兴通讯股份有限公司 | 一种实现分布式存储的内存数据库系统及应用 |
CN101605148A (zh) * | 2009-05-21 | 2009-12-16 | 何吴迪 | 云存储的并行系统的架构方法 |
CN101997929A (zh) * | 2010-11-29 | 2011-03-30 | 北京卓微天成科技咨询有限公司 | 一种云存储的数据存取的方法、装置及系统 |
-
2012
- 2012-03-27 CN CN2012100821663A patent/CN102968423A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
CN101587476A (zh) * | 2008-05-22 | 2009-11-25 | 中兴通讯股份有限公司 | 一种实现分布式存储的内存数据库系统及应用 |
CN101605148A (zh) * | 2009-05-21 | 2009-12-16 | 何吴迪 | 云存储的并行系统的架构方法 |
CN101997929A (zh) * | 2010-11-29 | 2011-03-30 | 北京卓微天成科技咨询有限公司 | 一种云存储的数据存取的方法、装置及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144194A (zh) * | 2013-05-10 | 2014-11-12 | 中国移动通信集团公司 | 云存储系统的数据处理方法及装置 |
CN105450709A (zh) * | 2014-09-01 | 2016-03-30 | 杭州海康威视系统技术有限公司 | 一种视频云存储系统中的数据热替换方法和系统 |
CN105450709B (zh) * | 2014-09-01 | 2019-07-19 | 杭州海康威视系统技术有限公司 | 一种视频云存储系统中的数据热替换方法和系统 |
WO2016165509A1 (en) * | 2015-04-15 | 2016-10-20 | Huawei Technologies Co., Ltd. | Big data statistics at data-block level |
CN107533551A (zh) * | 2015-04-15 | 2018-01-02 | 华为技术有限公司 | 数据块级别的大数据统计 |
CN107533551B (zh) * | 2015-04-15 | 2020-08-07 | 华为技术有限公司 | 数据块级别的大数据统计 |
CN106127074A (zh) * | 2016-06-24 | 2016-11-16 | 江西金格科技股份有限公司 | 一种基于智能密钥的存储设备及其数据存储和读取方法 |
CN106127074B (zh) * | 2016-06-24 | 2018-12-21 | 江西金格科技股份有限公司 | 一种基于智能密钥的存储设备及其数据存储和读取方法 |
CN106775499A (zh) * | 2017-02-07 | 2017-05-31 | 无锡华云数据技术服务有限公司 | 一种对公共存储空间进行合理化暴露的方法、暴露控制系统及一种云存储系统 |
CN109284069A (zh) * | 2018-08-23 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种存放备份数据的分布式存储系统及方法 |
CN109587132A (zh) * | 2018-11-29 | 2019-04-05 | 苏宁易购集团股份有限公司 | 一种基于联盟链的数据传递方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102968423A (zh) | 一种基于数据容器的高性能私有云存储节点文件系统设计 | |
CN110825748B (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
CN107391391B (zh) | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 | |
CN103294710B (zh) | 一种数据存取方法和装置 | |
CN103186350B (zh) | 混合存储系统及热点数据块的迁移方法 | |
CN104346357B (zh) | 一种嵌入式终端的文件存取方法及系统 | |
US8782324B1 (en) | Techniques for managing placement of extents based on a history of active extents | |
US11392544B2 (en) | System and method for leveraging key-value storage to efficiently store data and metadata in a distributed file system | |
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
CN105830059A (zh) | 文件访问方法、装置及存储设备 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
CN107291889A (zh) | 一种数据存储方法及系统 | |
CN107463447A (zh) | 一种基于远程直接非易失内存访问的b+树管理方法 | |
CN102982151B (zh) | 多个物理文件合并为一个逻辑文件的方法 | |
CN110347852A (zh) | 嵌入横向扩展键值存储系统的文件系统及文件管理方法 | |
CN102541985A (zh) | 一种分布式文件系统中客户端目录缓存的组织方法 | |
CN101488153A (zh) | 嵌入式Linux下大容量闪存文件系统的实现方法 | |
CN109521959A (zh) | 一种基于ssd-smr磁盘混合键值存储系统数据组织方法 | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件系统 | |
CN102521419A (zh) | 分级存储的实现方法和系统 | |
CN102915340A (zh) | 一种扩展的基于b+树对象文件系统 | |
CN104054071A (zh) | 访问存储设备的方法和存储设备 | |
CN102999428A (zh) | 一种瓦记录磁盘的四级编址方法 | |
CN103916459A (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: 20130313 |