对分布式系统的认识

摘要:分布式计算机系统是一种计算机硬件的配置方式和相应的功能配置方式。它是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统,把原来系统内中央处理器处理的任务分散给相应的处理器,就加快了系统的处理速度,简化了主机的逻辑结构。本文除了介绍分布式系统的一般特征,还介绍了一种特殊的分布式系统——计算机支持的系统工作系统(CSCW)。

关键词:分布式系统,CSCW

  1. 定义

随着经济的迅速发展,越来越多的工作变得十分复杂,凭借一个人或一台计算机的力量不能完成,对信息处理能力的广泛和深入的需求,分布式系统正日益被人们普遍重视和广为使用。所谓分布式计算机系统,是指由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上,充分利用各个计算机的资源,共同完成一项任务。一个分布式系统是一些独立的计算机的集合,但是对这个系统的用户来说,系统就像一台计算机一样。分布式计算机系统又简称为分布式系统。

  1. 特点

  1. 无主从区分;
  2. 计算机之间交换信息;
  3. 资源共享;
  4. 相互协作完成一个共同任务。
  1. 作用

分布式操作系统除了需要包括单机操作系统的主要功能外,还应该包括分布式进程通信、分布式文件系统、分布式进程迁移、分布式进程同步和分布式进程死锁等功能。

  1. 分布式进程通信

分布式系统的进程通信是由分布式操作系统所提供的一些通信原语来实现的。但由于分布式系统中没有共享内存,这些原语需要按照通信协议的约定和规则来实现。与分布式进程通信有关的主要概念包括:通信协议,分布式环境中的客户/服务器工作模式,进程通信的消息传递方法和远程过程调用方法。

  1. 分布式文件系统

分布式文件系统是允许通过网络来互连的,使不同机器上的用户共享文件的系统。它能让运行它的所有主机共享,并可以管理操作系统内核和文件系统之间的通信。

  1. 分布式进程迁移

分布式进程迁移是指由进程原来运行的机器(称为原机器)向目标机器(准备迁往的机器)传送足够数量的有关进程状态的信息,使进程能在另一机器上运行。

  1. 分布式进程同步

在分布式系统中,各处理机没有共享内存和统一的时钟,因此分布式进程同步必须对不同处理机中所发生的事件进行排序,还应该配有性能较好的分布式同步算法,以保证为实现进程同步所付出的开销较小。

  1. 分布式进程死锁

在分布式系统中,也可能会因进程竞争资源而引起死锁。对单处理机系统中讨论过的死锁对策只要稍加修改,就可用于多处理机系统。例如,只要在系统事件之间简单地定义一个全序,有序资源分配死锁预防技术就可用于分布式系统。

  1. 计算机支持的协同工作系统

现在介绍一种分布式系统,即计算机支持的协同工作系统(CSCW)。

  1. 定义

计算机支持的协同工作CSCW ( Computer Supported Cooperative Work)是一种将人类合作行为模式与计算机支持技术融合为一体的技术,即在计算机技术支持的环境下(CS),一个群体协同工作完成一项共同的任务(CW),并通过建立协同工作的环境,改善人们进行通信的方式,消除或减少人们在时间和空间上相互分隔的障碍,节省工作人员的时间和精力,以提高群体工作的质量和效率。它的基本内涵是计算机支持的通信、合作和协调。如共享文件系统提供的资源共享能力,电子邮件和多媒体会议系统提供的人与人之间的通信支持功能,工作流和决策支持系统的组织管理功能等。CSCW 充分体现了信息时代人们工作的群体性和协作性的特点,成为信息科学发展的重点之一。

  1. CSCW系统分类

计算机支持的协同工作可按时间和空间来进行分类。按照时间的概念划分,可以分成同步和异步方式;按照空间的概念划分,可以分成本地和异地。由此可将计算机支持的协同工作分成四类:

  1. 同步模式:在同一时间、同一地点进行同一任务的合作方式,如共同决策、共同编辑、CAD、室内会议等。
  2. 分布式同步模式:在同一时间、不同地点进行同一任务的合作方式,如联合设计、联合编辑、群体决策、视频会议等。
  3. 异步模式:在同一地点、不同时间进行同一任务的合作方式,如轮流作业。
  4. 分布式异步模式:在不同时间、不同地点进行同一任务的合作方式,如电子邮件、工作流、大规模开发项目的支持等。其中,分布式同步模式是CSCW系统的主要研究和实现对象。
  1. CSCW系统与传统分布式系统的异同

CSCW系统必然是一个分布式系统,它与分布式系统之间具有如下天然的联系。第一,完全自治的分布系统,支持人之间异步或同步的信息传输工作,能够部分完成对于人之间合作的支持。第二,资源共享系统,允许不同计算机的用户共享同样的系统资源,这也是CSCW系统中的必备技术。

因此,分布式处理技术是CSCW系统的基础支持技术。CSCW系统与分布式系统之间也有明显的不同之处。第一,分布式系统追求透明性,即让用户在使用系统时感觉为独占系统;而CSCW系统追求不透明性,即系统应让所有用户相互感知到其他合作者对共享对象的操作。第二,分布式系统主要研究如何使系统中各部分充分发挥各自的性能,

从而获得整个系统的高效;而CSCW系统除了要追求高性能外,更注重如何支持协作者之间的高效协同。

  1. CSCW系统结构

  1. CSCW系统的组织结构

CSCW的系统结构首先应该具有很大的灵活性,易于扩充。其次,整个CSCW系统应该有很高的运行效率,应尽可能发挥分布式并行处理的能力。目前,CSCW系统结构的实现方式主要有:集中式、分散式、混合式。

  1. 集中式结构

集中式结构实际上是一种客户/服务器(Client/Server)结构。服务器集中负责整个系统的管理、控制和调度,以及所有与具体应用相关的程序逻辑、数据等,客户端只有应用工具和用户界面等模块。用户要执行的所有任务,都要向服务器发出请求,由服务器完成。这种结构的优点是实现简单,共享信息集中存储,共享操作统一处理,一致性容易维护,可以很方便地实现用户的动态加入和离开等。但这种结构较难实现视图级和对象级的共享,协作接口的自治性很小,用户无法直接控制接口的实现。此外,该结构是星型的协同网络,服务器是整个系统的核心,系统对服务器有单点依赖,使其很容易成为整个系统的瓶颈。

  1. 分散式结构

分散式结构也可以称作重复式结构,在该结构中每个节点均处于同等地位,没有主从之分,也称为对等实体模式。由于没有服务器,与系统相关的控制和管理模块就分散在各客户端。客户端自己管理自己,自己决定在什么时间、什么条件下被激活,以及被激活后执行何种动作,没有一个客户端能直接激活和操纵另一个客户端,而只能通过修改数据或广播信号等方式通知其他的客户端程序。由于在每个节点上都有一个完全相同的协作接口处理程序,因此接口的自治性很容易实现,并可方便地实现视图级和对象级共享的接口耦合;而且该方法鲁棒性、灵活性、开放性和通用性都比较好,可以很容易地将异构的机器和软件连接在一起。但是,由于数据的分布存储和操作的各自处理,所以全局的一致性较难维护,节点间的实时性同步以及用户的动态注册也较难实现。

  1. 混合式结构

混合式结构结合了前两种结构的优点,由服务器实现数据信息的一致性维护、用户管理和信息的转发与分发等功能,由客户端实现与用户的交互,实现与具体应用领域相关的程序逻辑以及其他一些可以在客户端完成的工作,如权限检查等。这种结构充分利用了客户端的计算机资源,极大地减轻了服务器的工作压力,减轻了服务器的瓶颈效应,既能使系统具有较好的灵活性、鲁棒性和较短的响应时间,又保证了系统信息的一致性。

  1. CSCW系统的体系结构

CSCW系统的体系结构可以划分为三个层次:

  1. 基本分布功能层:主要包括网络操作系统的基本服务和通用的分布式系统技术,使多用户与分布性成为可能,提供具有基本分布功能的编程接口,完成数据传输、信息存取及其他访问系统资源的功能。
  2. CSCW支持平台:它以协作代理和分布式对象技术为核心,通过在基本服务功能层之上扩展分布服务来满足分布对象对CSCW支持的不足,并通过调用基本分布功能向上提供隐式的控制策略,支持面向多媒体的群组通信,管理用户群组的协作信息,协调用户间的协作,维护整个系统的状态并提供对协同应用的访问控制机制和面向用户协作的编程接口。它可细分为分布服务支持层、信息服务支持层和协作支持层三层。分布服务支持层是在基本分布功能层上利用和扩展分布式对象技术,以加强分布式系统对CSCW在分布、开放和组交互等方面的支持;信息服务支持层是利用组件技术建立可裁剪的组件群件,以提高CSCW应用系统的开发效率和质量;协作支持层是利用分布式Agent技术建立基于协作代理的协作策略,以满足CSCW系统对动态协同等方面的需求。
  3. 协同应用层:通过调用CSCW支持平台提供的服务,支持用户完成具体的协作任务,向用户提供显式的控制策略。利用CSCW 支持平台提供的编程接口,开发各种协同应用,每个协同应用处理一种协作任务,协同应用间的关系可根据用户的要求而定,并由支撑平台统一管理。为了支持各层次之间的服务访问操作,定义了Request、Response、Indication、Result四种类型的操作原语。Request,由上层的服务请求者向下层的服务提供者请求某个服务操作;Response,由服务提供者向服务请求者发出服务请求响应,可以是肯定回答,也可以是否定回答;Indication,服务请求者接收到服务提供者肯定的应答时,就向服务提供者进一步发出具体的服务指示;Result服务提供者接收到服务指示,执行服务操作,并把服务操作结果回送给服务请求者。
  1. CSCW应用

  1. 军事应用:各种类型的C3I系统各种级别的参谋会议系统等。它们可能是远程会议系统,也可以是本地会议系统或会议室系统。其规模可大可小。美国紧急战略办公室OEP开发的一个紧急事件管理信息系统EMISARI,就是一个计算机支持的远程会议系统。
  2. 远程教育:网络环境下的协作学习,可以使学生、教师和专家等从网上获取丰富的资源,同时,远程教育和协作学习是未来人们工作和学习的一种基本又非常重要的方式和环境。
  3. 办公自动化(OA )和管理信息系统(MIS )的新发展:传统的OA和MIS一般只能管理和处理数据、文字信息。如果与多媒体技术结合,增加处理图形、图像、动画、视频和声音等信息,并且在通信网络环境支持下,进行协同工作和决策,就大大扩展了OA和MIS系统的功能和应用领域。面向OA和MIS的CS CW系统的研究和开发,将使“智能大楼”成为现实。
  4. 医疗应用:面向医疗的CSCW系统研究和开发,将使计算机化就诊,特别是远程专家会诊,具有更大吸引力:危重病人能及时得到抢救,边远地区的病人也能获得同城市一样的医疗条件。当然,没有国家的信息基础设施或信息高速公路的支持不可能真正实现远程医疗。但目前,至少在大城市的大医院之间开展远程专家会诊系统的研究和开发是可能的和现实的。

参考文献

[1] 史美林.
CSCW :计算机支持的协同工作.
通信学报,1995年1月第16卷第1期.

[2]
黄永灿,CSCW系统结构分析设计.
黄河科技大学学报,第11卷第5期.

[3] 李人厚,郑庆华,鲍家元.
C SCW 的概念、结构、理论和应用[J]
. 计算机工程与应用,1999
( 2) : 29- 33.

[4] 史美林,向勇,杨光信.
计算机支持的协同工作理论与应用[M].
北京:
电子工业出版社,2000
: 12 .

[5] 李军怀,周明全,耿国华.
异构环境下的CSCW模型研究与实现[J]
. 计算机科学,2002(
10) : 104- 106 .

[6] 孙艳春,刘积仁.
CSCW系统体系结构模型的研究[J].
小型微型计算机系统,2001( 2 ):
210- 213.

时间: 2024-11-05 04:07:11

对分布式系统的认识的相关文章

分布式系统中的CAP原理

分布式系统中的CAP原理,布布扣,bubuko.com

分布式系统定义及特点

一.分布式系统定义 分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统. 二.特性 1.副本(Replica)是分布式系统最常见的概念之一,指分布式系统对数据和服务提供的一种冗余方式.在常见的分布式系统中,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理. 1)数据副本指在不同节点上持久同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题的有效手段. 2)服务副本指多个节点提供同样的服务

分布式系统领域有哪些经典论文

0 个回答 默认排序 知乎用户 机器学习 话题的优秀回答者 901 人赞同了该回答 谢邀!五一快乐!分布式系统在互联网时代,尤其是大数据时代到来之后,成为了每个程序员的必备技能之一.分布式系统从上个世纪80年代就开始有了不少出色的研究和论文,我在这里只列举最近15年范围以内我觉得有重大影响意义的15篇论文(15 within 15).1. The Google File System: 这是分布式文件系统领域划时代意义的论文,文中的多副本机制.控制流与数据流隔离和追加写模式等概念几乎成为了分布式

基于Dubbo的分布式系统架构完整教程

1课程介绍20分钟2使用Dubbo对传统工程进行服务化改造的思路介绍15分钟3使用Dubbo对传统工程进行服务化改造55分钟4ZooKeeper注册中心安装29分钟5使用Dubbo对传统工程进行服务化改造后的服务调用测试19分钟6使用Dubbo进行规模服务化前的工程结构优化35分钟7Dubbo管理控制台的安装21分钟8使用Maven构建Dubbo服务的可运行jar包46分钟9在Linux操作系统上手工部署Dubbo服务50分钟10构建Dubbo服务消费者Web应用的war包并在Tomcat中部署

大型网站架构系列:缓存在分布式系统中的应用(三)

本文是<缓存在分布式系统中的应用>第三篇文章. 上次主要给大家分享了,缓存在分布式系统中的应用,主要从不同的场景,介绍了CDN,反向代理,分布式缓存,本地缓存的常规架构和基本原理. 因为时间关于,原计划分享<缓存常见问题>的内容,没有讲.本次主要针对缓存的常见个问题,做一个介绍.主要有以下议题: 一.分享大纲 分享大纲 数据一致性 缓存高可用 缓存雪崩 缓存穿透 参考资料 分享总结 二.数据一致性 缓存是在数据持久化之前的一个节点,主要是将热点数据放到离用户最近或访问速度更快的介质

玩转mongodb(九):通过log4jmongo来实现分布式系统的日志统一管理

背景 在分布式系统中,我们有多个web app,这些web app可能分别部署在不同的物理服务器上,并且有各自的日志输出.当生产问题来临时,很多时候都需要去各个日志文件中查找可能的异常,相当耗费人力.日志存储多以文本文件形式存在,当有需求需要对日志进行分析挖掘时,这个处理起来也是诸多不便,而且效率低下. 为了方便对这些日志进行统一管理和分析,我们可以将日志统一输出到指定的数据库系统中,再由日志分析系统去管理.由于这里是mongodb的篇章,所以主观上以mongodb来做日志数据存储:客观上,一是

【D】分布式系统的CAP理论

2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想.2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP.之后,CAP理论正式成为分布式计算领域的公认定理. CAP理论概述 一个分布式系统最多只能同时满足一致性(Consistency).可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项. CAP的定义 Consistency 一致性 一致性指"all no

分布式系统---2 图灵奖获奖者Leslie Lamport的贡献

图灵奖牛人LeslieB. Lamport介绍 英文原文链接https://en.wikipedia.org/wiki/Leslie_Lamport Leslie B. Lamport,生于1941年,美国著名的计算机科学家,以发明分布式关键技术(特别是PAXOS).LATEX.TLA+知名,于2013年获得图灵奖.他1960年在MIT获得数学学士学位,1972年从Brandeis大学获得数学Ph.D,1970~1977在Massachusetts Computer Associates从事计算

分布式系统的事务处理【转】

转:http://coolshell.cn/articles/10910.html 当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题: 1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求. 2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失. 于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题. 通常,我们会通过两种手段来扩展我们的数据服务: 1)数据分区:就是把数据分块放在不同的服务器上(如:uid %

分布式系统(Distributed System)资料

这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT