[发明专利]一种Web应用系统的故障定位方法无效
申请号: | 200810119972.7 | 申请日: | 2008-10-20 |
公开(公告)号: | CN101394314A | 公开(公告)日: | 2009-03-25 |
发明(设计)人: | 邱雪松;成璐;龙会湖;亓峰;孟洛明;王颖;刘会永 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100876*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 web 应用 系统 故障 定位 方法 | ||
技术领域
本发明涉及故障定位技术领域,特别涉及一种Web应用系统中通过主动探测对应用层故障进行定位的方法。
背景技术
Web应用系统是指基于Web技术,通过浏览器提供用户接口,通过数据库服务器和应用服务器提供数据和业务逻辑,用户与服务器之间采用http(HyperText Transportation Protocol,超文本传输协议)、https(Secure Hypertext TransferProtocol,安全超文本传输协议)或其他标准协议交互的应用系统。目前,随着Web技术的发展、Web应用系统体系框架的成熟和网络条件的改善,Web应用系统得到广泛的应用,也变得越来越庞大复杂,而针对Web应用系统的故障诊断也日益得到广泛的关注。
Web应用系统一般是多层次的分布式系统,面临的故障可能来自不同的方面,比如应用服务器故障、网络故障和业务逻辑故障等。前人研究表明Web应用系统服务提供失败大多源于维护过程中业务配置错误[3]。这样的错误一般不会导致整个系统瘫痪,而往往造成系统业务逻辑发生改变,从而导致某些Web应用语义发生错误,比如一个授权的用户无法登录,不能往购物车添加商品等。这种症状表现为语义错误的故障被称为应用层故障。应用层故障是最常见的故障,也是服务提供者最关注的故障。通过网络层的ping、和协议层的httprequest等手段无法检测应用层故障,必须采用语义级别的检测手段。
当前的Web应用系统故障诊断方式主要通过监测系统内部的请求及其执行状况来推测发生故障的模块位置,是一种被动方式,往往需要对系统进行改造或增加额外相关组件和系统状态数据传送链路,使系统能够向监测系统主动提供内部的状态,实现方式复杂、维护难度较大。
本发明中的Web应用系统主动性的故障诊断方式是主动向Web应用系统发出业务请求以探测系统内部状态的一种故障诊断方式。根据应用层故障定义可知,Web应用业务请求结果是应用层故障的直接症状数据。通过探测采集的症状数据,结合业务请求的与提供业务逻辑系统组件之间的关联关系,可以推断Web应用系统的故障所在。其次,由于主动探测方式不需要改变Web应用系统本身架构或功能定义,因此对Web应用系统具有较强的独立性,能够构造代价较小、实施简单、快速适应Web应用系统业务逻辑配置变化的诊断系统,从而提高故障诊断的效率和准确性。
《Proceedings of the International Conference on Dependable Systems andNetworks》,2002年公开了一篇名为《Pinpoint:problem determination in large,dynamic Internet services》的论文[1],该论文论述了Pinpoint(定点法),是一种基于数据挖掘的故障诊断方法,它监控所有的Internet服务模块间的消息传递来跟踪一个用户请求经历的模块,对每一个请求需要记录相关的数据包括用户请求ID,经历的模块和执行的结果;在故障发生时对记录的数据进行分析。Pinpoint有以下几个缺点:1)需要更改Web应用系统的消息中间件以上报内部的消息,这需要修改被管系统,在实际使用中很多时候不可行,而且增加了故障诊断部署和维护的成本;2)在实际运行过程中,被管系统会产生大量的、错综复杂的消息数据,其中大部分是无用的,给诊断系统带来数据处理的上的负荷;3)被动的诊断系统是一种事后的诊断,无法在故障呈现给用户前诊断出故障。
《26th IEEE International Symposium on Reliable Distributed Systems》,2007年公开了一篇名为《Distributed Diagnosis of Failures in a Three Tier E-CommerceSystem》的论文[2],该论文论述了Monitor(监视法)方法。该方法不但监视所有的服务请求的执行结果,还追踪服务请求的执行过程。它为每个模块维护一个逻辑时钟,来记录模块在一个服务执行过程中调用或被调用时间顺序。根据这个逻辑时间能够生成一个模块之间的消息传递因果关系图。当失败发生时,依据当前的因果关系图进行概率推理。Monitor需要了解每个组件内部方法的调用情况,并为每个组件维护一个状态图,大大增加了算法的复杂性。Monitor的机制过于复杂,不易实现、部署和维护的开销都比较大。
以引入方式将上述技术内容合并于本申请。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810119972.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:并行系统总线结构及其端口配置管理方法
- 下一篇:一种轿车涂装中的前罩锁紧支撑