CN106227679B - 一种数据缓存替换方法及装置 - Google Patents
一种数据缓存替换方法及装置 Download PDFInfo
- Publication number
- CN106227679B CN106227679B CN201610594406.6A CN201610594406A CN106227679B CN 106227679 B CN106227679 B CN 106227679B CN 201610594406 A CN201610594406 A CN 201610594406A CN 106227679 B CN106227679 B CN 106227679B
- Authority
- CN
- China
- Prior art keywords
- data cached
- moment
- deleted
- data
- cache
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种数据缓存替换方法及装置,应用于移动网络中的缓存器,数据缓存替换方法包括:获取待缓存数据及待缓存数据的第一标识信息;在缓存器的缓存表中不存在第一标识信息时,获取并根据待缓存数据到达缓存器的到达时刻及来自核心网络的待缓存数据的上传时刻,确定待缓存数据的待删除时刻;在缓存器的缓存空间中没有空闲缓存空间时,比较待缓存数据的待删除时刻与待替换项的待删除时刻;待缓存数据的待删除时刻在待替换项的待删除时刻之后时,删除缓存空间中的待替换项,并缓存待缓存数据。应用本实施例,在数据缓存替换时能够避免不合理的替换发生,提高用户体验。
Description
技术领域
本发明涉及计算机网络通信技术领域,特别是涉及一种数据缓存替换方法及装置。
背景技术
互联网中包含着图片、音频和视频等大量的多媒体资源,为人们的生活、学习和生产提供了极大的便捷,是信息社会的基础。近些年来,随着移动通信技术迅猛发展、移动用户的数量也越来越多,移动用户更加频繁地使用智能手机和平板电脑,因此,对于移动网络中丰富的多媒体资源的请求量也越来越大,导致在移动网络中传输流量的爆炸式增长。
通过对传输流量爆炸式增长的观察,发现移动网络传输流量中的很大一部分是由于少数流行程度较高的内容重复传输产生的。因此,将流行度高的内容缓存到缓存器中,移动用户对于相同内容的请求可以直接从邻近的缓存器中获得,而不需要从远程服务器中传输,但是由于缓存器的缓存空间有限,因此需要制定合适的缓存替换策略,保证缓存器中缓存的内容随着用户的需要被及时替换,以便更好的提高缓存命中率。网络数据具有内容活跃时间的特征,内容活跃时间体现了缓存数据的活跃时长,即数据到达缓存器至被删除的时间长度,在内容活跃时间段里,内容流行度高,访问量持续增加。现有的缓存替换方法主要包括LRU(Least Recently Used,近期最少使用页替换)方法、LFU(Least FrequentlyUsed,最不经常使用页替换)方法和InCan(In-network cache assisted eNodeB caching,网络内部缓存协助节点缓存)方法。
现有的数据缓存替换方法在数据缓存替换时,易发生活跃度高的内容被活跃度低的内容替换的情况,替换不合理,影响用户的体验。
发明内容
本发明实施例的目的在于提供一种数据缓存替换方法及装置,以实现在数据缓存替换时,避免不合理的替换发生,提高用户体验。
为达到上述目的,本发明实施例公开了一种数据缓存替换方法,应用于移动网络中的缓存器,所述数据缓存替换方法包括:
获取待缓存数据及所述待缓存数据的第一标识信息,其中,所述第一标识信息至少包括:所述待缓存数据的名称和/或所述待缓存数据的地址;
在缓存器的缓存表中不存在所述第一标识信息时,获取并根据所述待缓存数据到达所述缓存器的到达时刻及来自核心网络的所述待缓存数据的上传时刻,确定所述待缓存数据的待删除时刻,其中,所述缓存表用于存储缓存数据的标识信息及所述缓存数据的待删除时刻,所述缓存数据的标识信息至少包括:所述缓存数据的名称和/或所述缓存数据的地址;
在所述缓存器的缓存空间中没有空闲缓存空间时,比较所述待缓存数据的待删除时刻与待替换项的待删除时刻,其中,所述缓存空间用于缓存所述缓存数据,所述待替换项为所述缓存表中表头位置已存储的第二标识信息对应的缓存数据,所述第二标识信息至少包括:所述第二标识信息对应的缓存数据的名称和/或所述第二标识信息对应的缓存数据的地址;
所述待缓存数据的待删除时刻在所述待替换项的待删除时刻之后时,删除所述缓存空间中所述待替换项,并缓存所述待缓存数据。
较佳的,所述数据缓存替换方法还包括:
在所述缓存表中已经存在所述第一标识信息时,直接返回所述待缓存数据至客户端,并删除所述缓存表中第一标识信息及所述缓存表中第一标识信息对应的待删除时刻;
依次将所述缓存表中位于第一标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表的表头位置移动一位,存储所述待缓存数据的第一标识信息及所述缓存表中第一标识信息对应的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
较佳的,所述在缓存器的缓存表中不存在所述第一标识信息时,获取并根据所述待缓存数据到达所述缓存器的到达时刻及来自核心网络的所述待缓存数据的上传时刻,确定所述待缓存数据的待删除时刻,包括:
在缓存器的缓存表中不存在所述第一标识信息时,获取所述待缓存数据到达所述缓存器的到达时刻及来自核心网络的所述待缓存数据的上传时刻;
根据所述到达时刻、所述上传时刻、预设增长趋势因数、预设增长率阈值,通过内容活跃时间公式,确定所述待缓存数据的内容活跃时间长度;
根据所述到达时刻及所述内容活跃时间长度,通过待删除时刻确定公式,确定所述待缓存数据的待删除时刻。
较佳的,所述内容活跃时间公式为:
其中,所述l为所述待缓存数据的内容活跃时间长度,所述p为待缓存数据访问量的预设增长趋势因数,所述t为所述待缓存数据访问量的预设增长率阈值,所述T1为所述待缓存数据到达所述缓存器的到达时刻,所述T2为来自核心网络的所述待缓存数据的上传时刻,所述(T1-T2)为所述待缓存数据上传的时间长度。
较佳的,所述待删除时刻确定公式为:
T3=T1+l,
其中,所述T3为所述待缓存数据的待删除时刻,所述T1为所述待缓存数据到达所述缓存器的到达时刻,所述l为所述待缓存数据的内容活跃时间长度。
较佳的,所述数据缓存替换方法还包括:
在所述缓存空间有空闲缓存空间时,存储所述待缓存数据的第一标识信息及所述待缓存数据的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
较佳的,所述数据缓存替换方法还包括:
所述待替换项的待删除时刻在所述待缓存数据的待删除时刻之后时,保持所述缓存表不变,不缓存所述待缓存数据。
较佳的,所述待缓存数据的待删除时刻在所述待替换项的待删除时刻之后时,删除所述缓存空间中所述待替换项,并缓存所述待缓存数据,包括:
所述待缓存数据的待删除时刻在所述待替换项的待删除时刻之后时,删除所述缓存表中所述第二标识信息、所述第二标识信息对应的待删除时刻及所述缓存空间中所述待替换项;
依次将位于所述缓存表中所述第二标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表表头位置移动一位;
存储所述待缓存数据的第一标识信息及所述待缓存数据的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
较佳的,所述数据缓存替换方法还包括:
在所述缓存空间中的任一缓存数据到达所述任一缓存数据的待删除时刻时,删除所述缓存表中所述任一缓存数据的标识信息、所述任一缓存数据的待删除时刻及所述缓存空间中所述任一缓存数据;
依次将位于所述缓存表中所述任一缓存数据的标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表表头位置移动一位。
为达到上述目的,本发明实施例还公开了一种数据缓存替换装置,应用于移动网络中的缓存器,所述数据缓存替换装置包括:
数据获取模块,用于获取待缓存数据及所述待缓存数据的第一标识信息,其中,所述第一标识信息至少包括:所述待缓存数据的名称和/或所述待缓存数据的地址;
待删除时刻确定模块,用于在缓存器的缓存表中不存在所述第一标识信息时,获取并根据所述待缓存数据到达所述缓存器的到达时刻及来自核心网络的所述待缓存数据的上传时刻,确定所述待缓存数据的待删除时刻,其中,所述缓存表用于存储缓存数据的标识信息及所述缓存数据的待删除时刻,所述缓存数据的标识信息至少包括:所述缓存数据的名称和/或所述缓存数据的地址;
比较模块,用于在所述缓存器的缓存空间中没有空闲缓存空间时,比较所述待缓存数据的待删除时刻与待替换项的待删除时刻,其中,所述缓存空间用于缓存所述缓存数据,所述待替换项为所述缓存表中表头位置已存储的第二标识信息对应的缓存数据,所述第二标识信息至少包括:所述第二标识信息对应的缓存数据的名称和/或所述第二标识信息对应的缓存数据的地址;
缓存模块,用于所述待缓存数据的待删除时刻在所述待替换项的待删除时刻之后时,删除所述缓存空间中所述待替换项,并缓存所述待缓存数据。
由上述的技术方案可见,本发明实施例提供的一种数据缓存替换方法,在缓存器的缓存表中不存在与待缓存数据相同的标识信息,且缓存器的缓存表已存满时,通过比较待缓存数据的待删除时刻和缓存表表头位置存储的待删除时刻的先后,确定待缓存数据是否替换缓存表表头位置对应的缓存数据,应用本发明实施例,在进行数据缓存替换时保留了内容更为活跃的缓存数据,从而保证了替换的合理性。另外,本发明实施例在缓存器的缓存空间中任一缓存数据到达待删除时刻时,直接删除缓存表中该缓存数据的标识信息、待删除时刻及缓存空间中的该缓存数据,释放缓存器的缓存空间,有效的减小了缓存损耗。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的数据缓存替换方法的一种流程示意图;
图2为本发明实施例的缓存替换方法的另一种流程示意图;
图3为本发明实施例的数据缓存替换装置的结构示意图;
图4为本发明实施例的缓存空间大小与内容时延的关系曲线和现有技术的对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的数据缓存替换方法的一种流程示意图,数据缓存替换方法包括:
步骤101,获取待缓存数据及待缓存数据的第一标识信息。
优选的,第一标识信息至少包括:待缓存数据的名称和/或待缓存数据的地址。
本发明实施例中,在缓存待缓存数据之前需要判断缓存表中是否已经存在与待缓存数据相同的缓存数据,通过对比标识信息减少了对缓存数据的详细内容进行对比的复杂度,只需通过对比标识信息便可判断两个缓存数据是否相同。
步骤102,在缓存器的缓存表中不存在第一标识信息时,获取并根据待缓存数据到达缓存器的到达时刻及来自核心网络的待缓存数据的上传时刻,确定待缓存数据的待删除时刻。
优选的,缓存表用于存储缓存数据的标识信息及缓存数据的待删除时刻,缓存数据的标识信息至少包括:缓存数据的名称和/或缓存数据的地址。
步骤103,在缓存器的缓存空间中没有空闲缓存空间时,比较待缓存数据的待删除时刻与待替换项的待删除时刻。
优选的,缓存空间用于缓存数据,待替换项为缓存表中表头位置已存储的第二标识信息对应的缓存数据,第二标识信息至少包括:第二标识信息对应的缓存数据的名称和/或第二标识信息对应的缓存数据的地址。
本发明实施例中,缓存器的缓存表中存储的缓存数据按照到达缓存器的先后顺序进行排列,由于缓存表表头位置对应的缓存数据的到达时刻较缓存表中其他位置对应的缓存数据最早且长时间无客户端访问,因此,只需比较待缓存数据的待删除时刻与缓存表表头位置存储的待删除时刻的先后,以决定待缓存数据是否替换缓存表表头位置对应的缓存数据。该比较方式,减少了待缓存数据的待删除时刻与每个已缓存数据的待删除时刻进行比较而产生的时间浪费。
步骤104,待缓存数据的待删除时刻在待替换项的待删除时刻之后时,删除缓存空间中的待替换项,并缓存待缓存数据。
本发明实施例,在缓存器的缓存表中不存在与待缓存数据相同的标识信息,且缓存器的缓存表已存满时,通过比较待缓存数据的待删除时刻和缓存表表头位置存储的待删除时刻的先后,确定待缓存数据是否替换缓存表表头位置对应的缓存数据,应用本发明实施例,在进行数据缓存替换时保留了内容更为活跃的数据,从而保证了替换的合理性。
优选的,本发明实施例中,在待缓存数据的缓存请求到达时,判断缓存空间中是否存在与待缓存数据相同的缓存数据,包括:
首先,在缓存器的缓存表中不存在待缓存数据的第一标识信息时,获取待缓存数据到达缓存器的到达时刻及来自核心网络的待缓存数据的上传时刻;
根据待缓存数据到达缓存器的到达时刻、来自核心网络的待缓存数据的上传时刻、预设增长趋势因数、预设增长率阈值,通过内容活跃时间公式,确定待缓存数据的内容活跃时间长度;
根据待缓存数据到达缓存器的到达时刻及内容活跃时间长度,通过待删除时刻确定公式,确定待缓存数据的待删除时刻。
优选的,待缓存数据的上传时刻可以主动从核心网络中获取或者由核心网络下发。
优选的,内容活跃时间公式为:
其中,l为待缓存数据的内容活跃时间长度,p为待缓存数据访问量的预设增长趋势因数,t为待缓存数据访问量的预设增长率阈值,T1为待缓存数据到达缓存器的到达时刻,T2为来自核心网络的待缓存数据的上传时刻,(T1-T2)为待缓存数据上传的时间长度。
待缓存数据访问量的预设增长趋势因数,用于决定待缓存数据被访问的次数的增长趋势。在增长趋势因数大于1时,待缓存数据被访问的次数呈加速增长趋势,在增长趋势因数等于1时,待缓存数据被访问的次数呈恒速增长趋势,在增长趋势因数小于1时,待缓存数据被访问的次数呈减速增长趋势;待缓存数据访问量的预设增长率阈值,用于限定待缓存数据被访问的次数的增长率的最小值。在待缓存数据被访问次数的增长率小于增长率阈值时,可得到待缓存数据超出内容活跃时间长度的范围的结论。本领域技术人员可根据大量的缓存数据的增长趋势的分析经验对增长趋势因数和增长率阈值进行预设。
优选的,待删除时刻确定公式为:
T3=T1+l,
其中,T3为待缓存数据的待删除时刻,T1为待缓存数据到达缓存器的到达时刻,l为待缓存数据的内容活跃时间长度。
其次,在缓存器的缓存表中已经存在待缓存数据的第一标识信息时,直接返回待缓存数据至客户端,并删除缓存表中第一标识信息及缓存表中第一标识信息对应的待删除时刻;
依次将缓存表中位于第一标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表的表头位置移动一位,存储待缓存数据的第一标识信息及缓存表中第一标识信息对应的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
本发明实施例中,如果缓存空间中不存在与待缓存数据相同的缓存数据,采用内容活跃时间的定义确定了待缓存数据的待删除时刻,待删除时刻越靠后,则说明待缓存数据的内容越活跃,因此,待缓存数据的待删除时刻决定了是否进行缓存数据的替换;如果缓存空间中已经存在与待缓存数据相同的缓存数据,不用再计算待缓存数据的待删除时刻,而是将缓存表中与待缓存数据的标识信息相同的标识信息对应的待删除时刻赋值给待缓存数据的待删除时刻,并将待缓存数据替换缓存空间中与待缓存数据相同的缓存数据,这样减少了重复计算待缓存数据的待删除时刻而产生的时间浪费,而且使得最新被访问的缓存数据的标识信息位于缓存表表尾位置,长时间无客户端访问的缓存数据始终处于缓存表表头位置,保证了合适的缓存替换。
优选的,在确定待缓存数据的待删除时刻后,判断缓存器的缓存空间中是否有空闲缓存空间:
在缓存器的缓存空间中没有空闲缓存空间时,比较待缓存数据的待删除时刻与待替换项的待删除时刻。
首先,待缓存数据的待删除时刻在待替换项的待删除时刻之后时,删除缓存表中的第二标识信息、第二标识信息对应的待删除时刻及缓存空间中的待替换项;
依次将位于缓存表中第二标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表表头位置移动一位;
存储待缓存数据的第一标识信息及待缓存数据的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
其次,待替换项的待删除时刻在待缓存数据的待删除时刻之后时,保持当前缓存表不变,不缓存待缓存数据。
在缓存空间有空闲缓存空间时,存储待缓存数据的第一标识信息及待缓存数据的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
本发明实施例中,由于缓存表表头位置对应的缓存数据的到达时刻较缓存表中其他位置对应的缓存数据最早且长时间无客户端访问,因此,本实施例只需比较待缓存数据的待删除时刻与缓存表表头位置存储的待删除时刻的先后,以决定待缓存数据是否替换缓存表表头位置对应的缓存数据。该比较方式,减少了待缓存数据的待删除时刻与每个已缓存数据的待删除时刻进行比较而产生的时间浪费。
优选的,在缓存空间中的任一缓存数据到达该缓存数据的待删除时刻时,删除缓存表中该缓存数据的标识信息、该缓存数据的待删除时刻及缓存空间中的该缓存数据;
依次将位于缓存表中该缓存数据的标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表表头位置移动一位。
本发明实施例中,在缓存器的缓存空间中任一缓存数据到达待删除时刻时,直接删除缓存表中该缓存数据的标识信息、待删除时刻及缓存空间中的该缓存数据,释放缓存器的缓存空间,有效的减小了缓存损耗。
图2为本发明实施例的缓存替换方法的另一种流程示意图,包括:
步骤201,获取待缓存数据及待缓存数据的第一标识信息,其中,第一标识信息为待缓存数据的URL(Uniform Resource Locator,统一资源定位符)。
步骤202,判断缓存器的缓存表中是否存在第一标识信息,如果是,则执行步骤203,如果否则执行步骤205。
步骤203,直接返回待缓存数据至客户端,并删除缓存表中第一标识信息及缓存表中第一标识信息对应的待删除时刻。
步骤204,依次将缓存表中位于第一标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表的表头位置移动一位,存储待缓存数据的第一标识信息及缓存表中第一标识信息对应的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
步骤205,获取待缓存数据到达缓存器的到达时刻及来自核心网络的待缓存数据的上传时刻。
步骤206,根据待缓存数据到达缓存器的到达时刻、来自核心网络的待缓存数据的上传时刻、预设增长趋势因数、预设增长率阈值,通过内容活跃时间公式,确定待缓存数据的内容活跃时间长度。
内容活跃时间公式为:
其中,l为待缓存数据的内容活跃时间长度,p为待缓存数据访问量的预设增长趋势因数,t为待缓存数据访问量的预设增长率阈值,T1为待缓存数据到达缓存器的到达时刻,T2为来自核心网络的待缓存数据的上传时刻,(T1-T2)为待缓存数据上传的时间长度。
本发明实施例中,根据用户需求及工业需求,设定待缓存数据访问量的预设增长趋势因数为p=1,待缓存数据访问量的预设增长率阈值为t=5%,则内容活跃时间长度为:
l=21-(T1-T2)。
步骤207,根据待缓存数据到达缓存器的到达时刻及内容活跃时间长度,通过待删除时刻确定公式,确定待缓存数据的待删除时刻。
待删除时刻确定公式为:
T3=T1+l,
其中,T3为待缓存数据的待删除时刻,T1为待缓存数据到达缓存器的到达时刻,l为待缓存数据的内容活跃时间长度。
步骤208,判断缓存器的缓存空间中是否有空闲缓存空间,如果是,则执行步骤209,如果否则执行步骤210。
步骤209,存储待缓存数据的第一标识信息及待缓存数据的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
步骤210,判断待缓存数据的待删除时刻是否在待替换项的待删除时刻之后,如果否,则执行步骤211,如果是,则执行步骤212,其中,待替换项为缓存表中表头位置已存储的第二标识信息对应的缓存数据,第二标识信息为缓存表表头存储的缓存数据的URL。
步骤211,保持当前缓存表不变,不缓存待缓存数据。
步骤212,删除缓存表中的第二标识信息、第二标识信息对应的待删除时刻及缓存空间中的待替换项。
步骤213,依次将位于缓存表中的第二标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表表头位置移动一位。
步骤214,存储待缓存数据的第一标识信息及待缓存数据的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
本发明实施例,在缓存器的缓存表中不存在与待缓存数据相同的标识信息,且缓存器的缓存表已存满时,通过比较待缓存数据的待删除时刻和缓存表表头位置存储的待删除时刻的先后,确定待缓存数据是否替换缓存表表头位置对应的缓存数据,应用本发明实施例,在进行数据缓存替换时保留了内容更为活跃的数据,从而保证了替换的合理性。
图3为本发明实施例的数据缓存替换装置的结构示意图,数据缓存替换装置包括:
数据获取模块301,用于获取待缓存数据及待缓存数据的第一标识信息,其中,第一标识信息至少包括:待缓存数据的名称和/或待缓存数据的地址。
待删除时刻确定模块302,用于在缓存器的缓存表中不存在第一标识信息时,获取并根据待缓存数据到达缓存器的到达时刻及来自核心网络的待缓存数据的上传时刻,确定待缓存数据的待删除时刻,其中,缓存表用于存储缓存数据的标识信息及缓存数据的待删除时刻,缓存数据的标识信息至少包括:缓存数据的名称和/或缓存数据的地址。
比较模块303,用于在缓存器的缓存空间中没有空闲缓存空间时,比较待缓存数据的待删除时刻与待替换项的待删除时刻,其中,缓存空间用于缓存数据,待替换项为缓存表中表头位置已存储的第二标识信息对应的缓存数据,第二标识信息至少包括:第二标识信息对应的缓存数据的名称和/或第二标识信息对应的缓存数据的地址。
缓存模块304,用于待缓存数据的待删除时刻在待替换项的待删除时刻之后时,删除缓存空间中的待替换项,并缓存待缓存数据。
本发明实施例,在缓存器的缓存表中不存在与待缓存数据相同的标识信息,且缓存器的缓存表已存满时,通过比较待缓存数据的待删除时刻和缓存表表头位置存储的待缓存时刻的先后,确定待缓存数据是否替换缓存表表头位置的缓存数据,应用本发明实施例,在进行数据缓存替换时保留了内容更为活跃的数据,从而保证了替换的合理性。
需要说明的是,本发明实施例的装置是应用上述数据缓存替换方法的装置,则上述数据缓存替换方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明的又一实施例的数据缓存替换装置中,还包括:
在缓存表中已经存在第一标识信息时,直接返回待缓存数据至客户端,并删除缓存表中第一标识信息及缓存表中第一标识信息对应的待删除时刻;
依次将缓存表中位于第一标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表的表头位置移动一位,存储待缓存数据的第一标识信息及缓存表中第一标识信息对应的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
本发明的又一实施例的数据缓存替换装置中,待删除时刻确定模块302还包括:
时间获取子模块,用于在缓存器的缓存表中不存在第一标识信息时,获取待缓存数据到达缓存器的到达时刻及来自核心网络的待缓存数据的上传时刻;
内容活跃时间长度确定子模块,用于根据待缓存数据到达缓存器的到达时刻、来自核心网络的待缓存数据的上传时刻、预设增长趋势因数、预设增长率阈值,通过内容活跃时间公式,确定待缓存数据的内容活跃时间长度;
待删除时刻确定子模块,用于根据待缓存数据到达缓存器的到达时刻及内容活跃时间长度,通过待删除时刻确定公式,确定待缓存数据的待删除时刻。
本发明的又一实施例的数据缓存替换装置中,待删除时刻确定模块302中的内容活跃时间长度确定子模块利用的内容活跃时间公式为:
其中,l为待缓存数据的内容活跃时间长度,p为待缓存数据访问量的预设增长趋势因数,t为待缓存数据访问量的预设增长率阈值,T1为待缓存数据到达缓存器的到达时刻,T2为来自核心网络的待缓存数据的上传时刻,(T1-T2)为待缓存数据上传的时间长度。
本发明的又一实施例的数据缓存替换装置中,待删除时刻确定模块302中的待删除时刻确定子模块利用的待删除时刻确定公式为:
T3=T1+l,
其中,T3为待缓存数据的待删除时刻,T1为待缓存数据到达缓存器的到达时刻,l为待缓存数据的内容活跃时间长度。
本发明的又一实施例的数据缓存替换装置中,还包括:
在缓存空间有空闲缓存空间时,存储待缓存数据的第一标识信息及待缓存数据的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
本发明的又一实施例的数据缓存替换装置中,还包括:
待替换项的待删除时刻在待缓存数据的待删除时刻之后时,保持当前缓存表不变,不缓存待缓存数据。
本发明的又一实施例的数据缓存替换装置中,缓存模块304还包括:
删除子模块,用于待缓存数据的待删除时刻在待替换项的待删除时刻之后时,删除缓存表中的第二标识信息、第二标识信息对应的待删除时刻及缓存空间中的待替换项;
位移子模块,用于依次将位于缓存表中的第二标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表表头位置移动一位;
缓存子模块,用于存储待缓存数据的第一标识信息及待缓存数据的待删除时刻至缓存表表尾位置,并缓存待缓存数据至缓存空间。
本发明的又一实施例的数据缓存替换装置中,还包括:
在缓存空间中的任一缓存数据到达该缓存数据的待删除时刻时,删除缓存表中该缓存数据的标识信息、该缓存数据的待删除时刻及缓存空间中的该缓存数据;
依次将位于缓存表中的该缓存数据的标识信息之后的每个标识信息及每个标识信息对应的待删除时刻向缓存表表头位置移动一位。
图4为本发明实施例的缓存空间大小与内容时延的关系曲线和现有技术的对比示意图。
图中可以看到,随着缓存空间的增长,缓存数据的时延越来越小,这是因为缓存空间越大,缓存的缓存数据越多,因此在访问这些缓存数据时,只需要从缓存器获取缓存数据即可,节省的从远程服务器到缓存器的传输时间就越多。因此,对于需要减少网络内部的传输流量,也可以通过增大缓存器的缓存空间来实现。图中401为无缓存空间的情况下,缓存空间大小与缓存数据时延的关系曲线;402为使用LRU方法和LFU方法的情况下,缓存空间大小与缓存数据时延的关系曲线;403为使用本发明实施例提供的方法的缓存空间大小与缓存数据时延的关系曲线。从图中可以看出,虽然缓存空间大小在改变,但是这四种网络缓存情况的性能从优到劣顺序依然保持不变,本发明的数据缓存替换方法始终拥有着最小的缓存数据时延。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种数据缓存替换方法,其特征在于,应用于移动网络中的缓存器,所述数据缓存替换方法包括:
获取待缓存数据及所述待缓存数据的第一标识信息,其中,所述第一标识信息至少包括:所述待缓存数据的名称和/或所述待缓存数据的地址;
在缓存器的缓存表中不存在所述第一标识信息时,获取所述待缓存数据到达所述缓存器的到达时刻及来自核心网络的所述待缓存数据的上传时刻,其中,所述缓存表用于存储缓存数据的标识信息及所述缓存数据的待删除时刻,所述缓存数据的标识信息至少包括:所述缓存数据的名称和/或所述缓存数据的地址;
根据所述到达时刻、所述上传时刻、预设增长趋势因数、预设增长率阈值,通过内容活跃时间公式,确定所述待缓存数据的内容活跃时间长度,所述内容活跃时间公式为:
其中,所述l为所述待缓存数据的内容活跃时间长度,所述p为待缓存数据访问量的预设增长趋势因数,所述t为所述待缓存数据访问量的预设增长率阈值,所述T1为所述待缓存数据到达所述缓存器的到达时刻,所述T2为来自核心网络的所述待缓存数据的上传时刻,所述(T1-T2)为所述待缓存数据上传的时间长度;
根据所述到达时刻及所述内容活跃时间长度,通过待删除时刻确定公式,确定所述待缓存数据的待删除时刻,所述待删除时刻确定公式为:
T3=T1+l
其中,所述T3为所述待缓存数据的待删除时刻,所述T1为所述待缓存数据到达所述缓存器的到达时刻,所述l为所述待缓存数据的内容活跃时间长度;
在所述缓存器的缓存空间中没有空闲缓存空间时,比较所述待缓存数据的待删除时刻与待替换项的待删除时刻,其中,所述缓存空间用于缓存所述缓存数据,所述待替换项为所述缓存表中表头位置已存储的第二标识信息对应的缓存数据,所述第二标识信息至少包括:所述第二标识信息对应的缓存数据的名称和/或所述第二标识信息对应的缓存数据的地址;
所述待缓存数据的待删除时刻在所述待替换项的待删除时刻之后时,删除所述缓存表中所述第二标识信息、所述第二标识信息对应的待删除时刻及所述缓存空间中所述待替换项;
依次将位于所述缓存表中所述第二标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表表头位置移动一位;
存储所述待缓存数据的第一标识信息及所述待缓存数据的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
2.根据权利要求1所述的数据缓存替换方法,其特征在于,所述数据缓存替换方法还包括:
在所述缓存表中已经存在所述第一标识信息时,直接返回所述待缓存数据至客户端,并删除所述缓存表中第一标识信息及所述缓存表中第一标识信息对应的待删除时刻;
依次将所述缓存表中位于第一标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表的表头位置移动一位,存储所述待缓存数据的第一标识信息及所述缓存表中第一标识信息对应的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
3.根据权利要求1所述的数据缓存替换方法,其特征在于,所述数据缓存替换方法还包括:
在所述缓存空间有空闲缓存空间时,存储所述待缓存数据的第一标识信息及所述待缓存数据的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
4.根据权利要求1所述的数据缓存替换方法,其特征在于,所述数据缓存替换方法还包括:
所述待替换项的待删除时刻在所述待缓存数据的待删除时刻之后时,保持所述缓存表不变,不缓存所述待缓存数据。
5.根据权利要求1所述的数据缓存替换方法,其特征在于,所述数据缓存替换方法还包括:
在所述缓存空间中的任一缓存数据到达所述任一缓存数据的待删除时刻时,删除所述缓存表中所述任一缓存数据的标识信息、所述任一缓存数据的待删除时刻及所述缓存空间中所述任一缓存数据;
依次将位于所述缓存表中所述任一缓存数据的标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表表头位置移动一位。
6.一种数据缓存替换装置,其特征在于,应用于移动网络中的缓存器,所述数据缓存替换装置包括:
数据获取模块,用于获取待缓存数据及所述待缓存数据的第一标识信息,其中,所述第一标识信息至少包括:所述待缓存数据的名称和/或所述待缓存数据的地址;
待删除时刻确定模块,用于:
在缓存器的缓存表中不存在所述第一标识信息时,获取所述待缓存数据到达所述缓存器的到达时刻及来自核心网络的所述待缓存数据的上传时刻,其中,所述缓存表用于存储缓存数据的标识信息及所述缓存数据的待删除时刻,所述缓存数据的标识信息至少包括:所述缓存数据的名称和/或所述缓存数据的地址;
根据所述到达时刻、所述上传时刻、预设增长趋势因数、预设增长率阈值,通过内容活跃时间公式,确定所述待缓存数据的内容活跃时间长度,所述内容活跃时间公式为:
其中,所述l为所述待缓存数据的内容活跃时间长度,所述p为待缓存数据访问量的预设增长趋势因数,所述t为所述待缓存数据访问量的预设增长率阈值,所述T1为所述待缓存数据到达所述缓存器的到达时刻,所述T2为来自核心网络的所述待缓存数据的上传时刻,所述(T1-T2)为所述待缓存数据上传的时间长度;
根据所述到达时刻及所述内容活跃时间长度,通过待删除时刻确定公式,确定所述待缓存数据的待删除时刻,所述待删除时刻确定公式为:
T3=T1+l
其中,所述T3为所述待缓存数据的待删除时刻,所述T1为所述待缓存数据到达所述缓存器的到达时刻,所述l为所述待缓存数据的内容活跃时间长度;
比较模块,用于在所述缓存器的缓存空间中没有空闲缓存空间时,比较所述待缓存数据的待删除时刻与待替换项的待删除时刻,其中,所述缓存空间用于缓存所述缓存数据,所述待替换项为所述缓存表中表头位置已存储的第二标识信息对应的缓存数据,所述第二标识信息至少包括:所述第二标识信息对应的缓存数据的名称和/或所述第二标识信息对应的缓存数据的地址;
缓存模块,用于:
所述待缓存数据的待删除时刻在所述待替换项的待删除时刻之后时,删除所述缓存表中所述第二标识信息、所述第二标识信息对应的待删除时刻及所述缓存空间中所述待替换项;
依次将位于所述缓存表中所述第二标识信息之后的每个标识信息及所述每个标识信息对应的待删除时刻向所述缓存表表头位置移动一位;
存储所述待缓存数据的第一标识信息及所述待缓存数据的待删除时刻至所述缓存表表尾位置,并缓存所述待缓存数据至所述缓存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610594406.6A CN106227679B (zh) | 2016-07-25 | 2016-07-25 | 一种数据缓存替换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610594406.6A CN106227679B (zh) | 2016-07-25 | 2016-07-25 | 一种数据缓存替换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106227679A CN106227679A (zh) | 2016-12-14 |
CN106227679B true CN106227679B (zh) | 2018-12-28 |
Family
ID=57533292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610594406.6A Active CN106227679B (zh) | 2016-07-25 | 2016-07-25 | 一种数据缓存替换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106227679B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649150B (zh) * | 2016-12-26 | 2020-04-24 | 锐捷网络股份有限公司 | 一种缓存管理方法及装置 |
CN106909518B (zh) * | 2017-01-24 | 2020-06-26 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
CN108681469B (zh) * | 2018-05-03 | 2021-07-30 | 武汉斗鱼网络科技有限公司 | 基于Android系统的页面缓存方法、装置、设备及存储介质 |
CN110032671B (zh) * | 2019-04-12 | 2021-06-18 | 北京百度网讯科技有限公司 | 用户轨迹信息的处理方法、装置、计算机设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0303231A2 (en) * | 1987-08-10 | 1989-02-15 | Wang Laboratories Inc. | Method and device for enabling concurrent access of indexed sequential data files |
US5479636A (en) * | 1992-11-16 | 1995-12-26 | Intel Corporation | Concurrent cache line replacement method and apparatus in microprocessor system with write-back cache memory |
CN1512352A (zh) * | 2002-10-10 | 2004-07-14 | 国际商业机器公司 | 用于虚拟存储器的管理的方法和分析高速缓存 |
CN1585347A (zh) * | 2004-05-21 | 2005-02-23 | 中国科学院计算技术研究所 | 一种利用网络用户访问特性的网络代理缓存替换方法 |
CN1679004A (zh) * | 2002-07-04 | 2005-10-05 | 索尼株式会社 | 高速缓存设备、高速缓存数据管理方法和计算机程序 |
JP2009151457A (ja) * | 2007-12-19 | 2009-07-09 | Nec Corp | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
CN101887400A (zh) * | 2010-06-24 | 2010-11-17 | 中兴通讯股份有限公司 | 缓存对象老化的方法和装置 |
CN102541757A (zh) * | 2011-11-30 | 2012-07-04 | 华为技术有限公司 | 写缓存方法、缓存同步方法和装置 |
CN103019962A (zh) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | 数据缓存处理方法、装置以及系统 |
US8775373B1 (en) * | 2008-05-21 | 2014-07-08 | Translattice, Inc. | Deleting content in a distributed computing environment |
CN104715020A (zh) * | 2015-02-13 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 缓存数据的删除方法及服务器 |
CN105335102A (zh) * | 2015-10-10 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | 一种缓存数据处理方法及装置 |
WO2016059469A1 (en) * | 2014-10-16 | 2016-04-21 | Alcatel Lucent | Hierarchical caching for online media |
CN105635319A (zh) * | 2016-03-03 | 2016-06-01 | 北京邮电大学 | 一种数据缓存的方法及装置 |
-
2016
- 2016-07-25 CN CN201610594406.6A patent/CN106227679B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0303231A2 (en) * | 1987-08-10 | 1989-02-15 | Wang Laboratories Inc. | Method and device for enabling concurrent access of indexed sequential data files |
US5479636A (en) * | 1992-11-16 | 1995-12-26 | Intel Corporation | Concurrent cache line replacement method and apparatus in microprocessor system with write-back cache memory |
CN1679004A (zh) * | 2002-07-04 | 2005-10-05 | 索尼株式会社 | 高速缓存设备、高速缓存数据管理方法和计算机程序 |
CN1512352A (zh) * | 2002-10-10 | 2004-07-14 | 国际商业机器公司 | 用于虚拟存储器的管理的方法和分析高速缓存 |
CN1585347A (zh) * | 2004-05-21 | 2005-02-23 | 中国科学院计算技术研究所 | 一种利用网络用户访问特性的网络代理缓存替换方法 |
JP2009151457A (ja) * | 2007-12-19 | 2009-07-09 | Nec Corp | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
US8775373B1 (en) * | 2008-05-21 | 2014-07-08 | Translattice, Inc. | Deleting content in a distributed computing environment |
CN101887400A (zh) * | 2010-06-24 | 2010-11-17 | 中兴通讯股份有限公司 | 缓存对象老化的方法和装置 |
CN102541757A (zh) * | 2011-11-30 | 2012-07-04 | 华为技术有限公司 | 写缓存方法、缓存同步方法和装置 |
CN103019962A (zh) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | 数据缓存处理方法、装置以及系统 |
WO2016059469A1 (en) * | 2014-10-16 | 2016-04-21 | Alcatel Lucent | Hierarchical caching for online media |
CN104715020A (zh) * | 2015-02-13 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 缓存数据的删除方法及服务器 |
CN105335102A (zh) * | 2015-10-10 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | 一种缓存数据处理方法及装置 |
CN105635319A (zh) * | 2016-03-03 | 2016-06-01 | 北京邮电大学 | 一种数据缓存的方法及装置 |
Non-Patent Citations (2)
Title |
---|
一种基于数据访问机制的改进数据缓存替换算法;董奕 等;《福建电脑》;20091204(第10期);第84-86页 * |
虚拟桌面应用中面向SSD缓存的数据缩减技术研究与实现;何晚辉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第3期);第I137-241页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106227679A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106227679B (zh) | 一种数据缓存替换方法及装置 | |
CN105245912B (zh) | 一种缓存视频数据及读取视频数据的方法及装置 | |
CN104331428B (zh) | 一种小文件和大文件的存储及访问方法 | |
JP5668145B2 (ja) | メッセージを表示するための方法およびデバイス | |
US6370620B1 (en) | Web object caching and apparatus for performing the same | |
CN105210352B (zh) | 基于指纹的智能内容预取 | |
CN103369048B (zh) | 基于拖拽操作的内容分享方法及系统 | |
CN101510219B (zh) | 文件数据访问方法、装置以及系统 | |
US6721850B2 (en) | Method of cache replacement for streaming media | |
CN106657213A (zh) | 文件传输方法和装置 | |
CN109656956B (zh) | 一种实现业务系统数据集中式缓存的方法及装置 | |
CN101656985B (zh) | 一种管理url资源缓存的方法和装置 | |
CN101080056A (zh) | 一种移动终端的网络浏览器收藏夹的管理方法及系统 | |
JPH11296426A (ja) | 記憶域空間の節約方法、オブジェクトの管理方法及び製造物 | |
RU2005124131A (ru) | Устройство обработки информации, способ управления содержанием, способ управления информацией содержания и компьютерная программа | |
CN110399348A (zh) | 文件重删方法、装置、系统及计算机可读存储介质 | |
CN108090078A (zh) | 文档在线预览方法及装置 | |
CN102546674A (zh) | 一种基于网络存储装置的目录树缓存系统及方法 | |
CN101764848A (zh) | 传输网络文件的方法和装置 | |
CN108881444A (zh) | 一种内容流行度分布不一致的雾无线接入网非同步编码缓存方法 | |
CN105915619B (zh) | 顾及访问热度的网络空间信息服务高性能内存缓存方法 | |
CN108632388A (zh) | 一种分页内容的加载方法及装置 | |
CN110062274A (zh) | 一种视频文件缓存方法、装置、设备及可读存储介质 | |
CN107911712A (zh) | 数据缓冲方法和电子设备 | |
CN107659626B (zh) | 面向临时元数据的分离存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |