(计算机应用技术专业论文)基于p2p校园网搜索引擎的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于p2p校园网搜索引擎的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于p2p校园网搜索引擎的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于p2p校园网搜索引擎的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于p2p校园网搜索引擎的设计与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于p2p校园网搜索引擎的设计与实现.pdf.pdf 免费下载

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

文档简介

基于p 2 p 校园网搜索引擎的设计与实现 摘要 校园网是学校信息化建设的基础设施,是广大师生完成教学和科研的 一个重要平台。基于p 2 p 校园网搜索引擎利用p 2 p 分布式体系结构,将网 络中的资源分布在互联网中的各个节点上。并组建了基于“小世界”现象 的兴趣网络,把整个资源共享范围缩小到校园网内,有效解决了p 2 p 网络 的带宽占用问题,减轻了校园网路由出口的压力,同时也提高了节点间彼 此传输文件的速度。 基于p 2 p 校园网搜索引擎采用了现今流行的两种开源技术- j x t a 和n u t c h 。利用j x t a 建立一个通用的、统一的p 2 p 网络平台,采用i p 多 播技术的动态发现机制和汇聚对等体的静态发现机制,减少了资源浪费。 同时采用) ( m l 方式,对其资源信息进行描述及传递,并采用了) ( m l 信息的 缓存技术,通告在其经过的所有中间对等体处都会被缓存,从而使系统性 能随着系统“变老”而不断提升。利用n u t c h 技术构建了基于l u c e n e 的 w e b 搜索引擎,比目前普遍采用的搜索引擎( 如b a i d u 、g o o g l e 等) 更具有 针对性,将搜索范围限制在校园主页及其相关链接中。在网页爬行过程中 采用了广度优先遍历方式,并允许服务器管理者自由指定搜索的深度,使 该系统更具有实效性。 关键词:p 2 p 、对等体、通告、j x t a 、c m s 、n u t c h 摘要 d e s i g na n di m p l e m e n t a t i o no fu n i v e r s i t y s e a r c he n g i n eb a s e do np 2 p a b s t r a c t u n i v e r s i t yn e t w o r ki sm eb a s i cf a c i l i t yo nt h ec o n s t m c t i o no fs c h o o l i n f o n n a t i o n l i z e i ti sa l s oa ni m p o r t a n tp l a t f o n n ,w i t hw h i c ht h et e a c h e r sa n d s m d e n t sw i l lt e a c ha n dr e s e a r c h t h eu n i v e r s 时n e 俩o r kb a s e d0 np 2 ps a v e i t sr e s o u r c ei nt h ev a r i o u sp e e r sw i mp 2 pd i s t d b u t e da r c h i t e c t u r e b e s i d e s , t h ep r o g m mb u i l d st h ei n t e r e s tn e t w o r kb a s e do n “s m a l lw o r d ,w h i c hm e a n s t h a tt h es c o p eo ft h ef i l e ss h a r e di sl i m i t e dw i t h i nt h eu n i v e r s i t yn e t w o r k s o w ec a nm a k e 如l lu s eo ft h er e s o u r c ei no u ru n i v e r s i t y i ta l s op r o v i d e sa n e f f e c t i v es o l u t i o nt 0t h eb a n d w i d t ho c c u p i e di no r d e rt 0r e d u c et h eb i g p r e s s u r eo no u rn 舐o r ke x p o r t a t t h es a m et i m e ,i ts p e e d su pf i l et 瑚s f i e r s b e 似e e np e e r s t h ei m p l e m e n t a t i o no fu n i v e r s i t ys e a r he n g i n eb a s e do np 2 pu s i n gt w o p o p u l a ro p e n s o u r c et e c h n o l o g y j x t aa j l dn u t c h o no n eh a n d ,t h es y s t e m b u i l d sac o m m o na n du n i f i e dp 2 pn e 觚o r kw i t hj x t a j x t ap r o v i d e st h e d y n a m i cd i s c o v e 巧m e c h a n i s mw i t hi pm u l t i c a s ta n dt h es t a t i cd i s c o v e 巧 m e c h a n i s mw i t hr e n d e z v o u sp e e r s i tc a nr e d u c et h ew a s t eo ft h eb a n d w i d t h a tt h es 锄et i m e ,i td e s c r i b e sa n dt 啪s f e r si n f o m a t i o nw i t hx m l t h e a d v e r t i s e m e n ti ss a v e di nt h em i d d l ep e e r s ,w h i c hj u s tt r a n s f e ri n f o n n a t i o n o n i i l 北京化t 人学顾i j 学位论文 t h eo t h e rh a n d , t h es y s t e mb u i l d sw 渺s e a r c h e n g i n e b a s e do nl u c e n e t e c h n o l o g yw i t hn u t c h t h ea i mo fd e s i g n i n gi ti sm o r es p e c 饭ct h a i lt h em o s t p o p u l a rs e a r c he n g i n e s ( s u c ha sb a i d u ,g o o g l e , e t c ) i tj u s ts e a r c ht h e u n i v e r s i t yh o m ep a g ea n dt h er e l a t e dl i m ! ( s w 曲c r a w l i n gu s et h eb r e a d t h - f i r s t 纰w e r s a la n da l l o wt h es e r v e ra d m i n i s t r a t o rt od e c i d et h ed 印t ho fs e a r c h ,s o t h es y s t e mi sm o r ee f r e c t i v e 1 ( e yw o r d s : p 2 p ,p e e r a d v e n i s e m e n t ,j x l a ,c m s ,n u t c h i v 北京化工大学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不含任何其他个人或集体己经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 日期:丝堑:璺! 里 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论 文的规定,即:研究生在校攻读学位期间论文工作的知识产权单 位属北京化工大学。学校有权保留并向国家有关部门或机构送交 论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公 布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。 保密论文注释:本学位论文属于保密范围,在土年解密后适用 本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授 权书。 作者签名:造宓塑日期:巡:呈! i ! 导师签名: 至主留簟 日期:艘z :墨竺 绪论 第一章绪论 1 1 基于p 2 p 校园网搜索引擎的重要性 校园网是学校信息化建设的基础设施,也是学校实现信息化的一个重要平台,在 教学支持服务、教学教务管理、行政管理和校内外信息沟通等方面起着举足轻重的作 用。它是利用现代网络技术、多媒体技术及i i l t 锄e t 技术等建立起来的计算机网络, 为学校师生的教学、学习和科研提供一个良好的网络环境。然而,随着用户数量的不 断增多、网站的增加、校园网内信息量也在不断的膨胀,因此,在这个庞大的信息资 源中,如何为用户提供实时有效的信息检索服务成为校园网发展的关键性问题。 据2 0 0 6 年c n n i c 中国互联网发展状况调查结果显示:我国搜索引擎的使用 率已达到6 5 7 ,特别是大型搜索引擎,如:b a i d u ,g o o 酉e ,y a h o o 等,在市场份额 中独占鳌头,它们满足了广大用户的普遍需求。然而,随着w 曲规模持续不断地增长, 人们在信息处理活动中所面临的问题已不再是“信息短缺,而是“信息过载”,因而 对搜索引擎工具提出了更高的要求。 现有的搜索引擎作为一种广泛使用的信息检索工具,虽然在一定程度上可以帮助 人们处理这一问题,但也暴露出许多不足: 1 准确率低。现有的搜索引擎立足于整个n e m e t ,当用户向一个搜索引擎提交 一个“短提问”时,搜索引擎往往会返回成千上万的结果,其中很多都是与用户实际 需求无关的信息。 2 覆盖率低、更新周期长。任何一个现有的搜索引擎都只能覆盖1 1 1 t e n l e t 网页的 一小部分,并且搜索到信息往往过时,经常出现“死链接 现象。 3 现有搜索引擎只能检索到i n t 锄e t 中的静态页面,无法采集与挖掘广泛分布在 边缘网络中的海量信息,而这些信息往往是用户通过筛选保存的有效信息。 基于p 2 p 的校园网搜索引擎采用n u t c h 搜索技术,使其更具有针对性,搜索更 新周期缩短,并且引入了p 2 p 资源共享技术,充分利用以大规模分布形式存在的信息, 弥补传统搜索引擎无力深度挖掘信息的弱点【l 】。p 2 p 网络是一种具有较高扩展性的分 布式体系结构,网络中的资源都分布在互联网中的各个节点上,并且节点之间可以直 接进行信息的传输,无需服务器的介入。正是这种分散性使得基于p 2 p 的信息检索可 以挖掘到终端设备上动态存储的海量信息,从而改变了传统搜索引擎只能检索网站上 静态页面的现状。 1 2 现代搜索引擎的分类 北京化t 大学硕i j 学位论文 现代搜索引擎的思路来源于w a i l d 盯e r 。w 硎dw i d ew 曲w 抽d e r e r 是世界上第一 个利用h t m l 网页之f b j 的链接关系来监测w 曲发展规模的“机器人( r o b o t ) 程序。 r o b o t 程序指某个可以按人类无法达到的速度不断重复执行某项任务的自动程序。在 州e r e r 基础上,人们又将传统的s p i d c r 蜘蛛程序工作原理作了些改进,其思想是, 既然所有网页都可能有连向其他网站的链接,那么从一个网站开始,跟踪所有网页上 的所有链接,就有可能检索整个互联网。1 9 9 4 年m i c h a e lm a u l d i n 将改进的s p i d e r 程 序接入到其索引程序中,创建了大家熟知的l y c o s ,成为第一个现代意义的搜索引擎。 现在的搜索引擎主要分为3 大类:目录式搜索引擎( d i 咖us e 砌le n 舀n e ) ;机 器人搜索引擎( r o b o ts e a r c he n 百n e ) ;元搜索引擎( m e t as e 删le n 百n e ) 。 目录式搜索引擎( d i r e c t o r ys e a r c he n 西n e ) 是最早出现的基于w w w 的搜索引擎, 以雅虎为代表。我国的搜狐也属于目录式搜索引擎。雅虎由2 0 个分类专家将网络信 息分为艺术、入文、商业和经济等1 4 大类,然后再根据不同的主题进一步细分,形成 了一个可浏览式等级主题索引式搜索引擎f 2 j 。目录式搜索引擎使用机器自动或者半人 工地对w 曲上的网站进行分级归类,并在数据库中根据内容的不同对各个页面加以简 短的描述。这种搜索引擎并不是对全文的检索,而是对关键字和分类关键字进行匹配, 进一步返回相应的链接【3 l 。由于人工搜集信息速度较慢,不能对网上信息进行及时更 新,其查全率不高。不过由于搜索引擎所收集的网络资源经过了专业人员的鉴别、选 择和组织,所以信息的准确率高。 机器人搜索引擎( r o b o ts e 种c he n 西n e ) 是最常用的一种搜索引擎,由于采用r o b o t 技术,大大提高了信息搜索的速度和广度。它由起始u r l 地址开始,解析所需文档, 并把解析后的文档以特定的算法加入到全文索引库中,以后搜索引擎就可以通过查询 索引数据库来实现用户的关键字查询。它会根据网页的链接进一步提取其它网页,或 转移到其它站点上,直到没有满足要求的新的网页或网站为止f 4 】。机器人搜索引擎在 信息查全率和信息实时更新方面优于目录式搜索引擎。但机器人搜索引擎的分类和索 引缺乏人工参与,其查准率不如目录式搜索引擎。 近年来出现的元搜索引擎( m e t as e a r c h ) 极大程度上解决了一次查询就可以获得 多个搜索引擎有关查询结果的要求,极大地提高检索效率,节省了用户的时间。用户 只需递交一次检索请求,由元搜索引擎负责转换处理后提交给多个预先选定的独立搜 索引擎,并将所有检索结果集中统一处理,以统一的格式提交用户。第一个元搜索引 擎是由e r i cs e l b e r g 和o r 吼e t z i o n i 实现的m e t a c r a w l d5 1 。 1 3 基于p 2 p 搜索引擎的优势 p 2 p 是p e e r - t o - p e e r 的缩写,意为对等网络。长久以来,人们所熟悉的互联网是 以服务器为中心,用户向服务器发送请求,然后服务器返回相应的信息。而p 2 p 网络 2 绪论 则可以实现互联网中相对独立的计算机共享信息资源。第三代搜索引擎p a n d a j l g o 采 用的正是p 2 p 对等网络搜索理念。 p 2 p 信息检索的特点主要表现在以下几个方面【l 】: ( 1 ) 可以充分利用以大规模分布形式存在的信息。在i n t 锄e t 中除了那些可以被搜 索引擎检索到的静态页面外,还有分布在边缘网络中的海量信息值得去采集和挖掘。 这些分布存储在各个主机里面的信息具有潜在的巨大价值,因为这些信息是经过用户 过滤选择后保存下来的,是和用户密切相关的“精华”。传统的集中式引擎无法胜任 这种实时性强的海量信息检索。而在p 2 p 网络中,每个参与网络的主机既是内容的消 费者,又是内容的提供者。 ( 2 ) 可以弥补传统搜索引擎无力深度挖掘网站信息的弱点。据报道,i n t e n l e t 上共 享的文档总量超过5 5 0 0 亿,而即使那些具有强大检索能力的搜索引擎( 如g o o 西e 所能 检索到最大文档总量为8 0 亿) 也只能检索其中很小的一部分。其中大部分的信息是存 储在网站的数据库中以动态网页的形式来提供的,这些信息无法用传统搜索引擎通过 对静态网页上的链接进行采集和获取。而p 2 p 检索提供了一条可行的途径,各个信息 提供者作为一个节点加入p 2 p 网络,各个节点各自对自己本机上存储的信息制作索 引,所有的信息提供者一起构成一个庞大的分布式数据库以供检索。 ( 3 ) 可以解决现有搜索引擎的服务器瓶颈问题。一直以来,搜索引擎都采取抓取 网络中的页面信息,并将相关信息索引入库,最后根据用户输入,搜索索引库的方式, 这样就形成了“胖服务器一瘦客户端”的现象。服务器性能的好坏直接影响着搜索引 擎的性能,并且服务器带宽的吞吐量成为搜索引擎的一个重要瓶颈。而p 2 p 网络消弱 了服务器的概念,将服务器的集中式处理任务下放到各个独立的计算机上,并且各个 计算机可以相互直接连接,从而避免了产生搜索引擎的瓶颈现象。 p 2 p 技术通过用户主动参与并提交共享信息的方式,充分吸收了大规模存在的分 布式信息,并且利用了p 2 p 的对等搜索机制,使搜索速度达到一个几何级的增长。以 p 2 p 技术发展的一个先锋g i l u t d l a 的搜索为例:一台p c 上的g n u t e l l a 软件可将用户 的搜索请求同时发给网络上另外l o 台p c ,如果搜索请求未得到满足,这1 0 台p c 中 的每一台都会把该搜索请求转发给其它l o 台p c ,这样,搜索范围将在几秒钟内以几 何级数增长,几分钟内就可搜遍几百万台p c 上的信息资源。可以说,p 2 p 为互联网 的信息搜索提供了全新的解决之道。 1 4 本论文的主要内容 本文提出了基于p 2 p 的校园网搜索引擎,在传统的搜索引擎的基础上引入了p 2 p 资源共享技术。p 2 p 网络是一种具有较高扩展性的分布式体系结构,网络中的资源都 分布在互联网中的各个节点上,并且节点之间可以直接进行信息的传输,无需服务器 3 北京化_ t 人学硕i j 学位论文 的介入。j 下是p 2 p 的分散性使得基于p 2 p 的信息检索可以挖掘到终端设备上的海量信 息,从而改变了传统搜索引擎只能检索网站上静态页面的现状。下面简单介绍一下本 论文的大体结构。 第一章:介绍基于p 2 p 校园网搜索引擎的意义。在简单介绍现有搜索引擎的基 础上,引入了p 2 p 搜索引擎的优势。最后,概述本论文的主要内容。 第二章:介绍了p 2 p 、j x t a 和n u t c h 技术,阐述了它们的系统结构及系统设计 中所应用的部分概念。 第三章:主要介绍基于p 2 p 校园网搜索引擎的设计。主要分为两部分,一部分 是文件共享的设计,包括对等体发现机制、对等组管理、文件共享及文件搜索等;另 一部分是w 曲网页搜索的设计,包括s p i d e r 爬行及l u c 锄e 的索引结构的设计。 第四章:介绍p 2 p 文件搜索系统的实现。主要介绍基于j x t a 的文件共享搜索过 程的编程实现。 第五章:介绍w 曲网页搜索引擎的实现。主要介绍基于n u t c h 的w 曲网页搜索 引擎的实现过程。 4 第二二章p 2 p j x l a 及n u t c h 技术 第二章p 2 pj x t a 及n u t c h 技术 2 1p 2 p 技术的介绍 p 2 p 是一种分布式网络模型,又称对等网。在这种模型中,所有节点都是对等的 ( 称为对等体) ,各节点具有相同的责任和能力,并协同完成任务。它不依赖于服务器, 通过对等点之间直接交互,来共享信息资源、处理器资源、存储资源等。与c s 或者 b s 相比,p 2 p 网络中的对等点充当了服务器与客户端两个角色,既是服务的请求者, 又是服务的提供者。 2 1 1p 2 p 网络结构 p 2 p 网络分为以下三种结构【6 】【7 1 【8 1 : 集中式p 2 p 结构有一个中央服务器来负责记录共享信息以及响应其它节点的 查询( 如图2 1 ) 。 图2 1 集中式p 2 p f i g 2 - lc e n 仃a l i z e dp 2 p 与传统的c s 模式相比,服务器并不存储共享文件资源,只是保存对共享文件的 个描述信息,而共享文件仍然存储在各个对等点上。当某个节点( 如节点a ) 提出 共享请求时,找到共享文件存储的节点( 如节点b ) ,则节点a 与节点b 就可以建立 一条直接互连的通道,无需服务器的干预。采用这种结构形式的代表性软件为n 印s t e r 。 它的优点是有利于网络资源的快速检索,缺点是要有一个连续运转的高性能服务器, 一旦服务器失效,整个网络就会瘫痪。 北京化丁大学硕i :学位论文 分布式p 2 p 结构是一种纯p 2 p 模式( 如图2 2 ) 。这种形式摆脱了中央服务器 图2 - 2 纯分布式p 2 p f i g 2 - 2d i s 扛i b u t e dp 2 p 的束缚,网络上的每一个节点的地位是完全平等的。每一个节点既可以作为客户机又 可以作为服务器,并且它们与相邻的节点具有相同的处理能力。采用这种结构形式的 代表性软件为g i l u t e l l a 、f r e e n e t 。分布式p 2 p 的优点是没有中央服务器,一个节点失 效并不影响整个网络的正常运行,而且不容易受到网络攻击。但是由于没有中央服务 器保存节点及共享信息,搜索网络资源时,搜索请求要经过整个网络才能得到结果, 所以,这种模式占用很大带宽,而且需要花费很长时间才能有返回结果。 混合p 2 p 形式结合了集中式和分布式p 2 p 形式的优点,在纯分布式p 2 p 基础 上,引入了超级节点。如图2 3 所示: 图2 - 3 混合式p 2 p f 蟾2 - 3m 谈e dp 2 p 6 第二章p 2 pj x l - a 及n u t c h 技术 这种结构的关键是引入了索引节点和搜索节点等超级节点,索引节点只是保存与 搜索资料相关的地址,搜索节点管理着所属用户的文件列表。采用这种结构形式的代 表性软件为k a z 执、m o r p h e u s 。由于混合式p 2 p 网络具有集中式与分布式的优点, 目前大多数p 2 p 网络都采用这种结构。 2 1 2p 2 p 模式与c i e n t s e r v e r 模式的比较 与传统的c s 模式比较,p 2 p 网络具有以下特点【9 】l 1 0 1 【l l 】: ( 1 ) 非中心化。网络中的资源和服务分散在所有节点上,各对等体既可以充当 服务的请求者,又可以充当服务的提供者,信息的传输与服务都直接在节点之间进行, 这就避免了服务器的瓶颈问题。 ( 2 ) 具有良好的可扩展性。各对等体之间可以直接连接,并且彼此地位相同, 不存在相互制约的现象。并且随着加入网络对等体的增多,网络上提供的服务也相对 增多,其系统的性能会相应增长。 ( 3 ) 具有良好的健壮性,不存在单点失效问题。由于服务是分散在各个节点之 间进行的,部分节点或者网络遭到破坏对其它部分的影响很小。整个网络中,即使只 有一个对等体是活跃的,网络也被认为是活跃的。 p 2 p 与传统的c s 服务器网络不同,在c s 网络中,所有信息都存储在服务器上, 服务器处于主动地位,客户机只能被动地接收服务器响应。而p 2 p 网络使节点之间可 以直接交换资源和服务,并且每个节点都可以自由的加入和离开网络,这使得p 2 p 网 络的分布式特性有了更广阔的前景。 2 2j x t a 技术概述 j x t a ( j 1 1 ) 【t a p o s e 的缩写,并行、并置的意思) 是s u nm i c r o s y s t e m s 公司于2 0 0 1 年4 月提出的开源项目,旨在建立一个通用的、统一的p 2 p 网络计算平台。它定义了 一组独立于操作系统开发语言和网络传输的公共协议,使得网络中的各种设备( 如 手机、掌上电脑、p c 、服务器等) 之间都能以p 2 p 方式进行互联与协作。j x ,r a 具有 以下几种特性【1 2 1 【1 3 】: 与平台无关、可移植性。j x t a 的设计者强调的是灵活性、通用性和标准性, 它提供了足够的灵活性和基础性服务来构建p 2 p 校园网搜索系统,并且该系统采用协 议的j a v a 实现,这样就更增加了系统的可移植性。 互操作性。j x t a 能够使互连的对等体很容易地找到彼此,彼此间进行交流, 加入基于团体的活动,并提供跨越不同p 2 p 系统和不同团体的服务。从此避免出现各 个p 2 p 系统互不兼容,使网络被划分为以应用相隔离的孤岛。j x t a 的目标就是使p 2 p 7 北京化t 人学硕l :学位论文 在基础服务层上达到共享,不同的应用之间可以方便地利用共同的基础设施。 广泛性:j x t a 的目标就是支持任何设备上的点对点网络编程,它被设计成 可以运行在任何有数字处理功能的设备上,包括传感器、消息电子设备、个人数字助 理( p d a ) 、网络路由器、计算机、中心服务器和存储系统等。 2 2 1j x t a 的体系结构 j x r a 由三层组成:核心层,服务层、应用层】【巧】【1 6 1 ,如图2 4 所示: j ) ( 1 a a p p l i c a t i o n j m s e f 、,i c 岱 j 黜 图2 - 4j x l a 体系结构 f i g 2 - 4a r c h i t e c t i l 陀o fj ) ( 1 a 核心层( j x t ac o r e ) :核心层封装了最基本的的服务。在多平台的运行环境中, 核心层提供了对等组( p e e rg r o u p s ) 、对等管道( p e e rp i p e s ) 、对等监视( p e e rm o n i t o m 曲、 对等体广告( p e e ra d v e n i s e m e i l t s ) 、对等体标志符( p e e ri d s ) ,及安全性( s e c u r i t y ) 等功能。 服务层( j x t as e r v i c e ) :处于中间位置的服务层提供了对j x t a 协议的访问,它 包括对于p 2 p 网络不是必须的,却是很通用的服务,例如索引、查找、资源发现及缓 存等高级服务。这些服务需要大量调用由核心层提供的基本操作,通常会作为构件包 含在p 2 p 系统当中。 应用层( j x 队a p p l i c a t i o n ) :位于服务层之上的应用层,包括了应用j x t a 服务开 第一:章p 2 pj x l a 及n u t c h 技术 发出来的完整的p 2 p 应用程序,例如即时消息通信、资源共享、协作等。 2 2 2j x t a 的基本术群1 刀【1 8 】【1 9 】【2 0 】 1 对等体。它是j x t a 运行的基本单元。网络中实现了一个或者多个协议的任 何节点都可称为一个对等体,对等体可以是任何设备,从大型机到网络中的p d a 、手 机等。并且一台计算机上可以模拟多个p e e r 节点实例,每个p e 盯节点由一个唯一的 p e e r i d 标识。从功能上,p e c r 节点可以分为四类,它们分别是普通p e e r 、汇聚p e e r 、 网关p e e r 及路由p e e r 。普通p e e r 是p 2 p 网络中的一个简单的对等体,它可以发送或 者接收消息,并进行对等通信。但一般情况下,普通对等点都处于防火墙之后,被防 火墙阻隔的两个对等体不能直接进行t c p 口通信。汇聚p e e r 是用来处理其它对等体 请求的对等体,一个普通对等体可以配置自己的汇聚对等体,也可以加入该汇聚对等 体所在的汇聚集合中。网关p e 盯是一个作为通信中继的对等体,通常支持多种通信协 议,从而作为不同类型协议问的中介。网关对等体可以缓存消息并且等待需要该消息 的对等体接收。路由p e e r 是一个支持端点协议的p e e r ,路由节点保存并维护着网络 环境中对等体标志和该节点所经过的路由节点的映射信息列表,它主要用于穿越防火 墙( f i r e w a l l ) 以及网络地址转换州a t ) 的阻隔。 z 对等组。对等体可以自组织成为对等组,在一个对等组中的所有对等体支持 共同的服务。它能够组织各个对等体,并发布只对组成员可用的服务。一个对等体可 以自由的创建一个对等组或者加入一个对等组,每个对等组对应一个唯一的对等组i d 标识符。一个对等体可以同时属于一个或更多的对等组,所有对等体默认都属于世界 对等组( w o r l dp e 哪即u p ) ,它由负责对等体所在网络域的管理员进行配置。网络对等 组( n e t p e e 阳r o u p ) 定义了对等体操作的初始范围和该对等提提供的默认服务。在同 一个对等组内的对等体才可以通过对等组服务交互,其核心服务如下: 发现服务:使得对等组成员可以搜索发现对等组中的对等体,或者管道和服 务等资源。 成员服务:成员服务用于目前对等组成员拒绝或者接受一个新的组成员关系 应用( 比如允许新的节点加入一个对等组) 。节点要加入一个对等组,需要发现至少 一个组的成员,并请求加入。加入请求可能被目前成员集体拒绝也可能被接受。一个 节点可以同时属于一个或多个对等组。 访问服务:用来验证一个对等体向另一个对等体发出的请求。收到该请求的 对等体提供了请求对等体的证书和针对该访问服务做出的请求信息,以决定是否允许 访问。 管道服务:用来创建和控制对等组成员间的管道通信。 解析服务:用来发送通常的查询请求到其它的对等体,对等组中的对等体可 9 北京化工人学硕+ :学位论文 以定义和交互查询请求来查找任何需要的信息。 监控服务:使得对等组中的对等体可以监控其它组成员的在线状态等。 3 消息。使用管道或者端点间传递的信息被封装为消息。消息定义了一个信封 用于传递任何类型的数据。消息可以包括任意数目字节的数据,它可以支持各种形式 的数据,它是对等点之间数据交换的基本单元。管道服务和端点服务负责发送和接收 消息。通常情况,应用程序使用管道服务来创建、发送和接收消息。j x t a 中有两种 不同类型的消息:x 】l 类型和二进制类型。x m l 消息用于只支持文本的传输机制。 二进制消息是一个紧凑的包,它用来以紧凑的数据流发送消息。二进制消息是为了减 轻网络负荷提出的,在网络负载过重并且消息传递频繁的情况下采用,并且二进制消 息也有利于数据加密处理。 4 端点。端点是对可以发送和接收网络消息的网络传输地址的逻辑抽象。一个 端点就是实现了特定通信协议的对等体的地址。端点不一定要是物理地址,端点可以 允许物理地址发生变化。一个端点可以是口地址加上一个端口号。通过端点可以打 开一个数据流并与目标对等体通信。然而,j x t a 在流的基础之上又放置了一层,称 之为管道。这样,不是将一个流连接到一个地址,而是把一个管道连接到端点上。端 点和管道的好处在于,不用去关心对等体所使用的真正的地址和协议。使用抽象出来 的端点和管道,可以为创建p 2 p 应用提供强大的功能并降低复杂性。一个对等体可 以支持一个或者多个端点。通过使用多种协议,对等体可以提供更有效率的方法。也 就是说,如果两个对等体都在防火墙的后面,可以直接通过它们的t c p i p 端点来通 信;如果两个对等体要穿越防火墙通信,则需要使用h r r p 的端点。 5 管道。管道是用于在服务或者应用程序之间通过端点发送和接收消息的虚拟 通信信道。在j x t a 中,管道为两个管道端点( 即输入管道和输出管道) 之间提供一 种单向的、虚拟的连接。管道连接的建立独立于管道端点所位于的对等体。例如,输 入管道与输出管道可以位于防火墙或者n a = r 两侧,它们之间可以通过路由对等体来 实现相互通信。或者是输入管道与输出管道采用不同的传输协议,它们之间就必须要 有中继对等体来进行协议的转换。管道可以在不考虑连通性的情况下建立逻辑连接, 即使你不知道另外一个对等点的位置以及它所使用的协议等信息,通过管道仍然可以 与之通信。管道可以通过不同的方式发送信息,每一种方式都可能提供不同的服务质 量。例如,以同步请求响应方式,管道端点发送一个信息并接收相关的响应;以流方 式,管道在流控制信道中提供有效的数据传递。 6 服务。对等体通过协作和通信去发布、发现和调用网络服务。一个对等体可 以发布任意数目的服务。对等体通过对等体发现协议( p d p ) 来发现网络服务。从服务 的范围来看,j x t a 有两种服务:对等体服务和对等组服务。对等体服务只有在正发 布该服务的对等体上才可以获得,如果该对等体发生故障或者退出p 2 p 网络,则相应 的服务也就消失了。对等组服务由服务实例的集合组成,这些服务运行在该对等组的 1 0 第二章p 2 pj x l a 及n u t c h 技术 多个成员上,并彼此协作运行。如果任何一个对等体发生故障或退出p 2 p 网络,则对 等组服务不会受到影响,因为可以从对等组中的其它对等体获取该服务。 7 通告。所有的网络资源( 如对等体、对等组、管道和服务) 都用通告来表示, 通告是j x t a 用于描述资源的与语言无关的元数据结构。一个通告就是一个x m l 文 档,它用来交换j x t a 网络上可以获得的任何信息。例如,一个对等体创建了对等组 后,就可以使用i p 多播方式把通告发布到本地的j x t a 网络,同时子网中的每一个 对等体都会收到一份通告的副本,如果有通告还会被发送到汇聚对等体上。每个通告 在发布时都设有一个生命周期( “e ) ,利用生命周期可以对通告进行控制。通常 情况下,对于本地通告可以设置比较长的生命周期,而对于来自远程系统的通告设置 的生命周期比较短。一个过期的通告可以很快被删除更新。 8 模块。j x t a 模块是一种抽象,用来标识任何实现j x t a 网络中某一具体行为 的代码块。为了实现一个新的行为,这些代码块可以在一个对等体上动态地装载和实 例化。当一个对等体加入对等组时,对等体首先发现它们感兴趣或者需要实例化的新 行为。j x t a 模块并没有指定代码结构的格式,模块行为留给了模块实现者定义。整 个模块框架分成三部分:模块类、模块规范、模块实现。 9 标识符。在对等网络中,我们需要一些信息来唯一地标识网络中的某些项。 如对等体标识,一个对等体需要一个标识,使得在网络中其它对等体可以使用该标识 来定位或者指定该对等体。 2 3n u t c h 技术概述 n u t c h 是一个j a v a 实现的开源项目,它不仅仅支持对整个m t 锄e t 的搜索,而且 还支持对内网或校园网的搜索,甚至于对本地文件系统的搜索。与商业搜索引擎相比, 它增强了搜索引擎的透明性,由于它是完全开放源代码的,任何人都可以查看它的排 序算法,并且它根据查询内容的相关性进行排序,不像某些商业搜索引擎采用竞价排 名,所以更适用于学术搜索。另一方面,它采用了类似e c l i p s e 的插件机制,可以灵 活的被客户集成到自己的应用程序中,具有很强的扩展性。 n u t c h 是基于l u c e l l e 的搜索引擎,利用l u c e n e 为其提供文本索引和搜索a p i 。 但是它在l u c e n e 的基础上又加入了爬行,解析,段落分析以及用户界面,从而形成 一个完整的w e b 搜索引擎1 2 。总体上它可以分成两部分,爬行部分和搜索部分。爬行 程序抓取页面并把抓取回来的数据做成反向索引,搜索程序则对反向索引库搜索从而 回答用户的搜索请求。爬行程序和搜索程序可以分别位于不同的机器上,它们的接口 是索引库,两者都使用索引库中的字段。 2 3 1n u t c h 的体系结构 北京化t 人学硕 :学位论义 n u t c h 具有一个清晰的、模块化的架构,采用灵活的p l u 百n 机制,例如,n u t c h 对互联网上各种不同类型的解析就是通过p l u 百n 机制实现的。其体系结构如其体系结 构如图2 5 所示2 2 】: 图2 _ 5n u t c h 分层结构 f i g 2 5h i e 豫r c h i c a l 蚰:t l l 豫o f n u t c h n u t c h 包括4 个核心组件f e t c h e r 、s e a r c h c r 、i n d e x e r 和d b ( d a t a b 嬲e ) 。 f e t c h e r :用于自动抓取页面,解析文件内容,并从文件内容中生成相应的链接。 s e f c h e r :给定一个查询,它能够快速地从文件集中找到相关的子集,并将其显示。 从反向索引文集中查询大量的相关子集,再对这些子集根据相关度进行排序,最后输 出结果。 h l d e x e r :对爬行结果产生反向索引,为s e a r c h c r 提供服务。一般采用h l c e 机 制来存储索引。 d b ( d a t a b 鹪e ) :存储索引的文件内容以、由s e 卸c h e r 查询的文件摘要、文件相关 的链接信息、上次抓取文件时间信息。 a n a y s i s 组件是n u t c h 的词法分析器和查询字符串分析器,是核心组件h l d e x e r 和 s 铡r c h e r 的基础,用于扫描文件序列,切分t o k e i l ,解析查询字符串等。h l d e x e r 将利 用这些t o k e n 来建立反向索引,s e a r c h e r 将调用a n a l y s i s 来解析查询字符串,将查询 字符串切分为t c k e i i ,然后进行查询,并利用t o k e n 来自动抽取网页摘要。 2 3 2n u t c h 的! 恃性 n u t c h 作为基于l u c e i l e 的搜索引擎,具有以下几种特性: 1 2 第一二章p 2 pj x l a 及n u t c h 技术 透明性。n u t c h 工程是由l u c e n e 的创始人创建的,现以成为a p a c h ej a l ( a n a 开源项目之一。首先,作为一个开源项目,任何人都可以查看他的排序算法是如何工 作的。商业的搜索引擎排序算法都是保密的,我们无法知道搜索出来的排序结果是如 何计算出来的。而n u t c h 对搜索结果进行公平的排序,即根据内容与搜索请求的相关 度进行排序【2 3 1 。这对学术研究和局域网内的搜索,具有重要的意义。其次,作为一个 开源项目,在用户、研究者、开发人员之间能形成一个良性的快速反馈机制,这样有 利于n u t c h 工程的快速更新与完善。 灵活性。灵活性是n u t c h 技术的一个重要的特性,它能够为用户构建一个实 验性平台,它可以被很好的为用户订制并集成到应用系统中使用n u t c h 采用插件机 制,可以作为一个搜索不同信息载体的搜索平台。 可测量性。从经济以及技术水平考虑,到目前为止,n u t c h 可搜索的网页数量 不超过l 亿。并且n u t c h 允许用户设置不同的搜索深度,这样大大缩小了存储空间以 及爬行( s p i d 神程序所占用带宽,有利于对局域网内的w 曲信息搜索。 第三章基于p 2 p 校周网搜索引擎设计 第三章基于p 2 p 校园网搜索引擎设计 校园网作为局域网的一个典型实例,是利用现代网络技术、多媒体技术及h l t 唧e t 技术等将学校内部的计算机及服务器连接起来,它是学校信息化建设的基础设施,也 是学校实现信息化的一个重要平台。 基于p 2 p 校园网搜索引擎模型的设计思路是通过用户提问,发出检索请求,搜索 网内资源,并对搜索到的结果进行分析,排序,最后返回给用户。其整体结构如图3 1 所示: 图3 1 校园网搜索引擎模型 f i g 3 一lm o d e lo ft h e 皿i v e 聃n y 始a r c h 蛐g i n e 模型主要分两部分,一部分是针对校园网内以文件形式存储在计算机硬盘里的信 息,这些信息一般分散存储在个人计算机中,并且用户联网时间也不确定,故采用p 2 p 技术进行文件搜索。用户发出搜索请求,p c 机首先搜索自己的本地存储器,若搜索 请求未得到满足,p c 机上的c m s ( c o n t e n tm a n a g e rs e r v i c e ) 就将用户的搜索请求以 i p 多播的方式发送给相邻的多台p c 机,这多台p c 中的每一台又会把该搜索请求转 发给其他p c ,这样,搜索范围将以几何级数增长,理论上最终将搜索到校园网内所 有用户主动共享的信息资源。该类搜索引擎搜索范围广,速度快,并且搜索到的信息 具有更强的实时性和有效性。另一部分是针对校园网内以静态网页形式存在的w 曲 信息,由于这些信息都集中存储在服务器上,并且存储周期也比较长,故采用传统的 r o b o t 搜索引擎技术。它自动访问w 曲站点,提取网页上的信息,并沿着网页中的超 链接“爬行”,进一步提取其他页面,然后用搜索到的信息建立索引库,根据用户的查 询输入检索索引库,并将查询结果返回给用户。该类搜索引擎信息量大,信息更新及 时,无须人工干预。 北京化t 人学硕 :学位论文 3 1p 2 p 文件搜索的设计 3 1 1 对等体的发现机制 要实现p 2 p 网络,最关键的技术就是发现服务,它适用于发现任何资源,例如, 发现对等体、对等组、管道、通告等资源。对等体发现基本原理:一个需要服务的对 等体首先发送一个搜索请求信息,然后网络中的对等体收到这个请求之后,检查自己 内部的通告,若存在该服务信息,直接向该对等体返回一个响应。对等体有两种发现 资源的办法:一种方法是动态发现资源,另外一种是通过汇聚对等体进行的静态发现 资源【2 4 】。发现服务是在对等组的上下文环境中进行的,即对等体只能在一个特定的对 等组中发现资源。以下详细介绍这两种发现方法。 ( 1 ) 动态发现过程 这是通过i p 多播( m u l t i c a s t ) 技术来实现的,多播是一种将数据从一个节点发出, 然后传输给其它一个或者多个节点的通信技术,介于单播( u n i c a s t ) 与广播( b r o a d c a s t ) 之间。在单播方式中,需要分别向各个接收成员发送同一个包的拷贝。使用单播技术 实现比较简单,但是当用户量较大时则存在瓶颈,相同的信息

温馨提示

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

评论

0/150

提交评论