2013年11月5日

Pastry原理

摘要: Pastry是2001年由位于英国剑桥大学的微软研究院和莱斯大学提出的一种对象定位和路由协议,他的目的同样是高效的定位存储特定资源的节点和路由消息。与Chord不同的是,psatry在路由时考虑的主要因素是通过标识符的数值临近性将消息的路由最短化,并通过网络的本地化减少单跳的负担。Pastry路由短发能够有效地检索资源,同时保证路由跳数在O(logN)的范围内(N为网络中节点总数),实现了可扩展性搜索。1.标识符空间 在Pastry系统中,每个节点都拥有一个l bit的节点标识符,节点标识符在数值上为区间【0,2的L次方-1】中唯一的整数(l的典型值为128)。通常节点标识符是通过对一个节点. 阅读全文

posted @ 2013-11-05 17:28 花旁教主 阅读(1240) 评论(0) 推荐(0) 编辑

2013年11月4日

chord(2)

摘要: 虽然网上搜索CHord,一搜一大堆,但大多讲得不太清楚明白。今天发现一篇blog,图文并茂,逻辑清楚且易懂,特意转载收藏。作者:gnuhpc出处:http://www.cnblogs.com/gnuhpc/P2P的一个常见问题是如何高效的定位节点,也就是说,一个节点怎样高效的知道在网络中的哪个节点包含它所寻找的数据,如下图:对此,有三种比较典型的来解决这个问题。Napster:使用一个中心服务器接收所有的查询,服务器告知去哪下载其所需要的数据。存在的问题是中心服务器单点失效导致整个网络瘫痪。Gnutella:使用消息洪泛(message flooding)来定位数据。一个消息被发到系统内每一个 阅读全文

posted @ 2013-11-04 16:45 花旁教主 阅读(237) 评论(0) 推荐(0) 编辑

Chord

摘要: Chord是2001年由麻省理工学院提出的一种分布式查找算法,其核心思想就是要解决在P2P应用中遇到的基本问题:如何在P2P网络中高效的定位存储特定资源的节点。1、Chord是什么?Chord是一个算法,也是一个协议。作为一个算法,Chord可以从数学的角度严格证明其正确性和收敛性;作为一个协议,Chord详细定义了每个环节的消息类型。当然,Chord之所以受追捧,还有一个主要原因就是Chord足够简单,3000行的代码就足以实现一个完整的Chord。Chord还可以被作为一个一致性哈希、分布式哈希(DHT)的实现。2、覆盖网络(overlaynetwork)覆盖网络是指这样一种网络:构建在其 阅读全文

posted @ 2013-11-04 16:40 花旁教主 阅读(346) 评论(0) 推荐(0) 编辑

2013年7月1日

知识库

摘要: 前天学习了,但没更新博客,持续每天一更1.while(vector::iterator iter!=ivec.end()){/*·······*/}这段程序有什么问题???2.string bufString,word; while(cin>>bufString>>word){/*······*/}怎样更正输入方式???3. 算术转换的基本知识char cval; unsigned int uival; short sval; long lv 阅读全文

posted @ 2013-07-01 17:18 花旁教主 阅读(328) 评论(0) 推荐(0) 编辑

2013年6月28日

一段c++程序

摘要: #include#includeusing std::cout;using std::endl;int main(){ const char ca[]={'h','e','l','l','o'}; const char *cp=ca; while(*cp) { cout<<*cp<<endl; ++cp; } system("pause"); return 0;}编译程序没有错误,但是不知道为什么每次运行结果都不一样????2. 关于数组的动态释放空间 C++语言为指针提 阅读全文

posted @ 2013-06-28 16:57 花旁教主 阅读(262) 评论(0) 推荐(0) 编辑

导航