(计算机应用技术专业论文)嵌入式超文本类格式解析设计与实现研究.pdf_第1页
(计算机应用技术专业论文)嵌入式超文本类格式解析设计与实现研究.pdf_第2页
(计算机应用技术专业论文)嵌入式超文本类格式解析设计与实现研究.pdf_第3页
(计算机应用技术专业论文)嵌入式超文本类格式解析设计与实现研究.pdf_第4页
(计算机应用技术专业论文)嵌入式超文本类格式解析设计与实现研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式超文本类格式解析设计与实现研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着互联网的高速发展和各种数字技术的不断进步,信息数字化浪潮席卷 全球,超文本类格式文档成为应用最为广泛的信息载体;另一方面,消费电子、 计算机、通信一体化趋势日趋明显,嵌入式技术成为研究热点,特别是其中的 手持阅读设备的快速发展,使得超文本类格式的文档在这些设备上的有效性阅 读问题日益显现。 本文的首要工作是通过对各种超文本类格式的裂解和对屏幕阅读特征的分 析,确立了以设计单文档类超文本格式解析核为中心的解析器软件开发流程, 并为解析器设计了分层的系统架构,随后详细探讨了超文本解析器的模块化设 计结构,对其中关键技术进行了阐述和分析。本文提出了一种全新的屏幕适配 探测机制,克服了流式版面格式给文档解析工作带来的困难,过滤了当前屏幕 阅读无效的内容,优化了解析器的性能,降低了对嵌入式系统处理能力和内存 配置的要求。同时,针对基于r s s 新闻推送的无线网络应用这一特殊需求,提 出了模板化内容过滤的优化方案,过滤了与阅读主题无关的内容区域。本文所 提出的超文本解析器在多款手持阅读器上进行了实验验证,结果表明解析器能 够满足基于屏幕阅读的嵌入式应用需求。 关键词:手持阅读超文本类格式格式解析屏幕适配探测模板化内容过滤 a b s t r a c t ab 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 to fi n t e r n e ta n dd i g i t a lt e c h n o l o g ya d v a n c e si n d i g i t a li n f o r m a t i o nw a v es w e e p i n ga c r o s st h ew o r l d ,h y p e r t e x td o c u m e n tb e c o m et h e m o s tw i d e l yu s e di n t e r n e ti n f o r m a t i o nc a r d e r ;o nt h eo t h e rh a n d ,3 c ( c o n s u m e r e l e c t r o n i c s ,c o m p u t e r ,c o m m u n i c a t i o n s ) i n t e g r a t i o nt r e n dh a sb e c o m em o r ee v i d e n t a st h er e s e a r c hf o c u so fe m b e d d e dt e c h n o l o g y ,e f f e c t i v e r e a d i n gp r o b l e m o f h y p e r t e x td o c u m e n to nh a n d h e l dd e v i c e sh a sb e e ns h o w n o nt h eb a s i so fv a r i o u sc a t e g o r i e sh y p e r t e x tf o r m a tc r a c k i n ga n ds c r e e nr e a d i n g f e a t u r ea n a l y s i s ,t h i sp a p e re s t a b l i s h e sh y p e r t e x tp a r s e ra i ma tm o n o f i l ea st h ec o r eo f t h er e a d e r ss o f t w a r ed e v e l o p m e n tp r o c e s s ,a n dd e s i g n st h em u l t i l a y e ra r c h i t e c t u r e t h ep a p e rd i s c u s s e sm o d u l a rs t r u c t u r ed e s i g no fh y p e r t e x tp a r s e ri nd e t a i l ,a n d a n a l y s i si t sk e yt e c h n o l o g i e s an e wm e c h a n i s mc a l l e ds c r e e nm a t c h i n gd e t e c t i o ni s p r e s e n t e dt oo v e r c o m ed i f f i c u l t i e so ff l e x i b l el a y o u t ,w h i c ha l s of i l t e r sv o i dc o n t e n t o fc u r r e n ts c r e e nr e a d i n g ,a n do p t i m i z e st h ep e r f o r m a n c eo fh y p e r t e x tp a r s e r ,a n d r e d u c e st oal a r g ee x t e n to nt h ee m b e d d e ds y s t e mp r o c e s s i n gc a p a b i l i t i e sa n dm e m o r y c o n f i g u r a t i o nr e q u i r e m e n t s c o n c e r n i n gt h es p e c i a la p p l i c a t i o no fr s s n e w sp u s ho n t h ew i r e l e s sn e t w o r k ,a n o p t i m i z a t i o ns c h e m ec a l l e dm o d e lc o n t e n t f i l t e ri s p r e s e n t e dt oo p t i m i z et h er e a d e rb a s e do nt h eu n d e r s t a n d i n go fl a y o u t t h eh y p e r t e x t p a r s e rh a sb e e ne x p e r i m e n t a lv a l i d a t e do nn u m b e r so fh a n d h e l dd e v i c e s ,a n dt h e r e s u l t ss h o wt h ep a r s e rc a ne n t i r e l ym e e tt h en e e d so fe m b e d d e da p p l i c a t i o n sb a s e d o ns c r e e nr e a d i n g k e yw o r d s :h a n d h e l dr e a d i n g ,h y p e r t e x td o c u m e n t ,f o r m a tp a r s e r ,s c r e e n m a t c h i n gd e t e c t i o n ,m o d e lc o n t e n tf i l t e r i i 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 岛湾 w 曙年乡月7 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月日 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: w 可8 年 日 t 曳订、 y 1 孑月 寸爻弓 第一章引言 第一章引言 阅读是人从符号中获得意义的一种社会实践活动和心理过程,也是信息知 识的生产者和接受者借助于文本实现的一种信息知识传递过程【l 】。这里所说的 “文本在传统习惯中多指纸质图书。千百年来,虽然人类文明不断演进,人 们阅读的平台却基本没有改变,形成很强的传统阅读习惯。但当以手机、手持 阅读器为代表的新媒体出现后,人们的阅读习惯开始呈现多元化趋势。 多元化阅读 2 1 涵盖阅读内容多元化和阅读载体多元化两个方面。内容多元化 指阅读的内容不再以文字为主,更增加了影像、图片和声音等,进入网络时代 以来,以h t m l 格式为代表的超文本类格式的广泛应用,使人类阅读的历史进 入了一个崭新的时代;载体的多元化意指除纸本以外,各种磁性材料、光盘以 及各种阅读终端的应用,特别是手持阅读器的出现,使得人们随时随地随心所 欲的高品质阅读成为可能。 第一节手持阅读的发展 曾几何时,人们渐渐养成了“看 书的习惯,但阅读的平台并不是纸质图书 而是各种显示屏幕,“手持阅刮3 】 也成为新的关键词。随着数字技术的不断进 步,各种手持设备的多媒体应用出现了爆炸式增长,用手机读小说、看报纸都 变得轻而易举,一些m p 3 和m p 4 也兼容了阅读功能。手持阅读利用新技术,创 造了全新的阅读体验,有利于将阅读的普及程度推广到极致1 4 1 。 1 1 1 类纸显示技术 在信息技术高速发展的今天,人们对于信息的获取有8 0 来自于视觉,而信 息的显示是依靠显示载体来实现的,因此显示载体技术在信息技术的发展过程 中占据了十分重要的地位。 阴极射线管( c r t ) 仍然是目前应用最为广泛的光电显示设备【5 l ,其市场占 有额达到6 0 ,但由于体积和功耗的问题,c r t 很难应用到手持阅读领域。而 目前在p d a 、笔记本电脑和智能手机中广泛应用的l c d 由于其容易导致视觉疲 1 第一章引言 劳、耗电等多方面的原因并不十分适用于手持电子阅读器这种以静态长时间阅 读为主的应用。那么究竟什么样的显示技术。才能既符合手持阅读设备的要求, 又能给读者提供较为舒适的视觉感受呢? 传统阅读方式所采用的纸张为研究人员提供了最佳的参照物,经过多年的努 力,研究人员终于在这个领域取得了突破性的进展类纸( p a p e t l i l 【e ) 显示 技术”l ,它的显示特性介于纸和电子显示设备之间,并且尽可能多的综合了双方 的优点。目前,此种显示设备主要分为两类p l :一种是非液晶模式器件如e - i n k ( e l c c l l o n i ci n k ,电子墨水) 或e - p a p e r ( e l e c t r o n i cp a p e r ,电子纸) 另一种是 反射型渡晶显示器件如c h l c d ( 胆甾相液晶显示器件) 和b t n - l c d ( 双稳态 扭曲向列液晶显示器件) 。图1 1 给出了电子纸显示设备的展示。 景k ii n 凸 一 p a p e i 【i n k d is p l a p a p e - _ _ - _ 一 d i5p l j t 一- 。 ,。= :? =斟 忡电 t 幂教晕咖垒尺寸电 t 图1 1 电子纸显示设备的展示 e - i n k i s 技术主要得益于纳米技术、徽胶囊技术、微电子技术和材科改性等材 料技术及其器件集成技术的发展。纳米电子墨水显示技术原理是把带电的纳米 微粒子分散在悬浮液体中构成胶体当对该分散体系施加电场时带电粒子就会 在电场的作用下发生电泳,使得带有一定颜色和电荷( 正或负) 的粒子定向泳 动,同时透过透明电极构成显示,如图l2 所示。 世界许多知名硬件厂商仍然在为推动阅读器技术而努力。目前采用新型。电 子纸”技术的手持阅读器,其显示屏的分辨率能够达到每英寸1 7 0 像素遗相 当于报纸的印刷质量,并且屏幕能从各个方向阅读,不受光线明亮或阴暗的限 制。技术的努力始终是在试图运步跨越纸书这道门槛,让人们真正感受到戴字 阅读的方便和魅力。 2 k 端嚼 4 蜃 第一章引言 麟矿螂 庭晨电掇删_ - 0 _ 瞄- 宣誓_ 目0 田- _ _ _ 1 1 2 手持阅读器 图1 j 电子墨水原理示意图 电子阅读器一般是指具备各种电子读物显示和存储功能,具有阅读管理及 操作界面井以阅读为主要功能的专用电子显示终端设备。根据硬件设备的不 同,电子阅读器可以分为:p c 笔记本阅读嚣、p n v 智能手机阅读器以及专用手 持阅读器等。几种电子阅读器的代表产品如图1 3 所示。 p c 笔记本罔读嚣智能手机阅读罂 专用手持阅读嚣 田1 3 电子阅读嚣按硬件设鲁分类 熹一 第一章引言 个人计算机( p e r s o n a lc o m p u t e r ,简称p c ) 由于移动性较差,无法像阅读传 统书籍般随意,读者只能坐在显示器前阅读,即使是使用笔记本来阅读书籍同 样显得十分笨重,并且长时间使用l c d 显示屏会使人眼产生疲劳感。人们更希 望随心所欲随时随地的阅读,因此很多厂商开始关注便于携带的智能手机和专 用手持阅读设备。 智能手机( s m a r tp h o n e ) 集成了电话、计算、游戏、网络和阅读等多种功能, 基本与手掌一样大小,便于随身携带。但智能手机的有效显示区域太小,每一 屏显示的信息量有限,给阅读书籍带来了极大的不便。智能手机只是将阅读作 为一种附加功能提供给用户,无法实现随心所欲的阅读。 专用阅读器一般要比智能手机大,和3 2 开书大小相当,它不仅体积小,重 量轻,便于携带,而且显示区域较符合人们的阅读习惯,分辨率较高,能够满 足读者的阅读需求。专用阅读器能实现较简单的查询和检索,作笔记、批注、 字体缩放等功能。一个专用的阅读器可以用内置的f l a s hm e m o r y 存储上百本书, 读者只需一个小小的阅读器就可以阅读大量的书籍,同时还可以查阅字典,给 读者提供了便利一j 。 表1 1 从存储量,查询,阅读,光线要求,显示效果等方面对几种阅读器和 传统书籍进行了比较【l0 1 。 表1 1 几种阅读器和传统书籍的比较 4 第一章引言 手持阅读器凸现了许多传统纸质图书没有的优点,例如能存放大量的图书 内容,能够检索,可以下载、更换图书内容;还使得电子书脱离电脑,真正成 为能够随身携带、自由移动的“书”。随着电子书产业的启动和发展,手持阅读 设备必将成为未来阅读设备市场的主流。 1 2 1 超文本类格式 第二节超文本类格式的发展 1 9 6 5 年托德尼尔逊( t e dn e l s o n ) 创用了“超文本( h y p e r t e x t ) 一词【1 1 1 。 他认为“超文本是一系列的文本块,由可供读者选择不同通路的链接点连接而 成,在互动的屏幕上阅读效果最好。 1 9 8 9 年互联网之父蒂姆伯纳斯李( t i m b e m e r s l e e ) 以“万维网( w 矾dw i d ew 曲) 的形式实现了超文本。超文本技 术按信息之间的关系非线性地存储、组织、管理和浏览信息,可以巧妙地将自 然语言文本与计算机交互式地转移或动态显示线性文本的能力结合起来,从而 在文档内容和文档之间实现信息的通联。2 0 世纪后期,超文本作为互联网的符 号系统和话语体系,提供了丰富的信息和语境,尤其是网络超文本,对其的探 究如浩瀚海洋般具有无限性,为集成全人类的智慧提供了条件。 所谓超文本实际上是将纯文本和格式化指令混合在一起来反映格式化的文 本,以此实现多个非连续文本之间的交叉连接。下面对几种目前比较常用的超 文本类格式做一些简要描述。 1 h t m l 格式 h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) 【1 2 】是万维网文档发布和浏览的基本格 式,它具有很多特点,如独立于平台、结构化设计,特别是超文本链接,使之 成为万维网最流行的文档格式。表1 2 对h t m l 格式的特点进行了简单阐述。 表1 2 h t m l 格式的特点 特点描述 独立于平台 结构化设计 超文本链接 即独立于计算机硬件和操作系统,使得文档可以在具有不同性能( 即字体、图形和 颜色差异) 的计算机上以相似的形式显示文档内容 允许某些高级应用,如h t m l 文档和其他格式文档问互相转换以及搜索文本数据库 允许文档中的任何文宁或词组参照另一文档,可在不同文档之间及文档内部漫游 5 第一章引言 自1 9 8 9 年以来,h t m l 及万维网的使用和发展产生了巨大的变化。在早期 的浏览器设计中,设计师们纷纷将自己需要的特性添加到h t m l 中,包括直接 插入图形。当大量照片和图表放入到文档中后,万维网的规模出现了爆炸性的 增长。h t m l 的新标记不断地被一个又一个的浏览器引入,有一些新标记流行 起来,而另外一些又消失了,有些增加部分设计得很糟,甚至不遵从s g m l 规 范。到了1 9 9 4 年,h t m l 几乎以失控的状态发展。1 9 9 5 年1 1 月,在i e t f ( i n t e r n e t e n 西n e e r i n g t a s kf o r c e ,互联网工程任务组) 的主持下,h t m l 被形式化成为一 种s g m ld t d ,称之为h t m ll e v d2 ( h t m l2 0 ,由伯纳斯李最初设计的h t m l 被定义为l e v e l1 ) 。标准化之后,h t m l 可以安全地扩展到将来各个级别的版本。 尽管有关各方从未达成完全一致的共识,万维网联盟h t m l 工作组( w o r l dw i d e w e bc o n s o r t i u m sh t m lw o r k i n gg r o u p ) 还是集中了万维网发展的成果,于1 9 9 8 年推出了h t m l4 0 版本。目前,h t m l 格式已成为i n t e r n e t 上进行数据交换的 最主要格式。 2 x h t m l 格式 x h t m l ( e x t e n s i b l eh y p e r t e x tm a r k u pl a n g u a g e ,可扩展超文本标记语言) 【l3 】是被设计用来代替h t m l 的,由w 3 c 组织于2 0 0 0 年发布1 0 版本,目前最 新版本为2 0 。与h t m l 相比,x h t m l 更简洁更严谨,同时它的可扩展性和灵 活性将适应未来网络应用更多的需求。 x h t m l 实际上是h t m l 和x m l 的一种折中,它不允许标签的扩展,从而 继承h t m l 的语义性,拥有现代浏览器都可以识别的语义结构,以适应目前互 联网应用的大环境,同时用x m l 的规则规范它,让它继承完美的代码结构以便 以后顺利过渡。 3 c h m 格式 c h m 1 4 格式是微软公司于1 9 9 8 年推出的基于h t m l 文件特性的帮助文件 系统,以替代早先的w i n h d p 帮助系统,在w i n d o w s 9 8 操作系统中把c h m 类 型文件称作“己编译的h t m l 帮助文件”。c h m 同样支持a c f i v e x 、j a v aa p p l e t 、 f l a s h 、图像文件( g i f 、j p e g 、p n g ) 、音频视频文件( a u 、m i d i 、w a v 、a v i ) 等,并可以通过u r l 地址与i n t e r n e t 连接。 在w i n d o w s 9 8 以后的w i n d o w s 版本中,c h m 文件的运行程序( h h e x e ,2 7 k ) 已是操作系统的一部分,它控制网页浏览器来解释并运行c h m 文件中的元素, 这样的好处就是能跨平台运行c h m 文件,只要有不同平台上的运行器和浏览 6 第一章引言 器,c h m 文件就不再需要重新进行编译而直接使用,在不同语言的操作系统下, c h m 文件也会自动显示对应语种的菜单。 c h m 格式文档是由多个h t m l 格式文档编译生成的,编译后的c h m 格式 文档较之先前的h t m l 文档增加了目录等特点。表1 3 对c h m 格式的特点进行 了简单阐述。 表1 3c h m 格式的特点 特点 描述 文件体积小 检索方便 契合度高 支持反编译 自动识别语言类型 c h m 对文本文件的压缩采用了高压缩比,文件体积小,便于分发和传播 c 删文件拥有性能优异、快速的全文检索,特别在海量文字枪索上速度较快。原因是 c h m 编译器在编译的时候会先分析网页源文件的关键词并制作成索引信息存放在c 删 文件里 c h m 文件的阅读器由操作系统直接提供,而且这是个类似i e 的阅读器或浏览器 c 删格式类似压缩文件,可随意将h t m l 文件压缩在c 删里,并且随时可以反编译, 以便二次编辑后再制作成c 删文件 在不同语言的操作系统下,c h m 文件也会自动显示对应语种的菜单,按钮等外观上 的文字也会自动显示对应语种的文字 c h m 格式所拥有的目录跳转、全文检索等特点,使之特别适合于文档资料、 长篇小说的阅读,因此c h m 格式不仅受到了帮助文档提供者的青睐,而且被广 泛应用于大量网络连载小说的阅读传播。 4 l i t 格式 l i t 1 5 格式是微软公司于2 0 0 0 年开发的软件m i c r o s o f tr e a d e r 的一种专有的 电子书文件格式。l i t 文档采用l z x 压缩算法对多个h t m l 文件进行压缩,并 加入出版控制所需的文件而形成。l i t 格式与p d f 、p d b 等格式相比,拥有更 加完善的证书管理机制,正被越来越多的出版商用来出版电子书。但该格式对 中文的支持不好,目前国内还没有开始大量使用这种文件格式来制作和出版电 子读物。 5 e p u b 格式 e p u b 1 6 格式是2 0 0 7 年国际数字出版论坛( i d p f ,i n t e r n a t i o n a ld i g i t a l p u b l i s h i n gf o r u m ) 所确定的电子图书格式,目前已经有包括a d o b e 、索尼在内 的多家公司计划使用这一格式。e p u b 文档由多个x h t m l 文件采用z i p 压缩算 法压缩形成,包含有三种开放格式标准,分别是开放出版结构( o p s ,o p e n p u b l i c a t i o ns t r u c t u r e ) 、开放封装格式( o p f ,o p e np a c k a g i n gf o r m a t ) 、开放容 7 第一章引言 器格式( o c f ,o p e nc o n t a i n e rf o r m a t ) 。与c h m 格式一样,e p u b 格式内部包 含目录、页面定位信息等数据段。 1 _ 2 - 2 屏幕阅读的特征 手持阅读的用户体验是通过阅读器的屏幕来呈现的,这罩的屏幕有如传统书 籍中的纸张,因此“页”的概念在阅读过程中尤为重要,用户通过“页 来定 位当前阅读内容。从格式结构和文档解析的角度,可将常用格式划分为固定版 面格式和流式版面格式两种类型 1 7 1 。表1 4 给出了分类依据以及代表格式。 表1 4 文档格式从格式解析的角度进行分类 我们看到,固定版面格式具备格式内部有明确的分页标记,即数据信息按照 页为单位进行组织,且无论阅读器的屏幕大小如何改变,文档版面始终不变的 特征【l 引。与之相对应,流式版面格式内部没有分页标记,解析时由解析程序临 时进行分页。显而易见,超文本类格式都属于流式版面格式。 流式版面格式是为了便于内容编辑或数据交换而设计的格式,它重视数据胜 于版面。在对流式版面格式进行解析时,只能顺序解析,并且由于没有定位信 息,数据内容的显示位置是由解析器计算得出的,因此显示区域大小的变化会 引发版面相对位置的变化。 流式版面格式的这些特点给解析器处理这类文档带来的困难是显而易见的, 由于无法确定每一页开始时显示数据的位置,只能从文件头顺序解析,会造成 页数越大的页所需的解析时问越长。这也是超文本解析器必须解决的问题之一。 8 第一章引言 第三节问题提出 随着互联网的高速发展和各种数字技术的不断进步,超文本类格式文档已 经成为应用最为广泛的信息载体;另一方面,消费电子、计算机、通信一体化 趋势日趋明显,嵌入式技术成为研究热点,特别是其中的手持阅读设备的快速 发展,使得超文本类格式的文档在这些设备上的有效性阅读问题日益显现。 这里提出的有效性阅读涵盖“性能高效”和“内容有效”两个方面。“性能 高效 是指在克服流式版面格式给文档处理带来困难的同时,快速地定位到由 页码表征的目标页面,高效地完成屏幕显示,其中的关键问题是需要打破超文 本文档解析领域常用的“先完整解析后排版显示 的传统设计思想的枷锁,寻 求一种适合于面向屏幕阅读的嵌入式应用的超文本格式解析设计思想。“内容有 效 是指在以h t m l 文档为代表的超文本文档中,存在着大量对用户阅读无意 义的内容区域,它们不仅严重影响了用户的阅读体验,而且极大地增加了文档 处理的难度,在某些特殊应用需求下,如何寻求一种内容过滤机制,将与阅读 主题无关的内容区域进行过滤,真正实现有效性阅读。 本文对超文本类格式解析器的研究正是针对解决上述问题,寻找一套适合 于面向屏幕阅读的嵌入式应用的超文本解析器的软件解决方案,并能够应对未 来超文本类格式的不断发展。 9 第二章解析器研究方法 第二章解析器研究方法 第一节w o l f l i n u x 系统 作为手持阅读器的平台和载体,嵌入式系统的发展为手持阅读器提供了广阔 的空间,而作为系统软件核心的嵌入式操作系统在近年来也有了长足的发展。 从厨房里的微波炉到客厅里的家庭媒体中心,各种智能化设备已经遍布于我 们的周围。关于这些消费类嵌入式产品,我们听到最多的一个词语便是嵌入式 系统。嵌入式系统( e m b e d d e ds y s t e m ) 是指以应用为中心、以计算机技术为基 础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格 要求的专用计算机系纠1 9 】。 把l i n u x 用于嵌入式系统,一般都不是原封不动地照搬,而是充分考虑各种 具体嵌入式系统的特点,有针对地对l i n u x 内核加以裁减、修改和补充,主要包 括以下几个方面: 将l i n u x 内核移植到一些典型的微控制器上并加以必要的补充。 嵌入式系统的内核中可能需要一些特殊的设备驱动程序。 对l i n u x 内核代码进行删减和裁剪,一来可以减小内核映像的“脚印”, 二来可以加快系统的初始化过程。 对实时性有要求的应用则需要视要求的高低,采取不同的对策。如按优先 级调度、提高时钟精度、实现可剥夺调度和实现硬实时调度等。 l i n u x 内核的代码是高度模块化的,内核的许多功能和成分都可以通过条件 编译加以取舍和裁剪,有些还可以独立编译成“可动态安装模块”。经修改和扩 充的各种嵌入式l i n u x 保留了这个特点,所以从同一个修补版,还可以再根据具 体的需要裁剪、编译出许多不同的可执行映像【2 0 1 。 标准的l i n u x 操作系统,其内核应具备多个方面的功能或成分,既包括用于 管理应用层的“进程”成分( 如进程管理) ,还包括进程间通信、设备驱动和文 件系统等等 2 1 1 。嵌入式l i n u x 内核继承标准l i n u x 内核的基本功能,其结构如图 2 1 所示: 1 0 第二章解析器研究方法 胂绷序野 一序 一七占专占古专 忑 一仫 i i 系统调用接口ii 上上上 上 虚拟文件抽象网络服务 系统管理 内存管理器进程管理器 ( 套接字) 占上 文件系统 1 t c p i p 协议 驱动程序 驱动程序 上上 网络设备 设备驱动程序 驱动程序 占一一占 。从 1 1 定广r 外部设备网络设备 图2 1 嵌入式l i n u x 内核结构图 w o l f l i n u x 2 2 1 是面向手持电子阅读应用开发的专用嵌入式l i n u x 系统。作 为整体解决方案,w o l f l i n u x 涵盖了从系统内核直到上层应用的整个系统软件 体系,从系统级解决方案的角度对手持阅读平台提供全面支持。 w o l f l i n u x 是对硬件体系、本质安全、版权保护、功耗控制、大容量存储 及文档格式解析等方面进行了大量研究的基础上,借助于g n u l i n u x 内核及相 关应用进行面向应用的定制开发而形成的嵌入式系统,既秉承了g n u 软件体系 的开放性和通用性,又通过定制开发和专门优化满足了在应用领域的专业性需 求。 针对面向阅读的嵌入式应用,整个w o l f l i n u x 系统分为内核层、中间件层、 应用层三层。图2 2 描述了系统的分层体系结构。 第二章解析器研究方法 图2 2w o l f l i n u x 的分层体系结构 w o l f l i n u x 系统包含了系统安全、格式阅读、本地数据库以及操作系统内 核等多方面内容,为手持阅读器的设计与实现提供了全面的保障,它主要具有 如下的系统特征【2 3 】: 作为手持阅读平台,w o l f l i n u x 提供的多格式解析引擎为多格式阅读以 及屏幕印刷提供了高效的实现机制。 面向大容量存储,构建在嵌入式数据库基础上的本地搜索为阅读器在大容 量、高密度的存储介质上实现高效的书籍管理和组织提供了支持。 作为系统核心的w o l f l i n u x 在执行效率、电源管理等方面的不断改进为 手持阅读的用户体验和功能扩展提供了良好的依托。 1 2 第二章解析器研究方法 第二节多格式解析引擎 多格式解析引擎【2 4 j 是阅读器整体架构设计中的重要环节,它提供了对多种格 式文档的阅读支持,并提供了多种阅读方法供用户自由选择。 解析引擎的设计是建立在对纷繁复杂的文档格式进行细致分类的基础之上。 随着计算机技术的不断发展,目前己形成了一套庞杂的电子文档格式体系,如 固定版面格式的p d f 、j p g ,又如流式版面格式的d o c 、h t m l 等。各种格式 的发展历史己清楚的表明,格式种类只能越来越多,格式本身也只会越来越复 杂。如何兼容现有的多种格式,又能对各种格式的未来发展提供不问断的支持, 成为了阅读器设计中一个难题。 解析引擎采用分层架构【2 5 1 ,以文件系统和系统图形接口为基础,以书架管理 器( b o o k s h e l f ) 为管理平台,以文档的解析器( p a r s e r ) 实现原生态格式的解析 和版面理解,以阅读器( v i e w e r ) 最终面向用户阅读,其分层结构如图2 3 所示。 厂、 阅读器 h t m lc h m d o c 解 l 解析器解析器析器 解析器nl 书架管理器 l l 系统图形接口 兰竺三竺_ k 图2 3 多格式解析引擎分层结构图 系统图形接口使用了m i c r o w i n d o w s 的n a n o xa p i 。m i c r o w i n d o w s 是一个开 放源代码的嵌入式g u i 软件,目的是把图形视窗环境引入到运行l i n u x 的嵌入 式设备上。作为x w i n d o w 的替代品,m i c r o w i n d o w s 可以使用更少的r a m 和文 件存储空间( 1 0 0 k 一6 0 0 k ) 提供与x w i n d o w 相似的功能。m i c r o w i n d o w s 的可移 植性非常好,基本上用c 语言实现,只有某些关键代码使用了汇编语言以提高 速度。m i c r o w i n d o w s 支持i n t e l1 6 位、3 2 位c p u ,m i p sr 4 0 0 0 以及a r m 芯片, 它的图形引擎被设计成能够运行在任何支持r e a d p i x e l ,w r i t e p i x e l ,d r a w h o r z l i n e , d r a w v e r t l i n e 和s e t p a l e t t e 的系统之上,在底层函数的支持下,实现了对位图、字 体、光标以及颜色的支持,成为目前嵌入式系统中广泛使用的图形接口。 书架管理器( b o o k s h e l f ) 是系统的设备管理器,负责管理电子书设备的各 1 3 第二章解析器研究方法 种资源,包括内外存储设备( 如s d 卡) ,电源设备,用户操作( 如按键) 。此外, 书架还承担着文档格式管理的重要功能,它从内外存储设备中识别文档的不同 格式,并根据用户的选择调用相应的解析器对文档进行解析。 解析器( p a r s e r ) 是解析引擎设计中的核心环节。每个解析器对应各自不同 的文档格式,对外屏蔽各种格式版本的差异。解析器的主要工作是对各种原生 态文档进行格式裂解和版面理解,并将得到的内容“印刷 到电子纸上,完成 屏幕请求。本文将在后续章节对超文本格式解析器的设计与实现进行详细论述。 阅读器( v i e w e r ) 是整个系统直接面向用户阅读的界面提供者,主要负责设 定和控制屏幕参数,页面参数,以及阅读方法选择等。屏幕参数主要包括屏幕 颜色深度,分辨率,尺寸等;页面参数是指当前显示页在文档中的游动、前后 翻页控制等;阅读方法包括四种角度旋转阅读功能和四种基本视图模式。 解析引擎各个模块之间的调用关系如下图2 4 所示,这种结构确保了格式引 擎的开放性,使得解析器能够专注于对文档的解析,而无须关心系统其他细节。 图2 4 多格式解析引擎模块调用关系图 综上所述,多格式解析引擎是屏幕印刷这一概念的最集中体现,并提供了面 向格式解析的开放性支持。良好的开放性使得系统在理论上可以支持任意多格 式的阅读,也使得用户可以根据自己的需求和爱好丰富和个性化自己的阅读设 备,为协调格式发展与阅读设备限制之间的矛盾开拓了新的思路。 1 4 第二章解析器研究方法 第三节解析器软件开发方法 前面对解析器依托的w o l l i n u x 系统和多格式解析引擎进行了说明,本节 将展开描述解析器软件开发方法。 近年来,随着嵌入式系统的广泛应用,对应的软件开发工具也得到快速发 展。从最早的汇编语言,到后来的高级语言( c ,p l m ,j a v a 等) ,到现在嵌入 式操作系统的广泛使用,在一定程度上简化了嵌入式系统的软件开发。 然而,嵌入式系统严格的多任务实时性、稳定性要求和嵌入式微处理器( 或 微控制器) 有限的处理能力之间的矛盾决定了在设计嵌入式软件时,必须关心 目标代码的效率及性能指标;另一方面,为了保证系统性能、质量、可靠性以 及开发周期,嵌入式软件开发还要注意标准化、系列化、规范化。 结合解析器的功能需求,我们在解析器软件开发过程中着重考虑了以下两 方面内容【2 0 j : ( 1 ) 模块化程序设计 嵌入式软件的质量,可以从模块化程度、可移植性、易维护性、开发周期 及成本等方面进行评价,但首先是模块化程度。模块化的软件设计才可能具有 可移植性,并实现代码重用;而代码重用可以缩短开发周期,有利于保证软件 质量,并降低开发成本【2 。7 1 。 模块化设计是指:将某个复杂功能分解为若干个功能模块的组合,这些功 能模块通过输入、输出参数相互耦合。功能模块可以继续分解,一般构成层次 关系,最底层的功能模块实现某个特定的、不宜再分解的原子功能。模块具有 封装性和内聚性,这表现为:模块的内部数据和处理是隐藏的,模块内部是紧 耦合的,但模块之间是松耦合的。显然,模块化设计是软件可移植性的前提, 也是嵌入式系统设计标准化、系列化、规范化的基本要求。 此外,解析器软件开发使用标准c 语言编程。使用高级语言编程的优点包括: 可以方便地定义内部变量;各模块使用的临时变量由编译器管理;编译器甚至 可以分析各模块之间的调用关系,实现变量覆盖。这样,既能方便地实现模块 化,又能提高r a m 利用率。 ( 2 )w o l f l i n u x 系统的使用 与通用操作系统相比,嵌入式操作系统具有体积小、可裁剪、代码固化、可 靠性高等特征,大多数还具有实时性强的特点。手持阅读器考虑使用 1 5 第二章解析器研究方法 w o l f l i n u x 系统,主要基于以下几点: 手持阅读器是一个开放式系统,要处理的任务比较多,各任务占用的c p u 时间在设计时难以准确估计,各任务的协调比较困难; 手持阅读器中并发有功能模块的管理,如模拟量及开关量输入输出、数 据接收与发送、数据处理、显示、用户交互处理; 手持阅读器需要一些标准的底层模块,如t c p i p 协议栈,l c d 显示; w o l f l i n u x 系统不但提供许多底层服务,还可以通过进程、线程优先级机 制对各任务进行协调,简化软件设计。w o l f l i n u x 功能强大且可裁剪,实时眭 能满足应用要求,占用资源( r o m 容量、r a m 容量、c p u 时间) 较少,很好 地满足了以屏幕阅读为主要目的嵌入式应用。 综上所述,超文本解析器软件设计采用模块化程序结构,设计有独立的文 字处理和图形图像渲染引擎,使之具有良好的跨平台性;使用标准c 语言编写, 使之具有良好的可移植性。 解析器的处理对象是以h t m l 文档为代表的单文档和以c h m 格式为代表 的压缩类文档。从1 2 2 超文本类格式一节中我们可知,压缩类文档都是采用各 自不同的压缩算法,由一组单文档压缩生成的,这种最直观的包含关系决定了 必须以针对单文档的超文本解析器的设计实现为先导,继而完成对压缩类文档 的解析。图2 5 展示了各种超文本类格式文档解析器的软件开发流程。 位于内存中的 单文档群 图2 5 超文本类格式文档解析器的软件开发流程 1 6 第二章解析器系统设计 第三章解析器系统设计 第一节系统架构 系统架构在超文本解析器的设计中起到至关重要的作用:其一,超文本解析 器不能脱离开多格式解析引擎而单独存在;其二,为了超文本解析器能够方便 地移植到多种嵌入式系统平台上运行,必须做到解析过程与屏幕显示过程相分 离。整个系统采用了层次结构,分2 层:格式解析层和输出交换层。图3 1 为 超文本解析器系统架构: 团囹囹幽 输 出 交 换 层 格 式 解 析 层 图3 1 超文本解析器系统架构 格式解析层是系统的核心部分,负责对超文本文档进行格式裂解和版面理 解,对上层屏蔽超文本格式各版本的差异。 输出交换层负责将交换取得的显示单元( 字、线、图) 送入与具体系统相关 的处理引擎,对下层屏蔽系统图形接口的差异。 1 7 第三章解析器系统设计 这种分层结构的优点是格式解析层与输出交换层相互独立,针对不同的系统 图形接口,只需实现相应的a p i 函数,而无需改变内部的解析调用机制,实现 了解析过程与显示过程相分离,使解析器能够快速移植到不同的嵌入式系统下。 第二节解析器模块设计 超文本解析器由词法语法分析模块、排版控制模块、屏幕显示模块、多页 面缓冲模块四部分组成 2 8 1 ,其层次结构如图3 2 所示。 图3 2 超文本解析器模块 词法语法分析模块按照超文本语言的规范,识别标签以及标签之间的内容, 并为每个标签设计了对应的处理函数, 签对应的处理函数,并生成显示对象。 被排版控制模块反复调用。 当分析程序遇到某一标签,则调用该标 词法语法分析模块是解析工作的基础, 排版控制模块在解析器系统架构中处于中心的地位。它负责调用词法语法分 析模块生成显示对象,并利用当前系统的显示属性( 如对齐方式和图文环绕方 式等) ,对显示对象进行排版,确定显示对象在版面中的绝对坐标,将其中有效 的显示对象送入屏幕显示模块。 屏幕显示模块实现了与具体系统相关的屏幕显示接口调用。屏幕显示模块与 其他模块相互独立,针对不同的g u i ,只需相应改变g u i 的a p i 函数,而无需 改变程序内部的解析调用机制,实现了解析过程与显示过程相分离,使解析器 能够快速移植到不同的g u i 下。 1 8 第三章解析器系统设计 多页面缓冲模块是一个可裁减的功能模块,它主要负责管理页面位图缓冲 区,缓冲区中存放着与当前屏幕请求页面最邻近的页面位图。当用户改变当前 屏幕请求页面( 如通过翻页操作) 时,多页面缓冲模块将更新缓冲区中的页面 位图,总保持对用户下一操作的高命中率。 3 2 1 词法语法分析模块 前面讲到,超文本类格式属于流式版面格式,因此超文本类格式文档从宏 观上可以看成一个由离散文本条和标签组成的线性字符流。解析器从文件头开 始扫描,直至遇到文件尾标识( e o f ) 结束扫描。在扫描的过程中,词法语法分 析模块负责识别标签和标签间的文字,对其进行分别处理,因此,词法语法分 析模块从层次上分为标签识别和标签处理两层,如图3 3 所示: 标签识别层标签处理层 解析程序 1 标签1 三 处理函数 标签2 j 霸处理函数 _ - ,- _ _ _ - - _ - 一 歹 标签n 处理函数 奄。 ,弋 = = = =1 r 事件解析程序遇到标签1 事件从标签l 处理函数返回 事件解析程序遇到标签n 事件从标签n 处理函数返回 图3 3 词法语法分析模块层次结构图 1

温馨提示

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

评论

0/150

提交评论