




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)移动agent技术在对等网络中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 对等网络p 2 p ( p e e r t op e e r ) 是i n t e n l e t 网实现下一次飞跃的关键,本文首先分 析了p 2 p 网络以及它和其它传统网络模式的差别,p 2 p 模型,p 2 p 现有的应用各 种模型的优势及不足之处。提出了应用移动a g e m 技术进行资源搜索的p 2 p 模型, 并以此为基础建立了一个p 2 p 系统。 该系统的功能和优点: 1 可以通过网络下载对等体上的文件,无需依赖于中心服务器。 2 通过移动a g e m 进行资源快速搜索,a g e m 可以被转发到用户未知的主机, 不需要事先了解所有的目的主机地址,用户可根据需要选择搜索算法,无需依赖 于驻留在目的机器上的本地算法,提高了网络的互操作性。 3 通过网络传送即时消息。 文章详细介绍了组成系统的各个模块的设计与实现。主要内容如下: 1 系统的整体设计,各个组成部分的作用和相互关系。 2 对p 2 p 网络现有的的发现方法作了介绍,然后介绍了本系统采用的发现方法。 3 本文提出了应用移动代码技术( 移动a g e m ) 来完成p 2 p 网络上资源搜索的 方法。移动a g e m 执行环境的设计与实现以及优化的移动a g e m 发送策略。 4 文章介绍了j a v a 的沙箱模型,本设计采用j a v a 的沙箱模型来保护主机资源的 方法,保护主机上的资源不收恶意a g e n t 的破坏。 最后,文章讨论了对于没有固定i p 地址用户主机的扩展方案。 关键词 对等网络,移动代理,信息搜索 北京工业大学工学硕士学位论文 a b s t r a c t p 2 p ( p e e rt op e e r ) i sr e s e n t l yc r o w n e d a so n eo ft h ek e yt e c h n o l o g i e si nt h en e x t r e v o l u t i o no f i n t e r a c t f i r s t ,t h i st h e s i se x p l a i nw h a ti s p 2 pa n dt h ed i f f e r e n c eb e t w e e n p 2 pa n do t h e rt r a d i t i o n a ln e t w o r k i n gm o d e s e c o n d ,c r e a t eap 2 ps y s t e mu s em o b i l e a g e n t t os e a r c hr e s o u r c e t h ef u n c t i o n so f t h i ss y s t e mi s : 1d o w n l o a dr e s o u r c ef r o mo t h e rp e e r b y i n t e r n e t 2 s e a r c hr e s o u r c ei ni n t e r n e tu s em o b i l ea g e n t ,a g e n tc a l lb es e n dt oo t h e rp e e rt h a t u s e rd o n tk n o wb e f o r e 、u s e rc a nc h o o s et h es e a r c hf u n c t i o n d o n td 印e n do nt h e f u n c t i o nt h a ti no t h e r p e e r 3s y s t e mc a r lt r a n s m i ti n s t a n tm e s s a g eb yi n t e r n e t ; t h e s i sd e s c r i b et h e d e s i g na n d r e a l i z a t i o no f e v e r ym o d u l e : 1 s y s t e md e s i g na n de v e r ys e c t i o no f t h es y s t e m a n dt h er e l a t i o na m o n gt h e m 2 t h e s i si n t r o d u c et h eb a s i c a l d i s c o v e r y m e c h a n i s mi n p 2 p , a n d d e s c r i b et h e m e c h a n i s mo f t h i ss y s t e m 3 t h i s s y s t e m u s eam e t h o df m o b i l ea g e n t ) t os e a r c hr e s c o u r c ei ni n t e r a c t ,t h e p a p e r d e s c r i b e t h e d e s i g n a n d i m p l e m e n t o fm o b i l e a g e n t a n di t se x e c u t e e l l v i r o n m e n t 4f o rp r o t e c tt h er e s o u r c eo f c o m p u t e rf r o m e v i la g e n t ,t h e s i si n t r o d u c et h ej a v as a n d b o x m o d e ,a n dr i s ei tt op r o t e c tr e s o u r c ei nc o m p u t e r a tl a s t ,p 印e rp r o p o s et h ei d e ao fe x p a n ds y s t e mf o ru s e r sw h o s ec o m p u t e rh a v e n oi n v a r i a b l ei pa d d r e s s 【k e yw o r d s lp e e r t op e e r ,m o b i l ea g e n t ,i n f o r m a t i o ns e a r c h 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 躲雄翩叻雄吼叫 第l 章绪论 1 1 什么是p 2 p 技术 第1 章绪论 p 2 p 概念自从上个世纪7 0 年代i n t e r n e t 出现以来就存在了。近来由于技术 上的变化和桌面系统计算能力的提高给p 2 p 带来了更大范围内的复兴o 。 p 2 p 是英文p e e r t o p e e r 的缩写,p e e r 在英语里有“同等者”、“同事”和“伙伴” 等意义。p 2 p 可以理解为“伙伴对伙伴”的意思,或称为对等互联。国内的媒体一 般将p 2 p 翻译成“端对端”或者“点对点”。p 2 p 是一种技术,但更多的是一种思想, 它有着改变整个互联网基础的潜能。它的核心思想是:上网用户之间自由的、不 受主服务器控制的信息交流1 8 】i 剑。 p 2 p 是互联网整体架构的基础。互联网最基本的协议t c p i p 并没有客户机 和服务器的概念,所有的设备都是通讯的平等的。在十多年之前,所有的互联网 上的系统都同时具有服务器和客户机的功能。当然,后来发展的那些架构在 t c p i p 之上的软件的确采用了客户机朋务器的结构:浏览器和w e b 服务器, 邮件客户端和邮件服务器。但是,对于服务器来说,它们之间仍然是对等联网的。 以e m a i l 为例,互联网上并没有一个巨大的、惟一的邮件服务器来处理所有的 e m a i l ,而是对等联网的邮件服务器相互协作把e - m a i l 传送到相应的服务器上 去。另外,用户之间e m a i l 则直是对等的联络渠道。 简而言之,p 2 p 技术就是在个人电脑之间直接进行资源和服务的共享,而不 象传统的b r o w s e r s e r v e r 或者c l i e n t s e r v e r 结构那样需要经过服务器的介入和服 务。在p 2 p 结构中,每台个人电脑同时充当服务器和客户端的角色,当需要其 它电脑的文件或者服务时,两台电脑直接建立联系,本机是客户端,而当响应其 它电脑的资源要求时,本机又成为提供资源与服务的服务器。通常这些资源和服 务包括:文件的共享与交换,计算资源如c p u 的共享使用等。p 2 p 的实质就是 把控制权重新还到用户手中去。人们通过p 2 p 可以共享硬盘上的文件、目录甚 至整个硬盘。这种能量是非常令人激动的,那些费心存储在自己的硬盘上的东西 肯定是我们认为最有价值的东西,所有人都共享了他们认为最有价值的东西,这 北京工业大学工学硕士学位论文 将使互联网上信息的价值得到极大的提升。 p 2 p 技术第一次让个人计算机和高贵的服务器平起平坐,让p c 焕发了新活 力。当人们加入p 2 p 网络的时候,所有人都拥有了平等的机会,所有人都拥有 了极容易地在网络上创造“内容”的机会。有一天,你忽然发现你不再需要到别人 的网站申请免费主页空间和e m a i l ,你可以在自己的计算机上实现这些服务。凡 此种种,p 2 p 改变了互联网的游戏规则,也改变了我们的生活。 1 2p 2 p 模型 p 2 p 系统大致可分为四种类型,它们分别是纯p 2 p 模型,带有发现服务器的 p 2 p 模型,带有发现服务器和查找服务器的p 2 p 模型,以及带有发现服务器、查 找服务器和内容服务器的p 2 p 模型【4 。 在带有简单的发现服务器的p 2 p 模型中,服务器的作用仅限干记录所有登录 到该网络上的节点,并为正在加入的节点提供己登录节点的信息。服务器提供已 连接到网络的节点清单,并初始化两个节点间的连接,之后这两个节点自行保持 连接、迸行通信。这样的p 2 p 模型增加了发现网络上大量节点的机会。为了下载 资源,节点必须单独与每个己登录节点连接并发出请求,这样会消耗大量的处理 时间。 在带有发现和查找服务器的p 2 p 模型中,服务器提供己登录节点及其可用资源 列表。这种模型减轻了节点的负担,因为不再需要通过访问每个节点来查找所需 信息。服务器辅助节点查找拥有所需资源的其他节点,然后这两个节点直接进行 通信,如登录到对方的信息数据库、进入共享资源目录、下载文件等等。n a p s t e r 技术即使采用此种模型。 2 第1 章绪论 w o r k s t a t i o n 图l 带有发现和查找服务器的p 2 p 模型 f i g u r e1 p 2 pm o d ew i t hs e a r c hs e r v e ra n dd i s c o v e r ys e r v e r 在带有发现、查找和内容服务器的p 2 p 模型中,服务器占有支配地位,正如在 传统的c s 体系中一样,所有满足搜索请求的资源都从节点传送到服务器上。 节点之间不允许直接相连,因为所有资源都存储在中央服务器的数据库中。如果 一个节点需要信息,它直接访f 。- n 务器,服务器处理请求并显示信息。 该模型主要的缺点在于:1 ,如果同时有太多请求,服务器的速度会减慢;2 成 本很高,因为服务器必须自己管理、存储数据并处理所有请求;3 完全依赖于 中央服务器,单点故障影响整个系统运行的可能性大大增加了p ”。 北京工业大学工学硕士学位论文 w o r k 她t 1 0 n 图2 带有发现、查找和内容服务器的p 2 p 模型 f i g u r e2p 2 p m o d ew i t hs e a r c hs c i w c r ,d i s c o v e r ys c f y c ra n dc o n t e n ts c i v e a 纯p 2 p 模型完全依赖于网络中的对等计算机( c s 模型中的客户端) ,而 不依赖于任何中央服务器。用户只需将p 2 p 应用程序下载并安装到本地计算机上 运行程序后该计算机就动态发现应用网络中的其他节点,端与端的通信完全不需 要来自服务器的任何帮助。为了能应用干i n t e r a c t 网络,纯p 2 p 模型提供了近似 即插即用的特性,即只要连上i m c m e t ,就能发挥其p 2 p 的特性。它的另一个优 点是:不仅能够在i n t e m e t 有效地工作,对l a n 也菲常有用。纯p 2 p 模型存在 的唯一问题就是网络上的节点发现问题,因为没有一个中心管理者记录登录到网 络上的节点。纯p 2 p 模型完全抛弃了中心服务器,充分体现了p 2 p 的优点。对 于纯p 2 p 网络上的发现问题,本设计采取了每个对等点保持一部分在线的节点, 本对等点未知的对等点在本对等点发出的移动a g e n t 移动过程中逐渐被发现,即 对等点并不需要知道所有在线的其他对等点。 4 第l 章绪论 图3 纯p 2 p 模型 堍t i r e3p u r e p 2 pm o d e 1 3 p 2 p 技术的现有应用 代表系统1 :n a p s t e r n a p s t e r 技术在1 9 9 9 年由仍在美国东北大学就读的s h a w nf a n n i n g 开发成 功,并迅速在众多m p 3 数字音乐爱好者中传播开来。n a p s t e r 提供了一个客户 端软件供m p 3 音乐迷在自己的硬盘上共享歌曲文件,搜索其他用户共享的歌曲 文件,并到其他也使用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 服 务器,在服务器进行检索,并由服务器返回存有该曲目的用户信息,最后请求者 直接从该曲目的所有者处下载文件。这种方式的最大隐患在中央服务器上,如果 该服务器失效,整个系统都会瘫痪。 代表系统2 :g n u t e u a 继n a p s t e r 以后被认为是“令人称奇的软件产品“是g n u t e l l a 。该软件自从开 发面世以后,转眼间就迅速普及。只要利用“搜索功能及( 音乐及电影) 等多媒体交 换软件”就可以在个人之间收发各种软件。g n u t e l l a 也是一个利用p 2 p 的文件共 享系统,它和n a p s t e r 最大的区别在于g n u t e l l a 是纯粹的p 2 p ,在g n u t e i l a 中 没有类似n a p s t e r 的中央服务器,而与此不同,g n u t e l l a 则是直接连接个人电脑。 没有进行“统一管理”的服务器,而是从一台个人电脑直接传输给另一台个人电 北京工业大学工学硕士学位论文 i i 脑。所有的查询都通过在网络中进行有限广播的方式进行。这种方式虽然可以有 效地找到需要的信息,但却会在网络中产生大量数据流量。 g u t e l l a 还有n a p s t e r 所没有的特点。首先是g n u t e l l a 的功能无偿向技术人 员公开。与做为免费操作系统( 0 s ) 被推广的l i n u x 一样,正在不断涌现出改良版。 1 4p 2 p 体系的优越性 1 4 1 内容搜索的及时性 p 2 p 系统中,新发布的内容可以及时地被搜索到。在w e b 上进行搜索的主 要特点是集中式的搜索引擎,通过连接的层层深入,不断地发现新的资源,然后 荐根据搜索到的瓷源建立巨大的集中式索引。搜索引擎豹这一工作方式同发布的 内容是完全不相关的,内容发布者无法控制自己的内容以什么样的方式被索引。 因此,尽管新发布的w e b 文档可以被知道他的u r l 的用户访问,但无法被给予 关键字的搜索立即发现,使得其他用户不能访问该文档【1 4 】【1 5 】【1 6 1 。 采用上述内容搜索方法,对于信息会较长时间保存的系统来说是适合的,但 对内容频繁添加和删除的系统来说是不适合的,比如p 2 p 系统。 在p 2 p 架构中,一旦对等体节点进入系统,其存储的内容里就可能被搜索 和下载。由于发布者直接控制内容的可获得性,p 2 p 非常适合在一个拥有大量 对等体,且内容的发布和撤销仅保持较短时间的环境中实现搜索【1 7 1 1 1 8 】。 1 4 2 特定系统平台的低依赖度 与w e b 不同,p 2 p 系统仅依赖于端用户系统及其参与,而不依赖于某个特 定系统基础设旋。在w e b 上,系统对基础设施的依赖表现在: 需要高性能服务器机器,并同时配备海量存储和高带宽连接。 需要d n s 系统。 为支持用户数量增长,对服务器的升级有资金和时间上的代价。 当然这种对系统基础设施的依赖,使w e b 系统的性能表现可以在很大程度上独 立于用户行为,并能比较可靠的实现内容的发布。 在p 2 p 系统中,用户的可用资源是自己本地机器资源。 第1 章绪论 i i i i 1 4 3 负载均衡 p 2 p 网络环境下可以根据策略灵活分布信息。负载均衡模块可以监控各种信 息的流量和请求率,然后重新分布这些信息以减轻单个节点的负载。这种负载平 衡策略可以提供分布式缓存才能实现的功能,且具备简单和低价的特点。 1 4 4 丰富的信息资源 任何p 2 p 网络用户能够扫描活动节点并搜索需要的信息,然后直接从这个节 点上下载信息。用户可以在他们的机器上把下载的信息共享出来,这样,请求率 高的文件能够很快地在许多节点上扩散开来。在一个开放网络环境下,p 2 p 网络 能够很快积累相当丰富的信息。 1 4 5 冗余和容错 p 2 p 网络的多个节点间的信息复制导致高度冗余,其直接结果是提高了信息 的可用性,使之为更多的用户提供服务。另外,冗余使得网络不会产生“单点失 效”问题,所以分散式的p 2 p 网络提高了网络的容错和安全。 1 4 6 有效的搜索 w e b 搜索引擎存在一些问题,因为这些搜索引擎依赖执行程序在i n t e r n e t 上 进行搜索,得到的信息存储在巨大的、可扩展的数据库中。这些索引信息仅包括 开放的服务器,并且数据库不会随着网络状况动态更新。但在p 2 p 网络中,任何 节点的信息只有当节点在线的时候才被索引,因此索引信息与网络状态同步。p 2 p 网络不依赖搜索程序重新访问链接来修改数据库索引信息,这种动态信息索引和 对信息的有效搜索使得p 2 p 具有显著优势。 北京工业大学工学硕士学位论文 1 5 现有p 2 p 系统面临的问题 n a p s t e r 结构仍然需要中心服务器,并未解决单点失效问题,当访问量增加 时,服务器仍然会出现瓶颈。 在g n u t e l l a 网络中,由于在每个对等点上安装的程序不能同步更新,用户搜 索所得到的结果只是当前该对等点所安装的程序版本得到的结果,不能应用最新 的算法。也就是说,如果用户已经更新了新版本的程序,但是只能得到旧版本程 序的结果,因为运行程序的机器使用的程序并没有更新。 用户无法采用个性化的搜索方式,无法根据个人的要求使用适当的搜索方 法,由于不同的搜索方法获取得结果集是不同的,在g n u t e l l a 网络上用户只能 被动的接受搜索结果,即实际取得的结果是在对等点机器上所安装的搜索算法所 得的结果,而不是用户所选择的算法所得的结果,可能产生对等点机器上包含用 户想要的信息但是却不能按照用户的要求获取的情况。 目前的搜索方法大多是针对文本信息的,但网上还有许多图片,音频,视频 等多种信息,随着针对各种信息的搜索方式的出现,如果用户输入图片的特征数 据,要求检索满足此种特征数据要求的图片,但是在对等点机器上没有安装按图 片特征检索的程序,则查找不到用户要求的资源。如果每个对等点上都安装各种 算法,则会不必要的占用本地资源,因为用户必须要在自己的机器上安装许多自 己根本用不到的算法,同时使程序编写变得越来越复杂。 综上所述,现在这种被动的搜索方式越来越不能满足用户的要求。针对以上 问题,本文提出一种使用移动a g e n t 在p 2 p 网络中进行信息搜索的方法。 本章小结:本章主要介绍了p 2 p 的概念,p 2 p 的几种模型及它们的优缺点 p 2 p 现有应用,p 2 p 的优越性,现有p 2 p 系统存在的问题。 第2 章p 2 p 系统设计模型 第2 章p 2 p 系统设计模型 2 1 系统的简要描述: 本设计提出一种应用移动a g e n t 技术进行资源搜索的在p 2 p 模型。在该模型 中,任何组织或个人的机器,无论是高性能,含有大量资源的服务器还是个人 p c ,都可以加入该系统中,向其他对等体提供服务同时使用其它对等体的资源。 移动a g e n t 简单的说是一段可执行代码,包含用户的意愿,在本设计中是用户的 搜索请求,a g e n t 在各个对等体上移动代表用户搜索感兴趣的资源,多个a g e n t 并行执行完成搜索工作,而这个过程对用户来讲是透明的,用户只需要输入搜索 要求即可。网格计算和对等计算都是在网络条件下实现资源共享和分布计算,没 有本质差别,目前在应用领域,安全性,服务质量等方面的差别随着技术的进步 越来越小,正因如此,全球网格论坛( g g f ) 和与对等网络研究小组( p 2 p w g ) 已宣 布合并。网格试图解决资源的真正共享,使各节点大量闲置的计算资源和存储资 源得到统一支配和使用。从这个角度来看,网络上的对等体组成一个网格,各个 对等体利用本身的计算资源和存储资源共同解决用户的需求。 系统基于上述p 2 p 模型设计,涉及到j a v a 界面程序设计,t c p 程序设计, u d p 程序设计,多线程, a v a 安全机制等技术,本应用程序主要有六部分组成: 发现协议:用于发现其他在线对等体。 文件传输协议:用于下载文件。 监听器:处理其他对等体发来的信息。 浏览器:通过一个友好的界面显示结果并担任与用户的交互层。 搜索协议:用于按照用户的要求在网络上搜索资源。 即时消息:用于发送和接收即时消息。 2 2 各组件的作用 1 文件传输协议:文件传输协议完成文件传输功能,包括发送和接收两部分, 发送方按照请求方的要求读取本地文件并发送到请求方,接受方( 请求方) 接收 9 北京工业大学工学硕士学位论文 文件并存储于本地。 2 发现协议:用于对等端的发现,也分为发送和接收两部分,发送方按照 列表向在线的对等体发送信息通告自己的存在,发送以一种轮循的方式进行,每 隔一个时间间隔发送一遍。接收模块接收对等体发来的通告消息和应答消息,并 向通告消息的源主机返回一个应答报文,并根据通告消息和应答消息之间的时间 间隔的平均值来判断对等体的负载情况。 3 监听器:监听器执行的任务是接收其他对等体发送来的各种消息并交给相 应的模块处理,包括发现和返回报文,搜索请求,传输请求,即时消息。 4 浏览器:浏览器充当用户和计算机之间的接口。通过浏览器,用户发送 他的请求并接受监听器的响应。浏览器接受用户发送的请求并把他们发送到其他 对等体的监听器,一旦其他对等体的监听器处理了请求,浏览器就会在用户终端 显示结果。这里不是浏览器来处理请求,而是监听器来做这项工作,用户只看到 结果,处理的过程相对于用户封装。 5 搜索协议:用于按照用户的要求在网络上搜索资源,包括发送和接收两 部分,发送部分按照用户的要求生成一个a g e n t ,包括搜索要求和搜索代码,然后 把a g e n t 按一定策略发送到网络上。接收方接收a g e n t ,加载a g e n t 携带的代码 段,按照a g e n t 携带的搜索要求在本地搜索,将结果返回a g e n t 的发送主机,然 后根据a g e n t 的约束条件对a g e n t 进行转发或销毁处理。 6 即时消息:用于发送和接受即时消息,包括发送和接收两部分,发送部 分将用户输入的即时消息转化为字节数组并打入u d p 数据包发送到指定的对等 端,接受部分负责接收从网络上传来的即时消息。 本系统设计的重点如下: ( 1 1 可以通过网络下载对等体上的文件。 ( 2 ) 不需要中心服务器。 ( 3 ) 通过移动a g e n t 进行资源搜索。a g e n t 可以被转发到用户未知的主机,不 需要事先了解所有的目的主机地址。用户可根据需要选择搜索算法,无需依赖于 驻留在对等体上的本地算法。 ( 4 ) 可通过网络传送即时消息。 l o 第2 章p 2 p 系统设计模型 2 3 各组件之间的关系 监听器与即时消息,搜索协议,发现协议,传输协议之间的关系:监听器接 受发送到本对等体的所有数据包,然后根据数据包类型交给不同模块处理。 浏览器与即时消息,搜索协议,传输协议之间的关系:浏览器把用户的输入 交给这几个模块处理,模块的处理结果由浏览器向用户显示。 发现协议与搜索协议的关系;发现协议为搜索协议提供在线对等点列表,此 列表反映网络的变化。使搜索按一定策略进行,同时搜索协议为用户提供可用资 源的对等体列表,用户选择其中的站点加入永久站点列表文件中,该文件为发现 协议提供初始站点列表。 文件传输协议与搜索协议的关系:搜索协议在网络上搜索到用户需要的资源 供用户选择下载,为文件传输协议定位资源的位置。 2 4 系统的结构 1 体系结构的模型: 整个模型是建筑在基于t c p i p 协议基础上的概念层次模型,共分为四层,分 别是应用层,代理层,平台层,网络层。下面给出了这些概念层次之间的关系以 及这些层次之间的数据传输形式。 应用层:这是整个系统中最高的层次,它直接负责和用户的交互。它的功能 可以从两个方面进行解释:一方面接受用户的查询请求,另一方面按照用户的要 求提交用户的查询结果,应用层把用户的请求和参数按照代理层要求组织好,然 后把它交给代理层。 代理层:是整个系统中最复杂也是最核心的部分。简单地说,这一层就是按 照用户的要求生成用户的代理对象( 移动a g e n t ) 。把代理返回的数据进行提取, 加工生成用户所要求的提交格式,以保证数据的重复度最小,返回给应用层。把 生成的代理对象传给平台层。 平台层:是整个系统的传输管道,使系统功能实现的最基本条件。它提供了 代理的生存环境,它是代理移动的基础,远程代理与主机通信的纽带。对下层而 北京工业大学工学硕士学位论文 言,它把对象序列化后提交给网络层,对上层而言,是将对象反序列化的场所, 并把对象提交给代理层。 网络层:是基于已有网络通信协议的,负责对上层提供从固定端口接受和发 送字节流,并且不关心字节流的内容。同时它还要根据底层的异常信息,来判断 是否发送和接受数据流,以及是否保存发送来的数据流 2 0 1 2 1 ( 捌。 系统的工作流程。 图4 系统的工作流程 f i g u r e4s y s t e m s f l o wc h a r t 2 5 开发平台的选择 本应用使用j a v a 语言进行开发,鉴于以下原因:j a v a 是s u nm i c r o s y s t e m s 公 司开发的一种编程语言。j a v a 有许多特点使得它适合于网络编程,虽然j a v a 并 不只限于网络编程。j a v a 丰富的类和对象继承使的程序员可以充用已有的程序代 码,编写复杂的应用程序。 j a v a 是一种结构中立的语言,j a v a 程序编译为字节码,由j a v a 虚拟机解释执 行。字节码与任何处理器类型和计算机结构无关,使用字节码可使j a v a 代码在 任何支持i a v a 虚拟机和j a v a 解释器的计算机上执行。j a w 语言的结构中立性对 第2 章p 2 p 系统世计模型 网络程序很重要,它使得应用程序只需要用j a v a 编写一遍,则程序代码可以在 不同的平台上运行,无需修改,由于本应用将运行于不同的软硬件平台,所以j a v a 是合适的选择。 j a v a 是一种在语言本身就以多线程的形式支持多任务的语言,一个线程是程 序中一条独立的执行流,程序中可以使用线程实现一定的并行计算。每个线程执 行一特定的功能。在多处理器计算机上,线程可以在不同的处理器上同时运行。 为了避免各个线程由于临界操作而互相死锁,可以用同步关键字指明临界区域。 大多数使用多任务或多线程的程序都对其所运行的操作系统进行低级系统服务 调用。因为系统服务调用的不同,这些程序不能移植到其他的操作系统中去。使 用j a v a ,可以编写多线程的程序,该程序可以在不同的计算机和操作系统之间 移植而不必作任何修改。j a v a 的运行时加载和安全机制也是实现本应用中的完成 搜索功能的移动a g e n t 所需要的。 2 6 底层协议的选择 在i n t e r n e t 中主要的传输层协议是t c p f l p 协议和u d p 协议,在网络层之上, 应用层之下。用户数据报协议u d p ( u s e rd a t a g r a mp r o t o c a d 提供应用程序之间传 输数据报的基本机制。u d p 提供的协议端口能够区分在一台机器上运行的多个 程序。也就是说,u d p 的报文不仅传输用户数据,还包括目的端口口号和源端 口号,这使得目的机器上的u d p 软件能够把报文送到正确的接收进程,而接收 进程也能回送应答报文。u d p 使用底层的i n t e m e t 协议在各机器之间传输报文, 和i p 一样提供了不可靠的无连接传输服务。t c p 协议保证可靠传输,但在会话 过程中的维护开销大 2 】o 它在会话前需要先建立个连接,并使用确认与重传来 保证可靠传输。u d p 的优势在于速度快,开销小。由于本系统传输的数据报数 量较多,而且有一定冗余,如果使用t c p 传输则要消耗大量的网络带宽,所以 在传送发现消息,搜索消息的对等体交互消息时采用u d p 传输协议,使消息传 递可以快速的进行。而下载文件则采用t c p 传输,保证传输的可靠性。 本章小结:本章主要介绍了p 2 p 系统的设计模型,系统的各个组件的作用和它们 北京工业大学工学硕士学位论文 的相互关系,开发平台的选择和底层协议的选择。 第3 章p 2 p 系统设计 第3 章p 2 p 系统设计 由于系统必须在处理网络上传来的数据包的同时接受用户的输入,并周期性 的向网络上的对等点发出通告消息,各个模块并发完成各自的任务,并且并行执 行,所以系统设计为多线程程序。浏览器,监听器,发现协议通告部分,文件传 输协议接收模块,设计为多线程并发执行模式。 3 1 浏览器 浏览器提供人机交互界面,该模块接收用户输入,并把结果显示给用户,该 模块主要分为三部分。 第一部分是检索界面,用户输入检索关键字,系统按照用户的要求检索信息 之后把结果显示给用户。 第二部分是文件传输界面,系统提供用户选择要下载的资源和指定文件下载 路径的交互界面。 第三部分是即时消息界面,系统提供用户选择交谈对象,输入交谈内容,显 示对话记录的功能。 3 2 监听器 监听器模块负责监听接受发送给本机的数据包并根据数据包类型交给不同 的处理模块。 数据报结构如下: i 兰塑里鲞竺l兰塑 i 图5 数据报结构 f i g u r e5s t r u c t u r eo f d a t a g r a m 数据包类型字段占一个字节,为一个b y t e 类型数,含义如下: 0 :h e l l o 消息类型 1 :e c h o 消息类型 北京工业大学工学硕士学位论文 2 :a g e n t 类型 3 :r e s u l t 协议类型 4 :r e q u e s t 协议类型 5 :即时消息 流程图如下: 图6 监听器工作流程 f i g u r e6 l i s t e n e rf l o wc h a r t 3 3 对等体发现协议模块 发现协议完成对等端的发现功能。 第3 章p 2 p 系统设计 由于没有中心服务器,每个对等端必须拥有一个初始站点列表,在系统初始 化时,向本地文件中的用户列表中的主机发送通告报文,通告自己的存在。接收 到此报文的主机向此报文的源主机发回一个响应报文,这样建立一个在线的站点 列表,每个主机相隔一定时间间隔向对列中的主机发送通告报文,与其他对等体 保持动态的联系,并对网络情况的变化做出反应,在列表中增加上线的列表,删 除离线的和反应缓慢的节点,并以此作为根据制定a g e n t 的发送和转发策略。 目前流行的几种主要的发现方法: 1 基于本地缓存的发现机制 一个刑+ 等体a 想要发现其他的对等体b ( 防火墙内外有效地址的对等体) ,可 以基于本地缓存来解决这个问题:当系统初始化的时候,它从一个配置文件中载 入信息。该配置文件包含了对应于缺省的对等体组中所有对等体终端的信息。这 些信息实际上是以往所有被发现的对等体的历史信息集合。通过这种方法,在对 等体a 初始化的时候,由于配置信息的导入,b 地址己经为a 所知晓。实际上, 这种解决方法中,并没有真正的“发现”,而在重新连接一个己发现的对等体或 查询一个对等体集合点时,这种方法是非常高效的。 2 不通过集合点的本地发现 一个对等体a 希望发现在子网中的所有其他对等体b 。在这里假设:本地协 议使用的是t c p ,本地协议的发现机制使用t c p 广播。可以让a ,b 等在子 网内用一个查找的消息进行广播,所有第一次接到查找消息的对等体都必须向发 送者发一个响应信息,同时双方都新建一个登录信息。当对等体相互之间都进行 信息登录之后,它们就可以直接通信了。在这里,t c p 广播起了一个发送消息 的作用。 3 通过集合点的本地发现 a 希望发现所有局域网中的服务和其他对等体。e 为局域网中对等体的集合 点,它可以是一个部分集合点也可以是一个全局集合点。首先可以通过前两个方 案使a 知道e 的地址,然后a 向e 发送一个查找请求,这就可以得到其他对等 点的地址。 4 。穿越防火墙的发现机制 a 位于防火墙内,它希望发现局域网外的对等体和服务。b 是a 所在局域 北京工业大学工学硕士学位论文 网的主集中点或公共集中点,它提供路由服务,并且可以和防火墙内的对等体通 信。首先可以通过方案1 ,2 使对等体a 知道集合点b 的地址,a 发送查找消息 到b ,则b 知道的所有信息都被返回到a 。 5 基于集中点的传播方式: a 希望找到临近一个局域网中的对等点d 的信息,b 是a 所在局域网中的 全局集中点,但它不知道d 的信息。c 是d 所在局域网的全局集中点,它知道 d 的信息。这时候,首先a 连接到b ,以传播模式询问有关d 的信息,由于b 不知道d 的信息,从而它将该请求传播到c ,c 将它所掌握的d 的信息发送到 b 这样a 就能从b 得到所有有关d 的信息。 本应用设计对等端发现采用了第1 ,2 种方式,即系统初始化时倒入配置文 件中存储的已经发现的对等体列表,这体现了第一种方式,然后向列表中的节点 发送通告信息,接收到通告信息的对等体向通告信息的源主机返回相应信息,这 样两个对等点都知道了对方的存在,这体现了第二种方式。同时,第三,四,五 种方式中的集合点也可以通过设置初始站点列表文件来加以设置。同时,由于搜 索是基于移动a g e n t 进行的,所以每个对等点并不需要了解整个网络上的所有对 等点的情况,只要了解部分就可以了,未知的对等点可以在a g e n t 的移动过程中 逐渐发现。 h e l l o 包结构: 图7h e l l o 数据报结构 f i g u r e7 s t r u c t u r eo fh e l l od a t a g r a m 这里数据包中包含本机i p 地址是为了扩展之用,源主机的i p 地址在u d p 报文 的头部已经包括,这个字段可以存储一个域名,供动态d n s 使用,在本系统的 扩展与展望中将详述。 e c h o 包结构与h e l l o 数据包相同,只是类型不同,数据包类型用一个b y t e 来表示,h e l l o 消息类型字段为0 ,e c h o 消息类型字段为1 。本机i p 地址包括两 1 8 弟3 苹p 2 p 系统设计 1 1 个部分,用一个b y t e 标示i p 地址长度,之后是i p 地址的字符串转化成的b y t e 数组形式。 系统启动时,该模块根据初始化模块提供的初始) p _ q u e r y 】队列发送h e l l o 消息,此后处理由s e r v e r 模块接受的其他主机发来的h e l l o 和返回的e c h o 消 息。每隔一个时间间隔向i p _ q u e r y 】中的机器发出轮循的h e l l o 数据包。 i p q u e u e 为c l a s sq u e u e 的一个实例,相关类定义为: q u e u e 尽2 p u b l i ci n tl p u b l i ci n th e a d 髟p u b i i ci n tt a i l p o u b l i ca d d _ n o d e q p d v a t es t a t i cf i n a lq u e u em i n s t a n c e p u b l i cv o i di n s e r t ( ) q p u b l i cv o i dd e l e t e ( ) 4 1 , p u b l i ci n tf i n d ( ) p u b l i cv o i de x c h a n g e ( ) 图8q u e u e 类图 f i g u r e8 c l a s sd i a g r a mo fq u e u e l :队列长度。 q :站点队列。 h e a d ,t a i l :队列的头指针,尾指针。 i n s e t ( a d d _ n o d en o d e ) :入队操作,如果队列未满,则直接插入队尾。 如果对列已满,则最后一个元素出队保持队列最大长度。 d e l e t e ( ) :出队操作。 f i n d ( s t r i n g s ) :查找一个字符串类型的站点地址,返回其下标。 e x c h a n g e ( i n tn ) :将一个元素与下一个元素交换,队尾的元素优先级高。 节点类型为a d d n o d e ,类定义为 北京工业大学工学硕士学位论文 a d dn o d e 0 , 2 s t r i n gi p 如i n tt i m e s 岛l o n g f lr s t t im e 固2 1 0 n ga v e r e g e t i m e - c 豁, o a tv a l u e p u b l i ct i m e s i n c r e a s e ( ) p u b l i cc h a n g e v a l u e ( ) 图9a d dn o d e 类图 f i g u r e9 c l a s sd i a g r a mo fa d d n o d e s t r i n gi p :站点地址。 i n tt i m e s :返回e c h o 消息次数,每次返回t i m e s 值加一。 l o n g 自r s l l i m e :节点建立时的时间 l o n ga v e r e g e t i m e :平均发现时间 f l o a tv a l u e :表示信息素值 t i m e s i n c r e a s e o :增加发送h e l l o 包次数,每次加一。 c h a n g e v a l u e 0 :增加和蒸发信息素 a v e r e g e t i m e 是平均返回e c h o 消息时间,每次返回e c h o 消息,t i m e s 值加 一,用当前时间减去节点建立的时间,除以返回次数,更新a v e r e g e t i m e ,对队 列按照a v e r e g e t i m e 重新排序,a v e r e g e t i m e 反映了站点的反应速度和负载情况, 先向反应快的站点的权重较大,向其发送a g e n t 的可能性较大( 详见3 5 ) ,而 且负载较重的站点将逐渐退出队列,此策略可以均衡网络负载,这里只介绍了发 送策略的一部分,具体的发送策略将在以后详述。 对于接收到的h e l l o 数据包,如果在i p q u e u e 中没有他的源主机,则加入到 队尾,向源主机返回e c h o 数据包。 对于接收到的e c h o 数据包,检查其源主机地址是否在i p _ q u e u e 中,如果不 在则新生成一个节点加入队尾,如果在队列中则计算平均返回时间,按平均返回 时间排序,具体使用交换排序法,如果一个站点的e c h o 报文返回时间小于它之 后靠近队尾的站点的返回时间则交换着两个节点,直到他的返回时间平均值不小 第3 章p 2 p 系统设计 于它之后的节点的返回时间平均值为止。对于每一个e c h o 报文,首先与它的下 一个节点交换,这样可以使那些长时间接不到返回消息的站点逐渐退出队列。 算法如下: 芦“”在i p _ q u e u e 中寻找该源主机 i n tp = p 2 p i p _ q u e u e 自n d ( s s o u r c e ) :,s s o u r c e 表示要查找的主机地址 i f ( p = = 一1 1 没有找到则生成一个新节点加入i pq u e u e a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租车劳动合同范本2篇
- 瓶式氧气吸入课件
- 安全施工培训内容记录课件
- 农业碳汇项目融资策略与风险管理研究报告
- 农业现代化背景下2025年智能农业种植风险防控与绿色生产方案报告
- 球团厂安全规程培训
- 安全教训培训工作通报课件
- 房屋室内拆除工程方案(3篇)
- 以不变的精神面对变化的时代
- 比较教学法在高中语文课堂中的应用
- 手卫生知识答题及答案
- 洁净室区甲醛熏蒸消毒标准操作规程
- 4.1 整式(第1课时 单项式) 课件 七年级数学上册 (人教版2024)
- 中国急性缺血性卒中诊治指南(2023)解读
- 常熟理工学院图书馆考试完整题库
- 招聘诚信承诺书
- 装配式混凝土检查井施工及验收规程
- 2024小红书无货源精细化铺货实战课程
- 任正非的创业故事
- 学生实习家长知情同意书(完美版)
- 涉警网络负面舆情应对与处置策略
评论
0/150
提交评论