本发明涉及数据处理,特别是涉及一种内存调度方法、程序产品、装置及介质。
背景技术:
1、目前,在诸如alluxio等中间态存储架构的实际应用中,其是通过使用内存应用来提高数据访问使用速度,故会存在内存资源消耗问题。而目前内存依旧属于较为昂贵的资源,内存大小受限,随着系统的运行越来越多的数据被加载至内存中,必然会造成内存资源愈发紧张的问题。针对于这一问题,中间态存储架构一般基于传统的最近最少使用(leastrecently used,lru)、最不经常使用(least frequently used,lfu)等页面置换算法作为缓存策略实现内存管理优化,可以保证仅有热数据一直保留在内存中。
2、但对于各种复杂的业务数据和场景,lru和lfu等策略并不能完全有效的保证最高效的可用数据驻存在内存,例如某些具有较强时效性的数据,在需求时限过去后重要性会迅速降低,或者对于访问模式固定的批处理场景中的数据而言。这部分数据虽然后续仍可能存在访问需求,但多是对其中的关键数据或统计结果具有访问需求,在保留全部原始数据或导致资源的浪费。
3、所以,现在本领域的技术人员亟需要一种内存调度方法,以解决目前使用lru和lfu等缓存策略对于内存资源和性能还存在浪费的问题。
技术实现思路
1、本发明的目的是提供一种内存调度方法、程序产品、装置及介质,用于解决目前使用lru和lfu等缓存策略对于内存资源和性能还存在浪费的问题。
2、为解决上述技术问题,本发明提供一种内存调度方法,包括:以数据集目录为单位,对中间态存储架构中数据的流动信息进行监控和记录;其中,所述流动信息包括所述数据集目录的调用信息和更新信息;根据相应的所述流动信息,调用第一维度驻留策略对所述数据集目录进行处理,以得到相应的调度结果;根据所述调度结果对相应的所述数据集目录进行调度;其中,所述第一维度驻留策略包括:若根据所述更新信息确定所述数据集目录满足低频更新条件,且根据所述调用信息确定所述数据集目录满足高频调用条件和任务模式固定条件,则保存当前所述数据集目录的任务结果数据,并清除当前所述数据集目录的原始数据。
3、在一种可能的实施例中,还包括:根据相应的所述流动信息,调用第二维度驻留策略对所述数据集目录进行处理,以得到相应的调度结果;其中,所述第二维度驻留策略包括:若根据所述更新信息确定所述数据集目录满足高频更新条件,且根据所述调用信息确定所述数据集目录满足低频调用条件,则清除当前所述数据集目录的原始数据。
4、在一种可能的实施例中,还包括:根据相应的所述流动信息,调用第三维度驻留策略对所述数据集目录进行处理,以得到相应的调度结果;其中,所述第三维度驻留策略包括:若根据所述调用信息确定所述数据集目录满足超低频调用条件,则清除当前所述数据集目录的原始数据。
5、在一种可能的实施例中,所述低频更新条件包括:在第一预设时长内,所述数据集目录的更新频率小于预设的低频更新阈值;所述高频调用条件包括:在第二预设时长内,所述数据集目录的调用频率大于预设的高频调用阈值;所述任务模式固定条件包括:在第三预设时长内,所述数据集目录的不同任务结果项的数量,小于预设的模式固定阈值;所述高频更新条件包括:在第一预设时长内,所述数据集目录的更新频率大于预设的高频更新阈值;所述低频调用条件包括:在第二预设时长内,所述数据集目录的调用频率小于预设的低频调用阈值;所述超低频调用条件包括:在第二预设时长内,所述数据集目录的调用频率小于预设的超低频调用阈值。
6、在一种可能的实施例中,还包括:获取当前策略模式项的状态;其中,所述策略模式项的状态包括:默认模式和自定义模式;当所述策略模式项的状态为默认模式时,从寄存器中获取第一预设时长、第二预设时长、第三预设时长、高频更新阈值、低频更新阈值、高频调用阈值、低频调用阈值、超低频调用阈值和模式固定阈值的默认配置值;当所述策略模式项的状态为自定义模式时,从客户端中获取第一预设时长、第二预设时长、第三预设时长、高频更新阈值、低频更新阈值、高频调用阈值、低频调用阈值、超低频调用阈值和模式固定阈值的自定义配置值。
7、在一种可能的实施例中,还包括:根据相应的响应类型,调用数据预热策略对所述数据集目录进行处理,以得到相应的调度结果;其中,所述响应类型为预先为各所述数据集目录配置的自定义参数;所述响应类型包括:快速响应和非快速响应;所述数据预热策略包括:若所述响应类型为快速响应,则对所述数据集目录的原始数据进行预加载。
8、在一种可能的实施例中,所述流动信息还包括:所述数据集目录的加载信息;则本方法还包括:根据相应的所述流动信息,调用老化数据淘汰策略对所述数据集目录进行处理,以得到相应的调度结果;其中,所述老化数据淘汰策略包括:若根据所述流动信息确定所述数据集目录满足:当前时刻距离所述数据集目录首次加载时刻的时长超过第四预设时长,且所述数据集目录在所述第四预设时长内未被调用过,则清除所述数据集目录的原始数据。
9、在一种可能的实施例中,在获取当前策略模式项的状态之前,还包括:获取当前策略控制项的状态;其中,所述策略控制项的状态包括:策略全关、基础追加策略开启和增强策略开启;根据所述策略控制项的状态,调用相应的调度策略集合对所述数据集目录进行处理,以得到相应的调度结果;其中,当所述策略控制项的状态为策略全关时,相应的所述调度策略集合为空集;当所述策略控制项的状态为基础追加策略开启时,相应的所述调度策略集合包括:所述老化数据淘汰策略;当所述策略控制项的状态为增强策略开启时,相应的所述调度策略集合包括:所述第一维度驻留策略、所述第二维度驻留策略、所述第三维度驻留策略和所述数据预热策略。
10、在一种可能的实施例中,当所述策略控制项的状态为基础追加策略开启时,相应的所述调度策略集合还包括:最近最少使用缓存策略和最不经常使用缓存策略。
11、在一种可能的实施例中,当所述策略控制项的状态为增强策略开启时,相应的所述调度策略集合还包括:所述老化数据淘汰策略、所述最近最少使用缓存策略和所述最不经常使用缓存策略。
12、在一种可能的实施例中,对所述数据集目录的任务结果项进行监控和记录包括:当监控到有新的任务结果项产生时,判断相应的所述数据集目录是否已记录该任务结果项;若未记录,则判断相应的所述数据集目录当前已记录的任务结果项的数量是否超过预设的任务结果项阈值;若未超过,则记录该所述任务结果项。
13、在一种可能的实施例中,根据所述调度结果对相应的所述数据集目录进行调度包括:根据数据强制调度标识,对相应的所述数据集目录的原始数据进行调度;其中,所述数据强制调度标识为预先创建的标识,与各所述数据集目录一一对应;所述数据强制调度标识的状态包括:强制加载和强制释放;当所述数据强制调度标识的状态为强制加载时,对所述数据集目录的原始数据进行加载;当所述数据强制调度标识的状态为强制释放时,对所述数据集目录的原始数据进行清除。
14、为解决上述技术问题,本发明还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上所述的内存调度方法的步骤。
15、为解决上述技术问题,本发明还提供一种内存调度装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的内存调度方法的步骤。
16、为解决上述技术问题,本发明还提供一种非易失性存储介质,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的内存调度方法的步骤。
17、本发明提供的一种内存调度方法,通过对中间态存储架构中的数据,以数据集目录为单位进行流动信息的监控和记录,以掌握中间态存储架构中数据的应用场景。其中,流动信息包括可以反映数据集目录更新频率的更新信息,以及可以反映数据集目录调用频率、调用时所执行任务的任务记录等信息的调用信息。故基于流量信息,由第一维度驻留策略对各数据集目录进行处理,若数据集目录满足低频更新条件、高频调用条件以及任务模式固定条件,则说明此数据集目录为不常变换(低频更新)、访问需求频繁(高频调用)、且任务模式单一(任务模式固定)的数据。对于这类数据,仅需要保留其任务结果数据(即针对于原始数据的统计数据)即可,在有访问需求时直接返回任务结果数据即可满足要求,无需保留原始数据浪费内存资源。也即,本方法提供了一种区别于lru和lfu等缓存策略的另一种内存调度方法,可以识别更为复杂的数据调度场景,对于部分始终存在访问需求,但更新频率低、任务模式单一的数据进行清除原始数据、保留任务结果数据的调度方式,从而进一步释放中间态存储架构的内存空间,实现内存资源的更高效利用,非关键存储的占用释放也间接优化了虚拟文件系统的性能,提高集群任务响应速度。
18、本发明提供的计算机程序产品、内存调度装置、及非易失性存储介质,与上述方法对应,效果同上。
1.一种内存调度方法,其特征在于,包括:
2.根据权利要求1所述的内存调度方法,其特征在于,还包括:
3.根据权利要求2所述的内存调度方法,其特征在于,还包括:
4.根据权利要求3所述的内存调度方法,其特征在于,所述低频更新条件包括:在第一预设时长内,所述数据集目录的更新频率小于预设的低频更新阈值;
5.根据权利要求4所述的内存调度方法,其特征在于,还包括:
6.根据权利要求5所述的内存调度方法,其特征在于,还包括:
7.根据权利要求6所述的内存调度方法,其特征在于,所述流动信息还包括:所述数据集目录的加载信息;
8.根据权利要求7所述的内存调度方法,其特征在于,在获取当前策略模式项的状态之前,还包括:
9.根据权利要求8所述的内存调度方法,其特征在于,当所述策略控制项的状态为基础追加策略开启时,相应的所述调度策略集合还包括:最近最少使用缓存策略和最不经常使用缓存策略。
10.根据权利要求9所述的内存调度方法,其特征在于,当所述策略控制项的状态为增强策略开启时,相应的所述调度策略集合还包括:所述老化数据淘汰策略、所述最近最少使用缓存策略和所述最不经常使用缓存策略。
11.根据权利要求1所述的内存调度方法,其特征在于,对所述数据集目录的任务结果项进行监控和记录包括:
12.根据权利要求1至11任意一项所述的内存调度方法,其特征在于,根据所述调度结果对相应的所述数据集目录进行调度包括:
13.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至12任一项所述的内存调度方法的步骤。
14.一种内存调度装置,其特征在于,包括:
15.一种非易失性存储介质,其特征在于,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任意一项所述的内存调度方法的步骤。
