專利名稱:抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信信息管理技術(shù)領(lǐng)域,尤其涉及一種抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法。
背景技術(shù):
網(wǎng)管系統(tǒng)是網(wǎng)絡(luò)設(shè)備管理系統(tǒng)的簡(jiǎn)稱,主要用于對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)進(jìn)行數(shù)據(jù)配置、 監(jiān)控、維護(hù)和測(cè)試。網(wǎng)管系統(tǒng)可分為服務(wù)器端和客戶端,服務(wù)器端要支持多個(gè)客戶端同時(shí)訪問(wèn),并對(duì)設(shè)備進(jìn)行管理操作,并接收、處理、展現(xiàn)設(shè)備上報(bào)的事件和告警。鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件是由鐵路調(diào)度系統(tǒng)上報(bào)到網(wǎng)管系統(tǒng)的一種事件。網(wǎng)管服務(wù)器端接收到這種事件后,將事件告知網(wǎng)管客戶端,客戶端會(huì)刷新拓?fù)鋱D上該數(shù)字環(huán)節(jié)點(diǎn)所在的數(shù)字環(huán)連線的顏色來(lái)響應(yīng)其狀態(tài)變化結(jié)果。目前,基于C/S(Client/Server客戶端/服務(wù)器)結(jié)構(gòu)多客戶端網(wǎng)管系統(tǒng)在接收服務(wù)器端的數(shù)字環(huán)節(jié)點(diǎn)改變狀態(tài)事件后,大部分采用的方法是當(dāng)接收到鐵路調(diào)度系統(tǒng)上報(bào)的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件后,直接將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件告知網(wǎng)管客戶端,由網(wǎng)管客戶端來(lái)刷新拓?fù)鋱D上的數(shù)字環(huán)連線顏色。然而,當(dāng)鐵路調(diào)度系統(tǒng)有大量的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)網(wǎng)管服務(wù)器端時(shí), 網(wǎng)管客戶端瞬間收到大量的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件。由于網(wǎng)管客戶端的拓?fù)鋱D刷新需要耗費(fèi)大量的資源,導(dǎo)致網(wǎng)管客戶端響應(yīng)速度變慢、甚至宕機(jī)。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法,用以解決短時(shí)間內(nèi)大量的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件導(dǎo)致的網(wǎng)管客戶端響應(yīng)速度變慢甚至宕機(jī)的問(wèn)題。為實(shí)現(xiàn)上述目的,本發(fā)明提供的技術(shù)方案是,一種抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法,其特征是所述方法包括步驟1 消息接收線程從全局通訊接收隊(duì)列中獲取上報(bào)消息;步驟2 判斷上報(bào)消息是否包括待處理的事件,如果上報(bào)消息包括待處理的事件, 則執(zhí)行步驟3 ;否則,返回步驟1 ;步驟3 將上報(bào)消息加入到事件隊(duì)列并轉(zhuǎn)給事件處理線程;步驟4 事件處理線程從事件隊(duì)列獲取待處理的事件;步驟5 判斷待處理的事件是否是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果待處理的事件是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟6 ;否則,執(zhí)行步驟14 ;步驟6 判斷第一設(shè)定時(shí)間內(nèi),所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件是否被上報(bào)一次,如果在第一設(shè)定時(shí)間內(nèi)所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件被上報(bào)一次,則執(zhí)行步驟7 ;否則執(zhí)行步驟8 ;步驟7 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾,跳至步驟15;步驟8 判斷第二設(shè)定時(shí)間內(nèi),網(wǎng)管服務(wù)器端是否給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果第二設(shè)定時(shí)間內(nèi)網(wǎng)管服務(wù)器端給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟9 ;否則,執(zhí)行步驟10 ;步驟9 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)首,并且令數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)線程休眠第三設(shè)定時(shí)間,跳至步驟15 ;步驟10 將所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中;步驟11 判斷數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中是否存在數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中存在數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟12 ; 否則,執(zhí)行步驟13;步驟12 從數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中取出第一條數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中,跳至步驟15 ;步驟13 令數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)線程休眠第三設(shè)定時(shí)間,跳至步驟15 ;步驟14 直接將待處理的事件加入事件上報(bào)通道隊(duì)列;步驟15 結(jié)束。所述判斷上報(bào)消息是否包括待處理的事件具體是判斷上報(bào)消息的操作代號(hào)是否為0,如果上報(bào)消息的操作代號(hào)為0,則上報(bào)消息包括待處理的事件;否則,上報(bào)消息不包括待處理的事件。所述第一設(shè)定時(shí)間為10秒。所述第二設(shè)定時(shí)間為2秒。所述將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾/ 隊(duì)首具體還包括步驟11 判斷數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的容量是否超過(guò)設(shè)定的最大緩沖量, 如果數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的容量超過(guò)設(shè)定的最大緩沖量,則執(zhí)行步驟12 ;否則, 執(zhí)行步驟13 ;步驟12 丟棄所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件;步驟13 判斷所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件所屬的數(shù)字環(huán)是否已有其他數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件存在于數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列,如果所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件所屬的數(shù)字環(huán)已有其他數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件存在于數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列, 則執(zhí)行步驟14 ;否則,執(zhí)行步驟15 ;步驟14 丟棄所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件;步驟15 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)
尾/隊(duì)首。所述第三設(shè)定時(shí)間為2秒。本發(fā)明解決了短時(shí)間內(nèi)大量的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件導(dǎo)致的網(wǎng)管客戶端響應(yīng)速度變慢甚至宕機(jī)的問(wèn)題。
圖1是抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法流程5
圖2是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾/隊(duì)首的過(guò)程示意圖。
具體實(shí)施例方式下面結(jié)合附圖,對(duì)優(yōu)選實(shí)施例作詳細(xì)說(shuō)明。應(yīng)該強(qiáng)調(diào)的是,下述說(shuō)明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應(yīng)用。圖1是抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法流程圖。圖1中,先設(shè)置第一設(shè)定時(shí)間為10秒,第二設(shè)定時(shí)間為2秒,第三設(shè)定時(shí)間為2秒。抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法,其特征是所述方法包括步驟1 消息接收線程從全局通訊接收隊(duì)列中獲取上報(bào)消息。步驟2 判斷上報(bào)消息是否包括待處理的事件,如果上報(bào)消息包括待處理的事件, 則執(zhí)行步驟3 ;否則,返回步驟1。步驟3 將上報(bào)消息加入到事件隊(duì)列并轉(zhuǎn)給事件處理線程。步驟4 事件處理線程從事件隊(duì)列獲取待處理的事件。步驟5 判斷待處理的事件是否是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果待處理的事件是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟6 ;否則,執(zhí)行步驟14。步驟6 判斷10秒內(nèi),所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件是否被上報(bào)一次,如果在10 秒內(nèi)所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件被上報(bào)一次,則執(zhí)行步驟7 ;否則執(zhí)行步驟8。步驟7 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾,跳至步驟15。步驟8 判斷2秒內(nèi),網(wǎng)管服務(wù)器端是否給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果2秒內(nèi)網(wǎng)管服務(wù)器端給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟9;否則,執(zhí)行步驟10。步驟9 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)首,并且令數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)線程休眠2秒,跳至步驟15。步驟10 將所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中。步驟11 判斷數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中是否存在數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中存在數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟12 ; 否則,執(zhí)行步驟13。步驟12 從數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中取出第一條數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中,跳至步驟15。步驟13 令數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)線程休眠第三設(shè)定時(shí)間,跳至步驟15。步驟14 直接將待處理的事件加入事件上報(bào)通道隊(duì)列。步驟15 結(jié)束。本發(fā)明對(duì)網(wǎng)管系統(tǒng)的運(yùn)行效率有很大改進(jìn),具體表現(xiàn)在1)瞬時(shí)大量的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)網(wǎng)管時(shí),網(wǎng)管客戶端運(yùn)行流暢,不會(huì)再出現(xiàn)反應(yīng)響應(yīng)慢、宕機(jī)等情況; 2)有效抑制了頻繁上報(bào)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件的數(shù)字環(huán)的刷新頻率;3)正常頻率上報(bào)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)的數(shù)字環(huán)能夠做到即時(shí)刷新。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法,其特征是所述方法包括 步驟1 消息接收線程從全局通訊接收隊(duì)列中獲取上報(bào)消息;步驟2 判斷上報(bào)消息是否包括待處理的事件,如果上報(bào)消息包括待處理的事件,則執(zhí)行步驟3;否則,返回步驟1;步驟3 將上報(bào)消息加入到事件隊(duì)列并轉(zhuǎn)給事件處理線程; 步驟4 事件處理線程從事件隊(duì)列獲取待處理的事件;步驟5 判斷待處理的事件是否是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果待處理的事件是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟6 ;否則,執(zhí)行步驟14 ;步驟6 判斷第一設(shè)定時(shí)間內(nèi),所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件是否被上報(bào)一次,如果在第一設(shè)定時(shí)間內(nèi)所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件被上報(bào)一次,則執(zhí)行步驟7 ;否則執(zhí)行步驟 8 ;步驟7 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾,跳至步驟15 ;步驟8:判斷第二設(shè)定時(shí)間內(nèi),網(wǎng)管服務(wù)器端是否給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果第二設(shè)定時(shí)間內(nèi)網(wǎng)管服務(wù)器端給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟9 ;否則,執(zhí)行步驟10 ;步驟9 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)首,并且令數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)線程休眠第三設(shè)定時(shí)間,跳至步驟15 ; 步驟10 將所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中; 步驟11 判斷數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中是否存在數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,如果數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中存在數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,則執(zhí)行步驟12 ;否則, 執(zhí)行步驟13 ;步驟12 從數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列中取出第一條數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中,跳至步驟15 ;步驟13 令數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件上報(bào)線程休眠第三設(shè)定時(shí)間,跳至步驟15 ; 步驟14 直接將待處理的事件加入事件上報(bào)通道隊(duì)列; 步驟15 結(jié)束。所述判斷上報(bào)消息是否包括待處理的事件具體是判斷上報(bào)消息的操作代號(hào)是否為0, 如果上報(bào)消息的操作代號(hào)為0,則上報(bào)消息包括待處理的事件;否則,上報(bào)消息不包括待處理的事件。
2.根據(jù)權(quán)利要求1所述的方法,其特征是所述第一設(shè)定時(shí)間為10秒。
3.根據(jù)權(quán)利要求1所述的方法,其特征是所述第二設(shè)定時(shí)間為2秒。
4.根據(jù)權(quán)利要求1所述的方法,其特征是所述將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾/隊(duì)首具體還包括步驟11 判斷數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的容量是否超過(guò)設(shè)定的最大緩沖量,如果數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的容量超過(guò)設(shè)定的最大緩沖量,則執(zhí)行步驟12 ;否則,執(zhí)行步驟13 ;步驟12 丟棄所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件;步驟13 判斷所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件所屬的數(shù)字環(huán)是否已有其他數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件存在于數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列,如果所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件所屬的數(shù)字環(huán)已有其他數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件存在于數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列,則執(zhí)行步驟14;否則,執(zhí)行步驟15;步驟14 丟棄所述數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件;步驟15 將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾/隊(duì)首。
5.根據(jù)權(quán)利要求1所述的方法,其特征是所述第三設(shè)定時(shí)間為2秒。
全文摘要
本發(fā)明公開(kāi)了網(wǎng)絡(luò)通信信息管理技術(shù)領(lǐng)域中的一種抑制鐵路數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件風(fēng)暴的方法。包括事件處理線程從事件隊(duì)列獲取待處理的事件,當(dāng)待處理的事件是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,并且數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件是否被上報(bào)一次,則將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)尾;否則,當(dāng)網(wǎng)管服務(wù)器端給網(wǎng)管客戶端發(fā)送過(guò)數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件,將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件隊(duì)列的隊(duì)首。當(dāng)待處理的事件不是數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件時(shí),將數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件加入到事件上報(bào)通道隊(duì)列中。本發(fā)明解決了短時(shí)間內(nèi)大量的數(shù)字環(huán)節(jié)點(diǎn)狀態(tài)改變事件導(dǎo)致的網(wǎng)管客戶端響應(yīng)速度變慢甚至宕機(jī)的問(wèn)題。
文檔編號(hào)H04L29/06GK102523125SQ20111044270
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月27日 優(yōu)先權(quán)日2011年12月27日
發(fā)明者張?chǎng)?申請(qǐng)人:北京佳訊飛鴻電氣股份有限公司