定位故障的方法、設(shè)備及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供一種定位故障的方法、設(shè)備及系統(tǒng),所述方法包括:客戶(hù)端收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù),并將所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器;服務(wù)器接收所述跟蹤數(shù)據(jù),根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。通過(guò)采用本發(fā)明可以快速的定位故障、解決問(wèn)題。
【專(zhuān)利說(shuō)明】定位故障的方法、設(shè)備及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,更為具體而言,涉及定位故障的方法、設(shè)備及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)交易應(yīng)用程序開(kāi)發(fā)完畢交付運(yùn)維后,運(yùn)維人員對(duì)程序內(nèi)部交易邏輯不清楚。故障出現(xiàn)后無(wú)法快速定位問(wèn)題,往往延誤了故障的處理和恢復(fù)。
[0003]針對(duì)這一問(wèn)題,現(xiàn)有技術(shù)使用基于日志的故障定位方法,但通過(guò)日志無(wú)法展現(xiàn)故障發(fā)生時(shí)點(diǎn)的全部交易邏輯、相關(guān)方法的輸入輸出參數(shù)、堆棧調(diào)用邏輯等,需要在故障發(fā)生后,將相關(guān)應(yīng)用日志提供給開(kāi)發(fā)人員進(jìn)行分析,導(dǎo)致過(guò)度依賴(lài)開(kāi)發(fā)人員,而且在銀行等涉密單位,開(kāi)發(fā)人員不能參與運(yùn)維工作,因此開(kāi)發(fā)人員無(wú)法直接登錄生產(chǎn)系統(tǒng)定位問(wèn)題,導(dǎo)致故障定位、解決時(shí)間長(zhǎng)。
【發(fā)明內(nèi)容】
[0004]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種定位故障的方法、設(shè)備及系統(tǒng),有效地解決了現(xiàn)有的定位故障的方式中過(guò)度依賴(lài)開(kāi)發(fā)人員以及故障定位、解決的時(shí)間長(zhǎng)的問(wèn)題。
[0005]—方面,本發(fā)明的實(shí)施方式提供一種定位故障的方法,所述方法包括:
[0006]客戶(hù)端收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù),并將所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器;
[0007]服務(wù)器接收所述跟蹤數(shù)據(jù),根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0008]相應(yīng)地,本發(fā)明的實(shí)施方式提供一種客戶(hù)端,所述客戶(hù)端包括:
[0009]跟蹤模塊,用于收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù);
[0010]發(fā)送模塊,用于將所述跟蹤模塊收集的所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0011]相應(yīng)地,本發(fā)明的實(shí)施方式提供一種服務(wù)器,所述服務(wù)器包括:
[0012]接收模塊,用于接收客戶(hù)端發(fā)送的應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù);
[0013]第一關(guān)聯(lián)模塊,用于根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系;
[0014]第一存儲(chǔ)模塊,用于將所述接收模塊接收的所述跟蹤數(shù)據(jù)以及所述第一關(guān)聯(lián)模塊關(guān)聯(lián)出的所述總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0015]另一方面,本發(fā)明的實(shí)施方式提供一種定位故障的系統(tǒng),所述系統(tǒng)包括:如上所述的客戶(hù)端和如上所述的服務(wù)器。
[0016]實(shí)施本發(fā)明提供的定位故障的方法、設(shè)備及系統(tǒng)可以實(shí)現(xiàn)快速的定位故障、解決問(wèn)題。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017]圖1是根據(jù)本發(fā)明實(shí)施方式的一種定位故障的方法的流程圖;
[0018]圖2是根據(jù)本發(fā)明實(shí)施方式的宿主應(yīng)用、客戶(hù)端、服務(wù)器端的交互框圖;
[0019]圖3示出了圖2所示的客戶(hù)端側(cè)的流程圖的一例;
[0020]圖4示出了圖3所示步驟S5的一種實(shí)施方式;
[0021]圖5是根據(jù)本發(fā)明實(shí)施方式的關(guān)鍵點(diǎn)之間調(diào)用關(guān)系的展示方式示意圖;
[0022]圖6是根據(jù)本發(fā)明實(shí)施方式的定位故障的系統(tǒng)的架構(gòu)圖;
[0023]圖7示出了圖6所示的系統(tǒng)中的客戶(hù)端的結(jié)構(gòu)示意圖;
[0024]圖8示出了圖7所示的模塊110的一種實(shí)施方式的結(jié)構(gòu)示意圖;
[0025]圖9示出了圖6所示的系統(tǒng)中的服務(wù)器的結(jié)構(gòu)示意圖;
[0026]圖10示出了圖6所示的系統(tǒng)中的數(shù)據(jù)展示客戶(hù)端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0027]為使本發(fā)明的實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0028]圖1是根據(jù)本發(fā)明實(shí)施方式的一種定位故障的方法的流程圖,參見(jiàn)圖1,該方法包括:
[0029]SlOO:客戶(hù)端收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù),并將所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器。
[0030]其中,所述關(guān)鍵點(diǎn)包括應(yīng)用程序中的特定類(lèi)、方法、函數(shù);所述跟蹤數(shù)據(jù)包括關(guān)鍵點(diǎn)的名稱(chēng)、進(jìn)入時(shí)間、輸入?yún)?shù)、完成時(shí)間、輸出結(jié)果、異常報(bào)錯(cuò);客戶(hù)端收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù)可以通過(guò)以下步驟實(shí)現(xiàn):
[0031]所述客戶(hù)端訪(fǎng)問(wèn)所述服務(wù)器,讀取所述關(guān)鍵點(diǎn);
[0032]在所述關(guān)鍵點(diǎn)前后插入跟蹤代碼,通過(guò)所述跟蹤代碼收集所述跟蹤數(shù)據(jù)。
[0033]S200:服務(wù)器接收所述跟蹤數(shù)據(jù),根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0034]并且,所述方法除上述步驟外還可以包括:
[0035]所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)以及所述總調(diào)用關(guān)系,關(guān)聯(lián)出各所述關(guān)鍵點(diǎn)的第一子調(diào)用關(guān)系;
[0036]并將各所述第一子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
[0037]另外,所述方法還可以包括:
[0038]所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)識(shí)別出故障點(diǎn);
[0039]根據(jù)所述總調(diào)用關(guān)系追蹤所述故障點(diǎn)的入口點(diǎn)及所述故障點(diǎn)與入口點(diǎn)之間的第二子調(diào)用關(guān)系;
[0040]將所述第二子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
[0041]此外,所述方法還可以包括:
[0042]所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)計(jì)算各所述關(guān)鍵點(diǎn)以及所述應(yīng)用程序的執(zhí)行時(shí)間;
[0043]將各所述關(guān)鍵點(diǎn)及所述應(yīng)用程序的所述執(zhí)行時(shí)間寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
[0044]在本發(fā)明的一種實(shí)施方式中,所述用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位可以通過(guò),但不限于以下方式:
[0045]所述用戶(hù)向數(shù)據(jù)展示客戶(hù)端發(fā)送交互請(qǐng)求,該數(shù)據(jù)展示客戶(hù)端接收所述交互請(qǐng)求,根據(jù)所述交互請(qǐng)求發(fā)送查詢(xún)請(qǐng)求至所述服務(wù)器,接收所述服務(wù)器返回的數(shù)據(jù),并將所述服務(wù)器返回的數(shù)據(jù)以文字、圖表等方式展現(xiàn)給所述用戶(hù)以進(jìn)行故障定位、處理。
[0046]下面給出具體例子,對(duì)本發(fā)明提供的方法進(jìn)行詳細(xì)說(shuō)明。該方法具體通過(guò)一個(gè)服務(wù)器端應(yīng)用程序、一個(gè)數(shù)據(jù)庫(kù)及部署在跟蹤目標(biāo)應(yīng)用程序(宿主應(yīng)用程序)上的客戶(hù)端實(shí)現(xiàn)。其中,宿主應(yīng)用程序是基于動(dòng)態(tài)語(yǔ)言編寫(xiě)的。
[0047]圖2是宿主應(yīng)用、客戶(hù)端、服務(wù)器端的交互框圖。參見(jiàn)圖2部署在宿主應(yīng)用程序上的客戶(hù)端應(yīng)用程序從服務(wù)器端獲取目標(biāo)類(lèi)、方法、函數(shù)(指希望進(jìn)行跟蹤、故障診斷的應(yīng)用程序中的特定類(lèi)、方法、函數(shù),即關(guān)鍵點(diǎn)),通過(guò)動(dòng)態(tài)語(yǔ)言的動(dòng)態(tài)裝載、修改機(jī)制,在目標(biāo)類(lèi)、方法或函數(shù)(關(guān)鍵點(diǎn))前后插入跟蹤代碼,收集該類(lèi)、方法或函數(shù)的調(diào)用及執(zhí)行數(shù)據(jù)及處理結(jié)果(即跟蹤數(shù)據(jù)),并將這些數(shù)據(jù)發(fā)送給服務(wù)器端。其中根據(jù)宿主應(yīng)用程序編寫(xiě)的語(yǔ)言不同,使用相對(duì)應(yīng)的客戶(hù)端應(yīng)用程序。目前支持的動(dòng)態(tài)語(yǔ)言包括Java、C#。
[0048]參見(jiàn)圖3,上述過(guò)程的具體實(shí)現(xiàn)步驟包括:
[0049]S1:宿主應(yīng)用程序啟動(dòng);
[0050]S2:加載客戶(hù)端應(yīng)用程序;
[0051]S3:客戶(hù)端訪(fǎng)問(wèn)服務(wù)器,讀取目標(biāo)類(lèi)、方法、函數(shù);
[0052]S4:在目標(biāo)類(lèi)、方法、函數(shù)前后插入跟蹤代碼;
[0053]S5:收集跟蹤數(shù)據(jù),將跟蹤數(shù)據(jù)發(fā)送至服務(wù)器。
[0054]參見(jiàn)圖4,上述步驟S5的具體實(shí)現(xiàn)過(guò)程為:
[0055]S51:用戶(hù)交易請(qǐng)求調(diào)用關(guān)鍵點(diǎn);
[0056]S52:執(zhí)行前跟蹤代碼,收集數(shù)據(jù);
[0057]S53:執(zhí)行關(guān)鍵點(diǎn);
[0058]S54:判斷是否有下一層調(diào)用,若是則返回步驟S52,若否則執(zhí)行步驟S55 ;
[0059]S55:執(zhí)行后跟蹤代碼,收集數(shù)據(jù);
[0060]S56:判斷是否有上一層調(diào)用,若是則執(zhí)行步驟S57,若否則執(zhí)行步驟S58 ;
[0061]S57:返回上層關(guān)鍵點(diǎn)并執(zhí)行步驟S52 ;
[0062]S58:客戶(hù)端發(fā)送跟蹤數(shù)據(jù)到服務(wù)器端。
[0063]在前跟蹤代碼中,記錄包括宿主應(yīng)用程序的目標(biāo)類(lèi)、方法、函數(shù)(關(guān)鍵點(diǎn))的名稱(chēng)、進(jìn)入時(shí)間、輸入?yún)?shù)、數(shù)據(jù)庫(kù)SOL語(yǔ)言、父方法跟蹤號(hào)等代碼邏輯;在后跟蹤代碼中,記錄包括宿主應(yīng)用程序的關(guān)鍵點(diǎn)的完成時(shí)間、輸出結(jié)果及異常報(bào)錯(cuò)。并且,本發(fā)明中前、后跟蹤代碼收集數(shù)據(jù)的方法是基于常規(guī)的反射、依賴(lài)注入、面向切面的編程及設(shè)計(jì)的技術(shù)。
[0064]服務(wù)器端應(yīng)用程序負(fù)責(zé)接收客戶(hù)端應(yīng)用程序發(fā)送的數(shù)據(jù),將這些數(shù)據(jù)整理后寫(xiě)入到數(shù)據(jù)庫(kù)服務(wù)器中。同時(shí)服務(wù)器端負(fù)責(zé)接收數(shù)據(jù)展現(xiàn)客戶(hù)端的請(qǐng)求,并將相應(yīng)的數(shù)據(jù)從數(shù)據(jù)庫(kù)中讀取后返回給數(shù)據(jù)展現(xiàn)客戶(hù)端。
[0065]服務(wù)器端應(yīng)用程序根據(jù)采集時(shí)間的先后順序?qū)⒉杉臄?shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)中并與關(guān)鍵點(diǎn)跟蹤號(hào)關(guān)聯(lián),根據(jù)跟蹤代碼所米集的關(guān)鍵點(diǎn)的父關(guān)鍵點(diǎn)跟蹤號(hào)生成“關(guān)鍵點(diǎn)跟蹤樹(shù)”,其各節(jié)點(diǎn)包括一個(gè)全局唯一的數(shù)字,一個(gè)父節(jié)點(diǎn)(父關(guān)鍵點(diǎn)跟蹤號(hào))的引用對(duì)象、一個(gè)包含所有子節(jié)點(diǎn)(子關(guān)鍵點(diǎn)跟蹤號(hào))的數(shù)組。由此關(guān)聯(lián)出各關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,即關(guān)聯(lián)出完整的程序內(nèi)交易邏輯。并且對(duì)于任一關(guān)鍵點(diǎn)可以通過(guò)逐層獲取父關(guān)鍵點(diǎn)跟蹤號(hào)、子關(guān)鍵點(diǎn)跟蹤號(hào)的方式關(guān)聯(lián)出與該關(guān)鍵點(diǎn)相關(guān)的完整調(diào)用關(guān)系(即完整的交易路徑),通過(guò)任一關(guān)鍵點(diǎn)可追蹤到其他關(guān)鍵點(diǎn)。另外,服務(wù)器端還可以識(shí)別故障點(diǎn),從故障點(diǎn)追蹤到入口點(diǎn)及之間的完整調(diào)用關(guān)系。故障點(diǎn)即指出現(xiàn)異常的關(guān)鍵點(diǎn)調(diào)用,異常出現(xiàn)后會(huì)輸出異常信息,因此可以被跟蹤代碼捕獲。根據(jù)異常信息識(shí)別出關(guān)鍵點(diǎn),并通過(guò)對(duì)關(guān)鍵點(diǎn)跟蹤號(hào)的遍歷即可追蹤到入口點(diǎn)以及與入口點(diǎn)之間的完整調(diào)用關(guān)系。此外,服務(wù)器端可以通過(guò)用后跟蹤代碼收集的完成時(shí)間減去前跟蹤代碼收集的進(jìn)入時(shí)間計(jì)算出每個(gè)關(guān)鍵點(diǎn)的執(zhí)行時(shí)間,將每個(gè)關(guān)鍵點(diǎn)的執(zhí)行時(shí)間加總就得到每次交易(每次執(zhí)行應(yīng)用程序)的耗時(shí)時(shí)間。由此可以統(tǒng)計(jì)交易和關(guān)鍵點(diǎn)的最長(zhǎng)耗時(shí)、最短耗時(shí)、平均耗時(shí),用戶(hù)可檢索耗時(shí)大于某個(gè)特定值的交易或關(guān)鍵點(diǎn)。
[0066]技術(shù)人員通過(guò)數(shù)據(jù)展示客戶(hù)端訪(fǎng)問(wèn)服務(wù)器端應(yīng)用程序,查看客戶(hù)端收集到的數(shù)據(jù)并進(jìn)行數(shù)據(jù)分析、故障定位。數(shù)據(jù)展現(xiàn)客戶(hù)端的展現(xiàn)維度包括按時(shí)間順序、按方法、按異常等維度展現(xiàn)服務(wù)器端采集到的跟蹤結(jié)果。用戶(hù)通過(guò)數(shù)據(jù)展現(xiàn)客戶(hù)端選擇一只交易后,顯示該交易的進(jìn)入時(shí)間、完成時(shí)間及所有關(guān)鍵點(diǎn)的進(jìn)入、完成時(shí)間、輸入?yún)?shù)、輸出結(jié)果、異常報(bào)錯(cuò)以及完整的程序內(nèi)交易邏輯(各關(guān)鍵點(diǎn)之間的調(diào)用關(guān)系),其具體過(guò)程如下:尋找根關(guān)鍵點(diǎn)跟蹤號(hào):在“關(guān)鍵點(diǎn)跟蹤樹(shù)”的節(jié)點(diǎn)中沒(méi)有父節(jié)點(diǎn)的為“根關(guān)鍵點(diǎn)跟蹤號(hào)”;由根關(guān)鍵點(diǎn)跟蹤號(hào)開(kāi)始,按深度優(yōu)先遍歷所有子關(guān)鍵點(diǎn)跟蹤號(hào),一行展示一個(gè)關(guān)鍵點(diǎn),關(guān)鍵點(diǎn)之間的調(diào)用關(guān)系用文本縮進(jìn)的格式展現(xiàn)。以此展示一次交易的所有關(guān)鍵點(diǎn)的調(diào)用,即該交易的交易邏輯,具體如圖5所示。
[0067]當(dāng)宿主應(yīng)用程序出現(xiàn)故障后,技術(shù)人員可以通過(guò)數(shù)據(jù)展示客戶(hù)端觀察所有交易的執(zhí)行時(shí)間完成情況,異常情況??梢愿鶕?jù)異常報(bào)錯(cuò)查看出現(xiàn)異常的交易、交易的所有關(guān)鍵點(diǎn)及交易邏輯,定位造成故障的關(guān)鍵點(diǎn)。
[0068]圖6是根據(jù)本發(fā)明實(shí)施方式的定位故障的系統(tǒng)的架構(gòu)圖,參見(jiàn)圖6,所述系統(tǒng)包括:
[0069]客戶(hù)端100,用于執(zhí)行下述操作:收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù);將所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0070]服務(wù)器200,用于執(zhí)行下述操作:接收客戶(hù)端發(fā)送的應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù);根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系;將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0071]數(shù)據(jù)展示客戶(hù)端300,用于執(zhí)行下述操作:接收用戶(hù)的交互請(qǐng)求,根據(jù)交互請(qǐng)求發(fā)送查詢(xún)請(qǐng)求至所述服務(wù)器,接收所述服務(wù)器返回的數(shù)據(jù),并將所述服務(wù)器返回的數(shù)據(jù)以文字、圖表等方式展現(xiàn)給用戶(hù)以進(jìn)行故障定位、處理。
[0072]圖7示出了圖6所示的系統(tǒng)中的客戶(hù)端的結(jié)構(gòu)示意圖,參見(jiàn)圖7,所述客戶(hù)端100包括:
[0073]跟蹤模塊110,用于收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù)。
[0074]其中,所述關(guān)鍵點(diǎn)包括應(yīng)用程序中的特定類(lèi)、方法、函數(shù);所述跟蹤數(shù)據(jù)包括關(guān)鍵點(diǎn)的名稱(chēng)、進(jìn)入時(shí)間、輸入?yún)?shù)、完成時(shí)間、輸出結(jié)果、異常報(bào)錯(cuò)。
[0075]發(fā)送模塊120,用于將所述跟蹤模塊110收集的所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0076]圖8示出了圖7所示的跟蹤模塊110的一種實(shí)施方式的結(jié)構(gòu)示意圖,參見(jiàn)圖8,所述跟蹤模塊110包括:
[0077]讀取單元111,用于訪(fǎng)問(wèn)所述服務(wù)器,讀取所述關(guān)鍵點(diǎn)。
[0078]收集單元112,用于在所述讀取單元111所讀取的所述關(guān)鍵點(diǎn)前后插入所述跟蹤代碼,通過(guò)所述跟蹤代碼收集所述跟蹤數(shù)據(jù)。
[0079]圖9示出了圖6所示的系統(tǒng)中的服務(wù)器的結(jié)構(gòu)示意圖,參見(jiàn)圖9,所述服務(wù)器200包括:
[0080]接收模塊210,用于接收客戶(hù)端發(fā)送的應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù)。
[0081]第一關(guān)聯(lián)模塊220,用于根據(jù)所述接收模塊210接收的所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系。
[0082]第一存儲(chǔ)模塊230,用于將所述接收模塊210接收的所述跟蹤數(shù)據(jù)以及所述第一關(guān)聯(lián)模塊220關(guān)聯(lián)出的所述總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
[0083]并且所述服務(wù)器200還可以包括:
[0084]第二關(guān)聯(lián)模塊,用于根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)以及所述第一關(guān)聯(lián)模塊關(guān)聯(lián)出的所述總調(diào)用關(guān)系,關(guān)聯(lián)出各所述關(guān)鍵點(diǎn)的第一子調(diào)用關(guān)系;
[0085]第二存儲(chǔ)模塊,用于將所述第二關(guān)聯(lián)模塊關(guān)聯(lián)出的各所述第一子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
[0086]另外,所述服務(wù)器200還可以包括:
[0087]識(shí)別模塊,用于根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)識(shí)別出故障點(diǎn);
[0088]第三關(guān)聯(lián)模塊,用于根據(jù)所述第一關(guān)聯(lián)模塊關(guān)聯(lián)出的所述總調(diào)用關(guān)系追蹤所述故障點(diǎn)的入口點(diǎn)及所述故障點(diǎn)與入口點(diǎn)之間的第二子調(diào)用關(guān)系;
[0089]第三存儲(chǔ)模塊,用于將所述第三關(guān)聯(lián)模塊關(guān)聯(lián)出的所述第二子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
[0090]此外,所述服務(wù)器200還可以包括:
[0091]統(tǒng)計(jì)模塊,根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)計(jì)算各所述關(guān)鍵點(diǎn)以及所述應(yīng)用程序的執(zhí)行時(shí)間;
[0092]第四存儲(chǔ)模塊,用于將所述統(tǒng)計(jì)模塊計(jì)算的各所述關(guān)鍵點(diǎn)及所述應(yīng)用程序的所述執(zhí)行時(shí)間寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
[0093]圖10示出了圖6所示的系統(tǒng)中的數(shù)據(jù)展示客戶(hù)端300的結(jié)構(gòu)示意圖。參見(jiàn)圖10,所述數(shù)據(jù)展示客戶(hù)端300包括:
[0094]數(shù)據(jù)展示模塊310,用于接收用戶(hù)的交互請(qǐng)求,根據(jù)交互請(qǐng)求發(fā)送查詢(xún)請(qǐng)求至所述服務(wù)器,接收所述服務(wù)器返回的數(shù)據(jù),并將所述服務(wù)器返回的數(shù)據(jù)以文字、圖表等方式展現(xiàn)給用戶(hù)以進(jìn)行故障定位、處理。
[0095]實(shí)施本發(fā)明提供的定位故障的方法、設(shè)備及系統(tǒng)可以實(shí)現(xiàn)快速的定位故障、解決問(wèn)題。
[0096]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件結(jié)合硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過(guò)硬件來(lái)實(shí)施。基于這樣的理解,本發(fā)明的技術(shù)方案對(duì)【背景技術(shù)】做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,智能手機(jī)或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0097]本發(fā)明說(shuō)明書(shū)中使用的術(shù)語(yǔ)和措辭僅僅為了舉例說(shuō)明,并不意味構(gòu)成限定。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不脫離所公開(kāi)的實(shí)施方式的基本原理的前提下,對(duì)上述實(shí)施方式中的各細(xì)節(jié)可進(jìn)行各種變化。因此,本發(fā)明的范圍只由權(quán)利要求確定,在權(quán)利要求中,除非另有說(shuō)明,所有的術(shù)語(yǔ)應(yīng)按最寬泛合理的意思進(jìn)行理解。
【權(quán)利要求】
1.一種定位故障的方法,其特征在于,所述方法包括: 客戶(hù)端收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù),并將所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器; 服務(wù)器接收所述跟蹤數(shù)據(jù),根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
2.如權(quán)利要求1所述的方法,其特征在于,所述客戶(hù)端收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù)包括: 所述客戶(hù)端訪(fǎng)問(wèn)所述服務(wù)器,讀取所述關(guān)鍵點(diǎn); 在所述關(guān)鍵點(diǎn)前后插入跟蹤代碼,通過(guò)所述跟蹤代碼收集所述跟蹤數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)以及所述總調(diào)用關(guān)系,關(guān)聯(lián)出各所述關(guān)鍵點(diǎn)的第一子調(diào)用關(guān)系; 并將各所述第一子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)識(shí)別出故障點(diǎn); 根據(jù)所述總調(diào)用關(guān)系追蹤所述故障點(diǎn)的入口點(diǎn)及所述故障點(diǎn)與入口點(diǎn)之間的第二子調(diào)用關(guān)系; 將所述第二子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
5.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)計(jì)算各所述關(guān)鍵點(diǎn)以及所述應(yīng)用程序的執(zhí)行時(shí)間; 將各所述關(guān)鍵點(diǎn)及所述應(yīng)用程序的所述執(zhí)行時(shí)間寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
6.—種客戶(hù)端,其特征在于,所述客戶(hù)端包括:; 跟蹤模塊,用于收集應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù); 發(fā)送模塊,用于將所述跟蹤模塊收集的所述跟蹤數(shù)據(jù)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系,并將所述跟蹤數(shù)據(jù)以及總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
7.如權(quán)利要求6所述的客戶(hù)端,其特征在于,所述跟蹤模塊包括: 讀取單元,用于訪(fǎng)問(wèn)所述服務(wù)器,讀取所述關(guān)鍵點(diǎn); 收集單元,用于在所述讀取單元所讀取的所述關(guān)鍵點(diǎn)前后插入所述跟蹤代碼,通過(guò)所述跟蹤代碼收集所述跟蹤數(shù)據(jù)。
8.一種服務(wù)器,其特征在于,所述服務(wù)器包括: 接收模塊,用于接收客戶(hù)端發(fā)送的應(yīng)用程序的關(guān)鍵點(diǎn)的跟蹤數(shù)據(jù); 第一關(guān)聯(lián)模塊,用于根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)關(guān)聯(lián)出所述關(guān)鍵點(diǎn)之間的總調(diào)用關(guān)系; 第一存儲(chǔ)模塊,用于將所述接收模塊接收的所述跟蹤數(shù)據(jù)以及所述第一關(guān)聯(lián)模塊關(guān)聯(lián)出的所述總調(diào)用關(guān)系寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器,以便用戶(hù)查詢(xún)所述寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),進(jìn)行故障定位。
9.如權(quán)利要求8所述的服務(wù)器,其特征在于,所述服務(wù)器還包括: 第二關(guān)聯(lián)模塊,用于根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)以及所述第一關(guān)聯(lián)模塊關(guān)聯(lián)出的所述總調(diào)用關(guān)系,關(guān)聯(lián)出各所述關(guān)鍵點(diǎn)的第一子調(diào)用關(guān)系; 第二存儲(chǔ)模塊,用于將所述第二關(guān)聯(lián)模塊關(guān)聯(lián)出的各所述第一子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
10.如權(quán)利要求8或9所述的服務(wù)器,其特征在于,所述服務(wù)器還包括: 識(shí)別模塊,用于根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)識(shí)別出故障點(diǎn); 第三關(guān)聯(lián)模塊,用于根據(jù)所述第一關(guān)聯(lián)模塊關(guān)聯(lián)出的所述總調(diào)用關(guān)系追蹤所述故障點(diǎn)的入口點(diǎn)及所述故障點(diǎn)與入口點(diǎn)之間的第二子調(diào)用關(guān)系; 第三存儲(chǔ)模塊,用于將所述第三關(guān)聯(lián)模塊關(guān)聯(lián)出的所述第二子調(diào)用關(guān)系寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
11.如權(quán)利要求8或9所述的服務(wù)器,其特征在于,所述服務(wù)器還包括: 統(tǒng)計(jì)模塊,根據(jù)所述接收模塊接收的所述跟蹤數(shù)據(jù)計(jì)算各所述關(guān)鍵點(diǎn)以及所述應(yīng)用程序的執(zhí)行時(shí)間; 第四存儲(chǔ)模塊,用于將所述統(tǒng)計(jì)模塊計(jì)算的各所述關(guān)鍵點(diǎn)及所述應(yīng)用程序的所述執(zhí)行時(shí)間寫(xiě)入所述數(shù)據(jù)庫(kù)服務(wù)器。
12.一種定位故障的系統(tǒng),其特征在于,所述系統(tǒng)包括: 如權(quán)利要求6?7中任一項(xiàng)所述的客戶(hù)端,和,如權(quán)利要求8?11中任一項(xiàng)所述的服務(wù)器。
【文檔編號(hào)】G06F11/36GK104360939SQ201410593667
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年10月29日 優(yōu)先權(quán)日:2014年10月29日
【發(fā)明者】郭思文, 許劍鋒, 張勇, 王鑫, 張娜, 鄔大衛(wèi) 申請(qǐng)人:中國(guó)建設(shè)銀行股份有限公司