本发明涉及大数据应用及数据治理,尤其涉及一种数据库字段智能更新方法和装置。
背景技术:
1、随着互联网技术的快速发展,互联网数据呈指数级增长,企业/公司系统由最初的信息化转型转变为质量把控的需求,数据质量直接反映公司的服务质量,准确、及时的数据能提高工作效率,提升用户体验及满意度。
2、目前,在对数据库中的数据进行更新时,主要通过两种方式进行。一种方式是不指定数据范围进行全量更新,在数据量比较小的情况下,用户对于数据转换的耗时差异感知不明显,用户不在意转换效率,但在数据量足够大的情况下,一次性更新大量数据会导致性能不足,影响业务使用,直接影响用户体验。另一种方式是指定数据范围进行分批次的数据更新,当数据体量很大时,开发人员可根据经验将数据切分为多个批次进行更新,每个批次能保证相应转换效率,并保证数据库性能稳定,但是批次更新往往粗略设置固定的批次大小,当系统指标变化时,会造成不稳定的更新,从而影响生产环境和数据库性能,同时无法保证充分利用系统资源,无法使更新效率最大化。
技术实现思路
1、本发明实施例提供一种数据库字段智能更新方法和装置,用以解决上述的两种数据库更新策略中存在的一次性更新大量数据会导致性能不足、系统指标变化会造成不稳定的更新、无法使更新效率最大化等技术问题。
2、第一方面,本发明实施例提供一种数据库字段智能更新方法,包括:
3、确定系统的数据库中的总数据量和需要更新的字段数量,并采集所述系统的负载信息;
4、将所述负载信息、需要更新的所述总数据量和所述字段数量作为预设的多目标优化模型的已知自变量,将批量更新时间作为所述多目标优化模型中的待计算自变量,利用遗传算法对所述多目标优化模型求解,得到最佳批量更新时间因子;
5、基于所述最佳批量更新时间因子对预设的比例积分微分控制模型进行求解,基于求解后的所述比例积分微分控制模型,实时计算数据库进行批量更新的批次大小;
6、基于所述批次大小,对所述数据库中需要更新的字段执行更新操作。
7、在一个实施例中,所述多目标优化模型通过以下步骤构建得到:
8、获取所述系统当前的样本负载信息;
9、分别在多种不同的样本总数据量和不同的需要更新的样本字段数量下,设置不同的批次大小进行更新,并记录每个批次大小对应的样本批量更新时间;
10、将所述样本负载信息、所述样本总数据量、所述需要更新的样本字段数量和所述样本批量更新时间设置为所述多目标优化模型的自变量,并确定优化指标y1、y2、y3和y4;
11、基于所述样本负载信息、所述样本总数据量、所述需要更新的样本字段数量和所述样本批量更新时间,建立如下的多目标优化模型:
12、min(y1),min(y2),min(y3),max(y4)
13、yi=fi(x1,x2,x3,x4,x5,x6,x7),i=1,2,3,4
14、其中,y1表示系统负载在1分钟内的平均负载、y2表示系统负载在5分钟内的平均负载、y3表示系统负载在15分钟内的平均负载,y4表示每秒事务数;x1至x4为所述样本负载信息,其中x1表示数据库连接数,x2表示硬盘输入/输出速度,x3表示网络带宽,x4表示cpu使用率;x5表示所述样本总数据量,x6表示所述需要更新的样本字段数量,x7表示所述样本批量更新时间。
15、在一个实施例中,利用遗传算法对所述多目标优化模型求解,得到最佳批量更新时间因子,包括:
16、步骤1:随机生成所述多目标优化模型中的批量更新时间的多个初始值;
17、步骤2:定义适度函数w1*y1+w2*y2+w3*y3+w4*y4,将批量更新时间的每个初始值作为个体,通过所述适度函数计算每个个体的适应度;其中,w1、w2、w3和w4分别为y1、y2、y3和y4对应的权重系数;
18、步骤3:通过轮盘赌选择法,根据每个个体的适应度选择出预设数量的个体作为下一代的父代;
19、步骤4:对于每一对父代,以预设的第一概率进行交叉操作,产生新的子代;
20、步骤5:对于每个子代,以预设的第二概率进行变异操作,产生新的个体;
21、步骤6:对于新生成的个体,通过所述适度函数计算其适应度;
22、步骤7:在所述新生个体的适应度满足预设的适应度限值条件的情况下,结束循环并将所述新生个体对应的初始值作为最佳批量更新时间因子;在所述新生个体的适应度不满足预设的适应度限值条件的情况下,跳转执行步骤3。
23、在一个实施例中,所述比例积分微分控制模型如下所示:
24、
25、其中,u(t)表示输出的批次大小,e(t)表示实际的批量更新时间与所述最佳批量更新时间因子的差值,t表示系统的运行时刻,kp表示比例系数,ti表示积分时间,td表示微分时间。
26、在一个实施例中,基于所述最佳批量更新时间因子对预设的比例积分微分控制模型进行求解,包括:
27、将所述最佳批量更新时间因子设置为所述比例积分微分控制模型的目标值;
28、将所述比例积分微分控制模型的积分时间ti和微分时间td设为0;
29、对比例系数kp进行调节,使所述系统的输出信号产生周期性波动,波动的周期为tp;
30、将此时的比例系数kp记录为kpc,将所述系统在临界稳定状态下输出信号的振幅记录为ac,周期记录为tp;
31、根据如下公式计算出比例系数kp、积分时间ti和微分时间td:
32、kp=0.6×kpc
33、ti=0.5×tp
34、td=0.125×tp
35、将计算出的比例系数kp、积分时间ti和微分时间td作为所述比例积分微分控制模型的参数。
36、在一个实施例中,基于求解后的所述比例积分微分控制模型,实时计算数据库进行批量更新的批次大小,包括:
37、设置初始的批次大小;
38、将所述最佳批量更新时间因子设置为所述比例积分微分控制模型的目标值;
39、在数据库更新开始后,实时统计所述批次大小和所述批量更新时间;
40、计算所述批量更新时间与所述目标值之间的误差值;
41、基于所述误差值,计算所述比例积分微分控制模型的输出量,将所述输出量作为数据库进行批量更新的批次大小。
42、第二方面,本发明实施例提供一种数据库字段智能更新装置,包括:
43、配置模块,用于确定系统的数据库中的总数据量和需要更新的字段数量,并采集所述系统的负载信息;
44、控制模块,用于将所述负载信息、需要更新的所述总数据量和所述字段数量作为预设的多目标优化模型的已知自变量,将批量更新时间作为所述多目标优化模型中的待计算自变量,利用遗传算法对所述多目标优化模型求解,得到最佳批量更新时间因子;基于所述最佳批量更新时间因子对预设的比例积分微分控制模型进行求解,基于求解后的所述比例积分微分控制模型,实时计算数据库进行批量更新的批次大小;
45、执行模块,用于基于所述批次大小,对所述数据库中需要更新的字段执行更新操作。
46、在一个实施例中,还包括训练模块,用于通过以下步骤构建所述多目标优化模型:
47、获取配置模块得到的样本总数据量、需要更新的样本字段数量和样本负载信息;
48、分别在多种不同的样本总数据量和不同的需要更新的样本字段数量下,设置不同的批次大小进行更新,并记录每个批次大小对应的样本批量更新时间;
49、将所述样本负载信息、所述样本总数据量、所述需要更新的样本字段数量和所述样本批量更新时间设置为所述比例积分微分控制模型对应的自变量,并确定优化指标y1、y2、y3和y4;
50、基于所述样本负载信息、所述样本总数据量、所述需要更新的样本字段数量和所述样本批量更新时间,建立如下的多目标优化模型:
51、min(y1),min(y2),min(y3),max(y4)
52、yi=fi(x1,x2,x3,x4,x5,x6,x7),i=1,2,3,4
53、其中,y1表示系统负载在1分钟内的平均负载、y2表示系统负载在5分钟内的平均负载、y3表示系统负载在15分钟内的平均负载,y4表示每秒事务数;x1至x4为所述样本负载信息,其中x1表示数据库连接数,x2表示硬盘输入/输出速度,x3表示网络带宽,x4表示cpu使用率;x5表示所述样本总数据量,x6表示所述需要更新的样本字段数量,x7表示所述样本批量更新时间。
54、第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的数据库字段智能更新方法的步骤。
55、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的数据库字段智能更新方法的步骤。
56、本发明实施例提供的数据库字段智能更新方法和装置,通过确定系统的数据库中的总数据量和需要更新的字段数量,并采集系统的负载信息;将负载信息、需要更新的总数据量和字段数量输入预设的多目标优化模型,并将批量更新时间作为预设的多目标优化模型的自变量,利用遗传算法对多目标优化模型求解,得到最佳批量更新时间因子;基于最佳批量更新时间因子对预设的比例积分微分控制模型进行求解,基于求解后的比例积分微分控制模型,实时计算数据库进行批量更新的批次大小;最后基于批次大小,对数据库中需要更新的字段执行更新操作。通过上述方法和装置的运用,使系统在保持良好的更新性能的同时避免过度增加系统负载,避免用户体验受到影响,在系统指标变化时能够快速响应并调节批次大小,提高系统的自动化程度,保证更新效率的最大化。
1.一种数据库字段智能更新方法,其特征在于,包括:
2.根据权利要求1所述的数据库字段智能更新方法,其特征在于,所述多目标优化模型通过以下步骤构建得到:
3.根据权利要求2所述的数据库字段智能更新方法,其特征在于,利用遗传算法对所述多目标优化模型求解,得到最佳批量更新时间因子,包括:
4.根据权利要求1所述的数据库字段智能更新方法,其特征在于,所述比例积分微分控制模型如下所示:
5.根据权利要求4所述的数据库字段智能更新方法,其特征在于,基于所述最佳批量更新时间因子对预设的比例积分微分控制模型进行求解,包括:
6.根据权利要求1-5任一项所述的数据库字段智能更新方法,其特征在于,基于求解后的所述比例积分微分控制模型,实时计算数据库进行批量更新的批次大小,包括:
7.一种数据库字段智能更新装置,其特征在于,包括:
8.根据权利要求7所述的数据库字段智能更新装置,其特征在于,还包括训练模块,用于通过以下步骤构建所述多目标优化模型:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的数据库字段智能更新方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的数据库字段智能更新方法的步骤。