2006年11月29日

P2P中的优先与公平政策

今天在用emule下载一个文件的时候,下载到百分之九十六却再也进行不下去了。虽然有源,但是只有两个源,我只好在好面排队了。结果这个队列一排就是两天, 直到今天才看到有了点动静。


对于此,我想到或许我们能够做点什么,对于下载文件来说,文件的各部分一般不是平均的,而是有些部分源非常多,而有些部分则源相对的少,甚至只有一个或者
是两个。为什么会出现这种情况呢?一般来说,文件的各部分被下载的机会应该是均等的,但是,去emule里看一下,你就会发现很多这样的情况,也就是文件
的很小的一点会出现断源的情况,也就是说很多人都已经下载了百分之99而最后的那一点却出现了无源或者是少源的情况,这可能与当初的emule设计时希望
大家扩大共享而强制在下载接近完成的时候延长下载时间,以为其他用户提供源吧。而由此造成的结果就是文件的某一部分源的缺失,而且随着文件的传播,这部分
越来越难以下载,结果会形成只有很少的一部分已经完成下载的用户才拥有这一点,其他人只能够在这几个人那里排队,从而越来越难以下载,而且如果唯一的源如
果不在线,其他人将无法下载,可能要等几天,几个周,甚至永远的等下去。这样的情况是我们所不希望见到的。


也许可以考虑解决一下这个问题,尽量让文件的所有部分都能够得到均等的机会,或者我们可以优先传播那些文件中源相对少的部分。在用户开始下载的时候,加入
新的规则,如机会均等的情况下,优先下载那些源相对少的部分。同时寻找下载源时,优先从完整源下载健康度低的部分,这样如果开始的时候有机会下载,应该尽
量将带宽提供给不够健康的部分。而上传时则优先提供网络上源少的部分的上传。

以上规则并不是绝对的,而是在现有的规则下进行的适当调节。对于当前的下载速度并不会降低,这样可以充分利用带宽,同时保证P2P网络的健康发展。



Technorati Tags:



powered by performancing firefox