本發(fā)明實施方式涉及通訊技術(shù)領(lǐng)域,尤其涉及一種云接入控制器運行狀態(tài)分布式監(jiān)控的方法和系統(tǒng)。
背景技術(shù):
云接入控制器(Access Controller,AC)系統(tǒng)往往通過超文本標(biāo)記語言(HyperText Markup Language,HTML)呈現(xiàn)系統(tǒng)的功能接口,用戶可以通過瀏覽器連接云接入控制器系統(tǒng),進行各種操作。
由于云接入控制器系統(tǒng)需要同時處理大量的終端設(shè)備連接信息,單臺服務(wù)器已經(jīng)不能滿足業(yè)務(wù)數(shù)據(jù)處理的性能要求,為了解決大數(shù)據(jù)的處理場景,需要把業(yè)務(wù)處理分布到多臺服務(wù)器中。云接入控制器分布式系統(tǒng)由多臺服務(wù)器組成,每臺服務(wù)器運行系統(tǒng)中的多個業(yè)務(wù)模塊,當(dāng)處理能力達到閥值時,云接入控制器系統(tǒng)可以通過動態(tài)的增加服務(wù)器,或在服務(wù)器中增加系統(tǒng)業(yè)務(wù)模塊來解決性能上的問題。
在分布式環(huán)境下,云接入控制器由多個服務(wù)器以及多個業(yè)務(wù)模塊組成。在運行過程中,可能會遇到多種異常情況,比如服務(wù)器發(fā)生硬件故障、電源發(fā)生異常、服務(wù)器的CPU,內(nèi)存使用率超過設(shè)置的閥值,運行中的業(yè)務(wù)模塊發(fā)生異常導(dǎo)致處理進程終止執(zhí)行等等。當(dāng)發(fā)生這些運行異常時,需要實時的把系統(tǒng)的異常狀況發(fā)送給運維人員,以便及時處理。運維人員也需要實時了解云接入控制器系統(tǒng)中各個服務(wù)器的運行狀態(tài),以及業(yè)務(wù)模塊的進程狀態(tài)。
在實施本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問題:
現(xiàn)有技術(shù)中云接入控制器使用分布式方法處理大量業(yè)務(wù)數(shù)據(jù)時,考慮到系統(tǒng)運行的復(fù)雜性和多種故障發(fā)生的可能性,沒有一種可靠的機制實時監(jiān)控分布式系統(tǒng)中各個組件的運行狀態(tài),系統(tǒng)沒有提供在這種復(fù)雜環(huán)境下的系統(tǒng)運行監(jiān)控方案。
應(yīng)該注意,上面對技術(shù)背景的介紹只是為了方便對本發(fā)明的技術(shù)方案進行清楚、完整的說明,并方便本領(lǐng)域技術(shù)人員的理解而闡述的。不能僅僅因為這些方案在本發(fā)明的背景技術(shù)部分進行了闡述而認(rèn)為上述技術(shù)方案為本領(lǐng)域技術(shù)人員所公知。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明實施方式的目的在于提供一種云接入控制器運行狀態(tài)分布式監(jiān)控的方法和系統(tǒng),能夠把系統(tǒng)的監(jiān)控置于分布式環(huán)境下,保證在發(fā)生故障時,監(jiān)控系統(tǒng)實時的發(fā)現(xiàn)系統(tǒng)的運行故障,即使單臺或多臺監(jiān)控進程發(fā)生故障,也能保證監(jiān)控機制的正確運行。
為實現(xiàn)上述目的,本發(fā)明實施方式提供一種云接入控制器運行狀態(tài)分布式監(jiān)控的方法,所述云接入控制器為由多個服務(wù)器以及多個業(yè)務(wù)模塊組成的分布式系統(tǒng),所述方法包括:云接入控制器設(shè)置多個監(jiān)控進程,其中一個為當(dāng)前監(jiān)控進程,其余為備份監(jiān)控進程;分布式處理框架創(chuàng)建監(jiān)控當(dāng)前監(jiān)控進程的根結(jié)點,并在所述根結(jié)點下創(chuàng)建孩子結(jié)點,根據(jù)預(yù)設(shè)規(guī)則,為根結(jié)點下的孩子結(jié)點分配監(jiān)控權(quán)限,擁有所述監(jiān)控權(quán)限的孩子結(jié)點監(jiān)控所述當(dāng)前監(jiān)控進程;所述當(dāng)前監(jiān)控進程監(jiān)控云接入控制器中多個服務(wù)器的服務(wù)器性能數(shù)據(jù)和/或多個業(yè)務(wù)模塊的業(yè)務(wù)處理信息;如果當(dāng)前監(jiān)控進程發(fā)生異常,分布式處理框架刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
進一步地,所述所述孩子結(jié)點采用孩子結(jié)點名稱和序列值標(biāo)識,其中,所述根結(jié)點中孩子結(jié)點的序列值為其前一個孩子結(jié)點的序列值加1;所述根據(jù)預(yù)設(shè)規(guī)則,分布式處理框架為根結(jié)點下的孩子結(jié)點分配監(jiān)控權(quán)限,包括:獲取所述根結(jié)點下的所有孩子結(jié)點的序列值,判斷當(dāng)前孩子結(jié)點的序列值在所有孩子結(jié)點的序列值中是否最??;如果是,則分布式處理框架為序列值最小的當(dāng)前孩子結(jié)點分配監(jiān)控權(quán)限;如果否,則當(dāng)前孩子結(jié)點在其前一個孩子結(jié)點中設(shè)置狀態(tài)監(jiān)聽回調(diào),并判斷所述前一個孩子結(jié)點的序列值在所有孩子結(jié)點的序列值中是否最??;直到在所述根結(jié)點下確定出序列值最小的孩子結(jié)點;分布式處理框架為序列值最小的孩子結(jié)點分配監(jiān)控權(quán)限。
進一步地,所述所述當(dāng)前監(jiān)控進程監(jiān)控云接入控制器中多個服務(wù)器的服務(wù)器性能數(shù)據(jù)和/或多個業(yè)務(wù)模塊的業(yè)務(wù)處理信息,包括:在所述根結(jié)點下創(chuàng)建服務(wù)結(jié)點以及在所述服務(wù)結(jié)點下創(chuàng)建子結(jié)點,所述子結(jié)點包括第一子結(jié)點和第二子結(jié)點,其中,所述第一子結(jié)點用于監(jiān)控服務(wù)器的服務(wù)器性能數(shù)據(jù),所述第二子結(jié)點用于監(jiān)控業(yè)務(wù)模塊的業(yè)務(wù)處理信息;當(dāng)前監(jiān)控進程啟動后,將所述服務(wù)結(jié)點下的所有子結(jié)點加入到緩存中并監(jiān)聽所有子結(jié)點的狀態(tài),當(dāng)存在子結(jié)點的狀態(tài)發(fā)生改變時,獲取所述服務(wù)結(jié)點下的所有子結(jié)點,并將獲取的所有子結(jié)點和緩存中的所有子結(jié)點進行比較;如果緩存中的子結(jié)點在獲取的子結(jié)點中不存在,則當(dāng)前監(jiān)控進程判斷出所述不存在的子結(jié)點發(fā)生異常并將異常信息發(fā)送給云接入控制器;如果緩存中的子結(jié)點在獲取的子結(jié)點存在,則當(dāng)前監(jiān)控進程獲取所述存在的子結(jié)點監(jiān)控的服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息并發(fā)送給云接入控制器進行處理。
進一步地,所述當(dāng)前監(jiān)控進程發(fā)生異常,包括:所述當(dāng)前監(jiān)控進程根據(jù)預(yù)先設(shè)置的時間間隔周期性地發(fā)送服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息;如果在所述時間間隔內(nèi)沒有收到所述當(dāng)前監(jiān)控進程發(fā)送的服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息,則所述當(dāng)前監(jiān)控進程發(fā)生異常。
進一步地,所述分布式處理框架刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程,包括:分布式處理框架刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,并將結(jié)點刪除信息發(fā)送給下一個序列值的孩子結(jié)點;當(dāng)所述下一個序列值的孩子結(jié)點收到所述結(jié)點刪除信息時,向所述根結(jié)點發(fā)送所述當(dāng)前監(jiān)控進程和監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點的異常信息,則分布式處理框架從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并根據(jù)所述預(yù)設(shè)規(guī)則從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
為實現(xiàn)上述目的,本發(fā)明實施方式還提供一種云接入控制器運行狀態(tài)分布式監(jiān)控的系統(tǒng),包括:云接入控制器,為由多個服務(wù)器以及多個業(yè)務(wù)模塊組成的分布式系統(tǒng),用于設(shè)置多個監(jiān)控進程,其中一個為當(dāng)前監(jiān)控進程,其余為備份監(jiān)控進程;分布式處理框架,用于創(chuàng)建永久結(jié)點以及在所述永久結(jié)點下創(chuàng)建臨時結(jié)點,所述永久結(jié)點為監(jiān)控所述當(dāng)前監(jiān)控進程的根結(jié)點,所述臨時結(jié)點為所述根結(jié)點的孩子結(jié)點;根據(jù)預(yù)設(shè)規(guī)則,為根結(jié)點下的孩子結(jié)點分配監(jiān)控權(quán)限,擁有所述監(jiān)控權(quán)限的孩子結(jié)點監(jiān)控所述當(dāng)前監(jiān)控進程;所述當(dāng)前監(jiān)控進程監(jiān)控云接入控制器中多個服務(wù)器的服務(wù)器性能數(shù)據(jù)和/或多個業(yè)務(wù)模塊的業(yè)務(wù)處理信息,如果當(dāng)前監(jiān)控進程發(fā)生異常,則刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
由上可見,本發(fā)明實施方式提供的一種云接入控制器運行狀態(tài)分布式監(jiān)控的方法和系統(tǒng),通過使用分布式監(jiān)控方式,把監(jiān)控置于分布式環(huán)境下,保證在發(fā)生故障時,監(jiān)控系統(tǒng)能實時的發(fā)現(xiàn)系統(tǒng)的運行故障,即使單臺或多臺監(jiān)控進程發(fā)生故障,也能保證監(jiān)控機制的正確運行。
附圖說明
為了更清楚地說明本發(fā)明實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖逐一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施方式提供的云接入控制器運行狀態(tài)分布式監(jiān)控的方法的流程示意圖;
圖2為本發(fā)明實施方式提供的云接入控制器運行狀態(tài)分布式監(jiān)控的系統(tǒng)的示意圖。
具體實施方式
為使本發(fā)明實施方式的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施方式中的附圖,對本發(fā)明實施方式中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施方式是本發(fā)明一部分實施方式,而不是全部的實施方式?;诒景l(fā)明中的實施方式,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施方式,都屬于本發(fā)明保護的范圍。
本發(fā)明實施方式提供一種云接入控制器運行狀態(tài)分布式監(jiān)控的方法。請參閱圖1,包括以下步驟:
步驟S1:云接入控制器設(shè)置多個監(jiān)控進程,其中一個為當(dāng)前監(jiān)控進程,其余為備份監(jiān)控進程。
在本發(fā)明實施方式中,云接入控制器為由多個服務(wù)器以及多個業(yè)務(wù)模塊組成的分布式系統(tǒng)。
云接入控制器設(shè)置多個監(jiān)控進程,優(yōu)選地,監(jiān)控進程的數(shù)量為三個,它們分別部署在三臺不同的服務(wù)器中。在同一個時刻,只有一個監(jiān)控進程作為當(dāng)前監(jiān)控進程在運行,其它監(jiān)控進程作為備份。
步驟S2:在分布式處理框架中創(chuàng)建監(jiān)控當(dāng)前監(jiān)控進程的根結(jié)點,并在所述根結(jié)點下創(chuàng)建孩子結(jié)點。
在本實施方式中,分布式處理框架基于ZooKeeper,該ZooKeeper是一個開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),能夠為分布式應(yīng)用提供一致性服務(wù),主要用來解決分布式應(yīng)用中數(shù)據(jù)管理的問題,例如提供的功能包括:統(tǒng)一命名服務(wù)、狀態(tài)同步服務(wù)、集群管理、分布式應(yīng)用配置項的管理等。此外,ZooKeeper還能夠提供基于類似于文件系統(tǒng)的目錄結(jié)點樹方式的數(shù)據(jù)存儲,主要用來維護和監(jiān)控存儲的數(shù)據(jù)的狀態(tài)變化。通過監(jiān)控這些數(shù)據(jù)狀態(tài)的變化,從而可以達到基于數(shù)據(jù)的集群管理。
在ZooKeeper中創(chuàng)建一個永久結(jié)點monitors,該永久結(jié)點monitors作為監(jiān)控當(dāng)前監(jiān)控進程的根結(jié)點。
監(jiān)控進程啟動后,在該永久結(jié)點monitors下創(chuàng)建臨時結(jié)點/monitors/monitor-監(jiān)控進程ID-,即所述根結(jié)點的孩子結(jié)點,同時設(shè)置孩子結(jié)點為序列值自增結(jié)點,ZooKeeper將在孩子結(jié)點名稱的最后自動加上序列值,例如根結(jié)點中孩子結(jié)點的序列值為前一個孩子結(jié)點的序列值加1。
步驟S3:根據(jù)預(yù)設(shè)規(guī)則,所述分布式處理框架為根結(jié)點下的孩子結(jié)點分配監(jiān)控權(quán)限,擁有所述監(jiān)控權(quán)限的孩子結(jié)點監(jiān)控當(dāng)前監(jiān)控進程。
在本發(fā)明實施方式中,分配監(jiān)控權(quán)限的預(yù)設(shè)規(guī)則為:
獲取根結(jié)點下的所有孩子結(jié)點的序列值,判斷當(dāng)前孩子結(jié)點的序列值在所有孩子結(jié)點的序列值中是否最??;
如果是,則分布式處理框架為序列值最小的當(dāng)前孩子結(jié)點分配監(jiān)控權(quán)限,當(dāng)前孩子結(jié)點獲取監(jiān)控權(quán)限后,啟動監(jiān)控當(dāng)前監(jiān)控進程;
如果否,則當(dāng)前孩子結(jié)點在前一個孩子結(jié)點中設(shè)置狀態(tài)監(jiān)聽回調(diào),例如如果當(dāng)前孩子結(jié)點的序列值為2,那么在序列值為1的孩子結(jié)點上設(shè)置狀態(tài)監(jiān)聽回調(diào);判斷該前一個孩子結(jié)點的序列值在所有孩子結(jié)點的序列值值中是否是最小的;直到在根結(jié)點下確定出序列值最小的孩子結(jié)點作為當(dāng)前孩子結(jié)點;分布式處理框架為序列值中最小的孩子結(jié)點分配監(jiān)控權(quán)限,該孩子結(jié)點獲取監(jiān)控權(quán)限后,啟動監(jiān)控當(dāng)前監(jiān)控進程。
步驟S4:當(dāng)前監(jiān)控進程監(jiān)控云接入控制器中多個服務(wù)器的服務(wù)器性能數(shù)據(jù)和/或多個業(yè)務(wù)模塊的業(yè)務(wù)處理信息。
在本發(fā)明實施方式中,在所述根結(jié)點下創(chuàng)建服務(wù)(Server)結(jié)點,并在服務(wù)結(jié)點下創(chuàng)建子結(jié)點,該子結(jié)點包括第一子結(jié)點和第二子結(jié)點。
具體地,服務(wù)器性能采集程序啟動后,在服務(wù)結(jié)點下創(chuàng)建臨時結(jié)點,即服務(wù)結(jié)點的第一子結(jié)點,云接入控制器將服務(wù)器信息寫入第一子結(jié)點中已使第一子結(jié)點監(jiān)控服務(wù)器的服務(wù)器性能數(shù)據(jù),所述服務(wù)器信息可以包括但不限于:主機名稱,CPU、內(nèi)存、磁盤等性能指標(biāo)等。業(yè)務(wù)模塊啟動后,在服務(wù)結(jié)點下創(chuàng)建臨時結(jié)點,即服務(wù)結(jié)點的第二子結(jié)點,云接入控制器將業(yè)務(wù)模塊信息寫入第二子結(jié)點中已使第二子結(jié)點監(jiān)控業(yè)務(wù)模塊的業(yè)務(wù)處理信息,所述業(yè)務(wù)模塊信息可以包括但不限于:主機名稱,模塊名稱,時間段內(nèi)業(yè)務(wù)處理量等。
當(dāng)前監(jiān)控進程獲取服務(wù)器信息和業(yè)務(wù)模塊信息進行監(jiān)控處理。
具體地,監(jiān)控進程啟動后,將服務(wù)結(jié)點下的所有子結(jié)點加入到緩存中并監(jiān)聽所有子結(jié)點的狀態(tài)。如果有子結(jié)點的狀態(tài)發(fā)生改變,則獲取服務(wù)結(jié)點下的所有子結(jié)點。將獲取的服務(wù)結(jié)點下的所有子結(jié)點與緩存中的所有子結(jié)點進行比較,如果緩存中的子結(jié)點在獲取的子結(jié)點中不存在,則監(jiān)控進程認(rèn)為這些不存在的子結(jié)點發(fā)生了異常,監(jiān)控進程向云接入控制器發(fā)送異常消息;如果緩存中的子結(jié)點在獲取的子結(jié)點存在,則監(jiān)控進程獲取子結(jié)點中的服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息發(fā)送給云接入控制器進行處理。
步驟S5:如果當(dāng)前監(jiān)控進程發(fā)生異常,分布式處理框架刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
在本發(fā)明實施方式中,通過監(jiān)控當(dāng)前監(jiān)控進程的孩子結(jié)點,當(dāng)前監(jiān)控進程與根結(jié)點進行信息交互,例如服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息。此外,分布式處理框架預(yù)先設(shè)置時間間隔,例如5分鐘,當(dāng)前監(jiān)控進程根據(jù)時間間隔周期性地向根結(jié)點發(fā)送服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息。
如果根結(jié)點在時間間隔內(nèi)沒有收到當(dāng)前監(jiān)控進程發(fā)送的信息,即監(jiān)控進程終止與根結(jié)點的信息交互,分布式處理框架刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,并將該結(jié)點刪除信息發(fā)送給下一個序列值的孩子結(jié)點。
因為孩子結(jié)點在前一個孩子結(jié)點中設(shè)置狀態(tài)監(jiān)聽回調(diào),當(dāng)下一個序列值的孩子結(jié)點收到前一個孩子結(jié)點的結(jié)點刪除信息時,則認(rèn)為當(dāng)前監(jiān)控進程發(fā)生異常,通過算法從其它備份的監(jiān)控進程中挑選出一個新的監(jiān)控進程接管運行。其中從備份監(jiān)控進程中挑選一個新的監(jiān)控進程接管運行的具體算法在本發(fā)明實施方式中并不作限制。
此外,分布式處理框架再次獲取根結(jié)點下的所有孩子結(jié)點的序列值,并根據(jù)前述的預(yù)設(shè)規(guī)則確定序列值最小的孩子結(jié)點作為新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
如圖2所示,本發(fā)明實施方式提供一種云接入控制器運行狀態(tài)分布式監(jiān)控的系統(tǒng),包括:
云接入控制器,為由多個服務(wù)器以及多個業(yè)務(wù)模塊組成的分布式系統(tǒng),用于設(shè)置多個監(jiān)控進程,其中一個為當(dāng)前監(jiān)控進程,其余為備份監(jiān)控進程;
分布式處理框架,用于創(chuàng)建永久結(jié)點以及在所述永久結(jié)點下創(chuàng)建臨時結(jié)點,所述永久結(jié)點為監(jiān)控所述當(dāng)前監(jiān)控進程的根結(jié)點,所述臨時結(jié)點為所述根結(jié)點的孩子結(jié)點;根據(jù)預(yù)設(shè)規(guī)則,為根結(jié)點下的孩子結(jié)點分配監(jiān)控權(quán)限,擁有所述監(jiān)控權(quán)限的孩子結(jié)點監(jiān)控所述當(dāng)前監(jiān)控進程;所述當(dāng)前監(jiān)控進程監(jiān)控云接入控制器中多個服務(wù)器的服務(wù)器性能數(shù)據(jù)和/或多個業(yè)務(wù)模塊的業(yè)務(wù)處理信息,如果當(dāng)前監(jiān)控進程發(fā)生異常,則刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
其中,
所述分布式處理框架為根結(jié)點下的孩子結(jié)點分配監(jiān)控權(quán)限,具體為:
獲取所述根結(jié)點下的所有孩子結(jié)點的序列值,判斷當(dāng)前孩子結(jié)點的序列值在所有孩子結(jié)點的序列值中是否最??;如果是,則為序列值最小的當(dāng)前孩子結(jié)點分配監(jiān)控權(quán)限;如果否,則當(dāng)前孩子結(jié)點在其前一個孩子結(jié)點中設(shè)置狀態(tài)監(jiān)聽回調(diào),并判斷所述前一個孩子結(jié)點的序列值在所有孩子結(jié)點的序列值中是否最??;直到在所述根結(jié)點下確定出序列值最小的孩子結(jié)點為序列值最小的孩子結(jié)點分配監(jiān)控權(quán)限。
所述分布式處理框架,還具體用于:
在所述根結(jié)點下創(chuàng)建服務(wù)結(jié)點以及在所述服務(wù)結(jié)點下創(chuàng)建子結(jié)點,所述子結(jié)點包括第一子結(jié)點和第二子結(jié)點,其中,所述第一子結(jié)點用于監(jiān)控服務(wù)器的服務(wù)器性能數(shù)據(jù),所述第二子結(jié)點用于監(jiān)控業(yè)務(wù)模塊的業(yè)務(wù)處理信息;當(dāng)前監(jiān)控進程啟動后,將所述服務(wù)結(jié)點下的所有子結(jié)點加入到緩存中并監(jiān)聽所有子結(jié)點的狀態(tài),當(dāng)存在子結(jié)點的狀態(tài)發(fā)生改變時,獲取所述服務(wù)結(jié)點下的所有子結(jié)點,并將獲取的所有子結(jié)點和緩存中的所有子結(jié)點進行比較;如果緩存中的子結(jié)點在獲取的子結(jié)點中不存在,則當(dāng)前監(jiān)控進程判斷出所述不存在的子結(jié)點發(fā)生異常并將異常信息發(fā)送給云接入控制器;如果緩存中的子結(jié)點在獲取的子結(jié)點存在,則當(dāng)前監(jiān)控進程獲取所述存在的子結(jié)點監(jiān)控的服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息并發(fā)送給云接入控制器進行處理。
所述當(dāng)前監(jiān)控進程發(fā)生異常,具體為:
當(dāng)前監(jiān)控進程根據(jù)預(yù)先設(shè)置的時間間隔周期性地發(fā)送服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息;如果在所述時間間隔內(nèi)沒有收到所述當(dāng)前監(jiān)控進程發(fā)送的服務(wù)器性能數(shù)據(jù)和/或業(yè)務(wù)處理信息,則所述當(dāng)前監(jiān)控進程發(fā)生異常。
所述分布式處理框架,還具體用于:
如果當(dāng)前監(jiān)控進程發(fā)生異常,分布式處理框架刪除監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點,并將結(jié)點刪除信息發(fā)送給下一個序列值的孩子結(jié)點;當(dāng)所述下一個序列值的孩子結(jié)點收到所述結(jié)點刪除信息時,向所述根結(jié)點發(fā)送所述當(dāng)前監(jiān)控進程和監(jiān)控所述當(dāng)前監(jiān)控進程的孩子結(jié)點的異常信息,則分布式處理框架從所述備份監(jiān)控進程中確定新的當(dāng)前監(jiān)控進程,并根據(jù)所述預(yù)設(shè)規(guī)則從所述根結(jié)點下的所有孩子結(jié)點中確定新的孩子結(jié)點監(jiān)控新的當(dāng)前監(jiān)控進程。
上述的涉及到的云接入控制器運行狀態(tài)分布式監(jiān)控的系統(tǒng)的具體技術(shù)細節(jié)和云接入控制器運行狀態(tài)分布式監(jiān)控的方法中的類似,故不再具體贅述。
由上可見,本發(fā)明實施方式提供的一種云接入控制器運行狀態(tài)分布式監(jiān)控的方法和系統(tǒng),通過使用分布式監(jiān)控方式,把監(jiān)控置于分布式環(huán)境下,保證在發(fā)生故障時,監(jiān)控系統(tǒng)能實時的發(fā)現(xiàn)系統(tǒng)的運行故障,即使單臺或多臺監(jiān)控進程發(fā)生故障,也能保證監(jiān)控機制的正確運行。
本說明書中的各個實施方式均采用遞進的方式描述,各個實施方式之間相同相似的部分互相參見即可,每個實施方式重點說明的都是與其他實施方式的不同之處。
最后應(yīng)說明的是:上面對本發(fā)明的各種實施方式的描述以描述的目的提供給本領(lǐng)域技術(shù)人員。其不旨在是窮舉的、或者不旨在將本發(fā)明限制于單個公開的實施方式。如上所述,本發(fā)明的各種替代和變化對于上述技術(shù)所屬領(lǐng)域技術(shù)人員而言將是顯而易見的。因此,雖然已經(jīng)具體討論了一些另選的實施方式,但是其它實施方式將是顯而易見的,或者本領(lǐng)域技術(shù)人員相對容易得出。本發(fā)明旨在包括在此已經(jīng)討論過的本發(fā)明的所有替代、修改、和變化,以及落在上述申請的精神和范圍內(nèi)的其它實施方式。