欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種用戶設(shè)備連接請(qǐng)求分配的方法及裝置與流程

文檔序號(hào):11064814閱讀:377來(lái)源:國(guó)知局
一種用戶設(shè)備連接請(qǐng)求分配的方法及裝置與制造工藝

本申請(qǐng)涉及通信技術(shù)領(lǐng)域,尤其涉及一種用戶設(shè)備連接請(qǐng)求分配的方法及裝置。



背景技術(shù):

現(xiàn)階段負(fù)載均衡是指當(dāng)存在大量的用戶設(shè)備的連接請(qǐng)求時(shí),將所述用戶設(shè)備的連接請(qǐng)求平均地分配到多臺(tái)服務(wù)器進(jìn)行處理,使每一臺(tái)服務(wù)器所承受的總負(fù)載水平保持平衡。

目前,負(fù)載均衡采用的策略為平均分配用戶設(shè)備的連接請(qǐng)求的方式,使得每一臺(tái)服務(wù)器上所分配到的用戶設(shè)備的連接請(qǐng)求的數(shù)量是平均的。

然而,當(dāng)加入新的服務(wù)器時(shí),新加入的服務(wù)器與已經(jīng)在集群中工作的服務(wù)器所承受的負(fù)載存在很大的差距,若繼續(xù)采用現(xiàn)有技術(shù)中平均分配用戶設(shè)備的連接請(qǐng)求的方式,雖然在短連接的情況下,服務(wù)器與用戶設(shè)備之間所連接的用戶設(shè)備的連接請(qǐng)求會(huì)斷開(kāi),從而可以使各個(gè)服務(wù)器連接的來(lái)自于用戶設(shè)備的連接請(qǐng)求的數(shù)量達(dá)到平衡,即各個(gè)服務(wù)器的負(fù)載達(dá)到平衡。但是,在長(zhǎng)連接的情況下,無(wú)法使得新加入的服務(wù)器的負(fù)載快速地與原有的在集群中工作的服務(wù)器的負(fù)載達(dá)到平衡,即使可以使每個(gè)服務(wù)器的負(fù)載達(dá)到平衡,也需要經(jīng)過(guò)長(zhǎng)時(shí)間的迭代,才能使得每一服務(wù)器的負(fù)載達(dá)到平衡??梢?jiàn),現(xiàn)有技術(shù)中負(fù)載均衡的策略,即平均分配用戶設(shè)備的連接請(qǐng)求的方式并不適用于長(zhǎng)連接的情況。

綜上所述,現(xiàn)有技術(shù)中用戶設(shè)備連接請(qǐng)求分配方法僅適用于短連接的情況下,在長(zhǎng)連接的情況下,無(wú)法使得新加入的服務(wù)器的負(fù)載快速地與原有的在集群中工作的服務(wù)器的負(fù)載達(dá)到平衡。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)實(shí)施例提供了一種用戶設(shè)備連接請(qǐng)求分配的方法及裝置,用以在長(zhǎng)連接情況下實(shí)現(xiàn)多個(gè)服務(wù)器負(fù)載的快速均衡。

本申請(qǐng)實(shí)施例提供的一種用戶設(shè)備連接請(qǐng)求分配的方法,包括:

接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)以及用戶設(shè)備發(fā)送的連接請(qǐng)求;

根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配。

本申請(qǐng)實(shí)施例,通過(guò)接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),可實(shí)時(shí)得知多個(gè)服務(wù)器各自的負(fù)載狀態(tài),并根據(jù)所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配,進(jìn)而實(shí)現(xiàn)所述多個(gè)服務(wù)器負(fù)載均衡,有效解決了長(zhǎng)連接情況下多個(gè)服務(wù)器負(fù)載快速均衡的問(wèn)題。

可選地,根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配,具體包括:

針對(duì)任一所述服務(wù)器,根據(jù)該服務(wù)器發(fā)送的所述表征該服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),計(jì)算該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例;

當(dāng)所述多個(gè)服務(wù)器中存在任一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例不在預(yù)設(shè)的閾值范圍內(nèi)時(shí),從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器;

將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

從而,當(dāng)集群中的多個(gè)服務(wù)器中任意一個(gè)的負(fù)載與其他服務(wù)器差距較大時(shí),通過(guò)上述方法,可實(shí)現(xiàn)集群中的多個(gè)服務(wù)器的負(fù)載快速均衡。當(dāng)有新的服務(wù)器加入集群后,實(shí)現(xiàn)了該新加入的服務(wù)器的負(fù)載快速地與原有的在集群中工作的服務(wù)器的負(fù)載達(dá)到平衡,提高了集群的性能。

可選地,所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)為本服務(wù)器當(dāng)前已接收到的用戶設(shè)備的連接請(qǐng)求的總數(shù)量。

可選地,根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配,還包括:

當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求給所述多個(gè)服務(wù)器。

從而,當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),通過(guò)采用上述方式,可以省略確定負(fù)載最小的服務(wù)器的過(guò)程,進(jìn)而節(jié)省給所述多個(gè)服務(wù)器分配用戶設(shè)備的連接請(qǐng)求的時(shí)間。

可選地,將所述用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器之后,該方法還包括:

當(dāng)所述負(fù)載最小的服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例到達(dá)所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),停止向所述負(fù)載最小的服務(wù)器發(fā)送當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求;

將所述用戶設(shè)備的連接請(qǐng)求采取平均分配的方式發(fā)送給所述多個(gè)服務(wù)器。

從而,有效避免了所述負(fù)載最小的服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例超出所述預(yù)設(shè)的閾值范圍,導(dǎo)致多個(gè)服務(wù)器負(fù)載不均衡。

可選地,所述接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)是周期性地進(jìn)行的。

可選地,所述計(jì)算每一服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例是周期性地進(jìn)行的。

通過(guò)對(duì)所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)進(jìn)行實(shí)時(shí)統(tǒng)計(jì),有利于實(shí)時(shí)獲知所述多個(gè)服務(wù)器的負(fù)載狀況,及時(shí)采取最有效 的負(fù)載均衡方案。

可選地,將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器,具體包括:

從本地文件的哈希表中獲取所述負(fù)載最小的服務(wù)器的IP地址;

根據(jù)所述IP地址,將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

可選地,當(dāng)從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器的數(shù)量為多個(gè)時(shí),從所述多個(gè)負(fù)載最小的服務(wù)器中隨機(jī)選取一個(gè)服務(wù)器,并將所述連接請(qǐng)求發(fā)送給該服務(wù)器。

可選地,在分配用戶設(shè)備連接請(qǐng)求前以及分配用戶設(shè)備連接請(qǐng)求之后,所述多個(gè)服務(wù)器與用戶設(shè)備之間建立連接的方式為長(zhǎng)連接。

本申請(qǐng)實(shí)施例提供的一種用戶設(shè)備連接請(qǐng)求分配的裝置,包括:

接收單元,用于接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)以及用戶設(shè)備發(fā)送的連接請(qǐng)求;

處理單元,用于根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配。

可選地,所述處理單元具體用于:

針對(duì)任一所述服務(wù)器,根據(jù)該服務(wù)器發(fā)送的所述表征該服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),計(jì)算該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例;

當(dāng)所述多個(gè)服務(wù)器中存在任一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例不在預(yù)設(shè)的閾值范圍內(nèi)時(shí),從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器;

將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

可選地,所述接收單元接收的所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)為本服務(wù)器當(dāng)前已接收到的用戶設(shè)備的連接請(qǐng)求的總數(shù)量。

可選地,所述處理單元具體還用于:

當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求給所述多個(gè)服務(wù)器。

可選地,所述處理單元將所述用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器之后,還用于:

當(dāng)所述負(fù)載最小的服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例到達(dá)所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),停止向所述負(fù)載最小的服務(wù)器發(fā)送當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求;

將所述用戶設(shè)備的連接請(qǐng)求采取平均分配的方式發(fā)送給所述多個(gè)服務(wù)器。

可選地,所述接收單元周期性地接收所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)。

可選地,所述處理單元周期性地計(jì)算每一服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例。

可選地,所述處理單元將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器時(shí),具體用于:

從本地文件的哈希表中獲取所述負(fù)載最小的服務(wù)器的IP地址;

根據(jù)所述IP地址,將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

可選地,所述處理單元當(dāng)從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器的數(shù)量為多個(gè)時(shí),從所述多個(gè)負(fù)載最小的服務(wù)器中隨機(jī)選取一個(gè)服務(wù)器,并將所述連接請(qǐng)求發(fā)送給該服務(wù)器。

可選地,所述裝置在分配用戶設(shè)備連接請(qǐng)求前以及分配用戶設(shè)備連接請(qǐng)求之后,所述多個(gè)服務(wù)器與用戶設(shè)備之間建立連接的方式為長(zhǎng)連接。

附圖說(shuō)明

圖1為本申請(qǐng)實(shí)施例提供的一種用戶設(shè)備連接請(qǐng)求分配的方法的流程示意圖;

圖2a和圖2b為本申請(qǐng)實(shí)施例提供的系統(tǒng)架構(gòu)示意圖;

圖3為本申請(qǐng)實(shí)施例提供的另一用戶設(shè)備連接請(qǐng)求分配的方法流程示意圖;

圖4為本申請(qǐng)實(shí)施例提供的一種用戶設(shè)備連接請(qǐng)求分配的裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

本申請(qǐng)實(shí)施例提供了一種用戶設(shè)備連接請(qǐng)求分配的方法及裝置,用以在長(zhǎng)連接情況下實(shí)現(xiàn)多個(gè)服務(wù)器負(fù)載的快速均衡。

本申請(qǐng)實(shí)施例,通過(guò)周期性地接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),并根據(jù)所接收到的多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),計(jì)算和判斷每一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例是否在預(yù)設(shè)的閾值范圍內(nèi)。當(dāng)所述多個(gè)服務(wù)器中存在任一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例不在預(yù)設(shè)的閾值范圍內(nèi)時(shí),從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器,并將當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器,實(shí)現(xiàn)多個(gè)服務(wù)器的負(fù)載快速達(dá)到平衡。當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求給所述多個(gè)服務(wù)器,從而實(shí)現(xiàn)所述多個(gè)服務(wù)器的負(fù)載均衡。

下面結(jié)合附圖對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)地闡述。

在負(fù)載均衡服務(wù)器側(cè),參見(jiàn)圖1,本申請(qǐng)實(shí)施例提供了一種用戶設(shè)備連接請(qǐng)求分配的方法,包括:

S101、接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)以及用戶設(shè)備發(fā)送的連接請(qǐng)求;

S102、根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù) 據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配。

本申請(qǐng)實(shí)施例,通過(guò)接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),可實(shí)時(shí)得知多個(gè)服務(wù)器各自的負(fù)載狀態(tài),并根據(jù)所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配,有效解決了長(zhǎng)連接情況下多個(gè)服務(wù)器負(fù)載快速均衡的問(wèn)題。

可選地,根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配,具體包括:

針對(duì)任一所述服務(wù)器,根據(jù)該服務(wù)器發(fā)送的所述表征該服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),計(jì)算該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例;

當(dāng)所述多個(gè)服務(wù)器中存在任一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例不在預(yù)設(shè)的閾值范圍內(nèi)時(shí),從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器;

將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

從而,當(dāng)集群中的多個(gè)服務(wù)器中任意一個(gè)的負(fù)載與其他服務(wù)器差距較大時(shí),通過(guò)上述方法,可實(shí)現(xiàn)集群中的多個(gè)服務(wù)器的負(fù)載快速均衡。當(dāng)有新的服務(wù)器加入集群后,實(shí)現(xiàn)了該新加入的服務(wù)器的負(fù)載快速地與原有的在集群中工作的服務(wù)器的負(fù)載達(dá)到平衡,提高了集群的性能。

需要說(shuō)明的是,服務(wù)器的負(fù)載與該服務(wù)器接收到的用戶設(shè)備的連接請(qǐng)求的數(shù)量是成正比的。這是由于,當(dāng)服務(wù)器接接收到的用戶設(shè)備的連接請(qǐng)求時(shí),該服務(wù)器需要對(duì)所述用戶設(shè)備的連接請(qǐng)求進(jìn)行處理,如相關(guān)數(shù)據(jù)的處理、CPU(Central Processing Unit,中央處理器)的占用、磁盤IO的占用、網(wǎng)絡(luò)占用等等,都會(huì)導(dǎo)致該服務(wù)器的負(fù)載相應(yīng)地增加。因此,通過(guò)將當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器,可以使得所述負(fù)載最小的服務(wù)器的負(fù)載快速地增加。

這里,我們將所述多個(gè)服務(wù)器的個(gè)數(shù)用N表示,所述多個(gè)服務(wù)器當(dāng)前總負(fù) 載狀態(tài)值用Ltotal表示,任一服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例用Pi表示,任一服務(wù)器當(dāng)前負(fù)載狀態(tài)值用Li表示,其中i表示所述任一服務(wù)器對(duì)應(yīng)的編號(hào),用于區(qū)分不同的服務(wù)器。同時(shí),為了方便闡述,我們將下文中出現(xiàn)的任一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例均用Pi表示,并且其他符號(hào)如Ltotal、N、Li等也將繼續(xù)在下文中沿用。

則Pi可表示為:

所述Pi不在預(yù)設(shè)的閾值范圍內(nèi),可以是Pi小于所述預(yù)設(shè)的閾值范圍,也可以是Pi大于所述預(yù)設(shè)的閾值范圍。例如,閾值范圍設(shè)為70%-130%,對(duì)于編號(hào)為1的服務(wù)器,計(jì)算得到其P1的值為20%,則P1小于所述預(yù)設(shè)的閾值范圍;或者對(duì)于編號(hào)為2的服務(wù)器,計(jì)算得到其P2的值為140%,則P2大于所述預(yù)設(shè)的閾值范圍。即以上計(jì)算所得的P1和P2均不在預(yù)設(shè)的閾值范圍內(nèi)。當(dāng)然,對(duì)于閾值范圍,用戶可根據(jù)具體情況進(jìn)行自行設(shè)定,例如還可以設(shè)定為80%-120%、90%-110%等等。

其中,所述預(yù)設(shè)的閾值范圍,可以是給所述多個(gè)服務(wù)器預(yù)設(shè)一個(gè)統(tǒng)一的閾值范圍;也可以是給每一服務(wù)器預(yù)設(shè)一個(gè)閾值范圍,該閾值范圍可以相同,也可以不同,本申請(qǐng)實(shí)施例對(duì)此不作限定。

對(duì)于從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器的方法,可以有多種。例如,可以利用每一服務(wù)器當(dāng)前對(duì)應(yīng)的負(fù)載狀態(tài)值來(lái)確定出當(dāng)前負(fù)載最小的服務(wù)器,也可以利用每一服務(wù)器的Pi值來(lái)確定出當(dāng)前負(fù)載最小的服務(wù)器。

下面給出一種從所述多個(gè)服務(wù)器中確定當(dāng)前負(fù)載最小的服務(wù)器的具體方法。

當(dāng)接收到所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)后,將所述數(shù)據(jù)進(jìn)行統(tǒng)計(jì)后保存在本地文件的哈希表中。在當(dāng)前時(shí)刻,當(dāng)所述多個(gè)服務(wù)器中存在任一服務(wù)器對(duì)應(yīng)的Pi不在預(yù)設(shè)的閾值范圍內(nèi)時(shí),按照排序 規(guī)則對(duì)當(dāng)前哈希表中每一服務(wù)器對(duì)應(yīng)的負(fù)載狀態(tài)值進(jìn)行排序,例如采用堆排序方法,找出負(fù)載最小的服務(wù)器對(duì)應(yīng)的IP,從而確定出當(dāng)前負(fù)載最小的服務(wù)器。當(dāng)然,也可以采用其他排序方法,如快速排序、歸并排序等等。

可選地,根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配,還包括:

當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求給所述多個(gè)服務(wù)器。

其中,將當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求采取平均分配的方式發(fā)送給所述多個(gè)服務(wù)器,可以有多種實(shí)現(xiàn)方式。

例如,可以采用輪詢機(jī)制,也就是將多個(gè)用戶設(shè)備的連接請(qǐng)求,循環(huán)地給每一臺(tái)服務(wù)器分配一個(gè)用戶設(shè)備的連接請(qǐng)求,從而,使得每一臺(tái)服務(wù)器所接收到的用戶設(shè)備的連接請(qǐng)求的數(shù)量是平均的。

或者,可以采用隨機(jī)分配機(jī)制,也就是當(dāng)逐個(gè)發(fā)送多個(gè)用戶設(shè)備的連接請(qǐng)求給所述多個(gè)服務(wù)器時(shí),每發(fā)一個(gè)用戶設(shè)備的連接請(qǐng)求,就從所述多個(gè)服務(wù)器中隨機(jī)選取一個(gè)服務(wù)器,然后將該用戶設(shè)備的連接請(qǐng)求發(fā)送給該服務(wù)器。這樣,集群中的每一服務(wù)器收到的用戶設(shè)備的連接請(qǐng)求的數(shù)量也可以認(rèn)為是均等的,從而,可以保證多個(gè)服務(wù)器的負(fù)載趨于平衡。當(dāng)然,除上述兩種方式外,還可以采用其他的實(shí)現(xiàn)方式,本申請(qǐng)實(shí)施例對(duì)此實(shí)現(xiàn)方式不作具體限定。

也就是說(shuō),當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),各服務(wù)器之間的負(fù)載差距不大,我們可以認(rèn)為所述多個(gè)服務(wù)器當(dāng)前的負(fù)載是平均的,因此,采取平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求的方式,實(shí)現(xiàn)所述多個(gè)服務(wù)器的負(fù)載均衡。通過(guò)采用這種方式,可以省略上述確定負(fù)載最小的服務(wù)器的過(guò)程,進(jìn)而節(jié)省給所述多個(gè)服務(wù)器分配用戶設(shè)備的連接請(qǐng)求的時(shí)間。

可選地,將用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器之后,該方 法還包括:

當(dāng)所述負(fù)載最小的服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例到達(dá)所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),停止向所述負(fù)載最小的服務(wù)器發(fā)送當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求;

將用戶設(shè)備的連接請(qǐng)求采取平均分配的方式發(fā)送給所述多個(gè)服務(wù)器。

從而,有效避免了所述負(fù)載最小的服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例超出所述預(yù)設(shè)的閾值范圍,導(dǎo)致多個(gè)服務(wù)器負(fù)載不均衡。

下面針對(duì)上述方法進(jìn)行簡(jiǎn)單地說(shuō)明。

假設(shè)預(yù)設(shè)的閾值范圍為80%-120%,在當(dāng)前時(shí)刻,所述負(fù)載最小的服務(wù)器的的Pi值為10%,在確定出當(dāng)前負(fù)載最小的服務(wù)器后,將后續(xù)出現(xiàn)的用戶設(shè)備的連接請(qǐng)求連續(xù)發(fā)送給該負(fù)載最小的服務(wù)器。與此同時(shí),實(shí)時(shí)地接收該負(fù)載最小的服務(wù)器發(fā)送的對(duì)應(yīng)該服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),并計(jì)算和判斷該負(fù)載最小的服務(wù)器的Pi值是否到達(dá)所述預(yù)設(shè)的閾值范圍。假設(shè)在后續(xù)的某一時(shí)刻,計(jì)算得出所述負(fù)載最小的服務(wù)器的Pi值為80%,則停止向所述負(fù)載最小的服務(wù)器發(fā)送當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求,將當(dāng)前時(shí)刻來(lái)自于用戶設(shè)備的連接請(qǐng)求采取平均分配的方式發(fā)送給所述多個(gè)服務(wù)器。

可選地,所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)為本服務(wù)器當(dāng)前已接收到的用戶設(shè)備的連接請(qǐng)求的總數(shù)量。

可選地,所述接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)是周期性地進(jìn)行的。

可選地,所述計(jì)算每一服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例是周期性地進(jìn)行的。

上述周期,例如可以設(shè)定為10ms,20ms等等,可根據(jù)具體情況進(jìn)行設(shè)定。

可選地,將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器,具體包括:

從本地文件的哈希表中獲取所述負(fù)載最小的服務(wù)器的IP地址;

根據(jù)所述IP地址,將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

可選地,當(dāng)從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器的數(shù)量為多個(gè)時(shí),從所述多個(gè)負(fù)載最小的服務(wù)器中隨機(jī)選取一個(gè)服務(wù)器,并將所述連接請(qǐng)求發(fā)送給該服務(wù)器。

例如,在多個(gè)服務(wù)器中,計(jì)算得出有兩個(gè)服務(wù)器分別對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例值相同,這時(shí),當(dāng)前負(fù)載最小的服務(wù)器的數(shù)量就為2,在這種情況下,就可以從這兩個(gè)負(fù)載最小的服務(wù)器中隨機(jī)選取一個(gè)服務(wù)器,并將當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求發(fā)送給該服務(wù)器。

可選地,在分配用戶設(shè)備連接請(qǐng)求前以及分配用戶設(shè)備連接請(qǐng)求之后,所述多個(gè)服務(wù)器與用戶設(shè)備之間建立連接的方式為長(zhǎng)連接。

可選地,本申請(qǐng)實(shí)施例提供的一種用戶設(shè)備連接請(qǐng)求分配的方法,適用于長(zhǎng)連接的情況,以解決長(zhǎng)連接情況下多個(gè)服務(wù)器負(fù)載快速均衡的問(wèn)題。當(dāng)然,本申請(qǐng)實(shí)施例提供的用戶設(shè)備連接請(qǐng)求分配的方法應(yīng)用于短連接的情況也是可以的。

下面結(jié)合具體的應(yīng)用場(chǎng)景,對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)的闡述。

假設(shè)當(dāng)前時(shí)刻,系統(tǒng)集群中有3個(gè)服務(wù)器,分別為服務(wù)器A,服務(wù)器B和服務(wù)器C,這三個(gè)服務(wù)器的負(fù)載均衡由負(fù)載均衡服務(wù)器執(zhí)行,來(lái)自用戶設(shè)備的請(qǐng)求,由負(fù)載均衡服務(wù)器發(fā)送給服務(wù)器A,服務(wù)器B、服務(wù)器C,如圖2a所示。

在下一時(shí)刻,由于集群中的3個(gè)服務(wù)器受到其物理配置等原因,其負(fù)載達(dá)到可以擴(kuò)容的范圍,此時(shí),集群中需要新增加一服務(wù)器,即服務(wù)器D,如圖2b所示。

其中,圖2a和圖2b中所示的A請(qǐng)求、B請(qǐng)求、C請(qǐng)求等均只是示意性的,并不代表各服務(wù)器實(shí)際接收到的用戶設(shè)備的連接請(qǐng)求數(shù)量,相應(yīng)地,用戶設(shè)備側(cè)的連接請(qǐng)求也只是示意性的。在實(shí)際應(yīng)用場(chǎng)景中,用戶設(shè)備的連接請(qǐng)求的數(shù)量很多,每個(gè)服務(wù)器所處理的用戶設(shè)備的連接請(qǐng)求數(shù)量也很多,比如可以是100 個(gè)、1000個(gè)等等。

此時(shí),本申請(qǐng)實(shí)施例中,對(duì)用戶設(shè)備的連接請(qǐng)求分配的方法可參見(jiàn)圖3,以使得所述四個(gè)服務(wù)器(服務(wù)器A,服務(wù)器B、服務(wù)器C和服務(wù)器D)的負(fù)載快速均衡,該方法具體包括:

步驟201、接收四個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)以及用戶設(shè)備發(fā)送的連接請(qǐng)求,之后轉(zhuǎn)向步驟202;

步驟202、針對(duì)任一所述服務(wù)器,根據(jù)該服務(wù)器發(fā)送的所述表征該服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),計(jì)算該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例Pi,之后轉(zhuǎn)向步驟203;

在本實(shí)施例中,負(fù)載均衡服務(wù)器將接收到的四個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)保存在本地文件的哈希表中,并將計(jì)算的每一服務(wù)器的Pi值也保存在本地文件的哈希表中,具體可參見(jiàn)表1所示。

表1

這里,需要強(qiáng)調(diào)的是表1中的哈希表中的數(shù)據(jù)也只是示意性的給出,并不代表服務(wù)器實(shí)際工作中的負(fù)載狀態(tài)值及Pi值。

步驟203、判斷所述四個(gè)服務(wù)器的Pi值是否在預(yù)設(shè)的閾值范圍內(nèi),若所述四個(gè)服務(wù)器的Pi值均在所述預(yù)設(shè)的閾值范圍,則執(zhí)行步驟205,否則執(zhí)行步驟204;

假設(shè)本實(shí)施例設(shè)定的閾值范圍為80%-120%,由步驟202的計(jì)算結(jié)果(參見(jiàn)表1)可知,邏輯服務(wù)器D的Pi值不在預(yù)設(shè)的范圍內(nèi)。

步驟204、從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器,之后轉(zhuǎn)入步驟206;

這里,具體可利用表1中四個(gè)服務(wù)器對(duì)應(yīng)的負(fù)載狀態(tài)值進(jìn)行排序,進(jìn)而確定出當(dāng)前負(fù)載最小的服務(wù)器,即服務(wù)器D。

步驟205、平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求給所述四個(gè)服務(wù)器;

步驟206、將當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

這里,從經(jīng)過(guò)排序的哈希表中讀取服務(wù)器D的IP地址,進(jìn)而將當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求發(fā)送給服務(wù)器D對(duì)應(yīng)的IP地址。

至此,實(shí)現(xiàn)新增加的服務(wù)器D的負(fù)載快速地與集群中其他服務(wù)器的負(fù)載達(dá)到平衡。

參見(jiàn)圖4,本申請(qǐng)實(shí)施例提供了一種用戶設(shè)備連接請(qǐng)求分配的裝置,包括:

接收單元11,用于接收多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)以及用戶設(shè)備發(fā)送的連接請(qǐng)求;

處理單元12,用于根據(jù)每一所述服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),對(duì)所述連接請(qǐng)求進(jìn)行分配。

可選地,所述處理單元12具體用于:

針對(duì)每一所述服務(wù)器,根據(jù)該服務(wù)器發(fā)送的所述表征該服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù),計(jì)算該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例;

當(dāng)所述多個(gè)服務(wù)器中存在任一服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例不在預(yù)設(shè)的閾值范圍內(nèi)時(shí),從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器;

將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

可選地,所述接收單元11接收的所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)為本服務(wù)器當(dāng)前已接收到的用戶設(shè)備的連接請(qǐng)求的 總數(shù)量。

可選地,所述處理單元12具體還用于:

當(dāng)所述多個(gè)服務(wù)器對(duì)應(yīng)的該服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例,均在所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),平均分配來(lái)自于用戶設(shè)備的連接請(qǐng)求給所述多個(gè)服務(wù)器。

可選地,所述處理單元12將用戶設(shè)備的連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器時(shí),還用于:

當(dāng)所述負(fù)載最小的服務(wù)器對(duì)應(yīng)的當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例到達(dá)所述預(yù)設(shè)的閾值范圍內(nèi)時(shí),停止向所述負(fù)載最小的服務(wù)器發(fā)送當(dāng)前來(lái)自于用戶設(shè)備的連接請(qǐng)求;

將用戶設(shè)備的連接請(qǐng)求采取平均分配的方式發(fā)送給所述多個(gè)服務(wù)器。

可選地,所述接收單元11周期性地接收所述多個(gè)服務(wù)器發(fā)送的用于表征本服務(wù)器當(dāng)前負(fù)載狀態(tài)值的數(shù)據(jù)。

可選地,所述處理單元12周期性地計(jì)算每一服務(wù)器當(dāng)前負(fù)載狀態(tài)值占所述多個(gè)服務(wù)器當(dāng)前總負(fù)載狀態(tài)值的平均值的比例。

可選地,所述處理單元12將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器時(shí),具體用于:

從本地文件的哈希表中獲取所述負(fù)載最小的服務(wù)器的IP地址;

根據(jù)所述IP地址,將所述連接請(qǐng)求發(fā)送給所述負(fù)載最小的服務(wù)器。

可選地,所述處理單元12當(dāng)從所述多個(gè)服務(wù)器中確定出當(dāng)前負(fù)載最小的服務(wù)器的數(shù)量為多個(gè)時(shí),從所述多個(gè)負(fù)載最小的服務(wù)器中隨機(jī)選取一個(gè)服務(wù)器,并將所述連接請(qǐng)求發(fā)送給該服務(wù)器。

可選地,所述裝置在分配用戶設(shè)備連接請(qǐng)求前以及分配用戶設(shè)備連接請(qǐng)求之后,所述多個(gè)服務(wù)器與用戶設(shè)備之間建立連接的方式為長(zhǎng)連接。

本申請(qǐng)實(shí)施例可通過(guò)具體的硬件處理器來(lái)實(shí)現(xiàn)上述各功能單元。

本申請(qǐng)實(shí)施例提供的該負(fù)載均衡的裝置,例如可以為上述的負(fù)載均衡服務(wù) 器。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
故城县| 年辖:市辖区| 布拖县| 昌图县| 海丰县| 金寨县| 杂多县| 遂川县| 呼和浩特市| 德阳市| 施秉县| 漠河县| 沈阳市| 唐海县| 南投县| 武清区| 阿拉善右旗| 鹤峰县| 平山县| 广宗县| 锡林浩特市| 贵德县| 南昌市| 永州市| 南和县| 永登县| 金昌市| 泸溪县| 濮阳县| 新竹县| 桃园市| 胶南市| 遂川县| 息烽县| 邢台市| 安达市| 康乐县| 宜君县| 铜梁县| 湘潭市| 涞源县|