CN111417031B - 文件传输方法、装置以及电子设备 - Google Patents
文件传输方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN111417031B CN111417031B CN202010352891.2A CN202010352891A CN111417031B CN 111417031 B CN111417031 B CN 111417031B CN 202010352891 A CN202010352891 A CN 202010352891A CN 111417031 B CN111417031 B CN 111417031B
- Authority
- CN
- China
- Prior art keywords
- media information
- client
- file
- session
- source server
- 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 72
- 230000005540 biological transmission Effects 0.000 title abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 11
- 230000003044 adaptive effect Effects 0.000 abstract description 9
- 230000035945 sensitivity Effects 0.000 abstract description 9
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006978 adaptation Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种文件传输方法、装置以及电子设备,涉及通信技术领域,解决了码率自适应过程的码率自适应灵敏度较低导致客户端的播放效果受到影响的技术问题。该方法包括:接收客户端的文件请求,并读取所述文件请求中的媒体信息;根据所述媒体信息,查询是否存在所述客户端的下载速度的记录;如果是,则向源服务器请求与所述下载速度匹配的媒体信息;接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种文件传输方法、装置以及电子设备。
背景技术
视频码率(简称码率)指的是数据传输时单位时间传送的数据位数,一般采用的单位是千位每秒(kbps)。目前,在客户端在线播放视频时,经常会出现服务器传送的码率与客户端下载速度不匹配的情况,使客户端的播放效果较差。
一般情况下,是通过码率自适应技术(HTTP Live Streaming,简称HLS)解决该问题,其中,码率自适应指的是根据客户端前一段时间的下载速度的快慢,动态调高或降低当前请求传送的码率。
但是,客户端的下载速度较为不稳定,如果当前时间的下载速度与前一段时间的下载速度之间变化较大,根据客户端前一段时间下载速度而调整的码率便无法适应当前时间的下载速度,导致码率自适应过程的码率自适应灵敏度较低,使码率自适应效果较低,很容易导致客户端的播放效果受到影响。
发明内容
本发明的目的在于提供一种文件传输方法、装置以及电子设备,以解决码率自适应过程的码率自适应灵敏度较低导致客户端的播放效果受到影响的技术问题。
第一方面,本申请实施例提供了一种文件传输方法,应用于内容分发网络,所述方法包括:
接收客户端的文件请求,并读取所述文件请求中的媒体信息;
根据所述媒体信息,查询是否存在所述客户端的下载速度的记录;
如果是,则向源服务器请求与所述下载速度匹配的媒体信息;
接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端。
在一个可能的实现中,在接收客户端的文件请求,并读取所述文件请求中的媒体信息的步骤之前,还包括:
接收客户端的文件请求,并生成与所述客户端对应的会话ID;
根据所述文件请求,从源服务器获取列表文件;
将所述会话ID添加至所述列表文件的媒体信息;
将所述列表文件发送至所述客户端。
在一个可能的实现中,在根据所述媒体信息,查询是否存在所述客户端的下载速度的记录的步骤之后,还包括:
如果否,则向源服务器请求媒体信息;
接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端;
根据所述媒体信息生成所述客户端的下载速度的记录。
在一个可能的实现中,在向源服务器请求与所述下载速度匹配的媒体信息的步骤之前,还包括:
判断所述下载速度的记录是否处于有效时间内;
如果是,则执行向源服务器请求与所述下载速度匹配的媒体信息的步骤。
在一个可能的实现中,在判断所述下载速度的记录是否处于有效时间内步骤之后,还包括:
如果否,则向源服务器请求媒体信息;
接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端;
根据所述媒体信息生成所述客户端的下载速度的记录。
在一个可能的实现中,所述会话ID至少包括所述客户端的网络地址和端口。
在一个可能的实现中,所述会话ID的格式为MD5值。
在一个可能的实现中,所述生成与所述客户端对应的会话ID的步骤,包括:
基于所述客户端的网络地址、端口、当前连接号、当前连接上的请求数、当前时间生成拼接字符串;
对所述拼接字符串进行MD5运算,生成MD5值格式的会话ID。
第二方面,提供了一种文件传输装置,应用于内容分发网络,所述装置包括:
读取模块,用于接收客户端的文件请求,并读取所述文件请求中的媒体信息;
查询模块,用于根据所述媒体信息,查询是否存在所述客户端的下载速度的记录;
请求模块,用于如果是,则向源服务器请求与所述下载速度匹配的媒体信息;
通讯模块,用于接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端。
第三方面,本申请实施例又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
第四方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种文件传输方法、装置以及电子设备,能够接收客户端的文件请求,并读取该文件请求中的媒体信息,再根据该媒体信息,查询是否存在客户端的下载速度的记录,并在存在客户端下载速度记录的情况下,向源服务器请求与下载速度相匹配的媒体信息,从而接收到来自源服务器的媒体信息并将媒体信息发送至客户端,通过根据读取到的文件请求中的媒体信息来查询客户端下载速度的记录,进而从源服务器处获取到与记录的下载速度相匹配的媒体信息,以将该与下载速度相匹配的媒体信息发送至客户端,能够在请求中的媒体信息下载速度有改变时,将改变后的对应码率相匹配的媒体信息返回至客户端,从而使码率自适应的敏感度得到提高,进而解决了码率自适应过程的码率自适应灵敏度较低导致客户端的播放效果受到影响的技术问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的文件传输方法的流程图示意图;
图2为本申请实施例提供的文件传输方法另一流程图示意图;
图3为本申请实施例提供的一种文件传输装置的结构示意图;
图4为示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,动态码率自适应技术(HTTP Live Streaming,简称HLS)是把整个数据流分成一个个小的基于传输协议HTTP的文件来下载,每次只下载其中的一些。HLS协议由三部分组成,即HTTP、M3U8以及TS。在这三部分中,M3U8是索引文件,TS是音视频的媒体信息。其中,M3U8也是一种视频播放标准,是M3U的一种,只是编码格式采用的是UTF-8。而M3U(Moving Picture Experts Group Audio Layer 3Uniform ResourceLocator)这种文件格式是音视频文件的列表文件,是纯文本文件。当用户下载下来打开该文本文件后,播放软件并不是播放该文本文件,而是根据它的记录找到网络地址进行在线播放。
在实际应用中,码率自适应指的是根据客户端前一段时间的下载速度的快慢,动态调高或降低当前请求的MPEG2数据流(MPEG2-TransportStream,简称TS)媒体分片文件的码率,而服务端码率自适应解决的是客户端无法实现码率自适应或码率自适应不准的问题。其中,TS是一种音视频封装格式,TS格式是主要用于直播的码流结构,具有很好的容错能力。通常TS流的后缀是.ts、.mpg或者.mpeg,多数播放器直接支持这种格式的播放。HLS协议是基于TS流而实现。
目前,一般是通过计算M3U8文件的下载速度,将M3U8响应中原来的TS文件名称改为对应码率的TS文件名称。M3U8文件的内容可以还是M3U8文件,或可以是包含多个TS媒体文件的播放列表。
在实际应用中,客户端的下载速度是时刻在波动的,客户端请求M3U8时下载速度高,得到的就是高码率的TS文件;如果在请求其中的TS文件时下载速度降低,就会导致是客户端播放卡顿,即码率高,下载速度低。客户端请求M3U8时的下载速度低,得到的就是低码率的TS文件;如果请求其中的TS文件时下载速度变高也不会把高码率的内容返回给客户端。因此,码率与下载速度之间无法适应,导致码率自适应灵敏度较低。
再者,服务端计算下载速度方法的准确度较低,码率自适应效果差。具体的,服务端在从源站获取到M3U8响应后,就必须计算下载速度,否则无法改变响应中TS文件的码率。而此时客户端与服务端通信还没结束,计算下载速度中使用的时间比实际响应消耗的时间短,这就导致给客户端的TS文件码率偏高。客户端真正请求TS时,可能会因为码率与真实下载速度不匹配而出现卡顿。
基于此,本申请实施例提供了一种文件传输方法、装置以及电子设备。通过该方法可以解决码率自适应过程的码率自适应灵敏度较低导致客户端的播放效果受到影响的技术问题。
下面结合附图对本发明实施例进行进一步地介绍。
图1为本申请实施例提供的一种文件传输方法的流程示意图。其中,该方法应用于内容分发网络。如图1所示,该方法包括:
S110,接收客户端的文件请求,并读取文件请求中的媒体信息。
其中,媒体信息可以TS文件,该TS文件中可能封装有TS的音视频封装格式的图像信息、音频信息和/或视频信息等。
本步骤中,内容分发网络(Content Delivery Network,CDN)可以接受客户端的文件请求,从而能够读取该文件请求中的媒体信息。例如,如图2所示,步骤6和步骤12相同,都是客户端向CDN请求TS。
S120,根据媒体信息,查询是否存在客户端的下载速度的记录。如果是,则执行步骤S130。
本步骤中,CDN可以根据步骤S110中读取到的媒体信息,查询其中是否存在关于客户端下载速度的内容。例如,当带有会话ID(sessionid)参数的TS请求到达CDN时,CDN可以根据该sessionid参数查询CDN中是否存在与该sessionid参数对应的下载速度。
S130,向源服务器请求与下载速度匹配的媒体信息。
本步骤中,CDN可以向源服务器请求以获取与步骤S120中的下载速度相匹配的媒体信息。如图2所示,在步骤8中,CDN获取下载速度并修改回源站的TS请求码率。
例如,当后续带有相同sessionid的TS请求到达CDN时,CDN就可以查到前一个TS文件的下载速度,根据该下载速度回源请求与之匹配的码率的TS文件。
S140,接收来自源服务器的媒体信息。
本步骤中,CDN接收来自步骤S130中的源服务器发送的媒体信息。例如,在步骤9中,源站向CDN返回响应码率的TS。
S150,将媒体信息发送至客户端。
本步骤中,CDN将步骤S140中获取到的媒体信息发送至客户端。例如,如图2所示,在步骤10中,CDN将修改码率后的TS响应至客户端。
本申请实施例提供的文件传输方法可以作为一种CDN服务端实现的HLS码率自适应方法,通过根据读取到的文件请求中的媒体信息来查询客户端下载速度的记录,进而从源服务器处获取到与记录的下载速度相匹配的媒体信息,以将该与下载速度相匹配的媒体信息发送至客户端,能够在请求中的媒体信息下载速度有改变时,将改变后的对应码率相匹配的媒体信息返回至客户端,从而使码率自适应的敏感度的精确性得到提高,使一个数据流请求后便可以快速生效,能够解决客户端无法实现码率自适应以及码率自适应灵敏度较低导致客户端播放效果差的问题。
下面对上述步骤进行详细介绍。
在一些实施例中,在步骤S110之前,该方法还可以包括以下步骤:
步骤S102,接收客户端的文件请求,并生成与客户端对应的会话ID。
步骤S104,根据文件请求,从源服务器获取列表文件。
步骤S106,将会话ID添加至列表文件的媒体信息。
步骤S108,将列表文件发送至客户端。
需要说明的是,TS文件中的媒体信息的获取方法是根据下载地址从服务器下载来获得。因此,每个包含媒体信息的TS文件都对应有一个下载地址,而下载地址可以通过统一资源定位符(Uniform Resource Locator,URL)来表示。
需要说明的是,上述文件请求可以是M3U8请求,列表文件可以M3U8文件。
本申请实施例中,CDN在收到M3U8请求时,可以生成会话ID,如值唯一的32位字符串,并在响应的时候将该字符串添加至每个TS文件对应的URL的参数中,以起到识别客户端的作用。其中,会话ID可以为sessionid名称的参数,也可以为其它名称的参数。当然,该sessionid也可以在URL中呈现,而不仅是参数。
例如,如图2所示,在步骤1中,客户端向CDN请求M3U8文件;在步骤2中,CDN回源站获取M3U8文件;在步骤3中,源站向CDN响应M3U8文件内容;在步骤4中,CDN为M3U8中的TS文件URL添加sessionid参数;在步骤5中,CDN向客户端响应添加sessionid参数后的M3U8文件。
本申请实施例中,当TS请求到达CDN时,可以通过给M3U8中的TS文件URL添加会话ID,来识别客户端。因此,通过在TS文件URL中增加会话ID,实现了对客户端的有效识别,从而能够在较为精细的粒度上实现各种和客户端相关的访问控制、流量控制等限制策略。
在一些实施例中,会话ID至少包括客户端的网络地址和端口。
对于会话ID的生成过程,可以使用“客户端地址+端口+当前连接号+当前连接上的请求数+当前时间”拼接的字符串来生成,以解决服务端计算下载速度准确度较低的技术问题。
在一些实施例中,会话ID的格式为MD5值。
会话ID的计算方法可以使用crc32的计算方法,当然也可以使用MD5,从而生成格式为MD5值的会话ID,以使会话ID的值更加精确。
基于此,对于上述步骤S102中生成客户端对应的会话ID的过程,还可以包括以下具体步骤:
步骤S1022,基于客户端的网络地址、端口、当前连接号、当前连接上的请求数、当前时间生成拼接字符串;
步骤S1024,对拼接字符串进行MD5运算,生成MD5值格式的会话ID。
通过基于客户端的网络地址、端口、当前连接号、当前连接上的请求数以及当前时间,这些客户端更加具体的信息来生成拼接字符串进而生成会话ID,可以使会话ID更加符合客户端的当前具体情况,使生成的会话ID具有实时性,提高会话ID的精确度。
在一些实施例中,在步骤S120之后,该方法还可以包括以下步骤:
步骤S1202,如果否,则向源服务器请求媒体信息;
步骤S1204,接收来自源服务器的媒体信息,并将媒体信息发送至客户端;
步骤S1206,根据媒体信息生成客户端的下载速度的记录。
对于上述步骤S1206,CDN可以根据媒体信息更新客户端的下载速度的记录。示例性的,如果媒体信息中不存在客户端的下载速度的记录,可以执行图2中的步骤11,即CDN更新sessionid对应的下载速度,以在响应当前TS请求结束后计算并保存更新后下载速度。该保存的格式可以为<sessionid,speed>,其中,sessionid作为key,speed作为value。
本申请实施例中,使用TS文件计算下载速度,而不是使用m3u8,即在TS文件响应完毕后使用TS文件计算下载速度,防止了使用m3u8文件计算下载速度的弊端。
通过CDN计算前一个TS文件的下载速度,在后续TS文件请求到达CDN时,CDN就可以利用该下载速度解决服务端下载时间统计不准确的技术问题。
在一些实施例中,在步骤S130之前,该方法还可以包括以下步骤:
步骤S126,判断下载速度的记录是否处于有效时间内;
步骤S128,如果是,则执行向源服务器请求与下载速度匹配的媒体信息的步骤。
在实际应用中,保存的每组下载速度(如<sessionid,speed>保存格式的下载速度)都有一定的时效性。例如,如图2所示,在步骤7,CDN根据sessionid参数查询对应的下载速度之后,可以判断下载速度的记录是否过期。如果没有过期,便可以直接执行向源服务器请求与下载速度匹配的媒体信息的步骤。
通过对下载速度记录的时效性进行判断,能够保证下次再使用的下载速度是有效的、准确的,减少下次请求的TS的码率与实际下载速度不匹配的情况,使TS码率与客户端下载速度能够相匹配。
在一些实施例中,在步骤S126之后,该方法还可以包括以下步骤:
步骤S1262,如果否,则向源服务器请求媒体信息;
步骤S1264,接收来自源服务器的媒体信息,并将媒体信息发送至客户端;
步骤S1266,根据媒体信息生成客户端的下载速度的记录。
对于上述步骤S1262、S1264以及S1266的执行过程,可以类似于步骤S1202、S1204以及S1206,CDN可以根据媒体信息更新客户端的下载速度的记录。
示例性的,如果下载速度的记录没有处于有效时间内,可以执行图2中的步骤11,即CDN更新sessionid对应的下载速度,在响应当前TS请求结束后计算并保存更新后的下载速度。
对于现有技术而言,在下载速度过期的情况下,下次有相同sessionid的TS请求到达CDN时,就需要重新计算下载速度。
通过在响应当前TS请求结束后便计算并保存更新后的下载速度,可以避免在下次有相同sessionid的TS请求到达CDN时再计算下载速度而花费较长时间,即通过<sessionid,下载速度>过期机制,解决了客户端长时间暂停后再重新播放的卡顿问题。
图3提供了一种文件传输装置的结构示意图。该装置应用于内容分发网络。如图3所示,文件传输装置300包括:
读取模块301,用于接收客户端的文件请求,并读取文件请求中的媒体信息;
查询模块302,用于根据媒体信息,查询是否存在客户端的下载速度的记录;
第一请求模块303,用于如果是,则向源服务器请求与下载速度匹配的媒体信息;
第一通讯模块304,用于接收来自源服务器的媒体信息,并将媒体信息发送至客户端。
在一些实施例中,该装置还包括:
第一生成模块,用于接收客户端的文件请求,并生成与客户端对应的会话ID;
获取模块,用于根据文件请求,从源服务器获取列表文件;
添加模块,用于将会话ID添加至列表文件的媒体信息;
发送模块,用于将列表文件发送至客户端。
在一些实施例中,该装置还包括:
第二请求模块,用于如果否,则向源服务器请求媒体信息;
第二通讯模块,用于接收来自源服务器的媒体信息,并将媒体信息发送至客户端;
第二生成模块,用于根据媒体信息生成客户端的下载速度的记录。
在一些实施例中,该装置还包括:
判断模块,用于判断下载速度的记录是否处于有效时间内;
执行模块,用于如果是,则执行向源服务器请求与下载速度匹配的媒体信息的步骤。
在一些实施例中,该装置还包括:
第三请求模块,用于如果下载速度的记录没有处于有效时间内,则向源服务器请求媒体信息;
第三通讯模块,用于接收来自源服务器的媒体信息,并将媒体信息发送至客户端;
第三生成模块,用于根据媒体信息生成客户端的下载速度的记录。
在一些实施例中,会话ID至少包括客户端的网络地址和端口。
在一些实施例中,会话ID的格式为MD5值。
本申请实施例提供的文件传输装置,与上述实施例提供的文件传输方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本申请实施例提供的一种电子设备,如图4所示,电子设备400包括存储器401、处理器402,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法的步骤。
参见图4,电子设备还包括:总线403和通信接口404,处理器402、通信接口404和存储器401通过总线403连接;处理器402用于执行存储器401中存储的可执行模块,例如计算机程序。
其中,存储器401可能包含高速随机存取存储器(Random AccessMemory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口404(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线403可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器401用于存储程序,所述处理器402在接收到执行指令后,执行所述程序,前述本申请任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器402中,或者由处理器402实现。
处理器402可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器402可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器402读取存储器401中的信息,结合其硬件完成上述方法的步骤。
对应于上述文件传输方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述文件传输方法的步骤。
本申请实施例所提供的文件传输装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述文件传输方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种文件传输方法,其特征在于,应用于内容分发网络,所述方法包括:
接收客户端的文件请求,并读取所述文件请求中的媒体信息;
根据所述媒体信息,查询是否存在所述客户端的下载速度的记录;所述下载速度为使用TS文件计算得到的;
如果是,则向源服务器请求与所述下载速度匹配的媒体信息;
接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端;
在接收客户端的文件请求,并读取所述文件请求中的媒体信息的步骤之前,还包括:
接收客户端的文件请求,并生成与所述客户端对应的会话ID;
根据所述文件请求,从源服务器获取列表文件;
将所述会话ID添加至所述列表文件的媒体信息;
将所述列表文件发送至所述客户端;
所述根据所述媒体信息,查询是否存在所述客户端的下载速度的记录的步骤,包括:
根据所述媒体信息中带有的会话ID参数,查询是否存在与所述会话ID参数对应的下载速度的记录。
2.根据权利要求1所述的方法,其特征在于,在根据所述媒体信息,查询是否存在所述客户端的下载速度的记录的步骤之后,还包括:
如果否,则向源服务器请求媒体信息;
接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端;
根据所述媒体信息生成所述客户端的下载速度的记录。
3.根据权利要求1所述的方法,其特征在于,在向源服务器请求与所述下载速度匹配的媒体信息的步骤之前,还包括:
判断所述下载速度的记录是否处于有效时间内;
如果是,则执行向源服务器请求与所述下载速度匹配的媒体信息的步骤。
4.根据权利要求3所述的方法,其特征在于,在判断所述下载速度的记录是否处于有效时间内步骤之后,还包括:
如果否,则向源服务器请求媒体信息;
接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端;
根据所述媒体信息生成所述客户端的下载速度的记录。
5.根据权利要求1所述的方法,其特征在于,所述会话ID至少包括所述客户端的网络地址和端口。
6.根据权利要求1所述的方法,其特征在于,所述会话ID的格式为MD5值。
7.根据权利要求6所述的方法,其特征在于,所述生成与所述客户端对应的会话ID的步骤,包括:
基于所述客户端的网络地址、端口、当前连接号、当前连接上的请求数、当前时间生成拼接字符串;
对所述拼接字符串进行MD5运算,生成MD5值格式的会话ID。
8.一种文件传输装置,其特征在于,应用于内容分发网络,所述装置包括:
第一生成模块,用于接收客户端的文件请求,并生成与所述客户端对应的会话ID;
获取模块,用于根据所述文件请求,从源服务器获取列表文件;
添加模块,用于将所述会话ID添加至所述列表文件的媒体信息;
发送模块,用于将所述列表文件发送至所述客户端;
读取模块,用于接收客户端的文件请求,并读取所述文件请求中的媒体信息;
查询模块,用于根据所述媒体信息,查询是否存在所述客户端的下载速度的记录;所述下载速度为使用TS文件计算得到的;
请求模块,用于如果是,则向源服务器请求与所述下载速度匹配的媒体信息;
通讯模块,用于接收来自所述源服务器的媒体信息,并将所述媒体信息发送至所述客户端;
所述查询模块具体用于根据所述媒体信息中带有的会话ID参数,查询是否存在与所述会话ID参数对应的下载速度的记录。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010352891.2A CN111417031B (zh) | 2020-04-28 | 2020-04-28 | 文件传输方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010352891.2A CN111417031B (zh) | 2020-04-28 | 2020-04-28 | 文件传输方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111417031A CN111417031A (zh) | 2020-07-14 |
CN111417031B true CN111417031B (zh) | 2022-05-31 |
Family
ID=71494969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010352891.2A Active CN111417031B (zh) | 2020-04-28 | 2020-04-28 | 文件传输方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111417031B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086300B (zh) * | 2022-06-16 | 2023-09-08 | 乐视云网络技术(北京)有限公司 | 一种视频文件调度方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817590A (zh) * | 2015-11-27 | 2017-06-09 | 南宁富桂精密工业有限公司 | 动态控制多个视频下载的系统及方法 |
CN108124192A (zh) * | 2016-11-30 | 2018-06-05 | 亦非云互联网技术(上海)有限公司 | Hls流媒体的播放方法及系统 |
CN108600368A (zh) * | 2018-04-25 | 2018-09-28 | 青岛海信电器股份有限公司 | 一种hls网络视频下载优化方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833219B (zh) * | 2011-06-16 | 2015-06-03 | 华为技术有限公司 | 向客户端传输数据文件的方法和装置 |
US9537917B2 (en) * | 2012-11-20 | 2017-01-03 | Google Technology Holdings LLC | Method and apparatus for streaming media content to client devices |
CN104768079B (zh) * | 2014-01-03 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 多媒体资源分发方法、装置及系统 |
GB2524958A (en) * | 2014-04-03 | 2015-10-14 | Orbital Multi Media Holdings Corp | Data flow control method |
CN104244028B (zh) * | 2014-06-18 | 2017-11-24 | 华为技术有限公司 | 一种基于码流自适应技术的内容分发方法、装置及系统 |
CN104506493B (zh) * | 2014-12-04 | 2018-02-27 | 武汉市烽视威科技有限公司 | 一种实现hls内容回源和缓存的方法 |
CN106162233B (zh) * | 2016-07-08 | 2019-12-31 | 合一网络技术(北京)有限公司 | 码率推荐方法及装置 |
CN109981532A (zh) * | 2017-12-27 | 2019-07-05 | 中移(杭州)信息技术有限公司 | 一种媒体文件的传输方法和服务器 |
CN109040801B (zh) * | 2018-07-19 | 2019-07-09 | 北京达佳互联信息技术有限公司 | 媒体码率自适应方法、装置、计算机设备及存储介质 |
CN110087141A (zh) * | 2019-04-29 | 2019-08-02 | 北京金山云网络技术有限公司 | 视频数据传输方法、装置、客户端及服务器 |
CN110213653B (zh) * | 2019-06-14 | 2022-03-04 | 北京奇艺世纪科技有限公司 | 一种播放视频的方法及装置 |
-
2020
- 2020-04-28 CN CN202010352891.2A patent/CN111417031B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817590A (zh) * | 2015-11-27 | 2017-06-09 | 南宁富桂精密工业有限公司 | 动态控制多个视频下载的系统及方法 |
CN108124192A (zh) * | 2016-11-30 | 2018-06-05 | 亦非云互联网技术(上海)有限公司 | Hls流媒体的播放方法及系统 |
CN108600368A (zh) * | 2018-04-25 | 2018-09-28 | 青岛海信电器股份有限公司 | 一种hls网络视频下载优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111417031A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150200992A1 (en) | Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal | |
CN109600437B (zh) | 一种流媒体资源的下载方法及缓存服务器 | |
WO2017096830A1 (zh) | 用于cdn平台的内容分发方法及调度代理服务器 | |
JP6338709B2 (ja) | ストリーミング装置とその方法、これを用いたストリーミングサービスシステム及びコンピュータ読み取り可能な記録媒体(Streaming apparatus and method thereof,streaming service system using the streaming apparatus and computer readable recording medium) | |
CN111355971B (zh) | 直播流传输方法、装置、cdn服务器及计算机可读介质 | |
US20160330500A1 (en) | Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments | |
CN104602138A (zh) | 一种使流媒体服务器支持hls协议的方法及装置 | |
CN107566854B (zh) | 一种媒体内容的获取和发送方法及装置 | |
CN106105145B (zh) | 用于操作沿客户端终端和至少一个服务器之间的传输路径布置的缓存器的方法、及相应的缓存器 | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
CN111417031B (zh) | 文件传输方法、装置以及电子设备 | |
CN111064969B (zh) | 一种流媒体数据传输方法、设备、装置和计算机存储介质 | |
CN105306520A (zh) | 操作高速缓存器的方法及相应高速缓存器 | |
CN110881018B (zh) | 媒体流的实时接收方法及客户端 | |
US10735544B2 (en) | Method for providing a content part of a multimedia content to a client terminal, corresponding cache | |
KR20190048186A (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 분할 전송 시스템 및 스트리밍 방법 | |
KR102237900B1 (ko) | 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법 | |
WO2015104149A1 (en) | Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments | |
CN107835180A (zh) | 一种视频倍数播放的方法和系统 | |
US20170310828A1 (en) | Utilizing client data usage information to adjust bandwidth in an adaptive bit rate device | |
EP2894871A1 (en) | Method for obtaining a network information by a client terminal configured for receiving a multimedia content divided into segments | |
CN118590474A (zh) | 云媒体播放器 | |
CN118044208A (zh) | 用于多源传递的数据速率和缓冲区估计的方法 | |
CN105075277A (zh) | 选择经由通信网络传送的多媒体内容的片段的代表的方法 | |
CN114697746A (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 |