您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第九章P2P数据管理系统
分布式数据库系统原理与应用第九章P2P数据管理系统第九章P2P数据管理系统主要内容P2P系统概述P2P系统的体系结构P2P系统中的数据管理资源的定位和路由处理语义异构查询处理与优化第九章P2P数据管理系统P2P模型(Peer-to-Peer模型,即对等计算模型)是一种新型的网络服务体系结构,是一种通过直接交换的方式来共享计算机资源和服务的互联网应用模式。P2P系统具有很多的优势:第一,P2P系统中的每一个成员具有平等的地位,可同时充当提供者和消费者两种角色。提供者可以向消费者提供共享的数据和计算资源(存储空间或者是空闲的CPU时间);第二,P2P系统具有很好的扩展性。系统成员可以动态地加入和退出P2P系统,增加了系统的灵活性以及内容的丰富性;第三,在P2P系统中,数据是分散存储的,克服了传统集中式数据存放方法所带来的性能瓶颈、单点失效等问题,提高了系统的效率,也增加了系统的可用性和可靠性。基本概念第九章P2P数据管理系统目前,基于P2P技术的应用是互联网上最为活跃的一个部分。统计数据表明,P2P应用所产生的网络流量已经占据了约75%的互联网总通信量。基于P2P技术的搜索引擎、文件共享机制、网络视频音频分发机制为全球用户提供了更多的资源、更高的带宽以及更好的服务质量。下面介绍几个常用的基于P2P技术的互联网服务:数据共享服务数据搜索及查询服务分布式协同计算服务数据存储服务流媒体传输服务基本概念第九章P2P数据管理系统数据共享服务早期出现的提供此类服务的系统有Napster和Gnutella,现在比较流行的是eMule和BitTorrent。使用者通过运行提供此类服务的软件加入数据共享网络,然后就可以直接从网络中已有的其它节点上下载感兴趣文件。与此同时,自己也可以为其它节点提供下载服务。整个系统中,数据被分布地存储在所有成员节点上,服务也由全部节点共同来担当。需要特别指出的是,虽然数据不是集中存储,但数据的目录信息可能集中存储,这有利于提高资源的定位效率。数据搜索及查询服务提供此类服务的系统有Infrasearch、Pointera等等,主要用来在P2P网络中完成信息检索。基于P2P网络的数据搜索与基于互联网中心服务器的数据搜索截然不同,必须要考虑P2P网络拓扑结构的动态性以及节点的异构性,不同节点所使用的软硬件平台以及数据语义也不一定相同。基本概念第九章P2P数据管理系统分布式协同计算服务如寻找外星人计划SETI@HOME。参加者把个人计算机上的空闲CPU时间贡献出来,去协同分析和计算来自于位于波多黎各的阿雷西博(Arecibo)射电望远镜观测到的数据,从而筛选出可能是地外生物发出的信号。相类似的项目还有寻找最大质数项目GIMPS和Google的共同搜索项目Folding@home。需要强调的是,在这些分布式协同计算应用中,都采用了一个集中式事务管理器来协调节点的行为,包括任务的分派、同步和结果汇总。数据存储服务如Microsoft公司的Farsite和加州大学的OceanStore等软件。数据在P2P网络上的分散化存放可以减轻服务器负担,增加数据的可靠性和分发速度。流媒体传输服务主要包括PPLive、CoolStreaming等软件所提供的视频音频文件分发服务,以及OICQ软件所提供的即时通信与文件传输服务、多人参与的计算机对弈游戏等。基本概念第九章P2P数据管理系统为了解决数据放置和检索所带来的巨大挑战,Gribble等人提出将数据库技术与P2P技术相结合,其中最重要的是在P2P系统中引入了数据模式的概念,出现了基于数据模式的P2P数据管理系统。有力地解决了不同节点之间的语义异构问题,提高了数据存储和查询的效率,并且能够支持复杂查询。总结来看,基于模式的P2P数据管理系统与分布式数据库之间会有很多的相似或相异点:(1)从网络拓扑结构上来看,分布式数据库中的节点相对稳定,通常以受控的方式加入或退出网络;而在P2P系统中,对等节点即兴地加入或离开网络,网络拓扑结构具有很强的动态性,每个节点的逻辑位置也可能改变;基本概念第九章P2P数据管理系统(2)从数据的分布性来看,分布式数据库和P2P系统都是将数据分布地存储到地理上分散的节点上,但是在分布式数据库系统中,全部数据首先是一个整体,有一个全部节点公认的全局模式,全局数据经过分片和分配被映射到了各个场地上存储起来,是一个全局与局部之间的映射关系,而且分布存储的数据之间依然要严格保证数据的一致性;而在P2P系统中,没有全局数据的概念,也不强制要求数据必须保持一致性;(3)从查询处理上来看,在分布式数据库中,存在一个全局的查询处理器,负责全局查询的分解和变换,同时还负责事务在不同节点上执行的协调工作,由于网络拓扑相对稳定,因此基于分布式数据库的查询操作可以检索到所有满足查询条件的元组;在P2P系统中,不存在协调全局的超级节点,查询从发起场地沿着某一路径转发,逐步定位查询结果。由于网络结构不稳定,因此通常不能检索到全部的满足查询条件的结果。查询结果的正确性和完整性极大地依赖于瞬间网络状态和语义映射。基本概念第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(1)集中式P2P网络在集中式P2P网络中,维护着一个全局的目录服务器,它负责记录节点的共享信息并回答对于这些信息的查询请求。提供者节点把共享信息发布到目录服务器上,消费者节点首先在目录服务器上查找所需资源的准确节点位置,然后连接节点完成数据交换。集中式P2P网络与传统的client/server模式下的集中式系统虽然有相似之处(都维护着一个中心服务器)但两者有着本质的区别:传统的集中式系统的中心服务器不仅保存资源的目录信息,更为关键的是保存全部的共享资源,客户端只能连接中心服务器并下载所需要的数据;而集中式P2P网络的中心服务器只保留共享信息的目录,所有共享信息依然保存在局部节点上。消费者节点在中心服务器上查找到资源提供者节点后,完成节点之间的连接,并进行数据交换。第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(1)集中式P2P网络第一代P2P网络均采用集中式结构,其中典型的代表是Napster。Napster是一种可以在网络中下载自己想要的MP3音乐文件的软件。安装了Napster系统的机器将成为一台服务器,可为其它用户提供音乐下载服务。Napster系统本身并不存储和提供MP3文件下载,它实际上提供的是整个网络中包含的MP3音乐文件“目录”,即MP3音乐文件的地址,这个目录存放在一个集中的服务器上,而MP3音乐文件本身则分布在网络中的每一台机器上。使用者在目录服务器上找到想要的MP3音乐文件的位置,然后到指定的位置完成下载。2002年,Napster由于违反了知识产权保护法而被迫关闭。第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(2)全分布的P2P网络集中式P2P网络虽然有利于内容查找,但位于系统中心的目录服务器依然是整个系统的瓶颈,而且依然存在着单点失效、负载不均衡、目录更新代价大等问题。第二代P2P网络则完全向全分布式方向发展,这也为内容的存储和查询提出了挑战。根据内容的组织方法来划分,有两种形式的全分布式P2P网络:结构化全分布式P2P网络非结构化全分布式P2P网络第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(2)全分布的P2P网络结构化全分布式P2P网络是一种维护节点之间在应用层上互联的组织方法。它按照一定的逻辑拓扑结构将系统中的节点互连起来,内容的存放也相对有序,通过路由消息实现系统中任意两个节点的互通。结构化的P2P网络比较适合于拓扑结构相对固定的应用环境。通常使用分布式哈希表(DHT)来实现文件到节点的映射。目前已有的结构化全分布式P2P网络有Pastry、Tapestry、Chord和CAN等。第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(2)全分布的P2P网络结构化全分布式P2P网络是一种维护节点之间在应用层上互联的组织方法。它按照一定的逻辑拓扑结构将系统中的节点互连起来,内容的存放也相对有序,通过路由消息实现系统中任意两个节点的互通。结构化的P2P网络比较适合于拓扑结构相对固定的应用环境。通常使用分布式哈希表(DHT)来实现文件到节点的映射。目前已有的结构化全分布式P2P网络有Pastry、Tapestry、Chord和CAN等。第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(2)全分布的P2P网络在非结构化全分布式P2P网络中,节点通过一些松散的规则组织在一起,文件也是随机存放的。非结构化P2P网络扩展性和容错性较好,但是它采用应用层的广播协议,消息量过大,网络负担过重,节点无法得知整个网络的拓扑结构或组成网络的其它对等节点的信息。新节点加入网络时,系统必须向这个对等节点提供一个对等节点的列表,但P2P网络的强动态性,即节点可随时加入和退出,限制了这个对等节点列表的有效性。Gnutella是应用最为广泛的非结构化P2P网络。它没有所谓的中心索引服务器,不需要在目录服务器上注册共享信息。当对等节点进行查询的时候,查询请求通过flooding方式广播发送给直接相连的邻居,并由近及远依次转发直到收到响应,或者达到了最大的泛洪步数。第九章P2P数据管理系统P2P系统的体系结构P2P系统的体系结构分为三种:集中式、分布式和混合式。(3)混合型的P2P网络在混合型的P2P网络中,节点以簇的形式组织,某些具有较高性能(如计算能力、存储容量和通信带宽)的节点被选择担当簇头节点,簇内节点把共享信息的目录发布到簇头节点上,簇头节点负责进行搜索和查询处理。普通节点加入网络后,可以选择多个簇头节点作为它的父亲节点,得到簇头节点的允许后,该节点加入簇头节点所领导的域,并把自己共享资源的目录发布到簇头节点上。簇头节点向查询提供匹配的资源所在的地址,而不是资源本身。如果在本领域不能找到与查询匹配的资源,查询将被转发给其它的簇头节点。Peer节点Peer节点Peer节点图9.3混合型P2P系统Peer节点Peer节点Peer节点Peer节点Peer节点簇头Peer节点查询结果簇头Peer节点簇头Peer节点簇头Peer节点Peer节点Peer节点Peer节点Peer节点……………………领域一领域二领域四领域三第九章P2P数据管理系统P2P系统中的数据管理核心问题包括:数据的存储策略、索引的构造策略、语义异构性的调整策略和查询传播与查询处理策略。P2P数据管理的性能指标有:可扩展性:即允许节点自由地加入和离开网络,查询处理的性能不能过分依赖网络规模,不能因为网络规模扩大而显著下降;自治性:P2P节点在系统结构、软件与功能配置,通信方式上均有很强的自治性,查询处理算法应当充分尊重节点的自治性;健壮性:对故障的健壮性和对攻击的健壮性,在面临节点故障、离开、攻击时,系统应该保持可用性、保持一定的服务质量和效率;支持语义异构:peer节点各自使用自己的数据模式来表达和组织数据。为了节点之间的数据交换,需要解决语义异构问题。查询处理能力:P2P网络中的查询处理涉及到数据存储、语义异构、索引组织、查询请求分发和结果汇聚等方面。查询的准确性、查全性、响应时间和通信量是表现P2P系统查询处理能力的重要指标。第九章P2P数据管理系统资源的定位和路由在P2P网络中进行信息检索,第一步是要进行资源定位。目前主要有两种P2P资源定位策略:面向非结构化P2P网络的资源定位方法;面向结构化P2P网络的资源定位方法;第九章P2P数据管理系统资源的定位和路由面向非结构化P2P网络的资源定位方法在非结构化P2P网络中,节点没有相对固定的逻辑地址,采用随机的方法或者启发式的方法加入网络,网络拓扑随着节
本文标题:第九章P2P数据管理系统
链接地址:https://www.777doc.com/doc-1609886 .html