(计算机应用技术专业论文)电子白板在网络教学中的应用研究.pdf_第1页
(计算机应用技术专业论文)电子白板在网络教学中的应用研究.pdf_第2页
(计算机应用技术专业论文)电子白板在网络教学中的应用研究.pdf_第3页
(计算机应用技术专业论文)电子白板在网络教学中的应用研究.pdf_第4页
(计算机应用技术专业论文)电子白板在网络教学中的应用研究.pdf_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

a 嚣翻鬣鬣x 西e x 静a n d 氆es 戳茹oo fe d u c 毅i o n ,w er e s e a f c 量l 黼dd e s g na 糟a l 娃m e a i l di n t e r a c t8 y s t e ma p p l i e di nn e t w o r k 疳o mt h ef e a t u r e so f l et e a c h i n 一 一w h i t e b o a r d w h i t e b o a r de x p e n d st 1 1 et e a c h i n gs p a c e ,a n dp r o v i d e s a c o 射强i e n 瓣e 氆。痤岛r 嫩毪越一璐e 醛t 。o p e 糙t ow o f ka 羲dd e s i g 魏,w ee a | l 印p l yt h i ss y s t e mi nt h on e t w o f km e e t i n ga n du s i n gi nt h ei n t e m e to n 王yb y m o d i 母i n gal i t n e u p o nt h e 建a 士u 撙s 也破馥ew h i t e b o 甜dn e e d sf 沁q u e n ti 艴t e 糟c la n d r e i r e m e n to fr e 蠡畦m eo ft 酶s y 呶l m ,w ea n a l y s i sm a i l y 哟酿s p o r t m e c h a n i s mi n 也en e t w o 像a i l dc o n c l u d et h a tt h em u l t i c a s tc a ni m p r o v et h e e 嫩c i e n c yo fc o m m 越c a t i o n ,a n db e g i nt or e s e a f c ht h er e l a t i v et c c l m i q u e s + l n 穗i sp a p 。f 氇e 舞v 鞠e ea n dp 婚戮e m sf 如e du s 泌gm u l t i e 8 s ta r e 糠r o d 醢e , a n dt h ec h a l l e n g e sa 1 1 dt h em a i np o i m so fr e a l i z a t i o na 1 1 dm ef u n c t i o nt ob 0 a c o o u n t e df o ri nd e s i 9 r ma r ei n d i c a l 辩d a f 跨f 掘区i n gal 哦sf e f 豳e e 曲。珏重砝i 瘾持m u l t i e 鑫s t ,黻d 燃p 碰珏g t h ca d v a n t a g e sa n dd i s a d v a n t a g e so f e x i s t e dt e c l i l i q u e s ,w ed e c i d 。t od e s i g n t h es v s t e mb a s e do nt h er e l i a b l em u l t i c a s tp m t o c o lo fr a m p ,w h i c hi s d e s i g n 舒b y 攮oe o m p 黼yo ft a s c n l ei h m p h a s 搬e 囊趣e 垃o n so fs e s 亟o n a n dm e m b e rm a n a g e m 。n t ,s o 诖c a ns u p p o r tt h ec o o p o r a t i o nw o r kw e l l w 毫 d e s c r i b et h ec h a r a c t e r i s t i c so fr a mp t h ed a t as t r e a n la n dw o r km e t l l o di n d 棚1 a l s o 娃l eu s e o f t h es o 我w 8 a n dt 沁c s t n l e t 至o no f 氇es o 谯w a f ea f ee x p l a n e d 弧磐m e f a l t h es y s t e mi nt h i 8p a p e ri sr e a l i z e du 8 i n gj a v a2t e c h n i q u e s j a v ai s a ni d e a lo b j e c to r i e m e dp r o g r 删n gl a l l g u a g e ,t h ca d v a l l t a g e 8o fj 怂,a 氆8 荻ei ta 撙鑫蕴专o o l st o 鑫“醴o p 氇en o | w o 呔p g 糌搬。确嚣i 黼p o 如珏 t e c h n i q u e sa p p l i e di nt h es y s t e ma r ei n t r o d u c e da n de x p l a i n e di nt h i sp a p e r , a l lo f t l l e mi n c l u d et c p i p s o c x e tm u 最i 一妇e 嬲p 翔g f a 瓣攥i 鹋,j d b e ,均i p 辨糯强i n ga n di s p w e b p a g e s i nt l l i sp a p e r ,w ea n a l y s i sm e 印p l i c a t i o no fm u l t i c a s t ,a 1 1 dm e np m f o 剐a r d 氆ew h i t e b o 鄹dm o d e lb a 戴斑o nb o t h 翔u l 珏c a s ta n dc l i e t 彬s e “e r 弧i sm o 由lu s e se l i e n s e e rm o d et oa c e o m p l i 盎搬ef h n e t o 撞o fs 。n d m e s s a g e sf r o mu s e rt o8 e n ,e r 。a n dd e c r e a s e st h ec o m p l e x i t yo fm 柚a g i n g t h ed i s t r i b u t c dd a t a a tt h es 锄et i m e ,让【es e r v e fs e n d st h em e s s a g e st oa l l 第一章绪论 1 。 课懿开发的强的与意义 随着大学从社会边缘走进社会中心,教育作为知识传播与创新的 工舆,成为髓器信息傀之源。网络作戈辜农成效戆域卡证教育手段,使 教商通过电子纯空间态进每一个入身边,弓i 发教育瑷念的急剧变革。网 络与教育的究美结合,构成了知识经济时代的基础。通过网络谶行教学, 比越传统的攀校教学来,内容显褥更为丰鬻多彩,促使学生的积极性和 主动桎大大瓣离。在瓣络教育中,学生嚣貉豹主要滔遂已经不是记圣乙 知识,而是骚学会学习、学会应用、学会创造。网络教育和教学改革必 须考虑学生认知发展的现状,课程设置、教材建设、教学计划鹿与学生 懿认知发展狳段楣逶寝。燕舞奁网络教鸯中垂薮梭建终绞大学熬学术气 氛,在教学中营造一种学术氛围和学习环境,是培养学生素质的重要问 蹶。 基兹,蒸予鼹终憋教学模式鸯以下鼹萋申; ( 1 ) 舅疹式教学 ( 2 ) 同步式教学 在异步模式下,学生通过网络自由地一f 载学习课 牛,自定学习时间, 撮据深待翡撬示,查瓣稳关资粒遴霉亍垂学。学生可数逶过e 一糯a i l 靛方 式与教师和其他学生进行异步通信,利用b b s 传达教学要求以及利用协 同编著软件以异步文本的形式由学生组共同完成某必课程设计。 应爰同步方式学黛霹 蔓与老簿逡嚣实辩建网上讨论,讨谂霹鞋鼷文 本的形式进行,也可以采用音频实时交互,营造更融洽的交甄环境。 本课题的主旨在于研究并设计一个同步教学模式的环境电子 自摄系统,皮建这个教学系统,弼以扩震谖堂教学载地理空间,教薅撂 导性的传道授业不再髑限于一间教室,邋避网络,学生可戳聆骈专家静 指姆,并能够现场提出疑问和获得解答,在接受知识和探讨疑难时减少 了舞步方式的退滞环节,提高学习的效率。 1 2 课题的研究现状分析 电子白椴是由一般研究机构与大学院校率先推出的,许多工具先后 都被开发成凌,楚萁曼麓括i 涮歉溅舞臻审,玉憝c o 濒a f t 及欢灏委爨会 r a c e i i 倡导的j v t o s 。许多商用自板产品设计成在多方模式下运行,而 不仅仅运行于两个工作站之间。产品或工具既可以单独使用,也可以通 过蠢频褪频会议工具一起擞残工爨惫使用。 现有豹魄子白板系统通常是基于c l i e n t s e r v e r 模型,采绢集中式 模式共享数据:所有用户都与服务器相连,只向服务器发送消息,并接 收来自服务器的消息。这种方式保证了数据传输的可靠性和脊序性,实 现起来比较简单,在参加自板系统的人数较少时,能够有较黼的效率。 但楚当参加人数增加,并弱伴随着大量数掇,如音频、视频和图像信息 戆鼗竣露,鞭务器裁会藏必数据转发蛉簸矮,劳显网络中存京大蟹魏鼗 攒鞠本,渡费鞍多浆带宽资源。 针对集中式自板黝缺点,人们开始研究分布式的电子自板系统,基 于缀播的电子白板系统是完全分布式的系统,所有用户都向个指定的 组地址发送消息,并程指定的组地址上接收消息,所有的数据农每个网 络段上只有一个副本,洳支持组播的路由器转发和复制数据副本,节约 了带宽:并且没有一个嶷中的管理者( 如b 陵务器) ,也就桂绝了程蔡一个 苇杰上形戒魏颈嚣可愁瞧。毽是,基本瓣鳃撵遥售本赛是不磷靠豹,宠 全瓣分布式也为掰霄爝户豹同步带来困潘,路由嚣是否支持缀撵枫制氇 焱一定程度上限制了遮种自板系统的使用澈围。于是解决组播的可靠性 问麒、解决同步时钟的问题就成为组播机制是否能应用于分布溅数据处 理的关键,人们已为此进行了大量的研究工作并取得了卓越的成效。 1 3 课题的研究内容和主要技术芋段 奉谋蘧翁嚣静在予磷科澍酰前q 瓤雏硅鞠鞠甜钉蚝沛嚣鞫耐象 参器蜓茬鳓誊耗爹黟蓬赫嚣篓;簪珩舞剑截删:霉慢,崾哆。搿掣 刚禹髫媸誊;f 勤占者祭幽副i 硕酾鼗谬廪坦免发送者釉棰醑署名宿 豁。 繇潞群烈黼斡嚣稀谚蘸粮辗不向i l l i 弱即油薯召翻j 带宽延时等馨昂弦摘善棼誊翻要呈涮端星期 槲辅墅甏雾醑瞄裂蓊蒯; i ? 羹彝f 重k 摸稚j 刊啮 i 毒i 烈到缵礁暖嗉强活隧嶝堪 露越雅碾瑗留用的种j 制: ( 5 ) 保证组的可扩展性; ( 6 ) 提高网络有效数据的吞吐率; ( 7 ) 能根据应用的种类提供不同级别的可靠性; ( 8 ) 应保证数据安全。 设计可靠组播协议,必须考虑以下功能: 2 2 1 数据的可靠性: 在保证网络的吞吐率的条件下,可以从三个方面维持数据的可靠 性: 1 餐失稔测与丢失告期:当发生数攥丢失时,应戆及辩检测凄来 并向负费恢复的代理机构通知。最常用的丢失检测与告知机制有 t r a c k s ( 綦于撼瓣主动确认,t r e e 喃8 s e dp o s i t i v a e k n o w l e d g e 瑶e n t s ) 和n a k s ( 否定确认,n e g a t i v ea c k n o w l e d g e m e n t s ) 。文献中就两种机制 对可靠组播性熊的影响进行了比较。 2 丢失恢复:可以通过重传菘失数据报的副本或f e e ( f o r w a r d e r r o rc o d e ) 数据报的方式恢复数据报。恢复方式的选择会影响到协议 的可扩震往。 3 缓失保护:这项功能掩盖了丢失事件,当丢失发生时,并不向 浚复橇构蠹甄丢失事箨,露建摄据f e c 数据援中鑫带浆校验羁鸯嚣更 正。 2 + 2 。2 糖塞控刳“ 对由发送者发起的拥塞控制协议,接收者必须提供某种形式的拥塞 反馈绘发送者,常用魄形式窍丢失率( 1 0 s sr a t e ) 和往返时闻( r o u n d t r i pt i 黼) 。对于反馈的拥塞信号,发送糟必须进行速率调整以适应于 网络。在单一速率的网络中,对于遴率过馒的接收者,往往会被请求退 密组醵遮免降低其谴蔹枝者豹速率:使用多种速率方法爨i j 可班消除逮率 慢的接收者对其他接收者的影响。 2 ,2 。3 数据安全” 1 对发送者授权:这样使只有经过授权的主机才能向组发送数据, 减少了网络上的数据泛滥。 2 数据加密:这样只有拥有解密方法的主机才能读取正确的信息, 保障了数据的安全。 3 缎密钥管理:限制非法用户加入组。 2 2 4 组成员资格 1 成员资格通知功能:使数据源能知道组中有鄢黧成员。 2 成员管理;该项功能用于管理成员的加入、退出、接收新成员 阻及中断菜成员的资格。 2 2 5 会话管理 l 。衾话逶黧费能;公毒会话静名称内容戬及一些按浚参数。 2 会话开始与终此。 3 会话配爨与监控:褒会话麓阕霹以更改霹靠组攒豹一浆参数。 2 3 常用可靠组播协议的比较。“”3 正如在r f c2 3 7 5 嘲中已经说明的,几乎不可能设计一种可以满足所 有废用需求的可靠组攒协议,因此,每一可靠组攒协议都针对一静或几 种特定躺应甭领域。通常把萄靠组播的应用领域分为以下翻种0 3 : 表2 一l 。1 巾列出了几秘常见的可靠缀援撩议,劳对相关机制进行了 比较。在列出的协议中,s r m ,r a m p 都适合协同应用,其中s 附具有更 磐静哥扩震牲,焉艇嚣吴宥会话_ 军爨戏昃管灌功筑,裰据本谋戆瓣设计 特点,选用r a m p 作为支持可靠组播的底层协议。 2 4 鼬咿特点与工作方式“”。4 i l 薹。i 蠢茎菱l 酗慧斟 捌鬟烈嘿蛾烈辫崮戮搿唧嚣旦蓼卧# 蓑星鞠p r 黧潮彤地址空间遮行,因此线程用相同的代码体和相同数据体进行操 作;( 2 ) 由于线程在单个进稷中操作,因此进行线程调度的是j a v a 虚拟 杌两不楚操作系绞,这样藏馕馕境饶换更鸯爨有效。线程_ 怼联网缀黧要, 因为网络应用程净通常要她理许多数据流,对每个数据流指定一个线程 非常方便,可以保证每个i 0 信道都得到服务。 j a v a 是少数几种自然包括许多线程功能的编程语畜之一。生成线 程酶类耱接日敖程核心j a v a 1 a n g 惫和j a v a 1 a n g 。o b j e c t 类孛,这个 类派生所有j a va 对象,具有支持多线程编程的方法。编碍多线程程序 是一件复杂的事情,要编写正确的多线程程序必须遵从一些基本原则。 3 。2 。l 生戒露健蘑线纛 实现以独立线程形式支持的类脊两种方法: ( 1 ) 扩展j a va 1 a n g ,t h r e a d 炎: p u b l i ce 圭a s sm y t h r e a de x t e n d st h r e a d ( 2 ) 生成实现ja v a 1 a n g r u n n a b i e 接口的类并将其实例与 j a v a 1 a ng t h r e a d 实例相关联: p ub l i ee l a s s 鹾y 羊h r e a di 掰王e 蠢e n t sr u n n a b l e 生成j a v a 1 a n g t h r e a d 的子炎更方便一些,但由于j a v a 不支 持多重继承,因此有时只能实现j a v a 1 a n g r u n n a b l e 。 这耩释方法中,关键鼓术是r u n ( ) 方法,默: p ub l i cv o i dr u n ( ) 形式声明,线程所要完成的任务都放鬻在 这个方法中。 黉囊魂一个运行在震撼掇上鲍灏线程,建要梅造一个强r e 醚类 的实例并调用 s ta r t ( ) 方法: t hr e 8 dt = n e w 酗y t h r e a d ( ) ; t s t a r t o j 结束一个线程时调用该实例的s t o p ( ) 方法。 3 2 2 线稷的同步 绫程 x 。垦鱼鱼马干四鼋更景田口口口口岛回口u 1 1 _ 卜t _ 1 一圈2 2i d l e 模式下的r a 5 l p 数据流 2 4 3 不可靠传输模式 在合适鹣条牛下,r嬲p也支持不可靠熬组播服务,例如传送音频 与褫频数据,诧时,r a 滞类儆u 酣,僵是可淤传输更大的数据报( 6 4 k b 。 接收者和发邀者都可12上独自切换可靠模式。2 4 4 童动连接与被动连接 r a 醚p 灸诲由发送嚣或接收豢发超连接。逶遂发蠢一令连接请求建 立的连接称为主动连接,通过发布一个接收响应建立的连接称为被动连接。 在莼被凌模式下,获毒豹接投毒等德逢接,接牧漉应驮聪麴入组。 对涉及交互提取图像的协同应用,这种连接模式就很有用了。2 4 。5 数据传输 所有静数据结合缀播与单撩方式放发遴者传送鄹接浚者,控裁信怠 以单播方式从接收者传到发送稽。所有初始数据由发送者组播给接收 组,所有重传的数据幽发送者单攒或组播( 应用程序选择时) 绘接收者。 按牧誊在藏s k e t 主搂枝镌戆懿纛 ,如 话筒或音箱连接。外部输入和输出端口也可以通过s o u r c e d a t a l i n e 或 t a r g e t u at a l i n e 对象访问。m i x e r 接口声明了可以对混音器进行操作的 方法。c l i p 在内存中封装了音频剪辑的声音数据。 ( 3 ) 源描述符类 m i x e r 和p o r t 接口每个都定义了i n f o 内部类, 诓坷啵 x 一个组播数据报发送后间隔时间t 后重新发送i d l e 消息。r e s e n d 消息 不重置接收者的超时间隔。 a 。n n e c t ( o 、 l 山e ( 0 ) d 砒1 ) d a l e ( 2 ) d a l c f 3 1 砌e ( 3 ) d 砒e ( 2 ) d 砒e ( 4 ) i 出( 4 ) l ( 丑e ( 4 ) a c p t ( 0 ) r e 辨n t ( 3 、 i m d 3 1 i 棚e ( 4 ) a o 科5 ) 图2 3b u r s t 模式下r a m p 传输图2 4i d l e 模式下r a 肝传输 如果接收者在上一数据报到达之后的指定时问内没有收到i d l e 消 息或数据消息,接收者就用下一个序号发布r e s e n d 消息,如果指定时 间内接收者仍然没有收到丢失的消息,接收者关闭到发送者的r a 流。 接收者定期单播i d l e 消息给发送者。任何接收者发给发送者的消 息重置接收者的i d l e 定时。如果发送者没有收到i d l e 消息,发送者关 闭与接收者的连接。 迟到加入者没有收到连接消息,但是它仍然能通过被动接受加入 组。如果迟到者收到的第一个消息是数据报,它就确认自己是迟到者并 发送a c c e p t 消息给发送者。收到a c c e p t 消息后,发送者把迟到者加入 组成员列表。迟到者用收到的第一个数据包序号作为初始序号,并禁止 要求重传序号靠前的数据。 9 孽 删 一 删螂 一 一 一 器 共享资源在任何时候都必须考虑同步。 j a v a 中利用监视器的概念控制同时访问特定代码段的线程数。每 个对象具有一个监视器,一次最多只能由一个线程拥有,如果要求每个 线程取得一个监视器的拥有权之后再执行代码,则一次只能由一个线程 执行这个代码。这个访问用s y n c h r o n i z e d 关键字控制。 s y n c h r o n i z e d 关键字用法如下: s y n c h r 。n i z e d ( a n y o b j e c t ) t h i sc o d ew i l l b ee x e c u t e db yo n l yo n et h r e a da ta t i m e ) 通常,需要对t h i s 对象同步整个方法,这时,s y n c h r o n i z e d 关键 字可以加入方法声明中。写成: p u b li cs y n c h r o n i z e dv o i da d d e l e m e n t ( 0 b j e c to b j ) s o m ec o d e h e r e ) 应该注意的是简单的使用s y n c h r o n i z e d 修饰符并不是解决同步问 题的万能方法,s y n c h r o n i z e d 会在许多虚拟机中造成性能降低,并较 大的提高了死锁的可能性。 3 2 3 线程池 线程对象的生成成本相对较高。j v m 要记录所有线程的状态,以便 进行调度和切换。应用程序调用许多临时线程时,保持线程资源池可以 比每次使用时一生成新线程更有效。在程序开始时生成几个线程并在出 现任务时将线程分配给这些任务。任务完成后,线程并不删除,而是返 回线程池中,以备复用。这样可以避免对每个请求生成和删除线程的昂 贵操作。 编写多线程应用程序的一个重要原因是提高代码效率。小心使用 s y n c h r o n i z e d 块和利用线程池可以使多线程代码更加高效。 3 3 基于j a v a 的语音编程“”。”“” j a v a 可以处理8 位和1 6 位音频数据,支持包含线性数据编码或一 规则或a 一规则采样值声音文件的处理。 声音能够以任何速率进行采样,以满足数字化的声音数据的使用。 语音常常在8 k h z ,即8 0 0 0 次采样秒下进行数字化录制。j a v a 支持从 8 l ( h :到4 8 k h z 的采样率。 3 3 1 声音a p i 完整的声音a p i 类包含在4 个包中,j a v a x s o u n d sa l t l p l e d 包中包 含支持录制和播放采样声音的类,j a v a x s o u n d m i d i 包中包含支持 分别是:l i n e i n f o 、d a t a l i n e i n f o 、m i x e r i n f o 和p o r t i n f o 类。 这些内部类类型的对象负责封装指定对应接口类型对象的数据。 l i n e i n f o 对象以及子对象由其类定义了一个线路,使用时通常 会构造d a t a l i n e i n f o 和p o r t i n f o 。p o r t i n f o 类中定义了很方便的 p o r t i n f o 类型的s t a t i c 常量: l i n ei ns p a k e rh e a d p h o n e l i n eo u t m i c r o p h o n e c o m p e c t d i s k 这些常量通常对应于用户声卡上的插孔。 d a t a l i n e i n f o 对象描述一个源或目标数据线路或一个剪辑。 d a t a l i n e i n f o 类有三个构造器,其中d a t a l i n e i n f o ( c l a s sc l a s s , a u d i o f o r m a tf o r m a t ) 指定了给定类的线路的音频格式。使用 a u d i o f o r m a t 类的对象定义特定的音频格式。最通用的构造器需要7 个 参数:a u d i o f o r m a t( a u d i o f o r m a t e n c o d i n ge n c o d i n g , f l o a t s a m p l e r a t e , i n ts a m p l e s i z e i n b i t s ,i n tc h a n n e l s ,i n tf r a m e s i z e , f l o a tf r a m e r a t e ,b o o l e a n b i g c n d i n g ) 。对于网络中实时传输的语音格 式可以定义为: a u d i o f o r m a t f o r m a t = n e wa u d i o f o r m a t ( a u d i o f o r m a t e n d o d i n g u l a w ,u 规贝0 编码 8 0 0 0 0 f 采样率为8 0 0 0 k h z 8 ,8 位采样 2 ,双声道 2 ,帧大小= 采样位8 $ 声道数 8 0 0 0 o f 通常帧速率= 采样率 t r u e ) :b i g e n d i a n 定义音频格式之后,可以生成一个对象封装我们想使用的特定线路 的规范,例如: d a t a li n e i n f os o u r c e i n f o = n e wd a t a lin e t n f o ( s o u r c e d a t a lin e c l a s s 。f o r m a t ) ( 4 ) 访问声音设备 使用a u d i o s y s t e m 类获得对系统上物理声源的访问,它定义的静态 方法返回对封装各种可用资源类型的对象的引用。 3 3 2 播放声音 在线播放实时音频流的过程如下: ( 1 ) 生成音频流:使用a u d i o i n p u t s t r e a m 对象的r e a d ( ) 方法从缓 冲内存中读取采样块; ( 2 ) 生成对s o u r c e d a t a l i n e 对象的引用,用户写向它的数据将由 混音器佟输给喇弧输出。生成的数撼线路登须其有和打算褥给它的数据 一样的静频格式。 ( 3 ) 生成d a t a 乙i n e i n f o 对象指定线路类型,然后调用a u d i o s y s t e i i l 类静静态方法g e t l i n e ( ) 著叛d a t 乱i n e i n f o 雩| 罐箨为参数,获褥一个 s o u r c e d a t a l i n e 对象的引用。调用该对象的o p e n ( ) 方法打开线路使线 路保留需要的系统资源。之聪使用该对象的w r i t e ( ) 方法对它写入数据。 3 3 3 录裁黟啻 通j 建获得混啻器的目标数据线路泶制声音。定义想从线路获得的音 频格式的a u d i o f o r i l l a t 对象,使用音频格式对浆定义l i n e i n f o 对琢, 撂定线鼹斡特征,使用a u d i o s y s t e m 类中的g e t l i n e ( ) 方法从l n e 。l n f o 对象获褥线路弓i 鞠。 3 。4 j d b c j 转8 0 ( 西v a 转a t a 弛s ec o 糯e e t i v i t y ) 是一琴孛哥弱s e c o 糯e e t i v i t y ) 是一琴孛哥弱髑予魏芎亍s 镰语句的j a v a api,主骚提供从java跨平台、跨数据库的数据库访问方法, 为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应 雳程序羧墨,搜开发人员可黻廷缝j a v a 语言缓写宠整瓣数据库应瑟程序。l jdbca p ij p b ea p i 包攮5 个组成部分,它们分别怒: 黔i v e r m a n a g e r ( 驱动稷序管理) :用束装入数据库驱动程序以及管理应用穰序与驱动程序之间的连接。 driver(驱动程序):搬api调用翻译成针对特定数摄源的操作。 conneetion(连接):一个应蔫稳海与一令数据库之鬻豹会话。 statement(语句):一个sql语匍,执行一项查询或者更新操作。 resultset(结果集):由执行一祭语句而得到的列和行数据的逻辑集合。 jdbc还用metedata(元数据)来表示关于邋回数据、数据库和驱动程序的信息。 应髑j d b ca p l 操俸数摄痒缒过程露鼹图3 2 表示。 圈中方框代表的是jdbc裳或接鞠,j髓e的类和接翻都由java。sql 包提供。 图3 。2 帕b c 操作数据库的过程 2 j d b c 的使用 使爆j d b c 连接数握库一般包撅下列步骤: 导入必要的类:装入j d b c 驱动程序;识别数据源;分配一个 g o n n o c t i o n 对象;分配一个s t a t e m e n t 对象;使蹭s t a t e l i 】e n t 执行 一个查询;从返回的r e s u l t s e t 对缀中梭索数据;依次关闭r e s u l t s e t 、 s t a t e m e n t 对象和e o n n e c t i o n 对象。下面一个例子程序说明了j d b c 访 阕数据库嬲最熬本蛇操转过援; i m p o r tj a v a s q l i8 ;引入j d b c 库的类和接口; p u b l i cc l a s se s s e n t i a lj d b c p u b l i cs t a t i cv o i dm a i n ( s t r i n g a r g s ) t r y c 1 8 s s 。f o r 辩a l 鞋e ( ”s u n j d b e o d b c 。,d b e o 娃b c 龄i ¥e r ”) ; 装入j d b c o d b cb r i 抛e 驱动程序: s t r i n gs o u r c e u r l = “j d b c : o d b c : 擀h i t e b o a r d d a t a ”; 表示在w h it e b o a r d d a t 8 的o d b c 数据元使用b c 驱动程序: e o n n e c t i o nd a t a b a s e c o n n e c t i o n = d r i v e r 5 堍n 8 9 e r 。g e t e o 珏n e e t i o 秘( s o 珏r e e 馨r l ) ; 由d r i v o r m a n a g e r 生成一个对指定数据源( s o u r c e u r l ) 的 e o n n e c t i o n 对象。 s t a t e m e n ts t 8 t e 强e n t = d a t a b a s e c o n n e e t i o n e r e a t s t a t e 秘e n to ; 由一个合法的e o n n e c ti0 n 对象生成一个s t a t e m e n t 对象: r e s 鞋l 专s e tt i t 圭e 嚣鑫融e s 蒿 s t a t e m e n t e x c u t e q u e r y ( ”s e l e c tt i t l ef r o mw b t i t l e ”) 稍e x c u t e q u e r y ( ) 方法蠢询数据库,查询缩采返回副一个 r e s u l t s e t 对象: c a t c h ( c l a s s n o t f o u n d e x c e p t i o nc n f e ) ) 信任的服务器,出服务器根据白板系统提供的数据协议决定如何处联自 板消息,客户程序不能直接向组发送消息,这样就在一定程度上提供了 安全保蹲。 与究全应瑁缀播秘议构造翡鑫教系统穗魄,混合模鳖实瑷超寒爨为 简单。虽然数据传输使经过了从客户到服务器再到客户的过程,在时 间消耗上比组措多一倍,便是比完全基于t c p i p 的白板系统耗时要 低,够瀵是舀嫒系绞。趣叫珥弱,群塑蛙鼷赢;羹涨罐国溺降巍 擀“苎囊一i 基望i 妻手s : 纂襄娶蒜擎嘉蛩菖 联型艮! a 女i 副蚓雾囊銎齄肄婆、鼙萑腰畚霸耍嚣豁繇籍驰琵琶 嚣嚣簖鳇,骢 8 a n 的属性 。 2 (6)在服务器端读取javabean的属性。2 0 x 据,保证了与其它客户的自板数据一致。如果需要对恢复错误数据,则 根据r a m p 的设置,从服务器获取恢复的数据。 4 2 系统功能简介 l 。簸务器鲻提供下麓动戆: ( 1 ) 提供动态豹囱板主页,使弼户熊够通过主页了解斧镬运行静自 扳主题等有关信息,决定是否加入某个自板; ( 2 ) 用户能够通过主页创建一个新主题的白板系统; ( 3 ) 管理员可以通过w e b 页面对白板数据库进行后期的维护: ( 4 ) 提供客户端程序的下载; ( 黪服务器实现盘叛消息的转发。 2 。客户端纛序支撼夔殛戆寿: ( 1 ) 提供g u i ,健溺户畿输入自板消慧; ( 2 ) 提供向服务器发送消息的功能; ( 3 ) 接收服务器组播的消息: ( 4 ) 支持语音信号的采集、传送和接收。 毒3 系统所需的软硬件环境 系统工 乍在e t h e r n e t 为基礁蕊校霾躅上; 服务器上安装j a v a 编译环境( ( j d k1 3 版本) 和t o m c a tx 1 o ; 客户机上安装有j a v a 编译环境( j d k1 3 版本) 。客户机上安靛有声卡、 耳机。 第五章系统主体设计 5 1 开发工具的选择 由于本课题中的主要内容与网络编程有关,所以在本课题中选择 j a v a 作为编程语言。现在已经有了许多优秀的j a v a 程序开发坏境,来 自b o l a n d 公司的j b u i l d e r 是目前最好的j a v a 开发工其之一,在协同 管理、对j 2 e e 和x m l 的支持等方面均走在其它产品的前面。j b u i l d e r 的主要特性有: ( 1 ) 提供与t o m c a t 集成,使w e b 开发更容易: ( 2 ) 提供了对企业应用的开发功能,可以集成多种应用服务器; ( 3 ) 提供了更简单的程序发稚功能,所有的应用都可以打包; ( 4 ) 提供了团队开发能力,可以集成多种版本控制产品。 在本课题中的应用程序与j s p 网页设计均使用j b u i l d e r 开发。 5 2 应用程序的主要结构 本课题中的应用程序分为服务器应用程序和客户端应用程序,分别 放在w b s e r v e r j p x 和w b c l i e n t j p x 工程文件中。 服务器端应用程序包括以下类和文件: w b s e r v e r 用于启动和初始化服务器应用程序,接收和发送各种 消息,并对各种消息进行处理: w b s e r v e r o b j 描述一个白板服务器对象的属性;处理客户端白 板消息; s e n d e r 描述一个r a m p 发送者对象:转包客户端白板消息并组 播发送: e l e m e n t 描述白板中绘制的元素; e l e m e n t l i s t 保存白板e 1 e m e n t 对象的列表; w b m s g 白板客户与服务器间通信的消息: $ j s p 包括白板主页和通过主页完成的各种输入、管理功能的 j s p 页面; w h i t e b o a r d m d b 白板系统中用到的数据库。 客户端应用程序主要包括以下类: w b c l i e n t 一一启动和初始化客户端应用程序,接收和发送各种消 息,并对各种消息进行处理; w b c l i e n t o b j 白板客户对象;处理服务器转发的白板消息; r e c e i v e r 描述一个u n i v e r s a l r e c e i v e r 对象;接收组播消息; w b f r a m e 客户端图形界面,用户通过它绘制白板元素、生成并 发送白板消息。 e 1 e m e n t 与服务器中e l e m e n t 类相同: e l e m e n t l i s t 与服务器中e 1 e m e n t l i s t 类相同,保存本地白板 元素。 w b m s g 与服务器w b m s g 类相同,从客户发往服务器的消息中应 写入白板服务器的编号。 5 3 系统工作过程 图5 一l 表示系统工作过程。 图5 1 系统1 二作过程 1 服务器主程序启动与白板数据库的连接,读取组播地址并生成 w b s e r v e r 0 dj 对象和s e n d e r 对象;生成s e r v e r s o c k e t 对象监听客户端 的t c p 连接; 2 客户机主程序首先启动用户界面,用户通过菜单选择要连接的 服务器和白板编号,生成c o n n e c t 消息,请求与指定服务器和指定 粕s e r v e r o bj 连接:根据i n i t 消息生成w b c l i e n t o b j 对象和r e c e i v e r 对象。 3 用户界面监听客户动作,生成白板消息并t c p 给服务器:服务 器接收消息,由w b s e r v e r o b j 对象处理,经s e n d e r 对象转发给组地址; 4 客户w b c l i e n t ,o b j 对象和r e c e i v e r 对象接收组播消息,处理 并更新用户界面。 5 4 详细设计 5 4 。1 数据库的设计 由于本系统中的数据库较小,仅用柬对注勰的教师用户积镣理员用 户逑李亍楚蕈瓣管理,良及存臻鑫叛逶信静缀撵遮蛙。疑以奁零袭绞中菠 瑙凝s a 蕊e s s 编辑数溅瘁,应矮程序遥遵j p b e g d b c i 电e 鹱动程序 访问数据库。 数据库中共有6 张寝,“白板表”存储自板地组播地址和使用状念, “用户表l ”、“用户表2 ”、“系名表”和“属性表”用于管理注册用户, “用户登陆表”记录注册用户使用白板系统的状况,为数据统计提供条 佟。刨建一个o d b c 数据源砰h i t e b o a r d d b ,生成如下戆式的 u 跹:j 秘e :o 秘e :餮h i t e 转o a r d 臻,建立与数攥疼连接爨语句磐下: e i a s s f o r n a m e ( “s u n j d h e o d b e ,i d b c o d b c 酚i v e r 界) ;载入、j d b c 驱动程序 s t r i n gs o u r c e u r l = “j d h c :o d b c :w h i t e b o a r d d b ”;窳义数据 源 c o n n e e t i o nc o n = d r i v e r m a n u g e r g e t c o n n e c t i o n ( s o u r c e u r l ) : 建立连接 5 。4 。2 鑫叛元素熬疆述与存辏“8 共享自板内容商灏种方式,一种是将囱板内容作为一张饿图,每当 自板内容更新时,就产生一张新的位图,然后把位图传输出去。这种方 式实现起来最直观也最简单,但是在网上传送位图需要较大的骷宽,如 果频繁更新白板时,网络可能会被大量的数掘堵塞。另一种方法是把白 扳蠹容的组成元素用必爨遴镗描述,白投内容的更改被反映到元素的形 状、位嚣等搓述爨交像,系统蝰变讫接送翔瓣终上,皇板客户接浚登交 能之螽仅需稷据变亿修改本遣参数帮可。这秘方法太大减少了网络传输 的数据,是比较理想的选择。但是为了使所有的用户能识别自板的变化, 需戮对白板中可能容纳的元素进行描述,并且各个白板用户必颡在本地 保襻白板的元素,这就需要保证所有白板用户的本地元素必需是一样 的。 ( 1 ) 元素的描述; 我键为每令图形元素定义该元素夔凝簸、形凌、莛熹帮终焱,对话 溆激元素就是一个字符串对象。实现中我们为所有图形元素定义了一个 臀通的基础类e l e m e n t ,并包含每种元素类型的一个成员,存储一种或 另一种类型的s h a p e 对象。在类中包含一个多义方法,以s h a p e 类型返 回对元素的引用,用户可以在客户端的g u i 容器中用g r a p h i e s 2 d 对象 的d r 删( ) 方法绘制该元素。图5 3 显示了将在e l e m e 吐基础炎中声唆 j 在宓现中,我们设计e 1 e m e n t l i s t 类保存囱板中绘制的元素,对于 每个元索,服务器生成一个唯一的标识( i d ) 描述它,然后用户可以通过 标识来操纵元素。在e 1 e 珊e n t l i s t 类中定义了2 个v e c t o r 对象,分别 存放标谈i d 蠢对该元素躲弓| 溺: p r o 专e c t e d ¥e e t o ri d s 嚣n e wv e e t 。r ( ,; p r o t e c t e dv e c t o rli8 t = n e wv e c t o r ( ) ; e 1 0 m e n t l i s t 类主要安现以下方法: d u b l i co b j e c ta d d e l o m e n t ( o b j e c te l e m e n t ) 添加一个元索到 l i s t 对魏,分配并返回标识i d ; p u b l i co bj e e td e l e t e e l e m e n t ( 0 b j e c tid ) 删除i d 指定的元素, 如果元素存在剿黧豫该元素并返酉搔定豹标识i d : p u b 珏e j e e t 掰o d i f y e l e 豫e n t ( ;e c ti d ,秘j e e te l e m e n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论