【技术实现步骤摘要】
一种分布式文件系统文件数据块传输效率优化方法及系统
本专利技术涉及分布式文件系统数据传输
,具体涉及一种分布式文件系统文件数据块传输效率优化方法及系统。
技术介绍
HDFS是基于本地文件系统实现的分布式文件系统,是一种覆盖性文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。当前HDFS文件下载是从HDFS读取文件内容写入本地文件,首先是生成一个FSDatalnputStream对象,FSDataInputStream:读取分布式文件,使用read方法,传入要下载的文件目录,再通过read()方法,读取PositionCache对象中存储的pos,当pos的值大于这个Block的结尾,调用blockSeekTo()方法与存有下一个Block的DataNode建立Socket连接并在该DataNode上生成Java.DataInputStream对象读取该文件块的内容,循环执行该过程直到pos等于文件大小文件下载完毕。当前HDFS下载文件方式并行下载数据块的方式效率已经比较高了,但数据块并行下载的速率还是依赖数据块Size、DataNode负载等因素、网络带宽等固有因素,且数据块下载Task算法过程中因读取到的数据写入本地文件操作优先级高,因此写操作开始会暂停大量Task进程,导致读取进程暂停,耗费时间。
技术实现思路
针对当前HD ...
【技术保护点】
1.一种分布式文件系统文件数据块传输效率优化方法,其特征在于包括如下步骤:/n向主元数据节点发送文件查询请求;/n获取主元数据节点返回的数据块元数据信息;/n将数据块分解成设定长度值个区域同时生成对应的获取自身任务锁的任务线程并将所述的任务线程放入线程池;/n检测到线程池中有任务完成时释放任务锁将任务重新命名再重新执行任务分配;/n直至线程池所有任务完成,文件下载完毕。/n
【技术特征摘要】
1.一种分布式文件系统文件数据块传输效率优化方法,其特征在于包括如下步骤:
向主元数据节点发送文件查询请求;
获取主元数据节点返回的数据块元数据信息;
将数据块分解成设定长度值个区域同时生成对应的获取自身任务锁的任务线程并将所述的任务线程放入线程池;
检测到线程池中有任务完成时释放任务锁将任务重新命名再重新执行任务分配;
直至线程池所有任务完成,文件下载完毕。
2.根据权利要求1所述的一种分布式文件系统文件数据块传输效率优化方法,其特征在于所述的获取主元数据节点返回的数据块元数据信息步骤中,主元数据节点以二维数组的形式返回的数据块元数据信息,其中,数组的第一维存储数据块描述信息,第二维存储数据块的数据节点地址。
3.根据权利要求2所述的一种分布式文件系统文件数据块传输效率优化方法,其特征在于所述的将数据块分解成设定长度值个区域同时生成对应的获取自身任务锁的任务线程并将所述的任务线程放入线程池的步骤之前还包括:
从二维数组的第二维获取数据块的数据节点的地址;
检测数据节点网络,若不能连通跳转到步骤:从二维数组的第二维获取数据块的数据节点地址;
否则,将连通的数据节点放入实时数据节点数组,数组长度为所述的设定长度值。
4.根据权利要求1所述的一种分布式文件系统文件数据块传输效率优化方法,其特征在于所述的将数据块分解成设定长度值个区域同时生成对应的获取自身任务锁的任务线程并将所述的任务线程放入线程池的步骤包括:
S61:读取缓冲区大小并开辟缓冲区大小长度空间;
S62:连接数据节点发送数据块ID以及距离文件开头的绝对偏移量,建立输入流;
S63:获取自身任务锁;
S64:若已下载字节数等于下载末点字节偏移量与下载起点字节偏移量的差值加一,则设置完成任务的标记属性为true;
S65:若任务提前结束的标记属性为true或完成任务的标记属性为true,执行步骤S68;否则执行S66;
S66:从输入流读取预设值个字节,所述的预设值取缓冲区大小值和字节偏移量比较的较小值;
S67:释放任务锁,执行步骤S63;
S68:计算并更新该任务的平均速率和剩余下载时间。
5.根据权利要求1所述的一种分布式文件系统文件数据块传输效率优化方法,其特征在于所述的检测到线程池中有任务完成时释放任务锁将任务重新命名再重新执行任务分配的步骤包括:
S71:检测线程池中是否有任务完成,若否跳转S78;否则执行S72;
S72:释放任务锁将任务重新命名;
S73:若检测到重新命名的已完成任务的任务提前结束的标识属性为true,执行步骤S71;否则执行下一步;
S74:计算任务的平均速率和剩余下载时间;
S75:设置剩余下载时间最大的任务为最差任务并获取任务锁;...
【专利技术属性】
技术研发人员:张东东,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。