动态脚本生成方法、装置、设备及计算机可读存储介质与流程

文档序号:36733574发布日期:2024-01-16 12:46阅读:37来源:国知局
动态脚本生成方法、装置、设备及计算机可读存储介质与流程

本申请实施例涉及数据处理,具体涉及一种动态脚本生成方法、 装置、设备及计算机可读存储介质。


背景技术:

1、随着时代的发展,不断有新的数据库诞生,为了在软件研发或者大数据分 析的时候快速访问不同数据库的数据,国内现诞生了很多跨数据源查询的api 开放平台,帮助用户在不用搭建数据源查询环境情况下即可查到需要的数据, 同时能够承接高并发的访问,还可以将api给其他人使用,增加数据的流通性。 然而,用户如果想要创建高性能的api(application programming interface, 应用程序编程接口),就需要写出复杂的dsl(domain specific language,领 域特定语言)来对查询进行优化。

2、为了更好的辅助用户写出合适的dsl语句,目前api开放平台都会提供 一些dsl脚本模板,用户可以在脚本模板中通过参数值替换固定占位符的方 式来动态化的生成dsl语句。然而,这样生成dsl语句的灵活度较差,仅能 对脚本中的固定位置的参数值进行替换,无法生成多样化的dsl语句。


技术实现思路

1、本申请实施例提供一种动态脚本生成方法,旨在解决现有的api开放平台 所存在的无法根据用户实际需求灵活生成多样化的dsl语句的问题。

2、一方面,本申请实施例提供一种动态脚本生成方法,包括:

3、获取初始脚本,并根据所述初始脚本中的动态标签解析所述初始脚本,得 到动态标签语法树;

4、提取所述动态标签语法树中各树节点中的参数名称;

5、在预设的参数配置界面展示所述参数名称,并获取各所述参数名称对应的 输入参数值;

6、根据所述输入参数值对各所述树节点对应的脚本片段进行拼接,得到目标 脚本。

7、作为本申请的一种可选实施例,所述根据所述初始脚本中的动态标签解析 所述初始脚本,得到动态标签语法树,包括:

8、根据所述初始脚本中的动态标签对所述初始脚本进行划分,得到若干代码 片段,并确定各所述代码片段之间的层级关系以及各所述代码片段对应的标签 信息;

9、根据各所述代码片段之间的层级关系生成初始语法树;

10、将各所述代码片段及其对应的标签信息,分别与所述初始语法树中的各树 节点关联,得到动态标签语法树。

11、作为本申请的一种可选实施例,所述提取所述动态标签语法树中各树节点 中的参数名称,包括:

12、根据各所述树节点对应的标签信息获取与所述动态标签对应的参数提取 规则;

13、根据所述参数提取规则提取所述动态标签语法树中各树节点中的参数名 称。

14、作为本申请的一种可选实施例,所述根据所述输入参数值对各所述树节点 对应的脚本片段进行拼接,得到目标脚本,包括:

15、根据各所述树节点对应的标签信息设定各所述树节点对应的配置规则;

16、若所述输入参数值满足所述树节点对应的配置规则,则将所述树节点设为 目标树节点;

17、对所述目标树节点对应的脚本片段进行拼接,得到目标脚本。

18、作为本申请的一种可选实施例,所述根据权利要求1所述的动态脚本生成 方法,其特征在于,所述获取初始脚本之后,所述方法还包括:

19、根据所述初始脚本中的编写格式确定所述初始脚本对应的格式化规则;

20、根据所述格式化规则从候选标识符中确定目标标识符;

21、将所述初始脚本中的动态标签替换为目标标识符,得到替换后的脚本;

22、根据所述格式化规则对所述替换后的脚本进行格式化处理,得到格式化后 的脚本;

23、将所述格式化后的脚本中的目标标识符还原为所述动态标签,得到还原后 的脚本;

24、所述根据所述初始脚本中的动态标签解析所述初始脚本,得到动态标签语 法树的步骤,包括:

25、根据所述还原后的脚本中的动态标签解析所述还原后的脚本,得到动态标 签语法树。

26、作为本申请的一种可选实施例,所述初始脚本由基于xml格式编写的动 态标签以及基于json格式编写的静态代码组成。

27、作为本申请的一种可选实施例,所述获取初始脚本,包括:

28、响应于用户输入的检索信息,在预设脚本界面上展示与所述检索信息关联 的关联脚本;

29、响应于所述预设脚本界面上的选中指令,将与所述选中指令对应的关联脚 本设为初始脚本。

30、另一方面,本申请实施例还提供一种动态脚本生成装置,包括:

31、解析模块,用于获取初始脚本,并根据所述初始脚本中的动态标签解析所 述初始脚本,得到动态标签语法树;

32、提取模块,用于提取所述动态标签语法树中各树节点中的参数名称;

33、获取模块,用于在预设的参数配置界面展示所述参数名称,并获取各所述 参数名称对应的输入参数值;

34、生成模块,用于根据所述输入参数值对各所述树节点对应的脚本片段进行 拼接,得到目标脚本。

35、另一方面,本申请实施例还提供一种动态脚本生成设备,所述动态脚本生 成设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行 的动态脚本生成程序,所述处理器执行所述动态脚本生成程序以实现上述的动 态脚本生成方法中的步骤。

36、另一方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可 读存储介质上存储有动态脚本生成程序,所述动态脚本生成程序被处理器执行 以实现上述的动态脚本生成方法中的步骤。

37、本申请实施例提供的动态脚本生成方法,通过利用脚本中的动态标签解析 脚本得到动态标签语法树,并提取得到各树节点的参数名称,后续就可以根据 用户在参数配置界面上给此参数名称配置的参数值来完成对各树节点对应的 脚本片段的拼接,从而能够灵活多样的生成复杂的dsl脚本,提高了用户编写 复杂dsl脚本的效率。



技术特征:

1.一种动态脚本生成方法,其特征在于,包括:

2.根据权利要求1所述的动态脚本生成方法,其特征在于,所述根据所述初始脚本中的动态标签解析所述初始脚本,得到动态标签语法树,包括:

3.根据权利要求1所述的动态脚本生成方法,其特征在于,所述提取所述动态标签语法树中各树节点中的参数名称,包括:

4.根据权利要求1所述的动态脚本生成方法,其特征在于,所述根据所述输入参数值对各所述树节点对应的脚本片段进行拼接,得到目标脚本,包括:

5.根据权利要求1所述的动态脚本生成方法,其特征在于,所述获取初始脚本之后,还包括对所述初始脚本的格式化处理,所述处理方法包括:

6.根据权利要求1所述的动态脚本生成方法,其特征在于,所述初始脚本由基于xml格式编写的动态标签以及基于json格式编写的静态代码组成。

7.根据权利要求1~6任一项所述的动态脚本生成方法,其特征在于,所述获取初始脚本,包括:

8.一种动态脚本生成装置,其特征在于,包括:

9.一种动态脚本生成设备,其特征在于,所述动态脚本生成设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的动态脚本生成程序,所述处理器执行所述动态脚本生成程序以实现权利要求1至7任一项所述的动态脚本生成方法中的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有动态脚本生成程序,所述动态脚本生成程序被处理器执行以实现权利要求1至7任一项所述的动态脚本生成方法中的步骤。


技术总结
本申请实施例提供一种动态脚本生成方法、装置、设备及计算机可读存储介质,方法包括:获取初始脚本,并根据初始脚本中的动态标签解析初始脚本,得到动态标签语法树;提取动态标签语法树中各树节点中的参数名称;在预设的参数配置界面展示参数名称,并获取各参数名称对应的输入参数值;根据输入参数值对各树节点对应的脚本片段进行拼接,得到目标脚本。本申请实施例提供的动态脚本生成方法,可以自动解析脚本得到动态标签语法树,并提取得到参数名称,后续就可以根据用户配置的参数值来完成对各树节点对应的脚本片段的拼接,从而能够灵活多样的生成复杂的DSL脚本,提高了用户编写复杂DSL脚本的效率。

技术研发人员:林佳,张江威,曾彬,张文斌
受保护的技术使用者:顺丰科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1