新四季網

提高在嵌入式系統上檢索數據的速度的方法和嵌入式系統的製作方法

2023-05-18 20:57:31 3

專利名稱:提高在嵌入式系統上檢索數據的速度的方法和嵌入式系統的製作方法
技術領域:
本申請涉及用於提高由客戶端在嵌入式系統上檢索數據的速度的計算機實現的方法、電腦程式產品和嵌入式系統。

發明內容
根據一個方面,提供了用於提高由客戶端在嵌入式系統上檢索數據的速度的計算機實現的方法。該嵌入式系統可以包括存儲組件。該方法可以包括在嵌入式系統上執行客戶端。該方法還可以包括在嵌入式系統上執行媒介物(intermediary),其中分別執行客戶端和媒介物,並且其中媒介物管理存儲組件。該方法還可以包括從媒介物處的客戶端接收針對文檔的第一內容元素的請求。此外,該方法可以包括由媒介物確定第一內容元素是否存儲在存儲組件中。當第一內容元素存儲在存儲組件中時,該方法還可以包括從存儲組件檢索第一內容元素,並且從媒介物向客戶端發送該第一內容元素。在某些情況下,當第一內容元素沒有存儲在存儲組件中時,該方法還包括從伺服器檢索第一內容元素,並且由媒介物基於存儲規則確定是否將第一內容元素存儲在存儲組件中。此外,存儲規則可以包括以下中的至少一個期滿、統一資源定位符的字符串以及內容類型。另外,該嵌入式系統可以包括非易失性存儲器。固件可以以二值映像存儲在非易失性存儲器中。此外,存儲組件可以與固件分開進行存儲。在某些實施方式中,在嵌入式系統上執行客戶端還可以包括從非易失性存儲器向易失性存儲器複製固件。向易失性存儲器複製固件可以包括將非易失性存儲器的全部內容複製到易失性存儲器中。此外,客戶端和媒介物可以作為單獨的進程來執行。此外,該文檔可以包括第二內容元素。第一內容元素可能很少被修改。此外,第二內容元素可能頻繁被修改。因此,該方法還可以包括將第一內容元素存儲在存儲組件中。另外,該方法還可以包括確定不在存儲組件中存儲第二內容元素。在某些情況下,該嵌入式系統是機頂盒。另外,該伺服器可以包括用於遞送網際網路協議電視的軟體。該軟體可以被稱為IPTV中間件。該客戶端可以包括web瀏覽器。此外,可以將媒介物實現為客戶端的外部組件。更具體地,可以將媒介物實現為客戶端的插件。根據另一方面,提供了包括計算機可讀指令的電腦程式產品。該計算機可讀執行當被加載到嵌入式系統上並在其上執行時,使得該系統執行根據上述方法的操作。根據又一方面,提供了嵌入式系統。該嵌入式系統可以包括客戶端。該嵌入式系統還可以包括可操作用於存儲數據的存儲組件。該嵌入式系統還可以包括媒介物。該媒介物可以操作用於管理存儲組件。該媒介物還可以操作用於從客戶端接收針對文檔的第一內容元素的請求。該媒介物還可以操作用於確定第一內容元素是否在存儲組件中。當第一內容元素在存儲組件中時,該媒介物還可以操作用於從存儲組件檢索第一內容元素,並且向客戶端發送第一內容元素。客戶端和媒介物可以操作用於單獨執行。技術件定義「嵌入式系統」可以被理解為設計用於執行一個或若干專用功能的計算機系統或設備。嵌入式系統可以與通用計算機系統(例如臺式PC)形成對比。「機頂盒」(STB)也被稱為數據盒、機頂單元或集成接收器/解碼器(IRD),這是嵌入式系統的示例。STB可以操作用於連接至顯示設備(例如電視或者計算機)以及外部信號源(例如內容伺服器)。STB可以操作用於將從外部信號源接收的信號轉換成繼而在顯示設備上顯示的內容。「集成電路」(也被稱為微電路、微晶片或者晶片)可以指代已經在半導體材料的薄襯底的表面中製造的小型電子電路。「數位訊號處理器」 (DSP)可以被理解為被優化用於特定操作(可能包括信號處理 (轉換))的專用微處理器。與通用微處理器相比,DSP可以具有減少的硬體複雜性、減少的功能性、更低的成本、更好的性能以及減少的功耗。「片上系統」(SoC)可以指代在單個集成電路上對計算機系統的存儲組件的集成。 可能需要額外的存儲器和/或外圍設備,以供SoC實現完整的功能性。SoC可以包括DSP。「數字媒體處理器」(DMP),也被稱為媒體處理器,可以被理解為被設計用於實時 (或者接近實時)處理數據流(例如,諸如視頻或者音頻之類的媒體)的SoC。DMP可以包括以下中的一個或多個DSP、存儲器接口、媒體接口和音頻/視頻加速器。DMP可以能夠對各種類型的媒體(例如圖像)和媒體流進行解碼、轉碼(從一種格式轉換成另一種格式)、 編碼以及碼率轉換(transrate,從較高比特率縮放到較低比特率)。「字符串」可以被理解為字符的有限序列,其中每個字符是諸如符號之類的信息單元。「文本」可以包括一個或多個字符串。「高速緩存」可以指代存儲數據從而使得針對該數據的未來請求可以被更快服務的存儲組件。「移動代碼」可以指代在系統之間傳送的軟體,該軟體可能在本地系統上執行而無需針對安裝顯式觸發,或者由接收者執行。移動代碼的示例包括Jav必cript、VBScript, Java小應用程式以及ActiveX控制項。「網際網路協議電視」(IPTV)可以被理解為一種系統,通過該系統數位電視服務使用分組交換網絡基礎設施上的網際網路協議(IP)套件的架構和網絡方法來進行遞送。IPTV可以使用STB來進行遞送。「代理」可以指代充當針對來自尋求資源(例如文件或網頁)的客戶端的請求的媒介物的軟體。「靜態」內容元素(也被稱為靜態內容)可以指代很少被修改的內容元素。例如, 靜態內容元素可以被少於每月一次地、少於每兩個月一次地、少於每年一次地乃至更不頻繁地被修改。「動態」內容元素(也被稱為動態內容)可以指代被頻繁修改的內容元素。例如,動態內容元素可以被多於每月一次地、多於每月兩次地、多於每周一次地乃至更頻繁地被修改。一般而言,動態內容元素比靜態內容元素被更頻繁地修改。可以使用伺服器邏輯生成動態內容元素。可以用於生成動態內容元素的伺服器邏輯的示例是公共網關接口(CGI)、 PHP:超文本預處理器(PHP)、Java伺服器頁面(JSP)以及活動伺服器頁面(ASP)。「進程」可以被理解為執行程序的實例。進程可以包括程序計數器(包含將被提取的下一指令的存儲器地址)的當前值、寄存器值以及變量。進程可以管理一組資源並且具有其自己的地址空間,以及信號句柄和記帳信息。「線程」也被稱為控制線程、執行線程、迷你(mini)進程或者輕量進程。多個線程可以存在於一個進程內。線程可以與其他線程共享地址空間以及進程的其他資源。每個線程通常具有其自己的程序計數器、寄存器值、堆棧(包括輸入參數、本地變量和臨時變量) 以及狀態。「纖程(fiber) 」可以通過分配用於存儲與該纖程相關聯的數據和寄存器值的數據結構和堆棧而創建。纖程可以被理解為與線程類似。在線程之間切換可能要求進入和退出作業系統(OS)內核。然而,纖程可以被協同調度,並且作業系統內核不了解纖程。「插件」可以被理解為用於實現特定功能或用於提高現存功能的性能的模塊或者應用。這可以通過用諸如C之類的低級程序設計語言(即,相對接近機器級)來實現插件而完成。可以通過參照Andrew S. Tanenbaum 的 Operating Systems 第 3 版,2009 來進一步
理解進程、線程和纖程。


圖1示出了嵌入式系統的框圖。圖2示出了嵌入式系統和伺服器的示圖。圖3示出了用戶接口的框圖。圖4示出了用於提高由客戶端在嵌入式系統上檢索數據的速度的示例性方法的流程圖。
具體實施例方式在下文,將參照附圖給出對示例的詳細描述。應當理解,可以對示例進行各種修改。具體地,一個示例的元件可以被組合併且在其他示例中使用以形成新的示例。在本說明書中描述的主題可以被實現為方法或在設備上實現,可能採取一個或多個電腦程式產品的形式。在本說明書中描述的主題可以在數據信號中或者在機器可讀的介質上實現,其中該介質體現在一個或多個信息載體中,諸如半導體存儲器或者硬碟。此類電腦程式產品可以使數據處理裝置執行在說明書中描述的一個或多個操作。此外,在本說明書中描述的主題還可以被實現為系統,該系統包括處理器以及耦合到處理器的存儲器。該存儲器可以對一個或多個程序編碼,以使得該處理器執行在說明書中描述的一個或多個方法。在本說明書中描述的其他主題可以使用各種機器實現。在以下示例性附圖和描述中闡明了一個或多個實現的細節。通過描述、附圖以及通過權利要求書,其他特徵將會變得易於理解。
圖1示出了包括晶片集102的嵌入式系統100的框圖。在具體示例中,晶片集102 可以是SoC,諸如包括音頻/視頻硬體加速器的32位MIPS 4KeC。在另一示例中,晶片集102 可以是DMP,諸如包括高級RISC架構機(ARM)ARM^6EJ-S CPU (RISC指代精簡指令集計算機)的德克薩斯儀器TMS320DM6446。晶片集102可以是微處理器或者微控制器。還有可能是其他實現。嵌入式系統100的某些實施方式包括第一非易失性存儲器,諸如快閃記憶體104。備選地,嵌入式系統100可以包括另一種形式的非易失性存儲器。嵌入式系統100的第一非易失性存儲器可以是電子可尋址的。在某些情況下,嵌入式系統100的第一非易失性存儲器可以是另一種形式的固態存儲器,諸如矽-氧化物-氮化物-氧化物-矽(S0N0Q存儲器或者非易失性隨機存取存儲器。還有可能是其他類型的非易失性存儲器。快閃記憶體104可以固定到嵌入式系統100。具體地,快閃記憶體104可以被構建到晶片中,並且該晶片可以被有線連接到嵌入式系統100。快閃記憶體104的內容可以被稱為固件。在某些情況下,由快閃記憶體104存儲的固件可以包括用於嵌入式系統100的作業系統, 例如具有內核版本2. 6的Linux。固件還可以包括客戶端(例如,如圖2中所描繪的)以及即使在客戶端未連接到伺服器(例如,如圖2中所描繪的)時也可以用來構建用戶接口 (參見圖3)的基本用戶接口組件。根據一個示例,嵌入式系統100可以包括第二非易失性存儲器(未示出)。第二非易失性存儲器可以被實現為硬碟驅動器,例如通用串行總線(USB)硬碟驅動器。嵌入式系統100可以包括最低限度的硬體,例如為了執行基本聯網任務而需要的硬體而沒有其他硬體,以便降低成本。因此,嵌入式系統100上的程序,例如圖2中描繪的客戶端和代理,可以出於性能原因而採用諸如C之類的低級程序設計語言來實現。在該上下文中,「低級」可以被理解為指代需要更多基礎硬體知識,並且(通常)比更高級的程序設計語言(例如Java)需要更多的編碼時間的程序設計語言。此外,可能難於從在嵌入式系統100上的特定程序中的錯誤中恢復。例如,由於RAM 106的有限容量,內存洩漏可能對嵌入式系統100具有特別嚴重的影響。因此,對在嵌入式系統100上部署的程序進行充分調試和測試可能是必要的。因此,可能難於針對嵌入式系統100開發可以相對容易地在通用計算機上開發的程序。嵌入式系統100可以被實現為STB或者實現為行動裝置。例如,可以在具有Linux OS或者Android OS的移動計算機或者智慧型手機上實現嵌入式系統100。具體而言,嵌入式系統 100 可以被實現為 Nokia N900,OpenMoko Neo Free Runner,HTC Hero 或者 Motorola Droid0還有可能是其他實現。此外,快閃記憶體104的內容(例如作業系統和應用)可以按照單片方式(即,作為單個封閉塊)存儲在嵌入式系統100上。例如,快閃記憶體104的內容可以被存儲為二值映像或者存儲為壓縮的二值映像。換言之,快閃記憶體104可以包含二值固件映像或者壓縮的二值固件映像。 這可以減小在嵌入式系統100上需要的快閃記憶體量,並且因而減小生產嵌入式系統100的成本。此外,在嵌入式系統100上使用二值映像可以有利於嵌入式系統100的製造者或者維護者。例如,使用二值映像可以使用戶更簡單地更新嵌入式系統100。二值固件映像可以包含代表存儲介質(例如快閃記憶體104)的完整的內容和結構。二值映像可以被存儲在單個文件中。根據傳統技術,固件的內容可以包括靜態內容元素。固件中靜態內容元素的存儲可以簡單和容易地實現。此外,該技術可以允許對靜態內容元素進行更新和操作而不需要請求軟體組件(例如圖2中描繪的代理)來管理靜態內容元素。靜態內容元素的示例包括嵌入式系統100的本地⑶I的元素。換言之,靜態內容元素可能不與特定應用相關聯。然而,將靜態內容元素存儲在快閃記憶體104中作為二值固件映像的一部分可能具有以下效果更新靜態內容元素的唯一方式是執行完整的固件升級。可能難於或者不期望執行完整的固件升級以便替換存儲在嵌入式系統100的固件中的內容元素,例如靜態內容元素。完整的固件升級可能導致使用更多的帶寬、潛在的錯誤可能具有更嚴重的後果,並且完整的固件升級可能干擾嵌入式系統100的操作。例如, 下載完整的固件以便更新一個或多個靜態內容元素可能要求比僅僅下載待更新的靜態內容元素更多的帶寬。此外,完整的固件更新可能會失敗,從而導致嵌入式系統100變得不可用。另外,完整的固件更新經常引起嵌入式系統100的操作的中斷,這是由於通常需要對嵌入式系統100進行重新引導。嵌入式系統100還可以包括易失性存儲器,諸如隨機存取存儲器(RAM) 106。此夕卜, 嵌入式系統100可以包括地面數字視頻廣播OVB-T)接口 108。另外,嵌入式系統100可以包括接口,諸如USB埠 110。USB埠 110可以操作用於將USB設備連接到嵌入式系統100。嵌入式系統100還可以包括可連接到外部網絡(諸如乙太網埠 11 的訪問裝置。嵌入式系統100還可以支持無線訪問,例如通過無線保真(WiFi)裝置。外部網絡可以提供對外部信號源的訪問。此外,嵌入式系統100可以包括重置按鈕114,其可以被用於將嵌入式系統100返回到標準或者默認配置。嵌入式系統100還可以包括電源連接器116,其可以用於將嵌入式系統100連接到電源。圖2示出了與某些實施方式一致的嵌入式系統100的第二框圖。第二框圖還示出了伺服器202。伺服器202可以能夠向客戶端204發送信號,諸如IPTV信號。伺服器202可以包括IPTV中間件,S卩,與遞送IPTV服務相關聯的軟體包。可以在嵌入式系統100上執行客戶端204。客戶端204可以被實現為web瀏覽器 (例如,Microsoft Internet Explorer、Mozilla Firefox、Opera、Fresco)、定製圖形用戶接口或者某些其他形式的用戶接口。客戶端204可以存儲在快閃記憶體104的固件中。客戶端 204可以能夠顯示文檔,例如網頁。文檔可以由內容元素組成。內容元素的示例是各種格式(例如,聯合圖像專家組(JPG)、圖形交換格式(GIF)、可攜式網絡圖形(PNG))的圖像, 以及標記語言文本,例如,超文本標記語言(HTML)、可擴展標記語言(XML)。內容元素還可以包括表現語義,諸如層疊樣式表(CSQ,以及移動代碼,例如Jav必cript。客戶端204可以操作用於根據表現語義顯示圖像和標記語言文本。客戶端204還可以能夠執行移動代碼。此外,客戶端204可以被配置用於運行各種應用。例如,客戶端204可以被配置用於執行視頻點播目錄,其使用戶能夠瀏覽視頻的種類、選擇用於觀看的視頻以及檢索關於視頻的信息。客戶端204還可以執行電子節目指南。電子節目指南使用戶能夠瀏覽電視頻道、查看每個頻道的節目表以及檢索關於TV節目的信息(例如,開始時間、結束時間、描述)O在某些情況下,為了使成本最小化而用有限的資源來製造嵌入式系統100。例如, 嵌入式系統100可以包括300MHz CPUU28MBRAM以及32MB快閃記憶體。此外,使用現代軟體以在嵌入式系統上提供用戶接口可能不是切實可行。因此,可以使用4至10年前的並且不包括某些功能的web瀏覽器實現嵌入式系統的客戶端204。例如,嵌入式系統的客戶端204可能不支持Java小應用程式或者ActiveX控制項。此外,可以在嵌入式系統100上執行媒介物。媒介物可以被實現為代理206。代理 206可以與客戶端204分開執行。將代理206實現為外部組件可能具有的優點在於並不必須將代理206集成到客戶端204。在某些實施方式中,代理206可以被實現為客戶端204的外部組件。例如,客戶端 204可以被實現為瀏覽器,而代理206可以被實現為瀏覽器插件。在這種情況下,代理206 在客戶端204的存儲器空間內操作。因此,代理206可以使用函數調用而不是HTTP來與客戶端204通信。使用函數調用的通信可以具有改進性能的效果。備選地,客戶端204和代理206作為單獨的進程來執行。在該上下文中,進程可以被理解為執行程序的實例。例如,客戶端204是第一執行程序,而代理206是第二執行程序。客戶端204和代理206還可以被執行為迷你進程,例如線程或者纖程。因此,同客戶端204分開執行媒介物可以通過將代理206實現為客戶端204的外部組件來實現,或者通過將代理206實現為單獨的進程來實現。還有可能是其他實現。代理206可以包括管理組件。管理組件可以能夠管理存儲組件。在某些情況下, 管理組件被實現為高速緩存管理器208。存儲組件可以被實現為高速緩存209。由於嵌入式系統100的有限資源,高速緩存209的大小可能是受限的。客戶端204可以與代理206 交互,以便訪問高速緩存209中的數據。雖然高速緩存209被描繪為與代理206分離,但是可以包括高速緩存209作為代理206的一部分。代理206還可以包括接口,諸如超文本傳輸協議(HTTP)接口 210。客戶端204可以使用HTTP接口 210與代理206通信。向嵌入式系統100添加代理206可以具有增強嵌入式系統100的性能的效果。例如,嵌入式系統100和伺服器202之間的帶寬需求可以被減小。代理206可以使用信令機制以便管理和生成事件。事件可以由其他應用使用。例如,代理206可以在達到預置最大高速緩存大小時(即,當已經達到文件系統使用限度時) 生成事件。代理206還可以在CPU利用達到預置閾值時(例如,由於執行操作)生成事件。嵌入式系統100還可以包括HTTP內核應用程式設計接口(API) 212。客戶端204 和代理206可以使用HTTP內核API 212與伺服器202通信。例如,客戶端204可以與伺服器202通信以便選擇IPTV節目進行觀看。在某些情況下,客戶端204可以與代理206通信,而代理206使用HTTP內核API 212與伺服器通信。在其他情況下,客戶端204可以與HTTP內核API 212交互以便直接與伺服器通信。圖3示出了與本發明的某些實施方式一致的用戶接口 300的框圖。客戶端204可以能夠顯示用戶接口 300。用戶接口 300可以包括靜態圖像302,例如按照JPG格式的背景圖像。另外,用戶接口 300可以包括按照表現語義形式的靜態布局304。具體地,靜態布局304可以確定用戶接口 300中的靜態和動態內容元素的風格和位置。此外,用戶接口 300可以包括移動代碼306。例如,移動代碼306可以體現在從伺服器202下載到客戶端204的文檔中,並且可以由客戶端204執行。靜態圖像302、靜態布局304以及移動代碼306可以被理解為很少被修改的靜態內容元素。根據傳統技術,靜態內容元素可以與客戶端204 —起存儲在固件中。在固件中存儲靜態內容元素可以簡單並容易地實現。此外,根據傳統技術,並不要求在嵌入式系統100 上執行代理206。由於嵌入式系統100可能要求程序特別穩定和高效(特別是在與通用計算機上的程序比較中),因此為嵌入式系統100編寫程序(例如代理206)可能特別困難和費時。因此,用於嵌入式系統100的程序可能要求充分測試和調試,以及使用諸如C或者彙編語言之類的低級程序設計語言。然而,根據本發明的某些實施方式,高速緩存209可以同固件分開存儲(即,不在快閃記憶體104中)。例如,高速緩存209可以存儲在與快閃記憶體104分離的第二非易失性存儲器中。 由於高速緩存209的內容在將電源連接器116從電源斷開後仍將可用,因此在非易失性存儲器中存儲高速緩存209將是有利的。內容元素(例如靜態內容元素)可以存儲在高速緩存209中。在高速緩存209中存儲內容元素(即,與固件分離)產生以下技術效果可以對內容元素進行更新而不需要執行完整的固件升級。傳統的嵌入式系統與傳統的伺服器交互以便下載內容元素(例如靜態內容元素),並且在易失性存儲器中存儲所下載的內容元素。然而,這可能在特定情況下(例如,當多個嵌入式系統同時啟動並且試圖下載內容元素時)引起傳統伺服器的故障。例如,此類故障(也被稱為連鎖反應故障)可能發生在多個嵌入式系統升級的情況中,或者影響多個嵌入式系統的停電情況中。在高速緩存209中存儲內容元素(其中高速緩存209存儲在嵌入式系統100的非易失性存儲器(例如第二非易失性存儲器)中)產生以下技術效果可以避免某些或所有由於多個嵌入式系統同時啟動而造成的故障(即,連鎖反應故障)。例如,如果存在引起嵌入式系統100重新啟動的停電,則客戶端204可以能夠憑藉代理206檢索用戶接口 300的大部分。類似地,根據本申請配置的其他嵌入式系統可以能夠從相應的代理檢索靜態內容元素。由於從代理檢索靜態內容元素而產生的、對伺服器202的HTTP請求的減少可以預防伺服器202發生故障。另外,使用代理206可以減少要求伺服器202傳輸的數據,從而減小伺服器202上的負荷。此外,使用代理206可以產生針對嵌入式系統100的減少的引導時間以及用戶接口 300的更快的顯示。動態圖像308也可以是用戶接口 300的一部分。此外,用戶接口 300可以包括動態文本310。動態圖像308和動態文本310可以被理解為動態內容元素。視頻點播目錄應用上下文中的動態圖像的示例是電影片名和電影海報,其中電影海報是可以示出電影場景的該電影的可視廣告。同樣在視頻點播目錄應用上下文中,動態文本的示例是電影的描述和電影的演員表。
確定特定內容元素是動態內容元素還是靜態內容元素可以基於對在一時間間隔上特定內容元素被修改的頻繁程度的分析。如果特定內容元素被確定為靜態內容元素,則可以創建存儲規則(例如過濾器)。存儲規則可以基於特定內容元素的類型和/或HTTP請求的URL。內容類型可以指代嵌入式系統100上的用戶接口的構成。示例性內容類型包括 JPEG圖像(圖像/jpeg)、gif圖像(圖像/gif) ,html頁面(文本/html)、層疊樣式表(文 ^ /css) ^XR javascript 代碼(/SiM /javascript)。存儲規則還可以包括期滿,即,關於特定內容元素將被存儲多長時間的指示。存儲規則可以由高速緩存管理器208維護和實現。圖4示出了用於提高由客戶端204在嵌入式系統100上檢索數據的速度的示例性方法的流程圖。根據所描繪的方法,在步驟S402,在嵌入式系統100上執行客戶端204和代理 206。例如,可以自動執行客戶端204和代理206。此外,可以分別執行客戶端204和代理 206,例如,作為單獨的進程。雖然步驟S404至步驟S422涉及HTTP請求,但還有可能使用其他協議,例如文件傳輸協議或者實時流協議。為了使用其他協議,對所描述的方法的輕微改變可能是必要的。在步驟S404,客戶端204可以請求文檔的第一內容元素(也被稱為頁面的組件)。 例如,可以響應於用戶輸入來請求文檔並且可以從文檔的第一內容元素開始處理請求。第一內容元素可以是文檔中多個內容元素中的一個元素。備選地,第一內容元素可以是文檔中的唯一內容元素。根據本發明的某些實施方式,文檔包含多個內容元素並且客戶端204 針對每個內容元素執行HTTP請求。HTTP請求可以串行發生或者並行發生。此外,在步驟S406,客戶端204向代理206發送針對文檔的第一內容元素的請求。 例如,客戶端204向HTTP接口 210發送在步驟S404中描述的每個HTTP請求。代理206可以分析(例如解析)每個HTTP請求。在步驟S408,代理206可以確定在步驟S406中發送的HTTP請求中所標識的內容元素是否存儲在高速緩存209中。例如,HTTP請求可以標識第一內容元素。在某些情況下, 當收到內容元素時將其存儲在高速緩存209中。步驟S410和步驟S414是可以取決於步驟S408的結果而採用的兩個備選。當第一內容元素存儲在高速緩存209中時,可以執行步驟S410。當第一內容元素沒有存儲在高速緩存209中時,則可以執行步驟S414。當執行步驟S414時,還可以執行步驟S416、步驟 S418以及可選擇地步驟S420。因此,當第一內容元素存儲在高速緩存209中時,代理206可以在步驟S410從高速緩存209檢索第一內容元素。隨後,代理206可以在步驟S412向客戶端204發送第一內容元素。備選地,當第一內容元素沒有存儲在高速緩存209中時,代理206可以在步驟S414 向伺服器202請求第一內容元素。例如,代理206可以向伺服器202提出HTTP請求。伺服器202可以在步驟S416響應代理206。在步驟S418,進行關於第一內容元素是否與至少一個存儲規則相匹配的確定。換言之,步驟S418涉及確定是否基於存儲規則存儲第一內容元素。高速緩存規則是存儲規則的示例。取決於步驟S418的結果,可以在步驟S418之後執行步驟S420或者步驟S412。例如,當第一內容元素與存儲規則匹配時,可以在步驟S420將第一內容元素存儲在高速緩存 209中。當第一內容與存儲規則未匹配時,在步驟S418之後可以執行步驟S412。根據具體示例,在步驟S406提出的示例性HTTP請求可以包括以下統一資源定位符(URL) :"http //iptv-provider/GUI/imaRes/backRround. piir,,。例如,存儲規則A如下

/GUI/images
43200
根據存儲規則A,如果HTTP請求包括具有字符串「/⑶I/images」的URL(諸如以上示例性HTTP請求的URL),則代理206可以進行以下操作-將URL包括到對伺服器202的請求中;-從伺服器202接收響應;以及-在高速緩存209中存儲伺服器的響應的內容元素。另外,根據存儲規則A,內容元素(例如由URL指代的kickgroimd. png圖像)可以在高速緩存209中存儲43,200分鐘(30天)。換言之,內容元素具有43,200分鐘的期滿時間。如果客戶端204在將來請求相同的URL,則代理206從高速緩存209檢索lDackground. png圖像。在進一步的示例中,存儲規則B如下

image/jpeg
43200
類似於存儲規則A,根據存儲規則B,如果HTTP請求包括指定「 image/jpeg」的內容類型欄位,則代理206可以進行以下操作-將HTTP請求的URL包括到對伺服器202的請求中;-從伺服器202接收響應;以及-在高速緩存209中存儲伺服器的響應的內容元素。在另一示例中,存儲規則C如下
image/jpeg
43200


image/gif
43200

存儲規則C包括「或」(OR)表達式,從而使得如果內容元素是JPEG圖像或者GIF 圖像則規則匹配。在使用「或」表達式限定的規則中,如果「或」規則內的至少一個子規則匹配則整個規則匹配。此外,如果使用「與」(AND)表達式限定規則,那麼如果「與」表達式內的所有子規則匹配則整個規則匹配。在某些情況下(例如存儲規則C),使用標記限定每個子規則。還有可能是其他邏輯表達式(例如異或O(OR))。因此,在某些情況下,當存儲規則的一個或多個過濾器表達式與HTTP請求匹配時,根據期滿時間存儲HTTP請求的一個或多個內容元素。取決於與內容元素相關聯的期滿政策,針對不同內容元素可以實現不同的存儲規則。在某些情況下,針對靜態內容元素而不針對動態內容元素實現存儲規則。換言之,存儲規則可以適用於很少被修改的內容元素,而存儲規則可能不適用於頻繁被修改的內容元素。例如,在上述示例性HTTP請求的URL中指代的hckground. png圖像可以是很少被修改的內容元素。文檔也可以包含頻繁被修改的第二內容元素。可能不存在對應於第二內容元素的存儲規則。因此,在步驟S418,做出不在高速緩存209中存儲第二內容元素的確定。有利地,由於不需要從伺服器202下載存儲在高速緩存209中的內容元素,因此在高速緩存209中存儲內容元素可以顯著地改進客戶端204的性能。在步驟S422,可以由客戶端204收集對在步驟S404中指代的HTTP請求的響應。 可以將響應進行彙編並且呈現為連貫的用戶接口文檔,即用戶接口 300。實現圖4的方法可以使用戶接口 300的所有靜態內容被存儲在高速緩存209中。 備選地,由於高速緩存209存儲容量的限制,可能在高速緩存209中存儲靜態內容的一部分。憑藉高速緩存209中的代理206,可以加速嵌入式系統100上的內容元素的處理。 與伺服器202相比,可以更快地從高速緩存209檢索內容元素,例如靜態內容元素。此外, 由於同客戶端204分開執行代理206,因此不存在將客戶端204與代理206集成的需要。另外,通過區分靜態內容元素(即,很少被修改的內容元素)和動態內容元素(即,頻繁被修改的內容元素),可以按照有利的方式使用高速緩存209的有限容量。此外,通過將高速緩存209從嵌入式系統100的固件分離,可以更新存儲在高速緩存209中的內容元素而不需要升級固件。
權利要求
1.一種用於提高由客戶端(204)在嵌入式系統(100)上檢索數據的速度的計算機實現的方法,所述嵌入式系統(100)包括存儲組件009),所述方法包括在所述嵌入式系統(100)上執行所述客戶端(204);在所述嵌入式系統(100)上執行640 媒介物006),其中分別執行所述客戶端 (204)和媒介物006),並且其中所述媒介物(206)管理所述存儲組件O09);從所述媒介物(206)處的所述客戶端(204)接收(S406)針對文檔(300)的第一內容元素(302,304,306)的第一請求;由所述媒介物(206)確定(S408)所述第一內容元素(302、304、306)是否存儲在所述存儲組件O09)中;以及當所述第一內容元素(302、304、306)存儲在所述存儲組件O09)中時 從所述存儲組件(209)檢索(S410)所述第一內容元素(302、304、306);以及從所述媒介物O06)向所述客戶端(204)發送(S4U)所述第一內容元素(302、304、 306)。
2.根據權利要求1所述的方法,還包括確定所述第一內容元素沒有存儲在所述存儲組件中; 檢索所述第一內容元素(302、304、306);以及由所述媒介物(206)基於存儲規則確定是否在所述存儲組件(209)中存儲所述第一內容元素(302,304,306)。
3.根據權利要求2所述的方法,其中所述存儲規則包括以下中的至少一個 期滿;統一資源定位符的字符串;以及內容類型。
4.根據前述權利要求中的任意一項所述的方法,其中所述嵌入式系統(100)包括非易失性存儲器(104),並且其中固件作為二值映像存儲在所述非易失性存儲器(104)中。
5.根據權利要求4所述的方法,其中同所述固件分開存儲所述存儲組件009)。
6.根據權利要求4或5所述的方法,其中在嵌入式系統(100)上執行所述客戶端(204) 還包括從所述非易失性存儲器(104)向易失性存儲器(106)複製所述固件,並且其中向所述易失性存儲器(106)複製所述固件包括將所述非易失性存儲器(104)的全部內容複製到所述易失性存儲器(106)中。
7.根據前述權利要求中的任意一項所述的方法,其中將所述客戶端(204)和所述媒介物(206)作為單獨的進程來執行。
8.根據權利要求1至6中任意一項所述的方法,其中將所述媒介物(206)實現為所述客戶端Q04)的外部組件。
9.根據前述權利要求中的任意一項所述的方法,結合權利要求2,其中所述第一內容元素(302、304、306)很少被修改,所述方法還包括由所述媒介物(206)基於所述存儲規則確定在所述存儲組件中存儲所述第一內容元素(302,304,306);在所述存儲組件O09)中存儲所述第一內容元素(302、304、306)。
10.根據前述權利要求中的任意一項所述的方法,其中所述文檔(300)包括第二內容元素(308、310),其中所述第二內容元素(308、310)頻繁被修改,所述方法還包括從所述媒介物(206)處的客戶端(204)接收針對所述文檔的第二內容元素(308、310) 的第二請求;檢索所述第二內容元素(308、310);以及由所述媒介物(206)確定沒有在所述存儲組件O09)中存儲所述第二內容元素(308、 310)。
11.根據前述權利要求中的任意一項所述的方法,結合權利要求2,其中所述嵌入式系統(100)是機頂盒,並且其中所述伺服器(20 包括用於遞送網際網路協議電視的軟體。
12.根據前述權利要求中的任意一項所述的方法,其中所述客戶端(204)包括web瀏覽器。
13.一種電腦程式產品,包括計算機可讀指令,當被加載到嵌入式系統(100)並在其上執行時,使得所述嵌入式系統(100)根據前述權利要求中的任意一項所述的方法執行操作。
14.一種嵌入式系統(100),包括 客戶端(204);存儲組件009),其可操作用於存儲數據; 媒介物006),其可操作用於 管理所述存儲組件O09);從所述客戶端(204)接收針對文檔(300)的第一內容元素(302、304、306)的第一請求;確定所述第一內容元素(302、304、306)是否在所述存儲組件O09)中;以及當所述第一內容元素在所述存儲組件O09)中時 從所述存儲組件(209)檢索所述第一內容元素(302、304、306); 向所述客戶端發送所述第一內容元素(302、304、306); 其中所述客戶端(204)和所述媒介物(206)可操作用於單獨執行。
15.根據權利要求14所述的系統,其可操作用於根據權利要求1至12中任意一項執行操作。
全文摘要
本發明涉及提高在嵌入式系統上檢索數據的速度的方法和嵌入式系統。具體地,本發明涉及用於提高由客戶端在嵌入式系統上檢索數據的速度的計算機實現的方法、計算機軟體產品以及嵌入式系統,該嵌入式系統包括存儲組件。該方法包括在嵌入式系統上執行客戶端;在嵌入式系統上執行媒介物,其中分別執行客戶端和媒介物,並且其中媒介物管理存儲組件;從媒介物處的客戶端接收針對文檔的第一內容元素的請求;由媒介物確定第一內容元素是否存儲在存儲組件中;以及當第一內容元素存儲在存儲組件中時從存儲組件檢索第一內容元素;以及從媒介物向客戶端發送第一內容元素。
文檔編號G06F17/30GK102426576SQ20111022013
公開日2012年4月25日 申請日期2011年7月28日 優先權日2010年7月29日
發明者A·諾斯裡諾, C·卡爾德拉, F·康索萊, G·佩爾西亞, G·加格利亞爾迪, O·奧諾拉託 申請人:埃森哲環球服務有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀