[发明专利]一种获取文件的方法和装置有效
申请号: | 201110367696.8 | 申请日: | 2011-11-18 |
公开(公告)号: | CN103124275A | 公开(公告)日: | 2013-05-29 |
发明(设计)人: | 唐琨 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 黄厚刚 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 文件 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种获取文件的方法和装置。
背景技术
随着客户端浏览器技术的不断发展,用户通过浏览器进行文件下载已经成为浏览器主体功能中不可缺少的一部分。
现有技术中,客户端浏览器对于所有的下载任务,首先是跟源服务器建立Socket(套接字)连接,连接建立成功后向源服务器发送获取文件的请求,待源服务器接受请求后,会预先将该文件读取到缓存以便传输给客户端,在这个过程中可以根据源服务器的设置,读取整个文件或按照预设大小分段多次读取该文件,直至读取完毕。读取后再将每次读取到的内容传输给客户端,这样就完成了一次下载的任务。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
Socket通信在通信链路中没有任何响应的情况下,不会一直保持连接的。因此当下载的文件比较大,且服务器设置的读取文件至缓存的每一个分段较大或者读取整个文件时,客户端与服务器建立的Socket连接有可能因为服务器读取文件的时间过长,双方没有数据的传输而导致该数据链路被断开,造成文件下载不成功,影响用户的使用。
发明内容
为了解决终端下载文件时,由于服务器读取文件时间过长而导致的通信中断,从而下载失败的缺陷,本发明实施例提供了一种获取文件的方法和装置。所述技术方案如下:
本发明实施例提出了一种获取文件的方法,包括:
获取目标文件的文件大小;
判断所述目标文件的文件大小是否大于预先设定的分段阈值;
若所述目标文件的文件大小大于所述分段阈值,则根据所述分段阈值获取所述目标文件的每一个未下载的分段,直到下载至最后一个未下载的分段完成下载。
作为上述技术方案的优选,所述获取目标文件的文件大小,具体包括:
向源服务器发送获取目标文件的文件大小的请求信息;
获取所述源服务器的响应信息,从所述响应信息的头部得到所述目标文件的文件大小。
作为上述技术方案的优选,所述若所述目标文件的文件大小大于所述分段阈值,则根据所述分段阈值获取所述目标文件的每一个未下载的分段,直到下载至最后一个未下载的分段完成下载,具体包括:
根据所述分段阈值,逐一获取所述目标文件中的每一个未下载的分段数据;
每当收到一个分段数据时,判断所述目标文件中除去获取到的分段数据后,所述目标文件剩余数据的大小是否大于所述分段阈值;
如果所述目标文件剩余数据的大小大于所述分段阈值,则继续获取下一个未下载的分段数据;
如果所述目标文件剩余数据的大小小于等于所述分段阈值,则获取最后一个未下载的分段数据完成下载。
作为上述技术方案的优选,所述获取目标文件的文件大小,具体包括:
根据所述分段阈值发送获取所述目标文件中第一分段数据的请求信息,所述请求信息中包含获取目标文件的文件大小的信息;
获取所述第一分段数据和服务器的响应信息,所述响应信息包含目标文件的文件大小和本次请求的数据的大小。
作为上述技术方案的优选,所述若所述目标文件的文件大小大于所述分段阈值,则根据所述分段阈值获取所述目标文件的每一个未下载的分段,直到下载至最后一个未下载的分段完成下载,具体包括:
根据所述分段阈值,逐一获取除去第一分段数据后所述目标文件剩余数据中的每一个未下载的分段数据;
每当收到一个分段数据时,判断所述目标文件中除去获取到的分段数据后,所述目标文件剩余数据的大小是否大于所述分段阈值;
如果所述目标文件剩余数据的大小大于所述分段阈值,则继续获取下一个未下载的分段数据;
如果所述目标文件剩余数据的大小小于等于所述分段阈值,则获取最后一个未下载的分段数据完成下载。
本发明实施例还提出了一种获取文件的装置,包括:
获取模块,用于获取目标文件的文件大小;
判断模块,用于判断所述目标文件的文件大小是否大于预先设定的分段阈值;
下载模块,用于若所述目标文件的文件大小大于所述分段阈值,则根据所述分段阈值获取所述目标文件的每一个未下载的分段,直到下载至最后一个未下载的分段完成下载。
作为上述技术方案的优选,所述获取模块,具体包括:
第一发送单元,用于向源服务器发送获取目标文件的文件大小的请求信息;
第一获取单元,用于获取所述源服务器的响应信息,从所述响应信息的头部得到所述目标文件的文件大小。
作为上述技术方案的优选,所述下载模块,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110367696.8/2.html,转载请声明来源钻瓜专利网。