亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式瀏覽器設(shè)計的幾個技術(shù)難點研究

        2010-11-15 07:49:48
        湖南科技學(xué)院學(xué)報 2010年12期
        關(guān)鍵詞:瀏覽器網(wǎng)頁嵌入式

        唐 云

        (湖南科技學(xué)院 電子信息工程系,湖南 永州 425100)

        嵌入式瀏覽器設(shè)計的幾個技術(shù)難點研究

        唐 云

        (湖南科技學(xué)院 電子信息工程系,湖南 永州 425100)

        本文主要探討了在嵌入式瀏覽器設(shè)計的三個技術(shù)難點問題,即如何提高瀏覽速度、解決嵌入式系統(tǒng)資源有限問題以及增強解析容錯性。

        嵌入式系統(tǒng);瀏覽器;HTML

        1 引 言

        隨著信息技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,數(shù)字電視、PDA等數(shù)字多媒體和信息設(shè)備日益普及,計算機的發(fā)展已顯示出微型化、智能化、網(wǎng)絡(luò)化的趨勢。嵌入式瀏覽器已成為嵌入式系統(tǒng)中重要的應(yīng)用軟件,而將瀏覽器技術(shù)與嵌入式系統(tǒng)技術(shù)進行集成,實現(xiàn)完整的數(shù)字軟件平臺是嵌入式系統(tǒng)的一個發(fā)展趨勢。本文主要從提高瀏覽速度,節(jié)省系統(tǒng)資源,增強解析容錯性三個方面探討嵌入式瀏覽器的設(shè)計的技術(shù)問題。

        2 瀏覽速度問題

        由于嵌入式系統(tǒng)的CPU處理能力弱,使得速度慢,因此可以通過一些技術(shù)來掩蓋其速度慢的缺陷,如:邊下載邊顯示,緩存技術(shù)等。邊下載邊顯示的流程是這樣的,瀏覽器先從網(wǎng)上下載一塊數(shù)據(jù)資源(假定為1.5K),然后等待下一塊數(shù)據(jù)的到來。在這段時間內(nèi)瀏覽器解析顯示已經(jīng)下載的數(shù)據(jù),而不是傻等。這樣就使資源下載和解析處理同步進行,提高了瀏覽器的表現(xiàn)速度。用戶感覺到的僅僅是下載第一塊數(shù)據(jù)花費的延遲時間。但是邊下載邊顯示增加了瀏覽器實現(xiàn)的難度,如詞法分析器、語義分析器和排版處理器需要保留當前處理位置和狀態(tài)等,還要考慮各部分之間的同步問題。并且邊下載邊顯示技術(shù)只適用于大網(wǎng)頁處理,而對內(nèi)容短小的網(wǎng)頁則不適用;因為一個數(shù)據(jù)塊已經(jīng)可以將整個網(wǎng)頁取回來了。

        我們的瀏覽器主要采取的是網(wǎng)頁預(yù)取和緩存技術(shù)相結(jié)合來提高網(wǎng)頁的瀏覽速度,其實現(xiàn)的原理如下。

        緩存管理模塊負責網(wǎng)頁、圖像的裝載、淘汰操作。緩存是指為將來可能要用到的信息數(shù)據(jù)開辟的一個緩沖區(qū), 根據(jù)緩存數(shù)據(jù)存放的位置可將緩存分為內(nèi)存緩存和磁盤緩存兩種。桌面瀏覽器一般采用磁盤緩存,嵌入式系統(tǒng)因為體積和成本等原因通常沒有提供磁盤,有的嵌入式系統(tǒng)甚至沒有文件系統(tǒng),所以嵌入式瀏覽器一般只能使用內(nèi)存作為緩存區(qū),即采用內(nèi)存緩存方式。在嵌入式環(huán)境中,緩存直接影響嵌入式瀏覽器的工作效率,用戶上網(wǎng)瀏覽信息時,經(jīng)常會使用“返回”等功能來訪問以前的頁面,此時如果網(wǎng)頁數(shù)據(jù)保存在緩存中,則不需要再次網(wǎng)絡(luò)中獲取數(shù)據(jù),從而大大提高了網(wǎng)頁瀏覽速度。而網(wǎng)頁預(yù)取可以預(yù)測用戶將要用到的資源,并把其下載下來并緩存起來,這也大大提高了網(wǎng)頁瀏覽速度。緩存的實現(xiàn)流程如下圖所示:

        2.1 網(wǎng)頁預(yù)取

        網(wǎng)頁預(yù)取技術(shù)就是預(yù)測用戶將來的請求,并且在用戶請求之前,將預(yù)測的網(wǎng)頁對象預(yù)取到緩存中,這樣當用戶以后真正請求這些對象時,可以直接從緩存中讀取,這樣就提高了網(wǎng)頁的瀏覽速度。但是,如果預(yù)取的對象是不正確的,那么將會造成對服務(wù)器負載的增加和緩存資源的浪費。所以設(shè)計一套優(yōu)良的網(wǎng)頁預(yù)取算法是非常重要的。

        (1)預(yù)取算法研究

        預(yù)取算法的核心就是預(yù)測最近的將來用戶最可能訪問的網(wǎng)頁對象。而預(yù)測的信息來源主要有兩個[1]:一個是訪問歷史的統(tǒng)計信息,另一個是被訪問的對象本身。

        根據(jù)訪問歷史的統(tǒng)計信息來制定預(yù)取的方法有:

        1)通過“熱點”預(yù)取:就是根據(jù)網(wǎng)頁的訪問率,優(yōu)先預(yù)取訪問率較高的網(wǎng)頁;

        2)通過單個用戶訪問模式預(yù)?。菏占脩暨^去的訪問行為,從中找出用戶的訪問模式,從而為每個用戶定制預(yù)取模型。

        根據(jù)訪問的對象本身來制定預(yù)取的方法有:

        1)通過目標鏈接預(yù)取:在解析用戶請求的網(wǎng)頁時,預(yù)取其內(nèi)部鏈接URL(網(wǎng)頁或圖片);

        2)通過目錄預(yù)取:預(yù)取用戶請求的網(wǎng)頁的同一目錄的所有網(wǎng)頁。

        分析以上所述的幾種預(yù)取方法,根據(jù)訪問歷史的統(tǒng)計信息的制定預(yù)取方法需要掌握大量的統(tǒng)計信息,實現(xiàn)起來比較困難,所以我們選擇根據(jù)訪問對象本身來預(yù)取的兩種方法,我們采取綜合目標鏈接預(yù)取和目錄預(yù)取的方法。

        (2)本瀏覽器網(wǎng)頁預(yù)取的實現(xiàn)

        目前,我們的瀏覽器是作為數(shù)據(jù)廣播的終端支持軟件,由于采用的是對象輪播的傳輸協(xié)議,數(shù)據(jù)業(yè)務(wù)被抽象成不同的對象,其中包含目錄對象,所以瀏覽器可以建立整個網(wǎng)頁文件的目錄結(jié)構(gòu)。

        根據(jù)用戶所請求的網(wǎng)頁,以及分析其所在的目錄,可以向前端同時申請用戶所要的網(wǎng)頁以及與其在同一目錄下的網(wǎng)頁或鄰近目錄的網(wǎng)頁,具體在操作起來還要考慮同一目錄的網(wǎng)頁的數(shù)目及大小,并還要考慮預(yù)取和緩存的聯(lián)合等問題。

        另外,在數(shù)據(jù)播發(fā)前端,我們所設(shè)計了一個網(wǎng)頁文件查錯軟件,在檢查錯誤的同時,我們把每個網(wǎng)頁的相關(guān)鏈接資源一起列出,考慮到有些網(wǎng)頁的鏈接數(shù)目比較多,所以我們只把網(wǎng)頁的圖片資源與每個網(wǎng)頁綁定在一塊,在下載網(wǎng)頁時,連同其圖片資源一起下載到本地緩存起來。

        2.2 緩存置換策略

        瀏覽器傳輸模塊獲取數(shù)據(jù)或圖像解析模塊解碼圖像時,檢查剩余緩存空間大小,如果剩余空間不足以容納要保存的緩存數(shù)據(jù),就需要淘汰一些緩存。緩存淘汰盡可能在內(nèi)存緊張時進行,應(yīng)淘汰掉價值最小的數(shù)據(jù),以最大限度地發(fā)揮緩存的作用。這就需要設(shè)計一套緩存置換策略,一個好的緩存置換策略是提升緩存效率的關(guān)鍵因素。

        用緩存對用戶經(jīng)常訪問的頁面進行保存時,由于緩存的大小一般是固定的,不可能存放所有的文件,所以當需要多余的空間來存儲新的文件時,必須以一定的原則來決定哪一個對象文件被置換,這些原則就是所謂的置換策略。

        根據(jù)文件上次的存取時間、文件的存取頻率、文件大小以及文件傳輸時間這四個影響因子,就得到下列最簡單的四種單一因子置換策略[2]:

        (1)Least Rcently Used Policy(LRU):以文件上次的存取時間為依據(jù),將最近沒有被存取的文件替換掉;

        (2)Least Frequently Used Policy(LFU):考慮文件的存取頻率,將文件存取頻率最低者置換掉;

        (3)SIZE Policy:是以文件大小為置換依據(jù),置換掉緩存中最大的文件;

        (4)Lowest Latency First Policy(LAT):考慮文件傳輸延遲時間,將傳輸延遲時間長的文件保留在緩存中。

        另外,傳統(tǒng)上大多以以下三個指標來衡量一個緩存的效率:

        (1)Hit rate:當使用者欲獲取一個文件時,此時緩存中包含了該文件,則稱為cache hit。反之則稱為cache miss。Hit rate就是cache hit發(fā)生的百分比。Hit rate高表示cache能有效降低直接存取web服務(wù)器的次數(shù);

        (2)Byte hit rate:使用者從cache中取得的數(shù)據(jù)量占所預(yù)取的資料總量的百分比即為Byte hit rate。Byte hit rate高表示使用者直接使用web服務(wù)器得時間較少;

        (3)Latency time:從使用者提出文件請求到此文件被下載完成所經(jīng)過得時間。此時間短,則表示cache效率高。

        每個單一因子置換策略都有自己的優(yōu)勢和缺點,目前,改進的置換策略很多,如:LRU-K、LFU-aging以及Greedy Dual-Size Frequency(GDSF)[3]等。下面重點介紹一下GDSF置換策略,它考慮了文件存取成本,文件過去的存取頻率與文件的大小。文件優(yōu)先級的計算公式是:

        其中Pr(f)為文件存取優(yōu)先級;clock為避免cache pollution所設(shè)的老化因子: Fr( f )為文件 f過去的存取次數(shù):Cost( f)為文件 f存取成本; Size( f)為文件f大小。當使用者要獲取的文件在緩存中時,此文件的Pr(f)將被重新計算;若沒有在緩存內(nèi),GDSF策略將會將Pr(f)值最小的文件用新的文件來取代。并且clock更新為被替換置換出的文件的Pr(f)值。此外,GDSF策略可以根據(jù)緩存管理目標而有所變化。例如GDSF(1)為了得到較好的hit rate,將 Cost( f)設(shè)為1,此時GDSF策略會傾向于將較小的文件保留在緩存中。相反的,為了得到較好的byte hit rate,我們可以將 Cost( f)設(shè)置成文件大小 Size( f)的函數(shù);例如 Size( f)將GDSF(packet)設(shè)成2+ Size( f)/536,便是為了得到較好的byte hit rate值[4]。

        在設(shè)計瀏覽器的緩存及置換策略時,需要綜合考慮瀏覽器的緩存空間、網(wǎng)頁存取的特點等因素。如果瀏覽器還支持網(wǎng)頁預(yù)取功能,那么還需要考慮預(yù)取網(wǎng)頁對緩存置換策略的影響。綜合以上因素,在設(shè)計本瀏覽器的緩存模塊及其置換策略時,我們考慮了以下四個因素:

        (1)文件大?。阂话惚徽埱蟮奈募蟛糠质禽^小文件,因此選擇存放較小的文件也就代表緩存內(nèi)存放的文件數(shù)會較多,因此能有效提高cache hit rate值;

        (2)文件過去的存取次數(shù):由于使用者有周期存取的習慣,因此若一個文件過去存取的次數(shù)越多,其未來被存取的次數(shù)就越大。選擇過去存取次數(shù)較高的文件存放在cache中,cache值hit rate 和byte hit rate 也往往會因而提升;

        (3)文件上次存取時間:一般認為距離文件上次存取時間越久,其未來存取的幾率就越低。所以將此類文件排除在cache之外,以提高cache效率(hit rate與byte hit rate)。另外,考慮此項因子的置換策略還可以有效避免cache pollution的發(fā)生;

        (4)考慮數(shù)據(jù)預(yù)取機制對緩存的影響:預(yù)取的文件同樣要緩存到cache空間中,預(yù)取文件數(shù)目以及預(yù)取文件的置換優(yōu)先級都需要設(shè)計合理才能保證置換策略的效率。

        GDSF策略是一款簡單、高效且同時兼顧多種因素的優(yōu)秀策略。所以我們設(shè)計瀏覽器緩存策略時,也借鑒了其核心思想,并考慮了瀏覽器預(yù)取機制的影響,于是得到了我們的緩存策略的優(yōu)先級計算公式如下:

        其中Pr()f表示文件f的緩存優(yōu)先級;clock是緩存老化因子; ()Fr f為文件f過去存取的次數(shù); ()Size f為文件 f的大小;另外,pre是預(yù)取影響因子,它表示預(yù)取機制對緩存文件的優(yōu)先級的影響;

        3 嵌入式系統(tǒng)資源有限問題

        我們知道有限存儲器容量往往會導(dǎo)致系統(tǒng)崩潰,其解決方法如下:

        (1)減少存儲器的使用;首先,應(yīng)盡量使用局部變量代替全局或靜態(tài)變量,因為局部變量是動態(tài)創(chuàng)建,使用完后就釋放掉了,第二,為盡可能減少運行時占用的內(nèi)存,使用標量類型代替結(jié)構(gòu)體類型,第三,使用指針類型變量或結(jié)構(gòu);第四,避免字符串串聯(lián),因為字符串串聯(lián)不僅會降低性能,而且會增加應(yīng)用程序的內(nèi)存峰值占用量;第五,使用一些圖片工具對圖片進行壓縮處理,不會影響顯示效果。

        (2)避免線程同步,任何運行時間超過0.1秒的操作都需要一個獨立的線程,避免同步同樣能提高性能。

        (3)進行積極的垃圾回收,一旦一個指針或結(jié)構(gòu)體使用完畢時,應(yīng)該及時釋放掉內(nèi)存空間。

        (4)在系統(tǒng)設(shè)計時,使用一邊下載內(nèi)容,一邊解析內(nèi)容,一邊顯示內(nèi)容的方式,而不是等到整個頁面全部下載后再處理。

        4 解析容錯性問題

        HTML語言是一種結(jié)構(gòu)比較松散的標記語言,并且在HTML語言發(fā)展過程中兩大瀏覽器生產(chǎn)商網(wǎng)景和微軟互相競爭,使瀏覽器功能日益龐大,對HTML語言的容錯能力非常強。對于無論多么不規(guī)范的HTML語言文檔,IE和NetScape都可以解析顯示。此外,兩大瀏覽器廠商競相為HTML語言增加專有標記,以突出自己的顯示效果。這樣就使網(wǎng)頁設(shè)計者養(yǎng)成了不好的編程習慣,只注重顯示效果并不關(guān)心語法。致使目前互聯(lián)網(wǎng)上存在著大量的不合規(guī)范的網(wǎng)頁。針對這種情況,瀏覽器必須采取有效的容錯處理[5]。

        主要的語法錯誤有下面四種:

        (1) 非法包含,例如<a>和</a>之間包含一個表格,或是<td> <tr> </td>;

        (2) 非法標記,除了HTML規(guī)定的任何符號,例如<tp>;

        (3) 交叉嵌套,如<a> <em> </a> </em>;

        (4) 標記不匹配,對于 HTML 規(guī)范中規(guī)定必須結(jié)束標記符的元素類型,缺少結(jié)束標記符,或是在文檔中前面沒有這個標記,而在后面多余寫了這個標記的結(jié)束標記符。

        針對上述常見的語法錯誤,我們采取的相應(yīng)容錯處理:

        (1) 針對非法包含,如果該標記的到來是非法的則跳過,對其不予處理;

        (2) 針對非法標記,由于在標記查找表沒有相應(yīng)的符號也就沒有相應(yīng)標記的處理函數(shù),相當于對該非法標記采取了忽略的作用;

        (3) 針對交叉嵌套,當遇到一個結(jié)束標記時,查找棧中是否有該標記,若有,則將其與其上的標記全部出棧;

        (4) 針對標記不匹配,對多余的結(jié)束標記,利用堆棧,查找棧內(nèi)的標記是否有該標記,若沒有則不予處理,對于應(yīng)該有結(jié)束標記而沒寫結(jié)束標記的,若下一個開始標記的到來可以肯定前一個標記必須結(jié)束了,則將應(yīng)結(jié)束而沒有結(jié)束的標記出棧。

        5 結(jié) 論

        本文主要探討了嵌入式瀏覽器設(shè)計的三個技術(shù)難點及其解決方案,其一是瀏覽速度問題,采用網(wǎng)頁預(yù)取和緩存技術(shù)相結(jié)合來提高網(wǎng)頁的瀏覽速度;其二是嵌入式系統(tǒng)資源有限問題,采用減少存儲器的使用、避免線程同步、進行積極的垃圾回收以及邊下載邊解析四種方法來解決;其三是解析容錯性,采用堆棧來檢查標記的位置正確與否。

        [1]Chen Xin, Zhang Xiaodong. A popularity-based prediction model for Web perfecting[J].Computer, 2003:63-70.

        [2]NuQi Huang. A new cache replacement policy based on document information value[J].Chao Yang Science Technology University of Taiwan. 2004.

        [3]Cherkasova,ludmila. Improving WWWP roxies Perfomance with Greedy-Dual-Size-Frequency Caching Policy. HP Labs TechnicalReports[DB/OL]. http://www.hpl.hp.com/techreports,1998.

        [4]L. Cherkasova, G. Ciardo:Role of Aging, Frequency, and Size in Web CacheReplacement Policies[A]. Lecture Notes in Computer Science, Springer-Verlag, vol.2110, pp. 114-123, Proceedings on High Performance Computing and Networking,HPCN’01, Amsterdam, June 25-27, 2001.

        [5]唐云.一種嵌入式瀏覽器中的HTML解析器的設(shè)計[J].湖南科技學(xué)院學(xué)報, 2008,(08):94.

        (責任編校:何俊華)

        TN919

        A

        1673-2219(2010)12-0029-04

        2010-10-22

        湖南科技學(xué)院2008年度科學(xué)研究項目(08XKYTC039)

        唐云(1984-),女,碩士,研究方向為多媒體通信。

        猜你喜歡
        瀏覽器網(wǎng)頁嵌入式
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
        電子制作(2018年10期)2018-08-04 03:24:38
        搭建基于Qt的嵌入式開發(fā)平臺
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        環(huán)球瀏覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
        電子測試(2015年18期)2016-01-14 01:22:58
        10個必知的網(wǎng)頁設(shè)計術(shù)語
        Altera加入嵌入式視覺聯(lián)盟
        丝袜美腿视频一区二区 | 久久成人成狠狠爱综合网| 五月激情婷婷丁香| 九九久久自然熟的香蕉图片 | 在线不卡av天堂| 男人靠女人免费视频网站| 中文乱码字幕精品高清国产| 久久99精品免费国产| 国产激情电影综合在线看| 消息称老熟妇乱视频一区二区| 中文字日产幕码三区国产| 亚洲中文字幕亚洲中文| 亚洲另在线日韩综合色| 日韩插啊免费视频在线观看| 亚洲爆乳精品无码一区二区三区| 一级内射免费观看视频| 亚洲青青草视频在线播放| 久久久精品3d动漫一区二区三区| 精品亚洲一区二区三区在线观看| 少妇真人直播免费视频| 精品人妻码一区二区三区红楼视频| av天堂线上| 奇米狠狠色| 日本50岁丰满熟妇xxxx | 日本在线观看一区二区视频| 国产欧美日韩专区毛茸茸| 亚洲一区二区三区偷拍女厕| 欧美亚洲色综久久精品国产| 伊人中文字幕亚洲精品乱码| 毛片精品一区二区二区三区| 女优av福利在线观看| 天天躁日日操狠狠操欧美老妇| 亚洲学生妹高清av| 亚洲精品久久久久久久久久吃药| 无码专区人妻系列日韩精品| 我揉搓少妇好久没做高潮| 日本一区二区三区看片| 亚洲高潮喷水中文字幕| 少妇高潮喷水正在播放| 中文字幕乱伦视频| 中文字幕网伦射乱中文|