CN110493327B - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN110493327B CN110493327B CN201910716632.0A CN201910716632A CN110493327B CN 110493327 B CN110493327 B CN 110493327B CN 201910716632 A CN201910716632 A CN 201910716632A CN 110493327 B CN110493327 B CN 110493327B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- nodes
- downloading
- child
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
- H04L67/1055—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据传输方法及装置,其中,所述方法包括:节点在初始阶段先从服务端下载数据;在所述初始阶段之后,如果所述节点没有子节点,则尝试从其他节点下载数据;如果所述节点有子节点,则保持从所述服务端下载数据。本发明能够有效避免P2P传输链路出现回环,也就避免了无节点连接服务端的情况,能够保证整条链路上的节点的数据下载质量。
Description
技术领域
本发明涉及流媒体技术领域,特别涉及一种数据传输方法及装置。
背景技术
在基于CDN(Content Delivery Network,即内容分发网络)与P2P(peer-to-peer,点对点)的直播***中,客户端作为P2P传输链路中的节点,根节点从CDN服务器下载数据,每个子节点从其父节点下载数据,传输链路如图1a所示。
但是,目前的P2P传输链路容易出现回环,这样就无节点从CDN服务器下载数据,整个链路上的节点都无法正常下载数据,最终超时断开连接,从而影响整体下载质量,降低分享率。
发明内容
为了解决现有P2P的传输链路容易出现回环的问题,本发明实施例提供了一种数据传输方法及装置。所述技术方案如下:
第一方面,提供了一种数据传输方法,所述方法包括:
节点在初始阶段先从服务端下载数据;
在所述初始阶段之后,判断自身节点有没有子节点;
如果所述节点没有子节点,则尝试从其他节点下载数据;
如果所述节点有子节点,则保持从所述服务端下载数据。
可选的,所述方法还包括:
如果所述节点结束从其父节点下载数据,并且所述节点有子节点,则切换回所述服务端进行数据下载。
可选的,所述方法还包括:
如果所述节点从所述服务端下载数据,在所述节点的全部子节点结束从所述节点下载数据之后,所述节点尝试从其他节点下载数据。
可选的,所述方法还包括:
在所述初始阶段之后,所述节点基于数据来源期望值Fn确定数据获取方式,
其中,Fn=xn×(yn-yn-1+a),
xn表示当前所述节点的子节点的个数,yn表示当前所述节点的父节点的个数,yn-1表示上一采样点所述节点的父节点的个数,a大于0小于1。
可选的,所述方法还包括:
若Fn的值为0,并且当前所述节点正从所述服务端下载数据,那么所述节点尝试从其他节点下载数据;
若Fn的值小于0,所述节点切换回所述服务端进行数据下载;
若Fn的值大于0,所述节点保持从当前数据来源下载数据。
可选的,所述节点尝试从其他节点下载数据的步骤,包括:
所述节点发送订阅请求;
如果所述节点接收到接受订阅的应答信息,所述节点从其订阅的节点下载数据;
如果所述节点接收到拒绝订阅的应答信息,所述节点无法从其订阅的节点下载数据。
可选的,所述节点发送订阅请求的步骤之后,包括:
所述节点在没有接收到应答信息之前,如果接收到其他节点发送的订阅请求,则向该节点发送拒绝订阅的应答信息
第二方面,提供了一种数据传输装置,所述装置包括:
下载模块,用于在初始阶段先从服务端下载数据;
判断模块,用于在所述初始阶段之后,判断自身节点有没有子节点;
所述下载模块,用于当所述节点没有子节点时,尝试从其他节点下载数据;
所述下载模块,还用于当所述节点有子节点时,保持从所述服务端下载数据。
可选的,所述下载模块,用于当所述节点结束从其父节点下载数据,并且所述节点有子节点,则切换回所述服务端进行数据下载。
可选的,所述下载模块,用于如果所述节点从所述服务端下载数据,在所述节点的全部子节点结束从所述节点下载数据之后,所述节点尝试从其他节点下载数据。
可选的,所述判断模块,还用于在所述初始阶段之后,基于数据来源期望值Fn确定数据获取方式,
其中,Fn=xn×(yn-yn-1+a),
xn表示当前所述节点的子节点的个数,yn表示当前所述节点的父节点的个数,yn-1表示上一采样点所述节点的父节点的个数,a大于0小于1。
可选的,所述下载模块,还用于:
当Fn的值为0,并且当前所述节点正从所述服务端下载数据时,那么所述节点尝试从其他节点下载数据;
当Fn的值小于0时,所述节点切换回所述服务端进行数据下载;
当Fn的值大于0时,所述节点保持从当前数据来源下载数据。
可选的,所述下载模块,具体用于:
发送订阅请求;
如果所述节点接收到接受订阅的应答信息,则从其订阅的节点下载数据;
如果所述节点接收到拒绝订阅的应答信息,则无法从其订阅的节点下载数据。
可选的,所述下载模块,还用于:
所述节点在没有接收到应答信息之前,如果接收到其他节点发送的订阅请求,则向该节点发送拒绝订阅的应答信息
第三方面,提供了一种节点设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的数据传输方法。
第四方面,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的数据传输方法。
在本发明实施中,所有节点在初始阶段先从服务端下载数据,在初始阶段之后,没有子节点的点,可以尝试从其他节点下载数据,而有子节点的节点,则不能尝试从其他节点下载数据,需要保持从服务端下载数据,所以能够有效避免P2P传输链路出现回环,也就避免了无节点连接服务端的情况,能够保证整条链路上的节点的数据下载质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种正常的p2p传输链路示意图;
图1b是本发明实施例提供的一种出现回环的p2p传输链路示意图;
图2是本发明实施例提供的一种数据传输方法的流程图;
图3是本发明实施例提供的一种针对节点间发起单向订阅的数据传输方法流程示意图;
图4是本发明实施例提供的一种针对多节点间同时发起订阅的数据传输方法流程示意图;
图5是本发明实施例提供的一种数据传输装置的结构框图;
图6是本发明实施例提供的一种节点设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在现有P2P传输方式中,节点在选择上行数据来源,即父节点时,不进行任何限制,可以选取任一节点作为父节点建立连接,所以容易出现回环。例如如图1a所示,节点D以节点B作为父节点,节点B以节点A作为父节点,当节点A结束从CDN服务器下载数据而改为从节点D下载数据时,便出现如图1b所示的回环。为避免P2P传输链路出现回环,本发明实施例提供了一种数据传输方法,以下对该方法进行具体说明。
参照图2,为本发明实施例提供的一种数据传输方法的流程图,该方法具体包括以下步骤。
步骤201,节点在初始阶段先从服务端下载数据。
在初始阶段,所有节点先从服务端下载数据。在利用CDN网络为节点提供服务端的场景下,该服务端为CDN服务器。本发明实施例中的节点可以是用于播放流媒体资源的播放器,或者是配置有播放器的电子设备,例如手机、平板电脑、笔记本电脑或车载电脑等等。节点从服务端下载的数据可以是流媒体资源。该初始阶段是指节点开始访问目标数据的预设时间段内,例如,节点开始播放直播视频时,节点先与CDN服务器建立连接,在该预设时间段内从CDN服务器下载数据。
步骤202,在所述初始阶段之后,判断自身节点有没有子节点。
步骤203,如果所述节点没有子节点,则尝试从其他节点下载数据。
在具体应用中,当两个节点之间存在数据传输时,其中,提供下载数据的节点为另一个节点的父节点,而接收下载数据的节点为另外一个节点的子节点。例如节点B从节点A下载数据,则节点A为父节点,节点B为子节点。
在初始阶段结束之后,也即开始访问目标数据预设时间段之后,判断自身节点有没有子节点,也即判断有没有其他节点从自身下载数据。
由于在初始阶段,所有节点均从服务端下载数据,所以初始阶段之后,节点没有子节点,可以尝试从其他节点下载数据。节点从其他节点下载数据之前,要尝试与对方建立订阅关系。例如,第一节点尝试从第二节点下载数据的流程包括:第一节点向第二节点发送订阅请求;如果第一节点接收到第二节点发送的接受订阅的应答信息,说明订阅成功,第一节点可以从第二节点下载数据;如果第一节点接收到第二节点发送的拒绝订阅的应答信息,说明订阅失败,第一节点无法从第二节点下载数据。也就是说,节点尝试从其他节点下载数据的步骤,包括:所述节点发送订阅请求;如果所述节点接收到接受订阅的应答信息,则可以停止从服务端下载数据,改从其订阅的节点下载数据;如果所述节点接收到拒绝订阅的应答信息,则从其订阅的节点下载数据。所述节点在接收到拒绝订阅的应答信息之后,可以再次尝试订阅其他节点,从其他节点下载数据。
步骤204,如果所述节点有子节点,则保持从所述服务端下载数据。
在本发明实施例中,当节点已经有子节点,即有其他节点从本节点下载数据,则本节点不能主动再向其他节点下载数据,以防止传输链路出现回环。例如,节点B从节点A下载数据,则节点A只能保持从所述服务端下载数据,而不能再订阅其他节点。
在具体应用中,由于两个节点之间的链路质量不好等原因,子节点会取消与其父节点的订阅关系,也即子节点结束从其父节点下载数据。如果取消订阅关系的节点也有子节点,那么该节点只允许切换回所述服务端进行数据下载。也就是说,如果节点结束从其父节点下载数据,并且所述节点有子节点,所述节点切换回所述服务端进行数据下载。直到没有子节点从节点订阅数据时,该节点才可以尝试从其他节点下载数据。也就是说,在节点的全部子节点结束从该节点下载数据之后,该节点尝试从其他节点下载数据。
以下,结合图3对本发明实施例进行举例说明。
(1)在初始阶段,节点A、节点B以及节点C均先从CDN服务器下载数据,由于它们均没有子节点,所以都会尝试订阅其他节点。
(2)节点B订阅节点A成功后,此时节点A的子节点数量为1,根据上述规则,节点A不允许主动订阅其他节点,要保持从CDN下载直播数据,并将下载的数据分享给节点B。节点B则停止从CDN下载数据。
(3)节点C订阅节点B成功后,此时节点B将节点A分享过来的数据,再分享给节点C,此时节点B子节点数量1,根据上述规则,节点B不允许主动订阅其他节点,如果此时节点B与节点A取消订阅关系,那么节点B只允许切换回CDN服务器进行数据下载。
(4)直到没有子节点订阅数据时,节点A和节点B才可以尝试订阅其他节点。
在多个节点同时发起订阅的情况下,例如节点A向节点B发送订阅请求,节点B向节点C发送订阅请求,节点C向节点A发送订阅请求,由于自身的子节点数都是0,所以都可以订阅成功,形成环路。为避免这种情况,主动订阅过程中拒绝其他节点订阅自身,也就是说,节点向其他节点发送订阅请求之后,该节点在没有接收到应答信息之前,如果又接收到其他节点发送的订阅请求,则回复其拒绝订阅的应答信息。例如,如图4所示,节点B向节点A发起订阅,在节点B未接收到节点A的响应时,节点C向节点B发起订阅,节点B回复拒绝订阅给节点C。
综上所述,P2P节点之间的订阅规则如下:
(1)无子节点的节点,主动尝试从其他节点下载数据。
(2)已经有子节点的节点不能主动向其他节点下载数据。根据该节点在传输链路中的位置,有两种情况:如果该节点为根节点,那么该节点要始终保持从服务端下载数据,直到其他所有子节点都断开连接;如果该节点为子节点,那么当该节点的上级节点断开后,该节点要切换到服务端进行数据下载,直到其他所有子节点都断开连接。
(3)每个节点从其他节点下载数据前,要先尝试与对方建立订阅关系。当节点正在发起订阅的过程中,不接受其他节点订阅,防止多个节点同时相互发起订阅而造成的环路。
为使节点能够在各种条件规则的限制下快速判断出数据获取方式,本发明实施例提供了一种订阅策略,即通过计算数据来源期望值确定数据获取方式。具体的数据传输方式为:
在所述初始阶段结束之后,所述节点基于数据来源期望值Fn确定数据来源,
其中,Fn=xn×(yn-yn-1+a),
xn表示当前所述节点的子节点的个数,yn表示当前所述节点的父节点的个数,yn-1表示上一采样点所述节点的父节点的个数,a大于0小于1。
相应的,
若Fn的值为0,并且当前所述节点正从所述服务端下载数据,那么所述节点尝试从其他节点下载数据;
若Fn的值小于0,所述节点切换回所述服务端进行数据下载;
若Fn的值大于0,所述节点保持从当前数据来源下载数据。
在实施中,节点可以每隔预设时间间隔采集其子节点与父节点的个数,并计算数据来源期望值,或者每发现其子节点或父节点的个数发生变化时,计算数据来源期望值。
以下,验证该数据来源期望值的计算方法符合上述P2P节点之间的订阅规则:
(1)若节点无子节点,即xn为0,得到Fn的值为0,那么节点尝试从其他节点下载数据。
(2)若该节点与其父节点断开连接,即yn表为0,而在上一采样点,yn-1为1,yn与yn-1的差值为-1,同时该节点有子节点,即xn大于0,此时Fn的值小于0,那么节点切换回所述服务端进行数据下载;
(3)如果节点的父节点个数保持不变,yn与yn-1的差值为0,同时该节点有子节点,即xn大于0,此时Fn的值大于0,那么节点保持从当前数据来源下载数据。例如,保持从服务器下载数据,或者保持从父节点下载数据。
从以上论述可知,该数据来源期望值的计算方法符合上述P2P节点之间的订阅规则。
在本发明实施例中,节点通过计算数据来源期望值确定数据获取方式,能够简化订阅规则,也就是说,多种数据获取方式均可以通过一个预设公式便能够确定,从而无需为各种数据获取方式分别编写相应的规则,能够节约开发时间,并且节点在确定数据获取方式时,无需关心各个条件之间逻辑限制,而是将节点的子节点和父节点的个数代入预设公式进行计算,便能够根据计算出的值确定当前的数据获取方式,提高了节点订阅的效率。
在本发明实施中,所有节点在初始阶段先从服务端下载数据,在初始阶段之后,没有子节点的点,可以尝试从其他节点下载数据,而有子节点的节点,则不能尝试从其他节点下载数据,需要保持从服务端下载数据,所以能够有效避免P2P传输链路出现回环,也就避免了无节点连接服务端的情况,能够保证整条链路上的节点的数据下载质量。
参照图5,为本发明实施例提供的一种数据传输装置的结构框图,所述装置包括:
下载模块501,用于在初始阶段先从服务端下载数据;
判断模块502,用于在所述初始阶段之后,判断自身节点有没有子节点;
所述下载模块501,用于当所述节点没有子节点时,尝试从其他节点下载数据;
所述下载模块501,还用于当所述节点有子节点时,保持从所述服务端下载数据。
优选的,所述下载模块501,还用于当所述节点结束从其父节点下载数据,并且所述节点有子节点,则切换回所述服务端进行数据下载。
优选的,所述下载模块501,还用于如果所述节点从所述服务端下载数据,在所述节点的全部子节点结束从所述节点下载数据之后,尝试从其他节点下载数据。
优选的,所述判断模块502,还用于在所述初始阶段之后,基于数据来源期望值Fn确定数据获取方式,
其中,Fn=xn×(yn-yn-1+a),
xn表示当前所述节点的子节点的个数,yn表示当前所述节点的父节点的个数,yn-1表示上一采样点所述节点的父节点的个数,a大于0小于1。
相应的,
所述下载模块501,还用于:
当Fn的值为0,并且当前所述节点正从所述服务端下载数据时,那么所述节点尝试从其他节点下载数据;
当Fn的值小于0时,所述节点切换回所述服务端进行数据下载;
当Fn的值大于0时,所述节点保持从当前数据来源下载数据。
优选的,所述下载模块501,具体用于:
发送订阅请求;
如果所述节点接收到接受订阅的应答信息,则从其订阅的节点下载数据;
如果所述节点接收到拒绝订阅的应答信息,则无法从其订阅的节点下载数据。
优选的,所述下载模块501,还用于:
所述节点在没有接收到应答信息之前,如果接收到其他节点发送的订阅请求,则向该节点发送拒绝订阅的应答信息。
在本发明实施中,所有节点在初始阶段先从服务端下载数据,在初始阶段之后,没有子节点的点,可以尝试从其他节点下载数据,而有子节点的节点,则不能尝试从其他节点下载数据,需要保持从服务端下载数据,所以能够有效避免P2P传输链路出现回环,也就避免了无节点连接服务端的情况,能够保证整条链路上的节点的数据下载质量。
需要说明的是:上述实施例提供的数据传输装置可基于计算机程序实现,在执行数据下载任务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明实施例提供的节点设备的结构示意图。该节点设备600可因配置或性能不同而产生比较大差异,可以包括一个或一个以***处理器622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对节点设备中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在节点设备600上执行存储介质630中的一系列指令操作。
节点设备600还可以包括一个或一个以上电源624,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘654,和/或,一个或一个以上操作***641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
节点设备600可以包括有存储器,以及一个或者一个以上的计算机程序,其中一个或者一个以上计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上计算机程序以实现上述数据传输方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种数据传输方法,其特征在于,所述方法包括:
节点在初始阶段先从服务端下载数据;
在所述初始阶段之后,判断自身节点有没有子节点;
如果所述节点没有子节点,则尝试从其他节点下载数据;
如果所述节点有子节点,其中,如果所述节点为根节点,则所述节点保持从所述服务端下载数据,直到所述节点的所有子节点都断开连接,如果所述节点为子节点,则当所述节点的上级节点断开后,所述节点要切换到服务端进行数据下载,直到所述节点的所有子节点都断开连接。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述节点结束从其父节点下载数据,并且所述节点有子节点,则切换回所述服务端进行数据下载。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述节点从所述服务端下载数据,在所述节点的全部子节点结束从所述节点下载数据之后,所述节点尝试从其他节点下载数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述初始阶段之后,所述节点基于数据来源期望值Fn确定数据获取方式,
其中,Fn=xn×(yn-yn-1+a),
xn表示当前所述节点的子节点的个数,yn表示当前所述节点的父节点的个数,yn-1表示上一采样点所述节点的父节点的个数,a大于0小于1。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若Fn的值为0,并且当前所述节点正从所述服务端下载数据,那么所述节点尝试从其他节点下载数据;
若Fn的值小于0,所述节点切换回所述服务端进行数据下载;
若Fn的值大于0,所述节点保持从当前数据来源下载数据。
6.根据权利要求1~5中任一项所述的方法,其特征在于,所述节点尝试从其他节点下载数据的步骤,包括:
所述节点发送订阅请求;
如果所述节点接收到接受订阅的应答信息,所述节点从其订阅的节点下载数据;
如果所述节点接收到拒绝订阅的应答信息,所述节点无法从其订阅的节点下载数据。
7.根据权利要求6所述的方法,其特征在于,所述节点发送订阅请求的步骤之后,包括:
所述节点在没有接收到应答信息之前,如果接收到其他节点发送的订阅请求,则向该节点发送拒绝订阅的应答信息。
8.一种数据传输装置,其特征在于,所述装置包括:
下载模块,用于在初始阶段先从服务端下载数据;
判断模块,用于在所述初始阶段之后,判断自身节点有没有子节点;
所述下载模块,用于当所述节点没有子节点时,尝试从其他节点下载数据;
所述下载模块,还用于当所述节点有子节点时,其中,如果所述节点为根节点,则所述节点保持从所述服务端下载数据,直到所述节点的所有子节点都断开连接,如果所述节点为子节点,则当所述节点的上级节点断开后,所述节点要切换到服务端进行数据下载,直到所述节点的所有子节点都断开连接。
9.根据权利要求8所述的装置,其特征在于,
所述下载模块,用于当所述节点结束从其父节点下载数据,并且所述节点有子节点,则切换回所述服务端进行数据下载。
10.根据权利要求9所述的装置,其特征在于,
所述下载模块,用于如果所述节点从所述服务端下载数据,在所述节点的全部子节点结束从所述节点下载数据之后,所述节点尝试从其他节点下载数据。
11.根据权利要求10所述的装置,其特征在于,
所述判断模块,还用于在所述初始阶段之后,基于数据来源期望值Fn确定数据获取方式,
其中,Fn=xn×(yn-yn-1+a),
xn表示当前所述节点的子节点的个数,yn表示当前所述节点的父节点的个数,yn-1表示上一采样点所述节点的父节点的个数,a大于0小于1。
12.根据权利要求11所述的装置,其特征在于,
所述下载模块,还用于:
当Fn的值为0,并且当前所述节点正从所述服务端下载数据时,那么所述节点尝试从其他节点下载数据;
当Fn的值小于0时,所述节点切换回所述服务端进行数据下载;
当Fn的值大于0时,所述节点保持从当前数据来源下载数据。
13.根据权利要求8~12任一项所述的装置,其特征在于,所述下载模块,具体用于:
发送订阅请求;
如果所述节点接收到接受订阅的应答信息,则从其订阅的节点下载数据;
如果所述节点接收到拒绝订阅的应答信息,则无法从其订阅的节点下载数据。
14.根据权利要求13所述的装置,其特征在于,所述下载模块,还用于:
所述节点在没有接收到应答信息之前,如果接收到其他节点发送的订阅请求,则向该节点发送拒绝订阅的应答信息。
15.一种节点设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的数据传输方法。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910716632.0A CN110493327B (zh) | 2019-08-05 | 2019-08-05 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910716632.0A CN110493327B (zh) | 2019-08-05 | 2019-08-05 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110493327A CN110493327A (zh) | 2019-11-22 |
CN110493327B true CN110493327B (zh) | 2022-06-10 |
Family
ID=68549443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910716632.0A Active CN110493327B (zh) | 2019-08-05 | 2019-08-05 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110493327B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065859B (zh) * | 2022-06-07 | 2024-05-07 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075576A (zh) * | 2011-01-10 | 2011-05-25 | 华中科技大学 | 嵌入式环境中的分布式协作传输方法 |
CN102387164A (zh) * | 2010-08-30 | 2012-03-21 | 上海悠络客电子科技有限公司 | 一种p2p网络数据传输的方法 |
CN109348257A (zh) * | 2018-11-14 | 2019-02-15 | 广州虎牙信息科技有限公司 | 拉流控制方法、装置及直播*** |
CN109348243A (zh) * | 2018-11-14 | 2019-02-15 | 广州虎牙信息科技有限公司 | 订阅处理的方法、装置及直播*** |
CN109525869A (zh) * | 2018-11-14 | 2019-03-26 | 广州虎牙信息科技有限公司 | 拉流的方法、装置及直播*** |
CN109889543A (zh) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和*** |
CN109951723A (zh) * | 2019-03-26 | 2019-06-28 | 广州华多网络科技有限公司 | 对等网络直播***中根节点的调整方法、装置及存储介质 |
CN110505280A (zh) * | 2019-07-29 | 2019-11-26 | 网宿科技股份有限公司 | P2p传输的控制方法及p2p节点 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5253248A (en) * | 1990-07-03 | 1993-10-12 | At&T Bell Laboratories | Congestion control for connectionless traffic in data networks via alternate routing |
EP2460320B1 (en) * | 2009-07-31 | 2015-03-04 | Ciena Luxembourg S.a.r.l. | Linear route protection |
CN102340434B (zh) * | 2011-07-07 | 2014-03-26 | 杭州华三通信技术有限公司 | 基于多归属接入的环路避免方法和边缘设备 |
US9420058B2 (en) * | 2012-12-27 | 2016-08-16 | Akamai Technologies, Inc. | Stream-based data deduplication with peer node prediction |
-
2019
- 2019-08-05 CN CN201910716632.0A patent/CN110493327B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387164A (zh) * | 2010-08-30 | 2012-03-21 | 上海悠络客电子科技有限公司 | 一种p2p网络数据传输的方法 |
CN102075576A (zh) * | 2011-01-10 | 2011-05-25 | 华中科技大学 | 嵌入式环境中的分布式协作传输方法 |
CN109348257A (zh) * | 2018-11-14 | 2019-02-15 | 广州虎牙信息科技有限公司 | 拉流控制方法、装置及直播*** |
CN109348243A (zh) * | 2018-11-14 | 2019-02-15 | 广州虎牙信息科技有限公司 | 订阅处理的方法、装置及直播*** |
CN109525869A (zh) * | 2018-11-14 | 2019-03-26 | 广州虎牙信息科技有限公司 | 拉流的方法、装置及直播*** |
CN109889543A (zh) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和*** |
CN109951723A (zh) * | 2019-03-26 | 2019-06-28 | 广州华多网络科技有限公司 | 对等网络直播***中根节点的调整方法、装置及存储介质 |
CN110505280A (zh) * | 2019-07-29 | 2019-11-26 | 网宿科技股份有限公司 | P2p传输的控制方法及p2p节点 |
Non-Patent Citations (1)
Title |
---|
基于CDN-P2P流媒体直播***方案设计实现;邓达等;《计算机工程与设计》;20130630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110493327A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018137523A1 (zh) | 一种游戏服务器的切换方法、相关设备及*** | |
US11489686B2 (en) | Virtual meetings in ad-hoc networks | |
US20170085633A1 (en) | Method and apparatus for saving cloud service traffic using peer-to-peer connection | |
CN104243266A (zh) | 访问网络的方法及装置 | |
US20230079314A1 (en) | Service server switching control method and apparatus, electronic device, and storage medium | |
US20170155712A1 (en) | Method and device for updating cache data | |
CN112398689A (zh) | 网络恢复方法、装置、存储介质及电子设备 | |
CN112218342A (zh) | 一种实现核心网子切片容灾的方法、装置和*** | |
CN110493327B (zh) | 一种数据传输方法及装置 | |
US20210329098A1 (en) | Methods of operating service instance sets and/or set restoration storage resources and related network nodes | |
CN113382065B (zh) | 文件下载方法、装置、***、设备及存储介质 | |
US20170180468A1 (en) | Method, electronic device and non-transitory computer-readable storage medium for connecting P2P network node | |
US20100183017A1 (en) | Network System, Node Device, Data Distribution Method, Information Recording Medium, and Program | |
CN110278109B (zh) | 一种容灾方法及*** | |
US9736661B2 (en) | Handling of messages in a partially deployed IMS network | |
US20150237650A1 (en) | Management of the Use of a Gateway by a Plurality of Terminals | |
CN104602047A (zh) | Epg数据的分享方法、服务器、终端及*** | |
CN111479137B (zh) | 线路地址的提供方法、装置、服务器及存储介质 | |
CN114296869A (zh) | 一种基于tcp长连接的服务器节点服役方法及装置 | |
CN114884880A (zh) | 数据传输方法以及*** | |
CN113055444A (zh) | 一种文件共享方法及其相关装置 | |
US8769523B2 (en) | Systems and methods for interrupting upgrades of content distribution systems | |
CN104601527B (zh) | 数据过滤的方法及装置 | |
CN107506491B (zh) | 一种分布式文件***的osd数据分发方法及装置 | |
CN113783768A (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 |