[发明专利]一种执行数据库操作命令的计算设备和方法有效
申请号: | 201310270256.X | 申请日: | 2013-06-29 |
公开(公告)号: | CN104252501B | 公开(公告)日: | 2018-08-21 |
发明(设计)人: | 李强;朱仲楚 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 执行 数据库 操作 命令 计算 设备 方法 | ||
本发明涉及数据库领域,公开了一种执行数据库操作命令的计算设备和方法,本发明确定所述操作命令请求的操作是否为读操作,若所述操作命令请求的操作是读操作,通过对所述数据库服务器进程内存的授权访问,执行所述操作命令,获得查询结果,提高了读数据性能;若不是读操作,转发所述操作命令到所述数据库服务器,以便所述数据库服务器执行所述操作命令,提高了非读操作的可靠性。
技术领域
本发明涉及数据库系统,具体涉及执行数据库操作命令的计算设备和方法。
背景技术
在联机事务处理(OLTP:Online Transaction Processing)系统中,如电信行业的计费系统,证券行业的交易系统等,数据库处于核心地位,数据库需要极其频繁地处理海量的事务请求,并保证数据的一致可用,这就要求数据库能提供很高的吞吐量和可靠性。
数据库客户端可通过不同的通讯模式访问数据库服务器。数据库客户端通过传输控制协议(TCP:Transmission Control Protocol)/互联网协议(IP,Internet Protocol)与数据库服务器通讯时,TCP/IP协议解析占用大量处理器指令周期,网络资源消耗过大,数据库客户端请求和数据库服务器端返回结果都需要将需待交互的内存数据拷贝到套接字缓冲。若数据库客户端采用域套接字(Domain Socket)方式与数据库服务器通讯,协议解析方面的资源消耗有所减少,但仍需将待交互的内存数据拷贝到套接字缓冲。数据库客户端使用进程间通讯(IPC:Inter-Process Communication)的方式与数据库服务器通讯时,数据库服务器建立一个代理线程处理数据库客户端请求,数据库客户端发送请求和数据库服务器返回结果需要将服务器端内存中数据拷贝到代理线程的通信缓冲区中。使用套接字缓冲或通信缓冲区,均容易成为性能瓶颈。
发明内容
本发明实施例提供一种执行数据库操作命令的计算设备及方法,以提高数据库客户端访问数据库服务器的性能及可靠性。
第一方面,提供了一种执行数据库操作命令的计算设备,包括数据库客户端和数据库服务器,
所述数据库客户端,用于接收对所述数据库服务器管理的数据的操作命令,
确定所述操作命令请求的操作是否为读操作,
若所述操作命令请求的操作是读操作,通过对所述数据库服务器进程内存的授权访问,执行所述操作命令,获得查询结果;
若所述操作命令请求的操作不是读操作,转发所述操作命令到所述数据库服务器,以便所述数据库服务器执行所述操作命令。
在第一方面的第一种可能的实现方式中,所述数据库客户端具体包括连接接口,解析器及执行器:
连接接口,用于接收对所述数据库服务器管理的数据的操作命令,
解析器,用于解析所述连接接口接收的所述操作命令,确定所述操作命令请求的操作是否为读操作,若所述操作命令请求的操作是读操作,发送所述操作命令到所述执行器;若所述操作命令请求的操作不是读操作,转发所述操作命令到数据库服务器;
所述执行器,用于执行所述解析器发来的操作命令,通过对所述数据库服务器进程内存的授权访问获得查询结果。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述连接接口进一步用于获得数据库服务器进程内存的访问权限,以及申请数据库服务器建立一个代理线程。
第二方面,提供了一种执行数据库操作命令的方法,应用于数据库客户端,包括:
接收对数据库服务器管理的数据的操作命令,
确定所述操作命令请求的操作是否为读操作,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310270256.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防伪结构及其制造方法、防伪方法
- 下一篇:一种编织袋支架式运输车