[发明专利]一种适用于LINUX操作系统的云函数执行系统及方法有效
申请号: | 201811602187.7 | 申请日: | 2018-12-26 |
公开(公告)号: | CN109684040B | 公开(公告)日: | 2019-11-19 |
发明(设计)人: | 刘忻;董栓宗 | 申请(专利权)人: | 广州市品高软件股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/41 |
代理公司: | 44100 广州新诺专利商标事务所有限公司 | 代理人: | 张玲春<国际申请>=<国际公布>=<进入 |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数执行 结果输出模块 有效地控制 构建模块 函数创建 接收模块 可靠控制 输入函数 沙盒 沙箱 灵活 部署 进程 管理 | ||
本发明公开了一种适用于LINUX操作系统的云函数执行系统及方法,用户只需将欲执行的云函数输入函数接收模块,沙盒构建模块便可以自动为云函数创建执行进程并由执行模块进行执行,最后用户只需通过结果输出模块即可获取函数的执行结果,上述系统可实现高效的轻量级云函数沙箱执行环境,并有效地控制云函数的运行,具有方便部署管理、执行灵活高效和可靠控制的特点。
技术领域
本发明涉及云计算领域,具体涉及一种适用于LINUX操作系统的云函数执行系统及方法。
背景技术
云函数服务是一项计算服务,可使用户无需预配置或管理服务器,直接上传云函数即可 运行代码。借助云函数服务,用户几乎可以为任何类型的应用程序或后端服务运行代码,而 且无需执行任何管理。云函数服务在可用性高的计算基础设施上运行用户的代码,执行计算 资源的所有管理工作,其中包括服务器和操作系统维护、容量预置和自动扩展、代码监控和 记录。用户只需要以云函数服务支持的任何一种编程语言提供代码。
云函数计算是最近两年发展起来的概念,是云计算中的新模式。在没有云函数之前,现 有技术中,用户想要托管运行程序代码,需要编译好可执行程序,然后上传到服务器里,按 需或定时运行可执行程序。如果程序代码有变更,那么需要重新编译代码进行部署。这种方 式缺乏方便性、灵活性和可靠性,且现有技术没对不同程序的进程进行隔离,不能很好地单 独控制托管程序的行为和资源使用。
发明内容
为了克服上述技术缺陷,本发明提供一种适用于LINUX操作系统的云函数执行系统及方 法,可实现高效的轻量级云函数沙箱执行环境,并有效地控制云函数的运行,具有方便部署 管理、执行灵活高效和可靠控制的特点。
为了解决上述问题,本发明按以下技术方案予以实现的:
一种适用于LINUX操作系统的云函数执行系统,包括:
函数接收模块,用于接收用户输入的云函数,并在接收到所述云函数时发送沙盒构建指 令至沙盒构建模块;所述云函数包括函数代码和函数类型;
所述沙盒构建模块,用于在接到所述沙盒构建指令时,调用Linux系统函数,在操作系 统中为所述云函数建立单独的执行进程;所述执行进程与所述操作系统中的其他进程相互隔 离;
执行模块,用于在所述单独的执行进程中,选取所述函数类型对应的编译器执行所述函 数代码并得到执行结果;
结果输出模块,用于输出所述执行结果。
进一步的,所述沙盒构建模块包括:
进程建立模块,用于调用LINUX操作系统的Namespace机制建立所述执行进程;
文件隔离模块,用于调用LINUX操作系统的chroot()函数,更改所述执行进程的根目录 到目标文件夹;所述目标文件夹的目录结构与所述操作系统Linux系统文件的目录结构一致;
物理资源分配模块,用于调用LINUX操作系统的Control Groups机制为所述执行进程分 配物理资源;所述物理资源包括CPU、内存、磁盘I/O和网络带宽。
进一步的,所述进程建立模块包括:
ID隔离模块,用于创建PID Namespace隔离所述执行进程的进程ID;
网络隔离模块,用于创建Network Namespace隔离所述执行进程的网络功能;
通信隔离模块,用于创建IPC Namespace隔离所述执行进程与其他进程的通信交互;
挂载点隔离模块,用于创建Mount Namespace隔离所述执行进程的挂载点。
进一步的,所述执行模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市品高软件股份有限公司,未经广州市品高软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811602187.7/2.html,转载请声明来源钻瓜专利网。