本发明涉及云际应用部署,具体涉及一种链式服务器无感知应用的云际部署方法及系统。
背景技术:
1、云计算是一种基于网络的计算模型,其核心理念是通过虚拟化技术将计算资源(包括计算能力、存储和网络资源)以服务的形式提供给用户,用户可以按照需求获取和释放这些资源。云际计算则是以一种期待联合多云实现“1+1>2”能力的新一代云计算模式,云际计算以多个云服务实体之间的开放协为基础,深度融合多方云资源,通过“软件定义”方式定制云服务,使得开发者可以同用多个云厂商的资源,从而创造超出云本身之外的价值。最近兴起的云计算新范式serverless computing(服务器无感知计算)的轻量、无状态等特性为云际计算注入新的活力。
2、无服务器服务(serverless)可以看作是faas(function as a service,函数即服务)和baas(backend as a service,后端即服务)的组合,其中baas涵盖广义的第三方服务,例如经典的对象存储服务、数据库存储服务、缓存服务等,为用户提供各个基础组件;faas表示用户所自定义的函数,一般在cpu、内存等资源受限的短时函数实例(沙箱,例如microvm,容器)中运行,faas作为底层各个基础组件(也即baas服务)的“黏合剂”,提供计算能力,并对消息队列、对象存储事件、数据库binlog等baas服务进行连接,以此来高效的完成用户的请求。在无服务器(serverless)架构中,基础设施管理与应用程序开发被有效地分离开来,这使得应用开发者能够专注于编写执行特定任务的函数,并设置相应的触发器,而无需关心底层基础设置。当触发器被激活时,无服务器计算平台会自动为函数分配沙箱(容器),从而运行相应的函数。然而,在实际使用无服务器服务时,用户可能会面临一系列挑战。首先,无服务器平台的性能交付能力往往是未知的。由于资源的分配与调度由平台自动维护,用户很难准确了解底层资源的分配情况。虽然存在一些微基准测试和应用测试,但无服务器平台的性能仍然难以被明确地量化。其次,不同无服务器平台提供的函数服务在性能规格和成本模型上存在巨大差异,不同云服务提供商的技术选型和优化方案也各不相同。因此,用户需要根据自身的工作负载特性选择最适合的函数即服务平台进行部署,以达到最佳性能和成本效益的平衡。最后,供应商锁定问题也是一个重要的考虑因素。由于地域分布或政策限制,业务数据和计算资源可能分布在不同的云服务提供商之间。然而,不同云服务提供商之间的数据和计算能力迁移可能受到一些限制,包括接口的差异性以及数据迁出的收费等问题。尽管一些云服务提供商正在努力制定开放标准,但无服务器提供商之间的迁移仍可能涉及一些挑战。因此,亟需设计一种可以屏蔽不同serverless异构性,对链式serverless应用(链式服务器无感知应用)中的多个函数进行跨云部署以降低成本和延迟的跨云协作机制。
技术实现思路
1、本发明要解决的技术问题:针对现有技术的上述问题,提供一种链式服务器无感知应用的云际部署方法及系统,本发明旨在屏蔽不同云际节点的异构性,针对链式服务器无感知应用中的多个函数进行跨云部署以降低成本和运行延迟。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、一种链式服务器无感知应用的云际部署方法,包括下述步骤:
4、s1,获取用户提交的应用部署请求,所述应用部署请求包括链式服务器无感知应用中各个函数的代码以及包括链式关系的部署条件;
5、s2,将链式服务器无感知应用的所有函数以单个函数的形式在所有的云际节点上进行部署,函数使用的faas服务和baas服务均限定在单个云际节点上;
6、s3,采用小数据的方式批量触发链式服务器无感知应用的函数运行;
7、s4,查询函数的运行日志采集链式服务器无感知应用的运行数据;
8、s5,根据采集到的运行数据以及预设的成本模型和运行延迟模型选择最佳的部署方案。
9、可选地,步骤s2中将链式服务器无感知应用的所有函数以单个函数的形式在所有的云际节点上进行部署时包括:获取函数中针对所有云际节点的不同faas服务和baas服务的通用接口调用信息,将通用接口调用信息转换到对应云际节点的专用的faas服务和baas服务的api和sdk的调用,从而将链式服务器无感知应用的所有函数以单个函数的形式部署在所有的云际节点上。
10、可选地,步骤s3中采用小数据的方式批量触发链式服务器无感知应用的函数运行是指采用小于链式服务器无感知应用的基准测试的测试数据来批量触发链式服务器无感知应用的函数运行。
11、可选地,步骤s5中预设的成本模型的函数表达式为:
12、
13、上式中,c为总运行成本,n为链式服务器无感知应用中的函数数量,为第i个函数部署在云际节点ji上的存储成本c_si,为第i个函数部署在云际节点ji上的运行成本c_ei,为第i个函数的输出结果从云际节点ji传输到云际节点ji+1上的传输成本c_trani。
14、可选地,所述存储成本c_si、运行成本c_ei以及传输成本c_trani的函数表达式为:
15、c_si=d_sti*r_sti+1*r_opi,
16、
17、c_trani=d_sti+1*d_stouti,
18、上式中,d_sti为函数在第i个云际节点的存储数据的大小,r_sti为存储单价,r_opi为数据操作单价,ti为运行时长,mi为第i个函数的内存使用量,rmem_i为内存单价,cpui为第i个函数的cpu使用量,rcpu_i为cpu单价,为单次请求价格,d_sti+1为函数在第i+1个云际节点的存储数据的大小,d_stouti为第i个云际节点的数据流出价格。
19、可选地,步骤s5中预设的运行延迟模型的函数表达式为:
20、
21、上式中,d为总运行延迟,n为链式服务器无感知应用中的函数数量,为第i个函数部署在云际节点ji上的触发延迟,为第i个函数部署在云际节点ji上的运行延迟,为第i个函数的输出结果从云际节点ji传输到云际节点ji+1上的传输延迟,且有:
22、
23、上式中,d_sti+1为函数在第i+1个云际节点的存储数据的大小,为第i个函数的输出结果从云际节点ji传输到云际节点ji+1上的传输速度。
24、可选地,步骤s5中根据采集到的运行数据以及预设的成本模型和运行延迟模型选择最佳的部署方案时,包括基于预设的成本模型和运行延迟模型构建下式所示的指标
25、上式中,α为权重参数,为归一化的延迟,为归一化的成本,且有:
26、
27、上式中,为第i个函数部署在云际节点ji上的触发延迟,为第i个函数部署在云际节点ji上的运行延迟,为第i个函数的输出结果从云际节点ji-1传输到云际节点ji上的传输延迟,为第i个函数部署在云际节点ji上的存储成本c_si,为第i个函数部署在云际节点ji上的运行成本c_ei,为第i个函数的输出结果从云际节点ji-1传输到云际节点ji上的传输成本c_trani;结合指标采用束搜索算法查找出最佳的部署方案。
28、此外,本发明还提供一种链式服务器无感知应用的云际部署系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述链式服务器无感知应用的云际部署方法。
29、此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,该计算机程序或指令被编程或配置以通过处理器执行所述链式服务器无感知应用的云际部署方法。
30、此外,本发明还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被编程或配置以通过处理器执行所述链式服务器无感知应用的云际部署方法。
31、和现有技术相比,本发明主要具有下述优点:由于不同云际平台在性能和定价上存在一定的差异性等问题的存在使得跨云部署成为必要,本发明方法提供了一种链式服务器无感知应用的云际部署机制,包括获取用户提交的应用部署请求,包括链式服务器无感知应用中各个函数的代码以及包括链式关系的部署条件;将链式服务器无感知应用的所有函数以单个函数的形式在所有的云际节点上进行部署,函数使用的faas服务和baas服务均限定在单个云际节点上;采用小数据的方式批量触发链式服务器无感知应用的函数运行;查询函数的运行日志采集链式服务器无感知应用的运行数据;根据采集到的运行数据以及预设的成本模型和运行延迟模型选择最佳的部署方案,能够屏蔽不同云际节点的异构性,针对链式服务器无感知应用中的多个函数进行跨云部署以降低成本和运行延迟,从而有效地帮助用户选择合适的跨云部署方案。
1.一种链式服务器无感知应用的云际部署方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的链式服务器无感知应用的云际部署方法,其特征在于,步骤s2中将链式服务器无感知应用的所有函数以单个函数的形式在所有的云际节点上进行部署时包括:获取函数中针对所有云际节点的不同faas服务和baas服务的通用接口调用信息,将通用接口调用信息转换到对应云际节点的专用的faas服务和baas服务的api和sdk的调用,从而将链式服务器无感知应用的所有函数以单个函数的形式部署在所有的云际节点上。
3.根据权利要求1所述的链式服务器无感知应用的云际部署方法,其特征在于,步骤s3中采用小数据的方式批量触发链式服务器无感知应用的函数运行是指采用小于链式服务器无感知应用的基准测试的测试数据来批量触发链式服务器无感知应用的函数运行。
4.根据权利要求1所述的链式服务器无感知应用的云际部署方法,其特征在于,步骤s5中预设的成本模型的函数表达式为:
5.根据权利要求4所述的链式服务器无感知应用的云际部署方法,其特征在于,所述存储成本c_si、运行成本c_ei以及传输成本c_trani的函数表达式为:
6.根据权利要求5所述的链式服务器无感知应用的云际部署方法,其特征在于,步骤s5中预设的运行延迟模型的函数表达式为:
7.根据权利要求6所述的链式服务器无感知应用的云际部署方法,其特征在于,步骤s5中根据采集到的运行数据以及预设的成本模型和运行延迟模型选择最佳的部署方案时,包括基于预设的成本模型和运行延迟模型构建下式所示的指标
8.一种链式服务器无感知应用的云际部署系统,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~7中任意一项所述链式服务器无感知应用的云际部署方法。
9.一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,其特征在于,该计算机程序或指令被编程或配置以通过处理器执行权利要求1~7中任意一项所述链式服务器无感知应用的云际部署方法。
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被编程或配置以通过处理器执行权利要求1~7中任意一项所述链式服务器无感知应用的云际部署方法。