CN115408055B - 一种基于单体生成微服务项目的方法和系统 - Google Patents

一种基于单体生成微服务项目的方法和系统 Download PDF

Info

Publication number
CN115408055B
CN115408055B CN202211352928.7A CN202211352928A CN115408055B CN 115408055 B CN115408055 B CN 115408055B CN 202211352928 A CN202211352928 A CN 202211352928A CN 115408055 B CN115408055 B CN 115408055B
Authority
CN
China
Prior art keywords
micro
service
item
information
project
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
CN202211352928.7A
Other languages
English (en)
Other versions
CN115408055A (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.)
Beijing Lingyan Technology Co ltd
Original Assignee
Beijing Lingyan Technology 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 Beijing Lingyan Technology Co ltd filed Critical Beijing Lingyan Technology Co ltd
Priority to CN202211352928.7A priority Critical patent/CN115408055B/zh
Publication of CN115408055A publication Critical patent/CN115408055A/zh
Application granted granted Critical
Publication of CN115408055B publication Critical patent/CN115408055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于单体生成微服务项目的方法和系统,涉及计算机技术领域,包括如下步骤:接收操作人员通过微服务项目的基础信息配置窗口填写的微服务项目配置信息;接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表;接收操作人员对所述选择的单体进行微服务划分的确认信息;将所述操作人员选择的微服务项目的单体所包含的服务接口,记录到该微服务项目的交易信息表中;通过不同于数据层面划分的方式,避免了出现过多的服务间耦合,避免了系统在服务扩展时会被先前的数据库设计限制,降低了重新调整带来的巨大工作成本,提升了重新调整的效率;而且本申请的方法还能避免微服务边界定义不清和划分困难。

Description

一种基于单体生成微服务项目的方法和系统
技术领域
本申请涉及计算机技术领域,具体涉及一种基于单体生成微服务项目的方法和系统。
背景技术
银行机构针对不同的交易场景和用户需求创建不同的单体应用交易流程,随着交易场景和用户需求越来越多,银行机构需要新增更多的单体应用交易流程满足新增的交易场景和不同的客户需求,而由于单体架构应用在响应速度方面相比于分布式微服务架构较慢,银行机构普遍选择微服务划分来新增满足新的交易场景和用户需求。
现有技术中,基于单体生成微服务项目通常以数据库先行,确定各项数据流的前后关系,并进行微服务项目的划分。这种简单的微服务项目生成方式会出现过多的服务间耦合,并且系统在服务扩展时会被先前的数据库设计限制,生成服务后重新调整带来的巨大工作成本的问题。
发明内容
(一)申请目的
有鉴于此,本申请的目的在于提供一种基于单体进行微服务划分的方法和系统,用于解决现有技术中通过数据库进行微服务项目生成方式会出现过多的服务间耦合,并且系统在服务扩展时会被先前的数据库设计限制,生成服务后重新调整带来的巨大工作成本的问题的技术问题。
(二)技术方案
本申请公开了一种基于单体生成微服务项目的方法,包括如下步骤: S1、向操作人员提供微服务项目的基础信息配置窗口,并接收操作人员通过所述微服务项目的基础信息配置窗口填写的微服务项目配置信息,所述微服务项目配置信息用于保存到数据库的项目信息表中;所述项目信息表记录所述微服务项目配置信息,所述项目信息表包括记录微服务项目状态,所述微服务项目状态记录微服务项目的当前状态,微服务项目的当前状态为多个状态的其中之一,所述多个状态包括:初始化状态、划分状态、生成状态和提交到版本库状态;
S2、将所述微服务项目配置信息保存到项目信息表中,将所述项目信息表中该微服务项目记录的当前状态为初始化状态; S3、向操作人员提供微服务项目的单体选择窗口,并接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表,所述服务信息表记录所述选择的单体对应的服务集合,所述交易信息表用于记录操作人员对需要进行交易管控的微服务项目所包含服务接口的配置交易管控信息;将所述项目信息表中该微服务项目记录的当前状态由初始化状态变更为划分状态;
S4、接收操作人员对所述选择的单体进行微服务划分的确认信息,并基于所述项目信息表、服务信息表和交易信息表中当前记录的信息生成工程文件,将所述项目信息表中该微服务项目的记录的当前状态由划分状态变更为生成状态;
S5、向操作人员提供微服务项目提交版本库窗口,所述微服务项目提交版本库窗口向操作人员提供用于操作人员选择可提交到版本管理服务器的微服务项目;接收操作人员基于所述微服务项目提交版本库窗口选择提交到版本管理服务器的微服务项目,并将操作人员选择的微服务项目上传到版本管理服务器上;将所述操作人员选择的微服务项目的项目信息表中该微服务项目记录的当前状态由生成状态变更为提交到版本库状态;
S6、向操作人员提供交易管控界面窗口,接收操作人员基于交易管控界面窗口配置所述操作人员选择的微服务项目的交易管控信息,将所述操作人员选择的微服务项目的交易管控信息记录到该微服务项目的交易信息表中。
在一种可能的实施方式中,所述交易管控信息包括交易码、启用交易接口和禁用交易接口。
在一种可能的实施方式中,所述微服务项目配置信息包括微服务项目简称、微服务项目中文名、端口号、是否启用注册中心、是否连接到数据库、是否启用redis、是否启用zipkin、注册中心信息、数据源信息、redis信息和zipkin信息;所述项目信息表还包括记录微服务项目简称、微服务项目英文全称、微服务项目中文名称、微服务项目中文描述和application.name 项目的唯一ID,其中,微服务项目简称用来做后台管理界面展示;微服务项目英文全称为微服务项目的物理名称;微服务项目中文名称作为物理项目信息的一部分;微服务项目中文描述作为注解项目作用的信息;application.name 项目的唯一ID记录微服务项目的项目服务名称,作为项目serviceID项目物理标示。
在一种可能的实施方式中,所述服务信息表还记录单体的第一基础信息,所述第一基础信息包括单体英文名称、单体中文名称、单体的类型、命名空间、ArteryProjectName英文名、ArteryProject 目录和ArteryProjectName 中文名。
在一种可能的实施方式中,所述交易信息表还包括记录所选用于构成微服务项目的单体中的每个单体的第二基础信息和记录交易服务对应的URL,所述第二基础信息包括交易英文名称、交易中文名称、请求参数名称、响应参数名称和Artery引擎所能识别的路径。
作为本申请的第二方面,还提供了一种基于单体生成微服务项目的系统,包括基础信息配置模块、基础信息保存模块、微服务划分模块、微服务生成模块、微服务版本提交模块和微服务交易管控配置模块;其中所述基础信息配置模块用于向操作人员提供微服务项目的基础信息配置窗口,并接收操作人员通过所述微服务项目的基础信息配置窗口填写的微服务项目配置信息,所述微服务项目配置信息用于保存到数据库的项目信息表中;所述项目信息表记录所述微服务项目配置信息,所述项目信息表包括记录微服务项目状态,所述微服务项目状态记录微服务项目的当前状态,微服务项目的当前状态为多个状态的其中之一,所述多个状态包括:初始化状态、划分状态、生成状态和提交到版本库状态;所述基础信息保存模块用于将所述微服务项目配置信息保存到项目信息表中,将所述项目信息表中该微服务项目记录的当前状态为初始化状态;所述微服务划分模块用于向操作人员提供微服务项目的单体选择窗口,并接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表,所述服务信息表记录所述选择的单体对应的服务集合,所述交易信息表用于记录操作人员对需要进行交易管控的微服务项目所包含服务接口的配置交易管控信息;将所述项目信息表中该微服务项目记录的当前状态由初始化状态变更为划分状态;所述微服务生成模块用于接收操作人员对所述选择的单体进行微服务划分的确认信息,并基于所述项目信息表、服务信息表和交易信息表中当前记录的信息生成工程文件,将所述项目信息表中该微服务项目的记录的当前状态由划分状态变更为生成状态;所述微服务版本提交模块用于向操作人员提供微服务项目提交版本库窗口,所述微服务项目提交版本库窗口向操作人员提供用于操作人员选择可提交到版本管理服务器的微服务项目;接收操作人员基于所述微服务项目提交版本库窗口选择提交到版本管理服务器的微服务项目,并将操作人员选择的微服务项目上传到版本管理服务器上;将所述操作人员选择的微服务项目的项目信息表中该微服务项目记录的当前状态由生成状态变更为提交到版本库状态;所述微服务交易管控配置模块用于向操作人员提供交易管控界面窗口,接收操作人员基于交易管控界面窗口配置所述操作人员选择的微服务项目的交易管控信息,将所述操作人员选择的微服务项目的交易管控信息记录到该微服务项目的交易信息表中。
在一种可能的实施方式中,所述交易管控信息包括交易码、启用交易接口和禁用交易接口。
在一种可能的实施方式中,所述微服务项目配置信息包括微服务项目简称、微服务项目中文名、端口号、是否启用注册中心、是否连接到数据库、是否启用redis、是否启用zipkin、注册中心信息、数据源信息、redis信息和zipkin信息;所述项目信息表还包括记录微服务项目简称、微服务项目英文全称、微服务项目中文名称、微服务项目中文描述和application.name 项目的唯一ID,其中,微服务项目简称用来做后台管理界面展示;微服务项目英文全称为微服务项目的物理名称;微服务项目中文名称作为物理项目信息的一部分;微服务项目中文描述作为注解项目作用的信息;application.name 项目的唯一ID记录微服务项目的项目服务名称,作为项目serviceID项目物理标示。
在一种可能的实施方式中,所述服务信息表还记录单体的第一基础信息,所述第一基础信息包括单体英文名称、单体中文名称、单体的类型、命名空间、ArteryProjectName英文名、ArteryProject 目录和ArteryProjectName 中文名。
在一种可能的实施方式中,所述交易信息表还包括记录所选用于构成微服务项目的单体中的每个单体的第二基础信息和记录交易服务对应的URL,所述第二基础信息包括交易英文名称、交易中文名称、请求参数名称、响应参数名称和Artery引擎所能识别的路径。
(三)有益效果
通过不同于数据层面划分的方式,避免了出现过多的服务间耦合,避免了系统在服务扩展时会被先前的数据库设计限制,降低了重新调整带来的巨大工作成本,提升了重新调整的效率;而且本申请的方法还能避免微服务边界定义不清和划分困难。
本申请的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本申请的实践中得到教导。本申请的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本申请,而不能理解为对本申请的保护范围的限制。
图1是本申请系统流程图;
图2是本申请系统结构图;
其中:1、基础信息配置模块;2、基础信息保存模块;3、微服务划分模块;4、微服务生成模块;5、微服务版本提交模块;6、微服务交易管控配置模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的分配来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,本实施例提供了一种基于单体生成微服务项目的方法,包括如下步骤: S1、向操作人员提供微服务项目的基础信息配置窗口,并接收操作人员通过所述微服务项目的基础信息配置窗口填写的微服务项目配置信息,所述微服务项目配置信息用于保存到数据库的项目信息表中;所述项目信息表记录所述微服务项目配置信息,所述项目信息表包括记录微服务项目状态,所述微服务项目状态记录微服务项目的当前状态,微服务项目的当前状态为多个状态的其中之一,所述多个状态包括:初始化状态、划分状态、生成状态和提交到版本库状态;多个状态作为微服务项目状态流转重要的标示。
S2、将所述微服务项目配置信息保存到项目信息表中,将所述项目信息表中该微服务项目记录的当前状态为初始化状态。S3、向操作人员提供微服务项目的单体选择窗口,并接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表,所述服务信息表记录所述选择的单体对应的服务集合,所述交易信息表用于记录操作人员对需要进行交易管控的微服务项目所包含服务接口的配置交易管控信息;将所述项目信息表中该微服务项目记录的当前状态由初始化状态变更为划分状态。其中向操作人员提供微服务项目的单体选择窗口中弹出单体列表框(WSDL),选择当前微服务项目需要的单体。WSDL(Web服务描述语言,Web Services Description Language)是为描述Web服务发布的XML格式。W3C组织(World Wide Web Consortium)没有批准1.1版的WSDL,当前的WSDL版本是2.0,是W3C的推荐标准(recommendation),并将被W3C组织批准为正式标准。WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。
S4、接收操作人员对所述选择的单体进行微服务划分的确认信息,并基于所述项目信息表、服务信息表和交易信息表中当前记录的信息生成工程文件,将所述项目信息表中该微服务项目的记录的当前状态由划分状态变更为生成状态。
S5、向操作人员提供微服务项目提交版本库窗口,所述微服务项目提交版本库窗口向操作人员提供用于操作人员选择可提交到版本管理服务器的微服务项目;接收操作人员基于所述微服务项目提交版本库窗口选择提交到版本管理服务器的微服务项目,并将操作人员选择的微服务项目上传到版本管理服务器上;将所述操作人员选择的微服务项目的项目信息表中该微服务项目记录的当前状态由生成状态变更为提交到版本库状态。
S6、向操作人员提供交易管控界面窗口,接收操作人员基于交易管控界面窗口配置所述操作人员选择的微服务项目的交易管控信息,将所述操作人员选择的微服务项目的交易管控信息记录到该微服务项目的交易信息表中。所述交易管控信息包括交易码、启用交易接口和禁用交易接口。
在一些实施例中,所述微服务项目配置信息包括微服务项目简称、微服务项目中文名、端口号、是否启用注册中心、是否连接到数据库、是否启用redis、是否启用zipkin、注册中心信息、数据源信息、redis信息和zipkin信息;所述项目信息表还包括记录微服务项目简称、微服务项目英文全称、微服务项目中文名称、微服务项目中文描述和application.name 项目的唯一ID,其中,微服务项目简称用来做后台管理界面展示;微服务项目英文全称为微服务项目的物理名称;微服务项目中文名称作为物理项目信息的一部分;微服务项目中文描述作为注解项目作用的信息;application.name 项目的唯一ID记录微服务项目的项目服务名称,作为项目serviceID项目物理标示。所述服务信息表还记录单体的第一基础信息,所述第一基础信息包括单体英文名称、单体中文名称、单体的类型、命名空间、ArteryProjectName 英文名、ArteryProject 目录和ArteryProjectName 中文名。所述交易信息表还包括记录所选用于构成微服务项目的单体中的每个单体的第二基础信息和记录交易服务对应的URL,所述第二基础信息包括交易英文名称、交易中文名称、请求参数名称、响应参数名称和Artery引擎所能识别的路径。项目信息表还记录微服务项目唯一识别号,用来区分是那个微服务项目的数据;服务信息还记录唯一单体号,用来区分是单体划分所产生的数据。交易信息表还记录唯一交易信息,用来区分是单体下某个具体单体所产生的数据。服务信息表跟交易信息表中,都包括微服务项目唯一识别号,可以非常快速的将所有需要的项目下单体,和单体对应的交易信息诊查询出来。
通过不同于数据层面划分的方式,避免了出现过多的服务间耦合,避免了系统在服务扩展时会被先前的数据库设计限制,降低了重新调整带来的巨大工作成本,提升了重新调整的效率;而且本申请的方法还能避免微服务边界定义不清和划分困难。
如图2所示,作为本申请的第二方面,本实施例还提供了一种基于单体生成微服务项目的系统,包括基础信息配置模块1、基础信息保存模块2、微服务划分模块3、微服务生成模块4、微服务版本提交模块5和微服务交易管控配置模块6;其中基础信息配置模块用于向操作人员提供微服务项目的基础信息配置窗口,并接收操作人员通过所述微服务项目的基础信息配置窗口填写的微服务项目配置信息,所述微服务项目配置信息用于保存到数据库的项目信息表中;所述项目信息表记录所述微服务项目配置信息,所述项目信息表包括记录微服务项目状态,所述微服务项目状态记录微服务项目的当前状态,微服务项目的当前状态为多个状态的其中之一,所述多个状态包括:初始化状态、划分状态、生成状态和提交到版本库状态;所述基础信息保存模块用于将所述微服务项目配置信息保存到项目信息表中,将所述项目信息表中该微服务项目记录的当前状态为初始化状态;所述微服务划分模块用于向操作人员提供微服务项目的单体选择窗口,并接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表,所述服务信息表记录所述选择的单体对应的服务集合,所述交易信息表用于记录操作人员对需要进行交易管控的微服务项目所包含服务接口的配置交易管控信息;将所述项目信息表中该微服务项目记录的当前状态由初始化状态变更为划分状态;所述微服务生成模块用于接收操作人员对所述选择的单体进行微服务划分的确认信息,并基于所述项目信息表、服务信息表和交易信息表中当前记录的信息生成工程文件,将所述项目信息表中该微服务项目的记录的当前状态由划分状态变更为生成状态;所述微服务版本提交模块用于向操作人员提供微服务项目提交版本库窗口,所述微服务项目提交版本库窗口向操作人员提供用于操作人员选择可提交到版本管理服务器的微服务项目;接收操作人员基于所述微服务项目提交版本库窗口选择提交到版本管理服务器的微服务项目,并将操作人员选择的微服务项目上传到版本管理服务器上;将所述操作人员选择的微服务项目的项目信息表中该微服务项目记录的当前状态由生成状态变更为提交到版本库状态;所述微服务交易管控配置模块用于向操作人员提供交易管控界面窗口,接收操作人员基于交易管控界面窗口配置所述操作人员选择的微服务项目的交易管控信息,将所述操作人员选择的微服务项目的交易管控信息记录到该微服务项目的交易信息表中。
在一些实施例中,所述微服务项目配置信息包括微服务项目简称、微服务项目中文名、端口号、是否启用注册中心、是否连接到数据库、是否启用redis、是否启用zipkin、注册中心信息、数据源信息、redis信息和zipkin信息;所述项目信息表还包括记录微服务项目简称、微服务项目英文全称、微服务项目中文名称、微服务项目中文描述和application.name 项目的唯一ID,其中,微服务项目简称用来做后台管理界面展示;微服务项目英文全称为微服务项目的物理名称;微服务项目中文名称作为物理项目信息的一部分;微服务项目中文描述作为注解项目作用的信息;application.name 项目的唯一ID记录微服务项目的项目服务名称,作为项目serviceID项目物理标示。所述服务信息表还记录单体的第一基础信息,所述第一基础信息包括单体英文名称、单体中文名称、单体的类型、命名空间、ArteryProjectName 英文名、ArteryProject 目录和ArteryProjectName 中文名。所述交易信息表还包括记录所选用于构成微服务项目的单体中的每个单体的第二基础信息和记录交易服务对应的URL,所述第二基础信息包括交易英文名称、交易中文名称、请求参数名称、响应参数名称和Artery引擎所能识别的路径。项目信息表还记录微服务项目唯一识别号,用来区分是那个微服务项目的数据;服务信息还记录唯一单体号,用来区分是单体划分所产生的数据。交易信息表还记录唯一交易信息,用来区分是单体下某个具体单体所产生的数据。服务信息表跟交易信息表中,都包括微服务项目唯一识别号,可以非常快速的将所有需要的项目下单体,和单体对应的交易信息诊查询出来。
最后说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或者等同替换,而不脱离本申请技术方案的宗旨和范围,其均应涵盖在本申请的权利要求范围当中。

Claims (10)

1.一种基于单体生成微服务项目的方法,其特征在于,包括如下步骤:
S1、向操作人员提供微服务项目的基础信息配置窗口,并接收操作人员通过所述微服务项目的基础信息配置窗口填写的微服务项目配置信息,所述微服务项目配置信息用于保存到数据库的项目信息表中;所述项目信息表记录所述微服务项目配置信息,所述项目信息表包括记录微服务项目状态,所述微服务项目状态记录微服务项目的当前状态,微服务项目的当前状态为多个状态的其中之一,所述多个状态包括:初始化状态、划分状态、生成状态和提交到版本库状态;
S2、将所述微服务项目配置信息保存到项目信息表中,将所述项目信息表中该微服务项目记录的当前状态为初始化状态;
S3、向操作人员提供微服务项目的单体选择窗口,并接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表,所述服务信息表记录所述选择的单体对应的服务集合,所述交易信息表用于记录操作人员对需要进行交易管控的微服务项目所包含服务接口的配置交易管控信息;将所述项目信息表中该微服务项目记录的当前状态由初始化状态变更为划分状态;
S4、接收操作人员对所述选择的单体进行微服务划分的确认信息,并基于所述项目信息表、服务信息表和交易信息表中当前记录的信息生成工程文件,将所述项目信息表中该微服务项目的记录的当前状态由划分状态变更为生成状态;
S5、向操作人员提供微服务项目提交版本库窗口,所述微服务项目提交版本库窗口向操作人员提供用于操作人员选择可提交到版本管理服务器的微服务项目;接收操作人员基于所述微服务项目提交版本库窗口选择提交到版本管理服务器的微服务项目,并将操作人员选择的微服务项目上传到版本管理服务器上;将所述操作人员选择的微服务项目的项目信息表中该微服务项目记录的当前状态由生成状态变更为提交到版本库状态;
S6、向操作人员提供交易管控界面窗口,接收操作人员基于交易管控界面窗口配置所述操作人员选择的微服务项目的交易管控信息,将所述操作人员选择的微服务项目的交易管控信息记录到该微服务项目的交易信息表中。
2.根据权利要求1所述的一种基于单体生成微服务项目的方法,其特征在于,所述交易管控信息包括交易码、启用交易接口和禁用交易接口。
3.根据权利要求2所述的一种基于单体生成微服务项目的方法,其特征在于,所述微服务项目配置信息包括微服务项目简称、微服务项目中文名、端口号、是否启用注册中心、是否连接到数据库、是否启用redis、是否启用zipkin、注册中心信息、数据源信息、redis信息和zipkin信息;所述项目信息表还包括记录微服务项目简称、微服务项目英文全称、微服务项目中文名称、微服务项目中文描述和application.name 项目的唯一ID,其中,微服务项目简称用来做后台管理界面展示;微服务项目英文全称为微服务项目的物理名称;微服务项目中文名称作为物理项目信息的一部分;微服务项目中文描述作为注解项目作用的信息;application.name 项目的唯一ID记录微服务项目的项目服务名称,作为项目serviceID项目物理标示。
4.根据权利要求3所述的一种基于单体生成微服务项目的方法,其特征在于,所述服务信息表还记录单体的第一基础信息,所述第一基础信息包括单体英文名称、单体中文名称、单体的类型、命名空间、ArteryProjectName 英文名、ArteryProject 目录和ArteryProjectName 中文名。
5.根据权利要求4所述的一种基于单体生成微服务项目的方法,其特征在于,所述交易信息表还包括记录所选用于构成微服务项目的单体中的每个单体的第二基础信息和记录交易服务对应的URL,所述第二基础信息包括交易英文名称、交易中文名称、请求参数名称、响应参数名称和Artery引擎所能识别的路径。
6.一种基于单体生成微服务项目的系统,其特征在于,包括基础信息配置模块、基础信息保存模块、微服务划分模块、微服务生成模块、微服务版本提交模块和微服务交易管控配置模块;其中所述基础信息配置模块用于向操作人员提供微服务项目的基础信息配置窗口,并接收操作人员通过所述微服务项目的基础信息配置窗口填写的微服务项目配置信息,所述微服务项目配置信息用于保存到数据库的项目信息表中;所述项目信息表记录所述微服务项目配置信息,所述项目信息表包括记录微服务项目状态,所述微服务项目状态记录微服务项目的当前状态,微服务项目的当前状态为多个状态的其中之一,所述多个状态包括:初始化状态、划分状态、生成状态和提交到版本库状态;所述基础信息保存模块用于将所述微服务项目配置信息保存到项目信息表中,将所述项目信息表中该微服务项目记录的当前状态为初始化状态;所述微服务划分模块用于向操作人员提供微服务项目的单体选择窗口,并接收操作人员选择用于构成微服务项目的单体,基于选择的单体和微服务项目生成服务信息表和交易信息表,所述服务信息表记录所述选择的单体对应的服务集合,所述交易信息表用于记录操作人员对需要进行交易管控的微服务项目所包含服务接口的配置交易管控信息;将所述项目信息表中该微服务项目记录的当前状态由初始化状态变更为划分状态;所述微服务生成模块用于接收操作人员对所述选择的单体进行微服务划分的确认信息,并基于所述项目信息表、服务信息表和交易信息表中当前记录的信息生成工程文件,将所述项目信息表中该微服务项目的记录的当前状态由划分状态变更为生成状态;所述微服务版本提交模块用于向操作人员提供微服务项目提交版本库窗口,所述微服务项目提交版本库窗口向操作人员提供用于操作人员选择可提交到版本管理服务器的微服务项目;接收操作人员基于所述微服务项目提交版本库窗口选择提交到版本管理服务器的微服务项目,并将操作人员选择的微服务项目上传到版本管理服务器上;将所述操作人员选择的微服务项目的项目信息表中该微服务项目记录的当前状态由生成状态变更为提交到版本库状态;所述微服务交易管控配置模块用于向操作人员提供交易管控界面窗口,接收操作人员基于交易管控界面窗口配置所述操作人员选择的微服务项目的交易管控信息,将所述操作人员选择的微服务项目的交易管控信息记录到该微服务项目的交易信息表中。
7.根据权利要求6所述的一种基于单体生成微服务项目的系统,其特征在于,所述交易管控信息包括交易码、启用交易接口和禁用交易接口。
8.根据权利要求7所述的一种基于单体生成微服务项目的系统,其特征在于,所述微服务项目配置信息包括微服务项目简称、微服务项目中文名、端口号、是否启用注册中心、是否连接到数据库、是否启用redis、是否启用zipkin、注册中心信息、数据源信息、redis信息和zipkin信息;所述项目信息表还包括记录微服务项目简称、微服务项目英文全称、微服务项目中文名称、微服务项目中文描述和application.name 项目的唯一ID,其中,微服务项目简称用来做后台管理界面展示;微服务项目英文全称为微服务项目的物理名称;微服务项目中文名称作为物理项目信息的一部分;微服务项目中文描述作为注解项目作用的信息;application.name 项目的唯一ID记录微服务项目的项目服务名称,作为项目serviceID项目物理标示。
9.根据权利要求8所述的一种基于单体生成微服务项目的系统,其特征在于,所述服务信息表还记录单体的第一基础信息,所述第一基础信息包括单体英文名称、单体中文名称、单体的类型、命名空间、ArteryProjectName 英文名、ArteryProject 目录和ArteryProjectName 中文名。
10.根据权利要求9所述的一种基于单体生成微服务项目的系统,其特征在于,所述交易信息表还包括记录所选用于构成微服务项目的单体中的每个单体的第二基础信息和记录交易服务对应的URL,所述第二基础信息包括交易英文名称、交易中文名称、请求参数名称、响应参数名称和Artery引擎所能识别的路径。
CN202211352928.7A 2022-11-01 2022-11-01 一种基于单体生成微服务项目的方法和系统 Active CN115408055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211352928.7A CN115408055B (zh) 2022-11-01 2022-11-01 一种基于单体生成微服务项目的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211352928.7A CN115408055B (zh) 2022-11-01 2022-11-01 一种基于单体生成微服务项目的方法和系统

Publications (2)

Publication Number Publication Date
CN115408055A CN115408055A (zh) 2022-11-29
CN115408055B true CN115408055B (zh) 2022-12-27

Family

ID=84168360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211352928.7A Active CN115408055B (zh) 2022-11-01 2022-11-01 一种基于单体生成微服务项目的方法和系统

Country Status (1)

Country Link
CN (1) CN115408055B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438101B (zh) * 2017-07-26 2020-09-29 北京中电普华信息技术有限公司 一种单体式应用的服务扩展方法及装置
CN108134696A (zh) * 2017-12-15 2018-06-08 云宏信息科技股份有限公司 一种微服务配置更新方法及装置
CN112416318B (zh) * 2020-11-03 2021-10-08 前海飞算云智软件科技(深圳)有限公司 微服务开发方法、装置、存储介质及电子设备
CN112988223B (zh) * 2021-03-25 2023-08-04 北京百度网讯科技有限公司 框架集成方法、装置、电子设备及存储介质
CN113961173B (zh) * 2021-10-13 2024-04-30 天津大学 基于领域事件驱动的单体系统微服务拆分方法

Also Published As

Publication number Publication date
CN115408055A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
US6959329B2 (en) System and method for transforming configuration commands
US7315924B2 (en) Logical view with granular access to exchange data managed by a modular data and storage management system
US8214444B2 (en) Email attachment management in a computer system
US5778384A (en) System and method for automounting and accessing remote file systems in Microsoft Windows in a networking environment
US6539370B1 (en) Dynamically generated HTML formatted reports
EP1701280B1 (en) File server and method for translating user identifier
US20060031435A1 (en) System and method for configuring a network device
US20060020414A1 (en) System and method for automatically allocating MAC addresses to network cards
US7162500B2 (en) Memory media archiving system and operating method therefor
US20040003067A1 (en) System and method for enabling a user interface with GUI meta data
WO2002079929A2 (en) Method and system for converting data files from a first format to a second format
US20070094278A1 (en) Data transfer services
CN115408055B (zh) 一种基于单体生成微服务项目的方法和系统
US20070183322A1 (en) System and Method for Automated Network Element Database Population
Cisco Preparing to Install CiscoWorks on HP-UX
Cisco Preparing to Install CiscoWorks on HP-UX
US20030046379A1 (en) Network server apparatus, internet appliance terminal unit environment information managing method, and internet appliance terminal unit environment information managing program
US20050125482A1 (en) Telecommunications assignment system
US20040002979A1 (en) Global entity identification mapping
US7277882B1 (en) System and method for network element database population
JP2003242140A (ja) スキーマ管理方法,構造化データ送受信方法,構造化データ処理装置,そのプログラムおよびそのプログラムの記録媒体
JPH05342082A (ja) 分散ファイルシステム
JPH0528067A (ja) コンピユータシステム
JPH04257963A (ja) 分散型コンピュータネットワークシステムにおける共有資源管理方式
JPH1131152A (ja) 電子ファイル装置およびこれを用いた電子ファイルシステム

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