配置信息获取方法、装置、设备及计算机可读存储介质与流程

文档序号:18561017发布日期:2019-08-30 23:17阅读:150来源:国知局
配置信息获取方法、装置、设备及计算机可读存储介质与流程

本发明涉及金融科技(fintech)技术领域,尤其涉及配置信息获取方法、装置、设备及计算机可读存储介质。



背景技术:

随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。

目前,各类金融机构(如商业银行、证券公司等)一般通过分布式业务系统处理和存储业务数据。为了实现业务系统配置的热更新,现有方案一般是设置一个统一的配置管理平台,当业务系统的配置信息需要修改或更新时,先在配置管理平台修改配置,然后由配置管理平台将新的配置信息推送给各个业务系统,业务系统接收到新配置后,直接更新到内存中,这样即可实现动态热更新配置。

上述配置的热更新方式的缺陷在于:业务系统仅能被动接收配置管理平台下发的配置信息,导致业务系统获取配置信息的灵活性不高,此外,配置管理平台下发的某些配置信息可能业务系统长期都用不到,如此导致业务系统配置冗余。



技术实现要素:

本发明的主要目的在于提出一种配置信息获取方法、装置、设备及计算机可读存储介质,旨在提高业务系统获取配置信息的灵活性,避免配置冗余。

为实现上述目的,本发明提供一种配置信息获取方法,所述配置信息获取方法包括如下步骤:

当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息;

若所述业务系统缓存中不存在所述配置信息,则判断所述业务系统本地内存中是否存在所述配置信息;

若所述业务系统本地内存中不存在所述配置信息,则从预设的配置管理平台拉取所述配置信息;

将拉取到的所述配置信息返回给所述调用服务。

优选地,所述从预设的配置管理平台拉取所述配置信息的步骤包括:

通过分布式消息中间件,向预设的配置管理平台发送配置信息拉取请求;

接收所述分布式消息中间件转发的由所述配置管理平台返回的配置信息。

优选地,所述配置信息获取方法还包括:

当接收到所述分布式消息中间件发送的变更配置的广播消息时,确定所述广播消息中包含的配置变更事件的类型;

根据所述配置变更事件的类型执行对应的配置变更操作。

优选地,所述当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息的步骤之前,还包括:

接收服务包安装指令,根据所述服务包安装指令当所述业务系统安装服务包,所述服务包用于实现对所述分布式消息中间件发送的广播消息的监听。

优选地,所述根据所述配置变更事件的类型执行对应的配置变更操作的步骤包括:

当所述配置变更事件的类型为新增配置事件、更新配置事件或全量配置更新事件时,判断所述广播消息中是否携带有与所述配置变更事件对应的最新配置信息;

若所述广播消息中未携带有与所述配置变更事件对应的最新配置信息,则通过所述分布式消息中间件,从所述配置管理平台拉取所述最新配置信息;

根据拉取到的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作;

当所述配置变更事件的类型为删除配置事件时,从所述业务系统本地内存和所述业务系统缓存中删除对应的配置信息。

优选地,所述判断所述广播消息中是否携带有与所述配置变更事件对应的最新配置信息的步骤之后,还包括:

若所述广播消息中携带有与所述配置变更事件对应的最新配置信息,则根据携带的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作。

优选地,所述将拉取到的所述配置信息返回给所述调用服务的步骤包括:

将拉取到的所述配置信息保存至所述业务系统本地内存中,并刷新到所述业务系统缓存中后,返回给所述调用服务。

优选地,所述当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息的步骤之前,还包括:

当所述业务系统启动时,读取预先保存在所述业务系统本地内存中的启动配置信息;

根据所述启动配置信息控制所述业务系统启动。

此外,为实现上述目的,本发明还提供一种配置信息获取装置,所述配置信息获取装置包括:

第一判断模块,用于当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息;

第二判断模块,用于若所述业务系统缓存中不存在所述配置信息,则判断所述业务系统本地内存中是否存在所述配置信息;

拉取模块,用于若所述业务系统本地内存中不存在所述配置信息,则从预设的配置管理平台拉取所述配置信息;

返回模块,用于将拉取到的所述配置信息返回给所述调用服务。

优选地,所述拉取模块还用于:

通过分布式消息中间件,向预设的配置管理平台发送配置信息拉取请求;

接收所述分布式消息中间件转发的由所述配置管理平台返回的配置信息。

优选地,所述配置信息获取装置还包括:

确定模块,用于当接收到所述分布式消息中间件发送的变更配置的广播消息时,确定所述广播消息中包含的配置变更事件的类型;

执行模块,用于根据所述配置变更事件的类型执行对应的配置变更操作。

优选地,所述配置信息获取装置还包括:

安装模块,用于接收服务包安装指令,根据所述服务包安装指令当所述业务系统安装服务包,所述服务包用于实现对所述分布式消息中间件发送的广播消息的监听。

优选地,所述执行模块还用于:

当所述配置变更事件的类型为新增配置事件、更新配置事件或全量配置更新事件时,判断所述广播消息中是否携带有与所述配置变更事件对应的最新配置信息;

若所述广播消息中未携带有与所述配置变更事件对应的最新配置信息,则通过所述分布式消息中间件,从所述配置管理平台拉取所述最新配置信息;

根据拉取到的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作;

当所述配置变更事件的类型为删除配置事件时,从所述业务系统本地内存和所述业务系统缓存中删除对应的配置信息。

优选地,所述执行模块还用于:

若所述广播消息中携带有与所述配置变更事件对应的最新配置信息,则根据携带的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作。

优选地,所述返回模块还用于:

将拉取到的所述配置信息保存至所述业务系统本地内存中,并刷新到所述业务系统缓存中后,返回给所述调用服务。

优选地,所述配置信息获取装置还包括:

读取模块,用于当所述业务系统启动时,读取预先保存在所述业务系统本地内存中的启动配置信息;

启动模块,用于根据所述启动配置信息控制所述业务系统启动。

此外,为实现上述目的,本发明还提供一种配置信息获取设备,所述配置信息获取设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的配置信息获取程序,所述配置信息获取程序被所述处理器执行时实现如上所述的配置信息获取方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有配置信息获取程序,所述配置信息获取程序被处理器执行时实现如上所述的配置信息获取方法的步骤。

本发明当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息;若所述业务系统缓存中不存在所述配置信息,则判断所述业务系统本地内存中是否存在所述配置信息;若所述业务系统本地内存中不存在所述配置信息,则从预设的配置管理平台拉取所述配置信息;将拉取到的所述配置信息返回给所述调用服务。相比于现有技术,本发明实现了业务系统按照当前调用服务的需要,当本地不存在所需的配置信息时,从配置管理平台主动拉取所需的配置信息,从而本发明提高了业务系统获取配置信息的灵活性,避免了配置冗余。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明配置信息获取方法第一实施例的流程示意图;

图3为本发明实施例中业务系统通过分布式消息中间件从配置管理平台拉取配置信息的示意图;

图4为本发明实施例中配置管理平台通过分布式消息中间件向业务系统下发配置变更事件的示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例配置信息获取设备可以是pc机、服务器等设备。

如图1所示,该配置信息获取设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及配置信息获取程序。

在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的配置信息获取程序,并执行下述配置信息获取方法实施例中的操作。

基于上述硬件结构,提出本发明配置信息获取方法实施例。

参照图2,图2为本发明配置信息获取方法第一实施例的流程示意图,所述方法包括:

步骤s10,当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息;

本实施例配置信息获取方法应用于业务系统,该业务系统可以为银行、证券公司、保险公司等金融机构的业务系统,用于处理和记录用户的储蓄、转账、投资等各种金融业务。

当业务系统接收到调用服务发送的配置信息调用请求时,首先判断自身缓存中是否存在与该配置信息调用请求对应的配置信息。其中,配置信息包括系统运行参数和业务运行参数,系统运行参数包括但不限于数据库名、系统账号、密码等参数,主要用于保证业务系统本身的正常运行,业务运行参数包括但不限于业务参数初始值、文件路径、文件地址等参数,主要用于保证业务系统上各类业务(如储蓄、转账、投资等各种金融业务)按照实际业务需求正常运转。调用服务指的是需要调用配置信息的服务,比如文件解析服务需要调用相关的文件配置信息,数据查询服务需要调用相关数据库表的配置信息等。

若业务系统缓存中存在与配置信息调用请求对应的配置信息,则直接从缓存中读取该配置信息返回给调用服务使用,如此保证了配置信息的高效获取。

步骤s20,若所述业务系统缓存中不存在所述配置信息,则判断所述业务系统本地内存中是否存在所述配置信息;

该步骤中,业务系统缓存中不存在与配置信息调用请求对应的配置信息,说明该配置信息是业务系统启用后首次调用,此时进一步判断业务系统本地内存中是否存在相应配置信息。

若业务系统本地内存中存在与配置信息调用请求对应的配置信息,则先将该配置信息从本地内存加载到缓存中,然后从缓存中读取该配置信息返回给调用服务使用。

步骤s30,若所述业务系统本地内存中不存在所述配置信息,则从预设的配置管理平台拉取所述配置信息;

该步骤中,当业务系统本地内存中不存在与配置信息调用请求对应的配置信息时,业务系统需要主动从预设的配置管理平台拉取所需的配置信息。其中,配置管理平台用于对接入其的所有业务系统的配置信息进行管理,且该配置管理平台上始终保存有各业务系统的最新配置信息。

在一实施方式中,上述步骤s30可以包括:通过分布式消息中间件,向预设的配置管理平台发送配置信息拉取请求;接收所述分布式消息中间件转发的由所述配置管理平台返回的配置信息。

参照图3,图3为本发明实施例中业务系统通过分布式消息中间件从配置管理平台拉取配置信息的示意图。在本实施例中,可在配置管理平台和业务系统之间设置一个分布式消息中间件,其中配置管理平台作为服务端(server),业务系统作为客户端(client),client请求从server拉取配置信息是通过分布式消息中间件的同步消息模式实现的,client拉取消息时,将请求消息发给分布式消息中间件,分布式消息中间件会将这条消息给服务提供方server消费,server消费完后会返回给分布式消息中间件一个响应消息,分布式消息中间件会找到这个响应消息对应的原始消息,将响应消息转发给client。

通过设置分布式消息中间件,实现了配置管理平台和业务系统的解耦,通过该分布式架构,能够满足高并发的配置信息拉取需求。

在另一实施方式中,也可以不设置分布式消息中间件,而是由业务系统直接向配置管理平台发送配置信息拉取请求,以拉取配置信息,具体实施时可灵活设置。

步骤s40,将拉取到的所述配置信息返回给所述调用服务。

该步骤中,作为一种实施方式,业务系统从配置管理平台拉取到配置信息后,可以仅将拉取到的所述配置信息返回给调用服务,以供调用服务使用。

作为另一种实施方式,上述步骤s40可以进一步包括:将拉取到的所述配置信息保存至所述业务系统本地内存中,并刷新到所述业务系统缓存中后,返回给所述调用服务。

即,业务系统可以先将拉取到的配置信息保存至本地内存中,然后刷新到缓存中,最后返回给调用服务。如此保证了业务系统首次使用过的配置信息都保存在本地内存和缓存中,以便于后续需要使用时直接从本地获取,提高配置信息的获取效率。

在本实施例中,当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息;若所述业务系统缓存中不存在所述配置信息,则判断所述业务系统本地内存中是否存在所述配置信息;若所述业务系统本地内存中不存在所述配置信息,则从预设的配置管理平台拉取所述配置信息;将拉取到的所述配置信息返回给所述调用服务。相比于现有技术,本实施例实现了业务系统按照当前调用服务的需要,当本地不存在所需的配置信息时,从配置管理平台主动拉取所需的配置信息,从而本实施例提高了业务系统获取配置信息的灵活性,避免了配置冗余。

进一步地,基于本发明配置信息获取方法第一实施例,提出本发明配置信息获取方法第二实施例。

在本实施例中,所述配置信息获取方法还可以包括:当接收到所述分布式消息中间件发送的变更配置的广播消息时,确定所述广播消息中包含的配置变更事件的类型;根据所述配置变更事件的类型执行对应的配置变更操作。

参照图4,图4为本发明实施例中配置管理平台通过分布式消息中间件向业务系统下发配置变更事件的示意图。server端的配置更新事件都是通过分布式消息中间件的广播消息通知到client端,具体地,server端将广播消息发送给分布式消息中间件,server不会等待订阅消息者(client)响应消息,只要发给分布式消息中间件成功后即可返回,认为发送成功,分布式消息中间件收到广播消息后会查找注册的所有本消息订阅者(client),然后将这条广播消息一一发送给所有的订阅者(client)。

本实施例中,业务系统基于事件更新配置,具体地,当业务系统接收到分布式消息中间件发送的变更配置的广播消息时,先确定该广播消息中包含的配置变更事件的类型,然后根据该配置变更事件的类型执行对应的配置变更操作。其中,分布式消息中间件可以是基于apachekafka、activemq(messagequeue,消息总线)、rabbitmq或rocketmq等分布式消息队列的分布式消息中间件,具体实施时可灵活选择。

进一步地,为保证业务系统能够正常接收到分布式消息中间件发送的广播消息,在步骤s10之前,还可以包括:接收服务包安装指令,根据所述服务包安装指令当所述业务系统安装服务包,所述服务包用于实现对所述分布式消息中间件发送的广播消息的监听。

在本实施例中,可向业务系统提供配置管理平台客户端服务包,该服务包可以实现配置信息的获取、更新以及对分布式消息中间件广播消息的监听。当有新的业务系统想要接入配置管理平台时,只需要安装该服务包,加入对应广播服务的监听,即可实现配置管理平台的接入,不需要每个业务系统对应实现一套配置管理平台客户端的代码,因此具有极强的可移植性。

进一步地,配置变更事件的类型可以包括新增配置事件、更新配置事件、全量配置更新事件和删除配置事件,此时,所述根据所述配置变更事件的类型执行对应的配置变更操作的步骤可以包括:

当所述配置变更事件的类型为新增配置事件、更新配置事件或全量配置更新事件时,判断所述广播消息中是否携带有与所述配置变更事件对应的最新配置信息;若所述广播消息中未携带有与所述配置变更事件对应的最新配置信息,则通过所述分布式消息中间件,从所述配置管理平台拉取所述最新配置信息;根据拉取到的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作;当所述配置变更事件的类型为删除配置事件时,从所述业务系统本地内存和所述业务系统缓存中删除对应的配置信息。

具体地,当配置变更事件的类型为新增配置事件、更新配置事件或全量配置更新事件时,业务系统首先判断广播消息中是否携带有对应的最新配置信息,若广播消息中未携带有对应的最新配置信息,则业务系统通过分布式消息中间件,从配置管理平台主动拉取最新配置信息,然后,根据拉取到的最新配置信息对业务系统本地内存和缓存进行对应的新增配置、更新配置或全量配置更新操作。需要说明的是,这种由业务系统主动从配置管理平台拉取最新配置信息的方法,若一次拉取不成功,还可以进行拉取重试操作,从而保证最新配置信息获取的可靠性。当配置变更事件的类型为删除配置事件时,则直接从业务系统本地内存和缓存中删除对应的配置信息。

进一步地,所述判断所述广播消息中是否携带有与所述配置变更事件对应的最新配置信息的步骤之后,还包括:若所述广播消息中携带有与所述配置变更事件对应的最新配置信息,则根据携带的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作。

具体地,若广播消息中携带有与配置变更事件对应的最新配置信息,则业务系统可直接根据该最新配置信息,对本地内存和缓存进行对应的新增配置、更新配置或全量配置更新操作。

由此,实现了业务系统基于广播消息中的配置变更事件更新配置。

进一步地,基于本发明配置信息获取方法第一实施例,提出本发明配置信息获取方法第三实施例。

在本实施例中,上述步骤s10之前,还可以包括:当所述业务系统启动时,读取预先保存在所述业务系统本地内存中的启动配置信息;根据所述启动配置信息控制所述业务系统启动。

考虑到现有技术中,业务系统本地并不保存配置信息,业务系统在启动时必需从配置管理平台拉取所有配置信息才能正常启动,这种方式由于强依赖于统一的配置管理平台,一旦配置管理平台出现启动失败或者宕机之类的异常时,会导致业务系统无法正常使用,为此,本实施例中,可以预先在业务系统本地内存中保存启动配置信息,该启动配置信息为业务系统正常启动所需的配置信息,如系统启动参数等;当业务系统启动时,只需读取预先保存在业务系统本地内存中的启动配置信息,根据该启动配置信息控制业务系统启动,由此业务系统可以不用依赖于配置管理平台就能启动使用。而当业务系统启动后,也并不需要第一时间去拉取所有配置信息,只有当第一次使用到某项配置时,才需要执行配置信息的获取,由此避免了配置信息冗余,有利于提高业务系统的资源利用率。

本发明还提供一种配置信息获取装置。所述配置信息获取装置包括:

第一判断模块,用于当接收到调用服务发送的配置信息调用请求时,判断业务系统缓存中是否存在与所述配置信息调用请求对应的配置信息;

第二判断模块,用于若所述业务系统缓存中不存在所述配置信息,则判断所述业务系统本地内存中是否存在所述配置信息;

拉取模块,用于若所述业务系统本地内存中不存在所述配置信息,则从预设的配置管理平台拉取所述配置信息;

返回模块,用于将拉取到的所述配置信息返回给所述调用服务。

进一步地,所述拉取模块还用于:

通过分布式消息中间件,向预设的配置管理平台发送配置信息拉取请求;

接收所述分布式消息中间件转发的由所述配置管理平台返回的配置信息。

进一步地,所述配置信息获取装置还包括:

确定模块,用于当接收到所述分布式消息中间件发送的变更配置的广播消息时,确定所述广播消息中包含的配置变更事件的类型;

执行模块,用于根据所述配置变更事件的类型执行对应的配置变更操作。

进一步地,所述配置信息获取装置还包括:

安装模块,用于接收服务包安装指令,根据所述服务包安装指令当所述业务系统安装服务包,所述服务包用于实现对所述分布式消息中间件发送的广播消息的监听。

进一步地,所述执行模块还用于:

当所述配置变更事件的类型为新增配置事件、更新配置事件或全量配置更新事件时,判断所述广播消息中是否携带有与所述配置变更事件对应的最新配置信息;

若所述广播消息中未携带有与所述配置变更事件对应的最新配置信息,则通过所述分布式消息中间件,从所述配置管理平台拉取所述最新配置信息;

根据拉取到的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作;

当所述配置变更事件的类型为删除配置事件时,从所述业务系统本地内存和所述业务系统缓存中删除对应的配置信息。

进一步地,所述执行模块还用于:

若所述广播消息中携带有与所述配置变更事件对应的最新配置信息,则根据携带的所述最新配置信息,对所述业务系统本地内存和所述业务系统缓存进行对应的新增配置、更新配置或全量配置更新操作。

进一步地,所述返回模块还用于:

将拉取到的所述配置信息保存至所述业务系统本地内存中,并刷新到所述业务系统缓存中后,返回给所述调用服务。

进一步地,所述配置信息获取装置还包括:

读取模块,用于当所述业务系统启动时,读取预先保存在所述业务系统本地内存中的启动配置信息;

启动模块,用于根据所述启动配置信息控制所述业务系统启动。

上述各程序模块所执行的方法可参照本发明配置信息获取方法各个实施例,此处不再赘述。

本发明还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有配置信息获取程序,所述配置信息获取程序被处理器执行时实现如上所述的配置信息获取方法的步骤。

其中,在所述处理器上运行的配置信息获取程序被执行时所实现的方法可参照本发明配置信息获取方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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