[發(fā)明專利]數(shù)據(jù)庫管理系統(tǒng)調(diào)用外部函數(shù)的方法、裝置、設(shè)備及介質(zhì)有效
| 申請?zhí)枺?/td> | 201810068779.9 | 申請日: | 2018-01-24 |
| 公開(公告)號: | CN108228880B | 公開(公告)日: | 2020-07-14 |
| 發(fā)明(設(shè)計)人: | 王家賢;劉靜 | 申請(專利權(quán))人: | 上海達(dá)夢數(shù)據(jù)庫有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F9/445;G06F9/48;G06F9/54 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 管理 系統(tǒng) 調(diào)用 外部 函數(shù) 方法 裝置 設(shè)備 介質(zhì) | ||
1.一種數(shù)據(jù)庫管理系統(tǒng)調(diào)用外部函數(shù)的方法,其特征在于,包括:
如果通過數(shù)據(jù)庫服務(wù)器進(jìn)程確定接收到客戶端發(fā)送的外部函數(shù)執(zhí)行請求,則通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程向AP輔助進(jìn)程發(fā)送外部函數(shù)執(zhí)行任務(wù),其中,所述AP輔助進(jìn)程為數(shù)據(jù)庫管理系統(tǒng)用于執(zhí)行外部函數(shù)調(diào)用功能的輔助進(jìn)程;
通過所述AP輔助進(jìn)程接收所述外部函數(shù)執(zhí)行任務(wù);
通過所述AP輔助進(jìn)程加載第三方共享庫,執(zhí)行所述外部函數(shù)執(zhí)行任務(wù),獲取執(zhí)行結(jié)果,并將所述執(zhí)行結(jié)果返回至所述數(shù)據(jù)庫服務(wù)器進(jìn)程,其中,所述第三方共享庫用于存儲外部函數(shù)程序;
通過所述數(shù)據(jù)庫服務(wù)進(jìn)程接收所述AP輔助進(jìn)程返回的執(zhí)行結(jié)果,并將所述執(zhí)行結(jié)果發(fā)送給所述客戶端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫服務(wù)器進(jìn)程與所述AP輔助進(jìn)程之間的通信方式包括:socket通信或者管道通信。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)庫服務(wù)器進(jìn)程與所述AP輔助進(jìn)程之間的通信方式為所述管道通信;
所述通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程向AP輔助進(jìn)程發(fā)送外部函數(shù)執(zhí)行任務(wù),包括:
通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程從預(yù)先創(chuàng)建的管道池中獲取一個空閑的專用管道或新建一個專用管道后,生成外部函數(shù)執(zhí)行任務(wù)消息,其中,所述外部函數(shù)執(zhí)行任務(wù)消息中包括所述專用管道的管道名、任務(wù)語言類型以及任務(wù)信息;
如果確定所述數(shù)據(jù)庫服務(wù)器進(jìn)程開啟監(jiān)聽管道客戶端,則通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程經(jīng)由所述監(jiān)聽管道向所述AP輔助進(jìn)程發(fā)送所述外部函數(shù)執(zhí)行任務(wù)消息;
如果確定所述數(shù)據(jù)庫服務(wù)器進(jìn)程開啟專用管道服務(wù)端,則通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程經(jīng)由所述專用管道向所述AP輔助進(jìn)程發(fā)送執(zhí)行參數(shù)消息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述AP輔助進(jìn)程包括監(jiān)聽線程和任務(wù)線程,其中,所述監(jiān)聽線程用于監(jiān)聽所述數(shù)據(jù)庫服務(wù)器進(jìn)程發(fā)送的外部函數(shù)執(zhí)行任務(wù)消息,并根據(jù)所述外部函數(shù)執(zhí)行任務(wù)消息生成相應(yīng)的任務(wù)線程,所述任務(wù)線程用于執(zhí)行外部函數(shù);
在所述通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程向AP輔助進(jìn)程發(fā)送外部函數(shù)執(zhí)行任務(wù)之前,還包括:通過所述AP輔助進(jìn)程創(chuàng)建所述監(jiān)聽管道;
所述通過所述AP輔助進(jìn)程接收所述外部函數(shù)執(zhí)行任務(wù),包括:
如果確定所述監(jiān)聽線程開啟監(jiān)聽管道服務(wù)端,則通過所述監(jiān)聽線程監(jiān)聽所述外部函數(shù)執(zhí)行任務(wù)消息;
如果通過所述監(jiān)聽線程經(jīng)由所述監(jiān)聽管道接收到所述外部函數(shù)執(zhí)行任務(wù)消息,則解析所述專用管道的管道名;
如果確定所述監(jiān)聽線程根據(jù)所述管道名開啟專用管道的客戶端,則通過所述監(jiān)聽線程生成對應(yīng)的任務(wù)線程,并放入任務(wù)隊列,其中,目標(biāo)任務(wù)線程的線程參數(shù)為目標(biāo)專用管道的管道名、任務(wù)語言類型以及任務(wù)信息;
通過目標(biāo)任務(wù)線程經(jīng)由目標(biāo)專用管道接收并解析所述執(zhí)行參數(shù)消息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述通過所述AP輔助進(jìn)程加載第三方共享庫,執(zhí)行所述外部函數(shù)執(zhí)行任務(wù),獲取執(zhí)行結(jié)果,并將所述執(zhí)行結(jié)果返回所述數(shù)據(jù)庫服務(wù)器進(jìn)程,包括:
通過所述任務(wù)線程按任務(wù)隊列執(zhí)行外部函數(shù),獲取執(zhí)行結(jié)果;
通過所述任務(wù)線程將所述執(zhí)行結(jié)果返回至所述數(shù)據(jù)庫服務(wù)器進(jìn)程;
在所述通過所述任務(wù)線程將所述執(zhí)行結(jié)果返回至所述數(shù)據(jù)庫服務(wù)器進(jìn)程之后,還包括:
通過任務(wù)線程關(guān)閉與所述任務(wù)線程對應(yīng)的專用管道;
退出所述任務(wù)線程;
通過所述數(shù)據(jù)庫服務(wù)器進(jìn)程將所述專用管道放回管道池。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述監(jiān)聽管道和專用管道使用非阻塞連接模型;各個任務(wù)線程將所述執(zhí)行結(jié)果返回所述數(shù)據(jù)庫服務(wù)器進(jìn)程時使用非阻塞寫模型;所述數(shù)據(jù)庫服務(wù)進(jìn)程接收所述AP輔助進(jìn)程返回的執(zhí)行結(jié)果時使用非阻塞讀模型。
7.根據(jù)權(quán)利要求1-6任一項所述的方法,其特征在于,所述第三方共享庫包括文件類型為dll文件、so文件和Jar包的外部函數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海達(dá)夢數(shù)據(jù)庫有限公司,未經(jīng)上海達(dá)夢數(shù)據(jù)庫有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810068779.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(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ù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置
- IDL調(diào)用裝置及調(diào)用方法
- 調(diào)用方法及調(diào)用系統(tǒng)
- 一種服務(wù)調(diào)用方法及裝置
- 服務(wù)調(diào)用方法、服務(wù)調(diào)用裝置及服務(wù)調(diào)用系統(tǒng)
- 組件調(diào)用方法、裝置及計算機(jī)可讀存儲介質(zhì)
- 身份驗證方法及裝置
- 系統(tǒng)調(diào)用處理方法、裝置、計算機(jī)設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)調(diào)用方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種微服務(wù)請求重試的方法及終端
- 業(yè)務(wù)數(shù)據(jù)的處理方法、裝置及系統(tǒng)





