何为“秒传”

写在前面

最近一直在弄文件传输的组件,在讨论组里面,有同事提到“秒传”的功能。在目前的通信软件中也有网盘的功能,就从网上搜了一下,这里对“秒传”的实现思路做一下总结,在之后会写一个小的demo实现一下。没有其他,只为觉得好玩。

秒传

其实知道原理了,实现起来也很简单了。

秒传是一种在网盘上常见的“忽略式”上传方式,就是您上传了一个文件名为111.exe,MD5为一个数,有一个网友以前也上传一个叫111.exe,MD5和您上传的文件MD5码一模一样,所以这个文件上传到服务器上的时间就很短了,这是因为别人上传过这个文件,您上传这个文件,服务器上有这个文件了,所以服务器发放给你一个文件访问地址就行了!

上传到网盘的每个文件,服务器都会校验MD5码。如果这个您上传的文件MD5码与已经存在于服务器里的文件的MD5码相同的话,网盘服务器将会判断成为重复文件,只需要复制副本保存在网盘上即可,无需重新保存,因为有过这个文件,于是很快完成上传任务,并在有人需要下载的时候将原有的该文件的下载地址放出。这样实现了服务器的高效运作。

把你要上传的东西压缩成RAR,东西上传,服务器会先做MD5校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文件,想要不秒传,其实只要让MD5改变,就是对文件本身做一下修改(改名字不行),例如一个文本文件,你多加几个字,MD5就变了,就不会秒传了。

但是有些文件我们不好改变,也不想改变,那其实只要压缩一下,MD5就变了,而下载的人也能获得最原始的资料,不过就是加压要花费一点时间。

----百度百科

画一个简单的模型:

当然,服务器端是默认接收文件的,接收的时候,就要判断该md5是否已经存在,如果存在则说明存在该文件,则向客户端发送一个命令,说明文件已经存在,则客户端不必再发送后续的文件包。

总结

其实当你知道,什么是秒传的时候,实现起来并不太难,你使用wcf也好,开源的superscoket也好,服务器端总归能弄好的。在后面,将使用wcf做一个简单的例子。还是那句话,只是觉得好玩。 这里记录一下“秒传”的实现思路,也算是对网盘秒传功能的一个简单的预研。

时间: 2024-11-05 15:47:45

何为“秒传”的相关文章

用wcf实现带有“秒传”功能的网盘

写在前面 前面记录过这样一个关于“秒传”的实现思路,在这篇就弄了一个简单的demo实现了一下,当中有很多业务仍没考虑,只是将“秒传”的实现思路,用代码实现了一下. 关于秒传,可以参考这篇文章:何为“秒传” 项目结构 各项目的作用,这里就不再赘述了,看项目名称就一目了然了. 使用技术:wcf,linq to sql等. 开发环境:vs2013 ,sql server2012. 项目界面 默认登录用户:wolfy,密码:1234 主界面 简单测试 上传一个网盘中已经存在的文件 上传一个网盘中不存在的

文件秒传

ClientFiles.java /** * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com * @author 小沫 */ package com.files.mc; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.

31.TCP设置ip 文件秒传

明天你好 文件传输: 服务器传给客户端叫下载 客户端上传服务器拿就叫上传 ! 如果你服务器端写上固定ip地址的话 那么客户端只能通过你固定的ip地址才能访问你的服务器 不写的话就没有限定 客户端可以同 127.0.0.1 或者 192.168.... 等等ip地址访问你的服务器 中级的参数是限制访问人数 0 代表可以书五个人来访问 ServerSocker ser=new ServerSocket(7410 ,0 ,Inet4Address.getByname("127.0.0.1")

检测 qq文件助手有秒传功能

:现象:qq文件助手有秒传功能.:原理:会根据你上传文件,先在云中匹配,有就直接选择云中的文件,这就叫秒传. :测试:现在我要测试它是怎么匹配的.测试文件为274M.ape使用ue打开,分别修改前面.中间.结尾的二进制数4bit,依次命名为274M_start.ape, 274M_mid.ape, 274M_end.ape再次通过qq文件助手上传,发现274M_mid.ape会秒传.:结论:qq文件助手秒传匹配的是文件开始和结尾的部分.

Others # 百度秒传,MD5加密,Google Map Api Key,Google DNS优选

本文主题:百度秒传,MD5加密,Google Map Api Key,Google DNS优选 百度秒传, http://blog.sina.com.cn/s/blog_4ca33d7c0101llyh.html MD5加密, http://www.myhack58.com/Article/60/76/2008/19525.htm http://blog.csdn.net/ztz0223/article/details/2129764   md5校验和sha1校验 http://bbs.chin

大文件分片上传,断点续传,秒传 实现

前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长,请求超时:3,传输中断,必须重新上传导致前功尽弃: 解决方案: 1,修改服务端上传的限制配置:Nginx 以及 PHP 的上传文件限制 不宜过大,一般5M 左右为好: 2,大文件分片,一片一片的传到服务端,再由服务端合并.这么做的好处在于一旦上传失败只是损失一个分片而已,不用整个文件重传,而且每个分

完整版断点续传、秒传,支持超大大大文件_支持重定义文件名和路径

需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验: 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包含层级结构. 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传.刷新页面后继续传输.关闭浏览器后保留进度信息. 支持文件夹批量上传下载,服务器端保留文件夹层级结构,服务器端文件夹层级结构与本地相同. 支持断点续传,关闭浏览器或刷新浏览器后仍然能够保留

支持IE低版本的上传 大文件切割上传 断点续传 秒传

1. http://files.cnblogs.com/files/blackice/UploadDemo.rar 此demo是使用的 swfupload 2.http://download.csdn.net/detail/rememberme001/9873136 支持大文件传输,先把大文件分割成每个2M的小文件分批上传,再组合成一个大文件. 支持断点续传,MD5校验实现妙传功能,支持IE低版本.

企业用户2T(含秒传),普通用户20G

周鸿祎一定要看的建议(要求置顶):可以解决本次云盘事件的建议!!! 2016-10-23 20:23 | 复制链接 | 淘帖 461334 本帖最后由 cqthxin 于 2016-10-23 20:48 编辑 早日推出企业版,云盘储存量超过2TB的用户直接升级为企业版(付费转型)!这样做的好处是大客户就不用急着下载了!如果个人版确实不想做了,要关就关吧!2TB以内的用户3个月时间应该可以转移自己云盘中的资料!如果要做的话,提出一个中肯建议,像大众解释云盘运作困难的原因,然后制定如下措施:1.庄