CN113741823A - 一种云端的混合分布式文件存储方法 - Google Patents

一种云端的混合分布式文件存储方法 Download PDF

Info

Publication number
CN113741823A
CN113741823A CN202111313271.9A CN202111313271A CN113741823A CN 113741823 A CN113741823 A CN 113741823A CN 202111313271 A CN202111313271 A CN 202111313271A CN 113741823 A CN113741823 A CN 113741823A
Authority
CN
China
Prior art keywords
hdfs
ceph
file
files
cloud
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.)
Withdrawn
Application number
CN202111313271.9A
Other languages
English (en)
Inventor
左登超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yaguan Technology Co ltd
Original Assignee
Hangzhou Yaguan Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Yaguan Technology Co ltd filed Critical Hangzhou Yaguan Technology Co ltd
Priority to CN202111313271.9A priority Critical patent/CN113741823A/zh
Publication of CN113741823A publication Critical patent/CN113741823A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种云端的混合分布式文件存储方法,属于数字信息的传输技术领域,包括以下步骤:步骤1,至少一个云端服务器安装有SSBox,且所有云端服务器的RAM内存都在Ceph和HDFS之间共享,且云端服务器的硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS;步骤2,根据待写入的文件大小对待写入的文件进行初步分类;步骤3,文件大小介于α和β之间的待写入的文件,使用KNN方法预测该文件更适合于哪种分布式文件系统。本方案,将文件适应性的分配到Ceph或者HDFS中,致力于提升读写性能。

Description

一种云端的混合分布式文件存储方法
技术领域
本发明属于数字信息的传输技术领域,具体涉及为一种云端的混合分布式文件存储方法。
背景技术
云端存储服务多数使用分布式文件存储系统作为后端存储系统,用户上传的文件,如文档文件、图像文件或音乐文件,通常小于10MB。因此,云存储中的大多数文件为小于10MB的小文件。占少是的大文件,例如电影、操作系统映像文件,通常大于1GB。因此,我们可以假设,大部分的文件为小文件,只有少受10%~20%的文件,为大文件,云端存储的文件分布类似于重尾分布。
随着云端存储服务的普及,写入吞吐量可能成为云服务的瓶颈。而如果要充分提升云端存储的写入吞吐量,充分利用重尾分布至关重要。尚未有利用文件的重尾分布,来提升云端写入吞吐量的研究方案。
发明内容
针对现有技术的不足,本发明提供了一种云端的混合分布式文件存储方法。
为实现以上目的,本发明通过以下技术方案予以实现。
一种云端的混合分布式文件存储方法,包括以下步骤:
步骤1,至少一个云端服务器安装有SSBox,且所有云端服务器的RAM内存都在Ceph和HDFS之间共享,且云端服务器的硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS;
步骤2,根据待写入的文件大小对待写入的文件进行初步分类;
测量Ceph和HDFS对不同大小的文件所花费的写入时间,然后确定分隔点α和β:当文件大小小于α时,HDFS的写入时间超过Ceph,且两者的写入时间差异性为5%,此时Ceph为优选;当文件大小大于β时,Ceph的写入时间超过HDFS,且两者的写入时间差异性为5%,此时HDFS为优选;
将文件大小小于α的待写入的文件分配给Ceph,将文件大小大于β的待写入的文件分配给HDFS;文件大小介于α和β之间的文件,进入下一步处理;
步骤3,文件大小介于α和β之间的待写入的文件,使用KNN方法预测该文件更适合于哪种分布式文件系统。
进一步,步骤1中,SSBox使用HDFS API将数据写入HDFS,并使用POSIX将数据写入Ceph;数据存储位置将记录于数据库PostgreSQL。
进一步,步骤2中,α为500MB,β为800MB。
进一步,步骤3中,KNN方法如下:
1) 获取K个近邻样本点;
2) 初始化所有分类的样本点个数为0;
3) 统计K个近邻样本点中各个分类的样本点的数量;
4) 确定所有分类中样本点数量的最大值和最小值;
5) 统计未知样本属于各个分类的概率。
进一步,一种云端的混合分布式文件存储方法,还包括步骤4,RAM内存和并行写入机制:在RAM内存中缓存大于40MB的大文件,并通过并行写入进行管理,将RAM内存中缓存的文件分配到Ceph或HDFS中。
与现有技术相比,本发明具备以下有益效果:
本方案,针对大量的小文件和小量的大文件,采用不同的分布式文件存储方法,混合了HDFS和Ceph两种文件存储系统并整合到云端存储系统SSBox中,用以提升系统的效能。具体的,通过文件大小的预处理、利用K-Nearest Neighbors方法来改进文件分配决策、RAM内存和并行写入机制,将文件适应性地分配到Ceph或者HDFS中,致力于提升读写性能。模拟显示,本方案的混合分布式文件存储方法,在写入吞吐量上比单纯的Ceph和HDFS高出大约两倍的写入吞吐量。
附图说明
图1为数据组1的文件吞吐量趋势图;
图2为数据组2的文件吞吐量趋势图。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述。
Ceph是一个分布式文件系统,支持对象存储、块存储、文件存储,同时加入了复制和容错功能,避免单点故障,使用副本实现容错。Ceph更适合大量小文件。
HDFS是一个分布式文件系统,具有高容错性的特点,提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS更适合少量大文件。
SSBox是一个类似于Drophox的系统,提供从SaaS到PaaS的服务,主要由Nginx、Memcached、PostgreSQL、Servercore和Ceph组成,可以作为公有云或者私有云的解决方案。
一种云端的混合分布式文件存储方法,包括以下步骤:
步骤1,至少一个云端服务器安装有SSBox,且所有云端服务器的RAM内存都在Ceph和HDFS之间共享,且云端服务器的硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS;SSBox使用HDFS API将数据写入HDFS,并使用POSIX将数据写入Ceph;数据存储位置将记录于数据库PostgreSQL。
步骤2,根据待写入的文件大小对待写入的文件进行初步分类。
测量Ceph和HDFS对不同大小的文件所花费的写入时间,然后确定分隔点α和β:当文件大小小于α时,HDFS的写入时间超过Ceph,且两者的写入时间差异性为5%,此时Ceph为优选;当文件大小大于β时,Ceph的写入时间超过HDFS,且两者的写入时间差异性为5%,此时HDFS为优选。
因此,将文件大小小于α的待写入的文件分配给Ceph,将文件大小大于β的待写入的文件分配给HDFS;文件大小介于α和β之间的文件(包含点α和点β),进入下一步处理。
通过实验模拟,得到α为500MB,β为800MB。
步骤3,文件大小介于α和β之间的待写入的文件,使用KNN方法预测该文件更适合于哪种分布式文件系统。
为了将文件很好地分配到Ceph或HDFS中,以提升写入性能。本方案除了利用直观的方法来确定文件的分配之外,还利用K-Nearest Neighbors方法(以下简称KNN方法)来改进文件的分配决策。
KNN方法是一种非参数惰性学习方法。非参数学习方法,对其底层数据分布不做任何假设,更符合现实,因为现实数据通常不会映射到任何理论数据。惰性学习方法,是一种不预先对训练数据进行泛化的学习方法,不做任何模型训练,训练时间开销为零。
KNN方法的思路:如果一个样本在特征空间中的k个最近邻(最相似)的样本中的大多数都属于某一个类别,则该样本也属于这个类别。
1) 获取K个近邻样本点;
2) 初始化所有分类的样本点个数为0;
3) 统计K个近邻样本点中各个分类的样本点的数量;
4) 确定所有分类中样本点数量的最大值和最小值;
5) 统计未知样本属于各个分类的概率(0-1之间)。
通过KNN方法来进行分类,是本领域的常用分类手段,例如公开号CN104063472A的中国专利公开的《一种优化训练样本集的KNN文本分类方法》。因此,不再赘述。
步骤4,RAM内存和并行写入机制。在RAM内存中缓存大于40MB的大文件,并通过并行写入进行管理,将RAM内存中缓存的文件分配到Ceph或HDFS中。
通过步骤1和步骤2,混合分布式文件存储方法的写入吞吐量已经比单一的Ceph或HDFS高出1.5倍左右。
由于可利用的RAM内存越多,可以实现的写入吞吐量就越大。引入RAM内存和并行机制后,将写入吞吐量提升到原始Ceph或HDFS的1.5倍到2倍。
利用RAM内存作为缓存的开销,包括文件写入RAM内存和从RAM内存读取文件的时间。此外,文件可以在RAM内存并行读取以及并行写入HDFS。
文件大小40MB~120MB之间的文件在Ceph的写入时间可能几乎两倍于RAM内存写入时间。
当多个文件上传到云存储系统SSBox,如果拥有足够的RAM内存空间(例如100G),则在RAM内存中缓存大文件,并通过并行写入进行管理。
将大文件缓存于RAM内存,而不是小文件,其原因如下:
1.将大文件写入RAM内存比写入HDFS或Ceph快10倍甚至20倍,写入RAM内存之后,可以将文件从RAM内存并行写入HDFS。这种情况下,虽然RAM内存中缓存文件可能会产生一些开销,但是,可以通过多线程将文件写入HDFS来减轻负担。
2.小文件(大约小于40MB)写入Ceph的时间,比写入RAM内存同时并行写入Ceph或HDFS更短。
为了验证本方案,建立一个包含五个Quanta节点的集群。Quanta是一个开源社交媒体平台。每个节点都是一台配备有20个Intel CPU内核和QDR InfiniBand(40Gbps)的服务器。所有磁盘都在Ceph和HDFS之间共享。硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS。SSBox将部署于其中一个节点中,SSBox使用HDFS API将数据写入HDFS,并使用POSIX将数据写入Ceph。数据存储位置将记录于数据库PostgreSQL。
创建10个文件集,并在本地和SSBox两种环境下进行模拟实验,因此,有两个数据组,分别对应本地和SSBox两种环境。每个数据组包含5个文件集。这10个文件集,包含了500个文件,其中包含了一些大文件和一些小文件。每个文件的大小是随机的。所有文件包含不同的内容。
表1为10个文件集的组成表。
Figure 292263DEST_PATH_IMAGE001
图1为数据组1的文件吞吐量趋势图。图2为数据组2的文件吞吐量趋势图。HLR表示混合分布式文件存储方法,HSR表示混合分布式文件存储以及RAM内存和并行写入。从图1中可见,Ceph和HDFS所对应的写入吞吐量因为不同的文件集而出现严重的波动。也就是说,Ceph和HDFS的写入吞吐量对文件的大小很敏感。从图1中可见,HLR和HSR均要优于Ceph和HDFS。
然后,HSR在两个数据组中的第一个文件集具有非常高的吞吐量,约为900MB/s,大约是RAM内存写入时间的一半。第一个文件集的大多数大文件都可以被Ceph访问。
接着,HSR在两个数据组中的第五个文件集的吞吐量出现下降的现象。这是因为RAM内存的大小已经不足以存储所有大文件。当大文件很大时,RAM内存只能允许缓存小文件,而小文件对于并行写入并没有什么优势。因此,当文件集由一些非常大的文件组成时,HSR的写入吞吐量是呈下降的趋势。
最后,HSR的最佳应用场景是第三个文件集。该文件集的大文件在800MB到2GB。原因是Ceph需要较长的时间来写入大文件。随着大文件大小的增加,HLR的写入吞吐量会接近于HDFS。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (5)

1.一种云端的混合分布式文件存储方法,其特征在于,包括以下步骤:
步骤1,至少一个云端服务器安装有SSBox,且所有云端服务器的RAM内存都在Ceph和HDFS之间共享,且云端服务器的硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS;
步骤2,根据待写入的文件大小对待写入的文件进行初步分类;
测量Ceph和HDFS对不同大小的文件所花费的写入时间,然后确定分隔点α和β:当文件大小小于α时,HDFS的写入时间超过Ceph,且两者的写入时间差异性为5%,此时Ceph为优选;当文件大小大于β时,Ceph的写入时间超过HDFS,且两者的写入时间差异性为5%,此时HDFS为优选;
将文件大小小于α的待写入的文件分配给Ceph,将文件大小大于β的待写入的文件分配给HDFS;文件大小介于α和β之间的文件,进入下一步处理;
步骤3,文件大小介于α和β之间的待写入的文件,使用KNN方法预测该文件更适合于哪种分布式文件系统。
2.根据权利要求1所述的一种云端的混合分布式文件存储方法,其特征在于,步骤1中,SSBox使用HDFS API将数据写入HDFS,并使用POSIX将数据写入Ceph;数据存储位置将记录于数据库PostgreSQL。
3.根据权利要求1所述的一种云端的混合分布式文件存储方法,其特征在于,步骤2中,α为500MB,β为800MB。
4.根据权利要求1所述的一种云端的混合分布式文件存储方法,其特征在于,步骤3中,KNN方法如下:
1) 获取K个近邻样本点;
2) 初始化所有分类的样本点个数为0;
3) 统计K个近邻样本点中各个分类的样本点的数量;
4) 确定所有分类中样本点数量的最大值和最小值;
5) 统计未知样本属于各个分类的概率。
5.根据权利要求1所述的一种云端的混合分布式文件存储方法,其特征在于,还包括步骤4,RAM内存和并行写入机制:在RAM内存中缓存大于40MB的大文件,并通过并行写入进行管理,将RAM内存中缓存的文件分配到Ceph或HDFS中。
CN202111313271.9A 2021-11-08 2021-11-08 一种云端的混合分布式文件存储方法 Withdrawn CN113741823A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111313271.9A CN113741823A (zh) 2021-11-08 2021-11-08 一种云端的混合分布式文件存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111313271.9A CN113741823A (zh) 2021-11-08 2021-11-08 一种云端的混合分布式文件存储方法

Publications (1)

Publication Number Publication Date
CN113741823A true CN113741823A (zh) 2021-12-03

Family

ID=78727720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111313271.9A Withdrawn CN113741823A (zh) 2021-11-08 2021-11-08 一种云端的混合分布式文件存储方法

Country Status (1)

Country Link
CN (1) CN113741823A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778229A (zh) * 2015-03-31 2015-07-15 南京邮电大学 基于Hadoop的电信业务小文件存储系统及方法
CN111095233A (zh) * 2017-09-28 2020-05-01 深圳清华大学研究院 混合文件系统架构、文件存储、动态迁移及其应用

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778229A (zh) * 2015-03-31 2015-07-15 南京邮电大学 基于Hadoop的电信业务小文件存储系统及方法
CN111095233A (zh) * 2017-09-28 2020-05-01 深圳清华大学研究院 混合文件系统架构、文件存储、动态迁移及其应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHUN-FENG WU 等: "《File placement mechanisms for improving write throughputs of cloud storage services based on Ceph and HDFS》", 《FILE PLACEMENT MECHANISMS FOR IMPROVING WRITE THROUGHPUTS OF CLOUD STORAGE SERVICES BASED ON CEPH AND HDFS》 *

Similar Documents

Publication Publication Date Title
US8984085B2 (en) Apparatus and method for controlling distributed memory cluster
US10289315B2 (en) Managing I/O operations of large data objects in a cache memory device by dividing into chunks
US8775759B2 (en) Frequency and migration based re-parsing
US20180322062A1 (en) Optimized record lookups
US10552936B2 (en) Solid state storage local image processing system and method
US11093143B2 (en) Methods and systems for managing key-value solid state drives (KV SSDS)
US11200159B2 (en) System and method for facilitating efficient utilization of NAND flash memory
US8499131B2 (en) Capping a number of locations referred to by chunk references
CN102523258A (zh) 一种面向云操作系统的数据存储架构及其负载均衡方法
US10116329B1 (en) Method and system for compression based tiering
US11625187B2 (en) Method and system for intercepting a discarded page for a memory swap
CN110362277B (zh) 基于混合存储系统的数据分类存储方法
US8856439B2 (en) Method and device for utilizing application-level prior knowledge for selectively storing data in higher performance media
Sun et al. Cluster and single-node analysis of long-term deduplication patterns
Zhou et al. Hierarchical consistent hashing for heterogeneous object-based storage
US20210240376A1 (en) Methods and systems for providing read-optimized scalable offline de-duplication for blocks of data
CN112783644A (zh) 一种基于高频键值计数的分布式倾斜流处理方法和系统
CN113741823A (zh) 一种云端的混合分布式文件存储方法
US20210064272A1 (en) Multi-tier storage
Zhou et al. An Efficient Data Fingerprint Query Algorithm Based on Two-Leveled Bloom Filter.
CN117331487A (zh) 一种数据重删方法及相关系统
CN111913658B (zh) 一种提升云对象存储系统中负载性能的方法及系统
US11137923B2 (en) Method and system for data reduction in a storage infrastructure to support a high-ration thin-provisioned service
Agrawal et al. Clustered outband deduplication on primary data
CN112860641A (zh) 基于hadoop的小文件存储方法及其装置

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211203