网站大量收购独家精品文档,联系QQ:2885784924

基于JXTA分布式存储系统设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JXTA分布式存储系统设计

基于JXTA分布式存储系统设计    [摘要] 使用基于JXTA平台的P2P分布式体系结构,采用Chord环路作为网络的拓扑结构,节点ID和文件ID的生成则通过使用某种HASH算法如MD5,SHA等,设计了一个高可扩展、高可靠、高性能的分布式存储系统。   [关键词] P2P Chord JXTA 分布式存储系统      一、引言   由于计算机通信技术的高速发展,网络上的信息资源越来越多,访问量也越来越大,基于传统的集中式存储方式已经不能满足用户的需要。随着P2P技术的发展,基于P2P的分布式存储系统也相应地得到了快速发展。目前,已经有很多比较成熟的P2P分布式文件存储系统,其中最典型的有:Napster、OceanStore、Past、Chord等文件存储系统。这些系统的基本思想是将数据存储、访问与固定的位置分离开来,通过P2P网络将Internet上零散的计算机连接起来,整合这些计算机上的空闲存储资源,构建出一个高可扩展、高可靠、高性能的分布式存储系统。   二、相关技术   1.Chord简介   Chord在2001年由麻省理工学院提出,其核心思想就是要解决如何在P2P网络中找到存有特定数据的节点。Chord协议中其规定使用的散列算法为SHA-1,并在此基础上提供了优化的路由算法。   在Chord中,每个节点需要存储m个其他节点的信息,这些信息的集合被称为查询表。表格中的节点不是直接相邻的节点,它们的间距(ID间隔)将成2k的关系排列(k表示表中的数组下标)。这样形成的节点之间路由关系实际上就是折半查找算法需要的排列关系。在查询的过程中,查询节点将请求发送到与键值最接近的节点上。收到查询请求的节点如果发现自身存储了被查询的信息,可以直接回应查询节点;如果被查询的信息不在本地,就根据查询表将请求转发到与键值最接近的节点上。这样的过程一直持续到找到相应的节点为止,查询过程实际上就是折半查找的过程。   2.JXTA简介   JXTA是Sun微系统对等网络的标准,以它来促进和探究分布式计算的新方法。JXTA具体来说是一种标准组件平台,它提供了用于开发分布式服务和应用程序的基本组件。整套技术由一组开放源码的P2P协议组成,这组协议使网络上任何连接着的计算设备的协作变为可能。使用这些协议,节点可以互相合作来建立自我组织、自我管理的对等组,而不必关心它们在网络中所处的位置(在网络边缘或者防火墙的后面),并且也不需要集中的管理机构。   JXTA体系结构由三层组成。应用层(Applications)包括了应用JXTA服务开发出来的完整的P2P应用程序。比如,P2P及时消息、文件和资源共享、P2P电子邮件系统、分布式存储系统等。服务层(Services)包含一些网络服务,提供了P2P网络通用的功能,如查找、共享等机制、协议转换等。核心层(JXTA Core)封装了P2P网络最基本的要素,包含了服务所需要的核心功能,包括对等体、对等组、对等体发现和相关的安全原语。   三、系统设计   系统采用JXTA平台进行P2P的设计开发,以Chord环路作为网络的拓扑结构,节点ID和文件ID的生成则通过使用某种HASH算法如MD5,SHA等,文件的存储与下载则使用CMS来管理。   1.节点加入与离开   Jxta为发现对等节点、对等组和其他信息提供了一个异步机制,所发布的关于对等节点或对等组的信息被称为通告,节点正是通过搜寻相应的通告来发现它所需要的资源。当节点X希望加入JXTA网络时,首先,查找某个对等组内的通告,发送加入请求,组内其他节点收到该请求后做出响应。节点与第一个发出响应的节点Y通话,以便初始话本地节点查询表(finger table)、跟新其他节点查询表及转移关键字信息。   新节点X以x+2i-1 (l≤i≤m)为消息key值向Y发出请求,查找消息的Successor节点和查询表(finger table)项,以此填充自己的查询表(finger table)项。当新节点完成了自己的路由信息组建之后,通知其他相关节点自己的加入,以逆时针的方向递归地通知相关节点更新自己的路由信息。最后,其他节点将所有键值归属于X的关键字(即后继节点是X的关键字)转移到节点X上。当节点加入时首先通过哈希函数产生节点ID,然后找到ID 相邻的两个节点作为此节点的前驱和后继节点,系统中每个节点都保留其邻近的前驱和后继节点信息。当节点退出时,此节点的前驱节点需将其后继更新为退出节点的后继节点。   2.系统通信   系统采用Java事件处理机制和Jxta自身的管道通信机制,实现了异步线程的节点通信功能。在这种通信机制下,节点可以接收单播和多播请求并做出响应。在管道消息到来之前,每个节点需要安装侦听器来处理来自其

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档