本说明书一个或多个实施例提供一种脚本生成方法、系统、设备及存储介质。所述方法包括:响应于场景模型发布请求,获取用户在数据平台中编排好的场景模型;所述场景模型包括至少一个算子,任意一个算子被配置有满足场景模型的处理逻辑的表达式;根据用于处理所述场景模型的计算引擎,调用适配的转译程序对所述表达式进行转译处理,生成能够在所述场景模型的计算引擎中执行的脚本。本实施例实现用户可以在数据平台上基于统一的建模体验以及实际场景需要来构建不同的场景模型,进而由数据平台按照上述方法进行转译即可,有利于用户快速掌握不同场景模型的开发,降低数据平台的使用门槛。槛。槛。
【技术实现步骤摘要】
脚本生成方法、系统、设备及存储介质
[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]所述指定计算引擎被注册有作为函数调用入口的代理函数;
[0026]所述对于所述表达式语法树中的各个元素,调用与所述场景模型的计算引擎适配的转译程序对该元素进行转译处理,包括:
[0027]若所述场景模型为在线模型或实时模型,对于所述表达式语法树中的任一函数,将所述函数转化为所述代理函数对应的脚本;所述代理函数对应的脚本包括至少一个参数,所述至少一个参数至少包括第一参数,所述第一参数指示待调用的函数,除所述第一参数之外的其他参数指示待调用的函数的入参。
[0028]可选的,任一函数在所述数据平台中的函数程序包还包括所述函数的执行程序;
[0029]所述方法还包括:
[0030]在将所述场景模型的脚本发送给所述指定计算引擎之后,在执行所述代理函数对应的脚本的过程中,由所述指定计算引擎根据所述第一参数加载所述函数的函数程序包以创建函数实例,将除所述第一参数之外的其他参数作为所述函数实例中的执行程序的入参,调用函数实例中的执行程序执行所述函数,以获得函数的执行结果。
[0031]可选的,所述用户在数据平台中编排好的场景模型以预设数据交换格式获取;
[0032]在所述对所述场景模型中的表达式进行解析,生成表达式语法树之前,还包括:
[0033]对以预设数据交换格式获取的场景模型中的表达式的内容进行校验和数据类型转换;
[0034]对转换后的表达式进行合法性校验;
[0035]所述对所述场景模型中的表达式进行解析,生成表达式语法树,包括:
[0036]在合法性校验通过的情况下,对转换后的表达式进行解析,生成表达式语法树。
[0037]根据本说明书一个或多个实施例的第二方面,提出了一种脚本生成系统,包括数据平台和至少一个计算引擎;所述数据平台用于执行第一方面任意一项所述的方法。
[0038]根据本公开实施例的第三方面,提供一种电子设备,包括:
[0039]处理器;
[0040]用于存储处理器可执行指令的存储器;
[0041]其中,所述处理器执行所述可执行指令时,用于实现第一方面所述的方法。
[0042]根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
[0043]本公开的实施例提供的技术方案可以包括以下有益效果:
[0044]本公开实施例中,数据平台响应于场景模型发布请求,可以获取用户在数据平台中编排好的场景模型;所述场景模型包括至少一个算子,任意一个算子被配置有满足所述场景模型的处理逻辑的表达式;然后根据用于处理所述场景模型的计算引擎,调用适配的转译程序对所述表达式进行转译处理,生成能够在所述场景模型的计算引擎中执行的脚本。本实施例实本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种脚本生成方法,包括:响应于场景模型发布请求,获取用户在数据平台中编排好的场景模型;所述场景模型包括至少一个算子,任意一个算子被配置有满足所述场景模型的处理逻辑的表达式;根据用于处理所述场景模型的计算引擎,调用适配的转译程序对所述表达式进行转译处理,生成能够在所述场景模型的计算引擎中执行的脚本。2.根据权利要求1所述的方法,所述根据用于处理所述场景模型的计算引擎,调用适配的转译程序对所述表达式进行转译处理,包括:对所述场景模型中的表达式进行解析,生成表达式语法树;根据用于处理所述场景模型的计算引擎,调用适配的转译程序对所述表达式语法树进行转译处理。3.根据权利要求1或2所述的方法,所述场景模型包括实时模型、在线模型和离线模型中的至少一种;用于处理不同种类的场景模型的计算引擎不同。4.根据权利要求2所述的方法,所述表达式语法树中的各个元素被预先配置有适配于不同计算引擎的不同转译程序;所述根据用于处理所述场景模型的计算引擎,调用适配的转译程序对所述表达式语法树进行转译处理,生成能够在所述场景模型的计算引擎中执行的脚本,包括:对于所述表达式语法树中的各个元素,调用与所述场景模型的计算引擎适配的转译程序对该元素进行转译处理;在遍历完所有表达式语法树中的所有元素之后,得到能够在所述场景模型的计算引擎中执行的脚本。5.根据权利要求4所述的方法,所述表达式语法树中的元素包括以下至少一种:函数、常量、变量、字段、关键字和运算符;所述函数用于提供原子功能;其中,任一函数是以插件形式注册到所述数据平台中的,任一函数在所述数据平台中对应有函数程序包,任一函数的函数程序包包括所述函数适配于不同计算引擎的不同转译程序;所述对于所述表达式语法树中的各个元素,调用与所述场景模型的计算引擎适配的转译程序对该元素进行转译处理,包括:对于所述表达式语法树中的任一函数,加载所述函数的函数程序包以创建函数实例,并调用函数实例中的与所述场景模型的计算引擎适配的转译程序对该函数进行转译处理,生成该函数对应的脚本。6.根据权利要求5所述的方法,同一函数的多个版本能够共同存储在所述数据平台中;若在数据平台中发布的多个场景模型的表达式中均包含同一函数、且该函数在数据平台中存储有多个版本,则所述多个场景模型中的任意一个场景模...
【专利技术属性】
技术研发人员:詹国胜,张成廷,代伟超,
申请(专利权)人:阿里云计算有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。