本發(fā)明涉及數(shù)據(jù)處理領域,特別涉及一種數(shù)據(jù)處理方法、系統(tǒng)、產品及計算機可讀存儲介質。
背景技術:
1、在分布式系統(tǒng)、并行計算等應用場景中,各計算節(jié)點之間需要共享數(shù)據(jù)以實現(xiàn)有效的協(xié)作和協(xié)調。目前,計算節(jié)點之間的數(shù)據(jù)同步主要依賴于cpu(central?processingunit,中央處理器)的介入,當某一個計算節(jié)點完成計算任務后,其結果數(shù)據(jù)需要通過cpu寫入到另一個計算節(jié)點的內存后,然后再通知該計算節(jié)點從內存中讀取數(shù)據(jù),這種處理方式增加了數(shù)據(jù)同步的復雜度,降低了同步效率。
2、因此,如何提供一種解決上述技術問題的方案是本領域技術人員目前需要解決的問題。
技術實現(xiàn)思路
1、本發(fā)明的目的是提供一種數(shù)據(jù)處理方法、系統(tǒng)、產品及計算機可讀存儲介質,各計算節(jié)點之間基于地址映射直接自主進行數(shù)據(jù)同步,提高了數(shù)據(jù)同步效率。
2、為解決上述技術問題,本發(fā)明提供了一種數(shù)據(jù)處理方法,應用于計算節(jié)點,所述數(shù)據(jù)處理方法包括:在共享內存的多個數(shù)據(jù)存儲區(qū)中確定目標存儲區(qū);所述目標存儲區(qū)為與本地緩存區(qū)存在地址映射關系的數(shù)據(jù)存儲區(qū);響應于所述目標存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū);響應于所述本地緩存區(qū)中存在本地計算結果數(shù)據(jù),將所述本地計算結果數(shù)據(jù)寫入所述目標存儲區(qū)。
3、可選的,在共享內存的多個數(shù)據(jù)存儲區(qū)中確定目標存儲區(qū)的過程包括:在共享內存的多個數(shù)據(jù)存儲區(qū)中確定多個目標存儲區(qū),多個所述目標存儲區(qū)包括第一存儲區(qū)和第二存儲區(qū);響應于所述目標存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū)的過程包括:響應于所述第二存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū);響應于所述本地緩存區(qū)中存在本地計算結果數(shù)據(jù),將所述本地計算結果數(shù)據(jù)寫入所述目標存儲區(qū)的過程包括:響應于所述本地緩存區(qū)中存在本地計算結果數(shù)據(jù),將所述本地計算結果數(shù)據(jù)寫入所述第一存儲區(qū)。
4、可選的,所述本地緩存區(qū)的數(shù)量為多個,多個所述本地緩存區(qū)包括第一緩存區(qū)和第二緩存區(qū);響應于所述第二存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū)的過程包括:響應于所述第二存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述第一緩存區(qū);響應于所述本地緩存區(qū)中存在本地計算結果數(shù)據(jù),將所述本地計算結果數(shù)據(jù)寫入所述第一存儲區(qū)的過程包括:響應于所述第二緩存區(qū)中存在本地計算結果數(shù)據(jù),將所述本地計算結果數(shù)據(jù)寫入所述第一存儲區(qū)。
5、可選的,所述數(shù)據(jù)處理方法還包括:根據(jù)當前計算場景,調整所述本地緩存區(qū)的數(shù)量和/或所述本地緩存區(qū)的容量。
6、可選的,根據(jù)當前計算場景,調整所述本地緩存區(qū)的數(shù)量和/或所述本地緩存區(qū)的容量的過程包括:確定本地計算節(jié)點的當前緩存配置,以及所述當前計算場景的調整條件;所述當前緩存配置包括所述第一緩存區(qū)的數(shù)量和容量,以及所述第二緩存區(qū)的數(shù)量和容量;響應于所述當前緩存配置滿足所述調整條件,調整所述本地緩存區(qū)的數(shù)量和/或所述本地緩存區(qū)的容量。
7、可選的,所述數(shù)據(jù)處理方法還包括:根據(jù)當前計算場景,確定所述本地計算節(jié)點的讀取數(shù)據(jù)需求空間及寫入數(shù)據(jù)需求空間;響應于所述讀取數(shù)據(jù)需求空間大于所述寫入數(shù)據(jù)需求空間,且所述第一緩存區(qū)的總容量小于所述第二緩存區(qū)的總容量,確定所述調整條件為第一調整條件;響應于所述寫入數(shù)據(jù)需求空間大于所述讀取數(shù)據(jù)需求空間,且所述第一緩存區(qū)的總容量大于所述第二緩存區(qū)的總容量,確定所述調整條件為第二調整條件。
8、可選的,在共享內存的多個數(shù)據(jù)存儲區(qū)中確定目標存儲區(qū)的過程包括:獲取映射關系表;所述映射關系表用于表征當前計算場景下,各個計算節(jié)點的本地緩存區(qū)以及所述共享內存中的各個數(shù)據(jù)存儲區(qū)之間的地址映射關系;根據(jù)所述映射關系表,確定與本地緩存區(qū)存在地址映射關系的目標存儲區(qū)。
9、可選的,所述數(shù)據(jù)處理方法還包括:根據(jù)當前計算場景,確定各所述計算節(jié)點之間的計算依賴關系;針對每一所述計算節(jié)點,根據(jù)所述計算依賴關系將所述計算節(jié)點的本地緩存區(qū)和所述共享內存中的至少一個數(shù)據(jù)存儲區(qū)建立地址映射關系;根據(jù)所有所述地址映射關系得到所述映射關系表。
10、可選的,將所述本地計算結果數(shù)據(jù)寫入所述目標存儲區(qū)的同時,所述數(shù)據(jù)處理方法還包括:更新所述目標存儲區(qū)在所述映射關系表中的訪問狀態(tài);響應于所述目標存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū)的過程包括:響應于所述映射關系表中的所述目標存儲區(qū)的訪問狀態(tài)為寫入完成,判定所述目標存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū)。
11、可選的,所述共享內存為從獨立于所述計算節(jié)點的存儲設備的存儲空間中劃分的內存空間。
12、可選的,所述存儲設備的存儲空間劃分出多個內存空間,多個所述內存空間的容量不同;所述數(shù)據(jù)處理方法還包括:基于當前計算場景,在多個所述內存空間中確定所述共享內存。
13、為解決上述技術問題,本發(fā)明還提供了一種數(shù)據(jù)同步系統(tǒng),包括:共享內存,包括多個數(shù)據(jù)存儲區(qū);多個計算節(jié)點,所述計算節(jié)點包括本地緩存區(qū)和處理模塊,所述處理模塊用于在多個所述數(shù)據(jù)存儲區(qū)中確定與所述本地緩存區(qū)存在地址映射關系的目標存儲區(qū),并搬運所述目標存儲區(qū)和所述本地緩存區(qū)中存儲的數(shù)據(jù)。
14、可選的,所述處理模塊具體用于響應于所述目標存儲區(qū)中存在遠端計算節(jié)點寫入的待計算數(shù)據(jù),將所述待計算數(shù)據(jù)寫入所述本地緩存區(qū),響應于所述本地緩存區(qū)中存在本地計算結果數(shù)據(jù),將所述本地計算結果數(shù)據(jù)寫入所述目標存儲區(qū)。
15、可選的,所述數(shù)據(jù)同步系統(tǒng)還包括:處理節(jié)點,用于響應于多個所述計算節(jié)點均執(zhí)行完成在當前計算場景下各自對應的計算任務,從執(zhí)行最后一個計算任務的計算節(jié)點對應的目標存儲區(qū)獲取計算結果數(shù)據(jù)。
16、可選的,所述處理節(jié)點還用于在當前計算場景下的第一個計算任務開始執(zhí)行之前,將初始待計算數(shù)據(jù)寫入執(zhí)行所述第一個計算任務的計算節(jié)點對應的目標存儲區(qū)。
17、可選的,所述數(shù)據(jù)同步系統(tǒng)還包括:控制組件,包括劃分出所述共享內存的內存模塊。
18、可選的,所述控制組件用于當執(zhí)行當前計算場景下的最后一個計算任務的計算節(jié)點對應的目標存儲區(qū)存在計算結果數(shù)據(jù),將所述計算結果數(shù)據(jù)傳輸給遠端共享內存中對應的數(shù)據(jù)存儲區(qū)。
19、為解決上述技術問題,本發(fā)明還提供了一種數(shù)據(jù)處理系統(tǒng),包括多個如上文任一項所述的數(shù)據(jù)同步系統(tǒng)。
20、為解決上述技術問題,本發(fā)明還提供了一種計算機程序產品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)如上文任一項所述數(shù)據(jù)處理方法的步驟。
21、為解決上述技術問題,本發(fā)明還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文任一項所述數(shù)據(jù)處理方法的步驟。
22、本技術提供了一種數(shù)據(jù)處理方法,針對每一個計算節(jié)點,建立本地緩存區(qū)和共享內存中的數(shù)據(jù)存儲區(qū)的映射關系,在需要數(shù)據(jù)同步的計算場景下,識別到目標存儲區(qū)存在待計算數(shù)據(jù),將待計算數(shù)據(jù)搬運到本地緩存區(qū),當計算節(jié)點執(zhí)行完本次計算任務后,將寫入本地緩存區(qū)的本地計算結果數(shù)據(jù)搬運到對應的目標存儲區(qū),以便其他計算節(jié)點從目標緩存區(qū)獲取計算結果數(shù)據(jù)作為待計算數(shù)據(jù),數(shù)據(jù)同步過程無需cpu參與,各計算節(jié)點之間基于地址映射直接自主進行數(shù)據(jù)同步,降低數(shù)據(jù)同步的復雜度,提高了數(shù)據(jù)同步效率。本技術還提供了一種數(shù)據(jù)同步系統(tǒng)、數(shù)據(jù)處理系統(tǒng)、計算機程序產品和計算機可讀存儲介質,具有和上述數(shù)據(jù)處理方法相同的有益效果。