數據傳輸控制方法和裝置的制造方法
【技術領域】
[0001]本申請涉及計算機技術領域,具體涉及數據傳輸技術領域,尤其涉及數據傳輸控制方法和裝置。
【背景技術】
[0002]為了提供快速的響應,企業通常會在多個區域構建大型數據中心(IDC,InternetData Center),每個數據中心存有數據副本,以縮減用戶請求的路徑中轉。而在各個數據中心之間的數據同步與更新成為了日益凸顯的關鍵問題。目前,現有技術通常是通過P2P(Peer-To-Peer,對等網絡)技術實現各個數據中心之間的數據傳輸。通過跟蹤服務器記錄數據中心中的每個服務器(peer)正在下載的數據內容以及下載狀態,為每個需要下載數據的服務器查詢與存有該服務器所需數據的其他服務器列表,并從其他服務器列表隨機選擇一個服務器作為數據傳輸的源服務器以完成數據傳輸。
[0003]然而,通過現有技術選則源服務器是隨機的,不能從全局角度選取最合適的源服務器,不能保證在給定的時間之前完成數據傳輸,并且不能有效地利用鏈路帶寬。
【發明內容】
[0004]本申請的目的在于提出一種數據傳輸控制方法和裝置,來解決以上【背景技術】部分提到的技術問題。
[0005]第一方面,本申請提供了一種數據傳輸控制方法,所述方法包括:獲取請求服務器所需求數據的數據量、所指示的截止時間以及存有所述所需求數據的候選源服務器;根據所述數據量,獲取在所述截止時間之前傳輸所述所需求數據所需要的最小帶寬,作為所述所需求數據對應的需求帶寬;根據所述需求帶寬、各個候選源服務器和所述請求服務器的帶寬資源以及各個候選源服務器與所述請求服務器之間的鏈路的剩余帶寬,選擇各個候選源服務器中的一個作為傳輸所述所需求數據的源服務器。
[0006]第二方面,本申請提供了另一種數據傳輸控制方法,所述方法包括:接收數據傳輸任務,所述數據傳輸任務包括以下信息:需求數據標識、截止時間、目的服務器標識;將所述需求數據標識對應的數據拆分為至少兩個分片;針對每個分片,將所述分片作為所需求數據,所述截止時間作為所指示的截止時間,所述目的服務器標識對應的服務器作為請求服務器,通過第一方面所述的方法,選擇所述分片對應的源服務器,生成對應的子任務,其中,所述子任務包括以下信息:所述源服務器的標識、所述目的服務器標識、所述分片標識;將各個分片對應的子任務發送到子任務的源服務器的標識信息對應的源服務器、所述目的服務器標識信息對應的目的服務器,并控制所述源服務器和所述目的服務器進行數據傳輸。
[0007]第三方面,本申請提供了一種數據傳輸控制裝置,所述裝置包括:獲取單元,用于獲取請求服務器所需求數據的數據量、所指示的截止時間以及存有所述所需求數據的候選源服務器;需求帶寬確定單元,用于根據所述數據量,獲取在所述截止時間之前傳輸所述所需求數據所需要的最小帶寬,作為所述所需求數據對應的需求帶寬;源服務器確定單元,用于根據所述需求帶寬、各個候選源服務器和所述請求服務器的帶寬資源以及各個候選源服務器與所述請求服務器之間的鏈路的剩余帶寬,選擇各個候選源服務器中的一個作為傳輸所述所需求數據的源服務器。
[0008]第四方面,本申請提供了另一種數據傳輸控制裝置,所述裝置包括:任務接收單元,用于接收數據傳輸任務,所述數據傳輸任務包括以下信息:需求數據標識、截止時間、目的服務器標識;分片單元,用于將所述需求數據標識對應的數據拆分為至少兩個分片;子任務生成單元,用于針對每個分片,將所述分片作為所需求數據,所述截止時間作為所指示的截止時間,所述目的服務器標識對應的服務器作為請求服務器,通過第三方面所述的裝置,選擇所述分片對應的源服務器,生成對應的子任務,其中,所述子任務包括以下信息:所述源服務器的標識、所述目的服務器標識、所述分片標識;子任務控制單元,用于將各個分片對應的子任務發送到子任務的源服務器的標識信息對應的源服務器、所述目的服務器標識信息對應的目的服務器,并控制所述源服務器和所述目的服務器進行數據傳輸。
[0009]本申請提供的數據傳輸控制方法和裝置,通過根據所需求數據的數據量,獲取在截止時間之前傳輸所需求數據所需要的需求帶寬,并根據所述需求帶寬、各個候選源服務器和所述請求服務器的帶寬資源以及各個候選源服務器與所述請求服務器之間的鏈路的剩余帶寬,選擇各個候選源服務器中的一個作為傳輸所述所需求數據的源服務器,實現了從全局角度選取最合適的源服務器,保證了在截止時間之前完成數據傳輸,并且有效地利用了鏈路帶寬。
【附圖說明】
[0010]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
[0011]圖1是本申請可以應用于其中的示例性系統架構圖;
[0012]圖2是根據本申請的數據傳輸控制方法的一個實施例的流程圖;
[0013]圖3是根據本申請的數據傳輸控制方法的另一個實施例的流程圖;
[0014]圖4是根據本申請的數據傳輸控制裝置的一個實施例的結構示意圖;
[0015]圖5是根據本申請的數據傳輸控制裝置的另一個實施例的結構示意圖;
[0016]圖6是適于用來實現本申請實施例的控制服務器的計算機系統的結構示意圖。
【具體實施方式】
[0017]下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發明,而非對該發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發明相關的部分。
[0018]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
[0019]圖1示出了可以應用本申請的數據傳輸控制方法或數據傳輸控制裝置的實施例的示例性系統架構100。
[0020]如圖1所示,系統架構100可以包括控制服務器101和服務器102、103、104、105。
[0021]控制服務器101可以是提供各種服務的服務器,例如對服務器102、103、104、105提交的數據傳輸任務,根據網絡拓撲、帶寬消耗等信息,將數據傳輸任務拆解為可實際運行的子任務,并將子任務下發給對應的服務器。
[0022]用戶可以通過服務器102、103、104、105與控制服務器101交互,以發出數據傳輸任務等。服務器102、103、104、105可以是支持存儲和通信的各種電子設備。在實際運行中,月艮務器102、103、104、105可以是數據傳輸的源服務器,也可以是數據傳輸的目的服務器。服務器102、103與服務器104、105位于不同的數據中心中,數據中心I與數據中心2可以是一個域中的數據中心,也可以是不同域中的數據中心。
[0023]需要說明的是,本申請實施例所提供的數據傳輸控制方法通常由控制服務器101執行。相應地,數據傳輸控制裝置通常設置于控制服務器101中。
[0024]應該理解,圖1中的控制服務器、服務器和數據中心的數目僅僅是示意性的。根據實現需要,可以具有任意數目的控制服務器、服務器、數據中心和域。
[0025]繼續參考圖2,圖2示出了根據本申請的數據傳輸控制方法的一個實施例的流程200。
[0026]如圖2所示,本實施例的數據傳輸控制方法包括以下步驟:
[0027]步驟201,獲取請求服務器所需求數據的數據量、所指示的截止時間以及存有上述所需求數據的候選源服務器。
[0028]在本實施例中,數據傳輸控制方法運行于其上的電子設備(例如圖1所示的控制服務器101)可以通過在實時更新的服務器存儲信息集合(例如數據庫中的數據表)中獲取請求服務器(例如圖1所示的服務器102、103、104、105)所需求數據的數據量以及存有上述所需求數據的服務器(例如圖1所示的服務器102、103、104、105),并將存有上述所需求數據的服務器作為上述候選源服務器。
[0029]步驟202,根據上述數據量,獲取在上述截止時間之前傳輸上述所需求數據所需要的最小帶寬,作為上述所需求數據對應的需求帶寬。
[0030]在本實施例中,控制服務器可以首先獲取上述截止時間與當前時間之間的時間長度,然后將上述數據量除以上述時間長度,得到所需求數據對應的需求帶寬。
[0031]可選地,控制服務器也可以將上述時間長度乘以預定的系數(例如0.9)或者減去預定的時間長度得到新的時間長度,然后將上述數據量除以上述新的時間長度,得到所需求數據對應的需求帶寬,從而可以更加確保在截止時間之前完成數據傳輸。
[0032]步驟203,根據上述需求帶寬、各個候選源服務器和上述請求服務器的帶寬資源以及各個候選源服務器與上述請求服務器之間的鏈路的剩余帶寬,選擇各個候選源服務器中的一個作為傳輸上述所需求數據的源服務器。
[0033]在本實施例中,控制服務器可以選擇與上述請求服務器之間的鏈路的剩余帶寬大于上述需求帶寬的候選源服務器作為傳輸上述所需求數據的源服務器,也可以選擇與上述請求服務器之間的鏈路的剩余帶寬以及帶寬資源都大于上述需求帶寬的候選源服務器作為傳輸上述所需求數據的源服務器。
[0034]在本實施例的一些可選的實現方式中,步驟203可以包括:獲取上述請求服務器當前下載的數據對應的需求帶寬,并根據上述請求服務器的帶寬資源、上述當前下載的數據和上述所需求數據對應的需求帶寬,確定上述請求服務器所能分配的下載帶寬;針對每個候選服務器,獲取上述候選源服務器當前上傳的數據對應的需求帶寬,并根據上述候選源服務器的帶寬資源、上述當前上傳的數據和上述所需求數據對應的需求帶寬,確定上述候選源服務器所能分配的上傳