GOLB.CN才仅仅一个星期,很不幸被封,至少这不是我的错,我也无能为力,只能静静等待它能够被允许开放。GBT的开发工作还仍在继续。这是写程序的好处,只要有台机器,手没被砍掉,就行。

上次GOLB.CN还能访问时,GBT被下载大概100次。一些朋友给了一些好评,作为软件作者,我公平的说:那个程序还基本是一个模仿作品,MSN来自微软,RSS阅读比FEEDDEMON要差很多.....

不过,GBT在这个版本确实引入一个新的机制,我相信加以时日,或许可以列入优秀程序的行列。

先从Gnutella谈起,熟悉P2P的朋友或可知道,真正的P2P基本很难实现,大体以P-S-P方式居多。Gnutella算一个特例,Gnutella的基本运行机制类似于我们日常喊人,A喊D,声音无法传递给D,就先告诉B,B告诉C,C告诉D,D回答也是告诉C,C告诉B,B再告诉A,完成一次信息的交换。

正常情况,P-S-P的软件,中间则通过Server交换,任何一个GNUTELLA客户端,同时充当S这个角色.

运行如下:假设我运行Gnutella,则随机选取4-7人连接,设为ABCDE,我想查找比如BLOG ,键入BLOG,则Gnutella客户端将blog传递给ABCDE,协议如“谁有BLOG”,ABCDE查找自己库存,有则回传给我,协议如“我这里有BLOG”,ABCDE又分别连接若干用户,ABCDE又传递“小甜甜问谁有BLOG,收到请回答”,ABCDE的连接者又按照ABCDE的方式回答,并且进一步传递,乃至于无穷。

现实中,这个传递并非无穷,它会有一个生存周期,假设255,则一个消息被传递了255层,即被丢弃。

听起来,这很象传销,实际也是如此,每个GNUTELLA都有自己的下线,下线又有下线。每个人是这个金字塔的顶端,同时又是整个网络的一格。假设每个人连接5人,而中间不出现重复连接的情况,这样覆盖面则为:5的零次方+5的一次方+5的2次方...+5的255次方。这个数目几乎是可以涵盖全部联网机器了。事实上当然没有如此美好,但确实,Gnutella从问世以来,已经形成一个庞大的网络体系,很多学院派计算机学者多次论证这个网络必然崩溃,事实证明它运行的很好。

回到GBT,目前,使用RSS发布信息的网站,即便最保守的估计,也会有百万(仅BLOG就有数十万),任何人想在自己的RSS阅读器中监视所有RSS是绝对没有可能,每人不过检索其中几十个而已。

希望检索全部RSS,有一种可能:类似GOOGLE的检索体系,另外一个可能,就是Gnutella,我自然没有能力去写一个GOOGLE,所以我自然选择后者。

GBT目前就增加的Gnutella的检索体系。这样每个阅读者成了一个受益者,每个阅读者又成了一个贡献者。用户分散的查看一些RSS源,这些源又可以随时提供他人查询

现在仍然存在一些问题:GNUTELLA协议设计之初不为全文检索而设,它是为了文件共享设置的。文件共享,多则数百个文件,少则几十个文件,数目很小,检索速度极为迅速,而一个RSS阅读器,一旦监控的RSS文件增多,则速度明显下降。其次,中文的检索也是一个很大的问题。

测试中,我尝试了近50M的数据,则效率不令人满意。50M数据我想比金庸全集要多很多,但是并不算大。算法的优化仍然存在很大的空间。

另外一个障碍是GNUTELLA一旦联上G网,则立即开始传递信息的工作,这个传递工作,基本上要占用4k带宽,这对拨号用户是不可忍受的。

整个测试工作还要一段时间,一些想法还要实现,比如一些高频词汇的CACHE等等。

 

 

 



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=8325


[点击此处收藏本文]  发表于2004年03月22日 10:40 PM




正在读取评论……
添加评论
大名
网址


验证码
评论