本發(fā)明涉及服務(wù)器領(lǐng)域,具體而言,涉及一種實時獲取業(yè)務(wù)服務(wù)器信息的方法以及裝置。
背景技術(shù):
目前,服務(wù)器DNS(Domain Name Server,域名服務(wù)器)是進(jìn)行域名(domain name)和與之相對應(yīng)的IP地址(IP address)轉(zhuǎn)換的服務(wù)器;DNS中保存了一張域名(domain name)和與之相對應(yīng)的IP地址(IP address)的表,以解析消息的域名;域名是Internet上某一臺計算機或計算機組的名稱,用于在數(shù)據(jù)傳輸時標(biāo)識計算機的電子方位(有時也指地理位置);域名是由一串用點分隔的名字組成的,通常包含組織名,而且始終包括兩到三個字母的后綴,以指明組織的類型或該域所在的國家或地區(qū)。
DNS是計算機域名系統(tǒng)(Domain Name System或Domain Name Service)的縮寫,它是由域名解析器和域名服務(wù)器組成的;域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機的域名和對應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器;其中域名必須對應(yīng)一個IP地址,一個IP地址可以有多個域名,而IP地址不一定有域名;域名系統(tǒng)采用類似目錄樹的等級結(jié)構(gòu);域名服務(wù)器通常為客戶機/服務(wù)器模式中的服務(wù)器方,它主要有兩種形式:主服務(wù)器和轉(zhuǎn)發(fā)服務(wù)器。將域名映射為IP地址的過程就稱為“域名解析”可感知的DNS服務(wù)器,可以實時感知業(yè)務(wù)服務(wù)器狀態(tài),實時更新A記錄并提供可靠的定制化的負(fù)載均衡DNS解析服務(wù)。
目前,針對業(yè)務(wù)服務(wù)器的突發(fā)訪問,會造成業(yè)務(wù)服務(wù)器負(fù)載升高,響應(yīng)時間增長,性能下降等問題,此時域名服務(wù)器不能感知業(yè)務(wù)服務(wù)器的變化,仍然解析客戶請求至此業(yè)務(wù)服務(wù)器,造成服務(wù)器壓力升高。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種實時獲取業(yè)務(wù)服務(wù)器信息的方法以及裝置,解決由于連續(xù)大量請求造成業(yè)務(wù)服務(wù)器性能持續(xù)下降的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種實時獲取業(yè)務(wù)服務(wù)器信息的方法,包括:域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器,其中,目錄服務(wù)器中注冊有至少一個業(yè)務(wù)服務(wù)器;域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息;域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息;域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端。
進(jìn)一步地,業(yè)務(wù)服務(wù)器的狀態(tài)信息,包括:業(yè)務(wù)服務(wù)器的處理器使用率、內(nèi)存可用空間、磁盤可用空間和網(wǎng)絡(luò)接口的通信狀態(tài)。
進(jìn)一步地,域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息,包括:處理器使用率是否大于等于預(yù)定效率值;內(nèi)存可用空間是否大于等于第一預(yù)定空間值;磁盤可用空間是否大于等于第二預(yù)定空間值;網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)。
進(jìn)一步地,在域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器之前,方法還包括:啟動至少一個業(yè)務(wù)服務(wù)器;業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點;其中,約定節(jié)點是指業(yè)務(wù)服務(wù)器在目錄服務(wù)器下創(chuàng)建的業(yè)務(wù)存儲空間,約定節(jié)點與業(yè)務(wù)服務(wù)器的域名信息一一對應(yīng);業(yè)務(wù)服務(wù)器保存自身地址及狀態(tài)信息至約定節(jié)點。
進(jìn)一步地,在業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點之后,方法還包括:域名服務(wù)器訪問目錄服務(wù)器,并訂閱約定節(jié)點,其中,約定節(jié)點用于接收業(yè)務(wù)服務(wù)器狀態(tài)改變的通知信息。
進(jìn)一步地,在域名服務(wù)器將滿足預(yù)定條件的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端之后,方法還包括:在滿足預(yù)定條件的業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,目錄服務(wù)器感知到業(yè)務(wù)服務(wù)器故障;目錄服務(wù)器根據(jù)故障信息刪除約定節(jié)點下業(yè)務(wù)服務(wù)器的狀態(tài)信息;目錄服務(wù)器通知域名服務(wù)器,域名服務(wù)器拉取目錄服務(wù)器當(dāng)前可用業(yè)務(wù)服務(wù)器的最新狀態(tài)信息。
進(jìn)一步地,在域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器之前,方法還包括:啟動域名服務(wù)器;域名服務(wù)器向目錄服務(wù)器訂閱域名對應(yīng)的約定節(jié)點。
根據(jù)本發(fā)明實施例的另一個方面,提供了一種實時獲取業(yè)務(wù)服務(wù)器信息的裝置,,包括:發(fā)出模塊,用于域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器,其中,目錄服務(wù)器中注冊有至少一個業(yè)務(wù)服務(wù)器;接收模塊,用于域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息;過濾模塊,用于域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息;返回模塊,用于域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端。
進(jìn)一步地,接收模塊包括:業(yè)務(wù)服務(wù)器的狀態(tài)信息包括:業(yè)務(wù)服務(wù)器的處理器使用率、內(nèi)存可用空間、磁盤可用空間和網(wǎng)絡(luò)接口的通信狀態(tài)。
進(jìn)一步地,過濾模塊,包括:第一判斷模塊,用于處理器使用率是否大于等于預(yù)定效率值;第二判斷模塊,用于內(nèi)存可用空間是否大于等于第一預(yù)定空間值;第三判斷模塊,用于磁盤可用空間是否大于等于第二預(yù)定空間值;第四判斷模塊,用于網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)。
進(jìn)一步地,發(fā)出模塊還包括:第一啟動模塊,用于啟動至少一個業(yè)務(wù)服務(wù)器;創(chuàng)建模塊,用于業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點;其中,約定節(jié)點是指業(yè)務(wù)服務(wù)器在目錄服務(wù)器下創(chuàng)建的業(yè)務(wù)存儲空間,約定節(jié)點與業(yè)務(wù)服務(wù)器的域名信息一一對應(yīng);保存模塊,用于業(yè)務(wù)服務(wù)器保存自身地址及狀態(tài)信息至中的約定節(jié)點。
進(jìn)一步地,創(chuàng)建模塊還包括:訪問模塊,用于域名服務(wù)器訪問目錄服務(wù)器,并訂閱約定節(jié)點,其中,約定節(jié)點用于接收業(yè)務(wù)服務(wù)器狀態(tài)改變的通知信息。
進(jìn)一步地,返回模塊還包括:感知模塊,用于在滿足預(yù)定條件的業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,目錄服務(wù)器感知到業(yè)務(wù)服務(wù)器故障并刪除約定節(jié)點下業(yè)務(wù)服務(wù)器的狀態(tài)信息;拉取模塊,用于目錄服務(wù)器通知域名服務(wù)器,域名服務(wù)器拉取目錄服務(wù)器注冊的當(dāng)前可用業(yè)務(wù)服務(wù)器的最新信息。
進(jìn)一步地,發(fā)出模塊還包括:第二啟動模塊,用于啟動域名服務(wù)器;訂閱模塊,用于域名服務(wù)器向目錄服務(wù)器訂閱域名對應(yīng)的約定節(jié)點。
在本發(fā)明實施例中,采用域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器的方式,通過域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息,域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息,域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端,達(dá)到了域名服務(wù)器可以實時感知業(yè)務(wù)服務(wù)器狀態(tài)并更新記錄,提供可靠和定制化的負(fù)載均衡DNS解析服務(wù)的目的,從而實現(xiàn)了提高業(yè)務(wù)服務(wù)器集群的并發(fā)訪問量的技術(shù)效果,進(jìn)而解決了由于連續(xù)大量請求造成業(yè)務(wù)服務(wù)器性能持續(xù)下降的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的一種獲取業(yè)務(wù)服務(wù)器信息的方法流程圖;
圖2是根據(jù)本發(fā)明實施例的一種可選的正常場景下域名解析的方法流程圖;
圖3是根據(jù)本發(fā)明實施例的一種可選的處理業(yè)務(wù)服務(wù)器負(fù)載過高的方法流程圖;
圖4是根據(jù)本發(fā)明實施例的一種可選的獲取業(yè)務(wù)服務(wù)器信息的方法流程圖;
圖5是根據(jù)本發(fā)明實施例的一種可選的獲取業(yè)務(wù)服務(wù)器信息的方法流程圖;
圖6是根據(jù)本發(fā)明實施例的一種可選的業(yè)務(wù)服務(wù)器故障的方法流程圖;
圖7是根據(jù)本發(fā)明實施例的一種可選的獲取業(yè)務(wù)服務(wù)器信息的方法流程圖;
圖8是根據(jù)本發(fā)明實施例的一種可選的獲取業(yè)務(wù)服務(wù)器信息的方法流程圖;以及
圖9是根據(jù)本發(fā)明實施例的一種可選的獲取業(yè)務(wù)服務(wù)器信息的裝置示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實施例1
根據(jù)本發(fā)明實施例,提供了一種實時獲取業(yè)務(wù)服務(wù)器信息的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實施例的一種實時獲取業(yè)務(wù)服務(wù)器信息的方法,如圖1所示,該方法包括如下步驟:
步驟S102,域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器,其中,目錄服務(wù)器中注冊有至少一個業(yè)務(wù)服務(wù)器。
具體地,在上述步驟中,域名服務(wù)器是可以指是進(jìn)行域名和與之相對應(yīng)的IP地址轉(zhuǎn)換的服務(wù)器;目錄服務(wù)器是可以注冊業(yè)務(wù)服務(wù)器和域名服務(wù)器的服務(wù)器;業(yè)務(wù)服務(wù)器是可以進(jìn)行文件共享和管理運營、數(shù)據(jù)存儲備份以及業(yè)務(wù)程序集成的服務(wù)器;上述查詢指令包括請求時間、請求節(jié)點地址、請求業(yè)務(wù)服務(wù)器個數(shù)。
在一種可選的實施例中,域名服務(wù)器A發(fā)出查詢目錄服務(wù)器B的指令,其中,查詢指令包括:請求時間為2016年12月25日、請求業(yè)務(wù)服務(wù)器個數(shù)為1個,查詢域名為域名服務(wù)器A已配置的域名;同時,域名服務(wù)器A訂閱對應(yīng)的域名節(jié)點。
通過上述步驟S102,目錄服務(wù)器根據(jù)域名服務(wù)器的訂閱信息可以實現(xiàn)域名服務(wù)器實時通知目錄服務(wù)器狀態(tài)變化的目的。
步驟S104,域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息;
具體地,在上述步驟中,域名服務(wù)器接收目錄服務(wù)器返回全部的業(yè)務(wù)服務(wù)器IP地址以及狀態(tài)信息;其中,狀態(tài)信息包括業(yè)務(wù)服務(wù)器的處理器使用率、內(nèi)存可用空間、磁盤可用空間和網(wǎng)絡(luò)接口的通信狀態(tài)。
在一種可選的實施例中,目錄服務(wù)器B根據(jù)查詢指令中的域名,返回域名節(jié)點下的所有業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息,包括:業(yè)務(wù)服務(wù)器1和業(yè)務(wù)服務(wù)器2和業(yè)務(wù)服務(wù)器3,其中,業(yè)務(wù)服務(wù)器1的IP地址信息192.168.1.2、業(yè)務(wù)服務(wù)器1的處理器使用率可以為10%、內(nèi)存可用空間為300MB、磁盤可用空間可以為500MB和網(wǎng)絡(luò)接口的通信狀態(tài)可以為空閑;業(yè)務(wù)服務(wù)器2的IP地址信息192.168.1.3、業(yè)務(wù)服務(wù)器2的處理器使用率可以為5%、內(nèi)存可用空間為200MB、磁盤可用空間可以為200MB和網(wǎng)絡(luò)接口的通信狀態(tài)可以為空閑;業(yè)務(wù)服務(wù)器3的IP地址信息192.168.1.4、業(yè)務(wù)服務(wù)器3的處理器使用率可以為9%、內(nèi)存可用空間為250B、磁盤可用空間可以為400MB和網(wǎng)絡(luò)接口的通信狀態(tài)可以為空間。
通過步驟S104可以實現(xiàn)域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息的目的。
步驟S106,域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息。
具體地,在上述步驟中,域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足處理器使用率是否大于等于預(yù)定效率值;內(nèi)存可用空間是否大于等于第一預(yù)定空間值;磁盤可用空間是否大于等于第二預(yù)定空間值;網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)的業(yè)務(wù)服務(wù)器狀態(tài)信息;
在一種可選的實施例中,域名服務(wù)器A將處理器使用率大于等于預(yù)定效率值為10%、內(nèi)存可用空間大于等于第一預(yù)定空間值為200MB、磁盤可用空間大于等于第二預(yù)定空間值為200MB、網(wǎng)絡(luò)接口的通信狀態(tài)為空閑狀態(tài)的業(yè)務(wù)服務(wù)器的業(yè)務(wù)服務(wù)器狀態(tài)信息進(jìn)行過濾。
通過步驟S106可以實現(xiàn)域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息的目的。
步驟S108,域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端。
具體地,在上述步驟中,域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端。
在一種可選的實施例中,域名服務(wù)器A將業(yè)務(wù)服務(wù)器2的地址信息192.168.1.3和業(yè)務(wù)服務(wù)器3的地址信息192.168.1.4的地址信息返回給客戶終端。
本發(fā)明上述步驟S102至步驟S108所公開的方案中,在本發(fā)明實施例中,采用域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器的方式,通過域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息,域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息,域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端,達(dá)到了域名服務(wù)器可以實時感知業(yè)務(wù)服務(wù)器狀態(tài)并更新記錄,提供可靠和定制化的負(fù)載均衡DNS解析服務(wù)的目的,從而實現(xiàn)了提高業(yè)務(wù)服務(wù)器集群的并發(fā)訪問量的技術(shù)效果,進(jìn)而解決了由于連續(xù)大量請求造成業(yè)務(wù)服務(wù)器性能持續(xù)下降的技術(shù)問題。
結(jié)合圖2所示的一種實時獲取業(yè)務(wù)服務(wù)器信息的實施例來對正常場景下域名解析方案進(jìn)行詳細(xì)說明如下:
步驟S202,業(yè)務(wù)服務(wù)器啟動,注冊信息注冊到/server/www.qunar.com/自身ip地址路徑下,其中,注冊信息還包括業(yè)務(wù)服務(wù)器狀態(tài)信息。
具體的,業(yè)務(wù)服務(wù)器1注冊到/server/www.qunar.com/192.168.1.2路徑;業(yè)務(wù)服務(wù)器2注冊到/server/www.qunar.com/192.168.1.3路徑下;業(yè)務(wù)服務(wù)器3注冊到/server/www.qunar.com/192.168.1.4路徑。
步驟S204,客戶端發(fā)送解析地址指令到域名服務(wù)器,域名服務(wù)器接收到解析請求指令后發(fā)送查詢指令到目錄服務(wù)器,目錄服務(wù)器向域名服務(wù)器返回/server/www.qunar.com/節(jié)點下所有業(yè)務(wù)服務(wù)器的注冊信息。
具體的,客戶端向域名服務(wù)器發(fā)送解析www.qunar.com地址的指令,域名服務(wù)器接收到解析請求指令后發(fā)送查詢指令到目錄服務(wù)器,目錄服務(wù)器向域名服務(wù)器返回/server/www.qunar.com/節(jié)點下業(yè)務(wù)服務(wù)器1、業(yè)務(wù)服務(wù)器2和業(yè)務(wù)服務(wù)器3的注冊信息,其中,注冊信息包括:業(yè)務(wù)服務(wù)器的IP地址信息、業(yè)務(wù)服務(wù)器的處理器使用率、內(nèi)存可用空間、磁盤可用空間和網(wǎng)絡(luò)接口的通信狀態(tài)。
步驟S206,域名服務(wù)器返回業(yè)務(wù)服務(wù)器的注冊信息,并對預(yù)設(shè)條件進(jìn)行計算,計算結(jié)果是www.qunar.com對應(yīng)的IP地址。
具體的,預(yù)設(shè)條件可以包括域名服務(wù)器將滿足處理器使用率是否大于等于預(yù)定效率值;內(nèi)存可用空間是否大于等于第一預(yù)定空間值;磁盤可用空間是否大于等于第二預(yù)定空間值;網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)。
步驟S208,域名服務(wù)器將計算結(jié)果返回業(yè)務(wù)服務(wù)器2的IP地址192.168.1.3和業(yè)務(wù)服務(wù)器3的IP地址192.168.1.4給客戶端。
通過上述步驟S202至步驟S208可以在常規(guī)場景下實現(xiàn)域名解析的目的。
在一種可選的實施例中,業(yè)務(wù)服務(wù)器的狀態(tài)信息,包括:業(yè)務(wù)服務(wù)器的處理器使用率、內(nèi)存可用空間、磁盤可用空間和網(wǎng)絡(luò)接口的通信狀態(tài)。
具體的,處理器使用率可以指業(yè)務(wù)服務(wù)器CPU使用運行效率、內(nèi)存可用空間可以指業(yè)務(wù)服務(wù)器內(nèi)存空閑空間、磁盤可用空間可以指業(yè)務(wù)服務(wù)器磁盤空閑空間。
在一種可選的實施例中,域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息,包括:處理器使用率是否大于等于預(yù)定效率值;內(nèi)存可用空間是否大于等于第一預(yù)定空間值;磁盤可用空間是否大于等于第二預(yù)定空間值;網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài),其中,預(yù)定效率值為所有業(yè)務(wù)服務(wù)器中處理器使用率平均值;第一預(yù)定空間值為業(yè)務(wù)服務(wù)器中內(nèi)存空閑空間平均值;第二預(yù)定空間值為業(yè)務(wù)服務(wù)器中磁盤空閑空間平均值。
具體的,在第一種場景下,預(yù)定條件為處理器使用率是否大于等于預(yù)定效率值;在第二種場景下,預(yù)定條件為內(nèi)存可用空間是否大于等于第一預(yù)定空間值;在第三種場景下,預(yù)定條件為磁盤可用空間是否大于等于第二預(yù)定空間值;在第四種場景下,預(yù)定條件為網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)。
此處需要說明的是,在第一種場景下,預(yù)定條件為處理器使用率是否大于等于預(yù)定效率值3%;在第二種場景下,預(yù)定條件為內(nèi)存的可用空間是否大于等于第一預(yù)定空間值200MB;在第三種場景下,預(yù)定條件為磁盤的可用空間是否大于等于第二預(yù)定空間值200MB;在第四種場景下,預(yù)定條件為網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)。
通過上述實施例步驟可以實現(xiàn)域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息的目的。
結(jié)合圖3所示的一種實時獲取業(yè)務(wù)服務(wù)器信息的實施例來對業(yè)務(wù)服務(wù)器負(fù)載過高方案進(jìn)行詳細(xì)說明如下:
步驟S302,用戶A向域名服務(wù)器發(fā)送解析www.qunar.com指令,域名服務(wù)器返回業(yè)務(wù)服務(wù)器1的IP地址192.168.1.2給客戶端;
步驟S304,業(yè)務(wù)服務(wù)器1請求量過大,CPU負(fù)載升高;目錄服務(wù)器更新業(yè)務(wù)服務(wù)1的信息并通知域名服務(wù)器從目錄服務(wù)器拉取當(dāng)前可用業(yè)務(wù)服務(wù)器的最新信息;
步驟S306,域名服務(wù)器根據(jù)預(yù)定義邏輯更新本地的域名的映射關(guān)系,當(dāng)用戶B向域名服務(wù)器再次發(fā)送解析www.qunar.com指令,域名服務(wù)器返回滿足預(yù)定條件的業(yè)務(wù)服務(wù)器2的IP地址192.168.1.3給用戶B。
通過上述步驟S302至步驟S306可以實現(xiàn)業(yè)務(wù)服務(wù)器負(fù)載過高將可用狀態(tài)的業(yè)務(wù)服務(wù)器返回給用戶的目的。
在一種可選的實施例中,預(yù)定效率值為所有業(yè)務(wù)服務(wù)器中處理器使用率的平均值;第一預(yù)定空間值為業(yè)務(wù)服務(wù)器中內(nèi)存可用空間的平均值;第二預(yù)定空間值為業(yè)務(wù)服務(wù)器中磁盤可用空間的平均值。
通過上述實施例步驟可以實現(xiàn)域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息的目的。
在一種可選的實施例中,如圖4所示,在域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器之前,方法還包括:
步驟S402,啟動至少一個業(yè)務(wù)服務(wù)器;
步驟S404,至少一個業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點;其中,約定節(jié)點是指業(yè)務(wù)服務(wù)器在目錄服務(wù)器下創(chuàng)建的業(yè)務(wù)存儲空間;約定節(jié)點與業(yè)務(wù)服務(wù)器的域名信息一一對應(yīng);
步驟S406,業(yè)務(wù)服務(wù)器保存自身地址及狀態(tài)信息至約定節(jié)點。
具體的,業(yè)務(wù)服務(wù)器在目錄服務(wù)器的創(chuàng)建路徑的具體格式是:域名服務(wù)器配置的域名a/業(yè)務(wù)服務(wù)器IP地址+業(yè)務(wù)服務(wù)器的狀態(tài)信息,存儲的約定節(jié)點是指/域名服務(wù)器配置的域名a,所有服務(wù)相同域名a的業(yè)務(wù)服務(wù)器都保存自身地址及狀態(tài)信息在/域名a節(jié)點下,在業(yè)務(wù)存儲空間內(nèi)保存業(yè)務(wù)服務(wù)器自身地址及狀態(tài)信息的映射關(guān)系,其中,映射關(guān)系是指域名服務(wù)器配置的域名與目錄服務(wù)器保存節(jié)點域名a的關(guān)系。
此處需要說明的是,域名服務(wù)器負(fù)責(zé)解析的域名是/server/www.qunar.com/,業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建的節(jié)點也是/域名a/server/www.qunar.com/;針對服務(wù)于同一域名的業(yè)務(wù)服務(wù)器,需要注冊到目錄服務(wù)器對應(yīng)域名節(jié)點下,比如:業(yè)務(wù)服務(wù)器1注冊到/server/www.qunar.com/192.168.1.2節(jié)點路徑下,業(yè)務(wù)服務(wù)器狀態(tài)為可用;業(yè)務(wù)服務(wù)器2注冊到/server/www.qunar.com/192.168.1.3節(jié)點路徑下,業(yè)務(wù)服務(wù)器狀態(tài)為可用;業(yè)務(wù)服務(wù)器3注冊到/server/www.qunar.com/192.168.1.4節(jié)點路徑下。
通過上述實施例步驟可以實現(xiàn)業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點,業(yè)務(wù)服務(wù)器保存自身地址及狀態(tài)信息至約定節(jié)點的目的。
在一種可選的實施例中,業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點之后,方法還包括:域名服務(wù)器訪問目錄服務(wù)器,并訂閱約定節(jié)點,其中,約定節(jié)點用于接收業(yè)務(wù)服務(wù)器狀態(tài)改變的通知信息。
此處需要說明的是,域名服務(wù)器A通過查詢指令訪問目錄服務(wù)器B,并訂閱約定節(jié)點/server/www.qunar.com/;域名服務(wù)器獲取約定節(jié)點下的業(yè)務(wù)服務(wù)器1、業(yè)務(wù)服務(wù)器2和業(yè)務(wù)服務(wù)器3的節(jié)點分別為/server/www.qunar.com/192.168.1.2、/server/www.qunar.com/192.168.1.3和/server/www.qunar.com/192.168.1.4。
通過上述步驟可以實現(xiàn)域名服務(wù)器訪問目錄服務(wù)器并訂閱約定節(jié)點的目的。
在一種可選的實施例中,如圖5所示,在域名服務(wù)器將滿足預(yù)定條件的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端之后,方法還包括:
步驟S502,在滿足預(yù)定條件的業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,目錄服務(wù)器感知到業(yè)務(wù)服務(wù)器故障并刪除約定節(jié)點下業(yè)務(wù)服務(wù)器的狀態(tài)信息;
步驟S504,目錄服務(wù)器通知域名服務(wù)器,域名服務(wù)器拉取目錄服務(wù)器當(dāng)前可用業(yè)務(wù)服務(wù)器的最新狀態(tài)信息。
具體的,如果業(yè)務(wù)服務(wù)器出現(xiàn)故障會刪除節(jié)點下業(yè)務(wù)服務(wù)器的狀態(tài)信息,從而目錄服務(wù)器實時獲取業(yè)務(wù)服務(wù)器的故障狀態(tài),并解析到其他可用且滿足預(yù)設(shè)條件的業(yè)務(wù)服務(wù)器的狀態(tài)信息;目錄服務(wù)器通知域名服務(wù)器之后,域名服務(wù)器重復(fù)收取目錄服務(wù)器當(dāng)前可用業(yè)務(wù)服務(wù)器的最新狀態(tài)信息。
此處需要說明的是,如果業(yè)務(wù)服務(wù)器1出現(xiàn)故障,目錄服務(wù)器接收故障通知信息后在業(yè)務(wù)存儲空間內(nèi)刪除業(yè)務(wù)服務(wù)器1的節(jié)點為/server/www.qunar.com/192.168.1.2,從而目錄服務(wù)器實時獲取到業(yè)務(wù)服務(wù)器1的故障狀態(tài)并解析其他狀態(tài)為可用狀態(tài)且滿足預(yù)設(shè)條件業(yè)務(wù)服務(wù)器的狀態(tài)信息。
通過上述實施例步驟可以實現(xiàn)業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,目錄服務(wù)器根據(jù)故障信息刪除約定節(jié)點下業(yè)務(wù)服務(wù)器的狀態(tài)信息的目的。
結(jié)合圖6所示的一種實時獲取業(yè)務(wù)服務(wù)器信息的實施例來對業(yè)務(wù)服務(wù)器故障方案進(jìn)行詳細(xì)說明如下:
步驟S602,業(yè)務(wù)服務(wù)器1出現(xiàn)故障,目錄服務(wù)器檢測到與業(yè)務(wù)服務(wù)器1的連接信號中斷,刪除目錄服務(wù)器中www.qunar.com節(jié)點下目錄服務(wù)器1的注冊信息;
步驟S604,目錄服務(wù)器根據(jù)www.qunar.com的訂閱信息,通知域名服務(wù)器從目錄服務(wù)器拉取目錄服務(wù)器注冊的當(dāng)前可用業(yè)務(wù)服務(wù)器的最新信息;
步驟S606,域名服務(wù)器拉取www.qunar.com下的最新信息并更新本地域名與業(yè)務(wù)服務(wù)器地址的映射關(guān)系,并從當(dāng)前可用業(yè)務(wù)服務(wù)器中獲取滿足預(yù)定條件的業(yè)務(wù)服務(wù)器的注冊信息;
步驟S608,客戶端發(fā)送解析www.qunar.com地址,返回業(yè)務(wù)服務(wù)器中獲取滿足預(yù)定條件的業(yè)務(wù)服務(wù)器2的ip地址192.168.1.3給客戶端。
通過上述步驟S602至步驟S608可以實現(xiàn)業(yè)務(wù)服務(wù)器出現(xiàn)故障時,域名服務(wù)器通過目錄服務(wù)器將滿足條件的業(yè)務(wù)服務(wù)器發(fā)送至客戶端的目的。
在一種可選的實施例中,如圖7所示,在域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器之前,方法還包括:
步驟S702,啟動域名服務(wù)器;
步驟S704,域名服務(wù)器向目錄服務(wù)器訂閱域名對應(yīng)的約定節(jié)點。
具體的,域名服務(wù)器向目錄服務(wù)器訂閱約定節(jié)點,約定節(jié)點用于接收業(yè)務(wù)服務(wù)器狀態(tài)改變的通知信息。
通過上述實施例步驟可以實現(xiàn)域名服務(wù)器向目錄服務(wù)器訂閱域名對應(yīng)的約定節(jié)點的目的。
基于上述實施例所提供的方案可知,針對由于連續(xù)大量請求造成業(yè)務(wù)服務(wù)器性能持續(xù)下降的技術(shù)問題,本發(fā)明提供的可選的或優(yōu)選的實施例可以實現(xiàn)提高業(yè)務(wù)服務(wù)器集群并發(fā)訪問量的技術(shù)效果。由此,結(jié)合圖8所示的一種實時獲取業(yè)務(wù)服務(wù)器信息的實施例來對本發(fā)明的可實現(xiàn)方案進(jìn)行詳細(xì)說明如下:
步驟S802,業(yè)務(wù)服務(wù)器啟動,在目錄服務(wù)器注冊節(jié)點。
具體的,業(yè)務(wù)服務(wù)器I的IP地址是192.168.1.2、業(yè)務(wù)服務(wù)器II的IP地址是192.168.1.3,業(yè)務(wù)服務(wù)器I在目錄服務(wù)器上注冊的節(jié)點為/server/www.qunar.com/192.168.1.2,業(yè)務(wù)服務(wù)器II在目錄服務(wù)器上注冊的節(jié)點為/server/www.qunar.com/192.168.1.3,域名服務(wù)器訂閱/server/www.qunar.com節(jié)點,從而實時獲得可提供服務(wù)的業(yè)務(wù)服務(wù)器是192.168.1.2和192.168.1.3。
步驟S804,如果業(yè)務(wù)服務(wù)器I出現(xiàn)故障,目錄服務(wù)器刪除業(yè)務(wù)服務(wù)器I注冊的節(jié)點。
具體的,目錄服務(wù)器與業(yè)務(wù)服務(wù)器I通過心跳協(xié)議保持通信,確認(rèn)業(yè)務(wù)服務(wù)器I的狀態(tài)是否可用;業(yè)務(wù)服務(wù)器I向目錄服務(wù)器發(fā)送故障通知,目錄服務(wù)器刪除業(yè)務(wù)服務(wù)器I注冊的節(jié)點,從而域名服務(wù)器實時獲得了當(dāng)前業(yè)務(wù)服務(wù)器狀態(tài)并作出解析其他可用業(yè)務(wù)服務(wù)器IP地址。
步驟S806,業(yè)務(wù)服務(wù)器在目錄服務(wù)器注冊節(jié)點同時可以寫入自身狀態(tài)數(shù)據(jù)。
具體的,自身狀態(tài)數(shù)據(jù)有業(yè)務(wù)服務(wù)器狀態(tài),業(yè)務(wù)服務(wù)器CPU空閑率,業(yè)務(wù)服務(wù)器內(nèi)存的空閑空間以及業(yè)務(wù)服務(wù)器網(wǎng)絡(luò)IO速度,從而為域名服務(wù)器可以解析更多數(shù)據(jù);例如,域名服務(wù)器解析下述數(shù)據(jù),根據(jù)這些數(shù)據(jù)進(jìn)行相應(yīng)個性化的解析服務(wù);
/server/www.qunar.com/192.168.1.3?cpuload=40&memory=50&netio=20,其中,域名服務(wù)器解析業(yè)務(wù)服務(wù)器II的CPU空閑率為40%,內(nèi)存的空閑空間為50MB,網(wǎng)絡(luò)IO速度為20bps。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種實時獲取業(yè)務(wù)服務(wù)器信息的裝置實施例。本發(fā)明實施例1中的實時獲取業(yè)務(wù)服務(wù)器信息的方法可以在本發(fā)明實施例2的裝置中執(zhí)行。
圖9是根據(jù)本發(fā)明實施例的一種實時獲取業(yè)務(wù)服務(wù)器信息的裝置的結(jié)構(gòu)示意圖,該裝置包括:發(fā)出模塊90、接收模塊92、過濾模塊94和返回模塊96。
其中,發(fā)出模塊,用于域名服務(wù)器發(fā)出查詢指令至目錄服務(wù)器,其中,目錄服務(wù)器中注冊有至少一個業(yè)務(wù)服務(wù)器;接收模塊,用于域名服務(wù)器接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息;過濾模塊,用于域名服務(wù)器根據(jù)配置預(yù)定條件過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息;返回模塊,用于域名服務(wù)器將過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端。
在本發(fā)明上述實施例公開的方案中,采用發(fā)出模塊90發(fā)出查詢指令至目錄服務(wù)器的方式,通過接收模塊92接收目錄服務(wù)器返回的業(yè)務(wù)服務(wù)器的地址及狀態(tài)信息,過濾模塊94過濾滿足預(yù)定條件的業(yè)務(wù)服務(wù)器狀態(tài)信息,返回模塊96過濾后的業(yè)務(wù)服務(wù)器的地址信息返回給客戶終端,達(dá)到了域名服務(wù)器可以實時感知業(yè)務(wù)服務(wù)器狀態(tài)并更新記錄,提供可靠和定制化的負(fù)載均衡DNS解析服務(wù)的目的,從而實現(xiàn)了提高業(yè)務(wù)服務(wù)器集群的并發(fā)訪問量的技術(shù)效果,進(jìn)而解決了由于連續(xù)大量請求造成業(yè)務(wù)服務(wù)器性能持續(xù)下降的技術(shù)問題。
可選的,接收模塊92包括:業(yè)務(wù)服務(wù)器的狀態(tài)信息包括:業(yè)務(wù)服務(wù)器的處理器使用率、內(nèi)存可用空間、磁盤可用空間和網(wǎng)絡(luò)接口的通信狀態(tài)。
可選的,過濾模塊94,包括:第一判斷模塊,用于處理器使用率是否大于等于預(yù)定效率值;第二判斷模塊,用于內(nèi)存可用空間是否大于等于第一預(yù)定空間值;第三判斷模塊,用于磁盤可用空間是否大于等于第二預(yù)定空間值;第四判斷模塊,用于網(wǎng)絡(luò)接口的通信狀態(tài)是否為空閑狀態(tài)。
可選的,發(fā)出模塊90還包括:第一啟動模塊,用于啟動至少一個業(yè)務(wù)服務(wù)器;創(chuàng)建模塊,用于業(yè)務(wù)服務(wù)器在目錄服務(wù)器上創(chuàng)建約定節(jié)點;其中,約定節(jié)點是指業(yè)務(wù)服務(wù)器在目錄服務(wù)器下創(chuàng)建的業(yè)務(wù)存儲空間,約定節(jié)點與業(yè)務(wù)服務(wù)器的域名信息一一對應(yīng);保存模塊,用于業(yè)務(wù)服務(wù)器保存自身地址及狀態(tài)信息至中的約定節(jié)點。
可選的,創(chuàng)建模塊還包括:訪問模塊,用于域名服務(wù)器訪問目錄服務(wù)器,并訂閱約定節(jié)點,其中,約定節(jié)點用于接收業(yè)務(wù)服務(wù)器狀態(tài)改變的通知信息。
可選的,返回模塊96還包括:感知模塊,用于在滿足預(yù)定條件的業(yè)務(wù)服務(wù)器出現(xiàn)故障的情況下,目錄服務(wù)器感知到業(yè)務(wù)服務(wù)器故障并刪除約定節(jié)點下業(yè)務(wù)服務(wù)器的狀態(tài)信息;拉取模塊,用于目錄服務(wù)器通知域名服務(wù)器,域名服務(wù)器拉取目錄服務(wù)器注冊的當(dāng)前可用業(yè)務(wù)服務(wù)器的最新信息。
可選的,發(fā)出模塊90還包括:第二啟動模塊,用于啟動域名服務(wù)器;訂閱模塊,用于域名服務(wù)器向目錄服務(wù)器訂閱域名對應(yīng)的約定節(jié)點。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。