本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,具體涉及一種基于雙活集群架構(gòu)的數(shù)據(jù)處理方法及裝置。
背景技術(shù):
1、傳統(tǒng)網(wǎng)絡(luò)存儲(chǔ)架構(gòu)依賴中心化存儲(chǔ)服務(wù)器集中管理數(shù)據(jù),限制了系統(tǒng)性能,存在單點(diǎn)故障風(fēng)險(xiǎn),難以滿足現(xiàn)代數(shù)據(jù)中心對(duì)高可靠性、高可用性及高效存取的需求,分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)因此出現(xiàn),其通過(guò)分布式部署多臺(tái)存儲(chǔ)服務(wù)器承擔(dān)存儲(chǔ)負(fù)載,提升了可靠性、可用性和數(shù)據(jù)訪問(wèn)效率,可按需擴(kuò)展。
2、在雙活網(wǎng)絡(luò)規(guī)劃中,常見(jiàn)策略有復(fù)用業(yè)務(wù)網(wǎng)絡(luò)和采用通過(guò)業(yè)務(wù)網(wǎng)轉(zhuǎn)發(fā)到復(fù)制節(jié)點(diǎn)再通過(guò)復(fù)制網(wǎng)絡(luò)傳輸。復(fù)用業(yè)務(wù)網(wǎng)絡(luò)方案實(shí)施同集群雙活簡(jiǎn)便,但占用業(yè)務(wù)網(wǎng)絡(luò)帶寬,影響非雙活業(yè)務(wù)性能;單獨(dú)復(fù)制網(wǎng)絡(luò)方案能確保數(shù)據(jù)復(fù)制獨(dú)立性,但延長(zhǎng)了數(shù)據(jù)傳輸路徑,可能引入額外網(wǎng)絡(luò)時(shí)延影響性能。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明實(shí)施例提供了一種基于雙活集群架構(gòu)的數(shù)據(jù)處理方法及裝置,以解決傳統(tǒng)網(wǎng)絡(luò)存儲(chǔ)架構(gòu)在性能、單點(diǎn)故障風(fēng)險(xiǎn)、數(shù)據(jù)存儲(chǔ)需求滿足等方面的不足的問(wèn)題。
2、第一方面,本發(fā)明實(shí)施例提供了一種基于雙活集群架構(gòu)的數(shù)據(jù)處理方法,所述方法應(yīng)用于第一集群,所述第一集群是位于雙活集群架構(gòu)中的任意一個(gè)集群,所述方法包括:
3、接收客戶端發(fā)送的業(yè)務(wù)請(qǐng)求,其中,所述業(yè)務(wù)請(qǐng)求包括待寫(xiě)入的業(yè)務(wù)數(shù)據(jù)以及數(shù)據(jù)寫(xiě)入需求;
4、響應(yīng)所述業(yè)務(wù)請(qǐng)求,獲取所述雙活集群架構(gòu)的服務(wù)狀態(tài)地圖,其中,所述服務(wù)狀態(tài)地圖包括所述雙活集群架構(gòu)中各個(gè)集群的集群情況,各個(gè)集群之間的網(wǎng)絡(luò)情況,以及各個(gè)集群中存儲(chǔ)設(shè)備的運(yùn)行情況;
5、根據(jù)所述數(shù)據(jù)寫(xiě)入需求確定用于寫(xiě)入所述業(yè)務(wù)數(shù)據(jù)的目標(biāo)對(duì)象,并從所述服務(wù)狀態(tài)地圖中獲取所述目標(biāo)對(duì)象的對(duì)象關(guān)聯(lián)信息;
6、根據(jù)所述對(duì)象關(guān)聯(lián)信息對(duì)應(yīng)的寫(xiě)入策略,并按照所述寫(xiě)入策略將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)對(duì)象。
7、進(jìn)一步的,所述根據(jù)所述數(shù)據(jù)寫(xiě)入需求確定用于寫(xiě)入所述業(yè)務(wù)數(shù)據(jù)的目標(biāo)對(duì)象,包括:
8、若所述數(shù)據(jù)寫(xiě)入需求為本地寫(xiě)入時(shí),將所述第一集群對(duì)應(yīng)的目標(biāo)存儲(chǔ)設(shè)備作為用于寫(xiě)入所述業(yè)務(wù)數(shù)據(jù)的目標(biāo)對(duì)象;
9、若所述數(shù)據(jù)寫(xiě)入需求為遠(yuǎn)程寫(xiě)入時(shí),從所述數(shù)據(jù)寫(xiě)入需求獲取數(shù)據(jù)寫(xiě)入需求所指定的第二集群,并將所述第二集群作為用于寫(xiě)入所述業(yè)務(wù)數(shù)據(jù)的目標(biāo)對(duì)象。
10、進(jìn)一步的,若所述目標(biāo)對(duì)象為第一集群的目標(biāo)存儲(chǔ)設(shè)備,則所述對(duì)象關(guān)聯(lián)信息包括所述目標(biāo)存儲(chǔ)設(shè)備的運(yùn)行情況;
11、所述根據(jù)所述對(duì)象關(guān)聯(lián)信息對(duì)應(yīng)的寫(xiě)入策略,并按照所述寫(xiě)入策略將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)對(duì)象,包括:
12、根據(jù)所述目標(biāo)存儲(chǔ)設(shè)備的運(yùn)行情況確定所述目標(biāo)存儲(chǔ)設(shè)備的當(dāng)前負(fù)載;
13、若所述當(dāng)前負(fù)載高于第一閾值,且低于第二閾值,則獲取等待時(shí)間周期,在所述等待時(shí)間周期內(nèi)暫停寫(xiě)入操作,并在所述等待時(shí)間周期終止時(shí),將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)存儲(chǔ)設(shè)備;
14、或,若所述當(dāng)前負(fù)載高于第二閾值,則獲取目標(biāo)寫(xiě)入時(shí)機(jī),并在達(dá)到所述目標(biāo)寫(xiě)入時(shí)機(jī)時(shí),將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)存儲(chǔ)設(shè)備。
15、進(jìn)一步的,若所述目標(biāo)對(duì)象為第二集群,則所述對(duì)象關(guān)聯(lián)信息包括所述第二集群中各個(gè)節(jié)點(diǎn)的目標(biāo)節(jié)點(diǎn)狀態(tài),所述第一集群與所述第二集群之間復(fù)制網(wǎng)絡(luò)的目標(biāo)網(wǎng)絡(luò)情況;
16、所述根據(jù)所述對(duì)象關(guān)聯(lián)信息對(duì)應(yīng)的寫(xiě)入策略,并按照所述寫(xiě)入策略將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)對(duì)象,包括:
17、若所述目標(biāo)對(duì)象為第二集群,則根據(jù)所述目標(biāo)節(jié)點(diǎn)狀態(tài)從所述第二集群中獲取可用節(jié)點(diǎn);
18、獲取所述可用節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)信息,其中,所述節(jié)點(diǎn)信息包括節(jié)點(diǎn)負(fù)載以及節(jié)點(diǎn)運(yùn)行數(shù)據(jù);
19、利用所述節(jié)點(diǎn)負(fù)載以及節(jié)點(diǎn)運(yùn)行數(shù)據(jù)計(jì)算所述可用節(jié)點(diǎn)的性能參數(shù);
20、將所述性能參數(shù)最高的可用節(jié)點(diǎn)作為目標(biāo)可用節(jié)點(diǎn);
21、基于所述目標(biāo)網(wǎng)絡(luò)情況獲取所述第一集群與所述第二集群之間各個(gè)傳輸路徑的路徑性能指標(biāo);
22、將所述路徑性能指標(biāo)最高的傳輸路徑作為目標(biāo)傳輸路徑;
23、通過(guò)所述目標(biāo)傳輸路徑將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述第二集群中的目標(biāo)可用節(jié)點(diǎn)。
24、進(jìn)一步的,所述獲取所述雙活集群架構(gòu)的服務(wù)狀態(tài)地圖,包括:
25、確定預(yù)先搭建好的雙活集群架構(gòu),其中,所述雙活集群架構(gòu)包括多個(gè)通過(guò)集群,多個(gè)集群之間采用復(fù)制網(wǎng)絡(luò)連接,每個(gè)集群中包括存儲(chǔ)設(shè)備;
26、監(jiān)聽(tīng)各個(gè)集群之間復(fù)制網(wǎng)絡(luò)的網(wǎng)絡(luò)情況;
27、獲取各個(gè)集群的數(shù)據(jù)復(fù)制及情況以及節(jié)點(diǎn)狀態(tài),并獲取各個(gè)集群中存儲(chǔ)設(shè)備對(duì)應(yīng)的運(yùn)行情況;
28、基于各個(gè)集群的數(shù)據(jù)復(fù)制情況和節(jié)點(diǎn)狀態(tài)構(gòu)建所述集群情況;
29、利用所述集群情況,所述網(wǎng)絡(luò)情況以及存儲(chǔ)設(shè)備對(duì)應(yīng)的運(yùn)行情況構(gòu)建所述服務(wù)狀態(tài)地圖。
30、進(jìn)一步的,所述方法還包括:
31、監(jiān)聽(tīng)所述復(fù)制網(wǎng)絡(luò)的心跳信號(hào);
32、若根據(jù)所述心跳信號(hào)確定所述復(fù)制網(wǎng)絡(luò)異常,則觸發(fā)故障處理機(jī)制,并獲取所述復(fù)制網(wǎng)絡(luò)的故障信息;
33、將所述故障信息更新至所述服務(wù)狀態(tài)地圖,并向各個(gè)集群對(duì)應(yīng)的客戶端發(fā)送故障通知。
34、進(jìn)一步的,所述方法還包括:
35、按照預(yù)設(shè)周期獲取返回路徑的路徑狀態(tài)參數(shù),其中,所述返回路徑是業(yè)務(wù)數(shù)據(jù)從第一集群傳輸?shù)诫p活集群架構(gòu)中其他集群后,再回傳到第一集群所經(jīng)過(guò)的網(wǎng)絡(luò)路徑;
36、獲取預(yù)先配置的路徑健康閾值;
37、對(duì)比所述路徑狀態(tài)參數(shù)與所述路徑健康閾值,得到所述返回路徑的健康狀態(tài);
38、若所述健康狀態(tài)為非健康,則暫停處理業(yè)務(wù)請(qǐng)求;或,若所述健康狀態(tài)為健康,則繼續(xù)處理業(yè)務(wù)請(qǐng)求。
39、第二方面,本發(fā)明實(shí)施例提供了一種基于雙活集群架構(gòu)的數(shù)據(jù)處理裝置,所述裝置包括:
40、接收模塊,用于接收客戶端發(fā)送的業(yè)務(wù)請(qǐng)求,其中,所述業(yè)務(wù)請(qǐng)求包括待寫(xiě)入的業(yè)務(wù)數(shù)據(jù)以及數(shù)據(jù)寫(xiě)入需求;
41、響應(yīng)模塊,用于響應(yīng)所述業(yè)務(wù)請(qǐng)求,獲取所述雙活集群架構(gòu)的服務(wù)狀態(tài)地圖,其中,所述服務(wù)狀態(tài)地圖包括所述雙活集群架構(gòu)中各個(gè)集群的集群情況,各個(gè)集群之間的網(wǎng)絡(luò)情況,以及各個(gè)集群中存儲(chǔ)設(shè)備的運(yùn)行情況;
42、處理模塊,用于根據(jù)所述數(shù)據(jù)寫(xiě)入需求確定用于寫(xiě)入所述業(yè)務(wù)數(shù)據(jù)的目標(biāo)對(duì)象,并從所述服務(wù)狀態(tài)地圖中獲取所述目標(biāo)對(duì)象的對(duì)象關(guān)聯(lián)信息;
43、執(zhí)行模塊,用于根據(jù)所述對(duì)象關(guān)聯(lián)信息對(duì)應(yīng)的寫(xiě)入策略,并按照所述寫(xiě)入策略將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)對(duì)象。
44、第三方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,包括:存儲(chǔ)器和處理器,存儲(chǔ)器和處理器之間互相通信連接,存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)指令,處理器通過(guò)執(zhí)行計(jì)算機(jī)指令,從而執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的方法。
45、第四方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的方法。
46、第五方面,本發(fā)明提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的服務(wù)器的目標(biāo)部件進(jìn)行單獨(dú)上下電的方法。
47、本發(fā)明提供的一種基于雙活集群架構(gòu)的數(shù)據(jù)處理方法,具有如下優(yōu)點(diǎn):
48、本技術(shù)實(shí)施例提供的方法通過(guò)獲取全面的狀態(tài)信息,能夠及時(shí)發(fā)現(xiàn)潛在的性能瓶頸和故障點(diǎn),提前進(jìn)行優(yōu)化和處理,從而提高系統(tǒng)性能,克服傳統(tǒng)架構(gòu)中對(duì)系統(tǒng)狀態(tài)了解不全面的問(wèn)題。然后能夠根據(jù)實(shí)際需求和實(shí)時(shí)狀態(tài)選擇最優(yōu)的寫(xiě)入目標(biāo),提高數(shù)據(jù)存儲(chǔ)和傳輸?shù)男屎托阅?。最后根?jù)對(duì)象關(guān)聯(lián)信息對(duì)應(yīng)的寫(xiě)入策略,并按照寫(xiě)入策略將所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述目標(biāo)對(duì)象,保證寫(xiě)入過(guò)程的高效和可靠,減少因策略不當(dāng)導(dǎo)致的性能下降和數(shù)據(jù)錯(cuò)誤,提升整體系統(tǒng)性能。