CN109815425A - 缓存数据处理方法、装置、计算机设备和存储介质 - Google Patents
缓存数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109815425A CN109815425A CN201811532285.8A CN201811532285A CN109815425A CN 109815425 A CN109815425 A CN 109815425A CN 201811532285 A CN201811532285 A CN 201811532285A CN 109815425 A CN109815425 A CN 109815425A
- Authority
- CN
- China
- Prior art keywords
- index value
- network file
- file
- cache
- network
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000001965 increasing effect Effects 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 8
- 239000000872 buffer Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种缓存数据处理方法、装置、计算机设备和存储介质。涉及数据缓存领域。所述方法包括:获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;根据所述资源统一定位符确定所述网络文件的索引值;获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中;若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。采用本方法能够提高缓存命中率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种缓存数据处理方法、装置、计算机设备和存储介质。
背景技术
随着智能技术的不断发展,越来越多智能终端进入人们的日常工作、生活当中。用户可以通过智能终端与其他用户进行信息交互,还可以通过智能终端从网络获取一些文字、视频或图片等信息。为了使信息的获取更加快捷,出现了缓存技术。缓存技术即将用户浏览过的网络数据存储到终端本地,当再次请求这些数据时,直接快捷地从缓存中获取到。
传统的基于智能终端的缓存***实施的缓存方式为:当智能终端要读取数据时,首先从缓存中查找需要的数据,如果查找不到,则按照已有路径获取需要的数据,并将获取到的数据直接存入缓存。即一经发现缓存中未命中需要的数据,则直接对象文件写入缓存。上述的传统的缓存方式可能导致实际上新存入的对象不一定是会频繁被使用的对象,存在缓存命中率低的缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高缓存命中率的缓存数据处理方法、装置、计算机设备和存储介质。
一种缓存数据处理方法,所述方法包括:
获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;
根据所述资源统一定位符确定所述网络文件的索引值;
获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中;
若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;
当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
在一个实施例中,所述方法还包括:
若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件;
更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
在一个实施例中,所述当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表,包括:
若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;
若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;
从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;
将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
在一个实施例中,所述将当前请求的所述网络文件的索引值添加到所述缓存条目表,包括:
计算所述缓存条目表中所有所述文件读取频率的文件读取频率平均值;
将当前请求的所述网络文件的索引值添加到所述缓存条目表,并将新添加的所述索引值对应的所述文件读取频率设置为所述文件读取频率平均值;
在所述未命中文件列表中,将当前请求的所述网络文件的索引值对应的未命中次数设置为0。
在一个实施例中,所述方法还包括:
实时获取所述本地缓存剩余空间,若所述本地缓存剩余空间大于设定阈值,则将所述未命中文件列表中,所述未命中次数大于第二阈值的索引值对应的网络文件添加至所述本地缓存,其中,所述第二阈值小于所述第一阈值。
一种缓存数据处理装置,所述装置包括:
请求获取模块,用于获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;
索引值计算模块,用于根据所述资源统一定位符确定所述网络文件的索引值;
缓存查找模块,用于获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中,若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;
缓存模块,用于当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
在一个实施例中,所述装置还包括:
网络文件获取模块,用于若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件;
文件读取频率更新模块,用于更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
在一个实施例中,所述缓存模块,还用于若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
上述缓存数据处理方法、装置、计算机设备和存储介质,通过网络文件对应唯一的资源统一定位符,然后通过资源统一定位符生成每个网络文件对应的索引值,进而基于索引值生成缓存条目表和未命中文件列表。通过缓存条目表可快速确定待读取的网络文件是否在本地缓存中,将未命中文件列表中的未命中次数作为网络文件是否加入到本地缓存的判断标准,只有网络文件的未命中次数达到设定阈值,才将网络文件加入到本地缓存,确保加入缓存中的数据都是频繁被需求的数据,缓存命中率更高。
附图说明
图1为一个实施例中缓存数据处理方法的应用场景图;
图2为一个实施例中缓存数据处理方法的流程示意图;
图3为另一个实施例中缓存数据处理方法的流程示意图;
图4为一个实施例中缓存数据处理方法涉及的缓存原理图;
图5为一个实施例中缓存数据处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的缓存数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与网络服务器104通过网络进行通信。终端102监听应用程序的网络文件获取请求,并查找本地缓存中是否有被请求的网络文件;当终端缓存没有被需求的网络文件时,终端102向网络服务器104发送网络文件获取请求,并将网络服务器返回给应用程序,终端基于网络文件的未命中次数确定该网络文件是否写入缓存。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种缓存数据处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取网络文件获取请求,该请求中携带网络文件的资源统一定位符。
终端监听用户对应用程序的操作指令,当用户点击页面中的页面链接时,即触发了网络文件获取请求,终端获取触发的链接对应的统一资源定位符。其中统一资源定位符(Uniform Resource Locator,URL),是网络中每个文件唯一的网络标识,URL中包括互联网上资源位置和访问方法,如通过URL可从网络中获取到相应的文件资源。
步骤204,根据资源统一定位符确定网络文件的索引值。
资源统一定位符具有固定的信息格式,通过预设的算法对统一资源定位符进行处理得到输出即为相应网络文件的索引值。基于不同的统一资源定位符确定出的索引值不同。因此,每个网络文件对应唯一的资源统一定位符,每个资源统一定位度对应唯一的索引值,因此,网络文件与索引值也具有唯一的对应关系,一个索引值对应固定的网络文件。
在一个实施例中,可通过哈希算法处理资源统一定位符,得到的哈希值即为索引值,需要说明的是,当对不同的网络文件的资源统一定位符进行哈希计算,得到相同的哈希值时,采用其他算法对得到的相同的哈希值进行区分。
在一个实施例中,预先基于统一资源定位符确定所有网络文件的索引值。若存在索引值相同的网络文件,通过区分算法对相同索引值的文件进行区分。最终保证每个索引值对应唯一的网络文件。当获取网络文件获取请求时,直接查找该网络文件对应的索引值。
步骤206,获取缓存条目表,查找网络文件的索引值是否记录在缓存条目表中。
本地缓存中缓存有网络文件,缓存条目表中记录本地缓存中所有缓存的网络文件的索引值。进一步的,缓存条目表还可以包括每个缓存的网络文件的文件信息,如网络文件的URL、文件类型、文件所占字节数等。
终端获取缓存条目表,并查找当前待读取的网络文件的索引值是否记录在缓存条目表中,若是,则当前待读取的网络文件已在本地缓存,终端直接从缓存中获取该网络文件。若当前待读取的网络文件的索引值未被缓存条目表命中,即该待读取的网络文件未缓存。
步骤208,若否,则将未命中文件列表中网络文件的索引值对应的未命中次数增加1。
若当前待读取的网络文件未在本地缓存,则获取未命中文件列表。未命中文件列表中记录未命中文件的未命中次数。当前待读取的网络文件未在本地缓存中,即当前待读取的网络文件未被本地缓存命中,此时,在未命中列表中,当前待读取网络文件的索引值对应的未命中次数增加1。
若网络文件未被缓存条目命中,终端向网络服务器发送网络文件获取请求,请求中携带网络文件的统一资源定位符。网络服务器根据统一资源定位符查找网络文件,并将网络文件返回给终端。
进一步的,若未命中文件列表中不存在当前待读取的网络文件对应的索引值时,将当前待读取的网络文件对应的索引值添加至未命中文件列表,并在未命中文件列表中将该索引值对应的未命中次数即为1。未命中文件列表中应该包括尽可能多的索引值,以便对索引值对应的网络文件的未命中情况进行记录。未命中文件列表中还可以包括缓存条目表中的索引值。缓存条目表中的索引值在未命中文件列表中对应的未命中次数为0。当索引值从缓存条目表中逐出后,未命中列表对被逐出的索引值的未命中情况进行记录。
步骤210,当网络文件的索引值对应的未命中次数大于第一阈值时,将从网络服务器中获取的网络文件添加至本地缓存,并将网络文件的索引值添加至缓存条目表。
网络文件的索引值对应的未命中次数增加1后,判断该未命中次数是否大于第一阈值,若是,则将从网络服务器中获取的网络文件添加到本地缓存,相应的,缓存条目表中增加该网路文件的索引值。
本实施例中,将未命中次数作为是否将文件加入缓存的判断标准,只将多次未在缓存中命中的网络文件添加到缓存中,使得在有限的缓存空间中存储最被需求的对象,提高了缓存命中率。
在一个实施例中,在步骤206,获取缓存条目表,查找网络文件的索引值是否记录在缓存条目表中之后,还包括:若目标网络文件的索引值在缓存条目列表中,则从本地缓存中获取该索引值对应的网络文件,并将网络文件返回给请求的应用程序。同时,终端还更新缓存条目表中目标网络文件的索引值对应的文件读取频率。
文件读取频率表征缓存中的文件被请求的频繁程度,文件读取频率越高,相应网络文件越被频繁请求。
在一个实施例中,文件读取次数为设定时间区间的文件读取次数。设定时间区间可以是一个小时、几个小时、一天等。即每个一个时间区间周期,重新记录缓存条目表中所有索引值对应的文件读取次数,当前时间周期结束后,获取当前时间周期所有缓存条目表中所有索引值对应的文件读取次数,将该文件读取次数作为最新数据,直至下一个时间周期结束,将下一个时间周期记录的文件读取次数作为最新数据。即文件读取频率是最近的时间周期的文件读取次数。
在另一个实施例中,文件读取次数为多个设定时间区间的文件读取次数的平均文件读取次数。多个设定时间区间为文件读取次数的更新频率。每隔一个时间区间重新记录缓存条目表中每个索引值对应的文件读取次数,每隔一个更新频率,计算多个时间区间的文件读取次数的平均值,将该平均值作为索引值对应的最新的文件读取次数。
举例来说,时间周期为1小时,更新频率为2个小时。以缓存条目表中任一索引值对应的文件读取次数为例进行说明。索引值A在12:00最新更新的文件读取次数为10。从12:00开始记录索引值A对应的网络文件的读取次数,假设12:00-13:00读取次数为15,13:00-14:00读取次数为25,14:00时计算从12:00-14:00的平均文件读取次数为(15+25)/2=20,20为索引值A最新的文件读取次数,也就是文件读取频率。
在一个实施例中,如图3所示,提供了一种缓存数据处理方法,具体包括如下步骤:
步骤302,获取目标网络文件的索引值,若缓存条目表中没有记录该目标网络文件的索引值,则从网络服务器中获取该网络文件。
步骤304,获取未命中文件列表,查找未命中文件列表中是否包含该目标网络文件的索引值,若否,执行步骤306,若是,执行步骤308。
步骤306,将目标网络文件的索引值添加到未命中文件列表,并将目标网络文件的索引值对应的未命中次数记录为1。
步骤308,将未命中文件列表中目标网络文件的索引值对应的未命中次数加1。
步骤310,判断当前未命中次数是否大于第一阈值,若否,执行步骤318,结束;若是,则执行步骤312。
步骤312,获取目标网络文件大小和本地缓存剩余空间,若本地缓存剩余空间大于目标网络文件大小,则直接将目标网络文件添加到本地缓存中,同时在缓存条目表中添加该目标网络文件的索引值。
步骤314,若本地缓存空间小于目标网络文件大小,则获取缓存条目表中所有索引值对应的文件读取频率,确定文件读取频率小于设定值的目标索引值,从本地缓存中删除目标索引值对应的网络文件。
删除网络文件后,获取本地缓存空间,若本地缓存空间仍然小于目标网络文件大小,则根据文件读取频率删除其他网络文件。
步骤316,将目标网络文件添加到本地缓存,将目标网络文件的索引值添加到缓存条目表,并将目标网络文件的索引值对应的文件读取频率设置为固定值。
新添加的目标网络文件的索引值对应的文件读取频率可以预先设定好,为一个固定值。当目标网络文件写入本地缓存,并且目标网络文件的索引值添加到缓存条目表中,将未命中文件列表中该目标网络文件的索引值对应的未命中次数还原为0。
本实施例中,将当前未命中次数较多的目标文件添加到本地缓存,并根据定期更新的文件命中次数,不断地从本地缓存中删除当前读取次数较少的网络文件,使得本地缓存中存储的网络文件能够动态地满足终端实时的文件需求,本地缓存呈现出一个动态平衡状态,缓存空间中总是存储当前最被需要的网络文件。
在一个是实例中,在步骤316中,在将目标网络文件添加到本地缓存后,将目标网络文件对应的索引值添加到缓存条目表之前,获取缓存条目表中所有索引值对应的文件读取频率,计算获取的文件读取频率的平均值,将该平均值作为目标网络文件的索引值对应的文件读取频率。将目标网络文件的索引值以及对应的文件读取频率加入到缓存条目表中,并同时将未命中文件列表中该索引值对应的未命中次数设置为0。
如图4所示,目标网络文件对应的索引值1的未命中次数达到了设定的阈值3,因此,将索引值1对应的网络文件写入本地缓存,并需要将索引值1写入缓存条目表,在写入前,计算缓存条目表中所有索引值对应的文件读取频率的平均值,如图,缓存条目表所有索引值对应的文件读取频率的平均值为(200+100+10+2)/4=78,将78作为待写入的索引值1对应的文件读取频率,写入缓存条目表。同时未命中列表中索引值1对应的未命中次数设置为0。
继续参考图4,在将索引值1对应的网络文件写入本地缓存之前,还可以先查找缓存条目表中是否存在文件读取频率小于设定阈值的索引值,从本地缓存中删除文件读取频率小于设定阈值的索引值对应的网络文件。如索引值对应的文件读取次数为2,小于设定阈值10,因此,从本地缓存中删除索引值8对应的网络文件,并将索引值8从缓存条目表中移除。然后,在将索引值1对应的网络文件写入本地缓存,计算缓存条目表中所有索引值对应的文件读取频率的平均值为:(200+100+10)/3=103,将索引值1以及其对应的文件读取频率103写入缓存条目表。
在一个实施例中,设置两个未命中阈值,第一阈值和第二阈值,其中第一阈值大于第二阈值。若未命中文件列表中索引值对应的未命中次数达到第一阈值,则无论本地缓存的存储空间是否充足,都应该将该索引值对应的网络文件添加至本地缓存中,可通过逐出本地缓存中的已有网络文件的方式释放本地缓存的空间。若未命中文件列表中的索引值对应的未命中次数在第一阈值和第二阈值之间,则判断本地缓存是否能够容纳该索引值对应的网络文件,若是,则将该索引值对应的网络文件添加至本地缓存,若否,则不做处理。
本实施例实现了对本地缓存空间的充分利用,以最大限度的减少文件未命中概率。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种缓存数据处理装置,包括:
请求获取模块502,用于获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符。
索引值计算模块504,用于根据所述资源统一定位符确定所述网络文件的索引值。
缓存查找模块506,用于获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中,若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1。
缓存模块508,用于当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
在一个实施例中,缓存数据处理装置还包括:
网络文件获取模块,用于若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件。
文件读取频率更新模块,用于更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
在一个实施例中,所述缓存模块508,还用于若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
在一个实施例中,所述缓存模块508,还用于计算所述缓存条目表中所有所述文件读取频率的文件读取频率平均值;将当前请求的所述网络文件的索引值添加到所述缓存条目表,并将新添加的所述索引值对应的所述文件读取频率设置为所述文件读取频率平均值;在所述未命中文件列表中,将当前请求的所述网络文件的索引值对应的未命中次数设置为0。
在一个实施例中,所述缓存模块508,还用于实时获取所述本地缓存剩余空间,若所述本地缓存剩余空间大于设定阈值,则将所述未命中文件列表中,所述未命中次数大于第二阈值的索引值对应的网络文件添加至所述本地缓存,其中,所述第二阈值小于所述第一阈值。
关于缓存数据处理装置的具体限定可以参见上文中对于缓存数据处理方法的限定,在此不再赘述。上述缓存数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种缓存数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;根据所述资源统一定位符确定所述网络文件的索引值;获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中;若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件;更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:计算所述缓存条目表中所有所述文件读取频率的文件读取频率平均值;将当前请求的所述网络文件的索引值添加到所述缓存条目表,并将新添加的所述索引值对应的所述文件读取频率设置为所述文件读取频率平均值;在所述未命中文件列表中,将当前请求的所述网络文件的索引值对应的未命中次数设置为0。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:实时获取所述本地缓存剩余空间,若所述本地缓存剩余空间大于设定阈值,则将所述未命中文件列表中,所述未命中次数大于第二阈值的索引值对应的网络文件添加至所述本地缓存,其中,所述第二阈值小于所述第一阈值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;根据所述资源统一定位符确定所述网络文件的索引值;获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中;若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件;更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:计算所述缓存条目表中所有所述文件读取频率的文件读取频率平均值;将当前请求的所述网络文件的索引值添加到所述缓存条目表,并将新添加的所述索引值对应的所述文件读取频率设置为所述文件读取频率平均值;在所述未命中文件列表中,将当前请求的所述网络文件的索引值对应的未命中次数设置为0。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:实时获取所述本地缓存剩余空间,若所述本地缓存剩余空间大于设定阈值,则将所述未命中文件列表中,所述未命中次数大于第二阈值的索引值对应的网络文件添加至所述本地缓存,其中,所述第二阈值小于所述第一阈值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种缓存数据处理方法,所述方法包括:
获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;
根据所述资源统一定位符确定所述网络文件的索引值;
获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中;
若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;
当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件;
更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
3.根据权利要求2所述的方法,其特征在于,所述当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表,包括:
若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;
若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;
从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;
将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
4.根据权利要求3所述的方法,其特征在于,所述将当前请求的所述网络文件的索引值添加到所述缓存条目表,包括:
计算所述缓存条目表中所有所述文件读取频率的文件读取频率平均值;
将当前请求的所述网络文件的索引值添加到所述缓存条目表,并将新添加的所述索引值对应的所述文件读取频率设置为所述文件读取频率平均值;
在所述未命中文件列表中,将当前请求的所述网络文件的索引值对应的未命中次数设置为0。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
实时获取所述本地缓存剩余空间,若所述本地缓存剩余空间大于设定阈值,则将所述未命中文件列表中,所述未命中次数大于第二阈值的索引值对应的网络文件添加至所述本地缓存,其中,所述第二阈值小于所述第一阈值。
6.一种缓存数据处理装置,其特征在于,所述装置包括:
请求获取模块,用于获取网络文件获取请求,所述请求中携带网络文件的资源统一定位符;
索引值计算模块,用于根据所述资源统一定位符确定所述网络文件的索引值;
缓存查找模块,用于获取缓存条目表,查找所述网络文件的索引值是否记录在所述缓存条目表中,若否,则在未命中文件列表中将所述索引值对应的未命中次数增加1;
缓存模块,用于当所述索引值对应的所述未命中次数大于第一阈值时,将从网络服务器中获取的所述网络文件添加至本地缓存,并将所述网络文件的索引值添加至所述缓存条目表。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
网络文件获取模块,用于若所述网络文件的索引值记录在所述缓存条目表中,则从所述本地缓存中获取所述网络文件;
文件读取频率更新模块,用于更新所述缓存条目表中所述网络文件的索引值对应的文件读取频率。
8.根据权利要求7所述的装置,其特征在于,所述缓存模块,还用于若当前请求的所述网络文件的索引值对应的所述未命中次数大于第一阈值,比较本地缓存剩余空间与当前请求的所述网络文件的文件大小;若所述本地缓存空间小于所述网络文件的文件大小,则从所述缓存条目表中获取所述文件读取频率小于设定阈值的目标索引值;从所述本地缓存中删除所述目标索引值对应的网络文件,并从所述缓存条目中删除所述目标索引值;将当前请求的所述网络文件添加到所述本地缓存,并将当前请求的所述网络文件的索引值添加到所述缓存条目表。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532285.8A CN109815425A (zh) | 2018-12-14 | 2018-12-14 | 缓存数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532285.8A CN109815425A (zh) | 2018-12-14 | 2018-12-14 | 缓存数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109815425A true CN109815425A (zh) | 2019-05-28 |
Family
ID=66602071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532285.8A Pending CN109815425A (zh) | 2018-12-14 | 2018-12-14 | 缓存数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815425A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807010A (zh) * | 2019-10-29 | 2020-02-18 | 北京猎豹移动科技有限公司 | 文件读取方法、装置、电子设备和存储介质 |
CN111488316A (zh) * | 2020-04-12 | 2020-08-04 | 杭州迪普科技股份有限公司 | 文件缓存回收方法及装置 |
CN112579544A (zh) * | 2020-12-18 | 2021-03-30 | 北京邮电大学 | 文件缓存方法、装置、电子设备及存储介质 |
CN113360192A (zh) * | 2020-03-06 | 2021-09-07 | Oppo广东移动通信有限公司 | 热缓存识别方法、装置、存储介质及电子设备 |
CN113377722A (zh) * | 2021-07-02 | 2021-09-10 | 厦门雅基软件有限公司 | 一种资源数据读取方法、装置和存储介质 |
CN113377724A (zh) * | 2021-07-02 | 2021-09-10 | 厦门雅基软件有限公司 | 一种缓存空间管理方法、装置和存储介质 |
CN113377723A (zh) * | 2021-07-02 | 2021-09-10 | 厦门雅基软件有限公司 | 一种缓存文件管理方法、装置和存储介质 |
CN114338803A (zh) * | 2021-12-01 | 2022-04-12 | 北京达佳互联信息技术有限公司 | 一种资源获取方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075241A (zh) * | 2006-12-26 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 缓存处理方法以及缓存处理*** |
CN105915619A (zh) * | 2016-04-29 | 2016-08-31 | 中国地质大学(武汉) | 顾及访问热度的网络空间信息服务高性能内存缓存方法 |
CN107666414A (zh) * | 2017-07-24 | 2018-02-06 | 平安科技(深圳)有限公司 | 一种网络性能优化方法、***及计算机可读存储介质 |
-
2018
- 2018-12-14 CN CN201811532285.8A patent/CN109815425A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075241A (zh) * | 2006-12-26 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 缓存处理方法以及缓存处理*** |
CN105915619A (zh) * | 2016-04-29 | 2016-08-31 | 中国地质大学(武汉) | 顾及访问热度的网络空间信息服务高性能内存缓存方法 |
CN107666414A (zh) * | 2017-07-24 | 2018-02-06 | 平安科技(深圳)有限公司 | 一种网络性能优化方法、***及计算机可读存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807010A (zh) * | 2019-10-29 | 2020-02-18 | 北京猎豹移动科技有限公司 | 文件读取方法、装置、电子设备和存储介质 |
CN113360192A (zh) * | 2020-03-06 | 2021-09-07 | Oppo广东移动通信有限公司 | 热缓存识别方法、装置、存储介质及电子设备 |
CN111488316A (zh) * | 2020-04-12 | 2020-08-04 | 杭州迪普科技股份有限公司 | 文件缓存回收方法及装置 |
CN111488316B (zh) * | 2020-04-12 | 2023-09-22 | 杭州迪普科技股份有限公司 | 文件缓存回收方法及装置 |
CN112579544A (zh) * | 2020-12-18 | 2021-03-30 | 北京邮电大学 | 文件缓存方法、装置、电子设备及存储介质 |
CN112579544B (zh) * | 2020-12-18 | 2023-10-13 | 北京邮电大学 | 文件缓存方法、装置、电子设备及存储介质 |
CN113377722A (zh) * | 2021-07-02 | 2021-09-10 | 厦门雅基软件有限公司 | 一种资源数据读取方法、装置和存储介质 |
CN113377724A (zh) * | 2021-07-02 | 2021-09-10 | 厦门雅基软件有限公司 | 一种缓存空间管理方法、装置和存储介质 |
CN113377723A (zh) * | 2021-07-02 | 2021-09-10 | 厦门雅基软件有限公司 | 一种缓存文件管理方法、装置和存储介质 |
CN113377723B (zh) * | 2021-07-02 | 2024-04-05 | 厦门雅基软件有限公司 | 一种缓存文件管理方法、装置和存储介质 |
CN114338803A (zh) * | 2021-12-01 | 2022-04-12 | 北京达佳互联信息技术有限公司 | 一种资源获取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815425A (zh) | 缓存数据处理方法、装置、计算机设备和存储介质 | |
CN110751275B (zh) | 图训练***、数据访问方法及装置、电子设备、存储介质 | |
RU2469377C2 (ru) | Графическое устройство отображения | |
CN107943718B (zh) | 一种清理缓存文件的方法和装置 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
CN106599239A (zh) | 网页内容数据获取方法及服务器 | |
CN111176549B (zh) | 基于云存储的数据存储方法、装置和存储介质 | |
CN107092628B (zh) | 时间序列数据的处理方法和装置 | |
US10114765B2 (en) | Automatic recovery of application cache warmth | |
CN109542907A (zh) | 数据库缓存构建方法、装置、计算机设备以及存储介质 | |
CN107888687B (zh) | 一种基于分布式存储***的代理客户端存储加速方法及*** | |
JP2017204068A (ja) | 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム | |
US20210286730A1 (en) | Method, electronic device and computer program product for managing cache | |
CN106446075A (zh) | 页面请求处理方法及装置 | |
CN111913917A (zh) | 一种文件处理方法、装置、设备和介质 | |
CN112148736A (zh) | 缓存数据的方法、设备及存储介质 | |
CN107220248B (zh) | 一种用于存储数据的方法和装置 | |
CN109582233A (zh) | 一种数据的缓存方法和装置 | |
US10430115B2 (en) | System and method for optimizing multiple packaging operations in a storage system | |
US9405786B2 (en) | System and method for database flow management | |
CN115470157A (zh) | 预取方法、电子设备、存储介质及程序产品 | |
CN116627345A (zh) | 应用于海量value键值对的高性能KV缓存方法及装置 | |
CN115495020A (zh) | 文件处理方法、装置、电子设备和可读存储介质 | |
CN113076067B (zh) | 淘汰缓存数据的方法和装置 | |
CN110334073A (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 |