文件回源方法和装置的制造方法

文档序号:10515712阅读:395来源:国知局
文件回源方法和装置的制造方法
【专利摘要】本发明公开了一种文件回源方法,该方法包括:边缘服务器接收终端设备发送的多个下载请求,并将多个下载请求合并为一个逻辑请求发送至源服务器;源服务器对接收的逻辑请求进行拆分,生成多个物理连接;针对每个物理连接开启相对应的线程执行下载操作;将下载后的文件数据通过边缘服务器发送至终端设备。上述文件回源方法将对所要访问下载的文件的多个请求转化为一个逻辑请求到源,可以有效减少了回源连接操作,降低了宽带的占用率。本公开还公开了一种文件回源系统。
【专利说明】
文件回源方法和装置
技术领域
[0001]本公开涉及数据传输技术领域,特别是涉及一种文件回源方法和装置。
【背景技术】
[0002]当前,现有技术对文件回源主要采用两种方案:一种方案是基于传统RTMP(RealTime Messaging Protocol,实时消息传输协议)的流媒体传输协议,一种是基于HLS(HTTPLive Streaming,Apple的动态码率自适应技术)的文件传输方案。其中,一方面,基于传统RTMP的流媒体传输方案,优点是服务器端在回源的时候可以支持回源合并功能,缺点是流媒体协议并不支持直播回看功能,在功能上没有基于HLS的网络传输协议强大,另一方面RTMP协议在客户端方面支持没有HTTP协议广泛,RTMP需要定制开发客户端;另一方面,HLS协议的基于文件传输方案,优点是将流媒体文件转化成大量小文件,无论客户端还是服务器端都有成熟的解决方案,缺点是由于文件的传输,各个请求之间时独立传输,当大量文件同时访问同一个文件时,如果服务器上没有存储文件,则同时回源请求文件,一方面多个请求都回源获取同一份数据,浪费了宽带,如果源的宽带有限,则多个请求回源,降低了源的处理能力,使得回源请求返回的数据更慢,从而缓存能力下降,后续的请求继续回源,这个正反馈过程会导致雪崩效应的出现。

【发明内容】

[0003]基于此,有必要提供一种提高宽带利用率的文件回源方法和系统。
[0004]—种文件回源方法,该方法包括:
[0005]边缘服务器接收终端设备发送的多个下载请求,并将所述多个下载请求合并为一个逻辑请求发送至源服务器;
[0006]所述源服务器对接收的所述逻辑请求进行拆分,生成多个物理连接;
[0007]针对每个所述物理连接开启相对应的线程执行下载操作;
[0008]将下载后的文件数据通过所述边缘服务器发送至所述终端设备。
[0009]在其中一个实施例中,其中,所述边缘服务器接收终端设备发送的多个下载请求之后包括:
[0010]判断文件是否存在本地磁盘上;
[0011]若所述文件存在所述本地磁盘,则从所述本地磁盘进行所述文件数据的发送操作;若所述文件不在所述本地磁盘,则继续判断所述文件是否为首次访问。
[0012]在其中一个实施例中,其中,所述判断所述文件是否为首次访问之后包括:
[0013]若所述文件不为首次访问,则等待所述文件数据并进行发送操作;
[0014]若所述文件为首次访问,则对所述文件进行拆分操作。
[0015]在其中一个实施例中,其中,所述源服务器对接收的所述逻辑请求进行拆分,生成多个物理连接之后包括:
[0016]对每个所述物理连接建立相对应的数据结构,其中,所述数据结构包括以下至少一种位置信息:所要下载文件的开始位置、结束位置以及当前获取到的数据位置。
[0017]在其中一个实施例中,其中,各个所述下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,所述下载请求所请求下载的数据均来自同一个目标文件。
[0018]一种文件回源系统,包括:终端设备、边缘服务器和源服务器;
[0019]所述边缘服务器,用于接收所述终端设备发送的多个下载请求,并将所述多个下载请求合并为一个逻辑请求发送至所述源服务器;
[0020]所述源服务器,用于对接收的所述逻辑请求进行拆分,生成多个物理连接,并针对每个所述物理连接开启相对应的线程执行下载操作;
[0021]所述终端设备,用于接收通过所述边缘服务器传输的下载后的文件数据。
[0022]在其中一个实施例中,其中,所述边缘服务器还用于判断文件是否存在本地磁盘上;
[0023]若所述文件存在所述本地磁盘,则从所述本地磁盘进行所述文件数据的发送操作;若所述文件不在所述本地磁盘,则继续判断所述文件是否为首次访问。
[0024]在其中一个实施例中,其中,所述边缘服务器还用于判断若所述文件不为首次访问,则等待所述文件数据并进行发送操作;
[0025]若所述文件为首次访问,则对所述文件进行拆分操作。
[0026]在其中一个实施例中,其中,所述源服务器还用于对每个所述物理连接建立相对应的数据结构,其中,所述数据结构包括以下至少一种位置信息:所要下载文件的开始位置、结束位置以及当前获取到的数据位置。
[0027]在其中一个实施例中,其中,各个所述下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,所述下载请求所请求下载的数据均来自同一个目标文件。
[0028]上述文件回源方法和系统,通过边缘服务器接收终端设备发送的多个下载请求,并将多个下载请求合并为一个逻辑请求发送至源服务器;源服务器对接收的逻辑请求进行拆分,生成多个物理连接;针对每个物理连接开启相对应的线程执行下载操作;上述文件回源方法将对所要访问下载的文件的多个请求转化为一个逻辑请求到源,可以有效减少了回源连接操作,降低了宽带的占用率。
【附图说明】
[0029]图1是一个实施例中文件回源方法的流程示意图;
[0030]图2是另一个实施例中文件回源方法的流程示意图;
[0031]图3是一个实施例中文件回源系统的结构示意图。
【具体实施方式】
[0032]为使本公开的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本公开进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0033]参见图1,一个实施例中,提供了一种文件回源方法,该方法包括以下步骤:
[0034]步骤102,边缘服务器接收终端设备发送的多个下载请求。
[0035]本实施例中,各个下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,下载请求所请求下载的数据均来自同一个目标文件。
[0036]步骤104,源服务器对接收的逻辑请求进行拆分,生成多个物理连接。
[0037]本实施例中,对每个物理连接建立相对应的数据结构,其中,数据结构包括以下至少一种位置信息:所要下载文件的开始位置、结束位置以及当前获取到的数据位置。
[0038]步骤106,针对每个物理连接开启相对应的线程执行下载操作。
[0039]本实施例中,每个启动的线程循环下载文件数据并维护上述预先建立的数据结构,同时维护线程状态信息以及针对每个物理连接的连接状态信息。
[0040]步骤108,将下载后的文件数据通过边缘服务器发送至终端设备。
[0041]本实施例中,每个线程将下载得到的文件数据发送给各个等待的物理连接,各个等待的连接则可以将文件数据发送给各个终端设备。
[0042]上述文件回源方法,通过边缘服务器接收终端设备发送的多个下载请求,并将多个下载请求合并为一个逻辑请求发送至源服务器;源服务器对接收的逻辑请求进行拆分,生成多个物理连接;针对每个物理连接开启相对应的线程执行下载操作;上述文件回源方法将对所要访问下载的文件的多个请求转化为一个逻辑请求到源,可以有效减少了回源连接操作,降低了宽带的占用率。
[0043]在一个实施例中,边缘服务器接收终端设备发送的多个下载请求之后包括:判断文件是否存在本地磁盘上;若文件存在本地磁盘,则从本地磁盘进行文件数据的发送操作;若文件不在本地磁盘,则继续判断文件是否为首次访问。
[0044]在一个实施例中,判断文件是否为首次访问之后包括:若文件不为首次访问,则等待文件数据并进行发送操作;若文件为首次访问,则对文件进行拆分操作。
[0045]如图2所示,在一个实施例中,提供了一种文件回源方法,该方法包括以下步骤:
[0046]步骤202,边缘服务器接收终端设备发送的与文件相关联的多个下载请求,判断文件是否存在本地磁盘上。
[0047]本实施例中,各个下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,下载请求所请求下载的数据均来自同一个目标文件。具体的,边缘服务器接收终端设备发送的多个下载请求之后包括:判断文件是否存在本地磁盘上;若文件存在本地磁盘,则从本地磁盘进行文件数据的发送操作;若文件不在本地磁盘,则继续判断文件是否为首次访问。
[0048]步骤204,若文件存在本地磁盘,则从本地磁盘进行文件数据的发送操作,若文件不存在本地磁盘,则继续判断文件是否为首次访问。
[0049]本实施例中,判断文件是否为首次访问之后包括:若文件不为首次访问,则等待文件数据并进行发送操作;若文件为首次访问,则对文件进行拆分操作。
[0050]步骤206,对文件进行拆分操作,生成与文件相关联的多个物理连接,并针对每个物理连接开启相对应的线程执行下载操作。
[0051]本实施例中,每个启动的线程循环下载文件数据并维护上述预先建立的数据结构,同时维护线程状态信息以及针对每个物理连接的连接状态信息。
[0052]步骤208,将下载后的文件数据通过边缘服务器发送至终端设备。
[0053]本实施例中,每个线程将下载得到的文件数据发送给各个等待的物理连接,各个等待的连接则可以将文件数据发送给各个终端设备。
[0054]上述实施例,通过将接收到的多个请求转化为一个逻辑请求到源,再将上述的这一个逻辑请求拆分成多个物理连接,最终通过启动线程,通过每一个线程处理一个物理连接,维护状态信息,包括数据重试,完整性校验等工作。由此,使得该文件回源方法在基于HLS协议,吸取了RTMP回源请求合并的功能,软件改造代价小,通用性好;与此同时,与RTMP回源请求合并相比,多了多个物理连接,加快了数据的快速传输,提高了系统响应能力,且进一步的,节省了网络传输宽带,减少了系统内存的使用,降低了负载,提高了整机的系统处理能力。
[0055]基于同一发明构思,在一个实施例中,还提出一种文件回源系统。如图3,该文件回源系统10包括终端设备200、边缘服务器400和源服务器600。
[0056]其中,边缘服务器400用于接收终端设备200发送的多个下载请求,并将多个下载请求合并为一个逻辑请求发送至源服务器600;源服务器600用于对接收的逻辑请求进行拆分,生成多个物理连接,并针对每个物理连接开启相对应的线程执行下载操作;终端设备200用于接收通过边缘服务器400传输的下载后的文件数据。
[0057]本实施例中,各个下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,下载请求所请求下载的数据均来自同一个目标文件。具体的,接收终端设备发送的与文件相关联的多个下载请求之后包括:判断文件是否存在本地磁盘上;若文件存在本地磁盘,则从本地磁盘进行文件数据的发送操作;若文件不在本地磁盘,则继续判断文件是否为首次访问。
[0058]此外,在一个实施例中,边缘服务器400还用于判断文件是否存在本地磁盘上;若文件存在本地磁盘,则从本地磁盘进行文件数据的发送操作;若文件不在本地磁盘,则继续判断文件是否为首次访问。
[0059]进一步的,在一个实施例中,边缘服务器400还用于判断若文件不为首次访问,则等待文件数据并进行发送操作;若文件为首次访问,则对文件进行拆分操作。
[0060]另外,在一个实施例中,源服务器600还用于对每个物理连接建立相对应的数据结构,其中,数据结构包括以下至少一种位置信息:所要下载文件的开始位置、结束位置以及当前获取到的数据位置。
[0061]上述文件回源系统,边缘服务器400接收终端设备200发送的多个下载请求,并将多个下载请求合并为一个逻辑请求发送至源服务器600;源服务器600对接收的逻辑请求进行拆分,生成多个物理连接,并针对每个物理连接开启相对应的线程执行下载操作;终端设备200接收通过边缘服务器400传输的下载后的文件数据。上述文件回源系统将对所要访问下载的文件的多个请求转化为一个逻辑请求到源,可以有效减少了回源连接操作,降低了宽带的占用率。
[0062]应当理解的是,本公开的上述【具体实施方式】仅仅用于示例性说明或解释本公开的原理,而不构成对本公开的限制。因此,在不偏离本公开的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。此外,本公开所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修ο Γ? /I VH
【主权项】
1.一种文件回源方法,该方法包括: 边缘服务器接收终端设备发送的多个下载请求,并将所述多个下载请求合并为一个逻辑请求发送至源服务器; 所述源服务器对接收的所述逻辑请求进行拆分,生成多个物理连接; 针对每个所述物理连接开启相对应的线程执行下载操作; 将下载后的文件数据通过所述边缘服务器发送至所述终端设备。2.根据权利要求1所述的方法,其中,所述边缘服务器接收终端设备发送的多个下载请求之后包括: 判断文件是否存在本地磁盘上; 若所述文件存在所述本地磁盘,则从所述本地磁盘进行所述文件数据的发送操作;若所述文件不在所述本地磁盘,则继续判断所述文件是否为首次访问。3.根据权利要求2所述的方法,其中,所述判断所述文件是否为首次访问之后包括: 若所述文件不为首次访问,则等待所述文件数据并进行发送操作; 若所述文件为首次访问,则对所述文件进行拆分操作。4.根据权利要求1所述的方法,其中,所述源服务器对接收的所述逻辑请求进行拆分,生成多个物理连接之后包括: 对每个所述物理连接建立相对应的数据结构,其中,所述数据结构包括以下至少一种位置信息:所要下载文件的开始位置、结束位置以及当前获取到的数据位置。5.根据权利要求1所述的方法,其中,各个所述下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,所述下载请求所请求下载的数据均来自同一个目标文件。6.—种文件回源系统,包括:终端设备、边缘服务器和源服务器; 所述边缘服务器,用于接收所述终端设备发送的多个下载请求,并将所述多个下载请求合并为一个逻辑请求发送至所述源服务器; 所述源服务器,用于对接收的所述逻辑请求进行拆分,生成多个物理连接,并针对每个所述物理连接开启相对应的线程执行下载操作; 所述终端设备,用于接收通过所述边缘服务器传输的下载后的文件数据。7.根据权利要求6所述的系统,其中,所述边缘服务器还用于判断文件是否存在本地磁盘上; 若所述文件存在所述本地磁盘,则从所述本地磁盘进行所述文件数据的发送操作;若所述文件不在所述本地磁盘,则继续判断所述文件是否为首次访问。8.根据权利要求7所述的系统,其中,所述边缘服务器还用于判断若所述文件不为首次访问,则等待所述文件数据并进行发送操作; 若所述文件为首次访问,则对所述文件进行拆分操作。9.根据权利要求6所述的系统,其中,所述源服务器还用于对每个所述物理连接建立相对应的数据结构,其中,所述数据结构包括以下至少一种位置信息:所要下载文件的开始位置、结束位置以及当前获取到的数据位置。10.根据权利要求6所述的系统,其中,各个所述下载请求中均包含有所请求下载的数据所属的目标文件的文件标识和所请求的数据区间,所述下载请求所请求下载的数据均来自同一个目标文件。
【文档编号】H04L29/08GK105872066SQ201610267013
【公开日】2016年8月17日
【申请日】2016年4月26日
【发明人】李洪福
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1