[发明专利]一种适用于LINUX操作系统的云函数执行系统及方法有效
申请号: | 201811602187.7 | 申请日: | 2018-12-26 |
公开(公告)号: | CN109684040B | 公开(公告)日: | 2019-11-19 |
发明(设计)人: | 刘忻;董栓宗 | 申请(专利权)人: | 广州市品高软件股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/41 |
代理公司: | 44100 广州新诺专利商标事务所有限公司 | 代理人: | 张玲春<国际申请>=<国际公布>=<进入 |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数执行 结果输出模块 有效地控制 构建模块 函数创建 接收模块 可靠控制 输入函数 沙盒 沙箱 灵活 部署 进程 管理 | ||
1.一种适用于LINUX操作系统的云函数执行系统,其特征在于,包括:
函数接收模块,用于接收用户输入的云函数,并在接收到所述云函数时发送沙盒构建指令至沙盒构建模块;所述云函数包括函数代码和函数类型;
所述沙盒构建模块,用于在接到所述沙盒构建指令时,调用Linux系统函数,在操作系统中为所述云函数建立单独的执行进程;所述执行进程与所述操作系统中的其他进程相互隔离;
执行模块,用于在所述单独的执行进程中,选取所述函数类型对应的编译器执行所述函数代码并得到执行结果;所述执行模块包括:
代码执行模块,用于执行所述函数代码;
执行参数设定模块,用于设定所述函数代码的执行参数;所述执行参数包括最大执行时间、最大可用内存、执行请求ID、云函数ID、执行日志ID、日志输出编号、结果输出编号;
结果输出模块,用于输出所述执行结果。
2.根据权利要求1所述的适用于LINUX操作系统的云函数执行系统,其特征在于:所述沙盒构建模块包括:
进程建立模块,用于调用LINUX操作系统的Namespace机制建立所述执行进程;
文件隔离模块,用于调用LINUX操作系统的chroot()函数,更改所述执行进程的根目录到目标文件夹;所述目标文件夹的目录结构与所述操作系统Linux系统文件的目录结构一致;
物理资源分配模块,用于调用LINUX操作系统的ControlGroups机制为所述执行进程分配物理资源;所述物理资源包括CPU、内存、磁盘I/O和网络带宽。
3.根据权利要求2所述的适用于LINUX操作系统的云函数执行系统,其特征在于:所述进程建立模块包括:
ID隔离模块,用于创建PID Namespace隔离所述执行进程的进程ID;
网络隔离模块,用于创建Network Namespace隔离所述执行进程的网络功能;
通信隔离模块,用于创建IPC Namespace隔离所述执行进程与其他进程的通信交互;
挂载点隔离模块,用于创建Mount Namespace隔离所述执行进程的挂载点。
4.根据权利要求2所述的适用于LINUX操作系统的云函数执行系统,其特征在于:所述执行模块还包括执行监控模块,用于在所述代码执行模块执行的时间超过所述最大执行时间时,或所述代码执行模块执行的内存超过所述最大可用内存时,结束所述执行进程。
5.一种适用于LINUX操作系统的云函数执行方法,其特征在于:其步骤包括:
S1、函数接收模块接收用户输入的云函数,并在接收到所述云函数时发送沙盒构建指令至沙盒构建模块;所述云函数包括函数代码和函数类型;
S2、所述沙盒构建模块在接到所述沙盒构建指令时,调用Linux系统函数,在操作系统中为所述云函数建立单独的执行进程;所述执行进程与所述操作系统中的其他进程相互隔离;
S3、执行模块在所述单独的执行进程中,选取所述函数类型对应的编译器执行所述函数代码并得到执行结果;所述执行模块包括:
代码执行模块,用于执行所述函数代码;
执行参数设定模块,用于设定所述函数代码的执行参数;所述执行参数包括最大执行时间、最大可用内存、执行请求ID、云函数ID、执行日志ID、日志输出编号、结果输出编号;
S4、结果输出模块输出所述执行结果。
6.根据权利要求5所述的适用于LINUX操作系统的云函数执行方法,其特征在于:所述沙盒构建模块包括:
进程建立模块,用于调用LINUX操作系统的Namespace机制建立所述执行进程;
文件隔离模块,用于调用LINUX操作系统的chroot()函数,更改所述执行进程的根目录到目标文件夹;所述目标文件夹的目录结构与所述操作系统Linux系统文件的目录结构一致;
物理资源分配模块,用于调用LINUX操作系统的ControlGroups机制为所述执行进程分配物理资源;所述物理资源包括CPU、内存、磁盘I/O和网络带宽。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市品高软件股份有限公司,未经广州市品高软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811602187.7/1.html,转载请声明来源钻瓜专利网。