一种用于云计算及边缘计算的缓存置换方法及装置与流程

文档序号:18985661发布日期:2019-10-29 04:22阅读:176来源:国知局
一种用于云计算及边缘计算的缓存置换方法及装置与流程

本发明涉及云计算技术领域,特别是涉及一种用于云计算及边缘计算的缓存置换方法及装置。



背景技术:

随着网络技术的不断发展,云计算开始逐步深入到我们的生活中,越来越多的互联网企业逐步向云计算转型,传统行业对于云计算的接纳度也得到普遍提升,云服务的市场需求不断增加。云计算在互联网、金融、工业、交通、物流、医疗健康等领域发挥着越来越重要的作用,云计算技术在未来互联网技术发展中扮演着重要的角色,云计算相关技术的研究对于促进云计算的发展具有重要的意义。

云计算技术需要使用缓存技术,即,通过将数据暂存在相对高速的存储器中,可以提高后续的重复访问速度。由于缓存的容量通常远远小于i/o路径中下一级存储器的容量,当缓存满了以后,需要在一个恰当的时机选择恰当的数据进行淘汰,回收缓存空间以存储新的数据。这种选择的依据就是缓存置换算法。

现有的缓存置换算法中,可以采用fifo(firstinfirstout,先进先出)缓存置换方法,其原理是在需要进行缓存置换时,替换最早进入缓存空间的缓存项,即,如果一个缓存项最先进入缓存中,则应该最早被淘汰掉。

然而用于云计算的服务器中,有的缓存项被访问频率高,有的缓存项被访问频率低,当采用fifo缓存置换方法时,由于其置换策略是依照先进先出原则对缓存进行置换,因此对于已经缓存至服务器中的缓存项,访问频率高的缓存项可能会因为缓存时间早而被提前置换,访问频率低的缓存项可能会因为缓存时间晚而被推后置换,使得服务器的缓存性能有待提高。



技术实现要素:

本发明实施例的目的在于提供一种用于云计算及边缘计算的缓存置换方法及装置,以实现进一步提高服务器的缓存性能。具体技术方案如下:

第一方面,本发明实施例提供了一种用于云计算及边缘计算的缓存置换方法,所述方法包括:

获取待缓存项,并确定所述待缓存项的大小及进程优先级;

利用第一预设公式,计算所述待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,所述缓存价值用于表示数据的重要程度;所述服务器为云计算服务器或边缘节点服务器;

利用第二预设公式,计算第一状态的第一惩罚值,所述第一状态为未对各缓存项进行置换所对应的状态;所述惩罚值用于表示所述缓存价值与缓存项的数量之间的关联关系;

当所述服务器的当前剩余存储空间的大小不小于所述待缓存项的数据大小时,缓存所述待缓存项;

当所述服务器的当前剩余存储空间的大小小于所述待缓存项的数据大小时,按照各缓存项缓存价值由小到大的顺序,依次判断各缓存项的缓存价值与所述待缓存项的缓存价值的大小;

在当前缓存项的缓存价值小于所述待缓存项的缓存价值的情况下,判断当前剩余存储空间与所述当前缓存项所占用的存储空间的大小之和,是否大于所述待缓存项的数据大小;

如果是,则将所述当前缓存项置换为所述待缓存项;

如果否,则生成当前缓存项集合;

利用所述第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于所述第一惩罚值,所述第二状态为将所述当前缓存项集合中的各缓存项置换为所述待缓存项后对应的状态,所述当前缓存项集合中至少包括两个缓存项;

如果所述第二惩罚值小于所述第一惩罚值,则将所述当前缓存项集合中的各缓存项置换为所述待缓存项。

可选的,所述第一预设公式表示为:

式中,ki表示第i个缓存项;v(ki)表示缓存价值;t表示当前缓存项未被使用的时间;p(ki)表示累积加权进程优先级;p(ki)=p(ki)+λp′(ki),其中,p(ki)表示当前次待缓存项对应进程优先级,p′(ki)表示当前缓存项的历史使用累积优先级,λ为衰减因子,λ∈(0,1),当所述当前缓存项为所述待缓存项时,p′(ki)=0,t=1。

可选的,所述第二预设公式表示为:

式中,g(k*)表示惩罚值,μ表示预设系数;n表示已缓存数据项个数;fa(i)表示最大平均缓存价值,fb(i)表示最大缓存项数量,其中,s表示服务器整体缓存空间大小。其中,i表示第i个,i为大于1的整数。

可选的,所述生成当前缓存项集合之前,所述方法还包括:

判断是否具有符合预设条件的待生成缓存项集合,所述预设条件为:待生成的缓存项集合中的缓存项所占用存储空间大小与服务器的剩余存储空间大小之和,大于所述待缓存项的大小;

所述生成当前缓存项集合的步骤,包括:

将符合预设条件的待生成缓存项集合,确定为当前缓存项集合。

可选的,所述方法还包括:

如果所述第二惩罚值不小于所述第一惩罚值,则在所述当前缓存项集合中添加一个新的缓存项,作为新的当前缓存项集合,执行所述利用所述第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于所述第一惩罚值的步骤。

第二方面,本发明实施例提供了一种用于云计算及边缘计算的缓存置换装置,所述装置包括:

获取模块,用于获取待缓存项,并确定所述待缓存项的大小及进程优先级;

第一计算模块,用于利用第一预设公式,计算所述待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,所述缓存价值用于表示数据的重要程度;所述服务器为云计算服务器或边缘节点服务器;

第二计算模块,用于利用第二预设公式,计算第一状态的第一惩罚值,所述第一状态为未对各缓存项进行置换所对应的状态;所述惩罚值用于表示所述缓存价值与缓存项的数量之间的关联关系;

缓存模块,用于当所述服务器的当前剩余存储空间的大小不小于所述待缓存项的数据大小时,缓存所述待缓存项;

第一判断模块,用于当所述服务器的当前剩余存储空间的大小小于所述待缓存项的数据大小时,按照各缓存项缓存价值由小到大的顺序,依次判断各缓存项的缓存价值与所述待缓存项的缓存价值的大小;

第二判断模块,用于在当前缓存项的缓存价值小于所述待缓存项的缓存价值的情况下,判断当前剩余存储空间与所述当前缓存项所占用的存储空间的大小之和,是否大于所述待缓存项的数据大小;

第一置换模块,用于如果当前剩余存储空间与所述当前缓存项所占用的存储空间的大小之和大于所述待缓存项的数据大小,则将所述当前缓存项置换为所述待缓存项;

生成模块,用于如果当前剩余存储空间与所述当前缓存项所占用的存储空间的大小之和不大于所述待缓存项的数据大小,则生成当前缓存项集合;

第三判断模块,用于利用所述第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于所述第一惩罚值,所述第二状态为将所述当前缓存项集合中的各缓存项置换为所述待缓存项后对应的状态,所述当前缓存项集合中至少包括两个缓存项;

第二置换模块,用于如果所述第二惩罚值小于所述第一惩罚值,则将所述当前缓存项集合中的各缓存项置换为所述待缓存项。

可选的,所述第一预设公式表示为:

式中,ki表示第i个缓存项;v(ki)表示缓存价值;t表示当前缓存项未被使用的时间;p(ki)表示累积加权进程优先级;p(ki)=p(ki)+λp′(ki),其中,p(ki)表示当前次待缓存项对应进程优先级,p′(ki)表示当前缓存项的历史使用累积优先级,λ为衰减因子,λ∈(0,1),当所述当前缓存项为所述待缓存项时,p′(ki)=0,t=1。

可选的,所述第二预设公式表示为:

式中,g(k*)表示惩罚值,μ表示预设系数;n表示已缓存数据项个数;fa(i)表示最大平均缓存价值,fb(i)表示最大缓存项数量,其中,s表示服务器整体缓存空间大小。其中,i表示第i个,i为大于1的整数。

可选的,本发明实施例的用于云计算及边缘计算的缓存置换装置,还可以包括:

第三判断模块,用于判断是否具有符合预设条件的待生成缓存项集合,预设条件为:待生成的缓存项集合中的缓存项所占用存储空间大小与服务器的剩余存储空间大小之和,大于待缓存项的大小;

则生成模块具体可以用于:

将符合预设条件的待生成缓存项集合,确定为当前缓存项集合。

可选的,本发明实施例的一种用于云计算及边缘计算的缓存置换装置,还可以包括:

触发模块,用于如果第二惩罚值不小于第一惩罚值,则在当前缓存项集合中添加一个新的缓存项,作为新的当前缓存项集合,并触发第三判断模块执行所述利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值的步骤。

第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本发明实施例第一方面提供的用于云计算及边缘计算的缓存置换方法的方法步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行本发明实施例第一方面提供的用于云计算及边缘计算的缓存置换方法的方法步骤。

本发明实施例提供的一种用于云计算及边缘计算的缓存置换方法及装置,获取待缓存项后,通过计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,并计算未对各缓存项进行置换所对应的状态的第一惩罚值,以及将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态的第二惩罚值,综合考虑待缓存项与已缓存的各缓存项的缓存价值大小关系,当前缓存项所占用的存储空间、待缓存项的大小、以及剩余存储空间的大小关系,以及第一惩罚值与第二惩罚值的大小关系,相比于现有的fifo缓存置换方法,不再仅仅基于先进先出的原则对缓存进行置换,使得重要程度高的已缓存项不易出现被提前置换的情况,因此能够更加合理地对服务器中的缓存进行置换,从而提高服务器的缓存性能。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种用于云计算及边缘计算的缓存置换方法的一种流程示意图;

图2为本发明实施例提供的一种用于云计算及边缘计算的缓存置换方法的另一种流程示意图;

图3为本发明实施例提供的一种用于云计算及边缘计算的缓存置换装置的一种结构示意图;

图4为本发明实施例提供的一种用于云计算及边缘计算的缓存置换装置的另一种结构示意图;

图5为本发明实施例提供的电子设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种用于云计算及边缘计算的缓存置换方法,该过程可以包括以下步骤:

s101,获取待缓存项,并确定待缓存项的大小及进程优先级。

本发明实施例可以应用于基于云计算技术的云计算服务器或者边缘节点服务器中,可以理解,服务器中可以缓存有多个缓存数据,称为缓存项;当服务器接收新的待缓存数据时,则需要将新的待缓存数据缓存至服务器中,上述待缓存数据称为待缓存项。

服务器可以获取由上级节点发送的待缓存项以及与该待缓存项相关的信息,例如,该待缓存项的大小,以及该待缓存项的进程优先级,这里所说的进行优先级,可以是一个预先设定好的优先级级别,其设置过程可以参考现有的进程优先级设置过程,本发明实施例在此不再赘述。

s102,利用第一预设公式,计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值。

本发明实施例中的缓存价值可以用于表示数据的重要程度,具体而言,可以表示待缓存项,或者缓存项的重要程度。可以利用第一预设公式计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值。

上述第一预设公式可以表示为:

式中,ki表示第i个缓存项;v(ki)表示缓存价值;t表示当前缓存项未被使用的时间;p(ki)表示累积加权进程优先级;p(ki)=p(ki)+λp′(ki),其中,p(ki)表示当前次待缓存项对应进程优先级,p′(ki)表示当前缓存项的历史使用累积优先级;λ为衰减因子,λ∈(0,1),当前缓存项为待缓存项时,p′(ki)=0,t=1。其中,i表示第i个,i为大于1的整数。

上述历史使用累积优先级的意义在于,通过多次累加获得对待缓存项缓存价值的准确表示,防止因单个缓存项进程优先级的大幅变动导致缓存价值出现过多偏差。同时,累加的形式考虑了之前累计使用次数的影响,在相同情况下,使用次数越多则缓存价值越大。

s103,利用第二预设公式,计算第一状态的第一惩罚值。

本发明实施例中的惩罚值可以用于表示缓存价值与缓存项的数量之间的关联关系,具体而言,可以用于权衡缓存价值与缓存项的数量之间的关系,也可以进一步衡量一个状态的重要程度。本发明实施例所说的第一状态,可以指未对各缓存项进行置换所对应的状态。

上述第二预设公式可以表示为:

式中,g(k*)表示惩罚值,μ表示预设系数;n表示已缓存数据项个数;fa(i)表示最大平均缓存价值,fb(i)表示最大缓存项数量,其中,s表示服务器整体缓存空间大小。其中,i表示第i个,i为大于1的整数。

s104,当服务器的当前剩余存储空间的大小不小于待缓存项的数据大小时,缓存待缓存项。

服务器可以判断当前剩余存储空间的大小是否小于待缓存项的数据大小,所说的当前剩余存储空间,是指服务器的缓存空间,与当前已缓存的缓存项所占用存储空间的差值,可以理解,当当前剩余存储空间的大小不小于待缓存项的数据大小时,表明有足够的存储空间用于缓存待缓存项,因此可以直接缓存待缓存项。

s105,当服务器的当前剩余存储空间的大小小于待缓存项的数据大小时,按照各缓存项缓存价值由小到大的顺序,遍历判断各缓存项的缓存价值与待缓存项的缓存价值的大小,直到找到缓存价值小于待缓存项的缓存价值的缓存项。

当服务器的当前剩余存储空间的大小小于待缓存项的数据大小时,表明没有足够的存储空间用于缓存待缓存项,则需要将服务器中的某个(或某些)缓存项换出,并将待缓存项换入,该过程即为缓存置换过程。

本发明实施例中,可以利用前述实施例中的步骤计算的服务器中的各缓存项的缓存价值,按照各缓存项缓存价值由小到大的顺序,依次遍历判断各缓存项的缓存价值与待缓存项的缓存价值的大小,直至遍历所有缓存项。

当然,可以先按照各缓存项缓存价值由小到大的顺序,对各缓存项进行排序,然后将排序第一的缓存项的缓存价值与待缓存项的缓存价值进行比对,如果排序第一的缓存项的缓存价值大于或等于待缓存项的缓存价值,则将排序第二的缓存项的缓存价值与待缓存项的缓存价值,以此类推,直至遍历所有缓存项。

s106,在当前缓存项的缓存价值小于待缓存项的缓存价值的情况下,判断当前剩余存储空间与当前缓存项所占用的存储空间的大小之和,是否大于待缓存项的数据大小。

通过判断当前剩余存储空间与当前缓存项所占用的存储空间的大小之和,是否大于待缓存项的数据大小,从而根据判断结果,执行不同的步骤。

s107,如果是,则将当前缓存项置换为待缓存项。

如果当前剩余存储空间与当前缓存项所占用的存储空间的大小之和大于待缓存项的数据大小,则可以将当前缓存项置换为待缓存项,即,换出当前缓存项,换入待缓存项。

s108,如果否,则生成当前缓存项集合。

如果当前剩余存储空间与当前缓存项所占用的存储空间的大小之和小于或等于待缓存项的数据大小,则表明服务器中没有合适的可用于置换的单个缓存项,需要置换两个或两个以上的缓存项。因此,可以生成当前缓存项集合,当前缓存项集合中至少包括两个缓存项。可以按照各缓存项的大小由小到大的顺序,选取缓存项。

s109,利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值。

利用第二预设公式计算第二状态对应的第二惩罚值后,即可比对第二惩罚值与第一惩罚值的大小。上述第二状态为将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态。

s110,如果第二惩罚值小于第一惩罚值,则将当前缓存项集合中的各缓存项置换为待缓存项。

如果第二惩罚值小于第一惩罚值,表明第二状态的重要程度低于第一状态的重要程度,即,将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态,其重要程度低于未对各缓存项进行置换所对应的状态,因此,可以将当前缓存项集合中的各缓存项置换为待缓存项。

作为本发明实施例一种可选的实施方式,在生成当前缓存项集合之前,可以判断是否具有符合预设条件的待生成缓存项集合,预设条件为:待生成的缓存项集合中的缓存项所占用存储空间大小与服务器的剩余存储空间大小之和,大于待缓存项的大小;

则生成当前缓存项集合的步骤,包括:

将符合预设条件的待生成缓存项集合,确定为当前缓存项集合。

作为本发明实施例一种可选的实施方式,在图1所示方法流程的基础上,如图2所示,本发明实施例的缓存置换方法还可以包括:

s111,如果第二惩罚值不小于第一惩罚值,则在当前缓存项集合中添加一个新的缓存项,作为新的当前缓存项集合,执行利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值的步骤。

所添加的新的缓存项,可以是按照各缓存项的大小由小到大的顺序所选取的,新的当前缓存项集合中,比原本的当前缓存项集合中多一个缓存项。上述步骤s111中,当当前缓存项集合中的缓存项数目大于预设数值时,不再添加缓存项,则停止将待缓存项缓存至服务器。可以理解,该预设数值小于服务器中已缓存的缓存项的数量。

本发明实施例提供的一种用于云计算及边缘计算的缓存置换方法,获取待缓存项后,通过计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,并计算未对各缓存项进行置换所对应的状态的第一惩罚值,以及将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态的第二惩罚值,综合考虑待缓存项与已缓存的各缓存项的缓存价值大小关系,当前缓存项所占用的存储空间、待缓存项的大小、以及剩余存储空间的大小关系,以及第一惩罚值与第二惩罚值的大小关系,相比于现有的fifo缓存置换方法,不再仅仅基于先进先出的原则对缓存进行置换,使得重要程度高的已缓存项不易出现被提前置换的情况,因此能够更加合理地对服务器中的缓存进行置换,从而提高服务器的缓存性能。

本发明实施例提供的一种用于云计算及边缘计算的缓存置换装置的一种具体实施例,与图1所示流程相对应,参考图3,图3为本发明实施例的一种用于云计算及边缘计算的缓存置换装置的一种结构示意图,包括:

获取模块201,用于获取待缓存项,并确定待缓存项的大小及进程优先级。

第一计算模块202,用于利用第一预设公式,计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,缓存价值用于表示数据的重要程度;服务器为云计算服务器或边缘节点服务器。

第二计算模块203,用于利用第二预设公式,计算第一状态的第一惩罚值,第一状态为未对各缓存项进行置换所对应的状态;惩罚值用于表示缓存价值与缓存项的数量之间的关联关系。

缓存模块204,用于当服务器的当前剩余存储空间的大小不小于待缓存项的数据大小时,缓存待缓存项。

第一判断模块205,用于当服务器的当前剩余存储空间的大小小于待缓存项的数据大小时,按照各缓存项缓存价值由小到大的顺序,依次判断各缓存项的缓存价值与待缓存项的缓存价值的大小。

第二判断模块206,用于在当前缓存项的缓存价值小于待缓存项的缓存价值的情况下,判断当前剩余存储空间与当前缓存项所占用的存储空间的大小之和,是否大于待缓存项的数据大小。

第一置换模块207,用于如果当前剩余存储空间与当前缓存项所占用的存储空间的大小之和大于待缓存项的数据大小,则将当前缓存项置换为待缓存项。

生成模块208,用于如果当前剩余存储空间与当前缓存项所占用的存储空间的大小之和不大于待缓存项的数据大小,则生成当前缓存项集合。

第三判断模块209,用于利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值,第二状态为将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态,当前缓存项集合中至少包括两个缓存项。

第二置换模块210,用于如果第二惩罚值小于第一惩罚值,则将当前缓存项集合中的各缓存项置换为待缓存项。

其中,第一预设公式表示为:

式中,ki表示第i个缓存项;v(ki)表示缓存价值;t表示当前缓存项未被使用的时间;p(ki)表示累积加权进程优先级;p(ki)=p(ki)+λp′(ki),其中,p(ki)表示当前次待缓存项对应进程优先级,p′(ki)表示当前缓存项的历史使用累积优先级,λ为衰减因子,λ∈(0,1),当当前缓存项为待缓存项时,p′(ki)=0,t=1。

其中,第二预设公式表示为:

式中,g(k*)表示惩罚值,μ表示预设系数;n表示已缓存数据项个数;fa(i)表示最大平均缓存价值,fb(i)表示最大缓存项数量,其中,s表示服务器整体缓存空间大小。其中,i表示第i个,i为大于1的整数。

其中,本发明实施例的用于云计算及边缘计算的缓存置换装置,还可以包括:

第三判断模块,用于判断是否具有符合预设条件的待生成缓存项集合,预设条件为:待生成的缓存项集合中的缓存项所占用存储空间大小与服务器的剩余存储空间大小之和,大于待缓存项的大小;

则生成模块具体可以用于:

将符合预设条件的待生成缓存项集合,确定为当前缓存项集合。

作为本发明实施例一种可选的实施方式,在图3所示装置结构的基础上,如图4所示,本发明实施例的一种用于云计算及边缘计算的缓存置换装置,还可以包括:

触发模块211,用于如果第二惩罚值不小于第一惩罚值,则在当前缓存项集合中添加一个新的缓存项,作为新的当前缓存项集合,并触发第三判断模块执行利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值的步骤。

本发明实施例提供的一种用于云计算及边缘计算的缓存置换装置,获取待缓存项后,通过计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,并计算未对各缓存项进行置换所对应的状态的第一惩罚值,以及将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态的第二惩罚值,综合考虑待缓存项与已缓存的各缓存项的缓存价值大小关系,当前缓存项所占用的存储空间、待缓存项的大小、以及剩余存储空间的大小关系,以及第一惩罚值与第二惩罚值的大小关系,相比于现有的fifo缓存置换方法,不再仅仅基于先进先出的原则对缓存进行置换,使得重要程度高的已缓存项不易出现被提前置换的情况,因此能够更加合理地对服务器中的缓存进行置换,从而提高服务器的缓存性能。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,

存储器303,用于存放计算机程序;

处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:

获取待缓存项,并确定待缓存项的大小及进程优先级;

利用第一预设公式,计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,缓存价值用于表示数据的重要程度;服务器为云计算服务器或边缘节点服务器;

利用第二预设公式,计算第一状态的第一惩罚值,第一状态为未对各缓存项进行置换所对应的状态;惩罚值用于表示缓存价值与缓存项的数量之间的关联关系;

当服务器的当前剩余存储空间的大小不小于待缓存项的数据大小时,缓存待缓存项;

当服务器的当前剩余存储空间的大小小于待缓存项的数据大小时,按照各缓存项缓存价值由小到大的顺序,依次判断各缓存项的缓存价值与待缓存项的缓存价值的大小;

在当前缓存项的缓存价值小于待缓存项的缓存价值的情况下,判断当前剩余存储空间与当前缓存项所占用的存储空间的大小之和,是否大于待缓存项的数据大小;

如果是,则将当前缓存项置换为待缓存项;

如果否,则生成当前缓存项集合;

利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值,第二状态为将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态,当前缓存项集合中至少包括两个缓存项;

如果第二惩罚值小于第一惩罚值,则将当前缓存项集合中的各缓存项置换为待缓存项。

本发明实施例提供的一种电子设备,获取待缓存项后,通过计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,并计算未对各缓存项进行置换所对应的状态的第一惩罚值,以及将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态的第二惩罚值,综合考虑待缓存项与已缓存的各缓存项的缓存价值大小关系,当前缓存项所占用的存储空间、待缓存项的大小、以及剩余存储空间的大小关系,以及第一惩罚值与第二惩罚值的大小关系,相比于现有的fifo缓存置换方法,不再仅仅基于先进先出的原则对缓存进行置换,使得重要程度高的已缓存项不易出现被提前置换的情况,因此能够更加合理地对服务器中的缓存进行置换,从而提高服务器的缓存性能。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,用以执行如下步骤:

获取待缓存项,并确定待缓存项的大小及进程优先级;

利用第一预设公式,计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,缓存价值用于表示数据的重要程度;服务器为云计算服务器或边缘节点服务器;

利用第二预设公式,计算第一状态的第一惩罚值,第一状态为未对各缓存项进行置换所对应的状态;惩罚值用于表示缓存价值与缓存项的数量之间的关联关系;

当服务器的当前剩余存储空间的大小不小于待缓存项的数据大小时,缓存待缓存项;

当服务器的当前剩余存储空间的大小小于待缓存项的数据大小时,按照各缓存项缓存价值由小到大的顺序,依次判断各缓存项的缓存价值与待缓存项的缓存价值的大小;

在当前缓存项的缓存价值小于待缓存项的缓存价值的情况下,判断当前剩余存储空间与当前缓存项所占用的存储空间的大小之和,是否大于待缓存项的数据大小;

如果是,则将当前缓存项置换为待缓存项;

如果否,则生成当前缓存项集合;

利用第二预设公式计算第二状态对应的第二惩罚值,并判断第二惩罚值是否小于第一惩罚值,第二状态为将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态,当前缓存项集合中至少包括两个缓存项;

如果第二惩罚值小于第一惩罚值,则将当前缓存项集合中的各缓存项置换为待缓存项。

本发明实施例提供的一种计算机可读存储介质,获取待缓存项后,通过计算待缓存项的缓存价值,以及计算服务器中已缓存的各缓存项的缓存价值,并计算未对各缓存项进行置换所对应的状态的第一惩罚值,以及将当前缓存项集合中的各缓存项置换为待缓存项后对应的状态的第二惩罚值,综合考虑待缓存项与已缓存的各缓存项的缓存价值大小关系,当前缓存项所占用的存储空间、待缓存项的大小、以及剩余存储空间的大小关系,以及第一惩罚值与第二惩罚值的大小关系,相比于现有的fifo缓存置换方法,不再仅仅基于先进先出的原则对缓存进行置换,使得重要程度高的已缓存项不易出现被提前置换的情况,因此能够更加合理地对服务器中的缓存进行置换,从而提高服务器的缓存性能。

对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,本发明实施例的装置、电子设备及存储介质分别是应用上述用于云计算及边缘计算的缓存置换方法的装置、电子设备及存储介质,则上述用于云计算及边缘计算的缓存置换方法的所有实施例均适用于该装置、电子设备及存储介质,且均能达到相同或相似的有益效果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1