分布式计算方法、装置、设备及存储介质制造方法及图纸

技术编号:38866221 阅读:12 留言:0更新日期:2023-09-22 14:05
本公开涉及一种分布式计算方法、装置、设备及存储介质。本公开通过获取用户在用户界面上编写的代码,并将代码解析为语法树,并根据语法树生成一个或多个逻辑执行计划。然后,针对一个或多个逻辑执行计划中的每个逻辑执行计划,根据逻辑执行计划中各个算子之间的依赖关系,对各个算子进行连接,形成逻辑执行计划对应的计算链路,并将计算链路划分为多个计算任务,并将多个计算任务分布到多个分布式计算节点上并行执行,得到针对目标数据的计算结果。当目标数据是大量数据例如大量的遥感数据时,通过本实施例所述的方法,将该大量的遥感数据的处理和分析过程分布到多个分布式计算节点上并行执行,大大提高了对该大量的遥感数据的处理与分析的效率。据的处理与分析的效率。据的处理与分析的效率。

【技术实现步骤摘要】
分布式计算方法、装置、设备及存储介质


[0001]本公开涉及信息
,尤其涉及一种分布式计算方法、装置、设备及存储介质。

技术介绍

[0002]目前,在一些应用场景中,会产生大量的数据。例如,在遥感卫星产业中,会产生大量的遥感数据。自动驾驶车辆在路测过程中,会产生大量的感知数据。
[0003]但是,由于大量数据的计算量较大,导致对大量数据的计算过程较慢,降低了对大量数据进行处理与分析的效率。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种分布式计算方法、装置、设备及存储介质,以提高对该大量的遥感数据的处理与分析的效率。
[0005]第一方面,本公开实施例提供一种分布式计算方法,包括:
[0006]获取用户在用户界面上编写的代码,所述代码用于描述针对目标数据的计算逻辑;
[0007]将所述代码解析为语法树,并根据所述语法树生成一个或多个逻辑执行计划;
[0008]针对所述一个或多个逻辑执行计划中的每个逻辑执行计划,根据所述逻辑执行计划中各个算子之间的依赖关系,对所述各个算子进行连接,形成所述逻辑执行计划对应的计算链路,并将所述计算链路划分为多个计算任务;
[0009]将所述多个计算任务分布到多个分布式计算节点上并行执行,得到针对所述目标数据的计算结果。
[0010]第二方面,本公开实施例提供一种分布式计算装置,包括:
[0011]获取模块,用于获取用户在用户界面上编写的代码,所述代码用于描述针对目标数据的计算逻辑;
[0012]解析模块,用于将所述代码解析为语法树;
[0013]生成模块,用于根据所述语法树生成一个或多个逻辑执行计划;
[0014]连接模块,用于针对所述一个或多个逻辑执行计划中的每个逻辑执行计划,根据所述逻辑执行计划中各个算子之间的依赖关系,对所述各个算子进行连接,形成所述逻辑执行计划对应的计算链路,并将所述计算链路划分为多个计算任务;
[0015]分布模块,用于将所述多个计算任务分布到多个分布式计算节点上并行执行,得到针对所述目标数据的计算结果。
[0016]第三方面,本公开实施例提供一种电子设备,包括:
[0017]存储器;
[0018]处理器;以及
[0019]计算机程序;
[0020]其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
[0021]第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
[0022]本公开实施例提供的分布式计算方法、装置、设备及存储介质,通过获取用户在用户界面上编写的代码,并将代码解析为语法树,并根据语法树生成一个或多个逻辑执行计划。然后,针对一个或多个逻辑执行计划中的每个逻辑执行计划,根据逻辑执行计划中各个算子之间的依赖关系,对各个算子进行连接,形成逻辑执行计划对应的计算链路,并将计算链路划分为多个计算任务,并将多个计算任务分布到多个分布式计算节点上并行执行,得到针对目标数据的计算结果。当目标数据是大量数据例如大量的遥感数据时,通过本实施例所述的方法,可以将该大量的遥感数据的处理和分析过程分布到多个分布式计算节点上并行执行,大大提高了对该大量的遥感数据的处理与分析的效率。
附图说明
[0023]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0024]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本公开实施例提供的分布式计算方法流程图;
[0026]图2为本公开实施例提供的应用场景的示意图;
[0027]图3为本公开实施例提供的应用场景的示意图;
[0028]图4为本公开实施例提供的应用场景的示意图;
[0029]图5为本公开另一实施例提供的整个系统的基础架构图;
[0030]图6为本公开实施例提供的分布式计算装置的结构示意图;
[0031]图7为本公开实施例提供的电子设备实施例的结构示意图。
具体实施方式
[0032]为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0033]在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0034]需要说明的是,本申请所涉及的用户代码(包括但不限于用户在用户界面上编写的代码、或者用户通过软件开发工具编写的代码等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
[0035]另外,本申请提供的分布式计算方法会涉及到如下的几个术语解释,详细内容如下:
[0036]ECI:弹性容器实例(Elastic Container Instance)是敏捷安全的无服务器(Serverless)容器运行服务。无需管理底层服务器,只需要提供打包好的镜像,即可运行容器。
[0037]Serverless,又叫无服务器。Serverless强调的是一种架构思想和服务模型,让开发者无需关心基础设施(服务器等),而是专注到应用程序业务逻辑上。Serverless也是下一代计算引擎。
[0038]STAC:时空资产目录(Spatio Temporal Asset Catalog,STAC)系列规范旨在标准化地理空间资产元数据的结构化和查询方式,是表示某个地点和时间的地球信息的任何文件。
[0039]分布式:分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。
[0040]Spark:是一种基于内存、通用、可扩展的分布式大数据计算引擎框架。
[0041]遥感:是指非接触的,远距离的探测技术,一般指运用传感器、遥感器对物体的电磁波的辐射和反射特性的探测。
[0042]RDD:是弹性分布式数据集,RDD是Resilient Distributed Dataset的首字母缩写。
[0043]Kyuubi:是一个分布式和多租户网关,为数据湖查询引擎(例如Spark)提供SQL和代码等查询服务。
[0044]数据湖:是数据集中存储的地方,例如数据存储空间。
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式计算方法,其中,所述方法包括:获取用户在用户界面上编写的代码,所述代码用于描述针对目标数据的计算逻辑;将所述代码解析为语法树,并根据所述语法树生成一个或多个逻辑执行计划;针对所述一个或多个逻辑执行计划中的每个逻辑执行计划,根据所述逻辑执行计划中各个算子之间的依赖关系,对所述各个算子进行连接,形成所述逻辑执行计划对应的计算链路,并将所述计算链路划分为多个计算任务;将所述多个计算任务分布到多个分布式计算节点上并行执行,得到针对所述目标数据的计算结果。2.根据权利要求1所述的方法,其中,将所述多个计算任务分布到多个分布式计算节点上并行执行之后,所述方法还包括:若所述计算任务的数量大于预设阈值,则增加所述分布式计算节点的个数;若所述分布式计算节点处于空闲状态的时长大于或等于预设时长,则回收所述分布式计算节点的计算资源。3.根据权利要求1所述的方法,其中,将所述代码解析为语法树,包括:将所述代码中每个部分的输入、输出和操作抽象出来;利用预设的数据结构将所述每个部分的输入、输出和操作编排成所述语法树。4.根据权利要求1所述的方法,其中,根据所述语法树生成一个或多个逻辑执行计划,包括:若针对所述目标数据的计算类型是在线计算,则将所述目标数据拆分为多个子数据;根据每个子数据在所述目标数据中所处的位置,生成所述每个子数据分别对应的逻辑执行计划。5.根据权利要求4所述的方法,其中,将所述多个计算任务分布到多个分布式计算节点上并行执行,得到针对所述目标数据的计算结果,包括:针对所述每个子数据分别对应的逻辑执行计划,将所述逻辑执行计划对应的多个计算任务分布到多个分布式计算节点上并行执行,得到所述每个子数据分别对应的计算结果;根据所述每个子数据分别对应的计算结果...

【专利技术属性】
技术研发人员:魏曦明满远斌
申请(专利权)人:阿里巴巴达摩院杭州科技有限公司
类型:发明
国别省市:

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

1