一种数据传输的方法、系统以及相关设备与流程

文档序号:12183528阅读:247来源:国知局
一种数据传输的方法、系统以及相关设备与流程

本发明涉及互联网技术领域,尤其涉及一种数据传输的方法、系统以及相关设备。



背景技术:

随着在线教育、秀场主播、游戏直播等业务的繁荣与发展,多人实时音视频通话服务后台也承受着越来越大的压力。例如,目前的基于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(Content Delivery 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 Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1