配置和服务热重载更新方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:28871063 阅读:18 留言:0更新日期:2021-06-15 23:03
本发明专利技术涉及配置和服务热重载更新方法、装置、计算机设备及存储介质,该方法包括获取修改的配置,以得到待更新配置;构建新的配置共享内存,并获取配置共享内存关键词;将待更新配置刷入配置共享内存内;将配置共享内存关键词保存至索引共享内存内;获取本地应用的访问请求;获取访问请求所对应的索引共享内存,以得到对应的配置共享内存关键词;判断对应的配置共享内存关键词是否已更新;若对应的配置共享内存关键词已更新,则断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置。本发明专利技术实现便于配置的更新以及应用服务集群的运维和更新,操作简单且步骤简单地实现更新应用而不中断服务。

【技术实现步骤摘要】
配置和服务热重载更新方法、装置、计算机设备及存储介质
本专利技术涉及计算机,更具体地说是指配置和服务热重载更新方法、装置、计算机设备及存储介质。
技术介绍
SpringCloud是微服务系统架构的一站式解决方案,SpringCloud需要启用SpringConfig以及第三方MQ(消息队列,MessageQueue)产品配合实现配置热更新,选型较重,且没有加密功能,不能设置变更时间点,比如配置下发和生效往往有时间点要求,比如一笔交易处理期间忌讳变更配置,而且SpringCloud应用服务运行实例里无法做到变更不停服务,只能做到整体冷更应用。目前为解决这个问题,主流方案是从架构层面通过前置负载均衡器滚动切换实现更新应用而不中断服务,但此方案的自动化要求高、操作复杂、步骤繁多、容易出错,而且SpringCloud应用打包为一体,无法在运行层次上模块化分解,也就无法单独更新变化的服务模块,缺乏模块化迭代灵活性,尤其当服务程序文件体积庞大时劣势突出。因此,有必要设计一种新的方法,实现便于配置的更新以及应用服务集群的运维和更新,操作简单且步骤简单地实现更新应用而不中断服务。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供配置和服务热重载更新方法、装置、计算机设备及存储介质。为实现上述目的,本专利技术采用以下技术方案:配置和服务热重载更新方法,包括:获取修改的配置,以得到待更新配置;构建新的配置共享内存,并获取配置共享内存键;将所述待更新配置刷入所述配置共享内存内;将所述配置共享内存键保存至索引共享内存内;获取本地应用的访问请求;获取所述访问请求所对应的索引共享内存,以得到对应的配置共享内存键;判断对应的配置共享内存键是否已更新;若对应的配置共享内存键已更新,则断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置。其进一步技术方案为:所述将所述待更新配置刷入所述配置共享内存内之前,还包括:判断所述待更新配置内的交易码列表的服务模块动态库签名值是否与本地的签名值一致;若所述待更新配置内的交易码列表的服务模块动态库签名值与本地的签名值不一致,则联动请求注册节点的远程文件传输代理,以获取服务模块动态库对应的文件;对所述服务模块动态库对应的文件进行文件名的设置,并执行所述将所述待更新配置刷入所述配置共享内存内。其进一步技术方案为:所述判断所述待更新配置内的交易码列表的服务模块动态库签名值是否与本地的签名值一致之后,还包括:若所述待更新配置内的交易码列表的服务模块动态库签名值与本地的签名值一致,则执行所述将所述待更新配置刷入所述配置共享内存内。其进一步技术方案为:所述断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置之后,还包括:获取API交易请求;根据所述API交易请求从配置共享内存内查询交易码对应服务模块动态库;执行所述服务模块动态库内的业务处理逻辑;缓存服务模块动态库的打开句柄,以供下次相同的API交易请求时使用。其进一步技术方案为:所述缓存服务模块动态库的打开句柄之后,还包括:设定变动事件;判断所述变动事件是否被触发;若所述变动事件被触发,则清除所述服务模块动态库的打开句柄。其进一步技术方案为:所述判断对应的配置共享内存键是否已更新之后,还包括:若对应的配置共享内存键未更新,则保持本地应用当前连接的配置共享内存,以使本地应用使用对应的配置。本专利技术还提供了配置和服务热重载更新装置,包括:待更新配置获取单元,用于获取修改的配置,以得到待更新配置;新内存构建单元,用于构建新的配置共享内存,并获取配置共享内存键;刷入单元,用于将所述待更新配置刷入所述配置共享内存内;保存单元,用于将所述配置共享内存键保存至索引共享内存内;访问请求获取单元,用于获取本地应用的访问请求;键获取单元,用于获取所述访问请求所对应的索引共享内存,以得到对应的配置共享内存键;判断单元,用于判断对应的配置共享内存键是否已更新;内存处理单元,用于若对应的配置共享内存键已更新,则断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置。其进一步技术方案为:还包括:签名值判断单元,用于判断所述待更新配置内的交易码列表的服务模块动态库签名值是否与本地的签名值一致;文件获取单元,用于若所述待更新配置内的交易码列表的服务模块动态库签名值与本地的签名值不一致,则联动请求注册节点的远程文件传输代理,以获取服务模块动态库对应的文件;文件名设置单元,用于对所述服务模块动态库对应的文件进行文件名的设置,并执行所述将所述待更新配置刷入所述配置共享内存内。本专利技术还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。本专利技术还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。本专利技术与现有技术相比的有益效果是:本专利技术通过构建索引共享内存和配置共享内存的二级结构,将修改的配置同步更新至索引共享内存和配置共享内存内,在本地应用需要使用到修改后的配置时,切换本地应用与配置共享内存的连接关系,无需中断本地应用的服务,实现便于配置的更新以及应用服务集群的运维和更新,操作简单且步骤简单地实现更新应用而不中断服务。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的配置和服务热重载更新方法的应用场景示意图;图2为本专利技术实施例提供的配置和服务热重载更新方法的流程示意图;图3为本专利技术另一实施例提供的配置和服务热重载更新方法的流程示意图;图4为本专利技术另一实施例提供的配置和服务热重载更新方法的流程示意图;图5为本专利技术另一实施例提供的配置和服务热重载更新方法的流程示意图;图6为本专利技术实施例提供的配置和服务热重载更新装置的示意性框图;图7为本专利技术另一实施例提供的配置和服务热重载更新装置的示意性框图;图8为本专利技术另一实施例提供的配置和服务热重载更新装置的示意性框图;图9为本专利技术另一实施例提供的配置和服务热重载更新装置的示意性框图;图10为本专利技术实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚本文档来自技高网...

【技术保护点】
1.配置和服务热重载更新方法,其特征在于,包括:/n获取修改的配置,以得到待更新配置;/n构建新的配置共享内存,并获取配置共享内存键;/n将所述待更新配置刷入所述配置共享内存内;/n将所述配置共享内存键保存至索引共享内存内;/n获取本地应用的访问请求;/n获取所述访问请求所对应的索引共享内存,以得到对应的配置共享内存键;/n判断对应的配置共享内存键是否已更新;/n若对应的配置共享内存键已更新,则断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置。/n

【技术特征摘要】
1.配置和服务热重载更新方法,其特征在于,包括:
获取修改的配置,以得到待更新配置;
构建新的配置共享内存,并获取配置共享内存键;
将所述待更新配置刷入所述配置共享内存内;
将所述配置共享内存键保存至索引共享内存内;
获取本地应用的访问请求;
获取所述访问请求所对应的索引共享内存,以得到对应的配置共享内存键;
判断对应的配置共享内存键是否已更新;
若对应的配置共享内存键已更新,则断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置。


2.根据权利要求1所述的配置和服务热重载更新方法,其特征在于,所述将所述待更新配置刷入所述配置共享内存内之前,还包括:
判断所述待更新配置内的交易码列表的服务模块动态库签名值是否与本地的签名值一致;
若所述待更新配置内的交易码列表的服务模块动态库签名值与本地的签名值不一致,则联动请求注册节点的远程文件传输代理,以获取服务模块动态库对应的文件;
对所述服务模块动态库对应的文件进行文件名的设置,并执行所述将所述待更新配置刷入所述配置共享内存内。


3.根据权利要求2所述的配置和服务热重载更新方法,其特征在于,所述判断所述待更新配置内的交易码列表的服务模块动态库签名值是否与本地的签名值一致之后,还包括:
若所述待更新配置内的交易码列表的服务模块动态库签名值与本地的签名值一致,则执行所述将所述待更新配置刷入所述配置共享内存内。


4.根据权利要求1至3任一项所述的配置和服务热重载更新方法,其特征在于,所述断开本地应用当前连接的配置共享内存,并驱使本地应用连接新的配置共享内存,以使本地应用使用对应的配置之后,还包括:
获取API交易请求;
根据所述API交易请求从配置共享内存内查询交易码对应服务模块动态库;
执行所述服务模块动态库内的业务处理逻辑;
缓存服务模块动态库的打开句柄,以供下次相同的API交易请求时使用。


5.根据权利要求4所述的配置和服务热重载更新方法,其特征在于,所述缓存服务模块动态库的打开句柄之后,还包括:

【专利技术属性】
技术研发人员:胡飞华厉华徐建芳徐龙重
申请(专利权)人:杭州银行股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1