首页 百科知识 分布式结构

分布式结构

时间:2022-10-22 百科知识 版权反馈
【摘要】:客户/服务器模式是一种简化版的分布式结构,浏览器/服务器模式则属于一种典型的分布式结构。随着信息量的增加信息的分布也越多,数字博物馆的建设必须考虑分布式环境下的信息利用与共享问题。MOM利用高效可靠的消息传递机制进行独立于平台的数据交流,可基于数据通信与分布式系统进行集成。
分布式结构_数字博物馆研究

分布式是指将业务处理部署在不同机器或平台上,这些机器或平台通过网络连接进行共同工作。这样的结构模式就属于分布式结构。客户/服务器模式是一种简化版的分布式结构,浏览器/服务器模式则属于一种典型的分布式结构。随着信息量的增加信息的分布也越多,数字博物馆的建设必须考虑分布式环境下的信息利用与共享问题。计算机界对于分布式结构的研究不断成熟和深入,主要通过中间件(M iddle ware)来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够顺利运行在不同平台上,从而顺利解决分布式环境下的信息资源的通信和处理等问题。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户/服务器的操作系统之上,管理计算资源和网络通信,是客户机和服务器进行交互的中介。中间件在使用时,往往是一组中间件集成在一起,构成一个平台(如图5‐1所示)。

图5‐1 分布式结构示意图

在中间件的作用下,客户机与一个抽象的服务器进行交互,而不需要了解所需服务提供的位置、同步、数据格式转换、传输等实现细节问题。中间件是实现分布式系统位置独立、平台独立和编程语言独立的有力保障,它能够在负载平衡、连接管理和调度方面发挥很大的作用,使应用的性能大幅提升。中间件软件已经与操作系统、数据库并列为三大基础软件。中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对其分类也会有所不同。比较典型的中间件类型有远程过程调用中间件、面向消息的中间件、对象请求代理中间件、数据访问中间件和事物处理中间件。

1.远程过程调用中间件(Remote Procedure Call,RPC)

RPC是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间的过程,从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:服务器和客户机。服务器提供一个或多个远程过程;客户机向服务器发出远程调用请求。服务器和客户机可以位于同一台计算机,也可以位于不同的计算机,甚至可以运行在不同的操作系统之上。客户机和服务器之间的网络通信和数据转换通过代理程序(Stub与Skeleton)完成,从而屏蔽了不同的操作系统和网络协议。RPC为客户机/服务器的分布计算提供了有力的支持。

2.面向消息的中间件(Message‐oriented Middleware,MOM)

MOM利用高效可靠的消息传递机制进行独立于平台的数据交流,可基于数据通信与分布式系统进行集成。简单意义上讲其功能是将信息以消息的形式,从一个应用程序传送到另一个或多个应用程序。主要借助消息传递和消息排队模型在分布式环境下进行通信,具有消息异步接收和消息可靠接收的特点,支持多种通信协议、语言、应用程序和软件硬件平台。它是中间件产品中唯一不可缺少的部分。典型的MOM有IBM的MQSeries、Oracle的AQ、BEA的WebLogic JMSServer。

3.对象请求代理中间件(Object Request Brokers,ORB)

ORB是对象技术和分布式计算技术相互结合的产物,它提供了一个通信框架,可以在异构分布计算环境中透明地传递对象请求。它定义了异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间客户机/服务器关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地机器也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。客户对象并不知道服务器对象通信、激活或存储的机制,也不必知道服务器对象位于何处、使用何种语言实现、使用什么操作系统或其他不属于对象接口的系统组成部分。根据实际场合,ORB上的对象可以是客户机,也可以是服务器,甚至两种角色都充当。当它发出一个请求时,它处于客户机角色;当它在接收请求时,它就处于服务器角色。大部分的对象都是既扮演客户机又扮演服务器。此外,值得注意的是,由于是ORB负责对象请求的传送和服务器的管理,客户机和服务器并不直接相连,因此ORB可以支持更加复杂的结构。典型产品有OMG的CORBA、M icrosoft的COM、IBM的SOM和Sun的RM I等。

4.数据访问中间件(Database Access M iddleware,DAM)

DAM主要连接应用程序和数据库,此中间件允许用户通过定义好的API[1]访问另一台计算机上的资源。它的使用解决了异质平台、异质环境、异质数据库的统一方位、统一存取问题。典型的例子是开放数据库互联(Open Database Connectivity,ODBC)。只需要在ODBC中添加一个数据源,就可以直接在应用程序中使用,不需要知道数据库的实现细节。

5.事务处理中间件(Transaction Processing Monitor,TPM)

TPM最开始被用在大型机上,提供支持大规模事务处理的运行环境。随着分布式计算的发展,中间件为了保证分布式应用的速度和可靠性,有了进一步发展。总体而言,它位于客户机和服务器之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它相当于事务处理应用程序的操作系统,主要进行进程管理,如启动server进程和为其分配任务等;进行事务管理,如保障事务处理的一致性、独立性和持久性等;进行通信管理,如为客户机和服务器提供请求响应、会话、排队和广播等。典型产品如BEA 的Tuxedo。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈