本發(fā)明涉及計(jì)算機(jī),特別涉及一種數(shù)據(jù)處理系統(tǒng)及方法。
背景技術(shù):
1、超級(jí)計(jì)算任務(wù)由于涉及的數(shù)據(jù)比較多,且涉及的設(shè)備也比較多,因此如何處理好各個(gè)超級(jí)計(jì)算結(jié)果的數(shù)據(jù)資源是超級(jí)計(jì)算系統(tǒng)的關(guān)鍵之一。相關(guān)技術(shù)中,如果超級(jí)計(jì)算結(jié)果只是放在磁盤上,沒(méi)有對(duì)其進(jìn)行相應(yīng)的處理,需要讀取的時(shí)候則要在上億次計(jì)算后的海量結(jié)果中找到想要的某個(gè)記錄,難度非常大且容易導(dǎo)致數(shù)據(jù)查找不準(zhǔn)確的問(wèn)題。如果在計(jì)算結(jié)果中采用數(shù)據(jù)庫(kù)建立索引的方式,則在防止篡改、安全性以及數(shù)據(jù)一致性等方面則無(wú)法得到有效保證。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理系統(tǒng)及方法,所述技術(shù)方案如下:
2、第一方面,提供一種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括應(yīng)用系統(tǒng)集合、記賬中心、分布式存儲(chǔ)集群、算力集群;
3、所述應(yīng)用系統(tǒng)集合,與所述記賬中心連接,所述應(yīng)用系統(tǒng)集合包括至少一個(gè)第一任務(wù)處理子系統(tǒng)、至少一個(gè)計(jì)算任務(wù)下發(fā)子系統(tǒng),所述第一任務(wù)處理子系統(tǒng)用于接收用戶輸入的針對(duì)超級(jí)計(jì)算任務(wù)的計(jì)算指令,并對(duì)所述超級(jí)計(jì)算任務(wù)的數(shù)據(jù)進(jìn)行前處理及格式轉(zhuǎn)換,得到第一處理數(shù)據(jù),所述計(jì)算任務(wù)下發(fā)子系統(tǒng)用于生成所述超級(jí)計(jì)算任務(wù)的目標(biāo)任務(wù)id,并根據(jù)所述目標(biāo)任務(wù)id以及所述第一處理數(shù)據(jù)生成計(jì)算任務(wù)信息,將所述計(jì)算任務(wù)信息下發(fā)至所述記賬中心;
4、所述記賬中心,與所述應(yīng)用系統(tǒng)集合、所述算力集群、所述分布式存儲(chǔ)集群連接,所述記賬中心包括至少一個(gè)子中心,所述子中心用于確定所述算力集群包括的多個(gè)超級(jí)計(jì)算設(shè)備中處于空閑狀態(tài)的目標(biāo)超級(jí)計(jì)算設(shè)備,并將所述計(jì)算任務(wù)信息發(fā)送至所述目標(biāo)超級(jí)計(jì)算設(shè)備;
5、所述算力集群,包括多個(gè)所述超級(jí)計(jì)算設(shè)備,所述目標(biāo)超級(jí)計(jì)算設(shè)備用于根據(jù)所述計(jì)算任務(wù)信息進(jìn)行計(jì)算,并在得到超級(jí)計(jì)算結(jié)果的情況下,將所述目標(biāo)超級(jí)計(jì)算設(shè)備的硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間發(fā)送至所述子中心;
6、所述記賬中心中的所述子中心,還用于根據(jù)所述目標(biāo)任務(wù)id進(jìn)行任務(wù)匹配,在任務(wù)匹配一致的情況下,根據(jù)所述硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間建立針對(duì)所述超級(jí)計(jì)算任務(wù)的區(qū)塊鏈節(jié)點(diǎn),并將根據(jù)所述超級(jí)計(jì)算結(jié)果得到的目標(biāo)計(jì)算結(jié)果發(fā)送至所述分布式存儲(chǔ)集群的數(shù)據(jù)庫(kù)中;
7、所述分布式存儲(chǔ)集群,用于接收并存儲(chǔ)所述目標(biāo)計(jì)算結(jié)果。
8、可選地,所述子中心用于在接收到所述目標(biāo)超級(jí)計(jì)算設(shè)備發(fā)送的所述硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間的情況下,根據(jù)所述目標(biāo)任務(wù)id查找id列表,若所述id列表中存在與所述目標(biāo)任務(wù)id一致的id,則確定任務(wù)匹配一致,其中,所述id列表是所述計(jì)算任務(wù)下發(fā)子系統(tǒng)下發(fā)的任務(wù)的任務(wù)id構(gòu)成的列表。
9、可選地,所述計(jì)算任務(wù)信息還包括計(jì)算輪次信息,所述目標(biāo)超級(jí)計(jì)算設(shè)備用于按照預(yù)設(shè)輪次進(jìn)行計(jì)算,在當(dāng)前輪次的計(jì)算完成的情況下,將當(dāng)前輪次的超級(jí)計(jì)算結(jié)果、所述硬件全局id、所述目標(biāo)任務(wù)id、當(dāng)前輪次的所述超級(jí)計(jì)算結(jié)果的完成時(shí)間發(fā)送至所述子中心,所述目標(biāo)超級(jí)計(jì)算設(shè)備還用于判斷計(jì)算是否按照輪次遞增,若按照輪次遞增,則進(jìn)行當(dāng)前輪次的所述超級(jí)計(jì)算結(jié)果的數(shù)據(jù)格式校驗(yàn),在數(shù)據(jù)格式校驗(yàn)成功的情況下,判斷當(dāng)前輪次是否達(dá)到計(jì)算總輪次,若當(dāng)前輪次未達(dá)到計(jì)算總輪次,則進(jìn)行下一輪次的計(jì)算。
10、可選地,所述目標(biāo)超級(jí)計(jì)算設(shè)備還用于在計(jì)算未按照輪次遞增或者數(shù)據(jù)格式校驗(yàn)不成功的情況下,查詢當(dāng)前輪次的計(jì)算數(shù)據(jù),并刪除當(dāng)前輪次的計(jì)算數(shù)據(jù),查詢當(dāng)前輪次的計(jì)算操作記錄,觸發(fā)當(dāng)前輪次的重新計(jì)算。
11、可選地,所述應(yīng)用系統(tǒng)集合還包括至少一個(gè)第二任務(wù)處理子系統(tǒng)、至少一個(gè)數(shù)據(jù)聚合子系統(tǒng),所述第二任務(wù)處理子系統(tǒng)用于調(diào)用所述超級(jí)計(jì)算結(jié)果在所述子中心中的存儲(chǔ)目錄,對(duì)所述超級(jí)計(jì)算結(jié)果進(jìn)行后處理及格式轉(zhuǎn)換,得到第二處理數(shù)據(jù),所述數(shù)據(jù)聚合子系統(tǒng)用于對(duì)所述第二處理數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,得到所述目標(biāo)計(jì)算結(jié)果。
12、第二方面,提供一種數(shù)據(jù)處理方法,所述方法包括:
13、應(yīng)用系統(tǒng)集合中的第一任務(wù)處理子系統(tǒng)接收用戶輸入的針對(duì)超級(jí)計(jì)算任務(wù)的計(jì)算指令,并對(duì)所述超級(jí)計(jì)算任務(wù)的數(shù)據(jù)進(jìn)行前處理及格式轉(zhuǎn)換,得到第一處理數(shù)據(jù),其中,所述應(yīng)用系統(tǒng)集合與記賬中心連接,所述應(yīng)用系統(tǒng)集合包括至少一個(gè)所述第一任務(wù)處理子系統(tǒng)、至少一個(gè)計(jì)算任務(wù)下發(fā)子系統(tǒng);
14、所述計(jì)算任務(wù)下發(fā)子系統(tǒng)生成所述超級(jí)計(jì)算任務(wù)的目標(biāo)任務(wù)id,并根據(jù)所述目標(biāo)任務(wù)id以及所述第一處理數(shù)據(jù)生成計(jì)算任務(wù)信息,將所述計(jì)算任務(wù)信息下發(fā)至所述記賬中心,其中,所述記賬中心包括至少一個(gè)子中心,所述記賬中心與所述應(yīng)用系統(tǒng)集合、算力集群、分布式存儲(chǔ)集群連接;
15、所述子中心確定所述算力集群包括的多個(gè)超級(jí)計(jì)算設(shè)備中處于空閑狀態(tài)的目標(biāo)超級(jí)計(jì)算設(shè)備,并將所述計(jì)算任務(wù)信息發(fā)送至所述目標(biāo)超級(jí)計(jì)算設(shè)備;
16、所述算力集群中的所述目標(biāo)超級(jí)計(jì)算設(shè)備根據(jù)所述計(jì)算任務(wù)信息進(jìn)行計(jì)算,并在得到超級(jí)計(jì)算結(jié)果的情況下,將所述目標(biāo)超級(jí)計(jì)算設(shè)備的硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間發(fā)送至所述子中心;
17、所述子中心根據(jù)所述目標(biāo)任務(wù)id進(jìn)行任務(wù)匹配,在任務(wù)匹配一致的情況下,根據(jù)所述硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間建立針對(duì)所述超級(jí)計(jì)算任務(wù)的區(qū)塊鏈節(jié)點(diǎn),并將根據(jù)所述超級(jí)計(jì)算結(jié)果得到的目標(biāo)計(jì)算結(jié)果發(fā)送至所述分布式存儲(chǔ)集群的數(shù)據(jù)庫(kù)中;
18、所述分布式存儲(chǔ)集群接收并存儲(chǔ)所述目標(biāo)計(jì)算結(jié)果。
19、可選地,所述子中心根據(jù)所述目標(biāo)任務(wù)id進(jìn)行任務(wù)匹配,包括:
20、所述子中心在接收到所述目標(biāo)超級(jí)計(jì)算設(shè)備發(fā)送的所述硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間的情況下,根據(jù)所述目標(biāo)任務(wù)id查找id列表;
21、若所述id列表中存在與所述目標(biāo)任務(wù)id一致的id,則確定任務(wù)匹配一致,其中,所述id列表是所述計(jì)算任務(wù)下發(fā)子系統(tǒng)下發(fā)的任務(wù)的任務(wù)id構(gòu)成的列表。
22、可選地,所述計(jì)算任務(wù)信息還包括計(jì)算輪次信息;
23、所述目標(biāo)超級(jí)計(jì)算設(shè)備根據(jù)所述計(jì)算任務(wù)信息進(jìn)行計(jì)算,并在得到超級(jí)計(jì)算結(jié)果的情況下,將所述目標(biāo)超級(jí)計(jì)算設(shè)備的硬件全局id、所述目標(biāo)任務(wù)id、所述超級(jí)計(jì)算結(jié)果、所述超級(jí)計(jì)算結(jié)果的完成時(shí)間發(fā)送至所述子中心,包括:
24、所述目標(biāo)超級(jí)計(jì)算設(shè)備按照預(yù)設(shè)輪次進(jìn)行當(dāng)前輪次的計(jì)算;
25、在當(dāng)前輪次的計(jì)算完成的情況下,將當(dāng)前輪次的超級(jí)計(jì)算結(jié)果、所述硬件全局id、所述目標(biāo)任務(wù)id、當(dāng)前輪次的所述超級(jí)計(jì)算結(jié)果的完成時(shí)間發(fā)送至所述子中心;
26、所述目標(biāo)超級(jí)計(jì)算設(shè)備判斷計(jì)算是否按照輪次遞增,若按照輪次遞增,則進(jìn)行當(dāng)前輪次的所述超級(jí)計(jì)算結(jié)果的數(shù)據(jù)格式校驗(yàn);
27、在數(shù)據(jù)格式校驗(yàn)成功的情況下,判斷當(dāng)前輪次是否達(dá)到計(jì)算總輪次;
28、若當(dāng)前輪次未達(dá)到計(jì)算總輪次,則進(jìn)行下一輪次的計(jì)算,將下一輪次作為新的當(dāng)前輪次,重新執(zhí)行所述目標(biāo)超級(jí)計(jì)算設(shè)備按照預(yù)設(shè)輪次進(jìn)行當(dāng)前輪次的計(jì)算的步驟至所述在數(shù)據(jù)格式校驗(yàn)成功的情況下,判斷當(dāng)前輪次是否達(dá)到計(jì)算總輪次的步驟。
29、可選地,所述方法還包括:
30、所述目標(biāo)超級(jí)計(jì)算設(shè)備在計(jì)算未按照輪次遞增或者數(shù)據(jù)格式校驗(yàn)不成功的情況下,查詢當(dāng)前輪次的計(jì)算數(shù)據(jù),并刪除當(dāng)前輪次的計(jì)算數(shù)據(jù),查詢當(dāng)前輪次的計(jì)算操作記錄,觸發(fā)當(dāng)前輪次的重新計(jì)算。
31、可選地,所述應(yīng)用系統(tǒng)集合還包括至少一個(gè)第二任務(wù)處理子系統(tǒng)、至少一個(gè)數(shù)據(jù)聚合子系統(tǒng);
32、所述目標(biāo)計(jì)算結(jié)果通過(guò)如下方式得到:
33、所述第二任務(wù)處理子系統(tǒng)調(diào)用所述超級(jí)計(jì)算結(jié)果在所述子中心中的存儲(chǔ)目錄,對(duì)所述超級(jí)計(jì)算結(jié)果進(jìn)行后處理及格式轉(zhuǎn)換,得到第二處理數(shù)據(jù);
34、所述數(shù)據(jù)聚合子系統(tǒng)對(duì)所述第二處理數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合,得到所述目標(biāo)計(jì)算結(jié)果。
35、本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
36、通過(guò)上述技術(shù)方案,數(shù)據(jù)處理系統(tǒng)包括應(yīng)用系統(tǒng)集合、記賬中心、分布式存儲(chǔ)集群、算力集群,應(yīng)用系統(tǒng)集合中的第一任務(wù)處理子系統(tǒng)對(duì)超級(jí)計(jì)算任務(wù)的數(shù)據(jù)進(jìn)行前處理及格式轉(zhuǎn)換,得到第一處理數(shù)據(jù),應(yīng)用系統(tǒng)集合中的計(jì)算任務(wù)下發(fā)子系統(tǒng)用于生成超級(jí)計(jì)算任務(wù)的目標(biāo)任務(wù)id,并將計(jì)算任務(wù)信息下發(fā)至記賬中心。記賬中心中的子中心用于將計(jì)算任務(wù)信息發(fā)送至算力集群中的目標(biāo)超級(jí)計(jì)算設(shè)備,目標(biāo)超級(jí)計(jì)算設(shè)備將超級(jí)計(jì)算結(jié)果等信息發(fā)送至子中心,子中心根據(jù)硬件全局id、目標(biāo)任務(wù)id、超級(jí)計(jì)算結(jié)果、超級(jí)計(jì)算結(jié)果的完成時(shí)間建立針對(duì)超級(jí)計(jì)算任務(wù)的區(qū)塊鏈節(jié)點(diǎn)。這樣,結(jié)合區(qū)塊鏈進(jìn)行超級(jí)計(jì)算數(shù)據(jù)的處理,超級(jí)計(jì)算數(shù)據(jù)基于硬件全局id、目標(biāo)任務(wù)id、超級(jí)計(jì)算結(jié)果以及超級(jí)計(jì)算結(jié)果的完成時(shí)間,構(gòu)建一個(gè)唯一的區(qū)塊鏈節(jié)點(diǎn),該區(qū)塊鏈節(jié)點(diǎn)保存了超級(jí)計(jì)算任務(wù)在哪個(gè)設(shè)備上進(jìn)行計(jì)算、計(jì)算結(jié)果是什么、以及計(jì)算過(guò)程日志的所有記錄索引,以此進(jìn)行超級(jí)計(jì)算數(shù)據(jù)的處理,可以便于超級(jí)計(jì)算數(shù)據(jù)的查找,防止數(shù)據(jù)被篡改,提高超級(jí)計(jì)算數(shù)據(jù)的有效性和準(zhǔn)確性。