专利名称:以网络广播接收与传送数据的方法及系统的制作方法
技术领域:
本发明是一种接收与传送数据的方法及系统,特别是一种以网络广 播接收与传送数据的方法及系统。
背景技术:
目前随着网络技术的突飞猛进,造就许多信息设备(Information Appliance)或网络设备(InternetAppliance)等新兴产品的问世,如可直 接连接网络系统的网络储存服务器(NAS, Network Attached Storage),以
供位于远程的使用者计算机系统透过上述网络系统下载大量数据储存至 网络储存服务器,或是透过上述网络系统自网络储存服务器下载数据至 使用者的计算机系统。然而,此种方式在多个使用者同时下载数据时, 网络储存服务器必须分别传送数据至每一个使用者的计算机系统,因此 愈多使用者下载数据,下载效率愈低。
为提升网络数据传输效率,如中华人民共和国第CN1595908号发明 专利《计算机数据批量快速复制的方法》,其是将客户端所需数据以映像 文件分割成N个数据封包连续保存在服务器端。服务器从第一个数据封 包开始,依次顺序向后广播数据封包。客户端可随时加入数据复制,将 接收到的第一个完整的数据封包,作为此客户端的开始,并将数据封包 中的数据按照位置信息写入到正确位置,然后接收处理下一个数据封包, 直至处理到开始位置的前一个数据封包,则完成全部数据复制。
此种数据传输方式虽可提升传输效率,但客户端无法确认数据封包正确与否即写入数据,因此可能因客户端收到无效的数据封包而造成其
所复制的数据文件错误或不完整;再者,此种数据传输方式以开始位置
的前一个数据封包为结束点而认定数据复制完成,若在数据传输过程中 发生封包遗漏的情形,将会使客户端的数据产生错误或不完整而无法使 用,而使用者也必须等到使用下载数据时才会发现数据错误或不完整, 届时再重新进行下载,对使用者而言相当不便。
发明内容
有鉴于此,本发明提出一种以网络广播传送数据的方法,应用于一 个服务器传送数据到复数客户端,服务器储存有档案,档案分为复数数
据区块,复数数据区块可分封为复数广播封包,此方法包含下列步骤 自复数客户端其中之一接收档案需求;设定计数值为加总数据区块的数 据区块数量值;传送一个广播封包至客户端,其包含至少一数据区块; 将计数值减去传送的数据区块数量值;及当计数值为零,即结束数据传 送,当计数值不为零,即执行前述传送步骤。
本发明又提出一种以网络广播接收数据的方法,应用于客户端接收 服务器的数据,服务器储存有档案,档案分为复数数据区块,复数数据 区块可分封为复数广播封包,此方法包含下列步骤发送档案需求至服 务器;接收回复封包并取得数据区块数量值;接收广播封包,广播封包 包含至少一数据区块;依序写入有效的数据区块;加总有效的数据区块 的数量;及当数据区块的数量等于数据区块数量值,即结束接收数据。
本发明还提出以网络广播传输数据的系统,包含服务器、客户端。 服务器设有伺服储存单元、伺服传输模块、数据区块计数器,其中,伺 服储存单元可储存具有复数数据区块的档案,且复数数据区块可分封为复数广播封包, 一个广播封包包含至少一数据区块,并以伺服传输模块 传送回复封包,并依据档案需求传送复数数据区块至客户端。数据区块 计数器具有计数值,当伺服传输模块接收档案需求时,计数值为即设定 为加总数据区块的数据区块数量值。客户端设有用户传输模块、用户储 存单元、计算模块,其中,用户传输模块传送档案需求至服务器,并接 收伺服传输模块所传送的广播封包与数据区块数量值,并将有效的数据 区块储存于用户储存单元,再经由计算模块加总数据区块的数量。服务 器传送一个广播封包至客户端时,计数值即减去传送的数据区块数目,
当计数值为零,服务器即结束数据传送;当计算模块加总的数据区块的
数量等于数据区块数量值,客户端即结束接收数据。
本发明将服务器的档案以广播封包方式传送出去,仅需传送一次即 可使多个客户端同时收到广播封包,藉以达到一对多档案传输的目的而 提升网络数据传输速度。此外,客户端所收到的数据区块非为有效区块 时,可发送档案需求至服务器,请求伺服器重新传送所有的数据区块或 是指定的数据区块,藉以确保客户端所收到的数据区块为有效区块而取 得完整无误的档案。
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足
以使任何熟习相关技艺者了解本发明的技术内容并据以实施,且根据本
说明书所揭露的内容、权利要求及图式,任何熟习相关技艺者可轻易地 理解本发明相关的目的及优点。
图l为本发明以网络广播传送数据的方法的流程图。
图2为本发明于档案需求未指定数据区块时传送封包的流程图。图3为本发明于档案需求指定数据区块时传送封包的流程图。
图4为本发明以网络广播接收数据的方法的流程图。 图5为本发明以网络广播传输数据的系统的示意图。
具体实施例方式
^:发明的以网络广播传送数据的方法,应用于一个服务器1传送数 据到复数客户端2,服务器l储存有档案,档案分为复数数据区块,复数 数据区块可分封为复数广播封包。如图1所示,本发明的以网络广播传 送数据的方法,包含下列步骤
步骤101:接收档案需求。
服务器1以伺服传输模块12接收来自复数客户端2其中之一所发送 的档案需求。
步骤102:判断档案需求是否指定数据区块的其中一部分。
服务器1经由伺服传输模块12接收档案需求后,判断档案需求是否
指定数据区块的其中一部分,抑或是未指定数据区块。当档案需求指定
数据区块的其中一部分,进行服务器1传送复数广播封包的流程B;当
档案需求未指定数据区块,进行步骤103。
步骤103:传送回复封包与数据区块数量值。
服务器1除传送回复封包外,并会依据复数数据区块的数量传送数
据区块数量值至客户端2,以供客户端2确认复数数据区块的数量。
步骤104:依据档案需求传送复数广播封包。
当档案需求未指定数据区块,服务器1经由伺服传输模块12传送复 数广播封包以传输档案的复数数据区块至客户端2,进行服务器1传送复 数广播封包的流程A。如图2所示,为档案需求未指定数据区块时,服务器1传送复数广 播封包的流程A:
步骤201:设定计数值为数据区块数量值。
服务器1以数据区块计数器15设定计数值,其数值大小初始等于加 总数据区块的数据区块数量值。
步骤202:传送一个广播封包至客户端2。
服务器1以广播(broadcast)方式依照数据区块的顺序将广播封包传 送至客户端2,藉以传输档案的数据区块至客户端2,在此,每次传送动 作较佳地仅传送一个广播封包。
步骤203:将计数值减去传送的数据区块数量值。
伺服传输模块12传送广播封包后,数据区块计数器15会将计数值 减去传送的数据区块数量值。由于每次传送动作仅传送一个广播封包, 如一个传送封包包含一个数据区块,数据区块计数器15于每次传送后将 计数值减一。
步骤204:判断是否再次接收到档案需求。
若服务器1于传输过程中再接收到档案需求时,进行步骤205;若服 务器1于传输过程中未接收到档案需求,进行步骤206。
步骤205:重新计数值为数据区块数量值。 一
于传输过程中收到档案需求时,数据区块计数器15重新将计数值设 定为数据区块数量值,并于设定完成后进行步骤202。
步骤206:判断计数值是否为零。
当计数值减至零时,进行步骤207;当计数值大于零时,进行步骤
202。
步骤207:结束数据传送。当传输过程中服务器1未接收到档案需求,计数值与数据区块的数 量相等,因此当计数值减至零时,档案的所有数据区块均已传送至客户 端2;当传输过程中服务器1再接收到档案需求时,计数值变更为初始的 数据区块数量值,于服务器1传送最后一个数据区块时,计数值尚未减 至零,因此服务器1重新依序传送广播封包直到计数值减至零,此时无 论剩余多少个数据区块,均不会再进行传送。
如图3所示,为档案需求指定数据区块的其中一部分时,服务器1 传送复数广播封包的流程B:
步骤301:确认指定数据区块。
于接收到档案需求后,确认客户端2所指定的数据区块。 步骤302:传送一个广播封包至客户端2。
服务器l以广播(broadcast)方式将广播封包传送至客户端2,藉以 传输指定的数据区块至客户端2,在此,每次传送动作较佳地仅传送一个 广播封包。
步骤303:设定传送记号于已经传送的数据区块。
于每次传送一个广播封包后,服务器1以设定模块16设定传送记号 于已经传送的数据区块。
步骤304:判断尚未传送的指定数据区块的数量是否为零。
当尚未传送的指定数据区块的数量为零时,表示指定数据区块均已 传送至客户端2,进行步骤305;当指定数据区块的数量不为零时,进行 步骤302。
步骤305:结束数据传送。
本发明的以网络广播接收数据的方法,应用于客户端2接收服务器1 的数据,服务器1储存有档案,档案分为复数数据区块,复数数据区块可分封为复数广播封包。如图4所示,本发明的以网络广播接收数据的 方法,包含下列步骤
步骤401:发送档案需求至服务器l。
客户端2产生档案需求,并经由用户传输模块22传送档案需求至服 务器1。在此,档案需求可指定数据区块的其中一部分或未指定数据区块。 步骤402:接收回复封包并取得数据区块数量值。
客户端2接收服务器1所传送的回复封包与数据区块数量值,藉以
确此档案的所有数据区块的数量。
步骤403:接收广播封包。
客户端2以用户传输模块22接收服务器1所传送的广播封包,其中, 广播封包较佳地包含一个数据区块,但本发明不限于此,可依实际广播 封包的大小决定其所包含的数据区块的数量。在本步骤中,若接收到广 播封包,进行步骤404;若未接收到广播封包时,进行步骤4031。
步骤403h计时等待接收广播封包的等待时间。
步骤4032:判断等待时间是否超过预设时间值。
未接收到广播封包时,计时等待接收广播封包的等待时间,并判断 等待时间是否超过预设时间值,若等待时间未超过预设时间值,进行步 骤403;若等待时间超过预设时间值,进行步骤411。
步骤404:分解广播封包为至少一数据区块。
步骤405:判断每一数据区块是否为有效区块。
客户端2于接收广播封包后,分解广播封包为至少一数据区块,并 判断每一数据区块是否为有效区块,若数据区块为有效区块,进行步骤 406;若数据区块非为有效区块,进行步骤4051。
此外,在分解广播封包为数据区块前,可先判断广播封包是否为有效封包,若广播封包非为有效封包时,可直接判断数据区块非为有效区 块。步骤405h计算非有效区块连续累积的数量。 步骤4052:判断连续累积的数量是否超过预设数量值。当收到广播封包非为有效封包或数据区块非为有效区块时,计算非有效区块连续累积的数量,若其数量未超过预设数量值,进行步骤403, 客户端2继续接收广播封包;若超过预设数量值,进行步骤411。 步骤406:依序写入每一有效区块。若数据区块为有效区块,则将有效区块依序写入用户储存单元24。 步骤407:加总有效区块的数量。步骤408:判断有效区块的数量是否等于数据区块数量值。客户端2以加总计数器25加总有效区块的数量,当有效区块的数量等于数据区块数量值时,进行步骤409;若有效区块的数量不等于数据区块数量值时,进行步骤4101。 步骤409:结束接收数据。当有效区块的数量等于数据区块数量值时,代表客户端2已完成档 案复制,因此用户传输模块22停止接收服务器1所传送的广播封包。 步骤4101:比对已写入的有效区块。 步骤4102:判断广播封包的数据区块是否已接收过。 有效区块的数量不等于数据区块数量值时,比对已写入的有效区块, 确认目前写入的数据区块是否已储存于用户储存单元24,若目前写入的 数据区块与用户储存单元24所储存的起始数据区块相同,表示服务器1 已完整传送整个档案的数据区块,客户端2因封包遗漏或曾接收非有效 封包或非有效区块而未接收到所有的数据区块,必须再重新接收广播封13包以取得完整的档案,因此,当广播封包的数据区块并未接收过,进行 步骤403,客户端2继续接收广播封包;当广播封包的数据区块为已接收 过,进行歩骤411。步骤411:重新发送档案需求至服务器l。客户端2重新产生新的档案需求,并经由用户传输模块22传送档案需求至服务器1 。档案需求可指定数据区块的其中一部分或未指定数据区 块,当档案需求指定数据区块的其中一部分时,服务器1传送被指定的数据区块至客户端2。在此,于重新产生档案需求前,可先检查客户端2所接收的数据区 块的数量,当其数量超过一预设数量或其数量占全部数据区块的比例超 过一预设比例时,可产生指定数据区块的档案需求,以供服务器1直接 传送客户端2未接收的数据区块,节省客户端2接收数据区块的时间; 当其数量未超过一预设数量或其数量占全部数据区块的比例未超过一预 设比例时,档案需求则不需指定数据区块,由服务器1重新传送档案的 所有数据区块,藉以确保客户端2可取得完整的档案。请参阅图5所示,为本发明所揭露的以网络广播传输数据的系统, 包含有服务器l、客户端2。服务器l设有伺服储存单元ll、伺服传输模块12、数据区块计数器 15,其中,伺服储存单元ll可储存具有复数数据区块的档案,伺服传输 模块12接收档案需求,并依据档案以广播(broadcast)方式传送复数数 据区块至客户端2,且在传送档案的第一个广播封包前,服务器l会先依 据复数数据区块的数量传送数据区块数量值至客户端2,以供客户端2确 认复数数据区块的数量。数据区块计数器15用以设定计数值,其数值大 小初始等于加总数据区块的数据区块数量值,且伺服传输模块12传送广14播封包后,数据区块计数器15会将计数值减去传送的数据区块数量值。 由于每次传送动作仅传送一个广播封包,因此数据区块计数器15于每次 传送后将计数值减一,此后若服务器1于传输过程中再接收到档案需求时,数据区块计数器15重新将计数值设定为数据区块数量值,当计数值 减至零时,伺服传输模块12停止传送广播封包。此外,服务器1更设有设定模块16,用以设定传送记号于已经传送 的数据区块,藉以防止服务器l重复传送相同的数据区块。前述说明中,服务器1依照数据区块的顺序将广播封包传送至客户 端2,当传输过程中服务器1未接收到档案需求,计数值与数据区块的数 量相等,因此当计数值减至零时,档案的所有数据区块均已传送至客户 端2;当传输过程中服务器1再接收到档案需求时,计数值变更为初始的 数据区块数量值,于服务器1传送最后一个数据区块时,计数值尚未减 至零,因此服务器1重新依序传送广播封包直到计数值减至零,此时无 论剩余多少个数据区块,均不会再进行传送。客户端2设有用户传输模块22、用户储存单元24、加总计数器25, 其中,用户传输模块22传送档案需求至服务器1,并接收伺服传输模块 12所传送的数据区块与数据区块数量值,于判断每一数据区块是否为有 效区块后,将有效区块写入用户储存单元24,在有效区块写入过程中, 以加总计数器25加总有效区块的数量,当有效区块的数量等于数据区块 数量值时,停止接收广播封包。在此,档案需求可指定数据区块的其中一部分或未指定数据区块, 当档案需求指定数据区块的其中一部分时,服务器1传送被指定的数据 区块至客户端2;当档案需求未指定数据区块时,服务器l传送档案的所 有数据区块至客户端2。再者,于判断数据区块是否为有效区块前,可先判断广播封包是否为有效封包,若广播封包非为有效封包时,可直接判 断数据区块非为有效区块。此外,客户端2更设有判断模块26,用以判断是否符合预设条件,并于符合预设条件时重新产生档案需求并传送至服务器l。在此,预设条件可为客户端2于传输过程中等待广播封包的时间间隔超过预设时间值;预设条件或可为客户端2接收的数据区块的数量小于数据区块数量值,但其所收到广播封包的数据区块为已接收过;预设条件抑或为客户端2所接收的数据区块非为有效区块,且非有效区块连续累积的数量超过预设数量值。本发明将服务器的档案以广播(broadcast)方式传送广播封包,仅需 传送一次即可使位于远程的多个客户端同时收到广播封包,藉由一对多 档案传输的方式提升网络数据传输速度。在档案传输过程中,任何一个 客户端均可随时加入并接续接收广播封包。此外,客户端所收到的数据 区块非为有效区块时,可发送档案需求至服务器,请求伺服器重新传送 所有的数据区块或是指定的数据区块,藉以确保客户端所收到的数据区 块为有效区块而取得完整无误的档案。虽然本发明的技术内容已经以较佳实施例揭露如上,然其并非用以 限定本发明,任何熟习此技艺者,在不脱离本发明的精神所作些许的更 动与润饰,皆应涵盖于本发明的范畴内,因此本发明的保护范围当视权 利要求书所界定者为准。
权利要求
1、一种以网络广播传送数据的方法,应用于一服务器传送数据到复数客户端,上述服务器储存有一档案,上述档案分为复数数据区块,上述这些数据区块可分封为复数广播封包,其特征在于,上述方法包含下列步骤设定一计数值为加总上述这些数据区块的一数据区块数量值;传送一个上述广播封包至上述客户端,其包含至少一上述数据区块;将上述计数值减去传送的上述数据区块数量值;及当上述计数值为零,即结束数据传送,当上述计数值不为零,即执行上述传送步骤。
2、 如权利要求l所述的以网络广播传送数据的方法,其特征在于 更包含于自上述这些客户端其中之一接收上述档案需求的步骤。
3、 如权利要求2所述的以网络广播传送数据的方法,其特征在于 上述于自上述这些客户端其中之一接收上述档案需求的步骤后,更包含 传送一 回复封包至上述客户端。
4、 如权利要求3所述的以网络广播传送数据的方法,其特征在于 上述回复封包包含上述数据区块数量值。
5、 如权利要求2所述的以网络广播传送数据的方法,其特征在于 于自上述这些客户端其中之一接收上述档案需求的步骤后,更包含判 断上述档案需求是否指定上述这些数据区块的其中一部分。
6、 如权利要求5所述的以网络广播传送数据的方法,其特征在于 于判断上述档案需求的步骤后,更包含传送复数广播封包以传输指定 的上述这些数据区块至上述客户端。
7、 如权利要求2所述的以网络广播传送数据的方法,其特征在于于传送上述广播封包的步骤后,更包含于接收上述档案需求时,重新 设定上述计数值为上述数据区块数量值。
8、 如权利要求l所述的以网络广播传送数据的方法,其特征在于 于传送上述广播封包的步骤后,更包含设定一传送记号于已经传送的 上述数据区块。
9、 一种以网络广播接收数据的方法,应用于一客户端接收一服务器 的数据,上述服务器储存有一档案,上述档案分为复数数据区块,上述 这些数据区块可分封为复数广播封包,其特征在于,上述方法包含下列 步骤发送一档案需求至上述服务器; 接收一回复封包并取得一数据区块数量值;接收上述这些广播封包,上述广播封包包含至少一数据区块; 依序写入有效的上述这些数据区块; 加总上述这些数据区块的数量;及当上述这些数据区块的数量等于上述数据区块数量值,即结束接收 数据。
10、 如权利要求9所述的以网络广播传送数据的方法,其特征在于 于接收上述广播封包的步骤中,包含判断等待接收上述广播封包的一 等待时间是否超过一预设时间值。
11、 如权利要求IO所述的以网络广播接收数据的方法,其特征在于 于判断等待上述广播封包的上述时间间隔的步骤后,更包含于上述时 间间隔超过上述预设时间值,重新发送上述档案需求至上述服务器。
12、 如权利要求9所述的以网络广播接收数据的方法,其特征在于 于接收上述广播封包的步骤中,包含判断上述广播封包的上述数据区块是否已接收过。
13、 如权利要求9所述的以网络广播接收数据的方法,其特征在于: 于判断上述广播封包的上述数据区块是否已接收过的步骤后,更包含 若上述数据区块为已接收过,重新发送上述档案需求至上述服务器。
14、 如权利要求9所述的以网络广播接收数据的方法,其特征在于: 于接收上述这些广播封包的步骤后,更包含分解上述广播封包为至少 一上述数据区块。
15、 如权利要求9所述的以网络广播接收数据的方法,其特征在于: 于接收上述这些广播封包的步骤后,更包含判断每一广播封包是否为 一有效封包。
16、 如权利要求9所述的以网络广播接收数据的方法,其特征在于: 于接收上述这些广播封包的步骤后,更包含判断每一上述数据区块是 否为一有效区块。
17、 如权利要求16所述的以网络广播接收数据的方法,其特征在于 于判断每一上述数据区块是否为上述有效区块的步骤后,更包含于上 述数据区块非为上述有效区块,计算非为上述有效区块的上述这些数据 区块的一连续累积数量值。
18、 如权利要求17所述的以网络广播接收数据的方法,其特征在于 于计算上述连续累积数量值的步骤后,更包含于上述连续累积数量值 超过一预设数量值,重新发送上述档案需求至上述服务器。
19、 如权利要求9所述的以网络广播接收数据的方法,其特征在于 上述服务器依据上述档案需求重新传送上述这些广播封包以传输所有的 上述这些数据区块。
20、 如权利要求9所述的以网络广播接收数据的方法,其特征在于:上述服务器依据上述档案需求重新传送上述这些广播封包以传输指定的 上述这些数据区块。
21、 一种以网络广播传输数据的系统,其特征在于,包含-一服务器,包含一伺服储存单元,用以储存一档案,上述档案分为复数数据区 块,上述这些数据区块可分封为复数广播封包, 一个上述广播封包包含 至少一上述数据区块;一伺服传输模块,用以于接收一档案需求后,传送一回复封包, 并依据上述档案需求传送上述这些广播封包;及一数据区块计数器,具有一计数值,上述伺服传输模块接收上 述档案需求,上述计数值为即设定为加总上述这些数据区块的一数据区 块数量值; 及一客户端,包含一用户传输模块,用以传送上述档案需求至上述服务器,并接 收上述伺服传输模块所传送的上述这些广播封包与上述数据区块数量 值;一用户储存单元,用以写入上述这些广播封包分解后有效的上 述这些数据区块;及一加总计数器,用以加总上述这些数据区块的数量; 其中,上述服务器传送一个上述广播封包至上述客户端,上述计数 值即减去传送的上述数据区块数目,当上述计数值为零,上述服务器即 结束数据传送;当上述加总计数器加总的上述这些数据区块的数量等于 上述数据区块数量值,上述客户端即结束接收数据。
全文摘要
一种以网络广播传送与接收数据的方法,应用于一个服务器传送数据到复数客户端,此方法是将服务器的档案以广播方式传送广播封包,客户端收到广播封包后判断数据区块是否完整有效,若客户端未收到完整有效的数据区块,请求伺服器重新传送所有的数据区块或指定的数据区块。一种以网络广播传输数据的系统也在此揭露。
文档编号H04L12/56GK101667957SQ200810213728
公开日2010年3月10日 申请日期2008年9月1日 优先权日2008年9月1日
发明者宋斐文 申请人:和硕联合科技股份有限公司