System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本申請屬于計算機(jī),尤其涉及一種應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法及裝置。
技術(shù)介紹
1、數(shù)據(jù)實時匯聚的場景中,在源數(shù)據(jù)表的結(jié)構(gòu)發(fā)生變化(例如添加字段或?qū)⒆侄晤愋陀蒳nt修改為string等)的情況下,一般是先暫停匯聚任務(wù),源數(shù)據(jù)表側(cè)的實施人員與下游目標(biāo)數(shù)據(jù)表側(cè)的實施人員針對源數(shù)據(jù)表的結(jié)構(gòu)變更的具體內(nèi)容進(jìn)行溝通后,目標(biāo)數(shù)據(jù)表側(cè)的實施人員再手動修改目標(biāo)數(shù)據(jù)表,然后重新啟動匯聚任務(wù),步驟繁瑣,溝通成本高,人力成本消耗高,效率低下。
技術(shù)實現(xiàn)思路
1、本申請旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為此,本申請?zhí)岢鲆环N應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法及裝置,能自動進(jìn)行數(shù)據(jù)表結(jié)構(gòu)的同步,提高效率。
2、第一方面,本申請?zhí)峁┝艘环N應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,該方法包括:
3、在源數(shù)據(jù)表的第一變化數(shù)據(jù)為所述源數(shù)據(jù)表的結(jié)構(gòu)變化對應(yīng)的數(shù)據(jù)的情況下,基于所述第一變化數(shù)據(jù),獲取變化信息;所述第一變化數(shù)據(jù)包括目標(biāo)sql語句;所述目標(biāo)sql語句,用于指示所述源數(shù)據(jù)表的結(jié)構(gòu)變化;
4、在第二變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表的情況下,基于所述變化信息,變更所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),暫停數(shù)據(jù)匯聚任務(wù)并生成目標(biāo)異常信息;所述第二變化數(shù)據(jù)為所述第一變化數(shù)據(jù)之前產(chǎn)生的所述源數(shù)據(jù)表的變化數(shù)據(jù);所述目標(biāo)異常信息,用于指示已進(jìn)行對所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu)的同步處理;
5、在檢測到所述目標(biāo)異常信息的情況下,重新啟動所述數(shù)據(jù)匯聚任務(wù)。
6、根據(jù)本申請的應(yīng)用于數(shù)
7、根據(jù)本申請的一個實施例,所述基于所述第一變化數(shù)據(jù),獲取變化信息,包括:
8、解析所述目標(biāo)sql語句,獲取所述變化信息;所述變化信息,包括所述目標(biāo)數(shù)據(jù)表中待變更的目標(biāo)字段以及對所述目標(biāo)字段的變更操作的信息。
9、根據(jù)本申請的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,通過解析目標(biāo)sql語句,獲取源數(shù)據(jù)表的結(jié)構(gòu)變化的變化信息,從而能基于變化信息,自動變更目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),實現(xiàn)當(dāng)源數(shù)據(jù)表的結(jié)構(gòu)發(fā)生變更后,無須人工調(diào)整任務(wù),自動化效率高于人工,減少人工溝通帶來的成本,無須人工干預(yù),能極大提高工作效率,能降低人力成本,能提高數(shù)據(jù)表結(jié)構(gòu)同步的效率,能用于實際的實時數(shù)據(jù)匯聚任務(wù)。
10、根據(jù)本申請的一個實施例,所述解析所述目標(biāo)sql語句,獲取所述變化信息,包括:
11、解析所述目標(biāo)sql語句,獲取解析事件;
12、監(jiān)聽所述解析事件,獲取所述目標(biāo)字段以及所述變更操作的信息。
13、根據(jù)本申請的一個實施例,在所述在源數(shù)據(jù)表的第一變化數(shù)據(jù)為所述源數(shù)據(jù)表的結(jié)構(gòu)變化對應(yīng)的數(shù)據(jù)的情況下,基于所述第一變化數(shù)據(jù),獲取變化信息之后,且在所述在第二變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表的情況下,基于所述變化信息,變更所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),暫停數(shù)據(jù)匯聚任務(wù)并生成目標(biāo)異常信息之前,所述方法還包括:
14、確定所述第二變化數(shù)據(jù)已同步至所述目標(biāo)數(shù)據(jù)表。
15、根據(jù)本申請的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,通過確定第二變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表,能確保第一變化數(shù)據(jù)之前產(chǎn)生的源數(shù)據(jù)表的變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表,避免因數(shù)據(jù)表結(jié)構(gòu)同步導(dǎo)致數(shù)據(jù)匯聚任務(wù)出錯。
16、根據(jù)本申請的一個實施例,所述確定所述第二變化數(shù)據(jù)已同步至所述目標(biāo)數(shù)據(jù)表,包括:
17、暫停獲取第三變化數(shù)據(jù);所述第三變化數(shù)據(jù)為所述第一變化數(shù)據(jù)之后產(chǎn)生的所述源數(shù)據(jù)表的變化數(shù)據(jù);
18、確定目標(biāo)檢查點已發(fā)布。
19、根據(jù)本申請的一個實施例,所述在檢測到所述目標(biāo)異常信息的情況下,重新啟動所述數(shù)據(jù)匯聚任務(wù),包括:
20、根據(jù)預(yù)設(shè)的時間周期,獲取所述數(shù)據(jù)匯聚任務(wù)的狀態(tài)信息;
21、在所述狀態(tài)信息為所述目標(biāo)異常信息的情況下,從所述數(shù)據(jù)匯聚任務(wù)的最近保存點,重新啟動所述數(shù)據(jù)匯聚任務(wù)。
22、根據(jù)本申請的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,通過根據(jù)預(yù)設(shè)的時間周期,獲取數(shù)據(jù)匯聚任務(wù)的狀態(tài)信息,在狀態(tài)信息為目標(biāo)異常信息的情況下,從數(shù)據(jù)匯聚任務(wù)的最近保存點,重新啟動數(shù)據(jù)匯聚任務(wù),能在數(shù)據(jù)表結(jié)構(gòu)變更后自動重新啟動數(shù)據(jù)匯聚任務(wù),適應(yīng)新的新的執(zhí)行計劃,能避免或者減少數(shù)據(jù)匯聚任務(wù)出錯,提高數(shù)據(jù)匯聚的效率。
23、第二方面,本申請?zhí)峁┝艘环N應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步裝置,該裝置包括:
24、獲取模塊,用于在源數(shù)據(jù)表的第一變化數(shù)據(jù)為所述源數(shù)據(jù)表的結(jié)構(gòu)變化對應(yīng)的數(shù)據(jù)的情況下,基于所述第一變化數(shù)據(jù),獲取變化信息;所述第一變化數(shù)據(jù)包括目標(biāo)sql語句;所述目標(biāo)sql語句,用于指示所述源數(shù)據(jù)表的結(jié)構(gòu)變化;
25、變更模塊,用于在第二變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表的情況下,基于所述變化信息,變更所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),暫停數(shù)據(jù)匯聚任務(wù)并生成目標(biāo)異常信息;所述第二變化數(shù)據(jù)為所述第一變化數(shù)據(jù)之前產(chǎn)生的所述源數(shù)據(jù)表的變化數(shù)據(jù);所述目標(biāo)異常信息,用于指示已進(jìn)行對所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu)的同步處理;
26、重啟模塊,用于在檢測到所述目標(biāo)異常信息的情況下,重新啟動所述數(shù)據(jù)匯聚任務(wù)。
27、根據(jù)本申請的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步裝置,通過在源數(shù)據(jù)表的第一變化數(shù)據(jù)為源數(shù)據(jù)表的結(jié)構(gòu)變化對應(yīng)的數(shù)據(jù)的情況下,基于第一變化數(shù)據(jù),獲取源數(shù)據(jù)表的結(jié)構(gòu)變化的變化信息,確定第一變化數(shù)據(jù)之前產(chǎn)生的源數(shù)據(jù)表的變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表的情況下,基于變化信息,變更目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),暫停數(shù)據(jù)匯聚任務(wù)并生成目標(biāo)異常信息,在檢測到目標(biāo)異常信息的情況下,重新啟動數(shù)據(jù)匯聚任務(wù),能實現(xiàn)準(zhǔn)確性和可靠性高的自動數(shù)據(jù)表結(jié)構(gòu)同步,實現(xiàn)當(dāng)源數(shù)據(jù)表的結(jié)構(gòu)發(fā)生變更后,無須人工調(diào)整任務(wù),自動化效率高于人工,減少人工溝通帶來的成本,無須人工干預(yù),能極大提高工作效率,能降低人力成本,能提高數(shù)據(jù)表結(jié)構(gòu)同步的效率,能用于實際的實時數(shù)據(jù)匯聚任務(wù)。
28、第三方面,本申請?zhí)峁┝艘环N電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)如上述第一方面所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法。
29、第四方面,本申請?zhí)峁┝艘环N非暫態(tài)計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如上述第一方面所述的應(yīng)用于數(shù)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點】
1.一種應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述基于所述第一變化數(shù)據(jù),獲取變化信息,包括:
3.根據(jù)權(quán)利要求2所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述解析所述目標(biāo)SQL語句,獲取所述變化信息,包括:
4.根據(jù)權(quán)利要求1所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,在所述在源數(shù)據(jù)表的第一變化數(shù)據(jù)為所述源數(shù)據(jù)表的結(jié)構(gòu)變化對應(yīng)的數(shù)據(jù)的情況下,基于所述第一變化數(shù)據(jù),獲取變化信息之后,且在所述在第二變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表的情況下,基于所述變化信息,變更所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),暫停數(shù)據(jù)匯聚任務(wù)并生成目標(biāo)異常信息之前,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述確定所述第二變化數(shù)據(jù)已同步至所述目標(biāo)數(shù)據(jù)表,包括:
6.根據(jù)權(quán)利要求1至5任一項所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述在檢測到所述目標(biāo)異常信息的情況下,重新啟動所述數(shù)據(jù)匯聚任務(wù),包括:
>7.一種應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步裝置,其特征在于,包括:
8.一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)如權(quán)利要求1-6任一項所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法。
9.一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,其特征在于,該計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-6任一項所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法。
10.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其特征在于,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-6任一項所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法。
...【技術(shù)特征摘要】
1.一種應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述基于所述第一變化數(shù)據(jù),獲取變化信息,包括:
3.根據(jù)權(quán)利要求2所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述解析所述目標(biāo)sql語句,獲取所述變化信息,包括:
4.根據(jù)權(quán)利要求1所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,在所述在源數(shù)據(jù)表的第一變化數(shù)據(jù)為所述源數(shù)據(jù)表的結(jié)構(gòu)變化對應(yīng)的數(shù)據(jù)的情況下,基于所述第一變化數(shù)據(jù),獲取變化信息之后,且在所述在第二變化數(shù)據(jù)已同步至目標(biāo)數(shù)據(jù)表的情況下,基于所述變化信息,變更所述目標(biāo)數(shù)據(jù)表的結(jié)構(gòu),暫停數(shù)據(jù)匯聚任務(wù)并生成目標(biāo)異常信息之前,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的應(yīng)用于數(shù)據(jù)匯聚的數(shù)據(jù)表結(jié)構(gòu)同步方法,其特征在于,所述確定所述第二變化數(shù)據(jù)已同步至所述...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳超,李章菁,田豐,余劍彪,林譽,彭冠蓮,
申請(專利權(quán))人:廣州廣電運通信息科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。