当前位置: 首页 > 专利查询>天津大学专利>正文

一种基于Serverless技术的数值计算方法技术

技术编号:37868365 阅读:16 留言:0更新日期:2023-06-15 20:57
本发明专利技术公开了一种基于Serverless技术的数值计算方法,属于云计算技术领域;本发明专利技术基于Serverless技术,构建了在线科学计算平台以及与平台相匹配的科学计算方法,结合云计算能力和丰富的函数库,使用户可以更简单、更快速的编写和运行数值计算。用户将使用python进行代码开发。用户可以使用完全线上的平台服务,编写自己的主程序,调用丰富的函数库,定义自己的函数库,进行更简单,方便的在线数值计算。方便的在线数值计算。方便的在线数值计算。

【技术实现步骤摘要】
一种基于Serverless技术的数值计算方法


[0001]本专利技术涉及云计算
,具体为一种基于Serverless技术的数值计算方法。

技术介绍

[0002]科学计算是指利用计算机来进行数学建模和数值计算,从而得到预测、分析、优化等方面的结果。它通常涉及到数值方法、数据分析、统计学、机器学习等多个学科领域。科学计算的几个特点如下:
[0003]1)大规模数据处理:科学计算通常需要处理大规模的数据集,这些数据集可能包含数百万或数十亿个数据点。因此,科学计算需要使用高效的算法和数据结构来加速数据处理和分析,以提高计算效率和精度。
[0004]2)多维数据分析:科学计算通常涉及到多维数据分析,例如图像处理、信号处理、三维建模等。这些问题需要使用高维数据结构和算法来处理,并且需要使用高效的数据可视化技术来展示结果。
[0005]3)高精度计算:科学计算通常需要高精度计算,以获得更准确的结果。例如,在数值模拟中,误差可能会随着时间的推移而累积,因此需要使用高精度算法和数据类型来确保计算的精度和稳定性。
[0006]4)大规模并行计算:科学计算通常需要使用大规模并行计算技术,以充分利用高性能计算资源和多核处理器的优势。这些技术可以将计算任务分解成多个子任务,并将其分配给多个计算节点或处理器来同时处理。
[0007]5)软件生态系统:科学计算需要使用各种软件工具和库,例如数值库、模拟工具、数据分析工具等。这些工具和库需要互相配合,以实现复杂的计算任务。因此,科学计算通常需要使用成熟的软件生态系统来提供支持和便利。
[0008]总之,科学计算的这些特点要求其需要使用高效的算法和数据结构、高性能计算技术、丰富的软件工具和库,以满足各种复杂的计算任务。基于科学计算技术,科学计算软件便应运而生。
[0009]科学计算软件是一种专门用于科学计算、工程计算、数据分析、统计学分析等领域的计算机软件。这些软件通常提供了一系列的数值算法、数学函数、统计分析工具、可视化工具等,以便用户能够进行各种复杂的数学计算和数据分析。目前较流行的科学计算软件有:
[0010]1)MATLAB[4]:由MathWorks公司开发的一款数学计算软件,它主要用于科学计算、数据分析、控制设计、信号处理、图像处理、机器学习等领域。
[0011]2)Mathematica[5]:由Wolfram Research公司开发的一款综合性科学计算软件,它提供了符号计算、数值计算、图形绘制、数据分析、模拟建模等功能。
[0012]3)Maple[6]:由加拿大Waterloo Maple公司开发的一款符号计算软件,它支持代数、微积分、线性代数、微分方程、图形绘制等功能。
[0013]在众多数值计算软件中,MATLAB是最具代表性的软件之一,它在数值计算方面首
屈一指,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。但是MATLAB在某些方面的缺点也是较为明显的:
[0014]1)昂贵的许可证:MATLAB的许可证价格相对较高,这对于个人用户和小型企业可能是一个负担。此外,MATLAB的许可证也限制了用户在多台计算机上使用。
[0015]2)硬件依赖性:MATLAB通常需要高性能的计算机和显卡来实现较高的计算性能。这对于低端计算机和移动设备来说是一个限制。
[0016]3)缺乏可扩展性:MATLAB是一个基于单机的软件,可扩展性有限,不利于分布式计算和集群计算。这会限制MATLAB在大规模数据处理和计算方面的能力。
[0017]4)闭源:MATLAB是一个闭源软件,其源代码不公开,因此用户不能直接修改和定制其功能。这在一定程度上会限制用户在特定应用领域中的灵活性。
[0018]Serverless是一种应用的部署和执行模型,旨在让开发者无需关注底层的服务器和软件栈等计算资源,轻松部署和运行自己的应用。Serverless服务提供商接管了几乎所有的管理工作,使得该服务对用户来说更容易使用。函数即服务(FaaS,Function as a Service)是Serverless计算的核心,具体表现为云函数的形式。2014年11月13日,AWS发布了产品AWS Lambda。AWS Lambda是一个事件驱动的Serverless计算平台,提供了云函数形式的计算服务。在接下来的几年内,各大云厂商相继推出了自己的FaaS产品。如Microsoft Azure Functions,Google Cloud Functions,IBM Cloud Functions和阿里云函数计算等。得益于其易用性和弹性执行的特性,FaaS产品近几年在工业界逐渐流行起来。
[0019]FaaS与传统的基础设施即服务(Infrastructure

as

a

Service,IaaS)和平台即服务(Platform

as

a

Service,PaaS)有着明显的不同,在许多方面具备更大的优势:
[0020]1)易用性:用户只需要上传函数代码,无需关心底层的服务器和基础设施。这极大地简化了应用程序的开发和部署,使开发人员能够更专注于业务逻辑和代码编写。
[0021]2)事件驱动的编程模型:FaaS采用事件驱动的编程模型,当有事件触发时,FaaS会自动调用相应的函数执行任务。这种编程模型有助于减少资源浪费和成本,只有在需要时才会使用计算资源。
[0022]3)高度可扩展性:FaaS具有高度可扩展性,可以根据需要自动缩放,动态分配计算资源。这意味着应用程序可以快速响应高峰期的需求,而不必为了应对预计的负载而过度投资。
[0023]4)服务的可组合性:FaaS允许开发人员将不同的函数组合成更复杂的服务,以满足特定的业务需求,使得应用程序更加灵活。
[0024]基于上述内容,本专利技术提出一种基于Serverless技术的数值计算方法以解决现有科学计算软件使用繁琐,计算性能受制于单机硬件条件以及使用代价昂贵的问题。

技术实现思路

[0025]1、本专利技术要解决的技术问题
[0026]本专利技术的目的在于提出一种基于Serverless技术的数值计算方法以解决现有科学计算软件使用繁琐,计算性能受制于单机硬件条件以及使用代价昂贵的问题,利用Serverless技术,提供一个易用和高效的科学计算平台,简化科学计算的使用过程,降低用户的使用成本。
[0027]2、技术方案
[0028]为实现上述目的,本专利技术提供如下技术方案:
[0029]一种基于Serverless技术的数值计算方法,基于Serverless技术,使用python开发一个科学计算平台,完成在线数值计算工作;所述平台具体包括如下功能模块:
[0030]①
用户文件管理及代码上云模块:实现用户在不需要本地储存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Serverless技术的数值计算方法,其特征在于,基于Serverless技术,使用python开发一个科学计算平台,完成在线数值计算工作;所述平台具体包括如下功能模块:

用户文件管理及代码上云模块:实现用户在不需要本地储存的情况下创建计算项目,通过线上编辑界面进行在线代码编辑、上传、保存和运行;

分布式函数调用模块:实现在主程序内对其他云函数的调用工作,使用平台预设SDK,并根据说明文档传入函数所需参数,完成一次分布式函数的调用;

参数传递与解析模块:远程过程调用的参数传递过程中,将用户调用云函数的伪代码根据模板代码转换成真实有效的调用云函数的代码;

自定义云函数模块:用户针对主函数的需求编写自定义的云函数,在自己的项目中使用平台提供的SDK完成调用自己实现的自定义云函数;将用户自定义的云函数作为独立的云上运行模块,经过用户部署实现随时调用;所述方法具体包括以下内容:S1、用户在平台上编写好代码后,选择需要运行的代码文件,将选择的代码文件作为调用运行的主程序,代码文件所在的项目作为这一次运行使用的项目,开始计算过程;S2、平台根据用户选定文件的属性判断用户的代码是否有改动,如果代码文件没有改动,则转至S6,否则进入S3;S3、平台将用户的主程序当作一个云函数,对用户主程序的代码进行解释,以实现云函数的部署和调用;S4、借助云存储对用户的代码和数据进行存储,平台将S3中修改后的用户代码上传至云存储;S5、平台依据云储存上的代码对应部署用户的程序;S6、运行用户程序,所述用户程序运行在一个安全容器中,所述安全容器的搭建依赖于S3平台代码插入中加入的自定义库;S7、返回用户程序的数值运算结果和程序运行产生的变量信息,在平台上展示程序执行的变量以及输出结果,运算结束。2.根据权利要求1所述的一种基于Serverless技术的数值计算方法,其特征在于,所述用户文件管理及代码上云模块具...

【专利技术属性】
技术研发人员:赵来平邓衍李克秋陈奕池张宇杭杜宇轩朱铭辉
申请(专利权)人:天津大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1