c/s

c/s

C/S 结构,即大家熟知的客户机和伺服器结构。它是软体系统体系结构,通过它可以充分利用两端硬体环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数套用软体系统都是Client/Server形式的两层结构,由于现在的软体套用系统正在向分散式的Web套用发展,Web和Client/Server 套用都可以进行同样的业务处理,套用不同的模组共享逻辑组件;因此,内部的和外部的使用者都可以访问新的和现有的套用系统,通过现有套用系统中的逻辑可以扩展出新的套用系统。这也就是目前套用系统的发展方向。

  • 中文名称
    客户机和伺服器结构
  • 外文名称
    Client/Server Structs
  • 属    性
    软体系统架构
  • 别    称
    C/S Structs

简介

(Client/Server或客户/伺服器模式):Client和Server常常分别处在相距很远的两台电脑上,Client程式的任务是将使用者的要求提交给Server程式,再将Server程式返回的结果以特定的形式显示给使用者;Server程式的任务是接收客户程式提出的服务请求,进行相应的处理,再将结果返回给客户程式。

传统的C/S体系结构虽然採用的是开放模式,但这只是系统开发一级的开放性,在特定的套用中无论是Client端还是Server端都还需要特定的软体支持。由于没能提供使用者真正期望的开放环境,C/S结构的软体需要针对不同的作业系统开发不同版本的软体, 加之产品的更新换代十分快,已经很难适应百台电脑以上区域网路使用者同时使用。而且代价高, 效率低。

模式

C/S 结构的基本原则是将电脑套用任务分解成多个子任务,由多台电脑分工完成,即採用“功能分布”原则。客户端完成资料处理,资料表示以及使用者接口功能;伺服器端完成DBMS的核心功能。这种客户请求服务、伺服器提供服务的处理方式是一种新型的电脑套用模式。

优点

C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给伺服器。对应的优点就是客户端回响速度快。具体表现在以下两点:

(1)套用伺服器运行资料负荷较轻。最简单的C/S体系结构的资料库套用由两部分组成,即客户应用程式和资料库伺服器程式。二者可分别称为前台程式与后台程式。运行资料库伺服器程式的机器,也称为套用伺服器。一旦伺服器程式被啓动,就随时等待回响客户程式发来的请求;客户应用程式运行在使用者自己的电脑上,对应于资料库伺服器,可称为客户电脑,当需要对资料库中的资料进行任何操作时,客户程式就自动地寻找伺服器程式,并向其发出请求,伺服器程式根据预定的规则作出应答,送回结果,套用伺服器运行资料负荷较轻。

(2)资料的储存管理功能较为透明。在资料库套用中,资料的储存管理功能,是由伺服器程式和客户应用程式分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台套用所不能违反的规则,在伺服器程式中集中实现,例如访问者的许可权,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程式上的最终使用者,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户伺服器架构的套用中,前台程式不是非常“瘦小”,麻烦的事情都交给了伺服器和网路。在C/S体系下,资料库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

劣势

随着网际网路的飞速发展,移动办公和分散式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分散式的资料。

客户端需要安装专用的客户端软体。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬体损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软体升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

对客户端的作业系统一般也会有限製。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的作业系统等等,更不用说Linux、Unix等。

C/S架构的劣势还有高昂的维护成本且投资大。首先,採用C/S架构,要选择适当的资料库平台来实现资料库资料的真正“统一”,使分布于两地的资料同步完全交由资料库系统去管理,但逻辑上两地的操作者要直接访问同一个资料库才能有效实现,有这样一些问题,如果需要建立“即时”的资料同步,就必须在两地间建立即时的通讯连线,保持两地的资料库伺服器线上运行,网路管理工作人员既要对伺服器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

其次,传统的C/S结构的软体需要针对不同的作业系统系统开发不同版本的软体,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈沖击C/S,并对其形成威胁和挑战。

服务端的特征:

1.被动的角色(从)。

2.等待来自使用者端的要求。

3.处理要求并传回结果。

使用者端的特征:

1.主动的角色(主)。

2.传送要求。

3.等待直到收到回应。

区别

C/S与B/S的区别

首先必须强调的是C/S和B/S并没有本质的区别:B/S是基于特定通信协定(HTTP)的C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。

之所以在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。

(1)B/S属于C/S,流览器只是特殊的客户端;

(2)C/S可以使用任何通信协定,而B/S这个特殊的C/S架构规定必须实现HTTP协定;

(3)流览器是一个通用客户端,本质上开发流览器,还是实现一个C/S系统。

相关词条

相关搜索

其它词条