[发明专利]数据库管理系统调用外部函数的方法、装置、设备及介质有效
申请号: | 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.vipzhuanli.com/pat/books/201810068779.9/2.html,转载请声明来源钻瓜专利网。