(信号与信息处理专业论文)基于mvc模式的网络视频检索系统的设计与实现.pdf_第1页
(信号与信息处理专业论文)基于mvc模式的网络视频检索系统的设计与实现.pdf_第2页
(信号与信息处理专业论文)基于mvc模式的网络视频检索系统的设计与实现.pdf_第3页
(信号与信息处理专业论文)基于mvc模式的网络视频检索系统的设计与实现.pdf_第4页
(信号与信息处理专业论文)基于mvc模式的网络视频检索系统的设计与实现.pdf_第5页
已阅读5页,还剩97页未读 继续免费阅读

(信号与信息处理专业论文)基于mvc模式的网络视频检索系统的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要摘要随着计算机技术、多媒体技术的发展和信息需求的不断增长,多媒体信息已经成为各类信息系统的主要数据来源形式。计算机所能处理的信息媒体范围迅速扩大,不仅要求数据库和其它信息系统能对图像、视频和声音等媒体进行存储和基于关键字的检索,而且要对多媒体数据的内容进行检索,以达到更深的检索层次,从而基于内容的多媒体信息检索系统应运而生。根据对已有视频特征的综合比较与分析,本文采用视频指纹作为表征视频内容的特征。视频指纹描述方法不仅具有提取算法简单、存储数据量小等特点,而且基于视频指纹的检索算法具有定位准确,检索效率高,且适用范围广泛等优点。在相似性匹配方面,采用比对视频指纹变化量的方法,取代比较视频指纹本身,来消除由于视频处理及传输信道噪声引起的亮度漂移的影响。同时,还采用隔行扫描的方法来提高算法的执行效率。文章首先介绍了视频检索技术和m v c 设计模式的概念,然后详细描述了采用m v c 架构网络视频检索系统的设计与实现方法。针对目前的网络带宽比较窄,在网络上难以实现直接视频检索的情况,本系统给出了一种可行的网络视频检索的设计方案。此系统具有友好的人机界面、良好的可维护性和可扩展性。关键词:基于内容的视频检索;视频指纹;m v c 模式,! 。:。! ! ,。,i ! 薹:些奎耋i 塑邕丝耋。,。! ,。,。,。:a b s t r a c tw i t hm ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y ,m u l t i m e d i at e c h o l o 酣a n di r l c r e a s eo ft h ed e m a n do fi n f o n n a t i o n ,m u l t i m e d i ai n f o r r n a t i o nh a sb e c o m et h em a i nr e s o u r c ed a t ao fa us o r t so fi 1 0 h n a t i o ns y s t e m s t h em g eo fi n f o m a t i o nm e d i ae x p a n d sr a p i d l yw h i c hi sd i s p o s e db yc o i r l p u t e r s ,n o to n l y 、er e q u i r et h ed a t a b a s e sa 1 1 do t l l e ri n f o n n a t i o ns y s t e m sc a nd e a lw i t hs t o r a g ea 1 1 dk e yf h m e sr e t r i e v a lt ot h ei m a g e s ,v i d e oa 1 1 da u d i o b u ta l s ow en c c dt oa n a l y z et h ec o n t e n to fm u l t 曲e d i ad a t at or e a c hd e e p e rr c 仃i e v a ll e v e l s s oc o n t e n t - b a s e dm u l t i m e d i ai n f o r n l a t i o nr e t r i e v a lc o m e sf b 他晰ma ne x t e i l s i v es u r v e yo fv i d e of e a 他s ,w ec h o o s e “v i d e 0f i n g e r p r i m s ”a sn l ef e 8 t u r ec x t r a c t i o na l g o r i t t h e “v i d e o 矗n g e r p r i n t s ”h a sm a n yf a v o r 如l ef e a t u r e s ,s u c ha se a s ya n du 1 1 i q u ee x t r a c t i o n ,a n dd r a s t k a l l yv i d e oi n f b “n a t i o nr e d u c t i o n t h ev i d e or e t r i e v a ls y s t e mb a s e do nv i d e o 丘n g e r p r i n t sp r 0 v i d e sa na c c u r a t ea n de m c i e n tv i d e or e t r i e v a l ,a n di s 、v i d c l yu s e di n r e a ls y s t e m s w 色t a c k l e 血ep r o b l e m s 、v i t hi i n p r 0 v e da i g o r i m m s f i r s t i y ,w ep r o p o s ean e wa l g o r i m mw h i c hc o m p a r e s 1 ec h a l l g eo fv i d e of _ m g e r p r i n t si n s t e a do fc o m p a d i l gv i d e of i n g e r p r i m sd i r e c t l ya i l di n t e r l a c es c 甜m i n gi st a k e nc o n s i d c r c dt om a k et h ea l g o r i t l l mm o r ee m c i e n t f i r s t l yt l l i sp 印e ri d 打o d u c e st h ec o n c e p to fv i d e or e m e v a ia n dm v cp a n e m 1 1 l e n “d e s c 曲e st 1 1 ed e s i 印i n ga i l dd e v e i o p m e mm c t h o do ft h cw e b d e or e t d e v a ls y s t e mu s i n gm v cp a t t e m a i ma tm ea c t i l a lc i r c 啪s t a n c eo fn a r r o wc u r r e mn e t w d r kb a n d “d l h ,i t si m p o s s i b l et od e l i v e rt h ev i d e oa n ds e a r c ht h ev i d e od i r e c t l yo nt h en e t w o r k ,t h i ss y s t e mg i v e sak i n do fw a yt os e a r c ht h ev i d e oo nt h en e t w o r ku s i n ga n o t h e rd e s i g l l t h j ss y s t e mh a s 衔e n d l yu s e ri n t e r f a c ea n dg o o dm a i n t a i n a b i l 时a 1 1 de x p a l l d a b i l i 够k e 州o r d s :c o n t e n t b a s e dv i d e or e 弧e v a l ;v i d e of i n g e r p r i n t s ;m v cp a n e m独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。( 保密的论文在解密后应遵守此规定)日期:d 。6 6 、r彬第l 章绪论1 1 课题研究背景第1 章绪论随着信息技术的迅速发展和普及,以图像、视频和音频为代表的多媒体数据呈现出爆炸性增跃,各种多媒体数据包括文本、图形、图像、音频、视频和动画等等。视频信息以其直观性、生动性和极大的亲和力起着重要的作用。尤其近年来多媒体数据制作、存储与传播方面取得的重大技术进展,使得可利用的视频数据急剧膨胀,已经成为人们日常生活中不可或缺的部分。视频内容不仅仅局限于电视、家庭电影等娱乐项目,随着教育培训、学术研究、企业合作解决方案等新的应用领域的不断出现,视频所涵盖的范围逐渐扩大,增添了许多新的内容。从视频会议到视频邮件,交互电视,视频点播( v o d ) 以及网络视频,已经深入到人们生活的方方面面,如:数字图书馆、数字博物馆、视频点播服务、远程教育、远程医疗等等。由于视频信息有其自身的特点:第一,信息量大,内容丰富,结构复杂:第二,数据量大,抽象程度低,所以视频信息带来的信息膨胀也非常严重。因此如何对这些非结构化的海量数据进行合理的组织、表达、管理、查询和检索就成为全球学术界和工业界一个富有挑战性的热门话题h j p 目口”。因此,有关基于内容的视频检索( c o m e r l t b e dv i d e or 曲 “a 1 ,简称c b v r ) 技术的研究己成为当前的研究工作热点【) j 。本课题针对视频检索中的关键性技术开展相应的研究,隶属于2 0 0 4 年北京市教委科技发展计划重点项目“北京文化遗产的数字化保护、存档及检索的关键技术研究”,对于以科技、人文为主题的2 0 0 8 北京奥运具有重要的意义,对于宣传中国文化,推动北京的“2 4 8 ”重大示范工程,都具有重大意义。1 2 课题研究内容视频检索是对视频内容进行有效查询的关键技术,具体来说就是要从大量的视频数据中找到所需要的视频片断。由于视频的内容很难直接描述,而且视频本身是一种流媒体,在视频检索技术出现之前,只能通过快进和快退等顺序的方法对视频进行人工查找,这是非常繁琐费时的工作。当视频数据量增加到一定程度对视频进行人工查找,这是非常繁琐费时的工作。当视频数据量增加到一定程度北京i 业大学一f 学硕士学位论义时,用人工检索已经不能满足要求,迫切需要自动化的视频检索技术,特别是对于新兴的多媒体数据库技术。用户通常希望只给出视频样例或特征描述,检索系统便能自动地查找所需的视频片断,即实现基于内容的视频检索。本文将针对基于内容的视频检索的关键技术开展相关的研究工作。基于内容的视频检索( c b v r ,即c o n t e n t b a s e dv i d e or e t r i e v a l ) 是指从视频数据中直接提取出对象的语义、特征( 如视频中的关键帧、镜头、场景、镜头的运动等) ,然后根据这些线索对大量存储在数据库中的视频信息进行查找,检索出具有相似性的视频数据来,c b v r 能从大型分布式数据库中,以用户可以接受的响应时间,查询到所要求的信息嘲。视频检索涉及很多关键技术,但关键步骤通常是如下四个方面:视频的结构分析,特征提取和相似性匹配,以及高效、友好的人机交互界面( 即网络视频检索系统) 。即先对视频的结构进行分析,然后根据分 ! ;亍后的视频单元提取对应的特征,最后进行相似性匹配,获得视频相似度的量化值。由于实验室在对视频的结构进行分析和对视频的特征提取的研究中已取得了很好的成果,因此本文重点着眼于相似性匹配算法及视频检索系统这两部分进行研究。1 3 论文的安排与结构论文其余各章内容安排如下:第二章,着重介绍多媒体检索系统的国内外研究现状。主要回顾了国内外现有对视频检索系统进行研究的成果,并就其发展现状进行综合评述。第三章,介绍j 2 e e 应用体系结构与m v c 模式,概述了j 2 e e 的技术背景、特性及m v c 设计模式等,探讨了m v c 设计模式及组件技术应用于w e b 的优势,提出基于j 2 e e 的b s 多层企业应用是构建网络系统的先进解决方案。第四章,介绍支持检索系统的相关视频检索算法。介绍了原有的基于视频指纹特征的匹配算法,针对其抗干扰能力差等不足,提出了三种改进算法:隔行直接比对匹配算法、变化量匹配算法和隔行变化量匹配算法。针对不同情况,有效的处理了视频编辑和传输、存储过程中引入的干扰,并提高了检索效率。第五章,介绍多媒体数据库的构建以及后台数据库管理系统的设计与实现。在本章中着重介绍了后台多媒体数据库的设计及构建,并详细介绍了与之相关的一套数据库管理系统的设计与实现。第六章,介绍了网络视频检索系统的设计及实现,分别从视图、模型和控制器三个方面对本系统进行了详尽的描述。此系统运用m v c 设计模式,并嵌入了第1 苹绪论改进后的视频检索算法。第六章,结论和今后工作展望。对全文进行了总结,并对本文涉及到的技术领域进行了展望。论文最后列出了攻读硕士学位期间参与的项目、软件著作权,最后是致谢、参考文献。i ! 至三些奎兰三兰堡圭兰堡尘圣第2 章多媒体检索系统的研究现状2 1 国外研究现状由于基于内容检索技术具有重大的理论意义和实用价值,国内外学术界历来重视这一领域的研究和开发。特别是近几年受网络和压缩技术的推动,原来从事图像处理、模式识别、计算机视觉和分布式数据库等智能系统的学者纷纷转向这一领域,形成了一个新的国际性的研究热点。现在每年不仅有大量论文发表,而且也建立了一些实验系统。国际学术组织s p i e 已连续多年于春、秋两季分别在美国西部和东部召开与此相关的专题研讨会,春季会议的主题为“图像与视频数据库的存储与检索”( s t o r a g ea n dr e t r i e v a lf o ri m a g ea n dv i d e od a t a b a s e ) ,秋季会议的主题为“多媒体存储与档案系统”( m u l t i m e d i as t o r a g ea n da c h i e v i n gs y s t e m ) ,此外,i e e e 、a c m和i a p r ( 国际模式识别联合会) 等学会组织也有类似的专题讨论会,由此足以看出国际学术界对这一问题的重视【6 j 。国外很多研究机构都已取得了一些令人瞩目的成就,下面对已有的部分视频检索系统进行介绍。q b i c 是i b ma l m a d e n 研究中心研究开发的基于内容检索系统的典型代表,o b i c 对于视频检索提供以下功能:自动分割,镜头关键帧提取,使用静态例子查询,使用文本和标题内容查询。q b i c 搜索引擎运行在i b mo s 2 和u n i x 下。c v e p s 是c o l u m b i a 大学开发的视频检索和操作系统的软件原型,支持自动视频分割,基于关键帧和对象的视频检索和压缩视频编辑。j a k o b 是意大利p l e m o 大学开发的视频数掘库查询系统,该系统通过镜头提取器把视频数据分割成镜头,从每个镜头中选取一些具有代表性的帧,根据颜色和纹理描述这些代表帧,然后计算与这些短序列相关的运动特征并给出一个动态描述,当向该系统提交一个查询或是例子直接查询时,查询模型会对它做出解释,排列好匹配参数,给出最相似的镜头,用户可以浏览这些结果,必要的话,改变参数,反复地进行查询。v l s i o n 是k a n s a s 大学开发的数字视频图书馆原型系统,在该系统中综合了视频处理和语音识别,根据基于视频和音频内容的两段式算法,自动把视频第2 章多媒体检索系统的研究现状分成大量具有逻辑语义的视频剪辑,在系统中加入标题解码器和字指示器提取文本信息,通过他们索引视频剪辑。s w i m 是n a t i o n a lu l l i v e r s 时o fs i n g a p o r e 开发的集分析,检索,和浏览为一体的统一系统,该系统将视频分割成镜头,从每个镜头中提取关键帧,使用颜色和纹理等视觉特征,表示这些关键帧的内容,另外,从同一镜头中的关键帧和相机运动的变换中获得时间信息,系统把关键帧分成不同的视觉类别以进行检索,也可以基于注释索引和低级图象特征进行索引。v i r a g es e a r c he g i n e 是同时支持图象和视频检索的商业系统,对于视频支持自动分割,镜头关键帧检索,以及使用声音,文本和标题内容进行检索v i r a g es e a r c l e n g i n e 受到i n f o m i x 和0 m c l e 数据库系统支持。v i s u a l s e e k 系统是美国哥伦比亚大学图象和高级电视实验室开发的,它实现了互联网上的“基于内容的图象视频检索系统,提供了一套工具供人们在w e b上搜索和检索图象和视频。c m u 的i n f o 矾e d i a 系统主要研究如何建立和使用多媒体数据库,i n f o n l l e d i a计划构造视频( 1 0 0 0 小时) 音频,图像和文本等多种媒体信息组成的大规模数据库,将自动进行编码,分割,和索引,采用语音识别,图像理解,和自然语苦处理等技术支持各种不同媒体实现全内容和基于知识的搜索和检索。它提出了v i d e os k i m m i n g 技术得到视频摘要的方法,主要特点是结合了语音和文字 : 别技术。v i d e o q 是哥伦比亚大学研究的一个项目,它扩充了传统的关键字和主题导航的查询方法,允许用户使用视觉特征和时空关系来检索视频。它有以下几个特征:集成文本和视觉搜索方法,自动的视频对象分割和追踪,丰富的视觉特征库,包括颜色,纹理,形状,运动,通过互联网交互查询和浏览。另外还有许多类似的系统,例如加利福尼亚大学s a n t ab a r b a r a 分校的n e t r a ,伊利诺依大学的m a r s 等。2 2 国内研究现状国内的主要研究单位有:北京大学,清华大学,浙江大学,中国科学院计算技术研究所,上海交通大学,复旦大学,武汉大学,微软亚洲研究院,中科院联合实验室,哈尔滨工业大学,中科院自动化所国家模式识别重点实验室,国防科技大学多媒体研究中心等大学和研究机构开展了对基于内容的视频检索技术的研究,获得了一定的成果。北京工业大学工学顾十学位论文i 如d 信息检索系统是微软亚洲研究院的张宏江博士所带领的小组研制出的系统,取得的成果最为突出。n e w v i d e o c a r 国防科技大学多媒体研究开发中心研制开发的新闻节目浏览检索系统。m i r c 国防科技大学系统工程系研制丌发的多媒体信息杳询和检索系统。t v f i 系统是清华大学开发的视频节目管理系统。这个系统可以提供如下的几个功能,视频数据入库,基于内容的浏览,检索等。t v f i 提供多种模式访问视频数据,包括基于关键字的查询,基于示例的查询,按视频结构进行测览,以及按用户自己预先定义的类别进行浏览。第3 章j 2 e e 成用体系结构。j m v c 模式第3 章j 2 e e 应用体系结构与m v c 模式3 1j 2 e e 概述3 1 1 j 2 e e 由来和现状j 2 e e 的诞生和j a v a 版本的历史信息有关。在j a v a 发展的过程中,首先取得了a p p l e t 胜利,使得w e b 为中心的开发中广泛采用j a v a 语言。随着w e b技术的发展,传统的静态页面已经不能满足开展业务的需要,出现了服务器页面技术。s u n 公司看到w e b 应用的潜力,推出了j a v as e “l e t 技术,满足服务器端编程的需求。s e 1 c t 广泛应用于企业级应用程序的开发中。为了简化s e r v l e t的开发,逐渐推出了j s p 技术,j s p 更容易开发表示层,最后s u l l 公司也把j s p 作为j 2 e e 标准的一部分。由于s e r v l e t 处理业务逻辑的局限,s u n 公司又推出了e j b 技术。j 2 e e 英文定义为“0 p e na n ds t a i l d a r db a s e dp l a t f o 肌f o rd e v e l o p i n g ,d e p l o y i n ga n dm a n a g i n gn - t i e r ,w e b e n a b l e d ,s e r v e r c e n t r i ce n t e r p r i s ea p p l i c a t i o i l s ”,即,它是开放的、基于标准的平台,用于开发、部署和管理n 层结构,面向w e b 的、以服务器为中心的企业级应用。它是一套体系结构,而不是一个具体软件。j 2 e e 平台提供了多层的分布式应用模型、组件重用策略、安全模型以及灵活的事务控制特性。它能让开发人员专注于开发业务逻辑而不用预先了解环境,创建的系统在硬件平台和操作系统间更容易衔接。它还支持组件化开发,提供了分布式、可移植构件的框架,为构件和应用服务器提供标准a p i ,简化了服务器端中间层构件的设计。全球大多数的新应用是由j 2 e e 分布式应用体系支持的。而且,j 2 e e 现已成为开发商创建电子商务应用的标准。正是认识到j 2 e e 平台作为一种可扩展的、全功能的平台,可以将关键的企业应用扩展到任何w e b 浏览器上并可适合多种不同的i m e m e t 数据流、可连接到几乎任何一种传统数据库和解决方案、使企业经理根据多家企业所提供的产品进行技术丌发和部署最佳的解决方案进雨降低开发网络化应用的费用和复杂性这一巨大优势,很多厂家都表示将对j 2 e e 给予支持,并将j 2 e e 技术作为大型b t o b 市场和海量交易处理的安全稳定的端到端平台。3 1 2 j 2 e e 体系结构分析北京r 业人学一i 掌坝i 学位论义j 2 e e 提供了一个企业级的计算平台和运行环境,用于开发和部署多层体系结构的应用。它是一种技术规范,给开发人员提供了一种工作平台,定义了整个标准的应用开发体系结构和一个部署环境。在这个体系结构中,应用开发者的注意力集中在封装事务逻辑和规则上,一切与基础服务有关的问题以及低层分配问题都由应用程序容器或者服务器来处理。j 2 e e 体系结构如图3 1 所示。图3 4j 2 e e 体系结构图图中,客户端可以是w e b 浏览器或者j a v a 应用程序,如果是浏览器的客户端,则可以使用a p p i e t 容器来运行h t m l 网页里的a p p l e t 程序。浏览器的客户层通过h 丌p 、s s l 等其他协议和w e b 层进行通信。如果是一般的客户端,可以使用j 2 e e 的j m s 、j a a s 、j a x p 、j d b c 等特性,可以直接访问w e b 层、事务层和数据库层。w e b 层又称表示层,它上面运行了j s p 、j a v a b e a n 和s e r v l e t 组件。这些组件除了可以使用j 2 s e 所有的功能外,还可以使用许多j 2 e e 提供的服务。它通过调用事务层的e j b 来处理事务逻辑。事务层主要运行了e j b ,e j b 是j 2 e e 企业级应用的核心,处理系统运算量巨大的事务逻辑。它给底层的调用提供了统一的接口,w e b 层通过远程调用的方法来使用e j b 。e j b 可以使用容器提供的服务或者直接访问数据库。同时,容器还提供了事务服务,简化了e j b 的开发1 2 】。概括起来,j 2 e e 体系结构有下面这些优点【2 1 】:1 ) s e r v l e t 和j s p 都要编译为j a v a 类才能运行,因此执行性能会明显提高。2 ) s e r v l e t 和j s p 中可以完全使用j a v a 进行编程,可以完成许多简单的事务逻辑,特别是j s p ,可以直接书写h t m l ,因此简化了页面的输出,这样就保留了脚本语言易于使用的优点。3 ) 复杂的事务逻辑以组件的形式部署在e j bs e r v e r 中。e 馆s e r v e r 提供了多种组件事务服务,使系统更能够应付大量的并发用户和管理复杂的事务逻辑,它集成的组件命名服务可以使组件位置透明化,简化了组件的部署和客8第3 章j 2 e e 心用体系结构l jm v c 模,户端应用的维护。4 ) 开发过程易于分工。把复杂的编程任务交给j ,e e 平台,减少了应用程序开发人员支持新的应用程序需求时所要求的工作量,以及可以清楚的根据特定的技术和条件进行任务分离。5 ) 全面支持和实施x m l ,使x m l 具备跨平台的兼容性,甚至用于对x m l代码进行语法检查和调试的工具也可与平台无关。j 2 e e 技术和x m l 技术分别是企业开发的阴阳两极,因为x m l 可实施独立于平台的数据,而j 2 e e平台则可实施独立于平台的解决方案。x m l 可通过移植的方式表现数据,因此就对j a v a 技术的可移植性构成了补充。3 1 3 使用j 2 e e 的风险j 2 e e 是一种相当完整的框架方案,但它也不是无所不能的。由于j 2 e e 本身的一些特点,使用j 2 e e 平台开发企业级应用还存在着些固有的风险,这些风险主要因素有:1 ) 设计中没有充分考虑到可伸缩性和产品性能:设计出的程序出现无法忍受的缓慢速度,系统给服务器段增加的沉重负担,而无法利用一些集群技术;2 ) 采用j 2 e e 平台,没有好的架构方式:有可能在代码使用了很多次的核心库中发现b u g ,没有建立日志标准。3 ) 项目计划和设计基于市场效应,而脱离了技术现实:认为e j b 只是为了便携式处理的方便,选择供应商的时候没有随即进行产品的试用,在项目的生命周期内还需要更换工具;4 ) 不了解供应商提供的服务:供应商已经提供了某种服务,但开发者在不知道的情况下重新进行了该功能的开发;5 ) 没有真正理解j a v a 、e j b 、j 2 e e :因为开发人员对j a v a 的了解有限,可能重复开发了j d k 核心a p i 中的功能或类,滥用远程调用导致程序性能低劣。特别是滥用e j b ,使得e j b 过于庞大;6 ) 没有将业务层和表示层分离:j s p 文件过于庞大,业务逻辑发生改变时必须修改j s p ,在要求改变界面显示时,又需要修改并重新配置相应组件。为了减少风险,在j 2 e e 开发时,应该结合实际情况选用最适当的技术,同时综合考虑企业规模、业务特征、应用能力、预算费用、性能、丌发周期、管理成本、维护成本、团队素质等因素,还需要有一定的前瞻性。些塞三些奎耋三兰堡圭兰堡里兰3 2j 2 e e 核心技术分析3 2 1 容器简介容器是一个组件和支持组件的底层平台特定功能之间的接口,在一个w e b组件、e j b 或者是一个应用程序客户端组件可以被执行前,它们必须被装配到一个j 2 e e 应用程序中,并且部署到它们的容器。装配的过程包括为j 2 e e 应用程序中的每一个组件以及j 2 e e 应用程序本身指定容器的设置。容器设置定制了由j 2 e e 服务器提供的底层支持,包括诸如安全性、事务管理、j a v a 命名目录接口( d i ) 搜寻以及远程方法调用。容器还管理诸如一个e m e r p r i s e b e a i l 和s e r v l e t 的生存周期、数据库连接资源池以及一些j 2 e e 平台a p i 不能配置的服务。图3 2 所示的是j 2 e e 服务器和容器的结构图【2 l 。,藏残雏舞器 潮览嚣k| r 广 ,f:f 亡裂e 样j 端、随j l l 挫 零”;ll璐lm | |脚蚓箨序释辫诞ll霹户帆!e j 鸯露黠l。、l 。? 2 ;j 多图3 2j 2 e e 容器与服务器图j 2 e e 容器有下面几种:1 ) e m e r p r i s ej a v a b e a i l s ( e j b ) 容器:管理e j b 的执行。e j b 和它的容器运行在j 2 e e 服务器中。2 ) w e b 容器:管理j s p 页面和s e l e t 组件的执行。w e b 组件和它的容器也运行在j 2 e e 服务器中。3 ) 客户端应用程序容器:管理应用程序客户端组件的运行。应用程序客户端和它的容器运行在客户端中。4 ) a p p l e t 容器:管理印p l e t 的执行。由运行在客户端的一个w e b 浏览器和j a v a 插件一同组成。3 2 2 s e r v l e t 技术浅析s e r v l e t 己经出现了很长一段时间,它先于j 2 e e 平台出现。它曾经得到广泛第3 章j 2 e e 成用体系结构,m v c 模式的应用,如今也是w e b 中应用最广泛的服务器端组件之一。s e r v l e t = s e r v e 什a p p l e t ,是一个j a v a 类,j a v a 所能做的事,s e r v l e t 基本上都能做。因为s e r v l c t 由j “a 开发并符合规范定义和广泛接收的a p i ,所以,它在各种操作系统上有很强的移植性。s e l e t 可以使用j a v a a p i 核心的所有功能,这些功能包括w e b 和u r l 访问、图形处理、数据压缩、多线程、j d b c 、r m i 、序列化对象等。j 2 e e 提供的公共基础服务它也都可以使用。s e r v l e t 一旦载入,就会作为单独的实例驻留在服务器内存中,此后,当请求到来时,服务器只要一些简单的方法就可以激活s e n r l e t 来处理请求。s e r v l e t 代码面向对象,简洁而且模块化。s e r v l e t 本身的接口设计非常精简,因此有很强的扩展性。同时,s e r v l e t 还继承了j a v a 的安全性t ”。图3 3 s e i e t 与客户交互操作图3 3 所示的是s e r v l e t 与客户典型的互操作,客户一般是w e b 浏览器,通过h t t p 或h r r p s 给w e b 服务器发送一个请求。当w e b 服务器处理请求时,它将请求交给s e “l e t 容器,s e r v l e t 容器又将请求交给适当的s e r v l e t 。传给s e r v l e t 的是一个请求对象( r e q u e s to b j e c t ) ,这个请求对象提供了请求的详细信息,包括谁调用它,哪个h t m l 表单参数和请求一起发送,以及关于h n p 请求的其他信息。s e r v l e t 能够通过响应对象( r e s p o n s eo b j e c t ) 把数据返回给客户。在请求处理期间的任何时候,s e r v l e t 能够使用一个环境对象( c o n t e x to b j e c t ) 来登记事件、获得调用资源的u r l 、以及设置和储存其他s e r v l e t 在这个环境中使用的属性。s e r 、,i c t 可以访问会话对象( s e s s i o no b j e c t ) ,这个对象提供了关于客户状态的信息。随着j 2 e e 平台的不断完善,s e r v i e t 的应用规模不断降低。现主要用于处理小型事务,或者用来作为m v c 模式中的控制器。具体来说,处理以下! ! 薹三兰奎耋三兰堡圭兰堡丝兰这些事务:1 ) 协调输出,但几乎不直接参与生成动态w e b 页面内容。2 ) 收集和验证用户输入,但几乎不进行实际处理。3 ) 处理极其简单的业务逻辑。4 ) 处理j s p 不容易处理的后台服务或者其他特殊要求的问题。3 2 3 j s p 技术浅析j s p ( j a v a s e r v e rp a g e s ) 是由s u i lm i c r o s y s t e m s 公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的w e b 页面提供了一个简捷而快速的方法。j s p 技术的设计目的是使得构造基于w e b的应用程序更加容易和快捷,而这些应用程序能够与各种w e b 服务器,应用服务器,浏览器和开发工具共同工作【2 2 】。j s p 规范是w e b 服务器、应用服务器、交易系统、以及开发工具供应商问广泛合作的结果。在传统的网页h t m l 文件( 铀t r l l ,+ h t m i ) 中加入j a v a 程序片段( s c r i p t l e t ) 和j s p 标记( t a g ) ,就构成了j s p 网页( i s p ) 。w e b服务器在遇到访问j s p 网页的请求时,首先执行其中的程序片段,然后将执行结果以h t m l 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送e m a i l 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无p l u g i n ,无a c t i v e x ,无j a v a a p p l e t ,甚至无f r a m e 。使用j s p 技术,能将内容的生成和显示进行分离。w e b 页面开发人员可以使用h t m l 或者x m l 标识来设计和格式化最终页面,使用j s p 标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和j a v a b e a n s 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和b e a n s 中,那么w e b 管理入员和页面设计者能够编辑和使用j s p 页面,而不影响内容的生成。在服务器端,j s p 引擎解释j s p 标识和小脚本,生成所请求的内容并且将结果以h t m l ( 或者x m l ) 页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于h t m l 的w 曲浏览器的完全可用性吼j s p 使用j a v a 语言作为其脚本语言,由此带来许多优点。因为j a v a 是编译解释执行的,所以j s p 也摆脱了v b s c r i p t 、p e r i 等脚本语言纯粹的解释执行带来的低效率问题;因为j a v a 是平台无关的,所以j s p 是平台无关的,可在任何平台下编写j s p 网页并在任何支持j s p 的系统运行。j s p 最大的优势是,当创建j s p 页面时,w e b 设计者不需要熟悉j a v a 编2第3 章j 2 e e 应用体系结构与m v c 模式程语言。w e b 设计人员和内容提供人员可以集中精力提出最好的页面,而不用进行编程。同时,应用程序编程人员也可以全力开发复杂的幕后操作,而不用具备用户接口的知识。3 2 4 j a v a b e a n 技术浅析j a v a b e a l l 是s u n 公司为了进入因特网、企业网以及万维网上进行分布式计算的组建结构的入口。按s u i l 公司的定义,j a v a b e a n 是一个可重负使用的软件部件,该部件可以用来生成其进行可视化处理的组件。j a v a b e a n 体系结构是第一个全面的基于组件的标准模型之一。j a v a b e a i l是描述j a v a 的软件组件模型,有点类似于m i c m s o r 的c o m 组件概念。j a v a b e a n 组件是j a v a 类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看作标准的j a v a b e a n 组件的方式进行构造【2 ”。在j a v a 模型中,通过j a v a b e a n 可以无限的扩充j a v a 程序的功能,通过j a v a b e a i l 的组合可出快速生成新的应用程序。j a v a b e a n 有以下一些特性:1 ) 可以实现代码的重复利用。2 ) 易维护性、易使用性、易编写性。3 ) 可以在支持j a v a 的任何平台上工作,不需要重新编译。4 ) 可以在内部、网内或者网络之间进行传输。5 ) 可以以其他部件的模式进行工作。j a v a b e a n 传统的应用在于可视化领域,如a w t ( 窗口抽象工具集) 下的应用。其实,基于a w t 的任何j a v a 程序已经是一个b e a i l ,完全可以把它作为一个组件来使用。当然,也可以修改它的代码,来增加新功能,使之成为具有更多功能的b e a n 组件。现在,j a v a b e a n 更多的用于不可视化领域,它在服务器端应用方面表现出了越柬越强的生命力。不可视化的j a v a b e a l l 和可视化的j a v a b e a i l 同样使用属性和事件。不可视化的j a v a b e a l l 在程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性1 3 j 。j a v a b e a n 允许开发者在开发工具中可视化地操作组件。j a v a b e a i l 规范详细地揭示了组件间事件的登记、传递、识别以及属性的使用、定制、应用接口等。j a v a b e a n 最大的优点就是能够一次编写多次使用,而且能够运行在任何j a v a 虚拟机能运行的地方,并且其代码相对来说比较容易编写。e j b( e m e r d r i s ej a v a b e a n ) 跟j a v a b e a n 不同,侧重点是详细定义了一! ! 塞三些查兰三兰堡圭兰堡丝兰个可以合理部署j a v a 组件的服务框模型,并没有涉及事件,因为它通常不会接受或者发送事件。e j b 是一个用来创建分布式、服务器端以及基于j a v a 的企业应用程序组件的功能强大的组件模型,它是j 2 e e 体系结构的核心部分。3 3 其他分布式计算架构3 - 3 1 微软创建的n e t 架构n e t 是微软创建的新一代企业计算方案的框架,使 n e t 用户可搭建一个基于网络的、灵活的、可伸缩的多层应用软件。因为n e t 应用系统利用了集成的w i n d o w s 平台服务,因此开发者可以把精力集中于实现业务方案,而不必关心事务处理,消息队列处理等细节问题。n e t 究其渊源是源自微软以前开发企业应用程序的平台d n a ( d i s t r i b u t e dn e 铆o r km c h i t e c t i l r e ) ,其中包括了许多已经被证实的技术,并且这些技术已经在产品中得到实现,包括m i c r o s o f l 的事务服务器、c o m + 、消息队列、s o ls e r v e r数据库等。w i n d o w s n e t 架构也可由三层组成:表示层( p r e s e n t a t i o n ) 、商业逻辑层( b u s i n c s sl o g i c ) 、数据层( d a t a ) 。其中表示层可以是由浏览器组成的瘦客户( t h i nc 1 i e n t ) ,也可以是具有一定商业逻辑处理能力的胖客户( 鼬c hc l i e n t ) ,微软的胖客户端技术则由w i n d o w sf o 皿s 代替了m f c ;商业逻辑层由组件构成,旧的c o m 和c o m + 的组件模型被新的组件模型所代替。增加了象基于沙箱的安全模型和垃圾回收等功能并且实现了多重接口继承,扩展的元数据和新的代理模型等。旧有的c o m 和c o m + 组件也可被映射到新的运行环境中。数据访问层:微软的n e t 的数据访问工具则由基于x m l 的a d o n e t 代替了基于c o m组件的a d o 。3 - 3 2 n e t 与j 2 e e 的比较n e t 与j 2 e e 都是多层体系结构的技术实现,但是与n e t 架构相比,j 2 e e具有以下的特点1 ) 业界支持。n e t 是由微软单独制定并完成的。客户若是选择了这种没有得到业界广泛支持的专有架构,就会局限在某一个供货商的技术实现上。这就会妨碍客户将来采用其它供货商的产品,而这些产品很有可能最适合某一企业的特定需求。与此相比,j 2 e e 是由s u n 引导、各厂商共同发起的,并得到广泛认可的工业标准,业内w e b 计算领域的大企业如:i b m ,4第3 章j 2 e e 应用体系结构m v c 模式b e a s y s t e m s ,0 r a c l e 等都有参与。因此,j 2 e e 架构可以充分利用用户原有的投资,如一些公司使用的b e at u x e d o 、i b mc i c s 、i n 研s ev i s i b r o k e r 、n c t s e a p e a p p l i c a t i o ns e r v e r 。同时每一个供货商都对现有的客户提供了不用废弃已有投资而进入可移植的j 2 e e 领域的升级途径。由于j a v a 的跨平台台性,基于j 2 e e 平台的产品几乎能够在任何操作系统和硬件配上运行,现有的操作系统和硬件也能被保留使用。2 ) 对变化的适应。j 2 e e 能让一个公司具有更强的适应变化的能力,如果客户的j 2 e e 应用程序设计良好,并能符合标准,这个系统可以随时间的推移通过换底层中间件、操作系统或硬件来进行放缩,却不会显著地更动应用程序。用这种方式对市场需求的反应时间缩至更短,可以让公司以l m e m e t 所要求的那种速度采取行动。而n e t 没有提供像j 2 e e 平台那种层次的对变化的适应性。客户采用n e t 就会绑在中间件和操作系统的微软实现上,这个实现的功能性、可伸缩性、可用性可能不尽人意,如对底层的操作系统和中间件做些修改就会显著影响应用程序,可以选择的硬件也十分有限。这都会极大地延误公司对变化的市场环境做出反应。3 1 支持异构环境。j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于j 2 e e 的程序只需开发一次就可部署到各种平合。n e t 只能应用到w i n d o w s 系统

温馨提示

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

评论

0/150

提交评论