[发明专利]基于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 测试 优化 方法 系统 | ||
1.一种基于openresty的分布式数据库tpc-c测试优化方法,其特征在于,该方法是通过openresty轻度解析SQL获取最佳路由,直接在目标节点服务器上执行SQL;具体如下:
通过openresty的lua插件获取数据库客户端的tcp报文;
解析拦截到的tcp报文并获取warehouse ID;
获取元数据查询warehouseID和节点IP的对应关系;
通过openresty将sql发送到目标节点服务器;
断开tcp连接。
2.根据权利要求1所述的基于openresty的分布式数据库tpc-c测试优化方法,其特征在于,通过openresty的lua插件获取数据库客户端的tcp报文具体如下:
数据库的sql请求通过openresty在tcp层拦截;
通过ngx.socket.tcp创建并得到一个TCP或unix域流式socket对象,旨在与LuaSocket库的TCP API兼容,100%无阻塞开箱即用;
socket对象提供的各种方法实现建立socket连接、握手、读取报文的操作。
3.根据权利要求1所述的基于openresty的分布式数据库tpc-c测试优化方法,其特征在于,获取数据库客户端的tcp报文具体包括如下方法:
①、通过tcpsock的connect方法将tcp套接字对象连接到远程服务器或流unix域套接字文件而不阻塞;
②、通过tcpsock的sslhandshake方法在当前建立的连接上进行SSL/TLS握手,对于已经完成SSL/TLS握手的连接,此方法立即返回;
③、通过tcpsock的settimeout方法为后续套接字操作设置超时值;
④、通过tcpsock的setkeepalive方法将当前套接字的连接立即放入cosocket内置连接池,并使其保持活动状态,直到其他connect方法调用请求它或相关的最大空闲超时过期;
⑤、通过tcpsock的receive方法来读取数据流,根据读取模式和大小从连接的socket连接接收数据:
若数据接收成功,则返回接收到的数据;
若数据接收出错,则返回nil,其中包含一个描述错误的字符串和迄今为止接收到的部分数据。
4.根据权利要求1所述的基于openresty的分布式数据库tpc-c测试优化方法,其特征在于,解析拦截到的tcp报文具体如下:
通过解析报文,获得带有w_id字符串;
通过w_id的取值判定执行sql的warehouse;
将拿到的sql临时放到一个lua table当中。
5.根据权利要求1所述的基于openresty的分布式数据库tpc-c测试优化方法,其特征在于,获取元数据查询warehouseID和节点IP的对应关系具体如下:
通过openresty的lua插件调用数据库提供的元数据接口,获得warehouseID和目标节点服务器的对应关系;
Openresty提供resty.http库资源,发起http请求;
通过request_uri接口指定http请求方法、请求头和请求体的信息;
通过request_uri接口获得warehouseID和数据库集群节点IP的对应关系。
6.根据权利要求1所述的基于openresty的分布式数据库tpc-c测试优化方法,其特征在于,通过openresty将sql发送到目标节点服务器具体如下:
Openresty通过ngx.socket.tcp()提供的send方法,将tcp消息发送到目标节点服务器;
直接在目标服务器上解析执行sql。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110778492.7/1.html,转载请声明来源钻瓜专利网。