[發明專利]指令處理裝置和指令處理方法無效
| 申請號: | 201110177239.2 | 申請日: | 2011-06-28 |
| 公開(公告)號: | CN102393842A | 公開(公告)日: | 2012-03-28 |
| 發明(設計)人: | 楊歷;葉琳 | 申請(專利權)人: | 用友軟件股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京友聯知識產權代理事務所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
| 地址: | 100094 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 指令 處理 裝置 方法 | ||
技術領域
本發明涉及計算機技術領域,具體而言,涉及一種指令處理裝置和一種指令處理方法。
背景技術
ERP以及其他大型企業軟件往往由數百人合作而成。盡管通過代碼走查和多層測試,但從統計的觀點看,軟件中仍然存在一些設計不良之處。其中有一類問題,就是將不良的數據庫指令交給關系數據庫執行,例如SQL語句。這些命令一旦交給關系數據庫執行,會帶來巨大的IO或內存開銷,進而有可能造成整個ERP系統運行效率緩慢,甚至崩潰。
目前的解決方案有,使用代碼靜態掃描程序找到設計不良的SQL語句。此方法雖然有一定效果,但存在兩個顯而易見的問題:1、無法分析運行時動態產生的SQL命令;2、難于估計實際的執行成本(IO/內存),因為數據庫表內的數據、索引信息都是動態變化的。
還有一種方法,就是設定SQL執行超時的時間。當SQL執行超過預先設定的閥值后,切斷SQL語句的執行。這個方法可以在一定程度上緩解SQL語句的“單點問題”擴散至整體,但是SQL執行超時不一定是當前SQL語句功能點的設計問題,可能和關系數據庫同時執行的其他SQL命令有關,不能準確的限定問題。
因此,需要一種新的用于判定數據庫查詢指令是否存在設計不良的方式,能夠準確判斷出哪個指令存在不良問題,并能夠阻止其發送到數據庫執行,防止對數據庫相關的整個系統造成影響。
發明內容
本發明所要解決的技術問題在于,提供一種新的用于判定數據庫查詢指令是否存在設計不良的方式,能夠準確判斷出哪個指令存在不良問題,并能夠阻止其發送到數據庫執行,防止對數據庫相關的整個系統造成影響。
有鑒于此,本發明提供一種指令處理裝置,包括:信息獲取模塊,獲取數據庫的元數據信息;指令執行估算模塊,根據元數據信息,估算待發送給數據庫的指令在被執行時的資源消耗;指令處理模塊,判斷資源消耗是否超過預設閾值,并在判斷結果為否時,允許指令發送至數據庫,在判斷結果為是時,禁止指令發送至數據庫。通過該技術方案,能夠在指令發送到數據庫執行前,通過判斷其是否占用了太多資源,確認是否允許其執行,防止了不良指令占用太多資源而對基于數據庫的整個系統造成影響。
在上述技術方案中,優選地,資源消耗包括:執行指令所需要的數據量;執行指令將要輸出的結果數據量;執行指令所需要占用的內存。
在上述技術方案中,優選地,指令處理模塊還在判斷結果為是時,通過日志記錄指令。通過該技術方案,有利于快速找到可能有缺陷的指令,并對其進行改進。
在上述技術方案中,優選地,信息獲取模塊按預定時間或周期,獲取元數據信息。
在上述技術方案中,優選地,元數據信息包括:表描述、字段描述、索引描述以及每個表的數據量、字段數據分布情況統計。
本發明還提供一種指令處理方法,包括:步驟202,獲取數據庫的元數據信息;步驟204,根據元數據信息,估算待發送給數據庫的指令在被執行時的資源消耗;步驟206,判斷資源消耗是否超過預設閾值,并在判斷結果為否時,允許指令發送至數據庫,在判斷結果為是時,禁止指令發送至數據庫。通過該技術方案,能夠在指令發送到數據庫執行前,通過判斷其是否占用了太多資源,確認是否允許其執行,防止了不良指令占用太多資源而對基于數據庫的整個系統造成影響。
在上述技術方案中,優選地,資源消耗包括:執行指令所需要的數據量;執行指令將要輸出的結果數據量;執行指令所需要占用的內存。
在上述技術方案中,優選地,在步驟206中,在判斷結果為是時,還包括:通過日志記錄指令。通過該技術方案,有利于快速找到可能有缺陷的指令,并對其進行改進。
在上述技術方案中,優選地,在步驟202中,按預定時間或周期,獲取元數據信息。
在上述技術方案中,優選地,元數據信息包括:表描述、字段描述、索引描述以及每個表的數據量、字段數據分布情況統計。
通過以上技術方案,可以實現一種指令處理裝置和一種指令處理方法,能夠準確判斷出哪個指令存在不良問題,并能夠阻止其發送到數據庫執行,防止對數據庫相關的整個系統造成影響。
附圖說明
圖1是根據本發明的一個實施例的指令處理裝置的框圖;
圖2是根據本發明的一個實施例的指令處理方法的流程圖;
圖3是根據本發明的一個實施例的指令處理裝置的工作示意圖。
具體實施方式
為了能夠更清楚地理解本發明的上述目的、特征和優點,下面結合附圖和具體實施方式對本發明進行進一步的詳細描述。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于用友軟件股份有限公司,未經用友軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201110177239.2/2.html,轉載請聲明來源鉆瓜專利網。





