CN109819039A - 一种文件获取方法、文件存储方法、服务器及存储介质 - Google Patents
一种文件获取方法、文件存储方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN109819039A CN109819039A CN201910096893.7A CN201910096893A CN109819039A CN 109819039 A CN109819039 A CN 109819039A CN 201910096893 A CN201910096893 A CN 201910096893A CN 109819039 A CN109819039 A CN 109819039A
- Authority
- CN
- China
- Prior art keywords
- file
- request downloading
- request
- downloading
- memory
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种文件获取方法、文件存储方法、服务器及存储介质。本发明中,获取客户端发送的请求下载的文件名称;根据请求下载的文件名称判断请求下载的文件是否为热点文件,若是,判断本地是否已经缓存请求下载的文件,若是,则从本地获取请求下载的文件,否则,从分布式文件系统获取请求下载的文件;否则,直接从分布式文件系统获取请求下载的文件;将请求下载的文件发送给客户端。使得能够快速的获得客户端请求下载的文件,并减轻分布式文件系统的访问压力。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种文件获取方法、文件存储方法、服务器及存储介质。
背景技术
随着信息爆炸时代中人们可以获取的数据成指数倍增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已经不能满足人们的需求,在此基础上出现了分布式文件系统,将固定于某个地点的某个文件系统,扩展到任意多个地点或多个文件系统,众多的节点组成一个文件系统网络。因此当客户端需要缓存文件时,可以通过访问分布式文件系统获得所需要缓存的文件。
发明人发现现有技术中至少存在如下问题:由于分布式文件系统也是有一定的访问承载能力的,当进行大量频繁的文件访问时,会将分布式文件系统拖垮,从而影响文件的下载请求响应速度,而现有技术中也还没有一种有效的文件缓存方式,可以有效、快速的获取所需要缓存的文件。
发明内容
本发明实施方式的目的在于提供一种文件获取方法、服务器及存储介质,使得能够快速的获得客户端请求下载的文件,并减轻分布式文件系统的访问压力。
为解决上述技术问题,本发明的实施方式提供了一种文件获取方法,包括以下步骤:获取客户端发送的请求下载的文件名称;根据请求下载的文件名称判断请求下载的文件是否为热点文件,若是,判断本地是否已经缓存请求下载的文件,若是,则从本地获取请求下载的文件,否则,从分布式文件系统获取请求下载的文件;否则,直接从分布式文件系统获取请求下载的文件;将所述请求下载的文件发送给所述客户端。
本发明的实施方式提供了一种文件存储方法,包括以下步骤:获取需要存储的文件的属性信息,其中,属性信息包括文件大小和文件热度;将文件以及文件的属性信息保存在分布式文件系统;根据属性信息将文件缓存在缓存服务器的内存或磁盘;将属性信息更新至缓存服务器的内存中。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的文件获取方法。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的文件存储方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如上所述的文件获取方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如上所述的文件存储方法。
本发明实施方式相对于现有技术而言,在获取到请求下载的文件名称时,会根据请求下载的文件名称判断是否为热点文件,以及请求下载的文件在本地的缓存情况,并在确定为热点文件并在本地保存的情况下,直接从本地获取,否则从分布式文件系统获取,因为从本地获取文件的速度要快于从分布式文件系统获取的速度,因此提高了文件获取的速度,并减轻了分布式文件系统的访问压力。
另外,本地包括磁盘或内存。
另外,从分布式文件系统获取请求下载的文件之后,还包括:获取请求下载的文件的属性信息,其中,属性信息包括请求下载的文件名称、请求下载的文件大小和请求下载的文件访问频度;将请求下载的文件以及请求下载的文件的属性信息缓存到本地。该实现中,通过获取请求下载的文件的属性信息,并将请求下载的文件和请求下载的文件的属性信息缓存在本地,从而便于客户端需要再次获取请求下载的文件时,可以直接从本地获取,不需要再次访问分布式文件系统,从而进一步提高了请求下载的文件的获取速度。
另外,直接从分布式文件系统获取请求下载的文件之后,还包括:获取请求下载的文件的属性信息,其中,属性信息包括请求下载的文件名称、请求下载的文件大小和请求下载的文件访问频度;更新请求下载的文件访问频度,并确定请求下载的文件访问频度达到热点阈值的情况下,将请求下载的文件以及请求下载的文件的属性信息缓存到本地。该实现中,在确定请求下载的文件不是热点文件的情况下,通过更新请求下载的文件访问频度,在确定请求下载的文件访问频度达到热点阈值,即确定请求下载的文件类型转变为热点文件的情况下,将请求下载的文件和请求下载的文件的属性信息缓存在本地,从而便于客户端需要再次获取请求下载的文件时,可以直接从本地获取,不需要再次访问分布式文件系统,从而提高了请求下载的文件的获取速度。
另外,将请求下载的文件以及请求下载的文件的属性信息缓存到本地,具体包括:根据属性信息确定请求下载的文件大小;根据请求下载的文件大小,将请求下载的文件以及请求下载的文件的属性信息缓存到本地。
另外,根据请求下载的文件大小,将请求下载的文件以及请求下载的文件的属性信息缓存到本地,包括:在确定请求下载的文件大小小于第一阈值时,直接将请求下载的文件以及请求下载的文件的属性信息缓存到内存;在确定请求下载的文件大小属于第一阈值与第二阈值范围内时,则判断请求下载的文件访问频度是否达到预设频度,若是,则将请求下载的文件以及请求下载的文件的属性信息缓存到内存,否则,将请求下载的文件缓存到磁盘;在确定请求下载的文件大小属于第二阈值与第三阈值范围内时,直接将请求下载的文件缓存到磁盘,其中,第一阈值小于第二阈值,第二阈值小于第三阈值。该实现中,在根据请求下载的文件大小,将请求下载的文件以及请求下载的文件的属性信息缓存到本地时,具体采用的方式是根据设定的不同阈值将请求下载的文件进行缓存,从而保证了文件缓存的准确性。
另外,根据请求下载的文件名称判断请求下载的文件是否为热点文件,具体包括:将请求下载的文件名称与预存的热点文件列表进行匹配;根据匹配结果判断请求下载的文件是否为热点文件。该实现中,在确定请求下载的文件是否为热点文件时,采用的是将请求下载的文件名称与预存的热点文件列表进行匹配,从而保证了热点文件确定结果的准确性。
另外,根据属性信息将文件缓存在缓存服务器的内存或磁盘,包括:在确定文件大小小于第一阈值时,直接将文件缓存到内存;在确定文件大小属于第一阈值与第二阈值范围内时,则判断文件热度是否达到预设热度阈值,若是,则将文件缓存到内存,否则,将文件缓存到磁盘;在确定文件大小属于第二阈值与第三阈值范围内时,将文件缓存到磁盘,其中,第一阈值小于第二阈值,第二阈值小于第三阈值。该实现中,在进行文件缓存时,在将文件以及文件的属性信息缓存在分布式文件系统中之后,还会根据文件的大小,将文件缓存在缓存服务器的内存或磁盘中的不同位置,本实施方式中通过采用三级缓存的方式,能够根据不同的需要选用不同的缓存位置,实现了文件缓存方式的多样性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请第一实施例中文件获取方法的流程图;
图2是本申请第二实施例中文件获取方法的流程图;
图3是本申请第三实施例中文件存储方法的流程图;
图4是本申请第四实施例中服务器的结构示意图;
图5是本申请第五实施例中缓存服务器的结构示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种文件获取方法,应用于服务器。具体流程如图1所示,包括以下步骤:
步骤101,获取客户端发送的请求下载的文件名称。
具体的说,本实施方式中的服务器是与多个客户端建立了通信连接关系,因此可以接收到多个客户端分别发送的通信信息,本实施方式是以服务器与一个客户端进行通信为例进行说明,服务器获取客户端发送的请求下载指令,并且在请求下载指令中包含了请求下载的文件名称,因此服务器根据请求下载指令可以直接或间接的获得客户端发送的请求下载的文件名称。
需要说明的是,在本实施方式中,服务器可以采用有线或无线的方式获得客户端发送的请求下载的文件名称,无线方式具体可以为蓝牙或Wifi,有线方式具体可以为信号线,但本实施方式并不限定具体的获取方式,只要够准确的获取请求下载的文件名称,都是在本申请的保护范围内的。
步骤102,根据请求下载的文件名称判断请求下载的文件是否为热点文件,若是,则执行步骤104,否则执行步骤103。
具体的说,在本实施方式中,会首先判断请求下载的文件是否为热点文件,热点文件指的是客户端需要经常进行缓存的文件,因此访问频度会比较大。并且根据是否为热点文件的判断结果,可以确定请求下载的文件的获取地址。
其中,获取地址具体指的是本地或分布式文件系统,并且本实施方式中的本地包括磁盘或内存。
需要说明的是,在本实施方式中,在根据请求下载的文件名称判断请求下载的文件是否为热点文件时,具体采用的方式是,将请求下载的文件名称与预存的热点文件列表进行匹配,从而根据匹配结果判断请求下载的文件是否为热点文件。例如,请求下载的文件名称为文件A,而在热点文件列表中保存的所有热点文件分别为:文件A,文件B,文件C和文件D,因此通过查询热点文件列表,可以准确的确定请求下载的文件A为热点文件。
步骤103,直接从分布式文件系统获取请求下载的文件。
需要说明的是,在实际应用中,本地存储资源比较少,非热点文件一般是不会保存在本地的,但分布式文件系统的存储资源非常丰富,所有文件都会在分布式文件系统进行存储,但一般情况下从本地获取文件的速度会快于从分布式文件系统获取文件的速度。因此,当确定请求下载的文件为非热点文件时,可以直接从分布式文件系统获取请求下载的文件。
需要说明的是,在直接从分布式文件系统获取请求下载的文件时,具体可以是根据请求下载的文件名称从分布式文件系统中进行查询,因为分布式文件系统中保存了每个文件的属性信息,而在属性信息中包含了文件的名称、文件的大小以及文件的访问频度。因此从分布式文件系统中进行查询,确定与请求下载的文件名称相同的文件,并从分布式文件系统中获取该文件。
步骤104,判断本地是否已经缓存请求下载的文件,若是,则执行步骤105,否则,执行步骤106。
具体的说,在本实施方式中,热点文件虽然通常保存在本地,但由于本地存储故障可能会造成热点文件的丢失,所以虽然已经确定请求下载的文件为热点文件,但仍需要进一步判断本地是否已经缓存请求下载的文件。
其中,在本地是保存了多个不同的热点文件,并且每一个热点文件都有对应的属性信息,而在属性信息中是包含热点文件的名称的,所以根据请求下载的文件名称从本地进行查询,若能够找到具有相同名称的热点文件,则确定本地缓存了请求下载的文件,并将上述具有相同名称的热点文件作为请求下载的文件;若没有找到,则确定本地未缓存请求下载的文件。
步骤105,从本地获取请求下载的文件。
具体的说,在本实施方式中,当确定本地已经缓存请求下载的文件时,则可以将从本地查询到的,并且与请求下载的文件名称相同的热点文件筛选出来,并直接获取该热点文件。
步骤106,从分布式文件系统获取请求下载的文件。
具体的说,在本实施方式中,当确定本地未缓存请求下载的文件时,说明本地出现了存储故障造成了热点文件的丢失,从而重新从分布式文件系统获取请求下载的文件,具体获取方式可以采用:根据请求下载的文件名称从分布式文件系统中进行查询,因为分布式文件系统中保存了每个文件的属性信息,而在属性信息中包含了文件的名称、文件的大小以及文件的访问频度。因此从分布式文件系统中进行查询,确定与请求下载的文件名称相同的文件,并从分布式文件系统中获取该文件。
与现有技术相比,本实施方式提供的文件获取方法,在获取到请求下载的文件名称时,会根据请求下载的文件名称判断是否为热点文件,以及请求下载的文件在本地的缓存情况,并在确定为热点文件并在本地保存的情况下,直接从本地获取,否则从分布式文件系统获取,因为从本地获取文件的速度要快于从分布式文件系统获取的速度,因此提高了文件获取的速度,并减轻了分布式文件系统的访问压力。
本发明的第二实施方式涉及一种文件获取方法。本实施例在第一实施例的基础上做了进一步改进,具体改进之处为:在直接从分布式文件系统获取请求下载的文件之后,或者从分布式文件系统获取请求下载的文件之后,增加了获取请求下载的文件的属性信息,并将请求下载的文件以及请求下载的文件的属性信息缓存到本地的步骤。本实施例中的文件获取方法的流程如图2所示。具体的说,在本实施例中,包括步骤201至步骤210,其中步骤201至206与第一实施方式中的步骤101至步骤106大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的文件获取方法,此处不再赘述。
步骤201,获取客户端发送的请求下载的文件名称。
步骤202,根据请求下载的文件名称判断请求下载的文件是否为热点文件,若是,则执行步骤204,否则依次执行步骤203、步骤209和步骤210。
步骤203,直接从分布式文件系统获取请求下载的文件。
步骤209,获取请求下载的文件的属性信息。
其中,本实施方式中的属性信息是包括请求下载的文件名称、请求下载的文件大小和请求下载的文件访问频度。并且本实施方式中的获取请求下载的文件的属性信息,与步骤203中直接从分布式文件系统获取请求下载的文件时间间隔非常短,因此基本上可以认为两个步骤为同步发生的。
步骤210,更新请求下载的文件访问频度,并确定请求下载的文件访问频度达到热点阈值的情况下,将请求下载的文件以及请求下载的文件的属性信息缓存到本地。
需要说明的是,因为请求下载的文件经过判断并不是热点文件,但当获取到客户端发送的请求下载的文件名称时,分布式文件系统中所请求下载的文件访问频度会增加一次,如果确定请求下载的文件访问频度达到热点阈值,说明此时请求下载的文件的类型已经变为热点文件,此时会将请求下载的文件以及请求下载的文件的属性信息缓存到本地。
在一个具体实现中,若确定热点阈值为100,但分布式文件系统中所保存的请求下载的文件访问频度为99,因为当前获取到客户端发送的请求下载的文件名称,说明请求下载的文件被再次访问,此时请求下载的文件访问频度会增加一次变为100,恰好达到了热点阈值,并将分布式文件系统中所保存的请求下载的文件的访问频度更新为100,说明此时请求下载的文件的类型已经变为了热点文件,并将请求下载的文件以及请求下载的文件的属性信息缓存到本地。
步骤204,判断本地是否已经缓存请求下载的文件,若是,则执行步骤205,否则,依次执行步骤206、步骤207和步骤208。
步骤205,从本地获取请求下载的文件。
步骤206,从分布式文件系统获取请求下载的文件。
步骤207,获取请求下载的文件的属性信息。
其中,本实施方式中的属性信息是包括请求下载的文件名称、请求下载的文件大小和请求下载的文件访问频度。并且本实施方式中的获取请求下载的文件的属性信息,与步骤206中直接从分布式文件系统获取请求下载的文件时间间隔非常短,因此基本上可以认为两个步骤为同步发生的。
需要说明的是,与步骤209不同的是,因为此时经过判断确定请求下载的文件已经为热点文件,此时需要再次从分布式文件系统获取请求下载的文件的属性信息,是因为本地存储故障造成了热点文件的丢失,所以此时请求下载的文件的属性信息中所包含的访问频度已经达到或已经超过热点阈值。
步骤208,将请求下载的文件以及请求下载的文件的属性信息缓存到本地。
其中,在本实施方式中,具体采用的是根据属性信息确定请求下载的文件大小,根据请求下载的文件大小,将请求下载的文件以及请求下载的文件的属性信息缓存到本地。
具体的说,在确定请求下载的文件大小小于第一阈值时,直接将请求下载的文件以及请求下载的文件的属性信息缓存到内存;在确定请求下载的文件大小属于第一阈值与第二阈值范围内时,则判断请求下载的文件访问频度是否达到预设频度,若是,则将请求下载的文件以及请求下载的文件的属性信息缓存到内存,否则,将请求下载的文件缓存到磁盘;在确定请求下载的文件大小属于第二阈值与第三阈值范围内时,直接将请求下载的文件缓存到磁盘,其中,第一阈值小于第二阈值,第二阈值小于第三阈值。
在一个具体实现中,设定第一阈值为100KB,第二阈值为10MB,第三阈值为1G,预设频度为110。若根据请求下载的文件的属性信息,确定请求下载的文件大小为50KB,小于100KB,直接将请求下载的文件以及请求下载的文件的属性信息缓存到内存;若确定请求下载的文件大小为30MB,位于10MB与1Gz之间,直接将请求下载的文件缓存到磁盘;若确定请求下载的文件的大小为500KB,位于100KB与10MB之间,则会根据请求下载的文件的属性信息进一步确定请求下载的文件访问频度为120,因为超过了预设频度,因此会将请求下载的文件以及请求下载的文件的属性信息缓存到内存。
需要说明的是,在本实施方式中,因为本地的存储空间是有限的,如果请求下载的文件大小确定大于第三阈值,则不会将请求下载的文件保存在本地。
与现有技术相比,本实施方式提供的文件获取方法,在获取到请求下载的文件名称时,会根据请求下载的文件名称判断是否为热点文件,以及请求下载的文件在本地的缓存情况,并在确定为热点文件并在本地保存的情况下,直接从本地获取,否则从分布式文件系统获取,因为从本地获取文件的速度要快于从分布式文件系统获取的速度,因此提高了文件获取的速度,并减轻了分布式文件系统的访问压力。并且通过将请求下载的文件和请求下载的文件的属性信息缓存在本地,从而便于客户端需要再次获取请求下载的文件时,可以直接从本地获取,不需要再次访问分布式文件系统,从而进一步提高了请求下载的文件的获取速度。
本发明的第三实施方式涉及一种文件存储方法。具体流程如图3所示,包括以下步骤:
步骤301,获取需要存储的文件的属性信息。
具体的说,本实施方式中的属性信息包括文件大小和文件热度,并且本实施方式中需要存储的文件可以是客户端所上传的文件,并且属性信息中的文件热度能够体现需要存储的文件的上传频率。
其中,在本实施方式中属性信息还可以包括文件名称,当然还可以包含需要存储的文件的其它特征信息,本实施方式中并不限定属性信息中所包含的信息的类型,只要能对文件的特征进行标识,都是在本申请的保护范围内的。
步骤302,将文件以及文件的属性信息保存在分布式文件系统。
具体的说,在本实施方式中,所获取的文件以及文件的属性信息都会保存在分布式文件系统中,并且分布式文件系统在对文件进行保存时,并不限定文件的大小,不论是小文件、大文件还是超大文件都是可以保存在分布式文件系统中的。
需要说明的是,由于分布式文件系统并不对所存储的文件的大小进行限定,所以可以存储多种类型的文件,所以在确定缓存服务器中未缓存所需要的文件时,都可以从分布式文件系统中获取到所需要的文件。
步骤303,根据属性信息将文件缓存在缓存服务器的内存或磁盘。
具体的说,在本实施方式中,在确定文件大小小于第一阈值时,直接将文件缓存到内存;在确定文件大小属于第一阈值与第二阈值范围内时,则判断文件热度是否达到预设热度阈值,若是,则将文件缓存到内存,否则,将文件缓存到磁盘;在确定文件大小属于第二阈值与第三阈值范围内时,将文件缓存到磁盘;其中,第一阈值小于第二阈值,第二阈值小于第三阈值。
在一个具体实现中,设定第一阈值为100KB,第二阈值为10MB,第三阈值为1G,预设热度阈值为5。若确定文件大小为50KB,因为小于100KB,所以直接将文件缓到内存;若确定文件大小为30MB,因为位于10MB与1Gz之间,所以将文件缓存到磁盘;若确定文件大小为500KB,因为位于100KB与10MB之间,已知文件热度为8,由于文件热度超过了预设热度阈值5,因此会将文件缓存到内存。
步骤304,将属性信息更新至缓存服务器的内存中。
具体的说,在本实施方式中,在将文件缓存在服务器的内存或磁盘中之后,还会文件的属性信息更新至缓存服务器的内存中,因此在缓存服务器的内存中同时保存了文件以及文件的属性信息,从而保证了内存中所缓存的文件信息的完整性。
需要说明的是,由于属性信息中包括文件的特征变化信息,例如文件的访问频度等都是可以发生变化的特征,所以内存中所缓存的属性信息会根据实际情况进行实时更新。
与现有技术相比,本实施方式提供的文件存储方法,在进行文件缓存时,在将文件以及文件的属性信息缓存在分布式文件系统中之后,还会根据文件的大小,将文件缓存在缓存服务器的内存或磁盘中的不同位置,本实施方式中通过采用三级缓存的方式,能够根据不同的需要选用不同的缓存位置,实现了文件缓存方式的多样性。
本发明第四实施方式涉及一种服务器,如图4所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述实施例中的文件获取方法。
本实施例中,处理器401以中央处理器(Central Processing Unit,CPU)为例,存储器402以可读写存储器(Random Access Memory,RAM)为例。处理器401、存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现文件获取方法的程序就存储于存储器402中。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述文件获取方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个程序模块存储在存储器402中,当被一个或者多个处理器401执行时,执行上述任意方法实施例中的文件获取方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的文件获取方法。
本发明的第五实施方式涉及一种缓存服务器,如图5所示包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述实施例中的文件存储方法。
本实施例中,处理器501以中央处理器(Central Processing Unit,CPU)为例,存储器502以可读写存储器(Random Access Memory,RAM)为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现文件获取方法的程序就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述文件存储方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个程序模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施例中的文件存储方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的文件存储方法。
本申请的第六实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本发明任意方法实施例中涉及的文件获取方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请第一实施例或第二实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的第七实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本发明任意方法实施例中涉及的文件存储方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请第三实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (13)
1.一种文件获取方法,其特征在于,应用于服务器,包括:
获取客户端发送的请求下载的文件名称;
根据所述请求下载的文件名称判断请求下载的文件是否为热点文件,若是,判断本地是否已经缓存所述请求下载的文件,若是,则从本地获取所述请求下载的文件,否则,从分布式文件系统获取所述请求下载的文件;
否则,直接从所述分布式文件系统获取所述请求下载的文件;
将所述请求下载的文件发送给所述客户端。
2.根据权利要求1所述的文件获取方法,其特征在于,所述本地包括磁盘或内存。
3.根据权利要求2所述的文件获取方法,其特征在于,所述从分布式文件系统获取所述请求下载的文件之后,还包括:
获取所述请求下载的文件的属性信息,其中,属性信息包括所述请求下载的文件名称、所述请求下载的文件大小和所述请求下载的文件访问频度;
将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述本地。
4.根据权利要求2所述的文件获取方法,其特征在于,所述直接从分布式文件系统获取所述请求下载的文件之后,还包括:
获取所述请求下载的文件的属性信息,其中,属性信息包括所述请求下载的文件名称、所述请求下载的文件大小和所述请求下载的文件访问频度;
更新所述请求下载的文件访问频度,并确定所述请求下载的文件访问频度达到热点阈值的情况下,将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述本地。
5.根据权利要求3或4所述的文件获取方法,其特征在于,所述将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述本地,具体包括:
根据所述属性信息确定所述请求下载的文件大小;
根据所述请求下载的文件大小,将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述本地。
6.根据权利要求5所述的文件获取方法,其特征在于,所述根据所述请求下载的文件大小,将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述本地,包括:
在确定所述请求下载的文件大小小于第一阈值时,直接将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述内存;
在确定所述请求下载的文件大小属于所述第一阈值与第二阈值范围内时,则判断所述请求下载的文件访问频度是否达到预设频度,若是,则将所述请求下载的文件以及所述请求下载的文件的属性信息缓存到所述内存,否则,将所述请求下载的文件缓存到所述磁盘;
在确定所述请求下载的文件大小属于所述第二阈值与第三阈值范围内时,直接将所述请求下载的文件缓存到所述磁盘,其中,所述第一阈值小于所述第二阈值,所述第二阈值小于所述第三阈值。
7.根据权利要求1所述文件获取方法,其特征在于,所述根据所述请求下载的文件名称判断请求下载的文件是否为热点文件,具体包括:
将所述请求下载的文件名称与预存的热点文件列表进行匹配;
根据匹配结果判断所述请求下载的文件是否为热点文件。
8.一种文件存储方法,其特征在于,应用于分布式文件系统及缓存服务器,包括:
获取需要存储的文件的属性信息,其中,所述属性信息包括文件大小和文件热度;
将所述文件以及所述文件的属性信息保存在所述分布式文件系统;
根据所述属性信息将所述文件缓存在所述缓存服务器的内存或磁盘;
将所述属性信息更新至所述缓存服务器的内存中。
9.根据权利要求8所述的文件存储方法,其特征在于,所述根据所述属性信息将所述文件缓存在所述缓存服务器的内存或磁盘,包括:
在确定所述文件大小小于第一阈值时,直接将所述文件缓存到所述内存;
在确定所述文件大小属于所述第一阈值与第二阈值范围内时,则判断所述文件热度是否达到预设热度阈值,若是,则将所述文件缓存到所述内存,否则,将所述文件缓存到所述磁盘;
在确定所述文件大小属于所述第二阈值与第三阈值范围内时,将所述文件缓存到所述磁盘,其中,所述第一阈值小于所述第二阈值,所述第二阈值小于所述第三阈值。
10.一种缓存服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7任一项所述的文件获取方法。
11.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求8至9任一项所述的文件存储方法。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的文件获取方法。
13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求8至9任一项所述的文件存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910096893.7A CN109819039B (zh) | 2019-01-31 | 2019-01-31 | 一种文件获取方法、文件存储方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910096893.7A CN109819039B (zh) | 2019-01-31 | 2019-01-31 | 一种文件获取方法、文件存储方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109819039A true CN109819039A (zh) | 2019-05-28 |
CN109819039B CN109819039B (zh) | 2022-04-19 |
Family
ID=66606093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910096893.7A Active CN109819039B (zh) | 2019-01-31 | 2019-01-31 | 一种文件获取方法、文件存储方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109819039B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111432039A (zh) * | 2020-06-15 | 2020-07-17 | 北京金山云网络技术有限公司 | Cdn中数据请求方法、装置、设备和cdn节点 |
CN111654711A (zh) * | 2020-06-17 | 2020-09-11 | 三星电子(中国)研发中心 | 视频播放控制方法、视频播放方法及其装置 |
CN111930696A (zh) * | 2020-07-22 | 2020-11-13 | 中国建设银行股份有限公司 | 一种基于小程序的文件传输处理方法及系统 |
CN112448984A (zh) * | 2019-09-02 | 2021-03-05 | 北京新唐思创教育科技有限公司 | 资源传输方法、电子设备及计算机存储介质 |
CN112671918A (zh) * | 2020-12-29 | 2021-04-16 | 平安普惠企业管理有限公司 | 基于二进制的分布式数据下载方法、装置、设备及介质 |
CN114422522A (zh) * | 2020-10-13 | 2022-04-29 | 贵州白山云科技股份有限公司 | 一种缓存分发方法、装置、介质及设备 |
CN115065859A (zh) * | 2022-06-07 | 2022-09-16 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202362A (zh) * | 2014-08-14 | 2014-12-10 | 上海帝联信息科技股份有限公司 | 负载均衡系统及其内容分发方法和装置、负载均衡器 |
US20150026251A1 (en) * | 2010-03-22 | 2015-01-22 | At&T Intellectual Property I, L.P. | Internet protocol version 6 content routing |
CN105072172A (zh) * | 2015-07-31 | 2015-11-18 | 网宿科技股份有限公司 | 一种基于内容分发网络的热点统计及推送方法及系统 |
CN107517241A (zh) * | 2016-06-16 | 2017-12-26 | 中兴通讯股份有限公司 | 请求调度方法及装置 |
CN107886008A (zh) * | 2016-09-30 | 2018-04-06 | 北京京东尚科信息技术有限公司 | 文件管理方法和系统 |
CN109002543A (zh) * | 2018-07-24 | 2018-12-14 | 北京京东尚科信息技术有限公司 | 一种文件存储的方法和装置 |
CN109167828A (zh) * | 2018-08-22 | 2019-01-08 | 杭州领智云画科技有限公司 | Cdn缓存方法和系统 |
-
2019
- 2019-01-31 CN CN201910096893.7A patent/CN109819039B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026251A1 (en) * | 2010-03-22 | 2015-01-22 | At&T Intellectual Property I, L.P. | Internet protocol version 6 content routing |
CN104202362A (zh) * | 2014-08-14 | 2014-12-10 | 上海帝联信息科技股份有限公司 | 负载均衡系统及其内容分发方法和装置、负载均衡器 |
CN105072172A (zh) * | 2015-07-31 | 2015-11-18 | 网宿科技股份有限公司 | 一种基于内容分发网络的热点统计及推送方法及系统 |
CN107517241A (zh) * | 2016-06-16 | 2017-12-26 | 中兴通讯股份有限公司 | 请求调度方法及装置 |
CN107886008A (zh) * | 2016-09-30 | 2018-04-06 | 北京京东尚科信息技术有限公司 | 文件管理方法和系统 |
CN109002543A (zh) * | 2018-07-24 | 2018-12-14 | 北京京东尚科信息技术有限公司 | 一种文件存储的方法和装置 |
CN109167828A (zh) * | 2018-08-22 | 2019-01-08 | 杭州领智云画科技有限公司 | Cdn缓存方法和系统 |
Non-Patent Citations (2)
Title |
---|
PINGCHUAN DING等: ""A cache replacement strategy for hybrid P2P VOD streaming media"", 《2017 IEEE/CIC INTERNATIONAL CONFERENCE ON COMMUNICATIONS IN CHINA(ICCC)》 * |
王坤: ""面向Hadoop的小文件存储机制研究"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448984A (zh) * | 2019-09-02 | 2021-03-05 | 北京新唐思创教育科技有限公司 | 资源传输方法、电子设备及计算机存储介质 |
CN111432039A (zh) * | 2020-06-15 | 2020-07-17 | 北京金山云网络技术有限公司 | Cdn中数据请求方法、装置、设备和cdn节点 |
CN111654711A (zh) * | 2020-06-17 | 2020-09-11 | 三星电子(中国)研发中心 | 视频播放控制方法、视频播放方法及其装置 |
CN111930696A (zh) * | 2020-07-22 | 2020-11-13 | 中国建设银行股份有限公司 | 一种基于小程序的文件传输处理方法及系统 |
CN114422522A (zh) * | 2020-10-13 | 2022-04-29 | 贵州白山云科技股份有限公司 | 一种缓存分发方法、装置、介质及设备 |
CN114422522B (zh) * | 2020-10-13 | 2024-02-13 | 贵州白山云科技股份有限公司 | 一种缓存分发方法、装置、介质及设备 |
CN112671918A (zh) * | 2020-12-29 | 2021-04-16 | 平安普惠企业管理有限公司 | 基于二进制的分布式数据下载方法、装置、设备及介质 |
CN112671918B (zh) * | 2020-12-29 | 2024-03-05 | 平安普惠企业管理有限公司 | 基于二进制的分布式数据下载方法、装置、设备及介质 |
CN115065859A (zh) * | 2022-06-07 | 2022-09-16 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
CN115065859B (zh) * | 2022-06-07 | 2024-05-07 | 北京达佳互联信息技术有限公司 | 视频数据获取方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109819039B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109819039A (zh) | 一种文件获取方法、文件存储方法、服务器及存储介质 | |
CN103593147B (zh) | 一种数据读取的方法及装置 | |
CN104756449B (zh) | 从内容中心网络中的节点和内容拥有者发送包的方法 | |
CN102629941B (zh) | 云计算系统中虚拟机镜像缓存的方法 | |
US7685367B2 (en) | Multi-cache cooperation for response output caching | |
CN108737534B (zh) | 一种基于区块链的数据传输方法、装置、区块链系统 | |
CN109145020A (zh) | 信息查询方法、从服务器、客户端及计算机可读存储介质 | |
CN105653198A (zh) | 数据处理方法及装置 | |
CN105224255B (zh) | 一种存储文件管理方法及装置 | |
US20090177844A1 (en) | Method of efficiently choosing a cache entry for castout | |
CN106933871A (zh) | 短链接处理方法、装置及短链接服务器 | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
US20160360001A1 (en) | Device and method for monitoring server health | |
CN105335170A (zh) | 分布式系统及数据增量更新方法 | |
TW201329890A (zh) | 店鋪訪問資料處理方法及系統 | |
CN103970678B (zh) | 目录设计方法及装置 | |
CN106254529A (zh) | 一种客户端数据缓存方法和装置 | |
CN106254561A (zh) | 一种网络资源文件的实时离线下载方法及系统 | |
CN108347459A (zh) | 一种云端数据快速存储方法及装置 | |
CN103336670B (zh) | 一种基于数据温度对数据块自动进行分布的方法和装置 | |
CN110147345A (zh) | 一种基于rdma的键值存储系统及其工作方法 | |
CN105893401A (zh) | 天气信息的展示方法和装置 | |
JP4741301B2 (ja) | 情報検索システム、情報検索装置、情報検索方法、記録媒体及びプログラム | |
CN106713460A (zh) | 一种flash应用的版本控制方法和系统 | |
CN109241021A (zh) | 一种文件查询方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |