分布式计算考试资料

第一章

分布式系统的定义
 分布式系统是一个其硬件或软件组件分布在连网的计算机上,
 组件之间通过传递信息进行通信和动作协调的系统。
分布式系统的目标

资源共享(resource sharing)
一些计算机通过网络连接起来,并在这个范围内有效地共享资源。
硬件的共享,软件的共享,数据的共享,服务的共享。
l媒体流的共享(动态的资源形式)。
协同计算(collaborative computing)
并行计算,分布式计算。

分布式系统的主要特征

并发、缺乏全局时钟、故障独立性

分布式系统的发展趋势

泛在联网和现代互联网
移动和无处不在计算
分布式多媒体系统
把分布式计算作为一个公共设施

分布式系统面临的挑战,每一个挑战中具体的问题是什么

网络协议
硬件
操作系统
编程语言
开发者实现方式的不同

讨论 WWW技术是谁发明的?在哪一年发明的?

万维网(WWW 或 Web)由蒂姆·伯纳斯-李爵士于 1989 年发明。他提出并发展了 Web 的概念,将其作为人们在线共享和访问信息的一种方式,并编写了第一个 Web 浏览器和 Web 服务器软件,使这一设想成为现实。从那以后,Web 已经发展成为现代最重要和最具变革性的技术之一,在全球范围内连接人和信息。

WWW技术的重要性是什么?

万维网(WWW 或 Web)是一项重要技术,它极大地影响了我们交流、访问信息和开展业务的方式。以下是 WWW 改变世界的一些主要方式:

信息可访问性:Web 使人们可以更轻松地随时随地访问世界上任何地方的大量信息。

全球通信:Web 使人们可以即时且廉价地与来自世界各地的其他人进行通信。

电子商务:网络改变了人们买卖商品和服务的方式。。

社交媒体:网络通过 Facebook、Twitter 和 Instagram 等平台开创了社交互动的新时代。

总体而言,WWW 在塑造我们的生活、工作和互动方式方面发挥了重要作用。

WWW技术的系统架构和主要功能是什么?

万维网(WWW 或 Web)是一个由超链接和 URL 链接的互连文档和其他资源的庞大网络。 Web 的体系结构可以描述为客户端-服务器体系结构,其中客户端(例如 Web 浏览器)向服务器发送请求,然后服务器返回响应。

WWW技术的主要功能如下:

资源访问:Web 为客户端提供了一种标准化的方式来访问各种资源,例如文本、图像、视频和音频文件。

超链接:Web 使用超链接连接相关资源,允许用户通过单击链接从一种资源导航到另一种资源。

资源描述:Web 使用标准化格式(例如 HTML)来描述资源的结构和内容。这允许客户端以一致的方式显示资源并与之交互。

资源标识:Web 使用统一资源标识符 (URI) 来唯一标识资源,使客户端可以定位和访问所需的资源。

数据传输:Web 使用标准化协议(例如 HTTP 和 HTTPS)在客户端和服务器之间传输数据。这些协议确保数据可靠、安全地传输。

缓存:Web 使用缓存将频繁访问的资源存储在客户端或中间服务器上,减少需要通过网络传输的数据量并提高性能。

这些功能协同工作,使 Web 成为访问和共享信息的强大而灵活的平台,使用户能够从世界任何地方查找大量资源并与之交互。

WWW技术中包含哪些主要的协议?

万维网 (WWW) 基于一组标准化协议,这些协议定义了客户端和服务器之间交换信息的规则。 WWW 技术中使用的主要协议有:

HTTP(超文本传输​​协议):这是用于在 Web 上传输数据的主要协议。 HTTP 定义了客户端和服务器之间发送的请求和响应的格式,它几乎用于传输构成 Web 的所有内容,包括 HTML 页面、图像、视频和音频文件。

HTTPS(安全超文本传输​​协议):这是 HTTP 的扩展,可通过 Web 提供安全通信。 HTTPS 加密客户端和服务器之间传输的数据,防止窃听和篡改。

HTML(超文本标记语言):这是用于描述网页结构和内容的标准语言。 HTML 使用标签和属性来定义页面的布局和外观,并用于创建可以在 Web 浏览器中显示的文档。

CSS(层叠样式表):这是一种用于描述网页呈现的语言。 CSS 用于指定页面的字体、颜色、间距和其他视觉元素,它允许 Web 开发人员将页面的呈现与页面内容分开。

JavaScript:这是一种高级编程语言,用于创建动态的交互式网页。 JavaScript 可用于向页面添加交互性,例如下拉菜单、动画和表单验证。

这些协议协同工作以实现 Web 上的信息和资源交换,并且它们不断发展以满足 Web 及其用户不断变化的需求。

WWW技术如何体现分布式计算的思想?

万维网 (WWW) 通过允许从连接到 Internet 的多台计算机而不是从中央位置存储和服务资源来体现分布式计算的思想。这意味着用户可以从世界任何地方访问这些资源,而不必依赖单一的信息来源。

在分布式计算系统中,计算任务被分配给多台计算机,每台计算机独立工作,完成自己的部分任务。在 Web 上,计算任务通常由客户端(如 Web 浏览器)和服务器处理,客户端根据需要向服务器请求资源。

例如,当用户在浏览器中请求网页时,浏览器会向托管该页面的服务器发送请求,然后服务器将页面的 HTML 内容返回给浏览器。然后,浏览器使用 CSS 和 JavaScript 来格式化和呈现页面,并且它可以根据需要向服务器发出额外的图像、视频或其他资源请求。

通过这种方式,Web 允许用户访问来自各种来源的大量资源,同时还可以在多个设备之间分配呈现页面所涉及的计算任务。这使 Web 成为访问和共享信息的高度可扩展和可访问的平台,允许用户从世界任何地方找到他们需要的信息并与之交互。

第九章

Web Service的定义和工作原理

定义:Web Service是一种可以在互联网上进行通信的计算机软件系统。它们通常使用HTTP协议和XML消息格式来实现通信。Web服务允许不同平台、编程语言和系统之间的应用程序进行通信,从而实现跨平台的集成。

Web Service的工作原理如下:
1 发布:Web服务的提供者发布一个Web Service,公开信息,称为Web Service描述,它通常是使用Web服务描述语言(WSDL)来定义的。
2 调用:客户发送请求调用Web Service,请求中包含了所需的信息。
3 响应:Web Service收到请求后,执行操作,并返回结果。
4 发现:客户可以使用Universal Description, Discovery and Integration(UDDI)来查找和发现可用的Web Service。

总的来说,Web Service提供了一种可以在互联网上进行通信的标准化方法,使得应用程序可以在不同平台、编程语言和系统之间进行通信。

Web Service和Web Server的区别

Web Server提供HTTP服务,客户端通过浏览器访问Web Server。
Web Service提供的服务基于在其接口中定义的操作,客户端通过SOAP
协议,使用XML封装消息,来和服务器端的Web Service进行交互

URI/URL/UNR的关系与区别

URI是一种通用资源标识符,其值可以为URL或URN。
URL,在WWW上,所有的资源都有唯一的URL地址。
URN 是位置独立的,其依赖于査找服务来映射到资源的URL。
URN类似于一个资源的名字;URL类似于资源的地址

SOAP协议的主要作用

SOAP旨在互联网上实现客户-服务器以及异步交互。它定义了使用XML
表示请求和应答消息内容的模式,也定义了文档通信的模式。

Web Service和CORBA的对比

1 Web Service和CORBA的主要区别是使用它们的
上下文不同。
2 CORBA用于单个组织或很少的几个协作组织。不适合独立组织之间的协作。
3 名字问题:与DNS不同的是,CORBA名字服务旨在用于一个组织而不是整个互联网。
4 引用问题:
CORBA远程对象引用不可以以类似URL的方式用作互联网范围内的对象引用。(每个IOR包含一个槽,指定其引用的对象的接口的类型标识符。不过,只有存储相应类型定义的接口库才能理解这个类型标识符。在全球范围内应用不可行。)
Web Service模型中,服务由URL标识,处于互联网上任何位置的客户都可以请求位于互联网其他位置上的组织中的服务
5 激活和定位的分离:定位和激活Web Service的任务被巧妙地分离开来。相反,CORBA持久引用指的是组件,使用需激活相应的对象,一旦激活对象,它还将负责定位对象。
6 易用性
Web Service的基础设施易于理解和使用。
CORBA平台需要安装和支持庞大复杂的软件。
7 CORBA的实现是比较高效的:CORBA CDR是二进制的,而 XML是文本方式的。
soap耗费的时间是corba的多倍。
随着设备性能的增长,这种差别正在缩小。
9 CORBA的优势
CORBA服务在事务、并发控制、安全和访问控制、事件和持久对象方面
有优势。
CORBA非常适合具有复杂交互的应用。

WSDL的主要作用

WSDL (Web Services Description Language) 是一种用于描述 Web 服务的 XML 格式的语言。它的主要作用是:
描述 Web 服务:WSDL 文档用于描述一个 Web 服务的功能,包括它的接口、输入输出消息格式、传输协议等。
查找 Web 服务:WSDL 可以用于查找和定位 Web 服务,从而简化了客户端与服务器之间的通信过程。
实现 Web 服务:WSDL 可以帮助开发者实现 Web 服务,例如可以使用 WSDL 定义的接口生成代码,或者使用 WSDL 生成客户端代码调用 Web 服务。
因此,WSDL 是实现和使用 Web 服务的重要工具,能够提高 Web 服务的可互操作性和易用性。

UDDI提供的主要服务

UDDI提供了一个接口用来发布和更新Web Service的信息。
UDDI (Universal Description, Discovery, and Integration)是一种Web服务目录,为Web服务提供了发现、注册、查询和维护服务的标准方法。

(UDDI的主要服务包括:
注册:注册Web服务以便其他用户可以发现和使用它。
查询:查询UDDI目录以查找适合您需求的Web服务。
发现:通过搜索UDDI目录,可以发现所需的Web服务。
维护:更新和维护已经注册到UDDI目录中的Web服务信息。
UDDI提供了一个通用的框架,使得各种Web服务可以在互联网上互相发现和交互。因此,UDDI对于整个Web服务生态系统来说非常重要,是实现Web服务发现、集成和使用的关键技术。)

讨论 现在要开发如下系统,可选择的技术方案包括:CORBA, EJB, Fractal,Web Service,请问选择哪种技术方案更合适?l 12306l 郑州大学网络空间安全学院职工考勤系统 l 携程(旅游服务APP)

12306:EJB:因为业务复杂,对于大型复杂软件,只在一个机构内使用,EJB可以发挥组建编程优势
郑大考勤系统:Fractal:基于组件的优势,比较适合开发小规模软件,(web serviece 也可以)
携程:用web service,要和大量第三方公司进行数据交换,所以用web service

第十章 对等系统

对等系统的主要特点

1 系统设计确保每个用户都能向系统提供资源。虽然各个参与的结点提的
资源不同,但在同一个对等系统中它们具有相同的功能和责任。
2 系统不依赖一个中心管理系统就能正常运行。
3 系统的设计能够给资源的提供者和使用者提供一定限度的匿名性。
4 在大量主机中放置数据资源,以及访问这些资源的算法。这个算法能够自
动平衡各个主机的负载,确保可用性,并且不会增加不必要的系统开销。

路由覆盖的定义和主要任务

定义:路由覆盖是指网络路由的结构,包括所有的网络路由器,主机和网络之间的连接。它的主要任务是在网络中传输数据包,使得数据包能够从源到达目的地。
路由覆盖的主要任务如下:
1 路由请求给对象
2 插入对象
3 删除对象
4 结点的增加和移除

Pastry的工作原理,理解图10-8和10-9中的路由算法

Pastry是一种分布式对等网络(P2P)协议,用于实现分布式系统中的资源共享和信息存储。它通过建立一个对等网络中的节点间的通信来实现这一目的。
Pastry协议的工作原理主要基于以下几个步骤:
1 建立对等网络:建立一个对等网络,每个节点都是相互独立的。
2 建立路由表每个节点都有一个路由表,存储节点之间的路由信息。
3 哈希:Pastry协议通过哈希函数将每个节点的地址映射到一个唯一的哈希值,以便在网络中定位该节点。
4 寻找目标节点:当一个节点需要查找某个目标节点时,它首先使用自己的路由表尝试寻找该目标节点,如果路由表中没有该节点的信息,则使用其他节点的路由表继续查找,直到找到该目标节点为止。

Tapestry的工作原理,理解图10-10中的算法示意图
理解OceanStore如何利用P2P技术实现分布式文件存储

OceanStore是一个分布式文件存储系统,它利用P2P技术实现分布式文件存储。OceanStore的工作原理如下:
1 对等网络:建立一个对等网络,每个节点都是相互独立的,并且可以通过TCP/IP协议进行通信。
2 分布式文件存储:将文件分成多个数据块,并分别存储在不同的节点上。每个节点都可以成为分布式文件存储系统的一部分。
3 冗余存储:提供了冗余存储功能,即每个数据块都会被多次存储在不同的节点上,以确保数据的安全性。
4 数据分片支持对文件进行数据分片,并对每一个数据片分别进行存储。
5 节点通信:每个节点都可以相互通信,以实现文件的存储、检索和更新。
6 数据复制:提供了数据复制功能,使得每个数据块都可以在网络中的多个节点上被复制,以确保数据的安全性和可用性。

讨论 你认为Napster系统(参考图10-2)的主要问题是什么?如果让你改进Napster系统以提高可靠性和效率,你会采取哪些措施?Napster 是第一个广受欢迎的点对点文件共享服务,在 20 世纪 90 年代后期首次推出时具有革命性意义。然而,它也面临着几个问题。以下是 Napster 系统的一些主要问题:

有限的搜索功能:Napster 的搜索功能有限,这使得用户很难找到他们正在寻找的内容。
可扩展性:Napster 面临可扩展性问题,导致性能下降和频繁崩溃。
质量控制:由于没有中央机构来管理上共享的内容,共享文件的质量通常很差。
安全性:Napster 网络缺乏安全和隐私措施。

采取以下步骤:

改进的搜索功能:我会引入一个集中式服务器来管理信息,使用户更容易找到他们正在寻找的内容。
可扩展性改进:实施可扩展的基础设施和架构.
质量控制:采取措施确保网络上共享文件的质量,例如自动检查恶意软件和其他有害内容。
增强的安全性:我会实施安全和隐私措施。

第十二章

分布式文件系统的主要目标

1 共享资源是分布式系统的主要目标。
2 共享存储信息是分布式资源共享的一个最重要的方面。

了解分布式文件系统的主要需求

分布式文件系统是一种允许多个远程用户通过网络访问和管理共享数据的文件系统。分布式文件系统的主要需求如下:
1 可扩展性:系统应该能够随着系统的增长处理越来越多的数据和用户。
2 透明性:系统应该隐藏数据分布和管理的细节,并向用户呈现共享数据的统一视图。
3 可靠性:系统应该提供高水平的可靠性,确保即使在故障情况下也不会丢失或损坏数据。
4 性能:系统应该能够在高用户负载和慢网络连接情况下,对共享数据的访问和操作提供高性能。
5 安全性:系统应该提供强大的安全功能。
6 互操作性:系统应该能够与其他文件系统一起工作,并兼容不同的操作系统和网络协议。
7 灵活性:系统应该灵活适应,能够适应不断变化的需求.

基于图12-8,深入理解NFS的工作原理

NFS (Network File System) 是一种分布式文件系统,它允许用户在不同的网络节点上共享文件和目录。NFS工作的原理如下:
客户端请求:客户端向 NFS 服务器发出请求,请求访问远程文件系统。
客户端认证:NFS 服务器验证客户端身份,以确保只有授权的客户端才能访问文件。
请求转发:NFS 服务器将请求转发到文件系统,以便完成客户端请求。
文件系统响应:文件系统响应客户端请求,并将文件内容返回给 NFS 服务器。
响应发送:NFS 服务器将文件内容发送给客户端,客户端可以通过它来访问远程文件。
NFS 使用RPC 协议来处理客户端请求,从而实现分布式文件系统。这种方法使得客户端可以在其本地文件系统中访问远程文件,就像访问本地文件一样方便

理解NFS中,虚拟文件系统VFS的作用

在网络文件系统(NFS)中,虚拟文件​​系统(VFS)的作用是为访问不同的文件系统提供一个通用的接口。 VFS 充当应用程序和实际文件系统之间的中间层,允许通过单个统一接口访问多个文件系统。

(VFS 使应用程序能够以统一的方式与文件系统交互,而不管底层文件系统的实现如何。这消除了应用程序对底层文件系统具有特定知识的需要,并使它们能够在不修改的情况下使用不同的文件系统。
使用 NFS,VFS 充当 NFS 客户端和 NFS 服务器之间的桥梁。客户端通过VFS与服务器通信,VFS处理客户端与服务器之间的通信,保证数据以双方都能理解的格式传输。这允许客户端访问和操作服务器上的文件,就好像它们是本地文件一样。)
(综上所述,NFS中的VFS为不同文件系统的访问提供了统一的接口,使应用程序无需修改即可与不同的文件系统协同工作,方便了NFS客户端与服务器端的通信。)

NFS中服务器缓存和客户机缓存的作用

服务器缓存:服务器缓存用于在NFS服务器的内存中缓存文件和目录信息。这有助于减少为客户端请求提供服务时所需的磁盘 I/O 操作数,从而提高 NFS 服务器的性能。
客户端缓存:客户端缓存用于在NFS客户端的内存中缓存文件和目录信息。这有助于减少向 NFS 服务器发出的请求数,从而提高 NFS 客户端的性能。客户端缓存可用于缓存文件数据和与这些文件关联的元数据。

(此外,客户端缓存还可用于使 NFS 客户端对网络中断更具弹性,因为即使与 NFS 服务器的连接丢失,它也可以继续访问缓存的数据。)

基于图12-11,12-13,12-14,深入理解AFS的工作原理

AFS允许用户从不同位置访问文件,就好像它们存储在本地一样。
AFS 在客户端-服务器模型上运行,中央服务器管理文件的存储和检索,以及许多客户端机器。

当客户机从 AFS 服务器请求文件时,服务器检索该文件并将其副本缓存在客户机上。对该文件的后续请求可以由客户端机器完成,而不需要额外的网络流量。这有助于减少网络延迟并提高性能。

讨论 l 谈谈你有哪些方法,能够进一步提高NFS系统的读写效率?

增大缓存容量

1 网络优化:优化网络基础设施。
2 缓存:NFS 使用缓存来提高性能。客户端可以在内存中缓存经常访问的数据。
3 使用巨型帧:巨型帧比标准以太网帧大,可以减少传输数据所需的帧数能。
4 挂载选项:有的 NFS 挂载选项可用于提高性能,包括“rsize”和“wsize”选项,指定读取或写入请求的最大大小。
5 使用专用网络:为 NFS 流量使用专用网络可以通过减少网络争用并确保 NFS 流量具有足够的带宽来提高性能。
6 使用基于硬件的加速:基于硬件的加速,可以卸载 CPU 密集型任务并提高性能。
7 负载平衡:负载平衡可以帮助将 NFS 流量分布到多台服务器上,减少任何一台服务器上的负载并提高性能。

如果让你在windows server上开发一个NFS Server端软件,你认为该软件需要实现哪些功能?

共享文件和目录:NFS服务器软件应该能够共享Windows服务器上的文件和目录,以便NFS客户端可以访问它们。
身份验证:软件应该能够对 NFS 客户端进行身份验证。
授权:软件应该能够确定哪些 NFS 客户端被授权访问特定的文件和目录。
文件锁定:软件应该能够处理来自 NFS 客户端的文件锁定请求,以确保一次只有一个客户端可以修改文件。
文件访问权限:软件应能管理NFS客户端的文件和目录访问权限,如只读、读写和执行权限。
文件和目录更新:该软件应该能够将 NFS 客户端所做的更改传播到 Windows 服务器上的共享文件和目录。
网络传输:软件应支持 NFS 协议。
性能优化:软件应进行性能优化,以确保快速高效地访问共享文件和目录。
错误处理:软件应该能够处理和响应错误和异常。
记录和监控:该软件应该能够记录 NFS 客户端操作并监控 NFS 服务器的性能。

第十三章

分布式系统中,命名(Naming)的重要作用

名字为通信与资源共享提供了便利。

DNS中迭代导航和递归导航的区别

迭代导航:在迭代导航中,客户端将询问发送到本地 DNS 服务器,然后由本地 DNS 服务器询问其他 DNS 服务器,直到找到请求的信息或超时为止。迭代导航需要客户端与本地 DNS 服务器建立连接,本地 DNS 服务器与远程 DNS 服务器建立连接,因此它的性能较差。
递归导航:在递归导航中,客户端将询问发送到本地 DNS 服务器,本地 DNS 服务器将询问转发到其他 DNS 服务器,并且返回给客户端完整的答案。递归导航仅需客户端与本地 DNS 服务器建立一次连接,因此它的性能较好。

目录服务的作用

目录服务返回满足特定属性的所有对象的属性集合。

全局名字服务GNS的工作原理

全局名字服务(GNS)是一种用于映射名称到网络地址的技术。它的工作原理是通过一个中心化的服务器,将名称映射到对应的网络地址(如IP地址)。
(当用户请求某个名称时,GNS会收到请求并在其内部数据库中查找相应的地址。如果找到了,GNS将返回给用户对应的地址,从而使用户可以连接到该地址上的服务器。如果没有找到,GNS会返回一个错误信息。
GNS可以解决两个问题:
IP地址不容易记忆,GNS可以将容易记忆的名称映射到IP地址。
IP地址可能会发生变化,GNS可以随时随地更新对应的IP地址,从而避免了用户手动更新的麻烦)

为什么LDAP比X.500更实用?

轻量性:LDAP是一种轻量级的目录访问协议,它具有比X.500更小的帧结构和更简单的语法,因此它比X.500更易于实现。
可扩展性:LDAP的简单结构和语法使它更容易扩展。
性能 LDAP通常具有比X.500更高的性能。
易用性: LDAP比X.500具有更容易理解的语法和更直接的访问方法。
LDAP比X.500更实用,因为它具有更好的性能、更灵活的扩展性和更高的易用性。

讨论在一个DNS服务中,客户端可以使用迭代导航或者递归导航,你认为这两种方式哪个查询效率更高?哪个占用的DNS服务器资源更少?

递归导航的效率更高,因为它不需要多次请求,客户端只需要向DNS服务器请求一次即可得到完整的域名信息。但是,递归导航占用的DNS服务器资源更多。

相反,迭代导航需要多次请求,但是它占用的DNS服务器资源更少。

总的来说,递归导航更快但占用的DNS服务器资源更多,迭代导航更慢但占用的DNS服务器资源更少。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值