[发明专利]基于openresty的分布式数据库tpc-c测试优化方法及系统在审
申请号: | 202110778492.7 | 申请日: | 2021-07-09 |
公开(公告)号: | CN113505067A | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 孙初雄;马浩严;郑志伟 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/242;G06F9/445 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 openresty 分布式 数据库 tpc 测试 优化 方法 系统 | ||
本发明公开了一种基于openresty的分布式数据库tpc‑c测试优化方法及系统,属于分布式数据库中间件技术领域,本发明要解决的技术问题为如何减少数据库集群内给节点之间不必要的网络通信,提升分布式数据库的tpc‑c测试结果,采用的技术方案为:该方法是通过openresty轻度解析SQL获取最佳路由,直接在目标节点服务器上执行SQL;具体如下:通过openresty的lua插件获取数据库客户端的tcp报文;解析拦截到的tcp报文并获取warehouse ID;获取元数据查询warehouseID和节点IP的对应关系;通过openresty将sql发送到目标节点服务器;断开tcp连接。
技术领域
本发明涉及分布式数据库中间件技术领域,具体地说是一种基于openresty的分布式数据库tpc-c测试优化方法及系统。
背景技术
随着互联网金融的兴起,商业银行不管从业务还是技术层面都面临着巨大的冲击,数据库作为银行重要的基础设施,一直承担着压舱石的角色。随着数据量越发庞大、数据模型越发复杂、应用迭代速度加快、并发量的激增,传统商业数据库面临着前所未有的考验。在此背景下,分布式NEWSQL数据库得到飞速发展,产生了一系列数据库新技术新理念。
故如何减少数据库集群内给节点之间不必要的网络通信,提升分布式数据库的tpc-c测试结果是目前亟待解决的问题。
发明内容
本发明的技术任务是提供一种基于openresty的分布式数据库tpc-c测试优化方法及系统,来解决如何减少数据库集群内给节点之间不必要的网络通信,提升分布式数据库的tpc-c测试结果的问题。
本发明的技术任务是按以下方式实现的,一种基于openresty的分布式数据库tpc-c测试优化方法,该方法是通过openresty轻度解析SQL获取最佳路由,直接在目标节点服务器上执行SQL;具体如下:
通过openresty的lua插件获取数据库客户端的tcp报文;
解析拦截到的tcp报文并获取warehouse ID;
获取元数据查询warehouseID和节点IP的对应关系;
通过openresty将sql发送到目标节点服务器;
断开tcp连接。
作为优选,通过openresty的lua插件获取数据库客户端的tcp报文具体如下:
数据库的sql请求通过openresty在tcp层拦截;
通过ngx.socket.tcp创建并得到一个TCP或unix域流式socket对象,旨在与LuaSocket库的TCP API兼容,100%无阻塞开箱即用;
socket对象提供的各种方法实现建立socket连接、握手、读取报文的操作。
作为优选,获取数据库客户端的tcp报文具体包括如下方法:
①、通过tcpsock的connect方法将tcp套接字对象连接到远程服务器或流unix域套接字文件而不阻塞;
②、通过tcpsock的sslhandshake方法在当前建立的连接上进行SSL/TLS握手,对于已经完成SSL/TLS握手的连接,此方法立即返回;
③、通过tcpsock的settimeout方法为后续套接字操作设置超时值(以毫秒为单位);
④、通过tcpsock的setkeepalive方法将当前套接字的连接立即放入cosocket内置连接池,并使其保持活动状态,直到其他connect方法调用请求它或相关的最大空闲超时过期;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110778492.7/2.html,转载请声明来源钻瓜专利网。