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