公开/公告号CN114968108A
专利类型发明专利
公开/公告日2022-08-30
原文格式PDF
申请/专利权人 平安科技(深圳)有限公司;
申请/专利号CN202210601484.X
发明设计人 许荣荣;
申请日2022-05-30
分类号G06F3/06(2006.01);
代理机构深圳市明日今典知识产权代理事务所(普通合伙) 44343;深圳市明日今典知识产权代理事务所(普通合伙) 44343;
代理人王杰辉;曹勇
地址 518000 广东省深圳市福田区福田街道福安社区益田路5033号平安金融中心23楼
入库时间 2023-06-19 16:33:23
法律状态公告日
法律状态信息
法律状态
2022-09-16
实质审查的生效 IPC(主分类):G06F 3/06 专利申请号:202210601484X 申请日:20220530
实质审查的生效
技术领域
本申请涉及数据保存技术领域,特别涉及一种缓存数据的保存期限设置方法、装置、设备和存储介质。
背景技术
项目开发过程中,开发人员经常使用缓存来存储一些不常变动的数据,以此来提高系统的响应速度,缓解服务器与数据库压力。同时,为了保证缓存具有充足的存储空间,开发人员需要适时将缓存中失效的数据淘汰掉。现有的缓存失效策略,通常是由系统自动淘汰存放时间最久的数据,而这有可能将存放时间最久、但调用频繁的数据也一并淘汰,具有一定的局限性。
发明内容
本申请的主要目的为提供一种缓存数据的保存期限设置方法、装置、设备和存储介质,旨在解决现有缓存中失效数据的淘汰机制具有局限性的弊端。
为实现上述目的,本申请提供了一种缓存数据的保存期限设置方法,所述方法包括:
在向缓存中存放数据时,判断所述数据是否为首次存放;
若所述数据不是首次存放,则判断所述数据的调用频率是否大于频率阈值;
若所述数据的调用频率大于所述频率阈值,则根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限。
本申请还提供了一种缓存数据的保存期限设置装置,所述装置包括:
第一判断模块,用于在向缓存中存放数据时,判断所述数据是否为首次存放;
第二判断模块,用于若所述数据不是首次存放,则判断所述数据的调用频率是否大于频率阈值;
第一更新模块,用于若所述数据的调用频率大于所述频率阈值,则根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的一种缓存数据的保存期限设置方法、装置、设备和存储介质,在向缓存中存放数据时,系统首先判断该数据是否为首次存放。如果数据不是首次存放,则进一步判断数据的调用频率是否大于频率阈值。如果数据的调用频率大于频率阈值,则根据数据的更新间隔时长和更新次数,更新数据对应的保存期限。本申请通过结合数据的调用频率、更新次数以及更新间隔时长,对数据的保存期限进行多维度设置,从而使得数据在缓存的保存期限与实际调用情况相匹配,进而使得系统根据设置的保存期限对数据进行自动淘汰更具有合理性。
附图说明
图1是本申请一实施例缓存数据的保存期限设置方法的步骤示意图;
图2是本申请一实施例中数据的保存期限的计算步骤示意图;
图3是本申请一实施例中缓存数据的保存期限设置装置的整体结构框图;
图4是本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种缓存数据的保存期限设置方法,所述保存期限设置方法包括步骤S1—S3:
S1:在向缓存中存放数据时,判断所述数据是否为首次存放;
S2:若所述数据不是首次存放,则判断所述数据的调用频率是否大于频率阈值;
S3:若所述数据的调用频率大于所述频率阈值,则根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限。
本实施例中,在向缓存中存放数据时,系统根据key查看缓存中是否已经保存有该数据,从而判断该数据是否为首次存放。如果缓存中没有该数据,则判定该数据为首次存放,系统将数据放入缓存内,并按照默认设置对该数据的存放信息的各个选项进行定义,比如数据的初始存放时刻、更新时刻、更新次数、保存期限等。如果缓存中存在该数据,系统在判定该数据不是首次存放;系统从数据对应的存放信息中调取该数据的更新次数、初始存放时刻和末次更新时刻,首先计算末次更新时刻与初始存放时刻之间的时间间隔,得到存放间隔时长。然后使用更新次数除以存放间隔时长,得到两者之间的比值,该比值则表征当前次的数据所对应的调用频率。系统调取预设的频率阈值,并将数据的调用频率与频率阈值进行比对,判断两者之间的大小关系。如果数据的调用频率大于频率阈值,则说明该数据调用较为频繁,应当根据其实际调用情况设置保存期限,以使数据的保存期限与实际调用情况相适配。具体地,系统从数据对应的更新时间集合中获取所有的更新时刻(数据每次被调用时,都会将调用的时刻作为更新时刻按照时序写入更新时间集合内),然后基于时序分别计算相邻两个更新时刻之间的时间间隔,得到若干个更新间隔时长。系统从各个更新间隔时长中分别筛选出最大更新间隔时长和最小间隔时长,并计算最更新间隔时长和最小间隔时长之间的差值,得到间隔时长差值。系统调取预设的差值阈值,并将当前次的间隔时长差值与差值阈值进行比对,判断两者之间的大小关系。如果间隔时长差值小于差值阈值,则将该数据的保存期限更新为默认期限。如果间隔时长差值不小于差值阈值,系统则统计各个更新间隔时长的总和,得到间隔时长总值。然后使用间隔时长总值除以更新次数,得到两者之间的比值,并将数据的保存期限更新为该比值。
本实施例通过结合数据的调用频率、更新次数以及更新间隔时长,对数据的保存期限进行多维度设置,从而使得数据在缓存的保存期限与实际调用情况相匹配,进而使得系统根据设置的保存期限对数据进行自动淘汰更具有合理性,并有效提高缓存的使用效率。
进一步的,所述在向缓存中存放数据时,判断所述数据是否为首次存放的步骤之后,包括步骤S4—S5:
S4:若所述数据为首次存放,则将所述数据存放在缓存内,并构建与所述数据关联的存放信息,所述存放信息包括初始存放时刻、更新时刻、更新次数和保存期限;
S5:获取当前时刻,将所述初始存放时刻设置为所述当前时刻;将所述当前时刻作为所述更新时刻加入更新时间集合中;设置所述更新次数为初始值;并将所述保存期限设置为默认期限。
本实施例中,如果系统识别到数据为首次存放,则将数据写入缓存的预设区域,并构建与该数据具有关联关系的存放信息。数据的存放信息包括初始存放时刻、更新时刻、更新次数、保存期限、数据类型等,其中,更新时刻以集合的形式存在,每次数据调用时,即将调用的当前时刻作为新的更新时刻写入集合内,并且集合内之前的更新时刻不会被删除或替换,而是按照时序依次排列。比如数据A对应更新时间集合a{更新时刻1,更新时刻2,更新时刻3,......,更新时刻n},更新时刻1发生在更新时刻2之前,更新时刻2发生在更新时刻3之前,依次类推。系统获取首次存放对应的当前时刻,并将数据的初始存放时刻设置为当前时刻,在后续数据的存放信息更新时,初始存放时刻保持不变;同时,系统将当前时刻作为当前次的更新时刻加入更新时间集合中,在后续存放信息更新是,更新时刻不会被取代。并且,系统将数据的更新次数设置为初始值(初始值具体为1),后续存放信息更新时更新次数逐次递增;最后,系统调取开发人员预设的默认期限,将数据当前次的保存期限设置为该默认期限(比如默认期限为90日,则当前次的保存期限为90日)。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤之后,包括步骤S6—S7:
S6:将所述数据写入所述缓存中,并更新所述更新次数;
S7:调取所述当前时刻,并将所述当前时刻作为新的更新时刻写入所述更新时间集合的末位。
本实施例中,系统在根据数据的更新间隔时长和更新次数,重新设置了数据对应的保存期限后,将该数据写入缓存的预设区域内,并更新当前的更新次数,使得更新次数递增(比如未更新前的更新次数为4,则递增更新后的更新次数为5)。并且,系统调取数据存放对应的当前时刻,并将该当前时刻作为新的更新时刻按照时序,写入更新时间集合的末位,即作为最近一次的更新时间。
进一步的,所述判断所述数据的调用频率是否大于频率阈值的步骤,包括步骤S201—S204:
S201:调取所述数据对应的更新次数、初始存放时刻和末次更新时刻;
S202:计算所述末次更新时刻与所述初始存放时刻之间的存放间隔时长,并计算所述更新次数与所述存放间隔时长之间的比值;
S203:判断所述比值是否大于所述频率阈值;
S204:若所述比值大于所述频率阈值,则判定所述数据的所述调用频率大于所述频率阈值。
本实施例中,系统根据数据与存放信息之间的对应关系,查找到数据的更新次数、初始存放时刻和末次更新时刻(末次更新时刻即更新时间集合中排在末位的更新时间,也就是离当前时刻最近的一个更新时刻)。系统首先计算末次更新时刻与初始存放时刻之间的时间间隔,从而得到数据最后一次更新与最初存放时的存放间隔时长。然后使用更新次数除以该存放间隔时长,得到两者之间的比值,该比值即表征数据的调用频率。因此,系统将该比值与频率阈值进行比对,判断两者之间的大小关系,相当于在判断数据的调用频率是否大于频率阈值。如果更新次数与存放间隔时长之间的比值大于频率阈值,则说明该数据的调用较为频繁,进而判定数据的调用频率大于频率阈值。
参照图2,进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤,包括步骤S301—S306:
S301:从所述数据对应的更新时间集合中获取所有的更新时刻;
S302:基于时序分别计算相邻两个所述更新时刻之间的时间间隔,得到若干个所述更新间隔时长;
S303:从各所述更新间隔时长中分别筛选出最大更新间隔时长和最小更新间隔时长,并计算所述最大更新间隔时长和所述最小更新间隔时长之间的差值,得到间隔时长差值;
S304:判断所述间隔时长差值是否小于差值阈值;
S305:若所述间隔时长差值小于所述差值阈值,则将所述保存期限更新为默认期限;
S306:若所述间隔时长差值不小于所述差值阈值,则统计各所述更新间隔时长的间隔时长总值,并使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限。
本实施例中,系统首先从数据对应的更新时间集合中,调取所有的更新时刻。然后,基于时序性(本身更新时间集合中各个更新时刻就是基于时序,按照发生的时间前后进行依序排列的)分别计算相邻两个更新时刻之间的时间间隔,得到若干个更新间隔时长。比如更新时间集合包括更新时刻1、更新时刻2、更新时刻3,系统分别计算更新时刻1和更新时刻2之间的时间间隔,得到更新间隔时长a;计算更新时刻2和更新时刻3之间的时间间隔,得到更新间隔时长b。系统从各个更新间隔时长中分别筛选出具有最大值的最大更新间隔时长,和具有最小值的最小更新间隔时长;然后使用最大更新间隔时长减去最小更新间隔时长,计算两者之间的差值,得到间隔时长差值。系统调取预设的差值阈值,并将间隔时长差值与差值阈值进行比对,判断两者之间的大小关系。如果间隔时长差值小于差值阈值,则说明该数据每次的调用间隔时长的变动并不大,因此直接将数据的保存期限更新为开发人员设定的默认期限,无需进行复杂计算,方便快捷。如果间隔时长差值不小于差值阈值,则说明该数据每次的调用间隔时长的变动较大,需要根据实际调用情况对数据的保存期限进行合适设置。具体地,系统统计所有的更新间隔时长的总和,得到间隔时长总值;然后使用间隔时长总值除以数据的更新次数,将间隔时长总值与更新次数之间的比值作为新的保存期限,即使用间隔时长总值与更新次数的比值更新数据的保存期限。
进一步的,所述数据的存放信息包括数据类型和数据应用业务,所述使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限的步骤,还包括步骤S30601—S30602:
S30601:分别调取所述数据类型对应的第一校正系数和所述数据应用业务对应的所述第二校正系数;
S30602:使用所述间隔时长总值与所述更新次数的比值,与所述第一校正系数、所述第二校正系数做乘积计算,得到所述保存期限。
本实施例中,数据的存放信息包括数据类型和数据应用业务,开发人员根据不同的数据类型对应设定有不同的第一校正系数,根据不同的数据应用业务对应设置有不同的第二校正系数,优先级较高、重要程度较高的数据对应的第一校正系数、第二校正系数的数值较大,优先级优先级较低、重要程度较低的数据对应的第一校正系数、第二校正系数的数值较小。具体地,为了实现数据的保存期限与具体的应用场景相匹配,使得数据在缓存中的保存期限更为合理,系统根据当前次的数据的数据类型,调取对应的第一校正系数;并根据数据的数据应用业务调取对应的第二校正系数。然后,使用间隔时长总值与更新次数的比值,与第一校正系数、第二校正系数做乘积计算(假定间隔时长总值与更新次数的比值为x,第一校正系数为y,第二校正系数为z,保存期限为s,则s=x*y*z),从而得到更为合理、更为精准的保存期限。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤之后,还包括步骤S8—S9:
S8:监控在更新后的所述保存期限之后,所述数据是否重新写入;
S9:若在更新后的所述保存期限之后,所述数据没有重新写入,则将所述数据从所述缓存中移除。
本实施例中,在设置好数据的保存期限后,系统根据更新后的保存期限对数据进行监控。如果在更新后的保存期限之后,数据没有重新写入、调用(此时数据的保存期限保持不变,不会更新),为了保证缓存的高效利用,系统将该数据从缓存中淘汰移除。比如保存期限为2021年3月1日—2021年6月1日,如果该保存期限未更新(说明数据没有重新写入、被调用的情况发生),则在2021年6月1日之后将该数据从缓存中移除。
参照图3,本申请一实施例中还提供了一种缓存数据的保存期限设置装置,所述装置包括:
第一判断模块1,用于在向缓存中存放数据时,判断所述数据是否为首次存放;
第二判断模块2,用于若所述数据不是首次存放,则判断所述数据的调用频率是否大于频率阈值;
第一更新模块3,用于若所述数据的调用频率大于所述频率阈值,则根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限。
本实施例中,在向缓存中存放数据时,系统根据key查看缓存中是否已经保存有该数据,从而判断该数据是否为首次存放。如果缓存中没有该数据,则判定该数据为首次存放,系统将数据放入缓存内,并按照默认设置对该数据的存放信息的各个选项进行定义,比如数据的初始存放时刻、更新时刻、更新次数、保存期限等。如果缓存中存在该数据,系统在判定该数据不是首次存放;系统从数据对应的存放信息中调取该数据的更新次数、初始存放时刻和末次更新时刻,首先计算末次更新时刻与初始存放时刻之间的时间间隔,得到存放间隔时长。然后使用更新次数除以存放间隔时长,得到两者之间的比值,该比值则表征当前次的数据所对应的调用频率。系统调取预设的频率阈值,并将数据的调用频率与频率阈值进行比对,判断两者之间的大小关系。如果数据的调用频率大于频率阈值,则说明该数据调用较为频繁,应当根据其实际调用情况设置保存期限,以使数据的保存期限与实际调用情况相适配。具体地,系统从数据对应的更新时间集合中获取所有的更新时刻(数据每次被调用时,都会将调用的时刻作为更新时刻按照时序写入更新时间集合内),然后基于时序分别计算相邻两个更新时刻之间的时间间隔,得到若干个更新间隔时长。系统从各个更新间隔时长中分别筛选出最大更新间隔时长和最小间隔时长,并计算最更新间隔时长和最小间隔时长之间的差值,得到间隔时长差值。系统调取预设的差值阈值,并将当前次的间隔时长差值与差值阈值进行比对,判断两者之间的大小关系。如果间隔时长差值小于差值阈值,则将该数据的保存期限更新为默认期限。如果间隔时长差值不小于差值阈值,系统则统计各个更新间隔时长的总和,得到间隔时长总值。然后使用间隔时长总值除以更新次数,得到两者之间的比值,并将数据的保存期限更新为该比值。
本实施例通过结合数据的调用频率、更新次数以及更新间隔时长,对数据的保存期限进行多维度设置,从而使得数据在缓存的保存期限与实际调用情况相匹配,进而使得系统根据设置的保存期限对数据进行自动淘汰更具有合理性,并有效提高缓存的使用效率。
进一步的,所述保存期限设置装置,还包括:
构建模块4,用于若所述数据为首次存放,则将所述数据存放在缓存内,并构建与所述数据关联的存放信息,所述存放信息包括初始存放时刻、更新时刻、更新次数和保存期限;
设置模块5,用于获取当前时刻,将所述初始存放时刻设置为所述当前时刻;将所述当前时刻作为所述更新时刻加入更新时间集合中;设置所述更新次数为初始值;并将所述保存期限设置为默认期限。
本实施例中,如果系统识别到数据为首次存放,则将数据写入缓存的预设区域,并构建与该数据具有关联关系的存放信息。数据的存放信息包括初始存放时刻、更新时刻、更新次数、保存期限、数据类型等,其中,更新时刻以集合的形式存在,每次数据调用时,即将调用的当前时刻作为新的更新时刻写入集合内,并且集合内之前的更新时刻不会被删除或替换,而是按照时序依次排列。比如数据A对应更新时间集合a{更新时刻1,更新时刻2,更新时刻3,......,更新时刻n},更新时刻1发生在更新时刻2之前,更新时刻2发生在更新时刻3之前,依次类推。系统获取首次存放对应的当前时刻,并将数据的初始存放时刻设置为当前时刻,在后续数据的存放信息更新时,初始存放时刻保持不变;同时,系统将当前时刻作为当前次的更新时刻加入更新时间集合中,在后续存放信息更新是,更新时刻不会被取代。并且,系统将数据的更新次数设置为初始值(初始值具体为1),后续存放信息更新时更新次数逐次递增;最后,系统调取开发人员预设的默认期限,将数据当前次的保存期限设置为该默认期限(比如默认期限为90日,则当前次的保存期限为90日)。
进一步的,所述保存期限设置装置,还包括:
第二更新模块6,用于将所述数据写入所述缓存中,并更新所述更新次数;
写入模块7,用于调取所述当前时刻,并将所述当前时刻作为新的更新时刻写入所述更新时间集合的末位。
本实施例中,系统在根据数据的更新间隔时长和更新次数,重新设置了数据对应的保存期限后,将该数据写入缓存的预设区域内,并更新当前的更新次数,使得更新次数递增(比如未更新前的更新次数为4,则递增更新后的更新次数为5)。并且,系统调取数据存放对应的当前时刻,并将该当前时刻作为新的更新时刻按照时序,写入更新时间集合的末位,即作为最近一次的更新时间。
进一步的,所述第二判断模块2,,包括:
调取单元,用于调取所述数据对应的更新次数、初始存放时刻和末次更新时刻;
第一计算单元,用于计算所述末次更新时刻与所述初始存放时刻之间的存放间隔时长,并计算所述更新次数与所述存放间隔时长之间的比值;
第一判断单元,用于判断所述比值是否大于所述频率阈值;
判定单元,用于若所述比值大于所述频率阈值,则判定所述数据的所述调用频率大于所述频率阈值。
本实施例中,系统根据数据与存放信息之间的对应关系,查找到数据的更新次数、初始存放时刻和末次更新时刻(末次更新时刻即更新时间集合中排在末位的更新时间,也就是离当前时刻最近的一个更新时刻)。系统首先计算末次更新时刻与初始存放时刻之间的时间间隔,从而得到数据最后一次更新与最初存放时的存放间隔时长。然后使用更新次数除以该存放间隔时长,得到两者之间的比值,该比值即表征数据的调用频率。因此,系统将该比值与频率阈值进行比对,判断两者之间的大小关系,相当于在判断数据的调用频率是否大于频率阈值。如果更新次数与存放间隔时长之间的比值大于频率阈值,则说明该数据的调用较为频繁,进而判定数据的调用频率大于频率阈值。
进一步的,所述第一更新模块3,包括:
获取单元,用于从所述数据对应的更新时间集合中获取所有的更新时刻;
第二计算单元,用于基于时序分别计算相邻两个所述更新时刻之间的时间间隔,得到若干个所述更新间隔时长;
第三计算单元,用于从各所述更新间隔时长中分别筛选出最大更新间隔时长和最小更新间隔时长,并计算所述最大更新间隔时长和所述最小更新间隔时长之间的差值,得到间隔时长差值;
第二判断单元,用于判断所述间隔时长差值是否小于差值阈值;
第一更新单元,用于若所述间隔时长差值小于所述差值阈值,则将所述保存期限更新为默认期限;
第二更新单元,用于若所述间隔时长差值不小于所述差值阈值,则统计各所述更新间隔时长的间隔时长总值,并使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限。
本实施例中,系统首先从数据对应的更新时间集合中,调取所有的更新时刻。然后,基于时序性(本身更新时间集合中各个更新时刻就是基于时序,按照发生的时间前后进行依序排列的)分别计算相邻两个更新时刻之间的时间间隔,得到若干个更新间隔时长。比如更新时间集合包括更新时刻1、更新时刻2、更新时刻3,系统分别计算更新时刻1和更新时刻2之间的时间间隔,得到更新间隔时长a;计算更新时刻2和更新时刻3之间的时间间隔,得到更新间隔时长b。系统从各个更新间隔时长中分别筛选出具有最大值的最大更新间隔时长,和具有最小值的最小更新间隔时长;然后使用最大更新间隔时长减去最小更新间隔时长,计算两者之间的差值,得到间隔时长差值。系统调取预设的差值阈值,并将间隔时长差值与差值阈值进行比对,判断两者之间的大小关系。如果间隔时长差值小于差值阈值,则说明该数据每次的调用间隔时长的变动并不大,因此直接将数据的保存期限更新为开发人员设定的默认期限,无需进行复杂计算,方便快捷。如果间隔时长差值不小于差值阈值,则说明该数据每次的调用间隔时长的变动较大,需要根据实际调用情况对数据的保存期限进行合适设置。具体地,系统统计所有的更新间隔时长的总和,得到间隔时长总值;然后使用间隔时长总值除以数据的更新次数,将间隔时长总值与更新次数之间的比值作为新的保存期限,即使用间隔时长总值与更新次数的比值更新数据的保存期限。
进一步的,所述数据的存放信息包括数据类型和数据应用业务,所述第二更新单元,还包括:
调取子单元,用于分别调取所述数据类型对应的第一校正系数和所述数据应用业务对应的所述第二校正系数;
计算子单元,用于使用所述间隔时长总值与所述更新次数的比值,与所述第一校正系数、所述第二校正系数做乘积计算,得到所述保存期限。
本实施例中,数据的存放信息包括数据类型和数据应用业务,开发人员根据不同的数据类型对应设定有不同的第一校正系数,根据不同的数据应用业务对应设置有不同的第二校正系数,优先级较高、重要程度较高的数据对应的第一校正系数、第二校正系数的数值较大,优先级优先级较低、重要程度较低的数据对应的第一校正系数、第二校正系数的数值较小。具体地,为了实现数据的保存期限与具体的应用场景相匹配,使得数据在缓存中的保存期限更为合理,系统根据当前次的数据的数据类型,调取对应的第一校正系数;并根据数据的数据应用业务调取对应的第二校正系数。然后,使用间隔时长总值与更新次数的比值,与第一校正系数、第二校正系数做乘积计算(假定间隔时长总值与更新次数的比值为x,第一校正系数为y,第二校正系数为z,保存期限为s,则s=x*y*z),从而得到更为合理、更为精准的保存期限。
进一步的,所述保存期限设置装置,还包括:
监控模块8,用于监控在更新后的所述保存期限之后,所述数据是否重新写入;
移除模块9,用于若在更新后的所述保存期限之后,所述数据没有重新写入,则将所述数据从所述缓存中移除。
本实施例中,在设置好数据的保存期限后,系统根据更新后的保存期限对数据进行监控。如果在更新后的保存期限之后,数据没有重新写入、调用(此时数据的保存期限保持不变,不会更新),为了保证缓存的高效利用,系统将该数据从缓存中淘汰移除。比如保存期限为2021年3月1日—2021年6月1日,如果该保存期限未更新(说明数据没有重新写入、被调用的情况发生),则在2021年6月1日之后将该数据从缓存中移除。
参照图4,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、缓存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该缓存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储存放信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种缓存数据的保存期限设置方法。
上述处理器执行上述缓存数据的保存期限设置方法的步骤:
S1:在向缓存中存放数据时,判断所述数据是否为首次存放;
S2:若所述数据不是首次存放,则判断所述数据的调用频率是否大于频率阈值;
S3:若所述数据的调用频率大于所述频率阈值,则根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限。
进一步的,所述在向缓存中存放数据时,判断所述数据是否为首次存放的步骤之后,包括步骤S4—S5:
S4:若所述数据为首次存放,则将所述数据存放在缓存内,并构建与所述数据关联的存放信息,所述存放信息包括初始存放时刻、更新时刻、更新次数和保存期限;
S5:获取当前时刻,将所述初始存放时刻设置为所述当前时刻;将所述当前时刻作为所述更新时刻加入更新时间集合中;设置所述更新次数为初始值;并将所述保存期限设置为默认期限。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤之后,包括步骤S6—S7:
S6:将所述数据写入所述缓存中,并更新所述更新次数;
S7:调取所述当前时刻,并将所述当前时刻作为新的更新时刻写入所述更新时间集合的末位。
进一步的,所述判断所述数据的调用频率是否大于频率阈值的步骤,包括步骤S201—S204:
S201:调取所述数据对应的更新次数、初始存放时刻和末次更新时刻;
S202:计算所述末次更新时刻与所述初始存放时刻之间的存放间隔时长,并计算所述更新次数与所述存放间隔时长之间的比值;
S203:判断所述比值是否大于所述频率阈值;
S204:若所述比值大于所述频率阈值,则判定所述数据的所述调用频率大于所述频率阈值。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤,包括步骤S301—S306:
S301:从所述数据对应的更新时间集合中获取所有的更新时刻;
S302:基于时序分别计算相邻两个所述更新时刻之间的时间间隔,得到若干个所述更新间隔时长;
S303:从各所述更新间隔时长中分别筛选出最大更新间隔时长和最小更新间隔时长,并计算所述最大更新间隔时长和所述最小更新间隔时长之间的差值,得到间隔时长差值;
S304:判断所述间隔时长差值是否小于差值阈值;
S305:若所述间隔时长差值小于所述差值阈值,则将所述保存期限更新为默认期限;
S306:若所述间隔时长差值不小于所述差值阈值,则统计各所述更新间隔时长的间隔时长总值,并使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限。
进一步的,所述数据的存放信息包括数据类型和数据应用业务,所述使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限的步骤,还包括步骤S30601—S30602:
S30601:分别调取所述数据类型对应的第一校正系数和所述数据应用业务对应的所述第二校正系数;
S30602:使用所述间隔时长总值与所述更新次数的比值,与所述第一校正系数、所述第二校正系数做乘积计算,得到所述保存期限。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤之后,还包括步骤S8—S9:
S8:监控在更新后的所述保存期限之后,所述数据是否重新写入;
S9:若在更新后的所述保存期限之后,所述数据没有重新写入,则将所述数据从所述缓存中移除。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种缓存数据的保存期限设置方法,所述缓存数据的保存期限设置方法包括具体为:
S1:在向缓存中存放数据时,判断所述数据是否为首次存放;
S2:若所述数据不是首次存放,则判断所述数据的调用频率是否大于频率阈值;
S3:若所述数据的调用频率大于所述频率阈值,则根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限。
进一步的,所述在向缓存中存放数据时,判断所述数据是否为首次存放的步骤之后,包括步骤S4—S5:
S4:若所述数据为首次存放,则将所述数据存放在缓存内,并构建与所述数据关联的存放信息,所述存放信息包括初始存放时刻、更新时刻、更新次数和保存期限;
S5:获取当前时刻,将所述初始存放时刻设置为所述当前时刻;将所述当前时刻作为所述更新时刻加入更新时间集合中;设置所述更新次数为初始值;并将所述保存期限设置为默认期限。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤之后,包括步骤S6—S7:
S6:将所述数据写入所述缓存中,并更新所述更新次数;
S7:调取所述当前时刻,并将所述当前时刻作为新的更新时刻写入所述更新时间集合的末位。
进一步的,所述判断所述数据的调用频率是否大于频率阈值的步骤,包括步骤S201—S204:
S201:调取所述数据对应的更新次数、初始存放时刻和末次更新时刻;
S202:计算所述末次更新时刻与所述初始存放时刻之间的存放间隔时长,并计算所述更新次数与所述存放间隔时长之间的比值;
S203:判断所述比值是否大于所述频率阈值;
S204:若所述比值大于所述频率阈值,则判定所述数据的所述调用频率大于所述频率阈值。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤,包括步骤S301—S306:
S301:从所述数据对应的更新时间集合中获取所有的更新时刻;
S302:基于时序分别计算相邻两个所述更新时刻之间的时间间隔,得到若干个所述更新间隔时长;
S303:从各所述更新间隔时长中分别筛选出最大更新间隔时长和最小更新间隔时长,并计算所述最大更新间隔时长和所述最小更新间隔时长之间的差值,得到间隔时长差值;
S304:判断所述间隔时长差值是否小于差值阈值;
S305:若所述间隔时长差值小于所述差值阈值,则将所述保存期限更新为默认期限;
S306:若所述间隔时长差值不小于所述差值阈值,则统计各所述更新间隔时长的间隔时长总值,并使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限。
进一步的,所述数据的存放信息包括数据类型和数据应用业务,所述使用所述间隔时长总值与所述更新次数的比值,更新所述保存期限的步骤,还包括步骤S30601—S30602:
S30601:分别调取所述数据类型对应的第一校正系数和所述数据应用业务对应的所述第二校正系数;
S30602:使用所述间隔时长总值与所述更新次数的比值,与所述第一校正系数、所述第二校正系数做乘积计算,得到所述保存期限。
进一步的,所述根据所述数据的更新间隔时长和更新次数,更新所述数据对应的所述保存期限的步骤之后,还包括步骤S8—S9:
S8:监控在更新后的所述保存期限之后,所述数据是否重新写入;
S9:若在更新后的所述保存期限之后,所述数据没有重新写入,则将所述数据从所述缓存中移除。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
机译: 用于管理文件保存期限和存储介质的文件保存期限管理程序的装置和方法
机译: 信息处理设备,信息处理方法,信息处理程序,计算机可读存储介质存储信息处理程序,厚度区域设置设备,厚度区域设置方法,厚度区域设置程序,计算机可读存储介质存储和厚度存储数据进入虚拟空间
机译: 三维加工数据设置系统,设置三维加工数据的方法,用于设置三维加工数据的计算机程序,其中存储有三维加工数据的介质以及可由三维操作的激光加工设备可读取的介质数据