本申請涉及數據庫技術領域,尤其是一種異常語句識別方法、裝置、設備、存儲介質。所述方法包括:獲取待處理程序包;對所述待處理程序包中的結構化查詢語句進行分類得到目標分類;調用目標工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果;根據所述分析結果確定異常語句。采用本方法能夠自動化對分類中的結構化查詢語句進行執行計劃分析得到分析結果,不需要人工分析,提高了處理效率。率。率。
【技術實現步驟摘要】
異常語句識別方法、裝置、設備、存儲介質
[0001]本申請涉及數據庫
,特別是涉及一種異常語句識別方法、裝置、設備、存儲介質。
技術介紹
[0002]隨著計算機技術的發展,出現了數據庫技術,數據庫技術是信息系統的一個核心技術,通過研究數據庫的結構、存儲、設計、管理以及應用的基本理論和實現方法,并利用這些理論來實現對數據庫中的數據進行處理、分析和理解。
[0003]Oracle數據庫(Oracle RDBMS,或簡稱Oracle,是甲骨文公司的一款關系數據庫管理系統)承載的業務越來越多,業務邏輯也變得愈來愈復雜。在數據庫的業務邏輯鏈條出現性能瓶頸時,開發人員和數據庫管理員定位問題會變得非常困難,傳統技術中,在出現性能問題的時候,一般需要從Oracle Package(oracle package是oracle包,是一組相關過程、函數、變量、常量、類型和游標等程序設計元素的組合。)的調用入口著手,分析調用過程中的全部SQL(Structured Query Language,結構化查詢語句)代碼。針對每一段SQL人工分析執行計劃,查找是否存在全表掃描這種異常執行計劃,如果存在則進行人工優化。這個過程中涉及到的SQL代碼量和實際調用鏈的長短線性關聯。正常情況下,一次性能問題的排查需要約2個人日才能完成,效率十分低下。
技術實現思路
[0004]基于此,有必要針對上述技術問題,提供一種能夠提高處理效率的異常語句識別方法、裝置、設備、存儲介質。
[0005]第一方面,本申請提供一種異常語句識別方法,所述方法包括:
[0006]獲取待處理程序包;
[0007]對所述待處理程序包中的結構化查詢語句進行分類得到目標分類;
[0008]調用目標工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果;
[0009]根據所述分析結果確定異常語句。
[0010]在其中一個實施例中,所述對所述待處理程序包中的結構化查詢語句進行分類得到目標分類,包括:
[0011]獲取當前待處理程序包;
[0012]識別所述當前待處理程序包中的目標對象,以對所述當前待處理程序包進行第一次分類得到待處理分類;
[0013]對所述待處理分類中的結構化查詢語句進行第二次分類以得到目標分類。
[0014]在其中一個實施例中,在所述獲取當前待處理程序包之后,還包括:
[0015]當所述當前待處理程序包調用了其他程序包,則將所述其他程序包作為當前待處理程序包,并繼續執行識別所述當前待處理程序包中的目標對象,以對所述當前待處理程
序包進行第一次分類得到待處理分類的步驟;
[0016]在所述對所述待處理分類中的結構化查詢語句進行第二次分類以得到目標分類之后,還包括:
[0017]生成所述目標分類對應的調用關系。
[0018]在其中一個實施例中,所述對所述待處理程序包中的結構化查詢語句進行分類得到目標分類,包括:
[0019]通過Python語言對所述待處理程序包中的結構化查詢語句進行分類得到目標分類。
[0020]在其中一個實施例中,所述調用目標工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果,包括:
[0021]通過shell工具調用SQLPlus工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果。
[0022]在其中一個實施例中,所述根據所述分析結果確定異常語句,包括:
[0023]檢測所述分析結果中是否存在目標字符串;
[0024]當所述分析結果中存在目標字符串時,確定存在所述目標字符串的分析結果對應的結構化查詢語句為異常語句。
[0025]在其中一個實施例中,所述檢測所述分析結果中是否存在目標字符串,包括:
[0026]檢測所述分析結果中是否存在全表掃描字段。
[0027]第二方面,本申請還提供一種異常語句識別裝置,所述裝置包括:
[0028]待處理程序包獲取模塊,用于獲取待處理程序包;
[0029]分類模塊,用于對所述待處理程序包中的結構化查詢語句進行分類得到目標分類;
[0030]執行計劃分析模塊,用于調用目標工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果;
[0031]確定模塊,用于根據所述分析結果確定異常語句。
[0032]第三方面,本申請還提供一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現上述任意一個實施例中的方法的步驟。
[0033]第四方面,本申請還提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述任意一個實施例中的方法的步驟。
[0034]上述異常語句識別方法、裝置、設備、存儲介質,對待處理程序包中的結構化查詢語句進行分類得到目標分類,再調用目標工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果,根據分析結果來確定異常語句,自動化對分類中的結構化查詢語句進行執行計劃分析得到分析結果,不需要人工分析,提高了處理效率。
附圖說明
[0035]圖1為一個實施例中異常語句識別方法的應用環境圖;
[0036]圖2為一個實施例中異常語句識別方法的流程示意圖;
[0037]圖3為另一個實施例中異常語句識別方法的流程示意圖;
[0038]圖4為一個實施例中異常語句識別裝置的結構框圖;
[0039]圖5為一個實施例中計算機設備的內部結構圖。
具體實施方式
[0040]為了使本申請的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本申請進行進一步詳細說明。應當理解,此處描述的具體實施例僅僅用以解釋本申請,并不用于限定本申請。
[0041]本申請實施例提供的異常語句識別方法,可以應用于如圖1所示的應用環境中。其中,終端102通過網絡與數據庫104進行通信。其中終端102從數據庫104獲取待處理程序包;對待處理程序包中的結構化查詢語句進行分類得到目標分類;調用目標工具對目標分類中的結構化查詢語句進行執行計劃分析得到分析結果;根據分析結果確定異常語句。自動化對分類中的結構化查詢語句進行執行計劃分析得到分析結果,不需要人工分析,提高了處理效率。
[0042]其中,終端102可以但不限于是各種便攜式PC、平板或者傳統意義上的電腦,如筆記本和臺式機等。數據庫104可以用獨立的數據庫或者是多個數據庫組成的數據庫集群來實現。
[0043]在一個實施例中,如圖2所示,提供了一種異常語句識別方法,以該方法應用于圖1中的終端為例進行說明,包括以下步驟:
[0044]S202:獲取待處理程序包。
[0045]具體地,待處理程序包可以是指數據庫中的業務邏輯組織結構,例如Oracle數據庫中的業務邏輯組織結構Oracle Package,該待處理程序包可以看做是業務操作邏輯單元的超集,例如本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種異常語句識別方法,其特征在于,所述方法包括:獲取待處理程序包;對所述待處理程序包中的結構化查詢語句進行分類得到目標分類;調用目標工具對所述目標分類中的結構化查詢語句進行執行計劃分析得到分析結果;根據所述分析結果確定異常語句。2.根據權利要求1所述的方法,其特征在于,所述對所述待處理程序包中的結構化查詢語句進行分類得到目標分類,包括:獲取當前待處理程序包;識別所述當前待處理程序包中的目標對象,以對所述當前待處理程序包進行第一次分類得到待處理分類;對所述待處理分類中的結構化查詢語句進行第二次分類以得到目標分類。3.根據權利要求2所述的方法,其特征在于,在所述獲取當前待處理程序包之后,還包括:當所述當前待處理程序包調用了其他程序包,則將所述其他程序包作為當前待處理程序包,并繼續執行識別所述當前待處理程序包中的目標對象,以對所述當前待處理程序包進行第一次分類得到待處理分類的步驟;在所述對所述待處理分類中的結構化查詢語句進行第二次分類以得到目標分類之后,還包括:生成所述目標分類對應的調用關系。4.根據權利要求1至3任意一項所述的方法,其特征在于,所述對所述待處理程序包中的結構化查詢語句進行分類得到目標分類,包括:通過Python語言對所述待處理程序包中的結構化查詢語句進行分類得到目標分類。5.根據權利要求1所述的方法,其特征在于,所述調...
【專利技術屬性】
技術研發人員:王攀,
申請(專利權)人:太平金融科技服務上海有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。