網(wǎng)絡(luò)代理方法和代理系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種用于網(wǎng)絡(luò)的代理方法,包括:對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析,將該訪問(wèn)請(qǐng)求解析至第一代理服務(wù)器;以及由該第一代理服務(wù)器基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至第一服務(wù)器集群中的正式發(fā)布服務(wù)器組,該第一服務(wù)器集群包括用于提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組和用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組,該預(yù)發(fā)布服務(wù)器組在升級(jí)完畢后切換為正式發(fā)布服務(wù)器組以用于提供訪問(wèn)服務(wù),而該正式發(fā)布服務(wù)器組相應(yīng)地切換為該預(yù)發(fā)布服務(wù)器組以用于服務(wù)器升級(jí)。
【專利說(shuō)明】
網(wǎng)絡(luò)代理方法和代理系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù),尤其涉及網(wǎng)絡(luò)代理方法和代理系統(tǒng)。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)代理功能是由代理服務(wù)器執(zhí)行的一項(xiàng)常見互聯(lián)網(wǎng)功能,即代理網(wǎng)絡(luò)用戶去取得網(wǎng)絡(luò)信息。形象的說(shuō),代理服務(wù)器是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。在一般情況下,我們使用客戶端,例如網(wǎng)絡(luò)瀏覽器直接去連接其他Internet站點(diǎn)取得網(wǎng)絡(luò)信息時(shí),須送出訪問(wèn)請(qǐng)求來(lái)得到回答,然后對(duì)方再把信息傳送回來(lái)。代理服務(wù)器是介于瀏覽器和Web服務(wù)器之間的一臺(tái)服務(wù)器,有了它之后,瀏覽器不是直接到Web服務(wù)器去取回網(wǎng)頁(yè)而是向代理服務(wù)器發(fā)出請(qǐng)求。訪問(wèn)請(qǐng)求會(huì)先送到代理服務(wù)器,由代理服務(wù)器來(lái)取回瀏覽器所需要的信息并傳送給你的瀏覽器。而且,大部分代理服務(wù)器都具有緩沖的功能,就像一個(gè)大的Cache,它有很大的存儲(chǔ)空間,它不斷將新取得數(shù)據(jù)儲(chǔ)存到它本機(jī)的存儲(chǔ)器上,如果瀏覽器所請(qǐng)求的數(shù)據(jù)在它本機(jī)的存儲(chǔ)器上已經(jīng)存在而且是最新的,那么它就不重新從Web服務(wù)器取數(shù)據(jù),而直接將存儲(chǔ)器上的數(shù)據(jù)傳送給用戶的瀏覽器,這樣就能顯著提高瀏覽速度和效率。
【發(fā)明內(nèi)容】
[0003]以下給出一個(gè)或多個(gè)方面的簡(jiǎn)要概述以提供對(duì)這些方面的基本理解。此概述不是所有構(gòu)想到的方面的詳盡綜覽,并且既非旨在指認(rèn)出所有方面的關(guān)鍵性或決定性要素亦非試圖界定任何或所有方面的范圍。其唯一的目的是要以簡(jiǎn)化形式給出一個(gè)或多個(gè)方面的一些概念以為稍后給出的更加詳細(xì)的描述之序。
[0004]根據(jù)本發(fā)明的一方面,提供了一種用于網(wǎng)絡(luò)的代理方法,包括:
[0005]對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析,將該訪問(wèn)請(qǐng)求解析至第一代理服務(wù)器;以及
[0006]由該第一代理服務(wù)器基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至第一服務(wù)器集群中的正式發(fā)布服務(wù)器組,該第一服務(wù)器集群包括用于提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組和用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組,該預(yù)發(fā)布服務(wù)器組在升級(jí)完畢后切換為正式發(fā)布服務(wù)器組以用于提供訪問(wèn)服務(wù),而該正式發(fā)布服務(wù)器組相應(yīng)地切換為該預(yù)發(fā)布服務(wù)器組以用于服務(wù)器升級(jí)。
[0007]在一實(shí)例中,該執(zhí)行域名解析包括:基于該訪問(wèn)請(qǐng)求的發(fā)起位置將該訪問(wèn)請(qǐng)求解析至多個(gè)代理服務(wù)器中的該第一代理服務(wù)器,該多個(gè)代理服務(wù)器部署于不同的地域,每個(gè)地域內(nèi)部署有相應(yīng)的服務(wù)器集群,該訪問(wèn)請(qǐng)求的發(fā)起位置落在該第一代理服務(wù)器所處的第一地域內(nèi),該第一服務(wù)器集群為該第一代理服務(wù)器的配置信息中首選地域內(nèi)的服務(wù)器集群。
[0008]在一實(shí)例中,該將該訪問(wèn)請(qǐng)求代理至該第一服務(wù)器集群中的正式發(fā)布服務(wù)器組進(jìn)一步包括:基于負(fù)載均衡策略將該訪問(wèn)請(qǐng)求代理至該第一服務(wù)器集群中該正式發(fā)布服務(wù)器組中的服務(wù)器。
[0009]在一實(shí)例中,該代理方法還包括:若該第一服務(wù)器集群的正式發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則由該第一代理服務(wù)器基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至下一地域內(nèi)的服務(wù)器集群中的正式發(fā)布服務(wù)器組直至該訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0010]在一實(shí)例中,該代理方法還包括:若所有地域內(nèi)的服務(wù)器集群的正式發(fā)布服務(wù)器組均響應(yīng)異常,則由該第一代理服務(wù)器基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至該第一服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組。
[0011 ]在一實(shí)例中,該代理方法還包括:若該第一服務(wù)器集群的預(yù)發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則由該第一代理服務(wù)器基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至該下一地域內(nèi)的服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組直至該訪問(wèn)請(qǐng)求得到正常響應(yīng),其中,后續(xù)若檢測(cè)到有正式發(fā)布服務(wù)器組正常工作,則將后續(xù)訪問(wèn)請(qǐng)求代理至正常工作的正式發(fā)布服務(wù)器組。
[0012]在一實(shí)例中,該代理方法還包括:在該訪問(wèn)請(qǐng)求得到正常響應(yīng)之后,修改該配置信息以將提供正常響應(yīng)的服務(wù)器集群所在的地域配置為首選地域。
[0013]在一實(shí)例中,該負(fù)載均衡策略包括以下至少一者:輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡。
[0014]在一實(shí)例中,該訪問(wèn)請(qǐng)求包括頭部部分和主體部分,還包括:由該第一代理服務(wù)器解析該訪問(wèn)請(qǐng)求的主體部分以獲取用戶ID,以用于該負(fù)載均衡策略的標(biāo)識(shí)。
[0015]在一實(shí)例中,該第一代理服務(wù)器基于本地存儲(chǔ)的關(guān)于該訪問(wèn)請(qǐng)求的請(qǐng)求格式對(duì)該訪問(wèn)請(qǐng)求的主體部分執(zhí)行解析。
[0016]根據(jù)本發(fā)明的另一方面,提供了一種用于網(wǎng)絡(luò)的代理系統(tǒng),包括:
[0017]域名解析服務(wù)器,用于對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析;
[0018]至少一個(gè)代理服務(wù)器,每個(gè)代理服務(wù)器用于執(zhí)行代理功能;以及
[0019]至少一個(gè)服務(wù)器集群,每個(gè)服務(wù)器集群包括用于提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組和用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組,該預(yù)發(fā)布服務(wù)器組在升級(jí)完畢后切換為正式發(fā)布服務(wù)器組以用于提供訪問(wèn)服務(wù),而該正式發(fā)布服務(wù)器組相應(yīng)地切換為該預(yù)發(fā)布服務(wù)器組以用于服務(wù)器升級(jí),
[0020]其中該域名解析服務(wù)器將該訪問(wèn)請(qǐng)求解析至該至少一個(gè)代理服務(wù)器中的第一代理服務(wù)器,該第一代理服務(wù)器基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至該至少一個(gè)服務(wù)器集群中的第一服務(wù)器集群的正式發(fā)布服務(wù)器組。
[0021 ] 在一實(shí)例中,該至少一個(gè)代理服務(wù)器包括部署于不同的地域的多個(gè)代理服務(wù)器,該至少一個(gè)服務(wù)器集群包括部署于不同地域的多個(gè)服務(wù)器集群,該域名解析服務(wù)器基于該訪問(wèn)請(qǐng)求的發(fā)起位置將該訪問(wèn)請(qǐng)求解析至該第一代理服務(wù)器,該訪問(wèn)請(qǐng)求的發(fā)起位置落在該第一代理服務(wù)器所處的第一地域內(nèi),該第一服務(wù)器集群為該第一代理服務(wù)器的配置信息中首選地域內(nèi)的服務(wù)器集群。
[0022]在一實(shí)例中,該第一代理服務(wù)器進(jìn)一步用于基于負(fù)載均衡策略將該訪問(wèn)請(qǐng)求代理至該第一服務(wù)器集群中該正式發(fā)布服務(wù)器組中的服務(wù)器。
[0023]在一實(shí)例中,該第一代理服務(wù)器進(jìn)一步用于若該第一服務(wù)器集群的正式發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至下一地域內(nèi)的服務(wù)器集群中的正式發(fā)布服務(wù)器組直至該訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0024]在一實(shí)例中,該第一代理服務(wù)器進(jìn)一步用于若所有地域內(nèi)的服務(wù)器集群的正式發(fā)布服務(wù)器組均響應(yīng)異常,則基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至該第一服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組,其中,后續(xù)若檢測(cè)到有正式發(fā)布服務(wù)器組正常工作,則將后續(xù)訪問(wèn)請(qǐng)求代理至正常工作的正式發(fā)布服務(wù)器組。
[0025]在一實(shí)例中,該第一代理服務(wù)器進(jìn)一步用于若該第一服務(wù)器集群的預(yù)發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則基于自身的配置信息將該訪問(wèn)請(qǐng)求代理至該下一地域內(nèi)的服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組直至該訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0026]在一實(shí)例中,該第一代理服務(wù)器進(jìn)一步用于在該訪問(wèn)請(qǐng)求得到正常響應(yīng)之后,修改該配置信息以將提供正常響應(yīng)的服務(wù)器集群所在的地域配置為首選地域。
[0027]在一實(shí)例中,該負(fù)載均衡策略包括以下至少一者:輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡。
[0028]在一實(shí)例中,該訪問(wèn)請(qǐng)求包括頭部部分和主體部分,該第一代理服務(wù)器還包括:解析模塊,用于解析該訪問(wèn)請(qǐng)求的主體部分以獲取用戶ID,以用于該負(fù)載均衡策略的標(biāo)識(shí)。
[0029]在一實(shí)例中,該第一代理服務(wù)器還包括數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中存儲(chǔ)有多種請(qǐng)求類型的請(qǐng)求格式,該解析模塊查找該數(shù)據(jù)庫(kù)以根據(jù)該用戶請(qǐng)求的請(qǐng)求格式來(lái)對(duì)該訪問(wèn)請(qǐng)求的主體部分執(zhí)行解析。
[0030]在本發(fā)明中,通過(guò)提供正式發(fā)布和預(yù)發(fā)布環(huán)境的實(shí)時(shí)切換,解決了所有代理服務(wù)器修改配置后需要重啟后生效的問(wèn)題,該技術(shù)不需要重啟服務(wù)器,修改任何配置即實(shí)時(shí)生效,實(shí)現(xiàn)了動(dòng)態(tài)代理的效果。另一方面,通過(guò)加入地域的概念,可以單獨(dú)對(duì)某一個(gè)地域代理負(fù)載,也可以配置多個(gè)地域,對(duì)多個(gè)地域進(jìn)行負(fù)載代理,多個(gè)地域進(jìn)行切換,提供了代理的靈活性。
[0031]此外,相比nginx只能從請(qǐng)求頭信息中獲取負(fù)載策略相關(guān)內(nèi)容,本發(fā)明通過(guò)解析請(qǐng)求體信息獲取負(fù)載策略內(nèi)容,從而加強(qiáng)了負(fù)載策略,解決了一般負(fù)載策略執(zhí)行方式單一的問(wèn)題,從而支持代理負(fù)載均衡多樣性,例如可以支持微信和webservice等多種形式。
【附圖說(shuō)明】
[0032]在結(jié)合以下附圖閱讀本公開的實(shí)施例的詳細(xì)描述之后,能夠更好地理解本發(fā)明的上述特征和優(yōu)點(diǎn)。在附圖中,各組件不一定是按比例繪制,并且具有類似的相關(guān)特性或特征的組件可能具有相同或相近的附圖標(biāo)記。
[0033]圖1是示出了根據(jù)本發(fā)明的一方面的代理系統(tǒng)的框圖;
[0034]圖2是示出了根據(jù)本發(fā)明的一方面的代理方法的流程圖;
[0035]圖3是示出了根據(jù)本發(fā)明的另一方面的代理系統(tǒng)的框圖;以及
[0036]圖4是示出了根據(jù)本發(fā)明的另一方面的代理方法的流程圖。
【具體實(shí)施方式】
[0037]以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作詳細(xì)描述。注意,以下結(jié)合附圖和具體實(shí)施例描述的諸方面僅是示例性的,而不應(yīng)被理解為對(duì)本發(fā)明的保護(hù)范圍進(jìn)行任何限制。
[0038]圖1是示出了根據(jù)本發(fā)明的一方面的代理系統(tǒng)100的框圖。如圖1所示,代理系統(tǒng)100可包括域名解析服務(wù)器101、代理服務(wù)器121、122、以及服務(wù)器集群131、132。
[0039]用戶經(jīng)由客戶端發(fā)起一訪問(wèn)請(qǐng)求。這里的客戶端可以是網(wǎng)頁(yè)瀏覽器、APP軟件如微信等等。經(jīng)由客戶端發(fā)起的訪問(wèn)請(qǐng)求首先經(jīng)由域名解析服務(wù)器101進(jìn)行域名解析。域名解析服務(wù)器101負(fù)責(zé)將訪問(wèn)請(qǐng)求解析至代理服務(wù)器121、122中的一者。
[0040]根據(jù)本發(fā)明的一方面,借助“地域”來(lái)執(zhí)行代理功能。代理服務(wù)器121、122部署于不同地域,服務(wù)器集群131、132也部署于不同的地域。在圖1所示的實(shí)例中,代理服務(wù)器121、和服務(wù)器集群131部署于相同的地域I中;代理服務(wù)器122和服務(wù)器集群132部署于相同的地域2。
[0041 ] 在圖1所示的實(shí)例中僅僅示出了兩個(gè)地域,地域1、地域2,也僅僅示出了這兩個(gè)地域的代理服務(wù)器和服務(wù)器集群,然而,本領(lǐng)域技術(shù)人員可以理解,可存在兩個(gè)以上的地域,并且每個(gè)地域中部署相應(yīng)的代理服務(wù)器和服務(wù)器集群,例如存部署于地域η中的代理服務(wù)器12η和服務(wù)器集群1311(其中11>2)(未示出)。
[0042]在一實(shí)施例中,域名解析服務(wù)器101可基于訪問(wèn)請(qǐng)求的發(fā)起地址來(lái)決定將該訪問(wèn)請(qǐng)求解析至哪一個(gè)代理服務(wù)器。例如,域名解析服務(wù)器101可將訪問(wèn)請(qǐng)求解析至第一代理服務(wù)器,其中該訪問(wèn)請(qǐng)求的發(fā)起地址落在該第一代理服務(wù)器所處的地域。
[0043]作為示例,該第一代理服務(wù)器可以為代理服務(wù)器121,即域名解析服務(wù)器101將訪問(wèn)請(qǐng)求解析至地域I的代理服務(wù)器121。
[0044]代理服務(wù)器121例如通過(guò)監(jiān)聽80端口接收到該訪問(wèn)請(qǐng)求。代理服務(wù)器121可基于自身的配置信息確定將訪問(wèn)請(qǐng)求代理首選地域內(nèi)的服務(wù)器集群。配置信息中可以存儲(chǔ)有首選地域,所謂首選地域是指代理服務(wù)器121將訪問(wèn)請(qǐng)求優(yōu)先代理至該首選地域的服務(wù)器集群。配置信息中還可以存儲(chǔ)有按優(yōu)先級(jí)排序的其他地域的排序列表。
[0045]作為示例,正常情況下一個(gè)代理服務(wù)器的配置信息中的優(yōu)選地域?yàn)樵摯矸?wù)器自身所處的地域。例如對(duì)于代理服務(wù)器121而言,其首選地域?yàn)榈赜騃,對(duì)于代理服務(wù)器122而言,首選地域?yàn)榈赜?。當(dāng)然,配置信息中的首選地域是可以更改的,例如在首選地域的服務(wù)器集群出現(xiàn)宕機(jī)無(wú)法正常響應(yīng)時(shí),可以更改首選地域,這在下文詳細(xì)描述。
[0046]在圖1所示的實(shí)例中,代理服務(wù)器121可基于自身配置信息將訪問(wèn)請(qǐng)求代理至地域I內(nèi)的服務(wù)器集群131。
[0047]服務(wù)器集群131中含有多個(gè)服務(wù)器,例如服務(wù)器A、B、C、D,這里僅示出了4個(gè)服務(wù)器,然而可以理解可以存在更多個(gè)服務(wù)器。
[0048]代理服務(wù)器121可基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至首選地域內(nèi)的服務(wù)器集群即地域I內(nèi)的服務(wù)器集群131中的一服務(wù)器。
[0049]常用的負(fù)載均衡策略包括以下幾種類型:
[0050]輪循均衡(RoundRobin):每一次來(lái)自網(wǎng)絡(luò)的請(qǐng)求輪流分配給內(nèi)部中的服務(wù)器,從I至N然后重新開始。此種均衡算法適合于服務(wù)器組中的所有服務(wù)器都有相同的軟硬件配置并且平均服務(wù)請(qǐng)求相對(duì)均衡的情況。
[0051]權(quán)重輪循均衡(Weighted Round Robin):根據(jù)服務(wù)器的不同處理能力,給每個(gè)服務(wù)器分配不同的權(quán)值,使其能夠接受相應(yīng)權(quán)值數(shù)的服務(wù)請(qǐng)求。例如:服務(wù)器A的權(quán)值被設(shè)計(jì)成I,B的權(quán)值是3,C的權(quán)值是6,則服務(wù)器A、B、C將分別接受到1 %、30 %、60 %的服務(wù)請(qǐng)求。此種均衡算法能確保高性能的服務(wù)器得到更多的使用率,避免低性能的服務(wù)器負(fù)載過(guò)重。
[0052]隨機(jī)均衡(Random):把來(lái)自網(wǎng)絡(luò)的請(qǐng)求隨機(jī)分配給內(nèi)部中的多個(gè)服務(wù)器。
[0053]權(quán)重隨機(jī)均衡(WeightedRandom):此種均衡算法類似于權(quán)重輪循算法,不過(guò)在處理請(qǐng)求分擔(dān)時(shí)是個(gè)隨機(jī)選擇的過(guò)程。
[0054]響應(yīng)速度均衡(ResponseTime):負(fù)載均衡設(shè)備對(duì)內(nèi)部各服務(wù)器發(fā)出一個(gè)探測(cè)請(qǐng)求(例如Ping),然后根據(jù)內(nèi)部中各服務(wù)器對(duì)探測(cè)請(qǐng)求的最快響應(yīng)時(shí)間來(lái)決定哪一臺(tái)服務(wù)器來(lái)響應(yīng)客戶端的服務(wù)請(qǐng)求。此種均衡算法能較好的反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài),但這最快響應(yīng)時(shí)間僅僅指的是負(fù)載均衡設(shè)備與服務(wù)器間的最快響應(yīng)時(shí)間,而不是客戶端與服務(wù)器間的最快響應(yīng)時(shí)間。
[0055]最少連接數(shù)均衡(LeastConnect1n):客戶端的每一次請(qǐng)求服務(wù)在服務(wù)器停留的時(shí)間可能會(huì)有較大的差異,隨著工作時(shí)間加長(zhǎng),如果采用簡(jiǎn)單的輪循或隨機(jī)均衡算法,每一臺(tái)服務(wù)器上的連接進(jìn)程可能會(huì)產(chǎn)生極大的不同,并沒有達(dá)到真正的負(fù)載均衡。最少連接數(shù)均衡算法對(duì)內(nèi)部中需負(fù)載的每一臺(tái)服務(wù)器都有一個(gè)數(shù)據(jù)記錄,記錄當(dāng)前該服務(wù)器正在處理的連接數(shù)量,當(dāng)有新的服務(wù)連接請(qǐng)求時(shí),將把當(dāng)前請(qǐng)求分配給連接數(shù)最少的服務(wù)器,使均衡更加符合實(shí)際情況,負(fù)載更加均衡。此種均衡算法適合長(zhǎng)時(shí)處理的請(qǐng)求服務(wù),如FTP。
[0056]處理能力均衡:此種均衡算法將把服務(wù)請(qǐng)求分配給內(nèi)部中處理負(fù)荷(根據(jù)服務(wù)器CPU型號(hào)、CPU數(shù)量、內(nèi)存大小及當(dāng)前連接數(shù)等換算而成)最輕的服務(wù)器,由于考慮到了內(nèi)部服務(wù)器的處理能力及當(dāng)前網(wǎng)絡(luò)運(yùn)行狀況,所以此種均衡算法相對(duì)來(lái)說(shuō)更加精確,尤其適合運(yùn)用到第七層(應(yīng)用層)負(fù)載均衡的情況下。
[0057]DNS響應(yīng)均衡(Flash DNS):在Internet上,無(wú)論是HTTP、FTP或是其它的服務(wù)請(qǐng)求,客戶端一般都是通過(guò)域名解析來(lái)找到服務(wù)器確切的IP地址的。在此均衡算法下,分處在不同地理位置的負(fù)載均衡設(shè)備收到同一個(gè)客戶端的域名解析請(qǐng)求,并在同一時(shí)間內(nèi)把此域名解析成各自相對(duì)應(yīng)服務(wù)器的IP地址(即與此負(fù)載均衡設(shè)備在同一位地理位置的服務(wù)器的IP地址)并返回給客戶端,則客戶端將以最先收到的域名解析IP地址來(lái)繼續(xù)請(qǐng)求服務(wù),而忽略其它的IP地址響應(yīng)。在種均衡策略適合應(yīng)用在全局負(fù)載均衡的情況下,對(duì)本地負(fù)載均衡是沒有意義的。
[0058]例如代理服務(wù)器121可基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至服務(wù)器集群131中的服務(wù)器A,若服務(wù)器A響應(yīng)異常,則可再次基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至該服務(wù)器集群131中的其他服務(wù)器,若響應(yīng)還是異常,則再次代理至該服務(wù)器集群131中的下一服務(wù)器,重復(fù)此操作直至訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0059]在極端情況下,若首選地域內(nèi)的服務(wù)器集群中的所有服務(wù)器都不能正常響應(yīng),則代理服務(wù)器121可基于配置信息將訪問(wèn)請(qǐng)求代理至另一地域內(nèi)的服務(wù)器集群,例如配置信息中優(yōu)先級(jí)僅次于首選地域的下一地域內(nèi)的服務(wù)器集群。作為示例,例如可代理服務(wù)器121可將訪問(wèn)請(qǐng)求代理至地域2內(nèi)的服務(wù)器集群132。
[0060]若服務(wù)器集群2能夠提供正常響應(yīng),則代理服務(wù)器121可修改配置信息以將首選地域改為地域2。較優(yōu)地,當(dāng)?shù)赜騃內(nèi)的服務(wù)器集群131恢復(fù)正常,代理服務(wù)器121的首選地域可以再改回地域I。
[0061]訪問(wèn)請(qǐng)求一般包括頭部部分和主體部分。如先前所述的,訪問(wèn)請(qǐng)求有可能是通過(guò)微信平臺(tái)等網(wǎng)絡(luò)平臺(tái)發(fā)出的,此時(shí),訪問(wèn)請(qǐng)求的頭部部分的信息是一樣的,不能作為一些普通負(fù)載策略的標(biāo)示。
[0062]在本發(fā)明,代理服務(wù)器可以包括數(shù)據(jù)庫(kù)和解析模塊(圖中未示出)。數(shù)據(jù)庫(kù)中可以預(yù)存有多種請(qǐng)求類型的請(qǐng)求格式。解析模塊可以通過(guò)查找數(shù)據(jù)庫(kù)以根據(jù)該用戶請(qǐng)求的請(qǐng)求格式對(duì)訪問(wèn)請(qǐng)求的主體部分進(jìn)行解析,以獲取用戶ID,由此可以作為負(fù)載均衡策略的標(biāo)識(shí)。
[0063]圖2是示出了根據(jù)本發(fā)明的一方面的代理方法200的流程圖。如圖2所示,代理方法200可包括以下步驟:
[0064]在步驟201:對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析,將訪問(wèn)請(qǐng)求解析至多個(gè)代理服務(wù)器中的第一代理服務(wù)器,該多個(gè)代理服務(wù)器部署于不同的地域。
[0065]該解析可以是基于訪問(wèn)請(qǐng)求的發(fā)起位置來(lái)進(jìn)行的,例如該訪問(wèn)請(qǐng)求的發(fā)起位置落在第一代理服務(wù)器所處的第一地域內(nèi)。
[0066]在步驟202:由第一代理服務(wù)器基于自身的配置信息將訪問(wèn)請(qǐng)求代理至首選地域內(nèi)的服務(wù)器集群。
[0067]配置信息中可以存儲(chǔ)有首選地域,所謂首選地域是指代理服務(wù)器將訪問(wèn)請(qǐng)求優(yōu)先代理至該首選地域的服務(wù)器集群。配置信息中還可以存儲(chǔ)有按優(yōu)先級(jí)排序的其他地域的排序列表。作為示例,正常情況下一個(gè)代理服務(wù)器的配置信息中的優(yōu)選地域?yàn)樵摯矸?wù)器自身所處的地域。
[0068]進(jìn)一步地,第一代理服務(wù)器可基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至首選地域內(nèi)的服務(wù)器集群中的一服務(wù)器。如前所述,常有的負(fù)載均衡策略可包括輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡等等。
[0069]若所代理到的服務(wù)器響應(yīng)異常,則再次基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至首選地域內(nèi)的服務(wù)器集群中的其他服務(wù)器直至訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0070]若該首選地域內(nèi)的服務(wù)器集群中的所有服務(wù)器均響應(yīng)異常,則由第一代理服務(wù)器基于自身的配置信息將訪問(wèn)請(qǐng)求代理至另一地域內(nèi)的服務(wù)器集群,例如配置信息中按照優(yōu)先級(jí)排序位于首選地域的下一個(gè)地域內(nèi)的服務(wù)器集群。
[0071]在將訪問(wèn)請(qǐng)求代理至另一地域內(nèi)的服務(wù)器集群并且訪問(wèn)請(qǐng)求得到正常響應(yīng)之后,修改該配置信息以將該另一地域配置為首選地域。優(yōu)選地,可以在該第一地域內(nèi)的服務(wù)器集群可以正常響應(yīng)時(shí),將第一地域改回為首選地域。
[0072]在一實(shí)例中,可由第一代理服務(wù)器解析訪問(wèn)請(qǐng)求的主體部分以獲取用戶ID,以用于負(fù)載均衡策略的標(biāo)識(shí)。例如,第一代理服務(wù)器可基于本地存儲(chǔ)的關(guān)于訪問(wèn)請(qǐng)求的請(qǐng)求格式對(duì)訪問(wèn)請(qǐng)求的主體部分執(zhí)行解析。
[0073]圖3是示出了根據(jù)本發(fā)明的另一方面的代理系統(tǒng)300的框圖。
[0074]如圖3所示,代理系統(tǒng)300可包括域名解析服務(wù)器301、代理服務(wù)器321、322、以及服務(wù)器集群331、332。圖3中示出的兩個(gè)代理服務(wù)器321、322以及兩個(gè)服務(wù)器集群331、332僅僅是示例,實(shí)踐中,可以存在一個(gè)代理服務(wù)器和一個(gè)服務(wù)器集群,也可以存在大于兩個(gè)的代理服務(wù)器和大于兩個(gè)的服務(wù)器集群。
[0075]根據(jù)本發(fā)明的一方面,每個(gè)服務(wù)器集群可包括兩個(gè)服務(wù)器組,其中一個(gè)服務(wù)器組為提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組,另一組為用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組。這兩組服務(wù)器組是完全一樣的,區(qū)別僅在于兩者的角色不同,即,每個(gè)服務(wù)器組的角色在“正式發(fā)布服務(wù)器組”和“預(yù)發(fā)布服務(wù)器組”之間進(jìn)行切換。當(dāng)一個(gè)服務(wù)器組為“正式發(fā)布服務(wù)器組”時(shí),另一組則為“預(yù)發(fā)布服務(wù)器組”,而當(dāng)原先為“正式發(fā)布服務(wù)器組”角色的服務(wù)器組切換為“預(yù)發(fā)布服務(wù)器組”時(shí),原先為“預(yù)發(fā)布服務(wù)器組”角色的服務(wù)器組同時(shí)切換為“正式發(fā)布服務(wù)器組”。
[0076]以圖3中的實(shí)例為例,服務(wù)器集群331包括兩個(gè)服務(wù)器組3311、3312。服務(wù)器組3311和服務(wù)器組3312原本為兩個(gè)互為映射的服務(wù)器組,即兩者完全相同。然而將服務(wù)器組3311用于向用戶提供訪問(wèn)響應(yīng),另一服務(wù)器組3312不用于向用戶提供訪問(wèn)響應(yīng),而是用于服務(wù)器升級(jí)。此時(shí),服務(wù)器組3311即可稱為正式發(fā)布服務(wù)器組,此時(shí)服務(wù)器組3312可稱為預(yù)發(fā)布服務(wù)器組。
[0077]在一個(gè)例子中,在服務(wù)器組3312為承擔(dān)預(yù)發(fā)布服務(wù)器組角色的時(shí)間內(nèi),如果需要對(duì)服務(wù)器作任何升級(jí),則不對(duì)承擔(dān)正式發(fā)布服務(wù)器組角色的服務(wù)器組3311做任何操作,而是僅對(duì)服務(wù)器組3312進(jìn)行升級(jí),這里的服務(wù)器升級(jí)可以是服務(wù)器內(nèi)容的更新,或者服務(wù)器配置的修改。
[0078]當(dāng)承擔(dān)預(yù)發(fā)布服務(wù)器組角色的服務(wù)器組3312升級(jí)完畢后,服務(wù)器組3312可從預(yù)發(fā)布服務(wù)器組的角色切換為正式發(fā)布服務(wù)器組,相應(yīng)地,服務(wù)器組3311則從正式發(fā)布服務(wù)器組的角色切換為預(yù)發(fā)布服務(wù)器組,兩者實(shí)現(xiàn)角色互換。
[0079]在另一個(gè)例子中,在服務(wù)器組3312為承擔(dān)預(yù)發(fā)布服務(wù)器組角色的時(shí)間內(nèi),如果需要對(duì)服務(wù)器作任何升級(jí),可以先將服務(wù)器組3312切換為正式服務(wù)器組,同時(shí)將服務(wù)器組3311切換為預(yù)發(fā)布服務(wù)器組;然后,對(duì)服務(wù)器組3311進(jìn)行升級(jí)。
[0080]當(dāng)對(duì)服務(wù)器組3311進(jìn)行升級(jí)完畢后,服務(wù)器組3312重新切換為預(yù)發(fā)布服務(wù)器組,升級(jí)后的服務(wù)器組3311切換為正式服務(wù)器組。需要說(shuō)明的是,上述切換為服務(wù)器組之間的被動(dòng)切換。但本發(fā)明中還可以在正式服務(wù)器組全部異常的情況下,將預(yù)發(fā)布服務(wù)器組切換為正式服務(wù)器組,而正式服務(wù)器組切換為預(yù)發(fā)布服務(wù)器組。后續(xù)還可以定時(shí)檢測(cè)異常的預(yù)發(fā)布服務(wù)器組是否恢復(fù)正常,待預(yù)發(fā)布服務(wù)器組恢復(fù)正常之后,恢復(fù)正常的預(yù)發(fā)布服務(wù)器切換為正式服務(wù)器組,而正式服務(wù)器組重新切換回預(yù)發(fā)布服務(wù)器組。
[0081]用戶經(jīng)由客戶端發(fā)起一訪問(wèn)請(qǐng)求。這里的客戶端可以是網(wǎng)頁(yè)瀏覽器、APP軟件如微信等等。經(jīng)由客戶端發(fā)起的訪問(wèn)請(qǐng)求首先經(jīng)由域名解析服務(wù)器301進(jìn)行域名解析。域名解析服務(wù)器301負(fù)責(zé)將訪問(wèn)請(qǐng)求解析至代理服務(wù)器321、322中的一者,例如代理服務(wù)器321。代理服務(wù)器321可基于自身的配置信息將訪問(wèn)請(qǐng)求代理至一個(gè)服務(wù)器集群,例如服務(wù)器集群331的正式發(fā)布服務(wù)器組。
[0082]由上可知,代理服務(wù)器總是將訪問(wèn)請(qǐng)求代理至服務(wù)器集群中的正式發(fā)布服務(wù)器組。由于正式發(fā)布服務(wù)器組總是經(jīng)過(guò)升級(jí)且能提供正常訪問(wèn)響應(yīng)的服務(wù)器組,因此,訪問(wèn)請(qǐng)求總能得到正常響應(yīng)。此外,盡管正式發(fā)布服務(wù)器組在服務(wù)器集群的兩個(gè)服務(wù)器組之間切換,但是該切換對(duì)于用戶而言是不可見的,因此,服務(wù)器的升級(jí)可以無(wú)縫切換,不需要重新啟動(dòng)服務(wù)器。
[0083]在存在多個(gè)代理服務(wù)器和多個(gè)服務(wù)器集群的情況下,可以借助“地域”來(lái)執(zhí)行代理功能。例如,代理服務(wù)器321、322部署于不同地域,服務(wù)器集群331、332也部署于不同的地域。在圖3所示的實(shí)例中,代理服務(wù)器321、和服務(wù)器集群331部署于相同的地域I中;代理服務(wù)器322和服務(wù)器集群332部署于相同的地域2。
[0084]在一實(shí)施例中,域名解析服務(wù)器301可基于訪問(wèn)請(qǐng)求的發(fā)起地址來(lái)決定將該訪問(wèn)請(qǐng)求解析至哪一個(gè)代理服務(wù)器。例如,域名解析服務(wù)器101可將訪問(wèn)請(qǐng)求解析至第一代理服務(wù)器,其中該訪問(wèn)請(qǐng)求的發(fā)起地址落在該第一代理服務(wù)器所處的地域。
[0085]代理服務(wù)器321例如通過(guò)監(jiān)聽80端口接收到該訪問(wèn)請(qǐng)求。在一實(shí)例中,代理服務(wù)器321可基于自身的配置信息確定將訪問(wèn)請(qǐng)求代理首選地域內(nèi)的服務(wù)器集群。配置信息中可以存儲(chǔ)有首選地域,所謂首選地域是指代理服務(wù)器321將訪問(wèn)請(qǐng)求優(yōu)先代理至該首選地域的服務(wù)器集群。配置信息中還可以存儲(chǔ)有按優(yōu)先級(jí)排序的其他地域的排序列表。
[0086]作為示例,正常情況下一個(gè)代理服務(wù)器的配置信息中的優(yōu)選地域?yàn)樵摯矸?wù)器自身所處的地域。例如對(duì)于代理服務(wù)器321而言,其首選地域?yàn)榈赜騃,對(duì)于代理服務(wù)器322而言,首選地域?yàn)榈赜?。
[0087]在圖3所示的實(shí)例中,代理服務(wù)器321可基于自身配置信息將訪問(wèn)請(qǐng)求代理至地域I內(nèi)的服務(wù)器集群331。
[0088]代理服務(wù)器321可基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至首選地域內(nèi)的服務(wù)器集群即地域I內(nèi)的服務(wù)器集群331中的正式發(fā)布服務(wù)器組例如服務(wù)器組3311中的服務(wù)器。
[0089]常用的負(fù)載均衡策略可包括輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡等等。
[0090]例如代理服務(wù)器321可基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至服務(wù)器集群331中正式發(fā)布服務(wù)器組3311中的服務(wù)器A,若服務(wù)器A響應(yīng)異常,則可再次基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至該服務(wù)器組3311中的其他服務(wù)器,若響應(yīng)還是異常,則再次代理至該服務(wù)器組3311中的下一服務(wù)器,重復(fù)此操作直至訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0091 ]在極端情況下,若服務(wù)器集群331的正式發(fā)布服務(wù)器組3311中的所有服務(wù)器都不能正常響應(yīng),則代理服務(wù)器321可基于配置信息將訪問(wèn)請(qǐng)求代理至下一地域內(nèi),例如配置信息中優(yōu)先級(jí)僅次于首選地域的下一地域內(nèi)的服務(wù)器集群中的正式發(fā)布服務(wù)器組。作為示例,例如代理服務(wù)器321可將訪問(wèn)請(qǐng)求代理至地域2內(nèi)的服務(wù)器集群332內(nèi)的正式發(fā)布服務(wù)器組。若此時(shí)服務(wù)器集群332中的正式發(fā)布服務(wù)器組為服務(wù)器組3321,則將訪問(wèn)請(qǐng)求代理至服務(wù)器組3321,否則代理至服務(wù)器組3322。
[0092]在更極端的情況下,若所有地域內(nèi)的服務(wù)器集群的正式發(fā)布服務(wù)器組均響應(yīng)異常,則代理服務(wù)器321可以將訪問(wèn)請(qǐng)求重新代理至首選地域內(nèi)的服務(wù)器集群的預(yù)發(fā)布服務(wù)器組,例如地域I的服務(wù)器集群331中的預(yù)發(fā)布服務(wù)器組3312。
[0093]若該地域I的服務(wù)器集群331中的預(yù)發(fā)布服務(wù)器組3312也無(wú)法正常響應(yīng),則可將訪問(wèn)請(qǐng)求代理至下一地域內(nèi),例如配置信息中優(yōu)先級(jí)僅次于首選地域的下一地域內(nèi)的服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組,例如地域2的服務(wù)器集群332中的預(yù)發(fā)布服務(wù)器組3322直至訪問(wèn)請(qǐng)求得到正常響應(yīng)為止。
[0094]在所有服務(wù)器集群的正式發(fā)布服務(wù)器組皆宕機(jī)的情況下,后續(xù)可以間隔時(shí)間檢測(cè)正式發(fā)布服務(wù)器組是否正常,如果正式恢復(fù),就可以切換回正式發(fā)布服務(wù)器組。
[0095]如先前所述的,訪問(wèn)請(qǐng)求一般包括頭部部分和主體部分。訪問(wèn)請(qǐng)求有可能是通過(guò)微信平臺(tái)、webservice等發(fā)出的,此時(shí),訪問(wèn)請(qǐng)求的頭部部分的信息是一樣的,不能作為一些普通負(fù)載策略的標(biāo)示。
[0096]在本發(fā)明,代理服務(wù)器可以包括數(shù)據(jù)庫(kù)和解析模塊(圖中未示出)。數(shù)據(jù)庫(kù)中可以預(yù)存有多種請(qǐng)求類型的請(qǐng)求格式。解析模塊可以通過(guò)查找數(shù)據(jù)庫(kù)以根據(jù)該用戶請(qǐng)求的請(qǐng)求格式對(duì)訪問(wèn)請(qǐng)求的主體部分進(jìn)行解析,以獲取用戶ID,由此可以作為負(fù)載均衡策略的標(biāo)識(shí)。
[0097]圖4是示出了根據(jù)本發(fā)明的一方面的代理方法400的流程圖。如圖4所示,代理方法400可包括以下步驟:
[0098]在步驟401:對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析,將訪問(wèn)請(qǐng)求解析至第一代理服務(wù)器。
[0099]在一實(shí)例中,基于訪問(wèn)請(qǐng)求的發(fā)起位置將所述訪問(wèn)請(qǐng)求解析至多個(gè)代理服務(wù)器中的該第一代理服務(wù)器,這多個(gè)代理服務(wù)器部署于不同的地域,每個(gè)地域內(nèi)部署有相應(yīng)的服務(wù)器集群。該訪問(wèn)請(qǐng)求的發(fā)起位置落在所述第一代理服務(wù)器所處的第一地域內(nèi)
[0100]在步驟402:由該第一代理服務(wù)器基于自身的配置信息將訪問(wèn)請(qǐng)求代理至第一服務(wù)器集群中的正式發(fā)布服務(wù)器組,該第一服務(wù)器集群包括用于提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組和用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組,該預(yù)發(fā)布服務(wù)器組在升級(jí)完畢后切換為正式發(fā)布服務(wù)器組以用于提供訪問(wèn)服務(wù),而正式發(fā)布服務(wù)器組相應(yīng)地切換為預(yù)發(fā)布服務(wù)器組以用于服務(wù)器升級(jí)。
[0101]在每個(gè)地域配置一個(gè)服務(wù)器集群的實(shí)例中,該第一服務(wù)器集群可以為該第一代理服務(wù)器的配置信息中首選地域內(nèi)的服務(wù)器集群。
[0102]進(jìn)一步地,第一代理服務(wù)器可基于負(fù)載均衡策略將訪問(wèn)請(qǐng)求代理至該第一服務(wù)器集群中的正式發(fā)布服務(wù)器組中的服務(wù)器。常用的負(fù)載均衡策略可包括輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡等。
[0103]若第一服務(wù)器集群的正式發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則可由第一代理服務(wù)器基于自身的配置信息將訪問(wèn)請(qǐng)求代理至下一地域內(nèi)的服務(wù)器集群中的正式發(fā)布服務(wù)器組直至訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0104]在極端的情況下,若所有地域內(nèi)的服務(wù)器集群的正式發(fā)布服務(wù)器組均響應(yīng)異常,則可由第一代理服務(wù)器基于自身的配置信息將訪問(wèn)請(qǐng)求代理至第一服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組。
[0105]在更極端的情況下,若第一服務(wù)器集群的預(yù)發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則可由第一代理服務(wù)器基于自身的配置信息將訪問(wèn)請(qǐng)求代理至上述下一地域內(nèi)的服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組,重復(fù)此操作直至訪問(wèn)請(qǐng)求得到正常響應(yīng)。
[0106]在所有服務(wù)器集群的正式發(fā)布服務(wù)器組皆宕機(jī)的情況下,后續(xù)可以間隔時(shí)間檢測(cè)正式發(fā)布服務(wù)器組是否正常,如果正式恢復(fù),就可以切換回正式發(fā)布服務(wù)器組。
[0107]在一實(shí)例中,可由第一代理服務(wù)器解析訪問(wèn)請(qǐng)求的主體部分以獲取用戶ID,以用于負(fù)載均衡策略的標(biāo)識(shí)。例如,第一代理服務(wù)器可基于本地存儲(chǔ)的關(guān)于訪問(wèn)請(qǐng)求的請(qǐng)求格式對(duì)訪問(wèn)請(qǐng)求的主體部分執(zhí)行解析。
[0108]盡管為使解釋簡(jiǎn)單化將上述方法圖示并描述為一系列動(dòng)作,但是應(yīng)理解并領(lǐng)會(huì),這些方法不受動(dòng)作的次序所限,因?yàn)楦鶕?jù)一個(gè)或多個(gè)實(shí)施例,一些動(dòng)作可按不同次序發(fā)生和/或與來(lái)自本文中圖示和描述或本文中未圖示和描述但本領(lǐng)域技術(shù)人員可以理解的其他動(dòng)作并發(fā)地發(fā)生。
[0109]在本發(fā)明中,通過(guò)加入地域的概念,可以單獨(dú)對(duì)某一個(gè)地域代理負(fù)載,也可以配置多個(gè)地域,對(duì)多個(gè)地域進(jìn)行負(fù)載代理,多個(gè)地域進(jìn)行切換,提供了代理的靈活性。另一方面,通過(guò)提供正式發(fā)布和預(yù)發(fā)布環(huán)境的實(shí)時(shí)切換,解決了所有代理服務(wù)器修改配置后需要重啟后生效的問(wèn)題,該技術(shù)不需要重啟服務(wù)器,修改任何配置即實(shí)時(shí)生效,實(shí)現(xiàn)了動(dòng)態(tài)代理的效果O
[0110]此外,相比nginx只能從請(qǐng)求頭信息中獲取負(fù)載策略相關(guān)內(nèi)容,本發(fā)明通過(guò)解析請(qǐng)求體信息獲取負(fù)載策略內(nèi)容,從而加強(qiáng)了負(fù)載策略,解決了一般負(fù)載策略執(zhí)行方式單一的問(wèn)題,從而支持代理負(fù)載均衡多樣性,例如可以支持微信和webservice等多種形式。
[0111]本領(lǐng)域技術(shù)人員將領(lǐng)會(huì),結(jié)合本文中所公開的實(shí)施例來(lái)描述的各種解說(shuō)性邏輯板塊、模塊、電路、和算法步驟可實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件、或這兩者的組合。為清楚地解說(shuō)硬件與軟件的這一可互換性,各種解說(shuō)性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實(shí)現(xiàn)為硬件還是軟件取決于具體應(yīng)用和施加于整體系統(tǒng)的設(shè)計(jì)約束。技術(shù)人員對(duì)于每種特定應(yīng)用可用不同的方式來(lái)實(shí)現(xiàn)所描述的功能性,但這樣的實(shí)現(xiàn)決策不應(yīng)被解讀成導(dǎo)致脫離了本發(fā)明的范圍。
[0112]結(jié)合本文所公開的實(shí)施例描述的各種解說(shuō)性邏輯模塊、和電路可用通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其它可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設(shè)計(jì)成執(zhí)行本文所描述功能的任何組合來(lái)實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,該處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如DSP與微處理器的組合、多個(gè)微處理器、與DSP核心協(xié)作的一個(gè)或多個(gè)微處理器、或任何其他此類配置。
[0113]結(jié)合本文中公開的實(shí)施例描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、⑶-ROM、或本領(lǐng)域中所知的任何其他形式的存儲(chǔ)介質(zhì)中。示例性存儲(chǔ)介質(zhì)耦合到處理器以使得該處理器能從/向該存儲(chǔ)介質(zhì)讀取和寫入信息。在替換方案中,存儲(chǔ)介質(zhì)可以被整合到處理器。處理器和存儲(chǔ)介質(zhì)可駐留在ASIC中。ASIC可駐留在用戶終端中。在替換方案中,處理器和存儲(chǔ)介質(zhì)可作為分立組件駐留在用戶終端中。
[0114]在一個(gè)或多個(gè)示例性實(shí)施例中,所描述的功能可在硬件、軟件、固件或其任何組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品,則各功能可以作為一條或更多條指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)兩者,其包括促成計(jì)算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能被計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為示例而非限定,這樣的計(jì)算機(jī)可讀介質(zhì)可包括ram、rom、EEPR0M、CD_R0M或其它光盤存儲(chǔ)、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或能被用來(lái)攜帶或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的合意程序代碼且能被計(jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。任何連接也被正當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)、或諸如紅外、無(wú)線電、以及微波之類的無(wú)線技術(shù)從web網(wǎng)站、服務(wù)器、或其它遠(yuǎn)程源傳送而來(lái),則該同軸電纜、光纖電纜、雙絞線、DSL、或諸如紅外、無(wú)線電、以及微波之類的無(wú)線技術(shù)就被包括在介質(zhì)的定義之中。如本文中所使用的盤(disk)和碟(disc)包括壓縮碟(CD)、激光碟、光碟、數(shù)字多用碟(DVD)、軟盤和藍(lán)光碟,其中盤(disk)往往以磁的方式再現(xiàn)數(shù)據(jù),而碟(disc)用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種用于網(wǎng)絡(luò)的代理方法,包括: 對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析,將所述訪問(wèn)請(qǐng)求解析至第一代理服務(wù)器;以及 由所述第一代理服務(wù)器基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至第一服務(wù)器集群中的正式發(fā)布服務(wù)器組,所述第一服務(wù)器集群包括用于提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組和用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組,所述預(yù)發(fā)布服務(wù)器組在升級(jí)完畢后切換為正式發(fā)布服務(wù)器組以用于提供訪問(wèn)服務(wù),而所述正式發(fā)布服務(wù)器組相應(yīng)地切換為所述預(yù)發(fā)布服務(wù)器組以用于服務(wù)器升級(jí)。2.如權(quán)利要求1所述的代理方法,其特征在于,所述執(zhí)行域名解析包括: 基于所述訪問(wèn)請(qǐng)求的發(fā)起位置將所述訪問(wèn)請(qǐng)求解析至多個(gè)代理服務(wù)器中的所述第一代理服務(wù)器,所述多個(gè)代理服務(wù)器部署于不同的地域,每個(gè)地域內(nèi)部署有相應(yīng)的服務(wù)器集群,所述訪問(wèn)請(qǐng)求的發(fā)起位置落在所述第一代理服務(wù)器所處的第一地域內(nèi),所述第一服務(wù)器集群為所述第一代理服務(wù)器的配置信息中首選地域內(nèi)的服務(wù)器集群。3.如權(quán)利要求2所述的代理方法,其特征在于,所述將所述訪問(wèn)請(qǐng)求代理至所述第一服務(wù)器集群中的正式發(fā)布服務(wù)器組進(jìn)一步包括: 基于負(fù)載均衡策略將所述訪問(wèn)請(qǐng)求代理至所述第一服務(wù)器集群中所述正式發(fā)布服務(wù)器組中的服務(wù)器。4.如權(quán)利要求3所述的代理方法,其特征在于,還包括: 若所述第一服務(wù)器集群的正式發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則由所述第一代理服務(wù)器基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至下一地域內(nèi)的服務(wù)器集群中的正式發(fā)布服務(wù)器組直至所述訪問(wèn)請(qǐng)求得到正常響應(yīng)。5.如權(quán)利要求4所述的代理方法,其特征在于,還包括: 若所有地域內(nèi)的服務(wù)器集群的正式發(fā)布服務(wù)器組均響應(yīng)異常,則由所述第一代理服務(wù)器基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至所述第一服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組。6.如權(quán)利要求5所述的代理方法,其特征在于,還包括: 若所述第一服務(wù)器集群的預(yù)發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則由所述第一代理服務(wù)器基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至所述下一地域內(nèi)的服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組直至所述訪問(wèn)請(qǐng)求得到正常響應(yīng),其中,后續(xù)若檢測(cè)到有正式發(fā)布服務(wù)器組正常工作,則將后續(xù)訪問(wèn)請(qǐng)求代理至正常工作的正式發(fā)布服務(wù)器組。7.如權(quán)利要求4或6所述的代理方法,其特征在于,還包括: 在所述訪問(wèn)請(qǐng)求得到正常響應(yīng)之后,修改所述配置信息以將提供正常響應(yīng)的服務(wù)器集群所在的地域配置為首選地域。8.如權(quán)利要求4所述的代理方法,其特征在于,所述負(fù)載均衡策略包括以下至少一者:輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡。9.如權(quán)利要求4所述的代理方法,其特征在于,所述訪問(wèn)請(qǐng)求包括頭部部分和主體部分,還包括: 由所述第一代理服務(wù)器解析所述訪問(wèn)請(qǐng)求的主體部分以獲取用戶ID,以用于所述負(fù)載均衡策略的標(biāo)識(shí)。10.如權(quán)利要求9所述的代理方法,其特征在于,所述第一代理服務(wù)器基于本地存儲(chǔ)的關(guān)于所述訪問(wèn)請(qǐng)求的請(qǐng)求格式對(duì)所述訪問(wèn)請(qǐng)求的主體部分執(zhí)行解析。11.一種用于網(wǎng)絡(luò)的代理系統(tǒng),包括: 域名解析服務(wù)器,用于對(duì)訪問(wèn)請(qǐng)求執(zhí)行域名解析; 至少一個(gè)代理服務(wù)器,每個(gè)代理服務(wù)器用于執(zhí)行代理功能;以及 至少一個(gè)服務(wù)器集群,每個(gè)服務(wù)器集群包括用于提供訪問(wèn)服務(wù)的正式發(fā)布服務(wù)器組和用于服務(wù)器升級(jí)的預(yù)發(fā)布服務(wù)器組,所述預(yù)發(fā)布服務(wù)器組在升級(jí)完畢后切換為正式發(fā)布服務(wù)器組以用于提供訪問(wèn)服務(wù),而所述正式發(fā)布服務(wù)器組相應(yīng)地切換為所述預(yù)發(fā)布服務(wù)器組以用于服務(wù)器升級(jí), 其中所述域名解析服務(wù)器將所述訪問(wèn)請(qǐng)求解析至所述至少一個(gè)代理服務(wù)器中的第一代理服務(wù)器,所述第一代理服務(wù)器基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至所述至少一個(gè)服務(wù)器集群中的第一服務(wù)器集群的正式發(fā)布服務(wù)器組。12.如權(quán)利要求11所述的代理系統(tǒng),其特征在于,所述至少一個(gè)代理服務(wù)器包括部署于不同的地域的多個(gè)代理服務(wù)器,所述至少一個(gè)服務(wù)器集群包括部署于不同地域的多個(gè)服務(wù)器集群,所述域名解析服務(wù)器基于所述訪問(wèn)請(qǐng)求的發(fā)起位置將所述訪問(wèn)請(qǐng)求解析至所述第一代理服務(wù)器,所述訪問(wèn)請(qǐng)求的發(fā)起位置落在所述第一代理服務(wù)器所處的第一地域內(nèi),所述第一服務(wù)器集群為所述第一代理服務(wù)器的配置信息中首選地域內(nèi)的服務(wù)器集群。13.如權(quán)利要求12所述的代理系統(tǒng),其特征在于,所述第一代理服務(wù)器進(jìn)一步用于基于負(fù)載均衡策略將所述訪問(wèn)請(qǐng)求代理至所述第一服務(wù)器集群中所述正式發(fā)布服務(wù)器組中的服務(wù)器。14.如權(quán)利要求13所述的代理系統(tǒng),其特征在于,所述第一代理服務(wù)器進(jìn)一步用于若所述第一服務(wù)器集群的正式發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至下一地域內(nèi)的服務(wù)器集群中的正式發(fā)布服務(wù)器組直至所述訪問(wèn)請(qǐng)求得到正常響應(yīng)。15.如權(quán)利要求14所述的代理系統(tǒng),其特征在于,所述第一代理服務(wù)器進(jìn)一步用于若所有地域內(nèi)的服務(wù)器集群的正式發(fā)布服務(wù)器組均響應(yīng)異常,則基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至所述第一服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組,其中,后續(xù)若檢測(cè)到有正式發(fā)布服務(wù)器組正常工作,則將后續(xù)訪問(wèn)請(qǐng)求代理至正常工作的正式發(fā)布服務(wù)器組。16.如權(quán)利要求15所述的代理系統(tǒng),其特征在于,所述第一代理服務(wù)器進(jìn)一步用于若所述第一服務(wù)器集群的預(yù)發(fā)布服務(wù)器組中的所有服務(wù)器均響應(yīng)異常,則基于自身的配置信息將所述訪問(wèn)請(qǐng)求代理至所述下一地域內(nèi)的服務(wù)器集群中的預(yù)發(fā)布服務(wù)器組直至所述訪問(wèn)請(qǐng)求得到正常響應(yīng)。17.如權(quán)利要求14或16所述的代理系統(tǒng),其特征在于,所述第一代理服務(wù)器進(jìn)一步用于在所述訪問(wèn)請(qǐng)求得到正常響應(yīng)之后,修改所述配置信息以將提供正常響應(yīng)的服務(wù)器集群所在的地域配置為首選地域。18.如權(quán)利要求14所述的代理系統(tǒng),其特征在于,所述負(fù)載均衡策略包括以下至少一者:輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、最少連接數(shù)均衡、處理能力均衡、DNS響應(yīng)均衡。19.如權(quán)利要求14所述的代理系統(tǒng),其特征在于,所述訪問(wèn)請(qǐng)求包括頭部部分和主體部分,所述第一代理服務(wù)器還包括: 解析模塊,用于解析所述訪問(wèn)請(qǐng)求的主體部分以獲取用戶ID,以用于所述負(fù)載均衡策略的標(biāo)識(shí)。20.如權(quán)利要求19所述的代理系統(tǒng),其特征在于,所述第一代理服務(wù)器還包括數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有多種請(qǐng)求類型的請(qǐng)求格式,所述解析模塊查找所述數(shù)據(jù)庫(kù)以根據(jù)所述用戶請(qǐng)求的請(qǐng)求格式來(lái)對(duì)所述訪問(wèn)請(qǐng)求的主體部分執(zhí)行解析。
【文檔編號(hào)】H04L29/08GK105915655SQ201610506654
【公開日】2016年8月31日
【申請(qǐng)日】2016年6月30日
【發(fā)明人】包洋, 李波, 朱頻頻
【申請(qǐng)人】上海智臻智能網(wǎng)絡(luò)科技股份有限公司