微服务配置信息管理系统、方法、电子设备及存储介质与流程

文档序号:26845324发布日期:2021-10-09 00:17阅读:108来源:国知局
微服务配置信息管理系统、方法、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,具体涉及微服务配置信息管理系统、方法、电子设备及存储介质。


背景技术:

2.随着物联网技术的发展,越来越多企业从中小型平台转向共享服务平台或业务中台方向,有利于企业的业务和技术沉淀,达到后续的快速研发的目的,从而使得生产力增加。
3.然而,微服务应用需通过人工进行文档记录,存在配置脚本多、配置效率低、工作量大、易出错等问题。目前,基于共享服务中心的微服务管理主要存在以下问题:
4.1、产品、模块信息不完善。
5.2、应用上线镜像版本信息由人工整理相关文档,再根据文档进行上线,上线效率低。此外,由于文档更新不及时,镜像版本信息没有系统管理,上线信息人工获取时易出错,部署有一定风险。
6.3、有很多系统级别的配置、登录等模块重复造车,导致维护成本和管理成本急剧上升。例如,物联网的数据采集层和数据分析层中的配置功能,都集成在各个微服务模块中,需要微服务模块发布后才能进行配置,造成耦合度太高、实施困难。
7.4、在产品研发过程中需要存在多个配置环境,相同的配置需要在不同的配置环境重复配置,使得工作量增大,较多的人工参与造成有太多的不确定性。
8.综上,目前亟需一种微服务配置信息管理技术,用于解决上述现有技术存在的问题。


技术实现要素:

9.由于现有方法存在上述问题,本发明提出微服务配置信息管理系统、方法、电子设备及存储介质。
10.第一方面,本发明提供了微服务配置信息管理系统,其特征在于,包括操作模块、配置库、发布库以及服务提供模块;
11.所述操作模块用于获取用户输入的微服务模块的配置信息,并将所述配置信息发送至所述配置库;所述配置信息包含所述配置信息对应的微服务模块标识;
12.所述配置库用于将测试通过的配置信息发送至所述发布库;
13.所述发布库用于将所述测试通过的配置信息发送至所述服务提供模块;
14.所述服务提供模块用于根据所述发布库发送的所述测试通过的配置信息以及所述服务提供模块中的多个配置环境生成各个配置环境下所述微服务模块标识对应的更新后的微服务模块。
15.进一步地,所述操作模块还用于在获取所述用户输入的所述配置信息之前,获取用户请求,根据所述用户请求确定用户权限,根据所述用户权限确定所述用户权限对应的
配置环境。
16.进一步地,所述操作模块还用于在获取所述用户输入的所述配置信息之后,根据所述配置信息生成操作提示信息,将所述操作提示信息发送至各个微服务模块以使所述微服务模块标识对应的微服务模块更新。
17.进一步地,操作模块通过消息中间件将所述操作提示信息发送至各个微服务模块以使所述微服务模块标识对应的微服务模块更新。
18.进一步地,所述配置环境包括研发环境、测试环境、集成环境以及生产环境。
19.第二方面,本发明提供了一种基于上述第一方面的微服务配置信息管理的方法,包括:
20.获取用户请求;所述用户请求包含用户信息;
21.根据所述用户信息确定用户权限;
22.根据所述用户权限确定所述用户权限对应的配置环境;
23.获取所述用户在所述配置环境下输入的配置信息以及迭代信息;所述配置信息包含所述配置信息对应的微服务模块标识;所述迭代信息包含版本信息、开始信息以及结束信息;
24.将所述配置信息进行复制同步以及对比;
25.测试所述配置信息并根据测试通过的配置信息生成各个配置环境下更新后的微服务模块;
26.记录所述迭代信息。
27.进一步地,在所述获取用户请求之前,还包括:
28.创建产品并获取所述产品对应的产品信息;所述产品信息包含产品名称、产品代码、产品负责人、产品创建时间、产品备注信息、产品访问方式或产品状态信息;
29.创建多个微服务模块并获取所述微服务模块对应的模块信息;所述模块信息包含模块名称、模块服务责任人;
30.将多个微服务模块与所述产品进行绑定。
31.进一步地,在所述获取所述用户在所述配置环境下输入的配置信息以及迭代信息之后,还包括:
32.根据所述配置信息生成操作提示信息;
33.将所述操作提示信息发送至各个微服务模块以使所述微服务模块标识对应的微服务模块更新。
34.第三方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第二方面所述的微服务配置信息管理的方法。
35.第四方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面所述的微服务配置信息管理的方法。
36.由上述技术方案可知,本发明提供的微服务配置信息管理系统、方法、电子设备及存储介质,将配置信息集中管理起来,重复的配置信息不需要在所有的产品中都开发一遍,降低了微服务模块的耦合度。减少了人工操作的环节,降低出错率。同时能对所有配置环境进行配置。将同一产品的配置信息在不同配置环境间进行同步,提高了微服务配置信息管
理的效率。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
38.图1为本发明提供的微服务配置信息管理系统的系统框架;
39.图2为本发明提供的微服务配置信息管理的方法的示意图;
40.图3为本发明提供的微服务配置信息管理的方法的流程示意图;
41.图4为本发明提供的微服务配置信息管理的方法的流程示意图;
42.图5为本发明提供的电子设备的结构示意图。
具体实施方式
43.下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
44.图1示出了本发明实施例提供的一种微服务配置信息管理系统的示意图,该系统包括操作模块100、配置库200、发布库300以及服务提供模块400。
45.具体的,操作模块100用于获取用户输入的微服务模块的配置信息,并将配置信息发送至配置库200。
46.需要说明的是,配置信息包含配置信息对应的微服务模块标识。
47.进一步地,操作模块100还用于在获取用户输入的配置信息之前,获取用户请求,根据用户请求确定用户权限,根据用户权限确定用户权限对应的配置环境。
48.具体的,用户请求包含用户信息,根据用户信息确定用户权限。
49.本发明实施例中,不同角色的用户进入微服务配置信息管理系统后,由微服务配置信息管理系统识别此用户的权限,然后根据此用户可操作的权限展示所要操作的配置环境进行配置和操作。
50.本技术实施例中,配置环境包括研发环境、测试环境、集成环境以及生产环境。
51.具体的,研发环境、测试环境以及集成环境是为了给生产环境可以安全稳定做基础。因此,对于研发环境、测试环境、集成环境这三个配置环境中的资源、中间件等都需要和生产环境保持高相似度。
52.基于此,本发明实施例将研发环境、测试环境、集成环境以及生产环境中的资源信息、配置信息等进行共享,使其在整个系统中进行复用。
53.本发明实施例中,研发环境、测试环境、集成环境以及生产环境的资源共享如图2所示。
54.从图中可以看出,资源共享的具体如下:
55.1、按照产品的要求将产品建立,在建立时需要将产品的管理信息进行维护。
56.在一种可能的实施方式中,产品的管理信息包括:产品负责人、创建时间、产品状态信息。
57.需要说明的是,产品的管理信息还可以为产品更新时间等,本发明实施例对此不做具体限定。
58.2、迭代研发过程中,研发环境在研发微服务模块时需要将消息中间件或数据库的使用参数都在“微服务配置信息管理系统”中维护。此时需要维护模块的基础信息,包括模块的负责人、模块的历史镜像查询、模块产品的依赖关系。
59.3、选中当次迭代中修改或增加的微服务模块,确定需要测试的微服务模块以及需要上线的微服务模块。
60.4、按照研发过程中配置的参数、属性、状态进行“测试”、“集成”、“生产”流转。
61.上述方案,将研发环境、测试环境、集成环境以及生产环境中的资源信息、配置信息等进行共享,使其在整个系统中进行复用。减轻了研发中各个角色的工作量。
62.进一步地,配置库200用于将测试通过的配置信息发送至发布库300。
63.需要说明的是,通过构建统一的配置库,可以摆脱环境带来的基础数据维护的困境。
64.服务提供模块400用于根据发布库300发送的测试通过的配置信息以及服务提供模块400中的多个配置环境生成各个配置环境下微服务模块标识对应的更新后的微服务模块。
65.进一步地,操作模块100还用于在获取用户输入的配置信息之后,根据配置信息生成操作提示信息,将操作提示信息发送至各个微服务模块以使微服务模块标识对应的微服务模块更新。
66.在一种可能的实施方式中,操作模块100通过消息中间件将操作提示信息发送至各个微服务模块以使微服务模块标识对应的微服务模块更新。
67.本发明实施例中,不同角色操作完成所有的配置之后,将操作提示信息发送到各个微服务模块中,让其更新所有的配置信息,实现动态加载的更新过程。
68.上述方案,将系统级别的配置信息集中管理起来,重复的配置信息不需要在所有的产品中都开发一遍,降低了微服务模块的耦合度。减少了人工操作的环节,降低出错率。同时能对所有配置环境进行配置。将同一产品的配置信息在不同配置环境间进行同步,提高了微服务配置信息管理的效率。
69.基于上述的微服务配置信息管理系统,图3示例性的示出了本发明实施例提供的一种配置信息管理方法的流程。该流程可以由上述微服务配置信息管理系统执行。
70.如图3所示,该流程具体包括:
71.步骤301,获取用户请求。
72.需要说明的是,用户请求包含用户信息。
73.步骤302,根据用户信息确定用户权限。
74.步骤303,根据用户权限确定用户权限对应的配置环境。
75.举例来说,当识别到用户的角色为研发人员时,提供研发环境。当识别到用户的角色为测试人员时,提供测试环境。
76.上述方案,不同的工作角色只需要在一个平台中进行配置和发布,提高了配置信息管理的效率。
77.步骤304,获取用户在配置环境下输入的配置信息以及迭代信息。
78.需要说明的是,配置信息包含配置信息对应的微服务模块标识,迭代信息包含版本信息、开始信息以及结束信息。
79.步骤305,将配置信息进行复制同步以及对比。
80.具体的,在研发人员进行参数维护后,将研发人员输入的配置信息进行复制同步以及对比,研发人员将微服务模块挂入迭代后,判断是否测试以及是否上线。如果没有选择需要测试,则测试人员就不需要进行测试。
81.在一种可能的实施方式中,本发明实施例通过仓库版本工具确定配置信息对应的测试包版本。
82.步骤306,测试配置信息并根据测试通过的配置信息生成各个配置环境下更新后的微服务模块并记录迭代信息。
83.具体的,首先将研发环境中的参数配置、资源等信息进行对比、判断,然后进行服务的部署。在测试过程中如果发现研发人员产生的问题,将问题提出给研发人员以使研发人员进行问题的修改。
84.进一步地,测试人员在测试环境下修改配置信息,然后进行打包。
85.需要说明的是,打包后的测试包版本通过仓库版本工具提供给迭代信息中。
86.进一步地,重复上述测试过程直到测试通过。
87.本技术实施例中,在运维工程师接收到上线信息后,首先将测试环境中的参数配置、资源等信息进行对比、判断,然后进行服务的部署。
88.进一步地,构建完成之后运维人员和测试人员进行测试,如果这个时候发现需要修改配置信息,此时就需要将配置信息进行修改,然后进行打包。
89.需要说明的是,打包后的测试包版本通过仓库版本工具提供给迭代信息中。
90.进一步地,重复上述过程直到试运行通过。
91.本发明实施例中,将集成环境中的参数配置、资源等信息进行对比、判断,然后进行服务的部署。同样的,如果没有出现线上问题,则本次迭代的正式上线完成。
92.进一步地,将本地迭代留存归档。
93.需要说明的是,通过本地迭代留存归档使得后期可以追溯历史,提高配置信息管理的效率。
94.上述方案,通过提供统一的配置管理简化了后续研发和部署流程,降低了配置风险以及产品上线风险,通过迭代信息的记录使得后期可以追溯历史,提升了配置信息管理的效率。
95.本发明实施例在步骤301之前,步骤流程如图4所示,步骤如下:
96.步骤401,创建产品并获取产品对应的产品信息。
97.需要说明的是,产品信息包含产品名称、产品代码、产品负责人、产品创建时间、产品备注信息、产品访问方式或产品状态信息。
98.具体的,通过实施人员将产品创建,并且将产品对应的产品信息进行填写,产品信息可以包括但不限于:产品的名称、产品代码、产品的负责人、产品的创建时间、产品的备注信息,然后交由开发人员将产品中的系统级别的配置信息填写,比如将产品的连接、产品的访问方式、产品的状态填写。
99.上述方案,通过完善产品负责人、产品创建时间、产品状态等信息,出问题后可以
快速定位负责人进行问题排查。通过产品信息填写,保证基本信息和产品初始化的信息都填写完整,解决后续无法找寻产品负责人后不能推进的问题,同时也解决了后续产品与微服务模块之间成为数据孤岛后,无法确定更新产品后所影响的范围,导致连锁反应。
100.步骤402,创建多个微服务模块并获取所述微服务模块对应的模块信息。
101.需要说明的是,模块信息包含模块名称、模块服务责任人。
102.具体的,研发人员需要在研发阶段将微服务模块进行登记,此时的登记需要提出申请给实施人员,实施人员创建模块,将模块的名称、模块代码、模块服务责任人进行填写。
103.步骤403,将多个微服务模块与产品进行绑定。
104.具体的,研发人员在研发阶段将多个微服务模块和产品直接的关系让实施人员进行绑定。
105.上述方案,将产品与微服务模块建立关联,避免了信息孤岛的问题,简化业务领域的拆分和细化,提高了微服务配置信息管理的效率。
106.为了更好的解释本发明实施例,下面将结合具体的实施场景描述上述微服务配置信息管理的流程,具体如下:
107.1、产品创建。
108.具体的,通过实施人员在研发阶段,将产品创建,并且将产品的基础信息,产品的名称、产品代码、产品的负责人、产品的创建时间、产品的备注信息等填写;交由开发人员将产品中需要系统级别的信息填写,将产品的连接、产品的访问方式、产品的状态填写。
109.2、微服务模块创建。
110.具体的,产品研发开始,研发人员需要在研发阶段进行微服务模块的登记,此时的登记需要提出申请给实施人员,实施人员开始创建模块,此时需要将模块的名称、模块代码、模块服务责任人进行填写。
111.3、关系绑定。
112.具体的,研发人员在研发阶段,需要将此模块和产品直接的关系让实施人员进行绑定。
113.4、迭代创建。
114.具体的,实施人员在每个迭代开始将迭代创建完成,迭代中需要有迭代版本、开始信息和结束信息填入。
115.5、研发流程。
116.基于上述准备工作,研发人员开始正式的进行研发需求内容。此时,研发人员进行微服务模块开发时,开发进行参数的维护,维护完成之后将参数进行导入,微服务配置信息管理系统实现配置信息的对比、回滚、同步等功能。研发人员进行代码编写完成进行自我测试后,需要将模块挂入迭代中,并且进行是否测试、是否上线的判断。通过自动化流转将本次的测试的包名称通过仓库版本工具提供给微服务配置信息管理系统。将本次开发成果物交给测试人员测试。如果此时没有选择需要测试的情况,整个开发认为完成。测试人员就不需要进行测试。
117.6、测试流程。
118.测试人员进入测试阶段,获取到所需要的测试任务之后,首先需要将研发环境中的参数配置、资源等信息进行对比、判断后进行复,然后进行服务的部署。构建完成之后测
试人员进行测试,在测试过程中如果发现研发的问题,需要将问题提出给研发人员,此时研发人员进行问题的修改。如果这个时候发现需要修改配置信息,此时就需要将参数配置进行修改。然后进行打包,此时在本迭代中的模块的版本也需要通过仓库版本工具提供给迭代信息中。此时,测试人员重复上述步骤,直到测试通过。测试通过之后,需要进行集成环境的流程。此时如果不需要上线的情况则结束。
119.7、集成流程。
120.运维工程师接收到此模块是需要上线,运维工程师首先需要将测试环境中的参数配置、资源等信息进行对比、判断后进行复制,然后进行服务的部署。构建完成之后运维人员和测试人员进行简单测试,如果这个时候发现需要修改配置信息,此时就需要将参数配置进行修改,然后进行打包,此时在本迭代中的模块的版本也需要通过仓库版本工具提供给迭代信息中,接着将会跳回到上述测试流程。如果没有问题,此时运维人员就需要将本次迭代需要上线的产品和微服务模块进行下载。后面需要根据列表进行正式的上线。
121.8、产线流程。
122.运维工程师接收到此上线的所有的微服务模块,运维工程师首先需要将集成环境中的参数配置、资源等信息进行对比、判断后进行复制,然后进行服务的部署。构建完成之后运维人员和测试人员进行简单测试,如果这个时候发现需要修改配置信息,此时就需要将参数配置进行修改,然后进行打包,此时在本迭代中的模块的版本也需要通过仓库版本工具提供给迭代信息中,接着将会跳回到上述的测试流程。如果没有问题,证明本次迭代的正式上线完成。这个时候需要实施人员需要将本地迭代留存归档,实现后期可以追溯历史,迭代生命周期结束。
123.上述方案,通过提供统一的配置管理简化了后续研发和部署流程,降低了配置风险以及产品上线风险,通过迭代信息的记录使得后期可以追溯历史,提升了配置信息管理的效率。
124.基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图5,所述电子设备具体包括如下内容:处理器501、存储器502、通信接口503和通信总线504;
125.其中,所述处理器501、存储器502、通信接口503通过所述通信总线504完成相互间的通信;所述通信接口503用于实现各设备之间的信息传输;
126.所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述微服务配置信息管理的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获取用户请求;所述用户请求包含用户信息;根据所述用户信息确定用户权限;根据所述用户权限确定所述用户权限对应的配置环境;获取所述用户在所述配置环境下输入的配置信息以及迭代信息;所述配置信息包含所述配置信息对应的微服务模块标识;所述迭代信息包含版本信息、开始信息以及结束信息;将所述配置信息进行复制同步以及对比;测试所述配置信息并根据测试通过的配置信息生成各个配置环境下更新后的微服务模块并记录所述迭代信息。
127.基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述微服务配置信息管理的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获取用户请求;所述用户请求包含用户信息;根据所述用户信息确定用户权限;根
据所述用户权限确定所述用户权限对应的配置环境;获取所述用户在所述配置环境下输入的配置信息以及迭代信息;所述配置信息包含所述配置信息对应的微服务模块标识;所述迭代信息包含版本信息、开始信息以及结束信息;将所述配置信息进行复制同步以及对比;测试所述配置信息并根据测试通过的配置信息生成各个配置环境下更新后的微服务模块并记录所述迭代信息。
128.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,用户生活模式预测装置,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
129.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
130.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,用户生活模式预测装置,或者网络设备等)执行各个实施例或者实施例的某些部分所述的用户生活模式预测方法。
131.此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
132.此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
133.此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以
在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
134.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1