一种单点业务性能的分析方法、装置和系统的制作方法

文档序号:7889448阅读:241来源:国知局
专利名称:一种单点业务性能的分析方法、装置和系统的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种单点业务性能的分析方法、装置和系统。
背景技术
单点业务性能的分析,指的是对该单点业务在客户端或服务端的运行情况进行追踪、收集和分析。通过对单点业务性能的分析,可以定位该单点业务的性能问题,从而使得程序员可以根据该性能问题及时作出修改,有利于提高单点业务的性能。在现有技术中,对单点业务性能的分析主要有三种,第一种是在oracle数据库(甲骨文数据库)层面上实现,主要通过会话级别打开SQL_trace (oracle数据库中的一种SQL跟踪手段)开关,收集SQL_trace文件来进行分析;一种是通过实例级别打开SQL_trace开关,收集SQL_trace文件来进行分析;另一种是通过oracle数据库的事件管理器(Oracle Enterprise manager)工具来查找耗时的SQL语句来进行分析。在对现有技术的研究和实践过程中,本发明的发明人发现,不管采用以上的哪种分析方法,都无法对客户端和服务端进行联查,不利于定位单点业务的性能问题,从而不利于改善单点业务的性能。

发明内容
本发明实施例提供一种单点业务性能的分析方法、装置和系统,可以对客户端和服务端进行联查,精确地定位单点业务的性能问题。一种单点业务性能的分析方法,包括:确定需要分析的单点业务所对应的事件;根据所述事件获取对应的客户端远程过程调用协议(RPC, Remote ProcedureCall Protocol)日志信息;根据客户端RPC日志信息获取对应的服务端RPC日志信息;根据所述客户端RPC日志信息和服务端RPC日志信息分析所述单点业务的性能。一种单点业务性能的分析装置,包括:确定单元,用于确定需要分析的单点业务所对应的事件;第一获取单元,用于根据所述事件获取对应的客户端远程过程调用协议RPC日志
信息;第二获取单元,用于根据客户端RPC日志信息获取对应的服务端RPC日志信息;分析单元,用于根据所述客户端RPC日志信息和服务端RPC日志信息分析所述单点业务的性能。一种企业资源计划系统(ERP,Enterprise Resource Planning),包括本发明实施例提供的任一种单点业务性能的分析装置。本发明实施例通过确定需要分析的单点业务所对应的事件,来获取对应的客户端RPC日志信息,然后再通过 客户端RPC日志信息获取到对应的服务端RPC日志信息,最后再结合客户端RPC日志信息和服务端RPC日志信息对单点业务的性能进行分析,从而实现了对客户端和服务端进行联查的目的,可以准确地对单点业务的性能问题进行定位,有利于改善单点业务的性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的单点业务性能的分析方法的流程图;图2是本发明实施例提供的单点业务性能的分析方法的另一流程图;图3a是本发明实施例提供的客户端RPC日志信息的统一建模语言(UML,UnifiedModeling Language)模型图;图3b是本发明实施例提供的第一服务端RPC日志信息的UML模型图;图3c是本发明实施例提供的第二服务端RPC日志信息的UML模型图;图4是本发明实施例提供的单点业务性能分析装置的结构示意图;图5是本发明实施例提供的单点业务性能分析装置的另一结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种单点业务性能的分析方法、装置和系统。以下分别进行详细说明。实施例一、本实施例将从单点业务性能分析装置的角度进行描述。该单点业务性能分析装置具体可以作为独立的实体实现,也可以集成在客户端、服务端或其他设备中,比如,集成在企业资源计划(ERP, Enterprise Resource Planning)系统的客户端或服务端中,等等。一种单点业务性能的分析方法,包括:确定需要分析的单点业务所对应的事件;根据所述事件获取对应的客户端远程过程调用协议RPC日志信息;根据客户端RPC日志信息获取对应的服务端RPC日志信息;根据所述客户端RPC日志信息和服务端RPC日志信息分析所述单点业务的性能。如图1所示,具体流程可以如下:101、确定需要分析的单点业务所对应的事件;102、根据步骤101中确定的事件获取对应的客户端RPC日志信息;其中,客户端RPC日志信息可以包括事件名、程序类名与方法名、访问标识、RPC调用的时间、RPC调用次数、RPC调用的时长和RPC总得调用时间等信息;103、 根据客户端RPC日志信息获取对应的服务端RPC日志信息;
其中,服务端RPC日志信息可以包括两个RPC日志信息,一个是针对SQL脚本与SQL所在的程序类名与方法名的SQL日志信息,另一个是针对SQL执行计划(Plan)的计划日志信息,为了描述方便,在本发明实施例中将SQL日志信息称为第一服务端RPC日志信息,而将计划日志信息称为第二服务端RPC日志信息,这两种RPC日志信息的内容具体可以如下:(I)第一服务端RPC日志信息;该第一服务端RPC日志信息具体可以包括程序类名与方法名、结构化查询语言(SQL, Structured Query Language)语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间等信息;(2)第二服务端RPC日志信息;该第二服务端RPC日志信息具体可以包括SQL语句和执行计划信息等信息。则根据客户端RPC日志信息获取对应的服务端RPC日志信息具体可以如下:根据客户端RPC日志信息中的访问标识在第一服务端RPC日志信息中联查到对应的程序类名与方法名、SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间;根据第一服务端RPC日志信息中的SQL标识在第二服务端RPC日志信息中联查到对应的SQL语句和执行计划信息。104、根据步骤102中获取到的客户端RPC日志信息和步骤103中获取到的服务端RPC日志信息分析该单点业务的性能。例如,具体可以如下:(I)根据客户端RPC 日志信息中的事件名、程序类名与方法名、访问标识、RPC调用的时间、RPC调用次数、RPC调用的时长和RPC总得调用时间分析该单点业务在客户端上的程序性能;(2)根据第一服务端RPC日志信息中的程序类名与方法名、SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间分析该单点业务在服务端上的程序性能;(3)根据第二服务端RPC日志信息中的SQL语句和执行计划信息得到执行计划的时间,根据执行计划的时间分析所述单点业务在服务端上的SQL性能。其中,客户端RPC日志信息和服务端RPC日志信息为根据单点业务的执行情况而预先生成的日志信息,即,在确定需要分析的单点业务所对应的事件之前,该方法还可以包括:调用客户端的RPC程序,以及调用服务端的RPC程序;在客户端和服务端执行单点业务时,利用调用的客户端的RPC程序对单点业务的执行情况进行监控,并在客户端生成客户端RPC日志信息;以及,利用调用的服务端的RPC程序对单点业务的执行情况进行监控,并在服务端生成服务端RPC日志信息。由上可知,本实施例通过确定需要分析的单点业务所对应的事件,来获取对应的客户端RPC日志信息,然后再通过客户端RPC日志信息获取到对应的服务端RPC日志信息,最后再结合客户端RPC日志信息和服务端RPC日志信息对单点业务的性能进行分析,从而实现了对客户端和服务端进行联查的目的,可以准确地对单点业务的性能问题进行定位,有利于改善单点业务的性能。实施例二、根据实施例一所描述的方法,一下将举例作进一步详细说明。
首先,可以分别为客户端RPC程序和服务端RPC程序设置一个触发开关,其中,在本发明实施例中,客户端RPC程序的触发开关称为客户端的RPC开关,而服务端RPC程序的触发开关则称为服务端的RPC开关。其次,当需要为某个单点业务生成RPC日志信息(即在客户端生成客户端RPC日志信息,在服务端生成服务端RPC日志信息)时,就可以分别启动客户端的RPC开关和服务端的RPC开关,从而触发客户端RPC程序和服务端RPC程序的调用,然后,在客户端和服务端执行单点业务时,分别利用客户端RPC程序和服务端RPC程序对单点业务的执行情况进行监控,使得可以在客户端生成客户端RPC日志信息,以及在服务端生成服务端RPC日志信息,这样,后续就可以利用客户端RPC日志信息和服务端RPC日志信息快速定位该执行的单点业务的性能。以下将以ERP系统中的单点业务A为例作详细说明。其中,该ERP系统包括ERP客户端和ERP服务端(简称为客户端和服务端),且客户端和服务端中均集成有本发明实施例提供的单点业务性能分析装置。参见图2,单点业务A性能的分析方法流程具体可以如下:201、客户端接受用户的设置,以触发客户端的RPC开关的开启;例如,具体可以接受用户在服务端所进行的设置,比如接收用户在服务端输入的客户端RPC开关的启动指令,然后根据该启动指令触发客户端RPC开关的开启;或者,具体也可以接受用户在客户端所进行的设置,比如接收用户在客户端输入的客户端RPC开关的启动指令,然后根据该启动指令触发客户端RPC开关的开启。
·
202、服务端接受用户的设置,以触发服务端的RPC开关的开启;例如,具体可以接收用户在客户端输入的服务端RPC开关的启动指令,然后根据该启动指令触发服务端RPC开关的开启。其中,步骤201和步骤202的执行可以不分先后。203、当客户端的RPC开关被开启时,触发单点业务性能分析装置调用客户端RPC程序,同理,当服务端的RPC开关被开启时,也触发单点业务性能分析装置调用ERP服务端RPC程序,于是,客户端RPC程序和ERP服务端RPC程序开始运行。204、ERP系统执行单点业务A。205、单点业务性能分析装置利用调用的客户端的RPC程序对单点业务A的执行情况进行监控,并在客户端生成客户端RPC日志信息“rpcD.V60SP1.log” ;以及,单点业务性能分析装置利用调用的服务端的RPC程序对单点业务A的执行情况进行监控,并在服务端生成服务端 RPC 日志信息:“RpcSqlD.V60SP1.log” 和 “SqlPlanD.V60SP1.log”。其中,客户端RPC日志信息,以及两个服务端RPC日志信息的结构可以如下:参见图3a、图3b和图3c,这些图为各种RPC日志信息的UML模型图,其中,在这些图中,粗线框表示活动类,粗线框中的内容表示类的属性,属性后可以跟上类型甚至缺省取值,比如“name:string”,其中,name即为类的属性,而“string”则是“name”的类型,意思为“字串型”。此外,空心实线箭头表示“一般化(generalization) ”,具体表示位于箭头起始的对象继承于箭头指向的对象。“实心菱形到实线箭头”和“实线箭头”,表示“关联(Association) ”,具体表示位于箭头起始的对象聚合箭头指向的对象;其中,“实心菱形到箭头”上的数字“ I ”表示一个对象,数字“0..*”表示零个或多个对象。
(I)客户端 RPC 日志信息:rpcD.V60SP1.log ;如图3a所示,该图为客户端RPC日志信息的UML模型图。从图3a可以看出,RpcLog为一个日志文件。其中,RpcLog属于活动类,包括属性“name”,“name”意思为“名称”,其类型为“string”。“RpcLog”聚合零个或多个“MainFrame Quit (意思为退出主框架)”,以及聚合零个或多个“Action (意思为方法)”。其中,“MainFrame Quit”属于活动类,为未声明Action之外的RPC日志信息,会在客户端退出时统一退出;“Action”也属于活动类,为客户端的性能事件,包括用户界面(UI, User Interface)初始化和用户界面上任意按钮或菜单绑定的Swing Action (改变方法),“Action”嵌套时,通过顺序和stack (栈)表示父子关系,比如,如图 3a 中的“Action (stacklevel = I) ”则表 不有一层嵌套,其中,“Action (stacklevel =
I)”为子Action, “Action”为父Action。之所以有嵌套的Action,是因为某些用户操作会跨Action,但不会跨最外层的Action,所以,一些关键的统计信息可以在子Action输出。“Action”聚合零个或多个“ActionEntry (意思为方法事件)”, “ActionEntry”也属于活动类,不同类型的“ActionEntry”可以通过名称(即name)的命名规则来区分,比如,如果是普通的RPC调用(即RpcInvoke)所产生的“ActionEntry”话,则没有前缀,如果是缓存中的RPC调用(即Cached RpcInvoke)所产生的“ActionEntry”的话,则为“+++”,如果是子方法(即SubAction)所产生的“ActionEntry”的话,则为“一”,如果是用户输入(即 User Input)白勺 “ActionEntry” 的话,则为 “###”,等等。“MainFrame Quit”聚合零个或多个“Thread Summary (意思为总线程)”,“Thread Summary” 属于活动类,查看 “Thread (意思为线程)”为 “AWT-EventQueue-l ” 的“Sirnimary(意思为汇总)”,可以了解用户操作的全过程。“Thread Summary” 也聚合零个或多个 “ActionEntry”。其中,“ActionEntry”主要可以由 “Rpclnvoke (即普通得 Rpc 调用)'“CachedRpCInVOke(即缓存Rpc调用)”、“User Input (即用户输入)”或“SubAction (即子方法)”产生。其中,“Rpclnvoke”可以联查服务端的性能事件Rpclnvoke, “User Input”用于计算最外层 “Action” 中 “waitxxx” 的参数值,比如,计算 “waitTime”、“waitRpcBytes” 或“waitRpcNumber”等的参数值;“SubAction”用于说明子Action在父Action中的时序。以下将对图3a中各个活动类的属性和类型进行简略说明,参见表一。表一:
权利要求
1.一种单点业务性能的分析方法,其特征在于,包括: 确定需要分析的单点业务所对应的事件; 根据所述事件获取对应的客户端远程过程调用协议RPC日志信息; 根据客户端RPC日志信息获取对应的服务端RPC日志信息; 根据所述客户端RPC日志信息和服务端RPC日志信息分析所述单点业务的性能。
2.根据权利要求1所述的方法,其特征在于, 所述客户端RPC日志信息包括事件名、程序类名与方法名、访问标识、RPC调用的时间、RPC调用次数、RPC调用的时长和RPC总得调用时间; 所述服务端RPC日志信息包括第一服务端RPC日志信息和第二服务端RPC日志信息;所述第一服务端RPC日志信息包括程序类名与方法名、结构化查询语言SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间; 所述第二服务端RPC日志信息包括SQL语句和执行计划信息。
3.根据权利要求2所述的方法,其特征在于,所述根据客户端RPC日志信息获取对应的服务端RPC日志信息,包括: 根据客户端RPC日志信息中的访问标识在第一服务端RPC日志信息中联查到对应的程序类名与方法名、SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间; 根据第一服务端RPC日志信息中的SQL标识在第二服务端RPC日志信息中联查到对应的SQL语句和执行计划彳 目息。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述客户端RPC日志信息和服务端RPC日志信息分析所述单点业务的性能,包括: 根据所述客户端RPC日志信息中的事件名、程序类名与方法名、访问标识、RPC调用的时间、RPC调用次数、RPC调用的时长和RPC总得调用时间分析所述单点业务在客户端上的程序性能; 根据第一服务端RPC日志信息中的程序类名与方法名、SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间分析所述单点业务在服务端上的程序性能; 根据第二服务端RPC日志信息中的SQL语句和执行计划信息得到执行计划的时间,根据执行计划的时间分析所述单点业务在服务端上的SQL性能。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述确定需要分析的单点业务所对应的事件之前,还包括: 调用客户端的RPC程序,以及调用服务端的RPC程序; 在客户端和服务端执行单点业务时,利用所述客户端的RPC程序对单点业务的执行情况进行监控,并在客户端生成客户端RPC日志信息;以及, 利用所述服务端的RPC程序对单点业务的执行情况进行监控,并在服务端生成服务端RPC日志信息。
6.一种单点业务性能的分析装置,其特征在于,包括: 确定单元,用于确定需要分析的单点业务所对应的事件; 第一获取单元,用于根据所述事件获取对应的客户端远程过程调用协议RPC日志信息; 第二获取单元,用于根据客户端RPC日志信息获取对应的服务端RPC日志信息;分析单元,用于根据所述客户端RPC日志信息和服务端RPC日志信息分析所述单点业务的性能。
7.根据权利要求6所述的单点业务性能的分析装置,其特征在于, 所述客户端RPC日志信息包括事件名、程序类名与方法名、访问标识、RPC调用的时间、RPC调用次数、RPC调用的时长和RPC总得调用时间; 所述服务端RPC日志信息包括第一服务端RPC日志信息和第二服务端RPC日志信息; 所述第一服务端RPC日志信息包括程序类名与方法名、结构化查询语言SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间; 所述第二服务端RPC日志信息包括SQL语句和执行计划信息。
8.根据权利要求7所述的单点业务性能的分析装置,其特征在于,所述第二获取单元包括: 第一获取子单元,用于根据客户端RPC日志信息中的访问标识在第一服务端RPC日志信息中联查到对应的程序类名与方法名、SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间; 第二获取子单元,用于根据第一服务端RPC日志信息中的SQL标识在第二服务端RPC日志信息中联查到对应的SQL语句和执行计划信息。
9.根据权利要求7或8所述的单点业务性能的分析装置,其特征在于,所述分析单元包括: 第一分析子单元,用于根据所述客户端RPC日志信息中的事件名、程序类名与方法名、访问标识、RPC调用的时间、RPC调用次数、RPC调用的时长和RPC总得调用时间分析所述单点业务在客户端上的程序性能; 第二分析子单元,用于根据第一服务端RPC日志信息中的程序类名与方法名、SQL语句、SQL的执行时间、SQL标识和数据库方面总得耗用时间分析所述单点业务在服务端上的程序性能; 第三分析子单元,用于根据第二服务端RPC日志信息中的SQL语句和执行计划信息得到执行计划的时间,根据执行计划的时间分析所述单点业务在服务端上的SQL性能。
10.一种企业资源计划系统,其特征在于,包括权利要求6至9所述的任一种单点业务性能的分析装置。
全文摘要
本发明公开了一种单点业务性能的分析方法、装置和系统。本发明实施例通过确定需要分析的单点业务所对应的事件,来获取对应的客户端RPC日志信息,然后再通过客户端RPC日志信息获取到对应的服务端RPC日志信息,最后再结合客户端RPC日志信息和服务端RPC日志信息对单点业务的性能进行分析,从而实现了对客户端和服务端进行联查的目的,可以准确地对单点业务的性能问题进行定位,有利于改善单点业务的性能。
文档编号H04L12/24GK103248511SQ20121003277
公开日2013年8月14日 申请日期2012年2月14日 优先权日2012年2月14日
发明者杨银芳 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1