预测主机的批量运行时长的方法、系统、装置及存储介质与流程

文档序号:20838362发布日期:2020-05-22 17:10阅读:219来源:国知局
预测主机的批量运行时长的方法、系统、装置及存储介质与流程
本发明涉及计算机应用
技术领域
,更为具体而言,涉及一种预测主机的批量运行时长的方法、系统、装置及存储介质。
背景技术
:目前,各大银行核心业务主要建立在以主机为核心的架构之上,各类核心业务除了白天联机交易的处理外,还有大量的夜间批量交易处理。随着近期金融业的迅猛发展,夜间批量承载的业务处理量远超白天,夜间批量处理的时长逐渐成为数据中心重点关注的指标,但目前主机平台上缺少有效的分析和预测手段。对于主机批量时长的预测,传统的方式是基于历史数据的对比性预测,依赖于历史批量时间建立的样本空间,然后利用简单的一元回归,是一种经验数据的推导过程,准确率较低,缺少对于主机各相关信息与主机批量时长的关联性分析和科学的数据建模理论基础。同时,随着银行业务的迅猛发展以及跨领域业务的扩张,现有的批量运行平台已经由主机扩展到了开放平台,业务系统也从原来单一的主机平台拓展到了x86,这些巨大的变化导致影响批量运行时长的变量也日异繁多,仅仅依据历史运行时长的估算方式已经不能适用于现有银行批量运行时长的实际估算场景。技术实现要素:为了解决现有技术中存在的上述问题,本发明提供了一种预测主机的批量运行时长的方法、系统、服务器及存储介质,支持在多种复杂变量的环境下实现对主机批量运行时长的预测。根据本发明的实施方式,提供了一种预测主机的批量运行时长的方法,所述方法包括:通过性能数据库获取所述主机批量运行时的性能数据集合,通过历史数据库获取历史批量运行时长;根据预设的筛选规则筛选所述性能数据集合中的元素,获取关联性能数据集合;将所述关联性能数据集合和所述历史批量运行时长投入预设的学习模型中进行训练,获取时长预测模型;根据所述时长预测模型对主机的批量运行时长进行预测。在本发明的一些实施方式中,所述根据预设的筛选规则筛选所述性能数据集合中的元素,获取关联性能数据集合包括:对于所述性能数据集合中的元素,分别执行以下操作:将所述元素作为自变量,所述历史批量运行时长作为因变量,计算皮尔逊相关系数;若所述皮尔逊相关系数大于预设的阈值,则确定所述元素为关联元素;将筛选出的所有关联元素的集合作为所述关联性能数据集合。在本发明的一些实施方式中,所述根据预设的筛选规则筛选所述性能数据集合中的元素,获取关联性能数据集合包括:对于所述性能数据集合中的元素,分别执行以下操作:将所述元素作为自变量,所述历史批量运行时长作为因变量,计算皮尔逊相关系数;若所述皮尔逊相关系数大于预设的阈值,则获取所述皮尔逊相关系数的统计量;根据所述统计量获取对应的概率值;判断所述概率值是否小于预设值,若小于,则确定所述元素为关联元素;将筛选出的所有关联元素的集合作为所述关联性能数据集合。在本发明的一些实施方式中,所述预设的学习模型为梯度提升树回归模型,模型公式如下:fm(x)=y1h1(x)+y2h2(x)+…+yihi(x)+…+ymhm(x);fm(x)=fm-1(x)+ymhm(x);其中,fm(x)为因变量,x为自变量,hi(x)为基本算法,yi为权重,m为所述基本算法的个数。在本发明的一些实施方式中,所述hi(x)为决策树算法。在本发明的一些实施方式中,所述将所述关联性能数据集合和所述历史批量运行时长投入预设的学习模型中进行训练包括:将所述关联性能数据集合作为自变量,所述历史批量运行时长作为因变量,投入所述梯度提升树回归模型进行训练。在本发明的一些实施方式中,所述将所述关联性能数据集合和所述历史批量运行时长投入预设的学习模型中进行训练还包括:通过损失函数对所述梯度提升树回归模型进行修正。同时,本发明提供了一种预测主机的批量运行时长的系统,所述系统包括:数据获取模块,用于通过性能数据库获取所述主机批量运行时的性能数据集合,通过历史数据库获取历史批量运行时长;数据筛选模块,用于根据预设的筛选规则筛选所述性能数据集合中的元素,获取关联性能数据集合;模型训练模块,用于将所述关联性能数据集合和所述历史批量运行时长投入预设的学习模型中进行训练,获取时长预测模型;预测模块,用于根据所述时长预测模型对主机的批量运行时长进行预测。在本发明的一些实施方式中,所述数据筛选模块用于:对于所述性能数据集合中的元素,分别执行以下操作:将所述元素作为自变量,所述历史批量运行时长作为因变量,计算皮尔逊相关系数;若所述皮尔逊相关系数大于预设的阈值,则确定所述元素为关联元素;将筛选出的所有关联元素的集合作为所述关联性能数据集合。在本发明的一些实施方式中,所述数据筛选模块用于:对于所述性能数据集合中的元素,分别执行以下操作:将所述元素作为自变量,所述历史批量运行时长作为因变量,计算皮尔逊相关系数;若所述皮尔逊相关系数大于预设的阈值,则获取所述皮尔逊相关系数的统计量;根据所述统计量获取对应的概率值;判断所述概率值是否小于预设值,若小于,则确定所述元素为关联元素;将筛选出的所有关联元素的集合作为所述关联性能数据集合。在本发明的一些实施方式中,所述预设的学习模型为梯度提升树回归模型,模型公式如下:fm(x)=y1h1(x)+y2h2(x)+…+yihi(x)+…+ymhm(x);fm(x)=fm-1(x)+ymhm(x);其中,fm(x)为因变量,x为自变量,hi(x)为基本算法,yi为权重,m为所述基本算法的个数。在本发明的一些实施方式中,所述hi(x)为决策树算法。在本发明的一些实施方式中,所述模型训练模块用于:将所述关联性能数据集合作为自变量,所述历史批量运行时长作为因变量,投入所述梯度提升树回归模型进行训练。在本发明的一些实施方式中,所述模型训练模块还用于:通过损失函数对所述梯度提升树回归模型进行修正。此外,本发明实施方式提供了一种预测主机的批量运行时长的装置,包括存储器和处理器,所述存储器用于存储一条或多条计算机可读指令;所述处理器用于执行所述一条或多条计算机可读指令从而实现前述任一项的方法。本发明实施方式还提供了一种计算机存储介质,存储有一条或多条计算机程序,所述一条或多条计算机程序在执行时实现前述任一项的方法。本发明通过获取主机平台上业务批量作业运行期间的各类系统性能数据集合和历史批量运行时长,基于数据分析对可能影响批量运行时长的性能数据集合中的元素进行关联性分析,筛选出与批量运行时长强关联的关联性能数据集合,然后依据机器学习的理论,建立起关联性能数据集合和批量运行时长的决策树模型,并设置损失函数,依据偏差值对预测模型进行迭代优化,建立一套基于主机平台批量运行时长的预测模型。采用本发明不仅能处理线性关系的预测还能处理非线性关系的预测,且支持具有多种复杂变量的环境,适用性广泛的同时可以使预测结果更加精准,摆脱了现有方法中依据历史数据对比预测的不准确性,极大的提升了主机批量作业运行时间的预测科学性。此外,本发明采用损失函数,能够根据预测的结果不断自动调整预测模型的参数,使得预测本身具有机器学习的特点。附图说明为了便于理解本发明,以下通过具体实施方式并结合附图对本发明进行具体说明。图1是根据本发明一种实施方式的预测主机的批量运行时长的方法的流程示意图;图2是根据图1中的处理101的一种实施方式的流程示意图;图3是根据图1中的处理101的另一种实施方式的流程示意图;图4是在不同的基本算法的个数m下gtbr模型预测与实际情况的曲线图;图5是预测值与真实值的平均绝对误差与基本算法的个数m的关系图;图6是根据图1中的处理102的一种实施方式的流程示意图;图7是根据本发明一种实施方式的预测主机的批量运行时长的系统的框图。具体实施方式以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。图1是根据本发明一种实施方式的预测主机的批量运行时长的方法的流程示意图,在本发明的实施方式中,参照图1,该方法包括:100:通过性能数据库获取主机批量运行时的性能数据集合,通过历史数据库获取历史批量运行时长;101:根据预设的筛选规则筛选性能数据集合中的元素,获取关联性能数据集合;102:将关联性能数据集合和历史批量运行时长投入预设的学习模型中进行训练,获取时长预测模型;103:根据时长预测模型对主机的批量运行时长进行预测。在本发明的实施方式中,通过建立性能数据库优化对方案进行优化。具体的,通过定时触发配置在主机端的自动化采集工具采集相关性能数据集合,经过数据清理、解析和格式化处理后,以json格式写入文本文件并放入z/os文件系统。在本发明的实施方式中,通过运行基于python的数据处理程序,定时调用z/osmfrestapi向主机端请求数据,从而建立数据传输连接,获取采集到的性能数据集合。该python脚本具体如下:在本发明的实施方式中,数据处理程序获取到性能数据集合后,通过数据增量的方式将其写入分布式文件系统hdfs,构成性能数据数据库。由于批量作业运行在ibm大型主机平台之上,从技术架构上属于最上层的应用,因此基础硬件层、操作系统层的各种因素均会对批量作业的运行状态造成影响。此外,由于金融业务的特殊性,主机平台运行的都是核心业务应用,这就导致大量的外围业务应用系统与主机平台应用有各种数据交互,交互的方式以及频繁程度也会对主机平台的批量处理时长造成影响。除此以外,由于银行业务的复杂性和多样性,某些业务的变化也会影响批量的运行时长。因此,如果将所有影响批量运行时长的全部因素进行分析,则方法的复杂度及处理成本将会极大的增加。基于此,在本发明的实施方式中,通过对性能数据集合进行筛选,获取其中与批量处理时长之间具有强关联性的元素构成关联性能数据集合,从而简化方法、减少处理成本。参照图2,在本发明的实施方式中,给出了一种实现处理101的方法,具体如下:对于性能数据集合中的元素,分别执行以下操作:104::元素作为自变量,历史批量运行时长作为因变量,计算皮尔逊相关系数;105:若皮尔逊相关系数大于预设的阈值,则确定该元素为关联元素;106:将筛选出的所有关联元素的集合作为关联性能数据集合。相关关系是一种非确定性的关系,相关系数是研究变量之间相关程度的量,可以反映变量之间相关关系的密切程度,常用的系数是皮尔逊相关系数,计算公式如下:其中,存在两个变量x和y,一共有n个样本,其中xi和yi是它们的第i个样本值,和分别是它们的样本均值,其计算公式为:在本发明的实施方式中,分别以元素作为变量x,历史批量运行时长作为变量y计算皮尔逊相关系数。通常认为当计算出的皮尔逊相关系数大于0时,则表示两个变量之间密切相关,因此,在可选的实施方式中,预设的阈值可以为0。此外,由于历史批量运行时长作为因变量,除了受到强关联性的元素的影响外,还受会到其它随机元素的影响。因此,还需要排除筛选出的元素中的随机元素。因此,在本发明的实施方式中,还给出了另一种实现处理101的方法,可以在上述方法的基础上再一次进行筛选,以排除随机元素。参照图3,该方法包括:对于性能数据集合中的元素,分别执行以下操作:107:将元素作为自变量,历史批量运行时长作为因变量,计算皮尔逊相关系数;108:若皮尔逊相关系数大于预设的阈值,则获取皮尔逊相关系数的统计量;109:根据统计量获取对应的概率值;110:判断所述概率值是否小于预设值,若小于,则执行处理111,若大于,则选取另一个元素从处理107开始执行;111:确定所该元素为关联元素;112:将筛选出的所有关联元素的集合作为关联性能数据集合。在本发明的实施方式中,使用显著性检验的方法来排除随机元素,即预设值可以为显著性水平值。显著性水平是假设检验中的一个概念,是指当原假设为正确时人们却把它拒绝了的概率或风险。它是公认的小概率事件的概率值,必须在每一次统计检验之前确定,通常取α=0.05或α=0.01。这表明,当作出接受原假设的决定时,其正确的可能性(概率)为95%或99%。显著性水平代表的意义是在一次试验中小概率事物发生的可能性大小。在本发明的实施方式中,计算出皮尔逊相关系数r(x,y)的检验统计量t和该统计量t对应的概率值p,预设显著性水平值为α=0.01,当p<α时,即我们可以认为这两个变量有显著的相关性。统计量t的计算公式如下:其中,r为皮尔逊系数,n为样本数。并且统计量t服从自由度为(n-2)的t分布,依据t分布概率表即可得到概率值p。设置显著性水平为α=0.01,表示因变量有99%的概率与自变量有强相关性。当概率值p<α,即对应元素与历史批量运行时长的相关性是是显著的。因此,可以将该元素作为影响批量运行时长的强关联性元素。下面将结合具体例子对本实施方式所提供的实现处理101的方法进行描述。以每日批量运行时长runtime作为需要预测的变量,称之为因变量;另外,可能影响批量运行时长的因素诸多,由于交易量具有较强的周期性,这里以交易量相关性分析为例。以ncim、nkbs、nkds业务子系统某一年的数据为例(其余业务系统计算方法一样),假设xi为某日交易量,yi为当日业务子系统批量运行时长,分别计算出皮尔逊系数r(x,y)、概率值p,如表1所示:表1ncimnkbsnkdsruntime个案数365365365365皮尔逊相关系数r0.4640.4850.6361概率值p0.0000.0000.000可见,其皮尔逊系数分别为0.464、0.485、0.636,均大于0,表示这交易量与批量运行时长runtime呈现正相关关系,即这三个系统的交易量越多,批量运行时长runtime越长。预设显著性水平值α=0.01,概率值p<α,即ncim、nkbs、nkds的日交易量与批量运行时长runtime的相关性是是显著的。因此,我们在预测模型中可以将它们作为影响批量运行时长runtime的强关联性元素。获取到关联性能数据集合后,即可开始构建时长预测模型。在本发明的实施方式中,通过将关联性能数据集合作为自变量,历史批量运行时长作为因变量,投入预设的学习模型进行训练的方式构建时长预测模型。在可选的实施方式中,预设的学习模型可以为梯度提升树回归模型(gradienttreeboostingregression,简称gtbr),模型公式如下:fm(x)=y1h1(x)+y2h2(x)+…+yihi(x)+…+ymhm(x);fm(x)=fm-1(x)+ymhm(x);其中,fm(x)为因变量,x为自变量,hi(x)为基本算法,yi为权重,m为基本算法的个数。gtbr模型是一种基于经验误差学习的经典加法模型,在本发明的实施方式中,hi(x)可以选择决策树算法。在计算gtbr模型时,基本算法的权重yi初始设置为零,迭代时根据gtbr模型特点权重yi会自动更新,因此,需要关注的是模型中基本算法的个数,也就是m的大小,这也大大减轻了gtbr模型的复杂程度。图4示出了在不同的基本算法的个数m下gtbr模型预测与实际情况的曲线图,如图4所示,m分别取值1(圆型),10(五角星型),100(三角型),300(x型)。其中,实线是记录得到的实际批量运行时长(单位:秒),其他形状是m值不同的情况下得到的时长预测模型的预测值,观察图4可以发现,随着基本算法数量m的增加,预测曲线更加的接近实际曲线(实线)。图5是预测值与真实值的平均绝对误差与基本算法的个数m的关系图,随着基本算法的个数m的增加,平均绝对误差在不断的下降,这也证明的基本算法的个数m越多,模型的预测更加准确。同时,由图5可知,随着基本算法的个数m的增加,平均绝对误差下降的速度也在变慢,即平均绝对误差趋于收敛。直观表现就是m从1增加到150,平均绝对误差从411多降到167左右,降幅达到244;m从150增加到300,平均绝对误差只降到128,降幅只有39。虽然基本算法个数m越多,模型预测的平均绝对误差越小,但是模型复杂度越大,会消耗更多计算资源。因此,需要平衡平均绝对误差和模型复杂度,即基本算法的个数m尽可能的小,同时平均绝对误差也在可接受的范围内使模型复杂度小,从而减少计算资源的消耗。同时,为了最终训练得出的时长预测模型更加精准,在gtbr模型中每一次迭代计算基本算法时,使用损失函数对其进行修正。在本发明的实施方式中,选择均方误差函数(meanabsoluteerror,简称mse)作为损失函数,其计算公式如下:其中,yi是第i个历史批量运行时长,是它的的预测,n是样本数量。根据经验风险最小化准则(empiricalriskminimization,简称erm),我们需要使gtbr模型在迭代计算基本算法时,它的损失函数——均方误差最小。基于此,在本发明的实施方式中,给出了一种实现处理102的方法。参照图6,该方法包括:113:将关联性能数据集合作为自变量,历史批量运行时长作为因变量,投入gtbr模型中进行训练;114:gtbr模型每次进行迭代运算更新时长预测模型时,根据erm准则和损失函数计算相应的均方误差;115:判断均方误差是否小于预设的误差阈值,若小于,则执行处理117,若不小于,则执行处理116;116:判断基本算法的个数m是否小于预设的最大值,若小于,则返回处理114,若不小于,则执行处理117;117:输出时长预测模型。由此,构建出精准的时长预测模型,对主机的批量运行时长进行预测。本发明通过获取主机平台上业务批量作业运行期间的各类系统性能数据集合和历史批量运行时长,基于数据分析对可能影响批量运行时长的性能数据集合中的元素进行关联性分析,筛选出与批量运行时长强关联的关联性能数据集合,然后依据机器学习的理论,建立起关联性能数据集合和批量运行时长的决策树模型,并设置损失函数,依据偏差值对预测模型进行迭代优化,建立一套基于主机平台批量运行时长的预测模型。采用本发明不仅能处理线性关系的预测还能处理非线性关系的预测,且支持具有多种复杂变量的环境,适用性广泛的同时可以使预测结果更加精准,摆脱了现有方法中依据历史数据对比预测的不准确性,极大的提升了主机批量作业运行时间的预测科学性。此外,本发明采用损失函数,能够根据预测的结果不断自动调整预测模型的参数,使得预测本身具有机器学习的特点。图7是根据本发明一种实施方式的预测主机的批量运行时长的系统1的框图,参照图7,该系统1包括:数据获取模块11,用于通过性能数据库获取所述主机批量运行时的性能数据集合,通过历史数据库获取历史批量运行时长;数据筛选模块12,用于根据预设的筛选规则筛选性能数据集合中的元素,获取关联性能数据集合;模型训练模块13,用于将关联性能数据集合和历史批量运行时长投入预设的学习模型中进行训练,获取时长预测模型;预测模块14,用于根据时长预测模型对主机的批量运行时长进行预测。在本发明的实施方式中,数据筛选模块12用于对于性能数据集合中的元素,分别执行以下操作:将元素作为自变量,历史批量运行时长作为因变量,计算皮尔逊相关系数;若皮尔逊相关系数大于预设的阈值,则确定该元素为关联元素;将筛选出的所有关联元素的集合作为关联性能数据集合。在本发明可选的实施方式中,数据筛选模块12用于对于性能数据集合中的元素,分别执行以下操作:将元素作为自变量,历史批量运行时长作为因变量,计算皮尔逊相关系数;若皮尔逊相关系数大于预设的阈值,则获取皮尔逊相关系数的统计量;根据统计量获取对应的概率值;判断概率值是否小于预设值,若小于,则确定该元素为关联元素;将筛选出的所有关联元素的集合作为关联性能数据集合。在本发明的实施方式中,预设的学习模型为梯度提升树回归模型,模型公式如下:fm(x)=y1h1(x)+y2h2(x)+…+yihi(x)+…+ymhm(x);fm(x)=fm-1(x)+ymhm(x);其中,fm(x)为因变量,x为自变量,hi(x)为基本算法,yi为权重,m为基本算法个数。在本发明的实施方式中,上述hi(x)为决策树算法。在本发明的实施方式中,模型训练模块13用于将关联性能数据集合作为自变量,历史批量运行时长作为因变量,投入该梯度提升树回归模型进行训练。在本发明的实施方式中,模型训练模块13还用于通过损失函数对梯度提升树回归模型进行修正。可选的,本发明实施方式提供了一种预测主机的批量运行时长的装置,该装置包括存储器,用于存储一条或多条计算机可读指令;处理器,用于执行所述一条或多条计算机可读指令从而实现本发明前述实施方式或实现方式所提供的预测主机的批量运行时长的方法。可选地,在本发明实施方式的一种实现方式中,所述装置还可以包括用于进行数据通信的输入输出接口。例如,所述装置可以是计算机、智能终端、服务器等。本发明实施方式还提供了一种计算机存储介质,存储有一条或多条计算机程序,用于在执行时实现本发明前述实施方式或实现方式提供的预测主机的批量运行时长的方法。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。虽然本文举例描述了一些实施方式,但是,在不脱离本发明实质的前提下,可以对这些实施方式进行各种变形,所有这些变形仍属于本发明的构思,并且落入本发明权利要求所限定的保护范围。本文所公开的具体实施方式仅用于举例说明本发明,对于本领域技术人员而言,显然可以根据本文的教导进行各种修改,可以采用各种等同的方式实施本发明,因此,本发明上述公开的特定的实施方式仅仅是示例性的,其保护范围不受在此公开的结构或设计的细节所限,除非在权利要求中另有说明。因此,上述公开的特定的示例性的实施方式可进行各种替换、组合或修改,其所有的变形都落入本文公开的范围内。在缺少本文没有具体公开的任何元件或缺少本文公开的任选的部件的情况下,本文示例性公开的预测主机的批量运行时长的方法、系统、装置及存储介质仍可适当地实施。上述公开的所有的数值和范围也可进行一定变化。每当公开了具有下限和上限的数值范围,落入此范围内的任何数值及任何被包含的范围都被具体地公开了。具体而言,本文公开的数值的任一范围均可理解为列举了包含在较宽数值范围内的任一数值和范围。同样,除非申请人明确且清楚地另有定义,权利要求中的术语具有它们的清楚、通常的含义。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对
背景技术
做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。此外,权利要求书中的部件的数量包括一个或至少一个,除非另有说明。如果本发明中的用词或术语与其它文献中的用法或含义存在不一致,则应当以与本发明所定义的为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1