[發明專利]一種數據同步系統自適應動態調整方法和裝置有效
| 申請號: | 201811060441.5 | 申請日: | 2018-09-12 |
| 公開(公告)號: | CN109492018B | 公開(公告)日: | 2020-12-22 |
| 發明(設計)人: | 付銓;袁松彪;梅綱 | 申請(專利權)人: | 武漢達夢數據庫股份有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/25;G06F16/27 |
| 代理公司: | 深圳市六加知識產權代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 同步 系統 自適應 動態 調整 方法 裝置 | ||
1.一種數據同步系統自適應動態調整方法,其特征在于,數據同步系統中同時執行多個同步流程,每個同步流程包含多個功能組件,每個功能組件對應一個或多個二級線程;則對于任一功能組件,自適應動態調整方法包括:
確定本次執行同步時,功能組件可向系統申請的最大可用內存a;
根據歷史執行同步時的日志記錄確定所述功能組件本次執行所需的最大緩存量b,按照所述b從系統中獲取相應內存并啟動功能組件;其中,b≤a;
運行功能組件,所述功能組件向自己的消息隊列中追加數據時實時更新所述功能組件當前已用緩存c,若發現c≥b*present.1且b<a,則所述功能組件向系統申請增加內存;其中,present.1表示第一閾值比例;
本次執行同步結束后,將所述功能組件生命周期中出現的最大c值作為本次實際最大使用緩存d記錄到日志中,以便用于下一次執行同步時使用;
其中,每當所述功能組件的消息隊列中增加或被取出一條數據,對所述c值進行實時更新;創建時間序列,每隔固定時間間隔將更新后的c值追加到時間序列,并判斷時間序列是否穩定;若時間序列穩定且c≤b*present.2,則釋放b中的部分內存t,并更新當前可用內存b以及系統最大可使用緩存e;其中,present.2表示第二閾值比例,b更新為b=b-t,e更新為e=e+t;
所述功能組件向自己的消息隊列中追加數據時,若發現c≥b*present.1,則所述功能組件通知其下游組件增加二級線程;所述功能組件從其上游組件的消息隊列中讀取數據時,若發現上游組件的消息隊列為空或消息隊列中緩存數據量小于預設閾值,則通知其上游組件增加二級線程。
2.根據權利要求1所述的數據同步系統自適應動態調整方法,其特征在于,當數據同步系統中的任一功能組件接收到增加二級線程的通知時,所述功能組件向系統發送增加二級線程的請求;
系統根據所述功能組件自身是否支持多線程處理、當前CPU利用率和/或當前網絡利用率,確認是否批準所述功能組件增加二級線程;若批準,則所述功能組件增加二級線程;
其中,當所述功能組件自身支持多線程處理,且當前CPU利用率小于CPU利用率閾值,且當前網絡利用率小于網絡利用率閾值時,系統批準所述功能組件增加二級線程。
3.根據權利要求1所述的數據同步系統自適應動態調整方法,其特征在于,所述方法還包括:
當數據同步系統中新增同步任務,且從一級線程池無法獲取可用的空閑線程時,則向系統發送增加一級線程的請求;
系統根據當前CPU利用率、當前網絡利用率以及系統已用內存,確認是否批準增加一級線程;若批準,則增加一級線程用于執行新增同步任務;
其中,當前CPU利用率小于CPU利用率閾值,且當前網絡利用率小于網絡利用率閾值,且系統已用內存小于系統最大可用內存閾值時,系統批準增加一級線程。
4.根據權利要求1所述的數據同步系統自適應動態調整方法,其特征在于,所述功能組件向系統申請增加內存后,若申請成功,則所述功能組件獲取到內存,更新b值,繼續執行同步過程;
若申請不成功,則暫停所述功能組件的二級線程,等待下游組件從所述功能組件的消息隊列中取出數據后再繼續執行同步過程。
5.根據權利要求1所述的數據同步系統自適應動態調整方法,其特征在于,所述確定本次執行同步時,功能組件可向系統申請的最大可用內存a,具體為:在本次執行同步任務前,根據系統最大可使用緩存e、一級線程的數量以及所述功能組件所在同步流程中總的功能組件數量,計算得到所述功能組件可向系統申請的最大可用內存a。
6.根據權利要求1所述的數據同步系統自適應動態調整方法,其特征在于,所述根據歷史執行同步時的日志記錄確定所述功能組件本次執行所需的最大緩存量b,具體為:
將最近一次執行同步時日志記錄的d值作為本次執行的b值;或者,
將最近幾次執行同步時日志記錄的各d值取平均值或最大值,作為本次執行的b值;
其中,若本次執行同步流程為首次執行,則將所述最大可用內存a作為本次執行的b值。
7.一種數據同步系統自適應動態調整裝置,其特征在于,包括至少一個處理器和存儲器,所述至少一個處理器和存儲器之間通過數據總線連接,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令在被所述處理器執行后,用于完成權利要求1-6任一所述的數據同步系統自適應動態調整方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數據庫股份有限公司,未經武漢達夢數據庫股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811060441.5/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





