CN114079671A - 缓存管理方法、终端以及存储介质 - Google Patents
缓存管理方法、终端以及存储介质 Download PDFInfo
- Publication number
- CN114079671A CN114079671A CN202010772335.0A CN202010772335A CN114079671A CN 114079671 A CN114079671 A CN 114079671A CN 202010772335 A CN202010772335 A CN 202010772335A CN 114079671 A CN114079671 A CN 114079671A
- Authority
- CN
- China
- Prior art keywords
- application scene
- hot spot
- data
- cache
- application
- 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
- 238000007726 management method Methods 0.000 title abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存管理方法、终端以及存储介质,所述方法包括:当确定终端切换至第一应用场景,从非缓存区提取与所述第一应用场景对应的专用热点数据,并将所述专用热点数据加载至缓存中;当确定所述终端从所述第一应用场景切换至第二应用场景,按照预设的释放策略从所述缓存中释放与所述第一应用场景对应的所述专用热点数据。本发明在终端切换至第一应用场景时,预加载匹配第一应用场景的专用热点数据至缓存,从而能够节约处理器运行应用时读取数据的开销,提高处理器在第一应用场景下的运行速度。当终端从第一应用场景切换至第二应用场景时,从缓存中释放与第一应用场景对应的专用热点数据,减少对缓存空间的占用。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种缓存管理方法、终端设备以及存储介质。
背景技术
处理器在读取数据时,会首先从缓存中查找需要的数据,若查找到则直接执行,若查找不到则从非缓存区中查找。由于缓存的运行速度比非缓存区快得多,因此缓存能够帮助处理器更快地运行。但是,缓存的成本十分昂贵,随着终端设备安装的应用软件越来越多,缓存中的无用数据也越来越多,因此需要制定科学的缓存机制,以便达到性能和成本之间的均衡。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种缓存管理方法、终端设备以及存储介质,能够节约处理器读取数据的开销,进而提高处理器的运行速度,并减少对缓存空间的占用。
一方面,本发明实施例提供了一种缓存管理方法,所述方法包括:
当确定终端切换至第一应用场景,从非缓存区提取与所述第一应用场景对应的专用热点数据,并将所述专用热点数据加载至缓存中;
当确定所述终端从所述第一应用场景切换至第二应用场景,按照预设的释放策略从所述缓存中释放与所述第一应用场景对应的所述专用热点数据。
另一方面,本发明实施例提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求如上所述的缓存管理方法的步骤。
再一方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,该程序被处理器执行时实现如上所述的缓存管理方法的步骤。
本发明实施例包括:当确定终端切换至第一应用场景,从非缓存区提取与所述第一应用场景对应的专用热点数据,并将所述专用热点数据加载至缓存中;当确定所述终端从所述第一应用场景切换至第二应用场景,按照预设的释放策略从所述缓存中释放与所述第一应用场景对应的所述专用热点数据。本发明实施例提供的技术方案,在终端切换至第一应用场景时,预加载匹配第一应用场景的专用热点数据至缓存,从而能够提高缓存的使用率,节约处理器运行应用时读取数据的开销,提高处理器在第一应用场景下的运行速度。当终端从第一应用场景切换至第二应用场景时,按照预设的释放策略,从缓存中释放与第一应用场景对应的专用热点数据,减少对缓存空间的占用,以便达到性能与成本的均衡。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一实施例提供的缓存管理方法的流程示意图;
图2a是图1中的步骤S110的子步骤流程示意图;
图2b是图1中的步骤S121的子步骤流程示意图;
图3是本发明另一实施例提供的缓存管理方法的流程示意图;
图4是图3中的步骤S220的子步骤流程示意图;
图5是图4中的步骤S221的子步骤流程示意图;
图6是本发明另一实施例提供的缓存管理方法的流程示意图;
图7是本发明另一实施例提供的缓存管理方法的流程示意图;
图8是本发明实施例提供的共用热点数据的获取过程的示意图;
图9是本发明另一实施例提供的缓存管理方法的流程示意图;
图10是本发明另一实施例提供的缓存管理方法的流程示意图;
图11是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
应了解,在本发明实施例的描述中,如果有描述到“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明实施例提供的缓存管理方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,UMPC)、上网本、个人数字助理(personaldigitalassistant,PDA)等终端设备上,也可以应用于电视、音箱、洗衣机等智能家电设备上,本发明实施例对终端的具体类型不作任何限制。
图1示出了本发明实施例提供的一种缓存管理方法的流程图。如图1所示,该方法包括如下步骤:
S110,当确定终端切换至第一应用场景,从非缓存区提取与所述第一应用场景对应的专用热点数据,并将所述专用热点数据加载至缓存中。
示例性的,终端通常安装有多个应用,由于不同类型的应用在运行时所需访问的数据具有较大差异,故本发明实施例根据终端安装的应用类型划分多个应用场景,具体可以设定每个应用类型对应一个应用场景。比如,将视频类应用设定为第一应用场景,游戏类应用设定为第二应用场景,网购类应用设定为第三应用场景。
当终端设备监测到用户打开应用的操作,可根据用户的操作确定终端当前的应用场景。比如,对于安装安卓Android操作系统的终端,可以利用Android的守护进程监测用户打开应用的操作及确定用户打开了哪个应用,进而确定终端当前的应用场景。应理解,本发明实施例描述的第一应用场景可以指代终端划分的多个应用场景中的任意一个。本发明实施例在确定终端当前切换至第一应用场景时,从非缓存区提取与当前第一应用场景对应的专用热点数据,并加载至缓存中进行缓冲,实现热点数据预加载,以提高缓存的使用率和应用运行过程中缓存的命中率,避免处理器频繁从非缓存区读取数据而增加I/O开销,提升处理器的运行速度和性能。
应理解,本发明实施例描述的专用热点数据是对应于指定应用场景的热点数据,比如,数据A为终端先前在第一应用场景下多次访问的数据,则数据A可以作为对应于第一应用场景的专用热点数据。
如图2a所示,步骤S110中的从非缓存区提取与所述第一应用场景对应的专用热点数据可以通过如下子步骤S111和S112实现。
S111,根据专用热点数据与应用场景之间的映射关系,确定与第一应用场景对应的专用热点数据;
S112,从非缓存区提取与第一应用场景对应的专用热点数据。
具体实现时,可以预先设置至少一个配置列表,通过配置列表记录专用热点数据与应用场景之间的映射关系。
在一些实施例中,设置有多个配置列表,每个配置列表对应一个应用场景,每个配置列表包括专用热点数据的数据标识和数据地址。当确定终端切换至第一应用场景时,查找与第一应用场景对应的配置列表,根据配置列表中的数据地址,从非缓存区提取与第一应用场景对应的专用热点数据。
在另一些实施例中,仅设置一个配置列表,该配置列表中包括专用热点数据的数据标识、数据地址和对应的应用场景,当确定终端切换至第一应用场景时,在配置列表中查找与第一应用场景对应的专用热点数据,并根据配置列表中的数据地址,从非缓存区提取与第一应用场景对应的专用热点数据。
应理解,本发明实施例描述的缓存是相对非缓存区而言读取速度较快的存储空间。比如:在一些实施例中,缓存可以指RAM(Random Access Memory,随机存取存储器),非缓存区可以指ROM(Read-Only Memory,只读内存);在一些实施例中,缓存可以指SRAM(Static RAM,静态随机存取存储器),非缓存区可以指DRAM(Dynamic RAM,动态随机存取存储器);在另一些实施例中,缓存可以指内存,非缓存区可以指磁盘。本发明实施例对缓存和非缓存区各自指代的存储器件不作具体限定。
S120,当确定终端从第一应用场景切换至第二应用场景,按照预设的释放策略从缓存中释放与第一应用场景对应的专用热点数据。
示例性的,当监测到终端的应用场景发生切换时,第一应用场景被切换至第二应用场景,则从缓存中释放与第一应用场景对应的专用热点数据,避免不常用的数据过多占用缓存空间,以便加载与第二应用场景对应的专用热点数据。
作为示例,如图2b所示,步骤S120中,按照预设的释放策略从缓存中释放与第一应用场景对应的专用热点数据,可以包括:
S121,确定第一应用场景的类别,其中,应用场景的类别包括常用场景和非常用场景;
S122,当确定第一应用场景为非常用场景,从缓存中释放与第一应用场景对应的专用热点数据。
当终端从第一应用场景切换至第二应用场景时,判断第一应用场景是否为非常用场景,若确定第一应用场景为非常用场景,则从缓存中释放与第一应用场景对应的专用热点数据,避免不常用的数据过多占用缓存空间。
图3为本发明一实施例提供的缓存管理方法的流程图,如图3所示,包括如下步骤:
S210,确定终端切换至第一应用场景,从非缓存区提取与第一应用场景对应的专用热点数据,并将与第一应用场景对应的专用热点数据加载至缓存中;
S220,确定终端从第一应用场景切换至第二应用场景,确定第一应用场景的类别,若确定第一应用场景为非常用场景,执行步骤S230;若确定第一应用场景为常用场景,直接执行步骤S240;
S230,从缓存中释放与第一应用场景对应的专用热点数据;
S240,从非缓存区提取与第二应用场景对应的专用热点数据,并将与第二应用场景对应的专用热点数据加载至缓存中。
图3所示的示例中,当终端从第一应用场景切换至第二应用场景时,判断第一应用场景是否为非常用场景,若确定第一应用场景为非常用场景,则从缓存中释放与第一应用场景对应的专用热点数据,避免不常用的数据过多占用缓存空间;若确定第一应用场景为常用场景,则不释放与第一应用场景对应的专用热点数据,使与第一应用场景对应的专用热点数据保留在缓存中,避免日后多次加载第一应用场景的热点数据造成内存I/O开销过大。
作为示例,如图4所示,步骤S220中,第一应用场景的类别的确定过程具体包括:
S221,获取第一应用场景的使用热度值。
应理解,应用场景的使用热度值表征应用场景使用的概率,应用场景的使用热度值越大表征其被使用的概率越高。
S222,根据使用热度值确定第一应用场景为常用场景或者非常用场景。
作为示例,可以按照使用热度值从大到小的顺序,确定第一应用场景在多个应用场景中的排序位置。比如,当前终端设备划分有M个应用场景,根据各个应用场景的使用热度值,对这M个应用场景进行排序,排在第一位的使用热度值最高,排在第M位的使用热度值最低。当第一应用场景的排序位置在前N位,则确定第一应用场景为常用场景,否则为非常用场景,其中N为大于0的整数,且N小于M。这里的N可以是预设的数值,在M个应用场景中取使用热度值排序较高的N个的应用场景作为常用场景,其余的为非常用场景。
作为示例,如图5所示,步骤S221中,第一应用场景的使用热度值的获取过程具体包括:
S2211,获取第一应用场景的使用信息,使用信息包括使用次数和使用时间点;
S2212,根据使用次数和使用时间点进行加权运算,得到第一应用场景的使用热度值。
具体实现时,可以通过设置场景列表记录各个应用场景的使用信息,步骤S2211中,可以从场景列表读取第一应用场景的使用信息。
本示例采用根据使用次数和使用时间点进行加权运算来确定使用热度值,进而根据使用热度值划分出常用的应用场景,相比只根据使用次数或者使用时间点进行常用/非常用场景的划分,本示例的划分方式可以划分得更加准确,更能贴合用户的使用需求。比如,用户可能某个时间段内频繁使用某一个应用场景,使得该应用场景的累计使用次数高于其它应用场景,但是该应用场景最近一次的使用时间点已经距离当前时间点已经相隔较远,若将该应用场景判定为常用场景明显是不恰当的。又比如,用户可能当前连续切换了多个应用场景,若按照使用时间点作为判定常用场景的依据,最近切换的几个应用场景会替换之前常用的应用场景,但是用户可能只是在当前使用了这几个应用场景一次,日后将不再使用,若将这几个应用场景判定为常用场景也明显是不恰当的。
图6为本发明一实施例提供的缓存管理方法的流程图,如图6所示,包括如下步骤:
S301,确定终端切换至第一应用场景,从非缓存区提取与第一应用场景对应的专用热点数据,并将与第一应用场景对应的专用热点数据加载至缓存中;
S302,接收终端在第一应用场景下的访问请求并确定访问请求的类型;当接收到终端在第一应用场景下对专用热点数据的访问请求时,执行步骤S303a;当接收到终端在第一应用场景下对非热点数据的访问请求时,执行步骤S303b;
S303a,更新专用热点数据的访问信息;
S303b,将非热点数据作为新的专用热点数据,并记录新的专用热点数据的访问信息;
S304,确定终端是否从第一应用场景切换至第二应用场景;若确定结果为是,执行步骤S305;若确定结果为否,返回步骤S302;
S305,确定第一应用场景的类别;若确定第一应用场景为非常用场景,执行步骤S306;若确定第一应用场景为常用场景,直接执行步骤S307;
S306,从缓存中释放与第一应用场景对应的专用热点数据;
S307,从非缓存区提取与第二应用场景对应的专用热点数据,并将与第二应用场景对应的专用热点数据加载至缓存中。
示例性的,步骤S302中的访问请求表征在第一应用场景下,处理器对所需数据的访问请求。若访问请求所请求访问的数据为已预先加载至缓存的专用热点数据,则对该专用热点数据的访问信息进行更新。
在具体实现时,可以通过配置列表记录专用热点数据的访问信息,这里的访问信息可以包括被访问次数、访问时间点等。其中,配置列表的形式可以参见表1(数据地址未在表中示出),如表1所示,已预先加载至缓存中的与当前第一应用场景对应的专用热点数据包括数据A、B、C、D、E,其中,数据A的访问信息包括:被访问次数8,访问时间点2020/5/6 8:00。
表1
当处理器在本次第一应用场景下请求访问了数据A,且访问数据A的时间点为2020/5/613:00,则根据本次对数据A的访问请求,相应的对数据A的访问信息进行更新:被访问次数加1,使被访问次数更新为9,访问时间点更新为最新的访问时间点2020/5/6 13:00,更新后的数据A参见表2所示。
若访问请求所请求访问的数据为未加载至缓存的非热点数据,则需要到非缓存区中查找该非热点数据,当查找到所请求的非热点数据,将该非热点数据加载至缓存中,并将该非热点数据与当前的第一应用场景建立对应关系,由此将该非热点数据更新为与第一应用场景对应的专用热点数据,同时记录该新的专用热点数据的访问信息。比如,处理器在本次第一应用场景下请求访问了数据F,数据F先前未加载至缓存,处理器从非缓存区中查找到该数据F后,将该数据F加载至缓存,并作为新的专用热点数据添加至对应于第一应用场景的配置列表中,并在配置列表中记录数据F的访问信息,具体可以参见表2。
表2
在一些实施例中,在上述步骤S303b之后,本发明实施例的缓冲管理方法还包括如图7所示的步骤:
S401,计算专用热点数据的总容量;
S402,当专用热点数据的总容量达到第一上限值时,获取专用热点数据的访问信息,并根据专用热点数据的访问信息确定专用热点数据的访问热度值;其中,专用热点数据的访问信息包括被访问次数和访问时间点中的至少一项;
S403,根据专用热点数据的访问热度值对专用热点数据进行清除,以使得专用热点数据的总容量低于第一上限值。
在具体实现时,可以在配置列表中记录各个专用热点数据的数据容量大小,通过对各个专用热点数据的数据容量大小进行求和计算,得到专用热点数据的总容量。
专用热点数据的访问热度值表征专用热点数据在第一应用场景下被访问的概率,可以理解访问热度值越高的专用热点数据在第一应用场景中被访问的概率越大,访问热度值越低的专用热点数据在第一应用场景中被访问的概率越小。因此当与第一应用场景对应的配置列表中的专用热点数据的总容量达到第一上限值时,可以对访问热度值较低的专用热点数据进行淘汰,直至与第一应用场景对应的专用热点数据的总容量低于第一上限值。
在一实施例中,专用热点数据的访问信息包括被访问次数和访问时间点;步骤S402中,根据专用热点数据的访问信息确定专用热点数据的访问热度值,具体可以包括:根据被访问次数和访问时间点进行加权运算,得到专用热点数据的访问热度值。
通常情况下,某个热点数据被访问次数越多,或者最近一次被访问时间点距离当前时间点越近,都能在一定程度上说明该热点数据被访问的概率相对较大,应当赋予较大的访问热度值。但是,只采用被访问次数或者访问时间点作为确定访问热度值的依据都是较片面的。比如,某些热点数据先前被访问的次数虽然多,但是最近一次的访问时间点距离当前时间点已相对较远,当前应用场景下已经无需再用到这些热点数据,若继续将这些热点数据存储在缓存中,将会造成缓存空间的浪费。又比如,某些热点数据的最近一次被访问的时间点虽然距离当前时间点很近,但是处理器只访问一次后,便无需再访问这些热点数据,若按照访问时间点远近对缓存中的热点数据进行淘汰,会将一些真正经常访问的热点数据淘汰掉,导致缓存命中率下降。
因此,本发明实施例综合被访问次数和访问时间点进行加权运算,得到专用热点数据的访问热度值,以保证缓存清除热点数据后的缓存命中率不会急剧下降。
步骤S402中的第一上限值可以是预先设定的,比如,设定为缓存空间容量的10%。
步骤S403中,可以按照访问热度值从小到大的顺序对专用热点数据进行逐一清除。比如,首先清除访问热度值最小的专用热点数据,若专用热点数据的总容量仍然未低于第一上限值,则继续清除后一位的专用热点数据,如此类推,依次对配置列表中的专用热点数据进行清除,直至配置列表中的专用热点数据的总容量低于第一上限值。
在一些实施例中,缓存中存储有共用热点数据,其中,共用热点数据表征与所有的应用场景对应的热点数据,即共用热点数据是在所有应用场景中被访问过的热点数据。本实施例将这些与所有应用场景对应的热点数据固定存储在缓存中,以减少每次应用场景切换时从非缓存区加载热点数据至缓存的I/O开销。
示例性的,如图8所示,共用热点数据的获取过程包括:
S510,获取各个专用热点数据与应用场景之间的映射关系;
S520,当确定专用热点数据与所有的应用场景均存在对应关系,将专用热点数据作为共用热点数据以加载至缓存中进行存储。
示例性的,可以对配置列表进行专用热点数据扫描以获取各个专用热点数据与应用场景之间的映射关系。比如,可以参见表2,在本次第一应用场景中,第一应用场景的配置列表中新增了专用热点数据F,而终端总共划分了3个应用场景,通过对第二应用场景、第三应用场景的配置列表(参见表3、表4)进行专用热点数据扫描,可获知此前数据F已经存在于第二应用场景、第三应用场景的配置列表中,由此可以认为数据F是所有应用场景均可能访问的数据热点,故将数据F从专用热点数据更新为共用热点数据,添加至全场景的配置列表中,以及加载至缓存中进行固定存储。具体的,可以在应用场景切换时,将新增的共用热点数据随当前应用场景的专用热点数据加载至缓存中。还应理解,当数据F添加至全场景的配置列表后,应从第一应用场景、第二应用场景、第三应用场景的配置列表中删除该数据F。
表3
表4
表5
应理解,共用热点数据的访问信息中的被访问次数是指共用热点数据在所有应用场景下被访问的累计次数,而不仅限于对在单个应用场景下的被访问次数进行统计,同理,共用热点数据携带的访问信息中的访问时间点也不仅限于对在单个应用场景下的被访问时间点进行记录。
在一些实施例中,如图9所示,在步骤S302之后,步骤S304之前,还可以包括:S303c,当接收到终端在第一应用场景下对共用热点数据的访问请求时,更新共用热点数据的访问信息。
共用热点数据携带的访问信息可以包括:被访问次数、访问时间点等。比如,数据G为共用热点数据,当处理器在本次第一应用场景下请求访问了数据G,则对数据G携带的访问信息进行相应的更新:被访问次数加1、访问时间点更新为最新的访问时间点。
在一些实施例中,如图10所示,本发明实施例的方法还可以包括:
S610,计算共用热点数据的总容量;
S620,当共用热点数据的总容量达到第二上限值,获取共用热点数据的访问信息,并根据共用热点数据的访问信息确定共用热点数据的访问热度值,其中,共用热点数据的访问信息包括被访问次数和访问时间点中的至少一项;
S630,根据共用热点数据的访问热度值对共用热点数据进行清除,使得共用热点数据的总容量低于第二上限值。
在一实施例中,访问信息包括被访问次数和访问时间点;步骤S620中,根据共用热点数据的访问信息确定共用热点数据的访问热度值,具体可以包括:根据被访问次数和访问时间点进行加权运算,得到共用热点数据的访问热度值。
作为示例,第二上限值可以是预先设定的,比如设定为缓存总容量的10%。当配置列表中的共用热点数据的总容量达到第二上限值,可以按照访问热度值从小到大的顺序,对缓存中的共用热点数据进行逐一清除,使得缓存中的共用热点数据的总容量低于第二上限值。比如,首先清除访问热度值最小的共用热点数据,若共用热点数据的总容量仍然未低于第二上限值,则继续清除后一位的共用热点数据,如此类推,依次对缓存中的共用热点数据进行清除,直至配置列表中的共用热点数据的总容量低于第二上限值。
应理解的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
进一步可以理解的是,本发明实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
图11示出了本发明实施例提供的终端500。如图11所示,该终端500包括但不限于:
存储器501,用于存储程序;
处理器502,用于执行存储器501存储的程序,当处理器502执行存储器501存储的程序时,处理器502用于执行上述的缓存管理方法。
处理器502和存储器501可以通过总线或者其他方式连接。
存储器501作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明实施例描述的缓存管理方法。处理器502通过运行存储在存储器501中的非暂态软件程序以及指令,从而实现上述的缓存管理方法。
存储器501可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的缓存管理方法。此外,存储器501可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器501可选包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至该处理器502。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的缓存管理方法所需的非暂态软件程序以及指令存储在存储器501中,当被一个或者多个处理器502执行时,执行图1至图10所示实施例提供的缓存管理方法。
本发明实施例还提供了一种存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的缓存管理方法。
在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器502执行,比如,被上述终端设备500中的一个处理器502执行,可使得上述一个或多个处理器502执行图1至图10所示实施例提供的缓存管理方法。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的。共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
Claims (13)
1.一种缓存管理方法,其特征在于,所述方法包括:
当确定终端切换至第一应用场景,从非缓存区提取与所述第一应用场景对应的专用热点数据,并将所述专用热点数据加载至缓存中;
当确定所述终端从所述第一应用场景切换至第二应用场景,按照预设的释放策略从所述缓存中释放与所述第一应用场景对应的所述专用热点数据。
2.根据权利要求1所述的方法,其特征在于,所述从非缓存区提取与所述第一应用场景对应的专用热点数据,包括:
根据所述专用热点数据与所述应用场景之间的映射关系,确定与所述第一应用场景对应的所述专用热点数据;
从所述非缓存区提取与所述第一应用场景对应的专用热点数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述终端在所述第一应用场景下对专用热点数据的访问请求,更新所述专用热点数据的访问信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
当接收到所述终端在所述第一应用场景下对非热点数据的访问请求,将所述非热点数据作为新的专用热点数据,并记录所述新的专用热点数据的访问信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
计算所述专用热点数据的总容量;
当所述专用热点数据的总容量达到第一上限值时,获取所述专用热点数据的访问信息,并根据所述专用热点数据的所述访问信息确定所述专用热点数据的访问热度值;
根据所述专用热点数据的所述访问热度值对所述专用热点数据进行清除,以使得所述专用热点数据的总容量低于所述第一上限值。
6.根据权利要求5所述的方法,其特征在于,所述访问信息包括被访问次数和访问时间点;所述根据所述访问信息确定所述专用热点数据的访问热度值,包括:
根据所述被访问次数和所述访问时间点进行加权运算,得到所述专用热点数据的访问热度值。
7.根据权利要求1所述的方法,其特征在于,所述缓存中存储有共用热点数据,所述共用热点数据表征与所有的应用场景对应的热点数据。
8.根据权利要求7所述的方法,其特征在于,所述共用热点数据的获取过程包括:
获取所述专用热点数据与所述应用场景之间的映射关系;
当确定所述专用热点数据与所有的应用场景均存在对应关系,将所述专用热点数据作为所述共用热点数据以加载至所述缓存中进行存储。
9.根据权利要求1所述的方法,其特征在于,所述按照预设的释放策略从所述缓存中释放与所述第一应用场景对应的所述专用热点数据,包括:
确定所述第一应用场景的类别,所述类别包括非常用场景和常用场景;
当确定所述第一应用场景为非常用场景,从所述缓存中释放与所述第一应用场景对应的所述专用热点数据;或者,
当确定所述第一应用场景为常用场景,将与所述第一应用场景对应的所述专用热点数据保留在所述缓存中。
10.根据权利要求9所述的方法,其特征在于,所述第一应用场景的类别的确定过程包括:
获取所述第一应用场景的使用热度值;
根据所述使用热度值确定所述第一应用场景为所述常用场景或者所述非常用场景。
11.根据权利要求10所述的方法,其特征在于,所述第一应用场景的使用热度值的获取过程包括:
获取所述第一应用场景的使用信息,所述使用信息包括使用次数和使用时间点;
根据所述使用次数和所述使用时间点进行加权运算,得到所述所述第一应用场景的使用热度值。
12.一种终端,其特征在于,包括包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-11任一项所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,存储有计算机程序,该程序被处理器执行时实现权利要求1-11任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010772335.0A CN114079671A (zh) | 2020-08-04 | 2020-08-04 | 缓存管理方法、终端以及存储介质 |
PCT/CN2021/104026 WO2022028165A1 (zh) | 2020-08-04 | 2021-07-01 | 缓存管理方法、终端以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010772335.0A CN114079671A (zh) | 2020-08-04 | 2020-08-04 | 缓存管理方法、终端以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114079671A true CN114079671A (zh) | 2022-02-22 |
Family
ID=80116912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010772335.0A Pending CN114079671A (zh) | 2020-08-04 | 2020-08-04 | 缓存管理方法、终端以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114079671A (zh) |
WO (1) | WO2022028165A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118626241A (zh) * | 2023-03-10 | 2024-09-10 | 华为云计算技术有限公司 | 函数缓存的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246526A (zh) * | 2012-02-07 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 客户端预加载方法及客户端预加载装置 |
CN105868241A (zh) * | 2015-12-11 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 数据加载方法及装置 |
CN106341533A (zh) * | 2016-08-30 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 应用中加载网络资源的方法和装置 |
CN107469352A (zh) * | 2017-07-12 | 2017-12-15 | 福建天晴数码有限公司 | 游戏前端的资源缓存方法、存储介质 |
CN108958828A (zh) * | 2018-05-21 | 2018-12-07 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2465065A1 (en) * | 2004-04-21 | 2005-10-21 | Ibm Canada Limited - Ibm Canada Limitee | Application cache pre-loading |
CN104156242B (zh) * | 2014-08-05 | 2017-05-31 | 吉林大学 | 一种缓存数据预加载、加载方法及装置 |
CN109976821B (zh) * | 2017-12-14 | 2022-02-11 | Oppo广东移动通信有限公司 | 应用程序加载方法、装置、终端及存储介质 |
-
2020
- 2020-08-04 CN CN202010772335.0A patent/CN114079671A/zh active Pending
-
2021
- 2021-07-01 WO PCT/CN2021/104026 patent/WO2022028165A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246526A (zh) * | 2012-02-07 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 客户端预加载方法及客户端预加载装置 |
CN105868241A (zh) * | 2015-12-11 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 数据加载方法及装置 |
CN106341533A (zh) * | 2016-08-30 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 应用中加载网络资源的方法和装置 |
CN107469352A (zh) * | 2017-07-12 | 2017-12-15 | 福建天晴数码有限公司 | 游戏前端的资源缓存方法、存储介质 |
CN108958828A (zh) * | 2018-05-21 | 2018-12-07 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2022028165A1 (zh) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190220418A1 (en) | Memory Management Method and Apparatus | |
CN106844740B (zh) | 基于内存对象缓存系统的数据预读方法 | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
US9058212B2 (en) | Combining memory pages having identical content | |
CN104462225B (zh) | 一种数据读取的方法、装置及系统 | |
CN108139966B (zh) | 管理转址旁路缓存的方法和多核处理器 | |
CN107341114B (zh) | 一种目录管理的方法、节点控制器和系统 | |
CN113590045B (zh) | 数据分层式存储方法、装置及存储介质 | |
US20180004409A1 (en) | Method and apparatus for managing storage device | |
CN110955488A (zh) | 一种持久性内存的虚拟化方法及系统 | |
EP3249539B1 (en) | Method and device for accessing data visitor directory in multi-core system | |
CN114079671A (zh) | 缓存管理方法、终端以及存储介质 | |
CN113419973B (zh) | 一种报文转发方法及装置 | |
CN110162395B (zh) | 一种内存分配的方法及装置 | |
CN109478163B (zh) | 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法 | |
CN115794366A (zh) | 一种内存预取方法及装置 | |
CN111552438B (zh) | 一种对象写入的方法、装置、服务器和存储介质 | |
CN116010293B (zh) | 数据请求处理电路、方法及其缓存电路和处理器 | |
CN111897847A (zh) | 基于多级缓存的数据读取和写入方法、系统、设备和介质 | |
CN116204309A (zh) | 内存交换方法、装置、计算机设备及存储介质 | |
CN113905252B (zh) | 直播间的数据存储方法、装置、电子设备及存储介质 | |
CN114764403A (zh) | 一种数据迁移方法、装置、设备及存储介质 | |
CN114296635A (zh) | 缓存数据的缓存淘汰方法、装置、终端及存储介质 | |
US8849048B2 (en) | Apparatus for decoding image data based on availability of reference data and method thereof | |
CN112114962A (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 |