怎样同步大文件
Ⅰ 如何实现文件增量同步
一.分而治之
计算机最重要的基本算法思路就是分而治之,在我们眼里,一个文件不是一个文件,而 是一堆存储块,每个存储块可能20Byte大小,至于这个值具体多大,你可以自己设定,这里的20Byte仅提供参考。通过这样的方法,一个文件被分成了 很多个块,我们只需要比对块是否相同就可以得出哪个部分做了相应修改。
二.快速校验
刚上面提到如何比对文件,当然这里肯定不会把文件的每个块上传去比对,那样做就没 有意义了。快速比对这不禁让我想起了哈希规则,哈希表可以通过O(1)的复杂度查找某个key,为什么? 因为它通过计算hash值来初步验证key,一个key的hash值是唯一的。但是仅仅验证hash值是不可靠的,因为hash值有可能会冲突,所以在 验证完hash值后,我们在进行key的比较来确定要找的值...
通过哈希的思路,我们可以使用类似的方法来实现文件增量同步,把每一个存储块,通过MD5计算其值,然后传递MD5值到服务器,让服务器比对MD5来确定有没有被修改,如若MD5值不相等,则判定这个文件块有被修改过
为什么是MD5?
1)能够将任意长度的字符串转换为128位定长字符串(MD5 16)
2)MD5能够保证绝大部分情况下不同的值hash之后其hash值不一样,哈希冲突比较少
这样就可以了吗?
No,MD5的生成需要占用比较长的CPU时间,所以我们需要寻找一种更简洁的校验方式,这里选用Alder32是一个比较通用的解决方案
Alder32有两个优点:
1、计算非常快,比MD5快多了,成本小;
2、当我们有了从0-k长度的校验和后,计算出1-k或者2-k等其他校验和非常方便,只要少量运算即可。(k可以理解为上面的20Byte)
当然,它的缺点也很明显,就是碰撞率比MD5高多了,所以,我们客户端需要同时计算出Alder32校验和与MD5值,传给服务器,而服务器,为了节省CPU时间,第一步只生成Alder32进行校验,当值相等时,在进行MD5校验,这样服务器就节省了很大的开支。
Alder32算法实现:
A=1+D1+D2+...+Dn(mod65521)B=(1+D1)+(1+D1+D2)+...+(1+D1+D2+...+Dn)(mod65521)=n×D1+(n−1)×D2+(n−2)×D3+...+Dn+n(mod65521)Adler-32(D)=B×65536+A
C实现版本
constintMOD_ADLER=65521;unsignedlongadler32(unsignedchar*data,intlen)/*atainbytes*/{unsignedlonga=1,b=0;intindex;/**/for(index=0;index<len;++index){a=(a+data[index])%MOD_ADLER;b=(b+a)%MOD_ADLER;}return(b<<16)|a;}
三.实现更改
因为已经找出来了文件不同的地方,所以只需要按需上传更改的部分到服务器,然后服务器做更改就可以了。
Ⅱ 电脑上超过2个G的大文件如何传到苹果手机上面
以iphone 7手机为例,可参考以下步骤将大文件从电脑传到手机:
1、在的电脑桌面上找到is助手并点击它。
Ⅲ iphone7plus如何传大文件
操作方法:
下载并打开iTunes软件,并将iphone与电脑连接。
点击右上角的“iphone”,进入自己的iphone设置
在菜单栏上点击“应用程序”,进入应用程序设置界面
在“文件共享”下,选择能打开文件的应用程序。
在右边文档列表中,点击右下角“添加”,选择电脑上要添加的文件。
添加完毕,点击右下角“同步”,同步完毕,在菜单栏上点击“完成”,再点击右上角“iphone”旁边的弹出图标,即可拔下iphone数据线。
Ⅳ 小米云同步检测一个文件过大不能同步什么删除
您好,我们没有看懂您的问题,如需要,请详细描述。
首先,我们目前支持同步的文件最大为4G;
如需删除大文件,在i.mi.com登录可直接删除;
如果文件过大未同步则无需删除,因为文件没有同步至云端。
如有其他问题,请追问~
Ⅳ 怎样能快速的将电脑上的大文件传到苹果手机上
同路由器的话用QQ传输,超级给力的,不受带宽限制,能达到每秒10MB左右,接近百兆光纤
Ⅵ 怎样能快速的将电脑上的大文件传到苹果手机上
建议用数据线连接电脑传输
使用iTunes软件进行传输
第一步:
首先在电脑的浏览器当中找到iTunes的官方软件,然后将它下载并安装到电脑当中,安装完成以后,对其进行相应的设置。
第二步:
iTunes软件的相关设置完成以后,将iPhone设备和电脑使用数据线连接,这时iTunes软件就会自动启动,并弹出一个窗口,如果iTunes软件没有自动打开,则需要手动将其开启,然后将iPhone设备和电脑连接。
第五步:
将想要上传的文件完成复制粘贴以后,再选择一些想要进行同步的文件夹,只要使用鼠标点击同步即可进行文件夹的同步。
第六步:
完成文件夹的同步以后,我们就可以在iPhone设备当中看到想要上传的图片了。
Ⅶ 百度云盘大文件10G左右文件无法同步
因为,网络云盘对于用户级别设置有单文件大小的限制。
网络云盘的同步实现本地硬盘设定的文件夹和云端之间的双向更新,使得两端的文件始终保持一致,即本地硬盘新增文件时,自动上传到云端备份。而网络云盘普通用户只支持单文件最大4G的上传(包括同步到云端),若不开通云盘会员就只能上传4G以下大小的文件。
1、普通用户:使用网络云管家或浏览器插件上传最大4G单个文件。
不开通会员的话是无法上传单文件4G以上的文件的,可试着将文件分割(比如视频文件可分段)后再同步或上传,也或者开通网络云会员,用特权来实现上传。
Ⅷ 如何传输大容量文件
一、QQ
QQ实际上分三种方法:
1. 离线传送文件:只要小于2G就可以离线传,传送成功后(离线进行中也可以接收)对方就可以接收了。
2. 同时在线传送:如果文件大于2G就只能双方同时在线传送了。阳阳提醒:传送过程中双方不可以关闭QQ,或关闭电脑。
3. QQ邮箱超大附件:同样的,不可以大于2G总容量。官方提示超过2G可以通过安装插件实现,不过阳阳老师体验了一下,结果……安装失败了……
二、网盘
1. 360网盘:不解释据说不能用了……
2. 网络网盘:由于众所周知的原因……上传的时候最好改成和谐以后的名字……否则不能上传……
3. 上传后就可以生成网址,转发给需要文件的人了……
三、复制到优盘中,然后直接发快递
Ⅸ windows下用SyncToy怎么同步电脑文件
一、服务器说明:
二、安装SyncToy:
SyncToy v2.1工具大小:2.9M
安装要求:安装之前须安装Microsoft.net frameworks
默认安装路径:C:Program FilesSyncToy
在本次运用中,将SyncToy安装在10.134.130.104中。安装完成后看到的SyncToy运行界面如图 一。
三、使用SyncToy:
安装完成SyncToy后,开始进行同步资料夹设置。
点击主界面下方的“Create New Folder Pair”按钮创建一对新的操作目录,程序弹出如图
二的窗口。在这个窗口的标题栏中我们可以看到操作一共分为四个步骤,操作上非常简便。点击“Left
Folder”下的“Browse”按钮,选择左目录的路径。在此我们选择本机存放ASP文件夹的目录路径C:webProgram,选择好后点击
“Next”进入第二步设置。
在此界面,添加另一台服务器(10.134.130.105)同步资料夹目录。此步进行时需要将10.134.130.105中的同步目录进行
共享,因 两台服务器搭建了单播的NLB,所以主机之间不能进行相互通讯,所以在此使用内部通讯IP
192.168.1.104和192.168.1.105进行数据同步。相关设置如图 三。
点击“Next”进入选择同步模式界面。ScncToy一共提供了五种的同步操作,它们分别是“Synchronize”、“Echo”、
“Subscribe”、“Contribute”、“Combine”,把鼠标移动到它们上面会有相应的提示说明。在此,简单对这五种模式做一简单描
述:
“Synchronize”:新文件和更改过的文件在左右目录中将互相复制,同时,若两个目录中有同样的文件,在其中一个目录有重命名或者删除的,在另一个目录中也将执行同样操作。
“Echo”:左目录中的新文件和更改过的文件将复制到右目录中;同时,若两个目录中有同样的文件,在左目录中有重命名或者删除的,在右目录中也将执行同样操作。本专案同步使用此操作,如图 四。
“Subscribe”:右目录中更新过的文件将复制到左目录,如果左目录中存在同样的文件,在右目录中有重命名或者删除的,在左目录中也将执行同样操作。
“Contribute”:和Echo的操作类似,但是不执行删除操作。
“Combine”:新文件和更改过的文件在左右目录中将互相复制,但是不执行重命名和删除的对比操作。
完成同步模式设置后,点击“Next”进入最后一个步骤——命名(如图 五)。
设置好后,点击“Finish”即完成所有的基本配置,完成界面如图 六。
点击“Preview”,预览ScncToy将进行的操作,在模拟运行完成后,我们将看到运行结果,如图图
七。红色显示的为两台服务都存在该文件,但在左目录(10.134.130.104)中的文件已被修改;蓝色显示的为左目录新加入的文件;其他操作也都有
详细的描述,例如删除、重命名等。
我们也可以直接点击“Run”运行此方案。方案运行中将全部自动完成,无需人工操作值守,对于大文件夹、双机之间的同步十分方便。同步完成后,SyncToy会给出一份运行结果,其中标明了删除、覆盖、重命名等操作的结果,用户可以全面掌握运行结果。
四、使用Windows 计划任务配合同步工作:
配置好SyncToy以后,因该工具不能设置自动运行时间,所以需要结合Windows计划任务配合,自动完成同步工作。
因要在计划任务中使添加的SyncToy自动运行,需要在“Run”中添加如SyncToy运行程序路径,并在其后添加运行参数“ – R”,例:"C:Program FilesSyncToy 2.0 BetaSyncToyCmd.exe"
-R Sync
对于计划任务的其他设置,在本文中不作讲述。
Ⅹ 大于5G的文件在网上用什么方法,发送去别人接收
1、双击打开电脑桌面上的网络网盘,进入网络网盘后点击页面左上角的上传选项。