專利名稱:一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)集群服務(wù)器領(lǐng)域,特別涉及一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有服務(wù)器負(fù)載平衡方法及其系統(tǒng)所提供的方法,能夠基本實(shí)現(xiàn)云服務(wù)器的負(fù)載均衡及冗余備份的目標(biāo),但都使用獨(dú)立響應(yīng)的方式,客戶端需自行選擇支持服務(wù)器的方案,分析、定位服務(wù)節(jié)點(diǎn),無法自主同步。同時(shí)客戶端接口復(fù)雜,需要與服務(wù)器導(dǎo)向接口相適應(yīng),同時(shí)在服務(wù)器端,空閑服務(wù)器由于獨(dú)立響應(yīng),缺乏整體調(diào)度均衡,因此服務(wù)器工作壓力會(huì)迅速上升,使服務(wù)器無法正常提供服務(wù),降低服務(wù)器服務(wù)效率
發(fā)明內(nèi)容
本發(fā)明提供了一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng),解決了客戶端接口復(fù)雜,服務(wù)器需依賴單獨(dú)負(fù)載調(diào)節(jié)服務(wù)器的問題。一種云服務(wù)器負(fù)載均衡調(diào)節(jié)的方法,包括
服務(wù)器接收服務(wù)請(qǐng)求;
判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式;所述服務(wù)請(qǐng)求類別為任務(wù)請(qǐng)求或更新請(qǐng)求,當(dāng)服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程,當(dāng)服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程;
所述的任務(wù)請(qǐng)求查詢流程為
A.獲取負(fù)載均衡表,判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則執(zhí)行步驟B,否則執(zhí)行步驟D ;
B.判斷服務(wù)器負(fù)載是否達(dá)到預(yù)設(shè)上限,如果達(dá)到預(yù)設(shè)上限,則本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空,如果未達(dá)到預(yù)設(shè)上限,則進(jìn)行本地任務(wù)查詢;
C.判斷本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則執(zhí)行步驟D,否則將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端;
D.根據(jù)負(fù)載均衡表及免查詢列表,確定任務(wù)查詢服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免查詢列表,并向確定的任務(wù)查詢服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)任務(wù)請(qǐng)求;所述任務(wù)查詢服務(wù)器節(jié)點(diǎn)為可提供此類服務(wù),且未被查詢過的服務(wù)器;
E.獲取任務(wù)請(qǐng)求查詢結(jié)果,并判斷任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端,否則判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則將獲得的任務(wù)請(qǐng)求查詢結(jié)果更新到本服務(wù)器,并將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端,否則直接將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端。所述的服務(wù)器更新流程為
F.獲取負(fù)載均衡列表,判斷更新請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,即更新的數(shù)據(jù)是否屬于本服務(wù)器提供服務(wù)的范圍,如果是,則按照更新請(qǐng)求對(duì)本服務(wù)器更新,并執(zhí)行步驟G,否則直接執(zhí)行步驟G ;
G.根據(jù)負(fù)載均衡表及免更新列表,確定更新服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免更新列表,并向確定的更新服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)更新請(qǐng)求;所述更新服務(wù)器節(jié)點(diǎn)為可提供此類任務(wù)請(qǐng)求查詢,且未被更新過的服務(wù)器;
H.獲取更新結(jié)果,并返回服務(wù)請(qǐng)求發(fā)送端。所述的方法中,所述的服務(wù)器接收服務(wù)請(qǐng)求中,所述的服務(wù)請(qǐng)求為客戶端或其他服務(wù)器發(fā)送。所述的方法中,所述的負(fù)載均衡列表預(yù)先存儲(chǔ)于各服務(wù)器中。負(fù)載均衡列表中預(yù)先存儲(chǔ)負(fù)載分流的所有可用節(jié)點(diǎn),以靜態(tài)方式保存于各服務(wù)器,并可進(jìn)行定向更新,負(fù)載均衡列表可以以文件形式或數(shù)據(jù)庫(kù)等形式保存。
所述的方法中,所述的免查詢列表及免更新列表包含于服務(wù)請(qǐng)求中;
所述的免查詢列表為已查詢過的服務(wù)器列表;
所述的免更新列表為已更新過的服務(wù)器列表。所述的免查詢列表及免更新列表為服務(wù)請(qǐng)求中附帶的信息,由每臺(tái)服務(wù)器在進(jìn)行服務(wù)請(qǐng)求轉(zhuǎn)發(fā)前將本服務(wù)器的識(shí)別信息加入免查詢列表或免更新列表中,使后續(xù)獲得服務(wù)請(qǐng)求的服務(wù)器不會(huì)再將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)回來。一種云服務(wù)器負(fù)載均衡調(diào)節(jié)的系統(tǒng),包括多臺(tái)服務(wù)器,每臺(tái)服務(wù)器包括
接收模塊,用于服務(wù)器接收服務(wù)請(qǐng)求;
判斷模塊,用于判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式,所述服務(wù)請(qǐng)求類別為任務(wù)請(qǐng)求或更新請(qǐng)求;
任務(wù)請(qǐng)求查詢模塊,用于當(dāng)判斷模塊判斷服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流
程;
服務(wù)器更新模塊,用于當(dāng)判斷模塊判斷服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程; 所述的任務(wù)請(qǐng)求查詢模塊還包括
第一服務(wù)判斷子模塊,獲取負(fù)載均衡表,判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則進(jìn)入負(fù)載判斷子模塊,否則進(jìn)入第一轉(zhuǎn)發(fā)子模塊;
負(fù)載判斷子模塊,用于判斷服務(wù)器負(fù)載是否達(dá)到預(yù)設(shè)上限,如果達(dá)到預(yù)設(shè)上限,則本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空,如果未達(dá)到預(yù)設(shè)上限,則進(jìn)行本地任務(wù)查詢;
查詢結(jié)果判斷子模塊,判斷本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則進(jìn)入第一轉(zhuǎn)發(fā)子模塊,否則進(jìn)入結(jié)果反饋?zhàn)幽K;
第一轉(zhuǎn)發(fā)子模塊,用于根據(jù)負(fù)載均衡表及免查詢列表,確定任務(wù)查詢服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免查詢列表,并向確定的任務(wù)查詢服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)任務(wù)請(qǐng)求;
轉(zhuǎn)發(fā)結(jié)果判斷子模塊,用于獲取任務(wù)請(qǐng)求查詢結(jié)果,并判斷任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則進(jìn)入結(jié)果反饋?zhàn)幽K,否則判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則將獲得的任務(wù)請(qǐng)求查詢結(jié)果更新到本服務(wù)器,并進(jìn)入結(jié)果反饋?zhàn)幽K,否則直接進(jìn)入結(jié)果反饋?zhàn)幽K;
結(jié)果反饋?zhàn)幽K,用于將任務(wù)請(qǐng)求結(jié)果返回服務(wù)請(qǐng)求發(fā)送端;
所述的服務(wù)器更新模塊還包括
第二服務(wù)判斷子模塊,用于獲取負(fù)載均衡列表,判斷更新請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則進(jìn)入更新子模塊,并進(jìn)入第二轉(zhuǎn)發(fā)子模塊,否則直接進(jìn)入第二轉(zhuǎn)發(fā)子模塊;
更新子模塊,用于按照更新請(qǐng)求對(duì)本服務(wù)器更新,并進(jìn)入第二轉(zhuǎn)發(fā)子模塊;
第二轉(zhuǎn)發(fā)子模塊,用于根據(jù)負(fù)載均衡表及免更新列表,確定更新服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免更新列表,并向確定的更新服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)更新請(qǐng)求;
結(jié)果獲取子模塊,用于獲取更新結(jié)果,并返回服務(wù)請(qǐng)求發(fā)送端。所述的系統(tǒng)中,所述的服務(wù)器接收服務(wù)請(qǐng)求中,所述的服務(wù)請(qǐng)求為客戶端或其他服務(wù)器發(fā)送。所述的系統(tǒng)中,所述的負(fù)載均衡列表預(yù)先存儲(chǔ)于各服務(wù)器中。所述的系統(tǒng)中,所述的免查詢列表及免更新列表包含于服務(wù)請(qǐng)求中;
所述的免查詢列表為已查詢過的服務(wù)器列表;
所述的免更新列表為已更新過的服務(wù)器列表。本發(fā)明所提供的方法,客戶端無需對(duì)服務(wù)器進(jìn)行分析定位,可向任意服務(wù)器發(fā)起服務(wù)請(qǐng)求,消除了客戶端對(duì)服務(wù)器版本的依賴;每臺(tái)服務(wù)器都有自己的負(fù)載均衡表,除轉(zhuǎn)發(fā)任務(wù)外,只承擔(dān)自有任務(wù)的查詢及更新,將云數(shù)據(jù)分布到負(fù)載均衡表所記錄的所有可用服務(wù)器節(jié)點(diǎn)中,且每個(gè)服務(wù)器節(jié)點(diǎn)所擁有的負(fù)載均衡表不同,并且非上級(jí)轉(zhuǎn)發(fā)服務(wù)器負(fù)載均衡表的子樹,使多個(gè)服務(wù)器節(jié)點(diǎn)形成網(wǎng)狀的拓?fù)浣Y(jié)構(gòu);并且服務(wù)器的服務(wù)請(qǐng)求轉(zhuǎn)發(fā)及更新,使服務(wù)器可自動(dòng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行補(bǔ)充,使服務(wù)器接入服務(wù)體系后,不需要強(qiáng)制進(jìn)行數(shù)據(jù)錄入的操作,縮短了上線時(shí)間,且只更新最近任務(wù)請(qǐng)求查詢結(jié)果,減少了數(shù)據(jù)庫(kù)壓力,使服務(wù)器上線所需的維護(hù)時(shí)間大為減少,提高了云服務(wù)體系布置的靈活性及高效性;每臺(tái)服務(wù)器可進(jìn)行負(fù)載狀態(tài)識(shí)別,脫離了現(xiàn)有技術(shù)中對(duì)負(fù)載向?qū)Х?wù)器的依賴,提高了負(fù)載均衡管理的實(shí)時(shí)性,整體提高了云服務(wù)器的服務(wù)能力及穩(wěn)定性。本發(fā)明提供了一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng),客戶端可向任意服務(wù)器發(fā)出服務(wù)請(qǐng)求,接收到服務(wù)請(qǐng)求的服務(wù)器判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式;當(dāng)服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程,當(dāng)服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程;當(dāng)服務(wù)請(qǐng)求不為本服務(wù)器服務(wù)范圍或本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空時(shí),可向其他服務(wù)器轉(zhuǎn)發(fā)服務(wù)請(qǐng)求,同時(shí)根據(jù)其他服務(wù)器返回的任務(wù)請(qǐng)求查詢結(jié)果,對(duì)本服務(wù)器更新。通過本發(fā)明的方法,服務(wù)器可進(jìn)行自主狀態(tài)識(shí)別,提高了云服務(wù)器的穩(wěn)定性;同時(shí)服務(wù)器的任務(wù)請(qǐng)求轉(zhuǎn)發(fā)查詢及更新,可使服務(wù)器自動(dòng)將從其他服務(wù)器得到數(shù)據(jù)補(bǔ)充到本服務(wù)器中,提高了服務(wù)器更新的靈活性。
為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法流程 圖2為一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的系統(tǒng)中服務(wù)器結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說明。本發(fā)明提供了一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng),解決了客戶端接口復(fù)雜,服務(wù)器需依賴單獨(dú)負(fù)載調(diào)節(jié)服務(wù)器的問題。一種云服務(wù)器負(fù)載均衡調(diào)節(jié)的方法,如圖I所示,包括
5101:服務(wù)器接收服務(wù)請(qǐng)求;
5102:判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式;所述服務(wù)請(qǐng)求類別為任務(wù)請(qǐng)求或更新請(qǐng)求,當(dāng)服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行S103,當(dāng)服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行SllO ;
5103:獲取負(fù)載均衡表,判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則執(zhí)行S104,否則執(zhí)行S106 ;
5104:判斷服務(wù)器負(fù)載是否達(dá)到預(yù)設(shè)上限,如果達(dá)到預(yù)設(shè)上限,則本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空,如果未達(dá)到預(yù)設(shè)上限,則進(jìn)行本地任務(wù)查詢;
5105:判斷本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則執(zhí)行S106,否則將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端;
5106:根據(jù)負(fù)載均衡表及免查詢列表,確定任務(wù)查詢服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免查詢列表,并向確定的任務(wù)查詢服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)任務(wù)請(qǐng)求;所述任務(wù)查詢服務(wù)器節(jié)點(diǎn)為可提供此類服務(wù),且未被查詢過的服務(wù)器;
5107:獲取任務(wù)請(qǐng)求查詢結(jié)果,并判斷任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端,否則執(zhí)行S108 ;
5108:判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則執(zhí)行S109,否則直接將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端;
5109:將獲得的任務(wù)請(qǐng)求查詢結(jié)果更新到本服務(wù)器,并將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端OSllO :獲取負(fù)載均衡列表,判斷更新請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,即更新的數(shù)據(jù)是否屬于本服務(wù)器提供服務(wù)的范圍,如果是,則執(zhí)行S111,否則直接執(zhí)行S112 ;
Sm :按照更新請(qǐng)求對(duì)本服務(wù)器更新,并執(zhí)行S112 ;
SI 12 :根據(jù)負(fù)載均衡表及免更新列表,確定更新服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免更新列表,并向確定的更新服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)更新請(qǐng)求;所述更新服務(wù)器節(jié)點(diǎn)為可提供此類任務(wù)請(qǐng)求查詢,且未被更新過的服務(wù)器;
S113 :獲取更新結(jié)果,并返回服務(wù)請(qǐng)求發(fā)送端。所述的方法中,所述的服務(wù)器接收服務(wù)請(qǐng)求中,所述的服務(wù)請(qǐng)求為客戶端或其他服務(wù)器發(fā)送。所述的方法中,所述的負(fù)載均衡列表預(yù)先存儲(chǔ)于各服務(wù)器中。負(fù)載均衡列表中預(yù)先存儲(chǔ)負(fù)載分流的所有可用節(jié)點(diǎn),以靜態(tài)方式保存于各服務(wù)器,并可進(jìn)行定向更新,負(fù)載均衡列表可以以文件形式或數(shù)據(jù)庫(kù)等形式保存。所述的方法中,所述的免查詢列表及免更新列表包含于服務(wù)請(qǐng)求中;
所述的免查詢列表為已查詢過的服務(wù)器列表;所述的免更新列表為已更新過的服務(wù)器列表。所述的免查詢列表及免更新列表為服務(wù)請(qǐng)求中附帶的信息,由每臺(tái)服務(wù)器在進(jìn)行服務(wù)請(qǐng)求轉(zhuǎn)發(fā)前將本服務(wù)器的識(shí)別信息加入免查詢列表或免更新列表中,使后續(xù)獲得服務(wù)請(qǐng)求的服務(wù)器不會(huì)再將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)回來。一種云服務(wù)器負(fù)載均衡調(diào)節(jié)的系統(tǒng),包括多臺(tái)服務(wù)器,如圖2所示,每臺(tái)服務(wù)器包括
接收模塊201,用于服務(wù)器接收服務(wù)請(qǐng)求;
判斷模塊202,用于判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式,所述服務(wù)請(qǐng)求類別為任務(wù)請(qǐng)求或更新請(qǐng)求;
任務(wù)請(qǐng)求查詢模塊203,用于當(dāng)判斷模塊202判斷服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程;
服務(wù)器更新模塊204,用于當(dāng)判斷模塊202判斷服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程;
所述的任務(wù)請(qǐng)求查詢模塊203還包括
第一服務(wù)判斷子模塊203-1,獲取負(fù)載均衡表,判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則進(jìn)入負(fù)載判斷子模塊203-1,否則進(jìn)入第一轉(zhuǎn)發(fā)子模塊203-4 ;
負(fù)載判斷子模塊203-2,用于判斷服務(wù)器負(fù)載是否達(dá)到預(yù)設(shè)上限,如果達(dá)到預(yù)設(shè)上限,則本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空,如果未達(dá)到預(yù)設(shè)上限,則進(jìn)行本地任務(wù)查詢;
查詢結(jié)果判斷子模塊203-3,判斷本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則進(jìn)入第一轉(zhuǎn)發(fā)子模塊203-4,否則進(jìn)入結(jié)果反饋?zhàn)幽K203-6 ;
第一轉(zhuǎn)發(fā)子模塊203-4,用于根據(jù)負(fù)載均衡表及免查詢列表,確定任務(wù)查詢服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免查詢列表,并向確定的任務(wù)查詢服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)任務(wù)請(qǐng)求;
轉(zhuǎn)發(fā)結(jié)果判斷子模塊203-5,用于獲取任務(wù)請(qǐng)求查詢結(jié)果,并判斷任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則進(jìn)入結(jié)果反饋?zhàn)幽K203-6,否則判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則將獲得的任務(wù)請(qǐng)求查詢結(jié)果更新到本服務(wù)器,并進(jìn)入結(jié)果反饋?zhàn)幽K203-6,否則直接進(jìn)入結(jié)果反饋?zhàn)幽K203-6 ;
結(jié)果反饋?zhàn)幽K203-6,用于將任務(wù)請(qǐng)求結(jié)果返回服務(wù)請(qǐng)求發(fā)送端;
所述的服務(wù)器更新模塊204還包括
第二服務(wù)判斷子模塊204-1,用于獲取負(fù)載均衡列表,判斷更新請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則進(jìn)入更新子模塊,否則直接進(jìn)入第二轉(zhuǎn)發(fā)子模塊;
更新子模塊204-2,用于按照更新請(qǐng)求對(duì)本服務(wù)器更新,并進(jìn)入第二轉(zhuǎn)發(fā)子模塊;
第二轉(zhuǎn)發(fā)子模塊204-3,用于根據(jù)負(fù)載均衡表及免更新列表,確定更新服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免更新列表,并向確定的更新服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)更新請(qǐng)求;
結(jié)果獲取子模塊204-4,用于獲取更新結(jié)果,并返回服務(wù)請(qǐng)求發(fā)送端。所述的系統(tǒng)中,所述的服務(wù)器接收服務(wù)請(qǐng)求中,所述的服務(wù)請(qǐng)求為客戶端或其他服務(wù)器發(fā)送。所述的系統(tǒng)中,所述的負(fù)載均衡列表預(yù)先存儲(chǔ)于各服務(wù)器中。所述的系統(tǒng)中,所述的免查詢列表及免更新列表包含于服務(wù)請(qǐng)求中;
所述的免查詢列表為已查詢過的服務(wù)器列表;所述的免更新列表為已更新過的服務(wù)器列表。本發(fā)明所提供的方法,客戶端無需對(duì)服務(wù)器進(jìn)行分析定位,可向任意服務(wù)器發(fā)起服務(wù)請(qǐng)求,消除了客戶端對(duì)服務(wù)器版本的依賴;每臺(tái)服務(wù)器都有自己的負(fù)載均衡表,除轉(zhuǎn)發(fā)任務(wù)外,只承擔(dān)自有任務(wù)的查詢及更新,將云數(shù)據(jù)分布到負(fù)載均衡表所記錄的所有可用服務(wù)器節(jié)點(diǎn)中,且每個(gè)服務(wù)器節(jié)點(diǎn)所擁有的負(fù)載均衡表不同,并且非上級(jí)轉(zhuǎn)發(fā)服務(wù)器負(fù)載均衡表的子樹,使多個(gè)服務(wù)器節(jié)點(diǎn)形成網(wǎng)狀的拓?fù)浣Y(jié)構(gòu);并且服務(wù)器的服務(wù)請(qǐng)求轉(zhuǎn)發(fā)及更新,使服務(wù)器可自動(dòng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行補(bǔ)充,使服務(wù)器接入服務(wù)體系后,不需要強(qiáng)制進(jìn)行數(shù)據(jù)錄入的操作,縮短了上線時(shí)間,且只更新最近任務(wù)請(qǐng)求查詢結(jié)果,減少了數(shù)據(jù)庫(kù)壓力,使服務(wù)器上線所需的維護(hù)時(shí)間大為減少,提高了云服務(wù)體系布置的靈活性及高效性;每臺(tái)服務(wù)器可進(jìn)行負(fù)載狀態(tài)識(shí)別,脫離了現(xiàn)有技術(shù)中對(duì)負(fù)載向?qū)Х?wù)器的依賴,提高了負(fù)載均衡管理的實(shí)時(shí)性,整體提高了云服務(wù)器的服務(wù)能力及穩(wěn)定性。本發(fā)明提供了一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng),客戶端可向任意服務(wù)器發(fā)出服務(wù)請(qǐng)求,接收到服務(wù)請(qǐng)求的服務(wù)器判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式;當(dāng)服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程,當(dāng)服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新 流程;當(dāng)服務(wù)請(qǐng)求不為本服務(wù)器服務(wù)范圍或本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空時(shí),可向其他服務(wù)器轉(zhuǎn)發(fā)服務(wù)請(qǐng)求,同時(shí)根據(jù)其他服務(wù)器返回的任務(wù)請(qǐng)求查詢結(jié)果,對(duì)本服務(wù)器更新。通過本發(fā)明的方法,服務(wù)器可進(jìn)行自主狀態(tài)識(shí)別,提高了云服務(wù)器的穩(wěn)定性;同時(shí)服務(wù)器的任務(wù)請(qǐng)求轉(zhuǎn)發(fā)查詢及更新,可使服務(wù)器自動(dòng)將從其他服務(wù)器得到數(shù)據(jù)補(bǔ)充到本服務(wù)器中,提高了服務(wù)器更新的靈活性。雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法,其特征在于,包括 服務(wù)器接收服務(wù)請(qǐng)求; 判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式;所述服務(wù)請(qǐng)求類別為任務(wù)請(qǐng)求或更新請(qǐng)求,當(dāng)服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程,當(dāng)服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程; 所述的任務(wù)請(qǐng)求查詢流程為 A.獲取負(fù)載均衡表,判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則執(zhí)行步驟B,否則執(zhí)行步驟D ; B.判斷服務(wù)器負(fù)載是否達(dá)到預(yù)設(shè)上限,如果達(dá)到預(yù)設(shè)上限,則本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空,如果未達(dá)到預(yù)設(shè)上限,則進(jìn)行本地任務(wù)查詢; C.判斷本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則執(zhí)行步驟D,否則將任務(wù)請(qǐng) 求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端; D.根據(jù)負(fù)載均衡表及免查詢列表,確定任務(wù)查詢服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免查詢列表,并向確定的任務(wù)查詢服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)任務(wù)請(qǐng)求; E.獲取任務(wù)請(qǐng)求查詢結(jié)果,并判斷任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端,否則判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則將獲得的任務(wù)請(qǐng)求查詢結(jié)果更新到本服務(wù)器,并將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端,否則直接將任務(wù)請(qǐng)求查詢結(jié)果返回服務(wù)請(qǐng)求發(fā)送端; 所述的服務(wù)器更新流程為 F.獲取負(fù)載均衡列表,判斷更新請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則按照更新請(qǐng)求對(duì)本服務(wù)器更新,并執(zhí)行步驟G,否則直接執(zhí)行步驟G ; G.根據(jù)負(fù)載均衡表及免更新列表,確定更新服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免更新列表,并向確定的更新服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)更新請(qǐng)求; H.獲取更新結(jié)果,并返回服務(wù)請(qǐng)求發(fā)送端。
2.如權(quán)利要求I所述的方法,其特征在于,所述的服務(wù)器接收服務(wù)請(qǐng)求中,所述的服務(wù)請(qǐng)求為客戶端或其他服務(wù)器發(fā)送。
3.如權(quán)利要求I所述的方法,其特征在于,所述的負(fù)載均衡列表預(yù)先存儲(chǔ)于各服務(wù)器中。
4.如權(quán)利要求I所述的方法,其特征在于,所述的免查詢列表及免更新列表包含于服務(wù)請(qǐng)求中; 所述的免查詢列表為已查詢過的服務(wù)器列表; 所述的免更新列表為已更新過的服務(wù)器列表。
5.一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的系統(tǒng),包括多臺(tái)服務(wù)器,其特征在于,每臺(tái)服務(wù)器包括 接收模塊,用于服務(wù)器接收服務(wù)請(qǐng)求; 判斷模塊,用于判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式,所述服務(wù)請(qǐng)求類別為任務(wù)請(qǐng)求或更新請(qǐng)求; 任務(wù)請(qǐng)求查詢模塊,用于當(dāng)判斷模塊判斷服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程;服務(wù)器更新模塊,用于當(dāng)判斷模塊判斷服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程; 所述的任務(wù)請(qǐng)求查詢模塊還包括 第一服務(wù)判斷子模塊,獲取負(fù)載均衡表,判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則進(jìn)入負(fù)載判斷子模塊,否則進(jìn)入第一轉(zhuǎn)發(fā)子模塊; 負(fù)載判斷子模塊,用于判斷服務(wù)器負(fù)載是否達(dá)到預(yù)設(shè)上限,如果達(dá)到預(yù)設(shè)上限,則本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空,如果未達(dá)到預(yù)設(shè)上限,則進(jìn)行本地任務(wù)查詢; 查詢結(jié)果判斷子模塊,判斷本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則進(jìn)入第一轉(zhuǎn)發(fā)子模塊,否則進(jìn)入結(jié)果反饋?zhàn)幽K; 第一轉(zhuǎn)發(fā)子模塊,用于根據(jù)負(fù)載均衡表及免查詢列表,確定任務(wù)查詢服務(wù)器節(jié)點(diǎn),將本 服務(wù)器添加到免查詢列表,并向確定的任務(wù)查詢服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)任務(wù)請(qǐng)求; 轉(zhuǎn)發(fā)結(jié)果判斷子模塊,用于獲取任務(wù)請(qǐng)求查詢結(jié)果,并判斷任務(wù)請(qǐng)求查詢結(jié)果是否為空,如果為空,則進(jìn)入結(jié)果反饋?zhàn)幽K,否則判斷任務(wù)請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則將獲得的任務(wù)請(qǐng)求查詢結(jié)果更新到本服務(wù)器,并進(jìn)入結(jié)果反饋?zhàn)幽K,否則直接進(jìn)入結(jié)果反饋?zhàn)幽K; 結(jié)果反饋?zhàn)幽K,用于將任務(wù)請(qǐng)求結(jié)果返回服務(wù)請(qǐng)求發(fā)送端; 所述的服務(wù)器更新模塊還包括 第二服務(wù)判斷子模塊,用于獲取負(fù)載均衡列表,判斷更新請(qǐng)求是否屬于本服務(wù)器服務(wù)范圍,如果是,則按照更新請(qǐng)求對(duì)本服務(wù)器更新,并進(jìn)入第二轉(zhuǎn)發(fā)子模塊,否則直接進(jìn)入第二轉(zhuǎn)發(fā)子模塊; 更新子模塊,用于按照更新請(qǐng)求對(duì)本服務(wù)器更新,并進(jìn)入第二轉(zhuǎn)發(fā)子模塊; 第二轉(zhuǎn)發(fā)子模塊,用于根據(jù)負(fù)載均衡表及免更新列表,確定更新服務(wù)器節(jié)點(diǎn),將本服務(wù)器添加到免更新列表,并向確定的更新服務(wù)器節(jié)點(diǎn)轉(zhuǎn)發(fā)更新請(qǐng)求; 結(jié)果獲取子模塊,用于獲取更新結(jié)果,并返回服務(wù)請(qǐng)求發(fā)送端。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述的服務(wù)器接收服務(wù)請(qǐng)求中,所述的服務(wù)請(qǐng)求為客戶端或其他服務(wù)器發(fā)送。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述的負(fù)載均衡列表預(yù)先存儲(chǔ)于各服務(wù)器中。
8.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述的免查詢列表及免更新列表包含于服務(wù)請(qǐng)求中; 所述的免查詢列表為已查詢過的服務(wù)器列表; 所述的免更新列表為已更新過的服務(wù)器列表。
全文摘要
本發(fā)明提供了一種云服務(wù)器負(fù)載均衡及數(shù)據(jù)冗余備份的方法及系統(tǒng),客戶端可向任意服務(wù)器發(fā)出服務(wù)請(qǐng)求,接收到服務(wù)請(qǐng)求的服務(wù)器判斷服務(wù)請(qǐng)求類別,選擇服務(wù)方式;當(dāng)服務(wù)請(qǐng)求為任務(wù)請(qǐng)求時(shí)執(zhí)行任務(wù)請(qǐng)求查詢流程,當(dāng)服務(wù)請(qǐng)求為更新請(qǐng)求時(shí)執(zhí)行服務(wù)器更新流程;當(dāng)服務(wù)請(qǐng)求不為本服務(wù)器服務(wù)范圍或本服務(wù)器任務(wù)請(qǐng)求查詢結(jié)果為空時(shí),可向其他服務(wù)器轉(zhuǎn)發(fā)服務(wù)請(qǐng)求,同時(shí)根據(jù)其他服務(wù)器返回的任務(wù)請(qǐng)求查詢結(jié)果,對(duì)本服務(wù)器更新。通過本發(fā)明的方法,服務(wù)器可進(jìn)行自主狀態(tài)識(shí)別,提高了云服務(wù)器的穩(wěn)定性;同時(shí)服務(wù)器的任務(wù)請(qǐng)求轉(zhuǎn)發(fā)查詢及更新,可使服務(wù)器自動(dòng)將從其他服務(wù)器得到數(shù)據(jù)補(bǔ)充到本服務(wù)器中,提高了服務(wù)器更新的靈活性。
文檔編號(hào)H04L29/08GK102801766SQ20111036705
公開日2012年11月28日 申請(qǐng)日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者關(guān)墨辰, 高樹磊, 徐瀚隆, 方華 申請(qǐng)人:北京安天電子設(shè)備有限公司