數據傳輸方法、裝置、系統、電子設備及電腦程式產品與流程
2023-08-14 06:03:01 1

本發明涉及網際網路技術領域,特別涉及數據傳輸方法、裝置、系統、電子設備及電腦程式產品。
背景技術:
在文件傳輸協議(ftp:filetransferprotocol)的passive模式下,客戶端與ftp源站伺服器21埠建立一條控制連接,用於客戶端與ftp源站伺服器之間的控制命令傳輸,控制命令如登錄、認證、查看目錄等控制命令;客戶端與ftp源站伺服器非21埠建立一條數據連接,用於客戶端與ftp源站伺服器之間的數據上傳與下載。圖1為本發明現有技術的數據傳輸的方法示意圖,如圖1所示,當只有單一ftp代理伺服器時,通過在ftp源站伺服器側的配置文件中指定ftp代理伺服器的ip地址及非21埠,並將指定的ftp代理伺服器ip地址及非21埠信息經由控制連接發送給客戶端,以使客戶端基於指定的ftp代理伺服器ip地址及非21埠實現數據傳輸。
現有技術不足在於:
在以傳輸控制協議(tcp:transmissioncontrolprotocol)代理技術為基礎的應用分發網絡(adn:applicationdeliverynetwork)環境,以及ftp的passive模式下,當存在多個入口伺服器時,無法通過在配置文件中指定入口伺服器的ip地址及埠的方式實現數據傳輸,而是用域名代替所指定的入口伺服器的ip地址,由ftp源站伺服器通過dns解析的方式獲取入口伺服器的ip地址。但是,當ftp源站伺服器與客戶端不在同一區域時,dns伺服器解析相同的域名會返回不同的ip地址,如客戶端接入ftp源站伺服器側的入口伺服器,導致ftp上傳/下載的速度較慢。
技術實現要素:
本發明實施例提出了數據傳輸方法、裝置、系統、電子設備及電腦程式產品,主要用以解決ftp上傳/下載速度較慢的技術問題。
在一個方面,本發明實施例提供了一種數據傳輸方法,應用於adn網絡中,用於ftp數據傳輸,該方法包括:
當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接;
將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端。
在另一個方面,本發明實施例提供了一種數據傳輸裝置,其特徵在於,應用於adn網絡中,用於ftp數據傳輸,該裝置包括:
數據連接模塊,用於當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接;
變更模塊,用於將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端。
在另一個方面,本發明實施例提供了一種數據傳輸系統,應用於adn網絡中,用於ftp數據傳輸,該系統包括:
客戶端,用於當接收到來自ftp代理伺服器的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp代理伺服器的ip地址及埠信息,建立與所述ftp代理伺服器的數據連接;
ftp代理伺服器,用於當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接,以及
將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端;
ftp源站伺服器,用於接收上傳文件的數據,或者將下載文件的數據發送給所述ftp代理伺服器。
在另一個方面,本發明實施例提供了一種電子設備,應用於adn網絡中,用於ftp數據傳輸,所述電子設備包括:
存儲器,一個或多個處理器;以及
一個或多個模塊,所述一個或多個模塊被存儲在所述存儲器中,並被配置成由所述一個或多個處理器執行,所述一個或多個模塊包括用於執行上述方法中各個步驟的指令。
在另一個方面,本發明實施例提供了一種與電子設備結合使用的電腦程式產品,所述電腦程式產品包括計算機可讀的存儲介質和內嵌於其中的電腦程式機制,所述電腦程式機制包括用於執行上述方法中各個步驟的指令。
有益效果如下:
當adn網絡中存在多個ftp代理伺服器時,ftp代理伺服器接收來自ftp源站伺服器的數據傳輸應答消息,並通過將數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息的方式,準確定位到客戶端用於建立數據連接的ftp代理伺服器,從而建立客戶端、ftp代理伺服器及ftp源站伺服器三者之間的數據連接,達到加速ftp上傳/下載速度的技術效果。
附圖說明
下面將參照附圖描述本發明的具體實施例,其中:
圖1為本發明現有技術的數據傳輸的方法示意圖;
圖2為本發明實施例一中數據傳輸的方法原理圖;
圖3為本發明實施例二中數據傳輸的方法流程圖;
圖4為本發明實施例二中數據傳輸的流程示意圖;
圖5為本發明實施例三中數據傳輸的裝置結構圖;
圖6為本發明實施例四中數據傳輸的系統架構圖;
圖7為本發明實施例五中電子設備的結構示意圖。
具體實施方式
為了使本發明的技術方案及優點更加清楚明白,以下結合附圖對本發明的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發明的一部分實施例,而不是所有實施例的窮舉。並且在不衝突的情況下,本說明中的實施例及實施例中的特徵可以互相結合。
發明人在發明過程中注意到:
當存在多個入口伺服器時,通過在ftp源站伺服器側配置域名的方式,由ftp源站伺服器側的dns伺服器解析該配置域名並將解析得到的入口伺服器ip地址及埠信息發送給客戶端,使得客戶端只能根據該ip地址及埠信息接入ftp源站伺服器側的入口伺服器,而非就近接入客戶端側的入口伺服器,導致ftp上傳/下載的速度較慢。
針對上述不足,本發明實施例提出了在存在多個adn入口伺服器的網絡環境下,當adn入口伺服器接收到客戶端發送的下載/上傳文件的數據傳輸請求消息時,將接收到的數據傳輸請求消息發送給ftp源站伺服器,以及當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接,同時,將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端,以實現ftp數據的加速傳輸。
為了便於本發明的實施,下面以實例進行說明。
實施例一、
圖2示出了本發明實施例一中數據傳輸的方法原理圖,如圖2所示,包括:
步驟201:當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接。
步驟202:將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端。
在步驟201中,在進行ftp數據傳輸時,客戶端通過智能dns解析出就近的ftp代理伺服器(即adn網絡中的adn入口伺服器)的ip地址,建立客戶端與ftp代理伺服器之間的控制連接,並經由所建立的控制連接,將下載/上傳文件的數據傳輸請求消息發送給該ftp代理伺服器。同時,ftp代理伺服器建立與ftp源站伺服器之間的控制連接,以使ftp代理伺服器將數據傳輸請求消息經由所建立的控制連接,發送給ftp源站伺服器,再由ftp源站伺服器根據監聽到的數據傳輸請求消息得到數據傳輸應答消息,並將該數據傳輸應答消息發送給ftp代理伺服器。
其中,數據傳輸請求消息為經由控制連接傳輸的控制命令,如上傳/下載文件的請求消息等,數據傳輸應答消息為經由控制連接傳輸的控制命令,如上傳/下載文件的應答消息等。
ftp代理伺服器通過對該數據傳輸應答消息進行解析得到ftp源站伺服器的ip地址及非21埠(如1500-1520埠中的任一埠)信息,並根據該ftp源站伺服器的ip地址及非21埠信息建立與ftp源站伺服器之間的數據連接,同時,監聽來自客戶端非21埠的上傳文件的數據流,以及來自ftp源站伺服器非21埠的下載文件的數據流等。
在步驟202中,ftp代理伺服器將修改後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端之後,客戶端根據ftp代理伺服器的ip地址及埠信息建立與ftp代理伺服器非21埠之間的數據連接,以使ftp代理伺服器將來自客戶端的上傳文件的數據經由所建立的數據連接發送給ftp源站伺服器,或者將來自ftp源站伺服器的下載文件的數據經由所建立的數據連接發送給客戶端。
進一步地,本發明實施例還包括:
當監測到所述ftp代理伺服器與客戶端,或者與所述ftp源站伺服器之間的tcp連接斷開時,斷開所述ftp代理伺服器與所述ftp源站伺服器,或者與所述客戶端之間的tcp連接。
ftp代理伺服器實時監測與客戶端之間的tcp連接狀態,以及與ftp源站伺服器之間的tcp連接狀態,以保證ftp代理伺服器與客戶端之間,以及ftp代理伺服器與ftp源站伺服器端之間tcp連接狀態的同步性。即,當ftp代理伺服器智能監測到與客戶端之間的tcp連接狀態出現故障時,及時斷開ftp代理伺服器與ftp源站伺服器之間的tcp連接,當ftp代理伺服器智能監測到與ftp源站伺服器之間的tcp連接狀態出現故障時,及時斷開ftp代理伺服器與ftp源站伺服器之間的tcp連接。
進一步地,本發明實施例還包括:
當監測到所述ftp源站伺服器出現故障時,與所述ftp源站伺服器的備份ftp源站伺服器建立控制連接和數據連接。
ftp代理伺服器智能監測ftp源站伺服器的埠狀態,當監測到ftp源站伺服器的埠出現故障時,將與ftp源站伺服器建立的控制連接和數據連接斷開,並切換到ftp備份伺服器。可見,ftp代理伺服器通過實時監測ftp源站伺服器埠狀態的方式,保證ftp源站伺服器出現故障時能夠實現及時地切換。
本發明實施例二以基於包含多個入口伺服器的adn網絡,實現ftp數據上傳/下載的具體應用場景為例,對本發明實施例二進行詳細描述。
實施例二、
圖3示出了本發明實施例二中數據傳輸的方法流程圖,如圖3所示,包括:
步驟301:ftp源站伺服器側預先配置用於與客戶端建立數據連接的ftp源站伺服器自身的ip地址及埠信息。ftp源站伺服器通常被配置為passive模式,在passive模式下,在ftp源站伺服器側的配置文件中指定ftp源站伺服器自身的ip地址和埠號。圖4示出了本發明實施例二中數據傳輸的流程示意圖,如圖4所示,ftp源站伺服器假定所指定的ip地址為1.0.0.1,埠號為1500-1520,即ftp源站伺服器自身的ip地址及埠號。
步驟302:配置入口伺服器,用於監聽來自客戶端,以及ftp源站伺服器的數據流。配置adn網絡側入口伺服器的監聽埠,每個入口伺服器的21埠用於監聽來自客戶端21埠的下載/上傳文件的請求消息,以及來自ftp源站伺服器21埠的下載/上傳文件的應答消息等;每個入口伺服器的1500-1520埠用於監聽來自客戶端1500-1520埠的上傳文件的數據流,以及來自ftp源站伺服器1500-1520埠的下載文件的數據流等。
步驟303:客戶端2與入口伺服器建立控制連接,入口伺服器與ftp源站伺服器建立控制連接。客戶端2獲取adn網絡側智能dns根據來自客戶端2的訪問請求消息解析出的就近入口伺服器的ip地址,根據該入口伺服器ip地址建立與該入口伺服器之間的控制連接,即連接該入口伺服器的21埠(如1.0.0.1:21),該入口伺服器與ftp源站伺服器建立控制連接,即連接ftp源站伺服器的21埠。
步驟304:客戶端2將下載/上傳文件的請求消息經由入口伺服器發送給ftp源站伺服器,ftp源站伺服器將其自身的ip地址及埠信息攜帶在下載/上傳文件的應答消息中發送給入口伺服器。客戶端2將下載/上傳文件的請求消息經由所建立的控制連接發送給入口伺服器,入口伺服器將該下載/上傳文件的請求消息轉發給ftp源站伺服器。當ftp源站伺服器的監聽埠監聽到該下載/上傳文件的請求消息時,將其自身的ip地址及埠信息攜帶在下載/上傳文件的應答消息中,經由已建立的控制連接發送給入口伺服器。
步驟305:入口伺服器修改應答消息中的ip地址及埠信息,並將修改後的ip地址及埠信息攜帶在應答消息中返回給客戶端2。當入口伺服器監聽到來自ftp源站伺服器的應答消息時,根據應答消息中ftp源站伺服器的ip地址及埠信息(如1.0.0.1:1500)建立與ftp源站伺服器之間的數據連接,以使入口伺服器將來自客戶端2的上傳文件的數據流經由所建立的數據連接發送給ftp源站伺服器,以及將來自ftp源站伺服器的下載文件的數據流發送給客戶端2。同時,將應答消息中ftp源站伺服器的ip地址及埠信息修改為入口伺服器自身的ip地址及埠信息(如1.0.0.2:1500),並將修改後的ip地址及埠信息攜帶在應答消息中返回給客戶端2。
步驟306:客戶端2根據來自入口伺服器的ip地址及埠信息建立數據連接,以實現數據的加速傳輸。客戶端2接收經由控制連接返回的應答消息,並根據應答消息中的ip地址及埠信息(如1.0.0.2:1500)建立與入口伺服器之間的數據連接,以使客戶端2將上傳文件的數據流經由入口伺服器發送給ftp源站伺服器,以及接收來自ftp源站伺服器的下載文件的數據流。
步驟307:入口伺服器監測與客戶端2之間的tcp連接狀態,以及與ftp源站伺服器之間的tcp連接狀態,以保證客戶端2與ftp源站伺服器端tcp連接狀態的同步性。當入口伺服器智能監測到與客戶端2之間的tcp連接狀態出現故障時,及時斷開入口伺服器與ftp源站伺服器之間的tcp連接,當入口伺服器智能監測到與ftp源站伺服器之間的tcp連接狀態出現故障時,及時斷開入口伺服器與ftp源站伺服器之間的tcp連接。
步驟308:入口伺服器監測ftp源站伺服器的埠狀態,以保證ftp源站伺服器出現故障時能夠實現及時切換。入口伺服器智能監測ftp源站伺服器的埠狀態,當監測到ftp源站伺服器的埠出現故障時,將與ftp源站伺服器建立的控制連接和數據連接斷開,並切換到ftp備份伺服器。
實施例三、
基於同一發明構思,本發明實施例中還提供了一種數據傳輸裝置,由於這些設備解決問題的原理與一種數據傳輸方法相似,因此這些設備的實施可以參見方法的實施,重複之處不再贅述。
圖5示出了本發明實施例三中數據傳輸的裝置結構圖,如圖5所示,裝置可以包括:
數據連接模塊501,用於當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接。
變更模塊502,用於將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端。
優選的,本裝置還可以包括:
監測模塊503,用於當監測到所述ftp代理伺服器與客戶端,或者與所述ftp源站伺服器之間的tcp連接斷開時,斷開所述ftp代理伺服器與所述ftp源站伺服器,或者與所述客戶端之間的tcp連接。
優選的,本裝置還可以包括:
備份模塊504,用於當監測到所述ftp源站伺服器出現故障時,與所述ftp源站伺服器的備份ftp源站伺服器建立控制連接和數據連接。
實施例四、
基於同一發明構思,本發明實施例中還提供了一種數據傳輸系統,由於這些設備解決問題的原理與一種數據傳輸方法、一種數據傳輸裝置相似,因此這些設備的實施可以參見方法的實施,重複之處不再贅述。
圖6示出了本發明實施例四中數據傳輸的系統架構圖,如圖6所示,系統可以包括:
客戶端601,用於當接收到來自ftp代理伺服器的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp代理伺服器的ip地址及埠信息,建立與所述ftp代理伺服器的數據連接。
ftp代理伺服器602,用於當接收到ftp源站伺服器根據數據傳輸請求消息發送的數據傳輸應答消息時,根據所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息建立與ftp源站伺服器的數據連接,以及
將所述數據傳輸應答消息中的ftp源站伺服器的ip地址及埠信息變更為ftp代理伺服器自身的ip地址及埠信息,並將變更後的ip地址及埠信息攜帶在所述數據傳輸應答消息中發送給客戶端。
ftp源站伺服器603,用於接收上傳文件的數據,或者將下載文件的數據發送給所述ftp代理伺服器。
實施例五、
基於同一發明構思,本發明實施例中還提供了一種電子設備,由於其原理與一種數據傳輸方法相似,因此其實施可以參見方法的實施,重複之處不再贅述。
圖7示出了本發明實施例五中電子設備的結構示意圖,如圖7所示,所述電子設備包括:收發設備701,存儲器702,一個或多個處理器703;以及一個或多個模塊,所述一個或多個模塊被存儲在所述存儲器中,並被配置成由所述一個或多個處理器執行,所述一個或多個模塊包括用於執行任一上述方法中各個步驟的指令。
實施例六、
基於同一發明構思,本發明實施例還提供了一種與電子設備結合使用的電腦程式產品,由於其原理與一種數據傳輸方法相似,因此其實施可以參見方法的實施,重複之處不再贅述。所述電腦程式產品包括計算機可讀的存儲介質和內嵌於其中的電腦程式機制,所述電腦程式機制包括用於執行任一上述方法中各個步驟的指令。
為了描述的方便,以上所述裝置的各部分以功能分為各種模塊分別描述。當然,在實施本發明時可以把各模塊或單元的功能在同一個或多個軟體或硬體中實現。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。