(计算机科学与技术专业论文)混合p2p网络基于后备超级节点的容错机制研究.pdf_第1页
(计算机科学与技术专业论文)混合p2p网络基于后备超级节点的容错机制研究.pdf_第2页
(计算机科学与技术专业论文)混合p2p网络基于后备超级节点的容错机制研究.pdf_第3页
(计算机科学与技术专业论文)混合p2p网络基于后备超级节点的容错机制研究.pdf_第4页
(计算机科学与技术专业论文)混合p2p网络基于后备超级节点的容错机制研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机科学与技术专业论文)混合p2p网络基于后备超级节点的容错机制研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 近几年来,对等网( p 2 p ) 技术得到广泛应用,成为占用i n t e r n e t 流量的主要 类型。p 2 p 技术发展迅速,得到了计算机界的广泛关注。如何提高网络中的查询效 率,增强网络的容错能力,成为p 2 p 网络的主要研究课题。本文将对混合p 2 p 网 络即超级节点p 2 p 网络的容错机制进行研究。 本文分析了三种拓扑结构p 2 p 网络的容错能力和现有的容错技术;从容错能 力和容错开销两方面对混合p 2 p 网络的容错技术进行了对比;对基于后备超级节 点的容错机制进行了以下的改进:借用节点信誉值算法的思想,选取后备超级节 点;将后备超级节点构成重连通状态,同时给后备超级节点添加监听机制,监听 超级节点活动状态。当某个后备超级节点收到超级节点失效消息时,以该节点为 顶点,在后备超级节点重连通图中进行广度遍历,选出信誉值最好的节点,成为 新的超级节点,为组内普通节点提供服务。 本文对上述容错机制进行了模拟和测试。结果表明:应用该容错机制后,p 2 p 系统在较少系统容错开销的情况下,容错能力有了提高,网络稳定性增强。 关键词:混合p 2 p 网络;后备超级节点;容错能力;重连通图;监听机制 分类号:t p 3 9 3 9 i nr e c e n ty e a r s ,p e e r - t o - p e e rt e c h n o l o g yh a sb e e nw i d d yu s e d ,a n db e c o m e st h e m a i na p p l i c a t i o nt y p e st h a tc o n s u m eal a r g ef r a c t i o no fi n t e m e tt r a f f i c w i 吐lt h er a p i d d e v e l o p m e n to fp 2 pt e c h n o l o g y , i th a sb e e nc o n c e r n e db yc o m p u t e ri n d u s t r y h o wt o i m p r o v et h er a t eo fs u c c e s s f u lq u e r y , a n de n h a n c et h ec a p a c i t yo ff a u l tt o l e r a n c e ,h a s b e c o m et h em a i nw o r ko fp 2 pn e t w o r k t i l i sp a p e rw i l lr e s e a r c ht h ef a u l tt o l e r a n c eo f s u p e r - p e e r sp 2 pn e t w o r kw h i c hi sak i n do fh y b r i dp 2 p n e t w o r k i nt h i sp a p e r , w ea n a l y z e dt h ef a u l tt o l e r a n c ec a p a b i l i t ya n dt h et e c h n o l o g yo ff a u l t t o l e r a n c eo ft h r e et y p e so fp 2 pn e t w o r kt o p o l o g y ;a n dt h e nc o m p a r e dt h et e c h n o l o g yo f f a u l tt o l e r a n c eo fh y b r i dp 2 pn e t w o r kf r o mf a u l tt o l e r a n c ec a p a b i l i t ya n df a u l tt o l e r a n c e o v e r h e a d ;i m p r o v e daf a u l tt o l e r a n c em e c h a n i s mb a s e do nb a c k u ps u p e rp i e e 俗:s t a r t f r o mt h em i n do fr e p u t a t i o n - a w a r ea l g o r i t h m ,s e l e c tap a r to fp e e r sf r o mt h eg r o u pt o b et h eb a c k u ps u p e rp e e r s ;m a k es u r ea l lt h eb a c k u ps u p e rp e e r sa r ei nab i - c o n n e c t e d s t a t e ;a d dm o n i t o r i n gm e c h a n i s m t ot h eb a c k u ps u p e r p e e r st om o n i t o rt h es t a t eo fs u p e r p e e r i ft h es u p e rp e e rf a i l so n eo ft h eb a c k u ps u p e r p e e r sw i l lr e c e i v et h em e s s a g e t h i s p e e rw i l lu s eb r e a d t h e r g o d i ci nb a c k u ps u p e rp e e rb i c o n n e c t e dg r a p ht oc h o o s ea b a c k u ps u p e rp e e r 、历lt h eh i g h e s tr e p u t a t i o n t i l ec h o s e np e e rw i l lb e c o m ean e w s u p e rp e e r , t op r o v i d es e r v i c e sf o rp e e r si nt h eg r o u p i nt h i sp a p e r , w eh a v ec a r r i e do u tas i m u l a t i o na n dat e s to ft h ea b o v ef a u l t t o l e r a n t m e c h a n i s m t h er e s u l ts h o w st h a ta f t e rt h ea p p l i c a t i o no ft h ef a u l t t o l e r a n tm e c h a n i s m , t h eq u e r ys u c c e s sr a t eo fp 2 ps y s t e mi s g r e a t l yi m p r o v e d ,w h i l et h ef a u l tt o l e r a n c e o v e r h e a di sn o tt o om u c h k e y w o r d s :h 。y b r i dp 2 pn e t w o r k ;b a c k u ps u p e r - p e e r ;f a u l t t o l e r a n c ec a p a b i l i t y ; b i - c o n n e c t e dg r a p h ;m o n i t o r i n gm e c h a n i s m c l a s s n 0 :t p 3 9 3 9 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名嘲而时 签字日期:7 刀7 7 年月77 日 导师签名才翻 辩肭年占月矽日 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其它他已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 一躲劫,翻时期:吖年月伊 致谢 本论文的工作是在我的导师于双元教授的悉心指导下完成的,于双元教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来 于双元老师对我的关心和指导。 于双元教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向于双元老师表示衷心的谢意。 于双元教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,实验室众多同学和我一起探讨研究中遇到的 难题,并且帮我修改论文中的格式问题和错别字,在此向他们表达我的感激之情。 另外也感谢我的父母,他们的理解和支持使我能够在学校专心完成我的学业。 1 1 研究背景 1 绪论 对等网络( p e e r - t o p e e r ,简称p 2 p ) 技术具有悠久的历史,早在1 9 8 4 年之前 就被人们使用,但是一直没有引起广泛重视。1 9 9 9 年n a p s t e r i i 】的推出及迅速普及, 揭开了对等网络的新篇章。从此之后,越来越多的p 2 p 软件的发布和流行,逐步 验证了对等计算思想的成功,如c m u t e l l a 2 1 、f r e e n e t 3 1 、c h o r d 4 1 、k a z a a 5 1 、t a p e s t r y 6 j 等等。今天,对等网络计算应用已经超过w e b 应用,成为占用互联网带宽最多的 网络应用,应用了p 2 p 技术的b 7 】软件的成功,将p 2 p 应用推到了一个新的顶峰。 早期的p 2 p 系统应用主要以娱乐为目的,如分享和交换音乐、电影。如今, 调查表明p 2 p 网络在内容供应、电子货物分发等商业方面有很好的前途【8 l 。而这种 用于商业性质的p 2 p 网络需要网络具有很强的稳定性和很高的查找成功率,这样 使得网络中的任意一个节点都可以获取自己想要获取的资源,只要该资源存在于 网络中。 当前大多数的p 2 p 网络基本上用于用户之间相互交换媒体文件,这类型网络 对搜索和下载资源的成功程度要求并不高。但是,以非娱乐为目的的网络就要求 网络由一种高等级的连通性好的网络资源组成。于是,出现了多种拓扑结构和搜 索机制,这些拓扑结构和搜索机制可以很好的改善p 2 p 网络中的查找成功率,提 高了网络的稳定性。如今的研究重点是静态环境下p 2 p 网络的拓扑结构和搜索机 制,可是p 2 p 网络有一个很重要的特征,即网络从来都不是静态的。p 2 p 网络是 由很多自治的、匿名的、有独自特性的用户( 节点) 组成的,这些用户( 节点) 可以根据自己的需要加入或离开网络。比如一个单独的用户可能加入到网络中, 分享网络资源,过了一段时候后,他可能选择断开网络链接,成离线状态。近期, 对一些比较流行的p 2 p 文件分享网络的研究证实了以下现象:将近7 0 的用户加 入p 2 p 网络后,只有3 0 或者更少的时间呈在线状态;大约6 5 的用户持续参与 网络分享时间为1 0 0 分钟,甚至更少【9 】。个别节点在正常运行状态下也可能失效或 者经历故障,无法提供用户想要的服务。因此由用户自己断开网络链接或者由于 网络故障而导致的节点失效,严重的影响了网络的正常运行,使网络的稳定性和 容错性变的很差。 可见,当前p 2 p 技术所关注的问题中,除了资源定位技术和网络安全技术, 容错技术也是需要关注的一个重点问题,特别是针对提高网络波动( 包括节点的 加入、退出、失败、迁移等) 状态下的系统稳定性这个问题。本文将针对p 2 p 网 络容错问题进行研究,研究重点为混合p 2 p 网络中超级节点单点失效问题。 1 2 本文主要研究内容 p 2 p 网络存在多种拓扑结构,而每种结构都存在的一定的节点失效问题。本文 重点研究混合p 2 p 网络即超级节点p 2 p 网络存在的超级节点失效问题,力求在较 少的增加容错开销前提下,提升系统的容错能力,增强系统的稳定性。因此本文 基于后备超级节点技术提出如下构思: ( 1 ) 解决超级节点失效问题,最普遍的一种方法就是增加后备超级节点。当超 级节点失效后,后备超级节点接替超级节点,管理整个组中的普通节点,并同别 的组中的超级节点进行通信。因此,本文采用节点信誉值算法【i 们,选出具有成为 超级节点资格的普通节点,成为后备超级节点。 ( 2 ) 对超级节点的路由列表和索引信息表进行备份,并将备份文件复制到几个 已选中的后备超级节点中进行保存。 ( 3 ) 引入重连通图概念,设计算法将后备超级节点连成重连通图,保证超级节 点失效后,且个别后备节点失效情况下,其余后备节点之间还能保持通信,每个 后备节点还有机会获取超级节点的备份信息文件。 ( 4 ) 建立监听机制,并设计节点失效应对措施。当超级节点失效时,从后备超 级节点中选出信誉值最高的一个节点,获得并激活超级节点的备份信息,成为新 的超级节点。 ( 5 ) 完善系统,对与加入组的节点,验证节点资格,防止恶意节点加入。对离 开组的节点,如果这个点是超级节点,那么从后备超级节点中选出一个新超级节 点;如果这个点是后备超级节点,那么将剩余后备超级节点连成重连通图。 此外,本文还研究了j x t a 组件平台,并在j x t a 平台上实现了应用上述容错 机制的p 2 p 系统,验证了该系统的可行性和有效性。 1 3 本文组织结构 本文结构组织如下: 第l 章介绍课题的研究背景,阐述了当前p 2 p 技术在互联网应用中所存在的 问题,并且引出本文的研究课题。 第2 章介绍p 2 p 技术的一些重要概念,包括p 2 p 定义、p 2 p 特征、p 2 p 应用 和p 2 p 拓扑结构的发展。还介绍了一种专门用于做p 2 p 计算的开放性网络计算平 2 台j x t a 平台,本章重点介绍了该平台的基本概念和本文将要用到的关键技术。 第3 章首先介绍了三种拓扑结构p 2 p 网络的特点及容错现状。接着,对混合 p 2 p 网络的容错技术进行了详细的分析,对比了基于后备超级节点容错机制的优缺 点。最后提出了本文的设计思想。 第4 章是论文的核心部分,详细介绍了基于后备超级节点p 2 p 网络容错系统 的设计与实现。首先本章提出了系统的总体设计目标,根据设计目标将系统划分 为五个模块来实现。接着本章介绍了每个模块的设计思想。最后在j x t a 平台中实 现了应用该容错机制的p 2 p 系统。 第5 章是系统的测试和实验结果分析。本章介绍了实验环境和实验步骤,测 试系统在j x t a 平台中的可行性。并且通过仿真实验,对系统的容错能力和容错开 销进行了分析,评测该容错机制的性能。 第6 章总结了论文的工作,并指出今后需要改进和探索的地方。 3 j 匕宝交道太堂亟堂僮i 金塞盈笠圆( 2 2 厘扫羞拉苤 2 1p 2 p 概述 2 对等网( p 2 p ) 及相关技术 2 1 1p 2 p 基本概念 p 2 p 是p e e r - t o p e e r 的缩写,p e e r 在英语里有“( 地位、能力等) 同等者 、“同 事刀和“伙伴 的意思。这样一来,p 2 p 也就可以理解为“伙伴对伙伴 的意思, 或称为对等网络【i i l 。 与其它网络模型相比,p 2 p 具有以下特点【1 2 】 ( 1 ) 分散化:资源和服务分布在网络的所有节点上,信息的传输和服务不需要 服务器的介入,直接通知节点之间的通信来实现,这样很好的避免由服务 器所产生的瓶颈。分散化是p 2 p 的基本特点,由此带来了其在可扩展性、 健壮性等方面的优势。 ( 2 ) 可扩展性:传统的c s 模式网络对服务器的要求太高,当服务或用户增加 到一定数量的时候,服务器呈饱和状态,无法扩展更多的服务。但是在 p 2 p 网络中,随着用户的加入,不仅服务的需求增加了,系统的整体资源 和服务能力也在同步地扩充,始终能较容易的满足用户的需求。而对于纯 p 2 p 来说,整个体系是分布的,不存在瓶颈。而对于其它类型的p 2 p 来说, 其服务主要还是在节点之间运行,对服务器的依赖很小。理论上,p 2 p 网 络的扩展性几乎是无限的。 ( 3 ) 健壮性:由于服务是分散在各个节点之间进行的,部分节点或网络遭到破 坏对其它节点的影响很小。而且p 2 p 模型一般在部分节点失效的情况下调 整网络的拓扑结构,保持其它节点的连通性。总的来说,p 2 p 网络的容错 能力是很好的,但是面对动态的网络,节点容易遭到攻击而失效,关键的 节点失效,对网络的影响比较大,这也是本文研究超级节点p 2 p 网络的单 点失效机制的原因。 ( 4 ) 隐私性:在传统的匿名通信系统中,实现机制依赖于某些中继服务器,这 种情况下很容易造成信息外泄。但是在p 2 p 网络中,由于信息的传输分散 在各个节点之间进行而无须经过某个集中环节,用户的隐私信息被窃听和 泄露的可能性大大缩小。此外,目前解决i n t e r n e t 隐私问题主要采用中继 转发的技术,从而将通信参与者隐藏在众多的网络实体中。而在p 2 p 系统 中,大多数的参与者都可以提供中继转发的功能,这种情况下,用户的隐 4 私可以得到很好的保障。 ( 5 ) 高性能:根据p 2 p 的原理,p 2 p 网络可以充分利用网络中的每个节点资源。 在p 2 p 网络中,计算任务或存储资料分配到所有节点上,这样系统充分利 用网络中闲置的计算能力或存储空间,达到高性能计算和海量存储的目 的,这也正是分布式计算和分布式存储思想的出发点。 2 1 2p 2 p 的应用 目前p 2 p 应用己延伸到多个领域,如:文件共享、分布式计算、搜索引擎、 协同工作、游戏和即时通信系统【1 3 】【14 1 。 ( 1 ) 文件交换 这是p 2 p 的最初应用和基本功能之一,正是由于文件交换的需求,直接引发 了p 2 p 技术热潮。在传统的w e b 方式中,要实现文件交换需要将文件上传到某个 特定的网站,用户再到这个网站搜索需要的文件,然后下载。这种方式显示出了 传统网络模式交换文件的弊端。p 2 p 技术使在因特网上的任意两台计算机直接共享 文档、多媒体和其它文件成为了可能。 ( 2 ) 分布式计算 通过众多计算机来完成超级计算机的功能,一直是科学家梦寐以求的事情。 采用p 2 p 技术的分布式计算,可以把网络中的众多计算机暂时不用的计算能力连 结起来,这样累积起来的能力可以执行超级计算机的任务。 ( 3 ) 搜索引擎 p 2 p 技术的另一个优势就是开发出强大的搜索工具。基于p 2 p 的搜索采用了 协作过滤的方式,p 2 p 搜索将为用户提供更多更有意义的信息。这样的系统允许用 户构建任意数量的基于单一目标协作搜索网络的单一目标流搜索引擎,而这些协 作搜索可以将其结果汇集起来,供用户使用。 ( 4 ) 协同工作 p 2 p 技术的出现,使得因特网上任意两台计算机可以直接建立实时通信,建立 一个安全、虚拟的共享空间,实现数据交换和文件共享。因此,协同工作使得在 不同地点的参与者可以在一起工作,文件直接共享的方式可以保证系统中的每个 人所获得的信息总是最新的,降低了对服务器存储以及性能的要求,网络的吞吐 量和快速反应得到大幅度提高,节约了成本,提高了效率,使低成本的协同工作 成为可能。 ( 5 ) 游戏 网络游戏是p 2 p 蓬勃发展的一个领域。由于游戏开发者不太可能有能力购买 5 并维护支持大量游戏者在线的可靠服务器,所以能够使用p 2 p 技术,无疑对开发 者来说是个很不错的选择,而且游戏生成的消息流在p 2 p 网络上通常是可管理可 操作的。 ( 6 ) 即时通讯 即时通讯就是指诸如i c q 、o i c q 、p o p o 等被称为在线聊天的软件。在p 2 p 网络中,在线的用户可以即时显示出来,而且用户之间不但可以实现一对一的通 信,还可以实现群组通信,聊天消息安全性都可以得到保障。此外,跨平台性能 方便用户更好的使用。 2 2p 2 p 拓扑结构 拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑互联关系,节点 之间的拓扑结构一直是确定系统类型的重要依据。根据结构关系可以将p 2 p 分为 三种拓扑结构,中心化拓扑结构( c e n t r a l i e z dt o p o l o g y ) 、分布式拓扑结构 ( d i s t r i b u t e dt o p o l o g y ) 和混合式拓扑结构( h y b r i dt o p o l o g y ) ,其中分布式拓扑 又分为分布式结构化拓扑( d i s t r i b u t e ds t r u c t u r a lt o p o l o g y ) 和分布式非结构化拓扑 ( d i s t r i b u t e du n s t r u c t u r a lt o p o l o g y ) 0 4 】。 2 2 1 中心化拓扑 中心化p 2 p 网络通过一个中心服务器来记录共享信息以及应答对这些信息的 查询。每一个对等实体负责共享它的信息,并且根据需求下载存储在其它对等实 体上的信息。这种形式具有中心化的特点,但是它又与传统意义上的c l i e n t s e r v e r 模式有所不同。传统c s 模式中信息资料存放在服务器上,客户都是被动的从服 务器读取信息,并且客户机之间没有交互的能力。但是在p 2 p 网络中所有信息都 存放在提供该信息的客户机上,也就是存放在对等实体中,服务器中只保存索引 信息,此外服务器与对等实体以及对等实体之间都具有交互能力。这类型网络的 代表系统是n a p s t e r 。 n a p s t 睨 当初只是美国一个大学生编写了一个简单小程序,这个程序能实现搜 索音乐文件并提供检索的功能。该程序将所有的音乐文件地址存放在一个集中 的服务器中,这样使用者就能够方便地过滤上百的地址而找到自己需要的 m p 3 文件。这个小程序在接下来的几年深受用户喜爱,并得到迅速发展。 n a p s t e r 中文件由节点共同承担,但是索引目录都存放在服务器中,实现了 文件查询和文件传输的分离,有效地降低了服务器的带宽消耗,提高了文件 6 的查询效率。n a p s t e r 结构如图2 1 所示。 2 2 2 分布式拓扑 图2 - 1n a p s t e r 系统结构示意图 f i g u r e2 - 1s t r u c t u r eo f n a p s t e rs y s t e m 分布式p 2 p 网络的拓扑结构有非结构化分布式p 2 p 拓扑结构和结构化分布式 p 2 p 拓扑结构两种。 非结构化分布式p 2 p 网络是一种纯p 2 p 网络。这种网络没有中心服务器和中 心路由器,网络中的每一个节点都作为对等实体,地位是完全平等的。每一个节 点既可以作为客户机又可以作为服务器,并且它们与相邻的节点有相同的能力。 每个节点都拥有自己的邻居( p e e r - g r o u p ) 。查询文件时,节点向自己所有的邻居发 送查询数据包。每一个收到查询数据包的节点将检查在自己本地存储的文件中能 否满足查询要求。如果满足的话,该节点发送一个查询相应数据包给查询的发起 者,节点间直接交换文件。不管满足与否,该用户都继续将查询数据包向自己的 邻居节点转发。以此类推,查询消息像洪水( f l o o d ) 一样在网络中流动。这类网 络的代表系统式g n u t e l l a 。 g n u t e l l a 是一套开放式、非集中化的个人对个人的搜索系统,主要用于通过因 特网搜索和寻找文件。它的作者是j u s t i nf r a n k e l 和t o mp e p p e r 。g n u t e l l a 的优势在 于它不依赖于任何事物,所以在g n u t e l l a 系统中可以共享任意文件,在很大的程 度上为用户提供方便。此外,由于非结构化p 2 p 网络采用泛洪式搜索方法,可能 7 导致消息数呈现幂增长。因此,g n u t e l l a 设置了三种机制来控制消息数量的增长: 一种是消息生存时间( t i m e t ol i v e ) ,该机制有效地控制了消息传播的次数;一种 是消息唯一标识符( u n i q u em e s s a g ei n d e f i c a t i o n ) ,该机制可以避免消息在同一个 节点重复传播;还有一种是路径标识符( p a t hi n d e f i c a t i o n ) ,该机制可以使系统避 免陷入循环查询中。g n u t e l l a 的这些机制使得g n u t e l l a 系统更加稳定,容错系能更 高。g n u t e l l a 结构如图2 2 所示。 结构化分布式p 2 p 网络和非结构分布式p 2 p 网络一样,也是一种纯p 2 p 网络, 只是在网络拓扑结构上有所不同。这类网络中每一个节点都拥有一个虚拟地址, 同时用一个关键字来表示其可提供的共享内容。网络中各个节点分别存储自己的 虚拟地址路由表进行路由。关键字存储在与关键字匹配的虚拟地址路由中。进行 资源定位的时候,可以通过虚拟地址路由表快速查询到存储关键字的节点,从而 获得共享内容的存储位置。这类网络的代表系统式c h o r d 、t a p e s t r y 。 在m i t 开展的多个与p 2 p 有关的项目中,c h o r d 就在其列。c h o r d 是典型的 结构化分布式p 2 p 网络,通过d h t 技术发现指定对象,维护路由列表。c h o r d 采 用了相容哈希【1 5 】的一种变体为节点分配关键字,这样的好处是可以做到哈希函数 的负载平衡。 对笱 2 2 3 混合式拓扑 图2 - 2g n u t e l l a 系统结构示意图 f i g u r e2 - 2s c t i l r eo fg n u t e l l as y s t e m 混合式结构,很好的结合了中心化结构和全分布式非结构化拓扑的优点。在 混合式结构中,系统中的节点被划分为多个组。每个组中选择性能较高( 处理、存 储、带宽等方面性能) 的节点作为超级节点,每个超级节点上存储了该组中所有普 通节点的索引信息,并随时对组中的普通节点进行管理,组中的节点形成了一个 中心化拓扑结构。所有的超级节点构成了覆盖网络,形成一种全分布式非结构化 拓扑网络,一个发现算法仅在超级节点之间转发,超级节点再将查询请求转发给 适当的叶子结点。超级节点之间构成一个高速转发层,超级节点和所负责的普通 节点构成若干层次。典型的案例就是k a z a a 。 k a z a a 是当今社会最流行的p 2 p 软件,根据c a 公司的统计,全球k a z a a 下 载量超过了2 5 亿次,使用k a z a a 软件进行文件传输消耗了互联网4 0 的带宽。 k a z a a 集合了n a p s t e r 和g n u t e l l a 的优点。从网络结构来看,k a z a a 采用了g n u t d l a 的全分布式策略,让系统更好的扩展。而在局部,k a z a a 建立起了超级节点。超 级节点就是能共享自己文件的计算机,同时超级节点还担任着索引目录的功能, 而只下载,不共享文件的计算机只能称作节点。由于超级节点选取具有动态性, 所以k a z a a 系统中有超级节点离开网络,系统自动选择别的节点作为超级节点, 保证系统正常运行。k a z a a 结构如图2 3 所示。 图2 - 3k a z a a 系统结构示意图 f i g u r e2 - 3s t r u c t u r eo fk a z z as y s t e m 2 3j x t a 及相关概念 2 3 1j x t a 基本概念及体系结构 j x t a 1 6 】1 是由s u n 公司推出,专门用于做p 2 p 计算的开放性网络平台,它推 9 出了一组开放的通用p 2 p 协议,允许任何介入网络的设备作为对等点进行通信和 协同的工作。 j x t a 给开发p 2 p 应用用户提供了一整套开放协议和开源实现。同时,j x t a 对p 2 p 节点的共同行为做了标准化,包括节点发现、自组织、发现和通告网络服 务、相互通信以及监视其它节点等。j x t a 除了具备了p 2 p 系统的基本特征以外, 还在尝试改变现有p 2 p 系统的缺陷。j x t a 具有以下特点: 互操作性。大多数p 2 p 系统只能用来实现单一的网络服务,但是j x t a 可 以解决开发商技术不兼容的问题,使多种服务在p 2 p 系统中运行。 平台独立性。j x t a 协议独立于编程语言和传输协议。j a v a 、c c + + 、p e r l 以及其它语言都可以用来实现j x t a 协议,同时j x t a 传输可以构建在 t c p m 、h 1 r r r p 、b l u e t o o t h 、h o m e p n a 或者其它传输协议上。 广泛性。j x t a 技术可以广泛的在多种设备上使用,如传感器、消费类电子 设备、p d a 、网络路由器、数据中心服务器和存储系统。 基于j x t a 的软件架构可以分为三层,依次是核心层、服务层、应用层【l 3 1 。 层次结构示意图如图2 _ 4 所示。 a p p l i c a t i o n s s e r v i c 髓 以下a c o r e 圆圈圉 圈 图2 - 4j x t a 软件架构示意图 f i g u r e2 - 4s o f t w a r ef r a m e w o r ko fj x t a 核心层( j x t ac o r e ) 封装了p 2 p 网络的一些最基础的要素,包括为p 2 p 应用 程序提供关键机制的模块。这些关键机制包括发现、传输、节点加入、创建组还 有相关的安全原语。 服务层( s e r v i c e s ) 包括一些网络服务。这些服务可能并不是p 2 p 网络所必不 1 0 可少的,但是却非常有用的。这些服务包括搜索和索引、目录、存储系统、文件 共享、分布式文件系统、资源聚合和租借、协议转换、验证以及p k i 服务等。 应用层( a p p l i c a t i o n s ) 包括一些应用的实现,比如p 2 p 即使消息、文件和资 源共享、娱乐内容管理和转发、p 2 p 电子邮件系统、分布式验证系统等。 服务层和应用层之间没有严格的界限。一个客户的应用可能是另一个客户的 服务。整个系统式按照模块化来设计的,开发者可以选择服务和应用来满足自己 的需求。 2 3 2j x t a 关键技术 j x t a 包括许多核心组件,下面就建立系统需要用到的基本概念和重要协议进 行介绍【1 4 】1 1 6 】【i7 】。 j x t a 的基本概念: ( 1 ) 对等点( p e e r ) 一个点就是一个虚拟的通信点。在一台计算机或设备上可以有多个点。 点与用户不同,因为可能一个设备就是一个点,也可能在单个设备上有多个 点。对等点发布一个或多个可以由j x t a 协议使用的网络接口。每个网络接口 都是一个对等点的端点,并可以由端点唯一标识。对等点之间可以通过端点 来建立点到点的连接。 ( 2 ) 点组( p e e rg r o u p ) 点组是组织点并发布只对组成员可用的特定服务的一种方式。用户可以 创建组或者加入一个组,当然也可以从一个组离开。每个点组都有自己唯一 的标识,点组的成员关系策略由点组自己确定。此外,一个对等点可以同时 加入多个点组。 ( 3 ) 服务( s e r v i c e s ) 对等点之间通过相互协作和通信来发布、发现和调用网络服务。一个对 等点可以发布多个服务。对等点通过对等点发现协议来找到网络服务。对等 点发布的服务只能通过访问该对等点获得,如果该对等点失效了,服务也就 随之失效。点组发布的服务是由多个运行在点组成员上的服务实例组成的。 当组中的一个对等点失效,点组的服务不受影响。下面介绍几个j x t a 中的核 心服务协议: 发现服务( d i s c o v e r ys e r v i c e ) :发现服务提供了访问对等体发现协议 ( p e e rd i s c o v e r yp r o t o c 0 1 ) 的方法。它搜索对等组资源( 对等体、对等组、管 道、服务) ,这种搜索仅仅限于包含着发现服务引用的组范围内进行。 成员资格服务( m e m b e r s h i ps e r v i c e ) :成员资格服务提供了访问对等组 成员资格协议方案的方法。在组内,成员资格可以看成该组的守门人。对等 体想加入这个组就必须满足这个服务的要求。如果对等体被批准,那么这个 对等体被认为是该组的成员并且被颁发信任书用来作为通信期间的成员资格 的证明。 访问服务( a c c e s ss e r v i c e ) :访问服务是成员资格服务的一部分,常被 用来确认对等体是否确实是组内的有效成员。 对等体认证服务( p e :e r a u t h e n t i c a t i o ns e r v i c e ) :这种认证服务使用被成 员资格服务协议创建的信任书来确认来自组织的有效成员的消息的正确性。 管道服务( p i p es e r v i c e ) :管道服务实现了管道绑定协议。在不同的组 之间或同一组之内,可以利用管道服务来管理和创建组中各种实体的管道连 接。 解析服务( r e s o l v e rs e r v i c e ) :解析服务实现了解析协议。解析服务可 以把查询服务分发到同一组中的其它实体上,也可以监测这些查询的结果。 核心服务并不需要特定的实现,但是组的核心服务能为该组提供特定的 行为,例如,成员认证服务可以是一个特定的实现。核心服务除了可以被定 制以外,甚至也可以不提供。例如,假如没有监测的必要,可以不提供监测 服务。唯一的最需要的服务是成员认证服务,因为当一个对等体加入一个组 时,该服务被应用。但是如果一个组不需要提供成员资格认证服务,则成员 资格服务的实现可以为空。j x t a 并没有定义服务启动和关闭的方式,这对p 2 p 系统与其它系统的互操作是有利的。 ( 4 ) 管道( p i p e ) 管道是点之间的虚拟连接。管道是异步的、单项的、不可靠的消息传送 机制。管道对所传送的数据没有限制,它支持所有对象的传送,比如二进制 数据、字符串、j a v a 对象等。管道提供两种模式的通信方式:点对点和多播。 j x t a 核心层也提供了安全单播管道,它是点到点管道的一个变种。 点到点管道只连接管道的两个端点。一个对等点上的输入管道接收来自 另一个对等点上的输出管道发送的消息。 多播管道把一个输出管道链接到多个输入管道上。消息从输出管道传送 到输入管道。所有的多播都是在一个点组的范围内进行的,这意味着输出管 道和所有的输入管道必须属于相同的点组。 安全单播管道是提供了安全可靠通信的点到点管道。 ( 5 ) 消息( m e s s a g e ) 消息是j x t a 对等点之间相互传送的对象,是通信的基本单元。消息通过 1 2 管道服务和端点服务发送和接受。j x t a 中用两种不同的方法来传递消息。第 一种是使用x m l 的标准方式,消息是包含了按照x m l 标准格式化的数据的 有效载荷的分组。第二种消息是非常经济的二进制消息。由于以大体积发送 大量的x m l 消息,效率是很低的,使用二进制消息有很多好处。如使用标准 的技术来压缩数据,压缩像文本这样的数据可以节省大量的传输时间;很多 文本就是二进制文档,这样可以免去了转化为x m l 的步骤:二进制数据加密 非常方便,所以直接使用二进制比使用x m l 更合理。 ( 6 _ ) 通告( a d v e r t i s e m e n t s ) 通告是一个描述j x t a 消息、点、点组或服务的x m l 文档。每个通告都 有一个生存时间,他和相关资源的有效时间相对应。生存时间的使用可以再 不需要中央控制的情况下就可以删掉旧的资源。对等点可以再上次通告过期 以前发布新的通告来更新生存时间。j x t a 协议中定义了的通告类型有:对等 点通告、点组通告、管道通告、模块类通告、模块规范通告、模块实现通告、 集合点通告、节点信息通告。 ( 7 ) 标识符( i d ) 对等点、点组、管道和其它j x t a 资源都需要一个唯一的标识。一个j x t a i d 可以唯一的确定一个实体,而且可以用来引用该实体。目前,有6 种j x t a 实体拥有d :对等点、点组、管道、内容、模块类、模块规范。在参考平台 中,使用标识符可进行索引、文件命名或搜索。 ( 8 ) 集合点( r e n d e z v o u s ) 集合点是一个处理来自其它点的查询的点。集合点可以代理到其它点的 查询,这个其它的点也必须是集合点。集合点的关键作用在于搜索位于点的 本地网络之外的通告。集合点通常比其它点拥有更多的资源,能够存储有关 他周围点的大量信息。 j x t a 还有一重要技术就是它的协议簇。j x t a 协议用于帮助点彼此发现、交 互并管理p 2 p 应用程序。协议本身不是应用程序,需要更多的代码来创建有用的 程序。j x t a 在j x t a 协议规范中定义它的协议,这个规范说明了点如何进行通信 和交互。目前j x t a 有六种主要协议,下面分别予以描述【1 6 】【1 7 1 : ( 1 ) 对等点发现协议( p e e rd i s c o v e r yp r o t o c o l ,p d p ) 允许点发现其它点通告( 点、点组、服务或管道) 。该发现协议用于定位信息 的搜索机制。通告被映射到点、点组和其它对象,如管道。通过制定通告类型( 点、 组或通告) 、通告中的x m l 标记名和用来与x m l 标记标识的数据进行匹配的字 符串来进行查询。 ( 2 ) 对等点信息协议( p e e ri n f o r m a t i o np r o t o c o l ,p i p ) 允许点了解其它点的状态。此类信息协议的使用类似于p i n g ,它用来获得部 分相关节点状态的基本信息。p i p 消息的主题部分的格式是自由的,允许对点的特 定信息进行查询。另外也可以对这种功能进行扩展提供控制能力。 ( 3 ) 对等点解析协议( p e e rr e s o l v c rp r o t o c o l ,p r p ) 允许点向其它点发送搜索查询。解析器协议是遵循请求响应格式的基本通信 协议。要使用这个协议,应该为点提供一个包括能够被目标点理解的x m l 的查询 和请求信息。返回结果是一个响应消息。 ( 4 ) 管道绑定协议( p i p eb i n d i n gp r o t o c o l ,p b p ) 用来创建到目的点的物理管道端点。此协议用于创建一个或多个点之间的通 信路径。这个协议主要考虑通过对等端点协议提供的路由来连接点。基于虚拟连 接的管道可以运行在任何物理传输网络上,比如说t c p i p 。管道的每个端点保持 这个虚拟连接,并在需要的时候通过查找管道的当前绑定端点来重新建立管道。 ( 5 ) 端点路由协议( e n d p o i n tr o u t i n gp r o t o c o l ,e r p ) 对等点用端点路由协议来查找到目的地址的路由。当一个对等点给另一个对 等点发送消息的时就需要路由消息。源对等点发送消息是,首先在本地缓冲区来 查找是否有到目的地的路由信息。如果没有,源对等点发送一个路由查询请求给 已知的路由点,询问路由信息。 路由信息包括源对等点i d ,目的对等点i d ,生存字段和一个路由点的排序序 列。路由i d 序列可能不完整,但至少存在一个路由点i d 。 ( 6 ) 集合点协议( r e n d e z v o u sp r o t o c o l ,r v p ) 集合点协议负责在j x t a 组中传播消息。集合点协议为点定义了一个基本协 议,用来在点组中发送和接受消息并控制消息的传播方式。一种为可以让对等点 连接( 传播消息和接受传播的消息) ;另一种为控制消息的传播( t t l ,环路探测) 。 对等点解析协议和管道绑定协议都用集合点协议来传播消息。 2 4 本章小结 本章对p 2 p 系统进行了详细的介绍,包括p 2 p 的基本概念、p 2 p 系统的三种 拓扑结构以及典型实例。本章还介绍了j x t a 平台,一个专门用于做p 2 p 计算的 开放性网络计算平台。由于j x t a 提供了统一的操作协议,并且使用方便,因此本 文选用j x t a 平台来实现p 2 p 系统。 1 4 3p 2 p 网络容错技术 容错是指遇到硬件或软件的错误时,系统能够提供正常服务的能力。由于集 中控制和协同性的缺乏,系统中任意节点的失效都会影响到系统功能的完整性。 如果是客户机类型的节点失效,会造成了p 2 p 系统中部分资源丢失;如果是服务 器类型的节点失效,不但会导致数据的丢失,更会影响服务的正常运行。因此, 这就需要系统提供容错功能,容许部分节点停止服务的情况下,系统依然可以有 效地提供服务。当前解决节点失效的主要方式有提高节点信息冗余和节点信息复 制策略。下面文章将分别介绍p 2 p 网络三种拓扑结构的容错问题及相应的容错技 术,其中重点分析混合p 2 p 网络的容错问题和解决措施。 3 1 中心化拓扑结构容错技术 中心化拓扑结构的p 2 p 网络,以n a s p t e l 为代表,有以下优点:由于节点直接 从服务器中查找,搜索结果非常全面,搜索速度也比较快;每个节点可以动态的 将信息传至服务器,所以索引的更新速度也比较快;搜索

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论