專(zhuān)利名稱(chēng):防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),特別涉及防止分布式處理的系統(tǒng)中業(yè)務(wù)資源泄漏的技術(shù)。
背景技術(shù):
在數(shù)據(jù)處理領(lǐng)域,為了同時(shí)進(jìn)行大量數(shù)據(jù)的處理,通常包含多個(gè)處理模塊,這些處理模塊由一個(gè)調(diào)度模塊調(diào)度,這在數(shù)字通信技術(shù)中尤其常見(jiàn)。例如,在無(wú)線移動(dòng)通信系統(tǒng)的基站側(cè),要同時(shí)處理多個(gè)用戶(hù)的數(shù)據(jù)或者進(jìn)行多種不同的處理,通常在基站中會(huì)使用多個(gè)數(shù)字信號(hào)處理器(Digital SignalProcessor,簡(jiǎn)稱(chēng)“DSP”)以對(duì)大量數(shù)據(jù)進(jìn)行并行處理,并使用多個(gè)不同的DSP軟件進(jìn)行多種不同的處理,DSP和DSP軟件通過(guò)主機(jī)或單板中的CPU軟件實(shí)現(xiàn)調(diào)度和協(xié)調(diào)并上報(bào)一些處理結(jié)果。
為了調(diào)試或測(cè)試這種系統(tǒng),通常需要使用多個(gè)調(diào)試模塊(或稱(chēng)為控制模塊),這些調(diào)試模塊和調(diào)度模塊之間進(jìn)行通信,由調(diào)度模塊解析調(diào)試模塊的命令并將其下發(fā)給相應(yīng)的處理模塊,處理模塊進(jìn)行處理后將一些測(cè)量或處理結(jié)果通過(guò)調(diào)度模塊上報(bào)給調(diào)試模塊。例如,在寬帶碼分多址(Wideband CodeDivision Multiple Access,簡(jiǎn)稱(chēng)“WCDMA”)系統(tǒng)中,為滿足一些外場(chǎng)測(cè)試和專(zhuān)項(xiàng)調(diào)試、測(cè)試的需要,開(kāi)發(fā)的一套調(diào)試系統(tǒng)即為這種架構(gòu),如圖1所示。該系統(tǒng)包含至少一個(gè)調(diào)試臺(tái)10(即調(diào)試模塊)、一個(gè)運(yùn)行在單板上的主機(jī)中央處理器(Central Processing Unit,簡(jiǎn)稱(chēng)“CPU”)上的Shell模塊21(即調(diào)度模塊)和至少一個(gè)DSP模塊31(即處理模塊)。其中,調(diào)試臺(tái)10和Shell模塊21之間通過(guò)標(biāo)準(zhǔn)網(wǎng)絡(luò)連接端口(SOCKET)連接,Shell模塊21和DSP模塊之31間通過(guò)主機(jī)接口(Host Port Interface,簡(jiǎn)稱(chēng)“HPI”)連接。
利用圖1所示系統(tǒng)進(jìn)行調(diào)試的基本工作流程如圖2所示。
首先進(jìn)入步驟210,調(diào)試臺(tái)10與Shell模塊21建立聯(lián)系并進(jìn)行用戶(hù)登陸。
接著進(jìn)入步驟220,調(diào)試臺(tái)10將用戶(hù)的調(diào)試命令發(fā)送給Shell模塊21。其中,調(diào)試命令中包含目的地址的消息。
接著進(jìn)入步驟230,Shell模塊21解析調(diào)試命令并將其發(fā)送給相應(yīng)的DSP模塊31。該步驟中,Shell模塊21根據(jù)目的地址將該調(diào)試命令通過(guò)HPI接口發(fā)送給相應(yīng)的DSP模塊31。
接著進(jìn)入步驟240,DSP模塊31啟動(dòng)相應(yīng)的調(diào)試任務(wù)并將結(jié)果上報(bào)給Shell模塊21。其中,結(jié)果的上報(bào)可以在調(diào)試任務(wù)完成后一次性上報(bào),也可以周期性地通過(guò)HPI接口上報(bào)。
接著進(jìn)入步驟250,Shell模塊21將結(jié)果轉(zhuǎn)發(fā)給相應(yīng)的調(diào)試臺(tái)10。
最后進(jìn)入步驟260,調(diào)試臺(tái)10在界面上顯示結(jié)果。這些結(jié)果供用戶(hù)觀察或記錄。
如果用戶(hù)需要關(guān)閉已經(jīng)啟動(dòng)的調(diào)試任務(wù),可以通過(guò)調(diào)試臺(tái)10下發(fā)相應(yīng)的調(diào)試命令,DSP模塊31收到調(diào)試命令后,立即關(guān)閉已經(jīng)啟動(dòng)的相應(yīng)調(diào)試任務(wù)。
需要說(shuō)明的是,一般Shell模塊21還有一個(gè)功能,即能實(shí)時(shí)檢測(cè)與調(diào)試臺(tái)10的連接情況,能實(shí)時(shí)檢測(cè)到調(diào)試臺(tái)10的用戶(hù)登錄和退出情況,包括正常退出和網(wǎng)絡(luò)連接異常導(dǎo)致的退出。
在一個(gè)WCDMA基站系統(tǒng)中,存在很多塊單板,每塊單板上有不少DSP,因此,一個(gè)WCDMA基站系統(tǒng)中DSP的總數(shù)量很大。在實(shí)際調(diào)試過(guò)程中,用戶(hù)可能同時(shí)下發(fā)多種調(diào)試命令,每一種調(diào)試命令會(huì)導(dǎo)致多個(gè)DSP軟件啟動(dòng)調(diào)試任務(wù)以協(xié)助完成調(diào)試功能,因此,WCDMA基站系統(tǒng)內(nèi)部在調(diào)試狀態(tài)下可能存在大量調(diào)試任務(wù),并有大量的調(diào)試結(jié)果需要上報(bào),為此而帶來(lái)的DSP資源消耗很大。在這些上報(bào)的調(diào)試結(jié)果中,某些調(diào)試結(jié)果的上報(bào)頻率非常高,因此,所有這些上報(bào)的調(diào)試結(jié)果占用的傳輸通道也非常大。
在實(shí)際調(diào)試過(guò)程中有時(shí)會(huì)碰到網(wǎng)絡(luò)異常導(dǎo)致調(diào)試臺(tái)的用戶(hù)與Shell模塊連接中斷的情況,如果用戶(hù)已經(jīng)啟動(dòng)了很多調(diào)試任務(wù),此后這些調(diào)試任務(wù)將無(wú)法關(guān)閉,相應(yīng)DSP占用的資源將無(wú)法釋放,導(dǎo)致系統(tǒng)不能全力提供正常業(yè)務(wù),同時(shí)這些調(diào)試任務(wù)上報(bào)的大量調(diào)試結(jié)果會(huì)占用大量的傳輸通道,也會(huì)對(duì)系統(tǒng)內(nèi)正常消息的傳輸帶來(lái)負(fù)面影響。這種調(diào)試臺(tái)用戶(hù)與Shell模塊連接中斷導(dǎo)致資源無(wú)法釋放,傳輸通道被占用的情況稱(chēng)為系統(tǒng)業(yè)務(wù)資源的泄漏,需要設(shè)計(jì)一種在調(diào)試臺(tái)用戶(hù)異常退出的情況下能有效防止系統(tǒng)業(yè)務(wù)資源泄漏的方法。
現(xiàn)有技術(shù)方案一在調(diào)試臺(tái)用戶(hù)發(fā)生異常退出后,Shell模塊向系統(tǒng)中所有的DSP模塊發(fā)出該調(diào)試臺(tái)用戶(hù)已經(jīng)退出的消息,然后所有啟動(dòng)了該調(diào)試臺(tái)用戶(hù)的調(diào)試任務(wù)的DSP模塊關(guān)閉相應(yīng)的調(diào)試任務(wù)。
現(xiàn)有技術(shù)方案一會(huì)造成傳輸通道的浪費(fèi),調(diào)試任務(wù)的錯(cuò)誤清除和Shell模塊不能共用的問(wèn)題,此外,還存在Shell模塊出現(xiàn)異常時(shí)導(dǎo)致系統(tǒng)資源浪費(fèi)的問(wèn)題。
造成這些問(wèn)題的主要原因在于第一,該方案向所有的DSP模塊發(fā)送消息,沒(méi)有考慮只是系統(tǒng)中部分單板配備了DSP模塊,另外,并非所有DSP模塊均配備了調(diào)試任務(wù)的能力,因此造成了傳輸通道的浪費(fèi)。
第二,由于多個(gè)調(diào)試臺(tái)用戶(hù)可能啟動(dòng)相同的調(diào)試任務(wù),如果一個(gè)調(diào)試臺(tái)用戶(hù)異常退出,則不管該調(diào)試臺(tái)用戶(hù)啟動(dòng)的調(diào)試任務(wù)是否也被其它調(diào)試臺(tái)用戶(hù)啟動(dòng),方案一均會(huì)刪除該調(diào)試任務(wù),因此會(huì)造成調(diào)試任務(wù)的錯(cuò)誤清除。
第三,對(duì)于不同規(guī)格的基站系統(tǒng),因?yàn)槿颗鋫涞膯伟搴虳SP不相同,導(dǎo)致Shell模塊需要發(fā)送的對(duì)象不一樣,造成了Shell模塊不能共用。
第四,由于方案一僅考慮了調(diào)試臺(tái)用戶(hù)異常的情況,沒(méi)有考慮Shell模塊異常的情況,這種采用Shell模塊進(jìn)行統(tǒng)一控制的方案在Shell模塊出現(xiàn)的異常的情況下就無(wú)法關(guān)閉已經(jīng)啟動(dòng)的調(diào)試任務(wù),因此會(huì)存在Shell模塊出現(xiàn)異常時(shí)系統(tǒng)資源浪費(fèi)的問(wèn)題。
現(xiàn)有技術(shù)方案二中的Shell模塊在接收到每個(gè)調(diào)試臺(tái)用戶(hù)發(fā)出的調(diào)試命令后,記錄下調(diào)試臺(tái)用戶(hù)和該命令導(dǎo)致有調(diào)試任務(wù)啟動(dòng)的所有DSP模塊的對(duì)應(yīng)關(guān)系,在某一個(gè)調(diào)試臺(tái)用戶(hù)發(fā)生異常退出后,Shell模塊根據(jù)記錄的對(duì)應(yīng)關(guān)系表,向系統(tǒng)中所有為此調(diào)試臺(tái)用戶(hù)啟動(dòng)了調(diào)試任務(wù)且該調(diào)試任務(wù)只為該調(diào)試臺(tái)用戶(hù)啟動(dòng)的DSP模塊發(fā)出該調(diào)試臺(tái)用戶(hù)已經(jīng)退出的消息,然后接收到消息的DSP模塊停止該調(diào)試臺(tái)用戶(hù)的調(diào)試任務(wù)。
現(xiàn)有技術(shù)方案二的主要問(wèn)題是實(shí)現(xiàn)復(fù)雜,對(duì)Shell模塊的要求太高,此外,該技術(shù)方案也存在Shell模塊出現(xiàn)異常時(shí)導(dǎo)致系統(tǒng)資源浪費(fèi)的問(wèn)題。
造成現(xiàn)有技術(shù)二問(wèn)題的主要原因在于第一,該方案除了需要增加相應(yīng)的對(duì)應(yīng)關(guān)系表,還需要實(shí)時(shí)解析下發(fā)的調(diào)試命令會(huì)引起哪些DSP模塊產(chǎn)生調(diào)試任務(wù),考慮到部分DSP沒(méi)有配備的情況,還需要記錄該調(diào)試任務(wù)是否被每個(gè)應(yīng)該接收的模塊正確接收并被執(zhí)行,產(chǎn)生的調(diào)試任務(wù)是否需要周期性上報(bào)調(diào)試結(jié)果,如果該調(diào)試臺(tái)用戶(hù)關(guān)閉了某個(gè)周期性調(diào)試任務(wù),還需要從對(duì)應(yīng)關(guān)系表中刪除該對(duì)應(yīng)項(xiàng),因此該方案實(shí)現(xiàn)復(fù)雜。
第二,由于DSP模塊跑死等問(wèn)題,會(huì)造成Shell模塊記錄的對(duì)應(yīng)關(guān)系表與實(shí)際情況不一致的可能性,因此,該方案對(duì)Shell模塊的要求性太高,且有可能得不償失。
第三,同現(xiàn)有技術(shù)方案一相同,該方案僅考慮了調(diào)試臺(tái)異常的情況,沒(méi)有考慮Shell模塊異常的情況,這種采用Shell模塊進(jìn)行統(tǒng)一控制的方案在Shell模塊出現(xiàn)的異常的情況下就無(wú)法關(guān)閉已經(jīng)啟動(dòng)的調(diào)試任務(wù),因此會(huì)存在Shell模塊出現(xiàn)異常時(shí)系統(tǒng)資源浪費(fèi)的問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,使得能夠簡(jiǎn)單有效地防止系統(tǒng)業(yè)務(wù)資源的泄漏。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,該系統(tǒng)包含至少一個(gè)用于向用戶(hù)提供命令輸入和結(jié)果輸出界面的控制模塊,多個(gè)執(zhí)行調(diào)試或處理任務(wù)的處理模塊,其中保存有用戶(hù)和任務(wù)的對(duì)應(yīng)關(guān)系,和一個(gè)接收并解析來(lái)自所述控制模塊的用戶(hù)命令、調(diào)度所述處理模塊執(zhí)行該用戶(hù)命令的調(diào)度模塊,所述方法包含以下步驟A所述處理模塊向所述調(diào)度模塊訂閱用戶(hù)退出消息;B所述調(diào)度模塊在檢測(cè)到操作所述控制模塊的用戶(hù)退出時(shí),向發(fā)起訂閱的所述處理模塊發(fā)送用戶(hù)退出消息,其中包含退出用戶(hù)的標(biāo)識(shí);C所述處理模塊響應(yīng)所述用戶(hù)退出消息,根據(jù)其中的標(biāo)識(shí)和自身保存的用戶(hù)和任務(wù)的對(duì)應(yīng)關(guān)系,刪除僅由該用戶(hù)發(fā)起的指定類(lèi)型的任務(wù)。
其中,所述步驟C還包含以下子步驟所述處理模塊響應(yīng)所述用戶(hù)退出消息,根據(jù)其中的標(biāo)識(shí)和自身保存的用戶(hù)和任務(wù)的對(duì)應(yīng)關(guān)系,判斷該用戶(hù)所發(fā)起的任務(wù)是否還被其它用戶(hù)共同發(fā)起,如果是則從該任務(wù)所對(duì)應(yīng)的用戶(hù)標(biāo)識(shí)中刪除該用戶(hù)的標(biāo)識(shí)。
此外,還包含以下步驟所述處理模塊和所述調(diào)度模塊之間周期性握手,所述處理模塊在連續(xù)握手失敗次數(shù)超過(guò)預(yù)先設(shè)置的門(mén)限時(shí)刪除所有指定類(lèi)型的所述任務(wù)。
此外,所述指定類(lèi)型的任務(wù)可以是周期性調(diào)試任務(wù)或其它需要向用戶(hù)返回結(jié)果的任務(wù)。
此外,所述控制模塊的用戶(hù)退出可以是正常退出或異常退出。
此外,所述步驟A中,所述處理模塊在啟動(dòng)后向所述調(diào)度模塊訂閱用戶(hù)退出消息,所述調(diào)度模塊收到訂閱后返回響應(yīng)消息。
此外,向調(diào)度模塊訂閱用戶(hù)退出消息的所述處理模塊可以是具有調(diào)試功能的處理模塊。
此外,所述處理模塊的主要器件可以是以下之一或其任意組合數(shù)字信號(hào)處理器、現(xiàn)場(chǎng)可編程邏輯器件、專(zhuān)用集成電路、以及中央處理器。
此外,所述系統(tǒng)可應(yīng)用于寬帶碼分多址基帶系統(tǒng)中。
通過(guò)比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的主要區(qū)別在于,利用訂閱的方式事先得到需要獲取用戶(hù)退出消息的處理模塊列表,在用戶(hù)退出時(shí)由調(diào)度模塊通知已訂閱的處理模塊,處理模塊在本地記錄調(diào)試或處理任務(wù)和用戶(hù)之間的對(duì)應(yīng)關(guān)系以在用戶(hù)退出時(shí)刪除僅由該用戶(hù)啟動(dòng)調(diào)試或處理任務(wù),并在訂閱雙方之間引入握手機(jī)制,如果握手失敗次數(shù)超過(guò)門(mén)限則處理模塊停止所有調(diào)試或處理任務(wù)。
這種技術(shù)方案上的區(qū)別,帶來(lái)了較為明顯的有益效果,即第一,由于本發(fā)明方案在控制模塊用戶(hù)發(fā)生異常時(shí)僅通知已進(jìn)行訂閱操作的處理模塊,避免了向所有處理模塊的消息發(fā)送,因此可以避免傳輸資源的浪費(fèi)。
第二,本發(fā)明方案利用處理模塊的本地記錄,在用戶(hù)退出時(shí)刪除僅由該用戶(hù)啟動(dòng)的調(diào)試或處理任務(wù),可以避免其它用戶(hù)也啟動(dòng)的調(diào)試或處理任務(wù)被錯(cuò)誤清除的情況出現(xiàn)。
第三,由于采用了訂閱機(jī)制,本發(fā)明方案不需要調(diào)度模塊和處理模塊進(jìn)行復(fù)雜的處理(例如調(diào)度模塊不需要跟蹤命令是否被處理模塊正確執(zhí)行、判斷所啟動(dòng)的任務(wù)的類(lèi)型、確保任務(wù)和用戶(hù)的對(duì)應(yīng)關(guān)系是否實(shí)際情況一致等),實(shí)現(xiàn)簡(jiǎn)單,大大降低了對(duì)調(diào)度模塊的要求,有助于降低實(shí)現(xiàn)成本。
第四,本發(fā)明方案提供的訂閱雙方定時(shí)握手的機(jī)制可以在調(diào)度模塊出現(xiàn)異常時(shí)有效避免系統(tǒng)業(yè)務(wù)資源泄漏。
圖1是WCDMA系統(tǒng)中一套調(diào)試系統(tǒng)的組成示意圖;圖2是利用圖1所示的系統(tǒng)進(jìn)行調(diào)試的流程;圖3是根據(jù)本發(fā)明第一較佳實(shí)施例的防止業(yè)務(wù)資源泄漏的系統(tǒng)組成示意圖;圖4是根據(jù)本發(fā)明第一較佳實(shí)施例的防止業(yè)務(wù)資源泄漏方法的流程。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明方案提供了一種特定事件的訂閱(Subscribe)機(jī)制,具有調(diào)試功能的處理模塊事先向調(diào)度模塊訂閱控制模塊用戶(hù)退出消息以在控制模塊用戶(hù)發(fā)生異常時(shí)獲知其退出的消息,然后處理模塊根據(jù)本地的記錄得到該控制模塊用戶(hù)對(duì)應(yīng)的調(diào)試或處理任務(wù)是否只是由該控制模塊用戶(hù)發(fā)起,從而決定是否刪除該控制模塊用戶(hù)對(duì)應(yīng)的調(diào)試或處理任務(wù),同時(shí),本發(fā)明方案還提供了訂閱雙方通過(guò)定時(shí)握手防止資源泄漏的機(jī)制,如果訂閱雙方握手失敗次數(shù)超過(guò)設(shè)定門(mén)限則清除所有調(diào)試或處理任務(wù)。使用本發(fā)明方案,第一,由于本發(fā)明方案在控制模塊用戶(hù)發(fā)生異常時(shí)僅通知已進(jìn)行訂閱操作的處理模塊,避免了向不具有調(diào)試功能的處理模塊的消息發(fā)送,因此可以避免傳輸資源的浪費(fèi);第二,本發(fā)明方案利用處理模塊的本地記錄,可以避免其它用戶(hù)也啟動(dòng)的調(diào)試或處理任務(wù)被錯(cuò)誤清除的情況出現(xiàn);第三,本發(fā)明方案不需要調(diào)度模塊和處理模塊進(jìn)行復(fù)雜的處理,實(shí)現(xiàn)簡(jiǎn)單,大大降低了對(duì)調(diào)度模塊的要求;第四,尤其重要的是,本發(fā)明方案提供的訂閱雙方定時(shí)握手的機(jī)制可以在調(diào)度模塊出現(xiàn)異常時(shí)有效避免系統(tǒng)業(yè)務(wù)資源泄漏。
為了更清楚的說(shuō)明本發(fā)明方案,下面結(jié)合本發(fā)明較佳實(shí)施例來(lái)說(shuō)明。
根據(jù)本發(fā)明的第一較佳實(shí)施例的防止業(yè)務(wù)資源泄漏的系統(tǒng)如圖3所示。其中,本發(fā)明的第一較佳實(shí)施例在WCDMA系統(tǒng)基站系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)。
在本發(fā)明第一較佳實(shí)施例中,防止業(yè)務(wù)資源泄漏的系統(tǒng)包含以下模塊調(diào)試臺(tái)10(控制模塊),主控板20和業(yè)務(wù)單板30。其中,主控板20和業(yè)務(wù)單板30均為WCDMA基站系統(tǒng)中使用的單板,主控板20中還包含Shell模塊21(調(diào)度模塊),業(yè)務(wù)單板30還包含DSP模塊31(處理模塊)。調(diào)試臺(tái)10和主控板20之間通過(guò)SOCKET接口連接,主控板20和業(yè)務(wù)單板30之間通過(guò)板間總線連接。
調(diào)試臺(tái)10作為控制模塊用于向用戶(hù)提供調(diào)試和控制的界面,將用戶(hù)的控制或調(diào)試命令發(fā)送給Shell模塊21并從Shell模塊21接收調(diào)試結(jié)果供用戶(hù)分析。其中,調(diào)試臺(tái)10和現(xiàn)有技術(shù)完全相同,為本領(lǐng)域所公知,在此不詳細(xì)說(shuō)明。
與現(xiàn)有技術(shù)相同,Shell模塊21作為調(diào)度模塊用于解析調(diào)試臺(tái)10的調(diào)試命令并將其下發(fā)給相應(yīng)的DSP模塊31,接收DSP模塊31的測(cè)試結(jié)果并將其提交給調(diào)試臺(tái)10,實(shí)時(shí)檢測(cè)調(diào)試臺(tái)10的用戶(hù)登陸、退出以及異常的情況。
以外,Shell模塊21還用于接收DSP模塊31對(duì)調(diào)試臺(tái)10的用戶(hù)退出消息的訂閱,在調(diào)試臺(tái)10的用戶(hù)退出時(shí)通知訂閱了用戶(hù)退出消息的調(diào)試臺(tái)10,并在接收到DSP模塊31的握手消息時(shí)響應(yīng)握手消息。本領(lǐng)域的普通技術(shù)人員可以理解,相對(duì)于現(xiàn)有技術(shù)方案二中Shell模塊需要進(jìn)行的復(fù)雜處理,本發(fā)明方案中Shell模塊21對(duì)于DSP模塊31的訂閱請(qǐng)求只需要簡(jiǎn)單存儲(chǔ)發(fā)送訂閱請(qǐng)求的DSP模塊31的地址或標(biāo)識(shí),對(duì)存儲(chǔ)空間的要求很小,并且也不需要復(fù)雜的處理,很容易實(shí)現(xiàn)。另外需要特別說(shuō)明的是,Shell模塊21對(duì)于握手消息的響應(yīng)可以表明此時(shí)Shell模塊21工作正常,顯然,若Shell模塊21出現(xiàn)異常,則不會(huì)有對(duì)握手消息的響應(yīng),這樣,通過(guò)握手就可以判斷Shell模塊21是否出現(xiàn)異常。
DSP模塊31作為處理模塊用于根據(jù)接收到的調(diào)試命令運(yùn)行或終止調(diào)試任務(wù)并一次性或周期性上報(bào)結(jié)果,記錄正在運(yùn)行的需要周期性上報(bào)的調(diào)試任務(wù)和調(diào)試臺(tái)10的用戶(hù)的對(duì)應(yīng)關(guān)系,在接收到調(diào)試臺(tái)10的用戶(hù)退出消息時(shí)終止只有該用戶(hù)啟動(dòng)的周期性上報(bào)的調(diào)試任務(wù),定時(shí)向Shell模塊發(fā)送握手消息并在握手失敗次數(shù)超過(guò)門(mén)限時(shí)終止所有調(diào)試任務(wù)。其中,由于DSP模塊31記錄了正在運(yùn)行的需要周期性上報(bào)的調(diào)試任務(wù)和調(diào)試臺(tái)10的用戶(hù)的對(duì)應(yīng)關(guān)系,因此在收到調(diào)試臺(tái)10的用戶(hù)退出消息時(shí),可以根據(jù)記錄的對(duì)應(yīng)關(guān)系判斷該用戶(hù)啟動(dòng)的周期性上報(bào)的調(diào)試任務(wù)是否只是為該用戶(hù)運(yùn)行,從而在其它用戶(hù)啟動(dòng)相同調(diào)試任務(wù)的時(shí)候避免錯(cuò)誤刪除該調(diào)試任務(wù)。在本發(fā)明的第一較佳實(shí)施例中,握手消息發(fā)送的頻率和門(mén)限可以由系統(tǒng)管理人員或調(diào)試人員事先設(shè)定。本領(lǐng)域的普通技術(shù)人員可以理解,如果握手失敗次數(shù)超過(guò)門(mén)限則可以判定Shell模塊21出現(xiàn)異常,此時(shí)所有調(diào)試任務(wù)的結(jié)果均無(wú)法傳遞給調(diào)試臺(tái)10,因此為了避免系統(tǒng)業(yè)務(wù)資源的泄漏需要終止所有調(diào)試任務(wù)。
另外需要說(shuō)明的是,雖然本發(fā)明的第一較佳實(shí)施例以WCDMA的基站系統(tǒng)為基礎(chǔ)說(shuō)明,但本領(lǐng)域的普通技術(shù)人員可以理解,本發(fā)明適用的系統(tǒng)并不局限在這個(gè)范圍內(nèi),這并不影響本發(fā)明的實(shí)質(zhì)。
例如,處理模塊不局限于DSP模塊31,也可以是現(xiàn)場(chǎng)可編程門(mén)陣列(FieldProgrammable Gate Array,簡(jiǎn)稱(chēng)“FPGA”)、專(zhuān)用集成電路(Application SpecificIntegrated Circuit,簡(jiǎn)稱(chēng)“ASIC”)、運(yùn)行在CPU上的軟件等可以進(jìn)行數(shù)據(jù)處理的模塊;調(diào)度模塊不局限于Shell模塊21,也可以是其它具有調(diào)度能力的模塊;控制模塊也不局限于第一較佳實(shí)施例中調(diào)試臺(tái)10,也可以是其它可以向用戶(hù)提供控制或調(diào)試界面的終端軟件或主機(jī)。
另外需要說(shuō)明的是,為了達(dá)到相同的目的,也可以對(duì)現(xiàn)有技術(shù)方案二進(jìn)行改進(jìn),Shell模塊21在接收到調(diào)試臺(tái)10的用戶(hù)發(fā)出的調(diào)試命令后,記錄下調(diào)試臺(tái)用戶(hù)和該命令導(dǎo)致有調(diào)試任務(wù)啟動(dòng)的所有DSP模塊31的對(duì)應(yīng)關(guān)系,而不管該命令是否被正確執(zhí)行,啟動(dòng)的調(diào)試任務(wù)是否為周期性調(diào)試任務(wù),保存對(duì)應(yīng)關(guān)系表與實(shí)際情況是否一致,只要有調(diào)試臺(tái)用戶(hù)退出,就根據(jù)對(duì)應(yīng)關(guān)系表,向與該調(diào)試臺(tái)用戶(hù)對(duì)應(yīng)的DSP模塊31發(fā)出該調(diào)試臺(tái)用戶(hù)已經(jīng)退出的消息,然后由DSP模塊31根據(jù)本地記錄決定是否刪除該調(diào)試臺(tái)用戶(hù)啟動(dòng)的調(diào)試任務(wù)。
根據(jù)本發(fā)明第一較佳實(shí)施例的防止業(yè)務(wù)資源泄漏的方法如圖4所示。其中,該流程即為對(duì)應(yīng)于圖3所示的系統(tǒng)的流程。
首先進(jìn)入步驟400,啟動(dòng)基站軟件系統(tǒng)。在本發(fā)明第一較佳實(shí)施例中,基站軟件系統(tǒng)包含用于調(diào)度的Shell模塊31和用于處理的DSP模塊21、FPGA、ASIC和其它CPU軟件等。
接著進(jìn)入步驟410,具有調(diào)試功能的處理模塊向調(diào)度模塊發(fā)起訂閱。其中,并非所有處理模塊均配置了調(diào)試功能,此步驟中,僅要求具有調(diào)試功能的處理模塊發(fā)起訂閱。在本發(fā)明第一較佳實(shí)施例中,處理模塊為DSP模塊21,調(diào)度模塊為Shell模塊31。
接著進(jìn)入步驟420,調(diào)度模塊向發(fā)起訂閱的處理模塊發(fā)送響應(yīng)消息。其中,響應(yīng)消息可以向發(fā)起訂閱的處理模塊確認(rèn)調(diào)度模塊已經(jīng)收到訂閱請(qǐng)求。另外需要說(shuō)明的是,調(diào)度模塊在發(fā)送響應(yīng)消息時(shí)已經(jīng)將發(fā)起訂閱的處理模塊的標(biāo)識(shí)或地址存儲(chǔ)。在本發(fā)明第一較佳實(shí)施例中,將發(fā)起訂閱的處理模塊的地址存儲(chǔ)為一張表格。
接著進(jìn)入步驟430,用戶(hù)通過(guò)控制模塊登陸。在本發(fā)明第一較佳實(shí)施例中,控制模塊為調(diào)試臺(tái)10。
接著進(jìn)入步驟440,用戶(hù)通過(guò)控制模塊發(fā)送控制或調(diào)試消息。其中,控制或調(diào)試消息可以是開(kāi)始或結(jié)束調(diào)試的命令。
接著進(jìn)入步驟450,調(diào)度模塊將控制或調(diào)試消息下發(fā)給相應(yīng)的處理模塊。在本發(fā)明第一較佳實(shí)施例中,調(diào)度模塊可以解析控制或調(diào)試命令并得到該調(diào)試命令需要調(diào)用哪個(gè)或哪幾個(gè)處理模塊,然后調(diào)度模塊可以根據(jù)解析的結(jié)果將消息下發(fā)給相應(yīng)的處理模塊。
接著進(jìn)入步驟460,處理模塊上報(bào)處理結(jié)果給調(diào)度模塊并由調(diào)度模塊轉(zhuǎn)發(fā)給控制模塊。其中,處理模塊的處理結(jié)果可以一次性上報(bào)也可以周期性上報(bào)。在本發(fā)明第一較佳實(shí)施例中,由于在發(fā)生異常時(shí),一次性上報(bào)的調(diào)試或處理任務(wù)會(huì)自動(dòng)運(yùn)行結(jié)束,因此系統(tǒng)業(yè)務(wù)資源主要由周期性上報(bào)的調(diào)試或處理任務(wù)占用。
接著進(jìn)入步驟470,調(diào)度模塊檢測(cè)到用戶(hù)退出時(shí)向發(fā)起訂閱的處理模塊發(fā)送該用戶(hù)退出的消息。其中,調(diào)度模塊可以實(shí)時(shí)檢測(cè)用戶(hù)登陸、退出情況,如果有用戶(hù)退出,則調(diào)度模塊根據(jù)已訂閱的處理模塊的地址表將用戶(hù)退出的消息發(fā)送給已訂閱的處理模塊。
接著進(jìn)入步驟480,判斷接收到用戶(hù)退出消息的處理模塊檢查是否為該用戶(hù)啟動(dòng)了處理任務(wù),如果是則進(jìn)入步驟490,否則結(jié)束。在本發(fā)明第一較佳實(shí)施例中,處理模塊還在本地存儲(chǔ)了調(diào)試或處理任務(wù)和用戶(hù)的對(duì)應(yīng)關(guān)系列表,處理模塊可以根據(jù)此關(guān)系列表得知是否為該用戶(hù)啟動(dòng)了處理任務(wù)。
如果處理模塊啟動(dòng)了該退出用戶(hù)的處理任務(wù),則在步驟490中,判斷該處理任務(wù)是否僅為該用戶(hù)啟動(dòng),如果是則進(jìn)入步驟500,否則進(jìn)入步驟510。在本發(fā)明第一較佳實(shí)施例中,可以通過(guò)查表獲知該處理任務(wù)是否僅為該用戶(hù)啟動(dòng)。
若該處理任務(wù)僅為該用戶(hù)啟動(dòng),則在步驟500中,刪除該處理任務(wù)。
若該處理任務(wù)還由其它用戶(hù)啟動(dòng),則在步驟510中,在該處理任務(wù)對(duì)應(yīng)的用戶(hù)列表中刪除該用戶(hù)。本領(lǐng)域的普通技術(shù)人員可以理解,這樣就可以避免處理任務(wù)的錯(cuò)誤刪除。
在本發(fā)明的第二較佳實(shí)施例中,為了避免調(diào)度模塊出現(xiàn)異常導(dǎo)致的系統(tǒng)業(yè)務(wù)資源泄漏,還在本發(fā)明第一較佳實(shí)施例的基礎(chǔ)上引入了握手機(jī)制,包含以下步驟處理模塊周期性向調(diào)度模塊發(fā)送握手信息;調(diào)度模塊響應(yīng)處理模塊周期性的握手信息;如果處理模塊和調(diào)度模塊之間的握手失敗次數(shù)超過(guò)門(mén)限,則處理模塊停止所有的處理或調(diào)試任務(wù)。
雖然通過(guò)參照本發(fā)明的某些優(yōu)選實(shí)施例,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,該系統(tǒng)包含至少一個(gè)用于向用戶(hù)提供命令輸入和結(jié)果輸出界面的控制模塊,多個(gè)執(zhí)行調(diào)試或處理任務(wù)的處理模塊,其中保存有用戶(hù)和任務(wù)的對(duì)應(yīng)關(guān)系,和一個(gè)接收并解析來(lái)自所述控制模塊的用戶(hù)命令、調(diào)度所述處理模塊執(zhí)行該用戶(hù)命令的調(diào)度模塊,其特征在于,所述方法包含以下步驟A所述處理模塊向所述調(diào)度模塊訂閱用戶(hù)退出消息;B所述調(diào)度模塊在檢測(cè)到操作所述控制模塊的用戶(hù)退出時(shí),向發(fā)起訂閱的所述處理模塊發(fā)送用戶(hù)退出消息,其中包含退出用戶(hù)的標(biāo)識(shí);C所述處理模塊響應(yīng)所述用戶(hù)退出消息,根據(jù)其中的標(biāo)識(shí)和自身保存的用戶(hù)和任務(wù)的對(duì)應(yīng)關(guān)系,刪除僅由該用戶(hù)發(fā)起的指定類(lèi)型的任務(wù)。
2.根據(jù)權(quán)利要求1所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,所述步驟C還包含以下子步驟所述處理模塊響應(yīng)所述用戶(hù)退出消息,根據(jù)其中的標(biāo)識(shí)和自身保存的用戶(hù)和任務(wù)的對(duì)應(yīng)關(guān)系,判斷該用戶(hù)所發(fā)起的任務(wù)是否還被其它用戶(hù)共同發(fā)起,如果是則從該任務(wù)所對(duì)應(yīng)的用戶(hù)標(biāo)識(shí)中刪除該用戶(hù)的標(biāo)識(shí)。
3.根據(jù)權(quán)利要求1所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,還包含以下步驟所述處理模塊和所述調(diào)度模塊之間周期性握手,所述處理模塊在連續(xù)握手失敗次數(shù)超過(guò)預(yù)先設(shè)置的門(mén)限時(shí)刪除所有指定類(lèi)型的所述任務(wù)。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,所述指定類(lèi)型的任務(wù)可以是周期性調(diào)試任務(wù)或其它需要向用戶(hù)返回結(jié)果的任務(wù)。
5.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,所述控制模塊的用戶(hù)退出可以是正常退出或異常退出。
6.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,所述步驟A中,所述處理模塊在啟動(dòng)后向所述調(diào)度模塊訂閱用戶(hù)退出消息,所述調(diào)度模塊收到訂閱后返回響應(yīng)消息。
7.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,向調(diào)度模塊訂閱用戶(hù)退出消息的所述處理模塊可以是具有調(diào)試功能的處理模塊。
8.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,所述處理模塊的主要器件可以是以下之一或其任意組合數(shù)字信號(hào)處理器、現(xiàn)場(chǎng)可編程邏輯器件、專(zhuān)用集成電路、以及中央處理器。
9.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,其特征在于,所述系統(tǒng)可應(yīng)用于寬帶碼分多址基帶系統(tǒng)中。
全文摘要
本發(fā)明涉及通信技術(shù),公開(kāi)了一種防止系統(tǒng)中業(yè)務(wù)資源泄漏的方法,使得能夠簡(jiǎn)單有效地防止系統(tǒng)業(yè)務(wù)資源的泄漏。本發(fā)明中,利用訂閱的方式事先得到需要獲取用戶(hù)退出消息的處理模塊列表,在用戶(hù)退出時(shí)由調(diào)度模塊通知已訂閱的處理模塊,處理模塊在本地記錄調(diào)試或處理任務(wù)和用戶(hù)之間的對(duì)應(yīng)關(guān)系以在用戶(hù)退出時(shí)刪除僅由該用戶(hù)啟動(dòng)調(diào)試或處理任務(wù),并在訂閱雙方之間引入握手機(jī)制,如果握手失敗次數(shù)超過(guò)門(mén)限則處理模塊停止所有調(diào)試或處理任務(wù)。
文檔編號(hào)H04W76/04GK1874578SQ20051002642
公開(kāi)日2006年12月6日 申請(qǐng)日期2005年6月2日 優(yōu)先權(quán)日2005年6月2日
發(fā)明者張靜 申請(qǐng)人:上海華為技術(shù)有限公司