数据重传方法、系统、组播服务器及用户终端的制作方法

文档序号:7887107阅读:222来源:国知局
专利名称:数据重传方法、系统、组播服务器及用户终端的制作方法
技术领域
本发明涉及视频通信技术,尤其涉及一种数据重传方法、系统、组播服务器及用户终端。
背景技术
随着通信行业的发展,网络电视(英文全称为hternet 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 TransportProtocol,英文缩写为RTP)和RTP控制协议(英文全称为RTP ControlProtocol,英文缩写为RTCP)协议进行传输。RTCP报文用于传输控制报文,例如本实施例的单播重传请求可以是RTCP报文。RTP报文可以用于传输视频数据,例如视频报文可以是RTP报文。其中,每个RTP报文都携带有一个序列号,该序列号一方面使接收方重新组织发送方发送的视频数据的序列,另一方面也可以用于定位视频数据在整个视频流中的位置。在视频业务过程中,如果接入网络发生故障或流量拥塞导致视频报文丢失(即丢包) 时,组播组中的组播成员可以根据视频报文中的序列号发现并识别出丢掉的视频报文。在发现视频报文丢失后,组播组中的组播成员会请求组播服务器重新传送丢失的视频报文。本实施例以第一组播组中的第一组播成员发送单播重传请求为例。具体的,第一组播组中的第一组播成员将请求重传的视频报文的序列号和该视频报文对应的频道信息封装在单播重传请求中,然后将单播重传请求发送给组播服务器,以请求组播服务器重传该视频报文。组播服务器接收第一组播组中第一组播成员发送的单播重传请求,对接收到的单播重传请求进行解析,获取单播重传请求中的视频报文的序列号和对应的频道信息。组播服务器还会记录第一组播成员请求重传的视频报文的序列号和对应的频道信息,这样组播服务器可以确定来自组播组内的不同组播成员请求重传的是否为同一视频报文。其中,视频报文的序列号和视频报文对应的频道信息可以唯一确定一个视频报文。当组播服务器从第一组播成员发送的单播重传请求中获取第一组播成员请求重传的视频报文的序列号和频道信息后,组播服务器根据从第一组播成员发送的单播重传请求中获取的序列号和频道信息,获取从第一组播组的多个组播成员接收到的请求重传该视频报文的单播重传请求的数量,将获取的数量与预设阈值进行比较,确定获取的数量是否大于或等于预设阈值。在实际实现上,组播服务器可以为该视频报文设置一个丢包重传请求数,当接收到第一组播组内的组播成员请求重传该视频报文的单播重传请求时就将该视频报文对应的丢包重传请求数加1,从而得到来自同一组播组内多个组播成员请求重传同一视频报文的单播重传请求的数量,但并不限于此。其中,所述预设阈值可以根据实际应用情况设定相应的值,该预设阈值是指请求重传同一视频报文的单播重传请求个数的上限值。该预设阈值在一定程度上可以反映发生故障或流量拥塞的网络层次的高低。如果当前请求重传某一视频报文的单播重传请求的数量大于或等于该预设阈值,说明有大量用户(一个用户对应第一组播组内的一个组播成员)请求组播服务器重传该视频报文,说明发生故障或流量拥塞的网络层次较高,反之,说明发生故障或网络拥塞的网络层次较低。因为通常网络层次越高,所下挂的用户数量就会越多,影响范围也就越广。如果发生故障或流量拥塞的网络层次较高,也就意味着会有大量用户请求组播服务器重传同一视频报文。例如,假设网络中的一台下挂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、第一组播组中的第一组播成员向组播服务器发送请求重传第一数据报文的单播重传请求。本实施例是从第一组播成员(或者说用户终端)的角度描述数据重传的过程。可选地具体的,第一组播组内的第一组播成员在发现第一数据报文丢失后,会请求组播服务器重新传送丢失的第一数据报文。可选地具体的,用户终端生成单播重传请求,将单播重传请求发送给组播服务器,以请求组播服务器重传该数据报文。组播服务器接收到第一组播成员发送的单播重传请求后,统计来自第一组播组内的多个组播成员的请求重传第一数据报文的单播重传请求的数量。例如,组播服务器可以根据单播重传请求中携带的请求重传的数据报文的标识来识别多个单播重传请求是否是请求重传同一数据报文的单播重传请求。在获取到来自第一组播组的多个组播成员请求重传第一数据报文的单播重传请求的数量后,组播服务器通过将获取的数量与预设阈值进行比较来确定是否有大量用户请求重传同一数据报文。如果比较结果为获取的数量大于或等于预设阈值,说明当前请求重传同一数据报文的用户数量较多,反之,说明当前请求重传同一数据报文的用户数量较少。当组播服务器确定出当前请求重传同一数据报文的用户数量较多时,为了解决以单播方式向每个用户发送数据报文造成的资源浪费和负担较重的问题,组播服务器以组播方式向第一组播组内的组播成员发送该数据报文,并进行响应,从而减少了组播服务器的响应次数,减轻了组播服务器的负担。其中,当第一数据报文是视频业务中的视频报文时,单播重传请求报文包括视频报文的序列号和对应的频道信息。组播服务器接收到第一组播组内的第一组播成员发送的单播重传请求后,会对接收到的单播重传请求进行解析,获取单播重传请求中的视频报文的序列号和对应的频道信息。其中,组播服务器还可以记录第一组播成员请求重传的视频报文的序列号和对应的频 lSfn 息 ο可选地,组播服务器根据从第一组播成员发送的单播重传请求中获取的序列号和频道信息,获取第一组播组内的多个组播成员请求重传该视频报文的多个单播重传请求的数量,并将获取的数量与预设阈值进行比较。在本实施例中,组播服务器会对每个视频报文的重传请求进行计数累加,以记录第一组播组内的多个组播成员请求重传同一视频报文的单播重传请求的个数。如果第一组播组内的多个组播成员请求重传该视频报文的单播重传请求的数量大于或等于预设阈值,组播服务器就会以组播方式向第一组播组内的所有组播成员发送该视频报文,并会在预设第一时间段内不再对第一组播组中其他组播成员发送的请求重传该视频报文的单播重传请求进行响应。
可选地,组播服务器可以根据从单播重传请求中获取的序列号和频道信息,从视频数据缓存区中找到相应的视频数据并生成视频报文,然后将视频报文以组播方式发送给第一组播组内的组播成员,实现丢包重传。步骤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,与组播服务器连接,用于接收组播服务器在确定该用户终端所在的第一组播组的多个用户终端请求重传第一数据报文的多个单播重传请求的数量大于或等于预设阈值后向第一组播组内的用户终端组播的第一数据报文。 其中,本实施例的用户终端以及第一组播组内的其他用户终端属于第一组播组内的组播成员O进一步,报文接收模块62还用于接收组播服务器在确定第一组播组的多个用户终端请求重传第一数据报文的多个单播重传请求的数量小于预设阈值后以单播方式向用户终端发送的第一数据报文。本实施例用户终端的各功能模块可用于执行图3所示数据重传方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例的用户终端可以是机顶盒、个人电脑或移动通信终端等设备。本实施例的用户终端与本发明实施例提供的组播服务器相配合,在发生丢包时向组播服务器发送单播重传请求,以请求组播服务器重传丢掉的数据报文,通过接收组播服务器在确定用户终端所在组播组的多个用户终端请求重传该数据报文的单播重传请求的数量大于或等于预设阈值后以组播方式向该组播组内的用户终端发送的该数据报文,解决了丢包重传的问题,由于支持组播服务器以组播方式发送数据报文,有利于减轻组播服务器的负担和降低下行网络发生流量拥塞的几率。图7为本发明一实施例提供的数据重传系统的结构示意图。如图7所示,本实施例的系统包括组播服务器71和用户终端72。其中,用户终端72可以为多个,图7仅示出一个。组播服务器71可以为本发明上述实施例提供的组播服务器,其结构可参见图4或图5所示实施例,其工作原理可参见图1或图2所示实施例,在此不再赘述。用户终端72可以为本发明上述实施例提供的用户终端,其结构可参见图6所示实施例,其工作原理可参见图3所示,在此不再赘述。本实施例的数据重传系统包括本发明实施例提供的组播服务器和用户终端,可用于执行本发明实施例提供的数据重传方法的流程,同样可以减轻组播服务器的负担,提高组播服务器的处理性能,并且有利于降低下行网络发生流量拥塞的几率。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
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所述的用户终端。
全文摘要
本发明实施例提供一种数据重传方法、系统、组播服务器及用户终端。其中,一种方法包括接收第一组播组中的第一组播成员发送的请求重传第一数据报文的单播重传请求;确定从第一组播组的多个组播成员接收到的请求重传第一数据报文的多个单播重传请求的数量是否大于或等于预设阈值;在确定所述数量大于或等于预设阈值后,向第一组播组内的组播成员组播所述第一数据报文,并在第一预设时间段内,对从第一组播组的组播成员接收到的请求重传第一数据报文的单播重传请求不进行响应。本发明技术方案可以减轻服务器的负担,有利于降低下行网络发生流量拥塞的几率。
文档编号H04N21/6405GK102547386SQ20121000868
公开日2012年7月4日 申请日期2012年1月12日 优先权日2012年1月12日
发明者杨帆 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1