业务处理性能分析方法和装置制造方法

文档序号:6527309阅读:130来源:国知局
业务处理性能分析方法和装置制造方法
【专利摘要】本发明公开了一种业务处理性能分析方法。所述方法包括:获取客户端输入的业务动作;所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间;服务端记录各次所述远程调用对应的服务端处理过程和时间;所述服务端向所述客户端发送各次所述远程调用对应的服务端处理过程和时间;所述客户端根据各次远程调用的客户端处理过程和时间、以及各次所述远程调用对应的服务端处理过程和时间,计算所述业务动作对应的业务处理过程的性能耗时。本发明还相应公开了一种业务处理性能分析装置。应用本发明技术方案,能够对ERP工具中的业务处理过程进行全面、准确的性能分析,找出其中的性能耗时瓶颈,为ERP工具的优化提供参考。
【专利说明】业务处理性能分析方法和装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种业务处理性能分析方法和装置。
【背景技术】
[0002]ERPCEnterprise Resource Planning,企业资源计划系统)是一种面向企业进行物质资源、资金资源和信息资源集成一体化管理的企业管理工具。在主流ERP工具中,用户可以在客户端输入多种业务动作,业务动作又会产生对服务器的远程调用,服务器进行相应的处理,向客户端返回处理结果。整个过程,可以称之为一个业务处理过程,对于用户,其感知的仅仅是输入业务动作以及获得业务处理结果。当用户输入业务动作后,业务处理时间过长,用户等待业务处理结果超出预期和承受力,即可认为ERP工具的业务处理性能不佳,需要对ERP工具的业务处理性能进行分析,找出处理过程中比较耗时的瓶颈,进行优化。
[0003]传统技术中,尽管有着一些网络、数据库等分析工具,例如在服务器端可以通过数据库工具查看数据库执行情况,又例如通过数据抓包工具了解数据传输的过程及大小,又如通过在开发环境中模拟调试,但是这些分立的工具无法实现对同一个业务处理过程的关联,无法对同一个业务处理过程进行全面、准确的性能分析。

【发明内容】

[0004]基于此,有必要提供一种业务处理性能分析方法和装置,应用本方法和装置,能够对ERP工具中的业务处理过程进行全面、准确的性能分析,找出其中的性能耗时瓶颈,为ERP工具的优化提供参考。
[0005]一种业务处理性能分析方法,包括:
[0006]获取客户端输入的业务动作;
[0007]所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间;
[0008]服务端记录各次所述远程调用对应的服务端处理过程和时间;
[0009]所述服务端向所述客户端发送各次所述远程调用对应的服务端处理过程和时间;
[0010]所述客户端根据各次远程调用的客户端处理过程和时间、以及各次所述远程调用对应的服务端处理过程和时间,计算所述业务动作对应的业务处理过程的性能耗时。
[0011]在其中一个实施例中,在所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间的步骤之前,所述方法还包括:
[0012]所述客户端判定所述客户端处于业务处理过程录制状态。
[0013]在其中一个实施例中,所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间,包括:
[0014]所述客户端记录各次远程调用开始和结束时间;
[0015]所述客户端记录各次远程调用请求数据编码过程和时间;
[0016]所述客户端记录各次远程调用请求数据向所述服务端传输过程和时间;[0017]所述客户端记录各次远程调用对应的执行结果数据接收过程和时间;
[0018]所述客户端记录各次远程调用对应的执行结果数据解码过程和时间。
[0019]在其中一个实施例中,所述服务端记录各次所述远程调用对应的服务端处理过程和时间,包括:
[0020]所述服务端记录各次远程调用请求数据解码过程和时间;
[0021]所述服务端记录各次远程调用对应的业务方法执行过程和时间;
[0022]所述服务端记录各次远程调用对应的执行结果编码过程和时间。
[0023]在其中一个实施例中,所述服务端记录各次远程调用对应的业务方法执行过程和时间的步骤中,包括:
[0024]所述服务端记录所述业务方法执行过程中对应的各次数据库操作和时间。
[0025]在其中一个实施例中,所述方法还包括:展示所述客户端计算得到的所述业务动作对应的业务处理过程的性能耗时。
[0026]一种业务处理性能分析装置,包括:
[0027]业务动作获取单元,用于获取客户端输入的业务动作;
[0028]客户端录制单元,用于记录所述业务动作对应的各次远程调用的客户端处理过程和时间;
[0029]服务端录制单元,用于记录各次所述远程调用对应的服务端处理过程和时间;
[0030]服务端发送单元,用于向所述客户端发送各次所述远程调用对应的服务端处理过程和时间;
[0031]客户端汇总单元,用于根据各次远程调用的客户端处理过程和时间、以及各次所述远程调用对应的服务端处理过程和时间,计算所述业务动作对应的业务处理过程的性能耗时。
[0032]在其中一个实施例中,所述装置还包括判断单元,用于判断所述客户端是否处于业务处理过程录制状态。
[0033]在其中一个实施例中,所述客户端录制单元用于记录各次远程调用开始和结束时间、各次远程调用请求数据编码过程和时间、各次远程调用请求数据向所述服务端传输过程和时间、各次远程调用对应的执行结果数据接收过程和时间,以及各次远程调用对应的执行结果数据解码过程和时间。
[0034]在其中一个实施例中,所述服务端录制单元用于记录各次远程调用请求数据解码过程和时间、各次远程调用对应的业务方法执行过程和时间,以及各次远程调用对应的执行结果编码过程和时间。
[0035]在其中一个实施例中,所述服务端录制单元还用于记录所述业务方法执行过程中对应的各次数据库操作和时间。
[0036]在其中一个实施例中,所述装置还包括展示单元,用于展示所述客户端汇总单元计算得到的所述业务动作对应的业务处理过程的性能耗时。
[0037]上述业务处理性能分析方法和装置,在客户端获取用户输入的业务动作后,由客户端记录业务动作对应的各次远程调用的客户端处理过程和时间,由服务端记录各次远程调用的服务端处理过程和时间,通过将服务端记录的处理过程和时间发送到客户端,由客户端进行汇总,计算业务动作对应的过程的性能耗时,相比于传统技术中的各种分析工具,实现了对同一个业务处理过程的各个处理过程分析数据的关联,从而对同一个业务处理过程进行全面、准确的性能分析。
【专利附图】

【附图说明】
[0038]图1为一个实施例中的业务处理性能分析方法的流程示意图;
[0039]图2为一个实施例中的业务处理性能分析方法的流程示意图;
[0040]图3为一个实施例中业务处理性能分析方法中涉及的业务处理过程录制界面示意图;
[0041]图4为一个实施例中的业务处理性能分析方法的时序图;
[0042]图5为一个实施例中的业务处理性能分析装置的结构示意图;
[0043]图6为一个实施例中的业务处理性能分析装置的结构示意图。
【具体实施方式】
[0044]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0045]参见图1,在一个实施例中,提供了一种业务处理性能分析方法。该方法可以应用于对ERP工具针对用户输入的业务动作而进行的业务处理过程进行性能分析,得到业务处理过程中各个环节的性能耗时。本实施例所提供的业务处理过程性能分析方法,其流程包括:
[0046]步骤102,获取客户端输入的业务动作。
[0047]具体的,本实施例提供的业务处理性能分析方法,可以默认记录客户端和服务端的全部操作。在客户端进行记录之前,客户端获取用户通过输入装置输入的业务动作,例如客户端根据用户在键盘上按下的一个快捷键或通过鼠标点击的一个按钮,获取该业务动作对应的ID。从而,在后续客户端和服务端记录数据时,可以将记录的数据与该业务动作ID进行关联。在本实施例中,并不限定业务动作所具体实现的功能,例如参照传统技术,业务动作可以实现财务分析、企业生产资源统计等功能。
[0048]步骤104,客户端记录业务动作对应的各次远程调用的客户端处理过程和时间。
[0049]具体的,ERP工具中,客户端在获取业务动作后,会通过一次或多次远程调用(RPC,Remote Process Call)向远程服务端请求服务,服务端进行相应的处理,向客户端返回各次远程调用的执行结果。由此,本实施例中,客户端需要记录客户端处理过程,如RPC请求数据数据编码、向服务端传输RPC请求数据、接收远程调用执行结果等各环节的处理过程和时间,其中客户端记录的处理过程和时间例如可以是RPC请求数据编码开始时间、RPC请求数据编码结束时间、RPC请求数据传输开始时间、RPC请求数据传输结束时间、执行结果数据接收开始时间、执行结果接收结束时间等等。
[0050]步骤106,服务端记录各次远程调用对应的服务端处理过程和时间。
[0051]具体的,服务端和客户端之间预先设置必要的通信协议,在客户端在进行业务处理过程录制时,服务端必须对各次远程调用对应的服务端处理过程和时间进行记录。服务端记录的处理过程和时间例如可以包括RPC请求数据解码开始时间、RPC请求数据解码结束时间等。
[0052]步骤108,服务端向客户端发送各次远程调用对应的服务端处理过程和时间。
[0053]具体的,ERP工具在使用过程中,每一次远程调用,服务端会向客户端返回一执行结果数据。在本实施例中,服务端可以在返回执行结果数据的同时,将记录的各次远程调用的处理过程和时间依次返回给客户端。在其它的实施例中,服务端还可以在业务动作所对应的最后一次远程调用返回执行结果时,将记录的所有远程调用的处理过程和时间发送给客户端。
[0054]步骤110,客户端根据各次远程调用的客户端处理过程和时间,以及各次远程调用对应的服务端处理过程和时间,计算业务动作对应的业务处理过程的性能耗时。
[0055]具体的,客户端在接收到服务端返回的各次远程调用对应的服务端处理过程和时间后,根据客户端记录的各次远程调用的客户端处理过程和时间,以及各次远程调用对应的服务端处理过程和时间,进行汇总。将各次远程调用客户端处理过程与业务动作建立关联,将各次远程调用服务端处理过程与各次远程调用客户端处理过程建立关联,从而计算业务动作对应的业务传利过程中各环节的性能耗时。
[0056]上述业务处理性能分析方法,在客户端获取用户输入的业务动作后,由客户端记录业务动作对应的各次远程调用的客户端处理过程和时间,由服务端记录各次远程调用的服务端处理过程和时间,通过将服务端记录的处理过程和时间发送到客户端,由客户端进行汇总,计算业务动作对应的过程的性能耗时,相比于传统技术中的各种分析工具,实现了对同一个业务处理过程的各个处理过程分析数据的关联,从而对同一个业务处理过程进行全面、准确的性能分析。
[0057]参见图2,也提供了一种业务处理性能分析方法。该方法包括:
[0058]步骤202,客户端对客户端状态进行判断,判定客户端处于业务处理过程录制状态。
[0059]具体的,在本实施例中,ERP工具在进行业务处理时,默认对客户端和服务端的处理过程不进行录制。用户可以通过如图3所示的界面选择对业务处理过程进行录制。在图3中,用户点击“录制”按钮302,客户端将进入录制状态,后续客户端会按照必要的通信协议通知服务端进入录制状态。“停止”按钮304,其作用为将客户端切换到非录制状态。用户点击“清空”按钮306,将删除客户端和服务端记录的业务处理过程和时间等数据。用户点击“查看”按钮308,将会显示客户端和服务端记录的业务处理过程和时间等数据。
[0060]步骤204,获取客户端输入的业务动作。
[0061]具体的,客户端在判定客户端处于业务处理过程录制状态后,执行步骤204,获取用户通过输入装置输入的业务动作ID。
[0062]步骤206,客户端记录业务动作对应的各次远程调用的客户端处理过程和时间。
[0063]具体的,在本实施例中,参见图4,客户端402在获取到用户输入的业务动作后,会产生向服务端的多次远程调 用,如RPC调用1、RPC调用2、RPC调用3…RPC调用N (N为不小于I的正整数)。客户端在录制状态时,将各RPC调用与业务动作ID建立关联,并记录各次RPC调用对应的客户端处理过程和时间,包括以下几个方面:
[0064]时间方面:
[0065]RPC调用开始时间和结束时间;[0066]客户端RPC调用请求数据编码开始和结束时间;
[0067]客户端向服务端传输RPC调用请求数据开始和结束时间;
[0068]客户端从服务端接收RPC调用对应的执行结果数据开始和结束时间;
[0069]客户端对执行结果数据进行解码的开始和结束时间。
[0070]数据大小方面:
[0071]客户端RPC请求原始数据大小;
[0072]客户端RPC请求原始数据编码后的RPC请求数据大小;
[0073]客户端接收执行结果数据大小;
[0074]客户端对执行结果数据进行解码后的数据大小。
[0075]数据内容方面:
[0076]客户端传输RPC请求数据的内容;
[0077]客户端接收服务端执行结果数据的内容。
[0078]步骤208,服务端记录各次远程调用对应的服务端处理过程和时间。
[0079]具体的,当客户端处于业务处理过程录制状态时,客户端向服务端发送RPC请求数据,会将其中某一标识位设置为预定数值,服务端根据该标识位,也会进入录制状态,记录服务端的处理过程和时间。包括:各次远程调`用请求数据解码过程和时间、各次远程调用对应的业务方法执行过程和时间、各次远程调用对应的执行结果编码过程和时间,各次远程调用对应的执行结果编码后数据传输过程和时间等。其中如图4,业务方法(Method)为对应于RPC调用的一段程序,在服务端由进程或线程完成。在业务方法的执行过程中,服务器可能会进行数据库操作,如业务方法I执行过程中涉及了数据库操作1,业务方法3中涉及到数据库操作2和数据库操作3,而业务方法2中没有进行数据库操作。在业务方法涉及到数据库操作时,服务端需要在业务方法处理过程和时间中记录相关数据库操作和时间。在本实施例中,数据库可以是关系型数据库,服务端一般可以采用API (如0DBC、JDBC、OLEDB等)访问数据库,数据库在执行时,可以是执行SQL语句。由此,本实施例中服务端可以记录:数据库操作开始和结束时间、SQL执行语句的内容、SQL执行语句的大小。
[0080]步骤210,服务端向客户端发送各次远程调用对应的服务端处理过程和时间。
[0081]具体的,如图4,服务端404向客户端402返回业务方法1、…业务方法N的执行结果时,会将各次RPC调用对应的服务端记录数据发送给客户端。
[0082]步骤212,客户端根据各次远程调用的客户端处理过程和时间,以及各次远程调用对应的服务端处理过程和时间,计算业务动作对应的业务处理过程的性能耗时。
[0083]具体的,客户端根据各次远程调用的客户端处理过程和时间,以及各次远程调用对应的服务端处理过程和时间,进行汇总,可以将一次业务处理过程按持续时间进行分解。
[0084]例如如图4,总计有N次RPC调用,则:
[0085]业务处理过程时间=客户端CPU时间1+RPC请求调用时间1+客户端CPU时间2++RPC请求调用时间2+…+客户端CPU时间N+RPC请求调用时间N+客户端CPU时间(N+1)。
[0086]其中,客户端CPU时间为客户端处理器逻辑处理消耗的时间,例如
[0087]客户端CPU时间I=RPC请求调用I开始时间-业务动作输入时间;
[0088]客户端CPU时间2=RPC请求调用2开始时间-RPC请求调用I结束时间;
[0089]......[0090]客户端CPU时间(N+1)=业务动作结束时间-RPC请求调用N结束时间。
[0091]在本实施例中,RPC请求调用时间可以进行分解,包括:客户端RPC请求数据编码时间、客户端RPC请求数据传输时间、服务端RPC请求数据解码时间、服务端业务方法执行时间、服务端执行结果数据编码时间、服务端执行结果数据传输时间等。
[0092]在服务端业务方法中涉及到数据库操作时,有:
[0093]服务端业务方法执行时间=服务端CPU时间1+SQL调用时间1+服务端CPU时间2++SQL调用时间2+…+服务端CPU时间N+SQL调用时间N+服务端CPU时间(N+1);
[0094]其中服务端CPU时间指服务端的逻辑处理消耗的时间,例如:
[0095]服务端CPU时间I=SQL调用I开始时间-业务方法开始时间
[0096]服务端CPU时间2=SQL调用2开始时间-SQL调用I结束时间
[0097]服务端CPU时间(N+1)=业务方法结束时间-SQL调用N结束时间。
[0098]由此,客户端根据上述分析,可以计算得出一个业务动作对应的业务处理过程各个环节的性能耗时,从而为ERP工具的优化提供参考意见。例如客户端或服务端的编解码时间反应了编解码算法的优劣,在编解码时间过长的情况下,可以对客户端或服务端的编解码算法进行优化;又例如RPC请求数据和执行结果数据传输时间考察的是网络IO的性能,在RPC请求数据和执行结果数据传输时间过长的情况下,可以优化网络结构等;同理当数据库SQL调用时间过长,可以选择对数据库进行优化等等。
[0099]在客户端完成业务处理性能分析后,客户端可以将业务处理过程中各环节的性能耗时打印输出,或者将其展示到客户端界面上。
[0100]参见图5,在一个实施例中提供了一种业务处理性能分析装置。该装置包括:
[0101]业务动作获取单元502,用于获取客户端输入的业务动作。
[0102]客户端录制单元504,用于记录业务动作对应的各次远程调用的客户端处理过程和时间。
[0103]服务端录制单元506,用于记录各次远程调用对应的服务端处理过程和时间。
[0104]服务端发送单元508,用于向客户端发送各次远程调用对应的服务端处理过程和时间。
[0105]客户端汇总单元510,用于根据各次远程调用的客户端处理过程和时间、以及各次远程调用对应的服务端处理过程和时间,计算业务动作对应的业务处理过程的性能耗时。
[0106]具体的,在本实施例中,客户端录制单元506记录各次远程调用开始和结束时间、各次远程调用请求数据编码过程和时间、各次远程调用请求数据向服务端传输过程和时间、各次远程调用对应的执行结果数据接收过程和时间,以及各次远程调用对应的执行结果数据解码过程和时间。
[0107]服务端录制单元508记录各次远程调用请求数据解码过程和时间、各次远程调用对应的业务方法执行过程和时间,以及各次远程调用对应的执行结果编码过程和时间.在业务方法涉及到数据库操作时,服务端录制单元508记录业务方法执行过程中对应的各次数据库操作和时间。
[0108]参见图6,在另一个实施例中提供了一种业务处理性能分析装置。本实施例中的业务处理性能分析装置与图5中实施例的区别在于,本实施例的装置还包括判断单元600和展示单元612。[0109]判断单元600,用于判断客户端是否处于业务处理过程录制状态。在判定客户端处于录制状态时,客户端录制单元604和服务端录制单元606才会记录客户端和服务端的处理过程和时间。
[0110]展示单元612,用于展示客户端汇总单元610计算得到的业务动作对应的业务处理过程的性能耗时。
[0111]本实施例中的装置其余部分的工作原理与图5中实施例相同,在此不再赘述。
[0112]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0113]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种业务处理性能分析方法,其特征在于,所述方法包括: 获取客户端输入的业务动作; 所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间; 服务端记录各次所述远程调用对应的服务端处理过程和时间; 所述服务端向所述客户端发送各次所述远程调用对应的服务端处理过程和时间;所述客户端根据各次远程调用的客户端处理过程和时间、以及各次所述远程调用对应的服务端处理过程和时间,计算所述业务动作对应的业务处理过程的性能耗时。
2.根据权利要求1所述的方法,其特征在于,在所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间的步骤之前,所述方法还包括: 所述客户端判定所述客户端处于业务处理过程录制状态。
3.根据权利要求1或2所述的方法,其特征在于,所述客户端记录所述业务动作对应的各次远程调用的客户端处理过程和时间,包括: 所述客户端记录各次远程调用开始和结束时间; 所述客户端记录各次远程调用请求数据编码过程和时间; 所述客户端记录各次远程调用请求数据向所述服务端传输过程和时间; 所述客户端记录各次远程调用对应的执行结果数据接收过程和时间; 所述客户端记录各次远程调用对应的执行结果数据解码过程和时间。
4.根据权利要求3所述的方法,其特征在于,所述服务端记录各次所述远程调用对应的服务端处理过程和时间,包括: 所述服务端记录各次远程调用请求数据解码过程和时间; 所述服务端记录各次远程调用对应的业务方法执行过程和时间; 所述服务端记录各次远程调用对应的执行结果编码过程和时间。
5.根据权利要求4所述的方法,其特征在于,所述服务端记录各次远程调用对应的业务方法执行过程和时间的步骤中,包括: 所述服务端记录所述业务方法执行过程中对应的各次数据库操作和时间。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:展示所述客户端计算得到的所述业务动作对应的业务处理过程的性能耗时。
7.—种业务处理性能分析装置,其特征在于,所述装置包括: 业务动作获取单元,用于获取客户端输入的业务动作; 客户端录制单元,用于记录所述业务动作对应的各次远程调用的客户端处理过程和时间; 服务端录制单元,用于记录各次所述远程调用对应的服务端处理过程和时间; 服务端发送单元,用于向所述客户端发送各次所述远程调用对应的服务端处理过程和时间; 客户端汇总单元,用于根据各次远程调用的客户端处理过程和时间、以及各次所述远程调用对应的服务端处理过程和时间,计算所述业务动作对应的业务处理过程的性能耗时。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括判断单元,用于判断所述客户端是否处于业务处理过程录制状态。
9.根据权利要求7或8所述的装置,其特征在于,所述客户端录制单元用于记录各次远程调用开始和结束时间、各次远程调用请求数据编码过程和时间、各次远程调用请求数据向所述服务端传输过程和时间、各次远程调用对应的执行结果数据接收过程和时间,以及各次远程调用对应的执行结果数据解码过程和时间。
10.根据权利要求9所述的装置,其特征在于,所述服务端录制单元用于记录各次远程调用请求数据解码过程和时间、各次远程调用对应的业务方法执行过程和时间,以及各次远程调用对应的执行结果编码过程和时间。
11.根据权利要求10所述的装置,其特征在于,所述服务端录制单元还用于记录所述业务方法执行过程中对应的各次数据库操作和时间。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括展示单元,用于展示所述客户端汇总 单元计算得到的所述业务动作对应的业务处理过程的性能耗时。
【文档编号】G06Q10/06GK103745317SQ201310754670
【公开日】2014年4月23日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】林志贤 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1