直播数据处理方法、装置、系统及计算机可读存储介质与流程

文档序号:18824913发布日期:2019-10-09 01:25阅读:141来源:国知局
直播数据处理方法、装置、系统及计算机可读存储介质与流程

本发明属于计算机技术领域,特别是涉及一种直播数据处理方法、装置、系统及计算机可读存储介质。



背景技术:

为了满足用户的使用需求,往往需要传输数据,不同的场景中,数据传输的要求不同,例如,在传输直播数据时,往往需要尽可能的缩短数据传输时间,以确保数据传输的实时性,其中,该直播数据可以是直播中产生的直播数据流。

现有技术中,通常是采用点对点(peertopeer,p2p)技术进行传输,具体的,服务器会接收数据源提供的直播数据,然后对接收到的直播数据进行缓存,在缓存了一定量的直播数据之后,将缓存的数据分为n份数据,接着,将这多份数据分别发送给与该服务器连接的n个终端,并控制这n个终端之间建立通信连接,以交换所接收到的数据,进而使这n个终端都获得服务器本次缓存的直播数据,接着,这n个终端会将各自获取到的数据进行分块,并将分块之后的数据发送给所连接的下层终端,该终端所连接的各个下层终端之间进行数据交换,以获取本次缓存的直播数据,重复以往,进而实现直播数据的传输。

但是,服务器缓存一定量的直播数据时,会对直播数据的传输带来延迟,同时,各个终端通过交换各自接收到的数据,才能实现获取到一段完整数据的方式,也会为直播数据的传输带来较大的延时,数据传输过程的实时性较差。



技术实现要素:

本发明提供一种直播数据处理方法、装置、系统及计算机可读存储介质,以便一定程度上解决数据传输时,延时较大,导致实时性较差的问题。

依据本发明的第一方面,提供了一种直播数据处理方法,该方法包括:

所述服务器响应于第一终端发送的数据获取请求,从已连接的终端中确定第二终端;

所述服务器将所述第二终端的连接信息发送给所述第一终端;

所述第一终端基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接;

所述服务器在接收到直播数据时,将所述直播数据发送给所述第二终端;

所述第二终端将接收到的所述直播数据发送给所述第一终端。

依据本发明的第二方面,提供了一种直播数据处理方法,应用于服务器,该方法包括:

响应于第一终端发送的数据获取请求,从已连接的终端中确定第二终端;

将所述第二终端的连接信息发送给所述第一终端;

在接收到直播数据时,将所述直播数据发送给所述第二终端。

可选的,所述从已连接的终端中确定第二终端,包括:

确定与所述服务器连接的各个终端对应的已连接终端数量;

从对应的已连接终端数量小于预设阈值的终端中选择一个终端,以作为所述第二终端。

可选的,所述方法还包括:

从已连接的终端中确定备选终端,并将所述备选终端的连接信息发送给所述第一终端,以使所述第一终端在所连接的第二终端出现预设情况时,从所述备选终端中获取直播数据。

可选的,所述方法还包括:

接收所述第一终端发送的设备性能参数;

若所述设备性能参数不小于预设性能参数阈值,且当前的第二终端的数量不大于预设终端数量阈值,向所述第一终端发送升级通知信息;

所述升级通知信息用于指示所述第一终端与所述服务器建立通信连接,并断开所连接的第二终端。

依据本发明的第三方面,提供了一种直播数据处理方法,应用于第一终端,该方法包括:

向服务器发送数据获取请求;

接收所述服务器发送的第二终端的连接信息;

基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接;

接收所述第二终端发送的直播数据;所述第二终端发送的直播数据是所述服务器在接收到直播数据时,发送给所述第二终端的。

可选的,所述方法还包括:

接收所述服务器发送的备选终端的连接信息;

基于所述备选终端的连接信息,与所述备选终端建立设备连接;

在所述所连接的第二终端出现预设情况时,断开所连接的第二终端,并与所述备选终端建立通信连接,以从所述备选终端中获取直播数据。

可选的,所述接收所述第二终端发送的直播数据之后,所述方法还包括:

对所述直播数据进行数据校验,以确定所述第二终端发送的直播数据是否存在错误;

相应地,所述在所述所连接的第二终端出现预设情况时,断开所连接的第二终端,并与所述备选终端建立通信连接,包括:

若所述第二终端发送的直播数据存在错误,断开所连接的第二终端,并与所述备选终端建立通信连接;或者,

若所述第二终端的发送速度小于预设速度阈值或小于所连接的备选终端的发送速度,与所述备选终端建立通信连接,并在所述备选终端的连接质量不小于所连接的第二终端的连接质量的情况下,断开所连接的第二终端。

依据本发明的第四方面,提供了一种直播数据处理系统,所述系统包括:服务器、第一终端以及与所述服务器已连接的终端;

所述服务器,用于响应于所述第一终端发送的数据获取请求,从所述已连接的终端中确定第二终端;

所述服务器,用于将所述第二终端的连接信息发送给所述第一终端;

所述第一终端,用于基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接;

所述服务器,用于在接收到直播数据时,将所述直播数据发送给所述第二终端;

所述第二终端,用于将接收到的所述直播数据发送给所述第一终端。

依据本发明的第五方面,提供了一种直播数据处理装置,应用于服务器,所述装置包括:

第一确定模块,用于响应于第一终端发送的数据获取请求的情况下,从已连接的终端中确定第二终端;

第一发送模块,用于将所述第二终端的连接信息发送给所述第一终端;

第二发送模块,用于在接收到直播数据时,将所述直播数据发送给所述第二终端。

可选的,所述第一确定模块,具体用于:

确定与所述服务器连接的各个终端对应的已连接终端数量;

从对应的已连接终端数量小于预设阈值的终端中选择一个终端,以作为所述第二终端。

可选的,所述装置还包括:

第三发送模块,用于从已连接的终端中确定备选终端,并将所述备选终端的连接信息发送给所述第一终端,以使所述第一终端在所连接的第二终端出现预设情况时,从所述备选终端中获取直播数据。

可选的,所述装置还包括:

接收模块,用于接收所述第一终端发送的设备性能参数;

第四发送模块,用于若所述设备性能参数不小于预设性能参数阈值,且当前的第二终端的数量不大于预设终端数量阈值,向所述第一终端发送升级通知信息;所述升级通知信息用于指示所述第一终端与所述服务器建立通信连接,并断开所连接的第二终端。

依据本发明的第六方面,提供了一种直播数据处理装置,所述装置包括:

第一发送模块,用于向服务器发送数据获取请求;

第一接收模块,用于接收所述服务器发送的第二终端的连接信息;

第二发送模块,用于基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接;

第二接收模块,用于接收所述第二终端发送的直播数据;所述第二终端发送的直播数据是所述服务器在接收到直播数据时,发送给所述第二终端的。

可选的,所述装置还包括:

第三接收模块,用于接收所述服务器发送的备选终端的连接信息;

建立模块,用于基于所述备选终端的连接信息,与所述备选终端建立设备连接;

连接模块,用于在所述所连接的第二终端出现预设情况时,断开所连接的第二终端,并与所述备选终端建立通信连接,以从所述备选终端中获取直播数据。

可选的,所述装置还包括:

校验模块,用于对所述直播数据进行数据校验,以确定所述第二终端发送的直播数据是否存在错误;

相应地,所述连接模块,具体用于:

若所述第二终端发送的直播数据存在错误,断开所连接的第二终端,并与所述备选终端建立通信连接;或者,

若所述第二终端的发送速度小于预设速度阈值或小于所连接的备选终端的发送速度,与所述备选终端建立通信连接,并在所述备选终端的连接质量不小于所连接的第二终端的连接质量的情况下,断开所连接的第二终端。

依据本发明的第七方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的直播数据处理方法的步骤。

针对在先技术,本发明具备如下优点:

服务器响应于第一终端发送的数据获取请求,会从已连接的终端中确定第二终端,接着,服务器会将第二终端的连接信息发送给第一终端,第一终端会基于连接信息,向第二终端发送连接请求,以与第二终端建立通信连接,接着,服务器会在接收到直播数据时,将所述直播数据发送给所述第二终端,第二终端会将接收到的直播数据发送给第一终端。本发明实施例中,服务器会将接收到的直播数据直接发送给第二终端,同时,第二终端会将接收到的直播数据都发送给第一终端,这样,第一终端从所连接的第二终端中即可获取到实时传输的数据,相应地,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例提供的一种直播数据处理方法的步骤流程图;

图2是本发明实施例提供的另一种直播数据处理方法的步骤流程图;

图3是本发明实施例提供的又一种直播数据处理方法的步骤流程图;

图4-1是本发明实施例提供的再一种直播数据处理方法的步骤流程图;

图4-2是本发明实施例提供一种直播数据传输结构图;

图4-3是本发明实施例提供的一种直播数据的数据流图;

图5-1是本发明实施例提供的一种直播数据处理装置的框图;

图5-2是本发明实施例提供的另一种直播数据处理装置的框图;

图6-1是本发明实施例提供的又一种直播数据处理装置的框图;

图6-2是本发明实施例提供的再一种直播数据处理装置的框图;

图7是本发明实施例提供的一种直播数据处理系统的框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1是本发明实施例提供的一种直播数据处理方法的步骤流程图,如图1所示,该方法可以包括:

步骤101、所述服务器响应于所述第一终端发送的数据获取请求,从已连接的终端中确定第二终端。

本发明实施例中,该数据获取请求可以是第一终端通过触发数据获取功能向所述服务器发送的,该数据获取功能可以是通过第一终端提供的虚拟按钮触发,也可以是通过实体键组合触发,进一步地,用户可以在想要获取直播数据时,控制第一终端发送数据获取请求。

进一步地,服务器的已连接的终端,可以是之前向该服务器请求直播数据的终端,进一步地,为了确保直播数据处理方法的正常执行,该已连接的终端也可以是预先设置的性能较好的终端,其中,已连接的终端可以是与服务器直接连接,也可以是通过其他终端与服务器间接连接。进一步地,由于和该服务器已连接的终端能够与该服务器交换数据,因此,服务器可以从已连接的终端中确定第二终端,以通过该第二终端向发送数据请求的终端提供直播数据,相较于服务器直接与请求直播数据的终端的连接,通过该第二终端向发送数据请求的终端提供直播数据的方式,可以避免在请求直播数据的终端较多时,服务器连接太多终端,进而导致服务器出现故障的问题。

步骤102、所述服务器将所述第二终端的连接信息发送给所述第一终端。

本发明实施例中,该连接信息可以是与该第二终端建立通信连接时,所需的信息,示例的,该连接信息可以是第二终端的ip地址。这样,通过向第一终端发送第二终端的连接信息,可以使得第一终端能够与第二终端建立通信连接。

步骤103、所述第一终端基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接。

本发明实施例中,该连接请求用于指示与第一终端建立通信连接,具体的,第一终端可以将连接信息中的第二终端的ip地址作为目标地址,向该目标地址发送一连接请求,相应地,第二终端接收到该连接请求之后,即可与该第一终端建立通信连接。

步骤104、所述服务器在接收到直播数据时,将所述直播数据发送给所述第二终端。

本发明实施例中,如果该第二终端是与该服务器直接连接的终端,那么服务器可以在接收到直播数据时,通过与该第二终端之间的直接连接,将该直播数据实时的发送给该第二终端,如果该第二终端是与该服务器间接连接的终端,那么服务器可以在接收到直播数据时,通过与该第二终端之间的间接的终端,将该直播数据转发给该第二终端。进一步地,由于服务器在接收到直播数据时,就会将接收到的直播数据发送给第二终端,因此,相较于先缓存一定量的数据,再进行分块发送的方式,可以一定程度上减少数据传输的延时。

步骤105、所述第二终端将接收到的所述直播数据发送给所述第一终端。

本发明实施例中,第二终端可以将接收到的直播数据,通过与该第一终端之间的连接发送给第一终端,相较于现有技术中,终端获取到服务器接收到的部分直播数据,通过互相连接并进行数据交换来实现获取服务器接收到的所有直播数据的方式,本发明实施例中,由于第二终端能获取到服务器接收到的所有直播数据,因此,第二终端无需与其他终端建立通信连接并进行数据交换,即可将接收到的直播数据发送给第一终端,同时,第一终端从所连接的第二终端中即可获取到实时传输的数据,这样,第二终端也无需与其他终端建立通信连接并进行数据交换,即可获取到直播数据,可以一定程度上减少数据传输的延时。

综上所述,本发明实施例提供的直播数据处理方法,服务器响应于第一终端发送的数据获取请求,会从已连接的终端中确定第二终端,接着,服务器会将第二终端的连接信息发送给第一终端,第一终端会基于连接信息,向第二终端发送连接请求,以与第二终端建立通信连接,接着,服务器会在接收到直播数据时,直接将所述直播数据发送给所述第二终端,第二终端会将接收到的直播数据发送给第一终端。本发明实施例中,服务器会将接收到的直播数据直接发送给第二终端,同时,第二终端会将接收到的直播数据都发送给第一终端,这样,第一终端从所连接的第二终端中即可获取到实时传输的数据,相应地,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

图2是本发明实施例提供的另一种直播数据处理方法的步骤流程图,应用于服务器,如图2所示,该方法可以包括:

步骤201、响应于到第一终端发送的数据获取请求,从已连接的终端中确定第二终端。

具体的,本步骤的实现方式可以参考上述步骤101,本发明实施例在此不做赘述。

步骤202、将所述第二终端的连接信息发送给所述第一终端。

具体的,本步骤的实现方式可以参考上述步骤102,本发明实施例在此不做赘述。

步骤203、在接收到直播数据时,将所述直播数据发送给所述第二终端。

具体的,本步骤的实现方式可以参考上述步骤104,本发明实施例在此不做赘述。

综上所述,本发明实施例提供的直播数据处理方法,服务器响应于终端发送的数据获取请求,会从已连接的终端中确定第二终端,接着,服务器会将第二终端的连接信息发送给第一终端,使得第一终端能够基于连接信息,与第二终端建立通信连接,接着,服务器会在接收到直播数据时,将直播数据发送给第二终端,这样,使得第二终端可以将接收到的直播数据发送给第一终端。本发明实施例中,服务器会将接收到的直播数据直接发送给第二终端,这样,使得第二终端能够将接收到的直播数据发送给第一终端,这样,第一终端从所连接的第二终端中即可获取到实时传输的数据,相应地,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

图3是本发明实施例提供的又一种直播数据处理方法的步骤流程图,应用于第一终端,如图3所示,该方法可以包括:

步骤301、向服务器发送数据获取请求。

具体的,本步骤的实现方式可以参考上述步骤101,本发明实施例在此不做赘述。

步骤302、接收所述服务器发送的第二终端的连接信息。

具体的,本步骤的实现方式可以参考上述步骤102,本发明实施例在此不做赘述。

步骤303、基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接。

具体的,本步骤的实现方式可以参考上述步骤103,本发明实施例在此不做赘述。

步骤304、接收所述第二终端发送的直播数据。

具体的,第一终端接收到第二终端发送的直播数据之后,可以对该直播数据进行相应的处理,进一步地,该第二终端发送的直播数据,可以是服务器在接收直播数据时,直接发送给该第二终端的,这样,该第二终端会在接收到服务器发送的直播数据之后,基于与该第二终端之间的连接,将该直播数据发送给第二终端,相应地,第一终端通过接收该第二终端发送的直播数据,即可获取到服务器接收到的直播数据。

综上所述,本发明实施例提供的直播数据处理方法,第一终端会向服务器发送数据获取请求,接着,会接收服务器发送的第二终端的连接信息,接着,会基于连接信息,向第二终端发送连接请求,以与第二终端建立通信连接,最后,可以接收第二终端发送的直播数据。由于服务器会将接收到的直播数据直接发送给第二终端,因此,第一终端通过接收第二终端接收到的直播数据,即可获取到实时传输的数据,这样,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

图4-1是本发明实施例提供的再一种直播数据处理方法的步骤流程图,如图4-1所示,该方法可以包括:

步骤401、第一终端向服务器发送数据获取请求。

具体的,本步骤的实现方式可以参考上述步骤201,本发明实施例在此不做赘述。

步骤402、服务器响应于第一终端发送的数据获取请求,从已连接的终端中确定第二终端。

本步骤中,服务器从已连接的终端中确定第二终端时,可以先确定与服务器连接的各个终端对应的已连接终端数量,具体的,服务器可以向每个已连接的终端发送一个获取请求,每个与服务器连接的终端,可以在接收到该获取请求之后,将各自所连接的终端的数量上报给服务器,这样,服务器就会得到与服务器连接的各个终端对应的已连接终端数量,接着,服务器可以从对应的已连接终端数量小于预设阈值的终端中选择一个终端,作为第二终端。其中,该预设阈值可以是根据实际需求预先设定的,示例的,该预设阈值可以为1,相应地,可以从与所述服务器直接连接且未连接有其他终端的终端中选择一个终端,作为所述第二终端,这样,通过设定预设阈值为1,可以控制第一终端与服务器仅间隔一个第二终端,这样,可以使得整个网络中的层级较少,直播数据仅需要一次数据转发,即可传输给第一终端,进而一定程度上减少传输延时。当然,也可以在对传输的实时性要求较低的情况下,设置较高的预设阈值,以此来增加网络中的层级,进而提高网络中的分享比,一定程度上节约服务器的带宽资源。

进一步地,受到网络稳定性的影响,或者终端本身性能的影响,第一终端从第二终端中的获取直播数据时,可能会出现问题,因此,本发明实施例中,服务器还可以从已连接的终端中确定备选终端,并将备选终端的连接信息发送给第一终端,具体的,服务器可以从已连接终端数量小于预设阈值的终端中任选一个终端,作为备选终端,其中,该备选终端与该第一终端所连接的第二终端为不同的终端。这样,可以使第一终端在所连接的第二终端出现预设情况时,可以从备选终端中获取直播数据,以此来确保第一终端有稳定的数据获取源,进而确保直播数据传输的稳定性。

示例的,以直播数据为直播数据,预设阈值为1为例,图4-2是本发明实施例提供一种直播数据传输结构图,如图4-2所示,推流设备与服务器连接,以便将直播数据推送给服务器,该服务器中可以部署有镜像服务(edgeserver)及边缘服务(mirrorserver),进一步地,图中以存在多个第一终端,并为每个第一终端分配一个第二终端为例,可以看出服务器与第二终端连接该第二终端可以表示为:uppernode,以便将直播数据发送给连接的第二终端,第二终端与第一终端连接,该第一终端可以表示为:lowernode,以便将接收到的直播数据发送给连接的第一终端,可以看出,每个第一终端都连接有备选终端。图中第一终端所连接的备选终端,是该第一终端通过虚线连接的终端,由于图2-2中每个第一终端与服务器之间仅间隔一个第二终端,这样,直播数据仅需一次数据转发,即可传输给第一终端,进而可以较大程度的减少传输延时。

步骤403、服务器将所述第二终端的连接信息发送给所述第一终端。

具体的,本步骤的实现方式可以参考上述步骤102,本发明实施例在此不做赘述。

步骤404、第一终端基于所述连接信息,向所述第二终端发送连接请求。

具体的,本步骤的实现方式可以参考上述步骤103,本发明实施例在此不做赘述。

步骤405、第二终端接收所述连接信息,并基于所述连接信息与所述第二终端建立通信连接。

具体的,本步骤的实现方式可以参考上述步骤103,本发明实施例在此不做赘述。

进一步地,实际应用场景中,随着外界因素的变化,第一终端的设备性能往往会发生变化,因此,本发明实施例中,第一终端可以向服务器发送设备性能参数,相应地,服务器可以接收第一终端发送的设备性能参数,其中,该设备性能参数可以是按照预设周期发送的,该预设周期为1天,即,每间隔一天,服务器可以接收到一次设备性能参数,进一步地,该设备性能参数可以是能够对设备性能产生影响的参数,示例的,该设备性能参数可以包括与第一终端的硬件相关的参数,例如,中央处理器(centralprocessingunit,cpu)占用率、内存占用率、无线网络连接质量、历史上传带宽,等等,还可以包括体现该第一终端与服务器连接质量的参数,例如,丢包率、连接速度,往返时延(round-triptime,rtt),其中,该rtt可以是第一终端通过定期向服务器请求一定量的测试数据来确定的,进一步地,由于第一终端处于不同运营商的网络中,其性能也会有所差异,因此,设备性能参数还可以包括该第一终端所处的地域运营商信息。

接着,若设备性能参数不小于预设性能参数阈值,且当前的第二终端的数量不大于预设终端数量阈值,服务器可以向第一终端发送升级通知信息,其中,该预设性能参数阈值可以预先设定的,该预设性能参数阈值可以是完成从服务器中获取直播数据并将直播数据转发给其他终端的操作,所需的最低性能,该预设终端数量阈值可以是根据用户的使用需求预先设定的,进一步地,该升级通知信息可以用于指示第一终端与服务器建立通信连接,并断开所连接的第二终端,相应地,第一终端可以在接收到该升级通知信息之后,与服务器建立通信连接,并断开所连接的第二终端,以使该第一终端在后续操作中,能够作为备选的第二终端。

由于第二终端在从服务器中获取直播数据的同时,还需要将直播数据转发给第一终端,这样,为了确保能将直播数据传输给第一终端,就需要第二终端拥有较高的性能,因此,本发明实施例中,在当前的第二终端的数量不大于预设终端数量阈值,即,第二终端数量不能满足使用需求时,将设备性能参数不小于预设性能参数阈值,即,将设备性能较高的第一终端升级为第二终端,以次增大第二终端的数量,尽可能满足使用需求,并且可以确保确定的第二终端都拥有足够的性能,以保证直播数据传输的正常进行。

步骤406、服务器在接收到直播数据时,将所述直播数据发送给所述第二终端。

具体的,本步骤的实现方式可以参考上述步骤104,本发明实施例在此不做赘述。

步骤407、第二终端将接收到的所述直播数据发送给所述第一终端。

具体的,本步骤的实现方式可以参考上述步骤105,本发明实施例在此不做赘述。

步骤408、第一终端接收所述第二终端发送的直播数据。

具体的,为了提高数据传输的安全性,防止存在错误的数据扩散,往往需要在数据传输之前,对数据进行校验,但是,由于本发明实施例中,直播数据的来源较为单一,例如,往往都是推流设备推送的直播数据流,因此,第二终端可以在获取到直播数据时,省去校验过程,直接将获取到的直播数据传输给第一终端,相应地,第一终端可以在接收到直播数据之后,再进行数据校验,以检验直播数据是否存在错误,这样,可以在尽可能降低数据传输延时的情况下,完成对直播数据的校验。

进一步地,本发明实施例中,第一终端还可以接收服务器发送的备选终端的连接信息,接着,基于备选终端的连接信息,与备选终端建立设备连接,接着,在所连接的第二终端出现预设情况时,断开所连接的第二终端,并与备选终端建立通信连接,以从备选终端中获取直播数据,其中,设备连接是设备之间保持连接状态,但不进行数据传输时建立的连接。这样,通过先与备选终端建立设备连接,使得第一终端可以在所连接的第二终端出现预设情况时,可以与备选终端建立通信连接,进而可以从备选终端中获取直播数据,以此来确保第一终端有稳定的数据获取源,进而确保直播数据传输的稳定性。

具体的,若第二终端发送的直播数据存在错误,第一终端可以断开所连接的第二终端,并与备选终端建立通信连接,其中,通信连接是设备之间传输数据时所建立的连接。这样,通过在第二终端发送的直播数据存在错误时,断开所连接的第二终端,并与备选终端建立通信连接,可以及时制止存在错误的数据的扩散,同时,连接备选终端可以确保能够继续获取到直播数据。进一步地,第一终端还可以向服务器发送报告信息,该报告信息可以用于指示该第二终端传输的数据存储错误,相应地,服务器可以将该第二终端加入黑名单,并不再作为第二终端使用,以避免存在错误的数据的扩散。

或者,若第二终端的发送速度小于预设速度阈值或小于所连接的备选终端的发送速度,第一终端可以与备选终端建立通信连接,并在备选终端的连接质量不小于所连接的第二终端的连接质量的情况下,断开所连接的第二终端。其中,预设速度阈值可以是预先设定,备选终端的发送速度可以是第一终端通过定期向该备选终端发送测试数据所确定的,进一步地,如果第二终端的发送速度小于预设速度阈值,则可以认为第二终端的发送速度不能满足直播数据的传输,如果第二终端的发送速度小于所连接的备选终端的发送速度,则可以认为备选终端能够更快的传输直播数据,进而可以一定程度减少传输延时,因此,第二终端可以先与该备选终端建立通信连接,这样,通过同时连接第二终端以及该备选终端可以比较两者的连接质量,进一步地,可以在备选终端的连接质量大于所连接的第二终端的连接质量的情况下,断开所连接的第二终端,本发明实施例中,通过在切换所连接的终端之前,先比较两者的连接质量,可以确保切换之后的连接质量不会降低,进而确保直播数据的传输质量。

进一步地,图4-3是本发明实施例提供的一种直播数据的数据流图,可以看出直播数据从给服务器提供的推流设备(publisher),传输至服务器,再由服务器传输至第二终端,最后,由第二终端传输至第一终端。需要说明的是,实际应用场景中,由于第二终端网络出现故障,第一终端可能无法从第二终端中获取数据,因此,第一终端可以在网络较差的情况下,从距离该第一终端最近的服务器中直接获取直播数据,

综上所述,本发明实施例提供的直播数据处理方法,服务器响应于第一终端发送的数据获取请求,会从已连接的终端中确定第二终端,接着,服务器会将第二终端的连接信息发送给第一终端,第一终端会基于连接信息,向第二终端发送连接请求,以与第二终端建立通信连接,接着,服务器会在接收到直播数据时,将所述直播数据发送给所述第二终端,第二终端会将接收到的直播数据发送给第一终端。本发明实施例中,服务器会将接收到的直播数据直接发送给第二终端,同时,第二终端会将接收到的直播数据都发送给第一终端,这样,第一终端从所连接的第二终端中即可获取到实时传输的数据,相应地,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

图5-1是本发明实施例提供的一种直播数据处理装置的框图,如图5-1所示,该装置50可以包括:

第一确定模块501,用于响应于第一终端发送的数据获取请求,从已连接的终端中确定第二终端;

第一发送模块502,用于将所述第二终端的连接信息发送给所述第一终端;

第二发送模块503,用于在接收到直播数据时,将所述直播数据发送给所述第二终端。

可选的,所述第一确定模块501,具体用于:

确定与所述服务器连接的各个终端对应的已连接终端数量;

从对应的已连接终端数量小于预设阈值的终端中选择一个终端,以作为所述第二终端。

可选的,所述预设阈值等于一;所述第一确定模块501,具体用于:

从与所述服务器直接连接且未连接有其他终端的终端中选择一个终端,以作为所述第二终端。

可选的,图5-2是本发明实施例提供的另一种直播数据处理装置的框图,如图5-2所示,该装置50还包括:

第三发送模块504,用于从已连接的终端中确定备选终端,并将所述备选终端的连接信息发送给所述第一终端,以使所述第一终端在所连接的第二终端出现预设情况时,从所述备选终端中获取直播数据。

可选的,如图5-2所示,所述装置50还包括:

接收模块505,用于接收所述第一终端发送的设备性能参数;

第四发送模块506,用于若所述设备性能参数不小于预设性能参数阈值,且当前的第二终端的数量不大于预设终端数量阈值,向所述第一终端发送升级通知信息;所述升级通知信息用于指示所述第一终端与所述服务器建立通信连接,并断开所连接的第二终端。

综上所述,本发明实施例提供的直播数据处理装置,第一确定模块响应于第一终端发送的数据获取请求,会从已连接的终端中确定第二终端,接着,第一发送模块会将第二终端的连接信息发送给第一终端,使得第一终端能够基于连接信息,与第二终端建立通信连接,接着,第二发送模块会在接收到直播数据时,将直播数据发送给第二终端,这样,使得第二终端可以将接收到的直播数据发送给第一终端。这样,第一终端从所连接的第二终端中即可获取到实时传输的数据,相应地,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

图6-1是本发明实施例提供的又一种直播数据处理装置的框图,如图6-1所示,该装置60可以包括:

第一发送模块601,用于向服务器发送数据获取请求;

第一接收模块602,用于接收所述服务器发送的第二终端的连接信息;

第二发送模块603,用于基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接;

第二接收模块604,用于接收所述第二终端发送的直播数据;所述第二终端发送的直播数据是所述服务器在接收到直播数据时,发送给所述第二终端的。

可选的,图6-2是本发明实施例提供的再一种直播数据处理装置的框图,如图6-2所示,所述装置60还包括:

第三接收模块605,用于接收所述服务器发送的备选终端的连接信息;

建立模块606,用于基于所述备选终端的连接信息,与所述备选终端建立设备连接;

连接模块607,用于在所述所连接的第二终端出现预设情况时,断开所连接的第二终端,并与所述备选终端建立通信连接,以从所述备选终端中获取直播数据。

可选的,如图6-3所示,所述装置60还包括:

校验模块608,用于对所述直播数据进行数据校验,以确定所述第二终端发送的直播数据是否存在错误;

相应地,所述连接模块607,具体用于:

若所述第二终端发送的直播数据存在错误,断开所连接的第二终端,并与所述备选终端建立通信连接;或者,

若所述第二终端的发送速度小于预设速度阈值或小于所连接的备选终端的发送速度,与所述备选终端建立通信连接,并在所述备选终端的连接质量不小于所连接的第二终端的连接质量的情况下,断开所连接的第二终端。

综上所述,本发明实施例提供的直播数据处理装置,第一发送模块会向服务器发送数据获取请求,第一接收模块会接收服务器发送的第二终端的连接信息,第二发送模块会基于连接信息,向第二终端发送连接请求,以与第二终端建立通信连接,第二接收模块可以接收第二终端发送的直播数据。由于服务器会将接收到的直播数据直接发送给第二终端,因此,第一终端通过接收第二终端接收到的直播数据,即可获取到实时传输的数据,这样,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

图7是本发明实施例提供的一种直播数据处理系统的框图,如图7所示,该系统70可以包括:服务器701、第一终端702以及与所述服务器701已连接的终端703;

所述服务器701,用于响应于所述第一终端702发送的数据获取请求,从所述已连接的终端703中确定第二终端;

所述服务器701,用于将所述第二终端的连接信息发送给所述第一终端702;

所述第一终端702,用于基于所述连接信息,向所述第二终端发送连接请求,以与所述第二终端建立通信连接;

所述服务器701,用于在接收到直播数据时,将所述直播数据发送给所述第二终端;

所述第二终端,用于将接收到的所述直播数据发送给所述第一终端703。

综上所述,本发明实施例提供的直播数据处理系统,服务器响应于第一终端发送的数据获取请求,会从已连接的终端中确定第二终端,接着,服务器会将第二终端的连接信息发送给第一终端,第一终端会基于连接信息,向第二终端发送连接请求,以与第二终端建立通信连接,接着,服务器会在接收到直播数据时,将所述直播数据发送给所述第二终端,第二终端会将接收到的直播数据发送给第一终端。本发明实施例中,服务器会将接收到的直播数据直接发送给第二终端,同时,第二终端会将接收到的直播数据都发送给第一终端,这样,第一终端从所连接的第二终端中即可获取到实时传输的数据,相应地,服务器无需缓存,终端之间也无需进行数据交换,即可实现直播数据的传输,进而一定程度上可以减少直播数据传输的延时,提高数据传输的实时性。

优选的,本发明实施例还提供一种终端,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述直播数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述直播数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

在此提供的直播数据处理方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的直播数据处理方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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