CN104715020A - 缓存数据的删除方法及服务器 - Google Patents
缓存数据的删除方法及服务器 Download PDFInfo
- Publication number
- CN104715020A CN104715020A CN201510079393.4A CN201510079393A CN104715020A CN 104715020 A CN104715020 A CN 104715020A CN 201510079393 A CN201510079393 A CN 201510079393A CN 104715020 A CN104715020 A CN 104715020A
- Authority
- CN
- China
- Prior art keywords
- time window
- actual time
- data cached
- cache hit
- hit rate
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存数据的删除方法及服务器,属于数据处理技术领域。方法包括:获取本次删除操作的当前时间窗口;统计每个缓存数据在当前时间窗口内的被访问次数;根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据;从缓存中删除待定缓存数据。本发明通过根据每个缓存数据在当前时间窗口内的被访问次数,选择待定缓存数据,进而从缓存中删除待定缓存数据,从而实现了根据每个缓存数据在当前时间窗口内的被访问次数,对缓存数据进行删除,且在占用较少资源的前提下,不会误删掉近期持续被访问的缓存数据。因此,缓存命中率较高,消耗的资源较少。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种缓存数据的删除方法及服务器。
背景技术
随着科技的快速发展,服务器需存储的用户数据越来越多。为了便于快速获取用户数据,服务器通常会在缓存中存储用户数据作为缓存数据。当服务器需要获取用户数据时,可从缓存中查找,若查找到了需要的缓存数据,则视为本次查找过程命中。由于服务器缓存的存储空间通常大小有限,只能够存储有限的缓存数据,从而需要对缓存中可能不会被访问的数据进行删除,以保证缓存命中率。因此,如何对缓存中的缓存数据进行删除,是保证缓存命中率的关键。
相关技术中提供了两种缓存数据的删除方法,在第一种方法中,每隔一段时间统计缓存中每个缓存数据对应的被访问总次数。其中,每个缓存数据对应的被访问总次数是以每个缓存数据存储至缓存为起始,至统计时每个缓存数据对应的被访问次数。确定每个缓存数据对应的被访问总次数中最少被访问总次数,将最少被访问总次数对应的缓存数据从缓存中删除。
在第二种方法中,预先在缓存中记录每个缓存数据每次被访问时的时间。对每个缓存数据每次被访问时的时间进行排序,确定最早被访问时间,将最早被访问时间对应的缓存数据从缓存中删除。
在实现本发明的过程中,发明人发现上述方法至少存在以下问题:
针对第一种方法,由于在不同时间段缓存数据对应的被访问次数可能会比较多,也可能会比较少,而删除缓存数据依据的是缓存数据对应的被访问总次数。当存在被访问总次数较多,且在很早前被访问次数较多,而在近期被访问次数较少的缓存数据时,则可能会导致被访问总次数较少,且近期持续被访问的缓存数据被删除。由于服务器在处理请求时,通常需要获取的是近期持续被访问的缓存数据,从而使得缓存命中率较低,服务器在获取缓存数据时的效率不高。
针对第二种方法,由于需要在缓存中记录每个缓存数据每次被访问时的时间,且需对每个缓存数据每次被访问时的时间进行排序,从而会占用较多的资源,造成资源的浪费。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种缓存数据的删除方法及服务器。所述技术方案如下:
一方面,提供了一种缓存数据的删除方法,所述方法包括:
获取本次删除操作的当前时间窗口,所述当前时间窗口为单位时间长度;
统计每个缓存数据在当前时间窗口内的被访问次数;
根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据;
从缓存中删除所述待定缓存数据。
另一方面,提供了一种服务器,所述服务器包括:
获取模块,用于获取本次删除操作的当前时间窗口,所述当前时间窗口为单位时间长度;
统计模块,用于统计每个缓存数据在当前时间窗口内的被访问次数;
选择模块,用于根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据;
第一删除模块,用于从缓存中删除所述待定缓存数据。
本发明实施例提供的技术方案带来的有益效果是:
通过根据每个缓存数据在当前时间窗口内的被访问次数,选择待定缓存数据,进而从缓存中删除待定缓存数据,从而实现了根据每个缓存数据在当前时间窗口内的被访问次数,对缓存数据进行删除,且在占用较少资源的前提下,不会误删掉近期持续被访问的缓存数据。因此,缓存命中率较高,消耗的资源较少。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例示出的一种缓存数据的删除方法流程图;
图2是本发明另一实施例示出的一种缓存数据的删除方法流程图;
图3是本发明另一实施例示出的一种服务器架构的结构示意图;
图4是本发明另一实施例示出的一种服务器的结构示意图;
图5是本发明另一实施例示出的一种服务器的结构示意图;
图6是本发明另一实施例示出的一种调整模块的结构示意图;
图7是本发明另一实施例示出的一种调整单元的结构示意图;
图8是本发明另一实施例示出的一种调整单元的结构示意图;
图9是本发明另一实施例示出的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
相关技术中在对缓存数据进行删除时,主要是根据缓存数据对应的被访问总次数或缓存数据每次被访问的时间来对缓存数据进行删除。当根据缓存数据对应的被访问总次数对缓存数据进行删除时,可能会因存在被访问总次数较多,且在很早前被访问次数较多的缓存数据,而使得被访问总次数较少,且近期持续被访问的缓存数据被删除,导致缓存命中率较低。当根据缓存数据每次被访问的时间来对缓存数据进行删除时,需要在缓存中记录每个缓存数据每次被访问时的时间,并根据每个缓存数据每次被访问时的时间进行排序,根据排序结果删除缓存数据,从而会占用较多的资源,造成资源的浪费。
为了预防上述情况,提高缓存命中率,节约资源,本发明实施例提供了一种缓存数据的删除方法,参见图1,本实施例提供的方法流程包括:
101、获取本次删除操作的当前时间窗口,当前时间窗口为单位时间长度。
102、统计每个缓存数据在当前时间窗口内的被访问次数。
103、根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据。
104、从缓存中删除待定缓存数据。
本发明实施例提供的方法,通过根据每个缓存数据在当前时间窗口内的被访问次数,选择待定缓存数据,进而从缓存中删除待定缓存数据,从而实现了根据每个缓存数据在当前时间窗口内的被访问次数,对缓存数据进行删除,且在占用较少资源的前提下,不会误删掉近期持续被访问的缓存数据。因此,缓存命中率较高,消耗的资源较少。
作为一种可选实施例,从缓存中删除待定缓存数据之后,还包括:
确定当前时间窗口的上一个时间窗口,当前时间窗口由上一个时间窗口经历调整后得到;
根据当前时间窗口及上一个时间窗口,对当前时间窗口进行调整,得到调整后的时间窗口;
根据调整后的时间窗口对缓存数据执行后续的删除操作。
作为一种可选实施例,根据当前时间窗口及上一个时间窗口,对当前时间窗口进行调整,包括:
统计当前时间窗口对应的第一缓存命中率;
获取上一个时间窗口对应的第二缓存命中率;
根据第一缓存命中率及第二缓存命中率,对当前时间窗口进行调整。
作为一种可选实施例,根据第一缓存命中率及第二缓存命中率,对当前时间窗口进行调整,包括:
确定将上一个时间窗口调整为当前时间窗口的调整方式,其中,时间窗口的调整方式为增长时间窗口或缩短时间窗口;
若第一缓存命中率大于第二缓存命中率,按照调整方式对当前时间窗口进行调整。
作为一种可选实施例,确定将上一个时间窗口调整为当前时间窗口的调整方式之后,还包括:
若第一缓存命中率不大于第二缓存命中率,按照调整方式相反的调整方式对当前时间窗口进行调整。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
本发明实施例提供了一种缓存数据的删除方法,参见图2,本实施例提供的方法流程包括:
201、获取本次删除操作的当前时间窗口,当前时间窗口为单位时间长度。
由于缓存空间通常有限,从而可在缓存空间被占满,且需要向缓存中存入数据时,对缓存数据进行删除,本实施例不对删除缓存数据的时机作具体限定。为了对缓存数据进行删除,可设置一个时间窗口,每次删除缓存数据时,都对当前时间窗口内的缓存数据进行删除。其中,时间窗口为单位时间长度,当前时间窗口的值可以通过一个变量存储在缓存中,且时间窗口的值可以变化,本实施例对此不作具体限定。例如,时间窗口的时间长度可以为一小时、一天、两天等。由于后续需根据时间窗口,对缓存数据进行删除,且需要根据删除缓存数据后的缓存命中率对时间窗口进行调整。因此,若当前为第一次对缓存数据进行删除,则可随机选取一个数值以对时间窗口进行初始化。若当前不为第一次对缓存数据进行删除,由于时间窗口的值可以通过一个变量存储在缓存中,则可直接获取该变量的值,作为本次删除操作的当前时间窗口。
202、统计每个缓存数据在当前时间窗口内的被访问次数。
在统计每个缓存数据在当前时间窗口内的被访问次数之前,可为每个缓存数据设置一个变量,用于记录每个缓存数据在时间窗口内的被访问次数。每经过一个时间窗口时,可将每个缓存数据对应的变量清零,并在下一个时间窗口重新记录每个缓存数据在当前时间窗口内的被访问次数,本实施例对此不作具体限定。相应地,在统计每个缓存数据在当前时间窗口内的被访问次数时,可获取当前时间窗口内每个缓存数据对应的变量,将每个缓存数据对应的变量值作为每个缓存数据在当前时间窗口内的被访问次数。
例如,下表1是时间窗口为一天时,每个缓存数据在当前时间窗口内的被访问次数。下表2是时间窗口为两天时,每个缓存数据在当前时间窗口内的被访问次数。
表1
时间/被访问次数 | 周日 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 |
A | 26 | 0 | 0 | 0 | 0 | 0 | 0 |
B | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
表2
时间/被访问次数 | 周日 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 |
A | 0+26 | 26+0 | 0+0 | 0+0 | 0+0 | 0+0 | 0+0 |
B | 0+1 | 1+1 | 1+1 | 1+1 | 1+1 | 1+1 | 1+1 |
其中,如表2所示,当时间窗口为两天时,若今天为周一,则当前时间窗口为表2中的周日及周一,当前时间窗口内的被访问次数为周日的被访问次数与周一的被访问次数之和。若今天为周二,则当前时间窗口为周一及周二,当前时间窗口内的被访问次数为周一的被访问次数与周二的被访问次数之和。
203、根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据。
本实施例不对根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据的方式作具体限定,包括但不限于:对每个缓存数据在当前时间窗口内的被访问次数进行排序;根据排序结果选择待定缓存数据。
其中,对每个缓存数据在当前时间窗口内的被访问次数进行排序时,可按照从大到小的顺序进行排列,也可以按照从小到大的顺序进行排列,本实施例对此不作具体限定。在选择待定缓存数据时,可选择排序结果中被访问次数较少的一个或多个缓存数据,本实施例不对选择的待定缓存数据的个数作具体限定。
或者,在根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据时,还可以设置一个阈值,通过将每个缓存数据在当前时间窗口内的被访问次数与阈值进行比较,根据比较结果选择待定缓存数据。其中,可将当前时间窗口内的被访问次数小于阈值的缓存数据作为待定缓存数据,本实施例对此不作具体限定。
例如,以缓存中存储有缓存数据A、B、C为例。其中,用于记录A在当前时间窗口内的被访问次数的变量为a,用于记录B在当前时间窗口内的被访问次数的变量为b,用于记录C在当前时间窗口内的被访问次数的变量为c。若当前时间窗口内a、b、c的值分别为20、10、30,则对a,b,c进行排序后,可确定最小的值为10,即当前时间窗口内缓存数据的最少被访问次数为10次,从而可将缓存数据B作为待定缓存数据。当需选择的待定缓存数据为多个时,如选择两个待定缓存数据,则可将缓存数据B与缓存数据A作为待定缓存数据。
或者,以阈值为25为例,由于缓存数据A、B在当前时间窗口内的被访问次数为20、10,小于阈值25,则可将缓存数据B与缓存数据A作为待定缓存数据。
204、从缓存中删除待定缓存数据。
通过上述步骤203,在确定当前时间窗口内的待定缓存数据后,可将该待定缓存数据从缓存中删除,从而留出空间存入其它的数据,本实施例对此不作具体限定。
由于在对缓存数据进行删除时,时间窗口的大小关系到后续的缓存命中率。为了让缓存命中率维持在一个较佳的值,从缓存中删除待定缓存数据后,本实施例还提供了一种对时间窗口进行调整的方法。其中,可在每次删除缓存数据后执行该方法,也可每隔预设周期执行该方法,本实施例不对调整时间窗口的时机作具体限定,该方法包括如下步骤:
205、确定当前时间窗口的上一个时间窗口,当前时间窗口由上一个时间窗口经历调整后得到。
根据上述步骤201,当前时间窗口的上一个时间窗口的值也可以通过一个变量进行存储。相应地,在确定当前时间窗口的上一个时间窗口时,可获取上一个时间窗口对应的变量值,本实施例对此不作具体限定。
例如,如下表3所示,周日至周二时间窗口为一天,周三至周六时间窗口为两天。若执行上述步骤204的时间为周六,由于周六当天的当前时间窗口为两天。而在表3中,时间窗口是从周三进行了调整,由原来的一天变为了两天。因此,从而可确定当前时间窗口的上一个时间窗口为一天。
表3
时间/被访问次数 | 周日 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 |
A | 26 | 0 | 0 | 0+0 | 0+0 | 0+0 | 0+0 |
B | 1 | 1 | 1 | 1+1 | 1+1 | 1+1 | 1+1 |
206、根据当前时间窗口及上一个时间窗口,对当前时间窗口进行调整,得到调整后的时间窗口。
本实施例不对根据当前时间窗口及上一个时间窗口,对当前时间窗口进行调整的方式作具体限定,包括但不限于:统计当前时间窗口对应的第一缓存命中率;获取上一个时间窗口对应的第二缓存命中率;根据第一缓存命中率及第二缓存命中率,对当前时间窗口进行调整。
本实施例不对统计当前时间窗口对应的第一缓存命中率的方式作具体限定,包括但不限于:获取当前时间窗口对应的缓存被访问总次数;获取当前时间窗口对应的缓存命中总次数;将缓存命中总次数除以缓存被访问总次数所得到的商值,作为当前时间窗口对应的第一缓存命中率。
例如,如上表3所示,周三至周六对应的当前时间窗口均为两天。在周三至周六这段时间内,向缓存请求数据的次数为100次,即缓存被访问次数为100次。其中,在向缓存请求数据时,被请求的数据可能存储在缓存中,也可能没有存储在缓存中。当被请求的数据存储在缓存中时,可视为命中。当被请求的数据不存储在缓存中时,可视为未命中。若在周三至周六这段时间内,缓存命中总次数为60次,则可确定在当前时间窗口为两天时,对应的第一缓存命中率为(60/100)=60%。
在获取上一个时间窗口对应的第二缓存命中率之前,可预先通过一个变量对上一个时间窗口对应的第二缓存命中率进行存储,从而可通过获取该变量的值来获取第二缓存命中率。其中,第二缓存命中率可按照上述计算第一缓存命中率的方法预先计算得到,本实施例对此不作具体限定。
本实施例不对根据第一缓存命中率及第二缓存命中率,对当前时间窗口进行调整的方式作具体限定,包括但不限于:确定将上一个时间窗口调整为当前时间窗口的调整方式,其中,时间窗口的调整方式为增长时间窗口或缩短时间窗口;若第一缓存命中率大于第二缓存命中率,按照调整方式对当前时间窗口进行调整;若第一缓存命中率不大于第二缓存命中率,按照调整方式相反的调整方式对当前时间窗口进行调整。
例如,在上述表3中,周三至周六对应的当前时间窗口为两天,周日到周二对应的当前时间窗口为一天。对于周六,由于周六对应的当前时间窗口为两天,时间窗口是由之前的一天调整为两天。因此,上一个时间窗口即为一天。
若在上表3中的周日之前,时间窗口为三天,在周日变为了两天,则可按照上述计算第一缓存命中率的过程,预先计算时间窗口为两天对应的第二缓存命中率,即周日至周二对应的缓存命中率。
若计算得到的第二缓存命中率为40%,而第一缓存命中率为60%。由于将第一缓存命中率与第二缓存命中率进行比较后,第一缓存命中率大于第二缓存命中率,而当前时间窗口是由周日至周二时的一天调整为周三至周六的两天,即时间窗口的调整方式为增长时间窗口。因此,在调整当前时间窗口时,可增长时间窗口。例如,从周六后,将时间窗口由原来的两天变为三天。
若计算得到的第二缓存命中率为80%,而第一缓存命中率为60%。由于将第一缓存命中率与第二缓存命中率进行比较后,第一缓存命中率不大于第二缓存命中率,而当前时间窗口是由周日至周二时的一天调整为周三至周六的两天,即时间窗口的调整方式为增长时间窗口。因此,在调整当前时间窗口时,可按照上述相反的调整方式,缩短当前时间窗口。例如,从周六后,将当前时间窗口由原来的两天变为一天。
需要说明的是,在对当前时间窗口进行调整时,调整的幅度可根据实际情况或历史经验来确定,本实施例不对调整当前时间窗口的幅度作具体限定。例如,每次增长或缩短时间窗口的幅度可以为一天,一小时等等。
207、根据调整后的时间窗口对缓存数据执行后续的删除操作。
通过上述步骤205至步骤206,在对时间窗口进行调整后,后续可继续按照上述步骤201至步骤204的过程对缓存数据进行删除,本实施例对此不作具体限定。
需要说明的是,通过上述步骤206至步骤207,时间窗口能根据缓存命中率进行动态调整,从而使得时间窗口的选取能随着缓存命中率的波动,而动态选取到能让缓存命中率达到最佳或接近最佳的时间窗口,进而能够使系统内存的缓存资源得到充分地利用。
另外,由于上述步骤201至步骤207,通常用于网络服务器系统,上述过程涉及到时间窗口的确定,缓存数据的存储、删除及缓存访问请求的处理等多个过程,上述过程可在一台服务器中执行。为了分担处理不同数据时的压力,本实施例提供的方法还支持通过多台服务器执行多个过程。相应地,本实施例还提供了一种服务器架构,如图3所示,该架构包括:Web模块服务器、缓存模块服务器、阈值学习模块服务器及逻辑控制模块服务器。
其中,Web模块服务器用于接收并响应用户发送的数据访问请求,缓存模块服务器用于按照上述步骤201至204存储及删除缓存数据,阈值学习模块服务器用于按照上述步骤205至206对时间窗口进行调整,逻辑控制模块服务器用于对用户发送的数据访问请求作逻辑响应。
Web模块服务器可将接收到的用户发送的数据访问请求转发至缓存模块服务器,缓存模块服务器接收到数据访问请求后,可将数据访问请求中的用户信息放入缓存,然后按照上述步骤201至204确定是否需要删除已存储的数据。阈值学习模块服务器可不断按照上述步骤205至206对时间窗口进行调整,以协助完成缓存数据的删除。另外,缓存模块服务器可将数据访问请求转发至逻辑控制服务器,由逻辑控制服务器根据数据访问请求做出逻辑响应。逻辑控制服务器做出逻辑响应后,可将响应的数据包转发至Web模块服务器,由Web模块服务器根据数据包响应用户的数据访问请求。
本发明实施例提供的方法,通过根据每个缓存数据在当前时间窗口内的被访问次数,选择待定缓存数据,进而从缓存中删除待定缓存数据,从而实现了根据每个缓存数据在当前时间窗口内的被访问次数,对缓存数据进行删除,且在占用较少资源的前提下,不会误删掉近期持续被访问的缓存数据。因此,缓存命中率较高,消耗的资源较少。
本发明实施例提供了一种服务器,该服务器用于执行上述实施例提供的缓存数据的删除方法。参见图4,该服务器包括:
获取模块401,用于获取本次删除操作的当前时间窗口,当前时间窗口为单位时间长度;
统计模块402,用于统计每个缓存数据在当前时间窗口内的被访问次数;
选择模块403,用于根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据;
第一删除模块404,用于从缓存中删除待定缓存数。
作为一种可选实施例,参见图5,该服务器还包括:
确定模块405,用于确定当前时间窗口的上一个时间窗口,当前时间窗口由上一个时间窗口经历调整后得到;
调整模块406,用于根据当前时间窗口及上一个时间窗口,对当前时间窗口进行调整,得到调整后的时间窗口;
第二删除模块407,用于根据调整后的时间窗口对缓存数据执行后续的删除操作。
作为一种可选实施例,参见图6,调整模块406,包括:
统计单元4061,用于统计当前时间窗口对应的第一缓存命中率;
获取单元4062,用于获取上一个时间窗口对应的第二缓存命中率;
调整单元4063,用于根据第一缓存命中率及第二缓存命中率,对当前时间窗口进行调整。
作为一种可选实施例,参见图7,调整单元4063,包括:
确定子单元40631,用于确定将上一个时间窗口调整为当前时间窗口的调整方式,其中,时间窗口的调整方式为增长时间窗口或缩短时间窗口;
第一调整子单元40632,用于当第一缓存命中率大于第二缓存命中率时,按照调整方式对当前时间窗口进行调整。
作为一种可选实施例,参见图8,该调整单元4063还包括:
第二调整子单元40633,用于当第一缓存命中率不大于第二缓存命中率时,按照调整方式相反的调整方式对当前时间窗口进行调整。
本发明实施例提供的服务器,通过根据每个缓存数据在当前时间窗口内的被访问次数,选择待定缓存数据,进而从缓存中删除待定缓存数据,从而实现了根据每个缓存数据在当前时间窗口内的被访问次数,对缓存数据进行删除,且在占用较少资源的前提下,不会误删掉近期持续被访问的缓存数据。因此,缓存命中率较高,消耗的资源较少。
图9是根据一示例性实施例示出的一种服务器900的框图。参照图9,服务器900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述实施例提供的缓存数据的删除方法。
服务器900还可以包括一个电源组件926被配置为执行服务器900的电源管理,一个有线或无线网络接口950被配置为将服务器900连接到网络,和一个输入输出(I/O)接口958。服务器900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本发明实施例提供的服务器,通过根据每个缓存数据在当前时间窗口内的被访问次数,选择待定缓存数据,进而从缓存中删除待定缓存数据,从而实现了根据每个缓存数据在当前时间窗口内的被访问次数,对缓存数据进行删除,且在占用较少资源的前提下,不会误删掉近期持续被访问的缓存数据。因此,缓存命中率较高,消耗的资源较少。
需要说明的是:上述实施例提供的服务器在删除缓存数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器与缓存数据的删除方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种缓存数据的删除方法,其特征在于,所述方法包括:
获取本次删除操作的当前时间窗口,所述当前时间窗口为单位时间长度;
统计每个缓存数据在当前时间窗口内的被访问次数;
根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据;
从缓存中删除所述待定缓存数据。
2.根据权利要求1所述的方法,其特征在于,所述从缓存中删除所述待定缓存数据之后,还包括:
确定所述当前时间窗口的上一个时间窗口,所述当前时间窗口由所述上一个时间窗口经历调整后得到;
根据所述当前时间窗口及所述上一个时间窗口,对所述当前时间窗口进行调整,得到调整后的时间窗口;
根据调整后的时间窗口对缓存数据执行后续的删除操作。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前时间窗口及所述上一个时间窗口,对所述当前时间窗口进行调整,包括:
统计所述当前时间窗口对应的第一缓存命中率;
获取所述上一个时间窗口对应的第二缓存命中率;
根据所述第一缓存命中率及所述第二缓存命中率,对所述当前时间窗口进行调整。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一缓存命中率及所述第二缓存命中率,对所述当前时间窗口进行调整,包括:
确定将所述上一个时间窗口调整为所述当前时间窗口的调整方式,其中,时间窗口的调整方式为增长时间窗口或缩短时间窗口;
若所述第一缓存命中率大于所述第二缓存命中率,按照所述调整方式对所述当前时间窗口进行调整。
5.根据权利要求4所述的方法,其特征在于,所述确定将所述上一个时间窗口调整为所述当前时间窗口的调整方式之后,还包括:
若所述第一缓存命中率不大于所述第二缓存命中率,按照所述调整方式相反的调整方式对所述当前时间窗口进行调整。
6.一种服务器,其特征在于,所述服务器包括:
获取模块,用于获取本次删除操作的当前时间窗口,所述当前时间窗口为单位时间长度;
统计模块,用于统计每个缓存数据在当前时间窗口内的被访问次数;
选择模块,用于根据每个缓存数据在当前时间窗口内的被访问次数选择待定缓存数据;
第一删除模块,用于从缓存中删除所述待定缓存数据。
7.根据权利要求6所述的服务器,其特征在于,所述服务器还包括:
确定模块,用于确定所述当前时间窗口的上一个时间窗口,所述当前时间窗口由所述上一个时间窗口经历调整后得到;
调整模块,用于根据所述当前时间窗口及所述上一个时间窗口,对所述当前时间窗口进行调整,得到调整后的时间窗口;
第二删除模块,用于根据调整后的时间窗口对缓存数据执行后续的删除操作。
8.根据权利要求7所述的服务器,其特征在于,所述调整模块,包括:
统计单元,用于统计所述当前时间窗口对应的第一缓存命中率;
获取单元,用于获取所述上一个时间窗口对应的第二缓存命中率;
调整单元,用于根据所述第一缓存命中率及所述第二缓存命中率,对所述当前时间窗口进行调整。
9.根据权利要求8所述的服务器,其特征在于,所述调整单元,包括:
确定子单元,用于确定将所述上一个时间窗口调整为所述当前时间窗口的调整方式,其中,时间窗口的调整方式为增长时间窗口或缩短时间窗口;
第一调整子单元,用于当所述第一缓存命中率大于所述第二缓存命中率时,按照所述调整方式对所述当前时间窗口进行调整。
10.根据权利要求9所述的服务器,其特征在于,所述调整单元还包括:
第二调整子单元,用于当所述第一缓存命中率不大于所述第二缓存命中率时,按照所述调整方式相反的调整方式对所述当前时间窗口进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510079393.4A CN104715020B (zh) | 2015-02-13 | 2015-02-13 | 缓存数据的删除方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510079393.4A CN104715020B (zh) | 2015-02-13 | 2015-02-13 | 缓存数据的删除方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104715020A true CN104715020A (zh) | 2015-06-17 |
CN104715020B CN104715020B (zh) | 2017-12-29 |
Family
ID=53414347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510079393.4A Active CN104715020B (zh) | 2015-02-13 | 2015-02-13 | 缓存数据的删除方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104715020B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224473A (zh) * | 2015-09-15 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种固态硬盘缓存数据的更新方法及装置 |
CN105337891A (zh) * | 2015-11-02 | 2016-02-17 | 北京百度网讯科技有限公司 | 用于分布式缓存系统的流量控制方法和装置 |
CN105404477A (zh) * | 2015-12-16 | 2016-03-16 | 上海新储集成电路有限公司 | 一种提高固态硬盘寿命的方法 |
CN105824902A (zh) * | 2016-03-14 | 2016-08-03 | 乐视网信息技术(北京)股份有限公司 | 一种数据缓存方法及装置 |
CN106227679A (zh) * | 2016-07-25 | 2016-12-14 | 北京邮电大学 | 一种数据缓存替换方法及装置 |
CN106372156A (zh) * | 2016-08-30 | 2017-02-01 | 福建天晴数码有限公司 | 数据缓存方法及系统 |
CN106569733A (zh) * | 2015-10-12 | 2017-04-19 | 北京国双科技有限公司 | 缓存数据的处理方法和装置 |
CN106649145A (zh) * | 2016-12-15 | 2017-05-10 | Tcl集团股份有限公司 | 一种自适应更新缓存策略的方法及系统 |
CN107168648A (zh) * | 2017-05-04 | 2017-09-15 | 广东欧珀移动通信有限公司 | 文件存储方法、装置及终端 |
CN107562905A (zh) * | 2017-09-08 | 2018-01-09 | 深圳市金立通信设备有限公司 | 数据的管理方法、服务器及计算机可读存储介质 |
CN107844511A (zh) * | 2017-06-16 | 2018-03-27 | 珠海金山网络游戏科技有限公司 | 一种基于周期成本的游戏资源缓存方法和系统 |
CN108287878A (zh) * | 2018-01-02 | 2018-07-17 | 沈阳东软医疗系统有限公司 | 一种动态缓存数据失效调度方法、装置和缓存系统 |
CN111694505A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
CN112559572A (zh) * | 2020-12-22 | 2021-03-26 | 上海悦易网络信息技术有限公司 | 一种用于Key-Value缓存系统数据缓存预热的方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101634970A (zh) * | 2009-08-26 | 2010-01-27 | 成都市华为赛门铁克科技有限公司 | 预取长度调整方法、装置和存储系统 |
CN103281397A (zh) * | 2013-06-13 | 2013-09-04 | 苏州联讯达软件有限公司 | 一种基于时间戳和访问密度的数据缓存方法及系统 |
CN103440207A (zh) * | 2013-07-31 | 2013-12-11 | 北京智谷睿拓技术服务有限公司 | 缓存方法及装置 |
CN104111900A (zh) * | 2013-04-22 | 2014-10-22 | 中国移动通信集团公司 | 一种缓存中数据替换方法及装置 |
-
2015
- 2015-02-13 CN CN201510079393.4A patent/CN104715020B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101634970A (zh) * | 2009-08-26 | 2010-01-27 | 成都市华为赛门铁克科技有限公司 | 预取长度调整方法、装置和存储系统 |
CN104111900A (zh) * | 2013-04-22 | 2014-10-22 | 中国移动通信集团公司 | 一种缓存中数据替换方法及装置 |
CN103281397A (zh) * | 2013-06-13 | 2013-09-04 | 苏州联讯达软件有限公司 | 一种基于时间戳和访问密度的数据缓存方法及系统 |
CN103440207A (zh) * | 2013-07-31 | 2013-12-11 | 北京智谷睿拓技术服务有限公司 | 缓存方法及装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224473A (zh) * | 2015-09-15 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种固态硬盘缓存数据的更新方法及装置 |
CN106569733A (zh) * | 2015-10-12 | 2017-04-19 | 北京国双科技有限公司 | 缓存数据的处理方法和装置 |
CN105337891B (zh) * | 2015-11-02 | 2018-08-17 | 北京百度网讯科技有限公司 | 用于分布式缓存系统的流量控制方法和装置 |
CN105337891A (zh) * | 2015-11-02 | 2016-02-17 | 北京百度网讯科技有限公司 | 用于分布式缓存系统的流量控制方法和装置 |
CN105404477A (zh) * | 2015-12-16 | 2016-03-16 | 上海新储集成电路有限公司 | 一种提高固态硬盘寿命的方法 |
CN105824902A (zh) * | 2016-03-14 | 2016-08-03 | 乐视网信息技术(北京)股份有限公司 | 一种数据缓存方法及装置 |
CN106227679A (zh) * | 2016-07-25 | 2016-12-14 | 北京邮电大学 | 一种数据缓存替换方法及装置 |
CN106227679B (zh) * | 2016-07-25 | 2018-12-28 | 北京邮电大学 | 一种数据缓存替换方法及装置 |
CN106372156A (zh) * | 2016-08-30 | 2017-02-01 | 福建天晴数码有限公司 | 数据缓存方法及系统 |
CN106649145A (zh) * | 2016-12-15 | 2017-05-10 | Tcl集团股份有限公司 | 一种自适应更新缓存策略的方法及系统 |
CN106649145B (zh) * | 2016-12-15 | 2021-02-19 | Tcl科技集团股份有限公司 | 一种自适应更新缓存策略的方法及系统 |
CN107168648A (zh) * | 2017-05-04 | 2017-09-15 | 广东欧珀移动通信有限公司 | 文件存储方法、装置及终端 |
CN107844511A (zh) * | 2017-06-16 | 2018-03-27 | 珠海金山网络游戏科技有限公司 | 一种基于周期成本的游戏资源缓存方法和系统 |
CN107844511B (zh) * | 2017-06-16 | 2021-08-17 | 珠海金山网络游戏科技有限公司 | 一种基于周期成本的游戏资源缓存方法和系统 |
CN107562905A (zh) * | 2017-09-08 | 2018-01-09 | 深圳市金立通信设备有限公司 | 数据的管理方法、服务器及计算机可读存储介质 |
CN108287878A (zh) * | 2018-01-02 | 2018-07-17 | 沈阳东软医疗系统有限公司 | 一种动态缓存数据失效调度方法、装置和缓存系统 |
CN111694505A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
WO2020186931A1 (zh) * | 2019-03-15 | 2020-09-24 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
CN111694505B (zh) * | 2019-03-15 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 数据存储管理方法、装置和计算机可读存储介质 |
US11822788B2 (en) | 2019-03-15 | 2023-11-21 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Data storage management method and apparatus, and computer-readable storage medium |
CN112559572A (zh) * | 2020-12-22 | 2021-03-26 | 上海悦易网络信息技术有限公司 | 一种用于Key-Value缓存系统数据缓存预热的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104715020B (zh) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104715020A (zh) | 缓存数据的删除方法及服务器 | |
US10642867B2 (en) | Clustering based on a directed graph | |
Phillips Jr et al. | Solving the project time/cost tradeoff problem using the minimal cut concept | |
US11650990B2 (en) | Method, medium, and system for joining data tables | |
US20160203235A1 (en) | Striping of directed graphs and nodes with improved functionality | |
CN112799584B (zh) | 一种数据存储方法及装置 | |
WO2017143957A1 (zh) | 一种数据重分布的方法及装置 | |
CN104636286A (zh) | 用于数据访问的方法和设备 | |
CN108924203B (zh) | 数据副本自适应分布方法、分布式计算系统及相关设备 | |
CN116257349A (zh) | 一种集群系统的管理方法及装置 | |
CN103548005B (zh) | 替换缓存对象的方法和装置 | |
CN111385815B (zh) | 小区网络资源优化方法、装置、设备和介质 | |
CN102970349B (zh) | 一种dht网络的存储负载均衡方法 | |
WO2017181520A1 (zh) | 一种数据同步方法和装置 | |
CN106569728B (zh) | 多磁盘阵列raid共享写缓存的处理方法及装置 | |
CN104038566A (zh) | 一种虚拟交换设备地址学习的方法、装置及系统 | |
CN115460124A (zh) | 跨机房传输链路优化的方法、装置、设备和存储介质 | |
CN111143161B (zh) | 日志文件的处理方法、装置、存储介质和电子设备 | |
CN105022784A (zh) | 一种动态调节多级Bloom滤波器结构的方法 | |
US7477895B2 (en) | Method for determining registration areas in a wireless communication system | |
CN111143326A (zh) | 减少数据库操作的方法、装置、计算机设备及存储介质 | |
CN113946274A (zh) | 数据处理方法、装置、设备及介质 | |
CN103888373A (zh) | 一种网络节点的副本文件存储容量的调整方法和装置 | |
CN110554916A (zh) | 基于分布式集群的风险指标计算方法及装置 | |
CN110569231A (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 | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190729 Address after: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |