基于單鏈表的光網絡單元告警配置下發的系統和方法
【技術領域】
[0001]本發明涉及一種ONU (Optical Network Unit,光網絡單元)告警配置下發的系統和方法,具體是指一種適用于OLT系統中的基于單鏈表的ONU告警配置下發的系統和方法。
【背景技術】
[0002]在EPON (Ethernet Passive Optical Network,以太網無源光網絡)系統中,OLT(optical line terminal,光線路終端)設備應該具有各種告警及警示功能。其中,主要包含四類告警,分別是ONU設備告警,PON IF告警,Card告警和Port 口告警,這四類告警總共包含有三十多種告警設置。在這中間,有些類型的告警還需要具備閾值告警功能。因此,OLT設備需要能夠對每種告警的告警開關進行配置,包括告警開關的打開以及告警開關的關閉。OLT設備同時也需要具備能夠對告警閾值進行配置的功能,以及對閾值告警進行清除的功能。
[0003]在已實用化的OLT設備中,對ONU的告警配置下發的方法,具體如下所述。在系統初始化之處,會根據OLT能夠接入的最大ONU數量來創建ONU告警表,該告警表包含有以下這些告警鏈表,分別是ONU自身的告警,ONU的PON (Passive Optical Network,無源光網絡)口告警,ONU的子卡告警,ONU的以太網口告警、ONU的VOIP (Voice over InternetProtocol,網絡電話)口告警和ONU的El端口告警。ONU —旦被授權,系統就會給該ONU的告警表中的各條告警鏈表分配內存,鏈表節點的內容包含有ONU告警ID,ONU告警狀態,ONU閾值告警狀態,ONU閾值告警門限值以及告警設置標志位。ONU的告警表可以通過ONU所在的PON 口號,ONU的授權號,以及ONU的以太網端口號來索引到,系統所設置的告警內容可以通過用戶所配置的告警ID來查詢到。
[0004]當用戶需要對某個ONU的其中某個告警狀態進行設置的時候,如圖1所示,首先需要輸入告警配置命令,包括想要設置的ONU所在的PON 口號,ONU的授權號,所需要設置的告警ID,以及所要設置的告警開關狀態值。當系統接收到告警配置命令之后,解析出告警ONU所在的PON 口號,ONU授權號,告警ID以及告警狀態值。然后創建一個告警節點,將告警的這些基本信息填寫到告警節點當中;同時還要填寫告警類型以及將告警設置標志位設置為1,表示該告警配置已經有變化,需要配置下發。最后根據ONU的PON 口號,ONU授權號,ONU的告警類型等信息,索引到對應的告警鏈表,將告警節點添加到告警鏈表當中,等待告警配置的下發。
[0005]同樣的,對于閾值告警的設置流程也是如此,只是在對閾值告警狀態進行設置之后,還需要對閾值門限值進行設置,并經門限值下發到0NU。
[0006]系統需要一直運行告警配置下發的任務,如圖2所示,需要對所有PON 口下所有ONU的各種告警類型進行輪詢遍歷,并進行配置下發。具體為:首先遍歷第一個PON 口下的第一個0NU,分別依次對ONU自身的告警鏈表節點進行遍歷、對ONU的PON 口告警鏈表節點進行遍歷、對ONU的子卡告警鏈表節點進行遍歷、對ONU的以太網口告警鏈表節點進行遍歷、對ONU的VOIP 口告警鏈表節點進行遍歷、對ONU的El端口告警鏈表節點進行遍歷;完成后,依次對該第一個PON 口下的其他各個ONU的各條告警鏈表節點進行遍歷;隨后依次對各個PON 口下的各個ONU的各條告警鏈表節點進行遍歷,直至完成對所有PON 口下所有ONU的各種告警類型進行輪詢遍歷。
[0007]對于告警配置下發而言,ONU自身的告警,ONU的PON 口告警,ONU的子卡告警,ONU的以太網口告警,ONU的VOIP 口告警和ONU的El端口告警的配置下發過程基本是一致的,不同的只是輪詢的告警鏈表不同,以及由于告警類型的不同所需調用的驅動接口有所不同。
[0008]以下,就以ONU自身的告警配置下發為例,并結合圖3,來詳細說明告警配置下發的過程。當進行ONU自身的告警配置下發時,系統會根據輪詢到的PON 口號,ONU授權號,以及告警類型來索引到相應的告警鏈表,并對該告警鏈表的每個節點進行輪詢,當輪詢到鏈表某個鏈表節點告警設置標志位為1,表示該節點需要進行告警配置的下發,根據該節點記錄的ONU的告警ID,告警設置值,以及輪詢到的PON 口號,ONU授權號或者是ONU的以太網端口號(以太網端口類型的告警),以及根據所輪詢的告警類型,調用驅動層所提供的配置下發接口將告警配置下發到0NU。下發成功后將該節點的告警設置標志位設置為0,表示配置下發完成。
[0009]現有技術的OLT設備中對ONU的告警配置下發的方法,在系統初始化之初,OLT系統就需要根據OLT能夠接入的最大ONU數量來創建ONU告警表,該告警表包含有多條告警鏈表,并在ONU授權之后,無論ONU在不在線都會為每個ONU的告警鏈表開辟存儲空間,并且會一直對所有PON 口下的每個ONU的告警鏈表進行輪詢,來查找需要下發的告警配置,這樣的一種告警配置管理的方式不僅會浪費系統大量的存儲空間,還使得輪詢效率變得非常低,導致配置下發的速度非常慢。
【發明內容】
[0010]本發明的目的在于提供一種基于單鏈表的光網絡單元告警配置下發的系統和方法,僅采用一條單獨的告警鏈表實現告警配置的下發,有效改善浪費存儲空間的情況,大大提高任務運行的效率,使告警配置下發的速度加快。
[0011]為了達到上述目的,本發明提供一種基于單鏈表的光網絡單元告警配置下發的系統,包含:告警鏈表單元,用于創建并存儲告警鏈表;告警狀態設置單元,其與所述的告警鏈表單元相連接,用于創建包含告警信息的告警節點,并將該告警節點添加到告警鏈表中;告警輪詢下發單元,其與所述的告警鏈表單元相連接,用于持續對告警鏈表進行輪詢,根據告警鏈表中存在的各個告警節點內的告警信息,將告警配置下發給0NU。
[0012]所述的告警狀態設置單元包含:告警命令輸入模塊,用于輸入告警配置命令;告警信息解析模塊,其與所述的告警信息輸入模塊相連接,用于接收并解析告警配置命令,得到告警信息;告警節點創建模塊,其與所述的告警信息解析模塊相連接,用于創建一個告警節點,并將解析后得到的告警信息填寫到該告警節點中;告警節點添加模塊,其分別與所述的告警節點創建模塊以及告警鏈表單元相連接,用于將告警節點添加至告警鏈表中以等待告警配置的下發。
[0013]所述的告警配置命令包含:需要設置的ONU所在的PON 口號,ONU的授權號,所需要下發的告警ID,所要設置的告警開關狀態值以及告警類型;當告警類型為以太網端口告警時,所述的告警配置命令還包含ONU的以太網端口號;當告警類型為閾值告警時,所述的告警配置命令還包含閾值告警的門限值。
[0014]所述的告警信息包含:0NU所在的PON 口號,ONU的授權號,告警ID,告警開關狀態值以及告警類型;當告警類型為以太網端口告警時,所述的告警信息還包含ONU的以太網端口號;當告警類型為閾值告警時,所述的告警信息還包含閾值告警的門限值。
[0015]所述的告警輪詢下發單元包含:告警鏈表輪詢模塊,其與所述的告警鏈表單元相連接,用于持續對該告警鏈表進行輪詢,確認在該告警鏈表中是否存在告警節點,并依次對該些告警節點一一遍歷;告警信息獲取模塊,其與所述的告警鏈表輪詢模塊相連接,用于從當前遍歷到的告警節點中獲取告警信息;告警配置下發模塊,其與所述的告警信息獲取模塊相連接,用于根據獲取的告警信息,選擇對應的驅動接口,將告警配置下發給0NU;告警節點刪除模塊,其與所述的告警配置下發模塊相連接,用于在告警配置成功下發后,將該告警節點刪除。
[0016]本發明還提供一種基于單鏈表的ONU告警配置下發的方法,包含以下步驟:
51、告警鏈表單元在初始化時創建一條空的告警鏈表;
52、告警狀態設置單元創建包含告警信息的告警節點,并將該告警節點添