[发明专利]一种基于YAML模板的目标服务代码生成方法及装置有效
申请号: | 202010879404.8 | 申请日: | 2020-08-27 |
公开(公告)号: | CN112083919B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 陈启明;李芳;张驰荣 | 申请(专利权)人: | 远光软件股份有限公司 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F8/41;G06F16/31;G06F40/186;G06F8/33 |
代理公司: | 北京天达知识产权代理事务所有限公司 11386 | 代理人: | 侯永帅 |
地址: | 519085 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 yaml 模板 目标 服务 代码 生成 方法 装置 | ||
本发明涉及一种基于YAML模板的目标服务代码生成方法及装置,属于计算机软件应用开发技术领域,解决了现有的YAML模板编写困难且错误排查不易造成的目标服务编排效率较低的问题。方法包括:将包含目标服务编排要素的YAML模板加载至编辑器,编辑器包括设计视图单元和代码视图单元;基于设计视图单元获取编排要素对应的目标服务运行参数,并将目标服务运行参数保存至数据库;代码视图单元基于YAML模板生成目标服务对应的脚本框架,并从数据库获取脚本框架中编排要素对应的目标服务运行参数,得到目标服务的程序代码。实现了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插件中的格式检查规则对所述脚本框架进行格式检查,得到存在格式错误的程序代码对应的格式错误说明;
标记所述存在格式错误的程序代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于远光软件股份有限公司,未经远光软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010879404.8/2.html,转载请声明来源钻瓜专利网。