(计算机系统结构专业论文)基于扩展带弦环的资源共享系统的设计与实现.pdf_第1页
(计算机系统结构专业论文)基于扩展带弦环的资源共享系统的设计与实现.pdf_第2页
(计算机系统结构专业论文)基于扩展带弦环的资源共享系统的设计与实现.pdf_第3页
(计算机系统结构专业论文)基于扩展带弦环的资源共享系统的设计与实现.pdf_第4页
(计算机系统结构专业论文)基于扩展带弦环的资源共享系统的设计与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机系统结构专业论文)基于扩展带弦环的资源共享系统的设计与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 中文摘要 随着网络延伸到生活中的各个角落,有眼光的学者和企业都发现了网络中的 节点所蕴藏的巨大计算潜力,于是基于广域网的分布式应用逐渐成为研究热点, p 2 p 软件的兴起有力的证明了这点。与此同时,传统软件产业向互联网服务转型, 微软提出的n e t 和“v e c o m 战略,g 0 0 西e 提出的云计算战略,都表明了这一趋 势。论文中把可通过网络共享的一段数据、文件或服务都抽象为资源。 论文描述了一种构造资源共享系统的方法。系统把信息和服务都当作资源的 一种,即信息和服务的描述方法是一致的,都通过统一的资源描述符来描述。系 统中的用户能通过接口或用户界面方便的进行资源的添加和查找。首先论文分析 了穿越n a t 的技术细节,目前由于公网地址不足和防火墙的原因,大多数用户都 处在n a t 后,这为他们之间的直接通信造成了障碍。穿越n a t 是发掘用户节点潜 力的必要条件。然后描述了资源共享系统的部署方式、拓扑结构和路由原理。并 给出了系统具体实现的细节,包括跨平台库w x w i d 础的使用、网络消息的处理、 节点状态的转换、资源的描述和监测方法等等。最后进行了分析和总结。 资源共享系统的拓扑结构是扩展的带弦环。带弦环是一种简单高效的拓扑结 构,由于它不适合组织动态变化频繁的普通用户节点,在资源共享系统中,它被 用于连接拓扑结构顶层的服务器节点,保证了路由效率的同时兼有高容错能力。 为了实现节点用户资源的注册和监测,系统在用户节点上部署客户端守护程序。 这些用户节点以本站的服务器节点为根,形成三层的树状结构,利用树状结构的 特点实现了系统的高可扩展性。这样,系统形成了扩展的带弦环拓扑。另外,系 统对带弦环的路由表进行了改进,在服务器节点稳定的情况下,路由表能退化成 h a l s h 表,进一步提高路由效率;普通用户节点的上级节点也并不固定,避免因单 个上级节点崩溃造成系统不稳定。 关键词:网络服务,资源共享,扩展带弦环,节点监测,三层树状拓扑 a b s 自r a c t a b s t r a c t w i mt l l ei n t c m e ts 仃e t c h e se v 叩恤e r ei 1 10 u rd a i l yl 氓缸s i g h ts c h o l a r sa n d c o q r a t i o 砌:0 v e dm eh u g ep o t e n t i a lc o m p u t i n gp o w e r1 1 i d i r i gi i lm en e tn o d 伪s o t l l ed i s t r i b u t e da p p l i c a i i o nb a s e do nh l t e n l c tb e c o m 岱h o ts u b j e c t 如dt l l es u c c 懿so f p 2 ps o r w a r ed e m o i l s n a t e si t a t l es 锄em e ,缸d i t i o n a ls 0 胁a r e st u 盯l i n gt oi i l t e m e t s e r v i c e s ,t l l e n e t 锄dl i v e c o ms 缸a t e 百盥b ym i c r o s o 屯a n dc l o u dc 0 m p u t i n gb y g o o 舀e ,e x p r e s st 1 1 en e w 仃d i nm i st 1 1 e s i s ,i t sa b s 劬l c t c d 部r e s o u r c e sw h i c hc a i lb e s h 鲫。db yi n t 锄e t ,a n di tc o u l db eap i e c eo f d 峨a6 l e ,o ra k m do f s e r v i c e s t h j sm e s i sd e s c r i b e sam e m o dt oc o i l s t r i l c tar e s o es h 弛gs y s t e m ? f h es y s t e m f e g a r d si i l f b m 僦0 n 锄ds e i c 髑嬲al ( i i l do f - 嚣o m c 骼,n a m e l mm ed e s 商砸o n so f i n f o 曲a t i o n 趿ds e r 、,i c e sa r ec o 璐i s t 饥t ,甜lb yr 髂o i m d e s c r i p t i o nb l o c k u s e r so ft h i s s y s t 锄c a | 1r c 百s t e f 锄ds e 卸c hr e s o u r c 髂t l l r o u g hg u i 如do t l l e rm t e r f a c e f i l 丐t l 弘w e 锄a l y s e l et e c t l n i c a ld e t a i l st 0c r o s sn a t b e c a u s eo fi i l s u 伍c e n tpa d d i e s sa j l dt h e e x i s t e n c eo f 伍e w a l l ,m o s tu s e 岱i i lc l l i n aa r eb d l i i l dn 虹:n l a to b s t a c l e s 也e i rd i l 删y 踟u m c a t i o n s c f o s s m gn a t i sn e c e s s a f yf o i d i 舀n g 也ep o t e 芏1 t i a l so fl l s e rn o d e s t h e l l ,w es h a r cm ei d e a so fd 印l o 姐n gs y s 懈n ,m et o p o l o g y 蠲d 也er o u t i n gp r i n c i p l e a j f i e rm a t ,w ed i s c u s sm ei i n p l 锄c 1 1 to f 衄ss y s t e m ,i i l c l u d i i 培c m s s - p l a t f o m ll i b a r y w x 砌d g e t s ,n e 铆o r km e s s a g ep r o c e s s i n n o d es t a t e 嘶s f - o n l l i n g ,n o d ed e t c c t i n ga n d e t c f i l l a j l y ,w e 卸a l y s et h es y s t 锄p 晌m l a j l c c 锄dc o n c l u d e i t se x t e n d e dc h o r dr i i l gt o p o l o g ym a tb e 锄p i o y c db yt t l er e s o u r c es h a d l l gs y s t e m f o fn o ts u i t b a l et oo 瑁n j z em ed y i l 锄i cn o d e sc h a i l g i l l g 右嗍u e n t l y ,i i lt h i ss y s t 锄,c h o r d 血gc o n n e c t s 蹄l e v e ls 惯n o d e s ,p r o v i 血培l l i 曲r o u 妇ge 币c i 钮c ym df i a u l t t o l e r e f l c ec a p a b i l i 哆t of a c i l i t a c eu s e fr e s o 啦c er e 舀s t 研n g 锄dm o n i t o d n g ,c v e 叮 u s 昏dd e p l o y sad a 锄o n t h e s ed a e m o n e sf o ma3 一l e v e lt r - e et o p o l o 既l o c a ls e r v e r a si t sr o o t ,t 0r e a l i z et l l el l i 曲s c a l a b i l i t yw i m 1 e 仃e e sf e a t u r c t h i ss y s t 锄u p d a t e st i l e r o u t et a b l er e 丘e s hm e c h 砌s m :i fs e r v c rn o d e sk e 印s 讪l e ,m er o u t et a b l ew i u d e g e i l e r a t e 鹊ah a s ht a b l e ,s ot l l er o u t i n ge m c i e n c y9 0 e sb 甜既a n dt l l ec o m m o nn o d e mt h j ss y s t e md o e s n ta l w a y sc 0 彻e c taf i x e du p l i l l kn o d e ,m es e l a d 印t i v eu p l i m ( m e c h a l l i s mc 卸a v o i du n s t a b l e sc a u s e db yu p l i n l ( n o d ec r 晒h i i a b s t m c t k e y w o r d s : i n t e n l e ts e r v i c e s ,r e s o u r c es h 撕n 吕e x t e i l d e dc b 0 r d 血l 吕n o d ed e t c c t i n 岛 3 l e v e l 灯e et o p o l o g y i i i 图目录 图目录 图2 1s c ) a 架构8 图2 2 、d s l 和u d d i 的对应关系。l o 图2 3t a p e s 时的路由表( 专表示邻居指针,l 表示反向指针) 1 3 图2 41 1 a p e s 缸- y 路由过程14 图3 1 通过服务器中转1 9 图3 2 反向连接2 0 图3 3 对等端点在同一个n a t 后2 l 图3 4 对等端点在不同的n a t 后2 2 图3 5 对等端点在多重n a t 后2 4 图4 1 系统总体架构2 9 图4 2 资源共享系统站内架构3 0 图4 - 3 系统拓扑结构3 2 图4 - 4 路由数组构造过程3 3 图4 5 节点通信连接的建立过程3 6 图5 1 、张s o c k e t 类的层次图4 0 图5 2 客户端守护程序结构4 4 图5 3 服务器端守护程序结构4 4 图5 4 资源信息存储数据结构4 5 图5 5 客户端界面5 0 图6 1 节点负载概率密度5 1 图6 2 缓存命中效果5 3 表目录 表目录 表4 1 客户端守护程序接口3 1 表5 1w x s o c k e t b a l s e 的标志4 0 表5 2 、) i r 】【s o c k e t b a u s e 支持的事件类型4 2 表5 3 资源描述符格式4 3 表5 _ 4 网络消息格式4 6 v i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:煎垂互塾日期:础年 月2 丫日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名: 日期:仫一目 一 , t f l a ) 一 三 第一章引言 1 1研究背景 第一章引言 随着网络延伸到生活中的各个角落,无数的节点被连入到互联网络中。刚开 始是技术人员发现节点互联互动的重要性,于是出现了c o r b a 、i 冲c 、d c o m 这 样的协议用于标准化不同节点间的通信和相互调用。由于网络在不断优化,带宽 在不断增长,节点通信的代价变得越来越小,有眼光的学者和企业都发现了网络 中的节点所蕴藏的巨大计算潜力,于是基于广域网的分布式应用逐渐成为无可争 议的研究热点。 微软,g 0 0 哲e 都提出了自己基于广域网的分布式系统战略,并进行了包装推 广。微软提出的战略是n e t ,g o o 酉e 则提出了云计算。虽然实现细节各有千秋, 但更大的作用恐怕还是使普通用户对互联计算的无限前景开始有所认识。 微软的n e t 平台利用以互联网为基础的计算,通过先进的软件和网络协议, 协调众多的智能设备与网站,从而提供更简单、更为个性化、更有效的互联网服 务。微软联合业界伙伴,通过软件打破目前的“数字孤岛 ,即计算机、设备、网 站、各大机构和工业界间的障碍,从而实现互联网的最大潜能。 微软总裁兼首席执行官史蒂夫巴尔默说:“互联网革命现在必须进入下一阶 段:使现有的大量信息和资源能相互协作。通过创建一个统一的平台,使各种设 备和服务互相协作,微软将为开发商提供新一轮发展和创新契机,从而使我们进 入功能更强、操作更简化的计算时代。 2 0 0 0 年6 月2 2 日,比尔盖茨向全球宣布其下一代软件和服务n e t 平台的构 想和实施步骤。八年过去了,微软意识到当初构思的宏大设想难以完成,已经更 为务实。然而即便是目标和计划一再缩水,其n e t 的应用和开发看来仍然是困难 = # ;# 重里。 再来看看云计算。云计算也是分布式计算技术的一种,其最基本的概念,是 透过网络将庞大的计算处理程序自动拆分成无数个小的子程序,再交由多部服务 器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技 术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达 电子科技大学硕士学位论文 到和超级计算机同样强大效能的网络服务。 云计算通过使计算分布在大量的计算机上,而非本地计算机或远程服务器中, 企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应 用上,根据需求访问计算机和存储系统。它意味着计算能力也可以作为一种商品 进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是 通过互联网进行传输的。云计算的应用包含这样的一种思想,把分散的力量汇聚 起来,给其中的每一个成员使用。 在海量数据的时代,数据变得越来越庞大,共享数据的代价仍然太高昂。比 如看似一个简单搜索请求,却依赖于一个规模极为庞大的索引数据,处理后输出 却很小。输入输出的数据规模远远小于计算的数据处理规模,几百个l 相对几个 p b ,比例非常悬殊。因此,移动计算要比移动数据要经济得多。云计算代表了一 种需求,反映了市场关系的变化,谁拥有更为庞大的数据规模,谁就可以提供更 广更深的信息服务,而软件和硬件影响则相对缩小。 就在软件巨头们大力推广各种时髦概念的时候,来自民间的p 2 p 软件开始萌 芽,并以其特有的应用吸引了大量互联网用户。1 9 9 9 年出现了第一代p 2 p 软件 n 印s t c r ,虽然在经历了长时间的法律纠纷后被迫关闭,但正是它展示了p 2 p 的巨 大潜力,让世界开始接受p 2 p 的思想。n 印s t e r 后出现了大量的面向不同领域的p 2 p 应用:如f r e e n e t 、k a z a a 、s e t i h o m e 、s k y p e 等等。 p 2 p 工作模式发掘了网络中每个节点的潜力,利用一个用户节点的计算能力和 存储容量为其它节点服务,而其他节点也是如此,正所谓“人人为我,我为人人 。 在网络中,数量最多的不是位于通信主干线上服务器,而是位于网络拓扑边缘的 普通用户节点。这些节点虽单个服务能力弱,但如组织为一个整体,则能发挥出 巨大的服务能力。 p 2 p 的拓扑结构改变了传统的c s 或b s 模式,从而使其构造的覆盖网具有高 的扩展性和良好的容错性。目前提出的各种p 2 p 拓扑的路由条数的典型值为l o g n , 因此随着节点数量的增加,路由跳数的增加是缓慢的,通信效率能保持在较高的 水平。容错性则表现在p 2 p 的拓扑结构通过一定的冗余连接来保证节点之间的总 有连接通路,不会因为某条逻辑连接的中断脱离整个覆盖网络。p 2 p 的拓扑结构使 位于网络边缘的节点能互相服务,网络中的数据流量可以不再汇聚于主干线上, 从而挖掘了网络带宽,提高了网络的工作效率。 2 第一章引言 其实无论是n e t 、云计算还是p 2 p ,虽然提出者的初衷或许不同,选择的路 线方向各异,但很可能殊途同归。它们不满足于现有的服务形式,都希望能借助 互联网络构造更为强大的服务能力,并以此创造更大的社会价值和经济价值。 1 2发展趋势 2 0 0 5 年6 月2 8 日鲍尔默对5 0 0 名合作伙伴发表了讲话。在回答n e t 战略的前 途的问题时,鲍尔默承认,这个平台在过去的1 2 个月里已经陷入了停滞的状态。 1 1 月1 日,微软正式发布网络服务战略:“v e c o m 。如果说m s n 是传统的互联网 门户形式,那么l i v e 就是下一代互联网门户形式。“v e 是微软n e t 战略的延续与 深入,l i v e 和m s n 将以不同的形式将用户带入微软的互联网世界。m s n 提供的 是程序化的内容,用户是比较被动地接受信息,或者自己点击页面寻找感兴趣的 内容。而用户通过l i v e 中的个性设置,则可以完全以自我为中心,享受互联网所 提供的各项服务,真正实现个性化体验。 相对于m s n 或传统的互联网门户,“v e 的特点有:一是以数据为中心。以前 是数据众多但用户难以得到自己所需要的相关信息,将来可以实现有效的搜集、 管理、查询、传送,让信息更加有针对性;二是以人为中心。各种操作环境、各 种操作设备可以实现人与互联网随时、随地无缝的交互;三是以服务为中心,传 统的软件公司经营模式将发生变化。所以软件在“v e c o m 上不再是应用,而是服 务。微软改变了产品的形式,同时也将改变盈利模式。 g o o 酉e 下一步则是充分利用存储在全球4 8 4 万台服务器上的海量数据,一方 面继续为用户提供精确的搜索服务,另一方面积极开发其它各种周到的网络服务 产品,从而保持自己在互联网服务领域的领先优势。继推出c i 衄越、g t a 墩、g o o 西e e a r c l l 、g o o 西em a p 后,g o o 西e 又推出了在线办公平台g o o 百ed o c s ,用户可以在 线创建各种文档进行协同办公。这无疑将互联网服务的触角伸向了传统的桌面应 用。如果g 0 0 舀e 能持续的开发出有价值的新服务,并利用其搜索引擎降低推广成 本,必然对传统的软件企业造成强大的冲击。 p 2 p 方面,在2 0 0 4 年的p d p s 会议上提出了基于c c c 拓扑的c y c l o i d 常数度 p 2 p 模型,它兼有常数读、超立方体、环形多种属性,相当于是对以前诸多p 2 p 拓扑结构做了一个总结。至此,p 2 p 网络的主要问题、核心机制、整体架构许多已 经形成共识,而如何整合各种不同的p 2 p 应用系统成为更有实际意义的工作方向。 3 电子科技大学硕士学位论文 随着通信基础设施的扩展和完善,基于互联网的大规模应用及其服务成为未 来的主流趋势,发展不再依赖于某项革命性的技术,新的解决方案、新的技术的 集成和融合方式都会带来新的突破。 1 3研究目的及内容 越来越多的人意识到,问题的焦点在服务。如何发现服务,如何整合和重用 互联网上的服务,如何将服务的接口标准化,如何保持服务的可用性和高扩展性, 如何保证服务的安全性,这些问题在传统的应用中要解决也并非轻而易举,而放 到基于广域网的分布式环境下,更增添了问题的复杂性。 机会从来和挑战并存,如果这些问题得以解决,地球或许会变成分工严密的 大工厂,所有人都会从中受益。但要完整的给出以上这些问题的解决方案并非易 事,遑论真正的实现和应用。借鉴p 2 p 积累的经验,用轻量级的解决方案或许可 以做些有益的尝试。 论文讨论了一种资源共享系统的设计和实现方法,涉及到跨n a t 通信、拓扑 结构的构造和维护、跨平台开发等各方面。其目标是为了让系统中的用户能方便 的共享各自的资源,为资源的发布、查找、监测提供平台,其要解决的关键问题 是如何构造和维护可扩展的具有较高效率的拓扑结构。 1 4论文内容及组织结构 论文介绍了一种基于扩展带弦环的资源共享系统的设计与实现:第二章介绍 了几种典型的资源共享系统,由于服务、文件都可看作资源的一种,因此s 0 a 、 e d o l l l 【e y 和t a p e s t d r 均可以作为设计的参考,其系统架构,拓扑和路由原理都有启 发意义。第三章分析了穿越n a t 的技术细节,目前由于公网地址不足和防火墙的 原因,大多数用户都处在n a t 后,这为他们之间的直接通信造成了障碍。穿越n a t 是发掘用户节点潜力的必要条件。第四章主要描述了资源共享系统的部署方式、 拓扑结构和路由原理。第五章描述了系统的具体实现,包括跨平台库、张w i d g e t s 的使用、网络消息的处理、节点状态的转换、资源的描述和监测方法等等。最后 两章分别是性能分析和模拟。 4 第二章现有资源共享系统及其拓扑 第二章现有资源共享系统及其拓扑 2 1 资源的定义 为了能使系统适用的范围更广,我们推广的“资源一这个词的含义,一般意 义上的资源一般是指一段文本,一个文件等等,但我们认为资源也可以指服务, 如某个地方可以提够某种类型的服务,我们就可以认为那个地方有相应类型的资 源。一般意义上的资源名可能指的是某个文件名,推广后的资源名也可以代表一 种服务,如h t t p 、f t p 、g e t 邛l o c a t i o n 等等,系统中资源提供者可以提供 一段信息,也可以提够一种服务。 当然,信息和服务本身在含义上也是兼容的。我们将信息和服务抽象为资源, 这和s o a 的概念非常接近,只不过s o a 抽象的概念是服务,即它把信息的提供 也视为一种服务。我们之所以未使用s 0 a 的概念是因为在我们的资源共享系统中: 节点是紧密耦合的,因此系统不提供节点互操作的统一接口,系统只提供资源的 登记、查询和实时监测。我们认为如果用户在查找某种资源,那么他应该知道该 资源的调用方法。即定义操作接口是用户的责任。 2 2s o a 2 2 1简介 s o a 是一种设计方式【1 1 ,它指导着业务服务在其生命周期中从创建到使用的 方方面面。s o a 是一种定义和提供信息系统基础设施的方式,它允许不同应用相 互交换数据、参与业务流程,无论它们各自背后使用的是何种操作系统或采用了 何种编程语言。s o a 是一种构建信息系统的方法,它将业务服务,如一个机构向 顾客、客户、公民、员工、合作伙伴或其他机构直接或间接提供的服务作为协调 信息系统与业务需求的关键。早期构建的信息系统大多是直接使用特定的实现环 境( 比如面向对象、面向过程、面向消息等) 来处理这些业务问题,结果造成信 息系统依赖于具体执行环境( 比如c o i 氇a 、j 2 e e 和c o m d c o m 等) 的特性与 功能。 与之前的信息系统关注于技术本身、让人们适应技术不同,面向服务通过将 5 电子科技大学硕士学位论文 技术更自然地贴近于需要它的人们,实现了项目成本的缩减和项目成功率的提高。 面向服务开发与先前开发方法的主要不同在于,它专注于业务问题本身的描述, 而先前的开发方法则要求你更关注特定执行环境技术的使用。面向服务开发比先 前技术更面向业务问题的解决。s o a 能够混合搭配各种执行环境,令服务接口与 执行技术明确分离,令i t 部门可以为现有的和将来的各项应用选择最佳的执行环 境,并采用一致的架构方式将它们融合到一起。 如果所有应用都使用公共的编程接口及互操作协议的话,那么将有助于信息 系统降低复杂性,已有功能也更容易被再次利用。公共编程接口统一了应用的使 用方式通过设立这样一种公共编程接口,我们将能更轻松地完成对现行信息 系统基础设施的替换和更新。 如果在部署服务时采用s o a ,那么服务将有利于创建各种新的战略方案,包 括:快速应用集成、自动化业务流程,支持多渠道服务的应用( 包括固定设备和 移动设备) 。s o a 可以促进在不同的软件间进行服务合成,无论这些软件是已有的 还是新的,是部门级的、企业级的,还是跨企业的,也不管它们是运行在大型机、 中间层,还是p c 或移动设备上的,都可以通过s o a 将它们组合为流畅的业务流 程。 由于w 曲服务的广泛普及以及s o a 带来的优势,这些合成应用的方案是可以 实现的。w s d l 现已成为访问任何应用的标准编程接口,而s q 世也已成为连接 不同应用的标准互操作协议。这两个标准是重要的开端,更多针对企业特征及服 务质量方面的需求而制订的w 如服务规范将接踵而来,它们将对w 如服务的安全、 可靠性、事务、编制以及元数据管理等方面加以定义。 s o a 没有引入什么新概念。在进行软件服务的定义时所采用的“接口与实现 分离”的思想,是早已在j 2 e e 、c o r b a 、c o m 中得到充分检验的。但是s o a 主 要是通过文本文件来实现服务与其执行环境的分离,而且分离得更明确、更完全, s o a 的这种能力是新增的这主要借鉴自w 曲的概念和技术。传统的接口实现 没有考虑这样一种“松散的 分离,因为它会影响效率。然而在许多情况下,易 于获得互操作性的能力要比效率问题更为重要互操作性是业界一直在努力争 取、但至今仍未彻底实现的目标。s o a 成功与否,并不依赖于w 曲服务给i t 行 业带来的发展,而是依赖于方法的转变。w 西服务中接口与执行环境的进一步分 离促进了工作职责的分离。将服务描述与其技术实现相分离,意味着企业可以根 据服务描述对业务运营问题的实现进行考虑和投资,而那些依赖个别产品或软件 6 第二章现有资源共享系统及其拓扑 技术来执行服务描述的方案则做不到。这样,服务描述所定义的特征与功能可以 通过任何技术来实现。但是,只有转变了对信息系统的思考方式的企业才能实现 这一点。服务就是发布了的、可供用户使用的事物。当然,许多服务与应用的开 发,仍然以快速而灵活地实现业务操作的自动化为目标,就像办公软件的自动化 一样。 多样性是世界的本质特征,而s o a 与w 曲服务就具有这里所说的多样性,因 而具有构建更贴近于业务操作的信息系统的能力这是之前的软件方案所不能 及的。然而,这要求整个软件产业( 不仅仅是1 1 r 部门) 在观念上的重大转变。很 难想象会有在各方面都很内行的硬件厂商;同样地,软件厂商也不会是所有软件 方面的专家。专业化生产、以及利用专业化生产得到的组件进行可重用的组装, 正是软件行业所需要。根据这样的设想,软件厂商将变得更加专业,比如专注于 进行服务组装而不是提供整个产品。在支持s o a 的环境中,企业可能不仅要学会 考虑不同执行环境中的服务,还要知道如何用来自各个厂商的组件来组装应用。 s o a 的真正优点体现在部署以后的各阶段中。那时,就可以通过组合现有服 务来开发整个或近乎整个新应用。一旦可以通过现有的可重用服务来组合新应用, 便可以实现最低成本、最短时间以及最佳投资收益率。但是,实现这一点是需要 一些时间的,并且需要在服务开发上作相当大的投资。 重用通用的业务服务( 比如客户姓名查找、邮政编码验证以及信用检查等) 的益处是容易理解的。在出现面向服务开发环境之前,这些功能一般是通过在新 应用中使用可重用的代码库或类库完成的。而在基于s o a 的应用中,这些通用功 能以及一些常见的系统功能是通过服务实现的。使用服务,不仅减少了需要部署 的代码量,而且集中化的代码部署与管理还减轻了管理、维护和支持方面的负担。 不过,访问服务的效率是应当仔细考虑的,因为通常使用服务比使用可重用代码 库要消耗更多的计算资源。 2 2 2 协议及相关术语 w 曲服务,是实现s o a 中服务的最主要手段。w 曲服务框架的核心技术包括 s o a p ,w s d l 和u d d i ,它们都是以标准的x m l 文档的形式表示的。 s 0 a p ,s i m p l eo b i e c t a c c e s sp r o t o c o l ,简单对象访问协议。s o a p 是一种简单 的、轻量级的基于x m l 的机制,用于在网络应用程序之间进行结构化数据交换。 s o a p 包括三部分:一个定义描述消息内容的框架的信封,一组表示应用程序定义 7 电子科技大学硕士学位论文 的数据类型实例的编码规则,以及表示远程过程调用和响应的约定。 w s d l ,w 曲s e i c ed e s 商p t i o nl 肌g u a g e ,w 曲服务描述语言,是用订l 文 档来描述w 曲服务的标准,是w 曲服务的接口定义语言。w s d l 文件是一个蹦l 文档,用于说明一组s o a p 消息以及如何交换这些消息。 u d d i ,u i l i v e r s a ld e s 翻p t i o n ,d i s c o v e 巧a n d1 1 1 t e 伊a t i o n ,统一描述发现和集成, 提供一种发布和查找服务描述的方法。u d d i 数据实体提供对定义业务和服务信息 的支持。w s d l 中定义的服务描述信息是u d d i 注册中心信息的补充。 w 曲服务提供方通过w s d l 描述所提供的服务,并将这一描述告知w 如服 务注册服务器。注册服务器依据w s d l 的描述,依照u d d i 协议更新服务目录并 在互联网上发布。用户在使用w 曲s e r v i c e s 前先向注册服务器发出请求,获得w 曲 s e r v i c e s 提供者的地址和服务接口信息,之后使用s o a p 协议与w 曲服务提供者 建立连接,进行通信。w 曲s e 州c e s 的技术主要建立在x m l 的规范之上,这保证 了这一体系结构的平台无关性、语言无关性和人机交互能力。 2 2 3s o a 架构 如图2 1 所示,基本的w 曲服务架构包含了s o a p 、w s d l 、u d d i 等支持服 务请求者与服务提供者进行交互,以及用于w 曲服务发现的规范。服务提供者通 常用w s d l 来描述它所提供的w 曲服务,然后将该w s d l 描述发布;服务请求 者可以通过u d d i 或其他注册库( r e 百s y ) 来获取w s d l 描述,并通过向服务提 供者发送一个s o a p 消息来请求执行服务。基本的w 曲服务标准,目前已经适于 构建基于s o a 的应用了,但还不足以构建其他应用。 回一印 ,、 图2 1s o a 架构 除基本的w 曲服务规范( s o a p 和w s d l ) 以外,其他各种用于安全性、可 8 第二章现有资源共享系统及其拓扑 靠性、事务性、元数据管理以及服务编制等方面的补充w 曲服务规范也正在标准 化的过程之中,这些都为基于s o a 的解决方案提供了必需的企业级服务质量,以 支持各类企业级的任务关键型项目。 2 2 4关于w s d l 和u d d i w s d l 是一种用于描述w 曲服务的x m l 语言,它将w 曲服务描述为一组对 消息进行操作的网络端点。一个w s d l 服务描述包含对一组操作和消息的一个对 象定义,绑定到这些操作和消息的一个具体协议和这个绑定的一个网络端点规范。 u d d i 提供了一种优化方法文档,这个优化方法描述了关于如何在u d d i 注册 中心发布w s d l 服务描述的一些元素。 w s d l 文档类型被分成两种类型:服务接口和服务实现。服务接口由w s d l 文档来描述,这种文档包含服务接口的t ) ,p 髓,i m p o r t ,m c s s a g e ,p o n l 卯e ,b i n d i n g 等元素。服务接口用于实现一个或多个服务的w s d l 服务定义。通过i m p o r t 元素, 一个服务接口文档可以引用另一个服务接口的文档。w s d l 服务实现文档将包含 i m p o r t 和s e 州c c 元素。服务实现文档包含实现一个服务接口的服务的描述。i i i l p o r t 元素中至少会有一个包含对w s d l 服务接口文档的引用。一个服务实现文档可以 包含对多个服务接口文档的引用。 发布和查找w s d l 描述,一个完整的w s d l 服务描述是由一个服务接口和一 个服务实现文档组成。由于服务接口表示服务的可重用定义,他在u d d i 注册中 心被作为t m o d e l 发布,服务实现描述的每一个实例都是使用一个w s d ls e r v i c e 元素定义。服务实现文档的每个s e r v i c e 元素都被用于u d d ib u s i n e s s s e r v i c e 中。 当发布一个w s d l 服务描述时,在服务实现被作为b l l s i i l e s s s e r v i c e 发布之前,必 须将一个服务接口作为一个t m o d d 发布。u d d i 和w s d l 之间的映射关系如图2 2 。 9 电子科技大学硕士学位论文 图2 2w d s l 和u d d i 的对应关系 2 2 5小结 s o a 利用w 曲服务作为实现的主要手段,w 曲服务定义了一系列的标准和 规范。这些标准和规范都通过) ( m l 来描述。正是有了这些标准,不同厂商的不同 软件产品可以耦合在一起协同工作。同时,由于耦合是松散的,所以标准非常细 致繁琐,不仅定义了服务该如何描述,还定义了通信的格式,相互调用的协议等 等。对这种重量级的设计方式,虽然设计资源共享系统时不能完全采用,但可以 将其作为设计的启发和参考。 2 3 e d o n l ( e y 文件共享系统 2 3 1简介 e d o n k e ,卅出现时间和g n u t e l l a 相近,它可以让用户之间共享他们自己的文件。 其原理和b i t t o 饿m t 类似,即通过文件分块下载机制,在找到拥有特定文件的节点 后,使用户能够从多个用户处下载文件;在下载的同时,也向其他用户提供自己 的数据。 2 3 2工作原理 e d o i l l ( e y 网络由服务器层和客户层两部分组成。客户加入e d o n k e y 网络以获 取或者共享文件,服务器的作用则是提供文件索引信息和服务器列表,它不传递 实际的文件数据。每个客户连接到一个服务器进行文件查询或者服务器列表更新, 1 0 第二章现有资源共享系统及其拓扑 服务器之间自组织成服务器层网络以交换文件索引和服务器列表信息。从上面的 描述可以看出c d o n k e y 网络非常像k a z a a 。本质上也是基于“超节点 开发p 2 p 网 络的节点异构性,只不过e d o n k e y 中称“超节点一为“服务器 。 当e d o n l ( e y 客户加入网络时,它首先要连接到某个服务器。这一般分两步完 成:第一步,与过去保存的入口服务器列表中的服务器建立连接,从中选择离自 己最近的那个( 即时延最小) ;第二步,通过所选的入口服务器获得一个普通服务 器列表,从此表中选择最合适的服务器建立连接,同时断开与入口服务器的连接。 连接到某个服务器后,e d o n k e y 客户将他所共享的文件信息发送给服务器,服务器 保存它所连接的所有客户的共享文件索引。如果客户要查询文件,他将查询请求 发给服务器,服务器返回相匹配的文件索引信息( 文件名、文件大小、文件位置 等) 。客户也可以将该查询重新提交给另一个服务器,以获得更多的文件索引。 在自适应方面,鉴于p 2 p 网络的动态性,每个下载者必须周期性地向上传者 重发下载请求,周期一般为4 0 s ,否则原连接将被关闭。同时,e d o l l l ( e v 服务器之 间周期性地交换服务器列表,不过这个周期通常比较长,e d o l l l ( e y 中服务器层的自 适应更新非常像i 汜a a 中超节点层的超节点列表更新。 在c d o l l l ( e y 客户下载某个文件前,他首先通过查询获得文件提供者列表,但 是由于种种原因,这个列表中的文件提供者很可能不能连接到,或者不能从他那 里获得下载许可,因此该客户将向列表中的每个文件提供者请求上传槽。文件提 供者在收到这样的请求后通常将它放进上传队列中的等待列表,直到条件满足时 才给该请求分配上传槽并将它放进上传列表,此时文件交换才真正开始:提供者 向请求者发起建立t c p 连接,决定要发送文件的哪些分块,然后发送数据。 2 3 3小结 1 e d o i l k e y 网络由两部分组成:服务器层和客户层。客户加人e d o i l l ( e y 网络以获 取或者共享文件,服务器则提供文件索引和交换服务器列表,这样可以开发 p 2 p 网络中的节点异构性。 2 为了适应动态的网络环境,e d o i l l ( e v 客户通过上传队列来管理客户间的连接, 只有获得上传槽的连接才能真正传递数据,并且每个连接都被周期性地检测是 否不断有请求发来,如果没有则关闭。队列机制对e d o n k e y 高效工作很有帮 助。 3 e d o n k e y 的自适应性是靠服务器之间周期性的更新服务器列表来维护的,虽然 1 1 电子科技大学硕士学位论文 更新周期很长,但e d o i l l ( e y 在世界范围内的流行说明它的自适应性仍然是良好 的。 2 4 t a p e s t 叫分布式数据存储系统 2 4 1简介 1 a p e s 叫4 】是一个面向广域分布式数据存取、容错的超立方体结构p 2 p 模型。 它是基于p l a ) 【t o nm e s h 的网格形结构,在构建覆盖网时就考虑了拓扑一致性问题, 因此定位具有很好的局部性。t a p e s 时与p 嬲时的不同之处在于数据对象的定位与 放置:t 印e s 仃y 帮助用户寻找最邻近的数据副本,而p a s 仃y 则通过主动复制数据、 将副本随机存放在网络中来提高数据可用性,并期望通过复制来使用户获得较近 的副本。 2 4 2 路由和定位 在t a p e s 仃) ,中,每个节点有它在覆盖网中的标识n o d e i d ,每个数据对象有其 标识o b j e c t i d 。每条消息有其特定应用的a i d ( a p p l i c a t i o ni d ) ,用以区分应用类型, 类似于t c p 协议中的端口号。t a p e s 仃y 为每个数据对象分配一个负责它的节点, 这个节点称为该对象的“根 ( r o o t ) ,意味着它对于这个对象特殊的重要性。如果 恰好有一个节点的n o d e i d 等于对象的o b j e c t i d ,那么r o o t ( o b j e c t i d ) = n o d e i d ,但 通常并不存在恰好相等的n o d e d ,此时t a p e s 仃y 将对象分配给n o d e i d 与o b j e c t i d 最接近的节点负责,即r 0 0 t ( o b j e c t i d ) = 最接近o b j e c t i d 的n o d e i d 。类似c a n 的 增强机制,啪仃y 也可以采用多个散列值,从而给一个对象指定多个根节点,以 提高对象可用性和持久性。 与p l a x t o n 一样,t a p e s 仃y 采用逐位匹配的后缀路由,每一跳匹配更多的后缀, 比如:宰宰幸8 专幸幸6 8 专幸3 6 8 专4 3 6 8 ( + 表示通配符) 。为适应后缀匹配路由,每个t a p e s 竹 节点维护一个层次化的路由表,其中每一层代表与自身n o d e d 匹配一定位数后缀 的节点。如图2 3 所示,一个8 进制4 位的路由表,该路由表属于节点0 6 4 2 ,i d 有4 位,每位是一个8 进制数,每一列称为一

温馨提示

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

评论

0/150

提交评论