硅谷杂志:基于网络编码的P2P内容分发性能分析 |
2012-11-18 19:17 作者:王 磊 来源:未知 HV: 编辑: 【搜索试试】
|
|
【硅谷网11月18日文】据《硅谷》杂志2012年第17期刊文称,P2P网络是一种全新的第三代网络拓扑结构,是一种分散式的网络架构,采用的是点对点的方式,这种网络结构在文件共享,对等计算,搜索引擎等方面都拥有很多的优点,本系统是在P2P网络的基础上,应用JXTA架构来完成的一个平台,JXTA结构是一种混合P2P搜索模式的网络协议,平台优势在与对于内容分发性能和下载软件的设计操作简单,系统稳定,所以在软件的设计中,经常会运用该类型的架构和性能分析。
1基于网络编码的P2P发展概述
近年来,随着Napster、KaZaa、BT、eMule这样的基于P2P技术的文件共享软件在Internet上迅速传播,P2P技术在国际国内都引发了研究的新热潮。P2P工作组(P2PWG)、全球网格论坛(GlobalGridForum,GGF)是国外兴起的研究P2P技术的机构,它们主要致力于P2P计算基础设施和标准化的完善。P2PWG主要的贡献是统一了P2P计算的术语,但在标准化工作上进展缓慢。其后,P2PWG与GGF合并,又新组织负责P2P技术相关工作,GGF主要负责P2P技术的标准化工作。
随着P2P技术的发展,国外公司对P2P技术的投入比较也开始加大,如Microsoft公司、Sun公司和Intel公司。微软公司发布了基于Pastry的软件包。在2000年8月,英特尔公司开始研究P2P技术,于2002年推出了基于.NET架构之上的AcceleratorKit软件包。2002年月,IBM公司进军网格计算,并与Globus合作,着手制定网格计算的各种标准。Sun公司依托Java技术,开展了JXTA项目。
在国外,P2P技术一般应用在两个方面:运算群组和数据传输。在国内,由于各科研机构缺少核心CPU的研发能力,所以很难对运算群组进行研究。数据传输有很广的应用领域,从技术角度也比群组运算低得多,大家普遍见到的是文件传输和资源共享。可以分为以下三类:Gnutella,KazaA,Groove。
1.1Gnutella
Gnutella是一个开放的系统,它是由一个非功利的机构开发的。Gnutella不必使用中央服务器,利用自身的协议,使用完全分布式的模式。由于Gnutella系统是完全开放的系统,所有它没有任何商业价值,只能为人们提供资源共享。国内的Openext就是根据Gnutella开发的。
1.2KazaA
KazaA是混合P2P模式的典型代表。它兼有Napster和Gnutella的共同优点,使得它成为当今流行的P2P软件之一。在结构上,它与Gnutella类似,采用全分布式结构。在系统上,它与Napster类似,采用中央服务器进行管理,但是传输数据不通过服务器。目前,国内的PP点点通和Realink都采用了类似于KazaA的模式。
1.3Groove
Groove利用雄厚的技术实力,外加微软的资金支持,它在商业化程度是发展的最好的。Groove的目的很明确,主要是针对企业和商务应用。所以,Groove的功能比较少,只构建了一个P2P平台,很多功能都是外包给第三方开发的。
2基于网络编码的P2P内容分发性能分析
P2P是英文Peep-to-Peer的简称,Peer在英文里有“对等着”的意思。因此,从字面上理解,P2P可以理解为对等互联网的意思。在国内,大部分媒体都把P2P称为“点到点”或者“端到端”,但用专业计算机术语,它称为对等计算。P2P是一种网络模型,在这个模型中所有的节点都是对等的,各个节点在网络中既是资源的提供者,又是资源的获取者,同时各节点具有相同的职责和能力去协同完成任务。对等点之间只需通过互连就可以实现共享信息资源、CPU资源和存储器资源,而不需要通过服务器的中间过渡环节。随着像Napster的各种P2P软件的流行,P2P技术受到了广泛的关注。
系统对等体管理模块主要负责管理对等体的一些行为,包括对等体的启动、对等体身份的转换、对等体的离线和一些其他的行为。
1)对等体的启动
用户开启软件时,对等体登入JXTA网络,并且找到一个SuperPeer进行连接,连接上后开始上传用户共享资源的索引。对等体和SuperPeer创建了虚拟的通信管道,所有的共享资源索引都是通过它进行传输的。
具体描述如下:
用户开启软件,软件启动JXTA平台,互用对等体加入网络对等组NetPeerGroup,然后初始化对等组,将对等组的类型设置为未知类型。然后寻找用户对等组PPMusicPeerGroup,找到响应组则加入进去,未找到则直接创建新用户对等组,通过使用makeGrouplD0方法和预定义的字符串,来生成定义对等组lD的URL,这样就保证了每个用户对等体所生成的对等组ID都相同。拥有用户对等组后就开启一个线程,创建输入管道inputPipe_PPMusic。以未知类型在网络中寻找MainSuperPeer。如果找到至少一个MainSuperPeer,就执行下一步,看是否有ViaSuperPeer,有则上传本地资源列表给MainSuperPeer,没则转化自身为MainSuperPeer;如果没找到,就将自身转化为MainSuperPeer,同时开启一个新的线程,创建输入inputPipe_PPMusic,更新本地资源,然后启动结束。
2)对等体身份的转换
在P2P网络中,对等体的加入和退出是很平常的事,但在混合P2P网络中,SuperPeer的退出会对虚拟子网造成一定影响,所以需要转换对等体的身份,来消除这种影响,使系统正常运行。
对等体之间有三种身份可以切换NormalPeer、MainSuperPeer、ViaSuperPeer,身份的切换过程有如下几种情况。
1)NormalPeer转换成MainSuperPeer。2)NormalPeer将自己转换为ViaSuperPeer。首先由于定点数学计算量要求非常高和扩展的数学指令集只能在32位上运行所以代码编译也需要32位环境下进行编译同时需要使用到USB存储器RAM和及其堆栈分配。USBRAM一般情况下不运行在LPC214X环境下,但RowleyCrossStudioIDE已经提供的此硬件设备的初始化。Philips_LPC2148_startup.s创建并放置在MP3播放器项目目录,以支持USBRAM设备,但是,但我们还需要在代码中加入堆栈分配代码到USBDMARAM的内存部分。通过“项目选项”选择“编译器选项”。
然后创建一个子Peer列表sonPeerList,将Peer的adv_MainSuperPeer设置为正确值,再从子Peer中提升一个NormalPeer为ViaSuperPeer。
对等体的离线主要分为两种情况:主动离线和被动离线
1)NormalPeer离线
①主动离线
NormalPeer主动离线的流程图具体描述如下:
NormalPeer调用方法createOutputPipe(adv_MainSuperPeer)连接MainSuperPeer。如果连接成功,就给父MainSuperPeer发送离线消息;如果不成功,就连接ViaSuperPeer,然后给ViaSuperPeer发送离线消息,并告之MainSuperPeer已经离线。MainSuperPeer在收到NormalPeer后,将NormalPeer的资料从本地资源索引列表中删除,然后连接ViaSuperPeer。连接成功就复制资源索引列表给ViaSuperPeer,不成功的话就提升一个NormalPeer作为ViaSuperPeer。当ViaSuperPeer收到NormalPeer的离线消息,并得知MainSuperPeer已经离线时,将NormalPeer的资料从本地资源索引列表删除,ViaSuperPeer将自己转换成MainSuperPeer,同时提升一个NormalPeer作为ViaSuperPeer,最后更新本地资源索引列表。
②被动离线
NormalPeer离线不会对整个网络结构产生任何影响,所以可以不予理会。
2)MainSuperPeer离线
①主动离线
②被动离线
按照“ViaSuperPeer将自己转换为MainSuperPeer”的规则操作。
3结论
P2P让网络的资源从“中心”走到了“边缘”,也就是说这些资源不将存在于服务器上,而存在于各个PC机上。P2P让PC机的功能更丰富起来,既是服务器又是客户端。混合P2P则会依靠一些中心服务器来执行一些功能。P2P拓扑结构是指分布式系统中各计算机之间的物理连接关系,网络的拓扑类型是由节点间的拓扑结构来决定的。
|
|
|
|
【对“硅谷杂志:基于网络编码的P2P内容分发性能分析”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|