发明名称 |
支持大并发量文件下载的方法、装置及系统 |
摘要 |
本发明公开了一种支持大并发量文件下载的方法、装置及系统,涉及计算机通信领域,降低大并发量下载对服务器造成的下载压力。一种支持大并发量文件下载的方法,包括:下载控制服务器接收客户端的下载服务器查询请求消息;根据所述下载服务器查询请求消息,并依据缓存文件分布和下载服务器的负载情况,获取一个下载服务器;将所述获取的一个下载服务器的地址发送给所述客户端,指示客户端从所述地址对应的下载服务器中下载文件。本发明实施例用于提供文件下载的计算机网络,缓解了大并发量文件下载时服务器的处理瓶颈问题。 |
申请公布号 |
CN102164160B |
申请公布日期 |
2015.06.17 |
申请号 |
CN201010624817.8 |
申请日期 |
2010.12.31 |
申请人 |
青岛海信传媒网络技术有限公司 |
发明人 |
徐延霞;张帅;谭巍;马宇坚;汤立辉 |
分类号 |
H04L29/08(2006.01)I;H04L29/06(2006.01)I |
主分类号 |
H04L29/08(2006.01)I |
代理机构 |
北京中博世达专利商标代理有限公司 11274 |
代理人 |
申健 |
主权项 |
一种支持大并发量文件下载的方法,其特征在于,下载控制服务器中维护了一个下载服务器列表,一个已缓存文件列表,一个未缓存文件列表;所述下载服务器列表中的信息包括:所有下载服务器的地址及连接状态,每台下载服务器的当前连接数、可用内存、时间记录;所述已缓存文件列表中的信息包括:已存储到某下载服务器的内存中并可进行缓存下载的文件的标识及文件大小,每个文件的被请求次数、最后一次请求时间及缓存文件的下载服务器地址;所述未缓存文件列表中的信息包括:未存储到下载服务器的内存中并可进行普通下载的文件的标识及文件大小,每个文件的被请求次数、最后一次请求时间,所述方法包括:所述下载控制服务器接收客户端的下载服务器查询请求消息;根据所述下载服务器查询请求消息,查询文件服务器中是否存在所述请求文件;记录所述请求文件的大小;若存在所述请求文件,则查询所述请求文件是否已在下载服务器的缓存中;A:若所述请求文件已在下载服务器的缓存中,则从所述缓存有请求文件的下载服务器中选取一个客户端连接数小于既定最大连接数且客户端数量最少的下载服务器;B:若所述请求文件不在下载服务器的缓存中,或是缓存有请求文件的下载服务器中的客户端连接数均大于等于既定最大连接数,则从下载控制服务器的下载服务器列表中选择处于在线状态并且客户端连接数小于既定最大连接数的下载服务器的集合,并在所述下载服务器的集合中,选择可用内存容量大于请求文件大小的一组下载服务器,然后在所述选择出的一组下载服务器中,选择出连接数最少的一个下载服务器,最后将所述选择出的一个下载服务器的下载方式设置为缓存下载,并将所述下载方式设置为缓存下载的文件的标识和文件大小以及选择出的连接数最少的下载服务器的地址发送给已缓存文件列表;将根据A或B获取的一个下载服务器的地址发送给所述客户端,指示客户端从所述地址对应的下载服务器中下载文件;在将所述下载方式设置为缓存下载的文件的标识和文件大小以及选择出的连接数最少的下载服务器的地址发送给已缓存文件列表后,所述方法还包括:根据所述文件的标识和所述下载服务器的地址在已缓存文件列表中查找是否存在所述文件的记录;如果查找到所述文件的记录,将所述文件的被请求次数加1,将最后一次请求时间更新为当前时间;如果未查找到所述文件的记录,则向所述下载服务器的地址发送带有所述文件的标识和文件大小的增加缓存文件消息;发送所述增加缓存文件消息后,在已缓存文件列表中添加所述文件的记录,包括记录文件大小、记录所述下载服务器的地址、将所述文件的被请求次数设为1、将最后一次请求时间更新为当前时间。 |
地址 |
266071 山东省青岛市崂山区香港东路248号131室 |