CN112083919B - 一种基于yaml模板的目标服务代码生成方法及装置 - Google Patents

一种基于yaml模板的目标服务代码生成方法及装置 Download PDF

Info

Publication number
CN112083919B
CN112083919B CN202010879404.8A CN202010879404A CN112083919B CN 112083919 B CN112083919 B CN 112083919B CN 202010879404 A CN202010879404 A CN 202010879404A CN 112083919 B CN112083919 B CN 112083919B
Authority
CN
China
Prior art keywords
target service
code
yaml
template
grammar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010879404.8A
Other languages
English (en)
Other versions
CN112083919A (zh
Inventor
陈启明
李芳�
张驰荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanguang Software Co Ltd
Original Assignee
Yuanguang Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yuanguang Software Co Ltd filed Critical Yuanguang Software Co Ltd
Priority to CN202010879404.8A priority Critical patent/CN112083919B/zh
Publication of CN112083919A publication Critical patent/CN112083919A/zh
Application granted granted Critical
Publication of CN112083919B publication Critical patent/CN112083919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于YAML模板的目标服务代码生成方法及装置,属于计算机软件应用开发技术领域,解决了现有的YAML模板编写困难且错误排查不易造成的目标服务编排效率较低的问题。方法包括:将包含目标服务编排要素的YAML模板加载至编辑器,编辑器包括设计视图单元和代码视图单元;基于设计视图单元获取编排要素对应的目标服务运行参数,并将目标服务运行参数保存至数据库;代码视图单元基于YAML模板生成目标服务对应的脚本框架,并从数据库获取脚本框架中编排要素对应的目标服务运行参数,得到目标服务的程序代码。实现了YAML模板的快速编写,提高了目标服务的编排效率。

Description

一种基于YAML模板的目标服务代码生成方法及装置
技术领域
本发明涉及计算机软件应用开发技术领域,尤其涉及一种基于YAML模板的目标服务代码生成方法及装置。
背景技术
Kubernetes是Google开源的容器编排调度引擎,它提供一个规范、可以用来描述集群的架构,定义服务的最终状态,kubernetes可以将系统自动维持在这个状态。可见kubernetes的service天生就适合微服务。Kubernetes的开发人员可以通过编写YAML模板并对YAML模板进行直接编辑,以实现目标服务的编排,但YAML是用于表达数据序列化的格式,由于数据格式使用递归缩进,导致模板编写困难、格式出现错误排查不易,同时,YAML模板对于非技术人员不友好,在没有培训的情况下,无法直接上手。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于YAML模板的目标服务代码生成方法及装置,用以解决现有的YAML模板编写困难且错误排查不易造成的目标服务编排效率较低的问题。
一方面,本发明实施例提供了一种基于YAML模板的目标服务代码生成方法,包括如下步骤:
将包含目标服务编排要素的YAML模板加载至编辑器,所述编辑器包括设计视图单元和代码视图单元;
基于所述设计视图单元获取编排要素对应的目标服务运行参数,并将所述目标服务运行参数保存至数据库;
所述代码视图单元基于YAML模板生成目标服务对应的脚本框架,并从数据库获取对应所述脚本框架中编排要素的目标服务运行参数,得到目标服务的程序代码,所述目标服务的程序代码即为目标服务对应应用程序的模板代码。
进一步,基于所述设计视图单元获取编排要素对应的目标服务运行参数,包括如下步骤:
获取所述YAML模板中的编排要素,所述编排要素包括端口名称、系统名称及启动参数;
基于所述编排要素动态生成要素编辑框;
基于所述要素编辑框获取编排要素对应的目标服务运行参数。
进一步,获取所述YAML模板中的编排要素,包括下述步骤:
将加载至编辑器中YAML模板的编排要素存储至数据库;
基于设计视图单元新增获得存储至数据库中的所述YAML模板中的编排要素。
进一步,所述代码视图单元还通过调用Monaco插件实现脚本框架的语法检查及智能语法提示;其中,基于调用所述Monaco插件实现脚本框架的语法检查,包括下述步骤:
获取所述脚本框架中代码缩进类型,所述代码缩进类型包括空格缩进和tab缩进;
若所述代码缩进类型为空格缩进,则语法正确,若所述代码缩进类型为tab缩进,则语法错误。
进一步,基于所述Monaco插件实现脚本框架的智能语法提示,包括下述步骤:
基于Monaco插件中的格式检查规则对所述脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记所述存在格式错误的程序代码;
获取标记位置处存在格式错误的程序代码对应的格式错误说明,实现智能语法提示。
另一方面,本发明实施例提供了一种基于YAML模板的目标服务代码生成装置,包括:
加载模块,用于将包含目标服务编排要素的YAML模板加载至编辑器,所述编辑器包括设计视图单元和代码视图单元;
参数获取模块,用于基于所述设计视图单元获取编排要素对应的目标服务运行参数,并将所述目标服务运行参数保存至数据库;
目标服务代码生成模块,用于根据所述YAML模板生成目标服务对应的脚本框架,并从数据库获取对应所述脚本框架中编排要素的目标服务运行参数,得到目标服务的程序代码,所述目标服务的程序代码即为目标服务对应应用程序的模板代码。
进一步,所述参数获取模块执行如下流程:
获取所述YAML模板中的编排要素,所述编排要素包括端口名称、系统名称及启动参数;
基于所述编排要素动态生成要素编辑框;
基于所述要素编辑框获取编排要素对应的目标服务运行参数。
进一步,获取所述YAML模板中的编排要素,包括下述步骤:
将加载至编辑器中YAML模板的编排要素存储至数据库;
基于设计视图单元新增获得存储至数据库中的所述YAML模板中的编排要素。
进一步,所述代码视图单元还通过调用Monaco插件实现脚本框架的语法检查及智能语法提示;其中,基于调用所述Monaco插件实现脚本框架的语法检查,包括下述步骤:
获取所述脚本框架中代码缩进类型,所述代码缩进类型包括空格缩进和tab缩进;
若所述代码缩进类型为空格缩进,则语法正确,若所述代码缩进类型为tab缩进,则语法错误。
进一步,基于所述Monaco插件实现脚本框架的智能语法提示,包括下述步骤:
基于Monaco插件中的格式检查规则对所述脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记所述存在格式错误的程序代码;
获取标记位置处存在格式错误的程序代码对应的格式错误说明,实现智能语法提示。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、一种基于YAML模板的目标服务代码生成方法,基于MonacoEditor编辑器中的设计视图单元获取编排要素对应的目标服务运行参数并保存至数据库,MonacoEditor编辑器中的代码设计单元根据YAML模板生成目标服务对应的脚本框架,并获取脚本框架中编排要素对应的目标服务运行参数,得到目标服务的程序代码,实现了YAML模板的编辑,提高了YAML模板的编辑效率。同时,代码设计单元还通过调用Monaco插件对YAML模板进行多项检查,提高了目标程序代码的准确性和安全性,简单易行,易于实施,具有较高的实用价值。
2、通过MonacoEditor编辑器中的设计视图单元,实现了YAML模板中编排要素对应的目标服务运行参数的获取,解决了现有的YAML模板编写困难、且非技术人员在没有培训的情况下无法直接上手的问题,简单易行,易于实施,实现了YAML模板的编辑,提高了YAML模板的编辑效率。
3、通过Monaco插件实现了目标程序对应的脚本框架的语法检查及智能语法提示功能,解决了现有YAML模板中的数据使用递归缩进导致对YAML模板格式及语法错误排查不易造成的目标服务代码安全性较低的问题,提高了目标服务对应应用程序代码的安全性能。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为基于YAML模板的目标服务代码生成方法流程图;
图2为基于YAML模板的目标服务代码生成装置结构图;
附图标记:
100-加载模块,200-参数获取模块,300-目标服务代码生成模块。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
Kubernetes的开发人员能够通过编写YAML模板并对YAML模板进行直接编辑,以实现目标服务的编排,但YAML是用于表达数据序列化的格式,由于数据格式使用递归缩进,导致模板编写困难、格式出现错误排查不易,同时,YAML模板对于非技术人员不友好,在没有培训的情况下,无法直接上手。为此,本申请提出一种基于YAML模板的目标服务代码生成方法及装置,首先将包含目标服务编排要素的YAML模板加载至MonacoEditor编辑器,并基于MonacoEditor编辑器中的设计视图单元获取编排要素对应的目标服务运行参数并保存至数据库,MonacoEditor编辑器中的代码设计单元根据YAML模板生成目标服务对应的脚本框架,并获取脚本框架中编排要素对应的目标服务运行参数,得到目标服务的程序代码,目标服务的程序代码即为目标服务对应应用程序的模板代码。同时,代码设计单元还可以对通过调用Monaco插件对YAML模板进行检查,提高目标程序代码的准确性和安全性。
本发明的一个具体实施例,公开了一种基于YAML模板的目标服务代码生成方法,如图1所示。包括如下步骤S1~S3。
步骤S1、将包含目标服务编排要素的YAML模板加载至编辑器,编辑器包括设计视图单元和代码视图单元。具体来说,本申请中编辑器是MonacoEditor编辑器,MonacoEditor编辑器是基于浏览器的代码编辑器,包括设计视图单元和代码视图单元,其中,,设计视图单元和代码视图单元内容的保持一致,设计视图单元是主要是获取YAML模板中编排要素对应的目标服务运行参数,代码视图单元主要是获取YAML模板的脚本框架,最终得到目标服务的程序代码。本申请中的YAML模板为Kubernetes的业界标准模板,其格式固定,对所有目标服务的编排部署均适用,由kubernetes社区提供,同时,只要获取该模板中相应编排要素对应的目标服务运行参数,就能够实现目标服务的编排,其中,编排要素指需要部署编排的目标服务的重要属性,比如端口名称,内存,启动参数、系统名称、容器镜像等。
步骤S2、基于设计视图单元获取编排要素对应的目标服务运行参数,并将目标服务运行参数保存至数据库。具体来说,设计视图单元主要根据YAML模板获取编排要素,并根据用户或开发人员输入获取编排要素对应的目标服务运行参数。
优选地,基于设计视图单元获取编排要素对应的目标服务运行参数,包括如下步骤:
获取YAML模板中的编排要素,编排要素包括端口名称、系统名称及启动参数。详细地,MonacoEditor编辑器加载YAML模板之后,将YAML模板的编排要素实例化存储至数据库,接着,通过设计视图单元中的新增图标动态添加以获取存储至数据库中的编排要素;
基于编排要素动态生成要素编辑框;
基于要素编辑框获取编排要素对应的目标服务运行参数。
具体来说,设计视图单元通过新增获取YAML模板中的编排要素后,单击编排要素,在界面上动态生成对应的要素编辑框,用户可在该要素编辑框中输入编排要素对应的目标服务运行参数,实现对YAML模板的编辑功能。
通过MonacoEditor编辑器中的设计视图单元,实现了YAML模板中编排要素对应的目标服务运行参数的获取,解决了现有的YAML模板编写困难、且非技术人员在没有培训的情况下无法直接上手的问题,简单易行,易于实施,实现了YAML模板的编辑,提高了YAML模板的编辑效率。
步骤S3、代码视图单元基于YAML模板生成目标服务对应的脚本框架,并从数据库获取脚本框架中编排要素对应的目标服务运行参数,得到目标服务的程序代码,目标服务的程序代码即为目标服务对应应用程序的模板代码。具体来说,MonacoEditor编辑器中的代码视图单元能够根据加载的YAML模板得到目标服务对应的脚本框架,脚本框架中编排元素对应的目标服务运行参数可以从数据库获取,也可以基于用户或开发人员输入获取,使得目标服务对应的脚本框架趋于完整,实现了目标服务的编排。获得的包含编排元素对应的目标服务运行参数的脚本框架则为目标服务的程序代码,目标服务的程序代码就是目标服务对应应用程序的模板代码。
MonacoEditor编辑器中的代码视图单元除了可以获得目标服务的程序代码外,还可以通过调用Monaco插件对脚本框架中的代码进行检查,其中,检查包括语法检查、智能语法提示、代码格式化、枚举值提示、字段说明、值含义说明等。代码格式化是在代码视图单元根据YAML模板获取脚本框架的过程中,依据Monaco插件中的内置规则将YAML模板中的代码格式转化为MonacoEditor编辑器的格式,为后期调用Monaco插件进行其他检查提供了便利。由于YAML语法格式要求比较严格,错误的类型的枚举值会导致服务错误,通过Monaco插件中的枚举值提示功能能够分析目标服务类型,比如目标服务是数据库服务还是应用服务,并将不同服务类型对应的数据保持至数据库,用户在输入编排要素对应的目标服务运行参数时可直接选择相应服务对应的数据即可。
优选地,代码视图单元还通过调用Monaco插件实现脚本框架的语法检查及智能语法提示;其中,基于调用Monaco插件实现脚本框架的语法检查,包括下述步骤:
获取脚本框架中代码缩进类型,代码缩进类型包括空格缩进和tab缩进;
若代码缩进类型为空格缩进,则语法正确,若代码缩进类型为tab缩进,则语法错误。
考虑到现有YAML模板中的数据使用递归缩进,导致对YAML模板格式及语法错误排查不易,造成目标服务代码安全性较低的问题,为此,本申请通过MonacoEditor编辑器中的代码视图单元调用Monaco插件,以实现脚本框架的语法检查及智能语法提示功能,提高目标服务代码的安全性。其中,对脚本框架的语法检查中,首先Monaco插件获取脚本框架中代码缩进类型并对类型进行判断,若代码缩进类型为tab缩进,则相应代码处存在语法错误,用户或者开发人员可对存在语法错误处的代码进行修改以得到正确的代码。
优选地,基于Monaco插件实现脚本框架的智能语法提示,包括下述步骤:
基于Monaco插件中的格式检查规则对脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记存在格式错误的程序代码;
获取标记位置处存在格式错误的程序代码对应的格式错误说明,实现智能语法提示。
Monaco插件还能够实现脚本框架的智能语法提示功能,具体是:首先根据Monaco插件中内置的格式检查规则对脚本框架进行格式检查,将存在格式错误的程序代码标记为红色,并提供详细的格式错误说明,当用户或开发人员将光标移动至标红位置的代码处,在相应位置自动显示代码的详细格式错误说明,用户或者开发人员可根据详细的格式错误说明对存在语法错误处的代码进行修改以得到正确的代码,实现智能语法提示功能。通过Monaco插件实现了目标程序对应脚本框架的语法检查及智能语法提示功能,解决了现有YAML模板中的数据使用递归缩进导致对YAML模板格式及语法错误排查不易,造成的目标服务代码安全性较低的问题,提高了目标服务对应应用程序代码的安全性能。
与现有技术相比,本实施例提供的基于YAML模板的目标服务代码生成方法,基于MonacoEditor编辑器中的设计视图单元获取编排要素对应的目标服务运行参数并保存至数据库,MonacoEditor编辑器中的代码设计单元根据YAML模板生成目标服务对应的脚本框架,并获取对应脚本框架中编排要素的目标服务运行参数,得到目标服务的程序代码,实现了YAML模板的编辑,提高了YAML模板的编辑效率。同时,代码设计单元还通过调用Monaco插件对YAML模板进行多项检查,提高了目标程序代码的准确性和安全性,简单易行,易于实施,具有较高的实用价值。
本发明的另一个具体实施例,公开了一种基于YAML模板的目标服务代码生成装置,如图2所示。基于YAML模板的目标服务代码生成装置和前文的基于YAML模板的目标服务代码生成方法采用相同的发明构思,可以解决相同的技术问题并达到相同的技术效果。下文仅对基于YAML模板的目标服务代码生成装置组成做介绍。
加载模块100,用于将包含目标服务编排要素的YAML模板加载至编辑器,编辑器包括设计视图单元和代码视图单元;
参数获取模块200,用于基于设计视图单元获取编排要素对应的目标服务运行参数,并将目标服务运行参数保存至数据库;
目标服务代码生成模块300,用于根据YAML模板生成目标服务对应的脚本框架,并从数据库获取对应脚本框架中编排要素的目标服务运行参数,得到目标服务的程序代码,目标服务的程序代码即为目标服务对应应用程序的模板代码。
一种基于YAML模板的目标服务代码生成装置,通过参数获取模块获取编排要素对应的目标服务运行参数并保存至数据库,通过目标服务代码生成模块生成目标服务对应的脚本框架,并获取对应脚本框架中编排要素的目标服务运行参数,得到目标服务的程序代码,实现了YAML模板的编辑,提高了YAML模板的编辑效率。同时,编辑器中的代码设计单元还通过调用Monaco插件对YAML模板进行多项检查,提高了目标程序代码的准确性和安全性,简单易行,易于实施,具有较高的实用价值。
优选地,参数获取模块执行如下流程:
获取YAML模板中的编排要素,编排要素包括端口名称、系统名称及启动参数;
基于编排要素动态生成要素编辑框;
基于要素编辑框获取编排要素对应的目标服务运行参数。
优选地,获取YAML模板中的编排要素,包括下述步骤:
将加载至编辑器中YAML模板的编排要素存储至数据库;
基于设计视图单元新增获得存储至数据库中的所述YAML模板中的编排要素。
通过参数获取模块,实现了YAML模板中编排要素对应的目标服务运行参数的获取,解决了现有的YAML模板编写困难、且非技术人员在没有培训的情况下无法直接上手的问题,简单易行,易于实施,实现了YAML模板的编辑,提高了YAML模板的编辑效率。
优选地,代码视图单元还通过调用Monaco插件实现脚本框架的语法检查及智能语法提示;其中,基于调用Monaco插件实现脚本框架的语法检查,包括下述步骤:
获取脚本框架中代码缩进类型,代码缩进类型包括空格缩进和tab缩进;
若代码缩进类型为空格缩进,则语法正确,若代码缩进类型为tab缩进,则语法错误。
优选地,基于Monaco插件实现脚本框架的智能语法提示,包括下述步骤:
基于Monaco插件中的格式检查规则对脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记存在格式错误的程序代码;
获取标记位置处存在格式错误的程序代码对应的格式错误说明,实现智能语法提示。
通过Monaco插件实现了目标程序对应的脚本框架的语法检查及智能语法提示功能,解决了现有YAML模板中的数据使用递归缩进导致对YAML模板格式及语法错误排查不易造成的目标服务代码安全性较低的问题,提高了目标服务对应应用程序代码的安全性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (6)

1.一种基于YAML模板的目标服务代码生成方法,其特征在于,包括如下步骤:
将包含目标服务编排要素的YAML模板加载至编辑器,所述编辑器包括设计视图单元和代码视图单元;
基于所述设计视图单元获取编排要素对应的目标服务运行参数,并将所述目标服务运行参数保存至数据库;
所述代码视图单元基于YAML模板生成目标服务对应的脚本框架,并从数据库获取所述脚本框架中编排要素对应的目标服务运行参数,得到目标服务的程序代码,所述目标服务的程序代码即为目标服务对应应用程序的模板代码;
所述代码视图单元还通过调用Monaco插件实现脚本框架的语法检查及智能语法提示;其中,基于调用所述Monaco插件实现脚本框架的语法检查,包括下述步骤:
获取所述脚本框架中的代码缩进类型,所述代码缩进类型包括空格缩进和tab缩进;
若所述代码缩进类型为空格缩进,则语法正确,若所述代码缩进类型为tab缩进,则语法错误;
基于所述Monaco插件实现脚本框架的智能语法提示,包括下述步骤:
基于Monaco插件中的格式检查规则对所述脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记所述存在格式错误的程序代码;
获取标记位置处存在格式错误的程序代码对应的格式错误说明,实现智能语法提示。
2.根据权利要求1所述的基于YAML模板的目标服务代码生成方法,其特征在于,基于所述设计视图单元获取编排要素对应的目标服务运行参数,包括如下步骤:
获取所述YAML模板中的编排要素,所述编排要素包括端口名称、系统名称及启动参数;
基于所述编排要素动态生成要素编辑框;
基于所述要素编辑框获取编排要素对应的目标服务运行参数。
3.根据权利要求2所述的基于YAML模板的目标服务代码生成方法,其特征在于,获取所述YAML模板中的编排要素,包括下述步骤:
将加载至编辑器中YAML模板的编排要素存储至数据库;
基于设计视图单元新增获得存储至数据库中的所述YAML模板中的编排要素。
4.一种基于YAML模板的目标服务代码生成装置,其特征在于,包括:
加载模块,用于将包含目标服务编排要素的YAML模板加载至编辑器,所述编辑器包括设计视图单元和代码视图单元;
参数获取模块,用于基于所述设计视图单元获取编排要素对应的目标服务运行参数,并将所述目标服务运行参数保存至数据库;
目标服务代码生成模块,用于根据所述YAML模板生成目标服务对应的脚本框架,并从数据库获取对应所述脚本框架中编排要素的目标服务运行参数,得到目标服务的程序代码,所述目标服务的程序代码即为目标服务对应应用程序的模板代码;
所述代码视图单元还通过调用Monaco插件实现脚本框架的语法检查及智能语法提示;其中,基于调用所述Monaco插件实现脚本框架的语法检查,包括下述步骤:
获取所述脚本框架中的代码缩进类型,所述代码缩进类型包括空格缩进和tab缩进;
若所述代码缩进类型为空格缩进,则语法正确,若所述代码缩进类型为tab缩进,则语法错误;
基于所述Monaco插件实现脚本框架的智能语法提示,包括下述步骤:
基于Monaco插件中的格式检查规则对所述脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记所述存在格式错误的程序代码;
获取标记位置处存在格式错误的程序代码对应的格式错误说明,实现智能语法提示。
5.根据权利要求4所述的基于YAML模板的目标服务代码生成装置,其特征在于,所述参数获取模块执行如下流程:
获取所述YAML模板中的编排要素,所述编排要素包括端口名称、系统名称及启动参数;
基于所述编排要素动态生成要素编辑框;
基于所述要素编辑框获取编排要素对应的目标服务运行参数。
6.根据权利要求4所述的基于YAML模板的目标服务代码生成装置,其特征在于,获取所述YAML模板中的编排要素,包括下述步骤:
将加载至编辑器中YAML模板的编排要素存储至数据库;
基于设计视图单元新增获得存储至数据库中的所述YAML模板中的编排要素。
CN202010879404.8A 2020-08-27 2020-08-27 一种基于yaml模板的目标服务代码生成方法及装置 Active CN112083919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010879404.8A CN112083919B (zh) 2020-08-27 2020-08-27 一种基于yaml模板的目标服务代码生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010879404.8A CN112083919B (zh) 2020-08-27 2020-08-27 一种基于yaml模板的目标服务代码生成方法及装置

Publications (2)

Publication Number Publication Date
CN112083919A CN112083919A (zh) 2020-12-15
CN112083919B true CN112083919B (zh) 2023-09-29

Family

ID=73728776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010879404.8A Active CN112083919B (zh) 2020-08-27 2020-08-27 一种基于yaml模板的目标服务代码生成方法及装置

Country Status (1)

Country Link
CN (1) CN112083919B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685051A (zh) * 2020-12-31 2021-04-20 北京华胜天成科技股份有限公司 自动执行shell脚本的方法、装置、平台及存储介质
CN113010473B (zh) * 2021-03-05 2023-02-28 山东英信计算机技术有限公司 一种编辑yaml文件的方法和设备
CN114025027B (zh) * 2021-11-02 2023-10-03 三维通信股份有限公司 数据传输脚本的运行方法、装置、存储介质和电子装置
CN116028038B (zh) * 2023-03-28 2023-06-09 深圳市奥思网络科技有限公司 基于dag图表的可视化流水线编排方法及相关组件

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220036A (zh) * 2016-03-22 2017-09-29 中兴通讯股份有限公司 一种组件和模板的可视化开发方法及系统
CN108681451A (zh) * 2018-05-14 2018-10-19 浪潮软件集团有限公司 一种可视化的kubernetes微服务编排的实现方法
CN110633079A (zh) * 2019-08-30 2019-12-31 微梦创科网络科技(中国)有限公司 一种基于yaml语言的业务开发方法及系统
CN110968294A (zh) * 2018-09-30 2020-04-07 上海羚驭信息技术有限公司 一种业务领域模型建立系统及方法
CN111475163A (zh) * 2020-06-22 2020-07-31 腾讯科技(深圳)有限公司 视图模板的代码文件生成方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246104B2 (en) * 2001-03-21 2007-07-17 Nokia Corporation Method and apparatus for information delivery with archive containing metadata in predetermined language and semantics
US10545730B2 (en) * 2018-05-07 2020-01-28 Red Hat, Inc. Automatically generating code for application programming interfaces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220036A (zh) * 2016-03-22 2017-09-29 中兴通讯股份有限公司 一种组件和模板的可视化开发方法及系统
CN108681451A (zh) * 2018-05-14 2018-10-19 浪潮软件集团有限公司 一种可视化的kubernetes微服务编排的实现方法
CN110968294A (zh) * 2018-09-30 2020-04-07 上海羚驭信息技术有限公司 一种业务领域模型建立系统及方法
CN110633079A (zh) * 2019-08-30 2019-12-31 微梦创科网络科技(中国)有限公司 一种基于yaml语言的业务开发方法及系统
CN111475163A (zh) * 2020-06-22 2020-07-31 腾讯科技(深圳)有限公司 视图模板的代码文件生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112083919A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
CN112083919B (zh) 一种基于yaml模板的目标服务代码生成方法及装置
CN108108162B (zh) 应用程序编程接口生成方法及装置
CN104407973B (zh) 一种自动化单元测试的实现方法及装置
CN104407980B (zh) 移动应用自动化测试装置和方法
CN112765023B (zh) 测试用例生成方法、装置
CN104035873A (zh) 测试代码生成方法及生成装置
CN111026670B (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
KR20160070410A (ko) 스마트기기용 어플리케이션의 테스트 시스템 및 그 방법
CN111581920A (zh) 文档转换方法、装置、设备及计算机存储介质
CN104049974A (zh) 控件动态组装方法和系统
CN111667231B (zh) 自动化报税方法、装置、系统、计算机设备和存储介质
CN110659197B (zh) 应用程序的测试用例生成方法、装置和软件测试系统
Núñez et al. A model-driven approach for the development of native mobile applications focusing on the data layer
Del Sole Microsoft computer vision APIs distilled: Getting started with cognitive services
US20110145293A1 (en) Methods, Systems, and Products for Creating Sharable Objects
CN114489625A (zh) 将json格式文本转换为可视化配置工具的方法和装置
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN105653273A (zh) 一种b/s架构下客户端功能的个性化定制方法
CN109240679A (zh) 脚本文件的图形化方法及装置
CN111078529B (zh) 客户端写入模块测试方法、装置、电子设备
CN115543324B (zh) 交互界面的生成方法、装置、设备及介质
CN113641594B (zh) 跨端自动化测试方法以及相关装置
CN104615539A (zh) 一种测试参数的处理方法和系统
CN102637290A (zh) 一种基于浏览器的作业系统及编辑方法
CN112667202A (zh) Mda与bpmn相结合的软件设计方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant