一種去中心化的數(shù)據(jù)傳輸方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種數(shù)據(jù)傳輸方法。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)上數(shù)據(jù)傳輸往往需要跨越復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),例如數(shù)據(jù)的發(fā)送端在VPN內(nèi),而數(shù)據(jù)的接收端卻在公網(wǎng)上,或者反之,甚至兩者都在相異的VPN之內(nèi)。如此,在數(shù)據(jù)傳輸時(shí)需要在網(wǎng)絡(luò)的邊界層上部署數(shù)據(jù)轉(zhuǎn)發(fā)器,數(shù)據(jù)轉(zhuǎn)發(fā)器一般是背靠背的服務(wù)端和客戶端程序,同時(shí)負(fù)責(zé)接收數(shù)據(jù)、和發(fā)送數(shù)據(jù),如圖1所示。
[0003]在圖1中,數(shù)據(jù)收發(fā)端即為用戶終端處于本地局域網(wǎng)(該局域網(wǎng)可以為某個(gè)VPN網(wǎng))的接入層,數(shù)據(jù)轉(zhuǎn)發(fā)器(含服務(wù)端/客戶端)處于與公網(wǎng)連接的邊界層。數(shù)據(jù)轉(zhuǎn)發(fā)器部署的數(shù)據(jù)通信協(xié)議可以是FTP、HTTP、或SIP協(xié)議,也可以是任何第三方協(xié)議、甚至是私有協(xié)議。處于相異的局域網(wǎng)或VPN邊界層的轉(zhuǎn)發(fā)器之間通過(guò)服務(wù)/客戶連接構(gòu)成數(shù)據(jù)的接力傳輸,在單獨(dú)的局域網(wǎng)或VPN之內(nèi),每個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)器向多個(gè)用戶終端提供連接傳輸服務(wù)。所以這是一種中心化的網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu),在不同的網(wǎng)絡(luò)間由客戶/服務(wù)連接建立數(shù)據(jù)接力傳輸。此外,如前述圖1的數(shù)據(jù)收發(fā)端其中之一可以包含在公網(wǎng)或其他網(wǎng)絡(luò)上。
[0004]對(duì)于中心化的數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)存在著明顯的安全缺陷:
[0005]1.由于數(shù)據(jù)轉(zhuǎn)發(fā)器處于邊界層,具有公網(wǎng)地址,且其具有服務(wù)端屬性,易于受到攻擊;
[0006]2.又由于其中心化的配置結(jié)構(gòu),一旦其受到攻擊癱瘓,則導(dǎo)致該網(wǎng)絡(luò)內(nèi)所有用戶終端的數(shù)據(jù)傳輸中斷;
[0007]3.也由于其處于中心節(jié)點(diǎn),它匯聚了各路用戶終端的數(shù)據(jù),一旦受到攻擊,容易造成所有用戶數(shù)據(jù)的泄露。
【發(fā)明內(nèi)容】
[0008]為了克服已有數(shù)據(jù)傳輸方法的安全性較低的不足,本發(fā)明提供一種提升安全性的去中心化的數(shù)據(jù)傳輸方法。
[0009 ]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
[0010]—種去中心化的數(shù)據(jù)傳輸方法,實(shí)現(xiàn)該傳輸方法的系統(tǒng)中,數(shù)據(jù)收發(fā)端有一方是公網(wǎng)的一個(gè)或多個(gè)服務(wù),另一端則是處于VPN或局域網(wǎng)內(nèi)的多個(gè)用戶終端,接入網(wǎng)絡(luò)時(shí),所述用戶終端與雙服務(wù)管控程序?qū)?,在邊界層部署雙客戶端,所述雙客戶端包括對(duì)外客戶端和對(duì)內(nèi)超級(jí)客戶端,所述對(duì)外客戶端與公網(wǎng)連接;所述雙服務(wù)管控程序的處理流程如下:[0011 ] I)啟動(dòng)數(shù)據(jù)收發(fā)端,即用戶端側(cè)的服務(wù)端進(jìn)程;
[0012]2)等待用戶端上傳數(shù)據(jù),所傳數(shù)據(jù)存放在分配給雙服務(wù)管控程序的本地A目錄;
[0013]3)等待用戶端請(qǐng)求數(shù)據(jù),請(qǐng)求的數(shù)據(jù)存放在分配給雙服務(wù)管控程序的本地B目錄上,這些數(shù)據(jù)來(lái)自于超級(jí)客戶端;
[0014]4)以上步驟2)、步驟3)使用多線程并行執(zhí)行,如果等待超時(shí)則自動(dòng)退出步驟2)、步驟3)任務(wù);否則直到步驟2 )、步驟3)任務(wù)完成;
[0015]5)等步驟2)、步驟3)任務(wù)退出后,啟動(dòng)另一服務(wù)端程序,即超級(jí)客戶端側(cè)的服務(wù)端;本服務(wù)端進(jìn)程,即用戶端側(cè)的服務(wù)端程序退出;
[0016]6)超級(jí)客戶端側(cè)服務(wù)程序啟動(dòng)后,等待超級(jí)客戶端上傳數(shù)據(jù),存放在B目錄;
[0017]7)等待超級(jí)客戶端請(qǐng)求數(shù)據(jù),這些數(shù)據(jù)存放在A目錄,該數(shù)據(jù)來(lái)源于用戶端;
[0018]8)以上步驟6)、步驟7)以多線程方式并發(fā)執(zhí)行,并設(shè)置等待超時(shí);
[0019]9)超時(shí)或步驟6)、步驟7)完成后,啟動(dòng)用戶端服務(wù)進(jìn)程,并退出本服務(wù)端進(jìn)程,SP退出超級(jí)客戶端側(cè)的服務(wù)程序。
[0020]進(jìn)一步,所述超級(jí)客戶端使用多線程模式輪流輪詢各個(gè)服務(wù)端。
[0021]再進(jìn)一步,所述雙服務(wù)管控程序處于接入層沒(méi)有具備公網(wǎng)地址。
[0022]更進(jìn)一步,從數(shù)據(jù)收發(fā)端向公網(wǎng)數(shù)據(jù)收發(fā)端發(fā)送數(shù)據(jù)包的流程:
[0023]1.1)數(shù)據(jù)收發(fā)端向自己側(cè)服務(wù)端上傳數(shù)據(jù);
[0024]1.2)上傳失敗,回到1.1);否則完成發(fā)送;
[0025]1.3)超級(jí)客戶端輪到輪詢?cè)撀酚脩?,訪問(wèn)該路超級(jí)客戶端側(cè)的服務(wù)端,進(jìn)行下載;
[0026]1.4)下載失敗,回到1.3),否則完成下載;
[0027]1.5)對(duì)外客戶端讀取超級(jí)客戶端下載的數(shù)據(jù),發(fā)送到公網(wǎng)數(shù)據(jù)收發(fā)端。
[0028]從公網(wǎng)數(shù)據(jù)收發(fā)端向數(shù)據(jù)收發(fā)端發(fā)送數(shù)據(jù)包的流程:
[0029]2.1)對(duì)外客戶端向公網(wǎng)數(shù)據(jù)收發(fā)端請(qǐng)求數(shù)據(jù);
[0030]2.2)超級(jí)客戶端讀取對(duì)外客戶端請(qǐng)求的數(shù)據(jù),輪到輪詢?cè)撀冯p服務(wù)端之己側(cè)的服務(wù)端,并上傳;
[0031]2.3)上傳失敗,回到2.2),否則完成上傳;
[0032]2.4)數(shù)據(jù)收發(fā)端向己側(cè)的服務(wù)端請(qǐng)求數(shù)據(jù);
[0033]2.5)請(qǐng)求失敗,回到2.4),否則請(qǐng)求下載完畢。
[0034]本發(fā)明的技術(shù)構(gòu)思為:設(shè)計(jì)一種新型的數(shù)據(jù)轉(zhuǎn)發(fā)器組網(wǎng)模式,使得其協(xié)議編程接口易于兼容舊往模式,但克服了中心化結(jié)構(gòu)網(wǎng)絡(luò)的安全隱患。本案設(shè)計(jì)的方法適合數(shù)據(jù)收發(fā)端其中一方包含在公網(wǎng)或與另一端相異的網(wǎng)絡(luò)之內(nèi)。
[0035]去中心化模式也異于傳統(tǒng)P2P網(wǎng)絡(luò)結(jié)構(gòu),在那種模式下各個(gè)參與通信的端點(diǎn)是對(duì)等的、且此模式對(duì)舊有的C/S間通信協(xié)議也不兼容。而這里研究的去中心化數(shù)據(jù)通信模式?jīng)]有這種缺陷。
[0036]本發(fā)明的有益效果主要表現(xiàn)在:提升安全性,兼容性較好。
【附圖說(shuō)明】
[0037]圖1是傳統(tǒng)的數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)的示意圖。
[0038]圖2是數(shù)據(jù)去中心化轉(zhuǎn)發(fā)傳輸?shù)氖疽鈭D。
【具體實(shí)施方式】
[0039]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
[0040]參照?qǐng)D2,一種去中心化的數(shù)據(jù)傳輸方法,針對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)應(yīng)用中的一類(lèi)特殊情形,即數(shù)據(jù)收發(fā)端有一方是公網(wǎng)的一個(gè)或多個(gè)服務(wù),另一端則是處于VPN或局域網(wǎng)內(nèi)的多個(gè)用戶終端,設(shè)計(jì)了一個(gè)避免中心化的數(shù)據(jù)轉(zhuǎn)發(fā)模式。
[0041]如圖2所示,數(shù)據(jù)收發(fā)端就是傳統(tǒng)的用戶終端,在接入網(wǎng)絡(luò)時(shí)專(zhuān)門(mén)配制一個(gè)與其對(duì)接的雙服務(wù)程序,與傳統(tǒng)的用戶終端接入一樣(見(jiàn)圖1),用戶終端與雙服務(wù)對(duì)接的協(xié)議接口不變,至于雙服務(wù)管控程序的機(jī)制后面會(huì)詳解。在邊界層部署一個(gè)雙客戶端程序,其對(duì)內(nèi)是一個(gè)超級(jí)客戶端,與各用戶終端對(duì)接的雙服務(wù)程序通信,協(xié)議接口不變;而對(duì)外這是一個(gè)可訪問(wèn)多個(gè)公網(wǎng)數(shù)據(jù)收發(fā)端的客戶端,公網(wǎng)數(shù)據(jù)收發(fā)端可以是一個(gè)FTP服務(wù)、HTTP服務(wù)、甚至可以是一個(gè)云存儲(chǔ)端。
[0042]雙服務(wù)的管控程序工作原理如下:
[0043]I)啟動(dòng)數(shù)據(jù)收發(fā)端,即用戶端側(cè)的服務(wù)端進(jìn)程;
[0044]2)等待用戶端上傳數(shù)據(jù),所傳數(shù)據(jù)存放在分配給雙服務(wù)管控程序的本地A目錄;
[0045]3)等待用戶端請(qǐng)求數(shù)據(jù),請(qǐng)求的數(shù)據(jù)存放在分配給雙服務(wù)管控程序的本地B目錄上,這些數(shù)據(jù)來(lái)