『漫游』酷论坛>『eDonkey交流区』>伤脑筋的hash
银美曼@2005-02-18 17:41
有我惨么,一次晚上挂机.早上起来一看,11个下载好的文件都100%下完了.
但不知怎的.就是不hash.我只好关了EM重新开.接下来的事情你们自己想象....
同时hash11个文件的感觉.真是爽!!! = =~
xsam@2005-02-19 00:58
偶C4 2.4G,512DDR,感觉不是很慢啊,也许机器好点吧,所以没留意
zhouwei_e@2005-02-19 01:53
没有什么做到做不到,只是这样更保险,以确保数据的完整性为优先~
换句话说,官版的BT有这个功能么?还不是衍生出来的BT版本搞的这个,BT下了就撤,所以这个问题不明显而已~
zhouwei_e@2005-02-19 01:54
另外,我用的就是2003,如果你不是磁盘碎片的问题,请检查硬盘是否工作在DMA模式下~
iux@2005-02-19 10:09
引用
最初由 Tsuioku 发布
hash的值在一开始下载已经有了,所以下完后的hash绝对不应该是为了获得该文件的hash而hash的。所以是相当多余的功能。
eMule和winny完全是两码事。eMule不是把temp移到incoming中而花费时间,因为temp和incoming设为同一个逻辑硬盘的时候,移动只是重写一下FAT而已,不需要做实际的读写。在temp和incoming在两个逻辑硬盘的时候,才会在漫长的hash之后,再出现一个漫长的copy。
winny因为要重写文件,但不需要重新hash。
所以两者虽然都花时间,但所花的地方是不同的。
这是我常有的事情了。这个时候不是一点点痛苦啊!
bt就无需重新hash。真不明白eMule的这个重新hash到底是干什么用的!强烈抗议!
ED的确是在文件下载完成后不hash文件的,不过呢,ED每次启动需要hash所有共享文件.EM会检查所有文件是否是已知文件,如果文件有改变则必须重新hash,而判断文件是否改变也是依靠已知hash值.所有EM的共享策略就决定了文件完成后必须重新hash.EM不是bt,很简单的道理.
Amelia@2005-02-19 13:03
我用C4 2.4G,512M内存,hash对系统影响不算很大啊!
PS:我用BitComet也设置为下载完成后重新扫描一遍的。
Tsuioku@2005-02-20 10:13
引用
最初由 iux 发布
ED的确是在文件下载完成后不hash文件的,不过呢,ED每次启动需要hash所有共享文件.EM会检查所有文件是否是已知文件,如果文件有改变则必须重新hash,而判断文件是否改变也是依靠已知hash值.所有EM的共享策略就决定了文件完成后必须重新hash.EM不是bt,很简单的道理.
那就请问了,刚下载完成的文件会有改变吗?
其次,eMule把TEMP中的文件转到incoming中,也是在hash完之后的事情,这也正说明,eMule不是在hash一个新文件,而是在检查一个老文件。那阁下的“ED的确是在文件下载完成后不hash文件的”又从何说起呢?
zhouwei_e@2005-02-20 15:36
1.很难说,不能确保你那个文件就是完整的,任何意外的情况都可能会导致文件的改变,而你却不得而知~
2.你自己的理解错了,从某种意义上来讲,它确实是hash新的文件~
.part文件实质上就是新文件,完成后hash成功,在一个分区只需改名,动一下分区表,自然不会有大动作,如果是两个盘符,则移动该文件~
3.他说的可能是指EM每次启动时,检查所有的文件是否有改变,如果有,重新hash该文件~
bullwa@2005-02-20 15:49
BT的文件信息储存在Torrent文件之中,就算文件有损坏,在BT网络中还是同样的一个文件,不会影响未损坏部分的文件共享
EM的文件信息直接依靠文件本身,如果文件有损坏,在EM网络中就相当于另外一个文件了,影响了未损坏部分的分享。
如此这样下去,就有可能会产生大量同样文件名不同Hash的文件。我相信,谁也不愿意看到这种局面吧??
ccccc@2005-02-20 18:20
我的EM老是下载完了不能HASH,提示空间不够,可是空间明明有的是,
就是不hash,文件在temp文件夹力里,还要自己关EM,改文件名再移走...
zhouwei_e@2005-02-20 19:22
那是文件名存在问题,你用的版本过低吧?
是不是0.44之前的
Tsuioku@2005-02-20 22:39
引用
最初由 bullwa 发布
BT的文件信息储存在Torrent文件之中,就算文件有损坏,在BT网络中还是同样的一个文件,不会影响未损坏部分的文件共享
EM的文件信息直接依靠文件本身,如果文件有损坏,在EM网络中就相当于另外一个文件了,影响了未损坏部分的分享。
如此这样下去,就有可能会产生大量同样文件名不同Hash的文件。我相信,谁也不愿意看到这种局面吧??
下载文件的hash早在开始下载时,已经获得,完全可以拿来就用。最终的hash还不过是校对而已。
treenode@2005-02-20 23:36
自己的理解,可能不完全正确
1、eMule是根据Hash值而不是根据文件名来判断文件是否相同的,否则的话两个用户可能共享的文件名完全相同,实际上却是毫不相干的不同文件;或者自己修改了文件名,而文件内容却完全没变。eMule必须通过Hash来验证文件内容是不是符合要求。
2、文件下载完成不一定能保证正确,我在BitComet遇到过这样的事情:看着文件已经下载完成,过了一会系统突然死机,再开机以后重新检查文件,发现正确率只有99%点多,剩下的那部分只好再下一次。当然这几率是很小,但是你也要考虑,即使对你来说是万分之一的几率,但对正好下载了那个文件的用户来说就是百分之百,谨慎一点不比辛辛苦苦下一个坏文件强吗?
3、我觉得Hash虽然占用资源比较厉害,但还不至于弄死整个系统。我最大一次Hash过5G的文件,Hash过程中浏览器反应只是稍微有点迟钝,在任务管理器里面把EM的优先级设为“低于标准”,浏览器马上反应正常。不知道别人的机器是怎么配置的。就我的经验,一般优先级的程序即使CPU占用到了100%,也很难让整个系统死掉,调出任务管理器杀掉就是了。只有高优先级的程序才会比较难对付,但是有几个程序有这么霸道呢?
Tsuioku@2005-02-21 01:24
hash对cpu占用率倒是不高,关键太占内存,小内存的就麻烦了,硬盘会被拿来当缓存,这样不但无法增加hash的速度,反而在需要大量进行读取动作的hash时候又增加了大量的写入和额外的读取,使得速度变得更慢。最终引起硬盘跟不上网速,eMule中所有其他的下载和上传全部强迫中断。
zhouwei_e@2005-02-21 08:06
内存?
请检查相关设置是否有误
«123»共3页
| TOP