[发明专利]分布式数据库预处理方法及代理层、系统、存储介质有效
申请号: | 201910647652.7 | 申请日: | 2019-07-17 |
公开(公告)号: | CN112241418B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 张军 | 申请(专利权)人: | 金篆信科有限责任公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 100744 北京市大兴区北京经济技术开发区科谷一*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 预处理 方法 代理 系统 存储 介质 | ||
本发明提供一种分布式数据库预处理方法、数据库代理层、系统及存储介质,通过接收预处理语句对应请求,进而根据预处理语句对应请求以及预处理语句缓存库里缓存的会话标识进行处理,其中,预处理语句缓存库里缓存的会话标识所对应的会话为客户端与数据库成功建立过连接的预处理语句会话;解决了现有技术中分布式数据库预处理的性能和效率均较低的问题,在一定程度上降低了数据库的负荷,提高了分布式数据库预处理的性能和效率,节省了资源。
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种分布式数据库预处理方法、数据库代理层、系统及存储介质。
背景技术
预处理语句是对准备prepare、执行execute、释放deallocate语句的统称,很像存储过程,是一种运行在后台的SQL语句集合。其与及时SQL语句相比,预处理语句将SQL语句分为2个部分,第一部分为前面相同的命令和结构部分,第二部分为后面的可变数据的部分。在执行SQL语句的时候,首先将前面相同的命令和结构部分(SQL语句中的值用占位符替代,可以视为将SQL语句模板化或者说参数化)发送给数据库,让数据库事先进行一次预处理(主要进行词法语义解析、语句优化、制定执行计划等),然后执行预处理语句时仅需发送参数的数据。预处理语句的优势在于归纳为:一次预处理、多次运行,省去了解析优化等过程,此外预处理语句能防止SQL注入。
分布式数据库目前已支持预处理,但是对于每次的预处理语句都会下发给底层数据库,并保持当前会话,直到预处理结束才会释放会话,对此会耗费大量的资源,并且在高并发的场景下频繁的下发预处理语句给数据库也会增加数据库的负荷,可见,现有技术中分布式数据库预处理的性能和效率均较低。
发明内容
本发明实施例提供的分布式数据库预处理方法、数据库代理层、系统及存储介质,主要解决的技术问题是现有技术中分布式数据库预处理的性能和效率均较低。
为解决上述技术问题,本发明实施例提供了一种分布式数据库预处理方法,应用于数据库代理层,所述分布式数据库预处理方法包括:
接收预处理语句对应请求;
根据所述预处理语句对应请求以及预处理语句缓存库里缓存的会话标识标识进行处理,所述预处理语句缓存库里缓存的会话标识标识所对应的会话为客户端与数据库成功建立过连接的预处理语句会话。
本发明实施例还提供了一种数据库代理层,所述数据库代理层包括接收模块以及处理模块;
所述接收模块用于接收预处理语句对应请求;
所述处理模块用于根据所述预处理语句对应请求以及预处理语句缓存库里缓存的会话标识进行处理,所述预处理语句缓存库里缓存的会话标识所对应的会话为客户端与数据库成功建立过连接的预处理语句会话。
本发明实施例还提供了一种系统,所述系统包括客户端、数据库以及如上述所述的数据库代理层;
所述客户端发送所述预处理语句对应请求至所述数据库代理层;
所述数据库代理层根据接收到的所述预处理语句对应请求以及预处理语句缓存库里缓存的会话标识进行处理,所述预处理语句缓存库里缓存的会话标识所对应的会话为客户端与数据库成功建立过连接的预处理语句会话;
所述数据库保持与所述数据库代理层中的预处理语句缓存库里缓存的会话的连接。
本发明实施例还提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述所述的分布式数据库预处理方法的步骤。
本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金篆信科有限责任公司,未经金篆信科有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910647652.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种手机用户用眼健康提醒方法及系统
- 下一篇:立式电暖袋及其插座