有效
| 申請號: | 201810068779.9 | 申請日: | 2018-01-24 |
| 公開(公告)號: | CN108228880B | 公開(公告)日: | 2020-07-14 |
| 發明(設計)人: | 王家賢;劉靜 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F9/445;G06F9/48;G06F9/54 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 管理 系統 調用 外部 函數 方法 裝置 設備 介質 | ||
本發明公開了一種數據庫管理系統調用外部函數的方法、裝置、設備及介質。該方法包括:如果通過數據庫服務器進程確定接收到客戶端發送的外部函數執行請求,則通過數據庫服務器進程向AP輔助進程發送外部函數執行任務,AP輔助進程為用于執行外部函數調用功能的輔助進程;通過AP輔助進程接收外部函數執行任務;通過AP輔助進程加載第三方共享庫,執行外部函數執行任務,獲取執行結果,并將執行結果返回至數據庫服務器進程;通過數據庫服務進程接收AP輔助進程返回的執行結果,并將執行結果發送給客戶端。上述方法優化了現有技術中的數據庫管理系統調用外部函數的方法,提高了數據庫服務器的穩定性以及外部函數的執行效率。
技術領域
本發明實施例涉及數據庫技術領域,尤其涉及一種數據庫管理系統調用外部函數的方法、裝置、設備及介質。
背景技術
外部函數是使用C語言或JAVA語言編寫,在數據庫外編譯并保存在第三方共享庫中,被用戶通過PL/SQL(Procedural Language/SQL,過程化SQL語言)調用的函數,其中,C語言環境下的共享文件為dll文件(Windows系統)和so文件(Linux系統),JAVA語言環境下的共享文件為jar包。用戶在數據庫外自定義的函數,放到數據庫中執行,也就成了外部函數。數據庫使用外部函數的方式,大大地擴展了SQL語言的存儲過程或執行方法,滿足了用戶的需求。
目前,大部分數據庫管理系統都允許調用外部函數(dll/so文件或jar包),方法有兩種:一是利用子進程的方式執行,數據庫管理系統只要接收到一個外部函數請求,就啟用一個子進程,分別來執行各自的響應,其缺點在于,如果有大量的外部函數并發執行,就需要啟動對應數量的子進程,且子進程之間還會互相搶奪系統資源;二是利用插件的方式來執行,把共享文件(dll/so文件或jar包)注冊到一個程序集中作為數據庫服務器的插件,并運行的過程中引用這個插件資源,其缺點在于,一旦共享文件出現問題,將會影響到整個數據庫服務器的運行。
發明內容
本發明實施例提供了一種數據庫管理系統調用外部函數的方法、裝置、設備及介質,以優化現有技術中的數據庫管理系統調用外部函數的方法,提高外部函數的執行效率。
第一方面,本發明實施例提供了一種數據庫管理系統調用外部函數的方法,包括:
如果通過數據庫服務器進程確定接收到客戶端發送的外部函數執行請求,則通過所述數據庫服務器進程向AP輔助進程發送外部函數執行任務,其中,所述AP輔助進程為數據庫管理系統用于執行外部函數調用功能的輔助進程;
通過所述AP輔助進程接收所述外部函數執行任務;
通過所述AP輔助進程加載第三方共享庫,執行所述外部函數執行任務,獲取執行結果,并將所述執行結果返回至所述數據庫服務器進程;
通過所述數據庫服務進程接收所述AP輔助進程返回的執行結果,并將所述執行結果發送給所述客戶端。
第二方面,本發明實施例還提供了一種數據庫管理系統調用外部函數的裝置,包括:
外部函數執行任務發送模塊,用于如果通過數據庫服務器進程確定接收到客戶端發送的外部函數執行請求,則通過所述數據庫服務器進程向AP輔助進程發送外部函數執行任務,其中,所述AP輔助進程為數據庫管理系統用于執行外部函數調用功能的輔助進程;
外部函數執行任務接收模塊,用于通過所述AP輔助進程接收所述外部函數執行任務;
外部函數執行任務執行模塊,用于通過所述AP輔助進程加載第三方共享庫,執行所述外部函數執行任務,獲取執行結果,并將所述執行結果返回至所述數據庫服務器進程;
外部函數執行結果回饋模塊,用于通過所述數據庫服務進程接收所述AP輔助進程返回的執行結果,并將所述執行結果發送給所述客戶端。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810068779.9/2.html,轉載請聲明來源鉆瓜專利網。





