掌桥专利:专业的专利平台
掌桥专利
首页

面向技术资源共享的微服务管理系统

文献发布时间:2023-06-19 19:20:08


面向技术资源共享的微服务管理系统

技术领域

本发明涉及分布式架构技术领域,具体涉及一种面向技术资源共享的微服务管理系统。

背景技术

传统软件系统通常采用单体架构,然而,随着技术发展、系统规模的扩大、需求及用户量不断的增加,传统的单体架构暴露出了越来越多的问题,包括:功能耦合导致软件功能修改困难、部署速度慢、难以按需伸缩等。微服务架构的出现一定程度上解决了上述的问题,微服务架构的核心思想是将单体程序尽可能细粒度地进行拆解,使用多个微服务来实现单个应用,每个微服务运行在自己的进程中,并能够通过自动化部署机制来独立部署,可以使用不同编程语言来实现,采用不同数据存储技术,并采用最低限度的集中化管理。采用微服务架构的管理系统(即微服务管理系统)对各个微服务进行部署及管理。

目的,主要的微服务管理系统只面向单个资源,而对业务场景和服务使用需求缺少考虑,因此,存在有以下多个问题:(1)现有的微服务管理系统所管理的是通用的微服务,而没有根据特定场景对相应的微服务进行全生命周期的针对性管理;(2)在微服务的发布方面,所有服务及相关单元均由系统设计人员和开发人员控制及维护,其他设计团队通过调用相应的API进行访问,因此服务的发布及应用均有很大限制,无法满足面向多类技术资源共享的场景,例如众创开发的场景,同时,技术资源非常多样、接口不统一且复杂,现有技术中,这样的微服务发布后难以实现协同管理;(3)在微服务的部署方面,目前,遵循轻量级通信原则,单个微服务一般部署在轻量级容器中,由系统设计人员编写配置文件,并通过打包命令实现容器化部署,但是,在技术资源共享的场景下,微服务有多种不同来源,服务发布者需要获知端口占用、容器ID及容器的使用情况才能编写正确的配置文件、输入正确的部署命令,整个过程复杂且易出错;(4)在微服务编排方面,目前存在一些开放服务平台以REST方式对外提供服务,但当开发者需要将基础服务进行较为复杂的组合时,即使基础服务的数量并不多,但由于需要屏蔽不同的基础服务之间的差异性,因此看似简单的服务组合往往需要付出很大代价,效率低;(5)在微服务运维方面,现有技术中,服务发现者与服务提供者依赖于一个受信任的第三方平台解决信任问题,这种方式增加了技术资源共享的复杂性,降低了共享效率。

如上,现有的微服务管理系统难以满足技术资源共享场景中微服务的发布及管理,因此,需要一种面向技术资源共享的微服务管理系统,为技术资源共享的场景提供针对性的微服务管理。

发明内容

为解决上述问题,提供一种面向技术资源共享的微服务管理系统,本发明采用了如下技术方案:

本发明提供了一种面向技术资源共享的微服务管理系统,为多种不同类型的微服务提供全生命周期的针对性管理,其特征在于,包括微服务发布模块,用于根据预定的服务模板将技术资源转换为具有标准化封装接口的微服务并进行发布;微服务部署模块,用于将发布的微服务打包进容器并部署到云端,形成云端微服务;微服务编排模块,用于供用户将发布的微服务进行组合,生成复合服务;以及微服务运维模块,至少用于对云端微服务以及复合服务进行状态检测,其中,面向技术资源共享的微服务管理系统与应用服务层连接,应用服务层至少包括服务配置模板模块,存储有预定的服务模板。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,容器内还打包有微服务所需的运行环境、运行依赖以及运行框架。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,技术资源具有服务来源以及服务类型,预定的服务模板的数量为多个,分别对应于不同的服务来源以及不同的服务类型,定义了规范、统一的封装接口,微服务发布模块的功能包括:定义服务类型及方法参数;根据服务类型调用对应的服务配置模板;根据服务模板将技术资源转换为微服务;以及生成微服务的描述文件。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,微服务部署模块的功能包括:自动生成部署微服务所需的部署配置文件;将微服务容器化;以及根据部署配置文件将容器化后的微服务部署到云端。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,应用服务层还包括可视化容器管理模块,用于为微服务的容器化及部署提供可视化的操作界面,微服务部署模块的功能还包括:显示微服务容器化的过程及参数;以及显示微服务部署到云端的过程及参数。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,面向技术资源共享的微服务管理系统还与服务共享区块链连接,微服务运维模块还通过服务共享区块链为云端微服务提供可信存证以及服务溯源。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,可信存证包括微服务的基本信息、接口信息、使用情况、使用状态以及参与者的基本信息,参与者包括微服务的提供者以及调用者。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,还包括微服务编排模块,用于供用户将微服务进行组合,生成复合服务,其中,应用服务层还包括可视化拖拽模块,微服务编排模块还通过可视化拖拽模块为用户提供可视化、可拖拽的操作界面。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,服务模板中包含有预定的多种IO接口匹配方式及流程,分别对应于不同业务的微服务之间的交互,微服务编排模块以服务模板的组合为基准,以对应的微服务为实例进行组合。

本发明提供的面向技术资源共享的微服务管理系统,还可以具有这样的技术特征,其中,微服务编排模块的功能包括:对多个服务模板进行服务检索;将多个服务模板按预定规则排序;以服务模板的组合为基准、以对应的微服务为实例生成复合服务;以及自动部署复合服务。

发明作用与效果

根据本发明的面向技术资源共享的微服务管理系统,由于具有微服务发布模块,应用服务层的服务配置模板模块中存储有预定的服务模板,因此能够根据预定的服务模板将用户提供的技术资源转换为具有标准化封装接口的微服务并进行发布,提升了发布的效率;由于具有微服务部署模块,因此能够将发布的微服务打包进容器并部署到云端,使之成为能够在云端运行的云端微服务;由于具有微服务编排模块,因此用户能够将发布的微服务进行组合,得到所需的复合服务,也即用户应用;还由于具有微服务运维模块,因此能够对云端微服务及用户进行状态检测,以保证其服务状态。如上所述,本发明的面向技术资源共享的微服务管理系统为技术资源的微服务化、容器化及其应用构建提供了全生命周期的支撑工具,可以全面提升技术资源服务共享的效率以及用户体验。

附图说明

图1是本发明实施例的面向技术资源共享微服务管理系统的结构框图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的面向技术资源共享的微服务管理系统的总体框架及其部分实现作具体阐述。

<实施例>

本实施例提供了一种面向技术资源共享的微服务管理系统,应用于科技旅游中的前沿装备资源共享场景,该微服务管理系统将相关的技术资源转换为微服务,并为微服务提供全生命周期的针对性管理,包括发布、部署、编排及调用。其中,所涉及的微服务具有多种不同的服务类型,包括目标应用系统所要调用的用户交互微服务、视频处理微服务、资源封装微服务等等类型。

其中,上述的技术资源包括一些单价高、技术升级快因而实际操作困难的、涉及大量前沿科技的技术资源,这些技术资源因上述的原因不适合单独购买。通过本实施例的面向技术资源共享的微服务管理系统,上述技术资源的拥有者可以将这些技术资源数字化发布为共享服务,并对其进行相应的管理,其他用户可以检索并使用这些共享服务,或进一步使用这些共享服务构建新的应用,从而达到技术资源共享的目的。

图1是本发明实施例的面向技术资源共享微服务管理系统的结构框图。

如图1所示,本实施例的面向技术资源共享微服务管理系统10包括控制模块11、服务发布模块12、服务部署模块13、服务组合模块14以及服务运维模块15。

并且,面向技术资源共享微服务管理系统10还直接或间接地与应用服务层20、业务逻辑层30、基础服务层40、服务共享区块链50以及数据层60进行交互。

其中,应用服务层20包括服务配置模板模块21、可视化容器管理模块22以及可视化拖拽模块23。

基础服务层40包括服务注册、容器管理、服务检测等多个基础服务。

数据层60包括云端数据库以及本地数据库。

以下将详细说明面向技术资源共享微服务管理系统10中各个模块的作用以及与其他层的交互关系。

控制模块11用于管理上述的服务发布模块12、服务部署模块13、服务组合模块14以及服务运维模块15。

服务发布模块12用于供用户将其所拥有的技术资源作为共享服务进行发布,根据技术资源的服务来源及服务类型,使用不同服务来源、不同服务类型所对应的服务模板配置完成微服务的封装,服务模板中定义了规范、统一的微服务封装接口,因此,服务发布模块12将技术资源通过开发远程操作接口实现数字化,并进一步通过封装接口标准化形成微服务,也即,服务发布模块12解决了技术资源共享所需的技术资源的服务化。

服务发布模块12的功能包括:定义服务类型及方法参数;根据服务来源、服务类型调用对应的服务模板及方法函数;对上传的技术资源的服务代码中的函数名、请求方式及返回值进行检测;基于上述检测,以文本形式输出对服务代码的修改建议;根据服务模板将技术资源转换为具有标准接口的微服务;以及生成微服务的描述文件。

具体地,服务配置模板模块21中存储有多个预定的服务模板,分别对应于不同的预定的服务来源、服务类型。服务发布模块12获取预定的服务模板并构建服务注册中心,服务注册中心通过预定的服务模板对预发布的微服务的代码包进行预处理,将该微服务的代码包转换为符合所属服务类别的命名方式、函数及参数命名标准的新的服务部署包,最后输出该微服务的多个描述文件,多个描述文件包括xml文档格式的Service data描述文件以及描述接口操作的wsdl格式的描述文件。服务发布模块12的接口示例如下:

服务发布

GET/service/interface/extraction#服务接口抽取

POST/service/name/detection#根据服务类型进行代码中命名规范的检测

GET/service/name/detection#根据对应服务类型对服务中函数返回值规范的检测

GET/generate/modify/advice#生成服务修改建议

GET/generate/service/desc#生成服务描述

PUT/generate/service/register#服务注册

微服务部署模块13将微服务发布模块12发布的微服务容器化并部署到云计算环境中,形成云端微服务,微服务部署模块13将微服务的软件代码及其运行需要的运行环境、依赖、框架打包在一起,使微服务隔离在自己的容器中从而可以在任何环境和任何基础架构上一致地移动和运行,并且通过可视化容器管理模块22将容器化及部署的过程及参数进行显示。也即,微服务部署模块13解决了技术资源共享所需的技术资源的容器化及云化。

微服务部署模块13的功能包括:自动生成部署微服务所需的部署配置文件;将微服务容器化;将容器化后的微服务根据部署配置文件部署到云端;显示微服务容器化的过程及参数;以及显示微服务部署的过程及参数。

具体地,微服务部署模块13用于与docker进行交互,对容器进行可视化的增删改查等操作,获取容器的详细信息并进行状态监控。进而,服务部署模块13将微服务的代码、微服务运行所需的运行环境、运行依赖以及运行框架一同打包进容器中。进一步,服务部署模块13以服务发布模块12所发布的标准化后的微服务为基础,为这些微服务自动生成部署所需的配置文件,并完成自动化部署。同时,服务部署模块13还能够通过可视化容器管理模块22将微服务容器化的配置及管理过程实现到可直接操作的用户界面上,对获取容器的端口、内存使用情况等相关信息进行显示。同时,服务部署模块13也能够显示部署的相关信息,包括所部署服务的状态、调用情况、异常处理参数等。服务部署模块13的接口示例如下:

服务部署

POST/docker/generate/initFile#根据config信息生成服务部署的配置文件

POST/docker/container/config#容器配置

GET/docker/container/list#获取所有容器列表

GET/docker/container/logs#获取指定容器日志

GET/docker/container/start#启动容器

GET/docker/container/restart#重新启动容器

DELETE/docker/container/stop#停止容器

DELETE/docker/container/delete#删除容器

微服务编排模块14用于供用户将发布的微服务进行组合,生成用户所需的复合服务,也即用户应用。微服务编排模块14根据预定的服务类型及服务模板,在所抽象出的服务模板中预定义多种不同业务的微服务之间交互的IO接口的匹配方式(也即定义了不同类型的微服务之间的关联关系)及执行逻辑,在编排时,以预定的抽象服务模板的组合为基准,以其对应的类型下的具体微服务为实例,将微服务进行动态组合,从而达到屏蔽微服务间的复杂配置及其不一致性的目的,得到可用、可伸缩、可动态替换其组成部分的复合服务,从而满足某一业务流程的功能需求,提升了编排仿真水平。同时,微服务编排模块14还能够通过可视化拖拽模块23为用户提供可视化、可拖拽的操作方式,因此提高了编排效率。

微服务编排模块14的功能包括:对多个服务模板进行服务检索;将多个服务模板按预定规则进行排序;以服务模板的组合为基准、以对应的微服务为实例生成复合服务,即用户应用;以及自动部署生成的复合服务。

具体地,微服务编排模块14拉取微服务发布模块12的注册中心的服务列表,获取所有发布的微服务,并将各个微服务分别归置于其相应的服务类别之下,以服务类型对应的服务模板之间的交互为基准,将拖拽后的实例微服务组合填充生成交互代码,完成后,将组合后的复合服务通过微服务发布模块12及微服务部署模块13进行自动化发布及部署。微服务编排模块14的接口示例如下:

服务编排

GET/service/list#获取指定类型的服务列表

POST/service/compose/structure#获取可视化拖拽组合后服务的组合结构

PUT/service/combined/filling#对实例服务之间的交互调用进行填充

服务运维模块15用于对云端微服务以及复合服务的服务状态进行检测,并且通过服务共享区块链50及智能合约开发环境为微服务提供可信存证及服务溯源。其中,服务运维模块15通过智能合约对微服务从发布到调用的整个流程提供自动存证,该自动存证包括参与者的基本信息、微服务的基本信息、微服务的接口信息、微服务的使用情况、微服务的服务状态的自动存证,参与者包括微服务的提供者以及微服务的调用者。

具体地,服务运维模块15进行服务状态的检测,并在检测到故障时触发告警、分析故障的原因,同时,服务运维模块15利用基于智能合约的服务共享区块链50实现服务的溯源以及存证基于超文件传输协议2.0建立的点对点协议进行传输,数据结构经过优化能够有效维护众参与者重复的整体状态。

如上所述,通过本实施例的面向技术资源共享微服务管理系统10,能够基于预定的服务模板将技术资源作为微服务进行发布、对微服务进行自动部署、服务状态检测以及服务溯源,此外,用户还能够将发布的微服务组合为复合服务并同样进行发布及部署。

实施例作用与效果

根据本实施例提供的面向技术资源共享微服务管理系统10,由于具有微服务发布模块12,应用服务层20的服务配置模板模块21中存储有预定的服务模板,因此能够根据预定的服务模板将用户提供的技术资源转换为具有标准化接口的微服务并进行发布,提升了发布的效率;由于具有微服务部署模块13,因此能够将发布的微服务打包进容器并部署到云端,使之成为能够在云端运行的云端微服务;由于具有微服务编排模块14,因此用户能够将发布的微服务进行组合,得到所需的复合服务,也即用户应用,并同样进行发布及自动部署;还由于具有微服务运维模块15,因此能够对云端微服务及复合服务进行状态检测,以保证其服务状态。如上所述,本发明的面向技术资源共享的微服务管理系统10为技术资源共享的应用场景做了针对性的设计,为技术资源的微服务化、容器化及其应用构建提供了全生命周期的支撑工具,可以全面提升技术资源服务共享的效率以及用户体验。

具体地,微服务发布模块12通过预定的技术资源的服务类型,使用不同服务来源、不同服务类型所对应的服务模板配置完成微服务的封装,每种类型均具有各自的服务规范和属性配置,因此,能够快速地生成具有规范、统一封装接口的微服务并进行发布,提高了发布效率,并且由于发布的微服务具有规范、统一的封装接口,因此微服务发布后也易于实现协同管理。

进一步,微服务部署模块13将微服务发布模块12发布的微服务的代码及其需要的运行环境、依赖及框架一同打包进容器中,因此,对微服务实现了容器化,使微服务能够隔离在自己的容器中从而可以在任何环境和任何基础架构上一致地移动和运行。微服务部署模块13还自动生成部署配置文件并通过该文件将容器化后微服务自动部署到云端,因此,实现了微服务的云化,并大大提高了部署效率。此外,微服务部署模块13还通过可视化容器管理模块22为操作者提供了上述过程的直观的、可视化的界面,便于操作者观察、跟踪流程,从而避免了出错。

进一步,用户能够通过微服务编排模块14将发布的多个微服务按需要进行组合,生成所需要的复合服务。具体地,用户能够通过微服务编排模块14以及可视化拖拽模块23将多个微服务以可视化、可拖拽的方式进行动态组合,用户操作完成后,微服务编排模块14以预定的服务模板为基准、以其服务类型对应的具体微服务为实例进行组合生成复合服务,从而达到屏蔽微服务间的复杂配置及其不一致性的目的,使得用户能够更为直观、方便且快速地生成所需的复合服务,大大提高了复合服务的构建效率。

进一步,微服务运维模块15能够对微服务的服务状态进行检测,并利用服务共享区块链及智能合约开发环境对微服务从发布到调用的整个流程提供自动存证及服务溯源,而不再需要依赖第三方平台,因此降低了技术资源共享的复杂性,提高了共享效率。

上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。

在上述实施例中,面向技术资源共享微服务管理系统10应用于科技旅游中的前沿装备资源共享场景,在本发明的其他方案中,面向技术资源共享微服务管理系统10也可以应用于其他技术资源共享场景,例如应用于教学实训领域以前沿装备作为共享技术资源的共享场景。

相关技术
  • 基于强化学习的面向微服务的资源管理系统
  • 面向微服务的领域对象的低代码管理系统
技术分类

06120115870580