




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)嵌入式浏览器底层的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学拉论文 摘要 f 瓣罄嵌入戏技术秘透褥潮兹诀遽麓震,嵌入式潮络应蔫产品魏黼后春笋般涌现 出来。嵌入式浏览嚣馋为其中靛个黧要盛燧软终,焱有非絮广阉的应鼹兹聚。裂 目前为止,国内外厂商开发了许多嵌入式测览器,很踟于嵌入忒系统专用饿、多样 瞧翁褥鑫,没蠢一器鼗八式浏楚器憩够滚逶搿窍嵌入慕系绞羚簧袁; 我们设计的嵌入溅浏览嚣由动态内存管理、i o 子系统、缓存管理、h t m l 解 辑、辩舨显示帮器瑟交互组臻;其串,蔚三者梅成澍瑟器黪寐层,嚣三者统称为表 理屡。底层懿设计髫椿是:逡效列鼹遴存资源,提高数据传输性能,提供麓效靛缓 存管理,保证照好的可移植性。底层娥嵌入式浏览器设计和冀现的冀点。0 搬入式漓魏器是个圈终斑雳程黪,溺终延迟会严重彩蟪嵌入式溯蔓器熬速篷 和交甄性。谯分析了几种常用的网络传输模型的基础上,设计了用线程和模拟信号 驱动i o 撩镶食黪缀念簧翰搂鍪,该模鍪髹谣爨笕躲豹妻控浅程不会透蹰妫雨随 塞且熬蹙了网终延迟时闻,提糍了测撼器性熊。缓存怒一静利用空阍换取慰溺鲍技 术,邋过采用内存缓稃技术对嵌入式浏览器中三种重薅数据进行缓存和管理,设计 7 合理窝裹效姻缓存溜汰算法,疆毫了鼹页谤海遮密。铮鼹鼗入式搽终系缝榴蹲蕊 单的内存管理容易产生的问题,引入嵌入式浏跹器自融的动悉内存管理模块,提出 磅态内存羲分凝蓑珞,释决了漆存碎片秘密存淫嚣簿阉逶,确绦嵌入或溺蔓嚣能够 长时刚稳定运行。 关键满;嵌入式系统;嵌天式溅踅器;超文零捷输协滚;缓券餐瑾;动态感襻营莲 华中科技大学硕士学位论文 一= # = ;# = = = = t _ ;= _ _ = = = _ = ;= _ = = = # = a b s t r a c t w i t ht h er a p i dd e v e l o p m e n t o fe m b e d d e dt e c h n o l o g ya n di n t e r n e t , e f n b e d d e dn e t w o r kp r o d u c t s h a v ee m e r g e dj u s t li k eb a m b o os h o o t sa f t e ra s p r i n g r a i n t h ee m b e d d e d b r o w s e rw h i c hi sa ni m p o r t a n tc o m p o n e n t o f e m b e d d e dn e t w o r kp r o d u c t s h a st h ew i d e a p p l i c a t i o n p r o s p e c t s o m e c 。r d o r a t i o n s b o t h d o m e s t i ca n do v e r s e a sh a v ed e v e l o p e dm a n y e m b e d d e d b r 。w s e r s u p t on o w 。h o w e v e r ,n o n e o ft h e mc a l lf itt h ed e m a n d o fa l l e m b e d d e ds y s t e m sf o rt h ee m b e d d e ds y s t e m i sa p p r o p r i a t i v ea n dv a r i o u s w ed e s i g n a ne m b e d d e db r o w s e r w h i c hi n c l u d e sd y n a m i cm e m o r y m a n a g e m e n t m o d u l e ,c a c h em a n a g e m e n t m o d u l e ,1 1 0s u b s y s t e m ,h t m lp a r s i n g m o d u l e ,t y p e s e t t i n g a n d d i s p l a y i n gm o d u l e ,i n t e r f a c e m o d u l e t h ef i r s t t h r e ep a r t sm a k eu po ft h e b o t t o ml a y e r ,a n dt h el a s tt h r e ep a r t sm a k e u p 。f t h e p r e s e n t a t i o n l a y e r t h e b o t t o m i a y e r sg o a l i sa sf o l l o w s : u s i n gm e m o r y r e s o u r c ee f f i c i e n t l y ,i m p r o v i n gt h es p e e do fd a t at r a n s f e r , p r o v i d i n ge f f i c i e n t c a c h em a n a g e m e n t ,a s s u r i n gg o o dp o r t a b i l i t y 。w ef o c u s o nt h ed e s i g na n di m p l e m e n t a t i o no ft h eb o t t o ml a y e r t h ee m b e d d e db r o w s e ri s an e t w o r ka p p li c a t i o n n e t w o r kd e l a y sa f f e c t s d e e da n di n t e r a c t i o no f t h ee m b e d d e db r o w s e r b a d l y a f t e ra n a l y z i n g g e n e r a ln e t w o r kt r a n s f e rm o d e l s ,ah y b r i d t r a n s f e rm o d e lu s i n gt h r e a d s a n ds i m u l a t i r es i g n a ld r i v e ni 0 i s d e s i g n e d t h eh y b r i dt r a n s f e r m o d e i a l l o w s n o n b l o c k i n g m a i nt h r e a da n d o v e r l a p s t h en e t w o r k d e l a y s c a c h i n gi sam e t h o do ft r a d i n gs p a c ef o r t i m e w ea d o p tm e m o r yc a c h et o b u f f e rt h r e ek in d so fi m p o r t a n td a t ai nb r o w s e r ,a n dd e s i g nr e a s o n a b l e a n dv a li dc a c h er e p l a c e m e n t a l g o r i t h m i nt h i s w a y ,t h es p e e d o fw e b l l 华中科技大学硕士学位论文 = = = = = 2 = 自= ;= = ;= ;目= # ;= = = = b r o w sin gis i m p r o v e d m e m o r ym a n a g e m e n to fm o s te m b e d d e d o p e r a ti n g s y s t e m so f t e n b r i n g s o ns o m e p r o b l e m s w e d e s i g nd y n a m i c m e m o r y m a n a g e m e n t m o d u l ef o r t h ee m b e d d e d b r o w s e r ,a n dp r e s e n t d y n a m i cm e m o r y p r e a l l o c a t i o ns t r a t e g y ,w h i c ha v o i d s m e m o r yf r a g m e n t s ,m e m o r yl e a k sa n d s oo n t h u st h ee m b e d d e db r o w s e rc a nw o r k s t a b l yf o ral o n gti m e k e yw o r d s :e m b e d d e ds y s t e m ;e m b e d d e d b r o w s e r ;b t t p ;c a c h em a n a g e m e n t d y n a m ic m e m o r ym a n a g e m e n t 华中科技大学硕士学位论文 1 绪论 1 1 课题背景 随着以计算机技术、通讯技术为主的信息技术的快速发展,计算机的发展已显 示出微型化和专业化的趋势,以台式计算机为主流的时代进入了后p c 时代,同时 嵌入式系统逐渐成为计算机领域中一个热门的发展方向。嵌入式系统具有非常广 泛的应用领域,它可以应用于包括工业控制、信息家电、交通管理、掌上电脑、消 费电子、医疗设备、电动机械系统和机器人等领域”。 自上个世纪9 0 年代以来,因特网的迅猛发展给嵌入式产品注入了新的活力, 进而导致了一场嵌入式产品设计革命。嵌入式网络应用产品如雨后春笋般涌现出 来,嵌入式系统与因特网的结合代表着嵌入式技术的真正未来“。其中,嵌入式 浏览器作为连接到因特网上的嵌入式产品获取信息的主要界面,成为了这些嵌入式 产品中最主要的应用软件,甚至有可能是惟一的、直接支持的应用软件“1 。 嵌入式浏览器具有非常广阔的应用前景。嵌入式浏览器可以应用于手持终端设 备,例如上网手机、个人数字助理和m p 3 播放器等;信息家电也是嵌入式浏览器 的应用方向,如智能电话、i n t e r n e tt v 、数字电视机顶盒等各种信息电器等”3 ; 另外,嵌入式浏览器在工业控制和军事等领域也有一定的应用需求。国内外许多厂 商看到了嵌入式浏览器的市场前景,纷纷投身其技术开发。到目前为止,已经有一 些市场化的嵌入式浏览器产品出现。但由于嵌入式系统具有专用性、多样性等特 点,没有一种嵌入式浏览器能满足所有嵌入式系统的要求。所以开发一个精简、高 效、界面美观且功能齐备的嵌入式浏览器具有实际意义。 本课题来源于华工大精伦软件研究所的项目“基于n u c l e u s 操作系统的嵌入 式浏览器”,开发的嵌入式浏览器j l b r o w s e r 将应用于新一代的多业务公用通信 终端。多业务公用通信终端是i c 卡电话终端与因特网接入终端、数字信息处理终 端的集成,提供电话服务、新闻浏览、收发邮件、电子商务和信息查询等服务。嵌 入式浏览器是多业务公用通信终端开展多项服务的平台。 i 华中科技大学硕士学位论文 1 2 国内外概况 1 2 1 嵌入式系统概况 嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应 用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。由此 可见,嵌入式系统是一个外延很广的概念,凡是与产品结合在一起的具有嵌入式特 点的控制系统都可以称为嵌入式系统。 从最初的以单片机技术为核心的系统到目前建立在微处理器和嵌入式操作系统 基础之上的系统,嵌入式系统经历了3 0 多年的发展。在这其中,嵌入式操作系统 的出现是嵌入式系统发展史上的一个重要里程碑。嵌入式操作系统负责管理应用系 统的全部软、硬件资源的分配和调度“0 1 ,大大减轻了开发工作。现在人们提到嵌 入式系统时,某种程度上就是特指近年来发展起来的具有操作系统的嵌入式系统, 本文后面提到的嵌入式系统将沿用这一观点。 嵌入式系统由下面几部分组成: 硬件设备平台:硬件设备平台包括嵌入式微处理器和外围设备。嵌入式微处理 器是嵌入式系统硬件中核心组成部分。目前主要的嵌入式微处理器类型有m i p s 、 p o w e r p c 、6 8 k 、x 8 6 、a r m 、s c 一4 0 0 等。外部设备包括显示设备、网络设备、存储 设备、输入设备、音频设备等,具体的嵌入式系统的外部设备由应用需要决定。 嵌入式操作系统:嵌入式操作系统是嵌入式系统的灵魂,它主要负责管理系统 资源、调度任务运行、处理进程间通信、提供同互斥机制、中断处理等”。”3 。嵌入 式操作系统一般采用微内核技术,非常小巧。实时性是嵌入式操作系统的另一个重 要特征。目前主要的嵌入式操作系统国外有v x w o r k s 、w i n d o w c e “3 1 、p a l mo s 、 l y n x o s 、p s o s 、n u c l e u s 3 、q n x 、uc o s - i i “等,国内有h o p e n 、d e l t a o s 等。 功能模块及应用程序:功能模块及应用程序都运行在嵌入操作系统之上。功能 模块一般由嵌入式操作系统开发厂商提供,包括文件系统模块、网络模块、图形用 户接口模块等,它可以针对具体嵌入式系统的应用进行选择或者裁剪。 信息时代的到来为嵌入式系统的发展提供了巨大的机遇,为嵌入式市场展现了 2 华中科技大学硕士学位论文 美好的前景。未来的嵌入式系统将会有两大发展趋势,即网络互联与提供友好的人 机交互界面。 1 2 2 嵌入式浏览器发展现状 嵌入式浏览器没有一个准确、严格的定义,但从其可以完成的功能来看t 可以 从两个方面进行描述。首先,它是一个网络信息浏览器,必须支持h t t p 或者w a p 等其它传输协议、支持h t m l 、j a v a s c r i p t 或扩展x m l 、w m l 等标记语言,可以完 成网页的浏览功能;其次,这个浏览器必须适合在嵌入式设备中存在、实现通讯传 输协议、标记语言所规定的功能,必须能够根据嵌入式设备需要方便地进行裁减和 修改,并满足信息设备使用者对获取文字、图像、声音、视频等信息的需求。 嵌入式网络应用产品的广泛应用促进了嵌入式浏览器的迅速发展。迄今为止, 比较著名的嵌入式浏览器已有数十种:国外有美国t h r i v en e t w o r k st e c h 公司的 i p a n e l 浏览器、美国a t i 公司的n u c l e u sw e b b r o w s e r 、美国m i c r o s o f t 公司的简 化版i e 、美国m i c r od i g i t a l 公司的m i c r o b r o s e r 、a c c e s sn e t f r o n t 浏览器及 w e s t 浏览器等,国内的嵌入式浏览器有北京中科红旗软件技术有限公司的红旗 嵌入式浏览器、清华大学的t h e w e b “”浏览器、深圳亿赛科技的e l o o k 浏览器和北 京科银京成技术有限公司的d e l t aw e b b r o w s e r ”等。 嵌入式浏览器按照其运行平台可分为两类,即平台相关浏览器和平台无关浏览 器。平台相关浏览器一般由嵌入式操作系统厂商开发,作为嵌入式操作系统的一个 功能模块供嵌入式系统开发者,如微软公司的简化版i e 和a t i 公司的n u c l e u s w e b b r o w s e r 等。平台相关浏览器是根据特定的嵌入式操作系统设计的,一般性能 比较好、稳定性较高,但是大多数层次化设计程度不高,不易于移植。 平台无关浏览器由专门的嵌入式浏览器厂商开发,它不依赖于特定嵌入式操作 系统,如t h r i v en e t w o r k st e c h 公司的i p a n e l 和a n tl i m i t e d 公司的a n t f r e s c o 等浏览器。该类浏览器的优点是进行了较好的层次化设计,适合于移植到 多种嵌入式平台。但平台无关浏览器一般只提供核心模块( 如h t m l 解析和排版) 和设计了模块间接口,要使移植后的浏览器具有较高的性能,某些模块( 如网络传 输和显示模块) 必须结合特定的操作系统进行重新设计和优化。 以上的两类嵌入式浏览器共同的缺点还有:没有针对特定的显示设备进行优 3 华中科技大学硕士学位论文 化;绝大多数嵌入式浏览器不提供源代码,无法进行移植和修改;国外嵌入式浏览 器除简化版的i e 和i p a n e l 外大都不支持包括中文在内的双字节语言显示;还有 一些嵌入式浏览器代码过大,对硬件资源要求比较高等。这些都是导致浏览器产品 虽然出现了很多,但是实用化程度不高的原因。 下面列举几种嵌入式浏览器的主要技术指标: 1 i p a n e l 浏览器 i p a n e l 浏览器由美国t h r i v en e t w o r k st e c h 公司开发。它是一个功能较强 的嵌入式浏览器,比较容易移植到多种嵌入式系统平台。但i p a n e l 对系统资源要 求较高,一般只适用于某些对资源不是非常受限的嵌入式系统。主要技术指标如 下: 代码小于3 0 0 k b ,标准版需1 5 - 2 m b 内存 支持h t m l 4 0 ,支持h t t p i 1 支持c o o k i e s 、j a v a s c r i p t l 3 和s s l 3 0 支持中、日、韩等双字节字符显示 ( 参考网址:h t t p :p r o d u c t s d t a l m a t i o n c o m d e v e l o p m e n t d m 9 7 4 0 9 5 9 5 8 h t m l ) 2 n u c l e u sw e b b r o w s e r n u c l e u sw e b b r o w s e r 是由a t i 公司开发的基于n u c l e u s 操作系统的浏览器。 浚浏览器依赖于n u c l e u sg r a f i x 和n u c l e u sn e t 等功能模块。它不支持c o o k i e 和 a v a s c r i p t 等技术,功能较弱。主要技术指标如下: 支持h t m l 3 2 子集,支持h t t p i 0 和f t p 客户端 支持j p e g 、g i f 和动态g i f 图像格式 支持f r a m e s 和t a b l e s 支持p o p 3 和s m t p ( 参考网址:w w w a t i n u c l e u s c o m p r e s s r e l w e b b r o w s e 9 8 h t m ) 3 m i c r o b r o w s e r 浏览器 m i c r o b r o w s e r 是m i c r od i g i t a l 公司开发的基于s m x 操作系统的浏览器。该 浏览器网页显示部分依赖于s m x p e g ,数据传输依赖于s m x n e t 和s x f i l e 。不支持 4 华中科技大学硕士学位论文 中文,单线程下载网页。主要技术指标如下: 程序代码最小2 6 0 k 左右,最小运行内存2 1 0 k 支持h t m l 4 0 子集,支持h t t p i o 1 1 ,支持s s l ,内嵌f t p 客户端 支持f o r m s 、t a b l e 、f r a m e 和多窗口 支持g i f 、j p g 和动态g i f 三种图片格式 支持c o o k i e 、c a c h e 和j a v a s c r i p t ( 参考网址:h t t p :w w w s m x i n f o c o m r t o s t c p i o g m b p b h t m ) 4 a n tf r e s c o 浏览器 a n tf r e s c o 是a n tl i m i t e d 公司开发的嵌入式浏览器。该浏览器采用三层结 构,分别是用户界面层、f r e s c o 核心层和a n t 可移植环境层。a n tf r e s c o 移植工 作量较大,可移植环境层需要针对具体平台重新设计。主要技术指标如下: 支持h t m l 4 0 1 、h t t p i 0 和代理 支持g i f 、j p e g 、p n g 、x 聃图像格式 支持多窗口、t a b l e s 、f r a m e s 和c o o k i e 支持p l u g - i n 技术,其接口与n e t s c a p e 接口兼容 ( 参考网址:h t t p :w w w a n t l i m i t e d c o m p r o d u c t s f r e s c o h t m l ) 12 3 嵌入式浏览器关键技术 嵌入式浏览器主要包括以下关键技术: 1 网络传输 h t t p 协议是种最基本的客户机服务器的访问协议。h t t p 协议是浏览器和 w e b 服务器之间的通信协议,是通用的、无状态的、面向对象的协议,当前的最新 版本是h t t p i 1 标准。因为基于h t t p 协议的w e b 服务是因特网上使用最多的信息 服务,所以大部分的嵌入式浏览器都是基于h t t p 协议的。通过h t t p 协议的数据 传输存在几个比较严重网络延迟“,导致了网络传输成了浏览器的主要瓶颈,简 化版的r e 和n u c l e u sw e b b r o w s e r 等浏览器采用了多线程技术实现h t t p 协议来提 高传输速度。在嵌入式浏览器中,网络传输还需要通过s s l 协议来保证敏感数据 传输的安全性“1 。 2 h t m l 解析 华中科技大学硕士学位论文 h t m l ( h y p e r t e x tm a k e u pl a n g u a g e ) 语言规范是因特网上进行信息交换的最主 要语言之一“。它是标准通用标注语言s g m l 的一个应用,其特点是使用标记( t a g ) 表示内容的结构和显示的方式。3 川。h t m l 的最新版本是h t m l 4 0 1 标准。h t m l 语 法定义包括元素、属性、注释和其它字符数据内容。嵌入式浏览器一般支持 h t m l 3 2 或h t m l 4 0 的某个特定子集。h t m l 解析是浏览器的主要工作之一,它是 将h t m l 文档的流式数据结构化的过程“”。h t m l 解析过程分为词法分析、语法分 析、语义处理这几个步骤。“。词法分析从字符流中识别出有意义的符号( t o k e n ) , 然后依据h t m l 语法确定这些符号之间的语法关系,最后将解析结果以语法树的形 式保存。 3 缓存管理 各种缓存技术目前已被广泛应用于w e b 信息获取过程中,以求减少i n t e r n e t 的网络负载和提高响应速度,浏览器缓存是网络缓存的一种“。为了提高网页访 问速度,浏览器对最近访问过的网页进行存储,当再次请求这个页面时,浏览器就 可以从本地读取网页,这样就可以加速网页的显示。是否提供缓存已成为衡量嵌入 式浏览器性能的一个重要指标。简化版的i e 、i p a n e l 和m i c r o b r o w s e r 等嵌入式 浏览器都实现了对缓存的支持。因为嵌入式系统资源受限的特点,缓存淘汰”93 ”是 嵌入式浏览器缓存管理的一个重点。 4 j a v a s c r i p t 支持 j a v a s c r i p t 语言是一种扩展h t m l 的脚本设计语言。“3 。j a v a s c r i p t 可实现一 种实时的、动态的、可交互的表达能力,使浏览器和用户之间已不再是一种单纯的 显示和浏览的关系”。j a v a s c r i p t 作为h t m l 文档的一部分出现,增加了w e b 页 面的动态性和浏览器的交互性。j a v a s c r i p t 能让网页开发者更有效地控制页面, 并能对用户触发事件作出即时响应,而且这些都不需要浏览器与w e b 服务器进行 通讯,这样为用户提供了更快速的操作。目前的嵌入浏览器一般提供对 j a v a s c r i p t 不同程度的支持。 5 c o o k i e 技术 c o o k i e 是对h t t p 协议的一种补充,它是h t t p 协议的状态管理机制1 。 c o o k i e 允许h t t p 服务器在客户端保存信息并且随后再取回它:当服务器将网页数 6 华中科技大学硕士学位论文 据传送至浏览器时,服务器通过h t t p 协议的响应头传送一些信息给浏览器;当浏 览器再次请求网页时,浏览器将这些信息通过h t t p 请求包传回给服务器。c o o k i e 机制是开展电子商务的基础,嵌入式浏览器实现对c o o k i e 的支持可以增强嵌入式 系统的功能。i p a n e l 和m i c r o b r o w s e r 等浏览器都支持c o o k i e 技术。 1 2 4 嵌入式浏览器的发展趋势 嵌入式浏览器的有三大发展趋势: 1 嵌入式浏览器将呈现百花齐放的局面 由于嵌入式系统分散性和多样性的特点,设备生产厂商在芯片选择、系统功能 定义、显示设备特性、耗电限制方面会有许多不同的要求,没有一种嵌入式浏览器 能满足所有嵌入式系统的要求,因此嵌入式浏览器市场不会出现象微软的i e 在p c 市场上的垄断局面。嵌入式浏览器必然会出现个精彩纷呈、百花齐放的局面。 2 嵌入式浏览器将成为某些嵌入式系统的核心组成部分 嵌入式浏览器能够提供信息浏览、收发邮件、电子商务等重要功能,其他应用 如交互式游戏、办公软件、在线通讯等,都可以通过浏览器的插件技术或者直接用 j a v a s c r i p t 等脚本语言来实现。可以预见嵌入式浏览器将成为因特网环境中软件 系统的基础和应用开发平台。这意味着在一些嵌入式系统中,操作系统的核心地位 和图形用户界面的开发接口作用在逐渐淡化,嵌入式浏览器将成为系统的核心。 3 嵌入式浏览器将拓展其应用模式和领域 嵌入式浏览器技术除继续跟随h t m l 、h t t p 、s s l 、j a v a s c r i p t 等协议或语言 的新版本继续升级以支持更多的应用外,还在继续拓展其应用模式和领域。比如一 个主要的技术发展热点是将浏览器技术和数字电视机顶盒技术进行集成,实现完整 的数字电视软件平台。另一个技术发展热点是浏览器技术和j a v a 技术的结合。 3 a v a 语言轻量级的字节码、高度的可移植性、严格的规范以及完善的安全机制都 使得它非常适合于作为嵌入式设备的开发”。 1 3 课题主要研究工作 本论文在分析嵌入式浏览器的总体结构基础上,针对嵌入式浏览器的底层设 计,研究如何提高网络传输速度、高效利用浏览器缓存、优化嵌入式浏览器的动态 7 华中科技大学硕士学位论文 内存管理来提高嵌入式浏览器的总体性能,进而实现一个具有完全自主知识产权的 高性能嵌入式浏览器。 本论文的主要研究工作如下: 1 对嵌入式浏览器进行总体设计并对其进行分层,确定底层各模块的设计目标 和主要功能。 2 研究h t t p 协议和c o o k i e 协议:分析网络传输对嵌入式浏览器的影响;结 合嵌入式操作系统网络功能模块的特点,设计一种良好的i o 传输模型,保证嵌 入式浏览器良好的交互性和多个t c p 连接同时进行传输。 3 研究嵌入式浏览器缓存技术,设计和实现的缓存管理模块,要求重点研究缓 存淘汰策略以便高效率地利用有限的内存缓存空间,提高嵌入式浏览器的网页访问 速度。 4 设计和实现嵌入式浏览器自己的动态内存管理模块,解决浏览器长时间运行 会引起的内存碎片及可能的内存泄漏问题,确保嵌入式浏览器能够长时间不问断地 运行。 一 8 华中科技大学硕士学位论文 2 嵌入式浏览器结构及分层 嵌入式浏览器是一个结构复杂的应用程序,合理的模块和层次划分是实现浏览 器的关键。本章首先介绍了嵌入式浏览器的总体目标,然后重点分析了嵌入式浏览 器总体结构以及各组成模块的功能,最后阐述了嵌入式浏览器的分层设计思想。 2 1 嵌入式浏览器总体目标 嵌入式浏览器要实现以下的目标: 1 程序精简,二进制代码小于6 0 0 k ,对硬件要求低: 2 支持h t m l 4 o 特定子集; 3 支持f o r m s 、t a b l e 和f r a m e : 4 支持图片链接和和书签; j 支持h t t p l 0 1 1 协议,通过o p e n s s l 支持s s l ; 6 支持c o o k i e : 7 支持b m p 、j p e g 、g i f 、x b m 、f l a s h 等图片格式; 8 支持中文等双字节字符显示、t 9 中文输入法: 9 稳定性高,能长时间运行; 1 0 可移植性好; l i 界面友好,交互性好; 1 2 平台化软件设计,便于增值开发。 2 2 嵌入式浏览器总体框架 2 2 1 嵌入式浏览器结构图 图2 1 是嵌入式浏览器的总体结构图,图中的键头指向表示各组成模块间的 调用关系。嵌入式浏览器的模块划分将关联不大的各个部分从形式上独立开来,这 样每个组成模块可以根据各自的功能要求进行独立的设计,从而有利于整个浏览器 的性能优化。 一_ 一 q 华中科技大学项士学位论文 图2 1 嵌入式浏览器结构图 2 2 2 嵌入式浏览器各模块描述 1 数据传输模块 数据传输模块负责嵌入式浏览器对外的数据输入输出,它是整个嵌入式浏览器 的基础。对于远程w e b 服务器上的网页,数据传输模块通过h t t p 协议获取网页数 据;对于本地文件网页,数据传输模块通过文件系统接口读取网页数据。数据传输 模块还按照r f c l 8 6 7 协议上传数据给远程服务器,上传的数据通常包括普通文件 数据和语音压缩数据等。数据传输模块将获取的数据保存在缓存中供其它模块使 用。数据传输模块由界面交互模块调用。 2 u r l 管理模块 u r l 管理模块负责u r l 解析和u r l 分类处理。u r l 解析包括解析u r l 各组成部 分和u r l 相对地址与绝对地址间转换。网络文件和本地文件都是通过u r l 来标识 的,u r l 分类处理就是按照u r l 的类型调用不同的数据传输子模块进行数据传输。 1 0 华中科技大学硕士学位论文 u r l 管理模块由数据传输模块调用。 3 c o o k i e 模块 c o o k i e 模块负责嵌入式浏览器h t t p 传输的状态管理。在进行网络传输过程 中,构造h t t p 请求包和解析h t t p 响应头都会调用c o o k i e 模块。c o o k i e 模块是实 现电子商务、页面限制访问、站点的访问统计、页面的个性化等功能的基础。 c o o k i e 模块由数据传输模块调用。 4 s s l 模块 s s l 模块负责在嵌入式浏览器和远程w e b 服务器之间建立安全通道,并在安全 通道上进行数据传输。通常在进行敏感数据的网络传输时,s s l 模块被调用。 5 缓存管理模块 缓存管理模块主要负责缓存和管理已获取的网页数据、图像解码数据和用户填 写的表单数据。当用户进行页面请求时,浏览器首先调用缓存管理模块,如果网页 数据已经在缓存中就直接读取数据传递给解析模块,这样就减少了数据传输次数从 而提高了访问速度。同样地,缓存模块保存图像解码数据和用户填写数据能够减少 解码次数和用户填写表单的次数,从而提高浏览器的速度。缓存管理模块的另一个 功能是按照网页数据的类型将数据分发给相应的处理模块进行解析。 6 h t m l 解析模块 h t m l 解析模块是嵌入式浏览器的一个核心组成部分。h t m l 解析模块按照h t m l 的文法规范进行词法分析、语法分析和语义分析三个步骤,最终生成页面对象供排 版显示模块使用。在嵌入式浏览器中,h t m l 解析模块需要具有良好裁剪性和容错 性。因为 a v a s c r i p t 脚本解析可看作是h t m l 解析的一个扩展,所以j a v a s c r i p t 脚本的解析也成为h t m l 解析模块的一部分。j a v a s c r i p t 解析与h t m l 解析类似, 它是按照7 a v a s c r i p t 的文法规范将j a v a s c r i p t 脚本解析成中间结果并执行。 h t m l 解析模块由缓存管理模块调用。 7 图像数据解析模块 图像数据解析模块负责解码多种格式的图片数据。图像的解码结果通常是点阵 数据,图像数据解析模块将解码后的数据保存在缓存中。嵌入式浏览器支持的图片 格式有b m p 、j p g 、p n g 、w b m 和g i f 等。随着对嵌入式浏览器的功能要求越来越 i l 华审辩技太攀硕士攀位论文 浅,爨檬数瓣鬃掇骥块还要燕特f l a s h 等交镑格琏。懑豫数撼籁攒摸块要漤辘嚣 嚣青餐蛾扩震,鞭霞爨潦耨辩灏像鞯式。 8 。攥敝露黍模块 摊舨漫汞壤浃按熊暴薅爨污鼍设备靛将煮,蹿h t m l 解析耩块的解褥结暴进行舍 懋缝织调整,玺残霹袋鼹示趸灏游象,菸镶麓零澎系绞将冀输爨在鬟零设餐土。接 敝最求模块中鹣摊敝辣汝是测魏器藏确照示潮页豹荧键。 。器蠢交曩模块 器鞭交互模块受赞接收秘她理用户蠢令并向其寅功能模块发出控制信息。界西 赞要臻浚筵嵌入满羹器麓灏户澜翡凌辆,宅熟浚谤帮安疆簧班款葑易矮隽疆禄。焱 入式蒙统逶零没蠢瓣键盘嬲藏标,露必有霓个麓攀戆凌憩挞魁键,掰以赛嚣交要 耩块个重要瓣疆务勰爨楚理麓麓赣辩篪瘸。 i 巷。臻态泠豢警毽穰袋 动态漆存篱灌受鬻嵌入式溺滗嚣搿麓动态巍存串请鞴鞯敞。凑惑内存管疆模块 怒潮蘸器黥一令臌务揍绥,蜜冒强簿凌斑存零请释菔暴绫调磺灏繁、浏煎器长潜淹 逡行孳i 超鹃内襻簿片翻内存灞漏等翔髓,甄弼保证嵌入式浏揽器的稳定性。 2 ,2 。3 嵌久式粼邃器纛稼渡瀑 遐户馒建嵌入式测焚器醛会淘器露交蔓摸块发爨鼹静鹰户余令,鄹谴袋勰瓣贾 露令您舔箨娄簿鬻页龠令。清求耨鼷焚惫令霞糕点壹趣缓链攘、瓣掇藤避、掰凝螽 邋、捌耨鼹葵黎涛淹遮攮栏u r l 等藕龛令。爨谬受蘸瓣炎愈令毽旗逡土滚淤爨 蕊、溺下滚动髑凝、避入控韩攥熹帮箨斑当辩镄输礴缀等蜀户谢令。戳上嚣耱糟声 愈令套孳i 起嵌入琏满煎器蜀释不麓静互律流耩; 赛溺交互镞块接收粥请求耕髑页掰产命令丽,调耀缓存模块去请求新的隔筒; 缓毒援壤寝据瑟经缓容稳鼗嚣淡定楚黉潺焉数攫终输攘臻,港请求燹蠢不谯溪誊 中,剃魑动数据健输模块;数瓣传输模块从避撩w e b 服务器域者本地文件寨统中 获辍瑟瑟数据( 嚣程溅贾簧羧西髓蔫簧满麓c o o k i e 模块帮s s l 凄块,舞将羧爨爨 移在缀露中:然麓缓襻模块调麓h t m l 解析摸块鹅攒h t m l 文_ 本数据,或者调用图 镲数爨煞辏模块处理嚣像数恭;攫禹溺懋显器援块撩瓣褥嬉慕辕窭农鼹蒙浚器主。 嚣瓣突互横块接救烈操撵爨藏嬲觳鑫令艏,誊接镧鹚摊黢攫示攒块遴学然毽。 2 华中科技大学硕士学位论文 : = =:盛= 喾皇= 拳雀端= 篁皇掣黼篇皇= 鞠瞄薯岩= 掌高辫昔昌毒篇搿罱昌= 喾霜黼皇昌宣= 目瑞 排版盛示模块根据命令类型修改浏览器的内部页面对象,并蘧新将页面对象履示出 来,修改的内部页面砖象通鬻是指页两韵逶辑坐标戳及当前控件焦点等。排版显示 模块在处理控件焦点切换时,肖时会触发注魃的j a v a s c r i p t 脚本程摩。 2 3 嵌入式浏览器的分层 嵌入式浏魏器的掰有功能模块分为两层:嵌入式浏览器表现层和嵌入式浏览器 底层,分刘麓称为表现层积底层。 袋现层由所有能被用户直接感知的功能模块组成,包括界面交嚣模块、排版显 示模块、h t m l 解橱模块和嚣像数箨瓣辏模块。其中赛瑟交鐾模块给用户提供操绺 界面,排版显示模块则给用户提供网硪视觉效果,将h t m l 解析模块划分在袭现层 是匿为挂罩跹孵耩筷块与簿鞭显示模块联系嚣鬻紧密、不可分誉。袭现屡是嵌入式 浏览器的外在寝现,所以表现层的设计和实现的目标是:尽可能地提供给用户大方 美蕊鹩羿蠢、菠确豹弼页显示效采戳及友努耱交互平台。 底层由所谢不能被用户直接感知的功能模块组成,包含数据馋输模块、u r l 管 理模块、c o o k i e 模块、s s l 模块、缀存管理模块和动态内襻管理模块。在嵌入式 浏览嚣中,底鼷酶传爝是给表现层提供支撑。底层静没诗直接决定着整个淄楚器静 性能,所以底艨的设计和实现的目标魁:充分离效地利用内存资源,提高数据传输 性韪,涎供裹效静缓存管理,保汪良簿懿可移攘洼。 2 4 嵌入式浏览器底层分析 嵌入式浏览器是一个网络应用程序,像所有的网络应用程序一样,网络传输速 度、鲻缀延迟秘网络鼹不稳定瞧对测焚器缝髭蠢攫大觞影响。褥爨在商些嵌入式g 境中,嵌入式浏览器通过无线网络接入因特网时,这方面的影响更大。底层的数据 佟羧澄诗要爨涎嵌入式浏蹩器翡交互溲不受爨络延遴戳塞静影滴,势显麓将搂寝羁 的部分网页数据传递绘其它上腰模块处理,做到数据传输和数据解析并覃亍进行。 嵌入式系统是硬传赘源限铷严格瀚系统,这体现柱微处理器主频耽较低、内存 较小等方恧。硬件平台的这些特点对嵌入式浏煞器的速度有较大鲍影响,使翔缓存 技术畿较好地弥补嵌入式系统的某些磷件缺点,提高嵌入式测览器的速度。憾是嵌 华中科技大学硕士学位论文 入式系统一般采用f l a s h 文件系统甚至没有文件系统,由于f l a s h 存储器因寿命 原因不宜频繁擦写,所以底层的缓存模块和c o o k i e 模块不能使用文件系统来保存 数据,必须另辟蹊径。 嵌入式操作系统的设计特点对嵌入式浏览器底层的设计和实现也有影响。绝大 部分嵌入式操作系统都使用微内核设计技术,为了内核的精简,微内核的内存管理 采用了实地址模式和较简单内存分块管理,如v x w o r k s 和n u c l e u s 等。实地址模 式的缺点是缺少了内存保护,内存分块管理容易引起内存碎片问题,频繁地进行内 存申请和释放系统调用会导致系统性能变差。嵌入式浏览器通过引入自己的动态内 存管理来解决这些问题。 在嵌入式浏览器底层中,数据传输模块、u r l 管理模块、s s l 模块和c o o k i e 模块的主要功能都与网页数据的获取相关,所以我们将数据传输模块、u r l 管理模 块、s s l 模块和c o o k i e 模块统称为 o 子系统。这样,嵌入式浏览器底层就分成 三个部分:i o 子系统、缓存管理和动态内存管理。以下章节分别叙述这三部分的 具体设计与实现。 2 5 本章小结 本章首先描述了嵌入式浏览器的总体设计目标;然后结合浏览器的设计目标, 对嵌入式浏览器进行了总体设计和模块划分,并对各个组成模块的功能及模块间关 系进行了详细的论述;接着本章讨论嵌入式浏览器的分层设计思想,将嵌入式浏览 器分为底层和表现层,并提出了底层和表现层不同的设计目标。本章最后对底层的 各个模块进行了简要分析,明确了底层在嵌入式浏览器中的重要作用。 华中科技大学硕士学位论文 3i 0 子系统 i o 子系统分恣i o 抟输帮c o o k i e 鼹个部努,其孛i 内健羧包括数据传籍、 u r l 管理和s s l 模块。本章酋先对嵌入式浏览器的w o 传输j 葺 行研究分析,然后在 筵基础上提爨i o 组合黄输模型并对i o 传输各个部分避行了其体实现,最后癸 现了嵌入式浏监器对c o o k i e 机制的支持。 3 1i o 传输的研究 3 ,1 两种i o 传输 嵌入式测楚器的i o 传输寇摇零缝文锌僚埝耧掰络传辕。 本地文件传输主鼹完成对本地文件的读霹。某拨嵌入式系统要求嵌入式测览器 支持警簸瓣茭辩离线瓣页的谤河,这麓阚页避常竣文髂形式绦存在嵌入式系统鼹岁 部存储设备中。相对于远程的网络文件。我们将这些网页文件称为本地文件。本地 文 孚可汉麓单缝逶遥文传系统提供的系统谴餍黠萁遴彳亍操俸,掰戳本避文掌# 传输是 i 0 传输中比较容易实现的部分。 潮络传输是i o 传输静主要部分,它包括从远禚w e b 服务器下载网页数据和 将数携上传到w e b 服务器。浏览器的网络传输建立在h t t p 铃议上,与远稷w e b 黢 务器避行一次数据传输需要经过多个协议步骤。网络延迟和网络的不稳定性往往导 致嬲终传输戏沟嶷入式潮览器抟簸颈,鼹以鄹络传输是i o 传输孛需要重点研究 和实现的部分。 3 。 。2h t t p 协议麓辑 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 服务嚣 进行透信约漭议。h t t p 按议和多数溺络协议一样都采用了客户服务器模型。通过 h t t p 协议进行数据传输的过程分为四个步骤:客户帆请求与服务器建立t c p 连 接、客户祝商被务器发送h t t p 请求稳、服务器向客户机返阐响应结果、断开t c p 连接。鼹个挤议步骤分删接述翔下: 1 客户机请求与服务器建立t c p 谶接 华中科技大学颁士学位论文 h t t p 协议是基- t - t c p 协议的。窍户枫雀网络初始化詹,首先申请一个t c p 套 接字,然后塞连接w e b 服务嚣韵服务端口( 如默认w e b 鞭务端口鼹8 0 ) ,最后等 待服务器返隧造接结聚。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防雷知识试题及答案
- 小学数学入学考试试题及答案
- 2025年合肥市肥东县第六中学教师招聘考试笔试试题(含答案)
- 社区预防考试题及答案
- 气管技能考试题及答案
- 民法中考试题及答案
- 2025年广州市天河区五一小学教师招聘考试笔试试题(含答案)
- 北京知识付费主播培训课件
- 医学综合考试题(附参考答案)
- 压力性损伤诊疗与护理规范理论考核试题及答案
- 2025年湖北省中考道德与法治真题(解析版)
- 2025-2030年中国胃食管反流病行业市场现状供需分析及投资评估规划分析研究报告
- 2025年政府采购与招标投标考试试题及答案
- 2025-2030中国苯丙酮尿症(PKU)行业市场发展趋势与前景展望战略研究报告
- 2025天津经济技术开发区管理委员会招聘雇员(30人)笔试参考题库附带答案详解析集合
- 2025至2030年中国PA10T行业市场竞争态势及未来前景分析报告
- CJ/T 328-2010球墨铸铁复合树脂水箅
- 人教版(2024)七年级下册英语期末复习:主题阅读理解 刷题练习题20篇(含答案解析)
- 运营管理核心知识点
- 设计院管理规章制度手册及实施指南
- 电力工程施工安全风险管理措施
评论
0/150
提交评论