[發明專利]一種數據源連接狀態監控裝置與方法有效
| 申請號: | 202011576061.4 | 申請日: | 2020-12-28 |
| 公開(公告)號: | CN112667472B | 公開(公告)日: | 2022-04-08 |
| 發明(設計)人: | 黃海明;高東升;胡高坤 | 申請(專利權)人: | 武漢達夢數據庫股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F16/21;G06F16/25;G06F9/48 |
| 代理公司: | 深圳市六加知識產權代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據源 連接 狀態 監控 裝置 方法 | ||
1.一種數據源連接狀態監控裝置,其特征在于,包括數據源狀態監聽器和數據源狀態管理器,所述數據源狀態監聽器用于監聽數據源狀態監控客戶端的連接請求和刷新請求,并根據請求調度所述數據源狀態管理器的工作;
所述數據源狀態管理器包括數據源狀態倉庫、啟停器和刷新模塊;
所述數據源狀態倉庫中設有多個狀態存儲器,每個狀態存儲器用于存儲一類數據源的連接狀態;
所述啟停器在首次啟動時為ETL系統中的每類數據源創建一個負責刷新該類數據源連接狀態的狀態刷新任務,并放入所述刷新模塊的延時隊列中;
所述刷新模塊控制延時隊列中的每個狀態刷新任務按照預設間隔周期性對該類數據源的連接狀態進行刷新,并在對應狀態存儲器中更新;
其中,當所述數據源狀態監聽器監聽到數據源狀態監控客戶端的刷新請求時,將該刷新請求轉發給所述數據源狀態管理器,并將所述數據源狀態倉庫返回的數據源連接狀態轉發給發出刷新請求的數據源狀態監控客戶端。
2.根據權利要求1所述的數據源連接狀態監控裝置,其特征在于,所述刷新模塊還包括延時隊列管理器和線程池;
所述延時隊列管理器按照預設間隔從所述延時隊列中取出延時到期的狀態刷新任務,并將該狀態刷新任務包裝成狀態刷新線程放入所述線程池;
所述線程池用于分配資源供該狀態刷新線程運行,以便刷新對應狀態存儲器中該類數據源的連接狀態;
其中,如果ETL系統中仍存在該類數據源且所述啟停器為啟動狀態,則該狀態刷新線程運行完成后,將對應的狀態刷新任務重新提交至所述延時隊列。
3.根據權利要求1所述的數據源連接狀態監控裝置,其特征在于,所述數據源狀態監聽器內設有計數器,每當監聽到有數據源狀態監控客戶端發出連接請求時,所述計數器就加1;每當監聽到有數據源狀態監控客戶端斷開連接時,所述計數器就減1;
當所述計數器大于0時,所述數據源狀態監聽器向所述數據源狀態管理器發送“啟動”指令;當所述計數器等于0時,所述數據源狀態監聽器向所述數據源狀態管理器發送“暫停”指令。
4.根據權利要求3所述的數據源連接狀態監控裝置,其特征在于,所述啟停器用于接收所述數據源狀態監聽器發來的“啟動”和“暫停”指令,并跟據指令維護“啟停狀態機”的標記;
當所述啟停器收到“啟動”指令,且“啟停狀態機”為“停”狀態時,所述啟停器為ETL系統中的每類數據源創建一個狀態刷新任務,并放入所述延時隊列中等待執行,同時將“啟停狀態機”的狀態設為“啟”;
當所述啟停器收到“暫停”指令時,將“啟停狀態機”的狀態設為“停”,此時所述刷新模塊處于待機狀態。
5.根據權利要求1所述的數據源連接狀態監控裝置,其特征在于,所述數據源狀態管理器還包括廣播模塊,所述廣播模塊用于按照預設間隔周期性從所述數據源狀態倉庫中獲取各類數據源的連接狀態,并發送給所述數據源狀態監聽器,以便所述數據源狀態監聽器周期性向各數據源狀態監控客戶端發送數據源連接狀態。
6.根據權利要求1所述的數據源連接狀態監控裝置,其特征在于,所述數據源狀態管理器還包括任務管理器,所述任務管理器與數據源管理客戶端通信連接;
當所述數據源管理客戶端中執行了添加數據源操作時,所述任務管理器用于向所述延時隊列中添加負責刷新該類數據源連接狀態的狀態刷新任務;
當所述數據源管理客戶端中執行了刪除數據源操作時,所述任務管理器用于從所述延時隊列中移除負責刷新該類數據源連接狀態的狀態刷新任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數據庫股份有限公司,未經武漢達夢數據庫股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011576061.4/1.html,轉載請聲明來源鉆瓜專利網。





