分布处理是通过
网络将一件较大的工作分配给网络上多台
计算机去共同完成。就是把一个程序分别放到多台电脑上处理,处理好之后再将处理的结果返回到主机上。
简介
随着网络技术的发展,分布处理技术也越来越受到重视,因为人们使用网络的目的是要充分利用网络系统可支持的各种服务,达到预期的目标。但是,在网络分布系统中所需要考虑和解决的问题要远远多于和复杂于网络系统中单机所面临的问题。例如,需要解决在网络分布系统中各个层次上的
异构问题,包括向下层次上的异构硬件平台、异构的
操作系统、异构的网络通信系统,向上层次上的不同应用系统之间的集成问题。在大量用户努力把自己连接到Internet网、广域网的今天,解决这些问题的重要性日益突出,如果解决得不好,甚至会成为深化网络应用的障碍。因此,分布处理技术又成为一个计算机发展研究的热点。
分布处理技术
在各种分布处理技术中,到目前为止仍然有大量应用的技术当属RPC(
远程过程调用)。RPC是网络上的高层协议,允许网络上的应用通过特定网络上的过程调用来实现,从而隐蔽了下层网络的细节。RPC实现的是一个客户方和
服务器方之间通信的逻辑系统,用于支持网络上的应用开发。利用RPC,客户方可以发送过程调用的请求给服务器方,服务器方在接收到这些请求后,调用本地例程执行客户方请求的操作,并将执行结果返回给客户方。RPC模型类似于本地过程调用,调用方(客户方)发送一个调用消息给被调用方(服务器方),之后调用方阻塞,等待被调用方的回答。调用消息包括调用过程的参数等信息;被调用方的回答包括调用过程的结果等信息。一旦接收到被调用方的回答,调用方取出返回结果,结束阻塞,继续运行。
DEC是
开放软件基金会OSF提出的标准,它通过在网络上提供增值服务为应用开发人员提供具有良好的互操作性的开发环境,开发人员通过DCE可以广泛地使用所有的系统和设施,而无需考虑用户、应用程序和其他所需资源的位置,从而使得用户可以更有效、更充分地使用网络上的计算资源。DCE包括一组集成设施,用来支持分布式应用的开发、使用和维护,网络上各种设施的集成使得它们扩大了使用的范围,从而可以物尽其用。
同时DCE还是一种独立于网络的操作系统,为用户提供现有环境下的移植功能,可移植性通过一组成熟的分布式设施的调用来实现。DCE包括两组设施,其中基础的分布式设施为软件开发人员提供了一组工具,用来为终端用户创建分布式应用所需的服务,包括远程过程调用RPC、目录服务、时间服务、安全服务和线程服务等。而数据共享设施为终端用户提供了基于基础分布式设施的服务。这些服务无需终端用户编制程序,从而可以更方便地使用信息,包括
分布式文件系统和无盘服务等。
优缺点
分布处理系统有许多优点,主要有:
(1)具有较好的系统性能和较高的可靠性。因为在多个
处理机互相合作,利用某种规程互相检验而不依赖于单个
中央处理单元的这类系统,具备了硬件、软件和
数据冗余的一切优点,可以使故障软化,即个别的故障不会使系统失效。
(2)具有较大的灵活性和扩展性。分布处理系统采用模块式的结构,易于设计、架设和维护,可以对功能资源加以更换或增减,以适应环境和使用要求的改变,比较简单的软件可以分散地多处使用。
(3)由于大部分的
作业可以在现场处理,所以响应速度快。
(4)可以实现资源共享。
(5)适合许多管理系统的组织形式。有效的组织形式往往包括若千层次而分散各地,要求分散存取和处理信息。
分布处理系统也存在一些缺点和问题,主要有:
(1)构造复杂,使系统有效工作比较困难。
(3)系统的测试和诊断难度较大。
(4)系统的开发和设计需要高的技术和专家。
分布对象计算技术展望
技术发展的原动力始终来自于用户不断变化的需求,应用的方向决定了技术进一步发展的方向,对于分布对象计算技术来说也是一样。面对即将到来的21世纪,分布对象计算技术不仅需要解决尚未解决的老问题,还需要解决更多、更复杂的新问题。
用户友好技术
分布对象计算技术作为直接面向应用集成和最终应用开发的支撑环境,面临着以人为中心发展趋势的挑战。目前各种实现系统中的运行信息提示、服务器管理器等功能是远远不够的,需要在如何更友好地提供系统的服务和如何更方便地让用户使用等方面提出新的思路,例如实现IDL语言描述的自动生成器、在接口库中自动生成服务器对象逻辑继承图等等。
组件技术
提高软件的重用率和快速构造应用是分布对象计算技术追求的重要目标之一。对象的粒度通常较小,而构造应用时,往往需要使用支持一定功能的
组件。如何有效地提供、选择、设置和组合组件是一个重要的研究课题和发展方向。组件技术的特点在于在构造应用时,应用可以直接使用已经存在的、具有一定功能的组件,并且采用
可视化技术完成组合工作。它的重要性表现在:可以提供丰富的、统一的机制来表示组件之间的交互关系和依赖关系;可以提供一种完全的、运行时刻的自描述机制;可以集成
脚本语言,借助这种工具来表达组件之间以及组件与环境之间的相互作用的过程。这样,可以大大地简化编程开发人员的工作,提高软件生产效率,提高软件的可靠性。可以这样讲,组件技术的发展将会引发软件工业的一场革命性的变革。
服务质量技术
新的应用需求在不断产生,例如
多媒体应用,尤其是实时多媒体应用提出了不同于传统的关于
带宽、延迟、丢失率等方面的需要。分布对象计算技术作为一种典型的中间件技术,其重要的技术特征是要实现请求和服务的“上传下达”和对下层实现细节的屏蔽。针对不同的应用,需要实现不同的服务质量。因此,在分布对象计算技术中如何引入服务质量的概念,以及如何主动地适应应用不同的质量要求是亟待研究的新问题。从理论上说,服务质量贯穿ISO/OSI七层体系结构。但是就目前的状况看,服务质量的研究还处于各个层次上独立的研究,没有形成一个系统研究。例如应用层上服务质量参数的描述和映射、
ATM协议中的服务量机制等已经有比较深入的研究成果。而在分布对象计算系统中,还无法保证在分布环境下应用服务质量的实现。那么向上的服务质量成为“空中楼阁”,向下的服务质量则“无用武之地”。研究分布对象计算技术中的服务质量问题,不仅要研究影响到服务质量实现的各种因素,包括带宽、延迟、延迟抖动、丢失率和流量分布等,还要研究支持服务质量的各种机制,包括路由机制、优先级机制、动态预测机制等。它的研究人涉及其他相关部分的研究,包括需要屏蔽实现细节的网络和
通信系统、操作系统,以及应用系统可能提出的各种服务质量需求。