現(xiàn)方法,在描述本方法之 前,先結(jié)合圖3所示的解析圖提供一下本實施例中中間代理轉(zhuǎn)換瀏覽模式下對中間件適配 設(shè)備的深入解析過程。
[0032] 如圖3所示,在中間代理模式中,整個手機客戶端發(fā)起的頁面請求,到交互完成一 共可以分為三大設(shè)備:即Web服務器(或web服務器、web應用服務器),中間件適配設(shè)備(中 間件適配設(shè)備)和移動終端(或瀏覽器客戶端);共計6個步驟,即上述的xl,x2,yl,y2,zl 和z2共6個過程。
[0033] 在這個六個過程中,中間件適配設(shè)備分別承擔WEB服務器和瀏覽器客戶端兩種角 色,其中,在xl,y2和zl過程中承擔WEB服務器角色,在其余的三個過程中承擔瀏覽器客戶 角色。
[0034] 現(xiàn)有的中間件處理裝置將焦點集中在了xl和y2過程中,在xl過程中獲得屏幕的 分辨率,而在y2過程之前,將圖片等信息壓縮成對應分辨率大小,從而達到數(shù)據(jù)壓縮的目 的。
[0035] 而經(jīng)過本實施例的分析和發(fā)現(xiàn),在整個傳輸過程中的yl和z2兩個分步過程也存 在著可以優(yōu)化的空間。因此在本實施例中定義從WEB服務器到中間件適配設(shè)備的yl過程 為數(shù)據(jù)下行過程,定義從中間件適配設(shè)備到WEB新服務器的z2過程為上行過程。
[0036] 在下行過程中,從Web服務器下行到中間件適配設(shè)備的代碼基本可以包含如下幾 個部分:
[0037] a-界面描述部分,即稍后在瀏覽器或者通過y2過程展現(xiàn)在手機端形成與用戶 的直接交互界面部分
[0038] P-上行時的傳遞請求地址,即定義瀏覽器稍后將交互填充數(shù)據(jù)返回指定位置的 地址
[0039] Y-用戶交互請求參數(shù),即定義用戶可見的交互參數(shù),供用戶手工填寫內(nèi)容的部 分
[0040] A-隱藏交互參數(shù),即一些同樣需要參與到運算過程中的,但并不被用戶進行交 互式操作,甚至不被用戶所看見的隱含參數(shù),如與瀏覽器客戶端界面展現(xiàn)無關(guān)的參數(shù)等。通 常包含在Html(超文本標記語言)節(jié)點中hidden(隱藏)域中。通常在多步連動式操作中, 用戶存儲上一次交互或上幾次交互的用戶交互式數(shù)據(jù),僅用于用戶的最后一次交互的內(nèi)容 的完整提交。
[0041] 在z2過程中,需要向WEB服務器提交的參數(shù)為a+e+Y' +A,其中Y'為填充 用戶的實時交互數(shù)據(jù)后的參數(shù),可以特別注意到,在yl和z2整個傳輸過程中,△部分前后 并未發(fā)生變化,也就是在y2和z1過程中,△參數(shù)區(qū)域是完全可以忽略不參與到過程中,而 本實施例中就是試圖在yl過程發(fā)起后到中間件適配設(shè)備后,由適配設(shè)備截取其中的A部 分參數(shù),將其余需要參與用戶實際交互的部分從新組裝成頁面發(fā)送到客戶端,完成y2和zl 的交互階段,同時在zl階段收到交互內(nèi)容后,由中間件適配設(shè)備重新將△參數(shù)區(qū)域與補充 了用戶數(shù)據(jù)的Y'混合,并按照原網(wǎng)站的組織格式,將Y' +A重新組合,以GET、P0ST或原 WEB服務器支持的其他HTTP提交模式提交回WEB服務器,完成完整交互。
[0042] 這樣在y2和zl過程中,由于取消了重復參數(shù)A的內(nèi)容,使得交互內(nèi)容進一步減 小,卻沒有改變當前交互的語義環(huán)境,從而實現(xiàn)基于參數(shù)內(nèi)容的裁剪實現(xiàn)內(nèi)容壓縮目的,達 到加速網(wǎng)絡(luò)傳輸?shù)男Ч?br>[0043] 基于上述分析,如圖4所示,本實施例中的方法主要包括:
[0044] 步驟101,中間件適配設(shè)備將移動客戶端發(fā)起的頁面請求轉(zhuǎn)發(fā)到web服務器,并接 收到web服務器返回的頁面請求響應。
[0045] 具體實現(xiàn)方式可參照下述步驟201-204。
[0046] 步驟102,中間件適配設(shè)備根據(jù)預設(shè)的下行模板截留頁面請求響應中的非關(guān)鍵頁 面數(shù)據(jù),并將截留后的頁面請求響應發(fā)送到移動客戶端。
[0047] 其中,中間件適配設(shè)備根據(jù)預設(shè)的下行模板截留頁面請求響應中的非關(guān)鍵頁面數(shù) 據(jù),具體包括:
[0048] 中間適配設(shè)備根據(jù)頁面請求響應中URL匹配出對應的規(guī)則模板;
[0049] 根據(jù)對應的規(guī)則模板截取頁面請求中的不必要的頁面元素參數(shù)并保存;根據(jù)規(guī)則 模板中的規(guī)則和請求頁面響應中的頁面代碼確定包含與移動客戶端頁面展示無關(guān)的參數(shù) 的留存區(qū)域,從頁面請求響應中截取留存區(qū)域中的參數(shù),并將該截取的參數(shù)按照規(guī)則模板 中的條目順序分離成參數(shù)名和參數(shù)值,將分離后的參數(shù)名和參數(shù)值存入留存緩存區(qū)。
[0050] 需要說明的是:本實施例中可被過濾掉的非關(guān)鍵頁面數(shù)據(jù)可以認為主要包括兩 部分,一部分為不必要的頁面元素參數(shù)(如與頁面展示無關(guān)的、或與協(xié)議格式有關(guān)但不影響 解析內(nèi)容的標簽元素和不必要的JS代碼)。一部分為與移動客戶端頁面展示無關(guān)的參數(shù)。 實際上非關(guān)鍵頁面數(shù)據(jù)是要從頁面請求響應中過濾掉的部分,只不過過濾后并沒有被對丟 棄,而是保存和/或存入hidden域中,因此在本實施例中被稱為截留。
[0051] 具體實現(xiàn)方式可參照下述步驟205-206。
[0052] 步驟103,中間件適配設(shè)備接收到移動客戶端更新后的頁面請求,并根據(jù)預設(shè)的上 行模板將截留的非關(guān)鍵頁面數(shù)據(jù)組合并封裝到更新后的頁面請求中后發(fā)送到web服務器。
[0053] 具體實現(xiàn)方式可參照下述步驟207-210。
[0054] 其中,上述根據(jù)預設(shè)的上行模板將截留的非關(guān)鍵頁面數(shù)據(jù)組合并封裝到更新后的 頁面請求中,具體包括:
[0055] 根據(jù)預設(shè)的上行模板中的讀取規(guī)則讀取更新后的頁面請求中的交互參數(shù)內(nèi)容;將 交互參數(shù)內(nèi)容與截留的非關(guān)鍵頁面數(shù)據(jù)中的存入留存緩存區(qū)里的參數(shù)內(nèi)容進行匹配,形成 參數(shù)名稱和參數(shù)值的組合形式;將匹配后的參數(shù)名稱和參數(shù)值組合按照上行模板中的指定 順序重新排序;將排序后的參數(shù)名稱和參數(shù)值組合以及保存的不必要的頁面元素參數(shù)添加 到更新后的頁面請求中。
[0056] 中間件適配設(shè)備與web服務器之間采用HTTP協(xié)議;相應地,中間件適配設(shè)備將來 自移動客戶端的頁面請求轉(zhuǎn)換成HTTP協(xié)議的格式。
[0057] 本實施例中的中間件可通過Webparser技術(shù)(類似爬蟲原理)實現(xiàn)Web設(shè)備的web 數(shù)據(jù)抓取,進行Html元數(shù)據(jù)的數(shù)據(jù)分析,通過預設(shè)的上下行模板干預移動客戶端與web設(shè) 備之間的交互過程,在實際訪問時,通過模板的預定義規(guī)則實現(xiàn)將web頁面非關(guān)鍵頁面數(shù) 據(jù)進行截留和將非關(guān)鍵頁面數(shù)據(jù)與進行重新組合和封裝入客戶端反饋的更新后的頁面請 求中的過程,實現(xiàn)客戶端小流量數(shù)據(jù)傳輸,加速客戶端與web系統(tǒng)的數(shù)據(jù)交互。
[0058] 下面具體以web設(shè)備采用http協(xié)議為例,進一步詳細說明本發(fā)明中的方法,如圖 5所示,包括:
[0059] 步驟201,手機客戶端發(fā)起頁面請求;
[0060] 步驟202,中間件適配設(shè)備將手機客戶端發(fā)起的頁面請求轉(zhuǎn)化為可請求WEB服務 器的HTTP協(xié)議格式;
[0061] 203,中間件適配設(shè)備將轉(zhuǎn)化完成的HTTP格式的頁面請求發(fā)給WEB服務器;
[0062] 204,WEB服務器返回HTTP格式頁面請求響應至中間件適配設(shè)備;
[0063] 205,中間件適配設(shè)備根據(jù)下行模板對返回的HTTP請求響應進行分析及篩選,截 留并保存不需要的HTTP元素,如不必要的標簽元素和JS代碼;并將與手機客戶端界面展現(xiàn) 無關(guān)的參數(shù)緩存進Hidden域中,緩存完成后將請求響應轉(zhuǎn)化為節(jié)省網(wǎng)絡(luò)流量的手機客戶 端請求格式。
[0064] 具體而言,在上行和下行過程中,常規(guī)做法為編寫可被編譯為機器執(zhí)行