欢迎来到天天文库
浏览记录
ID:19695522
大小:1.05 MB
页数:15页
时间:2018-10-05
《命名服务与透明性课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章命名服务与透明性8.1概述在一个分布式系统中,名字可用于指称或索引各种类型的资源,包括计算机、服务、端口、个体对象以及用户。分布式系统中资源的共享与通信需要名字,用户(客户)请求计算机操作诸多资源中的某个特定对象时需要使用名字。8.1.1名字与属性名字可分为人们可读的文本名和系统标识符。前者便于人们识别和记忆,后者是软件用来对资源进行有效地解释和存储的名字形式,是一个定长的位串,二者统称为名称(name),下面是本书中出现的几中名称:·物理网址和逻辑网址:这类名称可视为名字的位置或地址;·端口、进程和组标识符:这类名称可视为消息的目的地;·资源标识符
2、:由服务器和内核管理的资源的低层独立定位的标识符;·文件:使用人们可读的文本名字进行存取的信息集。图8.1给出了当客户用文本名字对某一资源(如文件)进行操作时,一些不同类型的名字是如何组合在一起的。分布式系统中使用的许多名称都是有特定含义的,客户(用户或进程)使用这样的名称请求服务系统对它管辖的命名对象和资源进行操作。如图8.1所示。引用超出任何单一服务系统范围的实体时,也需要命名。这些实体的典型例子包括用户、计算机及服务系统本身。这些命名要求在范围上应该是全球的。名称和对象之间的联结称为联编(binding)。一般而言,属性值或是基本值,如整数,或是自身
3、的名称,如internet地址。最终,所有的名称都要被简化成基本值或不能再进一步“查找”的基本名,如以太网址。与名称相关的属性不仅对用户而且对其他服务都是有用的。8.1.2命名服务系统命名服务系统管理着一个联编数据库,其中存储着文本名(可读的)及其相关的属性。命名服务系统支持的主要操作是解析一个名字——在该数据库中查找给定名字的相关属性,此外还有为新名字生成新的联编、删除联编以及列出已联编的名字等操作。名字管理从其他服务中独立出来很大程度上是因为分布式系的开放性,此外还有以下原因:一致性:让不同的服务器或服务系统管理的资源出现在同一命名方案中是比较方便的。
4、集成(integration):在分布式系统中,不一定总能预测共享的范围。有时候,需要共享和命名在不同管理域中创建的资源,这可能会引起问题。例如,合并两个用户集,可能发生用户名冲突。8.1.3命名服务的一般要求命名服务起初是很简单的,它只需要在单一的管理域中将名字和对应的地址联编起来。网络互连和分布式系统规模的扩大,使得名字映射问题变得越来越复杂。1、处理任意数量的名字并为任意数量的管理组织服务2、长生命期:3、高可靠性:4、故障隔离:5、容忍怀疑:Internet域命名系统(DNS)使用得非常广泛,它命名Internet上的对象(用户和计算机)。8.2一
5、般的的命名方式在计算机系统中,每个对象一般有两个名字,一个是由用户识别的文本名(符号名),另一个是由系统使用的内部名。内部名可以是该对象的实际位置,也可以是查询该对象之地址的一种表示形式。同一对象可能有多个名字,一个名字也可用来代表不同的对象(在不同的作用域内)。通过某种映射,系统可以把用户定义的符号名转换成相应的内部名。图8.2给出了一个简单的文件目录结构。8.3.2分布式系统中的命名方案分布式系统中常用的命名方案有绝对命名、相对命名和层次式命名三种。·由绝对命名方案命名的名字是全系统范围惟一的、无二义性的。在机内,这类名字通常是由时钟或计数器之值产生的
6、位串。·由相对命名方案命名的名字依赖于使用它的上下文。对于不同的使用者,一个对象的名字可以是不同的,或者说,一个对象的名字不惟一。·层次式命名方案用如下方式组织系统中的对象名:(1)对象被分划成若干组;(2)每组给定全局唯一的组名;(3)每组中的每个对象在组内给定唯一的名字;(4)一个组中对象名还可按此方式进一步分划成若干组;例如,VMS的命名体系是层次式的。如图8.4所示。例如,DEC网的命名方式,如图8.5所示远程站点上的文件可通过把该站点名加在相应文件的路径名之首来进行访问。例如,site1::userdisk:dir2meletter.dom
7、在这种方案中,站点名必须惟一,且每个站点必须知道系统中所有其他站点的名字。这种方案很容易实现,用户也比较容易掌握。不过,它存在下面的问题:1.由于文件的位置作为文件名的一部分,当文件迁移时,文件名需改变,相关文件操作也需修改。2.若一文件有多个文件副本位于不同站点上,就有不同的名字,对其中任何一个的更改都容易导致不一致性。3.系统的某些细节(如站点)对用户是可见的,这是分布式系统所不希望的。*设计命名方案的一个基本观点是:名字是依赖于位置还是独立于位置。8.3.3惟一标识符和字符串名系统中的每一对象给定一个惟一的标识符(UID),即在系统中,它惟一地指称该
8、对象。一个对象的UID在其整个生命期内决不改变。特别,当一个对象从
此文档下载收益归作者所有