分布式软件系统(Distributed Software Systems)
是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。
分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。
分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。
分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
分布式数据库系统是由若干个站集合而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。
分布式数据库系统已经成为信息处理学科的重要领域,正在迅速发展之中,原因基于以下几点:
1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的系统。
2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。
3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。
4、当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。
5、相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。
特点
1、在分布式数据库系统里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自主权。
2、在分布式数据库系统中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好像数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。
3、集中式数据库系统不同,数据冗余在分布式系统中被看作是所需要的特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以操作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在分布式系统中对最佳冗余度的评价是很复杂的。
分布式系统的类型,大致可以归为三类:
1、分布式数据,但只有一个总数据库,没有局部数据库。
2、分层式处理,每一层都有自己的数据库。
3、充分分散的分布式网络,没有中央控制部分,各节点之间的联接方式又可以有多种,如松散的联接,紧密的联接,动态的联接,广播通知式联接等。
---------------------
什么是分布式智能?
NI LabVIEW 8的分布式智能结合了相关的技术和工具,解决了分布式系统开发会碰到的一些挑战。更重要的是,NI LabVIEW 8的分布式智能提供的解决方案不仅令这些挑战迎刃而解,且易于实施。LabVIEW 8的分布式智能具体包括:
可对分布式系统中的所有结点编程——包括主机和终端。尤为可贵的是,您可以利用LabVIEW图形化编程方式,对大量不同类型的对象进行编程,如桌面处理器、实时系统、FPGA、PDA、嵌入式微处理器和DSP。
导航所有系统结点的查看系统——LabVIEW Project Explorer。您可使用Project Explorer查看、编辑、运行和调试运行于任何对象上的结点。
经简化的数据共享编程界面——共享变量。使用共享变量,您可轻松地在系统间(甚至实时系统间)传输数据且不影响性能。无通信循环,无RT FIFO,无需低层次TCP函数。您可以利用简单的对话完成共享变量的配置,从而将数据在各系统间传输或将数据连接到不同的数据源。您还可添加记录、警报、事件等数据服务――一切仅需简单的对话即可完成。
实现了远程设备及系统内部或设备及系统之间的同步操作——定时和同步始终是定义高性能测量和控制系统的关键问题。利用基于NI技术的系统,探索设备内部并编写其内部运行机制,从而取得比传统仪器或PLC方式下更为灵活的解决方案。
--------------------
在分布式计算机操作系统支持下,互连的计算机可以互相协调工作,共同完成一项任务。
也可以这么解释:
一种计算机硬件的配置方式和相应的功能配置方式。它是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。这样就加快了系统的处理速度,简化了主机的逻辑结构 。
分享到:
相关推荐
本文综述了基于日志数据的分布式软件系统故障诊断的研究现状和关键技术。随着智能化技术的发展,特别是在智能运维(AIOps)领域,日志数据的故障诊断技术逐渐成为学术界和工业界研究的热点。日志数据作为软件运行...
分布式软件系统可靠性加强模块设计的知识点主要包括: 1. 分布式软件系统的概念:分布式软件系统是由多个相互连接的处理资源组成的软件系统,这些资源共同协作执行任务。分布式系统允许数据被放置在最合理的位置...
分布式软件系统是指由多个软件组件构成,分散在网络中不同的节点上协调工作,提供统一功能的软件系统。随着云计算技术的快速发展,分布式软件系统因其在可靠性、可伸缩性和性能上的优势被广泛应用在各种业务领域,...
根据提供的文档内容,本文将详细解读分级分布式软件系统可靠性评估算法的知识点。 首先,分级分布式软件系统的可靠性评估是一个重要的研究领域,尤其在软件系统应用广泛、规模庞大且复杂性快速增加的背景下。在实际...
本文介绍了一种监控使能的分布式软件系统构造方法,它旨在解决超大型分布式软件系统中调试、性能调优以及可信演化等重大挑战。分布式软件系统由于其复杂性和规模庞大,对软件工程提出了更高的要求,尤其是在系统维护...
这种技术可以极大地简化分布式软件系统的开发,提高开发效率,降低网络通信的复杂性,因此在分布式软件系统的开发中扮演着至关重要的角色。 分布式软件系统(Distributed Software System,DSS)是由多个服务组件...
分布式软件系统的故障检测技术是保障这类系统性能和可靠性的重要技术手段之一。随着云计算技术的快速发展,越来越多的分布式软件系统部署在公有云平台,通过互联网提供服务。然而,云计算环境的复杂性、动态性和开放...
在分布式软件系统的设计与开发过程中,确保系统中各个模块之间的交互行为正确无误是至关重要的。为了达到这一目标,研究者提出了一种分布式软件系统模块交互的抽象方法,这种方法主要由以下几个关键步骤组成: 1. *...
在分布式软件系统领域,运行时监测是一个关键问题。随着分布式系统的广泛部署,确保这些系统的稳定运行和可信性变得越来越重要。软件监测不仅用于评价分布式系统的行为是否符合预期,也是进行系统在线调整和演化的...
MVC模式下多层分布式软件系统架构设计是软件工程领域中的一种经典架构方式,尤其适用于复杂系统的构建。MVC即Model-View-Controller(模型-视图-控制器),是一种用于设计用户界面的设计模式,通过将业务逻辑、用户...
分布式软件调试是一项复杂且挑战性的任务,尤其在面对模块化、高度集成化的分布式软件系统时。传统的调试方法和技术已经难以满足现代分布式系统在模块集成时的调试需求,因此需要开发新的调试技术来应对这一挑战。 ...
分布式软件系统的部署是指将软件以一种自动化的方式分发、安装、配置、启动、停止、升级和维护到多个网络上的计算机节点中去的过程。与传统的单机软件部署不同,分布式软件部署关注的是如何在网络环境下,通过分布式...
《凤凰架构:构建可靠的大型分布式系统》是一本开源文档,其核心在于为技术人员提供一个构建可信赖的大型分布式软件系统的框架和方法论。分布式系统是一类由多个组件构成的系统,这些组件分散在不同的网络节点上,...
总的来说,这个资料包提供了从需求分析到系统设计的全面视角,包括了需求定义、领域建模和用例建模的关键实践,对于理解如何构建一个分布式软件系统,特别是温控系统的实现,具有很高的学习价值。学习这些知识可以...
#资源达人分享计划#
通信协议是分布式软件系统中不同组件之间协同工作的桥梁,其故障可能导致整个系统的不稳定或失效。 在分布式环境中,通信协议故障可能表现为多种类型,如基于溢出的故障(内存或缓冲区超出其容量),基于URL异常的...
分布式系统中,分布式软件系统是指支持分布式处理的软件系统,它涉及多种技术与算法的综合应用。 分布式系统工程实践涉及到的关键技术与知识点包括但不限于以下几个方面: 硬件基础: 分布式系统的硬件基础包括...
随着信息技术的飞速发展,分布式软件系统已成为众多领域的主流,尤其是在网络技术的支持下,它们的广泛应用已经改变了软件工程的面貌。本文深入剖析了分布式软件的两种主要体系架构:C/S(客户端/服务器)架构和B/S...
分布式软件系统的分配是现代软件开发中的一个重要概念,尤其是在大规模、高并发的应用场景中。这个主题主要涉及如何在多个计算节点之间有效地分发任务,优化资源利用,并确保系统的高可用性和可扩展性。C#作为微软...
在这个“北邮-分布式温控系统”项目中,我们看到一个由QT实现的实例,这为学生提供了深入理解和实践分布式系统以及软件工程的机会。QT是一个流行的C++跨平台应用程序开发框架,特别适合于创建图形用户界面(GUI)...