主页
软件技术
返回
基于P2P的协同软件技术研究

         对等(P2P)网络与传统的客户机/服务器或多层服务器网络不同,对等网络中的对等机是彼此直接通信的,而且无需依赖集中式服务器或资源就可以完成彼此之间的交互操作,实现信息共享。P2P体系结构通过创建有潜力、非常高的可用性和容错能力的计算资源网络,使真正的分布式计算成为可能。本文在JXTA的基础上,分析了P2P在协同软件开发中的作用。

        计算机技术的发展把人类社会带入了信息化时代,随着信息化进程的深人,通信技术与计算机及其网络技术的融合,产生了一个新的研究领域——计算机支持的协同工作CSCW(Computer Supported Cooperative Work),简称计算机协同工作。作为一门学科,CSCW是1986年9月在美国德克萨斯州召开的第一届CSCW国际会议上被确定下来的。那么,什么是CSCW呢?现在比较一致的观点是:在计算机技术支持的环境中(即CS),一个群体协同工作完成一项共同的任务(即CW)。它的目标是设计支持各种各样的协同工作的应用系统。开放系统互连环境、协同工作支撑平台和工具、协同工作人机接口三方面称为一个协同工作开发环境。其中协同工作支撑平台和工具(也就是平常所说的协同软件技术)是由CSCW系统开发者根据需求确定协同工作模型和机制,选取或开发某些工具构成协同工作的支撑平台,为各种CSCW应用系统的开发提供一些通用的服务,以使开发者将他们的主要工作放在满足特定应用系统的需求上,而不要把大量的精力花费在那些具有共同特点、同时也是比较难以处理的问题上。这个问题已受到越来越多的重视,不同系统,不同网络环境下的协同需求越来越迫切,现在急需一种可靠,可扩展,独立于各种平台和网络环境的软件技术来满足这种要求。

        1 分布式计算中的新形式:P2P

        在过去许多年中,网络应用程序都构建在一个分层结构中,比如C/S结构和B/S结构。这样的应用必须在网络内设置一个服务器,信息或是先集中上传到服务器保存,然后再分别下载(如网站)。或是信息按服务器上专有规则(软件)处理后才可以在网络上传递流动(如邮件)。此方式要在互联网上设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且要安装多样化的服务软件。而P2P根本的思想,同时也是它与C/S和B/S最根本的区别在于网络中的节点在使用其他节点资源的同时又是资源或服务的提供者,兼具client和server的双重身份。P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。通过创建有潜力展示非常高的可用性和容错能力的计算资源网络,P2P体系结构使真正的分布式计算成为可能。P2P的技术特性如下:

        (1)既是S又是C,如何表现取决于用户的要求,网络应用由使用者自由驱动。

        (2)信息在网络设备间直接流动,高速及时,降低中转服务成本。

        (3)构成网络设备互动的基础和应用。

        (4)在使网络信息分散化的同时,相同特性的P2P设备可以构成存在于互联网这张大网中的子网,使信息按新方式又一次集中。

        如今P2P技术在企业协同、企业门户、P2P群集和VPN、人机远程互动和机机互动、宽带网及无线移动网应用等方面有着巨大的潜力。不难发现,这些也是CSCW应用的重要领域。所以研究P2P的实现技术,对于开发高质量的协同软件来支持企业内和企业间的协同工作具有重要意义。

        2 Jxta使P2P能进行交互式操作

        传统的P2P应用程序都是由单独的开发商开发,使用了特定的平台及其技术,针对特殊的需要来建立的,比如现在非常出名的软件Napster用来音乐文件交换、Gnutella用来普通文件交换。由于不同的网络服务的特性和缺少一个共同的底层基础,每一个都使用不兼容的技术使它的用户同别的P2P通信相隔离。开发商们为了新建一个P2P应用,不得不重复大量的工作。Jxta的出现,就是为了解决P2P网络间的交互式操作问题。Jxta是由SUN公司推出的一组开放的通用P2P协议,它允许任何接入网络的设备作为对等点进行通信和协同工作,如移动电话、PDA、PC机、服务器等。JXTA技术使各家公司可以将精力集中在开发资源上,从而在相应的领域为企业和客户创建并部署新的解决方案,而不是开发或重新开发P2P基础设施。

         2.1 Jxta的设计思想

        Jxta的主要目标是使用一组协议,每一个协议都可以很容易的实现和集成到P2P服务和应用中,这样,不同的P2P系统之间可以方便的互相通信,协同工作,向对方提供服务。Jxta工程的组件是认真设计分工的产物,它们为泛型P2P网络提供最小需求,去除了所有特定于策略的逻辑和组件。这样,就仅剩下几乎所有的应用程序都能使用的构件要素,不用考虑目标用户和特定实现。因为Jxta组件没有强加一些不必要的策略,也没有硬性规定特定的应用操作模型,所以使得简单地构造P2P应用成为可能,也更方便。

         2.2 Jxta的特性

        (1)协同性。Jxta使得对等点能提供多种P2P服务,用于对等点之间的相互通信。
        (2)平台独立性。Jxta独立于编程语言、传输协议和开发平台。
        (3)通用性。Jxta允许任何数字设备接入,而不仅仅局限于PC机或某一特定平台。
        Jxta的这些特性为P2P准备了一个交互操作的基础构造。


家庭完全装修手册》之《验收篇>>1
怎么挑选毛巾:光摸摸还不够 教你如何选毛巾
家庭装修材料全攻略
试析锅炉水垢形成及其危害
有梦想的追求才能铸就伟大的事业
家装预算装修公式
建筑工程混凝土裂缝成因分析
浅谈家居装饰装修施工
信息发布:名易软件http://www.myidp.net