一种分布式文件系统提升上载文件速度的方法技术方案

技术编号:37259088 阅读:11 留言:0更新日期:2023-04-20 23:34
本发明专利技术涉及文件上传技术领域,且公开了一种分布式文件系统提升上载文件速度的方法,包括以下步骤:第一步:检查网络协议是否支持多线程;第二步:对文件进行分块;第三步:开始上传线程;第四步:打开本地输入以及网络中的输入流,用DEFLATE算法对输出流进程封装;第五步:进行传输,中断则保留分段信息;第六步:完成上传,该分布式文件系统提升上载文件速度的方法,通过多线程和文件分段的方式,可充分利用网络和CPU资源,减小本地存储设备的读写限制对传输速度的影响。制对传输速度的影响。制对传输速度的影响。

【技术实现步骤摘要】
一种分布式文件系统提升上载文件速度的方法


[0001]本专利技术涉及文件上传
,具体为一种分布式文件系统提升上载文件速度的方法。

技术介绍

[0002]随着技术的发展,视频、图片等各种文件的格式也在不断进步,消费者也倾向于选择更大存储空间的设备。更清晰的画质、音质,更详细的数据,使得文件的体积也在不断的膨胀。导致文件在网络中传输也需要更多的计算和更多的带宽占用。
[0003]常见使用一些分段工具,进行上传后,再对云端文件使用不同的算法进行校验,校验完整则上传完毕,如中国专利CN113938269B一种文件分片上传校验方法,其中,该方法包括:接收终端上传的目标文件的初始MD5值和文件大小值;接收终端生成的分片数据及其前置MD5中间对象和当前MD5中间对象;将本地接收到的分片数据和前置MD5中间对象在数据层合并,并判断合并的结果与终端生成的当前MD5中间对象是否一致,若是,输出分片数据的校验正确信息;在所有分片数据上传及校验完成之后,根据最后一个分片数据的当前MD5中间对象确定目标文件的接收MD5值,判断接收MD5值与初始MD5值是否一致,若是,输出文件校验正确信息。
[0004]CN109246221A一种多文件的数据分段高速上传方法,属于数据传输
,本专利技术的多文件的数据分段高速上传方法包括:获取待上传文件的结构信息;发送所述待上传文件的结构信息到服务器;接收服务器发送的几何拓扑结构信息;根据所述几何拓扑结构信息传输所述待上传文件到服务器的多个存储节点。
[0005]本专利技术提供了一种多文件的数据分段高速上传方法、客户端和服务器,可实现多个文件数据的的快速传输。
[0006]而上述专利中和业界常用上传方案中,在本地文件上传到云端的过程中,可能会遇到本地存储设备和云端存储设备的IO(读写)瓶颈,网络吞吐量瓶颈、网络协议的限制,导致文件的上传速度不佳,为此我们提出了一种分布式文件系统提升上载文件速度的方法。

技术实现思路

[0007](一)解决的技术问题
[0008]针对现有技术的不足,本专利技术提供了一种分布式文件系统提升上载文件速度的方法,实现分段、多线程、数据流压缩等技术问题。
[0009](二)技术方案
[0010]为实现上述所述目的,本专利技术提供如下技术方案:一种分布式文件系统提升上载文件速度的方法,包括以下步骤:
[0011]第一步:检查网络协议是否支持多线程;
[0012]第二步:对文件进行分块;
[0013]第三步:开始上传线程;
[0014]第四步:打开本地输入流以及网络中的输出流,用DEFLATE算法对输出流进程封装;
[0015]第五步:进行传输,中断则保留分段信息;
[0016]第六步:完成上传。
[0017]优选的,第一步的具体内容为:检查是否支持随机打开文件的某个位置,支持随机写入则支持多线程。
[0018]优选的,第二步中的具体内容为:文件长度为x,分块后三段文件的地址范围为[0,x/3)、[x/3,2*x/3)、[2*x/3,x)。
[0019]优选的,第三步的具体内容为:基于分块的数量,在线程池中启动对应数量的上传线程,每个线程只上传对应的一段文件,并将分段信息作为常量,放入对应线程。
[0020]优选的,第四步中DEFLATE算法每次以32KB的缓冲区大小进行压缩。
[0021]优选的,第五步的具体内容为:将压缩的缓冲区放入网络输出流中,并得到这次的压缩后缓冲区大小,下一次传输以压缩后缓冲区大小加当前偏移量作为下次偏移量,开始下一次的缓冲区传输和压缩,如果上传线程遭到中断,则保存当前线程的传输结果,最后保存整个分段信息标记文件。
[0022](三)有益效果
[0023]与现有技术相比,本专利技术提供了一种分布式文件系统提升上载文件速度的方法,具备以下有益效果:
[0024]1、该分布式文件系统提升上载文件速度的方法,通过多线程和文件分段的方式,可充分利用网络和CPU资源,减小本地存储设备的读写限制对传输速度的影响。
[0025]2、该分布式文件系统提升上载文件速度的方法,通过对缓冲区的压缩,有效减小了网络的吞吐量,提升了传输速度。
[0026]3、该分布式文件系统提升上载文件速度的方法,与现有专利CN113938269B的链式的校验对比,本申请实现了多文件片段同步上传,解决了分片上传的校验速度较慢的问题,上传结束后无需再将各个分片数据合并,从而节省了合并动作所需的算力,提升了文件校验速度。
附图说明
[0027]图1为本专利技术流程示意图。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0029]请参阅图1,一种分布式文件系统提升上载文件速度的方法,包括以下内容:
[0030]步骤101、检查当前使用的网络协议是否支持本专利技术的多线程,主要判断方法为,是否支持随机打开某个文件(不从文件的0位置开始写入,而可以随机从某一个给定的位置写入数据)。大多数网络协议都支持随机写入文件,如HTTP、FTP、SMB。如果支持随机写入则
进入步骤102,不支持则只进行普通的单线程复制,不属于本专利技术的范畴。
[0031]HTTP是一种客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用、或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)叫(user agent)。应答的服务器上存储着资源,比如和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个,比如代理,网关,或者隧道(tunnels)。尽管是互联网上最流行的应用,HTTP协议并没有规定必须使用它和它支持的层。事实上,HTTP可以在任何其他上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。
[0032]通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而提供传输控制,按顺序组织数据,和错误纠正。
[0033]通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。
...

【技术保护点】

【技术特征摘要】
1.一种分布式文件系统提升上载文件速度的方法,其特征在于,包括以下步骤:第一步:检查网络协议是否支持多线程;第二步:对文件进行分块;第三步:开始上传线程;第四步:打开本地输入流以及网络中的输出流,用DEFLATE算法对输出流进行封装;第五步:进行传输,中断则保留分段信息;第六步:完成上传。2.根据权利要求1所述的一种分布式文件系统提升上载文件速度的方法,其特征在于:第一步的具体内容为:检查是否支持随机打开文件的某个位置,支持随机写入则支持多线程。3.根据权利要求1所述的一种分布式文件系统提升上载文件速度的方法,其特征在于:第二步中的具体内容为:文件长度为x,分块后三段文件的地址范围为[0,x/3)、[x/3,2*x/3)、[2*x/3,x)。4.根据权利要求1所...

【专利技术属性】
技术研发人员:赵祥孙伟峰
申请(专利权)人:北京小熊博望科技有限公司
类型:发明
国别省市:

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

1