專利名稱:集群中服務(wù)的訪問方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種及集群中服務(wù)的訪問方法及系統(tǒng)。
背景技術(shù):
傳統(tǒng)集群中不同的服務(wù)部署在不同的服務(wù)器上,根據(jù)某一服務(wù)訪問與其相關(guān)聯(lián)的服務(wù)時(shí),需要通過該服務(wù)所在的服務(wù)器訪問關(guān)聯(lián)服務(wù)所在的另一個(gè)服務(wù)器,如此訪問時(shí),需要通過網(wǎng)絡(luò)輸入輸出(Input Output,簡(jiǎn)稱I/O)接口進(jìn)行通信。其中,集群是一種用于集團(tuán)調(diào)度指揮通信的移動(dòng)通信系統(tǒng),它能夠共享資源等。由多臺(tái)服務(wù)器組成服務(wù)器集群。然而,通過網(wǎng)絡(luò)I/O接口進(jìn)行通信時(shí),將數(shù)據(jù)從一個(gè)服務(wù)器傳輸?shù)搅硪粋€(gè)服務(wù)器,經(jīng)過網(wǎng)絡(luò)通信,消耗大量的網(wǎng)絡(luò)資源,且響應(yīng)速度低。
發(fā)明內(nèi)容
基于此,有必要提供一種節(jié)省網(wǎng)絡(luò)資源且響應(yīng)速度快的集群中服務(wù)的訪問方法。一種集群中服務(wù)的訪問方法,包括以下步驟在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù);獲取根據(jù)所述起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求;判斷所述起始服務(wù)所在的服務(wù)器上是否設(shè)有所述目標(biāo)服務(wù),若是,則根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),否則,根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的所述目標(biāo)服務(wù)。優(yōu)選地,當(dāng)所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),包括通過本地環(huán)回訪問該服務(wù)器上的目標(biāo)服務(wù)的步驟;當(dāng)所述起始服務(wù)所在的服務(wù)器上未設(shè)有所述目標(biāo)服務(wù)時(shí),包括將所述訪問請(qǐng)求通過網(wǎng)絡(luò)接口發(fā)送到具有所述目標(biāo)服務(wù)的其他服務(wù)器上的步驟。優(yōu)選地,在所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),進(jìn)一步判斷在該服務(wù)器上的所述目標(biāo)服務(wù)是否可用,若是,則根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),若否,則根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù)。 優(yōu)選地,所述服務(wù)器上的所述目標(biāo)服務(wù)不可用時(shí),還包括步驟進(jìn)一步判斷所述起始服務(wù)的負(fù)載是否大于閾值,若是,則根據(jù)所述訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù),若否,則停止該服務(wù)器上的起始服務(wù),并將所述負(fù)載分流到其他服務(wù)器。優(yōu)選地,所述起始服務(wù)是根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址,所述目標(biāo)服務(wù)包括提供視頻文件名稱以及訪問視頻數(shù)據(jù)庫,根據(jù)該視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的具體步驟包括獲取根據(jù)視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求;判斷該視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上是否設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫,若是,則根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問該服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫,若否,則根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問其他服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫。此外,還有必要提供一種節(jié)省網(wǎng)絡(luò)資源且響應(yīng)速度快的集群中服務(wù)的訪問系統(tǒng)。一種集群中服務(wù)的訪問系統(tǒng),包括設(shè)置模塊,用于在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù);請(qǐng)求獲取模塊,用于獲取根據(jù)所述起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求;判斷模塊,用于判斷所述起始服務(wù)所在的服務(wù)器上是否設(shè)有所述目標(biāo)服務(wù);訪問模塊,用于在所述判斷模塊判斷出所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),還用于在所述判斷模塊判斷出所述起始服務(wù)所在的服務(wù)器上未有所述目標(biāo)服務(wù)時(shí),根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的所述目標(biāo)服務(wù)。優(yōu)選地,當(dāng)所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),所述訪問模塊還用于通過本地環(huán)回訪問該服務(wù)器上的目標(biāo)服務(wù);當(dāng)所述起始服務(wù)所在的服務(wù)器上未設(shè)有所述目標(biāo)服務(wù)時(shí),所述訪問模塊還用于將所述訪問請(qǐng)求通過網(wǎng)絡(luò)接口發(fā)送到具有所述目標(biāo)服務(wù)的其他服務(wù)器上。優(yōu)選地,所述判斷模塊還用于判斷在所述服務(wù)器上的所述目標(biāo)服務(wù)是否可用;所述查詢模塊還用于在所述服務(wù)器上的所述目標(biāo)服務(wù)可用時(shí),根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),還用于在所述服務(wù)器上的所述目標(biāo)服務(wù)不可用時(shí),根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù)。優(yōu)選地,還包括與所述判斷模塊相連的控制模塊,所述判斷模塊在判斷出該服務(wù)器上的所述目標(biāo)服務(wù)不可用時(shí),還用于進(jìn)一步判斷所述起始服務(wù)的負(fù)載是否大于閾值;所述查詢模塊還用于在所述起始服務(wù)的負(fù)載大于閾值時(shí),根據(jù)所述訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù);所述控制模塊用于在所述起始服務(wù)的負(fù)載不大于閾值時(shí),停止該服務(wù)器上的起始服務(wù),并將所述負(fù)載分流到其他服務(wù)器。優(yōu)選地,所述起始服務(wù)是根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址,所述目標(biāo)服務(wù)包括提供視頻文件名稱以及訪問視頻數(shù)據(jù)庫,所述請(qǐng)求獲取模塊還用于獲取根據(jù)視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求;所述判斷模塊還用于判斷該視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上是否設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫;所述查詢模塊還用于在所述視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫時(shí),根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問該服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫,還用于在所述視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上未設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫時(shí),根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問其他服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫。上述集群中服務(wù)的訪問方法及系統(tǒng),采用在同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù),然后獲取到根據(jù)起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求后,判斷該目標(biāo)服務(wù)是否在該起始服務(wù)所在的服務(wù)器上,若是,則直接根據(jù)訪問請(qǐng)求訪問該目標(biāo)服務(wù),節(jié)省了網(wǎng)絡(luò)資源且響應(yīng)速度快。
、
圖I為一個(gè)實(shí)施例中集群中服務(wù)的訪問方法的流程圖;圖2為另一個(gè)實(shí)施例中集群中服務(wù)的訪問方法的流程圖;圖3為根據(jù)視頻鏈接的網(wǎng)址訪問視頻文件名稱及視頻數(shù)據(jù)庫的方法流程圖;圖4為一個(gè)實(shí)施例中集群中服務(wù)的訪問系統(tǒng)的結(jié)構(gòu)示意圖;
圖5為另一個(gè)實(shí)施例中集群中服務(wù)的訪問系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式下面結(jié)合具體的實(shí)施例及附圖對(duì)技術(shù)方案進(jìn)行詳細(xì)的描述。如圖I所示,在一個(gè)實(shí)施例中,一種集群中服務(wù)的訪問方法,包括以下步驟步驟S110,在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。—個(gè)服務(wù)器集群包括多臺(tái)服務(wù)器。在同一個(gè)服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。其中,起始服務(wù)是指供用戶觸發(fā)或選擇的某個(gè)應(yīng)用程序等,目標(biāo)服務(wù)是指起始服務(wù)鏈接到的服務(wù)。如在同一服務(wù)器上設(shè)置起始服務(wù)為根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址(Universal Resource Locator,簡(jiǎn)稱URL),相關(guān)聯(lián)的目標(biāo)服務(wù)包括提供視頻文件名稱以及訪問視頻數(shù)據(jù)庫。如起始服務(wù)為根據(jù)用戶提供的微博標(biāo)識(shí)號(hào)返回微博網(wǎng)絡(luò)地址,相關(guān)聯(lián)的目標(biāo)服務(wù)為訪問微博數(shù)據(jù)庫等。再如起始服務(wù)可為訂票服務(wù),目標(biāo)服務(wù)可為出票服務(wù)和物流送票服務(wù)。另外,該起始服務(wù)及目標(biāo)服務(wù)不受限于所舉例。在同一服務(wù)器上設(shè)置起始服務(wù)與相關(guān)聯(lián)的目標(biāo)服務(wù),然后根據(jù)該起始服務(wù)訪問同一服務(wù)器上的目標(biāo)服務(wù)的方式,稱為條帶化部署。在每臺(tái)服務(wù)器上均設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。步驟S120,獲取根據(jù)該起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求。用戶可根據(jù)該起始服務(wù)訪問目標(biāo)服務(wù),訪問時(shí)需發(fā)送訪問請(qǐng)求。用戶可通過鼠標(biāo)、按鍵、觸摸屏等觸發(fā)訪問請(qǐng)求。如用戶點(diǎn)擊視頻鏈接的網(wǎng)絡(luò)地址,發(fā)送根據(jù)該網(wǎng)絡(luò)地址訪問視頻數(shù)據(jù)庫的請(qǐng)求。步驟S130,判斷該起始服務(wù)所在的服務(wù)器上是否設(shè)有目標(biāo)服務(wù),若是,則執(zhí)行步驟S140,若否,則執(zhí)行步驟S150。 獲取根據(jù)該起始服務(wù)訪問目標(biāo)服務(wù)的訪問請(qǐng)求后,判斷該起始服務(wù)所在的服務(wù)器上是否設(shè)有目標(biāo)服務(wù),若有,則根據(jù)該訪問請(qǐng)求直接訪問該服務(wù)器上的目標(biāo)服務(wù),若沒有,則根據(jù)該訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù)。目標(biāo)服務(wù)與起始服務(wù)在同一服務(wù)器上,根據(jù)該起始服務(wù)直接訪問該服務(wù)器上的目標(biāo)服務(wù),不需通過網(wǎng)絡(luò)接口訪問,響應(yīng)速度快,且節(jié)省網(wǎng)絡(luò)資源。步驟S140,根據(jù)該訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù)。該服務(wù)器上設(shè)有目標(biāo)服務(wù),根據(jù)起始服務(wù)直接訪問該服務(wù)器上的目標(biāo)服務(wù)。步驟S150,根據(jù)該訪問請(qǐng)求,訪問其他服務(wù)器上的該目標(biāo)服務(wù)。該服務(wù)器上沒有目標(biāo)服務(wù)時(shí),需訪問其他服務(wù)器上的目標(biāo)服務(wù)。在一個(gè)實(shí)施例中,上述集群中服務(wù)的訪問方法還包括當(dāng)該起始服務(wù)所在的服務(wù)器上設(shè)有該目標(biāo)服務(wù)時(shí),通過本地環(huán)回訪問該服務(wù)器上的目標(biāo)服務(wù)的步驟;當(dāng)該起始服務(wù)所在的服務(wù)器上未設(shè)有該目標(biāo)服務(wù)時(shí),將訪問請(qǐng)求通過網(wǎng)絡(luò)接口發(fā)送到具有該目標(biāo)服務(wù)的其他服務(wù)器上的步驟。本地環(huán)回是指操作系統(tǒng)提供的一個(gè)網(wǎng)絡(luò)優(yōu)化,即當(dāng)應(yīng)用程序通過操作系統(tǒng)的網(wǎng)絡(luò)接口發(fā)送訪問請(qǐng)求時(shí),操作系統(tǒng)會(huì)檢查該訪問請(qǐng)求是不是發(fā)送給本機(jī),若是,則不通過網(wǎng)絡(luò)接口發(fā)送,而是直接發(fā)送到該服務(wù)器的響應(yīng)插口(socket),若否則通過網(wǎng)絡(luò)接口發(fā)送到其他服務(wù)器。如圖2所示,在一個(gè)實(shí)施例中,一種集群中服務(wù)的訪問方法,包括以下步驟步驟S210,在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。步驟S220,獲取根據(jù)該起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求。步驟S230,判斷該起始服務(wù)所在的服務(wù)器上是否設(shè)有目標(biāo)服務(wù),若是,則執(zhí)行步驟S240,若否,則執(zhí)行步驟S250。 步驟S240,判斷在該服務(wù)器上的目標(biāo)服務(wù)是否可用,若是,則執(zhí)行步驟S260,若否,則執(zhí)行步驟S270。該服務(wù)器上的目標(biāo)服務(wù)是否可用主要是該目標(biāo)服務(wù)是否無法訪問,如目標(biāo)服務(wù)程序出現(xiàn)死鎖等。步驟S250,根據(jù)訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù)。步驟S260,根據(jù)該訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù)。步驟S270,判斷該起始服務(wù)的負(fù)載是否大于閾值,若是,則執(zhí)行步驟S250,若否,則執(zhí)行步驟S280。當(dāng)該服務(wù)器上的目標(biāo)服務(wù)不可用時(shí),根據(jù)需要確定是否停止該起始服務(wù),該實(shí)施例中采用判斷起始服務(wù)的負(fù)載與閾值比較,若大于閾值,則根據(jù)訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù),若小于等于該閾值,則停止該服務(wù)器上的起始服務(wù),而且將負(fù)載分流到其他服務(wù)器。該閾值由系統(tǒng)設(shè)定。步驟S280,停止該服務(wù)器上的起始服務(wù),并將該負(fù)載分流到其他服務(wù)器。如10臺(tái)服務(wù)器,每臺(tái)服務(wù)器上均設(shè)有起始服務(wù)A,目標(biāo)服務(wù)B,若一臺(tái)服務(wù)器上的目標(biāo)服務(wù)B無法訪問,設(shè)置的負(fù)載閾值為3萬,判斷該起始服務(wù)A的負(fù)載是否大于該閾值,若是,則根據(jù)該起始服務(wù)A訪問其他9臺(tái)服務(wù)器上的目標(biāo)服務(wù)B,若否,則停止該服務(wù)器上的起始服務(wù)A,將已有的該服務(wù)器上的起始服務(wù)A的負(fù)載分流到其他9臺(tái)服務(wù)器中的起始服務(wù)A0優(yōu)選的實(shí)施例中,如圖3所示,以起始服務(wù)是根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址,目標(biāo)服務(wù)包括提供視頻文件名稱及訪問視頻數(shù)據(jù)庫,根據(jù)該視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的具體步驟包括步驟S310,在集群中的同一服務(wù)器上設(shè)置視頻鏈接的網(wǎng)絡(luò)地址以及視頻文件名稱和視頻數(shù)據(jù)庫。在同一服務(wù)器上設(shè)置視頻鏈接的網(wǎng)絡(luò)地址以及與該網(wǎng)絡(luò)地址相對(duì)應(yīng)的視頻文件名稱和視頻數(shù)據(jù)庫,視頻數(shù)據(jù)庫中存儲(chǔ)視頻具體內(nèi)容。步驟S320,獲取根據(jù)視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求。獲取到用戶點(diǎn)擊視頻網(wǎng)絡(luò)地址,觸發(fā)訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求。步驟S330,判斷該視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上是否設(shè)有視頻文件名稱和視頻數(shù)據(jù)庫,若是,執(zhí)行步驟S340,若否,執(zhí)行步驟S350。步驟S340,根據(jù)視頻鏈接的網(wǎng)絡(luò)地址訪問該服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫。
步驟S350,根據(jù)該視頻鏈接的網(wǎng)絡(luò)地址訪問其他服務(wù)器上的視頻文件名稱及視頻
數(shù)據(jù)庫。如圖4所示,一個(gè)實(shí)施例中,一種集群中服務(wù)的訪問系統(tǒng),包括設(shè)置模塊410、請(qǐng)求獲取模塊420、判斷模塊430和訪問模塊440。其中,設(shè)置模塊410用于在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。一個(gè)服務(wù)器集群包括多臺(tái)服務(wù)器。在同一個(gè)服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。其中,起始服務(wù)是指供用戶觸發(fā)或選擇的某個(gè)應(yīng)用程序等,目標(biāo)服務(wù)是指起始服務(wù)鏈接到的服務(wù)。如在同一服務(wù)器上設(shè)置起始服務(wù)為根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址(Universal Resource Locator,簡(jiǎn)稱URL),相關(guān)聯(lián)的目標(biāo)服務(wù)包括提供視頻文件名稱及訪問視頻數(shù)據(jù)庫。如起始服務(wù)為根據(jù)用戶提供的微博網(wǎng)絡(luò)地址為用戶提供微博數(shù)據(jù),相關(guān)聯(lián)的目標(biāo)服務(wù)為訪問微博數(shù)據(jù)庫等。在同一服務(wù)器上設(shè)置起始服務(wù)與相關(guān)聯(lián)的目標(biāo)服務(wù),然后根據(jù)該起始服務(wù)訪問同一服務(wù)器上的目標(biāo)服務(wù)的方式,稱為條帶化部署。在每臺(tái)服務(wù)器上均設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù)。請(qǐng)求獲取模塊420用于獲取根據(jù)該起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求。用戶可根據(jù)該起始服務(wù)訪問目標(biāo)服務(wù),訪問時(shí)需發(fā)送訪問請(qǐng)求。用戶可通過鼠標(biāo)、按鍵、觸摸屏等觸發(fā)訪問請(qǐng)求。如用戶點(diǎn)擊視頻鏈接的網(wǎng)絡(luò)地址,發(fā)送根據(jù)該網(wǎng)絡(luò)地址訪問視頻數(shù)據(jù)庫的請(qǐng)求。判斷模塊430用于判斷該起始服務(wù)所在的服務(wù)器上是否設(shè)有該目標(biāo)服務(wù)。訪問模塊440用于在判斷模塊430判斷出該起始服務(wù)所在的服務(wù)器上設(shè)有該目標(biāo)服務(wù)時(shí),根據(jù)該訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),還用于在所述判斷模塊430判斷出該起始服務(wù)所在的服務(wù)器上未有該目標(biāo)服務(wù)時(shí),根據(jù)該訪問請(qǐng)求,訪問其他服務(wù)器上的該目標(biāo)服務(wù)。判斷模塊430判斷該起始服務(wù)所在的服務(wù)器上是否設(shè)有目標(biāo)服務(wù),若有,則訪問模塊440根據(jù)該訪問請(qǐng)求直接訪問該服務(wù)器上的目標(biāo)服務(wù),若沒有,則訪問模塊440根據(jù)該訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù)。目標(biāo)服務(wù)與起始服務(wù)在同一服務(wù)器上,根據(jù)該起始服務(wù)直接訪問該服務(wù)器上的目標(biāo)服務(wù),不需通過網(wǎng)絡(luò)接口訪問,響應(yīng)效率高,且節(jié)省網(wǎng)絡(luò)資源。優(yōu)選的實(shí)施例中,當(dāng)該起始服務(wù)所在的服務(wù)器上設(shè)有該目標(biāo)服務(wù)時(shí),訪問模塊440還用于通過本地環(huán)回訪問該服務(wù)器上的目標(biāo)服務(wù);當(dāng)起始服務(wù)所在的服務(wù)器上未設(shè)有該目標(biāo)服務(wù)時(shí),訪問模塊440還用于將訪問請(qǐng)求通過網(wǎng)絡(luò)接口發(fā)送到具有所述目標(biāo)服務(wù)的其他服務(wù)器上。本地環(huán)回是指操作系統(tǒng)提供的一個(gè)網(wǎng)絡(luò)優(yōu)化,即當(dāng)應(yīng)用程序通過操作系統(tǒng)的網(wǎng)絡(luò)接口發(fā)送訪問請(qǐng)求時(shí),操作系統(tǒng)會(huì)檢查該訪問請(qǐng)求是不是發(fā)送給本機(jī),若是,則訪問模塊440不通過網(wǎng)絡(luò)接口發(fā)送訪問請(qǐng)求,而是直接發(fā)送到該服務(wù)器的響應(yīng)插口(socket),若否則訪問模塊440通過網(wǎng)絡(luò)接口發(fā)送訪問請(qǐng)求到其他服務(wù)器。優(yōu)選的實(shí)施例中,判斷模塊430還用于判斷在該服務(wù)器上的該目標(biāo)服務(wù)是否可用,若是,則訪問模塊440還用于根據(jù)訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),若否,則訪問模塊440還用于根據(jù)該訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù)。該服務(wù)器上的目標(biāo)服務(wù)是否可用主要是該目標(biāo)服務(wù)是否無法訪問,如目標(biāo)服務(wù)程序出現(xiàn)死鎖等。如圖5所示,在一個(gè)實(shí)施例中,上述集群中服務(wù)的訪問系統(tǒng),包括設(shè)置模塊410、請(qǐng)求獲取模塊420、判斷模塊430和訪問模塊440,還包括與判斷模塊430相連的控制模塊450。其中,判斷模塊430在判斷出該服務(wù)器上的該目標(biāo)服務(wù)不可用時(shí),還用于判斷起始服務(wù)的負(fù)載是否大于閾值。訪問模塊440還用于在該起始服務(wù)的負(fù)載大于閾值時(shí),根據(jù)該訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù)??刂颇K450用于在該起始服務(wù)的負(fù)載不大于閾值時(shí),停止該服務(wù)器上的起始服務(wù),并將該負(fù)載分流到其他服務(wù)器。該閾值由系統(tǒng)設(shè)定。如10臺(tái)服務(wù)器,每臺(tái)服務(wù)器上均設(shè)有起始服務(wù)A,目標(biāo)服務(wù)B,若一臺(tái)服務(wù)器上的目標(biāo)服務(wù)B無法訪問,設(shè)置的負(fù)載閾值為3萬,判斷模塊430判斷該起始服務(wù)A的負(fù)載是否大于該閾值,若是,則訪問模塊440根據(jù)該起始服務(wù)A訪問其他9臺(tái)服務(wù)器上的目標(biāo)服務(wù)B,若否,則控制模塊450停止該服務(wù)器上的起始服務(wù)A,將已有的該服務(wù)器上的起始服務(wù)A的負(fù)載分流到其他9臺(tái)服務(wù)器中的起始服務(wù)A。優(yōu)選的實(shí)施例中,以起始服務(wù)為根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址,目標(biāo)服務(wù)包括提供視頻文件名稱以及訪問視頻數(shù)據(jù)庫,設(shè)置模塊410還用于在集群中的同一服務(wù)器上設(shè)置視頻鏈接的網(wǎng)絡(luò)地址以及視頻文件名稱和視頻數(shù)據(jù)庫。在同一服務(wù) 器上設(shè)置視頻鏈接的網(wǎng)絡(luò)地址以及與該網(wǎng)絡(luò)地址相對(duì)應(yīng)的視頻文件名稱和視頻數(shù)據(jù)庫,視頻數(shù)據(jù)庫中存儲(chǔ)視頻具體內(nèi)容。請(qǐng)求獲取模塊420還用于獲取根據(jù)訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求。請(qǐng)求獲取模塊420獲取到用戶點(diǎn)擊視頻網(wǎng)絡(luò)地址,觸發(fā)訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求。判斷模塊430還用于判斷該視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上是否設(shè)有該視頻文件名稱和視頻數(shù)據(jù)庫,若是,則訪問模塊440還用于根據(jù)該視頻鏈接的網(wǎng)絡(luò)地址訪問該服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫,若否,則訪問模塊440還用于根據(jù)該視頻鏈接的網(wǎng)絡(luò)地址訪問其他服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫。上述集群中服務(wù)的訪問方法及系統(tǒng),采用在同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù),然后獲取到根據(jù)起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求后,判斷該目標(biāo)服務(wù)是否在該起始服務(wù)所在的服務(wù)器上,若是,則直接根據(jù)訪問請(qǐng)求訪問該目標(biāo)服務(wù),節(jié)省了網(wǎng)絡(luò)資源且響應(yīng)速度快。另外,發(fā)送訪問請(qǐng)求時(shí),檢測(cè)發(fā)送數(shù)據(jù)是否發(fā)送到該起始服務(wù)所在的服務(wù)器,若是,則不通過網(wǎng)絡(luò)接口發(fā)送數(shù)據(jù),節(jié)省了接口資源,節(jié)省響應(yīng)時(shí)間;當(dāng)起始服務(wù)所在的服務(wù)器上的目標(biāo)服務(wù)不可用時(shí),根據(jù)起始服務(wù)的負(fù)載與閾值比較,確定是否停止該起始服務(wù),如此一個(gè)服務(wù)出現(xiàn)故障,只可能影響這個(gè)起始服務(wù)所部署的該服務(wù)器上的相關(guān)服務(wù),提高了系統(tǒng)的安全性。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種集群中服務(wù)的訪問方法,包括以下步驟 在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù); 獲取根據(jù)所述起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求; 判斷所述起始服務(wù)所在的服務(wù)器上是否設(shè)有所述目標(biāo)服務(wù),若是,則根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),否則,根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的所述目標(biāo)服務(wù)。
2.根據(jù)權(quán)利要求I所述的集群中服務(wù)的訪問方法,其特征在于,當(dāng)所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),包括通過本地環(huán)回訪問該服務(wù)器上的目標(biāo)服務(wù)的步驟;當(dāng)所述起始服務(wù)所在的服務(wù)器上未設(shè)有所述目標(biāo)服務(wù)時(shí),包括將所述訪問請(qǐng)求通過網(wǎng)絡(luò)接口發(fā)送到具有所述目標(biāo)服務(wù)的其他服務(wù)器上的步驟。
3.根據(jù)權(quán)利要求I所述的集群中服務(wù)的訪問方法,其特征在于,在所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),進(jìn)一步判斷在該服務(wù)器上的所述目標(biāo)服務(wù)是否可用,若是,則根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),若否,則根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù)。
4.根據(jù)權(quán)利要求3所述的集群中服務(wù)的訪問方法,其特征在于,所述服務(wù)器上的所述目標(biāo)服務(wù)不可用時(shí),還包括步驟進(jìn)一步判斷所述起始服務(wù)的負(fù)載是否大于閾值,若是,則根據(jù)所述訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù),若否,則停止該服務(wù)器上的起始服務(wù),并將所述負(fù)載分流到其他服務(wù)器。
5.根據(jù)權(quán)利要求I所述的集群中服務(wù)的訪問方法,其特征在于,所述起始服務(wù)是根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址,所述目標(biāo)服務(wù)包括提供視頻文件名稱以及訪問視頻數(shù)據(jù)庫,根據(jù)該視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的具體步驟包括 獲取根據(jù)視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求; 判斷該視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上是否設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫,若是,則根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問該服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫,若否,則根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問其他服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫。
6.一種集群中服務(wù)的訪問系統(tǒng),其特征在于,包括 設(shè)置模塊,用于在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù); 請(qǐng)求獲取模塊,用于獲取根據(jù)所述起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求; 判斷模塊,用于判斷所述起始服務(wù)所在的服務(wù)器上是否設(shè)有所述目標(biāo)服務(wù); 訪問模塊,用于在所述判斷模塊判斷出所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),還用于在所述判斷模塊判斷出所述起始服務(wù)所在的服務(wù)器上未有所述目標(biāo)服務(wù)時(shí),根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的所述目標(biāo)服務(wù)。
7.根據(jù)權(quán)利要求6所述的集群中服務(wù)的訪問系統(tǒng),其特征在于,當(dāng)所述起始服務(wù)所在的服務(wù)器上設(shè)有所述目標(biāo)服務(wù)時(shí),所述訪問模塊還用于通過本地環(huán)回訪問該服務(wù)器上的目標(biāo)服務(wù);當(dāng)所述起始服務(wù)所在的服務(wù)器上未設(shè)有所述目標(biāo)服務(wù)時(shí),所述訪問模塊還用于將所述訪問請(qǐng)求通過網(wǎng)絡(luò)接口發(fā)送到具有所述目標(biāo)服務(wù)的其他服務(wù)器上。
8.根據(jù)權(quán)利要求6所述的集群中服務(wù)的訪問系統(tǒng),其特征在于,所述判斷模塊還用于判斷在所述服務(wù)器上的所述目標(biāo)服務(wù)是否可用; 所述查詢模塊還用于在所述服務(wù)器上的所述目標(biāo)服務(wù)可用時(shí),根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),還用于在所述服務(wù)器上的所述目標(biāo)服務(wù)不可用時(shí),根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的目標(biāo)服務(wù)。
9.根據(jù)權(quán)利要求8所述的集群中服務(wù)的訪問系統(tǒng),其特征在于,還包括與所述判斷模塊相連的控制模塊,所述判斷模塊在判斷出該服務(wù)器上的所述目標(biāo)服務(wù)不可用時(shí),還用于進(jìn)一步判斷所述起始服務(wù)的負(fù)載是否大于閾值 ; 所述查詢模塊還用于在所述起始服務(wù)的負(fù)載大于閾值時(shí),根據(jù)所述訪問請(qǐng)求訪問其他服務(wù)器上的目標(biāo)服務(wù); 所述控制模塊用于在所述起始服務(wù)的負(fù)載不大于閾值時(shí),停止該服務(wù)器上的起始服務(wù),并將所述負(fù)載分流到其他服務(wù)器。
10.根據(jù)權(quán)利要求6所述的集群中服務(wù)的訪問系統(tǒng),其特征在于,所述起始服務(wù)是根據(jù)用戶提供的視頻標(biāo)識(shí)號(hào)返回視頻鏈接的網(wǎng)絡(luò)地址,所述目標(biāo)服務(wù)包括提供視頻文件名稱以及訪問視頻數(shù)據(jù)庫,所述請(qǐng)求獲取模塊還用于獲取根據(jù)視頻鏈接的網(wǎng)絡(luò)地址訪問視頻文件名稱和視頻數(shù)據(jù)庫的請(qǐng)求;所述判斷模塊還用于判斷該視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上是否設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫;所述查詢模塊還用于在所述視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫時(shí),根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問該服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫,還用于在所述視頻鏈接的網(wǎng)絡(luò)地址所在的服務(wù)器上未設(shè)有所述視頻文件名稱和視頻數(shù)據(jù)庫時(shí),根據(jù)所述視頻鏈接的網(wǎng)絡(luò)地址訪問其他服務(wù)器上的視頻文件名稱及視頻數(shù)據(jù)庫。
全文摘要
本發(fā)明涉及一種集群中服務(wù)的訪問方法及系統(tǒng)。該方法包括以下步驟在集群中的同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù);獲取根據(jù)所述起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求;判斷所述起始服務(wù)所在的服務(wù)器上是否設(shè)有所述目標(biāo)服務(wù),若是,則根據(jù)所述訪問請(qǐng)求,訪問該服務(wù)器上的目標(biāo)服務(wù),否則,根據(jù)所述訪問請(qǐng)求,訪問其他服務(wù)器上的所述目標(biāo)服務(wù)。上述集群中服務(wù)的訪問方法及系統(tǒng),采用在同一服務(wù)器上設(shè)置起始服務(wù)及與該起始服務(wù)相關(guān)聯(lián)的目標(biāo)服務(wù),然后獲取到根據(jù)起始服務(wù)訪問目標(biāo)服務(wù)的請(qǐng)求后,判斷該目標(biāo)服務(wù)是否在該起始服務(wù)所在的服務(wù)器上,若是,則直接根據(jù)訪問請(qǐng)求訪問該目標(biāo)服務(wù),節(jié)省了網(wǎng)絡(luò)資源且響應(yīng)速度快。
文檔編號(hào)H04L29/12GK102761527SQ20111010869
公開日2012年10月31日 申請(qǐng)日期2011年4月28日 優(yōu)先權(quán)日2011年4月28日
發(fā)明者李玉龍 申請(qǐng)人:騰訊科技(深圳)有限公司