学位论文 > 优秀研究生学位论文题录展示

基于日志的大规模分布式软件系统可信保障技术研究

作 者: 饶翔
导 师: 王怀民
学 校: 国防科学技术大学
专 业: 计算机科学与技术
关键词: 大规模分布式软件系统 可信保障 故障定位 日志分析
分类号: TP311.53
类 型: 博士论文
年 份: 2011年
下 载: 64次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着计算技术和通讯技术的不断发展,以通信、存储和计算为核心的信息技术服务已经广泛渗透于社会生活的各个层面,7′24小时持续可信提供服务成为此类服务的基本需求。作为承载此类信息服务的软件基础设施通常以分布式方式组成,具备用户规模巨大、数据规模巨大以及计算设施规模巨大等规模化特征。规模化特征会导致此类软件系统在运行时的行为和环境复杂:一方面,软件自身的缺陷很难完全排除;另一方面,软件也不可能在开发阶段预期运行时面临的所有问题。因此,大规模分布式软件系统往往需要在系统组成构件持续失效的环境下提供服务,严重威胁7′24持续运行的高可信需求。“监视-执行”作为一种有效的系统运行时可信保障机制,依赖于“故障定位”技术准确、高效地判断当前系统发生的故障,从而及时执行相应的可信确保操作。日志信息作为系统行为的有效抽象被广泛应用于故障定位的两类方法:对已知故障特征行为的建模和对系统正常运行特征的建模。然而,在软件行为以及运行环境复杂的大规模分布式软件系统中,现有基于日志信息的故障定位工作仍面临巨大挑战,突出表现在:对已知故障建模的过程中存在大量噪声日志,影响模型的有效性;对已知故障建模的过程中会遗漏故障的持续性特征,导致故障定位结果产生大量误报、漏报;对系统复杂的正常运行行为难以提取稳定的特征模型,异常行为检测效率低下,难以运用于在线环境。本文针对上述挑战,以企业级大规模分布式软件系统为研究对象,从基于故障特征的故障定位方法以及基于正常行为特征的故障定位方法两方面展开研究,通过使用系统日志信息的时间序列属性、统计属性以及事件属性,结合小波变换、相似度计算以及聚类索引等相关技术,针对噪声日志过滤、故障持续特征建模以及异常行为检测等关键问题展开研究。本文的主要贡献包括:(1)故障特征提取中基于时间序列相似度的噪声日志过滤方法针对故障特征提取中的噪声日志过滤问题,本文结合Haar小波变换提出了一种基于时间序列相似度的噪声日志过滤方法。该方法将每类日志信息建模为时间序列,用于提取日志信息在特定时间窗口内的数量变化规律。通过逐一提取候选噪声日志的特征模板,与故障特征建模阶段该类日志的行为进行比对,从而将与故障无关的日志删除。在阿里巴巴云计算公司内部生产集群环境的实验中,本方法将故障模型精确率提高至96%(检测窗口为50秒时),召回率提高至94%(检测窗口为100秒时)。进一步,为了降低噪声日志过滤方法的时间复杂度高,本文研究了噪声模板的聚类索引问题。通过使用时间序列相似度对噪声模板进行聚类,并使用高效的索引结构skip-list对类簇内的样本模板进行索引,能够将噪声日志过滤方法的性能提高43%。(2)故障特征提取中基于日志项状态变化的故障持续状态建模方法针对故障持续性特征的建模问题,本文提出了一种基于伴随状态追踪机制的方法。由于不同故障特征其持续时间和持续状态变化不同,在检测窗口之外的故障特征信息往往会被错误识别或者遗漏。基于伴随状态追踪机制的故障监测方法通过将故障特征建模为日志类型项状态变化模型,能够区分当前日志项是由新故障所引起还是之前故障的残留特征。在阿里巴巴云计算公司内部生产集群环境中的实验中,本方法将系统对故障特征识别的有效性(F-Measure均值)提高至90%(监视窗口为6秒时),从而能够有效地消除系统故障报警的误报与漏报。(3)正常行为特征提取中基于线程级日志序列的异常检测方法针对日志序列的异常检测问题,本文使用正常运行状态下的线程级日志序列作为系统正常行为模板,从而将异常日志检测问题转换为相似序列模板匹配问题。为了解决原始日志序列模板相似度进行聚类的稳定性及异常检测的时效性缺陷,本文使用日志类型特征向量的余弦相似度方法来近似计算序列相似性,并使用Top-K搜索限定待比对的模板集合,同时结合日志类型倒排索引对初始模板集合进行快速筛选,在Hadoop平台中将相似模板匹配的效率提高了8.6倍(相似度阈值为0.95,取Top50的情况下)。进一步,为了提高日志模板检测精确度,本文提出了基于子序列特征向量聚类索引的序列模板匹配方法。由于日志类型特征向量缺乏时序信息,导致其对线程级日志序列相似度计算的“近似”效果较差。本文在重复连续子串分析的基础上,将线程级日志序模板建模为子序列集合,以子序列标识为粒度构建子序列特征向量,从而对日志序列模板进行聚类。该方法在保持一定匹配效率的基础上,同时考虑了日志序列的局部时序关系,在Hadoop平台中将对比日志类型特征向量方法将匹配精确度提高了15%(相似度阈值为0.90,取Top40的情况下)。此外,为了辅助上述研究工作,本文进一步构造了日志监视、分析、展示工具集LogAnalyzer,实现了对在线日志行为实时展现以及对不同场景下系统行为的离线分析,从而帮助系统维护与管理人员从日志信息的角度理解系统行为。

全文目录


摘要  11-13
Abstract  13-16
第一章 绪论  16-44
  1.1 研究背景  16-25
    1.1.1 大规模分布式软件系统  16-17
    1.1.2 大规模分布式软件系统运行时面临的可信问题  17-22
    1.1.3 基于运行时监视的可信保障机制  22-25
  1.2 相关研究  25-39
    1.2.1 故障定位问题的技术发展路线  25-29
    1.2.2 基于日志信息进行故障定位的关键问题  29-37
    1.2.3 相关工作存在问题  37-39
  1.3 本文主要工作  39-41
    1.3.1 本文研究内容  39-40
    1.3.2 本文主要贡献  40-41
  1.4 本文组织方式  41-44
第二章 噪声日志过滤  44-68
  2.1 引言  44-45
  2.2 问题描述  45-49
    2.2.1 基本观察  45-47
    2.2.2 相关定义  47-48
    2.2.3 问题描述  48-49
  2.3 基于时间序列相似度的日志过滤方法  49-54
    2.3.1 离散小波变换  49-50
    2.3.2 时间序列相似性度量  50-51
    2.3.3 噪声日志过滤算法  51-54
  2.4 基于跳表索引的日志过滤优化  54-58
    2.4.1 基于时间序列相似度的噪声模板聚类方法  54-55
    2.4.2 跳表索引结构  55-56
    2.4.3 基于跳表的噪声模板索引方法  56-57
    2.4.4 基于跳表的噪声日志过滤算法  57-58
  2.5 实验  58-66
    2.5.1 故障注入测试框架  58-59
    2.5.2 测试用例  59-60
    2.5.3 实验结果  60-66
  2.6 小结  66-68
第三章 故障持续特征建模  68-92
  3.1 引言  68-69
  3.2 问题描述  69-75
    3.2.1 基本观察  69-73
    3.2.2 相关定义  73
    3.2.3 问题描述  73-75
  3.3 基于决策树模型的主特征建模方法  75-79
    3.3.1 决策树模型  76-77
    3.3.2 基于 C4.5 决策树模型的主特征建模方法  77-79
  3.4 基于伴随特征追踪的故障定位方法  79-85
    3.4.1 伴随状态追踪器总体框架  79-80
    3.4.2 基于 prefixSpan 的伴随状态集合提取  80-84
    3.4.3 伴随状态验证器  84-85
  3.5 故障持续追踪整体框架  85-86
  3.6 实验  86-90
    3.6.1 测试用例  86
    3.6.2 冗余伴随状态过滤有效性  86-88
    3.6.3 故障特征有效性评估  88-90
  3.7 小结  90-92
第四章 线程级日志序列异常检测  92-124
  4.1 引言  92-93
  4.2 问题描述  93-98
    4.2.1 线程级日志模型对系统行为的展现  94-95
    4.2.2 线程级日志模型对线程逻辑的描述能力  95-96
    4.2.3 线程级日志序列对故障原因分析的支持能力  96-98
    4.2.4 线程级日志序列分析问题  98
  4.3 线程级日志序列异常检测基本方法  98-101
    4.3.1 序列最长公共子串问题  98
    4.3.2 计算最长公共子串长度  98-99
    4.3.3 获得最长公共子串  99-101
  4.4 基于日志类型特征向量的线程级日志序列异常检测  101-106
    4.4.1 基本思路  101-102
    4.4.2 构建基于日志类型的倒排索引  102-104
    4.4.3 基于余弦相似度的结果评分函数  104-105
    4.4.4 Top-K 搜索  105
    4.4.5 算法复杂度分析  105-106
  4.5 基于子序列特征向量的线程级日志序列异常检测  106-115
    4.5.1 基本思路  107-109
    4.5.2 基于重复连续子串分析的线程级日志序列划分方法  109-114
    4.5.3 算法复杂度分析  114-115
  4.6 实验  115-121
    4.6.1 Gridmix 基准测试  115
    4.6.2 进程崩溃故障注入  115-117
    4.6.3 实验基本信息  117
    4.6.4 实验结果  117-121
  4.7 小结  121-124
第五章 日志分析辅助工具集 LogAnalyzer  124-134
  5.1 引言  124-125
  5.2 LogMonitor 工具  125-126
    5.2.1 LogMonitor Master  125-126
    5.2.2 LogMonitor Worker  126
  5.3 LogViewer 工具  126-129
    5.3.1 日志信息基本查询与统计  127
    5.3.2 日志类型项累积直方图  127-129
  5.4 LogCoverage 工具  129-133
    5.4.1 日志覆盖率  130-131
    5.4.2 不同场景下的日志类型对比  131-133
  5.5 小结  133-134
第六章 结束语  134-138
  6.1 本文工作及主要创新点  134-136
  6.2 未来工作展望  136-138
    6.2.1 系统故障特征建模改进  136-137
    6.2.2 系统正常行为特征建模改进  137-138
致谢  138-140
参考文献  140-148
作者在学期间发表的学术论文  148-150
作者在学期间参与的科研项目  150

相似论文

  1. 基于用户兴趣特征的图像检索研究与实现,TP391.41
  2. 基于故障指示器的配电网故障定位研究,TM711
  3. 多回路振荡的故障定位研究,O231
  4. 油浸式变压器故障诊断与局放故障定位研究,TM407
  5. 基于LXI总线的飞机发动机控制器自动检测,V233
  6. CAD测试图档日志分析及其错误标示自动判别技术研究,TP391.7
  7. 基于参考文档模型的个性化Web检索研究,TP391.3
  8. 高端容错计算机故障日志分析系统的设计与实现,TP302.8
  9. 贯通自闭线路行波测距技术,TM755
  10. 基于系统调用的文件系统入侵检测的设计与实现,TP393.08
  11. 大规模模拟电路故障传播特性研究,TN710
  12. 电缆测试仪故障定位单元研制,V267.4
  13. 某车载随动装置检测系统的设计,TP274
  14. 基于错误解释的故障定位方法研究,TP307
  15. 配电网馈线自动化主站系统关键技术研究,TM76
  16. 基于改进模型和二进制粒子群算法的电网故障诊断研究,TM76
  17. 基于DSP的馈线自动化远方终端的研究,TM76
  18. 配电自动化系统关键技术研究及配变监测终端开发,TM76
  19. 基于LabVIEW的数字电路板板级自动测试系统的研制,TP274.4
  20. 基于多元统计分析的航空发动机故障诊断研究,V263.6
  21. 基于生物调和序列的软件故障定位方法研究,TP311.53

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件维护
© 2012 www.xueweilunwen.com