边缘云函数计算系统和方法技术方案

技术编号:36357057 阅读:42 留言:0更新日期:2023-01-14 18:13
本公开涉及一种边缘云函数计算系统和方法。该系统包括部署在多个边缘云函数计算节点中的多个工作机上的多个函数计算模块,以及调度系统,被配置为接收对函数计算任务的请求,并且至少根据多个工作机的内存使用状况,将接收到的函数计算任务分配给所述多个函数计算模块中的一个执行。由此,通过考虑多个工作机的内存使用状况来进行函数计算任务的调度,能够减少迁移和冷启动。够减少迁移和冷启动。够减少迁移和冷启动。

【技术实现步骤摘要】
边缘云函数计算系统和方法


[0001]本公开涉及边缘云函数计算领域,特别是涉及一种边缘云函数计算系统的架构。

技术介绍

[0002]随着云计算的发展,从基础设施云化服务一路发展而来,催生了函数即服务的云化服务方式,但是大多数函数计算都以中心集群的方式提供服务。然而,对于很多消耗低、要求响应速度快等的轻量型的函数服务,中心云的实现方式并不理想。
[0003]而边缘云离用户更近,并且拥有大量的小型分布式节点资源。因此,希望能充分利用边缘云分布式节点的距离优势和算力资源,在边缘云节点上提供函数计算服务。

技术实现思路

[0004]本公开要解决的一个技术问题是提供一种边缘云函数计算系统,其能够充分利用边缘节点的算力来提供函数计算服务。
[0005]根据本公开的第一个方面,提供了一种边缘云函数计算系统,包括:部署在多个边缘云函数计算节点中的多个工作机上的多个函数计算模块,以及调度系统,被配置为接收对函数计算任务的请求,并且至少根据多个工作机的内存使用状况,将接收到的函数计算任务分配给所述多个函数计算模块中的一个执行。
[0006]可选地,所述调度系统包括节点调度设备、在边缘云函数计算节点中对多个工作机进行调度的调度器、以及部署在工作机上对多个函数计算模块进行调度的控制模块;所述节点调度设备被配置为接收对函数计算任务的请求,并且至少根据所述多个边缘云函数计算节点的负载情况将接收到的函数计算任务分配给所述多个边缘云函数计算节点中的一个执行;所述调度器被配置为至少根据分配的边缘云函数计算节点中的多个工作机的内存使用状况将所述函数计算任务分配给所述多个工作机中的一个执行;以及所述控制模块被配置为至少根据分配的工作机中的多个函数计算模块的内存使用状况将所述函数计算任务分配给所述多个函数计算模块中的一个执行。
[0007]可选地,所述节点调度设备包括资源消耗评估模块,所述资源消耗评估模块被配置为至少评估所述函数计算任务要消耗的内存量。所述节点调度设备还根据所述资源消耗评估模块评估的所述内存量来分配所述函数计算任务。
[0008]可选地,所述调度器从所述多个工作机分别收集工作机的内存使用状况,所述内存使用状况包括保留在工作机的内存中的程序的信息。所述调度器在确定所述函数计算任务需要使用的程序正被保留在其中一个工作机的内存中的情况下将所述函数计算任务分配给所述工作机。
[0009]可选地,所述控制模块确定所述函数计算任务需要使用的程序是否正被保留在其中一个函数计算模块的内存中,并且在所述函数计算任务需要使用的程序正被保留在其中一个函数计算模块的内存中的情况下将所述函数计算任务分配给所述函数计算模块。
[0010]可选地,所述函数计算任务是使用租户在所述边缘云函数计算系统上部署的程序
实现的,所述至少一个工作机采用程序解释器来运行所述函数计算任务的程序,所述函数计算模块为程序解释器的线程。所述函数计算模块创建一个或多个程序虚拟机,其中每个程序虚拟机加载一个程序。所述函数计算任务是通过由所述函数计算模块运行其对应的程序的程序虚拟机来执行的。
[0011]可选地,所述控制模块被配置为接收租户预先设置的针对函数计算任务的CPU占用时间,并且在所述函数计算任务使用CPU的时间超过所述CPU占用时间终止所述函数计算任务。
[0012]可选地,所述控制模块被配置为根据当前对一个程序的函数计算任务的请求数量,对加载所述程序的程序虚拟机的数量进行调整。
[0013]可选地,所述控制模块被配置为为每个程序虚拟机设置内存沙盒,并且/或者所述控制模块被配置为根据工作机和每个程序虚拟机的实时内存状态来自适应地动态调整内存垃圾回收策略和内存管理策略。
[0014]可选地,至少一个所述边缘云函数计算节点还包括代码缓存器,所述代码缓存器存储所述边缘云函数计算节点所执行过的函数计算任务使用的程序的代码。
[0015]可选地,至少一个所述边缘云函数计算节点还包括边缘存储器。所述边缘存储器存储所述边缘云函数计算节点执行过的函数计算任务的执行状态,并且响应于后续函数计算任务的要求将所述执行状态提供给所述后续函数计算任务。
[0016]可选地,边缘云函数计算系统还包括提供基于WEB编辑器或CLI的编程界面和调试手段的编程模块,其中,所述编程模块被配置为允许租户通过WEB编辑器或CLI来向所述边缘云函数计算系统发布程序。
[0017]可选地,边缘云函数计算系统还包括管理中心和代码存储装置。其中,所述代码存储装置存储租户发布的程序的代码。所述管理中心被配置为:保存租户的信息、以及租户发布的程序的信息,在租户的程序的代码或者信息更新时,通知边缘云函数计算节点,以及响应于边缘云函数计算节点的要求,将所述边缘云函数计算节点要运行的程序的代码及信息提供给所述边缘云函数计算节点。
[0018]可选地,至少一个所述边缘云函数计算节点还包括CDN缓存装置,所述节点调度设备还包括CDN调度装置,租户在所述边缘云函数计算系统上部署程序,例如可以是JavaScript程序。所述函数计算任务包括使用所述程序执行网页的页面渲染,对所述函数计算任务的请求是网民发起的对所述网页的访问请求。执行所述函数计算任务的函数计算模块直接从所述网页的源站获得所述网页所需的资源,或者通过所述CDN缓存装置作为代理获得所述网页所需的资源。
[0019]根据本公开的第二个方面,提供了一种使用边缘云函数计算系统的方法,包括:接收使用所述边缘云函数计算系统来执行函数计算任务的请求,其中所述边缘云函数计算系统包括部署在多个边缘云函数计算节点中的多个工作机上的多个函数计算模块;以及至少根据多个工作机的内存使用状况,将接收到的函数计算任务分配给所述多个函数计算模块中的一个执行。
[0020]可选地,将接收到的函数计算任务分配给所述多个函数计算模块中的一个执行的步骤包括:至少根据所述多个边缘云函数计算节点的负载情况将接收到的函数计算任务分配给所述多个边缘云函数计算节点中的一个执行;至少根据分配的边缘云函数计算节点中
的多个工作机的内存使用状况将所述函数计算任务分配给所述多个工作机中的一个执行;以及至少根据分配的工作机中的多个函数计算模块的内存使用状况将所述函数计算任务分配给所述多个函数计算模块中的一个执行。
[0021]可选地,至少根据所述多个边缘云函数计算节点的负载情况将接收到的函数计算任务分配给所述多个边缘云函数计算节点中的一个执行的步骤包括:至少评估所述函数计算任务要消耗的内存量;以及至少根据所评估的所述内存量和所述多个边缘云函数计算节点的负载情况来分配所述函数计算任务。
[0022]可选地,至少根据分配的边缘云函数计算节点中的多个工作机的内存使用状况将所述函数计算任务分配给所述多个工作机中的一个执行的步骤包括:从所述多个工作机分别收集工作机的内存使用状况,所述内存使用状况包括保留在工作机的内存中的程序的信息;以及在确定所述函数计算任务需要使用的程序正被保留在其中一个工作机的内存中的情况下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种边缘云函数计算系统,包括:部署在多个边缘云函数计算节点中的多个工作机上的多个函数计算模块;以及调度系统,被配置为接收对函数计算任务的请求,并且至少根据多个工作机的内存使用状况,将接收到的函数计算任务分配给所述多个函数计算模块中的一个执行。2.根据权利要求1所述的边缘云函数计算系统,其中,所述调度系统包括节点调度设备、在边缘云函数计算节点中对多个工作机进行调度的调度器、以及部署在工作机上对多个函数计算模块进行调度的控制模块;所述节点调度设备被配置为接收对函数计算任务的请求,并且至少根据所述多个边缘云函数计算节点的负载情况将接收到的函数计算任务分配给所述多个边缘云函数计算节点中的一个执行;所述调度器被配置为至少根据分配的边缘云函数计算节点中的多个工作机的内存使用状况将所述函数计算任务分配给所述多个工作机中的一个执行;以及所述控制模块被配置为至少根据分配的工作机中的多个函数计算模块的内存使用状况将所述函数计算任务分配给所述多个函数计算模块中的一个执行。3.根据权利要求2所述的边缘云函数计算系统,其中,所述节点调度设备包括资源消耗评估模块;所述资源消耗评估模块被配置为至少评估所述函数计算任务要消耗的内存量;并且所述节点调度设备还根据所述资源消耗评估模块评估的所述内存量来分配所述函数计算任务。4.根据权利要求2所述的边缘云函数计算系统,其中,所述调度器从所述多个工作机分别收集工作机的内存使用状况,所述内存使用状况包括保留在工作机的内存中的程序的信息;并且所述调度器在确定所述函数计算任务需要使用的程序正被保留在其中一个工作机的内存中的情况下将所述函数计算任务分配给所述工作机。5.根据权利要求2所述的边缘云函数计算系统,其中,所述控制模块确定所述函数计算任务需要使用的程序是否正被保留在其中一个函数计算模块的内存中,并且在所述函数计算任务需要使用的程序正被保留在其中一个函数计算模块的内存中的情况下将所述函数计算任务分配给所述函数计算模块。6.根据权利要求1所述的边缘云函数计算系统,其中,所述函数计算任务是使用租户在所述边缘云函数计算系统上部署的程序实现的;所述至少一个工作机采用程序解释器来运行所述函数计算任务的程序;所述函数计算模块为程序解释器的线程;所述函数计算模块创建一个或多个程序虚拟机,其中每个程序虚拟机加载一个程序;并且所述函数计算任务是通过由所述函数计算模块运行加载其对应程序的程序虚拟机来执行的。7.根据权利要求6所述的边缘云函数计算系统,其中,所述控制模块被配置为接收租户预先设置的针对函数计算任务的CPU占用时间,并且在所述函数计算任务使用CPU的时间超过所述CPU占用时间终止所述函数计算任务。
8.根据权利要求6所述的边缘云函数计算系统,其中,所述控制模块被配置为根据当前对一个程序的函数计算任务的请求数量,对加载所述程序的程序虚拟机的数量进行调整。9.根据权利要求6所述的边缘云函数计算系统,其中,所述控制模块被配置为为每个程序虚拟机设置内存沙盒;并且/或者所述控制模块被配置为根据工作机和每个程序虚拟机的实时内存状态来自适应地动态调整内存垃圾回收策略和内存管理策略。10.根据权利要求1所述的边缘云函数计算系统,其中,至少一个所述边缘云函数计算节点还包括代码缓存器,所述代码缓存器存储所述边缘云函数计算节点所执行过的函数计算任务使用的程序的代码。11.根据权利要求1所述的边缘云函数计算系统,其中,至少一个所述边缘云函数计算节点还包括边缘存储器,所述边缘存储器存储所述边缘云函数计算节点执行过的函数计算任务的执行状态,并且响应于后续函数计算任务的要求将所...

【专利技术属性】
技术研发人员:张洪江任庚杨敬宇
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1