软件体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 连接的检测
♦ 客户与服务器是独立工作的组件,而且常常处在不同的计算机上。 ♦ 尤其是网络上的服务器,随时随地都可能有客户请求连接的发生。 ♦ 通常,使用循环查询的方式检查连接请求是不适宜的。 ♦ 应该采用中断方式来激发和控制连接,可以通过进程等待或网络 请求中断来实现。 ♦ 一般在服务器端设置一个守护进程,也称服务器进程。服务器启 动时启动守护进程。没有客户请求时,守护进程处于等待状态。 每当有客户请求到达时,服务器守护进程立即响应,并相应产生 资源分配和执行处理,然后又回到等待状态准备接受下一个请求。
♦ 客户应用程序的主要任务是: – 提供用户与数据库交互的界面 – 向数据库服务器提交用户请求并接收来自数据库服务器的
信息 – 利用客户应用程序对存在于客户端的数据执行应用逻辑要
求。
客户/服务器的结构
客户/服务器系统构成
♦ 客户/服务器结构是由两个独立的逻辑系统,即客户及服务器构成。
♦ 这两个部分是为了完成特定的任务而形成的组件之间的单向协作
需 要返回结果就可以不必等待请求的返回。当然如果客户需要异步请求返 回的结果,这种做法会给客户方的设计增加困难和复杂性。客户方必须 维持尚未得到返回结果的请求记录,并解释返回结果和将结果存储到正 确的空间中去。
(2) 使用消息
♦ 由于目前大多数商业软件都使用事件驱动的图形操作系统,在其
关系。 ♦ 一般认为,客户根据需要向服务器发出操作请求,并期待着从服 务器返回所要求的操作结果。 ♦ 客户端组件的组成
– 用户交互界面 – 操作请求表达 – 服务代理及通信
服务端组件的组成 – 服务器接口 – 调度管理 – 事务处理计算 – 共享资源管理 – 通信 ♦ 客户与服务器之间具有通信连接,并遵守公共的
– 由于微处理器的日新月异,其强大的处理能力和低廉的价格使微机 网络迅速发展,已不仅仅是简单的个人系统,这便形成了计算机界 的向下规模化(downsizing)。
♦ 其主要优点是用户可以选择适合自己需要的工作站、操作系统和 应用程序。
客户/服务器的结构
服务器负责有效地管理系统的资源,其任务集中于: – 数据库安全性的要求 – 数据库访问并发性的控制 – 数据库前端的客户应用程序的全局数据完整性规则 – 数据库的备份与恢复
通信协议,其中主要包括:
--请求的表达 --返回结果的表达 --连接关系 --状态的表达
1.客户/服务器的连接
♦ 连接要求 ♦ 客户与服务器的连接是通过客户与服务器
的接口进行的。 – 使用过程的接口 – 基于消息的接口
客户与服务器通信必须满足下列要求: ♦ (1) 客户与服务器间的所有交互必须通过定义好的接口来实现,客户向
(1) 使用过程(续) ♦ 如果不希望客户发生请求后一直处于等待状态,可以在客户/服务器的
接 口中加入回调例程。 ♦ 这时,如果客户的请求发出并得到服务器的确认后,客户立即返回执
行 自身其它的程序逻辑,等到服务器操作完成后,才把结果通知客户。这 就是异步响应方式。 ♦ 如若客户发出请求一段时间后才需要使用请求返回的结果,或根本不
4. 连接的协议
客户与服务器之间传送的是——字符流。
♦ 需要经过分析处理,根据规定的句法,该字符流传达特定的意义。 ♦ 例如: – 对调用请求需要提供调用的名称、参数的个数、顺序、类型、值, 执行的方式、返回值的类型等。 ♦ 在网络中应用的客户/服务器的连接通信中,传送的信息需要更加
标准化地表达,即相互通信需要遵守建立在硬件支持上的连接协 议,即应用层的连接协议。 ♦ 目前常采用的协议有:
3. 连接方式
客户与服务器的连接有两种方式: – 使用过程 – 使用消息 ♦ (1) 使用过程
♦ 当采用使用过程连接时,两个组件必须通过良好定义的接口进行交互通
信。这些接口可能是系统中的某一过程。 客户或服务器可以用过程实现的请求及响应机制进行交互。这是采用远 程过程调用(RPC)及相关技术来实现的。 客户通过服务器的接口向服务器发出服务请求,该请求被看成对服务器 的一个远程的过程调用请求。 客户发来自百度文库请求后,即进入等待返回结果状态。而请求的响应在服务器上 计算完成。 通常的远程过程调用RPC多是同步运行的,即客户发出请求后一直处于 等待状态,不执行任何自身的程序逻辑,直到得到返回结果为止。
软件体系结构
——客户机-分配器-服务器风格
王栓 虞剑飞 王呈 焦廉洁 蔡泽能 刘耘
客户/服务器风格
概述
♦ 20世纪80年代以后,集中式结构逐渐被以PC机为主的微机网络所 取代。 ♦ 个人计算机和工作站的采用,永远改变了协作计算模型,从而导
致了分散的个人计算模型的产生。
– 由于大型机系统固有的缺陷,如缺乏灵活性、无法适应信息量急剧 增长的需求为整个企业提供全面的解决方案等等。
中的客户/服务器连接均采用消息传送模式。
♦ 这是因为基于过程连接的请求,响应接口为了实现异步工作,必
须引入回调例程。这是接口本身的同步特性决定的。消息本身是 异步的。消息传送并不期待返回信息。但只要建立了双向的消息 连接,就可以实现同步的RPC调用。事实上,即使是同步的RPC 也可以用来发送消息,只是不需要等待返回消息。因此,可以说 两者是完全可以替代的。
服
务器发送它的请求需通过服务器的访问接口。服务器返回的信息和状态 也须经客户的接口送入。 (2) 客户与服务器交互的信息必须按照规定的语法形式表达。尤其是与数 据库服务系统的交互。 (3) 组件之间的信息传送,从客户到服务器主要是请求信息,而从服务器 到客户主要是操作返回信息和状态信息。 (4) 客户的请求信息一般在客户端打包后再传给服务器。在服务器端,对 收到的信息包进行解包处理,取出其中的有用信息,然后形成对请求服 务的调用。从服务器返送给客户端的信息也需经同样打包,解包的处理 过程。 (5)服务器对接收到的客户端信息进行解包分析后,执行服务器上的相关 服务,如查询数据库,按客户要求进行实施。