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

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

【技术实现步骤摘要】
一种云端的混合分布式文件存储方法


[0001]本专利技术属于数字信息的传输
,具体涉及为一种云端的混合分布式文件存储方法。

技术介绍

[0002]云端存储服务多数使用分布式文件存储系统作为后端存储系统,用户上传的文件,如文档文件、图像文件或音乐文件,通常小于10MB。因此,云存储中的大多数文件为小于10MB的小文件。占少是的大文件,例如电影、操作系统映像文件,通常大于1GB。因此,我们可以假设,大部分的文件为小文件,只有少受10%~20%的文件,为大文件,云端存储的文件分布类似于重尾分布。
[0003]随着云端存储服务的普及,写入吞吐量可能成为云服务的瓶颈。而如果要充分提升云端存储的写入吞吐量,充分利用重尾分布至关重要。尚未有利用文件的重尾分布,来提升云端写入吞吐量的研究方案。

技术实现思路

[0004]针对现有技术的不足,本专利技术提供了一种云端的混合分布式文件存储方法。
[0005]为实现以上目的,本专利技术通过以下技术方案予以实现。
[0006]一种云端的混合分布式文件存储方法,包括以下步骤:步骤1,至少一个云端服务器安装有SSBox,且所有云端服务器的RAM内存都在Ceph和HDFS之间共享,且云端服务器的硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS;步骤2,根据待写入的文件大小对待写入的文件进行初步分类;测量Ceph和HDFS对不同大小的文件所花费的写入时间,然后确定分隔点α和β:当文件大小小于α时,HDFS的写入时间超过Ceph,且两者的写入时间差异性为5%,此时Ceph为优选;当文件大小大于β时,Ceph的写入时间超过HDFS,且两者的写入时间差异性为5%,此时HDFS为优选;将文件大小小于α的待写入的文件分配给Ceph,将文件大小大于β的待写入的文件分配给HDFS;文件大小介于α和β之间的文件,进入下一步处理;步骤3,文件大小介于α和β之间的待写入的文件,使用KNN方法预测该文件更适合于哪种分布式文件系统。
[0007]进一步,步骤1中,SSBox使用HDFS API将数据写入HDFS,并使用POSIX将数据写入Ceph;数据存储位置将记录于数据库PostgreSQL。
[0008]进一步,步骤2中,α为500MB,β为800MB。
[0009]进一步,步骤3中,KNN方法如下:1) 获取K个近邻样本点;2) 初始化所有分类的样本点个数为0;
3) 统计K个近邻样本点中各个分类的样本点的数量;4) 确定所有分类中样本点数量的最大值和最小值;5) 统计未知样本属于各个分类的概率。
[0010]进一步,一种云端的混合分布式文件存储方法,还包括步骤4,RAM内存和并行写入机制:在RAM内存中缓存大于40MB的大文件,并通过并行写入进行管理,将RAM内存中缓存的文件分配到Ceph或HDFS中。
[0011]与现有技术相比,本专利技术具备以下有益效果:本方案,针对大量的小文件和小量的大文件,采用不同的分布式文件存储方法,混合了HDFS和Ceph两种文件存储系统并整合到云端存储系统SSBox中,用以提升系统的效能。具体的,通过文件大小的预处理、利用K

Nearest Neighbors方法来改进文件分配决策、RAM内存和并行写入机制,将文件适应性地分配到Ceph或者HDFS中,致力于提升读写性能。模拟显示,本方案的混合分布式文件存储方法,在写入吞吐量上比单纯的Ceph和HDFS高出大约两倍的写入吞吐量。
附图说明
[0012]图1为数据组1的文件吞吐量趋势图;图2为数据组2的文件吞吐量趋势图。
具体实施方式
[0013]下面将结合附图,对本专利技术的技术方案进行清楚、完整地描述。
[0014]Ceph是一个分布式文件系统,支持对象存储、块存储、文件存储,同时加入了复制和容错功能,避免单点故障,使用副本实现容错。Ceph更适合大量小文件。
[0015]HDFS是一个分布式文件系统,具有高容错性的特点,提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS更适合少量大文件。
[0016]SSBox是一个类似于Drophox的系统,提供从SaaS到PaaS的服务,主要由Nginx、Memcached、PostgreSQL、Servercore和Ceph组成,可以作为公有云或者私有云的解决方案。
[0017]一种云端的混合分布式文件存储方法,包括以下步骤:步骤1,至少一个云端服务器安装有SSBox,且所有云端服务器的RAM内存都在Ceph和HDFS之间共享,且云端服务器的硬盘被划分为两个大小相等的分区,一个用于Ceph,另一个用于HDFS;SSBox使用HDFS API将数据写入HDFS,并使用POSIX将数据写入Ceph;数据存储位置将记录于数据库PostgreSQL。
[0018]步骤2,根据待写入的文件大小对待写入的文件进行初步分类。
[0019]测量Ceph和HDFS对不同大小的文件所花费的写入时间,然后确定分隔点α和β:当文件大小小于α时,HDFS的写入时间超过Ceph,且两者的写入时间差异性为5%,此时Ceph为优选;当文件大小大于β时,Ceph的写入时间超过HDFS,且两者的写入时间差异性为5%,此时HDFS为优选。
[0020]因此,将文件大小小于α的待写入的文件分配给Ceph,将文件大小大于β的待写入的文件分配给HDFS;文件大小介于α和β之间的文件(包含点α和点β),进入下一步处理。
[0021]通过实验模拟,得到α为500MB,β为800MB。
[0022]步骤3,文件大小介于α和β之间的待写入的文件,使用KNN方法预测该文件更适合于哪种分布式文件系统。
[0023]为了将文件很好地分配到Ceph或HDFS中,以提升写入性能。本方案除了利用直观的方法来确定文件的分配之外,还利用K

Nearest Neighbors方法(以下简称KNN方法)来改进文件的分配决策。
[0024]KNN方法是一种非参数惰性学习方法。非参数学习方法,对其底层数据分布不做任何假设,更符合现实,因为现实数据通常不会映射到任何理论数据。惰性学习方法,是一种不预先对训练数据进行泛化的学习方法,不做任何模型训练,训练时间开销为零。
[0025]KNN方法的思路:如果一个样本在特征空间中的k个最近邻(最相似)的样本中的大多数都属于某一个类别,则该样本也属于这个类别。
[0026]1) 获取K个近邻样本点;2) 初始化所有分类的样本点个数为0;3) 统计K个近邻样本点中各个分类的样本点的数量;4) 确定所有分类中样本点数量的最大值和最小值;5) 统计未知样本属于各个分类的概率(0

1之间)。
[0027]通过KNN方法来进行分类,是本领域的常用分类手段,例如公开号CN104063472A的中国专利公开的《一种优化训练样本集的KNN文本分类方法》。因此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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...

【专利技术属性】
技术研发人员:左登超
申请(专利权)人:杭州雅观科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1