(计算机应用技术专业论文)p2p网络中基于依赖关系的更新传输机制及实现.pdf_第1页
(计算机应用技术专业论文)p2p网络中基于依赖关系的更新传输机制及实现.pdf_第2页
(计算机应用技术专业论文)p2p网络中基于依赖关系的更新传输机制及实现.pdf_第3页
(计算机应用技术专业论文)p2p网络中基于依赖关系的更新传输机制及实现.pdf_第4页
(计算机应用技术专业论文)p2p网络中基于依赖关系的更新传输机制及实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)p2p网络中基于依赖关系的更新传输机制及实现.pdf.pdf 免费下载

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

文档简介

摘要 协同软件主要是所有各种不同的人员在一个互相协同的环境当 中进行工作,完成一个相同的项目。它的特点主要是以团队协作和项 目管理为目标,把各种分散的资源整合在一起,形成一个共享信息系 统。通过网络实现协同工作,以达到数据的传输、数据的共享以及数 据的编辑和查阅功能。协同应用的前提是建立一个强大的信息沟通平 台,在底层通信基础上建立的一个逻辑的信息传递平台,保证信息能 实现无差错的、即时的、一致的传递。 协作应用中如何实现数据更新的一致性是本文研究的核心问题。 实现更新的一致性主要涉及两个方面:第一是各个数据副本的组织策 略以及如何在副本之间传播数据更新,第二是更新数据传播到达目标 节点后如何保证多个副本的数据是一致的。 针对上述问题本文提出了基于依赖关系的更新传输机制,并在此 机制下实现了三步确认的更新模型。主要内容包括: 1 ) 定义数据的一致性语义。不同的协作应用对一致性的要求是不一 样的,主要存在三个一致性语义标准:本地一致,依赖关系,全局一 致。对更新数据包之间的关系的确认,更新包的关系主要包括交换关 系、冲突关系、依赖关系。阐述了更新包的关系与数据一致性之间 的内在联系。 2 ) ,分析了更新机制实现的关键技术,从更新的发送、传输和接收上 阿述了实现协作应用中数据更新交互的解决方法。详细分析了更新的 发起中涉及到的并行更新操作的发现机制,以及更新传输中的 e p i d e m i c 传播模型。 3 ) 提出了基于依赖关系的更新机制,在分析协作应用的交互的基础 上,实现了基于依赖关系的三步确认的更新模型。在p 2 p 网络中,实 现了三步确认更新传播模型在实际应用中的雏形,并提出了在广域网 下的改进方法。 最后,简要的总结了研究成果,指出了三步确认的更新模型在实 际应用的不足,并进行了展望。 关键词:协同软件、数据一致性、更新机制、依赖关系、三步确认模 型 a b s t r a c t c o l l a b o r a t i o ns o f t w a r ei st h a ta l lp e r s o no fd i f f e r e n tr o l et oc o r p o r a t et o g e t h e ri n ac i r c u m s t a n c ea n dt oa c h i e v eac o m m o np r o j e c t i t sc h a r a c t e r i s t i ci st a k et e a m - w o r k a n dp r o j e c tm a n a g e m e n ta si t s o b j e c t i v e ,i n t e g r a t es e p a r a t e dr e s o u r c et o g e t h e rt o s t r u c t u r eas h a r ei n f o r m a t i o ns y s t e m i m p l e m e mc o o p e r a t i o nt h r o u g hn e t w o r ki n o r d e rt op r o v i d ed a t at r a n s m i s s i o n ,d a t as h a r e ,d a t ae d i ta n dd a t ac o n s u l t t h e p r e c o n d i t i o no fc o l l a b o r a t i o na p p l i c a t i o ni s t ob u i l dap l a t f o r mo fi n f o r m a t i o n i n t e r c o u r s ew h i c hi sal o g i c a li n f o r m a t i o nd e l i v e r yp l a t f o r mb a s e do nc o m m u n i c a t i o n , e n s u r et h ei n f o r m a t i o nb ed e l i v e r e dn o f a u l t y , i n s t a n ta n dc o n s i s t e n t h o wt o i m p l e m e n tt h ec o n s i s t e n c yo fd a t au p d a t e i st h ec o r ep r o b l e mo f c o l l a b o r a t i o na p p l i c a t i o n i ti n c l u d e st w oa s p e c t st oa c h i e v eu p d a t ec o n s i s t e n c y :o n ei s t h eo r g a n i z a t i o ns t r a t e g yo fd i f f e r e n td a t ac o p i e sa m o n gp e e r sa n dt h eu p d a t e p r o p a g a t i o n ,a n o t h e ro n ei sh o wt od e l i v e rt h eu p d a t em e s s a g ea c c o r d i n gt od a t a c o n s i s t e n c yw h e nt h e ya c c e p t e db yt h er e c e i v i n gp e e r i no r d e rt os o l v et h ep r o b l e m ,w ei n t r o d u c eau p d a t ep r o p a g a t i o nm e c h a n i s m b a s e do nc a s u a l l yr e l a t i o n sa n dw ec a r r yo u tt h r e e s t e pa c k n o w l e d g e m e n tm o d e l :o u r w o r ki n c l u d e j忡 1 ) d e f i n et h es e m a n t i c so fd a t ac o n s i s t e n c y d i f f e r e n tc o l l a b o r a t i o na p p l i c a t i o n a s kf o rd i f f e r e n tc o n s i s t e n c y , w ec l a s s i f yt h ec o n s i s t e n c yi n t ot h r e es t a n d a r d s :l o c a l o r d e r , c a s u a lo r d e r , t o t a lo r d e r w ed i v i d et h er e l a t i o no fu p d a t em e s s a g ei n t ot h r e e k i n d s :c o m m u t a t i v er e l a t i o n ,c o n f l i c t i n gr e l a t i o n ,c a u s e d _ b yr e l a t i o n e x p l a i nt h e c o n t r a c t i o nb e t w e e nd a t ac o n s i s t e n c ya n dr e l a t i o no fu p d a t em e s s a g e 2 ) a n a l y z et h ek e yt e c h n o l o g yo fh o wt oi m p l e m e n tu p d a t em e c h a n i s m ,e x p l a i n t h es o l u t i o no fu p d a t ei n t e r a c t i o ni nc o l l a b o r a t i o na p p l i c a t i o nf r o mt h r e ea n g l e sw h i c h a r eu p d a t ei n i t i a t i o n ,u p d a t et r a n s m i s s i o na n du p d a t er e c e i v i n g a n a l y s et h ee x t r a c t i o n o fl o g i c a lc o n c u r r e n c yo p e r a t i o ni nu p d a t ei n i t i a t i o ns t a g ea n dt h ee p i d e m i cm o & lo f u p d a t ep r o p a g a t i o ni nd e t a i l s 3 ) i n t r o d u c eau p d a t ep r o p a g a t i o nm e c h a n i s mb a s e do nc a s u a l l yr e l a t i o n , a c c o r d i n gt ot h ea n a l y s i so fi n t e r a c t i o ni nc o l l a b o r a t i o na p p l i c a t i o n ,w ei m p l e m e m t h r e e - s t e pa c k n o w l e d g e m e n tm o d e la n dd e m o n s t r a t ei t sam o d e lb a s e do nc a s u a l l y r e l a t i o n w ea c h i e v et h ep r o t o t y p eo ft h r e e - s t e pa c k n o w l e d g e m e n tm o d e lu n d e r p e e r - t o p e e rn e t w o r ka n dp o i n to u t t h ei m p r o v e m e n tm e t h o d s u n d e r ,a n 一7 , 一7 w es u m m a r i z et h er e s e a r c hr e s u l t sb r i e f l ya t l a s t ,p o i n to u tt h ed e f t c i e n c yo f t h r e e 。s t e pa c k n o w l e d g e m e n tm o d e li np r a c t i c ea n d b r i n gu pt h eh 叩e k e yw o r d s :c 。l l a b o r a t i 。ns 。r w a r e ,d a t a c 。n s i s t e n c y ,u p d a t em e c h a j l i s m ,c a s u a i r e l a t i o n ,t h r e e s t e pa c k n o w l e d g e m e n tm o d e l 独创性声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 勰二配 日期:2 翌墨:坌:堑 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅:学 校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文 注释:本学位论文不属于保密范围, 黧主一 导师签名: j j 1 适用本授权书。 二兽篓i j一日期: 厄垒彩。 lj 1 1p 2 p 概论 第1 章p 2 p 技术与网络协同软件 p 2 p 技术和应用在近些年来受到了广泛的关注。p 2 p 是一种分布式的网络结 构,网络中的参与者共享他们所拥有的资源( c p u 时隙,存储空间,网络连接能 力等) ,这些资源能够被其他的对等节点( p e e r ) 直接访问而无需经过中间实体。 在通信模式上,p 2 p 区别于传统的c s 通信模式,每个节点的处理能力相当,网 络中的节点既是资源的提供者,也是资源的使用者。在网络层次上,p 2 p 是运行 在互联网络上的动态变化的逻辑网络,它是由运行同一网络程序的客户端互连构 成的逻辑网络。 p 2 p 技术目前已经有了较为成熟的应用,这些应用主要集中在两个方面:一 是计算类,二是数据共享类。 计算类的p 2 p 技术实际上是将网络上闲置的c p u 资源集合起来,进行较大 规模的运算。计算类的应用中需要一个中央调度器,它将大的计算任务分解成小 的任务,再分配到系统中的参与者的c p u 进行计算,最后由中央调度器来收集 结果向用户返回。从早期的r s a 的密码破解竞赛开始,这方面的技术就已经得 到广泛关注。这种技术在一些大规模计算工程如探索地外文明、人类基因分析、 气象数据分析中得到广泛应用。目前它的集中代表是网格计算。 数据共享类的主要体现在文件传输和资源共享上,在商业上应用广泛。这方 面的应用主要分为三类: 第一类代表是以n a p s t e r 。它采用中央服务器进行管理,但是数据传输是不通 过服务器的。服务器的主要作用是存储用户信息和共享目录信息,以提高用户查 询速度。 第二类的代表是g n u t e l l a 。它采用完全分布式的协议,不需要服务器的支持。 这种模式没有带来任何商业价值,因为无法获取用户信息和对用户进行有效的控 制。 第三类是g r o o v e 。在l o t u s 之父的带领下,g r o o v e 开发了成功的商业应用, 对微软的传统单机办公软件造成了很大挑战,现被微软高价收购。g r o o v e 的方 向很明确,就是企业或是商务的应用,g r o o v e 自身的功能并不多,只是搭建了 一个p 2 p 的平台,然后设计出通用程序接口,实际上g r o o v e 的大多数功能都是 第三方开发的。 除了商业上的成功应用之外,目前p 2 p 的学术研究也受到了很大关注,研究 方向主要涉及四个方面【1 j 一、 二 1 : 1 p 2 p 的网络拓扑结构( c h o r d 。c a n ) 2 p 2 p 的社会价值( n a p s t e r , m a z e ,b t ) 3 p 2 p 对网络和通信的改进( 无线网络,a d h o c ,手持设备) 4 基于p 2 p 技术的软件架构( j x t a ) 5 p 2 p 算法( g n u t e l l a 等) 1 2p 2 p 的技术特点 节点( p e e r ) 在系统中的不稳定性是p 2 p 与传统的分布式网络不同点,p 2 p 的 目的就是在这些频繁加入或者离开系统的节点集合建立可控的系统。或者说,p 2 p 网络其实是在实际物理网络之上通过路由机制实现的一种应用层上的覆盖网。 p 2 p 有以下技术特点【1 】 1 ) 分散化 网络中的资源和服务分散在节点上,信息的传输和服务的实现都直接在节点 之间进行,无需中间服务器的介入,避免了可能的瓶颈和对硬件设备的高要求。 由于没有中间服务器对全局进行控制,所以纯p 2 p 系统地实现存在缺陷。所以成 功的实现大多采用混合p 2 p 模式,使得在查找资源、定位服务或安全检验等环节 需要集中式服务器的参与,但主要的信息交换最终仍然在节点之间直接完成。这 样就大大降低了对集中式服务器的资源和性能要求。这方面的特点带来了其在可 扩展性、健壮性等方面的优势。 2 ) 可扩展性 在的c s 模式中,系统能够容纳的用户数量和提供服务的能力主要受服务器 的资源限制。为支持的大量并发用户,需要在服务器端使用大量高性能计算机组 成机群系统。而且由于集中式服务器之间的同步、协同等处理产生了大量的开销, 限制了系统规模的扩展。在p 2 p 网络中,系统整体的资源和服务能力是随着节点 的加入同步地扩展的,容易满足用户的需要。在n a p s t e r 等混合型架构中,由于 大部分信息的处理是直接在参与节点之间进行的,大大减少了对服务器的依赖, 因而其最大在线用户达到了6 0 0 万。而对于纯p 2 p 来说,由于体系结构是全分布 的,不存在瓶颈,理论上其可扩展性是无限的。但由于其查询采用洪泛转发算法, 使得查询难以控制,并存在稀疏数据无法查询到的错误。最近开发的p 2 p 系统,一 如c a n ,c h o r d ,o c e a n s t o r e ,采用分布式哈希( d h t ) 技术,完成数据和节点之间 的映射关系,提高了查询效率。同时每个节点维护系统中部分节点的路由表信息, 实现结构化覆盖网络,提高了可扩展性。 3 ) 健壮性 2 p 2 p 系统设计的目的之一就是为了防止存在中心节点失效错误。在集中式服 务模式中,集中式服务器成为整个系统的瓶颈所在,旦发生异常就会影响到所 有用户的使用。而p 2 p 架构天生具有耐攻击、高容错的优点。由于服务和资源是 分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。 而且p 2 p 模型一般在部分节点失效时能够自动调整整体拓扑,保持其它节点的连 通性。健壮性主要体现在两方面:一是要保证节点离开后再登陆仍能得到一致的 服务,有些p 2 p 的实现是通过应用层恢复,在g r o o v e 中是通过r e l a y 服务器保存 服务更新信息,这种实现对于用户来说是透明的。二是要保证服务和资源在部分 节点失效时,仍能保证可用性。主要是通过在节点之间复制资源来实现的,当然 同时也带来了复制算法的实现和一致性保证的问题。 4 ) 匿名性 随着互联网的普及和计算存储能力飞速增长,收集隐私信息正在变得越来 越容易。目前的i n t e r n e t 通用协议不支持隐藏通信端地址的功能。攻击者可以监 控用户的流量特征,获得i p 地址。甚至可以使用一些跟踪软件直接从i p 地址追 踪到个人用户。在p 2 p 网络中,由于信息的传输分散在各节点之间进行而无需经 过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前 解决i n t e m e t 隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏 在众多的网络实体之中。在传统的一些匿名通信系统中,实现这一机制依赖于某 些中继服务器节点。而在p 2 p 中,所有参与者都可以提供中继转发的功能,因而 大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。 5 ) 高性能 _ ,- 性能优势是p 2 p 被广泛关注的一个重要原因。随着硬件技术的发展,个人计 算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。而在目前的 互联网上,这些普通用户拥有的节点只是以客户机的方式连接到网络中,仅仅 作为信息和服务的消费者,游离于互联网的边缘。对于这些边际节点的能力来说, 存在极大的浪费。采用p 2 p 架构可以有效地利用互联网中散布的大量普通节点, 将计算任务或存储资料分布到所有节点上。利用其中闲置的计算能力或存储空 间,达到高性能计算和海量存储的目的。这与当前高性能计算机中普遍采用的分 布式计算的思想是一致的。但通过利用网络中的大量空闲资源,可以用更低的成 本提供更高的计算和存储能力。p 2 p 的高性能主要源于复制技术,缓存技术和智 能路由技术的使用。 、 3 1 3p 2 p 体系结构 对等网络是计算机通过直接交换共享计算机资源和服务的网络,网络中所有 的结点是对等的,具有相同的责任与能力并协同完成任务,对等节点兼有客户机 和服务器的功能。对等点之间通过直接互连实现信息、处理器、存储甚至高速缓 存等资源的全面共享,无需依赖集中式服务器的支持。 在结构上对等网络分为四种类型1 2 j : 1 ) 中心非结构化的p 2 p 系统: 系统的特点是文件的发布和网络拓扑松散相关,拓扑结构为中心化的。该类 方法的代表是n a p s t e r 。n a p s t e r 实质上并非是纯粹的p 2 p 系统,它通过一个中央 服务器保存所有n a p s t e r 用户上传的文件索引和存放位置的信息。当某个用户需 要某个文件时,首先连接到n a p s t e r 服务器,在服务器进行检索,并由服务器返 回存有该文件的用户信息;再由请求者直接连接到文件的所有者传输文件。 n a p s t e r 首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带 宽消耗,减少了系统的文件传输时延。但是由于对中央“目录”服务器的依赖, 使系统存在可扩展性和单点失效问题 2 ) 全分布非结构化p 2 p 系统: 系统仍然是文件的发布和网络拓扑松散相关,拓扑结构为全分布化的。 g n u t e l l a 是纯p 2 p 文件共享系统,g n u t e l l a 等系统采用广播或者受限广播来进行 资源定位,具有较好的自组织性和扩展性。g n u t e l l a 是纯粹的p 2 p 系统,没有索 引服务器,它采用了基于完全随机图的洪泛( f l o o d i n g ) 发现和随机转发( r a n d o m w a l k e r ) 机制。为了控制搜索消息的传输,通过1 t r l ( t i m et ol i v e ) 的减值来实 现。g n u t e l l a 的容错性好,不受节点频繁加入和离开的影响。但是随着联网节点 的不断增多,网络规模不断扩大,通过这种洪泛方式定位对等点的方法将造成网 络流量急剧增加,从而导致网络中部分低带宽节点因网络资源过载而失效。由于 采用t t l ( t i m e t o l i v e ) 、洪泛( f l o o d i n g ) 、随机漫步或有选择转发算法,因此 路径不可控,可扩展性较差。 3 ) 完全分布式结构化p 2 p 系统: 系统特点是文件的发布和网络拓扑紧密相关,拓扑结构为全分布化的。文件 按照p 2 p 拓扑中的逻辑地址精确的分布在网络中。这类系统包括c a n 、 一一 t a p e s t r y 、c h o r d 、p a s t r y ,以及基于这些系统的一些其它文件共享和检索 方面的研究实验系统。在这类系统中每个节点都具有虚拟的逻辑地址,并根据地 址使所有节点构成一个相对稳定而紧致的拓扑结构。在此拓扑上构造一个存储文 件的分布式哈希表d h t ,文件根据自身的索引存储到哈希表中。每次检索也是 根据文件的索引在d h t 中搜索相应的文件。生成文件的索引的方法有三种:根 4 据文件的信息生成的哈希值( h a s h ) ,如c f s ,0 c e a n s t o r e ,p a s t 等;根 据文件包含的关键字生成关键字索引;还有根据文件的内容向量索引,如 p s e a r c h 。 4 ) 半分布式的结构化p 2 p 系统: 这种结构吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高 ( 处理、存储、带宽等方面性能) 的结点作为超级点,在各个超级点上存储了系 统中其他部分结点的信息,检索算法仅在超级点之间转发,超级点再将查询请求 转发给适当的叶子结点。半分布式结构也是一个层次式结构,超级点之间构成一 个高速转发层,超级点和所负责的普通结点构成若干层次。k a z a a 是包含有超 级节点的混合型p 2 p 文件共享系统。半分布式结构的优点是性能、可扩展性较好, 较容易管理,但对超级点依赖性大,易于受到攻击,容错性也受到影响。 从非结构化到结构化再到融合后的混合分布式结构是当前p 2 p 网络发展的 趋势。 表1 - 1四种结构的比较 中心化非结构全分布非结构全分布结构化半分布式 化化 可扩展性 :主些 好中在差芒 可靠性 兰 好好 由 z l 可维护性好好好 出 - b 。 查询算法效率 向 由 同中 复杂查询支持支持不支持支持 5 1 4p 2 p 应用的架构和核心算法 1 4 1p 2 p 应用的架构 a p p l i c a t i o n s p e c i f i c l a y e r g r o u pm a n a g e m e n t l a y e r c o m m u n i c a t i o nl a y e r 曰曰目匡 图卜1p 2 p 系统的架构 通信: p 2 p 的通信方式存在多种。普通的台式终端通常通过高速局域网连接到 i n t e r n e t ,而手持设备通过a d h o c 方式连接到无线网络。但由于p 2 p 的不稳定 性,所以当节点采用低速链路连接( 拨号上网) ,如何保证在应用层维持连接状态 是一个难点。 _ 发现和路由机制: 这主要是指如何定位其他节点以及如何路由到其他节点。方法有很多种, n a p s t e r 采用集中目录服务器管理,g n u t e l l a 采用洪泛算法,k a z a a 采用包含有 超级节点的混合,而c h o r d ,c a n ,t a p e s t r y 采用覆盖网络的方式。这些方法的采用 的直接目的是为了加速应用层消息的传输。 公共应用组件: 一 这方面主要是指建立p 2 p 应用必须解决的几个问题:安全,资源分配,可靠 性。安全是知如何保证在通信的p e e r 之间保证信息的安全,这方面的研究很多, 但性能都比不上集中式的安全管理,比如g r o o v e 中采用安全认证服务器。资源 分配是指如何实现节点之间共享资源的方式,文件、c p u 、存储空间、网络连接 能力等的使用方式。可靠性是指在底层网络不稳定的情况下,如何保证应用层工 作的透明性,目前采用的主要手段是复制技术。 特定应用组件: 一。 6 这主要是指建立某方面的p 2 p 应用必须解决的问题。调度是针对面向计算的 应用,如何把数据分块,如何并行执行以及如何获得结果。元数据主要是针对文 件共享类的应用如何构造目录服务器。资源管理是指如何维护底层p 2 p 网络资 源,比如在p 2 p 存储应用中。消息主要是针对网络协同软件,如何保证每个p e e r 的更新能及时准确地更新到其他的p e e r s 。 工具层: 这部分是展现给用户的界面,用户可以根据自己的需要安装相应的工具。所 以这部分和下层之间采用插件式的开发模式是很有必要的( g r o o v e 就是搭建了 一个p 2 p 的平台,然后设计出通用程序接口,工具是可以定制和自己开发的比如 在协同软件中的讨论板,文档共享工具等) 。 1 4 2p 2 p 应用核心算法 这部分我们主要关注几种p 2 p 体系结构下所涉及的核心算法和优缺点【3 】。 1 ) 中心非结构化的p 2 p 系统 图卜2n a p s t e r 的结构和数据传输形式 以n a p s t e r 为代表的这类系统的关键是集中的目录服务器如何维护索引文 件。系统中的每个p e e r 把自己要共享的文件信息发给目录服务器,由目录服务 器维护索引信息,当其他的p e e r 请求文件时,首先将请求发给目录服务器,目 录服务器响应请求,把结果的信息( 文件位置信息) 返回给用户,之后的文件传 输在两个p e e r 之间进行。b t 下载软件同样采用这种结构,只不过目录服务器由 t r a c k e r 服务器取代,但是作用是一样的。但文件传输过程中,b t 采用数据分块传 输,然后不同p e e r 之间相互传输缺少的数据块,所以其数据传输速度很快。 2 ) 全分布非结构化p 2 p 系统 一一、 7 墨耋趸盘戚 图1 - 3g n u t e l l a 的结构和数据传输形式 这类系统的代表是g n u t e l l a ,没有集中式的服务器,每个节点是对等的。系 统中消息主要分为三类:成员关系消息( p i n g ,p o n g ) ,查询消息( q u e r y , r e s p o n s e ) ,文件下载消息( g e t ,p u s h ) 。系统的建立是依靠成员消息实现的。当 一个新节点加入系统中时,它广播一个p i n g 消息告知其他节点。当某个节点收 到p i n g 消息后,它返回p o n g 消息和它的节点表,并继续转发给其他节点。新节 点收到p o n g 消息并且得到节点表。当一个节点发送查询消息q u e r y 时,消息被 洪泛到所有节点,其他节点收到消息后,查询本地共享文件,存在的话用r e s p o n s e 消息返回给请求节点,同时继续转发q u e r y 消息。为防止消息充斥网络,消息被 都设置t t l 。可见g n u t e l l a 是性能比较低的,占用大量带宽,但是却存在良好的 稳定性。 3 ) 半分布式的结构化p 2 p 系统 图11 - 4k a z a a 的结构和数据传输形式 8 蠢 吖| 刍k u p n n 器一 (艮 d 掺 为了解决上述两种体系结构的缺点,k a z a a 应运而生。k a z a a 是包含有超 级节点的混合型p 2 p 文件共享系统。在各个超级点上存储了系统中其他部分结点 的信息,检索算法仅在超级点之间转发,超级点再将查询请求转发给适当的叶子 结点。由超级节点和叶子结点构成了一个层次网络结构。 4 ) 完全分布式结构化p 2 p 系统 拓扑结构为全分布化的,每个节点负责一个小范围的路由,并负责存储一小 部分数据,从而实现整个网络的寻址和存储,采用的主要方式是建立分布式哈希 表。每个节点有一个全局唯一的标识n i d ,通过分布式哈希函数建立资源唯一标 识o l d 和n i d 的对应关系:n i d = h a s h ( o l d ) ,n i d 与o l d 之间是一对多的 关系。将资源的定位信息保存到节点标识符为h a s h ( o i d ) 的节点上。当用户 查询数据对象时,首先通过o l d 和分布式哈希函数计算出资源的定位信息,然 后将请求发送到该节点,查询该数据对象。在p 2 p 网络中,任意的两个节点之间 都可以通讯,并且系统所维护的分布式哈希函数以相同的,所以只要知道资源的 o i d ,就可以定位该资源。 1 5 网络协同软件 1 5 1 、协同软件的定义 协同软件【4 1 1 5 1 6 j 已经成为继e r p ,c r m 之后最具增长力的企业信息管理软件, 对单机办公软件带来了极大的冲击。目前在办公领域所涉及的文档软件、即时通 信软件、电子公文软件、电子邮件等都可以归为协同软件细分的软件领域。 协同软件( c o l l a b o r a t i o ns o f t w a r e ) 是指那些以团队协作和项目管理为目 标的沟通协作软件工具,包括各种通信软件,如e - m a i l 、即时通信、v o l p 等; 实时会议包括电话会议、视频会议等;群组协作如工作流管理、群件、网络化项 目管理;联系人管理以及相关的信息安全产品如信息加密、身份认证等。而且由 于网络、通信技术的发展和用户全球化等新需求的提出,协同软件概念也赋予了 新的含义,例如结合了i n t e r n e t 、通信、工作流和s o a 等多种技术和手段。可 以认为,最早的群件、电子邮件、工作流管理、项目管理、知识管理、协同工具、 企业门户等等,组成了现在意义上的协同软件。 从应用的角度看,一般把协同软件分为三个部分:协同工具软件、协同平台 软件、协同应用软件。例如电子邮件、即时通信,m s n 等称之为协同的工具软件; 协同平台软件是指在这之上开发构建应用软件的平台软件,例如i b m 的l o t u s d o m i n o 平台以及最新推出的w o r k p l a c e ;微软公司的e x c h a n g e 平台;点击科技 9 的竞开协同之星( g k - s t a r ) ;g r o o v en e t w o r k s 公司的g r o o v e 平台等。协同应用 软件是指能够为最终用户实现相互沟通和协作、提高管理效率、实现企业的实时 管理和敏捷管理。例如,协同办公、协同商务、协同政务等。 当然,协同应用也是一种思想,一种体系架构,而这个思想和架构可以应用 到信息化的各个应用领域。例如在协同办公领域,能够以协同的思路去整合各种 办公软件和数据,包括邮件、文档、各种报告,还能提供群组协作、通信功能, 也包括工作流的管理、事务管理、知识管理和联系人管理等。协同也可应用于企 业管理系统中,包括企业管理、各种业务流程管理等;另外在电子政务领域,协 同的思想更重要,绝大部分的电子政务方案都属于协同办公和协同管理的范围。 1 5 2 协同软件的特点 协同软件主要是所有各种不同的人员在一个互相协同的环境当中进行工作, 完成一个相同的项目。它的特点主要是以团队协作和项目管理为目标,把各种分 散的资源整合在一起,形成一个共享信息系统。通过网络实现协同工作,以达到 数据的传输、数据的共享以及数据的编辑和查阅功能。 协同软件首先是一个强大的沟通平台,沟通并不等于简单的通信。主要体现 在保证沟通的时效性、完整性,保证沟通的效率,并且沟通要面向具体的目标群 体可见,沟通是在底层通信基础上建立的一个逻辑的信息传递平台,保证信息能 实现无差错的、即时的、一致的传递。 协同软件其次是一个面向协作的软件。在网络环境下,实现基于团队的办公 模型,要求协同软件实现一个通用的管理平台,使应用能随需应变、动态适应。 通过该平台,实现团队成员之间的数据和流程共享,实现团队协作。 协同软件是一个应用支持平台,以应用为目的组织各种数据和信息,提供对 用户离线操作的支持,能与其它管理系统( e r p 、人事管理) 配合使用,实现与 其他的系统的融合,并能在此平台上开发特定的协同应用。 1 6g r o o v e p 2 p 在协同软件中的应用 l o t u sn o t e s 2 _ 父r a y0 z z i e 的一片影响深远的文章【7 】中提到只有适应需求本质 的分布式软件才厶匕e , 序l t - - 存。r a y0 z z i e 于1 9 9 7 年创建的g r o o v en e t w o r k s 作为协同软 件的代表,取得了很大的成就,对于传统的单机办公系统提出了挑战。g r o o v e l 8 】 还不仅仅是个协同办公软件,另外还是一个企业级通讯平台,配合强大的插件化 技术几乎能够覆盖企业的每个办公协同领域。微软花费巨资收购t g r o o v e 一 1 0 n e t w o r k s ,使得其下代办公软件中融合进协同工作的思想。 g r o o v e 为个人办公、个人之间交流、小组交流搭建一个p 2 p 的平台,然后设 计出通用程序接口,不同的工具通过插件化的开发方式独立开发并根据用户需要 嵌入p 2 p 平台上。g r o o v e 为网络协同应用主要提供以下功能 表卜2g r o o v e 的协同服务 个人信息个人之间交流小组交流 m y c o n t a c t sc o m m u n i c a t i o nt o o l ss h a r e ds p a c el i s t g r o o v ec o n t a c t i m s h a r e ds p a c e e m a i lc o n t a c t c h a t ( v o i c e 、t e x t ) t o o l ss e t m ym e s s a g e s e m a i lt o o l s 相关联的 a c t i o nm e s s a g ec o n t e n ts h a r i n gt o o l sc o n t a c t s i n v i t a t i o ns h a r e df i l e s c o n t e n ts h a r e dp i c t u r e s m e s s a g e - 一t o o l s s h a r e dc o n t a c t s e m a i lj o i n ta c t i v i t yt o o l s s h o r tm e s s a g ew e bb r o w s i n g , g r o u pc a l e n d a r g r o o v e 采用p 2 p 的架构主要是考虑到三个因素:成本因素、符合 p e r s o n t o p e r s o n 行为,适应性【引。 1 ) 成本因素 充分利用网络边缘p e e r 的处理能力、存储能力和网络连接能力,避免中心 模式中对s e r v e r 的管理和资源需求,同时p e e r 可以根据自己的资源选择服务方 式。 2 ) 符合p e r s o n t o p e r s o n 行为 g r o o v e 的采用的p 2 p 模式符合p e r s o n p e r s o n 之间的交互行为,不需要中心 节点进行数据转发,实现了数据实时共享。支持离线操作,所有的更新都会在节 。点重新加入后,由r e l a ys e r v e r 同步数据。每一个p e e r 可以同时属于多个组,能 够快速部署协作流程。p 2 p 中的各个节点是自组织的,节点的加入、离开,容错, 数据中转等都是透明的,不受外部系统的控制。 3 ) 适应性 由于g r o o v e 的上层插件式的设计方式,可以使上层服务随着用户的需求变 更,而不会对其他的节点产生影响。数据的维护分布在每个p e e r 上完成,节点 的失效不会对系统造成影响。同时g r o o v e 能够与传统的c s 服务共存,实现互 操作。 t r a n s c e i v e r s h a r ds p a c es h a r ds p a c e t o o lt o o lt o o lt o o lt o o lt o o l s e c u r i t y c o n n e c t i o n s y n c h r o n i z a t i o n x m lo b j e c ts t o r ex m lo b j e c tr o u t i n g a w a r e n e s s t r a n s p a r e n c y 图卜5g r o o v e 的架构 g r o o v e 的节点连接服务是提供一个p 2 p 的平台,实现系统层上各p e e r 之间的 交互,保证上层应用的透明性。所有的数据在每个节点上以x m l 格式存放在 s h a r ds p a c e 中,保证节点支持离线操作。数据之间的同步由g r o o v e 的同步服务 支持。g r o o v e 的安全服务采用1 9 2 比特密钥的公开密钥加密技术。 1 2 第2 章协同平台软件g k - s t a r 的体系结构和实现 2 1 协作区的基本框架和核心问题 2 1 1 协作区的基本框架 g k s t a r 是基于p 2 p 技术实现的网络协同平台。协作区是数据的载体,是 成员和工具的集合。协作区和成员,协作区和工具之间都是多对多的关系。协作 区解决的问题是哪些成员能利用哪些工具操作哪些数据。属于同一协作区的不同 节点之间通过更新消息的发送和接收维持数据的可访问性,并且在数据一致性的 基础上,利用不同的工具完成上层应用。 协作区的基本框架 图2 - 1g k - s t a r 的基本框架 各个模块的功能 1 ) 同步层 同步层的职责是负责多台机器之间的p e e rt op e e r 同步传输信息。同步层是 准同步的,并不能保证数据的一致性,只是实现数据一致性的必要条件。同步层 不为某个协作区和某个工具单独使用,在每个p e e r 看来,同步层是共享的,为 所有的上层提供无差别的数据准同步传输服务。 数据在同步层中为临时数据,同步层从上层复制数据到自己的数据空间中, 然后向协作区的成员发送,发送结束后删除数据( 通过发送成员列表判断) 。接收 端接到数据后,通知数据层取回数据,并且继续转发给协作区其他的成员,发送 结束后将数据删除。 2 ) 数据层 数据层负责整理和分发数据。数据层和上层应用层共享数据。数据层不负责 解释工具数据,但通过解析数据包头,获得数据的归属协作区和工具,分发数据。 当上层工具产生新的数据更新时,负责打包数据( 添加数据包头信息) ,并通知 同步层取数据。数据层会记录协作区的所有数据更新,当有新的成员加入协作区 时,把这些数据同步给新的成员。 3 ) 应用层 应用层是最终识别和接收同步数据的实体,但对这部分数据只读。由于同步 层和数据层不关心具体的数据之间的依赖关系,所以应用层工具要根据某种规则 在运行期间完成数据重组。应用层了决定发送数据的数据结构。之后应用层根据 同步数据生成自己的私有数据,交给数据层。 通过对协作区结构的分析可以看出,数据层与应用层的工具共享硬盘上的数 据,除了工具添加新的数据更新以外,两者的接口并不直接传递数据流,数据层 接收数据以后,通知工具到硬盘相应文件区读取数据。同步层与数据层不共享硬 盘上存储的数据,两者以数据流的方式进行接口,各自处理自己的数据。 2 1 2 协作区的关键问题 通过对协作区的框架模型的分析,会发现协作区

温馨提示

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

评论

0/150

提交评论