文件分发方法及装置与流程

文档序号:14098658阅读:265来源:国知局

本发明涉及内容分发网络技术领域,特别是涉及一种文件分发方法及装置。



背景技术:

内容分发网络(contentdeliverynetwork,cdn),通过在网络各处放置缓存服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,以缓解网络拥挤的状况,提高网站的响应速度,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,导致用户访问网站的响应速度慢的问题。

现有技术中,源站中存储的文件按照负载均衡策略分发至对应的边缘集群中的边缘节点服务器中进行存储,当接收到客户端发送的访问请求时,负载均衡器将存储对应的文件的边缘节点的信息发送至客户端,以使得客户端系那个存储对应文件的边缘节点服务器发送对应的数据访问请求,以获取边缘节点服务器中存储的文件。

但是,现有的cdn中的文件分发方法,会导致边缘节点服务器的负载较大,影响了系统的性能。



技术实现要素:

本发明实施例解决的问题是如何在文件分发时,降低边缘节点服务器的负载。

为解决上述问题,本发明实施例提供了一种文件分发方法,所述方法包括:判断待分发文件的数据量是否大于预设的阈值;当确定待分发文件的数据量大于所述阈值时,对所述待分发的文件进行切片,得到对应的多个切片文件;将所得到的多个切片文件分别发送至对应的边缘节点服务器进行存储。

可选地,所述将所得到的多个切片文件分别发送至对应的边缘节点服务器进行存储,包括:为所述多个切片文件生成对应的文件分发任务并存储在预设的任务数据库;当从所述任务数据库中获取到对应的文件分发任务时,向负载均衡器发送对应的文件分发请求,以使得所述负载均衡器返回对应的url的信息;接收所述负载均衡器返回的url的信息,并将所述切片文件发送至所述url对应的边缘节点服务器中进行存储。

可选地,所述文件分发请求为http请求。

可选地,所述阈值为50m。

本发明实施例还提供了一种文件分发装置,所述装置包括:判断单元,适于判断待分发文件的数据量是否大于预设的阈值;文件切分单元,适于当确定待分发文件的数据量大于所述阈值时,对所述待分发的文件进行切片,得到对应的多个切片文件;分发单元,适于将所得到的多个切片文件分别发送至对应的边缘节点服务器进行存储。

可选地,所述分发单元,适于为所述多个切片文件生成对应的文件分发任务并存储在预设的任务数据库;当从所述任务数据库中获取到对应的文件分发任务时,向负载均衡器发送对应的文件分发请求,以使得所述负载均衡器返回对应的url的信息;接收所述负载均衡器返回的url的信息,并将所述切片文件发送至所述url对应的边缘节点服务器中进行存储。

可选地,所述文件分发请求为http请求。

可选地,所述阈值为50m。

与现有技术相比,本发明的技术方案具有以下的优点:

上述的方案,通过将数据量较大的文件切分成对应的多个数据量较小的文件,可以在进行文件分发时,避免所分发的文件占用边缘节点服务器中大量的出口带宽,从而可以降低边缘节点服务器的负载。

附图说明

图1是本发明实施例中的一种文件分发方法的流程图;

图2是本发明实施例中的另一种文件分发方法的流程图;

图3是本发明实施例中的文件分发装置的结构示意图。

具体实施方式

为解决现有技术中存在的上述问题,本发明实施例采用的技术方案通过将数据量较大的文件切分成对应的多个数据量较小的文件,可以在进行文件分发时,避免所分发的文件占用边缘节点服务器中大量的出口带宽,从而可以降低边缘节点服务器的负载。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1示出了本发明实施例中的一种文件分发方法的流程。参见图1,本发明实施例中的文件分发方法,可以包括如下的步骤:

步骤s101:判断待分发文件的数据量是否大于预设的阈值;当判断结果为是时,可以执行步骤s102;反之,则可以直接执行步骤s104。

在具体实施中,预设的阈值可以根据实际的需要进行设置,具体可以考虑边缘节点服务器的带宽和负载,用户的实际需求等。在本发明一实施例中,设置所述阈值为50m。

步骤s102:对所述待分发的文件进行切片,得到对应的多个切片文件。

在具体实施中,所得到对应的多个切片文件的数量,与待分发文件的大小和预设的阈值相关。

步骤s103:将所得到的多个切片文件分别发送至对应的边缘节点服务器进行存储。

在具体实施中,源站服务器通过负载均衡器将所得到的对应的多个切片文件发送至对应的边缘节点服务器中进行存储,具体请参见图2。

步骤s104:将所述待分发文件发送至对应的边缘节点服务器进行存储。

在具体实施中,当待分发文件的数据量小于预设的阈值时,在将待分发文件发送至对应的边缘节点服务器时,不会长时间占用边缘节点服务器的出口带宽,因而不经过切片处理便可以发送至对应的边缘节点服务器。

上述的方案,通过将数据量较大的文件切分成对应的多个数据量较小的文件,可以在进行文件分发时,避免所分发的文件占用边缘节点服务器中较大的出口带宽,降低边缘节点服务器的负载。

下面通过一个具体的应用场景对本发明实施例中的文件分发方法进行详细的介绍。

图2示出了本发明实施例中的一种文件分发方法的流程。参见图2,本发明实施例中的文件分发方法,适于源站服务器向边缘节点服务器分发文件,具体可以包括如下的步骤:

步骤s201:判断待分发文件的数据量是否大于预设的阈值;当判断结果为是时,可以执行步骤s202;反之,则可以直接执行步骤s204。

在具体实施中,源站服务器在进行文件分发时,可以首先获取对应的待分发文件,并判断待分发文件的数量是否大于预设的阈值。

步骤s202:对所述待分发的文件进行切片,得到对应的多个切片文件。

在具体实施中,源站服务器在对数据容量大于预设的阈值的文件进行切片时,以预设的阈值对应的数据量为单位,对待分发的文件进行切片。

例如,当预设的阈值为50m,待分发的文件a.mp4的数据量为120m时,源站服务器以50m为一个切片文件,将待分发的文件a.mp4进行切分得到对应的三个切片文件依次a.1.mp4、a.2.mp4和a.3.mp4,数据量分别为50m、50m和20m。

再如,当预设的阈值为60m,待分发的文件a.mp4的数据量为250m时,源站服务器以60m为一个切片文件,将待分发的文件a.mp4进行切分得到对应的五个切片文件依次a.1.mp4、a.2.mp4、a.3.mp4、a.4.mp4和a.5.mp4,数据量分别为60m、60m、60m、60m和10m。

步骤s203:为所述多个切片文件生成对应的文件分发任务并存储在预设的任务数据库。

在具体实施中,当通过切分得到对应的多个切片文件时,源站服务器为所得到的多个切片文件生成对应的文件分发任务,并发送至预设的任务数据库中进行存储。

同样使用上面的例子,当待分发的文件a.mp4的数据量为120m时,源站服务器以预设的阈值50m大小为一个切片文件,将待分发的文件a.mp4进行切分得到对应的三个切片文件依次a.1.mp4、a.2.mp4和a.3.mp4,并分别在数据库中为a.1.mp4、a.2.mp4和a.3.mp4分别生成对应的文件分发任务并存储在预设的任务数据库中,以在后续进行文件分发时,源站服务器通过从任务数据库中获取的对应的文件分发任务并处理,以将a.1.mp4、a.2.mp4和a.3.mp4分别分发至对应的边缘节点服务器中进行存储。

步骤s204:当从所述任务数据库中获取到对应的文件分发任务时,向负载均衡器发送对应的文件分发请求,以使得所述负载均衡器返回对应的url的信息。

在具体实施中,当进行文件分发时,源站服务器从数据库中获取对应的文件分发任务并存储在内存中,按照顺序获取内存中未处理的文件分发任务进行处理。

其中,在处理文件分发任务时,源站服务器可以首先向负载均衡器发送对应的文件分发请求,即超文本传输协议(hypertexttransferprotocol,http)请求。负载均衡器在接收到源站服务器发送的http请求时,可以向源站服务器返回一个以ip开头的统一资源定位符(uniformresourcelocator,url),以使得源站服务器可以在接收到负载均衡器返回的url时,根据负载均衡器返回的url确定对应的边缘节点服务器的ip地址,以及对应存储路径的信息,并进而将对应的文件发送至对应的边缘节点服务器中进行存储。

步骤s205:接收所述负载均衡器返回的url的信息,并将所述切片文件发送至所述url对应的边缘节点服务器中进行存储。

在具体实施中,源站服务器在接收到负载均衡器返回的url时,可以根据负载均衡器返回的url确定对应的边缘节点服务器的ip地址,以及对应存储路径的信息,接着,源站将对应的文件发送至对应的边缘节点服务器中对应的存储位置处进行存储。

当用户通过客户端访问相应的文件时,可以通过客户端发送对应的资源访问请求时,客户端发送的资源访问请求首先发送至负载均衡器。负载均衡器在接收到客户发送的资源访问请求时,可以确定对应的文件所在的边缘节点服务器的信息。具体地,负载均衡器可以首先根据对应的url进行哈希运算,计算得到对应的边缘节点服务器的信息,并将计算得到的对应的边缘节点服务器的信息返回给客户端。客户端在接收到负载均衡器发送的边缘节点服务器的信息时,可以向对应的资源访问请求发送至对应的边缘节点服务器发送。对应的边缘节点服务器在接收到客户端发送的资源访问请求时,基于所述资源文件访问请求确定对应的文件的存储路径的信息,并从所确定的存储路径中获取对应的文件并返回给客户端,从而使得用户获取对应的文件。

上述对本发明实施例中的文件分发方法进行了详细的介绍,下面将对对应的装置进行描述。

图3示出了本发明实施例中的一种文件分发装置的结构。参见图3,本发明实施例中的文件分发装置300,适于源站服务器向边缘节点服务器分发文件,具体可以包括判断单元301、文件切分单元302和分发单元303,其中:

所述判断单元301,适于判断待分发文件的数据量是否大于预设的阈值。其中,所述预设的阈值可以根据实际的需要进行设置,例如可以根据边缘节点服务器的带宽、负载等因素进行确定。在本发明一实施例中,将预设的阈值设置为50m。

所述文件切分单元302,适于当确定待分发文件的数据量大于所述阈值时,对所述待分发的文件进行切片,得到对应的多个切片文件。其中,所得到的切片文件的数量,与所述预设的阈值和待分发文件的数据量相关联。

所述分发单元303,适于将所得到的多个切片文件分别发送至对应的边缘节点服务器进行存储。

在具体实施中,所述分发单元303,适于为所述多个切片文件生成对应的文件分发任务并存储在预设的任务数据库;当从所述任务数据库中获取到对应的文件分发任务时,向负载均衡器发送对应的文件分发请求,以使得所述负载均衡器返回对应的url的信息;接收所述负载均衡器返回的url的信息,并将所述切片文件发送至所述url对应的边缘节点服务器中进行存储。

在具体实施中,所述文件分发请求可以为http请求。

采用本发明实施例中的上述方案,通过将数据量较大的文件切分成对应的多个数据量较小的文件,可以在进行文件分发时,避免所分发的文件占用边缘节点服务器中较大的出口带宽,降低边缘节点服务器的负载。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1