System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库,尤其涉及一种数据库请求分发模型的训练方法及装置、电子设备。
技术介绍
1、数据库请求是指用户发起请求经过数据库连接池与postgresql服务器建立连接(长连接),数据库线程获取到sql语句进行分析解析,将sql语句转换为抽象语法树后执行事务。
2、在高并发业务场景下,目前请求的流量分配大部分都是基于平均分配的形式,如纪念币发行的场景,会将高并发预约的数据库请求平均分配给多台数据库服务器。
3、此种方式的问题主要在于数据库处理请求的时间是无法保证平均的,随着时间的推移,一样会导致数据负载不均衡的问题,而且不同数据库服务器的处理效率的差异也会影响此种方式的效果。
技术实现思路
1、本申请实施例提供了一种数据库请求分发模型的训练方法及装置、电子设备,以实现数据库请求的实时分配,提高数据库系统的整体运行效率。
2、本申请实施例采用下述技术方案:
3、第一方面,本申请实施例提供一种数据库请求分发模型的训练方法,所述数据库请求分发模型的训练方法包括:
4、构建数据库请求分发模型的样本池;
5、从所述样本池中获取数据库请求分发模型的训练样本数据,所述训练样本数据包括各个数据库服务器的当前时刻的状态特征参数、当前时刻的请求分发方案、当前时刻的请求分发方案对应的奖励值以及下一时刻的状态特征参数;
6、根据所述数据库请求分发模型的训练样本数据,采用自监督算法训练数据库请求分发模型;
7、
8、可选地,所述构建数据库请求分发模型的样本池包括:
9、随机采样各个数据库服务器的当前时刻的状态参数;
10、将随机采样的当前时刻的状态参数转换为当前时刻的状态特征参数;
11、将当前时刻的状态特征参数输入数据库请求分发模型的当前策略网络,得到当前时刻的请求分发方案;
12、执行所述当前时刻的请求分发方案,得到当前时刻的请求分发方案对应的奖励值以及各个数据库服务器的下一时刻的状态特征参数;
13、将各个数据库服务器的当前时刻的状态特征参数、当前时刻的请求分发方案及对应的奖励值以及下一时刻的状态特征参数构成训练样本数据并存储至所述样本池中。
14、可选地,所述当前时刻的请求分发方案对应的奖励值通过如下方式得到:
15、根据状态特征参数在数据库请求分发场景下的重要程度确定状态特征参数的奖励权重;
16、根据当前时刻的状态特征参数和对应的奖励权重计算所述当前时刻的请求分发方案对应的奖励值;
17、其中,所述状态特征参数包括每秒事务处理量、每秒事务执行时间、核心处理器使用率、内存占用率、磁盘存储空间中的至少一个维度。
18、可选地,所述根据当前时刻的状态特征参数和对应的奖励权重计算所述当前时刻的请求分发方案对应的奖励值包括:
19、根据各个数据库服务器的当前时刻的状态特征参数和对应的奖励权重计算各个数据库服务器对应的奖励值;
20、将各个数据库服务器对应的奖励值求平均,作为所述当前时刻的请求分发方案对应的奖励值。
21、可选地,所述根据所述数据库请求分发模型的训练样本数据,采用自监督算法训练数据库请求分发模型包括:
22、将当前时刻的状态特征参数和当前时刻的请求分发方案输入数据库请求分发模型的当前价值网络,得到当前时刻的请求分发方案的价值得分;
23、将下一时刻的状态特征参数输入所述数据库请求分发模型的目标策略网络,得到下一时刻的请求分发方案;
24、将下一时刻的状态特征参数和下一时刻的请求分发方案输入所述数据库请求分发模型的目标价值网络,得到下一时刻的请求分发方案的价值得分;
25、根据当前时刻的请求分发方案的价值得分和下一时刻的请求分发方案的价值得分确定数据库请求分发模型的损失值,并利用所述数据库请求分发模型的损失值更新所述数据库请求分发模型的参数。
26、第二方面,本申请实施例还提供一种数据库请求分发方法,所述数据库请求分发方法包括:
27、获取各个数据库服务器的当前时刻的状态参数;
28、将各个数据库服务器的当前时刻的状态参数输入数据库请求分发模型,得到下一时刻的请求分发方案;
29、在接收到下一时刻的数据库请求后,根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的数据库服务器上;
30、其中,所述数据库请求分发模型基于前述任一项数据库请求分发模型的训练方法训练得到。
31、可选地,所述根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的数据库服务器上包括:
32、利用预设风控策略对所述下一时刻的请求分发方案进行风控处理;
33、在风控处理完成的情况下,将下一时刻的数据库请求分发至相应的数据库服务器上。
34、可选地,所述下一时刻的请求分发方案包括各个数据库服务器在下一时刻被分配的请求数量,所述利用预设风控策略对所述下一时刻的请求分发方案进行风控检查包括:
35、将各个数据库服务器在下一时刻被分配的请求数量分别与预设请求数量阈值进行比较;
36、若各个数据库服务器在下一时刻被分配的请求数量均小于所述预设请求数量阈值,则根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的数据库服务器上;
37、否则,则将下一时刻的数据库请求平均分发至各个数据库服务器上。
38、可选地,在根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的数据库服务器上之后,所述方法还包括:
39、将下一时刻的请求分发方案作为历史分发数据存储至样本池中,以利用所述样本池中的历史分发数据对所述数据库请求分发模型进行动态更新。
40、第三方面,本申请实施例还提供一种数据库请求分发模型的训练装置,所述数据库请求分发模型的训练装置包括:
41、构建单元,用于构建数据库请求分发模型的样本池;
42、第一获取单元,用于从所述样本池中获取数据库请求分发模型的训练样本数据,所述训练样本数据包括各个数据库服务器的当前时刻的状态特征参数、当前时刻的请求分发方案、当前时刻的请求分发方案对应的奖励值以及下一时刻的状态特征参数;
43、训练单元,用于根据所述数据库请求分发模型的训练样本数据,采用自监督算法训练数据库请求分发模型;
44、更新单元,用于获取历史分发数据,并利用所述历史分发数据对所述数据库请求分发模型进行动态更新。
45、第四方面,本申请实施例还提供一种数据库请求分发装置,所述数据库请求分发装置包括:
46、第二获取单元,用于获取各个数据库服务器的当前时刻的状态参数;
47本文档来自技高网...
【技术保护点】
1.一种数据库请求分发模型的训练方法,其特征在于,所述数据库请求分发模型的训练方法包括:
2.根据权利要求1所述数据库请求分发模型的训练方法,其特征在于,所述构建数据库请求分发模型的样本池包括:
3.根据权利要求1所述数据库请求分发模型的训练方法,其特征在于,所述当前时刻的请求分发方案对应的奖励值通过如下方式得到:
4.根据权利要求3所述数据库请求分发模型的训练方法,其特征在于,所述根据当前时刻的状态特征参数和对应的奖励权重计算所述当前时刻的请求分发方案对应的奖励值包括:
5.根据权利要求1所述数据库请求分发模型的训练方法,其特征在于,所述根据所述数据库请求分发模型的训练样本数据,采用自监督算法训练数据库请求分发模型包括:
6.一种数据库请求分发方法,其特征在于,所述数据库请求分发方法包括:
7.根据权利要求6所述数据库请求分发方法,其特征在于,所述根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的数据库服务器上包括:
8.根据权利要求7所述数据库请求分发方法,其特征在于,所述下一
9.根据权利要求6所述数据库请求分发方法,其特征在于,在根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的数据库服务器上之后,所述方法还包括:
10.一种数据库请求分发模型的训练装置,其特征在于,所述数据库请求分发模型的训练装置包括:
11.一种数据库请求分发装置,其特征在于,所述数据库请求分发装置包括:
12.一种电子设备,包括:
13.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1~5之任一所述数据库请求分发模型的训练方法,或者执行权利要求6~9之任一所述数据库请求分发方法。
...【技术特征摘要】
1.一种数据库请求分发模型的训练方法,其特征在于,所述数据库请求分发模型的训练方法包括:
2.根据权利要求1所述数据库请求分发模型的训练方法,其特征在于,所述构建数据库请求分发模型的样本池包括:
3.根据权利要求1所述数据库请求分发模型的训练方法,其特征在于,所述当前时刻的请求分发方案对应的奖励值通过如下方式得到:
4.根据权利要求3所述数据库请求分发模型的训练方法,其特征在于,所述根据当前时刻的状态特征参数和对应的奖励权重计算所述当前时刻的请求分发方案对应的奖励值包括:
5.根据权利要求1所述数据库请求分发模型的训练方法,其特征在于,所述根据所述数据库请求分发模型的训练样本数据,采用自监督算法训练数据库请求分发模型包括:
6.一种数据库请求分发方法,其特征在于,所述数据库请求分发方法包括:
7.根据权利要求6所述数据库请求分发方法,其特征在于,所述根据所述下一时刻的请求分发方案,将下一时刻的数据库请求分发至相应的...
【专利技术属性】
技术研发人员:李向一,刘义,杨嘉,常龙,
申请(专利权)人:中国邮政储蓄银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。