




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着网络技术的应用与发展,基于网络的应用已经成为开发计算 机应用程序的基本功能。在许多计算机应用系统中,不可避免地涉及 到有关数据库的操作,其中相当一部分是以数据库为核心来组织整个 系统,学生管理系统就是这样的系统。 学生管理系统是每个高校的必备系统之一。学生管理系统通常包 括多个模块,选择何种开发技术实现系统中不同类型模块,以求系统 具有良好性能且能满足不同需求,是系统开发过程中需要重点考虑的 问题。 本文以连接数据库的j d b c 技术的应用方法为例,在学生管理系 统的不同功能模块开发中,有选择地区别应用不同的j d b c 技术。此 外,本文还提出了数据库连接池中选取最大连接数的理论公式,使系 统具有比较理想的功能与性能。本文最后提出的云中的j d b c 技术可 以在提高用户满意度同时减少软件开发成本。具体应用技术包括:纯 j d b c 技术,j d b c + j n d i 技术,连接池技术,s p r i n g 中的j d b c 框架以 及“云 中的j d b c 技术。 实际应用表明,系统具有较好的适用范围,能够良好地满足师生 及学生家长的服务要求,并可降低系统运营与维护成本;此外,本文 提出的数据库连接池中选取最大连接数的理论公式,对实际应用具有 良好借鉴意义。 关键词数据库,数据访问,j d b c ,云计算 a b s t r a c t w i t ht h e d e v e l o p m e n to fn e t w o r kt e c h n o l o g y a n da p p l i c a t i o n , w e b b a s e da p p l i c a t i o nh a sb e c o m et h eb a s i cf u n c t i o n so ft h ec o m p u t e r a p p l i c a t i o np r o g r a m s i ti n e v i t a b l yi n v o l v e st h eo p e r a t i o no ft h ed a t a b a s e i nm a n yc o m p u t e ra p p l i c a t i o ns y s t e m s ac o n s i d e r a b l en u m b e ro ft h e m o r g a n i z e t h ew h o l e s y s t e mu s i n g d a t a b a s ea st h ec o r e s t u d e n t s m a n a g e m e n ts y s t e mi sj u s to n es u c hs y s t e m s t u d e n t m a n a g e m e n ts y s t e mo fc o l l e g e s o ru n i v e r s i t i e si sa m u s t h a v es y s t e m s t u d e n tm a n a g e m e n ts y s t e m s t y p i c a l l y i n c l u d ea n u m b e ro fm o d u l e s h o wt oc h o i c et h et e c h n o l o g yt od e v e l o ps y s t e m so f d i f f e r e n tt y p e so fm o d u l e si no r d e rt om a k et h es y s t e mh a v eag o o d p e r f o r m a n c ea n dm e e tt h ed i f f e r e n tn e e d si st h ek e y - p o i n tn e e dt ob e c o n s i d e r e dd u r i n gt h ep r o c e s so fd e v e l o p m e n t i nt h i sp a p e r , w et h ej d b cd a t a b a s ec o n n e c t i v i t yt ot h ea p p l i c a t i o n o ft e c h n o l o g ya sa ne x a m p l e i nt h ed e v e l o p m e n to fd i f f e r e n tf u n c t i o n m o d u l e so fs t u d e n t m a n a g e m e n ts y s t e m ,s e l e c t i n g d i f f e r e n tj d b c t e c h n o l o g y i na d d i t i o n t h i sa r t i c l ea l s op u tf o r w a r dat h e o r e t i c a lf o r m u l a t os e l e c tt h el a r g e s tc o n n e c t i o nn u m b e ro fd a t a b a s ec o n n e c t i o np o o l ,i t c a nm a k et h es y s t e mh a sag o o dp e r f o r m a n c ea n df e a t u r e s s p e c i f i c a p p l i c a t i o n si n c l u d e :p u r ej d b ct e c h n o l o g y , j d b c + j n d it e c h n o l o g y , c o n n e c t i o np o o lt e c h n o l o g y , s p r i n g sj d b cf r a m e w o r ka sw e l la st h e c l o u d ”o fj d b ct e c h n o l o g y p r a c t i c a la p p l i c a t i o ns h o w st h a tt h es y s t e mh a sab e r e rs c o p eo f a p p l i c a t i o na n db ea b l et om e e tt h et e a c h e r sa n ds t u d e n t sa n dp a r e n t so f s e r v i c er e q u i r e m e n t sv e r yw e l l b e s i d e s ,u s i n gt h i ss y s t e mc a nr e d u c e s y s t e mo p e r a t i n ga n dm a i n t e n a n c ec o s t s ;i na d d i t i o n ,t h i sa r t i c l ep r o p o s e d at h e o r e t i c a lf o r m u l at h a tc a nb eu s e dt os e l e c tt h el a r g e s tc o n n e c t i o n n u m b e ro ft h ed a t a b a s ec o n n e c t i o np 0 0 1 i th a sag o o dr e f e r e n c ei nr e a l i t y k e yw o r d s d a t a b a s e ,d a t aa c c e s s ,j d b c ,c l o u d - c o m p u t i n g i l 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:日期:述年j 与le l 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 期:垄垒年上月三日 中南大学硕士学位论文第一章绪论 1 1 研究背景 第一章绪论 科学技术的迅速发展将人类带进了信息时代。随着计算机硬件成本的逐渐降 低以及操作系统功能的不断完善和智能化,计算机不再是只有少数一些程序员才 会用的高端产品,普通民众也可以方便的使用计算机查资料、看新闻、上网聊天 等等。根据我国信息产业部的消息:我国部委、省级、地级和县级政府网站的拥 有率分别为9 6 、1 0 0 、9 8 5 和8 3 ,普通家庭的计算机拥有率每年也保持强 劲的上升势头。报告显示,截至2 0 0 8 年6 月底,我国网民数量达到了2 5 3 亿, 首次大幅度超过美国,跃居世界第一位。同时,宽带网民数达到2 1 4 亿人,也 跃居世界第一l l j 。在中国各大高校更是如此,从学生录取工作开始,到学生入学 时候报到注册以及日后学生的学籍管理,成绩录入,学位评定等等一切事务无一 不在学校自 己的各种系统上进行。很难想象如果没有这些系统的存在,学校会是 什么情况。 然而,很多学校的信息化水平还是比较低的,信息化程度也不是很高。很多 学校的系统只能发挥很少的一部分功能,很多事情还要靠传统的方式去处理,信 息化只是流于形式。有的学校虽然有自己相应的管理系统,但是由于系统设计的 问题,总是不能很好地满足老师、学生的正常需求。很明显的例子就是:每年学 生选课的时候,经常出现网络拥塞,学生选不上课的情况。这里边固然有网络的 问题,但是很大一部分问题还是处在系统本身的设计上。 另一方面,随着大学的扩招,很多学生去到离家千里的异地求学。学生在学 校什么情况,家长对学校的管理有什么看法,学校都无从得知。近年来,由于学 校和家长缺乏沟通出现过一些比较严重的问题。因此,如何利用学校的信息资源 和学生家长进行及时而有效的沟通来更好的帮助学生健康发展也是高校亟待解 决的问题。 1 2 研究现状 学生管理系统是各大学的必备系统之一,涉及到校、系、师、生的诸多方面, 随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生日常管理 工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单, 具有人性化的学生管理系统。 国外高校一般具有较大规模的稳定的技术队伍来提供服务与技术支持,而国 中南大学硕十学位论文第一章绪论 内高校信息化建设相对起步较晚,在数字校园理论逐步应用的过程中,各高校一 方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类 教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是, 由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教 务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有 一定的差距1 2 1 1 3 1 。 其实,开发学生管理系统的技术已经非常成熟,这些技术在商业领域已经得 到了很好的实践。但是,在实际的开发过程中,开发人员对学校的具体情况考虑 的比较少,往往只是单纯的在技术上实现,至于这种技术是否适合学生管理系统 的某个功能,考虑的比较少。很多学校的学生管理系统功能是比较齐全,涵盖了 学生注册,选课以及学分管理等各方面的内容,但是学生使用的时候经常会发现 一些比较严重的问题,例如学分信息录入不正确,选课时间花费过长等等。究其 原因就是因为学生管理系统的开发人员对系统功能考虑的较少,使用单纯的技术 对后台数据进行操作。大多数学生管理系统架构图如图1 1 所示: 一一一一一一 习 图卜1 目前大多数学生管理系统架构图 此外,大多数的学生管理系统没有考虑到学生家长的需求,学生家长不能通 过学生管理系统了解学校以及学生的相关情况,学校也无法通过学生管理系统与 家长进行有效的沟通。 纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各 系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理 者对于信息的认知与喜好,较不容易掌握用户真j 下的需求,也因此无法完全满足 用户的需求,和学生家长的交互基本上没有,所以无法及时了解学生家长的意见。 此外,各个学校的系统对性能考虑比较少,不同的系统功能模块经常采用同一种 技术来实现,不但不能满足用户的需求而且在很多方便存在着资源的浪费。 1 3 研究意义 虽然现在各个高校都有了自己的学生管理系统,但是这些系统无论是从性能 2 中南大学硕十学位论文第一章绪论 还是功能上看都还不是很健全。开发学生管理系统的技术是比较健全,也有一些 比较成熟的案例,但是由于在开发技术的选择上没有和学校的实际很好的结合, 使得学校在运营和维护系统上开销巨大。因此,选择合适的技术来开发学生管理 系统的相应模块非常必要。 如果能够做到学生管理系统的功能模块都用相对比较适合的技术来开发,将 使得系统能够更好地为师生以及学生家长服务,为学校缩减开支。同时,一个功 能完善的学生管理系统对于提高学校的对外形象也十分有益。采用不同的技术开 发的学生管理系统架构图如图1 2 所示: 图卜2 本文设计的学生管理系统架构图 本文通过研究目前的学生管理系统普遍存在的不足之处,对系统设计中存在 的不足提出了一种解决方案,对于各高校开发或完善自己的学生管理系统有一定 的借鉴意义。 1 4 研究内容 本文以连接数据库的j d b c 技术的使用为例,提出在学生管理系统的不同功 能模块中,有选择的使用不同的j d b c 技术,达到系统的功能以及性能都比较理 想,在提高用户满意度的同时能够减少软件开发的成本。 具体包括:纯j d b c 技术,j d b c + j n d i 技术,连接池技术,s p r i n g q b 的j d b c 框架以及“云”中的j d b c 技术。 1 5 内容组织 在本文余下的内容中,第二章简要介绍本文所涉及到一些基本理论;第三章 3 图图 中南大学硕士学位论文 第一章绪论 以外网用户模块以及管理员模块介绍纯j d b c 技术以及s p r i n g 中j d b c 框架;第四 章以学生选课时候经常遇到的拥塞情况为例介绍使用大量j d b c 连接的连接池技 术;第五章将使用“云”中的j d b c 技术来解决学校和家长之间沟通困难的问题。 第六章是对研究工作的总结以及下一步的研究计划。 4 中南人学硕士学位论文 第二章基本理论概述 2 1d d b c 概述 第二章数据库访问概述 2 1 1d d b c 的基本概念 计算机数据处理的中心问题是数据管理,数据管理指的是对数据的组织、分 类、编码、储存、检索和维护。其主要环节包括数据采集,数据存储,数据传递, 数据加工和利用等四大环节【4 】。自7 0 年代以来,在计算机应用中,大量的数据 处理都采用数据库管理方法,即将被处理的数据以数据文件的形式进行组织、管 理和使用。数据库管理是一种完善的、高级的数据管理方式。它根据专门的数据 库管理系统软件对数据进行组织,它实现了对所有数据实行统一、集中、独立的 管理,为众多的用户建立共享的数据文件,使得数据的存储不依赖于使用数据的 应用程序,并最大限度地避免数据的重复。从而极大地提高了应用程序的产生和 运行效率。 基于不同的数据表达方式和不同的数据库结构实现,形成了多种不同的数据 模型,目前最常用的有以下3 种:按图理论建立的层次模型( h i e r a r c h i c a lm o d e l ) 和网状( n e t w o r km o d e l ) 模型,以及按线性理论建立的关系模型( r e l a t i o n a l m o d e l ) 。其中由于关系模型建立在关系代数和规范化的理论基础上,已经有了 成熟的理论指导,而且结构相对简单,设计使用方便,因此基于关系模型的关系 型数据库管理系统成为目前应用最为广泛的一种数据库模式。 在j a v a 应用系统设计中,为了访问位于资源层的关系数据库,通常由位于业 务层的j d b c 负责与关系数据库之间的通信。j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 是一种用于执行s q l 语句的j a v aa p i ,可以为多种关系数据库提供厂商无关的统 一访问方法,它由一组用j a v a 语言编写的类和接口组成。j d b c 提供了数据库厂 商必须实现的接口集合规范,据此可以构建更高级的工具和接口,使数据库开发 人员能够编写数据库应用程序。有了j d b ca p i ,程序设计者可以专心于业务逻 辑的设计,而不必纠缠于各种异构数据库的细节。尤其是在数据库的更新迁移以 及应用平台的更换中,j d b c 天生具有j a v a 语言的与平台无关性及可移植性,这 样一来就大大减少了升级或更换服务器工作的强度和难度,从而极大地提高了工 作效率。 与数据库环境相适应,j d b c 支持2 种方式的数据访问模式【5 】: ( 1 ) 两层数据访问结构,如图2 1 所示。在这种基于c l i e n t s e r v e r 的数据访 5 中南人学硕士学位论文第二章基本理论概述 问结构中,用户作为客户端,数据源作为服务器端。j a v a 应用程序通过j d b c 直 接与底层数据库相连接,用户的请求通过j d b c 提交数据源,而处理的结果也通 过j d b c 返回用户。这种访问模式中,需要有j d b c 的驱动程序来配合与控$ 1 j j a v a 应用程序与专门数据库的连接。 客户端计算机 数据库专用协议 数据库服务器 图2 1j d b c 二层系统架构 ( 2 ) 三层数据访问结构。在这种基于b r o w e r s e r v e r 的多层访问模式中,用 户的请求仅提交给应用服务器,然后由应用服务器将请求发给后端的数据库服务 器,最终的处理结果也是通过应用服务器才转发给用户。用户与数据源之间没有 直接的访问关系,应用服务器与数据库服务器之间通过j d b c 相连接。这种访问 方式的好处是便于发布应用程序,而且通过专门的应用服务器来访问数据也使数 据的访问和更新更易实现,性能上也有优势。 在j a v a 的应用系统开发中,不管是基于两层或是多层的数据访问模式,实际 上j d b c 在工作中并没有让用户直接连接目标数据库,而是通过连接一层或多层 中间软件,再由这些软件控制应用程序到数据库的连接。这使得连接过程更为简 单,而且也减少了数据库与应用之间的关联程度,并更易于管理与控制【6 儿7 1 。如 图2 2 所示: 三亘习 i j d 。b 翩c - n r e t ,b c 一0 d b c b r i d 紫d l i v e r 0 d b ca z u i d bd r i v e l 了 j d b c p r o p 啦眦y d a t 曲勰e 觚c e 霸p m 帕c 畦m id d l e w a r e 。 p r o t o c o l 图2 - 2j d b c 驱动体系 6 j d b c a p l m b cd r i v e r a p i j d b c l m p l e m e m a t i o n a l t e r n a t i v e s 中南大学硕士学位论文 第二章基本理论概述 2 1 2j d b c 的四种驱动方式比较 j d b c 共设计有四种不同类型的驱动程序,提供了j a v a 程序开发语言与不同 的关系型数据的连接。这些驱动程序的不同主要表现在于驱动程序的组成部分、 各个组成部分所处的位置以及开发所用的语言【8 】【9 j 。 ( 1 ) j d b c o d b cb r i d g ep l u so d b cd r i v e r :j d b c o d b c 桥接驱动程序。 其底层是通过o d b c 驱动程序来连接数据库的。如果目的数据库并未提供适当 j d b c 驱动程序( 例j t i m i c r o s o f ta c c e s s ) 或是早期的通过o d b c 存取数据库的系 统,贝, u j a v a 应用程序仍然通过j d b c o d b c 桥接器,沿用既有o d b c 驱动程序存 取关系型数据库。 ( 2 ) n a t i v e a p ip a r t l y j a v ad r i v e r :本地接1 2 1 加部分j a v a 驱动程序。这种驱 动程序建构在关系型数据库所提供的“客户端函数库”之上。使用时必须先在客 户端操作系统内安装特定软件即函数库,运行时驱动程序将j d b c 调用转换成数 据库“客户端函数库的a p i ,然后与数据库连接。由于使用了各数据库特有的 “客户端函数库 ,因此执行性能较好。但使用前必须安装特定软件并进行配置 同样影响到应用系统的移植性。 ( 3 ) j b d c n e t p u r ej a v ad r i v e r :j d b c 网络协议纯j a v a 驱动程序。这种驱动 采用“间接连接”的三层式架构,中间服务器成为客户端与后端数据库之间的桥 梁。这种驱动程序能提供最大程序的扩展性,只需在中间服务器与数据库之间更 换j d b c 驱动,对前端应用程序的影响可以降到最低。 ( 4 ) n a t i v e p r o t o c o lp u r ej a v ad r i v e r :本地协议纯j a v a 驱动程序。这种驱动 程序将j d b c 调用直接转换为相应关系型数据库本身所使用的通信协议,客户端 j a v a 应用程序直接与数据库创建连接。由于使用了厂商提供的专属驱动程序直接 存取数据库,执行性能佳,但缺乏弹性,如果更换了后端数据库,也必须更换相 对应的j d b c 专属驱动程序。因此,这种方式适合有专属通信协议的数据库系统 采用,尤其是局域网环境使用。 2 2 云计算概述 2 2 1 基本原理和概念 云计算( c l o u dc o m p u t i n g ) 是分布式处理( d i s t r i b u t e dc o m p u t i n g ) 、并行处理 ( p a r a l l e lc o m p u t i n g ) 和网格计算( g r i dc o m p u t i n g ) 的发展,或者说是这些计算机科 学概念的商业实现【1 0 】l l l l 。 云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地 计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能 7 中南大学硕士学位论文第二章基本理论概述 够将资源切换到需要的应用上,根据需求访问计算机和存储系统。云计算的三层 模型【1 2 1 ,如图2 3 所示: 图2 - 3云计算三层模型 云计算的典型应用就是云存储,以g o o g l e 公司的数据存储机$ i j g f s 为例。建 立在旁发数据中心之上的g f s 集群通常由一个控制中一i 二, ( m a s t e r ) 、多个数据服务 器( c h u n k s e r v e r ) 及客户机( c l i e n t ) 组成。g f s 系统中的文件被分隔在固定大小的 数据块,存放于数据服务器中,并且每个数据块被复制为三份存放在不同的数据 服务器上,通过一定程度的冗余来增强数据的可靠性,将数据块创建时被系统赋 予的全局唯一的i d 来进行识别。控制中- o ( m a s t e r ) 管n g f s 文件系统中所有的元 数据信息。包括文件的名字空间、访问控制信息、文件蛰 c h u n k 的映射表以及 c h u n k 当前所在位置。c l i e n t 是所有外部应用获得g f s 数据库的入口。应用程序通 过c l i e n t 与c h u n k s e r v e r 及m a s t e r 进行通信,并通过g f s 的a p i 来对数据进行读写操 作。如图2 4 所示: 图2 - 4g f s 文件系统结构 8 中南大学硕士学位论文 第二章基本理论概述 在g o o g l e 整个系统中,目前已经建立了五十余个g f s 集群,每个集群都由上 千台服务器组成,为g o o g l e 的应用服务器提供强大的数据支撑。 此外,云计算d p 用m a p r e d u c e 实现分布式计算处理海量数据,将开发者关心 的业务逻辑与分布式计算涉及的复杂细节划分开来,让并行应用开发通过 m a p r e d u c e 提供的编程模型屏蔽底层实现细节,以服务于g o o g l e 部绝大多数的 数据处理服务。云计算中用b i g t a b l e 存储数据化结构。b i g t a b l e 是建立在g f s 和 m a p r e d u c e 之上的结构化分布式存储系统,可以帮助g o o g l e 最大限度利用已有的 数据存储能力和计算能力,在提供服务时降低运行成本。b i g t a b l e 提供的a p i 可 以让开发者对t a b l e 中的数据进行c r u d 操作,并且这些a p i 提供了按行,按列等 多种b i g t a b l e 数据遍历方式。 总之,云计算通过对资源层、平台层和应用层的虚拟化,以及物理上的分布 式集成,将庞大的i t 资源整合在一起。更重要的是,云计算不仅仅是资源的简单 汇集,它为用户提供了一种管理机制,让整个体系作为一个虚拟的资源池对外提 供服务,并赋予开发者透明获取资源、使用资源的自由【1 3 j 【l 引。 2 2 2 云计算三个显著特点 云计算有以下三个主要特点: ( 1 ) 云计算提供了最可靠、最安全的数据存储中心,用户不用再担心数据丢 失、病毒入侵等麻烦。 很多人觉得数据只有保存在自己看得见、摸得着的计算机罩才最安全,其实 不然。用户的计算机可能会因为自己不小心而被损坏,或者被病毒攻击,导致硬 盘上的数据无法恢复,而有机会接触用户的计算机的不法之徒则可能利用各种机 会窃取用户的数据【”j 。 反之,当用户的文档保存在类似g o o g l ed o c s 的网络服务上,当用户把自己 的照片上传到类似g o o g l ep i c a s aw e b 的网络相册里,用户就再也不用担心数据的 丢失或损坏。因为在“云”的另一端,有全世界最专业的团队来帮用户管理信息, 有全世界最先进的数据中心来帮用户保存数据。同时,严格的权限管理策略可以 帮助用户放心地与用户指定的人共享数据。这样,用户不用花钱就可以享受到最 好、最安全的服务,甚至比在银行里存钱还方便。 ( 2 ) 云计算对用户端的设备要求最低,使用起来也最方便。 很多人都有维护个人计算机上种类繁多的应用软件的经历。为了使用某个最 新的操作系统,或使用某个软件的最新版本,必须不断升级自己的计算机硬件。 为了打开朋友发来的某种格式的文档,不得不疯狂寻找并下载某个应用软件。 为了防止在下载时引入病毒,不得不反复安装杀毒和防火墙软件。所有这些 9 中南大学硕十学位论文第二章基本理论概述 麻烦事加在一起,对于一个刚刚接触计算机,刚刚接触网络的新手来说不啻一场 噩梦! 如果用户再也无法忍受这样的计算机使用体验,云计算也许是用户的最好 选择。用户只要有一台可以上网的计算机,有一个用户喜欢的浏览器,用户要做 的就是在浏览器中键入u r l ,然后尽情享受云计算带给用户的无限乐趣【1 6 】【1 7 】。 用户可以在浏览器中直接编辑存储在“云”的另一端的文档,可以随时与朋友 分享信息,再也不用担心自己的软件是否是最新版本,再也不用为软件或文档染 上病毒而发愁。因为在“云”的另一端,有专业的i t 人员帮用户维护硬件,安装和 升级软件,防范病毒和各类网络攻击,做以前在个人计算机上所做的一切。 ( 3 ) 云计算可以轻松实现不同设备问的数据与应用共享【1 8 j 【1 9 】。 通常情况下,用户的手机里存储了几百个联系人的电话号码,个人计算机或 笔记本计算机里则存储了几百个电子邮件地址。为了方便在出差时发邮件,用户 不得不在个人计算机和笔记本计算机之间定期同步联系人信息。买了新的手机 后,又不得不在旧手机和新手机之间同步电话号码。 对于p d a 以及用户办公室旱的计算机,考虑到不同设备的数据同步方法种类 繁多,操作复杂,要在这许多不同的设备之间保存和维护最新的一份联系人信息, 用户必须为此付出难以计数的时间和精力。这时,用户需要用云计算来让一切都 变得更简单。在云计算的网络应用模式中,数据只有一份,保存在“云”的另一端, 用户的所有电子设备只需要连接互联网,就可以同时访问和使用同一份数据。 仍然以联系人信息的管理为例,当用户使用网络服务来管理所有联系人的信 息后,可以在任何地方用任何一台计算机找到某个朋友的电子邮件地址,可以在 任何一部手机上直接拨通朋友的电话号码,也可以把某个联系人的电子名片快速 分享给好几个朋友。当然,这一切都是在严格的安全管理机制下进行的,只有对 数据捐j 有访问权限的人,才可以使用或与他人分享这份数据。 可见,云计算的出现极大地丰富了数据的存储和使用方式。和传统的把数据 库建立在本地的丌发方式不同,在云计算中,把数据库建立在云上并使用与之配 套的技术进行开发。利用云计算所具有的独特优势,可以解决现有的技术所无法 解决的问题,使得基于数据库的管理系统的功能更加完善。在学生管理系统中, 可以利用云计算来解决长期以来存在的学校和学生家长沟通难的问题。此外,传 统的学生管理系统查询结果的显示形式单一,用户无法从中获取直观的信息;使 用云计算提供的强大的a p i 可以将用户的查询结果以图形化的方式显示给用户, 并且用户可以根据自己的需要对数据进行筛选分析等操作。 2 3 本章小结 本章首先介绍了使用j a v a 语言操作数据库数据的j d b c 技术,在学生管理系 l o 中南大学硕士学位论文第二章基本理论概述 统中,根据系统的具体需求选择不同的方式使用j d b c 技术是本文的重点研究内 容。此外,本章还简要介绍了代表当今潮流以及未来趋势的可以操作互联网上数 据的云计算技术,如何使用这种技术解决学生管理系统普遍存在的问题也是本文 的研究内容之一。 中南大学硕十学位论文第二章基丁常规数据量连接模块设计 第三章基于常规数据量连接模块设计 3 1 外网用户模块设计 一个学校的学生管理系统除了学生和老师访问外,往往还有社会上的一些其 他用户访问,例如学生家长,准备报考这所学校的考生等等。在本文中,把这些 用户统称为外网用户。外网用户的主要特点就是:访问时间比较分散并且只具有 查看或者搜索学校对外公布的信息的权限,对于其他方面的信息他们没有权限知 道。因此,对于这类用户的访问需求完全可以使用纯粹的j d b c 技术束实现。 外网用户访问活动图如图3 1 所示: 显示界面数据库系统 意 := := := 上 收搜索条件并发司 l匕_ 、 咀隹、 :三:= = : f 屁:】 伍莉 、- _ , 喾 图3 - 1 外网用户访问活动图 1 2 中南人学硕士学位论文 第三章基于常规数据量连接模块没计 外网用户使用模块类图如图3 2 所示: 图3 - 2 外网用户使用模块类图 当外网用户查询信息时,系统通过j d b c 连接数据库,对数据库进行查找操 作与用户进行交互。本模块中,用c o n n e c t m a n a g e r 中的g e t c o n n e c t i o n 方法进行数 据库连接。当连接数据库操作结束后,用c o n n e c t m a n a g e r 中的c l o s e c o n n e c t i o n 方 法关闭数据库连接,释放资源,以便下次连接。外网用户访问数据库操作流程图 如图3 3 所示: 图3 - 3 访问数据库操作流程图 外网用户的使用流程比较简单,因此实现上也比较容易,与数据库交互的内 容只有单一的查询操作,使用纯j d b c 技术是最佳选择。 1 3 中南大学硕士学位论文第三章基于常规数据量连接模块设计 如果考虑到日后数据库可能发生变化,这种设计方式就略显不足。这种设计 方式存在的问题【2 0 】【2 l 】: ( 1 ) 数据库服务器名称,用户名和口令都可能需要改变,由此引发j d b c u r l 需要修改; ( 2 ) 数据库可能改用别的产品,如改用d b 2 或者o r a c l e ,引发j d b c 驱动程 序包和类名需要修改。 因此可以使用j n d i 技术作为一种可供选择的设计方式。 j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) 是s u n 公司提供的一种标准的j a v a 命名系统接口,j n d i 提供统一的客户端a p i ,通过不同的访问提供者接口j n d i a p i 的实现,由管理者将d ia p i 映射为特定的命名服务和目录系统,使得j a v a 应用程序可以和这些命名服务和目录服务之间进行交互。集群j n d i 实现了高可 靠。i 生i n d i ,通过服务器的集群,保证了j n d i 的负载平衡和错误恢复。在全局共 享的方式下,集群中的一个应用服务器保证本地j n d i 树的独立性,并拥有全局 j n d i 树。每个应用服务器在把部署的服务对象绑定到自己本地的j n d i 树的同时, 还绑定到一个共享的全局j n d i 树,实现全局d i 和自身j n d i 的联系【2 3 1 。 j n d l 分为3 层:应用访问接口( j n d ia p i ) ,命名和目录管理( n a m i n ga n d d i r e c t o r ym a n a g e r ) 和访问提供者接口( s e r v i c ep r o v i d e ri n t e r f a c e ,s p i ) ,如图3 4 所示: j n d i a p i n a m i n j zm a n a g e r j n d is p i 图3 - 4j n d i 模型 用了j n d i 之后的做法:首先,在在j 2 e e 容器中配置j n d i 参数,定义一个数 据源,也就是j d b c 引用参数,给这个数据源设置一个名称;然后,在程序中, 通过数据源名称引用数据源从而访问后台数据库【2 4 】。具体操作如下( 以j b o s s 为 例) : ( 1 ) 配置数据源 以笔者自己的开发环境为例,在j b o s s 的d :j b o s s 4 2 0 g a d o c s e x a m p l e s j c a 文 件夹下面,有很多不同数据库引用的数据源定义模板。将其中的m y s q l d s x m l 文 1 4 中南大学硕士学位论文 第三章基于常规数据量连接模块设计 件复制到自己使用的服务器下,如 m y s q l d s x m l 文件的内容,使之能通 如图3 5 所示: d :j b o s s 4 2 0 g a s e r v e r d e f a u l t d e p l o y 。修改 过j d b ci - e 确访i h - m y s q l ! 数据库。核心代码 图3 - 5 配置数据源代码 这里,定义了一个名为m y s q l d s 的数据源,其中参数包括j d b c 的u r l ,驱 动类名,用户名及密码等。 ( 2 ) 在程序中引用数据源,具体操作流程如图3 6 所示: 1 5 中南大学硕士学位论文第三章基于常规数据量连接模块设计 图3 - 6引用数据源流程图 直接使用j d b c 或者通过州d i 引用数据源的编程代码量相差无几,但是现在 的程序可以不用关心具体j d b c 参数了。在系统部署后,如果数据库的相关参数 变更,只需要重新配置m y s q l d s x m l 修改其中的j d b c 参数,只要保证数据源的名 称不变,那么程序源代码就无需修改。使用j n d i 技术避免了程序与数据库之间 的紧耦合,使应用更加易于配置、易于部署。 3 2 管理员用户模块设计 管理员是学生管理系统中比较重要也比较特殊的一类用户。给学生添加成 绩,删除学生的不及格科目,修改学生的错误信息等等都由管理员用户来完成。 管理员用户的特点就是:使用权限比较大,与数据库进行的交互比较频繁,并且 不能犯错,一旦操作失误会对学生造成一定的影响。 因此,在进行管理员模块的程序开发时,会涉及到很多数据库操作的代码。 但是,使用j d b c 提供的直接操作数据库的a p i ,用户就得对任何访问数据库相关 的操作负责。主要包括两方面的操作:管理数据库资源和处理异常。使用j d b c 对数据库进行增删查改操作,都要包括以上两个方面操作的代码,真正核心部分 的操作只是很少的几行代码。这就如同帕列多法则( 8 0 2 0 法则) 被倒过来,2 0 1 6 中南大学硕士学位论文第三章基于常规数据量连接模块设计 的代码是这个具体方法所指定的,8 0 都是样板代码。这样似乎产生了大量的冗 仝 2 5 2 6 1 ,q 、o 然而这些样板代码是非常重要的。释放资源和处理错误可以让数据访问更为 可靠。如果没有这些操作,错误没有发现、资源继续占用,将导致不可预测的代 码和资源泄漏。所以开发人员不仅需要这些代码,而且要保证这些代码必须正确。 使用框架可以使得这些代码保证被书写正确,并且只被书写一次。s p n n g 的j d b c 框架正是为开发人员提供了这样的功能。设计思想如图3 7 ,3 8 所示: 图3 - 8 持久4 k s a p i 、模板类、d a o 支持类和用户d a o 类之间的关系 所有s p n n g 的数据访问框架都结合了模板类。j d b c 框架使用j d b c t e m p l a t e 类。为了让j d b c t e m p l a t e i 作,它所需要的,只是一个d a t a s o u r c e 实例。并且由 于所有的s p r i n gd a o 模板类都是线程安全的,在实际应用中,对于每个 d a m s o u r c e 只需要一个j d b c t e m p l a t e 实例。要使用j d b c t e m p l a t e ,必须为每一个 d a o 类配置一个j d b c t e m p l a t e 的实例。配置过程如图3 - 9 所示: i s t u d e n t d a o i + s e t j d b c t e m p l a t e 0 z s t u d e n t d a o j d b c | - t e m p l a t e :j d b c f e m p l a t e 卜- s e t j d b c t e m p l a t e o 图3 - 9 为d a o 类配置j d b c t e m p i a t e 实例代码 1 7 中南大学硕十学位论文第三章基丁常规数据量连接模块设计 由于每个d a o 类可以配置相同的j d b c t e m p l a t e ,所以可以很方便地进行配 置。配置代码如图3 1 0 所示: 图3 - 1 0 在x m l 文件中为d a o 类配置j d b c t e m p l a t e 实例代码 管理员通常只对学生成绩表进行操作,学生成绩类内容如图3 1 1 所示: s t u d e n t s c o r e - i d :l o n g - e x 锄 s t u d e n t s c o r e :f l o a t + g e t i d o :l o n g + s e t l d o :v o i d + g e t s c o r e o + s e t s c o r e o + g e t s t u d e n t o + s e t s t u d e n t o + g e t e x a m o + s e t e x a m ( ) 图3 - 1 1 学生成绩类代码 添加学生成绩的方法代码如图3 1 2 所示: 1 8 中南大学硕士学位论文第三章基丁:常规数据量连接模块设计 图3 1 2 添加学生成绩方法代码 查找学生成绩操作需要使用r o w m a p p e r 的m a p r o w 方法获取查找的数据,然 后使m j d b c t e m p l a t e 实例的q u e r y 方法进行查找。如图3 - 1 3 所示: lr o w m a p p e r l i + m a p r o w ( r e s u l t s e tr s ,i n ti n d e x ) ( ) :o b j e c t 下 s s c o r e r o w m a p p e r + m a p r o w ( r e s u l t s e tr s ,i n ti n d e x ) ( ) :o b j e c t l i s tl i s t = j d b e t e m p l a t e q u e r y ( s q l ,p a r a m s , n e wr o w m a p p e r r e s u l t r e a d e r ( n e ws s e o r e r o w m a p p e r o ) ) ; r e t u r n ( s t u d e n t s c o r e ) l i s t g e t ( 0 ) ; 图3 - 1 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校区晨跑活动策划方案
- 零售行业智能化发展报告
- 齿轨车司机质量管控考核试卷及答案
- 仲裁法考试题库及答案
- 鞋业数字化市场前景分析报告
- 渔业机械市场需求分析报告
- 国道大修工程施工方案
- 产品促销策划咨询方案
- 职业转型咨询方案模板
- 基础财务报表编制快速入门
- 养老机构规范培训
- 2025年五粮液招聘笔试参考题库附带答案详解
- 2025年四川省凉山州中考生物试卷真题(含答案解析)
- 产前外周血炎症指标与绒毛膜羊膜炎相关自发性早产的关联性研究
- 仓库货物运送管理制度
- 《思想道德与法治》课件-第一节 人生观是对人生的总的看法
- 颈深间隙感染诊疗与管理
- 防突员专项管理制度
- 2025年中国蒸汽蒸饭柜行业市场前景预测及投资价值评估分析报告
- 安徽科技馆笔试题目及答案
- 厂房分割租赁协议书
评论
0/150
提交评论