本技術(shù)涉及大數(shù)據(jù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法、裝置、設(shè)備和系統(tǒng)。
背景技術(shù):
1、大數(shù)據(jù)(big?data)是需要創(chuàng)新的處理模式才能具有更強的決策力、洞察力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。通常,由多個計算設(shè)備基于映射歸約(mapreduce)模型對大數(shù)據(jù)進行分布式處理。由于數(shù)據(jù)分布在不同的計算設(shè)備,執(zhí)行映射(map)任務(wù)的計算設(shè)備存儲map任務(wù)后得到的中間數(shù)據(jù)。執(zhí)行歸約(reduce)任務(wù)的計算設(shè)備可能從遠(yuǎn)端讀取中間數(shù)據(jù),這個數(shù)據(jù)交換的過程稱為交換(shuffle)。目前,計算設(shè)備將中間數(shù)據(jù)存儲到該計算設(shè)備內(nèi)的內(nèi)存或硬盤。在基于mapreduce模型對大數(shù)據(jù)進行分布式處理的場景下,導(dǎo)致過多地占用計算設(shè)備內(nèi)存儲介質(zhì)的存儲空間。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了數(shù)據(jù)處理方法、裝置、設(shè)備和系統(tǒng),由此降低占用計算設(shè)備內(nèi)存儲介質(zhì)的存儲空間。
2、第一方面,提供了一種數(shù)據(jù)處理方法,所述方法由控制設(shè)備執(zhí)行,控制設(shè)備用于控制計算設(shè)備執(zhí)行大數(shù)據(jù)分布式處理,計算設(shè)備配置有多種部署模式的存儲介質(zhì),多種部署模式的存儲介質(zhì)包括計算設(shè)備內(nèi)的本地存儲介質(zhì)、基于本地存儲介質(zhì)組成的全局存儲介質(zhì)、擴展的全局存儲介質(zhì)和擴展的本地存儲介質(zhì)中至少兩個。所述方法包括控制設(shè)備獲取到大數(shù)據(jù)業(yè)務(wù)的業(yè)務(wù)請求,從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì),向計算設(shè)備發(fā)送控制指示,指示計算設(shè)備對業(yè)務(wù)請求包括的業(yè)務(wù)數(shù)據(jù)執(zhí)行大數(shù)據(jù)分布式處理中map任務(wù),并將得到的中間數(shù)據(jù)存儲到至少一種部署模式的存儲介質(zhì)。
3、如此,控制設(shè)備可以從多種部署模式的存儲介質(zhì)中選擇存儲中間數(shù)據(jù)的存儲介質(zhì),以減少用于存儲中間數(shù)據(jù)而占用計算設(shè)備內(nèi)存儲介質(zhì)(如:內(nèi)存或磁盤)的存儲空間,為計算設(shè)備執(zhí)行map任務(wù)或reduce任務(wù)釋放出更多的可用存儲空間,進而提升了計算設(shè)備處理map任務(wù)或reduce任務(wù)的處理效率。
4、在一種可能的實現(xiàn)方式中,從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì),包括:控制設(shè)備根據(jù)存儲策略從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì)。存儲策略用于指示依據(jù)存儲介質(zhì)特征選取存儲介質(zhì)的方法。存儲介質(zhì)特征包括寫時延、讀時延、總存儲容量、可用存儲容量、存取速度、中央處理器(centralprocessing?unit,cpu)消耗、能耗比和可靠性中至少一個。
5、示例一,根據(jù)存儲策略從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì),包括:控制設(shè)備根據(jù)存儲策略指示的多種部署模式的存儲介質(zhì)的優(yōu)先級,從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì),多種部署模式的存儲介質(zhì)的優(yōu)先級是依據(jù)存儲介質(zhì)特征確定的。
6、示例二,根據(jù)存儲策略從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì),包括:控制設(shè)備根據(jù)用戶需求和多種部署模式的存儲介質(zhì)的存儲介質(zhì)特征,從多種部署模式的存儲介質(zhì)中確定滿足用戶需求的至少一種部署模式的存儲介質(zhì),用戶需求用于指示與存儲介質(zhì)特征相關(guān)的需求。如此,控制設(shè)備從多種部署模式的存儲介質(zhì)中選擇存儲中間數(shù)據(jù)的存儲介質(zhì)時,基于用戶對存取速度或可靠性等特征的用戶需求,動態(tài)地選取滿足用戶需求的至少一種部署模式的存儲介質(zhì),相對于采用一種部署模式的存儲介質(zhì)存儲不同場景的中間數(shù)據(jù),確保數(shù)據(jù)處理的性能(如:數(shù)據(jù)處理速率)和可靠性的場景需求。
7、其中,存儲介質(zhì)包括內(nèi)存、硬盤、內(nèi)存服務(wù)器和存儲級內(nèi)存(storage-class-memory,scm)。如此,在大數(shù)據(jù)分布式處理系統(tǒng)中引入內(nèi)存服務(wù)器和scm,擴展了存儲中間數(shù)據(jù)的存儲介質(zhì),使得存儲中間數(shù)據(jù)的存儲介質(zhì)具有更多的可能性,減少占用計算設(shè)備內(nèi)存儲介質(zhì)的存儲空間存儲中間數(shù)據(jù),提升中間數(shù)據(jù)的可靠性。
8、需要說明的是,存儲策略以大數(shù)據(jù)業(yè)務(wù)粒度配置或大數(shù)據(jù)業(yè)務(wù)中任務(wù)粒度配置或系統(tǒng)全局粒度配置。
9、在另一種可能的實現(xiàn)方式中,向計算設(shè)備發(fā)送控制指示之后,方法還包括:控制設(shè)備接收計算設(shè)備發(fā)送的至少一種部署模式的存儲介質(zhì)中中間數(shù)據(jù)的存儲位置,中間數(shù)據(jù)的存儲位置用于執(zhí)行reduce任務(wù)時讀取中間數(shù)據(jù)。進而,控制設(shè)備接收計算設(shè)備發(fā)送的中間數(shù)據(jù)請求,中間數(shù)據(jù)請求用于中間數(shù)據(jù)所在的存儲位置??刂圃O(shè)備向計算設(shè)備發(fā)送指示中間數(shù)據(jù)的存儲位置的元數(shù)據(jù),元數(shù)據(jù)指示了中間數(shù)據(jù)所在的存儲位置。計算設(shè)備根據(jù)元數(shù)據(jù)獲取中間數(shù)據(jù)。
10、第二方面,提供了一種數(shù)據(jù)處理方法,方法由計算設(shè)備執(zhí)行,計算設(shè)備配置有多種部署模式的存儲介質(zhì),計算設(shè)備連接控制設(shè)備,控制設(shè)備用于控制計算設(shè)備執(zhí)行大數(shù)據(jù)分布式處理。所述方法包括計算設(shè)備根據(jù)控制設(shè)備發(fā)送的控制指示,對業(yè)務(wù)數(shù)據(jù)執(zhí)行大數(shù)據(jù)分布式處理中map任務(wù),得到中間數(shù)據(jù),將中間數(shù)據(jù)存儲到至少一種部署模式的存儲介質(zhì)的標(biāo)識指示的存儲介質(zhì)??刂浦甘景I(yè)務(wù)數(shù)據(jù)和至少一種部署模式的存儲介質(zhì)的標(biāo)識,至少一種部署模式的存儲介質(zhì)是控制設(shè)備根據(jù)存儲策略從多種部署模式的存儲介質(zhì)中確定得到,存儲策略用于指示依據(jù)存儲介質(zhì)特征選取存儲介質(zhì)的方法。
11、如此,在系統(tǒng)中增加多種部署模式的存儲介質(zhì),使得控制設(shè)備可以從多種部署模式的存儲介質(zhì)中選擇存儲中間數(shù)據(jù)的存儲介質(zhì),計算設(shè)備根據(jù)控制設(shè)備的指示將中間數(shù)據(jù)存儲到至少一種部署模式的存儲介質(zhì)的標(biāo)識指示的存儲介質(zhì),以減少用于存儲中間數(shù)據(jù)而占用計算設(shè)備內(nèi)存儲介質(zhì)(如:內(nèi)存或磁盤)的存儲空間,為計算設(shè)備執(zhí)行map任務(wù)或reduce任務(wù)釋放出更多的可用存儲空間,提升了計算設(shè)備處理map任務(wù)或reduce任務(wù)的處理效率。
12、在一種可能的實現(xiàn)方式中,將中間數(shù)據(jù)存儲到至少一種部署模式的存儲介質(zhì)的標(biāo)識指示的存儲介質(zhì),包括:若至少一種部署模式的存儲介質(zhì)包含一種部署模式的多個存儲介質(zhì),將中間數(shù)據(jù)的多個分片數(shù)據(jù)分別存儲到多個存儲介質(zhì);或者,若至少一種部署模式的存儲介質(zhì)包含兩種以上部署模式的存儲介質(zhì),將中間數(shù)據(jù)的多個分片數(shù)據(jù)分別存儲到兩種以上部署模式的存儲介質(zhì)。
13、在另一種可能的實現(xiàn)方式中,多種部署模式的存儲介質(zhì)包含第一存儲介質(zhì)和第二存儲介質(zhì),方法還包括:若第一存儲介質(zhì)的可用存儲容量小于閾值,將第一存儲介質(zhì)的數(shù)據(jù)存入第二存儲介質(zhì),第一存儲介質(zhì)的存取速度大于第二存儲介質(zhì)的存取速度。從而,將可用存儲容量小于閾值的存儲介質(zhì)中的中間數(shù)據(jù)移出后,可以增加存儲介質(zhì)的可用存儲容量,以便提升中間數(shù)據(jù)的處理效率,且確保中間數(shù)據(jù)能夠正常寫入到存儲介質(zhì)中。
14、在另一種可能的實現(xiàn)方式中,方法還包括:計算設(shè)備向控制設(shè)備發(fā)送多種部署模式的存儲介質(zhì)的可用存儲容量,以便于控制設(shè)備根據(jù)存儲介質(zhì)的可用存儲容量從多種部署模式的存儲介質(zhì)中確定至少一種部署模式的存儲介質(zhì)。
15、第三方面,提供了一種控制裝置,所述裝置包括用于執(zhí)行第一方面或第一方面任一種可能設(shè)計中的數(shù)據(jù)處理方法的各個模塊。
16、第四方面,提供了一種數(shù)據(jù)處理裝置,所述裝置包括用于執(zhí)行第二方面或第二方面任一種可能設(shè)計中的數(shù)據(jù)處理方法的各個模塊。
17、第五方面,提供一種控制設(shè)備,該控制設(shè)備包括至少一個處理器和存儲器,存儲器用于存儲一組計算機指令;當(dāng)處理器作為第一方面或第一方面任一種可能實現(xiàn)方式中的執(zhí)行設(shè)備執(zhí)行所述一組計算機指令時,執(zhí)行第一方面或第一方面任一種可能實現(xiàn)方式中的數(shù)據(jù)處理方法的操作步驟。
18、第六方面,提供一種計算設(shè)備,該計算設(shè)備包括至少一個處理器和存儲器,存儲器用于存儲一組計算機指令;當(dāng)處理器作為第二方面或第二方面任一種可能實現(xiàn)方式中的執(zhí)行設(shè)備執(zhí)行所述一組計算機指令時,執(zhí)行第二方面或第二方面任一種可能實現(xiàn)方式中的數(shù)據(jù)處理方法的操作步驟。
19、第七方面,提供一種計算機可讀存儲介質(zhì),包括:計算機軟件指令;當(dāng)計算機軟件指令在計算設(shè)備中運行時,使得計算設(shè)備執(zhí)行如第一方面或第一方面任意一種可能的實現(xiàn)方式中所述方法的操作步驟,或者,執(zhí)行如第二方面或第二方面任意一種可能的實現(xiàn)方式中所述方法的操作步驟。
20、第八方面,提供一種計算機程序產(chǎn)品,當(dāng)計算機程序產(chǎn)品在計算機上運行時,使得計算設(shè)備執(zhí)行如第一方面或第一方面任意一種可能的實現(xiàn)方式中所述方法的操作步驟,或者,執(zhí)行如第二方面或第二方面任意一種可能的實現(xiàn)方式中所述方法的操作步驟。
21、本技術(shù)在上述各方面提供的實現(xiàn)方式的基礎(chǔ)上,還可以進行進一步組合以提供更多實現(xiàn)方式。