CN108667871A - 基于p2p的传输方法和装置 - Google Patents

基于p2p的传输方法和装置 Download PDF

Info

Publication number
CN108667871A
CN108667871A CN201710205773.7A CN201710205773A CN108667871A CN 108667871 A CN108667871 A CN 108667871A CN 201710205773 A CN201710205773 A CN 201710205773A CN 108667871 A CN108667871 A CN 108667871A
Authority
CN
China
Prior art keywords
data
present node
node
nodes
upstream
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
CN201710205773.7A
Other languages
English (en)
Other versions
CN108667871B (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.)
Youku Culture Technology Beijing Co ltd
Original Assignee
1Verge Internet Technology Beijing 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 1Verge Internet Technology Beijing Co Ltd filed Critical 1Verge Internet Technology Beijing Co Ltd
Priority to CN201710205773.7A priority Critical patent/CN108667871B/zh
Publication of CN108667871A publication Critical patent/CN108667871A/zh
Application granted granted Critical
Publication of CN108667871B publication Critical patent/CN108667871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及一种基于P2P的传输方法和装置,所述方法包括:基于当前节点获取的数据得到封装为指定格式的数据;将所述指定格式的数据保存在当前节点的缓存空间中;响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。本公开实施例使得P2P网络中传输统一格式的数据,使得支持不同格式或协议的P2P节点之间或P2P节点和CDN服务器之间均可实现数据传输,打破了相关技术中的限制,提高了网络的传输性能。

Description

基于P2P的传输方法和装置
技术领域
本公开涉及互联网技术领域,尤其涉及一种基于P2P的传输方法和装置。
背景技术
基于P2P的数据传输目前已得到广泛应用。在相关技术中,基于P2P的传输网络一般只支持单种数据格式/单种传输协议之间的p2p传输。由于不同的视频提供方的CDN服务器支持的传输协议或数据格式可能不同,因此P2P网络通常只能传输来自支持同一传输协议或数据格式的CDN服务器的数据,无法从支持不同传输协议或数据格式的CDN服务器获取同一视频的数据,即无法使用一套P2P方案进行针对不同CDN服务器的数据分享,这限制了P2P网络的传输性能和适用范围。
发明内容
有鉴于此,本公开提出了一种基于P2P的传输方法,能够实现针对不同数据格式或不同传输协议的P2P传输。
根据本公开的一方面,提供了一种基于P2P的传输方法,所述方法包括:基于当前节点获取的数据得到封装为指定格式的数据;将所述指定格式的数据保存在当前节点的缓存空间中;响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
根据本公开的另一方面,提供了一种基于P2P的传输装置,所述装置包括:数据获取模块,用于基于当前节点获取的数据得到封装为指定格式的数据;保存模块,用于将所述指定格式的数据保存在当前节点的缓存空间中;传输模块,用于响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
根据本公开的另一方面,提供了一种基于P2P的传输装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,当所述存储介质中的指令由终端和/或服务器的处理器执行时,使得终端和/或服务器能够执行上述方法。
本公开的各方面中,基于当前节点获取的数据得到封装为指定格式的数据并保存在缓存空间中,以提供给向当前节点请求数据的P2P下游节点,这样,无论该当前节点是从何种来源接收到何种格式或基于何种协议的数据,均可将其封装为指定格式的数据,使得P2P网络中传输统一格式的数据,使得支持不同格式或协议的P2P节点之间或P2P节点和CDN服务器之间均可实现数据传输,打破了相关技术中的上述限制,提高了P2P网络的传输性能和适用范围。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的基于P2P的传输方法的流程图。
图2示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图。
图3示出了根据本公开一实施例的基于P2P的传输方法构建的P2P网络拓扑结构的示意图。
图4示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图。
图5示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图。
图6示出了一个应用场景的示意图。
图7示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图。
图8示出根据本公开一实施例的基于P2P的传输装置的结构图。
图9示出根据本公开一实施例的基于P2P的传输装置的一个示例的结构图。
图10是根据一示例性实施例示出的一种基于P2P的传输装置800的框图。
图11是根据一示例性实施例示出的一种基于P2P的传输装置1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
图1示出根据本公开一实施例的基于P2P的传输方法的流程图。所述方法可应用于终端设备或服务器,例如应用于P2P网络中的节点。如图1所示,该方法包括:
步骤S101,基于当前节点获取的数据得到封装为指定格式的数据;
步骤S102,将所述指定格式的数据保存在当前节点的缓存空间中;
步骤S103,响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
其中,P2P上游节点是指P2P网络中能够为其他节点提供数据的节点,P2P下游节点是指P2P网络中能够从其他节点获取或下载数据的节点,对于P2P网络中的某节点(例如当前节点),其可能同时作为P2P上游节点和P2P下游节点,也可能只作为P2P上游节点或者P2P下游节点,并且每个节点是作为上游还是下游节点是可以随着时间动态变化的。
当前节点可以从CDN服务器或者其P2P上游节点获取数据,所获取的数据可以是基于任意协议、任意数据格式的数据。以网络直播场景为例,前节点获取的数据可以是直播流数据,直播流数据可能来自于支持HLS、RTMP、HTTP、HDS等不同的直播流协议,或者支持mp4、m3u8、flv等不同的直播流数据格式的多个CDN服务器或P2P上游节点。当前节点可以对所获取的数据进行处理,例如解码、转码、分段、封装等等,使其成为统一的指定格式的数据,从而屏蔽了不同协议、不同数据格式之间的差异。指定格式的数据可保存在当前节点的缓存空间中,缓存空间可以是自定义的,缓存空间长度可以根据需要任意设置,例如根据直播场景的需要,当前节点可开辟保存30分钟-60分钟直播流数据的缓存空间,并将缓存空间中的数据提供给发出数据请求的P2P下游节点,缓存空间的存在能够保证传输(例如直播场景下的传输)的连贯性,降低传输延时,也可为数据的封装过程提供缓冲。当前节点的P2P下游节点在获取该数据后,也可保存在本地的缓存空间中,以进行播放,或者继续提供给自己的P2P下游节点。
通过本实施例的方式,当前节点分享的是重新封装后维护在其缓存空间中的数据,无论该当前节点是从何种来源接收到何种格式、或基于何种协议的数据,均可将其封装为指定格式的数据,使得P2P网络中传输统一格式的数据,使得支持不同格式或协议的P2P节点之间、或支持不同格式或协议的P2P节点和CDN服务器之间均可实现数据传输,打破了相关技术中的上述限制,P2P网络可以从尽可能多的CDN服务器获取数据,并尽可能合理地利用P2P节点构建网络,提高了网络的传输性能,扩展了适用范围。
在一种可能的实施方式中,所述指定格式的数据可包括flv tag(flv标签)数据包。flv(FLASH VIDEO)格式具有体积小、加载速度快、适用广泛等优点,被广泛应用于网络直播等多媒体传输场景。当前节点可将所接收的数据统一封装为flv tag数据包进行分享,降低带宽压力,提高传输速率。
flv tag数据包一般由tag类型信息和tag数据两部分组成,tag类型信息可包括flv tag数据包中数据的类型(例如视频、音频、文本等)、数据长度、时间戳等信息,tag数据可包括视频、音频、文本等数据。本申请对数据的指定格式不做限制,例如对于flv tag数据包,其数据长度可根据需要任意选取。
本领域技术人员应理解,flv tag数据包仅仅是指定格式的数据的一个例子,本实施例也可采用其他格式的数据,只要其适于基于P2P网络的传输即可。
在一种可能的实施方式中,当前节点获得的数据可能本身就是符合指定格式的数据,例如符合指定格式的flv tag数据包,那么可以以所获得的数据直接作为上述指定格式的数据。在另一种可能的实施方式中,当前节点获得的数据可能是flv tag数据包,但是其格式(例如数据长度)与指定格式不符,这种情况下,可将tag数据从数据包中取出,再按照指定格式重新封装为新的flv tag数据包。
在一种可能的实现方式中,在另一种可能的实施方式中,当前节点获取的数据可能是不同于指定格式的其他数据格式,例如mp4格式,则当前节点可对获取的数据进行转码,例如使其成为flv格式,并对转码后的数据进行封装,获取封装为指定格式的数据。
举例来说,在相关技术中,flv和mp4格式的数据只是装数据的容器格式不同,mp4的box容器和flv的tag容器里面装的都是h264的视频数据和aac的音频数据。因此,转码过程只需要将mp4的h264视频数据和aac音频数据取出来封装成flv tag数据包即可。转码流程可以按照flv和mp4公开的格式规范技术实现,本公开对此不进行限制。
缓存空间可以为tag流缓存空间,可存入按时间戳排序的以flv tag数据包为单位的数据。
图2示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图,如图2所示,该方法还可包括:
步骤S104,在当前节点的网络带宽小于第一阈值的情况下,确定当前节点优先从P2P上游节点获取数据;
步骤S105,在当前节点的网络带宽大于或等于第一阈值,且小于或等于第二阈值的情况下,按照第一概率,随机确定当前节点优先从P2P上游节点获取数据,或者优先从CDN服务器获取数据;
步骤S106,在当前节点的网络带宽大于第二阈值的情况下,确定当前节点优先从CDN服务器获取数据。
通过上述方式,本实施例可以根据网络带宽确定当前节获取数据的方式,换言之,确定当前节点是优先通过P2P方式,还是优先通过CDN方式下载数据,从而完成P2P网络构建,形成不规则网状拓扑结构,尽可能适应于每个节点的网络带宽状态确定较佳的获取数据的方式,提高P2P网络传输性能。
步骤S104-步骤S106可以在当前节点的客户端播放器启动时进行确定,并可以在P2P连接失败或者P2P网络运行期间实时监测网络带宽的变化,动态改变当前节点获取数据的方式。
第一阈值、第二阈值以及第一概率均可根据需要进行设置,例如可以根据所有用户带宽情况进行调整,本公开对此不做限制。
图3示出了根据本公开一实施例的基于P2P的传输方法构建的P2P网络拓扑结构的示意图。
如图3所示,假设节点1网络带宽大于8M(第二阈值),则确定节点1优先从CDN服务器(例如CDN1和CDN2)获取数据。假设节点2、节点3的网络带宽大于或等于2M(第一阈值),且小于或等于8M(第一阈值),则可以以例如90%为第一概率,随机确定节点2、节点3以90%的概率优先从P2P上游节点获取数据,以10%的概率优先从CDN服务器获取数据,可利用现有技术中的任意随机选取算法进行确定,随机确定的结果例如是节点2优先从CDN服务器(例如CDN1)获取数据,节点3优先从P2P上游节点(例如节点1、节点2、节点4)获取数据。假设节点4的网络带宽小于2M(第一阈值),则可以确定节点4优先从P2P上游节点(例如节点1、节点3)获取数据。基于这样的原则,也可以结合P2P网络构建过程中的其他因素(例如节点与节点之间、节点与CDN服务器之间的连接状况等),可构建出例如图3所示的不规则网络拓扑结构。
网络带宽可以根据相关技术获取,本公开对判断网络带宽的方式不做限制。
所谓优先选取,可以指当前节点在确定数据来源时,以所确定的方式为优先方式,换言之,相对于其他方式,所确定的方式的优先级更高。例如在确定为优先从P2P上游节点获取数据的情况下,当前节点可优先尝试连接P2P上游节点,在P2P上游节点无法连接的情况下,才尝试连接CDN服务器。
在一种可能的实施方式中,可在网络构建的过程中初步设定当前节点对应的P2P下游节点的个数,例如,如果初步设定当前节点的上行、下行数据传输各占约一半的网络带宽,可将当前节点的网络带宽除以2的结果取整,得到用于向P2P下游节点传输数据的带宽,例如如果当前节点网络带宽为10M,则可初步设定5M用于向下游P2P节点传输数据。如果下游节点的平均传输码率约500k/s,则可以初始设定10个P2P下游节点,并在P2P连接失败或者运行期间通过检测网络传输情况的变化动态改变下游节点的个数。
图4示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图,如图4所示,该方法还可包括:
步骤S107,向当前节点的P2P下游节点发送与当前节点的缓存空间中的数据相关的索引文件。
索引文件可以记录缓存空间内数据的时间戳序列、数据的字节起始位置、字节长度等信息。例如,对于flv tag数据包形式的数据,索引文件可以是tag索引文件(或称为tag流索引文件),索引文件所包含的信息可来自于tag类型信息等flv tag数据包相关信息。本公开对索引文件的具体形式不做限制,只要其能够对缓存空间中的数据起到索引作用即可。
索引文件可以响应于当前节点的P2P下游节点的索引请求而发出。举例来说,P2P下游节点在成功连接P2P上游节点时,可以向P2P上游节点发出索引请求。P2P上游节点接收到P2P下游节点的索引请求时,可将索引文件回传给该P2P下游节点。在直播场景下,索引请求中可能包含P2P下游节点当前直播播放进度,P2P上游节点回传的索引文件可以是缓存空间中从该当前直播播放进度之后的(即尚未播放的)数据的索引文件。在非直播场景下,索引请求中可能包含P2P下游节点当前下载进度,P2P上游节点回传的索引文件可以是缓存空间中从该当前下载进度之后的(即尚未下载的)数据的索引文件。
随着当前节点不断获取和释放数据,其缓存空间中的数据会发生变化。在一种可能的实现方式中,当前节点可将向其发送索引请求的P2P下游节点保存在索引请求列表中,并周期性地(例如每500毫秒)向索引请求列表中的P2P下游节点发送最新的(当前)索引文件,即周期性地向P2P下游节点同步索引文件。
索引文件可告知P2P下游节点其P2P上游节点缓存空间中可供下载的数据,可以帮助P2P下游节点安排下载任务。
图5示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图,如图5所示,该方法还可包括:
步骤S108,接收来自所述当前节点的P2P上游节点的索引文件,并根据所述索引文件,向所述当前节点的P2P上游节点发送数据请求,
其中,所述索引文件与所述当前节点的P2P上游节点的缓存空间中的封装为指定格式的数据相关。
步骤S108与步骤S101-步骤S103等其他步骤之间的顺序不做限制。
举例来说,图6以直播场景为例,示出了一个应用场景的示意图。P2P下游节点会在本地维护map列表,以记录将需要下载的数据文件切分后得到的各个数据分段的当前传输进度,例如图6中的黑色部分表示已经传输至P2P下游节点的直播数据,该P2P下游节点的各个P2P上游节点周期性地将索引文件同步至该P2P下游节点,P2P下游节点接收来自其P2P上游节点的索引文件,获知各个P2P上游节点的缓存空间中有哪些可供获取的数据,P2P下游节点可结合map列表中的传输进度,安排下一步的任务,例如应分别从哪个P2P上游节点,从何处开始获取,P2P下游节点可以主动向能够提供所需数据的P2P上游节点请求拉取数据(根据索引文件,向P2P上游节点发送数据请求),通过这种P2P上游节点主动同步索引文件、P2P下游节点主动拉取数据的方式,使得P2P下游节点能够根据P2P上游节点缓存空间中的内容合理安排下载任务,并主动拉取数据,进一步降低传输延时,提高P2P网络性能。
图7示出根据本公开一实施例的基于P2P的传输方法的一个示例的流程图,如图7所示,该方法还可包括:
步骤S109,向当前节点的候选的P2P上游节点发送检测信息,并接收候选的P2P上游节点响应于所述检测信息而发送的回传信息;
步骤S110,在发送所述检测信息与接收所述回传信息之间的时间间隔小于阈值的情况下,以所述候选的P2P上游节点作为所述当前节点的P2P上游节点。
步骤S109、S110与步骤S101-步骤S103等其他步骤之间的顺序不做限制。
候选的P2P上游节可以是可供当前节点选择连接的任意P2P上游节点。在一种可能的实施方式中,候选的P2P上游节点可以是P2P服务器中P2P上游节点列表中的P2P上游节点。举例来说,P2P网络中的节点可连接P2P服务器获取自己的连接标识,如果节点有自己的P2P下游节点,则该节点可登录P2P服务器中的P2P牵线服务,并上报自己的连接标识,等待其他节点的连接,P2P牵线服务可将该连接标识加入P2P上游节点列表。当前节点如果采用P2P方式下载数据,则可请求P2P牵线服务获得最新的P2P上游节点列表(可以设定一个返回列表长度上限,例如最多一次返回16个P2P上游节点),去重后尝试与列表中的每个候选的P2P上游节点建立UDP连接。与单个候选的P2P上游节点连接建立过程可以包括:
a)当前节点首先发起握手请求,P2P上游节点收到后回传握手成功确认;
b)当前节点与某个P2P上游节点握手成功后,可检测一下P2P上游连接速度,例如通过发送包括唯一标识和随机码的检测信息给P2P上游节点,再由P2P上游节点回传信息,通过计算发送所述检测信息与接收所述回传信息之间的时间间隔来判断与P2P上游节点的连接速度,如果时间间隔超过阈值(例如1秒或根据需要设定的任意时长的阈值),就丢弃该候选的P2P上游节点,从而过滤出优质P2P上游节点并保存到P2P上游节点列表。
通过这种方式,可以筛选出优质的上游节点,保证传输速度,提高P2P网络传输性能。
应用示例
以下结合网络直播这一示例性应用场景,给出根据本公开实施例的应用示例,以便于理解P2P组网和分享流程。本领域技术人员应理解,以下应用示例仅仅是出于便于理解本发明实施例的目的,不应视为对本发明实施例的限制。
在应用示例中,在当前节点的客户端播放器启动时,可根据模块加载速度等因素初步判断网络带宽,网络带宽小于2M默认优先走P2P下载(以下称C类节点),大于等于2M并小于等于8M的,90%的概率优先走P2P下载(以下称B类节点),另外10%和大于8M的优先从CDN下载(以下称A类节点)。并初步设定该当前节点的下游节点个数(带宽/2取整)。可在P2P连接失败或运行期间通过监测网络传输情况的变化,动态改变下游节点个数或切换走CDN还是P2P下载,A、B、C类节点的限定范围可根据所有用户带宽情况调整。
节点可连接P2P服务器获取自己的连接标识,如果节点有下游节点,则可登录P2P牵线服务,并上报自身的连接标识,等待其他节点的连接。走P2P下载的节点可请求P2P牵线服务拿到最近的上游节点列表(例如最多一次返回16个),去重后尝试与每个上游节点建立UDP连接。
单个连接建立过程可以包括:
a、下游节点首先发起握手请求,上游节点收到握手请求后回传握手成功确认给下游节点;
b、节点与某个上游节点握手成功后,可检测一下上游连接速度。例如通过发送唯一标识+随机码给上游再由上游回传,通过计算时间间隔来判断上游速度,时间间隔超过1秒就丢弃该上游节点,过滤出优质上游节点并保存到上游列表。
c、可将第一个成功连接的上游节点作为tag数据流的索引实时同步源,即以该上游节点的索引文件作为起始和其他上游节点的基准,并发起索引请求。当网络波动影响数据传输时,可删掉此上游节点,从上游节点列表中选择下一个上游节点作为索引实时同步源。
d、上游节点过少或不足以支撑直播数据播放(例如个数小于3个或者下载速度跟不上播放速度时),可再次请求P2P牵线服务索取上游节点列表。
上游节点收到下游节点请求并连接成功后,可将该下游节点保存到下游节点列表。当下游节点的个数满限额后,该上游节点可登出P2P牵线服务。后续如果下游节点断开,下游节点少于下游限额一半时,可该上游节点可再登录P2P牵线服务供其他下游连接。当收到下游节点的索引请求时,上游节点可回传给它从当前直播播放点到已缓存数据的tag流索引文件,并将该下游节点保存到该上游节点的主动推送列表中,上游节点可每500毫秒同步一次tag流索引文件。由此建立了以A类节点+10%B类节点为中心(拥有多个下游节点),90%B类节点为中转站(多个上游节点和1个或多个下游节点),C类节点为网络边缘(多个上游节点)组成的不规则网状拓扑结构。
单个P2P节点可根据其上游节点同步的tag流索引文件,以一关键帧为单位依次分配任务给上游节点列表中的每个上游节点去拉取数据,可将拉取完成的数据存入任务缓存并主动去拉索引文件中下一个任务。当检测到一个上游节点下载任务超时则剔除此上游节点,原任务由下一个闲置上游节点去下载。
当任务缓存中完成自定义的tag流缓存中最后存入的tag索引+1的任务,则取出存入自定义的tag流缓存中。例如,当上游节点自定义的缓存空间中最后存入的数据已被拉取完成,则该P2P节点可从本地任务缓存中取出所有数据,存入该P2P节点自定义的缓存空间中,进行播放或进一步分享。
以此反复执行,上游节点主动推送数据新增后的索引文件,下游节点分任务多源持续拉取数据,完成直播过程中的P2P分享。
本公开的各实施例在客户端基于数据模式的播放基础上,构建了P2P网状拓扑动态多源下载结构,将缓存空间中维护的内存数据做p2p分享,即可实现支持多种协议、多种数据格式的p2p传输。
本公开各实施例也可实现不依赖CDN服务器的P2P传输,P2P分享的是解码、封装后的缓存空间中的数据,从而避免了同一直播源各家CDN服务器输出流数据不一,无法使用一套P2P方案做数据分享的情况。
本公开各实施例还可实现P2P网状拓扑动态多源下载结构+播放缓存空间内数据分享+主动推送索引文件和按需拉取数据结合的方式传输数据,让当前数据(例如直播流数据)更快的扩散到每个节点,从而降低了延时。
本公开各式示例还可实现TCP数据下载和P2P数据下载或两者根据网络波动切换,均可采用tag流map图来按需索取,因此将数据冗余降低。
实施例2
图8示出根据本公开一实施例的基于P2P的传输装置的结构图。所述装置可应用于终端设备或服务器,例如P2P网络中的节点。如图8所示,该装置包括:
数据获取模块801,用于基于当前节点获取的数据得到封装为指定格式的数据;
保存模块802,用于将所述指定格式的数据保存在当前节点的缓存空间中;
传输模块803,用于响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
在一种可能的实施方式中,所述指定格式的数据包含flv tag数据包。
图9示出根据本公开一实施例的基于P2P的传输装置的一个示例的结构图。如图9所示,在一种可能的实施方式中。所述数据获取模块802可包括:转码封装子模块8021,用于对当前节点获取的数据进行转码,并对转码后的数据进行封装,以得到封装为指定格式的数据。
如图9所示,在一种可能的实施方式中,所述装置还可包括:
第一确定模块804,用于在当前节点的网络带宽小于第一阈值的情况下,确定当前节点优先从P2P上游节点获取数据;
第二确定模块805,用于在当前节点的网络带宽大于或等于第一阈值,且小于或等于第二阈值的情况下,按照第一概率,随机确定当前节点优先从P2P上游节点获取数据,或者优先从CDN服务器获取数据;
第三确定模块806,用于在当前节点的网络带宽大于第二阈值的情况下,确定当前节点优先从CDN服务器获取数据。
如图9所示,在一种可能的实施方式中,所述装置还可包括:
索引文件发送模块807,用于向当前节点的P2P下游节点发送与当前节点的缓存空间中的数据相关的索引文件。
在一种可能的实施方式中,所述索引文件发送模块可包括:第一发送子模块,用于响应于来自当前节点的P2P下游节点的索引请求,向所述P2P下游节点发送所述索引文件,其中,所述索引请求中包含所述P2P下游节点当前直播播放进度或当前下载进度,所述索引文件是缓存空间中从该当前直播播放进度或该当前下载进度之后的数据的索引文件。
在一种可能的实施方式中,所述索引文件发送模块包括:列表保存模块,用于将向当前节点发送索引请求的P2P下游节点保存在索引请求列表中;第二发送子模块,用于周期性地向索引请求列表中的P2P下游节点发送最新的索引文件。
如图9所示,在一种可能的实施方式中,所述装置还可包括:
索引文件接收模块808,用于接收来自所述当前节点的P2P上游节点的索引文件,并根据所述索引文件,向所述当前节点的P2P上游节点发送数据请求,其中,所述索引文件与所述当前节点的P2P上游节点的缓存空间中的封装为指定格式的数据相关。
如图9所示,在一种可能的实施方式中,所述装置还可包括:
检测信息发送模块809,用于向当前节点的候选的P2P上游节点发送检测信息,并接收候选的P2P上游节点响应于所述检测信息而发送的回传信息;
上游节点选择模块810,用于在发送所述检测信息与接收所述回传信息之间的时间间隔小于阈值的情况下,以所述候选的P2P上游节点作为所述当前节点的P2P上游节点。
在一种可能的实施方式中,所述指定格式的数据包含多媒体直播数据。
实施例3
图10是根据一示例性实施例示出的一种基于P2P的传输装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非易失性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。
图11是根据一示例性实施例示出的一种基于P2P的传输装置1900的框图。例如,装置1900可以被提供为一服务器。参照图11,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非易失性计算机可读存储介质,例如包括指令的存储器1932,上述指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (21)

1.一种基于P2P的传输方法,其特征在于,所述方法包括:
基于当前节点获取的数据得到封装为指定格式的数据;
将所述指定格式的数据保存在当前节点的缓存空间中;
响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
2.根据权利要求1所述的方法,其特征在于,所述指定格式的数据包括flv tag数据包。
3.根据权利要求1所述的方法,其特征在于,基于当前节点获取的数据得到封装为指定格式的数据,包括:
对当前节点获取的数据进行转码,并对转码后的数据进行封装,以得到封装为指定格式的数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在当前节点的网络带宽小于第一阈值的情况下,确定当前节点优先从P2P上游节点获取数据;
在当前节点的网络带宽大于或等于第一阈值,且小于或等于第二阈值的情况下,按照第一概率,随机确定当前节点优先从P2P上游节点获取数据,或者优先从CDN服务器获取数据;
在当前节点的网络带宽大于第二阈值的情况下,确定当前节点优先从CDN服务器获取数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向当前节点的P2P下游节点发送与当前节点的缓存空间中的数据相关的索引文件。
6.根据权利要求5所述的方法,其特征在于,向当前节点的P2P下游节点发送与当前节点的缓存空间中的数据相关的索引文件,包括:
响应于来自当前节点的P2P下游节点的索引请求,向所述P2P下游节点发送所述索引文件,
其中,所述索引请求中包含所述P2P下游节点当前直播播放进度或当前下载进度,所述索引文件是缓存空间中从该当前直播播放进度或该当前下载进度之后的数据的索引文件。
7.根据权利要求5所述的方法,其特征在于,向当前节点的P2P下游节点发送与当前节点的缓存空间中的数据相关的索引文件,包括:
将向当前节点发送索引请求的P2P下游节点保存在索引请求列表中;
周期性地向索引请求列表中的P2P下游节点发送最新的索引文件。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向当前节点的候选的P2P上游节点发送检测信息,并接收候选的P2P上游节点响应于所述检测信息而发送的回传信息;
在发送所述检测信息与接收所述回传信息之间的时间间隔小于阈值的情况下,以所述候选的P2P上游节点作为所述当前节点的P2P上游节点。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收来自所述当前节点的P2P上游节点的索引文件,并根据所述索引文件,向所述当前节点的P2P上游节点发送数据请求,
其中,所述索引文件与所述当前节点的P2P上游节点的缓存空间中的封装为指定格式的数据相关。
10.根据权利要求1至9中任意一项所述的方法,其特征在于,所述指定格式的数据包含多媒体直播数据。
11.一种基于P2P的传输装置,其特征在于,所述装置包括:
数据获取模块,用于基于当前节点获取的数据得到封装为指定格式的数据;
保存模块,用于将所述指定格式的数据保存在当前节点的缓存空间中;
传输模块,用于响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
12.根据权利要求11所述的装置,其特征在于,所述指定格式的数据包括flv tag数据包。
13.根据权利要求11所述的装置,其特征在于,所述数据获取模块,包括:
转码封装子模块,用于对当前节点获取的数据进行转码,并对转码后的数据进行封装,以得到封装为指定格式的数据。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于在当前节点的网络带宽小于第一阈值的情况下,确定当前节点优先从P2P上游节点获取数据;
第二确定模块,用于在当前节点的网络带宽大于或等于第一阈值,且小于或等于第二阈值的情况下,按照第一概率,随机确定当前节点优先从P2P上游节点获取数据,或者优先从CDN服务器获取数据;
第三确定模块,用于在当前节点的网络带宽大于第二阈值的情况下,确定当前节点优先从CDN服务器获取数据。
15.根据权利要求11所述的装置,其特征在于,所述装置还包括:
索引文件发送模块,用于向当前节点的P2P下游节点发送与当前节点的缓存空间中的数据相关的索引文件。
16.根据权利要求15所述的装置,其特征在于,所述索引文件发送模块包括:
第一发送子模块,用于响应于来自当前节点的P2P下游节点的索引请求,向所述P2P下游节点发送所述索引文件,
其中,所述索引请求中包含所述P2P下游节点当前直播播放进度或当前下载进度,所述索引文件是缓存空间中从该当前直播播放进度或该当前下载进度之后的数据的索引文件。
17.根据权利要求15所述的装置,其特征在于,所述索引文件发送模块包括:
列表保存模块,用于将向当前节点发送索引请求的P2P下游节点保存在索引请求列表中;
第二发送子模块,用于周期性地向索引请求列表中的P2P下游节点发送最新的索引文件。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括:
检测信息发送模块,用于向当前节点的候选的P2P上游节点发送检测信息,并接收候选的P2P上游节点响应于所述检测信息而发送的回传信息;
上游节点选择模块,用于在发送所述检测信息与接收所述回传信息之间的时间间隔小于阈值的情况下,以所述候选的P2P上游节点作为所述当前节点的P2P上游节点。
19.根据权利要求11所述的装置,其特征在于,所述装置还包括:
索引文件接收模块,用于接收来自所述当前节点的P2P上游节点的索引文件,并根据所述索引文件,向所述当前节点的P2P上游节点发送数据请求,
其中,所述索引文件与所述当前节点的P2P上游节点的缓存空间中的封装为指定格式的数据相关。
20.根据权利要求11至19中任意一项所述的装置,其特征在于,所述指定格式的数据包含多媒体直播数据。
21.一种基于P2P的传输装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
基于当前节点获取的数据得到封装为指定格式的数据;
将所述指定格式的数据保存在当前节点的缓存空间中;
响应于来自所述当前节点的P2P下游节点的数据请求,将所述缓存空间中的数据传输给所述P2P下游节点。
CN201710205773.7A 2017-03-31 2017-03-31 基于p2p的传输方法和装置 Active CN108667871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710205773.7A CN108667871B (zh) 2017-03-31 2017-03-31 基于p2p的传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710205773.7A CN108667871B (zh) 2017-03-31 2017-03-31 基于p2p的传输方法和装置

Publications (2)

Publication Number Publication Date
CN108667871A true CN108667871A (zh) 2018-10-16
CN108667871B CN108667871B (zh) 2021-07-06

Family

ID=63786780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710205773.7A Active CN108667871B (zh) 2017-03-31 2017-03-31 基于p2p的传输方法和装置

Country Status (1)

Country Link
CN (1) CN108667871B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110139119A (zh) * 2019-05-20 2019-08-16 湖南康通电子股份有限公司 数字广播系统的p2p音频直播分发方法、装置及存储介质
CN111669364A (zh) * 2020-04-26 2020-09-15 视联动力信息技术股份有限公司 一种数据传输的方法、装置、电子设备及介质
CN114040256A (zh) * 2021-10-09 2022-02-11 中移(杭州)信息技术有限公司 基于hls协议的直播数据处理方法、设备及介质
WO2022089008A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 一种基于p2p的数据分发方法、装置及系统
CN115065862A (zh) * 2022-06-07 2022-09-16 北京达佳互联信息技术有限公司 视频数据获取方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988669A (zh) * 2006-11-21 2007-06-27 北京大学 流媒体监播中的数字标记构造、验证方法及监播系统
CN101645927A (zh) * 2009-09-02 2010-02-10 中兴通讯股份有限公司 一种媒体文件的切片系统、方法及切片服务器
US8070596B2 (en) * 2006-03-03 2011-12-06 Leviathan Entertainment, Llc System which manages relationships between characters in a video game or other virtual environment
CN105025391A (zh) * 2014-04-30 2015-11-04 腾讯科技(深圳)有限公司 视频播放方法和装置
CN105681817A (zh) * 2016-01-05 2016-06-15 王成 一种智能终端视音频采集传输播放系统和方法
CN106060571A (zh) * 2016-05-30 2016-10-26 湖南纽思曼导航定位科技有限公司 一种行车记录仪及视频直播方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8070596B2 (en) * 2006-03-03 2011-12-06 Leviathan Entertainment, Llc System which manages relationships between characters in a video game or other virtual environment
CN1988669A (zh) * 2006-11-21 2007-06-27 北京大学 流媒体监播中的数字标记构造、验证方法及监播系统
CN101645927A (zh) * 2009-09-02 2010-02-10 中兴通讯股份有限公司 一种媒体文件的切片系统、方法及切片服务器
CN105025391A (zh) * 2014-04-30 2015-11-04 腾讯科技(深圳)有限公司 视频播放方法和装置
CN105681817A (zh) * 2016-01-05 2016-06-15 王成 一种智能终端视音频采集传输播放系统和方法
CN106060571A (zh) * 2016-05-30 2016-10-26 湖南纽思曼导航定位科技有限公司 一种行车记录仪及视频直播方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110139119A (zh) * 2019-05-20 2019-08-16 湖南康通电子股份有限公司 数字广播系统的p2p音频直播分发方法、装置及存储介质
CN111669364A (zh) * 2020-04-26 2020-09-15 视联动力信息技术股份有限公司 一种数据传输的方法、装置、电子设备及介质
CN111669364B (zh) * 2020-04-26 2023-09-12 视联动力信息技术股份有限公司 一种数据传输的方法、装置、电子设备及介质
WO2022089008A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 一种基于p2p的数据分发方法、装置及系统
CN114531446A (zh) * 2020-10-31 2022-05-24 华为技术有限公司 一种基于p2p的数据分发方法、装置及系统
CN114531446B (zh) * 2020-10-31 2023-04-18 华为技术有限公司 一种基于p2p的数据分发方法、装置及系统
CN114040256A (zh) * 2021-10-09 2022-02-11 中移(杭州)信息技术有限公司 基于hls协议的直播数据处理方法、设备及介质
CN114040256B (zh) * 2021-10-09 2024-04-19 中移(杭州)信息技术有限公司 基于hls协议的直播数据处理方法、设备及介质
CN115065862A (zh) * 2022-06-07 2022-09-16 北京达佳互联信息技术有限公司 视频数据获取方法、装置、设备及介质
CN115065862B (zh) * 2022-06-07 2024-01-19 北京达佳互联信息技术有限公司 视频数据获取方法、装置、设备及介质

Also Published As

Publication number Publication date
CN108667871B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN108667871A (zh) 基于p2p的传输方法和装置
CN106231353B (zh) VoIP通信方法及装置
EP2805471B1 (en) Method and apparatus for enabling pre-fetching of media
CN112822502B (zh) 直播去抖动的智能缓存与直播方法、设备及存储介质
WO2020259448A1 (zh) 数据的处理方法及装置、计算机可读存储介质和电子装置
CN103782589B (zh) 用于适配视频通信的系统和方法
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
CN109981607A (zh) 媒体流处理方法及装置、电子设备和存储介质
CN111010614A (zh) 一种显示直播字幕的方法、装置、服务器及介质
JP2017112609A (ja) 視覚的または聴覚的効果の双方向伝達を利用した映像通話方法およびシステム
CN102474517A (zh) 转换移动装置媒体内容的方法
CN109495761A (zh) 视频切换方法及装置
CN102356605A (zh) 平滑、无状态的客户端媒体流式传输
CN113141523B (zh) 资源传输方法、装置、终端及存储介质
CN108355350B (zh) 一种基于移动边缘计算的应用服务接入方法及装置
WO2019237447A1 (zh) 一种设置视频封面的方法和系统
CN110493627B (zh) 多媒体内容同步方法及装置
US9942553B2 (en) Communication system, method and program
CN109963168A (zh) 视频预览方法及装置
CN109074347A (zh) 具有限制交互性的实时内容编辑
JP5140952B2 (ja) コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ再生端末、プログラム、コンテンツ配信方法
CN110234020A (zh) 视频播放方法及装置
WO2021155702A1 (zh) 通信处理方法、装置、终端、服务器及存储介质
CN114189696A (zh) 一种视频播放方法及设备
JP2014192817A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Applicant after: Youku network technology (Beijing) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Applicant before: 1VERGE INTERNET TECHNOLOGY (BEIJING) Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200630

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Applicant before: Youku network technology (Beijing) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240624

Address after: 101400 Room 201, 9 Fengxiang East Street, Yangsong Town, Huairou District, Beijing

Patentee after: Youku Culture Technology (Beijing) Co.,Ltd.

Country or region after: China

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Alibaba (China) Co.,Ltd.

Country or region before: China