一种故障诊断方法及系统的制作方法

文档序号:7699282阅读:221来源:国知局
专利名称:一种故障诊断方法及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种故障诊断方法及系统。
背景技术
随着移动业务发展的持续深入以及市场竞争的加剧,移动业务的种类越来越多、 复杂性越来越高,对移动业务运营支撑系统的快捷性、稳定性和可维护性提出了更高的要 求。移动业务运营支撑系统的网管系统无力对移动业务处理级别进行监控,无法获取 营业终端的网络情况,导致必须有诸多人为因素参与,比如当营业员报障后,缺乏有效的诊 断手段,表现为营业员报障时对故障描述不够清晰、营业员操作的业务数据无法再次获取 并作为调试工具的输入参数,营业员报障后,维护人员对故障处理不及时,或者由于维护人 员的诊断过程不够合理,有时需要直接操作数据库,带来一定的不安全因素,或者业务操作 在维护人员操作的环境下无法重现等诸多问题;当业务运营支撑系统发生性能问题时,无 法及时定位性能故障原因,无法将当时营业终端状态、主机状态、应用服务器状态、后台服 务器状态、后台服务状态、业务处理量和业务处理耗时做一个鲜明的对比、无法获取营业终 端的网络情况、无法获取web主机和后台应用服务器之间的网络情况等,由于缺乏有效的 诊断手段,而需要繁琐的人工交互才能查找和定位故障原因,既耗时又费力,不利于提高业 务运营支撑系统业务处理的效率,很难快速准确地定位现有移动业务运营支撑系统中出现 的问题,从而导致故障定位难、响应速度慢。在对现有技术的研究和实践过程中,本发明的发明人发现,现有的实现方式中,移 动业务运营支撑系统的网管系统无力监控移动业务处理级别的问题,需要人为参与诊断故 障,出现故障时,很难准确定位,响应速度慢。

发明内容
本发明提供一种故障诊断方法及系统,解决了现有技术中移动业务运营支撑系统 的网管系统无力监控移动业务处理级别的问题,无需人为参与诊断故障,能够实现故障的 准确定位,提高了故障诊断的速度和效率。为解决上述技术问题,本发明实施例提供一种故障诊断方法,包括获取每个业务的故障数据;根据所述故障数据,生成故障case库;当被监控系统异常时,根据从故障case库中获得的与所述异常对应的故障case, 对所述异常进行在线诊断;所述异常为出现故障或存在潜在故障。优选地,所述获取故障数据的步骤包括根据接收到的被监控系统生成的运营日志,获取每个业务的故障数据,并存储所 述故障数据。
优选地,所述获取故障数据的步骤进一步包括所述故障数据包括整个业务的函数调用关系;所述当被监控系统异常时的步骤包括当被监控系统异常时,从故障case库中获得的与所述异常对应的故障case,根据 所述故障case中整个业务的函数调用关系,准确定位被监控系统异常的位置,分析异常原 因,对所述异常进行在线诊断。优选地,所述生成故障case库的步骤进一步包括根据所述整个业务的函数调用关系,每个业务与故障case库中的至少一个故障 case关联。优选地,所述生成故障case库的步骤包括根据所述故障数据,针对每个故障,生成对每个故障的故障诊断程序,将所述故障 诊断程序存储在指定数据库中,生成故障case库,每个故障诊断程序对应一个故障case。优选地,所述生成故障case库的步骤进一步包括当有新故障出现时,定制新故障的故障诊断程序,将所述新故障的故障诊断程序 存储在故障case库中,保持对故障case的实时更新。优选地,所述对所述异常进行在线诊断的步骤包括当某个业务出现故障时,根据故障case库进行在线诊断时,根据所述业务与相应 故障case的关系,按照应用系统层次顺序由下而上的执行故障case,定位故障原因。优选地,所述对所述异常进行在线诊断的步骤进一步包括根据在线诊断确定的故障原因,快速修复故障或对出现故障的业务组件进行替换。相应地,本发明实施例提供一种故障诊断系统,包括获取单元、生成单元和诊断单 元所述获取单元,用于获取每个业务的故障数据,输出至所述生成单元;所述生成单元,用于根据接收到的每个业务的故障数据,生成故障case库;所述诊断单元,用于被监控系统异常时,从所述生成单元获取与所述故障对应的 故障case,对所述异常进行在线诊断,所述异常为出现故障或存在潜在故障。优选地,所述获取单元包括接收单元、分析单元和存储单元所述接收单元,用于接收被监控系统生成的运营日志,输出至所述分析单元;所述分析单元,用于对接收到的运营日志中每个故障的相关数据进行分析,获得 故障数据,输出所述存储单元;所述存储单元,用于按照故障与业务的对应关系存储分析单元输出的故障数据。优选地,所述生成单元进一步包括更新单元,用于对已生成的故障case库进行更新。优选地,所述系统进一步包括定制单元,用于在新故障出现时,定制新故障的故障诊断程序。根据上述技术方案可知,本发明实施例提供的技术方案解决了现有技术中移动业 务运营支撑系统的网管系统无力监控业务处理级别,无法获取营业终端的网络情况,需要 繁琐的人工交互才能查找和定位故障原因的问题,能够快速准确地定位现有移动业务运营支撑系统中出现的问题,提高业务运营支撑系统业务处理的效率,达到能够准确实现故障 定位、大大提高响应速度,提高故障诊断的速度和效率的技术效果。



图1为本发明实施例提供的所述方法的流程图;图2为本发明实施例提供的最佳实施方案方法的流程图;图3为本发明实施例提供的所述系统的结构示意图;图4为本发明实施例提供的最佳实施方案系统的结构示意图。
具体实施例方式本发明实施例提供了一种故障诊断方法,所述方法的实施流程如图1所示,所述 方法包括步骤101,获取每个业务的故障数据;步骤102,根据所述故障数据,生成故障case库;步骤103,当被监控系统出现异常时,根据从故障case库中获得的与所述异常对 应的故障case,对所述异常进行在线诊断;所述出现异常为出现故障或存在潜在故障。步骤101具体包括根据接收到的被监控系统生成的运营日志,获取每个业务的故障数据,并存储所 述故障数据。步骤101之后进一步包括所述故障数据包括整个业务的函数调用关系;在此基础上,步骤103具体包括当被监控系统出现异常时,从故障case库中获得的与所述异常对应的故障case, 根据所述故障case中整个业务的函数调用关系,准确定位被监控系统异常的位置,分析异 常原因,对所述异常进行在线诊断。步骤102具体包括根据所述故障数据,针对每个故障,生成对每个故障的故障诊断程序,将所述故障 诊断程序存储在指定数据库中,生成故障case库,每个故障诊断程序对应一个故障case。步骤102进一步包括根据所述整个业务的函数调用关系,每个业务与故障case库中的至少一个故障 case关联。步骤102进一步包括当有新故障出现时,定制新故障的故障诊断程序,将所述新故障的故障诊断程序 存储在故障case库中,保持对故障case库的实时更新。步骤103中,所述对所述异常进行在线诊断的步骤包括当某个业务出现故障时,根据故障case库进行在线诊断时,根据所述业务与相应 故障case的关系,按照应用系统层次顺序由下而上的执行故障case,定位故障原因。步骤103中,所述对所述异常进行在线诊断的步骤进一步包括根据在线诊断确定的故障原因,快速修复故障或对出现故障的业务组件进行替换。当有新故障出现时,系统为该新故障提供定制服务,可以为这个新故障定制解决 方案或故障诊断程序,一旦该新故障的解决方案或故障诊断程序确定,会将其作为一个新 的故障case,存储在故障case库,因此,故障case库会得到实时更新;下面我们将结合附图,对本发明实施例提供的最佳实施方案进行详细描述。本发明实施例所提供的最佳实施方案的流程图如图2所示,具体实施流程为步骤201,生成文件日志和消息日志;被监控系统生成运营日志,这里所提到的运营日志包括文件日志和消息日志,文件日志通过FTP的方式传送至系统的FILE AGENT (文件代理),消息(也可以称为“事件”) 日志通过在线的方式即时传送至系统的EVENTAGENT(消息代理),被监控系统包括运营系 统的每台主机,如应用服务器、Web服务器、营业终端等,运营日志包括被监控系统中每台主 机的每天的业务运行异常情况,如每台主机的负载均衡情况、SQL执行异常情况、函数执行 或者网络超时、每个业务调用函数的失败次数及失败原因;通过运营日志,可以及时得到每 台主机每天的业务运行异常情况,包括负载均衡情况、SQL执行异常、函数执行或者网络超 时以及函数失败次数及原因等。步骤202,接收文件日志和消息日志;接收单元接收被监控系统生成的运营日志,接收单元包括FILE AGENT和EVENT AGENT, FILE AGENT接收文件日志,EVENT AGENT接收消息日志,接收单元将接收到的运营日 志发送至分析单元,至步骤203 ;关于消息日志内容的操作,至步骤207 ;步骤203,分析文件日志,获得故障数据;对接收的运营日志中的文件日志进行分析,取得每个业务调用的函数的详细信 息,包括每个业务调用的模块名、接口名、函数名、调用开始时间、调用结束时间、调用函数 的输入输出参数以及数据量、调用函数执行涉及到的SQL语句、调用函数执行结果(包括调 用函数成功或失败及失败原因)等;由于每次业务调用时在TOB界面上开始时会产生一个唯一的调用号,这个调用号 在每次函数调用时输出,并且每个函数都有该函数在本次业务调用中的序号,被该函数调 用的下级函数则包含一个父节点序号,根据这些调用号以及每个函数在每个业务调用中的 序号,从而可以获得整个业务的函数调用关系,针对某个具体的业务时,能够针对某个具体 业务,分析得到整个业务的函数调用关系,即从被监控系统的前台操作员开始点击按钮/ 图标开始,在WEB服务器上执行了什么函数、在应用服务器上又调用了什么函数、完成了什 么数据库操作、耗时情况如何等信息都可以通过分析运营日志得到,而获取这一信息对于 准确定位被监控系统出现故障的位置所在非常关键;进一步地,本发明实施例提供的系统 还可以根据每天接收到的运营日志,了解每天被监控系统的业务函数的运行情况,并对这 些业务函数的运行情况进行统计和分析,分析得出不同阶段内相同函数/相同业务的调用 量、平均耗时,得出函数或者业务的执行效率趋势,如可以获得各类业务的执行效率,包括 调用次数、平均执行时间、90%响应时间、输入参数数据量、输出参数数据量、平均执行SQL 条数等,根据这些数据,可以具体分析被监控系统出现异常的可能或原因,能够对每天的被 监控系统的业务函数的运行情况进行统计和分析,得出各类分析报告,并比较历史数据,对 系统潜在的性能和故障隐患做出提前反应;
步骤204,存储分析结果;对步骤203得到的故障数据,进行存储,在存储故障数据时,可以对函数调用信息 以及输出函数的相关SQL语句进行关联存储,这样的话可以得到SQL语句与业务函数之间 的引用关系和统计信息,为DBA接入的系统性能优化提供帮助,能够通过分析结果对被监 控系统的运行和故障情况进行统计和分析,并对未来被监控系统运行情况进行评估,至步 骤 205 ;
步骤205,根据分析结果确定故障诊断程序或解决方法;具体的操作人员可以根据步骤204存储的分析结果,对具体的故障开发故障诊断 程序,每个故障诊断程序都对应着一个故障,作为一个故障case被保存,至步骤206,也可 以不用编写测试程序,而是结合现有的工具dump出来输入输出参数,进行测试和调试,这 是因为业务处理在进入某个函数时,系统会将输入输出数据写到文件中去,该文件的文件 名中包含该函数名和唯一的函数调用号,通过运营日志中的对应信息可获取该dump文件, 通过查看整个业务中各个环节的函数调用关系,分析各个环节的耗时情况,确定慢的环节, 也就是说确定可能存在潜在故障的环节,这些解决方案也可以作为故障case,存储在故障 case库中,即至步骤206 ;通过根据分析结果确定故障诊断程序或解决方法,做到对被监控系统可能出现异 常的情况有一个细致、精确地的了解,提高制定管控策略的功能,能够做到对满足特定条件 的操作员、营业厅、IP地址、主机、业务函数等进行实时详细监控;步骤206,将故障诊断程序或解决方法存储在case库中;将步骤205确定的故障case存储在故障case库中,需要说明的是,利用测试工 具,配合测试脚本和规划的测试数据,可以建立自动测试平台,直接对被监控系统出现的异 常进行测试,不管是故障case还是自动测试平台,都是当被监控系统出现异常时,为故障 诊断提供的及时处理的诊断方法;这里需要注意的是,如果在步骤202中发现新故障,系统 可以为这个新故障定制解决方案或故障诊断程序,一旦该新故障的解决方案或故障诊断程 序确定,会将其作为一个新的故障case,存储在故障case库,因此,故障case库会得到实时 更新;步骤207,是否有告警消息;查看消息日志中是否有告警消息。根据被监控系统发出的实时消息,分析消息日 志的内容,为被监控系统定制告警规则,而后根据告警规则,对消息日志内容进行过滤,对 符合告警规则的消息日志生成告警记录,并在被监控系统前台进行告警;当发现有告警消 息时,至步骤208,当没有告警消息时,至步骤202 ;步骤208,进行在线诊断,确定故障原因;这里需要说明的是,当发现被监控系统有告警信息时,可能是被监控系统已经出 现故障,也可能是被监控系统存在有潜在的故障,如某个函数的执行时间过长、或select 出数据过多的SQL语句进行告警等;当被监控系统出现异常时,这里的异常指的是已经出 现的故障或潜在故障,可以通过即时向故障case库发出请求,请求获取解决当前异常的诊 断程序或解决方案,故障case库在收到该请求后,向被监控系统返回故障case,运行该故 障case,对被监控系统进行在线诊断分析,快速找出故障原因,至步骤209 ;步骤209,解决故障、快速修复;
根据步骤208确定的故障原因,解决该故障,或者进行快速修复,或对出现故障的 部件(业务组件)进行替换,使得被监控系统一旦出现异常就可以及时得到解决。查询业务处理细节时,自动查询出对应的前期出现过的故障,从故障case库中查 询相应的故障case,对这些case提供过滤功能。同时提供查询故障环节的输入输出数据文 件的功能。提供维护员执行过滤后的故障case的功能,在执行故障case时,提供从其他系统 查询诊断所需要的相关信息的功能,以便维护员进行自动在线诊断分析,定位故障原因。执 行故障case可以按照应用系统层次划分至下而上进行。提供分析营业终端的界面交互情况的功能,作为故障诊断的参考上述技术方案提供对APP域和MGR域的分析,APP是应用逻辑层,供web前台调用, 每个APP函数包含完整的业务逻辑,MGR是原子逻辑,APP组合MGR的原子逻辑形成复杂的 业务逻辑调用关系的功能,可用于检查程序代码是否符合开发规范。提供分析MGR的私有 kernel层和数据库实体表之间的关系的功能,检测是否符合开发规范。提供分析特殊MGR和APP之间的调用关系的功能,检测是否符合开发规范,同时可 整理更多的特殊的MGR模块,提高系统运行效率本发明实施例还提供了一种故障诊断系统,所述故障诊断系统的结构示意图如图 3所示,包括获取单元301、生成单元302和诊断单元303,所述获取单元301,用于获取每个 业务的故障数据,输出至所述生成单元302;所述生成单元302,用于根据接收到的每个业 务的故障数据,生成故障case库;所述诊断单元303,用于被监控系统出现异常时,从所述 生成单元302获取与所述故障对应的故障case,对所述异常进行在线诊断,所述出现异常 为出现故障或存在潜在故障。本发明实施例提供的最佳实施方案系统的结构示意图如图4所示,本发明实施例 所述故障诊断系统包括获取单元401、生成单元402、诊断单元403和定制单元404,所述获 取单元401,用于获取每个业务的故障数据,输出至所述生成单元402。所述生成单元402,用于根据接收到的每个业务的故障数据,生成故障case库 4021。使得被监控系统一旦出现故障,即可通过故障case库,经在线诊断找到解决故障的 程序或方法,提高了解决故障的速度和效率。所述诊断单元403,用于被监控系统出现异常时,从所述生成单元402获取与所述 故障对应的故障case,对所述异常进行在线诊断,所述出现异常为出现故障或存在潜在故障。定制单元404,用于在新故障出现时,定制新故障的故障诊断程序。所述获取单元401包括接收单元4011、分析单元4012和存储单元4013。所述获 取单元401用于获取被监控系统的运营日志,被监控系统包括运营系统的每台主机,如应 用服务器、Web服务器、营业终端等,运营日志包括被监控系统中每台主机的每天的业务运 行异常情况,如每台主机的负载均衡情况、SQL执行异常情况、函数执行或者网络超时、每个 业务调用函数的失败次数及失败原因。所述接收单元4011,用于接收被监控系统生成的运营日志,输出至所述分析单元 4012。通过运营日志,可以及时得到每台主机每天的业务运行异常情况,包括负载均衡情 况、SQL执行异常、函数执行或者网络超时以及函数失败次数及原因等。
所述分析单元4012,用于对接收到的运营日志中每个故障的相关数据进行分析, 获得故障数据,输出所述存储单元4013。通过分析单元4012分析分析单元4012接收到的 运营日志,可以及时获得执行每个业务时出现的故障数据,可以通过这些故障数据的进一 步分析,找到被监控系统出现的原因,从而制定解决故障的程序或方法。 所述存储单元4013,用于按照故障与业务的对应关系存储分析单元4012输出的 故障数据。所述生成单元402进一步包括更新单元4022,用于对已生成的故障case库4021进行更新。通过对故障case库 4021的更新,保证故障case库中的数据的实时性,为系统可以及时解决被监控系统出现的 故障提供保障。根据上述技术方案可知,本发明实施例提供的技术方案解决了现有技术中移动业 务运营支撑系统的网管系统无力监控业务处理级别,无法获取营业终端的网络情况,需要 繁琐的人工交互才能查找和定位故障原因的问题,能够快速准确地定位现有移动业务运营 支撑系统中出现的问题,提高业务运营支撑系统业务处理的效率,达到能够准确实现故障 定位、大大提高响应速度,提高故障诊断的速度和效率的技术效果。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/ RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器, 或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
权利要求
一种故障诊断方法,其特征在于,包括获取每个业务的故障数据;根据所述故障数据,生成故障case库;当被监控系统出现异常时,根据从故障case库中获得的与所述异常对应的故障case,对所述异常进行在线诊断;所述出现异常为出现故障或存在潜在故障。
2.根据权利要求1所述方法,其特征在于,所述获取故障数据的步骤包括根据接收到的被监控系统生成的运营日志,获取每个业务的故障数据,并存储所述故 障数据。
3.根据权利要求1或2所述方法,其特征在于,所述获取故障数据的步骤进一步包括 所述故障数据包括整个业务的函数调用关系;所述当被监控系统出现异常时的步骤包括当被监控系统出现异常时,从故障case库中获得的与所述异常对应的故障case,根据 所述故障case中整个业务的函数调用关系,准确定位被监控系统异常的位置,分析异常原 因,对所述异常进行在线诊断。
4.根据权利要求3所述方法,其特征在于,所述生成故障case库的步骤进一步包括 根据所述整个业务的函数调用关系,每个业务与故障case库中的至少一个故障case关联。
5.根据权利要求1所述方法,其特征在于,所述生成故障case库的步骤包括根据所述故障数据,针对每个故障,生成对每个故障的故障诊断程序,将所述故障诊断 程序存储在指定数据库中,生成故障case库,每个故障诊断程序对应一个故障case。
6.根据权利要求1或5所述方法,其特征在于,所述生成故障case库的步骤进一步包括当有新故障出现时,定制新故障的故障诊断程序,将所述新故障的故障诊断程序存储 在故障case库中,保持对故障case库的实时更新。
7.根据权利要求1或2或5所述方法,其特征在于,所述对所述异常进行在线诊断的步 骤包括当某个业务出现故障时,根据故障case库进行在线诊断时,根据所述业务与相应故障 case的关系,按照应用系统层次顺序由下而上的执行故障case,定位故障原因。
8.根据权利要求1或2或5所述方法,其特征在于,所述对所述异常进行在线诊断的步 骤进一步包括根据在线诊断确定的故障原因,快速修复故障或对出现故障的业务组件进行替换。
9.一种故障诊断系统,其特征在于,包括获取单元、生成单元和诊断单元 所述获取单元,用于获取每个业务的故障数据,输出至所述生成单元; 所述生成单元,用于根据接收到的每个业务的故障数据,生成故障case库;所述诊断单元,用于被监控系统出现异常时,从所述生成单元获取与所述故障对应的 故障case,对所述异常进行在线诊断,所述出现异常为出现故障或存在潜在故障。
10.根据权利要求9所述系统,其特征在于,所述获取单元包括接收单元、分析单元和 存储单元所述接收单元,用于接收被监控系统生成的运营日志,输出至所述分析单元; 所述分析单元,用于对接收到的运营日志中每个故障的相关数据进行分析,获得故障 数据,输出所述存储单元;所述存储单元,用于按照故障与业务的对应关系存储分析单元输出的故障数据。
11.根据权利要求9所述系统,其特征在于,所述生成单元进一步包括 更新单元,用于对已生成的故障case库进行更新。
12.根据权利要求9所述系统,其特征在于,所述系统进一步包括 定制单元,用于在新故障出现时,定制新故障的故障诊断程序。
全文摘要
本发明实施例提供了一种故障诊断方法及系统,获取每个业务的故障数据;根据所述故障数据,生成故障case库;当被监控系统异常时,根据从故障case库中获得的与所述异常对应的故障case,对所述异常进行在线诊断;所述异常为出现故障或存在潜在故障。解决了现有技术中移动业务运营支撑系统的网管系统无力监控移动业务处理级别的问题,无需人为参与诊断故障,能够实现故障的准确定位,提高了故障诊断的速度和效率。
文档编号H04W24/04GK101848477SQ20091008017
公开日2010年9月29日 申请日期2009年3月24日 优先权日2009年3月24日
发明者李小平, 杨乃印 申请人:亚信科技(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1