CN106488169B - 一种数据传输的方法、系统以及相关设备 - Google Patents

一种数据传输的方法、系统以及相关设备 Download PDF

Info

Publication number
CN106488169B
CN106488169B CN201510543206.3A CN201510543206A CN106488169B CN 106488169 B CN106488169 B CN 106488169B CN 201510543206 A CN201510543206 A CN 201510543206A CN 106488169 B CN106488169 B CN 106488169B
Authority
CN
China
Prior art keywords
client
audio
video
data
video data
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.)
Active
Application number
CN201510543206.3A
Other languages
English (en)
Other versions
CN106488169A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510543206.3A priority Critical patent/CN106488169B/zh
Priority to KR1020177034557A priority patent/KR101972692B1/ko
Priority to JP2017555357A priority patent/JP6389573B2/ja
Priority to PCT/CN2016/083482 priority patent/WO2017036194A1/zh
Publication of CN106488169A publication Critical patent/CN106488169A/zh
Priority to US15/709,283 priority patent/US10044978B2/en
Priority to US16/024,102 priority patent/US10277865B2/en
Application granted granted Critical
Publication of CN106488169B publication Critical patent/CN106488169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/148Interfacing a video terminal to a particular transmission medium, e.g. ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种数据传输的方法、系统以及相关设备,方法包括:中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;中转设备将音视频数据转发至处于目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于目标频道中的扩散代理设备;扩散代理设备连接有处于目标频道中且不具有音视频上行权限的至少一个第二客户端;扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将音视频数据转发至各第二客户端;各第二客户端的网络质量信息是由扩散代理设备预先收集得到的。采用本发明,可保证超大规模的音视频通话服务系统的稳定性。

Description

一种数据传输的方法、系统以及相关设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据传输的方法、系统以及相关设备。
背景技术
随着在线教育、秀场主播、游戏直播等业务的繁荣与发展,多人实时音视频通话服务后台也承受着越来越大的压力。例如,目前的基于IM/社交工具群组关系的实时多人音视频通话服务,虽然实时性好、网络质量控制细腻,但是该服务中的网络控制策略系统通常需要根据每个参与用户的状况做大量集中式的实时运算,资源消耗会随着参与用户数量的增加线性增长;其次,为了保障良好的通话体验,这类服务通常会有频繁的全员通知(如人员进出、视频源切换、上/下麦等),音视频房间规模的扩大通常也意味着这些通知数量的线性增长;最后,此类服务的网络控制策略系统和数据中转系统之间通常需要维持全量/增量的数据同步以确保房间内用户状态信息的一致性,因此,当存在超大规模音视频房间的情况下,极易形成后台性能瓶颈,特别在出现局部故障时,超大规模音视频房间的集中式扩散效应会进一步加重故障的影响范围,最终导致整个系统服务不稳定。
发明内容
本发明实施例提供一种数据传输的方法、系统以及相关设备,可保证超大规模的音视频通话服务系统的稳定性。
本发明第一方面提供了一种数据传输的方法,包括:
中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
本发明第二方面提供了一种数据传输的方法,包括:
中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
其中,所述至少一个第二客户端是与所述扩散代理设备相连接、处于所述目标频道且不具有音视频上行权限的客户端;
所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
本发明第三方面提供了一种数据传输的方法,包括:
扩散代理设备接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
本发明第四方面提供了一种中转设备,包括:
中转接收模块,用于接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
中转发送模块,用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
其中,所述至少一个第二客户端是与所述扩散代理设备相连接、处于所述目标频道且不具有音视频上行权限的客户端;
所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
本发明第五方面提供了一种扩散代理设备,包括:
代理接收模块,用于接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
代理发送模块,用于根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
本发明第六方面提供了一种数据传输的系统,包括第四方面所述的中转设备以及第五方面所述的扩散代理设备。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络架构示意图;
图2是本发明实施例提供的一种数据传输的方法的流程示意图;
图3是本发明实施例提供的一种数据传输的方法的时序示意图;
图4是本发明实施例提供的另一种数据传输的方法的流程示意图;
图5是本发明实施例提供的又一种数据传输的方法的流程示意图;
图6是本发明实施例提供的又一种数据传输的方法的流程示意图;
图7是本发明实施例提供的一种中转设备的结构示意图;
图8是本发明实施例提供的另一种中转设备的结构示意图;
图9是本发明实施例提供的又一种中转设备的结构示意图;
图10是本发明实施例提供的一种扩散代理设备的结构示意图;
图11是本发明实施例提供的另一种扩散代理设备的结构示意图;
图12是本发明实施例提供的又一种扩散代理设备的结构示意图;
图13是本发明实施例提供的一种数据传输的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例公开的一种数据传输的方法、系统以及相关设备,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种网络构架的示意图。如图1所示,该网络架构可以包括策略服务设备、流控引擎设备、多个中转设备、多个扩散代理设备以及多个客户端。其中,所述策略服务设备可以通过网络与所述流控引擎设备通信、所述流控引擎设备可以通过网络与所述多个中转设备以及所述多个扩散代理设备通信,所述多个中转设备可以通过网络与所述多个扩散代理设备通信,所述多个中转设备可以与具有音视频上行权限的客户端进行网络连接,所述多个扩散代理设备可以与不具有音视频上行权限的客户端进行网络连接。其中,所述具有音视频上行权限的客户端为能够上传数据的客户端,所述不具有音视频上行权限的客户端为无法上传数据的客户端,每个中转设备均管理、维护多个音视频通话频道(即指多个音视频房间),不同的中转设备可以管理和维护相同的音视频通话频道,每个扩散代理设备也均管理、维护多个音视频通话频道,不同的扩散代理设备可以管理和维护相同的音视频通话频道。一个音视频通话频道中可以包括至少一个中转设备、至少一个扩散代理设备、至少一个具有音视频上行权限的客户端以及至少一个不具有音视频上行权限的客户端。所述策略服务设备负责分配房间号、数据中转服务的接入地址以及安全校验等工作,所述流控引擎设备负责房间管理、房间内用户流控计算和数据同步等工作。其中,每个中转设备还存储有所维护的每个音视频通话频道对应的扩散代理列表,所述扩散代理列表包括处于对应的音视频通话频道中的扩散代理设备的信息,每个中转设备所存储的扩散代理列表均可以由所述流控引擎设备进行同步更新。在实际的应用场景中,当与中转设备相连接的其中一个客户端上行传输音视频数据时,与该客户端相连接的中转设备可以将音视频数据转发到其他处于相同的音视频通话频道中的中转设备,并将音视频数据转发至各个处于相同的音视频通话频道中的扩散代理设备,使得各个处于相同的音视频通话频道中的中转设备可以分别将音视频数据再转发至与各自相连接的且处于相同的音视频通话频道的客户端,各个处于相同的音视频通话频道中的扩散代理设备可以分别将音视频数据再转发至与各自相连接的且处于相同的音视频通话频道的客户端。
请参见图2,是本发明实施例提供的一种数据传输的方法的流程示意图,所述方法可以包括:
S101,中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
具体的,中转设备可以接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据,所述中转设备可以为上述图1对应的网络结构中的任意一个中转设备,所述目标客户端可以为与所述中转设备相连接的多个处于目标频道中且具有音视频上行权限的客户端中的任意一个客户端。所述目标频道为至少一个音视频通话频道中的其中一个频道。
S102,所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
具体的,所述中转设备接收到所述音视频数据后,所述中转设备可以将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端。其中,所述中转设备将所述音视频数据转发至所述至少一个第一客户端的过程具体包括:所述中转设备根据流控引擎设备所通知的下行传输方式,将所述音视频数据转发至与所述中转设备相连接、处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并将所述音视频数据转发至关联中转设备,以使所述关联中转设备将所述音视频数据转发至与所述关联中转设备相连接、处于所述目标频道中且具有音视频上行权限的至少一个第一客户端;所述关联中转设备包括处于所述目标频道中除了所述中转设备以外的其他中转设备。所述中转设备还将所接收到的所述音视频数据转发至处于所述目标频道中的扩散代理设备,所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端。其中,所述流控引擎设备向所述中转设备和所述关联中转设备通知的下行传输方式是根据预先收集到的所述至少一个第一客户端的网络质量信息所确定的,例如,所述中转设备和所述关联中转设备可以直接转发完整的音视频数据到网络比较流畅的第一客户端,也可以用跳帧的方式将所述音视频数据转发到弱网络的第一客户端。其中,所述网络质量信息可以包括丢包率、延迟信息等统计信息。其中,所述关联中转设备的数量和所述扩散代理设备的数量均可以为多个。
其中,在S101步骤之前,还包括:
所述中转设备接收所述目标客户端发送的第一接入请求,并根据所述第一接入请求完成对所述目标客户端的连接;所述第一接入请求是由所述目标客户端根据策略服务设备分配的中转设备地址所生成的,所述中转设备地址是由所述策略服务设备在检测到所述目标客户端具有音视频上行权限时所分配的;
所述扩散代理设备接收所述各第二客户端发送的第二接入请求,并根据所述第二接入请求完成对所述各第二客户端的连接;所述第二接入请求是由所述各第二客户端根据策略服务设备分配的扩散代理设备地址所生成的,所述扩散代理设备地址是由所述策略服务设备在检测到所述各第二客户端不具有音视频上行权限时所分配的。其中,与所述中转设备连接的至少一个第一客户端所获得的中转设备地址也是由所述策略服务设备分配的,与所述关联中转设备连接的至少一个第一客户端所获得的关联中转设备地址也是由所述策略服务设备分配的。
S103,所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
具体的,所述中转设备将所述音视频数据发送至处于所述目标频道的扩散代理设备后,每个处于所述目标频道的扩散代理设备均可以根据所述各第二客户端分别对应的网络质量信息,采用对应的下行传输方式将所述音视频数据分别发送至所连接的所述各第二客户端。例如,假设其中一个处于所述目标频道的扩散代理设备连接有第二客户端A以及第二客户端B,若所述扩散代理设备感知到所述第二客户端A的网络比较流畅,则所述扩散代理设备可以将完整的音视频数据转发至所述第二客户端A;同时,若所述扩散代理设备感知到所述第二客户端B的网络不太稳定,则所述扩散代理设备可以采用跳帧的方式将音视频数据转发至所述第二客户端B。其中,所述扩散代理设备可以定时收集所述各第二客户端的网络质量信息,由于所有第二客户端的网络质量信息均是上报给所述扩散代理设备,而所述流控引擎设备只需收集所有第一客户端以及目标客户端的网络质量信息,所以可以进一步减轻所述流控引擎设备的压力。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
再请参见图3,是本发明实施例提供的一种数据传输的方法的时序示意图,本发明实施例从中转设备、扩散代理设备、流控引擎设备、第一客户端、第二客户端以及目标客户端侧共同阐述数据传输方法的具体流程,该方法可以包括:
S201,目标客户端发送音视频数据到中转设备;
具体的,所述目标客户端可以为处于目标频道中且具有音视频上行权限的客户端,所述目标客户端与所述中转设备连接。所述中转设备可以为上述图1对应的网络结构中的任意一个中转设备,所述目标客户端可以为与所述中转设备相连接的多个处于目标频道中且具有音视频上行权限的客户端中的任意一个客户端。所述目标频道为至少一个音视频通话频道中的其中一个频道。
S202,所述中转设备转发音视频数据到第一客户端;
具体的,所述中转设备接收到所述音视频数据后,所述中转设备可以将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端。其中,所述中转设备将所述音视频数据转发至所述至少一个第一客户端的过程具体包括:所述中转设备根据流控引擎设备所通知的下行传输方式,将所述音视频数据转发至与所述中转设备相连接、处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并将所述音视频数据转发至关联中转设备,以使所述关联中转设备将所述音视频数据转发至与所述关联中转设备相连接、处于所述目标频道中且具有音视频上行权限的至少一个第一客户端;所述关联中转设备包括处于所述目标频道中除了所述中转设备以外的其他中转设备。其中,所述流控引擎设备向所述中转设备和所述关联中转设备通知的下行传输方式是根据预先收集到的所述至少一个第一客户端的网络质量信息所确定的,例如,所述中转设备和所述关联中转设备可以直接转发完整的音视频数据到网络比较流畅的第一客户端,也可以用跳帧的方式将所述音视频数据转发到弱网络的第一客户端。其中,所述关联中转设备的数量可以为多个。
S203,所述中转设备转发所述音视频数据到扩散代理设备;
具体的,S203步骤和S202步骤可以同时执行,即所述中转设备在将所述音视频数据转发至所述第一客户端时,还可以将所述音视频数据转发至所述扩散代理设备,所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端。所述扩散代理设备的数量可以为多个。
S204,所述扩散代理设备转发所述音视频数据到所述第二客户端,
具体的,所述中转设备将所述音视频数据发送至处于所述目标频道的扩散代理设备后,每个处于所述目标频道的扩散代理设备均可以根据所述各第二客户端分别对应的网络质量信息,采用对应的下行传输方式将所述音视频数据分别发送至所连接的所述各第二客户端。例如,假设其中一个处于所述目标频道的扩散代理设备连接有第二客户端A以及第二客户端B,若所述扩散代理设备感知到所述第二客户端A的网络比较流畅,则所述扩散代理设备可以将完整的音视频数据转发至所述第二客户端A;同时,若所述扩散代理设备感知到所述第二客户端B的网络不太稳定,则所述扩散代理设备可以采用跳帧的方式将音视频数据转发至所述第二客户端B。其中,所述扩散代理设备可以定时收集所述各第二客户端的网络质量信息,由于所有第二客户端的网络质量信息均是上报给所述扩散代理设备,而所述流控引擎设备只需收集所有第一客户端以及目标客户端的网络质量信息,所以可以进一步减轻所述流控引擎设备的压力。
S205,当所述第二客户端中存在被分配有音视频上行权限的变更第二客户端时,所述流控引擎设备发送重定向指令到所述扩散代理设备;
S206,所述扩散代理设备根据所述重定向指令将所述变更第二客户端的接入服务迁移至所述中转设备;
具体的,S205-S206步骤可以在任意时刻执行,当检测到多个所述第二客户端中存在被分配有音视频上行权限的变更第二客户端时,所述流控引擎设备发送重定向指令到所述扩散代理设备,以使所述扩散代理设备根据所述重定向指令将所述变更第二客户端的接入服务迁移至所述中转设备,使得所述中转设备可以与所述变更第二客户端建立连接关系。由于所述扩散代理设备本身没有上行数据转发功能,所以当扩散代理设备中的用户获得上行数据权限(主播控麦、老师点名学生回答问题等场景)的时候,就需要将该用户重定向至数据中转设备。例如,某第一客户端为“老师”用户,某第二客户端为“学生”用户,当该“老师”用户想要点名该“学生”用户回答问题时,该第一客户端可以发送消息通知所述流控引擎设备发送重定向指令到该第二客户端所在的扩散代理设备,以开通该第二客户端的音视频上行权限,并将该第二客户端重新连接至对应的中转设备。对第二客户端重定向的实现方式可以包括:第二客户端重新走一遍到策略服务申请分配接入的流程,或者后台事先把信息查好放入重定向指令中。但无论采用哪种方式,所述流控引擎设备都需要到业务后台获取重定向用户的权限,并根据用户权限来分配合适的接入服务。本发明不仅可以将第二客户端重定向至中转设备,也可以将第一客户端/目标客户端重定向至扩散代理设备。
重定向过程对于用户而言是透明的,即被重定向的第一客户端/第二客户端/目标客户端应该采取平滑处理的手段来隐藏重定向的过程。例如,第二客户端先不断开与所述扩散代理设备之间的通道,等到与所述中转设备的通道建立完成并能够收发数据之后再断开与所述扩散代理设备的通道。
S207,当所述第二客户端的总数量发生变化时,所述扩散代理设备上报变化后的第二客户端总数量到所述流控引擎设备;
S208,所述流控引擎设备计算目标频道中的客户端总量
具体的,S207-S208的步骤可以在任意时刻执行,当所述第二客户端的总数量发生变化时,即说明有新的第二客户端接入到所述扩散代理设备中,或所述扩散代理设备中的第二客户端断开连接,此时,所述扩散代理设备可以上报变化后的第二客户端总数量到所述流控引擎设备,使得所述流控引擎设备可以根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述第一客户端的总数量,计算目标频道中的客户端总量,即目标频道中的客户端总量为所述第二客户端加所述第一客户端加所述目标客户端的总和。通过上报变化后的第二客户端总数量,可以使所述流控引擎设备感知目标频道内的总人数变化。
S209,当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述流控引擎设备发送客户端变更信息到所述扩散代理设备;
S210,所述流控引擎设备发送客户端变更信息到所述中转设备;
S211,所述中转设备将所述客户端变更信息转发至所述第一客户端;
S212,所述中转设备将所述客户端变更信息转发至所述目标客户端;
S213,所述扩散代理设备将所述客户端变更信息转发至所述第二客户端;
具体的,S209-S213的步骤可以在任意时刻执行,当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述流控引擎设备可以发送客户端变更信息到处于所述目标频道的所述扩散代理设备和所述中转设备,使得所述扩散代理设备可以将所述客户端变更信息转发至所述第二客户端,并使得所述中转设备可以将所述客户端变更信息转发至所述目标客户端、所述第一客户端以及所述变更第二客户端,以便于所述目标客户端、所述第一客户端、所述第二客户端以及所述变更第二客户端可以得知所述目标频道内具有音视频上行权限的客户端的状态变化情况。其中,所述变更第二客户端可以为上述S205-S206步骤中的变更第二客户端。其中,所述客户端变更信息可以包括被取消音视频上行权限的目标客户端信息、开始上行传输音视频数据的第一客户端信息以及开始上行传输音视频数据的变更第二客户端信息中的至少一种。其中,所述流控引擎设备还可以发送客户端变更信息到关联中转设备,使得所述关联中转设备也将所述客户端变更信息转发至所连接的第一客户端。例如,当一个仅收听/看用户(即第二客户端)获取了上行数据的权限、完成重定向并真正开始通过所述中转设备上行音视频数据的时候,所述流控引擎设备需要在该用户所在的音视频通话房间(即目标频道)内广播所述客户端变更信息,以将所述客户端变更信息通知到该音视频通话房间内的所有用户,使所有用户知晓有一路新的音视频数据可供订阅,具体的广播方式即为所述流控引擎设备将所述客户端变更信息发送至对应的中转设备以及扩散代理设备,以使对应的中转设备以及扩散代理设备再将所述客户端变更信息转发至对应的客户端。可选的,还可以跳过订阅步骤,把新上行的数据直接推送给该音视频通话房间内的所有客户端,让所有客户端通过数据的变化来感知到新的数据源。又例如,当存在一个正在上行音视频数据的目标客户端被取消了音视频上行权限或连接断开等原因不再上行数据时,所述流控引擎设备有义务将所述客户端变更信息广播给处于目标频道内的所有用户(包括各个第一客户端、各个第二客户端以及目标客户端),以方便客户端为用户做出更友好的提示。
可选的,由于第一客户端和目标客户端状态的通知都是广播式的,在传播过程中可能出现丢包或网络异常而导致部分扩散代理设备和/或部分中转设备收不到通知,所以所述流控引擎设备应该定时将所有第一客户端和目标客户端的状态广播给维护有所述目标频道的所有扩散代理设备以及中转设备,以弥补偶然的通知丢失所带来的状态不一致问题。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
再请参见图4,是本发明实施例提供的另一种数据传输的方法的流程示意图,所述方法可以包括:
S301,中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
具体的,中转设备可以接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据,所述中转设备可以为上述图1对应的网络结构中的任意一个中转设备,所述目标客户端可以为与所述中转设备相连接的多个处于目标频道中且具有音视频上行权限的客户端中的任意一个客户端。所述目标频道为至少一个音视频通话频道中的其中一个频道。
S302,所述中转设备将所述音视频数据拆分为音频数据和视频数据;
S303,所述中转设备将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
具体的,所述中转设备将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备,所述混音设备还将所述混音数据转发至关联中转设备,所述关联中转设备包括处于所述目标频道中除了所述中转设备以外的其他中转设备。
S304,所述中转设备将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
具体的,S303和S304可以同时执行,所述中转设备将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备,所述转码设备还将所述至少一种视频质量的码流转发至所述关联中转设备。其中,所述至少一种视频质量的码流可以包括多种码率的码流或多种分辨率的码流。
S305,所述中转设备根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
具体的,所述中转设备可以根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端。其中,所述关联中转设备也可以根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所连接的第一客户端。所述流控引擎设备向所述中转设备和所述关联中转设备通知的下行传输方式是根据预先收集到的所述至少一个第一客户端的网络质量信息所确定的。例如,所述中转设备连接有第一客户端A以及第一客户端B,若所述第一客户端A对应的网络质量比较流畅,则对应的下行传输方式可以为高码率的码流,此时,所述中转设备将高码率的码流和所述混音数据转发至所述第一客户端A;同时,若所述第一客户端B的网络质量比较差,则对应的下行传输方式可以为低码率的码流,此时,所述中转设备将低码率的码流和所述混音数据转发至所述第一客户端B。
S306,所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端;
具体的,S305可以与S306同时执行,所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端,所述各第二客户端的网络质量信息是由所述扩散代理设备定期收集到的。例如,所述扩散代理设备连接有第二客户端A以及第二客户端B,若所述第二客户端A对应的网络质量比较流畅,则所述扩散代理设备将高码率的码流和所述混音数据转发至所述第二客户端A;同时,若所述第二客户端B的网络质量比较差,则所述扩散代理设备将低码率的码流和所述混音数据转发至所述第二客户端B。由于所有第二客户端的网络质量信息均是上报给所述扩散代理设备,而所述流控引擎设备只需收集所有第一客户端以及目标客户端的网络质量信息,所以可以进一步减轻所述流控引擎设备的压力。其中,通过将所述音频数据混合成一路,可以为各客户端节省一部分下行流量。
可选的,所述中转设备将所述音频数据和所述视频数据发送至所述转码设备和所述混音设备后,所述中转设备还可以发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或CDN(ContentDelivery Network,内容分发网络)。所述流媒体信息的格式可以包括TS、MP4、FLV等。本发明的音视频通话服务系统通过与CDN和存储服务器的对接,可以脱离原有实时通话业务的束缚,更好地服务于那些需要录制音视频数据(如银行、客服等)和能够容忍延时但希望通过Web观看的业务(如直播、教育等)。
本发明实施例可以使原有的实时多人音视频通话服务系统仍然保持小房间的管理模式,以平行扩展的方式极大地拓展了单房间支撑上限,同时又能够做到对现有架构冲击最小、风险可控。此外,利用混音设备和转码设备的功能,还可以进一步完善下行通道质量控制能力、多客户端收看覆盖和后台录制的能力,以进一步保证超大规模的音视频通话服务系统的稳定性。
再请参见图5,是本发明实施例提供的又一种数据传输的方法的流程示意图,所述方法可以包括:
S401,中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
S402,所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
其中,所述至少一个第二客户端是与所述扩散代理设备相连接、处于所述目标频道且不具有音视频上行权限的客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
S401-S402步骤的具体实现方式可以参见上述图2对应实施例中对所述中转设备的描述,或上述图3对应实施例中对所述中转设备的描述,这里不再进行赘述。
可选地,当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述中转设备接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述中转设备将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
其中,所述变更第二客户端是指被分配有音视频上行权限的第二客户端。
所述客户端变更信息的转发过程具体可以参见上述图3对应实施例中的S209-S213,这里不再进行赘述。
可选地,所述中转设备维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;
其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
可选地,S402步骤可以包括:
所述中转设备将所述音视频数据拆分为音频数据和视频数据;
所述中转设备将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
所述中转设备将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
所述中转设备根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
其中,所述扩散代理设备是用于根据所述至少一个第二客户端中各第二客户端的网络质量信息将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端的设备。
所述中转设备通过所述混音设备和所述转码设备转发音视频数据的具体过程可以参见上述图4对应实施例中的S302-S306,这里不再进行赘述。
可选地,所述中转设备还可以发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
可选地,在S401步骤之前,所述中转设备可以接收所述目标客户端发送的第一接入请求,并根据所述第一接入请求完成对所述目标客户端的连接;所述第一接入请求是由所述目标客户端根据策略服务设备分配的中转设备地址所生成的,所述中转设备地址是由所述策略服务设备在检测到所述目标客户端具有音视频上行权限时所分配的。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
再请参见图6,是本发明实施例提供的又一种数据传输的方法的流程示意图,所述方法可以包括:
S501,扩散代理设备接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
S502,所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
S501-S502步骤的具体实现方式可以参见上述图2对应实施例中对所述扩散代理设备的描述,或上述图3对应实施例中对所述扩散代理设备的描述,这里不再进行赘述。
可选地,当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,所述扩散代理设备接收流控引擎设备发送的重定向指令;
所述扩散代理设备根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备。
第二客户端的音视频上行权限的变更过程具体可以参见上述图3对应实施例中的S205-S206,这里不再进行赘述。
可选地,当所述至少一个第二客户端的总数量发生变化时,所述扩散代理设备将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
第二客户端总数量上报过程具体可以参见上述图3对应实施例中的S207-S208,这里不再进行赘述。
可选地,当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述扩散代理设备接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述扩散代理设备将所述客户端变更信息转发至所述至少一个第二客户端。
所述客户端变更信息的转发过程具体可以参见上述图3对应实施例中的S209-S213,这里不再进行赘述。
可选地,当所述中转设备不直接将所述音视频数据转发至所述扩散代理设备,而是将所述音视频数据拆分为音频数据和视频数据时,所述中转设备可以将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;所述中转设备还可以将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备。所述扩散代理设备接收到所述混音数据和所述至少一种视频质量的码流后,所述扩散代理设备可以根据所述至少一个第二客户端中各第二客户端的网络质量信息,将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端。其中,所述中转设备也可以根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端。
可选地,在S501步骤之前,所述扩散代理设备可以接收所述各第二客户端发送的第二接入请求,并根据所述第二接入请求完成对所述各第二客户端的连接;所述第二接入请求是由所述各第二客户端根据策略服务设备分配的扩散代理设备地址所生成的,所述扩散代理设备地址是由所述策略服务设备在检测到所述各第二客户端不具有音视频上行权限时所分配的。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
请参见图7,是本发明实施例提供的一种中转设备的结构示意图,所述中转设备可以包括:中转接收模块11、中转发送模块12;
所述中转接收模块11,用于接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
具体的,所述中转接收模块11可以接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据,所述目标客户端可以为与所述中转设备相连接的多个处于目标频道中且具有音视频上行权限的客户端中的任意一个客户端。所述目标频道为至少一个音视频通话频道中的其中一个频道。
所述中转发送模块12,用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
具体的,所述中转接收模块11接收到所述音视频数据后,所述中转发送模块12可以将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端。其中,所述中转发送模块12将所述音视频数据转发至所述至少一个第一客户端的过程具体包括:所述中转发送模块12根据流控引擎设备所通知的下行传输方式,将所述音视频数据转发至与所述中转设备相连接、处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并将所述音视频数据转发至关联中转设备,以使所述关联中转设备将所述音视频数据转发至与所述关联中转设备相连接、处于所述目标频道中且具有音视频上行权限的至少一个第一客户端;所述关联中转设备包括处于所述目标频道中除了所述中转设备以外的其他中转设备。所述中转发送模块12还将所接收到的所述音视频数据转发至处于所述目标频道中的扩散代理设备,所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端。其中,所述流控引擎设备向所述中转设备和所述关联中转设备通知的下行传输方式是根据预先收集到的所述至少一个第一客户端的网络质量信息所确定的,例如,所述中转发送模块12和所述关联中转设备可以直接转发完整的音视频数据到网络比较流畅的第一客户端,也可以用跳帧的方式将所述音视频数据转发到弱网络的第一客户端。其中,所述网络质量信息可以包括丢包率、延迟信息等统计信息。其中,所述关联中转设备的数量和所述扩散代理设备的数量均可以为多个。
所述中转发送模块12将所述音视频数据发送至处于所述目标频道的扩散代理设备后,每个处于所述目标频道的扩散代理设备均可以根据所述各第二客户端分别对应的网络质量信息,采用对应的下行传输方式将所述音视频数据分别发送至所连接的所述各第二客户端。例如,假设其中一个处于所述目标频道的扩散代理设备连接有第二客户端A以及第二客户端B,若所述扩散代理设备感知到所述第二客户端A的网络比较流畅,则所述扩散代理设备可以将完整的音视频数据转发至所述第二客户端A;同时,若所述扩散代理设备感知到所述第二客户端B的网络不太稳定,则所述扩散代理设备可以采用跳帧的方式将音视频数据转发至所述第二客户端B。其中,所述扩散代理设备可以定时收集所述各第二客户端的网络质量信息,由于所有第二客户端的网络质量信息均是上报给所述扩散代理设备,而所述流控引擎设备只需收集所有第一客户端以及目标客户端的网络质量信息,所以可以进一步减轻所述流控引擎设备的压力。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
再请参见图8,是本发明实施例提供的另一种中转设备的结构示意图,所述中转设备可以包括上述图7对应实施例中的中转接收模块11、中转发送模块12,进一步的,所述中转设备还可以包括维护存储模块13、请求发送模块14;
其中,所述中转发送模块12包括:拆分单元121、发送单元122;
所述中转接收模块11,还用于当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述中转发送模块12,还用于将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
其中,所述变更第二客户端是指被分配有音视频上行权限的第二客户端。
所述中转接收模块11和所述中转发送模块12执行对所述客户端变更信息的转发过程具体可以参见上述图3对应实施例中的S209-S213,这里不再进行赘述。
所述维护存储模块13,用于维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
其中,所述拆分单元121,用于将所述音视频数据拆分为音频数据和视频数据;
所述发送单元122,用于将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
所述发送单元122,还用于将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
所述发送单元122,还用于根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
其中,所述扩散代理设备是用于根据所述至少一个第二客户端中各第二客户端的网络质量信息将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端的设备。
所述拆分单元121和所述发送单元122通过所述混音设备和所述转码设备转发音视频数据的具体过程可以参见上述图4对应实施例中的S302-S306,这里不再进行赘述。
所述请求发送模块14,用于发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
可选地,所述中转接收模块11在接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据之前,还用于接收所述目标客户端发送的第一接入请求,并根据所述第一接入请求完成对所述目标客户端的连接;所述第一接入请求是由所述目标客户端根据策略服务设备分配的中转设备地址所生成的,所述中转设备地址是由所述策略服务设备在检测到所述目标客户端具有音视频上行权限时所分配的。同样的,所述至少一个第一客户端的接入方式与所述目标客户端的接入方式相同。
本发明实施例可以使原有的实时多人音视频通话服务系统仍然保持小房间的管理模式,以平行扩展的方式极大地拓展了单房间支撑上限,同时又能够做到对现有架构冲击最小、风险可控。此外,利用混音设备和转码设备的功能,还可以进一步完善下行通道质量控制能力、多客户端收看覆盖和后台录制的能力,以进一步保证超大规模的音视频通话服务系统的稳定性。
再请参见图9,是本发明实施例提供的又一种中转设备的结构示意图。如图9所示,所述中转设备可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的中转设备中,网络接口1004主要用于连接扩散代理设备、流控引擎设备、目标客户端以及第一客户端;而用户接口1003主要用于为用户提供输入的接口,获取用户输出的数据;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,并具体执行以下步骤:
接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
其中,所述至少一个第二客户端是与所述扩散代理设备相连接、处于所述目标频道且不具有音视频上行权限的客户端;
所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
在一个实施例中,所述处理器1001,还执行以下步骤:
当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
其中,所述变更第二客户端是指被分配有音视频上行权限的第二客户端。
在一个实施例中,所述处理器1001,还执行以下步骤:
维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;
其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
在一个实施例中,所述处理器1001在执行将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端时,具体执行以下步骤:
将所述音视频数据拆分为音频数据和视频数据;
将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
其中,所述扩散代理设备是用于根据所述至少一个第二客户端中各第二客户端的网络质量信息将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端的设备。
在一个实施例中,所述处理器1001,还执行以下步骤:
发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
请参见图10,是本发明实施例提供的一种扩散代理设备的结构示意图,所述扩散代理设备可以包括:代理接收模块21、代理发送模块22;
所述代理接收模块21,用于接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
所述代理发送模块22,用于根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
其中,所述代理接收模块21和所述代理发送模块22的具体实现方式可以参见上述图2对应实施例中对所述扩散代理设备的描述,或上述图3对应实施例中对所述扩散代理设备的描述,这里不再进行赘述。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
再请参见图11,是本发明实施例提供的另一种扩散代理设备的结构示意图,所述扩散代理设备可以包括上述图10对应实施例中的代理接收模块21、代理发送模块22,进一步的,所述扩散代理设备还可以包括:指令接收模块23、迁移模块24、数量上报模块25;
所述指令接收模块23,用于当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,接收流控引擎设备发送的重定向指令;
所述迁移模块24,用于根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备。
所述数量上报模块25,用于当所述至少一个第二客户端的总数量发生变化时,将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
其中,所述指令接收模块23和所述迁移模块24的具体实现方式可以参见上述图3对应实施例中的S205-S206,这里不再进行赘述;所述数量上报模块25的具体实现方式可以参见上述图3对应实施例中的S207-S208,这里不再进行赘述。
可选地,所述代理接收模块21,还用于当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述代理发送模块22,还用于将所述客户端变更信息转发至所述至少一个第二客户端。
所述代理接收模块21和所述代理发送模块22执行对所述客户端变更信息的转发过程具体可以参见上述图3对应实施例中的S209-S213,这里不再进行赘述。
可选地,当所述中转设备不直接将所述音视频数据转发至所述扩散代理设备,而是将所述音视频数据拆分为音频数据和视频数据时,所述中转设备可以将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;所述中转设备还可以将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备。所述代理接收模块21接收到所述混音数据和所述至少一种视频质量的码流后,所述代理发送模块22可以根据所述至少一个第二客户端中各第二客户端的网络质量信息,将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端。其中,所述中转设备也可以根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端。
可选地,所述代理接收模块21在接收中转设备发送的音视频数据之前,还可以用于接收所述各第二客户端发送的第二接入请求,并根据所述第二接入请求完成对所述各第二客户端的连接;所述第二接入请求是由所述各第二客户端根据策略服务设备分配的扩散代理设备地址所生成的,所述扩散代理设备地址是由所述策略服务设备在检测到所述各第二客户端不具有音视频上行权限时所分配的。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
再请参见图12,是本发明实施例提供的又一种扩散代理设备的结构示意图。如图12所示,所述扩散代理设备可以包括:至少一个处理器2001,例如CPU,至少一个网络接口2004,用户接口2003,存储器2005,至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图12所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的扩散代理设备中,网络接口2004主要用于连接中转设备、流控引擎设备以及第二客户端;而用户接口2003主要用于为用户提供输入的接口,获取用户输出的数据;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,并具体执行以下步骤:
接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
在一个实施例中,所述处理器2001还执行以下步骤:
当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,接收流控引擎设备发送的重定向指令;
根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备。
在一个实施例中,所述处理器2001还执行以下步骤:
当所述至少一个第二客户端的总数量发生变化时,将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
在一个实施例中,所述处理器2001还执行以下步骤:
当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
将所述客户端变更信息转发至所述至少一个第二客户端。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备连接,将多个不具有视频上行权限的第二客户端与扩散代理设备连接,可以在中转设备接收到目标客户端发送的音视频数据时,中转设备将音视频数据分别转发到各个第一客户端以及扩散代理设备,再由扩散代理设备将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
请参见图13,是本发明实施例提供的一种数据传输的系统的结构示意图,所述系统可以包括:中转设备100和扩散代理设备200;
所述中转设备100,用于接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
所述中转设备100,还用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备200;所述扩散代理设备200连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
所述扩散代理设备200,用于根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备200预先收集得到的。
其中,
所述扩散代理设备200,还用于当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,接收流控引擎设备发送的重定向指令;
所述扩散代理设备200,还用于根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备100。
其中,
所述扩散代理设备200,还用于当所述至少一个第二客户端的总数量发生变化时,将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
其中,
所述扩散代理设备200和所述中转设备100,均还用于当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述中转设备100,还用于将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
所述扩散代理设备200,还用于将所述客户端变更信息转发至所述至少一个第二客户端。
其中,
所述中转设备100,还用于维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;
其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
其中,所述中转设备100在执行将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备200时,具体用于将所述音视频数据拆分为音频数据和视频数据,并将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备100以及所述扩散代理设备200;还用于将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备100以及所述扩散代理设备200;还用于根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
则所述扩散代理设备200在执行根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端时,具体用于根据所述至少一个第二客户端中各第二客户端的网络质量信息,将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端。
其中,
所述中转设备100,还用于发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
其中,
所述中转设备100,还用于接收所述目标客户端发送的第一接入请求,并根据所述第一接入请求完成对所述目标客户端的连接;所述第一接入请求是由所述目标客户端根据策略服务设备分配的中转设备地址所生成的,所述中转设备地址是由所述策略服务设备在检测到所述目标客户端具有音视频上行权限时所分配的;
所述扩散代理设备200,还用于接收所述各第二客户端发送的第二接入请求,并根据所述第二接入请求完成对所述各第二客户端的连接;所述第二接入请求是由所述各第二客户端根据策略服务设备分配的扩散代理设备地址所生成的,所述扩散代理设备地址是由所述策略服务设备在检测到所述各第二客户端不具有音视频上行权限时所分配的。
本发明实施例通过将多个具有音视频上行权限的第一客户端以及具有音视频上行权限的目标客户端与中转设备100连接,将多个不具有视频上行权限的第二客户端与扩散代理设备200连接,可以在中转设备100接收到目标客户端发送的音视频数据时,中转设备100将音视频数据分别转发到各个第一客户端以及扩散代理设备200,再由扩散代理设备200将获得的音视频数据再转发至各第二客户端,由于各第二客户端均是由扩散代理设备200进行管理,所以当第二客户端的数量变得较庞大时可以较大程度的减轻网络控制策略系统和数据中转系统的压力,从而可以保证超大规模的音视频通话服务系统的稳定性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (27)

1.一种数据传输的方法,其特征在于,包括:
中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,所述扩散代理设备接收流控引擎设备发送的重定向指令;
所述扩散代理设备根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备。
3.如权利要求1所述的方法,其特征在于,还包括:
当所述至少一个第二客户端的总数量发生变化时,所述扩散代理设备将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
4.如权利要求2所述的方法,其特征在于,还包括:
当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述扩散代理设备和所述中转设备均接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述中转设备将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
所述扩散代理设备将所述客户端变更信息转发至所述至少一个第二客户端。
5.如权利要求1所述的方法,其特征在于,还包括:
所述中转设备维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;
其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
6.如权利要求1所述的方法,其特征在于,所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,包括:
所述中转设备将所述音视频数据拆分为音频数据和视频数据;
所述中转设备将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
所述中转设备将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
所述中转设备根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
则所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端,具体包括:
所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端。
7.如权利要求6所述的方法,其特征在于,还包括:
所述中转设备发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
8.如权利要求1至7任一项所述的方法,其特征在于,在所述中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据的步骤之前,还包括:
所述中转设备接收所述目标客户端发送的第一接入请求,并根据所述第一接入请求完成对所述目标客户端的连接;所述第一接入请求是由所述目标客户端根据策略服务设备分配的中转设备地址所生成的,所述中转设备地址是由所述策略服务设备在检测到所述目标客户端具有音视频上行权限时所分配的;
所述扩散代理设备接收所述各第二客户端发送的第二接入请求,并根据所述第二接入请求完成对所述各第二客户端的连接;所述第二接入请求是由所述各第二客户端根据策略服务设备分配的扩散代理设备地址所生成的,所述扩散代理设备地址是由所述策略服务设备在检测到所述各第二客户端不具有音视频上行权限时所分配的。
9.一种数据传输的方法,其特征在于,包括:
中转设备接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
其中,所述至少一个第二客户端是与所述扩散代理设备相连接、处于所述目标频道且不具有音视频上行权限的客户端;
所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
10.如权利要求9所述的方法,其特征在于,还包括:
当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述中转设备接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述中转设备将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
其中,所述变更第二客户端是指被分配有音视频上行权限的第二客户端。
11.如权利要求9所述的方法,其特征在于,还包括:
所述中转设备维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;
其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
12.如权利要求9所述的方法,其特征在于,所述中转设备将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端,包括:
所述中转设备将所述音视频数据拆分为音频数据和视频数据;
所述中转设备将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
所述中转设备将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
所述中转设备根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
其中,所述扩散代理设备是用于根据所述至少一个第二客户端中各第二客户端的网络质量信息将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端的设备。
13.如权利要求12所述的方法,其特征在于,还包括:
所述中转设备发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
14.一种数据传输的方法,其特征在于,包括:
扩散代理设备接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
所述扩散代理设备根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
15.如权利要求14所述的方法,其特征在于,还包括:
当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,所述扩散代理设备接收流控引擎设备发送的重定向指令;
所述扩散代理设备根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备。
16.如权利要求14所述的方法,其特征在于,还包括:
当所述至少一个第二客户端的总数量发生变化时,所述扩散代理设备将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
17.如权利要求15所述的方法,其特征在于,还包括:
当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,所述扩散代理设备接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述扩散代理设备将所述客户端变更信息转发至所述至少一个第二客户端。
18.一种中转设备,其特征在于,包括:
中转接收模块,用于接收到处于目标频道中且具有音视频上行权限的目标客户端发送的音视频数据;
中转发送模块,用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端,并转发至处于所述目标频道中的扩散代理设备,以使所述扩散代理设备根据至少一个第二客户端中各第二客户端的网络质量信息采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;
其中,所述至少一个第二客户端是与所述扩散代理设备相连接、处于所述目标频道且不具有音视频上行权限的客户端;
所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的。
19.如权利要求18所述的中转设备,其特征在于,
所述中转接收模块,还用于当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述中转发送模块,还用于将所述客户端变更信息转发至所述目标客户端、所述至少一个第一客户端以及所述变更第二客户端;
其中,所述变更第二客户端是指被分配有音视频上行权限的第二客户端。
20.如权利要求18所述的中转设备,其特征在于,还包括:
维护存储模块,用于维护至少一个音视频通话频道,并存储与所述至少一个音视频通话频道中各音视频通话频道分别对应的扩散代理列表;
其中,所述至少一个音视频通话频道至少包括所述目标频道,所述扩散代理列表包括扩散代理设备地址。
21.如权利要求18所述的中转设备,其特征在于,所述中转发送模块包括:
拆分单元,用于将所述音视频数据拆分为音频数据和视频数据;
发送单元,用于将所述音频数据发送至混音设备,以使所述混音设备将所述音频数据混合为一路,以得到混音数据,并将所述混音数据转发至所述中转设备以及所述扩散代理设备;
所述发送单元,还用于将所述视频数据发送至转码设备,以使所述转码设备将所述视频数据处理为至少一种视频质量的码流,并将所述至少一种视频质量的码流转发至所述中转设备以及所述扩散代理设备;
所述发送单元,还用于根据流控引擎设备所通知的下行传输方式,将对应的视频质量的码流以及所述混音数据转发至所述至少一个第一客户端;
其中,所述扩散代理设备是用于根据所述至少一个第二客户端中各第二客户端的网络质量信息将对应的视频质量的码流以及所述混音数据转发至所述各第二客户端的设备。
22.如权利要求21所述的中转设备,其特征在于,还包括:
请求发送模块,用于发送录制推流请求至所述转码设备,以使所述转码设备根据所述录制推流请求获取所述混音数据,并将所述混音数据和所述至少一种视频质量的码流封装成流媒体信息,并将所述流媒体信息发送至录制存储服务器和/或内容分发网络CDN。
23.一种扩散代理设备,其特征在于,包括:
代理接收模块,用于接收中转设备发送的音视频数据;所述音视频数据是由处于目标频道中且具有音视频上行权限的目标客户端发送到所述中转设备中的数据;所述扩散代理设备连接有处于所述目标频道中且不具有音视频上行权限的至少一个第二客户端;
代理发送模块,用于根据所述至少一个第二客户端中各第二客户端的网络质量信息,采用对应的下行传输方式将所述音视频数据转发至所述各第二客户端;所述各第二客户端的网络质量信息是由所述扩散代理设备预先收集得到的;
其中,所述中转设备是用于将所述音视频数据转发至处于所述目标频道中且具有音视频上行权限的至少一个第一客户端并转发至处于所述目标频道中的所述扩散代理设备的设备。
24.如权利要求23所述的扩散代理设备,其特征在于,还包括:
指令接收模块,用于当所述至少一个第二客户端中存在被分配有音视频上行权限的变更第二客户端时,接收流控引擎设备发送的重定向指令;
迁移模块,用于根据所述重定向指令将所述变更第二客户端的接入服务迁移至处于所述目标频道中的中转设备。
25.如权利要求23所述的扩散代理设备,其特征在于,还包括:
数量上报模块,用于当所述至少一个第二客户端的总数量发生变化时,将变化后的第二客户端总数量上报至流控引擎设备,以使所述流控引擎设备根据上报的所述第二客户端总数量、已统计的所述目标客户端与所述至少一个第一客户端的总数量,计算所述目标频道中的客户端总量。
26.如权利要求24所述的扩散代理设备,其特征在于,
所述代理接收模块,还用于当所述目标客户端的音视频上行权限被取消或所述第一客户端开始上行传输音视频数据或所述变更第二客户端开始上行传输音视频数据时,接收流控引擎设备发送的客户端变更信息;所述客户端变更信息是指具有音视频上行权限的客户端的状态变化信息;
所述代理发送模块,还用于将所述客户端变更信息转发至所述至少一个第二客户端。
27.一种数据传输的系统,其特征在于,包括:包括中转设备和扩散代理设备,所述中转设备为权利要求18-22任一项所述的中转设备,所述扩散代理设备为权利要求23-26任一项所述的扩散代理设备。
CN201510543206.3A 2015-08-28 2015-08-28 一种数据传输的方法、系统以及相关设备 Active CN106488169B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201510543206.3A CN106488169B (zh) 2015-08-28 2015-08-28 一种数据传输的方法、系统以及相关设备
KR1020177034557A KR101972692B1 (ko) 2015-08-28 2016-05-26 데이터 전송 방법 및 시스템과 관련 디바이스
JP2017555357A JP6389573B2 (ja) 2015-08-28 2016-05-26 データ送信方法及びシステム並びに関連装置
PCT/CN2016/083482 WO2017036194A1 (zh) 2015-08-28 2016-05-26 一种数据传输的方法、系统以及相关设备
US15/709,283 US10044978B2 (en) 2015-08-28 2017-09-19 Data transmission method and system, and related devices
US16/024,102 US10277865B2 (en) 2015-08-28 2018-06-29 Data transmission method and system, and related devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510543206.3A CN106488169B (zh) 2015-08-28 2015-08-28 一种数据传输的方法、系统以及相关设备

Publications (2)

Publication Number Publication Date
CN106488169A CN106488169A (zh) 2017-03-08
CN106488169B true CN106488169B (zh) 2019-09-13

Family

ID=58186590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510543206.3A Active CN106488169B (zh) 2015-08-28 2015-08-28 一种数据传输的方法、系统以及相关设备

Country Status (5)

Country Link
US (2) US10044978B2 (zh)
JP (1) JP6389573B2 (zh)
KR (1) KR101972692B1 (zh)
CN (1) CN106488169B (zh)
WO (1) WO2017036194A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107086927B (zh) * 2016-04-06 2021-03-23 腾讯科技(深圳)有限公司 用户音视频权限管理方法、装置和系统
CN108632646B (zh) * 2017-03-20 2021-12-10 腾讯科技(深圳)有限公司 一种视频直播方法、装置及服务器
CN108668152B (zh) * 2017-03-31 2020-08-11 腾讯科技(深圳)有限公司 音视频交互方法、装置、管理设备及存储介质
CN108989734A (zh) * 2017-05-31 2018-12-11 中兴通讯股份有限公司 一种视频会议控制方法和装置
CN107135400A (zh) * 2017-06-12 2017-09-05 上海高顿教育培训有限公司 一种降低网络直播延时的方法
CN107222706B (zh) * 2017-06-29 2019-12-13 北京奇艺世纪科技有限公司 一种视频预览方法及系统
CN108174226B (zh) * 2017-12-19 2020-11-10 平安科技(深圳)有限公司 直播视频的转码装置、方法及计算机可读存储介质
KR20190114672A (ko) * 2018-03-30 2019-10-10 (주)아이앤아이소프트 QoE 리포트에 따른 컨텐츠 데이터 전송의 동적 제어
CN109168011B (zh) * 2018-09-07 2022-04-01 深圳市网心科技有限公司 网络视频直播中转设备、中转控制系统、方法和介质
CN110233945A (zh) * 2019-06-03 2019-09-13 中国工商银行股份有限公司 基于互联网音视频技术的人工服务请求处理方法和装置
CN114866854B (zh) * 2022-04-20 2023-12-05 杭州博联智能科技股份有限公司 视频接入方式动态分配方法、系统、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5821985A (en) * 1995-02-28 1998-10-13 Nec Corporation Multi-point videoconference system having a fixed control station for data transfer
CN101610165A (zh) * 2009-07-29 2009-12-23 腾讯科技(深圳)有限公司 一种自动扩散资源的方法和装置
CN102811335A (zh) * 2011-06-03 2012-12-05 腾讯科技(深圳)有限公司 建立视频会话的方法、设备和系统
CN103780402A (zh) * 2012-10-23 2014-05-07 北京网动网络科技股份有限公司 一种基于树状网络的多级服务器组网通信方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3609291B2 (ja) * 1999-07-19 2005-01-12 日本電信電話株式会社 多地点通信用マルチキャスト中継装置
US8856371B2 (en) * 2006-08-07 2014-10-07 Oovoo Llc Video conferencing over IP networks
US8085290B2 (en) * 2006-12-06 2011-12-27 Cisco Technology, Inc. System and method for displaying a videoconference
JP5241275B2 (ja) * 2008-03-04 2013-07-17 三菱電機株式会社 グループ通信サーバ、通信端末および通信システム
US8243117B2 (en) * 2008-09-26 2012-08-14 Microsoft Corporation Processing aspects of a video scene
US9426304B2 (en) * 2011-09-26 2016-08-23 Solacom Technologies Inc. Answering or releasing emergency calls from a map display for an emergency services platform
JP6079174B2 (ja) * 2011-12-27 2017-02-15 株式会社リコー 通信管理システム、通信システム、プログラム、及びメンテナンスシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5821985A (en) * 1995-02-28 1998-10-13 Nec Corporation Multi-point videoconference system having a fixed control station for data transfer
CN101610165A (zh) * 2009-07-29 2009-12-23 腾讯科技(深圳)有限公司 一种自动扩散资源的方法和装置
CN102811335A (zh) * 2011-06-03 2012-12-05 腾讯科技(深圳)有限公司 建立视频会话的方法、设备和系统
CN103780402A (zh) * 2012-10-23 2014-05-07 北京网动网络科技股份有限公司 一种基于树状网络的多级服务器组网通信方法

Also Published As

Publication number Publication date
CN106488169A (zh) 2017-03-08
JP6389573B2 (ja) 2018-09-12
US10044978B2 (en) 2018-08-07
US20180316891A1 (en) 2018-11-01
JP2018518092A (ja) 2018-07-05
KR101972692B1 (ko) 2019-04-25
WO2017036194A1 (zh) 2017-03-09
KR20170141781A (ko) 2017-12-26
US20180007316A1 (en) 2018-01-04
US10277865B2 (en) 2019-04-30

Similar Documents

Publication Publication Date Title
CN106488169B (zh) 一种数据传输的方法、系统以及相关设备
US11457283B2 (en) System and method for multi-user digital interactive experience
CN108289187B (zh) 网络直播接入视频会议方法及系统
CN108235042B (zh) 一种多人网络直播方法、装置、加入装置、系统、服务器和计算机可读存储介质
EP2933982B1 (en) Media stream transfer method and user equipment
US9948889B2 (en) Priority of uplink streams in video switching
KR20080076803A (ko) 대역요구 시스템, 대역요구 장치, 클라이언트 기기,대역요구 방법, 콘텐츠 재생 방법 및 프로그램
US9374232B2 (en) Method and a device for optimizing large scaled video conferences
US11889159B2 (en) System and method for multi-user digital interactive experience
US11838572B2 (en) Streaming video trunking
CN110943977B (zh) 多媒体业务数据传输方法、服务端、设备及存储介质
CN114546308A (zh) 应用界面投屏方法、装置、设备以及存储介质
US10575065B2 (en) Message sending method and device, code stream processing method and device
EP2890081B1 (en) Aggregated adaptive bit rate streaming
JP2018129599A (ja) 受信装置、受信方法、送信装置、及び送信方法
CN114143569B (zh) 一种网页录制和直播方法及系统
CN108668140B (zh) 音视频交互状态同步方法及装置
CN116248644A (zh) 一种基于WebRTC推流技术的优化方法
CN110830755B (zh) 一种混合网络模式下码流调度方法及装置
CN113301098A (zh) 路径规划方法、cdn连接建立方法、设备及存储介质
CN112019791A (zh) 基于教育考试的多方音视频通话方法及系统
KR102465610B1 (ko) 일대다 영상 송출 제어용 매개 서버 및 제어 방법
US20220094729A1 (en) Live Streaming Architecture with Server-Side Stream Mixing
KR20150103789A (ko) 끊김 없는 화면 전환을 위한 아이피 멀티캐스트 기반 콘텐츠 프리페치 기법
KR20160047374A (ko) 대규모 그룹통신 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210917

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right