楼宇智能化技术科技论文题目:C/S与B/S结构的分析与比较姓名:李正智学号: 1020301016院(系):化工学院化工机械系专业:自动化指导教师:杨春建完成日期: 2013年11月13日C/S与B/S结构的分析与比较李正智(青海大学,青海西宁,810016)摘要:本文通过对C/S结构和B/S结构的介绍以及它们各自特点的比较,指出采取两者相结合的混合结构已成为必然趋势,旨在适应日新月异的计算机技术和纷繁复杂、多变的系统需求。
关键词:C/S结构; B/S结构;混合结构Abstract: Based on C/S structure and B/S structure is introduced, and the comparison of their respective characteristics, points out that taking the combination of hybrid structure has become an inevitable trend, to adapt to the ever-changing computer technology and the complicated and changeful system requirements.Keywords: C/S structure; B/S structure; Hybrid structure引言:随着计算机的诞生和应用,计算机模式从集中式结构(数据和应用程序在一台主机上)转向了分布式结构(数据和应用程序跨越多个节点机),尤为典型的是C/S结构(客户机/服务器模式),该结构自上个世纪八十年代后得到了广泛的应用。
随着网络技术的高速发展,尤其是基于Web的信息发布和检索技术、Java技术以及网络分布式对象技术的飞速发展,导致计算机网络结构向更加灵活的多级分布结构演变,网络结构跨入一个新阶段,即B/S结构(浏览器/服务器模式)。
基于Web的B/S方式其实也是一种客户机P服务器模式,只不过它的客户端是浏览器。
1 C/S结构和B/S结构1.1 C/S结构C/S结构[1],即Client/Server (客户机/服务器)结构。
C/S结构通常采取两层结构,如图1所图1 传统的两层C/S结构示,服务器负责数据的管理,客户机负责完成与用户的交互任务。
客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。
服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。
服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。
服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
C/S结构在技术上已经很成熟,它的主要特点是交互性强、具有安全的存取模式、响应速度快、利于处理大量数据。
但是C/S结构缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度,进一步的数据拓展困难较多,所以C/S结构只限于小型的局域网。
1.2 B/S结构B/S结构,即Browser/Server (浏览器/服务器)结构,是基于Internet环境的信息系统,采取标准的TCP/IP协议,以WEB为平台形成的。
B/S结构分为三个层次:客户机、WEB服务器、数据服务器如图2所示[2]。
B/S结构是对C/S结构的一种变化和改进。
客户机表示层:用于界面引导,接受用户输入,并向WEB服务器发出服务请求,显示处理结果。
WEB服务器业务逻辑层:执行业务逻辑,并向数据库发送请求。
数据服务器数据存储层:执行数据逻辑,运行SQL式存储过程。
图2 B/S结构在B/S结构中,用户通过客户机浏览器向WEB服务器提出请求, WEB服务器完成对用户进行身份核对后,利用HTTP协议将所需的网页传送给客户机,客户机接受并把它显示在客户机浏览器上。
WEB服务器接受用户的请求,首先将需要执行的应用程序与数据服务器链接,向数据服务器提出数据处理申请,数据服务器将数据处理结果提交给WEB服务器,再由WEB服务器传送回客户机。
数据服务器包含系统的数据处理逻辑,接受WEB服务器对数据操作的请求,实现对数据库的查询、修改、更新等功能,把运行结果提交给WEB服务器。
B/S结构相对C/S结构在技术上有先进性,它的主要特点是分布性强、共享性强、维护方便。
但是B/S结构的数据安全性不高、数据传输慢、对服务器要求过高等问题比较突出。
虽然BPS结构可以利用多种Script语言和ActiveX技术开发较为复杂的应用,但是和C/S 结构的一系列应用工具相比还不是很成熟。
2 C/S结构和B/S结构的比较与分析2.1 硬件环境的比较C/S建立在局域网的基础上,局域网之间再通过专门服务器提供连接和数据交换服务。
在C/S结构中,客户机和服务器都需要处理数据任务,这就对客户机的硬件提出了较高的要求。
B/S结构建立在广域网之上,不必配备专门的网络硬件环境。
虽然对客户端的硬件要求不是很高,只需要运行操作系统和浏览器,但服务器端需要处理大量实时的数据,这就对服务器端的硬件提出了较高的要求。
总体来讲, B/S结构相对C/S结构能够大大降低成本。
2.2 系统维护、升级的比较C/S结构中的每一个客户机都必须安装和配置相关软件,如操作系统、客户端软件等。
当客户端软件需要维护、升级,即使只是增加或删除某一功能,也需要逐一将C/S结构中所有的客户端软件卸载并重新安装。
如果不进行升级,可能会碰到客户端软件版本不一致而无法工作的情况。
B/S结构中每一个客户端只需通过浏览器便可进行各种信息的处理,而不需要安装客户端软件,维护、升级等几乎所有的工作都在服务器端进行,如果系统需要升级,只需要将升级程序安装在服务器端即可。
2.3 系统安全的比较C/S结构采取点对点的结构模式,数据的处理是基于安全性较高的网络协议之上。
另外, C/S一般面向相对固定的用户群,它可以对权限进行多层次的校验,对信息安全的控制能力很强,安全性可以得到很好的保障。
B/S结构采取一点对多点、多点对多点的开放式结构模式,其安全性只能靠数据服务器上的管理密码的数据库来保证,况且网络安全技术尚未成熟,需不断发现、修补各种安全漏洞。
2.4 用户接口的比较C/S结构多是建立在Windows平台上,表现方法有限,对程序员普遍要求较高。
B/S结构是建立在浏览器上,有更加丰富和生动的表现方式与用户交流。
2.5 处理上的比较C/S结构建立在局域网上,处理面向在相同区域的比较固定的用户群,满足对安全要求高的需求,与操作系统相关。
B/S结构建立在广域网上,处理面向分散的地域的不同的用户群,与操作系统关系较少。
另外, B/S的处理模式与C/S处理模式相比,简化了客户端,只需要安装操作系统、浏览器即可。
2.6 软件重用的比较C/S结构软件可从不可避免的整体性考虑,构件的重用性不如在B/S要求下构建的重用性好。
B/S对应的是多重结构,要求构建相对独立的功能,能够相对较好的重用。
2.7 系统速度的比较C/S结构在逻辑结构上比B/S结构少一层,对于相同的任务, C/S结构完成的速度总比B/S结构快,使得C/S更利于处理大量数据。
另外,由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
2.8 交互性与信息流的比较C/S结构的交互性很强,在C/S结构中,客户机有完整的客户端软件,能处理大量的、实时的数据流,响应速度快。
B/S结构虽然可以提供一定的交互能力,但交互能力很有限。
C/S 的信息流单一,而B/S结构可处理如B-B、B-C、B-G等信息并具有流向的变化。
3 C/S结构与B/S结构相结合为了克服C/S和B/S结构的缺点,在原有B/S体系结构基础上,采用一种新的体系结构,即C/S与B/S相结合的体系结构[3],见图3.图3 C/S与B/S混合结构在C/S、B/S相结合的体系结构中,一些需要用 web 处理的,满足大多数访问者请求的功能界面(如信息发布查询界面)采用B/S结构,后台只需少数人使用的功能应用(如数据库管理维护界面)采用 C/S结构。
客户端发出 HTTP请求到 Web server,Web server将请求传送给Web应用程序。
Web应用程序将数据请求传送给数据库服务器,数据库服务器将数据返回Web 应用程序,然后再由 Web server将数据传送给客户端。
采用这种结构的优点在于:(1)充分发挥了B/S与C/S体系结构的优势,弥补了两者的不足$充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。
(2)信息发布采用B/S 结构,保持了瘦客户端的优点。
装入客户机的软件可以采用统一的www浏览器。
而且 www浏览器和网络综合服务器都是基于工业标准,可以在所有的平台上工作。
(3)数据库端采用 C/S结构,通过ODBC连接。
这一部分只涉及到系统维护、数据更新等,不存在完全采用 C/S结构带来的客户端维护工作量大等缺点,并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S 存在的固有的缺点。
(4)对于原有基于C/S 体系结构的应用,可以非常容易地升到这种体系结构,只需开发用于发布的 www界面,可以保留原有的C/S结构的某些子系统,充分地利用现有系统的资源,使得现有系统或资源无需大的改造即可以连接使用,保护了用户以往的投资。
(5)将服务器端划分为Web服务器和Web应用程序两部分。
4 结束语从以上的比较分析可以看出, C/S结构强调专业性, B/S模式更注重通用性,所以只片面强调哪一种结构更好或更强,是没有说服力的。
最明智的做法是根据两者的特点将其结合起来,使其发挥更好的作用。
参考文献:[1]李仁玲.C/S与B/S结合的图书馆管理系统设计[J].情报杂志,2006,(1).[2]程朝晖.C/S与B/S不该成冤家[J].中国计算机用户,20021[3]史延新.大学生公寓管理系统与B/S和C/S[J].电子科技,2005,(12).。