專利名稱:一種網絡管理系統的信息同步方法
技術領域:
本發明涉及網絡管理技術,特別涉及網絡管理系統的信息同步方法。
背景技術:
通常,一個通信網絡從功能上分為五個層次來實現,該五個層次從低到高依次包括網元層、網元管理層、網絡管理層、業務管理層、事務管理層。其中,網元層包含大量網元(NE),在通信網絡中網元就是指通信設備;網元管理層包含多個網元管理系統(EMS),各EMS分別管理一定數量的網元;網絡管理層中的網絡管理系統(NMS)負責管理各個EMS,并通過EMS對各網元進行操作。
其中,EMS和NMS均能對其所管轄的網元進行操作,包括創建新的網元、查詢或修改網元信息、在修改網元信息時備份舊的信息等等。當NMS對網元進行操作時,均需根據自身數據庫中記錄的網元信息進行處理,比如根據所記錄的當前已創建的網元確定需要創建或刪除哪個網元,根據當前已創建的各網元的信息確定如何修改網元的配置信息等等。由于,EMS和NMS分別獨立對網元進行操作,EMS對各個網元進行創建、刪除、修改等操作時,NMS無法實時獲知。如果某網元已由EMS創建,但NMS并不知道該網元已創建,NMS就有可能再次創建該網元,使整個網絡的管理出現混亂。為解決這一問題,EMS和NMS之間通常存在一種同步機制,其同步方式包括一、NMS定時或手動通過EMS查詢各網元的信息,如果NMS自身記錄的網元信息與查詢到的網元信息出現不一致,就將自身保存的網元信息更新為查詢到的網元信息;二、EMS一旦對網元進行操作后,即上報通知給NMS,NMS再通過EMS查詢網元信息,根據查詢到的網元信息對自身記錄的網元信息進行更新。通過此種同步處理能夠使EMS對應的各網元實際的網元信息與NMS記錄的網元信息保持一致,從而避免了對網元的誤操作。
鑒于通信網絡規模龐大,信息處理量相當可觀,NMS通常基于多線程技術,以實現多個處理任務并行執行。當NMS同步網元信息時,將產生多個線程來并行同步網元信息,一個線程將負責同步多個網元的信息。其中,對于一個線程來說,其對于各個網元的處理是串行執行的,簡單的說就是只有完成針對一個網元的更新網元信息操作,才能執行針對下一網元的查詢網元信息操作,當對所有網元的處理結束后,該線程的處理才算結束。這樣,單個線程的處理時延就很有可能過長。
雖然NMS與EMS之間的網元信息同步可通過多個線程并行處理,但單個線程的網元信息同步處理由于涉及查詢網元信息、更新自身網元信息等復雜操作,因此,單個線程的處理負擔較重、時延較長,當所有線程的處理結束時,實際上已經耗費了大量處理時間。如果在這個較長的同步過程中NMS對網元進行操作,NMS保存的網元信息很有可能與當前網元的實際情況不一致,這就可能出現誤操作,從而使系統的網元信息同步失去意義。另外,單個線程對各個網元的處理實際上是串行進行的,從而也使多線程技術的并發、高效、處理時延短等優勢蕩然無存。
發明內容
有鑒于此,本發明的主要目的在于提供一種NMS的信息同步方法,能夠充分發揮多線程技術的并發優勢,高效完成網元信息的同步。
為達到上述目的,本發明的技術方案是這樣實現的本發明公開了一種網絡管理系統的信息同步方法,該方法包括A.創建用于查詢網元信息的第一線程和用于更新網元信息的第二線程;B.第一線程通過網元管理系統查詢網元信息,并將查詢到的網元信息發送給第二線程;所述第二線程接收來自第一線程的網元信息,根據接收到的網元信息對網絡管理系統中的網元信息進行更新。
其中,所述第一線程和第二線程各有一個。
其中,所述第二線程有一個;所述第一線程有一個以上,每個第一線程對應一個或一個以上的網元;步驟B中,各第一線程查詢各自對應的網元的網元信息。
其中,所述第二線程有一個以上,每個第二線程對應一個或一個以上第一線程,每個第一線程對應一個或一個以上的網元;步驟B中,各第一線程查詢各自對應的網元的網元信息,并將查詢到的網元信息發送至自身對應的第二線程。
其中,該方法進一步包括創建由所述第一線程和第二線程共享的數據緩沖區;步驟B中,所述第一線程發送網元信息給第二線程以及第二線程接收網元信息的方法為所述第一線程發送網元信息至所述數據緩沖區并緩存,所述第二線程從該數據緩沖區提取網元信息。
其中,所述第一線程發送網元信息至數據緩沖區時,進一步包括所述第一線程為自身發送的每一個網元信息分配鍵KEY,所述KEY用于指示每一網元信息在數據緩沖區中的存儲地址;所述第一線程發送所分配的各個KEY至所述數據緩沖區和第二線程,所述數據緩沖區保存各網元信息與各自KEY的對應關系;所述第二線程提取網元信息為根據接收到的KEY所指示的存儲地址從數據緩沖區中提取網元信息。由上述方案可以看出,本發明的關鍵在于將網元信息同步過程劃分為兩部分并行進行處理,由第一線程通過EMS查詢網元信息,由第二線程根據來自第一線程的網元信息對NMS中的網元信息進行更新。
因此,本發明所提供的NMS的信息同步方法,充分利用多線程技術的并行處理優勢,使網元信息同步過程中的兩個關鍵環節查詢網元信息和更新網元信息分別由第一線程和第二線程并行執行。還進一步利用數據緩沖區的緩存機制,保證第一線程和第二線程在傳遞網元信息時的完整性和準確性。采用本方法后,相對于現有技術能顯著提高NMS網元信息同步的性能,對于整個網元的管理具有重要意義。
圖1為本發明方法一較佳實施例處理流程示意圖;圖2為本發明方法中第一線程、第二線程、以及數據緩沖區之間的邏輯關系示意圖。
具體實施例方式
下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
本發明提供了一種NMS的信息同步方法,其主要設計思想為將通過EMS查詢網元信息和更新NMS網元信息的完整同步過程分為兩部分進行,生成第一線程和第二線程來分別完成這兩部分處理。其中,第一線程用來通過EMS查詢網元信息;第二線程用來從第一線程接收網元信息并對NMS的網元信息進行更新。
這里,可以由一個第一線程來專門通過EMS查詢網元信息,由一個第二線程來專門更新NMS的網元信息。但是,第一線程通過EMS查詢各個網元上的信息時面向的是各個網元,每個網元的查詢響應時延會有差異,必須等到所有網元均返回的查詢響應后才能查詢得到所有網元信息。因此,當通信網絡規模較大時,單獨由一個第一線程來查詢所有網元信息的效率較低。而第二線程更新NMS的網元信息時面向的是NMS的數據庫,處理效率較高,采用一個第二線程基本可以滿足處理需要。所以,通常可以生成一個第二線程和一個以上的第一線程,每個第一線程對應一個或一個以上的網元,這些第一線程可以并行的查詢網元信息;由此第二線程負責根據這些第一線程查詢到的網元信息更新NMS數據庫的網元信息,從而使整個NMS網元信息的同步效率進一步提高。
由于采用一個以上的第一線程來并行查詢網元信息,第二線程要接收來自各個第一線程的網元信息,還要更新NMS數據庫的網元信息,因此第二線程不一定能實時處理來自第一線程的每一網元信息,這樣就容易發生數據丟失等問題。為解決這一問題,還可進一步創建由第一線程和第二線程共享的數據緩沖區,各第一線程將查詢到的網元信息首先發送至該數據緩沖區進行緩存,再由第二線程從數據緩沖區提取網元信息。此外,為使第二線程準確提取到數據,每個第一線程在向數據緩沖區存入網元信息時還要為每一網元信息分配自身獨一無二的鍵(KEY),該KEY用于指示網元信息在數據緩沖區內的存儲地址;各個第一線程還將自身分配的KEY發送給第二線程,第二線程可以根據接收到的KEY確定各網元信息的存儲地址,從而按存儲地址從數據緩沖區準確提取網元信息。
圖1為本發明方法一較佳實施例處理流程示意圖。如圖1所示,具體處理包括步驟101當NMS開始同步網元信息時,首先根據創建一個以上的第一線程、一個第二線程和一個數據緩沖區,各第一線程和第二線程共享此數據緩沖區。其中,每個第一線程對應一個或一個以上的網元。
步驟102步驟101所創建的各個第一線程分別進行如下處理通過EMS查詢自身對應的各個網元上的網元信息,在得到各個網元返回的查詢響應后,從該查詢響應中提取各個網元信息,為當前每一網元信息分配一個KEY,將各個網元信息連同所分配的各個KEY一同發送至所述數據緩沖區,同時發送當前分配的KEY給第二線程。所述數據緩沖區保存網元信息,并維護KEY與網元信息之間的對應關系,通過KEY可以直接映射得到對應網元信息的存儲地址。
這里,由于網元信息對應的KEY必須成為網元信息獨一無二的標識,因此,KEY的分配原則必須能保證網元信息具有唯一、獨特的KEY,比如KEY的分配原則可以為第一線程每查詢到一個網元信息時即生成一個序列號,該序列號能夠表示當前查詢到的網元信息為該第一線程查詢到的第幾個網元信息,然后由當前生成的序列號以及該第一線程的線程標識來構成當前查詢到的網元信息對應的KEY。當然,采用其它KEY的分配原則也能使每一網元信息具有自身獨一無二的KEY,但是關于KEY的具體分配原則,非本發明重點,本發明對此并不限定,本文也不再詳述。
步驟103第二線程在接收到來自各個第一線程的KEY時,根據各個KEY得到各網元信息的存儲地址,再按這些網元信息的存儲地址從數據緩沖區中提取各個網元信息,在第二線程從數據緩沖區提取網元信息后,已被提取的網元信息將從數據緩沖區內釋放。然后,第二線程根據提取到的各個網元信息對NMS數據庫的網元信息進行更新,包括比較自身提取到的各個網元信息和NMS數據庫中保存的對應網元信息,判斷兩種網元信息是否一致,如果出現不一致,則將NMS數據庫中保存的網元信息更新為所提取的網元信息,使NMS數據庫保存的網元信息與各網元的實際情況相符;否則不作處理。這里,第二線程根據提取到的各個網元信息對NMS數據庫的網元信息進行更新的處理屬公知技術,因此本文不再進一步描述。
以上所述步驟102為各個第一線程的處理,所述步驟103為第二線程的處理,兩個步驟的處理相對獨立,因此可并行進行,對于步驟102和步驟103的執行順序本發明不作限定。
另外,由于第二線程和各個第一線程都要訪問數據緩沖區,為避免發生死鎖,還可采用信號量等機制實現線程之間的互斥。關于如何實現互斥非本發明解決的問題,且屬公知技術,因此本文不再詳述。
為進一步了解本發明的處理原理,下面結合圖2對第一線程、第二線程、數據緩沖區之間的邏輯關系加以說明。圖2為本發明方法中第一線程、第二線程、以及共享數據緩沖區之間的邏輯關系示意圖。圖2中,第一線程有兩個第一線程1和第一線程2;第二線程有一個。數據緩沖區中,邏輯上的數據存儲結構如圖2所示,每一網元信息與自身的KEY相對應。下面結合圖2的邏輯關系,對本發明方法一簡單實例加以說明,以便直觀了解本發明的處理原理。本實例涉及的網元信息包括NE1、NE2、NE3、NE4和NE5,相應地,各網元信息的KEY分別為KEY1、KEY2、KEY3、KEY4和KEY5。
第一線程1查詢得到NE1和NE2,分別為NE1和NE2分配KEY1和KEY2,并將NE1和NE2、及其對應的KEY1和KEY2保存到數據緩沖區中,發送KEY1和KEY2至第二線程,第二線程根據KEY1和KEY2從數據緩沖區中提取得到NE1和NE2,再更新NMS數據庫中與NE1和NE2相對應的網元信息。
與第一線程1的處理類似,第一線程2查詢得到NE3、NE4和NE5,分別為NE3、NE4和NE5分配KEY3、KEY4和KEY5,并將NE3、NE4和NE5及其對應的KEY3、KEY4和KEY5保存到數據緩沖區中,發送KEY3、KEY4和KEY5至第二線程,第二線程根據KEY3、KEY4和KEY5從數據緩沖區中提取得到NE3、NE4和NE5,再更新NMS數據庫中與NE3、NE4和NE5相對應的網元信息。
根據圖1和圖2所述可見,本發明方法將原本復雜的完整網元信息同步過程劃分為兩部分,分別由兩種線程來執行這兩部分的處理。第一線程只需不斷的通過EMS查詢網元信息即可,并且第一線程與第二線程的處理并行,第一線程不必等到第二線程完成上一網元信息在NMS數據庫中的更新就可以查詢下一網元信息,此外還可創建一個以上的第一線程來同時查詢網元信息,這樣,使得查詢網元信息的處理效率大大提高。另外,數據緩沖區對網元信息以及KEY的緩存,能夠保證網元信息在整個同步過程中的完整性和準確性。
以上實施例中,包括一個或一個以上的第一線程、和一個第二線程。對于一般的NMS來說,這些線程就可以滿足處理需要。當NMS的規模相當大、管理的網元數量過多時,也可能存在一個以上的第二線程、且每個第二線程對應一個或一個以上的第一線程。但是,每個第二線程及其對應的第一線程均將按圖1所述進行網元信息同步,并且每個第二線程之間無相關性,對應不同第二線程的第一線程之間也無相關性,因此,本文對于存在一個以上第二線程的情況不再描述,但均在本發明的保護范圍內。
綜上所述,應用本發明方法能夠充分利用多線程技術并行處理的優勢,以較高效率進行網元信息同步,并能保證網元信息同步的完整性和準確性。
以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。
權利要求
1.一種網絡管理系統的信息同步方法,其特征在于,該方法包括A.創建用于查詢網元信息的第一線程和用于更新網元信息的第二線程;B.第一線程通過網元管理系統查詢網元信息,并將查詢到的網元信息發送給第二線程;所述第二線程接收來自第一線程的網元信息,根據接收到的網元信息對網絡管理系統中的網元信息進行更新。
2.根據權利要求1所述的方法,其特征在于,所述第一線程和第二線程各有一個。
3.根據權利要求1所述的方法,其特征在于,所述第二線程有一個;所述第一線程有一個以上,每個第一線程對應一個或一個以上的網元;步驟B中,各第一線程查詢各自對應的網元的網元信息。
4.根據權利要求1所述的方法,其特征在于,所述第二線程有一個以上,每個第二線程對應一個或一個以上第一線程,每個第一線程對應一個或一個以上的網元;步驟B中,各第一線程查詢各自對應的網元的網元信息,并將查詢到的網元信息發送至自身對應的第二線程。
5.根據權利要求1至4任一項所述的方法,其特征在于,該方法進一步包括創建由所述第一線程和第二線程共享的數據緩沖區;步驟B中,所述第一線程發送網元信息給第二線程以及第二線程接收網元信息的方法為所述第一線程發送網元信息至所述數據緩沖區并緩存,所述第二線程從該數據緩沖區提取網元信息。
6.根據權利要求5所述的方法,其特征在于,所述第一線程發送網元信息至數據緩沖區時,進一步包括所述第一線程為自身發送的每一個網元信息分配鍵KEY,所述KEY用于指示每一網元信息在數據緩沖區中的存儲地址;所述第一線程發送所分配的各個KEY至所述數據緩沖區和第二線程,所述數據緩沖區保存各網元信息與各自KEY的對應關系;所述第二線程提取網元信息為根據接收到的KEY所指示的存儲地址從數據緩沖區中提取網元信息。
全文摘要
本發明公開了一種網絡管理系統的信息同步方法,該方法包括A.創建用于查詢網元信息的第一線程和用于更新網元信息的第二線程;B.第一線程通過網元管理系統查詢網元信息,并將查詢到的網元信息發送給第二線程;所述第二線程接收來自第一線程的網元信息并對網絡管理系統中的網元信息進行更新。采用本發明方法能夠提高網元信息同步的效率。
文檔編號H04L12/24GK1885791SQ20051007961
公開日2006年12月27日 申請日期2005年6月23日 優先權日2005年6月23日
發明者施瑞綱 申請人:華為技術有限公司