[发明专利]一种分布式数据库中存储过程的并发调度装置在审
| 申请号: | 202010247685.5 | 申请日: | 2020-04-01 |
| 公开(公告)号: | CN111427695A | 公开(公告)日: | 2020-07-17 |
| 发明(设计)人: | 刘壮;刘阳;季业;王世航;张豪;陈明松 | 申请(专利权)人: | 山东汇贸电子口岸有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06F16/27;G06F16/25 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
| 地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 数据库 存储 过程 并发 调度 装置 | ||
本发明提供一种分布式数据库中存储过程的并发调度装置,属于数据库技术领域,包括原分布式数据库,通信接口,存储过程操作模块;存储过程操作模块进一步分为一个主进程和对应于每个用户窗口的子进程;主进程通过一个由共享内存实现的调度队列管理各个子进程。所述原分布式数据库是一个独立的分布式数据库,记录存储过程和其他数据。所述通信接口负责分布式数据库和存储过程操作模块间SQL语句和数据的信息交换。所述存储过程操作模块的主进程负责通过通信模块和分布式数据库进行SQL交流和数据传输。所述存储过程操作模块的子进程负责具体的存储过程操作,包括创建、执行、修改和删除。
技术领域
本发明涉及数据库技术,尤其涉及一种分布式数据库中存储过程的并发调度装置。
背景技术
CockroachDB是一款开源的分布式数据库,具有NoSQL对海量数据的存储管理能力,又保持了传统数据库支持的ACID和SQL等,还支持跨地域、去中心、高并发、多副本强一致和高可用等特性。存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升
目前,CockroachDB只支持单条的SQL语句和有限的带参数的SQL语句,并不支持存储过程。如果想令CockroachDB支持存储过程,一种方法是将其他数据库(如PostgreSQL)的存储过程操作模块嵌入CockroachDB,由CockroachDB将存储过程的创建、执行等命令发送给PostgreSQL模块,由PostgreSQL模块解析命令,将解析得到的SQL语句送回CockroachDB执行。但是,在PostgreSQL中每一个用户session对应一个进程,而CockroachDB中并非如此,故以上方案不支持并发操作存储过程。将相关代码段简单加锁后可以支持并发,但本质上是依次执行,效率很低,实用性有限。
发明内容
为了解决以上技术问题,本发明提出了一种分布式数据库中存储过程的并发调度装置,用于解决分布式数据库内嵌存储过程模块以支持存储过程的方案中不支持并发、并发效率低下的问题。
本发明的技术方案是:
一种分布式数据库中存储过程的并发调度装置,包括原分布式数据库,通信接口,存储过程操作模块;
其中,存储过程操作模块可以进一步分为一个主进程和对应于每个用户窗口的子进程,它们之间是一对多的关系;主进程通过一个由共享内存实现的调度队列管理各个子进程。
所述原分布式数据库包括底层元数据库和分布式引擎,用于记录存储过程和储存其他数据,并执行存储过程操作模块解析得到的SQL语句。
所述原分布式数据库,可以是任意不原生支持存储过程的分布式数据库。
所述通信接口负责分布式数据库和存储过程操作模块间SQL语句和数据的信息交换。对于创建、执行等存储过程操作,通信接口将代表存储过程操作的SQL语句发送给存储过程操作模块,并将返回的操作结果发送回分布式数据库。在存储过程操作模块将存储过程操作解析为SQL语句后,通信接口将它们发送回分布式数据库执行,并将执行结果或拉取的数据发送给存储过程操作模块。
所述通信接口,是由合适方法实现的,原分布式数据库和存储过程操作模块间的通信接口。除通信外,还包括模块初始化、错误捕获及处理等功能。
所述存储过程操作模块的主进程负责通过通信接口和分布式数据库进行SQL交流和数据传输,同时为每一个用户窗口创建并维护一个子进程。所述存储过程操作模块的子进程负责具体的存储过程操作,包括创建、执行、修改和删除;当需要读写元数据表时,通过主进程向分布式数据库请求拉取数据或操作数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东汇贸电子口岸有限公司,未经山东汇贸电子口岸有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010247685.5/2.html,转载请声明来源钻瓜专利网。





