新四季網

一種分布式緩存控制方法、裝置及系統的製作方法

2023-05-18 16:01:36 3

專利名稱:一種分布式緩存控制方法、裝置及系統的製作方法
技術領域:
本發明涉及通信領域,尤其涉及一種分布式緩存控制方法、裝置及系統。

背景技術:
隨著各種系統數據量、用戶量、並發量的大幅度增長,越來越多的系統採用緩存來提高系統的性能。單純的本地緩存或者單機緩存因為資源有限,對系統性能的提升有限,因此,分布式緩存應運而生,成為了提高系統性能的應用主流。
如何在分布式的不同伺服器中分配緩存的數據以及對緩存的訪問,對系統的資源利用和性能有著很大的影響。鑑於此,目前有許多關於如何對分布式緩存進行控制的研究。現有的分布式緩存控制系統主要採用負載均衡技術,其技術方案為在緩存伺服器集群和客戶端之間設置一臺或多臺或多層負載均衡伺服器,客戶端發送數據訪問請求至負載均衡伺服器,由負載均衡伺服器轉發至緩存集群中相應的某臺緩存伺服器。
發明人在實施本發明的過程中發現,現有的分布式緩存控制系統無法對分布式緩存伺服器進行靈活控制,其主要存在以下缺陷 1、對協議有固定要求。現有的系統中,客戶端訪問負載均衡伺服器,負載均衡伺服器訪問緩存伺服器,均要求採用HTTP協議(Hypertext TransferProtocol,超文本傳輸協議); 2、無法對目標緩存伺服器進行相應的選擇。現有系統中,緩存伺服器集群的各個伺服器必須緩存同樣的數據,因此,負載均衡伺服器只能根據數據訪問請求所請求的數據標識,將請求轉發至標識所指示的某臺緩存伺服器中,無法按照算法將不同數據緩存到不同的伺服器,也無法按照算法將請求轉發至不同的緩存伺服器; 3、負載均衡伺服器無法根據緩存伺服器的狀態進行調整。負載均衡伺服器無法對緩存伺服器集群中的各緩存伺服器的狀態進行監控,當某臺緩存伺服器無法連接或出現故障時,負載均衡伺服器無法跳轉對請求的轉發,可能導致數據訪問的失敗。


發明內容
本發明的目的在於,提供一種分布式緩存控制方法、裝置及系統,能夠支持多種數據訪問協議,並可根據緩存伺服器的狀態信息,對所使用的緩存伺服器進行靈活切換,實現對分布式緩存的靈活控制。
為了實現上述目的,本發明實施例公開了一種分布式緩存控制方法,包括 根據配置信息,預先加載數據訪問協議和路由信息; 根據預加載的數據訪問協議,接收客戶端的數據訪問請求; 根據預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器; 根據所述查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器; 將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求。
相應地,本發明實施例還公開了一種分布式緩存控制裝置,包括 初始化模塊,用於根據配置信息,預先加載數據訪問協議和路由信息; 接收模塊,用於根據所述初始化模塊預加載的數據訪問協議,接收客戶端的數據訪問請求; 路由模塊,用於根據所述初始化模塊預加載的路由信息,查找所述接收模塊接收到的數據訪問請求所請求的數據所在的至少一個緩存伺服器; 選擇模塊,用於根據所述路由模塊查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器; 響應模塊,用於將所述數據訪問請求按照所述初始化模塊預加載的數據訪問協議轉發至所述選擇模塊所選擇的目標緩存伺服器,以響應所述數據訪問請求; 配置模塊,用於存儲所述配置信息,所述配置信息包括數據和緩存伺服器位置的映射關係、數據刷新策略信息、數據加載策略信息、緩存策略信息、路由策略信息和緩存伺服器的狀態信息中的任一種或多種。
相應地,本發明實施例還提供了一種分布式緩存控制系統,包括客戶端、多個緩存伺服器和分布式緩存控制裝置, 所述客戶端,用於向所述分布式緩存控制裝置發送數據訪問請求,並接收所述分布式緩存控制裝置所發送的所述數據訪問請求所請求的數據; 所述分布式緩存控制裝置,用於根據配置信息,預先加載數據訪問協議和路由信息;根據所述預加載的數據訪問協議,接收客戶端的數據訪問請求;根據所述預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器;根據所述查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器;將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求; 所述緩存伺服器,用於接收所述分布式緩存控制裝置所發送的所述數據訪問請求,並提供所述數據訪問請求的數據給所述分布式緩存控制裝置,以使所述分布式緩存控制裝置響應所述客戶端的數據訪問請求。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。



圖1為本發明的分布式緩存控制系統的實施例的結構示意圖; 圖2為本發明的分布式緩存控制裝置的實施例的結構示意圖; 圖3為本發明的分布式緩存控制裝置的初始化模塊的結構示意圖; 圖4為本發明的分布式緩存控制裝置的選擇模塊的實施例的結構示意圖; 圖5為本發明的分布式緩存控制裝置的響應模塊的實施例的結構示意圖; 圖6為本發明的分布式緩存控制方法的第一實施例的流程圖; 圖7為本發明的分布式緩存控制方法的第二實施例的流程圖。

具體實施例方式 下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
請參見圖1,為本發明的分布式緩存控制系統的實施例的結構示意圖;如圖1所示,該分布式緩存控制系統包括客戶端10,分布式緩存控制裝置20,以及多個緩存伺服器30(圖中僅對其中一個緩存伺服器進行標號,圖中示出1、2、N三個緩存伺服器,但並不限於兩個),其中,多個緩存伺服器30構成緩存伺服器集群。
該客戶端10,用於向分布式緩存控制裝置20發送數據訪問請求,並接收所述分布式緩存控制裝置20所發送的所述數據訪問請求所請求的數據; 該分布式緩存控制裝置20,用於根據配置信息,預先加載數據訪問協議和路由信息;根據所述預加載的數據訪問協議,接收客戶端10的數據訪問請求;根據所述預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器30;根據所述查找到的各緩存伺服器30的狀態信息,選擇其中一個緩存伺服器30作為目標緩存伺服器;將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求; 該緩存伺服器30,用於接收所述分布式緩存控制裝置20所發送的所述數據訪問請求,並提供所述數據訪問請求的數據給所述分布式緩存控制裝置20,以使所述分布式緩存控制裝置20響應所述客戶端10的數據訪問請求。
具體實現中,該多個緩存伺服器30可以對不同的數據進行緩存,具體地,可利用相應的算法,比如哈希取餘算法或一致性哈希算法,對需要緩存的數據進行相應的計算,可使需要緩存的數據分別存儲於不同的緩存伺服器30中。具體實現中,例如需要對1000個數據進行緩存,可利用哈希取餘算法,可將1-100的數據存儲於緩存伺服器1中,將101-200的數據存儲於緩存伺服器2中,以此類推,則各個緩存伺服器中均存儲了待緩存數據的各個部分。此時,各個緩存伺服器中存儲了不同的數據。此種緩存方式,可以根據每個緩存伺服器的特性緩存不同的數據,充分利用了緩存伺服器的優勢。
可以理解的是,此處各個緩存伺服器中存儲了不同的緩存數據僅為舉例,多個緩存伺服器中可存儲相同的數據,比如,可根據算法,將1-100的數據同時存儲於緩存伺服器1,緩存伺服器2和緩存伺服器5中,此時,緩存伺服器1,緩存伺服器2和緩存伺服器5中的數據相同,當各個緩存伺服器中均存儲了全部待緩存數據,即當各個緩存伺服器中的數據完全相同時,與現有的緩存系統相兼容。此外,對於其相應的算法(哈希取餘算法或一致性哈希算法)均與現有哈希計算方法類似,在此不進行贅述。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
為了更清楚的說明本發明,下面將對分布式緩存控制裝置進行詳細介紹。
請參見圖2,為本發明的分布式緩存控制裝置的實施例的結構示意圖;如圖2所示,該分布式緩存控制裝置20包括初始化模塊201,配置模塊202,接收模塊204,路由模塊205,選擇模塊206和響應模塊207。
該初始化模塊201,用於根據配置信息,預先加載數據訪問協議和路由信息; 具體實現中,在客戶端10使用該分布式緩存控制裝置20之前,需要先啟動該分布式緩存控制裝置20,以進行初始化工作,該初始化模塊201在分布式緩存控制裝置20啟動後,讀取相關配置信息,所述配置信息存儲於分布式緩存控制裝置20的配置模塊中;根據該配置信息進行數據訪問協議以及路由信息的加載;具體地,對於數據訪問協議的預加載,比如預先加載API(ApplicationProgramming Interface,應用程式編程接口)協議,或預先加載IP協議(InternetProtocol,網絡之間互連協議)等,該預先加載的協議即為後續的數據訪問所基於的協議。對於路由信息的預加載需要通過相應的算法或路由策略來實現,比如,利用上述的哈希取餘算法或一致性哈希算法,可計算得到各緩存數據分別所在的緩存伺服器,由此構建相應的路由信息,具體實現中,該路由信息可以路由表的形式存在,其表徵了數據和分布式緩存伺服器位置的映射關係,該路由信息存儲於上述配置模塊中,在分布式緩存控制裝置20啟動後,由該初始化模塊201對該路由信息進行預加載。
可以理解的是,此處預加載的協議以及路由信息僅為舉例,其他情況可進行類似的分析,例如,預加載的協議可以進行擴展;當預加載的協議為HTTP協議時,即與現有的緩存系統相兼容;例如確定路由信息的算法可以進行擴展;當通過現有的簡單哈希算法構建路由信息時,其與現有的緩存系統相兼容;再如該路由信息並不僅限於路由表的形式,也可以不使用路由表,直接在數據訪問時運用上述的各算法或路由策略進行計算得到路由,在此不進行贅述。如前所述,由於預加載的協議可擴展,因此,使緩存系統的數據訪問不再受到協議的限制,使分布式緩存的控制更為靈活。
該配置模塊202,用於存儲配置信息,所述配置信息包括數據和緩存伺服器位置的映射關係、數據刷新策略信息、數據加載策略信息、緩存策略信息、路由策略信息和緩存伺服器的狀態信息中的任一種或多種。具體實現中,該配置模塊202對分布式緩存控制裝置的相關配置信息進行統一管理,並根據應用更新其配置信息,以供其他模塊(比如初始化模塊201)調用。
該接收模塊204,用於根據所述初始化模塊201預加載的數據訪問協議,接收客戶端10的數據訪問請求; 該路由模塊205,用於根據所述初始化模塊201預加載的路由信息,查找所述接收模塊204接收到的數據訪問請求所請求的數據所在的至少一個緩存伺服器30;如前所述,數據訪問請求所請求的數據可以存儲於某一個緩存伺服器30中,或同時存儲於多個緩存伺服器30中,該路由模塊205,需要根據所述初始化模塊201預加載的路由信息,查找相應的數據所在的至少一個緩存伺服器30。
該選擇模塊206,用於根據所述路由模塊205查找到的各緩存伺服器30的狀態信息,選擇其中一個緩存伺服器30作為目標緩存伺服器;具體實現中,緩存伺服器30的狀態信息,包括緩存伺服器30的運行狀態信息、負載狀態信息、連接狀態信息等,該選擇模塊206會選擇處於正常運行狀態、正常負載狀態以及正常連接狀態的緩存伺服器作為目標緩存伺服器。比如,當路由模塊205查找到多個緩存伺服器30時,如果其中某個緩存伺服器無法連接,或某個緩存伺服器無法運行等,即排除此類發生故障的緩存伺服器,選取正常狀態下的緩存伺服器作為目標緩存伺服器,以使數據訪問能夠順利進行。通過選擇模塊206,可對所使用的緩存伺服器進行靈活切換,當系統中的某個緩存伺服器發生故障時,不影響整個緩存系統的通信,使緩存伺服器集群的單點障礙不會對緩存系統性能造成任何影響,提高了緩存系統的性能。
該響應模塊207,用於將所述數據訪問請求按照所述初始化模塊201預加載的數據訪問協議轉發至所述選擇模塊206所選擇的目標緩存伺服器,以響應所述數據訪問請求。
再請參見圖2,該分布式緩存控制裝置20還包括監控模塊203。
該監控模塊203,用於實時監控緩存伺服器30的狀態,根據所述監控結果,實時更新各個緩存伺服器30的狀態信息。具體的,該監控模塊203主要負責監控各個緩存伺服器30的狀態,包括緩存伺服器30的運行狀態、負載狀態、連接狀態等,並實時更新存儲在配置模塊202中的各緩存伺服器30的狀態信息。具體實現中,選擇模塊206需要根據緩存伺服器30的狀態信息來進行目標緩存伺服器的選擇或確定,因此,為了保證通信的順利以及系統的穩定性,在選擇模塊206從配置模塊202中查詢緩存伺服器30的狀態信息時,該監控模塊203需保證選擇模塊206查詢到的各緩存伺服器30的狀態信息為查詢時刻最新的狀態信息。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
為了更清楚的說明本發明,下面將對分布式緩存控制裝置的初始化模塊進行詳細介紹。
請參見圖3,為本發明的分布式緩存控制裝置的初始化模塊的結構示意圖;如圖3所示,該初始化模塊201包括協議加載單元21和路由加載單元22。
該協議加載單元21,用於根據所述配置模塊202中的配置信息,預先加載數據訪問協議; 具體實現中,在客戶端10使用該分布式緩存控制裝置20之前,需要先啟動該分布式緩存控制裝置20,以進行初始化工作,該協議加載單元21在分布式緩存控制裝置20啟動後,讀取配置模塊202中的相關配置信息,根據該配置信息進行數據訪問協議的加載;比如預先加載API協議,或預先加載IP協議等,該預先加載的協議即為後續的數據訪問所基於的協議。
該路由加載單元22,用於根據所述配置模塊202中的配置信息,預先加載路由信息。
具體實現中,該路由加載單元22在分布式緩存控制裝置20啟動後,讀取配置模塊202中的相關配置信息,包括數據和緩存伺服器位置的映射關係、數據刷新策略信息、數據加載策略信息、緩存策略信息、路由策略信息和緩存伺服器的狀態信息;根據讀取的配置信息進行路由信息的加載,具體地,路由信息表徵了數據和分布式緩存伺服器位置的映射關係,其存儲於配置模塊202中,可以路由表的形式存在。
再請參見圖3,該路由加載單元22包括算法選擇單元211,計算單元212和路由單元213。
該算法選擇單元211,用於根據所述配置模塊202中的配置信息,選擇路由算法;具體實現中,路由算法的選擇根據配置信息中的路由策略等來確定,路由算法包括普通哈希算法,哈希取餘算法和一致性哈希算法等各種可用於計算路由的算法。
該計算單元212,用於根據所述算法選擇單元211所選擇的路由算法,計算各緩存數據所在的各個緩存伺服器30;具體實現中,比如,利用上述的哈希取餘算法或一致性哈希算法,可計算得到各緩存數據分別所在的緩存伺服器。例如總共有1000個數據進行緩存,可利用哈希取餘算法計算得到,1-100的數據存儲於緩存伺服器1中,101-200的數據存儲於緩存伺服器2中,以此類推。其路由的計算結果也與緩存伺服器的緩存策略相對應。
該路由單元213,用於根據所述計算單元212計算出的各個緩存伺服器30,構建相應的路由信息,並加載所述路由信息。具體實現中,當計算得到各緩存數據所緩存的緩存伺服器後,由此構建相應的路由信息,具體實現中,該路由信息可以路由表的形式存在,如下表 當請求訪問1-100的數據時,分布式緩存控制裝置20即路由至緩存伺服器1進行訪問;當請求訪問101-200的數據時,分布式緩存控制裝置20即路由至緩存伺服器2進行訪問,其他情況類似分析。
可以理解的是,上述初始化模塊201對協議以及路由信息的預加載,以及上述路由表僅為舉例,其他情況可進行類似的分析,例如,預加載的協議可以進行擴展;當預加載的協議為HTTP協議時,即與現有的緩存系統相兼容;例如確定路由信息的算法可以進行擴展;當通過現有的簡單哈希算法構建路由信息時,其與現有的緩存系統相兼容;再如該路由信息並不僅限於路由表的形式,也可以不使用路由表,直接在數據訪問時運用上述的各算法或路由策略進行計算得到路由,在此不進行贅述。如前所述,由於預加載的協議可擴展,因此,使緩存系統的數據訪問不再受到協議的限制,使分布式緩存的控制更為靈活。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
為了更清楚的說明本發明,下面將對分布式緩存控制裝置的選擇模塊進行詳細介紹。
請參見圖4,為本發明的分布式緩存控制裝置的選擇模塊的實施例的結構示意圖;如圖4所示,該選擇模塊206包括查詢單元61和選擇單元62。
該查詢單元61,用於從所述配置模塊202中查詢所述路由模塊205查找到的各緩存伺服器30的狀態信息;具體實現中,緩存伺服器30的狀態信息包括運行狀態信息、負載狀態信息以及連接狀態信息,該查詢單元61,可從所述配置模塊202中查詢各個緩存伺服器30的狀態信息,具體地,從所述配置模塊202中查詢所述路由模塊205查找到的各個緩存伺服器30的狀態信息; 該選擇單元62,用於根據所述查詢單元61查詢到的狀態信息,從所述路由模塊205查找到的緩存伺服器30中選擇一個緩存伺服器30作為目標緩存伺服器。具體實現中,比如該查詢單元61查詢到某個緩存伺服器無法連接,或某個緩存伺服器無法運行等,該選擇單元62排除此類發生故障的緩存伺服器,選取正常狀態下的緩存伺服器作為目標緩存伺服器,以使數據訪問能夠順利進行。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
為了更清楚的說明本發明,下面將對分布式緩存控制裝置的響應模塊進行詳細介紹。
請參見圖5,為本發明的分布式緩存控制裝置的響應模塊的實施例的結構示意圖;如圖5所示,該響應模塊207包括第一發送單元71,獲取單元72和第二發送單元73。
該第一發送單元71,用於將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以訪問所述目標緩存伺服器;具體實現中,該第一發送單元71通過向目標緩存伺服器轉發數據訪問請求以訪問該目標緩存伺服器,其所基於的數據訪問協議由初始化模塊201預先加載,其可以和客戶端10訪問分布式緩存控制裝置20的協議相同,也可以不同,其具體根據預先加載的協議決定。
該獲取單元72,用於從所述目標緩存伺服器中獲取所述數據訪問請求所請求的數據; 該第二發送單元73,用於將所述獲取單元72獲取的數據發送給客戶端10。
進一步參見圖4,該響應模塊207還包括緩存控制單元74。
該緩存控制單元74,用於控制所述目標緩存伺服器更新自身的緩存數據;一般地,該緩存控制單元74還用於控制遠端的緩存伺服器30緩存的生命周期,比如控制緩存伺服器30從資料庫中加載數據,控制緩存伺服器30刷新緩存數據等。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
為了更清楚的說明本發明,下面將上述分布式緩存控制裝置對分布式緩存進行控制的方法進行詳細介紹。
請參見圖6,為本發明的分布式緩存控制方法的第一實施例的流程圖;如圖6所示,該分布式緩存控制方法包括 S101,根據配置信息,預先加載數據訪問協議和路由信息; 具體實現中,在客戶端10使用分布式緩存控制裝置20之前,需要先啟動該分布式緩存控制裝置20,以進行初始化工作,在分布式緩存控制裝置20啟動後,分布式緩存控制裝置20從配置模塊202中讀取相關配置信息,根據該配置信息進行數據訪問協議以及路由信息的加載;具體地,對於數據訪問協議的預加載,比如預先加載API協議,或預先加載IP協議等,該預先加載的協議即為後續的數據訪問所基於的協議。對於路由信息的預加載需要通過相應的算法或路由策略來實現,比如,利用上述的哈希取餘算法或一致性哈希算法,可計算得到各緩存數據分別所在的緩存伺服器30,根據計算得到的各緩存伺服器30以及其所緩存的數據,構建相應的路由信息,具體實現中,該路由信息以路由表的形式被加載,並存儲於配置模塊202中,該路由信息表徵了數據和分布式緩存伺服器位置的映射關係。
可以理解的是,此處預加載的協議以及路由信息僅為舉例,其他情況可進行類似的分析,例如,預加載的協議可以進行擴展;當預加載的協議為HTTP協議時,即與現有的緩存系統相兼容;例如確定路由信息的算法可以進行擴展;當通過現有的簡單哈希算法構建路由信息時,其與現有的緩存系統相兼容;再如該路由信息並不僅限於路由表的形式,也可以不使用路由表,直接在數據訪問時運用上述的各算法或路由策略進行計算得到路由,在此不進行贅述。
S102,根據所述預加載的數據訪問協議,接收客戶端的數據訪問請求; S103,根據所述預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器30;如前所述,數據訪問請求所請求的數據可以存儲於某一個緩存伺服器30中,或同時存儲於多個緩存伺服器30中,分布式緩存控制裝置20根據預加載的路由信息,查找相應的數據所在的至少一個緩存伺服器30。
S104,根據所述查找到的各緩存伺服器30的狀態信息,選擇其中一個緩存伺服器30作為目標緩存伺服器;具體地,緩存伺服器30的狀態信息,包括緩存伺服器30的運行狀態信息、負載狀態信息、連接狀態信息等,分布式緩存控制裝置20選擇處於正常運行狀態、正常負載狀態以及正常連接狀態的緩存伺服器作為目標緩存伺服器。通過本步驟,可對所使用的緩存伺服器進行靈活切換,當系統中的某個緩存伺服器發生故障時,不影響整個緩存系統的通信,使緩存伺服器集群的單點障礙不會對緩存系統性能造成任何影響,提高了緩存系統的性能。
S105,將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求。
本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
請參見圖7,為本發明的分布式緩存控制方法的第二實施例的流程圖;如圖7所示,該方法包括 S201,初始化步驟用於根據配置信息,預先加載數據訪問協議和路由信息; 具體實現中,在客戶端10使用分布式緩存控制裝置20之前,需要先啟動該分布式緩存控制裝置20,以進行初始化工作,在分布式緩存控制裝置20啟動後,分布式緩存控制裝置20即執行初始化步驟,包括讀取相關配置信息,根據該配置信息進行數據訪問協議以及路由信息的加載;具體地,對於數據訪問協議的預加載,比如預先加載API協議,或預先加載IP協議等,該預先加載的協議即為後續的數據訪問所基於的協議。對於路由信息的預加載需要通過相應的算法或路由策略來實現,比如,利用上述的哈希取餘算法或一致性哈希算法,可計算得到各緩存數據分別所在的緩存伺服器30,根據計算得到的各緩存伺服器30以及其所緩存的數據,構建相應的路由信息,具體實現中,該路由信息可以路由表的形式存在,其表徵了數據和分布式緩存伺服器位置的映射關係,該路由信息存儲於上述分布式緩存控制裝置20的配置模塊202中,在分布式緩存控制裝置20啟動後,由該初始化步驟對該路由信息進行預加載。
可以理解的是,此處預加載的協議以及路由信息僅為舉例,其他情況可進行類似的分析,例如,預加載的協議可以進行擴展;當預加載的協議為HTTP協議時,即與現有的緩存系統相兼容;例如確定路由信息的算法可以進行擴展;當通過現有的簡單哈希算法構建路由信息時,其與現有的緩存系統相兼容;再如該路由信息並不僅限於路由表的形式,也可以不使用路由表,直接在數據訪問時運用上述的各算法或路由策略進行計算得到路由,在此不進行贅述。
S202,實時監控緩存伺服器30的狀態,根據所述監控結果,實時更新各個緩存伺服器30的狀態信息。具體的,對緩存伺服器30的監控主要由分布式緩存控制裝置20的監控模塊203執行,其主要負責監控各個緩存伺服器的狀態,包括緩存伺服器30的運行狀態、負載狀態、連接狀態等,並實時更新存儲在分布式緩存控制裝置20的配置模塊202中的各緩存伺服器30的狀態信息。
S203,根據預加載的數據訪問協議,接收客戶端10的數據訪問請求。
S204,根據預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器30。如前所述,數據訪問請求所請求的數據可以存儲於某一個緩存伺服器30中,或同時存儲於多個緩存伺服器30中,S102根據預加載的路由信息,查找相應的數據所在的至少一個緩存伺服器30中。
S205,查詢所述S204查找到的各緩存伺服器30的狀態信息;具體地,緩存伺服器30的狀態信息包括運行狀態信息、負載狀態信息以及連接狀態信息; S206,根據所述狀態信息,從所述查找到的緩存伺服器30中選擇其中一個緩存伺服器30作為目標緩存伺服器。具體實現中,例如當S205查詢步驟查詢到某個緩存伺服器30無法連接,或某個緩存伺服器30無法運行等,則S206會排除此類發生故障的緩存伺服器30,選取正常狀態下的緩存伺服器30作為目標緩存伺服器,以使數據訪問能夠順利進行。由於本步驟需要查詢緩存伺服器30的狀態信息,因此,為了保證通信的順利以及系統的穩定性,在S206從配置模塊202中查詢緩存伺服器30的狀態信息時,該S202需保證S206查詢到的各緩存伺服器30的狀態信息為查詢時刻最新的狀態信息。通過S206,可對所使用的緩存伺服器進行靈活切換,當系統中的某個緩存伺服器發生故障時,不影響整個緩存系統的通信,使緩存伺服器集群的單點障礙不會對緩存系統性能造成任何影響,提高了緩存系統的性能。
S207,將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以訪問所述目標緩存伺服器;具體實現中,本步驟通過向目標緩存伺服器轉發數據訪問請求以訪問該目標緩存伺服器,其所基於的數據訪問協議由初始化步驟預先加載,其可以和客戶端10訪問分布式緩存控制裝置20的協議相同,也可以不同,其具體根據預先加載的協議決定。
S208,從所述目標緩存伺服器中獲取所述數據訪問請求所請求的數據; S209,將所述獲取的數據發送給所述客戶端。
S210,控制所述目標緩存伺服器更新自身的緩存數據;具體實現中,S210發生在步驟S208之後,其執行主體為分布式緩存控制裝置20的響應模塊207中的緩存控制單元74,一般地該緩存控制單元74還用於控制緩存伺服器30緩存的生命周期,比如控制緩存伺服器30從資料庫中加載數據,控制緩存伺服器30刷新緩存數據等。
通過上述各實施例的描述,本發明通過預先加載數據訪問協議,使客戶端對分布式緩存控制裝置的訪問,以及分布式緩存控制裝置對緩存伺服器的訪問均能支持多種數據訪問協議;並可根據各緩存器的狀態信息,通過預加載的路由信息對所使用的緩存伺服器進行靈活切換,能夠更有效、更靈活實現對分布式緩存的控制。
以上所揭露的僅為本發明一種較佳實施例而已,當然不能以此來限定本發明之權利範圍,本領域普通技術人員可以理解實現上述實施例的全部或部分流程,並依本發明權利要求所作的等同變化,仍屬於發明所涵蓋的範圍。
權利要求
1.一種分布式緩存控制方法,其特徵在於,包括
根據配置信息,預先加載數據訪問協議和路由信息;
根據所述預加載的數據訪問協議,接收客戶端的數據訪問請求;
根據所述預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器;
根據所述查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器;
將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求。
2.如權利要求1所述的方法,其特徵在於,所述根據配置信息預先加載路由信息包括
根據配置信息,選擇路由算法;
根據所述路由算法計算各緩存數據所在的各個緩存伺服器;
根據所述計算出的各個緩存伺服器,構建相應的路由信息,並加載所述路由信息。
3.如權利要求1或2所述的方法,其特徵在於,所述預先加載數據訪問協議和路由信息之後,所述接收客戶端的數據訪問請求之前,還包括
實時監控緩存伺服器的狀態,根據所述監控結果,實時更新各個緩存伺服器的狀態信息。
4.如權利要求3所述的方法,其特徵在於,所述從所述查找到的緩存伺服器中選擇一個緩存伺服器作為目標緩存伺服器,包括
查詢所述查找到的各緩存伺服器的狀態信息;
根據所述狀態信息,從所述查找到的緩存伺服器中選擇一個緩存伺服器作為目標緩存伺服器。
5.如權利要求4所述的方法,其特徵在於,所述將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求,包括
將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以訪問所述目標緩存伺服器;
從所述目標緩存伺服器中獲取所述數據訪問請求所請求的數據;
將所述獲取的數據發送給所述客戶端。
6.如權利要求5所述的方法,其特徵在於,所述從所述目標緩存伺服器中獲取所述數據訪問請求所請求的數據之後,還包括
控制所述目標緩存伺服器更新自身的緩存數據。
7.一種分布式緩存控制裝置,其特徵在於,包括
初始化模塊,用於根據配置信息,預先加載數據訪問協議和路由信息;
接收模塊,用於根據所述初始化模塊預加載的數據訪問協議,接收客戶端的數據訪問請求;
路由模塊,用於根據所述初始化模塊預加載的路由信息,查找所述接收模塊接收到的數據訪問請求所請求的數據所在的至少一個緩存伺服器;
選擇模塊,用於根據所述路由模塊查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器;
響應模塊,用於將所述數據訪問請求按照所述初始化模塊預加載的數據訪問協議轉發至所述選擇模塊所選擇的目標緩存伺服器,以響應所述數據訪問請求;
配置模塊,用於存儲所述配置信息,所述配置信息包括數據和緩存伺服器位置的映射關係、數據刷新策略信息、數據加載策略信息、緩存策略信息、路由策略信息和緩存伺服器的狀態信息中的任一種或多種。
8.如權利要求7所述的裝置,其特徵在於,所述初始化模塊包括
協議加載單元,用於根據所述配置模塊中的配置信息,預先加載數據訪問協議;
路由加載單元,用於根據所述配置模塊中的配置信息,預先加載路由信息。
9.如權利要求8所述的裝置,其特徵在於,所述路由加載單元包括
算法選擇單元,用於根據配置信息,選擇路由算法;
計算單元,用於根據所述算法選擇單元所選擇的路由算法,計算各緩存數據所在的各個緩存伺服器;
路由單元,用於根據所述計算單元計算出的各個緩存伺服器,構建相應的路由信息,並加載所述路由信息。
10.如權利要求7-9任一項所述的裝置,其特徵在於,還包括
監控模塊,用於實時監控緩存伺服器的狀態,根據所述監控結果,實時更新各個緩存伺服器的狀態信息。
11.如權利要求10所述的裝置,其特徵在於,所述選擇模塊包括
查詢單元,用於從所述配置模塊中查詢所述路由模塊查找到的各緩存伺服器的狀態信息;
選擇單元,用於根據所述查詢單元查詢到的狀態信息,從所述路由模塊查找到的緩存伺服器中選擇一個緩存伺服器作為目標緩存伺服器。
12.如權利要求11所述的裝置,其特徵在於,所述響應模塊包括
第一發送單元,用於將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以訪問所述目標緩存伺服器;
獲取單元,用於從所述目標緩存伺服器中獲取所述數據訪問請求所請求的數據;
第二發送單元,用於將所述獲取單元獲取的數據發送給客戶端。
13.如權利要求12所述的裝置,其特徵在於,所述響應模塊還包括
緩存控制單元,用於控制所述目標緩存伺服器更新自身的緩存數據。
14.一種分布式緩存控制系統,包括客戶端和多個緩存伺服器,其特徵在於,還包括分布式緩存控制裝置,
所述客戶端,用於向所述分布式緩存控制裝置發送數據訪問請求,並接收所述分布式緩存控制裝置所發送的所述數據訪問請求所請求的數據;
所述分布式緩存控制裝置,用於根據配置信息,預先加載數據訪問協議和路由信息;根據所述預加載的數據訪問協議,接收客戶端的數據訪問請求;根據所述預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器;根據所述查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器;將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求;
所述緩存伺服器,用於接收所述分布式緩存控制裝置所發送的所述數據訪問請求,並提供所述數據訪問請求的數據給所述分布式緩存控制裝置,以使所述分布式緩存控制裝置響應所述客戶端的數據訪問請求。
全文摘要
本發明公開了一種分布式緩存控制方法,包括根據配置信息,預先加載數據訪問協議和路由信息;根據預加載的數據訪問協議,接收客戶端的數據訪問請求;根據預加載的路由信息,查找所述數據訪問請求所請求的數據所在的至少一個緩存伺服器;根據所述查找到的各緩存伺服器的狀態信息,選擇其中一個緩存伺服器作為目標緩存伺服器;將所述數據訪問請求按照所述預加載的數據訪問協議轉發至所述目標緩存伺服器,以響應所述數據訪問請求。相應地,本發明還公開了一種分布式緩存控制裝置和系統。本發明能夠支持多種數據訪問協議,並可根據緩存伺服器的狀態信息,對所使用的緩存伺服器進行靈活切換,實現對分布式緩存的靈活控制。
文檔編號H04L12/56GK101764824SQ20101010454
公開日2010年6月30日 申請日期2010年1月28日 優先權日2010年1月28日
發明者蔡振興 申請人:深圳市同洲電子股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀