本發(fā)明涉及REDIS調(diào)用方法,更具體地說是指一種REDIS分布式調(diào)用方法及REDIS分布式調(diào)用系統(tǒng)。
背景技術(shù):
REDIS是高性能標(biāo)識號-value存儲系統(tǒng),支持存儲多種數(shù)據(jù)類型,包括string(字符串),list(鏈表),set(集合),zset(有序集合),hash(哈希類型),具有強(qiáng)大的管理數(shù)據(jù)的功能,隨著數(shù)據(jù)的重要性的提升,對于數(shù)據(jù)的管理、維護(hù)以及安全性的需求也顯得越來越重要。
目前市場上將REDIS當(dāng)作緩存服務(wù)器,如果只有一臺REDIS服務(wù)器,即傳統(tǒng)單機(jī)模式的計算系統(tǒng),當(dāng)這臺REDIS服務(wù)出現(xiàn)故障后,會導(dǎo)致服務(wù)不能繼續(xù)運(yùn)行,繼而緩存失效,并且,該傳統(tǒng)單機(jī)模式的計算系統(tǒng)是將所有數(shù)據(jù)存放在一個REDIS服務(wù)里面,不同模塊之間數(shù)據(jù)分離不明確。
隨著流量與并發(fā)的不斷增加,緩存服務(wù)器的壓力也會越來越大,出現(xiàn)故障的可能也會增加,如果僅僅一個REDIS服務(wù)器,會因為服務(wù)器壓力過大而崩潰,使系統(tǒng)穩(wěn)定性降低,長期處于不安全狀態(tài),給開發(fā)人員帶來巨大負(fù)擔(dān),同時給公司或者社團(tuán)造成經(jīng)濟(jì)損失。
中國專利201610074884.4公開一種分布式計算框架的任務(wù)調(diào)派系統(tǒng),其中包括應(yīng)用服務(wù)器、任務(wù)隊列服務(wù)平臺與Redis服務(wù)平臺。應(yīng)用服務(wù)器用于部署多個業(yè)務(wù)處理服務(wù);任務(wù)隊列服務(wù)平臺由多個任務(wù)服務(wù)器透過網(wǎng)路集群,任務(wù)隊列服務(wù)平臺中部署zookeeper服務(wù),任務(wù)調(diào)度操作用于處理zookeeper服務(wù)的消息隊列的新的客戶任務(wù);由多個Redis服務(wù)器透過網(wǎng)路連接構(gòu)成,Redis服務(wù)平臺經(jīng)由網(wǎng)路連接于任務(wù)隊列服務(wù)平臺,Redis服務(wù)平臺根據(jù)新加入消息隊列中的客戶任務(wù)調(diào)用處理進(jìn)程,處理進(jìn)程對客戶任務(wù)進(jìn)行清洗并輸出第一業(yè)務(wù)結(jié)果存儲至Redis緩存存儲器中;Redis服務(wù)平臺的實時計算模塊偵測Redis緩存存儲器中存在新的第一業(yè)務(wù)結(jié)果,實時計算模塊對第一業(yè)務(wù)結(jié)果進(jìn)行計算并輸出第二業(yè)務(wù)結(jié)果。
上述的專利中,是針對新的客戶任務(wù)通過掃描操作會實時偵測輸入節(jié)點(diǎn)后,掃描操作把新接入的客戶任務(wù)加入消息隊列,并不能實現(xiàn)了不同模塊項目之間的數(shù)據(jù)分離和共享,增加了服務(wù)的高可用性。
因此,有必要設(shè)計一種REDIS分布式調(diào)用方法,實現(xiàn)減少維護(hù)人員工作量,提高REDIS系統(tǒng)運(yùn)行過程中的安全性以及可靠性,實現(xiàn)了同一個公司或團(tuán)體的不同模塊項目之間的數(shù)據(jù)分離和聯(lián)系,增加了REDIS服務(wù)的可用性,減少經(jīng)濟(jì)損失。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺陷,提供一種REDIS分布式調(diào)用方法及其系統(tǒng)。
為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種REDIS分布式調(diào)用方法,包括以下具體步驟:
步驟一、第一判斷步驟,判斷REDIS服務(wù)器是否需要分組,若REDIS服務(wù)器需要分組,則進(jìn)行步驟二,若REDIS服務(wù)器不需要分組,則進(jìn)行步驟三;
步驟二、設(shè)定步驟,在REDIS服務(wù)器的存儲區(qū)域上設(shè)置接收的數(shù)據(jù)的標(biāo)識號,同時設(shè)定REDIS服務(wù)器對應(yīng)的分組號以及操作名稱,將標(biāo)識號、分組號以及操作名稱發(fā)送至Java服務(wù)器,確定公共組REDIS服務(wù)器以及各個分組REDIS服務(wù)器;
步驟三、響應(yīng)請求步驟,客戶端向PHP服務(wù)器發(fā)送請求緩存操作,PHP服務(wù)器接收客戶端發(fā)送的請求緩存操作;
步驟四、第二判斷步驟,PHP服務(wù)器接收客戶端發(fā)送的請求緩存操作后,判斷該請求緩存操作使用的數(shù)據(jù)是否是公共組REDIS服務(wù)器的公共數(shù)據(jù),若使用的數(shù)據(jù)是公共組REDIS服務(wù)器的公共數(shù)據(jù),則進(jìn)行步驟五,若使用的數(shù)據(jù)不是公共組REDIS服務(wù)器的公共數(shù)據(jù),則是分組REDIS服務(wù)器的分組數(shù)據(jù),則進(jìn)行步驟五;
步驟五、公共數(shù)據(jù)處理步驟,PHP服務(wù)器向Java服務(wù)器發(fā)送操作名稱以及數(shù)據(jù)的參數(shù),Java服務(wù)器將使用數(shù)據(jù)的操作名稱發(fā)送至公共組REDIS服務(wù)器,公共組REDIS服務(wù)器將數(shù)據(jù)存儲,進(jìn)行步驟八;
步驟六、分組數(shù)據(jù)處理步驟,PHP服務(wù)器向Java服務(wù)器發(fā)送請求使用數(shù)據(jù)的參數(shù)以及操作名稱,Java服務(wù)器接收數(shù)據(jù)的參數(shù)以及操作名稱后,隨機(jī)抽取該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的一臺分組REDIS服務(wù)器,并將該操作名稱發(fā)送至該分組REDIS服務(wù)器,分組REDIS服務(wù)器對客戶端發(fā)送的數(shù)據(jù)進(jìn)行緩存;
步驟七、分組數(shù)據(jù)同步步驟,被抽取的分組REDIS服務(wù)器緩存數(shù)據(jù)后,同時與分組REDIS服務(wù)器位于同一組的分組REDIS服務(wù)器同步更新存儲的數(shù)據(jù);
步驟八、重復(fù)步驟三,直至客戶端停止發(fā)送緩存請求。
其進(jìn)一步技術(shù)方案為:所述步驟四中,對請求緩存操作使用的數(shù)據(jù)的判斷的依據(jù)是數(shù)據(jù)所攜帶的身份標(biāo)識號,所述身份標(biāo)識號與設(shè)定的REDIS服務(wù)器的標(biāo)識號相匹配。
其進(jìn)一步技術(shù)方案為:在所述步驟六中,包括以下具體步驟:
步驟1、接收步驟,Java服務(wù)器接收PHP服務(wù)器發(fā)送的數(shù)據(jù)的參數(shù)以及操作名稱;
步驟2、分組號判斷步驟,Java服務(wù)器在接收數(shù)據(jù)的參數(shù)以及操作名稱后,判斷獲取該數(shù)據(jù)的參數(shù)所對應(yīng)的分組號;
步驟3、有效性判斷步驟,Java服務(wù)器對該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的分組REDIS服務(wù)器進(jìn)行有效性的判斷,通過一致性hash算法實現(xiàn)對REDIS服務(wù)器分布判斷,確定當(dāng)前運(yùn)行的是正常的分組REDIS服務(wù)器;
步驟4、處理步驟,Java服務(wù)器隨機(jī)抽取的有效的分組REDIS服務(wù)器執(zhí)行操作名稱對應(yīng)的操作內(nèi)容。
其進(jìn)一步技術(shù)方案為:在所述步驟2中,每個分組REDIS服務(wù)器有不同的配置,指定不同數(shù)量的REDIS服務(wù)器連接信息通過一致性hash算法計算出緩存請求中的數(shù)據(jù)的標(biāo)識號,通過Java服務(wù)器找到該標(biāo)識號所對應(yīng)的分組號,抽取該分組號下的一個分組REDIS服務(wù)器,將數(shù)據(jù)存儲到有效的分組REDIS服務(wù)器中。
其進(jìn)一步技術(shù)方案為:在所述步驟3中,由于每個分組下的分組REDIS服務(wù)器數(shù)據(jù)是同步的,當(dāng)其中一個分組REDIS服務(wù)器失效后,Java服務(wù)器啟用同組的另外的一個分組REDIS服務(wù)器。
其進(jìn)一步技術(shù)方案為:所述步驟七中,由Java服務(wù)器發(fā)送數(shù)據(jù)至被抽取的分組REDIS服務(wù)器所對應(yīng)的分組中的所有分組REDIS服務(wù)器中,同步所有分組REDIS服務(wù)器中的數(shù)據(jù)。
本發(fā)明還提供了一種REDIS分布式調(diào)用系統(tǒng),包括中間處理單元以及緩存處理單元,中間處理單元包括第一判斷模塊、設(shè)定模塊、響應(yīng)請求模塊以及第二判斷模塊,緩存處理單元包括公共數(shù)據(jù)處理模塊、分組數(shù)據(jù)處理模塊以及分組數(shù)據(jù)同步模塊;
第一判斷模塊,用于判斷REDIS服務(wù)器是否需要分組,與所述設(shè)定模塊以及所述響應(yīng)請求模塊連接;
所述設(shè)定模塊,用于在REDIS服務(wù)器的存儲區(qū)域上設(shè)置接收的數(shù)據(jù)的標(biāo)識號,同時設(shè)定REDIS服務(wù)器對應(yīng)的分組號以及操作名稱,將標(biāo)識號、分組號以及操作名稱發(fā)送至Java服務(wù)器,確定公共組REDIS服務(wù)器以及各個分組REDIS服務(wù)器,與所述響應(yīng)請求模塊連接;
所述響應(yīng)請求模塊,用于客戶端向服務(wù)器發(fā)送請求緩存操作,PHP服務(wù)器接收客戶端發(fā)送的請求緩存操作,與所述第二判斷模塊連接;
所述第二判斷模塊,用于判斷請求緩存操作使用的數(shù)據(jù)是否是公共組REDIS服務(wù)器的公共數(shù)據(jù),分別與所述公共數(shù)據(jù)處理模塊以及分組數(shù)據(jù)處理模塊連接;
所述公共數(shù)據(jù)處理模塊,用于PHP服務(wù)器向Java服務(wù)器發(fā)送操作名稱以及調(diào)用公共組REDIS服務(wù)器的請求,Java服務(wù)器將使用數(shù)據(jù)的操作名稱發(fā)送至公共組REDIS服務(wù)器,公共組REDIS服務(wù)器將數(shù)據(jù)存儲;
所述分組數(shù)據(jù)處理模塊,用于PHP服務(wù)器向Java服務(wù)器發(fā)送請求使用數(shù)據(jù)的參數(shù)以及操作名稱,Java服務(wù)器接收數(shù)據(jù)的參數(shù)以及操作名稱后,隨機(jī)抽取該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的一臺分組REDIS服務(wù)器,并將該操作名稱發(fā)送至該分組REDIS服務(wù)器,分組REDIS服務(wù)器對客戶端發(fā)送的數(shù)據(jù)進(jìn)行緩存,與所述分組數(shù)據(jù)同步模塊連接;
所述分組數(shù)據(jù)同步模塊,用于被抽取的分組REDIS服務(wù)器緩存數(shù)據(jù)后,同時與分組REDIS服務(wù)器位于同一組的分組REDIS服務(wù)器同步更新存儲的數(shù)據(jù)。
其進(jìn)一步技術(shù)方案為:所述分組數(shù)據(jù)處理模塊包括接收子模塊、分組號判斷子模塊、有效性判斷子模塊以及處理子模塊;
所述接收子模塊,用于Java服務(wù)器接收PHP服務(wù)器發(fā)送的數(shù)據(jù)的參數(shù)以及操作名稱,分別與所述第二判斷模塊以及所述分組號判斷子模塊連接;
所述分組號判斷子模塊,用于Java服務(wù)器在接收數(shù)據(jù)的參數(shù)以及操作名稱后,判斷獲取該數(shù)據(jù)的參數(shù)所對應(yīng)的分組號,與所述有效性判斷子模塊連接;
所述有效性判斷子模塊,用于Java服務(wù)器對該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的分組REDIS服務(wù)器進(jìn)行有效性的判斷,通過一致性hash算法實現(xiàn)對REDIS服務(wù)器分布判斷,確定當(dāng)前運(yùn)行的是正常的分組REDIS服務(wù)器,與所述處理子模塊連接;
所述處理子模塊,用于Java服務(wù)器隨機(jī)抽取的有效的分組REDIS服務(wù)器執(zhí)行操作名稱對應(yīng)的操作內(nèi)容,與所述分組數(shù)據(jù)同步模塊連接。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:本發(fā)明的一種REDIS分布式調(diào)用方法,通過對多個REDIS服務(wù)器進(jìn)行分組,分為公共組REDIS服務(wù)器以及分組REDIS服務(wù)器,多個分組REDIS服務(wù)器對應(yīng)一個項目或模塊,實現(xiàn)各個項目或模塊的數(shù)據(jù)隔離和共性,同時通過java服務(wù)器組切換有效的分組REDIS服務(wù)器,保證了系統(tǒng)的高效性和穩(wěn)定性,實現(xiàn)減少維護(hù)人員工作量,提高REDIS系統(tǒng)運(yùn)行過程中的安全性以及可靠性,實現(xiàn)了同一個公司或團(tuán)體的不同模塊項目之間的數(shù)據(jù)分離和聯(lián)系,增加了REDIS服務(wù)的可用性,減少經(jīng)濟(jì)損失。
下面結(jié)合附圖和具體實施例對本發(fā)明作進(jìn)一步描述。
附圖說明
圖1為本發(fā)明具體實施例提供的一種REDIS分布式調(diào)用方法的流程框圖;
圖2為圖1中的分組數(shù)據(jù)處理步驟的具體步驟流程框圖;
圖3為本發(fā)明具體實施例提供的一種REDIS分布式調(diào)用系統(tǒng)的結(jié)構(gòu)框圖。
附圖標(biāo)記
10 第一判斷模塊 20 設(shè)定模塊
30 響應(yīng)請求模塊 40 第二判斷模塊
50 公共數(shù)據(jù)處理模塊 60 接收子模塊
61 分組號判斷子模塊 62 有效性判斷子模塊
63 處理子模塊 70 分組數(shù)據(jù)同步模塊
具體實施方式
為了更充分理解本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實施例對本發(fā)明的技術(shù)方案進(jìn)一步介紹和說明,但不局限于此。
如圖1~3所示的具體實施例,本實施例提供的一種REDIS分布式調(diào)用方法,可以運(yùn)用在公司和團(tuán)體的不同項目的數(shù)據(jù)存儲過程中,實現(xiàn)數(shù)據(jù)既隔離共享,不同項目的各自模塊的數(shù)據(jù)放入各自的分組REDIS服務(wù)器里,公用的數(shù)據(jù)放入公共組REDIS服務(wù)器里面。
一種REDIS分布式調(diào)用方法,包括以下具體步驟:
步驟一、第一判斷步驟,判斷REDIS服務(wù)器是否需要分組,若REDIS服務(wù)器需要分組,則進(jìn)行步驟二,若REDIS服務(wù)器不需要分組,則進(jìn)行步驟三;
步驟二、設(shè)定步驟,在REDIS服務(wù)器的存儲區(qū)域上設(shè)置接收的數(shù)據(jù)的標(biāo)識號,同時設(shè)定REDIS服務(wù)器對應(yīng)的分組號以及操作名稱,將標(biāo)識號、分組號以及操作名稱發(fā)送至Java服務(wù)器,確定公共組REDIS服務(wù)器以及各個分組REDIS服務(wù)器;
步驟三、響應(yīng)請求步驟,客戶端向PHP服務(wù)器發(fā)送請求緩存操作,PHP服務(wù)器接收客戶端發(fā)送的請求緩存操作;
步驟四、第二判斷步驟,PHP服務(wù)器接收客戶端發(fā)送的請求緩存操作后,判斷該請求緩存操作使用的數(shù)據(jù)是否是公共組REDIS服務(wù)器的公共數(shù)據(jù),若使用的數(shù)據(jù)是公共組REDIS服務(wù)器的公共數(shù)據(jù),則進(jìn)行步驟五,若使用的數(shù)據(jù)不是公共組REDIS服務(wù)器的公共數(shù)據(jù),則是分組REDIS服務(wù)器的分組數(shù)據(jù),則進(jìn)行步驟五;
步驟五、公共數(shù)據(jù)處理步驟,PHP服務(wù)器向Java服務(wù)器發(fā)送操作名稱以及數(shù)據(jù)的參數(shù),Java服務(wù)器將使用數(shù)據(jù)的操作名稱發(fā)送至公共組REDIS服務(wù)器,公共組REDIS服務(wù)器將數(shù)據(jù)存儲,進(jìn)行步驟八;
步驟六、分組數(shù)據(jù)處理步驟,PHP服務(wù)器向Java服務(wù)器發(fā)送請求使用數(shù)據(jù)的參數(shù)以及操作名稱,Java服務(wù)器接收數(shù)據(jù)的參數(shù)以及操作名稱后,隨機(jī)抽取該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的一臺分組REDIS服務(wù)器,并將該操作名稱發(fā)送至該分組REDIS服務(wù)器,分組REDIS服務(wù)器對客戶端發(fā)送的數(shù)據(jù)進(jìn)行緩存;
步驟七、分組數(shù)據(jù)同步步驟,被抽取的分組REDIS服務(wù)器緩存數(shù)據(jù)后,同時與分組REDIS服務(wù)器位于同一組的分組REDIS服務(wù)器同步更新存儲的數(shù)據(jù);
步驟八、重復(fù)步驟三,直至客戶端停止發(fā)送緩存請求。
上述的一種REDIS分布式調(diào)用方法,通過對多個REDIS服務(wù)器進(jìn)行分組,分為公共組REDIS服務(wù)器以及分組REDIS服務(wù)器,多個分組REDIS服務(wù)器對應(yīng)一個項目或模塊,實現(xiàn)各個項目或模塊的數(shù)據(jù)隔離和共性,同時通過java服務(wù)器組切換有效的分組REDIS服務(wù)器,保證了系統(tǒng)的高效性和穩(wěn)定性,實現(xiàn)減少維護(hù)人員工作量,提高REDIS系統(tǒng)運(yùn)行過程中的安全性以及可靠性,實現(xiàn)了同一個公司或團(tuán)體的不同模塊項目之間的數(shù)據(jù)分離和聯(lián)系,增加了REDIS服務(wù)的可用性,減少經(jīng)濟(jì)損失。
更進(jìn)一步的,所述步驟四中,對請求緩存操作使用的數(shù)據(jù)的判斷的依據(jù)是數(shù)據(jù)所攜帶的身份標(biāo)識號,所述身份標(biāo)識號與設(shè)定的REDIS服務(wù)器的標(biāo)識號相匹配。。
更具體的,當(dāng)給REDIS服務(wù)器的標(biāo)識號(REDIS服務(wù)器存儲數(shù)據(jù)的一個標(biāo)識)加上分組前綴,以達(dá)到區(qū)分不同模塊的數(shù)據(jù)來源,從而進(jìn)行分組。
另外,如圖2所示,在所述步驟六中,包括以下具體步驟:
步驟1、接收步驟,Java服務(wù)器接收PHP服務(wù)器發(fā)送的數(shù)據(jù)的參數(shù)以及操作名稱;
步驟2、分組號判斷步驟,Java服務(wù)器在接收數(shù)據(jù)的參數(shù)以及操作名稱后,判斷獲取該數(shù)據(jù)的參數(shù)所對應(yīng)的分組號;
步驟3、有效性判斷步驟,Java服務(wù)器對該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的分組REDIS服務(wù)器進(jìn)行有效性的判斷,通過一致性hash算法實現(xiàn)對REDIS服務(wù)器分布判斷,確定當(dāng)前運(yùn)行的是正常的分組REDIS服務(wù)器;
步驟4、處理步驟,Java服務(wù)器隨機(jī)抽取的有效的分組REDIS服務(wù)器執(zhí)行操作名稱對應(yīng)的操作內(nèi)容。
更進(jìn)一步的,在所述步驟2中,每個分組REDIS服務(wù)器有不同的配置,指定不同數(shù)量的REDIS服務(wù)器連接信息(如REDIS服務(wù)器的IP和端口),通過一致性hash算法計算出緩存請求中的數(shù)據(jù)的標(biāo)識號(REDIS服務(wù)器存儲數(shù)據(jù)的一個標(biāo)識),通過Java服務(wù)器找到該標(biāo)識號所對應(yīng)的分組號,抽取該分組號下的一個分組REDIS服務(wù)器,將數(shù)據(jù)存儲到有效的分組REDIS服務(wù)器中。
具體的,所述數(shù)據(jù)的保存,都必要先計算出其標(biāo)識號,再通過一致性hash算法計算出標(biāo)識號所對應(yīng)的分組號,獲取該數(shù)據(jù)的存放位置。
更進(jìn)一步的,在所述步驟3中,由于每個分組下的分組REDIS服務(wù)器數(shù)據(jù)是同步的,當(dāng)其中一個分組REDIS服務(wù)器失效后,Java服務(wù)器啟用同組的另外的一個分組REDIS服務(wù)器。
在所述步驟七中,由Java服務(wù)器發(fā)送數(shù)據(jù)至被抽取的分組REDIS服務(wù)器所對應(yīng)的分組中的所有分組REDIS服務(wù)器中,同步所有分組REDIS服務(wù)器中的數(shù)據(jù)。
本發(fā)明還提供了一種REDIS分布式調(diào)用系統(tǒng),包括中間處理單元以及緩存處理單元,其中,中間處理單元包括第一判斷模塊10、設(shè)定模塊20、響應(yīng)請求模塊30以及第二判斷模塊40,緩存處理單元包括公共數(shù)據(jù)處理模塊50、分組數(shù)據(jù)處理模塊以及分組數(shù)據(jù)同步模塊70;第一判斷模塊10,用于判斷REDIS服務(wù)器是否需要分組,與所述設(shè)定模塊20以及所述響應(yīng)請求模塊30連接;所述設(shè)定模塊20,用于在REDIS服務(wù)器的存儲區(qū)域上設(shè)置接收的數(shù)據(jù)的標(biāo)識號,同時設(shè)定REDIS服務(wù)器對應(yīng)的分組號以及操作名稱,將標(biāo)識號、分組號以及操作名稱發(fā)送至Java服務(wù)器,確定公共組REDIS服務(wù)器以及各個分組REDIS服務(wù)器,與所述響應(yīng)請求模塊30連接;所述響應(yīng)請求模塊30,用于客戶端向服務(wù)器發(fā)送請求緩存操作,PHP服務(wù)器接收客戶端發(fā)送的請求緩存操作,與所述第二判斷模塊40連接;所述第二判斷模塊40,用于判斷請求緩存操作使用的數(shù)據(jù)是否是公共組REDIS服務(wù)器的公共數(shù)據(jù),分別與所述公共數(shù)據(jù)處理模塊50以及分組數(shù)據(jù)處理模塊連接;所述公共數(shù)據(jù)處理模塊50,用于PHP服務(wù)器向Java服務(wù)器發(fā)送操作名稱以及調(diào)用公共組REDIS服務(wù)器的請求,Java服務(wù)器將使用數(shù)據(jù)的操作名稱發(fā)送至公共組REDIS服務(wù)器,公共組REDIS服務(wù)器將數(shù)據(jù)存儲;所述分組數(shù)據(jù)處理模塊,用于PHP服務(wù)器向Java服務(wù)器發(fā)送請求使用數(shù)據(jù)的參數(shù)以及操作名稱,Java服務(wù)器接收數(shù)據(jù)的參數(shù)以及操作名稱后,隨機(jī)抽取該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的一臺分組REDIS服務(wù)器,并將該操作名稱發(fā)送至該分組REDIS服務(wù)器,分組REDIS服務(wù)器對客戶端發(fā)送的數(shù)據(jù)進(jìn)行緩存,與所述分組數(shù)據(jù)同步模塊70連接;所述分組數(shù)據(jù)同步模塊70,用于被抽取的分組REDIS服務(wù)器緩存數(shù)據(jù)后,同時與分組REDIS服務(wù)器位于同一組的分組REDIS服務(wù)器同步更新存儲的數(shù)據(jù)。
另外,所述分組數(shù)據(jù)處理模塊包括接收子模塊60、分組號判斷子模塊61、有效性判斷子模塊62以及處理子模塊63;接收子模塊60,用于Java服務(wù)器接收PHP服務(wù)器發(fā)送的數(shù)據(jù)的參數(shù)以及操作名稱,分別與第二判斷模塊40以及分組號判斷子模塊61連接;分組號判斷子模塊61,用于ava服務(wù)器在接收數(shù)據(jù)的參數(shù)以及操作名稱后,判斷獲取該數(shù)據(jù)的參數(shù)所對應(yīng)的分組號,與有效性判斷子模塊62連接;有效性判斷子模塊62,用于Java服務(wù)器對該數(shù)據(jù)的參數(shù)對應(yīng)的分組中的分組REDIS服務(wù)器進(jìn)行有效性的判斷,通過一致性hash算法實現(xiàn)對REDIS服務(wù)器分布判斷,確定當(dāng)前運(yùn)行的是正常的分組REDIS服務(wù)器,與處理子模塊63連接;處理子模塊63,用于Java服務(wù)器隨機(jī)抽取的有效的分組REDIS服務(wù)器執(zhí)行操作名稱對應(yīng)的操作內(nèi)容,與所述分組數(shù)據(jù)同步模塊70連接。
上述僅以實施例來進(jìn)一步說明本發(fā)明的技術(shù)內(nèi)容,以便于讀者更容易理解,但不代表本發(fā)明的實施方式僅限于此,任何依本發(fā)明所做的技術(shù)延伸或再創(chuàng)造,均受本發(fā)明的保護(hù)。本發(fā)明的保護(hù)范圍以權(quán)利要求書為準(zhǔn)。