已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)基于vxworks的嵌入式浏览器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于v x w o r k s 的嵌入式浏览器的设计与实现 摘要 综观嵌入式系统的发展历程,因特网的迅速崛起为成长中的嵌入 式产品注入了新的活力,进而引发了场产品设计革命,带来了嵌入 式应用产品开发的新的春天。尤其是嵌入式技术与因特网结合而孕育 出的网络应用产品更是如雨后春笋般涌现出来:在手持终端设备方面 有上网手机、个人数字助理和m p 3 播放器等;在信息家电方面有智能 电话、网络电视、数字电视机顶盒等各种信息电器。在这些琳琅满目 的嵌入式产品中,嵌入式浏览器是它们从因特网上获取信息的主要应 用软件。 由此可见,如今浏览器已不仅仅局限在传统的桌面浏览器,正在 由p c 领域进入到非p c 领域,并且成为今后浏览器发展的趋势,这就 是本课题所研究的嵌入式系统领域。嵌入式浏览器的出现,使得强调 功能全面的桌面浏览器就像一只笨拙的恐龙。尽管微软仍然占据着个 人电脑专用互联网浏览器的主要份额,但越来越多的业内人士认为, 嵌入式浏览器更能适应在移动通信迅速发展环境下人们的需要,迅速 崛起的嵌入式市场将成为未来主流浏览器市场。因为移动电话和互联 网应用设备用户所需要的,并非是最出色的h t m l 屏幕显示,而是能 使古老的文本内容得到最佳显示的简洁技术,即迅速获得相关信息的 能力。因此,嵌入式浏览器更能满足他们对界面和个性化设置的需要。 随着因特网的不断发展,网络技术与信息家电、工业控制等技术结合 得日益密切。可以看出,嵌入式设备与网络的结合将代表着嵌入式技 术的真正未来,而嵌入式浏览器正是其中必不可少的一环。 本课题针对当前浏览器的发展趋势和其在嵌入式领域中的重要 性,通过对现有的嵌入式浏览器产品进行总结与分析,提出基于 v x w o r k s 的嵌入式浏览器的设计和实现方案,并主要从词法分析、语 法分析、布局算法和g u i 的实现等四个方面详细的阐述了浏览器的结 构框架,从而设计出复杂度更低、占用系统内存更少、显示效果较为 理想的浏览器模型。 在课题的设计上,采用了当前最流行的嵌入式实时操作系统 v x w o r k s ,并运用t o r n a d o 开发工具,以c 语言作为主要开发语言, 借助v x s i m 仿真器和w i n d m l 插件,完成浏览器的开发和调试工作。 下面的论文正文部分将分别介绍课题的概要设计方案、详细设计 方案、浏览器的实现方法和应用前景。 关键词: 嵌入式,浏览器,词法分析,v x w o r k s ,v 蛹m d m l d e s i g na n di m p l e m 匝n i :a l t i o no f e m b e d e db r o w s e rb a s eo nv x w o r k s a b s t r a c t : t h eq u i c kd e v e l o p m e n to fi m e r n e tg i v e sr c we n e r g yt o 朗m e d d e dp r o d u c t s 。a n d i tl e a dt oad e s i g nr e v o l u t i o n al o to fe m b e d d e dn e t w o r ka p p l i c a t i o np r o d u c t sa p p e a r i nt h ea s p e c to fh a n d e n de q u i p m e n t ,t h e r ei sm o b i l ep h o n ew h i c hc a nv i ai n t e r n e t , p e r s o n a ld i g i t a la s s i s t a n ta n dm p 3d i s p l a y , e t c 。i nt h ea s p e c to fi n f o r m a t i o nh o m e a p p l i a n c e s ,t h e r ei si n t e l l i g e n c ep h o n e ,i n t e r a c tt v , d i g i t a lt vh l a l lo ft h e s e e m b e d d e dp r o d u c t s , e m b e d d e db r o w s e ri sm a i na p p l i c a t i o ns o f t w a r e t o g e t i n f o r m a t i o nt h r o u g hi n t e r n e t s oa tp r e s e n t 。b r o w s e ri sn o to n l yl i m i t e dt ot r a d i t i o n a lo n - d e s kb r o w s e r i ta l s o e n t e r si n t on o n - p cd o m a i n e m b e d d e ds y s t e md o m a i n ,w h i c hi sj u s tt h er e s e a r c ho f t h i sp a p e r t h ea p p e a r a n c eo fe m b e d d e db r o w s e rm a k e so n - d e s kb r o w s e rac l u m s y d i n o s a u r a l t h o u g hm i c r o s o f ti ss t i l lh o l dt h em a i np e r c e n t a g ei nt h ef i e l do fp c i n t e r a c tb r o w s e r , m o r ea n dm o r ee x p e r t sm a k es u r et h a tt h es w i f tg r o w i n gu po f e m b e d d e dm a r k e tw i l lb et h em o s tp o p u l a rb r o w s e r b e c a 琳e i nt h ee n v i r o n m e n to f f a s tg r o w i n gm o b i l ec o m m u n i c a t i o n sm a r k e t ,e m b e d d e db r o w s e rm e e t st h en e e d sa n d w a n t so fp e o p l eb e t t e r w h a tt h eu s e ro fm o b i l ep h o n ea n di n t e r n e ta p p l i c a t i o n e q u i p m e n tn e e d ,i sn o tt h ee x c e l l e n ts c r e e nd i s p l a yo fh t m l , b u tt h et e r s e n e s s t e c h n i q u ew h i c hc a ng i v eao p t i m a ld i s p l a yo fo l dt e x t t h a ti st h ea b i l i t yo fg e t r e l e v a n ti n f o r m a t i o nq u i c k l y s o ,e m b e d d e db r o w s e rw i l ls u i tt h e i rn e e d so fi n t e r f a c e a n di n d i v i d u a ls e t t i n g a n da st h ed e v e l o p m e n to fi n t e m e ta n dt h ei n t e n s ec o m b i n a t i o no fi n t e m e t , i n f o r m a t i o nh o m ea p p l i a n c e sa n di n d u s t r yc o n t r o l ,t h eu n i to fe m b e d d e de q u i p m e n t a n di n t e m e tw i l lr e p r e s e n tt h er e a lf u t u r eo fe m b e d d e dt e c h n o l o g y m o s ti m p o r t a n t , e m b e d d e db r o w s e ri sa ni n d i s p e n s a b l ep a r t t h i sp a p e ra i m sa tt h et r e n do f t o d a y sb r o w s e rd e v e l o p m e n t b a s i n gs u i n m a r i 7 e a n da n a l y s e so fe x i s te m b e d d e db r o w s e rp r o d u c t s ,t h ep a p e rg i v e si t sd e s i g na n d c a r r y i n go u ts c h e m e a n di te x p a t i a t e st h ef l - a i n eo f b r o w s e rf r o mf o u ra s p e c t & - s c a l l n e r ) a n a l y z e r , l a y o u ta n dg u i ,i no r d e rt oa c h i e v eab r o w s e rm o d e lo f l o w e rc o m p l i c a t i o n , l e s sm e m o r ya n db e t t e rd i s p l a y t h ed e s i g na n dc a r r yo u to f t h i se m b e d d e db r o w s e ru s e so n eo f t h em o s tp o p u l a x r e a l - t i m eo p e r a t es y s t e m ,v x w o r k s ,a n do t h e rt o o l so ft o r n a d o a n di tf i n i s h e st h e d e v e l o p m e n ta n dd e b u g g i n gw o r kb yu s i n gv x s i me m u l a t o ra n dw i n d m l i nt h em a i np a r tb e l o w , t h ep a p e rw i l li n t r o d u c et h eo u t l i n ed e s i g n ,d e t a i ld e s i g n , b r o w s e ri m p l e m e n ta n df u t u r ea p p l i c a t i o n k e yw o r d s : e m b e d ,b r o w s e r , w o r da n a l y z e , v x w o r k s ,w i n d m l 声明 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 型聋銎盈 日期:兰兰2 :兰:! 呈本人签名: ! 车鸳盈 日期:兰竺f :兰:! 呈 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导炳签名: 日期: 匹丝z :墨:堕 日期:速k l 璺一 北京邮电大学硕士论文 基于v x w o d c s 的嵌入式浏览嚣的设计与实现 第一章绪论前言 1 1 前言 近几年,p c 浏览器的市场似乎已经大局已定,虽然硝烟还在继续,f i r e f o x 似 乎有上升的势头,0 p e 豫被g o o g l e 收购代表了g o o g l e 进军浏览器的决心,但 微软的浏览器仍然占据了9 0 以上的市场份额,这一事实是无法替代的。 如此的局面使得近几年谈论和研究浏览器的声音异常的渺小,好像没有了新话 题,新点子。 然而,当浏览器由p c 领域进入到嵌入式系统领域之后,前面的情况或多或 少发生了一些变化。因为嵌入式浏览器的出现,揭开了浏览器发展过程中的新的 篇章。它使得强调功能全面的i e 和n e t s c a p e 浏览器就好像一只笨拙的恐龙。尽 管微软仍然占据着个人电脑专用互联网浏览器的主要份额,越来越多的业内人士 认为,迅速崛起的嵌入式市场将成为未来主流浏览器市场。目前,绝大多数的机 顶盒,无论是数字电视的,还是口t v 的,以及大多数的手机平台,都属于嵌入 式系统平台。在嵌入式系统环境下,移动电话和互联网应用设备用户所需要的, 并非是最出色的h t m l 屏幕显示,而是能使古老的文本内容得到最佳显示的简 洁技术,即迅速获得相关的信息能力。因此,嵌入式浏览器更能适应在移动通信 迅速发展的今天,人们对于浏览器的需要。它也更能满足人们对于界面和个性化 设置的需要。嵌入式浏览器的出现为嵌入式系统的发展注入了活力和新鲜的血 液。 综观嵌入式系统的发展,大致经历了以下3 个阶段。 第一阶段是以单芯片为核心的可编程控制器形式的系统。该系统同时具有与 监测、指示设备相配合的功能。这种系统大部分应用于工业控制系统中,一般没 有操作系统的支持。 第二阶段是以嵌入式实时操作系统为标志。这一阶段系统的主要特点是:嵌 入式操作系统能运行在各种不同类型的微处理器上,操作系统内核精小、效率高, 并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网 络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口( a p l ) ,嵌入 式应用软件丰富,但与互联网无关。 第三阶段是以基于i n t e r n c t 的产品和设备开发为标志的嵌入式系统。目前大 多数嵌入式系统还孤立于i n t c r n e t 之外,但随着i n t e r a c t 的发展,i n t e r a c t 技术与 北京邮电大学硕士论文基于v x w o r k s 的嵌入式测览爨的设计与实现 信息家电、工业控制技术等结合日益密切。嵌入式设备与i n t e r n e t 的结合将代表 着嵌入式技术的真正未来,而嵌入式浏览器正是其中必不可少的一环。 在网络环境下,基于嵌入式系统的浏览器开发,区别于其他系统下的浏览器 开发。这是因为嵌入式系统与其它系统相比,具有自己先天的一些特点; c p u 能力弱,功耗低,大多数不是x 8 6 架构,很多是基于a r i v l 核心, 有些是基于专门的d s p 核心,这些处理器的运算能力远远比不上p c 的c p u , 而且种类繁多。 内存等资源可用的十分有限,一般从4 m b 至6 4m b 内存大小都有。 所需要支持的w e b 特性不需要p c 版的那么丰富,一般支持最基本的 h t m l 即可,j a v a s c r i p t 一般都不需要支持完全。 正是由于嵌入式系统的这些先天特点,使得嵌入式浏览器的开发难度要远远 大于普通的桌面浏览器。但是作为i n t e m e t 与嵌入式系统结合而产生的重要的嵌 入式系统应用软件,嵌入式浏览器在嵌入式系统发展及其产品开发的过程中的重 要性是不可或缺的。 1 2 研究背景: 目前,比较常见的桌面浏览器有微软的i n t e m e te x p l o r e r 浏览器,腾迅的t t 浏览器,网景的n e t s c a p e 浏览器,开放源码的m o z i l l a 浏览器,以及o p e r a ,m o s a i c , h o t j a v a ,字符模式的l y n x 等。其中i e ,o i x t a 已有嵌入式版本,并且以上的大 多数浏览器均有跨多平台的版本。 虽然这些桌面型浏览器功能参差不齐,但大多数浏览器都能实现基本的浏览 功能。其中与n e t s c a p e 对h t m l 页面的显示效果均堪称完美。但是与完美的 浏览效果,功能丰富,支持多种媒体格式和音频视频插件等优点形成对立的,却 是浏览器庞大的体积和对机器配置标准的高要求。这些特征也正是桌面浏览器和 嵌入式浏览器最大的区别,当然从另一方面体现了嵌入式浏览器的优点所在。 特别是随着因特网的迅速发展使得桌面浏览器已经不能满足人们的需要,这 必然给嵌入式产品注入了新的发展机遇,进而导致了一场嵌入式产品设计革命。 嵌入式网络应用产品如雨后春笋般涌现出来,手持终端设备方而有上网手机、个 人数字助理和m p 3 播放器等;信急家电方面有智能电话、i n t e m e t t v 、数字电视 机顶盒等各种信息电器。在这些嵌入式产品中,嵌入式浏览器是从因特网上获取 信息的主要应用软件。 与普通的桌而浏览器相比嵌入式浏览器具有以下特点: 2 北京邮电大学硕士论文基于v x w o d d 的嵌入式谢鳝誉的设计与实现 资源受限:嵌入式环境的硬件资源一般很有限 与嵌入式操作系统紧密相关:桌面型浏览器通常是基于通用的操作系统, 用于桌面电脑如p c 机、m a c 机等。而嵌入式浏览器通常是基于专用系统。 功能可裁剪:需要针对嵌入式系统的需求定制开发 多样化:针对不同的信息设备,会有不同的定制的嵌入式浏览器出现 另外,用户般习惯于使用鼠标的桌面浏览器,它可以很方便地用鼠标浏览 网页。嵌入式浏览器工作在资源受限的嵌入式环境中,特别是外部设备有限,很 多嵌入式网络应用产品不提供鼠标设备和标准键盘,只提供有限的功能键,用户 只能使用有限的功能键浏览网页。但是,这样一来也极大程度的缩减了嵌入式浏 览器的体积,提高了浏览器的执行速度。因此,体积更小,速度更快,功能用户 化是嵌入式浏览器区别于传统的p c 浏览器的显著特点。 也正是因为嵌入式浏览器的这些特点,并不是所有p c 下能用的浏览器马 上能拿过来用的,这给嵌入式浏览器的发展带来了很大的困难。如微软的嵌入式 i e 的版本,它只能跑在其w l n d o w sm o b i l e w i n c e 的嵌入式平台之上,而且对 系统资源的要求还是比较高的。目前微软的e m b e d d e di e 除了在智能手机之外, 普及面还很有限。最重要的是,从技术角度而言,能在网上常看到的些其它的 所谓的优秀浏览器,包括n e t s e a p e ,腾讯,飓风,f a n t a s i a ,金山w p so 街c c 的 浏览器等等,均为使用m 内核的浏览器,使用了多页面多线程的方式,从而降 低了系统资源的耗费,方便了测览,但是这些软件本身没有多少技术可言,可以 用d e l p h i ,v b 等工具轻易开发出来。如果不要求完善的功能,只需简单地拖一 个i e 控件过去就行了,这也体现了微软的c o m + 及a c t i v e x 技术的强大。但是 这些技术和实现方法,在嵌入式浏览器的开发中已不再适用。再如,有入提出的 方案是把f i r e f o x 这样的开源浏览器拿过来缩减一下,看起来确实可以,也有人 在这么实施,但这样做的难度,与重新开发一款新的嵌入式浏览器没有什么区别, 甚至还会出现更多问题。 虽然嵌入式浏览器的开发任重而道远, 还是出现了一些比较不错的嵌入式浏览器。 但是纵观嵌入式浏览器的发展历程, 其中常见的主要有以下几种: i n t e m e te x p l o r e rf o rw i n c e ,是i e 的w i n d o w sc e 版,这也意味着用户 为了使用它,必须选用基于w i n c e 平台的产品,随着微软势力在掌上终端领域 的蔓延,w i n c e 版的i e 必将大行其道。 a c c e s s n e f f r o n t ,a c c e s s 是日本的浏览器大厂,占据了日本浏览器市场份 额的6 0 ,其产品广泛应用于手持设备、机顶盒、游戏机等产品。它推出的n e t f r o n t 3 北京邮电大学硕士论文基于v x w o r k s 的嵌入式浏览器的设计与实现 l i n u x 版本可以免费下载。经试用,发现n e t f i o n t 浏览效果非常好,对中文的支 持和表格的显示效果,甚至超过n e t a c a p e4 6f o rl i n u x 。而且支持键盘操作。可 以使用箭头键来选择网址进行跳转。但显然为了简化设计,n e t f r o n t 使用了一定 的权宜手段。比如它不支持使用 标记来设置字体,也不支持样式表,所有 字体的大小是固定的,但一般情况不易发现,不过由于l i n u x 版本不是商业性版 本,无法就此推断其它版本的特性。n e t f r o n tl i n u x 版本大小为1 9 m ,如再加以 简化( 比如去掉一些图片按钮) 可以做的更小。 d i l l o ,是基于l i n u x 系统环境的使用g t k 作为g u i 平台开发的浏览器, 其开发目的也包含嵌入式的应用,是开放源码项目。在界面设计上,该浏览器的 缺点是不支持表格,布局过于简单,不支持中文,浏览效果比较差,优点是网络 功能完善,支持c a c h e 缓冲,能够支持多种图片格式。 v i e w m l ,使用f l t k 作为g u i 平台开发的浏览器,主要面向嵌入式的 应用,是开放源码项目,使用c + + 面向对象的设计。因为使用f l t k ,所以可以 在嵌入式的m i c r ow i n d o w 平台运行,该浏览器支持简单的表格,界面还没有做 ( 只有一个主窗口) ,不支持中文,由于f l t k 的b u g 比较多,在实际编译时经 常出错,即使编译通过,也常常是还没有运行就c o r ed u m p 了 z e n ,一个并不知名的嵌入式浏览器,但却十分优秀,而且是开放源码 项目。不仅支持表格,支持多种图像格式,而且在设计上很有特色,它将涉及到 g u i 平台的部分独立出来,用户可以指定不同的g u i 平台运行,内置了对字符, s v g a 和g t k 的支持,开发这只需按照相应规范编写该软件涉及g u i 的部份, 就可以将其移植到其它g u i 平台,而无须对整个软件进行修改。缺点是网络功 能比较弱,不支持多线程,另外其必须等到所有图片下载完毕才开始布局,若某 文件传输失败则会导致死锁,需用户中断。 由以上分析可以看出,目前阶段,业界成熟的嵌入式测览器软件已经不少, 比较著名的如微软的i ef o rw m c e 版、a c c e s sn e t 丘o n t 、基于l i n u x 的d i l l o 等。 但是基于v x w o r k s 嵌入式操作系统的成熟浏览器却很少,日本a c c e s s 公司出品 的n e t f r o n t v 2 6 f o r v x w o r k s 是一款比较成熟的v x w o r k s 浏览器。但目前国内基 于v x w o r k s 系统的成熟浏览器产品基本是空白,仅处于起步阶段。 另外,由于实验室已经开发出具有自主知识产权的基于v x w o r k s 系统环境 下的嵌入式实验板,也需要一款基于v x w o r k s 的嵌入式浏览器来配合实验板的 使用,以便更好的发挥和完善实验板的功能。 4 北京邮电大学硕士论文基于v x w o d b 的嵌入式测览嚣的设计与实现 1 3 论文所作的工作: 本课题的目的要实现一个基于v x w o r k s 操作系统的嵌入式浏览器,使之可 以完成一个浏览器所需要的基本功能,满足嵌入式系统环境的需求。论文的主要 工作分为两部分:一是嵌入式浏览器模型的设计;二是具体功能模块的开发实现, 尤其是h t m l 词法分析器的开发。 由于目前可参考的开源浏览器并不多见,并且大部分都是基于l i n u x 系统环 境设计和实现的,而基于v x w o r k s 系统环境下的浏览器几乎没有。因此课题的 完成不但要求设计者熟悉浏览器的基本框架,还要精通v x w o r k s 操作系统的集 成开发环境t o r n a d o 及其图形用户界面的开发插件w m d m l 和程序调试工具 v x s i m 。 另外,一个浏览器基本上是由四个部分组成,它们是词法分析,语法分析, 布局和g u i 界面。为此,本论文的所有工作都需要从组成浏览器的各个功能模 块着手,步步深入,从而实现浏览器的基本功能,进而完成一个基于v x w o r k s 系统的嵌入式浏览器的设计与开发。 论文的设计是按照一个一般的工程设计流程来组织:从浏览器实现方案分析 到各个组成部分的概要设计和详细设计,再到各个具体的功能模块的实现和调 试。在论文中,这些工作分别体现在四大章节,即“浏览器的概要设计”、“浏 览器的详细设计”、“浏览器的实现”和“性能分析”。 “浏览器的概要设计”主要是针对当前嵌入式浏览器的发展形势、嵌入式技 术的发展状况和我们实验室的实际条件,制定出浏览器的整体设计方案和各个模 块的概要设计方案。这些工作是后面工作的基础,通过系统的分析,可以定位各 个功能模块的初步实现的目标。 “浏览器的详细设计”根据实现方案的总体分析和概要设计,完成各个功能 模块的具体实现方案的设计,包括功能的设计,模块的结构设计和算法设计等。 浏览器的详细设计方案是整个浏览器开发过程中的关键环节,是浏览器实现的依 据所在。 “浏览器的实现”是在详细设计的基础上建立相应的软件开发环境,包括词 法分析器的实现、图形用户界面g u i 的实现等。在该部分,对浏览器实现过程 中所用到的一些数据结构和函数功能做出了较为详实的阐述。 最后论文完成浏览器相应的功能测试,总结了优势和不足之处,并对后续的 工作提出相应的指导性建议。 北京邮电大学硕士论文基于v x w o d c s 的嵌入式浏览嚣的设计与实现 论文的工作实际完成情况如下: ( 2 0 0 5 1 1 2 0 0 6 0 2 ) 完成了理论上的积累。查阅了嵌入式浏览器技术相 关文献及书籍;了解了浏览器技术的背景和发展现状;深入理解了浏览 器各功能模块基本原理、特性及建模方法。 ( 2 0 0 6 0 3 2 0 0 6 0 4 ) 完成了浏览器的概要设计。对掌握的资料进行分析, 对现有的成熟的浏览器产品进行分门别类,总结分析其优缺点,找到本 课题的切入点,在兼顾性能和效率的基础上,提出复杂度更低、占用内 存更小、图形显示效果较为理想的初步设计模型。 ( 2 0 0 6 0 5 2 0 0 6 0 7 ) 完成了浏览器的详细设计。主要包括词法分析、语 法分析、布局算法和g u i 图形界面的设计和分析工作。并初步建立实现 过程中各个功能模块所用到的数据结构。 ( 2 0 0 6 0 8 - 2 0 0 6 1 1 ) 运用t o r n a d o 开发工具,以c 语言作为主要开发语 言,借助v x s i m 仿真器和w i n c l m l 插件,完成基于v x w o r k s 平台的嵌 入式浏览器的开发和调试工作。 ( 2 0 0 6 1 2 2 0 0 7 0 2 ) 全面总结研究成果,完成论文的初稿。 ( 2 0 0 7 0 2 2 0 0 7 0 3 ) 报送导师阅览,根据其意见对论文进行修改,完成 论文的收尾方面工作。 从完成情况看,论文的撰写工作基本上按照预期计划完成。但是要设计效果 较好的浏览器产品,决不是三五个人能办到的,参与工作的人员不仅需要有相关 经验,还需要有一定的投入。总的来说,开发自主技术的浏览器产品是有一定的 风险的,这也是国内目前相关产品为数不多的原因。因此本论文的工作不可能完 成一个实际的产品,它仅是一个嵌入式浏览器的雏形。但是本论文解决了基于 v x w o r k s 的嵌入式浏览器设计和实现的基本技术问题,为后面课题的开展提供了 先决条件和参考依据。 1 4 论文的组织结构: 论文的组织按照一个一般的系统设计流程来组织,如图1 1 : 6 北京邮电大学硕士论文基于v x w o r k s 的嵌入式谢览器的设计与实现 叠| ;: ;背袋糍耩; ; ;f 麟獭批量; j 譬 一。| 善方囊芬籽# 一。一。+ | i ;l 。蓦概爱錾澎一u :; ;j f d 穹。j 详细设计f r 润法分析舞割量请溪务耱j 制布局爿图瓣界而l 瑚龉攀黉魂 誊;询罐鹭渤试 | j 鳙i 珏 图卜1 论叉设计流程 论文第一章介绍了浏览器发展的现状,背景分析,并提到了嵌入式技术的发 展阶段和嵌入式产品自身的特点。接着论述了本论文的研究动机,确立了本文的 研究方向基于v x w o r k s 嵌入式浏览器。然后本文讨论了嵌入式浏览器与普 通桌面浏览器的区别,分析了目前存在的几种嵌入式浏览器的设计思想。 论文第二章进行了总体方案分析和浏览器的概要设计,并详细的阐述了论文 的具体应用方案和实现方案。通过本章的分析将确定浏览器的各个模块的划分以 及各个模块的所实现的功能。 论文第三章阐述了浏览器的详细设计方案。首先分析了浏览器开发过程中重 点和难点,分别对词法分析模块,语法分析模块,布局模块和g u i 图形界面模 块作了详细的介绍,重点强调了模块中用到的算法原理。 论文第四章阐述了浏览器的实现。在软件方案和浏览器的开发环境上,介绍 了浏览器使用的操作系统和开发工程中用到的插件和工具。并介绍了开发环境的 配置方法和为实现各个模块功能所设计的数据结构和基本函数。 论文第五章进行了性能分析,主要是对浏览器实现的功能进行了模块测试和 显示效果的测试得出了测试结果并针对当前其它同类的嵌入式浏览器进行优势 分析。本章最后总结了本论文存在的不足和对课题的下一步发展提出了一些指导 性的意见。 论文第六章作了一下总结,说明了本论文的定位和实现的阶段,并分析了论 文的发展前景。 论文第七章为参考文献。 7 北京邮电大学硕士论文基于v x w o r k j 的嵌入式浏览器的设计与实现 第二章浏览器的概要设计 2 1 浏览器的应用方案 目前,已有的嵌入式浏览器产品主要应用于手持终端和信息家电,例如掌上 电脑、3 g 手机、网络机顶盒、具有网络功能的其它家电,如可上网的电冰箱等, 另外,在军事等领域也有一定的应用需求。 本课题的目的是在实验室的现有研究成果的基础上,实现一个基于v x w o r k s 的嵌入式浏览器。它结合当前嵌入式浏览器的特点和用户的实际需求来确定系统 的具体应用方案。目前,由于很多已经成形的或者开源的浏览器都是基于l i n u x 系统环境下,所以本课题致力于基于v x w o r k s 开发环境下嵌入式浏览器的研究。 希望首先能够应用在实验室已开发出的实验板上,完成一个浏览器的基本功能, 然后再不断改进,从而丰富其已有的功能。 因此,本课题不仅需要满足浏览器所需的基本功能,同时还要考虑整个方案 的可行性和实用性,这对本浏览器软件的设计和实现提出了挑战。下面根据系统 的应用方案,讨论本课题的模块设计和实现。 2 2 开发难度分析 嵌入式浏览器作为重要的嵌入式系统应用软件,是不可或缺的。但目前,嵌 入式浏览器产品的市场被少数国外大公司垄断,众多的小型嵌入式浏览器也尚处 于发展期,而国内的自主技术的嵌入式浏览器更屈指可数,刚刚进入起步阶段。 迫切需要更多的人来关注嵌入式浏览器技术,开发中国自主知识产权的浏览器产 品。 可以看到,要设计效果较好的浏览器产品,决不是三五个人、两三条枪就能 办到的,参与工作的人员不仅需要有相关的开发经验,还需要有一定的投入,一 方面对程序员艰苦的工作给予鼓励,另一方面也可能需要购买一些成熟的开发 包。再有,对基础的开发平台、测试平台上也要有一定的投资,总的来说。开发 自主技术的浏览器产品是有一定的风险的,这也是国内目前相关产品为数不多的 原因。 鉴于对浏览器开发难度的充分考虑和现有的研发水平,拟定实现以下功能, 以及需要考虑但暂不予实现的功能。 需要实现的包括: 北京邮电大学硕士论文基于v x w o c k s 的嵌入式谢览嚣的设计与实现 ( 1 ) 图形界面:包括窗口,菜单,输入框,工具条,滚动条等的支持 ( 2 ) 词法分析:实现实用的h t m l 词法分析,支持h t m l 4 0 全部元素, 并且致力于缩减代码量和提高运行效率 ( 3 ) 实现简单网页的布局:结合语法分析实现对简单网页的查看功能 需要考虑的功能: ( 1 ) j a v a s c r i p t 支持 ( 2 ) 汉字支持 ( 3 ) 图片格式支持 ( 4 ) 表单支持 ( 5 ) 页面元素的消息响应 ( 6 ) 支持基本的i o ,支持采用线程的网络传输 2 3 浏览器的实现方案 2 3 1 嵌入式系统中的网络技术 同其他网络应用一样,嵌入式浏览器也采用客户服务器模式。当浏览器与 服务器的交互遵循超文本传输协议h t r p ( r i y p e rt e x tt r a n s p o r tp r o t o c 0 1 ) ,为了确 保浏览器与服务器能够明确地相互操作,t t t t p 定义了浏览器发送到服务器的请 求格式与服务器返回的应答格式。通常情况下,嵌入式系统把w e b 页面传送给 运行用户界面的w e b 浏览器。这些页面中的一部分是静态的,可以存储在嵌入 式系统中。在其他情况下,嵌入式系统通过动态生成的页面把设备的当前状态传 送给用户,终端用户也可以通过w e b 浏览器发送信息给嵌入式系统来定制或控 制设备( 如图2 - 1 所示) 。嵌入式设备使用h t r p 标准协议把w 曲页面从嵌入式 系统传送给w e b 浏览器;把h t m l 格式的数据从浏览器送回给设备。 图2 - 1 嵌入式系统网络架构 2 3 2 浏览器的整体设计 一次页面浏览可分成4 个步骤,因此浏览器的结构也可分为4 个部分。如图 2 2 所示: 9 北京邮电大学硕士论文 基于v x w o r k s 的嵌入式浏览器的设计与实现 图2 - 2 浏览器的组成部分 图中各部分的功能为: 传输模块:通过h t t p 协议传输数据( 对于敏感数据采用s s l 协议) 缓存管理模块:负责网页、图像数据的装载、淘汰操作,对用户的每次 请求,缓存管理模块根据缓存数据决定是否调用传输模块 解析模块:负责解释h t m l 文档,生成带有显示信息和控制信息的中间 结果,同时也负责图像、声音数据的解码以及解释执行网页中的j a v a s c r i p t 脚本 显示模块:负责显示解析模块解析过的网页,并处理用户与页面的交互。 浏览器是一个交互程序,是由一组客户、一组解释器与一个管理它们的控制 嚣所组成。图2 - 3 说明了浏览器概念上的组织结构。 图2 3 昔萨器概念模型 北京邮电大学硕士论文 基于v x w o a s 的嵌入式测览器的设计与实现 可见,控制器形成了浏览器的中- f i , 部件,它解释鼠标点击与键盘输入,并且 调用其他组件来执行用户制定的操作。每个解释器必须包含一个h t m l 解释器 来显示文档,其他解释器是可选的h t m l 解释器输人由符合h t m l 语法的文档 所组成输出由位于用户显示器上格式版本文档所组成。解释器通过将h t m l 规 则转换成适合用户显示硬件的命令来处理版面细节。 2 4 浏览器的概要设计 通过对浏览器模型的分析,可以将浏览器的实现技术归纳为以下四个方面, 即词法分析、语法分析、布局算法和g u i 图形界面。 2 a 1 词法分析 主要是针对h t m l 进行词法分析,词法分析器实际上是通用的,还可用于 x m l 、w m l 的词法分析,只需替换元素名称即可。h t m l 词法分析是浏览器设 计的基础环节之一,也是整个设计过程中重要的前端工作,其数据结构的拟定与 接下来的语法分析和布局算法密切相关,词法分析的效率与准确性、容错性也关 系到整个浏览器设计的质量。 浏览器的词法分析模块具有以下主要功能是:智能提取网页中的文字信息、 排版,并可在进行编辑后保存;统计网页的有关信息;根据用户设置的版式,将 分析和编辑的结果自动生成新的网页 2 a 2 语法分析 在大型的浏览器中,语法分析通常是独立的模块,但在嵌入式浏览器中,语 法分析通常是与布局混合在一起的,即一边进行语法分析,一边布局,不设立相 应的数据结构来存储语法分析的结果。语法分析对布局的算法有直接的指导意 义。 2 4 3 布局算法 本课题所指的布局应理解为界面输出前的预演和处理位置等信息的算法,而 不是具体的界面输出。布局算法的好坏直接关系到界面的输出效果,但布局算法 也是要根据g u i 所能实现的输出效果来设计的,所以,g u i 的设计往往成为系 统的瓶颈,如果g u i 提供的支持有限,即使有再好的布局算法,也是纸上谈兵, 无用武之地。 嵌入式浏览器具有代码小、运行空间少、速度快和实时性较强等特点。因此 北京邮电大学硕士论文基于v x w o r k s 的嵌入式浏览器的设计与实现 在嵌入式浏览器中实现布局技术需要针对嵌入式浏览器的特点,所面临的问题主 要有以下几个方面: 数据溢出:网页中的数据信息在显示时出现丢失的现象称之为数据溢 出。由于语言使用十分灵活,有时可能会出现网页中的数据元素的宽度 大于网页的宽度,从而出现了网页中数据信息的丢失。根据页面元素的 特点,采取不同的策略防止数据溢出。 文本处理:网页中大部分数据都是以文本字符的形式呈现,因此对文本 格式化处理是布局引擎的一个关键所在,涉及字符串分割! 宽度的计算以 及文本换行处理等。 图文互斥:在嵌入式浏览器中,把图像和文字排版显示时不重叠的现象称 为图文互斥。在排版过程中,能采取一种有效的方法实现图文互斥。 可移植性:布局排版是相对比较独立的模块,在布局引擎的设计实现时 要充分考虑其模块的独立性和可移植性。 2 4 4 图形界面 g u i 是指图形用户界面,浏览器无疑是一个图形函数库的大需求者,选择好 的g u i 环境实属不易,为了能够实现专有的功能,浏览器开发者往往还要对基 础的g u i 库进行包装、改写,甚至写自己的控件。所有这些,是需要有专业的 g u i 库开发经验的专职人员来完成。g u i 的功劳第一在于软件的操作界面,如窗 口、菜单、工具条、滚动条等。第二在于主浏览窗体中的图形元素的输出( 通常 以自画控件的方式) 。前者通常直接使用g u i 库中的已有控件,编程难度很小, 后者主要利用基本的点线函数,编程难度比较大。 2 5 本章小结 , 测览器的概要设计部分介绍了本课题所设计的浏览器的应用方案和实现方 案。然后确定了实现浏览器基本功能的四个重要模块,并对各个模块的主要功能 和作用的理解做出了简单的阐述。这些都是论文得以进一步研究的基础,并对论 文下一步详细设计部分的开展提供了指导。 北京邮电大学硕士论文基于v x w c s k s 的嵌入式谢览嚣的设计与实现 3 1 词法分析: 第三章浏览器的详细设计 3 1 1 设计思路 词法分析器负责对接收的h t m l 代码进行词法分析,主要的目的是提取网 页中元素的名称及其属性,并以恰当的形式( 即按一定的数据结构) 加以保存, 也就是完成了将数据流离散化、结构化的过程。本课题的词法分析器主要是在参 考了基于l i n u r d g t k 的开源浏览器n e t b i tb r o w s e r 基础上完成的,并对其词法分 析的算法进行了部分修改,从而完成了本课题的词法分析器w o r d b r o w s e r 。 它主要由以下几个部分组成: 初始化:完成对数据结构的初始化,主要是分配内存,变量赋初值 主体的数据流分析:逐字符的进行判断,确定数据的归属类型 元素的分析:提取元素的名称、属性和值域 释放:主要是对内存的释放。 3 1 2 主要的数据结构 l 、w o r d b r o w s e r c o n t e x t 的数据结构 w o r d b r o w s e r c o n t e x t 是用于存储当前待分析网页的全局属性的数据结 构。 t y p e d e f s t m c tw o r d b r o w s e r c o n t e x t f c h a r + s t r b u f f e r ;当前正在处理的h t m l 代码 i n t b u f f e r l e n g t h ;当前分析的h t m l 代码b u f f e r 的大小 i n t c u r p o s i t i o n ;记录指针在当前分析的代码中的位置 c h a r 一o b a ls t r b u f f e r ;全局h t m l 代码 i n t g l o b a l _ b u f f e r l e n g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年老年自伤行为应急处理课件
- 2026年广西贺州市八步区中考语文一模试卷(含详细答案解析)
- 2025年设备监理师之设备工程监理基础及相关知识练习题(二)及答案
- 路政上半年工作总结
- 2025年试验检测师考试题库及参考答案
- 2025年通信专业技术人员职业水平考试中级实务预测题与答案
- 2025年《监理工程师概论》真题
- 临时用电监理实施细则范本(2篇)
- 智能家居强链补链项目可行性研究报告模板-备案审批
- 糖尿病护理查房培训课件
- 微生物学-第九章-传染与免疫-zh-v7
- 儿童保健三基理论考核试题题库及答案
- 课件亚洲与非洲音乐 课件-2022-2023学年高中音乐人音版(2019) 必修 音乐鉴赏
- 《美术鉴赏》课程思政课堂教学设计
- 骨科全髋关节置换术的护理
- 摄影构图(共86张PPT)
- DB33T 988-2022 柔性生态加筋挡土墙设计与施工技术规范
- DB31T 1234-2020 城市森林碳汇计量监测技术规程
- 对外经贸函电课程课件-新Unit-10-Packing
- 导线展放出口张力、牵引力计算表格
- 行星齿轮减速器设计DOC
评论
0/150
提交评论