業(yè)務(wù)處理性能分析方法和裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種業(yè)務(wù)處理性能分析方法。所述方法包括:獲取客戶端輸入的業(yè)務(wù)動(dòng)作;所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間;服務(wù)端記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;所述服務(wù)端向所述客戶端發(fā)送各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;所述客戶端根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間、以及各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。本發(fā)明還相應(yīng)公開(kāi)了一種業(yè)務(wù)處理性能分析裝置。應(yīng)用本發(fā)明技術(shù)方案,能夠?qū)RP工具中的業(yè)務(wù)處理過(guò)程進(jìn)行全面、準(zhǔn)確的性能分析,找出其中的性能耗時(shí)瓶頸,為ERP工具的優(yōu)化提供參考。
【專(zhuān)利說(shuō)明】業(yè)務(wù)處理性能分析方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種業(yè)務(wù)處理性能分析方法和裝置。
【背景技術(shù)】
[0002]ERPCEnterprise Resource Planning,企業(yè)資源計(jì)劃系統(tǒng))是一種面向企業(yè)進(jìn)行物質(zhì)資源、資金資源和信息資源集成一體化管理的企業(yè)管理工具。在主流ERP工具中,用戶可以在客戶端輸入多種業(yè)務(wù)動(dòng)作,業(yè)務(wù)動(dòng)作又會(huì)產(chǎn)生對(duì)服務(wù)器的遠(yuǎn)程調(diào)用,服務(wù)器進(jìn)行相應(yīng)的處理,向客戶端返回處理結(jié)果。整個(gè)過(guò)程,可以稱(chēng)之為一個(gè)業(yè)務(wù)處理過(guò)程,對(duì)于用戶,其感知的僅僅是輸入業(yè)務(wù)動(dòng)作以及獲得業(yè)務(wù)處理結(jié)果。當(dāng)用戶輸入業(yè)務(wù)動(dòng)作后,業(yè)務(wù)處理時(shí)間過(guò)長(zhǎng),用戶等待業(yè)務(wù)處理結(jié)果超出預(yù)期和承受力,即可認(rèn)為ERP工具的業(yè)務(wù)處理性能不佳,需要對(duì)ERP工具的業(yè)務(wù)處理性能進(jìn)行分析,找出處理過(guò)程中比較耗時(shí)的瓶頸,進(jìn)行優(yōu)化。
[0003]傳統(tǒng)技術(shù)中,盡管有著一些網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等分析工具,例如在服務(wù)器端可以通過(guò)數(shù)據(jù)庫(kù)工具查看數(shù)據(jù)庫(kù)執(zhí)行情況,又例如通過(guò)數(shù)據(jù)抓包工具了解數(shù)據(jù)傳輸?shù)倪^(guò)程及大小,又如通過(guò)在開(kāi)發(fā)環(huán)境中模擬調(diào)試,但是這些分立的工具無(wú)法實(shí)現(xiàn)對(duì)同一個(gè)業(yè)務(wù)處理過(guò)程的關(guān)聯(lián),無(wú)法對(duì)同一個(gè)業(yè)務(wù)處理過(guò)程進(jìn)行全面、準(zhǔn)確的性能分析。
【發(fā)明內(nèi)容】
[0004]基于此,有必要提供一種業(yè)務(wù)處理性能分析方法和裝置,應(yīng)用本方法和裝置,能夠?qū)RP工具中的業(yè)務(wù)處理過(guò)程進(jìn)行全面、準(zhǔn)確的性能分析,找出其中的性能耗時(shí)瓶頸,為ERP工具的優(yōu)化提供參考。
[0005]一種業(yè)務(wù)處理性能分析方法,包括:
[0006]獲取客戶端輸入的業(yè)務(wù)動(dòng)作;
[0007]所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間;
[0008]服務(wù)端記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;
[0009]所述服務(wù)端向所述客戶端發(fā)送各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;
[0010]所述客戶端根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間、以及各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0011]在其中一個(gè)實(shí)施例中,在所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間的步驟之前,所述方法還包括:
[0012]所述客戶端判定所述客戶端處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)。
[0013]在其中一個(gè)實(shí)施例中,所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,包括:
[0014]所述客戶端記錄各次遠(yuǎn)程調(diào)用開(kāi)始和結(jié)束時(shí)間;
[0015]所述客戶端記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)編碼過(guò)程和時(shí)間;
[0016]所述客戶端記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)向所述服務(wù)端傳輸過(guò)程和時(shí)間;[0017]所述客戶端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)接收過(guò)程和時(shí)間;
[0018]所述客戶端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)解碼過(guò)程和時(shí)間。
[0019]在其中一個(gè)實(shí)施例中,所述服務(wù)端記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,包括:
[0020]所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)解碼過(guò)程和時(shí)間;
[0021]所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間;
[0022]所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼過(guò)程和時(shí)間。
[0023]在其中一個(gè)實(shí)施例中,所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間的步驟中,包括:
[0024]所述服務(wù)端記錄所述業(yè)務(wù)方法執(zhí)行過(guò)程中對(duì)應(yīng)的各次數(shù)據(jù)庫(kù)操作和時(shí)間。
[0025]在其中一個(gè)實(shí)施例中,所述方法還包括:展示所述客戶端計(jì)算得到的所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0026]一種業(yè)務(wù)處理性能分析裝置,包括:
[0027]業(yè)務(wù)動(dòng)作獲取單元,用于獲取客戶端輸入的業(yè)務(wù)動(dòng)作;
[0028]客戶端錄制單元,用于記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間;
[0029]服務(wù)端錄制單元,用于記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;
[0030]服務(wù)端發(fā)送單元,用于向所述客戶端發(fā)送各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;
[0031]客戶端匯總單元,用于根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間、以及各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0032]在其中一個(gè)實(shí)施例中,所述裝置還包括判斷單元,用于判斷所述客戶端是否處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)。
[0033]在其中一個(gè)實(shí)施例中,所述客戶端錄制單元用于記錄各次遠(yuǎn)程調(diào)用開(kāi)始和結(jié)束時(shí)間、各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)編碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)向所述服務(wù)端傳輸過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)接收過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)解碼過(guò)程和時(shí)間。
[0034]在其中一個(gè)實(shí)施例中,所述服務(wù)端錄制單元用于記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)解碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼過(guò)程和時(shí)間。
[0035]在其中一個(gè)實(shí)施例中,所述服務(wù)端錄制單元還用于記錄所述業(yè)務(wù)方法執(zhí)行過(guò)程中對(duì)應(yīng)的各次數(shù)據(jù)庫(kù)操作和時(shí)間。
[0036]在其中一個(gè)實(shí)施例中,所述裝置還包括展示單元,用于展示所述客戶端匯總單元計(jì)算得到的所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0037]上述業(yè)務(wù)處理性能分析方法和裝置,在客戶端獲取用戶輸入的業(yè)務(wù)動(dòng)作后,由客戶端記錄業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,由服務(wù)端記錄各次遠(yuǎn)程調(diào)用的服務(wù)端處理過(guò)程和時(shí)間,通過(guò)將服務(wù)端記錄的處理過(guò)程和時(shí)間發(fā)送到客戶端,由客戶端進(jìn)行匯總,計(jì)算業(yè)務(wù)動(dòng)作對(duì)應(yīng)的過(guò)程的性能耗時(shí),相比于傳統(tǒng)技術(shù)中的各種分析工具,實(shí)現(xiàn)了對(duì)同一個(gè)業(yè)務(wù)處理過(guò)程的各個(gè)處理過(guò)程分析數(shù)據(jù)的關(guān)聯(lián),從而對(duì)同一個(gè)業(yè)務(wù)處理過(guò)程進(jìn)行全面、準(zhǔn)確的性能分析。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0038]圖1為一個(gè)實(shí)施例中的業(yè)務(wù)處理性能分析方法的流程示意圖;
[0039]圖2為一個(gè)實(shí)施例中的業(yè)務(wù)處理性能分析方法的流程示意圖;
[0040]圖3為一個(gè)實(shí)施例中業(yè)務(wù)處理性能分析方法中涉及的業(yè)務(wù)處理過(guò)程錄制界面示意圖;
[0041]圖4為一個(gè)實(shí)施例中的業(yè)務(wù)處理性能分析方法的時(shí)序圖;
[0042]圖5為一個(gè)實(shí)施例中的業(yè)務(wù)處理性能分析裝置的結(jié)構(gòu)示意圖;
[0043]圖6為一個(gè)實(shí)施例中的業(yè)務(wù)處理性能分析裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0044]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0045]參見(jiàn)圖1,在一個(gè)實(shí)施例中,提供了一種業(yè)務(wù)處理性能分析方法。該方法可以應(yīng)用于對(duì)ERP工具針對(duì)用戶輸入的業(yè)務(wù)動(dòng)作而進(jìn)行的業(yè)務(wù)處理過(guò)程進(jìn)行性能分析,得到業(yè)務(wù)處理過(guò)程中各個(gè)環(huán)節(jié)的性能耗時(shí)。本實(shí)施例所提供的業(yè)務(wù)處理過(guò)程性能分析方法,其流程包括:
[0046]步驟102,獲取客戶端輸入的業(yè)務(wù)動(dòng)作。
[0047]具體的,本實(shí)施例提供的業(yè)務(wù)處理性能分析方法,可以默認(rèn)記錄客戶端和服務(wù)端的全部操作。在客戶端進(jìn)行記錄之前,客戶端獲取用戶通過(guò)輸入裝置輸入的業(yè)務(wù)動(dòng)作,例如客戶端根據(jù)用戶在鍵盤(pán)上按下的一個(gè)快捷鍵或通過(guò)鼠標(biāo)點(diǎn)擊的一個(gè)按鈕,獲取該業(yè)務(wù)動(dòng)作對(duì)應(yīng)的ID。從而,在后續(xù)客戶端和服務(wù)端記錄數(shù)據(jù)時(shí),可以將記錄的數(shù)據(jù)與該業(yè)務(wù)動(dòng)作ID進(jìn)行關(guān)聯(lián)。在本實(shí)施例中,并不限定業(yè)務(wù)動(dòng)作所具體實(shí)現(xiàn)的功能,例如參照傳統(tǒng)技術(shù),業(yè)務(wù)動(dòng)作可以實(shí)現(xiàn)財(cái)務(wù)分析、企業(yè)生產(chǎn)資源統(tǒng)計(jì)等功能。
[0048]步驟104,客戶端記錄業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間。
[0049]具體的,ERP工具中,客戶端在獲取業(yè)務(wù)動(dòng)作后,會(huì)通過(guò)一次或多次遠(yuǎn)程調(diào)用(RPC,Remote Process Call)向遠(yuǎn)程服務(wù)端請(qǐng)求服務(wù),服務(wù)端進(jìn)行相應(yīng)的處理,向客戶端返回各次遠(yuǎn)程調(diào)用的執(zhí)行結(jié)果。由此,本實(shí)施例中,客戶端需要記錄客戶端處理過(guò)程,如RPC請(qǐng)求數(shù)據(jù)數(shù)據(jù)編碼、向服務(wù)端傳輸RPC請(qǐng)求數(shù)據(jù)、接收遠(yuǎn)程調(diào)用執(zhí)行結(jié)果等各環(huán)節(jié)的處理過(guò)程和時(shí)間,其中客戶端記錄的處理過(guò)程和時(shí)間例如可以是RPC請(qǐng)求數(shù)據(jù)編碼開(kāi)始時(shí)間、RPC請(qǐng)求數(shù)據(jù)編碼結(jié)束時(shí)間、RPC請(qǐng)求數(shù)據(jù)傳輸開(kāi)始時(shí)間、RPC請(qǐng)求數(shù)據(jù)傳輸結(jié)束時(shí)間、執(zhí)行結(jié)果數(shù)據(jù)接收開(kāi)始時(shí)間、執(zhí)行結(jié)果接收結(jié)束時(shí)間等等。
[0050]步驟106,服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間。
[0051]具體的,服務(wù)端和客戶端之間預(yù)先設(shè)置必要的通信協(xié)議,在客戶端在進(jìn)行業(yè)務(wù)處理過(guò)程錄制時(shí),服務(wù)端必須對(duì)各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間進(jìn)行記錄。服務(wù)端記錄的處理過(guò)程和時(shí)間例如可以包括RPC請(qǐng)求數(shù)據(jù)解碼開(kāi)始時(shí)間、RPC請(qǐng)求數(shù)據(jù)解碼結(jié)束時(shí)間等。
[0052]步驟108,服務(wù)端向客戶端發(fā)送各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間。
[0053]具體的,ERP工具在使用過(guò)程中,每一次遠(yuǎn)程調(diào)用,服務(wù)端會(huì)向客戶端返回一執(zhí)行結(jié)果數(shù)據(jù)。在本實(shí)施例中,服務(wù)端可以在返回執(zhí)行結(jié)果數(shù)據(jù)的同時(shí),將記錄的各次遠(yuǎn)程調(diào)用的處理過(guò)程和時(shí)間依次返回給客戶端。在其它的實(shí)施例中,服務(wù)端還可以在業(yè)務(wù)動(dòng)作所對(duì)應(yīng)的最后一次遠(yuǎn)程調(diào)用返回執(zhí)行結(jié)果時(shí),將記錄的所有遠(yuǎn)程調(diào)用的處理過(guò)程和時(shí)間發(fā)送給客戶端。
[0054]步驟110,客戶端根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0055]具體的,客戶端在接收到服務(wù)端返回的各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間后,根據(jù)客戶端記錄的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,進(jìn)行匯總。將各次遠(yuǎn)程調(diào)用客戶端處理過(guò)程與業(yè)務(wù)動(dòng)作建立關(guān)聯(lián),將各次遠(yuǎn)程調(diào)用服務(wù)端處理過(guò)程與各次遠(yuǎn)程調(diào)用客戶端處理過(guò)程建立關(guān)聯(lián),從而計(jì)算業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)傳利過(guò)程中各環(huán)節(jié)的性能耗時(shí)。
[0056]上述業(yè)務(wù)處理性能分析方法,在客戶端獲取用戶輸入的業(yè)務(wù)動(dòng)作后,由客戶端記錄業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,由服務(wù)端記錄各次遠(yuǎn)程調(diào)用的服務(wù)端處理過(guò)程和時(shí)間,通過(guò)將服務(wù)端記錄的處理過(guò)程和時(shí)間發(fā)送到客戶端,由客戶端進(jìn)行匯總,計(jì)算業(yè)務(wù)動(dòng)作對(duì)應(yīng)的過(guò)程的性能耗時(shí),相比于傳統(tǒng)技術(shù)中的各種分析工具,實(shí)現(xiàn)了對(duì)同一個(gè)業(yè)務(wù)處理過(guò)程的各個(gè)處理過(guò)程分析數(shù)據(jù)的關(guān)聯(lián),從而對(duì)同一個(gè)業(yè)務(wù)處理過(guò)程進(jìn)行全面、準(zhǔn)確的性能分析。
[0057]參見(jiàn)圖2,也提供了一種業(yè)務(wù)處理性能分析方法。該方法包括:
[0058]步驟202,客戶端對(duì)客戶端狀態(tài)進(jìn)行判斷,判定客戶端處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)。
[0059]具體的,在本實(shí)施例中,ERP工具在進(jìn)行業(yè)務(wù)處理時(shí),默認(rèn)對(duì)客戶端和服務(wù)端的處理過(guò)程不進(jìn)行錄制。用戶可以通過(guò)如圖3所示的界面選擇對(duì)業(yè)務(wù)處理過(guò)程進(jìn)行錄制。在圖3中,用戶點(diǎn)擊“錄制”按鈕302,客戶端將進(jìn)入錄制狀態(tài),后續(xù)客戶端會(huì)按照必要的通信協(xié)議通知服務(wù)端進(jìn)入錄制狀態(tài)。“停止”按鈕304,其作用為將客戶端切換到非錄制狀態(tài)。用戶點(diǎn)擊“清空”按鈕306,將刪除客戶端和服務(wù)端記錄的業(yè)務(wù)處理過(guò)程和時(shí)間等數(shù)據(jù)。用戶點(diǎn)擊“查看”按鈕308,將會(huì)顯示客戶端和服務(wù)端記錄的業(yè)務(wù)處理過(guò)程和時(shí)間等數(shù)據(jù)。
[0060]步驟204,獲取客戶端輸入的業(yè)務(wù)動(dòng)作。
[0061]具體的,客戶端在判定客戶端處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)后,執(zhí)行步驟204,獲取用戶通過(guò)輸入裝置輸入的業(yè)務(wù)動(dòng)作ID。
[0062]步驟206,客戶端記錄業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間。
[0063]具體的,在本實(shí)施例中,參見(jiàn)圖4,客戶端402在獲取到用戶輸入的業(yè)務(wù)動(dòng)作后,會(huì)產(chǎn)生向服務(wù)端的多次遠(yuǎn)程調(diào) 用,如RPC調(diào)用1、RPC調(diào)用2、RPC調(diào)用3…RPC調(diào)用N (N為不小于I的正整數(shù))??蛻舳嗽阡浿茽顟B(tài)時(shí),將各RPC調(diào)用與業(yè)務(wù)動(dòng)作ID建立關(guān)聯(lián),并記錄各次RPC調(diào)用對(duì)應(yīng)的客戶端處理過(guò)程和時(shí)間,包括以下幾個(gè)方面:
[0064]時(shí)間方面:
[0065]RPC調(diào)用開(kāi)始時(shí)間和結(jié)束時(shí)間;[0066]客戶端RPC調(diào)用請(qǐng)求數(shù)據(jù)編碼開(kāi)始和結(jié)束時(shí)間;
[0067]客戶端向服務(wù)端傳輸RPC調(diào)用請(qǐng)求數(shù)據(jù)開(kāi)始和結(jié)束時(shí)間;
[0068]客戶端從服務(wù)端接收RPC調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)開(kāi)始和結(jié)束時(shí)間;
[0069]客戶端對(duì)執(zhí)行結(jié)果數(shù)據(jù)進(jìn)行解碼的開(kāi)始和結(jié)束時(shí)間。
[0070]數(shù)據(jù)大小方面:
[0071]客戶端RPC請(qǐng)求原始數(shù)據(jù)大??;
[0072]客戶端RPC請(qǐng)求原始數(shù)據(jù)編碼后的RPC請(qǐng)求數(shù)據(jù)大??;
[0073]客戶端接收?qǐng)?zhí)行結(jié)果數(shù)據(jù)大小;
[0074]客戶端對(duì)執(zhí)行結(jié)果數(shù)據(jù)進(jìn)行解碼后的數(shù)據(jù)大小。
[0075]數(shù)據(jù)內(nèi)容方面:
[0076]客戶端傳輸RPC請(qǐng)求數(shù)據(jù)的內(nèi)容;
[0077]客戶端接收服務(wù)端執(zhí)行結(jié)果數(shù)據(jù)的內(nèi)容。
[0078]步驟208,服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間。
[0079]具體的,當(dāng)客戶端處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)時(shí),客戶端向服務(wù)端發(fā)送RPC請(qǐng)求數(shù)據(jù),會(huì)將其中某一標(biāo)識(shí)位設(shè)置為預(yù)定數(shù)值,服務(wù)端根據(jù)該標(biāo)識(shí)位,也會(huì)進(jìn)入錄制狀態(tài),記錄服務(wù)端的處理過(guò)程和時(shí)間。包括:各次遠(yuǎn)程調(diào)`用請(qǐng)求數(shù)據(jù)解碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼過(guò)程和時(shí)間,各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼后數(shù)據(jù)傳輸過(guò)程和時(shí)間等。其中如圖4,業(yè)務(wù)方法(Method)為對(duì)應(yīng)于RPC調(diào)用的一段程序,在服務(wù)端由進(jìn)程或線程完成。在業(yè)務(wù)方法的執(zhí)行過(guò)程中,服務(wù)器可能會(huì)進(jìn)行數(shù)據(jù)庫(kù)操作,如業(yè)務(wù)方法I執(zhí)行過(guò)程中涉及了數(shù)據(jù)庫(kù)操作1,業(yè)務(wù)方法3中涉及到數(shù)據(jù)庫(kù)操作2和數(shù)據(jù)庫(kù)操作3,而業(yè)務(wù)方法2中沒(méi)有進(jìn)行數(shù)據(jù)庫(kù)操作。在業(yè)務(wù)方法涉及到數(shù)據(jù)庫(kù)操作時(shí),服務(wù)端需要在業(yè)務(wù)方法處理過(guò)程和時(shí)間中記錄相關(guān)數(shù)據(jù)庫(kù)操作和時(shí)間。在本實(shí)施例中,數(shù)據(jù)庫(kù)可以是關(guān)系型數(shù)據(jù)庫(kù),服務(wù)端一般可以采用API (如0DBC、JDBC、OLEDB等)訪問(wèn)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)在執(zhí)行時(shí),可以是執(zhí)行SQL語(yǔ)句。由此,本實(shí)施例中服務(wù)端可以記錄:數(shù)據(jù)庫(kù)操作開(kāi)始和結(jié)束時(shí)間、SQL執(zhí)行語(yǔ)句的內(nèi)容、SQL執(zhí)行語(yǔ)句的大小。
[0080]步驟210,服務(wù)端向客戶端發(fā)送各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間。
[0081]具體的,如圖4,服務(wù)端404向客戶端402返回業(yè)務(wù)方法1、…業(yè)務(wù)方法N的執(zhí)行結(jié)果時(shí),會(huì)將各次RPC調(diào)用對(duì)應(yīng)的服務(wù)端記錄數(shù)據(jù)發(fā)送給客戶端。
[0082]步驟212,客戶端根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0083]具體的,客戶端根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,進(jìn)行匯總,可以將一次業(yè)務(wù)處理過(guò)程按持續(xù)時(shí)間進(jìn)行分解。
[0084]例如如圖4,總計(jì)有N次RPC調(diào)用,則:
[0085]業(yè)務(wù)處理過(guò)程時(shí)間=客戶端CPU時(shí)間1+RPC請(qǐng)求調(diào)用時(shí)間1+客戶端CPU時(shí)間2++RPC請(qǐng)求調(diào)用時(shí)間2+…+客戶端CPU時(shí)間N+RPC請(qǐng)求調(diào)用時(shí)間N+客戶端CPU時(shí)間(N+1)。
[0086]其中,客戶端CPU時(shí)間為客戶端處理器邏輯處理消耗的時(shí)間,例如
[0087]客戶端CPU時(shí)間I=RPC請(qǐng)求調(diào)用I開(kāi)始時(shí)間-業(yè)務(wù)動(dòng)作輸入時(shí)間;
[0088]客戶端CPU時(shí)間2=RPC請(qǐng)求調(diào)用2開(kāi)始時(shí)間-RPC請(qǐng)求調(diào)用I結(jié)束時(shí)間;
[0089]......[0090]客戶端CPU時(shí)間(N+1)=業(yè)務(wù)動(dòng)作結(jié)束時(shí)間-RPC請(qǐng)求調(diào)用N結(jié)束時(shí)間。
[0091]在本實(shí)施例中,RPC請(qǐng)求調(diào)用時(shí)間可以進(jìn)行分解,包括:客戶端RPC請(qǐng)求數(shù)據(jù)編碼時(shí)間、客戶端RPC請(qǐng)求數(shù)據(jù)傳輸時(shí)間、服務(wù)端RPC請(qǐng)求數(shù)據(jù)解碼時(shí)間、服務(wù)端業(yè)務(wù)方法執(zhí)行時(shí)間、服務(wù)端執(zhí)行結(jié)果數(shù)據(jù)編碼時(shí)間、服務(wù)端執(zhí)行結(jié)果數(shù)據(jù)傳輸時(shí)間等。
[0092]在服務(wù)端業(yè)務(wù)方法中涉及到數(shù)據(jù)庫(kù)操作時(shí),有:
[0093]服務(wù)端業(yè)務(wù)方法執(zhí)行時(shí)間=服務(wù)端CPU時(shí)間1+SQL調(diào)用時(shí)間1+服務(wù)端CPU時(shí)間2++SQL調(diào)用時(shí)間2+…+服務(wù)端CPU時(shí)間N+SQL調(diào)用時(shí)間N+服務(wù)端CPU時(shí)間(N+1);
[0094]其中服務(wù)端CPU時(shí)間指服務(wù)端的邏輯處理消耗的時(shí)間,例如:
[0095]服務(wù)端CPU時(shí)間I=SQL調(diào)用I開(kāi)始時(shí)間-業(yè)務(wù)方法開(kāi)始時(shí)間
[0096]服務(wù)端CPU時(shí)間2=SQL調(diào)用2開(kāi)始時(shí)間-SQL調(diào)用I結(jié)束時(shí)間
[0097]服務(wù)端CPU時(shí)間(N+1)=業(yè)務(wù)方法結(jié)束時(shí)間-SQL調(diào)用N結(jié)束時(shí)間。
[0098]由此,客戶端根據(jù)上述分析,可以計(jì)算得出一個(gè)業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程各個(gè)環(huán)節(jié)的性能耗時(shí),從而為ERP工具的優(yōu)化提供參考意見(jiàn)。例如客戶端或服務(wù)端的編解碼時(shí)間反應(yīng)了編解碼算法的優(yōu)劣,在編解碼時(shí)間過(guò)長(zhǎng)的情況下,可以對(duì)客戶端或服務(wù)端的編解碼算法進(jìn)行優(yōu)化;又例如RPC請(qǐng)求數(shù)據(jù)和執(zhí)行結(jié)果數(shù)據(jù)傳輸時(shí)間考察的是網(wǎng)絡(luò)IO的性能,在RPC請(qǐng)求數(shù)據(jù)和執(zhí)行結(jié)果數(shù)據(jù)傳輸時(shí)間過(guò)長(zhǎng)的情況下,可以優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)等;同理當(dāng)數(shù)據(jù)庫(kù)SQL調(diào)用時(shí)間過(guò)長(zhǎng),可以選擇對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化等等。
[0099]在客戶端完成業(yè)務(wù)處理性能分析后,客戶端可以將業(yè)務(wù)處理過(guò)程中各環(huán)節(jié)的性能耗時(shí)打印輸出,或者將其展示到客戶端界面上。
[0100]參見(jiàn)圖5,在一個(gè)實(shí)施例中提供了一種業(yè)務(wù)處理性能分析裝置。該裝置包括:
[0101]業(yè)務(wù)動(dòng)作獲取單元502,用于獲取客戶端輸入的業(yè)務(wù)動(dòng)作。
[0102]客戶端錄制單元504,用于記錄業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間。
[0103]服務(wù)端錄制單元506,用于記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間。
[0104]服務(wù)端發(fā)送單元508,用于向客戶端發(fā)送各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間。
[0105]客戶端匯總單元510,用于根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間、以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0106]具體的,在本實(shí)施例中,客戶端錄制單元506記錄各次遠(yuǎn)程調(diào)用開(kāi)始和結(jié)束時(shí)間、各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)編碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)向服務(wù)端傳輸過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)接收過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)解碼過(guò)程和時(shí)間。
[0107]服務(wù)端錄制單元508記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)解碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼過(guò)程和時(shí)間.在業(yè)務(wù)方法涉及到數(shù)據(jù)庫(kù)操作時(shí),服務(wù)端錄制單元508記錄業(yè)務(wù)方法執(zhí)行過(guò)程中對(duì)應(yīng)的各次數(shù)據(jù)庫(kù)操作和時(shí)間。
[0108]參見(jiàn)圖6,在另一個(gè)實(shí)施例中提供了一種業(yè)務(wù)處理性能分析裝置。本實(shí)施例中的業(yè)務(wù)處理性能分析裝置與圖5中實(shí)施例的區(qū)別在于,本實(shí)施例的裝置還包括判斷單元600和展示單元612。[0109]判斷單元600,用于判斷客戶端是否處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)。在判定客戶端處于錄制狀態(tài)時(shí),客戶端錄制單元604和服務(wù)端錄制單元606才會(huì)記錄客戶端和服務(wù)端的處理過(guò)程和時(shí)間。
[0110]展示單元612,用于展示客戶端匯總單元610計(jì)算得到的業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
[0111]本實(shí)施例中的裝置其余部分的工作原理與圖5中實(shí)施例相同,在此不再贅述。
[0112]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
[0113]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種業(yè)務(wù)處理性能分析方法,其特征在于,所述方法包括: 獲取客戶端輸入的業(yè)務(wù)動(dòng)作; 所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間; 服務(wù)端記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間; 所述服務(wù)端向所述客戶端發(fā)送各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間;所述客戶端根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間、以及各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間的步驟之前,所述方法還包括: 所述客戶端判定所述客戶端處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述客戶端記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間,包括: 所述客戶端記錄各次遠(yuǎn)程調(diào)用開(kāi)始和結(jié)束時(shí)間; 所述客戶端記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)編碼過(guò)程和時(shí)間; 所述客戶端記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)向所述服務(wù)端傳輸過(guò)程和時(shí)間; 所述客戶端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)接收過(guò)程和時(shí)間; 所述客戶端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)解碼過(guò)程和時(shí)間。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述服務(wù)端記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,包括: 所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)解碼過(guò)程和時(shí)間; 所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間; 所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼過(guò)程和時(shí)間。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述服務(wù)端記錄各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間的步驟中,包括: 所述服務(wù)端記錄所述業(yè)務(wù)方法執(zhí)行過(guò)程中對(duì)應(yīng)的各次數(shù)據(jù)庫(kù)操作和時(shí)間。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:展示所述客戶端計(jì)算得到的所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
7.—種業(yè)務(wù)處理性能分析裝置,其特征在于,所述裝置包括: 業(yè)務(wù)動(dòng)作獲取單元,用于獲取客戶端輸入的業(yè)務(wù)動(dòng)作; 客戶端錄制單元,用于記錄所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間; 服務(wù)端錄制單元,用于記錄各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間; 服務(wù)端發(fā)送單元,用于向所述客戶端發(fā)送各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間; 客戶端匯總單元,用于根據(jù)各次遠(yuǎn)程調(diào)用的客戶端處理過(guò)程和時(shí)間、以及各次所述遠(yuǎn)程調(diào)用對(duì)應(yīng)的服務(wù)端處理過(guò)程和時(shí)間,計(jì)算所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括判斷單元,用于判斷所述客戶端是否處于業(yè)務(wù)處理過(guò)程錄制狀態(tài)。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述客戶端錄制單元用于記錄各次遠(yuǎn)程調(diào)用開(kāi)始和結(jié)束時(shí)間、各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)編碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)向所述服務(wù)端傳輸過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)接收過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果數(shù)據(jù)解碼過(guò)程和時(shí)間。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述服務(wù)端錄制單元用于記錄各次遠(yuǎn)程調(diào)用請(qǐng)求數(shù)據(jù)解碼過(guò)程和時(shí)間、各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的業(yè)務(wù)方法執(zhí)行過(guò)程和時(shí)間,以及各次遠(yuǎn)程調(diào)用對(duì)應(yīng)的執(zhí)行結(jié)果編碼過(guò)程和時(shí)間。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述服務(wù)端錄制單元還用于記錄所述業(yè)務(wù)方法執(zhí)行過(guò)程中對(duì)應(yīng)的各次數(shù)據(jù)庫(kù)操作和時(shí)間。
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括展示單元,用于展示所述客戶端匯總 單元計(jì)算得到的所述業(yè)務(wù)動(dòng)作對(duì)應(yīng)的業(yè)務(wù)處理過(guò)程的性能耗時(shí)。
【文檔編號(hào)】G06Q10/06GK103745317SQ201310754670
【公開(kāi)日】2014年4月23日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】林志賢 申請(qǐng)人:金蝶軟件(中國(guó))有限公司