掌桥专利:专业的专利平台
掌桥专利
首页

网络直播的连麦互动数据传输方法、装置、系统和设备

文献发布时间:2024-04-18 19:53:33


网络直播的连麦互动数据传输方法、装置、系统和设备

技术领域

本申请涉及网络直播技术领域,特别是涉及一种网络直播的连麦互动数据传输方法、装置、系统、电子设备和计算机可读存储介质。

背景技术

随着网络直播技术的发展,直播应用可供每个用户借助个人终端设备以网络直播的方式与其他用户进行交流以展示自身技能及促进信息传播。其中,网络直播的连麦互动是网络直播中让各用户展示自身技能、促进信息传播的一种互动方式,例如在线KTV是一种连麦互动场景,其通过用户直播连麦,加上伴奏实现KTV功能,展示用户自身歌唱技能。

在目前的技术中,加入连麦互动的各连麦端通过网络直播服务器提供的链路进行连麦互动数据传输,但在线KTV等各类连麦互动场景对连麦用户之间的互动配合度需求较高且各连麦端接入该链路的方式各异,目前技术中提供的连麦互动数据传输方式难以满足各连麦端间对连麦互动数据传输时延的要求。

发明内容

基于此,有必要针对上述技术问题,提供一种网络直播的连麦互动数据传输方法、装置、系统、电子设备和计算机可读存储介质。

第一方面,本申请提供了一种网络直播的连麦互动数据传输方法。所述方法包括:

进入网络直播的连麦互动场景时,在原有链路的基础上,基于连麦互动场景标识与所述连麦互动场景下的其他连麦端建立点对点链路,以及接入所述连麦互动场景标识对应的低延时链路;所述低延时链路基于服务器地址与所述连麦互动场景标识对应的多线服务器建立;

分别通过所述原有链路、点对点链路和低延时链路与所述其他连麦端进行连麦互动数据交互;

获取由所述原有链路、点对点链路和低延时链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据;

在所述连麦互动场景中,呈现由所述具有最优传输时延的链路提供的第一连麦互动数据,以供本端连麦用户提供与所述第一连麦互动数据相配合的第二连麦互动数据。

在一个实施例中,所述基于连麦互动场景标识与所述连麦互动场景下的其他连麦端建立点对点链路,包括:

获取所述连麦互动场景的连麦互动场景标识,获取本连麦端的网络信息;基于所述连麦互动场景标识,通过所述原有链路的广播通道将所述本连麦端的网络信息发送至所述其他连麦端,以及通过原有链路的广播通道接收所述其他连麦端的网络信息;根据所述其他连麦端的网络信息,与所述其他连麦端建立点对点链路。

在一个实施例中,所述根据所述其他连麦端的网络信息,与所述其他连麦端建立点对点链路,包括:

根据所述其他连麦端的网络信息,向所述其他连麦端发送打洞确认请求;接收到来自所述其他连麦端的所述打洞确认请求对应的打洞确认响应时,确定已与所述其他连麦端建立点对点链路。

在一个实施例中,所述基于连麦互动场景标识与所述连麦互动场景下的其他连麦端建立点对点链路之后,所述方法还包括:

若从一点对点链路接收到来自一其他连麦端的链路状态信息中未携带所述连麦互动场景的连麦互动场景标识,则移除与该其他连麦端的点对点链路,或者,则移除与该其他连麦端的点对点链路并通知所述连麦互动场景下的其他连麦端移除与该其他连麦端的点对点链路。

在一个实施例中,所述方法还包括:

通过所述点对点链路与所述其他连麦端进行连麦互动数据交互中,针对已向所述其他连麦端发送的连麦互动数据,在未收到所述其他连麦端反馈的数据接收确认响应时向所述其他连麦端重传该连麦互动数据,并且,在接收到所述其他连麦端发送的数据重传请求时向所述其他连麦端重传该连麦互动数据。

在一个实施例中,所述接入所述连麦互动场景标识对应的低延时链路,包括:

获取所述连麦互动场景的连麦互动场景标识,获取本连麦端的网络信息;将所述连麦互动场景标识以及网络信息发送至分配服务器,以供所述分配服务器根据所述连麦互动场景标识以及网络信息分配相应的多线服务器;接收所述分配服务器发送的服务器地址;将携带所述连麦互动场景标识的登陆命令发送至所述服务器地址对应的多线服务器;接收到所述多线服务器反馈的登陆回复时,确定已接入所述低延时链路。

在一个实施例中,所述获取由所述原有链路、点对点链路和低延时链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据,包括:

将从所述原有链路、点对点链路和低延时链路传入的各路连麦互动数据依传入时序送入数据队列;确定当前待呈现的连麦互动数据的数据序号;从所述数据队列的各路连麦互动数据中获取与所述数据序号对应的且最先送入所述数据队列的连麦互动数据,得到所述第一连麦互动数据。

第二方面,本申请提供了一种网络直播的连麦互动数据传输装置。所述装置包括:

链路建立模块,用于进入网络直播的连麦互动场景时,在原有链路的基础上,基于连麦互动场景标识与所述连麦互动场景下的其他连麦端建立点对点链路,以及接入所述连麦互动场景标识对应的低延时链路;所述低延时链路基于服务器地址与所述连麦互动场景标识对应的多线服务器建立;

数据交互模块,用于分别通过所述原有链路、点对点链路和低延时链路与所述其他连麦端进行连麦互动数据交互;

数据获取模块,用于获取由所述原有链路、点对点链路和低延时链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据;

数据呈现模块,用于在所述连麦互动场景中,呈现由所述具有最优传输时延的链路提供的第一连麦互动数据,以供本端连麦用户提供与所述第一连麦互动数据相配合的第二连麦互动数据。

第三方面,本申请提供了一种网络直播的连麦互动数据传输系统。所述系统包括:各连麦端、用于形成原有链路的所述各连麦端的接入设备和原有链路服务器,以及多线服务器;其中,所述各连麦端的接入设备用于形成点对点链路,所述各连麦端的接入设备和多线服务器用于形成低延时链路;所述各连麦端用于根据如上所述的方法传输连麦互动数据。

第四方面,本申请提供了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法的步骤。

第五方面,本申请提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。

上述网络直播的连麦互动数据传输方法、装置、系统、设备和介质,进入网络直播的连麦互动场景时,在原有链路的基础上,基于连麦互动场景标识与该场景下的其他连麦端建立点对点链路以及接入基于地址与场景标识对应的多线服务器建立的低延时链路,然后分别通过该些链路与其他连麦端进行连麦互动数据交互,获取由该些链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据,然后在该场景中呈现该第一连麦互动数据以供本端连麦用户提供与该第一连麦互动数据相配合的第二连麦互动数据。该方案可为进入连麦互动场景的每一连麦端,在原有链路的基础上新增点对点链路及低延时链路,且三条链路各自独立传输完整的连麦互动数据,在本连麦端为本端连麦用户呈现来自其他连麦端的连麦互动数据时,选择具有最优传输时延的链路提供的第一连麦互动数据进行呈现便于用户能够及时配合反馈第二连麦互动数据,实现在不影响原有链路的情况下,通过原有链路、点对点链路和低延时链路覆盖各类连麦端在连麦互动场景中的接入,可使场景中连麦互动数据传输时延尽可能降低,以满足在线KTV等连麦互动场景中各连麦端间对连麦互动数据传输时延的要求,便于各端连麦用户能够在相应连麦互动场景中与其他端连麦用户进行高配合度互动。

附图说明

图1为本申请实施例中网络直播的连麦互动数据传输方法的应用场景图;

图2为本申请实施例中网络直播的连麦互动数据传输方法的流程示意图;

图3(a)为本申请实施例中原有链路的示意图;

图3(b)为本申请实施例中点对点链路的示意图;

图3(c)为本申请实施例中低延时链路的示意图;

图4为本申请实施例中建立点对点链路的步骤的流程示意图;

图5为本申请实施例中接入低延时链路的步骤的流程示意图;

图6为本申请实施例中获取第一连麦互动数据的步骤的流程示意图;

图7为本申请实施例中网络直播的连麦互动数据传输系统的示意图;

图8为本申请实施例中网络直播的连麦互动数据传输装置的结构框图;

图9为本申请实施例中电子设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的网络直播的连麦互动数据传输方法,可以应用于如图1所示的应用场景中,该应用场景可以包含多个连麦端,为便于方案描述与理解,在图1中示出第一、第二和第三连麦端,分别由第一连麦用户11、第二连麦用户12和第三连麦用户13所使用,各连麦用户可使用各自的连麦端接入网络直播服务提供的链路进行连麦互动数据传输。其中,第一、第二和第三连麦端可以但不限于是个人计算机、智能手机、平板电脑等电子设备。本申请中,对于加入连麦互动场景的各连麦端,网络直播服务在原有链路的基础上新增点对点链路(P2P链路)和低延时链路供任一连麦端与其他连麦端进行连麦互动数据交互。具体而言,对于加入连麦互动场景的第一、第二和第三连麦端,第一连麦端可通过原有链路、点对点链路和低延时链路与第二、第三连麦端进行连麦互动数据交互,第二连麦端可通过原有链路、点对点链路和低延时链路与第一、第三连麦端进行连麦互动数据交互,第三连麦端可通过原有链路、点对点链路和低延时链路与第一、第二连麦端进行连麦互动数据交互,本申请可在不影响原有链路的情况下,通过原有链路、点对点链路和低延时链路覆盖各类连麦端在连麦互动场景中的接入,使场景中连麦互动数据传输时延尽可能降低,以满足在线KTV等连麦互动场景中各连麦端间对连麦互动数据传输时延的要求,便于各端连麦用户能够在相应连麦互动场景中与其他端连麦用户进行高配合度互动。

下面在图1的基础上结合各实施例及相应附图对本申请提供的网络直播的连麦互动数据传输方法进行说明。

在一个实施例中,如图2所示,提供了一种网络直播的连麦互动数据传输方法,该方法可由如图1中所示的任一连麦端执行,本实施例中,执行该方法的连麦端称为本连麦端,使用本连麦端的用户称为本端连麦用户。该方法包括以下步骤:

步骤S201,进入网络直播的连麦互动场景时,在原有链路的基础上,基于连麦互动场景标识与连麦互动场景下的其他连麦端建立点对点链路,以及接入连麦互动场景标识对应的低延时链路。

本步骤中,本连麦端进入网络直播的连麦互动场景时,在网络直播的原有链路的基础上,本连麦端基于连麦互动场景标识与连麦互动场景下的其他连麦端建立点对点链路,以及本连麦端接入连麦互动场景标识对应的低延时链路。

具体的,连麦互动场景可以是直播连麦互动中的在线KTV,在线KTV是通过多用户连麦,加上本地伴奏实现线下的KTV功能,在线KTV中有主唱用户和伴唱用户,主唱用户即在线KTV的发起者,通常由主唱用户决定合唱哪个或哪些曲目,整个合唱过程中有且仅有一个主唱用户,伴唱用户即接受主唱用户进行一起合唱的用户,整个合唱过程中至少有一个伴唱用户,但不限于一个伴唱用户。连麦互动场景标识是指对该连麦互动场景具有唯一标示或识别作用的标识,对于在线KTV,连麦互动场景标识可以是主唱用户的UID(UserIdentification,用户账号)。由此,本连麦端进入在线KTV场景时,在原有链路的基础上,本连麦端可基于主唱用户的UID与同样进入该在线KTV场景的其他连麦端建立点对点链路,以及本连麦端接入该主唱用户的UID对应的低延时链路。其中,本连麦端可以是主唱用户使用的连麦端,也可以是伴唱用户使用的连麦端。

对于上述原有链路、点对点链路和低延时链路,依次结合图3(a)至图3(c)进行分别说明。

图3(a)以第一、第二连麦端为例示出原有链路。其中,第一连麦端通过第一接入设备(如网关)接入该原有链路,第二连麦端通过第二接入设备(如网关)接入该原有链路,原有链路可基于第一、第二前端服务器以及网间服务器建立。其中,第一、第二前端服务器具体可采用AVP服务器(音视频前端服务器),可用于接收及分发用户上行的音视频数据,网间服务器可用于跨机房、跨区域的连接,第一前端服务器可直接与第二前端服务器连接,也可以通过网间服务器与第二前端服务器连接。在原有链路中,第一、第二连麦端都是就近接入相应的前端服务器(即第一、第二前端服务器)的,即接入离用户最近的前端服务器,这对于普通的连麦来说,该原有链路基本能满足其对时延的要求,但对于对连麦用户之间的互动配合度需求较高如在线KTV等连麦互动场景来说,由于连麦端接入方式各异,难以确保该原有链路能够满足其对时延的要求。例如,在线KTV场景中,合唱的声音从采集到连麦用户真正能听到,延时不能过高,一旦超过一定延时阈值,则会对连麦用户的互动配合造成很大影响,影响其用户体验。

以在线KTV场景中主唱用户与伴唱用户为例,对于该原有链路对接入方式各异的连麦端的时延影响,包括:

1、当主唱用户和伴唱用户在相对较近的区域,但由于就近接入,加上资源的平衡调度,主唱用户和伴唱用户不一定能分配到距离比较近的前端服务器,很容易就出现时延超出可接受的时延阈值。

2、当主唱用户和伴唱用户在相对较远的区域,如果就近接入,可能导致接入的前端服务器更远,通过网间服务器时延就会超过可接受的时延阈值。

3、当主唱用户和伴唱用户处于不同运营商,由于该原有链路中各前端服务器通常是部署在边缘节点的单线机房,所以主唱用户和伴唱用户需要相互通讯,就需要走跨运营商的服务器,即会经过多级的网间服务器,两者的时延就远超出可接受的时延阈值。

本申请在原有链路的基础上,新增点对点链路及低延时链路,即在不对原有链路进行改造的情况下,可针对如在线KTV等连麦互动场景,动态选择满足极低时延的链路。

图3(b)以第一、第二和第三连麦端为例示出各连麦端相互之间的点对点链路。其中,第一、第二和第三连麦端各自通过第一、第二和第三接入设备相互建立点对点链路,该点对点链路为虚拟链路,可复用原有链路的UDP连接。

图3(c)以第一、第二连麦端为例示出低延时链路。其中,第一连麦端通过第一接入设备接入该低延时链路,第二连麦端通过第二接入设备接入该低延时链路,该低延时链路基于服务器地址与连麦互动场景标识对应的多线服务器建立。其中,服务器地址与连麦互动场景标识对应是指一个连麦互动场景标识对应一个服务器地址,也即,加入到同一在线KTV等连麦互动场景的各连麦端均会被分配至同一服务器地址的多线服务器(多线机房),且多线服务器可支持不同的运营商的用户接入,由此,该基于服务器地址与连麦互动场景标识对应的多线服务器所建立的链路与前述原有链路相比具有更低的时延,故将该链路称为低延时链路。

步骤S202,分别通过原有链路、点对点链路和低延时链路与其他连麦端进行连麦互动数据交互。

本步骤中,本连麦端分别通过原有链路、点对点链路和低延时链路与连麦互动场景下的其他连麦端进行连麦互动数据交互。其中,原有链路、点对点链路和低延时链路各自独立传输连麦互动数据,也即每条链路都能保证连麦互动数据的完整性。示例性的,本连麦端除将连麦互动数据A通过原有链路发送至其他连麦端外,还将该连麦互动数据A通过点对点链路、低延时链路发送至其他连麦端,相应的,本连麦端除可从原有链路接收来自其他连麦端的连麦互动数据B外,还可以从点对点链路、低延时链路接收该连麦互动数据B。

步骤S203,获取由原有链路、点对点链路和低延时链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据。

本步骤中,本连麦端能从原有链路、点对点链路和低延时链路接收来自其他连麦端的连麦互动数据,为使传输时延尽可能低,本连麦端获取由该三条链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的连麦互动数据,记为第一连麦互动数据。示例性的,如果本连麦端从点对点链路先接收到来自其他连麦端的连麦互动数据,则该点对点链路为最优传输时延的链路,该接收到的连麦互动数据为第一连麦互动数据。

步骤S204,在连麦互动场景中,呈现由具有最优传输时延的链路提供的第一连麦互动数据,以供本端连麦用户提供与第一连麦互动数据相配合的第二连麦互动数据。

本步骤中,本连麦端获得由具有最优传输时延的链路提供的第一连麦互动数据后,在连麦互动场景中,为本端连麦用户呈现该第一连麦互动数据,以供本端连麦用户提供与第一连麦互动数据相配合的第二连麦互动数据。以在线KTV场景为例,本连麦端设为主唱用户的连麦端,该第一连麦互动数据设为伴唱用户的音频数据,本连麦端接收到伴唱用户的音频数据后为主唱用户播放,以供主唱用户提供与之合唱的音频数据。

本申请通过原有链路、点对点链路和低延时链路覆盖各类连麦端在连麦互动场景中的接入,使场景中连麦互动数据传输时延尽可能降低,以满足在线KTV等连麦互动场景中各连麦端间对连麦互动数据传输时延的要求,便于各端连麦用户能够在相应连麦互动场景中与其他端连麦用户进行高配合度互动。结合原有链路、点对点链路和低延时链路来说,点对点链路因为没有中间交互环节,所有的连麦互动数据都是点对点,属于最短的链路,通常仅受限于连麦端之间的点对点打通情况,故该链路能在大部分情况生效;低时延链路基于多线服务器构建,能够尽量保证各连麦端的链路的最低时延,满足绝大部分连麦端;对于极小部分连麦端,其相互可能不能打通,或者低时延链路的时延可能比原有链路的时延大的情况,也能借助原有链路保证一定的时延,从而确保覆盖各类连麦端在连麦互动场景中的接入,使连麦互动数据传输时延尽可能降低。

本实施例的方法,可为进入连麦互动场景的每一连麦端,在原有链路的基础上新增点对点链路及低延时链路,且三条链路各自独立传输完整的连麦互动数据,在本连麦端为本端连麦用户呈现来自其他连麦端的连麦互动数据时,选择具有最优传输时延的链路提供的第一连麦互动数据进行呈现便于用户能够及时配合反馈第二连麦互动数据,实现在不影响原有链路的情况下,通过原有链路、点对点链路和低延时链路覆盖各类连麦端在连麦互动场景中的接入,可使场景中连麦互动数据传输时延尽可能降低,以满足在线KTV等连麦互动场景中各连麦端间对连麦互动数据传输时延的要求,便于各端连麦用户能够在相应连麦互动场景中与其他端连麦用户进行高配合度互动。

对于点对点链路的建立,在一些实施例中,如图4所示,步骤S201中的基于连麦互动场景标识与连麦互动场景下的其他连麦端建立点对点链路,可以包括:

步骤S401,获取连麦互动场景的连麦互动场景标识,获取本连麦端的网络信息。

步骤S402,基于连麦互动场景标识,通过原有链路的广播通道将本连麦端的网络信息发送至其他连麦端,以及通过原有链路的广播通道接收其他连麦端的网络信息。

步骤S403,根据其他连麦端的网络信息,与其他连麦端建立点对点链路。

本实施例的步骤S401中,进入网络直播的连麦互动场景时,本连麦端获取连麦互动场景的连麦互动场景标识,以及获取本连麦端的网络信息,网络信息可以包括本连麦端的外网IP、外网端口、局域网IP及局域网端口等信息,连麦互动场景标识在在线KTV场景中可以是主唱用户的UID。上述步骤S402中,本连麦端可以主唱用户的UID为关键字key,将本连麦端自身的外网IP、外网端口、局域网IP及局域网端口作为网络信息,通过原有链路的广播通道同步给所有伴唱用户的连麦端(即其他连麦端),相应的,所有伴唱用户的连麦端(即其他连麦端)也可以主唱用户的UID为关键字key,将其自身的外网IP、外网端口、局域网IP及局域网端口作为网络信息同步给主唱用户的连麦端(即本连麦端)以及其他伴唱用户的连麦端,由此本连麦端可通过原有链路的广播通道接收其他连麦端的网络信息。然后在步骤S403中,本连麦端即可根据其他连麦端的网络信息,与其他连麦端建立点对点链路。本实施例中,各连麦端基于连麦互动场景标识能够准确地与进入到同一连麦互动场景的其他连麦端相互建立点对点链路。

进一步的,作为一个实施例,步骤S403具体包括:根据其他连麦端的网络信息,向其他连麦端发送打洞确认请求;接收到来自其他连麦端的打洞确认请求对应的打洞确认响应时,确定已与其他连麦端建立点对点链路。

本实施例中,本连麦端接收到其他连麦端的网络信息后,就尝试通过外网及内网进行点对点打洞。本连麦端向该其他连麦端发送打洞确认请求,该打洞确认请求可具体为打洞协议包,当该其他连麦端接收到本连麦端的打洞协议包后,当符合相关条件时,该其他连麦端即回复成功接收打洞协议即打洞确认响应,本连麦端接收到来自该其他连麦端的打洞确认请求对应的打洞确认响应即成功接收打洞协议时,完成整个打洞流程,确定与之建立点对点链路,可将对应的其他连麦端的状态设置为已打通状态,该其他连麦端也可启动相同的打洞流程,只有其中一端完成整一流程即完成打洞并将对应连麦端的状态置为已打通状态。

进一步的,在一些实施例中,在步骤S201中的基于连麦互动场景标识与连麦互动场景下的其他连麦端建立点对点链路之后,还包括以下步骤:

若从一点对点链路接收到来自一其他连麦端的链路状态信息中未携带连麦互动场景的连麦互动场景标识,则移除与该其他连麦端的点对点链路,或者,则移除与该其他连麦端的点对点链路并通知连麦互动场景下的其他连麦端移除与该其他连麦端的点对点链路。

本实施例中,本连麦端对已打洞成功的其他连麦端,可在相应的点对点链路定时发送ping包,相应的其他连麦端接收到ping判断一致时即回复pingRes进行的保活和计算rtt(Round-Trip Time,往返时延)及丢包率等链路状态信息,该链路状态信息需携带前述连麦互动场景的连麦互动场景标识。若本连麦端在一点对点链路接收到来自一其他连麦端的链路状态信息中未携带该连麦互动场景的连麦互动场景标识,则移除与该其他连麦端的点对点链路,及通知对端也做相应的移除动作,以节约数据传输资源且防止非同一互动场景的数据造成干扰。其中,未携带该连麦互动场景的连麦互动场景标识包括没有携带任何连麦互动场景标识或者携带的连麦互动场景标识与前述连麦互动场景的连麦互动场景标识不一致。除移除与该其他连麦端的点对点链路以外,本连麦端还可通知连麦互动场景下的其他连麦端移除与该其他连麦端的点对点链路,迅速使该连麦互动场景下各连麦端均可节约数据传输资源且防止非同一互动场景的数据造成干扰。

进一步的,在一些实施例中,对于点对点链路,上述方法还可包括以下步骤:

通过点对点链路与其他连麦端进行连麦互动数据交互中,针对已向其他连麦端发送的连麦互动数据,在未收到其他连麦端反馈的数据接收确认响应时向其他连麦端重传该连麦互动数据,并且,在接收到其他连麦端发送的数据重传请求时向其他连麦端重传该连麦互动数据。

本实施例主要是在点对点链路中实施上下行重传,通过双重传保证该链路的连麦互动数据的完整性,以冗余数据换取低时延,满足其极其时延的需求。

具体的,本连麦端通过点对点链路与其他连麦端进行连麦互动数据交互中,本连麦端将一连麦互动数据发送给其他连麦端,其他连麦端收到该连麦互动数据会反馈数据接收确认响应,当本连麦端接收到数据接收确认响应时,本连麦端可确定前述连麦互动数据已被其他连麦端所接收。在此场景下,针对已向其他连麦端发送的连麦互动数据,本连麦端进行记录,对没接收到其他连麦端反馈的数据接收确认响应的连麦互动数据,本连麦端进行重传即上行重传;相应的,其他连麦端可接收本连麦端的连麦互动数据,因连麦互动数据如音频数据包通常是有连续的包序号的,故其他连麦端可对接收到的连麦互动数据的数据序号进行记录,检索出未接收到的数据序号,当未接收到该连麦互动数据的时间超过RTO(Retransmission TimeOut,重传超时时间)时,其他连麦端即向本连麦端发送数据重传请求,本连麦端在接收到其他连麦端发送的数据重传请求时,向该其他连麦端重传该连麦互动数据,该流程为下行重传。其中,由于例如主唱用户发给伴唱用户的音频数据包是伴唱用户所在端直接消费的,所以通常只需做上行重传或下行重传即可以保证发给伴唱的音频数据是完整的,但由于极低时延的需求,本实施例对点对点链路进行了上下行重传覆盖数据的完整性。

本申请中,对于点对点链路,因各连麦端的网络基本上是属于能打通的,所以各连麦端间基本就能够建立起有效的点对点链路,而在点对点链路上传输的直播连麦互动数据,少了服务器的转发处理,直接点对点,在KTV场景中,对于物理距离为中短距离的主唱与伴唱用户,那点对点链路可为之提供KTV所需要的低时延,从而满足KTV场景对网络时延的要求。

对于低延时链路的建立,在一些实施例中,如图5所示,步骤S201中的接入连麦互动场景标识对应的低延时链路,可以包括:

步骤S501,获取连麦互动场景的连麦互动场景标识,获取本连麦端的网络信息。

步骤S502,将连麦互动场景标识以及网络信息发送至分配服务器,以供分配服务器根据连麦互动场景标识以及网络信息分配相应的多线服务器。

步骤S503,接收分配服务器发送的服务器地址。

步骤S504,将携带连麦互动场景标识的登陆命令发送至服务器地址对应的多线服务器。

步骤S505,接收到多线服务器反馈的登陆回复时,确定已接入低延时链路。

本实施例的步骤S501中,进入网络直播的连麦互动场景时,本连麦端获取连麦互动场景的连麦互动场景标识以及获取本连麦端的网络信息,可以包括本连麦端的外网IP、外网端口、局域网IP及局域网端口等信息,连麦互动场景标识在在线KTV场景中可以是主唱用户的UID。结合图3(c),在步骤S502中,本连麦端以主唱用户的UID(即连麦互动场景标识)为关键字key,带上自身的外网IP、外网端口、局域网IP及局域网端口作为网络信息发送至分配服务器,向分配服务请求分配对应的服务器地址,分配服务器根据连麦互动场景标识以及网络信息分配相应的多线服务器并将该标识对应的服务器地址反馈给本连麦端,相应的,对于其他连麦端也以主唱用户的UID为关键字key,带上自身的外网IP、外网端口、局域网IP及局域网端口作为网络信息发送至分配服务器以请求分配对应的服务器地址。对于分配服务器,其会根据接收的先后将各连麦端分配到同一服务器地址的多线服务器下,分配服务器可与该多线服务器进行信息交互使多线服务器获知对应于该连麦互动场景标识的各连麦端的网络信息。步骤S503至步骤S505中,本连麦端接收到分配服务器分配的服务器地址,会新建UDP链路连接该服务器地址对应的多线服务器,并向该服务器地址对应的多线服务器发送携带前述连麦互动场景标识的登陆命令,当本连麦端接收到多线服务器反馈的登陆回复时,本连麦端确定该低延时链路链路可用且已接入低延时链路。本实施例中,借助分配服务器,同一连麦互动场景的各连麦端可基于连麦互动场景标识接入同一服务器地址的多线服务器提供的低延时链路。

对于该低延时链路,当本连麦端接入后,本连麦端会向多线服务器开播和发送连麦互动数据,接入的其他连麦端也会执行相同的操作。多线服务器接收到本连麦端的连麦互动数据,会将其分发给其他连麦端,也会将其他连麦端的连麦互动数据分发给本连麦端。在低延时链路中,各连麦端发送的数据都可带上连麦互动场景标识,故该场景下的各连麦端都会默认在同一圈子,多线服务器会默认自动分发圈内的连麦互动数据,即在例如在线KTV场景下,主唱用户会收到所有伴唱用户的音频数据,伴唱用户会收到主唱用户及其他伴唱用户的音频数据,进一步的,主唱用户及伴唱用户会针对其上行的音频数据进行上行重传,从而保证该链路的上行是完整的,主唱用户及伴唱用户还可对接收到的每条下行音频数据分别建立下行重传,从而保证来自多线服务器的所有音频数据都是完整的。

本申请中,对于处于不同运营商、有效距离相对比较远、打通不了或节点间的rtt过高的各连麦端,低延时链路可为其提供低延时的连麦互动数据传输,低延时链路是一条大概率比原有链路更优的链路,所有信令都可使用UDP,在上下行可使用相对激进的重传策略。

在一些实施例中,如图6所示,步骤S203中的获取由原有链路、点对点链路和低延时链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据,具体包括:

步骤S601,将从原有链路、点对点链路和低延时链路传入的各路连麦互动数据依传入时序送入数据队列。

步骤S602,确定当前待呈现的连麦互动数据的数据序号。

步骤S603,从数据队列的各路连麦互动数据中获取与数据序号对应的且最先送入数据队列的连麦互动数据,得到第一连麦互动数据。

本实施例的步骤S601中,本连麦端将从原有链路、点对点链路和低延时链路传入的各路连麦互动数据依传入时序送入数据队列。其中,各路连麦互动数据包括该每一链路传入的连麦互动数据,每一链路都能保证连麦互动数据的完整性;传入时序是指传入的时间顺序。本连麦端将该三路传入的连麦互动数据根据其传入的时间顺序依序放到一数据队列中。每一连麦互动数据具有相应的数据序号,如对于来自主唱用户的音频数据包,具有对应的包序号,本连麦端按照包序号为用户播放来自主唱用户的音频数据。由此,在步骤S602和S603中,本连麦端确定当前待呈现的连麦互动数据的数据序号,如确定将为本端连麦用户播放的音频数据的包序号,然后从数据队列的各路连麦互动数据中获取与该数据序号对应的且最先送入数据队列的连麦互动数据,将该连麦互动数据作为第一连麦互动数据,如本连麦端确定的数据序号为10,则本连麦端从数据队列的各路连麦互动数据中获取数据序号为10的连麦互动数据,由于三路传入的连麦互动数据均会包含该数据序号为10的连麦互动数据,为满足延时需求,本连麦端将数据序号为10且最先送入数据队列的连麦互动数据作为第一连麦互动数据,对于数据队列中剩余的数据序号为10的连麦互动数据,本连麦端做去重处理。本实施例中,三条链路各自独立传输连麦互动数据,即每条链路都能保证连麦互动数据的完整性,当其中一条链路时延表现最优时,会动态自适应使用该链路的连麦互动数据。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种网络直播的连麦互动数据传输系统,该系统包括:各连麦端、用于形成原有链路的该各连麦端的接入设备和原有链路服务器,以及多线服务器;其中,各连麦端的接入设备用于形成点对点链路,各连麦端的接入设备和多线服务器用于形成低延时链路;各连麦端用于根据如上任一项实施例所述的方法传输连麦互动数据。

具体的,参考图7,以各连麦端包括第一连麦端和第二连麦端为例对本实施例进行说明。其中,该系统包括第一、第二连麦端,还包括用于形成原有链路的第一、第二接入设备和原有链路服务器。其中,原有链路服务器可以包括第一、第二前端服务器和网间服务器。该系统还可以包括多线服务器和分配服务器。其中,第一、第二接入设备可形成点对点链路;第一、第二接入设备和多线服务器可在分配服务器的协助下形成低延时链路。

进一步以在线KTV为网络直播的连麦互动场景,第一连麦端为主唱用户的连麦端、第二连麦端为伴唱用户的连麦端进行说明。

对于P2P链路,进入KTV场景的第一连麦端,以主唱用户的UID为key,将自身的外网IP、外网端口、局域网IP及局域网端口通过原有链路的广播通道同步给第二连麦端,同理第二连麦端也会以主唱用户的UID为key,将自身的的外网IP、外网端口、局域网IP及局域网端口通过原有链路的广播通道同步给第一连麦端。第二连麦端接收到主唱用户的网络信息,就尝试通过外网及内网进行P2P打洞,向第一连麦端发送打洞协议包,第一连麦端接收到第二连麦端的打洞协议,当符合相关条件时即回复成功接收打洞协议,第二连麦端接收到第一连麦端回复的成功打洞协议即完成整个打洞流程;第二连麦端也会启动相同的流程,只有其中一端完成整一流程即完成打洞,并将对应节点的状态置为已打通状态。对已打洞成功的连麦端,定时发ping包,接收到ping判断一致时即回复pingRes进行的保活和计算rtt及丢包率等信息,接收到该信息中未携带前述主唱用户的UID时,即将该连麦端的P2P链路移除,并通知对端也做相应的移除动作。其中,当第一连麦端向原有链路发音频数据包时,会同时向已打通的第二连麦端分发一份音频数据包,第二连麦端在接收到音频数据包后,则放到播放队列中,三个链路来的音频数据包会去重及优先播放先来到的音频数据包。由于接收到音频数据包则是使用方,不需要分发,故通常只需要使用上行重传或下行重传即可,但由于极低时延的需求,故针对P2P链路进行上下行重传,通过双重传保证该链路的音频数据的完整性,以冗余数据换取低时延。

对于P2P链路的上下行重传,举例来说,第一连麦端发送音频数据包给第二连麦端,第二连麦端会回复ACK(数据接收确认响应)给第一连麦端,当第一连麦端收到ACK时,则表示该音频数据包已被第二连麦端接收。第一连麦端根据对发送的音频数据包进行记录,对没接收到ACK的音频数据包进行重传,即为上行重传;第二连麦端接收到第一连麦端的音频数据包,因为音频数据包是有连续的包序号的,第二连麦端对接收到的音频数据包进行记录,检索出未接收到的包序号,当未接收到音频数据包超过rto时,向第一连麦端发送NAK请求(数据重传请求),请求第一连麦端重发该音频数据包,这个流程是下行重传。因为第一连麦端发给第二连麦端的音频数据包是第二连麦端直接消费的,只需做上行重传或下行重传即可以保证第一连麦端发给第二连麦端的数据是完整的,但由于极低时延的需求,所以针对P2P链路进行了上下行重传覆盖数据的完整性。

P2P链路的作用在于,因主唱、伴唱用户的网络基本上是属于能打通的,所以主唱、伴唱用户基本就能建立起有效的P2P链路,P2P链路的音频数据少了服务器的转发处理,直接点到点,主唱、伴唱用户的物理距离为中短距离时,该链路能达到KTV所需要的低时延,从而满足KTV场景对网络时延的要求。

对于低延时链路,进入KTV场景的,第一、第二连麦端都会以主唱的UID为key,带上自身的外网IP、外网端口、局域网IP及局域网端口向分配服务器请求分配服务器地址,分配服务器会按接收的先后顺序将第一、第二连麦端分配到同一服务器地址的多线服务器下,多线服务器能支持不同的运营商的用户接入。第一连麦端接收到分配的服务器地址,会新建UDP链路连接地址对应的多线服务器,并向多线服务器发送携带主唱的UID的登陆命令,接收到多线服务器的登陆回复时,第一连麦端判定为该低时延链路可用且已接入。当成功接入低时延链路,第一连麦端会向多线服务器开播音频和发送音频数据包,同样第二连麦端也会执行相同的操作。多线服务器接收到第一连麦端的音频数据,会将其分发给第二连麦端;同理也会将第二连麦端的音频数据分发给第一连麦端。因为接入该低时延链路的连麦端都带上主唱的UID,故主唱和伴唱都会默认在同一圈子,多线服务器会默认自动分发圈内的音频数据,即主唱会收到所有伴唱的音频数据,对于伴唱则会收到主唱和其它伴唱的音频数据。其中,主唱和伴唱会针对其上行的音频数据进行上行重传,从而保证该链路的上行是完整的;主唱和伴唱都会对接收到的每条下行音频数据分别建立下行重传,从而保证来自多线服务器的所有音频数据都是完整的。

低延时链路的可适用于当主唱和伴唱处于不同的运营商上、主唱的有效距离相对比较远、打通不了或者节点间的rtt过高的情况,且低延时链路是一条大概率比原有链路更优的链路,其所有信令都可使用UDP,在上下行可使用相对激进的重传策略。

本实施例中,三条链路保证KTV场景下的极低延时。其中,三条链路各自独立传输音频数据,每条链路都能保证音频数据的完整性,当其中一条链路传输时延最优时,默认使用最优链路的音频数据。其中,P2P链路因为没有中间交互环节,所有的数据都是点对点,属于最短的链路,受限于用户间的P2P打通情况,故该链路能在大部分情况生效;低时延链路,属于新增的多线服务器,尽量保证主唱与伴唱、各伴唱间的链路的最低时延,满足于绝大部分用户;对于极小部分用户,处于如主唱和伴唱相互不能打通、低时延链路的延时比原有链路的延时大等情况,也能通过原有链路保证一定的时延,从而确保KTV场景下对各连麦用户的全覆盖。在KTV场景下,若音频码率为128kbps,则对于常规的KTV场景,增加的音频为2路上行+2路下行,即对于主唱用户和伴唱用户,正常情况下增加约300kbps的上行和300kbps的下行,大部分的用户的网络均能满足,实现在不影响原有链路的情况下,增加相应的设备即可动态达到KTV上线的网络时延,尽可能将KTV场景的延时降到最低并覆盖全部主播用户。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的网络直播的连麦互动数据传输方法的网络直播的连麦互动数据传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网络直播的连麦互动数据传输装置实施例中的具体限定可以参见上文中对于网络直播的连麦互动数据传输方法的限定,在此不再赘述。

在一个实施例中,如图8所示,提供了一种网络直播的连麦互动数据传输装置,该装置800可以包括:

链路建立模块801,用于进入网络直播的连麦互动场景时,在原有链路的基础上,基于连麦互动场景标识与所述连麦互动场景下的其他连麦端建立点对点链路,以及接入所述连麦互动场景标识对应的低延时链路;所述低延时链路基于服务器地址与所述连麦互动场景标识对应的多线服务器建立;

数据交互模块802,用于分别通过所述原有链路、点对点链路和低延时链路与所述其他连麦端进行连麦互动数据交互;

数据获取模块803,用于获取由所述原有链路、点对点链路和低延时链路中对其他连麦端的连麦互动数据具有最优传输时延的链路提供的第一连麦互动数据;

数据呈现模块804,用于在所述连麦互动场景中,呈现由所述具有最优传输时延的链路提供的第一连麦互动数据,以供本端连麦用户提供与所述第一连麦互动数据相配合的第二连麦互动数据。

在一个实施例中,链路建立模块801,用于获取所述连麦互动场景的连麦互动场景标识,获取本连麦端的网络信息;基于所述连麦互动场景标识,通过所述原有链路的广播通道将所述本连麦端的网络信息发送至所述其他连麦端,以及通过原有链路的广播通道接收所述其他连麦端的网络信息;根据所述其他连麦端的网络信息,与所述其他连麦端建立点对点链路。

在一个实施例中,链路建立模块801,用于根据所述其他连麦端的网络信息,向所述其他连麦端发送打洞确认请求;接收到来自所述其他连麦端的所述打洞确认请求对应的打洞确认响应时,确定已与所述其他连麦端建立点对点链路。

在一个实施例中,链路建立模块801,还用于若从一点对点链路接收到来自一其他连麦端的链路状态信息中未携带所述连麦互动场景的连麦互动场景标识,则移除与该其他连麦端的点对点链路,或者,则移除与该其他连麦端的点对点链路并通知所述连麦互动场景下的其他连麦端移除与该其他连麦端的点对点链路。

在一个实施例中,链路建立模块801,还用于通过所述点对点链路与所述其他连麦端进行连麦互动数据交互中,针对已向所述其他连麦端发送的连麦互动数据,在未收到所述其他连麦端反馈的数据接收确认响应时向所述其他连麦端重传该连麦互动数据,并且,在接收到所述其他连麦端发送的数据重传请求时向所述其他连麦端重传该连麦互动数据。

在一个实施例中,链路建立模块801,用于获取所述连麦互动场景的连麦互动场景标识,获取本连麦端的网络信息;将所述连麦互动场景标识以及网络信息发送至分配服务器,以供所述分配服务器根据所述连麦互动场景标识以及网络信息分配相应的多线服务器;接收所述分配服务器发送的服务器地址;将携带所述连麦互动场景标识的登陆命令发送至所述服务器地址对应的多线服务器;接收到所述多线服务器反馈的登陆回复时,确定已接入所述低延时链路。

在一个实施例中,数据获取模块803,用于将从所述原有链路、点对点链路和低延时链路传入的各路连麦互动数据依传入时序送入数据队列;确定当前待呈现的连麦互动数据的数据序号;从所述数据队列的各路连麦互动数据中获取与所述数据序号对应的且最先送入所述数据队列的连麦互动数据,得到所述第一连麦互动数据。

上述网络直播的连麦互动数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种电子设备,该电子设备可以是用户终端,其内部结构图可以如图9所示。该电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的设备进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网络直播的连麦互动数据传输方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种检测闪存器件耦合率的器件及其制作方法
  • 光学耦合器件及制造光学耦合器件的方法
  • 铌酸锂薄膜芯片、光学器件及光学器件的耦合方法
技术分类

06120116338040