CN107277134B - 一种基于对等网络的数据传输方法及系统 - Google Patents

一种基于对等网络的数据传输方法及系统 Download PDF

Info

Publication number
CN107277134B
CN107277134B CN201710465546.8A CN201710465546A CN107277134B CN 107277134 B CN107277134 B CN 107277134B CN 201710465546 A CN201710465546 A CN 201710465546A CN 107277134 B CN107277134 B CN 107277134B
Authority
CN
China
Prior art keywords
data
request
peer
node
nodes
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
Application number
CN201710465546.8A
Other languages
English (en)
Other versions
CN107277134A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710465546.8A priority Critical patent/CN107277134B/zh
Priority to EP17892057.5A priority patent/EP3439239B1/en
Priority to US15/744,393 priority patent/US20180375930A1/en
Priority to PCT/CN2017/092775 priority patent/WO2018232797A1/zh
Publication of CN107277134A publication Critical patent/CN107277134A/zh
Application granted granted Critical
Publication of CN107277134B publication Critical patent/CN107277134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种基于对等网络的数据传输方法,包括步骤:对请求数据进行切片,建立至少两个传输子流;请求节点选取所述传输子流,并与其他选取不同子流的请求节点分别建立数据共享关系;所述请求节点通过所述传输子流下载相应的所述数据切片,通过所述数据共享关系接收所述其他请求节点通过自身选取的传输子流下载的所述数据切片。通过将请求数据进行切片并分流传输,请求节点可只选取其中一个子流进行数据下载,并从其他节点上获取其他数据,简单高效,尤其适用于直播业务。本发明还提供了一种基于对等网络的数据传输系统。

Description

一种基于对等网络的数据传输方法及系统
技术领域
本发明涉及网络数据传输技术领域,特别涉及一种基于对等网络的数据传输方法及系统。
背景技术
随着互联网技术的不断发展,网络数据传输技术也在不断完善。
传统的网络数据传输中,客户端借助与服务器之间的网络连接,从服务器上下载文件数据到本地,在这个过程中,由于文件数据具有一定的大小,需要一定的下载时间。
针对客户端而言,可能由于网络的带宽限制、丢包率及不可预期的异常导致文件传输比较慢或出现异常,导致客户端无法正常或者快速的获取请求的数据,尤其是对于请求的文件数据较大或者具有实时性,例如流媒体文件时,这种C/S架构下的文件数据传输模式凸显出很多问题。
针对服务器而言,能够承受的并发数有限,若每个客户端都长时间的占用下载并发数,则容易导致其他请求被拒绝或者需要等待。
由此可见,传统的网络数据传输技术存在诸多问题,越来越无法满足各种业务需求,尤其是点播业务、直播业务等对文件传输时效性要求较高的业务,也无法有效利用各客户端的资源。
近几年兴起的P2P(对等网络)技术,能利用互联网中的各个节点进行对等计算,充分利用互联网上的空闲资源,允许两个客户端直接交换信息。
目前有很多网络数据传输技术基于p2p来实现,主要是采取对等网络中各客户端节点基于互相交换的位图,交换各自拥有的数据的形式,但是这要求每个节点都需要交换各自的位图信息,不仅技术实现复杂,且对传输的速度和性能都有影响,导致对实现低延时效果不佳。
发明内容
为了解决现有技术的问题,本发明提供了一种基于对等网络的数据传输技术。所述技术方案如下:
一种基于对等网络的数据传输方法,其特征在于,所述方法包括以下步骤:
对请求数据进行切片,建立至少两个传输子流,其中所述数据切片通过相应的所述传输子流进行传输;请求节点选取所述传输子流,并与其他请求节点分别建立数据共享关系,其中所述其他请求节点是选取了与所述请求节点的所述传输子流不同的所述传输子流的请求节点;所述请求节点通过所述传输子流下载相应的所述数据切片,通过所述数据共享关系接收所述其他请求节点通过自身选取的传输子流下载的所述数据切片。
进一步的,所述对请求数据进行切片包括按照预设的处理规则对所述请求数据进行分割。
进一步的,所述数据切片通过相应的所述传输子流进行传输的方法包含:按照所述数据切片生成的顺序,依次分配至各个所述传输子流。
进一步的,所述请求节点选取所述传输子流的方法包含,基于当前各个所述传输子流已被选取的情况进行选取或随机选取。
进一步的,所述与其他请求节点建立数据共享关系包含:所述请求节点向分配服务器发送分配请求信息,其中所述分配请求信息包含所述请求节点的身份信息及选取的所述传输子流信息;所述分配服务器基于所述分配请求信息,选择并回复与所述请求节点邻近的所述其他请求节点信息;所述请求节点根据所述分配服务器的回复,与所述其他请求节点分别建立所述数据共享关系。
进一步的,所述数据共享关系中的所述请求节点和所述其他请求节点互相推送自身下载的所述数据切片,并分别接收对方推送的所述数据切片。
进一步的,所述数据共享关系中的所述其他请求节点推送自身下载的所述数据切片给所述请求节点,所述请求节点接收所述其他请求节点推送的所述数据切片。
进一步的,所述请求数据包含流媒体文件。
进一步的,所述流媒体文件为直播中的源文件。
进一步的,所述请求节点可对各个所述共享关系进行保留或解除。
本发明还提供一种基于对等网络的数据传输系统,包含多个请求节点及与各个所述请求节点连接的数据服务器,其中所述数据服务器对所述请求节点的请求数据进行切片,建立至少两个传输子流,其中所述数据切片通过相应的所述传输子流进行传输;所述请求节点选取所述传输子流,并与其他请求节点分别建立数据共享关系,其中所述其他请求节点包含选取了与所述请求节点的所述传输子流不同的所述传输子流的请求节点;所述请求节点通过所述传输子流下载相应的所述数据切片,通过所述共享关系接收所述其他请求节点通过自身选取的传输子流下载的所述数据切片。
进一步的,所述数据服务器对请求数据进行切片包括按照预设的处理规则对所述请求数据进行分割。
进一步的,所述数据服务器为每个所述数据切片创建编号,并基于所述编号将所述数据切片分配至各个所述传输子流。
进一步的,所述请求节点选取所述传输子流的方法包含,基于当前各个所述传输子流已被选取的情况进行选取或随机选取。
进一步的,所述系统更包含分配服务器,所述请求节点与其他请求节点建立数据共享关系包含:所述请求节点向分配服务器发送分配请求信息,其中所述分配请求信息包含所述请求节点的身份信息及选取的所述传输子流信息;所述分配服务器基于所述分配请求信息,选择并回复与所述请求节点邻近的所述其他请求节点信息;所述请求节点根据所述服务器的回复,与所述其他请求节点分别建立所述数据共享关系。
进一步的,所述数据共享关系中的所述请求节点和所述其他请求节点互相推送自身下载的所述数据切片,并分别接收对方推送的所述数据切片。
进一步的,所述数据共享关系中的所述其他请求节点推送自身下载的所述数据切片给所述请求节点,所述请求节点接收所述其他请求节点推送的所述数据切片。
进一步的,所述请求数据包含流媒体文件。
进一步的,所述数据服务器上的所述请求数据包含从直播平台获取的流媒体文件。
进一步的,所述请求节点可对各个所述共享关系进行保留或解除。
进一步的,所述系统包含多个所述数据服务器。
综上所述,本发明提供的技术方案,通过先对请求数据进行切片处理,并将各数据切片分别分配至相应的传输子流,使得各数据切片分流在各传输子流,如此一来,每个传输子流上传输的数据仅为请求数据的一部分,数据量小于请求数据本身。
请求节点选取传输子流,通过该传输子流下载相应的数据切片,并通过与其他请求节点之间的数据共享关系,获取其他请求节点从其他传输子流上下载的相应数据切片,从而获得请求数据,不仅降低了请求节点从数据源下载数据切片的压力,而且充分利用了与其他请求节点的数据共享,有效提升了数据传输的时效性,实现低延迟,尤其适合直播业务的需求。
更进一步的,请求节点可基于接收到的数据切片的时效性、完整性等分别对其创建的数据共享关系进行解除和保留,从而实现数据共享关系的演化更新。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1绘示本发明一较佳实施例所提供的一种基于对等网络的数据传输方法流程图;
图2绘示本发明一较佳实施例中数据切片的生成及分配过程示意图;
图3绘示图1所示实施例中请求节点与其他节点建立数据共享关系方法流程图;
图4绘示本实施例中请求节点与分配服务器数据交互示意图;
图5绘示本发明一较佳实施例所提供的基于对等网络的数据传输系统结构示意图;
图6绘示本发明另一较佳实施例所提供的基于对等网络的数据传输系统结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
以下将结合图示对本发明的实施例进行说明。
请参照图1,图1绘示本发明一较佳实施例所提供的一种基于对等网络的数据传输方法流程图。如图1所示,本实施例所提供的基于对等网络的数据传输方法包含:
步骤S10,对请求数据进行切片,建立至少两个传输子流。其中数据切片通过相应的传输子流进行传输。
具体而言,请求数据包含各种类型的数据文件、流媒体文件等。
对请求数据进行切片包括按照预设的处理规则从所述请求数据中分割出各个数据切片,其中,预设的处理规则中包含设定单个数据切片的长度。
以流媒体文件为例,预设的处理规则包含以预设的时间长度对流媒体文件进行分割,得到时间长度相等的各数据切片,使得各个数据切片相对平均。
在本发明的其他实施例中,也可以采用其他的预设处理规则对请求数据进行切片,例如以数据大小为切片单位,或针对流媒体文件,包含基于关键帧来设定切片方式等,且获得的数据切片也不一定是单位平均的,本发明并不以此为限。
传输子流用于将各个数据切片进行分别传输,在本发明的技术方案中,各请求节点基于对等网络进行数据交换,故至少包含两个传输子流。
在数据传输过程中,每个数据切片都将经过其分配到的传输子流进行传输。下面将借助图示对数据切片的生成及分配过程进行详细说明。
请参照图2,图2绘示本发明一较佳实施例中数据切片的生成及分配过程示意图。如图2所示,流媒体文件A,按照一时间单位进行等份分割,并为各数据切片设置编号F(图示中的各数据切片编号分别为1、2、3、4、5、6、7、8、9),建立N个传输子流,图示中N=3,即传输子流1、2、3。
本实施例中,基于数据切片编号F和传输子流数N为各数据切片分配相应的传输子流,具体的,通过取余的方式来确定各数据切片的传输子流,即编号为F的数据切片属于第F%N个传输子流,那么图示中数据切片1、4、7属于传输子流1,数据切片2、5、8属于传输子流2,数据切片3、6、9属于传输子流3。
值得注意的是,图2所示的流媒体文件A可以为点播业务中的流媒体文件也可以是直播业务中的流媒体文件。
在点播业务中,流媒体文件是静态的,不会发生改变的,故可以先对流媒体文件进行切片及编号,再基于切片数量确定传输子流的数量,最后将各数据切片分配到相应的传输子流中。可以理解的是,传输子流的数量也可以预先设定为一个固定值,如此一来,可以在各数据切片生成的同时确定其传输子流,本发明并不以此为限。
在直播业务中,流媒体文件A是动态的,它在本次直播中持续生成,那么可按照数据切片生成的顺序,依次分配至各个传输子流的方式对数据切片进行分配。具体而言,由于流媒体文件是持续生成的,那么数据切片的分割及传输子流的分配都是随着流媒体文件的生成而进行的,也就是说,在直播中,当流媒体文件持续生成达到预设切片单位长度时,则将该段数据分割出来,生成数据切片,并为其分配传输子流。如此一来,保证了直播中对数据传输时效性。
值得注意的是,图2所示实施例为数据切片分配传输子流的方式包含为数据切片设置编号,并对编号取余来为其分配传输子流,从而使每个传输子流分配到的数据切片数量平均且分散,从而更好的满足直播业务的需求。本发明的其他实施例中,可以采用其他的方式来进行分配,只要满足每个传输子流都能分配到数据切片,且各传输子流分配不同的数据切片即可。
步骤S20,请求节点选取传输子流,并与其他请求节点分别建立数据共享关系。
其中,请求节点包含网络中向数据源发出数据请求的节点,请求节点选取传输子流的方法包含基于当前请求数据的各个传输子流已被选取的情况进行选取,例如选取被选数最小的传输子流,使得选取各个传输子流的请求节点数量相对平衡。
在本发明的其他实施例中,可通过随机产生一个数值来选取对应的传输子流,以图2所示的实施例为例,流媒体文件A包含传输子流1、传输子流2和传输子流3,请求节点通过随机函数或其他方式生成随机数2,则表示请求节点选取了传输子流2。
基于网络的数据传输,具有较大的并发量,尤其是在同时在线用户量大的情况下,请求相同数据的用户,即请求节点基数大,每个传输子流都会被一定数量的用户选取,那么通过随机生成数来确定传输子流相较其他方法而言简单快速,更能满足直播业务中对低延迟的需求。
本发明实施例中的请求节点和其他请求节点所请求的数据相同,且可基于网络相互建立连接,其中其他请求节点与该请求节点选取了的传输子流不同。
请参照图3,图3绘示图1所示实施例中请求节点与其他节点建立数据共享关系方法流程图。如3所示,请求节点与其他请求节点建立数据共享关系的方法包含:
步骤S201,请求节点向分配服务器发送分配请求信息。
步骤S202,分配服务器基于分配请求信息,选择并回复与请求节点邻近的其他请求节点信息。
步骤S203,请求节点根据分配服务器的回复,与其他请求节点分别建立数据共享关系。
为了更清楚的对步骤S201至S203进行描述,请一并参照图4,图4绘示本实施例中请求节点与分配服务器数据交互示意图。
如图4所示,请求节点C1与分配服务器S之间存在连接L1,并基于L1发送分配请求信息M1,分配请求信息M1中包含请求节点C1的身份信息id1及其选取的传输子流信息。
其中身份信息用于对请求节点C1进行区别标识,使得其他节点可通过该身份信息确定请求节点C1,其可以是请求节点C1固有的属性,例如请求节点C1的IP地址和端口;也可以通过其他方式创建的,例如从一个统一使用的注册服务器上注册一个身份标识,本发明并不以此为限。传输子流信息包含请求数据信息D及传输子流的编号n1。
分配服务器S基于连接L1接收分配请求信息M1,解析出M1中的身份信息id1、请求数据信息D、传输子流编号n1,通过查找本地记录,选取与请求节点C1邻近的其他请求节点C2、C3,并将其他请求节点信息M2回复给请求节点C1,其中其他请求节点信息M2中包含各个其他请求节点的身份信息。其中本地记录中包含各请求节点的身份信息、请求数据信息和传输子流信息,分配服务器S对分配请求信息M1进行解析后保存至本地记录。
其中其他请求节点包含请求数据信息为D,且选取的传输子流为除n1之外的传输子流,例如,请求数据D建立的传输子流包含n1、n2和n3,请求节点C1选取的传输子流为n1,那么在确定其他请求节点时,其他请求节点选取的传输子流可为n2或n3。
分配服务器S在选取邻近其他请求节点时,包含基于本地记录中的请求相同数据并选取不同传输子流的所有请求节点信息,选取出物理位置较近请求节点,或选取与请求节点C1所属运营商相同的其他请求节点。本发明的实施例中可根据具体需求选取邻近请求节点,其可以包含物理位置、运营商、网络状况等各种因素,本发明并不做限制。
请求节点C1接收分配服务器S回复的其他请求节点信息M2,解析出各个其他请求节点C2、C3的身份信息,并分别与其他请求节点C2、C3建立数据共享关系Z1、Z2。
其中,数据共享关系包含双向的共享关系,和单向的共享关系。
在一个双向共享关系中,双方请求节点推送自身下载的数据切片给对方,并接收对方推送的所述数据切片。
以图4所示为例,请求节点C1和C2之间建立了数据共享关系Z1,若该数据共享关系为双向共享,那么当请求节点C1通过选取的传输子流n1下载了数据切片后,会将该数据切片推送给请求节点C2,同样的,C2通过选取的传输子流n2下载到数据切片后,也通过网络将该数据切片推送给请求节点C1。
数据切片被推送出去之后,请求节点C1和C2通过该数据共享关系Z1分别接收对方推送的数据切片。如此一来,请求节点C1和其他请求节点C2构成了对等网络,并基于该对等网络进行数据共享,使得请求节点C1可从其他请求节点C2中获取来自其未选取的传输子流的数据切片,同样的,C1与C3之间也基于数据共享关系Z2进行数据切片的共享。
在单向共享关系中,数据共享关系的创建者请求节点与其他请求节点的关系类似于订阅的关系,即请求节点C1订阅了请求节点C2和请求节点C3。那么被订阅的节点C2和C3在通过自身选取的传输子流n2和n3下载到数据切片后,主动推送给订阅方请求节点C1,C1接收来自C2和C3的推送数据,但无需向C2和C3推送数据切片。
值得注意的是,无论是在双向共享还是单向共享关系中,创建该数据共享关系的请求节点可对该数据共享关系进行解除。
如前文所述,网络数据传输的并发数较大,请求相同数据的请求节点数量多,那么选取相同传输子流的请求节点数量自然也会比较多,虽然可以通过设定筛选条件来优化选择,但选取相同传输子流的请求节点数也不一定为1,那么主动创建数据共享关系的请求节点则需要进行请求节点选取,即根据从选取相同传输子流(例如传输子流n2)的各个其他请求节点接收到的数据情况进行选取。
具体而言,请求节点可对选取同一传输子流的其他请求节点推送的数据切片,进行时效性、完整性等方面的比较,保留与数据切片质量较好的其他请求节点的数据共享关系,解除较差的数据共享关系,实现数据共享关系的演化更新。
由此可见,经过步骤S10和步骤S20,请求节点选取了传输子流,并与选取其他传输子流的其他请求节点建立了数据共享关系。
步骤S30,请求节点通过传输子流下载相应的数据切片,通过数据共享关系接收其他请求节点通过自身选取的传输子流下载的数据切片。
如此一来,请求节点可通过自身的下载和其他请求节点的数据共享,获取完整的请求数据。
值得说明的是,本说明书中以单个请求节点为切入点进行描述,其中的请求节点和其他请求节点均为网络中的请求节点,而这些请求节点均可借助上述方法进行数据传输。也就是说,无论是上述的请求节点,如C1,还是其他请求节点,如C2或C3,均通过上述方法进行数据下载及共享。
综上所述,本发明提供的基于对等网络的数据传输方法,通过先对请求数据进行切片处理,并将各数据切片分别分配至相应的传输子流,使得各数据切片分流在各传输子流,如此一来,每个传输子流上传输的数据仅为请求数据的一部分,数据量小于请求数据本身。
请求节点选取传输子流,通过该传输子流下载相应的数据切片,并基于与其他请求节点之间的数据共享关系,获取其他请求节点从其他传输子流上下载的相应数据切片,从而获得请求数据,不仅降低了请求节点从数据源下载数据切片的压力,而且充分利用了与其他请求节点的数据共享,有效提升了数据传输的时效性,实现低延迟,尤其适合直播业务的需求。
更进一步的,请求节点可基于接收到的数据切片的时效性、完整性等分别对其创建的数据共享关系进行解除和保留,从而实现数据共享关系的演化更新。
此外,基于相同的发明构思,本发明还提供一种基于对等网络的数据传输系统。
请参照图5,图5绘示本发明一较佳实施例所提供的基于对等网络的数据传输系统结构示意图。如图5所示,数据传输系统1包含多个请求节点10(图中仅以10a、10b、10c、10d作为示例)及数据服务器20,其中各个请求节点10分别连接于数据服务器20。
具体而言,数据服务器20上存储有各种文件数据,供网络上的各请求节点进行访问下载。根据业务场景的不同,其中各种文件数据包含静态文件和动态文件,例如在普通的数据访问或点播业务中,数据服务器20中存储的文件主要静态文件,而在直播业务中,数据服务器20上存储的文件主要为动态文件。由于直播业务较于其他业务而言要求更高,本实施例以直播具体业务场景,对本实施例进行详细说明。
在直播业务中,数据服务器20可以是数据源端,例如主播端服务器或直播的平台服务器,也可以是从主播端服务器或直播的平台服务器获取流媒体文件并进行处理的中间服务器。
用户选择直播节目的过程中,包含请求节点向数据服务器20请求下载相应节目的流媒体文件的过程。
数据服务器20对流媒体文件进行切片,并为该些数据切片建立至少两个传输子流,每个数据切片通过相应的其中一个传输子流进行传输。值得说明的是,数据服务器20可主动对流媒体文件进行切片处理,即不管是否有用户向其发生请求,都会对流媒体文件进行切片,也可以是基于用户请求而启动的,及当有用户向其发送请求时,才会对相应的流媒体文件进行切片处理。由于数据服务器20上可能同时存有数量较多的流媒体文件,即并发播放的直播节目很多,而有些节目的观看量大,有些可能就没有人观看,采取请求启动的方式,相对节省更多的数据服务器资源。
数据服务器20对请求数据进行切片包括按照预设的处理规则从所述请求数据中分割出各个数据切片,其中,预设的处理规则中包含设定单个数据切片的长度。
在本实施例中,预设的处理规则包含以预设的时间长度对流媒体文件进行分割,得到时间长度相等的各数据切片,使得各个数据切片相对平均。
在本发明的其他实施例中,也可以采用其他的预设处理规则对请求数据进行切片,例如以数据大小为切片单位,或针对流媒体文件,包含基于关键帧来设定切片方式等,且获得的数据切片也不一定是单位平均的,本发明并不以此为限。
传输子流用于将各个数据切片进行分别传输,在本发明的技术方案中,各请求节点基于对等网络进行数据交换,故至少包含两个传输子流。
在数据传输过程中,每个数据切片都将经过其分配到的传输子流进行传输,具体过程可再次参照图2及相应的文字部分,不再赘述。
请求节点10(图5所示的10a,10a、10b、10c、10d)根据用户选取的直播节目,向数据服务器20下载相应的流媒体文件。以下将以请求节点10a作为切入点进行说明。
请求节点10a选取传输子流,并与其他请求节点分别建立数据共享关系。
具体而言,请求节点10a选取传输子流的方法包含基于当前请求数据的各个传输子流已被选取的情况进行选取,例如选取被选数最小的传输子流,使得选取各个传输子流的请求节点数量相对平衡。其中当前请求情况可从分配服务器30上获取,后文将对分配服务器30进行说明。
在本发明的其他实施例中,可通过随机产生一个数值来选取对应的传输子流,以图2所示的实施例为例,流媒体文件A包含传输子流1、传输子流2和传输子流3,请求节点通过随机函数或其他方式生成随机数2,则表示请求节点选取了传输子流2。
基于网络的数据传输,具有较大的并发量,尤其是在同时在线用户量大的情况下,请求相同数据的用户,即请求节点基数大,每个传输子流都会被一定数量的用户选取,那么通过随机生成数来确定传输子流相较其他方法而言简单快速,更能满足直播业务中对低延迟的需求。
本发明实施例中的请求节点10a和其他请求节点10b、10c和10d所请求的数据相同,且可基于网络相互建立连接,其中其他请求节点10b、10c和10d与请求节点10a选取的传输子流不同。
如前文所述,本实施例中的基于对等网络的数据传输系统1更包含分配服务器30。
请求节点10a在选取传输子流之后,向分配服务器30发送分配请求信息,分配服务器30基于分配请求信息,选择并回复与请求节点邻近的其他请求节点10b、10c和10d信息。请求节点10a根据分配服务器的回复,与其他请求节点10b、10c和10d分别建立数据共享关系。
具体而言,分配请求信息中包含请求节点10a的身份信息及其选取的传输子流信息。
身份信息用于对请求节点10a进行区别标识,使得其他节点可通过该身份信息确定请求节点10a,其可以是请求节点10a固有的属性,例如IP地址和端口;也可以通过其他方式创建的,例如从一个统一使用的注册服务器上注册一个身份标识,本发明并不以此为限。
传输子流信息包含请求数据信息及传输子流的编号。
分配服务器30接收并解析出分配请求信息中的身份信息、请求数据信息和传输子流编号,通过查找本地记录31,选取与请求节点10a邻近的其他请求节点,并将其他请求节点信息回复给请求节点10a,其中其他请求节点信息中包含各个其他请求节点的身份信息。其中分配服务器30的本地记录31中包含各请求节点的身份信息、请求数据信息和传输子流信息,分配服务器30对请求节点10的分配请求信息进行解析后保存至本地记录。
其中,其他请求节点10b、10c和10d与请求节点10a所请求的流媒体文件相同,且选取的传输子流与请求节点10a不同,例如,数据服务器20为请求节点10所请求的流媒体文件建立了3条传输子流n1、n2、n3,请求节点10a选取的传输子流为n1,其他请求节点10b、10c和10d选取的传输子流分为n2、n2、n3。
分配服务器30在选取邻近其他请求节点时,基于包含本地记录中的请求相同数据并选取不同传输子流的所有请求节点信息,选取出物理位置较近的请求节点,或选取与请求节点10a所属运营商相同的其他请求节点。本发明的实施例中可根据具体需求选取邻近请求节点,其可以包含物理位置、运营商、网络状况等各种因素,本发明并不做限制。
请求节点10a接收分配服务器30回复的其他请求节点信息,解析出各个其他请求节点10b、10c和10d的身份信息,并分别与其他请求节点10b、10c和10d建立数据共享关系。
其中,数据共享关系包含双向的共享关系,和单向的共享关系。
在一个双向共享关系中,双方请求节点推送自身下载的数据切片给对方,并接收对方推送的所述数据切片。
在单向共享关系中,数据共享关系的创建者请求节点与其他请求节点的关系类似于订阅的关系,即请求节点订阅了其他请求节点。那么被订阅的其他请求节点在通过自身选取的传输子流下载到数据切片后,主动推送给订阅方请求节点,订阅方接收来自被订阅方的推送数据,但无需向被订阅方推送数据切片。
值得注意的是,无论是在双向共享还是单向共享关系中,创建该数据共享关系的请求节点可对该数据共享关系进行解除。
如前文所述,网络数据传输的并发数较大,请求相同数据的请求节点数量多,那么选取相同传输子流的请求节点数量自然也会比较多,虽然可以通过设定筛选条件来优化选择,但选取相同传输子流的请求节点数也不一定为1,例如选取传输子流的请求节点包含10b和10c,那么主动创建数据共享关系的请求节点10a则需要进行请求节点选取,即根据从选取相同传输子流(例如传输子流n2)的各个其他请求节点10b和10c接收到的数据情况进行选取。
具体而言,请求节点可对选取同一传输子流的其他请求节点推送的数据切片,进行时效性、完整性等方面的比较,保留与数据切片质量较好的其他请求节点的数据共享关系,解除较差的数据共享关系,实现数据共享关系的演化更新。例如,若从10b收到时,发现已从10c中收到同样的数据切片,那么可判定10b的数据传输时效性较差,则可解除与10b的数据共享关系。
请求节点10a通过自身选取的传输子流下载相应的数据切片,并借助数据共享关系从其他请求节点10b、10c和10d获取从其他传输子流下载的数据切片,从而获得一个完整的流媒体文件片段进行播放。
值得说明的是,本实施例中以请求节点10a为切入点进行描述,其他请求节点10b、10c和10d均可借助上述方法进行数据传输。
更进一步的,在本发明的其他实施例中,可包含多个数据服务器,网络中的请求节点可对各数据服务器进行访问。请参照图6,图6绘示本发明另一较佳实施例所提供的基于对等网络的数据传输系统结构示意图。如图6所示,数据传输系统2,包含数据服务器200a、200b和200c,请求节点100a、10ob、100c和100d可分别访问该些数据服务器和分配服务器300。本实施例中的数据服务器、请求节点和分配服务器之间的关系及各自的功能实现与图5所示实施例相同,在此不在赘述。
综上所述,本发明提供的基于对等网络的数据传输系统,结构简单,且流程简单,通过数据服务器先对请求数据进行切片处理,并将各数据切片分别分配至相应的传输子流,使得各数据切片分流在各传输子流,如此一来,每个传输子流上传输的数据仅为请求数据的一部分,数据量小于请求数据本身。
请求节点选取传输子流,通过该传输子流下载相应的数据切片,并基于与其他请求节点之间的数据共享关系,获取其他请求节点从其他传输子流上下载的相应数据切片,从而获得请求数据,不仅降低了请求节点从数据源下载数据切片的压力,而且充分利用了与其他请求节点的数据共享,有效提升了数据传输的时效性,实现低延迟,尤其适合直播业务的需求。
更进一步的,请求节点可基于接收到的数据切片的时效性、完整性等分别对其创建的数据共享关系进行解除和保留,从而实现数据共享关系的演化更新。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种基于对等网络的数据传输方法,其特征在于,所述方法包括以下步骤:
对请求数据进行切片,建立至少两个传输子流,其中数据切片通过相应的所述传输子流进行传输,所述数据切片通过相应的所述传输子流进行传输包含按照所述数据切片生成的顺序,依次分配至各个所述传输子流;
请求节点选取所述传输子流,并与其他请求节点分别建立数据共享关系,其中所述其他请求节点包含选取了与所述请求节点的所述传输子流不同的所述传输子流的请求节点;
所述请求节点通过所述传输子流向数据服务器下载相应的所述数据切片,通过所述数据共享关系接收所述其他请求节点通过自身选取的传输子流下载的所述数据切片;
所述与其他请求节点分别建立数据共享关系包含:
所述请求节点向分配服务器发送分配请求信息,其中所述分配请求信息包含所述请求节点的身份信息及选取的所述传输子流信息;
所述请求节点根据所述分配服务器回复的所述其他请求节点信息,与所述其他请求节点分别建立所述数据共享关系。
2.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述对请求数据进行切片包括按照预设的处理规则对所述请求数据进行分割。
3.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述请求节点选取所述传输子流的方法包含,基于当前各个所述传输子流已被选取的情况进行选取或随机选取。
4.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述与其他请求节点分别建立数据共享关系更包含:
所述分配服务器基于所述分配请求信息,选择并回复与所述请求节点邻近的所述其他请求节点信息。
5.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述数据共享关系中的所述请求节点和所述其他请求节点互相推送自身下载的所述数据切片,并分别接收对方推送的所述数据切片。
6.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述数据共享关系中的所述其他请求节点推送自身下载的所述数据切片给所述请求节点,所述请求节点接收所述其他请求节点推送的所述数据切片。
7.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述请求数据包含流媒体文件。
8.如权利要求7所述的基于对等网络的数据传输方法,其特征在于,所述流媒体文件为直播中的源文件。
9.如权利要求1所述的基于对等网络的数据传输方法,其特征在于,所述请求节点可对各个所述数据共享关系进行保留或解除。
10.一种基于对等网络的数据传输系统,其特征在于,包含多个请求节点及与各个所述请求节点连接的数据服务器,其中所述数据服务器对所述请求节点的请求数据进行切片,建立至少两个传输子流,其中数据切片通过相应的所述传输子流进行传输,所述数据切片通过相应的所述传输子流进行传输包含按照所述数据切片生成的顺序,依次分配至各个所述传输子流;
所述请求节点选取所述传输子流,并与其他请求节点分别建立数据共享关系,其中所述其他请求节点包含选取了与所述请求节点的所述传输子流不同的所述传输子流的请求节点;
所述请求节点通过所述传输子流向数据服务器下载相应的所述数据切片,通过所述数据共享关系接收所述其他请求节点通过自身选取的传输子流下载的所述数据切片;
所述请求节点与其他请求节点分别建立数据共享关系包含:
所述请求节点向分配服务器发送分配请求信息,其中所述分配请求信息包含所述请求节点的身份信息及选取的所述传输子流信息;
所述请求节点根据所述分配服务器回复的所述其他请求节点信息,与所述其他请求节点分别建立所述数据共享关系。
11.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述数据服务器对请求数据进行切片包括按照预设的处理规则对所述请求数据进行分割。
12.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述数据服务器为每个所述数据切片创建编号,并基于所述编号将所述数据切片分配至各个所述传输子流。
13.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述请求节点选取所述传输子流的方法包含,基于当前各个所述传输子流已被选取的情况进行选取或随机选取。
14.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述系统更包含分配服务器,所述请求节点与其他请求节点分别建立数据共享关系更包含:
所述分配服务器基于所述分配请求信息,选择并回复与所述请求节点邻近的所述其他请求节点信息。
15.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述数据共享关系中的所述请求节点和所述其他请求节点互相推送自身下载的所述数据切片,并分别接收对方推送的所述数据切片。
16.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述数据共享关系中的所述其他请求节点推送自身下载的所述数据切片给所述请求节点,所述请求节点接收所述其他请求节点推送的所述数据切片。
17.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述请求数据包含流媒体文件。
18.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述数据服务器上的所述请求数据包含从直播平台获取的流媒体文件。
19.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述请求节点可对各个所述共享关系进行保留或解除。
20.如权利要求10所述的基于对等网络的数据传输系统,其特征在于,所述系统包含多个所述数据服务器。
CN201710465546.8A 2017-06-19 2017-06-19 一种基于对等网络的数据传输方法及系统 Active CN107277134B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710465546.8A CN107277134B (zh) 2017-06-19 2017-06-19 一种基于对等网络的数据传输方法及系统
EP17892057.5A EP3439239B1 (en) 2017-06-19 2017-07-13 Data transmission method and system based on peer-to-peer network
US15/744,393 US20180375930A1 (en) 2017-06-19 2017-07-13 Peer-to-peer network data transmission method and system
PCT/CN2017/092775 WO2018232797A1 (zh) 2017-06-19 2017-07-13 一种基于对等网络的数据传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710465546.8A CN107277134B (zh) 2017-06-19 2017-06-19 一种基于对等网络的数据传输方法及系统

Publications (2)

Publication Number Publication Date
CN107277134A CN107277134A (zh) 2017-10-20
CN107277134B true CN107277134B (zh) 2020-08-04

Family

ID=60068010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710465546.8A Active CN107277134B (zh) 2017-06-19 2017-06-19 一种基于对等网络的数据传输方法及系统

Country Status (3)

Country Link
EP (1) EP3439239B1 (zh)
CN (1) CN107277134B (zh)
WO (1) WO2018232797A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108174230B (zh) * 2017-12-29 2020-10-09 安徽国通亿创科技股份有限公司 基于弹性分布式流媒体的音视频直播系统
CN110149524B (zh) * 2018-02-11 2021-12-14 腾讯科技(深圳)有限公司 直播流切片系统、直播流切片方法、装置及可读介质
CN109040213B (zh) * 2018-07-23 2021-06-08 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN109246185B (zh) * 2018-07-31 2021-03-12 Oppo广东移动通信有限公司 文件下载方法及相关产品
CN108990039B (zh) * 2018-08-08 2021-04-13 Oppo广东移动通信有限公司 数据传输方法及相关装置
CN111526375A (zh) * 2019-02-01 2020-08-11 广州虎牙信息科技有限公司 资源分发方法及装置
US10917497B2 (en) 2019-03-27 2021-02-09 Wangsu Science & Technology Co., Ltd. Method, system, device and server for determining transmission quality of node
CN110048906B (zh) * 2019-03-27 2021-04-02 网宿科技股份有限公司 一种判断节点传输质量的方法、系统、装置及服务器
CN111193936B (zh) * 2019-12-27 2021-11-12 腾讯科技(深圳)有限公司 视频流传输方法、装置、电子设备及计算机可读存储介质
CN112235335A (zh) * 2020-03-04 2021-01-15 上海曼恒数字技术股份有限公司 一种内容传输方法及系统
CN115842810A (zh) * 2021-08-18 2023-03-24 武汉斗鱼鱼乐网络科技有限公司 一种直播子流分享方法及装置
CN115484239B (zh) 2022-09-15 2023-10-27 北京百度网讯科技有限公司 多媒体数据流的处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068186A (zh) * 2007-06-05 2007-11-07 华为技术有限公司 一种客户端节点网络拓扑构造方法及流媒体分发系统
CN101094107A (zh) * 2006-06-21 2007-12-26 北京网视天元信息技术有限公司 视听节目p2p流媒体网络传播效果精确测量的系统及方法
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法
CN101841557A (zh) * 2010-03-02 2010-09-22 中国科学院计算技术研究所 一种基于十字链表的p2p流媒体下载方法和系统
CN105392068A (zh) * 2015-11-04 2016-03-09 合一网络技术(北京)有限公司 分布式多传输信道网络直播视频并行分发方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077254A1 (en) * 2007-09-13 2009-03-19 Thomas Darcie System and method for streamed-media distribution using a multicast, peer-to- peer network
CN101247193B (zh) * 2008-02-28 2010-12-08 华为技术有限公司 对等网络中发送数据的方法、系统、节点和超级节点
CN101764831B (zh) * 2008-12-24 2012-09-19 中国移动通信集团公司 一种流媒体数据共享方法、共享系统和流媒体节点
CN101945129A (zh) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2p流媒体直播的低延时传输方法及系统
CN106034242A (zh) * 2015-03-09 2016-10-19 杭州施强网络科技有限公司 一种p2p系统中音视频直播流媒体数据传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094107A (zh) * 2006-06-21 2007-12-26 北京网视天元信息技术有限公司 视听节目p2p流媒体网络传播效果精确测量的系统及方法
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法
CN101068186A (zh) * 2007-06-05 2007-11-07 华为技术有限公司 一种客户端节点网络拓扑构造方法及流媒体分发系统
CN101841557A (zh) * 2010-03-02 2010-09-22 中国科学院计算技术研究所 一种基于十字链表的p2p流媒体下载方法和系统
CN105392068A (zh) * 2015-11-04 2016-03-09 合一网络技术(北京)有限公司 分布式多传输信道网络直播视频并行分发方法及系统

Also Published As

Publication number Publication date
EP3439239A1 (en) 2019-02-06
WO2018232797A1 (zh) 2018-12-27
EP3439239A4 (en) 2019-02-06
CN107277134A (zh) 2017-10-20
EP3439239B1 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
CN107277134B (zh) 一种基于对等网络的数据传输方法及系统
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
US9432452B2 (en) Systems and methods for dynamic networked peer-to-peer content distribution
CN106657287B (zh) 一种数据访问方法及系统
US11102290B2 (en) Peer-to-peer network prioritizing propagation of objects through the network
WO2017088383A1 (zh) 一种直播视频的播放方法、装置及系统
JP5819538B2 (ja) ピアツーピアコンテンツ配信システムにおけるアナウンスするピアによるコンテンツ所持の確認
EP2058980A1 (en) A method, system and device for establishing a peer to peer connection in a p2p network
CN106549988B (zh) 加入群组方法、装置及系统
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
CN108156257A (zh) 一种信息推送方法及装置
CN112769958A (zh) 点对点网络调度方法和系统
CN113382065B (zh) 文件下载方法、装置、系统、设备及存储介质
WO2021073405A1 (zh) 数据分发方法、电子设备及存储介质
CN107438098B (zh) 一种动态内容分发方法及其系统
CN109347967A (zh) 一种获取音视频数据的方法及装置
CN103179191A (zh) P2p网络管控装置及p2p网络管控架构
US20180375930A1 (en) Peer-to-peer network data transmission method and system
CN112925946B (zh) 一种业务数据存储方法、装置及电子设备
RU2465638C1 (ru) Способ распространения мультимедийной информации посредством развертывания децентрализованной сети типа peer-to-peer и децентрализованная сеть для осуществления способа
Çevikbaş et al. Phaneros: Visibility‐based framework for massive peer‐to‐peer virtual environments
Jia et al. On prioritization mechanisms for large-scale 3D streaming in distributed virtual environments
KR101205999B1 (ko) 비디오 스트리밍 서비스를 위한 컨텐츠 관리 방법 및 장치
CN116094913A (zh) 信息传输方法、装置及通信设备
JP2018147171A (ja) コンテンツ配信方法、およびコンテンツ配信システム

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