【技術實現步驟摘要】
本專利技術屬于數據庫管理,尤其是涉及一種存儲過程執行過程中的受控制系統及其方法。
技術介紹
1、在數據庫管理系統的應用中,存儲過程扮演著關鍵的角色。它們是一組事先編寫好的sql語句,能夠被編譯并存儲在數據庫中,以便在后續進行快速的重復調用。存儲過程的使用不僅提高了sql語句的執行效率,還能有效地封裝業務邏輯,保證數據的一致性和安全性。然而,存儲過程的管理和控制仍然存在一些挑戰。在實際應用中,尤其是在復雜的業務場景下,開發人員和數據庫管理員可能需要在存儲過程執行時實時地介入,進行調試或修改以適應特定的運行條件或解決執行過程中出現的問題。這包括但不限于暫停執行、修改變量值、監控執行狀態等操作。盡管現代數據庫管理系統提供了基本的調試工具和部分控制功能,但這些工具往往缺乏靈活性,不足以滿足更細粒度的操作需求。例如,現有的系統可能無法提供實時的、基于條件的執行控制,或者不能在存儲過程執行的各個階段中動態地調整執行策略。此外,對于執行過程中的并發控制和高級錯誤處理機制,現有的解決方案也往往顯示出不足。
技術實現思路
1、有鑒于此,本專利技術旨在提出存儲過程執行過程中的受控制系統及其方法,以增強現有數據庫管理功能的靈活性和強度,還能提供更為高效的錯誤診斷和調試支持,極大地提升數據庫應用的可靠性和性能。
2、為達到上述目的,本專利技術的技術方案是這樣實現的:
3、存儲過程執行過程中的受控制系統。
4、進一步的,包括執行會話、調試會話,兩者協同工作以控制存儲過程的
5、使用條件變量來控制執行會話與調試會話之間的交互;
6、調試指令包括存取調試信息和流程控制,流程控制指令用于在執行過程中其它調試指令會排隊等待,確保并發控制。
7、進一步的,存儲過程執行過程中的受控制方法,基于存儲過程執行過程中的受控制系統,包括:
8、t1、切分與標記存儲過程:系統會使用詞法和語法分析工具對存儲過程進行切分和標記,確保每個語句都能被單獨識別和控制;
9、t2、執行會話與調試會話:系統創建執行會話和調試會話,執行會話用于運行存儲過程,調試會話用于監控和控制執行會話,執行會話在沒有外部中斷的情況下連續運行存儲過程;
10、t3、執行控制:調試會話可以實時監控執行會話,并根據需要發送控制命令,當執行會話暫停時轉到t4;
11、t4、變量監控與修改:調試會話可以查詢或修改存儲過程中的變量值,用于執行過程中動態調整變量,以響應程序的運行狀態或外部輸入的變化;
12、t5、日志和錯誤處理:系統會記錄執行過程中的所有關鍵事件和錯誤信息,以供后續分析。
13、進一步的,在所述t1中,將存儲過程中的每一個?sql?語句切分出來,并為它們標記行號,以便于后續步驟的引用。
14、進一步的,在所述t2中,調試會話運行時的指令包括調試信息存取類、流程控制類,調試信息存取類用于用戶鏈接存取信息,流程控制類對?session?exec控制的時候,指令在執行過程中,其他調試指令的執行會被加入隊列以控制并發。
15、進一步的,在所述t1中,切分邏輯為:
16、t11、使用?lex?這樣的工具對輸入的存儲過程文本進行詞法分析,將sql代碼分解成一個個tokens,變量名、關鍵字、操作符等都被識別并標記為不同類型的?tokens;
17、t12、通過識別特定的字符來確定每個?token?的位置信息,包括行號;
18、t13、語法分析器根據定義好的語法規則將?tokens?組合成邏輯上完整的語句;
19、t14、組合好的語句會根據它們包含的?tokens?的行號信息被翻譯成具體的執行指令。
20、進一步的,在所述t4中,調試會話包括以下命令中斷執行會話:
21、調試會話發送中斷命令給執行會話,暫停存儲過程的執行;
22、調試會話發送繼續命令給執行會話,恢復存儲過程的執行;
23、調試會話發送修改變量值的命令給執行會話,動態修改存儲過程中的變量。
24、進一步的,一種電子設備,包括處理器以及與處理器通信連接,且用于存儲所述處理器可執行指令的存儲器,所述處理器用于執行所述的存儲過程執行過程中的受控制方法。
25、進一步的,一種服務器,包括至少一個處理器,以及與所述處理器通信連接的存儲器,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述處理器執行,以使所述至少一個處理器執行所述的存儲過程執行過程中的受控制方法。
26、進一步的,一種計算機可讀取存儲介質,存儲有計算機程序,所述計算機程序被處理器執行時實現所述的存儲過程執行過程中的受控制方法。
27、相對于現有技術,本專利技術所述的存儲過程執行過程中的受控制系統及其方法具有以下有益效果:
28、通過允許實時監控和控制存儲過程的執行,系統可以提供更為精確的錯誤定位和調試功能。當存儲過程在執行中遇到問題時,開發人員可以即時介入,查看或修改相關變量值,或調整執行流程,從而快速解決問題。這不僅縮短了問題解決的時間,也提高了開發和維護的效率;通過精細控制執行流程,系統可以根據當前的數據庫負載和外部環境調整存儲過程的執行策略,比如優化執行順序或動態調整資源分配。這種靈活性使得數據庫能更有效地響應各種運行條件,從而提升整體的性能和響應速度。
本文檔來自技高網...【技術保護點】
1.存儲過程執行過程中的受控制系統,其特征在于:包括執行會話、調試會話,兩者協同工作以控制存儲過程的執行,執行會話用于實際執行存儲過程,調試會話用于發送控制命令和調試指令;
2.存儲過程執行過程中的受控制方法,基于權利要求1所述的存儲過程執行過程中的受控制系統,其特征在于:包括:
3.根據權利要求2所述的存儲過程執行過程中的受控制方法,其特征在于:在所述T1中,將存儲過程中的每一個?SQL?語句切分出來,并為它們標記行號,以便于后續步驟的引用。
4.根據權利要求2所述的存儲過程執行過程中的受控制方法,其特征在于:在所述T2中,調試會話運行時的指令包括調試信息存取類、流程控制類,調試信息存取類用于用戶鏈接存取信息,流程控制類對?session?exec控制的時候,指令在執行過程中,其他調試指令的執行會被加入隊列以控制并發。
5.根據權利要求2所述的存儲過程執行過程中的受控制方法,其特征在于:在所述T1中,切分邏輯為:
6.根據權利要求2所述的存儲過程執行過程中的受控制方法,其特征在于:在所述T4中,調試會話包括以下命令中斷
7.一種電子設備,包括處理器以及與處理器通信連接,且用于存儲所述處理器可執行指令的存儲器,其特征在于:所述處理器用于執行上述權利要求2-6任一所述的存儲過程執行過程中的受控制方法。
8.一種服務器,其特征在于:包括至少一個處理器,以及與所述處理器通信連接的存儲器,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述處理器執行,以使所述至少一個處理器執行如權利要求2-6任一所述的存儲過程執行過程中的受控制方法。
9.一種計算機可讀取存儲介質,存儲有計算機程序,其特征在于:所述計算機程序被處理器執行時實現權利要求2-6任一所述的存儲過程執行過程中的受控制方法。
...【技術特征摘要】
1.存儲過程執行過程中的受控制系統,其特征在于:包括執行會話、調試會話,兩者協同工作以控制存儲過程的執行,執行會話用于實際執行存儲過程,調試會話用于發送控制命令和調試指令;
2.存儲過程執行過程中的受控制方法,基于權利要求1所述的存儲過程執行過程中的受控制系統,其特征在于:包括:
3.根據權利要求2所述的存儲過程執行過程中的受控制方法,其特征在于:在所述t1中,將存儲過程中的每一個?sql?語句切分出來,并為它們標記行號,以便于后續步驟的引用。
4.根據權利要求2所述的存儲過程執行過程中的受控制方法,其特征在于:在所述t2中,調試會話運行時的指令包括調試信息存取類、流程控制類,調試信息存取類用于用戶鏈接存取信息,流程控制類對?session?exec控制的時候,指令在執行過程中,其他調試指令的執行會被加入隊列以控制并發。
5.根據權利要求2所述的存儲...
【專利技術屬性】
技術研發人員:劉宇,
申請(專利權)人:天津南大通用數據技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。