[發(fā)明專利]數(shù)據(jù)庫隱患SQL的預測方法、裝置、終端及存儲介質在審
| 申請?zhí)枺?/td> | 202011267501.8 | 申請日: | 2020-11-13 |
| 公開(公告)號: | CN112380237A | 公開(公告)日: | 2021-02-19 |
| 發(fā)明(設計)人: | 袁磊 | 申請(專利權)人: | 平安普惠企業(yè)管理有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/21 |
| 代理公司: | 深圳國新南方知識產(chǎn)權代理有限公司 44374 | 代理人: | 周雷 |
| 地址: | 518000 廣東省深圳市前海深港合作區(qū)前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數(shù)據(jù)庫 隱患 sql 預測 方法 裝置 終端 存儲 介質 | ||
本發(fā)明公開了一種數(shù)據(jù)庫隱患SQL的預測方法、裝置、終端及存儲介質,其中方法包括:獲取SQL語句執(zhí)行時所處理的歷史數(shù)據(jù)量隨時間的變化關系,構建SQL語句執(zhí)行時所處理的數(shù)據(jù)量在未來時間的變化趨勢;將變化趨勢輸入至預先訓練好的性能預測模型中進行預測,得到SQL語句在未來時間的性能變化趨勢;當按照預設條件分析性能變化趨勢以確認SQL語句有成為隱患SQL的可能性時,生成隱患報告。通過上述方式,本發(fā)明能夠預測出SQL語句在未來時間需要處理的數(shù)據(jù)量的變化趨勢,再利用該變化趨勢進行預測,從而幫助用戶提前發(fā)現(xiàn)數(shù)據(jù)庫中存在隱患的SQL,方便用戶提前進行優(yōu)化,避免影響到數(shù)據(jù)庫的運行。
技術領域
本申請涉及數(shù)據(jù)庫技術領域,特別是涉及一種數(shù)據(jù)庫隱患SQL的預測方法、裝置、終端及存儲介質。
背景技術
隨著企業(yè)信息系統(tǒng)日益龐大、數(shù)據(jù)量與日俱增,就會出現(xiàn)數(shù)據(jù)訪問、運算等方面的性能問題,例如,某個企業(yè)的SQL server可能會運行幾萬個SQL腳本,而這些腳本如設計不能滿足當前實時的業(yè)務需求則可能會占用大量數(shù)據(jù)庫服務器的CPU和IO資源,從而拖累數(shù)據(jù)庫服務器的響應和處理速度。
由于每個企業(yè)的數(shù)據(jù)架構、數(shù)據(jù)分布、使用方式、使用場景等方面存在巨大差異,所以現(xiàn)在主流數(shù)據(jù)庫管理軟件基本只提供一些通用的數(shù)據(jù)性能監(jiān)控方面的功能。
但有些SQL語句上線時,其需要處理的數(shù)據(jù)量較少,但隨著數(shù)據(jù)庫中數(shù)據(jù)量的增多,SQL語句執(zhí)行得越來越慢,進而影響到整個數(shù)據(jù)庫的運行,嚴重時甚至導致數(shù)據(jù)庫崩潰。而現(xiàn)有的數(shù)據(jù)庫監(jiān)控功能難以發(fā)現(xiàn)其中還未暴露出性能問題的隱患SQL語句,只能在SQL語句已經(jīng)出現(xiàn)低性能運行情況時才能監(jiān)控到,存在滯后性,對數(shù)據(jù)庫的運行和使用造成了嚴重的影響。
發(fā)明內(nèi)容
本申請?zhí)峁┮环N數(shù)據(jù)庫隱患SQL的預測方法、裝置、終端及存儲介質,以解決現(xiàn)有的SQL語句審核方式難以發(fā)現(xiàn)隱患SQL的問題
為解決上述技術問題,本申請采用的一個技術方案是:提供一種數(shù)據(jù)庫隱患SQL的預測方法,包括:獲取SQL語句執(zhí)行時所處理的歷史數(shù)據(jù)量隨時間的變化關系,構建SQL語句執(zhí)行時所處理的數(shù)據(jù)量在未來時間的變化趨勢;將變化趨勢輸入至預先訓練好的性能預測模型中進行預測,得到SQL語句在未來時間的性能變化趨勢;當按照預設條件分析性能變化趨勢以確認SQL語句有成為隱患SQL的可能性時,生成隱患報告。
作為本申請的進一步改進,獲取SQL語句執(zhí)行時所處理的歷史數(shù)據(jù)量隨時間的變化關系,構建SQL語句執(zhí)行時所處理的數(shù)據(jù)量在未來時間的變化趨勢,包括:選取多個歷史時間點,獲取每個歷史時間點時SQL語句執(zhí)行時所處理的對象的數(shù)據(jù)量;將多個歷史時間點和對應的數(shù)據(jù)量按時間先后順序輸入至未訓練的數(shù)據(jù)量預測模型中進行訓練,得到第一模型參數(shù);根據(jù)第一模型參數(shù)構建訓練好的數(shù)據(jù)量預測模型,并以訓練好的數(shù)據(jù)量預測模型預測對象的數(shù)據(jù)量隨時間的變化趨勢。
作為本申請的進一步改進,將變化趨勢輸入至預先訓練好的性能預測模型中進行預測,得到SQL語句在未來時間的性能變化趨勢,包括:識別SQL語句的類別,并選取與類別對應的目標性能預測模型,每種類別對應一個性能預測模型;通過變化趨勢獲取多個未來時間點的預測數(shù)據(jù)量;將預測數(shù)據(jù)量輸入至目標性能預測模型進行預測,得到在多個未來時間點SQL語句的預測運行性能,構成性能變化趨勢。
作為本申請的進一步改進,其還包括預先訓練性能預測模型的步驟,包括:為每個類別選取多條樣本SQL語句,并設定數(shù)據(jù)量大小不同的多個數(shù)據(jù)表;分別執(zhí)行每條樣本SQL語句以處理每個數(shù)據(jù)表,得到不同數(shù)據(jù)量下樣本SQL語句的樣本運行性能;將樣本運行性能和對應的數(shù)據(jù)量按類別分別輸入至未訓練的性能預測模型中進行訓練,得到每個類別對應的第二模型參數(shù);根據(jù)第二模型參數(shù)構建每個類別的性能預測模型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安普惠企業(yè)管理有限公司,未經(jīng)平安普惠企業(yè)管理有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011267501.8/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設備及存儲介質
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





