没有合适的资源?快使用搜索试试~ 我知道了~
可在www.sciencedirect.com在线获取ScienceDirectCAAITransactions on Intelligence Technology 1(2016)61e71http://www.journals.elsevier.com/caai-transactions-on-intelligence-technology/原创文章利用日志文件结构相似性进行Web服务组合徐汉a,*,李宾阳b,黄锦辉c,石忠智d首都师范大学电子系统可靠性技术北京市重点实验室b中国北京国际关系学院c香港中文大学系统工程及工程管理系d中国科学院计算技术研究所智能信息处理重点实验室,中国北京2016年6月7日在线发布摘要随着Web服务部署的不断增加,对Web服务组合的可靠性和可用性的研究也越来越活跃。由于Web服务组合在运行时可能在不同层次上发生意外故障,日志分析作为一种典型的数据驱动的故障诊断方法,在各种体系结构中具有更好的适用性和可扩展性。由于越来越多的服务日志采用XML或JSON格式表示,具有良好的灵活性和互操作性,因此半结构化日志的故障分类问题被认为是该领域的一个挑战性问题。然而,大多数现有的方法侧重于日志内容分析,而忽略了结构信息,导致性能不佳。为了提高故障分类的准确性,本文利用日志文件的结构相似性,提出了一种基于相似性的半结构化日志贝叶斯学习方法。我们的解决方案估计的异构日志数据的结构元素之间的相似程度,构建组合贝叶斯网络(CBN),使用基于相似性的学习算法来计算概率的CBN,并分类测试日志数据到最可能的故障类别的基础上产生的CBN。实验结果表明,我们的方法优于其他学习方法的结构化日志数据集。Copyright © 2016 , 重 庆 理 工 大 学 . Elsevier B. V. 制 作 和 托 管 这 是 CC BY-NC-ND 许 可 证 下 的 开 放 获 取 文 章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。关键词:Web服务组合;故障诊断;组合贝叶斯网络;相似度;概率1. 介绍近年来,作为一种有前途的计算范式,面向服务的计算(SOC)[1]改变了软件应用程序的设计、交付和消费方式。Web服务技术以实现面向服务的体系结构为目标,已被广泛应用于研究和商业领域。因此,越来越多的业务功能被各种组织和公司发布为Web服务(WS)。开发Web服务主要有两种方法,包括基于SOAP的*通讯作者。电子邮件地址:hanxu@cnu.edu.cn(X.Han),byli@uir.cn(B.Li),kfwong@se.cuhk.edu.hk(K.- F. Wong),shizz@ics.ict.ac.cn(Z. Shi)。同行评议由重庆理工大学负责。Web服务[2]和RESTful Web服务[3,4]。许多原子Web服务可以被视为应用程序的访问点,而不依赖于其他Web服务。当一个用户请求不能被原子Web服务满足时,组合Web服务在提供多个Web服务之间的复杂协作和交互方面起着重要的作用。在过去的十年中,已经定义了大量现有的Web服务组合标准[5]。Web服务编排语言是描述可执行业务流程的标准之一,业务流程由Web服务组成。基于OASIS标准,Web服务业务流程执行语言(Web Services Business ProcessExecution Language,WSBPEL)[6]是一种可执行的编排语言,用于使用Web服务对业务流程进行根据Web服务组合,业务流程可以通过第三方的Web服务引擎的支持最近的一些http://dx.doi.org/10.1016/j.trit.2016.03.0062468-2322/Copyright © 2016,重庆理工大学由爱思唯尔公司制作和主持这是一篇基于CC BY-NC- ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。62X. Han等人/CAAI Transactions on Intelligence Technology 1(2016)61e 71研究工作集中在扩展JavaScript引擎,以支持基于SOAP、RESTful和OSGi服务的组合[7]。随着越来越多的Web服务(尤其是REST风格的Web服务)被应用于实践,Web服务组合的复杂性也越来越高。因此,如何保证Web服务组合的可靠性和可用性是Web服务组合的关键。为了提高服务流执行的可靠性,容错Web服务编排[8]被提出。故障诊断是容错框架中的一个重要方面,其目的是根据运行时信息识别或定位过程异常和故障的可能原因。由于进程执行过程中的大部分详细运行信息都记录在日志文件中,因此从日志数据中学习故障诊断方法成为该领域的一个重要研究课题目前,半结构化数据格式,包括XML和JSON,被用作Internet上的信息表示标准。由于其良好的灵活性和互操作性,越来越多的软件运行信息的日志文件使用XML/JSON格式表示,特别是对于Web服务。因此,分析半结构化的、XML/JSON格式的日志成为故障诊断研究的一个重要课题。半结构化文档通常比平面文档具有更丰富的结构信息,这对分类精度有潜在的影响.考虑到这一点,从这类文献中学习的主要任务将比以前有更多的挑战。然而,对于大多数测井分析的分类方法,通常使用基于IR的方法,忽略了大量的结构信息,这导致分类精度低。因此,如何从测井资料中提取构造信息对断层分类的准确性有很大影响。在本文中,我们提出了一个基于相似性的贝叶斯学习方法的故障分类的半结构化日志。我们的方法是首先从非均匀测井数据中估计构造元素的相似度。然后构造了组合贝叶斯网络(CBN)的基本结构,并采用基于相似性的学习算法计算CBN中的最后,测试日志数据可以被分类到最可能的故障类别的基础上产生的CBN。本文的其余部分组织如下。第二节介绍了Web服务组合故障诊断的相关工作和现有的(半)结构化文档分类方法。第3节概述了基于相似性的结构分类方法和CBN模型。CBN生成的详细信息,包括如何使用基于相似性的学习算法计算CBN的概率,将在第4节中介绍。与其他学习方法相比,这种方法的实验结果在第5节中显示。第六部分得出结论。2. 相关工作在过去的几年中,Web服务领域的一些研究工作集中在如何提高Web服务的容错Web服务编排[8]由异常和故障原因的细粒度识别以及有效异常和故障处理程序的后续执行[9,10]支持。故障诊断作为容错的重要环节,日益引起学术界的广泛关注。从方法论的角度来看,现有的故障诊断研究主要分为基于模型的诊断和数据驱动的诊断两大类。对于基于模型的方法,其基本思想是对被诊断服务的行为和内部逻辑进行建模,然后根据其模型发现运行时故障。正在进行的工作已在一些已发表的论文中描述。WS-DIAMOND[11]是一个欧洲研究项目,有八个研究机构参与。在本计画中,以模型诊断为主要方法.Yan等人[12,13]提出了一种基于模型的方法来诊断编排的Web服务流程。在他们的方法中,Web服务的故障可以推断出的变量依赖于执行轨迹,这是由所产生的自动机的描述。在假设单个活动的行为描述可能无法完全给出的情况下,Mayer等人[14]提出了一种基于流程结构隔离错误活动执行的最小集合的方法。考虑到组合服务对动态执行环境的适应性,Dai等人提出了一种新的组合服务模型.[15]分析了任意两个服务之间的错误传播关系,通过计算错误传播度,给出了异常与服务之间不确定的因果关系。此外,一些研究小组提出了Web服务组合故障诊断的测试框架[16]和混合模型[17]对于数据驱动的方法,诊断问题通常转化为分类问题。然后利用数据挖掘和机器学习算法对日志文件数据进行处理正如我们所知,许多研究工作都集中在挖掘计算系统的日志文件对于常规计算系统和Web服务,日志挖掘方法有一些共同的地方。因此,我们可以参考相关领域的现有方法考虑到纯文本数据和半结构化数据这两种基本数据类型的差异,挖掘方法通常根据训练和测试数据的类型来设计和实现对于纯文本日志数据,Li等人使用贝叶斯方法[18,19]对日志文件中的文本消息进行分类,并利用时间信息来提高分类性能。在参考文献[20]中,贝叶斯分类器、半监督学习和决策树被用于自动识别复发性故障的症状对于半结构化测井数据,也有相应的分类方法。见参考文件[21],一个故障特征数据库,未诊断的故障数据可以与之匹配,从监控数据构建。在此基础上,提出了基于异常的聚类方法,为低置信度匹配的故障诊断生成正确的聚类德诺耶和加里纳利[22]提出了一种基于贝叶斯网络的分类任务生成模型,该模型可以同时处理结构和内容。Zaki和Aggarwal[23]提出了一种有效的基于规则的XML数据分类器,X. Han等人/CAAI Transactions on Intelligence Technology 1(2016)61e 7163XML文档中的子结构。作为一种半结构化数据的贝叶斯学习方法,我们的方法在方法论上与Denoyer和Gallinari的方法相似。但它们在本质上是不同的,因为它们的生成模型只涉及相同逻辑结构的训练数据,而我们的方法旨在基于来自异构源的不同结构的日志数据构建CBN模型(稍后将详细讨论)。此外,还有其他用于Web服务的诊断机制和框架。见参考文件[24]中,提出了一种用于恢复引擎的自修复插件,它可以增强标准引擎提供基于进程的恢复操作的能力。它只提供了在基础结构水平上的自愈机制,而没有详细参考诊断方法。Ardissono等人[8]提出了一个Web服务编排框架,该框架使用诊断服务来支持对异常原因的细粒度识别。3. 故障诊断作为一种数据驱动的方法,故障诊断的任务是从半结构化的日志文件中提取训练数据,构造生成模型,并利用该模型对测试日志数据进行故障分类。由于实际应用中日志文件源的异构性,如何从内容相似但结构不完全相同的半结构化日志数据中进行学习成为一个新的挑战。因此,利用XML/JSON文档中包含的结构信息进行学习任务非常重要。为了简单起见,本文以XML日志文件为例。根据经典的表示法,XML文档可以被认为是一棵树,其中每个节点代表一个结构元素。给定由不同服务执行引擎生成的两个XML日志文件,可以从中提取相应的模式树,这些模式树通常具有相似的内容但结构略有不同。在本文中,我们扩展了我们以前的工作[25],提出了一个有效的在线学习算法的动态环境。我们的主要思想是找到这两棵树的节点之间的相似性,然后通过学习从训练日志数据的基础上相似度的生成模型。在这里,我们提出了组合贝叶斯网络作为半结构化日志数据的生成模型,其概率取决于训练数据分布的相应元素和它们的对应物具有高相似度。3.1. 方法概述在这种方法中,通过将构成训练数据集的XML日志文件的数量限制为两个来简化学习问题。(If当日志文件的数目大于两个时,学习问题可转化为等价的两文件问题。例如,假设有两个日志文件F0和F1,如图1所示。我们可以发现F0和F1具有相似的内容,但结构略有不同。鉴于其结构图1.一、两个示例XML日志文件的片段差异,从训练数据集生成贝叶斯网络模型是不平凡的。其中,如何处理F0和F1模式元素之间的相似关系是关键。我们的方法的目标是生成CBN的基础上量化的相似性从训练数据集中的所有相关数据进行学习。为了对故障诊断方法进行概述,我们将首先介绍其主要步骤。假设模式树T0和T1是从XML日志文件F0和F1中提取的,则该方法中的主要步骤可以表示如下:1. 估计T0和T1节点的归一化相似度,然后忽略相似度低于阈值的节点对,找到相似的节点对。2. 建立了组合贝叶斯网络的基本结构,包括组合部分和私有部分。3. 对于每棵模式树,计算其节点与CBN中对应节点的组合相似度,并对组合相似度值进行4. 使用从步骤1和3获得5. 给定一个XML格式的运行日志记录,使用生成式CBN模型对测试日志数据进行分类,并根据其所属类别诊断可能的故障。可以看出,步骤1、3和4在该方法中起着重要的作用,它们负责计算相似度。第4节将详细讨论这些步骤。64X. Han等人/CAAI Transactions on Intelligence Technology 1(2016)61e 713.2. 基于组合贝叶斯网络贝叶斯网络是表示半结构化数据的不同元素之间的依赖性和关系的合适模型。考虑到训练数据的结构差异,我们提出了组合贝叶斯网络,它是通过学习异构训练数据的基础上量化的相似性。作为一种生成式模型,CBN能够同时处理结构和内容信息,可以用于测试日志数据的分类。通常,每个日志文件由一组日志数据记录组成,这些日志数据记录将被标记有相关的故障类别。这些标记的日志记录构成训练数据集。我们将CBN模型与训练数据集的每个类别相关联。由于同一类别中的数据记录可能具有不同的逻辑结构,因此通过组合相应类别中所有数据记录的结构和内容信息来构建CBN。然后,从该类别中的所有训练数据记录中学习网络参数。为了实现故障诊断,我们将测试日志数据记录分类到可能的故障类别进行推理,在构建的CBN。考虑图1中的示例XML日志文件F0和F1。对于给定类别c中的训练数据,每个日志记录的模式信息可以由T0或T1表示。据此,我们可以通过组合T0和T1来构造CBN的基本结构,它包含一组用Ns表示的结构节点。此外,还存在由Nt表示的用于表示日志数据的文本信息的一组内容节点(如CBN中的叶节点)。为了简单起见,下面的讨论将主要集中在那些结构节点上。图2显示了CBN的基本结构,它是一个有向图,子图为T0和T1事实上,这个CBN中的每个节点都将对应类别的节点c作为其父节点(为了简单起见,省略了它)。根据量化的相似性结果,结构节点可以分为两组,包括组合组和私有组。组合组包含具有对应节点或其类似物T0和T1的对应物。与组合群相比,私有群由仅在T0(或T1)中有对应节点4. 基于相似性的贝叶斯学习故障诊断在本节中,我们提出了一种基于相似性的贝叶斯学习方法进行故障诊断。首先,我们介绍了如何估计模式元素的相似度,以构建组合贝叶斯网络。然后,我们详细介绍了如何学习CBN的概率。最后,在4.3小节中,我们给出了利用CBN对日志数据记录进行分类以进行故障诊断的方法。为了说明这种学习方法,我们将继续使用第3节中给出的例子。4.1. 构造CBN由于CBN的概率取决于对应数据及其在训练数据集中的相似副本的分布,因此我们需要找到提取的模式树节点之间的对应关系。考虑前面例子中的模式树T0和T1在T0和T1中有许多节点具有相似的含义,但名称不同。为了发现这些节点之间的对应关系,我们将利用T0和T1的文本和结构信息。在两个模式的相似元素之间找到一致性的任务在这一小节中,我们将通过模式匹配来估计元素的相似度。至于匹配方法,我们参考了相似性洪泛算法[26]。该算法将两个图(模式、目录或其他数据结构)作为输入,并生成图的对应节点之间的映射基于相似性洪泛算法,我们的方法试图找到对应的模式树的节点之间的映射此外,我们在不同的阶段利用分级结构信息,这可以提高初始映射的精度和计算效率。在匹配故障FaultCode详细信息描述FaultCode FaultString名称值范围故障事件类encodingURI来源活动活动图二、结合T0和T1的CBN的基本结构。X. Han等人/CAAI Transactions on Intelligence Technology 1(2016)61e 7165Xð Þ ðð ÞðÞÞðÞ0101过程中,以T0和T1为输入,产生T0和T1对应节点之间的相似度作为输出。该过程基于成对图,分为初始匹配和相似性传播两个步骤在初始匹配中,我们还利用了属性级的结构信息。给定T0和T1的两个节点m0和n1,它们分别具有属性集Am和An,我们将匹配A和A的属性。m0和n1的名称。计算公式为:Sim0m;nqjAmAnj1-qStrSimm;n1表1相似性估计结果。T0中的节点T1中的节点相似性(模拟)故障故障0.90详细信息详细信息0.68详细信息故障诊断0.44FaultEvent FaultEvent 0.19源活动活动0.19名称名称0. 17类型类型0.17价值价值0.17jAm jjAn j其中,jAmj为集合Am中元素的个数,StrSim为m0;n1为m0与n 1通过字符串匹配得到的相似度值基于初始匹配结果,我们在步骤(2)中构造成对图。图3中示出了该成对图的一部分,其中忽略了初始匹配中的一些低度节点。然后,基于该图执行相似性传播。相似性传播的计算公式为:Simi1n0;n1;Simin0;n1Simi m0; m1u m0; m1u n0; n1u2m0;m 1其中Simi n0;n1表示第i次迭代中成对节点n0;n1的相似度,um0;m1 n0;n1 表示给定节点之间的边的权重(其值等于1除以该边的源节点的传出边数),NeigSet表示成对图中节点n0;n1的邻居集合迭代地执行该计算过程以估计T0和T1的节点之间的相似度。在此过程之后,计算的相似度将被归一化到[0,1]的范围。表1示出了相似度估计结果的一部分。如果我们将过滤阈值设置为0.1,则相似度不大于0.1的对将从CBN中删除。如表1中所示,匹配结果的示例可以是节点“Detail“和节点“Fault”之间的对应关系。4.2. 基于相似性的贝叶斯学习算法在CBN概率在本小节中,我们将介绍如何使用基于相似性的学习算法计算CBN概率。根据计算出的相似度,得到CBN的条件概率。基于相似性结果,可以创建CBN的组合部分,如图4所示。然后,将从训练数据中学习与该部分的节点相关的条件概率。事实上,类似的错误,FaultCode,细节,细节细节,断层描述,FaultString名字,作用域,编码URISource活动,活动Type、Value、FaultEvent、类型值faultEvent图三.匹配T1和T2的成对图的一部分.FaultCodeFaultCode0.16描述FaultString0.10范围编码URI0.1066X. Han等人/CAAI Transactions on Intelligence Technology 1(2016)61e 71<ð ÞP01>:SD r; pa e; p StrEqua e; q; q2 Nt第2节节点设置ð ð Þ Þ ðÞ故障FaultCode详细信息福尔托名称值故障事件活动类型来源活动事件图四、CBN的组合部分训练数据集中测井记录的数量也影响CBN的概率分布。考虑到相似对应物的影响,我们将基于Ti和Ti的节点之间的相似度计算CBN的组合部分中的概率。T0(T1)节点与CBN节点的组合相似度,如表2所示。对于上面提到的例子,假设R0和R1是训练数据的记录集,从中可以得到T0和T1提取。设Rc和Rc是R0和R1的带故障0 1CBN。在详细讨论概率计算之前,有必要引入组合相似度CSim的概念,它表示Ti 的节点与构造的CBN的对应节点(具有相同名称)之间的相似度。假设n和s是分别对应于节点ni和si的CBN节点。CSim是使用以下公式c类然后,设Rc是这两个子集的并集,即,Rc¼RcRc.相应地,给定来自记录集Ri的日志记录ri,我们使用SD(ri,mi,n)来表示ri的树节点(对应于元素)mi与CBN的节点n相似度SD将在学习过程中起重要作用,可以通过以下公式计算8SDri;mi;n1PCSimisi;s我我CSimimi;n;mi2CSetnSimmi;l$CSim1-il;n;mi2SimSet ll2CSetnð4ÞCSimn;nsi2SonsOfni;s2SonsOfnð3Þ:0;其他1最大值fjSonsOfnij;jSonsOfn jg其中,CSetn表示对应于节点n(具有相同名称)的树节点的集合,并且SimSetn表示对应于节点n(具有相同名称)的树节点的集合。其中,SonsOf ni表示节点ni的子节点集合(对于节点n也是相同的)。据此,我们可以得到表2组合相似度。(a)T0和CBN的节点之间的CSim类似于树节点L的节点。作为学习的一个重要步骤,将统计特定节点及其父节点在记录集中出现的次数。这里,我们使用Simplified(r,p,q)来表示以节点p作为记录r的父节点的节点q的基于相似性的数量。我们通过以下公式计算Simplified(r,p,q)S8imN umPr; p; q<>SDr;pae;pSDr;e;q;q2Nse;通过第2个节点设置ð5Þ其中Pa(e)表示记录r中节点e的父节点,NodeSet(r)是记录r的节点(或元素)集,并且StrEqual(e,q)通过字符串匹配表示e是否等于q对于范畴c的CBN,我们假设每个节点都有节点c作为它的父亲。因此,该类别中每个记录的根元素都有相同的父节点c。条件概率可计算如下T0中的节点CBN节点组合相似性(CSim0)故障故障0.65详细信息详细信息0.88FaultCodeFaultCode1描述描述1.........(b)CSim之间T1和CBN节点T1节点CBN节点组合相似性(CSim1)故障故障0.77详细信息详细信息0.63福尔托福尔托1FaultCodeFaultCode1.........X. Han等人/CAAI Transactions on Intelligence Technology 1(2016)61e 7167rC2R8
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功