一种用于云制造平台的微服务构建方法及微服务系统

未命名 09-17 阅读:101 评论:0


1.本发明涉及智能制造技术领域,尤其涉及一种用于云制造平台的微服务构建方法及微服务系统。


背景技术:

2.近年来,人们越来越关注数字化制造和网络协同制造,信息技术不断地与工业领域融合,出现了众多工业互联网平台,实现了工业数据的远程传输和工业数据可视化等功能。现阶段,通过云平台,我们还可以做到个性化产品的定制,企业订单的统一分配和离散企业资源统一调用实现网络协同制造,大大提高了企业的生产效率和资源利用率。随着信息技术向工业领域的不断渗透,云制造平台功能日益丰富,云平台系统架构体系也变得十分复杂,系统的维护和功能扩展变的逐渐困难。微服务架构是一项在云中部署应用和服务的新技术。其目的是将一个复杂庞大的系统根据功能将其分解成一个个离散的,耦合性较小的服务,从而实现对一个复杂庞大的单体架构系统解耦,提升系统的可维护性和可拓展性。
3.现有的基于微服务架构的智能制造信息系统,主要是根据用户需求,从预先开发好的业务应用模块中选取对应的逻辑功能模块然后通过服务接入模块给选取好的业务应用模块接入基础和公共服务模块,从而生成一个微服务架构的智能制造信息系统。这种方案的不足指出在于,需提前开发较多的业务模块,工作量较大,并且遇到一些业务模块难以满足的需求时,无法实现快速便捷的动态功能集成与拓展,最终限制了这种方案的应用范围。


技术实现要素:

4.本发明的实施例提供一种用于云制造平台的微服务构建方法及微服务系统,能够根据需求快速方便的开发新的功能模块,实现快速便捷的动态功能集成与拓展。
5.为达到上述目的,本发明的实施例采用如下技术方案:
6.第一方面,本发明的实施例提供的方法,包括:
7.s1、接收客户端设备通过所述视图层上传数据,其中,所述客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:用户端设备发送的订单信息和企业端设备发送的资源信息,所述资源信息中记录了企业的生产设备资源;
8.s2、将所述视图层上传的数据通过所述网关层输入所述微服务层;
9.s3、由在所述微服务层中注册的微服务模块,查询所述订单信息对应的资源信息;
10.s4、根据所述订单信息对订单进行拆解得到子任务,并根据子任务分配企业的生产设备资源,之后记录分配信息;
11.s5、根据所述分配信息向企业的生产设备发送生产命令。
12.第二方面,本发明的实施例提供的微服务系统,包括:所述微服务系统中包括了:视图层、网关层、微服务层和数据存储层;在所述微服务层中,包括至少2个服务模块,每个
服务模块中则包含至少4个微服务模块,所述4个微服务模块为:用户微服务模块、订单微服务模块、企业资源微服务模块和资源分配微服务模块;
13.所述视图层,用于接收客户端设备通过所述视图层上传数据,其中,所述客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:用户端设备发送的订单信息和企业端设备发送的资源信息,所述资源信息中记录了企业的生产设备资源;
14.所述网关层,用于将所述视图层上传的数据通过所述网关层输入所述微服务层;
15.所述微服务层,用于通过注册的微服务模块,查询所述订单信息对应的资源信息;并根据所述订单信息对订单进行拆解得到子任务,之后根据子任务分配企业的生产设备资源,记录分配信息;最后根据所述分配信息向企业的生产设备发送生产命令。
16.所述数据存储层中建立了与微服务模块对应的子数据库。
17.本发明实施例提供的用于云制造平台的微服务构建方法及微服务系统,当系统出现问题时能够在具体的模块下进行解决并且不影响其他模块的正常使用,同时使得系统拓展新的功能更加简单,解决了系统维护困难的问题;同时,还提高了系统的可拓展性,功能模块可以单独进行开发,然后统一注册到服务中心,降低了系统的开发难度,缩短了系统的开发周期。并且由于使用具有良好生态的微服务架构系统技术方案springcloud alibaba,各个技术组件兼容性更好,减少系统开发配置,提升系统开发效率。总的来说,相比于传统系统架构,本实施例的微服务架构具有高可拓展性的优点。从而可以缓减传统云平台架构功能拓展困难的问题,提升系统的集成性与可拓展性,能够根据需求快速方便的开发新的功能模块,实现快速便捷的动态功能集成与拓展。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
19.图1a、1b为本发明实施例提供的微服务系统的架构示意图。
20.图2为本发明实施例提供的服务注册发现中心nacos工作原理示意图。
21.图3为本发明实施例提供的各个微服务职责和协同工作示意图。
22.图4为本发明实施例提供的服务熔断器hystrix的原理示意图。
23.图5为本发明实施例提供的方法流程示意图。
具体实施方式
24.为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除
存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
25.本发明实施例提供一种用于云制造平台的微服务构建方法及微服务系统,所述方法用于一种微服务系统,如图1所示的,本实施例中对微服务的平台结构进行分层设计,并根据具体逻辑功能划分成不同的微服务,平台总体架构分成四层,用户对平台发起访问后依次经过视图层、网关层、微服务层以及数据存储层。所述微服务系统中包括了:视图层、网关层、微服务层和数据存储层;在所述微服务层中,包括至少2个服务模块,每个服务模块中则包含至少4个微服务模块,所述4个微服务模块为:用户微服务模块、订单微服务模块、企业资源微服务模块和资源分配微服务模块。本实施例中,可以将一个微服务模块对应一个具体的一个服务,比如图1b所示的,一个有关订单的服务即可称之为“订单微服务”,其微服务模块中包括了多种功能模块,比如api接口、nacosclient、产品上传单元、订单预定单元、订单进度展示单元等功能单元。再比如:用户微服务包括了api接口、nacosclient、用户登录单元、用户注册单元和信息修改单元等功能单元。其中,nacos client指的是nacos的客户端,nacos全称叫dynamic naming and configuration service。nacos一般分为服务端(nacos server)和客户端(nacos client),每个微服务中要包含nacos client,然后在nacos server中注册,这样nacos server就能够感知到各个微服务。
26.其中,所述视图层,用于向用户端和企业端进行数据的可视化展示,显示平台功能界面以及人机交互入口,并接收用户端设备发送的订单信息和企业端设备发送的资源信息。如图1所示,视图层采用vue框架实现数据的可视化展示,vue框架使用的是mvvm设计模式,实现当数据变量发生改变时,视图会随着数据的变化立即发生改变。vue和后端进行交互采用的是ajax,实现前后端的异步通信,可以实现不加载整个页面的情况下对网页进行更新,降低了浏览器的负载。视图层主要是实现用户进行订单创建和企业资源上传等功能的交互界面。
27.所述数据存储层包括与微服务模块对应的子数据库,例如:所述数据存储层中的子数据库包括:用户微服务数据库、订单微服务数据库、企业资源微服务数据库和资源分配微服务数据库,分别用于记录所述微服务层中的用户微服务模块、订单微服务模块、企业资源微服务模块和资源分配微服务模块在运行过程中产生的数据。其中,所述数据层是对系统数据进行存储做数据持久层,由于每个微服务直接相互独立,耦合性较小,所以服务间的数据关联性较小,因此每个微服务都有自己的一个数据库作为数据的存储,每个微服务的数据库都相互独立。
28.具体的,如图5所示的,所述方法包括:
29.s1、接收客户端设备通过所述视图层上传数据。
30.其中,所述客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:
用户端设备发送的订单信息和企业端设备发送的资源信息,所述资源信息中记录了企业的生产设备资源。
31.s2、将所述视图层上传的数据通过所述网关层输入所述微服务层。
32.s3、由在所述微服务层中注册的微服务模块,查询所述订单信息对应的资源信息。
33.其中,在s3中,包括:订单微服务模块向企业资源微服务模块查询所述订单信息对应的资源信息,之后,所述订单微服务模块将所述订单信息和所述企业资源微服务模块反馈的资源信息提交至资源分配微服务模块。
34.s4、根据所述订单信息对订单进行拆解得到子任务,并根据子任务分配企业的生产设备资源,之后记录分配信息。
35.其中,在s4中,包括:所述资源分配微服务模块根据所述订单信息对订单进行拆解,其中可以基于bom的任务分解方法来对订单进行拆解。并根据所述资源信息为订单拆解得到的子任务分配企业的生产设备资源,之后记录分配信息。
36.s5、根据所述分配信息向企业的生产设备发送生产命令。
37.其中,在s5中,包括:将所述分配信息发送给所述企业资源微服务模块,所述企业资源微服务模块向企业的生产设备发送生产命令。
38.具体如图3所示的,展示了各微服务之间的主要关系,各微服务直接相互协作完成制造任务。用户从云平台提交制造订单,订单信息首先请求订单服务,订单服务接收订单之后进行订单信息的存储,并分析需求的资源服务种类,然后发送请求到企业资源微服务,查询指定种类的企业资源信息,并返回相关企业资源的服务集合;订单服务接收到请求之后将订单信息和资源信息提交至资源分配服务,资源分配服务根据资源分配算法对订单进行拆解和企业资源分配,最后将匹配信息分配到企业资源服务中去,企业资源服务开始进行加工生产并更新企业资源信息。
39.进一步的,当需要向所述微服务层中新增微服务模块时,在nacos服务注册中心注册新增的微服务模块;其中,完成注册的微服务模块的配置信息保存在所述nacos服务注册中心;并且,在所述数据存储层中建立对应完成注册的微服务模块的子数据库。
40.其中,本实施例中采用,目前已经开源的nacos技术工具,nacos支持基于dns和基于rpc的服务发现。服务提供者使用原生sdk、openapi、或一个独立的agent todo注册service后,服务消费者可以使用dns todo或http&api查找和发现服务。具体在本实施例中,如图1所示,系统使用nacos实现服务的注册与发现。通过在nacos服务注册中心进行注册,那么每个微服务便可以通过feign来发现对应的微服务,并进行相应的调用。配置中心的作用是将所有的微服务的配置信息进行统一的管理,nacos集成了配置中心的功能,这样方便我们对系统的各个微服务配置文件信息的统一管理和维护。nacos代替传统的eureka+springcloud config的形式,nacos功能更加丰富稳定,并且使用起来更加方便。
41.微服务层可以实现在云平台上,微服务层中还可以包含多种功能模块,比如任务订单管理模块,企业资源信息管理模块,设备监控管理模块等,根据功能可以单独开发对应的模块,然后将开发好的服务注册到服务注册发现中心,这样就可以实现各个服务之间的协作调用。子应用模块的拆分能够实现开发的便捷性、高可拓展性和可维护性,随着业务功能不断增加,只需要开发相应的子应用模块并注册在注册中心,便实现了业务的拓展。例如图2所示,nacos为各个应用子服务的注册与发现中心,我们需要将单独开发完成的子应用
模块按照统一的标准注册到nacos注册中心去,这样才能够让别的子应用服务能够发现自己并及远程调用自己的业务功能。所有的微服务子应用就是通过nacos这个进行联系在一起,实现各个微服务之间的彼此发现和调用,降低了传统系统架构的耦合性。
42.进一步的,本实施例中还包括:在所述微服务层中设置有断路器,所述断路器采用的springcloud hystrix组件;当微服务模块发生故障或者无法响应时,所述断路器触发熔断机制,和/或,对发生故障或者无法响应的微服务模块进行降级处理。例如如图1和图4所示,断路器采用的springcloud hystrix组件,当微服务发生故障时,就会导致服务请求失败,如果没有相应的反馈和响应,用户将会持续等待,导致体验感降低。hystrix可以实现当微服务发生故障无法响应是,就会产生熔断机制,并对服务进行降级处理。
43.本实施例所设计的微服务层由多个服务、服务注册与发现中心、统一配置中心以及断路器组成,每一个服务里包含与该服务相关的所有功能并可以独立运行。通过统一的服务注册发现,可以很方便的实现网关层路由到各个应用子服务以及各个服务之间的功能调用;并根据服务数量较多的情况,对各个服务的配置文件进行统一管理。考虑大量请求访问后端服务的情况,请求发生阻塞,采用断路器配置服务降级方法,当服务请求超过一定时间之后采用降级方法对请求进行响应。
44.在所述网关层中,采用springcloud gataway组件建立微服务的网关架构;在每个微服务模块的组成部分,包括:模块标识、api接口、nacos clinet和功能单元,其中,微服务模块通过api接口与所述网关层通信。
45.具体的,所述网关层主要的作用是降低客户端请求地址的复杂性,统一接收和处理客户端的请求。每个微服务都有自己的网络地址,而客户端的请求需要调用多个微服务才能完成,所以通过增加网关层,让客户端直接访问网关,网关层将其代理给具体的微服务地址,这样就降低了客户端的复杂性以及项目重构的复杂性。如图1所示,api网关层采用的是springcloud gataway组件实现微服务架构的网关层,实现了将所有用户发起的请求进行统一的管理,所有的请求都会经过api网关层,然后再转发给响应的各个服务。
46.本实施例还提供一种用于云制造平台的微服务系统,如图1所示的,所述微服务系统中包括了:视图层、网关层、微服务层和数据存储层;在所述微服务层中,包括至少2个服务模块,每个服务模块中则包含至少4个微服务模块,所述4个微服务模块为:用户微服务模块、订单微服务模块、企业资源微服务模块和资源分配微服务模块;
47.所述视图层,用于接收客户端设备通过所述视图层上传数据,其中,所述客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:用户端设备发送的订单信息和企业端设备发送的资源信息,所述资源信息中记录了企业的生产设备资源;
48.所述网关层,用于将所述视图层上传的数据通过所述网关层输入所述微服务层;
49.所述微服务层,用于通过注册的微服务模块,查询所述订单信息对应的资源信息;并根据所述订单信息对订单进行拆解得到子任务,之后根据子任务分配企业的生产设备资源,记录分配信息;最后根据所述分配信息向企业的生产设备发送生产命令。
50.所述数据存储层中建立了与微服务模块对应的子数据库。
51.在所述微服务层中设置有断路器,所述断路器用于当微服务模块发生故障或者无法响应时,触发熔断机制,和/或,对发生故障或者无法响应的微服务模块进行降级处理;在所述微服务层中部署有nacos服务注册中心,所述有nacos服务注册中心用于注册新增的微
服务模块,其中,在每个微服务模块的组成部分,包括:模块标识、api接口、nacos clinet和功能单元,其中,微服务模块通过api接口与所述网关层通信。
52.本实施例中,将复杂的单体架构系统根据其功能划分成一个个功能独立的微服务单元,这样设计的优点在于:降低了系统的耦合性,提升系统的可维护性,当系统出现问题时能够在具体的模块下进行解决并且不影响其他模块的正常使用,同时使得系统拓展新的功能更加简单,解决了系统维护困难的问题;同时,还提高了系统的可拓展性,功能模块可以单独进行开发,然后统一注册到服务中心,降低了系统的开发难度,缩短了系统的开发周期。并且由于使用具有良好生态的微服务架构系统技术方案springcloud alibaba,各个技术组件兼容性更好,减少系统开发配置,提升系统开发效率。
53.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

技术特征:
1.一种用于云制造平台的微服务构建方法,其特征在于,所述方法用于一种微服务系统,所述微服务系统中包括了:视图层、网关层、微服务层和数据存储层;所述方法包括:s1、接收客户端设备通过所述视图层上传数据,其中,所述客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:用户端设备发送的订单信息和企业端设备发送的资源信息,所述资源信息中记录了企业的生产设备资源;s2、将所述视图层上传的数据通过所述网关层输入所述微服务层;s3、由在所述微服务层中注册的微服务模块,查询所述订单信息对应的资源信息;s4、根据所述订单信息对订单进行拆解得到子任务,并根据子任务分配企业的生产设备资源,之后记录分配信息;s5、根据所述分配信息向企业的生产设备发送生产命令。2.根据权利要求1所述的方法,其特征在于,在所述微服务层中,包括至少2个服务模块,每个服务模块中则包含至少4个微服务模块,所述4个微服务模块为:用户微服务模块、订单微服务模块、企业资源微服务模块和资源分配微服务模块,所述数据存储层包括与微服务模块对应的子数据库。3.根据权利要求1或2所述的方法,其特征在于,在s3中,包括:订单微服务模块向企业资源微服务模块查询所述订单信息对应的资源信息,之后,所述订单微服务模块将所述订单信息和所述企业资源微服务模块反馈的资源信息提交至资源分配微服务模块;在s4中,包括:所述资源分配微服务模块根据所述订单信息对订单进行拆解,并根据所述资源信息为订单拆解得到的子任务分配企业的生产设备资源,之后记录分配信息;在s5中,包括:将所述分配信息发送给所述企业资源微服务模块,所述企业资源微服务模块向企业的生产设备发送生产命令。4.根据权利要求3所述的方法,其特征在于,还包括:当需要向所述微服务层中新增微服务模块时,在nacos服务注册中心注册新增的微服务模块;其中,完成注册的微服务模块的配置信息保存在所述nacos服务注册中心;并且,在所述数据存储层中建立对应完成注册的微服务模块的子数据库。5.根据权利要求3所述的方法,其特征在于,还包括:在所述微服务层中设置有断路器,所述断路器采用的springcloud hystrix组件;当微服务模块发生故障或者无法响应时,所述断路器触发熔断机制,和/或,对发生故障或者无法响应的微服务模块进行降级处理。6.根据权利要求1或2所述的方法,其特征在于,所述数据存储层中的子数据库包括:用户微服务数据库、订单微服务数据库、企业资源微服务数据库和资源分配微服务数据库,分别用于记录所述微服务层中的用户微服务模块、订单微服务模块、企业资源微服务模块和资源分配微服务模块在运行过程中产生的数据。7.根据权利要求1或2所述的方法,其特征在于,在所述网关层中,采用springcloud gataway组件建立微服务的网关架构;在每个微服务模块的组成部分,包括:模块标识、api接口、nacos clinet和功能单元,其中,微服务模块通过api接口与所述网关层通信。
8.一种用于云制造平台的微服务系统,其特征在于,所述微服务系统中包括了:视图层、网关层、微服务层和数据存储层;所述视图层,用于接收客户端设备通过所述视图层上传数据,其中,所述客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:用户端设备发送的订单信息和企业端设备发送的资源信息,所述资源信息中记录了企业的生产设备资源;所述网关层,用于将所述视图层上传的数据通过所述网关层输入所述微服务层;所述微服务层,用于通过注册的微服务模块,查询所述订单信息对应的资源信息;并根据所述订单信息对订单进行拆解得到子任务,之后根据子任务分配企业的生产设备资源,记录分配信息;最后根据所述分配信息向企业的生产设备发送生产命令。所述数据存储层中建立了与微服务模块对应的子数据库。9.根据权利要求8所述的微服务系统,其特征在于,在所述微服务层中设置有断路器,所述断路器用于当微服务模块发生故障或者无法响应时,触发熔断机制,和/或,对发生故障或者无法响应的微服务模块进行降级处理;在所述微服务层中部署有nacos服务注册中心,所述有nacos服务注册中心用于注册新增的微服务模块,其中,在每个微服务模块的组成部分,包括:模块标识、api接口、nacos clinet和功能单元,其中,微服务模块通过api接口与所述网关层通信。

技术总结
本发明实施例公开了一种用于云制造平台的微服务构建方法及微服务系统,涉及智能制造技术领域,能够根据需求快速方便的开发新的功能模块,实现快速便捷的动态功能集成与拓展。本发明包括:接收客户端设备通过视图层上传数据,其中,客户端设备包括运行了用户端设备和企业端设备,所上传的数据包括:用户端设备发送的订单信息和企业端设备发送的资源信息,资源信息中记录了企业的生产设备资源;将视图层上传的数据通过网关层输入微服务层;由在微服务层中注册的微服务模块,查询订单信息对应的资源信息;根据订单信息对订单进行拆解得到子任务,并根据子任务分配企业的生产设备资源,之后记录分配信息;根据分配信息向企业的生产设备发送生产命令。设备发送生产命令。设备发送生产命令。


技术研发人员:朱海华 张阿龙 唐敦兵 张毅 张泽群 刘长春 陈凯
受保护的技术使用者:南京航空航天大学
技术研发日:2023.03.27
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐