基于强化学习的数据库集群优化系统及方法.pdf
《基于强化学习的数据库集群优化系统及方法.pdf》由会员分享,可在线阅读,更多相关《基于强化学习的数据库集群优化系统及方法.pdf(19页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010807625.4 (22)申请日 2020.08.12 (71)申请人 莫毓昌 地址 321004 浙江省金华市婺城区迎宾大 道588号 (72)发明人 莫毓昌 (74)专利代理机构 北京市盛峰律师事务所 11337 代理人 于国强 (51)Int.Cl. G06F 16/21(2019.01) G06F 16/2455(2019.01) G06N 3/08(2006.01) (54)发明名称 一种基于强化学习的数据库集群优化系统 及方法 (57)摘要 本发明公开了一。
2、种基于强化学习的数据库 集群优化系统及方法, 所述优化系统包括, 当前 配置信息采集子系统、 当前性能信息采集子系 统、 优化策略执行子系统和优化引擎子系统; 各 个子系统协调配合, 根据数据库集群的当前配置 信息和当前性能信息, 为数据库集群优化策略选 择提供最优导向, 控制优化策略执行子系统调整 数据库集群的配置信息。 优点是: 使用强化学习 的方法来自动优化数据库集群配置参数, 对数据 库集群处理性能有较为显著的提升; 并且当负载 发生变化时, 其可迅速实现动态适应性的优化调 整, 大大减少人力成本及时间成本。 权利要求书5页 说明书12页 附图1页 CN 111913939 A 202。
3、0.11.10 CN 111913939 A 1.一种基于强化学习的数据库集群优化系统, 其特征在于: 所述优化系统包括, 当前配置信息采集子系统; 用于接收优化引擎子系统下发的当前配置信息采集命令, 根据当前配置信息采集命令采集数据库集群的当前配置信息; 并将采集到的数据库集群的 当前配置信息发送给优化引擎子系统; 当前性能信息采集子系统; 用于接收优化引擎子系统下发的当前性能信息采集命令, 根据当前性能信息采集命令采集数据库集群的当前性能信息; 并将采集到的数据库集群的 当前性能信息发送给优化引擎子系统; 优化策略执行子系统; 用于接收优化引擎子系统下发的优化策略, 并根据优化策略调 整数。
4、据库集群的配置信息; 所述优化策略包括优化参数和优化方向; 优化引擎子系统; 用于向所述当前配置信息采集子系统、 所述当前性能信息采集子系 统、 和优化策略执行子系统分别下发当前配置信息采集命令、 当前性能信息采集命令和优 化参数; 根据采集到的数据库集群的当前配置信息和当前性能信息, 生成数据库集群优化 策略, 并控制优化策略执行子系统调整数据库集群的配置信息。 2.根据权利要求1所述的基于强化学习的数据库集群优化系统, 其特征在于: 所述当前 配置信息采集子系统包括, 第一采集命令接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系统下发的 当前配置信息采集命令, 并根据接收的当前配。
5、置信息采集命令调用配置信息采集模块, 以 采集数据库集群的当前配置信息; 配置信息采集模块; 根据当前配置信息调用各个配置信息子模块采集数据库集群的相 应配置信息, 并发送给优化引擎子系统; 缓存配置信息子模块; 用于采集和数据库缓存相关的配置信息, 包括查询缓存大小、 单 个查询能够使用的缓存区大小、 排序缓存大小; 操作配置信息子模块; 用于采集和数据库操作相关的配置信息, 包括读操作缓存区大 小、 临时表大小、 最大堆表大小、 索引缓冲区大小、 批量插入数据缓存大小、 联合操作队列大 小; 网络配置信息子模块; 用于采集和数据库网络相关的配置信息, 包括网络传输中一次 消息传输量的最大值。
6、、 最大数据库连接数、 数据库连接请求异常中断的最大次数; 系统配置信息子模块; 用于采集和数据库系统相关的配置信息; 包括允许打开的文件 数、 短时间内可以被存在堆栈中数据库请求数量、 保存在缓存中线程的数量、 并发线程数 量、 每个线程的堆栈大小。 3.根据权利要求1所述的基于强化学习的数据库集群优化系统, 其特征在于: 当前性能 信息采集子系统包括, 第二采集命令接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系统下发的 当前性能信息采集命令, 并根据接收的当前性能信息采集命令调用性能信息采集模块, 以 采集数据库集群的当前性能信息; 性能信息采集模块; 根据当前性能信息调用各个。
7、性能信息子模块采集数据库集群的相 应性能信息, 并发送给优化引擎子系统; 事务和查询信息子模块; 用于采集和数据库事务以及查询相关的性能信息, 包括利用 数据库管理命令获取平均每秒select语句执行次数、 利用数据库管理命令获取平均每秒 权利要求书 1/5 页 2 CN 111913939 A 2 insert语句执行次数、 利用数据库管理命令获取平均每秒update语句执行次数、 利用数据 库管理命令获取平均每秒delete语句执行次数、 计算每秒事务数、 计算每秒查询数、 利用数 据库管理命令查询操作响应时间统计; 线程性能信息子模块; 用于采集和数据库线程相关的性能信息; 包括利用操作。
8、系统管 理命令获取当前正处于激活状态的线程个数、 利用操作系统管理命令获取当前连接的线程 的个数; 网络流量性能信息子模块; 用于采集和数据库网络流量相关的性能信息; 包括利用网 络管理命令获取平均每秒从所有客户端接收到的字节数、 利用网络管理命令获取平均每秒 发送给所有客户端的字节数。 4.根据权利要求1所述的基于强化学习的数据库集群优化系统, 其特征在于: 所述优化 策略执行子系统包括, 优化策略接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系统下发的优化 策略; 优化策略执行模块; 用于接收优化引擎下发的优化策略, 根据优化参数搜索配置文件, 找到与优化参数对应的配置参数; 根。
9、据优化方向, 调整优化参数对应的配置参数值; 调整内 容具体包括, A1、 当优化方向为+, 若优化参数对应的配置参数为开关项, 则参数值设置为开; A2、 当优化方向为-, 若优化参数对应的配置参数为开关项, 则参数值设置为关; A3、 当优化方向为+, 若优化参数对应的配置参数为10以内的整数, 则参数值设置为增 加1; A4、 当优化方向为-, 若优化参数对应的配置参数为10以内的整数, 则参数值设置为减 少1; A5、 当优化方向为+, 若优化参数对应的配置参数为256以内的整数, 则参数值设置为增 加8; A6、 当优化方向为-, 若优化参数对应的配置参数为256以内的整数, 则参数。
10、值设置为减 少8; A7、 当优化方向为+, 若优化参数对应的配置参数为大于256的整数, 则参数值设置为乘 以2; A8、 当优化方向为-, 若优化参数对应的配置参数为大于256的整数, 则参数值设置为除 以2。 5.根据权利要求1所述的基于强化学习的数据库集群优化系统, 其特征在于: 所述优化 引擎子系统包括优化策略评估网络, 所述优化策略评估网络包括一个输入层、 两个隐藏层 和一个输出层, 输入层, 包括17个输入, 分别来自于数据库集群17个配置信息的当前值; 第一隐藏层, 包括128个神经元, 计算公式为, O1relu(w1x+b1) 其中, x为优化策略评估网络的输入; w1为权。
11、值矩阵; b1是偏置; O1是第一隐藏层128维的 输出向量; 第二隐藏层, 包括64个神经元, 计算公式为, 权利要求书 2/5 页 3 CN 111913939 A 3 O2relu(w2O1+b2) 其中, w2为权值矩阵; b2是偏置; O2是第二隐藏层64维的输出向量; 输出层, 包括34个神经元, 计算公式为, yrelu(w3O2+b3) 其中, w3为权值矩阵; b3是偏置; y为输出层的输出向量, 其包括34个输出, 每个输出对应 一个优化策略的评估值; 由于存在17个配置信息, 每个配置信息存在2个优化方向, 因此存 在34个优化策略。 6.一种基于强化学习的数据库集群优化。
12、方法, 所述优化方法使用上述权利要求1至5任 一所述的优化系统实现; 其特征在于: 所述优化方法包括如下步骤, S1、 初始化阶段: 初始化所述优化策略评估网络, 即把所有权值矩阵参数和偏置参数初 始化为随机值; S2、 学习阶段: 每隔第一预设时长, 进行一次强化学习过程, 直至学习过程完毕, 获得训 练好的优化策略评估网络; S3、 应用阶段: 每隔第一预设时长, 利用训练好的优化策略评估网络进行一次数据库集 群参数优化调整, 直至数据库集群停止运行。 7.根据权利要求6所述的基于强化学习的数据库集群优化方法, 其特征在于: 步骤S2具 体包括如下内容, S21、 每隔第一预设时长, 优化。
13、引擎子系统命令所述当前配置信息采集子系统采集一次 数据库集群的当前配置信息, 优化引擎子系统获取数据库集群的当前配置信息状态s; S22、 将获取的数据库集群的当前配置信息状态s输入到优化策略评估网络中, 经过神 经网络的计算, 输出34个优化策略的评估值向量V_s; 从所有优化策略中选出评估值向量最 大的优化策略h_max; S23、 所述优化引擎子系统根据数据库集群优化策略选择机制, 从所有优化策略中选择 一个优化策略; S24、 所述优化引擎子系统将选择出的优化策略h发送给优化策略执行子系统, 所述优 化策略执行子系统执行所述优化策略h, 以将数据库集群的配置信息状态从s更新为s; S2。
14、5、 延迟第二预设时长, 优化引擎子系统命令当前性能信息采集子系统采集数据库集 群的当前性能信息, 并计算将数据库集群的配置信息状态从s更新为s的优化策略h所对应 的回报值r; S26、 将更新后的数据库集群配信息置状态s输入到所述优化策略评估网络中, 经过神 经网络的计算, 获取34个优化策略的评估值, 从中选出最大的评估值V_max; S27、 利用经典强化学习bellman公式, 计算数据库集群在配置信息状态s和优化策略h 下对应的更新评估值h_val, h_valr+V_max; S28、 利用更新评估值h_val和评估值向量V_s, 更新评估值向量, 即将评估值向量V_s中 优化策略。
15、h对应的值, 替换为h_val, 得到更新后的评估值向量V_s; S29、 将数据库集群的配置信息状态s和更新后的评估值向量V_s, 作为一个训练样本 存放到回放池中; S210、 重复32次步骤S21至步骤S29, 回放池中的训练样本有32个; S211、 利用此32个训练样本, 使用梯度下降神经网络训练算法, 训练优化策略评估网 权利要求书 3/5 页 4 CN 111913939 A 4 络, 以更新优化策略评估网络的参数; S212、 重复执行步骤S21至步骤S211, 直到优化策略评估网络的误差小于预设阈值, 强 化学习过程结束。 8.根据权利要求6所述的基于强化学习的数据库集群优化。
16、方法, 其特征在于: 所述优化 策略选择机制具体为, 以 的概率, 从34个优化策略中随机选择一个优化策略h_rand, 并把该优化策略h_rand 作为优化策略h; 或者, 以1- 的概率, 选取配置信息状态s下最大的优化策略h_max, 并将该 最大优化策略h_max作为优化策略h。 9.根据权利要求6所述的基于强化学习的数据库集群优化方法, 其特征在于: 所述回报 值r的计算过程为, B1、 计算执行本次优化策略后, 优化引擎子系统采集到的每秒事务数tps与上一时刻优 化引擎子系统采集到的每秒事务数tps之差Dtps; 其中, Dtpstps-tps; B2、 计算执行本次优化策略后, 。
17、优化引擎子系统采集到的每秒查询数qps与上一时刻优 化引擎子系统采集到的每秒查询数qps之差Dqps; 其中, Dqpsqps-qps; B3、 计算执行本次优化策略后, 优化引擎子系统采集到的查询操作响应时间query_ response_time与上一时刻优化引擎子系统采集到的查询操作响应时间query_response_ time之差Dquery_response_time; 其中, Dquery_response_timequery_response_time-query_response_time; B4、 计算执行本次优化策略后, 优化引擎子系统采集到的激活状态的线程个数 thre。
18、ads_running与上一时刻优化引擎子系统采集到的激活状态的线程个数threads_ running之差Dthreads_running; 其中, Dthreads_runningthreads_running-threads_running; B5、 计算执行本次优化策略后, 优化引擎子系统采集到的当前连接的线程的个数 threads_connected与上一时刻优化引擎子系统采集到的每秒查询数当前连接的线程的个 数threads_connected之差Dthreads_connected; 其中, Dthreads_connectedthreads_connected-threads_。
19、connected; B6、 计算执行本次优化策略后, 优化引擎子系统采集到的平均每秒从所有客户端接收 到的字节数Bytes_received_ps与上一时刻优化引擎子系统采集到的平均每秒从所有客户 端接收到的字节数Bytes_received_ps之差; 其中, DBytes_received_psBytes_received_ps-Bytes_received_ps; B7、 计算执行本次优化策略后, 优化引擎子系统采集到的平均每秒发送给所有客户端 的字节数Bytes_sent_ps与上一时刻优化引擎子系统采集到的平均每秒发送给所有客户端 的字节数Bytes_sent_ps之差; 其中, 。
20、DBytes_sent_psBytes_sent_ps-Bytes_sent_ps; B8、 根据步骤B1至B7中计算获取的差值, 计算回报率r, 计算公式为, 权利要求书 4/5 页 5 CN 111913939 A 5 其中, 1和2为权值, 且满足12; 3为权重。 10.根据权利要求6所述的基于强化学习的数据库集群优化方法, 其特征在于: 步骤S3 具体包括如下内容, S31、 每隔第一预设时长, 优化引擎子系统命令所述当前配置信息采集子系统采集一次 数据库集群的当前配置信息, 优化引擎子系统获取数据库集群的当前配置信息状态s; S32、 将获取的数据库集群的当前配置信息状态s输入到训。
21、练好的优化策略评估网络 中, 经过神经网络的计算, 输出34个优化策略的评估值向量V_s; 从所有优化策略中选出评 估值向量最大的优化策略h_max; S33、 优化引擎子系统将最大优化策略h_max发送到优化策略执行子系统, 所述优化策 略执行子系统执行所述最大优化策略h_max, 以将数据库集群的配置信息状态从s更新为 s; S34、 重复步骤S31至S34, 直到数据库集群停止工作, 参数优化结束。 权利要求书 5/5 页 6 CN 111913939 A 6 一种基于强化学习的数据库集群优化系统及方法 技术领域 0001 本发明涉及数据库集群优化领域, 尤其涉及一种基于强化学习的数据库。
22、集群优化 系统及方法。 背景技术 0002 当今世界是一个信息化的世界, 人们无论是生活、 工作、 学习都离不开信息系统的 支撑。 而信息系统的背后用于保存和处理最终结果的地方就是数据库。 因此, 数据库系统就 变得尤为重要, 这意味着如果数据库如果面临问题, 则意味着整个应用系统也会面临挑战, 从而带来严重的损失和后果。 0003 如今 “大数据” 这个词已经变得非常流行, 虽然这个概念如何落地不得而知。 但可 以确定的是, 随着物联网、 移动应用的兴起, 数据量相比过去会有几何级的提升。 面对上述 挑战, 一个显而易见的办法是, 将多个服务器组成一组集群, 这样一来就可以充分利用每一 台服。
23、务器的资源并将客户端负载分发到不同服务器上, 随着应用程序负载的增加, 只需要 将新的服务器添加到集群即可。 0004 数据库集群管理员往往会根据数据库集群的历史运行情况以及集群的实时状态, 优化数据库集群的配置参数以提高数据库集群的处理性能。 0005 优化数据库集群配置参数和数据库集群处理性能的反馈之间是有延时的, 如果采 取了连续多个优化动作, 很难确定究竟是哪个优化动作起了作用, 或者每个优化动作对结 果的影响是多少。 因此, 人工手动优化不免存在偏差, 况且庞大的参数搜索空间、 负载的连 续性、 负载和设备的多样性等因素也决定了传统人工手动优化方法是非常低效的。 发明内容 0006 。
24、本发明的目的在于提供一种基于强化学习的数据库集群优化系统及方法, 从而解 决现有技术中存在的前述问题。 0007 为了实现上述目的, 本发明采用的技术方案如下: 0008 一种基于强化学习的数据库集群优化系统, 所述优化系统包括, 0009 当前配置信息采集子系统; 用于接收优化引擎子系统下发的当前配置信息采集命 令, 根据当前配置信息采集命令采集数据库集群的当前配置信息; 并将采集到的数据库集 群的当前配置信息发送给优化引擎子系统; 0010 当前性能信息采集子系统; 用于接收优化引擎子系统下发的当前性能信息采集命 令, 根据当前性能信息采集命令采集数据库集群的当前性能信息; 并将采集到的数。
25、据库集 群的当前性能信息发送给优化引擎子系统; 0011 优化策略执行子系统; 用于接收优化引擎子系统下发的优化策略, 并根据优化策 略调整数据库集群的配置信息; 所述优化策略包括优化参数和优化方向; 0012 优化引擎子系统; 用于向所述当前配置信息采集子系统、 所述当前性能信息采集 子系统、 和优化策略执行子系统分别下发当前配置信息采集命令、 当前性能信息采集命令 说明书 1/12 页 7 CN 111913939 A 7 和优化参数; 根据采集到的数据库集群的当前配置信息和当前性能信息, 生成数据库集群 优化策略, 并控制优化策略执行子系统调整数据库集群的配置信息。 0013 优选的, 。
26、所述当前配置信息采集子系统包括, 0014 第一采集命令接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系统下 发的当前配置信息采集命令, 并根据接收的当前配置信息采集命令调用配置信息采集模 块, 以采集数据库集群的当前配置信息; 0015 配置信息采集模块; 根据当前配置信息调用各个配置信息子模块采集数据库集群 的相应配置信息, 并发送给优化引擎子系统; 0016 缓存配置信息子模块; 用于采集和数据库缓存相关的配置信息, 包括查询缓存大 小、 单个查询能够使用的缓存区大小、 排序缓存大小; 0017 操作配置信息子模块; 用于采集和数据库操作相关的配置信息, 包括读操作缓存 区大小。
27、、 临时表大小、 最大堆表大小、 索引缓冲区大小、 批量插入数据缓存大小、 联合操作队 列大小; 0018 网络配置信息子模块; 用于采集和数据库网络相关的配置信息, 包括网络传输中 一次消息传输量的最大值、 最大数据库连接数、 数据库连接请求异常中断的最大次数; 0019 系统配置信息子模块; 用于采集和数据库系统相关的配置信息; 包括允许打开的 文件数、 短时间内可以被存在堆栈中数据库请求数量、 保存在缓存中线程的数量、 并发线程 数量、 每个线程的堆栈大小。 0020 优选的, 当前性能信息采集子系统包括, 0021 第二采集命令接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系。
28、统下 发的当前性能信息采集命令, 并根据接收的当前性能信息采集命令调用性能信息采集模 块, 以采集数据库集群的当前性能信息; 0022 性能信息采集模块; 根据当前性能信息调用各个性能信息子模块采集数据库集群 的相应性能信息, 并发送给优化引擎子系统; 0023 事务和查询信息子模块; 用于采集和数据库事务以及查询相关的性能信息, 包括 利用数据库管理命令获取平均每秒select语句执行次数、 利用数据库管理命令获取平均每 秒insert语句执行次数、 利用数据库管理命令获取平均每秒update语句执行次数、 利用数 据库管理命令获取平均每秒delete语句执行次数、 计算每秒事务数、 计算每。
29、秒查询数、 利用 数据库管理命令查询操作响应时间统计; 0024 线程性能信息子模块; 用于采集和数据库线程相关的性能信息; 包括利用操作系 统管理命令获取当前正处于激活状态的线程个数、 利用操作系统管理命令获取当前连接的 线程的个数; 0025 网络流量性能信息子模块; 用于采集和数据库网络流量相关的性能信息; 包括利 用网络管理命令获取平均每秒从所有客户端接收到的字节数、 利用网络管理命令获取平均 每秒发送给所有客户端的字节数。 0026 优选的, 所述优化策略执行子系统包括, 0027 优化策略接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系统下发的 优化策略; 0028 优化。
30、策略执行模块; 用于接收优化引擎下发的优化策略, 根据优化参数搜索配置 说明书 2/12 页 8 CN 111913939 A 8 文件, 找到与优化参数对应的配置参数; 根据优化方向, 调整优化参数对应的配置参数值; 调整内容具体包括, 0029 A1、 当优化方向为+, 若优化参数对应的配置参数为开关项, 则参数值设置为开; 0030 A2、 当优化方向为-, 若优化参数对应的配置参数为开关项, 则参数值设置为关; 0031 A3、 当优化方向为+, 若优化参数对应的配置参数为10以内的整数, 则参数值设置 为增加1; 0032 A4、 当优化方向为-, 若优化参数对应的配置参数为10以内。
31、的整数, 则参数值设置 为减少1; 0033 A5、 当优化方向为+, 若优化参数对应的配置参数为256以内的整数, 则参数值设置 为增加8; 0034 A6、 当优化方向为-, 若优化参数对应的配置参数为256以内的整数, 则参数值设置 为减少8; 0035 A7、 当优化方向为+, 若优化参数对应的配置参数为大于256的整数, 则参数值设置 为乘以2; 0036 A8、 当优化方向为-, 若优化参数对应的配置参数为大于256的整数, 则参数值设置 为除以2。 0037 优选的, 所述优化引擎子系统包括优化策略评估网络, 所述优化策略评估网络包 括一个输入层、 两个隐藏层和一个输出层, 00。
32、38 输入层, 包括17个输入, 分别来自于数据库集群17个配置信息的当前值; 0039 第一隐藏层, 包括128个神经元, 计算公式为, 0040 O1relu(w1x+b1) 0041 其中, x为优化策略评估网络的输入; w1为权值矩阵; b1是偏置; O1是第一隐藏层128 维的输出向量; 0042 第二隐藏层, 包括64个神经元, 计算公式为, 0043 O2relu(w2O1+b2) 0044 其中, w2为权值矩阵; b2是偏置; O2是第二隐藏层64维的输出向量; 0045 输出层, 包括34个神经元, 计算公式为, 0046 yrelu(w3O2+b3) 0047 其中, w。
33、3为权值矩阵; b3是偏置; y为输出层的输出向量, 其包括34个输出, 每个输出 对应一个优化策略的评估值; 由于存在17个配置信息, 每个配置信息存在2个优化方向, 因 此存在34个优化策略。 0048 本发明的目的还在于提供一种基于强化学习的数据库集群优化方法, 所述优化方 法使用上述任一所述的优化系统实现; 所述优化方法包括如下步骤, 0049 S1、 初始化阶段: 初始化所述优化策略评估网络, 即把所有权值矩阵参数和偏置参 数初始化为随机值; 0050 S2、 学习阶段: 每隔第一预设时长, 进行一次强化学习过程, 直至学习过程完毕, 获 得训练好的优化策略评估网络; 0051 S3。
34、、 应用阶段: 每隔第一预设时长, 利用训练好的优化策略评估网络进行一次数据 库集群参数优化调整, 直至数据库集群停止运行。 说明书 3/12 页 9 CN 111913939 A 9 0052 优选的, 步骤S2具体包括如下内容, 0053 S21、 每隔第一预设时长, 优化引擎子系统命令所述当前配置信息采集子系统采集 一次数据库集群的当前配置信息, 优化引擎子系统获取数据库集群的当前配置信息状态s; 0054 S22、 将获取的数据库集群的当前配置信息状态s输入到优化策略评估网络中, 经 过神经网络的计算, 输出34个优化策略的评估值向量V_s; 从所有优化策略中选出评估值向 量最大的优化。
35、策略h_max; 0055 S23、 所述优化引擎子系统根据数据库集群优化策略选择机制, 从所有优化策略中 选择一个优化策略; 0056 S24、 所述优化引擎子系统将选择出的优化策略h发送给优化策略执行子系统, 所 述优化策略执行子系统执行所述优化策略h, 以将数据库集群的配置信息状态从s更新为 s; 0057 S25、 延迟第二预设时长, 优化引擎子系统命令当前性能信息采集子系统采集数据 库集群的当前性能信息, 并计算将数据库集群的配置信息状态从s更新为s的优化策略h所 对应的回报值r; 0058 S26、 将更新后的数据库集群配信息置状态s输入到所述优化策略评估网络中, 经 过神经网络的。
36、计算, 获取34个优化策略的评估值, 从中选出最大的评估值V_max; 0059 S27、 利用经典强化学习bellman公式, 计算数据库集群在配置信息状态s和优化策 略h下对应的更新评估值h_val, h_valr+V_max; 0060 S28、 利用更新评估值h_val和评估值向量V_s, 更新评估值向量, 即将评估值向量 V_s中优化策略h对应的值, 替换为h_val, 得到更新后的评估值向量V_s; 0061 S29、 将数据库集群的配置信息状态s和更新后的评估值向量V_s, 作为一个训练 样本存放到回放池中; 0062 S210、 重复32次步骤S21至步骤S29, 回放池中的训。
37、练样本有32个; 0063 S211、 利用此32个训练样本, 使用梯度下降神经网络训练算法, 训练优化策略评估 网络, 以更新优化策略评估网络的参数; 0064 S212、 重复执行步骤S21至步骤S211, 直到优化策略评估网络的误差小于预设阈 值, 强化学习过程结束。 0065 优选的, 所述优化策略选择机制具体为, 0066 以 的概率, 从34个优化策略中随机选择一个优化策略h_rand, 并把该优化策略h_ rand作为优化策略h; 或者, 以1- 的概率, 选取配置信息状态s下最大的优化策略h_max, 并 将该最大优化策略h_max作为优化策略h。 0067 优选的, 所述回报。
38、值r的计算过程为, 0068 B1、 计算执行本次优化策略后, 优化引擎子系统采集到的每秒事务数tps与上一时 刻优化引擎子系统采集到的每秒事务数tps之差Dtps; 0069 其中, Dtpstps-tps; 0070 B2、 计算执行本次优化策略后, 优化引擎子系统采集到的每秒查询数qps与上一时 刻优化引擎子系统采集到的每秒查询数qps之差Dqps; 0071 其中, Dqpsqps-qps; 0072 B3、 计算执行本次优化策略后, 优化引擎子系统采集到的查询操作响应时间 说明书 4/12 页 10 CN 111913939 A 10 query_response_time与上一时刻。
39、优化引擎子系统采集到的查询操作响应时间query_ response_time之差Dquery_response_time; 0073 其中, Dquery_response_timequery_response_time-query_response_time; 0074 B4、 计算执行本次优化策略后, 优化引擎子系统采集到的激活状态的线程个数 threads_running与上一时刻优化引擎子系统采集到的激活状态的线程个数threads_ running之差Dthreads_running; 0075 其中, Dthreads_runningthreads_running-threads。
40、_running; 0076 B5、 计算执行本次优化策略后, 优化引擎子系统采集到的当前连接的线程的个数 threads_connected与上一时刻优化引擎子系统采集到的每秒查询数当前连接的线程的个 数threads_connected之差Dthreads_connected; 0077 其中, Dthreads_connectedthreads_connected-threads_connected; 0078 B6、 计算执行本次优化策略后, 优化引擎子系统采集到的平均每秒从所有客户端 接收到的字节数Bytes_received_ps与上一时刻优化引擎子系统采集到的平均每秒从所有 客户。
41、端接收到的字节数Bytes_received_ps之差; 0079 其中, DBytes_received_psBytes_received_ps-Bytes_received_ps; 0080 B7、 计算执行本次优化策略后, 优化引擎子系统采集到的平均每秒发送给所有客 户端的字节数Bytes_sent_ps与上一时刻优化引擎子系统采集到的平均每秒发送给所有客 户端的字节数Bytes_sent_ps之差; 0081 其中, DBytes_sent_psBytes_sent_ps-Bytes_sent_ps; 0082 B8、 根据步骤B1至B7中计算获取的差值, 计算回报率r, 计算公式为,。
42、 0083 0084 其中, 1和2为权值, 且满足12; 3为权重。 0085 优选的, 步骤S3具体包括如下内容, 0086 S31、 每隔第一预设时长, 优化引擎子系统命令所述当前配置信息采集子系统采集 一次数据库集群的当前配置信息, 优化引擎子系统获取数据库集群的当前配置信息状态s; 0087 S32、 将获取的数据库集群的当前配置信息状态s输入到训练好的优化策略评估网 络中, 经过神经网络的计算, 输出34个优化策略的评估值向量V_s; 从所有优化策略中选出 评估值向量最大的优化策略h_max; 0088 S33、 优化引擎子系统将最大优化策略h_max发送到优化策略执行子系统, 所。
43、述优 化策略执行子系统执行所述最大优化策略h_max, 以将数据库集群的配置信息状态从s更新 为s; 0089 S34、 重复步骤S31至S34, 直到数据库集群停止工作, 参数优化结束。 0090 本发明的有益效果是: 使用强化学习的方法来自动优化数据库集群配置参数, 对 数据库集群处理性能有较为显著的提升; 并且当负载发生变化时, 其可迅速实现动态适应 性的优化调整, 大大减少人力成本及时间成本。 说明书 5/12 页 11 CN 111913939 A 11 附图说明 0091 图1是本发明实施例中优化方法的流程示意图。 具体实施方式 0092 为了使本发明的目的、 技术方案及优点更加清。
44、楚明白, 以下结合附图, 对本发明进 行进一步详细说明。 应当理解, 此处所描述的具体实施方式仅仅用以解释本发明, 并不用于 限定本发明。 0093 实施例一 0094 本实施例中, 提供了一种基于强化学习的数据库集群优化系统, 所述优化系统包 括, 0095 当前配置信息采集子系统; 用于接收优化引擎子系统下发的当前配置信息采集命 令, 根据当前配置信息采集命令采集数据库集群的当前配置信息; 并将采集到的数据库集 群的当前配置信息发送给优化引擎子系统; 0096 当前性能信息采集子系统; 用于接收优化引擎子系统下发的当前性能信息采集命 令, 根据当前性能信息采集命令采集数据库集群的当前性能信。
45、息; 并将采集到的数据库集 群的当前性能信息发送给优化引擎子系统; 0097 优化策略执行子系统; 用于接收优化引擎子系统下发的优化策略, 并根据优化策 略调整数据库集群的配置信息; 所述优化策略包括优化参数和优化方向; 0098 优化引擎子系统; 用于向所述当前配置信息采集子系统、 所述当前性能信息采集 子系统、 和优化策略执行子系统分别下发当前配置信息采集命令、 当前性能信息采集命令 和优化参数; 根据采集到的数据库集群的当前配置信息和当前性能信息, 生成数据库集群 优化策略, 并控制优化策略执行子系统调整数据库集群的配置信息。 0099 本实施例中, 当前配置信息采集子系统、 当前性能信。
46、息采集子系统、 优化策略执行 子系统均运行在组成数据库集群的各台服务器上。 0100 本实施例中, 优化引擎子系统每隔一段时间(比如半小时), 就会进行一次强化学 习过程, 具体为: 首先命令当前配置信采集子系统采集数据库集群的当前配置信息; 根据优 化策略评估网络计算评估值向量V_s, 然后根据数据库集群优化策略选择机制选择出的优 化策略h, 发送该优化策略h给优化策略执行子系统, 然后延时一定时间(例如5分钟), 命令 当前性能信采集子系统采集当前性能信息; 根据当前性能信息利用bellman公式更新评估 值向量V_s , 这样就完成了一个迭代。 随着不断的迭代运行, 优化引擎子系统不断训。
47、练优化 策略评估网络, 为优化引擎子系统的优化策略选择提供最优的引导。 具体可参见如下步骤 S21至步骤S24的内容。 0101 S21、 每隔第一预设时长, 优化引擎子系统命令所述当前配置信息采集子系统采集 一次数据库集群的当前配置信息, 优化引擎子系统获取数据库集群的当前配置信息状态s; 0102 S22、 将获取的数据库集群的当前配置信息状态s输入到优化策略评估网络中, 经 过神经网络的计算, 输出34个优化策略的评估值向量V_s; 从所有优化策略中选出评估值向 量最大的优化策略h_max; 0103 S23、 所述优化引擎子系统根据数据库集群优化策略选择机制, 从所有优化策略中 选择一。
48、个优化策略; 说明书 6/12 页 12 CN 111913939 A 12 0104 S24、 所述优化引擎子系统将选择出的优化策略h发送给优化策略执行子系统, 所 述优化策略执行子系统执行所述优化策略h。 0105 本实施例中, 所述当前配置信息采集子系统包括, 0106 第一采集命令接收模块; 通过网络监听优化引擎子系统, 接收优化引擎子系统下 发的当前配置信息采集命令, 并根据接收的当前配置信息采集命令调用配置信息采集模 块, 以采集数据库集群的当前配置信息; 0107 配置信息采集模块; 根据当前配置信息调用各个配置信息子模块采集数据库集群 的相应配置信息, 并发送给优化引擎子系统;。
49、 0108 缓存配置信息子模块; 用于采集和数据库缓存相关的配置信息, 包括查询缓存大 小query_cache_size、 单个查询能够使用的缓存区大小query_cache_limit、 排序缓存大小 sort_cache_size; 0109 操作配置信息子模块; 用于采集和数据库操作相关的配置信息, 包括读操作缓存 区大小read_buffer_size、 临时表大小tmp_table_size、 最大堆表大小max_heap_table_ size、 索引缓冲区大小key_buffer_size、 批量插入数据缓存大小bulk_insert_buffer_ size、 联合操作队列大。
50、小join_queue_size; 0110 网络配置信息子模块; 用于采集和数据库网络相关的配置信息, 包括网络传输中 一次消息传输量的最大值max_allowed_psacket、 最大数据库连接数max_connections、 数 据库连接请求异常中断的最大次数max_connect_errors; 0111 系统配置信息子模块; 用于采集和数据库系统相关的配置信息; 包括允许打开的 文件数open_files_limit、 短时间内可以被存在堆栈中数据库请求数量back_log、 保存在 缓存中线程的数量thread_cache_size、 并发线程数量thread_concurre。
- 内容关键字: 基于 强化 学习 数据库 集群 优化 系统 方法
顶升式芯片脱模结构及芯片固晶设备.pdf
U肋板转运机器人.pdf
农业种植架.pdf
洗水机用松布退卷输送机构.pdf
检测夹具.pdf
低压线圈中的气道撑条.pdf
自动上料调平的无机板切割设备.pdf
高压手动反冲洗过滤装置.pdf
烟气余热回收装置.pdf
具有受热均匀结构的电热恒温鼓风干燥箱.pdf
单手操作钢珠锁紧接头.pdf
实验动物大鼠拍摄CBCT的专用支架.pdf
自动检测码垛漏砖系统.pdf
挥发性有机物环保治理回收装置.pdf
消失模壳型精铸模型气化炉的壳型料架.pdf
综合性能好的节能预分支电缆.pdf
微型无阀压电泵.pdf
干式变压器绝缘垫块.pdf
煤粉吊装料仓.pdf
活塞加工用运输承载板.pdf
双目测距导盲装置.pdf
有色金属选矿废水回收处理装置.pdf
带有脱模机构的塑料瓶注塑机.pdf
粉尘精过滤滤芯.pdf
升降堰门.pdf
生产海绵钛带加热装置的反应器.pdf
炼铁原料白灰消化装置.pdf
塑料瓶用吹塑成形装置.pdf
LED器件及其制备方法.pdf
消融针尖端限位缓冲结构及其穿刺装置.pdf
光伏储能系统.pdf
基于多模态数据的封闭母线R-CNN温度故障监测方法.pdf
败血症的预防剂和/或治疗剂.pdf
在治疗发作中用于口颊施用以获得快速起效的咪达唑仑组合物.pdf
一种治疗流行性脑膜炎的中药.pdf
用于治疗癌症的雷帕霉素和雷帕霉素衍生物的稳定的脂质体制剂.pdf
一种用于治疗食管癌的中药配方及其制备方法.pdf
具有靶向性和荧光性的抗癌药物及其制备方法.pdf
一种中药粉碎物的中药饼块.pdf
一种滋养润肤霜及其制备方法.pdf
一种治疗急性支气管炎的中药.pdf
包含利多卡因的非水性贴剂.pdf
局部用类视黄醇组合物.pdf
一种含有薁磺酸钠的抗过敏药用沐浴液.pdf
一种双辅料注射用诺卡沙星冻干粉针剂.pdf
一种双辅料注射用阿洛西林钠冻干粉针剂.pdf
一种外用复方制剂.pdf
一种治疗心下痞的中药组合物.pdf
一种治疗上呼吸道感染的药物及其制备方法.pdf
一种新型避孕套.pdf
一种治疗慢性支气管炎并肺气肿的中药.pdf