使用多播数据流进行数据传输及写入的方法

文档序号:7668105阅读:170来源:国知局
专利名称:使用多播数据流进行数据传输及写入的方法
技术领域
本发明涉及一种使用多播数据流进行数据传输及写入的方法,尤其涉及一 种在具有多个客户端计算机与多个服务器的网络系统架构中,利用从多个服务 器发出的多个多播数据流对一个或多个客户端计算机同时进行镜像文件的数 据的传输及写入操作的方法。
背景技术
目前,在企业环境中,对计算机的映像管理是企业计算机管理解决方案中 非常重要的一个组成部分,是计算机管理的基础。现有技术的系统和数据复制 方法都是先把一个标准的样本系统制作成一个镜像文件,然后在需要的时候由 客户端下载到本地并将其中的数据提取出来恢复至本地硬盘上,从而完成系统 和数据的复制过程。
在生产笔记本型计算机的工厂环境中,为每台计算机单独下载和恢复镜像 文件是一种效率非常低的方法,一般会采用多播网络协议同时为大量的机器安 装操作系统和软件。通常情况下, 一个镜像文件的数据只在一个多播数据流中 传输,但是当客户端计算机的数据接收能力远远高于服务器端所发出的多播数 据流的数据传输能力时,客户端计算机剩余的硬件性能优势就会被浪费。
因此,本领域亟待提供一种可充分利用客户端计算机的硬件性能,以有效 提高数据传输量的数据传输及写入方法。

发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种使用 多播数据流进行数据传输及写入的方法,用以在具有多个客户端计算机与多个 服务器的网络系统架构中,利用从多个服务器发出的多个多播数据流将一个镜 像文件中不同部分的数据同时传输并写入至一个或多个客户端计算机中。
本发明所提供的一种使用多播数据流进行数据传输及写入的方法,包含以下步骤
(a) —客户端计算机使用广播协议向网络中各服务器发送请求信息,此 请求信息中包含此客户端计算机所要下载的镜像文件的名称;
(b) 各服务器接收到来自客户端计算机的请求信息后,将服务器上正在 发送的数据流的信息回馈给客户端计算机,其中各服务器通过多播方式以多个
数据流同时向外发送镜像文件中一指定范围内的数据块序列;
(c) 客户端计算机收集各服务器的回馈信息,并根据回馈信息确定加入
到相应的多个服务器发出的多个多播数据流中以接收镜像文件的各个部分的
数据;以及
(d) 客户端计算机接收来自多个不同的服务器的多播数据流中的数据, 并根据所接收数据中的扇区起始位置及扇区数量将数据写入到客户端计算机 的磁盘中。
另外,上述本发明的一种使用多播数据流进行数据传输及写入的方法,其
中步骤(b)中进一步包含如下步骤
提取客户端请求信息中客户端计算机所要下载的镜像文件的名称;在各服 务器上检索是否存在发送镜像文件的数据的多播数据流;如果存在发送镜像文 件的数据的多播数据流,则将服务器上正在发送的数据流的信息回馈给客户端 计算机,然后,继续等待接收来自客户端计算机的请求信息;以及如果不存在 发送镜像文件的数据的多播数据流,则继续等待接收来自客户端计算机的请求
{曰息。
此外,上述本发明的一种使用多播数据流进行数据传输及写入的方法,其
中步骤(C)中进一步包含如下步骤
客户端计算机接收各服务器的回馈信息;以及根据回馈信息中包含的多播
流信息建立接收机制。
此外,上述本发明的一种使用多播数据流进行数据传输及写入的方法,其
中步骤(d)中进一步包含如下步骤
等待各多播数据流中的数据到达;判断数据是否已经到达,如果数据己经
到达,则将收到的数据放入接收缓冲区,否则,继续等待各多播数据流中的数
据到达;将接收到的每一多播数据流中的数据组合成一压縮数据块;解压縮压 縮数据块中的压縮数据;依据压縮数据块所包含的相关信息获得所接收数据中
5的扇区起始位置及扇区数量,以将解压縮后的数据写入客户端计算机的磁盘中 的指定位置;以及判断多播数据流中的全部数据是否均已接收完,如果是,则 结束,否则,等待多播数据流中的数据到达。
综上所述,本发明所提供的一种使用多播数据流进行数据传输及写入的方 法,是高效地利用了网络的多播技术,可在多个服务器发出的多个多播数据流 中分别同时发送和传输一个镜像文件的不同指定部分的数据,并且充分利用了 客户端计算机的硬件性能,使得一台或多台客户端计算机可同时加入到相应的 多个服务器发出的多个多播数据流中以同时接收镜像文件的各个部分的数据, 进而于计算机系统映像管理和部署领域,实现了同时对一台或多台客户端计算 机进行系统和数据的映像复制操作。本发明的主要的优点在于
(一) 、 一台服务器可利用多播技术将一个镜像文件中的同一数据块发送 给所有的客户端计算机,因而减少了数据传输时对网络带宽的占用。
(二) 、客户端计算机可同时接收由不同服务器发出的多个多播数据流中 的数据以便同时接收所要下载的镜像文件的各个部分的数据,进而充分利用了 每一台客户端计算机的硬件性能,有效提高了数据的传输量。
(三) 、可于数据传输前压縮数据,并于客户端计算机接收后解压縮数据, 因此可进一步减少数据传输时对网络带宽的占用。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1为本发明的一种使用多播数据流进行数据传输及写入的方法所运行 的系统的整体架构示意图2为在图1所示的系统中运行的本发明的一种使用多播数据流进行数据 传输及写入的方法对其中一个客户端计算机进行数据传输及写入操作的系统 方块图3为本发明的一种使用多播数据流进行数据传输及写入的方法的整体 步骤流程图4为本发明的方法中步骤200中所包含的分解步骤的流程图;以及 图5为本发明的方法中步骤300及步骤400所包含的分解步骤的流程图。射,附图标记
10客户端计算机
20服务器
30镜像文件
101镜像数据请求模块
102镜像数据接收模块
103镜像数据写入模块
104磁盘
201客户端请求响应模块
202镜像数据发送模块
具体实施例方式
以下,将结合附图部份对本发明的较佳实施方式作详细说明。
请参考图1及图2,图1表示了本发明的一种使用多播数据流进行数据传 输及写入的方法所运行的系统的整体架构示意图。图2为在图1所示的系统中 运行的本发明的一种使用多播数据流进行数据传输及写入的方法对其中一个 客户端计算机进行数据传输及写入操作的系统方块图。如图1及图2所示,本
发明的一种使用多播数据流进行数据传输及写入的方法所运行的系统包含
多个客户端计算机10,其中每个客户端计算机10又进一步包含一镜像数 据请求模块101、多个镜像数据接收模块102、 一镜像数据写入模块103及一 磁盘104;以及
多个服务器20,其中每个服务器20又进一步包含一客户端请求响应模块 201及一镜像数据发送模块202。
其中,每个客户端计算机10中的镜像数据请求模块101可使用广播协议 向网络中各服务器20发送请求信息,此请求信息中包含有此客户端计算机10 所要下载的镜像文件30的名称;
各服务器20中的客户端请求响应模块201接收到来自客户端计算机10 的请求信息后,将服务器20上正在发送的数据流的信息回馈给客户端计算机 10,其中各服务器20通过镜像数据发送模块202并由多播方式以多个数据流 同时循环向外发送镜像文件30中一指定范围内的数据块序列,即镜像文件30
7中的一部分数据,如图所示,镜像文件30中各部分数据可用partl、part2…… part n表示;
各客户端计算机IO通过其镜像数据请求模块101收集到各服务器20的回 馈信息后,将根据回馈信息确定加入到相应的多个服务器20发出的多个多播 数据流中以接收镜像文件30的各个部分的数据;
各客户端计算机10中的每个镜像数据接收模块102均负责接收一个多播 数据流中的数据,然后将接收到的每一个多播数据流中的数据组合成一压縮数 据块,再分别将这些压縮数据块发送给镜像数据写入模块103;以及
镜像数据写入模块103接收到自多个数据接收模块102发来的压縮数据块 后,先解压縮压縮数据块中的压縮数据,而后依据压縮数据块所包含的相关信 息获得所接收数据中的扇区起始位置及扇区数量,并根据所接收数据中的扇区 起始位置及扇区数量将解压縮后的数据写入到客户端计算机10的磁盘104中 的指定位置,进而完成镜像文件30的数据的传输及写入操作。
现在请参考图3,此图为本发明的一种使用多播数据流进行数据传输及写 入的方法的整体步骤流程图,如图所示,本发明的一种使用多播数据流进行数 据传输及写入的方法,包含以下步骤
一客户端计算机使用广播协议向网络中各服务器发送请求信息,此请求信 息中包含此客户端计算机所要下载的镜像文件的名称(步骤100);
各服务器接收到来自客户端计算机的请求信息后,将服务器上正在发送的 数据流的信息回馈给客户端计算机,其中各服务器通过多播方式以多个数据流 同时循环向外发送镜像文件中一指定范围内的数据块序列(步骤200);
客户端计算机收集各服务器的回馈信息,并根据回馈信息确定加入到相应 的多个服务器发出的多个多播数据流中以接收镜像文件的各个部分的数据(步 骤300),其中,各服务器的回馈信息包含各服务器的多播数据流的因特网协 议(IP)地址及端口 (Port)号;如果客户端计算机未接收到服务器的回馈信 息,则会发出报错信息(附图中未示出);以及
客户端计算机接收来自多个不同的服务器的多播数据流中的数据,并根据 所接收数据中的扇区起始位置及扇区数量将数据写入到客户端计算机的磁盘 中(步骤400)。
如图4所示,上述步骤200中可进一步包含如下步骤提取客户端请求信息中客户端计算机所要下载的镜像文件的名称(步骤
201) ;
在服务器上检索是否存在发送此镜像文件的数据的多播数据流(步骤
202) ;
如果存在发送此镜像文件的数据的多播数据流,则将服务器上正在发送的
数据流的信息回馈给客户端计算机(步骤203),然后,继续等待接收来自客 户端计算机的请求信息(步骤204);以及
如果不存在发送此镜像文件的数据的多播数据流,则执行上述步骤204, 以继续等待接收来自客户端计算机的请求信息。
如图5所示,上述本发明的一种使用多播数据流进行数据传输及写入的方 法,其中步骤300及步骤400又可进一步分解为如下步骤
客户端计算机接收各服务器的回馈信息(步骤301),其中此回馈信息中 包含各服务器的多播数据流的因特网协议(IP)地址及端口 (Port)号;
根据回馈信息中包含的多播流信息建立接收机制(步骤302) , g卩,各客 户端计算机加入到各服务器发出的相应的多播数据流中以接收镜像文件各个 部分的数据;
等待多播数据流中的数据到达(步骤401);
判断数据是否已经到达(步骤402),如果是,则将收到的数据放入接收 缓冲区(步骤403),否则,返回并执行步骤401;
将接收到的每一多播数据流中的数据组合成一压縮数据块(步骤404); 解压縮压縮数据块中的压縮数据(步骤405);
依据压縮数据块所包含的相关信息获得所接收数据中的扇区起始位置及 扇区数量,以将解压縮后的数据写入客户端计算机的磁盘中的指定位置(步骤 406);以及
判断多播数据流中的全部数据是否均已接收完(步骤407),如果是,则 结束,否则,返回并执行步骤401。
其中,上述步骤中的压縮数据块包含有一数据区,此数据区包含有压縮后 的扇区数据,并且此压縮数据块包含如下相关信息
数据块编号,为一整数,用以表示此压縮数据块在镜像文件的数据块序列 中的位置;数据块尺寸,为一整数,用以表示此压縮数据块中包含的数据量; 磁盘起始扇区号,为一整数,用以表示此压縮数据块中包含的数据所在的
实体磁盘的起始位置;以及
扇区数量,为一整数,用以表示此压縮数据块中包含的数据所占用的扇区 数量。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种使用多播数据流进行数据传输及写入的方法,用以在具有多个客户端计算机与多个服务器的网络系统架构中,利用从多个服务器发出的多个多播数据流对一个或多个客户端计算机同时进行镜像文件的数据的传输及写入操作,其特征在于,该方法包含以下步骤(a)一客户端计算机使用广播协议向网络中所述各服务器发送请求信息,该请求信息中包含该客户端计算机所要下载的镜像文件的名称;(b)所述各服务器接收到来自该客户端计算机的请求信息后,将该服务器上正在发送的数据流的信息回馈给该客户端计算机,其中所述各服务器通过多播方式以多个数据流同时向外发送该镜像文件中一指定范围内的数据块序列;(c)该客户端计算机收集所述各服务器的回馈信息,并根据该回馈信息确定加入到相应的多个服务器发出的多个多播数据流中以接收该镜像文件的各个部分的数据;以及(d)该客户端计算机接收来自多个不同的服务器的多播数据流中的数据,并根据所接收数据中的扇区起始位置及扇区数量将该数据写入到该客户端计算机的磁盘中。
2、 根据权利要求1所述的使用多播数据流进行数据传输及写入的方法, 其特征在于,所述各服务器的回馈信息包含所述各服务器的多播数据流的因特 网协议地址及端口号。
3、 根据权利要求1所述的使用多播数据流进行数据传输及写入的方法, 其特征在于,步骤(b)中进一步包含如下步骤提取该客户端请求信息中客户端计算机所要下载的镜像文件的名称;在所述各服务器上检索是否存在发送该镜像文件的数据的多播数据流;如果存在发送该镜像文件的数据的多播数据流,则将该服务器上正在发送的数据流的信息回馈给该客户端计算机,然后,继续等待接收来自客户端计算机的请求信息;以及如果不存在发送该镜像文件的数据的多播数据流,则继续等待接收来自客户端计算机的请求信息。
4、 根据权利要求1所述的使用多播数据流进行数据传输及写入的方法, 其特征在于,其中步骤(C)中进一步包含如下步骤该客户端计算机接收所述各服务器的回馈信息;以及 根据该回馈信息中包含的多播流信息建立接收机制。
5、 根据权利要求1所述的使用多播数据流进行数据传输及写入的方法,其特征在于,其中步骤(d)中进一步包含如下步骤等待所述各多播数据流中的数据到达;判断数据是否已经到达,如果数据已经到达,则将收到的数据放入一接收 缓冲区,否则,继续等待所述各多播数据流中的数据到达;将接收到的每一多播数据流中的数据组合成一压縮数据块; 解压縮该压缩数据块中的压縮数据;依据该压縮数据块所包含的相关信息获得所接收数据中的扇区起始位置 及扇区数量,以将解压縮后的数据写入该客户端计算机的磁盘中的指定位置; 以及判断该多播数据流中的全部数据是否均已接收完,如果是,则结束,否则, 等待该多播数据流中的数据到达。
6、 根据权利要求5所述的使用多播数据流进行数据传输及写入的方法, 其特征在于,该压縮数据块包含一数据区,该数据区包含有压縮后的扇区数据, 并且该压縮数据块包含如下相关信息数据块编号,为一整数,用以表示该压縮数据块在该镜像文件的数据块序 列中的位置;数据块尺寸,为一整数,用以表示该压縮数据块中包含的数据量; 磁盘起始扇区号,为一整数,用以表示该压縮数据块中包含的数据所在的实体磁盘的起始位置;以及扇区数量,为一整数,用以表示该压縮数据块中包含的数据所占用的扇区数量。
全文摘要
一种使用多播数据流进行数据传输及写入的方法,用以在具有多个客户端计算机与多个服务器的网络系统架构中,利用从多个服务器发出的多个多播数据流对一个或多个客户端计算机同时进行镜像文件的数据的传输及写入操作。首先,客户端计算机使用广播协议向网络中各服务器发送请求信息,然后根据各服务器的响应加入到相应的多个服务器发出的多个多播数据流中同时接收所要下载的镜像文件的不同指定部分的数据,最后将接收到的数据写入到客户端计算机的磁盘中。此方法通过网络的多播技术,并充分利用客户端计算机的硬件性能,有效提高了数据的传输量。
文档编号H04L29/08GK101453485SQ20071019905
公开日2009年6月10日 申请日期2007年12月7日 优先权日2007年12月7日
发明者刘文涵, 玥 张, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1