專利名稱:告警信息上報方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種告警信息上報方法、裝置及系統(tǒng)。
背景技術(shù):
通信網(wǎng)絡(luò)管理中,管理站和被管設(shè)備之間一般使用SNMP (Simple NetworkManagement Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)進(jìn)行通訊,被管設(shè)備對告警信息的主動上報一般使用SNMP TRAP(陷阱)消息。在網(wǎng)絡(luò)管理系統(tǒng)中,必須保證管理站與被管設(shè)備上的信息是一致的,所以被管設(shè)備的告警信息上報需要很高的可靠性,可靠性包括兩個方面一是信息完整性;二是多條信息的次序。簡單網(wǎng)絡(luò)管理協(xié)議的TRAP消息在協(xié)議層面并沒有保證可靠性的機(jī)制,由于TRAP 包是基于UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)的,而UDP協(xié)議是不可靠的,導(dǎo)致數(shù)據(jù)包在傳送過程中可能出現(xiàn)丟包現(xiàn)象;另外,由于SNMP TRAP消息可能經(jīng)過路由轉(zhuǎn)發(fā),所以到達(dá)目的地的SNMP TRAP消息的次序可能不同于消息源發(fā)送的SNMP TRAP消息的次序。針對以上兩個問題,現(xiàn)有的解決方法是由接收端(即管理站,或稱作網(wǎng)管)通過告警流水號判斷TRAP包是否丟失,如發(fā)現(xiàn)丟失,則主動向被管設(shè)備發(fā)送請求消息要求重發(fā)。但是,在現(xiàn)有技術(shù)中,由于接收端只有收到下一個告警時,才能知道是否有消息丟失,如果下一個告警很長時間后才到達(dá),那么需要等待很長的時間才能知道消息是否發(fā)生丟包,當(dāng)獲知丟包時,該消息可能已經(jīng)沒有再重發(fā)的必要了,因此,其及時性較差。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種告警信息上報方法、系統(tǒng)及被管設(shè)備,以至少解決上述問題之一。根據(jù)本發(fā)明的一個方面,提供了一種告警信息上報方法,包括被管設(shè)備接收來自管理站的心跳檢查消息,其中,心跳檢查消息攜帶有指示管理站當(dāng)前接收告警信息情況的編號信息;被管設(shè)備根據(jù)編號信息與被管設(shè)備當(dāng)前已發(fā)送的告警信息的編號,確定需要重發(fā)的告警信息的編號;被管設(shè)備將與需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給管理站。上述被管設(shè)備接收來自管理站的心跳檢查消息之前,該方法包括被管設(shè)備按照發(fā)送順序為每個告警信息配置一個編號;被管設(shè)備將告警信息的編號攜帶在該告警信息中發(fā)送給管理站,并在本地緩存告警信息。上述編號信息包括管理站當(dāng)前已接收到的告警信息的最大編號;被管設(shè)備根據(jù)編號信息與被管設(shè)備當(dāng)前已發(fā)送的告警消息的編號,確定需要重發(fā)的告警信息的編號,包括被管設(shè)備將編號在心跳檢查消息中攜帶的最大編號與被管設(shè)備當(dāng)前已發(fā)送的告警信息的最編號之間的告警信息加入待重發(fā)判斷告警信息集合中;被管設(shè)備判斷待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息。上述編號信息還包括未到達(dá)管理站的告警信息的編號集合;被管設(shè)備判斷待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息之前,方法還包括被管設(shè)備將與編號集合中的各個編號對應(yīng)的告警信息加入待重發(fā)判斷告警信息集合中。在為每個告警信息配置一個編號時,該方法還包括判斷告警信息是否有前序告警信息,如果是,則將前序告警信息的編號作為告警信息的前序編號,并將前序編號攜帶在告警信息中。在被管設(shè)備將告警信息的編號攜帶在該告警信息中發(fā)送給管理站之后,該方法還包括管理站將在接收告警信息之前已接收到的告警信息的最大編號(M)與當(dāng)前接收到的告警信息的第一編號⑶進(jìn)行比較,其中如果M+1 <S,則管理站確定編號為M+1至S-I的告警信息未到達(dá),將M+1至S-I的編號加入未到達(dá)的告警信息的編號集合;如果M+1 = S, 則在未到達(dá)的告警信息的編號集合中檢索是否存在當(dāng)前接收到的告警信息的前序告警信息的第二編號H,如果是,則將所述第二編號H與所述第一編號S關(guān)聯(lián),待所述第二編號H對應(yīng)的告警信息到達(dá)后,按照第二編號(H)在前、第一編號(S)在后的順序?qū)⒌诙幪?H)對應(yīng)的告警信息和第一編號(S)對應(yīng)的告警信息加入到已接收到的告警信息,如果否,則將第一編號(S)的告警信息加入到已接收到的告警信息;如果S <M,則將第一編號(S)的告警信息加入到已接收到的告警信息。上述被管設(shè)備判斷待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息包括被管設(shè)備獲取心跳檢查消息的第一時間戳;對于待重發(fā)判斷告警信息集合中的各個告警信息,被管設(shè)備獲取指示該告警信息發(fā)出時間的第二時間戳,判斷第二時間戳與第一時間戳的時間差是否大于預(yù)設(shè)的丟包時間閾值,如果是,則確定該告警信息需要重發(fā)。上述被管設(shè)備將未到達(dá)的告警信息的編號對應(yīng)的未到達(dá)的告警信息發(fā)送給管理站之后,還包括被管設(shè)備根據(jù)心跳檢查消息確定已經(jīng)被管理站成功接收的告警信息,刪除被管設(shè)備緩存的已經(jīng)被管理站成功接收的告警信息。根據(jù)本發(fā)明的另一方面,提供了一種告警信息上報裝置,位于被管設(shè)備側(cè),該裝置包括第一接收模塊,用于接收來自管理站的心跳檢查消息,其中,心跳檢查消息攜帶有指示管理站當(dāng)前接收告警信息情況的編號信息;第一確定模塊,用于根據(jù)編號信息與當(dāng)前已發(fā)送的告警消息的編號,確定需要重發(fā)的告警信息的編號;第一發(fā)送模塊,用于將與需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給管理站。上述編號信息包括管理站當(dāng)前已接收到的告警信息的最大編號;第一確定模塊包括獲取子模塊,用于將編號在心跳檢查消息中攜帶的最大編號與被管設(shè)備當(dāng)前已發(fā)送的告警信息的最編號之間的告警信息加入待重發(fā)判斷告警信息集合中;判斷子模塊,用于判斷待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息。上述編號信息還包括未到達(dá)管理站的告警信息的編號集合;獲取子模塊還用于將與編號集合中的各個編號對應(yīng)的告警信息加入待重發(fā)判斷告警信息集合中。上述判斷子模塊包括第一獲取單元,用于獲取心跳檢查消息的第一時間戳;第二獲取單元,用于獲取待重發(fā)判斷告警信息集合中的各個告警信息發(fā)出時間的第二時間戳;判斷單元,用于分別判斷待重發(fā)判斷告警信息集合中的各個告警信息的第二時間戳與第一時間戳的時間差是否大于預(yù)設(shè)的丟包時間閾值,如果是,則確定該告警信息需要重發(fā)。根據(jù)本發(fā)明的另一方面,提供了一種告警信息上報系統(tǒng),包括管理站和被管設(shè)備,其中,被管設(shè)備包括上述告警信息上報裝置,其中,管理站包括第二接收模塊,用于接收被管設(shè)備發(fā)送的告警信息,其中,所述告警信息中攜帶有該告警信息的編號;第二確定模塊,用于確定指示所述管理站當(dāng)前接收告警信息情況的編號信息;第二發(fā)送模塊,用于向所述被管設(shè)備發(fā)送心跳檢查消息,其中,所述心跳檢查消息中攜帶當(dāng)前心跳檢查消息發(fā)送周期中所述第二確定模塊確定的所述編號信息。
上述編號信息包括管理站當(dāng)前已接收到的告警信息的最大編號和未到達(dá)管理站的告警信息的編號集合;告警信息中還攜帶有告警信息的前序告警信息的編號;第二確定模塊包括比較模塊,用于將在接收告警信息之前已接收到的告警信息的最大編號M與當(dāng)前接收到的告警信息的第一編號S進(jìn)行比較,如果M+1 < S,則確定編號為M+1至S-I的告警信息未到達(dá),觸發(fā)執(zhí)行模塊將M+1至S-I的編號加入未到達(dá)的告警信息的編號集合;如果M+1 = S,則觸發(fā)檢索模塊;檢索模塊,用于在未到達(dá)的告警信息的編號集合中檢索是否存當(dāng)前接收到告警信息的前序告警信息的第二編號H,如果是,則觸發(fā)執(zhí)行模塊將所述第二編號H與所述第一編號S關(guān)聯(lián),待所述第二編號H對應(yīng)的告警信息到達(dá)后,按照第二編號H在前、第一編號S在后的順序?qū)⒌诙幪朒對應(yīng)的告警信息和第一編號S對應(yīng)的告警信息加入到已接收到的告警信息,如果否,則觸發(fā)執(zhí)行模塊將第一編號S的告警信息加入到已接收到的告警信息;如果S < M,則觸發(fā)執(zhí)行模塊將第一編號S的告警信息加入到已接收到的告警信息;執(zhí)行模塊,用于根據(jù)比較模塊的比較結(jié)果和/或檢索模塊的檢索結(jié)果,執(zhí)行相應(yīng)的處理。通過本發(fā)明,采用管理站在每個心跳檢查消息中攜帶當(dāng)前心跳周期接收告警信息的編號信息,從而使得被管設(shè)備可以根據(jù)該編號信息確定需要重發(fā)的告警信息的編號,再將需要重發(fā)的告警信息發(fā)送給管理站的方式,解決了現(xiàn)有技術(shù)中確定丟包的及時性差的問題,進(jìn)而達(dá)到了只需要一個心跳周期即可以確定是否發(fā)送丟包,并使被管設(shè)備及時、自動地將丟掉的告警信息重新發(fā)送給管理站的效果。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖I是根據(jù)本發(fā)明實施例的告警信息上報方法的流程圖;圖2是根據(jù)本發(fā)明實施例對TRAP協(xié)議告警信息進(jìn)行編號和前序編號配置的示意圖;圖3是根據(jù)本發(fā)明實施例的管理站發(fā)送心跳消息時攜帶的信息結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明實施例的管理站對接收到的新告警消息的處理流程圖;圖5是根據(jù)本發(fā)明實施例的被管設(shè)備對收到的心跳檢查消息的處理流程圖;圖6是根據(jù)本發(fā)明實施例的告警信息上報裝置的結(jié)構(gòu)示意圖;圖7是根據(jù)本發(fā)明優(yōu)選實施例的告警信息上報裝置的第一確定模塊的結(jié)構(gòu)示意圖;圖8是根據(jù)本發(fā)明優(yōu)選實施例的第一確定模塊的判斷子模塊的結(jié)構(gòu)示意圖9是根據(jù)本發(fā)明實施例的告警信息上報系統(tǒng)的結(jié)構(gòu)示意圖;圖10是根據(jù)本發(fā)明實施例的管理站的結(jié)構(gòu)示意圖;圖11是根據(jù)本發(fā)明優(yōu)選實施例的管理站的第二確定模塊的結(jié)構(gòu)示意圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
圖I是根據(jù)本發(fā)明實施例的告警信息上報方法的流程圖,如圖I所示,該方法主要包括以下步驟(步驟S102-步驟S106)步驟S102,被管設(shè)備接收來自管理站的心跳檢查消息,其中,心跳檢查消息攜帶有指示在當(dāng)前心跳周期管理站接收告警信息情況的編號信息;在本發(fā)明實施例中,對于被管設(shè)側(cè),被管設(shè)備在發(fā)送告警信息之間,可以按照初始的發(fā)送順序為每個告警信息配置一個編號。在本發(fā)明實施例的一個優(yōu)選實施方式中,在為每個告警信息配置編號時,被管設(shè)備還可以判斷該告警信息是否有前序告警信息,如果是,則將其前序告警信息的編號作為該告警信息的前序編號,并將前序編號也攜帶在告警信息中發(fā)送給管理站。例如,告警信息的編號可以為一個連續(xù)的、步長為I的流水號。例如,圖2是根據(jù)本發(fā)明優(yōu)選實施例的對TRAP協(xié)議告警信息進(jìn)行編號和前序編號配置的示意圖,如圖2所示,被管設(shè)備可以將告警信息的編號和告警信息的前序編號作為編號信息同時攜帶在該告警信息中發(fā)送給管理站。優(yōu)選地,為了便于后續(xù)重發(fā)該告警信息,被管設(shè)備還可以在將告警信息發(fā)送給管理站時,將該告警信息在本地緩存。對于管理站側(cè),管理站可以根據(jù)預(yù)先設(shè)定的心跳周期向被管設(shè)備發(fā)送心跳檢查消息,在每接收到被管設(shè)備發(fā)送的一個新的告警信息后,首先對該告警信息進(jìn)行解析,從而獲取該告警信息中攜帶的包括編號、前序編號,得到指示管理站當(dāng)前接收告警信息的編號信息,在發(fā)送心跳檢查消息時,在心跳檢查消息中攜帶在當(dāng)前心跳周期得到的指示管理站當(dāng)前接收告警信息的編號信息。例如,心跳檢查消息可以采用圖3所示的信息結(jié)構(gòu)示意圖,如圖3所示,在實際應(yīng)用中,管理站一旦獲得到該編號信息,將當(dāng)前心跳周期得到的該編號信息攜帶在當(dāng)前要發(fā)送的心跳檢查消息中發(fā)送給被管設(shè)備。其中,上述編號信息包括但不限于當(dāng)前管理站已收到的告警信息的最大編號、未到達(dá)管理站的告警信息的編號集合。步驟S104,被管設(shè)備根據(jù)上述編號信息與被管設(shè)備當(dāng)前已發(fā)送的告警信息的編號,確定需要重發(fā)的告警信息的編號;在本發(fā)明優(yōu)選實施例中,如果上述編號信息只包括管理站當(dāng)前已接收到的告警信息的最大編號,則被管設(shè)備將編號在所述心跳檢查消息中攜帶的所述最大編號與被管設(shè)備當(dāng)前已發(fā)送的告警信息的最編號之間的告警信息加入待重發(fā)判斷告警信息集合中,然后判斷所述待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息。在本發(fā)明實施例的另一個優(yōu)選實施例中,如果上述編號信息還包括未到達(dá)所述管理站的告警信息的編號集合,則被管設(shè)備將與該編號集合中的各個編號對應(yīng)的告警信息也加入上述待重發(fā)判斷告警信息集合中。
在本發(fā)明實施例的一個優(yōu)選實施方式中管理站可以通過以下方式得到未到達(dá)管理站的告警信息的編號集合(在告警信息中攜帶有前序編號的情況下)管理站將在接收告警信息之前已接收到的告警信息的最大編號(記為M)與當(dāng)前接收到的告警信息的第一編號(記為S)進(jìn)行比較,其中如果M+1 < S,則管理站確定編號為M+1至S-I的告警信息未到達(dá),將M+1至S-I的編號加入未到達(dá)的告警信息的編號集合;如果M+1 = S,則在未到達(dá)的告警信息的編號集合中檢索是否存在當(dāng)前接收到的告警信息的前序告警信息的第二編號H,如果是,則將所述第二編號H與所述第一編號S關(guān)聯(lián),待所述第二編號H對應(yīng)的告警信息到達(dá)后,按照第二編號(H)在前、第一編號(S)在后的順序?qū)⒌诙幪?H)對應(yīng)的告警信息和第一編號⑶對應(yīng)的告警信息加入到已接收到的告警信息,如果否,則將第一編號(S)的告警信息加入到已接收到的告警信息;如果S <M,則將第一編號(S)的告警信息加入到已接收到的告警信息。采用該實施方式,管理站可以檢查接收告警信息的順序是否滿足要求的順序。例如,在實際應(yīng)用中,被管設(shè)備收到心跳檢查消息后,可以從中取出到達(dá)管理站的·告警信息的最大流水號M,同時,記錄當(dāng)前自己發(fā)送的告警信息的流水號C,計算得到(M,C]區(qū)間的流水號,然后與為到達(dá)管理站的告警信息的編號集合合并,得到新的未到達(dá)管理站的告警信息的編號集合(其中包括已丟包的告警信息的編號)(例如,可以將未到達(dá)的告警信息的告警編號隊列標(biāo)記為Q),從而確定需要向管理站重新發(fā)送的告警信息的編號。例如,被管設(shè)備可以將本地告警信息緩沖隊列(即已經(jīng)發(fā)送給管理站的告警信息)標(biāo)記為Q(I),當(dāng)?shù)玫叫碌奈吹竭_(dá)的告警編號隊列Q (即上述待重發(fā)判斷告警信息集合)后,從Q(I)中取出與Q中編號對應(yīng)的告警信息得到新的本地告警信息緩沖隊列Q(2) (Q⑵即為被管設(shè)備需要進(jìn)一步判斷的待重發(fā)判斷告警信息集合)。在本發(fā)明的一個優(yōu)選實施方式中,當(dāng)心跳檢查消息到達(dá)時,被管設(shè)備可以獲取心跳檢查消息的第一時間戳(該時間戳可以記為待重發(fā)判斷告警信息集合中的各個告警信息到達(dá)管理站的時間),對于待重發(fā)判斷告警信息集合中的各個告警信息,被管設(shè)備可以獲取指示該告警信息發(fā)出時間的第二時間戳,然后進(jìn)一步判斷第二時間戳與第一時間戳的時間差是否大于預(yù)設(shè)的丟包時間閾值,如果是,則確定該告警信息需要重發(fā)。例如,被管設(shè)備記錄取出心跳檢查消息的時間戳為T(h),依次取出Q(2)中的每個元素,再記錄取出該告警的時間戳,記為T(a),計算t= (T(h)-T(a)),將t與預(yù)先設(shè)定的丟包時間閾值(記為G)比較,如果t>G或者t = G,則將Q(2)中的告警信息加入重發(fā)隊列,并從本地緩存中刪除;如果t < G,則繼續(xù)等待。步驟S106,被管設(shè)備將與需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給管理站。在本發(fā)明實施例中,當(dāng)被管設(shè)備將需要重發(fā)的告警信息發(fā)送給管理站后,被管設(shè)備還可以根據(jù)心跳檢查消息確定已經(jīng)被管理站成功接收的告警信息,并刪除被管設(shè)備緩存在本地的且已經(jīng)被管理站成功接收的告警信息。通過本發(fā)明實施例提供的上述方法,可以及時檢測到告警信息是否有丟失,從而及時的向管理站重發(fā)丟失的告警信息,并且,采用本明實施例提供的上述方法,管理站在重啟過程中被管設(shè)備發(fā)送的告警信息也能夠檢測出來,從而保證了這些告警信息不會被丟失。另外,在本發(fā)明實施例中,管理站還可以檢測接收到的告警信息的順序是否與設(shè)備端的發(fā)送順序一致。圖4是本發(fā)明優(yōu)選實施例中的管理站對接收到的新告警信息的處理流程圖,如圖4所示,該流程主要包括以下步驟步驟1,網(wǎng)管(管理站)系統(tǒng)啟動時,初始化已經(jīng)接收到的最大告警編號M,初始化未到管理站的告警信息的隊列,此時,隊列為空;在本發(fā)明實施例中,初始化策略可以在建立通訊鏈路過程中,對被管設(shè)備與管理站的最大告警編號M、當(dāng)前的告警進(jìn)行同步,同步完成后,初始化隊列為空。步驟2、3,接收告警信息,并從TRAP協(xié)議的告警信息中解析出綁定(配置)的告警的編號⑶和前序編號⑶;步驟4,比較S與M的大小,如果S大于M,則繼續(xù)執(zhí)行步驟9 ;如果S小于M,則繼 續(xù)執(zhí)行步驟5 ;步驟5,將接收到的新告警放入處理隊列,等待處理線程處理;步驟6,在未到達(dá)隊列中,檢查S是否有關(guān)聯(lián)告警,如果有關(guān)聯(lián)告警,則繼續(xù)執(zhí)行步驟7,否則繼續(xù)執(zhí)行步驟8;步驟7,將S的關(guān)聯(lián)告警放入處理隊列,等待處理線程處理;步驟8,從未到達(dá)隊列中刪除S ;步驟9,判斷S是否等于M+1,如果相等,則執(zhí)行步驟11,否則,繼續(xù)執(zhí)行步驟10 ;步驟10,以開區(qū)間(M,S)內(nèi)的每個整數(shù)為編號構(gòu)造空殼告警信息,并放入未到達(dá)隊列;步驟11,判斷編號為H的告警是否在未到達(dá)隊列中,如果在隊列中,則繼續(xù)執(zhí)行步驟12;否則,執(zhí)行步驟14;步驟12,將新收到的告警信息設(shè)置為未到達(dá)隊列中編號為H的告警的關(guān)聯(lián)告警,等待編號為H的告警到達(dá)后一并處理;步驟13,更新接收到的最大告警編號,令M = S ;步驟14,將新告警放入處理隊列,等待處理線程處理。在本發(fā)明實施例中,被管設(shè)備將TRAP協(xié)議告警信息發(fā)給管理站后,可以將該告警的一個副本作為已發(fā)送隊列緩存到本地的緩存中,待被管設(shè)備接收到心跳檢查消息后,還可以更新緩存。例如,圖5是根據(jù)本發(fā)明實施例的被管設(shè)備對收到的心跳檢查消息的處理流程圖,如圖5所示,該流程主要包括以下步驟步驟1、2、3,收到管理站的建鏈命令后,建立通訊鏈路、同步告警信息數(shù)據(jù)、同步最大告警編號;步驟4,鏈路建立成功后,收到管理站發(fā)出的心跳消息;步驟5,解析心跳檢查消息中攜帶的數(shù)據(jù)信息,包括已到達(dá)的最大告警編號(M)、管理站探知的未到達(dá)告警信息序列(記為[N1;…,Nk])、管理站采集上述信息的時間戳(Tm)、以及從被管設(shè)備獲取到的當(dāng)前告警編號(C);步驟6,比較C和M的大小,如果C大于M,繼續(xù)執(zhí)行步驟7,否則,執(zhí)行步驟8 ;步驟7,將(M,C]區(qū)間內(nèi)的整數(shù)值加入未到達(dá)序列,未到達(dá)序列更新為[NI,…,Nk,…,Ne];
步驟8,將已發(fā)送告警信息緩存中已經(jīng)被管理站收到的部分刪除,方法是如果該告警信息的編號不在未到達(dá)序列中,則刪除;步驟9,掃描已發(fā)送告警信息緩存隊列,計算當(dāng)前時間(Tc)與管理站心跳信息采集時間 的差值,如果差值大于超時閾值(即丟包時間閾值),則重發(fā)。采用上述實施例提供的告警信息上報方法,通過管理站向被管設(shè)備發(fā)送心跳檢查消息,可以及時使得被管設(shè)備(告警信息發(fā)送端)獲知是否發(fā)送丟包,解決了及時性差的問題,同時,通過在未到達(dá)告警信息隊列中檢索當(dāng)前收到的告警信息的前序告警信息,保證了被管設(shè)備發(fā)送的告警信息的順序與管理站接收的告警信息的順序一致,從而可以達(dá)到及時發(fā)現(xiàn)丟包后可以主動重發(fā),而避免不必要的重發(fā)的效果。 與上述告警信息上報方法相對應(yīng),本發(fā)明實施例還提供了一種告警信息上報裝置,該裝置位于被管設(shè)備側(cè)。圖6是根據(jù)本發(fā)明實施例的告警信息上報裝置的結(jié)構(gòu)示意圖,該裝置包括第一接收模塊10、第一確定模塊20和第一發(fā)送模塊30。其中,第一接收模塊10,用于接收來自管理站的心跳檢查消息,其中,該心跳檢查消息攜帶有指示在當(dāng)前心跳周期管理站接收告警信息情況的編號信息;第一確定模塊20,連接至第一接收模塊10,用于根據(jù)編號信息與被管設(shè)置當(dāng)前已發(fā)送的告警消息的編號,確定需要重發(fā)的告警信息的編號;第一發(fā)送模塊30,連接至第一確定模塊20,用于將與需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給管理站。在本發(fā)明實施例的一個優(yōu)選實施方式中,上述編號信息包括管理站當(dāng)前已接收到的告警信息的最大編號;如圖7所示,在該優(yōu)選實施方式中,第一確定模塊20可以包括獲取子模塊22,用于將編號在心跳檢查消息中攜帶的所述最大編號與被管設(shè)備當(dāng)前已發(fā)送的告警信息的最編號之間的告警信息加入待重發(fā)判斷告警信息集合中;判斷子模塊24,與獲取子模塊22連接,用于判斷上述待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息。采用這種實施方式,管理站可以方便地向被管設(shè)備發(fā)送指示,處理流程比較簡單。在本發(fā)明實施例的另一個優(yōu)選實施方式中,上述編號信息還可以包括未到達(dá)所述管理站的告警信息的編號集合;則獲取子模塊22還用于將與該編號集合中的各個編號對應(yīng)的告警信息加入上述待重發(fā)判斷告警信息集合中。采用這種實施方式,被管設(shè)備可以比較準(zhǔn)確的確定需要重發(fā)的告警信息。 在本發(fā)明實施例的一個優(yōu)選實施方式中,如圖8所示,判斷子模塊24可以包括第一獲取單元242,用于獲取上述心跳檢查消息的第一時間戳;第二獲取單元244,用于獲取上述待重發(fā)判斷告警信息集合中的各個告警信息發(fā)出時間的第二時間戳;判斷單元246,與第一獲取單元242和第二獲取單元244連接,用于分別判斷上述待重發(fā)判斷告警信息集合中的各個告警信息的第二時間戳與第一時間戳的時間差是否大于預(yù)設(shè)的丟包時間閾值,如果是,則確定該告警信息需要重發(fā)。通過本發(fā)明實施例提供的上述裝置,被管設(shè)備可以比較及時的獲取到丟失的告警信息,并及時進(jìn)行重發(fā),從而提高了告警信息發(fā)送的可靠性。圖9是根據(jù)本發(fā)明實施例的告警信息上報系統(tǒng)的結(jié)構(gòu)示意圖,如圖7所示,該系統(tǒng)包括管理站I和被管設(shè)備2。其中,被管設(shè)備2可以包括上述實施例中的告警信息上報裝置。如圖10所示,管理站I可以包括第二接收模塊40、第二確定模塊50和第二發(fā)送模塊60。其中,第二接收模塊40,用于接收被管設(shè)備發(fā)送的告警信息,其中,該告警信息中攜帶有其編號;第二確定模塊50,連接至第二接收模塊40,用于確定指示管理站2當(dāng)前接收告警信息情況的編號信息;第二發(fā)送模塊60,連接至第二確定模塊50,用于向被管設(shè)備發(fā)送心跳檢查消息,其中,所述心跳檢查消息中攜帶有當(dāng)前心跳周期中所述第二確定模塊確定的所述編號信息。在本發(fā)明實施例的優(yōu)選實施方式中,上述編號信息可以包括所述管理站當(dāng)前已接收到的告警信息的最大編號。在本發(fā)明實施例的另一個優(yōu)選實施方式中,上述編號信息還可以包括未到達(dá)所述管理站的告警信息的編號集合;所述告警信息中還攜帶有所述告警信息的前序告警信息的編號。則如圖11所述,在該優(yōu)選實施方式中,第二確定模塊50可以包括比較模塊52,用于將在接收所述告警信息之前已接收到的告警信息的最大編號M與當(dāng)前接收到的所述告警信息的第一編號S進(jìn)行比較,如果M+1 < S,則確定編號為M+1至S-I的告警信息未到 達(dá),觸發(fā)執(zhí)行模塊54將M+1至S-I的編號加入未到達(dá)的告警信息的編號集合;如果M+1 =S,則觸發(fā)檢索模塊56 ;檢索模塊56,用于在未到達(dá)的告警信息的所述編號集合中檢索是否存當(dāng)前接收到所述告警信息的前序告警信息的第二編號H,如果是,則觸發(fā)執(zhí)行模塊將所述第二編號H與所述第一編號S關(guān)聯(lián),待所述第二編號H對應(yīng)的告警信息到達(dá)后,按照所述第二編號H在前、所述第一編號S在后的順序?qū)⑺龅诙幪朒對應(yīng)的告警信息和所述第一編號S對應(yīng)的告警信息加入到已接收到的告警信息,如果否,則觸發(fā)所述執(zhí)行模塊將54所述第一編號S的所述告警信息加入到已接收到的告警信息;如果S < M,則觸發(fā)執(zhí)行模塊54將所述第一編號S的所述告警信息加入到已接收到的告警信息;執(zhí)行模塊54,用于根據(jù)比較模塊52的比較結(jié)果和/或檢索模塊56的檢索結(jié)果,執(zhí)行相應(yīng)的處理。采用上述發(fā)明實施例提供的上述告警信息上報系統(tǒng),通過管理站向被管設(shè)備發(fā)送心跳檢查消息,可以及時使得被管設(shè)備(告警信息發(fā)送端)獲知是否發(fā)送丟包,解決了及時性差的問題,同時,通過在未到達(dá)告警信息隊列中檢索當(dāng)前收到的告警信息的前序告警信息,保證了被管設(shè)備發(fā)送的告警信息的順序與管理站接收的告警信息的順序一致,從而可以達(dá)到及時發(fā)現(xiàn)丟包后可以主動重發(fā),而避免不必要的重發(fā)的效果。從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果管理站將接收到的告警信息的編號信息攜帶在心跳檢查消息中發(fā)送給被管設(shè)備(告警信息發(fā)送端),使被管設(shè)備根據(jù)編號信息確定需要重發(fā)的告警信息的編號,再將需要重發(fā)的告警信息發(fā)送給管理站的方式,可以及時使得被管設(shè)備獲知是否發(fā)送丟包,解決了現(xiàn)有技術(shù)中確定丟包的及時性差的問題,同時,通過在未到達(dá)告警信息隊列中檢索當(dāng)前收到的告警信息的前序告警信息,保證了被管設(shè)備發(fā)送的告警信息的順序與管理站接收的告警信息的順序一致,進(jìn)而達(dá)到了只需要一個心跳周期即可以確定是否發(fā)送丟包,并使被管設(shè)備及時、自動地將丟掉的告警信息重新發(fā)送給管理站的效果。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種告警信息上報方法,其特征在于,包括 被管設(shè)備接收來自管理站的心跳檢查消息,其中,所述心跳檢查消息攜帯有指示在當(dāng)前心跳周期所述管理站當(dāng)前接收告警信息情況的編號信息; 所述被管設(shè)備根據(jù)所述編號信息與所述被管設(shè)備當(dāng)前已發(fā)送的告警信息的編號,確定需要重發(fā)的告警信息的編號; 所述被管設(shè)備將與所述需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給所述管理站。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述被管設(shè)備接收來自管理站的心跳檢查消息之前,所述方法包括 所述被管設(shè)備按照發(fā)送順序為每個所述告警信息配置ー個所述編號; 所述被管設(shè)備將所述告警信息的編號攜帯在該告警信息中發(fā)送給所述管理站,并在本地緩存所述告警信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在干, 所述編號信息包括所述管理站當(dāng)前已接收到的告警信息的最大編號; 所述被管設(shè)備根據(jù)所述編號信息與所述被管設(shè)備當(dāng)前已發(fā)送的告警消息的編號,確定需要重發(fā)的告警信息的編號,包括所述被管設(shè)備將編號在所述心跳檢查消息中攜帯的所述最大編號與所述被管設(shè)備當(dāng)前已發(fā)送的告警信息的最編號之間的告警信息加入待重發(fā)判斷告警信息集合中;所述被管設(shè)備判斷所述待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在干, 所述編號信息還包括未到達(dá)所述管理站的告警信息的編號集合; 所述被管設(shè)備判斷所述待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息之前,所述方法還包括所述被管設(shè)備將與所述編號集合中的各個編號對應(yīng)的告警信息加入所述待重發(fā)判斷告警信息集合中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在為每個所述告警信息配置ー個所述編號吋,所述方法還包括判斷所述告警信息是否有前序告警信息,如果是,則將所述前序告警信息的編號作為所述告警信息的前序編號,并將所述前序編號攜帯在所述告警信息中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述被管設(shè)備將所述告警信息的編號攜帯在該告警信息中發(fā)送給所述管理站之后,所述方法還包括 所述管理站將在接收所述告警信息之前已接收到的告警信息的最大編號M與當(dāng)前接收到的所述告警信息的第一編號S進(jìn)行比較,其中 如果M+1 < S,則所述管理站確定編號為M+1至S-I的告警信息未到達(dá),將M+1至S-I的編號加入未到達(dá)的告警信息的所述編號集合; 如果M+1 = S,則在未到達(dá)的告警信息的所述編號集合中檢索是否存在當(dāng)前接收到的所述告警信息的前序告警信息的第二編號H,如果是,則將所述第二編號H與所述第一編號S關(guān)聯(lián),待所述第二編號H對應(yīng)的告警信息到達(dá)后,按照所述第二編號H在前、所述第一編號S在后的順序?qū)⑺龅诙幪朒對應(yīng)的告警信息和所述第一編號S對應(yīng)的告警信息加入到已接收到的告警信息,如果否,則將所述第一編號S的所述告警信息加入到已接收到的告θ I R >ι ι',如果S < M,則將所述第一編號S的所述告警信息加入到已接收到的告警信息。
7.根據(jù)權(quán)利要求I至6中任一項所述的方法,其特征在于,所述被管設(shè)備判斷所述待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息包括 所述被管設(shè)備 獲取接收到所述心跳檢查消息的時間的第一時間戳; 對于所述待重發(fā)判斷告警信息集合中的各個告警信息,所述被管設(shè)備獲取指示該告警信息發(fā)出時間的第二時間戳,判斷所述第一時間戳與所述第二時間戳的時間差是否大于預(yù)設(shè)的丟包時間閾值,如果是,則確定該告警信息需要重發(fā)。
8.根據(jù)權(quán)利要求2至6中任一項所述的方法,其特征在于,所述被管設(shè)備將所述未到達(dá)的告警信息的編號對應(yīng)的所述未到達(dá)的告警信息發(fā)送給所述管理站之后,還包括 所述被管設(shè)備根據(jù)所述心跳檢查消息確定已經(jīng)被所述管理站成功接收的所述告警信息,刪除所述被管設(shè)備緩存的所述已經(jīng)被所述管理站成功接收的所述告警信息。
9.一種告警信息上報裝置,位于被管設(shè)備側(cè),其特征在于,所述裝置包括 第一接收模塊,用于接收來自管理站的心跳檢查消息,其中,所述心跳檢查消息攜帯有指示在當(dāng)前心跳周期所述管理站當(dāng)前接收告警信息情況的編號信息; 第一確定模塊,用于根據(jù)所述編號信息與當(dāng)前已發(fā)送的告警消息的編號,確定需要重發(fā)的告警信息的編號; 第一發(fā)送模塊,用于將與所述需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給所述管理站。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在干, 所述編號信息包括所述管理站當(dāng)前已接收到的告警信息的最大編號; 所述第一確定模塊包括 獲取子模塊,用于將編號在所述心跳檢查消息中攜帯的所述最大編號與所述被管設(shè)備當(dāng)前已發(fā)送的告警信息的最編號之間的告警信息加入待重發(fā)判斷告警信息集合中; 判斷子模塊,用于判斷所述待重發(fā)判斷告警信息集合中的各個告警信息是否為需要重發(fā)的告警信息。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在干, 所述編號信息還包括未到達(dá)所述管理站的告警信息的編號集合; 所述獲取子模塊還用于將與所述編號集合中的各個編號對應(yīng)的告警信息加入所述待重發(fā)判斷告警信息集合中。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述判斷子模塊包括 第一獲取單元,用于獲取所述心跳檢查消息的第一時間戳; 第二獲取單元,用于獲取所述待重發(fā)判斷告警信息集合中的各個告警信息發(fā)出時間的第二時間戳; 判斷単元,用于分別判斷所述待重發(fā)判斷告警信息集合中的各個告警信息的所述第二時間戳與所述第一時間戳的時間差是否大于預(yù)設(shè)的丟包時間閾值,如果是,則確定該告警信息需要重發(fā)。
13.一種告警信息上報系統(tǒng),其特征在于,包括管理站和被管設(shè)備,其中, 所述被管設(shè)備包括權(quán)利要求9至12中任一項所述的裝置; 所述管理站包括第二接收模塊,用于接收所述被管設(shè)備發(fā)送的告警信息,其中,所述告警信息中攜帯有該告警信息的編號; 第二確定模塊,用于確定指示所述管理站當(dāng)前接收告警信息情況的編號信息; 第二發(fā)送模塊,用于向所述被管設(shè)備發(fā)送心跳檢查消息,其中,所述心跳檢查消息中攜帶有當(dāng)前心跳周期中所述第二確定模塊確定的所述編號信息。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在干, 所述編號信息包括所述管理站當(dāng)前已接收到的告警信息的最大編號和未到達(dá)所述管理站的告警信息的編號集合; 所述告警信息中還攜帶有所述告警信息的前序告警信息的編號; 所述第二確定模塊包括 比較模塊,用于將在接收所述告警信息之前已接收到的告警信息的最大編號M與當(dāng)前接收到的所述告警信息的第一編號S進(jìn)行比較,如果M+1 < S,則確定編號為M+1至S-I的告警信息未到達(dá),觸發(fā)執(zhí)行模塊將M+1至S-I的編號加入未到達(dá)的告警信息的編號集合;如果M+1 = S,則觸發(fā)檢索模塊; 所述檢索模塊,用于在未到達(dá)的告警信息的所述編號集合中檢索是否存當(dāng)前接收到所述告警信息的前序告警信息的第二編號H,如果是,則觸發(fā)所述執(zhí)行模塊將所述第二編號H與所述第一編號S關(guān)聯(lián),待所述第二編號H對應(yīng)的告警信息到達(dá)后,按照所述第二編號H在前、所述第一編號S在后的順序?qū)⑺龅诙幪朒對應(yīng)的告警信息和所述第一編號S對應(yīng)的告警信息加入到已接收到的告警信息,如果否,則觸發(fā)所述執(zhí)行模塊將所述第一編號S的所述告警信息加入到已接收到的告警信息;如果S < M,則觸發(fā)所述執(zhí)行模塊將所述第一編號S的所述告警信息加入到已接收到的告警信息; 所述執(zhí)行模塊,用于根據(jù)所述比較模塊的比較結(jié)果和/或所述檢索模塊的檢索結(jié)果,執(zhí)行相應(yīng)的處理。
全文摘要
本發(fā)明公開了一種告警信息上報方法、裝置及系統(tǒng)。其中,該方法包括被管設(shè)備接收來自管理站的心跳檢查消息,其中,心跳檢查消息攜帶有指示管理站當(dāng)前接收告警信息情況的編號信息;被管設(shè)備根據(jù)編號信息與被管設(shè)備當(dāng)前已發(fā)送的告警信息的編號,確定需要重發(fā)的告警信息的編號;被管設(shè)備將與需要重發(fā)的告警信息的編號對應(yīng)的告警信息發(fā)送給管理站。通過本發(fā)明,可以及時發(fā)現(xiàn)告警信息發(fā)生丟包后重新發(fā)送已經(jīng)丟掉的告警信息,并且可以保證管理站收到的告警信息的順序與被管設(shè)備發(fā)送的告警信息的順序一致。
文檔編號H04L1/18GK102857354SQ20111017533
公開日2013年1月2日 申請日期2011年6月27日 優(yōu)先權(quán)日2011年6月27日
發(fā)明者駱慶開 申請人:中興通訊股份有限公司