專利名稱:會話控制方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,更具體地說,涉及一種會話(Session)控制方
法、裝置及系統(tǒng)。
背景技術(shù):
Session即是用戶端通過瀏覽器或者其他工具訪問某網(wǎng)站時,與該網(wǎng)站的 某臺服務(wù)器之間建立的一次會話。用戶端訪問某網(wǎng)站時,該網(wǎng)站的某臺服務(wù) 器將針對接收到的Session請求,生成Session信息,通過Session為該用 戶端才是供Session服務(wù)。session信息可以包含一些用戶信息,以方便在整個 會話中使用,比如用戶登錄的用戶名,密碼.當(dāng)用戶刷新網(wǎng)頁的時候,如果 session中沒有用戶名,密碼,則會要求用戶重新登錄,如果session信息中已經(jīng) 有了,就不需要登錄了。
當(dāng)該服務(wù)器發(fā)生故障時,其無法利用生成的Session信息為用戶端提供 Session服務(wù),我們將這種情況稱為Session失效?,F(xiàn)有技術(shù)對Session失 效的普遍采取的方式主要有以下兩種
第一種方式全復(fù)制Session方式。即服務(wù)器集群中的某臺服務(wù)器針 對Session請求生成Session信息后,將該Session信息復(fù)制到服務(wù)器集群 中其他各臺服務(wù)器中。
第二種方式配對復(fù)制Session方式。即服務(wù)器集群中的某臺服務(wù)器 針對Session請求生成Session信息后,將該Session信息復(fù)制到服務(wù)器集 群中另外一臺服務(wù)器中。
可以看出,上述兩種方式均存在一些問題,第一種方式會占用大量空間, 并且當(dāng)并發(fā)量很大的情況下容易造成網(wǎng)絡(luò)風(fēng)暴,從而降低系統(tǒng)的吞吐量;而 第二種方式雖然能夠一定程度上解決上述第一種方式的缺點(diǎn),但是增大了
Session失效恢復(fù)出錯的概率,因?yàn)楫?dāng)備份的服務(wù)器也同時發(fā)生故障而無法正 常工作,則無法對Session失效進(jìn)行恢復(fù)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種會話控制方法、裝置及通信系統(tǒng),以在不增加系統(tǒng)吞吐量的情況下,提高Session失效恢復(fù)的成功率。 本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的 一種會話控制方法,包括
在首次接收到客戶端服務(wù)請求時,將該服務(wù)請求發(fā)送至服務(wù)器集群中的 服務(wù)器;
接收該服務(wù)器針對該服務(wù)請求生成的會話Session信息,并存儲; 接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服務(wù)器無法提供服務(wù)時,
將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群
中其他服務(wù)器。
優(yōu)選的,上述方法中,將該服務(wù)請求發(fā)送至服務(wù)器集群中的服務(wù)器包括 確定服務(wù)器集群中能夠提供服務(wù)的服務(wù)器; 按照預(yù)設(shè)方式,從所述能夠提供服務(wù)的服務(wù)器中確定目標(biāo)服務(wù)器; 將服務(wù)請求發(fā)送至所述目標(biāo)服務(wù)器。
優(yōu)選的,上述方法中,將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服 務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器包括
確定該服務(wù)器集群中其他能夠提供服務(wù)的服務(wù)器;
按照所述預(yù)設(shè)方式,從所述其他能夠提供服務(wù)的服務(wù)器中確定目標(biāo)服務(wù)
器;
將存儲的Session信息及客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)給所述目標(biāo)服 務(wù)器。
優(yōu)選的,上述方法中,所述預(yù)設(shè)方式為隨機(jī)方式,或權(quán)重從大到小的方 式,或依次4侖循的方式。
本發(fā)明實(shí)施例還4是供了一種會話控制裝置,包括
第一處理單元,用于在首次接收到客戶端服務(wù)請求時,將該服務(wù)請求發(fā) 送至服務(wù)器集群中的服務(wù)器;
第二處理單元,用于接收該服務(wù)器針對該服務(wù)請求生成的Session信息, 并存儲;
第三處理單元,用于接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服務(wù)
器無法提供服務(wù)時,將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服務(wù)請求 轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。
優(yōu)選的,上述裝置中,所述第一處理單元包括
第一確定單元,用于在首次接收到客戶端服務(wù)請求時,確定服務(wù)器集群 中能夠提供服務(wù)的服務(wù)器;
第二確定單元,用于按照預(yù)設(shè)方式,從所述能夠提供服務(wù)的服務(wù)器中確 定目標(biāo)服務(wù)器;
第一轉(zhuǎn)發(fā)單元,用于將服務(wù)請求發(fā)送至所述目標(biāo)服務(wù)器。
優(yōu)選的,上述裝置中,所述第三處理單元包括
第三確定單元,用于在接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,在該第 二確定單元確定的目標(biāo)服務(wù)器無法正常工作時,確定該服務(wù)器集群中其他能 夠提供服務(wù)的服務(wù)器;
第四確定單元,用于按照所述預(yù)設(shè)方式,從所述其他能夠提供服務(wù)的服 務(wù)器中確定目標(biāo)服務(wù)器;
第二轉(zhuǎn)發(fā)單元,用于將存儲的Session信息及客戶端當(dāng)次發(fā)送的服務(wù)請 求轉(zhuǎn)發(fā)給所述目標(biāo)服務(wù)器。
優(yōu)選的,上述裝置中,所述預(yù)設(shè)方式為隨機(jī)方式,或權(quán)重從大到小的方 式,或依次輪循的方式。
本發(fā)明同時還提供一種負(fù)載均衡器,該負(fù)載均衡器具有上述會話控制裝置。
此外,本發(fā)明實(shí)施例還公開了一種通信系統(tǒng),包括負(fù)載均衡器和服務(wù)器 集群,所述負(fù)載均衡器包括會話控制裝置,該會話控制裝置用于在首次接 收到客戶端服務(wù)請求時,將該服務(wù)請求發(fā)送至服務(wù)器集群中的服務(wù)器;接收 該服務(wù)器針對該服務(wù)請求生成的Session信息,并存儲;接收到該客戶端繼 續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服務(wù)器無法提供服務(wù)時,將存儲的Session信息 及該客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。
從上述的技術(shù)方案可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例摒棄了服 務(wù)器間復(fù)制Session信息進(jìn)行備份的方式,將服務(wù)器生成的Session信息復(fù) 制到負(fù)載均衡器中進(jìn)行備份,從而避免了集群中各服務(wù)器之間復(fù)制Session
所要付出的較大開銷,增加系統(tǒng)的吞吐量,并可保證Session失效恢復(fù)的成 功率。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖1為本發(fā)明實(shí)施例提供的一種會話控制方法的流程圖; 圖2為本發(fā)明實(shí)施例提供的一種通信系統(tǒng)的結(jié)構(gòu)示意圖; 圖3為本發(fā)明實(shí)施例提供的一種會話控制裝置的結(jié)構(gòu)示意圖; 圖4為本發(fā)明實(shí)施例提供的一種會話控制裝置的第一處理單元的結(jié)構(gòu)示 意圖5為本發(fā)明實(shí)施例提供的一種會話控制裝置的第三處理單元的結(jié)構(gòu)示 意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而 不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作 出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,為本發(fā)明實(shí)施例提供的一種會話控制方法的流程圖。
在圖2所示的通信系統(tǒng)中,負(fù)載均衡器負(fù)責(zé)均衡服務(wù)器集群中各臺服務(wù) 器的負(fù)荷,其同時需要接收客戶端發(fā)送的服務(wù)請求,并對Session進(jìn)行控制, 具體過程如下
步驟S101、接收客戶端的服務(wù)請求。
步驟S102、按照預(yù)定方式將服務(wù)器集群中的某臺或者某些服務(wù)器確定為 目標(biāo)服務(wù)器。
步驟S103、將該服務(wù)請求提供給該目標(biāo)服務(wù)器。
步驟S104、接收目標(biāo)服務(wù)器針對服務(wù)請求而生成的Session信息,并存儲。
步驟S105-S106、在接收到客戶端后續(xù)發(fā)送的服務(wù)請求時,判斷目標(biāo)服 務(wù)器是否能夠正常工作,若是,則進(jìn)入步驟S107;否則,進(jìn)入步驟S108。
步驟S107、將客戶端的服務(wù)請求轉(zhuǎn)發(fā)給該目標(biāo)服務(wù)器,并將該目標(biāo)服務(wù) 器返回的數(shù)據(jù)提供給該客戶端。
步驟S108、按照預(yù)定方式重新確定目標(biāo)服務(wù)器。
按照預(yù)先設(shè)定的方式將所述服務(wù)器集群中的其他服務(wù)器中的某臺或者某 些服務(wù)器確定為目標(biāo)服務(wù)器。
步驟S109、將客戶端的服務(wù)請求及存儲的原目標(biāo)服務(wù)器生成的Session 信息復(fù)制到重新確定的目標(biāo)服務(wù)器,由該重新確定的目標(biāo)服務(wù)器進(jìn)行處理。
上述步驟S102和步驟S108中,所述預(yù)定方式可以是隨機(jī)選擇方式或依 次輪循的方式。即負(fù)載均衡器可以默認(rèn)服務(wù)器集群中的所有服務(wù)器均正常 工作,于是在接收到客戶端的服務(wù)請求時,隨機(jī)選擇一臺或者多臺服務(wù)器作 為處理該服務(wù)請求的目標(biāo)服務(wù)器;負(fù)載均衡器也可以在默認(rèn)服務(wù)器集群中的 所有服務(wù)器均正常工作的情況下,以依次輪詢的方式確定目標(biāo)服務(wù)器,例如 服務(wù)器集群包含服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D,則在接收到某 客戶端的服務(wù)請求時,將服務(wù)器A確定為目標(biāo)服務(wù)器,此后,再接收到另一 客戶端的服務(wù)請求時,則將服務(wù)器B確定為目標(biāo)服務(wù)器,依次類推。
另外,所述預(yù)設(shè)方式還可以是按照權(quán)重從大到小的方式,假設(shè)服務(wù)集群 包含服務(wù)器A、服務(wù)器B、服務(wù)器C、服務(wù)器D和服務(wù)器E,工作負(fù)載均衡 器接收客戶端的服務(wù)請求后,執(zhí)行以下流程
首先,根據(jù)權(quán)重確定目標(biāo)服務(wù)器,并將服務(wù)請求發(fā)送給該目標(biāo)服務(wù)器。
各服務(wù)器的權(quán)重是根據(jù)工作負(fù)荷情況而定,原則是權(quán)重與負(fù)荷成反比, 即工作負(fù)荷越大,權(quán)重越??;工作負(fù)荷越小,權(quán)重越大。假設(shè)各服務(wù)器的 權(quán)重從大到小排列為服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D,則將客 戶端的服務(wù)請求發(fā)送給服務(wù)器A。
然后,接收服務(wù)器A針對該服務(wù)請求生成的Session信息,并存儲。
接著,在接收到該客戶端后續(xù)發(fā)送的服務(wù)請求后,判斷服務(wù)器A是否能 夠正常工作,若是,則將該客戶端后續(xù)發(fā)送的服務(wù)請求繼續(xù)發(fā)送給服務(wù)器A,
由服務(wù)器A進(jìn)行處理,否則,將服務(wù)器B確定為目標(biāo)服務(wù)器,將該客戶端的
服務(wù)請求及存儲的由服務(wù)器A提供的Session信息一并發(fā)送至服務(wù)器B,由 服務(wù)器B進(jìn)行處理。
確定服務(wù)器權(quán)重的操作可以是預(yù)先進(jìn)行的,也就是說,負(fù)載均衡器預(yù)先 確定各服務(wù)器的工作負(fù)荷情況,并根據(jù)上述原則確定各服務(wù)器的權(quán)重,于是, 在接收到客戶端的服務(wù)請求后,直接根據(jù)各服務(wù)器的權(quán)重確定目標(biāo)服務(wù)器, 其中,確定各服務(wù)器的工作負(fù)荷情況的方式可以是定時發(fā)送詢問信息,并 接收各各服務(wù)器反饋的響應(yīng)信息,該響應(yīng)信息攜帶用于指示工作負(fù)荷情況的 信息;另外,確定各服務(wù)器的工作負(fù)荷情況的方式還可以是各服務(wù)器將自 身的工作負(fù)荷定時上報(bào)給負(fù)載均衡器,負(fù)載均衡器即可確定各服務(wù)器的工作 負(fù)荷情況。
確定服務(wù)器權(quán)重的操作也可以在接收到客戶端的服務(wù)請求后進(jìn)行,也就 是說,當(dāng)接收到客戶端的服務(wù)請求后,確定各服務(wù)器的工作負(fù)荷情況,進(jìn)而 確定各服務(wù)器的權(quán)重,其中確定各服務(wù)器的工作負(fù)荷情況的方式可以是發(fā) 送詢問信息,并各服務(wù)器反饋響應(yīng)信息,該響應(yīng)信息中攜帶用于指示本身工 作負(fù)荷情況的信息,負(fù)載均衡器根據(jù)該響應(yīng)信息即可確定各服務(wù)器的工作負(fù) 荷。
可以看出,上述兩種方式各有利弊,前者可以加快負(fù)載均衡器的處理速 度,但是由于服務(wù)器的工作負(fù)荷情況是預(yù)先獲取的,而不是實(shí)時獲取的,則 可能會出現(xiàn)與現(xiàn)實(shí)情況不符的問題。而后者雖然能夠保證與現(xiàn)實(shí)情況相符, 但是延緩處理轉(zhuǎn)發(fā)服務(wù)請求的時間。具體采用上述那種方式可以根據(jù)用戶需 求或者網(wǎng)絡(luò)實(shí)際運(yùn)行情況而定。
需要說明的是,所述目標(biāo)服務(wù)器的數(shù)量可以是一臺,也可以是多臺,例 如,能夠正常工作的服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D均可以為目 標(biāo)服務(wù)器,負(fù)載均衡器接收到客戶端的多條服務(wù)請求后,將這些服務(wù)請求分 發(fā)至各服務(wù)器中,由各服務(wù)器分別進(jìn)行處理。分發(fā)的方式可以根據(jù)權(quán)重進(jìn)行, 例如服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D的權(quán)重分別為5、 2、 2、 1, 當(dāng)客戶端的服務(wù)請求數(shù)量為10條時,可以將服務(wù)器A、服務(wù)器B、服務(wù)器C 和服務(wù)器D均確定為目標(biāo)服務(wù)器,并將10條服務(wù)請求分為4份,分別包含5
條、2條、2條和1條服務(wù),分別發(fā)送給服務(wù)器A、服務(wù)器B、服務(wù)器C和服 務(wù)器D。
本發(fā)明實(shí)施例摒棄了服務(wù)器間復(fù)制Session信息進(jìn)行備份的方式,將服 務(wù)器生成的Session信息復(fù)制到負(fù)載均衡器中進(jìn)行備份,從而避免了集群中 各服務(wù)器之間復(fù)制Session信息所要付出的較大開銷,增加系統(tǒng)的吞吐量, 并可保證Session失效恢復(fù)的成功率。
針對上述部分方法實(shí)施例,本發(fā)明實(shí)施提供了一種會話控制裝置,設(shè)置 于負(fù)載均衡器中,其結(jié)構(gòu)如圖3所示,包括第一處理單元31、第二處理單 元32和第三處理單元33。
其中
第一處理單元31,用于在首次接收到客戶端服務(wù)請求時,將該服務(wù)請求 發(fā)送至服務(wù)器集群中的服務(wù)器。
第二處理單元32,用于接收該服務(wù)器針對該服務(wù)請求生成的Session信 息,并存儲;
第三處理單元33,用于接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服 務(wù)器無法提供服務(wù)時,將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服務(wù)請 求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。
下面以圖2所示場景為例進(jìn)一步描述該會話控制裝置的工作原理
第一處理單元31首次接收該客戶端服務(wù)請求時,按照預(yù)定方式確定目標(biāo) 服務(wù)器(服務(wù)器A),將該服務(wù)請求轉(zhuǎn)發(fā)給服務(wù)器A,由第二處理單元32接 收服務(wù)器A發(fā)送的針對該服務(wù)請求的Session信息,并保存;第三處理單元 在接收到該客戶端后續(xù)的服務(wù)請求時,判斷服務(wù)器A是否能夠正常工作,若 是,則將當(dāng)次服務(wù)請求轉(zhuǎn)發(fā)給服務(wù)器A,由服務(wù)器A進(jìn)行處理,否則,按照 預(yù)定方式重新確定目標(biāo)服務(wù)器(服務(wù)器B),將服務(wù)器A提供的Session信 息及客戶端當(dāng)次服務(wù)請求一并轉(zhuǎn)發(fā)給服務(wù)器B,由服務(wù)器B進(jìn)行處理。
圖4示出了第一處理單元31的結(jié)構(gòu),包括第一確定單元311、第二確 定單元312和第一轉(zhuǎn)發(fā)單元313。
其中
第一確定單元311,用于在首次接收到客戶端會話Session請求時,確 定服務(wù)器集群中能夠提供服務(wù)的服務(wù)器。
第二確定單元312,用于按照預(yù)設(shè)方式,從所述能夠提供服務(wù)的服務(wù)器
中確定提供服務(wù)的服務(wù)器(即目標(biāo)服務(wù)器)。所述預(yù)設(shè)方式可以為隨機(jī)方式, 或權(quán)重從大到小的方式,或依次輪循的方式,這些方式的具體過程可以參照 前文方法部分的描述,在此不再贅述。
第一轉(zhuǎn)發(fā)單元313,用于將服務(wù)請求發(fā)送至所述目標(biāo)服務(wù)器。
圖5示出了第三處理單元33的結(jié)構(gòu),包括第三確定單元331、第四確 定單元332和第二轉(zhuǎn)發(fā)單元333。
第三確定單元331,用于在接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,檢 測原先處理該客戶端服務(wù)請求的服務(wù)器是否能夠正常工作,當(dāng)檢測結(jié)果顯示 原先處理該客戶端服務(wù)請求的服務(wù)器無法正常工作時,確定該服務(wù)器集群中 其他能夠提供服務(wù)的服務(wù)器。
第四確定單元332,用于獲取所述第三確定單元331的確定結(jié)果,按照 預(yù)設(shè)方式從所述其他能夠提供服務(wù)的服務(wù)器中確定提供服務(wù)的服務(wù)器(也即 重新確定目標(biāo)服務(wù)器)。所述預(yù)設(shè)方式可以為隨機(jī)方式,或權(quán)重從大到小的 方式,或依次輪循的方式,這些方式的具體過程可以參照前文方法部分的描 述,在此不再贅述。
第二轉(zhuǎn)發(fā)單元333,用于獲^f又所述第四確定單元332的確定結(jié)果,將所 述第二處理單元32存儲的Session及客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)給所述 提供服務(wù)的服務(wù)器。
需要說明的是,具有上述會話控制裝置的負(fù)載均衡器同樣屬于本發(fā)明要 求保護(hù)的范疇,該負(fù)載均衡器將客戶端的服務(wù)請求轉(zhuǎn)發(fā)給服務(wù)器集群中的某 臺或某些服務(wù)器后,接收該服務(wù)器傳送回來的針對該服務(wù)請求的Session信 息。在接收該客戶端后續(xù)的服務(wù)請求時,如果原先處理該服務(wù)請求的服務(wù)器 出現(xiàn)故障,則將原先處理該服務(wù)請求的服務(wù)器生成的Session信息及該客戶 端當(dāng)次服務(wù)請求一并發(fā)送到服務(wù)器集群中的其他服務(wù)器,由其他服務(wù)器進(jìn)行 處理。由此保證了 Session失效恢復(fù)的成功率。
當(dāng)然,包含該負(fù)載均衡器和服務(wù)器集群的通信系統(tǒng)同樣屬于本發(fā)明保護(hù) 范疇。
本領(lǐng)域技術(shù)人員可以理解,可以使用許多不同的工藝和技術(shù)中的任意一 種來表示信息、消息和信號。例如,上述說明中提到過的消息、信息都可以 表示為電壓、電流、電磁波、磁場或磁性粒子、光場或以上任意組合。
專業(yè)人員還可以進(jìn)一步應(yīng)能意識到,結(jié)合本文中所公開的實(shí)施例描述的 各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來 實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能 一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來 執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每 個特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為 超出本發(fā)明的范圍。
結(jié)合本文中所^^開的實(shí)施例描述的方法或算法的步驟可以用石更件、處理 器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器
(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程 ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所7>知的任意 其它形式的存儲介質(zhì)中。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用 本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易 見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下, 在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例, 而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
1、一種會話控制方法,其特征在于,包括在首次接收到客戶端服務(wù)請求時,將該服務(wù)請求發(fā)送至服務(wù)器集群中的服務(wù)器;接收該服務(wù)器針對該服務(wù)請求生成的會話Session信息,并存儲;接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服務(wù)器無法提供服務(wù)時,將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。
2、 如權(quán)利要求1所述的方法,其特征在于,將該服務(wù)請求發(fā)送至服務(wù)器 集群中的服務(wù)器包括確定服務(wù)器集群中能夠提供服務(wù)的服務(wù)器;按照預(yù)設(shè)方式,從所述能夠提供服務(wù)的服務(wù)器中確定目標(biāo)服務(wù)器;將服務(wù)請求發(fā)送至所述目標(biāo)服務(wù)器。
3、 如權(quán)利要1所述的方法,其特征在于,將存儲的Session信息及該客 戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器包括確定該服務(wù)器集群中其他能夠提供服務(wù)的服務(wù)器;按照所述預(yù)設(shè)方式,從所述其他能夠提供服務(wù)的服務(wù)器中確定目標(biāo)服務(wù)器;將存儲的Session信息及客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)給所述目標(biāo)服 務(wù)器。
4、 如權(quán)利要1、 2或3所述的方法,其特征在于所述預(yù)設(shè)方式為隨機(jī) 方式,或權(quán)重從大到小的方式,或依次輪循的方式。
5、 一種會話控制裝置,其特征在于,包括第一處理單元,用于在首次接收到客戶端服務(wù)請求時,將該服務(wù)請求發(fā) 送至服務(wù)器集群中的服務(wù)器;第二處理單元,用于接收該服務(wù)器針對該服務(wù)請求生成的Session信息, 并存儲;第三處理單元,用于接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服務(wù) 器無法提供服務(wù)時,將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服務(wù)請求 轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。
6、 如權(quán)利要求5所述的裝置,其特征在于,所述第一處理單元包括 第一確定單元,用于在首次接收到客戶端服務(wù)請求時,確定服務(wù)器集群中能夠提供服務(wù)的服務(wù)器;第二確定單元,用于按照預(yù)設(shè)方式,從所述能夠提供服務(wù)的服務(wù)器中確 定目標(biāo)服務(wù)器;第一轉(zhuǎn)發(fā)單元,用于將服務(wù)請求發(fā)送至所述目標(biāo)服務(wù)器。
7、 如權(quán)利要5所述的裝置,其特征在于,所述第三處理單元包括 第三確定單元,用于在接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,在該第二確定單元確定的目標(biāo)服務(wù)器無法正常工作時,確定該服務(wù)器集群中其他能 夠提供服務(wù)的服務(wù)器;第四確定單元,用于按照所述預(yù)設(shè)方式,從所述其他能夠提供服務(wù)的服 務(wù)器中確定目標(biāo)服務(wù)器;第二轉(zhuǎn)發(fā)單元,用于將存儲的Session信息及客戶端當(dāng)次發(fā)送的服務(wù)請 求轉(zhuǎn)發(fā)給所述目標(biāo)服務(wù)器。'
8、如權(quán)利要5、 6或7所述的裝置,其特征在于,所述預(yù)設(shè)方式為隨機(jī) 方式,或權(quán)重/人大到小的方式,或依次l侖循的方式。
9、 一種負(fù)載均衡器,其特征在于,包括如權(quán)利4-8任意一項(xiàng)所述的會話控制裝置。
10、 一種通信系統(tǒng),包括負(fù)載均衡器和服務(wù)器集群,其特征在于 所述負(fù)載均衡器包括會話控制裝置,該會話控制裝置用于在首次接收到客戶端服務(wù)請求時,將該服務(wù)請求發(fā)送至服務(wù)器集群中的服務(wù)器;接收該 服務(wù)器針對該服務(wù)請求生成的Session信息,并存儲;接收到該客戶端繼續(xù) 發(fā)送的服務(wù)請求后,當(dāng)該服務(wù)器無法提供服務(wù)時,將存儲的Session信息及 該客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。
全文摘要
本發(fā)明實(shí)施例公開了一種會話控制方法,包括在首次接收到客戶端會話服務(wù)請求時,將該服務(wù)請求發(fā)送至服務(wù)器集群中的服務(wù)器;接收該服務(wù)器針對該服務(wù)請求生成的Session信息,并存儲;接收到該客戶端繼續(xù)發(fā)送的服務(wù)請求后,當(dāng)該服務(wù)器無法提供服務(wù)時,將存儲的Session信息及該客戶端當(dāng)次發(fā)送的服務(wù)請求轉(zhuǎn)發(fā)至該服務(wù)器集群中其他服務(wù)器。本發(fā)明實(shí)施例還公開了一種會話控制裝置及一種通信系統(tǒng)。本發(fā)明實(shí)施例將服務(wù)器生成的Session信息在負(fù)載均衡器中進(jìn)行備份,避免了各服務(wù)器之間復(fù)制Session信息所要付出的較大開銷,增加系統(tǒng)的吞吐量,保證Session失效恢復(fù)的成功率。
文檔編號H04L29/06GK101364930SQ20081016129
公開日2009年2月11日 申請日期2008年9月24日 優(yōu)先權(quán)日2008年9月24日
發(fā)明者王新生 申請人:深圳市金蝶中間件有限公司