[发明专利]一种文件分发方法、系统、服务器及客户端有效
申请号: | 201711450400.2 | 申请日: | 2017-12-27 |
公开(公告)号: | CN108156246B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 张顺;唐杰;张中良;朱岩;高雪挺;梁鑫;宋健;王佳 | 申请(专利权)人: | 北京微网通联股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 100193 北京市海淀区西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 分发 方法 系统 服务器 客户端 | ||
本申请提供了一种文件分发方法、系统、服务器和客户端。所述方法包括:服务器接收客户端发送的文件下载请求,根据请求中的文件信息查找是否存在相映射的历史Docker镜像;若存在,将历史Docker镜像的ID发送给客户端;否则基于文件信息创建新Docker镜像,将新Docker镜像的ID发送给客户端;客户端接收服务器发送的Docker镜像ID;根据Docker镜像ID查找是否存在对应的历史Docker镜像;若存在,提取历史Docker镜像的文件;否则从服务器下载与Docker镜像ID对应的Docker镜像,提取该Docker镜像的文件。所述方法避免了文件重复下载,能够节省系统资源,提高下载速度。
技术领域
本申请涉及网络技术领域,主要涉及一种文件分发方法、系统、服务器及客户端,尤其涉及一种基于Docker的文件分发方法、系统、服务器及客户端。
背景技术
文件分发例如文件下载和应用程序更新等,是由客户端向服务器发送文件下载请求,服务器接收到文件下载请求后,根据该请求找到对应的文件,将文件返回给客户端。
现有技术中,服务器对于客户端的每一次文件下载请求,都视为一次全新的文件下载请求,将请求的文件全部重新进行下载处理,然后发送给客户端。但实际上,客户端所请求的文件中,可能包括客户端已经下载过的,若服务器仍然将请求的全部文件发送给客户端,便会出现文件重复下载的问题。
例如客户端对一个应用程序进行更新,从服务器下载最新版本的应用程序更新包,该应用程序更新包包含100个文件,其中80个文件在前一个版本的应用程序更新包中已经存在,并已由客户端下载,这种情况下,客户端发起更新请求后,若服务器仍然将最新更新包中的100个文件都发送给客户端,客户端接收全部100文件,其中便有80个文件是重复下载的,这不仅浪费文件下载资源,还会导致文件下载效率低。
发明内容
本申请提供了一种文件分发方法、系统、服务器和客户端,以解决文件重复下载的问题。
第一方面,本申请提供一种文件分发方法,所述方法包括:服务器接收客户端发送的文件下载请求,获取所述请求中携带的文件信息;根据所述文件信息查找是否存在与所述文件信息相映射的历史Docker镜像;若存在与所述文件信息相映射的历史Docker镜像,将所述历史Docker镜像的ID发送给所述客户端;否则,基于所述文件信息创建新Docker镜像并保存所述新Docker镜像,将所述新Docker镜像的ID发送给所述客户端;所述客户端接收所述服务器发送的所述历史Docker镜像的ID或所述新Docker镜像的ID;根据所接收到的Docker镜像ID查找是否存在与所述Docker镜像ID对应的历史Docker镜像,所述Docker镜像ID为所述历史Docker镜像的ID或所述新Docker镜像的ID;若存在与所述Docker镜像ID对应的历史Docker镜像,所述客户端提取所述历史Docker镜像中的文件;否则,所述客户端从所述服务器下载与所述Docker镜像ID对应的Docker镜像,提取与所述Docker镜像ID对应的Docker镜像中的文件。
所述文件分发方法基于Docker,将文件以Docker镜像的形式保存于Docker镜像服务器中,客户端向服务器请求下载文件时,服务器不直接向客户端返回文件,而是根据请求的文件的信息在Docker镜像服务器查找到对应的已存在的历史Docker镜像,或创建新Docker镜像,将历史Docker镜像或新Docker镜像的ID返回给客户端。客户端接收到服务器方返回的Docker镜像ID后,由客户端中的Docker客户端查找Docker镜像ID对应的Docker镜像是否已存在,若存在,则不必从Docker服务下载Docker镜像,若不存在,但该Docker镜像的父镜像已存在,在不需重复下载该父镜像,只需下载该Dcoker镜像即可,实际上下载的主要是该Docker镜像的增量镜像部分。所述方法通过Docker镜像或其父镜像的复用,避免了Docker镜像的重复下载,从而也避免了文件的重复下载,因此能够节省系统资源,提高文件下载速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京微网通联股份有限公司,未经北京微网通联股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711450400.2/2.html,转载请声明来源钻瓜专利网。