一种面向方面的软件容错能力增强工具
第29卷第2期 2012年2月 计算机应用与软件 Computer Applications and Software Vo1.29 NO.2 Feb.20l2
一种面向方面的软件容错能力增强工具
黄焱艺 于 阳 彭 鑫赵文耘 (复旦大学计算机科学技术学院上海200433) 摘 要 容错是保障软件可靠性的重要手段。该目标是利用对软件系统静态分析的信息,生成具有客错能力的方面文件来增强 软件系统的容错能力。首先利用抽象语法树的分析工具,来获得一些有用信息,比如异常类型和抛出异常的方法。然后通过模板生 成工具生成相应的恢复代码,利用面向方面机制,将代码动态编织入系统中。最后做一个案例证明方法在实现容错增强方面的可 行性。 关键词 软件容错 中图分类号TP317 面向方面 工具 文献标识码A
AN ASPECT.oRIENTED SoFTWARE FAULT ToLERANCE ENHANCEMENT TOoL
Huang Yanyi Yu Yang Peng Xin Zhao Wenyun (School ofComputer Science,Fudan Un#e ̄ity,Shanghai 200433,China) Abstract Fault tolerance is an important means to assure software reliability.The goal of this paper is to use the infommtion of static analysis on software system to form the aspect file with fault tolerance capability for enhancing the fault tolerance capability of software system. We first use the analysis tool of abstract syntax tree to get some useful information,such as the type of exception and the method of exception throwing.Then we use template generation tool to generate corresponding recovery code,and use aspect—oriented mechanism to weave the code into the system dynamically.Finally,we make a case to prove the feasibility of the method in realising fault tolerance enhancement. Keywords Fault.・tolerance of software Aspect・-oriented Tool
0 引 言 软件系统正越来越多的应用到生活的方方面面,但是开发 一个没有缺陷的软件系统通常是非常困难的,因此软件有时会 失效,失效的后果可能只是造成一些不方便(比如电视机遥控 器不能用),也可能是灾难性的(比如商业飞机上的软件故 障)…。为了使软件系统在出现失效时能够继续运行,提出了 容错技术,容错是保障软件可靠性的重要方式。文献[2]讲述 了一些当前的容错技术,包括恢复块,N版本编程等。异常处理 是构建高可靠性容错系统的一个重要方面。异常处理最早是由 John Goodenough在1975年在文献[3]中提出来的。现在异常 通常都被定义为在程序执行过程中影响程序正确行为的特殊事 件。程序语言的设计者经常忽略异常机制,这就让开发异常处 理代码的开发者觉得开发一个好的异常处理代码是困难的,容 易出错的,而且效率不高。并且,对异常处理不完美的程序来 说,当程序出现异常,系统就会停止运行,极大影响了程序可靠 性和用户体验,所以异常处理在高可靠系统的实现中有着重要 的作用。 本文给出一个工具,该工具通过对抽象语法树静态分析的 信息来定位异常和判定异常信息,由此选择异常恢复策略,结合 AOP技术,工具实现自动生成异常捕获代码,生成AspeetJ程序 模板,并且通过分析代码定义了常见异常的通用处理模式,同时 支持用户自定义异常处理方式。 1背景介绍
Java的异常处理机制包含三部分:Throws说明可能抛出的 异常,调用该方法必须处理这些事件;将可能抛出异常的代码放 在try块中,处理放在catch块中,finally用于恢复系统状态; Throw后面跟异常对象类型,说明抛出的异常。对于Java异常 可分为检查异常和未检查异常。本文主要处理检查异常。文献 [4]中研究表明,程序员并不常书写代码处理异常,更多时候是 采取忽略或者简单返回一个缺省值并终止程序的方式来处理, 而不是真正的去规划恢复策略,书写恢复代码。而很多时候对 异常恢复策略的规划是有意义的。由于异常处理可能引发的控 制流复杂性和异常本身的复杂性,比如即使是同一个异常,处理 策略也经常是各不相同的,这就给异常处理策略的规划增加了 难度。 由于异常分布的散乱性,直接在系统中书写异常代码会和 已有代码交缠在一起,因而在异常处理中引入面向方面的思想 是有意义的。面向方面的编程是面向对象编程的有效补充,提 供了新的语言特性来增强模块化和分离关注点,可以以非侵入 方式改变程序的执行方式,极大地降低了异常处理代码和原代
收稿13期:2011—05一O7。国家自然科学基金(90818009)。黄焱
艺,硕士,主研领域:软件容错自适当。 10 计算机应用与软件 2012血
码的耦合性 J。但是面向方面能否增加系统的模块化仍然是 一个值得探讨的问题。文献[6]中指出,如果异常处理代码很 大程度上是上下文相关的,那么使用面向方面技术带来的好处 就有限,但是如果能事先规划好,面向方面会是一个很好的补 充。所以本文通过工具提供了自动的代码生成,同时也提供了 一定的灵活性,与上下文相关的内容,我们允许开发者自己定 义。通过自定义的代码生成工具生成方面文件,对已有的程序 进行打补丁式的补充,增强了程序的异常处理和容错能力。 2工具介绍 为了实现容错处理,就必须能先对异常定位并分析异常,并 给出相应的恢复策略,我们开发了一个工具。这个工具结合抽 象语法树静态分析的信息生成恢复策略,然后自动生成Aspec ̄ 文件,实现异常的修复,达到容错效果。 2.1工具框架介绍 工具的运行过程主要包含两个部分。第一部分,利用抽象 语法树来获取异常所在的方法位置信息、方法参数和方法返回 类型等信息。第二部分,是一个自动生成方面文件的工具。工 具从抽象语法树分析工具分析的结果出发,对异常和异常所在 的方法进行分析,利用string template工具,把抽象语法树中的 分析得到的信息设置到要生成的方面文件中,对每个异常生成 一个默认的方面文件。方面文件动态切入源代码中实现了默认 的异常恢复策略,由于默认异常恢复策略不能保证对所有的异 常处理都有正确的效果,所以工具也允许用户自定制异常恢复 策略,更加灵活和个性化。 2.2抽象语法树分析工具 抽象语法树SAT(Abstract Syntax Tree)是源代码经过词法 分析和语法分析得到的产物,作为程序的一种中间表示形式,能 够包含编译单元的完整表示,可以比较直观地展示整个程序的 语法结构,语法树的建立是在词法分析、语法分析、语义分析的 过程中逐渐产生的。其中词法分析对源程序进行分析,并形成 符号表,作为下一步语法分析做准备,接着语法分析初步形成具 有相应语法结构的中间节点的抽象语法树。最后语义分析,把 名字和操作符进一步处理,产生具有表示类型信息的对象和符 号表的标准的抽象语法树。这时语法树就是完整的抽象语法树 了,它包含了程序结构的基本信息。如图1所示。
图1 int p=0;while(k>0)ll抽象语法树结构 抽象语法树在程序分析和程序开发等诸多领域有广泛的应 用,比如经常用来做代码克隆检测、程序数据流,控制流的分 析等。 为了定位异常产生的位置和异常所在方法和其他方法的调 用关系,这里使用抽象语法树的分析工具来得到程序结构的基 本信息。该工具是一个Eclipse插件,用来做静态代码结构分 析,使用工具可以得到代码中异常的种类,异常所在的类,异常 所在的方法和异常是被catch还是被throw,工具如图2所示。 : …毒 印 _一_ _一…”_ 竺 曼 。 冉 舷 i i 舯酗 r■■_ -__’ 图2抽象语法树代码分析工具 通过该工具可以分析出每个类的方法、参数,抛出的异常以 及每个类之间方法的调用关系,这些信息对于后面生成方面文 件是必不可少的。抽象语法树工具是对源码的静态分析,但是 由于运行时的上下文信息是比较难以获取的,所以我们这里只 对代码做静态分析。根据静态分析得到的信息生成异常处理代 码,正如文献[7]提出的指导原则之一,异常处理必须提供上下 文信息,这里开发者可以利用工具进行进一步的自定制来获取 上下文信息,实现相应的恢复。 2.3设置工具描述 我们开发了一个设置工具,工具中定义了处理异常的面向 方面文件模板,根据模板,利用模板生成工具String Template生 成用于对当前系统做异常处理的方面文件。图3是工具的一个 使用界面。
图3设置工具 首先,选择一个已经用抽象语法树分析过的项目,比如图3 的jforum;然后,由于异常经常是分散在程序中的不同位置,因 此对于抽象语法树分析的结果,我们按照异常的类型来进行分 类,因为同一类型的异常处理方法总是相对于不同类型异常的 处理方法要相似的多;当在ExceptionSetting框中选中特定异常 类型后,抛出这个异常的所有方法,都在第三个框中列出来。包 括类名、方法名、方法参数类型和返回类型。这些信息是生成面 向方面文件的必要信息。 2.4策略的描述 文献[8]提出了一个面向方面的框架来支持Web服务的监 控和恢复,主要是致力于Web服务的运行时监控,以及根据监 控信息来合成Web服务。在恢复的时候,提到三个通用的恢复 策略分别是重试、忽略、可选,但是对于通用策略的代码自动生 成仍然没有做,我们文章试图在通用策略的自动代码生成上做 些尝试。通用恢复策略如图4所示。一般来说,如果重试不成 功,可以忽略(skip)当前异常,或者选用其他可选的方式再重新 尝试,也就是上文所说的可选(alternative)。 对于异常类型和策略的对应关系是一种多对多的关系,同 样是使用的retry策略,但是处理的可能是两种不同的异常。比 如IOException的产生可能是由于远程资源访问不到,而SQLEx. ception可能是数据库的访问出现问题,截然不同的两种异常,
第2期 黄焱艺等:一种面向方面的软件容错能力增强工具
却可以使用同一种retry策略。反过来,当前数据库出现错误, retry通常只能修复那些瞬时性错误,对于非瞬时性的错误更有 效的方法是采取alternative策略自己定制。异常和策略之间的 对应关系是复杂的多对多关系,对这种关系中知识的提取是将 来的一个研究方向。
面向方面中间件
Microcomputer Applications Vo1.24,No.5,2008 综述 微型电脑应用 2008年第24卷第5期 文章编号:1007—757X(2008)5-0001 03 面向方面中间件 刘敬勇,张立臣,钟 勇 摘要:中间件应用领域的不断扩展,给中间件体系结构的设计带来了困难,中间件的体系结构必须在通用性与专用性之 间寻找平衡。传统的中间件体系结构产生这些问题的一个基本原因是:使用垂直分解过程获得的软件分解模型不能同时模块化 共存的正交设计需求。本文总结了针对专门领域的面向方面中间件开发的三种工具:AspectIX和QuO处理Qos关注点,DIL 从功能代码中分离协议实现。在建造一个中间件系统时,使用这些工具可以获得较好的模块性、可配置型和代码的演化性。 关键词:面向方面;中间件;分布式系统;关注点分离 中图分类号:TP311.52 文献标识码:A 1引言 中间件是介于操作系统和各种分布式应用程序之间的 个软件层,它建立分布式软件模块之间互操作的机制,屏蔽 底层分布式环境的复杂性和异构性,为分布式应用程序的开 发提供支持。近几年来,随着中间件技术的不断进步,像Web Services、CORBA、J2EE和.NET不仅被用于传统的企业计算 平台,而且对于一些在运行时有苛刻的资源限制并要求实时 性、高性能、高可靠性的领域有着广泛的应用。例如中间件 系统被应用在Ci SCO ONS 15454光传输平台上,用来处理硬 件配置和管理软件与硬件驱动程序之间的通信。…应用领域的 扩大使得中间件系统的能力得到不断延伸。 2传统中间件体系结构面临的问题 由于中间件应用领域的不断拓展,这给中间件体系结构的 设计带来了困难,即中间件的体系结构必须在通用性和专用 性之间寻找平衡。因为,一方面巾间件供应商希望自己的中 间件产品尽可能支持较多的应用领域,所以这些中间件产品 往往提供了 个相对完整的特性集合,然而这导致用这些中 间件开发的系统要求庞大的内存空间和足够的计算资源。另 一方而,中间件设计师希望优化中间件体系结构,使它们在 支持具有特定运行时要求,比如实时性、高可用性和高可靠 性的应用领域时性能最佳。这样传统中间件体系结构的限制 体现出来: ’ (1)通用性过强:很多 间件实现为了支持多种不同的 目标平台,包含了大量的特性集合。然而,在实际应用『{1, 对于特定领域的具体实例,很多特性并不是一直需要,有些 特性甚至在应用程序的整个生命周期都毫无必要。当前的中 间件体系结构缺乏在程序部署时或者运行时将自己裁剪至满 足特定需要的有效方法。 (2)变化过于迅速:虽然网络通信模型是相对稳定的, 中间件系统中的模型和抽象却很少保持不变,因为中间件体 系结构需要不断地适应新的特殊领域的计 算特性。比如,对 象适配器是CORBA平台的 一个负责管理服务和分派请求的构 件。即使对象适配器扮演的角色自CORBA诞生以来就没有显 著的变化,但它的体系结构却经过了一系列的发展:从基本 的对象适配器到支持可移植性、可拦截型以及多线程。中间 件抽象模型的发展必要的也是不可避免的,但是,它同时也 必须保持对建立在旧的中间件模型之上的应用程序的向后兼 容性。 (3)同种技术,不同规范:为了适应来自不同应用领域 的需求,中间件往往需要增生。比如,对象管理组织除了定 义CORBA标准外,还定义了实时CORBA规范以处理执行的可 预测性,容错CORBA规范以处理高可用性,高性能CORBA规 范以处理数据和高密度计算的应用,以及用于嵌入式平台的 最小CORBA规范。Java平台也出现了在不同平台上使用不I—J 的Java虚拟机而产生的相同问题,微软的.net平台也有相似 的趋势。这些不同的规范使中问件供应商面临挑战,他们必 须根据特定的规范重新架构系统,而这同时也让用户感到平 台很难理解和使用。 传统的中问件体系结构产生这些问题的一个基本原因 是:使用垂直分解过程获得的软件分解模型不能同时模块化 共存的正交设计需求。这就需要寻找…种新的分解方法来解 决这一问题。 3面向方面技术应用于中间件系统 面向方面编程是一种基于关注分离的新技术,系统不同 的关注能够分离并单独设计,可以解决面向对象编程难于解 决的复杂问题。例如在以往的结构化程序设计和面向对象编 程技术中,某些程序设计代码分散在系统各个模块中,从而 导致系统难以开发和维护,面向方面编程技术能很好的解决 这个问题,并能提高模块的重用性。“ 面向方面软件设计把系 基金项目:国家自然科学基金资助项目(60474072、60174050) 广东省自然科学基金(04009464、010059) 作者简介:刘敬勇,广东工业大学计算机学院,中国科学院成都计算机应用研究所,博士研究生,讲师,广州 510006,成都610041 张立臣,广东工业大学计算机学院,博士,教授,广州 510006 钟勇,中国科学院成都计算机应用研究所,博士,研究员,博士生导师,成都610041
铁路信号计算机联锁系统(毕业论文)
铁路信号计算机联锁系统(毕业论文) 西安理工大学继续教育学院毕业设计(论文)
继续教育学院毕业设计(论文)
题目:铁路信号计算机联锁系统
概述分析
院系(站):
西安机电信息技师学院
学科专业: 机电一体化
学 生: 大专五班
学 号:
指导教师: 杨军良
西安理工大学继续教育学院毕业设计(论文)
2016年9月
西安理工大学继续教育学院
毕业设计(论文)任务书
院系或教学站点:
学生姓名:
专业班级:
批准日期:
一、毕业设计(论文)课题
二、毕业设计(论文)工作自 年 月
日起至 年 月 日止
三、毕业设计(论文)进行地点:
四、毕业设计(论文)的内容:
毕 西安理工大学继续教育学院毕业设计(论文)
负责指导教师:
指 导 教 师:
铁路信号计算机联锁系统
目 录
1计算机联锁系统基础 ................................ 1
1.1 计算机联锁概述 ...................................... 1
1.2计算机联锁的功能 ..................................... 1
1.3计算机联锁主要技术条件 ............................... 2
1.4计算机联锁的应用现状 ................................. 3
2计算机联锁工作原理 .................................5
2.1 计算机联锁系统硬件组成 .............................. 5
2.2计算机联锁系统基本原理 ............................... 6
2.3计算机联锁系统可靠性及安全设计 ....................... 7
3计算机联锁系统故障维护及探讨 ...................... 11
3.1 联锁设备常见故障分析处理 ........................... 11
3.2 故障种类 ........................................... 11
4计算机联锁系统的发展前景 ............................ 13
4.1计算机联锁系统的必要性 .............................. 13
4.2计算机联锁系统的发展 ................................ 14
参考文献 ............................................ 171
铁路信号计算机联锁效系统
摘 要
计算机联锁系统是实现铁路现代化和自动化的基础设施之一,是一种高效、安全的车站联锁设备,是提高车站通过能力的基础。同时,计算机联锁系统还具有故障—安全性能,与电气联锁系统相比,其在设计、施工和维护方面都较为便捷,且便于改造和增加新功能,为铁路信号向智能化和网络化方向发展创造了条件。
大数据分析的六大工具介绍
云计算大数据处理分析六大最好工具
一、概述
来自传感器、购买交易记录、网络日志等的大量数据,通常是万亿或EB的大小,如此庞大的数据,寻找一个合适处理工具非常必要,今天我们为大家分享在大数据处理分析过程中六大最好用的工具。
我们的数据来自各个方面,在面对庞大而复杂的大数据,选择一个合适的处理工具显得很有必要,工欲善其事,必须利其器,一个好的工具不仅可以使我们的工作事半功倍,也可以让我们在竞争日益激烈的云计算时代,挖掘大数据价值,及时调整战略方向。
大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器、气候信息、公开的信息、如杂志、报纸、文章。大数据产生的其他例子包括购买交易记录、网络日志、病历、事监控、视频和图像档案、及大型电子商务。大数据分析是在研究大量的数据的过程中寻找模式,相关性和其他有用的信息,可以帮助企业更好地适应变化,并做出更明智的决策。
二、第一种工具:Hadoop
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop
是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
常用的各个系统及其特点
操作系统的类型有哪些,其中开源的有哪些,基本介绍一下不
同操作系统的特点
一、Windows类
特点 :
1 . 直观、高效的面向对象的图形用户界面,易学易用;
2. 用户界面统一、友好、漂亮;3. 丰富的设备无关的图形操作;
4. 多任务;
5. 面向对象式的程序设计思想;
6. 丰富的Windows软件开发工具。 二、NetWare类
特点:
1. 高速文件系统
NetWare 在文件访问速度方面具有明显的优势。所使用的主要技术有:
(1).目录HASH查找法
(2).磁头电梯式寻道
(3).磁盘Cache
(4) .FAT索引等
从而可以大大提高硬盘通道总的吞吐量,提高文件服务器工作效率。
2. 硬件适应性强
(1). NetWare是一个不依赖于任何连网环境的网络操作系统,使得不论使用何
种传输介质、拓扑结构、网卡连成的局域网络,都可以使用NetWare。
(2).NetWare可支持以太网、令牌环网、双绞线以太网等网络硬件环境,支持
数百种不同种类的网卡。
(3). NetWare通过网络驱动程序访问网卡,不同的网卡要求使用符合Novell
规范的不同的网络驱动程序。
3. 三级容错
NetWare是第一个建立容错机制的微机网络操作系统,具有三级容错能力。
(1). 第一级容错是防止硬盘的区域故障而采取的容错手段.
如热修复与写后读效验、UPS监控等。 (2). 第二级容错是防止硬盘表面的整个损坏而采取的容错手段。
如NetWare中可以磁盘镜像和磁盘双工。
(3). 第三级容错是防止服务器损坏而采取的容错手段。
在NetWare中可以采用双服务器备份。
4. 四种安全机制
NetWare建立了四级安全机制,从而有效地防止了对重要数据和文件的窃取和破
坏。
(1).入网限制
(2). 用户权限
(3). 受托权限
(4). 文件和目录属性等
5. 网络监控与管理
微服务架构的设计理念
微服务架构的设计理念
随着互联网的发展,应用的复杂性不断提高,软件架构设计越来越成为一个重要的话题。而微服务架构(Microservices
Architecture)的出现,为我们提供了一个更加灵活和可伸缩的架构模型。本文将介绍微服务架构的设计理念,以及其带来的好处和应用案例。
一. 微服务架构的基本概念
微服务架构是一种将应用程序构建为小型自治服务的软件架构风格。每个服务都围绕一个特定的业务领域(bounded context)而构建,可以独立运行、测试和部署。各个服务之间通过轻量级的通信机制相互协作。
微服务架构的核心理念是服务拆分。将一个大型的、复杂的应用程序拆分成多个小型服务后,每个服务都可以独立实现、扩展和部署。同时,通过API网关、配置中心、服务注册中心等基础设施,微服务架构可以实现服务的自动发现、负载均衡、容错和服务访问控制。
二. 微服务架构的设计理念可以概括为以下几点:
1. 面向业务领域:将一个大型的应用程序拆分成小型服务时,要围绕业务领域进行拆分。每个服务都应该定义明确的业务边界,避免服务之间的功能重叠和耦合。
2. 服务自治性:每个服务都应该具有自主性,具体体现在以下几个方面:独立的数据存储、独立的运行环境、独立的API接口和独立的部署途径。这样,每个服务可以独立实现、测试和部署。
3. 透明的通信机制:由于每个服务都是自治的,服务之间需要通过通信来协作完成任务。因此,微服务架构需要提供透明的通信机制,包括:API接口规范、RPC通信协议和服务注册中心等。
4. 基础架构的自动化:微服务架构需要依赖各种基础设施来实现自动化的服务发现、部署、调用和监控。例如:服务注册中心、配置中心、API网关、负载均衡器和日志监控等。
5. 持续交付和自动化测试:由于微服务架构的服务数量和部署频率都很高,因此需要采用持续交付和自动化测试等工具和流程,来确保服务的质量和稳定性。
三. 微服务架构的好处
基于.NET Framework实现可容错AOP框架
第28卷
VO1.28 第7期
No.7 计算机工程与设计
Computer Engineering and Design 2007年4月
Apr.2007
基于.NET Framework实现可容错AOP
邢桂芬, 朱映杭
(江苏大学计算机学院,江苏镇江212013) 框架
摘 要:为了消除传统面向对象开发模式在处理公共系统功能所产生的代码混乱、一致性差和扩展困难问题,在.NETFrame-
work环境下,采用面向方面(aspect-oriented programming,AOP)模式,创建了方面管理器完全分离软件中横切多模块的系统功
能,并新增加了异常处理传递机制,加强了面向方面的容错性能;并结合面向方面编程(object-oriented programming,OOP),建
立了易于设计、理解和维护的系统,提高了代码的质量、产量及其扩展性。
关键词:方面;面向方面;面向对象;横切关注点;织入;异常处理;容错性 中图法分类号:TP3l1.1 文献标识码:A 文章编号:1000-7024(2007)07-1671-03
Error-tolerable aspect oriented programming framework in.NET framework
XING Gui—fen,ZHU Ying—hang
(College ofComputer,Jiangsu University,Zhenjiang 212013,China)
Abstract:In order to solve the problems such as confusion code,poor consistency and extension in traditional object-oriented progra- mming pattern for systematic public functions,it is suggested to create the aspect manager to separate the systematic function cross-
面向计算流体力学应用开发框架的容错周期优化方法
龙源期刊网
面向计算流体力学应用开发框架的容错周期优化方法
作者:张拥军 徐新海
来源:《计算机应用》2014年第02期
摘 要:
针对计算流体力学应用开发框架容错支持能力的不足,提出了一种新的容错周期优化方法。该方法基于系统故障的概率建模,计算得到理想最优容错周期;并结合计算流体力学应用场数据输出的特点,在线确定实际检查点备份时机。三个典型应用的实验结果表明,在不同平均无故障时间的系统上,与固定时间步进行容错的方法相比,该方法总能够得到最优的容错开销。用户可以基于该方法通过框架接口便捷地设置容错周期,并有效降低容错所引起的开销。
关键词:容错;周期优化;检查点;计算流体力学;开发框架
中图分类号: TP302.8
文献标志码:A
Fault-tolerance period optimization method for
computational fluid dynamics-oriented application development frameworks
Abstract:
For the fault-tolerance shortage of CFD (Computational Fluid Dynamics)-oriented application
development framework, a new fault-tolerance period optimization method was proposed. The
method computed the ideal best fault-tolerance period based on the probability model of systems
faults, and online determined the occasion of real check points with the consideration of CFD fields
基于AOP的普适环境下软件容错方法
第29卷第9期
2012年9月 计算机应用与软件
Computer Applications and Software V01.29 No.9
Sep.2012
基于AOP的普适环境下软件容错方法
米杨黄林鹏
(上海交通大学计算机科学与技术系上海200240)
摘要 随着普适计算的发展,容错作为普适计算中的一个重要研究领域也受到越来越多的关注。普适环境的动态性和开放性
导致很难在开发阶段就确定容错策略,而在主流的OOP开发方法中,容错作为一个非功能性的关注点,会对功能性的关注点造成横
切,极易导致散射或缠结,影响代码维护和重用。提出一个基于AOP的普适环境下的容错方法,使用AOP实现关注点分离,基于该
方法,在OSGi平台上搭建了一个容错的软件开发框架,使用该框架开发的软件能够自动检测服务出错并进行错误恢复。
关键词 普适计算 AOP关注点分离 容错 错误发现 错误恢复
中图分类号TP311 文献标识码A
DOI:10.3969/j.issn.1 oI的_386x.2012.09.023
AN AoP.BASED SoFTWARE FAULT.ToLERANCE APPRoACH
IN PERVASIVE ENVIRoNMENT
Mi Yang Huang Linpeng
(Department of Computer Science and Technology,Shanghai Jiao Tong University,Shanghai 200240,China)
Abstract With the development of pervasive computing,fault—tolerance,as an important research field in pervasive computing,is
attracting more and more attention.The dynamic property and openness of the pervasive environment makes it difficult to confirm the fault—
一种高可用、自容错及自恢复Web Service集成软件调用技术
一种高可用、自容错及自恢复Web Service
集成软件调用技术
汪海明
(中国移动浙江公司,浙江杭州310(}06)
摘要:Web Service作为SOA架构中常见的服务实现方式,通常在服务提供方实现高可用、性能管理以及容错性. 成本高且实施难度大,文章提出了一种在消费方用软件实现Web Service负载管理和流量控制的调用框架,解决了 不同规模的应用系统集成时造成的系统冲击问题,并实现了Web Service调用的自容错和自恢复,具有低成本和实 施简单的特点,具有较高的实用价值。 关键词:SOA;ESB;Web Service;性能管理;可用性;客错性 中图分类号:TP399 文献标识码:A 文章编号:1009—2374(2011)13 - }_
一、概述
随着企业I T系统的发展,企业级应用架构也经 历了独立应用阶段、EAI(Enterpri Se App1iCatiOn
IntegratiOn企业应用集成)阶段和SOA(Servi Ce— oriented Archi Lecture面向服务架构)阶段。SOA逐渐成
为企业信息化建设的主流,越来越多的应用趋向_丁采用面
向服务的方式来设计。服务的管理、消费成为确保IT系统 成功实施的关键。SOA体系使用ESB(企业服务总线)米管
理服务,实现服务的注册、查找及路南等管理功能。 ESB提供可靠消息传输,服务接入,协议转换,数
据格式转换,基于内容的路由等功能,屏蔽了服务的物 理位置,协议和数据格式。ESB并不是某一个产品,而
是一种应用集成框架和设计模式,不同的提供商对ESB
的理解也各有不同,不同的ESB产品 服务的商町用和
容错性方面的支持水平也参差不齐。另一方面,企业IT
系统从EAI阶段向S0A阶段的演进是‘个复杂而长期的过 程。 此,在服务消费时充分考虑服务的流量控制、高 可用等问题是非常有实际意义的。
Web Servi ce是一种常见的服务实现方式,本文提出
