一种微服务集成产品的交付方法、设备及介质

文档序号:1936803 发布日期:2021-12-07 浏览:13次 >En<

阅读说明:本技术 一种微服务集成产品的交付方法、设备及介质 (Delivery method, device and medium for micro-service integrated product ) 是由 柯桓 于 2021-08-25 设计创作,主要内容包括:本申请公开了一种微服务集成产品的交付方法、设备及介质,应用在微服务集成产品的交付系统中,交付系统包括产品模块、交付引擎模块、交付定义模块、交付模块,方法包括:通过产品模块确认交付系统中的微服务集成产品的产品信息;通过交付引擎模块确认微服务集成产品的交付方式,并将交付方式发送至交付定义模块,交付方式至少包括对微服务集成产品进行交付时,交付系统后端产生的指令;通过交付定义模块对交付方式进行编排,创建相应的任务节点,并根据任务节点确定微服务集成产品的交付流程;通过交付模块执行交付流程,并对交付流程进行监控。(The application discloses a delivery method, equipment and medium of a micro-service integrated product, which are applied to a delivery system of the micro-service integrated product, wherein the delivery system comprises a product module, a delivery engine module, a delivery definition module and a delivery module, and the method comprises the following steps: confirming the product information of the microservice integrated product in the delivery system through the product module; confirming a delivery mode of the micro-service integrated product through a delivery engine module, and sending the delivery mode to a delivery definition module, wherein the delivery mode at least comprises an instruction generated at the rear end of a delivery system when the micro-service integrated product is delivered; arranging delivery modes through a delivery definition module, creating corresponding task nodes, and determining a delivery flow of the microservice integrated product according to the task nodes; and executing the delivery flow through the delivery module, and monitoring the delivery flow.)

一种微服务集成产品的交付方法、设备及介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种微服务集成产品的交付方法、设备及介质。

背景技术

目前市面上的大集成类工具多为厂商内部使用,相当于产品内部对接。但由于目前微服务以及云计算技术快速迭代,没有沉淀成一种标准化且通用化的交付工具,大多数云产品都会对所选技术产生很大程度的依赖,甚至在交付部署环节由选型技术产生问题。此外,目前市面上的一些框架集成类产品需要人工进场实施手工部署,部署工具也多为半成品或流程操作文档。

发明内容

为了解决上述问题,本申请提出了一种微服务集成产品的交付方法,应用在微服务集成产品的交付系统中,所述交付系统包括产品模块、交付引擎模块、交付定义模块、交付模块,所述方法包括:通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息;通过所述交付引擎模块确认所述微服务集成产品的交付方式,并将所述交付方式发送至所述交付定义模块,所述交付方式至少包括对所述微服务集成产品进行交付时,所述交付系统后端产生的指令;通过所述交付定义模块对所述交付方式进行编排,创建相应的任务节点,并根据所述任务节点确定所述微服务集成产品的交付流程;通过所述交付模块执行所述交付流程,并对所述交付流程进行监控。

在一个示例中,通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息之后,所述方法还包括:通过所述产品模块对所述微服务集成产品的基础数据和流程数据进行绑定处理和依赖处理;通过所述绑定处理确定所述微服务集成产品的功能模块关联的环境数据和组件;通过所述依赖处理确定所述功能模块存在的依赖关系。

在一个示例中,通过所述交付引擎模块确认所述微服务集成产品的交付方式,具体包括:通过所述交付引擎模块确定交付行为,所述交付行为包括但不限于启动机器脚本、远程通信发送机器指令、网络API请求。

在一个示例中,根据所述任务节点确定所述微服务集成产品的交付流程,具体包括:根据所述交付方式确定所述微服务集成产品的所述任务节点,并确定所述任务节点的执行顺序,根据所述执行顺序确定所述交付流程;通过所述任务节点对所述微服务集成产品的所述交付流程进行监控,确定所述交付流程的突发情况,并对所述突发情况对应的所述任务节点进行排查。

在一个示例中,所述方法还包括:确定所述微服务集成产品的多个所述交付流程,并确定每个所述交付流程对应的所述任务节点,对所述多个交付流程进行进程隔离。

在一个示例中,所述交付系统还包括产品管理模块和订单管理模块,所述方法还包括:根据所述产品信息确认维护人员对所述微服务集成产品的产品登记信息,并通过所述产品管理模块对所述产品登记信息进行维护;通过所述订单管理模块确认所述微服务集成产品的订单信息,并确认所述订单信息对应的客户信息和产品授权信息,根据所述订单信息确定交付网络请求。

在一个示例中,所述交付系统还包括业务端口,所述方法还包括:通过所述业务端口确定所述微服务集成产品的产品初始化信息,并确认所述微服务集成产品的产品功能信息;确定所述微服务集成产品的购买需求,根据所述购买需求确定申请订单。

在一个示例中,所述方法还包括:通过所述交付系统对所述申请订单进行校验是否合规,若所述申请订单合规,则根据所述申请订单确定对应的所述交付流程;根据所述申请订单自动执行对应的所述交付流程。

另一方面,本申请提出了一种微服务集成产品的交付设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种微服务集成产品的交付设备能够执行:通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息;通过所述交付引擎模块确认所述微服务集成产品的交付方式,并将所述交付方式发送至所述交付定义模块,所述交付方式至少包括对所述微服务集成产品进行交付时,所述交付系统后端产生的指令;通过所述交付定义模块对所述交付方式进行编排,创建相应的任务节点,并根据所述任务节点确定所述微服务集成产品的交付流程;通过所述交付模块执行所述交付流程,并对所述交付流程进行监控。

另一方面,本申请提出了一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息;通过所述交付引擎模块确认所述微服务集成产品的交付方式,并将所述交付方式发送至所述交付定义模块,所述交付方式至少包括对所述微服务集成产品进行交付时,所述交付系统后端产生的指令;通过所述交付定义模块对所述交付方式进行编排,创建相应的任务节点,并根据所述任务节点确定所述微服务集成产品的交付流程;通过所述交付模块执行所述交付流程,并对所述交付流程进行监控。

本申请通过搭建独立中间件系统的方式,对交付请求进行统一标准化规范,并通过搭建自定义模型的方式,支持多种场景下的微服务集成类的产品交付,交付方式包括但不限于API请求、脚本部署、环境拷贝等。本申请在产品方面可以自由根据技术特性完善业务功能,将部署等复杂度高的任务交由交付工具来完成。并且各微服务产品在按照交付工具的统一标准完成部署流程对接后,可以由交付工具统一协调完成产品集成部署对接工作。各产品仅需要向交付工具提供详细的信息、资源、环境等条件或需求,并开放相关信息获取或检索方式,不用再由各产品之间自行完成功能环境对接集成。

本申请提出的一种微服务集成产品的交付方法不受限于市面上的云部署框架,主要在系统或平台层面解决云产品部署问题,所以自身不会与当前任意一种框架产生冲突,并做到在系统层支持所有的云产品部署框架。

本申请提出的一种微服务集成产品的交付方法主要基于系统脚本语言、远程通信、网络API请求,在这些现有技术基础上研发了交付行为引擎,对相关技术行为或操作进行编排或模拟,通过代码以及脚本整合模拟运维实施人员在手工部署各种云产品的流程,不限于是市场通用还是自研,并最终实现通过交付工具来代替高难度人工部署交付流程。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例中一种微服务集成产品的交付方法的流程示意图;

图2为本申请实施例中微服务集成产品的交付系统的结构示意图;

图3为本申请实施例中一种微服务集成产品的交付设备的示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

如图1所示,本申请实施例提供了一种微服务集成产品的交付方法,应用在微服务集成产品的交付系统中,该交付系统包括产品模块、交付引擎模块、交付定义模块、交付模块,该方法包括:

S101:通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息。

产品人员将自己的微服务集成产品的产品信息通过产品模块与该交付系统进行绑定。通过交付系统的产品模块对微服务集成产品的产品信息进行管理。

S102:通过所述交付引擎模块确认所述微服务集成产品的交付方式,并将所述交付方式发送至所述交付定义模块,所述交付方式至少包括对所述微服务集成产品进行交付时,所述交付系统后端产生的指令。

交付引擎模块构建以系统层面为基准的交付方式,按照系统命令、脚本语言、网路服务由低到高的方向建立最优构建方式来实现交付操作行为构建。产品人员通过产品模块为该微服务集成产品提供交付的场景和需求,例如:执行脚本、发送的网络请求、打开系统端口的命令、清理执行过程产生的缓存文件等,由交付引擎模块根据上述场景和需求,为该产品提供交付抽象模型,即实际完成产品交付的命令和动作。

S103:通过所述交付定义模块对所述交付方式进行编排,创建相应的任务节点,并根据所述任务节点确定所述微服务集成产品的交付流程。

通过交付定义模块对交付引擎模块提供的交付方式进行编排,并根究该交付方式创建成产品需要的交付方式,即该微服务集成产品的交付需要启动的交付流程,以及每个交付流程需要的任务节点数量。

S104:通过所述交付模块执行所述交付流程,并对所述交付流程进行监控。

交付模块获取订单管理模块的交付流程,并执行该交付流程,同时记录交付流程中产生的日志信息,以通过交付模块对产品的交付流程进行监控,其监控范围包括查看交付进度、记录日志信息、调整交付参数等功能。

在一个实施例中,产品人员用过产品模块提供微服务集成产品的产品信息,该产品信息包括产品名称、产品描述、产品交付说明信息等。确认上述产品信息后,产品模块对该微服务集成产品的基础数据和流程数据进行绑定或依赖处理。绑定是指部分产品对于环境数据或组件的关联,例如:环境变量、系统端口、磁盘内的指定配置文件等,缺失上述关联信息会导致产品无法交付使用,在执行交付前需要先对关联信息进行检查。依赖是指确认产品内的功能模块存在的依

在一个实施例中,交付引擎模块作为交付系统的核心,整合实现了包括启动机器脚本、远程通信发送机器指令、网络API请求等多种操作行为。机器脚本指系统级别的命令,例如:Windows系统的cmd命令以及Linux系统的shell

命令,这种命令是系统自带的不用安装任何软件,可以实现底层命令。远程通信是指可以通过远程通信工具,例如:安全外壳协议(Secure Shell,SSH),以实现机器间数据发送或者文件传输。网络API请求是指访问指定url网络地址。例如:搭建产品授权控制中心,第一步需要访问外网地址下载安装文件;

第二步使用系统命令安装文件、打开机器指定端口用于产品授权控制中心通信使用、启动控制中心并生成授权文件;第三步使用SSH发送授权文件至其他需要控制授权的机器。

在一个实施例中,交付定义模块是通过编排交付引擎模块提供的行为功能来组合成微服务集成产品需要的交付流程。产品的交付流程是由任务节点组合实现,例如:远程发送网络请求、启动脚本都可以作为一个独立的任务节点。

或者根据产品复杂情况自定义一个系列的操作行为作为一个任务节点。一条交付流程内的所有任务节点全部正常完成则视为该任务流程结束,所有交付流程正常结束则视为产品完成交付。通过上述任务节点的交付方式,可以实现以下效果:第一,确定执行顺序。产品的交付需要多步操作实现,例如:linux系统中,一个模块安装文件的执行需要文件拷贝、文件授权、文件执行三步操作,三步操作的顺序不能改变,后一步需要确认前一步成功执行后才能执行。第二,记录日志并监控检查。在自动执行交付流程时可能会出现任何突发情况,所以任务节很有可能是毫无关联的,例如:同时安装杀毒软件和数据库软件,那么通过组合任务节点就可以做到两个任务流程分别进行,且不会相互影响,从而达到节省时间以及事务隔离。

在一个实施例中,针对在日常工作中,来自不同公司各种产品及模块的交付场景多样性,同时降低产品交付的操作复杂度,本申请实施例中,该微服务集成产品的交付系统还包括产品管理模块。通过产品管理模块,产品的维护人员根据资源情况对所述微服务集成产品的产品登记信息进行确认,产品登记信息包括:产品域名、交付地址、参数字段等信息。通过产品管理模块对产品登记信息进行管理维护。

该微服务集成产品的交付系统还包括订单管理模块。该订单管理模块用于确认产品的销售订单信息,并对客户信息、产品授权信息进行识别和整理,最终生成产品交付的网络请求,并根据该网络请求补充完成交付流程。

在一个实施例中,如图2所示,交付系统部署采用Docker镜像部署+mySQL数据库模式,并开放出业务端口。产品人员可以通过API或者数据库预制的方式将产品初始化信息上传到交付系统中,该产品初始化信息包括产品名称、产品计价规则、产品交付方式等。由于公司交付产品大多是部署在公有云,且已完成功能模块封装,故交付方式均为网络API请求,只需发送客户信息、购买明细即可完成相关模块交付工作。

产品信息完成确认以后,产品人员发布产品的最新功能模块情况,由销售人员联系客户确认购买业务需求,并整合成申请订单。销售人员是指产品交付的实现范例场景的一个角色,负责整理客户方的业务需求。由于一个完整地产品可能有多个模块,但是客户只购买其中的个别模块,所以在真实场景下需要销售人员这个角色进行业务梳理。

在一个实施例中,实施人员通过API将申请订单发送至交付系统。交付系统接收到申请订单后,对该申请订单中的数据进行校验和识别,确认信息是否合规。若申请订单的信息合规,则将申请订单转化和记录为产品交付信息,补充完成交付流程。交付流程生成完毕后,可以自动进行流程启动,也可以通过API接口由实施人员手动控制决定交付时机。针对结构较为简单的微服务产品,在交付流程生成完毕后即可自动执行产品交付步骤。而针对部署时间长、需要资源调配、授权模块数量多、线上线下需要协调进行交付的产品,则是由实施人员确认交付的相关条件均检查没有问题后,再进行交付操作。

如图3所示,本申请实施例还提供了一种微服务集成产品的交付设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述一种微服务集成产品的交付设备能够执行:

通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息;

通过所述交付引擎模块确认所述微服务集成产品的交付方式,并将所述交付方式发送至所述交付定义模块,所述交付方式至少包括对所述微服务集成产品进行交付时,所述交付系统后端产生的指令;

通过所述交付定义模块对所述交付方式进行编排,创建相应的任务节点,并根据所述任务节点确定所述微服务集成产品的交付流程;

通过所述交付模块执行所述交付流程,并对所述交付流程进行监控。

本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

通过所述产品模块确认所述交付系统中的微服务集成产品的产品信息;

通过所述交付引擎模块确认所述微服务集成产品的交付方式,并将所述交付方式发送至所述交付定义模块,所述交付方式至少包括对所述微服务集成产品进行交付时,所述交付系统后端产生的指令;

通过所述交付定义模块对所述交付方式进行编排,创建相应的任务节点,并根据所述任务节点确定所述微服务集成产品的交付流程;

通过所述交付模块执行所述交付流程,并对所述交付流程进行监控。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种处理业务请求的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!