[发明专利]一种文件传输方法及系统在审
申请号: | 201710386068.1 | 申请日: | 2017-05-26 |
公开(公告)号: | CN108933805A | 公开(公告)日: | 2018-12-04 |
发明(设计)人: | 李春祝;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 430000 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指定文件 服务端 唯一标识 上传 文件上传请求 文件传输 文件切片 并行处理 发送文件 切片处理 切片文件 文件上传 大文件 多线程 客户端 切片 线程 返回 分割 联合 | ||
1.一种文件传输方法,应用于客户端,其特征在于,包括:
S101,向服务端发送文件上传请求,所述文件上传请求中包括指定文件的文件名称和文件总长度;
S102,获取所述服务端针对所述文件上传请求返回的文件唯一标识;
S103,利用所述文件唯一标识对所述指定文件进行标识,利用多个子线程分别向所述服务端上传所述指定文件的多个切片文件流;所述多个文件切片流为所述指定文件按指定切片大小分割而成,且利用所述文件唯一标识对所述多个文件切片流进行标识。
2.如权利要求1所述的方法,其特征在于,所述S101进一步包括:
获取指定的安全检测方式,基于所述指定的安全检测方式在所述文件上传请求中加入所述指定的安全检测方式和特定检测信息;
其中,所述指定的安全检测方式为公共上传、提供应用下载上传和设置密钥下载上传中的任一种;
其中,当所述指定的安全检测方式为提供应用下载上传时,所述特定检测信息为指定应用的唯一标识;当所述指定的安全检测方式为设置密钥下载上传时,所述特定检测信息为指定密钥。
3.如权利要求1所述的方法,其特征在于,所述S103中所述多个文件切片流为所述指定文件按指定切片大小分割而成包括:
步骤1,获取所述指定文件的文件名称和文件路径,获取所述指定文件的文件总长度;
步骤2,基于所述文件总长度以及指定切片大小,利用文件切片算法获取所述指定文件的切片信息,包括:
最大线程个数=切片数目=文件长度/指定切片大小;
第N个切片信息的块开始位置=(N-1)*指定切片大小。
第N个切片信息的块结束位置=N*指定切片大小,若为最后一块,块结束位置为所述指定文件的最后字节位置;
切片长度=块结束位置-块开始位置;
其中,1<=N<=切片数目;
步骤3,基于所述指定文件的切片信息,获取多个切片文件流。
4.如权利要求3所述的方法,其特征在于,所述S103进一步包括:
S103.1,基于所述多个切片文件流,为每一个切片文件流分配一个子线程,利用所述文件唯一标识、所述一个子线程的编号和字节偏移量对所述每一个切片文件流进行标识;其中,所述字节偏移量为所述每一个切片文件流的切片信息中的块开始位置;
S103.2,基于每一个切片文件流,利用分配给所述每一个切片文件流的子线程向所述服务端发送所述每一个切片文件流。
5.如权利要求3所述的方法,其特征在于,所述步骤3进一步包括:
基于一个切片信息的块开始位置和块结束位置,读取所述指定文件中从所述块开始位置到块结束位置的全部字节,生成所述一个切片文件流;其中,对于任意字节的读取步骤包括:
查询当前缓冲区中是否存在所述任意字节;若存在,则从所述当前缓冲区中读取所述任意字节;
若不存在,将所述当前缓冲区定位到所述任意字节所在的特定位置,并将所述特定位置开始的预设长度的字节内容填充到所述当前缓冲区,直至重新查询到当前缓冲区存在所述任意字节而读取所述任意字节。
6.一种文件传输方法,应用于服务端,其特征在于,包括:
S201,接收客户端发送的文件上传请求,所述文件上传请求中包括文件名称和文件总长度;
S202,生成针对所述文件上传请求的文件唯一标识,并返回给客户端;
S203,利用线程池中的不同线程依次接收所述客户端发送的多个切片文件流,将所述多个切片文件流合并成一个文件;其中,所述一个文件通过所述文件唯一标识进行标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710386068.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对等网络构建方法和装置
- 下一篇:一种车辆智能调节系统及方法