CN107800734A - 一种分片下载方法、装置及*** - Google Patents
一种分片下载方法、装置及*** Download PDFInfo
- Publication number
- CN107800734A CN107800734A CN201610800076.1A CN201610800076A CN107800734A CN 107800734 A CN107800734 A CN 107800734A CN 201610800076 A CN201610800076 A CN 201610800076A CN 107800734 A CN107800734 A CN 107800734A
- Authority
- CN
- China
- Prior art keywords
- downloading mode
- mode information
- download
- module
- index file
- 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.)
- Pending
Links
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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种分片下载方法、装置及***,用以解决现有技术中分片下载方法存在的下载方式单一、下载方式不可控问题。方法包括:客户端的代理模块接收到统一资源定位符后,确定基于指定协议下载多个分片以及客户端的多个下载模块中与指定协议对应的指定下载模块;代理模块向根据统一资源定位符确定的流媒体服务器发送请求获取第一索引文件的第一请求消息,第一索引文件包括多个分片的存储地址;流媒体服务器将确定的第一索引文件和下载方式信息通过第一响应消息发送给代理模块;代理模块将第一响应消息发送给指定下载模块,指定下载模块解析获得下载方式信息指示的下载方式,并根据第一索引文件,采用下载方式信息指示的下载方式下载多个分片。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种分片下载方法、装置及***。
背景技术
分片下载是流媒体技术领域的一种常用的下载方式,即服务器将客户端请求下载的文件分割为多个分片,客户端在下载多个分片后将多个分片合并后可得到请求下载的文件。分片下载的优点是:多个分片之间的下载过程是相互独立的,客户端在下载部分分片后即可对下载完成的部分分片进行播放,而不必等待整个文件下载完成后再进行播放,从而实现文件的“边下载边播放”,极大地提升了用户体验。
一种常见的分片下载方法是:客户端接收流媒体服务器发送的多个分片的存储地址,通过每个分片的存储地址解析得到用于下载该分片的流媒体服务器,然后向相应的流媒体服务器发送下载请求,下载该分片。在上述分片下载方法中,每个客户端都需要访问流媒体服务器进行分片的下载,分片下载方式单一,客户端只能采用默认的下载方式,客户端的下载方式不可控。此外,在发送下载请求的客户端数量较多的情况下,流媒体服务器需要处理的下载请求的数量较多,会造成流媒体服务器的处理负荷大,影响流媒体服务器的性能以及客户端的下载速度。
综上,现有的分片下载方法存在下载方式单一、客户端的下载方式不可控的问题。
发明内容
本发明实施例提供一种分片下载方法,用以解决现有技术中分片下载方法存在的下载方式单一、客户端的下载方式不可控的问题。
第一方面,本发明实施例提供一种分片下载方法,在客户端侧,客户端包括代理模块及与代理模块连接的多个下载模块,该方法包括:
代理模块在接收到统一资源定位符(Uniform Resoure Locator,URL)后,确定基于指定协议下载多个分片,以及确定多个下载模块中与指定协议对应的指定下载模块;
代理模块向根据URL确定的流媒体服务器发送第一请求消息;第一请求消息用于指示请求获取第一索引文件,第一索引文件包括多个分片的存储地址;
代理模块接收流媒体服务器发送的第一响应消息,并将第一响应消息发送给指定下载模块;其中,第一响应消息包括下载方式信息和第一索引文件,下载方式信息用于指示采用下载方式信息指示的下载方式下载多个分片;
指定下载模块接收第一响应消息,解析获得第一响应消息包括的下载方式信息指示的下载方式,并根据第一响应消息包括的第一索引文件,采用下载方式信息指示的下载方式下载多个分片。
在一种可能的实现方式中,指定下载模块采用下载方式信息指示的下载方式下载多个分片,具体包括:
指定下载模块判断下载方式信息指示的下载方式是否为自身使用的下载方式;
若是,则采用该下载方式下载多个分片;若否,则将第一响应消息包括的第一索引文件发送给多个下载模块中使用该下载方式的相应下载模块,并指示相应下载模块采用该下载方式下载多个分片。
在一种可能的实现方式中,客户端还包括播放器,该方法还包括:
在代理模块确定基于指定协议下载多个分片之前,播放器向认证服务器发送第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个分片采用不同码率时对应的URL;
播放器接收认证服务器发送的第二响应消息,第二响应消息包括下载方式信息和第二索引文件,其中,下载方式信息是认证服务器根据多个分片的发布信息生成的;
播放器根据用户选择的码率以及第二索引文件确定URL,并将URL和下载方式信息发送给代理模块。
在一种可能的实现方式中,代理模块向流媒体服务器发送第一请求消息,包括:
代理模块向流媒体服务器发送包含下载方式信息的第一请求消息,下载方式信息用于流媒体服务器确定第一响应消息包括的下载方式信息。
在一种可能的实现方式中,指定协议为点播下载协议和/或直播下载协议;指定下载模块为点播下载模块和/或直播下载模块。
第二方面,本发明实施例提供一种分片下载方法,该方法包括:
流媒体服务器接收客户端发送的第一请求消息,第一请求消息用于指示客户端请求获取第一索引文件,第一索引文件包括多个分片的存储地址;
流媒体服务器确定下载方式信息和第一索引文件,下载方式信息用于指示客户端采用下载方式信息指示的下载方式下载多个分片;
流媒体服务器向客户端发送第一响应消息,第一响应消息包括下载方式信息和第一索引文件。
在一种可能的实现方式中,流媒体服务器接收客户端发送的第一请求消息,具体包括:
流媒体服务器接收客户端发送的包含下载方式信息的第一请求消息;
流媒体服务器确定下载方式信息,具体包括:
流媒体服务器根据第一请求消息确定下载方式信息。
第三方面,本发明实施例提供一种分片下载方法,该方法包括:
认证服务器接收客户端发送的第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个不同码率的多个分片对应的多个URL;
认证服务器通过查询播控平台获取多个分片的发布信息,并根据多个分片的发布信息生成下载方式信息和第二索引文件;
认证服务器向客户端发送第二响应消息,第二响应消息包括下载方式信息和第二索引文件。
第四方面,本发明实施例提供一种客户端,该客户端包括:
代理模块,用于在接收到统一资源定位符URL后,确定基于指定协议下载多个分片,以及确定客户端包括的多个下载模块中与指定协议对应的指定下载模块;以及
向根据URL确定的流媒体服务器发送第一请求消息;第一请求消息用于指示请求获取第一索引文件,第一索引文件包括多个分片的存储地址;以及
接收流媒体服务器发送的第一响应消息,并将第一响应消息发送给指定下载模块;其中,第一响应消息包括下载方式信息和第一索引文件,下载方式信息用于指示采用下载方式信息指示的下载方式下载多个分片;
多个下载模块,多个下载模块中的指定下载模块用于接收代理模块发送的第一响应消息,解析获得第一响应消息包括的下载方式信息指示的下载方式,并根据第一响应消息包括的第一索引文件,采用下载方式信息指示的下载方式下载多个分片。
在一种可能的实现方式中,指定下载模块在采用下载方式信息指示的下载方式下载多个分片时,具体用于:
判断下载方式信息指示的下载方式是否为自身使用的下载方式;
若是,则采用下载方式下载多个分片;若否,则将第一响应消息包括的第一索引文件发送给多个下载模块中使用下载方式的相应下载模块,并指示相应下载模块采用下载方式下载多个分片。
在一种可能的实现方式中,该客户端还包括:
播放器,用于在代理模块确定基于指定协议下载多个分片之前,向认证服务器发送第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个分片采用不同码率时对应的URL;以及
接收认证服务器发送的第二响应消息,第二响应消息包括下载方式信息和第二索引文件,其中,下载方式信息是认证服务器根据多个分片的发布信息生成的;以及
根据用户选择的码率以及第二索引文件确定URL,并将URL和下载方式信息发送给代理模块。
在一种可能的实现方式中,代理模块在向流媒体服务器发送第一请求消息时,具体用于:
向流媒体服务器发送包含下载方式信息的第一请求消息,下载方式信息用于流媒体服务器确定第一响应消息包括的下载方式信息。
在一种可能的实现方式中,指定协议为点播下载协议和/或直播下载协议;指定下载模块为点播下载模块和/或直播下载模块。
第五方面,本发明实施例提供一种流媒体服务器,该流媒体服务器包括:
接收模块,用于接收客户端发送的第一请求消息,第一请求消息用于指示客户端请求获取第一索引文件,第一索引文件包括多个分片的存储地址;
处理模块,用于确定下载方式信息和接收模块接收的第一请求消息请求获取的第一索引文件,下载方式信息用于指示采用下载方式信息指示的下载方式下载多个分片;
发送模块,用于向客户端发送第一响应消息,第一响应消息包括处理模块确定的下载方式信息和第一索引文件。
在一种可能的实现方式中,接收模块在接收客户端发送的第一请求消息时,具体用于:
接收客户端发送的包含下载方式信息的第一请求消息;
处理模块在确定下载方式信息时,具体用于:
根据接收模块接收的第一请求消息确定下载方式信息。
第六方面,本发明实施例提供一种认证服务器,该认证服务器包括:
接收模块,用于接收客户端发送的第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个不同码率的多个分片对应的多个URL;
处理模块,用于通过查询播控平台获取多个分片的发布信息,并根据多个分片的发布信息生成下载方式信息和接收模块接收的第二请求消息请求获取的第二索引文件;
发送模块,用于向客户端发送第二响应消息,第二响应消息包括处理模块确定的下载方式信息和第二索引文件。
第七方面,本发明实施例提供一种分片下载***,该分片下载***包括:如上述第四方面或其任一种可能的实现方式提供的客户端以及如上述第五方面或其任一种可能的实现方式提供的流媒体服务器。
附图说明
图1为本发明实施例提供的分片下载方法的流程示意图;
图2为本发明实施例提供的一种客户端的结构示意图;
图3为本发明实施例提供的另一种客户端的结构示意图;
图4为本发明实施例提供的一种流媒体服务器的结构示意图;
图5为本发明实施例提供的另一种流媒体服务器的结构示意图;
图6为本发明实施例提供的一种认证服务器的结构示意图;
图7为本发明实施例提供的另一种认证服务器的结构示意图;
图8为本发明实施例提供的一种分片下载***的结构示意图。
具体实施方式
为了更好地理解本发明实施例的上述目的、方案和优势,下文提供了详细描述。该详细描述通过使用框图、流程图等附图和/或示例,阐明了装置和/或方法的各种实施方式。在这些框图、流程图和/或示例中,包含一个或多个功能和/或操作。本领域技术人员将理解到:这些框图、流程图或示例内的各个功能和/或操作,能够通过各种各样的硬件、软件、固件单独或共同实施,或者通过硬件、软件和固件的任意组合实施。
本发明实施例中,客户端是用于请求获取流媒体文件进行播放的设备,例如可以是广播电视机顶盒、网络机顶盒、智能电视、可视电话终端、会议终端、内置多媒体功能的个人计算机(Personal Computer,PC)等。流媒体服务器是运营商向客户端提供流媒体文件的平台,其主要功能是对流媒体文件进行采集、缓存、调度和传输。
在分片下载方法中,一个流媒体文件被划分成多个分片,当客户端想要下载某一个流媒体文件时,可以向流媒体服务器发送请求消息,该请求消息用于获取该流媒体文件包括的多个分片的存储地址。当客户端接收到流媒体服务器发送的包括多个分片的存储地址的响应消息后,即可根据多个分片的存储地址下载多个分片,从而完成该流媒体文件的下载。
本发明实施例提供一种分片下载方法,在该方法中,客户端通过自身包括代理模块、多个下载模块或播放器与流媒体服务器或认证服务器进行交互,从而完成多个分片的下载,如图1所示,该方法包括如下步骤:
S101:代理模块在接收到统一资源定位符URL后,确定基于指定协议下载多个分片,以及确定多个下载模块中与指定协议对应的指定下载模块;
其中,指定协议可以是直播协议,也可以是点播协议;指定协议对应的指定下载模块可以是直播下载模块,也可以是点播下载模块。
需要说明的是,指定下载模块和指定协议并不是一一对应的关系,比如,对于P2P协议,它对应的指定下载模块既可以是直播下载模块,也可以是点播下载模块。
S102:代理模块向根据URL确定的流媒体服务器发送第一请求消息;
第一请求消息用于指示请求获取第一索引文件,第一索引文件包括多个分片的存储地址。
其中,流媒体服务器的地址由客户端通过解析URL获得。具体地,可以由客户端的指定下载模块向内容分发网络(Content Delivery Network,CDN)发送查询请求,CDN将流媒体服务器的地址发送给指定下载模块,指定下载模块再将流媒体服务器的地址发送给代理模块。代理模块在获得流媒体服务器的地址后即可向流媒体服务器发送第一请求消息。
S103:流媒体服务器确定下载方式信息和第一索引文件;
下载方式信息用于指示客户端采用下载方式信息指示的下载方式下载多个分片。
本发明实施例中,下载方式信息的表示形式有多种,下面仅列举两种表示形式,实际实现时下载方式信息的表示形式包括但不限于以下两种形式:
第一种:用标志位信息表示下载方式信息
客户端可以与流媒体服务器事先约定标志位信息和下载方式的对应关系,比如,标志位信息为0时代表下载方式1,标志位信息为1时代表下载方式2。当客户端通过接收响应消息获得用于表示下载方式信息的标志位信息后,若该标志位信息为0,则确定采用下载方式1下载多个分片;若该标志位信息为1,则确定采用下载方式2下载多个分片。
第二种:用指令信息表示下载方式信息
客户端通过接收第一响应消息获得用于表示下载方式信息的指令,通过解析该指令即可获知该指令指示的下载方式,客户端确定采用该下载方式下载多个分片。
可选地,下载方式信息指示的下载方式为点对点(Peer To Peer,P2P)下载。采用P2P下载方式时,客户端无需从流媒体服务器下载多个分片,而是从存储有多个分片的其他客户端下载多个分片。采用这种P2P下载方式,可以降低流媒体服务器的处理负荷,同时,也可以提高客户端的下载速度。
需要说明的是,本发明实施例中,下载方式信息指示的下载方式不限于P2P下载方式,例如还可以包括直连服务器下载方式。
S104:流媒体服务器向客户端发送第一响应消息;
第一响应消息包括下载方式信息和第一索引文件。
S105:代理模块将第一响应消息发送给指定下载模块;
S106:解析获得第一响应消息包括的下载方式信息指示的下载方式,并根据第一响应消息包括的第一索引文件,采用下载方式信息指示的下载方式下载多个分片。
图1所示的分片下载方法中,流媒体服务器向代理模块发送的第一响应消息中不仅包括多个分片的存储地址,还包括下载方式信息。客户端的指定下载模块接收到代理模块发送的第一响应消息后,可以根据下载方式信息指示的下载方式下载多个分片。因而不同的客户端可以根据不同的下载方式信息的指示,采用不同的下载方式进行分片下载,从而避免了现有技术中分片下载方式单一、客户端的下载方式不可控的问题。
此外,在流媒体服务器的处理负荷较大时,流媒体服务器可以通过下载方式信息指示指定下载模块从存储有多个分片的其他客户端下载多个分片,从而降低了流媒体服务器的处理负荷、提升了客户端的下载速度。
可选地,指定下载模块采用下载方式信息指示的下载方式下载多个分片,具体包括:指定下载模块判断下载方式信息指示的下载方式是否为自身使用的下载方式;若是,则采用该下载方式下载多个分片;若否,则将第一响应消息包括的第一索引文件发送给多个下载模块中使用该下载方式的相应下载模块,并指示相应下载模块采用该下载方式下载多个分片。
比如,下载方式信息指示的下载方式为P2P下载方式,指定下载模块使用的下载方式为超文本传输协议(HyperText Transfer Protocol,HTTP)下载方式,指定下载模块无法按照P2P下载方式下载多个分片,那么指定下载模块将第一响应消息包括的第一索引文件发送给P2P下载模块,并指示P2P下载模块采用P2P下载方式下载多个分片。
可选地,该方法还包括:在代理模块确定基于指定协议下载多个分片之前,播放器向认证服务器发送第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个分片采用不同码率时对应的URL。认证服务器通过查询播控平台获取多个分片的发布信息,根据多个分片的发布信息生成下载方式信息和第二索引文件,并通过第二响应消息将该下载方式信息和第二索引文件发送给播放器。播放器根据用户选择的码率以及第二索引文件确定URL,并将URL和下载方式信息发送给代理模块。
其中,码率为单位时间内传输的比特数。比如,对于视频文件来说,不同的码率代表了不同的清晰度,码率越大,视频文件的清晰度越高。不同码率的多个文件是指内容相同、码率不同的多个文件。
其中,播放器可以从认证服务器第二索引文件,即多个分片采用不同码率时对应的URL。第二索引文件可以是认证服务器向播控平台查询文件的发布信息后根据文件的发布信息生成的。播控平台为一种文件信息发布平台,用于记录可供客户端下载的文件的发布信息,比如文件名称、文件标识、文件发布时间、文件占用的存储空间、文件码率、文件下载方式等。
可选地,代理模块向流媒体服务器发送的第一请求消息中包含下载方式信息,流媒体服务器在接收第一请求消息后即可确定下载方式信息,并将该下载方式信息置于第一响应消息中发送给客户端。
这种确定下载方式信息的方式充分满足了用户需求。比如,第一请求消息中包括下载方式信息指示用于希望采用P2P方式下载多个分片。流媒体服务器在接收到客户端的第一请求消息后判断是否允许客户端采用P2P下载方式,若允许,则通过第一响应消息将指示客户端采用P2P下载方式信息发送给客户端。
此外,若采用这种确定下载方式信息的方式,客户端通过第一请求消息向流媒体服务器发送的下载方式信息可以是文件发布者指示的下载方式对应的下载方式信息。也就是说,下载方式信息可以由文件发布者指定后上传至播控平台,并通过认证服务器发送给客户端的播放器;客户端的代理模块向流媒体服务器发送下载多个分片的第一请求消息时,第一请求消息包括的下载方式信息可以是上述文件发布者指定的下载方式信息。
本发明实施例提供一种客户端,该客户端可用于执行上述分片下载方法中客户端所执行的操作。如图2所示,该客户端200包括:
代理模块201,用于在接收到统一资源定位符URL后,确定基于指定协议下载多个分片,以及确定客户端200包括的多个下载模块202中与指定协议对应的指定下载模块202a;以及向根据URL确定的流媒体服务器发送第一请求消息;第一请求消息用于指示请求获取第一索引文件,第一索引文件包括多个分片的存储地址;以及接收流媒体服务器发送的第一响应消息,并将第一响应消息发送给指定下载模块202a;其中,第一响应消息包括下载方式信息和第一索引文件,下载方式信息用于指示采用下载方式信息指示的下载方式下载多个分片;
多个下载模块202,多个下载模块202中的指定下载模块202a,用于接收代理模块201发送的第一响应消息,解析获得第一响应消息包括的下载方式信息指示的下载方式,并根据第一响应消息包括的第一索引文件,采用下载方式信息指示的下载方式下载多个分片。
可选地,指定下载模块202a在采用下载方式信息指示的下载方式下载多个分片时,具体用于:判断下载方式信息指示的下载方式是否为自身使用的下载方式;若是,则采用下载方式下载多个分片;若否,则将第一响应消息包括的第一索引文件发送给多个下载模块202中使用下载方式的相应下载模块,并指示相应下载模块采用下载方式下载多个分片。
可选地,客户端200还包括:播放器,用于在代理模块201确定基于指定协议下载多个分片之前,向认证服务器发送第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个分片采用不同码率时对应的URL;以及接收认证服务器发送的第二响应消息,第二响应消息包括下载方式信息和第二索引文件,其中,下载方式信息是认证服务器根据多个分片的发布信息生成的;以及根据用户选择的码率以及第二索引文件确定URL,并将URL和下载方式信息发送给代理模块201。
可选地,代理模块201在向流媒体服务器发送第一请求消息时,具体用于:向流媒体服务器发送包含下载方式信息的第一请求消息,下载方式信息用于流媒体服务器确定第一响应消息包括的下载方式信息。
可选地,指定协议为点播下载协议和/或直播下载协议;指定下载模块202a为点播下载模块和/或直播下载模块。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本发明实施例还提供了一种客户端,该客户端可采用图1对应的实施例提供的方法,可以是与图2所示的客户端相同的设备。参阅图3所示,该客户端300包括:处理器301、发射机302、接收机303、总线304以及存储器305,其中:
处理器301、发射机302、接收机303以及存储器305通过总线304相互连接;总线304可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3中发射机302用于执行图2中的代理模块201和指定下载模块202a的发送操作,接收机303用于执行图2中的代理模块201和指定下载模块202a的接收操作,处理器301可用于执行图2中的代理模块201和指定下载模块202a的除发送和接收之外的处理操作。该客户端300还包括存储器305,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器305可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器301执行存储器305所存放的应用程序,实现如上分片下载方法。
本发明实施例提供一种流媒体服务器,该流媒体服务器可用于执行上述分片下载方法中流媒体服务器所执行的操作。如图4所示,流媒体服务器400包括:
接收模块401,用于接收客户端发送的第一请求消息,第一请求消息用于指示客户端请求获取第一索引文件,第一索引文件包括多个分片的存储地址;
处理模块402,用于确定下载方式信息和接收模块401接收的第一请求消息请求获取的第一索引文件,下载方式信息用于指示采用下载方式信息指示的下载方式下载多个分片;
发送模块403,用于向客户端发送第一响应消息,第一响应消息包括处理模块402确定的下载方式信息和第一索引文件。
可选地,接收模块401在接收客户端发送的第一请求消息时,具体用于:接收客户端发送的包含下载方式信息的第一请求消息;处理模块402在确定下载方式信息时,具体用于:根据接收模块401接收的第一请求消息确定下载方式信息。
基于以上实施例,本发明实施例还提供了一种流媒体服务器,该流媒体服务器可采用图1对应的实施例提供的方法,可以是与图4所示的流媒体服务器相同的设备。参阅图5所示,该流媒体服务器500包括:处理器501、发射机502、接收机503、总线504以及存储器505,其中:
处理器501、发射机502、接收机503以及存储器505通过总线504相互连接;总线504可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图5中处理器501对应图4中的处理模块402,图5中发射机502对应图4中的发送模块403,图5中接收机503对应图4中的接收模块401。该流媒体服务器500还包括存储器505,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器505可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器501执行存储器505所存放的应用程序,实现如上分片下载方法。
本发明实施例提供一种认证服务器,该认证服务器可用于执行上述分片下载方法中认证服务器所执行的操作。如图6所示,认证服务器600包括:
接收模块601,用于接收客户端发送的第二请求消息,第二请求消息用于指示请求获取第二索引文件,第二索引文件包括多个不同码率的多个分片对应的多个URL;
处理模块602,用于通过查询播控平台获取多个分片的发布信息,并根据多个分片的发布信息生成下载方式信息和接收模块601接收的第二请求消息请求获取的第二索引文件;
发送模块603,用于向客户端发送第二响应消息,第二响应消息包括处理模块602确定的下载方式信息和第二索引文件。
基于以上实施例,本发明实施例还提供了一种认证服务器,该认证服务器可采用图1对应的实施例提供的方法,可以是与图6所示的认证服务器相同的设备。参阅图7所示,该认证服务器700包括:处理器701、发射机702、接收机703、总线704以及存储器705,其中:
处理器701、发射机702、接收机703以及存储器705通过总线704相互连接;总线704可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图7中处理器701对应图6中的处理模块602,图7中发射机702对应图6中的发送模块603,图7中接收机703对应图6中的接收模块601。该认证服务器700还包括存储器705,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器705可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器701执行存储器705所存放的应用程序,实现如上分片下载方法。
本发明实施例提供一种分片下载***,如图8所示,分片下载***800包含图2所示的客户端200以及图4所示的流媒体服务器400。
可选地,分片下载***800还可以包括图6所示的认证服务器600。
分片下载***800中的客户端200可用于执行图1所示的分片下载方法中客户端所执行的操作,其具体的硬件实现形式可参见图3所示的客户端300;分片下载***800中的流媒体服务器400可用于执行图1所示的分片下载方法中流媒体服务器所执行的操作,其具体的实现形式可参见图5所示的流媒体服务器500。
可选地,若分片下载***800还可以包括图6所示的认证服务器600,分片下载***800中的认证服务器600可用于执行图1所示的分片下载方法中认证服务器所执行的操作,其具体的硬件实现形式可参见图7所示的认证服务器700。
本发明实施例中,流媒体服务器向代理模块发送的第一响应消息中不仅包括多个分片的存储地址,还包括下载方式信息。客户端的指定下载模块接收到代理模块发送的第一响应消息后,可以根据下载方式信息指示的下载方式下载多个分片。因而不同的客户端可以根据不同的下载方式信息的指示,采用不同的下载方式进行分片下载,从而避免了现有技术中分片下载方式单一、客户端的下载方式不可控的问题。
此外,在流媒体服务器的处理负荷较大时,流媒体服务器可以通过下载方式信息指示指定下载模块从存储有多个分片的其他客户端下载多个分片,从而降低了流媒体服务器的处理负荷、提升了客户端的下载速度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种分片下载方法,其特征在于,在客户端侧,所述客户端包括代理模块及与所述代理模块连接的多个下载模块,所述方法包括:
所述代理模块在接收到统一资源定位符URL后,确定基于指定协议下载多个分片,以及确定所述多个下载模块中与所述指定协议对应的指定下载模块;
所述代理模块向根据所述URL确定的流媒体服务器发送第一请求消息;所述第一请求消息用于指示请求获取第一索引文件,所述第一索引文件包括所述多个分片的存储地址;
所述代理模块接收所述流媒体服务器发送的第一响应消息,并将所述第一响应消息发送给所述指定下载模块;其中,所述第一响应消息包括下载方式信息和所述第一索引文件,所述下载方式信息用于指示采用所述下载方式信息指示的下载方式下载所述多个分片;
所述指定下载模块接收所述第一响应消息,解析获得所述第一响应消息包括的所述下载方式信息指示的下载方式,并根据所述第一响应消息包括的所述第一索引文件,采用所述下载方式信息指示的下载方式下载所述多个分片。
2.如权利要求1所述的方法,其特征在于,所述指定下载模块采用所述下载方式信息指示的下载方式下载所述多个分片,具体包括:
所述指定下载模块判断所述下载方式信息指示的下载方式是否为自身使用的下载方式;
若是,则采用所述下载方式下载所述多个分片;若否,则将所述第一响应消息包括的第一索引文件发送给所述多个下载模块中使用所述下载方式的相应下载模块,并指示所述相应下载模块采用所述下载方式下载所述多个分片。
3.如权利要求1或2所述的方法,其特征在于,所述客户端还包括播放器,所述方法还包括:
在所述代理模块确定基于指定协议下载多个分片之前,所述播放器向认证服务器发送第二请求消息,所述第二请求消息用于指示请求获取第二索引文件,所述第二索引文件包括所述多个分片采用不同码率时对应的URL;
所述播放器接收所述认证服务器发送的第二响应消息,所述第二响应消息包括所述下载方式信息和所述第二索引文件,其中,所述下载方式信息是所述认证服务器根据所述多个分片的发布信息生成的;
所述播放器根据用户选择的码率以及所述第二索引文件确定所述URL,并将所述URL和所述下载方式信息发送给所述代理模块。
4.如权利要求3所述的方法,其特征在于,所述代理模块向所述流媒体服务器发送所述第一请求消息,包括:
所述代理模块向所述流媒体服务器发送包含所述下载方式信息的所述第一请求消息,所述下载方式信息用于所述流媒体服务器确定所述第一响应消息包括的下载方式信息。
5.如权利要求1~4任一项所述的方法,其特征在于,所述指定协议为点播下载协议和/或直播下载协议;所述指定下载模块为点播下载模块和/或直播下载模块。
6.一种分片下载方法,其特征在于,包括:
流媒体服务器接收客户端发送的第一请求消息,所述第一请求消息用于指示所述客户端请求获取第一索引文件,所述第一索引文件包括多个分片的存储地址;
所述流媒体服务器确定下载方式信息和所述第一索引文件,所述下载方式信息用于指示所述客户端采用所述下载方式信息指示的下载方式下载所述多个分片;
所述流媒体服务器向所述客户端发送第一响应消息,所述第一响应消息包括所述下载方式信息和所述第一索引文件。
7.如权利要求6所述的方法,其特征在于,流媒体服务器接收客户端发送的第一请求消息,具体包括:
所述流媒体服务器接收所述客户端发送的包含所述下载方式信息的第一请求消息;
所述流媒体服务器确定所述下载方式信息,具体包括:
所述流媒体服务器根据所述第一请求消息确定所述下载方式信息。
8.一种分片下载方法,其特征在于,包括:
认证服务器接收客户端发送的第二请求消息,所述第二请求消息用于指示请求获取第二索引文件,所述第二索引文件包括多个不同码率的所述多个分片对应的多个URL;
所述认证服务器通过查询播控平台获取所述多个分片的发布信息,并根据所述多个分片的发布信息生成所述下载方式信息和所述第二索引文件;
所述认证服务器向所述客户端发送第二响应消息,所述第二响应消息包括所述下载方式信息和所述第二索引文件。
9.一种客户端,其特征在于,包括:
代理模块,用于在接收到统一资源定位符URL后,确定基于指定协议下载多个分片,以及确定所述客户端包括的多个下载模块中与所述指定协议对应的指定下载模块;以及
向根据所述URL确定的流媒体服务器发送第一请求消息;所述第一请求消息用于指示请求获取第一索引文件,所述第一索引文件包括所述多个分片的存储地址;以及
接收所述流媒体服务器发送的第一响应消息,并将所述第一响应消息发送给所述指定下载模块;其中,所述第一响应消息包括下载方式信息和所述第一索引文件,所述下载方式信息用于指示采用所述下载方式信息指示的下载方式下载所述多个分片;
所述多个下载模块,所述多个下载模块中的所述指定下载模块用于接收所述代理模块发送的所述第一响应消息,解析获得所述第一响应消息包括的所述下载方式信息指示的下载方式,并根据所述第一响应消息包括的所述第一索引文件,采用所述下载方式信息指示的下载方式下载所述多个分片。
10.如权利要求9所述的客户端,其特征在于,所述指定下载模块在采用所述下载方式信息指示的下载方式下载所述多个分片时,具体用于:
判断所述下载方式信息指示的下载方式是否为自身使用的下载方式;
若是,则采用所述下载方式下载所述多个分片;若否,则将所述第一响应消息包括的第一索引文件发送给所述多个下载模块中使用所述下载方式的相应下载模块,并指示所述相应下载模块采用所述下载方式下载所述多个分片。
11.如权利要求9或10所述的客户端,其特征在于,还包括:
播放器,用于在所述代理模块确定基于指定协议下载多个分片之前,向认证服务器发送第二请求消息,所述第二请求消息用于指示请求获取第二索引文件,所述第二索引文件包括所述多个分片采用不同码率时对应的URL;以及
接收所述认证服务器发送的第二响应消息,所述第二响应消息包括所述下载方式信息和所述第二索引文件,其中,所述下载方式信息是所述认证服务器根据所述多个分片的发布信息生成的;以及
根据用户选择的码率以及所述第二索引文件确定所述URL,并将所述URL和所述下载方式信息发送给所述代理模块。
12.如权利要求11所述的客户端,其特征在于,所述代理模块在向所述流媒体服务器发送所述第一请求消息时,具体用于:
向所述流媒体服务器发送包含所述下载方式信息的所述第一请求消息,所述下载方式信息用于所述流媒体服务器确定所述第一响应消息包括的下载方式信息。
13.如权利要求9~12任一项所述的客户端,其特征在于,所述指定协议为点播下载协议和/或直播下载协议;所述指定下载模块为点播下载模块和/或直播下载模块。
14.一种流媒体服务器,其特征在于,包括:
接收模块,用于接收客户端发送的第一请求消息,所述第一请求消息用于指示所述客户端请求获取第一索引文件,所述第一索引文件包括多个分片的存储地址;
处理模块,用于确定下载方式信息和所述接收模块接收的所述第一请求消息请求获取的所述第一索引文件,所述下载方式信息用于指示采用所述下载方式信息指示的下载方式下载所述多个分片;
发送模块,用于向所述客户端发送第一响应消息,所述第一响应消息包括所述处理模块确定的所述下载方式信息和所述第一索引文件。
15.如权利要求14所述的流媒体服务器,其特征在于,所述接收模块在接收客户端发送的第一请求消息时,具体用于:
接收所述客户端发送的包含所述下载方式信息的第一请求消息;
所述处理模块在确定所述下载方式信息时,具体用于:
根据所述接收模块接收的所述第一请求消息确定所述下载方式信息。
16.一种认证服务器,其特征在于,包括:
接收模块,用于接收客户端发送的第二请求消息,所述第二请求消息用于指示请求获取第二索引文件,所述第二索引文件包括多个不同码率的所述多个分片对应的多个URL;
处理模块,用于通过查询播控平台获取所述多个分片的发布信息,并根据所述多个分片的发布信息生成所述下载方式信息和所述接收模块接收的所述第二请求消息请求获取的所述第二索引文件;
发送模块,用于向所述客户端发送第二响应消息,所述第二响应消息包括所述处理模块确定的所述下载方式信息和所述第二索引文件。
17.一种分片下载***,其特征在于,包括:如权利要求9~13任一项所述的客户端和如权利要求14或15所述的流媒体服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610800076.1A CN107800734A (zh) | 2016-08-31 | 2016-08-31 | 一种分片下载方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610800076.1A CN107800734A (zh) | 2016-08-31 | 2016-08-31 | 一种分片下载方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107800734A true CN107800734A (zh) | 2018-03-13 |
Family
ID=61529751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610800076.1A Pending CN107800734A (zh) | 2016-08-31 | 2016-08-31 | 一种分片下载方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107800734A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113564A (zh) * | 2019-03-25 | 2019-08-09 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网*** |
CN110138729A (zh) * | 2019-04-02 | 2019-08-16 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网*** |
CN110677714A (zh) * | 2019-09-12 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 一种视频数据下载方法、装置、电子设备及存储介质 |
CN110677443A (zh) * | 2018-07-02 | 2020-01-10 | 中兴通讯股份有限公司 | 数据发送和接收方法、发送端、接收端、***及存储介质 |
CN111182053A (zh) * | 2019-12-27 | 2020-05-19 | 北京明略软件***有限公司 | 一种下载文件的方法、装置、计算机存储介质及终端 |
CN111666745A (zh) * | 2020-06-03 | 2020-09-15 | 中国建设银行股份有限公司 | 一种文件下载方法、装置、服务器及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633109A (zh) * | 2005-01-20 | 2005-06-29 | 杨金钰 | 一种流媒体*** |
CN101030873A (zh) * | 2007-02-15 | 2007-09-05 | 深圳市迅雷网络技术有限公司 | 一种下载数据的方法及*** |
CN102088620A (zh) * | 2010-12-01 | 2011-06-08 | 中兴通讯股份有限公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
US20120222075A1 (en) * | 2009-11-09 | 2012-08-30 | Huawei Technologies Co., Ltd. | Method, terminal, and server for implementing fast playout |
CN104283955A (zh) * | 2014-09-30 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 一种浏览器、服务器、下载***及下载方法 |
US20150195327A1 (en) * | 2014-01-09 | 2015-07-09 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming dash content over broadcast channels |
-
2016
- 2016-08-31 CN CN201610800076.1A patent/CN107800734A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633109A (zh) * | 2005-01-20 | 2005-06-29 | 杨金钰 | 一种流媒体*** |
CN101030873A (zh) * | 2007-02-15 | 2007-09-05 | 深圳市迅雷网络技术有限公司 | 一种下载数据的方法及*** |
US20120222075A1 (en) * | 2009-11-09 | 2012-08-30 | Huawei Technologies Co., Ltd. | Method, terminal, and server for implementing fast playout |
CN102088620A (zh) * | 2010-12-01 | 2011-06-08 | 中兴通讯股份有限公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
US20150195327A1 (en) * | 2014-01-09 | 2015-07-09 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming dash content over broadcast channels |
CN104283955A (zh) * | 2014-09-30 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 一种浏览器、服务器、下载***及下载方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677443A (zh) * | 2018-07-02 | 2020-01-10 | 中兴通讯股份有限公司 | 数据发送和接收方法、发送端、接收端、***及存储介质 |
CN110113564A (zh) * | 2019-03-25 | 2019-08-09 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网*** |
CN110113564B (zh) * | 2019-03-25 | 2021-08-13 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网*** |
CN110138729A (zh) * | 2019-04-02 | 2019-08-16 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网*** |
CN110138729B (zh) * | 2019-04-02 | 2021-12-17 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网*** |
CN110677714A (zh) * | 2019-09-12 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 一种视频数据下载方法、装置、电子设备及存储介质 |
CN111182053A (zh) * | 2019-12-27 | 2020-05-19 | 北京明略软件***有限公司 | 一种下载文件的方法、装置、计算机存储介质及终端 |
CN111666745A (zh) * | 2020-06-03 | 2020-09-15 | 中国建设银行股份有限公司 | 一种文件下载方法、装置、服务器及介质 |
CN111666745B (zh) * | 2020-06-03 | 2023-07-25 | 中国建设银行股份有限公司 | 一种文件下载方法、装置、服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800734A (zh) | 一种分片下载方法、装置及*** | |
US10375533B1 (en) | Apparatus and method for sending video content to a mobile device | |
CN103248962B (zh) | 获取流媒体数据的方法、设备及*** | |
CN104243586B (zh) | 内容共享方法、内容共享装置,以及内容共享设备 | |
CN101714154B (zh) | 利用综合识别设备对服务器进行互动操作的方法 | |
CN100552678C (zh) | 用于传输内容的***和方法 | |
CN104219286B (zh) | 流媒体处理方法、装置、客户端、cdn节点服务器及终端 | |
CN108810052B (zh) | 直播服务器的选择方法及装置 | |
EP2493191B1 (en) | Method, device and system for realizing hierarchically requesting content in http streaming system | |
CN105915945A (zh) | 用于cdn平台的内容分发方法及调度代理服务器 | |
CN108668145B (zh) | 一种内容分发方法及装置 | |
CN103269331A (zh) | 选择可播放码率内容的方法和装置 | |
CN105791093B (zh) | 虚拟物品赠送方法及装置 | |
KR20100048858A (ko) | 무선 모바일 네트워크에서 p2p 애플리케이션을 인에이블링하기 위한 시스템 및 방법 | |
CN104967646B (zh) | 文件下载方法及装置 | |
CN107635014A (zh) | 一种文件传输及呈现方法、服务器和移动终端 | |
KR100823730B1 (ko) | 피투피 기반의 스트리밍 서비스 제공 방법 및 장치, 이를이용한 스트리밍 서비스 시스템 | |
CN106488334A (zh) | 一种视频直播互动方法及*** | |
CN105979277A (zh) | 一种文件传输方法及电子设备 | |
CN101500016A (zh) | 业务控制方法及***、设备 | |
CN102291412B (zh) | 一种基于http的多媒体业务实现方法、***及装置 | |
EP2807829A1 (en) | Method and iptv server for enabling playout of one or more media objects | |
CN104683833B (zh) | 自适应媒体服务的方法及装置 | |
CN106254548A (zh) | 一种下载流媒体数据的方法及装置 | |
CN102740240B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180313 |