一種網(wǎng)絡連接方法和裝置以及計算機系統(tǒng)的制作方法
【技術(shù)領域】
[0001]本發(fā)明涉及計算機技術(shù)領域,特別涉及一種網(wǎng)絡連接方法和裝置以及計算機系統(tǒng)。
【背景技術(shù)】
[0002]隨著軟件系統(tǒng)的規(guī)模越來越大,大部分系統(tǒng)在前端都會利用反向代理做負載均衡。但是對于和硬件進行通訊的客戶機而言,Socket長連接卻是只有一個物理連接。并且連接需要依靠建立Socket連接的服務端和客戶端,不能做到任意調(diào)用。
[0003]當HTTP請求到達反向代理服務器后,反向代理服務器根據(jù)規(guī)則將請求分發(fā)至服務器。假如HTTP請求被分發(fā)到服務器1,并且HTTP請求想要與客戶機I的Socket進行通信,這時,就需要將服務器I與客戶機建立一個Socket連接,如圖1所示,圖1是根據(jù)現(xiàn)有技術(shù)的網(wǎng)絡連接示意圖。
[0004]但是實際運行中,HTTP請求被分發(fā)到哪臺服務器是不確定的,如果希望每臺服務器都能處理任意接收的請求,就需要將每個客戶機的Socket長連接在每個服務器上做一次連接,不僅浪費系統(tǒng)資源,同時也不利于系統(tǒng)水平擴展。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種網(wǎng)絡連接方法和裝置以及計算機系統(tǒng),解決了每個客戶機都需要和每個服務器分別建立連接的問題,簡化了服務器與客戶機之間的連接,使服務器和客戶機系統(tǒng)資源使用率大大降低,并且在服務器數(shù)量增加時不需要對現(xiàn)有程序做修改,利于系統(tǒng)水平擴展。
[0006]為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種網(wǎng)絡連接方法。
[0007]本發(fā)明的網(wǎng)絡連接方法包括:接收請求與指定客戶機進行連接的請求信息;確定與所述指定客戶機所連接的服務器;將所述請求信息分發(fā)到所述服務器。
[0008]可選地,確定與所述指定客戶機所連接的服務器的步驟包括:從保存的服務器與客戶機的連接關(guān)系信息中查詢出與指定客戶機對應的服務器。
[0009]可選地,所述連接關(guān)系信息是以客戶機標識作為鍵,以服務器標識作為值的鍵值對。
[0010]可選地,所述客戶機標識為IP地址。
[0011]可選地,所述請求信息包括HTTP請求信息;所述連接包括Socket連接。
[0012]根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡連接裝置。
[0013]本發(fā)明的網(wǎng)絡連接裝置包括:接收模塊,用于接收請求與指定客戶機進行連接的請求信息;確定模塊,用于確定與指定客戶機所連接的服務器;分發(fā)模塊,用于將所述請求信息分發(fā)到所述服務器。
[0014]可選地,所述確定模塊還用于從保存的服務器與客戶機的連接關(guān)系信息中查詢出與指定客戶機對應的服務器。
[0015]根據(jù)本發(fā)明的另一方面,提供了一種計算機系統(tǒng)。
[0016]本發(fā)明的計算機系統(tǒng)包括:反向代理、多個服務器、以及多個客戶機,其中,反向代理,用于接收請求與指定客戶機進行連接的請求信息;確定與所述指定客戶機所連接的服務器;將所述請求信息分發(fā)到該服務器;每個服務器分別與所述反向代理連接,用于接收所述反向代理分發(fā)的請求信息;每個客戶機分別與一個服務器連接。
[0017]可選地,還包括存儲裝置,用于存儲所述客戶機與所述服務器的連接關(guān)系信息。
[0018]可選地,所述連接關(guān)系信息的存儲方式為緩存、文件、數(shù)據(jù)庫或程序變量。
[0019]根據(jù)本發(fā)明的技術(shù)方案,在接收請求與指定客戶機進行連接的請求信息后,通過確定與所述指定客戶機所連接的服務器,使得使每個客戶機無需要和每個服務器分別建立連接,簡化了服務器與客戶機之間的連接,使服務器和客戶機系統(tǒng)資源使用率大大降低,并且在服務器數(shù)量增加時不需要對現(xiàn)有程序做修改,利于系統(tǒng)水平擴展。
【附圖說明】
[0020]附圖用于更好地理解本發(fā)明,不構(gòu)成對本發(fā)明的不當限定。其中:
[0021]圖1是根據(jù)現(xiàn)有技術(shù)的網(wǎng)絡連接示意圖;
[0022]圖2是根據(jù)本發(fā)明實施例的計算機系統(tǒng)示意圖;
[0023]圖3是根據(jù)本發(fā)明實施例的網(wǎng)絡連接方法示意圖;
[0024]圖4是根據(jù)本發(fā)明實施例的網(wǎng)絡連接裝置示意圖。
【具體實施方式】
[0025]以下結(jié)合附圖對本發(fā)明的示范性實施例做出說明,其中包括本發(fā)明實施例的各種細節(jié)以助于理解,應當將它們認為僅僅是示范性的。因此,本領域普通技術(shù)人員應當認識到,可以對這里描述的實施例做出各種改變和修改,而不會背離本發(fā)明的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結(jié)構(gòu)的描述。
[0026]圖2是根據(jù)本發(fā)明實施例的計算機系統(tǒng)示意圖。如圖2所示,本發(fā)明實施例的計算機系統(tǒng)20主要包括反向代理21、多個服務器22、以及多個客戶機23。反向代理21用于接收請求與指定客戶機進行連接的請求信息;確定與所述指定客戶機所連接的服務器22 ;將所述請求信息分發(fā)到該服務器22 ;每個服務器22分別與反向代理21連接,用于接收所述反向代理21分發(fā)的請求信息;每個客戶機23分別與一個服務器22連接。
[0027]計算機系統(tǒng)20還可包括存儲裝置(圖中未示出),用于存儲所述客戶機與所述服務器的連接關(guān)系信息。該存儲裝置可以是一個單獨的緩存服務器,緩存讀寫是通過鍵-值對的方式進行;這樣能夠?qū)?shù)據(jù)做到原子性,所有程序在讀取緩存數(shù)據(jù)時都能保證正確、一致。連接關(guān)系信息的存儲方式可以是緩存、文件、數(shù)據(jù)庫或程序變量等。
[0028]圖3是根據(jù)本發(fā)明實施例的網(wǎng)絡連接方法示意圖。該方法由反向代理21來執(zhí)行,如圖3所示,該方法主要包括如下的步驟S30至S32。
[0029]步驟S30:接收請求與指定客戶機進行連接的請求信息。本實施例中的請求信息包括HTTP請求信息,連接包括Socket連接。
[0030]步驟S31:確定與指定客戶機所連接的服務器。從保存的服務器與客戶機的連接關(guān)系信息中查詢出與指定客戶機對應的服務器;其中,連接關(guān)系信息是以客戶機標識作為鍵,以服務器標識作為值的鍵值對。在此,將客戶機的IP作為鍵,服務IP作為值的鍵值對保存在連接關(guān)系信息中。這樣,連接關(guān)系信息中保存了每個客戶機已經(jīng)連接的Socket連接數(shù)據(jù)。當接收請求與指定客戶機進行連接的HTTP請求時,通過查看連接關(guān)系信息中客戶機的IP所對應服務器IP,就能確定需要將HTTP請求分發(fā)至哪臺服務器,因此,服務器和客戶機不必保持多個連接,使服務器和客戶機系統(tǒng)資源使用率大大降低。另外,如果增加服務器/客戶機,無需對現(xiàn)有程序做修改,只需要在連接關(guān)系信息中添加所增加的服務器/客戶機的連接信息即可。
[0031]步驟S32:將所述請求信息分發(fā)到所述服務器。進而,服務器就可以將請求信息發(fā)送給客戶機,實現(xiàn)請求方與指定客戶機的網(wǎng)絡連接。
[0032]圖4是根據(jù)本發(fā)明實施例的網(wǎng)絡連接裝置示意圖。該裝置作為軟件可以設置在反向代理21中。如圖4所示,本發(fā)明實施例的網(wǎng)絡連接裝置40主要包括接收模塊41、確定模塊42、以及分發(fā)模塊43。接收模塊41用于接收請求與指定客戶機進行連接的請求信息;確定模塊42用于確定與指定客戶機所連接的服務器;還可用于從保存的服務器與客戶機的連接關(guān)系信息中查詢出與指定客戶機對應的服務器;分發(fā)模塊43用于將請求信息分發(fā)到對應的服務器。
[0033]根據(jù)本發(fā)明實施例的技術(shù)方案,在接收請求與指定客戶機進行連接的請求信息后,通過確定與所述指定客戶機所連接的服務器,使得使每個客戶機無需要和每個服務器分別建立連接,簡化了服務器與客戶機之間的連接,使服務器和客戶機系統(tǒng)資源使用率大大降低,并且在服務器數(shù)量增加時不需要對現(xiàn)有程序做修改,利于系統(tǒng)水平擴展。
[0034]以上結(jié)合具體實施例描述了本發(fā)明的基本原理,在本發(fā)明的裝置和方法中,顯然,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應視為本發(fā)明的等效方案。并且,執(zhí)行上述系列處理的步驟可以自然地按照說明的順序按時間順序執(zhí)行,但是并不需要一定按照時間順序執(zhí)行。某些步驟可以并行或彼此獨立地執(zhí)行。
[0035]上述【具體實施方式】,并不構(gòu)成對本發(fā)明保護范圍的限制。本領域技術(shù)人員應該明白的是,取決于設計要求和其他因素,可以發(fā)生各種各樣的修改、組合、子組合和替代。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應包含在本發(fā)明保護范圍之內(nèi)。
【主權(quán)項】
1.一種網(wǎng)絡連接方法,其特征在于,包括: 接收請求與指定客戶機進行連接的請求信息; 確定與所述指定客戶機所連接的服務器; 將所述請求信息分發(fā)到所述服務器。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,確定與所述指定客戶機所連接的服務器的步驟包括:從保存的服務器與客戶機的連接關(guān)系信息中查詢出與指定客戶機對應的服務器。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述連接關(guān)系信息是以客戶機標識作為鍵,以服務器標識作為值的鍵值對。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述客戶機標識為IP地址。
5.根據(jù)權(quán)利要求1、2、3或4所述的方法,其特征在于,所述請求信息包括HTTP請求信息;所述連接包括Socket連接。
6.一種網(wǎng)絡連接裝置,其特征在于,包括: 接收模塊,用于接收請求與指定客戶機進行連接的請求信息; 確定模塊,用于確定與指定客戶機所連接的服務器; 分發(fā)模塊,用于將所述請求信息分發(fā)到所述服務器。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定模塊還用于從保存的服務器與客戶機的連接關(guān)系信息中查詢出與指定客戶機對應的服務器。
8.—種計算機系統(tǒng),其特征在于,包括:反向代理、多個服務器、以及多個客戶機,其中, 反向代理,用于接收請求與指定客戶機進行連接的請求信息;確定與所述指定客戶機所連接的服務器;將所述請求信息分發(fā)到該服務器; 每個服務器分別與所述反向代理連接,用于接收所述反向代理分發(fā)的請求信息; 每個客戶機分別與一個服務器連接。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,還包括存儲裝置,用于存儲所述客戶機與所述服務器的連接關(guān)系信息。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述連接關(guān)系信息的存儲方式為緩存、文件、數(shù)據(jù)庫或程序變量。
【專利摘要】本發(fā)明提供一種網(wǎng)絡連接方法和裝置以及計算機系統(tǒng),解決了每個客戶機都需要和每個服務器分別建立連接的問題,簡化了服務器與客戶機之間的連接,使服務器和客戶機系統(tǒng)資源使用率大大降低,并且在服務器數(shù)量增加時不需要對現(xiàn)有程序做修改,利于系統(tǒng)水平擴展。本發(fā)明的網(wǎng)絡連接方法包括:接收請求與指定客戶機進行連接的請求信息;確定與所述指定客戶機所連接的服務器;將所述請求信息分發(fā)到所述服務器。
【IPC分類】H04L29-08, H04L29-06
【公開號】CN104580224
【申請?zhí)枴緾N201510017504
【發(fā)明人】易旭
【申請人】北京京東尚科信息技術(shù)有限公司, 北京京東世紀貿(mào)易有限公司
【公開日】2015年4月29日
【申請日】2015年1月14日