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