Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA RETRANSMISSION METHOD AND SYSTEM, MULTICAST SERVER AND USER TERMINAL
Document Type and Number:
WIPO Patent Application WO/2013/104241
Kind Code:
A1
Abstract:
Provided are a data retransmission method and system, a multicast server and a user terminal. The method comprises: receiving unicast retransmission requests for requesting the retransmission of first data messages sent by first multicast members of a first multicast group; determining whether the number of a plurality of unicast retransmission requests requesting the retransmission of first data messages received from a plurality of multicast members of the first multicast group is greater than or equal to a preset threshold; and after determining that the number is greater than or equal to the preset threshold, multicasting the first data messages to the multicast members of the first multicast group, and not responding to the unicast retransmission requests requesting the retransmission of the first data messages received from the multicast members of the first multicast group within a preset time period. The technical solution of the present invention can reduce the burden on servers, and facilitate the reduction of the probability of traffic congestion in downlink networks.

Inventors:
YANG FAN (CN)
Application Number:
PCT/CN2012/086934
Publication Date:
July 18, 2013
Filing Date:
December 19, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L1/18; H04L45/16; H04N21/6375
Foreign References:
CN102547386A2012-07-04
CN1627725A2005-06-15
Other References:
WANG, XU ET AL.: "Research on Reliable IP Multicast Transport Protocol RMSA", JOURNAL OF TONGJI UNIVERSITY, vol. 30, no. 4, April 2002 (2002-04-01), pages 475 - 478
SUN, L.M. ET AL.: "A Hierarchy Reliable Mobile Multicast Algorithm Based on Mixed Acknowledgement Mechanism", JOURNAL OF SOFTWARE, vol. 15, no. 6, June 2004 (2004-06-01), pages 908 - 914
Download PDF:
Claims:
权 利 要 求

1、 一种数据重传方法, 其特征在于, 包括:

组播服务器接收第一组播组中的第一组播成员发送的请求重传第一数据 报文的单播重传请求;

所述组播服务器确定从所述第一组播组的多个组播成员接收到的请求重 传所述第一数据报文的多个单播重传请求的数量是否大于或等于预设阔值; 所述组播服务器在确定所述数量大于或等于所述预设阔值后, 向所述第 一组播组内的组播成员组播所述第一数据报文;

其中, 所述组播服务器在确定所述数量大于或等于所述预设阔值后, 在 第一预设时间段内, 对从所述第一组播组的组播成员接收到的请求重传所述 第一数据报文的单播重传请求不进行响应。

2、 根据权利要求 1所述的数据重传方法, 其特征在于, 还包括: 所述组播服务器在确定所述数量小于所述预设阔值后, 以单播方式向所 述第一组播成员发送所述第一数据报文。

3、 根据权利要求 1或 2所述的数据重传方法, 其特征在于, 在所述组播 服务器确定从所述第一组播组的多个组播成员接收到的请求重传所述第一数 据报文的多个单播重传请求的数量是否大于或等于预设阔值之前, 所述方法 还包括:

所述组播服务器确定预设统计周期是否到达;

所述组播服务器在确定所述预设统计周期到达后, 执行确定从所述第一 组播组的多个组播成员接收到的请求重传所述第一数据报文的多个单播重传 请求的数量是否大于或等于预设阔值的操作。

4、 根据权利要求 1或 2所述的数据重传方法, 其特征在于,

所述第一数据报文为视频报文, 所述单播重传请求包括所述视频报文的 序列号和所述视频报文对应的频道信息;

所述组播服务器确定从所述第一组播组的多个组播成员接收到的请求重 传所述第一数据报文的多个单播重传请求的数量是否大于或等于预设阔值包 括:

所述组播服务器根据从所述单播重传请求中获取的所述视频报文的序列 号和所述频道信息, 获取所述第一组播组的多个组播成员请求重传所述视频 报文的多个单播重传请求的数量;

所述组播服务器将所述数量与所述预设阈值进行比较, 以确定所述数量 是否大于或等于所述预设阔值。

5、 一种数据重传方法, 其特征在于, 包括:

第一组播组中的第一组播成员向组播服务器发送请求重传第一数据报文 的单播重传请求;

所述第一组播成员接收所述组播服务器在确定所述第一组播组的多个组 播成员请求重传所述第一数据报文的多个单播重传请求的数量大于或等于预 设阔值后向所述第一组播组内的组播成员组播的所述第一数据报文。

6、 根据权利要求 5所述的数据重传方法, 其特征在于, 还包括: 所述第一组播成员接收所述组播服务器在确定所述第一组播组的多个组 播成员请求重传所述第一数据报文的多个单播重传请求的数量小于所述预设 阔值后以单播方式向所述第一组播成员发送的所述第一数据 "^文。

7、 根据权利要求 5或 6所述的数据重传方法, 其特征在于, 所述第一数 据报文为视频报文, 所述单播重传请求包括所述视频报文的序列号和所述视 频才艮文对应的频道信息。

8、 一种组播服务器, 其特征在于, 包括:

请求接收模块, 用于接收第一组播组中的第一组播成员发送的请求重传 第一数据报文的单播重传请求;

第一确定模块, 用于确定从所述第一组播组的多个组播成员接收到的请 求重传所述第一数据报文的多个单播重传请求的数量是否大于或等于预设阔 值;

重传处理模块, 用于在所述第一确定模块确定出所述数量大于或等于所 述预设阔值后, 向所述第一组播组内的组播成员组播所述第一数据报文, 并 在第一预设时间段内, 对从所述第一组播组的组播成员接收到的请求重传所 述第一数据报文的单播重传请求不进行响应。

9、 根据权利要求 8所述的组播服务器, 其特征在于, 所述重传处理模块 还用于在所述第一确定模块确定所述数量小于所述预设阔值后, 以单播方式 向所述第一组播成员发送所述第一数据报文。

10、 根据权利要求 8或 9所述的组播服务器, 其特征在于, 还包括: 第二确定模块, 用于在所述第一确定模块确定从所述第一组播组的多个 组播成员接收到的请求重传所述第一数据报文的多个单播重传请求的数量是 否大于或等于预设阔值之前, 确定预设统计周期是否到达, 并在确定所述预 设统计周期到达后, 触发所述第一确定模块执行确定从所述第一组播组的多 个组播成员接收到的请求重传所述第一数据报文的多个单播重传请求的数量 是否大于或等于预设阔值的操作。

11、 根据权利要求 8或 9所述的组播服务器, 其特征在于, 所述第一数 据报文为视频报文, 所述单播重传请求包括所述视频报文的序列号和所述视 频才艮文对应的频道信息。

12、 根据权利要求 11所述的组播服务器, 其特征在于, 所述第一确定模 块具体用于根据从所述单播重传请求中获取的所述视频报文的序列号和所述 频道信息, 获取所述第一组播组的多个组播成员请求重传所述视频报文的多 个单播重传请求的数量, 然后将所述数量与所述预设阔值进行比较, 以确定 所述数量是否大于或等于所述预设阔值。

13、 一种用户终端, 其特征在于, 包括:

请求发送模块, 用于向组播服务器发送请求重传第一数据报文的单播重 传请求;

报文接收模块, 用于接收所述组播服务器在确定所述用户终端所在的第 一组播组的多个用户终端请求重传所述第一数据报文的多个单播重传请求的 数量大于或等于预设阔值后向所述第一组播组内的用户终端组播的所述第一 数据报文。

14、 根据权利要求 13所述的用户终端, 其特征在于, 所述报文接收模块 还用于接收所述组播服务器在确定所述第一组播组的多个用户终端请求重传 所述第一数据报文的多个单播重传请求的数量小于所述预设阔值后以单播方 式向所述用户终端发送的所述第一数据报文。

15、 一种数据重传系统, 其特征在于, 包括权利要求 8-12任一项所述的 组播服务器和权利要求 13或 14所述的用户终端。

Description:
数据重传方法、 系统、 组播服务器及用户终端 本申请要求于 2012 年 1 月 12 日提交中国专利局、 申请号为 CN201210008685.5 , 发明名称为 "数据重传方法、 系统、 组播服务器及用户 终端" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域 本发明涉及视频通信技术, 尤其涉及一种数据重传方法、 系统、 组播服 务器及用户终端。 背景技术 随着通信行业的发展, 网络电视(英文全称为 Internet Protocol Television, 英文缩写为 IPTV )业务的应用越来越广泛。 IPTV业务, 特别是广播电视(英 文全称为 Broadcast Television, 英文简称为 BTV )业务, 对网络的质量要求较 高, 一般要求丟包率小于 10- 7 。 丟包对视频的影响较为尖锐, 通过丟包检测及 丟包重传是目前解决这一问题的可行办法。

丟包重传的过程包括: 当网络发生丟包时, 用户终端会向视频质量增强

(英文全称为 Video Quality Enhancement,英文缩写为 VQE )服务器发送丟包 重传请求。 VQE服务器接到丟包重传请求之后, 查询视频数据緩存区获取相 应的视频报文, 然后将获取的视频报文以单播的形式发送给用 户终端。 其中,

VQE服务器可以是路由器, 用户终端可以是用户机顶盒。

通常一个 VQE服务器会下挂几千个用户终端, 如果有大量用户终端向 VQE 服务器发送请求相同视频报文的丟包重传请求 , VQE服务器就得针对这些丟包 重传请求, 以单播方式分别向这些不同的用户终端发送相 同的视频报文, 这 不但增加了 VQE服务器的负担, 还有可能导致下行网络的流量拥塞。

发明内容 本发明的一方面提供一种数据重传方法、 系统、 组播服务器及用户终端, 用以减轻 VQE服务器的负担, 降低下行网络发生流量拥塞的几率。 本发明一方面提供一种数据重传方法, 包括:

组播服务器接收第一组播组中的第一组播成员 发送的请求重传第一数据 报文的单播重传请求;

所述组播服务器确定从所述第一组播组的多个 组播成员接收到的请求重 传所述第一数据报文的多个单播重传请求的数 量是否大于或等于预设阔值; 所述组播服务器在确定所述数量大于或等于所 述预设阔值后, 向所述第 一组播组内的组播成员组播所述第一数据报文 ;

其中, 所述组播服务器在确定所述数量大于或等于所 述预设阔值后, 在 第一预设时间段内, 对从所述第一组播组的组播成员接收到的请求 重传所述 第一数据报文的单播重传请求不进行响应。

本发明一方面还提供一种组播服务器, 包括:

请求接收模块, 用于接收第一组播组中的第一组播成员发送的 请求重传 第一数据报文的单播重传请求;

第一确定模块, 用于确定从所述第一组播组的多个组播成员接 收到的请 求重传所述第一数据报文的多个单播重传请求 的数量是否大于或等于预设阔 值;

重传处理模块, 用于在所述第一确定模块确定出所述数量大于 或等于所 述预设阔值后, 向所述第一组播组内的组播成员组播所述第一 数据报文, 并 在第一预设时间段内, 对从所述第一组播组的组播成员接收到的请求 重传所 述第一数据报文的单播重传请求不进行响应。

本发明另一方面提供一种数据重传方法, 包括:

第一组播组中的第一组播成员向组播服务器发 送请求重传第一数据报文 的单播重传请求;

所述第一组播成员接收所述组播服务器在确定 所述第一组播组的多个组 播成员请求重传所述第一数据报文的多个单播 重传请求的数量大于或等于预 设阔值后向所述第一组播组内的组播成员组播 的所述第一数据报文。

本发明另一方面还提供一种用户终端, 包括:

请求发送模块, 用于向组播服务器发送请求重传第一数据报文 的单播重 传请求;

报文接收模块, 用于接收所述组播服务器在确定所述用户终端 所在的第 一组播组的多个用户终端请求重传所述第一数 据报文的多个单播重传请求的 数量大于或等于预设阔值后向所述第一组播组 内的用户终端组播的所述第一 数据报文。

本发明又一方面提供一种数据重传系统, 包括本发明一方面提供的任一 组播服务器和本发明另一方面提供的任一用户 终端。

本发明一方面提供的数据重传方法及组播服务 器, 组播服务器通过对同 一组播组的多个组播成员请求重传同一数据报 文的单播重传请求进行累加, 并在请求同一数据报文的单播重传请求的数量 大于或等于预设阔值后, 向该 组播组内的组播成员组播该数据报文, 并在预设时间段内对来自该组播组的 组播成员请求重传该数据报文的单播重传请求 不进行响应, 减少了组播服务 器的应答, 减轻了组播服务器的负担, 提高了组播服务器的处理性能, 并且 有利于降低下行网络发生流量拥塞的几率。

本发明另一方面提供的数据重传方法及用户终 端, 处于组播组内的用户 终端在发生丟包时向组播服务器发送单播重传 请求, 以请求组播服务器重传 丟掉的数据报文, 通过接收组播服务器在确定用户终端所在组播 组的多个用 户终端请求重传该数据报文的单播重传请求的 数量大于或等于预设阔值后以 组播方式向该组播组内的用户终端发送的该数 据报文, 解决了丟包重传的问 题, 由于支持组播服务器以组播方式发送数据报文 , 有利于减轻组播服务器 的负担和降低下行网络发生流量拥塞的几率。

本发明又一方面提供的数据重传系统, 包括本发明提供的组播服务器和 用户终端, 同样解决了丟包重传的问题, 减轻了组播服务器的负担和降低下 行网络发生流量拥塞的几率。

附图说明 为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一 简单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在 不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1为本发明一实施例提供的数据重传方法的流 图;

图 2为本发明另一实施例提供的数据重传方法的 程图;

图 3为本发明另一实施例提供的数据重传方法的 程图;

图 4为本发明一实施例提供的组播服务器的结构 意图;

图 5为本发明另一实施例提供的组播服务器的结 示意图;

图 6为本发明一实施例提供的用户终端的结构示 图;

图 7为本发明一实施例提供的数据重传系统的结 示意图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前 提下所获 得的所有其他实施例, 都属于本发明保护的范围。

图 1为本发明一实施例提供的数据重传方法的流 图。 如图 1所示, 本 实施例的方法包括:

步骤 101、组播服务器接收第一组播组中的第一组播 成员发送的请求重传 第一数据报文的单播重传请求。

在本实施例中, 每个组播组中的组播成员可以是用户终端, 例如机顶盒、 个人电脑、 移动通信终端等。

在实际应用中, 当组播组中的组播成员发现有数据报文丟失时 , 以单播 方式向组播服务器发送请求重传丟失的数据报 文的重传请求。 组播服务器接 收组播成员发送的单播重传请求, 并准备进行数据报文的重传。

本实施例以第一组播组内的第一组播成员发送 单播重传请求为例进行说 明。

步骤 102、组播服务器确定从第一组播组的多个组播 成员接收到的请求重 传第一数据报文的多个单播重传请求的数量是 否大于或等于预设阔值。 如果 确定结果为是, 执行步骤 103。

优选地, 如果确定结果为否, 执行步骤 104。 需要特别指出的是, 本实施 步骤。 在本实施例中, 组播服务器在所述确定结果为否的情况下也可 以不发 送第一数据报文。

在本实施例中, 组播服务器每接收到一个单播重传请求, 就统计来自第 一组播组内的多个组播成员的请求重传同一数 据报文(即第一数据报文) 的 单播重传请求的数量。 例如, 组播服务器可以根据单播重传请求中携带的请 求重传的数据报文的标识来识别多个单播重传 请求是否是请求重传同一数据 报文的单播重传请求。

在获取到来自第一组播组的多个组播成员请求 重传同一数据报文的单播 重传请求的数量后, 组播服务器通过将获取的数量与预设阈值进行 比较来确 定是否有大量用户请求重传同一数据报文。 如果比较结果为获取的数量大于 或等于预设阔值, 说明当前请求重传同一数据报文的用户数量较 多, 反之, 说明当前请求重传同一数据报文的用户数量较 少。

步骤 103、组播服务器向第一组播组内的组播成员组 播第一数据报文, 并 在第一预设时间段内, 对从第一组播组的组播成员接收到的请求重传 第一数 据报文的单播重传请求不进行响应。

当组播服务器确定出当前请求重传同一数据报 文的用户数量较多时, 为 了解决以单播方式向每个用户发送数据报文造 成的资源浪费和负担较重的问 题, 本实施例的组播服务器以组播方式向第一组播 组内的组播成员发送该数 据报文, 并进行响应, 从而减少了组播服务器的响应次数, 减轻了组播服务 器的负担。

在此说明, 本实施例所述的组播服务器在预设第一时间段 内不再对来自 第一组播组内的组播成员请求重传该数据报文 的单播重传请求进行响应是指 在组播该数据报文后的第一时间段内, 组播服务器既不以单播方式向发送单 播重传请求的第一组播组内的组播成员发送该 数据报文, 也不会以组播方式 向第一组播组内的组播成员发送该数据报文, 但在该第一时间段内, 组播服 务器可以重新开始统计第一组播组内的组播成 员请求重传该数据报文的单播 重传请求的数量。

其中, 第一时间段可以根据实际应用场景进行设置, 本实施例对其具体 值不做限定。 在实际实现上, 组播服务器可以通过计数器或定时器来对第一 时间段进行计时。

步骤 104、 组播服务器以单播方式向第一组播成员发送第 一数据报文。 当组播服务器确定出当前请求重传同一数据报 文的用户较少时, 组播服 务器仍以单播方式对各组播成员的单播重传请 求进行响应, 即组播服务器以 单播方式向第一组播成员发送请求重传的数据 报文, 同时也会向其他请求重 传该数据报文的组播成员以单播方式发送该数 据报文。

另外, 组播数据报文会继续统计第一组播组中组播成 员请求重传该数据 报文的单播重传请求的数量, 直到统计到的数量大于或等于预设阔值时以组 播方式进行响应。

优选地, 在所述组播服务器确定从所述第一组播组的多 个组播成员接收 到的请求重传所述第一数据报文的多个单播重 传请求的数量是否大于或等于 预设阔值之前, 本实施例的方法还可以包括: 所述组播服务器确定预设统计 周期是否到达; 所述组播服务器在确定所述预设统计周期到达 后, 执行确定 从所述第一组播组的多个组播成员接收到的请 求重传所述第一数据报文的多 个单播重传请求的数量是否大于或等于预设阔 值的操作。

优选地, 在本实施例中, 所述第一数据报文为视频报文, 所述单播重传 请求包括所述视频报文的序列号和所述视频报 文对应的频道信息。

当所述第一数据报文为视频报文时, 所述组播服务器确定从所述第一组 播组的多个组播成员接收到的请求重传所述第 一数据报文的多个单播重传请 求的数量是否大于或等于预设阔值包括: 所述组播服务器根据从所述单播重 传请求中获取的所述视频报文的序列号和所述 频道信息, 获取所述第一组播 组的多个组播成员请求重传所述视频报文的多 个单播重传请求的数量; 所述 组播服务器将所述数量与所述预设阔值进行比 较, 以确定所述数量是否大于 或等于所述预设阔值。

在本实施例中, 组播服务器通过对组播组内多个组播成员请求 重传同一 数据报文的单播重传请求进行统计, 并在请求重传同一数据报文的单播重传 请求的数量大于或等于预设阔值时, 以组播方式发送组播成员请求重传的数 据报文以对单播重传请求进行响应, 然后在预设第一时间段内不再响应该组 播组内的组播成员发送的请求重传该数据报文 的单播重传请求, 减少了组播 服务器的应答, 减轻了组播服务器的负担, 提高了组播服务器的处理性能, 并且有利于降低下行网络发生流量拥塞的几率 。

由于视频业务是组播技术的一个主要应用领域 , 因此本实施例下面重点 以视频业务中第一数据报文的重传为例进行说 明。 在视频业务中, 组播成员 请求重传的第一数据报文可以是指视频报文。 相应的, 单播重传请求包括组 播成员请求重传的视频报文的序列号和视频报 文对应的频道信息。

目前, 视频业务可以基于实时传送协议(英文全称为 Real-time Transport Protocol,英文缩写为 RTP ^oRTP控制协议(英文全称为 RTP Control Protocol, 英文缩写为 RTCP )协议进行传输。 RTCP报文用于传输控制报文, 例如本实 施例的单播重传请求可以是 RTCP报文。 RTP报文可以用于传输视频数据, 例如视频报文可以是 RTP报文。 其中, 每个 RTP报文都携带有一个序列号, 该序列号一方面使接收方重新组织发送方发送 的视频数据的序列, 另一方面 也可以用于定位视频数据在整个视频流中的位 置。 在视频业务过程中, 如果 接入网络发生故障或流量拥塞导致视频报文丟 失(即丟包) 时, 组播组中的 组播成员可以根据视频报文中的序列号发现并 识别出丟掉的视频报文。

在发现视频报文丟失后, 组播组中的组播成员会请求组播服务器重新传 送丟失的视频报文。 本实施例以第一组播组中的第一组播成员发送 单播重传 请求为例。 具体的, 第一组播组中的第一组播成员将请求重传的视 频报文的 序列号和该视频报文对应的频道信息封装在单 播重传请求中, 然后将单播重 传请求发送给组播服务器, 以请求组播服务器重传该视频报文。

组播服务器接收第一组播组中第一组播成员发 送的单播重传请求, 对接 收到的单播重传请求进行解析, 获取单播重传请求中的视频报文的序列号和 对应的频道信息。 组播服务器还会记录第一组播成员请求重传的 视频报文的 序列号和对应的频道信息, 这样组播服务器可以确定来自组播组内的不同 组 播成员请求重传的是否为同一视频报文。 其中, 视频报文的序列号和视频报 文对应的频道信息可以唯一确定一个视频 ^艮文。

当组播服务器从第一组播成员发送的单播重传 请求中获取第一组播成员 请求重传的视频报文的序列号和频道信息后, 组播服务器根据从第一组播成 员发送的单播重传请求中获取的序列号和频道 信息, 获取从第一组播组的多 个组播成员接收到的请求重传该视频报文的单 播重传请求的数量, 将获取的 数量与预设阔值进行比较, 确定获取的数量是否大于或等于预设阔值。 在实 际实现上, 组播服务器可以为该视频报文设置一个丟包重 传请求数, 当接收 到第一组播组内的组播成员请求重传该视频报 文的单播重传请求时就将该视 频才艮文对应的丟包重传请求数加 1 ,从而得到来自同一组播组内多个组播成员 请求重传同一视频报文的单播重传请求的数量 , 但并不限于此。 是指请求重传同一视频报文的单播重传请求个 数的上限值。 该预设阔值在一 定程度上可以反映发生故障或流量拥塞的网络 层次的高低。 如果当前请求重 传某一视频报文的单播重传请求的数量大于或 等于该预设阔值, 说明有大量 用户 (一个用户对应第一组播组内的一个组播成员 )请求组播服务器重传该 视频报文, 说明发生故障或流量拥塞的网络层次较高, 反之, 说明发生故障 或网络拥塞的网络层次较低。 因为通常网络层次越高, 所下挂的用户数量就 会越多, 影响范围也就越广。

如果发生故障或流量拥塞的网络层次较高, 也就意味着会有大量用户请 求组播服务器重传同一视频 4艮文。 例如, 4叚设网络中的一台下挂 5000个用户 的路由设备发生故障导致视频报文丟失, 同时假设预先设置的阔值为 600 , 则 组播服务器接收到其中 600个用户发送的单播重传请求后, 还有可能会接收 到其他用户发送的单播重传请求。 如果组播服务器仍以现有技术的方式以单 播方式向每个用户发送相同的视频报文, 不仅增加了组播服务器的负担, 还 有可能导致下行网络的流量拥塞。

针对上述问题, 本实施例的组播服务器在确定出第一组播组内 的多个组 播成员请求重传的视频报文的多个单播重传请 求的数量(即丟包重传请求数) 大于或等于预设阔值时, 亦即识别出发生故障或流量拥塞的网络层次较 高时, 停止单播响应方式, 以组播方式将该视频 ^艮文发送给第一组播组内的所有组 播成员, 并且组播服务器开始对预设的第一时间段进行 计时, 在计时结束前 不再对第一组播组内的组播成员发送的请求该 视频报文的单播重传请求进行 响应。 这样相当于组播服务器在第一时间段内仅发送 一次该视频报文, 减少 了组播服务器发送视频报文的次数, 从而减轻了组播服务器的负担。 其中, 第一时间段可以根据实际情况进行适应性设置 , 本实施例并不限制其具体值。 例如可以设置该第一时间段为 5 秒钟等。 其中, 对于第一组播组内丟失该视 频报文的组播成员来说, 在收到组播服务器组播的视频报文后, 将对数据緩 存区进行重排, 保证数据的连续性。 对于第一组播组内没有丟失该视频报文 的组播成员来说, 因为组播成员可以容忍视频报文的重复, 所以可以直接将 重复的视频报文丟弃, 不会对其造成影响。

另外, 如果组播服务器确定出第一组播组内的多个组 播成员请求重传该 视频报文的多个单播重传请求的数量(即丟包 重传请求数) 小于预设阔值, 则组播服务器会以单播方式向第一组播成员发 送请求重传的视频报文。 另外, 组播服务器还会继续接收第一组播组内的组播 成员发送的请求重传该视频报 文的单播重传请求, 并会继续对单播重传请求进行统计, 同时还会以单播方 式向请求重传该视频 文的其他组播成员发送该视频^艮文, 不会对其他组播 成员的单播重传请求造成影响。

具体的, 组播服务器可以根据从单播重传请求中获取的 视频报文的序列 号和频道信息, 从视频数据緩存区中找到相应的视频数据并生 成视频报文, 然后将视频报文以组播方式发送给第一组播组 内的各组播成员, 或者以单播 方式发送给第一组播组内的第一组播成员或其 他请求重传该视频才艮文的组播 成员, 实现丟包重传。

另外, 在本实施例的整个处理过程中, 服务器会根据视频报文的序列号 和频道信息对该频道的该视频传输进行处理, 而不会影响该频道的其他或者 其他频道的会话。

图 2为本发明另一实施例提供的数据重传方法的 程图。 如图 2所示, 本实施例的方法包括:

步骤 201、组播服务器接收第一组播组中的第一组播 成员发送的请求重传 第一数据报文的单播重传请求。

本步骤 201可参见步骤 101 以及上述视频业务中数据报文重传流程中的 描述, 在此不再赘述。

步骤 202、 组播服务器确定预设统计周期是否到达; 如果确定结果为是, 即组播服务器确定预设统计周期到达, 则执行步骤 203; 如果确定结果为否, 即组播服务器确定预设统计周期未到达, 则执行步骤 206。

在本实施例中, 组播服务器预先设定统计周期, 用于在一定时间内对第 一组播组内的多个组播成员请求重传同一数据 报文的单播重传请求进行统 计。 其中, 统计周期可以根据实际应用进行适应性设置, 本实施例不做限定。 例如, 可以设置该统计周期为 3秒钟。

具体的, 组播服务器可以启动一定时器, 用来对统计周期进行计时, 并 通过确定定时器的定时时间是否结束来确定统 计周期是否到达。 如果定时器 定时结束, 说明统计周期到达, 如果定时器定时未结束, 说明统计周期未到 达。 其中, 为了持续对请求重传视频报文的丟包重传请求 报文进行计数累加, 在定时器定时结束时, 可以重新启动定时器。

步骤 203、组播服务器确定从第一组播组的多个组播 成员接收到的请求重 传第一数据报文的多个单播重传请求的数量是 否大于或等于预设阔值。 如果 确定结果为否, 执行步骤 204。 如果确定结果为是, 执行步骤 205。

步骤 203可参见步骤 102 以及上述视频业务中数据报文重传流程中的描 述, 在此不再赘述。

步骤 204、组播服务器将从第一组播组的多个组播成 员接收到的请求重传 第一数据报文的多个单播重传请求的数量清 0, 并执行步骤 206。

在本实施例中, 如果统计周期到达, 即使第一组播组内的多个组播成员 请求重传该数据报文的单播重传请求的数量小 于预设阈值, 组播服务器也会 将从第一组播组的多个组播成员接收到的请求 重传第一数据报文的多个单播 重传请求的数量清 0 ,以便于重新在下一个统计周期内对第一组播 内的组播 成员请求重传该数据报文的单播重传请求进行 统计。 同时, 组播服务器仍会 以单播方式对第一组播成员请求重传该视频报 文的单播重传请求进行响应。 即组播服务器会执行步骤 206以重新开始下一个统计周期。

步骤 205、组播服务器向第一组播组内的组播成员组 播第一数据报文, 并 在第一预设时间段内, 对从第一组播组的组播成员接收到的请求重传 第一数 据报文的单播重传请求不进行响应。

其中, 步骤 205可参见步骤 103 以及上述视频业务中数据报文重传流程 中的描述, 在此不再赘述。

在此需要说明, 在预设第一时间段内, 组播服务器可以接收第一组播组 内其他组播成员发送的请求该数据报文的单播 重传请求, 但并不进行响应。 当第一时间段结束后, 组播服务器会重新启动统计周期, 重新对第一组播组 内的组播成员请求重传同一数据报文的单播重 传请求进行统计, 并且在统计 周期到达之前, 或者在统计周期到达但第一组播组内的多个组 播成员请求重 传该数据报文的多个单播重传请求的数量小于 预设阔值的条件下, 仍以单播 方式进行响应。

步骤 206、组播服务器以单播方式向第一组播成员发 送第一数据报文, 并 继续接收第一组播组内的组播成员发送的请求 重传第一数据报文的单播重传 请求, 并返回执行步骤 202。

如果从步骤 202转到步骤 206, 说明统计周期未到达。

如果从步骤 204转到步骤 206,说明组播服务器从第一组播组的多个组播 成员接收到的请求重传该数据报文的单播重传 请求的数量小于预设阔值。

在上述两种情况下, 组播服务器以单播方式向第一组播成员发送该 数据 报文。 并且, 组播服务器还会继续接收第一组播组内其他组 播成员发送的请 求重传该数据报文的单播重传请求报文, 并以单播方式进行响应, 直到统计 周期到达, 且从第一组播组内的多个组播成员接收到的请 求重传该数据报文 的单播重传请求的数量大于或等于预设阔值时 再以组播方式进行响应。

在本实施例中, 组播服务器通过设置统计周期实现在一定时间 内对第一 组播组内的多个组播成员请求重传同一视频报 文的单播重传请求进行统计, 更加符合实际应用场景, 能够更加及时的釆用组播方式进行响应, 进一步减 轻了组播服务器的负担。

图 3为本发明另一实施例提供的数据重传方法的 程图。 如图 3所示, 本实施例的方法包括:

步骤 301、第一组播组中的第一组播成员向组播服务 器发送请求重传第一 数据报文的单播重传请求。

本实施例是从第一组播成员 (或者说用户终端) 的角度描述数据重传的 过程。 可选地具体的, 第一组播组内的第一组播成员在发现第一数据 报文丟 失后, 会请求组播服务器重新传送丟失的第一数据报 文。 可选地具体的, 用 户终端生成单播重传请求, 将单播重传请求发送给组播服务器, 以请求组播 服务器重传该数据报文。

组播服务器接收到第一组播成员发送的单播重 传请求后, 统计来自第一 组播组内的多个组播成员的请求重传第一数据 报文的单播重传请求的数量。 例如, 组播服务器可以根据单播重传请求中携带的请 求重传的数据报文的标 识来识别多个单播重传请求是否是请求重传同 一数据报文的单播重传请求。

在获取到来自第一组播组的多个组播成员请求 重传第一数据报文的单播 重传请求的数量后, 组播服务器通过将获取的数量与预设阈值进行 比较来确 定是否有大量用户请求重传同一数据报文。 如果比较结果为获取的数量大于 或等于预设阔值, 说明当前请求重传同一数据报文的用户数量较 多, 反之, 说明当前请求重传同一数据报文的用户数量较 少。

当组播服务器确定出当前请求重传同一数据报 文的用户数量较多时, 为 了解决以单播方式向每个用户发送数据报文造 成的资源浪费和负担较重的问 题, 组播服务器以组播方式向第一组播组内的组播 成员发送该数据报文, 并 进行响应, 从而减少了组播服务器的响应次数, 减轻了组播服务器的负担。

其中, 当第一数据报文是视频业务中的视频报文时, 单播重传请求报文 包括视频报文的序列号和对应的频道信息。

组播服务器接收到第一组播组内的第一组播成 员发送的单播重传请求 后, 会对接收到的单播重传请求进行解析, 获取单播重传请求中的视频报文 的序列号和对应的频道信息。 其中, 组播服务器还可以记录第一组播成员请 求重传的视频报文的序列号和对应的频道信息 。

可选地, 组播服务器根据从第一组播成员发送的单播重 传请求中获取的 序列号和频道信息, 获取第一组播组内的多个组播成员请求重传该 视频报文 的多个单播重传请求的数量, 并将获取的数量与预设阈值进行比较。 在本实 施例中, 组播服务器会对每个视频报文的重传请求进行 计数累加, 以记录第 一组播组内的多个组播成员请求重传同一视频 报文的单播重传请求的个数。 如果第一组播组内的多个组播成员请求重传该 视频报文的单播重传请求的数 量大于或等于预设阔值, 组播服务器就会以组播方式向第一组播组内的 所有 组播成员发送该视频报文, 并会在预设第一时间段内不再对第一组播组中 其 他组播成员发送的请求重传该视频报文的单播 重传请求进行响应。

可选地, 组播服务器可以根据从单播重传请求中获取的 序列号和频道信 息, 从视频数据緩存区中找到相应的视频数据并生 成视频报文, 然后将视频 报文以组播方式发送给第一组播组内的组播成 员, 实现丟包重传。

步骤 302、第一组播成员接收组播服务器在确定第一 组播组的多个组播成 员请求重传所述第一数据报文的多个单播重传 请求的数量大于或等于预设阔 值后向第一组播组内的组播成员组播的第一数 据报文。

基于上述内容, 本实施例的第一组播成员需要接收组播服务器 以组播方 式发送的第一数据报文。

第一组播成员在接收到组播服务器以组播方式 发送的第一数据报文后, 将对数据緩存区进行重排, 保证数据的连续性。

优选地, 当组播服务器确定从第一组播组的多个组播成 员接收到的请求 重传第一数据报文的多个单播重传请求的数量 小于预设阔值后, 会以单播方 式向第一组播成员发送第一数据报文, 即以单播方式响应第一组播成员的单 播重传请求。 因此, 本实施例的第一组播成员还会接收服务器以单 播方式发 送的第一数据报文。

在本实施例中, 第一组播成员支持组播服务器以组播方式发送 数据报文, 为组播服务器以组播方式发送数据报文并在发 送之后一段时间内不再对第一 组播组内的组播成员发送的请求重传同一数据 报文的其他单播重传请求进行 响应打下了基础, 为减轻组播服务器的负担和降低下行网络发生 流量拥塞的 几率做出了贡献, 有利于降低下行网络发生流量拥塞的几率。

图 4为本发明一实施例提供的组播服务器的结构 意图。 如图 4所示, 本实施例的服务器包括: 请求接收模块 41、 第一确定模块 42和重传处理模块 43。

其中, 请求接收模块 41 , 用于接收第一组播组中的第一组播成员发送的 请求重传第一数据报文的单播重传请求。 第一确定模块 42 , 与请求接收模块 41连接,用于确定请求接收模块 41从第一组播组的多个组播成员接收到的请 求重传第一数据报文的多个单播重传请求的数 量是否大于或等于预设阔值。 重传处理模块 43 , 与第一确定模块 42连接, 用于在第一确定模块 42确定出 所述数量大于或等于预设阔值后, 向第一组播组内的组播成员组播第一数据 报文, 并在第一预设时间段内, 对从第一组播组的组播成员接收到的请求重 传第一数据报文的单播重传请求不进行响应。

本实施例的组播服务器的各功能模块可用于执 行图 1 所示数据重传方法 的流程, 其具体工作原理不再赘述, 详见方法实施例的描述。

本实施例的组播服务器可以是 VQE服务器, 也可以是其他类型的组播服 务器。 并且, 所述组播服务器既可以是硬件组播服务器, 也可以是集成了组 播服务器功能的路由器或者其他网络设备。

本实施例的组播服务器, 通过对同一组播组的多个组播成员请求重传同 一数据报文的单播重传请求进行累加, 并在请求同一数据报文的单播重传请 求的数量大于或等于预设阔值后, 向该组播组内的组播成员组播该数据报文, 并在预设时间段内对来自该组播组的组播成员 请求重传该数据报文的单播重 传请求不进行响应, 减少了组播服务器的应答, 减轻了组播服务器的负担, 提高了组播服务器的处理性能, 并且有利于降低下行网络发生流量拥塞的几 率。

图 5 为本发明另一实施例提供的组播服务器的结构 示意图。 本实施例基 于图 4所示实施例实现, 本实施例中的组播组播服务器包括了所述请求 接收 模块 41、 第一确定模块 42和重传处理模块 43。 如图 5所示, 本实施例的组 播服务器还包括: 第二确定模块 44。

第二确定模块 44, 与第一确定模块 42连接, 用于在第一确定模块 42确 定从第一组播组的多个组播成员接收到的请求 重传第一数据报文的多个单播 重传请求的数量是否大于或等于预设阔值之前 , 确定预设统计周期是否到达, 并在确定预设统计周期到达后, 触发第一确定模块 42执行确定从第一组播组 的多个组播成员接收到的请求重传第一数据报 文的多个单播重传请求的数量 是否大于或等于预设阔值的操作。

进一步, 本实施例的重传处理模块 43还用于在第一确定模块 42确定出 数量小于预设阔值后, 以单播方式向第一组播成员发送第一数据报文 。 其中, 本实施例的第一数据报文可以为视频业务中的 视频报文, 所述单 播重传请求包括视频报文的序列号和视频报文 对应的频道信息。

基于此, 本实施例的第一确定模块 42具体用于根据从单播重传请求中获 取的视频报文的序列号和频道信息, 获取第一组播组的多个组播成员请求重 传视频报文的多个单播重传请求的数量, 然后将所获取的数量与预设阔值进 行比较, 以确定数量是否大于或等于预设阔值。

上述各功能模块或单元可用于执行图 3 所示视频报文重传方法中的相应 流程, 其具体工作原理不再赘述, 详见方法实施例的描述。

本实施例的组播服务器, 通过对同一组播组的多个组播成员请求重传同 一数据报文的单播重传请求进行累加, 并在请求同一数据报文的单播重传请 求的数量大于或等于预设阔值后, 向该组播组内的组播成员组播该数据报文, 并在预设时间段内对来自该组播组的组播成员 请求重传该数据报文的单播重 传请求不进行响应, 减少了组播服务器的应答, 减轻了组播服务器的负担, 提高了组播服务器的处理性能, 并且有利于降低下行网络发生流量拥塞的几 率。

图 6为本发明一实施例提供的用户终端的结构示 图。 如图 6所示, 本 实施例的用户终端包括: 请求发送模块 61和报文接收模块 62。

其中, 请求发送模块 61 , 与组播服务器连接, 用于向组播服务器发送请 求重传第一数据报文的单播重传请求。报文接 收模块 62, 与组播服务器连接, 用于接收组播服务器在确定该用户终端所在的 第一组播组的多个用户终端请 求重传第一数据报文的多个单播重传请求的数 量大于或等于预设阔值后向第 一组播组内的用户终端组播的第一数据 4艮文。 其中, 本实施例的用户终端以 及第一组播组内的其他用户终端属于第一组播 组内的组播成员。

进一步, 报文接收模块 62还用于接收组播服务器在确定第一组播组的 个用户终端请求重传第一数据报文的多个单播 重传请求的数量小于预设阔值 后以单播方式向用户终端发送的第一数据报文 。

本实施例用户终端的各功能模块可用于执行图 3 所示数据重传方法的流 程, 其具体工作原理不再赘述, 详见方法实施例的描述。

本实施例的用户终端可以是机顶盒、 个人电脑或移动通信终端等设备。 本实施例的用户终端与本发明实施例提供的组 播服务器相配合, 在发生 丟包时向组播服务器发送单播重传请求, 以请求组播服务器重传丟掉的数据 报文, 通过接收组播服务器在确定用户终端所在组播 组的多个用户终端请求 重传该数据报文的单播重传请求的数量大于或 等于预设阔值后以组播方式向 该组播组内的用户终端发送的该数据报文, 解决了丟包重传的问题, 由于支 持组播服务器以组播方式发送数据报文, 有利于减轻组播服务器的负担和降 低下行网络发生流量拥塞的几率。

图 7为本发明一实施例提供的数据重传系统的结 示意图。 如图 7所示, 本实施例的系统包括: 组播服务器 71和用户终端 72。 其中, 用户终端 72可 以为多个, 图 7仅示出一个。

组播服务器 71可以为本发明上述实施例提供的组播服务器 其结构可参 见图 4或图 5所示实施例, 其工作原理可参见图 1或图 2所示实施例, 在此 不再赘述。

用户终端 72可以为本发明上述实施例提供的用户终端, 其结构可参见图 6所示实施例, 其工作原理可参见图 3所示, 在此不再赘述。

本实施例的数据重传系统包括本发明实施例提 供的组播服务器和用户终 端, 可用于执行本发明实施例提供的数据重传方法 的流程, 同样可以减轻组 播服务器的负担, 提高组播服务器的处理性能, 并且有利于降低下行网络发 生流量拥塞的几率。

本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算机可 读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的步骤; 而 前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码 的介质。

最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的 说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案 进行修改, 或者对其中部分或者全部技术特征进行等同替 换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例 技术方案的范围。