
3.3.2 二层C/S系统的结构
C/S系统起源于20世纪80年代,是一种存储、访问和处理数据的分布式模型。一个C/S系统一般需要两台计算机。
C/S系统中计算机执行一个或多个数据存储、访问或处理操作,这与终端的概念是不同的,因为终端只能传递和显示字符,而C/S系统的功能更为强大。
当个人计算机与服务器连接时,整个处理将被分配在C/S系统之间,通过对任务进行合适的分组,可以使整个系统保持高效的运作。
C/S系统是由客户机和服务器以及连接两者之间的网络构成的,客户机与服务器体现了分工的差异,它们完成的处理是不同的。一般来说,服务器的速度快、数据存储量大,较客户机系统执行更多的工作,主要负责向客户机提供数据服务,实现数据管理和事务逻辑。而客户机的性能要求则相对较低一些,客户机只完成整个工作的较小部分,主要负责应用逻辑的处理、用户界面的处理和显示通过网络与服务器交互,大量的数据处理是由服务器完成的。
C/S结构既可以指硬件的结构,也可以指软件的结构。硬件的C/S结构,是指某项任务在两台或多台计算机之间进行分配。客户机在完成某一项任务时,通常要利用服务器上的共享资源和服务器提供的服务。在一个C/S结构中可以分为多台客户机和多台服务器。
软件的C/S结构是把一个软件系统或应用系统按照逻辑功能划分为若干个组成部分,如用户界面、表示逻辑、事务逻辑、数据访问等。这些软件成分按照其相对角色的不同区分为客户端软件和服务器端软件。客户端软件能够请求服务器端软件的服务。如客户端软件负责数据的表示和应用,请求服务器端软件为其提供数据的存储和检索服务。客户端软件和服务器端软件可以分布在网络的不同计算机节点上,也可以放置在同一台计算机上。客户端软件和服务器端软件的功能划分可以有多种不同的方案。
二层C/S结构如图3.2所示。

图3.2 二层C/S结构
C/S结构是一个开放体系结构,因此,数据库不仅要支持开放性,而且还要开放系统本身,包括用户界面,软、硬件平台和网络协议。利用开放性在客户机一侧提供应用程序接口及网络接口,这样用户仍然可以按照他们熟悉的、流行的方式开发客户机应用。在服务器一侧,通过对核心RDBMS的功能调用,使网络接口满足了数据完整性、保密性及故障恢复等要求。有了开放性,数据库服务器就能支持多种网络协议,运行不同厂家的开发工具;而对于某一应用程序开发工具来说,其也可以在不同的数据库服务器上存取不同数据源中的数据,这样就给应用系统的开发带来了很大的灵活性。
当今,C/S结构已经成为计算机体系结构的主流,并迅速成为Internet的主干。