專利名稱:使用多播數據流進行數據傳輸及寫入的方法
技術領域:
本發(fā)明涉及一種使用多播數據流進行數據傳輸及寫入的方法,尤其涉及一 種在具有多個客戶端計算機與多個服務器的網絡系統(tǒng)架構中,利用從多個服務 器發(fā)出的多個多播數據流對一個或多個客戶端計算機同時進行鏡像文件的數 據的傳輸及寫入操作的方法。
背景技術:
目前,在企業(yè)環(huán)境中,對計算機的映像管理是企業(yè)計算機管理解決方案中 非常重要的一個組成部分,是計算機管理的基礎?,F有技術的系統(tǒng)和數據復制 方法都是先把一個標準的樣本系統(tǒng)制作成一個鏡像文件,然后在需要的時候由 客戶端下載到本地并將其中的數據提取出來恢復至本地硬盤上,從而完成系統(tǒng) 和數據的復制過程。
在生產筆記本型計算機的工廠環(huán)境中,為每臺計算機單獨下載和恢復鏡像 文件是一種效率非常低的方法,一般會采用多播網絡協(xié)議同時為大量的機器安 裝操作系統(tǒng)和軟件。通常情況下, 一個鏡像文件的數據只在一個多播數據流中 傳輸,但是當客戶端計算機的數據接收能力遠遠高于服務器端所發(fā)出的多播數 據流的數據傳輸能力時,客戶端計算機剩余的硬件性能優(yōu)勢就會被浪費。
因此,本領域亟待提供一種可充分利用客戶端計算機的硬件性能,以有效 提高數據傳輸量的數據傳輸及寫入方法。
發(fā)明內容
為了解決上述現有技術中的問題與缺陷,本發(fā)明的目的在于提供一種使用 多播數據流進行數據傳輸及寫入的方法,用以在具有多個客戶端計算機與多個 服務器的網絡系統(tǒng)架構中,利用從多個服務器發(fā)出的多個多播數據流將一個鏡 像文件中不同部分的數據同時傳輸并寫入至一個或多個客戶端計算機中。
本發(fā)明所提供的一種使用多播數據流進行數據傳輸及寫入的方法,包含以下步驟
(a) —客戶端計算機使用廣播協(xié)議向網絡中各服務器發(fā)送請求信息,此 請求信息中包含此客戶端計算機所要下載的鏡像文件的名稱;
(b) 各服務器接收到來自客戶端計算機的請求信息后,將服務器上正在 發(fā)送的數據流的信息回饋給客戶端計算機,其中各服務器通過多播方式以多個
數據流同時向外發(fā)送鏡像文件中一指定范圍內的數據塊序列;
(c) 客戶端計算機收集各服務器的回饋信息,并根據回饋信息確定加入
到相應的多個服務器發(fā)出的多個多播數據流中以接收鏡像文件的各個部分的
數據;以及
(d) 客戶端計算機接收來自多個不同的服務器的多播數據流中的數據, 并根據所接收數據中的扇區(qū)起始位置及扇區(qū)數量將數據寫入到客戶端計算機 的磁盤中。
另外,上述本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法,其
中步驟(b)中進一步包含如下步驟
提取客戶端請求信息中客戶端計算機所要下載的鏡像文件的名稱;在各服 務器上檢索是否存在發(fā)送鏡像文件的數據的多播數據流;如果存在發(fā)送鏡像文 件的數據的多播數據流,則將服務器上正在發(fā)送的數據流的信息回饋給客戶端 計算機,然后,繼續(xù)等待接收來自客戶端計算機的請求信息;以及如果不存在 發(fā)送鏡像文件的數據的多播數據流,則繼續(xù)等待接收來自客戶端計算機的請求
{曰息。
此外,上述本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法,其
中步驟(C)中進一步包含如下步驟
客戶端計算機接收各服務器的回饋信息;以及根據回饋信息中包含的多播
流信息建立接收機制。
此外,上述本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法,其
中步驟(d)中進一步包含如下步驟
等待各多播數據流中的數據到達;判斷數據是否已經到達,如果數據己經
到達,則將收到的數據放入接收緩沖區(qū),否則,繼續(xù)等待各多播數據流中的數
據到達;將接收到的每一多播數據流中的數據組合成一壓縮數據塊;解壓縮壓 縮數據塊中的壓縮數據;依據壓縮數據塊所包含的相關信息獲得所接收數據中
5的扇區(qū)起始位置及扇區(qū)數量,以將解壓縮后的數據寫入客戶端計算機的磁盤中 的指定位置;以及判斷多播數據流中的全部數據是否均已接收完,如果是,則 結束,否則,等待多播數據流中的數據到達。
綜上所述,本發(fā)明所提供的一種使用多播數據流進行數據傳輸及寫入的方 法,是高效地利用了網絡的多播技術,可在多個服務器發(fā)出的多個多播數據流 中分別同時發(fā)送和傳輸一個鏡像文件的不同指定部分的數據,并且充分利用了 客戶端計算機的硬件性能,使得一臺或多臺客戶端計算機可同時加入到相應的 多個服務器發(fā)出的多個多播數據流中以同時接收鏡像文件的各個部分的數據, 進而于計算機系統(tǒng)映像管理和部署領域,實現了同時對一臺或多臺客戶端計算 機進行系統(tǒng)和數據的映像復制操作。本發(fā)明的主要的優(yōu)點在于
(一) 、 一臺服務器可利用多播技術將一個鏡像文件中的同一數據塊發(fā)送 給所有的客戶端計算機,因而減少了數據傳輸時對網絡帶寬的占用。
(二) 、客戶端計算機可同時接收由不同服務器發(fā)出的多個多播數據流中 的數據以便同時接收所要下載的鏡像文件的各個部分的數據,進而充分利用了 每一臺客戶端計算機的硬件性能,有效提高了數據的傳輸量。
(三) 、可于數據傳輸前壓縮數據,并于客戶端計算機接收后解壓縮數據, 因此可進一步減少數據傳輸時對網絡帶寬的占用。
以下結合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的 限定。
圖1為本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法所運行 的系統(tǒng)的整體架構示意圖2為在圖1所示的系統(tǒng)中運行的本發(fā)明的一種使用多播數據流進行數據 傳輸及寫入的方法對其中一個客戶端計算機進行數據傳輸及寫入操作的系統(tǒng) 方塊圖3為本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法的整體 步驟流程圖4為本發(fā)明的方法中步驟200中所包含的分解步驟的流程圖;以及 圖5為本發(fā)明的方法中步驟300及步驟400所包含的分解步驟的流程圖。射,附圖標記
10客戶端計算機
20服務器
30鏡像文件
101鏡像數據請求模塊
102鏡像數據接收模塊
103鏡像數據寫入模塊
104磁盤
201客戶端請求響應模塊
202鏡像數據發(fā)送模塊
具體實施例方式
以下,將結合附圖部份對本發(fā)明的較佳實施方式作詳細說明。
請參考圖1及圖2,圖1表示了本發(fā)明的一種使用多播數據流進行數據傳 輸及寫入的方法所運行的系統(tǒng)的整體架構示意圖。圖2為在圖1所示的系統(tǒng)中 運行的本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法對其中一個 客戶端計算機進行數據傳輸及寫入操作的系統(tǒng)方塊圖。如圖1及圖2所示,本
發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方法所運行的系統(tǒng)包含
多個客戶端計算機10,其中每個客戶端計算機10又進一步包含一鏡像數 據請求模塊101、多個鏡像數據接收模塊102、 一鏡像數據寫入模塊103及一 磁盤104;以及
多個服務器20,其中每個服務器20又進一步包含一客戶端請求響應模塊 201及一鏡像數據發(fā)送模塊202。
其中,每個客戶端計算機10中的鏡像數據請求模塊101可使用廣播協(xié)議 向網絡中各服務器20發(fā)送請求信息,此請求信息中包含有此客戶端計算機10 所要下載的鏡像文件30的名稱;
各服務器20中的客戶端請求響應模塊201接收到來自客戶端計算機10 的請求信息后,將服務器20上正在發(fā)送的數據流的信息回饋給客戶端計算機 10,其中各服務器20通過鏡像數據發(fā)送模塊202并由多播方式以多個數據流 同時循環(huán)向外發(fā)送鏡像文件30中一指定范圍內的數據塊序列,即鏡像文件30
7中的一部分數據,如圖所示,鏡像文件30中各部分數據可用partl、part2…… part n表示;
各客戶端計算機IO通過其鏡像數據請求模塊101收集到各服務器20的回 饋信息后,將根據回饋信息確定加入到相應的多個服務器20發(fā)出的多個多播 數據流中以接收鏡像文件30的各個部分的數據;
各客戶端計算機10中的每個鏡像數據接收模塊102均負責接收一個多播 數據流中的數據,然后將接收到的每一個多播數據流中的數據組合成一壓縮數 據塊,再分別將這些壓縮數據塊發(fā)送給鏡像數據寫入模塊103;以及
鏡像數據寫入模塊103接收到自多個數據接收模塊102發(fā)來的壓縮數據塊 后,先解壓縮壓縮數據塊中的壓縮數據,而后依據壓縮數據塊所包含的相關信 息獲得所接收數據中的扇區(qū)起始位置及扇區(qū)數量,并根據所接收數據中的扇區(qū) 起始位置及扇區(qū)數量將解壓縮后的數據寫入到客戶端計算機10的磁盤104中 的指定位置,進而完成鏡像文件30的數據的傳輸及寫入操作。
現在請參考圖3,此圖為本發(fā)明的一種使用多播數據流進行數據傳輸及寫 入的方法的整體步驟流程圖,如圖所示,本發(fā)明的一種使用多播數據流進行數 據傳輸及寫入的方法,包含以下步驟
一客戶端計算機使用廣播協(xié)議向網絡中各服務器發(fā)送請求信息,此請求信 息中包含此客戶端計算機所要下載的鏡像文件的名稱(步驟100);
各服務器接收到來自客戶端計算機的請求信息后,將服務器上正在發(fā)送的 數據流的信息回饋給客戶端計算機,其中各服務器通過多播方式以多個數據流 同時循環(huán)向外發(fā)送鏡像文件中一指定范圍內的數據塊序列(步驟200);
客戶端計算機收集各服務器的回饋信息,并根據回饋信息確定加入到相應 的多個服務器發(fā)出的多個多播數據流中以接收鏡像文件的各個部分的數據(步 驟300),其中,各服務器的回饋信息包含各服務器的多播數據流的因特網協(xié) 議(IP)地址及端口 (Port)號;如果客戶端計算機未接收到服務器的回饋信 息,則會發(fā)出報錯信息(附圖中未示出);以及
客戶端計算機接收來自多個不同的服務器的多播數據流中的數據,并根據 所接收數據中的扇區(qū)起始位置及扇區(qū)數量將數據寫入到客戶端計算機的磁盤 中(步驟400)。
如圖4所示,上述步驟200中可進一步包含如下步驟提取客戶端請求信息中客戶端計算機所要下載的鏡像文件的名稱(步驟
201) ;
在服務器上檢索是否存在發(fā)送此鏡像文件的數據的多播數據流(步驟
202) ;
如果存在發(fā)送此鏡像文件的數據的多播數據流,則將服務器上正在發(fā)送的
數據流的信息回饋給客戶端計算機(步驟203),然后,繼續(xù)等待接收來自客 戶端計算機的請求信息(步驟204);以及
如果不存在發(fā)送此鏡像文件的數據的多播數據流,則執(zhí)行上述步驟204, 以繼續(xù)等待接收來自客戶端計算機的請求信息。
如圖5所示,上述本發(fā)明的一種使用多播數據流進行數據傳輸及寫入的方 法,其中步驟300及步驟400又可進一步分解為如下步驟
客戶端計算機接收各服務器的回饋信息(步驟301),其中此回饋信息中 包含各服務器的多播數據流的因特網協(xié)議(IP)地址及端口 (Port)號;
根據回饋信息中包含的多播流信息建立接收機制(步驟302) , g卩,各客 戶端計算機加入到各服務器發(fā)出的相應的多播數據流中以接收鏡像文件各個 部分的數據;
等待多播數據流中的數據到達(步驟401);
判斷數據是否已經到達(步驟402),如果是,則將收到的數據放入接收 緩沖區(qū)(步驟403),否則,返回并執(zhí)行步驟401;
將接收到的每一多播數據流中的數據組合成一壓縮數據塊(步驟404); 解壓縮壓縮數據塊中的壓縮數據(步驟405);
依據壓縮數據塊所包含的相關信息獲得所接收數據中的扇區(qū)起始位置及 扇區(qū)數量,以將解壓縮后的數據寫入客戶端計算機的磁盤中的指定位置(步驟 406);以及
判斷多播數據流中的全部數據是否均已接收完(步驟407),如果是,則 結束,否則,返回并執(zhí)行步驟401。
其中,上述步驟中的壓縮數據塊包含有一數據區(qū),此數據區(qū)包含有壓縮后 的扇區(qū)數據,并且此壓縮數據塊包含如下相關信息
數據塊編號,為一整數,用以表示此壓縮數據塊在鏡像文件的數據塊序列 中的位置;數據塊尺寸,為一整數,用以表示此壓縮數據塊中包含的數據量; 磁盤起始扇區(qū)號,為一整數,用以表示此壓縮數據塊中包含的數據所在的
實體磁盤的起始位置;以及
扇區(qū)數量,為一整數,用以表示此壓縮數據塊中包含的數據所占用的扇區(qū) 數量。
當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質的情 況下,熟悉本領域的技術人員當可根據本發(fā)明作出各種相應的改變和變形,但 這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1、一種使用多播數據流進行數據傳輸及寫入的方法,用以在具有多個客戶端計算機與多個服務器的網絡系統(tǒng)架構中,利用從多個服務器發(fā)出的多個多播數據流對一個或多個客戶端計算機同時進行鏡像文件的數據的傳輸及寫入操作,其特征在于,該方法包含以下步驟(a)一客戶端計算機使用廣播協(xié)議向網絡中所述各服務器發(fā)送請求信息,該請求信息中包含該客戶端計算機所要下載的鏡像文件的名稱;(b)所述各服務器接收到來自該客戶端計算機的請求信息后,將該服務器上正在發(fā)送的數據流的信息回饋給該客戶端計算機,其中所述各服務器通過多播方式以多個數據流同時向外發(fā)送該鏡像文件中一指定范圍內的數據塊序列;(c)該客戶端計算機收集所述各服務器的回饋信息,并根據該回饋信息確定加入到相應的多個服務器發(fā)出的多個多播數據流中以接收該鏡像文件的各個部分的數據;以及(d)該客戶端計算機接收來自多個不同的服務器的多播數據流中的數據,并根據所接收數據中的扇區(qū)起始位置及扇區(qū)數量將該數據寫入到該客戶端計算機的磁盤中。
2、 根據權利要求1所述的使用多播數據流進行數據傳輸及寫入的方法, 其特征在于,所述各服務器的回饋信息包含所述各服務器的多播數據流的因特 網協(xié)議地址及端口號。
3、 根據權利要求1所述的使用多播數據流進行數據傳輸及寫入的方法, 其特征在于,步驟(b)中進一步包含如下步驟提取該客戶端請求信息中客戶端計算機所要下載的鏡像文件的名稱;在所述各服務器上檢索是否存在發(fā)送該鏡像文件的數據的多播數據流;如果存在發(fā)送該鏡像文件的數據的多播數據流,則將該服務器上正在發(fā)送的數據流的信息回饋給該客戶端計算機,然后,繼續(xù)等待接收來自客戶端計算機的請求信息;以及如果不存在發(fā)送該鏡像文件的數據的多播數據流,則繼續(xù)等待接收來自客戶端計算機的請求信息。
4、 根據權利要求1所述的使用多播數據流進行數據傳輸及寫入的方法, 其特征在于,其中步驟(C)中進一步包含如下步驟該客戶端計算機接收所述各服務器的回饋信息;以及 根據該回饋信息中包含的多播流信息建立接收機制。
5、 根據權利要求1所述的使用多播數據流進行數據傳輸及寫入的方法,其特征在于,其中步驟(d)中進一步包含如下步驟等待所述各多播數據流中的數據到達;判斷數據是否已經到達,如果數據已經到達,則將收到的數據放入一接收 緩沖區(qū),否則,繼續(xù)等待所述各多播數據流中的數據到達;將接收到的每一多播數據流中的數據組合成一壓縮數據塊; 解壓縮該壓縮數據塊中的壓縮數據;依據該壓縮數據塊所包含的相關信息獲得所接收數據中的扇區(qū)起始位置 及扇區(qū)數量,以將解壓縮后的數據寫入該客戶端計算機的磁盤中的指定位置; 以及判斷該多播數據流中的全部數據是否均已接收完,如果是,則結束,否則, 等待該多播數據流中的數據到達。
6、 根據權利要求5所述的使用多播數據流進行數據傳輸及寫入的方法, 其特征在于,該壓縮數據塊包含一數據區(qū),該數據區(qū)包含有壓縮后的扇區(qū)數據, 并且該壓縮數據塊包含如下相關信息數據塊編號,為一整數,用以表示該壓縮數據塊在該鏡像文件的數據塊序 列中的位置;數據塊尺寸,為一整數,用以表示該壓縮數據塊中包含的數據量; 磁盤起始扇區(qū)號,為一整數,用以表示該壓縮數據塊中包含的數據所在的實體磁盤的起始位置;以及扇區(qū)數量,為一整數,用以表示該壓縮數據塊中包含的數據所占用的扇區(qū)數量。
全文摘要
一種使用多播數據流進行數據傳輸及寫入的方法,用以在具有多個客戶端計算機與多個服務器的網絡系統(tǒng)架構中,利用從多個服務器發(fā)出的多個多播數據流對一個或多個客戶端計算機同時進行鏡像文件的數據的傳輸及寫入操作。首先,客戶端計算機使用廣播協(xié)議向網絡中各服務器發(fā)送請求信息,然后根據各服務器的響應加入到相應的多個服務器發(fā)出的多個多播數據流中同時接收所要下載的鏡像文件的不同指定部分的數據,最后將接收到的數據寫入到客戶端計算機的磁盤中。此方法通過網絡的多播技術,并充分利用客戶端計算機的硬件性能,有效提高了數據的傳輸量。
文檔編號H04L29/08GK101453485SQ20071019905
公開日2009年6月10日 申請日期2007年12月7日 優(yōu)先權日2007年12月7日
發(fā)明者劉文涵, 玥 張, 陳玄同 申請人:英業(yè)達股份有限公司