本技术涉及云计算领域,尤其涉及一种无服务器计算的分布式调度方法、装置、设备、系统、介质和产品。
背景技术:
1、无服务器计算(serverless computing)是指在构建和运行应用时无需管理服务器等基础设施。它描述了一个更细粒度的部署模型,在该模型中,应用被拆解为一个或多个细粒度的函数被上传到一个平台,然后根据当前所需执行、扩展和计费。
2、无服务器计算是一种新的云计算服务范式,它以函数为粒度进行生命周期管理,具备高弹性、细粒度等特性。随着无服务器计算的逐渐成熟,未来预计越来越多的应用将会迁移到无服务器计算平台,如对响应时延敏感的社交网络、对计算成本敏感的模型训练等,这对如何合理、高效、灵活的在云边端资源上调度任务提出了严峻的挑战。
技术实现思路
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、若根据所述第二标识确定的业务属性为所述第二属性,则将各所述函数实例的所述第一指标、所述第二指标和待处理的服务请求数量输入第二评价函数,得到各所述函数实例的第二评分值,并基于所述第二评分值对各所述函数实例进行排序。
41、第三方面,本技术实施例提供了一种无服务器计算的分布式调度装置,应用于边调度器,所述装置包括:
42、第一获取模块,用于获取服务请求,所述服务请求携带指示业务类型的第一标识;
43、第一处理模块,用于若基于所述第一标识确定所述边调度器管理的节点设备上存在满足所述业务类型的至少一个函数实例,则从所述至少一个函数实例中选择处理所述服务请求的目标函数实例;若基于所述第一标识确定所述边调度器管理的节点设备上均不存在满足所述业务类型的函数实例,则检测相邻的边调度器管理的节点设备上是否存在满足所述业务类型的至少一个函数实例,若是,则发送所述服务请求至所述相邻的边调度器,若否,则获取本地管理的节点设备和/或所述相邻的边调度器管理的节点设备的资源信息;若基于所述资源信息确定存在满足设定需求的资源,则基于所述资源启动处理所述服务请求的函数实例;若基于所述资源信息确定不存在满足设定需求的资源,则发送所述服务请求至中心调度器。
44、第四方面,本技术实施例提供了一种无服务器计算的分布式调度装置,应用于中心调度器,所述装置包括:
45、第二获取模块,用于获取服务请求,所述服务请求携带指示业务类型的第一标识;
46、第二处理模块,用于若基于所述第一标识确定所述中心调度器管理的节点设备上存在满足所述业务类型的至少一个函数实例,则从所述至少一个函数实例中选择处理所述服务请求的目标函数实例;若基于所述第一标识确定所述中心调度器管理的节点设备上均不存在满足所述业务类型的函数实例,则获取管理的节点设备的资源信息;若基于所述资源信息确定存在满足设定需求的资源,则基于所述资源启动处理所述服务请求的函数实例;若基于所述资源信息确定不存在满足设定需求的资源,则发送所述服务请求至边调度器。
47、第五方面,本技术实施例提供了一种边调度器,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本技术实施例第一方面所述方法的步骤。
48、第六方面,本技术实施例提供了一种中心调度器,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本技术实施例第二方面所述方法的步骤。
49、第七方面,本技术实施例提供了一种无服务器计算的分布式调度系统,包括本技术实施例第五方面所述的边调度器和本技术实施例第六方面所述的中心调度器。
50、第八方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本技术实施例任一方面所述方法的步骤。
51、第九方面,本技术实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现本技术实施例任一方面所述的方法的步骤。
52、本技术实施例提供的技术方案,边调度器获取服务请求,服务请求携带指示业务类型的第一标识;若基于第一标识确定边调度器管理的节点设备上存在满足业务类型的至少一个函数实例,则从至少一个函数实例中选择处理服务请求的目标函数实例;若基于第一标识确定边调度器管理的节点设备上均不存在满足业务类型的函数实例,则检测相邻的边调度器管理的节点设备上是否存在满足业务类型的至少一个函数实例,若是,则发送服务请求至相邻的边调度器,若否,则获取本地管理的节点设备和/或相邻的边调度器管理的节点设备的资源信息;若基于资源信息确定存在满足设定需求的资源,则基于资源启动处理服务请求的函数实例;若基于资源信息确定不存在满足设定需求的资源,则发送服务请求至中心调度器。如此,可以优先由网关附近的边调度器实现服务请求的调度任务,可以减少响应时延,且有效降低使用成本,从而能够更好地满足云边端分布式场景下的无服务器计算的调度需求。
1.一种无服务器计算的分布式调度方法,其特征在于,应用于边调度器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述服务请求还携带指示业务属性的第二标识,所述从所述至少一个函数实例中选择处理所述服务请求的目标函数实例,包括:
3.根据权利要求2所述的方法,其特征在于,所述业务属性的类型包括:性能优先的第一属性和成本优先的第二属性,所述对所述至少一个函数实例,基于所属的节点设备的参数信息和根据所述第二标识确定的业务属性进行排序,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述获取本地管理的节点设备和/或所述相邻的边调度器管理的节点设备的资源信息,包括:
6.根据权利要求5所述的方法,其特征在于,所述服务请求还携带指示业务属性的第二标识,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述业务属性的类型包括:性能优先的第一属性和成本优先的第二属性,所述对所述满足设定需求的资源,基于所属的节点设备的参数信息和根据所述第二标识确定的业务属性进行排序,包括:
8.一种无服务器计算的分布式调度方法,其特征在于,应用于中心调度器,所述方法包括:
9.根据权利要求8所述的方法,其特征在于,所述服务请求还携带指示业务属性的第二标识,所述从所述至少一个函数实例中选择处理所述服务请求的目标函数实例,包括:
10.根据权利要求9所述的方法,其特征在于,所述业务属性的类型包括:性能优先的第一属性和成本优先的第二属性,所述对所述至少一个函数实例,基于所属的节点设备的参数信息和根据所述第二标识确定的业务属性进行排序,包括:
11.一种无服务器计算的分布式调度装置,其特征在于,应用于边调度器,所述装置包括:
12.一种无服务器计算的分布式调度装置,其特征在于,应用于中心调度器,所述装置包括:
13.一种边调度器,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
14.一种中心调度器,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
15.一种无服务器计算的分布式调度系统,其特征在于,包括如权利要求13所述的边调度器和如权利要求14所述的中心调度器。
16.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至10任一项所述方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现权利要求1至10任一项所述的方法的步骤。