專利名稱:云備份系統中的數據定向轉發方法
技術領域:
本發明涉及一種數據轉發方法,具體涉及一種云備份系統中的數據定向轉發方法。
背景技術:
數字化的生活使人們累積了大量的重要數據,人們越來越需要將這些重要數據進行網絡備份。現有網絡備份系統中的數據傳送方式一般分為兩類直接發送方式,在這種方式中,客戶端主機一般直接向存儲結點(數據中心或P2p主機)發送數據,數據不經其它用戶客戶端轉發;使用緩存設備的傳送方式為了提高用戶備份時的數據傳輸效率,一些用戶可能在靠近客戶端主機的位置(比如在企業自己的機房內)部署緩存設備,用戶數據首先被傳送到緩存設備,再由緩存設備收集完數據后轉發到遠程的云數據中心。然而,現有的數據傳送方式存在以下問題(1)在直接發送方式中,客戶主機可能因遠離數據存儲結點,而無法獲得高速的實際帶寬,降低了用戶備份速度和效率;(2)在基于p2p的備份系統中,往往需要備份數據的多個副本到不同的主機,增加了備份的數據量, 更加降低備份效率且將浪費大量網絡帶寬;C3)部署緩存設備盡管可以提高備份效率,但緩存設備的部署需要一定的購買和維護費用,提高了云備份服務的成本,不適合在具有大量個人用戶的廣域云環境下使用。
發明內容
本發明的目的在于提供一種云備份系統中的數據定向轉發方法,這個云備份系統中包含數據中心(或存儲服務器)和P2p結點,該方法提高了備份客戶端備份數據的效率, 在向云備份系統的p2p空間中注入副本時不增加源主機的備份數據總量,且不因放置副本而浪費帶寬,并且在存儲轉發數據的過程中,使用網絡中的空閑主機資源,不額外增加系統的部署成本。本發明是通過以下技術方案實現的一種云備份系統中的數據定向轉發方法,包括以下步驟(1)云備份系統中的所有客戶端周期性地上傳自身信息到存儲空間(1-1)每個客戶端周期性地使用檢測軟件探測客戶端到達目標存儲服務器的數據傳輸路徑,以及客戶端到數據傳輸路徑上的每個數據轉發設備的環回時間RTT ;(1-2)客戶端按序查詢數據轉發設備的反饋信息,以計算客戶端到達數據轉發設備的延遲=RTT/2 ;(1-3)客戶端判斷延遲是否小于閾值,若小于則轉入步驟(1-4),否則轉入步驟 (1-5);(1-4)以數據轉發設備的IP地址為關鍵字,以客戶端的平均上傳帶寬、平均下載帶寬、剩余存儲容量、延遲為鍵值,將關鍵字和鍵值發送到存儲空間上;(1-5)判斷數據轉發設備是否是數據傳輸路徑上的最后一臺數據轉發設備,如是,則步驟(1)結束,否則進入步驟(1-6);(1-6)轉入數據傳輸路徑上的下一個數據轉發設備,并返回步驟(1-2);(2)云備份系統中的所有客戶端周期性地構造自己的中轉客戶端列表(2-1)每個客戶端遍歷自己的數據傳輸路徑上的所有數據轉發設備的IP地址,并以這些IP地址為關鍵字周期性地在存儲空間上查詢到達數據轉發設備的延遲比客戶端小的其它客戶端作為本客戶端的候選中轉客戶端,并根據候選中轉客戶端構造自己的候選中轉客戶端列表,候選中轉客戶端列表的每個表項包含候選中轉客戶端的鍵值;(2-2)刪除候選中轉客戶端列表中沒有足夠存儲容量和可用帶寬的候選中轉客戶端,以完成候選中轉客戶端列表的更新;(2-3)計算更新后的候選中轉客戶端列表中候選中轉客戶端與客戶端到同一數據轉發設備的延遲的和,并根據客戶端的實際上傳帶寬從候選中轉客戶端列表中選擇多個延遲的和最小的候選中轉客戶端組成中轉客戶端列表,此時中轉客戶端列表中的被選中的候選中轉客戶端為中轉客戶端;(3)擁有待發送數據的客戶端根據中轉客戶端列表轉發數據(3-1)擁有待發送數據的客戶端在其自身的中轉客戶端列表中選擇一個中轉客戶端,并向中轉客戶端發送數據;(3-2)接收到數據的中轉客戶端根據應用需要判斷是否在本主機的外存設備上長期存儲接收到的數據,并判斷其自身與目標存儲服務器的延遲是否小于閾值,若小于,則轉入步驟(3-4),否則返回轉入步驟(3-3);(3-3)接收到數據的中轉客戶端成為一個新的擁有待發送數據的客戶端,并轉入步驟(3-1);(3-4)接收到數據的中轉客戶端將數據傳輸到目標存儲服務器。數據轉發設備為路由器和交換機。閾值的范圍是5到30毫秒。本發明的優點和技術效果包括(1)如果備份源主機遠離云數據中心,那么備份數據將被首先發送到距離數據源主機較近的其它用戶主機,再經這些主機接力轉發,最終轉發到數據中心,因此提高了備份效率;(2)如果需要向云備份系統的p2p空間中注入副本,則在轉發過程中,轉發數據的主機在轉發完數據之后,就地保存數據,不增加源主機的備份數據總量,也不因放置副本而耗費額外帶寬;(3)該方法在存儲轉發數據的過程中,使用網絡中空閑的計算機資源,如存儲空間、帶寬等,不額外增加系統的部署成本。
圖1是本發明云備份系統中的數據定向轉發方法的流程圖。圖2是本發明數據定向轉發方法中步驟(1)的細化流程圖。圖3是本發明數據定向轉發方法中步驟O)的細化流程圖。圖4是本發明數據定向轉發方法中步驟(3)的細化流程圖。
圖5是本發明數據定向轉發方法的工作過程示意圖。
具體實施例方式以下首先對本發明的技術術語進行解釋和說明數據轉發設備;本發明中指路由器,交換機,網關等在網絡中負責數據存儲轉發, 且具有網絡層功能的網絡設備。跳英文是hop,在本發明中,每一跳為一個數據轉發設備。環回時間英文是RouncKTrip Time,縮寫為RTT,也稱之為往返時延。在計算機網絡中它是一個重要的性能指標,表示從發送端發送數據開始,到發送端收到來自接收端的確認(接收端收到數據后便立即發送確認),總共經歷的時延。數據傳輸路徑互聯網中,信息的傳送是通過網中許多段的傳輸介質和設備(路由器,交換機,服務器,網關等等)從一端到達另一端。每一個連接在hternet上的設備一般情況下都會有一個獨立的IP地址。通過Traceroute或"Tracert命令可以依次獲得信息從某計算機到互聯網的另一端的主機所經歷的網絡設備的IP和環回時間,本發明中稱這一串描述信息轉發過程的設備IP和環回時間為數據傳輸路徑。UNIX系統中,使用 Traceroute, MS Windows 中為 Tracert0如圖1所示,本發明云備份系統中的數據定向轉發方法,包括以下步驟(1)云備份系統中的所有客戶端周期性地上傳自身信息到存儲空間,具體而言,包括以下子步驟(1-1)每個客戶端周期性地使用檢測軟件探測本客戶端到達目標存儲服務器的數據傳輸路徑,以及客戶端到數據傳輸路徑上的每個數據轉發設備的環回時間RTT。(1-2)客戶端按序查詢數據轉發設備的反饋信息,以計算客戶端到達數據轉發設備的延遲=RTT/2 ;(1-3)客戶端判斷延遲是否小于閾值,若小于則轉入步驟(1-4),否則轉入步驟 (1-5),在本實施方式中,閾值的范圍是5到30毫秒。(1-4)以數據轉發設備的IP地址為關鍵字,以客戶端的平均上傳帶寬、平均下載帶寬、剩余存儲容量、客戶端到數據轉發設備的延遲為鍵值,將關鍵字和鍵值發送到存儲空間上;(1-5)判斷數據轉發設備是否是數據傳輸路徑上的最后一臺數據轉發設備,如是, 則步驟(1)結束,否則進入步驟(1-6);(1-6)轉入數據傳輸路徑上的下一個數據轉發設備,并返回步驟(1-2);(2)云備份系統中的所有客戶端周期性地構造自己的中轉客戶端列表,具體包括以下子步驟(2-1)每個客戶端遍歷自己的數據傳輸路徑上的所有數據轉發設備的IP地址,并以這些IP地址為關鍵字周期性地在存儲空間上查詢到達數據轉發設備的延遲比本客戶端小的其它客戶端作為本客戶端的候選中轉客戶端,并根據候選中轉客戶端構造自己的候選中轉客戶端列表,候選中轉客戶端列表的每個表項包含候選中轉客戶端的鍵值;(2-2)刪除候選中轉客戶端列表中沒有足夠存儲容量和可用帶寬的候選中轉客戶端,以完成候選中轉客戶端列表的更新;
(2-3)計算更新后的候選中轉客戶端列表中候選中轉客戶端與客戶端到同一數據轉發設備的延遲的和,并根據客戶端的實際上傳帶寬從候選中轉客戶端列表中選擇多個延遲的和最小的候選中轉客戶端組成中轉客戶端列表,此時中轉客戶端列表中的被選中的候選中轉客戶端為中轉客戶端;(3)擁有待發送數據的客戶端根據中轉客戶端列表轉發數據(3-1)擁有待發送數據的客戶端在其自身的中轉客戶端列表中選擇一個中轉客戶端,并向中轉客戶端發送數據;(3-2)接收到數據的中轉客戶端根據應用需要判斷是否在本主機的外存設備上長期存儲接收到的數據,并判斷其自身與目標存儲服務器的距離是否小于閾值,若小于,則轉入步驟(3-4),否則返回轉入步驟(3-3);(3-3)接收到數據的中轉客戶端成為一個新的擁有待發送數據的客戶端,并轉入步驟(3-1);(3-4)接收到數據的中轉客戶端將數據發送到目標存儲服務器。如圖5所示,本發明的工作過程如下,其中用延遲(結點i,結點j)表示結點i和結點j兩臺主機間的延遲。首先,結點1的客戶端使用traceroute探測到達目標存儲服務器的數據轉發路徑
為IP路由器5_ > IP路由器ι— > IP路由器2_ > IP路由器3_ > IP路由器4_ > IP存儲服務器,胃.
1所示。備份源客戶端、結點2和結點3的IP路徑的具體數據如表2、表3、表4所示。取閾值=15,延遲(結點1,路由器5),延遲(結點1,路由器1)均小于閾值,則結點1的客戶端以和IP為關鍵字,以自身的上下行帶寬、存儲空間和到路由器的延遲為鍵值,將 < 關鍵字,鍵值 > 對存儲到存儲空間上;備份源客戶端、結點2的客戶端、結點3的客戶端也做相同步驟的處理。然后,備份源客戶端依次以IP路由器!,IP路由器2,IP路由器3,IP路由器4 為關鍵字搜索候選中轉客戶端,因為延遲(結點1,路由器1) = 14毫秒大于延遲(備份源端,路由器1) = 1毫秒,所以結點1不能成為備份源客戶端的候選中轉客戶端;又因為延遲 (結點2,路由器2) = 1毫秒小于延遲(備份源端,路由器2) = 13毫秒,因此結點2的客戶端可以成為備份源端的候選中轉客戶端。類似的,結點3也成為備份源端的候選中轉客戶端。本例中假設中轉客戶端列表中只有包含一個中轉客戶端,且因為延遲(備份源端,結點2)=延遲(備份源端,路由器2)+延遲(結點2,路由器2) = 13毫秒+1毫秒=14毫秒,小于延遲(備份源端,結點3) = 39毫秒,所以結點2的客戶端成為備份源客戶端的中轉客戶端。類似的,結點3的客戶端成為結點2的中轉客戶端。因為結點3到存儲服務器的延遲(結點3,存儲服務器)=13毫秒小于閾值,二者已足夠接近,所以數據到達結點3后無需再次轉發。則某數據塊的數據傳輸路徑為備份源端- >結點2- >結點3- >存儲服務
ο表1結點1的數據傳輸路徑
權利要求
1.一種云備份系統中的數據定向轉發方法,其特征在于,包括以下步驟(1)云備份系統中的所有客戶端周期性地上傳自身信息到存儲空間(1-1)每個所述客戶端周期性地使用檢測軟件探測所述客戶端到達目標存儲服務器的數據傳輸路徑,以及所述客戶端到所述數據傳輸路徑上的每個數據轉發設備的環回時間 RTT ;(1-2)所述客戶端按序查詢所述數據轉發設備的反饋信息,以計算所述客戶端到達所述數據轉發設備的延遲=RTT/2 ;(1-3)所述客戶端判斷所述延遲是否小于閾值,若小于則轉入步驟(1-4),否則轉入步驟(1-5);(1-4)以所述數據轉發設備的IP地址為關鍵字,以所述客戶端的平均上傳帶寬、平均下載帶寬、剩余存儲容量、所述延遲為鍵值,將所述關鍵字和所述鍵值發送到所述存儲空間上;(1-5)判斷所述數據轉發設備是否是所述數據傳輸路徑上的最后一臺數據轉發設備, 如是,則步驟(1)結束,否則進入步驟(1-6);(1-6)轉入所述數據傳輸路徑上的下一個數據轉發設備,并返回所述步驟(1-2);(2)所述云備份系統中的所有客戶端周期性地構造自己的中轉客戶端列表(2-1)每個所述客戶端遍歷自己的所述數據傳輸路徑上的所有數據轉發設備的IP地址,并以這些IP地址為關鍵字周期性地在所述存儲空間上查詢到達所述數據轉發設備的延遲比所述客戶端小的其它客戶端作為本客戶端的候選中轉客戶端,并根據所述候選中轉客戶端構造自己的候選中轉客戶端列表,所述候選中轉客戶端列表的每個表項包含所述候選中轉客戶端的鍵值;(2-2)刪除所述候選中轉客戶端列表中沒有足夠存儲容量和可用帶寬的候選中轉客戶端,以完成所述候選中轉客戶端列表的更新;(2-3)計算更新后的所述候選中轉客戶端列表中所述候選中轉客戶端與所述客戶端到同一數據轉發設備的延遲的和,并根據所述客戶端的實際上傳帶寬從所述候選中轉客戶端列表中選擇多個延遲的和最小的候選中轉客戶端組成中轉客戶端列表,此時所述中轉客戶端列表中的被選中的候選中轉客戶端為中轉客戶端;(3)擁有待發送數據的客戶端根據所述中轉客戶端列表轉發數據(3-1)所述擁有待發送數據的客戶端在其自身的所述中轉客戶端列表中選擇一個中轉客戶端,并向所述中轉客戶端發送數據;(3-2)接收到數據的所述中轉客戶端根據應用需要判斷是否在本主機的外存設備上長期存儲接收到的數據,并判斷其自身與所述目標存儲服務器的延遲是否小于所述閾值,若小于,則轉入步驟(3-4),否則返回轉入步驟(3-3);(3-3)所述接收到數據的中轉客戶端成為一個新的擁有待發送數據的客戶端,并轉入步驟(3-1);(3-4)接收到數據的所述中轉客戶端將所述數據傳輸到所述目標存儲服務器。
2.根據權利要求1所述的數據定向轉發方法,其特征在于,所述數據轉發設備為路由器和交換機。
3.根據權利要求1所述的數據定向轉發方法,其特征在于,所述閾值的范圍是5到30毫秒。
全文摘要
本發明公開了一種云備份系統中的數據定向轉發方法,包括步驟云備份系統中的所有客戶端周期性地上傳自身信息到存儲空間,云備份系統中的所有客戶端周期性地構造自己的中轉客戶端列表,擁有待發送數據的客戶端根據中轉客戶端列表轉發數據。本發明提高了備份客戶端備份數據的效率,在向云備份系統的p2p空間中注入副本時不增加源主機的備份數據總量,且不因放置副本而浪費帶寬,并且在存儲轉發數據的過程中,使用網絡中的空閑主機資源,不額外增加系統的部署成本。
文檔編號H04L29/12GK102571968SQ201210016419
公開日2012年7月11日 申請日期2012年1月17日 優先權日2012年1月17日
發明者周可, 王沖, 王樺, 肖芳, 趙雨虹, 黃志杰 申請人:華中科技大學