一种无代码方式构建微服务的方法及系统与流程

文档序号:33281098发布日期:2023-02-24 21:01阅读:32来源:国知局
一种无代码方式构建微服务的方法及系统与流程

1.本发明涉及微服务技术领域,更具体的,涉及一种无代码方式构建微服务的方法及系统。


背景技术:

2.随着互联网的快速发展,传统的信息管理系统不仅规模越发庞大复杂,而且也难以应对信息的多样化,利用微服务架构具有独立部署、单一职责、便于维护的特点,可以解决单体架构扩展性和维护性差的问题,所以越来越多的业务系统从单体架构转向了微服务架构。随着企业对微服务架构的深入研究,发现了一些问题,如微服务架构本身自带的复杂性、用户安全性等问题,微服务架构通过业务有效拆分服务,实现了敏捷开发和快速扩缩容部署等好处,解决了系统服务高并发、高可用、高扩展的问题外,也提升了核心业务系统的业务和代码复杂度。
3.随着数字化发展不断深入,客户需求与底层技术发生翻天覆地的变化,传统的软件开发方式已无法快速响应由产业环境变化而导致的企业业务诉求变化;同时,传统的业务流程引擎在进行业务处理时仍存在诸如架构复杂、灵活性低、与应用系统难以集成等问题。其次,我国软件产业迅速发展,旺盛的it人才需求与当前人才供给能力不匹配,人才贵、流失率高等问题成为限制企业发展的重要因素。因此,如何提供一种成本低、效率高无代码方式构建微服务平台是本领域技术人员亟需解决的问题。


技术实现要素:

4.为了解决上述技术问题,本发明提出了一种无代码方式构建微服务的方法及系统。
5.本发明第一方面提供了一种无代码方式构建微服务的方法,包括:获取待构建的微服务初始信息,导入微服务设计器,基于服务环境组件和服务组件通过xml文件格式进行服务注册,将注册好的服务用于服务编排;通过图形化界面的微服务设计器检查服务是否注册成功;根据业务需求,基于已注册的服务进行服务编排,通过微服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务;根据服务属性面板进行组件对微服务的基本信息和高级参数进行配置。
6.本方案中,所述微服务设计器包括:组件和配置器,采用html5技术实现,通过拖放组件方式选择所需的组件,进行微服务的无代码方式构建。
7.组件包括服务组件容器、服务环境创建器组件、服务组件、服务插件;服务组件包括平台内置服务组件和自定义服务组件,自定义服务组件通过xml方式注册到微服务设计器。
8.配置器包括服务组件属性的配置,事务模式的配置,事务模式包括依赖于上下文提交、容器管理的自动提交、容器管理的手动提交、组件管理的提交模式。
9.本方案中,微服务由服务组件容器、服务环境创建器组件、服务组件、服务插件组成;所述服务组件容器servercontainer,负责整个服务执行过程中的环境创建、事物提交回滚以及异常管理,并决定服务的事务模式:依赖于上下文提交、容器管理的自动提交、容器管理的手动提交、组件管理的提交模式;所述服务环境创建器组件servicecontextbuilder,负责创建整个服务的运行环境,包括接受分析调用者传递的参数,生成返回给调用者的数据,进行环境的初始化工作,能够进行多个罗列;所述服务组件servicecomponentadapter,用于管理插件,决定插件的接口,调用符合预设服务规则的接口,通过设计插件决定组件本身的执行方法和所包含插件的方法及参数,并负责插件功能的调用;所述服务插件serviceplugin adapter,用于执行所属的服务组件的功能。
10.本方案中,基于已注册的服务进行服务编排,具体为:通过服务组件容器servercontainer进行服务编排的准备阶段,选择所需的服务环境创建器组件进行服务准备阶段的编排;通过服务组件servicecomponentadapter进行服务编排的执行阶段,选择所需的服务组件和服务插件进行服务编排的执行阶段;通过服务组件容器servercontainer进行服务编排的结束阶段,选择所需的服务环境创建器组件进行服务结束阶段的编排。
11.本方案中,当微服务被调用时,根据传入的参数创建服务的运行环境,然后通过一定的顺序执行服务的各个插件,完成相应的业务逻辑,返回服务执行结果,具体为:调用服务环境创建器组件,根据服务调用者传入的参数创建服务的运行环境以及服务的返回值;获取服务准备阶段prepare的插件名称,得到服务的服务准备阶段执行方法,根据服务准备阶段执行方法的方法名采用invoke方法进行逐个插件的调用;获取服务执行阶段run的插件名称,得到服务的服务执行阶段执行方法,根据服务执行阶段执行方法的方法名采用invoke方法进行逐个插件的调用;获取服务结束阶段finish的插件名称,得到服务的服务结束阶段执行方法,根据服务结束阶段执行方法的方法名采用invoke方法进行逐个插件的调用;对服务执行过程进行监控,获取整个服务、组件、插件的执行状态信息。
12.本发明第二方面还提供了一种无代码方式构建微服务的系统,该系统包括:存储器、处理器,所述存储器中包括一种无代码方式构建微服务的方法程序,所述一种无代码方式构建微服务的方法程序被所述处理器执行时实现如下步骤:获取待构建的微服务初始信息,导入微服务设计器,基于服务环境组件和服务组件通过xml文件格式进行服务注册,将注册好的服务用于服务编排;通过图形化界面的微服务设计器检查服务是否注册成功;根据业务需求,基于已注册的服务进行服务编排,通过微服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务;根据服务属性面板进行组件对微服务的基本信息和高级参数进行配置。
13.本发明公开了一种无代码方式构建微服务的方法及系统,包括:基于服务环境组件和服务组件通过xml文件格式进行服务注册;通过图形化界面的微服务设计器检查服务是否注册成功;根据业务需求,基于已注册的服务进行服务编排,通过微服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务;服务属性面板进行组件基本信息和高级参数配置;微服务编排整个过程是可以动态插拔的,调整微服务编排的组件无需重启服务。本发明通过服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务,实现快速响应企业业务诉求变化,降低企业的成本。通过微服务执行过程分为准备阶段、执行阶段、结束阶段,每个阶段内可以有多个服务组件,每个服务组件可以有多个服务插件,实现微服务的灵活可定制。
附图说明
14.图1示出了本发明一种无代码方式构建微服务的方法的流程图;图2示出了本发明中微服务调用时服务执行的方法流程图;图3示出了本发明中服务执行流程的示意图;图4示出了本发明一种无代码方式构建微服务的系统的框图。
具体实施方式
15.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
16.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
17.图1示出了本发明一种无代码方式构建微服务的方法的流程图。
18.如图1所示,本发明第一方面提供了一种无代码方式构建微服务的方法,包括:s102,获取待构建的微服务初始信息,导入微服务设计器,基于服务环境组件和服务组件通过xml文件格式进行服务注册,将注册好的服务用于服务编排;s104,通过图形化界面的微服务设计器检查服务是否注册成功;s106,根据业务需求,基于已注册的服务进行服务编排,通过微服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务;s108,根据服务属性面板进行组件对微服务的基本信息和高级参数进行配置。
19.需要说明的是,将微服务初始信息中的地址信息进行注册,服务组件调用注册中心实现服务查询并获得可用的服务实例地址列表,通过地址查验判断是否注册成功;所述微服务设计器包括:组件和配置器,采用html5技术实现,通过拖放组件方式选择所需的组件,进行微服务的无代码方式构建。
20.组件包括服务组件容器、服务环境创建器组件、服务组件、服务插件;服务组件包括平台内置服务组件和自定义服务组件,自定义服务组件通过xml方式注册到微服务设计
器。
21.配置器包括服务组件属性的配置,事务模式的配置,事务模式包括依赖于上下文提交、容器管理的自动提交、容器管理的手动提交、组件管理的提交模式。
22.需要说明的是,微服务由服务组件容器、服务环境创建器组件、服务组件、服务插件组成;所述服务组件容器servercontainer,负责整个服务执行过程中的环境创建、事物提交回滚以及异常管理,并决定服务的事务模式:依赖于上下文提交、容器管理的自动提交、容器管理的手动提交、组件管理的提交模式;所述服务环境创建器组件servicecontextbuilder,负责创建整个服务的运行环境,包括接受分析调用者传递的参数,生成返回给调用者的数据,进行环境的初始化工作,能够进行多个罗列;所述服务组件service component adapter,用于管理插件,决定插件的接口,调用符合预设服务规则的接口,通过设计插件决定组件本身的执行方法和所包含插件的方法及参数,并负责插件功能的调用;所述服务插件service plugin adapter,用于执行所属的服务组件的功能。
23.需要说明的是,基于已注册的服务进行服务编排,具体为:通过服务组件容器servercontainer进行服务编排的准备阶段,服务组件容器负责整个服务执行过程中的环境创建,事物提交回滚以及异常管理等一系列的活动,选择所需的服务环境创建器组件进行服务准备阶段的编排;通过服务组件servicecomponentadapter进行服务编排的执行阶段,服务组件包括一系列的插件,决定组件本身的执行方法和所包含插件的方法及参数,根据方法做插件功能调用选择所需的服务组件和服务插件进行服务编排的执行阶段;通过服务组件容器servercontainer进行服务编排的结束阶段,选择所需的服务环境创建器组件进行服务结束阶段的编排;通过服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务。
24.图2、3示出了本发明中微服务调用时服务执行的方法流程图及示意图;根据本发明实施例,当微服务被调用时,根据传入的参数创建服务的运行环境,然后通过一定的顺序执行服务的各个插件,完成相应的业务逻辑,返回服务执行结果,具体为:s202,调用服务环境创建器组件,根据服务调用者传入的参数创建服务的运行环境以及服务的返回值;s204,获取服务准备阶段prepare的插件名称,得到服务的服务准备阶段执行方法,根据服务准备阶段执行方法的方法名采用invoke方法进行逐个插件的调用;s206,获取服务执行阶段run的插件名称,得到服务的服务执行阶段执行方法,根据服务执行阶段执行方法的方法名采用invoke方法进行逐个插件的调用;s208,获取服务结束阶段finish的插件名称,得到服务的服务结束阶段执行方法,根据服务结束阶段执行方法的方法名采用invoke方法进行逐个插件的调用;s210,对服务执行过程进行监控,获取整个服务、组件、插件的执行状态信息。
25.整个微服务的执行分三个阶段:准备阶段、执行阶段、结束阶段。每一个service也分三个阶段:准备阶段、执行阶段、结束阶段。首先调用service的getpreparepluginservicename,得到service的prepare执行方法,然后根据这个方法名采用invoke方式逐个插件的调用,然后再执行service的getrunpluginservicename,得到service的run执行方法,然后根据这个方法名采用invoke方式逐个插件的调用,最后再执行service的getfinishpluginservicename,得到service的finish执行方法,然后根据这个方法名采用invoke方式逐个插件的调用。其中,invoke方法为反射调用实例方法,返回实例方法的返回值,哪个方法调用invoke方法,返回的就是哪个方法的返回值,是常用的调用方法之一。
26.根据本发明实施例,在服务执行过程中对运行路径进行监控,对微服务进行优化,具体为:获取微服务执行过程中的路径信息建立拓扑结构,根据所述拓扑结构明确服务之间的依赖关系;构建监控数据库,将服务见的拓扑结构导入监控数据库中,根据历史监控数据筛选微服务评价指标,根据所述评价指标获取影响因子,通过所述影响因子对微服务的运行状况进行评价;将所述影响因子进行划分,对于模糊概念的影响因子采用模糊评价,对存在标准的确定性影响因子采用标准限值评价,通过层次分析法确定各影响因子的权重向量;根据所述标准限值评价、模糊评价及权重向量生成微服务运行的状态评价信息,将所述状态评价信息进行反馈对微服务的应用原始信息及性能相关信息进行调整修正。
27.需要说明的是,根据历史监控数据筛选微服务评价指标,所述微服务评价指标包括但不限于服务执行时间、服务见通信时间、中间件情况、组件调用及运行状态等,同时,当微服务存在异常情况时,对微服务拓扑结构进行动态监测,获取日志数据,定位异常信息,对应用漏洞进行精准定位;还可根据系统应用需求设计自定义事务,进行定向监控,强化监控性能。
28.图4示出了本发明一种无代码方式构建微服务的系统的框图。
29.本发明第二方面还提供了一种无代码方式构建微服务的系统4,该系统包括:存储器41、处理器42,所述存储器中包括一种无代码方式构建微服务的方法程序,所述一种无代码方式构建微服务的方法程序被所述处理器执行时实现如下步骤:获取待构建的微服务初始信息,导入微服务设计器,基于服务环境组件和服务组件通过xml文件格式进行服务注册,将注册好的服务用于服务编排;通过图形化界面的微服务设计器检查服务是否注册成功;根据业务需求,基于已注册的服务进行服务编排,通过微服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务;根据服务属性面板进行组件对微服务的基本信息和高级参数进行配置。
30.需要说明的是,将微服务初始信息中的地址信息进行注册,服务组件调用注册中心实现服务查询并获得可用的服务实例地址列表,通过地址查验判断是否注册成功;所述微服务设计器包括:组件和配置器,采用html5技术实现,通过拖放组件方式选择所需的组件,进行微服务的无代码方式构建。
31.组件包括服务组件容器、服务环境创建器组件、服务组件、服务插件;服务组件包括平台内置服务组件和自定义服务组件,自定义服务组件通过xml方式注册到微服务设计器。
32.配置器包括服务组件属性的配置,事务模式的配置,事务模式包括依赖于上下文提交、容器管理的自动提交、容器管理的手动提交、组件管理的提交模式。
33.需要说明的是,微服务由服务组件容器、服务环境创建器组件、服务组件、服务插件组成;所述服务组件容器servercontainer,负责整个服务执行过程中的环境创建、事物提交回滚以及异常管理,并决定服务的事务模式:依赖于上下文提交、容器管理的自动提交、容器管理的手动提交、组件管理的提交模式;所述服务环境创建器组件servicecontextbuilder,负责创建整个服务的运行环境,包括接受分析调用者传递的参数,生成返回给调用者的数据,进行环境的初始化工作,能够进行多个罗列;所述服务组件service component adapter,用于管理插件,决定插件的接口,调用符合预设服务规则的接口,通过设计插件决定组件本身的执行方法和所包含插件的方法及参数,并负责插件功能的调用;所述服务插件service plugin adapter,用于执行所属的服务组件的功能。
34.需要说明的是,基于已注册的服务进行服务编排,具体为:通过服务组件容器servercontainer进行服务编排的准备阶段,服务组件容器负责整个服务执行过程中的环境创建,事物提交回滚以及异常管理等一系列的活动,选择所需的服务环境创建器组件进行服务准备阶段的编排;通过服务组件servicecomponentadapter进行服务编排的执行阶段,服务组件包括一系列的插件,决定组件本身的执行方法和所包含插件的方法及参数,根据方法做插件功能调用选择所需的服务组件和服务插件进行服务编排的执行阶段;通过服务组件容器servercontainer进行服务编排的结束阶段,选择所需的服务环境创建器组件进行服务结束阶段的编排;通过服务设计器采用无代码方式把服务上下文环境、多个服务组件和多个服务插件组织成一个处理业务的微服务。
35.根据本发明实施例,当微服务被调用时,根据传入的参数创建服务的运行环境,然后通过一定的顺序执行服务的各个插件,完成相应的业务逻辑,返回服务执行结果,具体为:调用服务环境创建器组件,根据服务调用者传入的参数创建服务的运行环境以及服务的返回值;获取服务准备阶段prepare的插件名称,得到服务的服务准备阶段执行方法,根据服务准备阶段执行方法的方法名采用invoke方法进行逐个插件的调用;获取服务执行阶段run的插件名称,得到服务的服务执行阶段执行方法,根据服务执行阶段执行方法的方法名采用invoke方法进行逐个插件的调用;获取服务结束阶段finish的插件名称,得到服务的服务结束阶段执行方法,根据服务结束阶段执行方法的方法名采用invoke方法进行逐个插件的调用;
对服务执行过程进行监控,获取整个服务、组件、插件的执行状态信息。
36.整个微服务的执行分三个阶段:准备阶段、执行阶段、结束阶段。每一个service也分三个阶段:准备阶段、执行阶段、结束阶段。首先调用service的getpreparepluginservicename,得到service的prepare执行方法,然后根据这个方法名采用invoke方式逐个插件的调用,然后再执行service的getrunpluginservicename,得到service的run执行方法,然后根据这个方法名采用invoke方式逐个插件的调用,最后再执行service的getfinishpluginservicename,得到service的finish执行方法,然后根据这个方法名采用invoke方式逐个插件的调用。其中,invoke方法为反射调用实例方法,返回实例方法的返回值,哪个方法调用invoke方法,返回的就是哪个方法的返回值,是常用的调用方法之一。
37.本发明第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一种无代码方式构建微服务的方法程序,所述一种无代码方式构建微服务的方法程序被处理器执行时,实现如上述任一项所述的一种无代码方式构建微服务的方法的步骤。
38.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
39.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
40.另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
41.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
42.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
43.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1