專利名稱:一種監(jiān)控采集系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種監(jiān)控采集系統(tǒng)及方法。
背景技術(shù):
隨著計算機技術(shù)的快速發(fā)展,數(shù)據(jù)處理量的急劇增長,服務(wù)器集群在計算機應(yīng)用技術(shù)領(lǐng)域得到了廣泛應(yīng)用。所謂服務(wù)器集群是指多個服務(wù)器集中起來共同完成任務(wù),在客戶端看來就像是只有一個服務(wù)器;服務(wù)器集群可以利用多個計算機進行并行計算,從而獲得很高的計算速度,也可以用多個計算機做備份,從而保證任何一個機器出現(xiàn)故障,并不會影響整個系統(tǒng)的正常運行。服務(wù)器集群在處理大規(guī)模數(shù)據(jù)時,需要實時監(jiān)控,需要實時進行數(shù)據(jù)采集,且采集的任務(wù)量大,任務(wù)種類眾多。目前,采用的分布式任務(wù)系統(tǒng)對服務(wù)器集群系統(tǒng)進行監(jiān)控管理,具體是:采用單任務(wù)分發(fā)單元和多任務(wù)執(zhí)行單元的工作模式,通過單任務(wù)分發(fā)單元將多個任務(wù)分配給不同的任務(wù)執(zhí)行單元進行處理。當任務(wù)量超過任務(wù)分發(fā)單元處理能力的上限時,大量任務(wù)將無法順利按時得到分配執(zhí)行,甚至,會導(dǎo)致任務(wù)丟失的問題。另外,整個系統(tǒng)的任務(wù)調(diào)度處理是通過任務(wù)執(zhí)行單元對自身負載狀況進行監(jiān)控,將負載狀況信息反饋給控制中心,單任務(wù)分發(fā)單元根據(jù)這些負載 狀況信息再進行任務(wù)的合理分配。這種監(jiān)控管理方式,只能實現(xiàn)每個任務(wù)執(zhí)行單元自身的負載均衡,會造成局部任務(wù)執(zhí)行單元繁忙或者空閑的狀態(tài),無法實現(xiàn)整個系統(tǒng)全局性的負載均衡,無法使得系統(tǒng)的資源得到合理利用。另外,當任務(wù)執(zhí)行單元出現(xiàn)故障導(dǎo)致執(zhí)行出錯或者服務(wù)異常停止的情況時,會造成當前執(zhí)行任務(wù)丟失或者數(shù)據(jù)錯誤的問題,更嚴重的會導(dǎo)致系統(tǒng)無法正常工作?;谏鲜黾夹g(shù)存在的技術(shù)問題,現(xiàn)在迫切需要提供一種新的監(jiān)控采集系統(tǒng)以提高系統(tǒng)的處理能力、系統(tǒng)資源利用率和系統(tǒng)穩(wěn)定性。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種監(jiān)控采集系統(tǒng)及方法,以提高系統(tǒng)的處理能力、系統(tǒng)資源利用率和系統(tǒng)穩(wěn)定性。本申請實施例公開了如下技術(shù)方案:一種監(jiān)控采集系統(tǒng),包括:任務(wù)分發(fā)單元、至少兩個任務(wù)執(zhí)行單元、健康監(jiān)控單元和負載均衡單元;所述任務(wù)分發(fā)單元,用于根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述任務(wù)執(zhí)行單元,用于執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元,用于監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元,用于根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。
優(yōu)選的,所述健康監(jiān)控單元,包括:獲取子模塊,用于獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息和負載信息,所述負載信息包括=CPU負載信息、內(nèi)存使用率、磁盤IO信息和網(wǎng)絡(luò)IO信息;記錄子模塊,用于記錄所述獲取子模塊獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息記和負載信息。優(yōu)選的,所述健康監(jiān)控單元,還包括:反饋子模塊一,用于將監(jiān)控到的異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息直接發(fā)送至所述任務(wù)分發(fā)模塊。則所述任務(wù)分發(fā)單元,還用于根據(jù)反饋子模塊反饋的信息將出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元中未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元分配新任務(wù)。優(yōu)選的,所述健康監(jiān)控單 元,還包括:反饋子模塊二,用于將監(jiān)控到的異常或者高負載的功能單元信息反饋給系統(tǒng)維護模塊,以便及時進行故障處理。優(yōu)選的,所述負載均衡單元,包括:去除子模塊,用于根據(jù)所述健康監(jiān)控單元得到的工作狀態(tài)信息,去除出現(xiàn)異常和沒有啟動的任務(wù)執(zhí)行單元信息;排序子模塊,用于根據(jù)所述健康監(jiān)控單元得到的負載信息,對去除之后的所有的任務(wù)執(zhí)行單元進行排序,得到每個任務(wù)執(zhí)行單元的負載均衡指標。優(yōu)選的,還包括:至少一個任務(wù)分發(fā)單元,則所述系統(tǒng)為每一個任務(wù)分發(fā)單元都配置各自的資源管理范圍,所述資源管理范圍包括:管理的服務(wù)器和任務(wù)執(zhí)行單元;所述任意一個分發(fā)單元,用于根據(jù)負載均衡單元確定的負載均衡指標將獲取到的任務(wù)分配給自身管理的任務(wù)執(zhí)行單元。優(yōu)選的,所述健康監(jiān)控單元,還包括:監(jiān)控子模塊,用于監(jiān)控每一個任務(wù)分發(fā)單元的工作狀態(tài)和負載;則所述負載均衡單元,還包括:調(diào)整子模塊,用于根據(jù)所述監(jiān)控子模塊監(jiān)控到的信息,將出現(xiàn)異?;蛘哓撦d過高的任務(wù)分發(fā)單元所管理的服務(wù)器資源和任務(wù)執(zhí)行單元,根據(jù)負載情況配置給其他任務(wù)分發(fā)單元。優(yōu)選的,所述健康控制單元,用于將獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息存儲在系統(tǒng)功能單元狀態(tài)表中,將獲取的每一個任務(wù)執(zhí)行單元的負載信息存儲在系統(tǒng)功能單元負載表;則所述負載均衡單元,用于從系統(tǒng)功能單元狀態(tài)表和系統(tǒng)功能單元負載表中獲取狀態(tài)信息和負載信息,以確定任務(wù)執(zhí)行單元的負載均衡指標。優(yōu)選的,所述任務(wù)分發(fā)單元,還用于根據(jù)控制命令類別和參數(shù),啟動或者停止所述系統(tǒng)中的其他單元。優(yōu)選的,還包括:策略配置單元,用于根據(jù)所述任務(wù)分發(fā)單元發(fā)送的任務(wù)信息,查找對應(yīng)的策略規(guī)則并分析和規(guī)格化相應(yīng)任務(wù),并將結(jié)果反饋給所述任務(wù)分發(fā)單元。優(yōu)選的,所述策略配置單元,包括:策略接收子單元,用于讀取數(shù)據(jù)庫或者配置文件中的策略信息;策略分析子單元,用于根據(jù)任務(wù)分發(fā)單元發(fā)送的任務(wù)信息,在所述策略信息中查找與任務(wù)信息對應(yīng)的策略;策略控制子模塊,用于將所查找到的對應(yīng)的策略發(fā)送至所述任務(wù)分發(fā)單元,以便執(zhí)行策略。優(yōu)選的,所述健康監(jiān)控單元,還用于監(jiān)控所述策略控制單元和均衡負載單元的工作狀態(tài)。本發(fā)明還提供了一種監(jiān)控采集方法,包括:從采集監(jiān)控任務(wù)隊列中讀取任務(wù);將讀取到的任務(wù)根據(jù)負載均衡指標分配給對應(yīng)的任務(wù)執(zhí)行單元,所述負載均衡指標是通過獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)和負載,對獲取到的信息進行處理得到的,用于標識每一個任務(wù)執(zhí)行單元的處理能力的指標;執(zhí)行任務(wù)并記錄所述任務(wù)的執(zhí)行狀態(tài)和執(zhí)行結(jié)果。優(yōu)選的,還包括:獲取出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息;將出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元中的未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異常或`者高負載的任務(wù)執(zhí)行單元分配新任務(wù)。優(yōu)選的,還包括:將出現(xiàn)異常的任務(wù)執(zhí)行單元信息反饋給系統(tǒng)故障處理單元,以便及時處理故障。由上述實施例可以看出,本發(fā)明提供的一種監(jiān)控采集系統(tǒng),包括:任務(wù)分發(fā)單元、任務(wù)執(zhí)行單元、健康監(jiān)控單元和負載均衡單元;所述任務(wù)分發(fā)單元,用于根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述任務(wù)執(zhí)行單元,用于執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元,用于監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元,用于根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。該系統(tǒng)通過健康監(jiān)控單元能夠及時監(jiān)測到故障,并通知任務(wù)分發(fā)單元做適應(yīng)性處理。同時通過負載均衡單元能夠?qū)崿F(xiàn)全局的負載均衡處理,減少了任務(wù)分配不均勻的情況??梢?本該系統(tǒng)能夠提高系統(tǒng)的處理能力、系統(tǒng)資源利用率和系統(tǒng)穩(wěn)定性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實施例一揭示的一種監(jiān)控采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖2為本申請實施例二揭示的另一種監(jiān)控采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖3為本申請揭示的另一種監(jiān)控采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖4為本申請揭示的另一種監(jiān)控采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖5為本申請實施例三揭示的一種監(jiān)控采集方法的方法流程圖;圖6為本申請實施例三揭示的獲取均衡負載指標的方法流程圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。實施例一請參閱圖1,其為本申請實施例一揭示的一種監(jiān)控采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)以包含N個任務(wù)執(zhí)行單元,N大于等于2,具體包括:任務(wù)分發(fā)單元101、任務(wù)執(zhí)行單元I N、健康監(jiān)控單元103·和負載均衡單元104 ;下面結(jié)合該系統(tǒng)的工作原理進一步介紹其內(nèi)部結(jié)構(gòu)以及各個單元之間的連接關(guān)系。所述任務(wù)分發(fā)單元101,用于根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述任務(wù)執(zhí)行單元I N,用于執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元103,用于監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元104,用于根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。當監(jiān)控采集系統(tǒng)啟動后,任務(wù)分發(fā)單元101從采集監(jiān)控任務(wù)隊列中獲取需要處理的任務(wù),系統(tǒng)的采集監(jiān)控任務(wù)一般是根據(jù)任務(wù)種類、任務(wù)執(zhí)行方式、任務(wù)執(zhí)行時間等信息,按照執(zhí)行時間戳存儲在采集監(jiān)控任務(wù)隊列中。目前,對于系統(tǒng)會有一些固定的控制策略以便執(zhí)行任務(wù),任務(wù)分發(fā)單元101根據(jù)固定的控制策略進行分配任務(wù)。所述健康監(jiān)控單元103,按照一定的時間間隔讀取系統(tǒng)中每一個任務(wù)執(zhí)行單元的工作狀態(tài)和負載。負載一般包括=CPU負載信息、內(nèi)存使用率、磁盤IO信息和網(wǎng)絡(luò)IO信息。工作狀態(tài)一般指功能單元正?;蛘弋惓?。所述負載均衡單元104,讀取每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息和負載信息,過濾掉讀取到的出現(xiàn)異?;蛘邲]有啟動的任務(wù)執(zhí)行單元信息,根據(jù)負載信息將剩余的任務(wù)執(zhí)行單元進行排序后,得到剩余的任務(wù)執(zhí)行單元的負載均衡指標。任務(wù)分發(fā)單元101從負載均衡單元104中讀取根據(jù)負載均衡單元104得到的負載均衡指標,根據(jù)任務(wù)執(zhí)行單元的負載均衡指標的不同,將任務(wù)分配給N個任務(wù)執(zhí)行單元中的任意一個。由上述實施例可以看出,本發(fā)明提供的一種監(jiān)控采集系統(tǒng),通過所述任務(wù)分發(fā)單元,根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述任務(wù)執(zhí)行單元,對接收到的任務(wù)執(zhí)行監(jiān)控采集,并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元,監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元,根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。該系統(tǒng)通過健康監(jiān)控單元能夠及時監(jiān)測到故障,并通知任務(wù)分發(fā)單元做適應(yīng)性處理。同時通過負載均衡單元能夠?qū)崿F(xiàn)全局的負載均衡處理,減少了任務(wù)分配不均勻的情況??梢?本該系統(tǒng)能夠提高系統(tǒng)的處理能力、系統(tǒng)資源利用率和系統(tǒng)穩(wěn)定性。實施例二實施例一中的系統(tǒng)只包含一個任務(wù)分發(fā)單元,當該系統(tǒng)的任務(wù)比較多時,無法按時執(zhí)行大量的任務(wù),因此本發(fā)明還提供了另一種監(jiān)控采集系統(tǒng),包含至少兩個任務(wù)分發(fā)單元,具體請參閱圖2,其為本申請實施例二揭示的另一種監(jiān)控采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖,僅以包含兩個任務(wù)分發(fā)單元為例,具體包括:任務(wù)分發(fā)單元I N(N大于等于2)、任務(wù)執(zhí)行單元I N (N大于等于2)、健康監(jiān)控單元203和負載均衡單元204 ;為了使得系統(tǒng)工作性能最優(yōu),系統(tǒng)中的任務(wù)執(zhí)行單元的數(shù)量要大于等于任務(wù)分發(fā)單元的數(shù)量,下面結(jié)合該系統(tǒng)的工作原理進一步介紹其內(nèi)部結(jié)構(gòu)以及各個單元之間的連接關(guān)系。所述任務(wù)分發(fā)單元I N,用于根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述任務(wù)執(zhí)行單元I N,用于執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元203,用于監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元204,用于根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。對于檢測采集系統(tǒng)一般都會包含多任務(wù)執(zhí)行單元,每個任務(wù)執(zhí)行單元的功能都一致。
優(yōu)選的,所述健康監(jiān)控單元203,包括:獲取子模塊203A和記錄子模塊203B ;獲取子模塊203A,用于獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息和負載信息,所述負載信息包括=CPU負載信息、內(nèi)存使用率、磁盤IO信息和網(wǎng)絡(luò)IO信息;當然負載信息也可以是其他信息,只要是能標識任務(wù)執(zhí)行單元的處理能力的信息即可。記錄子模塊203B,用于記錄所述獲取子模塊獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息記和負載信息。優(yōu)選的,所述負載均衡單元204,包括:去除子模塊204A和排序子模塊204B ;去除子模塊204A,用于根據(jù)所述健康監(jiān)控單元得到的工作狀態(tài)信息,去除出現(xiàn)異常和沒有啟動的任務(wù)執(zhí)行單元信息;排序子模塊204B,用于根據(jù)所述健康監(jiān)控單元得到的負載信息,對所有的任務(wù)執(zhí)行單元進行排序,得到每個任務(wù)執(zhí)行單元的負載均衡指標。所述系統(tǒng)為每一個任務(wù)分發(fā)單元都配置各自的資源管理范圍,所述資源管理范圍包括:管理的服務(wù)器和任務(wù)執(zhí)行單元;例如:當系統(tǒng)包含兩個任務(wù)分發(fā)單元和40個任務(wù)執(zhí)行單元。任務(wù)分發(fā)單元一 201A和任務(wù)分發(fā)單元二 201B都配置各自的資源管理范圍。比如說:當該系統(tǒng)包含40個任務(wù)執(zhí)行單元且管理200個服務(wù)器,任務(wù)分發(fā)單元一 201A配置的資源管理范圍為:管理的服務(wù)器是I 100針對的任務(wù)執(zhí)行單元I 20 ;任務(wù)分發(fā)單元二201B配置的資源管理范圍為:管理的服務(wù)器是101 200針對的任務(wù)執(zhí)行單元21 40。任務(wù)分發(fā)單元一 201A配置的資源管理范圍為:管理的服務(wù)器是I 50,管理的任務(wù)執(zhí)行單元I 10 ;任務(wù)分發(fā)單元二 201B配置的資源管理范圍為:管理的服務(wù)器是51 200,管理的任務(wù)執(zhí)行單元11 40。任務(wù)分發(fā)單元一 201A配置的資源管理范圍為:管理的服務(wù)器是1、5、10,管理的任務(wù)執(zhí)行單元1、5、10 ;任務(wù)分發(fā)單元二 201B配置的資源管理范圍為:管理的服務(wù)器是I 200中除了服務(wù)器1、5、10以外的其他服務(wù)器,管理的任務(wù)執(zhí)行單元I 40中除了任務(wù)執(zhí)行單元1、5、10以外的其他任務(wù)執(zhí)行單元。當然也可以采用其他不同配置方式去配置任務(wù)分發(fā)單元的資源管理范圍,具體如何配置在此實施例中不做限定。則所述任意一個任務(wù)分發(fā)單元,用于根據(jù)負載均衡單元確定的負載均衡指標將獲取到的任務(wù)分配給自身管理的任務(wù)執(zhí)行單元。當監(jiān)控采集系統(tǒng)啟動后,任務(wù)分發(fā)單元201A和任務(wù)分發(fā)單元201B分別從采集監(jiān)控任務(wù)隊列中獲取需要處理的任務(wù),系統(tǒng)的采集監(jiān)控任務(wù)一般是根據(jù)任務(wù)種類、任務(wù)執(zhí)行方式、任務(wù)執(zhí)行時間等信息,按照執(zhí)行時間戳存儲在采集監(jiān)控任務(wù)隊列中。該采集系統(tǒng)會有一些固定的控制策略以便執(zhí)行任務(wù),任務(wù)分發(fā)單元201A和任務(wù)分發(fā)單元201B分別根據(jù)固定的控制策略對各自管理的任務(wù)執(zhí)行單元進行任務(wù)分配。任務(wù)分發(fā)單元分配任務(wù)會對一批任務(wù)進行處理,比如:任務(wù)分發(fā)單元201A讀取到10個采集任務(wù),根據(jù)控制策略和采集任務(wù)對服務(wù)器的要求,將十個采集任務(wù)分配到自身管理的任務(wù)執(zhí)行單元,比如:任務(wù)I需要的負載比較大,處理時間比較長,任務(wù)分發(fā)單元根據(jù)負載均衡單元提供的負載均衡指標得知自己管理的任務(wù)執(zhí)行單元中哪一個最適合處理任務(wù)I,就將該任務(wù)分配給最適合的任務(wù)執(zhí)行單元,同類依次進行處理,將讀取到的10個任務(wù)都分配給自己管理的任務(wù)執(zhí)行單元。任務(wù)分發(fā)單元201B的處理方式與任務(wù)分發(fā)單元201A的處理方式是一致的,這兩個任務(wù)分發(fā)單元是同時工作,以提高系統(tǒng)的任務(wù)并發(fā)量。由于任務(wù)執(zhí)行單元會實時的接收任務(wù)并執(zhí)行任務(wù)采集處理,所以自身的負載情況會實時的發(fā)生變化,為了更好的獲取任務(wù)執(zhí)行單元的負載情況和工作狀態(tài),則健康監(jiān)控單元會按照一定的時間間隔讀取系統(tǒng)中的每一個任務(wù)執(zhí)行單元的狀態(tài)信息和負載信息,時間間隔可根據(jù)實際需求進行設(shè)定,可大可小,具體是多少,在本實施例中并不做限定。優(yōu)選的,所述健康監(jiān)控單元,還包括:
監(jiān)控子模塊203C,用于監(jiān)控每一個任務(wù)分發(fā)單元的工作狀態(tài)和負載;則所述負載均衡單元,還包括:調(diào)整子模塊204C,用于根據(jù)所述監(jiān)控子模塊監(jiān)控到的信息,將出現(xiàn)異常或者負載過高的任務(wù)分發(fā)單元所管理的服務(wù)器資源和任務(wù)執(zhí)行單元,根據(jù)負載情況配置給其他任務(wù)分發(fā)單元。具體如圖3的一種監(jiān)控采集系統(tǒng)結(jié)構(gòu)圖所示。比如:當監(jiān)控子模塊監(jiān)控到任務(wù)分發(fā)單元一出現(xiàn)異?;蛘哓撦d過高,就將任務(wù)分發(fā)單元所管理的服務(wù)器資源和任務(wù)執(zhí)行單元,配置給任務(wù)分發(fā)單元二,同理反之亦然。優(yōu)選的,所述健康控制單元,用于將獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息存儲在系統(tǒng)功能單元狀態(tài)表中,將獲取的每一個任務(wù)執(zhí)行單元的負載信息存儲在系統(tǒng)功能單元負載表;則所述負載均衡單元,用于從系統(tǒng)功能單元狀態(tài)表和系統(tǒng)功能單元負載表中獲取狀態(tài)信息和負載信息,以確定任務(wù)執(zhí)行單元的負載均衡指標。優(yōu)選的,所述任務(wù)分發(fā)單元,還用于根據(jù)控制命令類別和參數(shù),啟動或者停止所述系統(tǒng)中的其他單元。優(yōu)選的,所述健康控制單元,用于將獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息存儲在系統(tǒng)功能單元狀態(tài)表中,將獲取的每一個任務(wù)執(zhí)行單元的負載信息存儲在系統(tǒng)功能單元負載表;則所述負載均衡單元,用于從系統(tǒng)功能單元狀態(tài)表和系統(tǒng)功能單元負載表中獲取狀態(tài)信息和負載信息,以確定任務(wù)執(zhí)行單元的負載均衡指標。優(yōu)選的,所述健康控制單元還包括:反饋子模塊一,用于將監(jiān)控到的異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息直接發(fā)送至所述任務(wù)分發(fā)模塊。則所述任務(wù)分發(fā)單元,還用于根據(jù)反饋子模塊反饋的信息將出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元中未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元分配新任務(wù)。優(yōu)選的,所述健康監(jiān)控單元,還包括:反饋子模塊二,用于將監(jiān)控到的異?;蛘吒哓撦d的功能單元信息反饋給系統(tǒng)維護模塊,以便及時進行故障處理。優(yōu)選的,所述任務(wù)分發(fā)單元,還用于根據(jù)控制命令類別和參數(shù),啟動或者停止所述系統(tǒng)中的其他單元。為了使得該監(jiān)測采集系統(tǒng)的策略控制性能更好,該系統(tǒng)還包括:策略配置單元205,用于根據(jù)所述任務(wù)分發(fā)單元發(fā)送的任務(wù)信息,查找對應(yīng)的策略規(guī)則并分析和規(guī)格化相應(yīng)任務(wù),并將結(jié)果反饋給所述任務(wù)分發(fā)單元。所述策略配置單元,包括:策略接收子單元205A,用于讀取數(shù)據(jù)庫或者配置文件中的策略信息;
·
策略分析子單元205B,用于根據(jù)任務(wù)分發(fā)單元發(fā)送的任務(wù)信息,在所述策略信息中查找與任務(wù)信息對應(yīng)的策略;策略控制子模塊205C,用于將所查找到的對應(yīng)的策略發(fā)送至所述任務(wù)分發(fā)單元,以便執(zhí)行策略。具體如圖4的一種監(jiān)控采集系統(tǒng)結(jié)構(gòu)圖所示。優(yōu)選的,所述健康監(jiān)控單元,還用于監(jiān)控所述策略控制單元的工作狀態(tài),以便及時監(jiān)測到系統(tǒng)故障所在。所述健康監(jiān)控單元,還用于監(jiān)控所述負載均衡單元的工作狀態(tài),以便及時監(jiān)測到系統(tǒng)故障所在。當然,該監(jiān)控采集系統(tǒng)可以根據(jù)實際應(yīng)用需要來靈活確定包含多少任務(wù)分發(fā)單元和多少任務(wù)執(zhí)行單元,對此本發(fā)明實施例也不做限定。上述實施例二中僅以包含兩個任務(wù)分發(fā)單元為例進行解釋說明。通過上述實施例可以看出:本發(fā)明提供的另一種監(jiān)控采集系統(tǒng),通過兩個任務(wù)分發(fā)單元,根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給各自管理的任務(wù)執(zhí)行單元;所述系統(tǒng)為每一個任務(wù)分發(fā)單元都配置各自的資源管理范圍,所述資源管理范圍包括:管理的服務(wù)器和任務(wù)執(zhí)行單元;每個任務(wù)分發(fā)單元,都根據(jù)負載均衡單元確定的負載均衡指標將獲取到的任務(wù)分配給自身管理的任務(wù)執(zhí)行單元。所述任務(wù)執(zhí)行單元,執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元,監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元,根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。該系統(tǒng)通過健康監(jiān)控單元能夠及時監(jiān)測到故障,并通知任務(wù)分發(fā)單元做適應(yīng)性處理。同時通過負載均衡單元能夠?qū)崿F(xiàn)全局的負載均衡處理,減少了任務(wù)分配不均勻的情況??梢?本該系統(tǒng)能夠更好地提高系統(tǒng)的處理能力,當系統(tǒng)任務(wù)量很大時,能夠提高任務(wù)并發(fā)量,保證任務(wù)按時執(zhí)行、提高系統(tǒng)資源利用率。
實施例三相應(yīng)地,本發(fā)明實施例還提供一種監(jiān)控采集方法,如圖5所示,為本發(fā)明實施例三提供一種監(jiān)控采集方法的方法流程圖,具體包括以下步驟:步驟301:從采集監(jiān)控任務(wù)隊列中讀取任務(wù);當系統(tǒng)中有采集監(jiān)控任務(wù)時,會根據(jù)任務(wù)種類、任務(wù)執(zhí)行方式、任務(wù)執(zhí)行間隔,按照任務(wù)執(zhí)行時間戳儲存在采集監(jiān)控任務(wù)隊列中,該采集監(jiān)控任務(wù)隊列可以是在數(shù)據(jù)庫中存在,也可以是在其他存儲設(shè)備中存在。任務(wù)分發(fā)單元會從采集監(jiān)控任務(wù)隊列中獲取需要處理的任務(wù),比如:有大量的采集監(jiān)控任務(wù)需要處理,都按照時間戳順序儲存著,所以,任務(wù)分發(fā)單元就按照存儲順序依次讀取任務(wù)。步驟302:將讀取到的任務(wù)根據(jù)負載均衡指標分配給對應(yīng)的任務(wù)執(zhí)行單元,所述負載均衡指標是通過獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)和負載,對獲取到的信息進行處理得到的,用于標識每一個任務(wù)執(zhí)行單元的處理能力的指標;任意一個監(jiān)控采集系統(tǒng)都會配置系統(tǒng)中任務(wù)分發(fā)單元管理一些任務(wù)執(zhí)行單元,該任務(wù)執(zhí)行單元的負載均衡指標是通過以下方式獲得的,具體如圖6的一種獲取負載均衡指標的方法流程圖所示。步驟401:獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)和負載;步驟402:去除出現(xiàn)異?;蛘邲]有啟動的功能單元信息;步驟403:將剩余 的任務(wù)執(zhí)行單元按照負載信息的大小進行排序,得到每一個任務(wù)執(zhí)行單元的負責均衡指標,該指標用于標識每一個任務(wù)執(zhí)行單元的處理能力。比如:當系統(tǒng)包含10個任務(wù)執(zhí)行單元時,首先獲取到第I個、第2個、第3個任務(wù)執(zhí)行單元的工作狀態(tài)是異常,第4個任務(wù)執(zhí)行單元沒有啟動,第5 10個任務(wù)執(zhí)行單元的工作狀態(tài)時正常。然后將第I個、第2個、第3個、第4個任務(wù)執(zhí)行單元信息去除掉,表示第I 4個任務(wù)執(zhí)行單元當前是不可用的狀態(tài);然后將第5 10個任務(wù)執(zhí)行單元的負載信息,按照大小順序進行排序,比如:當獲得第5 10個任務(wù)執(zhí)行單元的負載信息后,根據(jù)每個任務(wù)執(zhí)行單元各自可承受的最大負載量,得出每個任務(wù)執(zhí)行單元當前能夠承受的負載,根據(jù)當前能夠承受的負載按照由大到小的順序進行排序,則當前能夠承受的負載最大的任務(wù)執(zhí)行單元就會排在第一,依次類推,每一個任務(wù)執(zhí)行單元都有一個排序順序,可以將該排列順序作為負載均衡指標,也可以直接按照其他規(guī)則根據(jù)負載信息,對任務(wù)執(zhí)行單元進行排序,得到用于標識其處理能力的負載均衡指標。步驟303:執(zhí)行任務(wù)并記錄所述任務(wù)的執(zhí)行狀態(tài)和執(zhí)行結(jié)果。監(jiān)控采集系統(tǒng)中的任務(wù)執(zhí)行單元會執(zhí)行相應(yīng)任務(wù),采集監(jiān)控任務(wù)執(zhí)行時間一般會持續(xù)一段時間,一般是2-60秒之間,在這個過程中,任務(wù)會產(chǎn)生各種中間狀態(tài)(比如start、pending、waiting、failed、success)系統(tǒng)需要記錄這種中間狀態(tài),并持久化,為了方便以后數(shù)據(jù)查看和分析。任務(wù)的執(zhí)行結(jié)果包括兩個部分,一個是任務(wù)是否執(zhí)行成功;另一個是采集監(jiān)控任務(wù)采集到的數(shù)據(jù),這些數(shù)據(jù)主要包括:服務(wù)器狀態(tài)、CPU負載、內(nèi)存使用率、磁盤10、網(wǎng)卡10、溫度、功耗等。當系統(tǒng)包含多個任務(wù)執(zhí)行單元時,所述方法還包括:獲取出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息;
將出現(xiàn)異常或者高負載的任務(wù)執(zhí)行單元中的未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異常或者高負載的任務(wù)執(zhí)行單元分配新任務(wù)。為了保證系統(tǒng)的穩(wěn)定性,所述方法還包括:將出現(xiàn)異常的任務(wù)執(zhí)行單元信息反饋給系統(tǒng)故障處理單元,以便及時處理故障。通過上述實施例可以看出:本發(fā)明提供的一種監(jiān)控采集方法,根據(jù)負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述負載均衡指標是通過獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)和負載,對獲取到的信息進行處理得到的,用于標識每一個任務(wù)執(zhí)行單元的處理能力的指標;對接收到的任務(wù)執(zhí)行監(jiān)控采集,并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;通過上述處理考慮到了整個系統(tǒng)的負載情況,實現(xiàn)了全局的負載均衡處理,減少了任務(wù)分配不均勻的情況,更好地提高系統(tǒng)的處理能力,提高任務(wù)并發(fā)量,保證任務(wù)按時執(zhí)行、提高系統(tǒng)資源利用率。另外,當系統(tǒng)包含多個任務(wù)執(zhí)行單元時,該方法還通過獲取出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息;將出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元中的未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元分配新任務(wù)。這種處理方式,使得當系統(tǒng)中的某一處任務(wù)分發(fā)單元出現(xiàn)故障時,能夠及時的將任務(wù)分配給其他任務(wù)分發(fā)單元,以避免任務(wù)丟失或者數(shù)據(jù)錯誤等問題出現(xiàn),保證系統(tǒng)能夠正常工作,提高了系統(tǒng)的穩(wěn)定性。需要說明的是,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,其實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上對本發(fā)明實施例進行了詳細介紹,本文中應(yīng)用了具體實施方式
對本發(fā)明進行了闡述,以上實施例 的說明只是用于幫助理解本發(fā)明的方法及設(shè)備;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種監(jiān)控采集系統(tǒng),其特征在于,包括: 任務(wù)分發(fā)單元、至少兩個任務(wù)執(zhí)行單元、健康監(jiān)控單元和負載均衡單元; 所述任務(wù)分發(fā)單元,用于根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元; 所述任務(wù)執(zhí)行單元,用于執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果; 所述健康監(jiān)控單元,用于監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載; 所述負載均衡單元,用于根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述健康監(jiān)控單元,包括: 獲取子模塊,用于獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息和負載信息,所述負載信息包括:CPU負載信息、內(nèi)存使用率、磁盤IO信息和網(wǎng)絡(luò)IO信息; 記錄子模塊,用于記錄 所述獲取子模塊獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息記和負載信息。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述健康監(jiān)控單元,還包括: 反饋子模塊一,用于將監(jiān)控到的異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息直接發(fā)送至所述任務(wù)分發(fā)模塊; 則所述任務(wù)分發(fā)單元,還用于根據(jù)反饋子模塊反饋的信息將出現(xiàn)異常或者高負載的任務(wù)執(zhí)行單元中未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元分配新任務(wù)。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述健康監(jiān)控單元,還包括: 反饋子模塊二,用于將監(jiān)控到的異?;蛘吒哓撦d的功能單元信息反饋給系統(tǒng)維護模塊,以便及時進行故障處理。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述負載均衡單元,包括: 去除子模塊,用于根據(jù)所述健康監(jiān)控單元得到的工作狀態(tài)信息,去除出現(xiàn)異常和沒有啟動的任務(wù)執(zhí)行單元信息; 排序子模塊,用于根據(jù)所述健康監(jiān)控單元得到的負載信息,對去除之后的所有的任務(wù)執(zhí)行單元進行排序,得到每個任務(wù)執(zhí)行單元的負載均衡指標。
6.根據(jù)權(quán)利要求1至5中任意一項所述的系統(tǒng),其特征在于,還包括: 至少一個任務(wù)分發(fā)單元,則所述系統(tǒng)為每一個任務(wù)分發(fā)單元都配置各自的資源管理范圍,所述資源管理范圍包括:管理的服務(wù)器和任務(wù)執(zhí)行單元; 所述任意一個分發(fā)單元,用于根據(jù)負載均衡單元確定的負載均衡指標將獲取到的任務(wù)分配給自身管理的任務(wù)執(zhí)行單元。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述健康監(jiān)控單元,還包括: 監(jiān)控子模塊,用于監(jiān)控每一個任務(wù)分發(fā)單元的工作狀態(tài)和負載; 則所述負載均衡單元,還包括: 調(diào)整子模塊,用于根據(jù)所述監(jiān)控子模塊監(jiān)控到的信息,將出現(xiàn)異?;蛘哓撦d過高的任務(wù)分發(fā)單元所管理的服務(wù)器資源和任務(wù)執(zhí)行單元,根據(jù)負載情況配置給其他任務(wù)分發(fā)單J Li ο
8.根據(jù)權(quán)利要求1至5中任意一項所述的系統(tǒng),其特征在于,所述健康控制單元,用于將獲取的每一個任務(wù)執(zhí)行單元的工作狀態(tài)信息存儲在系統(tǒng)功能單元狀態(tài)表中,將獲取的每一個任務(wù)執(zhí)行單元的負載信息存儲在系統(tǒng)功能單元負載表; 則所述負載均衡單元,用于從系統(tǒng)功能單元狀態(tài)表和系統(tǒng)功能單元負載表中獲取狀態(tài)信息和負載信息,以確定任務(wù)執(zhí)行單元的負載均衡指標。
9.根據(jù)權(quán)利要求1至5中任意一項所述的系統(tǒng),其特征在于,所述任務(wù)分發(fā)單元,還用于根據(jù)控制命令類別和參數(shù),啟動或者停止所述系統(tǒng)中的其他單元。
10.根據(jù)權(quán)利要求1至5中任意一項所述的系統(tǒng),其特征在于,還包括: 策略配置單元,用于根據(jù)所述任務(wù)分發(fā)單元發(fā)送的任務(wù)信息,查找對應(yīng)的策略規(guī)則并分析和規(guī)格化相應(yīng)任務(wù),并將結(jié)果反饋給所述任務(wù)分發(fā)單元。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述策略配置單元,包括: 策略接收子單元,用于讀取數(shù)據(jù)庫或者配置文件中的策略信息; 策略分析子單元,用于根據(jù)任務(wù)分發(fā)單元發(fā)送的任務(wù)信息,在所述策略信息中查找與任務(wù)信息對應(yīng)的策略; 策略控制子模塊,用于將所查找到的對應(yīng)的策略發(fā)送至所述任務(wù)分發(fā)單元,以便執(zhí)行策略。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述健康監(jiān)控單元,還用于監(jiān)控所述策略控制單元和均衡負載單元的工作狀態(tài)。
13.—種監(jiān)控采集方法,其特征在于,包括: 從采集監(jiān)控任務(wù)隊列中讀取任務(wù); 將讀取到的任務(wù)根據(jù)負載均衡指標分配給對應(yīng)的任務(wù)執(zhí)行單元,所述負載均衡指標是通過獲取每一個任務(wù)執(zhí)行單元的工作狀態(tài)和負載,對獲取到的信息進行處理得到的,用于標識每一個任務(wù)執(zhí)行單元的處理能力的指標; 執(zhí)行任務(wù)并記錄所述任務(wù)的執(zhí)行狀態(tài)和執(zhí)行結(jié)果。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括: 獲取出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元信息; 將出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元中的未處理的任務(wù)重新分配給其他任務(wù)執(zhí)行單元,且不再給所述出現(xiàn)異?;蛘吒哓撦d的任務(wù)執(zhí)行單元分配新任務(wù)。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括: 將出現(xiàn)異常的任務(wù)執(zhí)行單元信息反饋給系統(tǒng)故障處理單元,以便及時處理故障。
全文摘要
本發(fā)明公開了一種監(jiān)控采集系統(tǒng)及方法,該系統(tǒng)包括任務(wù)分發(fā)單元、至少兩個任務(wù)執(zhí)行單元、健康監(jiān)控單元和負載均衡單元;所述任務(wù)分發(fā)單元,用于根據(jù)負載均衡單元的負載均衡指標將獲取到的任務(wù)分配給任務(wù)執(zhí)行單元;所述任務(wù)執(zhí)行單元,用于執(zhí)行接收到的監(jiān)控采集任務(wù),并記錄任務(wù)執(zhí)行狀態(tài)和執(zhí)行結(jié)果;所述健康監(jiān)控單元,用于監(jiān)控所述任務(wù)執(zhí)行單元的工作狀態(tài)和負載;所述負載均衡單元,用于根據(jù)所述健康監(jiān)控單元的監(jiān)控的信息,確定任務(wù)執(zhí)行單元的負載均衡指標。利用本發(fā)明,可以提高系統(tǒng)的處理能力、系統(tǒng)資源利用率和系統(tǒng)穩(wěn)定性。
文檔編號H04L29/08GK103246592SQ201310175149
公開日2013年8月14日 申請日期2013年5月13日 優(yōu)先權(quán)日2013年5月13日
發(fā)明者王帥, 王蕾, 彭毅 申請人:北京搜狐新媒體信息技術(shù)有限公司