一种函数启动方法及装置制造方法及图纸

技术编号:21771176 阅读:39 留言:0更新日期:2019-08-03 21:25
本发明专利技术实施例提供了一种函数启动方法及装置,涉及云计算领域,方法包括:针对每一函数,可以根据该函数的历史启动时刻,确定该函数的下一启动时刻,并在确定的该函数的下一启动时刻之前的目标时刻,启动该函数对应的容器,当需要启动目标函数时,判断目标函数对应的容器当前是否已启动,如果目标函数对应的容器当前已启动,则将目标函数加载至对应的容器中运行。基于上述处理,可以对函数的启动时刻进行预测,并根据预测的函数的下一启动时刻,提前启动函数对应的容器,能够降低函数启动的延时,相对于现有技术中,定时启动所有函数对应的容器,能够减少系统资源的浪费。

A Function Starting Method and Device

【技术实现步骤摘要】
一种函数启动方法及装置
本专利技术涉及云计算
,特别是涉及一种函数启动方法及装置。
技术介绍
随着云服务的发展和普及,无服务器计算已经得到了广泛的应用,国内外各大企业都推出了自己的无服务器计算产品,例如,亚马逊云服务、谷歌云平台等。在无服务器计算中,每个函数都对应一个容器,函数在对应的容器中运行。当云服务器需要启动函数时,云服务器需要启动该函数对应的容器,并将该函数加载至对应的容器中运行,该函数运行结束后,该函数对应的容器可以处于休眠状态,当该容器休眠的时长达到预设时长时,云服务器可以删除该容器,后续,当云服务器再次启动该函数时,云服务器需要重新启动该容器。重新启动该容器会消耗过多的时长,导致该函数启动的时延较大。现有技术中,为了降低函数启动的延时,可以定时启动所有函数对应的容器,例如,可以每隔5分钟启动所有函数对应的容器。当云服务器需要启动某一函数时,如果当前该函数对应的容器已启动,则云服务器可以直接将该函数加载至对应的容器中运行。由上述可见,云服务器需要定时启动所有函数对应的容器,会造成系统资源的浪费。
技术实现思路
本专利技术实施例的目的在于提供一种函数启动方法及装置,以减少系统资源的浪费。具体技术方案如下:第一方面,为了达到上述目的,本专利技术实施例提供一种函数启动方法,所述方法应用于云服务器,所述方法包括:针对每一函数,根据该函数的历史启动时刻,确定该函数的下一启动时刻;在确定的该函数的下一启动时刻之前的目标时刻,启动该函数对应的容器;当需要启动目标函数时,判断所述目标函数对应的容器当前是否已启动;如果所述目标函数对应的容器当前已启动,则将所述目标函数加载至对应的容器中运行。可选的,所述根据该函数的历史启动时刻,确定该函数的下一启动时刻,包括:根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻。可选的,在所述根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻之前,所述方法还包括:判断该函数的历史启动时刻的数目是否大于预设阈值;如果该函数的历史启动时刻的数目大于所述预设阈值,执行所述根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻步骤;如果该函数的历史启动时刻的数目不大于所述预设阈值,根据该函数的历史启动时刻,计算该函数的历史启动时刻间隔时长的平均值;根据该函数的上一启动时刻与该函数的历史启动时刻间隔时长的平均值,确定该函数的下一启动时刻。可选的,所述启动时刻预测模型为长短期记忆LSTM网络模型。可选的,所述方法还包括:如果所述目标函数对应的容器当前未启动,判断预设容器池中是否存在所述目标函数的函数类型对应的目标空容器,其中,所述预设容器池中的空容器为已配置环境参数的容器;如果所述预设容器池中存在所述目标空容器,则将所述目标函数加载至所述目标空容器中的空容器中运行。如果所述预设容器池中不存在所述目标空容器,则启动所述目标函数对应的容器,并将所述目标函数加载至对应的容器中运行。可选的,所述预设容器池中的空容器的个数为,各函数类型对应的容器的历史冷启动次数的平均值的和值;或者,所述预设容器池中的空容器的个数为,根据各函数类型对应的容器的历史冷启动次数和预先训练好的冷启动次数预测模型确定的。可选的,所述冷启动次数预测模型为LSTM网络模型。可选的,该函数的下一启动时刻与所述目标时刻之间的时长为该函数对应的容器消亡周期的二分之一,所述容器消亡周期为该函数对应的容器从休眠至被删除所持续的时长。第二方面,为了达到上述目的,本专利技术实施例提供一种函数启动装置,所述装置应用于云服务器,所述装置包括:确定模块,用于针对每一函数,根据该函数的历史启动时刻,确定该函数的下一启动时刻;第一启动模块,用于在确定的该函数的下一启动时刻之前的目标时刻,启动该函数对应的容器;第一判断模块,用于当需要启动目标函数时,判断所述目标函数对应的容器当前是否已启动;第一加载模块,用于如果所述目标函数对应的容器当前已启动,则将所述目标函数加载至对应的容器中运行。可选的,所述确定模块,具体用于根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻。可选的,所述装置还包括:第二判断模块和处理模块;所述第二判断模块,用于判断该函数的历史启动时刻的数目是否大于预设阈值;如果该函数的历史启动时刻的数目大于所述预设阈值,触发所述确定模块;如果该函数的历史启动时刻的数目不大于所述预设阈值,触发所述处理模块;处理模块,用于根据该函数的历史启动时刻,计算该函数的历史启动时刻间隔时长的平均值;根据该函数的上一启动时刻与该函数的历史启动时刻间隔时长的平均值,确定该函数的下一启动时刻。可选的,所述启动时刻预测模型为LSTM网络模型。可选的,所述装置还包括:第三判断模块、第二加载模块和第二启动模块;第三判断模块,用于如果所述目标函数对应的容器当前未启动,判断预设容器池中是否存在所述目标函数的函数类型对应的目标空容器,其中,所述预设容器池中的空容器为已配置环境参数的容器;如果所述预设容器池中存在所述目标空容器,触发所述第二加载模块;如果所述预设容器池中不存在所述目标空容器,触发所述第二启动模块;第二加载模块,用于将所述目标函数加载至所述目标空容器中的空容器中运行;第二启动模块,用于启动所述目标函数对应的容器,并将所述目标函数加载至对应的容器中运行。可选的,所述预设容器池中的空容器的个数为,各函数类型对应的容器的历史冷启动次数的平均值的和值;或者,所述预设容器池中的空容器的个数为,根据各函数类型对应的容器的历史冷启动次数和预先训练好的冷启动次数预测模型确定的。可选的,所述冷启动次数预测模型为LSTM网络模型。可选的,该函数的下一启动时刻与所述目标时刻之间的时长为该函数对应的容器消亡周期的二分之一,所述容器消亡周期为该函数对应的容器从休眠至被删除所持续的时长。第三方面,本专利技术实施例还提供一种云服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于启动存储器上所存放的程序时,实现上述任一所述的函数启动方法的步骤。在本专利技术实施的又一方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的函数启动方法的步骤。在本专利技术实施的又一方面,本专利技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的函数启动方法。本专利技术实施例提供的一种函数启动方法,针对每一函数,云服务器可以根据该函数的历史启动时刻,确定该函数的下一启动时刻,并在确定的该函数的下一启动时刻之前的目标时刻,启动该函数对应的容器,当需要启动目标函数时,判断目标函数对应的容器当前是否已启动,如果目标函数对应的容器当前已启动,则将目标函数加载至对应的容器中运行。基于上述处理,可以对函数的启动时刻进行预测,并根据预测的函数的下一启动时刻,提前启动函数对应的容器,能够降低函数启动的延时,且相对于现有技术中,定时启动所有函数对应的容器,能够减少系统资源的浪费。当然,实施本专利技术的任一产品或本文档来自技高网...

【技术保护点】
1.一种函数启动方法,其特征在于,所述方法应用于云服务器,所述方法包括:针对每一函数,根据该函数的历史启动时刻,确定该函数的下一启动时刻;在确定的该函数的下一启动时刻之前的目标时刻,启动该函数对应的容器;当需要启动目标函数时,判断所述目标函数对应的容器当前是否已启动;如果所述目标函数对应的容器当前已启动,则将所述目标函数加载至对应的容器中运行。

【技术特征摘要】
1.一种函数启动方法,其特征在于,所述方法应用于云服务器,所述方法包括:针对每一函数,根据该函数的历史启动时刻,确定该函数的下一启动时刻;在确定的该函数的下一启动时刻之前的目标时刻,启动该函数对应的容器;当需要启动目标函数时,判断所述目标函数对应的容器当前是否已启动;如果所述目标函数对应的容器当前已启动,则将所述目标函数加载至对应的容器中运行。2.根据权利要求1所述的方法,其特征在于,所述根据该函数的历史启动时刻,确定该函数的下一启动时刻,包括:根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻。3.根据权利要求2所述的方法,其特征在于,在所述根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻之前,所述方法还包括:判断该函数的历史启动时刻的数目是否大于预设阈值;如果该函数的历史启动时刻的数目大于所述预设阈值,执行所述根据该函数的历史启动时刻,以及预先训练好的启动时刻预测模型,预测该函数的下一启动时刻步骤;如果该函数的历史启动时刻的数目不大于所述预设阈值,根据该函数的历史启动时刻,计算该函数的历史启动时刻间隔时长的平均值;根据该函数的上一启动时刻与该函数的历史启动时刻间隔时长的平均值,确定该函数的下一启动时刻。4.根据权利要求2或3所述的方法,其特征在于,所述启动时刻预测模型为长短期记忆LSTM网络模型。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述目标函数对应的容器当前未启动,判断预设容器池中是否存在所述目标函数的函数类型对应的目标空容器,其中,所述预设容器池中的空容器为已配置环...

【专利技术属性】
技术研发人员:张海涛徐政钧马华东
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1