[发明专利]适用于分布式文件系统的文件随机写方法及系统有效
申请号: | 201910973982.5 | 申请日: | 2019-10-14 |
公开(公告)号: | CN110795407B | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 沈晨;杜真真;王敬平;黄子君;徐文远;周洁;褚少鹤 | 申请(专利权)人: | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) |
主分类号: | G06F16/172 | 分类号: | G06F16/172;G06F16/182 |
代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
地址: | 201800 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 分布式 文件系统 文件 随机 方法 系统 | ||
本发明提供了一种适用于分布式文件系统的文件随机写方法及系统,包括:步骤1:将HDFS的写接口更新成支持随机写模式,使随机写操作仅影响直接修改的块或者有限的相邻块;步骤2:扩展HDFS数据传输协议,使客户端可访问任意的数据分块;步骤3:更新服务端数据包处理、更新校验值计算,获取数据副本更新、校验值更新。本发明中,存储于分布式文件系统的文件在更新数据内容时,只会影响当前数据分块及相邻的数据分块,而不会像原生HDFS需将整个文件写回,造成大量不必要的数据传输,本发明有效的减少了数据传输和移动,缓解网络带宽压力,降低客户端和服务端的处理资源消耗。
技术领域
本发明涉及分布式存储领域,具体地,涉及一种适用于分布式文件系统的文件随机写方法及系统。
背景技术
分布式文件存储系统受传统的磁盘文件系统所影响,多数采用固定大小的数据分块来组织和管理文件。当前流行的分布式文件系统HDFS(Hadoop Distributed FileSystem)和GFS(Google File System)都是将大文件分割成固定大小的块进行存储,通常是64MB。这些文件在创建后,大部分都是追加写到文件尾部,几乎不涉及随机写操作。这种固定长度的分块设计不适合随机写,写入开销大且性能差。但通常用户约有25%的文件操作是进行随机写。针对上述现状,提出一种基于HDFS的文件随机写方法,能对存储于分布式文件系统中的文件进行任意位置的数据写入。
专利文献CN106027647B公开了一种LXPFS集群分布式文件存储系统,采用LXPFS集群给应用提供访问方法,通过封装好的JS API访问LXPFS中的文件;访问LXPFS文件的方式分为三种:读、写和删除;在前端实现访问LXPFS文件的组件,在Web应用开发中只需生成一个组件,调用相应的接口就能实现访问;系统采用主从模式架构,由一个Dispatchnode和一个及以上的Tasknode组成;Dispatchnode是一个controller服务器,负责调配所有文件的存储以及处理并转发客户端的请求,负责管理它所在节点上的存储和响应客户端的请求;上传文件是将数据写入Tasknode中,下载文件则是读取Tasknode文件数据。该专利并不具有适用于分布式文件系统的文件随机写方法。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种适用于分布式文件系统的文件随机写方法及系统。
根据本发明提供的一种适用于分布式文件系统的文件随机写方法,包括:步骤1:将HDFS的写接口更新成支持随机写模式,使随机写操作仅影响直接修改的块或者有限的相邻块;步骤2:扩展HDFS数据传输协议,使客户端可访问任意的数据分块;步骤3:更新服务端数据包处理、更新校验值计算,获取数据副本更新、校验值更新。
优选地,所述步骤1包括:步骤1.1:在DFSOutputStream类中,增加文件偏移方法seek,传入文件偏移量offset,并在方法中调用刷新或关闭当前数据管道中数据节点的连接;步骤1.2:新增成员变量positonCurBlock用于记录当前数据块中的偏移量;步骤1.3:新增成员变量curFileOffset用于记录当前文件中的偏移量;步骤1.4:在seek方法中,根据传入的文件偏移量offset和当前文件偏移量curFileOffset判断是否属于同一个数据块,即curFileOffset/blockSize是否等于offset/blockSize,获取同数据块判断结果信息或者不同数据块结果判断信息;步骤1.5:根据同数据块判断结果信息,调用flushBuffer刷新数据,然后更新bytesCurBlock变量,记录下个数据包在数据块的偏移值;步骤1.6:调用endBlock关闭客户端与当前数据节点的通信连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东计算技术研究所(中国电子科技集团公司第三十二研究所),未经华东计算技术研究所(中国电子科技集团公司第三十二研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910973982.5/2.html,转载请声明来源钻瓜专利网。