CN114995808A - 一种快速搭建微服务工程的方法及装置 - Google Patents
一种快速搭建微服务工程的方法及装置 Download PDFInfo
- Publication number
- CN114995808A CN114995808A CN202210661195.9A CN202210661195A CN114995808A CN 114995808 A CN114995808 A CN 114995808A CN 202210661195 A CN202210661195 A CN 202210661195A CN 114995808 A CN114995808 A CN 114995808A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- engineering
- framework
- service framework
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种快速搭建微服务工程的方法及装置,方法包括:获取预定义的微服务骨架和业务模块简称;根据微服务骨架确定微服务框架;根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。本申请具有可以快速生成项目工程代码及文档并且根据微服务工程的特点,可定制不用的微服务骨架模板,可以提高开发人员对于微服务架构下理解能力。降低开发人员入门门槛。可以让开发人员快速入门。对于公司统一微服务架构规范、项目快速迭代、公司代码规范、项目管理规范的提高有很大的帮助。
Description
技术领域
本申请属于软件开发技术领域,具体地讲,涉及一种快速搭建微服务工程的方法及装置。
背景技术
Micro-Archetype是一种微服务骨架,MAVEN是java工程的一种构建工具,UCD为一种应用自动化部署工具,Zookeeper为常用语分布式系统的注册中心。目前在分布式、微服务的开发模式下经常面临新增微服务模块的需求。新增微服务工程涉及工程命名、目录层级结构、应用配置、构建配置、单元测试配置和部署配置,这些配置每个开发员人员都需要关注。没有强约束导致每个工程代码的结构没有层级结构,工程代码的应用配置、构建配置、单元测试配置、部署配置都不尽相同,导致工程结构混乱,代码规范不一致、甚至应用启动成功日志都不一样,这些混乱的问题对开发和维护都造成了一定的影响。
发明内容
本申请提供了一种快速搭建微服务工程的方法及装置,以至少解决现有技术中新增微服务工程中配置混乱、代码规范不一致从而对软件开发维护造成影响的问题。
根据本申请的一个方面,提供了一种快速搭建微服务工程的方法,包括:
获取预定义的微服务骨架和业务模块简称;
根据微服务骨架确定微服务框架;
根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。
在一实施例中,根据微服务骨架确定微服务框架,包括:
解析业务模块简称和微服务骨架;
根据解析后的微服务骨架的种类选择微服务框架。
在一实施例中,根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程,包括:
根据业务模块简称生成目录层级结构、样例源码、应用配置、单元测试案例、构建配置和部署配置;
根据微服务框架和工程相关文件搭建微服务工程。
在一实施例中,快速搭建微服务工程的方法还包括:
按照业务领域定义不同业务模块简称。
根据本申请的另一个方面,还提供了一种快速搭建微服务工程的装置,包括:
获取单元,用于获取预定义的微服务骨架和业务模块简称;
微服务框架确定单元,用于根据微服务骨架确定微服务框架;
微服务工程搭建单元,用于根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。
在一实施例中,微服务框架确定单元包括:
解析模块,解析业务模块简称和微服务骨架;
微服务框架选择模块,用于根据解析后的微服务骨架的种类选择微服务框架。
在一实施例中,微服务工程搭建单元包括:
工程文件生成模块,用于根据业务模块简称生成目录层级结构、样例源码、应用配置、单元测试案例、构建配置和部署配置;
搭建模块,用于根据微服务框架和工程相关文件搭建微服务工程。
在一实施例中,快速搭建微服务工程的装置还包括:
预定义模块,用于按照业务领域定义不同业务模块简称。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种快速搭建微服务工程的方法.
图2为本申请实施例中根据微服务骨架确定微服务框架的方法。
图3为本申请实施例中搭建微服务工程的方法。
图4为本申请实施例中各个模块之间的相互关联.
图5为本申请提供的一种快速搭建微服务工程的装置。
图6为本申请实施例中微服务框架确定单元。
图7为本申请实施例中微服务工程搭建单元。
图8为本申请实施例中一种电子设备的具体实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决背景技术中存在的问题,本申请提供了一种快速搭建微服务工程的方法,如图1所示,包括:
S101:获取预定义的微服务骨架和业务模块简称。
S102:根据微服务骨架确定微服务框架。
S103:根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。
在一实施例中,根据微服务骨架确定微服务框架,如图2所示,包括:
S201:解析业务模块简称和微服务骨架。
S202:根据解析后的微服务骨架的种类选择微服务框架。
在一实施例中,根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程,如图3所示,包括:
S301:根据业务模块简称生成目录层级结构、样例源码、应用配置、单元测试案例、构建配置和部署配置。
S302:根据微服务框架和工程相关文件搭建微服务工程。
在一实施例中,快速搭建微服务工程的方法还包括:
按照业务领域定义不同业务模块简称。
在一具体实施例中,开发人员准备好定义的微服务骨架和业务模块简称并存储,按照业务领域定义模块的简称即可,比如负责现金的模块可使用cash。将业务模块简称、业务数据配置通过命令行传入业务数据解析模块中,业务模块检查作为使用使用本发明(微服务骨架)的必输的参数。
接下来,业务数据解析模块用于解析业务模块简称和微服务骨架。比如igtb-prd-its,即为业务模块的简称,其中prd是微服务类型(表示product产品(定义为用于与其他产品通讯的一个工程),its是业务领域的简称表示)解析业务模块(比如igtb-prd-its)使用字符‘-’分隔可以解析出igtb,prd,its。默认会选择igtb(预先定好的,只能是igtb)下的prd的微服务架构模块。选择生成prd类的微服务框架(prd表示与第三方通讯的产品的框架),目前支持的种类有web(接入层的微服务工程)、srv类(微服务服务层的微服务工程)。自动生成的技术均是使用velocity模板技术生成。重点保护的在于可以快速生成微服务框架原型,此原型包含从工程名称,目录层级结构,应用配置,单元测试案例,部署配置的自动生成,无需开发人员手工调整。
工程代码生成模块是最重要的模块,根据不同的微服务类型,生成不同的目录结构
微服务类型 | 目录层级结构 |
prd | com.igtb.prd |
srv | com.igtb.srv |
web | com.igtb.web |
生成对应的样例源码,用于快速指导开发人员开发
应用配置,开发人员无需关注具体配置,生成完成即配置完成。比如数据库的定义配置,第三方系统的配置
构建配置:生成好对应的maven的pom.xml依赖和构建插件版本都生成好,无需开发人员单独调整,如开发人员想单独添加,也可再修改pom.xml
单元测试案例:自动生成样例代码的单元测试junit代码。用于指导开发人员开发。
部署配置:是指生成maven的deploy配置插件,无需手工配置。最后,将工程的各个目录结构,配置文件的说明导出文档,具体技术是使用poi开源技术,生成,用于辅助开发人员理解生成的微服务原型。
如图4所示为各个模块之间的相互关联:
开发人员定义:微服务骨业务模块简称和微服务类型。
业务数据配置:业务数据配置通过命令行传入业务数据解析模块中。
业务数据解析模块:解析业务模块简称和微服务骨架。
微骨架解析模块:根据不同种类微服务骨架选择微服务。
工程代码生成模块:生成源码。应用配置、构建配置、单元案例、部署配置。
文档生成模块:生成工程配套的文档说、包含目录结构说明,配置文件说明。
其中,工程代码生成模块增加应用配置模块生成样例,其中可定制化生成不同的应用配置。比如与外系统连接的IP和端口、MQ的实现样例等等(支持开发人员定制化)。文档生成模块为生成的模块代码添加说明,方便开发人员参考和学习。
本申请为解决新建微服务工程花费时间长的困难开发人员可使用本申请提供的微服务骨架。本申请可以快速生成项目工程代码及文档并且根据微服务工程的特点,可定制不用的微服务骨架模板,比如:微服务必须要包含服务层、数据传输实体、数据持久化实体。数据访问层。不需开发人员关心,均自动生成。可以提高开发人员对于微服务架构下理解能力。降低开发人员入门门槛。可以让开发人员先快速入门再逐步提高。对于公司统一微服务架构规范、项目快速迭代、公司代码规范、项目管理规范的提高有很大的帮助。
基于同一发明构思,本申请实施例还提供了一种快速搭建微服务工程的装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该快速搭建微服务工程的装置解决问题的原理与快速搭建微服务工程的方法相似,因此快速搭建微服务工程的装置的实施可以参见快速搭建微服务工程的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本申请的另一个方面,还提供了一种快速搭建微服务工程的装置,如图5所示,包括:
获取单元501,用于获取预定义的微服务骨架和业务模块简称;
微服务框架确定单元502,用于根据微服务骨架确定微服务框架;
微服务工程搭建单元503,用于根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。
在一实施例中,如图6所示,微服务框架确定单元502包括:
解析模块601,解析业务模块简称和微服务骨架;
微服务框架选择模块602,用于根据解析后的微服务骨架的种类选择微服务框架。
在一实施例中,如图7所示,微服务工程搭建单元503包括:
工程文件生成模块701,用于根据业务模块简称生成目录层级结构、样例源码、应用配置、单元测试案例、构建配置和部署配置;
搭建模块702,用于根据微服务框架和工程相关文件搭建微服务工程。
在一实施例中,快速搭建微服务工程的装置还包括:
预定义模块,用于按照业务领域定义不同业务模块简称。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图8,所述电子设备具体包括如下内容:
处理器(processor)801、内存802、通信接口(Communications Interface)803、总线804和非易失性存储器805;
其中,所述处理器801、内存802、通信接口803通过所述总线804完成相互间的通信;
所述处理器801用于调用所述内存802和非易失性存储器805中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:获取预定义的微服务骨架和业务模块简称。
S102:根据微服务骨架确定微服务框架。
S103:根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:获取预定义的微服务骨架和业务模块简称。
S102:根据微服务骨架确定微服务框架。
S103:根据业务模块简称和微服务框架生成工程代码和工程相关文件搭建微服务工程。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (11)
1.一种快速搭建微服务工程的方法,其特征在于,包括:
获取预定义的微服务骨架和业务模块简称;
根据所述微服务骨架确定微服务框架;
根据所述业务模块简称和所述微服务框架生成工程代码和工程相关文件搭建微服务工程。
2.根据权利要求1所述的快速搭建微服务工程的方法,其特征在于,所述根据所述微服务骨架确定微服务框架,包括:
解析所述业务模块简称和所述微服务骨架;
根据解析后的微服务骨架的种类选择微服务框架。
3.根据权利要求1所述的快速搭建微服务工程的方法,其特征在于,所述根据所述业务模块简称和所述微服务框架生成工程代码和工程相关文件搭建微服务工程,包括:
根据所述业务模块简称生成目录层级结构、样例源码、应用配置、单元测试案例、构建配置和部署配置;
根据所述微服务框架和工程相关文件搭建微服务工程。
4.根据权利要求1所述的快速搭建微服务工程的方法,其特征在于,还包括:
按照业务领域定义不同业务模块简称。
5.一种快速搭建微服务工程的装置,其特征在于,包括:
获取单元,用于获取预定义的微服务骨架和业务模块简称;
微服务框架确定单元,用于根据所述微服务骨架确定微服务框架;
微服务工程搭建单元,用于根据所述业务模块简称和所述微服务框架生成工程代码和工程相关文件搭建微服务工程。
6.根据权利要求5所述的快速搭建微服务工程的装置,其特征在于,所述微服务框架确定单元包括:
解析模块,解析所述业务模块简称和所述微服务骨架;
微服务框架选择模块,用于根据解析后的微服务骨架的种类选择微服务框架。
7.根据权利要求5所述的快速搭建微服务工程的装置,其特征在于,所述微服务工程搭建单元包括:
工程文件生成模块,用于根据所述业务模块简称生成目录层级结构、样例源码、应用配置、单元测试案例、构建配置和部署配置;
搭建模块,用于根据所述微服务框架和工程相关文件搭建微服务工程。
8.根据权利要求5所述的快速搭建微服务工程的装置,其特征在于,还包括:
预定义模块,用于按照业务领域定义不同业务模块简称。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的快速搭建微服务工程的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的快速搭建微服务工程的方法的步骤。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至4任一项所述的快速搭建微服务工程的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210661195.9A CN114995808A (zh) | 2022-06-13 | 2022-06-13 | 一种快速搭建微服务工程的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210661195.9A CN114995808A (zh) | 2022-06-13 | 2022-06-13 | 一种快速搭建微服务工程的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114995808A true CN114995808A (zh) | 2022-09-02 |
Family
ID=83032966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210661195.9A Pending CN114995808A (zh) | 2022-06-13 | 2022-06-13 | 一种快速搭建微服务工程的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114995808A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115562641A (zh) * | 2022-10-27 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN115712499A (zh) * | 2022-11-09 | 2023-02-24 | 北京城建设计发展集团股份有限公司 | 一种轨交业务ai芯片驱动任务处理方法及系统 |
-
2022
- 2022-06-13 CN CN202210661195.9A patent/CN114995808A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115562641A (zh) * | 2022-10-27 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN115562641B (zh) * | 2022-10-27 | 2024-05-10 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN115712499A (zh) * | 2022-11-09 | 2023-02-24 | 北京城建设计发展集团股份有限公司 | 一种轨交业务ai芯片驱动任务处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110609675B (zh) | 一种工作流建模方法、装置和计算机可读存储介质 | |
US8037000B2 (en) | Systems and methods for automated interpretation of analytic procedures | |
CN114995808A (zh) | 一种快速搭建微服务工程的方法及装置 | |
US9483329B2 (en) | Categorizing and modeling integration adapters | |
CN110532020A (zh) | 一种微服务编排的数据处理方法、装置及系统 | |
US9990595B2 (en) | Modeled service endpoints in business process model and notation tools | |
US10031746B2 (en) | Analyzing components related to a software application in a software development environment | |
US8645913B2 (en) | Web-service based generation of business objects | |
CA3050159A1 (en) | Artificial intelligence (ai) based automatic rule generation | |
Bertolino et al. | Towards component-based software performance engineering | |
CN115268861A (zh) | 自定义组件的引入方法、系统、设备和存储介质 | |
US8126961B2 (en) | Integration of client and server development environments | |
CN115525534A (zh) | 基于swagger的接口测试的测试用例生成方法、生成平台 | |
Engel et al. | ysla: reusable and configurable SLAs for large-scale SLA management | |
Krammer et al. | Granularity of Services: An Economic Analysis | |
Iacob et al. | Quantitative analysis of service-oriented architectures | |
Giese et al. | Seamless visual object-oriented behavior modeling for distributed software systems | |
CN113885844A (zh) | 一种业务服务编排方法及相关装置 | |
US20120011079A1 (en) | Deriving entity-centric solution models from industry reference process and data models | |
Autili et al. | On the Model-driven Synthesis of Adaptable Choreographies. | |
Souer et al. | Model-driven web engineering for the automated configuration of web content management systems | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
Yarahmadi et al. | Unraveling Bi-Lingual Multi-Feature Based Text Classification: A Case Study | |
Tekinerdogan et al. | Architecting feasible deployment alternatives for publish-subscribe systems | |
Rathfelder et al. | Modeling event-driven service-oriented systems using the palladio component model |
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 |