第5章 客户-服务器范型.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 客户-服务器范型.ppt

第5章 客户-服务器范型 5.1 背景 5.2 客户-服务器范型中的关键问题 5.3 网络服务中的软件工程 5.4 面向连接服务器与无连接服务器 5.5 迭代服务器与并发服务器 5.6 有状态服务器 5.1 背景 在客户-服务器体系结构中,服务器指专门用于管理打印机或文件等资源的计算机,其他通过服务器访问这些资源的计算机称为客户。 在分布式计算中,客户-服务器范型指一种网络应用模型,其中的进程可扮演以下任一角色:服务器进程专门用于管理网络服务访问,客户进程访问服务器以获取网络服务。 在客户-服务器体系结构中,术语客户和服务器指的是计算机,而在客户-服务器分布式计算范型中,这两个术语指的是进程。 图5.1描述了客户-服务器模型这一概念。服务器进程运行于网络计算机上,管理该主机提供的网络服务。服务器主机也可能提供由其他服务器进程管理的其他网络服务。 用户利用客户进程访问特定服务。此时,也可能有其他客户进程来运行在该客户主机上,但必须使用相应客户进程访问特定服务。 客户-服务器模式的目的是提供网络服务。网络服务一直是分布式计算领域中最流行的应用。这里的网络服务指的是允许网络用户共享资源的服务。如telnet允许远程登录到某服务器主机上、ftp用于向服务器主机发送或接收文件,Daytime提供从服务器主机上获得时间戳,www通过服务器主机获取web内容。 5.2 客户-服务器范型中的关键问题 5.2.1 服务会话 在客户-服务器模型环境中,用术语会话表示服务器和一个客户之间的交互。如图5.1所示,服务器管理的服务可以由希望使用该服务的多个用户(并发)访问。 每个客户在使用服务器提供的服务时,都单独和服务器建立一个会话。在会话期间,客户与服务器进行对话,直到已获取了所需的服务时为止。 图5.2示出了服务器进程的执行流程。一旦启动后,网络服务器进程就无限期地运行,不断循环来接受客户的会话请求。服务器为每个客户创建一个服务会话。 5.2.2 服务协议 为实现服务,需要一个协议来定义客户和服务器在服务会话期间必须遵守的规则。其内容包括(1)服务定位方法(2)进程间通信的顺序(3)交换数据的表示及解释。 服务的定位 在最简单的方案中,服务定位机制是静态的,可用服务器进程的地址(ip地址和端口号)来识别. 在较高层的抽象层上,可以采用在目录或注册表中注册的逻辑名来识别服务。定位时,逻辑名需要映射到服务器进程的物理位置上。如果在运行时进行映射,服务位置则可能是动态的,在这种情况下,可以说服务是位置透明的。 5.2.3 进程间通信及事件同步 在客户-服务器模型中,进程之间的交互是遵循请求-应答模式的。在一次会话期间,客户向服务器发出服务请求,服务器回复一条应答消息。客户接着可以发出下一个请求,随后再接收到服务器的另一条应答消息,该模式可以无限地重复下去,直到会话结束。 客户在发出每一个请求后,都必须先等待服务器的应答,然后才能进一步继续处理。 例如,Daytime是一种简单的网络服务,客户进程仅从服务器进程获取时间戳。如果翻译成自然语言描述,该协议在服务会话期间的对话按如下方式进行: 客户:你好,我是客户地址。我可以向你要一个时间戳吗? 服务器:给,这是你要的时间戳。(时间戳) 类似地,WWW会话中的对话按如下方式进行: 客户:你好,这是客户地址 服务器:你好,我是web服务器,采用的会话协议是HTTP1.0 客户:好的。请你将文档树根目录下的index.heml页面传给我。 服务器:好的,这里是该页面的内容(内容)。 每个会话的对话都遵守该服务协议预先定义的交互模式。例如,Daytime支持RFC 867定义的协议。任何实现该服务的客户或服务程序都要遵循该协议规范,包括应该如何进行每个会话对话。 除此之外,该规范还定义了: (1)客户和服务器之间的进程间通信顺序 (2)每个请求和应答的语法和语义 (3)双方在接收到特定请求或应答后应采取的动作。 这里再次以Daytime服务为例,来分析一下这类协议。该协议定义了以下内容: 客户请求不需要任何语法,因为它与服务器的联系自动隐含了对时间数据的请求。 应答是一个字符串形式的时间戳,它根据协议规范进行了格式化。 5.2.4 数据表示 选择哪一种数据表示,取决于协议的特性及其需要。对简单

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档