当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: Pastry学习笔记 作者 cnss 2004-8-19版权所
 

 

 ·小心gdi+资源泄漏    »显示摘要«
    摘要:读到一篇文章“利用gdi+的双缓冲技术来提高绘图效率”,怀疑其中的示例代码会引起gdi+泄漏,试验之后发现果然如此。将代码简化为: public void testgdileak(){ bitmap bmp = new bitmap(600, 600); graphics g = graphics.fromimage(bmp); brush brush = new lin......
 ·[code] tcpserver完整的patch    »显示摘要«
    摘要:可不是我一个人的,呵呵!首先是 balazs nagy 和他的 ucspi-tcp-0.88-periplimit.6.patch ; 然后是 qftang 和他的 frequencylimit 的 patch, 偶只是把这些弄到一起哦! patch: ucspi-tcp-0.88-periplimit.6-frequencylimit.1.patch.txt cvs diff -u -r1......


Pastry学习笔记

pastry学习笔记

版权所有 转载请注明出处 【程序编程相关: 成为软件高手的几个忌讳 (转贴)

作者 cnss  2004-8-19 【推荐阅读:[原创]一个关于软件开发的超级简单的但超

★pastry是一套peer-to-peer网络协议,pastry有如下基本特性: 【扩展信息:直接用socket实现HTTP协议(下载

http://blog.csdn.net/cnss

1. 每个节点都有一个随机生成的128位nodeid.当收到一条含128位key的消息时,节点能高效地将消息发送到在当前节点中,数值上nodeid最接近key的节点.在pastry网络中里,发送步骤的复杂度应该是o(log n),在每个pastry节点中,路由表要维护节点数量的复杂度是o(log n).在消息传递经过的每个pastry节点时,会通知回调函数,应用程序可以对这条消息做一些处理.

2. 每个pastry节点监视与它nodeid值最接近的l个节点(这个集合叫作leaf set,其中比当前节点nodeid大及小的节点各占l/2),应用程序可以通过回调知道leaf set中新节点的加入,节点的失效,节点的恢复.

3. 在互联网上的位置很重要,pastry探寻消息传递的最小距离,比如以ping的延时作为判断的依据. pastry网络是分散的,灵活的,自组织的;当出现新节点,死节点,节点失败时它会自动配置.

★几个重要的参数:

b:一般取1,2,3,4.内部处理128位id时用的进制为(2的b次方).

l: leaf set的容量,一般取(2的b次方)或(2的b+1次方).

m: neighborhood set的容量,一般取(2的b次方)或(2的b+1次方).

为表达方便,n代表网络中存活的节点数.

★节点需要维护的三种数据,如图1:

1. leaf set:

容量为l,用于保存在数值上最接近nodeid的节点,其中smaller与larger各占一半.


...   下一页
    摘要: 上一篇文章写到动态加载用户控件的简单应用 页面是用来浏览信息的!但是更重要的是和用户交互,根据不同的需求提供不同的内容服务,这是一种服务或是一种更贴近用户的人性化。(又在胡言乱语了!^_^) 动态加载叶面,根据不同的用户权限加载不懂的内容服务。根据用户的相应加载相应的内容服务。 还有另外一个应用就是做到页面与代码的分离。在vs2003里,一般ascx或aspx文件,在刚建立的时候都......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE