本申請涉及數(shù)據(jù)處理,特別是涉及一種數(shù)據(jù)處理方法、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、混閃分布式系統(tǒng)是一種結(jié)合了混合存儲架構(gòu)(例如:結(jié)合了hdd(hard?diskdrive,機(jī)械硬盤)和ssd(solid?state?drive,固態(tài)硬盤)的存儲方案)和分布式系統(tǒng)特性的系統(tǒng)。
2、在混閃分布式系統(tǒng)中通常是使用ssdc(solid?state?disk?cache,固態(tài)硬盤緩存)提高io(input/output,輸入/輸出)讀寫性能。但支持ssdc的混閃分布式存儲系統(tǒng)進(jìn)程間的數(shù)據(jù)通信都是走的網(wǎng)絡(luò)通信,對網(wǎng)絡(luò)帶寬占用較大,對網(wǎng)絡(luò)帶寬帶來了較大的壓力。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠降低對網(wǎng)絡(luò)帶寬壓力的數(shù)據(jù)處理方法、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
2、第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)處理方法,應(yīng)用于混閃分布式系統(tǒng),所述方法包括:
3、第一進(jìn)程在進(jìn)行數(shù)據(jù)讀寫時,確定目標(biāo)副本所在的目標(biāo)節(jié)點,并根據(jù)所述目標(biāo)節(jié)點確定目標(biāo)通信方式;
4、所述第一進(jìn)程采用所述目標(biāo)通信方式與第二進(jìn)程進(jìn)行數(shù)據(jù)讀寫交互,完成待處理數(shù)據(jù)的讀寫操作。
5、采用本公開實施例提供的數(shù)據(jù)處理方法,在混閃分布式系統(tǒng)中,進(jìn)程間可以基于副本所在節(jié)點的位置確定最適配的通信方式進(jìn)行通信,可以降低混閃分布式系統(tǒng)中進(jìn)程間僅采用網(wǎng)絡(luò)通信方式進(jìn)行通信,對網(wǎng)絡(luò)帶寬的占用,進(jìn)而降低網(wǎng)絡(luò)帶寬壓力,提高混閃分布式系統(tǒng)的讀寫性能。
6、在其中一個實施例中,確定目標(biāo)副本所在的目標(biāo)節(jié)點,并根據(jù)所述目標(biāo)節(jié)點確定目標(biāo)通信方式,包括:
7、在所述目標(biāo)副本所在的目標(biāo)節(jié)點為所述第一進(jìn)程的本地節(jié)點的情況下,確定目標(biāo)通信方式為基于共享內(nèi)存的通信方式;或者,
8、在所述目標(biāo)副本所在的目標(biāo)節(jié)點為其他節(jié)點的情況下,確定目標(biāo)通信方式為基于網(wǎng)絡(luò)的通信方式。
9、這樣一來,在混閃分布式系統(tǒng)中進(jìn)行數(shù)據(jù)讀寫時,針對本地讀寫請求,進(jìn)程之間可以采用共享內(nèi)存的方式進(jìn)行通信傳輸,可以有效降低對網(wǎng)絡(luò)帶寬的占用,提高混閃分布式系統(tǒng)的讀寫性能。
10、在其中一個實施例中,所述讀寫操作包括寫操作,所述目標(biāo)通信方式為基于共享內(nèi)存的通信方式,所述第一進(jìn)程采用所述目標(biāo)通信方式與第二進(jìn)程進(jìn)行數(shù)據(jù)讀寫交互,完成待處理數(shù)據(jù)的讀寫操作,包括:
11、所述第一進(jìn)程將待處理數(shù)據(jù)寫入共享內(nèi)存的目標(biāo)位置,基于所述目標(biāo)位置向第二進(jìn)程發(fā)送數(shù)據(jù)寫請求;
12、所述第二進(jìn)程從所述數(shù)據(jù)寫請求中獲取所述目標(biāo)位置,并從所述共享內(nèi)存的所述目標(biāo)位置獲取所述待處理數(shù)據(jù),將所述待處理數(shù)據(jù)存儲至固態(tài)硬盤緩存及機(jī)械硬盤中。
13、采用本公開實施例提供的數(shù)據(jù)處理方法,在混閃分布式系統(tǒng)中進(jìn)行數(shù)據(jù)寫入時,針對本地節(jié)點的副本可以采用基于共享內(nèi)存的通信方式,實現(xiàn)進(jìn)程之間的通信,針對其他節(jié)點的副本可以采用基于網(wǎng)絡(luò)的通信方式,實現(xiàn)進(jìn)程之間的通信,可以有效降低對網(wǎng)絡(luò)帶寬的占用。
14、在其中一個實施例中,所述讀寫操作包括讀操作,所述目標(biāo)通信方式為基于共享內(nèi)存的通信方式,所述第一進(jìn)程采用所述目標(biāo)通信方式與第二進(jìn)程進(jìn)行數(shù)據(jù)讀寫交互,完成待處理數(shù)據(jù)的讀寫操作,包括:
15、所述第一進(jìn)程在共享內(nèi)存中確定目標(biāo)位置,基于所述目標(biāo)位置向第二進(jìn)程發(fā)送數(shù)據(jù)讀請求;
16、所述第二進(jìn)程響應(yīng)于所述數(shù)據(jù)讀請求,從固態(tài)硬盤緩存區(qū)域中獲取待處理數(shù)據(jù),并將所述待處理數(shù)據(jù)寫入所述共享內(nèi)存的目標(biāo)位置,向所述第一進(jìn)程反饋用于表征完成所述數(shù)據(jù)讀請求的目標(biāo)響應(yīng);
17、所述第一進(jìn)程響應(yīng)于所述目標(biāo)響應(yīng),從所述共享內(nèi)存的目標(biāo)位置中獲取所述待處理數(shù)據(jù)。
18、采用本公開實施例提供的數(shù)據(jù)處理方法,在混閃分布式系統(tǒng)中進(jìn)行數(shù)據(jù)讀取時,針對本地節(jié)點的副本可以采用基于共享內(nèi)存的通信方式,實現(xiàn)進(jìn)程之間的通信,可以有效降低對網(wǎng)絡(luò)帶寬的占用。
19、在其中一個實施例中,所述確定目標(biāo)副本所在的目標(biāo)節(jié)點,包括:
20、從所述待處理數(shù)據(jù)對應(yīng)的多個副本中,確定初始副本;
21、在所述初始副本不滿足負(fù)載均衡條件的情況下,確定各所述副本對應(yīng)的負(fù)載數(shù)據(jù);
22、根據(jù)各所述副本的負(fù)載數(shù)據(jù)從所述多個副本中確定目標(biāo)副本,并將所述目標(biāo)副本所在的節(jié)點作為目標(biāo)節(jié)點。
23、采用本公開實施例提供的數(shù)據(jù)處理方法,在混閃分布式系統(tǒng)中進(jìn)行數(shù)據(jù)讀取時,針對最初確定的最大概率命中數(shù)據(jù)的副本,可以基于副本所在磁盤和節(jié)點的負(fù)載確定是否從該副本中進(jìn)行數(shù)據(jù)讀取,以保證可以優(yōu)先從負(fù)載壓力較少的副本中進(jìn)行數(shù)據(jù)讀取,可以提高數(shù)據(jù)命中率以及數(shù)據(jù)讀取效率。
24、在其中一個實施例中,所述負(fù)載均衡條件包括:副本磁盤令牌數(shù)大于0且副本所在節(jié)點不存在排隊任務(wù)。
25、采用本公開實施例提供的數(shù)據(jù)處理方法,可以通過設(shè)置的負(fù)載均衡條件確定是否從初始副本中進(jìn)行數(shù)據(jù)讀取,以保證可以優(yōu)先從負(fù)載壓力較少的副本中進(jìn)行數(shù)據(jù)讀取,可以提高數(shù)據(jù)命中率以及數(shù)據(jù)讀取效率。
26、在其中一個實施例中,所述確定各所述副本對應(yīng)的負(fù)載數(shù)據(jù),包括:
27、針對任一所述副本,確定所述副本所在磁盤的磁盤負(fù)載、以及確定所述副本所在節(jié)點的節(jié)點負(fù)載;
28、根據(jù)所述磁盤負(fù)載和所述節(jié)點負(fù)載,確定所述副本對應(yīng)的負(fù)載數(shù)據(jù)。
29、本公開實施例提供的數(shù)據(jù)處理方法,基于節(jié)點負(fù)載和磁盤負(fù)載選擇讀取的副本,可以在實現(xiàn)集群負(fù)載均衡的同時,提高io讀寫效率,也即提高混閃分布式系統(tǒng)中的io讀寫性能。
30、第二方面,本申請還提供了一種計算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)以上任一項數(shù)據(jù)處理方法。
31、第三方面,本申請還提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)以上任一項數(shù)據(jù)處理方法。
32、第四方面,本申請還提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實現(xiàn)以上任一項數(shù)據(jù)處理方法。
33、上述數(shù)據(jù)處理方法、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品,在混閃分布式系統(tǒng)中,第一進(jìn)程在進(jìn)行數(shù)據(jù)讀寫時,可以先確定目標(biāo)副本所在的目標(biāo)節(jié)點,根據(jù)目標(biāo)節(jié)點確定目標(biāo)通信方式,并且采用該目標(biāo)通信方式與第二進(jìn)程進(jìn)行數(shù)據(jù)讀寫交互,完成待處理數(shù)據(jù)的讀寫操作。采用本公開實施例提供的數(shù)據(jù)處理方法、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品,在混閃分布式系統(tǒng)中,進(jìn)程間可以基于副本所在節(jié)點的位置確定最適配的通信方式進(jìn)行通信,可以降低混閃分布式系統(tǒng)中進(jìn)程間僅采用網(wǎng)絡(luò)通信方式進(jìn)行通信,對網(wǎng)絡(luò)帶寬的占用,進(jìn)而降低網(wǎng)絡(luò)帶寬壓力,提高混閃分布式系統(tǒng)的讀寫性能,且由于共享內(nèi)存的通信方式相對于網(wǎng)絡(luò)通信方式來說,減少了兩次網(wǎng)絡(luò)上的數(shù)據(jù)拷貝,故而還可以降低cpu消耗,提高資源利用率。
1.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于混閃分布式系統(tǒng)中,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,確定目標(biāo)副本所在的目標(biāo)節(jié)點,并根據(jù)所述目標(biāo)節(jié)點確定目標(biāo)通信方式,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述讀寫操作包括寫操作,所述目標(biāo)通信方式為基于共享內(nèi)存的通信方式,所述第一進(jìn)程采用所述目標(biāo)通信方式與第二進(jìn)程進(jìn)行數(shù)據(jù)讀寫交互,完成待處理數(shù)據(jù)的讀寫操作,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述讀寫操作包括讀操作,所述目標(biāo)通信方式為基于共享內(nèi)存的通信方式,所述第一進(jìn)程采用所述目標(biāo)通信方式與第二進(jìn)程進(jìn)行數(shù)據(jù)讀寫交互,完成待處理數(shù)據(jù)的讀寫操作,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述確定目標(biāo)副本所在的目標(biāo)節(jié)點,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述負(fù)載均衡條件包括:副本磁盤令牌數(shù)大于0且副本所在節(jié)點不存在排隊任務(wù)。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述確定各所述副本對應(yīng)的負(fù)載數(shù)據(jù),包括:
8.一種計算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)權(quán)利要求1至7中任一項所述的方法的步驟。
9.一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,其特征在于,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任一項所述的方法的步驟。
10.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其特征在于,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任一項所述的方法的步驟。