伺服器告警輸出方法及系統的製作方法
2023-10-18 10:56:54 3
伺服器告警輸出方法及系統的製作方法
【專利摘要】本發明公開了一種伺服器告警輸出方法及系統,所述方法包括:創建鍵值對資料庫,其採用鍵值對的形式記錄了伺服器已發送至對應告警處理模塊的歷史告警信息;在伺服器與告警處理模塊建立連接後,獲取告警處理模塊上報的登陸參數信息,並依據該登陸參數信息選擇對應的告警信息輸出策略,並依據對應的告警信息輸出策略對鍵值對資料庫中的歷史告警信息以及網管系統資料庫中的全局告警信息進行告警匹配處理。採用本發明,伺服器不會對已發送至告警處理模塊的告警信息進行重複發送,並且可以保障在告警處理模塊與伺服器連接中斷重連時獲取告警信息的完整性。
【專利說明】伺服器告警輸出方法及系統
【技術領域】
[0001]本發明涉及電信網管【技術領域】,具體而言,涉及一種伺服器告警輸出方法及系統。【背景技術】
[0002]在電信網管軟體領域,通信系統(包括傳輸系統、話務系統、安全系統、派單系統、動環系統等)的運行是否正常是通過告警來區別的。當系統運行異常時,觸發告警信息,管理人員發現告警信息後進行處理,並確認告警信息;當系統恢復正常後,告警信息消除。
[0003]在實際應用過程中,經常需要將系統產生的告警信息輸出到某些第三方,如將動環網管系統產生的告警信息通過簡訊息、郵件等方式通知管理和維護人員;或者將傳輸網管系統與第三方廠家進行對接,如將傳輸網管系統產生的告警信息以SNMP (SimpleNetwork Management Protocol,簡單網絡管理協議)協議輸出到第三方廠家的話務網管系統等。
[0004]通常,在網管系統伺服器輸出告警信息的過程中,其遵循的基本原則主要包括:
[0005]1、在告警信息產生、消除、確認時,能夠正常發送到告警處理模塊,並且相同的告警信息不重複發送;
[0006]2、在伺服器或者接收告警信息的告警處理模塊發生異常重啟後,伺服器能夠將異常期間的告警信息進行補發,保證傳輸的告警信息的完整性。
[0007]現有的告警輸出方式大致分為以下兩種:
[0008]1、不做任何的輸出匹配算法,只要有告警處理模塊登錄,伺服器都將所有的告警信息發送到告警處理模塊,不管這些告警信息是否已經發送過。在伺服器重啟或者告警處理模塊重新登錄後,期間產生的告警信息無法補發;
[0009]2、網管系統伺服器只負責發送告警,所有的匹配算法都在接收告警信息的告警處理模塊端進行,此時,所有的告警處理模塊都要進行告警匹配的設計。
[0010]由此,上述現有的兩種處理方式存在一定的問題,分別為:
[0011]1、已經發送到告警處理模塊的告警沒有做記錄,重啟告警處理模塊或者伺服器後,告警信息會重複發送,每個告警處理模塊必須專門針對這部分重複發送的告警信息進行匹配處理。為此,系統設計人員不僅要設計告警處理模塊的業務上的實現方法,還要專門設計該告警處理模塊的匹配算法。尤其是在將網管系統產生的告警信息輸出到第三方廠家時,還必須雙方配合協商匹配算法,顯然其效率低下,不利於雙方系統對接。
[0012]2、在伺服器或者告警處理模塊停止或退出過程中,如果有告警消除產生,且該告警消除對應的告警信息已經發送給相應的告警處理模塊,在伺服器或者告警處理模塊重新啟動後,現有的系統都只是獲取當前系統所有的沒有消除的告警信息,而那些已經消除的告警信息將無法獲取,那麼就會出現丟失告警消除的情況,告警輸出模塊某條告警可能後面一直都無法消除,這樣就會導致伺服器輸出告警信息出現不完整以及不準確的情況。
【發明內容】
[0013]為了解決現有技術存在的對已發送告警信息進行重複發送以及告警信息發送不完整的問題,本發明的目的在於提供一種伺服器告警輸出方法及系統。
[0014]為了達到本發明的目的,本發明採用以下技術方案實現:
[0015]一種伺服器告警輸出方法,包括:
[0016]創建鍵值對資料庫,其採用鍵值對的形式記錄了伺服器已發送至對應告警處理模塊的歷史告警信息;
[0017]在伺服器與告警處理模塊建立連接後,獲取告警處理模塊上報的登陸參數信息,並依據該登陸參數信息選擇對應的告警信息輸出策略,並依據對應的告警信息輸出策略對鍵值對資料庫中的歷史告警信息以及網管系統資料庫中的全局告警信息進行告警匹配處理。
[0018]優選地,所述告警匹配處理包括:
[0019]伺服器或告警處理模塊異常期間伺服器未發送的告警信息補發處理;
[0020]和/或,已發送至告警處理模塊的告警信息不再重複發送處理;
[0021]和/或,網管系統產生的重複告警信息只發送一次處理。
[0022]優選地,所述登陸參數包括第一參數match以及第二參數needcachesendalarm,伺服器依據告警處理模塊上報的這些登陸參數信息選擇對應的告警信息輸出策略的規則為:
[0023]當match為0,即表示該告警處理模塊不需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,將鍵值對資料庫中緩存的與該告警處理模塊對應的歷史告警信息記錄清空;
[0024]當match為1,即表示該告警處理模塊需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,通過對鍵值對資料庫進行反序列化處理得到與該告警處理模塊對應的已發送的歷史告警信息,其中,所述歷史告警信息包括告警記錄A以及告警確認記錄B,如果網管系統資料庫當前要發送給該告警處理模塊的當前告警信息已經在告警記錄A中出現,則表示該告警信息已經發送過,伺服器不需要將其再次發送,否則,伺服器需要將該當前告警信息發送至該告警處理模塊;如果網管系統資料庫當前要發送的當前告警確認在告警確認記錄B中出現,表示該當前告警確認已經發送過,伺服器不需要再次發送,否則,伺服器需要將該當前告警確認發送至該告警處理模塊;
[0025]當needcachesendalarm為O,即表示該告警處理模塊不需要伺服器緩存其已發送的告警信息和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息以及告警確認信息不執行緩存到鍵值對資料庫中;
[0026]當needcachesendalarm為I,即表示該告警處理模塊需要伺服器緩存其已發送的告警和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息和告警確認信息將執行緩存到鍵值對資料庫中。
[0027]優選地,在創建所述鍵值對資料庫之後,在伺服器啟動時,建立與鍵值對資料庫的連接,伺服器利用反序列化工具反序列化該鍵值對資料庫中已經發送的歷史告警信息。
[0028]優選地,所述鍵值對資料庫為基於No-Sql技術的Redis鍵值對資料庫,所述反序列化工具為Protocol Buffer。
[0029]一種伺服器告警輸出系統,包括:[0030]鍵值對資料庫,其連接至伺服器,用於採用鍵值對的形式記錄伺服器已發送至對應告警處理模塊的歷史告警信息;
[0031]伺服器,用於在與告警處理模塊建立連接後,獲取告警處理模塊上報的登陸參數信息,並依據該登陸參數信息選擇對應的告警信息輸出策略,並依據對應的告警信息輸出策略對鍵值對資料庫中的歷史告警信息以及網管系統資料庫中的全局告警信息進行告警匹配處理。
[0032]至少一個告警處理模塊,用於在登陸伺服器時,上報登陸參數。
[0033]優選地,伺服器執行的所述告警匹配處理包括:
[0034]伺服器或告警處理模塊異常期間伺服器未發送的告警信息補發處理;
[0035]和/或,已發送至告警處理模塊的告警信息不再重複發送處理;
[0036]和/或,網管系統產生的重複告警信息只發送一次處理。
[0037]優選地,所述登陸參數包括第一參數match以及第二參數needcachesendalarm,伺服器依據告警處理模塊上報的這些登陸參數信息選擇對應的告警信息輸出策略的規則為:
[0038]當match為0,即表示該告警處理模塊不需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,將鍵值對資料庫中緩存的與該告警處理模塊對應的歷史告警信息記錄清空;
[0039]當match為1,即表示該告警處理模塊需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,通過對鍵值對資料庫進行反序列化處理得到與該告警處理模塊對應的已發送的歷史告警信息,其中,所述歷史告警信息包括告警記錄A以及告警確認記錄B,如果網管系統資料庫當前要發送給該告警處理模塊的當前告警信息已經在告警記錄A中出現,則表示該告警信息已經發送過,伺服器不需要將其再次發送,否則,伺服器需要將該當前告警信息發送至該告警處理模塊;如果網管系統資料庫當前要發送的當前告警確認在告警確認記錄B中出現,表示該當前告警確認已經發送過,伺服器不需要再次發送,否則,伺服器需要將該當前告警確認發送至該告警處理模塊;
[0040]當needcachesendalarm為0,即表示該告警處理模塊不需要伺服器緩存其已發送的告警信息和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息以及告警確認信息不執行緩存到鍵值對資料庫中;
[0041]當needcachesendalarm為I,即表示該告警處理模塊需要伺服器緩存其已發送的告警和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息和告警確認信息將執行緩存到鍵值對資料庫中。
[0042]優選地,在伺服器啟動時,其首先建立與鍵值對資料庫的連接,並利用反序列化工具反序列化該鍵值對資料庫中已經發送的歷史告警信息。
[0043]優選地,所述鍵值對資料庫為基於No-Sql技術的Redis鍵值對資料庫,所述反序列化工具為Protocol Buffer。
[0044]本發明通過利用本地創建的鍵值對資料庫,保存已經發送到各個告警處理模塊的歷史告警記錄,並使得告警處理模塊根據不同的事件(例如告警處理模塊正常登陸伺服器、告警處理模塊登錄完成後接收告警、伺服器或告警處理模塊異常恢復後重新登陸等)向伺服器上報不同的登陸參數,從而伺服器端能夠依據這些登陸參數來自動完成告警信息的輸出匹配,進而對於各個告警處理模塊不用再去設計複雜的匹配算法,降低了系統設計的難度,並且能夠解決現有技術中存在的對已發送告警信息進行重複發送以及告警信息發送不完整的技術問題,伺服器不會對已發送至告警處理模塊的告警信息進行重複發送,並且可以保障在告警處理模塊與伺服器連接中斷重連時獲取告警信息的完整性。
【專利附圖】
【附圖說明】
[0045]圖1為本發明實施例加載已經發送過的歷史告警信息的處理流程示意圖;
[0046]圖2為本發明實施例模塊消除告警補發流程;
[0047]圖3為本發明實施例告警發送流程示意圖;
[0048]圖4為本發明實施例將數據從鍵值對資料庫同步到本地磁碟文件的流程示意圖;
[0049]圖5為本發明實施例伺服器告警輸出系統結構示意圖。
[0050]本發明目的的實現、功能特點及優異效果,下面將結合具體實施例以及附圖做進一步的說明。
【具體實施方式】
[0051]下面結合附圖和具體實施例對本發明所述技術方案作進一步的詳細描述,以使本領域的技術人員可以更好的理解本發明並能予以實施,但所舉實施例不作為對本發明的限定。
[0052]本發明實施例提供的一種伺服器告警輸出方法,包括如下步驟:
[0053]S10、創建鍵值對資料庫,其採用鍵值對的形式記錄了伺服器已發送至對應告警處理模塊的歷史告警信息;
[0054]S20、在伺服器與告警處理模塊建立連接後,獲取告警處理模塊上報的登陸參數信息,並依據該登陸參數信息選擇對應的告警信息輸出策略,並依據對應的告警信息輸出策略對鍵值對資料庫中的歷史告警信息以及網管系統資料庫中的全局告警信息進行告警匹配處理。
[0055]在所述步驟SlO中,所述鍵值對資料庫用於緩存伺服器發送至各個告警處理模塊的歷史告警信息,其數據採用鍵值對(Key-Value)的形式予以緩存。例如,在本實施例中,在所述鍵值對資料庫中保存的鍵值對信息的數據結構為:
[0056]
【權利要求】
1.一種伺服器告警輸出方法,其特徵在於,包括: 創建鍵值對資料庫,其採用鍵值對的形式記錄了伺服器已發送至對應告警處理模塊的歷史告警信息; 在伺服器與告警處理模塊建立連接後,獲取告警處理模塊上報的登陸參數信息,並依據該登陸參數信息選擇對應的告警信息輸出策略,並依據對應的告警信息輸出策略對鍵值對資料庫中的歷史告警信息以及網管系統資料庫中的全局告警信息進行告警匹配處理。
2.如權利要求1所述的伺服器告警輸出方法,其特徵在於,所述告警匹配處理包括: 伺服器或告警處理模塊異常期間伺服器未發送的告警信息補發處理; 和/或,已發送至告警處理模塊的告警信息不再重複發送處理; 和/或,網管系統產生的重複告警信息只發送一次處理。
3.如權利要求2所述的伺服器告警輸出方法,其特徵在於,所述登陸參數包括第一參數match以及第二參數needcachesendalarm,伺服器依據告警處理模塊上報的這些登陸參數信息選擇對應的告警信息輸出策略的規則為: 當match為O,即表示該告警處理模塊不需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,將鍵值對資料庫中緩存的與該告警處理模塊對應的歷史告警信息記錄清空; 當match為1,即表示該告警處理模塊需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,通過對鍵值對資料庫進行反序列化處理得到與該告警處理模塊對應的已發送的歷史告警信息,其中,所述歷史告警信息包括告警記錄A以及告警確認記錄B,如果網管系統資料庫當前要發送給該告警處理模塊的當前告警信息已經在告警記錄A中出現,則表示該告警信息已經發送過,伺服器不需要將其再次發送,否則,伺服器需要將該當前告警信息發送至該告警處理模塊;如果網管系統資料庫當前要發送的當前告警確認在告警確認記錄B中出現,表示該當前告警確認已經發送過,伺服器不需要再次發送,否則,伺服器需要將該當前告警確認發送至該告警處理模塊; 當needcachesendalarm為O,即表示該告警處理模塊不需要伺服器緩存其已發送的告警信息和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息以及告警確認信息不執行緩存到鍵值對資料庫中; 當needcachesendalarm為I,即表示該告警處理模塊需要伺服器緩存其已發送的告警和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息和告警確認信息將執行緩存到鍵值對資料庫中。
4.如權利要求1所述的伺服器告警輸出方法,其特徵在於,在創建所述鍵值對資料庫之後,在伺服器啟動時,建立與鍵值對資料庫的連接,伺服器利用反序列化工具反序列化該鍵值對資料庫中已經發送的歷史告警信息。
5.如權利要求4所述的伺服器告警輸出方法,其特徵在於,所述鍵值對資料庫為基於No-Sql技術的Redis鍵值對資料庫,所述反序列化工具為Protocol Buffer。
6.一種伺服器告警輸出系統,其特徵在於,包括: 鍵值對資料庫,其連接至伺服器,用於採用鍵值對的形式記錄伺服器已發送至對應告警處理模塊的歷史告警信息; 伺服器,用於在與告警處理模塊建立連接後,獲取告警處理模塊上報的登陸參數信息,並依據該登陸參數信息選擇對應的告警信息輸出策略,並依據對應的告警信息輸出策略對鍵值對資料庫中的歷史告警信息以及網管系統資料庫中的全局告警信息進行告警匹配處理。 至少一個告警處理模塊,用於在登陸伺服器時,上報登陸參數。
7.如權利要求6所述的伺服器告警輸出系統,其特徵在於,伺服器執行的所述告警匹配處理包括: 伺服器或告警處理模塊異常期間伺服器未發送的告警信息補發處理; 和/或,已發送至告警處理模塊的告警信息不再重複發送處理; 和/或,網管系統產生的重複告警信息只發送一次處理。
8.如權利要求7所述的伺服器告警輸出系統,其特徵在於,所述登陸參數包括第一參數match以及第二參數needcachesendalarm,伺服器依據告警處理模塊上報的這些登陸參數信息選擇對應的告警信息輸出策略的規則為:當match為O,即表示該告警處理模塊不需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,將鍵值對資料庫中緩存的與該告警處理模塊對應的歷史告警信息記錄清空; 當match為1,即表示該告警處理模塊需要伺服器進行告警匹配處理,伺服器收到該登陸參數後,通過對鍵值對資料庫進行反序列化處理得到與該告警處理模塊對應的已發送的歷史告警信息,其中,所述歷史告警信息包括告警記錄A以及告警確認記錄B,如果網管系統資料庫當前要發送給該告警處理模塊的當前告警信息已經在告警記錄A中出現,則表示該告警信息已經發送過,伺服器不需要將其再次發送,否則,伺服器需要將該當前告警信息發送至該告警處理模塊;如果網管系統資料庫當前要發送的當前告警確認在告警確認記錄B中出現,表示該當前告警確認已經發送過,伺服器不需要再次發送,否則,伺服器需要將該當前告警確認發送至該告警處理模塊; 當needcachesendalarm為O,即表示該告警處理模塊不需要伺服器緩存其已發送的告警信息和告警確認信息至鍵值對資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息以及告警確認信息不執行緩存到鍵值對資料庫中; 當needcachesendalarm為1,即表示該告警處理模塊需要伺服器緩存其已發送的告警和告警確認信息至鍵值對 資料庫中,伺服器收到該登錄參數後,伺服器對所有已發送至該告警處理模塊的告警信息和告警確認信息將執行緩存到鍵值對資料庫中。
9.如權利要求6所述的伺服器告警輸出系統,其特徵在於,在伺服器啟動時,其首先建立與鍵值對資料庫的連接,並利用反序列化工具反序列化該鍵值對資料庫中已經發送的歷史告警信息。
10.如權利要求9所述的伺服器告警輸出系統,其特徵在於,所述鍵值對資料庫為基於No-Sql技術的Redis鍵值對資料庫,所述反序列化工具為Protocol Buffer。
【文檔編號】H04L12/24GK103840962SQ201210486810
【公開日】2014年6月4日 申請日期:2012年11月26日 優先權日:2012年11月26日
【發明者】肖東暉, 田波 申請人:深圳中興力維技術有限公司