[发明专利]一种基于应用控制状态管理的无服务器计算应用执行方法和系统在审
申请号: | 202210869036.8 | 申请日: | 2022-07-22 |
公开(公告)号: | CN115373816A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 雷正宇;史骁;赵晓芳 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/445;G06F16/25 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;陈思远 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 应用 控制 状态 管理 服务器 计算 执行 方法 系统 | ||
本发明提出一种基于应用控制状态管理的无服务器计算应用执行方法和系统,包括:无服务器计算平台获取无服务器计算应用,其云函数通过引入控制状态管理程序库实现控制状态管理功能;根据函数使用该控制状态管理程序库提供的应用程序编程接口创建控制状态对象,为控制状态对象创建全局唯一的字符串,作为该控制状态对象的对象引用;使用该应用程序编程接口传入函数名和该对象引用,启动该函数名对应的目标函数,并将该对象引用作为参数传递,使该目标函数共享该控制状态对象;直到该无服务器计算应用的用户代码全部执行完毕,得到无服务器计算应用的执行结果。
技术领域
本发明涉及无服务器计算Serverless中应用状态管理技术领域,尤其涉及一种Serverless应用控制状态的管理方法和系统。
背景技术
无服务器计算Serverless作为新的云计算模式正在迅速发展。目前,函数即服务(Function as a Service,FaaS)是提供Serverless计算服务的主要形式。用户在Serverless计算平台开发应用只需要用任何高级编程语言编写一个云函数(用户代码),配置可触发云函数的事件就能利用云资源运行自己的应用,而将所有其它繁琐的事情(如服务器配置、负载均衡、伸缩、应用部署)都交由平台负责。使用Serverless计算平台,开发人员可以用不同的编程语言编写一个函数,然后将函数上传到云端,并获得调用接口以随意远程调用该函数。凭借简单的编程模型、丰富的云资源服务、低成本的按量付费方式,Serverless成为云计算的重要计算服务形式。
Serverless计算平台为开发人员提供服务器配置、计算资源,并可根据实时应用负载情况执行函数弹性扩缩容。现有Serverless的弹性扩展能力依赖于计算和存储分离,由于现有Serverless计算未能提供系统化的状态管理能力,这要求Serverless函数必须是无状态的。无状态性意味着Serverless函数的每一次调用之间不能共享状态,用户需将函数需要使用的状态(例如持久化数据、函数之间用于协作的消息和函数执行的中间结果)存储在外部存储服务中。
在Serverless应用计算中,有一类特殊的状态——控制状态,包括Serverless函数间相互发送的消息、用于多函数同步的互斥锁和需要频繁读写的共享对象。不同于其他状态,由于特殊的一致性和性能需求,控制状态的使用需要Serverless平台提供特殊的语义支持;而其他状态主要服务于应用的业务需求,不需要和平台进行交互。
目前,Serverless缺乏高效的状态管理机制,通常使用外部存储作为所有状态的的访问管理,这使得在Serverless平台上实现需要使用控制状态的应用会面临一系列问题:
(1)控制状态访问性能难以保障。控制状态具有延迟敏感的计算特点,外部存储服务通常具有更高的访问延迟,因此难以支持控制状态细粒度、高频率的访问。这对基于控制状态进行密切协作的Serverless应用有较大的性能影响。
(2)控制状态访问的一致性需求难以保障。控制状态具有多样化的一致性需求,一般的外部存储服务难以直接满足需求。用户需要为不同一致性需求和性能需求的控制对象配置多种存储服务,并手动进行管理,操作十分困难。
(3)控制状态的自动扩缩容难以实现。Serverless函数的并发度可能在短时间增长到很大的数值,而存储系统通常不具备相应的自动扩缩容能力,从而成为整个系统的性能瓶颈,影响应用计算性能。
发明内容
本发明的目的是解决多函数协作的Serverless应用的多样一致性需求、编程困难问题和性能问题。本发明提供了适用于不同协作场景的编程接口,简化多函数协作的Serverless应用开发,具有优秀的性能。基于此系统,应用开发人员不需要自行构建和维护外部存储,只需关注函数间协作需要传递的消息和共享的对象,就能在轻松构建分布式共识算法或分布式数据库系统等依赖状态管理的Serverless应用。
针对现有技术的不足,本发明提出一种基于应用控制状态管理的无服务器计算应用执行方法,其中包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210869036.8/2.html,转载请声明来源钻瓜专利网。