專利名稱:一種數據庫資源的調控裝置及方法
技術領域:
本發明涉及數據庫系統管理領域,尤其涉及一種數據庫資源的調控裝置及方法。
背景技術:
數據庫作為系統中的基礎設施,長期為整個軟件系統服務,其中的數據可能要保 存3年5年或者更長。因此,在數據庫領域,不管使用的數據庫管理系統是哪一種,都無法 避免的是如何實現數據庫的高可用性。盡管不同的數據庫廠商,都提供相應的功能,如數 據庫的內存結構(數據庫資源管理進程,數據庫診斷進程)及非計劃的宕機(系統失敗、數 據異常)到計劃內的停機維護(系統改變、數據變化)。 但是,根據對實際的生產運營數據庫環境的分析,發現有些數據庫管理的環境比 較復雜或是不可預知的。如失控的查詢、或者因疏忽而導致對詳單的研究返回4000000行 數據時,可能會對系統的性能造成影響,嚴重時會導致系統故障,雖然數據庫告警日志信息 記錄了這一切,但顯然是為時過晚,而現有技術中還沒有有效的解決方案。
發明內容
本發明所要解決的技術問題是提供一種數據庫資源的調控裝置,以及一種數據庫 資源的調控裝置,對可能導致系統異常的數據庫操作進行限制,保障數據庫系統的正常運 行。 為解決上述技術問題,本發明是通過以下技術方案實現的
—種數據庫資源的調控裝置,該裝置包括 資源限制配置模塊,用于配置資源限制信息,包括各個監控對象及其相應的限制 觸發條件和限制方式; 資源限制監控模塊,用于根據所述資源限制信息對所述各監控對象分別進行監 控,對于其中滿足相應限制觸發條件的監控對象,采用相應的限制方式對該監控對象的行 為進行限制操作。 上述裝置還包括資源限制日志記錄模塊,用于記錄所述資源限制監控模塊在監
控過程中進行了限制操作的監控對象的相關信息,生成日志,供用戶瀏覽及分析。 上述裝置中,所述資源限制配置模塊還用于配置各個監控對象相應的監控時間;
所述資源限制監控模塊在相應的監控時間內對各個監控對象進行監控。 —種數據庫資源的調控方法,包括以下步驟 預先配置資源限制信息,包括各個監控對象及其相應的限制觸發條件和限制方 式; 根據所述資源限制信息對所述各監控對象分別進行監控,對于其中滿足相應限制
觸發條件的監控對象,采用相應的限制方式對該監控對象的行為進行限制操作。 上述方法還包括在監控過程中,對于所述行為被限制的監控對象的相關信息進
行記錄,生成日志,供用戶瀏覽和分析。
3
上述方法中,預先配置的資源限制信息中還包括所述各個監控對象的監控時間, 在相應的監控時間內對所述各個監控對象進行監控。 上述方法中,所述監控對象包括數據庫模式定義語言語句、結構化查詢語言語句 以及當前活動的語句中的至少一種。 上述方法中,所述監控對象為數據庫模式定義語言語句時,相應的限制觸發條件 為操作權限在預定許可范圍之外; 所述監控對象為結構化查詢語言語句時,相應的限制觸發條件為所需占用的 CPU或內存資源超過相應預定閾值; 所述監控對象為當前活動的語句時,相應的限制觸發條件為所需占用的CPU或 內存資源超過相應預定閾值、所需占用的I/O資源超過相應預定閾值和/或執行時間不在 允許時間范圍內。 本發明具有以下有益效果 本發明采用對運行于數據庫系統中的各種對象進行監控的方法,對其中可能導致 數據庫系統異常的監控對象,限制其占用的數據庫資源,從而保證了數據庫系統的穩定可 靠的運行。
圖1是本發明的一個實施例中數據庫資源的調控方法流程圖;
圖2是本發明的一個實施例中限制DDL操作的方法流程圖;
圖3是本發明的一個實施例中限制SQL操作的方法流程圖;
圖4是本發明的一個實施例中限制當前活動語句的方法流程圖,
具體實施例方式
下面結合附圖及具體實施例對本發明作進一步詳細的描述 本實施例中數據庫資源的調控裝置包括資源限制配置模塊、資源限制監控模塊、 資源限制日志記錄模塊;各個功能模塊的作用分別為 資源限制配置模塊用于配置資源限制信息,包括各個監控對象及其相應的限制 觸發條件、限制方式、監控時間; 資源限制監控模塊用于根據資源限制信息對各個監控對象分別進行監控,對于 其中滿足相應限制觸發條件的監控對象,采用相應的限制方式對該監控對象的行為進行限 制操作; 資源限制日志記錄模塊,用于記錄資源限制監控模塊在監控過程中進行了限制操 作的監控對象的相關信息,生成日志,供用戶瀏覽及分析。 請參閱圖l,該圖所示為上述裝置對數據庫資源進行調控的方法流程,包括以下步 驟 101、通過資源限制配置模塊來配置資源限制信息,包括監控對象及相應的限制 觸發條件、限制方式、監控時間。其中,監控對象可以為DDL (Data Description Language, 數據庫模式定義語言)語句、SQL (Structured Query Language,結構化查詢語言)語句、當 前活動的語句;每個監控對象的限制觸發條件可以為一個或者多個;監控時間可以為連續時間段,也可為離散時間段。 對于DDL語句,限制觸發條件可以設定為遠程DDL語句,限制方式為拒絕執行,即 拒絕執行遠程DDL操作,只有管理數據庫的DBA才有權限執行DDL操作;
對于SQL語句,限制觸發條件可以設定為所需耗費的CPU或內存資源超過預定閾 值,限制方式為拒絕執行或僅記錄該語句的相關信息以供查看分析; 對于當前活動的語句,限制觸發條件可以設定為I/O開銷大于預定值、占用的CPU 資源大于預定閾值,還可限定其執行時間,限制方式為拒絕執行或僅記錄該語句的相關信 息以供查看分析。 102、運行資源限制監控模塊,在預定的監控時間內對各個監控對象分別進行監 控,對于其中滿足相應限制觸發條件的監控對象,采用相應的限制方式對該監控對象的行 為進行限制操作。具體操作方法如下 按照預定的監控時間,在數據庫里建立后臺作業Job,該Job負責執行一系列后臺 腳本。如 (1)限制DDL操作的后臺腳本。具體流程請參見圖2所示,先獲取DDL語句,再判 斷其操作權限是否在許可范圍內,若不在許可范圍內,則對該語句進行限制操作,拒絕其執 行并通過資源限制日志記錄模塊記錄其相關信息以供分析。 (2)捕獲耗費性能的后臺腳本。具體流程請參見圖3所示,這里先根據不同操作 平臺上的命令獲得CPU或內存的進程號,再根據進程號定位到當前的SQL語句,然后判斷該 SQL語句所占用的CPU或內存資源是否超過了預定閾值,若超過,則拒絕其執行并通過資源 限制日志記錄模塊記錄其相關信息。 (3)監控當前活動的后臺腳本。具體流程請參見圖4所示,這里先獲取數據庫中 的活動進程,然后根據sql_addreSS獲取當前的語句,接著依據Hash值找到該語句的執行 計劃,判斷該語句是否滿足限制觸發條件(即所占用的I/O資源或者CPU資源超過預定閾 值,或者執行時間不在允許時間范圍內),則拒絕其執行并通過資源限制日志記錄模塊記錄 其相關信息。 103、資源限制日志記錄模塊根據記錄信息生成日志,供用戶瀏覽和分析。 以上實施例僅用以說明本發明的技術方案而非限制,僅僅參照較佳實施例對本發
明進行了詳細說明。本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改
或者等同替換,而不脫離本發明技術方案的精神和范圍,均應涵蓋在本發明的權利要求范
圍當中。
權利要求
一種數據庫資源的調控裝置,其特征在于,該裝置包括資源限制配置模塊,用于配置資源限制信息,包括各個監控對象及其相應的限制觸發條件和限制方式;資源限制監控模塊,用于根據所述資源限制信息對所述各監控對象分別進行監控,對于其中滿足相應限制觸發條件的監控對象,采用相應的限制方式對該監控對象的行為進行限制操作。
2. 如權利要求1所述的數據庫資源的調控裝置,其特征在于,該裝置還包括資源限制 日志記錄模塊,用于記錄所述資源限制監控模塊在監控過程中進行了限制操作的監控對象 的相關信息,生成日志,供用戶瀏覽及分析。
3. 如權利要求1或2所述的數據庫資源的調控裝置,其特征在于,所述資源限制配置模 塊還用于配置各個監控對象相應的監控時間;所述資源限制監控模塊在相應的監控時間內 對各個監控對象進行監控。
4. 一種數據庫資源的調控方法,其特征在于,包括以下步驟預先配置資源限制信息,包括各個監控對象及其相應的限制觸發條件和限制方式; 根據所述資源限制信息對所述各監控對象分別進行監控,對于其中滿足相應限制觸發 條件的監控對象,采用相應的限制方式對該監控對象的行為進行限制操作。
5. 如權利要求4所述的數據庫資源的調控方法,其特征在于,該方法還包括在監控 過程中,對于所述行為被限制的監控對象的相關信息進行記錄,生成日志,供用戶瀏覽和分 析。
6. 如權利要求4或5所述的數據庫資源的調控方法,其特征在于,該方法中,預先配置 的資源限制信息中還包括所述各個監控對象的監控時間,在相應的監控時間內對所述各個 監控對象進行監控。
7. 如權利要求4所述的數據庫資源的調控方法,其特征在于,所述監控對象包括數據 庫模式定義語言語句、結構化查詢語言語句以及當前活動的語句中的至少一種。
8. 如權利要求7所述的數據庫資源的調控方法,其特征在于,所述監控對象為數據庫 模式定義語言語句時,相應的限制觸發條件為操作權限在預定許可范圍之外;所述監控對象為結構化查詢語言語句時,相應的限制觸發條件為所需占用的CPU或 內存資源超過相應預定閾值;所述監控對象為當前活動的語句時,相應的限制觸發條件為所需占用的CPU或內存 資源超過相應預定閾值、所需占用的I/O資源超過相應預定閾值和/或執行時間不在允許 時間范圍內。
全文摘要
本發明公開了一種數據庫資源的調控裝置及方法。該調控裝置包括資源限制配置模塊和資源限制監控模塊;相應的調控方法為通過資源限制配置模塊預先配置資源限制信息,包括各個監控對象及其相應的限制觸發條件和限制方式;然后,運行資源限制監控模塊,根據所述資源限制信息對所述各監控對象分別進行監控,對于其中滿足相應限制觸發條件的監控對象,采用相應的限制方式對該監控對象的行為進行限制操作。本發明采用對運行于數據庫系統中的各種對象進行監控的方法,對其中可能導致數據庫系統異常的監控對象,限制其占用的數據庫資源,從而保證了數據庫系統的穩定可靠的運行。
文檔編號G06F17/30GK101763389SQ20081024149
公開日2010年6月30日 申請日期2008年12月23日 優先權日2008年12月23日
發明者邵旭輝 申請人:中興通訊股份有限公司