一种预测方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及一种预测方法及装置。
背景技术
伴随着***业务的迅猛发展,***越来越庞大,在底层起支撑作用的***平台数量就达数百,这些平台每周的代码、数据库和配置变更等已达数千,任何一个环节的疏忽、错误,都可能导致***风险,给公司带来巨大损失。
在实际使用时,往往由于一次错误的代码变更、配置变更等导致***出现故障。在出现故障之后,需要在最短时间内恢复***的正常运行状态。出现问题后,应急人员在定位问题时还是采用最原始的线上机器查询日志的方式,由于此种方式效率低下,导致***恢复正常的时间较长。
发明内容
有鉴于此,本说明书一个或多个实施例提供了一种预测方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本说明书一个或多个实施例公开了一种预测方法,所述方法包括:
在检测到***指标的跌幅大于等于第一阈值的情况下,将***指标的跌幅大于等于第一阈值的时刻标记为第一时刻,获取所述第一时刻之前的第一时间范围内的发生变更的第一事件;
计算各个发生变更的第一事件在所述第一时间范围内的时间衰减权重系数;
根据各个所述发生变更的第一事件的时间衰减权重系数,以及各个发生变更的第一事件引起所述***指标下跌的先验概率,计算得到各个发生变更的第一事件引起所述***指标下跌的后验概率;
确定第一事件中后验概率大于等于概率阈值的第二事件,将所述第二事件作为引起所述***指标下跌的主要事件。
本说明书一个或多个实施例公开了一种预测装置,所述装置包括:
第一获取模块,用于在检测到***指标的跌幅大于等于第一阈值的情况下,将***指标的跌幅大于等于第一阈值的时刻标记为第一时刻,获取所述第一时刻之前的第一时间范围内的发生变更的第一事件;
权重系数计算模块,用于计算各个发生变更的第一事件在所述第一时间范围内的时间衰减权重系数;
后验概率获取模块,用于根据各个所述发生变更的第一事件的时间衰减权重系数,以及各个发生变更的第一事件引起所述***指标下跌的先验概率,计算得到各个发生变更的第一事件引起所述***指标下跌的后验概率;
确定模块,用于确定第一事件中后验概率大于等于概率阈值的第二事件,将所述第二事件作为引起所述***指标下跌的主要事件。
本说明书一个或多个实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述预测方法的步骤。
本说明书一个或多个实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述预测方法的步骤。
本说明书提供的预测方法及装置,通过计算各个发生变更的第一事件在第一时间范围内的时间衰减权重系数,根据各个所述第一事件的时间衰减权重系数,以及各个第一事件引起***指标下跌的先验概率,计算并得到引起***指标下跌的后验概率大于概率阈值的第二事件,从而减小应急人员定位问题需要的分析范围,提高应急效率。
附图说明
图1是本说明书一个或多个实施例的计算设备的结构示意图;
图2是本说明书一个或多个实施例的预测方法的流程示意图;
图3是本说明书一个或多个实施例的预测方法的流程示意图;
图4是本说明书一个或多个实施例的预测方法的具体实例图;
图5是本说明书一个或多个实施例的预测装置的模块结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书一个或多个实施例。但是本说明书一个或多个实施例能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书一个或多个实施例内涵的情况下做类似推广,因此本说明书一个或多个实施例不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本说明书中,提供了一种预测方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
首先,对本说明书一个或多个实施例中涉及的术语进行说明。
事件变更(或变更事件):代码发布或者配置变更等引起线上***状态发生改变的操作集合,统称为事件变更。
业务关键指标(Key Performance Indicators,KPI):比如支付成功率、CPU占用率、内存占用率等关键的***指标。
异动:线上***发生了不符合历史规律的变化。注意异动和异常的区别,异常一定是出了问题(是由人工分析确认的),而异动仅仅是发生了不符合历史规律的变化。异常一定是异动,而异动不一定是异常。例如:新业务上线,是异动但是不是异常。
先验概率(prior probability):先验概率是指根据以往经验和分析得到的概率,如全概率公式,它往往作为“由因求果”问题中的“因”出现的概率。
后验概率(posterior probability):后验概率是指在得到“结果”的信息后重新修正的概率,是“由因求果”问题中的“果”。先验概率与后验概率有不可分割的联系,后验概率的计算要以先验概率为基础。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据,网络160用于接收数据库150存储的数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本说明书一个或多个实施例的预测方法的示意性流程图,包括步骤202至步骤208:
202、在检测到***指标的跌幅大于等于第一阈值的情况下,将***指标的跌幅大于等于第一阈值的时刻标记为第一时刻,获取第一时刻之前的第一时间范围内的发生变更的第一事件。
其中,第一阈值可以根据实际需求来设定,例如设定为5%。那么,当***指标的跌幅大于等于5%的情况下,则认为***发生一次异动。
另外,第一时间范围可以根据需要来设定,例如24小时。以第一时刻为2017年9月12日22点35分00秒为例,那么本步骤中,获取2017年9月11日22点35分00秒~2017年9月12日22点35分00秒的时间范围内的发生变更的事件。
需要注意的是,***指标包括支付成功率、CPU占用率、内存占用率等多个指标。在本步骤中,检测***指标的跌幅大于等于第一阈值,并非专门指的是其中一个***指标,而指的是检测任一***指标。
204、计算各个发生变更的第一事件在所述第一时间范围内的时间衰减权重系数。
本步骤中,发生变更的第一事件在第一时间范围内的时间衰减权重系数,通过以下公式(1)计算:
N(t)=N0e-λt (1)
其中,N0为初始量,即时间为0的时刻的时间衰减权重系数;
t为时间;λ为系数。
本步骤中,N0为1,λ为2,均为经验值。
206、根据各个所述发生变更的第一事件的时间衰减权重系数,以及各个发生变更的第一事件引起所述***指标下跌的先验概率,计算得到各个发生变更的第一事件引起所述***指标下跌的后验概率。
其中,参见图3,获取各个发生变更的第一事件引起所述***指标下跌的先验概率,包括:
302、在检测到***指标的跌幅大于等于第二阈值的情况下,将***指标的跌幅大于等于第二阈值的时刻标记为第二时刻,获取第二时刻之前的第二时间范围内所有跌幅大于等于第二阈值的***指标以及发生变更的第一事件。
其中,第二阈值可以根据实际需求来设定,例如设定为4%。
另外,第一时间范围可以根据需要来设定,例如5分钟。以第一时刻为2017年8月12日22点35分00秒为例,那么本步骤中,获取2017年8月12日22点30分00秒~2017年8月12日22点35分00秒的时间范围内所有跌幅大于等于4%的***指标以及发生变更的第一事件。
需要注意的是,在获取先验概率的过程中,在其中一个***指标的跌幅大于等于第二阈值的情况下,并非仅获取第二时刻之前的第二时间范围内发生变更的第一事件,而是需要获取第二时间范围内的所有跌幅大于等于第二阈值的***指标以及发生变更的第一事件。
304、计算每个所述跌幅大于等于第二阈值的***指标与每个所述发生变更的第一事件之间的相关系数。
本步骤304中,计算每个所述跌幅大于等于第二阈值的***指标与每个所述发生变更的第一事件之间的相关系数,具体包括:根据所述第二时间范围内的每个所述跌幅大于等于第二阈值的***指标与每个所述发生变更的第一事件之间的关联次数,计算得到所述跌幅大于等于第二阈值的***指标与所述发生变更的第一事件的相关系数。
相关系数的算法包括多种,本实施例以皮尔逊卡方检验来计算相关系数。
具体地,其中一个所述跌幅大于等于第二阈值的***指标与其中一个所述发生变更的第一事件之间的相关系数,通过以下公式(2)计算:
X2=[N(O11O22-O12O21)2]/[(O11+O12)(O11+O21)(O12+O22)(O21+O22)] (2)
其中,
N表示第二时间范围内的所有发生变更的第一事件与所有跌幅大于等于第二阈值的***指标的关联次数总和;
O11表示所述第二时间范围内的所述其中一个发生变更的第一事件与跌幅大于等于第二阈值的所述其中一个***指标的关联次数;
O12表示所述第二时间范围内的其他发生变更的第一事件与跌幅大于等于第二阈值的所述其中一个***指标的关联次数;
O21表示所述第二时间范围内的所述其中一个发生变更的第一事件与跌幅大于等于第二阈值的其他***指标的关联次数;
O22表示所述第二时间范围内的所述其他发生变更的第一事件与跌幅大于等于第二阈值的所述其他***指标的关联次数。
通过公式(1),可以确定任意一个跌幅大于等于第二阈值的***指标与任意一个发生变更的第一事件之间的相关系数。
306、根据所述相关系数确定各个发生变更的第一事件引起所述***指标下跌的先验概率。
本步骤中,根据所述相关系数确定先验概率可以通过查表获得。例如通过上述公式(2)获得一个***指标与一个发生变更的第一事件之间的皮尔逊相关系数为3.841,经过查表获得3.841对应的置信水平为0.05,那么该发生变更的第一事件引起***指标下跌的先验概率为5%。
208、确定第一事件中后验概率大于等于概率阈值的第二事件,将所述第二事件作为引起所述***指标下跌的主要事件。
其中,概率阈值可以根据需求设置,例如设置概率阈值为10%。
所述发生变更的第一事件引起所述***指标下跌的后验概率,通过以下公式(3)计算:
P=N(t)*Q (3)
其中,N(t)为所述发生变更的第一事件的时间衰减权重系数;
P为所述发生变更的第一事件引起所述***指标下跌的后验概率;
Q为所述发生变更的第一事件引起所述***指标下跌的先验概率。
另外,在确定后验概率大于等于概率阈值的所述第二事件后,可以按照后验概率从大到小的顺序输出,以便于用户查看,并进行后续处理。
本说明书提供的预测方法,通过计算各个发生变更的第一事件在第一时间范围内的时间衰减权重系数,根据各个所述第一事件的时间衰减权重系数,以及各个第一事件引起***指标下跌的先验概率,计算并得到引起***指标下跌的后验概率大于概率阈值的第二事件,从而减小应急人员定位问题需要的分析范围,提高应急效率。
为了便于理解,下面以一具体实例进行说明。参见图4,本说明书一个或多个实施例中的预测方法包括:
402、在检测到***指标的跌幅大于等于第二阈值的情况下,将***指标的跌幅大于等于第二阈值的时刻标记为第二时刻,获取所述第二时刻之前的第二时间范围t2内所有跌幅大于等于第二阈值的***指标以及发生变更的第一事件。
本例中,第二时间范围t2内发生变更的第一事件包括第一事件A和第一事件B。
本例中,跌幅大于等于第二阈值的***指标包括KPI1~KPI3。
404、计算每个所述跌幅大于等于第二阈值的***指标KPI1~KPI3与每个所述发生变更的第一事件A~B之间的相关系数。
具体地,通过上述公式(2)可以计算得到***指标与发生变更的第一事件之间的相关系数。
406、根据所述相关系数确定各个发生变更的第一事件A~B引起所述***指标KPI1~KPI3下跌的先验概率。
第一事件A引起***指标KPI1下跌的先验概率为80%,第一事件B引起***指标KPI1下跌的先验概率为20%;
第一事件A引起***指标KPI2下跌的先验概率为30%,第一事件B引起***指标KPI2下跌的先验概率为70%;
第一事件A引起***指标KPI3下跌的先验概率为50%,第一事件B引起***指标KPI3下跌的先验概率为50%。
上述步骤402~406为各个发生变更的第一事件引起***指标下跌的先验概率的步骤。在得到先验概率后,可以将先验概率预存于本地***的存储空间,并在下述步骤中计算后验概率的时候被调用。
408、在检测到***指标KPI1的跌幅大于等于第一阈值的情况下,将***指标的跌幅大于等于第一阈值的时刻标记为第一时刻,获取所述第一时刻之前的第一时间范围内的发生变更的第一事件A。
410、计算得到第一事件A引起所述***指标KPI1下跌的后验概率。
具体地,通过上述公式(1)计算第一事件A在所述第一时间范围内的时间衰减权重系数,然后根据第一事件A的时间衰减权重系数,以及第一事件A引起所述***指标KPI1下跌的先验概率,通过上述公式(3)计算得到第一事件A引起所述***指标KPI1下跌的后验概率。
本例中,得到第一事件A引起所述***指标KPI1下跌的后验概率为100%。将第一事件A作为引起***指标下跌的第二事件。
通过本说明书一个或多个实施例的预测方法,在出现问题的时候,可以预测某个***指标下跌是由于哪类事件变更引起的,从而减小应急人员定位问题需要的分析范围,提高应急效率。
本说明书一个或多个实施例还公开了一种预测装置,参见图5,所述装置包括:
第一获取模块502,用于在检测到***指标的跌幅大于等于第一阈值的情况下,将***指标的跌幅大于等于第一阈值的时刻标记为第一时刻,获取所述第一时刻之前的第一时间范围内的发生变更的第一事件;
权重系数计算模块504,用于计算各个发生变更的第一事件在所述第一时间范围内的时间衰减权重系数;
后验概率获取模块506,用于根据各个所述发生变更的第一事件的时间衰减权重系数,以及各个发生变更的第一事件引起所述***指标下跌的先验概率,计算得到各个发生变更的第一事件引起所述***指标下跌的后验概率;
确定模块508,用于确定第一事件中后验概率大于等于概率阈值的第二事件,将所述第二事件作为引起所述***指标下跌的主要事件。
可选地,本说明书一个或多个实施例公开的预测装置还包括:
第二获取模块510,用于在检测到***指标的跌幅大于等于第二阈值的情况下,将***指标的跌幅大于等于第二阈值的时刻标记为第二时刻,获取所述第二时刻之前的第二时间范围内所有跌幅大于等于第二阈值的***指标以及发生变更的第一事件;
相关系数计算模块512,用于计算每个所述跌幅大于等于第二阈值的***指标与每个所述发生变更的第一事件之间的相关系数;
先验概率获取模块514,用于根据所述相关系数确定各个发生变更的第一事件引起所述***指标下跌的先验概率。
可选地,所述相关系数计算模块512根据所述第二时间范围内的每个所述跌幅大于等于第二阈值的***指标与每个所述发生变更的第一事件之间的关联次数,计算得到所述跌幅大于等于第二阈值的***指标与所述发生变更的第一事件的相关系数。
具体地,所述相关系数计算模块512计算得到其中一个所述跌幅大于等于第二阈值的***指标与其中一个所述发生变更的第一事件之间的相关系数,通过上述公式(2)进行计算。
可选地,所述权重系数计算模块504计算上述发生变更的第一事件在所述第一时间范围内的时间衰减权重系数,通过上述公式(1)进行计算。
可选地,所述后验概率获取模块506获取所述发生变更的第一事件引起所述***指标下跌的后验概率,通过上述公式(3)进行计算。
本说明书提供的预测装置,通过计算各个发生变更的第一事件在第一时间范围内的时间衰减权重系数,根据各个所述第一事件的时间衰减权重系数,以及各个第一事件引起***指标下跌的先验概率,计算并得到引起***指标下跌的后验概率大于概率阈值的第一事件,从而减小应急人员定位问题需要的分析范围,提高应急效率。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述预测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的预测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述预测方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。