基于XML的移动终端网络浏览方案
发布时间:2008/5/29 0:00:00 访问次数:377
移动终端受移动性和便携性的制约,cpu 主频及计算能力较小,存储器容量、显示屏和输入设备大小也受到限制。同时,无线数据网带宽、连接可靠性及网络可预测性相对较低, 网络时延比有线网大。如果将移动终端通过无线方式直接接入internet,技术实现有困难。近年业界提出:一是重写现有internet 协议,使其与现有协议兼容,让移动设备透过微浏览器( micro-browser) 能通过无线网络使用internet 上所提供的针对wap 特别定制的资讯及服务。另是将移动终端当作功能简化的pc,并内置html 浏览器,虽可自由访问现有网络, 但由于现有internet 网站网页大量采用flash、shockwave 等技术,导致其体积庞大, 无线传输中耗时长,还要求移动终端具有较强运算能力,硬件投入较高。为此,对上述方式进行改进, 使其既可满足无线网络传输中数据量小的要求, 又可让用户获取现有网络上的绝大部分资源。
基于xml 的移动终端网络浏览模型
模型概述
基于xml 的web 浏览方案是在传统的客户/服务器浏览模式中插入中间层。中间层接收客户端的服务请求,并与web 服务器通讯以获取所需要的html 文件,将此文件按一定规范进行过滤,去掉客户端不需要的标签及内容,重新组织成xml格式文件通过无线网络传送给客户端。经由xml解析器以后,调用gui 图形接口函数将网页显示在用户界面上。客户端浏览器的控制部分负责响应用户的请求,并处理与用户的交互。其结构如图1。
在无线网络浏览中使用xml 的优缺点
可扩展标记语言(xml: extensible markuplanguage) 是用来描述其它语言的元语言,定义了应用间传递数据的结构, 是能用任何编辑器读取的文本。利用这种机制,程序员可制定底层数据交换的规范,并在此基础上开发整个系统的各个模块,模块间传输符合既定规则的数据,适合计算机间传送结构化数据。
每种浏览器内置的文档解析器是最核心的部分之一,影响浏览器的运行效率和空间效率。由于xml 统一定义了其文档解析器的标准接口规范——dom( document object model),即文档对象模型,使得应用程序可按需选择、更换合适的解析器,无须对程序本身做大的改动。在浏览模型中, 将html 解析等计算量大的任务交由中间层服务器完成, 客户端进行较为简单的xml 解析, 符合瘦客户机/ 服务器的信息应用体系模式。当前使用xml 最大的问题是支持xml 的应用程序还不多, 许多具体应用还需要开发人员自行设计。
中间层实现的机制和原理
选择vc++ 6.0 为中间层的集成开发环境,中间层运行在后台服务器上, 采用模块化的设计。每个模块作为一个常规动态链接库( regular dll )单元, 由后台服务器需要时动态加载。
(1) 数个无线modem通过多串口卡连接在后台服务器上构成无线modem 池,为多个移动终端用户提供服务。客户端与服务器建立连接时, 先申请modem 池中的空闲资源并建立与后台服务器连接, 发送客户端浏览器服务请求,任务完成后释放modem 资源。如没有可用资源,等待一定时间后重新申请。
(2) 后台服务器通过有线网络接入internet,使用标准www 协议栈(http、tcp/ip 等)。与web 服务器通讯时主要使用cinternetsession,chttpconnection 和chttpfile 等3 个mfc 类。核心代码如下:
c i n t e r n e t s e s s i o n s e s s i o n ;
c h t t p c o n n e c t i o n * p s e r v e r = n u l l ;
c h t t p f i l e * p f i l e = n u l l ;
afxparseurl(purl,…);
初始化完成后, 将客户端的服务请求转化为标准统一资源定位符( url : uniform resourcelocator ), 并调用全局函数afxparseurl 分析映射此url。
pserver = session.gethttpconnection();
pfile = pserver->openrequest();
pfile->addrequestheaders();
pfile->sendrequest();
打开客户端请求特定http 连接,向web 服务器发送相应http 请求消息。
pfile->readstring();
web 服务器返回响应消息, 调用chttpfile类readstring 函数取得返回数据, 完成与web 服务器通讯。
(3) 选择dillo project 浏览器中的解析引擎作为解析过滤和组装模块的核心, 流程如图2。
html 解析部分对输入的html 数据流按html 语法特点逐字符分解成三类:
① space 数据类型: 所有ascii 码值在0x09- 0x0d 或0x20 的字符代表空格或占位信息。经space_proces 部分处理,以确定其长度。为保持html 排版格式基本不变,此类数
移动终端受移动性和便携性的制约,cpu 主频及计算能力较小,存储器容量、显示屏和输入设备大小也受到限制。同时,无线数据网带宽、连接可靠性及网络可预测性相对较低, 网络时延比有线网大。如果将移动终端通过无线方式直接接入internet,技术实现有困难。近年业界提出:一是重写现有internet 协议,使其与现有协议兼容,让移动设备透过微浏览器( micro-browser) 能通过无线网络使用internet 上所提供的针对wap 特别定制的资讯及服务。另是将移动终端当作功能简化的pc,并内置html 浏览器,虽可自由访问现有网络, 但由于现有internet 网站网页大量采用flash、shockwave 等技术,导致其体积庞大, 无线传输中耗时长,还要求移动终端具有较强运算能力,硬件投入较高。为此,对上述方式进行改进, 使其既可满足无线网络传输中数据量小的要求, 又可让用户获取现有网络上的绝大部分资源。
基于xml 的移动终端网络浏览模型
模型概述
基于xml 的web 浏览方案是在传统的客户/服务器浏览模式中插入中间层。中间层接收客户端的服务请求,并与web 服务器通讯以获取所需要的html 文件,将此文件按一定规范进行过滤,去掉客户端不需要的标签及内容,重新组织成xml格式文件通过无线网络传送给客户端。经由xml解析器以后,调用gui 图形接口函数将网页显示在用户界面上。客户端浏览器的控制部分负责响应用户的请求,并处理与用户的交互。其结构如图1。
在无线网络浏览中使用xml 的优缺点
可扩展标记语言(xml: extensible markuplanguage) 是用来描述其它语言的元语言,定义了应用间传递数据的结构, 是能用任何编辑器读取的文本。利用这种机制,程序员可制定底层数据交换的规范,并在此基础上开发整个系统的各个模块,模块间传输符合既定规则的数据,适合计算机间传送结构化数据。
每种浏览器内置的文档解析器是最核心的部分之一,影响浏览器的运行效率和空间效率。由于xml 统一定义了其文档解析器的标准接口规范——dom( document object model),即文档对象模型,使得应用程序可按需选择、更换合适的解析器,无须对程序本身做大的改动。在浏览模型中, 将html 解析等计算量大的任务交由中间层服务器完成, 客户端进行较为简单的xml 解析, 符合瘦客户机/ 服务器的信息应用体系模式。当前使用xml 最大的问题是支持xml 的应用程序还不多, 许多具体应用还需要开发人员自行设计。
中间层实现的机制和原理
选择vc++ 6.0 为中间层的集成开发环境,中间层运行在后台服务器上, 采用模块化的设计。每个模块作为一个常规动态链接库( regular dll )单元, 由后台服务器需要时动态加载。
(1) 数个无线modem通过多串口卡连接在后台服务器上构成无线modem 池,为多个移动终端用户提供服务。客户端与服务器建立连接时, 先申请modem 池中的空闲资源并建立与后台服务器连接, 发送客户端浏览器服务请求,任务完成后释放modem 资源。如没有可用资源,等待一定时间后重新申请。
(2) 后台服务器通过有线网络接入internet,使用标准www 协议栈(http、tcp/ip 等)。与web 服务器通讯时主要使用cinternetsession,chttpconnection 和chttpfile 等3 个mfc 类。核心代码如下:
c i n t e r n e t s e s s i o n s e s s i o n ;
c h t t p c o n n e c t i o n * p s e r v e r = n u l l ;
c h t t p f i l e * p f i l e = n u l l ;
afxparseurl(purl,…);
初始化完成后, 将客户端的服务请求转化为标准统一资源定位符( url : uniform resourcelocator ), 并调用全局函数afxparseurl 分析映射此url。
pserver = session.gethttpconnection();
pfile = pserver->openrequest();
pfile->addrequestheaders();
pfile->sendrequest();
打开客户端请求特定http 连接,向web 服务器发送相应http 请求消息。
pfile->readstring();
web 服务器返回响应消息, 调用chttpfile类readstring 函数取得返回数据, 完成与web 服务器通讯。
(3) 选择dillo project 浏览器中的解析引擎作为解析过滤和组装模块的核心, 流程如图2。
html 解析部分对输入的html 数据流按html 语法特点逐字符分解成三类:
① space 数据类型: 所有ascii 码值在0x09- 0x0d 或0x20 的字符代表空格或占位信息。经space_proces 部分处理,以确定其长度。为保持html 排版格式基本不变,此类数
上一篇:低相位噪声宽频带锁相频率源的设计