CN111917882B - 文件缓存方法、装置及电子设备 - Google Patents
文件缓存方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111917882B CN111917882B CN202010788473.8A CN202010788473A CN111917882B CN 111917882 B CN111917882 B CN 111917882B CN 202010788473 A CN202010788473 A CN 202010788473A CN 111917882 B CN111917882 B CN 111917882B
- Authority
- CN
- China
- Prior art keywords
- file
- resource
- information
- storage medium
- information block
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012549 training Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文件缓存方法、装置及电子设备,该方法包括:在用户访问第一目标文件时,确定其对应的文件信息块,获取当前资源信息;确定文件权重并计算文件权重获得第一文件分值;更新第一目标文件对应的第一文件信息块的位置,确定第一文件信息块所属的第一信息指针,以确定缓存第一目标文件的最高级存储介质,按照缓存策略缓存第一目标文件。应用该方法,根据各个资源参数计算文件的文件分值,更新资源文件对应的文件信息块在文件信息列表当中的位置,以根据该位置及缓存策略对资源文件进行缓存。在缓存策略的基础上结合文件信息列表,更加合理地对资源文件进行缓存,以提高用户访问资源文件时的资源文件在更高级存储介质中的命中率。
Description
技术领域
本发明涉及数据缓存技术领域,特别是涉及一种文件缓存方法、装置及电子设备。
背景技术
随着科学技术的发展,CDN(ContentDeliveryNetwork,内容分发网络)系统能够实时根据网络流量和边缘节点距离、负载情况等信息,在用户发送资源请求时,将该请求转发至距离用户最近的边缘节点上,以使用户可以最近获取其所需的资源文件。
目前,CDN系统在处理用户的资源请求时,响应用户的资源请求的同时,将用户所请求的资源文件缓存在本地的边缘节点的多个存储介质当中,由于每个存储介质的缓存空间不同,导致各个存储介质对资源文件响应的速度不同。缓存空间越小的存储介质对资源请求的响应速度就越快。因此,在用户每次进行资源请求时,边缘节点通常会选择缓存空间最少且缓存该资源文件的存储介质对用户的资源请求进行响应,以最短的时间将资源文件反馈给用户。
由于每个存储介质的缓存空间有限,需要经常对各个存储介质中的资源文件进行增加和删除,现有技术通常使用最少使用置换算法或者是最近最久未使用置换算法,确定存储介质是否要增加资源文件或者删除资源文件,但是应用最少置换算法或最近最久未使用置换算法,仅根据资源文件最近的点击量和访问时间对缓存的资源文件进行处理,而各个资源文件所占用的存储空间均不相等,一个大文件可以对等成多个小文件,若响应速度比较快的存储介质缓存的均是大文件,则存储介质中所缓存的资源文件的数量将变少,降低了各个资源文件在存储介质中的命中率。
发明内容
有鉴于此,本发明提供一种文件缓存方法,通过该方法,不仅仅是根据点击量和访问时间来对资源文件进行缓存,而是综合各个资源参数计算出文件的文件分值,按照文件分值确定资源文件对应的文件信息块在文件信息列表中的位置后,再结合缓存策略合理缓存资源文件,提高各个资源文件在更高级存储介质的命中率。
本发明还提供了一种文件缓存装置,用以保证上述方法在实际中的实现及应用。
一种文件缓存方法,包括:
按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级及文件大小及优先级;
基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
上述的方法,可选的,还包括:
在当前时间段内未监控到用户对任意的资源文件进行访问时,确定所述当前时间段内未被访问的资源文件为第二目标文件;
确定所述第二目标文件对应的第二文件信息块及第二文件分值,并按照预先设定的减分处理规则对所述第二文件分值进行减分,获得所述第二目标文件对应的已减分的第二文件分值;
基于所述已减分的第二文件分值,更新所述第二文件信息块在所述文件信息列表中的位置;
确定已更新位置的第二文件信息块当前所属的第二信息指针,并将所述第二信息指针对应的存储介质,设置为缓存所述第二目标文件的最高级的存储介质后,按照所述缓存策略对所述第二目标文件进行缓存。
上述的方法,可选的,所述确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,包括:
获取所述第一目标文件对应的文件标识信息;
解析所述文件标识信息,获得所述第一目标文件对应的文件标识号;
获取所述文件信息列表中每个文件信息块对应的信息块号,并在各个所述信息块号中,确定与所述文件标识号一致的信息块号对应的文件信息块,为所述第一目标文件对应的第一文件信息块。
上述的方法,可选的,所述基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重,包括:
将所述当前资源信息中的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级,输入预先完成训练的时间预测模型中,以获得所述时间预测模型输出的预测时间段,所述预测时间段为预测所述第一目标文件下一次被访问的时间间隔;
获取预先设置的时间列表,并将所述预测时间段与所述时间列表中的各个时间段进行匹配,确定所述时间列表中与所述预测时间段相匹配的时间段对应的权重;
将所述时间列表中与所述预测时间段相匹配的时间段对应的权重,确定为所述第一目标文件的文件权重。
上述的方法,可选的,训练所述时间预测模型的过程,包括:
获取预设的历史时间段内各个所述资源文件的历史资源信息,及每个所述资源信息对应的历史预测时间段;
依次将各个所述历史资源信息中的各个资源参数输入所述时间预测模型中,以使所述时间预测模型进行模型训练,直至所述时间预测模型的模型参数满足预先设置的训练条件;
其中,将各个所述历史资源信息中的各个资源参数输入所述时间预测模型时,获得当前输入所述时间预测模型的历史资源信息中的各个资源参数的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述时间预测模型的历史资源信息中的各个资源参数对应的历史预测时间段进行计算,得到损失函数值;依据所述损失函数值,判断所述时间预测模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述时间预测模型的模型参数;若满足,则获得已完成训练的时间预测模型。
上述的方法,可选的,所述确定已更新位置的第一文件信息块当前所属的第一信息指针,包括:
更新所述文件信息列表中各个所述文件信息块的排序顺序,并获取各个所述文件信息块中的资源信息;
确定每个所述存储介质对应的当前缓存空间,并基于每个所述资源信息中包含的文件大小,计算每个所述存储介质中需要缓存的资源文件的总缓存容量;
基于每个所述存储介质对应的当前缓存空间及总缓存容量,计算每个所述存储介质中各个资源文件所占用的当前缓存空间的资源占比;
逐级判断各个所述存储介质对应的资源占比是否在预设的缓存区间内;
若当前等级的存储介质对应的资源占比不在所述缓存区间,则基于所述缓存区间,调整下一等级的存储介质对应的信息指针在所述文件信息列表中的位置,以变更所述当前等级的存储介质对应的命中范围;在结束对每个所述存储介质对应的信息指针在所述文件信息列表中位置的调整后,确定已更新位置的所述第一文件信息块所属的第一信息指针。
上述的方法,可选的,还包括:
确定所述第一信息指针对应的存储介质的等级,及当前访问所述第一目标文件的当前访问时间;
确定所述第一目标文件的新的访问频率、新的访问总数及新的文件缓存时间,基于所述第一信息指针对应的存储介质的等级、新的文件缓存时间、当前访问时间、新的访问频率、新的访问总数,更新所述第一目标文件的当前资源信息;
将已更新的当前资源信息存储至所述第一文件信息块中。
一种文件缓存装置,包括:
监控单元,用于按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
获取单元,用于确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级及文件大小及优先级;
确定单元,用于基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
计算单元,用于对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
更新单元,用于基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
缓存单元,用于确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
上述的装置,可选的,所述获取单元,包括:
获取子单元,用于获取所述第一目标文件对应的文件标识信息;
解析子单元,用于解析所述文件标识信息,获得所述第一目标文件对应的文件标识号;
第一确定子单元,用于获取所述文件信息列表中每个文件信息块对应的信息块号,并在各个所述信息块号中,确定与所述文件标识号一致的信息块号对应的文件信息块,为所述第一目标文件对应的第一文件信息块。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的文件缓存方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种文件缓存方法、装置及电子设备,该方法包括:在当前时间段内用户访问第一目标文件时,确定第一目标文件对应的文件信息块,并获取该第一目标文件的当前资源信息;基于当前资源信息中各个资源参数,确定第一目标文件的文件权重,并根据文件权重、文件大小及优先级,计算获得第一目标文件的第一文件分值,按照该第一文件分值更新第一文件信息块的在文件信息列表中的位置,以确定该第一文件信息块的所属的第一信息指针,通过该第一信息指针确定缓存该第一目标文件的最高级存储介质,并按照缓存策略对该第一目标文件进行缓存。应用本发明提供的方法,根据各个资源参数计算资源文件的文件分值,更新资源文件对应的文件信息块在文件信息列表当中的位置,以根据该位置及缓存策略对资源文件进行缓存。在缓存策略的基础上结合文件信息列表,更加合理地对资源文件进行缓存,以提高用户访问资源文件时的资源文件在更高级存储介质中的命中率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种文件缓存方法的方法流程图;
图2为本发明提供的一种文件缓存方法的方法示例图;
图3为本发明提供的一种文件缓存方法的又一方法示例图;
图4为本发明提供的一种文件缓存方法的又一方法流程图;
图5为本发明提供的一种文件缓存方法的再一方法流程图;
图6为本发明提供的一种文件缓存装置的装置结构图;
图7为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种文件缓存方法,该方法应用于CDN系统中的各个边缘节点,每个所述边缘节点包括文件信息列表及多个存储介质,各个所述存储介质按照缓存空间由小至大的顺序进行分级,各个所述存储介质按照预先设定的缓存策略缓存所述边缘节点中的各个资源文件,所述缓存策略为:每个所述存储介质中缓存的所有资源文件均为下一级存储介质中缓存的部分资源文件,最后一级存储介质存储所述边缘节点中的所有资源文件;所述文件信息列表包含每个所述资源文件对应的文件信息块,及与每个所述存储介质对应的信息指针;各个所述文件信息块按照其对应的资源文件的文件分值进行排序,每个所述信息指针分别指向一个文件信息块,任意两个相邻信息指针之间的各个文件信息块对应的资源文件均属于前一个信息指针对应的存储介质的命中范围。
其中,边缘节点中可以同时包含多个种类存储介质,如磁盘、U盘、内存条、SD卡、记忆棒等具有存储数据功能的载体;也可以只包含同一种类的存储介质,如边缘节点只包含多个不同容量的磁盘。
本发明所述方法的方法流程图如图1所示,具体包括:
S101:按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
在本发明实施例中,边缘节点按照设定的时间段对其已存储的各个资源文件进行监控,并确定该每一个时间段内是否有用户访问任意一个资源文件。边缘节点可以根据具体的访问情况设定对各个资源文件进行监控的时间段,如白天可以设置相对短一些的时间段,如五分钟、十分钟或二十分钟等。晚上和半夜可以设置相对长一些的时间段,如半个小时、一个小时或者两个小时等。
需要说明的是,该边缘节点以一个时间段作为对资源文件进行管理的时间节点,在每个时间段内,若有用户访问任意的资源文件,都需要对重新对该资源文件进行管理,以重新确定边缘节点中需要保存该资源文件的存储介质。
S102:确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息;
其中,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级及文件大小及优先级;
在本发明实施例中,文件信息列表中包含每个资源文件对应的文件信息块,每个文件信息块中保存其对应的资源文件的当前资源信息。通过该第一目标文件对应的第一文件信息块,获得该第一目标文件的当前资源信息,以获得该当前资源信息中的各个资源参数。
其中,上一次访问时间是用户通过该边缘节点访问该第一目标文件的时间;访问频率可以是在预设的时间区间内,用户访问该第一目标文件的频率;访问总数可以是在预设的时间区间内,用户访问该第一目标文件的次数;文件缓存时间指的是在当前缓存该第一目标文件的最高级存储介质中开始缓存该文件的时间;当前缓存的最高等级存储介质的等级指的是在当前各个缓存该第一目标文件的存储介质中,等级最高的存储介质在边缘节点中的等级。
需要说明的是,每个文件信息块中的当前资源信息可以是实时变化的,在用户访问该资源文件后,该用户当前访问的访问时间则为下一次获取该资源信息中的上一次访问时间,该访问频率也会根据用户对资源文件需求的增大而增大;若当前缓存该资源文件的最高级存储介质发生改变,其对应的当前缓存的最高等级存储介质的等级也会发生变化。因此在每次对资源文件进行缓存时,其对应的文件信息块中的资源信息也会发生改变。
具体的,第一目标文件的文件类型可以为索引文件或数据文件等。当前缓存的最高级存储介质为各个缓存第一目标文件的存储介质中等级最高的存储介质。该优先级为文件类型的优先级,每种资源文件的文件类型对应不同的优先级,如索引文件的优先级为5,数据文件的优先级为3。
S103:基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
在本发明实施例中,基于当前资源信息中的各个资源参数确定该第一目标文件的文件权重,具体可以是通过该当前资源信息中的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级确定第一目标文件的文件权重。
需要说明的是,当前资源信息中的访问频率越高、访问总数越高、上一次访问时间距离当前访问时间越短、存储介质等级越高,该第一目标文件对应的文件权重就越高。
S104:对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
在本发明实施例中,在获得文件权重后将文件权重、文件大小和优先级进行计算,获得该第一目标文件的第一文件分值。
具体的,计算文件分值的方式为:文件分值=文件权重×文件大小×文件优先级。
S105:基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
在本发明实施例中,由于文件信息列表中的各个文件信息块是按照文件分值进行排序的,在确定该第一目标文件的第一文件分值后,按照该第一文件分值对第一文件信息块进行重新排序,更新其在文件信息列表中进行排序的位置。
S106:确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
在本发明实施例中,在该第一文件信息块更新位置后,可以根据其当前所在的位置,确定其当前所属的第一信息指针。通过第一信息指针,可以确定缓存该第一目标文件的最高级存储介质,即该第一目标文件在该第一信息指针对应的存储介质的命中范围内。按照该缓存策略对该第一目标文件进行缓存。
本发明实施例提供的方法中,在当前时间段内,如果有用户访问了某个资源文件,该资源文件则为第一目标文件。边缘节点需要重新计算该第一目标文件的文件分值,以重新确定需要缓存该第一目标文件的各个存储介质。一般情况下,当边缘节点中的资源文件被用户进行访问后,该资源文件的文件分值都会增高,因此,该资源文件可能会缓存至更高级的存储介质当中。因此,当第一目标文件被访问时,通过获取其对应的第一文件信息块中的当前资源信息,确定该第一目标文件的文件权重后,再根据该文件权重以及当前资源信息中的文件大小和优先级计算该第一目标文件的第一文件分值,以通过该文件分值更新第一文件信息块在文件信息列表中的位置。在更新第一文件信息块的位置后,确定该第一文件信息块当前所在位置所属的第一信息指针,该第一信息指针对应的存储介质则为当前缓存该第一目标文件的最高级存储介质,在确定最高级存储介质后,按照该缓存策略缓存该资源文件。
需要说明的是,第一文件信息块更新位置后所属的信息指针对应的最高级存储介质,与更新位置前该第一文件信息块所属的信息指针对应的最高级存储介质可以是同一个存储介质,也可以是不同的存储介质。如果第一文件信息块更新位置前后所属的信息指针对应的两个存储介质为同一个存储介质,则该第一目标文件还是缓存在原先的各个存储介质当中;如果第一文件信息块更新位置前后所属的信息指针对应的两个存储介质不是同一个存储介质,则需要判断更新位置后的最高级存储介质的存储介质等级是否比更新位置前的最高级存储介质的存储介质等级高;若更新位置后的存储介质等级比更新位置前的存储介质等级高,则该第一目标文件需要按照缓存策略缓存在更新位置后的最高级存储介质及其他等级较低的存储介质中;若更新位置后的存储介质等级比更新位置前的存储介质等级低,则更新位置前的最高级存储介质以及比更新位置后的最高级存储介质的存储介质等级高的各个存储介质都要将该第一目标文件删除,由更新位置后的最高级存储介质及其他等级较低的存储介质缓存该第一目标文件。
在本发明实施例中,以边缘节点A为例,图2为该边缘节点A中各个存储介质以及文件信息列表之间的关系。边缘节点A中存有A、B、C、D、E、F、G、H、I九个文件,以及缓存文件的三个等级的存储介质,分别为MEM、SSD和SATA。其中,MEM是缓存空间最小的一级存储介质,MEM当前缓存文件A和文件B两个个文件;SSD是缓存空间大于MEM的二级存储介质,SSD当前缓存文件A、文件B、文件C、文件D、文件E五个文件;SATA是缓存空间大于SSD的三级存储介质,SATA当前缓存边缘节点中所有的文件。图1中的边缘节点A中包括文件信息列表A,该文件信息列表中包含九个文件信息块和三个信息指针,文件信息块1至文件信息块9分别与文件A至文件I一一对应,第一信息指针对应MEM,第二信息指针对应SSD,第三信息指针对应SATA。其中,第一信息指针指向文件信息块1,第二信息指针指向文件信息块3,第三信息指针指向文件信息块6,其中文件信息块1和文件信息块2对应的文件A和文件B在第一信息指针对应的MEM的命中范围内,文件信息块3至文件信息块5对应的各个文件在第二信息指针对应的SSD的命中范围内,文件信息块6至文件信息块9对应的各个文件在第三指针对应的SATA的命中范围内。
需要说明的是,该命中范围指的是在边缘节点中,目标存储介质对多个资源文件的响应速度高于其他存储介质的响应速度时,该目标存储介质响应速度最快的各个资源文件则为该目标存储介质的命中范围。如上述实施例中的文件A,其均缓存于所有的存储介质中,但是,该文件信息列表中,第一信息指针指向了文件A对应的文件信息块1,可以确定该第一信息指针对应的MEM是文件A的最高级存储介质,因此文件A在MEM的命中范围内,由MEM在用户访问文件A时,将该文件A反馈给用户,其他存储介质即使缓存有文件A,也不用对用户的访问进行响应。即,在文件信息列表中,任意的一个信息指针A所指向的文件信息块至下一个信息指针B所指向的文件信息块之前的各个文件信息块,均属于该信息指针A针对应的存储介质的命中范围。
参考图3,图3为用户对边缘节点中任一资源文件进行访问后,重新对该资源文件进行缓存的过程,基于上述实施例提供的方法,对文件缓存过程有以下具体的实施方式:
边缘节点中当前有五个资源文件和三个缓存文件的存储介质,五个资源文件分别为A、B、C、D、E,每个资源文件分别对应的文件信息块分别为a、b、c、d、e。各个文件信息块按照文件分值进行排序,各个资源文件的分值分别为90、88、86、84、80;边缘节点中的三个存储介质按等级划分,其中最高等级为一级缓存、其次是二级缓存、最后是三级缓存。在用户访问边缘节点的资源文件前,一级缓存对A和B进行缓存;二级缓存对A、B、C、D进行缓存;三级缓存对A、B、C、D、E进行缓存。指针1指向a,指针2指向c,指针3指向e。在当前时间段内,用户访问边缘节点的资源文件D时,将其确定为第一目标文件,并获取文件信息块d中的当前资源信息,通过该资源信息确定D的文件权重,并根据D的文件权重、文件大小和优先级,获得新的文件分值为89。根据新的文件分值,调整d在文件信息列表中的位置,则该文件信息列表中各个文件信息块的排序顺序变为a、d、b、c、e。此时,可以确定文件信息块d对应的资源文件D属于指针1对应的一级缓存的命中范围。按照缓存策略,一级缓存需要缓存资源文件D,同时二级缓存和三级缓存也要缓存该资源文件D。
还需要说明的是,若需要更新位置的第一文件信息块是信息指针指向的文件信息块,则将该信息指针指向第一文件信息块的下一个文件信息块后,再更新第一文件信息块的位置。
应用本发明实施例提供的方法,根据各个资源参数计算文件的文件分值,更新资源文件对应的文件信息块在文件信息列表当中的位置,以根据该位置及缓存策略对资源文件进行缓存。在缓存策略的基础上结合文件信息列表,更加合理地对资源文件进行缓存,以提高用户访问资源文件时的资源文件在更高级存储介质中的命中率。
本发明实施例提供的方法中,若在当前时间段内,有用户访问某一个资源文件,则需要对该资源文件的文件分值进行计算,以对该资源文件对应的文件信息块进行排序,更新该资源文件的缓存位置,若在当前时间段内有些资源文件没有被访问,也需要重新计算该资源文件的文件分值,具体过程可以包括:
在当前时间段内未监控到用户对任意的资源文件进行访问时,确定所述当前时间段内未被访问的资源文件为第二目标文件;
确定所述第二目标文件对应的第二文件信息块及第二文件分值,并按照预先设定的减分处理规则对所述第二文件分值进行减分,获得所述第二目标文件对应的已减分的第二文件分值;
基于所述已减分的第二文件分值,更新所述第二文件信息块在所述文件信息列表中的位置;
确定所述第二文件信息块已更新的位置当前所属的第二信息指针,并将第二信息指针对应的存储介质设置为缓存所述第二目标文件的最高级的存储介质后,按照所述缓存策略对所述第二目标文件进行缓存。
本发明实施例提供的文件缓存方法中,在当前时间段如果有些资源文件没有被用户访问,则需要对各个没有被访问的资源文件进行减分处理。其中,将在该当前时间段内没有被访问资源文件则为第二目标文件。确定该第二目标文件对应的第二文件信息块,以及该第二目标文件的文件分值。由于该第二目标文件在该时间段内没有被访问,则可以确定该第二目标文件的热度已降低,需要对该第二目标文件的第二文件分值进行减分,按照设定的分数进行减分,如每次进行减分时,只需要在原来文件分值的基础上减去设定的分数即可。由于各个文件信息块是按照文件分值进行排序的,第二目标文件减分后,该第二文件信息块的位置也会根据已减分的第二文件分值发生变化。更新该第二文件信息块,再重新确定该第二文件信息块所属的第二信息指针,该第二目标文件则在该第二信息指针对应的存储介质的命中范围内,该第二信息指针对应的存储介质则为新的缓存该第二目标文件的最高级存储介质,按照该缓存策略重新对该第二目标文件进行缓存。
应用本发明实施例的方法,对于没有被访问的资源文件,需要对其进行减分处理,并根据减分后的文件分值重新对资源文件对应的文件信息块进行排序,以重新确定缓存各个资源文件的存储介质,合理的缓存每个资源文件。
本发明实施例提供的方法中,基于上述步骤S102的内容,在由于边缘节点中的每个资源文件与文件信息列表中的各个文件信息块一一对应,因此,在需要重新缓存该第一目标文件时,需要确定文件信息列表中该第一目标文件对应的第一文件信息块,具体过程可以包括:
获取所述第一目标文件对应的文件标识信息;
解析所述文件信息,获得所述第一目标文件对应的文件标识号;
获取所述文件信息列表中每个文件信息块对应的信息块号,并在各个所述信息块号中,确定与所述文件标识号一致的信息块号对应的文件信息块,为所述第一目标文件对应的第一文件信息块。
本发明实施例提供的文件缓存方法中,文件标识信息中携带该第一目标文件的文件名称、文件标识号等信息。对该文件标识信息进行解析后,获得该第一目标文件对应的文件标识号。其中,边缘节点中每个资源文件的文件标识号与文件信息列表中各个文件信息块的信息块号是一一对应的。通过该第一目标文件的文件标识号,可以在文件信息列表中查找到与该文件信息标识号一致的信息块号,并将该信息块号对应的文件信息块确定为该第一目标文件的第一文件信息块。
应用本发明实施例提供的方法,准确确定该第一目标文件的文件信息块,以根据该第一文件信息块在文件信息列表中的位置,更新第一目标文件在边缘节点中的缓存位置。
本发明实施例提供的方法中,基于上述步骤S103的内容,确定第一目标文件的文件权重的过程如图4所示,具体可以包括:
S401:将所述当前资源信息中的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级,输入预先完成训练的时间预测模型中,以获得所述时间预测模型输出的预测时间段,所述预测时间段为预测所述第一目标文件下一次被访问的时间间隔;
在本发明实施例中,该时间预测模型可以根据输入的各个参数,预测出一个新的时间间隔,将上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级输入该时间预测模型后,由该时间预测该第一目标文件下一次被访问的时间的时间段。例如:预测该第一目标文件在2分钟后可将会被访问。
S402:获取预先设置的时间列表,并将所述预测时间段与所述时间列表中的各个时间段进行匹配,确定所述时间列表中与所述预测时间段相匹配的时间段对应的权重;
在本发明实施例中,时间列表中设置多个预测时间段以及各个预测时间段对应的权重,其中,一个预测时间段可以对应一个权重,也可以多个预测时间段对应一个权重。
具体的,当前资源信息中的访问频率越高、访问总数越高、上一次访问时间距离当前访问时间越短存储介质等级越高,预测时间段就越短,对应的权重就越高。
S403:将所述时间列表中与所述预测时间段相匹配的时间段对应的权重,确定为所述第一目标文件的文件权重。
在本发明实施例中,将时间预测模型输出的预测时间段与该时间列表中的各个时间段进行匹配,匹配一致的时间段对应的权重则为该第一目标文件的文件权重。
本发明实施例提供的文件缓存方法中,时间预测模型是一种神经网络模型,通过训练学习后,可以根据输入的各个资源参数,预测出每个资源文件下一次被访问的时间间隔,若预测出资源文件下一次被访问的时间间隔越短,可以确定该资源文件的访问频率比较高,按照时间列表中的各个时间段,可以赋予该资源文件较高的权重,以提高在计算该资源文件的文件分值时,增加资源文件的文件分值。
需要说明的是,在每次用户请求访问资源文件时,都要重新确定该资源文件的文件权重,以根据该文件权重重新确定该资源文件的文件分值。
应用本发明实施例提供的方法,由时间预测模型可以较为精准的计算出资源文件的文件权重,以保证在计算文件分值的准确度。
本发明实施例提供的方法中,基于上述实施例提供的内容,在确定文件权重的过程中,需要应用时间预测模型预测出下一次被访问的时间间隔,再根据时间间隔确定文件权重。其中,该时间预测模型需要先进行训练,其对应的训练过程可以包括:
获取预设的历史时间段内各个所述资源文件的历史资源信息,及每个所述资源信息对应的历史预测时间段;
依次将各个所述历史资源信息中的各个资源参数输入所述时间预测模型中,以使所述时间预测模型进行模型训练,直至所述时间预测模型的模型参数满足预先设置的训练条件;
其中,将各个所述历史资源信息中的各个资源参数输入所述时间预测模型时,获得当前输入所述时间预测模型的历史资源信息中的各个资源参数的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述时间预测模型的历史资源信息中的各个资源参数对应的历史预测时间段进行计算,得到损失函数值;依据所述损失函数值,判断所述时间预测模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述时间预测模型的模型参数;若满足,则获得已完成训练的时间预测模型。
本发明实施例提供的文件缓存方法中,可以在每日的日终处理时间时,开始对该时间预测模型进行训练,该历史时间段内各个资源文件的历史资源信息则可以是当日各个已经被访问两次及以上的资源文件的资源信息,并根据将每个被访问的资源文件的访问时间段作为标签对该时间预测模型进行训练。例如,资源文件1在当日被访问两次,则用于训练该时间预测模型的该资源文件1的资源信息为当日第一次访问后的资源信息,历史预测时间段则为当日第一次访问到第二次访问的时间间隔。将各个资源信息中的各个资源参数输入该时间预测模型后,由该时间预测模型根据其对应的模型参数和各个模型算法,预测每个资源文件对应的时间段。在训练过程中,时间预测模型输出的时间段则为当前输入的各个资源参数对应的训练结果。通过损失函数对各个训练结果及其对应的历史预测时间段进行计算,获得损失函数值。该损失函数值可以是训练结果与历史预测时间之间的误差值,或者是百分比。该训练条件则可以是损失函数值对应的有效阈值。例如误差值达到一个较小的阈值或百分比较高,则满足训练条件。如果损失函数值不满足训练条件,确定该时间预测模型预测的时间段与原预测时间段误差较大,需要调整时间预测模型的模型参数,以提高时间预测模型的时间预测能力,直至得出的损失函数值满足训练条件时,可以获得完成训练的时间预测模型。
需要说明的是,各个输入时间预测模型的历史资源信息中的各个资源参数可以是其对应的资源文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级。
应用本发明实施例提供的方法,通过每日对时间预测模型进行训练,可以提高时间预测模型对时间进行预测的精度,以提高对时间预测的准确率。
本发明实施例提供的方法中,基于上述步骤S106,在第一信息指针更新在文件信息列表中的位置后,确定已更新位置的第一文件信息块当前所属的第一信息指针的过程如图5所示,具体可以包括:
S501:更新所述文件信息列表中各个所述文件信息块的排序顺序,并获取各个所述文件信息块中的资源信息;
在本发明实施例中,在更新第一文件信息块在文件信息列表中的位置后,更新该文件信息列表中各个文件信息块的排序顺序,同时获取各个文件信息块中存储的资源信息。
需要说明的是,该第一文件信息块在更新位置后,其内部保存的资源信息已经发生改变,上一次访问时间、访问频率、访问总数等资源参数发生变化。
S502:确定每个所述存储介质对应的缓存空间,并基于每个所述资源信息中包含的文件大小,计算每个所述存储介质中需要缓存的资源文件的总缓存容量;
在本发明实施例中,每个存储介质中的缓存空间都不一样,越高级的存储介质,其对应的缓存空间就越小。在更新第一文件信息块的位置后,有些存储介质中需要缓存的资源文件的数量将会发生变化。例如,将第一文件信息块更新至上一级存储介质对应的信息指针所在的命中范围内,上一级存储介质需要多缓存一个资源文件,此时该存储介质的总缓存容量将会增加。
S503:基于每个所述存储介质对应的缓存空间及总缓存容量,计算每个所述存储介质中各个资源文件所占用的当前缓存空间的资源占比;
在本发明实施例中,资源占比=总缓存容量/缓存空间,计算该资源占比,确定各个存储介质需要占用缓存空间的比例。
S504:逐级判断各个所述存储介质对应的资源占比是否在预设的缓存区间内;
在本发明实施例中,由于各个存储介质已经分等级,需要按照各个存储介质的等级从大到小,判断各个存储介质的资源占比是否在缓存区间内。
S505:若当前等级的存储介质对应的资源占比不在所述缓存区间,则基于所述缓存区间,调整下一等级的存储介质对应的信息指针在所述文件信息列表中的位置,以变更所述当前等级的存储介质对应的命中范围;在结束对每个所述存储介质对应的信息指针在所述文件信息列表中位置的调整后,确定已更新位置的所述第一文件信息块所属的第一信息指针。
在本发明实施例中,当判断至当前等级的存储介质时,该资源占比不在该缓存区间内,则有两种情况,一种情况是资源占比小于缓存区间的最小值,此时,该存储介质的缓存空间比较富余,可以再多缓存一点资源文件,通过将该存储介质的下一等级存储介质对应的信息指针向后移动,使该当前等级的存储介质对应的命中范围扩大,以使该存储介质可以增加缓存移动后的信息指针原先指向的文件信息块对应的资源文件。另一种情况是资源占比大于缓存区间的最大值,此时,该存储介质的缓存空间比较紧缺,可以减少缓存一点资源文件,通过将该存储介质的下一等级存储介质对应的信息指针向前移动,使该当前等级的存储介质对应的命中范围缩小,以使该存储介质可以删除属于移动后的信息指针的各个文件信息块对应的资源文件。在结束调整各个信息指针后,确定该已更新位置的第一文件信息块所属的第一信息指针。
本发明实施例提供的文件缓存方法中,当任意的文件信息块的位置发生变更时,各个存储介质中所缓存的资源文件的数量可能会发生变更,各个信息指针的位置也可能会发生变更。在变更文件信息块的位置后,更新各个文件信息块在文件信息列表中的排序顺序,预先计算出更新排序后,在每个存储介质对应的命中范围内所需要缓存资源文件的总缓存容量,并根据每个资源文件对应的总缓存容量和缓存空间计算出资源占比。逐级对各个存储介质进行判断,以确定每个存储介质的资源占比是否在缓存区间内;若资源占比小于缓存区间的最小值,此时,表征该存储介质的缓存空间比较富余,可以再多缓存一点资源文件,通过将该存储介质的下一等级存储介质对应的信息指针向后移动,使该当前等级的存储介质对应的命中范围扩大,以使该存储介质可以增加缓存资源文件的数量;若资源占比大于缓存区间的最大值,此时,该存储介质的缓存空间比较紧缺,可以减少缓存一点资源文件,通过将该存储介质的下一等级存储介质对应的信息指针向前移动,使该当前等级的存储介质对应的命中范围缩小,以使该存储介质可以删除属于移动后的信息指针的各个文件信息块对应的资源文件。在结束调整各个信息指针后,确定该已更新位置的第一文件信息块所属的第一信息指针。
应用本发明实施例提供的方法,可以通过调整各个信息指针的移动方向,调整各个存储介质需要增加缓存的资源文件或者需要删除的资源文件,以保证各个存储介质空间在一个固定的缓存区间内,防止存储介质容量过高或过低,合理应用存储介质的缓存空间。
本发明实施例提供的方法中,在上述步骤S101至S106的过程中,在按照该缓存策略对第一目标文件进行缓存后,该第一目标文件的资源信息也将改变,并需要将新的资源信息进行保存,具体保存过程包括:
确定所述第一信息指针对应的存储介质的等级,及当前访问所述第一目标文件的当前访问时间;
确定所述第一目标文件的新的访问频率、新的访问总数及新的文件缓存时间,基于所述第一信息指针对应的存储介质的等级、新的文件缓存时间、当前访问时间、新的访问频率、新的访问总数,更新所述第一目标文件的当前资源信息;
将已更新的当前资源信息存储至所述第一文件信息块中。
本发明实施例提供的方法,需要在第一目标文件被访问时,并且更新第一目标文件在边缘节点中的缓存位置后,重新确定该第一目标文件对应的各个资源参数,并基于各个新的资源参数,更新第一目标文件的资源信息,将已更新的资源信息存储至该第一目标文件对应的第一文件信息块中,以保证用户下次通过该边缘节点访问该第一目标文件时,能够根据已更新的资源信息重新计算该第一目标文件的文件分值。
需要说明的是,若在用户访问该第一目标文件后,该第一信息指针对应的存储介质与用户访问前缓存该第一目标文件的最高等级的存储介质相同,则已更新的当前资源信息中的存储介质的等级、新的文件缓存时间与更前的存储介质的等级以及文件缓存时间一致。
同样的,在边缘节点中任意一个资源文件对应的文件信息块的位置发生改变,其对应的资源信息也将进行更新,具体更新可以根据资源信息中各个资源参数的变化确定,此处将不复赘述。
应用本发明实施例提供的方法,可以保证资源文件在每次进行缓存更新后,保存其对应的资源信息,以根据资源信息在每次用户访问资源文件时,重新计算其对应的文件分值。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种文件缓存装置,用于对图1中方法的具体实现,本发明实施例提供的文件缓存装置可以应用计算机终端或各种移动设备中,其结构示意图如图6所示,具体包括:
监控单元601,用于按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
获取单元602,用于确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级及文件大小及优先级;
确定单元603,用于基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
计算单元604,用于对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
更新单元605,用于基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
缓存单元606,用于确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
本发明实施例提供的装置中,在当前时间段内,监控单元如果监控到有用户访问了某个资源文件,该资源文件则为第一目标文件。边缘节点的计算单元需要重新计算该第一目标文件的文件分值,以重新确定需要缓存该第一目标文件的各个存储介质。一般情况下,当边缘节点中的资源文件被用户进行访问后,该资源文件的文件分值都会增高,因此,该资源文件可能会缓存至更高级的存储介质当中。因此,当第一目标文件被访问时,通过获取单元获取其对应的第一文件信息块中的当前资源信息,并由确定单元确定该第一目标文件的文件权重后,再由计算单元根据该文件权重以及当前资源信息中的文件大小和优先级计算该第一目标文件的第一文件分值,以通过更新单元根据该文件分值更新第一文件信息块在文件信息列表中的位置。在更新第一文件信息块的位置后,确定该第一文件信息块当前所在位置所属的第一信息指针,该第一信息指针对应的存储介质则为当前缓存该第一目标文件的最高级存储介质,在确定最高级存储介质后,缓存单元按照该缓存策略缓存该资源文件。
应用本发明实施例提供的装置,根据各个资源参数计算文件的文件分值,更新资源文件对应的文件信息块在文件信息列表当中的位置,以根据该位置及缓存策略对资源文件进行缓存。在缓存策略的基础上结合文件信息列表,更加合理地对资源文件进行缓存,以提高用户访问资源文件时的资源文件在更高级存储介质中的命中率。
本发明实施例提供的装置中,还包括:
减分单元,用于在当前时间段内未监控到用户对任意的资源文件进行访问时,确定所述当前时间段内未被访问的资源文件为第二目标文件;确定所述第二目标文件对应的第二文件信息块及第二文件分值,并按照预先设定的减分处理规则对所述第二文件分值进行减分,获得所述第二目标文件对应的已减分的第二文件分值;基于所述已减分的第二文件分值,更新所述第二文件信息块在所述文件信息列表中的位置;确定已更新位置的第二文件信息块当前所属的第二信息指针,并将所述第二信息指针对应的存储介质,设置为缓存所述第二目标文件的最高级的存储介质后,按照所述缓存策略对所述第二目标文件进行缓存。
本发明实施例提供的装置中,所述获取单元602,包括:
获取子单元,用于获取所述第一目标文件对应的文件标识信息;
解析子单元,用于解析所述文件标识信息,获得所述第一目标文件对应的文件标识号;
第一确定子单元,用于获取所述文件信息列表中每个文件信息块对应的信息块号,并在各个所述信息块号中,确定与所述文件标识号一致的信息块号对应的文件信息块,为所述第一目标文件对应的第一文件信息块。
本发明实施例提供的装置中,所述确定单元603,包括:
输入子单元,用于将所述当前资源信息中的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级,输入预先完成训练的时间预测模型中,以获得所述时间预测模型输出的预测时间段,所述预测时间段为预测所述第一目标文件下一次被访问的时间间隔;
匹配子单元,用于获取预先设置的时间列表,并将所述预测时间段与所述时间列表中的各个时间段进行匹配,确定所述时间列表中与所述预测时间段相匹配的时间段对应的权重;
第二确定子单元,用于将所述时间列表中与所述预测时间段相匹配的时间段对应的权重,确定为所述第一目标文件的文件权重。
本发明实施例提供的装置中,还包括:
训练单元,用于获取预设的历史时间段内各个所述资源文件的历史资源信息,及每个所述资源信息对应的历史预测时间段;依次将各个所述历史资源信息中的各个资源参数输入所述时间预测模型中,以使所述时间预测模型进行模型训练,直至所述时间预测模型的模型参数满足预先设置的训练条件;其中,将各个所述历史资源信息中的各个资源参数输入所述时间预测模型时,获得当前输入所述时间预测模型的历史资源信息中的各个资源参数的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述时间预测模型的历史资源信息中的各个资源参数对应的历史预测时间段进行计算,得到损失函数值;依据所述损失函数值,判断所述时间预测模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述时间预测模型的模型参数;若满足,则获得已完成训练的时间预测模型。
本发明实施例提供的装置中,所述缓存单元606,包括:
更新子单元,用于更新所述文件信息列表中各个所述文件信息块的排序顺序,并获取各个所述文件信息块中的资源信息;
第一计算子单元,用于确定每个所述存储介质对应的当前缓存空间,并基于每个所述资源信息中包含的文件大小,计算每个所述存储介质中需要缓存的资源文件的总缓存容量;
第二计算子单元,用于基于每个所述存储介质对应的当前缓存空间及总缓存容量,计算每个所述存储介质中各个资源文件所占用的当前缓存空间的资源占比;
判断子单元,用于逐级判断各个所述存储介质对应的资源占比是否在预设的缓存区间内;
第三确定子单元,用于若当前等级的存储介质对应的资源占比不在所述缓存区间,则基于所述缓存区间,调整下一等级的存储介质对应的信息指针在所述文件信息列表中的位置,以变更所述当前等级的存储介质对应的命中范围;在结束对每个所述存储介质对应的信息指针在所述文件信息列表中位置的调整后,确定已更新位置的所述第一文件信息块所属的第一信息指针。
本发明实施例提供的装置中,还包括:
存储单元,用于确定所述第一信息指针对应的存储介质的等级,及当前访问所述第一目标文件的当前访问时间;确定所述第一目标文件的新的访问频率、新的访问总数及新的文件缓存时间,基于所述第一信息指针对应的存储介质的等级、新的文件缓存时间、当前访问时间、新的访问频率、新的访问总数,更新所述第一目标文件的当前资源信息;将已更新的当前资源信息存储至所述第一文件信息块中。
以上本发明实施例公开的文件缓存装置中各个单元的具体工作过程,可参见本发明上述实施例公开的文件缓存方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器701,以及一个或者一个以上的指令702,其中一个或者一个以上指令702存储于存储器701中,且经配置以由一个或者一个以上处理器703执行所述一个或者一个以上指令702进行以下操作:
按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级及文件大小及优先级;
基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件缓存方法,其特征在于,所述方法应用于CDN系统中的各个边缘节点,每个所述边缘节点包括文件信息列表及多个存储介质,各个所述存储介质按照缓存空间由小至大的顺序进行分级,各个所述存储介质按照预先设定的缓存策略缓存所述边缘节点中的各个资源文件,所述缓存策略为:每个所述存储介质中缓存的所有资源文件均为下一级存储介质中缓存的部分资源文件,最后一级存储介质存储所述边缘节点中的所有资源文件;所述文件信息列表包含每个所述资源文件对应的文件信息块,及与每个所述存储介质对应的信息指针;各个所述文件信息块按照其对应的资源文件的文件分值进行排序,每个所述信息指针分别指向一个文件信息块,任意两个相邻信息指针之间的各个文件信息块对应的资源文件均属于前一个信息指针对应的存储介质的命中范围,所述方法包括:
按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质等级及文件大小及优先级;
基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
2.根据权利要求1所述的方法,其特征在于,还包括:
在当前时间段内未监控到用户对任意的资源文件进行访问时,确定所述当前时间段内未被访问的资源文件为第二目标文件;
确定所述第二目标文件对应的第二文件信息块及第二文件分值,并按照预先设定的减分处理规则对所述第二文件分值进行减分,获得所述第二目标文件对应的已减分的第二文件分值;
基于所述已减分的第二文件分值,更新所述第二文件信息块在所述文件信息列表中的位置;
确定已更新位置的第二文件信息块当前所属的第二信息指针,并将所述第二信息指针对应的存储介质,设置为缓存所述第二目标文件的最高级的存储介质后,按照所述缓存策略对所述第二目标文件进行缓存。
3.根据权利要求1所述的方法,其特征在于,所述确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,包括:
获取所述第一目标文件对应的文件标识信息;
解析所述文件标识信息,获得所述第一目标文件对应的文件标识号;
获取所述文件信息列表中每个文件信息块对应的信息块号,并在各个所述信息块号中,确定与所述文件标识号一致的信息块号对应的文件信息块,为所述第一目标文件对应的第一文件信息块。
4.根据权利要求1所述的方法,其特征在于,所述基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重,包括:
将所述当前资源信息中的上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级,输入预先完成训练的时间预测模型中,以获得所述时间预测模型输出的预测时间段,所述预测时间段为预测所述第一目标文件下一次被访问的时间间隔;
获取预先设置的时间列表,并将所述预测时间段与所述时间列表中的各个时间段进行匹配,确定所述时间列表中与所述预测时间段相匹配的时间段对应的权重;
将所述时间列表中与所述预测时间段相匹配的时间段对应的权重,确定为所述第一目标文件的文件权重。
5.根据权利要求4所述的方法,其特征在于,训练所述时间预测模型的过程,包括:
获取预设的历史时间段内各个所述资源文件的历史资源信息,及每个所述资源信息对应的历史预测时间段;
依次将各个所述历史资源信息中的各个资源参数输入所述时间预测模型中,以使所述时间预测模型进行模型训练,直至所述时间预测模型的模型参数满足预先设置的训练条件;
其中,将各个所述历史资源信息中的各个资源参数输入所述时间预测模型时,获得当前输入所述时间预测模型的历史资源信息中的各个资源参数的训练结果;调用预先设置的损失函数,对所述训练结果与当前输入所述时间预测模型的历史资源信息中的各个资源参数对应的历史预测时间段进行计算,得到损失函数值;依据所述损失函数值,判断所述时间预测模型的模型参数是否满足所述训练条件;若不满足,则依据所述损失函数值调整所述时间预测模型的模型参数;若满足,则获得已完成训练的时间预测模型。
6.根据权利要求1所述的方法,其特征在于,所述确定已更新位置的第一文件信息块当前所属的第一信息指针,包括:
更新所述文件信息列表中各个所述文件信息块的排序顺序,并获取各个所述文件信息块中的资源信息;
确定每个所述存储介质对应的当前缓存空间,并基于每个所述资源信息中包含的文件大小,计算每个所述存储介质中需要缓存的资源文件的总缓存容量;
基于每个所述存储介质对应的当前缓存空间及总缓存容量,计算每个所述存储介质中各个资源文件所占用的当前缓存空间的资源占比;
逐级判断各个所述存储介质对应的资源占比是否在预设的缓存区间内;
若当前等级的存储介质对应的资源占比不在所述缓存区间,则基于所述缓存区间,调整下一等级的存储介质对应的信息指针在所述文件信息列表中的位置,以变更所述当前等级的存储介质对应的命中范围;在结束对每个所述存储介质对应的信息指针在所述文件信息列表中位置的调整后,确定已更新位置的所述第一文件信息块所属的第一信息指针。
7.根据权利要求1所述的方法,其特征在于,还包括:
确定所述第一信息指针对应的存储介质的等级,及当前访问所述第一目标文件的当前访问时间;
确定所述第一目标文件的新的访问频率、新的访问总数及新的文件缓存时间,基于所述第一信息指针对应的存储介质的等级、新的文件缓存时间、当前访问时间、新的访问频率、新的访问总数,更新所述第一目标文件的当前资源信息;
将已更新的当前资源信息存储至所述第一文件信息块中。
8.一种文件缓存装置,其特征在于,所述装置应用于CDN系统中的各个边缘节点,每个所述边缘节点包括文件信息列表及多个存储介质,各个所述存储介质按照缓存空间由小至大的顺序进行分级,各个所述存储介质按照预先设定的缓存策略缓存所述边缘节点中的各个资源文件,所述缓存策略为:每个所述存储介质中缓存的所有资源文件均为下一级存储介质中缓存的部分资源文件,最后一级存储介质存储所述边缘节点中的所有资源文件;所述文件信息列表包含每个所述资源文件对应的文件信息块,及与每个所述存储介质对应的信息指针;各个所述文件信息块按照其对应的资源文件的文件分值进行排序,每个所述信息指针分别指向一个文件信息块,任意两个相邻信息指针之间的各个文件信息块对应的资源文件均属于前一个信息指针对应的存储介质的命中范围,包括:
监控单元,用于按照预先设定的时间段对所述边缘节点中各个所述资源文件进行监控,并在当前时间段内监控到用户对任意的资源文件进行访问时,确定当前访问的资源文件为第一目标文件;
获取单元,用于确定所述文件信息列表中所述第一目标文件对应的第一文件信息块,并获取所述第一文件信息块中存储的所述第一目标文件的当前资源信息,所述当前资源信息包含多个资源参数,各个所述资源参数分别为所述第一目标文件的上上一次访问时间、访问频率、访问总数、文件类型、文件缓存时间、当前缓存的最高级存储介质的等级及文件大小及优先级;
确定单元,用于基于所述当前资源信息中的各个资源参数,确定所述第一目标文件的文件权重;
计算单元,用于对所述第一目标文件的文件权重、文件大小及优先级进行计算,获得所述第一目标文件对应的第一文件分值;
更新单元,用于基于所述第一文件分值,更新所述第一文件信息块在所述文件信息列表中的位置;
缓存单元,用于确定已更新位置的第一文件信息块当前所属的第一信息指针,并将所述第一信息指针对应的存储介质,设置为缓存所述第一目标文件的最高级存储介质后,按照所述缓存策略对所述第一目标文件进行缓存。
9.根据权利要求8所述的装置,其特征在于,所述获取单元,包括:
获取子单元,用于获取所述第一目标文件对应的文件标识信息;
解析子单元,用于解析所述文件标识信息,获得所述第一目标文件对应的文件标识号;
第一确定子单元,用于获取所述文件信息列表中每个文件信息块对应的信息块号,并在各个所述信息块号中,确定与所述文件标识号一致的信息块号对应的文件信息块,为所述第一目标文件对应的第一文件信息块。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~7任意一项所述的文件缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010788473.8A CN111917882B (zh) | 2020-08-07 | 2020-08-07 | 文件缓存方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010788473.8A CN111917882B (zh) | 2020-08-07 | 2020-08-07 | 文件缓存方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917882A CN111917882A (zh) | 2020-11-10 |
CN111917882B true CN111917882B (zh) | 2023-04-07 |
Family
ID=73284222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010788473.8A Active CN111917882B (zh) | 2020-08-07 | 2020-08-07 | 文件缓存方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917882B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395322B (zh) * | 2020-12-07 | 2021-06-01 | 湖南新云网科技有限公司 | 一种基于分级缓存的列表数据显示方法、装置及终端设备 |
CN112363986B (zh) * | 2021-01-15 | 2021-07-02 | 北京东方通软件有限公司 | 一种针对文件缓存的时间优化方法 |
CN113784170B (zh) * | 2021-11-11 | 2022-03-22 | 深圳市名竹科技有限公司 | 内容数据预热方法、装置、计算机设备及存储介质 |
CN115348421A (zh) * | 2022-08-11 | 2022-11-15 | 中国电信股份有限公司 | 预加载方法、装置、介质及电子设备 |
CN117785949B (zh) * | 2024-02-28 | 2024-05-10 | 云南省地矿测绘院有限公司 | 一种数据缓存方法、电子设备、存储介质以及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439934A (zh) * | 2011-01-24 | 2012-05-02 | 华为技术有限公司 | 一种cdn中边缘服务器的多级缓存管理方法与系统 |
CN102662859A (zh) * | 2012-03-14 | 2012-09-12 | 北京神州数码思特奇信息技术股份有限公司 | 一种基于服务等级的数据缓存的系统和方法 |
CN103548004A (zh) * | 2011-12-28 | 2014-01-29 | 华为技术有限公司 | 在文件系统中实现多级存储的方法和装置 |
CN105847365A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 内容缓存方法及系统 |
CN106528761A (zh) * | 2016-11-04 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种文件缓存方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411814B2 (en) * | 2014-01-06 | 2016-08-09 | Dropbox, Inc. | Predictive caching and fetch priority |
-
2020
- 2020-08-07 CN CN202010788473.8A patent/CN111917882B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439934A (zh) * | 2011-01-24 | 2012-05-02 | 华为技术有限公司 | 一种cdn中边缘服务器的多级缓存管理方法与系统 |
CN103548004A (zh) * | 2011-12-28 | 2014-01-29 | 华为技术有限公司 | 在文件系统中实现多级存储的方法和装置 |
CN102662859A (zh) * | 2012-03-14 | 2012-09-12 | 北京神州数码思特奇信息技术股份有限公司 | 一种基于服务等级的数据缓存的系统和方法 |
CN105847365A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 内容缓存方法及系统 |
CN106528761A (zh) * | 2016-11-04 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种文件缓存方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111917882A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111917882B (zh) | 文件缓存方法、装置及电子设备 | |
CN112074819B (zh) | 选择多个高速缓存回收算法中的一个用于从高速缓存中回收轨道 | |
CN111159436B (zh) | 一种推荐多媒体内容的方法、装置及计算设备 | |
US6901484B2 (en) | Storage-assisted quality of service (QoS) | |
US10671431B1 (en) | Extent group workload forecasts | |
US20140325151A1 (en) | Method and system for dynamically managing big data in hierarchical cloud storage classes to improve data storing and processing cost efficiency | |
CN109413694B (zh) | 一种基于内容流行度预测的小小区缓存方法及装置 | |
CN107656807B (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
CN104424106B (zh) | 为存储优化操作分配存储设备的资源的方法和系统 | |
CN104571954A (zh) | 一种数据存储方法及装置 | |
US10489074B1 (en) | Access rate prediction in a hybrid storage device | |
CN112306925A (zh) | 访问请求的处理方法、装置、设备及存储介质 | |
CN115168411A (zh) | 缓存装置、方法及系统 | |
US20050283487A1 (en) | Method of determining lower bound for replication cost | |
CN117235088B (zh) | 一种存储系统的缓存更新方法、装置、设备、介质及平台 | |
CN112199304B (zh) | 数据预取方法及装置 | |
JP2008158748A (ja) | 変数選択装置、方法およびプログラム | |
WO2024207834A1 (zh) | 基于机器学习的多级缓存自适应系统及策略 | |
JP2012141885A (ja) | キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム | |
CN110162272B (zh) | 一种内存计算缓存管理方法及装置 | |
CN114385073A (zh) | 操作存储系统的方法和对存储资源的层级进行分区的方法 | |
CN117370058A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
US20160253591A1 (en) | Method and apparatus for managing performance of database | |
CN117056020A (zh) | 容器伸缩方法、系统、电子设备及存储介质 | |
Koh et al. | Efficient data retrieval for large-scale smart city applications through applied Bayesian inference |
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 |