欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

提高在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的方法和嵌入式系統(tǒng)的制作方法

文檔序號:6429935閱讀:162來源:國知局
專利名稱:提高在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的方法和嵌入式系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本申請涉及用于提高由客戶端在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的計算機實現(xiàn)的方法、計算機程序產(chǎn)品和嵌入式系統(tǒng)。

發(fā)明內(nèi)容
根據(jù)一個方面,提供了用于提高由客戶端在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的計算機實現(xiàn)的方法。該嵌入式系統(tǒng)可以包括存儲組件。該方法可以包括在嵌入式系統(tǒng)上執(zhí)行客戶端。該方法還可以包括在嵌入式系統(tǒng)上執(zhí)行媒介物(intermediary),其中分別執(zhí)行客戶端和媒介物,并且其中媒介物管理存儲組件。該方法還可以包括從媒介物處的客戶端接收針對文檔的第一內(nèi)容元素的請求。此外,該方法可以包括由媒介物確定第一內(nèi)容元素是否存儲在存儲組件中。當(dāng)?shù)谝粌?nèi)容元素存儲在存儲組件中時,該方法還可以包括從存儲組件檢索第一內(nèi)容元素,并且從媒介物向客戶端發(fā)送該第一內(nèi)容元素。在某些情況下,當(dāng)?shù)谝粌?nèi)容元素沒有存儲在存儲組件中時,該方法還包括從服務(wù)器檢索第一內(nèi)容元素,并且由媒介物基于存儲規(guī)則確定是否將第一內(nèi)容元素存儲在存儲組件中。此外,存儲規(guī)則可以包括以下中的至少一個期滿、統(tǒng)一資源定位符的字符串以及內(nèi)容類型。另外,該嵌入式系統(tǒng)可以包括非易失性存儲器。固件可以以二值映像存儲在非易失性存儲器中。此外,存儲組件可以與固件分開進(jìn)行存儲。在某些實施方式中,在嵌入式系統(tǒng)上執(zhí)行客戶端還可以包括從非易失性存儲器向易失性存儲器復(fù)制固件。向易失性存儲器復(fù)制固件可以包括將非易失性存儲器的全部內(nèi)容復(fù)制到易失性存儲器中。此外,客戶端和媒介物可以作為單獨的進(jìn)程來執(zhí)行。此外,該文檔可以包括第二內(nèi)容元素。第一內(nèi)容元素可能很少被修改。此外,第二內(nèi)容元素可能頻繁被修改。因此,該方法還可以包括將第一內(nèi)容元素存儲在存儲組件中。另外,該方法還可以包括確定不在存儲組件中存儲第二內(nèi)容元素。在某些情況下,該嵌入式系統(tǒng)是機頂盒。另外,該服務(wù)器可以包括用于遞送因特網(wǎng)協(xié)議電視的軟件。該軟件可以被稱為IPTV中間件。該客戶端可以包括web瀏覽器。此外,可以將媒介物實現(xiàn)為客戶端的外部組件。更具體地,可以將媒介物實現(xiàn)為客戶端的插件。根據(jù)另一方面,提供了包括計算機可讀指令的計算機程序產(chǎn)品。該計算機可讀執(zhí)行當(dāng)被加載到嵌入式系統(tǒng)上并在其上執(zhí)行時,使得該系統(tǒng)執(zhí)行根據(jù)上述方法的操作。根據(jù)又一方面,提供了嵌入式系統(tǒng)。該嵌入式系統(tǒng)可以包括客戶端。該嵌入式系統(tǒng)還可以包括可操作用于存儲數(shù)據(jù)的存儲組件。該嵌入式系統(tǒng)還可以包括媒介物。該媒介物可以操作用于管理存儲組件。該媒介物還可以操作用于從客戶端接收針對文檔的第一內(nèi)容元素的請求。該媒介物還可以操作用于確定第一內(nèi)容元素是否在存儲組件中。當(dāng)?shù)谝粌?nèi)容元素在存儲組件中時,該媒介物還可以操作用于從存儲組件檢索第一內(nèi)容元素,并且向客戶端發(fā)送第一內(nèi)容元素。客戶端和媒介物可以操作用于單獨執(zhí)行。技術(shù)件定義“嵌入式系統(tǒng)”可以被理解為設(shè)計用于執(zhí)行一個或若干專用功能的計算機系統(tǒng)或設(shè)備。嵌入式系統(tǒng)可以與通用計算機系統(tǒng)(例如臺式PC)形成對比?!皺C頂盒”(STB)也被稱為數(shù)據(jù)盒、機頂單元或集成接收器/解碼器(IRD),這是嵌入式系統(tǒng)的示例。STB可以操作用于連接至顯示設(shè)備(例如電視或者計算機)以及外部信號源(例如內(nèi)容服務(wù)器)。STB可以操作用于將從外部信號源接收的信號轉(zhuǎn)換成繼而在顯示設(shè)備上顯示的內(nèi)容?!凹呻娐贰?也被稱為微電路、微芯片或者芯片)可以指代已經(jīng)在半導(dǎo)體材料的薄襯底的表面中制造的小型電子電路?!皵?shù)字信號處理器” (DSP)可以被理解為被優(yōu)化用于特定操作(可能包括信號處理 (轉(zhuǎn)換))的專用微處理器。與通用微處理器相比,DSP可以具有減少的硬件復(fù)雜性、減少的功能性、更低的成本、更好的性能以及減少的功耗。“片上系統(tǒng)”(SoC)可以指代在單個集成電路上對計算機系統(tǒng)的存儲組件的集成。 可能需要額外的存儲器和/或外圍設(shè)備,以供SoC實現(xiàn)完整的功能性。SoC可以包括DSP?!皵?shù)字媒體處理器”(DMP),也被稱為媒體處理器,可以被理解為被設(shè)計用于實時 (或者接近實時)處理數(shù)據(jù)流(例如,諸如視頻或者音頻之類的媒體)的SoC。DMP可以包括以下中的一個或多個DSP、存儲器接口、媒體接口和音頻/視頻加速器。DMP可以能夠?qū)Ω鞣N類型的媒體(例如圖像)和媒體流進(jìn)行解碼、轉(zhuǎn)碼(從一種格式轉(zhuǎn)換成另一種格式)、 編碼以及碼率轉(zhuǎn)換(transrate,從較高比特率縮放到較低比特率)?!白址笨梢员焕斫鉃樽址挠邢扌蛄?,其中每個字符是諸如符號之類的信息單元?!拔谋尽笨梢园ㄒ粋€或多個字符串。“高速緩存”可以指代存儲數(shù)據(jù)從而使得針對該數(shù)據(jù)的未來請求可以被更快服務(wù)的存儲組件?!耙苿哟a”可以指代在系統(tǒng)之間傳送的軟件,該軟件可能在本地系統(tǒng)上執(zhí)行而無需針對安裝顯式觸發(fā),或者由接收者執(zhí)行。移動代碼的示例包括Jav必cript、VBScript, Java小應(yīng)用程序以及ActiveX控件?!耙蛱鼐W(wǎng)協(xié)議電視”(IPTV)可以被理解為一種系統(tǒng),通過該系統(tǒng)數(shù)字電視服務(wù)使用分組交換網(wǎng)絡(luò)基礎(chǔ)設(shè)施上的因特網(wǎng)協(xié)議(IP)套件的架構(gòu)和網(wǎng)絡(luò)方法來進(jìn)行遞送。IPTV可以使用STB來進(jìn)行遞送。“代理”可以指代充當(dāng)針對來自尋求資源(例如文件或網(wǎng)頁)的客戶端的請求的媒介物的軟件?!办o態(tài)”內(nèi)容元素(也被稱為靜態(tài)內(nèi)容)可以指代很少被修改的內(nèi)容元素。例如, 靜態(tài)內(nèi)容元素可以被少于每月一次地、少于每兩個月一次地、少于每年一次地乃至更不頻繁地被修改?!皠討B(tài)”內(nèi)容元素(也被稱為動態(tài)內(nèi)容)可以指代被頻繁修改的內(nèi)容元素。例如,動態(tài)內(nèi)容元素可以被多于每月一次地、多于每月兩次地、多于每周一次地乃至更頻繁地被修改。一般而言,動態(tài)內(nèi)容元素比靜態(tài)內(nèi)容元素被更頻繁地修改。可以使用服務(wù)器邏輯生成動態(tài)內(nèi)容元素??梢杂糜谏蓜討B(tài)內(nèi)容元素的服務(wù)器邏輯的示例是公共網(wǎng)關(guān)接口(CGI)、 PHP:超文本預(yù)處理器(PHP)、Java服務(wù)器頁面(JSP)以及活動服務(wù)器頁面(ASP)?!斑M(jìn)程”可以被理解為執(zhí)行程序的實例。進(jìn)程可以包括程序計數(shù)器(包含將被提取的下一指令的存儲器地址)的當(dāng)前值、寄存器值以及變量。進(jìn)程可以管理一組資源并且具有其自己的地址空間,以及信號句柄和記賬信息?!熬€程”也被稱為控制線程、執(zhí)行線程、迷你(mini)進(jìn)程或者輕量進(jìn)程。多個線程可以存在于一個進(jìn)程內(nèi)。線程可以與其他線程共享地址空間以及進(jìn)程的其他資源。每個線程通常具有其自己的程序計數(shù)器、寄存器值、堆棧(包括輸入?yún)?shù)、本地變量和臨時變量) 以及狀態(tài)?!袄w程(fiber) ”可以通過分配用于存儲與該纖程相關(guān)聯(lián)的數(shù)據(jù)和寄存器值的數(shù)據(jù)結(jié)構(gòu)和堆棧而創(chuàng)建。纖程可以被理解為與線程類似。在線程之間切換可能要求進(jìn)入和退出操作系統(tǒng)(OS)內(nèi)核。然而,纖程可以被協(xié)同調(diào)度,并且操作系統(tǒng)內(nèi)核不了解纖程?!安寮笨梢员焕斫鉃橛糜趯崿F(xiàn)特定功能或用于提高現(xiàn)存功能的性能的模塊或者應(yīng)用。這可以通過用諸如C之類的低級程序設(shè)計語言(即,相對接近機器級)來實現(xiàn)插件而完成??梢酝ㄟ^參照Andrew S. Tanenbaum 的 Operating Systems 第 3 版,2009 來進(jìn)一步
理解進(jìn)程、線程和纖程。


圖1示出了嵌入式系統(tǒng)的框圖。圖2示出了嵌入式系統(tǒng)和服務(wù)器的示圖。圖3示出了用戶接口的框圖。圖4示出了用于提高由客戶端在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的示例性方法的流程圖。
具體實施例方式在下文,將參照附圖給出對示例的詳細(xì)描述。應(yīng)當(dāng)理解,可以對示例進(jìn)行各種修改。具體地,一個示例的元件可以被組合并且在其他示例中使用以形成新的示例。在本說明書中描述的主題可以被實現(xiàn)為方法或在設(shè)備上實現(xiàn),可能采取一個或多個計算機程序產(chǎn)品的形式。在本說明書中描述的主題可以在數(shù)據(jù)信號中或者在機器可讀的介質(zhì)上實現(xiàn),其中該介質(zhì)體現(xiàn)在一個或多個信息載體中,諸如半導(dǎo)體存儲器或者硬盤。此類計算機程序產(chǎn)品可以使數(shù)據(jù)處理裝置執(zhí)行在說明書中描述的一個或多個操作。此外,在本說明書中描述的主題還可以被實現(xiàn)為系統(tǒng),該系統(tǒng)包括處理器以及耦合到處理器的存儲器。該存儲器可以對一個或多個程序編碼,以使得該處理器執(zhí)行在說明書中描述的一個或多個方法。在本說明書中描述的其他主題可以使用各種機器實現(xiàn)。在以下示例性附圖和描述中闡明了一個或多個實現(xiàn)的細(xì)節(jié)。通過描述、附圖以及通過權(quán)利要求書,其他特征將會變得易于理解。
圖1示出了包括芯片集102的嵌入式系統(tǒng)100的框圖。在具體示例中,芯片集102 可以是SoC,諸如包括音頻/視頻硬件加速器的32位MIPS 4KeC。在另一示例中,芯片集102 可以是DMP,諸如包括高級RISC架構(gòu)機(ARM)ARM^6EJ-S CPU (RISC指代精簡指令集計算機)的德克薩斯儀器TMS320DM6446。芯片集102可以是微處理器或者微控制器。還有可能是其他實現(xiàn)。嵌入式系統(tǒng)100的某些實施方式包括第一非易失性存儲器,諸如閃存104。備選地,嵌入式系統(tǒng)100可以包括另一種形式的非易失性存儲器。嵌入式系統(tǒng)100的第一非易失性存儲器可以是電子可尋址的。在某些情況下,嵌入式系統(tǒng)100的第一非易失性存儲器可以是另一種形式的固態(tài)存儲器,諸如硅-氧化物-氮化物-氧化物-硅(S0N0Q存儲器或者非易失性隨機存取存儲器。還有可能是其他類型的非易失性存儲器。閃存104可以固定到嵌入式系統(tǒng)100。具體地,閃存104可以被構(gòu)建到芯片中,并且該芯片可以被有線連接到嵌入式系統(tǒng)100。閃存104的內(nèi)容可以被稱為固件。在某些情況下,由閃存104存儲的固件可以包括用于嵌入式系統(tǒng)100的操作系統(tǒng), 例如具有內(nèi)核版本2. 6的Linux。固件還可以包括客戶端(例如,如圖2中所描繪的)以及即使在客戶端未連接到服務(wù)器(例如,如圖2中所描繪的)時也可以用來構(gòu)建用戶接口 (參見圖3)的基本用戶接口組件。根據(jù)一個示例,嵌入式系統(tǒng)100可以包括第二非易失性存儲器(未示出)。第二非易失性存儲器可以被實現(xiàn)為硬盤驅(qū)動器,例如通用串行總線(USB)硬盤驅(qū)動器。嵌入式系統(tǒng)100可以包括最低限度的硬件,例如為了執(zhí)行基本聯(lián)網(wǎng)任務(wù)而需要的硬件而沒有其他硬件,以便降低成本。因此,嵌入式系統(tǒng)100上的程序,例如圖2中描繪的客戶端和代理,可以出于性能原因而采用諸如C之類的低級程序設(shè)計語言來實現(xiàn)。在該上下文中,“低級”可以被理解為指代需要更多基礎(chǔ)硬件知識,并且(通常)比更高級的程序設(shè)計語言(例如Java)需要更多的編碼時間的程序設(shè)計語言。此外,可能難于從在嵌入式系統(tǒng)100上的特定程序中的錯誤中恢復(fù)。例如,由于RAM 106的有限容量,內(nèi)存泄漏可能對嵌入式系統(tǒng)100具有特別嚴(yán)重的影響。因此,對在嵌入式系統(tǒng)100上部署的程序進(jìn)行充分調(diào)試和測試可能是必要的。因此,可能難于針對嵌入式系統(tǒng)100開發(fā)可以相對容易地在通用計算機上開發(fā)的程序。嵌入式系統(tǒng)100可以被實現(xiàn)為STB或者實現(xiàn)為移動設(shè)備。例如,可以在具有Linux OS或者Android OS的移動計算機或者智能手機上實現(xiàn)嵌入式系統(tǒng)100。具體而言,嵌入式系統(tǒng) 100 可以被實現(xiàn)為 Nokia N900,OpenMoko Neo Free Runner,HTC Hero 或者 Motorola Droid0還有可能是其他實現(xiàn)。此外,閃存104的內(nèi)容(例如操作系統(tǒng)和應(yīng)用)可以按照單片方式(即,作為單個封閉塊)存儲在嵌入式系統(tǒng)100上。例如,閃存104的內(nèi)容可以被存儲為二值映像或者存儲為壓縮的二值映像。換言之,閃存104可以包含二值固件映像或者壓縮的二值固件映像。 這可以減小在嵌入式系統(tǒng)100上需要的閃存量,并且因而減小生產(chǎn)嵌入式系統(tǒng)100的成本。此外,在嵌入式系統(tǒng)100上使用二值映像可以有利于嵌入式系統(tǒng)100的制造者或者維護(hù)者。例如,使用二值映像可以使用戶更簡單地更新嵌入式系統(tǒng)100。二值固件映像可以包含代表存儲介質(zhì)(例如閃存104)的完整的內(nèi)容和結(jié)構(gòu)。二值映像可以被存儲在單個文件中。根據(jù)傳統(tǒng)技術(shù),固件的內(nèi)容可以包括靜態(tài)內(nèi)容元素。固件中靜態(tài)內(nèi)容元素的存儲可以簡單和容易地實現(xiàn)。此外,該技術(shù)可以允許對靜態(tài)內(nèi)容元素進(jìn)行更新和操作而不需要請求軟件組件(例如圖2中描繪的代理)來管理靜態(tài)內(nèi)容元素。靜態(tài)內(nèi)容元素的示例包括嵌入式系統(tǒng)100的本地⑶I的元素。換言之,靜態(tài)內(nèi)容元素可能不與特定應(yīng)用相關(guān)聯(lián)。然而,將靜態(tài)內(nèi)容元素存儲在閃存104中作為二值固件映像的一部分可能具有以下效果更新靜態(tài)內(nèi)容元素的唯一方式是執(zhí)行完整的固件升級??赡茈y于或者不期望執(zhí)行完整的固件升級以便替換存儲在嵌入式系統(tǒng)100的固件中的內(nèi)容元素,例如靜態(tài)內(nèi)容元素。完整的固件升級可能導(dǎo)致使用更多的帶寬、潛在的錯誤可能具有更嚴(yán)重的后果,并且完整的固件升級可能干擾嵌入式系統(tǒng)100的操作。例如, 下載完整的固件以便更新一個或多個靜態(tài)內(nèi)容元素可能要求比僅僅下載待更新的靜態(tài)內(nèi)容元素更多的帶寬。此外,完整的固件更新可能會失敗,從而導(dǎo)致嵌入式系統(tǒng)100變得不可用。另外,完整的固件更新經(jīng)常引起嵌入式系統(tǒng)100的操作的中斷,這是由于通常需要對嵌入式系統(tǒng)100進(jìn)行重新引導(dǎo)。嵌入式系統(tǒng)100還可以包括易失性存儲器,諸如隨機存取存儲器(RAM) 106。此夕卜, 嵌入式系統(tǒng)100可以包括地面數(shù)字視頻廣播OVB-T)接口 108。另外,嵌入式系統(tǒng)100可以包括接口,諸如USB端口 110。USB端口 110可以操作用于將USB設(shè)備連接到嵌入式系統(tǒng)100。嵌入式系統(tǒng)100還可以包括可連接到外部網(wǎng)絡(luò)(諸如以太網(wǎng)端口 11 的訪問裝置。嵌入式系統(tǒng)100還可以支持無線訪問,例如通過無線保真(WiFi)裝置。外部網(wǎng)絡(luò)可以提供對外部信號源的訪問。此外,嵌入式系統(tǒng)100可以包括重置按鈕114,其可以被用于將嵌入式系統(tǒng)100返回到標(biāo)準(zhǔn)或者默認(rèn)配置。嵌入式系統(tǒng)100還可以包括電源連接器116,其可以用于將嵌入式系統(tǒng)100連接到電源。圖2示出了與某些實施方式一致的嵌入式系統(tǒng)100的第二框圖。第二框圖還示出了服務(wù)器202。服務(wù)器202可以能夠向客戶端204發(fā)送信號,諸如IPTV信號。服務(wù)器202可以包括IPTV中間件,S卩,與遞送IPTV服務(wù)相關(guān)聯(lián)的軟件包??梢栽谇度胧较到y(tǒng)100上執(zhí)行客戶端204??蛻舳?04可以被實現(xiàn)為web瀏覽器 (例如,Microsoft Internet Explorer、Mozilla Firefox、Opera、Fresco)、定制圖形用戶接口或者某些其他形式的用戶接口??蛻舳?04可以存儲在閃存104的固件中。客戶端 204可以能夠顯示文檔,例如網(wǎng)頁。文檔可以由內(nèi)容元素組成。內(nèi)容元素的示例是各種格式(例如,聯(lián)合圖像專家組(JPG)、圖形交換格式(GIF)、便攜式網(wǎng)絡(luò)圖形(PNG))的圖像, 以及標(biāo)記語言文本,例如,超文本標(biāo)記語言(HTML)、可擴展標(biāo)記語言(XML)。內(nèi)容元素還可以包括表現(xiàn)語義,諸如層疊樣式表(CSQ,以及移動代碼,例如Jav必cript。客戶端204可以操作用于根據(jù)表現(xiàn)語義顯示圖像和標(biāo)記語言文本??蛻舳?04還可以能夠執(zhí)行移動代碼。此外,客戶端204可以被配置用于運行各種應(yīng)用。例如,客戶端204可以被配置用于執(zhí)行視頻點播目錄,其使用戶能夠瀏覽視頻的種類、選擇用于觀看的視頻以及檢索關(guān)于視頻的信息??蛻舳?04還可以執(zhí)行電子節(jié)目指南。電子節(jié)目指南使用戶能夠瀏覽電視頻道、查看每個頻道的節(jié)目表以及檢索關(guān)于TV節(jié)目的信息(例如,開始時間、結(jié)束時間、描述)O在某些情況下,為了使成本最小化而用有限的資源來制造嵌入式系統(tǒng)100。例如, 嵌入式系統(tǒng)100可以包括300MHz CPUU28MBRAM以及32MB閃存。此外,使用現(xiàn)代軟件以在嵌入式系統(tǒng)上提供用戶接口可能不是切實可行。因此,可以使用4至10年前的并且不包括某些功能的web瀏覽器實現(xiàn)嵌入式系統(tǒng)的客戶端204。例如,嵌入式系統(tǒng)的客戶端204可能不支持Java小應(yīng)用程序或者ActiveX控件。此外,可以在嵌入式系統(tǒng)100上執(zhí)行媒介物。媒介物可以被實現(xiàn)為代理206。代理 206可以與客戶端204分開執(zhí)行。將代理206實現(xiàn)為外部組件可能具有的優(yōu)點在于并不必須將代理206集成到客戶端204。在某些實施方式中,代理206可以被實現(xiàn)為客戶端204的外部組件。例如,客戶端 204可以被實現(xiàn)為瀏覽器,而代理206可以被實現(xiàn)為瀏覽器插件。在這種情況下,代理206 在客戶端204的存儲器空間內(nèi)操作。因此,代理206可以使用函數(shù)調(diào)用而不是HTTP來與客戶端204通信。使用函數(shù)調(diào)用的通信可以具有改進(jìn)性能的效果。備選地,客戶端204和代理206作為單獨的進(jìn)程來執(zhí)行。在該上下文中,進(jìn)程可以被理解為執(zhí)行程序的實例。例如,客戶端204是第一執(zhí)行程序,而代理206是第二執(zhí)行程序。客戶端204和代理206還可以被執(zhí)行為迷你進(jìn)程,例如線程或者纖程。因此,同客戶端204分開執(zhí)行媒介物可以通過將代理206實現(xiàn)為客戶端204的外部組件來實現(xiàn),或者通過將代理206實現(xiàn)為單獨的進(jìn)程來實現(xiàn)。還有可能是其他實現(xiàn)。代理206可以包括管理組件。管理組件可以能夠管理存儲組件。在某些情況下, 管理組件被實現(xiàn)為高速緩存管理器208。存儲組件可以被實現(xiàn)為高速緩存209。由于嵌入式系統(tǒng)100的有限資源,高速緩存209的大小可能是受限的??蛻舳?04可以與代理206 交互,以便訪問高速緩存209中的數(shù)據(jù)。雖然高速緩存209被描繪為與代理206分離,但是可以包括高速緩存209作為代理206的一部分。代理206還可以包括接口,諸如超文本傳輸協(xié)議(HTTP)接口 210??蛻舳?04可以使用HTTP接口 210與代理206通信。向嵌入式系統(tǒng)100添加代理206可以具有增強嵌入式系統(tǒng)100的性能的效果。例如,嵌入式系統(tǒng)100和服務(wù)器202之間的帶寬需求可以被減小。代理206可以使用信令機制以便管理和生成事件。事件可以由其他應(yīng)用使用。例如,代理206可以在達(dá)到預(yù)置最大高速緩存大小時(即,當(dāng)已經(jīng)達(dá)到文件系統(tǒng)使用限度時) 生成事件。代理206還可以在CPU利用達(dá)到預(yù)置閾值時(例如,由于執(zhí)行操作)生成事件。嵌入式系統(tǒng)100還可以包括HTTP內(nèi)核應(yīng)用程序設(shè)計接口(API) 212??蛻舳?04 和代理206可以使用HTTP內(nèi)核API 212與服務(wù)器202通信。例如,客戶端204可以與服務(wù)器202通信以便選擇IPTV節(jié)目進(jìn)行觀看。在某些情況下,客戶端204可以與代理206通信,而代理206使用HTTP內(nèi)核API 212與服務(wù)器通信。在其他情況下,客戶端204可以與HTTP內(nèi)核API 212交互以便直接與服務(wù)器通信。圖3示出了與本發(fā)明的某些實施方式一致的用戶接口 300的框圖??蛻舳?04可以能夠顯示用戶接口 300。用戶接口 300可以包括靜態(tài)圖像302,例如按照J(rèn)PG格式的背景圖像。另外,用戶接口 300可以包括按照表現(xiàn)語義形式的靜態(tài)布局304。具體地,靜態(tài)布局304可以確定用戶接口 300中的靜態(tài)和動態(tài)內(nèi)容元素的風(fēng)格和位置。此外,用戶接口 300可以包括移動代碼306。例如,移動代碼306可以體現(xiàn)在從服務(wù)器202下載到客戶端204的文檔中,并且可以由客戶端204執(zhí)行。靜態(tài)圖像302、靜態(tài)布局304以及移動代碼306可以被理解為很少被修改的靜態(tài)內(nèi)容元素。根據(jù)傳統(tǒng)技術(shù),靜態(tài)內(nèi)容元素可以與客戶端204 —起存儲在固件中。在固件中存儲靜態(tài)內(nèi)容元素可以簡單并容易地實現(xiàn)。此外,根據(jù)傳統(tǒng)技術(shù),并不要求在嵌入式系統(tǒng)100 上執(zhí)行代理206。由于嵌入式系統(tǒng)100可能要求程序特別穩(wěn)定和高效(特別是在與通用計算機上的程序比較中),因此為嵌入式系統(tǒng)100編寫程序(例如代理206)可能特別困難和費時。因此,用于嵌入式系統(tǒng)100的程序可能要求充分測試和調(diào)試,以及使用諸如C或者匯編語言之類的低級程序設(shè)計語言。然而,根據(jù)本發(fā)明的某些實施方式,高速緩存209可以同固件分開存儲(即,不在閃存104中)。例如,高速緩存209可以存儲在與閃存104分離的第二非易失性存儲器中。 由于高速緩存209的內(nèi)容在將電源連接器116從電源斷開后仍將可用,因此在非易失性存儲器中存儲高速緩存209將是有利的。內(nèi)容元素(例如靜態(tài)內(nèi)容元素)可以存儲在高速緩存209中。在高速緩存209中存儲內(nèi)容元素(即,與固件分離)產(chǎn)生以下技術(shù)效果可以對內(nèi)容元素進(jìn)行更新而不需要執(zhí)行完整的固件升級。傳統(tǒng)的嵌入式系統(tǒng)與傳統(tǒng)的服務(wù)器交互以便下載內(nèi)容元素(例如靜態(tài)內(nèi)容元素),并且在易失性存儲器中存儲所下載的內(nèi)容元素。然而,這可能在特定情況下(例如,當(dāng)多個嵌入式系統(tǒng)同時啟動并且試圖下載內(nèi)容元素時)引起傳統(tǒng)服務(wù)器的故障。例如,此類故障(也被稱為連鎖反應(yīng)故障)可能發(fā)生在多個嵌入式系統(tǒng)升級的情況中,或者影響多個嵌入式系統(tǒng)的停電情況中。在高速緩存209中存儲內(nèi)容元素(其中高速緩存209存儲在嵌入式系統(tǒng)100的非易失性存儲器(例如第二非易失性存儲器)中)產(chǎn)生以下技術(shù)效果可以避免某些或所有由于多個嵌入式系統(tǒng)同時啟動而造成的故障(即,連鎖反應(yīng)故障)。例如,如果存在引起嵌入式系統(tǒng)100重新啟動的停電,則客戶端204可以能夠憑借代理206檢索用戶接口 300的大部分。類似地,根據(jù)本申請配置的其他嵌入式系統(tǒng)可以能夠從相應(yīng)的代理檢索靜態(tài)內(nèi)容元素。由于從代理檢索靜態(tài)內(nèi)容元素而產(chǎn)生的、對服務(wù)器202的HTTP請求的減少可以預(yù)防服務(wù)器202發(fā)生故障。另外,使用代理206可以減少要求服務(wù)器202傳輸?shù)臄?shù)據(jù),從而減小服務(wù)器202上的負(fù)荷。此外,使用代理206可以產(chǎn)生針對嵌入式系統(tǒng)100的減少的引導(dǎo)時間以及用戶接口 300的更快的顯示。動態(tài)圖像308也可以是用戶接口 300的一部分。此外,用戶接口 300可以包括動態(tài)文本310。動態(tài)圖像308和動態(tài)文本310可以被理解為動態(tài)內(nèi)容元素。視頻點播目錄應(yīng)用上下文中的動態(tài)圖像的示例是電影片名和電影海報,其中電影海報是可以示出電影場景的該電影的可視廣告。同樣在視頻點播目錄應(yīng)用上下文中,動態(tài)文本的示例是電影的描述和電影的演員表。
確定特定內(nèi)容元素是動態(tài)內(nèi)容元素還是靜態(tài)內(nèi)容元素可以基于對在一時間間隔上特定內(nèi)容元素被修改的頻繁程度的分析。如果特定內(nèi)容元素被確定為靜態(tài)內(nèi)容元素,則可以創(chuàng)建存儲規(guī)則(例如過濾器)。存儲規(guī)則可以基于特定內(nèi)容元素的類型和/或HTTP請求的URL。內(nèi)容類型可以指代嵌入式系統(tǒng)100上的用戶接口的構(gòu)成。示例性內(nèi)容類型包括 JPEG圖像(圖像/jpeg)、gif圖像(圖像/gif) ,html頁面(文本/html)、層疊樣式表(文 ^ /css) ^XR javascript 代碼(/SiM /javascript)。存儲規(guī)則還可以包括期滿,即,關(guān)于特定內(nèi)容元素將被存儲多長時間的指示。存儲規(guī)則可以由高速緩存管理器208維護(hù)和實現(xiàn)。圖4示出了用于提高由客戶端204在嵌入式系統(tǒng)100上檢索數(shù)據(jù)的速度的示例性方法的流程圖。根據(jù)所描繪的方法,在步驟S402,在嵌入式系統(tǒng)100上執(zhí)行客戶端204和代理 206。例如,可以自動執(zhí)行客戶端204和代理206。此外,可以分別執(zhí)行客戶端204和代理 206,例如,作為單獨的進(jìn)程。雖然步驟S404至步驟S422涉及HTTP請求,但還有可能使用其他協(xié)議,例如文件傳輸協(xié)議或者實時流協(xié)議。為了使用其他協(xié)議,對所描述的方法的輕微改變可能是必要的。在步驟S404,客戶端204可以請求文檔的第一內(nèi)容元素(也被稱為頁面的組件)。 例如,可以響應(yīng)于用戶輸入來請求文檔并且可以從文檔的第一內(nèi)容元素開始處理請求。第一內(nèi)容元素可以是文檔中多個內(nèi)容元素中的一個元素。備選地,第一內(nèi)容元素可以是文檔中的唯一內(nèi)容元素。根據(jù)本發(fā)明的某些實施方式,文檔包含多個內(nèi)容元素并且客戶端204 針對每個內(nèi)容元素執(zhí)行HTTP請求。HTTP請求可以串行發(fā)生或者并行發(fā)生。此外,在步驟S406,客戶端204向代理206發(fā)送針對文檔的第一內(nèi)容元素的請求。 例如,客戶端204向HTTP接口 210發(fā)送在步驟S404中描述的每個HTTP請求。代理206可以分析(例如解析)每個HTTP請求。在步驟S408,代理206可以確定在步驟S406中發(fā)送的HTTP請求中所標(biāo)識的內(nèi)容元素是否存儲在高速緩存209中。例如,HTTP請求可以標(biāo)識第一內(nèi)容元素。在某些情況下, 當(dāng)收到內(nèi)容元素時將其存儲在高速緩存209中。步驟S410和步驟S414是可以取決于步驟S408的結(jié)果而采用的兩個備選。當(dāng)?shù)谝粌?nèi)容元素存儲在高速緩存209中時,可以執(zhí)行步驟S410。當(dāng)?shù)谝粌?nèi)容元素沒有存儲在高速緩存209中時,則可以執(zhí)行步驟S414。當(dāng)執(zhí)行步驟S414時,還可以執(zhí)行步驟S416、步驟 S418以及可選擇地步驟S420。因此,當(dāng)?shù)谝粌?nèi)容元素存儲在高速緩存209中時,代理206可以在步驟S410從高速緩存209檢索第一內(nèi)容元素。隨后,代理206可以在步驟S412向客戶端204發(fā)送第一內(nèi)容元素。備選地,當(dāng)?shù)谝粌?nèi)容元素沒有存儲在高速緩存209中時,代理206可以在步驟S414 向服務(wù)器202請求第一內(nèi)容元素。例如,代理206可以向服務(wù)器202提出HTTP請求。服務(wù)器202可以在步驟S416響應(yīng)代理206。在步驟S418,進(jìn)行關(guān)于第一內(nèi)容元素是否與至少一個存儲規(guī)則相匹配的確定。換言之,步驟S418涉及確定是否基于存儲規(guī)則存儲第一內(nèi)容元素。高速緩存規(guī)則是存儲規(guī)則的示例。取決于步驟S418的結(jié)果,可以在步驟S418之后執(zhí)行步驟S420或者步驟S412。例如,當(dāng)?shù)谝粌?nèi)容元素與存儲規(guī)則匹配時,可以在步驟S420將第一內(nèi)容元素存儲在高速緩存 209中。當(dāng)?shù)谝粌?nèi)容與存儲規(guī)則未匹配時,在步驟S418之后可以執(zhí)行步驟S412。根據(jù)具體示例,在步驟S406提出的示例性HTTP請求可以包括以下統(tǒng)一資源定位符(URL) :"http //iptv-provider/GUI/imaRes/backRround. piir,,。例如,存儲規(guī)則A如下
<rule>
<filter>/GUI/images</filter>
<expiration>43200</expiration>
</rule>根據(jù)存儲規(guī)則A,如果HTTP請求包括具有字符串“/⑶I/images”的URL(諸如以上示例性HTTP請求的URL),則代理206可以進(jìn)行以下操作-將URL包括到對服務(wù)器202的請求中;-從服務(wù)器202接收響應(yīng);以及-在高速緩存209中存儲服務(wù)器的響應(yīng)的內(nèi)容元素。另外,根據(jù)存儲規(guī)則A,內(nèi)容元素(例如由URL指代的kickgroimd. png圖像)可以在高速緩存209中存儲43,200分鐘(30天)。換言之,內(nèi)容元素具有43,200分鐘的期滿時間。如果客戶端204在將來請求相同的URL,則代理206從高速緩存209檢索lDackground. png圖像。在進(jìn)一步的示例中,存儲規(guī)則B如下
<rule>
<content-type-filter>image/jpeg</ content-type-filter >
<expiration>43200</expiration>
</rule>類似于存儲規(guī)則A,根據(jù)存儲規(guī)則B,如果HTTP請求包括指定“ image/jpeg”的內(nèi)容類型字段,則代理206可以進(jìn)行以下操作-將HTTP請求的URL包括到對服務(wù)器202的請求中;-從服務(wù)器202接收響應(yīng);以及-在高速緩存209中存儲服務(wù)器的響應(yīng)的內(nèi)容元素。在另一示例中,存儲規(guī)則C如下<or-condition> <rule>
<content-type-filter>image/jpeg</ content-type-filter >
<expiration>43200</expiration>
</rule>
<rule>
<content-type-filter>image/gif</ content-type-filter >
<expiration>43200</expiration>
</rule>
</or-condition>存儲規(guī)則C包括“或”(OR)表達(dá)式,從而使得如果內(nèi)容元素是JPEG圖像或者GIF 圖像則規(guī)則匹配。在使用“或”表達(dá)式限定的規(guī)則中,如果“或”規(guī)則內(nèi)的至少一個子規(guī)則匹配則整個規(guī)則匹配。此外,如果使用“與”(AND)表達(dá)式限定規(guī)則,那么如果“與”表達(dá)式內(nèi)的所有子規(guī)則匹配則整個規(guī)則匹配。在某些情況下(例如存儲規(guī)則C),使用<rule></rule>標(biāo)記限定每個子規(guī)則。還有可能是其他邏輯表達(dá)式(例如異或O(OR))。因此,在某些情況下,當(dāng)存儲規(guī)則的一個或多個過濾器表達(dá)式與HTTP請求匹配時,根據(jù)期滿時間存儲HTTP請求的一個或多個內(nèi)容元素。取決于與內(nèi)容元素相關(guān)聯(lián)的期滿政策,針對不同內(nèi)容元素可以實現(xiàn)不同的存儲規(guī)則。在某些情況下,針對靜態(tài)內(nèi)容元素而不針對動態(tài)內(nèi)容元素實現(xiàn)存儲規(guī)則。換言之,存儲規(guī)則可以適用于很少被修改的內(nèi)容元素,而存儲規(guī)則可能不適用于頻繁被修改的內(nèi)容元素。例如,在上述示例性HTTP請求的URL中指代的hckground. png圖像可以是很少被修改的內(nèi)容元素。文檔也可以包含頻繁被修改的第二內(nèi)容元素??赡懿淮嬖趯?yīng)于第二內(nèi)容元素的存儲規(guī)則。因此,在步驟S418,做出不在高速緩存209中存儲第二內(nèi)容元素的確定。有利地,由于不需要從服務(wù)器202下載存儲在高速緩存209中的內(nèi)容元素,因此在高速緩存209中存儲內(nèi)容元素可以顯著地改進(jìn)客戶端204的性能。在步驟S422,可以由客戶端204收集對在步驟S404中指代的HTTP請求的響應(yīng)。 可以將響應(yīng)進(jìn)行匯編并且呈現(xiàn)為連貫的用戶接口文檔,即用戶接口 300。實現(xiàn)圖4的方法可以使用戶接口 300的所有靜態(tài)內(nèi)容被存儲在高速緩存209中。 備選地,由于高速緩存209存儲容量的限制,可能在高速緩存209中存儲靜態(tài)內(nèi)容的一部分。憑借高速緩存209中的代理206,可以加速嵌入式系統(tǒng)100上的內(nèi)容元素的處理。 與服務(wù)器202相比,可以更快地從高速緩存209檢索內(nèi)容元素,例如靜態(tài)內(nèi)容元素。此外, 由于同客戶端204分開執(zhí)行代理206,因此不存在將客戶端204與代理206集成的需要。另外,通過區(qū)分靜態(tài)內(nèi)容元素(即,很少被修改的內(nèi)容元素)和動態(tài)內(nèi)容元素(即,頻繁被修改的內(nèi)容元素),可以按照有利的方式使用高速緩存209的有限容量。此外,通過將高速緩存209從嵌入式系統(tǒng)100的固件分離,可以更新存儲在高速緩存209中的內(nèi)容元素而不需要升級固件。
權(quán)利要求
1.一種用于提高由客戶端(204)在嵌入式系統(tǒng)(100)上檢索數(shù)據(jù)的速度的計算機實現(xiàn)的方法,所述嵌入式系統(tǒng)(100)包括存儲組件009),所述方法包括在所述嵌入式系統(tǒng)(100)上執(zhí)行所述客戶端(204);在所述嵌入式系統(tǒng)(100)上執(zhí)行640 媒介物006),其中分別執(zhí)行所述客戶端 (204)和媒介物006),并且其中所述媒介物(206)管理所述存儲組件O09);從所述媒介物(206)處的所述客戶端(204)接收(S406)針對文檔(300)的第一內(nèi)容元素(302,304,306)的第一請求;由所述媒介物(206)確定(S408)所述第一內(nèi)容元素(302、304、306)是否存儲在所述存儲組件O09)中;以及當(dāng)所述第一內(nèi)容元素(302、304、306)存儲在所述存儲組件O09)中時 從所述存儲組件(209)檢索(S410)所述第一內(nèi)容元素(302、304、306);以及從所述媒介物O06)向所述客戶端(204)發(fā)送(S4U)所述第一內(nèi)容元素(302、304、 306)。
2.根據(jù)權(quán)利要求1所述的方法,還包括確定所述第一內(nèi)容元素沒有存儲在所述存儲組件中; 檢索所述第一內(nèi)容元素(302、304、306);以及由所述媒介物(206)基于存儲規(guī)則確定是否在所述存儲組件(209)中存儲所述第一內(nèi)容元素(302,304,306)。
3.根據(jù)權(quán)利要求2所述的方法,其中所述存儲規(guī)則包括以下中的至少一個 期滿;統(tǒng)一資源定位符的字符串;以及內(nèi)容類型。
4.根據(jù)前述權(quán)利要求中的任意一項所述的方法,其中所述嵌入式系統(tǒng)(100)包括非易失性存儲器(104),并且其中固件作為二值映像存儲在所述非易失性存儲器(104)中。
5.根據(jù)權(quán)利要求4所述的方法,其中同所述固件分開存儲所述存儲組件009)。
6.根據(jù)權(quán)利要求4或5所述的方法,其中在嵌入式系統(tǒng)(100)上執(zhí)行所述客戶端(204) 還包括從所述非易失性存儲器(104)向易失性存儲器(106)復(fù)制所述固件,并且其中向所述易失性存儲器(106)復(fù)制所述固件包括將所述非易失性存儲器(104)的全部內(nèi)容復(fù)制到所述易失性存儲器(106)中。
7.根據(jù)前述權(quán)利要求中的任意一項所述的方法,其中將所述客戶端(204)和所述媒介物(206)作為單獨的進(jìn)程來執(zhí)行。
8.根據(jù)權(quán)利要求1至6中任意一項所述的方法,其中將所述媒介物(206)實現(xiàn)為所述客戶端Q04)的外部組件。
9.根據(jù)前述權(quán)利要求中的任意一項所述的方法,結(jié)合權(quán)利要求2,其中所述第一內(nèi)容元素(302、304、306)很少被修改,所述方法還包括由所述媒介物(206)基于所述存儲規(guī)則確定在所述存儲組件中存儲所述第一內(nèi)容元素(302,304,306);在所述存儲組件O09)中存儲所述第一內(nèi)容元素(302、304、306)。
10.根據(jù)前述權(quán)利要求中的任意一項所述的方法,其中所述文檔(300)包括第二內(nèi)容元素(308、310),其中所述第二內(nèi)容元素(308、310)頻繁被修改,所述方法還包括從所述媒介物(206)處的客戶端(204)接收針對所述文檔的第二內(nèi)容元素(308、310) 的第二請求;檢索所述第二內(nèi)容元素(308、310);以及由所述媒介物(206)確定沒有在所述存儲組件O09)中存儲所述第二內(nèi)容元素(308、 310)。
11.根據(jù)前述權(quán)利要求中的任意一項所述的方法,結(jié)合權(quán)利要求2,其中所述嵌入式系統(tǒng)(100)是機頂盒,并且其中所述服務(wù)器(20 包括用于遞送因特網(wǎng)協(xié)議電視的軟件。
12.根據(jù)前述權(quán)利要求中的任意一項所述的方法,其中所述客戶端(204)包括web瀏覽器。
13.一種計算機程序產(chǎn)品,包括計算機可讀指令,當(dāng)被加載到嵌入式系統(tǒng)(100)并在其上執(zhí)行時,使得所述嵌入式系統(tǒng)(100)根據(jù)前述權(quán)利要求中的任意一項所述的方法執(zhí)行操作。
14.一種嵌入式系統(tǒng)(100),包括 客戶端(204);存儲組件009),其可操作用于存儲數(shù)據(jù); 媒介物006),其可操作用于 管理所述存儲組件O09);從所述客戶端(204)接收針對文檔(300)的第一內(nèi)容元素(302、304、306)的第一請求;確定所述第一內(nèi)容元素(302、304、306)是否在所述存儲組件O09)中;以及當(dāng)所述第一內(nèi)容元素在所述存儲組件O09)中時 從所述存儲組件(209)檢索所述第一內(nèi)容元素(302、304、306); 向所述客戶端發(fā)送所述第一內(nèi)容元素(302、304、306); 其中所述客戶端(204)和所述媒介物(206)可操作用于單獨執(zhí)行。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其可操作用于根據(jù)權(quán)利要求1至12中任意一項執(zhí)行操作。
全文摘要
本發(fā)明涉及提高在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的方法和嵌入式系統(tǒng)。具體地,本發(fā)明涉及用于提高由客戶端在嵌入式系統(tǒng)上檢索數(shù)據(jù)的速度的計算機實現(xiàn)的方法、計算機軟件產(chǎn)品以及嵌入式系統(tǒng),該嵌入式系統(tǒng)包括存儲組件。該方法包括在嵌入式系統(tǒng)上執(zhí)行客戶端;在嵌入式系統(tǒng)上執(zhí)行媒介物,其中分別執(zhí)行客戶端和媒介物,并且其中媒介物管理存儲組件;從媒介物處的客戶端接收針對文檔的第一內(nèi)容元素的請求;由媒介物確定第一內(nèi)容元素是否存儲在存儲組件中;以及當(dāng)?shù)谝粌?nèi)容元素存儲在存儲組件中時從存儲組件檢索第一內(nèi)容元素;以及從媒介物向客戶端發(fā)送第一內(nèi)容元素。
文檔編號G06F17/30GK102426576SQ20111022013
公開日2012年4月25日 申請日期2011年7月28日 優(yōu)先權(quán)日2010年7月29日
發(fā)明者A·諾斯里諾, C·卡爾德拉, F·康索萊, G·佩爾西亞, G·加格利亞爾迪, O·奧諾拉托 申請人:埃森哲環(huán)球服務(wù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蒙城县| 灌南县| 胶州市| 青阳县| 萝北县| 黑水县| 阆中市| 桐梓县| 广德县| 香河县| 招远市| 衡东县| 五莲县| 永定县| 绵竹市| 泰州市| 邮箱| 西充县| 建平县| 清涧县| 九寨沟县| 绥德县| 霍州市| 陆丰市| 游戏| 灵宝市| 南溪县| 水富县| 牟定县| 汕头市| 南丹县| 错那县| 崇义县| 福清市| 衡阳市| 灌云县| 安福县| 阿克苏市| 云浮市| 嘉义县| 临海市|