本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種路由方法及裝置。
背景技術(shù):
隨著計算機技術(shù)的不斷發(fā)展與進步,計算機被廣泛應用與各個領(lǐng)域,而服務器作為一種高性能計算機,被廣泛應用。為了保證服務器的正常運行,服務器監(jiān)控技術(shù)應運而生。
如圖1所示,為現(xiàn)有技術(shù)的對服務器進行監(jiān)控的系統(tǒng)構(gòu)架圖,該服務器監(jiān)控系統(tǒng)包括:監(jiān)控主機101、代理服務器102、被監(jiān)控服務器103,被監(jiān)控服務器103用于收集自身硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存、cpu等信息并發(fā)送給代理服務器102,代理服務器102與一定數(shù)量的被監(jiān)控服務器103連接并接收一定數(shù)量的被監(jiān)控服務器103發(fā)送的監(jiān)控數(shù)據(jù),周期性地將監(jiān)控數(shù)據(jù)發(fā)送給監(jiān)控主機101,監(jiān)控主機101對接收的數(shù)據(jù)進行處理并展示給系統(tǒng)管理員。
然而,在通過上述監(jiān)控系統(tǒng)對被監(jiān)控服務器進行監(jiān)控時,隨著被監(jiān)控服務器103的增加,會造成代理服務器集群中一個或多個代理服務器102的負載過高,需要通過手動修改被監(jiān)控服務器103的配置,將該被監(jiān)控服務器103分配給其他代理服務器102,當代理服務器102頻繁出現(xiàn)負載過高的情況時,需要頻繁手動修改被監(jiān)控服務器103的配置,消耗的人力成本較高。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種路由方法及裝置,以實現(xiàn)自動修改被監(jiān)控服務器的配置,降低人力成本。具體技術(shù)方案如下:
第一方面,本發(fā)明實施例提供了一種路由方法,應用于路由裝置,所述方法包括:
接收第一被監(jiān)控服務器發(fā)送的請求配置信息;
向代理服務器列表中的至少一個代理服務器發(fā)送查詢請求信息,查詢請求信息用于請求至少一個代理服務器反饋負載狀態(tài),路由裝置中存儲有代理服務器列表;
根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,其中,目標代理服務器為負載狀態(tài)小于預設閾值的代理服務器;
為第一被監(jiān)控服務器生成配置信息,配置信息包括目標代理服務器的連接信息;
向第一被監(jiān)控服務器發(fā)送配置信息,以使第一被監(jiān)控服務器與目標代理服務器建立連接。
可選的,代理服務器集群包括至少一個代理服務器子集群;
向代理服務器列表中的至少一個代理服務器發(fā)送查詢請求信息,包括:
向第一代理服務器子集群中的至少一個代理服務器發(fā)送查詢請求,其中,第一代理服務器子集群為與請求配置信息對應的代理服務器子集群。
可選的,向第一代理服務器子集群中的至少一個代理服務器發(fā)送查詢請求,包括:
在第一代理服務器子集群中選擇任一代理服務器為初始目標代理服務器,生成初始配置信息;
向初始目標代理服務器發(fā)送查詢請求信息;
相應的,根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,包括:
在初始目標代理服務器的負載狀態(tài)小于預設閾值時,選擇初始目標代理服務器作為目標代理服務器;
在初始目標代理服務器的負載狀態(tài)大于或等于預設閾值時,向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息;
根據(jù)除初始目標代理服務器外的至少一個代理服務器反饋的負載狀態(tài),在除初始目標代理服務器外的至少一個代理服務器中選擇負載狀態(tài)小于預設閾值的一個代理服務器作為目標代理服務器。
可選的,在向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息之后,本發(fā)明實施例的路由方法還包括:
在第一代理服務器子集群中的各代理服務器的負載狀態(tài)大于或等于到預設閾值時,向除第一代理服務器子集群外的至少一個代理服務器發(fā)送查詢請求;
根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇一個代理服務器作為目標代理服務器。
可選的,根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,包括:
根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
可選的,根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,包括:
根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
可選的,本發(fā)明實施例的路由方法還包括:
接收新增代理服務器發(fā)送的注冊請求,注冊請求攜帶有新增代理服務器的標識信息;
將新增代理服務器的標識信息添加到代理服務器列表中。
第二方面,本發(fā)明實施例還提供了一種路由裝置,裝置包括:
第一接收模塊,用于接收第一被監(jiān)控服務器發(fā)送的請求配置信息;
查詢模塊,用于向代理服務器列表中的至少一個代理服務器發(fā)送查詢請求信息,查詢請求信息用于請求至少一個代理服務器反饋負載狀態(tài),路由裝置中存儲有代理服務器列表;
選擇模塊,用于根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,其中,目標代理服務器為負載狀態(tài)小于預設閾值的代理服務器;
配置生成模塊,用于為第一被監(jiān)控服務器生成配置信息,配置信息包括目標代理服務器的連接信息;
發(fā)送模塊,用于向第一被監(jiān)控服務器發(fā)送配置信息,以使第一被監(jiān)控服務器與目標代理服務器建立連接。
可選的,代理服務器集群包括至少一個代理服務器子集群;
查詢模塊,具體用于向第一代理服務器子集群中的至少一個代理服務器發(fā)送查詢請求,其中,第一代理服務器子集群為與請求配置信息對應的代理服務器子集群。
可選的,查詢模塊,包括:
初始配置生成子模塊,用于在第一代理服務器子集群中選擇任一代理服務器為初始目標代理服務器,生成初始配置信息;
第一查詢子模塊,用于向初始目標代理服務器發(fā)送查詢請求信息;
相應的,選擇模塊,包括:
第一選擇子模塊,用于在初始目標代理服務器的負載狀態(tài)小于預設閾值時,選擇初始目標代理服務器作為目標代理服務器;
第二查詢子模塊,用于在初始目標代理服務器的負載狀態(tài)大于或等于預設閾值時,向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息;
第二選擇子模塊,用于根據(jù)除初始目標代理服務器外的至少一個代理服務器反饋的負載狀態(tài),在除初始目標代理服務器外的至少一個代理服務器中選擇負載狀態(tài)小于預設閾值的一個代理服務器作為目標代理服務器。
可選的,在向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息之后,選擇模塊還包括:
第三查詢子模塊,用于在第一代理服務器子集群中的各代理服務器的負載狀態(tài)大于或等于到預設閾值時,向除第一代理服務器子集群外的至少一個代理服務器發(fā)送查詢請求;
第三選擇子模塊,用于根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇一個代理服務器作為目標代理服務器。
可選的,第三選擇子模塊,具體用于根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
可選的,選擇模塊,具體用于根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
可選的,本發(fā)明實施例的路由裝置還包括:
第二接收模塊,用于接收新增代理服務器發(fā)送的注冊請求,注冊請求攜帶有新增代理服務器的標識信息;
添加模塊,用于將新增代理服務器的標識信息添加到代理服務器列表中。
本發(fā)明實施例提供的一種路由方法及裝置,通過在代理服務器列表中選擇一個負載狀態(tài)小于預設閾值的代理服務器為目標代理服務器,為第一被監(jiān)控服務器生成配置信息,并發(fā)送給第一被監(jiān)控服務器,以使第一被監(jiān)控服務器與目標代理服務器建立連接。不需要人工修改,可以實現(xiàn)自動修改被監(jiān)控服務器的配置信息,降低人工成本,還可以同時對各代理服務器進行負載均衡,提高代理服務器的性能。當然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)的對服務器進行監(jiān)控的系統(tǒng)構(gòu)架圖;
圖2為本發(fā)明實施例的一種路由方法及裝置應用于服務器監(jiān)控系統(tǒng)的系統(tǒng)示意圖;
圖3為本發(fā)明實施例的一種路由方法的第一種實施方式的流程圖;
圖4為本發(fā)明實施例的一種路由方法的第二種實施方式的流程圖;
圖5為本發(fā)明實施例的一種路由方法的第三種實施方式的流程圖;
圖6為本發(fā)明實施例的一種路由裝置的第一種結(jié)構(gòu)圖;
圖7為本發(fā)明實施例的一種路由裝置的第二種結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
為了解決現(xiàn)有技術(shù)存在的問題,本發(fā)明實施例提供了一種路由方法及裝置,以實現(xiàn)自動修改被監(jiān)控服務器的配置,降低人力成本。
首先,本發(fā)明實施例提供的一種路由方法及裝置,應用于服務器監(jiān)控系統(tǒng)中。如圖2所示,為本發(fā)明實施例的一種路由方法及裝置應用于服務器監(jiān)控系統(tǒng)的系統(tǒng)示意圖,該系統(tǒng)可以包括:監(jiān)控主機101、代理服務器集群102、被監(jiān)控服務器集群103和路由裝置104,其中,路由裝置104是應用本發(fā)明實施例的一種路由方法的裝置。
在該系統(tǒng)中,路由裝置104自動生成被監(jiān)控服務器集群103中各被監(jiān)控服務器的配置,并分配給代理服務器集群102中的各代理服務器。各個被監(jiān)控服務器將監(jiān)控數(shù)據(jù)發(fā)送給對應的代理服務器,各個代理服務器再定期將各個對應的被監(jiān)控服務器發(fā)送的監(jiān)控數(shù)據(jù)發(fā)送給監(jiān)控主機101,從而實現(xiàn)對被監(jiān)控服務器的監(jiān)控。
通過在圖1所示的現(xiàn)有技術(shù)的服務器監(jiān)控系統(tǒng)中增加路由裝置104,能夠?qū)崿F(xiàn)動態(tài)、自動修改被監(jiān)控服務器的配置信息,在代理服務器集群102中某一代理服務器負載過大或出現(xiàn)異常等情況下,能夠及時將與該代理服務器連接的被監(jiān)控服務器連接至其他代理服務器,不需要人工修改,降低了人工成本。
為了更好的說明本發(fā)明實施例提供的一種路由方法及裝置,下面,首先對本發(fā)明實施例提供的一種路由方法進行介紹,如圖3所示,為本發(fā)明實施例的一種路由方法的第一種實施方式的流程圖,該方法可以包括:
首先,需要說明的是,路由裝置可以接收至少一個被監(jiān)控服務器發(fā)送的請求配置信息,并對該請求配置信息進行處理,但對于不同的被監(jiān)控服務器發(fā)送的請求配置信息,都是通過本發(fā)明實施例的路由方法進行處理,因此,在本發(fā)明實施例中,以一個被監(jiān)控服務器為例進行說明,并且,該被監(jiān)控服務器可以是被監(jiān)控服務器集群中的任一被監(jiān)控服務器,還可以是新增被監(jiān)控服務器。
s301,接收第一被監(jiān)控服務器發(fā)送的請求配置信息。
在本發(fā)明實施例中,被監(jiān)控服務器為了將自身收集的監(jiān)控數(shù)據(jù)發(fā)送給適合接收監(jiān)控數(shù)據(jù)的代理服務器,會發(fā)送請求配置信息給路由裝置,因此,對于路由裝置,接收的請求配置信息是由第一被監(jiān)控服務器發(fā)送的請求配置信息。
其中,路由裝置可以保存有被監(jiān)控服務器信息表,該信息表中可以存儲有被監(jiān)控服務器集群中各被監(jiān)控服務器的標識信息,路由裝置在接收到請求配置信息后,能夠識別出發(fā)送請求配置信息的被監(jiān)控服務器。
被監(jiān)控服務器可以保存有路由裝置的標識信息,在發(fā)送請求配置信息時,可以將被監(jiān)控服務器的標識信息和路由裝置的標識信息添加到請求配置信息中,發(fā)送給路由裝置,其中,路由裝置的標識信息可以是ip地址、端口號、mac地址以及名稱中的一個或多個。
具體地,被監(jiān)控服務器可以為安裝有zabbixagent應用程序的業(yè)務服務器,其中,zabbixagent應用程序用于收集各被監(jiān)控服務器的硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存、cpu等信息。
其中,zabbix應用程序是一個基于web界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡監(jiān)視功能的企業(yè)級的開源解決方案??梢员O(jiān)視各種網(wǎng)絡參數(shù),保證服務器系統(tǒng)的安全運營;并提供靈活的通知機制以讓系統(tǒng)管理員快速定位/解決存在的問題。zabbix應用程序可以包括:zabbixagent應用程序、zabbixserver應用程序和zabbixproxy應用程序。
需要說明的是,在第一被監(jiān)控服務器為新增被監(jiān)控服務器時,可以首先發(fā)送標識信息給路由裝置,路由裝置將新增被監(jiān)控服務器的標識信息添加到被監(jiān)控服務器信息表中后,再獲取新增被監(jiān)控服務器發(fā)送的請求配置信息。
還可以將標識信息添加到請求配置信息中,即請求配置信息攜帶有標識信息;路由裝置接收請求配置信息時,可以同時獲取新增被監(jiān)控服務器的標識信息,并添加到被監(jiān)控服務器信息表中。
s302,向代理服務器列表中的至少一個代理服務器發(fā)送查詢請求信息,查詢請求信息用于請求至少一個代理服務器反饋負載狀態(tài),路由裝置中存儲有代理服務器列表。
在本發(fā)明實施例中,路由裝置中存儲有代理服務器集群中各代理服務器的標識信息,并且以列表的形式存儲在路由裝置中。
路由裝置在步驟s301中接收到第一被監(jiān)控服務器發(fā)送的請求配置信息后,需要根據(jù)該請求配置信息生成配置信息,因此,路由裝置需要先發(fā)送查詢請求信息給代理服務器集群。
路由裝置發(fā)送查詢請求給代理服務器集群時,首先從代理服務器列表中獲取各個代理服務器的標識信息,再根據(jù)各個代理服務器的標識信息發(fā)送查詢請求給對應的代理服務器。
路由裝置發(fā)送查詢請求給代理服務器集群時,可以依次向代理服務器集群中的一個代理服務器發(fā)送查詢請求,也可以同時向代理服務器集群中的多個代理服務器發(fā)送查詢請求。
具體地,代理服務器為安裝有zabbixproxy應用程序的服務器,其中,zabbixproxy應用程序用于接收被監(jiān)控服務器收集的監(jiān)控數(shù)據(jù),并周期性發(fā)送給監(jiān)控主機,監(jiān)控主機為安裝有zabbixserver應用程序的服務器或計算機。
s303,根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,其中,目標代理服務器為負載狀態(tài)小于預設閾值的代理服務器。
路由裝置發(fā)送查詢請求給各代理服務器后,各代理服務器根據(jù)該查詢請求收集自身的負載狀態(tài),并反饋給路由裝置,因此,路由裝置能夠接收到至少一個代理服務器反饋的負載狀態(tài),其中,負載狀態(tài)可以包括:代理服務器的內(nèi)存利用率、cpu利用率、網(wǎng)絡帶寬占用率、以及與該代理服務器對應的數(shù)據(jù)庫的內(nèi)存利用率、cpu占用率、網(wǎng)絡帶寬占用率、連接的被監(jiān)控服務器的數(shù)量中的一個或多個,還可以包括反映代理服務器負載的其他參數(shù)。
例如,負載狀態(tài)包括:代理服務器的內(nèi)存利用率、cpu利用率、網(wǎng)絡帶寬占用率?;蛘?/p>
包括:代理服務器的內(nèi)存利用率、cpu利用率、網(wǎng)絡帶寬占用率、連接的被監(jiān)控服務器的數(shù)量?;蛘?/p>
包括:代理服務器的內(nèi)存利用率、cpu利用率、網(wǎng)絡帶寬占用率、以及與該代理服務器對應的數(shù)據(jù)庫的內(nèi)存利用率、cpu占用率、網(wǎng)絡帶寬占用率、連接的被監(jiān)控服務器的數(shù)量。
路由裝置在接收到至少一個代理服務器反饋的負載狀態(tài)后,可以從負載狀態(tài)小于預設閾值的至少一個代理服務器中選擇任一個代理服務器作為目標代理服務器。
需要說明的是,這里,路由裝置選擇負載狀態(tài)小于預設閾值的代理服務器作為目標代理服務器,是為了保證該目標代理服務器能夠正常接收被監(jiān)控服務器收集的監(jiān)控數(shù)據(jù),保證該監(jiān)控數(shù)據(jù)能夠完整的發(fā)送到監(jiān)控主機,防止監(jiān)控數(shù)據(jù)丟失。
需要說明的是,這里的預設閾值是與負載狀態(tài)一一對應的閾值,可以在實際應用中根據(jù)需要進行設置,也可以根據(jù)經(jīng)驗設置。
s304,為第一被監(jiān)控服務器生成配置信息,配置信息包括目標代理服務器的連接信息。
在路由裝置選擇目標代理服務器后,根據(jù)目標代理服務器的標識信息和第一被監(jiān)控服務器的請求配置信息,生成第一被監(jiān)控服務器的配置信息,其中,該配置信息至少包括:目標代理服務器的標識信息、第一被監(jiān)控服務器的標識信息。連接信息為使得目標代理服務器與第一被監(jiān)控服務器建立連接所需要的信息,可以包括目標代理服務器的ip地址、端口號、名稱、mac地址中的一個或多個。
s305,向第一被監(jiān)控服務器發(fā)送配置信息,以使第一被監(jiān)控服務器與目標代理服務器建立連接。
通過步驟s304的方法,得到與請求配置信息對應的配置信息后,為了使第一被監(jiān)控服務器與目標代理服務器建立連接,必須將該配置信息發(fā)送給第一被監(jiān)控服務器。
在向第一被監(jiān)控服務器發(fā)送配置信息時,路由裝置可以根據(jù)保存的被監(jiān)控服務器信息表,向第一被監(jiān)控服務器發(fā)送配置信息,還可以根據(jù)攜帶有被監(jiān)控服務器的標識信息的請求配置信息,向第一被監(jiān)控服務器發(fā)送配置信息。
第一被監(jiān)控服務器在獲取到目標代理服務器發(fā)送的配置信息后,將該配置信息更新到本地,可以使得第一被監(jiān)控服務器重新啟動,以與目標代理服務器建立連接。
具體地,第一被監(jiān)控服務器與目標代理服務器建立的連接可以是ip連接。
本發(fā)明實施例提供的一種路由方法,通過在代理服務器列表中選擇一個負載狀態(tài)小于預設閾值的代理服務器為目標代理服務器,為第一被監(jiān)控服務器生成配置信息,并發(fā)送給第一被監(jiān)控服務器,以使第一被監(jiān)控服務器與目標代理服務器建立連接,不需要人工修改,可以實現(xiàn)自動修改被監(jiān)控服務器的配置信息,降低人工成本,還可以同時對各代理服務器進行負載均衡,提高代理服務器的性能。
為了更清楚的說明本發(fā)明實施例提供的一種路由方法,下面結(jié)合圖2所示的本發(fā)明實施例的一種路由方法及裝置應用于服務器監(jiān)控系統(tǒng)的系統(tǒng)示意圖進行說明。
例如,在圖2所示的系統(tǒng)示意圖中,第一被監(jiān)控服務器1031、第二被監(jiān)控服務器1032為被監(jiān)控服務器集群103中的被監(jiān)控服務器,第三被監(jiān)控服務器1033為被監(jiān)控服務器集群103中新增的被監(jiān)控服務器,并且,第一被監(jiān)控服務器1031需要發(fā)送請求配置信息。
路由裝置104接收到第一被監(jiān)控服務器1031發(fā)送的請求配置信息后,向代理服務器集群中的第一代理服務器1021、第二代理服務器1022和第三代理服務器1023分別發(fā)送查詢請求,查詢各代理服務器的負載狀態(tài)。
各代理服務器在接收到路由裝置104發(fā)送的查詢請求后,收集自身的負載狀態(tài),收集完成后發(fā)送給路由裝置104。路由裝置104查看各代理服務器反饋的負載狀態(tài)是否小于預設閾值,假設第一代理服務器1021、第二代理服務器1022反饋的負載狀態(tài)均小于預設閾值,則路由裝置104從兩個代理服務器中任選一個代理服務器作為目標代理服務器。
路由裝置104在選擇目標代理服務器后,根據(jù)目標代理服務器和請求配置信息生成第一被監(jiān)控服務器1031的配置信息,并返回給第一被監(jiān)控服務器1031,使第一被監(jiān)控服務器1031與目標代理服務器建立連接。
例如,路由裝置104選擇第二代理服務器1022作為目標代理服務器,則根據(jù)第二代理服務器的標識信息和第一被監(jiān)控服務器1031的請求配置信息生成配置信息,并返回給第一被監(jiān)控服務器1031,使第一被監(jiān)控服務器1031與第二代理服務器1022建立連接。
在本發(fā)明實施例的第一種實施例中,是通過在至少一個代理服務器中選擇一個代理服務器的方式得到目標代理服務器的,這里的目標代理服務器在接收被監(jiān)控服務器發(fā)送的監(jiān)控數(shù)據(jù)一段時間后,可能會存在負載過大的問題,需要更換與被監(jiān)控服務器連接的代理服務器。
為了使更換代理服務器的次數(shù)最低,本發(fā)明實施例還提供了一種路由方法。在步驟s303中,根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,具體可以包括:
根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
在本步驟中,路由裝置在得到各個代理服務器反饋的負載狀態(tài)后,對各個代理服務器反饋的負載狀態(tài)進行比較,得到負載最低的代理服務器,并選擇該代理服務器為目標服務器。
通過選擇負載最低的代理服務器為目標服務器,使得該代理服務器能夠更長時間的接收該第一被監(jiān)控服務器收集的監(jiān)控數(shù)據(jù),減少第一被監(jiān)控服務器更換代理服務器的次數(shù)。
在實際應用中,被監(jiān)控服務器集群中各被監(jiān)控服務器可以設置于不同的地理位置,例如:設置在北京、上海、西安、武漢等地,對應的,可以在上述四個地方設置對應的代理服務器。因此,可以按照地理位置對被監(jiān)控服務器集群中的各被監(jiān)控服務器設置不同的子集群,對代理服務器集群中各代理服務器設置不同的子集群。
另外,被監(jiān)控服務器集群中的各被監(jiān)控服務器可以負責不同的業(yè)務,例如,該業(yè)務可以包括:視頻數(shù)據(jù)處理業(yè)務、網(wǎng)站數(shù)據(jù)處理業(yè)務、音樂數(shù)據(jù)處理業(yè)務。因此,可以按照被監(jiān)控服務器集群中各被監(jiān)控服務器負責的業(yè)務對各被監(jiān)控服務器進行分類,設置不同的子集群;對應的,可以按照與各代理服務器連接的被監(jiān)控服務器的業(yè)務,對各代理服務器進行分類,設置不同的子集群。
當代理服務器集群中存在至少一個代理服務器子集群時,向代理服務器列表中的至少一個代理服務器發(fā)送查詢請求信息時,可以向第一代理服務器子集群中的至少一個代理服務器發(fā)送查詢請求,其中,第一代理服務器子集群為與請求配置信息對應的代理服務器子集群。
例如,第一被監(jiān)控服務器為設置在北京的業(yè)務服務器,在通過本步驟的方法向至少一個代理服務器發(fā)送查詢請求時,可以向設置在北京的至少一個代理服務器發(fā)送查詢請求?;蛘?/p>
第一被監(jiān)控服務器為負責視頻業(yè)務的服務器,在通過本步驟的方法向至少一個代理服務器發(fā)送查詢請求時,可以向負責視頻業(yè)務監(jiān)控數(shù)據(jù)接收的代理服務器發(fā)送查詢請求?;蛘?/p>
第一被監(jiān)控服務器為設置在北京的負責視頻業(yè)務的服務器,在通過本步驟的方法向至少一個代理服務器發(fā)送查詢請求時,可以向設置在北京的負責視頻業(yè)務監(jiān)控數(shù)據(jù)接收的代理服務器發(fā)送查詢請求。
通過本步驟,路由裝置可以根據(jù)第一被監(jiān)控服務器發(fā)送的請求配置信息,發(fā)送查詢請求至與該請求配置信息對應的代理服務器,使該代理服務器能夠更快更好的接收該第一被監(jiān)控服務器收集的監(jiān)控數(shù)據(jù)。
具體地,本發(fā)明實施例還提供了一種路由方法,如圖4所示,為本發(fā)明實施例的一種路由方法的第二種實施方式的流程圖,所述方法可以包括:
s401,接收第一被監(jiān)控服務器發(fā)送的請求配置信息。
s402,在第一代理服務器子集群中選擇任一代理服務器為初始目標代理服務器,生成初始配置信息。
路由裝置在接收到請求配置信息后,根據(jù)請求配置信息,選擇與第一被監(jiān)控服務器對應的代理服務器子集群,并且從該代理服務器子集群中任選一個代理服務器為初始目標代理服務器,生成初始配置信息。
優(yōu)選地,在選擇初始目標代理服務器時,選擇與第一被監(jiān)控服務器已經(jīng)建立連接的代理服務器為初始目標代理服務器。這樣,可以在將初始目標代理服務器作為目標代理服務器時,能夠避免代理服務器從監(jiān)控主機上獲取元數(shù)據(jù)造成的數(shù)據(jù)延時。
s403,向初始目標代理服務器發(fā)送查詢請求信息。
在生成初始配置信息后,路由裝置可以向該初始目標代理服務器發(fā)送查詢請求信息,查詢該初始目標代理服務器的負載狀態(tài)。該初始目標代理服務器在接收到查詢請求信息后,收集自身的負載狀態(tài),并反饋給路由裝置。
s404,在初始目標代理服務器的負載狀態(tài)小于預設閾值時,選擇初始目標代理服務器作為目標代理服務器。
路由裝置在接收到初始目標代理服務器反饋的負載狀態(tài)后,與預設的閾值進行比較,在該負載狀態(tài)小于預設閾值時,選擇初始目標代理服務器作為目標代理服務器。
通過本步驟,使得在確定目標代理服務器后,不需要再修改初始配置信息,可以將初始配置信息作為最終的配置信息發(fā)送給第一被監(jiān)控服務器。降低路由裝置的資源消耗,提高路由裝置的性能。
路由裝置接收到初始目標代理服務器反饋的負載狀態(tài)并與預設的閾值比較后,當該負載狀態(tài)大于或等于預設閾值時,則說明該初始目標代理服務器不能再接收被監(jiān)控服務器發(fā)送的監(jiān)控數(shù)據(jù),需要重新選擇代理服務器。
具體地,在初始目標代理服務器的負載狀態(tài)大于或等于預設閾值時,可以通過下述方法重新選擇代理服務器。
s405,向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息。
需要說明的是,在本步驟中路由裝置向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息、可以與步驟s403中初始目標代理服務器發(fā)送查詢請求同時進行,即同時向第一代理服務器子集群中的所有代理服務器發(fā)送查詢請求信息。這樣,可以降低路由裝置發(fā)送查詢請求的次數(shù)。
s406,根據(jù)除初始目標代理服務器外的至少一個代理服務器反饋的負載狀態(tài),在除初始目標代理服務器外的至少一個代理服務器中選擇負載狀態(tài)小于預設閾值的一個代理服務器作為目標代理服務器。
優(yōu)選地,為了使被監(jiān)控服務器在第一代理服務器子集群中更換代理服務器的次數(shù)最低,本發(fā)明實施例還提供了一種路由方法。在步驟s406中,根據(jù)除初始目標代理服務器外的至少一個代理服務器反饋的負載狀態(tài),在除初始目標代理服務器外的至少一個代理服務器中選擇負載狀態(tài)小于預設閾值的一個代理服務器作為目標代理服務器,具體可以包括:
根據(jù)除初始目標代理服務器外的至少一個代理服務器反饋的負載狀態(tài),在除初始目標代理服務器外的至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
通過選擇負載最低的代理服務器為目標服務器,使得該代理服務器能夠更長時間的接收該第一被監(jiān)控服務器的收集的監(jiān)控數(shù)據(jù),減少第一被監(jiān)控服務器更換代理服務器的次數(shù)。
在步驟s405、向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息之后,路由裝置接收的各代理服務器的負載狀態(tài)均大于或等于預設閾值時,則需要在除第一代理服務器子集群外的各代理服務器中確定目標代理服務器。為此,本發(fā)明實施例的一種路由方法提供了一種實施方式。在第一代理服務器子集群中的各代理服務器的負載狀態(tài)大于或等于到預設閾值時,該方法可以包括:
步驟a,向除第一代理服務器子集群外的至少一個代理服務器發(fā)送查詢請求;
步驟b,根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇一個代理服務器作為目標代理服務器。
通過本發(fā)明實施例提供的路由方法,可以在第一代理服務器子集群中各代理服務器的負載狀態(tài)均大于預設閾值時,能夠及時為第一被監(jiān)控服務器找到接收該被監(jiān)控服務器發(fā)送的監(jiān)控數(shù)據(jù)的代理服務器,防止該被監(jiān)控服務器中監(jiān)控數(shù)據(jù)的積累,可以使得監(jiān)控主機能夠及時查看該被監(jiān)控服務器的監(jiān)控數(shù)據(jù),在該被監(jiān)控服務器異常時,能夠及時處理異常。
優(yōu)選地,在通過步驟b選擇目標代理服務器時,可以選擇負載最低的代理服務器作為目標代理服務器,即根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
在本發(fā)明實施例中,在代理服務器集群中存在新增的代理服務器時,本發(fā)明實施例還提供了一種路由方法,如圖5所示,為本發(fā)明實施例的一種路由方法的第三種實施方式的流程圖,該方法可以包括:
s501,接收新增代理服務器發(fā)送的注冊請求,注冊請求攜帶有新增代理服務器的標識信息。
s502,將新增代理服務器的標識信息添加到代理服務器列表中。
具體地,在代理服務器集群中有新增代理服務器時,該新增代理服務器可以主動發(fā)送注冊請求給路由裝置,路由裝置在接收到該注冊請求后,可以從注冊請求中獲取該新增代理服務器的標識信息,并將該標識信息添加的代理服務器列表中。
通過本發(fā)明實施例的一種路由方法,可以實現(xiàn)對代理服務器列表的更新,使新增代理服務器能夠及時接收被監(jiān)控服務器集群中的被監(jiān)控服務器發(fā)送的監(jiān)控數(shù)據(jù),降低代理服務器集群中其他代理服務器的負載。
相應于上述方法實施例,本發(fā)明實施例還提供了一種路由裝置,如圖6所示,為本發(fā)明實施例的一種路由裝置的第一種結(jié)構(gòu)圖,該裝置可以包括:
第一接收模塊601,用于接收第一被監(jiān)控服務器發(fā)送的請求配置信息。
查詢模塊602,用于向代理服務器列表中的至少一個代理服務器發(fā)送查詢請求信息,查詢請求信息用于請求至少一個代理服務器反饋負載狀態(tài),路由裝置中存儲有代理服務器列表。
選擇模塊603,用于根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇一個代理服務器作為目標代理服務器,其中,目標代理服務器為負載狀態(tài)小于預設閾值的代理服務器。
配置生成模塊604,用于為第一被監(jiān)控服務器生成配置信息,配置信息包括目標代理服務器的連接信息。
發(fā)送模塊605,用于向第一被監(jiān)控服務器發(fā)送配置信息,以使第一被監(jiān)控服務器與目標代理服務器建立連接。
具體地,本發(fā)明實施例的一種路由裝置還可以包括:
存儲模塊606,用于存儲代理服務器列表,該代理服務器列表中存儲有各代理服務器的標識信息。
本發(fā)明實施例提供的一種路由裝置,通過在代理服務器列表中選擇一個負載狀態(tài)小于預設閾值的代理服務器為目標代理服務器,為第一被監(jiān)控服務器生成配置信息,并發(fā)送給第一被監(jiān)控服務器,以使第一被監(jiān)控服務器與目標代理服務器建立連接。不需要人工修改,可以實現(xiàn)自動修改被監(jiān)控服務器的配置信息,降低人工成本,還可以同時對各代理服務器進行負載均衡,提高代理服務器的性能。
需要強調(diào)的是,路由裝置可以對一個企業(yè)中所有被監(jiān)控服務器和代理服務器進行路由,也可以對該企業(yè)中負責相同或相近業(yè)務的被監(jiān)控服務器和對應的代理服務器進行路由,還可以對該企業(yè)中同一地理區(qū)域或相近地理區(qū)域的被監(jiān)控服務器和代理服務器進行路由,這都是可以,可以根據(jù)實際需要進行部署,這里對路由裝置的部署方式不作限定。
具體地,當代理服務器集群包括至少一個代理服務器子集群時,
查詢模塊602,還用于向第一代理服務器子集群中的至少一個代理服務器發(fā)送查詢請求,其中,第一代理服務器子集群為與請求配置信息對應的代理服務器子集群。
具體地,查詢模塊602,包括:
初始配置生成子模塊,用于在第一代理服務器子集群中選擇任一代理服務器為初始目標代理服務器,生成初始配置信息。
第一查詢子模塊,用于向初始目標代理服務器發(fā)送查詢請求信息。
相應的,選擇模塊603,包括:
第一選擇子模塊,用于在初始目標代理服務器的負載狀態(tài)小于預設閾值時,選擇初始目標代理服務器作為目標代理服務器。
第二查詢子模塊,用于在初始目標代理服務器的負載狀態(tài)大于或等于預設閾值時,向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息。
第二選擇子模塊,用于根據(jù)除初始目標代理服務器外的至少一個代理服務器反饋的負載狀態(tài),在除初始目標代理服務器外的至少一個代理服務器中選擇負載狀態(tài)小于預設閾值的一個代理服務器作為目標代理服務器。
具體地,在向第一代理服務器子集群中除初始目標代理服務器外的至少一個代理服務器發(fā)送查詢請求信息之后,選擇模塊603還包括:
第三查詢子模塊,用于在第一代理服務器子集群中的各代理服務器的負載狀態(tài)大于或等于到預設閾值時,向除第一代理服務器子集群外的至少一個代理服務器發(fā)送查詢請求。
第三選擇子模塊,用于根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇一個代理服務器作為目標代理服務器。
具體地,第三選擇子模塊,具體用于根據(jù)除第一代理服務器子集群外的至少一個服務器反饋的負載狀態(tài),在除第一代理服務器子集群外的至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
具體地,選擇模塊603,具體用于根據(jù)至少一個代理服務器反饋的負載狀態(tài),在至少一個代理服務器中選擇負載最低的代理服務器作為目標代理服務器。
相應于上述方法實施例,本發(fā)明實施例還提供了一種路由裝置,如圖7所示,為本發(fā)明實施例的一種路由裝置的第二種結(jié)構(gòu)圖,該裝置除包括第一種結(jié)構(gòu)圖的模塊外,還可以包括:
第二接收模塊701,用于接收新增代理服務器發(fā)送的注冊請求,注冊請求攜帶有新增代理服務器的標識信息。
添加模塊702,用于將新增代理服務器的標識信息添加到代理服務器列表中。
通過本發(fā)明實施例的一種路由裝置,可以實現(xiàn)對代理服務器列表的更新,使新增代理服務器能夠及時接收被監(jiān)控服務器集群中的被監(jiān)控服務器發(fā)送的監(jiān)控數(shù)據(jù)。降低代理服務器集群中其他代理服務器的負載。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。