System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于數據庫數據處理,具體涉及一種數據同步裝置、方法、電子設備及可讀存儲介質。
技術介紹
1、現有技術中,時序數據庫的數據上傳架構,通常包括兩種形式:一種是數據直接通過網絡上傳到云端;另一種是數據通過消息中間件上傳到云端。兩種數據上傳架構中,數據讀取過程都涉及從磁盤加載數據,而磁盤io讀取是一個相對較慢、訪問延遲高的操作。如果頻繁地從磁盤加載數據,可能會導致磁盤資源的瓶頸,影響其他進程或應用程序的性能。
2、目前絕大多數的數據庫會將頻繁訪問的數據頁緩存在內存中;當查詢需要訪問某個數據頁時,數據庫會先檢查該數據頁是否已經在緩存池中,如果是,則直接從內存中讀取;如果不是,則從磁盤中讀取并放入緩存池。
3、但是,如上所述的解決方案會出現無法在緩存中讀取到所需數據而再次訪問數據頁的技術問題,從而降低了數據同步和讀取速率。
技術實現思路
1、為了克服現有技術的不足,本專利技術提供一種數據同步裝置、方法、電子設備及可讀存儲介質,以解決現有技術中讀取數據占據資源、讀取速率低的技術問題,在讀取數據時提高緩存命中率,減少數據從磁盤文件讀取,從而提高數據同步速率。
2、為了解決上述技術問題,本專利技術采用的一個技術方案是:提供一種數據同步裝置,包括:數據庫訪問接口,用于與同步數據庫進行數據交互;數據遷移接口,用于與中心數據庫進行數據交互;定時線程池,用于在指定時間觸發線程安全隊列中的任務;線程執行單元,用于:從線程安全隊列中并發取出待同步的任務;在任務觸發后
3、其中,所述線程執行單元,用于:在任務觸發后根據任務要求確定一個時間窗口大??;其中,所述時間窗口的大小等于“數據讀取間隔”;根據時間窗口的大小以及數據的總量計算需要讀取的頁數;通過所述數據庫訪問接口與同步數據庫進行數據交互,根據設定的數據讀取間隔確定時間窗口大小,并將窗口內的數據分頁讀取。
4、其中,在每個任務執行結束后,所述線程執行單元還用于:根據任務執行條件設定下一次任務的觸發時間;其中,任務執行條件包括網絡狀況和最小執行間隔;將待執行的任務及其觸發時間投放至定時線程池,等待任務觸發;在定時線程池中的定時器到達設定的觸發時間時,從所述定時線程池中取出任務,并再次執行數據操作。
5、其中,在每個任務執行結束后,所述線程執行單元還用于:監測當前讀取任務的整體耗時,并與預設的閾值進行比較;當整體耗時小于閾值時,確認上傳響應速度快,設置當前工作模式為高速上傳模式,根據數據寫入速度設定任務觸發間隔上限;當整體耗時不小于閾值時,確認上傳響應速度較慢,設置當前工作模式為速度控制模式,根據網絡響應狀態靈活調整任務觸發間隔;將待執行的任務及其觸發時間投放至定時線程池,等待任務觸發;在定時線程池中的定時器到達設定的觸發時間時,從所述定時線程池中取出任務,并再次執行數據操作。
6、為了解決上述技術問題,本專利技術采用的另一個技術方案是:提供一種數據同步系統,包括:至少兩個同步數據庫、中心數據庫、以及如上所述的數據同步裝置;其中,所述數據同步裝置與所述同步數據庫、中心數據庫分別建立通信連接;所述數據同步裝置用于通過所述中心數據庫將所述同步數據庫中所保存的數據庫進行同步。
7、為了解決上述技術問題,本專利技術采用的另一個技術方案是:提供一種數據同步方法,所述方法包括:數據同步裝置從線程安全隊列中并發取出待同步的任務;所述數據同步裝置在指定時間觸發任務;所述數據同步裝置在任務觸發后根據任務要求,通過數據庫訪問接口與第一同步數據庫進行數據交互,根據設定的數據讀取間隔確定時間窗口大小,并將窗口內的數據分頁讀??;所述數據同步裝置對讀取到的每一頁數據進行組裝或預處理,并將處理后的數據放入待上傳隊列,調用數據遷移接口與所述中心數據庫進行數據交互,使用數據遷移工具將將待上傳隊列中的數據批量上傳至中心數據庫,并監測執行結果;所述數據同步裝置根據任務條件動態設定觸發時間,并根據當前工作模式更新下一輪讀取任務的觸發時間,等待任務觸發;所述數據同步裝置的定時線程池進入等待狀態,當定時線程池中的定時器到達設定的觸發時間時,觸發下一個任務,直至所述線程安全隊列中的任務全部完成。
8、其中,所述數據同步裝置在任務觸發后根據任務要求,通過數據庫訪問接口與第一同步數據庫、第二同步數據庫進行數據交互,根據設定的數據讀取間隔確定時間窗口大小,并將窗口內的數據分頁讀取,具體包括:所述數據同步裝置在任務觸發后根據任務要求確定一個時間窗口大??;其中,所述時間窗口的大小等于“數據讀取間隔”;所述數據同步裝置根據時間窗口的大小以及數據的總量計算需要讀取的頁數;所述數據同步裝置通過數據庫訪問接口與第一同步數據庫、第二同步數據庫進行數據交互,根據設定的數據讀取間隔確定時間窗口大小,并將窗口內的數據分頁讀取。
9、其中,所述數據同步裝置根據任務條件動態設定觸發時間,并根據當前工作模式更新下一輪讀取任務的觸發時間,等待任務觸發,具體包括:所述數據同步裝置監測當前讀取任務的整體耗時,并與預設的閾值進行比較,判斷整體耗時是否小于閾值;當確定整體耗時小于閾值時,所述數據同步裝置確認上傳響應速度快,設置當前工作模式為高速上傳模式,根據數據寫入速度設定任務觸發間隔上限;當確定整體耗時不小于閾值時,所述數據同步裝置確認上傳響應速度較慢,設置當前工作模式為速度控制模式,根據網絡響應狀態靈活調整任務觸發間隔。
10、為了解決上述技術問題,本專利技術采用另的一個技術方案是:提供一種電子設備,包括:處理器和存儲器,存儲器用于存儲計算機程序代碼,計算機程序代碼包括計算機指令,當處理器執行所述計算機指令時,電子設備執行如上所述的數據同步方法的步驟。
11、為了解決上述技術問題,本專利技術采用的另一個技術方案是:提供一種可讀存儲介質,可讀存儲介質中存儲有計算機程序,計算機程序包括程序指令,程序指令當被電子設備的處理器執行時,使處理器執行如上所述的數據同步方法的步驟。
12、本專利技術實施方式的有益效果是:通過數據庫訪問接口實現高效數據讀取,同時結合線程執行單元和定時線程池的協同工作,確保任務的有序執行和精準觸發;根據數據預估寫入速率和數據庫緩存大小,系統能夠設置合適的數據同步讀取頻率,從而最大化利用緩存資源,提高緩存命中率,減少機器磁盤io。在與云端通訊網絡狀況良好的情況下,通過減小數據讀取間隔,能夠確保讀取任務的數據從緩存中讀取,實現高速上傳狀態;而在網絡狀況不佳時,系統能夠根據云端上傳速率靈活調整數據讀取頻率,本文檔來自技高網...
【技術保護點】
1.一種數據同步裝置,其特征在于,包括:
2.如權利要求1所述的數據同步裝置,其特征在于,所述線程執行單元,用于:
3.如權利要求2所述的數據同步裝置,其特征在于,在每個任務執行結束后,所述線程執行單元還用于:
4.如權利要求3所述的數據同步裝置,其特征在于,在每個任務執行結束后,所述線程執行單元還用于:
5.一種數據同步系統,其特征在于,包括:至少兩個同步數據庫、中心數據庫、以及如權利要求1~4任意一項所述的數據同步裝置;其中,所述數據同步裝置與所述同步數據庫、中心數據庫分別建立通信連接;所述數據同步裝置用于通過所述中心數據庫將所述同步數據庫中所保存的數據庫進行同步。
6.一種數據同步方法,其特征在于,所述方法包括:
7.如權利要求6所述的數據同步方法,其特征在于,所述數據同步裝置在任務觸發后根據任務要求,通過數據庫訪問接口與第一同步數據庫、第二同步數據庫進行數據交互,根據設定的數據讀取間隔確定時間窗口大小,并將窗口內的數據分頁讀取,具體包括:
8.如權利要求7所述的數據同步方法,其特征在于,所
9.一種電子設備,包括:處理器和存儲器,其特征在于,存儲器用于存儲計算機程序代碼,計算機程序代碼包括計算機指令,當處理器執行所述計算機指令時,電子設備執行如權利要求6~8任意一項所述的數據同步方法的步驟。
10.一種可讀存儲介質,可讀存儲介質中存儲有計算機程序,其特征在于,計算機程序包括程序指令,程序指令當被電子設備的處理器執行時,使處理器執行如權利要求6~8任意一項所述的數據同步方法的步驟。
...【技術特征摘要】
1.一種數據同步裝置,其特征在于,包括:
2.如權利要求1所述的數據同步裝置,其特征在于,所述線程執行單元,用于:
3.如權利要求2所述的數據同步裝置,其特征在于,在每個任務執行結束后,所述線程執行單元還用于:
4.如權利要求3所述的數據同步裝置,其特征在于,在每個任務執行結束后,所述線程執行單元還用于:
5.一種數據同步系統,其特征在于,包括:至少兩個同步數據庫、中心數據庫、以及如權利要求1~4任意一項所述的數據同步裝置;其中,所述數據同步裝置與所述同步數據庫、中心數據庫分別建立通信連接;所述數據同步裝置用于通過所述中心數據庫將所述同步數據庫中所保存的數據庫進行同步。
6.一種數據同步方法,其特征在于,所述方法包括:
7.如權利要求6所述的數據同步方法,其特征在于,所述數據同步裝置在...
【專利技術屬性】
技術研發人員:姚浩強,吳峰,李振,
申請(專利權)人:粵港澳大灣區廣東國創中心,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。