(信息与通信工程专业论文)电子白板在远程教育中的设计与实现.pdf_第1页
(信息与通信工程专业论文)电子白板在远程教育中的设计与实现.pdf_第2页
(信息与通信工程专业论文)电子白板在远程教育中的设计与实现.pdf_第3页
(信息与通信工程专业论文)电子白板在远程教育中的设计与实现.pdf_第4页
(信息与通信工程专业论文)电子白板在远程教育中的设计与实现.pdf_第5页
已阅读5页,还剩88页未读 继续免费阅读

(信息与通信工程专业论文)电子白板在远程教育中的设计与实现.pdf.pdf 免费下载

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

文档简介

勺 j 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 日期:7 o l d 年,月伊日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名: 日期:矽f r 争 - 多 吻墨函 j 印 摘要 摘要 随着网络的不断发展和普及,远程教育已逐渐成为一种教学的辅助形式。但 是,由于传统的远程教育存在互动性差、师生之间的交互能力弱的特点,本论文 设计开发了具有实时交互功能的电子白板系统,满足了在远程教育教学中师生实 时交流的需求,提高了学生学习的积极性,对学习效率的改善起到了积极地作用。 通过以远程教学为背景,利用a c e 自适配通信环境开发效率高,稳定性好的 特点,在克服了传统网络编程中所存在的局限性的基础上,所设计的电子白板系 统使得学生可以在不同的地点上课,并且可以与教师实时的进行语音和文字的交 流,克服了传统远程教育中无法实时交流的缺点。 本文首先概述了课题的研究意义、设计目标及论文的组织结构,然后介绍了 文中所用到的相关技术,其中包括a c e 自适配通信环境、服务器模型的种类,接 着针对电子白板在远程教育中需求,分析设计了电子白板的总体模型和各功能模 块。然后,针对网络通信中的协议,设计了协议管理器,增强了事务分离提高了 系统性能。最后,从传统网络编程的局限性入手详细设计了电子白板系统中服务 器和客户端通信机制,并对电子白板系统的各功能模块进行了实现。文章最后对 需要改进的地方提出了展望。 本文利用a c e 的面向对象技术和其封装的框架结构,克服了传统网络编程中 容易出错、接口过于复杂和扩展性不强的缺点,并采用反应器模式使得网络通信 机制的执行效率得到了很大的提高,为电子白板实时交互提供了基础。在协议管 理器的设计上,使用了前摄器模式和抽象工厂,增加整个系统的扩展性并降低了 模块之间的耦合度。在电子白板系统的数据传输中,针对所传输数据类型的不同, 分别采用了t c p 和u d p 两种不同协议进行传输,降低了网络阻塞,提高了传输 效率。 关键字:自适配通信环境、电子白板、反应器模式、前摄器模式 a bs t r a c t w i t ht h ed e v e l o p m e n ta n dp o p u l a r i z a t i o no fn e t w o r k ,d i s t a n c ee d u c a t i o n h a s g r a d u a l l yb e c o m e sas u p p l e m e n t a r ym e a n s h o w e v f o rt h ew e a k n e s so f t h ew o r s e i n t e r a c t i o na 1 1 dt l l eb a di n t e r a c t i o nb e t w e e nt e a c h e ra n ds t u d e n t ,w ed e s i g na n dd e v e l o p ar e a l t i m ei n t e r a c t i v i t yw h i t e b o a r ds y s t e m ,w h i c h c a ns a t i s f yt h e i n t e r a c t i v e r e q u i r e m e n t sb e t w e e nt e a c h e ra n ds t u d e n ti n t h ed i s t a n c ee d u c a t i o n ,i m p r o v et h e m o t i v a t i o no f t h es t u d e n ta n dp l a yap o s i t i v er o l ei nt h ee f f i c i e n c yo f l e a r n i n g t h r o u g h i n gt h e d i s t a n c el e a r n i n ga c ta n du s i n gt h e c h a r a c t e ro fa d a p t i v e c o m m u n jc a t i o ne n v i r o n m e n tw h i c h h a v eh ig h e f f i c i e n td e v e l o p m e n ta n dg o o d s t a b i l i t y ,w ed e v e l o paw h i t e b o a r ds y s t e mw h i c hs t u d e n tc a ns t u d ya td i f f e r e n tl o c a t i o n a n dc o m m u n i c a t ew i t ht e a c h e rb ys p e e c hs o u n d s a n dw o r d si nr e a lt i m e ,t h e w h i t e b o a r ds y s t e mo v e r c o m e st h es h o r t c o m i n g so ft r a d i t i o n a ln e t w o r kp r o g r a m m i n g w h i c hc a nn o tb er e a l t i m ec o m m u n i c a t i o n t h et h e s i sf i r s t l yp r o v i d e sa no v e r v i e wo ft h er e s e a r c hs i g n i f i c a n c e ,t a r g e to ft h e d e s i g na n dt h eo r g a n i z a t i o n a l s t r u c t u r eo ft h et h e s i s ,s e c o n d l yi n t r o d u c e t h ek e y t e c h n o l o g i e sw h i c hi n c l u d e sa d a p t i v ec o m m u n i c a t i o ne n v i r o n m e n ta n d s e r v e rm o d e l t y p e ,t h e na n a l y s e sa n dd e s i g n st h eo v e r a l lm o d e lo ft h ew h i t e b o a r da n d i t sf u n c t i o n m o d u l et om e e tt h ew h i t e b o a r di nd i s t a n c el e a r n i n gn e e d s a f t e rt h a t ,a c c o r d i n gt o t h e n e t w o r kc o m m u n i c a t i o np r o t o c o l ,w ed e s i g n ap r o t o c o lm a n a g e rt oe n h a n c et h e t r a n s a c t i o ns e p a r a t i o na n di m p r o v et h es y s t e mp e r f o r m a n c e a tl a s t ,a i m i n g a tt h e l i m i t a t i o n so ft r a d i t i o n a ln e t w o r kp r o g r a m m i n gw ed e t a i l e dd e s i g n aw h i t e b o a r d s v s t e mo fs e r v e ra n dc l i e n tc o m m u n i c a t i o nm e c h a n i s m ,a n da c h i e v et h e f u n c t i o n a l m o d u l e s o fw h i t e b o a r ds y s t e m f i n a l l yo nt h en e e df o ri m p r o v e m e n to fp r o s p e c t i o n n et h e s i su s e st h eo b je c t o r i e n t e dt e c h n o l o g ya n dt h ep a c k a g i n gf r a m e w o r kt o 0 v e r c o m et h es h o r t c o m i n g sw h i c hi sp r o n et oe r r o r , t h ei n t e r f a c ei st o oc o m p l e xa n d s c a l a b i l i t yi s n o ts t r o n gi nt r a d i t i o n a ln e t w o r kp r o g r a m m i n g ,a n du s e s t h er e a c t o r m o d e lt oi m p r o v ei m p l e m e n t a t i o no ft h en e t w o r km e c h a n i s me f f i d e n f l y m o r e o v e r , p r o v i d e sm eb a s i sf o rr e a l t i m ei n t e r a c t i o n f o rt h ew h i t e b o a r d f o rt h ed e s i g no f p r o t o c o lm a n a g e r , w eu s et h ep r o a c t o rp a t t e r n a n da b s t r a c tf a c t o r yt oi n c r e a s et h e a b s t r a c t s c a l a b i l i t yo ft h es y s t e ma n dr e d u c et h ec o u p l i n gd e g r e eb e t w e e nm o d u l e s i nt h e w h i t e b o a r ds y s t e md a t at r a n s m i s s i o n ,a c c o r d i n gt od i f f e r e n td a t at y p et r a n s m i s s i o n ,w e u s et w od i f f e r e n tp r o t o c o l so ft c pa n du d pt or e d u c en e t w o r kc o n g e s t i o na n d i m p r o v et r a n s f e re f f i c i e n c y k e yw o r d s :a d a p t i v ec o m m u n i c a t i o ne n v i r o n m e n t ,w h i t e b o a r d ,r e a c t o r , p r o a c t o r i i i 目录 目录 第一章绪论。1 1 1 课题开发的目的和意义l 1 2 课题的研究现状分析2 1 3 课题的研究内容和主要技术手段3 1 4 论文的框架结构4 1 5 本章小结5 第二章a c e 及相关技术概述6 2 1a c e 的概述及相关技术6 2 1 1a c e 的体系结构6 2 1 2a c eo s 适配层6 2 1 3 操作系统接口的c + + 包装外观7 2 1 4a c e 框架。8 2 2 网络编程概述1o 2 2 1s o c k e ta p i 概述及其局限性1o 2 2 2 传统网络通信的特点l2 2 2 3 a c es o c k e tw r a p p e rf a c a d e 13 2 2 4a c e 的优点15 2 3 网络服务器设计模型1 5 2 3 1 循环式服务器模型1 6 2 3 2 并发式服务器模型17 2 4 电子白板中的感知技术19 2 4 1 协同感知技术1 9 2 4 2 电子白板中协同感知的思路2 0 2 5 本章小结2 l 第三章电子白板系统的总体设计2 2 3 1 系统的需求分析2 2 3 1 1 性能需求2 2 3 1 2 功能需求2 3 i v 目录 3 2 系统框架的设计2 4 3 2 1 系统总体框架2 4 3 2 2 系统的结构框架2 5 3 3 本章小结。2 6 第四章电子白板系统的详细设计与实现2 7 4 1 网络通信协议的设计2 7 4 1 1 电子白板系统中的网络通信协议2 7 4 1 2 通信协议的设计31 4 2 网络通信模块的设计与实现3 3 4 2 1s o c ks a p 的网络编程3 3 4 2 2 反应器( r e a c t o r ) 框架3 7 4 2 3r e a c t o r 通信框架的运用:4 0 4 3 协议管理器的设计与实现4 7 4 3 1 协议管理器的设计4 7 4 3 2 前摄器( p r o a c t o r ) 框架和抽象工厂模式4 8 4 3 3 协议管理器关键类的设计5 2 4 3 4 协议管理器的工作流程j 5 3 4 4 本章小结5 5 第五章系统各功能模块的设计与实现5 6 5 1 文字图形编辑模块5 6 5 1 1 图形类的设计5 6 5 1 2 图形信息协议的设计5 8 5 1 3 各种图形绘制的实现5 9 5 2 音频处理模块6 2 5 2 1 基于u d p 的质量保证控制机制6 2 5 2 2 声音的捕获6 3 5 2 3 声音的回放6 4 5 2 4 语音通信流程6 4 5 3 文字聊天模块6 6 5 4 文件传输模块:6 6 5 5 本章小结6 8 第六章实验环境和测试报告6 9 v 目录 6 1 测试环境的配置6 9 6 2 系统的性能测试7 0 6 3 系统的功能测试7 1 6 4 本章小结7 4 七章总结与技术展望7 5 7 1 技术总结7 5 7 2 技术展望7 5 致谢7 7 参考文献7 8 v i 第一章绪论 1 1 课题开发的目的和意义 第一章绪论 在今天,远程教育己成为高等教育普及的一种特别的方式,是目前高等教育 体系中一个重要的组成部分,在远程教育教学中,所采用的教学方式、教学方法 和教学手段已经显得越来越重要。 从目前的远程教育的教学所采用的技术手段上,大致是以下的两种方式。一 种是基于计算机的教学( c b tc o m p u t e rb a s e dt r a i n i n g ) 。教师将教学相关的要求、 评测、作业、试题等做成课件形式,放置于w e b 服务器上面,学生可以登录网 站进行下载,然后自己进行学习,达到学习知识的目的;另外一种情况是,将教 师在教室实际讲课的内容录制下来,经过适当的剪辑后,制成视频课件放置于 w e b 服务器上,学生可以在线点播进行相关的学习。学生可以通过互联网在任意 的时间和地点访问服务器而无需像传统的上课那样局限于教室之中。当在学习的 过程中,遇到疑难问题可以通过多种方式来进行解决。其一,可以通过e m a i l 的 方式发送给老师,请求老师来进行答疑解惑;其二,可以在网站的讨论区进行发 帖的方式求助于老师或者其他同学。 但是,这种模式的缺点是,由于此类教学资源主要是文本、图片、课件和视 频等,这种静态的学习对于学生来说,没有很大的吸引力,对学生自学能力要求 较高。另外,缺乏实时的交流和讨论,当遇到问题无法理解后,影响下一步学习 的进行。最后,当针对某一问题进行学习时,无法及时的找到相关的知识,导致 学习目的有时候不明确。 另一种是视频会议系统,老师可以和学生在不同的地点通过网络实时远距离 教学。但这种视频会议系统主要是指传统的电视电话会议,广泛的用于国家政府 机关和大的公司等来方便的举行会议,与会人员可以在不同的地点和国家。 其缺点是由于建立这样的一种系统需要很高的费用,因此对于远程教育来说 不太实用。视频会议系统跟实际教室有类似的地方,就是学习者必须在具体的时 间和具体的地点来参加学习,在时间和地点上与传统的教学又出现类似的情况。 在这种情况下,需要一种能够实时进行交流,费用比较低廉的产品,电子白 板技术就应运而生。电子白板的使用,学生可以不再局限于传统的教室之中,教 电子科技大学硕士学位论文 师授课也不受地理位置的限制,而且突破了校园课堂中人数的限制。通过网络, 学生可以在任何时间和地点得到老师的指导,并能够实时的提出困惑并迅速得到 解答,学习效率得到有效地提高。 电子白板系统具有以下的优势: 1 与传统的远程教育相比,学生可以同时接收到文字图形、文本、文件和音 频等各种信息,而不仅仅局限于静态的文本图片和资料,改变了学习的方式,增 强了学习的积极性。 2 在教学的过程中,由于教师和学生之间实时交互性能得到改善,所以,学 生可以随时向老师请教在学习过程中所遇到的问题,而教师也可以根据学生反馈 的集中问题,再针对性的进行讲解分析。 3 教师可以通过电子白板将所要布置的作业,通过文件传输的形式传送给学 生,当学生做完以后,也同样以文件形式交给老师,方便了师生之间的交流,对 传统教学模式进行了变革。 1 2 课题的研究现状分析 电子白板是一种多用途的实时交流工具,其可以被应用于很多领域范畴,比 如网络视频会议、多媒体实时教学和科研讨论范畴等【l 】。一项最新的报告显示, 在美国有一半多的高校中提供远程教育服务【2 】并且在以每三年增长一倍的速度 在增加,其中电子白板的应用是师生有效地沟通手段。此外,电子白板还应用于 其他的很多领域。比如,美国c a r n e g i em e l l o nu n i v e r s i t y 的l e u n gw i n gh o 将电 子白板应用于用户进行透明的跟面对面一样的通讯中,其模拟了一种多用户的 3 d 虚拟环境1 3 j 。德国的u n i v e r s i t y o f h a n o v e r 将电子白板应用于医疗的预诊断【4 1 。 日本的m a t s u en a t i o n a lc o l l e g eo ft e c h n o l o g y 和c o l l e g eo fs c i e n c ea n di n d u s t r i a l t e c h n o l o g y 合作,将电子白板应用于远程教学中,其突出的特点是利用鼠标可以 将所有的功能完成【5 】。 在国内,远程教育的发展经历的三个阶段:函授教育、广播电视教育和网络 教育【6 】。而教学活动主要体现的是人与人之间的交互,在相互交流的过程中增强 对知识的理解。在远程教育的初期,是以“学生和学习内容”之间相互为主,不 能体现传统课堂“人与人交互”的特点。直到计算机网络技术的推广和普及之后, 形成了现在的网络教育形式。 而网络教育阶段正是远程教育的最新形式,它集成了了计算机技术、多媒体 2 第一章绪论 技术、通信技术和网络技术等现代化技术,成为教学的最主要手段。能够使处于 不同地点的学习者在共享教学资源,但这种在这种信息共享的基础上,学生个人 的学习和传统教学中相交互的学习模式在远程教育中没有反映出教学的真正意义 所在,它存在如下缺点: 1 ) 教学内容单一。目前,大多数基于w e b 的课程都是作为网页形式出现的, 包括文字、静态的图像和p o w e r p o i n t 讲稿等形式,对于学生的学习来说,好 像平时所学内容的搬家。 2 ) 教学策略的缺乏。学生在学习的过程中,是在一种以个人意志为前提下进 行的,致使学习中处于被动,缺少群体的学习和互动协作学习,致使学习的积极 性不高。 3 ) 个性化学习不足。远程教育中的学习者被视为一个整体,不能根据每个学 习者自身的特点,提供个性化的学习。 4 ) 交互能力的缺乏。教师所提供协作学习功能仅仅局限于传统的e m a i l 或 b b s ,缺少即时性和实时性。 在这种背景下,电子白板技术应运而生,与传统的教学相结合,发挥电子白 板在现代教学上的优势,真正的将信息化带进教育教学活动中去。 现在,许多的高校和部门正在研究和实现电子白板,北大、上海交大、浙大、 国防科大等【7 】都在进行这方面的探索。 总之,远程教育中电子白板的运用,使得教学资源和学生学习不在受到时间 和空间上的限制,能够使得许多人不断的补充自己的知识,随时掌握新的技术, 适应社会的发展,并由被动地学习转为主动学习。因此,在这方面的研究已经逐 渐成为研究热点。 1 3 课题的研究内容和主要技术手段 本文针对远程教育中需要实时交互的特点,对各个模块进行了详细的设计和 实现,研究并开发一个适用于教学与教学相似领域的电子白板系统,该系统能够 提供一个学习的虚拟空间,支持在不同地点的学习者在各自的计算机上实时的来 共同学习和探讨,具有多媒体教学功能和实时交互的功能,拓展了以往电子白板 的性能。 本系统所采用的主要技术手段包括: ( 1 ) 利用a c es o c k e tw r a p p e rf a c a d e 和c + + 特性,解决了在传统的网络编程 3 电子科技大学硕士学位论文 中采用s o c k e t a p i 的局限性。 ( 2 ) 利用r e a c t o r 设计了服务器和客户端之间的通信,并根据通信中传输数 据类型的不同,分别采用t c p 和u d p 来进行传输,提高了传输的效率。 ( 3 ) 在对协议管理器的设计上采用了前摄器( p r o a c t o r ) 框架和抽象工厂模 式,增加整个系统的扩展性并降低了模块之间的耦合度。 ( 4 ) 在文件传输的模块设计中,为了避免文件一次传送完毕容易产生错误的 特性,将文件分块传输,并设计使用了“传输应答机制”,以此保证文件传输的可 靠性与准确性。 1 4 论文的框架结构 本论文共分六章,文章各个章节分布如下: 第一章绪论中,首先介绍了目前远程教育中所使用的两种模式,还对所要研 究的内容和采用技术进行了简介,并描述了论文的组织结构。 第二章是a c e 及相关技术概述。首先介绍了a c e 面向对象技术,概述了其 组件和框架结构,并对传统s o c k e ta p i 网络编程进行了分析,指出了其中的不足 之处,最后对目前网络服务器的使用模式进行了阐述。 第三章是电子白板系统的总体设计。首先,根据对电子白板在远程教育中的 需求进行分析,设计了电子白板的整体系统模型,然后描述了系统的整体框架。 第四章是电子白板系统的详细设计与实现。在分析了网络通信协议的基础上, 设计了系统中所用到的通信协议。在网络通信模块的设计上,首先分析了传统设 计的缺点,然后利用a c er e a c t o r 模式对传统网络通信进行了改善。在对协议管 理器的设计上采用了前摄器( p r o a c t o r ) 框架和抽象工厂模式,增加整个系统的扩 展性并降低了模块之间的耦合度。 第五章是系统各功能模块的设计与实现。根据电子白板系统功能设计的要求, 实现了对于文字图形辩解、音频传输、文本聊天和文件传输功能。 第六章是系统的测试。通过对系统的最大连接数的测试,说明了本文所采用 a c e 框架模式的特点。 第七章是总结与展望。对整个开发过程中所采用的技术进行了总结,并对系 统的不足之处进行了说明。 4 第一章绪论 1 5 本章小结 本章节主要对课题的开发目的和研究的主要内容进行了简介,并对论文的组 织机构进行了说明。 电子科技大学硕士学位论文 第二章a c e 及相关技术概述 2 1a c e 的概述及相关技术 2 1 1a c e 的体系结构 a c e 是一个强大的c + + 工具包,这是一种自由开放源代码的面向对象的框架 结构,在这种结构中实现了许多用于并行通信软件的核心设计模式,在网络以及 多线程应用的同时,具有更好的灵活性和更少的错误数目,能够使开发人员轻松、 快速的开发出具有可移植性的、高性能的应用。a c e 提供了丰富的c + + w r a p p e r f a c a d e 和框架组件,以及可跨平台执行通信软件的基本任务的框架对象。a c e 提 供包括事件分离和事件处理器的分发、信号的处理、服务初始化、进程间的通信、 共享内存的管理、消息路由、分布式服务、并发执行和同步等动态配置的基础性 工作。 针对a c e 的高性能与实时通信服务,它的使用对象是面向应用的开发人员。 它可以简化实现进程间通信、事件多路分离、显式动态链接以及面向对象的并行 处理的网络应用和服务的发展进程。同时,a c e 通过在运行过程中动态的将服务 连接到应用中并在一个或者多个进程或线程中执行这些服务,这种方式实现了系 统的自动配置和重新配置。 a c e 是由a c eo sa d a p t a t i o n 层( 1 a y e r ) c + + w r a p p e rf a c a d e s 结合而成,它 对核心操作系统的并发网络编程机制进行了封装【8 】【9 1 。a c e 其他较高层都是在这 个基础上建立的,以便将功能模块来进行划分,它被设计为一种层次化的体系结 构,如图2 1 示。 2 1 2a c eo s 适配层 该层在c 编写的本地操作系统a p i 之上。该接口层使a c e 中的其他层与部 件和下面的与平台相关的操作系统a p i 相互屏蔽开来【1 0 】: ( 1 ) 多线程与同步:a c e 接口层封装了操作系统的多线程、多进程与同步 机制相关的a p i 。 ( 2 ) 进程间通信与共享内存:a c e 接口层封装了操作系统的本地与远程 6 第二章a c e 及相关技术概述 进程间通信,和共享内存管理的相关a p i 。 ( 3 )事件分离机制:a c e 的接口层封装了操作系统中,有关同步和异步分 离基于i o 、计时器、信号量、和同步事件的部分功能。 ( 4 ) 显式动态链接:a c e 接口层封装了操作系统的显式动态链接相关的 a p i ,该功能允许应用服务不管是在安装的时候,还是在运行的时候 都可以配置。 ( 5 ) 文件系统机制:a c e 接口层封装了操作系统的文件系统a p i 来操作文 件与目录。 a c e 操作系统接口层的移植性使它可以在许多不同的操作系统平台上运行。 a c e 已经在许多操作系统平台上被移植并被测试包括w i n 3 2 ,许多u n i x 的版本, 实时操作系统,m v so p e ne d i t i o na n dc r a yu n i c o s 。 d m f 批擂d f 芑鲫门c 嚣f 再i d c 晓m 持匹蝌 固回 国母园 a z d 正e ,e r s j 、聃 d 胴m ,墨 一饿矧撇凇 嘲s e r v & 一 姐酋 咽圃t 八。捌 竖盈b 型旦丑匕强苎趋 函函盈豳 = 陲澄酗幽 墨a 晤:m 工p o s xa t , d 嗣啪2 霸e r y i c b l 图2 1a c e 的体系结构 2 1 3 操作系统接口的c + + 包装外观 对于高移植性的c + + 程序的开发可以直接在a c e 操作系统接口层之上,然 而,更多的人选择使用a c e 的c + + 封装层。那是因为它在更为简洁、健壮、可 移植好,并可以维护较高级面向对象类接口中封装的低级函数和数据结构。c + + 7 电子科技大学硕士学位论文 封装层简化了应用的开发过程,它是通过提供封装并加强本地操作系统并发控制、 通信、内存管理、事件分离、动态链接和文件系统a p i ,提供类型安全接口来完 成的。应用可通过有选择的继承、聚集或实例化下列对象来使用这些封装: 并发与同步部件:a c e 抽象了本地操作系统的多线程和多进程机制,如互斥, 信号量来创建如活动对象( a c t i v eo b j e c t s ) 与多态未来( p o l y m o r p h i cf u t u r e s ) 等 高级面向对象并发抽象。 进程间通信与文件部件:a c ec + + 包装者封装了本地和远程的进程间通信 机制如:s o c k e t s 与s t r e a m 管道,以及w i n 3 2 的命名管道。a c ec + + 包装 者封装了操作系统当中文件系统的a p i 。 内存管理部件:a c e 的内存管理部件提供了一个灵活、可扩展的抽象机制, 尤其是对于管理进程间共享内存和进程外栈内存的动态分配和回收。 c + + 包装者提供了许多与操作系统接口层同样的特性。但是,这些特性不是 使用单独的c 函数来构造的,他们是使用c + + 类与对象来构造的。这些面向对象 的包可减少直接学习与正确使用a c e 所花费的精力。 比如,c + + 作为一种是强类型的包装者,因此,可以用来增强应用程序的健 壮性。所以,编译器不是在非运行期间而是在编译时间检测到与系统类型不匹配。 而对于c 级别的操作系统的一些a p i ,如:s c o k e t 、文件系统i o 等,在运行时 间之前几乎不能检查到与系统类型的不匹配。 a c e 使用很多技术来减少执行成本。例如,a c e 通过它的操作系统接口层和 c + + 包装者提供的附加的类型的安全与不同层次的抽象级别,使用c + + 扩展的内 联性来减少调用的成本。与此同时,a c e 注意避免在关键任务的包装者上使用虚 函数,如s o c k e t 与文件i o 的s e n d r e c v 方法。 2 1 4a c e 框架 a c e 框架是有一组类集成而成,开发者可以对其进行实例化和定制,用以提 供完整的网络化应用和服务组件。 框架的作用是用来提高网络化应用软件的系统化复用的强大技术。主要体现 在:它提供一组集成的、针对特定领域的结构和功能,可以增加可复用代码的数 量,而不必再为各个应用重写代码的框架。另外,框架属于一种“半完成的应 用,开发者通过对框架中的类进行继承和实例化,实现软件的大规模复用。 框架与类库相比,类库是最为常用的第一代面向对象开发技术,它规定接口, 8 第二章a c e 及相关技术概述 并封装其内部数据表示及其实例的功能。而框架是发展后的第二代开发技术,它 在若干方面扩充了类库的优势,使得框架内的类可以进行相互协作,为一组相关 应用提供可复用的架构。 下面对a c e 的各个框架进行概述: a c er e a c t o r ( 反应器) 框架:它使得事件的驱动程序开发得以简化,主 要功能是:检测来自各种事件源事件的发生,将事件多路分离给预先已 经登记好的事件处理器,将所定义好的挂钩方法分派给处理器,在处理 这些事件的时候是以一种应用定义的方式。 a c es e r v i c ec o n f i g u r a t o r ( 服务配置器) 框架:该框架是c o m p o n e n t c o n f i g u r a t o r ( 组件配置器) 模式的一种可移植的实现,对于应用的服务 配置和实现的决策a c es e r v i c ec o n f i g u r a t o r 框架允许其推迟到设计周期 的最后阶段,它可以将静态服务或者动态服务在运行的时候有选择的进 行激活,而不必管其服务类型。 a c et a s k ( 任务) 框架:该框架在并发的面向对象网络化应用中可以增 强其模块性和可扩展性,提供了强大而可扩展的面向对象并发能力,尤 其是在对象的上下文中派生线程,执行对象在不同线程中传递消息和对 消息进行排队。a c et a s k 框架经常被用在实现以下两种关键的并发模式 中:a c t i v eo b j e c t ( 主动对象) 模式和h a l f - s y n c h a l f - a s y n c ( 半同步半 异步) 模式。 a c e a c c e p t o r - c o n n e c t o r ( 接受器连接器) 框架:该框架使得应用独立于 其所提供的服务来配置其连接布局的关键属性,并实现了 a c c e p t o r - c o n n e c t o r 模式,解除了“网络化应用中协作对端服务的连接和 初始化 与“连接和初始化之后它们所执行的处理”的耦合,增强了软 件的复用性和可扩展性。 a c ep r o a c t o r ( 前摄器) 框架:该框架主要用来分派由异步i o 操作的完 成所触发的服务请求,缓和反应时i o 的瓶颈效应,引入不同步i o 和多 线程的复杂性和开销。a c ep r o a c t o r 框架主要负责:( 1 ) 发起异步i o 的 操作;( 2 ) 将每个操作的参数保存下来并中继给处理器;( 3 ) 等待指示 这些操作的结束的完成事件;( 4 ) 将完成事件多路分离给与其相关联的 处理器:( 5 ) 分派处理器上的挂钩方法,以通过应用定义的方式来处理 这些事件。 a c e s t r e a m s ( 流) 框架:该框架实现了p i p e sa n df i l t e r s ( 管道与过滤器) 9 电子科技大学硕士学位论文 模式,数据流的处理提供了一种架构,简化了分层式模块化应用的开发, 并且应用可以用双向处理的模块来通信。 这些框架属于高级的网络编程,其集成并增强了较低层次的c + + 包装外观。 这些框架能够将应用程序的并发分布式服务进行动态的配置。基于上述的a c e 的框架,可以进行如下分类: 1 其中a c er e a c t o r ( 反应器) 和p r o a c t o r ( 前摄器) 可以归并于事件多路分离 组件,它们是可扩展的面向对象多路分离器,它们给应用程序分派专有的处理器, 以响应多种类型的基于i o 、定时器、信号和同步的事件。 2 a c ea c c e p t o r ( 接受器) 和c o n n e c t o r ( 连接器) 可以归并于服务初始化组 件,它们分别用于主动和被动的初始化,当初始化一旦完成后,通信服务将执行 应用程序专有的任务,然后再将两者进行去耦合。 3 a c es e r v i c ec o n f i g u r a t o r ( 服务配置器) 是服务配置组件,它支持应用程 序的配置,并在安装时或运行时动态装配这些应用程序的服务。 4 a c es t r e a m 属于分层的流组件,它简化了由分层服务组成的通信软件应用 的开发,比如像用户级协议栈这样的。 a c e 框架通过收集通用的组件和体系结构方便了通信软件的开发,它们没有 必要进行修改、重新编译、重新链接或经常重启运行中的应用,就可被更新和扩 展。在a c e 中,其具有如此的灵活性是通过以下要素的结合来获得的:( 1 ) c + + 语言特性,如模板、继承和动态绑定;( 2 ) 设计模式,如抽象工厂、策略和服务 配置器;( 3 ) 操作系统机制,如显式动态链接和多线程。 2 2 网络编程概述 2 2 1s o c k e ta p i 概述及其局限性 s o c k e ta p i 是在8 0 年代初,美国的加利福尼亚大学b e r k e l e y 分校在u n i x 操 作系统下实现t c p i p 协议而开发出来的。在这个项目中,研究人员为t c p i p 网 络通信开发了一个a p i ( 应用程序接口) ,而这个a p i 就称为s o c k e t 接口( 套接 字) 。现在,s o c k e t 接口是t c p i p 网络最为通用的a p i ,也是在i n t e r n e t 上 进行应用开发最为通用的a p i 。 9 0 年代初,由m i c r o s o f t 联合了其他几家公司共同制定了一套w i n d o w s 下 的网络编程接口,即w i n d o w s s o c k e t s 规范。它是b e r k e l e y s o c k e t s 的重要扩充, 1 0 第二章a c e 及相关技术概述 主要是增加了一些异步函数,并增加了符合w i n d o w s 消息驱动特性的网络事件异 步选择机制。w i n d o w s s o c k e t s 规范是一套开放的、支持多种协议的w i n d o w s 下的网络编程接口。从1 9 9 1 年的1 0 版到1 9 9 5 年的2 o 8 版,经过不断完善并在 i n t e l 、m i c r o s o f t 、s u n 、s g i 、i n f o r m i x 、n o v e l l 等公司的全力支持下,已成为w i n d o w s 网络编程的事实上的标准。目前,在实际应用中的w i n d o w ss o k c e t s 规范主 要有1 1 版和2 0 版。两者的最重要区别是1 1 版只支持t c p i p 协议,而2 0 版可 以支持多协议。2 0 版有良好的向后兼容性,任何使用1 1 版的源代码,二进制文 件,应用程序都可以不加修改地在2 o 规范下使用。 s o c k e t 实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个 具有s o c k e t 接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个 s o c k e t 接口来实现。在应用开发中就像使用文件句柄一样,可以对s o c k e t 句柄进 行读,写操作【l l 】【12 1 。 根据s o c k e t 所提供的函数,可以得到如下图2 2 的结构【1 3 】: 图2 2s o c l ( e t a p i 电子科技大学硕士学位论文 但是,s o c k e t 的局限性也不容忽视: 繁琐、不健壮的程序:直接对低级函数和数据结构编程的应用开发者必须反 复地重写大量冗长乏味的软件逻辑。一般而言,编写和维护起来很乏味的代码常 常含有微妙而有害的错误。s o c k e t 是通过句

温馨提示

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

评论

0/150

提交评论