18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 客户/服务器体系结构(数据库)

客户/服务器体系结构(数据库)

时间:2022-10-30 04:30:01 | 来源:信息时代

时间:2022-10-30 04:30:01 来源:信息时代

    客户/服务器体系结构 : 客户/服务器体系结构由两部分组成:客户应用程序和服务器程序。运行服务器程序的机器也称为服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求。客户应用程序运行在用户自己的机器上,对应于服务器,可称为客户机。由于计算机技术的迅速发展,原来连接到集中式多用户系统中的终端被功能强大的个人计算机所代替,因此集中式体系结构发生了变化。这样原先由集中式数据库管理系统完成的部分功能,现在由个人计算机来承担。其结果是集中式体系结构中的主机变成服务器系统,被个人计算机所取代的终端变成客户机系统,这就是客户/服务器体系结构,一般简称为C/S体系结构。
1. C/S体系结构
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。两者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的计算机上,对应于数据库服务器,可称为客户机。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,返回结果。
在C/S体系结构的数据库系统中,数据逻辑层处于服务器上,业务逻辑层和表现层处于客户机上。服务器主要完成数据的处理和存取,客户机主要完成的是应用,如负责管理用户界面、接受用户数据、生成数据库服务请求等,而网络上传输的是客户机的请求和服务器的处理结果。客户机支持用户应用;服务器接受客户机的请求,处理请求并返回执行的结果。在此过程中,技术的关键在于数据库服务器要有很强的编程能力以保证对数据的处理,要尽可能使网络开销降到最低,从而提高对数据处理的吞吐量。为此,可采用的措施之一是远程过程调用(remote procedure all,RPC),即由客户机发出请求,在服务器端得到处理,把处理后的成批结果返回给用户。C/S体系结构如图1所示。


图1 C/S体系结构


(1)客户机系统: 在C/S体系结构中,客户机系统由图形用户界面、表格生成工具、报表生成工具等组成。服务器系统作为SQL引擎,由DBMS的存取结构、查询计算与优化、事务处理、并发控制和故障恢复等组成。客户机系统和服务器系统的接口可以是访问数据库的标准语言SQL,也可以是应用编程接口(application programming interface,API),例如ODBC或JDBC。
客户机系统具有局部独立性(local autonomy),每个客户机端能够独立地管理自己的数据。基于其局部需求,它能够决定如何构造自己的模式以及授权什么人访问什么数据,以此来维护局部的控制和对自身资源的控制和管理。
(2)服务器系统: 在C/S体系结构下,服务器可分为事务服务器和数据服务器两类: ①事务服务器(transaction server)也称作查询服务器,它提供一个接口,使得客户可以发出执行一个动作的请求,服务器响应客户的请求,执行该动作,并将结果返回给客户。②数据服务器(data server)可以使客户向服务器发出请求,以文件或页为单位对数据进行读取或更新。数据服务器提供数据的索引机制,并且提供事务机制,以便即使客户机或进程发生故障,数据也不会处于不一致状态。服务器与客户机之间通过网络实现高速连接,客户机在处理能力上与服务器相当,并且要执行的任务是计算密集型的。通常的做法是: 数据传送到客户机,在客户机上进行所有的处理,然后再把数据传回服务器。
在C/S体系结构中,服务器系统可以是从大型主机到高端工作站甚至PC机的各种档次的设备。服务器可以从硬件和软件上配置成文件、数据库或网络服务方面的专用服务器。例如,计算密集型任务(编译、数据分析等)可以在一台或多台快速高性能多处理机上完成,这个服务器可称为计算服务器;为了保证文件的完整性和保密性,重要文件及其控制可以放到一个称为文件服务器的机器上; 邮件服务器则处理网上的所有邮件; 打印服务器则帮助用户共享网络上的打印机。当然,所有这些服务也可以集中到一台服务器上来完成。
2. C/S体系结构特点
C/S结构是计算机应用体系结构中最重要的应用方式,它是从操作系统客户/服务器方式衍生发展而来。由于其高效、稳定而成为现有企业应用的主流应用体系结构。
与其他体系结构相比,C/S显然在效率、稳定性、处理复杂业务等方面具有不可替代的优势,这些优势主要包括:
(1)效率高:C/S体系结构通过将任务合理分配到服务器端和客户机端,可以充分利用两端硬件环境的优势; 它允许数据存储在距离其最近的地方,便于最频繁及最优先使用,减少了网络的数据传输量和远程传输的延迟,尤其是在广域网上;使用C/S数据库可以减少集中式数据库所存在的CPU或I/O瓶颈。所以它提高了系统性能、吞吐量和负载能力。
(2)可靠性高: 对于集中式系统,如果运行数据库的计算机出现故障,整个系统就瘫痪了,而在C/S数据库中,如果某个节点或其网络连接出现故障,系统仍然能够运行(在一定程度上)。此外,客户机是具有存储能力的个人计算机系统,可以在客户端保留业务数据备份,这也进一步提高了数据的可靠性。
(3)可移植性好: 因为客户机与服务器一般都能在多种不同的硬件和软件平台上运行,并且可以使用不同的数据库应用开发工具,因此这种结构开放度高,扩充容易,可移植性好。
C/S结构应用系统往往是根据用户具体业务需求进行定制开发,因此在业务需求相对复杂时,C/S结构在程序开发、应用维护等方面存在一些不足,主要体现为:
(1)程序工作量大:C/S体系结构应用开发主要包括客户端开发和服务器端开发,一般而言要求具有良好的图形界面开发功能和强大的数据库开发功能。目前主要开发技术包括PowerBuilder、Delphi、VB、VC和Java几大类。应用程序开发和维护的工作任务集中在客户端,而涉及全局数据处理的(如银行储蓄系统等)则在服务器端需要进行大量编程。其次,C/S体系结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,因此,软件开发代价较高。
(2)应用维护困难: 客户端必须进行安装配置。C/S结构的管理分布在客户端和服务器,这需要高昂的投资和复杂的技术支持,无论升级还是维护,其任务都很繁重,运行维护成本很高。此外,在网络异构系统之间和不同的数据源之间可能存在非常复杂的情况。因此,如何控制和管理这种基于网络的应用,技术要求很高。
C/S体系结构的典型应用实例就是1991年在海湾战争中使用的指挥运输系统。当时的情况是要迅速完成对几十万军队的调动,几千万吨战争物资的运输,几千架各种飞机的调动,几百艘战舰的安排。可以说,在这样短短的时间内建立和完成对这么大数据量的处理,对数据的可靠性和一致性,对数据响应时间的要求是非常严格的。当时选定和组成的就是基于C/S体系结构的Sybase数据库。最后,该系统在海湾战争的几个月中,不但出色地完成了指挥和调度任务,而且也充分证明了C/S体系结构的优势。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭