C/S网络结构

2024-09-22

C/S网络结构(精选12篇)

C/S网络结构 篇1

前言:

随着计算机技术的不断发展与应用, 计算模式从集中式转向了分布式, 尤为典型的是C/S结构 (Client Server的简称, 客户机/服务器模式) 。近年来, 随着网络技术不断发展, 导致了很多应用系统的体系结构从C/S结构向更加灵活的多级分布结构演变, 使得软件系统的网络体系结构跨入一个新阶段, 即B/S体系结构 (Browser/Server的简称, 浏览器/服务器模式) 。基于Web的B/S方式其实也是一种客户机/服务器方式, 只不过它的客户端是浏览器。认识这些结构的特征, 并根据实际情况进行系统的选型, 对于成功开发一个MIS系统是非常关键的。

一、C/S结构与B/S结构

(一) C/S结构

C/S结构, 即Client/Server (客户机/服务器) 结构。C/S软件一般采用两层结构, 其分布结构如图1所示。它由两部分构成:前端是客户机, 即用户界面 (Client) 结合了表示与业务逻辑, 接受用户的请求, 并向数据库服务提出请求, 通常是一个PC机;后端是服务器, 即数据管理 (Server) 将数据提交给客户端, 客户端将数据进行计算并将结果呈现给用户。

C/S结构在技术上很成熟, 它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但是该结构的程序是针对性开发, 变更不够灵活, 维护和管理的难度较大。通常只局限于小型局域网, 缺少通用性, 具有较大的局限性。

(二) B/S结构

B/S结构, 即Browser/Server (浏览器/服务器) 结构, 就是只安装维护一个服务器 (Server) , 而客户端采用浏览器 (Browse) 运行软件。主要利用了不断成熟的WWW浏览器技术, 结合多种Script语言和Active X技术, 是一种全新的软件系统构造技术。

B/S三层体系结构采用三层客户/服务器结构, 在数据管理层和用户界面层增加了一层结构, 称为中间件 (Middleware) , 使整个体系结构成为三层。中间件作为构造三层结构应用系统的基础平台, 提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。

在B/S体系结构系统中, 用户通过浏览器向分布在网络上的许多服务器发出请求, 服务器对浏览器的请求进行处理, 将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。

B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低, 这些缺点是有目共睹的。

二C/S结构与B/S结构的分析比较

(一) 硬件环境不同

C/S建立在局域网的基础上, 通过专门服务器提供连接和数据交换服务。所处理的用户不仅固定, 并且处于相同区域, 要求拥有相同的操作系统。B/S建立在广域网的基础上, 信息自己管理, 有比C/S更强的适应范围。

(二) 结构不同

C/S软件一般采用两层结构, 而B/S采用三层结构:

这两种结构的不同点是两层结构中客户端参与运算, 而三层结构中客户端并不参与运算。B/S采用了逻辑上的三层结构, 网络通信量大。而C/S只有两层结构, 网络通信量低。所以, C/S处理大量信息的能力是B/S无法比拟的。

(三) 处理模式不同

B/S的处理模式与C/S相比, 大大简化了客户端, 只要装上操作系统、网络协议软件以及浏览器即可, 这时的客户机成为瘦客户机, 而服务器则集中了所有的应用逻辑。

(四) 构件重用不同

在构件的重用性方面, C/S程序从整体进行考虑, 具有较低的重用性。而B/S对应的是多重结构, 要求构件具有相对独立的功能, 具有较好的重用性。

(五) 系统维护不同

系统维护是在软件生存周期中开销最大的一部分。C/S程序由于其本身的整体性, 必须整体考察并处理出现的问题。而B/S结构, 客户端不必安装及维护。

(六) 对安全的要求不同

由于C/S采用配对的点对点的结构模式, 并采用适用于局域网、安全性比较好的网络协议 (例如NT的Net BEUI协议) , 安全性可得到较好的保证。而B/S采用点对多点、多点对多点这种开放的结构模式, 并采用TCP/IP这一类运用于Internet的开放性协议, 其安全性只能靠数据服务器上管理密码的数据库来保证。

(七) 速度不同

由于C/S在逻辑结构上比B/S少一层, 对于相同的任务, C/S完成的速度总比B/S快。使得C/S更利于处理大量数据。

(八) 交互性与信息流不同

交互性强是C/S固有的一个优点。在C/S中, 客户端有一套完整的应用程序, 在出错提示、在线帮助等方面都有强大的功能, 并且可以在子程序间自由切换。

三、基于B/S结构与C/S结构结合的体系结构

从上面的对比分析中, 我们可以看出, 传统的C/S体系结构并非一无是处, 而新兴的B/S体系结构也并非十全十美。

C/S技术是20年前的主流开发技术, 它主要局限于内部局域网的需要。因而缺乏作为应用平台的一些特性, 难以扩展到互联网这样的环境上去。这使得应用程序的维护、移植和互操作变得复杂, 成了C/S的一大缺陷。

但是, 与B/S结构相比, C/S技术发展历史更为"悠久"。从技术成熟度及软件设计、开发人员的掌握水平来看, C/S技术更成熟、更可靠。在某些情况下, 采用100%的B/S方式将造成系统响应速度慢、服务器开销大、通信带宽要求高、安全性差、总投资增加等问题。客观地分析C/S、B/S的优劣, 建立C/S、B/S结构相结合的网络构架已成为必然趋势。

下面以学校学生管理系统为实例说明这种设计方法。该系统采用B/S&C/S体系结构, 结合了ASP技术, 并将组件技术COM+和Active X技术分别应用在服务器端和客户端。该系统的实现主要分为三个部分:ASP页面、COM+组件和数据库, 是一个三层结构。表示层由ASP页面组成, 用以实现WEB页面显示和调用COM+组件, 业务逻辑和数据访问由一组用VC实现的COM+组件构成。一些需要用WEB处理的、满足大多数访问者请求的功能界面采用B/S结构, 例如任课教师可以通过浏览器查询所教班级学生各种相关信息;学校管理人员通过浏览器对学校的学生、教师等信息进行管理与维护以及查询统计;学校领导则可通过浏览器进行数据的查询和决策。而后台只需少数人使用的功能则采用C/S结构, 例如数据库管理维护界面。如此处理, 可充分发挥各种模式的优越性。

四、小结

B/S与C/S混合软件体系结构特点是系统结构灵活, 用户界面友好。外部用户不能直接访问数据库服务器, 能保证数据库的相对安全。内部用户的交互性较强, 数据查询和修改的响应速度较快。在学校学生管理系统中使用的基于三层的B/S与C/S混合软件体系结构解决了目前学校各部门之间的运行平台、运行模式和应用系统的许多问题。在应用过程中, 应结合实际情况进行系统的选型与构建, 从而开发出高效、安全的应用系统。

摘要:本文在介绍了B/S和C/S的基础上, 通过对B/S结构和C/S结构进行充分分析比较后, 简述了今后发展的前景, 并提出了一种新的体系结构--结合B/S与C/S, 将组件技术COM+和AcdveX技术分别应用在服务器端和客户端, 从而开发出高效、安全的应用系统。

关键词:C/S,B/S,MIS

参考文献

[1]张友生, 陈松乔.C/S与B/S混合软件体系结构模型。计算机工程与应用, 2002 (23) :138~140

[2]张友生.软件体系结构.软件工程, 2006 (2) :55~66

[3]C/S结构与B/S结构的比较http://blog.csdn.net/shenmea00000/archive/2007/02/05/1502531.aspx

C/S网络结构 篇2

基于C/S结构超市管理系统设计

摘要:通过对大型超市计算机综合管理信息系统的`分析与研究,采用面向对象的程序设计语言作为开发平台,建立以局域网为中心的计算机环境,利用数据库应用系统,开发出功能强大、运行可靠的大型超市管理信息系统.作 者:武献宁    张福初  作者单位:湖南现代物流职业技术学院,湖南,长沙,410131 期 刊:硅谷   Journal:SILICON VALLEY 年,卷(期):, “”(3) 分类号:X9 关键词:系统分析    系统设计    数据流程   

 

基于C/S结构的考试与题库系统 篇3

关键词:考试系统;C/S模式;数据库

中图分类号:TP311

计算机技术的应用与推广,实质上取决于计算机软件的应用和推广。可以说,没有软件,就没有计算机的应用;学习、使用计算机,从根本上讲就是学习和掌握软件的使用。本文主要研究一个通用型的题库和考试系统,利用计算机和网络进行无纸化考试。

本系统由服务器端和客户端组成,采用C/S模式。服务器端主要包括系统基本操作模块、题目录入模块、判卷处理模块、系统查询模块、系统初始化和系统数据维护模块。客户端主要由考生登录模块、历次成绩查询模块和考试处理模块组成。

其中系统基本操作模块主要完成试卷的生成、考试设置、学生信息录入功能;题目录入模块包括选择题、填空题、判断题、问答题、分析题的录入;系统查询模块完成试卷、学生、学生成绩的查询功能;系统初始化模块完成系统数据库初始化、单位信息设置功能;数据维护模块完成按年级、科目信息维护及操作员维护,修改密码、数据备份/修改等功能。

总的来说包括两大部分:一是服务器端题目的录入与修改,教师可以从题库中抽取试题,也可加入,删减试题用以为学生生成试卷。并对学生所作答案进行批改给分,同时可将成绩结果打印。二是客户端可从现已生成的试卷中调出试题作答,学生可在考试之后查询以前考试卷的成绩。

另外,还可以使用打印机生成传统的试卷,由学生进行笔答,在考试结束之后学生成绩也可以使用打印机生成文本,以备存档。

1 系统分析

1.1 需求分析

随着Internet的高速发展,网络逐渐进入人们的生活,给我们的生活和工作带来许多便利,无纸化办公也渐渐的取代传统的办公模式。在传统的学校或者人事单位的考试方式中,考试和成绩的管理都很麻烦,每次考试都要出题、组卷、判卷,浪费很多人力和时间。

随着计算机和网络的普及,网上学校、网上教学等渐渐取代传统的教学模式。所以学校和单位的考试也将改变传统的模式,利用计算机和网络进行学习和考核,题目可以用计算机进行数据保存,实现“一次出题、多次利用”。这就是开发本系统的目的。

1.2 运行环境分析

硬件环境:系统需要运行在局域网环境,必须有一台性能较好的计算机作为题库和考试控制的服务器,客户端用于学生的考试或者教师录入/修改题目之用。

软件环境:服务器端操作平台为Window Server 2003,后台数据库使用SQL Server 2005服务器版。客户端可以是Windows XP等个人版系统,如图1所示。

1.3 开发工具的选取

由于Visual Basic 6.0工具功能强大,简单易用,开发周期短,特别是它强大的数据库操作功能,加上其与SQL Server的完美结合,所以优先采用它作为前台开发工具。

后台数据库使用SQL Server 2005,由于数据库数据量比较大,需要保存各学科、各班级的题目和试卷信息,还有学生的基本信息、各次考试的试卷成绩;而且数据库必须支持多用户同时并发访问。所以只能选用大型多用户多任务的数据库系统,比如微软的SQL Server、Sybase、Oralce等。

Visual Basic 6.0中操作数据库的方法很多,比如DAO、RDO、ADO等。Microsoft的ADO2.0-2.5数据库操作对象是在DAO和RDO的基础上完善的,其性能很好,特别适合用于本地或者远程数据库的操作。所以系统采用Microsoft ADO 2.0对象库进行数据库操作,用OLE DB作为数据库的编程连接接口。

1.4 系统效益的估计

在传统的知识和学习考试中,存在很大的浪费,比如纸张、人力、时间等,而且管理很不方便。现在如果采用计算机网络系统来出题、考试、管理等,一可以节省纸张,二可以减轻教师不必要的重复工作,效益非常可观。

2 数据库结构设计

数据库分为服务器端和客户机端。服务器端用SQL Server 2005保存各科、各班级的题目和试卷信息、所有学生的基本信息和成绩信息。客户端用Access小型关系数据库,考试时从服务器端读取当前考试的试卷信息,再从服务器端读取各题目的信息,生成本地数据库。而客户端暂时保存数据,提高客户端读取数据的速度,考完试后数据就被删除。

服务器端数据库一共包括17张表:例如操作员的信息、学校科目信息、年级和班级结构信息、学生的基本信息、成绩信息、各种考试题型(选择题、填空题、判断题等)信息等。

客户端数据库一共包括6张表,分别为:试卷信息、试卷选择题、试卷填空题、试卷判断题、试卷问答题、试卷分析题。

3 系统功能设计

鉴于以上的分析,系统服务器一共包括7个模块,分别为:

(1)基本操作包括子模块:试卷生成/修改、考试设置、学生信息录入。

(2)题目录入包括子模块:选择题录入、填空题录入、判断题录入、问答题录入、分析题录入。

(3)判卷处理包括子模块:填空题判卷、问答题判卷、分析题判卷。其他的两个题型(选择题、判断题)由计算机自动判卷。

(4)查询处理包括子模块:试卷查询、学生查询、学生成绩查询。

(5)系统初始化包括子模块:系统数据库初始化、单位信息设置初始化。

(6)数据维护包括子模块:科目信息维护、班级信息维护、操作员维护、修改密码、数据备份/恢复。

(7)系统帮助主要为用户提供一定的帮助和使用指南。

客户端一共包括3个模块分别为:

(8)考生登录负责检查考生输入的个人信息是否正确(从服务器端取得考生信息),正确则登录。系统信息包括关闭计算机、强行交卷、系统消息等。

(9)考生历次信息查询负责考生本人的历次考试的查询、浏览考过的试卷。

(10)考生考试处理主要负责考生的考试全过程,先从服务器读取本次考试的试卷信息,

在客户端生成一缓存数据库。客户端数据库为Access数据库。考试过程中只对缓存数据库操作,就算系统出问题也能把考生的答案保存下来,考完试后统一把答案提交到服务器的成绩表里。

4 小结

本系统经过详细测试和检验,证明其设计方案是合理的、实用的,运行是可靠的,数据维护方便,用户操作简易。可以实现的“一次出题、多次利用”的目标,使考试和成绩的管理变得更加方便,节省了大量的人力和时间。

参考文献:

[1]刘志妩,张焕君,马秀丽.基于VB和SQL的数据库编程技术[M].北京:清华大学出版社,2008.

[2]林卓然.VB语言程序设计(第2版)[M].北京:电子工业出版社,2009.

作者简介:焦鸿斌(1979-),男,吉林省长春市人,吉林农业大学硕士研究生,工程师,主要从事医院计算机应用研究。

C/S网络结构 篇4

随着计算机应用和计算机网络的发展, Client/Server模式 (客户机/服务器模式, 简称C/S模式) 逐渐流行起来, 用来管理各种各样的信息资源。早期的C/S模式是两层结构, 第一层结构在客户机的系统上结合了业务逻辑和形式逻辑, 前端的可执行代码由菜单、按钮、SQL语句、GUI窗体流和数据验证等元素组成;第二层结构通过计算机网络结合数据库 (如Oracle、Sybase、Informix等数据库系统) 服务器, 后端的数据内容包括数据表、触发器、安全策略、引用一致性定义等元素。它将多个网络应用的用户交互界面处理程序与数据库的访问及处理分离, 客户端与服务器之间通过消息传递机制来进行对话, 先由客户端先将请求发送给服务器, 服务器接收到请求后进行相应的, 再将处理后的信息传递给客户端。C/S模式的结构图如图1所示。

C/S结构的优点主要体现在以下几个方面:

(1) C/S结构合理地将任务分配到Client (客户) 端和Server (服务器) 端, 充分地利用两端硬件环境的优势, 减少了整个软件系统的通讯开销。

(2) C/S结构具有很强的交互性, 在客户端的电脑上有一套完成的应用程序, 可以在子程序中自由切换, 在线帮助和出错提示也有强大的功能。

(3) C/S结构采用点对点的结构, 采用局域网中安全性较好的协议 (如:Net BEUI协议等) , 即保证了数据的完整性约束, 又保证了数据的安全。

(4) C/S结构到目前为止已经非常成熟, 有大量的开发工具支持。

(5) C/S结构要求各种应用必须通过前羰的应用程序完成, 系统安全可靠。

随着计算机网络规模的不断扩大, 应用程序复杂程度不断提高, C/S模式的缺点也逐渐显露出来, 这些缺点具体体现在以下几个方面:

(1) 一但客户端与服务器建立的连接后, 这个连接就会保持, 直到客户端主动放弃时连接才被销毁, 这样就会造成可建立的服务数目有限, 进而使用户数目受到限制。

(2) 客户端即要完成用户数据的交互及表示, 又要处理应用程序与数据的交互, 用户的界面必须要与应用逻辑在统一平台上, 这样就会造成软件系统的可伸缩性差, 对数据的管理不够灵活, 软件系统的维护和升级费用高。

(3) 客户端上的程序的代码重用机会少, 客户端需要处理数据, 如果这些逻辑需求发生变化, 则每上客户端上的程序都要进行相应的修改。

(4) 客户端上的应用程序庞大, 软件需要特定的开发平台决定, 造成了客户端软件系统跨平台不理想。

C/S结构一般建立在局域网中, 再通过特定的服务器提供与英特网的连接和数据交换服务, 面向固定的用户群, 有较强的控制能力, 高度机密的软件系统采用C/S结构比较合适。

2 B/S体系结构

随着IT产业的迅速发展, C/S体系结构暴露出了许多不足, 客户端程序过于庞大、客户需求千变万化等问题尤为突出。在止其间, Internet技术不断发展, 基于Web (HTTP、HTML) 的发布和检索技术, 导致了软件体系结构从C/S结构向灵活的多层分布式结构演化, 这种新型的多层分布式结构就是B/S (Browser/Server, 即浏览器/服务器) 结构。

B/S结构由Browser (浏览器) 和Server (服务器, 主要是Web服务器) 组成。客户机与服务器通常都不在同一个局域网中, 数据库服务器与应用服务器往往在高速局域网, 应用程序和数据都放在服务器上, 浏览器通过下载服务器上的程序得到动态扩展。B/S结构是三层体系结构, 用户首先通过浏览器 (如IE、Firefox等) 向网络上的服务器 (如Web服务器) 发出请求, 服务器如果接收到了浏览器的请求, 就会对这些请求进行处理 (如数据的加工、结果的返回以及动态网页的生成等工作都由Web服务器完成) , 再将用户所需要的信息传送到浏览器上。B/S结构的运行模式, 简化了客户机的工作, 客户机上只需要配置少量的相关软件, 更多的工作负担是由服务器来承受, 这样就减轻了客户机的压力, 更适合千变万化的客户需求。B/S结构图2所示:

B/S结构的优点主要体现在以下几个方面:

(1) B/S结构容易实现跨平台工作, 各种平台上的用户均可通过浏览器访问及获取所需的信息。

(2) 在B/S结构中, 用户只需在客户机安装浏览器就可以有交互界面, 系统的升级和维护工作大部分都在服务器上进行, 在客户端上极少需要甚至不需要进行改动, 这样大大降低了开发及维护成本。

(3) 浏览器在下Web服务器交互时采用的协议主要是HTTP协议, 该协议是无连接协议, 浏览器只在有请求时才与Web服务器连接, 当浏览器获取到所需结果后马上会结束连接, 这样服务器可以同时为几千、几万甚至更大数量的并发请求服务。

(4) 当应用服务器无法满足客户的需求量, 可以通过增加应用服务器的数目, 由多台应用服务器同时为终端客户服务, 实现负载均衡, 消除数据的瓶颈。

(5) 因为B/S结构中, 服务器接受用户请求后会将结果一次返回, B/S三层结构消耗的时间大大小于C/S二层结构消耗的时间。

B/S体系结构经过多年的应用, 也暴露出许多不足的地方, 具体表现在以下几个方面:

(1) B/S体系结构中虽然可以用Java、Active X等技术开发应用脚本, 但如果是开发复杂的应用程序, 这些技术相对没有C/S的一系列开发工具成熟。

(2) 客户端的浏览器大多是为了进行Web浏览而设计开发的, 当B/S体系结构应用于非Web系统时, 许多功能实现起来比较困难。

(3) 数据库的客户端实际上是Web服务器成为对数据库的唯一的客户, 所有对数据库的连接及信息传递都是通过Web服务器来实现, 这样Web服务器就要同时处理客户的请求以及数据库的连接, 当访问量大时, Web服务器端负载过重。

(4) 对于管理者来说, 采用浏览器方式进行系统的维护和管理是非常不方便与不安全的。

(5) 由于源代码开放性, 使得商业规则很容易暴露, 而商业规则对应用程序来说则是非常重要的。

3 C/S与B/S混合的体系结构

通过前面的分析, 可知C/S体系结构并非一无是处, B/S体系结构也并不是十全十美, 如果将这两种体系结构结合起来, 就能使它们的优劣互补, 形成C/S与B/S混合的软件体系结构。在这种体系结构中, 一些能够满足大多数客户请求的信息采用B/S结构, 这些信息用Web服务器进行处理, 如数据库管理维护这些交互性强、安全性要求高、数据查询灵活、数据处理量大, 管理员之类的少数人使用的功能应用采用C/S结构。C/S与B/S混合的软件体系结构图3所示。

以学生管理系统为例, 教学管理系统主要分为系统后台管理模块、学籍信息管理模块、成绩管理模块、信息发布模块、查询模块等子系统组成。系统的硬件平台主要有:客户机、Web服务器及校园网等资源;系统的软件平台主要有:

(1) C/S结构模块部分:选用C#开发的客户端及SQL Server数据库管理工具。

(2) B/S结构模块部分:选用IE浏览器的客户机、选用IIS及ASP.Net开发的Web服务器及选用SQL Server数据库管理工具。工作时, 客户机的浏览器向Web服务器发出请求, Web服务器将请求交给IIS服务器, IIS接受请求并调用ASP程序, ASP程序通过ADO接口与SQL Server数据库连接并进行数据库操作, 数据库将处理后的数据返回给Web服务器, Web服务器通过ASP程序处理后再将操作结果以HTML文本的形式发送给客户机的浏览器。对系统进行管理时, 客户机通过C/S结构中的ODBC接口向SQL服务器发送SQL语句请求, SQL数据库服务器根据SQL语句生成所需的数据结果集, 并将这些结果信息传递给客户机相关的C#程序, 并生成管理者所需的结果界面。

在C/S与B/S混合的软件体系结构中, 信息发布采用了B/S结构, 这样保证了客户机软件简单通用, 客户机上的软件可以统一采用WWW浏览器, 由于WWW浏览器有固定的标准, 因此其可以在所有的平台上完成相应的工作;数据库管理采用了C/S结构, 这部分只涉及到数据更新与系统维护等特定的工作, 可在专用的客户机上安装相关的客户端软件, 并且在客户机上可以构造非常复杂的应用程序, 这样只需要维护少量的客户端, 解决了完全采用C/S结构带来的客户端维护及更新工作量大等缺点, 从安全角度讲, 达到封装源代码, 保护数据的目的。。这样便充分发挥了C/S与B/S体系结构的优势, 进而弥补了二者不足, 即充分考虑用户的方便与利益, 又保证了系统管理者查询、维护与更新操作的简单灵活。

如果原有的系统采用的是C/S体系结构, 我们也可以非常容易地升级到这种C/S与B/S混合的软件体系结构, 只需要开发用于发布的WWW客户机界面, 保留原有C/S结构的某些子系统用于管理与维护。

4 结束语

C/S与B/S混合的软件体系结构, 充分发挥了两种模式各自的优点, 保证了系统的可实现性和安全性, 简化了客户端, 即满足了不同用户的需求, 又使系统便于维护。在软件开发中, 只要找到C/S结构与B/S结构的契合点, 就能使软件系统在具备优良的性能。

摘要:无论是C/S模式的体系结构还是B/S的体系结构, 都无法满足当前越来越复杂的软件设计与开发。我们不妨将C/S与B/S这两种结构结合起来, 充分发挥各自的优势, 使开发出来的软件具备优良的性能。

关键词:C/S,B/S,C/S结合B/S

参考文献

[1]王丽平.基于C/S与B/S混合体系结构的教务管理系统设计[J];科技情报开发与经济, 2008.

[2]王伟伟.软件体系结构模式探析[J].科技传播, 2011.

[3]黄沛.基于B/S体系结构以及Active X技术的计算机应用系统开发[J].技术与市场, 2008.

[4]李云云.浅析B/S和C/S体系结构[J].科学之友, 2011.

《z c s》教案 篇5

大班幼儿即将升入小学,完成他们人生中重要的社会角色转变。如何让孩子顺利平稳地从幼儿园阶段过渡到小学阶段成为了家长们最为关心的话题。大班幼儿可以适当学一些汉语拼音,这对他们入小学后减缓学习难度是很有必要的。因为汉语拼音是小学低年级学生识字的拐杖,它是开发智力,促进“提前读写”的有力工具。如果让幼儿园大班幼儿适当学习汉语拼音,这对小学推进“注音识字”提前读写的先进教学方法是大有好处的。其次,大班幼儿身心发展迅速,“有意注意”有了发展,抽象逻辑思维开始有了萌芽。他们的精力充沛,求知欲强,适当增加一些拼音教学内容,是能够承担的,而且是有趣的,对于发展幼儿的智力是有帮助的。开展了拼音教学幼小衔接活动,不仅仅是让孩子们在本次活动中进行学习,同样作为老师,我们也可以在本次活动中感受小学课堂教学和幼儿园活动教学的不同之处,并可以针对本次活动进行一些学习,让往后孩子们的拼音学习更好的展开。以上内容源自儿童资讯站

以上内容源自儿童资讯站

教学目标:

1、学会z c s 三个声母,读准音,认清形,正确书写。

2、认识生字,引导小朋友正确读儿歌。。

教学重点:

区别 z和 c 两个声母的认读和书写。

认读《过桥》儿歌。

教学难点:

正确书写三个声母。

教学准备

拼音卡片,教学课件,识字卡片。

教学流程:

一、谈话导入。

我们已经认识了声母家族的好多小宝贝,他们是?(师逐一出示声母片)生齐答。这节课我们继续到拼音王国的声母城堡里认识三个朋友,你们愿意吗?

二、揭示并板书课题

1、媒体出示“情境图”,师通过谈话引出有关声母。

过渡语:声母家族中的几个淘气宝贝听说咱们大(2)班的小朋友上课很认真。他们呀,很想来看看,和我们一块儿学习。他们是冬冬、小刺猬,蚕宝宝。你们欢迎不欢迎?

2、那咱们来和他们打个招呼,做个有礼貌的好孩子,好吗?

(你们好啊!)

三、教读字音

基于TCP的C/S聊天系统设计 篇6

本聊天系统的设计采用了Client/Server模型,服务器端的一个服务地址用来监听对服务的请求,当客户端向该地址提出连接请求时,服务器端会对它的请求做出相应的反应。在本设计中,主要是实现服务器端跟客户端的简单字符交换,当实现连接后,客户端就能向服务器端发送和接收字符。

二、系统设计

1.模型及分析。本系统设计是基于TCP的。TCP是面向连接的可靠的传输协议,利用TCP协议进行通信,首先要经过三步握手,以建立通信双方的连接。一旦连接建立好,就可以进行通信。TCP提供了数据的确认和数据的重传机制,保证了发送的数据一定能够到达通信的对方。

2.C/S模型流程。在C/S模型的网络中,服务器是网络的核心,客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,服务器为客户机提供网络所必须的资源。

3.系统设计及分析。在TCP/IP的网络应用中,通信的两个进程相互作用的主要模式是C/S模式,在Internet上的聊天系统是服务器提供服务端的连接响应,使用者通过客户端程序登录到服务器后,即可与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。程序要在TCP/IP环境下实现服务器端和客户端的两部分程序。在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面的三个文件,否则会出现编译错误:(1)WINSOCK.H:这是WINSOCK API的头文件,需要包含在项目中。(2)WSOCK32.LIB:WINSOCK API连接库文件。在使用中,一定要把它作为项目的非缺省的连接库包含到项目文件中去。(3)WINSOCK.DLL:WINSOCK的动态连接库,位于WINDOWS的安装目录下。

(1)服务器端socket的操作。第一,初始化阶段调用WSAStartup()。首先定义一个WORD类型的变量,wVersionRequested,用来保存Winsock库的版本号,接着调用MAKEWORD宏创建一个包含了请求版本号的WORD值,之后调用WSAStartup函数加载套接字库。接下来判断wsaData.wVersion的低字节和高字节是否都等于1,如果不是我们所请求的版本,调用WSACleanup函数,终止对Winsock库的使用并返回。第二,创建套接字(Socket)。初始化WinSock的动态连接库后,需要在服务器端定义一个SOCKET类型的变量,用来接收socket函数返回的套接字。对socket函数来说,第一个参数只能是AF_INET;基于TCP协议的网络程序,需要创建的是流式套接字,将socket函数的第二个参数设置为SOCK_STREAM;将其第三个参数指定为0,该函数可根据地址格式和套接字类别自动选择一个合适的协议。第三,将套接字绑定到一个本地的地址和端口(bind)。为服务器端定义的该监听的Socket指定一个本地的地址及端口,这样客户端才知道要连接哪一个地址的哪个端口,为此要调用bind()函数。在绑定之前,定义一个SOCKET_IN类型的变量,然后对该地址结构变量的成员进行赋值。第四,将套接字设为监听模式(listen),准备接收客户请求。当服务器端的Socket对象绑定完成之后,服务器端必须建立一个监听的队列来接收客户端的连接请求。Listen()函数使服务器端的Socket 进入监听状态,第一个参数是将要设置的套接字,第二个参数是可以建立的最大连接数(目前最大值限制为 5,最小值为1)。第五,等待客户请求到来,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。调用accept函数等待并接受客户的连接请求。此时,也需要定义一个地址结构体SOCKETADDR_IN的变量,用来接收客户端的地址信息。作为服务器端,它需要不断的等到客户端的连接请求,所以程序进入一个死循环,让服务器端程序能够不断运行。第六,与客户端进行通信(send/recv)。可以利用recv函数接收客户端发送的数据,调用send函数向客户端发送数据。第七,关闭套接字。服务器或客户机的任一端启动,调用closesocket()就可关闭通信连接,而要关闭Server端监听状态的socket,同样也是利用此函数。另外,与程序启动时调用WSAStartup()相对应,程式结束前,需要调用WSACleanup()来通知Winsock Dll释放Socket所占用的资源。

(2)客户端Socket的操作。第一,创建客户端的Socket。客户端应用程序首先调用WSAStartup()函数来与Winsock的动态连接库建立关系,然后调用socket()来建立一个TCP socket。socket函数第一个参数只能是AF_INET,socket函数的第二个参数设置位SOCK_STREAM,其第三个参数指定为0。第二,向服务器提出连接申请。对客户端来说,它不需要绑定,可以直接连接服务器端。调用connect()函数来提出与服务器端建立连接的申请,首先定义一个地址结构体变量,并对其成员进行赋值,设定服务器端的IP地址和端口。本程序中服务器端和客户端都是本地的,所以可以使用一个特殊的IP地址:127.0.0.1,这是本地的回路地址。第三,和服务器端进行通信。当建立连接后,就可以调用send函数向服务器端发送数据了,之后调用recv 函数接收服务器发送的数据。第四,关闭套接字。当完成通信后,调用closesocket函数关闭套接字,释放为此套接字分配的资源。最后调用WSACleanup函数,终止对套接字库的使用。

参考文献

[1]孙鑫,余安萍.VC++深入祥解[M].北京:电子工业出版社,2006:223

C/S网络结构 篇7

1 系统设计

系统采用C/S模型, 其优点在于系统客户端应用程序和服务器部件分别运行在不同的计算机上, 这样的模式有利于用户的操作和更好的数据安全性。系统分为服务器和客户端两部分, 使用方式可以设置成平时练习和正式考试两种方式, 平时练习方式主要用于学生平时学习, 正式考试方式用于课程结课时正式考试。

1.1 服务器程序的功能

主要是实现教师对考试的监控和管理, 服务器功能结构图如图1.1所示。

系统设置:服务器启动时, 可以设置系统使用方式, 考试时间, 每种题型的试题数量, 每题分值, 以及考试场次。

实时信息监控:可以实时查看考场情况, 包括考生登录人数, 交卷人数, 异常人数, 考生考号, 登录时间, 交卷时间, 答题时间, 考生成绩, IP地址等。

成绩查询:可以查询已交卷考生的成绩, 并生成成绩单。

成绩打印:可以打印任何场次的考试成绩单。

试卷备份:每场考试结束后, 可以生成试卷备份文件, 文件中将记录每名考生的学号, 成绩, 答题及标准答案。

统计分析:可以对任何场次的考试成绩单进行统计分析, 分析内容为各个成绩段的考生人数, 百分比, 平均分以及趋势图。

系统帮助:包括系统介绍, 操作说明等。

1.2 客户端程序的功能

主要是实现考生登录系统并进行答题考试, 客户端功能结构图如图1.2所示。

系统登录:考生输入正确考号后, 可以登录考试系统。

考试须知:显示考试要求及注意事项。

试题浏览:可以选择任意题型的任何一道试题。

答题:针对不同题型, 可以进行选择答案或输入答案。

交卷:考试结束时, 可以进行交卷。

查看答案:在练习方式下, 考生可以随时查看答案, 巩固学习效果。

显示成绩:在练习方式下, 考生交卷后, 可以显示考试成绩。

2 关键技术分析

在设计基于C/S模型的网络考试系统的过程中, 需要设计合理的组卷算法, 采用技术手段防止作弊以及对软件系统进行加密。

2.1 组卷算法

在网络考试系统中, 必须设计合理的组卷算法, 才能保证试卷的题目分布合理, 难易程度合适。组卷时, 可以将每个题型的试题分为易中难三种, 同时相似的题目可以划分为一个知识点, 让教师根据考生对课程知识的掌握程度, 选择各种题型的易中难三种题目的试题数量和分值, 系统组卷可以采用随机算法, 但保证相同知识点的题目只能出现一次, 这样就可以在一定程度上, 保证试卷的题目分布相对合理。

2.2 防止作弊的技术手段

在网络考试系统中, 必须考虑如何防止考生采用各种手段违纪和作弊。在客户端, 必须保证考生登录后, 系统界面锁定, 考生无法切换到其他界面, 网络考试系统采用Java技术实现, 而Java程序均在Java虚拟机中运行, 无法直接使用Java程序来进行操作系统层次的屏蔽热键和锁屏的功能, 解决方案是采用C++程序来实现操作系统层次的屏蔽热键和锁屏的功能, Java程序采用Java的JNI (Java Native Interface) 技术, 即Java本地接口技术, 调用C++程序来实现屏蔽热键和锁屏的功能。另外, 为防止考生换题或替他人答题, 在技术上应考虑考生登录时的身份验证, 即相同考号只允许登录一次, 相同客户端只能登录一次, 解决方案是, 考生登录后, 记录考生考号以及客户端特征码 (IP或MAC地址) , 防止考生换题或替他人答题。

2.3 系统加密的措施

为保证试题库和服务器端软件系统的安全, 应该对两者进行加密处理, 解决方案是试题库采用数据库层次的加密;服务器端软件系统的加密, 可以采用国际上较为先进的MD5, SHA等加密算法对软件系统进行加密, 设计自己独有的加密规则, 系统安装时必须具有开发者授权的许可, 系统才可以正常安装和使用, 这样就保证了服务器端软件系统的安全, 防止了对服务器端软件系统的非法复制和使用。

3 结束语

本文尝试对基于C/S结构的网络考试系统进行设计与实现, 详细论述了系统功能以及几个关键技术, 随着网络技术发展, 相信在不久的将来, 结合人工智能、虚拟现实、数据挖掘技术的智能化、人性化的虚拟网络考试系统将成为主流。

参考文献

[1]栗好利.基于局域网的计算机考试系统研究与实现[D].沈阳:东北大学, 2006.

[2]马宝英, 浅谈在线考试系统[J].新疆职业大学学报, 2006 (3) :82-84.

C/S网络结构 篇8

1 系统设计

系统采用C/S模型, 其优点在于系统客户端应用程序和服务器部件分别运行在不同的计算机上, 这样的模式有利于用户的操作和更好的数据安全性。系统分为服务器和客户端两部分, 使用方式可以设置成平时练习和正式考试两种方式, 平时练习方式主要用于学生平时学习, 正式考试方式用于课程结课时正式考试。

1.1 服务器程序的功能

主要是实现教师对考试的监控和管理, 服务器功能结构图如图1.1所示。

系统设置:服务器启动时, 可以设置系统使用方式, 考试时间, 每种题型的试题数量, 每题分值, 以及考试场次。

实时信息监控:可以实时查看考场情况, 包括考生登录人数, 交卷人数, 异常人数, 考生考号, 登录时间, 交卷时间, 答题时间, 考生成绩, IP地址等。

成绩查询:可以查询已交卷考生的成绩, 并生成成绩单。

成绩打印:可以打印任何场次的考试成绩单。

试卷备份:每场考试结束后, 可以生成试卷备份文件, 文件中将记录每名考生的学号, 成绩, 答题及标准答案。

统计分析:可以对任何场次的考试成绩单进行统计分析, 分析内容为各个成绩段的考生人数, 百分比, 平均分以及趋势图。

系统帮助:包括系统介绍, 操作说明等。

1.2 客户端程序的功能

主要是实现考生登录系统并进行答题考试, 客户端功能结构图如图1.2所示。

系统登录:考生输入正确考号后, 可以登录考试系统。

考试须知:显示考试要求及注意事项。

试题浏览:可以选择任意题型的任何一道试题。

答题:针对不同题型, 可以进行选择答案或输入答案。

交卷:考试结束时, 可以进行交卷。

查看答案:在练习方式下, 考生可以随时查看答案, 巩固学习效果。

显示成绩:在练习方式下, 考生交卷后, 可以显示考试成绩。

2 关键技术分析

在设计基于C/S模型的网络考试系统的过程中, 需要设计合理的组卷算法, 采用技术手段防止作弊以及对软件系统进行加密。

2.1 组卷算法

在网络考试系统中, 必须设计合理的组卷算法, 才能保证试卷的题目分布合理, 难易程度合适。组卷时, 可以将每个题型的试题分为易中难三种, 同时相似的题目可以划分为一个知识点, 让教师根据考生对课程知识的掌握程度, 选择各种题型的易中难三种题目的试题数量和分值, 系统组卷可以采用随机算法, 但保证相同知识点的题目只能出现一次, 这样就可以在一定程度上, 保证试卷的题目分布相对合理。

2.2 防止作弊的技术手段

在网络考试系统中, 必须考虑如何防止考生采用各种手段违纪和作弊。在客户端, 必须保证考生登录后, 系统界面锁定, 考生无法切换到其他界面, 网络考试系统采用Java技术实现, 而Java程序均在Java虚拟机中运行, 无法直接使用Java程序来进行操作系统层次的屏蔽热键和锁屏的功能, 解决方案是采用C++程序来实现操作系统层次的屏蔽热键和锁屏的功能, Java程序采用Java的JNI (Java Native Interface) 技术, 即Java本地接口技术, 调用C++程序来实现屏蔽热键和锁屏的功能。另外, 为防止考生换题或替他人答题, 在技术上应考虑考生登录时的身份验证, 即相同考号只允许登录一次, 相同客户端只能登录一次, 解决方案是, 考生登录后, 记录考生考号以及客户端特征码 (IP或MAC地址) , 防止考生换题或替他人答题。

2.3 系统加密的措施

为保证试题库和服务器端软件系统的安全, 应该对两者进行加密处理, 解决方案是试题库采用数据库层次的加密;服务器端软件系统的加密, 可以采用国际上较为先进的MD5, SHA等加密算法对软件系统进行加密, 设计自己独有的加密规则, 系统安装时必须具有开发者授权的许可, 系统才可以正常安装和使用, 这样就保证了服务器端软件系统的安全, 防止了对服务器端软件系统的非法复制和使用。

3 结束语

本文尝试对基于C/S结构的网络考试系统进行设计与实现, 详细论述了系统功能以及几个关键技术, 随着网络技术发展, 相信在不久的将来, 结合人工智能、虚拟现实、数据挖掘技术的智能化、人性化的虚拟网络考试系统将成为主流。

摘要:阐述了基于C/S结构 (客户端/服务器) 实现网络考试系统的思路和设计方法, 并对实现网络考试系统的部分关键技术进行了分析。网络考试系统的应用, 可以减轻教师出题、组卷、评卷的繁重工作负担, 提高考试效率, 是实现标准化考试的有益尝试。

关键词:C/S结构,考试系统,标准化考试

参考文献

[1]栗好利.基于局域网的计算机考试系统研究与实现[D].沈阳:东北大学, 2006.

[2]马宝英, 浅谈在线考试系统[J].新疆职业大学学报, 2006 (3) :82-84.

C/S网络结构 篇9

在深化高等教育改革中,教学方法改革是重要内容。考试是有效的检测教学效果手段之一,科学合理的考试不仅能对教学起到反馈、调节、评价、促进作用,而且对培养学生良好的学习方法和学习习惯,调动学生学习的积极性、主动性,对培养学生的创新意识、创新精神和创新能力具有重要意义[1]。

为了使考试发挥应有的功能,建立完善科学化规范化的考试管理体系,建立与创新人才培养相适应的考试模式,成为高校尤其是高校教务部门的关注点。其中,改革考试形式,实行多样化考试是考试改革的核心。随着传统教学以“传授知识为主”向现代教学以“培养能力为主”的转变,必须改革传统单一的课堂考试模式,建立与之相适应的内容广泛、形式多样的具有动态性的考核制度。网络考试和自测使学生从被动学习改变为主动学习,通过网络考试和自测,实时了解自身学习效果,从而制定切实有效的学习方法,提高学习质量和效果[2,3]。

基于此,本文设计了一种基于网络的考试管理系统,采用C/S模式和面向可靠连接的TCP数据传输服务,使学生可随时对自己的学习情况进行客观的自测,在培养学生良好学习习惯的同时,培养学生的自我发展和创新能力。

2 系统设计

2.1 系统结构

如图1,本系统主要有三部分组成:考试终端、管理中心和试题数据库组成。

2.2 工作原理

在本系统中,各考试终端首先通过IP网络访问管理中心,进行身份认证。根据考试终端的请求试题信息和权限,管理中心从试题数据库中提取试卷信息,并通过网络发送给考试终端,并开始考试。

管理中心主要完成题库信息浏览、添加试题、考卷试题浏览、权限认证功能。主要实现试题的录入、维护以及试卷内容的添加、编辑、修改和删除,必要时可以打印试卷。并且,可根据试卷内容,设置试题信息是否可考,从而可根据学生权限,动态选择组卷。

试题数据库是网络考试平台的支撑,一方面完成所有试题库数据和考生数据的存储,另一方面实现系统功能的存储。在系统功能存储中,可存储每个考试终端当前状态和历史考试信息,可根据需要生成学习成绩分析曲线等,提高了考生信息的处理能力;并且,教师可以在考试时随时监控考生的登录、提交试卷等信息。在试题库数据的存储中,保存试题的题干、答案、和试题类型等信息,在录入试题时可以设置试题的难度和分值,利用系统自动生成随机试卷,供学生考试用。

考试终端主要完成考生信息的采集和传输,向管理中心提交考试请求和考试信息,并实时接收从实时数据库返回的试题信息。

系统运行流程如图2所示。

3 网络通信模式分析

3.1 C/S模式选择

C/S(客户机/服务器)结构与B/S(浏览器/服务器)结构是当前常用的两种软件系统体系结构。在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来[4]。

与C/S模式相比,基于B/S模式的网络系统不需要安装专门的客户端软件,只需Web浏览器即可实现与服务器的通信,具有较强的开放性。其缺点:

1)客户端的处理能力非常有限,服务器端负荷很大;

2)服务器和客户端单向通信,服务器不能访问客户端的本地资源;

3)由于采用开发的客户端浏览器平台,其安全性较差。

在本系统设计中,考虑到网络考试系统服务器要同时与大量的考试终端发生信息交互,为了避免由于服务器处理负荷过重而引起的系统崩溃,同时,也为了保证整个系统在网络环境中的安全性问题,本文采用C/S模式设计网络考试系统,通过将任务合理分配到客户端和服务器端,充分利用两端硬件环境的优势,提高系统的整体数据处理效率,并实现考试终端和管理中心的双向通信。

3.2 Socket网络通信方式分析

Socket套接字接口可提供可靠的面向连接的TCP数据传输服务和面向无连接的非可靠UDP数据报服务[5]。在本系统中,为了保证客户端和服务器端的可靠通信,采用可靠的面向连接的TCP数据传输服务方式,实现了无差错无重复的顺序数据传输。

面向可靠连接的Socket网络通信原理如图3所示。

4 结束语

本文通过构建网络考试管理系统,对考试管理方法进行探索,以此加大考试管理及改革力度,旨在有效地提高教育质量,为培养高层次高质量创新人才创造有利条件。

参考文献

[1]高云志,刘志勤,康勇.对高校考试管理及改革的研究与探索[J]西南科技大学学报(哲学社会科学版),2005,(04).

[2]胡敏慧.我国高校课程考试管理研究[D].华中师范大学,2007.

[3]史萌.对开放教育考试管理模式改革的思考[J]福建广播电视大学学报,2008,(06).

[4]佚名.B/S模式和C/S模式的区别[EB/OL].http://zhidao.baidu.com/question/5075082.html.2006.3.

C/S网络结构 篇10

关键词:WebService,SSH2框架,AppWidget,分布式异构数据库,线程池

0 引 言

随着社会经济的不断增长,人们追求影视文化的需求也日益增长,特别是智能手机出现后人们经常通过智能手机进行电影票预订、在线电影下载以及在线电影播放等操作。但是管理各个影视信息的电影系统由于数据库存在异构性和分布性,从而构建了许多相互隔离的信息服务,使得这些电影系统就像一个个“信息孤岛”,相互之间的电影数据有限且不能共享,影响人们获取电影数据的效率。因此,建立一个行之有效的中心数据库来管理各个分散系统中的数据是很有必要的[1]。中心数据库与分布式异构数据库通信中需要解决的问题是数据同步操作,在国外,文献[2]中许多专家学者在分布式异构数据库和数据库同步领域进行了深入的研究。文献[3]阐述了一个自动发布Web服务来访问和集成远程的分布式异构数据库源的多平台集成实现方法; 在国内,文献[4]中国科学院对数据库复制时产生的事务冲突进行了研究,提出了一种基于双时间印的事务级同步机制。文献[5]分析了企业数据集成中存在异构数据库的变化数据捕获与数据同步问题,提出了一种将触发器和日志表相结合的变更数据捕获方法。

以上研究能够有效解决企业内部系统集成和数据交换问题,但是由于每一种组件模型的架构以及数据封装的标准不一样,导致各个组件模型之间相互集成变得越来越困难。为了将各个孤立的电影系统数据进行很好的集成交互,本文提出了将触发器与日志表法、API法相结合的变更数据捕获方法实现分布式异构数据库的同步操作。而在手机电影系统的研究中,虽然文献[6]以J2ME为研究平台实现了电影票预订功能,文献 [7]对电子电影票系统进行了深入的分析,通过小灵通和天翼手机终端发送指令消息实现各个影院电子购票功能,但它们主要研究手机访问电影系统的总体设计与架构,对手机客户端的开发以及手机客户端与服务器端的开发研究较少。文献[8]虽然采用android平台实现了影院购票系统开发,主要讨论了移动客户端SQLite数据库的设计以及手机客户端与服务器端数据的通信,但在手机客户端性能优化设计以及手机客户端如何快速获取各个孤立电影系统的共享数据研究较少。综合以上研究,本文设计并实现了基于Web Service和Android的C/S + B/S结构手机电影系统,该系统是对现有电影系统特别是手机电影系统的一种扩充,对业界具有一定的参考价值。

1 系统设计

1. 1 系统功能设计

手机电影票系统分为客户端系统和服务器端系统。其中客户端系统是基于Android开发的系统,主要功能包括以CoverFlow形式展示给用户的正在热映的影视信息,电影widget,影视排期,影视收藏,在线评分,购买通票以及采用流媒体技术实现在线播放等功能。而服务器端系统采用基于Java EE平台开发的电影票后台管理系统,主要功能包括权限管理,用户管理,影院管理,影片管理,订单管理,用户行为管理以及用户访问频道管理等功能。

1. 2 系统总体设计

系统总体由Android手机客户端、Java EE服务器端和基于Web Service的分布式异构数据库三部分组成。Android手机客户端提供给用户一个操作电影系统的接口,它通过Web Service访问中心数据库,而中心数据库通过Web Service适配器与分布式异构源数据库进行数据同步操作。在Java EE服务器端,Tomcat6. 0作为Web应用服务 器, Struts2 + Spring + Hibernate ( SSH2) 整合框架作为服务器端架构,它共分表示层、控制层、业务层、DAO层、持久层等5层,后台管理系统通过浏览器访问JSP经过5层处理后与中心数据库交互。系统总体设计如图1所示。

1. 2. 1 基于 Web Service 的分布式异构数据库同步设计

( 1) 分布式异构数据库

分布式异构数据库DHD ( Distributed Heterogeneous Database) 是计算机网络与分布在不同地理位置上的若干数据库系统的有机集合,可以实现不同数据库之间硬件、数据的共享及透明访问。

( 2) 中心数据库

中心数据库即共享数据库,主要用来存储和管理各个异构源电影数据库的连接信息和数据库表结构信息,它不仅对各个异构源电影数据库提供统一的表示,而且为用户提供访问接口, 用户通过该接口对数据库表进行DML操作,并将更新的数据同步到各个异构源电影数据库中,而各个异构源电影数据库的改变也能及时同步到中心数据库。

( 3) 基于Web Service分布式异构数据库同步方法

Web Service是一个标准的、低耦合的、基于XML的用于开发分布式的Web应用程序。从逻辑上它分为服务层、业务层以及数据库访问层,其中服务层为基于Android的客户端程序的远程调用提供服务说明以及函数调用; 业务层用于处理具体的业务逻辑; 数据库访问层用于连接中心数据库并将数据同步更新到中心数据库中。其中数据同步是指将当前状态的数据回传到相关数据库结点,并更新对应的数据以维护数据的统一。完成数据的同步一般需要经过数据变化捕捉、数据转换以及数据转移三个步骤。其中数据变化捕捉方法有快照法、API法、触发器法、影子表法以及日志法等。这些变化捕捉方法虽各有自己的优点,但同时也存在一定的局限性[9]。虽然大部分数据库都支持触发器的使用,且触发器具有自动捕捉数据操纵事件的功能,但完全采用这种方式会影响捕获工作的通用性,并且有部分数据库还没有触发器和日志机制,数据捕获较困难,因此本文采用触发器与日志表法、API法相结合的变更数据捕获方法完成分布式异构数据库的同步操作。同步操作分为源数据库和中心数据库操作同步。如果源数据库和中心数据库都支持触发器操作,则当用户在进行DML、DQL操作时,将要更改的信息放在自定义的增量更新日志表中,然后根据增量日志表记录的信息通过定时器调用同步函数完成数据同步操作。如果数据库不支持触发器操作,则采用API捕获技术即自定义中间件技术将数据库的类型、数据库表以及变更的数据在事务提交前插入控制变化表中,并将更改表信息插入增量更新日志表中,并通过定时器调用同步函数完成数据同步操作。在进行数据同步时,除了要进行数据变化捕捉外,还要进行数据转换和数据转移,本系统的数据转换和数据转移方法参考熊辉等[10]提出的基于B/S模式的分布式异构数据库迁移系统的设计与实现。

1. 2. 2 系统服务器端架构设计

在系统总体设计中,各个影院系统的数据库由于具有分布性和异构性,因此本系统采用了基于Web Service的分布式异构数据库同步方法,使得中心数据库与各分项数据库保持数据同步,同时将中心数据库所在的系统作为整个系统的服务器端,手机客户端和Web浏览器共用这一服务器端,因此服务器端的架构设计就显得尤为重要。在Java EE平台下,服务器端的架构大都采用三层架构,比较典型的框架有采用MVC模式的Jsp + Servlet + Java Bean、Struts + Spring + Hibernate ( SSH) 以及Struts2 + Spring + Hibernate( SSH2) 。Jsp + Servlet + Java Bean框架虽然实现了显示层、控制层和模型层三层的分离,但由于Servlet和Java Bean负责了大量的运算和业务跳转工作,程序复用度较低, 后期业务维护困难。SSH框架虽然实现了视图层、控制器与模型的彻底分离,降低了各层之间的耦合度,但由于其中的struts框架在线程安全、易测性、捕获输入以及视图展示都弱于Struts2框架[11],因此本系统采用SSH2框架作为服务器端架构方案。 在SSH2框架中,Struts2框架中的Jsp用于展示数据,action用于流程控制; Spring框架中的Spring Ioc用于业务处理,Spring DAO将持久层的持久化技术与一般的业务规则和工作流隔离开来, 并与Web Service融合为android手机访问服务器端提供接口。 Hibernate是一个功能强大的ORM工具,它依赖于对象化映射和中心数据库交互,处理Spring DAO组件请求的数据,并返回处理结果。

1. 2. 3 系统数据交换流程

在Java EE服务器端,用户通过电影票后台管理系统将电影信息更新到中心数据库,中心数据库变化捕捉器通过Web Service适配器将数据同步到相应源电影数据库,源电影数据库更新数据并将同步成功信息返回给中心数据库。如果用户只是执行查询操作,则不执行同步操作。如果各个源电影数据库有数据更新操作,则会通过Web Service中的数据同步模块更新中心数据库。android手机电影系统客户端如果要更新数据或者查询数据则通过Web Service访问中心数据库。

2 系统的实现

2. 1 客户端实现

2. 1. 1 Android 手机电影 App Widget 实现

Widget是运行在客户端上基于Widget引擎的应用程序,可以从本地或者互联网获取并显示数据。目前,Widget主要分为桌面Widget、Web Widget和移动Widget[12]。其中移动Widget是一种在手机主屏上快速浏览的插件,如Symbian的Opera Widget、Windows Mobile以及Android的App Widget。由于AppWidget独立于浏览器、低耦合于操作系统,能给用户以独特的视觉体验而被许多厂商作为重点研究方向。为了使用户能够快捷方便地以多角度查看各影院的最新影视信息,本文提出在手机客户端采用App Widget技术实现电影票Widget插件功能。用户通过长按手机主屏空白处,在弹出窗体中选择Widgets后弹出Widget选择器,选择手机电影票Widget将其添加到手机桌面上,这时各影院的最新影视图片就会循环播放,点击其中一张图片后即可迅速进入正在热映界面。采用App Widget技术实现手机电影票Widget小插件的步骤如下:

( 1) 建Widget桌面布局的widgetshow. xml文件。该xml文件主要定义Widget的显示样式,如宽度、高度以及背景图片等。

( 2) 建widgetconfig. xml文件,用于设置widget元数据。内容包括App Widget的最小宽度、最小高度以及App Widget框架调用App Widget Provider的On Update( ) 方法的频率,同时指定第 ( 1) 步所创建的Widget桌面布局文件。

( 3) 建手机电影票widget实现类Movie Widget,该类需继承App Widget Provider类,其中父类的onReceive方法接收到android. appwidget. action. APPWIDGET_UPDATE消息后,就会调用子类的on Update方法,启动Service并更新widget界面。其中, Service不能自动运行,只能运行于后台,并且需要在Android Manifest. xml文件中声明该Service后才能使用。启动Service部分代码如下:

启动服务后,在手机电影票widget中要实现用户手动左右翻阅电影图片以及点击电影图片后进入正在热映界面,需要在on Update方法中为Image Button和图片添加点击监听事件,一旦触发Image Button按钮就会发送广播服务,部分代码如下:

这里只例举了在widget中点击向左按钮和点击电影图片的广播方法,点击向右按钮发送广播的原理与点击向左按钮时发送广播的原理相同。发送广播后,在广播接收类中的onReceive方法中实现联网操作 ,获取远程服务器端的电影数据并更新widget显示。广播接收类中的onReceive方法的部分代码如下:

( 4) Android Manifest. xml文件中注册一个Widget的接收器类和用于Widget更新数据的Service类和BroadcastReceiver类。

2. 1. 2 手机客户端与服务器端的网络通信策略

由于手机电影票客户端的影院、影视等信息来自于服务器端,客户端与服务器端的网络通信就显得异常重要。目前,Android平台提供了标准Java接口、Android网络接口以及Apache接口访问网络[13]。手机客户端通过这些接口联网时需要等待服务器端的响应,如果服务器的响应时间超过5秒钟,手机客户端就可能会出现ANR( Application Not Responding) 错误,通常解决此问题的方法是在主线程中创建一个新的线程进行联网数据请求,获取数据后调用Handler对象中的send Message方法将数据传递给Handler中的handle Message方法更新UI。但手机电影票客户端有很多功能如获取影院、影视信息,购买大通票、在线支付以及在线播放等功能都需要访问服务器,即一个手机客户端可能会创建多个新的线程处理这些功能的联网请求与响应,当新的线程数达到一定的数目后而又未对未使用的线程进行有效管理就会影响系统的性能。线程池技术为创建和销毁线程所带来的时间和空间上的浪费问题以及系统资源不足问题提供了很好的解决方案,能有效地提高系统响应速度和整体性能[14]。本文针对此问题提出在手机客户端采用线程池方法联网请求服务器端数据,其流程图如图2所示。该方法算法如下:

( 1) 定义一个用于存放客户端联网请求服务器端数据的线程池Vector,并初始化线程池中的线程最大值MAX_THREAD。

( 2) 当有新的联网线程时,首先判断线程池对象是否为空, 如果为空则实例化线程池对象。

( 3) 判断当前线程池的大小是否小于MAX_THREAD,如果小于MAX_THREAD,则将当前联网线程加入线程池,并启动此线程进行联网操作。否则判断线程池中是否有空闲线程,如果有则启动空闲线程进行联网操作。如果没有,则只能将当前联网线程放在另外的线程队列中等待,直到线程池中某个线程终止并被移出线程池,再执行第( 3) 步。

( 4) Vector线程池中的线程进行联网操作后,将获取服务器端的数据返回给手机客户端。

( 5) 手机客户端解析并显示服务器端数据,流程结束。

2. 2 服务器端实现

2. 2. 1 SSH2 + JSON + JQuery 组合框架调用

JSON( Java Script Object Notation) 是一种能够替代XML工作的轻量级数据交换格式,它可以在不同平台间进行数据交换[15]。与XML相比,它能减少解析数据时带来的性能和兼容性问题,同时能提高数据在网络中的传输效率[16]。

Ajax( Asynchronous Java Script And XML) 技术是当今Web比较重要的技术,它采用异步通信机制,可以提高网页的响应速度,给用户更好的浏览体验。在Ajax技术中比较成熟的框架有JQuery、Dojo、Extjs、GWT、DWR和Moo Tools等。与其他框架相比,JQuery有强大的Selector选择器对DOM元素进行操作、文档说明齐全、各种应用叙述详细以及有很多成熟的插件可供选择等优势,因此电影票后台管理系统与服务器端通信采用SSH2 + JQuery + JSON组合框架实现。

2. 2. 2 分布式异构数据库同步数据捕获方法实现

在分布式异构数据库架构中,不同的异构数据库同步方案可以采用不同的数据库捕获方法,用于获取差异数据。针对各影院数据库系统的特点和系统的扩展性,整个系统采用触发器与日志表法和API法相结合的方法完成数据捕获。在本系统中,能提供完善的触发器功能的数据库系统采用触发器法和日志表法,不支持触发器功能的数据库系统采用API法。

API捕获数据实现的关键问题是如何编写对数据库操作的中间件,而中间件的编写较为复杂,容易出现问题,本文采用Java EE中的AOP( Aspect Oriented Programming) 技术实现中间件编写。AOP技术是一种面向方面编程的技术,它将与业务无关的逻辑封装在可重用的模块中,实现一种单一的结构化行为,从而使系统设计更加结构化和模块化。数据库捕获技术关心如何获得对数据库操作的信息,在AOP中将对数据库的操作作为关注点,而在异构环境下使用JDBC来访问数据库是一种通用的方法[1],而Hibernate在本质上对JDBC进行了封装来对数据库进行操作,因此系统通过AOP来捕获数据关注的就是Hibernate对数据库的操作。对数据库进行DML操作时需要调用Hibernate中的save、save Or Update以及delete方法,而为了捕获这些操作需要在save、save Or Update以及delete方法定义通知,通知类型包括前置通知、返回后通知、抛出异常后通知、后通知以及环绕通知,其中返回后通知指在连接点正常完成后执行通知。 因此本系统对捕获数据操作采用返回后通知,在通知中获得操作类型、操作表和变更的数据,并将这些信息插入到增量更新日志表中,然后根据增量日志表记录的信息通过定时器调用同步函数进行数据同步,同步操作成功后,删除增量更新日志表。中间件使用Aop技术实现捕获数据操作的部分代码如下:

( 1) 定义返回后通知类

( 2) 在application Contex. xml文件中注册返回后通知类,代码如下:

3 实验及分析

本次实验主要对android手机客户端联网请求java EE服务器端时采用的普通联网请求和采用线程池方式的联网请求进行性能对比。实验采用测试工具i Testin,它是全球首款移动App真机自动化云测试客户端工具[17]。客户端: HTC纵横 ( S610d) 2. 3. 4。服务器端: Windows7操作系统,Web服务器Tomcat6. 0,数据库Oracle11g。服务器端电脑CPU双核2. 27 GHz主频,2 GB内存。测试步骤: ( 1) 点击手机桌面的电影票Widget如图3所示,联网请求服务器后进入正在热映界面如图4所示; ( 2) 点击以Coverflow形式展示的正在热映的电影图片后联网请求服务器进入影视详情界面如图5所示。实验结果如表1所示。

从表1可以看出,手机客户端采用线程池方式联网时启动耗时的时间不论是平均值还是最大值都略高于采用普通方式连接网络时的启动耗时时间,原因是客户端采用线程池联网之前要对线程池进行实例化以及初始化数据,并判断当前线程池的大小是否小于初始化值,如果为真则将当前线程加入线程池并等待联网操作都需要一定的时间。在本实验中,手机的CPU、内存RSS以及网络流量的平均使用值是考查的重点,从表1可以看出,线程池方式联网时CPU以及内存RSS的平均使用值明显低于普通方式,同时在手机电池温度和网络流量方面不论是平均值还是最大值线程池都优于普通联网方式。

4 结 语

C/S网络结构 篇11

由于历史的原因,一些信息化不够充分的企业往往建设了不少业务系统,这些业务系统基本上都是C/S应用。在新的SOA技术架构中重用这些业务系统是一个比较重大的工作,需要根据实际情况,设计出复用、集成这些原有系统的方法。需要满足如下原则:

1.着重规划。对于旧有业务系统的复用、集成需要有整体的规划,是合理、有效复用、集成旧有业务系统的前提,也是实施SOA最为基础的一步。有了规划,才能去选择现有条件下最适合的技术和工具,最后用这些技术和工具实现这些业务系统的复用。

2.从局部到整体。SOA让企业可以搭建一个松藕合的平台,但是SOA不可能一蹴而就,在企业内部规划、实施SOA是一个长期的过程。在企业内部实施SOA时总是先从部门级开始,从最关键的业务开始,然后慢慢扩充到其他业务、其他部门,到最后实现整个企业的SOA。设计出来的复用集成方式必须满足这种小步快跑式的SOA实施方式。

3.有破有立。由于已经建设的业务系统比较多,采用不同的技术架构开发,在实施SOA时,需要考虑到复用集成时的各种情况,提供符合条件的复用集成方式。一些太落后的系统可以考虑推倒重来,对于那些还能继续应用的系统,需要提供包装、升级到新的技术架构的解决方案;对于那些太过于封闭的旧有技术架构,要考虑如何用最新的集成手段来将它开放成服务,加入到新的SOA体系中来。

二、重用遗留C/S应用的几种方式

在一个企业内部实施SOA 并是简单的把原来的业务系统全部拆掉后重建,理想的做法是在一个企业目前正在使用的应用、系统和资产中确定可重用的、高价值的业务系统,采用 SOA 的理念、原则、方法和技术来标准化这些任务,使他们可以在企业内部得到重用。重用已有的应用程序和系统是非常明智的决策,可以减少企业在实施SOA时的资金投入,且重用现有业务系统不会对现有业务造成太大的冲击,可以显著降低企业实施SOA时的风险。

这些现有业务都已经经过了长时间的运营,是公司拥有的最宝贵且经过验证和时间考验的资产,重用原有的业务系统还可以大幅度加速 SOA 项目的实施进度。相应的研究结果显示:重用原有业务系统的开销比从头构建这些业务系统需要的费用少五倍。由于这些遗留系统已经过了严格的实践的检验,其维护开销也会减少。根据实施SOA时企业内部IT项目建设的阶段和原有遗留系统的实际状况,我们需要采取不同的策略来集成原有代码:

1.系统服务化。这种方式是指直接将原有系统的源代码通过SOA技术架构发布为服务,在新的体系结构中直接复用。

2.系统架构升级。这种方式是指采用新的体系架构升级原有C/S业务系统,或者是将该系统中需要新增加的功能基于新的体系架构重建,或者在该系统使用寿命达到标准后重新创建该系统。

3.系统集成。这种方式是指通过系统集成的方式使用原有代码,达到业务重用的目标,如实施SOA时直接采用采用EAI、ESB等技术集成那些遗留下来的C/S应用。

4.遗留系统拆分。这种方式是指在SOA实施过程中,直接利用原有C/S应用,达到业务系统重用的目标,只是需要将遗留系统拆分成更小的系统,以满足服务拆分的需要。如在实施SOA过程中直接采用业务系统调用的方式,直接启动原来的C/S应用,让用户使用。

5.其他方式。根据实际情况,我们可能还需要提供其他的重用方案,如直接使用那些还具备使用价值的、比较独立的业务系统,或者是采用以上三种方式的混合形式来达到系统复用集成的目标。

三、代码服务化

采用代码服务化的好处是服务接口由所公开的遗留资产定义,不需要进行分析来设计接口规范。由于新服务可以在与包装的现有资产相同的平台上运行,没有必要添加新基础设施。能省略接口定义和分析,要处理的平台更少,这样部署周期就会更短,风险也更小。采用代码服务化方法时需要重点考虑如下事项:

(1)服务使用者需要与旧有系统的服务定义建立联系,而旧有系统在很多情况下的最初设计都不是按照面向服务的方式来设计的。

(2)这种重用方式假定现有应用程序平台提供了对服务调用的最新技术的支持。

(3)这种实现模式会给系统带来服务消息处理的压力。

四、系统架构升级

采用系统架构升级的方案中,我们在现有应用程序功能和服务之间引入构件层,所有需要被服务化的原有系统,都遵循先被构件化,然后被服务化的过程。构件可以提供服务和实际实现之间的抽象,封装了对原有系统的所有操作,同时提供了更多的灵活性。使用构件有如下好处:

(1)可以在不影响服务使用者的情况下更改现构件的业务逻辑实现。这些构件可以方便地进行扩展,以封装数据和信息构件,为数据或信息服务提供外观层,对于服务使用者来说,这些服务是透明的。

(2)可以在构件层进行系统和功能的组装和编排,构件服务使用者的影响很小或者没有影响。

(3)可以将服务部署在与现有应用程序不同的基础设施上,现有应用程序的基础设施通常针对服务的特定处理要求进行了硬编码。

这种重用模式体系结构有自己的特点。

(1)它允许服务与业务保持紧密一致,但并不一定直接映射到现有应用程序接口的服务接口定义。

(2)可以支持使用 SOA 的原则和最佳实践来以正确的粒度级别设计服务和接口,与此同时,这也会增加服务定义的设计工作。

(3)引入构件层后,设计工作会比直接将应用程序公开为服务更为复杂,可能会涉及到使用适配器或连接器技术来与应用系统进行连接。

五、系统集成

在采用系统集成方式重用原有C/S应用时,原有信息系统本身作为服务提供者而独立存在。它提供的服务被整合到新的技术架构中。系统集成模式的主要优势在于,可以不需要花很多时间为服务定义开发实现构件,由服务提供者直接提供这些服务及其接口,这可以大幅度降低SOA实施时间。服务消费者可以很容易的根据不同的业务场景在服务提供者之间进行切换。整合集成模式体系结构需要重点关注的事项:

(1)必须恰当地定义服务的服务级别协议,确认被整合的应用系统能够提供满足要求的服务。

(2)系统和系统之间通过服务调用完成交互,如果是在非局域网环境下,需要考虑到安全的问题,如增加防火墙等。

六、遗留系统拆分

在遗留的C/S应用中,会存在一些非常独立的系统,他们和其他的系统之间不存在什么联系,甚至也不需要交互,只是需要根据不同的人提供不同的权限或者是更小的调用域,这个时候我们就可以采用遗留系统拆分的方式来直接利用这些C/S应用。遗留系统拆分模式的主要优势在于,可以不需要花很多时间为来处理服务化、接口等内容,而只需要简单的利用遗留的C/S应用,将它拆分成更小的应用即可。这可以大幅度降低SOA实施时间。遗留系统拆分模式体系结构需要重点关注的事项:

(1)系统本身应该是非常独立的,完成相对独立的业务,和其他系统之间不存在太多的交互。

(2)必须恰当地定义拆分的标准,以满足可被重复利用的可能性。

(3)必须考虑如何调用这些遗留的技术路线。

C/S网络结构 篇12

随着技工学校网络的不断发展, 技工学校的教师和学生信息也已经实现了网络化管理, 例如:学生的基本信息、课程信息、教师信息、学生各门课程的成绩信息等。由于信息量非常大, 访问用户非常多, 往往数据是由本人同时录入和查询。即使在一个部门中, 由于对数据更新效率要求较高, 需要有一个合适的管理系统。其次, 网络的概念已经从局域网上升到广域网, 也就是说, 我们需要开发的数据库查询系统需要支持很强的网络连接。

本系统就是专门针对多部门同时操作数据库, 服务器数据库采用SQLServer2000, 利用Delphi7.0提供的本地缓存的技术和事务处理的方式, 极好地解决了多用户的同时访问所造成的冲突, 并且保证了客户端操作的安全性。

系统主要由3个可执行文件组成, 分别为数据库恢复和连接文件Restore.exe、技工学校学生信息查询系统客户端文件Student.exe和系统数据库的备份文件Backup.exe。

其中, 数据库的备份由于属于SQLServer的高级操作, 只能在数据库的服务器中运行, 不能在客户端运行。

二、项目的主要任务

由于本项目是分为3个工程文件实现的, 而且3个工程之间比较独立, 所以分别讲解。

(一) 项目系统开发的前期准备工作分为以下几步:

1. 根据需求分析设计逻辑数据库, 即设计数据库的空表。

2. 利用SQLServer的Enterprice Manager设计物理数据库。

3. 考虑到数据库的完整性和表之间约束, 设计某些表的触发器 (Triger) 。

4. 利用SQLServer导出数据库的生成脚本文件*.sql。

5. 测试SQLServer本身的运行情况。

(二) 数据库恢复和连接:Restore.exe的主要任务

如果本程序运行在数据库服务器端, 本程序首先负责数据库的恢复, 一般而言, 本操作仅在系统安装阶段和数据库发生了崩溃之后进行操作。

连接系统数据库Student, 如果程序运行在数据库服务器端, 直接连接本机Local Server;如果程序运行在远程客户端, 而需要指定远程服务器的IP地址, 来连接远程数据库服务器。

在连接数据库时, 首先判断本机是否安装了SQLServer2000, 如果没有安装, 那么本机只能是作为客户端连接远程数据库服务器。

(三) 系统数据库的备份:Backup.exe

在系统运行一段时间后, 为了保证数据库的安全性, 需要将数据库进行备份。

另一种情况是当我们要进行数据库服务器硬件升级时, 也需要对数据库进行备份。备份完毕后, 将来就有Restore.exe来恢复和连接数据库。

(四) 技工学校学生信息查询系统客户端:Student.exe

本工程主要负责学生、教师和课程信息的浏览和修改, 完成学生成绩的多用户录入, 保证数据录入的安全和稳定。

该程序利用本地缓存技术和非本地缓地存技术, 实现了成绩信息的多用户提交。利用事务提交保护了录入数据不会丢失, 并且保证了不会由于网络故障和多用户冲突对数据库造成的破坏。与此同时, 该程序还实现了友好的背景画面设置。

三、项目的模块组成和基本流程

(一) 数据库恢复和连接:Restore.exe的模块组成

本工程主要由3个模块组成:工程启动模块、恢复数据库模块和连接数据库模块。

(二) 系统数据库的备份:Backup.exe的模块组成

本工程主要由两个模块组成:根据外部配置文件连接数据库模块和备份数据库模块。

(三) 技工学校学生信息查询系统客户端:Student.exe的模块组成

本工程是系统数据库处理主要工程。为什么要把3个工程独立开呢?主要是3个工程需要运行在不同机器上, 这样处理比较安全。本工程主要由6个模块组成:数据库远程连接模块、主窗体模块、人员信息模块、学生成绩模块和背景风格设置模块。

四、项目的数据库设计

(一) 数据库选用

由于本项目在实际应用中, 数据量非常大, 而且要求对多用户处理引起的冲突必须要有非常好的机制, 这就决定了我们不能再去选择以往的桌面型数据库的格式。本工程采用的数据库是SQLServer2000, 这是一种基于数据库服务器的应用系统开发, 这些数据库服务器都支持客户/服务器 (C/S) 的数据库模式, 客户程序使用SQL语言打开数据库, 通过网络传送SQL命令非数据库服务器, 数据库服务器响应之后, 将操作结果回传给客户的程序, 这种模式的数据库开发称之为客户/服务器开发方式, 解决了数据量大的情况下网络传输的瓶颈问题。

(二) 系统分层架构的选择

当然对于概念, 构架和性能更为完善的三层体系结构而言, 两层数据库系统是其非常重要的基础。许多概念就是在两层的基础上提出的。因为在设计本系统之前, 估算了本系统的用户量, 系统选择了两层 (C/S) 构架。

五、项目的实现步骤与分析

数据库恢复和连接:Restore工程

Form Create事件

主要是连接数据库通过单机和网络两种方式。

BItn_Connect Click事件

本事件主要完成数据库的连接。根据用户的选择分为两种情况:一种是连接本地数据库, 另一种是连接远程网络数据库, 系统根据局域网中的服务器主机名获取其IP地址, 在通过ADO连接该IP地址所指向的数据库服务器。

Bit Btn1Click事件

本事件主要负责数据库的恢复, 一般用于系统程序的初次安装或者数据库在崩溃后需要恢复最近的备份文件时使用。当数据连接成功后, 把最近备份的数据库恢复。

系统数据库的备份:Backup.exe

技工学校学生信息查询系统客户端:Student.exe

本工程Student.dpr是本项目处理数据的主体工程, 由以下几个单元组成。

六、总结与提高

本系统是一个相对比较的查询系统, 而且查询的内容比较简单, 在实际的应用系统开发过程中, 涉及到的查询远不止本系统演示的这么简单, 可以在完成本系统的基础上, 结合具体实际, 扩展修改本系统的功能, 使本系统功能能够不断完善。

(一) 增加不同学期学生的选修课程, 以供学生的选课, 并能记录学生选课成绩。

(二) 可以增加不同学期统计学生的奖惩记录。

上一篇:影视编剧下一篇:绿色食品水稻