CN101453410A - 一种通过应用缓存提高文件下载速度的方法 - Google Patents
一种通过应用缓存提高文件下载速度的方法 Download PDFInfo
- Publication number
- CN101453410A CN101453410A CNA200710179013XA CN200710179013A CN101453410A CN 101453410 A CN101453410 A CN 101453410A CN A200710179013X A CNA200710179013X A CN A200710179013XA CN 200710179013 A CN200710179013 A CN 200710179013A CN 101453410 A CN101453410 A CN 101453410A
- Authority
- CN
- China
- Prior art keywords
- file
- buffer memory
- server
- cache
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种通过应用缓存提高文件下载速度的方法,首先用户点击下载客户端安装包;然后服务器收到客户端的下载文件请求;服务器通过文件名字作为键值检查文件缓存;客户端收到服务器reponse回客户端的文件数据后,可以保存为本地文件;如果发布新的文件,则通过专门的后台程序发布;最后后台程序检查缓存中是否已经存在待发布的文件,如果存在,则发布文件后马上更新缓存。也就是把新发布的文件以二进制方式存入缓存,键值用文件名。本发明使得在大量用户同时下载比较大的文件的时候,文件下载的速度得到提高,减少硬盘I/O,同时也提高了应用服务器的响应速度。
Description
技术领域
本发明涉及一种通过应用缓存提高文件下载速度的方法,特别涉及一种应用层动态缓存提高文件下载速度的方法。
背景技术
在大量用户同时下载比较大的文件的时候,通常会造成比较大的硬盘I/O并占用大量的带宽,而且应用服务器的响应速度也会迅速降低,为了提高文件下载的速度,减少硬盘I/O,我们经过大量实践,总结出来一种在应用层动态缓存来解决这些问题的方法。
发明内容
本发明所要解决的技术问题是采用把物理文件提前加载到应用程序的内存并保存在以文件全名为key,值为文件的二进制内存镜像的哈希表中,以后如果有请求此文件的请求,服务器可以直接根据请求文件名就可以获得文件的二进制数据流的方法提高文件下载速度。
本发明所述的一种通过应用缓存提高文件下载速度的方法,该方法至少包括如下的步骤:
步骤1:用户点击下载客户端安装包;
步骤2:服务器收到下载文件请求;
步骤3:服务器通过文件名字(包括文件的全部路径)作为键值检查文件缓存;
步骤4:客户端收到服务器reponse的文件数据后,可以保存为本地文件;
步骤5:如果发布新的文件,则通过专门的后台程序发布;
步骤6:后台程序检查缓存中是否已经存在待发布的文件,如果存在,则发布文件后马上更新缓存。也就是把新发布的文件以二进制方式存入缓存,键值用文件名。
本发明所述的一种通过应用缓存提高文件下载速度的方法,服务器通过文件名字(包括文件的全部路径)作为键值检查文件缓存,其步骤为:
步骤31:如果缓存中已经缓存了文件数据,则直接把缓存的文件以二进制流的方式写入response;
步骤32:如果缓存中不存在此文件,则通过一次文件I/O,读取整个文件先放入缓存后,再把缓存的文件以二进制流的方式写入response。
附图说明
图1为本发明的实施例涉及的系统的整体结构示意图
具体实施方式
步骤1:用户点击下载客户端安装包;
步骤2:服务器收到下载文件请求;
步骤3:服务器通过文件名字(包括文件的全部路径)作为键值检查文件缓存;
步骤4:客户端收到服务器reponse的文件数据后,可以保存为本地文件;
步骤5:如果发布新的文件,则通过专门的后台程序发布;
步骤6:后台程序检查缓存中是否已经存在待发布的文件,如果存在,则发布文件后马上更新缓存。也就是把新发布的文件以二进制方式存入缓存,键值用文件名。
上述步骤3服务器通过文件名字(包括文件的全部路径)作为键值检查文件缓存的具体步骤如下:
步骤31:如果缓存中已经缓存了文件数据,则直接把缓存的文件以二进制流的方式写入response;
步骤32:如果缓存中不存在此文件,则通过一次文件I/O,读取整个文件先放入缓存后,再把缓存的文件以二进制流的方式写入response。
上述的技术方案实施时提高了文件下载的速度,减少硬盘I/O,同时也提高了应用服务器的响应速度。
最后所应说明的是,以上实施例仅用以说明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同地替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
Claims (2)
1、一种通过应用缓存提高文件下载速度的方法,其特征在于:该方法至少包括如下的步骤:
步骤1:用户点击下载客户端安装包;
步骤2:服务器收到客户端的下载文件请求;
步骤3:服务器通过文件名字作为键值检查文件缓存;
步骤4:客户端收到服务器reponse回客户端的文件数据后,可以保存为本地文件;
步骤5:如果发布新的文件,则通过专门的后台程序发布;
步骤6:后台程序检查缓存中是否已经存在待发布的文件,如果存在,则发布文件后马上更新缓存;也就是把新发布的文件以二进制方式存入缓存,键值用文件名。
2、根据权利要求1所述的一种通过应用缓存提高文件下载速度的方法,其特征在于:服务器通过文件名字作为键值检查文件缓存,其步骤为:
步骤31:如果缓存中已经缓存了文件数据,则直接把缓存的文件以二进制流的方式写入response;
步骤32:如果缓存中不存在此文件,则通过一次文件I/O,读取整个文件先放入缓存后,再把缓存的文件以二进制流的方式写入response。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200710179013XA CN101453410A (zh) | 2007-12-07 | 2007-12-07 | 一种通过应用缓存提高文件下载速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200710179013XA CN101453410A (zh) | 2007-12-07 | 2007-12-07 | 一种通过应用缓存提高文件下载速度的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101453410A true CN101453410A (zh) | 2009-06-10 |
Family
ID=40735440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200710179013XA Pending CN101453410A (zh) | 2007-12-07 | 2007-12-07 | 一种通过应用缓存提高文件下载速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101453410A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137122A (zh) * | 2010-01-22 | 2011-07-27 | 北京金山数字娱乐科技有限公司 | 一种下载数据的方法及装置 |
CN103220260A (zh) * | 2012-01-20 | 2013-07-24 | 腾讯科技(深圳)有限公司 | 更新数据的方法、服务器、客户端及系统 |
CN103365897A (zh) * | 2012-04-01 | 2013-10-23 | 华东师范大学 | 一种支持Bigtable数据模型的片段缓存方法 |
CN105487935A (zh) * | 2015-12-07 | 2016-04-13 | 中南大学 | 一种基于环境感知的主动服务获取方法 |
CN109753813A (zh) * | 2019-01-28 | 2019-05-14 | 恒峰信息技术有限公司 | 一种文件安全处理方法 |
CN114374677A (zh) * | 2020-10-15 | 2022-04-19 | 中国移动通信集团浙江有限公司 | 跨平台在线发布方法、装置、计算设备及存储介质 |
-
2007
- 2007-12-07 CN CNA200710179013XA patent/CN101453410A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137122A (zh) * | 2010-01-22 | 2011-07-27 | 北京金山数字娱乐科技有限公司 | 一种下载数据的方法及装置 |
WO2011088710A1 (zh) * | 2010-01-22 | 2011-07-28 | 北京金山软件有限公司 | 一种下载数据的方法及装置 |
CN102137122B (zh) * | 2010-01-22 | 2014-08-20 | 广州华多网络科技有限公司 | 一种下载数据的方法及装置 |
CN103220260A (zh) * | 2012-01-20 | 2013-07-24 | 腾讯科技(深圳)有限公司 | 更新数据的方法、服务器、客户端及系统 |
CN103365897A (zh) * | 2012-04-01 | 2013-10-23 | 华东师范大学 | 一种支持Bigtable数据模型的片段缓存方法 |
CN105487935A (zh) * | 2015-12-07 | 2016-04-13 | 中南大学 | 一种基于环境感知的主动服务获取方法 |
CN109753813A (zh) * | 2019-01-28 | 2019-05-14 | 恒峰信息技术有限公司 | 一种文件安全处理方法 |
CN114374677A (zh) * | 2020-10-15 | 2022-04-19 | 中国移动通信集团浙江有限公司 | 跨平台在线发布方法、装置、计算设备及存储介质 |
CN114374677B (zh) * | 2020-10-15 | 2023-12-26 | 中国移动通信集团浙江有限公司 | 跨平台在线发布方法、装置、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101453410A (zh) | 一种通过应用缓存提高文件下载速度的方法 | |
US9130953B2 (en) | Intelligent network streaming and execution system for conventionally coded applications | |
US8984058B2 (en) | Pre-fetching remote resources | |
US7043524B2 (en) | Network caching system for streamed applications | |
US20080271130A1 (en) | Minimizing client-side inconsistencies in a distributed virtual file system | |
CN101656789B (zh) | 手机实现管理应用程序信息的方法及应用程序管理器 | |
US20150235015A1 (en) | Optimized Server for Streamed Applications | |
US9906597B2 (en) | Collaboration data proxy system in cloud computing platforms | |
US7539762B2 (en) | Method, system and program product for determining an initial number of connections for a multi-source file download | |
TWI306558B (en) | Method, sysrem and computer readable medium recording relevant instructions utilizing paging to support dynamic code updates | |
US20020087883A1 (en) | Anti-piracy system for remotely served computer applications | |
US20020083183A1 (en) | Conventionally coded application conversion system for streamed delivery and execution | |
US8380808B2 (en) | Dynamic medium content streaming system | |
JP2008527468A (ja) | ハイブリッド・ローカル/リモート・ストリーミング | |
EP2418809A1 (en) | Method and apparatus for processing and updating service contents in a distributed file system | |
JP2015506044A (ja) | オン・デマンドのステージングを用いる高速アプリケーション・ストリーミング | |
JP2011514593A5 (zh) | ||
US10999371B2 (en) | Request multiplexing | |
CN102546674A (zh) | 一种基于网络存储装置的目录树缓存系统及方法 | |
CN106406764A (zh) | 一种分布式san块存储的高效能数据访问系统及方法 | |
US8234247B2 (en) | Content management system and method for portable device | |
CN102904917A (zh) | 海量图片的处理系统及其方法 | |
CN100372283C (zh) | 多点下载中保证数据块在整个系统均匀分布的方法和装置 | |
CN106020713A (zh) | 一种基于缓冲区的文件存储方法 | |
US7792845B1 (en) | Network acceleration device having logically separate views of a cache space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090610 |