本發(fā)明涉及一種數(shù)據(jù)交互領(lǐng)域,尤其涉及一種負(fù)載均衡方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,客戶端與服務(wù)器之間數(shù)據(jù)交互量也日趨增多,通過部署服務(wù)器集群可以有效提高網(wǎng)絡(luò)服務(wù)的效率。現(xiàn)有在網(wǎng)絡(luò)集群中通常會(huì)設(shè)置負(fù)載均衡設(shè)備,用來將客戶端的數(shù)據(jù)包根據(jù)負(fù)載均衡算法分配到同一集群中的各個(gè)服務(wù)器中。一般情況下,客戶端發(fā)起一次業(yè)務(wù)處理流程,例如一次交易流程通常需要與服務(wù)器進(jìn)行多次數(shù)據(jù)交互,例如一次交易流程中可能會(huì)涉及到輸入登錄密碼、輸入金額、輸入支付密碼等等多次交互。
然而,采用現(xiàn)有的負(fù)載均衡算法,負(fù)載均衡設(shè)備可能會(huì)將同一客戶端的一次業(yè)務(wù)處理流程中發(fā)起的多次數(shù)據(jù)交互分配給不同的服務(wù)器,從而導(dǎo)致該客戶端的業(yè)務(wù)處理流程中斷,例如在客戶端發(fā)送登錄請(qǐng)求時(shí),負(fù)載均衡設(shè)備為該客戶端分配服務(wù)器A來處理登錄請(qǐng)求,服務(wù)器A驗(yàn)證該客戶端的登錄請(qǐng)求并通過后發(fā)送登錄成功響應(yīng)給客戶端,接著客戶端發(fā)送支付請(qǐng)求,此時(shí),采用現(xiàn)有負(fù)載均衡算法負(fù)載均衡設(shè)備可能分配服務(wù)器B來處理支付請(qǐng)求,由于服務(wù)器B沒有對(duì)客戶端的登錄請(qǐng)求進(jìn)行過驗(yàn)證,此時(shí)服務(wù)器B可能會(huì)向客戶端返回需要重新進(jìn)行登錄的響應(yīng),從而導(dǎo)致客戶端本次的交易流程異常中斷。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在解決上述問題。
本發(fā)明的主要目的在于提供一種負(fù)載均衡方法;
本發(fā)明的另一目的在于提供一種負(fù)載均衡系統(tǒng)。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的:
本發(fā)明一方面提供了一種負(fù)載均衡方法,包括:負(fù)載均衡設(shè)備接收客戶端發(fā)送的第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端的IP、目的IP為所述負(fù)載均衡設(shè)備的虛擬IP;所述負(fù)載均衡設(shè)備根據(jù)客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP,所述目標(biāo)服務(wù)器的虛擬IP與所述負(fù)載均衡設(shè)備的虛擬IP相同;所述負(fù)載均衡設(shè)備對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭為源IP為所述負(fù)載均衡設(shè)備的IP、目的IP為所述目標(biāo)服務(wù)器的IP;所述負(fù)載均衡設(shè)備按照所述新IP頭向所述目標(biāo)服務(wù)器發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;所述目標(biāo)服務(wù)器接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù);所述目標(biāo)服務(wù)器基于所述響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述客戶端發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭為源IP為所述目標(biāo)服務(wù)器的虛擬IP、目的IP為所述客戶端的IP。
本發(fā)明一方面還提供一種負(fù)載均衡方法,包括:前置負(fù)載均衡設(shè)備接收客戶端發(fā)送的原始請(qǐng)求數(shù)據(jù)包,所述原始請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端的IP、目的IP為所述前置負(fù)載均衡設(shè)備的IP;所述前置負(fù)載均衡設(shè)備基于所述原始請(qǐng)求數(shù)據(jù)包生成第一請(qǐng)求數(shù)據(jù)包,并根據(jù)所述客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的負(fù)載均衡設(shè)備,并向所述負(fù)載均衡設(shè)備發(fā)送所述第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述前置負(fù)載均衡設(shè)備的IP、目的IP為所述負(fù)載均衡設(shè)備的虛擬IP;所述負(fù)載均衡設(shè)備接收所述第一請(qǐng)求數(shù)據(jù)包;所述負(fù)載均衡設(shè)備根據(jù)客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP,所述目標(biāo)服務(wù)器的虛擬IP與所述負(fù)載均衡設(shè)備的虛擬IP相同;所述負(fù)載均衡設(shè)備對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭中源IP為所述負(fù)載均衡設(shè)備的IP、目的IP為所述目標(biāo)服務(wù)器的IP;所述負(fù)載均衡設(shè)備按照所述新IP頭向所述目標(biāo)服務(wù)器發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;所述目標(biāo)服務(wù)器接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù);所述目標(biāo)服務(wù)器基于所述響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述前置負(fù)載均衡設(shè)備發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭中源IP為所述目標(biāo)服務(wù)器的虛擬IP、目的IP為所述前置負(fù)載均衡設(shè)備的IP;所述前置負(fù)載均衡設(shè)備接收所述響應(yīng)數(shù)據(jù)包,并按照轉(zhuǎn)發(fā)IP頭向所述客戶端轉(zhuǎn)發(fā)所述響應(yīng)數(shù)據(jù)包,所述轉(zhuǎn)發(fā)IP頭中源IP為所述前置負(fù)載均衡設(shè)備的IP、目的IP為所述客戶端的IP。
其中,所述負(fù)載均衡設(shè)備確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP包括:所述負(fù)載均衡設(shè)備在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中查找是否與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器;若未查找到,則所述負(fù)載均衡設(shè)備為所述客戶端分配目標(biāo)服務(wù)器,獲取所述目標(biāo)服務(wù)器的IP,并記錄所述客戶端的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器的IP的對(duì)應(yīng)關(guān)系;若查找到,則所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的IP。
其中,所述負(fù)載均衡設(shè)備為所述客戶端分配目標(biāo)服務(wù)器,包括:所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的可用連接數(shù);根據(jù)所述目標(biāo)服務(wù)器的可用連接數(shù)為所述客戶端分配目標(biāo)服務(wù)器。
其中,還包括:所述負(fù)載均衡設(shè)備更新所述目標(biāo)服務(wù)器的可用連接數(shù);所述負(fù)載均衡設(shè)備更新所述目標(biāo)服務(wù)器的可用連接數(shù)包括:所述負(fù)載均衡設(shè)備在為所述客戶端分配目標(biāo)服務(wù)器之后,更新所述目標(biāo)服務(wù)器的可用連接數(shù);或者,所述負(fù)載均衡設(shè)備接收所述目標(biāo)服務(wù)器發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);或者,所述負(fù)載均衡設(shè)備接收所述客戶端發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);或者,所述負(fù)載均衡設(shè)備定期向所述目標(biāo)服務(wù)器發(fā)送狀態(tài)查詢請(qǐng)求,接收所述目標(biāo)服務(wù)器發(fā)送的最新可用連接數(shù),使用所述最新可用連接數(shù)更新所述目標(biāo)服務(wù)器的可用連接數(shù)。
其中,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的IP地址和端口號(hào);或者,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的MAC地址;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的IP地址和端口號(hào)進(jìn)行不可逆運(yùn)算得到的數(shù)值;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的MAC地址進(jìn)行不可逆運(yùn)算得到的數(shù)值。
本發(fā)明另一方面提供一種負(fù)載均衡系統(tǒng),包括:負(fù)載均衡設(shè)備,用于接收客戶端發(fā)送的第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端的IP、目的IP為所述負(fù)載均衡設(shè)備的虛擬IP,并用于根據(jù)客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP,所述目標(biāo)服務(wù)器的虛擬IP與所述負(fù)載均衡設(shè)備的虛擬IP相同;還用于對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭為源IP為所述負(fù)載均衡設(shè)備的IP、目的IP為所述目標(biāo)服務(wù)器的IP;以及還用于按照所述新IP頭向所述目標(biāo)服務(wù)器發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;所述目標(biāo)服務(wù)器,用于接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù),以及基于所述響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述客戶端發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭為源IP為所述目標(biāo)服務(wù)器的虛擬IP、目的IP為所述客戶端的IP。
本發(fā)明另一方面還提供一種負(fù)載均衡系統(tǒng),包括:前置負(fù)載均衡設(shè)備,用于接收客戶端發(fā)送的原始請(qǐng)求數(shù)據(jù)包,所述原始請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端的IP、目的IP為所述前置負(fù)載均衡設(shè)備的IP;以及基于所述原始請(qǐng)求數(shù)據(jù)包生成第一請(qǐng)求數(shù)據(jù)包,并根據(jù)所述客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的負(fù)載均衡設(shè)備,并向所述負(fù)載均衡設(shè)備發(fā)送所述第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述前置負(fù)載均衡設(shè)備的IP、目的IP為所述負(fù)載均衡設(shè)備的虛擬IP;所述負(fù)載均衡設(shè)備,用于接收所述第一請(qǐng)求數(shù)據(jù)包;并根據(jù)客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP,所述目標(biāo)服務(wù)器的虛擬IP與所述負(fù)載均衡設(shè)備的虛擬IP相同;還用于對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭中源IP為所述負(fù)載均衡設(shè)備的IP、目的IP為所述目標(biāo)服務(wù)器的IP;以及還用于按照所述新IP頭向所述目標(biāo)服務(wù)器發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;所述目標(biāo)服務(wù)器,用于接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù);并基于所述響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述前置負(fù)載均衡設(shè)備發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭中源IP為所述目標(biāo)服務(wù)器的虛擬IP、目的IP為所述前置負(fù)載均衡設(shè)備的IP;所述前置負(fù)載均衡設(shè)備,還用于接收所述響應(yīng)數(shù)據(jù)包,并按照轉(zhuǎn)發(fā)IP頭向所述客戶端轉(zhuǎn)發(fā)所述響應(yīng)數(shù)據(jù)包,所述轉(zhuǎn)發(fā)IP頭中源IP為所述前置負(fù)載均衡設(shè)備的IP、目的IP為所述客戶端的IP。
其中,所述負(fù)載均衡設(shè)備,具體用于查找是否與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器;所述負(fù)載均衡設(shè)備,具體還用于若未查找到,則為所述客戶端分配目標(biāo)服務(wù)器,獲取所述目標(biāo)服務(wù)器的IP,并記錄所述客戶端的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器的IP的對(duì)應(yīng)關(guān)系;所述負(fù)載均衡設(shè)備,具體還用于若查找到,則所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的IP。
其中,所述負(fù)載均衡設(shè)備,具體用于獲取所述目標(biāo)服務(wù)器的可用連接數(shù);并根據(jù)所述目標(biāo)服務(wù)器的可用連接數(shù)為所述客戶端分配目標(biāo)服務(wù)器。
其中,所述負(fù)載均衡設(shè)備,還用于更新所述目標(biāo)服務(wù)器的可用連接數(shù);所述負(fù)載均衡設(shè)備,具體用于在為所述客戶端分配目標(biāo)服務(wù)器之后,更新所述目標(biāo)服務(wù)器的可用連接數(shù);或者,所述負(fù)載均衡設(shè)備,具體用于接收所述目標(biāo)服務(wù)器發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);或者,所述負(fù)載均衡設(shè)備,具體用于接收所述客戶端發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);或者,所述負(fù)載均衡設(shè)備,具體用于定期向所述目標(biāo)服務(wù)器發(fā)送狀態(tài)查詢請(qǐng)求,接收所述目標(biāo)服務(wù)器發(fā)送的最新可用連接數(shù),使用所述最新可用連接數(shù)更新所述目標(biāo)服務(wù)器的可用連接數(shù)。
其中,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的IP地址和端口號(hào);或者,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的MAC地址;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的IP地址和端口號(hào)進(jìn)行不可逆運(yùn)算得到的數(shù)值;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的MAC地址進(jìn)行不可逆運(yùn)算得到的數(shù)值。
采用本發(fā)明提供的技術(shù)方案,在客戶端的一次業(yè)務(wù)處理流程中,負(fù)載均衡設(shè)備接收到客戶端的請(qǐng)求數(shù)據(jù)包后,按照該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為該客戶端確定同一個(gè)目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實(shí)施例1提供的負(fù)載均衡方法的流程圖;
圖2為本發(fā)明實(shí)施例1提供的負(fù)載均衡系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例2提供的負(fù)載均衡方法的流程圖;
圖4為本發(fā)明實(shí)施例2提供的負(fù)載均衡系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或數(shù)量或位置。
在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
本實(shí)施例中,負(fù)載均衡設(shè)備連接至一個(gè)或多個(gè)服務(wù)器,負(fù)載均衡設(shè)備與該一個(gè)或多個(gè)服務(wù)器屬于同一網(wǎng)絡(luò)集群,具有相同的虛擬IP(Internet Protocol、網(wǎng)絡(luò)之間互連的協(xié)議)地址。該負(fù)載均衡設(shè)備在接收到客戶端發(fā)送的數(shù)據(jù)包時(shí),采用本發(fā)明的負(fù)載均衡方法從多個(gè)服務(wù)器中確定與客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并將來自客戶端的數(shù)據(jù)包發(fā)送至目標(biāo)服務(wù)器。
本實(shí)施例提供一種負(fù)載均衡方法,如圖1所示,該方法包括如下步驟:
101、負(fù)載均衡設(shè)備接收客戶端發(fā)送的第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端的IP、目的IP為所述負(fù)載均衡設(shè)備的虛擬IP;
其中,該客戶端可以是讀卡器、手機(jī)、個(gè)人電腦、電子簽名設(shè)備、智能手環(huán)等具有網(wǎng)絡(luò)通信功能的設(shè)備。
客戶端與所述負(fù)載均衡設(shè)備可以處于同一局域網(wǎng),也可以處于不同的網(wǎng)絡(luò)環(huán)境中。可以理解的是,當(dāng)客戶端與負(fù)載均衡設(shè)備處于不同網(wǎng)絡(luò)環(huán)境中,客戶端與負(fù)載均衡設(shè)備需要借助網(wǎng)關(guān)、路由器等網(wǎng)絡(luò)中轉(zhuǎn)設(shè)備進(jìn)行數(shù)據(jù)交互。
102、所述負(fù)載均衡設(shè)備根據(jù)客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP,所述目標(biāo)服務(wù)器的虛擬IP與所述負(fù)載均衡設(shè)備的虛擬IP相同;
其中,目標(biāo)服務(wù)器可以對(duì)客戶端發(fā)送的數(shù)據(jù)進(jìn)行處理的設(shè)備。例如,客戶端為身份證讀卡器時(shí),客戶端向目標(biāo)服務(wù)器發(fā)送身份證讀取請(qǐng)求時(shí),目標(biāo)服務(wù)器可以對(duì)該身份證讀取請(qǐng)求進(jìn)行處理響應(yīng),以返回相應(yīng)的身份證信息。
客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以為客戶端的唯一標(biāo)識(shí)信息與服務(wù)器的IP的對(duì)應(yīng)關(guān)系。該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以采用列表的形式存儲(chǔ)在負(fù)載均衡設(shè)備上。
由于客戶端與目標(biāo)服務(wù)器在進(jìn)行一次業(yè)務(wù)處理流程(例如一次交易流程)中可能存在多次數(shù)據(jù)交互,負(fù)載均衡設(shè)備通過該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為同一客戶端確定相同的目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。
103、所述負(fù)載均衡設(shè)備對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭為源IP為所述負(fù)載均衡設(shè)備的IP、目的IP為所述目標(biāo)服務(wù)器的IP;
其中,由于該負(fù)載均衡設(shè)備和目標(biāo)服務(wù)器屬于同一網(wǎng)絡(luò)集群,該負(fù)載均衡設(shè)備的IP可以為負(fù)載均衡設(shè)備在該集群內(nèi)局域網(wǎng)的IP,該目標(biāo)服務(wù)器的IP可以是該目標(biāo)服務(wù)器在該集群內(nèi)局域網(wǎng)的IP。
負(fù)載均衡設(shè)備采用IP封裝技術(shù)對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包后,該第二請(qǐng)求數(shù)據(jù)包將具備兩個(gè)IP頭,其中一個(gè)為新IP頭,用于指示負(fù)載均衡設(shè)備按照新IP頭中的目的IP進(jìn)行數(shù)據(jù)發(fā)送,另一個(gè)為第一請(qǐng)求數(shù)據(jù)包的IP頭,該IP頭用于指示目標(biāo)服務(wù)器處理完數(shù)據(jù)后,發(fā)送響應(yīng)數(shù)據(jù)包時(shí)將該IP頭中的源IP作為目的IP進(jìn)行數(shù)據(jù)返回。
104、所述負(fù)載均衡設(shè)備按照所述新IP頭向所述目標(biāo)服務(wù)器發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;
105、所述目標(biāo)服務(wù)器接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù);
目標(biāo)服務(wù)器接收到第二請(qǐng)求數(shù)據(jù)包后,由于新IP頭中目的IP與自身IP匹配,則會(huì)執(zhí)行IP解封裝操作,以獲得第一請(qǐng)求數(shù)據(jù)包,而第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP為所述負(fù)載均衡設(shè)備的虛擬IP,而負(fù)載均衡設(shè)備的虛擬IP和目標(biāo)服務(wù)器的虛擬IP相同,目標(biāo)服務(wù)器也會(huì)確定該第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP與自身IP匹配,則會(huì)對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù)。
本實(shí)施例中,若負(fù)載均衡設(shè)備的虛擬IP和目標(biāo)服務(wù)器的虛擬IP不相同,則目標(biāo)服務(wù)器獲得第一請(qǐng)求數(shù)據(jù)包后,由于第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP為所述負(fù)載均衡設(shè)備的虛擬IP,目標(biāo)服務(wù)器會(huì)判定該第一請(qǐng)求數(shù)據(jù)包的目的IP與目標(biāo)服務(wù)器自身的IP不同,因而,目標(biāo)服務(wù)器不會(huì)對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,從而導(dǎo)致客戶端與目標(biāo)服務(wù)器的數(shù)據(jù)交互出現(xiàn)異常。可見,本實(shí)施例中,將負(fù)載均衡設(shè)備的虛擬IP和目標(biāo)服務(wù)器的虛擬IP設(shè)置為相同的虛擬IP,可以保證目標(biāo)服務(wù)器接收到第二請(qǐng)求數(shù)據(jù)包并進(jìn)行IP解封裝后,對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行正常處理。
106、所述目標(biāo)服務(wù)器基于所述響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述客戶端發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭為源IP為所述目標(biāo)服務(wù)器的虛擬IP、目的IP為所述客戶端的IP。
采用本實(shí)施例提供的負(fù)載均衡方法,一方面,在客戶端的一次業(yè)務(wù)處理流程中,負(fù)載均衡設(shè)備接收到客戶端的請(qǐng)求數(shù)據(jù)包后,按照該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為該客戶端確定同一個(gè)目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。另一方面,負(fù)載均衡設(shè)備接收到請(qǐng)求數(shù)據(jù)包后,采用IP封裝技術(shù)對(duì)請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝后發(fā)送給目標(biāo)服務(wù)器,目標(biāo)服務(wù)器采用IP解封裝技術(shù)還原出請(qǐng)求數(shù)據(jù)包,處理后,直接向客戶端發(fā)送該響應(yīng)數(shù)據(jù)包,而不會(huì)再通過負(fù)載均衡設(shè)備,減少了負(fù)載均衡設(shè)備的數(shù)據(jù)處理量,提高負(fù)載均衡設(shè)備處理請(qǐng)求數(shù)據(jù)包的處理能力。
由于負(fù)載均衡設(shè)備與服務(wù)器屬于同一集群,當(dāng)客戶端與負(fù)載均衡設(shè)備采用TCP/IP協(xié)議(Transmission Control Protocol/Internet Protocol、傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議)進(jìn)行數(shù)據(jù)通信時(shí),為避免客戶端向負(fù)載均衡設(shè)備發(fā)送的請(qǐng)求數(shù)據(jù)包也被各個(gè)服務(wù)器直接接收到,本實(shí)施例中,在客戶端向負(fù)載均衡設(shè)備發(fā)送第一請(qǐng)求數(shù)據(jù)包之前,可以配置各個(gè)服務(wù)器對(duì)接收到的MAC(Media Access Control、媒體訪問控制)查詢請(qǐng)求不進(jìn)行MAC響應(yīng),例如,同一集群中的各個(gè)服務(wù)器接收MAC響應(yīng)關(guān)閉指示信息,所述MAC響應(yīng)關(guān)閉指示信息用于指示所述目標(biāo)服務(wù)器對(duì)接收到的MAC查詢請(qǐng)求不進(jìn)行響應(yīng)處理。而,同一集群中的負(fù)載均衡設(shè)備仍會(huì)正常對(duì)接收到的MAC請(qǐng)求進(jìn)行響應(yīng)。因而,當(dāng)客戶端發(fā)送MAC查詢請(qǐng)求時(shí),同一集群中的負(fù)載均衡設(shè)備正常進(jìn)行MAC響應(yīng),也就是將自身的MAC地址返回給客戶端,后續(xù)客戶端可以與該負(fù)載均衡設(shè)備進(jìn)行正常的數(shù)據(jù)交互。而,同一集群中的各個(gè)服務(wù)器由于不會(huì)進(jìn)行MAC響應(yīng),因而客戶端也無法收到各個(gè)服務(wù)器的MAC地址,后續(xù)客戶端也無法直接向各個(gè)服務(wù)器直接發(fā)送請(qǐng)求數(shù)據(jù)包。
在本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP具體實(shí)現(xiàn)如下:所述負(fù)載均衡設(shè)備在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中查找是否與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器;若未查找到,說明負(fù)載均衡設(shè)備之前并沒有記錄該客戶端與服務(wù)器的對(duì)應(yīng)關(guān)系,例如首次給該客戶端分配服務(wù)器時(shí),則所述負(fù)載均衡設(shè)備為所述客戶端分配目標(biāo)服務(wù)器,獲取所述目標(biāo)服務(wù)器的IP,并記錄所述客戶端的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器的IP的對(duì)應(yīng)關(guān)系;若查找到,說明負(fù)載均衡設(shè)備已經(jīng)為該客戶端分配過服務(wù)器,并記錄在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中,為保證該客戶端業(yè)務(wù)處理流程的連續(xù)性,繼續(xù)為該客戶端分配同一服務(wù)器,則所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的IP。
本實(shí)施例中,屬于同一集群中的負(fù)載均衡設(shè)備和服務(wù)器,負(fù)載均衡設(shè)備獲取服務(wù)器的IP可以通過如下方式實(shí)現(xiàn):例如,在負(fù)載均衡設(shè)備中預(yù)先配置各個(gè)服務(wù)器的IP,適用于服務(wù)器的IP為固定IP的場(chǎng)景;又如,負(fù)載均衡設(shè)備向服務(wù)器發(fā)送IP地址獲取請(qǐng)求,接收服務(wù)器發(fā)送的服務(wù)器的IP,可以適用于服務(wù)器的IP為固定IP的場(chǎng)景,也可以適用于服務(wù)器的IP為動(dòng)態(tài)IP的場(chǎng)景。
本實(shí)施例中,在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中記錄的是所述客戶端的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器的IP的對(duì)應(yīng)關(guān)系,其中,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的IP地址和端口號(hào);客戶端在發(fā)送第一請(qǐng)求數(shù)據(jù)包時(shí),在該第一請(qǐng)求數(shù)據(jù)包中攜帶IP地址和端口號(hào),負(fù)載均衡設(shè)備可以從該第一請(qǐng)求數(shù)據(jù)包中獲得該IP地址和端口號(hào),并使用該IP地址和端口號(hào)唯一表示客戶端;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的MAC地址;客戶端可以通過MAC響應(yīng)向負(fù)載均衡設(shè)備發(fā)送客戶端的MAC地址,負(fù)載均衡設(shè)備可以從MAC響應(yīng)中獲得該客戶端的MAC地址;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的IP地址和端口號(hào)進(jìn)行不可逆運(yùn)算得到的數(shù)值;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的MAC地址進(jìn)行不可逆運(yùn)算得到的數(shù)值。不可逆運(yùn)算例如可以是哈希運(yùn)算,當(dāng)然也可以為其他的不可逆運(yùn)算,只要保證不同的數(shù)據(jù)經(jīng)過不可逆運(yùn)算后得到的數(shù)值互不相同即可。客戶端的唯一標(biāo)識(shí)信息采用不可逆運(yùn)算得到的數(shù)值進(jìn)行存儲(chǔ)時(shí),可以減少存儲(chǔ)的數(shù)據(jù)量,另一方面由于不可逆運(yùn)算獲得的數(shù)值具有不可逆性,可以增加數(shù)據(jù)存儲(chǔ)的安全性。
在本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備為所述客戶端分配目標(biāo)服務(wù)器的實(shí)現(xiàn)方式如下:所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的可用連接數(shù);根據(jù)所述目標(biāo)服務(wù)器的可用連接數(shù)為所述客戶端分配目標(biāo)服務(wù)器。具體應(yīng)用時(shí),負(fù)載均衡設(shè)備可以維護(hù)并實(shí)時(shí)更新服務(wù)器狀態(tài)表,該狀態(tài)表中記載有各個(gè)服務(wù)器的實(shí)時(shí)狀態(tài),該各個(gè)服務(wù)器與負(fù)載均衡設(shè)備屬于同一網(wǎng)絡(luò)集群。初始時(shí),負(fù)載均衡設(shè)備獲取各個(gè)服務(wù)器的狀態(tài),該狀態(tài)可以是各個(gè)服務(wù)器可用連接數(shù),該可用連接數(shù)初始值可以為該服務(wù)器支持的最大可用連接數(shù)。本實(shí)施例中,服務(wù)器與一個(gè)客戶端進(jìn)行一次業(yè)務(wù)流程時(shí)客戶端將占用該服務(wù)器的一個(gè)連接,基于該一個(gè)連接,客戶端可以與服務(wù)器進(jìn)行多次數(shù)據(jù)交互以完成一次業(yè)務(wù)流程(例如交易流程)。各個(gè)服務(wù)器各自支持的最大可用連接數(shù)可以通過預(yù)先在負(fù)載均衡設(shè)備中配置,也可以是各個(gè)服務(wù)器向負(fù)載均衡設(shè)備主動(dòng)上報(bào)各自可以支持的最大可用連接數(shù),負(fù)載均衡設(shè)備收到后保存到服務(wù)器狀態(tài)表中。還可以是,負(fù)載均衡設(shè)備向各個(gè)服務(wù)器發(fā)送連接數(shù)查詢請(qǐng)求,以請(qǐng)求服務(wù)器將各自的最大可用連接數(shù)上報(bào)。在此不做限制。
本實(shí)施例中,所述負(fù)載均衡設(shè)備可以通過如下方式更新所述目標(biāo)服務(wù)器的可用連接數(shù):所述負(fù)載均衡設(shè)備在為所述客戶端分配目標(biāo)服務(wù)器之后,更新所述目標(biāo)服務(wù)器的可用連接數(shù);例如,當(dāng)負(fù)載均衡設(shè)備將該目標(biāo)服務(wù)器分配給某一客戶端時(shí),則該負(fù)載均衡設(shè)備將該目標(biāo)服務(wù)器的可用連接數(shù)相應(yīng)減少一個(gè)。
或者,所述負(fù)載均衡設(shè)備接收所述目標(biāo)服務(wù)器發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);例如,客戶端發(fā)送本次業(yè)務(wù)流程中最后數(shù)據(jù)包時(shí),在該數(shù)據(jù)包中增加結(jié)束標(biāo)識(shí),用來指示該數(shù)據(jù)包為本次業(yè)務(wù)流程的最后一個(gè)數(shù)據(jù)包,則該目標(biāo)服務(wù)器處理完該數(shù)據(jù)包后,則目標(biāo)服務(wù)器向負(fù)載均衡設(shè)備發(fā)送結(jié)束本次連接通知信息,以通知該負(fù)載均衡設(shè)備不再需要與客戶端進(jìn)行數(shù)據(jù)交互,此時(shí)將釋放一個(gè)連接,該負(fù)載均衡設(shè)備將目標(biāo)服務(wù)器的可用連接數(shù)相應(yīng)增加一個(gè)。
或者,所述負(fù)載均衡設(shè)備接收所述客戶端發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);客戶端結(jié)束本次業(yè)務(wù)流程后,客戶端可以向負(fù)載均衡設(shè)備發(fā)送結(jié)束本次連接通知信息,以通知負(fù)載均衡設(shè)備不再需要與服務(wù)器進(jìn)行數(shù)據(jù)交互,此時(shí)將釋放一個(gè)連接,該負(fù)載均衡設(shè)備將該目標(biāo)服務(wù)器的可用連接數(shù)相應(yīng)增加一個(gè)。
或者,所述負(fù)載均衡設(shè)備定期向所述目標(biāo)服務(wù)器發(fā)送狀態(tài)查詢請(qǐng)求,接收所述目標(biāo)服務(wù)器發(fā)送的最新可用連接數(shù),使用所述最新可用連接數(shù)更新所述目標(biāo)服務(wù)器的可用連接數(shù)。
實(shí)際應(yīng)用時(shí),負(fù)載均衡設(shè)備除了維護(hù)服務(wù)器的可用連接數(shù)外,還可以維護(hù)各個(gè)服務(wù)器的已用連接數(shù),該已用連接數(shù)表示各個(gè)服務(wù)器已經(jīng)被占用的連接數(shù),當(dāng)該已用連接數(shù)達(dá)到服務(wù)器的最大可用連接數(shù)或者可用連接數(shù)減少至零時(shí),則負(fù)載均衡設(shè)備不再將該服務(wù)器分配給客戶端,以保證服務(wù)器與已經(jīng)建立連接的客戶端之間數(shù)據(jù)處理的效率,也可以避免服務(wù)器超負(fù)荷進(jìn)行數(shù)據(jù)處理。
本實(shí)施例中,負(fù)載均衡設(shè)備可以實(shí)時(shí)監(jiān)測(cè)各個(gè)服務(wù)器的狀態(tài),如果服務(wù)器處于正常狀態(tài)可以獲得服務(wù)器的最大可用連接數(shù)、可用連接數(shù)和/或已用連接數(shù)等等狀態(tài)信息,以便于均衡向服務(wù)器分配客戶端,避免整個(gè)集群中出現(xiàn)部分服務(wù)器所連接的客戶端過多甚至超出了該服務(wù)器所支持的最大可用連接數(shù),服務(wù)器超負(fù)荷進(jìn)行數(shù)據(jù)處理,而部分服務(wù)器處于空閑狀態(tài)的情況。如果服務(wù)器處于故障狀態(tài),負(fù)載均衡設(shè)備可以在服務(wù)器狀態(tài)表中標(biāo)記該服務(wù)器的狀態(tài)為異常,負(fù)載均衡設(shè)備在接收到客戶單的請(qǐng)求時(shí),也不再將該服務(wù)器分配給客戶端,以提高客戶端和負(fù)載均衡設(shè)備之間建立數(shù)據(jù)連接的成功率。
本實(shí)施例中,負(fù)載均衡設(shè)備根據(jù)各個(gè)服務(wù)器的可用連接數(shù)為客戶端分配服務(wù)器,如果某個(gè)服務(wù)器的可用連接數(shù)未減少至零(或者已用連接數(shù)未達(dá)到最大可用連接數(shù)),則負(fù)載均衡設(shè)備可以將該服務(wù)器分配給客戶端,如果某個(gè)服務(wù)器的可用連接數(shù)已減少至零(或者已用連接數(shù)已達(dá)到最大可用連接數(shù)),則負(fù)載均衡設(shè)備不再將該服務(wù)器分配給客戶端,以保證服務(wù)器與已經(jīng)建立連接的客戶端之間數(shù)據(jù)處理的效率,也可以避免服務(wù)器超負(fù)荷進(jìn)行數(shù)據(jù)處理。
相應(yīng)地,如圖2所示,本實(shí)施例還提供一種適用于上述負(fù)載均衡方法的負(fù)載均衡系統(tǒng),包括:客戶端20、負(fù)載均衡設(shè)備21和與該負(fù)載均衡設(shè)備相連的多個(gè)服務(wù)器(圖2中以三個(gè)服務(wù)器為例,實(shí)際應(yīng)用中不限于此,),目標(biāo)服務(wù)器22是從該多個(gè)服務(wù)器中選中的,其中:
負(fù)載均衡設(shè)備21,用于接收客戶端20發(fā)送的第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端20的IP、目的IP為所述負(fù)載均衡設(shè)備21的虛擬IP,并用于根據(jù)客戶端20與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端20對(duì)應(yīng)的目標(biāo)服務(wù)器22,并獲取所述目標(biāo)服務(wù)器22的IP,所述目標(biāo)服務(wù)器22的虛擬IP與所述負(fù)載均衡設(shè)備21的虛擬IP相同;還用于對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭為源IP為所述負(fù)載均衡設(shè)備21的IP、目的IP為所述目標(biāo)服務(wù)器22的IP;以及還用于按照所述新IP頭向所述目標(biāo)服務(wù)器22發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;其中,客戶端20與所述負(fù)載均衡設(shè)備21可以處于同一局域網(wǎng),也可以處于不同的網(wǎng)絡(luò)環(huán)境中??梢岳斫獾氖?,當(dāng)客戶端20與負(fù)載均衡設(shè)備21處于不同網(wǎng)絡(luò)環(huán)境中,客戶端20與負(fù)載均衡設(shè)備21需要借助網(wǎng)關(guān)進(jìn)行數(shù)據(jù)交互。客戶端20與目標(biāo)服務(wù)器22的預(yù)設(shè)映射關(guān)系可以為客戶端20的唯一標(biāo)識(shí)信息與服務(wù)器的IP的對(duì)應(yīng)關(guān)系。該客戶端20與目標(biāo)服務(wù)器22的預(yù)設(shè)映射關(guān)系可以采用列表的形式存儲(chǔ)在負(fù)載均衡設(shè)備21上。目標(biāo)服務(wù)器22是從與該負(fù)載均衡設(shè)備相連的多個(gè)服務(wù)器22中選中的。
由于客戶端20與目標(biāo)服務(wù)器22在進(jìn)行一次業(yè)務(wù)處理流程(例如一次交易流程)中可能存在多次數(shù)據(jù)交互,負(fù)載均衡設(shè)備21通過該客戶端20與目標(biāo)服務(wù)器22的預(yù)設(shè)映射關(guān)系可以每次為同一客戶端20確定相同的目標(biāo)服務(wù)器22,以保證客戶端20的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端20確定不同的目標(biāo)服務(wù)器22,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。負(fù)載均衡設(shè)備21采用IP封裝技術(shù)對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包后,該第二請(qǐng)求數(shù)據(jù)包將具備兩個(gè)IP頭,其中一個(gè)為新IP頭,用于指示負(fù)載均衡設(shè)備21按照新IP頭中的目的IP進(jìn)行數(shù)據(jù)發(fā)送,另一個(gè)為第一請(qǐng)求數(shù)據(jù)包的IP頭,該IP頭用于指示目標(biāo)服務(wù)器22處理完數(shù)據(jù)后,發(fā)送響應(yīng)數(shù)據(jù)包時(shí)將該IP頭中的源IP作為目的IP進(jìn)行數(shù)據(jù)返回。
所述目標(biāo)服務(wù)器22,用于接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù),以及基于響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述客戶端20發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭為源IP為所述目標(biāo)服務(wù)器22的虛擬IP、目的IP為所述客戶端20的IP。其中,目標(biāo)服務(wù)器22接收到第二請(qǐng)求數(shù)據(jù)包后,由于新IP頭中目的IP與自身IP匹配,則會(huì)執(zhí)行IP解封裝操作,以獲得第一請(qǐng)求數(shù)據(jù)包,而第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP為所述負(fù)載均衡設(shè)備21的虛擬IP,而負(fù)載均衡設(shè)備21的虛擬IP和目標(biāo)服務(wù)器22的虛擬IP相同,目標(biāo)服務(wù)器22也會(huì)確定該第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP與自身IP匹配,則會(huì)對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù)。
采用本實(shí)施例提供的負(fù)載均衡系統(tǒng),一方面,在客戶端的一次業(yè)務(wù)處理流程中,負(fù)載均衡設(shè)備接收到客戶端的請(qǐng)求數(shù)據(jù)包后,按照該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為該客戶端確定同一個(gè)目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。另一方面,負(fù)載均衡設(shè)備接收到請(qǐng)求數(shù)據(jù)包后,采用IP封裝技術(shù)對(duì)請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝后發(fā)送給目標(biāo)服務(wù)器,目標(biāo)服務(wù)器采用IP解封裝技術(shù)還原出請(qǐng)求數(shù)據(jù)包,處理后,直接向客戶端發(fā)送該響應(yīng)數(shù)據(jù)包,而不會(huì)再通過負(fù)載均衡設(shè)備,減少了負(fù)載均衡設(shè)備的數(shù)據(jù)處理量,提高負(fù)載均衡設(shè)備處理請(qǐng)求數(shù)據(jù)包的處理能力。
本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備21,具體用于查找是否與所述客戶端20對(duì)應(yīng)的目標(biāo)服務(wù)器22;
所述負(fù)載均衡設(shè)備21,具體還用于若未查找到(說明負(fù)載均衡設(shè)備21之前并沒有記錄該客戶端20與服務(wù)器的對(duì)應(yīng)關(guān)系,例如首次給該客戶端20分配服務(wù)器時(shí)),則為所述客戶端20分配目標(biāo)服務(wù)器22,獲取所述目標(biāo)服務(wù)器22的IP,并記錄所述客戶端20的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器22的IP的對(duì)應(yīng)關(guān)系;
所述負(fù)載均衡設(shè)備21,具體還用于若查找到(說明負(fù)載均衡設(shè)備21已經(jīng)為該客戶端20分配過服務(wù)器,并記錄在客戶端20與服務(wù)器的預(yù)設(shè)映射關(guān)系中),則所述負(fù)載均衡設(shè)備21獲取所述目標(biāo)服務(wù)器22的IP。
本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備21,具體用于獲取所述目標(biāo)服務(wù)器22的可用連接數(shù);并根據(jù)所述目標(biāo)服務(wù)器22的可用連接數(shù)為所述客戶端20分配目標(biāo)服務(wù)器22。該可用連接數(shù)初始值可以為該服務(wù)器支持的最大可用連接數(shù)。本實(shí)施例中,服務(wù)器與一個(gè)客戶端20進(jìn)行一次業(yè)務(wù)流程時(shí)客戶端20將占用該服務(wù)器的一個(gè)連接,基于該一個(gè)連接,客戶端20可以與服務(wù)器進(jìn)行多次數(shù)據(jù)交互以完成一次業(yè)務(wù)流程(例如交易流程)。
本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備21,還用于更新所述目標(biāo)服務(wù)器22的可用連接數(shù);
所述負(fù)載均衡設(shè)備21,具體用于在為所述客戶端20分配目標(biāo)服務(wù)器22之后,更新所述目標(biāo)服務(wù)器22的可用連接數(shù);
或者,所述負(fù)載均衡設(shè)備21,具體用于接收所述目標(biāo)服務(wù)器22發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器22的可用連接數(shù);
或者,所述負(fù)載均衡設(shè)備21,具體用于接收所述客戶端20發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器22的可用連接數(shù);
或者,所述負(fù)載均衡設(shè)備21,具體用于定期向所述目標(biāo)服務(wù)器22發(fā)送狀態(tài)查詢請(qǐng)求,接收所述目標(biāo)服務(wù)器22發(fā)送的最新可用連接數(shù),使用所述最新可用連接數(shù)更新所述目標(biāo)服務(wù)器22的可用連接數(shù)。
需要說明的是,本系統(tǒng)中負(fù)載均衡設(shè)備和目標(biāo)服務(wù)器的更多細(xì)節(jié)描述還可以參見上述負(fù)載均衡方法中負(fù)載均衡設(shè)備和目標(biāo)服務(wù)器的相關(guān)描述,在此不再贅述。
實(shí)施例2
本實(shí)施例與實(shí)施例1的區(qū)別在于:實(shí)施例1中適用于一個(gè)網(wǎng)絡(luò)集群的場(chǎng)景,客戶端直接與該網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備建立通信連接,并通過該網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備與目標(biāo)服務(wù)器進(jìn)行數(shù)據(jù)交互,而本實(shí)施例適用的應(yīng)用場(chǎng)景中設(shè)有前置負(fù)載均衡設(shè)備和多個(gè)網(wǎng)絡(luò)集群,每個(gè)網(wǎng)絡(luò)集群中均設(shè)有負(fù)載均衡設(shè)備和多個(gè)服務(wù)器,各個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備均連接至前置負(fù)載均衡設(shè)備。為便于理解,本文中前置負(fù)載均衡設(shè)備也稱之為一級(jí)負(fù)載均衡設(shè)備,各個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備稱之為二級(jí)負(fù)載均衡設(shè)備,二級(jí)負(fù)載均衡設(shè)備連接至各自所屬網(wǎng)絡(luò)集群中的服務(wù)器??蛻舳耸紫认蚯爸秘?fù)載均衡設(shè)備發(fā)送數(shù)據(jù)包,由前置負(fù)載均衡設(shè)備從多個(gè)網(wǎng)絡(luò)集群中選中一個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備,之后該選中的負(fù)載均衡設(shè)備為該客戶端分配目標(biāo)服務(wù)器,并將數(shù)據(jù)包發(fā)送至目標(biāo)服務(wù)器。下面將對(duì)本實(shí)施例提供的負(fù)載均衡方法進(jìn)行詳細(xì)介紹:
如圖3所示,本實(shí)施例提供一種負(fù)載均衡方法,包括:
301、前置負(fù)載均衡設(shè)備接收客戶端發(fā)送的原始請(qǐng)求數(shù)據(jù)包,所述原始請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端的IP、目的IP為所述前置負(fù)載均衡設(shè)備的IP;
其中,該客戶端可以是讀卡器、手機(jī)、個(gè)人電腦、電子簽名設(shè)備、智能手環(huán)等具有網(wǎng)絡(luò)通信功能的設(shè)備。
其中,客戶端與所述前置負(fù)載均衡設(shè)備可以處于同一局域網(wǎng),也可以處于不同的網(wǎng)絡(luò)環(huán)境中。可以理解的是,當(dāng)客戶端與前置負(fù)載均衡設(shè)備處于不同網(wǎng)絡(luò)環(huán)境中,客戶端與前置負(fù)載均衡設(shè)備需要借助網(wǎng)關(guān)、路由器等網(wǎng)絡(luò)中轉(zhuǎn)設(shè)備進(jìn)行數(shù)據(jù)交互。
302、所述前置負(fù)載均衡設(shè)備基于所述原始請(qǐng)求數(shù)據(jù)包生成第一請(qǐng)求數(shù)據(jù)包,并根據(jù)所述客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的負(fù)載均衡設(shè)備,并向所述負(fù)載均衡設(shè)備發(fā)送所述第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述前置負(fù)載均衡設(shè)備的IP、目的IP為所述負(fù)載均衡設(shè)備的虛擬IP;
其中,前置負(fù)載均衡設(shè)備的IP為真實(shí)的IP,客戶端通過前置負(fù)載均衡設(shè)備的IP可以將數(shù)據(jù)包發(fā)送至該前置負(fù)載均衡設(shè)備。
前置負(fù)載均衡設(shè)備與各個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備可以處于同一局域網(wǎng)中,此時(shí)負(fù)載均衡設(shè)備的IP和各個(gè)網(wǎng)絡(luò)集群終端中的負(fù)載均衡設(shè)備的虛擬IP可以為該局域網(wǎng)內(nèi)的IP。
本實(shí)施例中,該客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系可以采用列表的形式存儲(chǔ)在前置負(fù)載均衡設(shè)備中,客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系可以為客戶端的唯一標(biāo)識(shí)信息與負(fù)載均衡設(shè)備的虛擬IP之間的對(duì)應(yīng)關(guān)系。
當(dāng)該客戶端首次向前置負(fù)載均衡設(shè)備發(fā)送原始請(qǐng)求數(shù)據(jù)包時(shí),前置負(fù)載均衡設(shè)備按照預(yù)設(shè)負(fù)載均衡算法(例如,隨機(jī)分配算法、或者特定類型的客戶端分配給固定的某個(gè)網(wǎng)絡(luò)集群等等)從多個(gè)網(wǎng)絡(luò)集群中選擇某一個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備,并將該負(fù)載均衡設(shè)備分配給該客戶端,同時(shí)將該客戶端的唯一標(biāo)識(shí)信息與該負(fù)載均衡設(shè)備的虛擬IP的對(duì)應(yīng)關(guān)系記錄在所述客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系中,并存儲(chǔ)在前置負(fù)載均衡設(shè)備中,以便于后續(xù)該客戶端再次發(fā)送數(shù)據(jù)包時(shí),前置負(fù)載均衡設(shè)備可以根據(jù)所述客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的負(fù)載均衡設(shè)備,從而可以將該數(shù)據(jù)包發(fā)送至同一負(fù)載均衡設(shè)備,以保證數(shù)據(jù)交互的連續(xù)性。
303、所述負(fù)載均衡設(shè)備接收所述第一請(qǐng)求數(shù)據(jù)包;
304、所述負(fù)載均衡設(shè)備根據(jù)客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP,所述目標(biāo)服務(wù)器的虛擬IP與所述負(fù)載均衡設(shè)備的虛擬IP相同;
其中,客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以為客戶端的唯一標(biāo)識(shí)信息與服務(wù)器的IP的對(duì)應(yīng)關(guān)系。該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以采用列表的形式存儲(chǔ)在負(fù)載均衡設(shè)備上。
由于客戶端與目標(biāo)服務(wù)器在進(jìn)行一次業(yè)務(wù)處理流程(例如一次交易流程)中可能存在多次數(shù)據(jù)交互,負(fù)載均衡設(shè)備通過該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為同一客戶端確定相同的目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。
305、所述負(fù)載均衡設(shè)備對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭中源IP為所述負(fù)載均衡設(shè)備的IP、目的IP為所述目標(biāo)服務(wù)器的IP;
其中,由于該負(fù)載均衡設(shè)備和目標(biāo)服務(wù)器屬于同一網(wǎng)絡(luò)集群,該負(fù)載均衡設(shè)備的IP可以為負(fù)載均衡設(shè)備在該集群內(nèi)局域網(wǎng)的IP,該目標(biāo)服務(wù)器的IP可以是該目標(biāo)服務(wù)器在該集群內(nèi)局域網(wǎng)的IP。
負(fù)載均衡設(shè)備采用IP封裝技術(shù)對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包后,該第二請(qǐng)求數(shù)據(jù)包將具備兩個(gè)IP頭,其中一個(gè)為新IP頭,用于指示負(fù)載均衡設(shè)備按照新IP頭中的目的IP進(jìn)行數(shù)據(jù)發(fā)送,另一個(gè)為第一請(qǐng)求數(shù)據(jù)包的IP頭,該IP頭用于指示目標(biāo)服務(wù)器處理完數(shù)據(jù)后,發(fā)送響應(yīng)數(shù)據(jù)包時(shí)將該IP頭中的源IP作為目的IP進(jìn)行數(shù)據(jù)返回。
306、所述負(fù)載均衡設(shè)備按照所述新IP頭向所述目標(biāo)服務(wù)器發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;
307、所述目標(biāo)服務(wù)器接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,得到響應(yīng)數(shù)據(jù);
目標(biāo)服務(wù)器接收到第二請(qǐng)求數(shù)據(jù)包后,由于新IP頭中目的IP與自身IP匹配,則會(huì)執(zhí)行IP解封裝操作,以獲得第一請(qǐng)求數(shù)據(jù)包,而第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP為所述負(fù)載均衡設(shè)備的虛擬IP,而負(fù)載均衡設(shè)備的虛擬IP和目標(biāo)服務(wù)器的虛擬IP相同,目標(biāo)服務(wù)器也會(huì)確定該第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP與自身IP匹配,則會(huì)對(duì)所述第一請(qǐng)求數(shù)據(jù)包中攜帶的數(shù)據(jù)進(jìn)行處理,得到響應(yīng)數(shù)據(jù)。
本實(shí)施例中,若負(fù)載均衡設(shè)備的虛擬IP和目標(biāo)服務(wù)器的虛擬IP不相同,則目標(biāo)服務(wù)器獲得第一請(qǐng)求數(shù)據(jù)包后,由于第一請(qǐng)求數(shù)據(jù)包的IP頭中目的IP為所述負(fù)載均衡設(shè)備的虛擬IP,目標(biāo)服務(wù)器會(huì)判定該第一請(qǐng)求數(shù)據(jù)包的目的IP與目標(biāo)服務(wù)器自身的IP不同,因而,目標(biāo)服務(wù)器不會(huì)對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行處理,從而導(dǎo)致客戶端與目標(biāo)服務(wù)器的數(shù)據(jù)交互出現(xiàn)異常??梢?,本實(shí)施例中,將負(fù)載均衡設(shè)備的虛擬IP和目標(biāo)服務(wù)器的虛擬IP設(shè)置為相同的虛擬IP,可以保證目標(biāo)服務(wù)器接收到第二請(qǐng)求數(shù)據(jù)包并進(jìn)行IP解封裝后,對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行正常處理。
308、所述目標(biāo)服務(wù)器基于響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述前置負(fù)載均衡設(shè)備發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭中源IP為所述目標(biāo)服務(wù)器的虛擬IP、目的IP為所述前置負(fù)載均衡設(shè)備的IP;
其中,所述響應(yīng)數(shù)據(jù)包攜帶的數(shù)據(jù)內(nèi)容為所述響應(yīng)數(shù)據(jù)。
309、所述前置負(fù)載均衡設(shè)備接收所述響應(yīng)數(shù)據(jù)包,并按照轉(zhuǎn)發(fā)IP頭向所述客戶端轉(zhuǎn)發(fā)所述響應(yīng)數(shù)據(jù)包,所述轉(zhuǎn)發(fā)IP頭中源IP為所述前置負(fù)載均衡設(shè)備的IP、目的IP為所述客戶端的IP。
采用本實(shí)施例提供的負(fù)載均衡方法,一方面,負(fù)載均衡設(shè)備接收到請(qǐng)求數(shù)據(jù)包后,采用IP封裝技術(shù)對(duì)請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝后發(fā)送給目標(biāo)服務(wù)器,目標(biāo)服務(wù)器采用IP解封裝技術(shù)還原出請(qǐng)求數(shù)據(jù)包,處理后得到響應(yīng)數(shù)據(jù)包,直接向前置負(fù)載均衡設(shè)備發(fā)送該響應(yīng)數(shù)據(jù)包,而不會(huì)再通過負(fù)載均衡設(shè)備,減少了負(fù)載均衡設(shè)備的數(shù)據(jù)處理量,提高負(fù)載均衡設(shè)備處理請(qǐng)求數(shù)據(jù)包的處理能力。另一方面,在客戶端與目標(biāo)服務(wù)器的一次業(yè)務(wù)處理流程(例如交易流程)中,前置負(fù)載均衡設(shè)備接收到數(shù)據(jù)包后,根據(jù)客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)關(guān)系可以每次為客戶端確定同一負(fù)載均衡設(shè)備,該負(fù)載均衡設(shè)備接收到請(qǐng)求數(shù)據(jù)包后,按照該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為客戶端確定同一目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。
由于負(fù)載均衡設(shè)備與服務(wù)器屬于同一集群,當(dāng)客戶端與負(fù)載均衡設(shè)備采用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)通信時(shí),為避免客戶端向負(fù)載均衡設(shè)備發(fā)送的請(qǐng)求數(shù)據(jù)包也被服務(wù)器直接接收到,本實(shí)施例中,在客戶端向負(fù)載均衡設(shè)備發(fā)送第一請(qǐng)求數(shù)據(jù)包之前,可以配置各個(gè)服務(wù)器對(duì)接收到的MAC查詢請(qǐng)求不進(jìn)行MAC響應(yīng),例如,同一集群中的各個(gè)服務(wù)器接收MAC響應(yīng)關(guān)閉指示信息,所述MAC響應(yīng)關(guān)閉指示信息用于指示所述目標(biāo)服務(wù)器對(duì)接收到的MAC查詢請(qǐng)求不進(jìn)行響應(yīng)處理。而,同一集群中的負(fù)載均衡設(shè)備仍會(huì)正常對(duì)接收到的MAC請(qǐng)求進(jìn)行響應(yīng)。因而,當(dāng)客戶端發(fā)送MAC查詢請(qǐng)求時(shí),同一集群中的負(fù)載均衡設(shè)備正常進(jìn)行MAC響應(yīng),也就是將自身的MAC地址返回給客戶端,后續(xù)客戶端可以與該負(fù)載均衡設(shè)備進(jìn)行正常的數(shù)據(jù)交互。而,同一集群中的各個(gè)服務(wù)器由于不會(huì)進(jìn)行MAC響應(yīng),因而客戶端也無法收到各個(gè)服務(wù)器的MAC地址,后續(xù)客戶端也無法直接向各個(gè)服務(wù)器發(fā)送請(qǐng)求數(shù)據(jù)包。
在本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備確定與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器,并獲取所述目標(biāo)服務(wù)器的IP具體實(shí)現(xiàn)如下:所述負(fù)載均衡設(shè)備在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中查找是否與所述客戶端對(duì)應(yīng)的目標(biāo)服務(wù)器;若未查找到,說明負(fù)載均衡設(shè)備之前并沒有記錄該客戶端與服務(wù)器的對(duì)應(yīng)關(guān)系,例如首次給該客戶端分配服務(wù)器時(shí),則所述負(fù)載均衡設(shè)備為所述客戶端分配目標(biāo)服務(wù)器,獲取所述目標(biāo)服務(wù)器的IP,并記錄所述客戶端的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器的IP的對(duì)應(yīng)關(guān)系;若查找到,說明負(fù)載均衡設(shè)備已經(jīng)為該客戶端分配過服務(wù)器,并記錄在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中,為保證該客戶端業(yè)務(wù)處理流程的連續(xù)性,繼續(xù)為該客戶端分配同一服務(wù)器,則所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的IP。
本實(shí)施例中,屬于同一集群中的負(fù)載均衡設(shè)備和服務(wù)器,負(fù)載均衡設(shè)備獲取服務(wù)器的IP可以通過如下方式實(shí)現(xiàn):例如,在負(fù)載均衡設(shè)備中預(yù)先配置各個(gè)服務(wù)器的IP,適用于服務(wù)器的IP為固定IP的場(chǎng)景;又如,負(fù)載均衡設(shè)備向服務(wù)器發(fā)送IP地址獲取請(qǐng)求,接收服務(wù)器發(fā)送的服務(wù)器的IP,可以適用于服務(wù)器的IP為固定IP的場(chǎng)景,也可以適用于服務(wù)器的IP為動(dòng)態(tài)IP的場(chǎng)景。
本實(shí)施例中,在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中記錄的是所述客戶端的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器的IP的對(duì)應(yīng)關(guān)系,其中,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的IP地址和端口號(hào);客戶端在發(fā)送第一請(qǐng)求數(shù)據(jù)包時(shí),在該第一請(qǐng)求數(shù)據(jù)包中攜帶IP地址和端口號(hào),通過該IP地址和端口號(hào)可以唯一表示客戶端;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:所述客戶端的MAC地址;客戶端可以通MAC響應(yīng)向負(fù)載均衡設(shè)備發(fā)送客戶端的MAC地址;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的IP地址和端口號(hào)進(jìn)行不可逆運(yùn)算得到的數(shù)值;或者,所述客戶端的唯一標(biāo)識(shí)信息包括:對(duì)所述客戶端的MAC地址進(jìn)行不可逆運(yùn)算得到的數(shù)值。不可逆運(yùn)算例如可以是哈希運(yùn)算,當(dāng)然也可以為其他的不可逆運(yùn)算,只要保證不同的數(shù)據(jù)經(jīng)過不可逆運(yùn)算后得到的數(shù)值互不相同即可。客戶端的唯一標(biāo)識(shí)信息采用不可逆運(yùn)算得到的數(shù)值進(jìn)行存儲(chǔ)時(shí),可以減少存儲(chǔ)的數(shù)據(jù)量,另一方面由于不可逆運(yùn)算獲得的數(shù)值具有不可逆性,可以增加數(shù)據(jù)存儲(chǔ)的安全性。
在本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備為所述客戶端分配目標(biāo)服務(wù)器的實(shí)現(xiàn)方式如下:所述負(fù)載均衡設(shè)備獲取所述目標(biāo)服務(wù)器的可用連接數(shù);根據(jù)所述目標(biāo)服務(wù)器的可用連接數(shù)為所述客戶端分配目標(biāo)服務(wù)器。具體應(yīng)用時(shí),負(fù)載均衡設(shè)備可以維護(hù)并實(shí)時(shí)更新服務(wù)器狀態(tài)表,該狀態(tài)表中記載有各個(gè)服務(wù)器的實(shí)時(shí)狀態(tài),該各個(gè)服務(wù)器與負(fù)載均衡設(shè)備屬于同一網(wǎng)絡(luò)集群。初始時(shí),負(fù)載均衡設(shè)備獲取各個(gè)服務(wù)器的狀態(tài),該狀態(tài)可以是各個(gè)服務(wù)器可用連接數(shù),該可用連接數(shù)初始值可以為該服務(wù)器支持的最大可用連接數(shù)。本實(shí)施例中,服務(wù)器與一個(gè)客戶端進(jìn)行一次業(yè)務(wù)流程時(shí)客戶端將占用該服務(wù)器的一個(gè)連接,基于該一個(gè)連接,客戶端可以與服務(wù)器進(jìn)行多次數(shù)據(jù)交互以完成一次業(yè)務(wù)流程(例如交易流程)。各個(gè)服務(wù)器各自支持的最大可用連接數(shù)可以通過預(yù)先在負(fù)載均衡設(shè)備中配置,也可以是各個(gè)服務(wù)器向負(fù)載均衡設(shè)備主動(dòng)上報(bào)各自可以支持的最大可用連接數(shù),負(fù)載均衡設(shè)備收到后保存到服務(wù)器狀態(tài)表中。還可以是,負(fù)載均衡設(shè)備向各個(gè)服務(wù)器發(fā)送連接數(shù)查詢請(qǐng)求,以請(qǐng)求服務(wù)器將各自的最大可用連接數(shù)上報(bào)。在此不做限制。
本實(shí)施例中,所述負(fù)載均衡設(shè)備可以通過如下方式更新所述目標(biāo)服務(wù)器的可用連接數(shù):所述負(fù)載均衡設(shè)備在為所述客戶端分配目標(biāo)服務(wù)器之后,更新所述目標(biāo)服務(wù)器的可用連接數(shù);例如,當(dāng)負(fù)載均衡設(shè)備將該目標(biāo)服務(wù)器分配給某一客戶端時(shí),則該負(fù)載均衡設(shè)備將該目標(biāo)服務(wù)器的可用連接數(shù)相應(yīng)減少一個(gè)。
或者,所述負(fù)載均衡設(shè)備接收所述目標(biāo)服務(wù)器發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);例如,客戶端發(fā)送本次業(yè)務(wù)流程中最后數(shù)據(jù)包時(shí),在該數(shù)據(jù)包中增加結(jié)束標(biāo)識(shí),用來指示該數(shù)據(jù)包為本次業(yè)務(wù)流程的最后一個(gè)數(shù)據(jù)包,則該目標(biāo)服務(wù)器處理完該數(shù)據(jù)包后,則目標(biāo)服務(wù)器向負(fù)載均衡設(shè)備發(fā)送結(jié)束本次連接通知信息,以通知該負(fù)載均衡設(shè)備不再需要與客戶端進(jìn)行數(shù)據(jù)交互,此時(shí)將釋放一個(gè)連接,該負(fù)載均衡設(shè)備將目標(biāo)服務(wù)器的可用連接數(shù)相應(yīng)增加一個(gè)。
或者,所述負(fù)載均衡設(shè)備接收所述客戶端發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器的可用連接數(shù);客戶端結(jié)束本次業(yè)務(wù)流程后,客戶端可以向負(fù)載均衡設(shè)備發(fā)送結(jié)束本次連接通知信息,以通知負(fù)載均衡設(shè)備不再需要與服務(wù)器進(jìn)行數(shù)據(jù)交互,此時(shí)將釋放一個(gè)連接,該負(fù)載均衡設(shè)備將該目標(biāo)服務(wù)器的可用連接數(shù)相應(yīng)增加一個(gè)。
或者,所述負(fù)載均衡設(shè)備定期向所述目標(biāo)服務(wù)器發(fā)送狀態(tài)查詢請(qǐng)求,接收所述目標(biāo)服務(wù)器發(fā)送的最新可用連接數(shù),使用所述最新可用連接數(shù)更新所述目標(biāo)服務(wù)器的可用連接數(shù)。
本實(shí)施例中,負(fù)載均衡設(shè)備可以實(shí)時(shí)監(jiān)測(cè)各個(gè)服務(wù)器的狀態(tài),如果服務(wù)器處于正常狀態(tài)可以獲得服務(wù)器的最大可用連接數(shù)、可用連接數(shù)和/或已用連接數(shù)等等狀態(tài)信息,以便于均衡向服務(wù)器分配客戶端,避免整個(gè)集群中出現(xiàn)部分服務(wù)器所連接的客戶端過多甚至超出了該服務(wù)器所支持的最大可用連接數(shù),服務(wù)器超負(fù)荷進(jìn)行數(shù)據(jù)處理,而部分服務(wù)器處于空閑狀態(tài)的情況。如果服務(wù)器處于故障狀態(tài),負(fù)載均衡設(shè)備可以在服務(wù)器狀態(tài)表中標(biāo)記該服務(wù)器的狀態(tài)為異常,負(fù)載均衡設(shè)備在接收到客戶端的請(qǐng)求時(shí),也不再將該服務(wù)器分配給客戶端,以提高客戶端和負(fù)載均衡設(shè)備之間建立數(shù)據(jù)連接的成功率。
實(shí)際應(yīng)用時(shí),負(fù)載均衡設(shè)備除了維護(hù)服務(wù)器的可用連接數(shù)外,還可以維護(hù)各個(gè)服務(wù)器的已用連接數(shù)和最大可用連接數(shù),該已用連接數(shù)表示各個(gè)服務(wù)器已經(jīng)被占用的連接數(shù),當(dāng)該已用連接數(shù)達(dá)到服務(wù)器的最大可用連接數(shù)或者可用連接數(shù)減少至零時(shí),則負(fù)載均衡設(shè)備不再將該服務(wù)器分配給客戶端,以保證服務(wù)器與已經(jīng)建立連接的客戶端之間數(shù)據(jù)處理的效率,也可以避免服務(wù)器超負(fù)荷進(jìn)行數(shù)據(jù)處理。
本實(shí)施例中,負(fù)載均衡設(shè)備根據(jù)各個(gè)服務(wù)器的可用連接數(shù)為客戶端分配服務(wù)器,如果某個(gè)服務(wù)器的可用連接數(shù)未減少至零(或者已用連接數(shù)未達(dá)到最大可用連接數(shù)),則負(fù)載均衡設(shè)備可以將該服務(wù)器分配給客戶端,如果某個(gè)服務(wù)器的可用連接數(shù)已減少至零(或者已用連接數(shù)已達(dá)到最大可用連接數(shù)),則負(fù)載均衡設(shè)備不再將該服務(wù)器分配給客戶端,以保證服務(wù)器與已經(jīng)建立連接的客戶端之間數(shù)據(jù)處理的效率,也可以避免服務(wù)器超負(fù)荷進(jìn)行數(shù)據(jù)處理。
相應(yīng)地,如圖4所示,本實(shí)施例還提供一種適用于上述負(fù)載均衡方法的負(fù)載均衡系統(tǒng),包括:客戶端40、前置負(fù)載均衡設(shè)備41、以及與該前置負(fù)載均衡設(shè)備連接的多個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備42(圖4以兩個(gè)網(wǎng)絡(luò)集群為例,每個(gè)網(wǎng)絡(luò)集群中均設(shè)有一個(gè)負(fù)載均衡設(shè)備42,實(shí)際應(yīng)用中不限于此),以及在每個(gè)網(wǎng)絡(luò)集群中與負(fù)載均衡設(shè)備連接的多個(gè)服務(wù)器(圖4中一個(gè)網(wǎng)絡(luò)集群的服務(wù)器個(gè)數(shù)以兩個(gè)為例,另一個(gè)網(wǎng)絡(luò)集群中的服務(wù)器個(gè)數(shù)以三個(gè)為例,實(shí)際應(yīng)用中不限于此),其中目標(biāo)服務(wù)器43是從多個(gè)服務(wù)器中選中的,其中:
前置負(fù)載均衡設(shè)備41,用于接收客戶端40發(fā)送的原始請(qǐng)求數(shù)據(jù)包,所述原始請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述客戶端40的IP、目的IP為所述前置負(fù)載均衡設(shè)備41的IP;以及基于所述原始請(qǐng)求數(shù)據(jù)包生成第一請(qǐng)求數(shù)據(jù)包,并根據(jù)所述客戶端40與負(fù)載均衡設(shè)備42的預(yù)設(shè)映射關(guān)系確定與所述客戶端40對(duì)應(yīng)的負(fù)載均衡設(shè)備42,并向所述負(fù)載均衡設(shè)備42發(fā)送所述第一請(qǐng)求數(shù)據(jù)包,所述第一請(qǐng)求數(shù)據(jù)包的IP頭中源IP為所述前置負(fù)載均衡設(shè)備41的IP、目的IP為所述負(fù)載均衡設(shè)備42的虛擬IP;其中,該客戶端40與負(fù)載均衡設(shè)備42的預(yù)設(shè)映射關(guān)系可以采用列表的形式存儲(chǔ)在前置負(fù)載均衡設(shè)備41中,客戶端40與負(fù)載均衡設(shè)備42的預(yù)設(shè)映射關(guān)系可以為客戶端40的唯一標(biāo)識(shí)信息與負(fù)載均衡設(shè)備42的虛擬IP之間的對(duì)應(yīng)關(guān)系。當(dāng)該客戶端40首次向前置負(fù)載均衡設(shè)備41發(fā)送原始請(qǐng)求數(shù)據(jù)包時(shí),前置負(fù)載均衡設(shè)備41按照預(yù)設(shè)負(fù)載均衡算法(例如,隨機(jī)分配算法)從多個(gè)網(wǎng)絡(luò)集群中選擇某一個(gè)網(wǎng)絡(luò)集群中的負(fù)載均衡設(shè)備42,并將該負(fù)載均衡設(shè)備42分配給該客戶端40,同時(shí)將該客戶端40的唯一標(biāo)識(shí)信息與該負(fù)載均衡設(shè)備42的虛擬IP的對(duì)應(yīng)關(guān)系記錄在所述客戶端40與負(fù)載均衡設(shè)備42的預(yù)設(shè)映射關(guān)系中,并存儲(chǔ)在前置負(fù)載均衡設(shè)備41中,以便于后續(xù)該客戶端40再次發(fā)送數(shù)據(jù)包時(shí),前置負(fù)載均衡設(shè)備41可以根據(jù)所述客戶端40與負(fù)載均衡設(shè)備42的預(yù)設(shè)映射關(guān)系確定與所述客戶端40對(duì)應(yīng)的負(fù)載均衡設(shè)備42,從而可以將該數(shù)據(jù)包發(fā)送至同一負(fù)載均衡設(shè)備42,以保證數(shù)據(jù)交互的連續(xù)性。
所述負(fù)載均衡設(shè)備42,用于接收所述第一請(qǐng)求數(shù)據(jù)包;并根據(jù)客戶端40與服務(wù)器的預(yù)設(shè)映射關(guān)系確定與所述客戶端40對(duì)應(yīng)的目標(biāo)服務(wù)器43,并獲取所述目標(biāo)服務(wù)器43的IP,所述目標(biāo)服務(wù)器43的虛擬IP與所述負(fù)載均衡設(shè)備42的虛擬IP相同;還用于對(duì)所述第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包,所述IP封裝為在所述第一請(qǐng)求數(shù)據(jù)包中增加新IP頭,所述新IP頭中源IP為所述負(fù)載均衡設(shè)備42的IP、目的IP為所述目標(biāo)服務(wù)器43的IP;以及還用于按照所述新IP頭向所述目標(biāo)服務(wù)器43發(fā)送所述第二請(qǐng)求數(shù)據(jù)包;其中,客戶端40與目標(biāo)服務(wù)器43的預(yù)設(shè)映射關(guān)系可以為客戶端40的唯一標(biāo)識(shí)信息與服務(wù)器的IP的對(duì)應(yīng)關(guān)系。該客戶端40與目標(biāo)服務(wù)器43的預(yù)設(shè)映射關(guān)系可以采用列表的形式存儲(chǔ)在負(fù)載均衡設(shè)備42上。由于客戶端40與目標(biāo)服務(wù)器43在進(jìn)行一次業(yè)務(wù)處理流程(例如一次交易流程)中可能存在多次數(shù)據(jù)交互,負(fù)載均衡設(shè)備42通過該客戶端40與目標(biāo)服務(wù)器43的預(yù)設(shè)映射關(guān)系可以每次為同一客戶端40確定相同的目標(biāo)服務(wù)器43,以保證客戶端40的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端40確定不同的目標(biāo)服務(wù)器43,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。負(fù)載均衡設(shè)備42采用IP封裝技術(shù)對(duì)第一請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝得到第二請(qǐng)求數(shù)據(jù)包后,該第二請(qǐng)求數(shù)據(jù)包將具備兩個(gè)IP頭,其中一個(gè)為新IP頭,用于指示負(fù)載均衡設(shè)備42按照新IP頭中的目的IP進(jìn)行數(shù)據(jù)發(fā)送,另一個(gè)為第一請(qǐng)求數(shù)據(jù)包的IP頭,該IP頭用于指示目標(biāo)服務(wù)器43處理完數(shù)據(jù)后,發(fā)送響應(yīng)數(shù)據(jù)包時(shí)將該IP頭中的源IP作為目的IP進(jìn)行數(shù)據(jù)返回。
所述目標(biāo)服務(wù)器43,用于接收所述第二請(qǐng)求數(shù)據(jù)包,對(duì)所述第二請(qǐng)求數(shù)據(jù)包進(jìn)行IP解封裝,獲得第一請(qǐng)求數(shù)據(jù)包,并對(duì)所述第一請(qǐng)求數(shù)據(jù)包中攜帶的數(shù)據(jù)進(jìn)行處理,得到響應(yīng)數(shù)據(jù);并基于響應(yīng)數(shù)據(jù)生成響應(yīng)數(shù)據(jù)包,并按照所述響應(yīng)數(shù)據(jù)包的IP頭向所述前置負(fù)載均衡設(shè)備41發(fā)送響應(yīng)數(shù)據(jù)包,所述響應(yīng)數(shù)據(jù)包的IP頭中源IP為所述目標(biāo)服務(wù)器43的虛擬IP、目的IP為所述前置負(fù)載均衡設(shè)備41的IP;
所述前置負(fù)載均衡設(shè)備41,還用于接收所述響應(yīng)數(shù)據(jù)包,并按照轉(zhuǎn)發(fā)IP頭向所述客戶端40轉(zhuǎn)發(fā)所述響應(yīng)數(shù)據(jù)包,所述轉(zhuǎn)發(fā)IP頭中源IP為所述前置負(fù)載均衡設(shè)備41的IP、目的IP為所述客戶端40的IP。
在本實(shí)施例提供的負(fù)載均衡系統(tǒng)中,一方面,負(fù)載均衡設(shè)備接收到請(qǐng)求數(shù)據(jù)包后,采用IP封裝技術(shù)對(duì)請(qǐng)求數(shù)據(jù)包進(jìn)行IP封裝后發(fā)送給目標(biāo)服務(wù)器,目標(biāo)服務(wù)器采用IP解封裝技術(shù)還原出請(qǐng)求數(shù)據(jù)包,處理后得到響應(yīng)數(shù)據(jù)包,直接向前置負(fù)載均衡設(shè)備發(fā)送該響應(yīng)數(shù)據(jù)包,而不會(huì)再通過負(fù)載均衡設(shè)備,減少了負(fù)載均衡設(shè)備的數(shù)據(jù)處理量,提高負(fù)載均衡設(shè)備處理請(qǐng)求數(shù)據(jù)包的處理能力。另一方面,在客戶端與目標(biāo)服務(wù)器的一次業(yè)務(wù)處理流程(例如交易流程)中,前置負(fù)載均衡設(shè)備接收到數(shù)據(jù)包后,根據(jù)客戶端與負(fù)載均衡設(shè)備的預(yù)設(shè)關(guān)系可以每次為同一客戶端確定相同的負(fù)載均衡設(shè)備,該負(fù)載均衡設(shè)備接收到請(qǐng)求數(shù)據(jù)包后,按照該客戶端與目標(biāo)服務(wù)器的預(yù)設(shè)映射關(guān)系可以每次為同一客戶端確定相同的目標(biāo)服務(wù)器,以保證客戶端的業(yè)務(wù)處理流程的連續(xù)性,有效避免在一次業(yè)務(wù)處理流程中為同一客戶端確定不同的目標(biāo)服務(wù)器,進(jìn)而導(dǎo)致數(shù)據(jù)處理出現(xiàn)異常的問題。
本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備42,具體用于查找是否與所述客戶端40對(duì)應(yīng)的目標(biāo)服務(wù)器43;
所述負(fù)載均衡設(shè)備42,具體還用于若未查找到(說明負(fù)載均衡設(shè)備之前并沒有記錄該客戶端與服務(wù)器的對(duì)應(yīng)關(guān)系,例如首次給該客戶端分配服務(wù)器時(shí)),則為所述客戶端40分配目標(biāo)服務(wù)器43,獲取所述目標(biāo)服務(wù)器的IP,并記錄所述客戶端40的唯一標(biāo)識(shí)信息與所述目標(biāo)服務(wù)器43的IP的對(duì)應(yīng)關(guān)系;
所述負(fù)載均衡設(shè)備42,具體還用于若查找到(說明負(fù)載均衡設(shè)備已經(jīng)為該客戶端分配過服務(wù)器,并記錄在客戶端與服務(wù)器的預(yù)設(shè)映射關(guān)系中),則所述負(fù)載均衡設(shè)備42獲取所述目標(biāo)服務(wù)器43的IP。
本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備42,具體用于獲取所述目標(biāo)服務(wù)器43的可用連接數(shù);并根據(jù)所述目標(biāo)服務(wù)器43的可用連接數(shù)為所述客戶端分配目標(biāo)服務(wù)器。該可用連接數(shù)初始值可以為該服務(wù)器支持的最大可用連接數(shù)。本實(shí)施例中,服務(wù)器與一個(gè)客戶端進(jìn)行一次業(yè)務(wù)流程時(shí)客戶端將占用該服務(wù)器的一個(gè)連接,基于該一個(gè)連接,客戶端可以與服務(wù)器進(jìn)行多次數(shù)據(jù)交互以完成一次業(yè)務(wù)流程(例如交易流程)。
本實(shí)施例的一種可選實(shí)現(xiàn)方式中,所述負(fù)載均衡設(shè)備42,還用于更新所述目標(biāo)服務(wù)器43的可用連接數(shù);
所述負(fù)載均衡設(shè)備42,具體用于在為所述客戶端40分配目標(biāo)服務(wù)器43之后,更新所述目標(biāo)服務(wù)器43的可用連接數(shù);
或者,所述負(fù)載均衡設(shè)備42,具體用于接收所述目標(biāo)服務(wù)器43發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器43的可用連接數(shù);
或者,所述負(fù)載均衡設(shè)備42,具體用于接收所述客戶端40發(fā)送的結(jié)束本次連接通知信息,更新所述目標(biāo)服務(wù)器43的可用連接數(shù);
或者,所述負(fù)載均衡設(shè)備42,具體用于定期向所述目標(biāo)服務(wù)器43發(fā)送狀態(tài)查詢請(qǐng)求,接收所述目標(biāo)服務(wù)器43發(fā)送的最新可用連接數(shù),使用所述最新可用連接數(shù)更新所述目標(biāo)服務(wù)器43的可用連接數(shù)。
需要說明的是,本系統(tǒng)中負(fù)載均衡設(shè)備和目標(biāo)服務(wù)器的更多細(xì)節(jié)描述還可以參見本實(shí)施例中上述負(fù)載均衡方法中負(fù)載均衡設(shè)備和目標(biāo)服務(wù)器的相關(guān)描述,在此不再贅述。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。