CN113556618A - 数据传输方法和装置 - Google Patents

数据传输方法和装置 Download PDF

Info

Publication number
CN113556618A
CN113556618A CN202110821337.9A CN202110821337A CN113556618A CN 113556618 A CN113556618 A CN 113556618A CN 202110821337 A CN202110821337 A CN 202110821337A CN 113556618 A CN113556618 A CN 113556618A
Authority
CN
China
Prior art keywords
data
data transmission
target
channel
transmission channel
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.)
Granted
Application number
CN202110821337.9A
Other languages
English (en)
Other versions
CN113556618B (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110821337.9A priority Critical patent/CN113556618B/zh
Publication of CN113556618A publication Critical patent/CN113556618A/zh
Application granted granted Critical
Publication of CN113556618B publication Critical patent/CN113556618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种数据传输方法和装置,该方法包括:获取各个数据传输通道的数据传输进度;检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;若满足则分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示第二数据发送方接替第一数据发送方通过目标数据传输通道传输视频数据,第一数据发送方为目标数据传输通道对应的数据发送方,第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。该方法解决了现有技术中各个数据传输通道的数据传输进度不一致影响视频播放的流畅性的问题,实现了平衡各个数据传输通道的数据传输进度,提高视频数据下载速度,减少视频播放卡顿的效果。

Description

数据传输方法和装置
技术领域
本发明涉及视频处理技术领域,特别是涉及一种数据传输方法和装置。
背景技术
为了提供视频数据传输速度,数据上传方可以通过多个数据传输通道上传视频数据供数据下载方下载,但是在多通道推流P2P模式下,每个数据传输通道需要推送的视频数据是在建立连接时,就由数据下载方和数据上传方协商好的,很容易会产生各个数据传输通道的数据传输进度不一致的问题。对于播放场景下,数据传输进度最慢的数据传输通道将决定连续缓存秒数的多少,影响视频播放的流畅性,降低了用户的视频观看体验。
针对现有技术中各个数据传输通道的数据传输进度不一致导致影响视频播放的流畅性的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例的目的在于提供一种数据传输方法和装置,以实现平衡各个数据传输通道的数据传输进度,进而达到提高视频数据下载速度,减少视频播放卡顿,提高用户视频观看体验的效果。
在本发明实施的第一方面,首先提供了一种数据传输方法,包括:
获取各个数据传输通道的数据传输进度,其中,所述数据接收方与数据发送方通过所述数据传输通道传输视频数据;
检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
进一步地,检测目标数据传输通道的数据传输进度是否满足预设通道调整条件包括:
检测所述目标数据传输通道的数据传输进度是否是最慢的;
检测最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值是否超过目标阈值;
其中,若所述目标数据传输通道的数据传输进度是最慢的,和/或所述最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值超过所述目标阈值,则确定所述目标数据传输通道的数据传输进度满足所述预设通道调整条件。
进一步地,在获取各个数据传输通道的数据传输进度之后,所述方法还包括:
判断是否存在目标数据发送方同时对应多个数据传输通道;
在判断出存在所述目标数据发送方同时对应多个数据传输通道时,向所述第二数据发送方及第三数据发送方发送第二通道控制信令,以指示所述第三数据发送方接替所述第二数据发送方通过所述数据传输速度最快的数据传输通道传输视频数据,其中,所述第三数据发送方为新增加的或者备用的数据发送方。
进一步地,所述数据接收方与所述数据发送方通过所述数据传输通道传输视频数据包括:
所述数据接收方向所述数据发送方发送第三通道控制信令,以指示所述数据发送方将目标视频数据上传至目标编号指示的数据传输通道进行传输,其中,所述第三通道控制信令中包括:待传输视频数据的范围、所述待传输视频数据划分为多个大小相等的分片的大小、所述目标编号,所述目标视频数据为所述数据发送方根据所述分片的大小以及所述目标编号所确定。
进一步地,所述数据发送方根据所述分片的大小以及所述目标编号确定所述目标视频数据包括:
根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置;
将所述分片的大小确定为所述目标视频数据的偏移大小;
其中,所述目标视频数据在所述待传输视频数据的范围之内。
进一步地,根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置包括:
按照以下公式确定所述偏移位置:
所述偏移位置=[(n*所述数据传输通道的数量)+所述目标编号]*所述分片的大小;
其中,n为所述目标编号指示的数据传输通道内传输的分片的序号,n为从0开始取值的整数。
进一步地,在所述数据接收方向所述数据发送方发送第三通道控制信令之前,所述方法还包括:
所述数据接收方根据待下载视频的码率以及所述数据发送方的数据上传速度确定数据传输通道的数量,其中,所述数据传输通道的数量大于或等于所述待下载视频的码率与最慢的数据上传速度的比值。
在本发明实施的第二方面,还提供了一种数据传输装置,包括:
获取单元,用于获取各个数据传输通道的数据传输进度,其中,所述数据接收方与数据发送方通过所述数据传输通道传输视频数据;
检测单元,用于检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
第一发送单元,用于在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据传输方法。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一所述的数据传输方法。
本发明实施例提供的数据传输方法,通过获取各个数据传输通道的数据传输进度,其中,所述数据接收方与数据发送方通过所述数据传输通道传输视频数据;检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方,可以解决现有技术中各个数据传输通道的数据传输进度不一致导致影响视频播放的流畅性的问题,以实现平衡各个数据传输通道的数据传输进度,进而达到提高视频数据下载速度,减少视频播放卡顿,提高用户视频观看体验的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中的数据传输方法的流程图;
图2为本发明实施例中的数据接收方与数据发送方的交互图;
图3为本发明实施例中的数据发送方在数据传输通道上传输分片的示意图;
图4为本发明实施例中的各个数据传输通道的数据传输进度的示意图;
图5为本发明实施例中的对数据传输通道进行调整的示意图;
图6为本发明实施例中的数据传输装置的结构示意图;
图7为本发明实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供了一种数据传输方法。
图1为本发明实施例中的数据传输方法的流程图,如图1所示,该方法包括以下步骤:
步骤S101,获取各个数据传输通道的数据传输进度,其中,数据接收方与数据发送方通过数据传输通道传输视频数据;
步骤S102,检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
步骤S103,在检测出目标数据传输通道的数据传输进度满足预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示第二数据发送方接替第一数据发送方通过目标数据传输通道传输视频数据,其中,第一数据发送方为目标数据传输通道对应的数据发送方,第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
上述步骤,通过数据接收方实时检测各个数据传输通道的数据传输进度,并在检测到存在目标数据传输通道满足预设通道调整条件时,对目标数据传输通道进行调整,具体调整为由数据传输进度最快的数据传输通道对应的第二数据发送方接替目标数据传输通道对应的第一数据发送方,在目标数据传输通道传输视频数据,由此来平衡各个数据传输通道的数据传输进度,进而实现解决现有技术中各个数据传输通道的数据传输进度不一致导致影响视频播放的流畅性的问题,达到提高视频数据下载速度,减少视频播放卡顿,提高用户视频观看体验的效果。
本发明实施例中的数据接收方是视频数据的请求方,数据发送方是视频数据的提供方。例如,在视频直播时,数据接收方即为观看直播的用户端,数据发送方即为视频直播平台。再例如,在播放视频时,数据接收方即为观看视频的用户端,数据发送方即为视频播放平台。本发明实施例中的数据传输通道在物理上可以体现为网络链路。
为了实现视频数据的快速传输,数据接收方与数据发送方可以通过多个数据传输通道进行视频数据传输。本发明实施例可以通过多个数据传输通道实现多接点对单节点的P2P视频数据传输,多节点对单节点可以理解为多个数据发送方通过多个数据传输通道同时上传视频数据,一个数据接收方下载多个数据传输通道上的视频数据,进而实现快速下载视频数据的目的。
下面将具体介绍数据接收方与数据发送方通过数据传输通道传输视频数据的具体过程:
首先,数据接收方可以确定需要下载的视频数据(即本文中的待传输视频数据),然后将该待传输视频数据划分为多个大小相等的分片,并确定分片的大小,并对每个分片按序进行编号。
其次,数据接收方在确定好待传输视频数据的范围以及分片的大小之后,确定数据传输通道的数量,具体过程如图2所示:
步骤S201,请求资源节点。也即数据接收方向服务端发送资源节点请求消息,用于请求获取资源可用的多个数据发送方,资源节点即为数据发送方。
步骤S202,返回资源节点(图2中示出了三个数据发送方,分别为资源节点1、资源节点2、资源节点3)。也即数据接收方接收服务端返回的多个数据发送方的相关信息,其中,数据发送方的相关信息中至少包括数据发送方的IP地址、数据上传速度等信息。
步骤S203,分配通道。具体包括:数据接收方根据待下载视频(待下载视频的视频数据即为上述待传输视频数据)的码率以及每个数据发送方的数据上传速度确定数据传输通道的数量,并为每个数据传输通道进行编号;数据接收方为数据发送方分配对应的数据传输通道,并记录数据发送方与数据传输通道之间的对应关系。
可选地,数据传输通道的数量大于或等于待下载视频的码率与最慢的数据上传速度的比值,以便于能够保障存在足够的数据传输通道进行视频数据传输,进而实现快速高效的传输视频数据的效果。
再次,在数据接收方确定待传输视频数据的范围、待传输视频数据划分为多个大小相等的分片的大小以及数据发送方与数据传输通道之间的对应关系之后,数据接收方可以生成第三通道控制信令,其中,第三通道控制信令中至少包括以下信息:待传输视频数据的范围、待传输视频数据划分为多个大小相等的分片的大小、目标编号。
数据接收方在生成第三通道控制信令之后,可以向数据发送方发送第三通道控制信令,以指示数据发送方将目标视频数据上传至目标编号指示的数据传输通道进行传输。
作为一种可选的实施方式,数据接收方向不同的数据发送方发送的第三通道控制信令的内容不同,该不同主要体现在数据传输通道的编号不同,如图2中步骤S204至步骤S206,数据接收方向资源节点1发送的第三通道控制信令为“待传输视频数据的范围、分片大小、通道编号为0”、数据接收方向资源节点2发送的第三通道控制信令为“待传输视频数据的范围、分片大小、通道编号为1”、数据接收方向资源节点3发送的第三通道控制信令为“待传输视频数据的范围、分片大小、通道编号为2和3”。
作为另一种可选的实施方式,数据接收方向不同的数据发送方发送的第三通道控制信令的内容相同,例如数据接收方向资源节点1、资源节点2及资源节点3发送的第三通道控制信令为“待传输视频数据的范围、分片大小、资源节点1对应通道编号0、资源节点2对应通道编号1、资源节点3对应通道编号2和3”。
在实际应用场景中,可以根据需求选择上述任一种实施方式,此处不做具体限定。
最后,在各个数据发送方接收到数据接收方发送的第三通道控制信令之后,如图2中步骤S207至步骤S209所示,各个数据发送方可以在各自对应的数据传输通道上传输视频数据。需要说明的是,各个数据发送方在各自对应的数据传输通道上传输视频数据为分片,且各个数据发送方在各自对应的数据传输通道上传输的分片不同,这些数据传输通道上的分片共同构成待传输视频数据,以便于数据接收方下载完整的待传输视频数据。
每个数据发送方在接收到数据接收方发送的第三通道控制信令之后,需要先计算在自身对应的数据传输通道上传输哪些分片(即目标视频数据),然后再将目标视频数据上传至自身对应的数据传输通道进行传输。
作为一种可选的实施方式,数据发送方可以根据分片的大小以及通道控制信令中包括的目标编号,确定在目标编号指示的数据传输通道上传输的目标视频数据,具体可以包括:
根据目标编号以及数据传输通道的数量确定目标视频数据的偏移位置;
将分片的大小确定为目标视频数据的偏移大小;
其中,目标视频数据在待传输视频数据的范围之内。
可选地,本发明实施例可以按照以下公式确定偏移位置:
偏移位置=[(n*数据传输通道的数量)+目标编号]*分片的大小;
其中,n为目标编号指示的数据传输通道内传输的分片的序号,n为从0开始取值的整数。
结合图3,对上述实施例进行举例说明:
假设待传输视频数据的范围为256K,将其划分为16个大小相等的分片,分片大小为16K;数据传输通道的数量为8个,编号分别为0、1、2、3、4、5、6、7;数据发送方的数量为8个,如图3所示分别对应8个数据传输通道。则按照上述公式可以计算出在编号为0的数据传输通道上,数据发送方P0上传的分片依次为:
n取值为0时,偏移位置为0,偏移大小为16K,则编号为0的数据传输通道上传输的第1个分片为0-16K;
n取值为1时,偏移位置为128,偏移大小为16K,则编号为0的数据传输通道上传输的第2个分片为128K-144K;
n取值为2时,偏移位置为256,偏移大小为16K,由于偏移位置已经超过待传输视频数据的范围,故在编号为0的数据传输通道上,数据发送方P0上传的分片只包括0-16K以及128K-144K这两个分片。
同理,编号为1、2、3、4、5、6、7数据传输通道上,数据发送方P1、P2、P3、P4、P5、P6、P7上传的分片也可以按照上述方式进行确定,具体分片如图3所示。
作为另一种可选的实施方式,数据接收方所生成的第三通道控制信令中除了包括待传输视频数据的范围、分片的大小、目标编号之外,还可以包括数据发送方在目标编号指示的数据传输通道上传输的分片的编号,这样,数据发送方在接收到通道控制信令后,无需再计算在自身对应的数据传输通道上传输的目标视频数据,而是直接获取到指定的分片后在自身对应的数据传输通道上进行传输,这样可以达到减少数据发送方CPU消耗的目的。
数据接收方通过多个数据传输通道接收多个分片,并将多个分片按序组合成完整的视频数据,得到待传输视频数据,进而实现数据接收方高速低功耗下载视频数据的目的。
在上述数据接收方与数据发送方通过数据传输通道传输视频数据的具体过程中,通过上述步骤S101中步骤S103,数据接收方可以实时检测各个数据传输通道的数据传输进度,并根据预设通道调整条件对满足该条件的数据传输通道对应的数据发送方进行调整,以实现平衡各个数据传输通道的数据传输进度的目的,进而实现解决现有技术中各个数据传输通道的数据传输进度不一致导致影响视频播放的流畅性的问题,达到提高视频数据下载速度,减少视频播放卡顿,提高用户视频观看体验的效果。
可选地,本发明实施例中数据传输通道的数据传输进度可以用数据传输通道内传输的分片的数量表示,传输的分片数量越多,则表示该数据传输通道的数据传输进度越快,传输的分片数量越少,则表示该数据传输通道的数据传输进度越慢。上述步骤S101中数据接收方可以通过实时获取各个数据传输通道内传输的分片的数量,实现获取各个数据传输通道的数据传输进度。
作为一种可选的实施例,在获取到各个数据传输通道的数据传输进度之后,可以检测是否存在满足预设通道调整条件的目标数据传输通道,也即检测目标数据传输通道的数据传输进度是否满足预设通道调整条件,并在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,数据接收方生成第一通道控制信令,以调整所述目标数据传输通道对应的数据发送方,具体调整过程可以为:由数据传输进度最快的数据传输通道对应的第二数据发送方接替目标数据传输通道原来对应的第一数据发送方,在所述目标数据传输通道上传输视频数据。第一通道控制信令中至少包括以下信息:待传输视频数据的范围,所述分片的大小,目标数据传输通道的编号等。
可选地,检测目标数据传输通道的数据传输进度是否满足预设通道调整条件可以包括:
检测所述目标数据传输通道的数据传输进度是否是最慢的,或者是慢到符合一定要求,例如可以是某传输通道的传输速率低于某一等级时,减少该通道的分片传输数量,分给高传输通道的去传输;实施例中可以划分几个等级,对于传输相应的分片数量;
检测最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值是否超过目标阈值(目标阈值可以根据实际求设定或调整,此处不做具体限定);
其中,若所述目标数据传输通道的数据传输进度是最慢的,和/或,所述最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值超过所述目标阈值,则确定所述目标数据传输通道的数据传输进度满足所述预设通道调整条件。
例如,如图4所示,各个数据传输通道与各个数据发送方的对应关系如图4所示,编号为0的数据传输通道上传输的分片(以矩形框表示一个分片)的数量最多,为4个,编号为4的数据传输通道上传输的分片的数量最少,为1个。当检测到编号为4的数据传输通道上传输的分片的数量最少,和/或,编号为0的数据传输通道上传输的分片的数量与编号为4的数据传输通道上传输的分片的数量超过目标阈值(假设为2),则可以确定编号为4的数据传输通道满足预设通道调整条件,则触发数据接收方生成第一通道控制信令。数据接收方将第一通道控制信令分别发送给编号为0的数据传输通道对应的数据发送方P0以及编号为4的数据传输通道对应的数据发送方P4,P0和P4在接收到第一通道控制信令之后,由P0接替P4在编号为4的数据传输通道上传输视频数据,P0同时接管编号为0和4的两个数据传输通道,如图5所示。
通过该可选的实施例,对于数据传输进度慢的数据传输通道,直接决定了当前视频的缓存秒速,通过用数据传输进度最快的数据传输通道对应的数据发送方进行替换,能够实现调整数据传输进度慢的数据传输通道的数据传输进度,进而实现平衡各个数据传输通道的数据传输进度,以达到提高视频下载速度,减少视频播放卡顿的效果。
作为另一种可选的实施例,在获取到各个数据传输通道的数据传输进度之后,还可以判断是否存在目标数据发送方同时对应多个数据传输通道,也即一个数据发送方同时接管多个数据传输通道;在判断出存在所述目标数据发送方同时对应多个数据传输通道时,可以触发数据接收方生成第二通道控制信令,并向所述第二数据发送方及第三数据发送方分别发送所述第二通道控制信令,以指示所述第三数据发送方接替所述第二数据发送方通过所述数据传输速度最快的数据传输通道传输视频数据,其中,所述第二数据发送方为所述数据传输速度最快的数据传输通道对应的数据发送方,所述第三数据发送方为新增加的或者备用的数据发送方。第二通道控制信令中至少包括以下信息:待传输视频数据的范围,所述分片的大小,所述数据传输速度最快的数据传输通道的编号等。
需要说明的是,当检测到一个数据发送方同时接管多个数据传输通道时,说明数据发送方资源紧缺,需要新增资源节点,以保障视频数据的下载速度不受影响。此时可以将新增加的或者备用的数据发送方接管数据传输速度最快的数据传输通道,这样既可以实现新增资源节点进行视频数据传输,又因为新增资源节点接管的是数据传输速度最快的数据传输通道,短时间内不会影响视频数据整体的下载速度,由于数据传输进度较慢的数据传输通道的缓存比较小,如果此时用数据上传速度未知的新增资源节点替换,很有可能会导致缓存秒数进一步降低,造成卡顿。
本发明实施例通过由数据传输进度较快的数据传输通道对应的数据发送方来接管数据传输进度较慢的数据传输通道,又新增加的或者备用的数据发送方来接管数据传输进度较快的数据传输通道,来实现逐步淘汰数据传输进度最慢的数据传输通道对应的数据发送方,并及时发现性能更加优化的数据发送方。本发明实施例可以解决数据传输进度较慢的数据传输通道所引发的卡顿现象,并让各个数据传输通道的数据传输进度达到动态平衡,且整体的数据传输进度不断优化,进而达到视频数据下载速度,避免视频卡顿现象的效果。本发明使用低功耗、高速度P2P传输方式,且能够实现数据传输通道的数据传输进度动态平衡,可广泛使用于需要高码率,低成本的视频传输业务上。如:4K、8K视频、VR视频、多视角视频等。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种数据传输装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6为本发明实施例中的数据传输装置的结构示意图,如图6所示,该装置包括:
获取单元61,用于获取各个数据传输通道的数据传输进度,其中,所述数据接收方与数据发送方通过所述数据传输通道传输视频数据;
检测单元62,用于检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
第一发送单元63,用于在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
作为一种可选的实施例,检测单元62包括:
第一检测模块,用于检测所述目标数据传输通道的数据传输进度是否是最慢的;
第二检测模块,用于检测最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值是否超过目标阈值;
其中,若所述目标数据传输通道的数据传输进度是最慢的,和/或所述最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值超过所述目标阈值,则确定所述目标数据传输通道的数据传输进度满足所述预设通道调整条件。
作为一种可选的实施例,所述装置还包括:
判断单元,用于在获取各个数据传输通道的数据传输进度之后,判断是否存在目标数据发送方同时对应多个数据传输通道;
第二发送单元,用于在判断出存在所述目标数据发送方同时对应多个数据传输通道时,向所述第二数据发送方及第三数据发送方发送第二通道控制信令,以指示所述第三数据发送方接替所述第二数据发送方通过所述数据传输速度最快的数据传输通道传输视频数据,其中,所述第三数据发送方为新增加的或者备用的数据发送方。
作为一种可选的实施例,所述装置还包括:
第三发送单元,用于所述数据接收方向所述数据发送方发送第三通道控制信令,以指示所述数据发送方将目标视频数据上传至目标编号指示的数据传输通道进行传输,其中,所述第三通道控制信令中包括:待传输视频数据的范围、所述待传输视频数据划分为多个大小相等的分片的大小、所述目标编号,所述目标视频数据为所述数据发送方根据所述分片的大小以及所述目标编号所确定。
进一步地,所述数据发送方根据所述分片的大小以及所述目标编号确定所述目标视频数据包括:
根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置;
将所述分片的大小确定为所述目标视频数据的偏移大小;
其中,所述目标视频数据在所述待传输视频数据的范围之内。
进一步地,根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置包括:
按照以下公式确定所述偏移位置:
所述偏移位置=[(n*所述数据传输通道的数量)+所述目标编号]*所述分片的大小;
其中,n为所述目标编号指示的数据传输通道内传输的分片的序号,n为从0开始取值的整数。
进一步地,所述装置还包括:
确定单元,用于在所述数据接收方向所述数据发送方发送第三通道控制信令之前,所述数据接收方根据待下载视频的码率以及所述数据发送方的数据上传速度确定数据传输通道的数量,其中,所述数据传输通道的数量大于或等于所述待下载视频的码率与最慢的数据上传速度的比值。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信,
存储器73,用于存放计算机程序;
处理器71,用于执行存储器73上所存放的程序时,实现如下步骤:
获取各个数据传输通道的数据传输进度,其中,所述数据接收方与数据发送方通过所述数据传输通道传输视频数据;
检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
进一步地,还实现以下步骤:
检测所述目标数据传输通道的数据传输进度是否是最慢的;
检测最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值是否超过目标阈值;
其中,若所述目标数据传输通道的数据传输进度是最慢的,和/或所述最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值超过所述目标阈值,则确定所述目标数据传输通道的数据传输进度满足所述预设通道调整条件。
进一步地,还实现以下步骤:
在获取各个数据传输通道的数据传输进度之后,判断是否存在目标数据发送方同时对应多个数据传输通道;
在判断出存在所述目标数据发送方同时对应多个数据传输通道时,向所述第二数据发送方及第三数据发送方发送第二通道控制信令,以指示所述第三数据发送方接替所述第二数据发送方通过所述数据传输速度最快的数据传输通道传输视频数据,其中,所述第三数据发送方为新增加的或者备用的数据发送方。
进一步地,还实现以下步骤:
所述数据接收方向所述数据发送方发送第三通道控制信令,以指示所述数据发送方将目标视频数据上传至目标编号指示的数据传输通道进行传输,其中,所述第三通道控制信令中包括:待传输视频数据的范围、所述待传输视频数据划分为多个大小相等的分片的大小、所述目标编号,所述目标视频数据为所述数据发送方根据所述分片的大小以及所述目标编号所确定。
进一步地,还实现以下步骤:
根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置;
将所述分片的大小确定为所述目标视频数据的偏移大小;
其中,所述目标视频数据在所述待传输视频数据的范围之内。
进一步地,还实现以下步骤:
按照以下公式确定所述偏移位置:
所述偏移位置=[(n*所述数据传输通道的数量)+所述目标编号]*所述分片的大小;
其中,n为所述目标编号指示的数据传输通道内传输的分片的序号,n为从0开始取值的整数。
进一步地,还实现以下步骤:
在所述数据接收方向所述数据发送方发送第三通道控制信令之前,所述数据接收方根据待下载视频的码率以及所述数据发送方的数据上传速度确定数据传输通道的数量,其中,所述数据传输通道的数量大于或等于所述待下载视频的码率与最慢的数据上传速度的比值。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种数据传输方法,其特征在于,包括:
获取各个数据传输通道的数据传输进度,其中,数据发送方与数据接收方通过所述数据传输通道传输视频数据;
检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
2.根据权利要求1所述的方法,其特征在于,
检测目标数据传输通道的数据传输进度是否满足预设通道调整条件包括:检测所述目标数据传输通道的数据传输进度是否是最慢的;和/或,检测最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值是否超过目标阈值;
其中,若所述目标数据传输通道的数据传输进度是最慢的,和/或所述最快的数据传输进度与所述目标数据传输通道的数据传输进度之间的差值超过所述目标阈值,则确定所述目标数据传输通道的数据传输进度满足所述预设通道调整条件。
3.根据权利要求1所述的方法,其特征在于,在获取各个数据传输通道的数据传输进度之后,所述方法还包括:
判断是否存在目标数据发送方同时对应多个数据传输通道;
在判断出存在所述目标数据发送方同时对应多个数据传输通道时,向所述第二数据发送方及第三数据发送方发送第二通道控制信令,以指示所述第三数据发送方接替所述第二数据发送方通过数据传输速度最快的数据传输通道传输视频数据,其中,所述第三数据发送方为新增加的或者备用的数据发送方。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述数据接收方与所述数据发送方通过所述数据传输通道传输视频数据包括:
所述数据接收方向所述数据发送方发送第三通道控制信令,以指示所述数据发送方将目标视频数据上传至目标编号指示的数据传输通道进行传输,其中,所述第三通道控制信令中包括:待传输视频数据的范围、所述待传输视频数据划分为多个大小相等的分片的大小、所述目标编号,所述目标视频数据为所述数据发送方根据所述分片的大小以及所述目标编号所确定。
5.根据权利要求4所述的方法,其特征在于,所述数据发送方根据所述分片的大小以及所述目标编号确定所述目标视频数据包括:
根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置;
将所述分片的大小确定为所述目标视频数据的偏移大小;
其中,所述目标视频数据在所述待传输视频数据的范围之内。
6.根据权利要求5所述的方法,其特征在于,根据所述目标编号以及数据传输通道的数量确定所述目标视频数据的偏移位置包括:
按照以下公式确定所述偏移位置:
所述偏移位置=[(n*所述数据传输通道的数量)+所述目标编号]*所述分片的大小;
其中,n为所述目标编号指示的数据传输通道内传输的分片的序号,n为从0开始取值的整数。
7.根据权利要求4所述的方法,其特征在于,在所述数据接收方向所述数据发送方发送第三通道控制信令之前,所述方法还包括:
所述数据接收方根据待下载视频的码率以及所述数据发送方的数据上传速度确定数据传输通道的数量,其中,所述数据传输通道的数量大于或等于所述待下载视频的码率与最慢的数据上传速度的比值。
8.一种数据传输装置,其特征在于,包括:
获取单元,用于获取各个数据传输通道的数据传输进度,其中,数据接收方与数据发送方通过所述数据传输通道传输视频数据;
检测单元,用于检测目标数据传输通道的数据传输进度是否满足预设通道调整条件;
第一发送单元,用于在检测出所述目标数据传输通道的数据传输进度满足所述预设通道调整条件时,分别向第一数据发送方及第二数据发送方发送第一通道控制信令,以指示所述第二数据发送方接替所述第一数据发送方通过所述目标数据传输通道传输视频数据,其中,所述第一数据发送方为所述目标数据传输通道对应的数据发送方,所述第二数据发送方为数据传输进度最快的数据传输通道对应的数据发送方。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202110821337.9A 2021-07-20 2021-07-20 数据传输方法和装置 Active CN113556618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110821337.9A CN113556618B (zh) 2021-07-20 2021-07-20 数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110821337.9A CN113556618B (zh) 2021-07-20 2021-07-20 数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN113556618A true CN113556618A (zh) 2021-10-26
CN113556618B CN113556618B (zh) 2023-03-24

Family

ID=78103611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110821337.9A Active CN113556618B (zh) 2021-07-20 2021-07-20 数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN113556618B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070827A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种转推流数据的传输方法、设备及介质
CN114866564A (zh) * 2022-03-24 2022-08-05 煤炭工业合肥设计研究院有限责任公司 通信优化方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898403A (zh) * 2015-11-16 2016-08-24 乐视云计算有限公司 在线媒体服务的码流自适应方法及系统
CN105975416A (zh) * 2016-04-28 2016-09-28 西安电子科技大学 基于fpga的多通道异速数据发送系统
CN107819828A (zh) * 2017-10-16 2018-03-20 平安科技(深圳)有限公司 数据传输方法、装置、计算机设备和存储介质
CN110557230A (zh) * 2018-06-01 2019-12-10 国广融合(北京)传媒科技发展有限公司 一种用于单向广播和双向网络的数据传输方法及系统
CN111200830A (zh) * 2020-01-02 2020-05-26 腾讯科技(深圳)有限公司 数据传输方法及装置、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898403A (zh) * 2015-11-16 2016-08-24 乐视云计算有限公司 在线媒体服务的码流自适应方法及系统
CN105975416A (zh) * 2016-04-28 2016-09-28 西安电子科技大学 基于fpga的多通道异速数据发送系统
CN107819828A (zh) * 2017-10-16 2018-03-20 平安科技(深圳)有限公司 数据传输方法、装置、计算机设备和存储介质
CN110557230A (zh) * 2018-06-01 2019-12-10 国广融合(北京)传媒科技发展有限公司 一种用于单向广播和双向网络的数据传输方法及系统
CN111200830A (zh) * 2020-01-02 2020-05-26 腾讯科技(深圳)有限公司 数据传输方法及装置、电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070827A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种转推流数据的传输方法、设备及介质
CN114070827B (zh) * 2022-01-17 2022-04-22 苏州浪潮智能科技有限公司 一种转推流数据的传输方法、设备及介质
CN114866564A (zh) * 2022-03-24 2022-08-05 煤炭工业合肥设计研究院有限责任公司 通信优化方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN113556618B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US11792292B2 (en) Content storage and processing in network base stations and methods for content delivery in a mesh network
CN107566786B (zh) 一种获取监控视频的方法、装置及终端设备
CN113556618B (zh) 数据传输方法和装置
US9621620B2 (en) Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus
WO2015117570A1 (en) Network acceleration method, apparatus and device based on router device
EP2894869A1 (en) Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
KR20150091223A (ko) 가상 파이프에서 멀티미디어 스트림에 의해 사용되는 망자원들을 관리하기 위한 방법 및 장치
CN113572750B (zh) 视频数据传输方法及装置
CN110620828A (zh) 一种文件推送方法、系统、装置、电子设备及介质
CN111355971B (zh) 直播流传输方法、装置、cdn服务器及计算机可读介质
US9479607B2 (en) Content caching and delivering system with traffic of repetitively requested content reduced
CN105578211A (zh) 基于无限服务节点的直播加速网络卡顿优化方法及系统
CN108881931B (zh) 一种数据缓冲方法及网络设备
CN103826139A (zh) Cdn系统、观看服务器以及流媒体数据传输方法
CN109286957B (zh) 一种回源链路的切换方法、装置、电子设备及存储介质
CN110677684B (zh) 视频处理、视频访问方法及分布式存储、视频访问系统
CN111625743A (zh) 资源加载方法、装置及电子设备
CN109982152A (zh) P2p cdn业务处理方法、智能网关以及cdn平台
CN110312140B (zh) 直播数据处理方法、装置、系统及计算机可读存储介质
CN108156257A (zh) 一种信息推送方法及装置
CN108306923A (zh) 一种直播视频上传方法、装置、电子设备以及存储介质
CN107733949B (zh) 一种无线接入网缓存方法及系统
CN109788326B (zh) 一种视频资源预推送方法、装置及系统
CN110784534B (zh) 数据服务方法、装置、系统及电子设备
CN103684809A (zh) 一种网络资源管理方法、装置、客户端及系统

Legal Events

Date Code Title Description
PB01 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