CN104424118B - 热点文件自适应拷贝方法及系统 - Google Patents
热点文件自适应拷贝方法及系统 Download PDFInfo
- Publication number
- CN104424118B CN104424118B CN201310373239.9A CN201310373239A CN104424118B CN 104424118 B CN104424118 B CN 104424118B CN 201310373239 A CN201310373239 A CN 201310373239A CN 104424118 B CN104424118 B CN 104424118B
- Authority
- CN
- China
- Prior art keywords
- file
- disk
- downloaded
- focus
- temperature
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提出一种热点文件自适应拷贝方法及系统,其方法包括:接收文件下载请求;根据文件下载请求,获取待下载文件的索引信息;根据索引信息确定下载文件的存储磁盘;计算待下载文件的文件热度;根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝;若需要拷贝,则获取至少一个负载最低的缓冲磁盘;将多份待下载文件拷贝到获取的缓冲磁盘。本发明可以保证服务器的文件访问速率,降低读写压力,减少磁盘读写的延时。
Description
技术领域
本发明涉及计算机网络数据缓存技术领域,特别涉及一种热点文件自适应拷贝方法及系统。
背景技术
CDN(Content DeliveryNetwork,内容分发网络)是把用户访问的内容存放到离用户最近最快的边缘节点,使用户可以就近取得所需的内容。CDN加速是把热点文件推送到CDN边缘节点(Video Outside Center,即城域点),通过边缘节点直接服务用户,以解决Internet网络拥挤的状况,提高用户访问资源的响应速度。
目前,CDN边缘节点通常采用内存作为缓存,但对于较大的文件,如流媒体文件,内存中可以缓存的文件较少,缓存效果不好。而且,当一个文件被大量用户访问的时候,容易对文件所在磁盘造成巨大的读压力,轻则造成磁盘读写延时,重则导致硬盘故障,导致服务不可用。
发明内容
本发明实施例的目的是提供一种热点文件自适应拷贝方法及系统,以解决热点文件访问请求量过大而造成磁盘读写负载过高的问题。
本发明实施例提出一种热点文件自适应拷贝方法,包括:
接收文件下载请求;
根据文件下载请求,获取待下载文件的索引信息;
根据索引信息确定下载文件的存储磁盘;
计算待下载文件的文件热度;
根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝;
若需要拷贝,则获取至少一个负载最低的缓冲磁盘;
将多份待下载文件拷贝到获取的缓冲磁盘。
本发明实施例还提出一种热点文件自适应拷贝系统,包括:
接收模块,用于接收文件下载请求;
索引信息获取模块,用于根据文件下载请求,获取待下载文件的索引信息;
存储位置确定模块,用于根据索引信息确定下载文件的存储磁盘;
热度计算模块,用于计算待下载文件的文件热度;
判断模块,用于根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝;
缓冲磁盘获取模块,用于当所述判断模块判断出待下载文件需要热点拷贝,则获取至少一个负载最低的缓冲磁盘;
拷贝模块,用于将多份待下载文件拷贝到获取的缓冲磁盘。
相对于现有技术,本发明的有益效果是:
(1)本发明实施例通过实时统计文件热度,将热点文件拷贝多份到低负载磁盘,保证了服务器的文件访问速率。
(2)本发明实施例利用缓冲磁盘取代内存来对文件进行缓存,可以实现大量大文件的缓存,有效减少了读写压力,以及减少了磁盘读写的延时。
附图说明
图1为本发明实施例的一种热点文件自适应拷贝方法的流程图;
图2为本发明实施例的一种计算待下载文件的文件热度的流程图;
图3为本发明实施例的一种利用循环数组统计文件热度的示意图;
图4为本发明实施例的一种判断待下载文件是否需要热点拷贝时的流程图;
图5为本发明实施例的一种获取至少一个负载最低的缓冲磁盘时的流程图;
图6为本发明实施例的另一种热点文件自适应拷贝方法的流程图;
图7为本发明实施例的一种热点文件自适应拷贝系统的结构图;
图8为本发明实施例的另一种热点文件自适应拷贝系统的结构图。
具体实施方式
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
实施例一
请参见图1,其为本发明实施例的一种热点文件自适应拷贝方法的流程图,其包括以下步骤:
S101,接收文件下载请求。
S102,根据文件下载请求,获取待下载文件的索引信息。可以根据下载请求中的文件名查找文件的索引信息,索引信息主要可以包括待下载文件的大小、份数及存储位置。
S103,根据索引信息确定下载文件的存储磁盘。存储磁盘可以采用SATA磁盘(Serial ATA,串口磁盘)。值得注意的是,待下载文件可能存储在多个磁盘中,这时可以根据索引信息里面的份数信息,得到存储有待下载文件的磁盘列表,然后根据各磁盘的IO负载(读写负载),返回文件所在磁盘中负载最轻存储磁盘。
S104,计算待下载文件的文件热度。
文件热度可以通过统计文件访问次数来获得,文件访问次数在单位时间内达到一定的次数就认为文件变热。文件热度也可以通过统计文件访问大小的方式来获得,在单位时间内达到一定访问量就认为文件变热。
S105,根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝。若文件热度较大,且大于存储磁盘对文件的访问支撑量,说明需要拷贝,则进入步骤S106;若不需要拷贝,则流程结束。
S106,获取至少一个负载最低的缓冲磁盘。缓冲磁盘可以采用SSD磁盘(SolidState Disk,固态硬盘),SSD磁盘的性能是SATA磁盘性能的10倍,保证了文件的传输速率。利用缓冲磁盘取代内存来对文件进行缓存,保证了大文件的缓存,可以有效减少磁盘读写的延时。
S107,将多份待下载文件拷贝到获取的缓冲磁盘。并修改文件索引,增加文件份数信息。拷贝到缓冲磁盘的份数对文件访问量的支撑是线性关系,即拷贝到缓冲磁盘的文件份数越多,则该缓冲磁盘支持的访问量就越大。
其中,步骤S104中,在计算待下载文件的文件热度时,如果待下载文件是流媒体文件,由于流媒体业务存在P2P(peer-to-peer network,对等网络)请求文件部分内容的访问形式,一个P2P请求一次文件,可能只是访问文件中的某几十个字节而已,因此以文件访问次数来衡量文件热度准确性较差。所以当待下载文件是流媒体文件时,可以采用统计待下载文件在预设时间段内被访问的字节大小的方式来作为文件热度,具体来说,请参见图2,可以包括以下步骤:
S1041,设置时间间隔。
S1042,统计所述时间间隔内所述待下载文件被访问的字节大小。
S1043,将每个时间间隔统计到的结果依次放置到预设的循环数组中。
S1044,计算所述循环数组中所有元素值的和,并将计算结果作为待下载文件在预设时间段内被访问的字节大小。
请结合参见图3,本发明实施例中,文件热度用file_read_bandsize标记,为了文件热度的平滑性方法统计了前面连续n分钟的热度大小,
其中,文件热度统计的最小时间间隔为gap取值为5分钟,统计的时间间隔数为n取值为6,总的统计时长n*gap,实现上就是把文件热度放置到一个循环数组里面,就是平滑统计一个文件前三十分钟的访问热度,通过这种方式避免了因进入下一统计时间,统计信息被清零的情况。
步骤S105中,本发明实施例可以通过文件访问支撑量来考量是否对文件进行热点拷贝,简单点理解文件访问支撑量就是统计时间内文件可以被访问多少次,本发明实施例中的文件访问支撑量用file_band_ability标记。文件自适应多份拷贝触发条件是:file_read_bandsize>=file_band_ability,通过比较文件热度和多份支撑量这两个指标,如果当前文件热度大于文件访问支撑量,则需要启动多份拷贝。因此,请参见图4,判断待下载文件是否需要热点拷贝时又可以进一步包括以下步骤:
S1051,计算待下载文件在存储磁盘中的文件访问支撑量。
S1052,通过比较所述文件热度是否大于所述文件访问支撑量来判断待下载文件是否需要热点拷贝。
当文件热度是按访问文件的大小进行统计的情况下,文件访问支撑量也以文件大小为基准进行计算,文件大小乘以一个文件大小的倍数。以SATA磁盘作为存储磁盘、以SSD磁盘作为缓冲磁盘为例,文件访问支撑量等于文件大小、与文件大小对应的倍数值、磁盘性能指标参数以及文件在磁盘上可用于服务的数目的乘积,文件访问支撑量的计算方式如下:
file_band_ability=file_size*file_hot_mul*(α*ts4_filecopy_num+β*s6_filecopy_num)
其中,file_size表示文件大小,file_hot_mul表示文件大小倍数,α,β分别为SATA和SSD磁盘读性能指标,ts4_filecopy_num表示文件在SATA磁盘可用于服务的数目,s6_filecopy_num表示文件在SSD磁盘可用于服务的数目。
下面分析一下文件访问支撑量计算中,文件大小倍数的确定:
流媒体应用一般读取固定块大小的数据,流媒体的数据块读取大小是128KB。所以应该考虑不同文件大小需要配置不同的文件大小倍数。根据运营情况,本发明实施例得到了一组效果较好的文件大小倍数的取值。通过大文件取小倍数值,保证了大文件被拷贝的概率,同时提高小文件文件倍数避免了因阀值太低而拷贝份数太多的情况。如表1所示:
文件大小区间(file_size) | 文件大小倍数取值(file_hot_mul) |
0-10M | 64 |
10-20M | 48 |
20M-32M | 32 |
32M-64M | 16 |
64M-以上 | 8 |
表1
当前文件存在的多份文件可以存在SATA磁盘上,也可能因为文件热度够热已经有多份存储到SSD磁盘上。所以还应当把当前文件份数所在磁盘的性能考虑进去。通过查阅硬盘厂家的相关资料SATA磁盘的随机读数据为30Mb/s,流媒体读取数据块大小128KB。在实施例中α=30Mb/128KB=16,β按SSD磁盘性能是SATA磁盘性能10倍,β取值为160。通过实际运营数据,α,β的取值能较好反映磁盘性能。
文件多份的份数对访问量的支撑是线性支撑的关系,所以α*ts4_filecopy_num表示SATA磁盘份数的访问支撑量,这个数目去除了故障服务器和达到性能瓶颈的服务器。β*s6_filecopy_num表示SSD磁盘份数的访问支撑量,这个数目去除了故障服务器达到性能瓶颈的服务器。
步骤S106中,本发明实施例可以利用磁盘的性能状态信息找出负载最低的一个或多个缓冲磁盘,具体来说,请参见图5,获取至少一个负载最低的缓冲磁盘的过程可以包括以下步骤:
S1061,定时接收各个磁盘的性能状态信息。
S1062,根据磁盘的性能状态信息获取至少一个负载最低的缓冲磁盘。
磁盘性能是多份拷贝方法分配磁盘的主要依据。磁盘写性能主要由三个方面决定:(1)磁盘当前实际IO负载,本发明实施例用rw_io来表示,当前读写负载较低则分配写入可能性越大,一般采用iostat(iostat是一条用来监视系统输入/输出设备负载的命令)命令的util(利用率)值;(2)磁盘可用空间,本发明实施例用left_space来表示,多份拷贝方法必须考虑磁盘的可用空间,磁盘可用空间越大,则分配写入文件的概率也大;(3)新拷贝任务负载预估,本发明实施例用predict_write_io来表示,由于磁盘实际IO负载的采集有一定的时间间隔,所以对两次磁盘状态采集时间间隔中分配的拷贝文件需要预估其产生的写负载。磁盘写性能计算方式如下:
write_io_value=α*rw_io+β*left_space+γ*predict_write_io
其中,α,β,γ分别为权值因子,一般来说磁盘负载占决定性因素,其次是磁盘空间。在一个实施例中,α,β,γ一组较好的取值(0.7,0.2,0.1)。下面分析一下上述公式计算方法:
步骤S1061中定时接收各个磁盘的性能状态信息的间隔可以根据需要来设定,例如10s。磁盘的性能状态信息可以但不仅限于包括磁盘当前实际读写负载、磁盘可用空间及磁盘写文件任务信息。例如一条实施例的上报信息DISK(storeip,diskuuid,type,cur_io,all_size,used_size),其中storeip是磁盘服务器的ip地址;diskuuid是磁盘的唯一标识;type标识不同性能的磁盘(SATA,SSD磁盘);cur_io标识磁盘当前的实际IO负载,一般为iostat命令的util值;all_size和used_size标识磁盘空间使用情况。
(1)磁盘当前实际IO负载。为了去除单次磁盘IO负载对计算磁盘负载的毛刺的影响,可以对磁盘当前实际读写负载进行平滑处理,本发明实施例可以采用低通过滤器来更新一个被平滑的磁盘IO:
rw_io=δ*cur_io+(1-δ)*rw_io,
这里δ是一个推荐值为0.9的平滑因子,rw_io,为上一次计算得到的磁盘io负载值。每次上报磁盘性能状态,磁盘的实际负载值将被得到更新,也就是每个新的磁盘io的90%来自前一个值,10%则取自当前值。
(2)磁盘可用空间。left_space=(all_size-used_size)/all_size,即磁盘当前剩余的空间,每次上报的是当前磁盘的实际利用率。
(3)新拷贝任务负载预估。磁盘实际IO反映磁盘实际负载,两次磁盘状态获取的时间间隔内,分配给磁盘写文件任务也会对磁盘产生负载。这部分负载采用预估的方式,分配模块统计分配到磁盘上写入文件的大小write_file_size,并预估写入这么大的文件将对磁盘产生的负载:
predict_write_io=write_file_size*type_ability
其中,type_ability是磁盘的读写性能指标,SSD磁盘的读写性能是SATA磁盘的10倍左右。type_abality是根据系统实际运用中得出的经验值。在本发明的一个实施例中,SATA磁盘的type_ability的取值为:1/1M,SSD磁盘的type_ability的值是1/100M。
在拷贝多份文件时,优选在待下载文件不存在的磁盘中,选择负载最低的一个或多个磁盘用来作为热点多份文件的拷贝目的磁盘,通过这个磁盘来分担当前文件的热点。
本发明实施例通过实时统计文件热度,将热点文件拷贝多份到低负载磁盘,保证了服务器的文件访问速率。
本发明实施例利用缓冲磁盘取代内存来对文件进行缓存,可以实现大量大文件的缓存,有效减少了读写压力,以及减少了磁盘读写的延时。
本发明实施例可以采用统计文件访问大小的方式来计算文件热度,可以提高对流媒体文件的文件热度测量的准确性。
本发明实施例在进行热点拷贝时,会将文件拷贝到原本不存在该文件的磁盘,降低引服务器故障导致数据全部丢失的几率,实现数据层的容灾,磁盘故障数据自动恢复不影响服务,保证服务的高可用性。
请参见图6,其本发明实施例的另一种热点文件自适应拷贝方法的流程图,其包括以下步骤:
S601,接收文件下载请求。
S602,根据文件下载请求,获取待下载文件的索引信息。
S603,根据索引信息确定下载文件的存储磁盘。
S604,计算待下载文件的文件热度。
S605,根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝。若文件热度较大,且大于存储磁盘对文件的访问支撑量,说明需要拷贝,则进入步骤S606;若不需要拷贝,则流程结束。
S606,获取至少一个负载最低的缓冲磁盘。
S607,将多份待下载文件拷贝到获取的缓冲磁盘。并修改文件索引,增加文件份数信息。
S608,对待下载文件的文件热度值清零。即清零文件带宽贡献统计的文件热度,避免下一个请求又触发同一热文件拷贝。
S609,删除缓冲磁盘中文件热度低于预定值且在预定时间未被访问的拷贝文件。
为了更高的资源利用率,当文件不再热时,需要自动删除热拷贝的文件,释放资源。可以在磁盘满时触发删除程序,也可以定时对磁盘进行检测,并在找到符合要求的文件时启动删除程序。为了标识哪些文件需要被淘汰,本发明实施例给文件计算一个冷文件淘汰的权值:
file_cold_priv=file_read_bandsize/file_band_ability
其中,File_read_bandsize为文件热度,file_band_ability为文件访问支撑量,访问的越少,文件份数越多的文件应该先被释放出来。在冷文件淘汰的过程中还需要考虑文件是否最近被访问过,也就是说文件淘汰应该是在最近最久未访问的文件中,挑选淘汰权值最小的最需要释放的文件进行删除。
具体来说,可以先找出需要释放磁盘的文件列表;然后从文件列表尾部向前遍历,得到磁盘最久未访问的文件,计算文件的淘汰权值;最后根据权值判断结果,删除这个磁盘上的这个文件,释放空间。
本发明实施例还提出一种热点文件自适应拷贝系统,请参见图7,本实施例的热点文件自适应拷贝系统包括:接收模块701、索引信息获取模块702、存储位置确定模块703、热度计算模块704、判断模块705、缓冲磁盘获取模块706以及拷贝模块707。索引信息获取模块702与接收模块701相连,存储位置确定模块703与索引信息获取模块702相连,热度计算模块704与存储位置确定模块703相连,判断模块705与热度计算模块704相连,缓冲磁盘获取模块706与判断模块705相连,拷贝模块707分别与存储位置确定模块703及缓冲磁盘获取模块706相连。
接收模块701用于接收文件下载请求。
索引信息获取模块702用于根据接收模块701接收到的文件下载请求,获取待下载文件的索引信息。可以根据下载请求中的文件名查找文件的索引信息,索引信息主要可以包括待下载文件的大小、份数及存储位置。
存储位置确定模块703用于根据索引信息获取模块702获取的索引信息确定下载文件的存储磁盘。存储磁盘可以采用SATA磁盘(Serial ATA,串口磁盘)。值得注意的是,待下载文件可能存储在多个磁盘中,这时可以根据索引信息里面的份数信息,得到存储有待下载文件的磁盘列表,然后根据各磁盘的IO负载(读写负载),返回文件所在磁盘中负载最轻存储磁盘。
热度计算模块704用于计算待下载文件的文件热度。文件热度可以通过统计文件访问次数来获得,文件访问次数在单位时间内达到一定的次数就认为文件变热。文件热度也可以通过统计文件访问大小的方式来获得,在单位时间内达到一定访问量就认为文件变热。
判断模块705用于根据热度计算模块704计算出的待下载文件的文件热度,判断待下载文件是否需要热点拷贝。若文件热度较大,且大于存储磁盘对文件的访问支撑量,说明需要拷贝。
缓冲磁盘获取模块706用于当所述判断模块判断出待下载文件需要热点拷贝,则获取至少一个负载最低的缓冲磁盘。缓冲磁盘可以采用SSD磁盘,SSD磁盘的性能是SATA磁盘性能的10倍,保证了文件的传输速率。利用缓冲磁盘取代内存来对文件进行缓存,保证了大文件的缓存,可以有效减少磁盘读写的延时。
拷贝模块707用于将多份待下载文件拷贝到缓冲磁盘获取模块706获取的缓冲磁盘。拷贝完成后需要修改文件索引,增加文件份数信息。拷贝到缓冲磁盘的份数对文件访问量的支撑是线性关系,即拷贝到缓冲磁盘的文件份数越多,则该缓冲磁盘支持的访问量就越大。
请参见图8,其为本发明实施例的另一种热点文件自适应拷贝系统的结构图。与图7的实施例相比,本实施例的热点文件自适应拷贝系统还包括热度值清零模块708和拷贝文件删除模块709。
热度值清零模块708用于对待下载文件的文件热度值清零。即清零文件带宽贡献统计的文件热度,避免下一个请求又触发同一热文件拷贝。
拷贝文件删除模块709用于删除缓冲磁盘中文件热度低于预定值且在预定时间未被访问的拷贝文件。可以在磁盘满时触发删除程序,也可以定时对磁盘进行检测,并在找到符合要求的文件时启动删除程序。具体来说,可以先找出需要释放磁盘的文件列表;然后从文件列表尾部向前遍历,得到磁盘最久未访问的文件,计算文件的淘汰权值;最后根据权值判断结果,删除这个磁盘上的这个文件,释放空间,以提高资源利用率。
当待下载文件是流媒体文件时,热度计算模块704统计待下载文件在预设时间段内被访问的字节大小,并将统计结果作为文件热度。在本实施例中,热度计算模块704又进一步包括:时间间隔设置单元7041、间隔统计单元7042、循环数组设置单元7043及元素值求和单元7044。
时间间隔设置单元7041与间隔统计单元7042相连,用于设置时间间隔,时间间隔可以根据需要来设定,如5分钟。间隔统计单元7042与存储位置确定模块703相连,用于统计在时间间隔内,存储位置确定模块703确定的存储磁盘中待下载文件被访问的字节大小。循环数组设置单元7043分别与时间间隔设置单元7041及间隔统计单元7042相连,用于将间隔统计单元7042在每个时间间隔统计到的结果依次放置到预设的循环数组中。元素值求和单元7044与循环数组设置单元7043相连,用于计算所述循环数组中所有元素值的和,并将计算结果作为待下载文件在预设时间段内被访问的字节大小,即待下载文件的文件热度。通过本实施例的这种方式避免了因进入下一统计时间,统计信息被清零的情况。
本实施例中,判断模块705进一步包括:支撑量计算单元7051及比对单元7052。
支撑量计算单元7051用于计算待下载文件在存储磁盘中的文件访问支撑量。本发明的一种实施例中,所述文件访问支撑量等于文件大小、与文件大小对应的倍数值、磁盘性能指标参数以及文件在磁盘上可用于服务的数目的乘积。
比对单元7052分别与支撑量计算单元7051及元素值求和单元7044相连,用于通过比较所述文件热度是否大于支撑量计算单元7051计算出的文件访问支撑量来判断待下载文件是否需要热点拷贝。如果文件热度大于文件访问支撑量,则说明需要进行拷贝,如果文件热度小于文件访问支撑量,则说明不需要进行拷贝。
本实施例中,缓冲磁盘获取模块706又进一步包括:性能状态信息接收单元7061、获取单元7062、平滑处理单元7063及负载预估单元7064。
性能状态信息接收单元7061用于定时接收各个磁盘的性能状态信息。在本发明的一个实施例中,所述磁盘的性能状态信息包括磁盘当前实际读写负载、磁盘可用空间及磁盘写文件任务信息。
平滑处理单元7063用于对性能状态信息接收单元7061接收到的磁盘当前实际读写负载进行平滑处理。
负载预估单元7064用于根据性能状态信息接收单元7061接收到的磁盘写文件任务信息及磁盘的读写性能指标预估写入文件对磁盘会产生的负载。
获取单元7062分别与性能状态信息接收单元7061、平滑处理单元7063、负载预估单元7064及比对单元7052相连,用于在比对单元7052判断出需要对待下载文件进行拷贝时,根据性能状态信息接收单元7061发送来的磁盘的性能状态信息,以及经过平滑处理单元7063和负载预估单元7064处理过的磁盘当前实际读写负载及负载预估信息,获取至少一个负载最低的缓冲磁盘。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (22)
1.一种热点文件自适应拷贝方法,其特征在于,包括:
接收文件下载请求;根据文件下载请求,获取待下载文件的索引信息;根据索引信息确定下载文件的存储磁盘;
计算待下载文件的文件热度;所述计算待下载文件的文件热度的步骤包括:当所述待下载文件是流媒体文件时,统计待下载文件在预设时间段内被访问的字节大小,并将统计结果作为文件热度;
根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝;所述判断待下载文件是否需要热点拷贝的步骤包括:计算待下载文件在存储磁盘中的文件访问支撑量;通过比较所述文件热度是否大于所述文件访问支撑量来判断待下载文件是否需要热点拷贝;
若需要拷贝,则获取至少一个负载最低的缓冲磁盘;将多份待下载文件拷贝到获取的缓冲磁盘。
2.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述统计待下载文件在预设时间段内被访问的字节大小的步骤包括:
设置时间间隔;
统计所述时间间隔内所述待下载文件被访问的字节大小;
将每个时间间隔统计到的结果依次放置到预设的循环数组中;
计算所述循环数组中所有元素值的和,并将计算结果作为待下载文件在预设时间段内被访问的字节大小。
3.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述文件访问支撑量等于文件大小、与文件大小对应的倍数值、磁盘性能指标参数以及文件在磁盘上可用于服务的数目的乘积。
4.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述获取至少一个负载最低的缓冲磁盘的步骤包括:定时接收各个磁盘的性能状态信息;根据磁盘的性能状态信息获取至少一个负载最低的缓冲磁盘。
5.如权利要求4所述的热点文件自适应拷贝方法,其特征在于,所述磁盘的性能状态信息包括磁盘当前实际读写负载、磁盘可用空间及磁盘写文件任务信息。
6.如权利要求5所述的热点文件自适应拷贝方法,其特征在于,所述定时接收各个磁盘的性能状态信息的步骤之后包括:对接收到的磁盘的性能状态信息中的所述磁盘当前实际读写负载进行平滑处理。
7.如权利要求6所述的热点文件自适应拷贝方法,其特征在于,所述定时接收各个磁盘的性能状态信息的步骤之后包括:根据接收到的磁盘的性能状态信息中的磁盘写文件任务信息及磁盘的读写性能指标预估写入文件对磁盘会产生的负载。
8.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述将多份待下载文件拷贝到获取的缓冲磁盘的步骤之后还包括:对待下载文件的文件热度值清零。
9.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述将多份待下载文件拷贝到获取的缓冲磁盘的步骤之后:删除缓冲磁盘中文件热度低于预定值且在预定时间未被访问的拷贝文件。
10.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述缓冲磁盘采用固态硬盘。
11.如权利要求1所述的热点文件自适应拷贝方法,其特征在于,所述待下载文件的索引信息包括待下载文件的大小、份数及存储位置。
12.一种热点文件自适应拷贝系统,其特征在于,包括:
接收模块,用于接收文件下载请求;
索引信息获取模块,用于根据文件下载请求,获取待下载文件的索引信息;
存储位置确定模块,用于根据索引信息确定下载文件的存储磁盘;
热度计算模块,用于计算待下载文件的文件热度;当所述待下载文件是流媒体文件时,所述热度计算模块统计待下载文件在预设时间段内被访问的字节大小,并将统计结果作为文件热度;
判断模块,用于根据待下载文件的文件热度,判断待下载文件是否需要热点拷贝;所述判断模块进一步包括:支撑量计算单元,用于计算待下载文件在存储磁盘中的文件访问支撑量;比对单元,用于通过比较所述文件热度是否大于所述文件访问支撑量来判断待下载文件是否需要热点拷贝;
缓冲磁盘获取模块,用于当所述判断模块判断出待下载文件需要热点拷贝,则获取至少一个负载最低的缓冲磁盘;
拷贝模块,用于将多份待下载文件拷贝到获取的缓冲磁盘。
13.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述热度计算模块进一步包括:
时间间隔设置单元,用于设置时间间隔;
间隔统计单元,用于统计所述时间间隔内所述待下载文件被访问的字节大小;
循环数组设置单元,用于将每个时间间隔统计到的结果依次放置到预设的循环数组中;
元素值求和单元,用于计算所述循环数组中所有元素值的和,并将计算结果作为待下载文件在预设时间段内被访问的字节大小。
14.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述文件访问支撑量等于文件大小、与文件大小对应的倍数值、磁盘性能指标参数以及文件在磁盘上可用于服务的数目的乘积。
15.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述缓冲磁盘获取模块进一步包括:性能状态信息接收单元,用于定时接收各个磁盘的性能状态信息;获取单元,用于根据磁盘的性能状态信息获取至少一个负载最低的缓冲磁盘。
16.如权利要求15所述的热点文件自适应拷贝系统,其特征在于,所述磁盘的性能状态信息包括磁盘当前实际读写负载、磁盘可用空间及磁盘写文件任务信息。
17.如权利要求16所述的热点文件自适应拷贝系统,其特征在于,所述缓冲磁盘获取模块进一步包括:平滑处理单元,用于对所述性能状态信息接收单元接收到的磁盘当前实际读写负载进行平滑处理。
18.如权利要求16所述的热点文件自适应拷贝系统,其特征在于,所述缓冲磁盘获取模块进一步包括:负载预估单元,用于根据磁盘写文件任务信息及磁盘的读写性能指标预估写入文件对磁盘会产生的负载。
19.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述热点文件自适应拷贝系统还包括:热度值清零模块,用于对待下载文件的文件热度值清零。
20.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述热点文件自适应拷贝系统还包括:拷贝文件删除模块,用于删除缓冲磁盘中文件热度低于预定值且在预定时间未被访问的拷贝文件。
21.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述缓冲磁盘采用固态硬盘。
22.如权利要求12所述的热点文件自适应拷贝系统,其特征在于,所述待下载文件的索引信息包括待下载文件的大小、份数及存储位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310373239.9A CN104424118B (zh) | 2013-08-23 | 2013-08-23 | 热点文件自适应拷贝方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310373239.9A CN104424118B (zh) | 2013-08-23 | 2013-08-23 | 热点文件自适应拷贝方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424118A CN104424118A (zh) | 2015-03-18 |
CN104424118B true CN104424118B (zh) | 2017-12-26 |
Family
ID=52973152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310373239.9A Active CN104424118B (zh) | 2013-08-23 | 2013-08-23 | 热点文件自适应拷贝方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104424118B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951179B (zh) * | 2016-01-07 | 2020-03-27 | 杭州海康威视数字技术股份有限公司 | 一种数据迁移方法及装置 |
CN106228074A (zh) * | 2016-07-14 | 2016-12-14 | 广州华多网络科技有限公司 | 存储对象老化方法及装置 |
CN107888678B (zh) * | 2017-11-08 | 2020-11-13 | 北京奇艺世纪科技有限公司 | 一种文件下载的控制方法及装置 |
CN109960461A (zh) * | 2017-12-25 | 2019-07-02 | 上海盛霄云计算技术有限公司 | 一种镜像文件管理系统 |
CN109756581B (zh) * | 2019-03-06 | 2021-11-09 | 珠海金山网络游戏科技有限公司 | 一种文件传输系统及方法、一种计算设备及存储介质 |
CN110807009B (zh) * | 2019-11-06 | 2022-04-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 文件处理方法及装置 |
CN115543930B (zh) * | 2022-03-01 | 2023-10-24 | 荣耀终端有限公司 | 一种在内存中锁定文件的方法、装置及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010124007A1 (en) * | 2009-04-21 | 2010-10-28 | Ami Entertainment Network, Inc. | Jukebox menu navigation system |
CN102075563A (zh) * | 2010-12-21 | 2011-05-25 | 武汉大学 | 一种无结构p2p网络的副本复制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527648B2 (en) * | 2010-10-18 | 2013-09-03 | At&T Intellectual Property I, L.P. | Systems, methods, and computer program products for optimizing content distribution in data networks |
-
2013
- 2013-08-23 CN CN201310373239.9A patent/CN104424118B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010124007A1 (en) * | 2009-04-21 | 2010-10-28 | Ami Entertainment Network, Inc. | Jukebox menu navigation system |
CN102075563A (zh) * | 2010-12-21 | 2011-05-25 | 武汉大学 | 一种无结构p2p网络的副本复制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104424118A (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104424118B (zh) | 热点文件自适应拷贝方法及系统 | |
CN107807796B (zh) | 一种基于超融合存储系统的数据分层方法、终端及系统 | |
US9830101B2 (en) | Managing data storage in a set of storage systems using usage counters | |
US9020893B2 (en) | Asynchronous namespace maintenance | |
CN102571772B (zh) | 一种元数据服务器热点均衡方法 | |
CN103425756B (zh) | 一种hdfs中数据块的副本管理策略 | |
CN104978362B (zh) | 分布式文件系统的数据迁移方法、装置及元数据服务器 | |
CN107122126B (zh) | 数据的迁移方法、装置和系统 | |
US10133673B2 (en) | Cache optimization based on predictive routing | |
US9313270B2 (en) | Adaptive asynchronous data replication in a data storage system | |
CN104081364B (zh) | 合作高速缓存 | |
CN105653642A (zh) | 分布式文件系统的数据管理方法和装置 | |
US10656839B2 (en) | Apparatus and method for cache provisioning, configuration for optimal application performance | |
CN103631894A (zh) | 一种基于hdfs的动态副本管理方法 | |
US11936568B2 (en) | Stream allocation using stream credits | |
US11765099B2 (en) | Resource allocation using distributed segment processing credits | |
CN111443867B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
Zhou et al. | Improving big data storage performance in hybrid environment | |
CN110175070B (zh) | 分布式数据库的管理方法、装置、系统、介质及电子设备 | |
US20190317665A1 (en) | Resource fairness control in distributed storage systems using congestion data | |
EP3146442B1 (en) | Methods and apparatus for storing electronic documents | |
US10078642B1 (en) | Dynamic memory shrinker for metadata optimization | |
JP2011191856A (ja) | ファイルキャッシュの管理方法、ファイルキャッシュ装置、及び、プログラム | |
JP6107341B2 (ja) | データ管理プログラム,データ管理装置およびデータ管理方法 | |
CN107819804B (zh) | 云端储存设备系统及决定其架构的高速缓存中数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |