一種網元快速同步系統及網元快速同步方法
【技術領域】
[0001]本發明涉及通信技術領域,尤其涉及一種網元快速同步系統及網元快速同步方法。
【背景技術】
[0002]網元由一個或多個機盤或機框組成,能夠獨立完成一定的傳輸功能。簡單來說,網就是網絡中的元素,其是網絡管理中可以監視和管理的最小單位,網絡中的任何設備都屬于網元的范疇,包括交換機、路由器、0LT(光線路終端,Optical Line Terminal)、AC(模擬控制器,Analogue Controller)、手機和PC(個人計算機,Personal Computer)等。隨著計算機網絡的發展,網絡變得越來越復雜,進而網絡設備的數量也越來越龐大,可能會有數千個,如何高效地同步網元成為一個問題。目
[0003]前比較常用的同步網元的方法是,采用SNMP (簡單網絡管理協議,Simple NetworkManagement Protocol)將網絡設備的每個 MIB(管理信息庫,Management Informat1nBase)節點數據都同步一遍。
[0004]這種將設備的每個MIB節點都同步一遍的網元同步方法,會帶來如下問題:1).每臺網絡設備需要同步的節點比較多,進而導致同步的速度比較慢;2).同步的數據量過大,導致網絡帶寬消耗過大;3).網絡管理服務器的工作負荷太重,不利于其性能的發揮。
【發明內容】
[0005]針對上述問題,本發明旨在提供一種網元快速同步系統及網元快速同步方法,其能較快的同步網元的狀態,減小網元的同步數據,進而提升網元的同步效率。
[0006]本發明提供的技術方案如下:
[0007]—種網元快速同步系統,所述網元快速同步系統中包括:
[0008]客戶端、與所述客戶端連接的網絡管理服務器以及至少一個與所述網絡管理服務器連接的網元,所述網絡管理服務器在所述客戶端的控制下實現每個所述網元的快速同步;
[0009]所述網絡管理服務器中包括:
[0010]網元在線判斷模塊,用于判斷與所述網絡管理服務器連接的所述網元是否在線;
[0011]存儲模塊,用于存儲與所述網絡管理服務器連接的所有網元的哈希值(Hash值)、存儲所述網元中所有網元單元的哈希值以及存儲所述網元單元中所有網元子單元的哈希值;
[0012]哈希值獲取模塊,與所述網元在線判斷模塊連接,所述哈希值獲取模塊用于獲取在線網元的哈希值、獲取在線網元單元的哈希值以及獲取在線網元子單元的哈希值;
[0013]比較模塊,分別與所述存儲模塊和哈希值獲取模塊連接,所述比較模塊用于將哈希值獲取模塊獲取的在線網元的哈希值與存儲模塊中本地存儲的與之對應的網元的哈希值比較、將哈希值獲取模塊獲取的在線網元單元的哈希值與存儲模塊中本地存儲的與之對應的網元單元的哈希值比較以及將哈希值獲取模塊獲取的在線網元子單元的哈希值與存儲模塊中本地存儲的與之對應的網元子單元的哈希值比較;
[0014]同步模塊,與所述比較模塊連接,所述同步模塊根據所述比較模塊的比較結果實現網元的快速同步。
[0015]在本技術方案中,比較模塊中首先比較哈希值獲取模塊獲取的在線網元的哈希值與存儲模塊中本地存儲的與之對應的網元的哈希值;隨后,再比較哈希值獲取模塊獲取的在線網元單元的哈希值與存儲模塊中本地存儲的與之對應的網元單元的哈希值;最后,比較哈希值獲取模塊獲取的在線網元子單元的哈希值與存儲模塊中本地存儲的與之對應的網元子單元的哈希值。這樣,逐級進行比較,直到找出哈希值發生變化的那個網元子單元,將該網元子單元進行同步實現整個網元的同步。采用本技術方案中的方法,網元的同步不再需要將每MIB節點都同步一遍,減小網元的同步數據,進而提升網元的同步效率。
[0016]優選地,所述網元快速同步系統中還包括分別與所述網元在線判斷模塊、存儲模塊以及哈希值獲取模塊連接的哈希值計算模塊,所述哈希值計算單元用于計算與所述網絡管理服務器連接的網元、網元單元以及網元子單元的哈希值;以及用于計算在線網元、在線網元單元以及在線網元子單元的哈希值。
[0017]在本技術方案中,在網元快速同步系統對網元進行同步之前,哈希值計算單元將與網絡管理服務器連接的所有的網元的哈希值,包括該網元中包括的網元單元的哈希值、網元單元中包括的網元子單元的哈希值,并存儲到存儲模塊中,這樣當需要對在線網元進行同步時,只需要計算當前在線網元、在線網元單元以及在線網元子單元的哈希值并分別與本地存儲的哈希值進行比較,如果比較的結果為哈希值有改變,則逐步排查,直到找到哈希值發生變化的網元子單元為止。
[0018]優選地,所述哈希值計算模塊通過將網元子單元中的每個節點的節點數據轉換為Byte字節類型,并將轉換得到的Byte值相加得到該網元子單元的哈希值;
[0019]所述哈希值計算模塊通過將網元單元中包括的所有網元子單元的哈希值相加得到該網元單元的哈希值;
[0020]所述哈希值計算模塊通過將網元中包括的所有網元單元的哈希值相加得到該網元的哈希值。
[0021]優選地,所述哈希值計算模塊計算網元單元的哈希值的過程中,將該網元單元中包括的所有網元子單元的哈希值相加得到哈希值總和,且使用信息摘要算法(MD5,Message-Digest Algorithm 5)對該哈希值總和進行加密生成信息摘要值作為該網元單元的哈希值。
[0022]在本技術方案中,將信息摘要值作為網元單元的哈希值保證計算出來的哈希值長度一 Sc ο
[0023]優選地,所述網元快速同步系統中包括分別與所述網元在線判斷模塊、存儲模塊以及比較模塊連接的哈希值查找模塊,所述哈希值查找模塊根據在線網元ID、在線網元單元ID或在線網元子單元ID在存儲模塊中查找與之對應的本地存儲哈希值,并發送至比較模塊。
[0024]在本技術方案中,這里的在線網元ID、在線網元單元ID以及在線網元子單元ID可以為網元的名字、網元單元的名字、網元子單元的名字等,用于唯一標識該網元、網元單元和網元子單元,方便在存儲模塊中找到對應的本地存儲的哈希值。
[0025]一種網元快速同步方法,具體包括以下步驟:
[0026]SI判斷網元是否在線;若在線,跳轉至步驟S2 ;若不在線,跳轉至步驟S9 ;
[0027]S2獲取在線網元的哈希值;
[0028]S3判斷在線網元獲取的哈希值與本地存儲的哈希值是否一致;若一致,跳轉至步驟S9 ;若不一致,跳轉至步驟S4 ;
[0029]S4分別獲取所述在線網元中包括的每個在線網元單元的哈希值;
[0030]S5判斷在線網元單元獲取的哈希值與本地存儲的哈希值是否一致;若一致,跳轉至步驟S4 ;若不一致,跳轉至步驟S6 ;
[0031]S6分別獲取哈希值不一致的在線網元單元中包括的每個在線網元子單元的哈希值;
[0032]S7判斷在線網元子單元獲取的哈希值與本地存儲的哈希值是否一致;若一致,跳轉至步驟S6 ;若不一致,跳轉至步驟S8 ;
[0033]S8同步所述網元子單元;
[0034]S9結束網元同步。
[0035]優選地,在步驟S5中,具體包括以下步驟:
[0036]S51獲取在線網元中包括的在線網元單元的個數M ;
[0037]S52初始化循環參數i,并將該循環參數i的初始循環值設定為I ;
[0038]S53獲取步驟S4中的第i個在線網元單元的哈希值及該第i個在線網元單元本地存儲的哈希值;
[0039]S54判斷第i個在線網元單元獲取的哈希值與本地存儲的哈希值是否一致;若一致,跳轉至步驟S55 ;若不一致,跳轉至步驟S6 ;
[0040]S55 i = i+1得到新的循環參數i,并判斷新的循環參數i是否小于在線網元單元的個數M,若小于,跳轉至步驟S53。
[0041]在本技術方案中,當網元中包括多個網元單元時,則按照順序逐一比較每個獲取的在線網元單元的哈希值和本地存儲的哈希值,直到找出那個哈希值發生變化的網元單元;再對網元單元中包括的網元子單元采用相同的方法進行逐一比較,直到找到哈希值發生變化的網元子單元。
[0042]優選地,在步驟S7中,具體包括以下步驟:
[0043]S71獲取在線網元單元中包括的在線網元子單元的個數N ;
[0044]S72初始