1.一種數(shù)據(jù)批處理的方法,其中,所述方法包括:
判斷待批處理數(shù)據(jù)的處理延時(shí)要求是否小于等于預(yù)設(shè)閾值,
若小于等于,獲取所述待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序,將所述待批處理數(shù)據(jù)中的事務(wù)按所述依賴關(guān)系和依賴順序合并成組合事務(wù),對(duì)每個(gè)組合事務(wù)進(jìn)行批處理,其中,每個(gè)組合事務(wù)包含一個(gè)或多個(gè)沒有依賴關(guān)系的事務(wù);
若大于,將所述待批處理數(shù)據(jù)的更新操作進(jìn)行拆分,得到刪除操作和插入操作,將屬于所述待批處理數(shù)據(jù)的同一鍵值下的刪除操作和插入操作進(jìn)行合并,將合并后的所有鍵值下的刪除操作和插入操作分別進(jìn)行批處理。
2.根據(jù)權(quán)利要求1所述的方法,其中,獲取所述待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序,將所述待批處理數(shù)據(jù)中的事務(wù)按所述依賴關(guān)系和依賴順序合并成組合事務(wù),對(duì)每個(gè)組合事務(wù)進(jìn)行批處理,包括:
將所述待批處理數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一內(nèi)部格式;
獲取所述轉(zhuǎn)換后的待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序;
按照依賴關(guān)系和對(duì)應(yīng)的依賴順序?qū)⑺鲛D(zhuǎn)換后的待批處理數(shù)據(jù)的多個(gè)事務(wù)進(jìn)行合并,得到一個(gè)或多個(gè)組合事務(wù),對(duì)每個(gè)組合事務(wù)進(jìn)行批處理。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述統(tǒng)一內(nèi)部格式包括:
數(shù)據(jù)操作類型、操作地址標(biāo)識(shí)、數(shù)據(jù)所屬的表名、多個(gè)數(shù)據(jù)列,其中,所述數(shù)據(jù)列包括一個(gè)或多個(gè)鍵值。
4.根據(jù)權(quán)利要求2所述的方法,其中,獲取所述轉(zhuǎn)換后的待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序,包括:
獲取所述統(tǒng)一內(nèi)部格式中的鍵值,根據(jù)所述鍵值獲取所述轉(zhuǎn)換后的待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序。
5.根據(jù)權(quán)利要求4所述的方法,其中,根據(jù)所述鍵值獲取所述轉(zhuǎn)換后的待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系,包括以下至少任一項(xiàng):
根據(jù)所述鍵值中的主鍵獲取在同一數(shù)據(jù)表內(nèi)的多個(gè)事務(wù)之間的依賴關(guān)系;
根據(jù)所述鍵值中的外鍵獲取不同數(shù)據(jù)表之間的多個(gè)事務(wù)之間的依賴關(guān)系;
根據(jù)用戶自定義及所述鍵值獲取多個(gè)事務(wù)之間的依賴關(guān)系。
6.根據(jù)權(quán)利要求2所述的方法,其中,對(duì)每個(gè)組合事務(wù)進(jìn)行批處理,包括:
將每個(gè)組合事務(wù)的更新操作進(jìn)行拆分,匯總得到每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作;
將匯總的每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行批量處理。
7.根據(jù)權(quán)利要求6所述的方法,其中,將匯總的每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行批量處理,包括:
將每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行匯總,得到每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作;
對(duì)每個(gè)組合事務(wù)內(nèi)的刪除操作進(jìn)行批處理;
對(duì)每個(gè)組合事務(wù)內(nèi)的插入操作進(jìn)行批處理。
8.根據(jù)權(quán)利要求6所述的方法,其中,將匯總每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行批量處理,包括:
將每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作進(jìn)行匯總,得到每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作;
根據(jù)所述組合事務(wù)內(nèi)的刪除操作和插入操作分別建立對(duì)應(yīng)待刪除數(shù)據(jù)庫外表和插入數(shù)據(jù)庫外表;
根據(jù)所述刪除數(shù)據(jù)庫外表,對(duì)每個(gè)組合事務(wù)內(nèi)的刪除操作進(jìn)行批處理;
根據(jù)所述插入數(shù)據(jù)庫外表,對(duì)每個(gè)組合事務(wù)內(nèi)的插入操作進(jìn)行批處理。
9.根據(jù)權(quán)利要求6所述的方法,其中,將匯總的每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行批量處理之前或之后,還包括:
通過編程接口及用戶自定義轉(zhuǎn)換方式對(duì)待批處理數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
10.根據(jù)權(quán)利要求1所述的方法,其中,將所述待批處理數(shù)據(jù)的更新操作進(jìn)行拆分,得到刪除操作和插入操作,將屬于同一鍵值下的刪除操作和插入操作進(jìn)行合并,將合并后的所有鍵值下的刪除操作和插入操作分別進(jìn)行批處理,包括:
將所述待批處理數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一內(nèi)部格式;
將所述轉(zhuǎn)換后的待批處理數(shù)據(jù)的更新操作進(jìn)行拆分,得到刪除操作和插入操作;
獲取所述統(tǒng)一內(nèi)部格式中的鍵值,將屬于同一鍵值下的刪除操作和插入操作進(jìn)行合并;
將合并后的屬于同一鍵值下的刪除操作和插入操作分別進(jìn)行批處理。
11.根據(jù)權(quán)利要求10所述的方法,其中,將合并后的屬于同一鍵值下的刪除操作和插入操作分別進(jìn)行批處理,包括:
對(duì)所述合并后的屬于同一鍵值下的刪除操作和插入操作中的第一個(gè)操作和最后一個(gè)操作,進(jìn)行合并的批處理。
12.根據(jù)權(quán)利要求11所述的方法,其中,對(duì)所述合并后的屬于同一鍵值下的刪除操作和插入操作中的第一個(gè)操作和最后一個(gè)操作,進(jìn)行合并的批處理,包括如下至少一項(xiàng):
若第一個(gè)操作為插入操作,且最后一個(gè)操作為刪除操作,則進(jìn)行忽略操作的合并處理;
若第一個(gè)操作為插入操作,且最后一個(gè)操作為插入操作時(shí),將僅執(zhí)行最后的操作的合并處理;
若第一個(gè)操作為刪除操作,且最后一個(gè)操作為刪除操作時(shí),則僅執(zhí)行一次刪除操作的合并處理;
若第一個(gè)操作為刪除操作,且最后一個(gè)操作為插入操作時(shí),則執(zhí)行刪除所述刪除操作之后,執(zhí)行所述最后一個(gè)操作的合并處理。
13.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的方法,其中,將合并后的所有鍵值下的刪除操作和插入操作分別進(jìn)行批處理,包括:
根據(jù)合并后的屬于同一鍵值下的刪除操作和插入操作分別建立對(duì)應(yīng)待刪除數(shù)據(jù)庫外表和插入數(shù)據(jù)庫外表;
根據(jù)所述刪除數(shù)據(jù)庫外表和插入數(shù)據(jù)庫外表,將合并后的屬于同一鍵值下的刪除操作和插入操作分別進(jìn)行批處理。
14.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的方法,其中,將合并后的所有鍵值下的刪除操作和插入操作分別進(jìn)行批處理之前或之后,還包括:
通過編程接口及用戶自定義轉(zhuǎn)換方式對(duì)所述待批處理數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
15.一種數(shù)據(jù)批處理的設(shè)備,其中,所述設(shè)備包括:
判斷裝置,用于判斷待批處理數(shù)據(jù)的處理延時(shí)要求是否小于等于預(yù)設(shè)閾值,
第一批處理裝置,用于若小于等于,獲取所述待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序,將所述待批處理數(shù)據(jù)中的事務(wù)按所述依賴關(guān)系和依賴順序合并成組合事務(wù),對(duì)每個(gè)組合事務(wù)進(jìn)行批處理,其中,每個(gè)組合事務(wù)包含一個(gè)或多個(gè)沒有依賴關(guān)系的事務(wù);
第二批處理裝置,用于若大于,將所述待批處理數(shù)據(jù)的更新操作進(jìn)行拆分,得到刪除操作和插入操作,將屬于所述待批處理數(shù)據(jù)的同一鍵值下的刪除操作和插入操作進(jìn)行合并,將合并后的所有鍵值下的刪除操作和插入操作分別進(jìn)行批處理。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述第一批處理裝置包括:
第一轉(zhuǎn)換單元,用于將所述待批處理數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一內(nèi)部格式;
獲取單元,用于獲取所述轉(zhuǎn)換后的待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序;
批量處理單元,用于按照依賴關(guān)系和對(duì)應(yīng)的依賴順序?qū)⑺鲛D(zhuǎn)換后的待批處理數(shù)據(jù)的多個(gè)事務(wù)進(jìn)行合并,得到一個(gè)或多個(gè)組合事務(wù),對(duì)每個(gè)組合事務(wù)進(jìn)行批處理。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其中,所述統(tǒng)一內(nèi)部格式包括:
數(shù)據(jù)操作類型、操作地址標(biāo)識(shí)、數(shù)據(jù)所屬的表名、多個(gè)數(shù)據(jù)列,其中,所述數(shù)據(jù)列包括一個(gè)或多個(gè)鍵值。
18.根據(jù)權(quán)利要求16所述的設(shè)備,其中,所述獲取單元用于:
獲取所述統(tǒng)一內(nèi)部格式中的鍵值,根據(jù)所述鍵值獲取所述轉(zhuǎn)換后的待批處理數(shù)據(jù)中的事務(wù)的依賴關(guān)系和對(duì)應(yīng)的依賴順序。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其中,所述獲取單元用于以下至少任一項(xiàng):
根據(jù)所述鍵值中的主鍵獲取在同一數(shù)據(jù)表內(nèi)的多個(gè)事務(wù)之間的依賴關(guān)系;
根據(jù)所述鍵值中的外鍵獲取不同數(shù)據(jù)表之間的多個(gè)事務(wù)之間的依賴關(guān)系;
根據(jù)用戶自定義及所述鍵值獲取多個(gè)事務(wù)之間的依賴關(guān)系。
20.根據(jù)權(quán)利要求16所述的設(shè)備,其中,所述批量處理單元用于:
將每個(gè)組合事務(wù)的更新操作進(jìn)行拆分,匯總得到每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作;
將匯總的每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行批量處理。
21.根據(jù)權(quán)利要求20所述的設(shè)備,其中,所述批量處理單元用于:
將每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作分別進(jìn)行匯總,得到每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作;
對(duì)每個(gè)組合事務(wù)內(nèi)的刪除操作進(jìn)行批處理;
對(duì)每個(gè)組合事務(wù)內(nèi)的插入操作進(jìn)行批處理。
22.根據(jù)權(quán)利要求20所述的設(shè)備,其中,所述批量處理單元用于:
將每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作進(jìn)行匯總,得到每個(gè)組合事務(wù)內(nèi)的刪除操作和插入操作;
根據(jù)所述組合事務(wù)內(nèi)的刪除操作和插入操作分別建立對(duì)應(yīng)待刪除數(shù)據(jù)庫外表和插入數(shù)據(jù)庫外表;
根據(jù)所述刪除數(shù)據(jù)庫外表,對(duì)每個(gè)組合事務(wù)內(nèi)的刪除操作進(jìn)行批處理;
根據(jù)所述插入數(shù)據(jù)庫外表,對(duì)每個(gè)組合事務(wù)內(nèi)的插入操作進(jìn)行批處理。
23.根據(jù)權(quán)利要求20所述的設(shè)備,其中,所述設(shè)備還包括:
第一自定義轉(zhuǎn)換裝置,用于通過編程接口及用戶自定義轉(zhuǎn)換方式對(duì)待批處理數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
24.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述第二批處理裝置包括:
第二轉(zhuǎn)換單元,用于將所述待批處理數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一內(nèi)部格式;
拆分單元,用于將所述轉(zhuǎn)換后的待批處理數(shù)據(jù)的更新操作進(jìn)行拆分,得到刪除操作和插入操作;
匯總單元,用于獲取所述統(tǒng)一內(nèi)部格式中的鍵值,將屬于同一鍵值下的刪除操作和插入操作進(jìn)行合并;
合并的批處理單元,用于將合并后的屬于同一鍵值下的刪除操作和插入操作分別進(jìn)行批處理。
25.根據(jù)權(quán)利要求24所述的設(shè)備,其中,所述合并批處理單元用于:
對(duì)所述合并后的屬于同一鍵值下的刪除操作和插入操作中的第一個(gè)操作和最后一個(gè)操作,進(jìn)行合并的批處理。
26.根據(jù)權(quán)利要求25所述的設(shè)備,其中,所述合并的批處理單元用于如下至少一項(xiàng):
若第一個(gè)操作為插入操作,且最后一個(gè)操作為刪除操作,則進(jìn)行忽略操作的合并處理;
若第一個(gè)操作為插入操作,且最后一個(gè)操作為插入操作時(shí),將僅執(zhí)行最后的操作的合并處理;
若第一個(gè)操作為刪除操作,且最后一個(gè)操作為刪除操作時(shí),則僅執(zhí)行一次刪除操作的合并處理;
若第一個(gè)操作為刪除操作,且最后一個(gè)操作為插入操作時(shí),則執(zhí)行刪除所述刪除操作之后,執(zhí)行所述最后一個(gè)操作的合并處理。
27.根據(jù)權(quán)利要求24至26中任一項(xiàng)所述的設(shè)備,其中,所述合并的批處理單元用于:
根據(jù)合并后的屬于同一鍵值下的刪除操作和插入操作分別建立對(duì)應(yīng)待刪除數(shù)據(jù)庫外表和插入數(shù)據(jù)庫外表;
根據(jù)所述刪除數(shù)據(jù)庫外表和插入數(shù)據(jù)庫外表,將合并后的屬于同一鍵值下的刪除操作和插入操作分別進(jìn)行批處理。
28.根據(jù)權(quán)利要求24至26中任一項(xiàng)所述的設(shè)備,其中,所述設(shè)備還包括:
第二自定義轉(zhuǎn)換裝置,用于通過編程接口及用戶自定義轉(zhuǎn)換方式對(duì)所述待批處理數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。