论文部分内容阅读
摘要:分布式计算是研究如何利用网络上大量的闲置计算资源来解决大型计算问题的一种计算科学。文中介绍了分布式计算的工作原理,包括中间件技术、网格技术、移动Agent技术、Web Service等在内的几种典型的分布式计算技术。
关键词:分布式计算;中间件;网格;移动Agent;Web Service
中图分类号: TP393文献标识码:B文章编号:1009-3044(2008)20-30283-02
Analysis on Client-server Computing’s some Technology
MA Wei
(Qinhuangdao Institute of Technology, Qinhuangdao066004,China)
Abstract: Client-server computing is a kind of count science. It makes use of a great deal of leave unused count resource in network to solve big count problems. This paper introduced Client-server computing principle and a few typical technology , including Middleware, GRID technology, mobile Agent, web service and so on.
Key words: Client-server computing; Middleware; GRID; mobile Agent; web Service
1 概述
分布式计算通过有效的调动网络上成千上万台计算机中CPU的闲置处理资源及存储资源,来组成一台虚拟的超级计算机,为超大规模的计算事务提供强大的计算能力。一些有名的分布式计算项目如今已经使用了分布于世界各地的大量志愿机的计算能力,如GIMPS、RC-72、United Devices、SETI@Home等,并不断有越来越多的志愿者了解并积极加入到这一行列中来。随着Internet的迅速发展和普及,分布式计算已成为网络发展的主流趋势。但是,现有的分布式计算技术都存在着一些没有解决的问题,从而也影响了分布式计算技术的使用。
2 分布式计算技术的工作原理
分布式网络体系结构是以C/S结构为基础的三层或多层分布式对象体系结构,通常由安装了超轻量软件代理的客户端系统和专用分布式计算管理服务器组成。在一个志愿机申请加入分布式计算的行列时,即会下载一个客户端软件到本地,在安装完毕后就成为此项分布式计算项目的客户端系统。专用服务器负责将大型计算问题划分成若干个小的计算片段,同时序探测可用客户端状况,当代理程序检测到某客户端处于空闲时,就会通知管理服务器将此客户端加入运算行列,然后发送计算请求。客户端系统接收到服务器发送的计算请求后,就会在机器的空闲时间里运行该程序进行计算,并且将计算结果返回给管理服务器。计算过程会以屏保程序或后台运行的方式执行,不会影响用户的正常操作,当客户端需要运行本地应用程序的时候,CPU的控制权会立即返回给本地用户, 而分布式计算的应用程序也会中止运行。如果客户端在超过一定时限仍未返回计算结果时,管理服务器会将该计算请求转给其它空闲客户端进行。
3 几种典型的分布式计算技术
3.1 中间件
中间件是分布式系统中介于操作系统(或网络协议)与分布式应用之间的基础软件,它能够屏蔽环境底层的复杂性,使应用系统相对独立于计算机软硬件平台,帮助用户灵活、高效的开发和集成复杂的应用软件。基于中间件的分布式计算技术以中间件为桥梁,通过把数据转移到计算之处的计算方式,把网络系统的所有组件集成为一个连贯的可操作的异构系统,从而达到网络“透明”的目的。
中间件发展极其迅速,是发展最快的软件产品,但在技术上还处于成长阶段,还缺乏完全统一的标准和模型,通常用C++语言以面向对象的技术来实现的,但是它的特性已超出面向对象的表达能力,目前趋向于用构件技术来实现。中间件产品的类别包括消息中间件(MOM :Message-Oriented Middleware)、数据库中间件(Database Middleware)、远程过程调用中间件(RPC :Remote Process Call)、对象请求代理中间件(ORB :Object Request Broker)和事务处理中间件(TP Monitor:Transaction Process Monitor)等。
3.1.1 CORBA技术规范
CORBA是 OMG 组织在 1991 年提出的公用对象请求代理程序结构技术规范,是最早出现的分布式对象计算模型,其核心是一套标准的语言、接口和协议,由OMG 接口描述语言( OMG Interface Definition Language, OMG IDL )、对象请求代理( Object Request Broker, ORB )和 IIOP 标准协议( Internet Inter-ORB Protocol )3个关键模块组成。 CORBA 的主要目标是实现分布异构环境中对象之间的透明请求调用,解决面向对象的异构应用之间的互操作问题,并提供分布式计算所需的一些其它服务。
3.1.2 EJB技术规范
EJB ( Enterprise Java Beans )是 J2EE 的核心技术之一,它是一種基于 Java 的服务器端的软件组件模型,包含了EJB服务器、EJB容器、Home接口、Remtoe接口等。EJB不局限于一种特定的操作系统,也不局限于任何一种特别的机构、服务器解决方案、中间件或通信协议,具有高度可移植性、平台独立性的特点,简化了分布式对象的开发、部署和访问,另外为了支持Java 语言在分布式计算环境中的使用,EJB 新标准中还引入了其它特性,使得Java 语言在基于CORBA 的体系结构中也能够很好地应用。
3.1.3 DCOM技术规范
DCOM (Distributed Compontent Object Model)是微软公司与其他厂商合作提出的一种分布组件对象模型, 是微软的COM (Component Object Model) 的一个分布式的扩充,在COM 技术的基础上,添加了处理底层的网络协议细节,主要是对位于Internet不同环境中的分布对象提供交互的标准。大多数运行着32位版本Windows 的个人电脑都或多或少地使用了内建的DCOM 支持,使得在Windows 环境下DCOM成为一个分布式对象标准的强有力的竞争者。
3.2 网格技术
网格( GRID )是通过Internet将分布在不同地理位置的计算机软硬件资源连结成为一个巨大的整体,从而提供一种高性能计算、管理及服务的能力。网格计算建立的是一种新型的Internet基础支撑结构,目标是将与Internet互联的计算机设施社会化。随着互连网的迅速发展和普及,网格技术发展迅速,网格计算无疑是分布式计算技术通向计算时代的一个非常重要的里程碑。
目前,各种网格系统的公共体系结构都包括:资源层、中间件层和应用层。
(1)网格资源层:它是网格系统的硬件基础。包括Internet上分布的各种计算资源,这些计算资源通过网络设备连接起来。
(2)网格中间件层:它是一系列工具和协议软件。其功能是屏蔽网格资源层中分布、异构的计算资源特性,向网格应用层提供透明、一致的接口。
(3)网格应用层:它是用户需求的具体体现。在网格操作系统的平台上,提供系统能接受的语言、Web 服务接口、二次开发环境和工具,并可配置支持工程应用、数据库访问的软件等。
3.3 移动Agent技术
软件Agent是一个具有自主性、社会能力、反应性和能动性等性质的基于硬件或( 更经常的)基于软件的计算机系统,而移动Agent是其中一类特殊的对象,是软件Agent技术与分布式计算技术相结合的产物,它除了具有软件Agent 的基本特性外,还具有本身最大的特点--移动性,即它可以在异构的软硬件网络环境中自由移动,因此这种模式能够有效地降低分布式计算中的网络负载、提高通信效率、动态适应变化的网络环境,并具有很好的安全性和容错能力。目前,移动Agent 的研究已取得了一些成就,产生了包括Open Group 公司的MOA 、Stuttgar大学的Mole、Ochanomizu 大学的MobileSpaces等在内的大量的移动Agent 系统,但相应的移动Agent技术还都很不成熟,存在着各种各样的缺陷。
3.4 Web Service技术
Web Service是近几年产生的一种新的分布式计算技术,是对Web 进行扩展,为相互间连接的软件提供服务,其主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层, 各种不同平台之上的应用依靠这个技术来实施彼此的连接和集成。Web Service目前还没有一个统一的定义,典型的有:国际标准化组织W3C 的定义是:Web Service是一个通过URL 识别的软件应用程序,其界面及绑定能用XML 文档来定义、描述和发现,并且基于Internet协议上的消息传递,使用X M L 支持和其它软件应用程序的直接交互;IBM 公司的定义是:Web Services是自包容的、模块化的应用,它们能在一个网络上被描述、发布、查找和调用,一般是在Web 上。
Web Service被普遍认为是下一代分布式系统开发的模型,主要是因为它在Internet 上表现出来的高度扩展性,由于Web Service技术是跨平台的,联接非常松散,采用的是性能稳定的、基于消息的异步技术,在改变任何一端接口的情况下,应用程序仍可以不受影响地工作。它为集成分布式应用中的中间件及其它组件提供了一个公共的框架,无须再考虑每一个组件的具体实现方式。这项技术目前得到了工业界的广泛支持,许多大型的计算机厂商已推出了支持Web Service开发的集成环境 。还有许多如路由、可靠性以及事务等方面的更高层的协议有待进一步的开发。
4 发展前景
分布式计算技术是计算机网络的产物,也是计算机网络应用未来的发展方向,目前,各个国家对分布式计算技术的研究规模都在不断的扩大。如何更好的组织和使用分布在Internet上巨大的、潜在的资源是人们所关注的,而要创建大型的、松散的、健壮的分布式系统除了各种资源本身的技术和管理之外,关键的因素是标准的建立,从底层信号的传输到复杂业务的流程等各種不同的层次都要形成统一的标准。打破单个技术局限性,将多种现有分布式计算技术进行有机的整合,吸取所有技术的优点,合理地解决分布式计算的需求,是分布式计算技术研究发展的方向。
参考文献:
[1] 周晓峰,王志坚.分布式计算技术综述[J].计算机时代.2004(12).
[2] 王柏,王红熳,邹华.分布计算环境[M].北京邮电大学出版社,2000.
[3] 胡道元.计算机网络(高级)[M].清华大学出版社,1999.
[4] 蒋雄伟,马范援.中间件与分布式计算[J].计算机应用, 2002:4.
[5] 王怀民,吴泉源.基于Agent的分布计算环境[J].计算机学报,1996:3.
[6] John Charles.Middleware Moves to the Forefront[J].IEEE Computer,1999:5.
关键词:分布式计算;中间件;网格;移动Agent;Web Service
中图分类号: TP393文献标识码:B文章编号:1009-3044(2008)20-30283-02
Analysis on Client-server Computing’s some Technology
MA Wei
(Qinhuangdao Institute of Technology, Qinhuangdao066004,China)
Abstract: Client-server computing is a kind of count science. It makes use of a great deal of leave unused count resource in network to solve big count problems. This paper introduced Client-server computing principle and a few typical technology , including Middleware, GRID technology, mobile Agent, web service and so on.
Key words: Client-server computing; Middleware; GRID; mobile Agent; web Service
1 概述
分布式计算通过有效的调动网络上成千上万台计算机中CPU的闲置处理资源及存储资源,来组成一台虚拟的超级计算机,为超大规模的计算事务提供强大的计算能力。一些有名的分布式计算项目如今已经使用了分布于世界各地的大量志愿机的计算能力,如GIMPS、RC-72、United Devices、SETI@Home等,并不断有越来越多的志愿者了解并积极加入到这一行列中来。随着Internet的迅速发展和普及,分布式计算已成为网络发展的主流趋势。但是,现有的分布式计算技术都存在着一些没有解决的问题,从而也影响了分布式计算技术的使用。
2 分布式计算技术的工作原理
分布式网络体系结构是以C/S结构为基础的三层或多层分布式对象体系结构,通常由安装了超轻量软件代理的客户端系统和专用分布式计算管理服务器组成。在一个志愿机申请加入分布式计算的行列时,即会下载一个客户端软件到本地,在安装完毕后就成为此项分布式计算项目的客户端系统。专用服务器负责将大型计算问题划分成若干个小的计算片段,同时序探测可用客户端状况,当代理程序检测到某客户端处于空闲时,就会通知管理服务器将此客户端加入运算行列,然后发送计算请求。客户端系统接收到服务器发送的计算请求后,就会在机器的空闲时间里运行该程序进行计算,并且将计算结果返回给管理服务器。计算过程会以屏保程序或后台运行的方式执行,不会影响用户的正常操作,当客户端需要运行本地应用程序的时候,CPU的控制权会立即返回给本地用户, 而分布式计算的应用程序也会中止运行。如果客户端在超过一定时限仍未返回计算结果时,管理服务器会将该计算请求转给其它空闲客户端进行。
3 几种典型的分布式计算技术
3.1 中间件
中间件是分布式系统中介于操作系统(或网络协议)与分布式应用之间的基础软件,它能够屏蔽环境底层的复杂性,使应用系统相对独立于计算机软硬件平台,帮助用户灵活、高效的开发和集成复杂的应用软件。基于中间件的分布式计算技术以中间件为桥梁,通过把数据转移到计算之处的计算方式,把网络系统的所有组件集成为一个连贯的可操作的异构系统,从而达到网络“透明”的目的。
中间件发展极其迅速,是发展最快的软件产品,但在技术上还处于成长阶段,还缺乏完全统一的标准和模型,通常用C++语言以面向对象的技术来实现的,但是它的特性已超出面向对象的表达能力,目前趋向于用构件技术来实现。中间件产品的类别包括消息中间件(MOM :Message-Oriented Middleware)、数据库中间件(Database Middleware)、远程过程调用中间件(RPC :Remote Process Call)、对象请求代理中间件(ORB :Object Request Broker)和事务处理中间件(TP Monitor:Transaction Process Monitor)等。
3.1.1 CORBA技术规范
CORBA是 OMG 组织在 1991 年提出的公用对象请求代理程序结构技术规范,是最早出现的分布式对象计算模型,其核心是一套标准的语言、接口和协议,由OMG 接口描述语言( OMG Interface Definition Language, OMG IDL )、对象请求代理( Object Request Broker, ORB )和 IIOP 标准协议( Internet Inter-ORB Protocol )3个关键模块组成。 CORBA 的主要目标是实现分布异构环境中对象之间的透明请求调用,解决面向对象的异构应用之间的互操作问题,并提供分布式计算所需的一些其它服务。
3.1.2 EJB技术规范
EJB ( Enterprise Java Beans )是 J2EE 的核心技术之一,它是一種基于 Java 的服务器端的软件组件模型,包含了EJB服务器、EJB容器、Home接口、Remtoe接口等。EJB不局限于一种特定的操作系统,也不局限于任何一种特别的机构、服务器解决方案、中间件或通信协议,具有高度可移植性、平台独立性的特点,简化了分布式对象的开发、部署和访问,另外为了支持Java 语言在分布式计算环境中的使用,EJB 新标准中还引入了其它特性,使得Java 语言在基于CORBA 的体系结构中也能够很好地应用。
3.1.3 DCOM技术规范
DCOM (Distributed Compontent Object Model)是微软公司与其他厂商合作提出的一种分布组件对象模型, 是微软的COM (Component Object Model) 的一个分布式的扩充,在COM 技术的基础上,添加了处理底层的网络协议细节,主要是对位于Internet不同环境中的分布对象提供交互的标准。大多数运行着32位版本Windows 的个人电脑都或多或少地使用了内建的DCOM 支持,使得在Windows 环境下DCOM成为一个分布式对象标准的强有力的竞争者。
3.2 网格技术
网格( GRID )是通过Internet将分布在不同地理位置的计算机软硬件资源连结成为一个巨大的整体,从而提供一种高性能计算、管理及服务的能力。网格计算建立的是一种新型的Internet基础支撑结构,目标是将与Internet互联的计算机设施社会化。随着互连网的迅速发展和普及,网格技术发展迅速,网格计算无疑是分布式计算技术通向计算时代的一个非常重要的里程碑。
目前,各种网格系统的公共体系结构都包括:资源层、中间件层和应用层。
(1)网格资源层:它是网格系统的硬件基础。包括Internet上分布的各种计算资源,这些计算资源通过网络设备连接起来。
(2)网格中间件层:它是一系列工具和协议软件。其功能是屏蔽网格资源层中分布、异构的计算资源特性,向网格应用层提供透明、一致的接口。
(3)网格应用层:它是用户需求的具体体现。在网格操作系统的平台上,提供系统能接受的语言、Web 服务接口、二次开发环境和工具,并可配置支持工程应用、数据库访问的软件等。
3.3 移动Agent技术
软件Agent是一个具有自主性、社会能力、反应性和能动性等性质的基于硬件或( 更经常的)基于软件的计算机系统,而移动Agent是其中一类特殊的对象,是软件Agent技术与分布式计算技术相结合的产物,它除了具有软件Agent 的基本特性外,还具有本身最大的特点--移动性,即它可以在异构的软硬件网络环境中自由移动,因此这种模式能够有效地降低分布式计算中的网络负载、提高通信效率、动态适应变化的网络环境,并具有很好的安全性和容错能力。目前,移动Agent 的研究已取得了一些成就,产生了包括Open Group 公司的MOA 、Stuttgar大学的Mole、Ochanomizu 大学的MobileSpaces等在内的大量的移动Agent 系统,但相应的移动Agent技术还都很不成熟,存在着各种各样的缺陷。
3.4 Web Service技术
Web Service是近几年产生的一种新的分布式计算技术,是对Web 进行扩展,为相互间连接的软件提供服务,其主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层, 各种不同平台之上的应用依靠这个技术来实施彼此的连接和集成。Web Service目前还没有一个统一的定义,典型的有:国际标准化组织W3C 的定义是:Web Service是一个通过URL 识别的软件应用程序,其界面及绑定能用XML 文档来定义、描述和发现,并且基于Internet协议上的消息传递,使用X M L 支持和其它软件应用程序的直接交互;IBM 公司的定义是:Web Services是自包容的、模块化的应用,它们能在一个网络上被描述、发布、查找和调用,一般是在Web 上。
Web Service被普遍认为是下一代分布式系统开发的模型,主要是因为它在Internet 上表现出来的高度扩展性,由于Web Service技术是跨平台的,联接非常松散,采用的是性能稳定的、基于消息的异步技术,在改变任何一端接口的情况下,应用程序仍可以不受影响地工作。它为集成分布式应用中的中间件及其它组件提供了一个公共的框架,无须再考虑每一个组件的具体实现方式。这项技术目前得到了工业界的广泛支持,许多大型的计算机厂商已推出了支持Web Service开发的集成环境 。还有许多如路由、可靠性以及事务等方面的更高层的协议有待进一步的开发。
4 发展前景
分布式计算技术是计算机网络的产物,也是计算机网络应用未来的发展方向,目前,各个国家对分布式计算技术的研究规模都在不断的扩大。如何更好的组织和使用分布在Internet上巨大的、潜在的资源是人们所关注的,而要创建大型的、松散的、健壮的分布式系统除了各种资源本身的技术和管理之外,关键的因素是标准的建立,从底层信号的传输到复杂业务的流程等各種不同的层次都要形成统一的标准。打破单个技术局限性,将多种现有分布式计算技术进行有机的整合,吸取所有技术的优点,合理地解决分布式计算的需求,是分布式计算技术研究发展的方向。
参考文献:
[1] 周晓峰,王志坚.分布式计算技术综述[J].计算机时代.2004(12).
[2] 王柏,王红熳,邹华.分布计算环境[M].北京邮电大学出版社,2000.
[3] 胡道元.计算机网络(高级)[M].清华大学出版社,1999.
[4] 蒋雄伟,马范援.中间件与分布式计算[J].计算机应用, 2002:4.
[5] 王怀民,吴泉源.基于Agent的分布计算环境[J].计算机学报,1996:3.
[6] John Charles.Middleware Moves to the Forefront[J].IEEE Computer,1999:5.