專利名稱:顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方法、客戶端、服務(wù)端及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通訊領(lǐng)域,尤其涉及一種直觀顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方 法、客戶端、服務(wù)端及系統(tǒng)。
背景技術(shù):
在業(yè)務(wù)軟件開發(fā)中,經(jīng)常涉及到通訊平臺(tái)與外部系統(tǒng)的通訊問題,目前可 以實(shí)現(xiàn)在通訊平臺(tái)上加載多個(gè)通訊接口來實(shí)現(xiàn)不同的對(duì)外通訊協(xié)議,這些通訊 協(xié)議大量用到自定義的通訊協(xié)議。但是實(shí)際運(yùn)行中,通訊程序的調(diào)試存在著很大的問題,主要表現(xiàn)如下一、 通訊程序數(shù)據(jù)包跟蹤工具欠缺,導(dǎo)致在現(xiàn)場(chǎng)調(diào)試時(shí),沒有有效的手,更 和對(duì)方進(jìn)^f于溝通。二、 如果只是靠應(yīng)用程序打印日志, 一些有用的信息在日志中沒有體現(xiàn)。三、 通訊日志欠缺,在運(yùn)行中,需要根據(jù)通訊消息進(jìn)行問題分析和定位, 但是如果用普通的抓包工具來抓包分析,全是二進(jìn)制數(shù)據(jù)流,無法直觀的顯示 每個(gè)字段的含義及值。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種能夠直觀顯示通訊數(shù)據(jù)包的顯示通 訊數(shù)據(jù)包的實(shí)現(xiàn)方法、客戶端、服務(wù)端及系統(tǒng)。為解決上述技術(shù)問題,本發(fā)明的實(shí)施例提供一種顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方 法,包括客戶端向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息,指示服務(wù)端開始 記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;所述客戶端向所述服務(wù)端發(fā)送攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束跟蹤消息,指 示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;所述客戶端獲取所述服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù)據(jù)包。 其中,所述客戶端獲取所述服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù)據(jù)包的步驟包括所述客戶端接收所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息返回的應(yīng)答消息,所述 應(yīng)答消息中包括跟蹤文件的文件名和路徑,所述跟蹤文件包括所述數(shù)據(jù)包;所述客戶端根據(jù)所述跟蹤文件的文件名和路徑從所述服務(wù)端獲取所述跟 蹤文件;所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包; 所述客戶端顯示所述帶 一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包。其中,所述客戶端獲取所述服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù) 據(jù)包的步驟包括所述客戶端實(shí)時(shí)從所述服務(wù)端獲取所述數(shù)據(jù)包,形成跟蹤文件;所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包;所述客戶端實(shí)時(shí)顯示所述帶 一 數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包。其中,所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包 的步驟具體為所述客戶端利用縮進(jìn)結(jié)構(gòu)解析文件對(duì)所述跟蹤文件進(jìn)行解析,生成帶縮進(jìn) 結(jié)構(gòu)的數(shù)據(jù)包。其中,所述縮進(jìn)結(jié)構(gòu)具體為樹型結(jié)構(gòu)或者XML標(biāo)記語言形成的縮進(jìn)結(jié)構(gòu)。本發(fā)明的實(shí)施例還提供一種客戶端,包括第一發(fā)送模塊,用于向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息,指 示服務(wù)端開始記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;第二發(fā)送模塊,用于向所述服務(wù)端發(fā)送攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束跟蹤 消息,指示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù) 包;獲取模塊,用于從所述服務(wù)端獲取所述數(shù)據(jù)包; 顯示模塊,用于將所述數(shù)據(jù)包直觀顯示在本地。 其中,所述獲取模塊包括接收模塊,用于接收所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息返回的應(yīng)答消息,所述應(yīng)答消息中包括跟蹤文件的文件名和路徑,所述跟蹤文件包括所述數(shù)據(jù)包;獲取子模塊,用于根據(jù)所述跟蹤文件的文件名和路徑從所述服務(wù)端獲取所述跟蹤文件;解析模塊,用于對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包;所述顯示^t塊將所述帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包顯示在本地。其中,所述解析模塊具體為縮進(jìn)結(jié)構(gòu)解析;漠塊,用于利用縮進(jìn)結(jié)構(gòu)解析文件對(duì)所述跟蹤文件進(jìn)行解 析,生成帶縮進(jìn)結(jié)構(gòu)的凄t據(jù)包;所述顯示模塊將解析后的所述帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包顯示在本地。本發(fā)明的實(shí)施例還提供一種服務(wù)端,包括第一接收模塊,用于接收客戶端發(fā)送的攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息;第一處理;漠塊,用于將所述開始跟蹤消息轉(zhuǎn)發(fā)到所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè) 務(wù)線程中處理,獲取所述業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;第二接收4莫塊,用于接收所述客戶端發(fā)送的攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束 跟蹤消息;第二處理模塊,用于將所述結(jié)束跟蹤消息轉(zhuǎn)發(fā)到所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè) 務(wù)線程中處理;發(fā)送模塊,用于根據(jù)所述結(jié)束跟蹤消息向所述客戶端返回所述數(shù)據(jù)包。 本發(fā)明的實(shí)施例還提供一種通訊系統(tǒng),包括客戶端,用于發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息和攜帶有所述業(yè)務(wù)線 程號(hào)的結(jié)束跟蹤消息;服務(wù)端,用于接收所述客戶端發(fā)送的所述開始跟蹤消息和所述結(jié)束跟蹤消 息,并根據(jù)所述業(yè)務(wù)線程號(hào),獲取所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù) 包;并向所述客戶端返回所述數(shù)據(jù)包;所述客戶端還接收所述數(shù)據(jù)包,并將所述數(shù)據(jù)包直觀顯示在本地。本發(fā)明的上述技術(shù)方案的有益效果如下上述方案中,客戶端通過向服務(wù)端發(fā)送開始跟蹤消息,其中開始跟蹤消息 中包含有業(yè)務(wù)線程號(hào),服務(wù)端根據(jù)該業(yè)務(wù)線程號(hào)把開始跟蹤消息轉(zhuǎn)發(fā)到該業(yè)務(wù) 線程中處理,獲取該業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包??蛻舳诉€發(fā)送結(jié)束跟蹤消息,同 時(shí)結(jié)束跟蹤消息中也帶有該業(yè)務(wù)線程號(hào),服務(wù)端把結(jié)束跟蹤消息分發(fā)到該業(yè)務(wù)線程中處理;客戶端從服務(wù)端獲取數(shù)據(jù)包,并在界面上直觀的顯示,這樣提高 了現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率。
圖1為本發(fā)明的實(shí)施例客戶端顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方法流程示意圖;圖2為本發(fā)明的實(shí)施例服務(wù)端發(fā)送跟蹤文件的方法流程示意圖;圖3為本發(fā)明的實(shí)施例客戶端的結(jié)構(gòu)示意圖;圖4為本發(fā)明的實(shí)施例服務(wù)端的結(jié)構(gòu)示意圖;圖5為本發(fā)明的實(shí)施例顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)示意圖;圖6為圖5所示系統(tǒng)的處理開始跟蹤消息的流程示意圖;圖7為圖5所示系統(tǒng)的處理結(jié)束跟蹤消息的流程示意圖。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附 圖及具體實(shí)施例進(jìn)行詳細(xì)描述。本發(fā)明針對(duì)現(xiàn)有技術(shù)中,通訊日志欠缺,普通的抓包工具進(jìn)行抓包分析, 產(chǎn)生的二進(jìn)制數(shù)據(jù)流,無法直觀的顯示每個(gè)字段的含義及值的問題,提供一種 能夠直觀顯示通訊數(shù)據(jù)包,提高現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率的顯示通訊數(shù)據(jù)包 的實(shí)現(xiàn)方法、客戶端、服務(wù)端及系統(tǒng)。如圖l所示,本發(fā)明的實(shí)施例顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方法,包括 步驟11,客戶端向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息,指示 服務(wù)端開始記錄該業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;該業(yè)務(wù)線程可以 是要跟蹤的業(yè)務(wù)線程; 一個(gè)業(yè)務(wù)線程在系統(tǒng)運(yùn)行時(shí),會(huì)時(shí)刻接收或者發(fā)送數(shù)據(jù) 包,服務(wù)端在收到該開始跟蹤消息后,會(huì)對(duì)該開始跟蹤消息中攜帶的要跟蹤的業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程所有接收或者發(fā)送的數(shù)據(jù)包進(jìn)行記錄;8步驟12,客戶端向所述服務(wù)端發(fā)送攜帶有該業(yè)務(wù)線程號(hào)的結(jié)束跟蹤消息, 指示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;即服 務(wù)端收到該結(jié)束跟蹤消息后,會(huì)將該結(jié)束跟蹤消息轉(zhuǎn)發(fā)到和該業(yè)務(wù)線程號(hào)對(duì)應(yīng) 的業(yè)務(wù)線程中處理,該服務(wù)端會(huì)停止記錄數(shù)據(jù)包,關(guān)閉文件句柄;步驟13,所述客戶端獲取所述服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所 述數(shù)據(jù)包。該實(shí)施例中,客戶端可以為一個(gè)可以顯示W(wǎng)eb界面的客戶端,也可以為 一個(gè)可以顯示用Xml標(biāo)記語言生成的界面的客戶端,該客戶端將開始跟蹤消 息發(fā)送給服務(wù)端,服務(wù)端根據(jù)該開始跟蹤消息打開跟蹤文件,并根據(jù)該開始跟 蹤消息中攜帶的要跟蹤的業(yè)務(wù)線程號(hào),記錄該要跟蹤的業(yè)務(wù)線程所有接收和發(fā) 送的數(shù)據(jù)包,在接收到結(jié)束跟蹤消息時(shí),就會(huì)停止數(shù)據(jù)包的記錄;客戶端再從 該服務(wù)端獲取包含這些數(shù)據(jù)包,并直觀顯示,特別的,可以縮進(jìn)結(jié)構(gòu)的方式顯 示數(shù)據(jù)包,特別是樹型結(jié)構(gòu),這樣在客戶端就能很容易明白獲取的數(shù)據(jù)包的信 息及含義,可以清晰顯示出通訊結(jié)構(gòu)的每一個(gè)字段,利于現(xiàn)場(chǎng)定位問題,提高 現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率。其中,具體實(shí)現(xiàn)時(shí),上述步驟13可具體包括步驟1311,所述客戶端接收所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息返回的應(yīng) 答消息,所述應(yīng)答消息中包括跟蹤文件的文件名和路徑,所述跟蹤文件包括 所述數(shù)據(jù)包;步驟1312,所述客戶端根據(jù)所述跟蹤文件的文件名和路徑,從所述服務(wù) 端獲取所述跟蹤文件;如該客戶端接收到該跟蹤文件的文件名和路徑后,可以 通過FTP (文件傳輸協(xié)議)函數(shù)獲取跟蹤文件到本地,當(dāng)然也可以通過專門的 下載工具將跟蹤文件下載到本地;步驟1313,所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的 數(shù)據(jù)包;步驟1314,所述客戶端顯示所述帶一數(shù)據(jù)結(jié)構(gòu)的l史據(jù)包。 另外,該步驟13還可具體包括步驟1321,所述客戶端實(shí)時(shí)從所述服務(wù)端獲取要跟蹤的所述業(yè)務(wù)線程傳 輸?shù)臄?shù)據(jù)包,形成跟蹤文件;步驟1322,所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的 數(shù)據(jù)包;步驟1323,所述客戶端實(shí)時(shí)顯示所述帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包。 在上述步驟1313或者步驟1322中,所述客戶端可利用縮進(jìn)結(jié)構(gòu)解析文件對(duì)所述跟蹤文件進(jìn)行解析,生成帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包,并將所述帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包進(jìn)行顯示。該縮進(jìn)結(jié)構(gòu)解析文件可以選擇要跟蹤的業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程的解 析文件,該解析文件符合該業(yè)務(wù)線程處理數(shù)據(jù)包規(guī)則,該解析文件可以包含 數(shù)據(jù)包ID,整個(gè)數(shù)據(jù)包的長度,各個(gè)參數(shù)名稱,參數(shù)類型,參數(shù)長度(整型 或者字符串),是否需要轉(zhuǎn)換字節(jié)序,該參數(shù)對(duì)應(yīng)結(jié)構(gòu)的縮進(jìn)級(jí)別等。特別的, 該縮進(jìn)結(jié)構(gòu)可以是樹型,也可以是用Xml標(biāo)記語言生成的縮進(jìn)結(jié)構(gòu),該縮進(jìn) 結(jié)構(gòu)的數(shù)據(jù)包以樹型顯示在Web界面上,在本地Web界面上顯示時(shí),界面還 會(huì)設(shè)置一些過濾條件,根據(jù)這些過濾條件選擇記錄的數(shù)據(jù)包。當(dāng)然客戶端也可以以其它直觀顯示的方式,如可以利用線型解析文件對(duì)跟 蹤文件進(jìn)行解析,獲取線型結(jié)構(gòu)的數(shù)據(jù)包,或者利用星型解析文件對(duì)跟蹤文件 進(jìn)行解析,獲取星型結(jié)構(gòu)的數(shù)據(jù)包,或者利用環(huán)型解析文件對(duì)跟蹤文件進(jìn)行解 析,或者其它解析文件對(duì)跟蹤文件進(jìn)行解析,獲取具有一定數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包, 顯示在客戶端,如顯示在客戶端的Web界面上,這樣可以直觀清楚地了解獲 取的數(shù)據(jù)包的含義,從而提高通訊程序現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率。需要說明的是這些線型解析文件、星型解析文件或環(huán)型解析文件的結(jié)構(gòu) 可以與上述樹型解析文件的結(jié)構(gòu)類似。如圖2所示,本發(fā)明的實(shí)施例還提供一種發(fā)送跟蹤文件的方法,包括步驟21,服務(wù)端接收客戶端發(fā)送的攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息, 根據(jù)所述要跟蹤的業(yè)務(wù)線程號(hào),將所述開始跟蹤消息轉(zhuǎn)發(fā)到該業(yè)務(wù)線程號(hào)對(duì)應(yīng) 的業(yè)務(wù)線程中處理,獲取所述業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;該業(yè)務(wù)線程可以為要跟 蹤的業(yè)務(wù)線程;步驟22,所述服務(wù)端接收所述客戶端發(fā)送的攜帶有所述業(yè)務(wù)線程號(hào)的結(jié) 束跟蹤消息,根據(jù)所述業(yè)務(wù)線程號(hào),將所述結(jié)束跟蹤消息轉(zhuǎn)發(fā)到該業(yè)務(wù)線程號(hào) 對(duì)應(yīng)的業(yè)務(wù)線程中處理;步驟23,所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息向所述客戶端返回?cái)?shù)據(jù)包。 具體來講,該步驟23可具體為所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息,產(chǎn)生應(yīng)答消息,并向所述客戶端返回 所述應(yīng)答消息,該應(yīng)答消息包括有跟蹤文件的文件名和路徑,該跟蹤文件包括 有上述業(yè)務(wù)線程傳輸?shù)乃袛?shù)據(jù)包;或者所述服務(wù)端實(shí)時(shí)向所述客戶端返回?cái)?shù)據(jù)包,并在接收到所述結(jié)束跟蹤消息 時(shí),停止向所述客戶端返回?cái)?shù)據(jù)包。如圖3所示,與上述圖1所述方法相應(yīng)的,本發(fā)明的實(shí)施列還提供一種客 戶端30,包括第 一發(fā)送模塊31 ,用于向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息, 指示服務(wù)端開始記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;第二發(fā)送模塊32,用于向所述服務(wù)端發(fā)送攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束 跟蹤消息,指示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù) 據(jù)包;獲取模塊33 ,用于從所述服務(wù)端獲取數(shù)據(jù)包; 顯示模塊34,用于將數(shù)據(jù)包直觀顯示在本地。其中,該第一發(fā)送模塊31和第二發(fā)送模塊32具體實(shí)現(xiàn)時(shí),可以為客戶端 的一通訊模塊,具體來講,可以為一WEB通訊模塊,用于與服務(wù)端建立連接, 可以建立TCP/IP連接,并向服務(wù)端發(fā)送開始跟蹤消息,并且開始跟蹤消息中 允許填入業(yè)務(wù)線程號(hào),或者用來發(fā)送結(jié)束跟蹤消息,并且結(jié)束跟蹤消息中同樣 允許填入業(yè)務(wù)線程號(hào);獲取模塊33從服務(wù)端獲取數(shù)據(jù)包,具體來講,可以包括 接收模塊,用于接收來自服務(wù)端根據(jù)結(jié)束跟蹤消息返回的應(yīng)答消息,其中, 應(yīng)答消息中帶有跟蹤文件的路徑和文件名,該跟蹤文件包括有所述數(shù)據(jù)包;獲取子模塊,用于根據(jù)所述跟蹤文件的文件名和路徑,從服務(wù)端獲取包含 有所述數(shù)據(jù)包的該跟蹤文件;具體來講,可以通過FTP函數(shù)或者其它專門下 栽工具獲取跟蹤文件到本地;解析模塊,用于對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包; 所述顯示模塊34將所述帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包顯示在本地;ii或者該獲取模塊33還可包括第二接收;漠塊,用于實(shí)時(shí)接收來自服務(wù)端的數(shù)據(jù)包,形成跟蹤文件; 解析模塊可以解析所述跟蹤文件,獲取帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包; 顯示模塊34可以將解析后的帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包實(shí)時(shí)顯示在本地。 該解析模塊可以選擇與該業(yè)務(wù)線程對(duì)應(yīng)的解析文件,該解析文件是提前寫 好的,是符合該線程處理數(shù)據(jù)包規(guī)則的,該解析文件包含,數(shù)據(jù)包ID,整個(gè)數(shù) 據(jù)包的長度,各個(gè)參數(shù)名稱,參數(shù)類型,參數(shù)長度(整型,字符串),是否需要 轉(zhuǎn)換字節(jié)序,該參數(shù)對(duì)應(yīng)結(jié)構(gòu)的縮進(jìn)級(jí)別。上述解析模塊還可具體為縮進(jìn)結(jié)構(gòu)解析模塊,用于利用縮進(jìn)結(jié)構(gòu)解析文 件對(duì)所述跟蹤文件進(jìn)行解析,獲取帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包;所述顯示模塊34將 解析后的所述帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包顯示在本地。其中,該縮進(jìn)結(jié)構(gòu)解析文件可以選擇要跟蹤的業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程 的解析文件,該解析文件符合該業(yè)務(wù)線程處理數(shù)據(jù)包規(guī)則,該解析文件可以包 含數(shù)據(jù)包ID,整個(gè)數(shù)據(jù)包的長度,各個(gè)參數(shù)名稱,參數(shù)類型,參數(shù)長度(整 型或者字符串),是否需要轉(zhuǎn)換字節(jié)序,該參數(shù)對(duì)應(yīng)結(jié)構(gòu)的縮進(jìn)級(jí)別等。特別 的,該縮進(jìn)結(jié)構(gòu)可以是樹型,也可以是用Xml標(biāo)記語言生成的縮進(jìn)結(jié)構(gòu),該 縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包以樹型顯示在Web界面上時(shí),界面還會(huì)"&置一些過濾條件, 根據(jù)這些過濾條件選擇記錄的數(shù)據(jù)包。當(dāng)然客戶端也可以以其它直觀顯示的方式,如解析模塊可以利用線型解析 文件對(duì)跟蹤文件進(jìn)行解析,獲取線型結(jié)構(gòu)的數(shù)據(jù)包,或者利用星型解析文件對(duì) 跟蹤文件進(jìn)行解析,獲取星型結(jié)構(gòu)的凄t據(jù)包,或者利用環(huán)型解析文件對(duì)跟蹤文 件進(jìn)行解析,或者其它解析文件對(duì)跟蹤文件進(jìn)行解析,獲取具有一定數(shù)據(jù)結(jié)構(gòu) 的數(shù)據(jù)包,顯示模塊34將該帶一定數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包顯示在客戶端,如顯示 在客戶端的Web界面上,這樣可以直觀清楚地了解獲取的數(shù)據(jù)包的含義,從 而提高通訊程序現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率。其中,這些線型解析文件、星型如圖4所示,本發(fā)明的實(shí)施例還提供一種服務(wù)端40,包括 第一接收模塊41,用于接收客戶端發(fā)送的攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤 消息;第一處理模塊42,用于根據(jù)所述業(yè)務(wù)線程號(hào),將所述開始跟蹤消息轉(zhuǎn)發(fā) 到該業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程中處理,獲取所述業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;第二接收模塊43,用于接收所述客戶端發(fā)送的攜帶有所述業(yè)務(wù)線程號(hào)的 結(jié)束跟蹤消息;第二處理模塊44,用于根據(jù)所述結(jié)束跟蹤消息,將所述結(jié)束跟蹤消息轉(zhuǎn) 發(fā)到該業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程中處理;發(fā)送模塊45,用于根據(jù)所述結(jié)束跟蹤消息向所述客戶端返回所述數(shù)據(jù)包。其中,該第一接收模塊41和第二接收模塊43可以為一通訊模塊,用于與 客戶端建立連接,如TCP/IP連接,并接收客戶端發(fā)送來的開始跟蹤消息和結(jié) 束跟蹤消息,并由第一處理模塊42將該開始跟蹤消息轉(zhuǎn)發(fā)到相應(yīng)的業(yè)務(wù)線程 中處理,第二處理模塊44將該結(jié)束跟蹤消息轉(zhuǎn)發(fā)到相應(yīng)的業(yè)務(wù)線程中處理。發(fā)送模塊45在具體實(shí)現(xiàn)時(shí),可以具體為第一發(fā)送模塊,用于根據(jù)結(jié)束跟蹤消息向客戶端返回應(yīng)答消息,該應(yīng)答消 息中包括跟蹤文件的文件名和路徑;客戶端獲得該文件名和路徑后,從該服 務(wù)端下載該包含有所述數(shù)據(jù)包的跟蹤文件;或者第二發(fā)送模塊,用于實(shí)時(shí)的把數(shù)據(jù)包傳送到客戶端;客戶端獲得數(shù)據(jù)包后, 進(jìn)行解析,實(shí)時(shí)進(jìn)行顯示。如圖5所示,本發(fā)明的實(shí)施例還提供一種通訊系統(tǒng),包括客戶端30,用于發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息和攜帶有所述業(yè) 務(wù)線程號(hào)的結(jié)束跟蹤消息;服務(wù)端40,用于接收所述客戶端發(fā)送的所述開始跟蹤消息和結(jié)束跟蹤消 息,并根據(jù)所述業(yè)務(wù)線程號(hào),獲取所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù) 包;并向所述客戶端返回所述數(shù)據(jù)包;該服務(wù)端40具體實(shí)現(xiàn)時(shí),可以是一個(gè) 通訊平臺(tái)(IMPCOMM);該客戶端30還接收服務(wù)端40返回的數(shù)據(jù)包,并將所述數(shù)據(jù)包直觀顯示在 本地。該客戶端30具體實(shí)現(xiàn)時(shí),可以為一Web平臺(tái)。該系統(tǒng)實(shí)施例中,上述圖3所述該客戶端30的所有特征均可適用于本系 統(tǒng)的實(shí)施例中,上述圖4所述服務(wù)端40的所有特征均可適用于本系統(tǒng)的實(shí)施 例中,在此不再贅述。下面結(jié)合圖6和圖7說明上述實(shí)施例的具體實(shí)現(xiàn)流程,如圖6所示I )客戶端(如WEB平臺(tái))與服務(wù)端(如IMP通訊平臺(tái))建立通訊連接;2) 客戶端發(fā)送開始跟蹤消息,其中開始跟蹤消息中包含要跟蹤的業(yè)務(wù)線 程號(hào);3) 服務(wù)端接收該開始跟蹤消息,解析出業(yè)務(wù)線程號(hào),根據(jù)業(yè)務(wù)線程號(hào)把 該開始跟蹤消息分發(fā)到業(yè)務(wù)線程中;4) 業(yè)務(wù)線程接收到開始跟蹤消息,記錄該業(yè)務(wù)線程所有的接收和發(fā)送的 數(shù)據(jù)包,數(shù)據(jù)包記錄入跟蹤文件中;5) 業(yè)務(wù)線程返回應(yīng)答消息給服務(wù)端,服務(wù)端返回應(yīng)答消息給客戶端,客 戶端界面顯示開始跟蹤成功的標(biāo)志;如圖7所示6) 客戶端與服務(wù)端建立通訊連接,并發(fā)送結(jié)束跟蹤消息,結(jié)束跟蹤消息 中攜帶有要結(jié)束跟蹤的業(yè)務(wù)線程的線程號(hào);7) 服務(wù)端接收該結(jié)束跟蹤消息,解析出業(yè)務(wù)線程號(hào),根據(jù)業(yè)務(wù)線程號(hào)把 該結(jié)束跟蹤消息分發(fā)到業(yè)務(wù)線程中;8) 業(yè)務(wù)線程接收到結(jié)束跟蹤消息,停止寫數(shù)據(jù)包文件,關(guān)閉文件句柄;9) 業(yè)務(wù)線程返回應(yīng)答消息給服務(wù)端,服務(wù)端返回應(yīng)答消息給客戶端;10) 客戶端根據(jù)應(yīng)答消息中的文件名和路徑,到服務(wù)端取下跟蹤文件;II )客戶端選擇加載符合該線程的界面顯示解析文件,界面顯示樹型結(jié)構(gòu) 的網(wǎng)絡(luò)數(shù)據(jù)包,界面同時(shí)可提供設(shè)置過濾條件,過濾數(shù)據(jù)包。下面再結(jié)合圖6和圖7說明上述實(shí)施例另一具體實(shí)現(xiàn)流程該具體實(shí)現(xiàn)流程與上述實(shí)現(xiàn)流程的區(qū)別在于,服務(wù)端不在本地生成跟蹤文 件,而是實(shí)時(shí)的把該數(shù)據(jù)包傳輸給客戶端;客戶端實(shí)時(shí)地接收數(shù)據(jù)包,并實(shí)時(shí) 根據(jù)事先加載好的解析文件的格式,經(jīng)過解析后,實(shí)時(shí)用樹型結(jié)構(gòu)顯示出來。上述的所有實(shí)施例中,開始跟蹤消息包括消息號(hào)和消息體,其中消息體 中包含要跟蹤的業(yè)務(wù)線程號(hào);而結(jié)束跟蹤消息也包括消息號(hào)和消息體,其中 消息體包含要結(jié)束跟蹤的業(yè)務(wù)線程號(hào)。需要說明的是,在上文中以步驟的形式示出并描述了本發(fā)明的方法實(shí)施例 的技術(shù)方案,這些步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。雖然在相關(guān)的附圖中示出了邏輯順序,但是在某些情況下,可以以不同于 此處的順序執(zhí)行所示出或描述的步驟。另外,在不沖突的情況下,本發(fā)明的上述實(shí)施例及實(shí)施例中的特;f正可以相互組合。綜上所述,本發(fā)明的實(shí)施例,客戶端通過向服務(wù)端發(fā)送開始跟蹤消息和結(jié) 束跟蹤消息,其中開始跟蹤消息中包含要跟蹤的業(yè)務(wù)線程號(hào),服務(wù)端根據(jù)該業(yè) 務(wù)線程號(hào)把開始跟蹤消息轉(zhuǎn)發(fā)到該業(yè)務(wù)線程中處理??蛻舳诉€發(fā)送結(jié)束跟蹤消 息,同時(shí)結(jié)束跟蹤消息中也帶有要結(jié)束跟蹤的業(yè)務(wù)線程號(hào),服務(wù)端把結(jié)束跟蹤 消息分發(fā)到該業(yè)務(wù)線程中處理,同時(shí)服務(wù)端有回應(yīng)客戶端請(qǐng)求消息的功能;客 戶端把獲取到的跟蹤文件,用解析文件進(jìn)行解析,分解出帶縮進(jìn)的樹型結(jié)構(gòu), 并把解析好的樹型結(jié)構(gòu)用界面直觀的顯示出來。通過將基于WEB界面應(yīng)用程 序與通訊平臺(tái)相結(jié)合來顯示通訊平臺(tái)的網(wǎng)絡(luò)數(shù)據(jù)包,相比于現(xiàn)有技術(shù),顯示更 直觀,且提高了現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率。以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技 術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾, 這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方法,其特征在于,包括客戶端向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息,指示服務(wù)端開始記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;所述客戶端向所述服務(wù)端發(fā)送攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束跟蹤消息,指示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;所述客戶端獲取所述服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù)據(jù)包。
2. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,所述客戶端獲取所述 服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù)據(jù)包的步驟包括所述客戶端接收所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息返回的應(yīng)答消息,所述 應(yīng)答消息中包括跟蹤文件的文件名和路徑,所述跟蹤文件包括所述數(shù)據(jù)包;所述客戶端根據(jù)所述跟蹤文件的文件名和路徑從所述服務(wù)端獲取所述跟 蹤文件;所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包; 所述客戶端顯示所述帶 一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包。
3. 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,所述客戶端獲取所述 服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù)據(jù)包的步驟包括所述客戶端實(shí)時(shí)從所述服務(wù)端獲取所述數(shù)據(jù)包,形成跟蹤文件; 所述客戶端對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包; 所述客戶端實(shí)時(shí)顯示所述帶 一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包。
4. 根據(jù)權(quán)利要求2或3所述的實(shí)現(xiàn)方法,其特征在于,所述客戶端對(duì)所 述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包的步驟具體為所述客戶端利用縮進(jìn)結(jié)構(gòu)解析文件對(duì)所述跟蹤文件進(jìn)行解析,生成帶縮進(jìn) 結(jié)構(gòu)的數(shù)據(jù)包。
5. 根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)方法,其特征在于,所述縮進(jìn)結(jié)構(gòu)具體為 樹型結(jié)構(gòu)或者XML標(biāo)記語言形成的縮進(jìn)結(jié)構(gòu)。
6. —種客戶端,其特征在于,包括第一發(fā)送模塊,用于向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息,指示服務(wù)端開始記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;第二發(fā)送;f莫塊,用于向所述服務(wù)端發(fā)送攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束跟蹤 消息,指示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù) 包;獲取模塊,用于從所述服務(wù)端獲取所述數(shù)據(jù)包; 顯示模塊,用于將所述數(shù)據(jù)包直觀顯示在本地。
7. 根據(jù)權(quán)利要求6所述的客戶端,其特征在于,所述獲取模塊包括 接收模塊,用于接收所述服務(wù)端根據(jù)所述結(jié)束跟蹤消息返回的應(yīng)答消息,所述應(yīng)答消息中包括跟蹤文件的文件名和路徑,所述跟蹤文件包括所述數(shù)據(jù) 包;獲取子模塊,用于根據(jù)所述跟蹤文件的文件名和路徑從所述服務(wù)端獲取所迷跟蹤文件;解析模塊,用于對(duì)所述跟蹤文件進(jìn)行解析,生成帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包; 所述顯示模塊將所述帶一數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)包顯示在本地。
8. 根據(jù)權(quán)利要求7所述的客戶端,其特征在于,所述解析模塊具體為 縮進(jìn)結(jié)構(gòu)解析模塊,用于利用縮進(jìn)結(jié)構(gòu)解析文件對(duì)所述跟蹤文件進(jìn)行解析,生成帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包;所述顯示模塊將解析后的所述帶縮進(jìn)結(jié)構(gòu)的數(shù)據(jù)包顯示在本地。
9. 一種服務(wù)端,其特征在于,包括第一接收模塊,用于接收客戶端發(fā)送的攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息;第一處理;溪塊,用于將所述開始跟蹤消息轉(zhuǎn)發(fā)到所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè) 務(wù)線程中處理,獲取所述業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;第二接收模塊,用于接收所述客戶端發(fā)送的攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束 跟蹤消息;第二處理^:莫塊,用于將所述結(jié)束跟蹤消息轉(zhuǎn)發(fā)到所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè) 務(wù)線程中處理;發(fā)送模塊,用于根據(jù)所述結(jié)束跟蹤消息向所ii^戶端返回所述數(shù)據(jù)包。
10. —種通訊系統(tǒng),其特征在于,包括客戶端,用于發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息和攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束跟蹤消息;服務(wù)端,用于接收所述客戶端發(fā)送的所述開始跟蹤消息和所述結(jié)束跟蹤消 息,并根據(jù)所述業(yè)務(wù)線程號(hào),獲取所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù) 包;并向所述客戶端返回所述數(shù)據(jù)包;所述客戶端還接收所述數(shù)據(jù)包,并將所述數(shù)據(jù)包直觀顯示在本地。
全文摘要
本發(fā)明提供一種顯示通訊數(shù)據(jù)包的實(shí)現(xiàn)方法、客戶端、服務(wù)端及系統(tǒng),其中,方法包括客戶端向服務(wù)端發(fā)送攜帶有業(yè)務(wù)線程號(hào)的開始跟蹤消息,指示服務(wù)端開始記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;所述客戶端向所述服務(wù)端發(fā)送攜帶有所述業(yè)務(wù)線程號(hào)的結(jié)束跟蹤消息,指示所述服務(wù)端停止記錄所述業(yè)務(wù)線程號(hào)對(duì)應(yīng)的業(yè)務(wù)線程傳輸?shù)臄?shù)據(jù)包;所述客戶端獲取所述服務(wù)端記錄的所述數(shù)據(jù)包,并直觀顯示所述數(shù)據(jù)包。本發(fā)明提高了現(xiàn)場(chǎng)調(diào)試和維護(hù)的工作效率。
文檔編號(hào)H04L29/06GK101577714SQ20091008611
公開日2009年11月11日 申請(qǐng)日期2009年6月2日 優(yōu)先權(quán)日2009年6月2日
發(fā)明者魏霄鵬 申請(qǐng)人:中興通訊股份有限公司