基于multi_DBNs模型的大服务组件系统在线可靠性预测方法与流程

文档序号:11231410阅读:243来源:国知局
本发明涉及基于服务组合的大服务环境下sos应用提供方法及关键
技术领域
:,特别是涉及基于multi_dbns模型的大服务组件系统在线可靠性预测方法。
背景技术
::面向国家重大战略需求,近年来我国在航空航天、交通运输、能源动力等领域对大规模复杂软件系统的应用需求逐渐凸显。作为构建大规模复杂软件系统的一种重要思想,“系统的系统”(systemofsystems,sos)逐渐引起国内外研究及工业应用领域有关人员的高度重视。sos一般是通过网络集成多个已有的各自独立的组件系统,从而形成一个新的系统,满足用户更为复杂的应用需求。这一应用最早出现在海湾战争期间,多国部队各自独立的战斗系统,最终被集成为一个可以联合作战的系统的系统。与传统的基于网络的系统的主要区别在于,sos不仅需要多个组件之间实现协作,完成一个共同的目标,更为重要的时,sos需要具有更好的性能,更高的运行稳定性,从而实现组件系统之间的协同工作。sos组件系统之间通过互联网(也可能是组织的内部网络)进行调用,进行实现集成。所构建的系统较单一的软件系统在构成成分上具有更粗的粒度,更为强调各组件系统之间的交互、协作与通信,更为注重整个系统平台的监控、检测与保障。系统运行在高度动态的环境下(例如网络环境的变化、组件系统质量的波动甚至异常),单个系统的变化(甚至错误)可能会产生级联效应,导致整个系统不能工作。因此,针对基于服务组合的sos系统的运行时的软件质量保障问题是sos领域研究和应用中一个需要迫切解决的极具挑战性的问题。本专利将以如何保障服务系统的可靠性为出发点,研究面向sos中大服务组件系统的在线可靠性时间序列预测问题,为更好地开展基于服务组合的大服务场景下sos应用提供方法及关键技术方面的支撑。由此看来,本发明具有重要的理论意义与实际应用价值。技术实现要素:为了解决上述存在的问题,本发明提供基于multi_dbns模型的大服务组件系统在线可靠性预测方法,这种方法是能够支持网络状况处于随机波动环境以及大服务环境下,发生错误的时间表现出不确定性的可靠性预测方法,为达此目的,本发明提供基于multi_dbns模型的大服务组件系统在线可靠性预测方法,具体步骤如下:在一个基于服务组合的sos中,每一个组件系统均被实现为一个服务,要预测的是基于服务组合的sos中任一组件系统s即由某一客户端c所调用的在线及未来的可靠性时间序列,在线可靠性时间序列是指从当前时间t向前推进δtl长度的时间点开始,所覆盖的有效预测的时间段为δpt,即有效预测时间;基于multi_dbns模型的服务系统可靠性预测步骤分为以下六步:第一,数据准备,对所采集的历史系统参数进行预处理,将其划分为不同的时间序列;第二,motifs发现,从系统历史参数时间序列中找出motifs;第三,时间序列表达,采用距离最近的motifs来标记系统历史参数时间序列;第四,条件概率表构建,从被motifs标记过的系统历史参数时间序列中,根据其时序演化规律,统计系统历史参数时间序列motifs从数据窗口时间到有效预测时间的决定关系,并构建相应的条件概率表;第五,可靠性时间序列预测,根据所采集的最邻近的系统响应时间、吞吐量参数时间序列,基于m_dbns模型开展服务在线可靠性时间序列预测;第六,根据先前多步预测结果的累积误差,利用multi_dbns模型对新的预测结果进行校准,提高新的预测结果的精度。本发明的进一步改进,步骤一在数据准备阶段,对连续采集的组件系统历史响应时间、吞吐量、可靠性参数进行预处理,为训练m_dbns模型做准备,将每一个连续的历史系统参数划分为两类不同的时间序列,即数据窗口时间和有效预测时间的时间序列,以对响应时间参数的数据准备为例,数据窗口内的响应时间参数时间序列可表示为:其中,表示集合中的第i个时间序列,它是一个行向量,包含多个响应时间参数数据点;其次,为获得有效预测时间内的响应时间参数时间序列,重新对响应时间参数划分时间序列,对于每个选择△tl时间段之后时间段内的响应时间参数时间序列,定义为通过这一方式,同样将响应时间参数划分为多个时间序列,每一个时间序列中同样具有n个数据点;在此基础上,采用同样的方法对组件系统的吞吐量、可靠性参数进行预处理,并获得以下系统参数时间序列集合:(1)数据窗口时间内的吞吐量参数时间序列集合(2)有效预测时间内的吞吐量参数时间序列集合(3)有效预测时间内的可靠性参数时间序列集合本发明的进一步改进,步骤二为提取各类系统参数时间序列的特征值即时间序列motifs,对每类系统参数时间序列集合采用k-means算法进行聚类,并以聚类结果中的簇中心点作为每类系统参数时间序列的motifs,需要提取以下系统参数时间序列集合的motifs:以响应时间参数为例,首先,提取数据窗口时间响应时间参数时间序列集合的motifs。我们使用欧氏距离来计算多维空间中两个时间序列的距离,对于任意两个时间序列和其距离可以通过以下公式计算得到:其中,和分别表示时间序列和中的第j个时间点,n表示在每个时间序列中总的时间点的个数;当将以上距离公式应用于k-means算法,经过多次迭代,待算法收敛后,所有聚簇的中心点将作为数据窗口时间内的响应时间参数时间序列的motifs,将其形式化地表示为:其中,k为预先设定的参数,表示motifs的数量;其次,将上述motifs发现方法应用于集合prt以发现有效预测时间内的响应时间参数时间序列motifs,在此,对于响应时间参数,对于数据窗口时间内的参数时间序列集合通过motifs发现,其motifs集合记为对于有效预测时间内的参数时间序列集合采用类似的方法,我们对其所发现的motifs集合记为prt,对于其它参数包括吞吐量、可靠性时间序列集合采用同样的方法分别识别其motifs。本发明的进一步改进,步骤三通过时间序列表达,将采用motifs来标记每一个时间序列,对于某一系统参数的任一时间序列,将从与其对应的motifs集合中选择距离其最近的motif来标记该时间序列,时间序列表达的目的是为了使得系统参数时间序列能够被映射到相应的特征值,在此基础上,可以统计这些特征值之间的决定关系,同样的,在此仍然以响应时间参数为例介绍时间序列表达的方法,同样的方法适用于其它的历史系统参数;令k表示每一类系统参数的motifs数量,存在某一正整数对于任一数据窗口时间内的响应时间参数时间序列将使用将其予以标记,记为:其中,为距离最近的motif,对于任意正整数w∈[1,k],将依据以下公式确定依据以上方法,将采用相应的motifs标记有效预测时间内的每一个响应时间参数时间序列,对于其它参数包括吞吐量、可靠性,采用同样的方法对每一个时间序列予以标记。本发明的进一步改进,步骤四系统参数时间序列motifs的时序演化规则通过条件概率表予以描述,在一个简化的m_dbns模型概率表达λ中,元组b中描述了目标节点的cpt,为预测组件系统的在线可靠性时间序列,需要对历史参数时间序列motifs的时序演化过程开展统计,记录由相应父节点到各目标节点的条件概率密度分布,并构建相应的cpts。本发明的进一步改进,步骤五为实现对贝叶斯网络的展开,实时观测的组件系统最邻近的响应时间和吞吐量参数时间序列(即和),将分别被距离其最近的motifs(即和)标记,通过以下三步过程,得到某一组件系统的在线可靠性时间序列预测结果:(1)采用时间序列表达的方法,实时观测的响应时间和吞吐量参数时间序列将分别在motifs发现阶段所识别的δtd时间段内的响应时间、吞吐量参数时间序列motifs中某一最近的motif标记,假设标记的结果分布为和(2)将作为条件项,分别代入cpt(prt)和cpt在相应的cpt中,得到δtp时间段内的响应时间、吞吐量参数时间序列motifs的预测结果,这些预测结果所确定的motifs将拥有最大的条件概率,假设响应时间、吞吐量参数时间序列motifs的预测结果分别为和(3)最终,将作为条件项,被代入cpt将得到在线可靠性时间序列的预测结果式中,是在时间序列发现阶段所识别的有效预测时间周期内的某一可靠性时间序列motif,这一motif拥有在cpt的一个条件项组合下的最大的条件概率,即:本发明的进一步改进,步骤六将考虑先前的s-1步的预测精度的累积影响,来提高第s步预测结果的精度;设j∈{1,...,k},k=|len(δtp)/s|,第j个时间点的可靠性的前s-1步预测精度的累积影响为:其中,pr(i)j表示第i步的可靠性时间序列预测结果中的第j个时间点的可靠性的值,or(i)j表示第i步的实际观测的可靠性时间序列中的第j个时间点的可靠性的值,α∈[0,1]为历史预测的影响因子值,α值越大,越早的预测结果的精度对最终的预测结果影响越大。在实际应用中,α值的大小需要结合实际的应用环境,通过大量的实验来设定;因此,multi_dbns模型的第j个时间点的在线可靠性时间序列的预测结果为:pri=pr(s)i-πi;这样,对于第s步的预测结果,在经过multi_dbns模型校准后,得到组件系统新的在线可靠性时间序列预测结果为:pr=(pr1,pr2,...,prk)。本发明基于multi_dbns模型的大服务组件系统在线可靠性预测方法,为预测组建系统在有效预测时间段内的可靠性,我们拟基于概率图模型,对动态贝叶斯网络进行适当改进,提出基于multi_dbns模型multi-stepstrajectorydynamicbayesiannetworks,multi_dbns,通过对历史数据的学习构建m_dbns模型motifs-baseddynamicbayesiannetworks,m_dbns中的条件概率表,最后根据实时采集的系统吞吐量、响应时间信息,开展m_dbns模型推理,选取概率最大的决定关系中的可靠性特征子序列来作为sos组件系统可靠性在线时间序列预测的结果,然后根据多步历史的预测结果的误差,通过multi_dbns模型以校准未来的预测。附图说明图1是在线预测技术的有效预测时间段示意图。图2是多步轨迹动态贝叶斯网络multi_dbns模型图。图3是构建λ的算法流程图。具体实施方式下面结合附图与具体实施方式对本发明作进一步详细描述:本发明提供基于multi_dbns模型的大服务组件系统在线可靠性预测方法,这种方法是能够支持网络状况处于随机波动环境以及大服务环境下,发生错误的时间表现出不确定性的可靠性预测方法。本发明在一个基于服务组合的sos中,每一个组件系统均被实现为一个服务。我们所要预测的是基于服务组合的sos中任一组件系统s(由某一客户端c所调用)的在线(未来的)可靠性时间序列,具体而言(如图1所示),在线可靠性时间序列是指从当前时间t向前推进δtl长度的时间点开始,所覆盖的有效预测的时间段为δpt,即“有效预测时间”;基于multi_dbns模型的服务系统可靠性预测步骤主要分为以下六步:第一,数据准备,我们对所采集的历史系统参数进行预处理,将其划分为不同的时间序列;在数据准备阶段,我们对连续采集的组件系统历史响应时间、吞吐量、可靠性参数进行预处理,为训练m_dbns模型做准备。我们将每一个连续的历史系统参数划分为两类不同的时间序列,即数据窗口时间和有效预测时间的时间序列。以对响应时间参数的数据准备为例,数据窗口内的响应时间参数时间序列可表示为:其中,表示集合中的第i个时间序列,它是一个行向量,包含多个响应时间参数数据点;其次,为获得有效预测时间内的响应时间参数时间序列,我们重新对响应时间参数划分时间序列。对于每个我们选择其“不远的将来”即△tl时间段之后时间段内的响应时间参数时间序列,定义为通过这一方式,我们同样将响应时间参数划分为多个时间序列。每一个时间序列中同样具有n个数据点;在此基础上,我们采用同样的方法对组件系统的吞吐量、可靠性参数进行预处理,并获得以下系统参数时间序列集合:(1)数据窗口时间内的吞吐量参数时间序列集合(2)有效预测时间内的吞吐量参数时间序列集合(3)有效预测时间内的可靠性参数时间序列集合第二,motifs发现,我们从系统历史参数时间序列中找出motifs;为提取各类系统参数时间序列的特征值即时间序列motifs,我们对每类系统参数时间序列集合采用k-means算法进行聚类,并以聚类结果中的簇中心点作为每类系统参数时间序列的motifs。我们需要提取以下系统参数时间序列集合的motifs:以响应时间参数为例,首先,我们提取数据窗口时间响应时间参数时间序列集合的motifs。我们使用欧氏距离来计算多维空间中两个时间序列的距离。对于任意两个时间序列和其距离可以通过以下公式计算得到:其中,和分别表示时间序列和中的第j个时间点,n表示在每个时间序列中总的时间点的个数;当我们将以上距离公式应用于k-means算法,经过多次迭代,待算法收敛后,所有聚簇的中心点将作为数据窗口时间内的响应时间参数时间序列的motifs,我们将其形式化地表示为:其中,k为预先设定的参数,表示motifs的数量;其次,我们将上述motifs发现方法应用于集合prt以发现有效预测时间内的响应时间参数时间序列motifs。在此,对于响应时间参数,对于数据窗口时间内的参数时间序列集合通过motifs发现,其motifs集合记为对于有效预测时间内的参数时间序列集合采用类似的方法,我们对其所发现的motifs集合记为prt。对于其它参数(吞吐量、可靠性)时间序列集合我们将采用同样的方法分别识别其motifs;第三,时间序列表达,我们采用距离最近的motifs来标记系统历史参数时间序列;通过时间序列表达,我们将采用motifs来标记每一个时间序列。对于某一系统参数的任一时间序列,我们将从与其对应的motifs集合中选择距离其最近的motif来标记该时间序列。时间序列表达的目的是为了使得系统参数时间序列能够被映射到相应的特征值,在此基础上,我们可以统计这些特征值之间的决定关系。同样的,我们在此仍然以响应时间参数为例介绍时间序列表达的方法,同样的方法适用于其它的历史系统参数;令k表示每一类系统参数的motifs数量,存在某一正整数对于任一数据窗口时间内的响应时间参数时间序列我们将使用将其予以标记,记为:其中,为距离最近的motif。对于任意正整数w∈[1,k],我们将依据以下公式确定依据以上方法,我们将采用相应的motifs标记有效预测时间内的每一个响应时间参数时间序列,对于其它参数包括吞吐量、可靠性,我们采用同样的方法对每一个时间序列予以标记;第四,条件概率表构建,我们从被motifs标记过的系统历史参数时间序列中,根据其时序演化规律,统计系统历史参数时间序列motifs从数据窗口时间到有效预测时间的决定关系,并构建相应的条件概率表;系统参数时间序列motifs的时序演化规则通过条件概率表(conditionalprobabilitytable,cpt)予以描述。在一个简化的m_dbns模型概率表达λ中,元组b中描述了目标节点的cpt。为预测组件系统的在线可靠性时间序列,需要对历史参数时间序列motifs的时序演化过程开展统计,记录由相应父节点到各目标节点的条件概率密度分布,并构建相应的cpts。其算法流程如图3所示。第五,可靠性时间序列预测,我们根据所采集的最邻近的系统响应时间、吞吐量参数时间序列,基于m_dbns模型开展服务在线可靠性时间序列预测。为实现对贝叶斯网络的展开,实时观测的组件系统最邻近的响应时间和吞吐量参数时间序列(即和),将分别被距离其最近的motifs(即和)标记。我们可以通过以下三步过程,得到某一组件系统的在线可靠性时间序列预测结果:(1)采用时间序列表达的方法,实时观测的响应时间和吞吐量参数时间序列将分别被我们在motifs发现阶段所识别的δtd时间段内的响应时间、吞吐量参数时间序列motifs中某一最近的motif标记,我们假设标记的结果分布为和(2)将作为条件项,分别代入cpt(prt)和cpt在相应的cpt中,得到δtp时间段内的响应时间、吞吐量参数时间序列motifs的预测结果,这些预测结果所确定的motifs将拥有最大的条件概率,我们假设响应时间、吞吐量参数时间序列motifs的预测结果分别为和(3)最终,将作为条件项,被代入cpt我们将得到在线可靠性时间序列的预测结果式中,为我们在时间序列发现阶段所识别的有效预测时间周期内的某一可靠性时间序列motif,这一motif拥有在cpt的一个条件项组合下的最大的条件概率,即:第六,根据先前多步预测结果的累积误差,利用multi_dbns模型对新的预测结果进行校准,提高新的预测结果的精度;如图2,我们将考虑先前的s-1步的预测精度的累积影响,来提高第s步预测结果的精度;设j∈{1,...,k},k=|len(δtp)/s|,第j个时间点的可靠性的前s-1步预测精度的累积影响为:其中,pr(i)j表示第i步的可靠性时间序列预测结果中的第j个时间点的可靠性的值,or(i)j表示第i步的实际观测的可靠性时间序列中的第j个时间点的可靠性的值,α∈[0,1]为历史预测的影响因子值,α值越大,越早的预测结果的精度对最终的预测结果影响越大。在实际应用中,α值的大小需要结合实际的应用环境,通过大量的实验来设定;因此,multi_dbns模型的第j个时间点的在线可靠性时间序列的预测结果为:pri=pr(s)i-πi;这样,对于第s步的预测结果,在经过multi_dbns模型校准后,我们得到组件系统新的在线可靠性时间序列预测结果为:pr=(pr1,pr2,...,prk)。以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1