配置中心的管理调度方法及装置与流程

文档序号:20946010发布日期:2020-06-02 19:52阅读:135来源:国知局
配置中心的管理调度方法及装置与流程

本发明涉及通信技术领域,尤其是涉及一种配置中心的管理调度方法及装置。



背景技术:

目前配置管理调度方法有两种方式,一种方式为将应用与配置信息一起打包使用,这种方式的缺点是只适用于单体应用服务。而另一种方式为采用分布式架构及微服务架构,缺点是随着服务节点的不断增加,配置更改起来变得异常困难,给实施人员带来沉重的负担,且容易出错。另外,即使微服务有集成配置中心,若配置一旦修改,仍需要重新加载整个配置信息并重启应用程序,无法做到动态加载改变的配置信息,因此现有技术不能及时通知应用服务器更新配置。



技术实现要素:

本发明的目的在于提供一种配置中心的管理调度方法及装置,仅在配置信息发生更新时及时通知应用服务器加载配置更新信息,减轻了应用服务器的压力,节省了应用服务器的资源,且配置更新信息可以实时发送。

本发明提供的一种配置中心的管理调度方法,其中,应用于配置服务器,包括:获取应用服务器的第一配置信息,其中,所述第一配置信息对应一个应用服务器;将所述第一配置信息与第二配置信息进行比对;其中,所述第二配置信息为所述应用服务器预先在所述配置服务器中存储的配置信息;若比对结果为不一致,则将所述第一配置信息确定为配置更新信息;将所述配置更新信息发送至消息总线rocketmq,并记录所述消息总线rocketmq接收所述配置更新信息的接收时间;基于所述接收时间将所述配置更新信息发送至对应的应用服务器中,以基于所述配置更新信息更新所述对应的应用服务器的配置信息。

进一步的,所述接收时间为多个;基于所述接收时间将所述配置更新信息发送至对应的应用服务器中包括:按照多个所述接收时间的接收时间顺序将所有的配置更新信息分别发送至对应的应用服务器。

进一步的,所述的配置中心的管理调度方法还包括:若所述对应的应用服务器接收到所述配置更新信息,则将所述配置服务器中的所述第二配置信息替换为所述配置更新信息。

进一步的,所述的配置中心的管理调度方法还包括:若所述对应的应用服务器未接收到所述配置更新信息,则利用所述消息总线rocketmq获取对所述对应的应用服务器监听过程的监听信息;在监听信息为所述对应的应用服务器恢复接收功能后,利用所述消息总线rocketmq将所述配置更新信息重新发送至所述对应的应用服务器,以基于所述配置更新信息更新所述对应的应用服务器的配置信息。

进一步的,在将所述第一配置信息与第二配置信息进行比对的步骤之后,所述的配置中心的管理调度方法还包括:若比对结果为一致,则将所述第一配置信息确定为配置未更新信息;将所述配置未更新信息进行删除。

进一步的,在获取应用服务器的第一配置信息的步骤之前,所述的配置中心的管理调度方法还包括:启动所述配置服务器和所述应用服务器;利用所述消息总线rocketmq连接所述配置服务器和所述应用服务器。

本发明提供的一种配置中心的管理调度装置,其中,应用于配置服务器,包括:第一获取模块,用于获取应用服务器的第一配置信息,其中,所述第一配置信息对应一个应用服务器;比对模块,用于将所述第一配置信息与第二配置信息进行比对;其中,所述第二配置信息为所述应用服务器预先在所述配置服务器中存储的配置信息;第一确定模块,用于若比对结果为不一致,则将所述第一配置信息确定为配置更新信息;记录模块,用于将所述配置更新信息发送至消息总线rocketmq,并记录所述消息总线rocketmq接收所述配置更新信息的接收时间;第一发送模块,用于基于所述接收时间将所述配置更新信息发送至对应的应用服务器中,以基于所述配置更新信息更新所述对应的应用服务器的配置信息。

进一步的,所述接收时间为多个;所述第一发送模块包括:发送单元,用于按照多个所述接收时间的接收时间顺序将所有的配置更新信息分别发送至对应的应用服务器。

本发明还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行计算机程序时实现所述的配置中心的管理调度方法。

本发明还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,其中,所述程序代码使所述处理器执行所述的配置中心的管理调度方法。

本发明提供的一种配置中心的管理调度方法及装置,应用于配置服务器,包括:先获取应用服务器的第一配置信息,其中,第一配置信息对应一个应用服务器;然后将第一配置信息与第二配置信息进行比对;其中,第二配置信息为应用服务器预先在配置服务器中存储的配置信息;若比对结果为不一致,则将第一配置信息确定为配置更新信息;再将配置更新信息发送至消息总线rocketmq,并记录消息总线rocketmq接收配置更新信息的接收时间;最后基于接收时间将配置更新信息发送至对应的应用服务器中,以基于配置更新信息更新对应的应用服务器的配置信息。本发明利用消息总线rocketmq仅在配置信息发生更新时及时通知应用服务器加载配置更新信息,不需要应用服务器频繁请求重复加载配置信息,减轻了应用服务器的压力,节省了应用服务器的资源,且配置更新信息可以实时发送,具有一定的时效性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种配置中心的管理调度方法的流程图;

图2为配置服务器利用消息总线rocketmq与应用服务器通信的结构示意图;

图3为本发明实施例提供的另一种配置中心的管理调度方法的流程图;

图4为本发明实施例提供的一种配置中心的管理调度装置的结构示意图;

图5为本发明实施例提供的另一种配置中心的管理调度装置的结构示意图。

图标:

11-第一获取模块;12-比对模块;13-第一确定模块;14-记录模块;15-第一发送模块;16-替换模块;17-第二获取模块;18-第二发送模块;19-第二确定模块;20-删除模块;21-启动模块;22-连接模块。

具体实施方式

下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前在微服务或者多个节点的应用服务架构下,存在以下技术问题:(1)不同服务节点以及相同服务的不同实例之间的配置信息比较分散,难以统一管理问题。(2)各服务节点的配置更新信息修改起来比较困难,需要投入大量的实施人员进行重复性操作,且周期较长、存在易出错的技术问题。(3)现有技术无法直观的统一管理服务配置信息,每一个应用服务的配置信息需要单独查询,不够直观。(4)现有技术与持续集成理念相悖,加大敏捷开发、快速迭代的难度,降低了应用服务的可用性,加大了实施及运营成本。(5)现有技术无法保证各个应用服务之间的配置一致性,服务实例之间的配置不一致,可能会影响服务业务逻辑。(6)配置一旦修改,仍需要重新加载整个配置信息并重启应用程序,无法做到动态加载改变的配置信息,因此现有技术不能及时通知应用服务器更新配置。

为了解决现有技术中无法及时通知应用服务器更新配置的技术问题,本发明实施例提供了一种配置中心的管理调度方法及装置,该方法仅在配置信息发生更新时及时通知应用服务器加载配置更新信息,且配置更新信息可以实时发送。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种配置中心的管理调度方法进行详细介绍。

实施例一:

参照图1,本发明提供的一种配置中心的管理调度方法,其中,应用于配置服务器,可以包括以下步骤:

步骤s101,获取应用服务器的第一配置信息,其中,第一配置信息对应一个应用服务器。

在本发明实施例中,配置服务器一方面提供了获取应用服务器的第一配置信息的接口,用于为应用服务器提供第一配置信息;另一方面还提供应用服务器预先在配置服务器中存储的配置信息,也就是第二配置信息。应用服务器的目的在于监控应用服务器的配置信息是否发生变化,并在配置信息发生变化的情况下通知消息总线rocketmq。

步骤s102,将第一配置信息与第二配置信息进行比对;其中,第二配置信息为应用服务器预先在配置服务器中存储的配置信息。

在本发明实施例中,第一配置信息为应用服务器的目标配置信息,第二配置信息为应用服务器的当前配置信息,将目标配置信息与当前配置信息进行比对,通过比对结果可以确定应用服务器的配置信息是否发生变化。

步骤s103,若比对结果为不一致,则将第一配置信息确定为配置更新信息。

在本发明实施例中,第一配置信息确定为配置更新信息,则确定应用服务器的配置信息发生了变化。

步骤s104,将配置更新信息发送至消息总线rocketmq,并记录消息总线rocketmq接收配置更新信息的接收时间。

在本发明实施例中,消息总线rocketmq是一款分布式、队列消息模式的消息中间件,用来接收配置更新信息,并向应用服务器发送通知的消息中心,其中,通知的具体内容为配置更新信息。本发明实施例利用消息总线rocketmq可以实现配置文件的同步,即将配置更新信息发送至应用服务器,以使应用服务器的配置更新。消息总线rocketmq的优点是可以适配复杂项目,即消息总线rocketmq的消息中间件可以支持大数据。因此,消息总线rocketmq不仅可以用于配置更新,也可以用于其他业务的通知场景。

步骤s105,基于接收时间将配置更新信息发送至对应的应用服务器中,以基于配置更新信息更新对应的应用服务器的配置信息。

在本发明实施例中,配置服务器利用消息总线rocketmq与应用服务器通信的结构示意图如图2所示。当配置服务器接收的应用服务器的第一配置信息与第二配置信息不一致时,配置服务器向消息总线rocketmq发送具体的配置更新消息(即第一配置信息)。消息总线rocketmq接收到配置更新消息后,向应用服务器发送配置更新信息的通知。应用服务器接收通知,即应用服务器获取配置更新信息。根据配置更新信息对应用服务器进行配置的刷新、重新加载等操作,从而达到更新配置的技术效果。

需要注意的是,若多个应用服务器都对应一个配置信息,则配置服务器提供一个共用的第一配置信息,这个第一配置信息确定为配置更新信息后广播给所有的应用服务器,因此,可以通知一次,所有的应用服务器全部生效,避免了开发人员及实施人员对所有应用服务器的重复操作。

本发明实施例基于消息总线rocketmq,可以接收配置更新信息的消息,并通知各个应用服务节点进行更新配置,可以保证消息可达并实时消费,可以保证服务节点的配置一致性。

在本发明实施例中,利用消息总线的优点是无需应用服务频繁请求重复加载配置,只有在配置改动的情况下才通知应用服务器加载配置,因此减轻了应用服务器的压力,节省了应用服务器资源。配置更新信息可以实时发送,具有很强的时效性。利用消息总线进行配置更新信息的通知及应用服务器消费配置更新信息的过程为异步并发执行,使各个应用服务器之间可以相互独立,互不影响,保障服务的可用性。

本发明实施例提供的一种配置中心的管理调度方法,应用于配置服务器,包括:先获取应用服务器的第一配置信息,然后将第一配置信息与应用服务器预先在配置服务器中存储的配置信息进行比对;若比对结果为不一致,则将第一配置信息确定为配置更新信息;再将配置更新信息发送至消息总线rocketmq,并记录消息总线rocketmq接收配置更新信息的接收时间;最后基于接收时间将配置更新信息发送至对应的应用服务器中,以基于配置更新信息更新对应的应用服务器的配置信息。本发明实施例利用消息总线rocketmq仅在配置信息发生更新时及时通知应用服务器加载配置更新信息,不需要应用服务器频繁请求重复加载配置信息,减轻了应用服务器的压力,节省了应用服务器的资源,且配置更新信息可以实时发送,具有一定的时效性。

进一步的,如果接收时间为多个;那么步骤s105包括以下具体的步骤:

按照多个接收时间的接收时间顺序将所有的配置更新信息分别发送至对应的应用服务器。

本发明实施例利用消息总线rocketmq的队列消息模式可以同步应用服务器的配置。由于消息总线rocketmq支持实际的接收时间顺序,因此,当消息总线rocketmq通知多个应用服务器的配置更新信息时,可以按接收时间顺序将所有的配置更新信息分别发送至对应的应用服务器。各个应用服务器消费配置更新信息的过程可以并发执行。

进一步的,参照图3,配置中心的管理调度方法还包括:

步骤s106,若对应的应用服务器接收到配置更新信息,则将配置服务器中的第二配置信息替换为配置更新信息。

步骤s107,若对应的应用服务器未接收到配置更新信息,则利用消息总线rocketmq获取对对应的应用服务器监听过程的监听信息。

步骤s108,在监听信息为对应的应用服务器恢复接收功能后,利用消息总线rocketmq将配置更新信息重新发送至对应的应用服务器,以基于配置更新信息更新对应的应用服务器的配置信息。

在本发明实施例中,消息总线rocketmq还具有消息堆积的能力,因此,在应用服务器挂掉而未将配置更新信息通知到应用服务器的情况下,保留该配置更新信息。具体的,可以将配置更新信息持久化保存至磁盘文件,可以防止数据丢失。在应用服务器可以正常访问后,再次向应用服务器发送配置更新信息,可以保证配置更新信息通知无遗漏。

进一步的,参照图3,在步骤s102之后,本实施例所提供的配置中心的管理调度方法,还包括以下步骤:

步骤s109,若比对结果为一致,则将第一配置信息确定为配置未更新信息。

步骤s110,将配置未更新信息进行删除。

在本发明实施例中,若比对结果为一致,则表明应用服务器的配置信息未发生变化,应用服务器的配置不用更新,因此将第一配置信息确定为配置未更新信息并删除,减少了应用服务器的资源占用。

进一步的,参照图3,在步骤s101之前,本实施例所提供的配置中心的管理调度方法还包括:

步骤s009,启动配置服务器和应用服务器;

步骤s100,利用消息总线rocketmq连接配置服务器和应用服务器。

在本发明实施例中,配置中心的管理调度方法分为两个流程,包括:初始化配置操作和配置更新信息的加载、通知等操作。具体的,步骤s009和步骤s100实现了初始化配置操作,即利用消息总线rocketmq实现了配置服务器和应用服务器的连接。在初始化配置的过程中,启动配置服务器加载第一配置信息,并将配置服务器连接到消息总线rocketmq中,应用服务器启动时向配置服务器发送请求,以获取全量的第二配置信息并进行加载使用,同时监听消息总线rocketmq,用于消费配置更新信息。应用服务器具有不同的应用服务节点和相同服务节点不同实例。在初始化配置的过程中,所有的应用服务器均需要配置服务器中获取全量的第二配置信息。步骤s101~步骤s110利用消息总线rocketmq实现了配置更新信息的加载、通知等操作。

本发明实施例利用事务性消息总线rocketmq确保配置更新信息的通知可达,以保证各个应用服务器的配置信息的一致性。因此,本发明实施例可以实现统一配置、及时通知各个应用服务器更新配置。

配置服务器为应用服务器提供统一的api(applicationprogramminginterface,应用程序接口),可以实现应用服务器跨平台以及跨语言的特性;配置服务器仅在配置更新时自动通知各应用服务器,减轻了应用服务的压力,并保证其时效性。利用事务性消息总线rocketmq,可以保障应用服务器的消息可达机制,保障服务状态的一致性。整个消息通知过程及服务消费消息为异步并发执行,使各应用服务器之间可以相互独立,互不影响,保障了应用服务器的可用性。由于配置服务器与消息总线rocketmq、消息总线rocketmq与应用服务无缝结合,保证了服务状态的高度一致。基于配置更新信息通知到对应的应用服务器,可以减少应用服务器的资源占用。

本发明实施例可以带来以下有益效果:(1)将应用服务器与配置服务器解耦合,应用服务器统一与配置服务器交互,可以提高开发效率。(2)配置更新信息通知一次,在所有的应用服务器的更新配置操作全部生效,避免了开发人员及实施人员对所有应用服务器的重复操作,大大的提高工作效率,减少出错率。(3)本发明实施例可以减少维护成本,提升用户体验,提升应用服务器对外服务的高可用与实时性。(4)本发明实施例可以用于持续集成与快速的版本迭代;(5)本发明实施例可以用于对应用服务器版本更新的灰度发布,更好的应用于敏捷开发与产品迭代。

实施例二:

参照图4,本发明实施例提供的一种配置中心的管理调度装置,其中,应用于配置服务器,包括:

第一获取模块11,用于获取应用服务器的第一配置信息,其中,第一配置信息对应一个应用服务器;

比对模块12,用于将第一配置信息与第二配置信息进行比对;其中,第二配置信息为应用服务器预先在配置服务器中存储的配置信息;

第一确定模块13,用于若比对结果为不一致,则将第一配置信息确定为配置更新信息;

记录模块14,用于将配置更新信息发送至消息总线rocketmq,并记录消息总线rocketmq接收配置更新信息的接收时间;

第一发送模块15,用于基于接收时间将配置更新信息发送至对应的应用服务器中,以基于配置更新信息更新对应的应用服务器的配置信息。

进一步的,接收时间为多个;第一发送模块15包括:发送单元,用于按照多个接收时间的接收时间顺序将所有的配置更新信息分别发送至对应的应用服务器。

本发明实施例提供的一种配置中心的管理调度装置,应用于配置服务器,包括:先利用第一获取模块获取应用服务器的第一配置信息,然后利用比对模块将第一配置信息与应用服务器预先在配置服务器中存储的配置信息进行比对;若比对结果为不一致,则利用第一确定模块将第一配置信息确定为配置更新信息;再利用记录模块将配置更新信息发送至消息总线rocketmq,并记录消息总线rocketmq接收配置更新信息的接收时间;最后基于接收时间利用第一发送模块将配置更新信息发送至对应的应用服务器中,以基于配置更新信息更新对应的应用服务器的配置信息。本发明实施例利用消息总线rocketmq仅在配置信息发生更新时及时通知应用服务器加载配置更新信息,不需要应用服务器频繁请求重复加载配置信息,减轻了应用服务器的压力,节省了应用服务器的资源,且配置更新信息可以实时发送,具有一定的时效性。

参照图5,本发明实施例提供的另一种配置中心的管理调度装置,还包括:

替换模块16,用于若对应的应用服务器接收到配置更新信息,则将配置服务器中的第二配置信息替换为配置更新信息。

参照图5,本发明实施例提供的另一种配置中心的管理调度装置,还包括以下模块:

第二获取模块17,用于若对应的应用服务器未接收到配置更新信息,则利用消息总线rocketmq获取对对应的应用服务器监听过程的监听信息;

第二发送模块18,用于在监听信息为对应的应用服务器恢复接收功能后,利用消息总线rocketmq将配置更新信息重新发送至对应的应用服务器,以基于配置更新信息更新对应的应用服务器的配置信息。

第二确定模块19,用于若比对结果为一致,则将第一配置信息确定为配置未更新信息;

删除模块20,用于将配置未更新信息进行删除。

启动模块21,用于启动配置服务器和应用服务器;

连接模块22,用于利用消息总线rocketmq连接配置服务器和应用服务器。

在本发明的又一实施例中,还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法实施例所述方法的步骤。

在本发明的又一实施例中,还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行方法实施例所述方法。

在本发明所提供的实施例中,所揭露的方法和装置,也可以通过其它的方式实现。以上实施例的具体说明仅仅是示意性的,附图当中的模块可以独立存在也可以集成存在,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1