一種大數據處理分布式緩存系統及其方法
【技術領域】
[0001] 本發明屬于大數據應用領域,尤其設及一種大數據處理分布式緩存系統及其方 法。
【背景技術】
[0002] 互聯網科技的發展使得數據量急劇增加,在數據科技的大力發展下,人們所能儲 存、處理的數據已經達到前所未有的量級,并且W超過摩爾定律的速度迅猛增加。大數據的 核屯、價值就是在于對于海量數據進行存儲和分析。在商業環境下,數據處理服務提供商將 大數據處理包裝成服務,出售給用戶。
[0003] 對于一些實時的數據分析需求,用戶對處理的性能及返回的時間有所要求。因此 需要對大數據處理的性能進行優化,W提高數據處理效率。緩存是提高大數據處理速度的 重要手段。
[0004] 將數據存儲在高速緩存中,可大幅提高數據I/O效率,進而加快數據處理效率。然 而,緩存相對于磁盤等外部存儲設備是一種較為昂貴的物品,且大數據是全樣本的海量數 據,將所有數據存儲在緩存中是不經濟的、不可行的。用戶的數據訪問往往對一部分數據是 頻繁的、實時的,因此我們可W將訪問頻繁的、重要的數據放置于緩存之中。
[0005] 相對于傳統數據緩存,大數據緩存有其獨有的特點:
[0006] 數據是W鍵值對化ey-Value)結構組織存儲。緩存的粒度、形式及替換算法需要進 一步討論W適應大數據的存儲結構。
[0007] 大數據處理需要依賴于云計算平臺。大數據訪問的數據往往具有一定的關聯性, 將有關聯的數據放置到相近的位置,會減少數據傳輸的代價。比如一個數據處理需要A、B兩 部分數據,而A與B存儲在兩個不同的節點中,運需要將其中一個數據傳輸到另一個節點中 才能進行處理;A、B若集中存儲在一個節點中,將避免網絡傳輸,從而提高處理效率。在得到 需要緩存數據之后,需要設計一種方法將運些數據放置在適合的節點。
【發明內容】
[000引為了解決現有技術的缺點,本發明提供一種大數據處理分布式緩存方法。該方法 利用對緩存單元進行聚類的方法,在每一個云計算緩存節點對應存儲緩存單元類型,用于 加快大數據的處理速度。
[0009] 為實現上述目的,本發明采用W下技術方案:
[0010] -種大數據處理分布式緩存系統,包括:相互通信的大數據存儲器和分布式云計 算服務器;
[0011] 所述大數據存儲器劃分為若干個緩存單元,每個所述緩存單元用于W鍵值對的形 式進行存儲數據;
[0012] 所述分布式云計算服務器中設有若干個云計算緩存節點、大數據提取模塊和云計 算緩存節點分配模塊;
[0013] 所述大數據提取模塊,其用于根據緩存單元的被訪問頻率,計算緩存單元的價值 并進行排序,提取預設價值闊值范圍內的所有緩存單元;
[0014] 所述云計算緩存節點分配模塊,其用于對提取的預設價值闊值范圍內的所有緩存 單元進行聚類,并將預設聚類數量的緩存單元分配至任一云計算緩存節點中進行存儲。
[0015] 所述大數據存儲器包括RAM存儲器和FLASH存儲器。
[0016] 在大數據存儲器中根據預設周期進行更新緩存單元中的數據。
[0017] -種大數據處理分布式緩存系統的緩存方法,包括:
[0018] 將大數據處理服務器劃分為若干個緩存單元,在每個緩存單元中W鍵值對的形式 進行存儲數據;
[0019] 根據緩存單元的被訪問頻率,計算緩存單元的價值并進行排序,提取預設價值闊 值范圍內的所有緩存單元;
[0020] 對提取的預設價值闊值范圍內的所有緩存單元進行聚類,并將預設聚類數量的緩 存單元分配至任一云計算緩存節點中進行存儲。
[0021] 計算緩存單元的價值之前,根據預設周期進行更新緩存單元中的數據。
[0022] 緩存單元的價值的計算方法為:
[002;3] P寺=a. P;、+、\-a).n; . P
[0024] 其中,p/表示第i個緩存單元在第j個周期的價值;只尸表示第i個緩存單元在第j-1個周期的價值;a是周期影響因子,為常數;e是第i個緩存單元中的數據價值因子,為常數; 皆第i個緩存單元在第j個周期內的訪問次數;i和j均為大于等于1的正整數,為大于等于 0的正整數。
[0025] 在云計算緩存節點中,采用Memcache機制進行緩存大數據。
[0026] 使用k-means算法對提取的預設價值闊值范圍內的所有緩存單元進行聚類。
[0027] 大數據存儲器包括RAM存儲器和FLASH存儲器。
[002引本發明的有益效果為:
[0029] (1)本發明的分布式云計算服務器設有若干個云計算緩存節點,采用每一個云計 算緩存節點對應存儲預設數量的緩存單元類型,使得數據在被訪問或處理時,減少節點間 的網絡數據傳輸,縮短處理時間,有效提高大數據處理的效率;
[0030] (2)本發明的分布式云計算服務器的云計算緩存節點,可W采用多種存儲機制進 行存儲大數據,其中,包括Memcache機制;而且本發明的大數據處理分布式緩存系統中設置 的多個云計算緩存節點,能夠保證大數據得到分布式緩存和處理。
【附圖說明】
[0031 ]圖1是本發明的大數據處理分布式緩存方法流程圖。
【具體實施方式】
[0032] 下面結合附圖與實施例對本發明做進一步說明:
[0033] 本發明的大數據處理分布式緩存系統包括:大數據存儲器和分布式云計算服務 器,運兩者進行相互通信。
[0034] 下面依次對大數據存儲器和和分布式云計算服務器進行詳細介紹:
[0035] (1)大數據存儲器:
[0036] 大數據存儲器劃分有若干個緩存單元,每個緩存單元均用于W鍵值對的形式進行 存儲數據。其中,大數據存儲器包括RAM存儲器和FLASH存儲器。
[0037] (2)分布式云計算服務器:
[0038] 分布式云計算服務器中設有若干個云計算緩存節點、大數據提取模塊和云計算緩 存節點分配模塊;
[0039] 其中,大數據提取模塊,用于根據緩存單元的被訪問頻率,計算緩存單元的價值并 進行排序,提取預設價值闊值范圍內的所有緩存單元;
[0040] 云計算緩存節點分配模塊,其用于對提取的預設價值闊值范圍內的所有緩存單元 進行聚類,并將預設聚類數量的緩存單元分配至任一云計算緩存節點中進行存儲。
[0041 ]在大數據存儲器中根據預設周期進行更新緩