一种基于流的移动数据实时转换系统.pdf
《一种基于流的移动数据实时转换系统.pdf》由会员分享,可在线阅读,更多相关《一种基于流的移动数据实时转换系统.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、http:/ -1-一种基于流的移动数据实时转换系统一种基于流的移动数据实时转换系统 李淑卿,杨俊 北京邮电大学计算机科学与技术学院,北京(100876)E-mail:, 摘摘 要:要:文章提出并实现了一种基于流模式将 WEB 内容实时转换为 WAP 内容的新方案。该方案能够为用户保留 Cookie,维持 Session,提高用户再次访问相同资源的速度,并且支持移动终端的自动适配显示,并且支持中文显示。经过测试,该方案在性能和转换效果的表现上优于其它系统。关键词:关键词:转换,HTML,WML,WAP,DOM 中图分类号:中图分类号:TP391 1.引言引言 随着移动互联网的不断发展,移动用户
2、渴望得到像 Internet 上一样丰富的内容。WAP(Wireless Application Protocol)1的出现使移动用户能快速、安全地访问 Internet。但是,由于 WAP 使用的语言是 WML(Wireless Markup Language)2和 XHTML3(The Extensible Hypertext Markup Language),而 WEB 使用 HTML 语言,并且很多 WEB 网站是为 PC 用户设计的。所以目前 WAP 用户只能浏览专门的 WAP 网页,不能访问海量的 HTML 网页。另一方面,由于移动设备的传输速度、网络带宽、网络稳定性、显示屏幕的大
3、小和分辨率、应用环境都有所不同,如何突破现有的终端设备、网络、政策等诸多限制是内容传输必须考虑的问题。考虑到兼容原来的数据,把以往积累下来的 HTML 文档在新的环境下继续使用,将这些文档向 WML 转换无疑是一个解决办法。HTML 向 WML 转换还有利于对网页信息进行集成、提取、检索、过滤或挖掘分析。目前能够将 WEB 内容转换为 WAP 内容的转换系统有:Infogin、Mobileware、Volantis和 Picsel,但多数只提供英文网站的转换,或者对中文支持的不完善;Haygo,它提供了特定网页的转换,但不具有通用性。为了使移动用户能够访问目前海量的 WEB 内容,本文提出了一
4、个基于流的实时转换系统。该系统通过修改终端用户的请求来实现不同用户终端访问它们在通常情况下难以访问的数据内容,支持中文网页的转换,支持终端适配;保留客户端的 Cookie,维持 Session;对WEB 内容进行适当的过滤,过滤垃圾信息,以适合客户小屏幕的特点;基于结构和文本的转换相结合,转换的速度快,效果好;同时支持 WML 和 XHTML 两种转换。2.转换系统的总体方案转换系统的总体方案 用移动设备访问 WEB 内容的策略可分为两种:1)内容处理,包括内容定制和内容转换,前者通过为现有的 WEB 页面生成新版本的 WAP 页面从而适合移动终端访问,后者则通过转换既有的 WEB 页面,使之
5、适合于移动设备访问。2)访问模式,包括客户端处理模式和服务器端处理模式。前者指通过移动设备内的浏览器直接访问 HTML 格式的 WEB 页面,并直接在浏览器上进行布局显示,类似于 PC 的浏览器策略实现访问,而后者指在浏览器和原始 WEB 服务器之间增加转换服务器。所有的请求发送给转换服务器,转换服务器将对指定的 WEB 内容进行分析转换,并将目标响应回传给移动设备。本文提出的转换系统是基于内容转换和服务器端处理模式相结合的一种方案,网络部署如图1所示:http:/ -2-Internet VLAN 图1 网络部署图 该方案的目的是为网络数据服务提供一个桥梁,即通过转换系统完成接受请求、生成响
6、应等一系列操作。转换系统在接收到用户的请求后,将对请求的内容进行剪裁,产生响应,对响应进行过滤和编码转换,并将目标响应回传给用户,这一系列操作是特定的模块完成的。系统的核心架构将为这些模块服务。系统启动后,客户端只需将本系统所在的主机设置为代理服务器,或者提供给客户端一个特殊的链接,用户就可以访问传统互联网上的网页。依据数据转换的基本原理,基于通用性和可扩充性的特点来设计本系统,系统结构如图 2所示。图2 HTML-WML自适应转换处理过程图 整个系统采用插件体系结构,每个功能形成一个插件。系统核心的插件管理器为管理和注册插件提供服务。如信息过滤和畸变校正等插件等。可以在配置文件中设定所使用的
7、插件以及插件的启用与关闭。添加新的功能模块只需编写好插件后在配置文件中设置即可。插件体系结构使得系统具有良好的可扩展性。系统启动时会装载插件,用户的请求到来后各个插件会按照优先级和触发条件依次处理请求、生成响应、对响应进行修改。http:/ -3-3.转换系统的核心技术转换系统的核心技术 3.1 畸形网页校正畸形网页校正 从网络数据资源中获取一个 HTML 文档的内容,对该 HTML 文档进行规范化检验。所谓规范化是指网页中是否含有没有完全符合 W3C 发布标准的地方。不规范网页如:没有结束标记的标签以及交叉使用的标签等,这些在 HTML 规范中是允许的,然而在 WML 中是不允许的。畸形网页
8、校正可以通过 HTML Tidy4等工具分析一个 HTML 文件的代码,还可以自动进行必需的修改以使代码符合相关标准的要求。若是仍然不符合需求或是还不规范,则可以生成新的插件进行修复,以便得到一个规范化的 HTML 文档。HTML-WML 转换的实现就是基于规范化的 HTML 文档的。3.2 信息过滤信息过滤 信息过滤一方面为过滤掉不良信息,另一方面是考虑到用户移动终端设备的显示和速度的限制,简化页面,提高用户体验。本系统采用的过滤方法是基于文本的。抽取网页内容形成一个字符串,采用正则表达式的方法,针对该字符串进行操作,对正则表达式匹配到的内容在原来的字符串中打上标记,各种匹配结束后,再对打上
9、标记的字符串进行后处理。过滤的信息包括:敏感词、广告等。过滤的内容可以针对特定网页订制,也可以有一个统一的过滤模板。过滤信息的正则表达式符合 java 正则表达式的书写规范,能够存储在配置文件便于修改。下面是针对特定过滤内容的正则表达式的例子:敏感词:女性|房产|旅游、彩铃 等;广告:<ahref="?http:/.*?ad.*?"?.*?>.*?</a>3.3 DOM 树树 DOM 是 document object model(文档对象模型),如果将文档看成一个单独的对象,DOM就是如何用 HTML 或者 XML 对这个对象进行操作和控制的标准。
10、使用 DOM 能够对 HTML文件进行解析和处理,使其符合系统的需求。本文提出的转换系统能够根据 http 请求的头信息判断设备支持的语言类型,如果支持xhtml 则不需要生成 DOM 树,直接转到分页处理插件;否则,需要生成 DOM 树。使用 XML Parser5对规范化后的 HTML 文档进行解析。形成一棵基于文档对象模型即 DOM 的解析树(如图 3)。DOM 树显示了 HTML 文档的层次结构,可以从根节点开始对 HTML 文档进行深度优先遍历,即沿着文档流的方向进行遍历。从而可以到达 HTML DOM 树中的任意一个节点。可以依据 XML Parsre 提供的 API 定义一组函数
11、,以方便访问 DOM 树中的节点:如:将一个节点的所有子节点移动到另一个节点下面并删除该节点。http:/ -4-图 3 DOM 树示例 3.4 HTML 转换为转换为 WML 该模块是本系统的关键所在,转换系统在遇到不同的节点时,根据节点的类型,调用不同的转换规则函数,将 html 标签转换成相应的 wml 标签或者做相应的处理,就能够将 HTML格式文档转换成 WML 格式文档。下面是一些比较重要的转换规则:?HTML:转换成 WML 标签,并将 HTML 的所有子节点移动到 WML 节点下面;?BODY:利用后面的 FONT 节点删除隐形字,转换成带有 P 子节点的 CARD标签,将 B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 移动 数据 实时 转换 系统
限制150内