SQL枚举器制造技术

技术编号:8687928 阅读:274 留言:0更新日期:2013-05-09 07:47
本文公开了收集与所接收请求相关的数据库信息的技术。在一个实施例中,系统包括数据库,事件检测器以及结构化查询语言(“SQL”)枚举器。所述事件检测器被配置成将接收的请求识别为产生一个或多个数据库查询语言语句并定义划定请求处理的事件。所述SQL枚举器被配置成基于事件记录指示数据库如何处理事件期间产生的语句的信息。所述SQL枚举器被进一步配置成向请求的发布者提供所记录的信息以及该请求和信息的关系的指示。

【技术实现步骤摘要】
【国外来华专利技术】SQL枚举器
技术介绍
系统采用组件抽象化(abstraction)以概括和简化组件的使用。然而,抽象化常常使组件的操作模糊,并阻碍识别与组件有关的性能或功能问题的努力。在许多系统中,与数据库的通信被认为是系统性能限制。可以抽象化数据库连接使得事件(例如,用户动作)和数据库活动之间的关系难以建立。附图说明现在将參考附图详细描述本专利技术的示例性实施例,其中:图1示出了包括根据各种实施例记录的数据库活动记录的系统方框图;图2示出了根据各种实施例的基于包括数据库活动记录的系统的处理器方框图;图3示出了根据各种实施例的与结构化查询语言(“SQL”)执行的相关的汇总的统计信息的显示;图4示出了根据各种实施例的由SQL语句分组的SQL执行信息的显示;图5示出了根据各种实施例的用于SQL语句的完整SQL语句及执行计划的显示;图6示出了根据各种实施例的SQL语句执行有关的堆栈跟踪的显示;以及图7示出了根据各种实施例用于记录数据库活动的方法流程图。符号和术语 遍及以下说明书和权利要求所使用某些术语指代特定的系统组件。如本领域的技术人员将理解的,计算机公司可能会用不同的名称指代ー个组件。本文不打算区分这些名称不同但功能相同的组件。在以下论述和权利要求中,术语“包括”和“包含”用于开放的方式,并因此应被解释意指“包括,但不限干…”的意思。此外,术语“耦合”或“耦合干”打算意指间接、直接、光学或无线电连接。因此,如果第一个设备耦合于第二个设备,则该连接可能是通过直接的电连接,通过经由其他设备或连接的间接电连接,通过光学电连接,或通过无线电连接。此外,术语“软件”包括任何能够在处理器上运行的可执行代码,而不论用于存储软件的介质。因此,存储在存储器(例如,非易失性存储器)中的代码,以及有时被称为“嵌入式固件,”包括在软件定义范围内。具体实施例方式以下论述针对本专利技术的各种实施例。虽然这些实施例中的ー个或多个可能是优选的,所以所公开的实施例不应该被解释或以其他方式使用为限制本公开的范围,包括权利要求。此外,本领域的技术人员将理解以下描述具有广泛的应用,并且任何实施例的论述仅意指该实施例将是示例性的,并且不意指在暗示本公开的范围,包括权利要求限于该实施例。通过隐藏所执行的操作的细节,抽象化用来简化功能的使用以提供功能。许多抽象化层可以应用于企业级应用程序。然而,通过隐藏功能细节,抽象化往往限制可见性。与数据库的通信是企业级应用程序性能的ー个重要因素。当数据库活动因抽象化而模糊时,诸如由对象-关系映射器(“ORM”)(例如Red Hat公司的Hibernate)提供,事件(诸如用户操作)和数据库活动之间的关系可能难以建立。本公开的实施例包括一种可以提供数据库活动中可见性的工具(结构化查询语言(“SQL”)枚举器)。SQL枚举器建立限定对应于执行线程的数据库相关的请求和响应的边界,并记录对应于所述请求的数据库活动。可以显示或以其他方式提供记录的数据库活动用以揭示由访问数据库的应用程序中请求接收所触发的详细数据库操作。图1示出根据各种实施例的包括数据库活动的记录的系统的方框图。该系统包括应用程序逻辑102,SQL枚举器104,数据库接口 108,以及数据库110。数据库110可以是关系型数据库,例如,Oracle公司的Oracle数据库,国际商业机器公司的DB2,微软公司的SQL服务器,等等。配置应用程序逻辑102以接收请求并基于接收的请求提供响应。请求可以触发应用程序逻辑102执行操作。操作的结果(例如,数据和/或操作状态)可以返回请求者116作为响应。在一些实施例中,请求可以是超文本传输协议(“HTTP”)请求并且响应可以是HTTP响应。应用程序逻辑102可以包括访问数据库110的业务逻辑,例如,基于接收到的请求。在一个实施例中,应用程序逻辑102是一个或多个惠普公司的计算机执行项目和组合管理(Project and Portfolio Management)。应用程序逻辑102可以包括对象关系映射器(“0RM”)112(例如,Hibernate)以帮助从关系型数据库110中存储和检索数据的应用程序102的面向对象的逻辑。ORM 112生成结构化查询语言(“SQL”)语句以访问关系型数据库110的合适的表。由于0RM112使与应用程序逻辑102的对象有关的数据库110活动模糊,所以可能难以将应用程序逻辑102和数据库110活动相关。应用程序逻辑102还包括数据库事件检测器114。数据库事件检测器114识别来自初始化数据库110活动的请求者116的请求。数据库事件检测器114可以将事件划定为以接收请求开始并以向请求者116提供所接收请求的响应而完成。在一些实施例中,数据库事件检测器114可以包括过滤器以提供对初始化数据库110活动的接收请求的识别。在一些实施例中,可以经由Apache软件基金会的Struts或等效框架提供过滤器。过滤器解析请求以确定该请求是否将发起(launch)数据库110活动。确定可以基于指示数据库访问需求的接收请求的参数。数据库接口 108经由SQL枚举器104与应用程序逻辑102相连接。数据库接口 108提供用于通过接口连接到给定数据库110的逻辑。在系统100的一些实施例中,例如在其中应用程序102包括Java的实施例中,数据库接口 108可以包括Java数据库连接(“JDBC”)。在一些实施例中,数据库接口 108可以包括开放数据库连接(“ODBC”)或等效接口。数据库接口 108允许应用程序102与数据库110连接,并且帮助向数据库110发送查询及其他SQL语句以及从数据库110中检索查询结果。SQL枚举器104监测由应用程序逻辑102初始化的数据库操作。通过数据库事件检测器114将事件信息提供给SQL枚举器104,允许SQL枚举器104将数据库活动参考引起活动的所接收请求。SQL枚举器104记录事件处理期间由应用程序逻辑102发起的每条SQL语句(例如,语句,预编译语句,等等)。实施例确定每条SQL语句的发起时间,和/或处理每条SQL语句的所需时间(例如,通过确定从数据库110接收语句结果的时间)。实施例还为每条执行的SQL语句检索数据库执行计划和/或包含执行步骤指示信息的堆栈跟踪(例如,执行方法)以发起语句。在一些实施例中,从记录执行信息的应用程序逻辑102的控制器中(例如,Java虚拟机)检索堆栈跟踪,并且执行计划从数据库110中检索。与对应于事件的数据库110活动相关的信息被存储为事件定义活动记录106。SQL枚举器104还包括提供记录数据库活动信息106作为显示设备(例如,与请求者116相关的显示设备)上一个或多个显示的数据库活动显示逻辑116。SQL枚举器104和应用程序逻辑102的实施例可以被实现为专用电路和/或ー个或多个处理器(例如,通用处理器)和/或一个或多个被编程为执行本文描述的功能的计算机。图2示出了根据各种实施例的包括数据库活动记录的基于处理器系统200的方框图。系统200包括程序/数据储存器204以及ー个或多个处理器202。系统200的ー些实施例还包括网络适配器224和用户I/O (输入/输出)设备220。如本领域所知,系统200的这些元件可以嵌入在计算机中。台式计算机、服本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括: 数据库; 事件检测器,其被配置为: 将接收的请求识别为产生一个或多个数据库查询语言语句;以及 定义划定所述请求的处理的事件;以及 结构化查询语言(“SQL”)枚举器,其被配置为: 基于所述事件,记录指示所述数据库如何处理所述事件期间产生的语句的信息;以及 向所述请求的发布者提供所记录的信息以及所述请求和信息的关系的指示。2.按权利要求1所述的系统,其中所述SQL枚举器被配置成记录发起所述语句中的每个的时间以及所述语句中的每个的执行持续时间。3.按权利要求1所述的系统,其中所述SQL枚举器被配置成基于所述产生的语句记录由所述数据库执行的所述查询语言语句。4.按权利要求1所述的系统,其中所述SQL枚举器被配置成记录针对每个语句生成的所述数据库的执行计划。5.按权利要求1所述的系统,其中所述SQL枚举器被配置成记录接收所述请求和向请求者返回结果之间执行每个语句的次数。6.按权利要求1所述的系统,其中 所述SQL枚举器被配置成记录用于每个语句的堆栈跟踪。7.按权利要求1所述的系统,其中所述SQL枚举器被嵌入在接收所述请求的应用程序中。8.按权利要求1所述的系统,其中所述SQL枚举器被配置成提供所生成的响应于所述请求的信息显示,所述信息包括: 所执行的查询语言语句的总数; 所执行的唯一查询语言语句的数量; 执行所有查询语言语句的所需时间; 所执行的每个查询语言语句的文本; 执行每个查询语言语句的次数; 用于每个查询语言语句的执行时间; 用于每个查询语言语句的执行计划;以及 用于每个查询语言语句的堆栈跟踪。9.一种方法,包括: 通过一个或多个处理器接收请求; 通过所述一个或多个处理器,基于所述请...

【专利技术属性】
技术研发人员:B·古R·A·克塔加加J·赵
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:
国别省市:

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

1