无服务器架构下函数资源动态配置方法和函数管理平台与流程

文档序号:34730245发布日期:2023-07-08 00:02阅读:18来源:国知局
无服务器架构下函数资源动态配置方法和函数管理平台与流程

本技术涉及it,尤其涉及一种无服务器架构下函数资源动态配置方法和函数管理平台。


背景技术:

1、自云计算技术蓬勃发展以来,越来越多的应用迁移到云计算技术上,新的应用在云场景开发使用,自然衍生出了云原生技术。云原生技术有利于各组织在云上环境构建和运行可弹性扩展的应用。无服务器(serverless)架构是云原生技术演进的热点,可以让开发者聚焦在业务逻辑,只关心函数。目前国内外公有云厂商均已涉及并对外发布对应的serverless函数计算服务,典型的如aws lambda,谷歌cloud function,阿里云的函数计算fc,腾讯云的云函数scf等。kbv研究公司2020年发布的《全球serverless架构市场》报告中显示,全球serverless架构市场的规模预计到2024年达到140亿美元,因此serverless函数计算服务具有很高的市场潜力和市场场景。serverless函数计算服务的一大优势是可以减少运营成本,按资源使用量进行计费。

2、目前,serverless函数计算服务的用户首先需要向对应的服务供应商发布自己的函数,同时在发布时注明函数运行时需要的计算资源量,该计算资源量指cpu和内存且为固定值;在函数调用时,serverless函数计算服务平台根据用户在函数发布时指定的需求的计算资源量,为执行用户函数的执行对应的计算单元,计算单元从函数仓库中下载用户函数,加载并执行,最后将计算的结果返回函数调用方。由于用户声明的计算资源量为固定值,但是在实际应用中,执行函数调用所需的计算资源量并不是固定不变的,且实际使用的计算资源量往往大大小于用户声明的计算资源量,导致计算资源的浪费和用户成本的增加。


技术实现思路

1、鉴于以上内容,有必要提供一种无服务器架构下函数资源动态配置方法和函数管理平台,可依据用户调用函数实际需要的计算资源量分配对应的计算单元,以提升计算资源的利用率,节省用户的成本。

2、第一方面,本技术实施例提供了一种函数管理平台,包括:

3、函数调度模块,用于接收函数调用请求,并依据所述函数调用请求形成资源量查询请求,所述资源量查询请求携带函数标识和待调用函数的输入参数,所述函数标识用于标识所述待调用的函数;

4、资源感知模块,用于接收所述函数调度模块发送的所述资源量查询请求并依据所述资源量查询请求分配执行所述函数调用请求所需的计算资源量;依据所述计算资源量得到资源量查询应答并将所述资源量查询应答发送至所述函数调度模块,所述资源量查询应答携带所述计算资源量,其中,所述资源量查询请求中待调用函数的不同的输入参数被分配不同的计算资源量;

5、所述函数调度模块还用于基于接收到的所述资源量查询应答的计算资源量进行资源匹配,以确定执行所述函数调用请求的计算单元。

6、如此,当函数管理平台的函数调度模块接收到用户输入的函数调用请求,函数调度模块首先基于该函数调用请求向资源感知模块发送资源量查询请求,以确定执行用户调用的函数实际需要的计算资源量,并依据该计算资源量匹配资源池模块中的计算单元,相较于现有技术中依据用户发布函数时固定设置的计算资源量进行分配,本技术实施例通过增加资源感知模块以准确估算执行用户调用函数的计算资源量,并依据该计算资源量选择合适资源规格的计算单元执行该函数,即依据函数调用请求中不同输入参数分配不同的计算资源量,以节省计算单元的利用效率,进而减少用户的使用成本。

7、在一种可能的实施方式中,其中所述资源感知模块包括资源感知模型,所述资源感知模型用于依据所述输入参数和所述函数标识得到感知结果,所述资源感知模块用于依据所述感知结果确定执行所述函数所需的计算资源量。

8、如此,通过在资源感知模块中设置资源感知模型,资源感知模型为依据历史数据对特定的算法(例如神经网络算法)进行训练获得的机器模型,将输入参数及函数标识输入该资源感知模型即可获得感知结果,其中感知结果可为实际的计算资源量,也可为多个子结果,通过对多个子结果联合分析可确定水世界的计算资源量。进一步地,资源感知模型可依据实际使用中的数据不断调整学习,以提升资源感知模块确定计算资源量的准确性。

9、在一种可能的实施方式中,所述资源感知模型包括第一资源感知子模型和第二资源感知子模型;

10、所述第一资源感知子模型用于依据所述输入参数和所述函数标识得到第一子结果;

11、所述第二资源感知子模型用于依据所述输入参数和所述函数标识得到第二子结果;

12、所述资源感知模块用于依据所述第一子结果和所述第二子结果确定执行所述函数所需的计算资源量。

13、本技术实施例中资源感知模型包括两个子模型,通过两个子模型的输入结果融合判断,以确定计算资源量,通过使用两个机器模型性确定最终的结果,以提升计算资源量结果的准确性。

14、在一种可能的实施方式中,所述资源感知模块进一步地用于:

15、获取所述第一资源感知子模型的第一权重和所述第二资源感知子模型的第二权重,其中,所述第一权重和所述第二权重的和为1;

16、依据所述第一权重和所述第一子结果确定第一子计算资源量;

17、依据所述第二权重和所述第二子结果确定第二子计算资源量;

18、依据所述第一子计算资源量和所述第二子计算资源量确定执行所述函数所需的计算资源量。

19、本技术实施例可通过测试样本训练机器模型以确定该机器模型的准确率,并依据准确率确定对应模型的权重,依据权重和对应机器模型的输出结果确定最终的计算资源量,以提升计算资源量的准确性。

20、在一种可能的实施方式中,所述函数管理平台还包括函数仓库,所述函数仓库包括用户发布的函数,所述函数调度模块在依据所述函数调用请求形成资源量查询请求之前,还用于向所述函数仓库发送函数类型查询请求;

21、所述函数仓库用于接收所述函数类型查询请求,并将依据所述函数类型查询请求形成的函数类型查询应答发送至所述函数调度模块;

22、所述函数调度模块还用于接收所述函数类型查询应答;若所述函数类型查询应答携带动态资源函数标识,则所述函数调度模块依据所述函数调用请求形成资源量查询请求;

23、其中,所述动态资源函数标识用于指示依据不同的输入参数,执行所述待调用的函数所需的计算资源量不同。

24、其中,在计算执行该函数所需的计算资源量之前,先确定该函数的类型,若该函数为固定资源函数,则依据函数中发布的计算资源量确定用户实际使用的计算资源量,若该函数为动态资源函数,则依据函数对应的输入参数确定对应的计算资源量。

25、在一种可能的实施方式中,所述函数管理平台还包括函数仓库,所述函数仓库包括用户发布的函数和所述函数对应的智能感知模块;所述资源量查询请求携带所述函数调用请求;

26、所述资源感知模块进一步用于:向函数仓库转发所述资源量查询请求;

27、所述函数仓库的智能感知模块用于:依据所述资源量查询请求中的函数调用请求确定执行所述函数所需的计算资源量,并将所述计算资源量发送至所述资源感知模块。

28、本技术实施例中,用户发布函数时同时发布可确定不同场景执行该函数所需计算资源量的智能感知模块,其中智能感知模块可作为用户发布函数的一部分,也可作为另一个独立的函数存储于函数仓库中,可由用户自身设置不同场景执行该函数所需的计算资源量,且在执行该计算资源量的过程中,资源感知模块和函数调度模块可不同解析该函数调用请求,以保证用户信息的安全性。

29、在一种可能的实施方式中,所述资源感知模块进一步用于:

30、向所述函数仓库发送函数类型查询请求,并接收所述函数仓库发送的函数类型查询应答;

31、若所述函数类型查询应答携带安全标识,则向所述函数仓库转发所述资源量查询请求;

32、其中,所述安全标识用于指示待调用的函数具有对应的智能感知模块。

33、本技术实施例中,资源感知模块确定执行该函数的计算资源量之前先向函数仓库发送函数类型查询请求,若函数类型查询应答携带安全标识,则表明该函数的用户在函数发布时同时发布了确定执行该函数在不同场景下所需的计算资源量的智能感知模块,该智能感知模块可确定计算资源量;若函数类型查询应答未携带安全标识,则资源感知模块解析该函数调用请求,并基于函数调用请求确定计算资源量。通过发送函数类型查询请求,以便依据不同的函数类型执行不同的计算资源量确定方式,以提升本技术的函数管理平台的适用范围。

34、在一种可能的实施方式中,若所述函数类型查询应答携带动态资源函数标识,则所述资源感知模块还用于依据所述资源量查询请求确定执行所述函数所需的计算资源量,其中,所述动态资源函数标识用于指示依据不同的输入参数,执行所述待调用的函数所需的计算资源量不同。

35、第二方面提供一种函数资源动态配置方法,应用于无服务器架构的函数管理平台,所述方法包括:

36、接收函数调用请求,依据所述函数调用请求形成资源量查询请求,所述资源量查询请求携带函数标识和待调用函数的输入参数,所述函数标识用于标识待调用的函数;

37、依据所述资源量查询请求分配执行所述函数调用请求所需的计算资源量,其中,所述资源量查询请求中待调用函数的不同的输入参数被分配不同的计算资源量;

38、基于所述计算资源量进行资源匹配,以确定执行所述函数调用请求的计算单元。

39、在一种可能的实施方式中,所述函数管理平台包括资源感知模型,所述依据所述资源量查询请求分配执行所述函数调用请求所需的计算资源量包括:

40、依据所述感知结果确定执行所述函数所需的计算资源量。

41、在一种可能的实施方式中,所述资源感知模型包括第一资源感知子模型和第二资源感知子模型,所述第一资源感知子模型用于依据所述输入参数和所述函数标识得到第一子结果;所述第二资源感知子模型用于依据所述输入参数和所述函数标识得到第二子结果;

42、所述依据所述感知结果确定执行所述函数所需的计算资源量包括:

43、依据所述第一子结果和所述第二子结果确定执行所述函数所需的计算资源量。

44、在一种可能的实施方式中,所述依据所述第一子结果和所述第二子结果确定执行所述函数所需的计算资源量包括:

45、获取所述第一资源感知子模型的第一权重和所述第二资源感知子模型的第二权重,其中,所述第一权重和所述第二权重的和为1;

46、依据所述第一权重和所述第一子结果确定第一子计算资源量;

47、依据所述第二权重和所述第二子结果确定第二子计算资源量;

48、依据所述第一子计算资源量和所述第二子计算资源量确定执行所述函数所需的计算资源量。

49、在一种可能的实施方式中,在依据所述函数调用请求形成资源量查询请求之前,所述方法还包括:

50、向函数仓库发送函数类型查询请求;

51、接收所述函数仓库发送的函数类型查询应答;

52、若所述函数类型查询应答携带动态资源函数标识,则依据所述函数调用请求形成资源量查询请求;

53、其中,所述动态资源函数标识用于指示依据不同的输入参数,执行所述待调用的函数所需的计算资源量不同。

54、在一种可能的实施方式中,所述资源量查询请求携带所述函数调用请求,所述依据所述资源量查询请求分配执行所述函数调用请求所需的计算资源量包括:

55、向函数仓库转发所述资源量查询请求;

56、接收函数仓库发送的资源量查询应答,所述资源量查询应答携带执行所述函数所需的计算资源量。

57、在一种可能的实施方式中,所述向函数仓库转发所述资源量查询请求包括;

58、向所述函数仓库发送函数类型查询请求,并接收所述函数仓库发送的函数类型查询应答;

59、若所述函数类型查询应答携带安全标识,则向所述函数仓库转发所述资源量查询请求;

60、其中,所述安全标识用于指示待调用的函数具有依据所述资源量查询请求中的函数调用请求确定执行所述函数所需的计算资源量的功能。

61、在一种可能的实施方式中,所述依据所述资源量查询请求确定执行所述函数所需的计算资源量包括:

62、若所述函数类型查询应答携带动态资源函数标识,则依据所述资源量查询请求确定执行所述函数所需的计算资源量;

63、其中,所述动态资源函数标识用于标识依据不同的输入参数,执行所述待调用的函数所需的计算资源量不同。

64、应当理解地,上述提供的第二方面所述的函数资源动态配置方法与上述第一方面的函数管理平台对应,因此,其所能达到的有益效果可参考上文所提供的对应的函数管理平台中的有益效果,此处不再赘述。

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