




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)无线标记语言浏览器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 随着嵌入式系统和移动通信的快速发展,w a p ( w i r e l e s sa p p l i c a t i o nl a n g u a g e ) 逐渐成为通信界关注的热点话题之一。世界上许多设备制造商和应用开发商,特别是 欧洲,已推出多种基于w a p 的系统和应用,许多w a p 无线数据业务的商用化实验正 在积极进行。支持w m l ( w i r e l e s sm a r k u pl a n g u a g e ) 的嵌入式浏览器将拥有广阔的 市场前景,开发有自主产权的w m l 浏览器,具有十分重要的意义。 w m l 文档解析是w m l 浏览器设计与实现的基础环节。文档解析的效率关系到浏 览器的性能,浏览器采用了边解析边排版的解析策略,该策略使得解析占用内存较少, 解析效率较高。整个文档解析被分为词法分析、语法分析和语义处理三个阶段,词法 分析是整个设计过程中重要的前端工作,语法分析是解析过程的核心,语义处理函数 作具体处理。w m l 浏览器还提供了对中文编码支持平n w b m p ( w i r e l e s sb m p ) 图像的 支持。 w m l 网页的事件和任务是w m l 显著区别于其它标记语言的地方,它的有效处理 是w m l 文档解析的关键。由于事件和任务的关系极为复杂,设计实现了一个接口函数, 该函数使得事件和任务的处理过程变得简洁明了。对于不同的事件,浏览器采用了链 接选项和按钮两种实现机制,这使得浏览器的用户界面美观,交互性能友好。 页面排版是对w m l 网页显示位置的预演,排版的结果直接关系到浏览器界面输出 效果。排版采用页面、行和字结构存储解析中间结果,页面排版和重排算法是排版时 用到的重要算法。显示是浏览器的最后一个重要环节。页面重排技术实现了页面的动 态调整:滚动条技术为客户浏览大于显示屏幕的页面信息带来方便。 关键词:嵌入式系统,移动通信,无线应用协议,无线标记语言,解析,排版 华中科技大学硕士学位论文 a b s t r a c t w i t ht h er a p i d d e v e l o p m e n t o f t h ee m b e d d e ds y s t e ma n dm o b i l ec o m m u n i c a t i o n w a p i s b e c o m i n go n eo ft h et o p i c s o fc o m m u n i c a t i o nf i e l d m a n yd e v i c em a n u f a c t u r e ra n d a p p l i c a t i o nd e v e l o p e r , e s p e c i a l l yi ne u r o p e ,h a v ep u to u tm a n ys y s t e m sa n da p p l i c a t i o n s b a s e do nw a p , a n dm a n yc o m m e r c i a le x p e r i m e n to fw a pw i r e l e s sd i g i t a ls e r v i c e sa r e c a r r y i n go u ta c t i v e l y t h e r e w i l lb eab i gm a r k e tf o re m b e d d e dw m lb r o w s e r s ot h e d e v e l o p m e n t o f t h e i n d e p e n d e n tc o p y r i g h te m b e d d e d b r o w s e rh a s i m p o r t a n tm e a n i n g w m ld o c u m e n tp a r s i n gi st h ef o u n d a t i o no ft h ed e s i g na n di m p l e m e n to ft h ew m l b r o w s e r ,i t se f f i c i e n c ya f f e c tt h ep e r f o r m a n c eo fb r o w s e r b r o w s e ra d c i p tas t r a t e g yo f t y p e s e t t i n ga tt h es a l n et i m eo fp a r s i n g ,t h a ts a v e dt h em e m o r ya n di m p r o v e dt h ep a r s i n g e f f i c i e n c y t h ew h o l ep a r s i n gp r o c e s s i sd i v i d e di n t ot h r e es t e p s :l e x i c a la n a l y s e ,s y n t a x a n a l y s ea n ds e m a n t i cp r o c e s s ,l e x i c a la n a l y s ei s t h ei m p o r t a n tf r o n tw o r ko ft h ew h o l e p a r s i n gp r o c e s s ,s y n t a xa n a l y s ei st h ec o r eo f t h ep a r s i n gp r o c e s s ,s e m a n t i cp r o c e s sf u n c t i o n m a k e st h ec o n c r e t eo p e r a t i o n w m lb r o w s e r s u p p o r t sc h i n e s ec o d i n g a n dw b m p p i c t u r e t h er e m a r k a b l ed i f f e r e n c eb e t w e e nw m la n dt h eo t h e rm a r k u pl a n g u a g ei se v e n ta n d t a s k ,i t se f f i c i e n t p r o c e s s i s v e r yi m p o r t a n tf o rw m ld o c u m e n tp a r s i n g w i t h t h e c o m p l e x i t yo f t h er e l a t i o nb e t w e e ne v e n ta n dt a s k ,a ni n t e r f a c ef u n c t i o ni si m p l e m e n t e d , w h i c hc a nh a n d l et h er e l a t i o n s h i pw e l l f o rd i f f e r e n te v e n t s ,l i n ks e l e c t i o nm e c h a n i s ma n d b u t t o nm e c h a n i s ma r ea d o p t e dt om a k ei n t e r f a c eb e a u t i f u la n d f r i e n d l y t y p e s e t t i n gi sap r e v i e w o fw m l p a g e ,t h et y p e s e t t i n gr e s u l ti sd i r e c t l yr e l a t i o nt ot h e o u t p u te f f e c to fb r o w s e r a t t h et i m eo f t y p e s e t t i n g ,p a g e ,l i n ea n d w o r ds t r u c t u r e sa r eu s e d t op r e s e r v et h er e s u l to fw m l p a r s i n g ,t h ep a g et y p e s e t t i n ga l g o r i t h ma n dr e t y p e s e t t i n g a l g o r i t h m a r e u s e d d i s p l a y i st h el a s ta n d i m p o r t a n ts t e p ,p a g ed y n a m i ca d j u s t i s i m p l e m e n t e db yu s i n gr e t y p e s e t t i n ga l g o r i t h m ,s c r o l lb a r i su s e df o rb r o w s e rt h ei n f o r m a t i o n o u to ft h es c r e e n k e yw o r d s :e m b e d d e ds y s t e m ,m o b i l ec o m m u n i c a t i o n ,w i r e l e s sa p p l i c a t i o np r o t o c o l w i r e l e s sm a r k u p l a n g u a g e ,p a r s i n g ,t y p e s e t t i n g 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承 担。 学位论文作者签名:) 氢釉 日期:孵牛月彩日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于不保密口。 ( 请在以上方框内打“4 ”) 学位论文作者签名:啪 日期:衅归心日 艚狮躲印懦彬 同期:抄绰r 月i rk = t 华中科技大学硕士学位论文 1 1 课题背景 1 绪论 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用 系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统【1 2 。嵌入式系统 在许多领域得到广泛应用,如;制造工业、过程控制、通讯、仪器、仪表、汽车、船 舶、航空、航天、军事装备、消费类产品等。在嵌入式系统特别是大家普遍关注的可 以作为i n t e m e t 网络终端的嵌入式系统中,嵌入式浏览器j 逐渐成为嵌入式操作系统主 要、甚至唯一所需要直接支持的软件。目前,嵌入式浏览器可以广泛应用于i n t e m e t t v 、 i d v d 、w e b 终端、数字电视机顶盒( s e t )【4】、掌上电脑等各种信息电器和便携top b o x e s 式网络终端中。嵌入式浏览器使得嵌入式设备与i n t e m e t 结合,代表着嵌入式技术的真 正未来。近来移动通信。尤其是数字移动通信在全球取得了突飞猛进的发展,随着 商业经济对人类生活的渗透,越来越多的人开始对移动上网、移动办公或其它移动电 话的新业务有了需求。同固定上网相比,移动互联网【5 1 有其固有的局限性,为了克服 移动终端和无线上网的种种局限性,提出了w a p ( w i r e l e s s a p p l i c a t i o np r o t o c o l ,无线 应用协议) 技术【6 7 】,w a p 逐渐成为通信界关注的热点话题之一。世界上许多设备制造 商和应用开发商,特别是欧洲,已推出多种基于w a p 的系统和应用【8 】,许多w a p 无线 数据业务的商用化实验正在积极进行1 9 l 。w a p 使得无线设备可以随时随地访问 i n t e m e t ,读取互联网上的诸多服务信息j 如电子邮件、电子商务、气象查询等。 在设计w a p 规范时,w a p 论坛一个很重要的指导思想是让w a p 尽可能多的与现有 的标准一致,最大限度的利用用户对w e b 服务器、w e b 开发工具、w e b 编程和w e b 应用 的既有投资【1 2 1 。因此,w a p 大量采用w e b 代理技术【1 3 】,将无线领域与w e b 相连接。w m l 网络资源和h t m l 网络资源共存于w 曲服务器中i l ,无线客户通过w a p 网关 t s tw e b 服务器通信。然而,现有的大量嵌入式设备由于缺乏w m l ( w i r e l e s sm a r k u pl a n g u a g e , 无线标记语言) 浏览器的支持,无法直接访问w e b 服务器中的w m l 资源。因此,嵌入 式w m l 浏览器将有广阔的市场前景,开发具有自主产权的嵌入式w m l 浏览器,有十 分重要的意义。 本课题来源于华工大精伦软件研究所的项目基于l i n u x 的嵌入式浏览器。设 华中科技大学硕士学位论文 计的目的是扩展现有嵌入式浏览器的功能,使其支持w m l 文档解柝,从而使得浏览器 可以浏览w 曲服务器上存在的大量w m l 资源,可以获取更加丰富的信息资源。 1 2 国内外概况 1 2 1 标记语言 随着信息网络的飞速发展,信息资源的主流形式逐步从图书、期刊等印刷型、静 态的、单一的、固定型的资料过渡到数字化、动态的、网络化、分布式的电子信息资 源。标记语言是这一过渡的产物,多种标记语言先后应运而生,以下是几种典型的标 记语言。 1 s g m l s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准的通用标记语言) 1 7 1 为国 际标准( i s 0 8 8 7 9 ) ,于1 9 8 6 年首次公布。它利用通用方式和元标识语言对电子文件的 结构和内容进行标记,实现各类文献结构和内容的系统化、标准化描述,从而建立起 通用数字化文献。 由于s g m l 过于详细和复杂,所以一直没被广泛的采用,现在只用于网上传递f ”i 。 2 h t m l h t m l ( h y p e rt e x tm a r k u pl a n g u a g e ,超文本标记语言) 1 1 9 2 0 1 是在通用标记语言 s g m l 基础上建立起来的用于描述超文本的标记语言。超文本是含有指向其它文档的 指针的文本,标记是描述或分割文本中各对象的一种编码。由于受至o i n t e m e t 和w w w 热潮的推波助澜,h t m l 很快成为网页制作的标准格式。h t m l 版本不断更新,每种 新版本都在前版本的基础上增加新功能。h t m l0 0 e 仅包含最初、且最基本的标记集合, 如h t m l 、h e a d 、t i t l e 、b o d y 、b r 、h r 、p 等标记;h t m l1 0 中增加了页面内部显示图像 和加亮文本的标记,如 ;h t m l2 0 中增加了表格( f o r m ) 标记,实 现了页面的动态交互功能,使h 刚l 由被动访问转向主动访问:h t m l3 o 中又增加了 许多新标记和新特性,如:显示表( t a b l e ) 、j a v a 印p l e t 环绕图像标记、数学公式、标题 显示区、字符位置控制以及制作动态菜单和工具栏等功能;h t m l 4 o 中增加了更多的 支持多媒体选项、样式表( c s s ) 、脚本语言等。 h t m l 的优点是简单和统- - 1 8 l 。h t m l 的语法和执行都很简单,命令较少,较为 2 华中科技大学硕士学位论文 通用在任何计算机上都可以理解。但是,h t m l 采用单一固定的语法,不允许用 户自行定义标记或属性,不支持深层的结构描述,没有提供规范文件以支持应用软件 对h t m l 文件进行结构校验。 3 h d m l h d m l ( h a n d l e d d e v i c em a r k u pl a n g u a g e ,手持装置标记语言) 2 1 , 2 2 1由u n w i r e d p l a n e t ( 也就是现在的p h o n e c o r n 公司) 于1 9 9 7 年5 月提出的一套标准。它是在北美的 c d m a 手机上实现无线i n t e r n e t 的一种技术,借助于这种程序语言能让移动装置如手持 式计算机或智能电话可以存取互联网络的内容。 h d m l 和w m l 编程模式一样,功能基本相同。不同点在于:h d m l 不是基于x m l 的语言;w m l 存在着脚本语言w m l s c r i p t l 2 3 】,j 而h d m l 却不存在脚本语言。虽然h d m l 能够完成w m l 和w m l s c r i p t 所能完成的大部分功能,但w m l 采用w m l s c r i p t ,使得设 备可以在本地执行代码,从而减少网络流量。 4 x m l x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 是w 3 c 于1 9 9 8 年发布的、可 扩展的、用于网络环境网页设计和数据交换、管理的结构化语言 2 4 2 5 1 。它是s g m l 的 一个简单而严格的子集,是一种更具弹性、更容易添加新功能而又不失统一标准的语 言格式。严格地说,x m l 和s g m l 一样是一种元语言,可以被用来定义任何一种新的 标记语言。x m l 关注的不是数据在浏览器中如何布局和显示,而是数据内容的组织结 构,以便数据在网络上进行交流和处理。x m l 在三层架构上为数据处理提供了很好的 方法,它的一个主要目标市场是电子商务,根据美国电子商务专家预测,x m l 可以改 善传统网页设计语言h t m l 的描述方式,未来将可以取代h t m l 成为新一代的网页标 记语言 2 6 1 。 x m l 继承了s g m l 的3 个特性( 确认性、结构化和扩展性) ,同时也具有h t m l 的 灵活性和通用性。h t m l 和x m l 是一种相互补充的关系,前者关注于用户显示和交互 界面,而后者则关注于数据和信息的内容描述。因此,x m l 可以向h t m l 文档中增加 信息,h t m l 则显示以x m l 格式所表达与描述的数据和信息可以说h t m l 和x m l 的 结合将共同为w e b 提供十分丰富的信息及显示机制。 5 w m l w m l ( w i r e l e s sm a k e u pl a n g u a g e ,无线标记语言) 是在w a p 规范中定义的一种适合 无线环境使用的标记语言,其作用类似于w w w 中的h t m l 语言2 7 艺9 1 。它继承了h t m l 3 华中科技大学硕士学位论文 和h d m l 技术,是x m l 语言的一种特殊应用。 w m l 类似h t m l 能提供浏览支持、数据输入、超级链接、文本和图像呈现等功 能。另外,它针对无线网络带宽窄的局限,对现行的h t m l 进行优化:滤掉万维网上 的图形、音频及视频信息:保留简洁的文字信息;减小图表大小。w m l 提供了一个数 量更小的标记集,它比h t m l 更适合于在手持设备 3 0 】中使用。 1 2 2w m l 浏览器 随着互联网的飞速发展,嵌入式浏览器的应用日益广泛,国内外许多厂商正是看 到了嵌入式浏览器广阔的市场前景而纷纷投身其中,并出现了一些市场化的产品,其 中较著名的有近1 0 家,深圳市茁壮网络技术有限公司的i p a n e l 、美国影立驰技术公司 e n r e a c hb r o w s e r 4 0 、w i n d o w s c e 中内嵌的简化版的i e ,日本的a c c e s sn e t f r o n t , p l a n e t w e bb r o w s e r3 0 等。其中a c c e s s 市场化程度较高,据称占日本国内市场份额6 0 以上。国内的产品有北京凯思吴鹏h o p e n o s 中内嵌的浏览器、西安易捷科技有限公司 开发的易捷浏览器、红旗的嵌入式浏览器等p “。 各种w a p 设备口2 1 如w a p 手机、带有无线功能的p d a 和掌上电脑等已开始大规模的 投入市场,这促进了w m l 浏览器开发。目前,国内外已出现大量w m l 浏览器,从使 用对象看,可以分为三种:支持p a l m 掌上电脑和p d a 的w m l 浏览器,用于家用电脑接 收w a p 信息的模拟器和用于移动电话的w m l 浏览器。从支持的语言看,有同时支持 h t m l 和w m l 两种格式的w m l 浏览器,有只支持w m l 格式的w m l 浏览器。较常见 的w m l 浏览器有以下几种: l - o p e r a 它是o p e r as o f t w a r e 开发的,针对不同的操作平台女1 1 w i n ,e p o c ,b e o s ,l i n u x 及 m a c o s 平1 o s 2 有不同的版本。目前,o p e r a 是l i n u x 平台上使用最为广泛的浏览器之一。 o p e r a 杖0 览器的功能非常强大,能够对h t m l 、c s s 、x m l 、w m l 、e c m a s c r i p t 、 d o m 、g r a p h i c s 等多种文档格式提供支持。o p e r a6 支持w m l1 2 定义的所有元素,只 有少量元素的属性( 女i :s e l e c t 元素的i n a m e 和i v a l u e 属性,i n p u t 元素的e 唧t y o k 和f o r n l a t 属性等) 不能被处理,o p e r a7 进一步增强了对w m l 的支持,功能更加完善。 2 w i n w a p w i n w a p 的窗口界面和w 曲浏览器的窗口界面类似,使用方便,操作简单,可以 在p c 、p d a 或手提计算机上运行。 4 华中科技大学硕士学位论文 w n m 廿浏览器能够方便地查看w m l 网页源代码;保存网页;提供方便的书签功 能:提供配置,支持w a p 和h t t p 两种通信协议等。不足之处在于:它是专为w m l 网 页开发的浏览器,不兼容h t m l 格式,对多窗口支持不好。 3 w a p m a r l w a p m a n 软件深得p a l m 用户欢迎,它是全世界最多人下载的w a p 微浏览器。 w a p m a n 可以同时支持p a l m o s 和w i nc e 版本的电子手帐。e d g e m a t r i x 成功开发支持 j a v a 的w a p m a n ,w a p m a nc o l o r 是新近推出的浏览器,它支持w a p1 2 规范,支持2 5 6 色彩色显示,支持多种语言。 w a p m a n 浏览器可支持彩色显示、定位功能、多种语言技术等,其新版本功能更 为强劲,j i l l x t w t l s ( 无线连接安全层) 加密和认证技术,增强使用移动互联网的安 全性。 4 e z w a p e z w a p 是e z o s 公司设计的w a p 浏览器,设计采用了模块技术,它具有操作系统 独立性和跨平台性,可广泛应用于多种操作平台如:掌上移动设备( p d a ,p o c k e tp c p cc o m p a n i o n s ) ,m o b i l ec o m p u t i n g 和e m b e d d e ds y s t e m s ,p c s ( m i c r o s o f tw i n d o w sn t 、 9 8 、2 0 0 0 、c e ) ,l i n u x 等。 e z w a p 可通过w a p 网关全面支持h t t p 及w s p w t p ;完全遵守w a p1 2 ,并向后 兼容w a pl ,1 及以前版本:用户可以用户化s k i n ,以个人化浏览器:j 、f o o t p r i n t ,方便 小设备使用。 5 m 3g a t e m 3g a t e 是由n u m e r i ca l g o r i t h ml a b o r a t o r i e s 开发的浏览器,它有两种版本,分别 用于m i c r o s o f tw i n d o w s9 x m e 2 0 0 0 ,) ( p 和p o c k e tp c s 。如果在p c 中安装有m 3g a t e , 启动p c 时将自动启动m 3g a t e ,接收来自i e 或n e t s c a p e 汉l l 览器的w a p 资源。 m 3 g a t e n 演l j 览w m l $ 1 w m l s c r i p t 页面,它的外壳及使用界面可以由用户定制, 支持w b m p 和p n g 图像格式,支持本地浏览。 6 y e s p a l m 浏览器 它是y e s m o b i l e 公司针对p a l mo s3 0 以上版本研发的w a p 浏览器。 y e s p a l m 同时支持繁体版的大五码及简体版的通用码,使华人使用者可以浏览两岸 三地的中文w a p 网站;为浏览过的网页设置缓存( c a c h e ) ,可以在下次访问时提升速度: 可以添加、管理收藏夹;具有超联接、内容搜索功能;支持多平台功能:支持w t l s ; 5 华中科技大学硕士学位论文 支持 t p 认证( 注意:必须安装中文系统支持) 。 通过以上分析,可以看出w m l 浏览器的发展趋势:操作系统独立性、个性化、中 文化等。 1 操作系统独立性 操作系统独立,即可运行于多种类型的操作系统,适用于移动终端设备( p o c k e t p c 、 p c 伴侣( c e2 0 ,2 0 1 ,2 1 1 ) ) 、嵌入式设备、台式机( w i n9 5 ,9 8 ,n t , 2 0 0 0 ) 等。目前,许 多w m l 浏览器必须在特定的操作系统的支持下运行,这使得w m l 浏览器的应用范围 受到严重限制。最近,数学移动公司推出了种w a r ( 无线应用程序阅读器) 移动互 联网浏览器软件,这种浏览器软件是采用j a v a 语言编写的,由于j a v a 语言的跨平台性, 开发人员无需专门针对特别的平台编写软件。 2 个性化 产品开发的最终目的是面向用户,因此,应更多地考虑到用户的需求,个性化正 是为满足用户的不同需求提出的。用户可以根据自己的喜好,通过个人设定,设置界 面的颜色、背景、音乐、操作界面等:同时,用户可以存储一些常用信息如通讯录等, 在需要时,通过查找和选择即可完成,从而减少文字输入。 3 支持中文 在我国,第三代移动通信系统将投入商用,然而,到目前为止,我国移动电话用 户普及率还不高,距发达国家移动电话用户高普及率的差距还很大,这说明我国将成 为最具发展潜力的移动通信市场。w m l 浏览器支持中文,有助于占世界人口最多的中 国的人民方便地使用w m l 资源,从而开发中国移动通信市场的潜力。 1 3 课题主要研究工作 本文是在华工大精伦软件研究所的项目一一基于l 1 n u x 嵌入式浏览器的基础上 开发。设计以l i n u x 为操作平台,以c 语言为开发语言,用g t k 开发图形用户界面。 浏览器使用i n t e m e t 的h t t p 传输协议,使得嵌入式设备可以通过i n t c m e t 方便地访问w e b 服务器上存在的大量的w m l 资源。 根据嵌入式系统资源受限、体积小等特点和w m l 标记语言的定义,本文研究的内 容主要包括如下几个方面: 1 系统架构:设计合理的结构框架,各个模块功能划分明确,减小模块间的耦合 6 华中科技大学硕士学位论文 度,方便移植。 2 w m l 文档解析:研究w m l 文档的解析算法,尽可能提高解析器的解析效率。 研究汉字编码,使得w m l 浏览器支持中文输灭和显示。研究w b m p 图像格式和 w m l s c r i p t 脚本,并提供相应支持。 3 w m l 事件和任务处理:w m l 通过事件任务标记设置超级链接,达到网络导 航的功能。一般嵌入式设各都提供了简单的键盘和功能键,用户通过操作实现人机交 互,w m l 事件需要用户执行一定的操作来激活,执行任务,它是人机交互的一种重 要方式,因此,w m l 的事件和任务处理好坏关系到浏览器人机交互是否友好。 4 排版显示:提供一种较好的数据结构,便于排版显示。显示界面美观,方便操 作。要能根据显示屏幕的大小自动调整显示内容,从而对获得的文字信息“量身定做”。 当网页内容大于显示屏时,支持页面滚动,方便信息浏览。 7 华中科技大学硕士学位论文 2 系统设计 w m l 浏览器是在j l b r o w s e r 【3 3 1 的基础上设计开发的。本章在简单讨论 j l b r o w s e r 浏览器后,提出了w m l 浏览器的设计思想和总体结构。 2 1 j l b r o w s e r 简介 儿b r o w s e r 浏览器是由华工大精伦软件研究所自主开发的,它是武汉精伦电子 股份有限公司研制的多媒体信息终端的支撑软件。 由于通用信息终端本身物理条件的限制,结合国际国内嵌入式浏览器产品研制现 状,自主开发的儿b r o w s e r 浏览器主要具有以下几个特点: 1 终端屏幕物理尺寸较小,分辨率小于3 2 0 x 2 4 0 ,灰度或黑白显示。 2 终端支持p p p 、t c p i p 等协议,能通过i s d n p s t n 拨号接入i s p 。 3 无鼠标、键盘等类似计算机输入设备。只提供数字键和有限的功能键。 4 代码尽可能精简,占用存储空间小,低功耗。 5 支持中英文双字节字符显示。 6 高稳定性,支持7 x 2 4 小时运行。 7 便于增值开发。 浏览器在嵌入式系统中所占的地位比较重要,其结构往往非常复杂。j l b r o w s e r 的层次结构如图2 1 所示。 图中各部分的功能简介如下: 1 用户界面 用户界面程序即负责接收用户的按键消息( 功能键、数字键、方向键) 以及其它 应用程序发来的控制信息,调用相应的模块以响应用户的各种请求。 2 显示与控制 显示与控制器负责显示由解析器排版的网页,并负责处理页面的滚动、焦点的选 择与进入、动态文字图像的播映,各种控件的输入输出、 及j a v a s c r i p t 对象事件的 处理等。 8 华中科技大学硕士学位论文 图2 1j l b r o w s e r 层次结构图 3 解析器 解析器负责解释h t m l 标记,生成带有排版信息的中间结果,以供显示与控制器 显示输出。对于其中的图像标记i m g ,生成图像处理器所规定的消息,启动图像处理 器来异步处理图像的传输、解码、显示以及动态刷新等工作。对于其中的j a v a s c r i p t 脚 本,调用j a v a s c d p t 解释器来解释执行。 4 j a v a s c r i p t 解释器 j a v a s c f i p t 解释器以解析器生成的脚本作为输入,按照j a v a s c r i p t 语言所规定的语 义来解释执? t j a v a s c f i p t 脚本,并影响网页的显示输出。 5 图像处理 图像处理器按照解析器的要求,经过d n s 解析,建立相应的h t t p 连接,传输i m g 标记所规定的图像原始数据,经过解码之后,按照解析器所规定的位置信息进行输出。 对于动态图像,同时启动相应的动态图像播放器进行动态刷新。 6 缓存管理 缓存管理负责网页、图像及u r l 栈数据的装载、淘汰操作。对用户的每一次请求, 缓存管理模块根据缓存数据决定是否调用网络传输模块,若请求页面不在缓存中,则 调用网络传输模块( 可能需要通过s s l 模块) 从远程w 曲服务器获取数据,并将数据保 存在缓存中;然后调用解析器或图像处理器进行处理。对于不同的缓存数据,分别采 用f i f o ( 先进先出) 、l r u ( 最近最少使用) 淘汰算法进行淘汰。 9 华中科技大学硕士学位论文 7 网络传输 在j l b r o w s e r 中,我们通过i o 多路复用技术,使终端与w e bs e r v e r 之间同时建 立多条虚电路并行传输数据,同时,h t m l 解析器、图像处理器、显示控制器等都采 用了边传输、边解析、边显示的策略来提高j l b r o w s e r 的交互性能。当某个s o c k e t 接收到数据时,即负责唤醒相应的线程进行处理。 8 s s l 负责敏感数据的传输。 9 系统资源管理 主要指内存资源的管理。内存泄漏在嵌入式系统中是致命的,特别是对于浏览器 这种需要长时间运行的应用程序。为此,j l b r o w s e r 采用动态内存预分配策略来解 决内存泄漏问题,即在浏览器启动或在浏览新的页面前,预先分配定数量、特定大 小的内存节点,动态申请内存时,直接从内存节点中分配。每次网页切换时,通过废 料收集回收所有的内存。 j l b r o w s e r 浏览器是一个比较成熟的、功能较齐全的h t m l 浏览器。它支持 h t m l 4 0 的子集;支持j a v a s c r i p t l 1 ;支持多媒体信息终端p b i 所要求的特殊标记与特 殊j a v a s c f i p t 函数如网页内嵌电话标记、i c 卡扣费函数等;对于浏览器界面,提供了网 页浏览、前进、后退、刷新、停止等功能,支持脱机浏览,支持汉字输入,支持灰度 图像( g i f j p e g 格式) 等。 2 2 w m l 浏览器功能概述 w m l 浏览器的主要任务是从网络或本地获取w m l 文档,解析排版后显示给用户, 并响应用户操作。其主要功能有: 1 从远程w e b 服务器或本地文件系统获取网页数据或图像数据。 2 将得到的数据存储在本地缓存( c a c h e ) 中。 3 根据数据的类型( 页面数据及各种格式图像数据) 交由不同解析处理模块处理。 4 w m l 解析器对接收的w m l 网页数据进行解析。w b m p 图像处理器对w b m p 图像进行解析处理。w m l s c r i p t 解释器对w m l 网页中指定的w m l s c f i p t 脚本内容进行 解释执行。 5 在解析数据的同时进行排版。用户改变显示窗口大小时,进行页面重排。 6 显示网页内容,并支持屏幕滚动。 1 0 华中科技大学硕士学位论文 7 对用户键盘事件处理,主要是焦点的处理。支持网页浏览、前进、后退、刷新、 退出等功能键;支持文本框的输入、选择列表选择和按钮事件。 2 3 设计思想 w m l 浏览器的操作系统选用l i n u x 操作系统,并对其进行裁剪。l i n u x 作为嵌 入式操作系统的优点在于:有功能强大的内核,性能高效、稳定,多任务,内核的大 小和功能都可以定制,并且有广大的软件开发者的支持。l i n u x 作为一个优秀的、开 放源码的操作系统,越来越广泛地应用于嵌入式系统【3 “。 鉴于c 语言编写的代码执行效率高,便于移植,并且,l i n u x 操作系统为c 语言的 开发提供了一套完整的编辑、编译和调试工具等特点,浏览器选用c 语言作为开发语 言。 浏览器对图形用户界面有相当的要求,为了使得系统具有较强的兼容性,同时能 够方便现有软件的移植,一个单纯的显示驱动显然是不行的,至少需要一套相关的a p i 用于软件开发。w m l 浏览器的用户界面选用x w i n d o w 和g t k 控件库开发,在l i n u x 开发环境中,g t k f g i m p t o o l k i t ) 是一套用于创建图形用户界面的工具包。它遵循l g p l 许可证,可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不 用花费任何钱来购买许可证和使用权。g t k g n o m e 系y l j w i d g e t s 中,输入和显示是国 际化的,用它们编写中文软件十分容易【3 5 1 。 目前用于w e b 页面访问的应用都是基于h t t p ( h y p e r t e x tt r a n s f e rp r o t o c 0 1 ) 应用协议 的,它对于设计w e b 浏览器等应用软件是必要的。为此,在w m l 浏览器中自行设计和 实现h t t p 1 1 3 6 1 协议,为w m l 浏览器访问w e b 页面提供基本支持。 在功能上,w m l 浏览器和j l b r o w s e r $ 目近,不同的是,j l b r o w s e r 不支持w m l 网页浏览,而w m l 浏览器对w m l 网页浏览提供了支持。w m l 浏览器的设计实现是在 现有儿b r o w s e r 浏览器的基础上进行功能扩充,在不影响j l b r o w s e r 现有功能的 前提下,主要增加对w m l 文档的解析功能、对w b m p 图像的处理功能和对w m l s c r i p t 的解释功能,其中,对w m l 文档的解析功能是设计的重点,另外两个功能是对w m l 浏览器的功能扩充。 w m l 浏览器沿用了几b r o w s e r 的大部分功能模块,必要时对部分功能模块进行 了修改,新增了w m l 解析模块。 在j l b r o w s e r 中,i o 模块负责从远程w e b 服务器或本地文件系统获取网页数据 或图像数据,并将得到的数据存储在本地缓存( c a c h e ) 中,然后,缓存模块根据数据 华中科技大学硕士学位论文 的类型( 页面数据及各种格式图像数据) 交由不同解析处理模块处理。我们称这个根据 数据的类型将数据分发到相应的解析处理模块的函数为类型分发函数,它是w m l 解析 器和w b m p 图像处理器的入口。w m l 文档的m i m e 值为”t e x t v n d w a r ) w m l ”,w b m p 图 像的m i m e 值为”i m a g e v n d w a p w b m p ”,在类型分发函数中,增加这两个m i m e 值的分 发分支。当浏览器解析到数据的m i m e 值为”t e x t v n d w a p w m l ”时,调用w m l 解析器的 入口函数,将网页数据传入w m l 解析器,w m l 解析器将根据w m l 文档语法对网页数 据进行解析。当浏览器解析到数据的m i m e 值为”i m a g e v n d w a p w b m p ”时,调用w b m p 图像处理器的入口函数,w b m p 图像处理器对传入的网页数据按照w b m p 图像格式进 行处理。 w m l 解析器要能够响应用户的按键消息,当浏览器的当前页面为w m l 网页时, 用户按键事件将被w m l 解析器捕捉并作相应响应。 2 4 总体结构 w m l 浏览器的总体结构如图2 2 所示。 天 用户 图2 2w m l 浏览器总体结构 整个系统划分为五个大的功能模块:数据传输模块、缓存模块、解析模块、显示 模块和用户交互模块。其中数据传输模块、缓存模块、显示模块和用户交互模块部分 或完全借用了几b r 0 w s e r 浏览器中的相应模块,解析模块是w m l 杖i 览器设计的重 点,它由一个w m l 解析器、一个w b m p 图像处理器和一个w m l s c r i p t 解释器组成,由 于w m l 和h t m l 之间的关联性,w m l 解析器的处理方式和h t m l 解析器有许多类似 同时又有很大的不同,相关内容将在下一章中进行详细介绍。 从w m l 浏览器的总体结构图可以看出各模块间的交互关系: 1 2 华中科技大学硕士学位论文 1 用户向w e b 服务器发请求 用户发出请求,用户交互模块将请求( u r l 、g e t 、p o s t 等) 提交给缓存模块。缓 存模块检测该请求所请求的数据是否在本地缓存,若不在本地缓存,将请求发送到数 据传输模块,数据传输模块通过网络将请求发送给相应的w 曲服务器。 2 从网络获取数据并缓存 数据传输模块通过网络接收w 曲服务器对用户请求的响应或从本地文件获取请求 的数据,缓存模块将数据传输模块获取的数据缓存到本地缓存。 3 数据解析 缓存模块将缓存的网页数据提交给解析模块,相应的解析器或图形处理器对网页 数据进行解析排版,将中间结果再次缓存到缓存模块。 4 显示 缓存模块将解析排版的中间结果提交给显示模块,显示模块根据中间结果将网页 数据显示到屏幕上。 5 用户交互 用户浏览显示信息,并可进行键盘或功能键操作。用户交互模块将用户操作传输 到解析模块,触发解析模块的某一事件,产生新请求,传入缓存模块。 2 5 本章小结 本章从总体的角度讨论了w m l 浏览器设计。首先,简要介绍了华工大精伦软件研
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮分析测试题及答案
- 彩螺服饰测试题及答案
- 针灸学治疗考试试题及答案
- 沿海三副考试试题及答案
- 航海操作考试题及答案
- 2025年甘肃省委宣传部直属事业单位选聘考试试题(含答案)
- 2024年中西医结合临床执业医师卫生资格定期考核题库(附含答案)
- 北京消防培训知识课件
- 护理查房复习试题及答案
- 传染病及突发公共卫生事件培训测试题(附答案)
- 2018年山东中考语文现代文之说明文阅读10篇
- 本科病理生理学期末考试试卷 2023
- (中职) 化学分析技术11项目十一化学需氧量的测定教学课件
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 26480-2011阀门的检验和试验
- GB/T 19861-2005丙烯酸系阴离子交换树脂强碱基团、弱碱基团和弱酸基团交换容量测定方法
- GB/T 11085-1989散装液态石油产品损耗
- GB 30000.3-2013化学品分类和标签规范第3部分:易燃气体
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
评论
0/150
提交评论