本發(fā)明涉及通信領(lǐng)域中的信息處理技術(shù),尤其涉及一種負(fù)載均衡方法、裝置、設(shè)備和計算機(jī)可讀存儲介質(zhì)。
背景技術(shù):
隨著電子產(chǎn)品的推廣與發(fā)展,電子產(chǎn)品功能越來越多、性能越來越強(qiáng)、體驗越來越豐富,給人們的生活帶來很多便利。同時,智能終端也越來越普及;而且,在智能終端聯(lián)網(wǎng)之后,可以使用其實(shí)現(xiàn)較多功能。當(dāng)然,目前對于用戶來說,使用終端進(jìn)行娛樂的一種方式是使用終端上的游戲應(yīng)用程序進(jìn)行游戲。
在現(xiàn)有技術(shù)方案中,用戶使用游戲應(yīng)用程序進(jìn)行具有互動的游戲時,游戲服務(wù)器是在選擇給進(jìn)行游戲的終端提供服務(wù)的同步服務(wù)器時是隨機(jī)分配的;這樣會存在一些同步服務(wù)器的負(fù)載已經(jīng)很大了,但是游戲服務(wù)器仍然會分配其給終端提供服務(wù)的問題,導(dǎo)致終端的操作會產(chǎn)生延時,交互雙方的操作不能實(shí)時進(jìn)行。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實(shí)施例期望提供一種負(fù)載均衡方法、裝置、設(shè)備和計算機(jī)可讀存儲介質(zhì),解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
第一方面,提供一種負(fù)載均衡方法,所述方法包括:
接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載;其中,所述負(fù)載是接收到用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求后獲取的;
比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系;
基于比較結(jié)果對所述第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果;
基于所述分組結(jié)果,從所述同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器;
發(fā)送服務(wù)指令至所述目標(biāo)服務(wù)器;其中,所述服務(wù)指令用于指示所述目標(biāo)服務(wù)器為第一終端提供服務(wù)。
第二方面,提供一種負(fù)載均衡方法,所述方法包括:
接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求;
響應(yīng)所述啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息;其中,所述當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前中央處理器cpu使用率;
計算所述當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例;其中,所述客戶端總數(shù)量為所述第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量;
計算所述當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例;其中,所述總收發(fā)包流量為所述第一同步服務(wù)器能夠提供的總收發(fā)包流量;
發(fā)送所述第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器;其中,所述第一比例、第二比例和當(dāng)前cpu使用率是所述客戶端服務(wù)器用于確定目標(biāo)服務(wù)器的;所述目標(biāo)服務(wù)器是所述同步服務(wù)器集群中的至少一個第一同步服務(wù)器。
第三方面,提供一種負(fù)載均衡裝置,所述裝置包括:第一接收單元、比較單元、第一處理單元和第一發(fā)送單元,其中:
所述第一接收單元,用于接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載;其中,所述負(fù)載是接收到用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求后獲取的;
所述比較單元,用于比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系;
所述第一處理單元,用于基于比較結(jié)果對所述第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果;
所述第一處理單元,還用于基于所述分組結(jié)果,從所述同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器;
所述第一發(fā)送單元,用于發(fā)送服務(wù)指令至所述目標(biāo)服務(wù)器;其中,所述服務(wù)指令用于指示所述目標(biāo)服務(wù)器為第一終端提供服務(wù)。
第四方面,提供一種負(fù)載均衡裝置,所述裝置包括:第二接收單元、第二獲取單元、計算單元和第二發(fā)送單元,其中:
所述第二接收單元,用于接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求;
所述第二獲取單元,用于響應(yīng)所述啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息;其中,所述當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率;
所述計算單元,用于計算所述當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例;其中,所述客戶端總數(shù)量為所述第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量;
所述計算單元,還用于計算所述當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例;其中,所述總收發(fā)包流量為所述第一同步服務(wù)器能夠提供的總收發(fā)包流量;
所述第二發(fā)送單元,用于發(fā)送所述第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器;其中,所述第一比例、第二比例和當(dāng)前cpu使用率是所述客戶端服務(wù)器用于確定目標(biāo)服務(wù)器的;所述目標(biāo)服務(wù)器是所述同步服務(wù)器集群中的至少一個第一同步服務(wù)器。
第五方面,提供一種客戶端服務(wù)器,所述服務(wù)器包括:第一通信接口和第一處理器,其中:
所述第一處理器,用于通過所述第一通信接口接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載;其中,所述負(fù)載是接收到用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求后獲取的;比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系;基于比較結(jié)果對所述第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果;基于所述分組結(jié)果,從所述同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器;通過所述第一通信接口發(fā)送服務(wù)指令至所述目標(biāo)服務(wù)器;其中,所述服務(wù)指令用于指示所述目標(biāo)服務(wù)器為第一終端提供服務(wù)。
第六方面,提供一種同步服務(wù)器,所述服務(wù)器包括:第二通信接口和第二處理器,其中:
所述第二處理器,用于通過所述第二通信接口接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求;響應(yīng)所述啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息;其中,所述當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率;計算所述當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例;其中,所述客戶端總數(shù)量為所述第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量;計算所述當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例;其中,所述總收發(fā)包流量為所述第一同步服務(wù)器能夠提供的總收發(fā)包流量;并通過所述第二通信接口發(fā)送所述第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器;其中,所述第一比例、第二比例和當(dāng)前cpu使用率是所述客戶端服務(wù)器用于確定目標(biāo)服務(wù)器的;所述目標(biāo)服務(wù)器是所述同步服務(wù)器集群中的至少一個第一同步服務(wù)器。
第七方面,提供一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)中存儲有一個或多個計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)第一方面或第二方面所述方法的步驟。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡方法、裝置、設(shè)備和計算機(jī)可讀存儲介質(zhì),接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載,比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器,其中服務(wù)指令用于指示目標(biāo)服務(wù)器為第一終端提供服務(wù);這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
附圖說明
圖1為本發(fā)明的實(shí)施例提供的一種負(fù)載均衡方法的流程示意圖;
圖2為本發(fā)明的實(shí)施例提供的另一種負(fù)載均衡方法的流程示意圖;
圖3為本發(fā)明的實(shí)施例提供的又一種負(fù)載均衡方法的流程示意圖;
圖4為本發(fā)明的另一實(shí)施例提供的一種負(fù)載均衡方法的流程示意圖;
圖5為本發(fā)明的另一實(shí)施例提供的另一種負(fù)載均衡方法的流程示意圖;
圖6為本發(fā)明的實(shí)施例提供的一種同步服務(wù)器和游戲服務(wù)器的交互過程示意圖;
圖7為本發(fā)明的實(shí)施例提供的一種負(fù)載均衡方法在實(shí)際應(yīng)用場景中的效果示意圖;
圖8為本發(fā)明的實(shí)施例提供的一種負(fù)載均衡裝置的結(jié)構(gòu)示意圖;
圖9為本發(fā)明的實(shí)施例提供的另一種負(fù)載均衡裝置的結(jié)構(gòu)示意圖;
圖10為本發(fā)明的實(shí)施例提供的一種客戶端服務(wù)器的結(jié)構(gòu)示意圖;
圖11為本發(fā)明的實(shí)施例提供的一種同步服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
本發(fā)明的實(shí)施例提供一種負(fù)載均衡方法,參照圖1所示,該方法包括以下步驟:
步驟101、接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載。
其中,負(fù)載是接收到用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求后獲取的。
在本發(fā)明的其它實(shí)施例中,步驟101接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載可以是由客戶端服務(wù)器來實(shí)現(xiàn)的;客戶端服務(wù)器可以是在用戶使用終端進(jìn)行互動游戲時,在后臺給終端提供各種服務(wù)的服務(wù)器;該客戶端服務(wù)器可以是一種提供游戲功能的游戲服務(wù)器??蛻舳朔?wù)在接收到第一同步服務(wù)器自身的負(fù)載后,可以了解第一同步服務(wù)器當(dāng)前的運(yùn)行情況。
步驟102、比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系。
其中,步驟102比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系可以是由客戶端服務(wù)器來實(shí)現(xiàn)的;客戶端服務(wù)器在接收到第一同步服務(wù)器發(fā)送的自身的負(fù)載后,可以通過比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值之間的關(guān)系來判斷第一同步服務(wù)器當(dāng)前的負(fù)載情況。第一預(yù)設(shè)比例閾值是根據(jù)第一同步服務(wù)器在實(shí)際應(yīng)用場景中的運(yùn)行結(jié)果,在保證能夠均衡負(fù)載的基礎(chǔ)上設(shè)置的。
步驟103、基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果。
其中,步驟103基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果可以是由客戶端服務(wù)器來實(shí)現(xiàn)的;客戶端服務(wù)器對第一同步服務(wù)器進(jìn)行分組的時候可以是根據(jù)第一同步服務(wù)器當(dāng)前的負(fù)載來實(shí)施的。
步驟104、基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器。
其中,步驟104基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器可以是由客戶端服務(wù)器來實(shí)現(xiàn)的;目標(biāo)服務(wù)器可以是為第一終端提供服務(wù)的服務(wù)器,第一同步服務(wù)器的分組結(jié)果是根據(jù)每一個第一同步服務(wù)器當(dāng)前的負(fù)載得到的;因此,可以根據(jù)最終得到的分組結(jié)果來確定目標(biāo)服務(wù)器。
步驟105、發(fā)送服務(wù)指令至目標(biāo)服務(wù)器。
其中,服務(wù)指令用于指示目標(biāo)服務(wù)器為第一終端提供服務(wù)。
在本發(fā)明的其它實(shí)施例中,步驟105發(fā)送服務(wù)指令至目標(biāo)服務(wù)器可以是由客戶端服務(wù)器來實(shí)現(xiàn)的;目標(biāo)服務(wù)器接收到客戶端服務(wù)器發(fā)送的服務(wù)指令后,可以在后臺給第一終端提供服務(wù);在一種可行的實(shí)現(xiàn)方案中,目標(biāo)服務(wù)器可以給開啟互動游戲應(yīng)用程序的第一終端提供服務(wù)。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡方法,接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載,比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器;這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種負(fù)載均衡方法,該方法包括以下步驟:
步驟201、接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求。
其中,步驟201接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求可以是由同步服務(wù)器來實(shí)現(xiàn)的。具有對戰(zhàn)功能的應(yīng)用可以是需要至少兩個終端聯(lián)機(jī)來實(shí)施的應(yīng)用程序,例如可以是需要至少兩個終端聯(lián)機(jī)進(jìn)行的游戲應(yīng)用程序。啟動請求可以是用戶點(diǎn)擊打開第一終端上的游戲應(yīng)用程序后,第一終端需要同步服務(wù)器提供服務(wù)時發(fā)送給同步服務(wù)器的。
步驟202、響應(yīng)啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息。
其中,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前中央處理器(centralprocessingunit,cpu)使用率。
在本發(fā)明的其它實(shí)施例中,步驟202響應(yīng)啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息可以是由同步服務(wù)器來實(shí)現(xiàn)的;同步服務(wù)器是以群組的方式來部署和給終端提供服務(wù)的,即同步服務(wù)器是以集群的方式存在的。當(dāng)前運(yùn)行信息可以表示第一同步服務(wù)器當(dāng)前的負(fù)載。
步驟203、計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例。
其中,客戶端總數(shù)量為第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量。
在本發(fā)明的其它實(shí)施例中,步驟203計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例可以是由同步服務(wù)器來實(shí)現(xiàn)的。
步驟204、計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例。
其中,總收發(fā)包流量為第一同步服務(wù)器能夠提供的總收發(fā)包流量。
在本發(fā)明的其它實(shí)施例中,步驟204計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例可以是由同步服務(wù)器來實(shí)現(xiàn)的。
步驟205、發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器。
其中,第一比例、第二比例和當(dāng)前cpu使用率是客戶端服務(wù)器用于確定目標(biāo)服務(wù)器的;目標(biāo)服務(wù)器是同步服務(wù)器集群中的至少一個第一同步服務(wù)器。
在本發(fā)明的其它實(shí)施例中,步驟205發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器可以是由同步服務(wù)器來實(shí)現(xiàn)的。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡方法,接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率,然后計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的第一比例,同時計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的第二比例,并發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器;目標(biāo)服務(wù)器是同步服務(wù)器集群中的至少一個服務(wù)器;這樣,客戶端服務(wù)器可以根據(jù)接收到自身的第一比例、第二比例和當(dāng)前cpu使用率確定目標(biāo)服務(wù)器,因此客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,可以根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行,充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種負(fù)載均衡方法,參照圖2所示,該方法包括以下步驟:
步驟301、同步服務(wù)器接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求。
步驟302、同步服務(wù)器響應(yīng)啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息。
其中,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率。
步驟303、同步服務(wù)器計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例。
其中,客戶端總數(shù)量為第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量。
在本發(fā)明的一種實(shí)現(xiàn)方式中,第一同步服務(wù)器當(dāng)前客戶端數(shù)量可以是第一同步服務(wù)器當(dāng)前正在使用的房間數(shù)量,第一同步服務(wù)器的客戶端總數(shù)量可以是第一同步服務(wù)器中包括的所有的房間數(shù)量;計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系可以是通過計算當(dāng)前正在使用的房間數(shù)量在所有房間數(shù)量中所占的比例來實(shí)現(xiàn)的。
步驟304、同步服務(wù)器計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例。
其中,總收發(fā)包流量為第一同步服務(wù)器能夠提供的總收發(fā)包流量。
步驟305、同步服務(wù)器發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器。
其中,獲取第一同步服務(wù)器當(dāng)前運(yùn)行信息、計算第一比例和第二比例可以是一旦第一同步服務(wù)器進(jìn)入工作狀態(tài)時就實(shí)施的;當(dāng)然,可以是在預(yù)設(shè)時間周期到來時獲取第一同步服務(wù)器當(dāng)前運(yùn)行信息、計算第一比例和第二比例的。一種可行的實(shí)時方式是,只要第一同步服務(wù)器獲取到自身的當(dāng)前cpu使用率、第一比例和第二比例后,就可以即時將得到的這些信息發(fā)送給客戶端服務(wù)器。
步驟306、客戶端服務(wù)器接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的第一比例、第二比例和當(dāng)前cpu的使用率。
步驟307、客戶端服務(wù)器比較第一同步服務(wù)器的第一比例、第二比例和當(dāng)前中央處理器cpu的使用率與第一預(yù)設(shè)比例閾值的關(guān)系。
其中,在一種可行的實(shí)現(xiàn)方式中,第一預(yù)設(shè)比例閾值可以是能夠保證第一同步服務(wù)器正常流暢運(yùn)行的第一同步服務(wù)器的負(fù)載值,例如第一預(yù)設(shè)比例閾值可以是80%。
步驟308、若第一比例、第二比例和當(dāng)前cpu的使用率中至少一個大于第一預(yù)設(shè)比例閾值,客戶端服務(wù)器將第一同步服務(wù)器劃分為第一組。
其中,如果第一同步服務(wù)器的第一比例、第二比例和當(dāng)前cpu的使用率中有一個數(shù)值大于第一預(yù)設(shè)比例閾值,說明當(dāng)前該第一同步服務(wù)器的負(fù)載過大,已不能保證其上業(yè)務(wù)的正常運(yùn)行了;此時,可以確定該第一同步服務(wù)器為負(fù)載較高的同步服務(wù)器。
步驟309、若第一比例、第二比例和當(dāng)前cpu的使用率均小于或者等于第一預(yù)設(shè)比例閾值,客戶端服務(wù)器將第一同步服務(wù)器劃分為第二組。
其中,第一組中的同步服務(wù)器的負(fù)載高于第二組。
如果第一同步服務(wù)器的第一比例、第二比例和當(dāng)前cpu的使用率的值均小于或等于第一預(yù)設(shè)比例閾值,說明當(dāng)前該第一同步服務(wù)器的負(fù)載不是很大,仍然可以保證其上業(yè)務(wù)的正常運(yùn)行;此時,可以確定該第一同步服務(wù)器為負(fù)載較低的同步服務(wù)器。
需要說明的是,步驟309之后可以選擇執(zhí)行步驟310或者步驟311-312;如果直接從第一組對應(yīng)的第一同步服務(wù)器中選擇目標(biāo)服務(wù)器,那么如圖2所示可以執(zhí)行步驟310;如果需要根據(jù)第一同步服務(wù)器的時間權(quán)重從第一組對應(yīng)的第一同步服務(wù)器中選擇目標(biāo)服務(wù)器,那么如圖3所示可以執(zhí)行步驟311-312。
步驟310、客戶端服務(wù)器從第一組對應(yīng)的第一同步服務(wù)器中,選擇任一第一同步服務(wù)器作為目標(biāo)服務(wù)器。
步驟311、客戶端服務(wù)器獲取第一同步服務(wù)器的時間權(quán)重。
其中,第一同步服務(wù)器的時間權(quán)重可以是根據(jù)第一同步服務(wù)器提供服務(wù)的時間來確定的。
步驟312、客戶端服務(wù)器基于時間權(quán)重,從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。
其中,步驟310和步驟312之后都需要執(zhí)行步驟313。
步驟313、客戶端服務(wù)器發(fā)送服務(wù)指令至目標(biāo)服務(wù)器。
其中,服務(wù)指令用于指示目標(biāo)服務(wù)器為第一終端提供服務(wù)。
需要說明的是,本實(shí)施例中與其他實(shí)施例中相同步驟或相關(guān)概念的解釋可以參照其他實(shí)施例中的描述,此處不再贅述。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡方法,接收到同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載后,比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器;這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種負(fù)載均衡方法,參照圖4所示,該方法包括以下步驟:
步驟401、同步服務(wù)器接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求。
步驟402、同步服務(wù)器響應(yīng)啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息。
其中,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率。
步驟403、同步服務(wù)器計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例。
其中,客戶端總數(shù)量為第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量。
步驟404、同步服務(wù)器計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例。
其中,總收發(fā)包流量為第一同步服務(wù)器能夠提供的總收發(fā)包流量。
步驟405、同步服務(wù)器發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器。
步驟406、客戶端服務(wù)器接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的第一比例、第二比例和當(dāng)前cpu的使用率。
步驟407、客戶端服務(wù)器比較第一同步服務(wù)器的第一比例、第二比例和當(dāng)前中央處理器cpu的使用率與所述預(yù)設(shè)比例閾值的關(guān)系。
步驟408、若第一比例、第二比例和當(dāng)前cpu的使用率中至少一個大于預(yù)設(shè)比例閾值,客戶端服務(wù)器將第一同步服務(wù)器劃分為第一組。
步驟409、若第一比例、第二比例和當(dāng)前cpu的使用率均小于或者等于預(yù)設(shè)比例閾值,客戶端服務(wù)器將第一同步服務(wù)器劃分為第二組。
其中,第一組中的同步服務(wù)器的負(fù)載高于第二組。
步驟410、客戶端服務(wù)器確定每一個第一同步服務(wù)器提供服務(wù)的服務(wù)時間。
其中,第一同步服務(wù)器為第一終端提供服務(wù)的服務(wù)時間可以指的是第一同步服務(wù)器為第三終端提供服務(wù)的結(jié)束時間。第三終端可以是第一同步服務(wù)器在當(dāng)前時刻之前的前一次提供過服務(wù)的終端。
步驟411、客戶端服務(wù)器基于服務(wù)時間,獲取每一個第一同步服務(wù)器的時間權(quán)重。
其中,客戶端服務(wù)器可以根據(jù)每一個第一同步服務(wù)器上一次為第三終端提供服務(wù)的結(jié)束時間到當(dāng)前時間之間的時間間隔的大小,來獲取第一同步服務(wù)器的時間權(quán)重;一種可行的實(shí)施方式是,可以按照從大到小的順序設(shè)置第一同步服務(wù)器的時間權(quán)重;時間間隔較大的同步服務(wù)器的時間權(quán)重較大。
步驟412、客戶端服務(wù)器基于時間權(quán)重的大小,按照預(yù)設(shè)排序規(guī)則將第一組對應(yīng)的第一同步服務(wù)器進(jìn)行排序。
其中,如果時間權(quán)重是按照從大到小的順序設(shè)置得到的,那么預(yù)設(shè)排序規(guī)則可以是從大小到小的順序。也就是說,可以按照時間權(quán)重的從大到小的順序?qū)⒌谝唤M對應(yīng)的第一同步服務(wù)器排序。
步驟413、客戶端服務(wù)器按照排列順序,依次從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。
其中,客戶端服務(wù)器在確定目標(biāo)服務(wù)器時,可以按照排列順序依次從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。即可以先選擇權(quán)重最大的第一同步服務(wù)器為目標(biāo)服務(wù)器,然后依次類推。
步驟414、客戶端服務(wù)器發(fā)送服務(wù)指令至目標(biāo)服務(wù)器。
其中,服務(wù)指令用于指示目標(biāo)服務(wù)器為第一終端提供服務(wù)。
基于前述實(shí)施例,參照圖5所示,在本發(fā)明的其他實(shí)施例中,該方法還包括以下步驟:
步驟415、客戶端服務(wù)器將同步服務(wù)器集群中未發(fā)送自身的負(fù)載的同步服務(wù)器確定為第二同步服務(wù)器。
步驟416、從確定第二同步服務(wù)器起,客戶端服務(wù)器判斷在預(yù)設(shè)時間內(nèi)是否接收到第二同步服務(wù)器的負(fù)載。
其中,預(yù)設(shè)時間可以是根據(jù)之前同步服務(wù)器為終端提供服務(wù)的場景預(yù)先設(shè)定的一個時間段;例如,預(yù)設(shè)時間可以是一分鐘。
步驟417、若未接收到第二同步服務(wù)器的負(fù)載,客戶端服務(wù)器停止發(fā)送服務(wù)指令至第二同步服務(wù)器。
其中,如果在預(yù)設(shè)時間內(nèi),客戶端服務(wù)器沒有接收到第二同步服務(wù)器發(fā)送的自身的負(fù)載,客戶端服務(wù)器認(rèn)為該第二同步服務(wù)器出現(xiàn)了故障(已失效);此時,客戶端服務(wù)器就不會再發(fā)送服務(wù)指令給該第二同步服務(wù)器。
步驟418、若重新接收到第二同步服務(wù)器發(fā)送的自身的負(fù)載,客戶端服務(wù)器執(zhí)行比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系的步驟。
其中,如果后續(xù)客戶端服務(wù)器又重新接收到第二同步服務(wù)器發(fā)送的自身的負(fù)載,那么客戶端服務(wù)器認(rèn)為該第二同步服務(wù)器恢復(fù)正常,此時繼續(xù)執(zhí)行分別比較該同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系的步驟。
以客戶端服務(wù)器為游戲服務(wù)器、第一預(yù)設(shè)比例閾值為80%為例,在本發(fā)明的一種可行的實(shí)現(xiàn)方式中,如圖6中所示同步服務(wù)器在獲取到自身的負(fù)載后,可以主動將獲取到的自身的負(fù)載發(fā)送給游戲服務(wù)器;游戲服務(wù)器在接收到同步服務(wù)器的自身負(fù)載后,可以根據(jù)同步服務(wù)器自身的負(fù)載采用預(yù)設(shè)的分配算法將同步服務(wù)器分組;如此,最終可以將同步服務(wù)器劃分為重分配池、輕分配池和無效池三種。其中,重分配池中的同步服務(wù)器的負(fù)載大于80%,輕分配池中的同步服務(wù)器的負(fù)載小于或等于80%,無效池中的同步服務(wù)器以失效。同時,游戲服務(wù)器可以根據(jù)同步服務(wù)器自身的負(fù)載情況給同步服務(wù)器分配服務(wù)任務(wù)。
需要說明的是,本實(shí)施例中與其他實(shí)施例中相同步驟或相關(guān)概念的解釋可以參照其他實(shí)施例中的描述,此處不再贅述。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡方法,接收到同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載后,比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器;這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例還提供一種負(fù)載均衡方法,該方法包括以下步驟:
步驟a、客戶端服務(wù)器獲取第二組同步服務(wù)器中自身負(fù)載大于第二預(yù)設(shè)比例閾值的第三同步服務(wù)器。
其中,第二預(yù)設(shè)比例閾值大于第一預(yù)設(shè)比例閾值。該第二預(yù)設(shè)比例閾值是能夠表明當(dāng)前同步服務(wù)器已經(jīng)接近其能夠承受的負(fù)載的一個極限數(shù)值;例如,第二預(yù)設(shè)比例閾值可以是95%。
步驟b、客戶端服務(wù)器確定第三同步服務(wù)器當(dāng)前對應(yīng)的第二終端。
其中,第二終端為第三同步服務(wù)器當(dāng)前為其提供服務(wù)的終端。
步驟c、客戶端服務(wù)器發(fā)送服務(wù)切換指令至第一組第一同步服務(wù)器中的任一第一同步服務(wù)器。
其中,服務(wù)切換指令用于指示第一組同步服務(wù)器中的任一同步服務(wù)器為第二終端提供服務(wù)。
在本發(fā)明的其它實(shí)施例中,當(dāng)?shù)诙M對應(yīng)的第一同步服務(wù)器中,第一同步服務(wù)器的負(fù)載大于95%時,客戶端服務(wù)器確定該第一同步服務(wù)器已不能正常的給終端提供服務(wù);此時,就需要指示第一組對應(yīng)的第一同步服務(wù)器為該第三終端提供服務(wù),即發(fā)送服務(wù)切換指令至第一組對應(yīng)的任一第一同步服務(wù)器。
基于前述實(shí)施例,以包括兩個第一終端:終端1和終端2,終端1和終端2的用戶正在使用對應(yīng)終端進(jìn)行飛機(jī)大戰(zhàn)的游戲為例進(jìn)行說明:游戲服務(wù)器在給終端1和終端2分配同步服務(wù)器的時候是采用本發(fā)明實(shí)施例中提供的負(fù)載均衡方法來進(jìn)行的,即為終端1和終端2提供服務(wù)的同步服務(wù)器的負(fù)載都是小于80%的。如圖7所示,當(dāng)終端1的玩家使用技能后可以在終端1的游戲界面上呈現(xiàn)圖7a中3的效果,與此同時如圖7b中所示終端2的游戲界面上也會顯示出4的效果;當(dāng)終端2的玩家使用技能后,如圖7b中所示終端2的游戲界面上可以呈現(xiàn)5的效果,同時7a中所示終端1的游戲界面上也會顯示出6的效果。說明終端1的玩家和終端2的玩家不論哪個玩家施加技能后,對方的終端的游戲界面上可以在對方施加技能的同時顯示相應(yīng)的技能效果。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種負(fù)載均衡裝置6,該裝置可以應(yīng)用于圖1~5對應(yīng)的實(shí)施例提供的一種負(fù)載均衡方法中,參照圖8所示,該裝置包括:第一接收單元61、比較單元62、第一處理單元63和第一發(fā)送單元64,其中:
第一接收單元61,用于接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載;
其中,負(fù)載是接收到用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求后獲取的。
比較單元62,用于比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系;
第一處理單元63,用于基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果;
第一處理單元63,還用于基于所述分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器;
第一發(fā)送單元64,用于發(fā)送服務(wù)指令至目標(biāo)服務(wù)器。
其中,服務(wù)指令用于指示目標(biāo)服務(wù)器為第一終端提供服務(wù)。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡裝置,同步服務(wù)器集群中的同步服務(wù)器獲取當(dāng)前自身的負(fù)載并發(fā)送至客戶端服務(wù)器,客戶端服務(wù)器接收到同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載后,比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器;這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
進(jìn)一步,比較單元,具體用于分別比較第一同步服務(wù)器的第一比例、第二比例和當(dāng)前cpu的使用率與預(yù)設(shè)比例閾值的關(guān)系。
其中,負(fù)載包括:第一比例、第二比例和當(dāng)前cpu的使用率;第一比例為當(dāng)前客戶端數(shù)量占客戶端總數(shù)量的比例,第二比例為當(dāng)前收發(fā)包流量占總收發(fā)包流量的比例。
處理單元,具體用于若第一比例、第二比例和當(dāng)前cpu的使用率中至少一個大于預(yù)設(shè)比例閾值,將第一同步服務(wù)器劃分為第一組。
處理單元,具體還用于若第一比例、第二比例和當(dāng)前cpu的使用率均小于或者等于預(yù)設(shè)比例閾值,將第一同步服務(wù)器劃分為第二組。
其中,第一組中的同步服務(wù)器的負(fù)載高于第二組。
第一處理單元,還用于從第一組對應(yīng)的第一同步服務(wù)器中,選擇任一第一同步服務(wù)器作為目標(biāo)服務(wù)器。
進(jìn)一步,該裝置還包括:第一獲取單元,其中:
第一獲取單元,用于獲取第一同步服務(wù)器的時間權(quán)重。
第一處理單元,還用于基于時間權(quán)重,從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。
在本發(fā)明的其他實(shí)施例中,第一獲取單元具體用于執(zhí)行以下步驟:
確定每一個第一同步服務(wù)器為第一終端提供服務(wù)的服務(wù)時間;
基于服務(wù)時間,獲取每一個第一同步服務(wù)器的時間權(quán)重。
在本發(fā)明的其他實(shí)施例中,第一處理單元具體用于執(zhí)行以下步驟:
基于時間權(quán)重的大小,按照預(yù)設(shè)排序規(guī)則將第一組對應(yīng)的第一同步服務(wù)器進(jìn)行排序;
按照排列順序,依次從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。
在本發(fā)明的其他實(shí)施例中,該裝置還包括:第二處理單元和判斷單元,其中:
第二處理單元,用于將所述同步服務(wù)器集群中未發(fā)送自身的負(fù)載的同步服務(wù)器確定為第二同步服務(wù)器;
判斷單元,用于從確定第二同步服務(wù)器起,判斷在預(yù)設(shè)時間內(nèi)是否接收到第二同步服務(wù)器的負(fù)載;
第二處理單元,還用于若未接收到第二同步服務(wù)器的負(fù)載,停止發(fā)送服務(wù)指令至第二同步服務(wù)器;
第二處理單元,還用于若接收到第二同步服務(wù)器發(fā)送的自身的負(fù)載,執(zhí)行比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系的步驟。
在本發(fā)明的其他實(shí)施例中,第二獲取單元,還用于獲取第二組同步服務(wù)器中自身負(fù)載大于第二預(yù)設(shè)比例閾值的第三同步服務(wù)器。
第一發(fā)送單元,還用于發(fā)送服務(wù)切換指令至第一組第一同步服務(wù)器中的任一第一同步服務(wù)器。
其中,服務(wù)切換指令用于指示第一組同步服務(wù)器中的任一同步服務(wù)器為第二終端提供服務(wù)。
需要說明的是,本實(shí)施例中各個單元和模塊之間的交互過程,可以參照圖1~5對應(yīng)的實(shí)施例提供的一種負(fù)載均衡方法中的交互過程,此處不再贅述。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡裝置,同步服務(wù)器集群中的同步服務(wù)器獲取當(dāng)前自身的負(fù)載并發(fā)送至客戶端服務(wù)器,客戶端服務(wù)器接收到同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載后,比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器;這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種負(fù)載均衡裝置7,該裝置可以應(yīng)用于圖2~5對應(yīng)的實(shí)施例提供的一種負(fù)載均衡方法中,參照圖9所示,該裝置包括:第二接收單元71、第二獲取單元72、計算單元73和第二發(fā)送單元74,其中:
第二接收單元71,用于接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求;
第二獲取單元72,用于響應(yīng)啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息;
其中,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率;
計算單元73,用于計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例;
其中,客戶端總數(shù)量為第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量;
計算單元73,還用于計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例;
其中,總收發(fā)包流量為第一同步服務(wù)器能夠提供的總收發(fā)包流量;
第二發(fā)送單元74,用于發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器。
其中,第一比例、第二比例和當(dāng)前cpu使用率是客戶端服務(wù)器用于確定目標(biāo)服務(wù)器的;目標(biāo)服務(wù)器是同步服務(wù)器集群中的至少一個第一同步服務(wù)器。
需要說明的是,本實(shí)施例中各個單元和模塊之間的交互過程,可以參照圖1~5對應(yīng)的實(shí)施例提供的一種負(fù)載均衡方法中的交互過程,此處不再贅述。
本發(fā)明的實(shí)施例所提供的負(fù)載均衡方法,接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率,然后計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的第一比例,同時計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的第二比例,并發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器;目標(biāo)服務(wù)器是同步服務(wù)器集群中的至少一個服務(wù)器;這樣,客戶端服務(wù)器可以根據(jù)接收到自身的第一比例、第二比例和當(dāng)前cpu使用率確定目標(biāo)服務(wù)器,因此客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,可以根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行,充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種客戶端服務(wù)器8,該服務(wù)器可以應(yīng)用于圖1~5對應(yīng)的實(shí)施例提供的負(fù)載均衡方法中,參照圖10所示,該客戶端服務(wù)器包括:第一通信接口81、第一處理器82和第一存儲器83,第一處理器82存在于處理組件84中,第一存儲器83中存儲有實(shí)現(xiàn)第一處理器的執(zhí)行步驟的程序代碼,其中:
第一通信接口81,用于接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載;
其中,負(fù)載是接收到用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求后獲取的;
第一處理器82,用于比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個第一同步服務(wù)器作為目標(biāo)服務(wù)器;
第一通信接口81,還用于發(fā)送服務(wù)指令至目標(biāo)服務(wù)器。
其中,服務(wù)指令用于指示目標(biāo)服務(wù)器為第一終端提供服務(wù)。
在本發(fā)明的其他實(shí)施例中,第一處理器還用于執(zhí)行以下步驟:
分別比較第一同步服務(wù)器的第一比例、第二比例和當(dāng)前中央處理器cpu的使用率與預(yù)設(shè)比例閾值的關(guān)系;
其中,負(fù)載包括:第一比例、第二比例和當(dāng)前cpu的使用率;第一比例為當(dāng)前客戶端數(shù)量占客戶端總數(shù)量的比例,第二比例為當(dāng)前收發(fā)包流量占總收發(fā)包流量的比例;
若第一比例、第二比例和當(dāng)前cpu的使用率中至少一個大于預(yù)設(shè)比例閾值,將第一同步服務(wù)器劃分為第一組;
若第一比例、第二比例和當(dāng)前cpu的使用率均小于或者等于預(yù)設(shè)比例閾值,將第一同步服務(wù)器劃分為第二組;
其中,第一組中的同步服務(wù)器的負(fù)載高于第二組。
在本發(fā)明的其他實(shí)施例中,第一處理器還用于從第一組對應(yīng)的第一同步服務(wù)器中,選擇任一第一同步服務(wù)器作為目標(biāo)服務(wù)器。
在本發(fā)明的其他實(shí)施例中,第一處理器還用于執(zhí)行以下步驟:
獲取第一同步服務(wù)器的時間權(quán)重;
基于時間權(quán)重,從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。
在本發(fā)明的其他實(shí)施例中,第一處理器具體用于執(zhí)行以下步驟:
確定每一個第一同步服務(wù)器為第一終端提供服務(wù)的服務(wù)時間;
基于服務(wù)時間,獲取每一個第一同步服務(wù)器的時間權(quán)重;
基于時間權(quán)重的大小,按照預(yù)設(shè)排序規(guī)則將第一組對應(yīng)的第一同步服務(wù)器進(jìn)行排序;
按照排列順序,依次從第一組對應(yīng)的第一同步服務(wù)器中確定目標(biāo)服務(wù)器。
在本發(fā)明的其他實(shí)施例中,第一處理器還用于執(zhí)行以下步驟:
將同步服務(wù)器集群中未發(fā)送自身的負(fù)載的同步服務(wù)器確定為第二同步服務(wù)器;
從確定第二同步服務(wù)器起,判斷在預(yù)設(shè)時間內(nèi)是否接收到第二同步服務(wù)器的負(fù)載;
若未接收到第二同步服務(wù)器的負(fù)載,停止發(fā)送服務(wù)指令至第二同步服務(wù)器;
若重新接收到第二同步服務(wù)器發(fā)送的自身的負(fù)載,執(zhí)行分別比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系的步驟。
在本發(fā)明的其他實(shí)施例中,第一處理器還用于執(zhí)行以下步驟:
獲取第二組同步服務(wù)器中自身負(fù)載大于第二預(yù)設(shè)比例閾值的第三同步服務(wù)器;
確定第三同步服務(wù)器當(dāng)前對應(yīng)的第二終端。
第一通信接口,還用于發(fā)送服務(wù)切換指令至第一組第一同步服務(wù)器中的任一第一同步服務(wù)器。
其中,服務(wù)切換指令用于指示第一組同步服務(wù)器中的任一同步服務(wù)器為第二終端提供服務(wù)。
需要說明的是,本實(shí)施例中各個器件之間的交互過程,可以參照圖1~5對應(yīng)的實(shí)施例提供的負(fù)載均衡方法中的交互過程,此處不再贅述。
本發(fā)明的實(shí)施例所提供的客戶端服務(wù)器,客戶端服務(wù)器接收同步服務(wù)器集群中的多個第一同步服務(wù)器各自發(fā)送的自身的負(fù)載,分別比較第一同步服務(wù)器的負(fù)載與第一預(yù)設(shè)比例閾值的關(guān)系,并基于比較結(jié)果對第一同步服務(wù)器進(jìn)行分組,得到分組結(jié)果,然后基于分組結(jié)果,從同步服務(wù)器集群中確定至少一個服務(wù)器為目標(biāo)服務(wù)器,并發(fā)送服務(wù)指令至目標(biāo)服務(wù)器;這樣,客戶端服務(wù)器在給終端分配同步服務(wù)器的時候,是根據(jù)每一個同步服務(wù)器當(dāng)前的負(fù)載來進(jìn)行的,即充分考慮了同步服務(wù)器當(dāng)前的負(fù)載情況,解決了現(xiàn)有技術(shù)中存在的方服務(wù)器的負(fù)載過大時仍然需要給終端提供服務(wù)的問題,降低了終端的操作的時延,保證交互雙方的操作可以實(shí)時進(jìn)行。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種同步服務(wù)器9,該同步服務(wù)器可以應(yīng)用于圖2~5對應(yīng)的實(shí)施例提供的一種負(fù)載均衡方法中,參照圖11所示,該同步服務(wù)器包括:第二通信接口91、第二處理器92和第二存儲器93,第二處理器92存在于處理組件94中,第二存儲器93中存儲有實(shí)現(xiàn)第二處理器的執(zhí)行步驟的程序代碼,其中:
第二通信接口91,用于接收第一終端發(fā)送的用于開啟具有對戰(zhàn)功能應(yīng)用的啟動請求;
第二處理器92,用于響應(yīng)啟動請求,獲取同步服務(wù)器集群中第一同步服務(wù)器當(dāng)前運(yùn)行信息;其中,當(dāng)前運(yùn)行信息包括:當(dāng)前客戶端數(shù)量、當(dāng)前收發(fā)包流量和當(dāng)前cpu使用率;計算當(dāng)前客戶端數(shù)量與客戶端總數(shù)量的比例關(guān)系,得到第一比例;其中,客戶端總數(shù)量為第一同步服務(wù)器能夠提供服務(wù)的客戶端的總數(shù)量;計算當(dāng)前收發(fā)包流量與總收發(fā)包流量的比例關(guān)系,得到第二比例;其中,總收發(fā)包流量為第一同步服務(wù)器能夠提供的總收發(fā)包流量;
第二通信接口91,還用于發(fā)送第一比例、第二比例和當(dāng)前cpu使用率至客戶端服務(wù)器;
其中,第一比例、第二比例和當(dāng)前cpu使用率是客戶端服務(wù)器用于確定目標(biāo)服務(wù)器的;目標(biāo)服務(wù)器是同步服務(wù)器集群中的至少一個第一同步服務(wù)器。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)中存儲有一個或多個計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)圖1~5對應(yīng)的實(shí)施例提供的一種負(fù)載均衡方法中的步驟。
基于前述實(shí)施例,本發(fā)明的實(shí)施例提供一種負(fù)載均衡系統(tǒng),該系統(tǒng)可以包括:第一終端a、第二終端b、同步服務(wù)器c、客戶端服務(wù)器d和目標(biāo)服務(wù)器e,其中:
同步服務(wù)器c為圖9或11對應(yīng)的實(shí)施例提供的一種同步服務(wù)器,客戶端服務(wù)器d為圖8或10對應(yīng)的實(shí)施例提供的一種客戶端服務(wù)器,目標(biāo)服務(wù)器e為同步服務(wù)器集群中的至少一個服務(wù)器。
在實(shí)際應(yīng)用中,所述第一接收單元61、比較單元62、第一處理單元63、第一發(fā)送單元64、第一獲取單元、第二處理單元、判斷單元、第二接收單元71、第二獲取單元72、計算單元73和第二發(fā)送單元74均可由位于無線數(shù)據(jù)發(fā)送設(shè)備中的中央處理器(centralprocessingunit,cpu)、微處理器(microprocessorunit,mpu)、數(shù)字信號處理器(digitalsignalprocessor,dsp)或現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga)等實(shí)現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。