CN109688201B - 更换资源数据获取对象的方法、装置、设备及存储介质 - Google Patents
更换资源数据获取对象的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109688201B CN109688201B CN201811465184.3A CN201811465184A CN109688201B CN 109688201 B CN109688201 B CN 109688201B CN 201811465184 A CN201811465184 A CN 201811465184A CN 109688201 B CN109688201 B CN 109688201B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- node
- data packet
- resource data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000011664 signaling Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种更换资源数据获取对象的方法、装置、设备及存储介质,所述方法运用于P2P网络中,在所述P2P网络中,本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包;或本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,本节点从服务器获取按照预设时间周期或预设编号周期发送的数据包;所述方法包括步骤:当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。旨在解决传统技术中,更换资源数据获取对象后存在的网络拥塞或数据冗余等问题。
Description
技术领域
本申请涉及互联网领域,尤其涉及P2P技术领域。
背景技术
Peer-to-peer(P2P)是一种分布式网络,P2P网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源数据需要由网络提供服务和内容,能被其它对等节点(peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源数据(服务和内容)提供者,又是资源数据获取者。
在P2P网络中,常出现更换资源数据获取对象的情况。
发明内容
基于此,本申请提供更换资源数据获取对象的方法、装置、设备及存储介质。
在本申请的第一方面,提供一种更换资源数据获取对象的方法,所述方法运用于P2P网络中,在所述P2P网络中,本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包;或
本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,本节点从服务器获取按照预设时间周期或预设编号周期发送的数据包;
所述方法包括步骤:
当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
在一些例子中,所述资源数据包括直播流媒体数据;
所述数据包由直播流媒体数据拆分得到。
在一些例子中,不同的数据包根据自身编号被分成若干个组;
所述本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,包括:
本节点从P2P网络中的至少两个其他节点分别获取指定组对应的数据包;或
本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包,包括:
本节点从P2P网络中的至少一个其他节点以及服务器分别获取指定组对应的数据包。
在一些例子中,所述目标数据包的编号还根据从其他客户端获取的数据包中,除更换获取对象之外的其他指定组对应的数据包中各组的最大编号确定。
在一些例子中,所述目标数据包的编号包括第一编号附近属于更换获取对象的指定组对应的数据包的编号;
其中,所述第一编号根据第二编号和第三编号确定,
所述第二编号为将获取所述资源数据的对象由其他节点更换为服务器时,从服务器获取的数据包的最大编号;
所述第三编号为将获取所述资源数据的对象由其他节点更换为服务器时,从其他客户端获取的数据包中,除更换获取对象之外的其他指定组的对应的数据包中各组最大编号中的最小值或平均值。
在一些例子中,所述将获取所述资源数据的对象由其他节点更换为服务器,在满足以下条件触发:
本节点与获取资源数据的其他节点的网络连接信息低于第一预设条件,并无法从P2P网络中的其他节点获取到资源数据;或
本节点的自身配置信息达到第二预设条件。
在一些例子中,本节点通过自动重传的方式获取更换资源数据获取对象期间缺失的数据包。
在一些例子中,所述自动重传的方式包括:
检测到获取资源数据存在缺失后,将缺失的数据包对应的编号存放至一预重传队列,并记录所述编号的存放时间,及计算所述编号对应的数据包的待使用时间;
向自动重传端请求重传目标编号的数据包,其中,所述目标编号包括:存放时间达到第一预设时间或所述待使用时间不大于第二预设时间的编号。
在本申请的第二方面,提供另一种更换资源数据获取对象的方法,所述方法运用于P2P网络中,所述方法包括步骤:
本节点接收到资源数据对应的数据包后,若存在数据包从P2P网络中的其他节点获取,判断是否存在数据包由服务器发送;
若存在,则当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据;
若不存在,则本节点向服务器请求按照预设时间周期或预设编号周期发送的数据包,并当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,其中,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
在本申请的第三方面,提供一种更换资源数据获取对象的装置,所述装置包括:
获取模块,用于从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,从服务器获取其他资源数据对应的数据包;或从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,从服务器获取按照预设时间周期或预设编号周期发送的数据包;
处理模块,用于当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
在本申请的第四方面,提供一种终端设备,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机程序,所述计算机程序被配置成被所述处理器执行如前述第一方面或第二方面任意一项方法所述的操作。
在本申请的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行如前述第一方面或第二方面任意一项方法所述的操作。
本申请实施例首先通过从服务器获取部分资源数据,或在本节点从P2P网络中的其他节点获取全部资源数据的情况下,向服务器请求获取按照预设时间周期或预设编号周期发送的数据包,以记录本节点实际从服务器获取数据包的情况,并以上述从服务器获取的数据包的最大编号作为更换资源数据获取对象时起始数据包的参考,避免传统技术中,更换获取数据的对象时,简单的以更换前从原对象获取的数据为参考,例如从原对象获取的数据至a处断开,则以a处为起始从新对象获取数据,使得起始处选的太早,而造成数据冗余及带宽浪费的问题。当然,利用本申请提出的方案还可以减小传统的相关技术中,由于起始数据选得太晚,造成的重传的数据包太多而带来的网络拥塞问题。
附图说明
图1是一种P2P场景的示意图;
图2a为本申请实施例示意性示出的获取资源数据的示意图;
图2b为本申请实施例示例性示出的一种更换资源数据获取对象的方法的流程图;
图3为本申请实施例示例性示出的另一种更换资源数据获取对象的方法的流程图;
图4a为本申请实施例示例性示出的另一种更换资源数据获取对象的方法的流程图;
图4b为本申请实施例示例性示出的另一种更换资源数据获取对象的方法的流程图;
图5为本申请实施例示例性示出的一种自动重传方法的流程图;
图6为本申请实施例示例性示出的更换资源数据获取对象的装置的示意图;
图7为本申请实施例示例性示出的一终端设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本申请实施例提出的一种网络架构,该网络架构中包括服务器设备100和客户端设备(110、120、130),客户端设备可以借助服务器设备相互搭建成P2P网络。由于不同的应用环境下,用户对网络设备的功能需求可能不同,因此,每个应用场景中服务器和客户端设备的数量以及功能可以不同。
在P2P网络中,常出现更换资源数据的获取对象。申请人发现,在现有的P2P网络中,更换资源数据的获取对象时,由于要切断原有的获取资源数据的连接,与新的对象建立连接,会出现数据包缺失,并且网络抖动是常见现象,而网络抖动对于异常复杂的P2P网络来说也会造成较大影响,所以如何选择从新的对象获取资源数据的起始数据包,会直接影响更换资源数据的获取对象期间或之后一段时间内的网络状况,有的时候甚至影响网络拥塞的发生。
为了解决上述技术问题,本申请实施例提供一种更换资源数据获取对象的方法、装置、设备及存储介质。所述更换资源数据获取对象的方法运用于P2P网络中,在所述P2P网络中存在两种情况,为情况一或情况二。情况一:本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包;例如:资源数据被分为三部分,分别是资源数据a、资源数据b及资源数据c,参照图2a左图,为情况一的一示意图,本节点341从P2P网络340中的其他节点342获取资源数据a对应的数据包,从P2P网络340中的其他节点343获取资源数据b对应的数据包,从服务器350获取资源数据c对应的数据包。情况二:本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,本节点从服务器获取按照预设时间周期或预设编号周期发送的数据包;例如:资源数据被分为三部分,分别是资源数据a、资源数据b及资源数据c,参照图2a右图,为情况二的一示意图,本节点361从P2P网络360中的其他节点362获取资源数据a对应的数据包,从P2P网络360中的其他节点363获取资源数据b对应的数据包,从P2P网络360中的其他节点364获取资源数据c对应的数据包,从服务器370获取按照预设时间周期或预设编号周期发送的数据包,以记录从服务器获取数据包的情况。
参照图2b,为本申请实施例示例性示出的一种更换资源数据获取对象的方法的流程图,包括:
S200:本节点根据上述情况一或情况二获取资源数据;
S210:当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
本申请实施例所述的资源数据可以是文件形式存在的文件数据(例如常见的音频/视频文件、图片文件、各种Office文档等等),也可以是流媒体数据,例如直播场景下直播流媒体数据等。若所述资源数据为直播流媒体数据,则所述数据包可以由服务器将主播客户端发送的直播流媒体数据拆分,并按照自定义格式封装得到,所述自定义格式包括连续编号,所述编号用于表征数据包的唯一性;需要说明的是,本申请实施例不同于传统的P2P模式,首先将流媒体数据切割成数据包而不是文件块,文件块的大小可能在上百KB,而相对于文件块来说,数据包的可切割粒度更小,例如1KB,可以作为更小的传输单元在网络中传输,例如在考虑切割后的数据包的大小时,可以结合互联网链路层的传输特性来设计,使得数据包的大小与P2P网络中各连接通道的传输带宽匹配。举例来说,各对等节点之间建立的通道可以是UDP通道,每个数据包的大小可以是1KB左右,略小于MTU(互联网网络层最大传输单元),这样,每个数据包可以由1个IP包传输,不需要出现基于IP包拆包,因此比切割文件的方式效率更高,从而使得具有更广泛的适用场景,尤其是直播场景。
本申请实施例所述的节点可以是一应用程序或服务,例如直播客户端,所述节点可以被安装在终端设备上,该终端设备可以具有连网功能,例如移动终端(例如智能手机、智能平板及笔记本电脑等)及固定终端(台式电脑、服务器、智能电视及车载终端等)等。本申请不限制终端设备的类型。
本申请实施例所述的P2P网络中,本节点从P2P网络的其他节点获取部分资源数据或是全部资源数据,可以根据实际情况而定。参照图3,为本申请实施例示意性示出的另一更换资源数据获取对象的方法流程图,包括步骤:
S310:本节点接收到资源数据对应的数据包。
S320:若存在数据包从P2P网络中的其他节点获取,判断是否存在数据包由服务器发送。
若是,则本节点执行步骤S210。
步骤中,存在数据包由服务器发送,即本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包,为情况一。
S330:若否,则本节点向服务器请求按照预设时间周期或预设编号周期的数据包,以记录从服务器获取的数据包的情况;并在接收到服务器发送的数据包后,执行步骤S210。
本步骤中,若不存在数据包由服务器发送,即本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,则本节点向服务器请求按照预设时间周期或预设编号周期的数据包,以记录从服务器获取的数据包的情况,为情况二。
在一些例子中,若为情况一,在未更换对象之前,例如本节点从P2P网络中的节点1获取编号为奇数的数据包,从服务器获取编号为偶数的数据包,当将获取编号为奇数的数据包的对象由节点1更换为服务器,此时本节点从服务器获取的数据包中最大编号为QmaxF,该QmaxF为偶数;本节点根据QmaxF确定目标数据包的编号,当然该实施例中,目标数据包的编号是奇数,例如,目标数据包的编号为QmaxF-n或QmaxF+n,其中,n为预设奇数,例如1,然后本节点从服务器持续获取从以编号QmaxF-n或QmaxF+n为起始的编号为奇数的数据包,以及原本获取的编号为偶数的数据包。当然,上述实施例提出的从P2P网络中的其他节点获取编号为奇数的数据包,从服务器获取编号为偶数的数据包,是本申请一个示意性的实施例,也可以是其他方式,本申请并不限制具体从其他节点或服务器获取怎样规定的数据包,但是可以理解,确定目标数据包的编号的方式可以参考上述实施例。
在一些例子中,若为情况二,在未更换对象之前,例如本节点从P2P网络中的节点1获取全部资源数据对应的数据包,并向服务器请求按照预设时间周期或预设编号周期的数据包,例如:向服务器请求每隔100个编号获取一个数据包,当将获取数据包的对象由节点1更换为服务器,且此时本节点从服务器获取的数据包中最大编号为QmaxF;本节点根据QmaxF确定目标数据包的编号,例如:目标数据包的编号为QmaxF-N或QmaxF+N,其中,N预设整数;然后,本节点从服务器持续获取从以编号QmaxF-N或QmaxF+N为起始的资源数据。
至此,本申请实施例首先通过从服务器获取部分资源数据,或在本节点从P2P网络中的其他节点获取全部资源数据的情况下,从服务器获取按照预设时间周期或预设编号周期发送的数据包,以记录本节点实际从服务器获取数据包的情况,并以上述从服务器获取的数据包的最大编号作为更换资源数据获取对象时起始数据包的参考,避免传统技术中,更换获取数据的对象时,简单的以更换前从原对象获取的数据为参考,例如从原对象获取的数据至a处断开,则以a处为起始从新对象获取数据,使得起始处选的太早,而造成数据冗余及带宽浪费的问题。当然,利用本申请提出的方案还可以减小传统的相关技术中,由于起始数据选得太晚,造成的重传的数据包太多而带来的网络拥塞问题。
在一些例子中,本节点在进入P2P网络后,可以向P2P网络中的节点发送连接请求,并与响应该连接请求的节点建立P2P网络,接着本节点可以从已建立连接的节点中选择至少一个节点订阅指定的资源数据,订阅成功后,被订阅的节点将指定的资源数据对应的数据包推送给本节点。当然,一些例子中,本节点与成功订阅的节点(获取资源数据的其他节点)之间可以周期性交互信令信息,根据该信令信息判断本节点与订阅节点之间的网络状况,所述信令信息包括:丢包率、延时、网速和/或上行带宽等信息。
为了进一步提高P2P网络中数据传输的效率,在一些例子中,不同的数据包根据编号被分成多个组,被订阅的不同节点各自推送的指定数据包属于不同分组。
具体的,一些例子中,所述编号可以是预定位数的编号,可以用各数据包的编号对分组数进行求余,根据求余的余数确定各数据包的分组。例如:一资源数据被切割成了编号为1-20的数据包,分组数为5,用各数据包的编号对5进行求余,例如编号为1,1/5的余数是1,余数为1的都属于第一组,所以编号为1的数据包属于第一组,以此类推,可以确定各数据包的分组情况,若资源数据为流媒体数据,每组分组的数据包可以组成一路子流,例如余数为0的数据包属于0号子流,余数为1的数据包属于1号子流,以此类推。在一些例子中,所述分组数可以根据流媒体数据的码率或分辨率或承担分发数据包任务的服务器的数量确定,具体求余的策略不做限定。将数据包分组后,服务器可以基于分组将数据包分发给P2P网络中的节点,例如,可以由多个服务器分别将不同组的数据包发送给P2P网络中从服务器获取资源数据的节点,以提高数据传输效率,及增加节点播放资源数据的起播速度。当然,在一些例子中,将数据包分组后,每个节点可以从不同的节点获取不同分组的数据,可以进一步提高P2P网络中数据传输效率。
若数据包进行分组,在一些例子中,所述目标数据包的编号还根据从其他客户端获取的数据包中,除更换获取对象之外的其他指定组对应的数据包中各组的最大编号确定。例如参照图2a右图,数据包分为三组,本节点361从节点362获取第一组对应的数据包,从节点363获取第二组对应的数据包,以及从节点364获取第三组对应的数据包,若本节点361获取第一组数据包的对象由节点362更换为服务器370,则所述目标数据包的编号不仅根据从服务器370获取的数据包的最大编号确定,还根据除原先从节点362获取的第一组对应的数据包外,本节点从节点363获取的第二组对应的数据包的最大编号,以及从节点364获取的第三组对应的数据包的最大编号确定。
在一个具体的例子中,所述目标数据包的编号包括第一编号S附近属于更换获取对象的指定组对应的数据包的编号,例如,指定组为第一组,第一编号S属于第二组,则目标数据包的编号为离第一编号S最近属于第一组的编号。所述第一编号S根据第二编号QmaxF以及第三编号Q确定。
其中,所述第二编号QmaxF为接收到将获取所述资源数据的对象由其他节点更换为服务器的指令时,从服务器获取的数据包的最大编号;
所述第三编号Q为接收到将获取所述资源数据的对象由其他节点更换为服务器的指令时,从其他客户端获取的数据包中,除更换获取对象之外的其他指定组的对应的数据包中各组最大编号中的最小值Qmin,或平均值Qave,所述Qave为整数。
在一个具体的例子中,所述第一编号S可以根据如下公式计算得到:
S=a*(QmaxF+Q);(1)
所述a为预设系数,例如1/2;需要说明的上述公式(1)仅仅为一个示例性的实施例,本申请还可以用其他的计算方式根据第二编号QmaxF以及第三编号Q计算得到第一编号S。
具体的,若以情况一为例,一个例子中,服务器获取第F组的资源数据,将获取第n组资源数据的对象由P2P网络中的其他节点更换为服务器时,记录接收到的数据包中,属于服务器发送的数据包的最大编号QmaxF,以及除第n组外,其他各组数据包的最大编号Qmax0……Qmaxn-1,Qmaxn+1……QmaxF-1,QmaxF+1……QmaxN-1,N为分组数,并得到Qmin={Qmax0……Qmaxn-1,Qmaxn+1……QmaxF-1,QmaxF+1……QmaxN-1}min,根据QmaxF以及{Qmax0……Qmaxn-1,Qmaxn+1……QmaxF-1,QmaxF+1……QmaxN-1}min确定目标数据包的编号,例如目标数据包的编号是离a*(QmaxF+{Qmax0……Qmaxn-1,Qmaxn+1……QmaxF-1,QmaxF+1……QmaxN-1}min)最近的属于第n组的编号。
一个具体的例子中,资源数据中的数据包被分成5组,分别是0号子流至4号子流。其中本节点从1号节点获取1号子流,从2号节点获取2号子流,从3号节点获取3号子流,从4号节点获取4号子流,从服务器获取0号子流,若接收到将获取1号子流的对象由其他节点更换为服务器的指令,例如:本节点与1号节点交互信令信息时,发现1号节点与本节点之间的网络状况低于预设分数,且本节点向P2P网络中的其他节点发送订阅1号子流的请求在规定时间内未收到响应,那么,将获取1号子流的对象由1号节点更改为服务器,此时,可能收到的数据包的情况是:0号子流收到的数据包的最大编号为S0=10015,1号子流收到的数据包的最大编号为S1=1041,2号子流收到的数据包的最大编号为S2=10002,3号子流收到的数据包的最大编号为S3=10018,4号子流收到的数据包的最大编号为S4=9999。那么除了从服务器获取的0号子流外,其他子流(1-4号子流)中获取的数据包中{S2,S3,S4}min=9999。那么目标数据包的编号在S的附近属于1号子流的数据包的编号,S=a*(S0+{S2,S,S3,S4}min),若a=0.5,S=10007,那么目标数据包的编号为10006。
若为情况二,将获取第n组资源数据的对象由P2P网络中的其他节点更换为服务器时,记录接收到的数据包中,属于服务器发送的数据包的最大编号QmaxF,以及除第n组外,其他各组数据包的最大编号Qmax0……Qmaxn-1,Qmaxn+1……QmaxN-1,N为分组数,并得到Qmin={Qmax0……Qmaxn-1,Qmaxn+1……QmaxN-1}min,根据QmaxF以及{Qmax0……Qmaxn-1,Qmaxn+1……QmaxN-1}min确定目标数据包的编号,例如目标数据包的编号是离a*(QmaxF+{Qmax0……Qmaxn-1,Qmaxn+1……QmaxN-1}min)最近的属于第n组的编号。
一个具体的例子中,当判断出并未从服务器订阅任何数据包,则请求服务器按照预设时间周期或预设编号间隔发送数据包,例如,每隔200个编号给本节点发送数据包,依然以资源数据中的数据包被分成5组为例,其中本节点从1号节点获取1号子流,从2号节点获取2号子流,从3号节点获取3号子流,从4号节点获取4号子流,从5号节点获取0号子流,若接收到将获取取1号子流的对象由其他节点更换为服务器的指令,例如:本节点与1号节点交互信令信息时,发现1号节点与本节点之间的网络状况低于预设分数,且本节点向P2P网络中的其他节点发送订阅1号子流的请求在规定时间内未收到响应,那么,将获取1号子流的对象由1号节点更改为服务器,此时,可能收到的数据包的情况是:0号子流收到的数据包的最大编号为S0=10015,1号子流收到的数据包的最大编号为S1=1041,2号子流收到的数据包的最大编号为S2=10002,3号子流收到的数据包的最大编号为S3=10018,4号子流收到的数据包的最大编号为S4=9999,从服务器收到的数据包的最大编号为10000。那么从P2P网络中的其他子流(0号子流、2-4号子流)中获取的数据包中{S0,S2,S3,S4}min=9999。那么目标数据包的编号在S的附近属于1号子流的数据包的编号,S=a*(S0+{{S0,S2,S3,S4}min),若a=0.5,S=10007,那么目标数据包的编号为10006。
至此,以从服务器获取的数据包最大编号,以及除更换获取对象之外的其他指定组对应的数据包中各组的最大编号为参考,确定目标数据包的编号,可以进一步有效地减小当本节点通过自动重传的方式获取丢失的数据包时,由于起始数据包编号选得太小,造成与自动重传的数据包重复冗余的问题,以及减小由于初始数据包的编号选得太大,造成的自动重传的数据包太多而带来的网络拥塞问题。
上述步骤S210提出的“将获取所述资源数据的对象由其他节点更换为服务器”可以在几种情况下被触发,具体如下:
实施例一,参照图4a,为本申请实施例示意性示出的另一更换资源数据获取对象的方法流程图,包括步骤:
S410:本节点与获取资源数据的其他节点的网络连接信息满足第一预设条件,并无法从P2P网络的其他节点获取到该资源数据时,将获取所述资源数据的对象由其他节点更换为服务器。
S211:本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
关于S410,一个例子中,可以是本节点在与订阅的节点之间交互信令信息时,发现本节点与订阅节点之间的网络连接信息低于第一预设条件,例如:延时较大或丢包较多,则可以从P2P网络中寻找替代该订阅节点的节点,若无法找到网络状况好的节点,则触发“将获取所述资源数据的对象由其他节点更换为服务器的指令”。该实施例通过在本节点与其他节点之间网络状况不佳时,将获取资源数据的对象从原来的目标节点更换成服务器,以提升数据传输的稳定性,并更好地适应例如直播等实时传输场景。
关于S410,另外一个例子中,可以是本节点从每个其他节点获取一个数据包后,记录获取该数据包的时间t1,从该其他节点收到新的数据包后,更新所述时间t1,并将当前时间t2与时间t1进行比较,若(t2-t1)>=某个预设时间时,可以从P2P网络中寻找替代该节点的其他节点,若无法找到网络状况好的节点,则触发“将获取所述资源数据的对象由其他节点更换为服务器的指令”。上述某个预设时间可以是5000ms或3000ms。该实施例通过在本节点与其他节点之间网络连接信息低于第一预设条件时,将获取资源数据的对象从原来的目标节点更换成服务器,以提升数据传输的稳定性,并更好地适应例如直播等实时传输场景。
实施例二,参照图4b,为本申请实施例示意性示出的另一更换资源数据获取对象的方法流程图,包括步骤:
S420:服务器检测到节点的自身配置信息达到第二预设条件后,向所述节点发送将获取所述资源数据的对象由其他节点更换为服务器的指令;
所述配置信息可以是包括:上行能力、网络带宽和/或所在终端设备的配置等,即本节点自身条件较好时,可以让本节点承担直接从服务器获取资源数据任务,并在获取资源数据后推送给订阅本节点的其他节点。
S430:本节点接收到所述指令后,将获取所述资源数据的对象由其他节点更换为服务器。
S211:本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
该实施例中,通过将上行能力强、网络带宽大和/或所在终端设备的配置高的节点动态调整为P2P网络中直接从服务器获取资源数据的节点,以增加整个P2P网络数据传输效率及稳定性。
当然可以理解,本申请实施例中提出的“将获取所述资源数据的对象由其他节点更换为服务器”还可以在其他条件下被触发,本申请不限制“将获取所述资源数据的对象由其他节点更换为服务器的指令”触发的条件。
在一些例子中,所述前述图2b、图3、图4a及图4b所述的方法,还可以包括步骤:本节点通过自动重传的方式获取更换资源数据获取对象期间缺失的数据包。
一些例子中,除了更换资源数据获取对象期间存在数据包的缺失,会采用自动重传的方式获取缺失的数据包,其他时候的数据包缺失也可以采用自动重传的方式获取缺失的数据包。
在一些例子中,参照图5,为本申请实施例提出的其中一自动重传的方式的流程图;自动重传的包括步骤:
S510,检测到获取资源数据存在缺失后,将缺失的编号存放至一预重传缓存区,并记录所述缺失的编号的存放时间,及计算所述缺失的编号对应的数据包的待使用时间。
S520,向自动重传端请求重传目标编号的数据包,其中,所述目标编号包括:存放时间达到第一预设时间或所述待使用时间不大于第二预设时间的编号。
本申请实施例所述的“缺失的编号”指的是,例如:如果收到的数据包的编号包括1-499,以及501-502,数据包编号不连续,缺失的编号为500。
一些例子中,本步骤具体可以是检测到接收到的编号跳变,将跳变后接收到的数据包的编号减一的编号,或跳变前数据包的最大编号加一的编号存放至一预重传缓存区。
本申请实施例所述的“预重传缓存区”可以是一预重传队列,用于存放缺失的编号。一些例子中,所述预重传缓存区中的目标编号释放。另一些例子中,若检测到已接收到预重传缓存区中的编号对应的数据包,将该编号从预重传缓存区释放。
本申请实施例所述的“存放时间”可以通过如下方式计算得到:记录编号被存放至预重传缓存区的时间T1,之后会循环检查,例如间隔一定周期检查一次。假如当前时间为T2,判断预重传缓存区中所有编号的T2-T1是否不小于第一预设时间。
本申请实施例所述的“待使用时间”指的是该数据包被用户调用的时间与当前时间的差值,一种常见的使用(调用)方式是播放,例如,所述资源数据为实时流媒体数据,接收端一边接收数据包,一边根据数据包的编号拼装成图像帧和音频帧用于播放,例如,某数据包a用于拼装图像帧a,而图像帧a在T3时刻被播放,T7=T3-T2(T2为当前时刻)为待使用时间。具体的,由于流媒体数据播放的速度是均匀的(举例来说,假如30fps的流媒体数据播放,那么平均一帧图像帧的播放时间是1000ms/30=33ms),因此,可以通过当前播放的帧序号,推测若干时间之后,需要播放的帧序号。比如,当前时间播放第100帧,那么330ms后,需要播放第110帧。可以定期循环检查预重传缓存区的每个编号,对每个编号都通过映射关系得到它的图像帧序号。用图像帧序号和当前图像帧序号相减,并乘以每一帧的播放耗时,就是这个编号对应的数据包的预估的待使用时间,可以记为T7。举例而言:假如当前播放第100帧,预重传队列的某个编号199995对应的图像帧帧序号是120,如果流媒体数据的帧率是30fps,那么编号为199995的预估的待使用时间,也就是T7=(120-100)*(1000/30)=660ms。也就是说,再过660ms,就会播放编号为120这个图像帧,编号为199995的数据包在再过T7时会被使用,否则流媒体数据将无法正常播放,可能导致卡顿花屏。
在一些例子中,本申请所述第一预设时间包括:当前抖动缓冲时间T4或历史抖动缓冲时间T5乘以预设系数α的最小值,例如:若α=0.5,第一预设时间为{0.5*T4,0.5*T5}min或{0.5*T4,2.5}min,其中2.5是根据历史抖动缓冲时间得出的经验值,α可以是任意数值;或历史重传时间的平均值或最小值。本申请实施例提出的“重传时间”指的是一个从请求重传到接收到该数据包的时间。
在一些例子中,本申请所述第二预设时间包括:当前抖动缓冲时间T4与历史重传时间的平均值T6或最小值T8之和。例如:第二预设时间为T4+T6或T4+T8。一个具体的例子中,以所述资源数据为实时流媒体数据为例,第二预设时间的具体算法可以如下:
记录最近若干次向自动重传端发送请求到收到接收到数据包的平均时间T6;记录当前的抖动缓冲时间T4;获取待重传缓存区中的编号的待使用时间T7;当t7<=(T4+T6),该编号为目标编号。
一些例子中,可以是本节点向P2P网络中的其他节点请求所述目标编号对应的数据包。在另外一些例子中,可以是可以是本节点向服务器请求所述目标编号对应的数据包。
本申请一些实施例中,P2P网络中各节点间可以通过不可靠协议传输数据,所述不可靠协议可以包括UDP协议等;在一些例子中,本节点与服务器之间通过可靠协议传输数据,例如:TCP协议以及HTTP协议等。
至此,本申请通过检测到获取资源数据存在缺失后,将缺失的编号存放至一预重传缓存区,并记录所述缺失的编号的存放时间,及计算所述缺失的编号对应的数据包的待使用时间;向自动重传端请求重传目标编号的数据包,其中,所述目标编号包括:存放时间达到第一预设时间或所述待使用时间不大于第二预设时间的编号,以在最佳时机向自动重传端请求数据包,既可以最大限度的降低数据包的冗余,又不影响数据的使用,例如数据为流媒体数据,那么可以减少播放过程中的卡顿和/或花屏等问题。
当然步骤S230中的自动重传的方式还可以是一些传统的丢包自动重传方式,本申请中不再一一赘述。
请参见图6,更换资源数据获取对象的装置600,
所述装置600包括:
获取模块610,用于从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,从服务器获取其他资源数据对应的数据包;或从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,从服务器获取按照预设时间周期或预设编号周期发送的数据包;
处理模块620,用于当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
图7中更换资源数据获取对象的装置的实施例可以应用在终端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请更换资源数据获取对象的装置所在终端设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。处理器被用于执行:
当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
其中,上述执行的步骤运用于P2P网络中,在所述P2P网络中,本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包;或
本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,本节点从服务器获取按照预设时间周期或预设编号周期发送的数据包。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
在本申请实施例中,计算机可读存储介质可以是多种形式,比如,在不同的例子中,所述机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,所述的计算机可读介质还可以是纸张或者其他合适的能够打印程序的介质。使用这些介质,这些程序可以被通过电学的方式获取到(例如,光学扫描)、可以被以合适的方式编译、解释和处理,然后可以被存储到计算机介质中。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种更换资源数据获取对象的方法,其特征在于,所述方法运用于P2P网络中,在所述P2P网络中,本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包;或
本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,本节点从服务器获取按照预设时间周期或预设编号周期发送的数据包;
其中,所述资源数据包括直播流媒体数据,所述数据包由所述直播流媒体数据拆分得到;所述方法包括步骤:
当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据从所述服务器获取的数据包的最大编号确定。
2.根据权利要求1所述的方法,其特征在于,不同的数据包根据自身编号被分成若干个组;
所述本节点从P2P网络中的其他节点获取全部资源数据对应的数据包,包括:
本节点从P2P网络中的至少两个其他节点分别获取指定组对应的数据包;或
本节点从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,本节点从服务器获取其他资源数据对应的数据包,包括:
本节点从P2P网络中的至少一个其他节点以及服务器分别获取指定组对应的数据包。
3.根据权利要求2所述的方法,其特征在于,所述目标数据包的编号还根据从其他客户端获取的数据包中,除更换获取对象之外的其他指定组对应的数据包中各组的最大编号确定。
4.根据权利要求3所述的方法,其特征在于,所述目标数据包的编号包括第一编号附近属于更换获取对象的指定组对应的数据包的编号;
其中,所述第一编号根据第二编号和第三编号确定,
所述第二编号为将获取所述资源数据的对象由其他节点更换为服务器时,从服务器获取的数据包的最大编号;
所述第三编号为将获取所述资源数据的对象由其他节点更换为服务器时,从其他客户端获取的数据包中,除更换获取对象之外的其他指定组的对应的数据包中各组最大编号中的最小值或平均值。
5.根据权利要求1所述的方法,其特征在于,所述将获取所述资源数据的对象由其他节点更换为服务器,在满足以下条件触发:
本节点与获取资源数据的其他节点的网络连接信息低于第一预设条件,并无法从P2P网络中的其他节点获取到资源数据;或
本节点的自身配置信息达到第二预设条件。
6.根据权利要求1所述的方法,其特征在于,本节点通过自动重传的方式获取更换资源数据获取对象期间缺失的数据包。
7.根据权利要求6所述的方法,其特征在于,所述自动重传的方式包括:
检测到获取资源数据存在缺失后,将缺失的数据包对应的编号存放至一预重传队列,并记录所述编号的存放时间,及计算所述编号对应的数据包的待使用时间;
向自动重传端请求重传目标编号的数据包,其中,所述目标编号包括:存放时间达到第一预设时间或所述待使用时间不大于第二预设时间的编号。
8.一种更换资源数据获取对象的方法,其特征在于,所述方法运用于P2P网络中,所述方法包括步骤:
本节点接收到资源数据对应的数据包后,若存在数据包从P2P网络中的其他节点获取,判断是否存在数据包由服务器发送;其中,所述资源数据包括直播流媒体数据,所述数据包由所述直播流媒体数据拆分得到;
若存在,则当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据;
若不存在,则本节点向服务器请求按照预设时间周期或预设编号周期发送的数据包,并当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,其中,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
9.一种更换资源数据获取对象的装置,其特征在于,所述装置运用于P2P网络中,
所述装置包括:
获取模块,用于从P2P网络中的其他节点获取部分资源数据对应的数据包,同时,从服务器获取其他资源数据对应的数据包;或从P2P网络中的其他节点获取全部资源数据对应的数据包,同时,从服务器获取按照预设时间周期或预设编号周期发送的数据包;其中,所述资源数据包括直播流媒体数据,所述数据包由所述直播流媒体数据拆分得到;
处理模块,用于当将获取所述资源数据的对象由其他节点更换为服务器后,本节点从服务器获取以目标数据包为起始数据包的资源数据,所述目标数据包的编号根据所述从服务器获取的数据包的最大编号确定。
10.一种终端设备,其特征在于,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机程序,所述计算机程序被配置成被所述处理器执行如权利要求1至8任意一项方法所述的操作。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行如权利要求1至8任意一项方法所述的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811465184.3A CN109688201B (zh) | 2018-12-03 | 2018-12-03 | 更换资源数据获取对象的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811465184.3A CN109688201B (zh) | 2018-12-03 | 2018-12-03 | 更换资源数据获取对象的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109688201A CN109688201A (zh) | 2019-04-26 |
CN109688201B true CN109688201B (zh) | 2022-07-05 |
Family
ID=66185999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811465184.3A Active CN109688201B (zh) | 2018-12-03 | 2018-12-03 | 更换资源数据获取对象的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109688201B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247193A (zh) * | 2008-02-28 | 2008-08-20 | 华为技术有限公司 | 对等网络中发送数据的方法、系统、节点和超级节点 |
CN101621548A (zh) * | 2009-08-10 | 2010-01-06 | 中兴通讯股份有限公司 | 基于对等连接系统的终端资源共享的实现方法及系统 |
CN105071975A (zh) * | 2015-09-07 | 2015-11-18 | 北京瑞星信息技术有限公司 | 数据传输和分发的方法及系统 |
CN106446959A (zh) * | 2016-10-10 | 2017-02-22 | 北京邮电大学 | 一种云计算资源动态匹配方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8406206B2 (en) * | 2009-02-23 | 2013-03-26 | Empire Technology Development Llc | Mobile peer-to-peer content sharing method and system |
-
2018
- 2018-12-03 CN CN201811465184.3A patent/CN109688201B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247193A (zh) * | 2008-02-28 | 2008-08-20 | 华为技术有限公司 | 对等网络中发送数据的方法、系统、节点和超级节点 |
CN101621548A (zh) * | 2009-08-10 | 2010-01-06 | 中兴通讯股份有限公司 | 基于对等连接系统的终端资源共享的实现方法及系统 |
CN105071975A (zh) * | 2015-09-07 | 2015-11-18 | 北京瑞星信息技术有限公司 | 数据传输和分发的方法及系统 |
CN106446959A (zh) * | 2016-10-10 | 2017-02-22 | 北京邮电大学 | 一种云计算资源动态匹配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109688201A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8726327B2 (en) | System and method for peer-to-peer live streaming | |
JP6612355B2 (ja) | クライアントノード、仮想ブロードキャストサーバーおよび方法 | |
EP2088731B1 (en) | Network communication data processing method, network communication system and client | |
US10848433B2 (en) | Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device | |
CN109474684B (zh) | 一种获取直播视频流的方法、装置、终端设备及存储介质 | |
CN109660879B (zh) | 直播丢帧方法、系统、计算机设备和存储介质 | |
RU2647654C2 (ru) | Система и способ доставки аудиовизуального контента в клиентское устройство | |
EP2404431B1 (en) | Methods and arrangements for prioritization in a peer-to-peer network | |
CN108924609B (zh) | 流媒体数据传输的方法、电子设备、装置及存储介质 | |
CN113301392B (zh) | 码率确定方法、装置、设备及存储介质 | |
WO2017125017A1 (zh) | 缓存内容的调整方法、装置及系统 | |
CN110445723B (zh) | 一种网络数据调度方法及边缘节点 | |
US9866602B2 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
CN109561137B (zh) | 建立p2p网络的方法、装置、终端设备及介质 | |
WO2018080726A1 (en) | Systems and methods for adjusting a congestion window value of a content delivery network | |
KR102356621B1 (ko) | 클라이언트 단말기들과 적어도 하나의 서버 사이의 전송 경로를 따라 배열된 캐시를 동작시키기 위한 방법, 및 대응하는 캐시 | |
CN109510868B (zh) | 一种建立p2p网络的方法、装置、终端设备及存储介质 | |
GB2549536A (en) | Media data streaming method and apparatus | |
CN111556344A (zh) | 一种视频流的下载方法、装置、设备及系统 | |
CN109688201B (zh) | 更换资源数据获取对象的方法、装置、设备及存储介质 | |
RU2722464C1 (ru) | Способ расширения сети CDN с помощью одноранговой сети | |
US20180123965A1 (en) | Method for packet transmission apparatus to transmit packet in real time, packet transmission apparatus, and computer program | |
CN113676739B (zh) | 一种视频播放方法、装置、设备及存储介质 | |
CN109792444B (zh) | 实况内容分发系统中的播出缓冲 | |
EP3001693A1 (en) | Server, client, method and computer program product for adaptive streaming of scalable video and/or audio to a client |
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 |