业务数据的工作流故障诊断方法与装置、介质和电子设备与流程

文档序号:15984165发布日期:2018-11-17 00:41阅读:143来源:国知局

本公开涉及计算机领域,具体地,涉及一种业务数据的工作流故障诊断方法与装置、介质和电子设备。

背景技术

现有的工作流引擎需要通过人工干预来识别业务数据是否出现了故障。也即,需要根据具体的业务场景,通过硬编码的方式来诊断业务数据是否出现了故障。因此其适应性差,也即在每次诊断的时候都需要根据具体的业务来重新编写具体的硬编码,这不仅费时费力,还降低了流程处理性能。



技术实现要素:

本公开的目的是提供一种业务数据的工作流故障诊断方法与装置、介质和电子设备,其支持业务数据的智能故障诊断,既不需要人工干预,又能够自动智能地诊断业务数据实例是否出现了故障,尤其是对于复杂多变的多维业务数据实例而言,更是能够自动智能地诊断其是否出现了故障,因此不仅适应性强,而且省时省力,提高了流程处理性能。

根据本公开的第一实施例,提供一种业务数据的工作流故障诊断方法,该方法包括:接收业务数据实例;计算所述业务数据实例与业务数据样本实例之间的相似度;确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别;基于所属的类别诊断所述业务数据实例是否出现了故障。

可选地,所述计算所述业务数据实例与业务数据样本实例之间的相似度,包括:计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离;基于所计算的欧式距离来确定所述业务数据实例与所述业务数据样本实例之间的相似度。

可选地,所述计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离,包括:基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离。

可选地,所述基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离,通过以下公式来实现:

其中,l欧式距离是所述业务数据实例与所述业务数据样本实例之间的欧氏距离,wi是所述业务数据实例的第i维数据的权重,σi是所述业务数据实例的第i维数据与所述业务数据样本实例的第i维数据之间的均方根误差,n是所述业务数据实例的维度,而且w1+w2+…+wn=1。

可选地,该方法还包括:利用交叉验证法来确定k的值。

可选地,k的值为奇数。

可选地,所述业务数据样本实例所属的类别包括故障业务数据实例和正确业务数据实例;所述基于所属的类别诊断所述业务数据实例是否出现了故障,包括:在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于故障业务数据实例的情况下,诊断所述业务数据实例出现了故障;在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于正确业务数据实例的情况下,诊断所述业务数据实例正常。

根据本公开的第二实施例,提供一种业务数据的工作流故障诊断装置,该装置包括:接收模块,用于接收业务数据实例;相似度计算模块,用于计算所述业务数据实例与业务数据样本实例之间的相似度;类别确定模块,用于确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别;故障诊断模块,用于基于所属的类别诊断所述业务数据实例是否出现了故障。

可选地,所述相似度计算模块包括:欧式距离计算子模块,用于计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离;相似度确定子模块,用于基于所计算的欧式距离来确定所述业务数据实例与所述业务数据样本实例之间的相似度。

可选地,所述欧式距离计算子模块,还用于基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离。

可选地,所述欧式距离计算子模块通过以下公式来基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离:

其中,l欧式距离是所述业务数据实例与所述业务数据样本实例之间的欧氏距离,wi是所述业务数据实例的第i维数据的权重,σi是所述业务数据实例的第i维数据与所述业务数据样本实例的第i维数据之间的均方根误差,n是所述业务数据实例的维度,而且w1+w2+…+wn=1。

可选地,该装置还包括:k值确定模块,用于利用交叉验证法来确定k的值。

可选地,k的值为奇数。

可选地,所述业务数据样本实例所属的类别包括故障业务数据实例和正确业务数据实例;所述故障诊断模块包括故障诊断子模块,用于:在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于故障业务数据实例的情况下,诊断所述业务数据实例出现了故障;在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于正确业务数据实例的情况下,诊断所述业务数据实例正常。

根据本公开的第三实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开第一实施例所述方法的步骤。

根据本公开的第四实施例,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现根据本公开第一实施例所述方法的步骤。

通过采用上述技术方案,由于能够计算接收到的业务数据实例与业务数据样本实例之间的相似度,确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别并基于所属的类别诊断所述业务数据实例是否出现了故障,所以在整个故障诊断过程中,既不需要人工干预,又能够自动智能地诊断业务数据实例是否出现了故障,尤其是对于复杂多变的多维业务数据实例而言,更是能够自动智能地诊断其是否出现了故障,因此不仅适应性强,减小了业务编码量,而且还省时省力,提高了流程处理性能和效率。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1示出了根据本公开一种实施例的业务数据的工作流故障诊断方法的流程图。

图2示出了根据本公开一种实施例的业务数据的工作流故障诊断装置的示意框图。

图3示出了根据本公开又一实施例的业务数据的工作流故障诊断装置中的相似度计算模块的示意框图。

图4示出了根据本公开又一实施例的业务数据的工作流故障诊断装置的示意框图。

图5是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1示出了根据本公开一种实施例的业务数据的工作流故障诊断方法的流程图,如图1所示,该方法可以包括以下步骤。

在步骤s11中,接收业务数据实例。

由于一张业务表单可能会包含n组业务数据实例,所以在该步骤中,需要接收一组完整的业务数据实例,然后才能转入步骤s12。

在步骤s12中,计算所述业务数据实例与业务数据样本实例之间的相似度;

在步骤s13中,确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别;

在步骤s14中,基于所属的类别诊断所述业务数据实例是否出现了故障。

通过采用上述技术方案,由于能够计算接收到的业务数据实例与业务数据样本实例之间的相似度,确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别并基于所属的类别诊断所述业务数据实例是否出现了故障,所以在整个故障诊断过程中,既不需要人工干预,又能够自动智能地诊断业务数据实例是否出现了故障,尤其是对于复杂多变的多维业务数据实例而言,更是能够自动智能地诊断其是否出现了故障,因此不仅适应性强,减小了业务编码量,而且还省时省力,提高了流程处理性能和效率。

在一种可能的实施方式中,步骤s12中的计算所述业务数据实例与业务数据样本实例之间的相似度,可以包括:s12a、计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离;s12b、基于所计算的欧式距离来确定所述业务数据实例与所述业务数据样本实例之间的相似度。

举例而言,假设业务数据实例是包括x、y和z三维业务数据的三维业务数据实例,则:首先,计算业务数据实例的x维业务数据与各个业务数据样本实例的x维业务数据的例如均方根误差、业务数据实例的y维业务数据与各个业务数据样本实例的y维业务数据的例如均方根误差和业务数据实例的z维业务数据与各个业务数据样本实例的z维业务数据的例如均方根误差;然后,针对每个业务数据样本实例,将计算得到的三个均方根误差求和,得到业务数据实例与各个业务数据样本实例之间的欧式距离;然后,依据欧式距离的大小来确定业务数据实例与各个业务数据样本实例之间的相似度,例如欧式距离越小,说明相似度越高,欧式距离越大,说明相似度越小。

本领域技术人员应当理解的是,上述的均方根误差仅是示例,本公开对此不做限制。

进一步地,在实际的应用场景中,对业务数据实例的各维数据的看重点也有可能会不一样,例如假设现在需要设计一款发动机,则业务数据实例是发动机业务数据实例,该发动机业务数据实例的维度包括温度数据维度、马力数据维度、长度数据维度、宽度数据维度和高度数据维度,但是由于要求最终设计出的发动机的马力足够大,所以更为看重的是马力维度数据。则在这种情况下,就需要考虑业务数据实例的各维数据的权重,以便能够设计出更符合要求的产品。因此,基于这种考虑,步骤s12a中的计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离可以包括:基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离。例如,可以通过以下公式来计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离,:

其中,l欧式距离是所述业务数据实例与所述业务数据样本实例之间的欧氏距离,wi是所述业务数据实例的第i维数据的权重,σi是所述业务数据实例的第i维数据与所述业务数据样本实例的第i维数据之间的均方根误差,n是所述业务数据实例的维度,而且w1+w2+…+wn=1。

另外,每一维度的权重值可以在对业务数据样本实例进行训练的时候设置,也可以在根据本公开实施例的工作流故障诊断流程运行期间进行设置。

仍然以前述的发动机业务数据实例为例,假设温度数据维度的权重为w1、计算出的均方根误差为σ1,马力数据维度的权重为w2、计算出的均方根误差为σ2,长度数据维度的权重为w3、计算出的均方根误差为σ3,宽度数据维度的权重为w4、计算出的均方根误差为σ4,高度数据维度的权重为w5、计算出的均方根误差为σ5,则业务数据实例与业务数据样本实例之间的欧氏距离为:w1*σ1+w2*σ2+w3*σ3+w4*σ4+w5*σ5。本领域技术人员应当理解的是,以上关于利用每一维度的权重值来计算欧式距离的公式仅是示例,本公开对此不做限制。

另外,由于业务不同,则在在步骤s13中确定与业务数据实例最相似的前k个业务数据样本实例所属的类别时的k的值也会不同,所以最好在工作流故障诊断方法运行之前就根据业务来确定k的值。其中一种方法就是利用交叉验证法来确定k的值。也即:首先预置较小的k值,且k应为奇数;然后,将业务数据样本实例划分成业务数据训练样本实例和业务数据测试样本实例两部分,且业务数据训练样本实例占多数;然后,将业务数据测试样本实例输入工作流引擎中,利用图1所示的方法来诊断业务数据测试样本实例是否出现故障;如果能够诊断出业务数据测试样本实例是否出现了故障,则k的值就被确定下来了,反之,如果不能诊断出业务数据测试样本实例是否出现了故障,则需要增加k的值且需要保持增加后的k的值仍然为奇数,并继续利用图1所示的方法来诊断业务数据测试样本实例是否出现故障,直至能够诊断出业务数据测试样本实例是否出现了故障为止,此时也就确定了k的值。

在一种可能的实施方式中,所述业务数据样本实例所属的类别包括故障业务数据实例和正确业务数据实例。则步骤s14中所述的基于所属的类别诊断所述业务数据实例是否出现了故障,可以包括:在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于故障业务数据实例的情况下,诊断所述业务数据实例出现了故障;在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于正确业务数据实例的情况下,诊断所述业务数据实例正常。由于需要基于业务数据样本实例是属于正确业务数据实例还是故障业务数据实例来诊断业务数据实例是否出现了故障,所以在前面描述交叉验证法时要求k为奇数,因为如果k为偶数,则会出现在工作流故障诊断方法运行期间前k个业务数据样本实例中的一半业务数据样本实例是故障业务数据实例、另一半业务数据样本实例是正确业务数据实例的情况下,在这种情况下,是无法诊断业务数据实例是否出现了故障的。

另外,当诊断出业务数据实例正常时,可以继续诊断下一组业务数据实例是否出现了故障;当诊断出业务数据实例出现了故障时,可以要求重新启动工作流故障诊断流程、驳回以回退到工作流故障诊断流程中的靠前节点或者进行人工干预等等。

图2示出了根据本公开一种实施例的业务数据的工作流故障诊断装置的示意框图。如图2所示,该装置可以包括:接收模块21,用于接收业务数据实例;相似度计算模块22,用于计算所述业务数据实例与业务数据样本实例之间的相似度;类别确定模块23,用于确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别;故障诊断模块24,用于基于所属的类别诊断所述业务数据实例是否出现了故障。

通过采用上述技术方案,由于相似度计算模块22能够计算接收到的业务数据实例与业务数据样本实例之间的相似度,类别确定模块23能够确定与所述业务数据实例最相似的前k个所述业务数据样本实例所属的类别以及故障诊断模块24能够基于所属的类别诊断所述业务数据实例是否出现了故障,所以在整个故障诊断过程中,既不需要人工干预,又能够自动智能地诊断业务数据实例是否出现了故障,尤其是对于复杂多变的多维业务数据实例而言,更是能够自动智能地诊断其是否出现了故障,因此不仅适应性强,减小了业务编码量,而且还省时省力,提高了流程处理性能和效率。

可选地,如图3所示,所述相似度计算模块22可以包括:欧式距离计算子模块22a,用于计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离;相似度确定子模块22b,用于基于所计算的欧式距离来确定所述业务数据实例与所述业务数据样本实例之间的相似度。

可选地,所述欧式距离计算子模块22a还用于基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离。

可选地,所述欧式距离计算子模块22a通过以下公式来基于所述业务数据实例的每维数据的权重,计算所述业务数据实例与所述业务数据样本实例之间的欧氏距离:

其中,l欧式距离是所述业务数据实例与所述业务数据样本实例之间的欧氏距离,wi是所述业务数据实例的第i维数据的权重,σi是所述业务数据实例的第i维数据与所述业务数据样本实例的第i维数据之间的均方根误差,n是所述业务数据实例的维度,而且w1+w2+…+wn=1。

可选地,如图4所示,根据本公开实施例的装置还可以包括:k值确定模块25,用于利用交叉验证法来确定k的值。

可选地,k的值为奇数。

可选地,所述业务数据样本实例所属的类别包括故障业务数据实例和正确业务数据实例;所述故障诊断模块包括故障诊断子模块,用于:在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于故障业务数据实例的情况下,诊断所述业务数据实例出现了故障;在前k个所述业务数据样本实例中的多数所述业务数据样本实例属于正确业务数据实例的情况下,诊断所述业务数据实例正常。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种电子设备700的框图。如图5所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的业务数据的工作流故障诊断方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的业务数据的工作流故障诊断方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的业务数据的工作流故障诊断方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的业务数据的工作流故障诊断方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1