全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 20221024857 7.9 (22)申请日 2022.03.14 (71)申请人 中国人寿保险股份有限公司 地址 100095 北京市海淀区温泉镇景天路 中国人寿研发中心 (72)发明人 陆智卿 范铮 曲明钰  (74)专利代理 机构 北京风雅颂专利代理有限公 司 11403 专利代理师 孙晓凤 (51)Int.Cl. G06F 9/445(2018.01) G06F 9/54(2006.01) (54)发明名称 基于消息队列的应用服务配置热加载方法 及相关设备 (57)摘要 本申请提供一种基于消息队列的应用服务 配置热加载方法及相关设备, 所述应用服务与数 据源之间搭建有数据库连接, 所述方法包括: 获 取所述数据源的配置变更信息; 将所述配置变更 信息储存在消息队列系统中形成消息队列; 响应 于用户通过所述应用服务访问所述数据源, 获取 所述消息队列中的所述配置变更信息进行变更 判断; 响应于所述用户的配置信息发生变更, 更 新相应的所述数据库连接。 本申请提供的基于消 息队列的应用服务配置热加载方法及相关设备, 用户体验好, 可以保证服务一直在线, 在应用服 务不停机的情况下, 实现实时热加载, 避免配置 信息变更的用户使用原始的数据库连接访问数 据源。 权利要求书1页 说明书7页 附图3页 CN 114780165 A 2022.07.22 CN 114780165 A 1.一种基于消息队列的应用服务配置热加载方法, 所述应用服务与 数据源之间搭建有 数据库连接, 其特 征在于, 所述方法包括: 获取所述数据源的配置变更信息; 将所述配置变更信息储 存在消息队列系统中形成消息队列; 响应于用户通过所述应用服务访问所述数据源, 获取所述消息队列中的所述配置变更 信息进行变更判断; 响应于所述用户的配置信息发生变更, 更新相应的所述数据库连接 。 2.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 还包 括: 响应于所述用户的所述配置信息未发生变更, 维持所述数据库连接 。 3.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 所述 更新相应的所述数据库连接包括: 在所述应用服务在线的状态下, 关闭所述用户原始的所 述数据库连接, 新建所述用户变更的所述数据库连接 。 4.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 所述 配置变更信息包括用户名变更、 密码 变更和用户权限变更, 所述配置信息包括用户名、 密码 和用户权限。 5.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 所述 消息队列系统为Kafka, 所述消息队列中的配置变更信息按照变更时间的先后顺序排列。 6.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 所述 数据源包括多个数据库, 所述数据库的种类为Impala数据库、 Sqlserver数据库、 Mysql数据 库、 Gauss数据库、 OceanBase 数据库、 Oracle 数据库和Po larDB数据库中的一个或多个。 7.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 所述 应用服务设有数据库连接池, 所述数据库连接池被 配置为管理多个所述数据库连接 。 8.根据权利要求1所述的基于消息队列的应用服务配置热加载方法, 其特征在于, 所述 获取所述数据源的配置变更信息, 之前包括: 设置所述数据库连接的失效时间以及所述配 置变更信息在所述消息队列系统中的储 存时间, 所述失效时间小于所述储 存时间。 9.一种基于消息队列的应用服 务配置热加载装置, 其特 征在于, 包括: 获取模块, 被 配置为获取 数据源的配置变更信息; 储存模块, 被配置为将所述配置变更信息储 存在Kafka 中形成消息队列; 判断模块, 被配置为响应于用户通过应用服务访 问所述数据源, 获取所述消息队列中 的所述配置变更信息进行变更判断; 更新模块, 被配置为响应于所述用户的配置信息发生变更, 更新相应的所述数据库连 接。 10.一种电子设备, 包括存储器、 处理器及存储在所述存储器上并可在所述处理器上运 行的计算机程序, 其特征在于, 所述处理器执行所述计算机程序时实现如权利要求 1‑8中任 意一项所述的基于消息队列的应用服 务配置热加载 方法。权 利 要 求 书 1/1 页 2 CN 114780165 A 2基于消息队列的应用服务配置热加载 方法及相关设 备 技术领域 [0001]本申请涉及热加载技术领域, 尤其涉及一种基于消息队列的应用服务配置热加载 方法及相关 设备。 背景技术 [0002]应用服务通过JDBC(J ava Database  Connectivity, Java数据库连接)方式访问数 据库时会建立一个相对应的数据库连接, 当数据库的配置信息发生变化时, 如用户名、 密码 或权限等发生变化, 为了避免变更 的用户使用原始的数据库连接继续访问, 应用服务通常 需要重启, 断开原始的数据库连接, 从而更新配置, 建立新的数据库连接, 但应用服务重启 会出现间歇不可用的状态, 这会给其 他用户访问带来 不便, 服务体验差 。 发明内容 [0003]有鉴于此, 本申请的目的在于提出一种基于消息队列的应用服务配置热加载方法 及相关设备用以解决上述 技术问题。 [0004]本申请的第一方面, 提供了一种基于消息队列的应用服务配置热加载方法, 所述 应用服务与数据源之间搭建有数据库连接, 所述方法包括: 获取所述数据源的配置变更信 息; 将所述配置变更信息储存在消息队列系统中形成消息队列; 响应于用户通过所述应用 服务访问所述数据源, 获取所述消息队列中的所述配置变更信息进行变更判断; 响应于所 述用户的配置信息发生变更, 更新相应的所述数据库连接 。 [0005]进一步地, 所述基于消息队列的应用服务配置热加载方法还包括: 响应于所述用 户的所述配置信息未发生变更, 维持所述数据库连接 。 [0006]进一步地, 所述更新相应的所述数据库连接包括: 在所述应用服务在线的状态下, 关闭所述用户原 始的所述数据库连接, 新建所述用户变更的所述数据库连接 。 [0007]进一步地, 所述配置变更信息包括用户 名变更、 密码变更和用户权限变更, 所述配 置信息包括用户名、 密码和用户权限。 [0008]进一步地, 所述消息队列系统为Kafka, 所述消息队列中的配置变更信息按照变更 时间的先后顺序排列。 [0009]进一步地, 所述数据源包括多个数据库, 所述数据库的种类为Impala数据库、 Sqlserver数据库、 Mysql数据库、 Gauss数据库、 Oc eanBase数据库、 Oracle数据库和PolarDB 数据库中的一个或多个。 [0010]进一步地, 所述应用服务设有数据库连接池, 所述数据库连接池被配置为管理多 个所述数据库连接 。 [0011]进一步地, 所述获取所述数据 源的配置变更信息, 之前包括: 设置所述数据库连接 的失效时间以及所述配置变更信息在所述消息队列系统中的储存时间, 所述 失效时间小于 所述储存时间。 [0012]本申请的第二方面, 提供了一种基于消息队列的应用服务配置热加载装置, 包括:说 明 书 1/7 页 3 CN 114780165 A 3

.PDF文档 专利 基于消息队列的应用服务配置热加载方法及相关设备

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于消息队列的应用服务配置热加载方法及相关设备 第 1 页 专利 基于消息队列的应用服务配置热加载方法及相关设备 第 2 页 专利 基于消息队列的应用服务配置热加载方法及相关设备 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:04:21上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。