用于数据库代理请求交换的系统和方法技术方案

技术编号:9360511 阅读:130 留言:0更新日期:2013-11-21 06:16
本发明专利技术针对用于基于SQL请求的属性从多个数据库中选择数据库以转发SQL查询请求的系统和方法。在多个客户机和数据库中间的装置可建立到多个数据库的多个连接。该装置可从多个客户机中的客户机接收执行SQL查询的请求。该装置可响QL查询的请求的一个或多个属性的评估结果,从多个数据库中选择数据库。该装置可将执行SQL查询的请求经由多个连接中的连接转发到的所选择的数据库。

【技术实现步骤摘要】
【国外来华专利技术】用于数据库代理请求交换的系统和方法相关申请本申请要求在2010年12月28日提交的、标题为“SYSTEMSANDMETHODSFORDATABASEPROXYREQUESTSWITCHING”的美国临时专利申请NO.61/427696的优先权,该美国临时专利申请通过引用被全部包含于此。
本申请总的涉及数据通信网络。本申请尤其涉及用于提供数据库代理服务的系统和方法。
技术介绍
典型网络包含在服务器和客户机之间的多个中间装置,来促进通信以及提供各种网络服务。服务器可以是应用或者web服务器,向其他服务器或客户机提供各种类型的信息和/或服务。然而,随着信息类型和信息量呈指数倍增长,管理这些信息也变得更加复杂。数据库和数据库服务器越来越常见,并且与网络系统集成在一起用以存储、组织和提供各种类型的信息。尤其是,数据库服务器通常根据与另一网络装置的客户机-服务器关系进行操作。数据库服务器可使用一个或多个协议进行通信,但通常使用标准查询语言(SQL)。
技术实现思路
本申请针对用于提供数据库服务器和客户机之间的代理服务的系统和方法。在一些实施例中,网络设备充当数据库服务器和客户机之间的中间装置或代理。该设备可提供一个或多个数据库相关服务,包括但不限于:关于可扩展数据库的服务器侧连接多路复用、负载平衡、数据库健康监控、认证、数据库高速缓存、SQL防火墙,以及内容交换。为支持这些服务中的至少一些,可将设备配置为支持SQL语言和/或一个或多个数据库协议。可将设备配置为将用于支持应用或web服务器的一些可用服务调整为支持数据库服务器。例如,可将用于HTTP事务的策略表达式修改或者扩展为支持SQL相关的协议。在一些其他的方面,可将服务监控器修改或者扩展为提供对数据库的监控。此外,用于支持数据库相关服务的设备可包括多核架构(本文中也称为“多核系统”)。在一个方面,本公开针对用于由中间装置基于结构化查询语言(SQL)查询请求的属性,从多个数据库中选择数据库以向其转发该SQL请求的方法。所述方法可包括由在多个客户机和多个数据库中间的装置建立到多个数据库的多个连接。所述装置可从多个客户机中的客户机接收执行结构化查询语言(SQL)查询的请求。所述装置可响应于策略来评估该执行SQL查询的请求的一个或多个属性。所述装置可基于对该执行SQL查询的请求的一个或多个属性的评估的结果,从多个数据库中选择数据库。所述装置可将执行SQL查询的请求经由多个连接中的连接转发到所选择的数据库。在一些实施例中,所述装置建立到多个数据库中的每个数据库的连接池。所述装置可经由到多个数据库中的数据库的连接池,多路复用来自多个客户机的结构化查询语言(SQL)请求。所述策略可指定表达式,以为执行SQL查询的请求评估包括数据库连接特征的一个或多个属性,所述属性包括下列的其中一个:已认证用户的标识、数据库的名称、由客户机发送的字符集,以及客户机的能力。所述策略可指定表达式,以评估所述执行SQL查询的请求的一个或多个属性,该一个或多个属性包括对SQL查询的请求的命令参数。所述命令参数包括下列的一个或多个:请求大小和命令类型。在一些实施例中,所述策略可指定表达式,以评估该执行SQL查询的请求的一个或多个属性,该表达式包括SQL查询的语法部分和数据部分。在某些实施例中,负载平衡器基于最少链接负载平衡从多个数据库中选择数据库。所述装置可响应于该评估的结果确定执行SQL查询的请求包括写查询,以及在主从配置中选择包括主数据库的数据库。所述装置可响应于该评估的结果确定对于SQL查询的请求包括读查询,以及在主从配置中选择包括从数据库的数据库。所述装置可响应于该评估的结果,确定SQL查询是针对与预定用户、预定数据库名称和预定表中的一个或多个对应的数据库。在另一个方面,本公开针对用于由中间装置基于结构化查询语言(SQL)查询请求的属性,从多个数据库中选择数据库以向其转发该SQL请求的系统。所述系统包括在多个客户机和多个数据库中间的装置。所述装置可建立到多个数据库的多个连接。所述装置的数据库代理可从多个客户机中的客户机接收执行结构化查询语言(SQL)查询的请求。所述数据库代理的策略引擎可响应于策略来评估该执行SQL查询的请求的一个或多个属性。所述数据库代理可基于对执行SQL查询的请求的一个或多个属性的评估结果,从多个数据库中选择数据库。所述数据库代理可将该执行SQL查询的请求经由多个连接中的连接转发到所选择的数据库。在一些实施例中,所述装置建立到多个数据库中的每个数据库的连接池。所述数据库代理可经由到多个数据库中的数据库的连接池,多路复用来自多个客户机的结构化查询语言(SQL)请求。所述策略可指定表达式,以为执行SQL查询的请求评估包括数据库连接特征的一个或多个属性,所述属性包括下列的其中一个:已认证用户的标识、数据库的名称、由客户机发送的字符集,以及客户机的能力。所述策略可指定表达式,以评估执行SQL查询的请求的一个或多个属性。该一个或多个属性包括对SQL查询的请求的命令参数,所述命令参数包括下列的一个或多个:请求大小和命令类型。所述策略可指定表达式,以评估执行SQL查询的请求的一个或多个属性,该表达式包括SQL查询的语法部分和数据部分。在一些实施例中,所述装置的负载平衡器基于最少链接负载平衡从多个数据库中选择数据库。所述数据库代理可响应于由所述策略引擎的评估结果确定执行SQL查询的请求包括写查询,以及在主从配置中选择包括主数据库的数据库。所述数据库代理可响应于由所述策略引擎的评估结果确定对于SQL查询的请求包括读查询,以及在主从配置中选择包括从数据库的数据库。所述数据库代理可响应于由所述策略引擎的评估结果,确定SQL查询是针对与预定用户、预定数据库名称和预定表中的一个或多个对应的数据库。在附图和下面的描述中将详细阐述本专利技术的各种实施例的细节。附图说明通过参考下述结合附图的描述,本专利技术的前述和其它目的、方面、特征和优点将会更加明显并更易于理解,其中:图1A是客户机经由设备访问服务器的网络环境的实施例的框图;图1B是经由设备从服务器传送计算环境到客户机的环境的实施例的框图;图1C是经由设备从服务器传送计算环境到客户机的环境的另一个实施例的框图;图1D是经由设备从服务器传送计算环境到客户机的环境的另一个实施例的框图;图1E-1H是计算装置的实施例的框图;图2A是用于处理客户机和服务器之间的通信的设备的实施例的框图;图2B是用于优化、加速、负载平衡和路由客户端和服务器之间的通信的设备的另一个实施例的框图;图3是用于经由设备与服务器通信的客户机的实施例的框图;图4A是虚拟化环境的实施例的框图;图4B是虚拟化环境的另一个实施例的框图;图4C是虚拟化设备的实施例的框图;图5A是在多核网络设备中实现并行的方法的实施例的框图;图5B是使用多核网络应用的系统的实施例的框图;图5C是多核网络设备的一个方面的实施例的框图;图6A是用于使用多个监控代理来监控网络服务的设备的框图;图6B是用于在多核系统中进行监控的核上的表的实施例的框图;图6C是配置用于在多核系统中进行监控的表的方法的实施例的流程图;图6D是用于在多核系统中监控服务的方法的实施例的流程图;图6E是用于在多核系统中根据监控的服务的结果更新服务本文档来自技高网...
用于数据库代理请求交换的系统和方法

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.12.28 US 61/427,6961.一种用于由中间装置基于结构化查询语言(SQL)查询请求的属性,从多个数据库中选择数据库以向其转发该SQL查询请求的方法,所述方法包括:(a)由在多个客户机和多个数据库中间的装置建立到多个数据库的多个连接;(b)由所述装置从多个客户机中的客户机接收执行结构化查询语言(SQL)查询的请求,所述SQL查询包含在该请求中;(c)由所述装置响应于策略评估所述SQL查询的一个或多个属性,所述SQL查询的一个或多个属性识别要在数据库上采取的动作;(d)由所述装置基于对所述SQL查询的一个或多个属性的评估结果,从多个数据库中选择数据库;以及(e)由所述装置将所述执行SQL查询的请求经由多个连接中的连接转发到所选择的数据库。2.根据权利要求1所述的方法,其中步骤(a)还包括由所述装置建立到多个数据库中的每个数据库的连接池。3.根据权利要求2所述的方法,还包括由所述装置经由到多个数据库中的数据库的连接池,多路复用来自多个客户机的结构化查询语言(SQL)请求。4.根据权利要求1所述的方法,其中,步骤(c)还包括由所述策略指定表达式,以为所述执行SQL查询的请求评估包括数据库连接特征的一个或多个属性,所述属性包括下列的其中一个:已认证用户的标识、数据库的名称、由客户机发送的字符集,以及客户机的能力。5.根据权利要求1所述的方法,其中,步骤(c)还包括由所述策略指定表达式,以评估所述执行SQL查询的请求的一个或多个属性,该一个或多个属性包括对SQL查询的请求的命令参数,所述命令参数包括下列的一个或多个:请求大小和命令类型。6.根据权利要求1所述的方法,其中,步骤(c)还包括由所述策略指定表达式,以评估所述执行SQL查询的请求的一个或多个属性,该表达式包括SQL查询的语法部分和数据部分。7.根据权利要求1所述的方法,其中,步骤(d)还包括由所述装置的负载平衡器基于最少链接负载平衡从多个数据库中选择数据库。8.根据权利要求1所述的方法,其中,步骤(d)还包括由所述装置响应于所述评估的结果确定所述执行SQL查询的请求包括写查询,以及在主从配置中选择包括主数据库的数据库。9.根据权利要求1所述的方法,其中,步骤(d)还包括由所述装置响应于所述评估的结果确定对于SQL查询的请求包括读查询,以及在主从配置中选择包括从数据库的数据库。10.根据权利要求1所述的方法,其中,步骤(d)还包括由所述装置响应于所述评估的结果,确定所述SQL查...

【专利技术属性】
技术研发人员:A·仇达瑞P·罗摩占陀罗
申请(专利权)人:思杰系统有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1