一种信号传输方法、装置、设备及介质与流程

文档序号:20211498发布日期:2020-03-31 11:06阅读:111来源:国知局
一种信号传输方法、装置、设备及介质与流程

本发明涉及通信领域,更具体地说,涉及一种信号传输方法、装置、设备及介质。



背景技术:

云游戏,是一种游戏运行在服务器,通过串流的方式,将服务器上云游戏的屏幕画面传递到终端,用户通过终端输入游戏控制命令,再将该游戏控制命令传递到服务器从而实现游戏控制的系统。

请参阅图8,如图8所示,云游戏的系统架构可以包括终端801和云游戏服务器802,其中,终端801可以为智能终端(例如智能手机或平板电脑等)或个人电脑(personalcomputer,pc)等。终端801与云游戏服务器802之间通过传输控制协议(transmissioncontrolprotocol,tcp)通道803连接。具体工作时,云游戏服务器802上设置有云游戏系统8021,用于运行云游戏,云游戏服务器802通过网络与算法控制单元8022将当前的云游戏画面打包为游戏画面数据块,并将该游戏画面数据块通过直播流与控制单元8023,经tcp通道803发送给终端801,终端801通过网络与算法控制单元8011接收该游戏画面数据块,并实时显示云游戏的实时画面。

用户根据终端801显示的云游戏实时画面,通过终端801输入操作指令,终端801将该操作指令生成操作指令数据块并通过tcp通道803发送给云游戏服务器802,云游戏服务器802根据该操作指令数据块对云游戏进行操作,从而实现了云游戏的工作过程。

对于云游戏这样的流媒体数据传输而言,由于网络波动,导致tcp通道工作异常,部分数据包可能不能及时到达,这将会导致终端的游戏过程出现卡顿或响应不及时。

因此,上述问题还有待于解决。



技术实现要素:

有鉴于此,为解决上述问题,本发明提供的技术方案如下:

一种信号传输方法,所述方法包括:

创建与服务器连接的第一通道及第二通道,其中,所述第一通道与所述第二通道均为能够与所述服务器进行信号传输的通道;

以所述第一通道与所述服务器进行信号传输;

当所述第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该服务器进行信号传输。

一种信号传输方法,该方法包括:

获取与终端连接的第一通道及第二通道,其中,该第一通道与该第二通道均为能够与该终端进行信号传输的通道;

以该第一通道与该终端进行信号传输;

当该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输。

可选地,该当该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输之后,还包括:

丢弃该第一通道中尚未完成传输的数据块。

可选地,该以该第一通道与该终端进行信号传输的过程中,该第二通道保持心跳活跃。

可选地,该第二通道保持心跳活跃,包括:

每间隔第一间隔时长,通过该第二通道与该终端之间收发第一数据块。

可选地,该当该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输之后,还包括:

创建第三通道,该第三通道为能够与该终端进行信号传输的通道,在该第二通道与该终端信号传输期间,该第三通道保持心跳活跃。

可选地,该当该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输,包括:

获取该终端发送的通知消息;

根据该通知消息将信号传输通道改为该第二通道。

可选地,该当该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输,包括:

当检测到该第一通道断开时,以该第二通道与该终端进行信号传输。

可选地,该以该第一通道与该终端进行信号传输,包括:

在发送的数据块上标记时间戳,该时间戳用于标记该数据块的发送时间。

可选地,该终端用于显示云游戏的运行画面,该第一通道与该第二通道为tcp传输通道,则该以该第一通道与该终端进行信号传输,包括:

向该终端发送游戏画面数据块,该游戏画面数据块用于在该终端上显示该云游戏的实时画面;

接收由该终端发送的操作指令数据块;

对应地,该方法还包括:

根据该操作指令数据块,对云游戏进行控制;

该当该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该服务器进行信号传输,包括:当该第一通道在信号传输过程中,存在预设数量的操作指令数据块的接收时间大于预设值和/或,至少一个游戏画面数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输。

一种信号传输装置,包括:

第一创建单元,该第一创建单元用于创建与服务器连接的第一通道及第二通道,其中,该第一通道与该第二通道均为能够与该服务器进行信号传输的通道;

第一通信单元,该第一通信单元用于以该第一创建单元创建的该第一通道与该服务器进行信号传输;

切换单元,该切换单元用于当该第一通信单元在该第一通道信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该服务器进行信号传输。

可选地,该装置还包括删除单元,该删除单元用于:

丢弃该第一通道中尚未完成传输的数据块。

可选地,该以该第一通道与该服务器进行信号传输的过程中,该第二通道保持心跳活跃。

可选地,该装置还包括第二通信单元,该第二通信单元用于:

每间隔第一间隔时长,通过该第二通道与该服务器之间收发第一数据块。

可选地,该装置还包括第二创建单元,该第二创建单元用于:

创建第三通道,该第三通道为能够与该服务器进行信号传输的通道,在该第二通道与该服务器信号传输期间,该第三通道保持心跳活跃。

可选地,该切换单元还用于:

向该服务器发送通知消息,该通知消息用于告知该服务器,信号传输通道改为该第二通道。

可选地,该切换单元还用于:

断开该第一通道;

以该第二通道与该服务器进行信号传输。

可选地,该装置还包括计时单元,该计时单元用于:

获取该数据块上标记的时间戳;

根据该时间戳获取该数据块之间的间隔时长;

当第一时间戳与第二时间戳之间的第二间隔时长大于预设时间时,判断该第二时间戳所标记的数据块的传输时间大于预设值,其中,该第一时间戳和该第二时间戳为两个用于标记数据块的时间戳,该第二时间戳所标记的时间晚于该第一时间戳。

可选地,该服务器用于运行云游戏,该第一通道与该第二通道为tcp传输通道,则该第一通信单元还用于:

接收由该服务器发送的游戏画面数据块,该游戏画面数据块用于显示该云游戏的实时画面;

向该服务器发送操作指令数据块,该操作指令数据块用于对该云游戏进行控制;

该切换单元,还用于:当该第一通道在信号传输过程中,存在预设数量的游戏画面数据块的接收时间大于预设值,和/或,至少一个操作指令数据块的重传次数大于预设次数时,以该第二通道与该服务器进行信号传输。

一种信号传输装置,包括:

第一获取单元,该第一获取单元用于获取与终端连接的第一通道及第二通道,其中,该第一通道与该第二通道均为能够与该终端进行信号传输的通道;

第一通信单元,该第一通信单元用于以该第一获取单元获取的该第一通道与该终端进行信号传输;

切换单元,该切换单元用于当该第一通信单元以该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输。

可选地,该装置还包括删除单元,该删除单元用于:

丢弃该第一通道中尚未完成传输的数据块。

可选地,该第一通信单元工作过程中,该第二通道保持心跳活跃。

可选地,该装置还包括第二通信单元,该第二通信单元用于:

每间隔第一间隔时长,通过该第二通道与该终端之间收发第一数据块。

可选地,该装置还包括创建单元,该创建单元用于:

创建第三通道,该第三通道为能够与该终端进行信号传输的通道,在该第二通道与该终端信号传输期间,该第三通道保持心跳活跃。

可选地,该切换单元,还用于:

获取该终端发送的通知消息;

根据该通知消息将信号传输通道改为该第二通道。

可选地,该切换单元,还用于:

当检测到该第一通道断开时,以该第二通道与该终端进行信号传输。

可选地,该装置还包括标记单元,该标记单元用于:

在发送的数据块上标记时间戳,该时间戳用于标记该数据块的发送时间。

可选地,该终端用于显示云游戏的运行画面,该第一通道与该第二通道为tcp传输通道,则该第一通信单元还用于:

向该终端发送游戏画面数据块,该游戏画面数据块用于在该终端上显示该云游戏的实时画面;

接收由该终端发送的操作指令数据块;

对应地,该装置还包括控制单元,该控制单元用于:

根据该操作指令数据块,对云游戏进行控制;

该切换单元还用于:当该第一通道在信号传输过程中,存在预设数量的操作指令数据块的接收时间大于预设值和/或,至少一个游戏画面数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输。

一种计算机设备,该计算机设备包括:交互装置、输入/输出(i/o)接口、处理器和存储器,该存储器中存储有程序指令;该交互装置用于获取用户输入的操作指令;该处理器用于执行存储器中存储的程序指令,执行如上述任意一项所述的方法。

一种计算机可读存储介质,包括指令,当所述指令在计算机设备上运行时,使得所述计算机设备执行上述任意一项所述的方法。

本申请实施例所提供的信号传输方法,包括:获取与终端连接的第一通道及第二通道,其中,第一通道与第二通道均为能够与终端进行信号传输的通道;以第一通道与终端进行信号传输;当第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以第二通道与终端进行信号传输。在终端与服务器信号传输的过程中,设置一条主通道与一条备用通道,当检测到主通道堵塞时,切换为备用通道来进行通信,以保障信号传输的正常进行。从而能够防止因网络波动造成的数据块不能及时送达的情况。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的信号传输方法的一个实施例的示意图;

图2为本申请实施例所提供的信号传输方法的另一个实施例的示意图;

图3为本申请实施例所提供的信号传输方法的另一个实施例的示意图;

图4为本申请实施例所提供的信号传输方法的另一个实施例的示意图;

图5为本申请实施例所提供的信号传输方法的另一个实施例的示意图;

图6为本申请实施例所提供的信号传输方法的另一个实施例的示意图;

图7为本申请实施例所提供的信号传输方法中服务器向终端发送数据块的示意图;

图8为本申请实施例所提供的信号传输方法在云游戏领域的系统架构图;

图9为本申请实施例所提供的信号传输方法的另一个实施例的示意图;

图10为本申请实施例所提供的计算机设备的示意图;

图11为本申请实施例所提供的信号传输装置的示意图;

图12为本申请实施例所提供的信号传输装置的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

云游戏,是一种游戏运行在服务器,通过串流的方式,将服务器上云游戏的屏幕画面传递到终端,用户通过终端输入游戏控制命令,再将该游戏控制命令传递到服务器从而实现游戏控制的系统。

请参阅图8,如图8所示,云游戏的系统架构可以包括终端801和云游戏服务器802,其中,终端801可以为智能终端(例如智能手机或平板电脑等)或个人电脑(personalcomputer,pc)等。终端801与云游戏服务器802之间通过传输控制协议(transmissioncontrolprotocol,tcp)通道803连接。具体工作时,云游戏服务器802上设置有云游戏系统8021,用于运行云游戏,云游戏服务器802通过网络与算法控制单元8022将当前的云游戏画面打包为游戏画面数据块,并将该游戏画面数据块通过直播流与控制单元8023,经tcp通道803发送给终端801,终端801通过网络与算法控制单元8011接收该游戏画面数据块,并实时显示云游戏的实时画面。

用户根据终端801显示的云游戏实时画面,通过终端801输入操作指令,终端801将该操作指令生成操作指令数据块并通过tcp通道803发送给云游戏服务器802,云游戏服务器802根据该操作指令数据块对云游戏进行操作,从而实现了云游戏的工作过程。

对于云游戏这样的流媒体数据传输而言,由于网络波动,导致tcp通道工作异常,部分数据包可能不能及时到达,这将会导致终端的游戏过程出现卡顿或响应不及时。

为解决上述问题,本申请实施例提供一种信号传输方法,能够在tcp链路上设置备用传输通道,当主通道传输阻塞时及时切换至备用通道,从而使得数据传输更加流畅,有效的减少了卡顿现象。为便于理解,以下结合附图对本申请实施例所提供的方法进行详细说明。

请参阅图1,如图1所示,本申请实施例所提供的信号传输方法包括以下步骤。

101、终端创建与服务器连接的第一通道及第二通道。

本实施例中,第一通道与第二通道均为能够在终端与服务器之间进行信号传输的通道,第一通道与第二通道均可以是通过tcp链路实现连接的tcp通道,其中,第一通道与第二通道分别为两条并行的通道,两个通道之间互相不干扰。

需要说明的是,上述第一通道和第二通道也可以是服务器在收到终端的请求消息之后,由服务器来创建的,对此本申请实施例并不进行限定。

102、终端以第一通道与服务器进行信号传输。

本实施例中,以第一通道作为主通道,来实现终端与服务器之间的信号传输,在此过程中,第二通道作为备用通道。

103、当第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,终端以第二通道与服务器进行信号传输。

本实施例中,终端在以第一通道与服务器进行信号传输的过程中,实时对第一通道的传输情况进行检测,当存在数据块传输大量超时,判定第一通道堵塞,其中,当存在预设数量的数据块的传输时间大于预设值,即可判定在数据块传输大量超时,进一步地,当发生至少一个数据块的重传次数大于预设次数时,说明第一通道阻塞,导致数据块无法成功传输,根据传输协议的规定,例如tcp协议的规定,当数据传输失败时,需要进行重传,因此,当检测到一个数据块的重传此处大于预设次数时,即可判定当前第一通道发生了阻塞。因此,当存在大量传输超时或传输通道发生阻塞时,将备用通道第二通道切换为主通道,从而保证了终端与服务器之间通信的正常进行。

需要说明的是,上述数据块传输大量超时的检测也可以由服务器来执行,对此本申请实施例并不进行限定。

本实施例中,在终端与服务器信号传输的过程中,设置一条主通道与一条备用通道,当检测到主通道堵塞时,切换为备用通道来进行通信,以保障信号传输的正常进行。从而能够防止因网络波动造成的数据包不能及时送达的情况。

进一步地,对于本申请所提供的信号传输方法,提供一种更详细的实施方式,为便于理解,以下结合附图进行详细说明。

请参阅图2,如图2所示,本申请实施例所提供的信号传输方法包括以下步骤。

201、终端创建与服务器连接的第一通道及第二通道。

本实施例中,本步骤可参阅上述步骤101,此处不再赘述。

202、终端以第一通道与服务器进行信号传输。

本实施例中,本步骤可参阅上述步骤102,此处不再赘述。

203、每间隔第一间隔时长,终端通过第二通道与服务器之间收发第一数据块。

本实施例中,在终端以第一通道与服务器进行信号传输的过程中,第二通道保持心跳活跃,从而一旦第一通道的传输发生错误,能够马上切换到第二通道,确保终端与服务器中间信号传输的稳定性,防止卡顿现象的发生。

需要说明的是,第二通道保持心跳活跃的具体方式为:每间隔第一间隔时长,终端通过第二通道与服务器之间收发第一数据块,可以为终端通过第二通道向服务器发送第一数据块,和/或,服务器通过第二通道向终端发送第一数据块。该第一数据块中并不携带具体内容,其作用在于,通过第一数据块的收发,使得第二通道保持心跳活跃的状态,避免由于长时间不活跃导致第二通道关闭。该第一间隔时长可根据通信协议的规定或用户的设定进行预设,对此本申请实施例并不进行限定。

204、当第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,终端以第二通道与服务器进行信号传输。

本实施例中,本步骤可参阅上述步骤103,此处不再赘述。

205、终端丢弃第一通道中尚未完成传输的数据块。

本实施例中,切换到第二通道作为主通道后,对于第一通道中由于卡顿而未能传输的数据块,终端直接丢弃,从而直接跳过或者丢弃不能到达的数据包,直接请求最新的数据,从而减少了数据传输过程中的卡顿现象,结合云游戏的场景来看,由于终端上显示的是服务器端实时的游戏画面,因此丢弃尚未完成传输的数据块,而直接传输最新的数据块,对终端一侧来说,并不会对使用造成影响。

需要说明的是,由于终端和服务器两侧是双向传输数据,由服务器发送数据块,终端发送反馈消息和信令消息等,因此,当第一通道停止工作后,服务器一端同样需要丢弃第一通道中尚未完成传输的数据块。

本实施例中,在终端与服务器之间信号传输的过程中,使用主通道进行传输的过程中备用通道保持心跳活跃。当主通道传输发生阻塞时,及时切换至备用通道进行传输,提升了通信的质量,同时,对于停止使用的主通道中尚未完成传输的数据块,采用直接丢弃的方法,从而直接跳过或者丢弃不能到达的数据包,直接请求最新的数据,从而减少了数据传输过程中的卡顿现象。

需要说明的是,在具体工作过程中,从第一通道切换到第二通道后,并不能保证第二通道就能一直保持正常工作的状态,因此,当第二通道成为主通道后,还要再新建一个第三通道,作为第二通道的备用通道,其中,第一通道、第二通道及第三通道均为能够在终端与服务器之间进行信号传输的通道,第一通道、第二通道及第三通道均可以是通过tcp链路实现连接的tcp通道,。为便于理解,以下结合附图,对本种情况进行详细说明。

请参阅图3,如图3所示,本申请实施例所提供的信号传输方法包括以下步骤。

步骤301至305可参阅上述步骤201至205,此处不再赘述。

306、终端创建与服务器连接的第三通道。

本实施例中,当终端由第一通道切换到第二通道与服务器进行信号传输时,创建第三通道,作为第二通道的备用通道。

307、每间隔第一间隔时长,终端通过第二通道与服务器之间收发第二数据块。

本实施例中,本实施例中,第一间隔时长为根据需要定义的时长,是为了保持备用通道心跳活跃而进行数据块收发的时间间隔。在终端以第二通道与服务器进行信号传输的过程中,第三通道保持心跳活跃,从而一旦第二通道的传输发生错误,能够马上切换到第三通道,确保终端与服务器中间信号传输的稳定性,防止卡顿现象的发生。

具体工作方式可参阅上述步骤203的相关记载,此处不再说明。

本实施例中,在终端与服务器进行信号传输的过程中,终端与服务器之间始终建立两条通道,当前主通道阻塞时,主通道关闭,切换备用通道为新的主通道,此时需要在终端与服务器之间创建一条新的备用通道。从而使得终端与服务器之间始终保持有一条主通道与一条备用通道,以保证本申请实施例所提供的信号传输方法正常工作。

需要说明的是,在上述步骤103或204中,当第一通道中存在大量超时,需要将第二通道切换为主通道,具体可以采用两种切换方式:一、终端与服务器之间收发通知消息,由终端或服务器中的任意一端发起切换通道的通知消息,对端收到通知消息后切换为第二通道。二、终端或服务器直接断开当前通道,在特殊情况下,由于主通道阻塞,无法进行通知消息的传输,此时由终端或服务器中的一端直接强制断开主通道,对端检测到主通道断开后自动通过备用通道执行信号传输。为便于理解,以下结合服务对上述两种情况进行详细说明。

一、终端与服务器之间收发通知消息。

请参阅图4,如图4所示,本申请实施例所提供的信号传输方法包括以下步骤。

步骤401至403可参阅上述步骤201至203,此处不再赘述。

404、当第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,终端向服务器发送通知消息。

本实施例中,通知消息用于告知服务器,信号传输通道改为第二通道。需要说明的是,本步骤也可以由服务器来执行,对此本申请实施例并不进行限定。

405、终端以第二通道与服务器进行信号传输。

本实施例中,经过切换,第二通道由备用通道变为主通道,此时终端与服务器之间以第二通道作为信号传输的通道。

后续步骤406至408可参阅上述步骤305至307,此处不再赘述。

二、终端或服务器直接断开当前通道。

请参阅图5,如图5所示,本申请实施例所提供的信号传输方法包括以下步骤。

步骤501至503可参阅上述步骤201至203,此处不再赘述。

504、当第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,所述终端断开第一通道。

本实施例中,当终端检测到数据块的传输存在大量超时,直接断开第一通道。

可选地,也可以是先执行上述步骤404,尝试向服务器发送通知消息,当通知消息发送失败时,再执行本步骤504执行第一通道的断开。

505、终端以第二通道与服务器进行信号传输。

本实施例中,根据预设的协议,当服务器检测到第一通道的连接断开时,自动切换到第二通道与终端进行信号传输,因此,终端在切断第一通道之后,只需直接通过地额团通道与服务器进行信号传输,即可实现备用通道的切换。

需要说明的是,上述步骤504和505所述的步骤也可以由服务器一端来执行,对此本申请实施例并不进行限定。

后续步骤506至508可参阅上述步骤305至307,此处不再赘述。

需要说明的是,在上述任意一种实施例中,在终端与服务器进行信号传输的过程中,均需要对数据块传输的超时情况进行检测,当预设数量的数据块的传输时间大于预设值时,即判定数据块传输超时,基于此,本申请实施例提供一种更加具体的实施方式,以下结合附图,进行详细说明。

请参阅图6,如图6所示,本申请实施例所提供的信号传输方法,判断传输超时的具体实现方式包括以下步骤。

601、服务器在发送的数据块上标记时间戳。

本实施例中,该数据块为服务器发送给终端的用于通信的数据块,例如云游戏中的游戏数据等,服务器在发送数据块上标记时间戳,从而能够标记数据块的发送时间。

需要说明的是,服务器可以是在发送的每个数据块上均标记时间戳,也可以是间隔预设个数据块后给数据块打上时间戳,例如,每隔一个数据块,给数据块打上时间戳。具体间隔的数据块可根据实际需求由用户来预设,对此本申请实施例并不进行限定。

602、终端以主通道与服务器进行信号传输。

本实施例中,终端在以主通道与服务器进行信号传输的过程中,接收所述服务器发送的标记有时间戳的数据块。

603、终端获取数据块上标记的时间戳。

本实施例中,终端由服务器处获取到数据块,并对标记在数据块上的时间戳进行识别。

604、终端根据时间戳获取数据块之间的间隔时长。

本实施例中,请参阅图7,如图7所示,701为服务器向终端依次发送数据块1至数据块5,其中,数据块1与数据块2之间间隔时间为a,数据块2与数据块3之间间隔时间为b,数据块3与数据块4之间间隔时间为c,数据块4与数据块5之间间隔时间为d。当终端依次接收到数据块1至5后,根据数据块上的时间戳,即可计算接收到各个数据块之间的时间间隔,在正常工作的情况下,服务器端发送各个数据块的时间间隔与终端接收到各个数据块的时间间隔应该是一致的,或在一定范围内波动。

605、当第一时间戳与第二时间戳之间的第二间隔时长大于预设时间时,判断第二时间戳所标记的数据块的传输时间大于预设值。

本实施例中,第一时间戳和第二时间戳为两个用于标记数据块的时间戳,第二时间戳所标记的时间晚于第一时间戳。例如,如图7所示,702为终端向依次接收服务器发送的数据块1至数据块5,接收的时间间隔为a’至d’,服务器发送数据块2和数据块3的时间间隔为b,然而,终端接收到数据块2和数据块3的时间间隔b’大于b的数值超过阈值,则判定数据块3接收超时。此时,将数据块3判定为一个传输时间大于预设值的数据块。第二间隔时长为根据工作实际情况预设的时长,例如可以为100ms,具体数值可以根据实际情况调整,对此并不进行限定;该第二间隔时长为主通道在进行信号传输的过程中,数据块之间的收发间隔时长。

606、当预设数量的数据块的传输时间大于预设值时,判定当前传输通道阻塞。

本实施例,通过上述步骤605的识别,逐个判断出每个传输时间超时的数据块,当超时的数据块大于预设值时,即可判定当前传输通道阻塞。

需要说明的是,本申请实施例所提供送信号传输方法可用于云游戏中,云游戏的架构如图8所示,其中服务器由云游戏服务器来实现,云游戏服务器具体包括:云游戏系统、网络算法控制及直播流与控制,其中,云游戏系统用于运行游戏程序,网络与算法控制用于将云游戏系统中运行的游戏程序转化为游戏数据,直播流与控制用于将游戏数据打包成数据块发送给终端。

如图8所示,终端801与云游戏服务器802之间通过传输控制协议(transmissioncontrolprotocol,tcp)通道803接入来实现连接,该终端801可以是运行ios或android系统的智能终端设备,例如智能手机或平板电脑等,也可以是pc终端或mac终端,终端801通过网络与算法控制单元8011接收云游戏服务器802发送的数据块,从而在终端801上显示云游戏的游戏画面,获取到用户通过终端801输入的游戏操作数据后,反馈给云游戏服务器802,从而实现云游戏的游戏过程。

本申请实施例所提供的信号传输方法,可以使得上述过程在tcp链路上,通过主动动态丢包的技术,使tcp实现类似用户数据报协议(userdatagramprotocol,udp)的方式工作,对于云游戏这样的流媒体数据传输中,由于网络波动,部分数据包可能不能及时到达,本申请实施例通过主备用通道的切换,直接跳过或者丢弃哪些不能到达的数据块,直接请求最新的数据,从而让用户体验更加流畅,有效的减少了卡顿现象。

为便于理解,以下结合附图,对本申请实施例所提供的信号传输方法在云游戏中的具体应用进行详细说明。

请参阅图9,如图9所示,本申请实施例所提供的信号传输方法在云游戏中的具体应用包括以下步骤。

901、终端创建与云游戏服务器连接的第一tcp通道及第二tcp通道。

本实施例中,第一tcp通道与第二tcp通道均为能够在终端与云游戏服务器之间进行信号传输的通道,其中,第一tcp通道与第二tcp通道分别为两条并行的通道,两个通道之间互相不干扰。

需要说明的是,上述第一tcp通道和第二tcp通道也可以是云游戏服务器在收到终端的请求消息之后,由云游戏服务器来创建的,对此本申请实施例并不进行限定。

902、终端以第一tcp通道与云游戏服务器进行信号传输。

本实施例中,终端以第一tcp通道与云游戏服务器进行信号传输,以进行云游戏的过程,终端与云游戏服务器之间的信号传输类型主要包括以下两种:1、游戏数据块,即云游戏服务器将游戏画面发送给终端;2、操作数据块,即终端将用户对游戏的操作指令发送给云游戏服务器,从而实现对游戏的操作。

需要说明的是,由于采取tcp协议,在终端与云游戏服务器收发数据的过程中,当一端收到数据块时,会向对端发送反馈消息以表示已收到该数据块。

903、每间隔第一间隔时长,终端通过第二tcp通道与云游戏服务器之间收发第一数据块。

本实施例中,在终端以第一tcp通道与云游戏服务器进行信号传输的过程中,第二通道通过步骤903所述的方式保持心跳活跃,从而一旦第一tcp通道的传输发生错误,能够马上切换到第二tcp通道,确保终端与云游戏服务器中间信号传输的稳定性,防止卡顿现象的发生。

904、当第一tcp通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,终端以第二tcp通道与云游戏服务器进行信号传输。

本实施例中,终端在以第一tcp通道与云游戏服务器进行信号传输的过程中,实时对第一tcp通道的传输情况进行检测,当存在数据块传输大量超时,判定第一tcp通道堵塞,其中,当存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,即可判定在数据块传输大量超时,此时,将备用通道第二tcp通道切换为主通道,从而保证了终端与云游戏服务器之间通信的正常进行。

需要说明的是,由于在tcp链路上,任意一端都可通过接收反馈消息的方式判断数据块是否成功发送,因此上述数据块传输大量超时的检测也可以由云游戏服务器来执行,对此本申请实施例并不进行限定。

905、终端丢弃第一tcp通道中尚未完成传输的数据块。

本实施例中,切换到第二tcp通道作为主通道后,对于第一tcp通道中由于卡顿而未能传输的数据块,终端直接丢弃,从而直接跳过或者丢弃不能到达的数据包,直接请求最新的数据,从而减少了数据传输过程中的卡顿现象,结合云游戏的场景来看,由于终端上显示的是云游戏服务器端实时的游戏画面,因此丢弃尚未完成传输的数据块,而直接传输最新的数据块,对终端一侧来说,并不会对使用造成影响。

需要说明的是,由于终端和云游戏服务器两侧是采用tcp协议的双向传输数据,由云游戏服务器发送数据块,终端发送反馈消息和信令消息等,因此,当第一tcp通道停止工作后,云游戏服务器一端同样需要丢弃第一tcp通道中尚未完成传输的数据块。

906、终端创建与云游戏服务器连接的第三tcp通道。

本实施例中,当终端由第一tcp通道切换到第二tcp通道与服务器进行信号传输时,创建第三tcp通道,作为第二tcp通道的备用通道。

907、每间隔第一间隔时长,终端通过第二tcp通道与云游戏服务器之间收发第二数据块。

本实施例中,本实施例中,在终端以第二tcp通道与云游戏服务器进行信号传输的过程中,第三tcp通道保持心跳活跃,从而一旦第二tcp通道的传输发生错误,能够马上切换到第三tcp通道,确保终端与云游戏服务器中间信号传输的稳定性,防止云游戏过程中发生卡顿现象,或用户的操作反馈不及时。

需要说明的是,在终端与服务器进行信号传输的过程中,终端与服务器之间始终建立两条通道,当前主通道阻塞时,主通道关闭,切换备用通道为新的主通道,此时需要在终端与服务器之间创建一条新的备用通道。从而使得终端与服务器之间始终保持有一条主通道与一条备用通道,以保证本申请实施例所提供的信号传输方法正常工作。

本申请实施例所提供的信号传输方法,包括:获取与终端连接的第一通道及第二通道,其中,第一通道与第二通道均为能够与终端进行信号传输的通道;以第一通道与终端进行信号传输;当第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以第二通道与终端进行信号传输。在终端与服务器信号传输的过程中,设置一条主通道与一条备用通道,当检测到主通道堵塞时,切换为备用通道来进行通信,以保障信号传输的正常进行。从而能够防止因网络波动造成的数据块不能及时送达的情况。

上述对本申请实施例提供的方案进行了介绍。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

从硬件结构上来描述,上述方法可以由一个实体设备实现,也可以由多个实体设备共同实现,还可以是一个实体设备内的一个逻辑功能模块,本申请实施例对此不作具体限定。

例如,上述方法均可以通过图10中的计算机设备来实现。图10为本申请实施例提供的计算机设备的硬件结构示意图。该计算机设备包括至少一个处理器1001,通信线路1002,存储器1003以及至少一个通信接口1004。

处理器1001可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,服务器ic),或一个或多个用于控制本申请方案程序执行的集成电路。

通信线路1002可包括一通路,在上述组件之间传送信息。

通信接口1004,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。

存储器1003可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyer服务器ableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1002与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器1003用于存储执行本申请方案的计算机执行指令,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的计算机执行指令,从而实现本申请上述实施例提供的方法。

可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。

在具体实现中,作为一种实施例,处理器1001可以包括一个或多个cpu,例如图10中的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图10中的处理器1001和处理器1007。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备还可以包括输出设备1005和输入设备1006。输出设备1005和处理器1001通信,可以以多种方式来显示信息。例如,输出设备1005可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备1006和处理器1001通信,可以以多种方式接收用户的输入。例如,输入设备1006可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备可以是一个通用设备或者是一个专用设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图10中类似结构的设备。本申请实施例不限定计算机设备的类型。

本申请实施例可以根据上述方法示例对存储设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

比如,以采用集成的方式划分各个功能单元的情况下,图11示出了一种信号传输装置的示意图。

如图11所示,本申请实施例提供的信号传输装置,包括:

第一创建单元1101,该第一创建单元1101用于创建与服务器连接的第一通道及第二通道,其中,该第一通道与该第二通道均为能够与该服务器进行信号传输的通道;

第一通信单元1102,该第一通信单元1102用于以该第一创建单元1101创建的该第一通道与该服务器进行信号传输;

切换单元1103,该切换单元1103用于当该第一通信单元1102在该第一通道信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该服务器进行信号传输。

可选地,该装置还包括删除单元1104,该删除单元1104用于:

丢弃该第一通道中尚未完成传输的数据块。

可选地,该以该第一通道与该服务器进行信号传输的过程中,该第二通道保持心跳活跃。

可选地,该装置还包括第二通信单元1105,该第二通信单元1105用于:

每间隔第一间隔时长,通过该第二通道与该服务器之间收发第一数据块。

可选地,该装置还包括第二创建单元1106,该第二创建单元1106用于:

创建第三通道,该第三通道为能够与该服务器进行信号传输的通道,在该第二通道与该服务器信号传输期间,该第三通道保持心跳活跃。

可选地,该切换单元1103还用于:

向该服务器发送通知消息,该通知消息用于告知该服务器,信号传输通道改为该第二通道。

可选地,该切换单元1103还用于:

断开该第一通道;

以该第二通道与该服务器进行信号传输。

可选地,该装置还包括计时单元1107,该计时单元1107用于:

获取该数据块上标记的时间戳;

根据该时间戳获取该数据块之间的间隔时长;

当第一时间戳与第二时间戳之间的第二间隔时长大于预设时间时,判断该第二时间戳所标记的数据块的传输时间大于预设值,其中,该第一时间戳和该第二时间戳为两个用于标记数据块的时间戳,该第二时间戳所标记的时间晚于该第一时间戳。

可选地,该服务器用于运行云游戏,该第一通道与该第二通道为tcp传输通道,则该第一通信单元1102还用于:

接收由该服务器发送的游戏画面数据块,该游戏画面数据块用于显示该云游戏的实时画面;

向该服务器发送操作指令数据块,该操作指令数据块用于对该云游戏进行控制;

该切换单元1103还用于:当该第一通道在信号传输过程中,存在预设数量的游戏画面数据块的接收时间大于预设值,和/或,至少一个操作指令数据块的重传次数大于预设次数时,以该第二通道与该服务器进行信号传输。

如图12所示,本申请实施例提供的信号传输装置,包括:

第一获取单元1201,该第一获取单元1201用于获取与终端连接的第一通道及第二通道,其中,该第一通道与该第二通道均为能够与该终端进行信号传输的通道;

第一通信单元1202,该第一通信单元1202用于以该第一获取单元1201获取的该第一通道与该终端进行信号传输;

切换单元1203,该切换单元1203用于当该第一通信单元1202以该第一通道在信号传输过程中,存在预设数量的数据块的传输时间大于预设值,和/或,至少一个数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输。

可选地,该装置还包括删除单元1204,该删除单元1204用于:

丢弃该第一通道中尚未完成传输的数据块。

可选地,该第一通信单元1202工作过程中,该第二通道保持心跳活跃。

可选地,该装置还包括第二通信单元1205,该第二通信单元1205用于:

每间隔第一间隔时长,通过该第二通道与该终端之间收发第一数据块。

可选地,该装置还包括创建单元1206,该创建单元1206用于:

创建第三通道,该第三通道为能够与该终端进行信号传输的通道,在该第二通道与该终端信号传输期间,该第三通道保持心跳活跃。

可选地,该切换单元1203,还用于:

获取该终端发送的通知消息;

根据该通知消息将信号传输通道改为该第二通道。

可选地,该切换单元1203,还用于:

当检测到该第一通道断开时,以该第二通道与该终端进行信号传输。

可选地,该装置还包括标记单元1207,该标记单元1207用于:

在发送的数据块上标记时间戳,该时间戳用于标记该数据块的发送时间。

可选地,该终端用于显示云游戏的运行画面,该第一通道与该第二通道为tcp传输通道,则该第一通信单元1202还用于:

向该终端发送游戏画面数据块,该游戏画面数据块用于在该终端上显示该云游戏的实时画面;

接收由该终端发送的操作指令数据块;

对应地,该装置还包括控制单元1208,该控制单元用于:

根据该操作指令数据块,对云游戏进行控制;

该切换单元1203还用于:当该第一通道在信号传输过程中,存在预设数量的操作指令数据块的接收时间大于预设值和/或,至少一个游戏画面数据块的重传次数大于预设次数时,以该第二通道与该终端进行信号传输。

进一步的,本发明实施例还提供一种计算机存储介质,包括指令,当该指令在计算机设备上运行时,使得该计算机设备执行上述方法。

有关本申请实施例提供的计算机存储介质中存储的程序的详细描述可参照上述实施例,在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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