APP下载

混合模式的数据库系统结构

2014-05-04焦景欣

探测与控制学报 2014年2期
关键词:客户机数据库系统客户端

焦景欣,王 伟,田 博,石 亮

(1.机电动态控制重点实验室,陕西 西安710065;2.西安机电信息技术研究所,陕西 西安710065)

0 引言

坦克装甲车辆多波段隐身效能综合评估系统是针对目前国内隐身测试技术不能满足隐身技术发展的需要,缺乏隐身目标精确测量手段和方法、测试系统频段单一等问题,建立的一套以多波段动态测试等技术为基础,通过测试验证实现多波段隐身效能评估为坦克装甲车辆等武器装备的隐身设计提供数据支撑的数据库系统。随着测试新技术、新方法的不断应用,测试数据种类、测试数据数量、程序功能模块的不断扩充,软件系统所要处理的数据数量、技术难度更加复杂,数据信息的交流更加频繁,使得原有数据库系统对数据信息的管理、维护、交流无法满足现有需求。为了解决这些问题,需要重新设计数据库系统的模式结构。

在数据库系统的开发应用中,当前普遍采用安全性较高的客户机/服务器(C/S)模式[1-2],随着Internet、云计算等信息技术的兴起,产生了一种有别于C/S结构开放性有限、系统安装及维护成本高的新型结构模式即浏览器/服务器(B/S)模式[3-4]。B/S模式易于系统维护、便于信息资源交流,而且顺应了当下结构开放、资源共享的信息技术发展理念,该模式结构是目前数据库系统开发的一个热点,但B/S结构也有其自身与之俱来的缺点,即响应速度受网络传输容量影响较大、系统安全性相对较低[5]。针对单一的C/S或B/S模式所存在的技术缺陷,本文提出基于两种模式混合的数据库系统结构。

1 C/S模式、B/S模式比较

1.1 C/S模式基本原理

C/S模式即Client/Server(客户机/服务器)结构,是一种两层结构的系统。在这种模式下,它是将应用与服务分离,将一个完整的功能应用分为两个结构部分即客户端和服务器,客户端完成用户向服务器的操作请求,而服务器是完成对客户机操作请求响应的逻辑系统。C/S模式运行基本关系表现为:"发出申请/响应申请"的应答模式。一旦系统内用户由客户机"发出申请"访问联网数据库服务器时,数据库服务器对"发出申请"作出"响应",并进行相应的处理操作,同时将处理结果返回给"发出申请"的客户机。C/S模式结构示意如图1所示。

图1 C/S模式结构示意图Fig.1 C/S mode system schematic

利用这种方式,能最大限度地提升系统内资源信息使用效率,使得不同用户可以共享、处理同一台服务器上的数据。在这种工作方式下用户应用程序不能直接处理系统数据库的数据信息,全部操作申请必须通过数据库接口和网络间传输协议发送给数据库服务器进行处理,使得系统的信息安全性能够得到足够的保证。但这种结构最大的缺点是由于本身的模式结构问题会导致系统内联网客户机的数量比较有限,而且在功能应用上不满足进行多用户的并行查询需求;同时所有使用该系统的计算机需要逐一安装并配置客户端应用程序才能进行工作;而现实情况下由于各客户计算机自带系统及应用程序存在差异性,在进行客户端应用程序安装时时常会发生系统连接文件与客户端应用程序发生冲突的情况。从而会造成很大的人力、物力调试成本浪费。

1.2 B/S模式基本原理

B/S模式是基于Internet的兴起,开放的资源信息结构发展而来的一种新型结构模式,它是建立在广域网基础上、利用成熟的web浏览器技术、结合网页的多语言脚本,用计算机系统自带的通用浏览器实现原来需要复杂的专用软件才能实现的功能。B/S模式结构实际上是一种两层C/S模式发展起来的新的网络结构模式,其本质是三层结构的C/S模式。它将两层C/S结构中的客户事务逻辑模块从客户机的任务中分离出来,作为单独的一层来处理,从而均衡地把程序任务分配给了网络应用服务器,同时由于客户机的事务逻辑部分由网络服务器来负责,使得客户机工作量一下精简了许多。从而大大降低了客户机的工作负担,均衡了系统各组成部分的工作效率。进而降低了对客户机硬件配置的要求,减少了系统配置成本。B/S模式结构示意图如图2所示。

通过这种方式使得整个系统的使用操作变得异常便捷。用户只需使用客户端计算机系统自带的网页浏览器即可向分布在网络上的服务器发出请求,实现系统内各种信息的交流从而规避了不同用户计算机安装系统及应用程序差异性所带来的兼容性问题。系统开发者也不再需要为不同级别的用户开发不同的客户程序,只需通过升级服务器中的软件程序,即可实现系统内所有联网计算机的同步更新。使得系统开放性得到了最大的提升,而维护成本大幅降低。但B/S模式也有自身的缺点,由于采用页面交互方式,网页需要实时动态刷新造成响应速度延迟,当进行大容量数据资源交互时会给数据库服务器造成较大的压力,响应速度不及C/S模式快。同时由于客户端计算机只需要通过网页浏览器即可实现对整个信息系统的访问和操作,安全性相对较弱。

1.3 C/S模式与B/S模式的特点比较

交互性及信息安全性方面:C/S模式交互性强、安全性较高、数据传输速度快,但需在每个客户端计算机安装对应开发的应用软件方可实现网内信息资源的交互和管理,系统维护及调试工作量比较大,结构开放性有限、信息交流步骤繁琐。B/S模式在网内只需使用计算机系统自带的网页浏览器即可实现对数据库服务器的连接访问,结构开放便于信息共享和管理系统的更新升级,但关键问题是安全性相对不高。

在开发成本方面:由于C/S模式下,大部分工作量花费在客户端软件开发上,因此对客户端计算机信息处理能力要求较高,从而提升了整个系统的开发成本。B/S模式下网内各计算机之间只需系统自带的网页浏览器即可运行全部程序功能,无需单独开发客户端应用程序,从而开发成本要低很多。

在软件维护成本方面:C/S模式下,系统开发者需要对数据库服务器和联网的所有用户客户端程序一一进行安装、调试和维护,需要耗费大量的人力和物力成本,工作量大。B/S模式仅对服务器端进行管理和维护,软件维护成本比较低。

2 混合模式的系统结构

混合模式结构就是基于C/S与B/S模式组合而成的系统结构设计方法。在系统开发过程中,通过对系统进行优化分析,对不同的应用有针对性地采用不同的实现模式,最终通过系统间功能的整合实现整个结构模式的统一。

在数据库信息系统的设计过程中,根据资源类型、操作类型和用户属性进行权限划分,采用角色访问的控制思想和模块化访问的方式,实现管理与用户的隔离。整个数据库信息系统参考系统类别,依据数据库信息系统的使用对象将结构功能分为两类:一类是面向常规用户的基本操作、使用功能;另一类面向具有安全最高等级的信息系统操作人员的维护、管理功能。整个数据库信息系统是基于C/S和B/S两种模式混合的结构设计。不论使用者是通过何种方式与信息系统互联,只要进行数据修改和系统维护等具有安全最高等级要求的操作均使用C/S模式。执行通用常规操作即一般用户的查询和浏览操作,则使用B/S模式。执行查询和浏览操作,则使用B/S模式。设计完成后的混合模式结构如图3所示。

基于C/S模式结构封闭,同时又有运行速度快、处理大容量数据效率高、存取途径更安全的特点,在数据库信息系统内部应用中通过C/S模式来实现数据及相关信息的录入、存储、修改、维护及其相关的管理操作。其应用主要面向软件系统的开发人员和软件日常维护人员。当要实现对系统内数据信息处理时,系统管理者通过C/S模式下的联网计算机访问数据库,计算机系统中安装的客户端应用程序则会通过网络协议对数据库服务器程序发出请求,数据库服务器依据操作请求做出响应、返回信息处理结果,从而最大限度地提高数据库服务器运行工作效率、降低响应延迟时间。

图3 基于C/S和B/S混合模式的结构示意图Fig.3 System schematic of mixed modes based on C/S and B/S mode

B/S模式的应用面向经审核验证并赋予相应操作权限的用户。满足用户查询、浏览、数据统计、聚类分析等功能应用。基于B/S模式实现客户端用户与数据库服务器的信息交互,由于B/S模式的结构内部计算机间均以网页浏览器方式与数据库服务器连接,在满足系统间最便捷的信息交互的同时充分保证在有安全保障的情况下最大限度地实现数据库系统的开放性。

以上通过C/S与B/S两种模式的优化混合,从而最大限度地保证系统结构的开放性、交流的便捷性、资源信息的安全性和维护成本的可接受性。

3 设计实例

基于混合模式结构开发的数据库系统如图4所示,内含两个子系统即数据管理系统和Web信息查询系统。数据管理系统基于C/S模式,功能应用面向软件系统的开发人员和软件日常维护人员,主要完成数据库信息系统内数据及相关信息的更新、录入、存储、修改、维护及其相关的管理操作。Web信息应用系统基于B/S模式,功能应用面向有权限限制的一般用户使用操作,主要满足用户进行数据信息的查询、浏览、统计、聚类分析等功能应用。

混合模式数据库系统通过系统间管理与用户的功能隔离、C/S与B/S两种模式的优化混合,兼具C/S与B/S两种模式结构的优点,将原有数据库系统数据各自独立、分散处理、结构封闭、信息交流困难、系统维护成本高的现状彻底改变,提高了数据库信息化管理水平。

图4 主系统启动运行界面Fig.4 Main System Start running Interface

通过与单一模式结构的对比(见表1)来看,应用混合模式的结构系统能够最大限度的兼顾C/S与B/S模式的优点,降低单一模式开发所带来的缺陷。

表1 应用混合模式与单一模式结构的对比Tab.1 Comparing advantages and disadvantages of mixed mode and single mode

通过与单一模式结构进行必要的软件维护及信息资源共享等操作对比(见表2)可以看出,应用混合模式的数据库信息系统在数据信息共享操作中复杂度与B/S模式相同,均优于C/S模式。在进行软件安装及系统升级更新操作中,复杂度均优于C/S模式,但弱于B/S模式。

表2 应用混合模式与单一模式进行软件维护及资源共享的工作复杂度对比Tab.2 Software maintenance and resource sharing complexity of mixed mode and single mode

由于目前的系统软件是基于数据库开发的,所有进行的操作都需要与数据库进行交互,因而,基于不同模式的软件系统的优劣在很大程度上取决于数据交互的效率和性能。通过利用客户端用户计算机对系统数据库服务器依次发送容量从小到大的数据存储请求来测试C/S与B/S两种模式下数据库服务器的响应时间变化情况,用以考量这两种模式的传输效率哪个更高。这里将数据库服务器对客户端响应的时间定义为系统从客户端请求发出开始到客户端接收到数据库服务器数据所消耗的时间。由于系统之间的传输速率受网络不稳定性、传输延迟性、网络带宽、系统结构、硬件配置、用户连接基数等有关。为了提高测试数据的可靠性,测试时在相同硬件配置、相同测试环境、相同连接用户基数的条件下,先后将系统分别采用C/S及B/S模式进行测试,用同一客户端用户计算机对系统数据库服务器发出数据存储请求,统计数据库服务器完成每次请求的响应时间变化情况。测试结果统计情况见图5。

图5 C/S与B/S模式下服务器响应时间依据容量变化图Fig.5 Server response time of C/S and B/S mode depends on system capacity

从测试结果可以看出,当数据容量相对较小时,数据库服务器对在C/S模式和B/S模式下的操作响应时间基本一致;当数据量越来越大时,使用B/S模式下的响应延迟时间就越来越滞后于C/S模式。当数据大到一定程度时两者时间又趋于一致。究其原因,主要是因为C/S模式在逻辑结构上比B/S模式少一层,同时C/S模式下的客户端软件都是通过ODBC直连到数据库服务器,数据传输效率相对比较高。B/S模式则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的实时连接,并且由于B/S模式下客户端软件均以网页形式与服务器交互,存在页面刷新及带来的二次响应延迟问题,所以对于相同的数据传输任务,C/S模式完成的速度比B/S模式快。这使得C/S模式更利于处理大容量数据。而最终为什么两种模式下响应延迟时间又趋于一致,是因为发送的数据容量已接近甚至超出当前服务器响应的最大数据处理能力,造成服务器无法响应。由此通过模式混合的数据库系统结构可以利用C/S模式来实现数据的存储、传输从而有效规避B/S模式下响应速度受传输容量影响较大的问题。

通过以上的应用分析可以看出,基于C/S与B/S混合模式的数据库结构,能发挥C/S模式事务处理能力强、传输效率高、安全性高等优势,又能充分利用B/S模式开放性强、信息交流便捷、软件维护简单高效的特点。

4 结论

针对单一的C/S或B/S模式所存在的技术缺点,本文提出基于两者模式混合的数据库系统结构设计方法。该结构由C/S和B/S两种模式混合而成,对不同的应用有针对性采用不同的实现模式,最终通过系统间功能的整合实现整个结构模式的统一。应用实例表明,这是一种能有效兼顾系统开放性和安全性、有效降低系统维护成本的数据库系统结构。

[1]吴正平,谢学文,王仁明.基于CS模式的多机器人网络通信系统[J].三峡大学学报(自然科学版),2009,31(3):77-79.

[2]王启富,李太龙.基于新型CS结构的供应计划管理系统研究[J].微计算机信息(管控一体化),2007,23(10-3):22-24.

[3]张汝林,李永红,关俊文,等.基于BS结构对轻度认知功能障碍评估及健康管理网络系统的设计和实现[J].四川生理科学杂志,2011,33(3):111-113.

[4]尤存钎.基于BS结构的动态办公表格系统的设计与实现[J].计算机时代,2009,5:31-33.

[5]李敏.C/S和B/S模式及混合模式研究[J].西华师范大学学报(自然科学版),2006,27(2):198-201

[6]卢毅.精通Client/Server网络数据库实践[M].北京:世界图书出版社,2000.

[7]Judith Saxton,Lisa Morrow,Amy Eschman,et al.Computer assessment of mild cognitive impairment[J].Post grad Med,2009,121(2):177-185.

[8]明仲,尹剑飞,杨巍,等.一种Web系统性能测试框架及其混合建模过程[J].计算机研究与发展,2010,47(7):192-1200.

[9]杨志,关昕,马力.Web系统性能测试实施过程[J].计算机工程与设计,2010,28(10):2284-2290.

猜你喜欢

客户机数据库系统客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
基于Oracle数据库系统的备份和恢复技术
如何看待传统媒体新闻客户端的“断舍离”?
Oracle数据库系统的性能优化研究
计算机数据库系统在企业管理中的应用
隔山亦能打牛,本本巧变远控利器
数据库系统在计算机体系结构中的应用
新华社推出新版客户端 打造移动互联新闻旗舰
升腾瘦客户机借神码翱翔“云端”