[發明專利]分布式緩存方法及系統有效
| 申請號: | 201410317772.8 | 申請日: | 2014-07-04 |
| 公開(公告)號: | CN104052824B | 公開(公告)日: | 2017-06-23 |
| 發明(設計)人: | 何震宇;張高偉;李鑫;李義;陳明明;劉偉 | 申請(專利權)人: | 哈爾濱工業大學深圳研究生院 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 深圳市科吉華烽知識產權事務所(普通合伙)44248 | 代理人: | 于標 |
| 地址: | 518000 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 緩存 方法 系統 | ||
技術領域
本發明涉及互聯網數據緩存領域,尤其涉及分布式緩存方法及系統。
背景技術
互聯網的飛速發展,帶來了大數據時代,從而出現了各種各樣的云計算服務,海量數據的存儲和獲取成為了一種重要的研究方向。其中,主要的方案就是文件存儲在分布式文件系統中,在此過程中,對于需要實時處理的應用中,文件的獲取性能就成了一個巨大的挑戰。
Apache Hadoop是一個能夠對大量數據進行分布式處理的開源軟件框架。
Hadoop的開源授權方式是Apache License2.0。
Hadoop技術是分布式系統基礎架構,主要包括Map/Reduce和HDFS,其中HDFS是一個高度容錯性的系統,適合部署在廉價的機器上,HDFS能提供高吞吐量的數據訪問,非常適合大規模數據的應用,常用來保存海量的文件,但是缺乏對實時應用的支持。在HDFS中,讀取文件需要很多的節點連接交互的過程,這個過程會極大的增加文件讀取的時間。
發明內容
為了解決現有技術中的問題,本發明提供了一種分布式緩存方法。
本發明提供了一種分布式緩存方法,其特征在于,該分布式緩存方法包括客戶端動態緩存庫和多個服務器端緩存服務單元,該分布式緩存方法構建在HDFS之上,在服務器端緩存服務單元中包括執行如下步驟:
HDFS數據獲取步驟:通過HDFS的API把HDFS上存儲的文件內容讀取出來加載到共享內存當中;
共享內存管理步驟:用于連接客戶端動態緩存庫和服務器端緩存服務單元;
在云服務應用端執行如下步驟:
交互控制步驟:用于完成同一個主機的交互工作,用于與ZooKeeper服務器完成遠程交互,用于計算想要獲得的文件并且定位到緩存。
作為本發明的進一步改進,該分布式緩存方法還包括運行在服務器端緩存服務單元上的序列號快照步驟,在所述序列號快照步驟中,用于周期性把元數據和所有的緩存文件寫入本地操作系統的文件系統,形成一系列的快照。
作為本發明的進一步改進,在所述共享內存管理步驟中,通過HDFS數據獲取步驟中獲得的文件內容加載到分布式文件緩存當中,供客戶端讀取,提供一次寫入、多次讀取的模型。
作為本發明的進一步改進,在云服務應用端還包括執行客戶端共享內存獲取步驟,在所述客戶端共享內存獲取步驟中,通過與共享內存管理步驟的交互來讀取所需文件內容。
作為本發明的進一步改進,在所述共享內存管理步驟中,共享內存被分成了從個固定的頁,頁是最小的內存分配單位,在每頁的最后留下4位來存儲同一個文件的下一頁,所有的頁是以鏈表的形式組織;當客戶端獲取一個文件,緩存沒有命中的時候,服務器端緩存服務單元將會從其他的服務器端緩存服務單元或者HDFS的本地快照中查找文件;當服務器端緩存服務單元加載文件內容到共享內存的時候,如果共享內存已經沒有足夠的頁來分配,服務器端緩存服務單元會使用LRU算法去移除元數據信息圖中最近一段時間沒有使用的緩存內容;在處理LRU算法的時候,移除的文件放在本地磁盤中,如果本地磁盤沒有足夠的空間,LRU算法同樣應用于本地磁盤來移除本地磁盤上的最近一段時間沒有使用的文件;每個緩存文件有多個副本。
本發明還提供了一種分布式緩存系統,其特征在于,該分布式緩存系統包括客戶端動態緩存庫和多個服務器端緩存服務單元,該分布式緩存系統構建在HDFS之上,在服務器端緩存服務單元中包括:
HDFS數據獲取模塊:通過HDFS的API把HDFS上存儲的文件內容讀取出來加載到共享內存當中;
共享內存管理模塊:用于連接客戶端動態緩存庫和服務器端緩存服務單元;
客戶端動態緩存庫中包括:
客戶端交互控制模塊:用于完成同一個主機的交互工作,用于與ZooKeeper服務器完成遠程交互,用于計算想要獲得的文件并且定位到緩存。
作為本發明的進一步改進,該分布式緩存系統還包括運行在服務器端緩存服務單元上的序列號快照模塊,在所述序列號快照模塊中,用于周期性把元數據和所有的緩存文件寫入本地操作系統的文件系統,形成一系列的快照。
作為本發明的進一步改進,在所述共享內存管理模塊中,通過HDFS數據獲取步驟中獲得的文件內容加載到分布式文件緩存當中,供客戶端讀取,提供一次寫入、多次讀取的模型。
作為本發明的進一步改進,在客戶端動態緩存庫中還包括執行客戶端共享內存獲取模塊,在所述客戶端共享內存獲取模塊中,通過與共享內存管理模塊的交互來讀取所需文件內容。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學深圳研究生院,未經哈爾濱工業大學深圳研究生院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410317772.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:游戲應用中的語音通信方法及系統
- 下一篇:一種網站測試的分流控制方法和裝置





