網(wǎng)絡(luò)通信方法及客戶端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別是涉及一種網(wǎng)絡(luò)通信方法及客戶端。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,人們越來越習(xí)慣在同一服務(wù)器中同時(shí)運(yùn)行多個(gè)業(yè)務(wù)。例如,在一臺內(nèi)存為64G的服務(wù)器上同時(shí)運(yùn)行導(dǎo)航業(yè)務(wù)、手機(jī)助手以及其他主站業(yè)務(wù)。在一臺服務(wù)器上同時(shí)運(yùn)行多個(gè)業(yè)務(wù)時(shí),為保證當(dāng)其中一個(gè)業(yè)務(wù)受到攻擊或者出現(xiàn)運(yùn)行等方面的問題時(shí),其他業(yè)務(wù)不會(huì)受到相關(guān)的不良影響,對服務(wù)器進(jìn)行資源隔離。在進(jìn)行資源隔離時(shí),由于使用VM虛擬機(jī)需要占用大量的中央處理器(Central Processing Unit,以下簡稱CPU)的資源,因此,現(xiàn)有技術(shù)中,通常采用由開源應(yīng)用容器引擎docker管理多個(gè)容器container實(shí)現(xiàn)的虛擬化方案來進(jìn)行資源隔離。
[0003]但是,現(xiàn)有技術(shù)中,在使用docker與container的方式進(jìn)行資源隔離時(shí),docker的每個(gè)container不能夠獨(dú)立與外界進(jìn)行通信,而且在對container進(jìn)行端口分配時(shí),每個(gè)端口僅能夠讓一個(gè)container使用,無法實(shí)現(xiàn)端口對應(yīng)的技術(shù)或者協(xié)議被多個(gè)container共用,導(dǎo)致需要多重復(fù)雜繁瑣的操作才能夠進(jìn)行多種技術(shù)或者功能的對接,甚至存在一些技術(shù)或者功能,在現(xiàn)有技術(shù)中,不論經(jīng)過多少復(fù)雜繁瑣的操作也無法實(shí)現(xiàn)對接。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的網(wǎng)絡(luò)通信方法和相應(yīng)的客戶端。
[0005]依據(jù)本發(fā)明的一個(gè)方面,提供了一種網(wǎng)絡(luò)通信方法,應(yīng)用于包括多個(gè)容器container的開源應(yīng)用容器引擎docker,包括:使用docker指定橋bridge,其中,所述bridge按如下步驟生成:在虛擬局域網(wǎng)vlan設(shè)置為中繼trunk模式時(shí),利用網(wǎng)橋設(shè)備關(guān)聯(lián)所述vlan與網(wǎng)卡,生成所述bridge ;以及利用所述bridge為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識,使得每個(gè)container能夠利用其網(wǎng)絡(luò)通信標(biāo)識通過所述vlan獨(dú)立與外界進(jìn)行通信,其中,所述container為所述docker啟動(dòng)的container。
[0006]可選地,為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識,包括:利用所述vlan根據(jù)所述docker中的container的個(gè)數(shù)對網(wǎng)絡(luò)通信標(biāo)識進(jìn)行劃分;根據(jù)所述劃分結(jié)果為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識。
[0007]可選地,利用添加完成的所述網(wǎng)橋設(shè)備啟動(dòng)所述docker的步驟包括:更改所述docker中的配置數(shù)據(jù),以阻止所述docker的網(wǎng)絡(luò)通信標(biāo)識分配操作,其中,所述配置數(shù)據(jù)包括網(wǎng)卡配置數(shù)據(jù);將指定網(wǎng)絡(luò)通信標(biāo)識與所述docker中選定的container綁定,以供所述選定的container利用所述指定網(wǎng)絡(luò)通信標(biāo)識獨(dú)立與外界進(jìn)行通信。
[0008]可選地,更改所述docker中的配置數(shù)據(jù)的步驟包括:更改所述docker中的網(wǎng)卡配置數(shù)據(jù)為關(guān)閉false狀態(tài)。
[0009]可選地,所述方法還包括:利用所述bridge為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識之后,將所述docker中的所有container映射至同一功能端口,以供所述所有container共用所述功能端口對應(yīng)的資源。
[0010]可選地,所述網(wǎng)絡(luò)通信標(biāo)識包括網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址。
[0011]依據(jù)本發(fā)明的另一方面,還提供了一種網(wǎng)絡(luò)通信客戶端,應(yīng)用于包括多個(gè)container的docker,包括:指定模塊,適于使用docker指定bridge,其中,所述bridge按如下步驟生成:在虛擬局域網(wǎng)vlan設(shè)置為中繼trunk模式時(shí),利用網(wǎng)橋設(shè)備關(guān)聯(lián)所述vlan與網(wǎng)卡,生成所述bridge ;以及分配模塊,適于利用所述bridge為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識,使得每個(gè)container能夠利用其網(wǎng)絡(luò)通信標(biāo)識通過所述vlan獨(dú)立與外界進(jìn)行通信,其中,所述container為所述docker啟動(dòng)的container。
[0012]可選地,在利用所述bridge為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識時(shí),所述分配模塊還適于:利用所述vlan根據(jù)所述docker中的container的個(gè)數(shù)對網(wǎng)絡(luò)通信標(biāo)識進(jìn)行劃分;以及根據(jù)所述劃分結(jié)果為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識。
[0013]可選地,所述網(wǎng)絡(luò)通信客戶端還包括:數(shù)據(jù)更改模塊,適于更改所述docker中的配置數(shù)據(jù),以阻止所述docker的網(wǎng)絡(luò)通信標(biāo)識分配操作,其中,所述配置數(shù)據(jù)包括網(wǎng)卡配置數(shù)據(jù);以及綁定模塊,適于將指定網(wǎng)絡(luò)通信標(biāo)識與所述docker中選定的container綁定,以供所述選定的container利用所述指定網(wǎng)絡(luò)通信標(biāo)識獨(dú)立與外界進(jìn)行通信。
[0014]可選地,在更改所述docker中的配置數(shù)據(jù)時(shí),所述數(shù)據(jù)更改模塊還適于:更改所述docker中的網(wǎng)卡配置數(shù)據(jù)為關(guān)閉false狀態(tài)。
[0015]可選地,所述網(wǎng)絡(luò)通信客戶端還包括:映射模塊,適于利用所述bridge為所述docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識之后,將所述docker中的所有container映射至同一功能端口,以供所述所有container共用所述功能端口對應(yīng)的資源。
[0016]可選地,所述網(wǎng)絡(luò)通信標(biāo)識包括網(wǎng)絡(luò)互聯(lián)協(xié)議IP地址。
[0017]依據(jù)本發(fā)明實(shí)施例,能夠使用docker指定bridge,其中,bridge的生成步驟為:在虛擬局域網(wǎng)vlan設(shè)置為中繼trunk模式時(shí),利用網(wǎng)橋設(shè)備關(guān)聯(lián)vlan與網(wǎng)卡,生成bridge。之后,利用指定的bridge為docker中的每個(gè)container分配獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識,使得每個(gè)container能夠利用其網(wǎng)絡(luò)通信標(biāo)識通過vlan獨(dú)立與外界進(jìn)行通信,解決了現(xiàn)有技術(shù)中docker的每個(gè)container無法獨(dú)立與外界進(jìn)行通信的問題。其中,本例中的container為docker啟動(dòng)的container。由于利用docker自身創(chuàng)建的bridge為docker管理的所有container分配網(wǎng)絡(luò)通信標(biāo)識時(shí),所有的container只能夠共用同一個(gè)網(wǎng)絡(luò)通信標(biāo)識,而利用指定的bridge進(jìn)行網(wǎng)絡(luò)通信標(biāo)識的分配操作時(shí),貝U能夠利用bridge中的vlan對網(wǎng)絡(luò)通信標(biāo)識進(jìn)行劃分,使得組成docker的每個(gè)container能夠被分配到獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識,并利用該網(wǎng)絡(luò)通信標(biāo)識獨(dú)立與外界進(jìn)行通信。因此,本發(fā)明實(shí)施例中,docker中的每個(gè)container能夠直接與外界進(jìn)行通信,避免通過第三方的數(shù)據(jù)分配等操作與外界進(jìn)行通信導(dǎo)致的數(shù)據(jù)包不能夠及時(shí)分配的問題,降低丟包率,提高container與外界的通信效率。
[0018]另外,由于使用本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)通信方法能夠使得docker中的每個(gè)container具備獨(dú)立與外界進(jìn)行通信的能力(通過獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識),因此,則當(dāng)docker中存在多個(gè)container時(shí),可以利用每個(gè)container的獨(dú)立的網(wǎng)絡(luò)通信標(biāo)識映射到同一端口,每個(gè)container都可以利用該端口與外界通信(包括同時(shí)和/或分時(shí)使用),互相之間并不影響。即采用本發(fā)明實(shí)施例能夠?qū)⑺衏ontainer綁定到同一個(gè)端口,實(shí)現(xiàn)任意端口對應(yīng)的功能或者技術(shù)的無縫對接。
[0019]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
[0020]根據(jù)下文結(jié)合附圖對本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
【附圖說明】
[0021]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0022]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)通信方法的處理流程示意圖;
[0023]圖2示出了根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的綁定指定網(wǎng)絡(luò)通信標(biāo)識與container的處理流程示意圖;
[0024]圖3示出了根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的網(wǎng)絡(luò)通信方法的處理流程示意圖;