基于移动终端wap浏览器网络层的实现方法

文档序号:7955742阅读:224来源:国知局
专利名称:基于移动终端wap浏览器网络层的实现方法
技术领域
本发明涉及WAP浏览器技术领域,尤其是涉及一种基于移动终端WAP浏览器网络层的实现方法。
背景技术
WAP(wireless application protocol无线应用协议)是在数字移动电话、因特网或其他个人数字助理机(PDA)、计算机应用之间进行通讯的开放式全球标准。它是由一系列协议组成,用来标准化无线通信设备,这些标准定义了手机等无线设备怎样在无线网络中通信以及内容和业务怎样被发送到这些设备上并被执行。使用这些标准,手机可以与支持WAP的无线通信网络设施建立连接,并向它请求内容和业务,然后将查询到的内容和业务显示在手机屏幕上。WAP将移动网络和Internet以及公司的局域网紧密地联系起来,提供一种与网络类型、运行商和终端设备都独立的移动增值业务。这套标准不仅涉及手机生产商,也涉及网络运营商、业务提供商和内容提供商。
1998年4月WAP论坛推出其第一个标准版本WAP1.0。随后又相继推出了WAP1.1和WAP1.2版本。早期的WAP所能提供的服务很有限、质量也不高。究其原因,一方面是因为移动设备显示屏幕窄小、内存容量有限、CPU性能不足、可用带宽太小、传输时延大、连接不可靠所带来的局限性,另一方面WAP本身对各种平台不兼容、采用新技术少等原因也限制了其应用服务的开发和推广。
2001年8月,WAP论坛公布了WAP2.0版本。WAP2.0在WAP1.x的基础上做了很大的改进,对WAP协议的结构作了重大变革,采用了一些最新的标准和协议,以适应无线环境的变化和预期的市场需求。同时还定义了很多新的业务和应用。例如,它增加了新的移动网络承载,支持在互联网上广泛应用的HTTP/TLS/TCP等协议的无线版本,支持动态HTML语言以及CSS等新的Internet技术。
WAP2.0扩展增强了原有版本的功能,包括基于服务器的内容及其“推”(PUSH)机制。以往移动用户都是采用PULL(点播)方式来获取他们所需要的无线数据内容。然而对于那些信息更新速度快、信息产生频度高而且用户需求相对较为稳定的无线数据内容而言,再采用PULL方式无论对于用户还是内容提供商来说都过于烦琐和浪费资源。现在采用WAP PUSH技术即可方便地实现相关内容的及时传送和用户的快捷获取(single click to WAP content)。
WAP PUSH技术可以把多种媒体格式的数据整合为一个完整的WAP应用,从而产生了MMS等新的消息模式。对于移动用户而言,他们可以订购他们所感兴趣的内容也可以收到那些直接由内容提供商“推送”下来的有价值的消息(例如促销或打折信息),从而进一步养成移动数据消费习惯。同时对于内容提供商或公司而言他们可以把那些重要的或用户感兴趣的信息第一时间就推送给用户,从最大程度上避免了由于时间过长而导致无效信息的产生。WAP2.0还采用了WTLS(Wireless Transport Layer Security)无线传送层安全技术和WIM(Wireless Identity Module)无线身份识别模块技术,使得其支持多种鉴权方式(匿名访问、客户端鉴权和服务器端鉴权)、安全会话控制和数字签名等多种安全措施,比较WAP1.x能够提供更为完善和有效的端到端的安全机制。
另外WAP2.0还增加了用户代理定制、WTA(无线电话应用)等。同时WAP2.0新增了很多有用的功能,例如外部功能接口、永久存储接口、数据同步、支持MMS。随着移动运营商移动数据网络带宽的不断增大以及用户移动数据消费习惯的养成,这些新业务和新应用也具备了推出的基本条件。可以预计WAP2.0将大大推动移动互联网的发展。
对于嵌入式系统中,基于移动终端的浏览器来说,必须要支持WAP协议,同时,针对移动终端特定的硬件环境,提供定制化的网络协议服务。
目前已有的文献和公开资料中,移动终端WAP浏览器的网络层基于单协议,或者是WAP1.2,或者是WAP2.0,没有很好的考虑到对于两个协议的兼容问题。

发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于移动终端WAP浏览器网络层的实现方法。
为了解决上述技术问题,本发明是通过以下技术方案实现的
本发明中基于移动终端WAP浏览器网络层的实现方法,包括以下步骤(1)协议栈拆分在网络层中构造双协议栈架构,将WAP1.2协议栈和WAP2.0协议栈按各自的层次结构拆分,并将两种协议同时容纳在一个新的协议栈中,以实现对WAP1.2和WAP2.0两种协议栈的支持;(2)协议栈的设计封装对新的协议栈进行封装,向上提供一个统一的接口使用协议栈抽象层来封装,抽象WAP1.2和WAP2.0两个协议栈,屏蔽其差异,使得新的协议栈对于WAP浏览器是完全透明,从而使WAP浏览器上层不参与管理;(3)网络接口处理在移动终端与网络连接上以后,WAP浏览器网络接口为连接生成一个处理进程,负责处理该连接。
作为本发明的一种改进,在所述步骤(1)至(3)中,具体的处理通过如下步骤实现1)当网络连接可用时,WAP浏览器网络层为该连接生成一个处理进程,该进程负责处理连接状态、接收连接数据;2)每当有正确的下载请求时,处理进程创建一个线程来实现,为该下载生成一个实例。
与现有技术相比,本发明的有益效果是本发明具有的有益的效果是(1)兼容性。本发明可以支持WAP1.2和WAP2.0,支持多种浏览器协议,并且这些支持是可扩展的。
(2)可重用性。本发明中的协议栈是经过了封装而形成的,该封装采用了标准统一接口,由于封装的结果,原有的分散实现的函数或者功能,现在成为了具有统一接口的函数库,适合反复使用。


图1是本发明实施方法示意图;图2是WAP1.2协议栈的结构示意图;图3是WAP2.0协议栈的结构示意图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的说明(1)对协议栈的分析和拆分无线应用协议WAP,wireless application protocol,是在数字移动电话、因特网或其他个人数字助理机PDA,Personal Digital Assistant、计算机应用之间进行通讯的开放式全球标准,由一系列协议组成,用来标准化无线通信设备,这些标准定义了手机等无线设备怎样在无线网络中通信以及内容和业务怎样被发送到这些设备上并被执行;基于移动终端的WAP浏览器支持WAP2.0协议,而WAP2.0协议兼容WAP1.x协议。WAP1.x协议采用的协议栈是无线会话协议栈(WSP协议栈),共分以下几层会话协议层(WSP),事务协议层(WTP),安全层(WTLS),传输协议层(WDP),承载层(CDMA,GPRS,GSM等)。
WAP1.x采用内容编码和解码技术,接收与发送的数据均为二进制编码,它不能直接浏览现在Internet上的服务器内容,必须通过专门的网关为它转换为特有的二进制WML编码。由上可见,虽然WAP1.x是专门针对移动设备的带宽小,处理速度较低等问题设计对一套协议,但由于它与现有网络中的通用标准协议TCP/IP不兼容,引入了网关这一“额外”设备,以及标识语言不兼容且表现形式过于简单,使得它在诞生的这些年里并没有得到很好的发展。
随着网络,特别是终端的发展,移动网络与固定网络在传输性能上的差异减小,WAP2.0在协议实现上更接近固定网络的成熟协议(TCP,HTTP),但为保证对于已有的只支持WAP1.2的手机的兼容,WAP1.2协议栈结构如图2,还必须提供对WAP1.2协议栈的支特,因此WAP2.0采用双协议栈架构包括WAP1.2协议栈和WAP2.0协议栈。对能提供IP连接的承载,WAP2.0协议栈用WP-TCP代替了WAP1.2中的WSP/WTP/WDP,对不能提供IP连接的承载,依然采用WSP/WTP/WDP协仪栈。
WAP2.0技术是一个从WAP1.x向现有网络的HTTP/TCP/IP形式回归的过渡性技术,既有旧的WAP1.x,又有现行的TCP/IP,要更好支持WAP2.0,只有兼容这两种传输协议,WAP2.0协议栈结构如图3。
本实施例中,在网络层中构造双协议栈架构,将WAP1.2协议栈和WAP2.0协议栈按各自的层次结构拆分,并将两种协议同时容纳在一个新的协议栈中,以实现对WAP1.2和WAP2.0两种协议栈的支持;2)协议栈的设计封装在WAP2.0中,浏览器对象的是WHTTP和WSP这两种,这两种协议分属于不同的协议栈,采用不同的编码原则。对此通过对拆分后的两个协议栈进行封装,向上提供一个统一的接口,使用协议栈抽象层来封装,抽象WAP1.2和WAP2.0两个协议栈,屏蔽其差异,使得协议栈对于浏览器是完全透明的,从而使WAP浏览器上层不参与管理,具体工作如下A、以HTTP协议为原型,抽象出统一接口GET(),POST()。
B、封装安全接口。
3)网络接口处理页面的浏览与页面原素的下载应该是异步的,也就是应该允许用户在浏览已经下载的页面同时还可以申请新的页面元素下载,这样,网络部分就设计为一个进程模块,而下载部分则用线程来实现,每当有正确的下载请求时,生成一个实例,并且,下载也是多样性的,有页面下载、有图片下载、还有脚本、外链样式表等的下载,在有多个下载请求的时候就需要我们对各个下载线程做优先判断,选择最优的下载线程。
根据WAP2.0协议,WAP PUSH终端的HTTP客户端必须支持HTTP 1.1定义的下列方法[RFC2616]GET、POST。
如果支持TLS,则WAP终端的HTTP客户端必须支持下列HTTP方法[RFC2616]CONNECT。
对于一个具体的实现示例如下I、函数原型int get(char *url,xhtmldata *buffer,int size,inttype)函数说明返回值是int型,当大于等于9时,成功取得数据,否则失败。
Char *url//请求网址Char *buffer //取得内容所放的地址Int size //内容大小Int type //要取得的数据II、函数原型int post(char *url,xhtmldata *buffer,int size)
函数说明返回值是int型,当大于等于9时,成功发出数据,否则失败。
Char *url//请求网址Char *buffer //传输内容所放的地址Int size //内容大小III、xhtmldata说明网络层读取数据返回数据类型定义structure xhtmldata{enum datatype returndatarype;//返回数据类型1、错误、2数据(数据、图像、css、js)char dataname; //数据具体名称char datalenth; //数据长度char*xhtmlstring;//数据地址=xhtml}VI、datatype分类enum datatype{e401,e404,rfile,rcss,rjs,rjpg,rbmp,rgif}//e开头为error,r开头为right最后,还需要注意的是,以上列举的仅是本发明的具体实施例子。显然,本发明不限于以上实施例子,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
权利要求
1.一种基于移动终端WAP浏览器网络层的实现方法,包括以下步骤(1)协议栈拆分在网络层中构造双协议栈架构,将WAP1.2协议栈和WAP2.0协议栈按各自的层次结构拆分,并将两种协议同时容纳在一个新的协议栈中,以实现对WAP1.2和WAP2.0两种协议栈的支持;(2)协议栈的设计封装对新的协议栈进行封装,向上提供一个统一的接口使用协议栈抽象层来封装,抽象WAP1.2和WAP2.0两个协议栈,屏蔽其差异,使得新的协议栈对于WAP浏览器是完全透明,从而使WAP浏览器上层不参与管理;(3)网络接口处理在移动终端与网络连接上以后,WAP浏览器网络接口为连接生成一个处理进程,负责处理该连接。
2.根据权利要求1所述的一种基于移动终端WAP浏览器网络层的实现方法,其特征在于在所述步骤(1)至(3)中,具体的处理通过如下步骤实现1)当网络连接可用时,WAP浏览器网络层为该连接生成一个处理进程,该进程负责处理连接状态、接收连接数据;2)每当有正确的下载请求时,处理进程创建一个线程来实现,为该下载生成一个实例。
全文摘要
本发明涉及WAP浏览器技术领域,旨在提供一种基于移动终端WAP浏览器网络层的实现方法。包括WAP1.2和WAP2.0协议协议栈拆分、协议栈的设计封装、向上提供一个统一的接口后,WAP浏览器网络接口为连接生成一个处理进程,负责处理该连接。本发明可以支持WAP1.2和WAP2.0,支持多种浏览器协议,并且这些支持是可扩展的。本发明中的协议栈是经过了封装而形成的,该封装采用了标准统一接口,由于封装的结果,原有的分散实现的函数或者功能,现在成为了具有统一接口的函数库,适合反复使用。
文档编号H04L29/08GK1829234SQ20061005027
公开日2006年9月6日 申请日期2006年4月10日 优先权日2006年4月10日
发明者陈天洲, 胡威, 王祥生, 沙峰 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1