亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控系統(tǒng)及實(shí)現(xiàn)方法與流程

文檔序號(hào):12478494閱讀:1248來(lái)源:國(guó)知局
一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控系統(tǒng)及實(shí)現(xiàn)方法與流程

本發(fā)明涉及分布式系統(tǒng)和監(jiān)控技術(shù)領(lǐng)域,特別是一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控系統(tǒng)及實(shí)現(xiàn)方法。



背景技術(shù):

分布式系統(tǒng)實(shí)現(xiàn)過(guò)程中,經(jīng)常需要對(duì)各個(gè)分布式節(jié)點(diǎn)服務(wù)進(jìn)行狀態(tài)監(jiān)控管理,以確保系統(tǒng)能夠?qū)崟r(shí)的掌握各個(gè)節(jié)點(diǎn)服務(wù)的運(yùn)行情況,保證服務(wù)控制器能夠?qū)⒄?qǐng)求正確的轉(zhuǎn)發(fā)到各個(gè)正常的節(jié)點(diǎn)服務(wù)進(jìn)行處理。目前通常的監(jiān)控方法為:監(jiān)控端定時(shí)向各個(gè)被監(jiān)控端發(fā)送網(wǎng)絡(luò)包,通過(guò)節(jié)點(diǎn)服務(wù)的響應(yīng)情況來(lái)判斷各個(gè)服務(wù)的狀態(tài)信息,然后更新到數(shù)據(jù)庫(kù)進(jìn)行保存。這種方法可行但是存在如下弊端:

1、監(jiān)控?cái)?shù)據(jù)量大。每個(gè)定時(shí)周期內(nèi),監(jiān)控端和所有被監(jiān)控端之間需要至少兩次數(shù)據(jù)通信才能實(shí)現(xiàn)狀態(tài)的實(shí)時(shí)更新。

2、數(shù)據(jù)庫(kù)操作頻繁。沒(méi)有內(nèi)存緩存機(jī)制帶來(lái)所有數(shù)據(jù)都必須經(jīng)過(guò)數(shù)據(jù)庫(kù)操作才能獲取,并且需要針對(duì)每一條數(shù)據(jù)庫(kù)記錄進(jìn)行相應(yīng)的輪詢(xún)判斷處理。

3、監(jiān)控?cái)?shù)據(jù)信息不對(duì)稱(chēng)。網(wǎng)絡(luò)通信的延遲以及數(shù)據(jù)庫(kù)操作的大負(fù)載很容易引起分布式節(jié)點(diǎn)服務(wù)的狀態(tài)更新不及時(shí),出現(xiàn)信息不對(duì)稱(chēng)現(xiàn)象。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明解決的技術(shù)問(wèn)題之一在于提出了一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控系統(tǒng),保證了分布式節(jié)點(diǎn)服務(wù)狀態(tài)的實(shí)時(shí)性和準(zhǔn)確性。

本發(fā)明解決的技術(shù)問(wèn)題之二在于提出了一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控方法,保證了分布式節(jié)點(diǎn)服務(wù)狀態(tài)的實(shí)時(shí)性和準(zhǔn)確性。

本發(fā)明解決上述技術(shù)問(wèn)題之一的技術(shù)方案是:

所述的系統(tǒng)包括服務(wù)控制器模塊和節(jié)點(diǎn)服務(wù)兩大模塊;

所述節(jié)點(diǎn)服務(wù)模塊分布在各個(gè)分布式節(jié)點(diǎn),服務(wù)啟動(dòng)時(shí)讀取配置文件并定時(shí)上報(bào)節(jié)點(diǎn)服務(wù)信息到所述服務(wù)控制器模塊;

所述服務(wù)控制器模塊進(jìn)一步包括通信子模塊、定時(shí)器子模塊、內(nèi)存緩存和數(shù)據(jù)庫(kù)子模塊;

所述通信子模塊負(fù)責(zé)與所述節(jié)點(diǎn)服務(wù)模塊通信,接受各節(jié)點(diǎn)服務(wù)的信息匯報(bào)并保存到內(nèi)存緩存;

所述的內(nèi)存緩存是指服務(wù)控制器在系統(tǒng)內(nèi)存中開(kāi)辟了一塊內(nèi)存空間,用以存放各個(gè)節(jié)點(diǎn)服務(wù)信息的結(jié)構(gòu)化數(shù)據(jù);

所述的定時(shí)器子模塊讀取并過(guò)濾內(nèi)存緩存中的節(jié)點(diǎn)服務(wù)信息,調(diào)用數(shù)據(jù)庫(kù)子模塊讀取數(shù)據(jù)庫(kù)中節(jié)點(diǎn)服務(wù)狀態(tài)信息;然后,同步內(nèi)存緩存和數(shù)據(jù)庫(kù)節(jié)點(diǎn)服務(wù)信息;

所述的數(shù)據(jù)庫(kù)子模塊負(fù)責(zé)數(shù)據(jù)庫(kù)操作,包括:數(shù)據(jù)庫(kù)對(duì)應(yīng)表中節(jié)點(diǎn)服務(wù)信息的寫(xiě)入、讀取和更新。

所述配置文件包括有服務(wù)控制器所在節(jié)點(diǎn)的主機(jī)名和通信服務(wù)IP地址。

所述的結(jié)構(gòu)化數(shù)據(jù)是指包括節(jié)點(diǎn)名稱(chēng)和節(jié)點(diǎn)對(duì)象的結(jié)構(gòu)數(shù)據(jù);所述的節(jié)點(diǎn)對(duì)象進(jìn)一步包括節(jié)點(diǎn)名稱(chēng)、節(jié)點(diǎn)IP、節(jié)點(diǎn)服務(wù)注冊(cè)時(shí)間、節(jié)點(diǎn)服務(wù)更新時(shí)間、節(jié)點(diǎn)服務(wù)狀態(tài)更新次數(shù)。

本發(fā)明解決上述技術(shù)問(wèn)題之二的技術(shù)方案是:

所述的方法包括如下步驟:

(1)節(jié)點(diǎn)服務(wù)啟動(dòng)時(shí)讀取配置文件并定時(shí)上報(bào)節(jié)點(diǎn)服務(wù)信息到所述服務(wù)控制器模塊;

(2)通信子模塊接受各節(jié)點(diǎn)服務(wù)的信息匯報(bào)并保存在內(nèi)存緩存;

(3)控制定時(shí)器子模塊讀取并過(guò)濾內(nèi)存緩存中的節(jié)點(diǎn)服務(wù)信息;

(4)控制定時(shí)器子模塊調(diào)用數(shù)據(jù)庫(kù)子模塊讀取數(shù)據(jù)庫(kù)中節(jié)點(diǎn)服務(wù)信息;

(5)控制定時(shí)器子模塊同步內(nèi)存緩存和數(shù)據(jù)庫(kù)節(jié)點(diǎn)服務(wù)信息。

所述的過(guò)濾內(nèi)存緩存中的節(jié)點(diǎn)服務(wù)信息具體包括:

依次讀取內(nèi)存緩存中保存的各個(gè)節(jié)點(diǎn)服務(wù)信息;

判斷節(jié)點(diǎn)服務(wù)更新時(shí)間與當(dāng)前時(shí)間的差值是否滿(mǎn)足服務(wù)更新超時(shí)時(shí)間;

移除服務(wù)更新超時(shí)的節(jié)點(diǎn)服務(wù)。

所述定時(shí)器子模塊作為服務(wù)控制器模塊中啟動(dòng)的一個(gè)定時(shí)線(xiàn)程,實(shí)現(xiàn)節(jié)點(diǎn)服務(wù)信息的讀取、調(diào)用、同步。

由數(shù)據(jù)庫(kù)子模塊負(fù)責(zé)數(shù)據(jù)庫(kù)操作,具體包括:

將節(jié)點(diǎn)服務(wù)信息寫(xiě)入數(shù)據(jù)庫(kù)對(duì)應(yīng)表中保存;

從數(shù)據(jù)庫(kù)對(duì)應(yīng)表中讀取節(jié)點(diǎn)服務(wù)信息數(shù)據(jù);

更新數(shù)據(jù)庫(kù)對(duì)應(yīng)表中的節(jié)點(diǎn)服務(wù)信息。

所述的同步內(nèi)存緩存與數(shù)據(jù)庫(kù)節(jié)點(diǎn)服務(wù)信息是指將過(guò)濾后的節(jié)點(diǎn)服務(wù)進(jìn)一步與數(shù)據(jù)庫(kù)中的節(jié)點(diǎn)服務(wù)信息進(jìn)行同步,具體包括:

內(nèi)存緩存有,數(shù)據(jù)庫(kù)沒(méi)有的,需要新增和修改為節(jié)點(diǎn)服務(wù)為連接狀態(tài);

數(shù)據(jù)庫(kù)有,內(nèi)存緩存沒(méi)有的,需要修改為節(jié)點(diǎn)服務(wù)為失去連接狀態(tài)。

本發(fā)明方案的有益效果如下:

1、本發(fā)明提供一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控方法,可以保證對(duì)分布式系統(tǒng)中分布式節(jié)點(diǎn)服務(wù)狀態(tài)的實(shí)時(shí)性和準(zhǔn)確性監(jiān)控。

2、本發(fā)明的方法具有輕量級(jí)性和通用性,可以快速的集成到已存在的分布式系統(tǒng)服務(wù)中;避免了采用開(kāi)源監(jiān)控工具或者緩存工具所帶來(lái)的復(fù)雜性。

3、本發(fā)明提供的服務(wù)監(jiān)控方法架構(gòu)更新穎。采用了一種逆向思維監(jiān)控實(shí)現(xiàn)方法,被監(jiān)控端主動(dòng)匯報(bào)狀態(tài)信息到監(jiān)控端,監(jiān)控端只需要定時(shí)維護(hù)本地內(nèi)存緩存數(shù)據(jù)和數(shù)據(jù)庫(kù)的同步即可;并且在同步的過(guò)程中采用先對(duì)緩存過(guò)濾后與數(shù)據(jù)庫(kù)同步的方法來(lái)提高同步效率。

附圖說(shuō)明

下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明:

圖1為本發(fā)明的流程圖。

圖2為本發(fā)明的架構(gòu)圖。

具體實(shí)施方式

本發(fā)明提出一種逆向的思維方法,采用被監(jiān)控端主動(dòng)定時(shí)向監(jiān)控服務(wù)端匯報(bào)節(jié)點(diǎn)服務(wù)狀態(tài)的形式,監(jiān)控服務(wù)端通過(guò)內(nèi)存緩存各節(jié)點(diǎn)上報(bào)的服務(wù)信息,然后利用定時(shí)線(xiàn)程并執(zhí)行先過(guò)濾內(nèi)存緩存內(nèi)容、后同步數(shù)據(jù)庫(kù)數(shù)據(jù)的方法來(lái)實(shí)現(xiàn)分布式系統(tǒng)中節(jié)點(diǎn)服務(wù)監(jiān)控的實(shí)時(shí)性和正確性。

請(qǐng)參見(jiàn)圖1、2,為本發(fā)明實(shí)施例所提供的一種適用于分布式系統(tǒng)的節(jié)點(diǎn)服務(wù)監(jiān)控方法流程圖。下面分別對(duì)其各個(gè)流程具體實(shí)現(xiàn)進(jìn)行描述。

首先節(jié)點(diǎn)服務(wù)模塊配置文件部分如下:

[root@gcloud51108~]#cat/etc/gcloud-appdeploy-node.cfg

#gcloud日志輸出配置,debug是開(kāi)發(fā)模式,release是生產(chǎn)模式

LOG_PROPERTIES=debug

#配置應(yīng)用服務(wù)控制器節(jié)點(diǎn)名字

CONTROLLER_HOSTNAME=gcloud5161

#RabbitMq服務(wù)端通信IP

RABBITMQ_SERVER_IP=20.251.51.61

……

節(jié)點(diǎn)服務(wù)模塊和服務(wù)控制器模塊通信過(guò)程中共同使用的節(jié)點(diǎn)服務(wù)信息元數(shù)據(jù)結(jié)構(gòu)定義:

服務(wù)控制器模塊定義節(jié)點(diǎn)信息管理類(lèi),采用單例模式,節(jié)點(diǎn)服務(wù)信息都緩存在此單例對(duì)象中:

服務(wù)控制器模塊的通信子模塊主要負(fù)責(zé)與各個(gè)節(jié)點(diǎn)的通信,并將接受到的節(jié)點(diǎn)信息進(jìn)行注冊(cè),保存到內(nèi)存緩存中,具體定義如下:

接著定義本發(fā)明最重要的服務(wù)控制器定時(shí)器子模塊:

以上描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出實(shí)質(zhì)性創(chuàng)造所獲得的方案,都屬于本發(fā)明保護(hù)的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1