CN100469002C - 数据分块传输方法及装置 - Google Patents

数据分块传输方法及装置 Download PDF

Info

Publication number
CN100469002C
CN100469002C CNB2005100214798A CN200510021479A CN100469002C CN 100469002 C CN100469002 C CN 100469002C CN B2005100214798 A CNB2005100214798 A CN B2005100214798A CN 200510021479 A CN200510021479 A CN 200510021479A CN 100469002 C CN100469002 C CN 100469002C
Authority
CN
China
Prior art keywords
client
content
control data
data collection
bag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100214798A
Other languages
English (en)
Other versions
CN1913440A (zh
Inventor
张永敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNB2005100214798A priority Critical patent/CN100469002C/zh
Priority to US12/063,029 priority patent/US20080162718A1/en
Priority to PCT/CN2006/001902 priority patent/WO2007016856A1/zh
Publication of CN1913440A publication Critical patent/CN1913440A/zh
Application granted granted Critical
Publication of CN100469002C publication Critical patent/CN100469002C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种数据分块传输方法及装置,包括以下步骤:用于发送数据的源端不断监控待接收数据的客户端的连接请求和断开连接,为请求传输同一内容的客户端建立一控制数据集,控制数据集包括客户端的通讯数据和反映控制数据集变化的标记;源端将加入到控制数据集中的客户端分成M组;源端将控制数据集发送到客户端,当源端监测到有客户端请求连接和断开连接时,即变更控制数据集、重新标记控制数据集,并将变更后的控制数据集传输到已连接上的客户端;源端将客户请求传输的内容分成数据块传送给M组客户端;M组客户端根据控制数据集相互之间主动传输数据块,组成完整的内容。本发明传输速度快、网络利用率高、安全性强。

Description

数据分块传输方法及装置
【技术领域】
本发明涉及一种通过网络传输数据的方法,尤其涉及一种将数据分块进行传输的方法及装置。
【背景技术】
通过网络传输数据时,对一个实时内容源或存储的内容文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。
在传统的单播传输方式中,要实现数据传输需要服务器的大力参与,通过将内容源或文件上传到某个特定的网站,用户再到某个网站搜索需要的内容源或文件,然后下载,这种方式的不便之处不言而喻。流式传输方式之一是单播传输,源端和每一客户端需要单独的数据通道。在这种通信方式下,源IP主机向指定的目标IP主机发送数据包,从源端送出的每个数据包只能传送给一个客户端,源端必须向每个希望接收此数据包的客户端发送一份单独的数据包拷贝。这种巨大的冗余会带来很大的代价,首先,会给发送数据的源主机带来沉重的负担,因为它必须对每个要求都做出响应,这使得主机的响应会大大延长;其次对路由器和交换机的性能也提出了更高的要求,管理人员被迫购买本来不必要的硬件和带宽来保证一定的服务质量,这是单播传输的重要缺陷。当前,由于P2P(peer to peer,对等互联或点对点技术)的出现,使服务器到服务器、服务器到PC机、PC机到PC机,PC机到WAP手机的对话成为可能,不需要所有数据都从中心服务器下载,互联网上任意两台PC都可建立实时的联系,建立了这样一个安全、共享的虚拟空间,人们可以进行各种各样的活动,这些活动可以是同时进行,也可以交互进行。
流媒体传输和一般的网络文件传输相比,有着数据量大、时延敏感性强、持续时间长等特点,虽然P2P有多种技术,但在传输流媒体时都有以下缺点:实时性差、难以控制、数据的完整性和传输速度难以平衡。
【发明内容】
本发明的主要目的就是为了解决现有技术的问题,提供一种数据分块传输方法,实时性好、传输速度快、网络利用率高、安全性强。
本发明的次一目的就是为了解决现有技术的问题,提供一种数据分块传输方法,使传输速度更快。
本发明的再一目的就是为了解决现有技术的问题,提供一种数据分块传输方法,保证数据传输的完整性和安全性。
为实现上述目的,本发明提出的一种数据分块传输方法,包括以下步骤:
A1、用于发送数据的源端不断监控待接收数据的客户端的连接请求和断开连接,为请求传输同一内容的客户端建立一控制数据集,控制数据集包括各客户端相互通信用的必要数据和反映控制数据集变化的标记;
B1、源端将加入到控制数据集中的客户端分成M组,每组中的客户端至少有一个且使每组中的客户端尽量相等,其中M为一等于1或大于1的自然数;
C1、源端将控制数据集发送到客户端,当源端监测到有客户端请求连接和断开连接时,即变更控制数据集、重新标记控制数据集,并将变更后的控制数据集传输到已连接上的客户端;
D1、源端将客户请求传输的内容分成数据块分别传送给M组客户端;
E1、M组客户端根据控制数据集相互之间主动传输数据块,组成完整的内容。
上述控制数据集中的各客户端之间能依赖控于制数据集相互通信。
步骤C1中只有客户端连接时或控制数据集有变时,源端才将控制数据集或控制数据集变形后传输到客户端,从而减少了数据传数量。
步骤D1所述的内容分块传送包括以下步骤:
D11、源端将需传输的内容分成长度适合的块;
D12、对数据块加上包括内容标记、块号、时间戳和校验和的附加信息,打包放在待发的缓冲区;
D13、源端每次从缓冲区中取出M个内容包,将M个内容包标上与M个组一一对应的组号,然后按照组号分别传输给各组中的所有客户端。
本发明的进一步改进是:步骤E1所述的M组客户端之间的数据交换为收到内容包的客户端根据最新的控制数据集中的客户端组别、客户端的通信数据,将接收到的内容包主动转发给与其自身所在组别不同的组别中与其相对应的客户端。从而使各客户端一起实现了协同传输,传输内容具有实时性.
本发明的更进一步改进是:等待内容包的客户端在超过约定的接收时间内未能收到内容包,则根据最新的控制数据集,向同组的某个客户端发出补包请求,要求该客户端向其补发所缺内容包。同组的客户端在收到补包请求后,判断补包请求合法时,则查找所请求的内容包,如果找到则转发,如果找不到则转告原因。从而提供了服务保证机制。
当实时性要求不高时,客户端要求补发某内容包并不限于当前,也可以是负责补发客户端以前存在的内容包。
为实现上述目的,本发明还提出一种数据分块传输装置,包括源端和客户端,所述源端包括:
连接/断开请求单元,用于监控待接收数据的客户端的连接请求和断开连接;
建立控制数据集单元,用于为请求传输同一内容的客户端建立一控制数据集,控制数据集包括各客户端相互通信用的必要数据和反映控制数据集变化的标记,并根据连接/断开请求单元监控的客户端连接/断开信息变更控制数据集、重新标记控制数据集以更新控制数据集;
分组单元,用于将加入到控制数据集中的客户端分成M组,每组中的客户端至少有一个,且使每组中的客户端尽量相等,其中M为一等于1或大于1的自然数;
分块单元,用于将客户请求传输的内容分成多个数据块;
数据发送单元,用于将控制数据集传送给客户端,并根据控制数据集将数据块分别传输给M组客户端;
所述客户端包括:
数据接收单元,用于接收源端或其它客户端发送的数据,所述数据包括请求传送的内容和控制数据集;
数据发送单元,用于根据控制数据集,向其它组别主动传输该组所收到的数据块。
其中,所述分块单元将数据块加上包括内容标记、块号、时间戳和校验和的附加信息,打包放在待发的缓冲区,所述源端还包括:
读取单元,用于根据最新控制数据集中的客户端的组别数M每次从缓冲区读取M个数据包;
数据包处理单元,用于将M个包分成M组,M个包分别标上与M个组一一对应的组号;
所述数据发送单元用于根据最新控制数据集将M个内容包按照组号分别对应地传输给M组客户端的每一个成员。
其中所述客户端进一步还包括缓冲池、标记单元、控制单元和存储单元,所述缓冲池用于以队列方式暂存该客户端收到的内容包,所述控制单元用于检测内容包放置在缓冲池中的位置,所述标记单元用于在相应位置记上已收到标记,并记下在缓冲池中的位置,每标记一个位置,控制单元就检查标记单元中的内容包标记表,判定已收到内容包是否有连续性,将有连续性的内容包保存到存储单元或使用。
本发明的有益效果是:1)源端根据请求传输内容的客户端的数量,建立控制数据集,并将客户端分成若干组,将需传输的内容根据客户端的组数分块,并分别传输给每一组的所有成员,不同组别之间的客户端又相互之间传输接收到的数据块。这样,避免了所有客户端从源端下载整个内容,避免了网络塞车现象,提高了网络利用率,提高了传输速度和下载速度。由于传输是根据实时的、最新的控制数据集,可合理安排数据合理传输,安全、可靠地传输。2)不同组别的客户端相互之间传输数据块采用主动传输,各客户端一起实现了协同传输,进一步提高了数据传输速度。3)缺包的客户端可要求同组的客户端补包,保证了客户端下载内容的完整性。4)网络上的活动依赖于控制数据集,安全性强。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明一种实施例的系统结构示意图;
图2是本发明的源端和客户端以及客户端之间传输数据的示意图;
图3是本发明一种实施例中源端的控制数据集的建立及更新流程图;
图4是本发明一种实施例中数据分块传输流程图;
图5是本发明一种实施例中客户端接收内容包的流程图。
【具体实施方式】
如图1所示,源端包括接收连接/断开请求单元、建立控制数据集单元、控制数据集存储单元、控制数据集比较单元、控制数据集变化存储单元、分组单元、需传输内容存储单元、分块单元、缓冲区、读取单元、数据包处理单元、数据发送单元。客户端包括请求连接单元、数据接收单元、控制数据集存储单元、内容包缓冲池、标记单元、控制单元、存储单元和数据发送单元。
源端对于需传输的内容有一个控制数据集,由标记,控制策略,各客户端的通讯数据(如:IP地址,端口,传输质量,特性)等组成。当客户端需要接收内容时,便通过客户端的请求连接单元向源端发出传输请求,源端对请求做合法性判断,若允许传输,将客户端传输用的控制数据添加到源端的控制数据集,此时,称连接。当客户端断开连接时(主动或非主动),源端将客户端从控制数据集中删除,表示脱离内容传输。源端每建立一个新的控制数据集,都要存储到控制数据集存储单元,控制数据集存储单元中保存(仅保存)最近多个控制数据集Fi,......,Fn,每一次客户端的连接或断开,都会造成源端控制数据集变化,源端控制数据集任何变化均须重新标记,以区别旧标记,对变更后的控制数据集进行标记时是按照其变化的次序标记。第n个为最新控制数据集,标为Fn。控制数据集比较单元比较Fn和Fn-1,并将变化部分存储在控制数据集变化存储单元中,组成数据包后通过数据发送单元发送给每个与源端连接的客户端。
源端在客户端请求连接时首先进行初始化,检查客户端的合法性,只有合法的客户端才能进入控制数据集,初始化还包括源端将控制数据集传送给客户端。
当客户端向源端请求连接时,可用UDP协议提出请求,并用UDP协议返回控制数据集,打通通信链路。
客户端通过数据接收单元接收到控制数据集变化部分后,将存储在控制数据集存储单元中的控制数据集更新为最新。
当每次客户端的连接或断开,源端的分组单元按控制策略将客户端分成M组(M=1,2,...,连接客户端数),每组有N个客户端(N=1,2,...,连接客户端数)。大约有M*N客户端,这种划分是大致的,实际数量与M*N之差可以用空客户端补上。控制策略的变化也反映在控制数据集上。其中,M和N为大于1的自然数。
源端的分块单元将需传输的内容分成块,块的最大长度是可选的,但最好以适合Internet UDP协议传输的长度为好,比如(1460-打包附加字节数)字节,分成的块加上附加信息,附加信息包括内容标记、块号、时间戳、校验和等等,块的块号是连续有序的,由块号可判定该块所载内容的位置。将块打包,放在待发的缓冲区上。
待发的缓冲区将数据包以队列方式存储,当缓冲区存满,新包代替最老的包。
循环地,源端的读取单元根据最新控制数据集中的客户端的组别数M,取待发缓冲区M个包分成M组(每一个包成一组),M个包分别标上与M个组一一对应的组号,M个包的组号分别是1-M,输出到数据发送单元,数据发送单元根据最新控制数据集中的客户端的组别、IP地址和端口等通讯地址将M个内容包按照组号分别对应的传输给M个组中的每一个成员。源端在每次传输M个内容包中,使得每个客户端从源端直接收到且仅收到一个具有本组组号的内容包(特殊情况除外,如补发),例如第K组的每一个客户端(K组有N个客户端)都收到标有K组组号的第K内容包,传输同时给内容包加上控制数据集的标记Fn和时间戳等等。
当客户端接收到内容包后,将收到的内容包放置接收缓冲池,接收缓冲池以队列方式存储,当缓冲区存满,新包代替最老的包。
当客户端收到内容包后,控制单元检测内容包放置在接收缓冲池中的位置,在标记单元中相应位置记上已收到标记,并记下在接收缓冲池的位置。
每在标记单元中标记一个位置,控制单元就检查标记单元中中的内容包标记表,判定已到内容是否有连续性,将有连续性的内容包(即已接收好的内容)保存到存储单元或使用之。
源端依赖控制数据集给客户端传输内容,各客户端之间也依赖控制数据集相互通信,转发内容和补发内容。所以内容传输只在源端和控制数据集内的客户端之间进行,除传输控制外,值此,可以保护传输的内容。
当客户端收到内容包时,根据控制数据集中的最新控制数据集,按客户端所属组及成员,根据具体的设定向其它各组相应的成员转发,如K组的i成员,向非K组的i成员,转发K组内容包。当某组成员为空时(组内实成员数小于N时存在空成员),由源端负责传输需转发的内容包。
客户端定期向源端发送传输质量数据,同时此发送也作客户端存活标志。
控制策略包括:当客户端的传输质量超出设定的参数范围时,控制该客户端退出本内容传输,可以转入其他通信质量的内容传输组别或按断开连接处理。
控制数据集还指出如何在不同组之间转发,同时指出由组内那个客户端负责补发内容。M,N的设定如下:
A1)当N=1时,由源端负责补发内容。
A2)由客户端负责补发内容时N>1。
A3)设每次处理t秒内容,传输速率是s(字节/秒),得
M0=s*t/内容包大小(字节)
当连接客户端数>M0时,M不大于M0
A4)当满足A2及A3时,尽量使M*N接近于连接客户端数。
内容可以选自于音/视频数据、计算机文件和网络上的UDP数据包。
如图2所示,为源端和客户端或不同组的客户端之间的数据传输示意图。
如图3所示为控制数据集的建立及更新流程图,包括以下步骤:
在步骤101,源端接收到客户端的连接请求或断开,当客户端断开时,直接执行步骤104;当客户端请求连接时,执行步骤102;
在步骤102,源端判断客户端的连接请求是否合法,如果合法则执行步骤104;如果不合法则执行步骤103,拒绝连接;
在步骤104,源端根据客户端的连接和断开更新源端的控制数据集,然后执行步骤105;
在步骤105,源端将最新的控制数据集传输到每个与源端连接的客户端,源端必须将控制数据集传输到各个已连接上的客户端,努力在内容传输之前将客户端控制数据集与源端保持一致。控制数据集传输可以是直接传输整个控制数据集,最好是将最新的控制数据集与前一个控制数据集比较后只传输变化的部分。只传输变化的部分有多种传输方法,包括以下步骤:
1、源端对于连续变化的数据按设定时间间隔连续提取数据集并按照提取的先后次序进行标记,且此标记是唯一的、连续的;
2、源端将最新数据集的整集与其前一个数据集的整集按符号进行比较,得出变化串;
3、将变化串进行变形并进行相应标记后得到变化集;
4、将变化集传输到客户端,以供客户端根据其当前的数据集将数据集更新为最新数据集,并将该最新数据集标记上与源端上的最新数据集相同的标记。
“符号”统指字节、半字、字、双字、或任何其它预先选定改善的二进制数,为便于理解,这里假定数据是字节形成的,可以为一个字节或两个字节。
在很多动态变化的数据集,通常在一定时间内变化的量很少,在只传输变化部分的传输模式中,将数据集划分成若干符号,由于符号的随意性很大,其长度可以为一个字节,也可以为两个字节等,一个项目可能划分为多个符号,数据集之间按照符号为单位进行比较,缩小了比较的单位,所以得出的变化串的字节的长度减小,从而大大减少了传输量,提高了传输速度,减少了对带宽的要求。
优选方式是采用相对位置标记法,即每个变化集包括开始标记、新的数据集标记、旧的数据集标记、至少一个变化串元素及该变化串元素相对于数据集开始位置的偏移值,变化串元素包括变化串元素头部和变化串,变化串元素头部包括变化串头标记和变化串长度。
如图4所示为数据分块传输流程图,包括以下步骤:
在步骤202,源端将需传输的内容分成长度合适的块,将数据块加上附加信息预打包,然后执行步骤203;
在步骤203,将内容包以队列方式存储在待发的缓冲区,然后执行步骤204;
在步骤204,源端每次从缓冲区中取出M个内容包,将每个内容包标上相应的组号、控制数据集的标记Fn和时间戳等等,打包后执行步骤205;
在步骤205,源端检查是否有更新的控制数据集,如果有,则执行步骤206,先传输控制数据集到每个客户端;如果没有则执行步骤207;
在步骤207,源端根据控制数据集中客户端的组别和客户端的IP地址和端口将M个内容包分别发送给M组的每一个客户端;
在步骤208,每一组的客户端都接收到一个内容包,同组的客户端接收到的内容包相同,不同组别之间根据控制数据集中的客户端组别、IP地址和端口等通讯数据向不同组别的客户端主动发送其从源端接收到的内容包,当不同组别中与该客户端相对应的客户端为空时,不转发内容包。经过不同组别的客户端之间的相互交换内容包,每个客户端都可以接收到所有的内容包,组合成完整的内容。
如图5所示为客户端接收内容包的流程图,包括以下步骤:
在步骤301,客户端接收从源端或其他不同组别的客户端发送的内容包,然后执行步骤302;
在步骤302,客户端将接收到的内容包村处在接收缓冲池中,然后执行步骤303;
在步骤303,客户端更新标记单元中的标记表,在标记表中相应位置记上已收到标记,并记下在接收缓冲池的位置,然后执行步骤304;
在步骤304,判断该接收到的内容包是否来自源端,如果来自源端则执行步骤305,向不同组别的相应的客户端主动转发该内容包;如果不是来自源端则执行步骤306;
在步骤306,判断标记表中已到内容是否有连续性,如果有连续性的内容,则执行步骤307,将有连续性的内容包保存到存储单元或使用,然后执行步骤308;如果没有连续性的内容则执行步骤308;
在步骤308,判断是否超出约定的接收时间,如果没有,则执行步骤301,继续接收内容包;如果超出约定的接收时间还未收到内容包,则执行步骤309;
在步骤309,要求同组的客户端补发缺少的该内容包,当本组只有一个客户端或补发内容包不成功时,该客户端向源端要求补发所缺内容包。然后执行步骤310;
在步骤310,判断是否超过约定的补包接收时间,如果没有,则执行步骤311,继续等待补发的内容包;如果已经超出了补包接收时间还未收到补发的内容包,则执行步骤312,按丢包处理。
本发明中,只有在客户端和源端连接成功后,客户端才可以跟源端或其它的客户端互相通信,也就是,只有登记在控制数据集上的客户端,以及源端才能相互正确传输内容,保证了内容传输的安全。

Claims (18)

1.数据分块传输方法,其特征在于包括以下步骤:
A1、用于发送数据的源端不断监控待接收数据的客户端的连接请求和断开连接,为请求传输同一内容的客户端建立一控制数据集,控制数据集包括各客户端相互通信用的必要数据和反映控制数据集变化的标记;
B1、源端将加入到控制数据集中的客户端分成M组,每组中的客户端至少有一个且使每组中的客户端尽量相等,其中M为一等于1或大于1的自然数;
C1、源端将控制数据集发送到客户端,当源端监测到有客户端请求连接和断开连接时,即变更控制数据集、重新标记控制数据集,并将变更后的控制数据集传输到已连接上的客户端;
D1、源端将客户请求传输的内容分成数据块分别传送给M组客户端;
E1、M组客户端根据控制数据集相互之间主动传输数据块,组成完整的内容。
2.如权利要求1所述的数据分块传输方法,其特征在于:对变更后的控制数据集进行标记时是按照其变化的次序标记;所述控制数据集的传输是指只传输控制数据集的变化部分。
3.如权利要求2所述的数据分块传输方法,其特征在于:所述控制数据集变化部分的传输包括以下步骤:
A2、源端对于连续变化的数据按设定时间间隔连续提取数据集并按照提取的先后次序顺序标记;
B2、源端将最新数据集的整集与其前一个数据集的整集按符号进行比较,得出变化串;
C2、将变化串进行变形并进行相应标记后得到变化集;
D2、将变化集传输到客户端,以供客户端根据其当前的数据集将数据集更新为最新数据集,并将该最新数据集标记上与源端上的最新数据集相同的标记。
4.如权利要求1至3中任一项所述的数据分块传输方法,其特征在于:步骤D1所述的内容分块传送包括以下步骤:
D11、源端将需传输的内容分成长度适合的块;
D12、对数据块加上包括内容标记、块号、时间戳和校验和的附加信息,打包放在待发的缓冲区;
D13、源端每次从缓冲区中取出M个内容包,将M个内容包标上与M个组一一对应的组号,然后按照组号分别传输给各组中的所有客户端。
5.如权利要求4所述的数据分块传输方法,其特征在于:步骤D12所述的块的块号是连续有序的,由块号判定该块所载内容的位置。
6.如权利要求5所述的数据分块传输方法,其特征在于:步骤E1所述的M组客户端之间的数据交换为收到内容包的客户端根据最新的控制数据集中的客户端组别、客户端的通信数据,将接收到的内容包主动转发给与其自身所在组别不同的组别中与其相对应的客户端;当不同组别中与该客户端相对应的客户端为空时,不转发内容包.
7.如权利要求6所述的数据分块传输方法,其特征在于还包括补包步骤:等待内容包的客户端在超过约定的接收时间内未能收到内容包,则根据最新的控制数据集,向同组的某个客户端发出补包请求,要求该客户端向其补发所缺内容包。
8.如权利要求7所述的数据分块传输方法,其特征在于:在补包步骤中,同组的客户端在收到补包请求后,判断补包请求合法时,则查找所请求的内容包,如果找到则转发,如果找不到则转告原因。
9.如权利要求8所述的数据分块传输方法,其特征在于:当本组只有一个客户端或补发内容包不成功时,该客户端向源端要求补发所缺内容包。
10.如权利要求7所述的数据分块传输方法,其特征在于:客户端接收到内容包后包括以下处理步骤:
客户端将收到的内容包放置在接收缓冲池中,接收缓冲池将内容包以队列方式存储;
在内容包标记表的相应位置记录已收到该内容包的标记,并记下该内容包在接收缓冲池中的位置;
不断检查内容包标记表,判定已到内容是否有连续性,将有连续性的内容包保存或使用。
11.如权利要求9所述的数据分块传输方法,其特征在于:客户端如果在超过约定的时间仍未能收到应收的内容包,则按丢包处理。
12.如权利要求9所述的数据分块传输方法,其特征在于:所述源端依赖控制数据集给客户端传输内容,各客户端之间也依赖控制数据集相互通信,转发内容和补发内容。
13.如权利要求1所述的数据分块传输方法,其特征在于:所述源端在客户端连接时首先进行初始化,检查客户端的合法性,只有合法的客户端才能进入控制数据集,初始化还包括源端将控制数据集传送给客户端。
14.如权利要求7所述的数据分块传输方法,其特征在于:客户端定期向源端发送传输质量数据,同时此发送也作客户端存活标志;所述控制数据集还包括控制策略,所述控制策略为当客户端的传输质量超出设定的参数范围时,控制该客户端退出本内容传输,可以转入其他通信质量的内容传输组别或按断开连接处理。
15.如权利要求1所述的数据分块传输方法,其特征在于:所述内容为音/视频数据、计算机文件或网络上的UDP数据包。
16.一种数据分块传输装置,包括源端和客户端,其特征在于:
所述源端包括:
连接/断开请求单元,用于监控待接收数据的客户端的连接请求和断开连接;
建立控制数据集单元,用于为请求传输同一内容的客户端建立一控制数据集,控制数据集包括各客户端相互通信用的必要数据和反映控制数据集变化的标记,并根据连接/断开请求单元监控的客户端连接/断开信息变更控制数据集、重新标记控制数据集以更新控制数据集;
分组单元,用于将加入到控制数据集中的客户端分成M组,每组中的客户端至少有一个,且使每组中的客户端尽量相等,其中M为一等于1或大于1的自然数;
分块单元,用于将客户请求传输的内容分成多个数据块;
数据发送单元,用于将控制数据集传送给客户端,并根据控制数据集将数据块分别传输给M组客户端;
所述客户端包括:
数据接收单元,用于接收源端或其它客户端发送的数据,所述数据包括请求传送的内容和控制数据集;
数据发送单元,用于根据控制数据集,向其它组别主动传输该组所收到的数据块。
17.如权利要求16所述的数据分块传输装置,其特征在于:所述分块单元将数据块加上包括内容标记、块号、时间戳和校验和的附加信息,打包放在待发的缓冲区,所述源端还包括:
读取单元,用于根据最新控制数据集中的客户端的组别数M每次从缓冲区读取M个数据包;
数据包处理单元,用于将M个包分成M组,M个包分别标上与M个组一一对应的组号;
所述数据发送单元用于根据最新控制数据集将M个内容包按照组号分别对应地传输给M组客户端的每一个成员。
18.如权利要求17所述的数据分块传输装置,其特征在于:所述客户端还包括缓冲池、标记单元、控制单元和存储单元,所述缓冲池用于以队列方式暂存该客户端收到的内容包,所述控制单元用于检测内容包放置在缓冲池中的位置,所述标记单元用于在相应位置记上已收到标记,并记下在缓冲池中的位置,每标记一个位置,控制单元就检查标记单元中的内容包标记表,判定已收到内容包是否有连续性,将有连续性的内容包保存到存储单元或使用。
CNB2005100214798A 2005-08-09 2005-08-09 数据分块传输方法及装置 Expired - Fee Related CN100469002C (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNB2005100214798A CN100469002C (zh) 2005-08-09 2005-08-09 数据分块传输方法及装置
US12/063,029 US20080162718A1 (en) 2005-08-09 2006-07-31 Method and Apparatus for Transmitting Data in Blocks
PCT/CN2006/001902 WO2007016856A1 (fr) 2005-08-09 2006-07-31 Procede et appareil de transmission de donnees en blocs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100214798A CN100469002C (zh) 2005-08-09 2005-08-09 数据分块传输方法及装置

Publications (2)

Publication Number Publication Date
CN1913440A CN1913440A (zh) 2007-02-14
CN100469002C true CN100469002C (zh) 2009-03-11

Family

ID=37722225

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100214798A Expired - Fee Related CN100469002C (zh) 2005-08-09 2005-08-09 数据分块传输方法及装置

Country Status (3)

Country Link
US (1) US20080162718A1 (zh)
CN (1) CN100469002C (zh)
WO (1) WO2007016856A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006121792A2 (en) 2005-05-05 2006-11-16 Archipelago Holdings, Inc. Unpriced order auction and routing
AU2006244483B2 (en) 2005-05-05 2012-05-31 Nyse Group, Inc. Tracking liquidity order
US7873561B1 (en) 2005-05-05 2011-01-18 Archipelago Holdings, Inc. Method and system for maintaining an order on a selected market center with maximum price exemption parameter
US7912775B1 (en) 2005-05-05 2011-03-22 Archipelago Holdings, Inc. Liquidity analysis system and method
AU2006244562B2 (en) 2005-05-05 2012-05-17 Nyse Group, Inc. Reprice-to-block order
CN101150595B (zh) * 2007-11-13 2011-07-20 腾讯科技(深圳)有限公司 一种实时文件传输方法、系统及装置
US8650301B2 (en) * 2008-10-02 2014-02-11 Ray-V Technologies, Ltd. Adaptive data rate streaming in a peer-to-peer network delivering video content
CN101827128A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种文件网络传输中分块下载和匹配的方法
CN102412928B (zh) * 2010-09-17 2017-03-01 株式会社Ntt都科摩 一种基于网络编码的数据传输方法及装置
CN102170475A (zh) * 2011-04-22 2011-08-31 中兴通讯股份有限公司 一种基于p2p的文件分发系统及分片方法
CN111464374B (zh) * 2020-02-21 2021-09-21 中国电子技术标准化研究院 网络延迟控制方法、设备及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1402147A (zh) * 2001-08-24 2003-03-12 顾红波 数据网络中利用多目传送循环传输数据的方法
CN1520552A (zh) * 2001-06-25 2004-08-11 �Ҵ���˾ 以对等方式广泛分发电子内容的方法和装置
CN1614931A (zh) * 2004-12-10 2005-05-11 张德浩 基于ip网络数字媒体传送方法
JP2005149040A (ja) * 2003-11-14 2005-06-09 Hitachi Ltd ピアツーピア通信システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321270B1 (en) * 1996-09-27 2001-11-20 Nortel Networks Limited Method and apparatus for multicast routing in a network
US6915284B2 (en) * 2002-04-18 2005-07-05 Hewlett-Packard Development Company, Lp. System and method for automated message response, within a system for harvesting community knowledge
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
KR100427143B1 (ko) * 2003-01-17 2004-04-14 엔에이치엔(주) 스트리밍 데이터 전송 및 다운로드 방법
US8239446B2 (en) * 2003-11-19 2012-08-07 Sony Computer Entertainment America Llc Content distribution architecture
US7633887B2 (en) * 2005-01-21 2009-12-15 Panwar Shivendra S On demand peer-to-peer video streaming with multiple description coding
JP2006285601A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd ファイル配信方法とそれを実現するクライアント端末

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1520552A (zh) * 2001-06-25 2004-08-11 �Ҵ���˾ 以对等方式广泛分发电子内容的方法和装置
CN1402147A (zh) * 2001-08-24 2003-03-12 顾红波 数据网络中利用多目传送循环传输数据的方法
JP2005149040A (ja) * 2003-11-14 2005-06-09 Hitachi Ltd ピアツーピア通信システム
CN1614931A (zh) * 2004-12-10 2005-05-11 张德浩 基于ip网络数字媒体传送方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Incentives Build Robustness in BitTorrent. Bram Cohen.Proceedings of the 1st Workshop on the Economics of Peer-to-peer Systems,Berkeley. 2003
Incentives Build Robustness in BitTorrent. Bram Cohen.Proceedings of the 1st Workshop on the Economics of Peer-to-peer Systems,Berkeley. 2003 *

Also Published As

Publication number Publication date
WO2007016856A1 (fr) 2007-02-15
US20080162718A1 (en) 2008-07-03
CN1913440A (zh) 2007-02-14

Similar Documents

Publication Publication Date Title
CN100469002C (zh) 数据分块传输方法及装置
CN100512194C (zh) 链路聚合方法、装置、mac帧收发方法和系统
US10911510B2 (en) Apparatus and method for transmitting multimedia data in a broadcast system
CN101155296B (zh) 数据传输的方法
CN101179564B (zh) 基于链路层自动请求重传的tcp分组头部压缩方法及其系统
CN100542127C (zh) 一种基于多业务传输平台的组播实现方法
JPWO2004073269A1 (ja) 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
CN103095724A (zh) 一种内容中心网络多个兴趣包压缩发送及处理的方法
JP4436960B2 (ja) パケット通信システムおよび移動通信システム
EP1806870B1 (en) Method for providing data and data transmission system
JP2007184969A (ja) 配信経路制御装置
CN101286927A (zh) 一种基于节点互连优化实现p2p流媒体系统的方法
CN104506637A (zh) 解决网络拥挤的缓存方法、系统及url转发服务器
CN101427277A (zh) 数字内容传输的服务质量
CN106059936B (zh) 云系统组播文件的方法及装置
US20040033075A1 (en) Delivering multicast streams in a passive optical network
US7143179B2 (en) Method and system for parallel data transmission on demand to an unlimited number of clients without acknowledgment and on the basis of constant data availability
CN100446567C (zh) 在信息家电中实现p2p流播放的装置和方法
CN109951388B (zh) 路由不间断方法和主控板
CN104486290A (zh) 一种基于OpenFlow的流媒体云透明服务装置
CN104113545A (zh) 信息中心网络下的流媒体系统及其使用方法
CN100502365C (zh) 板间通信方法
CN101252526B (zh) 流量控制方法以及vpws网络系统
CN102006326A (zh) 一种p2p流媒体下载系统及方法
WO2021005756A1 (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090311

Termination date: 20160809