專利名稱::板級(jí)平臺(tái)調(diào)試方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及電信領(lǐng)域,尤其涉及一種板級(jí)平臺(tái)調(diào)試方法、裝置和系統(tǒng)。
背景技術(shù):
:隨著多核CPU在電信領(lǐng)域的廣泛應(yīng)用,核心網(wǎng)設(shè)備每單板處理能力得到迅速提升,傳統(tǒng)的單進(jìn)程板級(jí)平臺(tái)已經(jīng)不能滿足性能和靈活部署的要求,所以逐步被通用化、多進(jìn)程的板級(jí)平臺(tái)(如Linux、Unix、Windows)取代。為了對(duì)板級(jí)平臺(tái)進(jìn)行檢測(cè),現(xiàn)在各個(gè)公司開發(fā)出了針對(duì)不同板級(jí)平臺(tái)的調(diào)試方案,可以對(duì)板級(jí)平臺(tái)做整體性的調(diào)試。在實(shí)現(xiàn)上述板級(jí)平臺(tái)調(diào)試的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題現(xiàn)有的板級(jí)平臺(tái)調(diào)試方案無法對(duì)多進(jìn)程的板級(jí)平臺(tái)進(jìn)行進(jìn)程級(jí)調(diào)試。
發(fā)明內(nèi)容本發(fā)明的實(shí)施例提供一種板級(jí)平臺(tái)調(diào)試的方法、裝置、系統(tǒng),能夠?qū)Χ噙M(jìn)程的板級(jí)平臺(tái)進(jìn)行進(jìn)程級(jí)調(diào)試。為達(dá)到上述目的,本發(fā)明的實(shí)施例釆用如下技術(shù)方案一種板級(jí)平臺(tái)調(diào)試的方法,包括獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程;獨(dú)立調(diào)試模塊與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獨(dú)立調(diào)試模塊獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。一種板級(jí)平臺(tái)調(diào)試的裝置,包括檢索單元用于檢索可調(diào)試的進(jìn)程;通信單元用于與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獲取單元用于獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。一種板級(jí)平臺(tái)調(diào)試的系統(tǒng),包括獨(dú)立調(diào)試模塊用于檢索可調(diào)試的進(jìn)程,與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接,接收所述業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果;業(yè)務(wù)處理模塊用于對(duì)進(jìn)程進(jìn)行調(diào)試并向所述獨(dú)立調(diào)試模塊發(fā)送進(jìn)程調(diào)試結(jié)果。本發(fā)明實(shí)施例提供的板級(jí)平臺(tái)調(diào)試的方法、裝置、系統(tǒng),通過在板級(jí)平臺(tái)安裝獨(dú)立調(diào)試模塊,在各個(gè)進(jìn)程中嵌入業(yè)務(wù)處理模塊,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)各個(gè)進(jìn)程的業(yè)務(wù)處理模塊進(jìn)行控制,進(jìn)而對(duì)多進(jìn)程的板級(jí)平臺(tái)進(jìn)行進(jìn)程級(jí)調(diào)試。圖1為同一個(gè)板級(jí)平臺(tái)中獨(dú)立調(diào)試模塊和業(yè)務(wù)處理模塊信號(hào)流轉(zhuǎn)示意圖。圖2為本發(fā)明業(yè)務(wù)處理模塊側(cè)板級(jí)平臺(tái)調(diào)試的方法實(shí)施例流程圖。圖3為本發(fā)明獨(dú)立調(diào)試模塊側(cè)板級(jí)平臺(tái)調(diào)試的方法實(shí)施例流程圖。圖4為本發(fā)明板級(jí)平臺(tái)調(diào)試的一個(gè)方法實(shí)施例流程圖。圖4a為本發(fā)明^反級(jí)平臺(tái)調(diào)試的一個(gè)方法實(shí)施例中步驟S303的具體流程圖。圖5為本發(fā)明板級(jí)平臺(tái)調(diào)試的另一個(gè)方法實(shí)施例流程圖。圖6為本發(fā)明業(yè)務(wù)處理模塊的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖7為本發(fā)明業(yè)務(wù)處理模塊的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖8為本發(fā)明業(yè)務(wù)處理模塊的另一個(gè)實(shí)施例中執(zhí)行單元的另一種結(jié)構(gòu)的結(jié)構(gòu)示意圖。圖9為本發(fā)明獨(dú)立調(diào)試模塊的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖10為本發(fā)明獨(dú)立調(diào)試模塊的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖11為本發(fā)明獨(dú)立調(diào)試模塊的另一個(gè)實(shí)施例中獲取單元的一種結(jié)構(gòu)示意圖。圖12為本發(fā)明獨(dú)立調(diào)試模塊的另一個(gè)實(shí)施例中獲取單元的另一種的結(jié)構(gòu)示意圖。圖13為本發(fā)明板級(jí)平臺(tái)調(diào)試的系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例板級(jí)平臺(tái)調(diào)試的方法、裝置、系統(tǒng)進(jìn)行詳細(xì)描述。在同一個(gè)板級(jí)平臺(tái)中,獨(dú)立調(diào)試模塊和業(yè)務(wù)處理模塊可以配合使用,如圖1所示獨(dú)立調(diào)試模塊用于將直接來自業(yè)務(wù)處理模塊的進(jìn)程調(diào)試結(jié)果,或者由另一個(gè)獨(dú)立調(diào)試模塊轉(zhuǎn)發(fā)的進(jìn)程調(diào)試結(jié)果,發(fā)送給發(fā)送進(jìn)程調(diào)試命令的用戶端或者轉(zhuǎn)發(fā)進(jìn)程調(diào)試命令的獨(dú)立調(diào)試模塊;業(yè)務(wù)處理模塊用于對(duì)進(jìn)程進(jìn)行調(diào)試并向獨(dú)立調(diào)試模塊發(fā)送進(jìn)程調(diào)試結(jié)果。本發(fā)明業(yè)務(wù)處理模塊側(cè)板級(jí)平臺(tái)調(diào)試的方法實(shí)施例,如圖2所示,包括5101、將業(yè)務(wù)處理模塊部署為進(jìn)程的一個(gè)線程。所述"部署"是指將業(yè)務(wù)處理模塊作為一個(gè)程序編譯為進(jìn)程的一個(gè)線程。5102、業(yè)務(wù)處理模塊根據(jù)獨(dú)立調(diào)試模塊的連接請(qǐng)求,建立與獨(dú)立調(diào)試模塊的連4妄。5103、業(yè)務(wù)處理模塊對(duì)進(jìn)程進(jìn)行調(diào)試,并向獨(dú)立調(diào)試模塊發(fā)送調(diào)試結(jié)果。本發(fā)明獨(dú)立調(diào)試模塊側(cè)板級(jí)平臺(tái)調(diào)試的方法實(shí)施例,如圖3所示,包括5201、獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程。5202、獨(dú)立調(diào)試模塊與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接。5203、獨(dú)立調(diào)試模塊獲取來自需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。上述實(shí)施例在板級(jí)平臺(tái)安裝獨(dú)立調(diào)試模塊,在各個(gè)進(jìn)程中嵌入業(yè)務(wù)處理模塊,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)各個(gè)進(jìn)程的業(yè)務(wù)處理模塊進(jìn)行控制,進(jìn)而對(duì)板級(jí)平臺(tái)的進(jìn)程進(jìn)行調(diào)試。本發(fā)明板級(jí)平臺(tái)調(diào)試的一個(gè)方法實(shí)施例,如圖4所示,本實(shí)施例的場景為,用戶端以Telnet登錄單板的Linux操作系統(tǒng),發(fā)現(xiàn)并調(diào)試某板級(jí)平臺(tái)內(nèi)的某一個(gè)進(jìn)程的過程。本實(shí)施例具體包括5301、用戶端登錄板級(jí)平臺(tái),啟動(dòng)獨(dú)立調(diào)試模塊。5302、獨(dú)立調(diào)試模塊自動(dòng)檢索可調(diào)試的進(jìn)程。在進(jìn)程側(cè),將業(yè)務(wù)處理模塊部署為進(jìn)程的一個(gè)線程,以線程形式配合獨(dú)立調(diào)試模塊對(duì)進(jìn)程的調(diào)試。自動(dòng)檢索可調(diào)試的進(jìn)程是本發(fā)明的重要特征,可達(dá)到兩個(gè)目的1、自動(dòng)發(fā)現(xiàn)可調(diào)試的進(jìn)程,從而實(shí)現(xiàn)進(jìn)程級(jí)調(diào)試。由于板級(jí)平臺(tái)內(nèi)的進(jìn)程可能很多,但不一定都處于可調(diào)試狀態(tài),需要通過獨(dú)立調(diào)試模塊發(fā)現(xiàn)可調(diào)試的進(jìn)程,以利于下一步針對(duì)這些進(jìn)程進(jìn)行調(diào)試。2、對(duì)于新增的進(jìn)程,只需集成業(yè)務(wù)處理模塊即可被自動(dòng)發(fā)現(xiàn)和調(diào)試,而無需修改獨(dú)立調(diào)試模塊、其他進(jìn)程。有利于實(shí)現(xiàn)進(jìn)程級(jí)調(diào)試的可擴(kuò)展性。自動(dòng)檢索可調(diào)試的進(jìn)程有多種方案,常用的方式有三種。第一種為監(jiān)聽端口段方式獨(dú)立調(diào)試模塊為各進(jìn)程的業(yè)務(wù)處理模塊分配監(jiān)聽端口(如10000~10031),每個(gè)業(yè)務(wù)處理模塊啟動(dòng)時(shí)利用自身發(fā)現(xiàn)機(jī)制探測(cè)沒有被使用的端口,并綁定為自身的監(jiān)聽端口。獨(dú)立調(diào)試模塊可向上述端口段發(fā)送探測(cè)包,對(duì)于收到響應(yīng)的進(jìn)程,即認(rèn)為是可調(diào)試的。第二種為進(jìn)程列舉方式每個(gè)業(yè)務(wù)處理模塊根據(jù)自身的配置信息,通過一定的算法計(jì)算自身的監(jiān)聽端口號(hào)。所述算法可以是HASH算法等本領(lǐng)域公知算法。比如,在將業(yè)務(wù)處理模塊部署為進(jìn)程的一個(gè)線程時(shí),為每一個(gè)業(yè)務(wù)處理模塊分配唯一的編號(hào),該業(yè)務(wù)處理模塊的監(jiān)聽端口號(hào)就是編號(hào)加上固定的數(shù)字。舉個(gè)例子,如果某個(gè)業(yè)務(wù)處理模塊分配唯一的編號(hào)為5,固定的步長為2,那么該業(yè)務(wù)處理模塊的監(jiān)聽端口號(hào)就是7(5+2),如果另一個(gè)業(yè)務(wù)處理模塊分配唯一的編號(hào)為3,那么該業(yè)務(wù)處理模塊的監(jiān)聽端口號(hào)就是5。獨(dú)立調(diào)試模塊利用系統(tǒng)機(jī)制(如Linux的ps指令)發(fā)現(xiàn)所有進(jìn)程(包括進(jìn)程中業(yè)務(wù)處理模塊的編號(hào)),然后通過相同的算法(步長是系統(tǒng)公知的)得到業(yè)務(wù)處理模塊的端口號(hào)和基本信息。獨(dú)立調(diào)試模塊向所述監(jiān)聽端口發(fā)送探測(cè)包。如果收到進(jìn)程的響應(yīng),判定該進(jìn)程是可調(diào)試的。第三種為主動(dòng)注冊(cè)方式每個(gè)業(yè)務(wù)處理模塊啟動(dòng)后,把自身的信息寫入一段共享內(nèi)存或文件;獨(dú)立調(diào)試模塊利用上述共享內(nèi)存或文件發(fā)現(xiàn)所有可調(diào)試進(jìn)程。舉個(gè)例子,某業(yè)務(wù)處理模塊啟動(dòng)后,首先檢測(cè)本業(yè)務(wù)處理模塊所在進(jìn)程是否被激活,如果未被激活,將本進(jìn)程不可調(diào)試的信息寫入共享內(nèi)存;如果被激活,將本進(jìn)程可調(diào)試的信息寫入共享內(nèi)存,通過這種方式,所有業(yè)務(wù)處理模塊將本進(jìn)程是否可調(diào)試的信息寫入共享內(nèi)存,獨(dú)立調(diào)試模塊在所述共享內(nèi)存中查找到所有可調(diào)試進(jìn)程。5303、獨(dú)立調(diào)試模塊根據(jù)用戶端的指令,在可調(diào)試的進(jìn)程中選擇需要調(diào)試丄厶i+ti口工J-SJf>:m、L、i丄,4+_fcr、+如圖4a所示,所述步驟S303可以包括以下步驟S303a、獨(dú)立調(diào)試模塊向進(jìn)程的業(yè)務(wù)處理模塊發(fā)送調(diào)試探測(cè)指令。S303b、進(jìn)程的業(yè)務(wù)處理模塊向獨(dú)立調(diào)試模塊發(fā)送進(jìn)程可調(diào)響應(yīng)。S303c、所述獨(dú)立調(diào)試模塊接收所述業(yè)務(wù)處理模塊返回的進(jìn)程可調(diào)響應(yīng)。S303d、獨(dú)立調(diào)試模塊向所述業(yè)務(wù)處理模塊發(fā)送連接請(qǐng)求,建立與所述業(yè)務(wù)處理模塊的連接。在步驟S303中,可以同時(shí)選擇在連接或調(diào)試時(shí)是否啟動(dòng)鑒權(quán)機(jī)制。5304、獲取來自需要調(diào)試的進(jìn)程的進(jìn)程調(diào)試結(jié)果。步驟S304具體可以有兩種實(shí)現(xiàn)方式第一種為用戶端下發(fā)進(jìn)程調(diào)試命令,經(jīng)由獨(dú)立調(diào)試模塊將進(jìn)程調(diào)試命令原文轉(zhuǎn)發(fā)給業(yè)務(wù)處理模塊,再由業(yè)務(wù)處理模塊調(diào)用進(jìn)程對(duì)進(jìn)程調(diào)試命令進(jìn)行處理后返回結(jié)果,結(jié)果以文本的方式上報(bào)給用戶端。第二種為進(jìn)程主動(dòng)調(diào)用業(yè)務(wù)處理模塊上報(bào)文本信息。按照預(yù)先的設(shè)定,進(jìn)程調(diào)用業(yè)務(wù)處理模塊定時(shí)上報(bào)文本信息,所述文本信息中包括本進(jìn)程最新的調(diào)試結(jié)果。當(dāng)獨(dú)立調(diào)試模塊與業(yè)務(wù)處理模塊建立連接后,獨(dú)立調(diào)試模塊就能得到業(yè)務(wù)處理模塊主動(dòng)上報(bào)的進(jìn)程調(diào)試結(jié)果。為了避免大量信息混雜上報(bào),業(yè)務(wù)處理模塊可提供開啟、關(guān)閉某特定功能12的調(diào)試命令的主動(dòng)上報(bào)功能,從而有針對(duì)性的進(jìn)行進(jìn)程調(diào)試。一個(gè)進(jìn)程中會(huì)包括多個(gè)線程,如果本進(jìn)程的調(diào)試結(jié)果包括全部線程的調(diào)試結(jié)果,會(huì)使上報(bào)的數(shù)據(jù)量很多,資源消耗很大,在很多情況下,用戶端只關(guān)心其中某個(gè)線程的調(diào)試結(jié)果,比如數(shù)據(jù)庫線程,那么用戶端可以預(yù)先將數(shù)據(jù)庫線程設(shè)定為進(jìn)程調(diào)試命令的調(diào)試內(nèi)容,當(dāng)獨(dú)立調(diào)試模塊與業(yè)務(wù)處理模塊建立連接后,進(jìn)程可以只將數(shù)據(jù)庫線程的調(diào)試結(jié)果作為進(jìn)程調(diào)試結(jié)果上才艮,而節(jié)省系統(tǒng)資源。S305、獨(dú)立調(diào)試模塊將來自進(jìn)程的進(jìn)程調(diào)試結(jié)果轉(zhuǎn)發(fā)給用戶端。如下報(bào)文為一次遠(yuǎn)程telnet多進(jìn)程調(diào)試的實(shí)例〃通過telnet登錄被調(diào)試單板Root/debug#telnet10.110.1.1〃啟動(dòng)獨(dú)立調(diào)試程序Root/debug#./debug>Welcometodebugterminal:>Press"lsps"tolisttheprocess(es)candebugging〉Press""toshowhelp//自動(dòng)發(fā)現(xiàn)可調(diào)試的進(jìn)程〉lspsfind3process(es)candebugging:IDPortTypeState110001CMUIdle210002VPUIdle310003HRUIdle〃登錄VPU進(jìn)程進(jìn)行調(diào)試,參數(shù)為ID、登錄用戶、密碼>login2admin1234562_VPU>Login"2_VPU"debugterminalbyuser"admin"OK:2_VPU〉Press"exit"returnrootdebugterminal2—VPU〉Press""toshowhelp〃執(zhí)行調(diào)試命令2_VPU〉versionHUAWEIV200R003(2008-10-16)〃上報(bào)主動(dòng)上報(bào),需要打開模塊的主動(dòng)上報(bào)開關(guān)2-VPU〉debugswitchopencallWarning:Cal1loss...以上實(shí)施例在板級(jí)平臺(tái)安裝獨(dú)立調(diào)試模塊,在各個(gè)進(jìn)程中嵌入業(yè)務(wù)處理模塊,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)各個(gè)進(jìn)程的業(yè)務(wù)處理模塊進(jìn)行控制,進(jìn)而對(duì)板級(jí)平臺(tái)的進(jìn)程進(jìn)行調(diào)試。本實(shí)施例中無需提供調(diào)試工具,可以在Windows,Linux等任意一種操作系統(tǒng)中,通過Telnet連接所需調(diào)試的板級(jí)平臺(tái)的操作系統(tǒng),啟動(dòng)獨(dú)立調(diào)試模塊。本發(fā)明板級(jí)平臺(tái)調(diào)試的另一個(gè)方法實(shí)施例,如圖5所示,本實(shí)施例的場景為,在板級(jí)平臺(tái)生產(chǎn)過程或設(shè)備故障時(shí),有可能所有業(yè)務(wù)進(jìn)程均無法啟動(dòng),此時(shí)仍可以借助獨(dú)立調(diào)試模塊實(shí)現(xiàn)板級(jí)調(diào)試命令(用戶端直接以串口形式發(fā)起系統(tǒng)調(diào)試),或者跨平臺(tái)進(jìn)行系統(tǒng)調(diào)試(用戶端通過其它獨(dú)立調(diào)試模塊遠(yuǎn)程發(fā)起系統(tǒng)調(diào)試)。本實(shí)施例具體包括5401、獨(dú)立調(diào)試模塊接收來自用戶端或者其它獨(dú)立調(diào)試模塊的系統(tǒng)調(diào)試命令。5402、獨(dú)立調(diào)試模塊執(zhí)行所述系統(tǒng)調(diào)試命令,得到系統(tǒng)調(diào)試結(jié)果。5403、獨(dú)立調(diào)試模塊將所述系統(tǒng)調(diào)試結(jié)果發(fā)送給發(fā)送系統(tǒng)調(diào)試命令的用戶端或者其它獨(dú)立調(diào)試模塊。如下報(bào)文為一次窗口登錄獨(dú)立運(yùn)行的板級(jí)平臺(tái)進(jìn)行系統(tǒng)調(diào)試的實(shí)例〃通過串口連接被調(diào)試單板,啟動(dòng)獨(dú)立調(diào)試程序COM〉./debug>Welcometodebugterminal:>Press"lsps"tolisttheprocess(es)candebugging>Press""toshowhelp〃執(zhí)行調(diào)試命令>hardwarediskcheckcheckdiskpassed!本實(shí)施例在板級(jí)平臺(tái)安裝獨(dú)立調(diào)試模塊,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)板級(jí)平臺(tái)進(jìn)行系統(tǒng)調(diào)試。需要進(jìn)行說明的是,在圖4對(duì)應(yīng)的實(shí)施例中,同樣可以采用跨平臺(tái)的調(diào)試方法,具體實(shí)施方式與本實(shí)施例類似,在此不再贅述。以上兩個(gè)實(shí)施例中,獨(dú)立調(diào)試模塊和/或業(yè)務(wù)處理模塊可以集成到UI、調(diào)試工具等Windows、Xwindows、MacOS下運(yùn)行的客戶端軟件,配合板位圖、包裝可調(diào)試進(jìn)程自動(dòng)發(fā)現(xiàn)、后臺(tái)記錄調(diào)試結(jié)果等擴(kuò)展功能,實(shí)現(xiàn)更友好的調(diào)試。推而廣之,同一個(gè)獨(dú)立調(diào)試模塊或業(yè)務(wù)處理模塊可部署到不同操作系統(tǒng)的不同設(shè)備進(jìn)程,即可實(shí)現(xiàn)不同設(shè)備的調(diào)試手段統(tǒng)一化。然后利用Telnet本身的標(biāo)準(zhǔn)性結(jié)合調(diào)試模塊的自動(dòng)發(fā)現(xiàn)功能,實(shí)現(xiàn)在同一個(gè)調(diào)試工具里調(diào)試跨平臺(tái)的所有設(shè)備的目的。將上面兩個(gè)實(shí)施例結(jié)合,用戶端通過其它獨(dú)立調(diào)試模塊遠(yuǎn)程發(fā)起進(jìn)程調(diào)試,可以實(shí)現(xiàn)跨平臺(tái)多進(jìn)程調(diào)試??缙脚_(tái)多進(jìn)程調(diào)試工具化有兩種途徑跨平臺(tái)多進(jìn)程調(diào)試工具可作為Telnet客戶端,后臺(tái)連接網(wǎng)元的被調(diào)試板級(jí)平臺(tái),啟動(dòng)該板級(jí)平臺(tái)的獨(dú)立調(diào)試模塊進(jìn)行調(diào)試。對(duì)于不便部署獨(dú)立調(diào)試模塊的板級(jí)平臺(tái),如果業(yè)務(wù)處理模塊開放的監(jiān)聽端口在操作與維護(hù)(OperateandMaintenance,0M)網(wǎng)絡(luò),可直接在工具中部署獨(dú)立調(diào)試模塊,由此獨(dú)立調(diào)試模塊直接發(fā)現(xiàn)和連接被調(diào)試進(jìn)程的業(yè)務(wù)處理模塊,這樣還可簡化工具自身的設(shè)計(jì)。對(duì)于沒有接入OM網(wǎng)絡(luò)的板級(jí)平臺(tái),可通過以下方案解決第一種方案為用戶端首先通過Telnet登錄接入OM網(wǎng)絡(luò)的主控板,然后從主控板通過設(shè)備內(nèi)部網(wǎng)Telnet登錄實(shí)際調(diào)試的板級(jí)平臺(tái)的獨(dú)立調(diào)試模塊。第二種方案為用戶端首先通過Telnet登錄接入0M網(wǎng)絡(luò)的主控板,然后通過主控板的獨(dú)立調(diào)試模塊登錄業(yè)務(wù)板的獨(dú)立調(diào)試模塊,直接進(jìn)行調(diào)試。第三種方案為用戶端支持串口的板級(jí)平臺(tái)可通過串口啟動(dòng)并登錄獨(dú)立調(diào)試模塊。上面兩個(gè)實(shí)施例中,針對(duì)調(diào)試命令可提供統(tǒng)一的調(diào)試命令框架,從而實(shí)現(xiàn)調(diào)試接口統(tǒng)一、開發(fā)人員易于新增命令的目的。適用于上述多進(jìn)程調(diào)試的最佳命令框架為多級(jí)調(diào)試命令集進(jìn)程以注冊(cè)的方式提供調(diào)試命令,調(diào)試命令支持多級(jí),一種定義格式如下S-DEBUG—CMDg—asDebugCmdList[]=〃命令名,命令函數(shù),權(quán)限級(jí)別,幫助{"version",DebugShowVersion,DEBUG_GUEST,"Showversion."}{"hardware",null,DEBUG—ADMIN,"Hardwarecommandset."},{"..disk",null,DEBUG—ADMIN,"Diskcommandset."),{"....show",DebugShowDisk,DEBUG—ADMIN,"Showdiskinfo."}{"....check",DebugCheckDisk,DEBUG—ADMIN,"Checkdisk."},通過指令"?"即可查詢當(dāng)前命令集的命令幫助。連接多級(jí)命令各個(gè)名稱,即可構(gòu)成完整命令如下〃命令集根目錄幫助信息〉7Nam6TypeHelpversion<Cmd>Showversion.hardware<Dir〉Hardwarecommandset.〃命令集子目錄幫助信息〉hardwarediskNam6TypeHelphardwarediskshow<Cmd>Showdiskinfo.hardwarediskcheck<Cmd〉Checkdisk.〃執(zhí)行多級(jí)命令>hardwarediskshowVolumeCapacityFree2,341MB654MBD:1,561MB907MB按本發(fā)明,用戶端實(shí)現(xiàn)調(diào)試命令注冊(cè)與回調(diào)函數(shù)即可新增調(diào)試命令,而無需關(guān)注命令組織、命令解析、參數(shù)處理和幫助。獨(dú)立調(diào)試模塊與業(yè)務(wù)處理模塊連接成功后,合并兩者的命令集,合并后的命令集可以存儲(chǔ)在獨(dú)立調(diào)試模塊所在的板級(jí)平臺(tái)上,從而使得用戶端登錄所述板級(jí)平臺(tái)時(shí),可以通過輸入"?"命令獲知所有命令的幫助信息。作為板級(jí)平臺(tái)是擁有存儲(chǔ)程序的存儲(chǔ)器的,諸如單片機(jī)的寄存器等,只不過不同的程序擁有不同的命令集,而不同的命令集都存儲(chǔ)在存儲(chǔ)器中,合并命令集在硬件上無須作任何改變(不改變?cè)诖鎯?chǔ)器中的位置),可以通過軟件語言實(shí)現(xiàn)的。調(diào)試模塊本身的控制命令也納入命令集管理,標(biāo)準(zhǔn)命令定義如表1所示:<table>tableseeoriginaldocumentpage19</column></row><table>表1本發(fā)明業(yè)務(wù)處理模塊的一個(gè)實(shí)施例,如圖6所示,包括部署單元ll:用于將業(yè)務(wù)處理模塊部署為進(jìn)程的一個(gè)線程;連接單元12:用于根據(jù)獨(dú)立調(diào)試模塊的連接請(qǐng)求,建立與獨(dú)立調(diào)試模塊的連接;執(zhí)行單元13:用于對(duì)進(jìn)程進(jìn)行調(diào)試,并向獨(dú)立調(diào)試模塊發(fā)送調(diào)試結(jié)果。本發(fā)明業(yè)務(wù)處理模塊的另一個(gè)實(shí)施例,如圖7所示,包括部署單元ll:用于將調(diào)試程序部署為進(jìn)程的一個(gè)線程;連接單元12:用于根據(jù)獨(dú)立調(diào)試模塊的連接請(qǐng)求,建立與獨(dú)立調(diào)試模塊的連接;執(zhí)行單元13:用于對(duì)進(jìn)程進(jìn)行調(diào)試,并向獨(dú)立調(diào)試模塊發(fā)送調(diào)試結(jié)果。其中,所述執(zhí)行單元13包括第二接收子單元131:用于接收獨(dú)立調(diào)試模塊發(fā)送的進(jìn)程調(diào)試命令;第一操作子單元132:用于執(zhí)行所述進(jìn)程調(diào)試命令;發(fā)送子單元133:用于將第一操作子單元得出的進(jìn)程調(diào)試結(jié)果發(fā)送給獨(dú)立調(diào)試模塊。所述連接單元12包括第一接收子單元121:用于接收所述獨(dú)立調(diào)試模塊發(fā)送的調(diào)試探測(cè)指令;20響應(yīng)子單元122:用于向所述獨(dú)立調(diào)試模塊返回進(jìn)程可調(diào)響應(yīng);連接建立子單元123:用于接收獨(dú)立調(diào)試模塊發(fā)送的連接請(qǐng)求,建立與所述獨(dú)立調(diào)試模塊的連接。進(jìn)一步的,所述連接建立子單元123包括鑒權(quán)節(jié)點(diǎn)1231:用于對(duì)所述獨(dú)立調(diào)試模塊發(fā)送的連接請(qǐng)求進(jìn)行鑒權(quán)?;蛘撸鐖D8所示,當(dāng)業(yè)務(wù)處理模塊與獨(dú)立調(diào)試模塊建立連接后,業(yè)務(wù)處理模塊可以執(zhí)行預(yù)先設(shè)置的調(diào)試命令,將進(jìn)程調(diào)試結(jié)果上報(bào)給獨(dú)立調(diào)試模塊,此時(shí),所述執(zhí)行單元13包括第二操作子單元134:用于接收來自獨(dú)立調(diào)試模塊的提示信息,執(zhí)行預(yù)先設(shè)定的進(jìn)程調(diào)試命令;主動(dòng)上才艮子單元135:用于將第二操作子單元得出的進(jìn)程調(diào)試結(jié)果上報(bào)給獨(dú)立調(diào)試模塊。本發(fā)明業(yè)務(wù)處理模塊實(shí)施例通過與獨(dú)立調(diào)試模塊配合,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)各個(gè)進(jìn)程的業(yè)務(wù)處理模塊進(jìn)行控制,進(jìn)而對(duì)板級(jí)平臺(tái)的進(jìn)程進(jìn)行調(diào)試。本發(fā)明獨(dú)立調(diào)試模塊的一個(gè)實(shí)施例,如圖9所示,包括檢索單元21:用于檢索可調(diào)試的進(jìn)程;通信單元22:用于與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獲取單元23:用于獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。本發(fā)明獨(dú)立調(diào)試;漠塊的另一個(gè)實(shí)施例,如圖10所示,包括-險(xiǎn)索單元21:用于^r索可調(diào)試的進(jìn)程;通信單元22:用于與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獲取單元23:用于獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果;命令集合并單元24:用于接收業(yè)務(wù)處理模塊上報(bào)的命令集,將自身的命令集與所述業(yè)務(wù)處理模塊上報(bào)的命令集合并。所述獲耳又單元23如圖11所示,包括進(jìn)程調(diào)試命令發(fā)送子單元231:用于將來自用戶端或者其它獨(dú)立調(diào)試模塊的進(jìn)程調(diào)試命令發(fā)送給所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊;進(jìn)程調(diào)試結(jié)果第一接收子單元232:用于接收所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果;進(jìn)程調(diào)試結(jié)果第一發(fā)送子單元233:用于將所述進(jìn)程調(diào)試結(jié)果發(fā)送給發(fā)送調(diào)試命令的所述用戶端或者其它獨(dú)立調(diào)試模塊。或者,所述獲取單元23如圖12所示,包括進(jìn)程調(diào)試結(jié)果第二接收子單元234:用于接收所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊上報(bào)的進(jìn)程調(diào)試結(jié)果,所述進(jìn)程調(diào)試結(jié)果為所述業(yè)務(wù)處理模塊根據(jù)預(yù)先設(shè)定的進(jìn)程調(diào)試命令調(diào)試得出;進(jìn)程調(diào)試結(jié)果第二發(fā)送子單元235:用于將所述進(jìn)程調(diào)試結(jié)果發(fā)送給用戶端或者其它獨(dú)立調(diào)試模塊。本發(fā)明獨(dú)立調(diào)試模塊實(shí)施例通過與業(yè)務(wù)處理模塊配合,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)各個(gè)進(jìn)程的業(yè)務(wù)處理模塊進(jìn)行控制,進(jìn)而對(duì)板級(jí)平臺(tái)的進(jìn)程進(jìn)行調(diào)試。本發(fā)明板級(jí)平臺(tái)調(diào)試的系統(tǒng)的一個(gè)實(shí)施例,如圖13所示,包括獨(dú)立調(diào)試模塊5:用于檢索可調(diào)試的進(jìn)程,與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接,接收所述業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果;業(yè)務(wù)處理模塊6:用于對(duì)進(jìn)程進(jìn)行調(diào)試并向所述獨(dú)立調(diào)試模塊發(fā)送進(jìn)程調(diào)試結(jié)果。上述板級(jí)平臺(tái)調(diào)試的系統(tǒng)實(shí)施例,在板級(jí)平臺(tái)安裝獨(dú)立調(diào)試模塊,在各個(gè)進(jìn)程中嵌入業(yè)務(wù)處理模塊,可以使用戶端通過獨(dú)立調(diào)試模塊對(duì)各個(gè)進(jìn)程的業(yè)務(wù)處理模塊進(jìn)行控制,進(jìn)而對(duì)板級(jí)平臺(tái)的進(jìn)程進(jìn)行調(diào)試。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-OnlyMemory,ROM)或隨機(jī)存儲(chǔ)記憶體(RandomAccessMemory,RAM)等。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到23變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。權(quán)利要求1、一種板級(jí)平臺(tái)調(diào)試的方法,其特征在于,包括獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程;獨(dú)立調(diào)試模塊與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獨(dú)立調(diào)試模塊獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果的步驟包括將來自用戶端或者其它獨(dú)立調(diào)試模塊的進(jìn)程調(diào)試命令發(fā)送給所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊;接收所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊根據(jù)所述進(jìn)程調(diào)試命令返回的進(jìn)程調(diào)試結(jié)果。3、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果的步驟包括接收所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊上報(bào)的進(jìn)程調(diào)試結(jié)果,所述進(jìn)程調(diào)試結(jié)果為所述業(yè)務(wù)處理模塊根據(jù)預(yù)先設(shè)定的進(jìn)程調(diào)試命令調(diào)試得出。4、根據(jù)權(quán)利要求2或3所述的方法,其特征在于,還包括將所述進(jìn)程調(diào)試結(jié)果發(fā)送給用戶端或者其它獨(dú)立調(diào)試模塊。5、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接的步驟包括向所述業(yè)務(wù)處理才莫塊發(fā)送調(diào)試探測(cè)指令;接收所述業(yè)務(wù)處理沖莫塊返回的進(jìn)程可調(diào)響應(yīng);向所述業(yè)務(wù)處理模塊發(fā)送連接請(qǐng)求,建立與所述業(yè)務(wù)處理模塊的連接。6、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接后還包括接收業(yè)務(wù)處理模塊上報(bào)的命令集,將自身的命令集與所述業(yè)務(wù)處理模塊上報(bào)的命令集合并。7、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程的步驟包括為進(jìn)程的業(yè)務(wù)處理模塊分配監(jiān)聽端口;向所述監(jiān)聽端口發(fā)送探測(cè)包;如果收到進(jìn)程的響應(yīng),判定該進(jìn)程是可調(diào)試的。8、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程的步驟包括獨(dú)立調(diào)試模塊計(jì)算進(jìn)程的監(jiān)聽端口號(hào),所述計(jì)算的算法與所述進(jìn)程的業(yè)務(wù)處理模塊計(jì)算本進(jìn)程監(jiān)聽端口號(hào)的算法相同;獨(dú)立調(diào)試模塊向所述監(jiān)聽端口發(fā)送探測(cè)包;如果收到進(jìn)程的響應(yīng),判定該進(jìn)程是可調(diào)試的。9、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程的步驟包括獨(dú)立調(diào)試模塊通過共享內(nèi)存或者文件中由業(yè)務(wù)處理模塊寫入的進(jìn)程信息查找可調(diào)試進(jìn)程。10、一種板級(jí)平臺(tái)調(diào)試的裝置,其特征在于,包括檢索單元用于檢索可調(diào)試的進(jìn)程;通信單元用于與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獲取單元用于獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。11、根據(jù)權(quán)利要求IO所述的裝置,其特征在于,所述獲取單元包括進(jìn)程調(diào)試命令發(fā)送子單元用于將來自用戶端或者其它獨(dú)立調(diào)試模塊的進(jìn)程調(diào)試命令發(fā)送給所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊;進(jìn)程調(diào)試結(jié)果第一接收子單元用于接收所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊根據(jù)所述進(jìn)程調(diào)試命令返回的進(jìn)程調(diào)試結(jié)果;進(jìn)程調(diào)試結(jié)果第一發(fā)送子單元用于將所述進(jìn)程調(diào)試結(jié)果發(fā)送給發(fā)送進(jìn)程調(diào)試命令的所述用戶端或者其它獨(dú)立調(diào)試模塊。12、根據(jù)權(quán)利要求IO所述的裝置,其特征在于,所述獲取單元包括進(jìn)程調(diào)試結(jié)果第二接收子單元用于接收所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊上報(bào)的進(jìn)程調(diào)試結(jié)果,所述進(jìn)程調(diào)試結(jié)果為所述業(yè)務(wù)處理模塊根據(jù)預(yù)先設(shè)定的進(jìn)程調(diào)試命令調(diào)試得出;進(jìn)程調(diào)試結(jié)果第二發(fā)送子單元用于將所述進(jìn)程調(diào)試結(jié)果發(fā)送給用戶端或者其它獨(dú)立調(diào)試模塊。13、根據(jù)權(quán)利要求IO所述的裝置,其特征在于,還包括命令集合并單元用于接收業(yè)務(wù)處理模塊上報(bào)的命令集,將自身的命令集與所述業(yè)務(wù)處理模塊上報(bào)的命令集合并。14、一種板級(jí)平臺(tái)調(diào)試的系統(tǒng),其特征在于,包括獨(dú)立調(diào)試模塊用于^r索可調(diào)試的進(jìn)程,與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接,接收所述業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果;業(yè)務(wù)處理模塊用于對(duì)進(jìn)程進(jìn)行調(diào)試并向所述獨(dú)立調(diào)試模塊發(fā)送進(jìn)程調(diào)試結(jié)果。全文摘要本發(fā)明公開了一種板級(jí)平臺(tái)調(diào)試方法、裝置和系統(tǒng),涉及電信領(lǐng)域,為解決現(xiàn)有技術(shù)中無法對(duì)板級(jí)平臺(tái)的多進(jìn)程進(jìn)行調(diào)試的問題而發(fā)明。本發(fā)明實(shí)施例提供的業(yè)務(wù)處理模塊側(cè)板級(jí)平臺(tái)調(diào)試的方法,包括獨(dú)立調(diào)試模塊檢索可調(diào)試的進(jìn)程;獨(dú)立調(diào)試模塊與所述可調(diào)試的進(jìn)程中需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊建立連接;獨(dú)立調(diào)試模塊獲取所述需要調(diào)試的進(jìn)程的業(yè)務(wù)處理模塊發(fā)送的進(jìn)程調(diào)試結(jié)果。本發(fā)明適用于單板調(diào)試。文檔編號(hào)G06F9/46GK101515251SQ20091012919公開日2009年8月26日申請(qǐng)日期2009年3月31日優(yōu)先權(quán)日2009年3月31日發(fā)明者毅張申請(qǐng)人:華為技術(shù)有限公司