云函数调用方法、装置、云函数平台及存储介质与流程
- 国知局
- 2024-09-14 14:25:38
本申请涉及云计算,尤其涉及一种云函数调用方法、装置、云函数平台及存储介质。
背景技术:
1、云函数平台的服务粒度为函数实例,函数实例即为一个代码功能块,当有针对某个函数的调度请求时,云函数平台可以触发相应的函数实例处理该调度请求。现有技术中,当前函数实例的请求流量是通过api网关随机分发的,无法感知函数实例的真实负载,可能会将调度请求分发到资源不足的函数实例上,从而导致服务异常。
技术实现思路
1、本申请实施例提供了一种云函数调用方法、装置、云函数平台及存储介质,可以有效解决因函数实例资源过载而导致的服务异常问题。
2、本申请实施例第一方面提供了一种云函数调用方法,包括:
3、在接收到用于调用第一云函数的第一调度请求时,获取所述第一调度请求所需的第一资源量;
4、根据所述第一资源量确定第一函数实例,所述第一函数实例的可用资源量大于或等于所述第一资源量,所述第一函数实例已运行或未运行所述第一云函数;
5、调用所述第一函数实例处理所述第一调度请求。
6、作为一种可选的实施方式,在本申请实施例第一方面中,所述根据所述第一资源量确定第一函数实例,包括:
7、根据第一实例池的资源状态信息,确定所述第一实例池中是否存在可用资源量大于或等于所述第一资源量的函数实例;其中,所述第一实例池中的函数实例已运行所述第一云函数,所述资源状态信息包括所述第一实例池中每一函数实例的可用资源量;
8、若存在,则将所述第一实例池中,可用资源量大于或等于所述第一资源量的函数实例作为第一函数实例。
9、作为一种可选的实施方式,在本申请实施例第一方面中,所述方法还包括:
10、若所述第一实例池中不存在可用资源量大于或等于所述第一资源量的函数实例,则将第二实例池中的任一函数实例作为第一函数实例;其中,所述第二实例池中的函数实例均未运行任何云函数。
11、作为一种可选的实施方式,在本申请实施例第一方面中,所述将所述第一实例池中,可用资源量大于或等于所述第一资源量的函数实例作为第一函数实例之后,所述方法还包括:
12、从第二实例池中获取第二函数实例,所述第二实例池中的函数实例未运行任何云函数;
13、利用所述第二函数实例运行所述第一云函数,以得到第三函数实例;
14、将所述第三函数实例存储至所述第一实例池。
15、作为一种可选的实施方式,在本申请实施例第一方面中,所述从第二实例池中获取第二函数实例,包括:
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、通过实施该方法,可以根据第一调度请求所需的第一资源量,查找出可用资源量大于第一资源量的函数实例,进而利用该函数实例处理第一调度请求,这样,调度请求可分配到可用资源量充足的函数实例进行处理,有效解决了函数实例资源过载而导致服务异常的问题。
技术特征:1.一种云函数调用方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一资源量确定第一函数实例,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述将所述第一实例池中,可用资源量大于或等于所述第一资源量的函数实例作为第一函数实例之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述从第二实例池中获取第二函数实例,包括:
6.根据权利要求2所述的方法,其特征在于,所述根据第一实例池的资源状态信息,确定所述第一实例池中是否存在可用资源量大于或等于所述第一资源量的函数实例,包括:
7.根据权利要求6所述的方法,其特征在于,所述将所述第一实例池中可用资源量大于或等于所述第一资源量的函数实例作为第一函数实例之后,所述方法还包括:
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
9.一种云函数调用装置,其特征在于,包括:
10.一种云函数平台,其特征在于,包括:
11.一种计算机可读存储介质,其上存储有可执行程序代码,其特征在于,所述可执行程序代码被处理器执行时,实现如权利要求1-8中任一所述的方法。
技术总结本申请实施例公开了一种云函数调用方法、装置、云函数平台及存储介质,该云函数调用方法可以包括:在接收到用于调用第一云函数的第一调度请求时,获取第一调度请求所需的第一资源量;根据第一资源量确定第一函数实例,第一函数实例的可用资源量大于或等于第一资源量,第一函数实例已运行或未运行第一云函数;调用第一函数实例处理第一调度请求。通过实施该方法,可以有效解决因函数实例资源过载而导致的服务异常问题。技术研发人员:燕涛,谢景源,舒畅,左钦菠受保护的技术使用者:OPPO广东移动通信有限公司技术研发日:技术公布日:2024/9/12本文地址:https://www.jishuxx.com/zhuanli/20240914/294005.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表