[發明專利]基于鍵值對緩存的數據讀寫方法及裝置有效
| 申請號: | 201310071339.6 | 申請日: | 2013-03-06 |
| 公開(公告)號: | CN103207841A | 公開(公告)日: | 2013-07-17 |
| 發明(設計)人: | 張帥;周翚 | 申請(專利權)人: | 青島海信傳媒網絡技術有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;H04N21/442 |
| 代理公司: | 北京市京大律師事務所 11321 | 代理人: | 黃啟行;方曉明 |
| 地址: | 266061 山東省青島*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 鍵值 緩存 數據 讀寫 方法 裝置 | ||
技術領域
本發明涉及數據緩存處理技術,尤其涉及一種基于鍵值對(KV,Key-Value)緩存的數據讀寫方法及裝置。
背景技術
隨著數字電視技術的發展,智能電視系統服務的客戶數量日益增大。為了提高智能電視系統中數據傳輸(讀寫)的效率,提升智能電視系統的并發性能,一般采用鍵值對(KV,Key-Value)緩存技術,KV緩存技術是現今應用廣泛的存儲技術,通過將熱點數據存儲在智能電視系統的內存中,并采用哈希(Hash)索引方式提升對數據的讀寫訪問速度,從而可以極大提高智能電視系統的并發性能以及傳輸效率。但由于緩存技術是將數據存儲在內存中,因而,在智能電視系統發生故障時,不僅會造成數據傳輸業務中斷,而且,緩存中存儲的數據也會丟失且不可恢復,使得智能電視系統的可用性或可靠性較低。
為了避免智能電視系統故障導致的數據丟失以及傳輸業務中斷,提升智能電視系統的可用性,現有技術提出了主從結構的KV緩存的數據讀寫方法。在智能電視系統中,設置一個主緩存器以及一個或多個從緩存器,主緩存器與從緩存器實時進行數據同步。在智能電視系統正常運行時,主緩存器處于工作狀態,向請求服務的客戶端提供數據讀寫業務服務,從緩存器處于備用狀態。當主緩存器發生故障失效時,各從緩存器根據預先設置的失效處理策略,將其中的一個從緩存器升級為主緩存器,用以替換失效的主緩存器,并向請求服務的客戶端發送包含升級的從緩存器的服務地址更新信息,通知客戶端更新設置,使得客戶端可以根據服務地址更新信息向升級的從緩存器請求數據讀寫業務服務,保障數據傳輸業務不中斷;同時,向各從緩存器發送同步信息,通知各從緩存器按照預先設置的同步周期與自身進行數據同步。失效的主緩存器在排除故障后,作為從緩存器以供備份。
由上述可見,現有基于KV緩存的數據讀寫方法,通過主從結構的KV緩存,用以保障智能電視系統數據傳輸的可用性。但是,通過主緩存器向客戶端提供數據讀寫業務服務,從緩存器只是作為備份緩存器,在主緩存器失效之前,從緩存器不能為客戶端提供數據讀寫業務服務,使得主緩存器負載較重,導致主緩存器與從緩存器的負載失衡,容易引起主緩存器擁堵,使得主緩存器數據讀寫效率降低;進一步地,在主緩存器發生故障失效時,需要升級的從緩存器向智能電視系統中的各客戶端發送包含該從緩存器的服務地址更新信息,使客戶端更新設置以能與升級的從緩存器進行通信,從而不中斷數據讀寫業務服務。由于智能電視系統服務的客戶端數量大,使得發送服務地址更新信息所需的資源開銷大;而且,客戶端需要根據接收的包含升級的從緩存器的服務地址更新信息進行更新設置,需要針對主從緩存器的結構不斷構建、變更連接,流程較為復雜,不能做到透明連接。
發明內容
本發明的實施例提供一種基于鍵值對緩存的數據讀寫方法,客戶端可以透明使用緩存器,不用關心單個緩存器是否發生故障,并且可以提高緩存器數據的讀寫效率。
本發明的實施例還提供一種基于鍵值對緩存的數據讀寫裝置,客戶端可以透明使用緩存器,不用關心單個緩存器是否發生故障,并且可以提高緩存器數據的讀寫效率。
為達到上述目的,本發明實施例提供的一種基于鍵值對緩存的數據讀寫方法,該方法包括:
預先設置以鍵值對的方式緩存數據的主緩存器以及從緩存器,并設置從緩存器根據預先設置的同步周期,從主緩存器獲取同步更新的數據;
接收客戶端發送的數據請求,識別數據請求類型,如果為數據讀請求,選取從緩存器,將數據讀請求輸出至該從緩存器,如果為數據讀寫請求或數據寫請求,將數據請求輸出至主緩存器;
接收主緩存器返回的數據請求響應或從緩存器返回的數據讀請求響應后,轉發至相應的客戶端;
監測主緩存器和從緩存器的狀態,在監測到主緩存器發生故障后,選取從緩存器并向該從緩存器發送屬性變更指令,該從緩存器根據所述屬性變更指令切換為主緩存器。
其中,所述方法進一步包括:
更新存儲的運行狀態列表中發生故障的主緩存器信息以及選取的從緩存器信息;
遠程拉起發生故障的主緩存器,在發生故障的主緩存器排除故障啟動后,更新存儲的運行狀態列表中發生故障的主緩存器信息;
將啟動的主緩存器切換為從緩存器,向該切換的從緩存器發送包含當前主緩存器信息的同步更新指令;
所述切換的從緩存器接收同步更新指令,向同步更新指令中包含的當前主緩存器獲取同步更新的數據。
其中,所述運行狀態列表包含緩存器的屬性、緩存器狀態以及緩存器當前的負載量。
其中,所述方法進一步包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于青島海信傳媒網絡技術有限公司,未經青島海信傳媒網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310071339.6/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





