組沒影響,不會造成大范圍的緩存數(shù)據(jù)遷移,運是第二種擴容方式。 不過最好的擴容方式是添加新的分組,把新加的緩存服務器掛在新的分組里,運樣全部舊 的緩存數(shù)據(jù)都不會受到影響,運是第一種擴容方式。運樣,實現(xiàn)了分布式緩存集群可W任意 水平擴容,且集群數(shù)據(jù)可W均勻分布。
[0044] 本發(fā)明的緩存服務器是一個可W水平擴展的緩存集群,它可W根據(jù)緩存規(guī)模增大 而增大,它的擴容是任意的,可W每次擴容一臺至多臺,新的Key值可W通過在配置表中添 加新的分組或修改舊的分組配置來均衡引導分布至新擴容的節(jié)點上。優(yōu)選地,為了增加故 障的容錯能力,可W為每個緩存服務器節(jié)點增加備份緩存服務器節(jié)點,主備緩存服務器之 間的數(shù)據(jù)是相同且同步的。
[0045] 基于上述分布式緩存方法,本發(fā)明還提供了一種分布式緩存系統(tǒng),如圖3所示,所 述系統(tǒng)包括: 分布設置模塊10,用于根據(jù)關鍵字值的取值范圍對緩存數(shù)據(jù)進行分組,獲得若干個緩 存數(shù)據(jù)的分組,每個分組對應關聯(lián)至少一緩存服務器;具體如步驟SlOO所述; 分布緩存模塊20,用于根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬取值范圍查找匹配的分組,將 所述關鍵字值對該分組關聯(lián)的所有緩存服務器數(shù)量進行取模運算,找到匹配的緩存服務器 并對應存儲所述待緩存數(shù)據(jù);具體如步驟S200所述。
[0046] 進一步地,所述分布設置模塊10包括: 分布關聯(lián)單元,用于基于緩存數(shù)據(jù)的關鍵字值的取值范圍將所述緩存數(shù)據(jù)劃分為多個 分組,每個分組對應一個取值范圍,且每個分組對應關聯(lián)至少一臺緩存服務器,根據(jù)不同分 組對應的取值范圍及緩存服務器得到相應的配置表。
[0047] 進一步地,請參閱圖6,圖6為本發(fā)明提供的分布式緩存系統(tǒng)中分布緩存模塊第一 實施例的結(jié)構(gòu)框圖,如圖所示,所述分布緩存模塊20包括: 第一分配單元21,用于通過外觀服務器接收負載均衡器分配的待緩存數(shù)據(jù)的讀寫請 求; 第一分組單元22,用于根據(jù)所述讀寫請求的關鍵字值及所述配置表中的分組信息找到 相應匹配的分組; 第一取模單元23,用于根據(jù)所述讀寫請求的關鍵字值對該分組當前所具有的緩存服務 器數(shù)量進行取模,找到對應的緩存服務器并完成待緩存數(shù)據(jù)的讀寫請求。
[004引進一步地,所述的分布式緩存系統(tǒng),還包括: 分組增加模塊,用于當緩存服務器的容量達到限制時,添加新擴容的緩存服務器,將新 擴容的緩存服務器分配到新的分組中,并對應修改所述配置表的分組信息; 或緩存增加模塊,用于當緩存服務器的容量達到限制時,將新擴容的緩存服務器分配 到原有分組中,并對應修改所述配置表的分組信息。
[0049] 進一步地,請參閱圖7,圖7為本發(fā)明提供的分布式緩存系統(tǒng)中分布緩存模塊第二 實施例的結(jié)構(gòu)框圖,如圖所示,所述分布緩存模塊20包括: 第二分組單元24,用于根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬的取值范圍,找到對應匹配的 分組; 第二取模單元25,用于將所述待緩存數(shù)據(jù)的關鍵字值對該分組關聯(lián)的所有緩存服務器 數(shù)量進行取模運算,得到對應的取模運算結(jié)果; 緩存服務器匹配單元26,用于根據(jù)預先設置的不同取模運算結(jié)果與各個緩存服務器的 關聯(lián)關系,找到與所述取模運算結(jié)果匹配的緩存服務器并對應存儲所述待緩存數(shù)據(jù)。
[0050] 綜上所述,本發(fā)明提供的一種分布式緩存方法及系統(tǒng),通過根據(jù)關鍵字值的取值 范圍對緩存數(shù)據(jù)進行分組,獲得若干個緩存數(shù)據(jù)的分組,每個分組對應關聯(lián)至少一緩存服 務器;根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬取值范圍查找匹配的分組,將所述關鍵字值對該分 組關聯(lián)的所有緩存服務器數(shù)量進行取模運算,找到匹配的緩存服務器并對應存儲所述待緩 存數(shù)據(jù);能夠任意水平擴容,擴容方便,集群數(shù)據(jù)能均衡分布,帶來了大大的方便,具有非常 大的商業(yè)價值。
[0051] 應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可 W根據(jù)上述說明加 W改進或變換,所有運些改進和變換都應屬于本發(fā)明所附權利要求的保 護范圍。
【主權項】
1. 一種分布式緩存方法,其特征在于,包括: A、 根據(jù)關鍵字值的取值范圍對緩存數(shù)據(jù)進行分組,獲得若干個緩存數(shù)據(jù)的分組,每個 分組對應關聯(lián)至少一緩存服務器; B、 根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬取值范圍查找匹配的分組,將所述關鍵字值對該分 組關聯(lián)的所有緩存服務器數(shù)量進行取模運算,找到匹配的緩存服務器并對應存儲所述待緩 存數(shù)據(jù)。2. 根據(jù)權利要求1所述的分布式緩存方法,其特征在于,所述步驟A具體包括: A1、基于緩存數(shù)據(jù)的關鍵字值的取值范圍將所述緩存數(shù)據(jù)劃分為多個分組,每個分組 對應一個取值范圍,且每個分組對應關聯(lián)至少一臺緩存服務器,根據(jù)不同分組對應的取值 范圍及緩存服務器得到相應的配置表。3. 根據(jù)權利要求2所述的分布式緩存方法,其特征在于,所述步驟B具體包括: B11、外觀服務器接收負載均衡器分配的待緩存數(shù)據(jù)的讀寫請求; B12、根據(jù)所述讀寫請求的關鍵字值及所述配置表中的分組信息找到相應匹配的分組; B13、根據(jù)所述讀寫請求的關鍵字值對該分組當前所具有的緩存服務器數(shù)量進行取模, 找到對應的緩存服務器并完成待緩存數(shù)據(jù)的讀寫請求。4. 根據(jù)權利要求2所述的分布式緩存方法,其特征在于,在所述步驟B之后,還包括: C1、當緩存服務器的容量達到限制時,添加新擴容的緩存服務器,將新擴容的緩存服務 器分配到新的分組中,并對應修改所述配置表的分組信息; 或C2、當緩存服務器的容量達到限制時,將新擴容的緩存服務器分配到原有分組中,并 對應修改所述配置表的分組信息。5. 根據(jù)權利要求1所述的分布式緩存方法,其特征在于,所述步驟B具體包括: B21、根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬的取值范圍,找到對應匹配的分組; B22、將所述待緩存數(shù)據(jù)的關鍵字值對該分組關聯(lián)的所有緩存服務器數(shù)量進行取模運 算,得到對應的取模運算結(jié)果; B23、根據(jù)預先設置的不同取模運算結(jié)果與各個緩存服務器的關聯(lián)關系,找到與所述取 模運算結(jié)果匹配的緩存服務器并對應存儲所述待緩存數(shù)據(jù)。6. -種分布式緩存系統(tǒng),其特征在于,包括: 分布設置模塊,用于根據(jù)關鍵字值的取值范圍對緩存數(shù)據(jù)進行分組,獲得若干個緩存 數(shù)據(jù)的分組,每個分組對應關聯(lián)至少一緩存服務器; 分布緩存模塊,用于根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬取值范圍查找匹配的分組,將所 述關鍵字值對該分組關聯(lián)的所有緩存服務器數(shù)量進行取模運算,找到匹配的緩存服務器并 對應存儲所述待緩存數(shù)據(jù)。7. 根據(jù)權利要求6所述的分布式緩存系統(tǒng),其特征在于,所述分布設置模塊包括: 分布關聯(lián)單元,用于基于緩存數(shù)據(jù)的關鍵字值的取值范圍將所述緩存數(shù)據(jù)劃分為多個 分組,每個分組對應一個取值范圍,且每個分組對應關聯(lián)至少一臺緩存服務器,根據(jù)不同分 組對應的取值范圍及緩存服務器得到相應的配置表。8. 根據(jù)權利要求7所述的分布式緩存系統(tǒng),其特征在于,所述分布緩存模塊包括: 第一分配單元,用于通過外觀服務器接收負載均衡器分配的待緩存數(shù)據(jù)的讀寫請求; 第一分組單元,用于根據(jù)所述讀寫請求的關鍵字值及所述配置表中的分組信息找到相 應匹配的分組; 第一取模單元,用于根據(jù)所述讀寫請求的關鍵字值對該分組當前所具有的緩存服務器 數(shù)量進行取模,找到對應的緩存服務器并完成待緩存數(shù)據(jù)的讀寫請求。9. 根據(jù)權利要求7所述的分布式緩存系統(tǒng),其特征在于,還包括: 分組增加模塊,用于當緩存服務器的容量達到限制時,添加新擴容的緩存服務器,將新 擴容的緩存服務器分配到新的分組中,并對應修改所述配置表的分組信息; 或緩存增加模塊,用于當緩存服務器的容量達到限制時,將新擴容的緩存服務器分配 到原有分組中,并對應修改所述配置表的分組信息。10. 根據(jù)權利要求6所述的分布式緩存系統(tǒng),其特征在于,所述分布緩存模塊包括: 第二分組單元,用于根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬的取值范圍,找到對應匹配的分 組; 第二取模單元,用于將所述待緩存數(shù)據(jù)的關鍵字值對該分組關聯(lián)的所有緩存服務器數(shù) 量進行取模運算,得到對應的取模運算結(jié)果; 緩存服務器匹配單元,用于根據(jù)預先設置的不同取模運算結(jié)果與各個緩存服務器的關 聯(lián)關系,找到與所述取模運算結(jié)果匹配的緩存服務器并對應存儲所述待緩存數(shù)據(jù)。
【專利摘要】本發(fā)明公開了一種分布式緩存方法及系統(tǒng),通過根據(jù)關鍵字值的取值范圍對緩存數(shù)據(jù)進行分組,獲得若干個緩存數(shù)據(jù)的分組,每個分組對應關聯(lián)至少一緩存服務器;根據(jù)待緩存數(shù)據(jù)的關鍵字值所屬取值范圍查找匹配的分組,將所述關鍵字值對該分組關聯(lián)的所有緩存服務器數(shù)量進行取模運算,找到匹配的緩存服務器并對應存儲所述待緩存數(shù)據(jù);能夠任意水平擴容,擴容方便,集群數(shù)據(jù)能均衡分布,帶來了大大的方便。
【IPC分類】H04L29/08
【公開號】CN105577806
【申請?zhí)枴緾N201511010950
【發(fā)明人】廖冬生
【申請人】Tcl集團股份有限公司
【公開日】2016年5月11日
【申請日】2015年12月30日