本發(fā)明實(shí)施例涉及統(tǒng)計(jì)技術(shù)領(lǐng)域,尤其涉及一種跨機(jī)房數(shù)據(jù)傳輸方法及服務(wù)器。
背景技術(shù):
目前,隨著互聯(lián)網(wǎng)業(yè)務(wù)的不斷擴(kuò)容、以及互聯(lián)業(yè)務(wù)復(fù)雜度的不斷提高,經(jīng)常會(huì)出現(xiàn)跨機(jī)房數(shù)據(jù)傳輸?shù)男枨螅渲?,不同機(jī)房中的服務(wù)器通常位于不同的子網(wǎng)中。
在跨機(jī)房數(shù)據(jù)傳輸?shù)倪^程中,源機(jī)房中的第一服務(wù)器向目標(biāo)機(jī)房中的第二服務(wù)器發(fā)送的請(qǐng)求消息首先會(huì)被發(fā)送至目標(biāo)機(jī)房中的網(wǎng)絡(luò)防護(hù)系統(tǒng),該網(wǎng)絡(luò)防護(hù)系統(tǒng)先對(duì)請(qǐng)求消息進(jìn)行安全檢測(cè),在網(wǎng)絡(luò)防護(hù)系統(tǒng)確定請(qǐng)求消息存在安全隱患時(shí),拒絕向第二服務(wù)器發(fā)送該請(qǐng)求消息,在網(wǎng)絡(luò)防護(hù)系統(tǒng)確定請(qǐng)求消息安全時(shí),再將請(qǐng)求消息發(fā)送至第二服務(wù)器,以使第二服務(wù)器對(duì)該請(qǐng)求消息進(jìn)行處理。由于跨機(jī)房數(shù)據(jù)傳輸?shù)陌踩砸筝^高,因此,網(wǎng)絡(luò)防護(hù)系統(tǒng)對(duì)來自其它機(jī)房的請(qǐng)求消息的檢測(cè)力度較高,進(jìn)而導(dǎo)致正常的請(qǐng)求消息被網(wǎng)絡(luò)防護(hù)系統(tǒng)攔截。在現(xiàn)有技術(shù)中,當(dāng)?shù)谝环?wù)器向第二服務(wù)器發(fā)送的請(qǐng)求消息被攔截時(shí),第一服務(wù)器繼續(xù)向第二服務(wù)器發(fā)送該請(qǐng)求消息,直到同一請(qǐng)求消息發(fā)送多次仍沒有得到響應(yīng)時(shí),第一服務(wù)器放棄向第二服務(wù)器發(fā)送該請(qǐng)求消息,使得該請(qǐng)求消息無法得到正常處理,進(jìn)而導(dǎo)致跨機(jī)房數(shù)據(jù)傳輸?shù)目煽啃暂^低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種跨機(jī)房數(shù)據(jù)傳輸方法及服務(wù)器,用于提高跨機(jī)房數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
第一方面,本發(fā)明實(shí)施例提供一種跨機(jī)房數(shù)據(jù)傳輸方法,應(yīng)用于第一服務(wù)器,所述方法包括:
獲取請(qǐng)求第二服務(wù)器處理的初始請(qǐng)求消息,所述第二服務(wù)器與所述第一服務(wù)器位于不同的機(jī)房;
將第一字符串添加至所述初始請(qǐng)求消息中,得到第一重組消息,對(duì)所述第一重組消息進(jìn)行編碼處理,得到第一編碼消息,并向所述第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送所述第一編碼消息,以使所述網(wǎng)絡(luò)防護(hù)系統(tǒng)判斷所述第一編碼消息安全時(shí),向所述第二服務(wù)器發(fā)送所述第一編碼消息;
若在預(yù)設(shè)時(shí)長內(nèi)未接收到所述第二服務(wù)器發(fā)送的響應(yīng)消息,則將第二字符串添加至所述初始請(qǐng)求消息中,得到第二重組消息,對(duì)所述第二重組消息進(jìn)行編碼處理,得到第二編碼消息,并向所述網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送所述第二編碼消息;其中,所述第一編碼消息和所述第二編碼消息的相似度小于預(yù)設(shè)相似度。
在一種可能的實(shí)施方式中,對(duì)所述第一重組消息進(jìn)行編碼處理,包括:
對(duì)所述第一重組消息進(jìn)行加密處理,和/或,對(duì)所述第一重組消息進(jìn)行壓縮處理;
對(duì)所述第二重組消息進(jìn)行編碼處理,包括:
對(duì)所述第二重組消息進(jìn)行加密處理,和/或,對(duì)所述第二重組消息進(jìn)行壓縮處理。
在另一種可能的實(shí)施方式中,將第二字符串添加至所述初始請(qǐng)求消息中,得到第二重組消息之前,還包括:
獲取對(duì)所述初始請(qǐng)求消息、及所述初始請(qǐng)求消息對(duì)應(yīng)的重組消息的發(fā)送失敗次數(shù);
確定所述發(fā)送失敗次數(shù)大于或等于預(yù)設(shè)次數(shù)。
在另一種可能的實(shí)施方式中,若確定所述發(fā)送失敗次數(shù)小于所述預(yù)設(shè)次數(shù),所述方法還包括:
向所述第二服務(wù)器發(fā)送所述第一重組消息。
第二方面,本發(fā)明實(shí)施例提供一種跨機(jī)房數(shù)據(jù)傳輸方法,應(yīng)用于第二服務(wù)器,所述方法包括:
接收所述第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送的第二編碼消息,所述第二編碼消息為所述第一服務(wù)器向所述網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送的,所述第一服務(wù)器和所述第二服務(wù)器位于不同的機(jī)房;
對(duì)所述第二編碼消息進(jìn)行解碼處理,得到第二重組消息;
對(duì)所述第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息,并對(duì)所述初始請(qǐng)求消息進(jìn)行處理。
在一種可能的實(shí)施方式中,對(duì)所述第二編碼消息進(jìn)行解碼處理,得到第二重組消息,包括:
對(duì)所述第二編碼消息進(jìn)行解碼處理;
和/或,
對(duì)所述第二編碼消息進(jìn)行解壓縮處理。
在另一種可能的實(shí)施方式中,對(duì)所述第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息,包括:
根據(jù)預(yù)設(shè)重組規(guī)則,確定所述第二重組消息中的字符串的長度、及所述字符串在所述第二重組消息中的位置;
根據(jù)所述第二重組消息中的字符串的長度、及所述字符串在所述第二重組消息中的位置,在所述第二重組消息中去除所述字符串,得到所述初始請(qǐng)求消息。
第三方面,本發(fā)明實(shí)施例提供一種第一服務(wù)器,包括:
第一獲取模塊,用于獲取請(qǐng)求第二服務(wù)器處理的初始請(qǐng)求消息,所述第二服務(wù)器與所述第一服務(wù)器位于不同的機(jī)房;
重組模塊,用于將第一字符串添加至所述初始請(qǐng)求消息中,得到第一重組消息;
編碼模塊,用于對(duì)所述第一重組消息進(jìn)行編碼處理,得到第一編碼消息;
發(fā)送模塊,用于向所述第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送所述第一編碼消息,以使所述網(wǎng)絡(luò)防護(hù)系統(tǒng)判斷所述第一編碼消息安全時(shí),向所述第二服務(wù)器發(fā)送所述第一編碼消息;
所述重組模塊還用于,當(dāng)所述第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到所述第二服務(wù)器發(fā)送的響應(yīng)消息時(shí),將第二字符串添加至所述初始請(qǐng)求消息中,得到第二重組消息;
所述編碼模塊還用于,對(duì)所述第二重組消息進(jìn)行編碼處理,得到第二編碼消息;其中,所述第一編碼消息和所述第二編碼消息的相似度小于預(yù)設(shè)相似度;
所述發(fā)送模塊還用于,向所述網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送所述第二編碼消息。
在一種可能的實(shí)施方式中,所述編碼模塊具體用于:
對(duì)所述第一重組消息進(jìn)行加密處理,和/或,對(duì)所述第一重組消息進(jìn)行壓縮處理;
對(duì)所述第二重組消息進(jìn)行加密處理,和/或,對(duì)所述第二重組消息進(jìn)行壓縮處理。
在另一種可能的實(shí)施方式中,所述第一服務(wù)器還包括第二獲取模塊和確定模塊,其中,
所述第二獲取模塊用于,在所述重組模塊將第二字符串添加至所述初始請(qǐng)求消息中,得到第二重組消息之前,獲取對(duì)所述初始請(qǐng)求消息、及所述初始請(qǐng)求消息對(duì)應(yīng)的重組消息的發(fā)送失敗次數(shù);
所述確定模塊用于,確定所述發(fā)送失敗次數(shù)大于或等于預(yù)設(shè)次數(shù)。
在另一種可能的實(shí)施方式中,所述發(fā)送模塊還用于,在所述確定模塊確定所述發(fā)送失敗次數(shù)小于所述預(yù)設(shè)次數(shù)時(shí),向所述第二服務(wù)器發(fā)送所述第一重組消息。
第四方面,本發(fā)明實(shí)施例提供一種第二服務(wù)器,包括:
接收模塊,用于接收所述第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送的第二編碼消息,所述第二編碼消息為所述第一服務(wù)器向所述網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送的,所述第一服務(wù)器和所述第二服務(wù)器位于不同的機(jī)房;
解碼模塊,用于對(duì)所述第二編碼消息進(jìn)行解碼處理,得到第二重組消息;
還原模塊,用于對(duì)所述第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息;
處理模塊,用于對(duì)所述初始請(qǐng)求消息進(jìn)行處理。
在一種可能的實(shí)施方式中,所述解碼模塊具體用于:
對(duì)所述第二編碼消息進(jìn)行解碼處理;
和/或,
對(duì)所述第二編碼消息進(jìn)行解壓縮處理。
在另一種可能的實(shí)施方式中,所述還原模塊具體用于:
根據(jù)預(yù)設(shè)重組規(guī)則,確定所述第二重組消息中的字符串的長度、及所述字符串在所述第二重組消息中的位置;
根據(jù)所述第二重組消息中的字符串的長度、及所述字符串在所述第二重組消息中的位置,在所述第二重組消息中去除所述字符串,得到所述初始請(qǐng)求消息。
本發(fā)明實(shí)施例提供的跨機(jī)房數(shù)據(jù)傳輸方法及服務(wù)器,在第一服務(wù)器向第二服務(wù)器發(fā)送初始請(qǐng)求消息對(duì)應(yīng)的第一編碼消息之后,若第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到第二服務(wù)器發(fā)送的響應(yīng)消息時(shí),第一服務(wù)器認(rèn)為該第一編碼消息被攔截,第一服務(wù)器為了避免初始請(qǐng)求消息對(duì)應(yīng)的編碼消息被再次攔截,則第一服務(wù)器重新對(duì)初始請(qǐng)求消息進(jìn)行重組和編碼,得到第二編碼消息,該第二編碼消息和第一編碼的相似度小于預(yù)設(shè)相似度,進(jìn)而可以有效避免第二編碼消息被攔截,以使第二服務(wù)器可以對(duì)第二編碼消息對(duì)應(yīng)的初始請(qǐng)求消息進(jìn)行處理,進(jìn)而提高了跨機(jī)房數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的跨機(jī)房數(shù)據(jù)傳輸方法的應(yīng)用場(chǎng)景示意圖;
圖2為本發(fā)明提供的跨機(jī)房數(shù)據(jù)傳輸方法的流程示意圖一;
圖3為本發(fā)明提供的跨機(jī)房數(shù)據(jù)傳輸方法的流程示意圖二;
圖4為本發(fā)明提供的第一服務(wù)器的結(jié)構(gòu)示意圖一;
圖5為本發(fā)明提供的第一服務(wù)器的結(jié)構(gòu)示意圖二;
圖6為本發(fā)明提供的第二服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明提供的跨機(jī)房數(shù)據(jù)傳輸方法的應(yīng)用場(chǎng)景示意圖,請(qǐng)參見圖1,包括源機(jī)房101和目的機(jī)房102,源機(jī)房101中設(shè)置有第一服務(wù)器1011,目的機(jī)房102中設(shè)置有第二服務(wù)器1021和網(wǎng)絡(luò)防護(hù)系統(tǒng)1022。其中,源機(jī)房101和目的機(jī)房102通常位于不同的子網(wǎng)、及不同的地理位置。需要說明的是,在實(shí)際應(yīng)用過程中,源機(jī)房101中還可以設(shè)置其它服務(wù)器,目的機(jī)房102中也可以設(shè)置其它服務(wù)器,第一服務(wù)器1011中也可以設(shè)置有對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)。
在第一服務(wù)器1011向第二服務(wù)器1021發(fā)送請(qǐng)求消息時(shí),先由第二服務(wù)器1021對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)1022對(duì)請(qǐng)求消息進(jìn)行驗(yàn)證,當(dāng)網(wǎng)絡(luò)防護(hù)系統(tǒng)1022確定請(qǐng)求消息安全時(shí),再向第二服務(wù)器1021發(fā)送該請(qǐng)求消息,當(dāng)網(wǎng)絡(luò)防護(hù)系統(tǒng)1022確定請(qǐng)求消息不安全時(shí),對(duì)該請(qǐng)求消息進(jìn)行攔截,并不再向第二服務(wù)器1021發(fā)送該請(qǐng)求消息。
在本申請(qǐng)中,在第一服務(wù)器1011判斷發(fā)送給第二服務(wù)器1021的請(qǐng)求消息被攔截之后,第一服務(wù)器1011對(duì)請(qǐng)求消息進(jìn)行重組,并向第二服務(wù)器1021發(fā)送重組后的請(qǐng)求消息,由于重組后的請(qǐng)求消息和請(qǐng)求消息的相似度較低,進(jìn)而可以有效避免請(qǐng)求消息被再次攔截,進(jìn)而提高了跨機(jī)房數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
下面,通過具體實(shí)施例對(duì)本申請(qǐng)所示的技術(shù)方案進(jìn)行詳細(xì)說明。需要說明的是,下面這幾個(gè)具體的實(shí)施例可以相互結(jié)合,對(duì)于相同或相似的概念或過程可能在某些實(shí)施例中不再贅述。
圖2為本發(fā)明提供的跨機(jī)房數(shù)據(jù)傳輸方法的流程示意圖一,請(qǐng)參見圖2,該方法可以包括:
S201、第一服務(wù)器獲取請(qǐng)求第二服務(wù)器處理的初始請(qǐng)求消息,第二服務(wù)器與第一服務(wù)器位于不同的機(jī)房;
S202、第一服務(wù)器將第一字符串添加至初始請(qǐng)求消息中,得到第一重組消息,對(duì)第一重組消息進(jìn)行編碼處理,得到第一編碼消息;
S203、第一服務(wù)器向第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送第一編碼消息;
S204、網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第一編碼消息不安全時(shí),攔截第一編碼消息;
S205、若第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到第二服務(wù)器發(fā)送的響應(yīng)消息,則將第二字符串添加至初始請(qǐng)求消息中,得到第二重組消息,對(duì)第二重組消息進(jìn)行編碼處理,得到第二編碼消息;
S206、第一服務(wù)器向網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送第二編碼消息;
其中,第一編碼消息和第二編碼消息的相似度小于預(yù)設(shè)相似度;
S207、網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第二編碼消息安全時(shí),向第二服務(wù)器發(fā)送第二編碼消息;
S208、第二服務(wù)器對(duì)第二編碼消息進(jìn)行解碼處理,得到第二重組消息;
S209、第二服務(wù)器對(duì)第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息,并對(duì)初始請(qǐng)求消息進(jìn)行處理;
S210、第二服務(wù)器向第一服務(wù)器發(fā)送響應(yīng)消息。
在本申請(qǐng)中,在第一服務(wù)器接收到客戶端發(fā)送的請(qǐng)求消息之后,第一服務(wù)器、及與第一服務(wù)器位于同一機(jī)房的其它服務(wù)器可能無法對(duì)該請(qǐng)求消息進(jìn)行處理,若該請(qǐng)求消息需要由位于其它機(jī)房的第二服務(wù)器進(jìn)行處理時(shí),則第一服務(wù)器可以向第二服務(wù)器發(fā)送該請(qǐng)求消息,以請(qǐng)求第二服務(wù)器對(duì)該請(qǐng)求消息進(jìn)行處理。
在本申請(qǐng)中,當(dāng)?shù)谝环?wù)器首次獲取到初始請(qǐng)求消息之后,第一服務(wù)器可以執(zhí)行圖2所示的實(shí)施例實(shí)現(xiàn)向第二服務(wù)器發(fā)送該初始請(qǐng)求消息。在第一服務(wù)器第N(N為大于或等于1的正整數(shù))次向第二服務(wù)器發(fā)送初始請(qǐng)求消息之后,若第一服務(wù)器沒有接收到第二服務(wù)器發(fā)送的、該初始請(qǐng)求消息對(duì)應(yīng)的響應(yīng)消息時(shí),第一服務(wù)器也可以執(zhí)行圖2所示的實(shí)施例再次向第二服務(wù)器發(fā)送該初始請(qǐng)求消息。在實(shí)際應(yīng)用過程中,第一服務(wù)器重復(fù)執(zhí)行圖2所示的實(shí)施例,直到第一服務(wù)器接收到第二服務(wù)器發(fā)送的、該初始請(qǐng)求消息對(duì)應(yīng)的相應(yīng)消息。
需要說明的是,若第一服務(wù)器多次向第二服務(wù)器發(fā)送初始請(qǐng)求消息之后,才接收到第二服務(wù)器發(fā)送的、該初始請(qǐng)求消息對(duì)應(yīng)的響應(yīng)消息,則第一服務(wù)器每一次向第二服務(wù)器發(fā)送初始請(qǐng)求消息的過程相同,下面,以第一服務(wù)器任意兩次向第二服務(wù)器發(fā)送初始請(qǐng)求消息的過程為例,對(duì)跨機(jī)房數(shù)據(jù)傳輸方法進(jìn)行詳細(xì)說明。
在實(shí)際應(yīng)用過程中,當(dāng)?shù)谝环?wù)器首次獲取到初始請(qǐng)求消息時(shí),或者,第一服務(wù)器向第二服務(wù)器發(fā)送初始請(qǐng)求消息、且未接收到該初始請(qǐng)求消息對(duì)應(yīng)的相應(yīng)消息時(shí),第一服務(wù)器生成隨機(jī)的第一字符串,可選的,該第一字符串的長度可以為預(yù)設(shè)長度,并將該第一字符串添加至初始請(qǐng)求消息中,得到第一重組消息,可選的,可以將第一字符串添加至初始請(qǐng)求消息的頭部或者尾部。
在第一服務(wù)器得到第一重組消息之后,第一服務(wù)器對(duì)第一重組消息進(jìn)行編碼處理,得到第一編碼消息??蛇x的,第一服務(wù)器可以對(duì)第一重組消息進(jìn)行加密處理,和/或,對(duì)第一重組消息進(jìn)行壓縮處理,進(jìn)而得到第一編碼消息??蛇x的,在第一服務(wù)器對(duì)第一重組消息進(jìn)行編碼處理之后,得到的第一編碼消息為第一重組消息對(duì)應(yīng)的二進(jìn)制碼流。需要說明的是,在實(shí)際應(yīng)用過程中,第一服務(wù)器發(fā)送至第二服務(wù)器的大部分請(qǐng)求消息不會(huì)被攔截,因此,為了提高數(shù)據(jù)傳輸效率,在第一服務(wù)器首次向第二服務(wù)器發(fā)送初始請(qǐng)求消息時(shí),第一服務(wù)器可以不對(duì)初始請(qǐng)求消息進(jìn)行重組和編碼處理;可選的,當(dāng)?shù)谝环?wù)器未對(duì)初始請(qǐng)求消息進(jìn)行重組和編碼處理時(shí),可以在初始請(qǐng)求消息中攜帶預(yù)設(shè)標(biāo)識(shí),以指示第二服務(wù)器接收到的消息為未進(jìn)行重組和編碼處理的消息。
在第一服務(wù)器得到第一編碼消息之后,當(dāng)?shù)谝环?wù)器需要向第二服務(wù)器發(fā)送第一編碼消息時(shí),第一服務(wù)器需要先將第一編碼消息發(fā)送至第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng),由網(wǎng)絡(luò)防護(hù)系統(tǒng)對(duì)第一編碼消息進(jìn)行安全監(jiān)測(cè)。當(dāng)網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第一編碼消息不安全時(shí),網(wǎng)絡(luò)防護(hù)系統(tǒng)攔截該第一編碼消息,且不向第二服務(wù)器發(fā)送該第一編碼消息;當(dāng)網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第一編碼消息安全時(shí),網(wǎng)絡(luò)防護(hù)系統(tǒng)將該第一編碼消息發(fā)送至第二服務(wù)器,并由第二服務(wù)器對(duì)該第一編碼消息進(jìn)行處理。
假設(shè)網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第一編碼消息不安全,則網(wǎng)絡(luò)防護(hù)系統(tǒng)對(duì)該第一編碼消息進(jìn)行攔截,這樣,第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)無法接收到第二服務(wù)器發(fā)送的響應(yīng)消息。當(dāng)?shù)谝环?wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到第二服務(wù)器發(fā)送的響應(yīng)消息,則第一服務(wù)器可以推斷第一編碼消息被攔截,為了保證初始請(qǐng)求消息被正常處理,則第一服務(wù)器需要再次向第二服務(wù)器發(fā)送初始請(qǐng)求消息,為了避免初始請(qǐng)求消息再次被攔截,則第一服務(wù)器需要對(duì)初始請(qǐng)求消息進(jìn)行重組,具體的:
第一服務(wù)器重新生成隨機(jī)的第二字符串,該第二字符串和第一字符串不同,且第二字符串和第一字符串的長度相同,并將該第二字符串添加至初始請(qǐng)求消息中,得到第二重組消息,可選的,可以將該第二字符串添加至初始請(qǐng)求消息的頭部或尾部。由于第一字符串和第二字符串不同,因此第一重組消息和第二重組消息不同。
在第一服務(wù)器得到第二重組消息之后,對(duì)第二重組消息進(jìn)行編碼處理,得到第二編碼消息??蛇x的,第一服務(wù)器可以對(duì)第二重組消息進(jìn)行加密處理,和/或,對(duì)第二重組消息進(jìn)行壓縮處理,以得到第二編碼消息??蛇x的,該第二編碼消息可以為第二重組消息對(duì)應(yīng)的二進(jìn)制碼流;由于第一重組消息和第二重組消息不相同,由于第一編碼消息是對(duì)第一重組消息的整體編碼,第二編碼消息是對(duì)第二重組消息的整體編碼,當(dāng)?shù)谝恢亟M消息和第二重組消息中有細(xì)微的差異時(shí),則第一重組消息和第二重組消息之間則有巨大的差異,因此,當(dāng)?shù)谝恢亟M消息中的第一字符串和第二重組新消息中的第二字符串不同時(shí),則可以保證第一編碼消息和第二編碼消息的相似度小于預(yù)設(shè)相似度,可選的,該預(yù)設(shè)相似度可以為20%等。
在第一服務(wù)器得到第二編碼消息之后,第一服務(wù)器向第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送該第二編碼消息,由于該第二編碼消息和第一編碼消息的相似度小于預(yù)設(shè)相似度,因此,網(wǎng)絡(luò)防護(hù)系統(tǒng)對(duì)第二編碼消息進(jìn)行攔截的可能性很小。
當(dāng)網(wǎng)絡(luò)防護(hù)系統(tǒng)判斷第二編碼消息安全時(shí),網(wǎng)絡(luò)防護(hù)系統(tǒng)向第二服務(wù)器發(fā)送該第二編碼消息。
在第二服務(wù)器接收到第二編碼消息之后,第二服務(wù)器首先對(duì)第二編碼消息進(jìn)行解碼處理,得到第二重組消息。其中,在第一服務(wù)器和第二服務(wù)器之間預(yù)設(shè)有同一的編碼/解碼規(guī)則,在第一服務(wù)器對(duì)重組消息進(jìn)行編碼時(shí),第一服務(wù)器按照預(yù)設(shè)的編碼規(guī)則,對(duì)重組消息進(jìn)行編碼;相應(yīng)的,在第二服務(wù)器對(duì)編碼消息進(jìn)行解碼時(shí),第二服務(wù)器按照預(yù)設(shè)的解碼規(guī)則,對(duì)編碼消息進(jìn)行解碼??蛇x的,當(dāng)?shù)谝环?wù)器對(duì)重組消息進(jìn)行加密處理時(shí),第二服務(wù)器對(duì)編碼消息進(jìn)行解碼處理,當(dāng)?shù)谝环?wù)器對(duì)重組消息進(jìn)行壓縮處理時(shí),第二服務(wù)器對(duì)編碼消息進(jìn)行解壓處理,當(dāng)?shù)谝环?wù)器對(duì)重組消息進(jìn)行加密和壓縮處理時(shí),第二服務(wù)器對(duì)編碼消息進(jìn)行解密和解壓處理。
在第二服務(wù)器得到第二重組消息之后,第二服務(wù)器對(duì)第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息。其中,在第一服務(wù)器和第二服務(wù)器之間設(shè)置有預(yù)設(shè)重組規(guī)則,該預(yù)設(shè)重組規(guī)則規(guī)定了字符串的長度、及字符串在初始請(qǐng)求消息中的位置;在第一服務(wù)器對(duì)初始請(qǐng)求消息進(jìn)行重組時(shí),第一服務(wù)器根據(jù)重組規(guī)則生成預(yù)設(shè)長度的字符串,并將生成的字符串添加至初始請(qǐng)求消息中、預(yù)設(shè)重組規(guī)則中規(guī)定的位置,在第二服務(wù)器對(duì)重組字符串進(jìn)行還原時(shí),第二服務(wù)器根據(jù)預(yù)設(shè)重組規(guī)則,確定第二重組消息中的字符串的長度、及字符串在第二重組消息中的位置,并根據(jù)第二重組消息中的字符串的長度、及字符串在第二重組消息中的位置,在第二重組消息中去除字符串,得到初始請(qǐng)求消息。
在第二服務(wù)器得到初始請(qǐng)求消息之后,第二服務(wù)器對(duì)初始請(qǐng)求消息進(jìn)行處理,并向第一服務(wù)器反饋對(duì)應(yīng)的響應(yīng)消息。
本發(fā)明實(shí)施例提供的跨機(jī)房數(shù)據(jù)傳輸方法,在第一服務(wù)器向第二服務(wù)器發(fā)送初始請(qǐng)求消息對(duì)應(yīng)的第一編碼消息之后,若第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到第二服務(wù)器發(fā)送的響應(yīng)消息時(shí),第一服務(wù)器認(rèn)為該第一編碼消息被攔截,第一服務(wù)器為了避免初始請(qǐng)求消息對(duì)應(yīng)的編碼消息被再次攔截,則第一服務(wù)器重新對(duì)初始請(qǐng)求消息進(jìn)行重組和編碼,得到第二編碼消息,該第二編碼消息和第一編碼的相似度小于預(yù)設(shè)相似度,進(jìn)而可以有效避免第二編碼消息被攔截,以使第二服務(wù)器可以對(duì)第二編碼消息對(duì)應(yīng)的初始請(qǐng)求消息進(jìn)行處理,進(jìn)而提高了跨機(jī)房數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
在圖2所示實(shí)施例的基礎(chǔ)上,在第一服務(wù)器向第二服務(wù)器發(fā)送第一編碼消息之后,若第一服務(wù)器未接收到第二服務(wù)器發(fā)送的響應(yīng)消息時(shí),在第一服務(wù)器對(duì)初始請(qǐng)求消息進(jìn)行再次重組之前,為了提高數(shù)據(jù)處理效率,第一服務(wù)器可以先確定未收到第二服務(wù)器的響應(yīng)消息的原因,并根據(jù)未收到第二服務(wù)器的響應(yīng)消息的原因確定是否對(duì)初始請(qǐng)求消息進(jìn)行再次重組,具體的,請(qǐng)參見圖3所示的實(shí)施例。
圖3為本發(fā)明提供的跨機(jī)房數(shù)據(jù)傳輸方法的流程示意圖二,請(qǐng)參見圖3,該方法可以包括:
S301、第一服務(wù)器獲取請(qǐng)求第二服務(wù)器處理的初始請(qǐng)求消息,第二服務(wù)器與第一服務(wù)器位于不同的機(jī)房;
S302、第一服務(wù)器將第一字符串添加至初始請(qǐng)求消息中,得到第一重組消息,對(duì)第一重組消息進(jìn)行編碼處理,得到第一編碼消息;
S303、第一服務(wù)器向第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送第一編碼消息;
S304、網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第一編碼消息不安全時(shí),攔截第一編碼消息;
S305、若第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到第二服務(wù)器發(fā)送的響應(yīng)消息,獲取對(duì)初始請(qǐng)求消息、及初始請(qǐng)求消息對(duì)應(yīng)的重組消息的發(fā)送失敗次數(shù);
S306、第一服務(wù)器判斷發(fā)送失敗次數(shù)大于或等于預(yù)設(shè)次數(shù);
若否,則執(zhí)行S307;
若是,則執(zhí)行S308;
S307、第一服務(wù)器重新向第二服務(wù)器發(fā)送第一重組消息;
S308、第一服務(wù)器將第二字符串添加至初始請(qǐng)求消息中,得到第二重組消息,對(duì)第二重組消息進(jìn)行編碼處理,得到第二編碼消息;
S309、第一服務(wù)器向網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送第二編碼消息;
其中,第一編碼消息和第二編碼消息的相似度小于預(yù)設(shè)相似度;
S310、網(wǎng)絡(luò)防護(hù)系統(tǒng)確定第二編碼消息安全時(shí),向第二服務(wù)器發(fā)送第二編碼消息;
S311、第二服務(wù)器對(duì)第二編碼消息進(jìn)行解碼處理,得到第二重組消息;
S312、第二服務(wù)器對(duì)第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息,并對(duì)初始請(qǐng)求消息進(jìn)行處理;
S313、第二服務(wù)器向第一服務(wù)器發(fā)送響應(yīng)消息。
需要說明的是,S301-S304的執(zhí)行過程可以參見圖2所示實(shí)施例中的S201-S204,S308-S313的執(zhí)行過程可以參見圖2所示實(shí)施例中的S205-S210,此處不再進(jìn)行贅述。
在S305中,在第一服務(wù)器向第二服務(wù)器發(fā)送第一編碼消息之后,若第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到第二服務(wù)器發(fā)送的響應(yīng)消息,第一服務(wù)器獲取第一服務(wù)器對(duì)初始請(qǐng)求消息、及對(duì)初始請(qǐng)求消息對(duì)應(yīng)的重組消息的發(fā)送失敗次數(shù),其中,該發(fā)送失敗次數(shù)是指第一服務(wù)器發(fā)送初始請(qǐng)求消息或初始請(qǐng)求消息對(duì)應(yīng)的重組消息、且未收到第二服務(wù)器發(fā)送的響應(yīng)消息的次數(shù)。
若該失敗次數(shù)大于或等于預(yù)設(shè)次數(shù),則說明第一服務(wù)器向第二服務(wù)器發(fā)送的初始請(qǐng)求消息或初始請(qǐng)求消息對(duì)應(yīng)的重組消息被攔截,則第一服務(wù)器重新對(duì)初始請(qǐng)求消息進(jìn)行重組和編碼處理。
若該失敗次數(shù)小于預(yù)設(shè)次數(shù),則說明可能是由于其它原因(例如網(wǎng)絡(luò)原因、負(fù)載原因)等使得第二服務(wù)器未向第一服務(wù)器發(fā)送響應(yīng)消息,則為了提高處理效率,第一服務(wù)器不再對(duì)初始請(qǐng)求消息進(jìn)行重新重組和編碼處理,而是重新向第二服務(wù)器發(fā)送第一重組消息。這樣,可以避免第一服務(wù)器進(jìn)行不必要的重組和編碼處理,進(jìn)而提高了對(duì)數(shù)據(jù)進(jìn)行處理的效率。
圖4為本發(fā)明提供的第一服務(wù)器的結(jié)構(gòu)示意圖一,請(qǐng)參見圖4,該第一服務(wù)器可以包括:
第一獲取模塊401,用于獲取請(qǐng)求第二服務(wù)器處理的初始請(qǐng)求消息,所述第二服務(wù)器與所述第一服務(wù)器位于不同的機(jī)房;
重組模塊402,用于將第一字符串添加至所述初始請(qǐng)求消息中,得到第一重組消息;
編碼模塊403,用于對(duì)所述第一重組消息進(jìn)行編碼處理,得到第一編碼消息;
發(fā)送模塊404,用于向所述第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送所述第一編碼消息,以使所述網(wǎng)絡(luò)防護(hù)系統(tǒng)判斷所述第一編碼消息安全時(shí),向所述第二服務(wù)器發(fā)送所述第一編碼消息;
所述重組模塊402還用于,當(dāng)所述第一服務(wù)器在預(yù)設(shè)時(shí)長內(nèi)未接收到所述第二服務(wù)器發(fā)送的響應(yīng)消息時(shí),將第二字符串添加至所述初始請(qǐng)求消息中,得到第二重組消息;
所述編碼模塊403還用于,對(duì)所述第二重組消息進(jìn)行編碼處理,得到第二編碼消息;其中,所述第一編碼消息和所述第二編碼消息的相似度小于預(yù)設(shè)相似度;
所述發(fā)送模塊404還用于,向所述網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送所述第二編碼消息。
本發(fā)明實(shí)施例提供的第一服務(wù)器可以執(zhí)行上述方法實(shí)施例所示的技術(shù)方案,其實(shí)現(xiàn)原理以及有益效果類似,此處不再進(jìn)行贅述。
在一種可能的實(shí)施方式中,所述編碼模塊403用于:
對(duì)所述第一重組消息進(jìn)行加密處理,和/或,對(duì)所述第一重組消息進(jìn)行壓縮處理;
對(duì)所述第二重組消息進(jìn)行加密處理,和/或,對(duì)所述第二重組消息進(jìn)行壓縮處理。
圖5為本發(fā)明提供的第一服務(wù)器的結(jié)構(gòu)示意圖二,在圖4所示實(shí)施例的基礎(chǔ)上,請(qǐng)參見圖5,所述第一服務(wù)器還包括第二獲取模塊405和確定模塊406,其中,
所述第二獲取模塊405用于,在所述重組模塊將第二字符串添加至所述初始請(qǐng)求消息中,得到第二重組消息之前,獲取對(duì)所述初始請(qǐng)求消息、及所述初始請(qǐng)求消息對(duì)應(yīng)的重組消息的發(fā)送失敗次數(shù);
所述確定模塊406用于,確定所述發(fā)送失敗次數(shù)大于或等于預(yù)設(shè)次數(shù)。
在另一種可能的實(shí)施方式中,所述發(fā)送模塊404還用于,在所述確定模塊406確定所述發(fā)送失敗次數(shù)小于所述預(yù)設(shè)次數(shù)時(shí),向所述第二服務(wù)器發(fā)送所述第一重組消息。
本發(fā)明實(shí)施例提供的第一服務(wù)器可以執(zhí)行上述方法實(shí)施例所示的技術(shù)方案,其實(shí)現(xiàn)原理以及有益效果類似,此處不再進(jìn)行贅述。
圖6為本發(fā)明提供的第二服務(wù)器的結(jié)構(gòu)示意圖,請(qǐng)參見圖6,該第二服務(wù)器可以包括:
接收模塊601,用于接收所述第二服務(wù)器對(duì)應(yīng)的網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送的第二編碼消息,所述第二編碼消息為所述第一服務(wù)器向所述網(wǎng)絡(luò)防護(hù)系統(tǒng)發(fā)送的,所述第一服務(wù)器和所述第二服務(wù)器位于不同的機(jī)房;
解碼模塊602,用于對(duì)所述第二編碼消息進(jìn)行解碼處理,得到第二重組消息;
還原模塊603,用于對(duì)所述第二重組消息進(jìn)行還原處理,得到初始請(qǐng)求消息;
處理模塊604,用于對(duì)所述初始請(qǐng)求消息進(jìn)行處理。
本發(fā)明實(shí)施例提供的第二服務(wù)器可以執(zhí)行上述方法實(shí)施例所示的技術(shù)方案,其實(shí)現(xiàn)原理以及有益效果類似,此處不再進(jìn)行贅述。
在一種可能的實(shí)施方式中,所述解碼模塊602具體用于:
對(duì)所述第二編碼消息進(jìn)行解碼處理;
和/或,
對(duì)所述第二編碼消息進(jìn)行解壓縮處理。
在另一種可能的實(shí)施方式中,所述還原模塊603具體用于:
根據(jù)預(yù)設(shè)重組規(guī)則,確定所述第二重組消息中的字符串的長度、及所述字符串在所述第二重組消息中的位置;
根據(jù)所述第二重組消息中的字符串的長度、及所述字符串在所述第二重組消息中的位置,在所述第二重組消息中去除所述字符串,得到所述初始請(qǐng)求消息。
本發(fā)明實(shí)施例提供的第二服務(wù)器可以執(zhí)行上述方法實(shí)施例所示的技術(shù)方案,其實(shí)現(xiàn)原理以及有益效果類似,此處不再進(jìn)行贅述。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。