搜索 社区服务 统计排行 帮助
  • 1712阅读
  • 39回复

[转贴]CN版的上传客户选择算法

楼层直达
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
一、什么是上传客户选择算法?
上传客户选择算法是指从排队队列中选择一个客户进入上传队列的算法。由于官方版本采用按照得分的大小决定进入上传队列的次序的算法,所以上传客户选择算法有时候也会被称为评分算法或者排队算法。

二、CN版是怎么实现上传客户选择选择的?
CN版和官方版本不同,没有采用排队算法,而是采用了概率选择。具体步骤如下:
1. 计算每个客户的信用。计算方法:上传量 + 上传量/16 - 下载量。
2. 根据信用计算每个客户的评分。计算方法:按客户信用排序,得到每个客户的名次,评分=1000000/客户名次。
3. 根据文件的优先级计算客户的得分。计算方法:文件的优先级有五级,发布、高、普通、低、很低,每级的调整系数分别为1024、4、1、1/4、1/16,客户的得分=客户的评分*文件优先级调整系数/同时请求下载此文件的客户数。
4. 根据客户的得分选择客户。客户的得分实际上是客户被选择的相对概率。每个客户被选择的绝对概率=客户的得分/总的客户得分。
例外:
1. 未通过安全UserHash认证的客户得分为0。
2. 如果文件上传总量小于文件大小,那么在步骤3中客户的得分=客户的评分*1024,即相当于发布级文件且只有一个客户下载。
3. 文件交换。如果某个客户当前Session的信用为正,而且正在给你上传,那么你立即把他加入上传队列。
4. 公式化社区共享功能中每加1点相当于计算信用时上传量增加1KB。

三、为什么要这样实现CN版的上传客户选择算法?
主要基于以下几点考虑:
1. 充分奖励积极上传的客户,适当惩罚不积极上传的客户。在下载相同文件的时候,第1名的客户的下载机会是第1000名的1000倍,这是充分奖励的体现。对于1000个客户的队列,排名中间的第500名的下载机会是排名最后的2倍,这是适当惩罚的体现。
2. 同样情况下,每个文件的上传机会相同。由于在计算得分时除了同时请求下载的客户数,因此同样优先级的文件的上传概率相同。不同优先级文件的上传概率为他们文件优先级调整系数的比。比如两个文件,第一个只有1个人下载,第二个有1000个人下载,在官方的算法中,恐怕上传队列里都是下载第二个文件的,在CN版中第一个文件能够得到充分的机会共享出去。
3. 只要排队就有机会得到下载机会。选择上传客户的时候,每个客户都有可能被选择,在队列中时间越长的客户得到的选择机会就越多,但是这些机会已经体现在过去的选择中,因此排队队列中客户被选择的机会与时间无关,只要在队列中就有可能被选中。如果上传方采用这种选择方式,你就不必为不能24小时开机而苦恼,你排队的每分钟都可能为你带来下载机会。
4. 两个客户交换文件能够实现最高的性能。参见例外3。一旦开始交换,这种机制能够保证两个CN版客户互通有无。
5. 把自己下载的上传出去是每个客户应尽的义务。参见例外2。尽可能的1:1,这种机制能够尽可能的避免断档。

四、CN版有文件的自动优先级吗?
CN版没有自动优先级,CN版都是自动优先级。对于整个文件的上传机会而言,CN版没有自动优先级。对于单个客户而言,CN版的文件优先级都是自动优先级,会自动的根据下载人数的多少进行调整。由于开发者的懒惰,CN版目前没有去掉自动这一级别,但是无论是什么自动级别,都相当于普通级。

五、为什么在新的CN版中加分的效果不明显?
EMule是一种P2P的文件共享软件,共享文件,使得共享着的文件能够及时地被下载是EMule的主要目的。至于下载文件的是些什么客户就不是EMule主要关心的内容。信用的引入是为了整个EDonkey2000网络的正常发展。新的CN版强调了文件分享的效果,相对的减弱了加分的效果。CN版也有强调信用的方式,加强了些加分的效果,但是我们推荐使用随机选择方式。

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 1楼 发表于: 2004-11-20
总算从acat那敲诈到完整地说明了,哈哈哈哈~~

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 侠客
注册时间:
2003-02-26
在线时间:
0小时
发帖:
334
只看该作者 2楼 发表于: 2004-11-20
Re: [转贴]CN版的上传客户选择算法
引用
最初由 zhouwei_e 发布
2. 同样情况下,每个文件的上传机会相同。由于在计算得分时除了同时请求下载的客户数,因此同样优先级的文件的上传概率相同。不同优先级文件的上传概率为他们文件优先级调整系数的比。比如两个文件,第一个只有1个人下载,第二个有1000个人下载,在官方的算法中,恐怕上传队列里都是下载第二个文件的,在CN版中第一个文件能够得到充分的机会共享出去。

這點我可以證實...
今天為了發佈 My-HiME 08 特別把 CN 版的官方算法打勾
發現效果不錯...符合我要的要求^^
因為我正在抓的東西沒有比大家要抓的 My-HiME 08 多
所以 My-HiME 08 的要求量大約我其他下載的 50~100 倍
結果我從原本每一線上傳都不是 My-HiME 08 漸漸被踢掉便成全部都是
看來 eDonkey2000 真的是官版算法^^"
引用
最初由 zhouwei_e 发布
一、什么是上传客户选择算法?
上传客户选择算法是指从排队队列中选择一个客户进入上传队列的算法。由于官方版本采用按照得分的大小决定进入上传队列的次序的算法,所以上传客户选择算法有时候也会被称为评分算法或者排队算法。

照官方算法來看似乎適合拿來發布新檔?
因為分數多的人不就表示上傳也多...屬於喜歡分流的人!
先給他們抓似乎有助於散佈新檔,而且比較不會抓完逃跑...
不知道我這樣想對不對?
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 3楼 发表于: 2004-11-20
.................

选择官方算法,就是指用的EM官方的队列选择算法~

至于发布新档,你是因为所有的文件都是才开始用EM分享的,所以known.met文件中的纪录是才开始有的

有下面的判断可以得知
2. 如果文件上传总量小于文件大小,那么在步骤3中客户的得分=客户的评分*1024,即相当于发布级文件且只有一个客户下载。

你现在使用CN随机选择算法是不能有效发布文件的,所以发布文件时,你最好使用官方算法~

等到你的文件分享能够达到1:1了,CN选择算法的1024:1的发布效率就会体现出了................

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 4楼 发表于: 2004-11-20
这里提一个假设

如果下载文件的都是CN版的用户

3. 文件交换。如果某个客户当前Session的信用为正,而且正在给你上传,那么你立即把他加入上传队列。

由这条可以得知整体的分流效率会全部提高~

ps.得分高得分低,不能决定一个人是否爱共享,因为那只是对你而言~

我24小时开机,大部分人在我这是下载大于上传,可问题是我在核心那里,却可以被称之为leecher,因为我从他们那里下载了1.5G,却只上传了123MB而已~

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 5楼 发表于: 2004-11-20


这张图可以反映这样的情况~

虽然我不是有意的,但是在蜘蛛那里,我就可以被称之为leecher

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 6楼 发表于: 2004-11-20
倒,居然没法显示,我郁闷,等我换个空间过来

算了算已经4连击了,还望版主能够高抬贵手............

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 风云使者
注册时间:
2004-05-07
在线时间:
0小时
发帖:
5974
只看该作者 7楼 发表于: 2004-11-20
虽然我不是有意的,但是在蜘蛛那里,我就可以被称之为leecher
=======================================
偶也郁闷啊…………偶现在在xfile跟DMXY那里也是leecher的…………
KTXP◆xfile[CHN]-=eDtoon=-[DMHYedst],在偶这里,下1。42G,上7。4G,可能是对偶上传最多的老兄了…………
-=eDtoon=-@DHXY,在偶这边是只上不下的,现在好像上了4G多了…………

EM昵称:★eDtoon☆ComicDeathman[CHN]naLmhCtaYeD

You were chosen fatally...
to "Avater",the first quadrant.

穿什么都合身的東葉月様^^

级别: 风云使者
注册时间:
2004-05-07
在线时间:
0小时
发帖:
5974
只看该作者 8楼 发表于: 2004-11-20
基本上,偶都是对ktxp跟Popgo分流人员都是负债的…………要是他们没有每过一段时间清除额度文件的话,那以后的队列就会越排越长的了…………

EM昵称:★eDtoon☆ComicDeathman[CHN]naLmhCtaYeD

You were chosen fatally...
to "Avater",the first quadrant.

穿什么都合身的東葉月様^^

级别: 骑士
注册时间:
2004-10-25
在线时间:
12小时
发帖:
1050
只看该作者 9楼 发表于: 2004-11-20
-=eDtoon=-@DHXY 我对他的上传也是0


引用
最初由 RLCABC 发布
素质教育不需要成本

全民素质教育吧,不需要成本的
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 10楼 发表于: 2004-11-20
看清楚喽,对于每个文件,几率是相同的,而且是采用概率,不会排队排到死~

我现在不还是照常在蜘蛛那下载么~

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2001-11-21
在线时间:
2小时
发帖:
3505
只看该作者 11楼 发表于: 2004-11-20
上传量 + 上传量/16 - 下载量

这个对新进用户是不是不利?官版在这里取的是比值,这里用差值,在比例相同的情况下,越老的用户可能得到的差值越大。
比如a上传1000,下载500,b上传100,下载50,则a得到的信用值将是b的十倍。

级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 12楼 发表于: 2004-11-20
错了,因为是概率,所以才使用这样的计算方式~

因为是概率,所以新人的情况已被充分的考虑到了~

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2002-08-07
在线时间:
0小时
发帖:
2741
只看该作者 13楼 发表于: 2004-11-20
引用
最初由 cloudzm 发布
上传量 + 上传量/16 - 下载量

这个对新进用户是不是不利?官版在这里取的是比值,这里用差值,在比例相同的情况下,越老的用户可能得到的差值越大。
比如a上传1000,下载500,b上传100,下载50,则a得到的信用值将是b的十倍。


而且不知道是不是我记错了

好像,如果是这样的一种情况~

a上传 100MB 下载 1000MB。
b上传 50MB 下载 30MB

那么a的信用仍然还是B的两倍,没有相应的惩罚机制,向对于单个用户而言~

ed2k://|friend|[CHN]zhouwei_e@[中国驴][eDtoon][chners]||冬神之子|5B3FE40DEB0E62610825E4351D546F1A|/

欢迎加我为好友,呵呵~

If you want to make a friend with me,i will be your best friend!Your best friend----me!
级别: 精灵王
注册时间:
2001-11-21
在线时间:
2小时
发帖:
3505
只看该作者 14楼 发表于: 2004-11-20
按照这个算法,被选中的概率之比直接取决于客户的名次,新人的评分在0左右,算上评分有正有负的,大约可以排在中间的位置。客户的总数量越多,则新人被选中的概率越低。只考虑一个文件的情况,假如500个人参与评分,排在第250位的客户被选中的概率大约是0.00059,这个概率也太低了吧,只能祈祷自己rp爆发让自己被选中了。

快速回复

限150 字节
上一个 下一个