(计算机系统结构专业论文)面向学术文献检索的p2p网络研究.pdf_第1页
(计算机系统结构专业论文)面向学术文献检索的p2p网络研究.pdf_第2页
(计算机系统结构专业论文)面向学术文献检索的p2p网络研究.pdf_第3页
(计算机系统结构专业论文)面向学术文献检索的p2p网络研究.pdf_第4页
(计算机系统结构专业论文)面向学术文献检索的p2p网络研究.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

上海大学硕士学位论文 摘要 g o o g l es c h o l a r 为我们搜索各种来源的学术文献信息提供了一个简单易用的 平台。它使用网络爬虫来把各种来源的文献信息集中存储到g o o g l e 自己的数据 库里,然后通过w e b 向用户提供这些信息。从技术上来讲,g o o g l es c h o l a r 是 基于客户端服务器端模型的,作为一个集中式的系统,有着它自身的缺陷。近 年来,p 2 p ( p e e r - t o p e e r , 点对点) 计算越来越盛行,它能够以分布,自治的方 式来处理海量数据,其特征在搜索能力、可扩展性、高效率,以及对故障和动 态环境的应变能力方面展现了巨大的潜力。 在本篇论文中,我们提出了一种面向学术文献检索的p 2 p 网络研究p p s c h o l a r ,它建立在p 2 p 网络和d u b l i nc o r e 元数据标准的基础之上。我们的主 要研究内容就是如何使各个学术文献信息源的数据库以p 2 p 的方式合作,建立 起一个适用于学术文献检索的基于元数据的p 2 p 网络。在研究过程中,我们主 要致力于两大问题:一是如何隐藏信息源的异构性;二是如何建立一个适合于 本应用的p 2 p 网络。在建立p 2 p 网络的过程中,我们基于在g n u t e l l a 网络中发 现的两种幂律分布,在g n u t e l l a 网络的基础之上,增加学习型节点来以多种方 式改进我们的应用。 首先,我们根据在p 2 p 网络中发现的节点连接数的幂率分布规律,将那些 拥有连接数多,性能强大的节点选择为学习型节点,形成一种两层架构的p 2 p 网络。这些学习型节点可以学习整个网络的知识,比如缓冲查询请求与结果等, 从而使得查询请求能够在少数的学习型节点中就能得到结果。同时通过模拟实 验,在将t t l ( t i m e t o l i v e ) 控制在可接受的前提下,尽量选择那些拥有连接 数最多,性能最强大的节点作为学习型节点,从而尽可能减少学习型节点的数 量。另外,我们还根据p 2 p 网络中发现的搜索关键字的幂率分布规律,提出了 新的缓冲算法适应性最少频率使用算法( a d a p t i v e l e a s tf r e q u e n t l yu s e d ) , 并根据此算法在学习型节点中建立缓冲区,作为学习型节点的学习能力之一。 v 上海大学硕士学位论文 通过实际模拟实验,我们验证了该算法相比其他的缓冲算法拥有更高的命中率。 关键词:g o o g l es c h o l a r , p 2 p , d u b l i nc o r e ,学习型节点 v i 上海大学硕士学位论文 a b s t r a c t g o o g l es c h o l a rp r o v i d e sas i m p l ew a yt os e a r c hf o rs c h o l a r l yl i t e r a t u r ea c r o s sm a n ys o u r c e sb y g a t h e rt h ei n f o r m a t i o nf r o mp u b l i s h e r s w e b s i t e si n t og o o g l e s d a t a b a s e h o w e v e rg o o g l e s c h o l a rh a si t sd r a w b a c k sa si ti sac e n t r a l i z e ds y s t e m r e c e n t l yp e e r - t o - p e e r ( p 2 p ) b e c o m e s m o r ea n dm o r ep o p u l a r t h ep 2 pa p p r o a c ha l l o w sh a n d l i n gh u g ea m o u n t so fd a t ai nad i s t r i b u t e d a n ds e l f - o r g a n i z i n gw a y t h e s ec h a r a c t e r i s t i c so f f e re n o l t f l o u s p o t e n t i a lb e n e f i tf o rs e a r c h c a p a b i l i t i e s ,p o w e r f u li nt e r m so fs c a l a b i l i t y , e f f i c i e n c y , a n dr e s i l i e n c et of a i l u r e sa n dd y n a m i c s i nt h i st h e s i s ,w ep r e s e n to u rp r o j e c tp ps c h o l a r , w h i c hi sb u i l to ng n u t e l l an e t w o r ka n dd u b l i n c o r em e t a d a t as t a n d a r d o u rg o a li st om a k et h ep u b l i s h e r s d a t a b a s e sc o o p e r a t ei nap 2 pm a n n e r a n db u i l du pam e t a d a t a b a s e dp 2 ps e a r c h i n gf a c i l i t yf o rs c h o l a r l yl i t e r a t u r e w et a k ea d v a n t a g e o ft w ok i n d so fp o w e r - l a wd i s t r i b u t i o nf o u n di ng n u t e l l an e t w o r k ,a n dm a k es o m ea d a p t a t i o n s b ya d d i n gl e a r n i n gp e e r st oi m p r o v e0 1 1 1 a p p l i c a t i o ni ns e v e r a lw a y s f i r s t ,b a s e do np o w e r - l a w d i s t r i b u t i o no fn o d e s l i n k sf o u n di np 2 pn e t w o r k , w et r yt os e l e c tt h e s en o d e sw h i c hh a sm u c h m o r el i n k st oo t h e rn o d e sa sl e a r n i n gp e e r s ,a n db u i l du pat w o - t i e rp 2 pn e t w o r ka r c h i t e c a a e t h r o u g hs i m u l a t i o n ,w es e l e c tt h e s em o s tp o w e r f u ln o d e sa sl e a r n i n gp e e r sa sp o s s i b l ea sw ec a l l , w h i l ec o n t r o l l i n gt h et t l ( t i m e - t o l i v e li na l la c c e p t a b l en u m b e r s e c o n d l y , b a s e do n p o w e r - l a wd i s t r i b u t i o no fs e a r c h i n gk e y w o r d si np 2 pn e t w o r k ,w ep r o p o s ean e wc a c h i n g a l g o r i t h m - - a d a p t i v el e a s tf r e q u e n t l yu s e da l g o r i t h m ,a n dt h r o u g hs i m u l a t i o nw ep r o v et h a tt h e h i tr a t eo fo u rn e wc a c h i n ga l g o r i t h mi sh i g h e rt h a no t h e rw e l l - k n o w nc a c h i n ga l g o r i t h m s k e y w o r d s :g o o g l es c h o l a r , p e e r - t o - p e e r , d u b l i nc o r e ,l e a r n i n g p e e r v i i 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发 表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的 任何贡献均己在论文中作了明确的说明并表示了谢意。 签名: 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:论血盛正聊签名:经拉眺避之囟 i l 上海大学硕i 十= 学位论文 1 1 课题来源 第一章绪论 本课题为上海大学计算机工程与科学学院、上海高校网格技术e 研究院下 的数据网格项目中的子项目,为以后语义网格的研究提供一个平台。 1 2 课题研究的目的和意义 g o o g l es c h o l a r 给用户提供了一个简单易用的搜索学术文献信息的网络平 台。使用g o o g l es c h o l a r 的搜索网,我们可以搜索各种不同来源的学术文献信 息。它通过使用网络爬虫来访问学术文献信息发布者的网页,获得学术文献信 息并存储至g o o g l e 自己的数据库中;然后通过g o o g l es c h o l a r 来提供这些信息 的搜索服务。从技术上来讲,g o o g l es c h o l a r 仅仅是一个基于网络爬虫的集中式 的w e b 搜索引擎。 近年来,p 2 p 计算逐渐流行起来。p 2 p 可以通过分布式、自我管理的方式来 管理海量数据。其特征在搜索能力、可扩展性、高效率,以及对故障和动态环 境的应变能力方面展现了巨大的潜力。 在我们前期的研究中,【1 】做了基于搜索内容的统计信息提出了一种p 2 p 分布式搜索引擎。我们解决了如何在大量节点中建立并分派索引,以及如何在 分布式搜索系统中构建有效的搜索策略问题。我们的研究表明了p 2 p 搜索引擎 也可以提供类似g o o g l e 一样的搜索服务。所以在我们的应用p ps c h o l a r 系统中, 采用了p 2 p 的方法来提供学术文献检索服务。我们将各种学术文献信息源的数 据库转变为p 2 p 网络中的节点,使得它们以p 2 p 的方式合作来提供学术文献信 息的搜索服务。简而言之,我们设计了一个适用于搜索学术文献信息的基于元 数据的p 2 p 学术文献信息搜索引擎。 要设计一个基于元数据的p 2 p 搜索引擎,必须解决两大问题。一是要解决 一卜海大学硕十学位论文 节点的异构性。不同的信息源采用不同的元数据模式来描述学术文献信息,同 时采用不同种类的数据库来存储这些信息。二是要构建一个适合我们应用的 p 2 p 网络。 在我们提出的应用p ps c h o l a r 应用中,我们解决了这两大问题。我们利用 d u b l i nc o r e 元数据标准【3 】来描述学术文献信息,并将其映射到信息源的本 地元数据模式。我们使用j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 技术【1 7 】,使用其 统一的接口来访问各个种类的数据库。我们基于在g n u t e l l a 网络【5 】中发现的 两种幂律规律,构建了适用于我们应用的p 2 p 网络学习型节点网络,其能 够大大改善g n u t e l l a 网络所面临的可扩展性和性能问题。 首先,我们根据在p 2 p 网络中发现的节点连接数的幂率分布规律,将那些 拥有连接数多,性能强大的节点选择为学习型节点,形成一种两层架构的p 2 p 网络。同时通过模拟实验,在将t t l ( t i m e t o l i v e ) 控制在可接受的前提下, 尽量选择那些拥有连接数最多,性能最强大的节点作为学习型节点,从而尽可 能减少学习型节点的数量。另外,我们还根据p 2 p 网络中发现的搜索关键字的 幂率分布规律,提出了新的缓冲算法适应性最少频率使用算法( a d a p t i v e l e a s tf r e q u e n t l y u s e d ) ,并根据此算法在学习型节点中建立缓冲区,作为学习型 节点的学习能力之一。通过实际模拟实验,我们验证了该算法相比其他的缓冲 算法拥有更高的命中率。 1 2 1 国内外研究概况 p 2 p 搜索技术使用户能够深度搜索文档。而且这种搜索无需通过w e b 服务 器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎 无可比拟的深度。目前,集中式搜索引擎g o o g l e 、雅虎、百度是人们在网络中 检索信息资源的主要工具,但这种集中式的搜索引擎远远无法涵盖所有互联网 内的共享内容,而p 2 p 搜索技术正好是这种集中式检索的一种良性互补。 目前,基于标准元数据的p 2 p 搜索应用不是很多,j x t a 社区下的e d u t e l l a 2 上海大学硕十学位论文 项目【1 4 1 是一个典型的例子。e d u t e l l a 主要用来搜索教育资源,它的开发者们 将其应用建立在w 3 c 元数据标准资源描述框架( r e s o u r c ed e s c r i p t i o n f r a m e w o r k ) 之上。该项目基于资源描述框架和最近发布的j x t a 网络框架,实 现了一个适用于元数据搜索的p 2 p 网络,其目的是通过提供元数据服务来使得 异构的j x t a 应用之间具有可互操作性。但是其网络的可扩展性还有待提高 1 2 2 国内研究概况 从维普数据库、万方数据库等中文数据库中,还没有检索到国内学者在相 关方面的研究报道。 1 3 论文的主要研究内容 在接下来的论文中,第二章中阐述了课题研究的背景,其中包括了我们为 什么要提出我们的p ps c h o l a r 系统,以及主要相关工作。第三章对p ps c h o l a r 应用系统作了详细的描述。在第四章通过模拟实验结果证明了p ps c h o l a r 系统 中提出的基于p 2 p 网络改进的有效性,并且展示了p ps c h o l a r 系统的原型。最 后,我们将在第五章给出结论和未来的工作。 3 上海大学硕1 二学位论文 第二章研究背景 2 1 为什么要开发p ps c h o l a r 最近p 2 p 系统逐渐成为了一个受欢迎的共享海量数据的媒介。p 2 p 系统把 共享数据的主要开销一存储数据的磁盘空间以及传输这些数据所需要的带宽, 分散到网络中的各个p e e r 上,因此,它可以在不需要高价、高性能的服务器的 情况下具备很好的扩展性。除了能够集中共享海量数据资源以外,p 2 p 系统还 具有白组织、自我负载平衡、可适应性与容错性好等优点。 我们在上一章提到,g o o g l es c h o l a r 是一个集中式的系统,而我们提出的是 一个分布式的系统p ps c h o l a r , 来提供类似g o o g l es c h o l a r 的服务。我们的 系统除了以上p 2 p 系统相对于集中式系统来说所具备优点以外,我们认为p p s c h o l a r 系统还在以下两个方面相对于g o o g l es c h o l a r 具有一定的优势。 牌首先让我们来研究一下g o o g l es c h o l a r 是如何工作的。g o o g l es c h o l a r 使用其网络爬虫来访问信息源网站( 如i e e ex p l o r e ,a c mp r o t a l 等) 的网页内 容,该网页内容包含了学术文献信息的元数据。这些元数据储存在信息源的数 据库中,通过信息源的w e b 应用服务器来发布这些信息。g o o g l es c h o l a r 的网 络爬虫访问这些网页,把学术文献信息的元数据从网页中抽取出来,然后保存 之g o o g l e 自己的数据库中。我们认为从数据库读取信息,转换成h t m l 网页, 再从网页返回至数据库,这样的过程( 如图2 1 ) 从本质上来讲效率很低,而且 还易于出错。相比较而言,我们的应用p ps c h o l a r 在效率上就要明显优于g o o g l e s c h o l a r , 因为p ps c h o l a r 通过p 2 p 网络将查询请求发送至每一个信息源,信息 源执行这些查询,并直接返回结果。 4 上海大学硕士学位论文 g o o g l es c h o l a r 一“”4 b 图2 1 :g o o g l es c h o l a r 原理示意图 巨新这劈;目前即使最快的网络爬虫也要数天才能访问并检索w e b 上的网 页。尽管可以使网络爬虫有针对性地来访问含有学术文献信息元数据的网页, 整个检索过程仍旧需要一定的时间。在当今科学技术高速发展的社会,每天都 会出现大量的新的科学技术,所以,信息源的数据库每天都会加入新的学术文 献信息源数据。g o o g l es c h o l a r 直到它的网络爬虫发现包含这些新信息的网页 后,才会在其网页中出现这些学术文献信息,也就是说,g o o g l es c h o l a r 上的信 息始终要比信息源的信息要“慢一拍 。然而,p ps c h o l a r 就不存在这个问题。 因为每一个查询请求都会通过p 2 p 网络发送至每一个信息源,信息源的任何信 息更新都会立刻返回给每一个查询请求。 2 2 相关工作 搜索技术在p 2 p 网络中一直是一个关键问题,即在使用数据资源前如何发 现数据的问题。目前大部分流行的p 2 p 应用都没有很好的解决该问题,每一个 应用都有其优缺点。目前流行的p 2 p 网络大致可以分为两类:结构化p 2 p 网络 和非结构化p 2 p 网络。结构化的p 2 p 网络( 如c a n ,c h o r d 等) 都是基于分 布式哈希表的( d i s t r i b u t e dh a s ht a b l e ,d h t ) 。新加入的数据都会被插入一张分 上海大学硕士学位论文 布式哈希表中,以后通过其哈希值来查找该数据。非结构化的p 2 p 网络( 如 g n u t e l l a , f a s tt r a c k ) 都是基于广播机制的,其通过将查询请求广播至每一个节 点来查找数据。 基于分布式哈希表的结构化p 2 p 网络在支持精确查询方面更具优势:给定 一个精确的文件名,然后将该文件名通过特定的哈希函数转换为哈希值;然后 通过相应的l o o k u p ( k e y ) 操作来精确定位该文件在网络上的位置。然而,它却在 支持关键字搜索乃至更复杂的查询( 比如类似g o o g l es c h o l a r 的查询方式) 方 面显得无能为力。使得结构化p 2 p 网络能够支持关键字搜索是一个非常困难的 问题。例如参考文献【1 3 】试图通过为每一个关键字建立反向索引的方法,解 决这一问题。但在现实p 2 p 网络中,任何时候都有节点频繁的加入和退出网络, 这给维护反向索引带来了非常大的开销,从而使得该方法失去现实意义。 相比之下,非结构化p 2 p 网络( 如g n u t e l l a ,f a s tt r a c k ) 却能够非常轻松的 支持关键字查询以及其他复杂的查询,因为所有的查询都是发送到每一个节点, 每个节点都在本地执行该查询并返回结果。但是g n u t e l l a 通过广播机制来发送 查询请求的方式使得g n u t e l l a 的可扩展性非常差,因为其广播消息会消耗大量 的带宽。随着节点数量的增长,g n u e l l a 网络消耗的带宽资源越来越大,严重时 会造成网络瘫痪。处理该扩展性问题的一种方法是在g n u t e l l a 网络中增加超级 节点,形成一种层次化的网络结构【8 】。在该网络中节点可分为普通节点和超级 节点,每一个普通节点都与一个超级节点相连接,并将其拥有的信息上传至超 级节点,每一个超级节点负责处理其下属普通节点的查询请求。超级节点拥有 整个网络的数据信息,因此查询请求只需发送至占网络节点数量只有- d , 部分 的超级节点上,从而能够一定程度上减轻g n u t e l l a 的可扩展性问题。这种方法 由f a s t t r a c kp 2 p 平台提出【6 】,并在k a z a a ( 如图2 3 ) 应用中实现。【7 】 以上介绍的应用仅仅是在特定领域,特别是文件共享方面取得了成功。然 而,它们既没有引入较为复杂的元数据,也没有实现对更加复杂查询的支持。 在某些场合,如搜索学术文献信息,查询请求更加的复杂,其要求应用必须建 6 上海大学硕士学位论文 立在可扩充的元数据标准之上,如d u b l i nc o r e 元数据标准【3 】。在此值得一提 的是s u n 公司j x t a 社区下的e d u t e l l a 项目【1 4 ,它的开发者们意识到了以往 p 2 p 应用的缺点,引入了w 3 c 元数据标准资源描述框架( r e s o u r c ed e s c r i p t i o n f r a m e w o r k ,r d f ) 。它实现了一个基于元数据的p 2 p 网络,用于搜索教育资源。 但是其p 2 p 网络建立在s u n 公司近期公布的j x t a 框架之上,该网络框架的可 扩展性还有待提高。 在学术文献检索系统中,因为描述学术文献信息的元数据比较复杂,并且 我们需要基于这些元数据来提供更为复杂的查询服务,所以我们采用了d u b l i n c o r e 元数据标准,偏向于非结构化p 2 p 网络来构建p ps c h o l a r 系统。如我们上 一章所述,开发p ps c h o l a r 有两大难点,如何利用d u b l i nc o r e 元数据标准和非 结构化p 2 p 网络来解决这两大难点。这将是本论文工作的主要内容。我们将在 下一章中给出详细的描述。 g n u t e l l a ( h t t p :g n u t e l l a w e g o c o r n ) 是用于文件共享的p 2 p 系统。其将查询请求 在指定的t t l ( t i m e t o l i v e ) 内广播至其他节点,从而实现查询服务。从技术 上讲,发送一次查询实际上是对整个p 2 p 网络进行了一次广度优先搜索( b r e a d t h f i r s ts e a r c h ,b f s ) ,直到找到所需要的内容为止。节点在提交查询请求以前并不 知道它所需要的数据存储与哪个节点上,所以它必须将查询请求发送到其他所 有节点。如果某项数据非常流行,很多节点都拥有该数据,那么有可能很快就 会找到该数据;反之若某数据不流行,只有少数节点拥有该数据,针对该数据 的查询请求就有可能会耗费很长时间。所以g n u t e l l a 引入了t t l ( t i m e - t o l i v e ) 来保证查询请求的响应时间。t t l 是一个整数值,一个查询请求在网络上被传 递t t l 次以后,其不再会被发送给其他节点。尽管如此,g n u t e l l a 的广播式的 查询请求发送方式占用了大量的带宽,随着节点的增加,严重时其将导致网络 瘫痪,这也是g n u t e l l a 为什么在可扩展性上表现不好的原因。 7 上海大学硕上学位论文 图2 2 :g n u t e l l a 的广播式发送查询请求 最近,g n u t e l l a 转向了两层网络结构,其在原来的网络基础之上加入了超节 点( u l t r ap e e r ) 。所谓超节点就是具备强大处理能力和高带宽的节点。其特征与 我们下一小节将要介绍的f a s t t r a c k 网络非常类似。 2 2 2f a s tt r a c kp 2 p 网络 f a s t t r a c kn l t t p :w w w f a s t t r a c k n u 0p 2 p 网络是用于开发p 2 p 文件共享系统 的软件库,它支持元数据搜索。f a s tt r a c k 在g n u t e l l a 基础之上添加超级节点 ( s u p e rp e e r ) ,将网络中的节点分为超级节点和普通节点( o r d i n a r yp e 砷,使得 p 2 p 网络改变为一种两层结构,让搜索更加具有效率。所谓超级节点就是具备 强大处理能力、高带宽、大磁盘容量,并且自愿贡献自己的资源,缓存其他节 点的信息以提供更高效率的搜索。相比之下,普通节点不具备超级节点的能力, 它把自己所有的共享信息都上传到超级节点之上,所有的查询请求都将发送给 超级节点。这样,查询请求仪需广播至占网络节点数量一小部分的超级节点, 从而减少消耗带宽资源。 8 上海大学硕一 :学位论文 图2 3 :f a s tt r a c k 中,所有普通节点都连接至超级节点,查询请求仅在超级节 点内广播 该方法大大缓解了g n u t e l l a 所面临的可扩展性问题,因为查询请求仪仪在 很少数量的超级节点的范围内广播。然而,整个网络变得更加的依赖超级节点, 某个超级节点的失败可能会导致整个网络的失败。与g n u t e l l a 一样,其查询请 求在超级节点间仅仅在一定的t t l 范围内广播,同样不能提供数据检索的保证, 即在数据存在于网络内的情况下也不能保证该数据一定被搜索到。 2 2 3基于分布式哈希表的p 2 p 网络 基于分布式哈希表的p 2 p 网络( 如c a n ,c h o r d ) 使用分布式哈希表主要 来实现一个函数:l o o k u p ( k e y ) 。该函数能够计算出存储哈希键值k e y 的节点位 置。节点如果想共享某个文件,首先它需要将该文件名通过哈希函数( 如s h a 1 ) 转换为一个数字键值:然后调用l o o k u p ( k e y ) i 垂l 数来得到负责存储该键值的节点 位置,将文件发送至该节点。接下来如果有节点想要读取该文件,首先它必须 知道想要读取的文件名,将其转换为哈希键值,在通过l o o k u p ( k e y ) i g l 数来得到 负责存储该文件的节点的位置。在得到存储该文件的节点的位置以后,为了能 够将请求发送至目标节点,每个节点必须知道其他一些节点的位置信息,这些 9 上海大学硕上学位论文 信息被保存在节点的路由表中。图2 4 以c h o r d 为例解释了其跳跃式的路由 方式。 回 m 5 n 循 图2 4 :c h o r d 跳跃式的路由方式 从图中我们可以看出基于分布式哈希表的p 2 p 网络不需要依广播查询请求 的方式来搜索数据,其通过哈希键值的精确匹配来得到数据的具体存储位置。 但是我们知道,很相似的内容可能会有着全然不同的哈希键值,所以基于分布 式哈希表的p 2 p 网络仅仅适用于精确查找,即在查找某项数据之前必须明确知 道该数据的名字。近来,开发该类型p 2 p 网络的人员想方设法使该网络能够支 持更为复杂的查询,比如基于关键字的查询,模糊匹配等。但是基于分布式哈 希表的p 2 p 网络的本质决定了其不适合包含有多个元数据、基于关键字的查询, 所以对于我们的应用p ps c h o l a r 来说是一个不合适的p 2 p 网络。 2 2 4e d u t e l l a 项目 为了解决以前p 2 p 网络不支持复杂查询的缺点,e d u t e l l a 项目的开发者们将 其应用建立在w 3 c 元数据标准资源描述框架r d f 之上。该项目基于资源描述 框架和最近发布的j x t a 网络框架,实现了一个适用于元数据搜索的p 2 p 网络。 其目的是通过提供元数据服务来使得异构的j x t a 应用之间具有可互操作性。 1 0 上海大学硕士学位论文 图2 - 5 显示了j x t a 框架的网络架构 图2 - 5 :j x t a 的网络架构 因为e d u t e l l a 项目与我们提出的应用p p s c h o l a r 很相似,所以我们单独列出 - - d 节来介绍。据其开发者所言,e d u t e u a 未来的工作将集中在提高其网络的可 扩展性上,以及支持更多类型的节点,提供更多的服务【1 4 1 。 政够箩 上海大学硕上学位论文 3 1 概述 第三章p ps c h o l a r 的实现 我们在第一章中就谈到,要建立一个基于元数据的p 2 p 搜索引擎,必须要 解决两大难题,即信息源的异构性问题和如何构建p 2 p 网络的问题。所以,我 们的目标之一,就是解决信息源之间的异构性问题。为了解决这一问题,我们 使用j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 来实现对各种数据库的统一访问;同时, 我们以d u b l i nc o r e 作为我们的元数据模式的标准,通过将这一标准模式映射到 信息源本地的元数据模式来解决元数据模式的异构性问题。 解决了信息源的异构性问题之后,我们可以认为所有的信息源使用同一种 数据库和同一种元数据模式。本论文设计了一个类似s q l ( s t r u c t u r e dq u e r y l a n g u a g e ) 的查询语言d q l ( d u b l i n c o r eq u e r yl a n g u a g e ) ,将它作为一种公共查 询语言。p ps c h o l a r 网络中的所有节点都能理解这一公共语言,当一个查询请 求到达某一节点时,该节点使用本地数据库的查询设施( 比如关系数据库的s q l 查询接口) 来执行该查询,然后返回查询结果。 本论文的另一个目标就是设计p ps c h o l a r 的网络正如前面提到过,我们的 p ps c h o l a r 网络是基于g n u t e l l a 网络的。但为了减轻g n u t e l l a 的可扩展性问题, 我们作出了一些改进利用在g n u t e l l a 网络中发现的两种幂律分布,我们设计 了一个两层结构的p 2 p 网络。本论文将通过讨论来说明我们构建的网络更适合 学术文献检索这个应用。 1 2 上海大学硕十学位论文 应用层 p 2 p 网络层 元数据模式 映射层 数据库层 a p p l i c a t i o nf o rs c h o l a r l y l i t e r a t u r es e a r c h i n 2 回国国 图3 1 :p ps c h o l a r 的系统结构 图3 1 显示p ps c h o l a r 的系统结构。从图中可以看出,我们的应用分为四个 层。查询请求通过应用层来提交,然后通过p 2 p 网络层来路由至其他节点,在查 询请求到达其它节点之后,每一个节电的元数据模式映射层将这些查询请求翻 译为本地数据库的查询语言( 如s q l ) ,最后由数据库层来执行这些查询,并沿 原路返回结果。因为数据库层已经存在于信息源的服务器上,而应用层也只是 一个提交查询请求的入口,所以本论文将把研究集中在元数据模式映射层和p 2 p 网络层上。 3 2 元数据模式映射 d u b l i nc o r e 元数据元素集是由1 5 个元素( 如标题,描述,创作者,发布日期,出 版者,等等) 组成的集合,其可以用来描述几乎任何网络资源。d c m i ( d u b l i n c o r em e t a d a t ai n i t i a t i v e ) 注重各种资源的共性,而不是试图定义一个针对某一特 例的元数据标准【4 】。使用d u b l i nc o r e ,我们可以很容易地描述一篇”p d f 格 式的杂志文章”。在p ps c h o l a r 中,我们有必要使用d u b l i nc o r e 元数据标准来描 述学术文献。图3 2 的例子是一个以x m l 形式,采用d u b l i nc o r e 元数据来描 述一篇学术论文。 上海大学硕士学位论文 p ps c h o l a r :ap 2 pn e t w o r kf o rs c h o l a r l yl i t e r a t u r es e a r c h i n g x i a o j i ec h e n k e i i c h ik o y a n a g i i p s ,w a s e d au n i v e r s i t y h t t p :w w w w a s e d a j p p ps c h o l a r 图3 2 :通过x m l 来实现d u b l i nc o r e 的例子 在p ps c h o l a r 系统中,信息源使用不同的元数据模式来描述他们的资源一学 术文献。在知道他们所有的元数据模式之前,这些信息源都是毫无用处的。因 此,我们指定一个标准的元数据模式,所有的信息源都必须将此标准元数据模 式映射到其本地元数据模式上去,而不是去了解每个信息源的元数据模式。所 有的查询请求都将基于这个元数据标准;查询请求发送至每一个信息源,由这 些信息源负责执行。由于目前大部分的信息都储存在r d b m s ( 关系数据库管理 系统) 中,例如:o r a c l e ,m ss q ls e r v e r , d b 2 ,因此用于存储学术文献的表的表 模式就是保存较其本地数据模式。所以,我们可以提供一种设施,采用j d b c ( j a v a 数据库连接) 技术来支持不同种类的数据库,将d u b l i nc o r e 元数据模式映 射到信息源的本地元数据模式上。完成该映射过程之后,我们可以认为所有的 信息源都使用同一种数据库来存储信息,并且使用d u b l i nc o r e 元数据模式来描 述他们的文献信息,从而隐藏了信息源的异构性。 依照d u b l i nc o r e 的实现指南,一个元数据元素可以重复0 次或多次来描述 一个资源,所以我们指定,从d u b l i nc o r e 元数据模式到信息源本地的元数据模 式的映射规则为1 n ( n 妻o ) 。图3 3 显示了一个映射的例子。 1 4 上海大学硕十学位论文 d u b l i nc o r e c o n t l lb u t o r c o v e r a g e c r e a t o i - d a t e d e l s c l ip t i o n f o l 。m a t i d e n t i f i e l l a n g u a g e p u1 ) li s h e l r e l a t i o n r i g i i t s s o u r o e s u b j e c 七孑 t i t l e , iy p e l o c a i , ,t i t l e a u t h o f k e y w o r di k e y w oj d 2 k e y w o r d 3 a b s t r a c t 图3 3 :一个元数据模式的映射例子 在隐藏了信息源的异构性之后,我们指定了一种公共查询语言 - - d q l ( d u b l i nc o r eq u e r yl a n g u a g e ) 。它类似于s q l ,其语法就好像你在写一个 s q l 语句来查询本地数据库中一张以d u b l i nc o r e 元数据模式作为表模式的表。 元数据模式映射层负责将d q l 翻译为s q l ,并发送至本地数据库的s q l 接口执 行。图3 4 显示了基于图3 3 中的映射,将d q l 翻译为s q l 的一个例子。 l :海大学硕士学位论文 d q l s e l e c t 毒f r o md u b l i n c o r e w he r ec r e a t o rl i k e k e i a n ds u b j e c tl i k e p 2 p s e l e c t 宰f r o m t a b l e n a m e ” w he r ea u t h o rl i k e k e i s q la n d ( k e y w o r d ll i k e p2 p o r k e y w o r d 2l i k e p 2 p o rk e y w o r d 3l i k e p 2 p l 图3 4 :将d q l 翻译为s q l 3 3p ps c h o l a r 网络 我们在第二章曾经论述过,非结构化的p 2 p 网络能够更好的支持复杂查询。 所以我们倾向于采用该网络来实现我们的应用。g n u t e l l a 网络是非结构化网络 的先驱,它是一种纯p 2 p 的网络,每个节点都是平等的,但其因为采用广播来 发送查询请求的方式要消耗大量的带宽,在可扩展性方面表性较差。f a s tt r a c k 平台提出了一个有效解决此问题的方法,就是在其基础上添加超级节点,形成 一种层次化的网络化结构。此方法被当前流行的k a z a a 应用所采用。但是在我 们的应用中,节点是信息源的数据库,无论从技术上还是人为因素上,其都不 可能自己的信息都上传至超级节点。技术上来讲,数据库中可能包含上百万条 的纪录,而不是像k a z a a 中仪仅若干个共享文件的信息,上传这些记录需要耗 费大量的时间。人为因素上,信息源也不大可能会愿意让自己拥有的信息统统 上传至别人的节点上。 1 6 一卜海大学硕十学位论文 图3 5 :p ps c h o l a r 的网络架构 型节点 节点 图3 5 显示了p ps c h o l a r 的网络架构。和k a z a a 一样,它采用了两层架构, 但是我们把k a z a a 中的超级节点作了些改动,变成我们的学习型节点。在某种 程度上,学习型节点与超级节点是一样的,因为它们都负责处理其下属的普通 节点的所有进出的查询请求。区别在于,学习型节点通过在处理请求的过程中, 获得其下属普通节点的数据;而超级节点则需要其下属的普通节点提前将他们 自己的所有数据上传至超级节点。也就是说,超级节点拥有网络中所有的数据, 而学习型节点则只拥有部分数据。在处理查询请求时,学习型节点如果没有该 查询的数据,则它将会将查询请求下发至普通节点,在得到这个查询的结果数 据后,学习型节点将保存这一查询保存至自己的缓冲区内,以便在下次同一查 询请求到来时直接发送结果,其功能就类似一个网络代理一样( p r o x y ) 。 基于在g n u t e l l a 网络中发现的两种幂率分布,我们提出了如何选择学习型 节点和如何缓冲查询的算法。通过模拟实验,证明了我们提出的方法的有效性。 上海大学硕士学位论文 3 3 1 幂率分布 幂率分布出现在很多领域中,包括物理学、生物学、地理学、社会学、经 济学、语言学等等。幂率是被用来描述自然界中变量之间的衡定性的最出现频 率最高的规律之一【1 0 1 。 两个变量x 和y 之间的幂率可以被表述为少= 础;其中a 是系数常量,k 是幂率指数常量。如果在该公式两边取对数,则公式就变为 l o g ( y ) = k l o g ( x ) + l o g ( a ) ,其形式就是表述一条直线的公式,可简写为: y = 袱+ c 。 最近,大量的基于网络的研究表明,网络中也存在着很多幂率分布,如一 个网站的访问量,网站中网页的数量,网站中的网页数等等。而且在p 2 p 网络 中也存在着一些幂率分布,比如一个节点的连接数,g n u t e l l a 网络中一个查询 请求的频率等。 图3 6 :用户访问网站的线性分布图【1 0 1 t 海大学硕士学位论文 图3 7 :用户访问网站的分布图( 对数形式) 【1 0 1 图3 - 6 显示了1 9 9 7 年1 2 月的某一天,美国在线网络用户访问不同网站的分 布图【1 0 】。图中我们可以看出,少部分一些网站拥有高达2 0 0 0 个用户的访问 量,而大部分的网站却只有很少用户的访问量( 其中大约7 0 0 0 0 个网站甚至只 有一次的访问量) 。这种分布从图中反映出来就是一个l 型的曲线。图3 7 显示 了同样的分布,只是将该分布以对数的形式反映出来而已。 3 3 2如何构建学习型节点网络 g n u t e l l a 网络是唯一公开其网络拓补结构的p 2 p 网络。在g n u t e l l a 网络中, 节点的连接数遵循幂率分布,即网络中出度d 出现的频率厶与d 成正比,其中 k 是常量。这里出度d 的意思是一个节点保持的与其他节点的连接数,而频率以 的意思是拥有出度d 的节点数。这种幂率分布可表示为公式厶= 口d ,其中a 是系数常量。图3 - 8 显示了这种幂率分布的对数形式 9 1 。 1 9 卜海大学硕士学位论文 互 爱 警 旨 名 芝

温馨提示

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

评论

0/150

提交评论