本發(fā)明涉及網(wǎng)絡(luò)管理設(shè)計(jì)技術(shù)領(lǐng)域,特別是涉及一種基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)。
背景技術(shù):
依據(jù)產(chǎn)品需求定義,管理網(wǎng)絡(luò)需要對(duì)外提供對(duì)應(yīng)查詢(xún)、配置的操作接口,保證網(wǎng)絡(luò)冗余性以及自主選擇鏈路的特性。且用戶(hù)請(qǐng)求既針對(duì)本節(jié)點(diǎn),也可以針對(duì)集群內(nèi)其他節(jié)點(diǎn)。因此,提供一種基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)是非常有必要的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng),以滿(mǎn)足產(chǎn)品特定需求,方便用戶(hù)進(jìn)行查詢(xún)、配置管理操作。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng),包括:
用戶(hù)管理模塊以及daemon守護(hù)模塊;
其中,所述用戶(hù)管理模塊用于接收用戶(hù)輸入的操作指令,并將所述操作指令發(fā)送至所述daemon守護(hù)模塊;
所述daemon守護(hù)模塊用于對(duì)所述操作指令進(jìn)行解析,執(zhí)行相應(yīng)的操作;并獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息、網(wǎng)絡(luò)內(nèi)鏈路狀態(tài)信息,對(duì)網(wǎng)絡(luò)進(jìn)行配置,對(duì)生成的日志信息進(jìn)行管理。
可選地,所述daemon守護(hù)模塊包括:
IP查詢(xún)單元,用于定時(shí)獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息,并由第一控制塊結(jié)構(gòu)進(jìn)行維護(hù);
鏈路狀態(tài)查詢(xún)單元,用于定時(shí)查詢(xún)網(wǎng)絡(luò)內(nèi)鏈路狀態(tài),并由第二控制塊結(jié)構(gòu)進(jìn)行維護(hù);
網(wǎng)絡(luò)配置單元,用于根據(jù)多個(gè)變量,對(duì)網(wǎng)絡(luò)進(jìn)行配置;
日志管理單元,用于對(duì)生成的事件日志以及審計(jì)日志進(jìn)行管理。
可選地,所述用戶(hù)管理模塊與所述daemon守護(hù)模塊之間通過(guò)socket進(jìn)程進(jìn)行通信。
可選地,采用epoll機(jī)制進(jìn)行socket進(jìn)程管理。
可選地,所述daemon守護(hù)模塊為獨(dú)立于終端運(yùn)行在后臺(tái)的模塊。
可選地,所述IP查詢(xún)單元具體為由獨(dú)立線(xiàn)程定時(shí)維護(hù),采用pthread+sleep的方式定時(shí)獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息的單元。
可選地,所述日志管理單元為借助syslog機(jī)制寫(xiě)入文件的方式進(jìn)行維護(hù)的單元。
可選地,所述事件日志包括鏈路異常/恢復(fù)日志類(lèi)型,所述審計(jì)日志包括用戶(hù)執(zhí)行查詢(xún)、配置請(qǐng)求的日志記錄。
本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng),包括用戶(hù)管理模塊以及daemon守護(hù)模塊;其中,用戶(hù)管理模塊用于接收用戶(hù)輸入的操作指令,并將操作指令發(fā)送至daemon守護(hù)模塊;daemon守護(hù)模塊用于對(duì)操作指令進(jìn)行解析,執(zhí)行相應(yīng)的操作;并獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息、網(wǎng)絡(luò)內(nèi)鏈路狀態(tài)信息,對(duì)網(wǎng)絡(luò)進(jìn)行配置,對(duì)生成的日志信息進(jìn)行管理。本申請(qǐng)不限定維護(hù)節(jié)點(diǎn)數(shù)量,便于集群內(nèi)節(jié)點(diǎn)擴(kuò)展操作;能夠?qū)崿F(xiàn)集群內(nèi)本節(jié)點(diǎn)以及跨節(jié)點(diǎn)查詢(xún)、配置的需求,從而滿(mǎn)足了產(chǎn)品的特定需求,方便了用戶(hù)進(jìn)行查詢(xún)、配置管理工作。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)的一種具體實(shí)施方式的結(jié)構(gòu)框圖;
圖2為本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)中daemon守護(hù)模塊的結(jié)構(gòu)框圖;
圖3為本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)的啟動(dòng)過(guò)程流程圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)的一種具體實(shí)施方式的結(jié)構(gòu)框圖如圖1所示,該系統(tǒng)包括:
用戶(hù)管理模塊1以及daemon守護(hù)模塊2;
其中,所述用戶(hù)管理模塊1用于接收用戶(hù)輸入的操作指令,并將所述操作指令發(fā)送至所述daemon守護(hù)模塊2;
所述daemon守護(hù)模塊2用于對(duì)所述操作指令進(jìn)行解析,執(zhí)行相應(yīng)的操作;并獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息、網(wǎng)絡(luò)內(nèi)鏈路狀態(tài)信息,對(duì)網(wǎng)絡(luò)進(jìn)行配置,對(duì)生成的日志信息進(jìn)行管理。
本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng),包括用戶(hù)管理模塊以及daemon守護(hù)模塊;其中,用戶(hù)管理模塊用于接收用戶(hù)輸入的操作指令,并將操作指令發(fā)送至daemon守護(hù)模塊;daemon守護(hù)模塊用于對(duì)操作指令進(jìn)行解析,執(zhí)行相應(yīng)的操作;并獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息、網(wǎng)絡(luò)內(nèi)鏈路狀態(tài)信息,對(duì)網(wǎng)絡(luò)進(jìn)行配置,對(duì)生成的日志信息進(jìn)行管理。本申請(qǐng)不限定維護(hù)節(jié)點(diǎn)數(shù)量,便于集群內(nèi)節(jié)點(diǎn)擴(kuò)展操作;能夠?qū)崿F(xiàn)集群內(nèi)本節(jié)點(diǎn)以及跨節(jié)點(diǎn)查詢(xún)、配置的需求,從而滿(mǎn)足了產(chǎn)品的特定需求,方便了用戶(hù)進(jìn)行查詢(xún)、配置管理工作。
在上述實(shí)施例的基礎(chǔ)上,如圖2本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)中daemon守護(hù)模塊的結(jié)構(gòu)框圖所示,daemon守護(hù)模塊2可以具體包括:
IP查詢(xún)單元21,用于定時(shí)獲取集群內(nèi)所有節(jié)點(diǎn)的IP信息,并由第一控制塊結(jié)構(gòu)進(jìn)行維護(hù);
其中,IP查詢(xún)單元21由獨(dú)立線(xiàn)程定時(shí)維護(hù),采用pthread+sleep方式,定時(shí)獲取集群內(nèi)所有節(jié)點(diǎn)IP信息,并由特定控制塊結(jié)構(gòu)進(jìn)行維護(hù)。
鏈路狀態(tài)查詢(xún)單元22,用于定時(shí)查詢(xún)網(wǎng)絡(luò)內(nèi)鏈路狀態(tài),并由第二控制塊結(jié)構(gòu)進(jìn)行維護(hù);
其中,鏈路狀態(tài)查詢(xún)單元22也是由獨(dú)立線(xiàn)程維護(hù),定時(shí)查詢(xún)網(wǎng)絡(luò)內(nèi)鏈路狀態(tài)并由特定控制塊進(jìn)行維護(hù),為上游模塊數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)提供鏈路選擇依據(jù);
網(wǎng)絡(luò)配置單元23,用于根據(jù)多個(gè)變量,對(duì)網(wǎng)絡(luò)進(jìn)行配置;
網(wǎng)絡(luò)配置模塊主要借助server-local/server-inet進(jìn)行當(dāng)前節(jié)點(diǎn)及跨節(jié)點(diǎn)操作,從而滿(mǎn)足任意節(jié)點(diǎn)登陸都可以對(duì)集群內(nèi)其他節(jié)點(diǎn)配置的需求。
日志管理單元24,用于對(duì)生成的事件日志以及審計(jì)日志進(jìn)行管理。
日志管理單元24借助syslog機(jī)制寫(xiě)入文件的方式進(jìn)行維護(hù),日志管理單元24主要包含事件日志和審計(jì)日志兩類(lèi),事件日志主要包含鏈路異常/恢復(fù)等日志類(lèi)型,審計(jì)日志包含用戶(hù)執(zhí)行查詢(xún)、配置請(qǐng)求的日志記錄;其中admin進(jìn)程與daemon進(jìn)程之間選擇AF_LOCAL的socket策略通信,AF_LOCAL類(lèi)型無(wú)需綁定IP,只綁定自定義path即可??绻?jié)點(diǎn)的操作則需要AF_INET策略支持,即daemon需要啟動(dòng)兩種監(jiān)聽(tīng)類(lèi)型的socket,即server-local/server-inet,且節(jié)點(diǎn)間互為server/client,進(jìn)而任意節(jié)點(diǎn)均可以發(fā)起AF_INET請(qǐng)求。
上述單元之間相互獨(dú)立,由daemon守護(hù)模塊負(fù)責(zé)串聯(lián)交互。用戶(hù)操作過(guò)程會(huì)通過(guò)用戶(hù)管理模塊下發(fā)對(duì)應(yīng)指令,daemon守護(hù)模塊依據(jù)cmd解析內(nèi)容判斷下一步操作,且daemon進(jìn)程與admin用戶(hù)管理進(jìn)程采用socket進(jìn)程通信機(jī)制,主要因?yàn)閐aemon是passive類(lèi)型,常規(guī)pipe、shm、msg queue適用于initiative-initiative模式。
進(jìn)一步地,本實(shí)施例中用戶(hù)管理模塊1與daemon守護(hù)模塊2之間通過(guò)socket進(jìn)程進(jìn)行通信。其中,采用epoll機(jī)制進(jìn)行socket進(jìn)程管理。
daemon后臺(tái)進(jìn)程維護(hù)兩個(gè)三個(gè)主要線(xiàn)程,分別為:(1)socket監(jiān)聽(tīng)進(jìn)程;(2)鏈路維護(hù)巡檢線(xiàn)程;(3)IP信息維護(hù)線(xiàn)程。由于任意節(jié)點(diǎn)可能同時(shí)存在多個(gè)鏈接請(qǐng)求,故需進(jìn)行socket管理,本實(shí)施例選擇epoll機(jī)制進(jìn)行管理,epoll機(jī)制的優(yōu)點(diǎn)在存在select機(jī)制隨socket增加遍歷效率降低的情況,故epoll機(jī)制特別適用于大量鏈接請(qǐng)求的場(chǎng)景。
在上述任一實(shí)施例的基礎(chǔ)上,daemon守護(hù)模塊可以具體為獨(dú)立于終端運(yùn)行在后臺(tái)的模塊。
需要指出的是,本實(shí)施例中各主要功能管理模塊均運(yùn)行于daemon后臺(tái)進(jìn)程,獨(dú)立于終端存在,并實(shí)現(xiàn)用戶(hù)操作管理進(jìn)程與其交互,方便用戶(hù)進(jìn)行查詢(xún)、配置管理工作。
下面對(duì)本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)的啟動(dòng)過(guò)程進(jìn)行闡述,如圖3本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)的啟動(dòng)過(guò)程流程圖所示,該過(guò)程包括:
系統(tǒng)啟動(dòng)后,首先需要依據(jù)當(dāng)前集群內(nèi)節(jié)點(diǎn)網(wǎng)絡(luò)信息創(chuàng)建對(duì)應(yīng)管理維護(hù)表,便于后續(xù)查詢(xún)、更新等操作;然后需要將監(jiān)聽(tīng)套接字進(jìn)行維護(hù)管理,為后續(xù)添加epoll做準(zhǔn)備工作;然后將當(dāng)前服務(wù)進(jìn)程設(shè)置為daemon進(jìn)程,脫離終端限制;設(shè)置完daemon進(jìn)程將前面維護(hù)的監(jiān)聽(tīng)socket添加至epoll;最后啟動(dòng)鏈路狀態(tài)維護(hù)線(xiàn)程以及IP信息維護(hù)線(xiàn)程獨(dú)立運(yùn)行于后臺(tái)即可。
本發(fā)明依據(jù)特定產(chǎn)品開(kāi)發(fā)需求,提出了一種滿(mǎn)足集群內(nèi)當(dāng)前節(jié)點(diǎn)以及跨節(jié)點(diǎn)查詢(xún)、配置操作功能的系統(tǒng),本申請(qǐng)具有下述優(yōu)點(diǎn):
(1)不限定維護(hù)節(jié)點(diǎn)數(shù)量,便于集群內(nèi)節(jié)點(diǎn)擴(kuò)展操作;
(2)同時(shí)滿(mǎn)足本節(jié)點(diǎn)與跨節(jié)點(diǎn)操作;
(3)采用epoll事件監(jiān)控機(jī)制,保證了大量socket鏈接下無(wú)性能的影響。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
專(zhuān)業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上對(duì)本發(fā)明所提供的基于daemon模式的管理網(wǎng)絡(luò)系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。