專利名稱:具有多服務(wù)器變化請(qǐng)求處理的網(wǎng)絡(luò)管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信網(wǎng)絡(luò),并且特別涉及能夠進(jìn)行多服務(wù)器變化請(qǐng)求處理的網(wǎng)絡(luò)管理系統(tǒng)(NMS)。
背景技術(shù):
現(xiàn)代網(wǎng)絡(luò)由異構(gòu)網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)設(shè)備之間的物理硬件連接以及用于發(fā)射、接收及交換/發(fā)送數(shù)據(jù)的軟件組成。通信網(wǎng)絡(luò)的配置逐漸發(fā)展為增加了新設(shè)備和新業(yè)務(wù)、現(xiàn)有的設(shè)備被重新設(shè)置,并且處理掉陳舊的設(shè)備。
已知的是提供給網(wǎng)絡(luò)的網(wǎng)絡(luò)管理系統(tǒng)(NMS),用于總體上監(jiān)控網(wǎng)絡(luò)的運(yùn)行狀態(tài)并且控制各個(gè)網(wǎng)絡(luò)設(shè)備的運(yùn)行和業(yè)務(wù)量。通過收集設(shè)備規(guī)格數(shù)據(jù)、設(shè)備連接性數(shù)據(jù)、關(guān)于設(shè)備中的通信鏈路的容量和相對(duì)效用的信息、網(wǎng)絡(luò)中的故障或問題(例如業(yè)務(wù)量擁塞和數(shù)據(jù)丟失)等的程度和位置,來達(dá)到監(jiān)控的目的。所述NMS在提供網(wǎng)絡(luò)集中觀察的主數(shù)據(jù)庫中匯集這些數(shù)據(jù)。
在控制側(cè),網(wǎng)絡(luò)管理系統(tǒng)被用來根據(jù)網(wǎng)絡(luò)運(yùn)行計(jì)劃配置網(wǎng)絡(luò)設(shè)備,并且通過使跨越網(wǎng)絡(luò)單元和子網(wǎng)的事件和條件相互關(guān)聯(lián)來操作網(wǎng)絡(luò)。
受數(shù)據(jù)通信中技術(shù)和結(jié)構(gòu)進(jìn)展的啟發(fā)以及用快速和有成本效益的方式開發(fā)和配置高度可升級(jí)的新業(yè)務(wù)的需要,網(wǎng)絡(luò)管理系統(tǒng)正向著高度分布、多廠商系統(tǒng)、具有開放界面以及與基礎(chǔ)傳輸技術(shù)無關(guān)的應(yīng)用快速發(fā)展?,F(xiàn)代網(wǎng)絡(luò)管理程序在主數(shù)據(jù)庫中保持網(wǎng)絡(luò)及有關(guān)技術(shù)的全面的和最新的表示,并且配備有先進(jìn)的用戶-網(wǎng)絡(luò)接口,例如GUI(圖形用戶界面),該界面使用戶能夠察看這些信息并且與網(wǎng)絡(luò)相互作用。
為了使網(wǎng)絡(luò)管理系統(tǒng)有效,網(wǎng)絡(luò)管理系統(tǒng)保持關(guān)于所管理的設(shè)備的操作的準(zhǔn)確信息是很重要的。通常,如果NMS已經(jīng)被用來配置網(wǎng)絡(luò)設(shè)備,則推斷出該設(shè)備的操作配置是由從網(wǎng)絡(luò)管理系統(tǒng)發(fā)送給設(shè)備的配置命令流產(chǎn)生的。為了實(shí)現(xiàn)這個(gè)目的,如果實(shí)際發(fā)生了任何變化,則該設(shè)備告知NMS,以保證在節(jié)點(diǎn)數(shù)據(jù)庫和網(wǎng)絡(luò)管理數(shù)據(jù)庫中的設(shè)備信息是準(zhǔn)確并且同步的。
結(jié)果,對(duì)于NMS的主要挑戰(zhàn)是大量的消息以及按順序處理這些消息的需求。如今,支持具有1,000個(gè)節(jié)點(diǎn)以上的大型網(wǎng)絡(luò)(例如Telemar、SBC、Telus等等)的網(wǎng)絡(luò)管理系統(tǒng)是常見的。由于網(wǎng)絡(luò)通過聚合不同技術(shù)及配置的子網(wǎng)絡(luò)而增大,并且由于網(wǎng)絡(luò)設(shè)備發(fā)展以執(zhí)行更復(fù)雜的任務(wù),網(wǎng)絡(luò)管理系統(tǒng)上用于處理網(wǎng)絡(luò)變化通知并在主數(shù)據(jù)庫和節(jié)點(diǎn)數(shù)據(jù)庫中反映這些變化的負(fù)載相應(yīng)地增加。按照接收順序來處理數(shù)據(jù)庫變化是很關(guān)鍵的,因?yàn)椴蝗籒MS數(shù)據(jù)庫將不會(huì)準(zhǔn)確反映網(wǎng)絡(luò)節(jié)點(diǎn)的狀況并且因此NMS將喪失其管理網(wǎng)絡(luò)的能力。
提供消息/事件處理應(yīng)用所要求的以改善事件處理性能的解決方案的需要日益增長(zhǎng),使得NMS能夠動(dòng)態(tài)地響應(yīng)變化的負(fù)載狀況,以提供最佳的性能并處理容量使用權(quán)衡(capability usage tradeoff)。
當(dāng)前事件處理系統(tǒng)執(zhí)行事件和/或消息的順序處理。例如,在2002年12月10日公開并轉(zhuǎn)讓給Networks Associates公司的美國(guó)專利6,493,756(O′Brien等人)“System and method for dynamically sensing anasynchronous network event within a modular framework for networkevent processing”中,描述了單線程結(jié)構(gòu),借此來順序處理網(wǎng)絡(luò)事件隊(duì)列。網(wǎng)絡(luò)事件消息由監(jiān)聽器線程接收并被置于保存結(jié)構(gòu)(holding structure)中。通過處理器線程將每個(gè)接收消息從保存結(jié)構(gòu)中刪除。對(duì)于發(fā)生器進(jìn)程,檢索與各個(gè)接收消息相對(duì)應(yīng)的映射的動(dòng)作集合,這產(chǎn)生一個(gè)動(dòng)作集合。生成的動(dòng)作集合被置入事件隊(duì)列中以進(jìn)行處理,通過在各個(gè)集合上調(diào)用處理方法來順序處理該事件隊(duì)列。
目前還存在一種面向多線程(并行的)消息處理結(jié)構(gòu)的發(fā)展趨勢(shì),試圖滿足大量的處理需求。然而,雖然并行處理很好地滿足了處理大量消息的需求,但它并不適合于順序地處理消息。因?yàn)楸仨毐3衷诠?jié)點(diǎn)級(jí)的消息排序,這是任何消息處理結(jié)構(gòu)的特性化的隊(duì)列特征,因此工作區(qū)很少,并且不令人滿意。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于快速處理網(wǎng)絡(luò)變化通知消息的方法和系統(tǒng),其完全地或部分地減少了現(xiàn)有方法和系統(tǒng)的缺點(diǎn)。
本發(fā)明旨在提供一種事件處理系統(tǒng)(EPS),該系統(tǒng)用于具有主數(shù)據(jù)庫和多個(gè)位于各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)處的本地?cái)?shù)據(jù)庫的類型的通信網(wǎng)絡(luò)。該事件處理系統(tǒng)包括消息處理客戶機(jī),用于將多個(gè)事件順序地放置在多個(gè)事件隊(duì)列中,每一節(jié)點(diǎn)一個(gè)事件隊(duì)列;多個(gè)消息處理服務(wù)器,一個(gè)服務(wù)器用于在給定時(shí)間處理來自與特定節(jié)點(diǎn)有關(guān)的特定事件隊(duì)列中的事件、為特定事件生成特定變化請(qǐng)求,并將該特定變化請(qǐng)求發(fā)送到指定數(shù)據(jù)庫;以及調(diào)度程序,用于基于在給定時(shí)間上消息處理服務(wù)器的可用性來選擇所述一個(gè)服務(wù)器,以使得在多個(gè)消息處理服務(wù)器中沒有別的服務(wù)器在所述給定時(shí)間上處理來自所述特定事件隊(duì)列中的另一個(gè)事件。
根據(jù)另一方面,本發(fā)明旨在提供一種在具有主數(shù)據(jù)庫和多個(gè)位于各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)處的本地?cái)?shù)據(jù)庫的類型的通信網(wǎng)絡(luò)中處理多個(gè)網(wǎng)絡(luò)事件的方法,一種處理多個(gè)網(wǎng)絡(luò)事件的方法。該方法包括如下步驟a)在消息處理客戶機(jī)中保持多個(gè)事件隊(duì)列,特定的事件隊(duì)列與特定的網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)聯(lián);以及b)將所述事件從各個(gè)事件隊(duì)列發(fā)送到多個(gè)消息處理服務(wù)器;以及c)在所述消息處理服務(wù)器上同時(shí)處理所述事件,一個(gè)服務(wù)器用于處理來自特定的事件隊(duì)列中的某一事件,而在所述一個(gè)服務(wù)器處理該事件期間,多個(gè)消息處理服務(wù)器中沒有別的服務(wù)器處理來自該特定事件隊(duì)列中的另一個(gè)事件。
有利地,本發(fā)明能實(shí)現(xiàn)網(wǎng)絡(luò)管理系統(tǒng)關(guān)于事件處理的更好的性能,因?yàn)檫@樣的多服務(wù)器-單客戶機(jī)結(jié)構(gòu)可以更快地處理消息,同時(shí)保持消息排序。
另外,本發(fā)明的系統(tǒng)可被動(dòng)態(tài)地重新配置,能夠適應(yīng)于消息業(yè)務(wù)量的變化。
根據(jù)下列更具體的優(yōu)選實(shí)施例的描述,如附圖中所說明的,本發(fā)明的上述及其他目的、特征以及優(yōu)點(diǎn)將變得明顯,其中圖1是當(dāng)前事件通知系統(tǒng)(現(xiàn)有技術(shù))的高級(jí)別視圖,圖2示出了本發(fā)明的事件通知系統(tǒng)的實(shí)施例的高級(jí)別視圖;圖3A說明了處理網(wǎng)絡(luò)事件的順序;圖3B示出了用于處理網(wǎng)絡(luò)單元(NE)事件的順序;圖4A示出了用于處理需要網(wǎng)絡(luò)控制接口(NCI)進(jìn)行讀取的網(wǎng)絡(luò)單元(NE)事件的順序;以及圖4B說明了在圖4A中示出的順序的可替代方案。
具體實(shí)施例方式
下面提供對(duì)當(dāng)前事件通知系統(tǒng)的描述,以更好地理解本發(fā)明所提出的解決方法的優(yōu)點(diǎn)。圖1示出了裝備有網(wǎng)絡(luò)管理系統(tǒng)(NMS)的通信網(wǎng)絡(luò)1,該NMS總體上監(jiān)控網(wǎng)絡(luò)的運(yùn)行狀況并且控制NE的操作以及業(yè)務(wù)流量。圖1僅僅示出了NMS與本發(fā)明有關(guān)的部分,即事件處理系統(tǒng)(EPS)5、主數(shù)據(jù)庫10和NM進(jìn)程模塊3。
這樣,NMS提供其控制下的網(wǎng)絡(luò)的集中視圖,該集中視圖被存儲(chǔ)并保持在主數(shù)據(jù)庫10(在這里也稱“NM數(shù)據(jù)庫”)中。NM進(jìn)程單元3總體來說包括NMS中與本發(fā)明有關(guān)的全部進(jìn)程,其中它們觸發(fā)用于更新主數(shù)據(jù)庫10的事件。這樣的NM進(jìn)程如用戶界面(例如GUI)、診斷模塊、帶寬分配程序(BWA),等等。本說明書使用術(shù)語“網(wǎng)絡(luò)事件”來表示由進(jìn)程3所觸發(fā)的事件。
這個(gè)例子中的網(wǎng)絡(luò)1是具有相關(guān)的數(shù)據(jù)庫7的大型網(wǎng)絡(luò),如多個(gè)網(wǎng)絡(luò)單元NE1,NE2,...NEj,...NEn所示。應(yīng)當(dāng)注意,在這里術(shù)語NE指的是通過網(wǎng)絡(luò)控制接口(NCI)6由NMS管理的NE,由圖1中的雙線示出。這個(gè)接口是用于管理網(wǎng)絡(luò)的應(yīng)用級(jí)協(xié)議。并且,NE也可以稱作“網(wǎng)絡(luò)節(jié)點(diǎn)”。
如果NM進(jìn)程3產(chǎn)生一個(gè)網(wǎng)絡(luò)事件,根據(jù)相應(yīng)的進(jìn)程3所請(qǐng)求的變化來修改主數(shù)據(jù)庫10。為了在受影響的NE的本地?cái)?shù)據(jù)庫中執(zhí)行相應(yīng)的變化,由事件處理系統(tǒng)5提供的變化通知程序(CHN)進(jìn)程2檢測(cè)由NM進(jìn)程3產(chǎn)生的網(wǎng)絡(luò)事件并且向消息處理器4提供相應(yīng)的消息。消息處理器4接收消息并且將它們連續(xù)地并且按消息到達(dá)順序通知給各自的網(wǎng)絡(luò)單元。如上所指出,關(guān)鍵的是對(duì)網(wǎng)絡(luò)事件通知和變化請(qǐng)求的處理要按照它們?cè)谙⑻幚砥?被接收的順序,因?yàn)椴蝗皇苡绊懙臄?shù)據(jù)庫將不能準(zhǔn)確地反映網(wǎng)絡(luò)節(jié)點(diǎn)的情況。
例如,如果操作員響應(yīng)于來自于包括在NMS進(jìn)程單元3中的GUI的請(qǐng)求,引起變化至網(wǎng)絡(luò)單元NE1,NE2以及NEj,該變化被立即反映在數(shù)據(jù)庫10中,并且同時(shí)EPS5接收該網(wǎng)絡(luò)事件并且使用消息處理器4在網(wǎng)絡(luò)1上將該網(wǎng)絡(luò)變化廣播到NE1,NE2以及NEj。結(jié)果,受影響的網(wǎng)絡(luò)單元NE1,NE2以及NEj在各自的數(shù)據(jù)庫7-1,7-2以及7-j中執(zhí)行該變化。
在網(wǎng)絡(luò)中發(fā)生的所有事件(例如警報(bào),或NE的添加、更新、刪除),也必須被記錄在主數(shù)據(jù)庫10里,用于使主數(shù)據(jù)庫同步于產(chǎn)生該事件的NE的數(shù)據(jù)庫。本說明書使用術(shù)語“NE事件”代表導(dǎo)致在各自的本地?cái)?shù)據(jù)庫中的變化的網(wǎng)絡(luò)節(jié)點(diǎn)上的事件。在這種情況下,消息處理器4從相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)以及與數(shù)據(jù)庫10的接口接收NE事件通知,以請(qǐng)求數(shù)據(jù)庫變化來反映該事件。如上所述,該變化被順序地處理,這樣主數(shù)據(jù)庫10始終正確地反映當(dāng)前的網(wǎng)絡(luò)配置及狀態(tài)。消息處理器4還將該網(wǎng)絡(luò)事件消息發(fā)送到CHN2,用于將該事件廣播到對(duì)它有興趣的進(jìn)程3。
例如,如果NE1接收到一個(gè)硬件更新,這個(gè)網(wǎng)絡(luò)事件通過NCI接口6被發(fā)送到消息處理器4,所述消息處理器4修改主數(shù)據(jù)庫10以反映NE1的新配置。消息處理器4也通知該事件的CHN2,并且CHN2將這個(gè)消息提供給被影響的進(jìn)程(例如,如果硬件更新影響了NE1的帶寬,則受影響的進(jìn)程是帶寬分配程序),并且最終提供給GUI,以將該變化通知給操作員。
圖1方法的問題是消息處理器4構(gòu)成單個(gè)的進(jìn)程,既擔(dān)負(fù)處理從網(wǎng)絡(luò)單元進(jìn)入NMS的全部網(wǎng)絡(luò)事件,又用于將來自NM進(jìn)程3的變化請(qǐng)求傳播到網(wǎng)絡(luò)單元。由于只有單個(gè)事件可以由處理器4一次處理,等待事件的數(shù)目在大型網(wǎng)絡(luò)的情況下可以變得相當(dāng)大。此外,因?yàn)橥ǔMㄟ^網(wǎng)絡(luò)控制接口6連接的NE配備有15秒的重發(fā)定時(shí)器,如果響應(yīng)(確認(rèn)該事件已經(jīng)被成功地處理)在該時(shí)限之內(nèi)沒有被接收到,則重發(fā)事件。結(jié)果,這種解決方案不能很好地衡量由大規(guī)模用戶網(wǎng)絡(luò)產(chǎn)生的事件的數(shù)量。
為了改善MP4的事件處理速度,本發(fā)明提出了基于并行事件處理的、依然顧及事件順序的事件處理系統(tǒng)50,如圖2所示。這一新的消息處理系統(tǒng)具有客戶機(jī)-服務(wù)器結(jié)構(gòu),并且更確切地說,包括消息處理客戶機(jī)(MPC)20和多個(gè)消息處理服務(wù)器(MPS)25。MPC20控制消息處理的排序,同時(shí)MPS25借助于共享對(duì)象程序庫(SOL)27執(zhí)行實(shí)際的消息處理,共享對(duì)象程序庫27包含用于由服務(wù)器25處理的各個(gè)消息類型的特定處理指令。
消息處理客戶機(jī)(也稱為“客戶機(jī)進(jìn)程”)20是網(wǎng)絡(luò)1中通過NCI接口6接收的所有事件的入口點(diǎn),并且所有的網(wǎng)絡(luò)事件都影響主數(shù)據(jù)庫10。MPC20的主要任務(wù)是等待來自CHN(變化通知程序)26或者來自網(wǎng)絡(luò)單元NE1-NEn的變化事件。將事件按照每一節(jié)點(diǎn)一個(gè)隊(duì)列進(jìn)行排隊(duì),這樣可以對(duì)到達(dá)或來自不同的NE的事件進(jìn)行并行處理。一旦設(shè)置了隊(duì)列,就將消息轉(zhuǎn)發(fā)到調(diào)度程序21以分配給空閑的服務(wù)器用于基于時(shí)間進(jìn)行處理。
消息處理服務(wù)器25(在這里也稱服務(wù)器進(jìn)程)通過調(diào)度程序21負(fù)責(zé)處理從MPC20接收的大量事件的處理;服務(wù)器的管理完全由調(diào)度程序控制。每一個(gè)服務(wù)器25響應(yīng)網(wǎng)絡(luò)事件更新NM數(shù)據(jù)庫10,或者響應(yīng)網(wǎng)絡(luò)事件更新NE數(shù)據(jù)庫7?;诎诿枋鲈撌录臄?shù)據(jù)包的主參數(shù)列表(MPL)中所提供的分類和條目,將NE事件發(fā)送到相應(yīng)的MPS的處理程序功能。(MPL是在所有節(jié)點(diǎn)上都可尋址的全部參數(shù)列表,通過分類和條目號(hào)對(duì)其識(shí)別。)更高數(shù)目的MPS25允許并行處理更多事件。服務(wù)器的數(shù)目可動(dòng)態(tài)地配置以適應(yīng)在消息處理負(fù)載中的變化。
更具體地說,MPS25具有三個(gè)主要功能。第一個(gè)功能翻譯進(jìn)入的網(wǎng)絡(luò)事件并在主數(shù)據(jù)庫10內(nèi)更新相應(yīng)的字段。第二個(gè)功能將網(wǎng)絡(luò)事件翻譯成NCI事件并通過NCI(網(wǎng)絡(luò)控制接口)6將其傳送至相應(yīng)的NE。第三個(gè)任務(wù)是如果對(duì)進(jìn)入的網(wǎng)絡(luò)事件的翻譯程序需要更多信息,則從網(wǎng)絡(luò)單元請(qǐng)求附加信息。
這兩個(gè)進(jìn)程20、25使用調(diào)度程序21來通信,調(diào)度程序21在服務(wù)器實(shí)例之中選擇一個(gè)可用的服務(wù)器并將該消息分發(fā)至服務(wù)器用于處理。然后調(diào)度程序返回一個(gè)消息識(shí)別至客戶機(jī)進(jìn)程20用于跟蹤該消息。就網(wǎng)絡(luò)事件而言,需要來自NE的更多數(shù)據(jù);在這種情況下相應(yīng)的服務(wù)器根據(jù)需要從相應(yīng)的節(jié)點(diǎn)直接讀取附加數(shù)據(jù)。
如上所述,客戶機(jī)進(jìn)程20負(fù)責(zé)收集全部NE和網(wǎng)絡(luò)事件。優(yōu)選地,客戶機(jī)進(jìn)程20優(yōu)選地保持三個(gè)隊(duì)列以控制由服務(wù)器進(jìn)程25執(zhí)行的消息處理的排序。
分級(jí)的事件隊(duì)列22由節(jié)點(diǎn)使用節(jié)點(diǎn)標(biāo)識(shí)符(節(jié)點(diǎn)ID)來組織,以便對(duì)于當(dāng)前有消息要處理的每個(gè)節(jié)點(diǎn)都具有一個(gè)隊(duì)列。在每個(gè)節(jié)點(diǎn)隊(duì)列內(nèi)都是與該節(jié)點(diǎn)有關(guān)的事件通知,所述事件通知以時(shí)間為標(biāo)記以確保根據(jù)通知被接收的順序來處理??蛻魴C(jī)20在任何給定時(shí)間在每一節(jié)點(diǎn)只能有一個(gè)事件發(fā)送給調(diào)度程序21,這一事實(shí)確保了事件處理的排序。
消息處理客戶機(jī)20還保持未完成的隊(duì)列23,其跟蹤為節(jié)點(diǎn)正處理的事件。這一過程使用分配給每個(gè)消息的消息標(biāo)識(shí)符(消息ID)來完成,并且當(dāng)消息被發(fā)給服務(wù)器進(jìn)程25時(shí),由調(diào)度程序21返回所述消息標(biāo)識(shí)符。能在任何同一時(shí)刻處理事件的節(jié)點(diǎn)的最大數(shù)是有限的。被稱為最大未完成的限度的這個(gè)限度,取決于服務(wù)器進(jìn)程的數(shù)量,也可以基于消息處理負(fù)載進(jìn)行動(dòng)態(tài)配置。
還要產(chǎn)生一個(gè)溢出隊(duì)列24,以允許MPC20甚至在出現(xiàn)事件超限時(shí)還繼續(xù)處理事件。溢出隊(duì)列24在已經(jīng)達(dá)到最大未完成的限度之后再次使用節(jié)點(diǎn)ID跟蹤要維護(hù)的節(jié)點(diǎn)序列。所述溢出隊(duì)列24是必需的,因?yàn)槭录?duì)列在節(jié)點(diǎn)級(jí)上沒有定序。
消息處理客戶機(jī)20和服務(wù)器25優(yōu)選地配備有度量收集能力(metricscollection capabilities)以監(jiān)控系統(tǒng)內(nèi)的事件處理。例如,客戶機(jī)20可以收集關(guān)于所接收的事件的總數(shù)、排隊(duì)事件的總數(shù)以及由于在事件隊(duì)列內(nèi)超時(shí)而減少的事件總數(shù)的統(tǒng)計(jì)數(shù)據(jù)。它還保持總的周轉(zhuǎn)時(shí)間的度量,所述周轉(zhuǎn)時(shí)間是指數(shù)據(jù)包在系統(tǒng)內(nèi)從它被接收的時(shí)刻直到該事件被反向確認(rèn)至發(fā)送NE的時(shí)刻為止所花費(fèi)的時(shí)間。服務(wù)器25收集關(guān)于各個(gè)單獨(dú)事件所用的處理時(shí)間和在一時(shí)間段上被接收/被處理的事件的數(shù)量的度量。由節(jié)點(diǎn)類型、MPL(主參數(shù)列表)分類和條目號(hào)來存儲(chǔ)這些定時(shí)。這些度量中的每個(gè)都用來獲得用于消息通知系統(tǒng)5的總的事件速率。
實(shí)驗(yàn)表明,依據(jù)事件類型的不同,每個(gè)單獨(dú)事件的處理可以花費(fèi)不同長(zhǎng)度的時(shí)間。這主要?dú)w因于事件處理可能需要作為接收事件的副作用來處理的網(wǎng)絡(luò)或數(shù)據(jù)庫訪問的數(shù)量。例如,就端口名稱事件來說,一旦名稱被轉(zhuǎn)換為字符串,它在數(shù)據(jù)庫中就被簡(jiǎn)單地更新。插件狀態(tài)事件需要在數(shù)據(jù)庫中的狀態(tài)被更新之前執(zhí)行許多附帶的任務(wù)。這些任務(wù)中的一些包括列出在插件上的全部端口和在那些端口上的全部電纜并且根據(jù)接收的狀態(tài)將每個(gè)電纜的狀態(tài)設(shè)置為“下行”或“上行”。
此外,一些單獨(dú)的NE事件花費(fèi)比目前分配給這一進(jìn)程的十五秒時(shí)限更長(zhǎng)的時(shí)間。例如,如果對(duì)于任何插件“可編程插件類型MPL”事件都可以被接收,所有與該插件有關(guān)的數(shù)據(jù)庫記錄必須在數(shù)據(jù)庫10中產(chǎn)生。對(duì)于包含大量端口和電路的大型插件,產(chǎn)生或刪除這些記錄根據(jù)插件類型可以花費(fèi)數(shù)分鐘。對(duì)于所述特定節(jié)點(diǎn)在當(dāng)前事件被處理的時(shí)間上的事件處理被阻塞,但是本發(fā)明的結(jié)構(gòu)允許事件處理系統(tǒng)50繼續(xù)為其它的網(wǎng)絡(luò)單元處理事件。
目前,消息處理器4(參見圖1)僅知道它所處理的事件,并且將所有其它的NE消息發(fā)送到NE隊(duì)列,直到接收到關(guān)于該事件的響應(yīng)為止。結(jié)果,只要事件持續(xù),網(wǎng)絡(luò)單元就連續(xù)地發(fā)送事件。根據(jù)本發(fā)明,一種對(duì)消息通知系統(tǒng)50的改進(jìn)方法是允許識(shí)別重復(fù)進(jìn)入的NE事件。這些事件通常來自網(wǎng)絡(luò)中的狀態(tài)跳躍的設(shè)備。一旦事件被識(shí)別為來自“跳躍”物體,則該事件就可以被篩選,直到相應(yīng)設(shè)備的問題被解決。為此,當(dāng)接收到它們時(shí),消息處理客戶機(jī)20立刻確認(rèn)所有的NCI事件。這樣,通知程序26具有事件的節(jié)點(diǎn)緩存器的可視性。
圖3A描述了在主數(shù)據(jù)庫10上執(zhí)行更新時(shí)出現(xiàn)的操作順序。它由客戶機(jī)進(jìn)程20從CHN26接收網(wǎng)絡(luò)事件的通知并且請(qǐng)求服務(wù)器處理該事件作為響應(yīng)開始。調(diào)度程序?qū)⒃撜?qǐng)求轉(zhuǎn)發(fā)至可用的服務(wù)器進(jìn)程25。所述服務(wù)器將該網(wǎng)絡(luò)事件翻譯成合適的MPL消息并且向NE發(fā)出NE變化請(qǐng)求。然后將MPL消息寫入相應(yīng)的本地?cái)?shù)據(jù)庫,并且確認(rèn)該變化請(qǐng)求。一旦收到確認(rèn),所述服務(wù)器25返回一個(gè)轉(zhuǎn)發(fā)到客戶機(jī)20的成功代碼。
圖3B描述了在NE數(shù)據(jù)庫7上執(zhí)行更新時(shí)出現(xiàn)的順序。它由客戶機(jī)進(jìn)程20接收NE事件開始,緊接著客戶機(jī)請(qǐng)求服務(wù)器處理該事件;調(diào)度程序21將該請(qǐng)求轉(zhuǎn)發(fā)至可用的服務(wù)器25。所述服務(wù)器將NE事件翻譯成合適的數(shù)據(jù)庫更新請(qǐng)求,并且返回一個(gè)被轉(zhuǎn)發(fā)到客戶機(jī)進(jìn)程20的成功代碼,該代碼向NE確認(rèn)該變化。
圖4A描述了在本地?cái)?shù)據(jù)庫上執(zhí)行更新以及相應(yīng)的事件需要來自NE的更多消息時(shí)出現(xiàn)的序列。該序列與圖3B的相似,但作為事件處理的一部分,所述服務(wù)器執(zhí)行更多NCI讀取以獲得所需要的附加消息。最終,NCI的讀出響應(yīng)從NE到達(dá),并且服務(wù)器25更新數(shù)據(jù)庫中的所有相關(guān)消息并且返回一個(gè)被轉(zhuǎn)發(fā)到客戶機(jī)進(jìn)程20的成功代碼,同時(shí)該網(wǎng)絡(luò)事件被確認(rèn)。就某些數(shù)據(jù)庫的條目而言,這種方案是某些節(jié)點(diǎn)的運(yùn)行狀況所必需的,并且因?yàn)樗ㄙM(fèi)更多的網(wǎng)絡(luò)資源,如有可能應(yīng)該盡量避免。
圖4B說明了圖4A中描述的隊(duì)列的可替代方案,在附加消息讀取方式上有區(qū)別。于是,該隊(duì)列由NE事件被發(fā)送到空閑服務(wù)器25開始,但是從該服務(wù)器返回的成功代碼是需要從NE讀取的附加信息列表。當(dāng)客戶機(jī)20接收到成功完成網(wǎng)絡(luò)事件處理時(shí),在確認(rèn)原始事件之前,發(fā)布不阻塞的NC附加信息讀取。最后,NCI讀取響應(yīng)從NE到達(dá)并且如同是另一個(gè)NCI事件似的被處理,即該事件被傳遞到服務(wù)器。從那里開始,序列重復(fù)。注意,隨后的事件處理產(chǎn)生另一個(gè)NCI讀取是完全有可能的,雖然這種情況沒有在圖中描述。
應(yīng)當(dāng)注意,圖4B中示出的這個(gè)方案某種程度上降低了事件處理的效率,因?yàn)榻?jīng)常有相同的記錄被更新,導(dǎo)致關(guān)鍵字轉(zhuǎn)換、獲得記錄以及記錄更新發(fā)生多次而不是一次。此外,所述方案增加了結(jié)構(gòu)的復(fù)雜性。采用多服務(wù)器結(jié)構(gòu),使得增加服務(wù)器的數(shù)量以解決等待網(wǎng)絡(luò)讀取時(shí)被阻塞(或可能被阻塞)的服務(wù)器的數(shù)量更加有意義。
權(quán)利要求
1.在具有主數(shù)據(jù)庫和多個(gè)位于各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)處的本地?cái)?shù)據(jù)庫的類型的通信網(wǎng)絡(luò)中,一種事件處理系統(tǒng)(EPS)包括消息處理客戶機(jī),用于將多個(gè)事件順序地放置于多個(gè)事件隊(duì)列中,每一節(jié)點(diǎn)一個(gè)事件隊(duì)列;多個(gè)消息處理服務(wù)器,一個(gè)服務(wù)器用于在給定時(shí)間上處理來自與特定的節(jié)點(diǎn)有關(guān)的特定事件隊(duì)列中的事件,為所述特定事件生成特定的變化請(qǐng)求,并且將所述特定變化請(qǐng)求發(fā)送到指定的數(shù)據(jù)庫;以及調(diào)度程序,用于基于在所述給定時(shí)間上的所述消息處理服務(wù)器的可用性來選擇所述一個(gè)服務(wù)器,以便在所述多個(gè)消息處理服務(wù)器中沒有其它服務(wù)器在所述給定時(shí)間上處理來自所述特定事件隊(duì)列中的另外的事件。
2.如權(quán)利要求1所述的EPS,還包括變化通知程序進(jìn)程,用于將從多個(gè)網(wǎng)絡(luò)管理進(jìn)程接收的網(wǎng)絡(luò)事件發(fā)送到所述消息處理客戶機(jī)。
3.如權(quán)利要求2所述的EPS,其中所述網(wǎng)絡(luò)事件指的是在所述主數(shù)據(jù)庫中的變化。
4.如權(quán)利要求1所述的EPS,其中所述特定事件隊(duì)列包括一個(gè)或多個(gè)影響所述主數(shù)據(jù)庫的網(wǎng)絡(luò)事件。
5.如權(quán)利要求4所述的EPS,其中所述指定數(shù)據(jù)庫是本地?cái)?shù)據(jù)庫。
6.如權(quán)利要求1所述的EPS,其中所述特定事件隊(duì)列包括由所述特定節(jié)點(diǎn)產(chǎn)生的NE事件,所述NE事件反映由所述特定節(jié)點(diǎn)保持的本地?cái)?shù)據(jù)庫中的相應(yīng)的更新。
7.如權(quán)利要求6所述的EPS,其中所述指定數(shù)據(jù)庫是所述主數(shù)據(jù)庫。
8.如權(quán)利要求1所述的EPS,其中每個(gè)所述事件是用時(shí)間標(biāo)記的,用于保持所述變化請(qǐng)求的順序,用于根據(jù)所述事件的順序來更新所述指定的數(shù)據(jù)庫。
9.如權(quán)利要求1所述的EPS,其中所述特定的事件隊(duì)列包括節(jié)點(diǎn)標(biāo)識(shí),用于使得所述消息處理客戶機(jī)能夠?qū)⑴c所述特定節(jié)點(diǎn)有關(guān)的所有事件放置在所述特定事件隊(duì)列中。
10.如權(quán)利要求1所述的EPS,其中所述多個(gè)事件包括由網(wǎng)絡(luò)進(jìn)程產(chǎn)生的網(wǎng)絡(luò)事件以及由網(wǎng)絡(luò)節(jié)點(diǎn)產(chǎn)生的NE事件。
11.如權(quán)利要求1所述的EPS,其中所述消息處理客戶機(jī)還保持有未完成的隊(duì)列,用于跟蹤當(dāng)前為節(jié)點(diǎn)被處理的事件。
12.如權(quán)利要求11所述的EPS,其中所述未完成的隊(duì)列包括與消息識(shí)別相關(guān)聯(lián)的節(jié)點(diǎn)標(biāo)識(shí),所述消息標(biāo)識(shí)用于由所有的所述服務(wù)器在任一給定時(shí)間上處理的所有事件。
13.如權(quán)利要求12所述的EPS,其中所述未完成的隊(duì)列使用最大未完成限度,用于在任一時(shí)刻上對(duì)具有被處理的事件的節(jié)點(diǎn)的數(shù)量進(jìn)行限制。
14.如權(quán)利要求13所述的EPS,其中所述最大未完成的限度取決于所述消息處理服務(wù)器的數(shù)量。
15.如權(quán)利要求1所述的EPS,其中基于當(dāng)前事件處理負(fù)載來動(dòng)態(tài)配置所述消息處理服務(wù)器的數(shù)量。
16.如權(quán)利要求1所述的EPS,還包括具有特定處理指令的共享對(duì)象程序庫,所述特定處理指令用于由所述消息處理服務(wù)器處理的每個(gè)事件類型。
17.如權(quán)利要求13所述的EPS,其中所述消息處理客戶機(jī)還保持有溢出隊(duì)列,用于能夠延期處理在所述未完成的隊(duì)列達(dá)到所述最大未完成限度之后到達(dá)所述消息處理器客戶機(jī)的附加的事件。
18.如權(quán)利要求17所述的EPS,其中所述溢出隊(duì)列為各個(gè)附加事件保持所述節(jié)點(diǎn)標(biāo)識(shí)。
19.在具有主數(shù)據(jù)庫和多個(gè)位于各自的網(wǎng)絡(luò)節(jié)點(diǎn)處的本地?cái)?shù)據(jù)庫的通信網(wǎng)絡(luò)中,一種處理多個(gè)數(shù)據(jù)庫事件的方法,包括如下步驟a)在消息處理客戶機(jī)保持多個(gè)事件隊(duì)列,特定的事件隊(duì)列與特定的網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)聯(lián);以及b)將來自各個(gè)所述事件隊(duì)列的所述事件分配到多個(gè)消息處理服務(wù)器;c)在所述消息處理服務(wù)器中同時(shí)處理所述事件,一個(gè)服務(wù)器用于處理來自所述特定的事件隊(duì)列中的特定事件,同時(shí)在所述一個(gè)服務(wù)器處理所述事件期間,所述多個(gè)消息處理服務(wù)器中沒有其它服務(wù)器處理來自所述特定事件隊(duì)列的另一個(gè)事件。
20.如權(quán)利要求19所述的方法,還包括在所述消息處理客戶機(jī)上保持未完成的隊(duì)列,用于跟蹤為各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)當(dāng)前被處理的各個(gè)事件。
21.如權(quán)利要求20所述的方法,其中所述保持未完成的隊(duì)列的步驟包括提供最大未完成限度,用于限制在任何給定時(shí)刻都具有被處理事件的節(jié)點(diǎn)的數(shù)量。
22.如權(quán)利要求21所述的方法,還包括保持溢出隊(duì)列的步驟,用于能夠延期處理在所述未完成的排列達(dá)到所述最大未完成的限度之后到達(dá)所述消息處理客戶機(jī)的事件。
23.如權(quán)利要求19所述的方法,其中所述步驟b)包括基于所述消息處理服務(wù)器的可用性選擇所述一個(gè)服務(wù)器;檢測(cè)是否當(dāng)前正在處理事件的所有服務(wù)器都不處理來自所述特定事件隊(duì)列的另外的事件;將來自所述特定事件隊(duì)列的所述特定事件發(fā)送到所述一個(gè)服務(wù)器進(jìn)行處理;并且一旦所述特定事件已被處理,則釋放所述一個(gè)服務(wù)器,以處理來自所述多個(gè)事件隊(duì)列的任一隊(duì)列的另外的事件。
24.如權(quán)利要求19所述的方法,其中步驟c)包括,在各個(gè)消息處理服務(wù)器上查詢共享程序庫,以獲得與所述各個(gè)消息處理服務(wù)器當(dāng)前所處理的事件的類型有關(guān)的特定事件處理指令。
25.如權(quán)利要求19所述的方法,其中所述特定事件是由網(wǎng)絡(luò)進(jìn)程響應(yīng)于對(duì)在所述特定網(wǎng)絡(luò)節(jié)點(diǎn)上的本地?cái)?shù)據(jù)庫有影響的主數(shù)據(jù)庫的更新而生成的網(wǎng)絡(luò)事件。
26.如權(quán)利要求25所述的方法,其中所述步驟a)包括將節(jié)點(diǎn)標(biāo)識(shí)與所述網(wǎng)絡(luò)事件相關(guān)聯(lián),以識(shí)別被所述網(wǎng)絡(luò)事件影響的所述特定網(wǎng)絡(luò)節(jié)點(diǎn);并且向所述網(wǎng)絡(luò)事件提供時(shí)間標(biāo)記,并且根據(jù)所述節(jié)點(diǎn)標(biāo)識(shí)和所述時(shí)間標(biāo)記將所述網(wǎng)絡(luò)事件放置在所述特定的事件隊(duì)列中。
27.如權(quán)利要求26所述的方法,其中所述步驟a)還包括在所述一個(gè)服務(wù)器上產(chǎn)生消息標(biāo)識(shí),用于在所述消息處理服務(wù)器當(dāng)前處理的所有事件中識(shí)別出所述網(wǎng)絡(luò)事件;以及在所述消息處理客戶機(jī)上,將所述消息標(biāo)識(shí)與所述網(wǎng)絡(luò)事件相關(guān)聯(lián),并且基于所述節(jié)點(diǎn)標(biāo)識(shí)和所述消息標(biāo)識(shí)來組織未完成隊(duì)列。
28.如權(quán)利要求25所述的方法,還包括這一步驟從所述特定的網(wǎng)絡(luò)節(jié)點(diǎn)向所述一個(gè)服務(wù)器發(fā)送表明所述本地?cái)?shù)據(jù)庫已被成功更新的確認(rèn)消息。
29.如權(quán)利要求19所述的方法,其中所述事件是響應(yīng)于影響所述主數(shù)據(jù)庫的特定網(wǎng)絡(luò)節(jié)點(diǎn)的本地?cái)?shù)據(jù)庫中的更新而產(chǎn)生的NE事件。
30.如權(quán)利要求29所述的方法,其中所述步驟a)包括將節(jié)點(diǎn)標(biāo)識(shí)與所述NE事件相關(guān)聯(lián),以識(shí)別產(chǎn)生所述NE事件的所述特定網(wǎng)絡(luò)節(jié)點(diǎn);以及向所述NE事件提供時(shí)間標(biāo)記,并且根據(jù)所述節(jié)點(diǎn)標(biāo)識(shí)和所述時(shí)間標(biāo)記在所述特定隊(duì)列中放置所述NE事件。
31.如權(quán)利要求30所述的方法,其中所述步驟a)還包括在所述的一個(gè)服務(wù)器上產(chǎn)生消息標(biāo)識(shí),用于在所述消息處理服務(wù)器當(dāng)前處理的所有事件中識(shí)別所述NE事件;在所述消息處理客戶機(jī)上,將所述消息標(biāo)識(shí)與所述NE事件相關(guān)聯(lián),并且基于所述節(jié)點(diǎn)標(biāo)識(shí)和所述消息標(biāo)識(shí)組織未完成隊(duì)列。
32.如權(quán)利要求29所述的方法,還包括從所述消息處理客戶機(jī)向所述特定的網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送表明所述主數(shù)據(jù)庫已被成功更新的確認(rèn)消息。
33.如權(quán)利要求32所述的方法,還包括如果在預(yù)設(shè)的時(shí)間間隔內(nèi)沒有接收到確認(rèn)消息,就從特定的網(wǎng)絡(luò)節(jié)點(diǎn)重發(fā)NE事件。
全文摘要
一種在通信網(wǎng)絡(luò)中快速執(zhí)行事件處理的事件處理系統(tǒng)。該系統(tǒng)包括控制事件處理順序的客戶機(jī)進(jìn)程;借助于共享對(duì)象程序庫和調(diào)度程序來處理事件的多個(gè)服務(wù)器,所述調(diào)度程序選擇可用的服務(wù)器以便在任何給定時(shí)間上不會(huì)有兩個(gè)服務(wù)器處理來自相同事件隊(duì)列的事件??蛻魴C(jī)用時(shí)間來標(biāo)記所述事件,并且使用節(jié)點(diǎn)標(biāo)識(shí)將它們組織成每一節(jié)點(diǎn)的事件隊(duì)列。未完成的隊(duì)列基于消息ID跟蹤為節(jié)點(diǎn)當(dāng)前被處理的事件,當(dāng)事件被發(fā)送給服務(wù)器時(shí)調(diào)度程序返回該消息ID。同樣,在已經(jīng)達(dá)到給定時(shí)間上被處理的事件的最大未完成限度之后,溢出隊(duì)列跟蹤被維護(hù)的節(jié)點(diǎn)順序。
文檔編號(hào)H04L29/06GK1747407SQ20051011324
公開日2006年3月15日 申請(qǐng)日期2005年7月8日 優(yōu)先權(quán)日2004年7月9日
發(fā)明者J·拉金, B·岡瑟, H·霍利爾赫克 申請(qǐng)人:阿爾卡特公司