[发明专利]一种发布/订阅分布式系统分层错误定位方法在审
申请号: | 201710749108.4 | 申请日: | 2017-08-28 |
公开(公告)号: | CN107566171A | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 沈卓炜;周滢滢 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 南京经纬专利商标代理有限公司32200 | 代理人: | 姜慧勤 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 发布 订阅 分布式 系统 分层 错误 定位 方法 | ||
技术领域
本发明涉及一种发布/订阅分布式系统分层错误定位方法,具体涉及基于错误传播模型的发布/订阅分布式系统分层错误定位方法,属于计算机技术领域。
背景技术
发布/订阅的通信模式具有松耦合的特点,但基于发布/订阅中间件构建的分布式系统的应用逻辑中,各构件之间往往有互相调用、依赖的紧耦合关系。系统中不同的业务逻辑对应着不同的流程,流程之间可能存在并发、构件共享、互斥等复杂的情况。当系统中出现错误时,由于构件之间通过消息的传递推动流程的进行,因此构件间具有逻辑上的依赖关系,导致系统具有错误传播的特点。在系统测试的时候,希望能由中间件自动进行错误定位来代替由人力进行错误定位。而在中间件层面,中间件并不了解系统的应用逻辑,并且发布/订阅通信模式的松耦合特点也掩盖了错误的传播路径,使得对错误的在线定位和溯源变得更加困难。
发布/订阅分布式系统的测试执行框架提供了对发布/订阅分布式系统的自动化测试能力。测试执行框架在获得了待测试系统的流程信息之后,能够自动地部署待测构件,收集测试数据及反馈测试过程中出现的错误信息。测试执行框架对外提供测试数据和错误信息相关接口,用户可基于这些信息进行进一步的开发。
发明内容
本发明所要解决的技术问题是:提供一种发布/订阅分布式系统分层错误定位方法,能够在发布/订阅分布式系统运行出错时对已经收集到的错误进行自动的在线错误定位,大幅提高用户检错纠错的效率。
本发明为解决上述技术问题采用以下技术方案:
一种发布/订阅分布式系统分层错误定位方法,包括如下步骤:
步骤1,从系统运行流程的描述文件中提取系统运行的应用逻辑关系,包括单个构件内的逻辑关系和构件间的逻辑关系,根据单个构件内的逻辑关系构建单个构件内的错误传播模型,根据构件间的逻辑关系构建构件间的错误传播模型;
步骤2,当有构件运行过程中出现不符合预期规定的行为时,各构件根据各自对应的单个构件内的错误传播模型对本构件上出现的错误进行定位,并标注定位结果,将错误及其定位结果上传至服务器端;
步骤3,当服务器端收到所有构件提交的错误及其定位结果时,根据构件间的错误传播模型进行构件间的错误定位,并将错误定位结果返回至用户。
作为本发明的一种优选方案,所述步骤1的具体过程为:
步骤11,根据系统运行流程的描述文件,分析系统运行过程中所有可能产生的错误实例;
步骤12,将所有可能产生的错误实例按照每个构件进行分类,得到单个构件内可能产生的错误实例;
步骤13,单个构件内可能产生的错误实例结合系统的错误类型故障树以及单个构件内的逻辑关系,生成单个构件内的错误传播模型;
步骤14,在服务器端提取构件间的逻辑关系,生成构件间的错误传播模型。
作为本发明的一种优选方案,步骤13所述单个构件内的错误传播模型采用错误实例故障树的形式表示。
作为本发明的一种优选方案,步骤14所述构件间的错误传播模型采用动作依赖图的形式表示。
作为本发明的一种优选方案,所述步骤2的具体过程为:
步骤21,当有构件运行过程中发生错误时,该构件对当前的错误查找其在错误实例故障树中的最小割集进行错误定位;
步骤22,将该错误及其定位结果记录在已定位错误列表中;
步骤23,将已定位错误列表上传至服务器端。
作为本发明的一种优选方案,所述步骤3的具体过程为:
步骤31,服务器端接收到各构件上传的错误信息后,将错误信息按照发生时间先后顺序进行排序,并存储在服务器端的未定位错误列表中;
步骤32,从未定位错误列表中按从后往前的顺序取出错误信息,根据动作依赖图进行定位,并显示错误定位结果。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明提出的分层错误定位方法在发布/订阅分布式系统运行出错时对收集到的错误进行自动的在线错误定位,大幅提高用户检错纠错的效率。
2、本发明提出的分层错误定位方法将错误定位过程分为离线定位和在线定位,即在错误还没有被检测出来时,就将流程的错误传播模型构建好,并在单构件上求解好每一个可能发生的错误实例的最小割集,减少了在线错误定位的时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710749108.4/2.html,转载请声明来源钻瓜专利网。