[发明专利]一种基于资源缓存的高性能无服务器计算方法及系统有效
申请号: | 201910869946.4 | 申请日: | 2019-09-16 |
公开(公告)号: | CN110837408B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 覃世军;吴恒;张文博 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54;G06F9/50 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 资源 缓存 性能 服务器 计算方法 系统 | ||
1.一种基于资源缓存的高性能无服务器计算系统,其特征在于,包括客户端、控制节点、计算节点、软件包仓库;其中,
客户端,用于发起调用请求,请求调用无服务器计算平台;无服务器计算平台包括API网关、主节点选举器、调度器,其中API网关负责接收客户端发送的无服务器事件,并根据其注册时的规则唤起相应的无服务器处理程序的调用,主节点选举器负责在之前工作的控制节点失效之后重新选举新的控制节点,调度器负责监听API网关触发的无服务器处理程序的调用,负责将无服务器处理程序以容器的形式调度到计算节点上进行执行;
控制节点,负责无服务器计算中调用请求的接收、调用触发、容器调度、无服务器计算平台中的主节点选举,以及当调度器调度无服务器处理程序时,在软件包注册表中进行查询,将用于执行无服务器处理程序的容器调度到所需软件包已经存在的节点上;控制节点的容器缓存控制器负责采集计算节点上容器的执行信息和系统的状态信息,并根据采集信息进行容器缓存时间的调整,控制节点的软件包注册表负责存储函数-软件包和软件包-计算节点的映射信息;
计算节点,负责无服务器处理程序的执行;
软件包仓库,用于存储软件包。
2.如权利要求1所述的系统,其特征在于,采集的信息包括容器启动初始化时间、执行的无服务器处理程序的类型、执行无服务器处理程序的时间、容器缓存时间、当前请求的负载大小、当前执行无服务器处理程序的容器的个数。
3.如权利要求1所述的系统,其特征在于,客户端上传无服务器处理程序时,软件包注册表将客户端上传的无服务器处理程序和其所依赖软件包的映射关系写入软件包注册表,在计算节点下载缓存软件包时,将相关计算节点和软件包的映射关系写入软件包注册表。
4.如权利要求1所述的系统,其特征在于,客户端通过Web界面、命令行工具或RESTfulAPI发起调用请求。
5.一种基于资源缓存的高性能无服务器计算方法,其步骤包括:
1)计算节点根据客户端发送的请求从软件包仓库中下载所需的软件包并将其安装到该计算节点上;
2)软件包仓库向软件包注册表发起同步信息的请求,将软件包信息和下载该软件包的计算节点信息以键值对的形式同步到软件包注册表中;
3)客户端向无服务器平台的API网关发起一个事件请求,API网关接收到该事件请求后唤起对应无服务器处理程序的调用;
4)无服务器平台的调度器监听到API网关对无服务器处理程序的调用后选取执行该无服务器处理程序的容器C;
5)调度器向软件包注册表查询无服务器处理程序所需的软件包及其所在的计算节点A;将所选容器C调度到该计算节点A上;
6)计算节点A在本地使用隔离资源缓存池执行启动容器C的操作;
7)容器C变为就绪状态后,计算节点A启动容器中用于启动无服务器处理程序的守护进程;
8)容器C从宿主机的软件包缓存中将所需的软件包导入到内存中;
9)在容器C执行完无服务器处理程序之后,计算节点A上的数据采集器对容器C信息进行采集;
10)数据采集器将每个周期采集的数据传输给控制节点的容器缓存控制器;
11)容器缓存控制器根据当前采集的信息对下一周期容器缓存进行预测,将预测的结果反馈给调度器,调度器根据预测结果调整下一周期新启动容器的缓存时间。
6.如权利要求5所述的方法,其特征在于,采集的信息包括容器启动初始化时间、执行的无服务器处理程序的类型、执行无服务器处理程序的时间、容器缓存时间、当前请求的负载大小、当前处理无服务器处理程序的容器的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910869946.4/1.html,转载请声明来源钻瓜专利网。