CN113986396B - 一种基于分布式服务的集中配置方法、系统、设备及介质 - Google Patents
一种基于分布式服务的集中配置方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN113986396B CN113986396B CN202111325033.XA CN202111325033A CN113986396B CN 113986396 B CN113986396 B CN 113986396B CN 202111325033 A CN202111325033 A CN 202111325033A CN 113986396 B CN113986396 B CN 113986396B
- Authority
- CN
- China
- Prior art keywords
- configuration
- public
- parameters
- service
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于分布式服务的集中配置方法、系统、设备及介质,首先获取预设微服务的私有变量参数和公共变量参数;将所获取的私有变量参数和公共变量参数输入至预设表格中进行分类配置;调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;按照所获取的参数数据启动所述预设微服务。本发明通过定义不同的配置类型来定义微服务重启的范围,做到精确且小范围的影响,从而可以使微服务或微服务程序能够最大限度的满足各类配置需求。本发明通过将参数数据进行集中配置,极大地简化配置的复杂度,使微服务或微服务程序更加简单易用;通过将配置集中化处理,简化用户的操作,使用户能够更加方便的使用和配置服务系统。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于分布式服务的集中配置方法、系统、设备及介质。
背景技术
微服务是一种新兴的软件架构风格,每个微服务是一个专注于单一责任与功能的小型功能区块,若干个微服务组合出复杂的服务系统。而针对微服务的配置,则是该服务系统为用户提供稳定服务的关键。
目前,一个服务系统中通常包含大量的微服务,而随着kubernetes(kubernetes作为一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理)越来越广的应用,每一个微服务都有许多私有或者是公共的一些变量参数,如果每一个变量参数都在启动的时候进行配置,则会极大的增加整个服务系统的复杂度,使服务系统不易使用,使用难度加大。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于分布式服务的集中配置方法、系统、设备及介质,用于解决现有技术中进行微服务配置时存在的问题。
为实现上述目的及其他相关目的,本发明提供一种基于分布式服务的集中配置方法,述方法包括以下步骤:
获取预设微服务的变量参数,所述变量参数包括:私有变量参数、公共变量参数;
将所获取的变量参数输入至预设表格中进行分类配置;
调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;
按照所获取的参数数据启动所述预设微服务。
可选地,在所述预设表格中进行分类配置的参数至少包括:分组名称、分组备注、Pod名称、配置类型、配置key、配置value、配置名称、配置备注、输入类型和输入范围;
所述配置类型包括:公共服务配置、后端配置、前端配置和前后端公共配置。
可选地,利用所述接口获取预设表格中的参数数据后,还包括:
判断所获取的参数数据的配置类型中是否存在公共服务配置;
如果存在公共服务配置,则查询所述公共服务配置有无对应的key参数,且在有对应key参数和值的条件下,赋值给所述key参数对应的value,并保存其他参数,以及返回成功指令;
所述预设微服务在收到所述成功指令后,获取所述分组名称下的所有参数数据,并将所获取的参数数据追加至配置文件中,以及根据追加后的配置文件启动所述预设微服务,完成公共参数的配置。
可选地,所述方法还包括:
对所述私有变量参数或公共变量参数进行修改;
判断修改后的私有变量参数或公共变量参数的配置类型中是否存在公共服务配置;
如果存在公共服务配置,则根据所述公共服务配置对应的key参数,查询所述key参数对应的所有Pod名称,并按照查询出的所有Pod名称重启对应的Pod;
如果不存在公共服务配置,则判断修改后的私有变量参数或公共变量参数的配置类型中是否存在前后端公共配置,并根据所述前后端公共配置的存在结果查找出对应的Pod名称。
可选地,如果存在前后端公共配置,则根据所述私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称重启对应的Pod;
如果不存在前后端公共配置,则根据所述私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称对所有的Pod进行去重,且在完成去重后,调用kubernetes的接口,重新启动所述微服务。
可选地,在进行分类配置时,若所述配置类型为公共服务配置,则所述预设表格中的配置value不生效;
若所述公共服务配置中存在DATASOURCE-URL,则配置value采用所述配置中心的参数;当所述配置中心的参数为空时,采用完成分类配置后的预设表格中的参数。
可选地,对所述输入类型进行分类配置时,还包括定义前端组件类型;以及在对所述输入范围进行分类配置时,还包括定义label和value的映射关系,所述label和value的映射关系包括:[{"label":"不缓存拉流","value":"0"},{"label":"缓存拉流","value":"1"}]。
本发明还提供一种基于分布式服务的集中配置系统,所述系统包括有:
采集模块,用于获取预设微服务的变量参数,所述变量参数包括:私有变量参数、公共变量参数;
分类配置模块,用于将所获取的变量参数输入至预设表格中进行分类配置;
微服务启动模块,用于调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据,以及按照所获取的参数数据启动所述预设微服务。
本发明还提供一种基于分布式服务的集中配置设备,包括:
处理器;和
存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行如上述中任意一项所述的方法。
本发明还提供一种计算机可读介质,其上存储有指令,所述指令由处理器加载并执行如上述中任意一项所述的方法。
如上所述,本发明提供一种基于分布式服务的集中配置方法、系统、设备及介质,具有以下有益效果:本发明首先获取预设微服务的私有变量参数和公共变量参数;将所获取的私有变量参数和公共变量参数输入至预设表格中进行分类配置;调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;按照所获取的参数数据启动所述预设微服务。本发明通过定义不同的配置类型来定义微服务重启的范围,做到精确且小范围的影响,从而可以使微服务或微服务程序能够最大限度的满足各类配置需求;而且本发明通过将参数数据进行集中配置,极大地简化配置的复杂度,使微服务或微服务程序更加简单易用。此外,本发明通过将配置集中化处理,简化用户的操作,使用户能够更加方便的使用和配置服务系统。
附图说明
图1为一实施例提供的基于分布式服务的集中配置方法的流程示意图;
图2为一实施例提供的进行公共参数配置的流程示意图;
图3为一实施例提供的基于分布式服务的集中配置系统的硬件结构示意图;
图4为一实施例提供的基于分布式服务的集中配置设备的硬件结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1所示,本发明提供一种基于分布式服务的集中配置方法,所述方法包括以下步骤:
S100,获取预设微服务的变量参数,所述变量参数包括:私有变量参数、公共变量参数;
S200,将所获取的变量参数输入至预设表格中进行分类配置;作为示例,预设表格可以是EXCEL表格。
S300,调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;
S400,按照所获取的参数数据启动所述预设微服务。
根据上述实施例的记载,本实施例通过定义不同的配置类型来定义微服务重启的范围,做到精确且小范围的影响,从而可以使微服务或微服务程序能够最大限度的满足各类配置需求;而且本实施例通过将参数数据进行集中配置,极大地简化配置的复杂度,使微服务或微服务程序更加简单易用。此外,本实施例通过将配置集中化处理,简化用户的操作,使用户能够更加方便的使用和配置服务系统。
在一示例性实施例中,在所述预设表格中进行分类配置的参数至少包括:分组名称、分组备注、Pod名称、配置类型、配置key、配置value、配置名称、配置备注、输入类型和输入范围;所述配置类型包括:公共服务配置、后端配置、前端配置和前后端公共配置。其中,在进行分类配置时,若所述配置类型为公共服务配置,则所述预设表格中的配置value不生效;若所述公共服务配置中存在DATASOURCE-URL,则配置value采用所述配置中心的参数;当所述配置中心的参数为空时,采用完成分类配置后的预设表格中的参数。对所述输入类型进行分类配置时,还包括定义前端组件类型;以及在对所述输入范围进行分类配置时,还包括定义label和value的映射关系,所述label和value的映射关系包括:[{"label":"不缓存拉流","value":"0"},{"label":"缓存拉流","value":"1"}]。其中,Pod(Plain olddata structure)是C++语言的标准中定义的一类数据结构,Pod适用于需要明确的数据底层操作的系统中。Pod通常被用在系统的边界处,即指不同系统之间只能以底层数据的形式进行交互,系统的高层逻辑不能互相兼容。比如当对象的字段值是从外部数据中构建时,系统还没有办法对对象进行语义检查和解释,这时就适用Pod来存储数据。作为示例,本实施例中的key可以理解为键值,value可以理解为属性或关键字,label可以理解为字符,DATASOURCE-URL可以理解为数据源地址。即本实施例中的配置key可以理解为配置键值,配置value可以理解为配置属性或配置关键字。
作为示例,将所获取的变量参数输入至预设表格中进行分类配置后,预设表格中的参数数据如下表1所示。其中,当输入类型为hidden时,表示输入类型隐藏不显示;当输入类型为radio时,表示输入类型为单选按钮。
表1分类配置后的EXCEL表格
在一示例性实施例中,利用所述接口获取预设表格中的参数数据后,还包括:
S310,判断所获取的参数数据的配置类型中是否存在公共服务配置;
S320,如果存在公共服务配置,则查询该公共服务配置有无对应的key参数,且在有对应key参数和值的条件下,赋值给该key参数对应的value,并保存其他参数,以及返回成功指令;
S330,所述预设微服务在收到所述成功指令后,获取该分组名称下的所有参数数据,并将所获取的参数数据追加至配置文件中,以及根据追加后的配置文件启动所述预设微服务,完成公共参数的配置。
在一示例性实施例中,所述方法还包括:对所述私有变量参数或公共变量参数进行修改;判断修改后的私有变量参数或公共变量参数的配置类型中是否存在公共服务配置;如果存在公共服务配置,则根据该公共服务配置对应的key参数,查询该key参数对应的所有Pod名称,并按照查询出的所有Pod名称重启对应的Pod;如果不存在公共服务配置,则判断修改后的私有变量参数或公共变量参数的配置类型中是否存在前后端公共配置,并根据所述前后端公共配置的存在结果查找出对应的Pod名称。如果存在前后端公共配置,则根据该私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称重启对应的Pod;如果不存在前后端公共配置,则根据该私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称对所有的Pod进行去重,且在完成去重后,调用kubernetes的接口,重新启动所述微服务。
根据上述记载,在一具体实施例,本发明提供一种基于分布式服务的集中配置方法,所述方法包括以下步骤:
步骤一:首先是进行EXCEL表格的配置,配置的参数有分组名称、分组备注、Pod名称,配置类型(公共服务配置、后端配置、前端配置、前后端公共配置),配置key,配置value(默认值也配置在此处),配置名称(前端展示),配置备注,输入类型(定义前端组件类型,例如:radio、text等),输入范围(配置枚举、边界等)。
步骤二:在配置完成后进行微服务的安装,安装先调用配置中心的接口,将数据传递给配置中心,配置中心进行数据的保存,公共参数的赋值等操作,接口返回成功后,进行配置的下载,下载完成后进行微服务的启动。
步骤三:在微服务启动完成后,如果进行私有或者是公共参数的修改,配置中心将数据保存在数据库中,并查找到需要重启的微服务,调用kubernetes的接口将微服务进行重启,微服务重启过程中获取配置中心的最新数据,完成微服务的最终加载。
在上述步骤一中,主要是为定义业务需要的不同的字段配置,具体包括以下几个步骤:
步骤1.1,配置类型:如果配置类型为公共服务配置,则EXCEL表格中配置的value不生效。配置中心在收到微服务注册的过程中,收集公共配置,如果有重复的进行去重展示,但是数据库中每一个参数都以一条数据保留,例如表2所示。
表2配置后保留的一条数据
如果公共服务配置中已经存在了DATASOURCE-URL,则页面不会再重启的展示,但是数据库中会记录,并且配置的value以系统中配置中心的参数为准。不以导入的参数为准,如果系统中参数为空,则暂时以EXCEL表格中的为准。系统中该参数被新增或修改,则触发参数修改逻辑。后续步骤详细解释。
输入类型:定义前端页面渲染的组件类型,如单选框,复选框,下拉框等常见组件,另,如果配置为hidden,则前端不进行展示,但是后台依旧生效,修改该key,也会触发修改逻辑。
输入范围:定义该组件的范围,例如:[0-100],或者是label和value的映射关系,label为页面展示类型,实际传值为value传递给微服务方,例如:[{"label":"不缓存拉流","value":"0"},{"label":"缓存拉流","value":"1"}]。
在上述步骤二中:主要是进行业务流程处理的逻辑判断,具体请查看主体流程如附图一,具体包括以下几个步骤:
步骤2.1:当EXCEL表格准备完成后,启动时,启动脚本先调用配置中心的接口,将EXCEL表格上传到配置中心。
步骤2.2:配置中心收到数据后,首先判断配置类型,有无公共服务配置,如果有,则查询系统中有无对应的key参数,如果有对应的参数且有值,则赋值给该key对应的value。其他的参数统一进行保存,并返回成功。
步骤2.3:在收到返回成功后,微服务获取该分组名称下的所有数据,然后追加到配置文件中,以该文件的配置,启动程序,完成公共参数的配置。
在上述步骤三中:主要是进行业务流程修改的处理逻辑判断,具体包括以下几个步骤:
步骤3.1:在修改参数时,首先判断有无公共服务配置,如果有公共服务配置,则根据该公共服务配置的配置类型和key,查询该key所有的Pod名称,将其全部进行重启;
步骤3.2:如果无公共服务配置,有前后端公共配置,则根据该数据对应的分组名称,查找到对应的所有Pod名称,将其全部进行重启;
步骤3.3:如果无公共服务配置、无前后端公共配置,则根据该数据对应的Pod名称,去重后,直接调用微云接口,进行微服务的重启,重新加载数据再重启。
根据上述记载可知,本实施例首先是导入该表格到配置中心,配置中心对应的公共服务配置如果存在,则直接替换到表格中的值,其他的参数以表格配置为准进行数据的加载。启动完成后,配置中心的页面将不展示被标记输入类型为hidden的数据,其他的数据,根据输入类型进行展示。若是否可编辑为否,前端页面将不可编辑该参数。如果修改了公共服务配置,则会根据配置类型和key查找数据库中有哪些Pod引用了,重启时启动所有该Pod名称的微服务。如果是前后端配置,则根据配置类型和分组名称,查询有哪些Pods,修改完成后重启对应的Pod,如果配置类型为前端配置或后端配置,则只重启对应的Pod名称对应的Pod就行。
综上所述,本发明提供一种基于分布式服务的集中配置方法,首先获取预设微服务的私有变量参数和公共变量参数;将所获取的私有变量参数和公共变量参数输入至预设表格中进行分类配置;调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;按照所获取的参数数据启动所述预设微服务。本方法通过定义不同的配置类型来定义微服务重启的范围,做到精确且小范围的影响,从而可以使微服务或微服务程序能够最大限度的满足各类配置需求;而且本方法通过将参数数据进行集中配置,极大地简化配置的复杂度,使微服务或微服务程序更加简单易用。此外,本方法通过将配置集中化处理,简化用户的操作,使用户能够更加方便的使用和配置服务系统。
如图3所示,本发明还提供一种基于分布式服务的集中配置系统,所述系统包括有:
采集模块M10,用于获取预设微服务的变量参数,所述变量参数包括:私有变量参数、公共变量参数;
分类配置模块M20,用于将所获取的变量参数输入至预设表格中进行分类配置;
微服务启动模块M30,用于调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据,以及按照所获取的参数数据启动所述预设微服务。
根据上述实施例的记载,本实施例通过定义不同的配置类型来定义微服务重启的范围,做到精确且小范围的影响,从而可以使微服务或微服务程序能够最大限度的满足各类配置需求;而且本实施例通过将参数数据进行集中配置,极大地简化配置的复杂度,使微服务或微服务程序更加简单易用。此外,本实施例通过将配置集中化处理,简化用户的操作,使用户能够更加方便的使用和配置服务系统。
在一示例性实施例中,在所述预设表格中进行分类配置的参数至少包括:分组名称、分组备注、Pod名称、配置类型、配置key、配置value、配置名称、配置备注、输入类型和输入范围;所述配置类型包括:公共服务配置、后端配置、前端配置和前后端公共配置。其中,在进行分类配置时,若所述配置类型为公共服务配置,则所述预设表格中的配置value不生效;若所述公共服务配置中存在DATASOURCE-URL,则配置value采用所述配置中心的参数;当所述配置中心的参数为空时,采用完成分类配置后的预设表格中的参数。对所述输入类型进行分类配置时,还包括定义前端组件类型;以及在对所述输入范围进行分类配置时,还包括定义label和value的映射关系,所述label和value的映射关系包括:[{"label":"不缓存拉流","value":"0"},{"label":"缓存拉流","value":"1"}]。其中,Pod(Plain olddata structure)是C++语言的标准中定义的一类数据结构,Pod适用于需要明确的数据底层操作的系统中。Pod通常被用在系统的边界处,即指不同系统之间只能以底层数据的形式进行交互,系统的高层逻辑不能互相兼容。比如当对象的字段值是从外部数据中构建时,系统还没有办法对对象进行语义检查和解释,这时就适用Pod来存储数据。作为示例,本实施例中的key可以理解为键值,value可以理解为属性或关键字,label可以理解为字符,DATASOURCE-URL可以理解为数据源地址。即本实施例中的即配置key可以理解为配置键值,配置value可以理解为配置属性或配置关键字。
作为示例,将所获取的变量参数输入至预设表格中进行分类配置后,预设表格中的参数数据如下表3所示。其中,当输入类型为hidden时,表示输入类型隐藏不显示;当输入类型为radio时,表示输入类型为单选按钮。
表3分类配置后的EXCEL表格
在一示例性实施例中,利用所述接口获取预设表格中的参数数据后,还包括:
判断所获取的参数数据的配置类型中是否存在公共服务配置;
如果存在公共服务配置,则查询该公共服务配置有无对应的key参数,且在有对应key参数和值的条件下,赋值给该key参数对应的value,并保存其他参数,以及返回成功指令;
所述预设微服务在收到所述成功指令后,获取该分组名称下的所有参数数据,并将所获取的参数数据追加至配置文件中,以及根据追加后的配置文件启动所述预设微服务,完成公共参数的配置。
在一示例性实施例中,所述系统还包括:对所述私有变量参数或公共变量参数进行修改;判断修改后的私有变量参数或公共变量参数的配置类型中是否存在公共服务配置;如果存在公共服务配置,则根据该公共服务配置对应的key参数,查询该key参数对应的所有Pod名称,并按照查询出的所有Pod名称重启对应的Pod;如果不存在公共服务配置,则判断修改后的私有变量参数或公共变量参数的配置类型中是否存在前后端公共配置,并根据所述前后端公共配置的存在结果查找出对应的Pod名称。如果存在前后端公共配置,则根据该私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称重启对应的Pod;如果不存在前后端公共配置,则根据该私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称对所有的Pod进行去重,且在完成去重后,调用kubernetes的接口,重新启动所述微服务。
根据上述记载,在一具体实施例,本发明提供一种基于分布式服务的集中配置系统,所述系统包括以下步骤:
步骤一:首先是进行EXCEL表格的配置,配置的参数有分组名称、分组备注、Pod名称,配置类型(公共服务配置、后端配置、前端配置、前后端公共配置),配置key,配置value(默认值也配置在此处),配置名称(前端展示),配置备注,输入类型(定义前端组件类型,例如:radio、text等),输入范围(配置枚举、边界等)。
步骤二:在配置完成后进行微服务的安装,安装先调用配置中心的接口,将数据传递给配置中心,配置中心进行数据的保存,公共参数的赋值等操作,接口返回成功后,进行配置的下载,下载完成后进行微服务的启动。
步骤三:在微服务启动完成后,如果进行私有或者是公共参数的修改,配置中心将数据保存在数据库中,并查找到需要重启的微服务,调用kubernetes的接口将微服务进行重启,微服务重启过程中获取配置中心的最新数据,完成微服务的最终加载。
在上述步骤一中,主要是为定义业务需要的不同的字段配置,具体包括以下几个步骤:
步骤1.1,配置类型:如果配置类型为公共服务配置,则EXCEL表格中配置的value不生效。配置中心在收到微服务注册的过程中,收集公共配置,如果有重复的进行去重展示,但是数据库中每一个参数都以一条数据保留,例如表4所示。
表4配置后保留的一条数据
如果公共服务配置中已经存在了DATASOURCE-URL,则页面不会再重启的展示,但是数据库中会记录,并且配置的value以系统中配置中心的参数为准。不以导入的参数为准,如果系统中参数为空,则暂时以EXCEL表格中的为准。系统中该参数被新增或修改,则触发参数修改逻辑。后续步骤详细解释。
输入类型:定义前端页面渲染的组件类型,如单选框,复选框,下拉框等常见组件,另,如果配置为hidden,则前端不进行展示,但是后台依旧生效,修改该key,也会触发修改逻辑。
输入范围:定义该组件的范围,例如:[0-100],或者是label和value的映射关系,label为页面展示类型,实际传值为value传递给微服务方,例如:[{"label":"不缓存拉流","value":"0"},{"label":"缓存拉流","value":"1"}]。
在上述步骤二中:主要是进行业务流程处理的逻辑判断,具体请查看主体流程如附图一,具体包括以下几个步骤:
步骤2.1:当EXCEL表格准备完成后,启动时,启动脚本先调用配置中心的接口,将EXCEL表格上传到配置中心。
步骤2.2:配置中心收到数据后,首先判断配置类型,有无公共服务配置,如果有,则查询系统中有无对应的key参数,如果有对应的参数且有值,则赋值给该key对应的value。其他的参数统一进行保存,并返回成功。
步骤2.3:在收到返回成功后,微服务获取该分组名称下的所有数据,然后追加到配置文件中,以该文件的配置,启动程序,完成公共参数的配置。
在上述步骤三中:主要是进行业务流程修改的处理逻辑判断,具体包括以下几个步骤:
步骤3.1:在修改参数时,首先判断有无公共服务配置,如果有公共服务配置,则根据该公共服务配置的配置类型和key,查询该key所有的Pod名称,将其全部进行重启;
步骤3.2:如果无公共服务配置,有前后端公共配置,则根据该数据对应的分组名称,查找到对应的所有Pod名称,将其全部进行重启;
步骤3.3:如果无公共服务配置、无前后端公共配置,则根据该数据对应的Pod名称,去重后,直接调用微云接口,进行微服务的重启,重新加载数据再重启。
根据上述记载可知,本实施例首先是导入该表格到配置中心,配置中心对应的公共服务配置如果存在,则直接替换到表格中的值,其他的参数以表格配置为准进行数据的加载。启动完成后,配置中心的页面将不展示被标记输入类型为hidden的数据,其他的数据,根据输入类型进行展示。若是否可编辑为否,前端页面将不可编辑该参数。如果修改了公共服务配置,则会根据配置类型和key查找数据库中有哪些Pod引用了,重启时启动所有该Pod名称的微服务。如果是前后端配置,则根据配置类型和分组名称,查询有哪些Pods,修改完成后重启对应的Pod,如果配置类型为前端配置或后端配置,则只重启对应的Pod名称对应的Pod就行。
综上所述,本发明提供一种基于分布式服务的集中配置系统,首先获取预设微服务的私有变量参数和公共变量参数;将所获取的私有变量参数和公共变量参数输入至预设表格中进行分类配置;调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;按照所获取的参数数据启动所述预设微服务。本系统通过定义不同的配置类型来定义微服务重启的范围,做到精确且小范围的影响,从而可以使微服务或微服务程序能够最大限度的满足各类配置需求;而且本系统通过将参数数据进行集中配置,极大地简化配置的复杂度,使微服务或微服务程序更加简单易用。此外,本系统通过将配置集中化处理,简化用户的操作,使用户能够更加方便的使用和配置服务系统。
本申请实施例还提供了一种基于分布式服务的集中配置设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。图4示出了一种计算机设备1000的结构示意图。参阅图4所示,计算机设备1000包括:处理器1010、存储器1020、电源1030、显示单元1040、输入单元1060。
处理器1010是计算机设备1000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器1020内的软件程序和/或数据,执行计算机设备1000的各种功能,从而对计算机设备1000进行整体监控。本申请实施例中,处理器1010调用存储器1020中存储的计算机程序时执行如图1所述的方法。可选的,处理器1010可包括一个或多个处理单元;优选的,处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用等,调制解调处理器主要处理无线通信。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据计算机设备1000的使用所创建的数据等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
计算机设备1000还包括给各个部件供电的电源1030(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及计算机设备1000的各种菜单等,本发明实施例中主要用于显示计算机设备1000中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元1040可以包括显示面板1050。显示面板1050可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置。
输入单元1060可用于接收用户输入的数字或字符等信息。输入单元1060可包括触控面板1070以及其他输入设备1080。其中,触控面板1070,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板1070上或在触控面板1070附近的操作)。
具体的,触控面板1070可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器1010,并接收处理器1010发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1070。其他输入设备1080可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
当然,触控面板1070可覆盖显示面板1050,当触控面板1070检测到在其上或附近的触摸操作后,传送给处理器1010以确定触摸事件的类型,随后处理器1010根据触摸事件的类型在显示面板1050上提供相应的视觉输出。虽然在图4中,触控面板1070与显示面板1050是作为两个独立的部件来实现计算机设备1000的输入和输出功能,但是在某些实施例中,可以将触控面板1070与显示面板1050集成而实现计算机设备1000的输入和输出功能。
计算机设备1000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述计算机设备1000还可以包括摄像头等其它部件。
本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有指令,当一个或多个处理器执行所述指令时,使得上述设备能够执行本申请中如图1所述的方法。本领域技术人员可以理解的是,图4仅仅是计算机设备的举例,并不构成对该设备的限定,该设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时,可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的,应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可应用至通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器中以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当理解的是,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (7)
1.一种基于分布式服务的集中配置方法,其特征在于,所述方法包括以下步骤:
获取预设微服务的变量参数,所述变量参数包括:私有变量参数、公共变量参数;
将所获取的变量参数输入至预设表格中进行分类配置;
调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据;
按照所获取的参数数据启动所述预设微服务;
在所述预设表格中进行分类配置的参数至少包括:分组名称、分组备注、Pod名称、配置类型、配置key、配置value、配置名称、配置备注、输入类型和输入范围;所述配置类型包括:公共服务配置、后端配置、前端配置和前后端公共配置;
利用所述接口获取预设表格中的参数数据后,还包括:判断所获取的参数数据的配置类型中是否存在公共服务配置;如果存在公共服务配置,则查询所述公共服务配置有无对应的key参数,且在有对应key参数和值的条件下,赋值给所述key参数对应的value,并保存其他参数,以及返回成功指令;所述预设微服务在收到所述成功指令后,获取所述分组名称下的所有参数数据,并将所获取的参数数据追加至配置文件中,以及根据追加后的配置文件启动所述预设微服务,完成公共参数的配置;
所述方法还包括:对所述私有变量参数或公共变量参数进行修改;判断修改后的私有变量参数或公共变量参数的配置类型中是否存在公共服务配置;如果存在公共服务配置,则根据所述公共服务配置对应的key参数,查询所述key参数对应的所有Pod名称,并按照查询出的所有Pod名称重启对应的Pod;如果不存在公共服务配置,则判断修改后的私有变量参数或公共变量参数的配置类型中是否存在前后端公共配置,并根据所述前后端公共配置的存在结果查找出对应的Pod名称。
2.根据权利要求1所述的基于分布式服务的集中配置方法,其特征在于,如果存在前后端公共配置,则根据所述私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称重启对应的Pod;
如果不存在前后端公共配置,则根据所述私有变量参数或公共变量参数对应的分组名称,查找出对应的所有Pod名称,并按照查找出的所有Pod名称对所有的Pod进行去重,且在完成去重后,调用kubernetes的接口,重新启动所述微服务。
3.根据权利要求1所述的基于分布式服务的集中配置方法,其特征在于,在进行分类配置时,若所述配置类型为公共服务配置,则所述预设表格中的配置value不生效;
若所述公共服务配置中存在DATASOURCE-URL,则配置value采用所述配置中心的参数;当所述配置中心的参数为空时,采用完成分类配置后的预设表格中的参数。
4.根据权利要求1所述的基于分布式服务的集中配置方法,其特征在于,对所述输入类型进行分类配置时,还包括定义前端组件类型;以及在对所述输入范围进行分类配置时,还包括定义label和value的映射关系,所述label和value的映射关系包括:[{"label":"不缓存拉流","value":"0"},{"label":"缓存拉流","value":"1"}]。
5.一种基于分布式服务的集中配置系统,其特征在于,所述系统包括有:
采集模块,用于获取预设微服务的变量参数,所述变量参数包括:私有变量参数、公共变量参数;
分类配置模块,用于将所获取的变量参数输入至预设表格中进行分类配置;
微服务启动模块,用于调用配置中心的接口,并在完成分类配置后利用所述接口获取预设表格中的参数数据,以及按照所获取的参数数据启动所述预设微服务;
在所述预设表格中进行分类配置的参数至少包括:分组名称、分组备注、Pod名称、配置类型、配置key、配置value、配置名称、配置备注、输入类型和输入范围;所述配置类型包括:公共服务配置、后端配置、前端配置和前后端公共配置;
利用所述接口获取预设表格中的参数数据后,还包括:判断所获取的参数数据的配置类型中是否存在公共服务配置;如果存在公共服务配置,则查询所述公共服务配置有无对应的key参数,且在有对应key参数和值的条件下,赋值给所述key参数对应的value,并保存其他参数,以及返回成功指令;所述预设微服务在收到所述成功指令后,获取所述分组名称下的所有参数数据,并将所获取的参数数据追加至配置文件中,以及根据追加后的配置文件启动所述预设微服务,完成公共参数的配置;
所述系统还包括:对所述私有变量参数或公共变量参数进行修改;判断修改后的私有变量参数或公共变量参数的配置类型中是否存在公共服务配置;如果存在公共服务配置,则根据所述公共服务配置对应的key参数,查询所述key参数对应的所有Pod名称,并按照查询出的所有Pod名称重启对应的Pod;如果不存在公共服务配置,则判断修改后的私有变量参数或公共变量参数的配置类型中是否存在前后端公共配置,并根据所述前后端公共配置的存在结果查找出对应的Pod名称。
6.一种基于分布式服务的集中配置设备,其特征在于,包括:
处理器;和
存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行如权利要求1至4中任意一项所述的方法。
7.一种计算机可读介质,其特征在于,其上存储有指令,所述指令由处理器加载并执行如权利要求1至4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111325033.XA CN113986396B (zh) | 2021-11-10 | 2021-11-10 | 一种基于分布式服务的集中配置方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111325033.XA CN113986396B (zh) | 2021-11-10 | 2021-11-10 | 一种基于分布式服务的集中配置方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986396A CN113986396A (zh) | 2022-01-28 |
CN113986396B true CN113986396B (zh) | 2023-06-06 |
Family
ID=79747584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111325033.XA Active CN113986396B (zh) | 2021-11-10 | 2021-11-10 | 一种基于分布式服务的集中配置方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986396B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413346A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 一种参数更新方法及装置 |
CN110795078A (zh) * | 2019-09-28 | 2020-02-14 | 同程网络科技股份有限公司 | 基于ios系统下的app工程运作系统的架构方法 |
CN110798502A (zh) * | 2019-09-18 | 2020-02-14 | 平安科技(深圳)有限公司 | 基于微服务框架的灰度发布方法、装置和计算机设备 |
CN110865801A (zh) * | 2019-11-08 | 2020-03-06 | 南瑞集团有限公司 | 一种基于微服务的电力交易平台业务中台及其应用方法 |
CN111221591A (zh) * | 2019-12-27 | 2020-06-02 | 中国建设银行股份有限公司 | 探测基于Kubernetes部署的微服务的可用性的方法、系统及介质 |
CN112418777A (zh) * | 2020-10-12 | 2021-02-26 | 国网江苏省电力有限公司经济技术研究院 | 一种电力项目业务中台及其微服务系统 |
CN112597183A (zh) * | 2020-12-23 | 2021-04-02 | 深圳迅策科技有限公司 | 一种基于微服务体系的数据服务平台 |
CN112764839A (zh) * | 2021-02-02 | 2021-05-07 | 三盟科技股份有限公司 | 一种用于管理服务平台的大数据配置方法及系统 |
CN112906803A (zh) * | 2021-03-01 | 2021-06-04 | 重庆紫光华山智安科技有限公司 | 模型集成方法、装置、服务器和计算机可读存储介质 |
CN113127564A (zh) * | 2021-04-20 | 2021-07-16 | 建信金融科技有限责任公司 | 一种参数同步方法和装置 |
CN113448678A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 应用信息生成方法、部署方法及装置、系统、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10515005B1 (en) * | 2018-12-20 | 2019-12-24 | Atlassian Pty Ltd | Systems and methods for testing source code |
-
2021
- 2021-11-10 CN CN202111325033.XA patent/CN113986396B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413346A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 一种参数更新方法及装置 |
CN110798502A (zh) * | 2019-09-18 | 2020-02-14 | 平安科技(深圳)有限公司 | 基于微服务框架的灰度发布方法、装置和计算机设备 |
CN110795078A (zh) * | 2019-09-28 | 2020-02-14 | 同程网络科技股份有限公司 | 基于ios系统下的app工程运作系统的架构方法 |
CN110865801A (zh) * | 2019-11-08 | 2020-03-06 | 南瑞集团有限公司 | 一种基于微服务的电力交易平台业务中台及其应用方法 |
CN111221591A (zh) * | 2019-12-27 | 2020-06-02 | 中国建设银行股份有限公司 | 探测基于Kubernetes部署的微服务的可用性的方法、系统及介质 |
CN113448678A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 应用信息生成方法、部署方法及装置、系统、存储介质 |
CN112418777A (zh) * | 2020-10-12 | 2021-02-26 | 国网江苏省电力有限公司经济技术研究院 | 一种电力项目业务中台及其微服务系统 |
CN112597183A (zh) * | 2020-12-23 | 2021-04-02 | 深圳迅策科技有限公司 | 一种基于微服务体系的数据服务平台 |
CN112764839A (zh) * | 2021-02-02 | 2021-05-07 | 三盟科技股份有限公司 | 一种用于管理服务平台的大数据配置方法及系统 |
CN112906803A (zh) * | 2021-03-01 | 2021-06-04 | 重庆紫光华山智安科技有限公司 | 模型集成方法、装置、服务器和计算机可读存储介质 |
CN113127564A (zh) * | 2021-04-20 | 2021-07-16 | 建信金融科技有限责任公司 | 一种参数同步方法和装置 |
Non-Patent Citations (2)
Title |
---|
"面向DaaS模式的物联网云平台的云网关设计与实现";唐嘉良;《中国优秀硕士学位论文全文数据库 信息科技辑》;I136-468 * |
"预警探测系统微服务开发与集成框架";黄大丰等;《现代雷达》;第78-85页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113986396A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177022B2 (en) | User pipeline configuration for rule-based query transformation, generation and result display | |
US10028116B2 (en) | De-siloing applications for personalization and task completion services | |
US20120071155A1 (en) | Method and Apparatus for Binding Mobile Device Functionality to an Application Definition | |
CN104850296B (zh) | 显示页面内容的方法及装置 | |
CN103092604A (zh) | 一种应用程序分类方法和装置 | |
US20120079009A1 (en) | Method and apparatus for choosing resources based on context and inheritance | |
CN104077391A (zh) | 提供专题新闻搜索的方法、服务器、客户端和系统 | |
CN105404680A (zh) | 一种搜索推荐方法及装置 | |
CN107958365B (zh) | 物料信息变更方法、装置、存储介质及电子设备 | |
CN104603777A (zh) | 搜索结果中的外部动作建议 | |
CN111782181A (zh) | 代码生成方法、装置、电子设备以及存储介质 | |
KR102277240B1 (ko) | 키워드 관계 구조를 이용한 동의어 추출 방법 및 시스템 | |
CN107729341B (zh) | 电子装置、信息查询控制方法和计算机可读存储介质 | |
US10380204B1 (en) | Visual search | |
CN113986396B (zh) | 一种基于分布式服务的集中配置方法、系统、设备及介质 | |
EP4143672A1 (en) | Combined local and server context menus | |
CN111766987B (zh) | 应用程序管理方法、装置及电子设备 | |
CN114943978B (zh) | 一种表格重建的方法及电子设备 | |
EP2463784A1 (en) | Method and human-to-machine interface apparatus for searching files | |
KR102195191B1 (ko) | 키워드 관계 구조를 이용한 신규 키워드 추출 방법 및 시스템 | |
CN109725799B (zh) | 一种广告显示的控制方法、装置及智能终端 | |
US20140282477A1 (en) | Automatic updating of data in application programs | |
JP2022516391A (ja) | アプリケーションオープン動作中にデジタルコンテンツを追加するためのシステムおよび方法 | |
CN103902167A (zh) | 个性化菜单实现系统及方法 | |
EP2375707A1 (en) | Method and Human-to-Machine Interface apparatus for managing contact data with multiple labels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |