專利名稱:基于移動終端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日
發明者陳天洲, 胡威, 王祥生, 沙峰 申請人:浙江大學