本申請(qǐng)涉及計(jì)算機(jī)存儲(chǔ),特別是涉及一種數(shù)據(jù)處理裝置、方法、計(jì)算機(jī)設(shè)備、存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,分布式存儲(chǔ)系統(tǒng)的應(yīng)用已越來越廣泛。但分布式存儲(chǔ)系統(tǒng)中的硬件存儲(chǔ)設(shè)備容易發(fā)生故障,如主機(jī)故障、硬盤故障等等。一旦發(fā)生故障,其中存儲(chǔ)的數(shù)據(jù)必然受到影響,這就需要分布式存儲(chǔ)系統(tǒng)具有容錯(cuò)機(jī)制。
2、目前常用的一種容錯(cuò)方法是通過糾刪碼方式存儲(chǔ)數(shù)據(jù),然而,若通過糾刪碼方式存儲(chǔ)數(shù)據(jù),一般只有在接收到計(jì)算請(qǐng)求時(shí)才會(huì)進(jìn)行數(shù)據(jù)故障檢測(cè),且在檢測(cè)到數(shù)據(jù)故障并進(jìn)行數(shù)據(jù)修復(fù)的過程需要跨越多個(gè)不同的主機(jī),這將使得存儲(chǔ)系統(tǒng)的請(qǐng)求響應(yīng)時(shí)長(zhǎng)產(chǎn)生部分延遲。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種能夠加快分布式存儲(chǔ)系統(tǒng)響應(yīng)速度的數(shù)據(jù)處理裝置、方法、計(jì)算機(jī)設(shè)備、存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)處理裝置,包括:
3、數(shù)據(jù)劃分模塊,用于將待處理數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)塊;
4、多個(gè)計(jì)算存儲(chǔ)節(jié)點(diǎn),用于從所述數(shù)據(jù)劃分模塊獲取至少一個(gè)所述數(shù)據(jù)塊,并將獲取的所述數(shù)據(jù)塊分別存儲(chǔ);
5、多個(gè)糾刪碼校驗(yàn)節(jié)點(diǎn),用于從各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)獲取所述待處理數(shù)據(jù),并基于所述待處理數(shù)據(jù)生成校驗(yàn)碼數(shù)據(jù),并將所述校驗(yàn)碼數(shù)據(jù)分別存儲(chǔ);
6、至少一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)或至少一所述糾刪碼校驗(yàn)節(jié)點(diǎn)設(shè)置有后端駐守進(jìn)程模塊,所述后端駐守進(jìn)程模塊用于向各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送周期性檢測(cè)指令,并基于檢測(cè)結(jié)果判斷是否存在異常的計(jì)算存儲(chǔ)節(jié)點(diǎn);
7、當(dāng)所述后端駐守進(jìn)程模塊檢測(cè)到存在異常的計(jì)算存儲(chǔ)節(jié)點(diǎn)時(shí),所述糾刪碼校驗(yàn)節(jié)點(diǎn)還用于獲取正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)的待處理數(shù)據(jù),基于正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)的待處理數(shù)據(jù)及所述糾刪碼校驗(yàn)節(jié)點(diǎn)中存儲(chǔ)的校驗(yàn)碼數(shù)據(jù)生成恢復(fù)數(shù)據(jù),并將所述恢復(fù)數(shù)據(jù)反饋存儲(chǔ)于正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)。
8、在其中一個(gè)實(shí)施例中,所述數(shù)據(jù)處理裝置還包括:
9、客戶端,所述客戶端用于向各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送待處理數(shù)據(jù)計(jì)算指令;
10、各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還用于基于所述待處理計(jì)算指令對(duì)各自存儲(chǔ)的所述待處理數(shù)據(jù)進(jìn)行并行計(jì)算處理,以得到待處理數(shù)據(jù)計(jì)算結(jié)果;并向所述客戶端回傳所述待處理數(shù)據(jù)計(jì)算結(jié)果;
11、所述客戶端還基于回傳的所述待處理數(shù)據(jù)計(jì)算結(jié)果,判斷各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)中是否存在異常的計(jì)算存儲(chǔ)節(jié)點(diǎn)。
12、在其中一個(gè)實(shí)施例中,所述客戶端還用于向存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送恢復(fù)數(shù)據(jù)計(jì)算指令;以使存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)基于恢復(fù)數(shù)據(jù)計(jì)算指令對(duì)所述恢復(fù)數(shù)據(jù)進(jìn)行計(jì)算處理,在得到恢復(fù)數(shù)據(jù)計(jì)算結(jié)果后將所述恢復(fù)數(shù)據(jù)計(jì)算結(jié)果回傳至所述客戶端。
13、在其中一個(gè)實(shí)施例中,所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還包括加速卡,所述后端駐守進(jìn)程模塊設(shè)置于所述加速卡內(nèi)。
14、在其中一個(gè)實(shí)施例中,各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還包括:計(jì)算存儲(chǔ)模塊及驅(qū)動(dòng)器,所述驅(qū)動(dòng)器與位于同一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)的所述計(jì)算存儲(chǔ)模塊相連接;所述后端駐守進(jìn)程模塊的數(shù)量為一個(gè),所述后端駐守進(jìn)程模塊位于所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)或位于所述糾刪碼校驗(yàn)節(jié)點(diǎn)內(nèi),并與各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)中的所述驅(qū)動(dòng)器均相連接。
15、在其中一個(gè)實(shí)施例中,各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還包括:計(jì)算存儲(chǔ)模塊及驅(qū)動(dòng)器;各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)均設(shè)有所述后端駐守進(jìn)程模塊,所述后端駐守進(jìn)程模塊與位于同一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)的所述計(jì)算存儲(chǔ)模塊及位于同一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)的所述驅(qū)動(dòng)器均相連接。
16、第二方面,本申請(qǐng)還提供了一種數(shù)據(jù)處理方法,應(yīng)用于上述任一實(shí)施例所述的數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理方法包括:
17、將待處理數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)塊,并分別存儲(chǔ)于多個(gè)計(jì)算存儲(chǔ)節(jié)點(diǎn);
18、糾刪碼校驗(yàn)節(jié)點(diǎn)獲取各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的所述待處理數(shù)據(jù),并基于所述待處理數(shù)據(jù)生成校驗(yàn)碼數(shù)據(jù),分別存儲(chǔ)至多個(gè)所述糾刪碼校驗(yàn)節(jié)點(diǎn);至少一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)或至少一所述糾刪碼校驗(yàn)節(jié)點(diǎn)具有后端駐守進(jìn)程模塊;
19、所述后端駐守進(jìn)程模塊向各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送周期性檢測(cè)指令,并基于檢測(cè)結(jié)果判斷是否存在異常的計(jì)算存儲(chǔ)節(jié)點(diǎn);
20、當(dāng)所述后端駐守進(jìn)程模塊檢測(cè)到存在異常的計(jì)算存儲(chǔ)節(jié)點(diǎn)時(shí),所述糾刪碼校驗(yàn)節(jié)點(diǎn)獲取正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)的待處理數(shù)據(jù),基于正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)的待處理數(shù)據(jù)及所述糾刪碼校驗(yàn)節(jié)點(diǎn)中存儲(chǔ)的校驗(yàn)碼數(shù)據(jù)生成恢復(fù)數(shù)據(jù);
21、所述糾刪碼校驗(yàn)節(jié)點(diǎn)將所述恢復(fù)數(shù)據(jù)反饋并存儲(chǔ)于正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)。
22、在其中一個(gè)實(shí)施例中,所述將待處理數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)塊,并分別存儲(chǔ)于多個(gè)計(jì)算存儲(chǔ)節(jié)點(diǎn)之后,還包括:
23、客戶端向各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送待處理數(shù)據(jù)計(jì)算指令;
24、各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)基于所述待處理計(jì)算指令對(duì)各自存儲(chǔ)的所述待處理數(shù)據(jù)進(jìn)行并行計(jì)算處理,以得到待處理數(shù)據(jù)計(jì)算結(jié)果;并向所述客戶端回傳所述待處理數(shù)據(jù)計(jì)算結(jié)果;
25、基于向所述客戶端回傳的所述待處理數(shù)據(jù)計(jì)算結(jié)果判斷各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)中是否存在異常的計(jì)算存儲(chǔ)節(jié)點(diǎn)。
26、在其中一個(gè)實(shí)施例中,所述糾刪碼校驗(yàn)節(jié)點(diǎn)將所述恢復(fù)數(shù)據(jù)反饋并存儲(chǔ)于正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)之后,還包括:
27、客戶端向存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送恢復(fù)數(shù)據(jù)計(jì)算指令;
28、存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)基于恢復(fù)數(shù)據(jù)計(jì)算指令對(duì)所述恢復(fù)數(shù)據(jù)進(jìn)行計(jì)算處理,以得到恢復(fù)數(shù)據(jù)計(jì)算結(jié)果。
29、在其中一個(gè)實(shí)施例中,所述存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)基于恢復(fù)數(shù)據(jù)計(jì)算指令對(duì)所述恢復(fù)數(shù)據(jù)進(jìn)行計(jì)算處理,以得到恢復(fù)數(shù)據(jù)計(jì)算結(jié)果之后,還包括:
30、存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)將所述恢復(fù)數(shù)據(jù)計(jì)算結(jié)果回傳至所述客戶端。
31、第三方面,本申請(qǐng)還提供了一種計(jì)算機(jī)設(shè)備。所述計(jì)算機(jī)設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任一實(shí)施例所述的數(shù)據(jù)處理方法。
32、第四方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一實(shí)施例所述的數(shù)據(jù)處理方法。
33、第五方面,本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序產(chǎn)品被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一實(shí)施例所述的數(shù)據(jù)處理方法。
34、上述數(shù)據(jù)處理裝置、方法、計(jì)算機(jī)設(shè)備、存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品,實(shí)現(xiàn)了在檢測(cè)到異常的計(jì)算存儲(chǔ)節(jié)點(diǎn)時(shí),能夠自動(dòng)再生成異常數(shù)據(jù)的替換數(shù)據(jù),保證了響應(yīng)時(shí)延,同時(shí),將恢復(fù)數(shù)據(jù)存儲(chǔ)到計(jì)算存儲(chǔ)節(jié)點(diǎn)中,可以通過其他計(jì)算存儲(chǔ)節(jié)點(diǎn)進(jìn)行計(jì)算指令的響應(yīng),從而節(jié)約消耗的網(wǎng)絡(luò)帶寬,增加網(wǎng)絡(luò)的利用率。
1.一種數(shù)據(jù)處理裝置,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)處理裝置還包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,其特征在于,所述客戶端還用于向存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)發(fā)送恢復(fù)數(shù)據(jù)計(jì)算指令;以使存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)基于恢復(fù)數(shù)據(jù)計(jì)算指令對(duì)所述恢復(fù)數(shù)據(jù)進(jìn)行計(jì)算處理,在得到恢復(fù)數(shù)據(jù)計(jì)算結(jié)果后將所述恢復(fù)數(shù)據(jù)計(jì)算結(jié)果回傳至所述客戶端。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于,所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還包括加速卡,所述后端駐守進(jìn)程模塊設(shè)置于所述加速卡內(nèi)。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其特征在于,各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還包括:計(jì)算存儲(chǔ)模塊及驅(qū)動(dòng)器,所述驅(qū)動(dòng)器與位于同一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)的所述計(jì)算存儲(chǔ)模塊相連接;所述后端駐守進(jìn)程模塊的數(shù)量為一個(gè),所述后端駐守進(jìn)程模塊位于所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)或位于所述糾刪碼校驗(yàn)節(jié)點(diǎn)內(nèi),并與各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)中的所述驅(qū)動(dòng)器均相連接。
6.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其特征在于,各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)還包括:計(jì)算存儲(chǔ)模塊及驅(qū)動(dòng)器;各所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)均設(shè)有所述后端駐守進(jìn)程模塊,所述后端駐守進(jìn)程模塊與位于同一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)的所述計(jì)算存儲(chǔ)模塊及位于同一所述計(jì)算存儲(chǔ)節(jié)點(diǎn)內(nèi)的所述驅(qū)動(dòng)器均相連接。
7.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于如權(quán)利要求1-6中任一項(xiàng)所述的數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理方法包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述將待處理數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)塊,并分別存儲(chǔ)于多個(gè)計(jì)算存儲(chǔ)節(jié)點(diǎn)之后,還包括:
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述糾刪碼校驗(yàn)節(jié)點(diǎn)將所述恢復(fù)數(shù)據(jù)反饋并存儲(chǔ)于正常的計(jì)算存儲(chǔ)節(jié)點(diǎn)之后,還包括:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述存儲(chǔ)有所述恢復(fù)數(shù)據(jù)的計(jì)算存儲(chǔ)節(jié)點(diǎn)基于恢復(fù)數(shù)據(jù)計(jì)算指令對(duì)所述恢復(fù)數(shù)據(jù)進(jìn)行計(jì)算處理,以得到恢復(fù)數(shù)據(jù)計(jì)算結(jié)果之后,還包括:
11.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求7至10中任一項(xiàng)所述的數(shù)據(jù)處理方法的步驟。
12.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求7至10中任一項(xiàng)所述的數(shù)據(jù)處理方法的步驟。
13.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求7至10中任一項(xiàng)所述的數(shù)據(jù)處理方法的步驟。