• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種網(wǎng)頁轉(zhuǎn)換技術(shù)的研究

      2018-07-12 09:37:50鄭海能葉阿真
      電腦知識與技術(shù) 2018年14期

      鄭海能 葉阿真

      摘要:移動終端自適配網(wǎng)頁與普通WEB網(wǎng)站的頁面,有比較大的差別。自適配網(wǎng)頁具有界面元素少,效率高,樣式自動適配,一般來講應(yīng)用于手機(jī),移動pad等設(shè)備上;而普通WEB頁面,是重量級的WEB元素載體,元素眾多,加載過程比較緩慢,占用的資源多,適用于PC訪問,服務(wù)器處理等。普通WEB的轉(zhuǎn)換,經(jīng)常需要構(gòu)建在Nginx,Tomcat等之上,而自適配網(wǎng)頁由于其簡單,資源使用少的特性,自適配網(wǎng)頁轉(zhuǎn)換可以采用簡便的技術(shù)框架來實(shí)現(xiàn)。

      關(guān)鍵詞:頁面轉(zhuǎn)換;移動終端自適配網(wǎng)頁轉(zhuǎn)換;轉(zhuǎn)換技術(shù)

      中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)14-0039-02

      目前,許多企業(yè)的web服務(wù)是架設(shè)在企業(yè)內(nèi)網(wǎng)的,而訪問和使用web服務(wù)的用戶處于互聯(lián)網(wǎng)。 在企業(yè)內(nèi)網(wǎng)和互聯(lián)網(wǎng)之間,一般不能直接互聯(lián)。由于企業(yè)內(nèi)部的拓?fù)浼軜?gòu),網(wǎng)絡(luò)等不適合暴露給互聯(lián)網(wǎng),因此通常的做法是在企業(yè)內(nèi)網(wǎng)和互聯(lián)網(wǎng)直接,構(gòu)建一個轉(zhuǎn)換層,作為反向轉(zhuǎn)換服務(wù)組件使用,實(shí)現(xiàn)外網(wǎng)到內(nèi)網(wǎng)的訪問。如:電信企業(yè)使用裝維寶APP自身實(shí)現(xiàn)某些功能,在展示工單信息時,點(diǎn)擊工單連接,能夠連接到CRM提供的工單查詢頁面,展示CRM工單查詢自適配網(wǎng)頁的內(nèi)容。

      1 移動終端自適配網(wǎng)頁的特點(diǎn)分析

      移動終端自適配網(wǎng)頁是指第5代HTML(超文本標(biāo)記語言),也指用H5語言制作的一切數(shù)字產(chǎn)品。網(wǎng)上的網(wǎng)頁,多數(shù)都是由HTML寫成的?!俺谋尽笔侵疙撁鎯?nèi)可以包含圖片、鏈接,甚至音樂、程序等非文字元素。而“標(biāo)記”指的是這些超文本必須由包含屬性的開頭與結(jié)尾標(biāo)志來標(biāo)記。瀏覽器通過解碼HTML,就可以把網(wǎng)頁內(nèi)容顯示出來[1~3]。

      由于自適配網(wǎng)頁提供了全新的框架和平臺,包括提供免插件的音視頻、圖像動畫、本體存儲以及更多酷炫而且重要的功能,許多資源都可以直接在H5框架上承載,因此在進(jìn)行轉(zhuǎn)換的時候,更要注重資源地址的緩存。

      2 網(wǎng)頁轉(zhuǎn)換的基本流程

      轉(zhuǎn)換實(shí)現(xiàn)業(yè)務(wù)流程分2步:

      1) 頁面能力注冊

      類似CRM、集團(tuán)等平臺(以下稱為HTTPServer)把需要開放出來給其他系統(tǒng)共用的頁面向轉(zhuǎn)換服務(wù)器注冊,使得服務(wù)器能夠了解服務(wù)端信息,調(diào)用地址,URL參數(shù)要求等并對外開放。

      2) HTTP轉(zhuǎn)換轉(zhuǎn)發(fā)

      其他需要訪問移動終端自適配網(wǎng)頁的系統(tǒng)(稱為HTTPClient)直接連接到轉(zhuǎn)換服務(wù)端,通過轉(zhuǎn)換中間層來訪問這些開放的界面。流程圖如下:

      詳細(xì)流程:

      以下說明HTTPClient、Proxy模塊、HTTPServer三者的交互及實(shí)現(xiàn)機(jī)制約定。

      HTTPClient具體功能:

      a) 頁面集成h5的開放H5界面。

      b) 調(diào)用Proxy服務(wù),獲取令牌。

      c) 調(diào)用移動終端自適配網(wǎng)頁(send http request Header),通過HTTP/HTTPS方式(Post/Get/Connect)獲取需要的頁面能力,其所請求的URL地址中需要攜帶access_token以及業(yè)務(wù)上所需要的參數(shù)。

      注:對完全開放能力(無須鑒權(quán)),則不需要進(jìn)行token生產(chǎn),獲取??芍苯釉L問開放的移動終端自適配網(wǎng)頁。

      HTTPServer:提供移動終端自適配網(wǎng)頁的服務(wù),當(dāng)Proxy向HTTPServer請求訪問頁面時,能根據(jù)業(yè)務(wù)響應(yīng)結(jié)果輸出移動終端自適配網(wǎng)頁。

      Proxy功能:包括

      a) 令牌生產(chǎn)服務(wù):Proxy根據(jù)一定的算法來生成access_token 。訪問網(wǎng)元可以向Proxy請求獲取令牌。

      b) 實(shí)現(xiàn)HTTP轉(zhuǎn)換功能,接收HTTPClient 的請求數(shù)據(jù),向HTTPServer發(fā)起請求。

      c) 接收HTTPServer響應(yīng)數(shù)據(jù),更新數(shù)據(jù)包中資源地址信息,并輸出到HTTPClient.

      3 Proxy設(shè)計

      Proxy實(shí)現(xiàn)的流程:

      1)令牌生產(chǎn)服務(wù):Proxy根據(jù)一定的算法來生成access_token 。訪問網(wǎng)元可以向Proxy請求獲取令牌。

      2)實(shí)現(xiàn)HTTP轉(zhuǎn)換功能,接收HTTPClient 的請求數(shù)據(jù)。

      a) HTTPClient向EOPproxy模塊發(fā)送HttpRequest(GET/POST);

      b) Proxy模塊讀取請求頭,抽取出請求的具體目標(biāo)服務(wù)器HOST和PORT;

      c) 進(jìn)行URL解析,并鑒權(quán)(包含令牌校驗(yàn),IP校驗(yàn),訪問權(quán)限校驗(yàn)),轉(zhuǎn)換URL信息(如剔除access_token信息,),生成目標(biāo)URL地址。

      d) Proxy把請求頭發(fā)送給目標(biāo)服務(wù)器;

      e) Proxy建立管道,供客戶端和目標(biāo)服務(wù)器通信。(一般是把輸入輸出IO流的數(shù)據(jù)雙向讀寫)。

      TOKEN令牌生成服務(wù):

      Proxy 提供令牌生成服務(wù)和令牌校驗(yàn)服務(wù)。

      1)令牌授權(quán)依據(jù)一定的時間(不同頁面的令牌時間不同,可設(shè)置)。

      訪問者當(dāng)令牌失效或錯誤時,可以申請重新生成。

      訪問方第一次發(fā)起時,向Proxy獲取令牌,在設(shè)置的有效期內(nèi)可以一直使用。

      時間過期后,重新獲取。

      2)令牌生成規(guī)則:

      String t=請求網(wǎng)元編號||目標(biāo)頁面能力索引||訪問網(wǎng)元的私鑰信息|| 獲取當(dāng)前時間||有效期

      注意:如果訪問網(wǎng)元信息為空,則隨機(jī)產(chǎn)生一串32位字符串,替換私鑰信息的值。

      Access_token=MD5(string t)

      3)令牌獲取作為單獨(dú)的一個服務(wù)存在。

      4 高性能的進(jìn)程設(shè)計模式

      如果一個server采用一個進(jìn)程負(fù)責(zé)一個request的方式,那么進(jìn)程數(shù)就是并發(fā)數(shù)。那么顯而易見的,就是會有很多進(jìn)程在等待中。等什么?最多的應(yīng)該是等待網(wǎng)絡(luò)傳輸。其缺點(diǎn)就是并發(fā)程度低,性能不足。

      參考nginx 的異步非阻塞工作方式,利用了這點(diǎn)等待的時間。在需要等待的時候,這些等待進(jìn)程就空閑出來待命了。因此少數(shù)幾個進(jìn)程就解決了大量的并發(fā)問題。

      自適配網(wǎng)頁轉(zhuǎn)換模塊需要如何利用進(jìn)程的?舉例同樣的4個進(jìn)程,如果采用一個進(jìn)程負(fù)責(zé)一個request的方式,那么,同時進(jìn)來4個request之后,每個進(jìn)程就負(fù)責(zé)其中一個,直至?xí)掙P(guān)閉。在此期間,如果有第5個request進(jìn)來了。就無法及時反映了,因?yàn)?個進(jìn)程都沒干完活。因此,一般有個調(diào)度進(jìn)程,每當(dāng)新進(jìn)來了一個request,就新開個進(jìn)程來處理。因此轉(zhuǎn)換模塊不適合這樣設(shè)計。

      自適配網(wǎng)頁的轉(zhuǎn)換模塊可以采用每進(jìn)來一個請求,會有一個工作進(jìn)程去處理。但不是全程的處理,處理到可能發(fā)生阻塞的地方,比如向上游(后端)服務(wù)器轉(zhuǎn)發(fā)request,并等待請求返回。這個處理的工作進(jìn)程不會這么等著,他會在發(fā)送完請求后,注冊一個事件:“如果upstream返回了,通知我,我再接著干”,然后休眠該進(jìn)程。此時,如果再有request 進(jìn)來,工作進(jìn)程就可以很快再按這種方式處理。而一旦上游服務(wù)器返回了,就會觸發(fā)這個事件,該進(jìn)程才會來接手,這個請求才會接著往下走。

      由于web server的工作性質(zhì)決定了每個request的大部分生命都是在網(wǎng)絡(luò)傳輸中,實(shí)際上花費(fèi)在服務(wù)器上的時間不多。這樣幾個進(jìn)程就能解決高并發(fā)的性能問題。

      5 總結(jié)

      本文通過分析自適配網(wǎng)頁與普通web的差異,提出了一種解決自適配網(wǎng)頁轉(zhuǎn)換的資源轉(zhuǎn)換的方案,該方案的實(shí)現(xiàn)與現(xiàn)有web轉(zhuǎn)換技術(shù),如Nginx,Tomcat等有著本質(zhì)上的區(qū)別,相對來講流程更簡單,技術(shù)實(shí)現(xiàn)更方便了,并且提供了令牌的授權(quán)機(jī)制,能夠有效地進(jìn)行訪問控制。最后描述了高性能進(jìn)程的設(shè)計方案,以盡可能提高轉(zhuǎn)換模塊的性能。

      參考文獻(xiàn):

      [1] 杜友福,程彩鳳,趙鳴. 搜索引擎中智能代理技術(shù)及啟發(fā)式搜索策略研究[J]. 長江大學(xué)學(xué)報(自然科學(xué)版)理工卷,2009,6(02):63-65+407.

      [2] 李紹英. 基于代理技術(shù)的比較購物研究[J]. 當(dāng)代經(jīng)理人,2006(10):95-96.

      [3] 劉正東,張秉權(quán). 實(shí)時瀏覽翻譯網(wǎng)站的搜索引擎代理技術(shù)[J]. 兵工自動化,2001(02):54-56.

      文昌市| 响水县| 宁乡县| 怀来县| 南郑县| 醴陵市| 津市市| 日喀则市| 琼中| 宜章县| 通海县| 富蕴县| 昆明市| 社会| 英吉沙县| 荃湾区| 化德县| 平乡县| 万全县| 阜新| 渭南市| 栾川县| 淮南市| 靖宇县| 荃湾区| 咸宁市| 莆田市| 东光县| 武宣县| 顺昌县| 汽车| 团风县| 申扎县| 金湖县| 海南省| 特克斯县| 桐柏县| 西城区| 于都县| 新宾| 务川|