一種定制事件通知的方法、服務器和系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及網(wǎng)絡告警技術,特別是指一種定制事件通知的方法、服務器和系統(tǒng)。
【背景技術】
[0002] 網(wǎng)絡配置協(xié)議(NETCONF,The Network Configuration Protocol)是一種實現(xiàn)分層 管理的配置協(xié)議,提供對網(wǎng)元設備的配置、查詢和事件通知等機制。它使用可擴展標識語言 (XML)表達所有的配置查詢數(shù)據(jù)和協(xié)議消息。
[0003] 如圖1所示描述了 NETC0NF分層結構,告警通知位置在操作層。為及時獲取系統(tǒng) 中發(fā)生的關鍵事件-配置改變、故障、狀態(tài)改變、門限越界以及異常侵入等,系統(tǒng)需要提供 事件通知。RFC5277定義了 NETC0NF事件通知機制,客戶端和服務器都需具備urn: ietf:p arams:netconf:capability:notification: I. 0能力,并在能力交換中體現(xiàn)此能力。服務器 端能力交換時的Hello報文是
[0005] 客戶端需要向服務器訂閱事件通知,如果訂閱成功,則服務器將在訂閱列表中 記錄下該會話的訂閱信息,該會話將不再處理RPC請求。當有事件產生時,服務器會根 據(jù)已記錄的訂閱消息,向客戶端發(fā)送事件通知。當會話終止、事件不在訂閱范圍,事件訂 閱變更等情況下,服務器將不再向客戶端發(fā)送事件通知。一個最簡單的訂閱事件通知 〈create_subscription> 中
[0006]
[0007] 可以通過組合使用可選參數(shù)〈stream〉,〈filter〉,〈startTime〉,〈stopTime〉,提供 有限、單一的告警過濾,滿足簡單場景的需求。
[0008] 對于復雜場景,當客戶端希望更靈活的定制事件通知,比如希望只關注工作日范 圍內-每周一至周五的事件,或者希望關注每天特定時間段范圍內的事件,再或者希望只 關注一段日期內范圍內的事件。
[0009] 現(xiàn)有技術存在如下問題:現(xiàn)有技術并不能滿足客戶端對于復雜場景更靈活的定制 事件通知的需求;并且對于大型復雜的網(wǎng)絡環(huán)境,當遇到用戶希望自定義或者選擇性獲得 事件通知,現(xiàn)有簡單、單一的過濾規(guī)則不能滿足這一要求;此外,NETC0NF是面向連接的,終 端數(shù)目有限,訂閱事件通知成功后,訂閱規(guī)則不允許修改,會話將被占用僅處理事件通知, 不再處理RPC請求,對終端資源也是一種浪費。
【發(fā)明內容】
[0010] 本發(fā)明要解決的技術問題是提供一種定制事件通知的方法、服務器和系統(tǒng),解決 現(xiàn)有訂閱技術無法應用于大型復雜的網(wǎng)絡環(huán)境和復雜場景的缺陷,以及解決依據(jù)NETC0NF 管理服務器與客戶端之間的會話會對客戶端造成資源浪費的缺陷。
[0011] 為解決上述技術問題,本發(fā)明的實施例提供一種定制事件通知的方法,應用于服 務器,方法包括:與客戶端建立會話,通過所述會話接收來自客戶端的訂閱事件通知的自定 義過濾規(guī)則,所述自定義過濾規(guī)則中規(guī)定了客戶端需要的事件通知應當滿足的條件;根據(jù) 所述自定義過濾規(guī)則對服務器中存放的歷史事件通知以及服務器當前生成的事件通知進 行篩選,得到滿足條件的事件通知;將滿足條件的事件通知發(fā)送給所述客戶端。
[0012] 所述的方法中,自定義過濾規(guī)則包括指定的事件通知名稱、時間段、日期段、事件 級別以及自定義備注。
[0013] 所述的方法中,根據(jù)所述自定義過濾規(guī)則對服務器中存放的歷史事件通知以及服 務器當前生成的事件通知進行篩選,得到滿足條件的事件通知包括:將接到所述自定義過 濾規(guī)則的時間點作為訂閱時間;根據(jù)所述自定義過濾規(guī)則中的指定起始時間和所述訂閱時 間,確定一時間范圍,將該時間范圍內的事件通知作為所述滿足條件的事件通知。
[0014] 所述的方法中,根據(jù)所述自定義過濾規(guī)則中的指定起始時間和所述訂閱時間,確 定一時間范圍包括:規(guī)則一,當沒有所述指定起始時間時,所述時間范圍的默認起始時間是 所述訂閱時間;規(guī)則二,當所述指定起始時間不晚于訂閱時間時,按照服務器緩存的歷史事 件通知的時間和所述指定起始時間的交集,確定所述時間范圍;規(guī)則三,當所述指定起始時 間晚于訂閱時間時,所述時間范圍從所述指定起始時間起算;規(guī)則四,當所述自定義過濾規(guī) 則中沒有指定結束時間時,所述會話將處理事件通知直至會話終止。
[0015] 所述的方法中,還包括:當所述指定起始時間晚于訂閱時間時,從所述訂閱時間到 指定起始時間的范圍內,與客戶端建立的會話正常處理一般協(xié)議請求;當所述自定義過濾 規(guī)則中有指定結束時間時,在所述指定結束時間之后,所述會話開始正常處理一般協(xié)議請 求。
[0016] 所述的方法中,還包括:將事件通知發(fā)送給客戶端之前,向所述客戶端發(fā)送事件通 知開始消息;將事件通知發(fā)送給客戶端完畢之后,向所述客戶端發(fā)送事件通知結束消息。
[0017] -種定制事件通知的服務器,包括:會話管理單元,用于與客戶端建立會話,通過 所述會話接收來自客戶端的訂閱事件通知的自定義過濾規(guī)則,所述自定義過濾規(guī)則中規(guī)定 了客戶端需要的事件通知應當滿足的條件;通知管理單元,用于根據(jù)所述自定義過濾規(guī)則 對服務器中存放的歷史事件通知以及服務器當前生成的事件通知進行篩選,得到滿足條件 的事件通知;,用于將滿足條件的事件通知發(fā)送給所述客戶端。
[0018] 所述的服務器中,還包括:事件中心單元,用于當有事件發(fā)生時生成事件通知,將 所述事件通知發(fā)送至所述通知管理單元。
[0019] 所述的服務器中,通知管理單元包括:時間范圍篩選模塊,用于將接到所述自定義 過濾規(guī)則的時間點作為訂閱時間;根據(jù)所述自定義過濾規(guī)則中的指定起始時間和所述訂閱 時間,確定一時間范圍,將該時間范圍內的事件通知作為所述滿足條件的事件通知。
[0020] 所述的服務器中,時間范圍篩選模塊包括:規(guī)則執(zhí)行模塊,用于執(zhí)行規(guī)則一,當沒 有所述指定起始時間時,所述時間范圍的默認起始時間是所述訂閱時間;規(guī)則二,當所述指 定起始時間不晚于訂閱時間時,按照服務器緩存的歷史事件通知的時間和指定起始時間的 交集,確定所述時間范圍;規(guī)則三,當所述指定起始時間晚于訂閱時間時,所述時間范圍從 所述指定起始時間起算;規(guī)則四,當所述自定義過濾規(guī)則中沒有指定結束時間時,所述會話 將處理事件通知直至會話終止。
[0021] 所述的服務器中,還包括:協(xié)議處理單元,用于當所述指定起始時間晚于訂閱時間 時,從訂閱時間到指定起始時間的范圍內,與客戶端建立的會話正常處理一般協(xié)議請求;當 所述自定義過濾規(guī)則中有指定結束時間時,在所述指定結束時間之后,所述會話開始正常 處理一般協(xié)議請求。
[0022] -種定制事件通知的系統(tǒng),包括服務器和客戶端;客戶端,用于與服務器建立會 話,通過所述會話向服務器發(fā)送訂閱事件通知的自定義過濾規(guī)則,所述自定義過濾規(guī)則中 規(guī)定了客戶端需要的事件通知應當滿足的條件;所述服務器包括:會話管理單元,用于與 客戶端建立會話,通過所述會話接收來自客戶端的訂閱事件通知的自定義過濾規(guī)則;通知 管理單元,用于根據(jù)所述自定義過濾規(guī)則對服務器中存放的歷史事件通知以及服務器當前 生成的事件通知進行篩選,得到滿足條件的事件通知;所述會話管理單元,還用于將滿足條 件的事件通知發(fā)送給所述客戶端。
[0023] 本發(fā)明的上述技術方案的有益效果如下:由客戶端確定自定義過濾規(guī)則和指定起 始時間,服務器向客戶端發(fā)送的事件通知必須符合自定義過濾規(guī)則和指定起始時間,為客 戶端