非侵入式容错软件模型及实现

合集下载

信息安全技术练习题库及答案

信息安全技术练习题库及答案

信息安全技术练习题库及答案一、单选题(共59题,每题1分,共59分)1.关于TCP/IP模型与OSI模型对应关系的描述中,正确的是()A、TCP/IP模型的应用层对应于OSI模型的传输层B、TCP/IP模型的传输层对应于OSI模型的物理层C、TCP/IP模型的互联层对应于OSI模型的网络层D、CP/IP模型的主机-网络层对应于OSI模型的应用层正确答案:C2.数据备份按照备份时所备份数据的特点可以分为3种:完全备份、()和系统备份。

A、增量备份B、环境备份C、设备备份D、媒体备份正确答案:A3.在移位密码中,密钥k=1,明文字母为Z,对应的密文字母为()。

A、AB、BC、CD、D正确答案:A4.()是指如果数据有变动或数据变动达到指定的阈值时才对数据进行备份。

A、环境备份B、增量备份C、完全备份D、系统备份正确答案:B5.端到端加密方式是()层的加密方式A、物理层B、传输层C、网络层D、数据链路层正确答案:B6.假设k密钥,c密文,m明文,移位密码加密的公式为()。

A、m=c+kB、c=m-kC、k=m+cD、c=m+k(mod26)正确答案:D7.从古代到19世纪末,这个时期生产力水平低,加密、解密方法主要以纸、笔或者简单的器械来实现,这个时期提出和使用的密码称为()。

A、古典密码B、公钥密码C、非对称密码D、双钥密码正确答案:A8.使用两个不同密钥(K1,K2),采用加密-解密-加密算法的3DES为()模式。

A、DES-EDE2B、EEE3C、DDD4D、EDE正确答案:A9.OSI参考模型中,网络层的主要功能是A、路由选择.拥塞控制与网络互连B、在通信实体之间传送以帧为单位的数据C、提供可靠的端—端服务,透明地传送报文D、数据格式变换.数据加密与解密.数据压缩与恢复正确答案:A10.在网络攻击的多种类型中,攻击者窃取到系统的访问权并盗用资源的攻击形式属于哪一种?A、侵入攻击B、信息篡改C、govD、信息盗窃正确答案:A11.在移位密码中,密钥k=6,明文字母为U,对应的密文字母为()。

《计算机控制技术》计算机控制系统的设计与实现

《计算机控制技术》计算机控制系统的设计与实现
输入/输出通道设计、人机操作界面设计及可靠性设计等几个方面。 (1)计算机系统选择与配置 (2)过程输入/输出通道设计 (3)人机交互界面硬件设计 (4)可靠性设计
在以上硬件设计的每一个阶段,都应该遵循边设计,边调试, 边修改的原则,包括元器件测试、电路模块调试、子系统调试等。 这样,问题发现得越早,对整个控制系统的设计、研制的影响就越 小,付出的代价也越小。
(3)来自控制系统内部的干扰 主要由系统内部元器件及电路间的相互电磁辐射产生,
如逻辑电路相互辐射、模拟地与逻辑地的相互影响及元器件 间的相互不匹配使用等。这都属于控制设备制造厂家对系统 内部进行电磁兼容设计的内容,比较复杂,作为应用部门无 法避免,可不必过多考虑,但要选择具有较多应用实绩或经 过考验的系统。
经过上述系统仿真调试,并取得满意控制性能的计算机控 制系统运到现场就可以进行现场安装调试了。现场调试是实际 生产过程对计算机控制系统性能的全面检查与性能评估,与实 验室的半实物调试相比,需要特别注意系统的安全性与抗干扰 等问题。在通过现场安装调试后,就可以投入实际生产过程进 行试运行。在试运行过程中,往往会出现许多错综复杂、时隐 时现的现象,暴露设计缺陷,这时设计者应当认真分析问题根 源,寻求解决方法。同时,系统的可靠性与稳定性也应当长期 考验,针对现场特殊的工作环境,采取行之有效的措施,在经 过一段时间的试运行并取得满意的性能评价之后,整个控制系 统就可以正式投入到实际运行中了。
8.2.4 系统的调试与运行 在硬件、软件的设计过程中,一般已经进行了分模块调试。在系
统投入现场运行之前,还需要在实验室进行硬件、软件的联合调试与 系统的仿真调试。软、硬件联调是整个调试的基础,这个步骤在硬件 设计时就开始了,即逐个功能模块进行边设计边调试,并将调试好的 模块逐步加入硬件系统进行联调。在硬件调试通过的情况下,就可将 软件系统加入进去,进行控制系统硬件软件的联合调试,联合调试的 目的是检验系统硬件、软件设计的正确性与运行的可靠性。在联合调 试过程中,不但会发现软件错误,还会发现一些在硬件调试中未发现 的硬件故障或设计缺陷,可根据情况予以修正。上述软件、硬件的联 合调试一般是脱离实际的被控过程进行的,主要在于检验系统硬件、 软件设计在功能上的正确性,不能全面反映整个控制系统的性能,因 此,还必须经过整个系统的仿真试验来检验系统的实际控制性能是否 能满足指标要求。

软件架构师论文(必读10篇)

软件架构师论文(必读10篇)

软件架构师论文(必读10篇)软件架构师主要是指从事高层次的开发构架工作的人才,其工作内容和指责在于软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成计划,不仅考验软件开发技术,还考验组织管理能力。

本文整理了10篇"软件架构师必读论文";,希望这些优选范文能让大家对此行业的了解更加透彻。

软件架构师论文(必读10篇)之第一篇:移动应用软件架构安全技术研究摘要:TD-LTE网络、单片机等技术的发展和应用, 有效促进了智能移动设备的普及, 比如智能手机、平板电脑等, 这些移动设备部署的应用软件也越来越广泛, 提高了人们社交通讯、在线学习、智能旅游、移动办公的便捷性, 但是移动应用软件架构也面临着较多的安全威胁, 比如勒索病毒、DDOS攻击等, 这些木马病毒利用移动应用软件架构通信接口存在的漏洞, 大肆攻击移动应用软件, 给使用者带来了极大的损失。

本文基于笔者多年的工作实践, 详细地描述移动应用软件架构特点及其面临的安全威胁, 同时利用先进的免疫网络、非对称加密、访问控制、安全访问等技术进一步提高系统移动应用软件的防御能力, 具有重要的作用和意义。

关键词:移动应用软件,四层架构,勒索病毒,非对称加密移动通信已经进入到4G和5G时代, 为人们提供了更高的移动通信带宽, 基于移动通信的智能设备也层出不穷, 比如华为P20、三星盖世S9、苹果智能手机、平板电脑等, 这些智能设备承载的应用软件也非常多, 比如手机QQ、微信、微博、手机银行等, 进一步提升了移动通信应用范围, 方便了人们工作、生活和学习。

移动应用软件开发时采用的架构种类多种多样, 开发语言也非常多, 不同应用软件的模块在集成时难免会存在一些漏洞, 因此许多病毒、木马都利用这些软件架构漏洞进行攻击, 比如勒索病毒、DDOS攻击等, 可以盗窃应用软件的登录用户名和密码, 破坏用户数据的完整性和安全性, 给人们带来了严重的财产损失。

Fluent软件特点及在室内温度计算中的应用

Fluent软件特点及在室内温度计算中的应用

Fluent软件特点及在室内温度计算中的应用摘要: Fluent是目前应用广泛的流体力学计算软件,Fluent主要用来模拟温度场、气流场的分布状况。

应用Fluent软件对住宅室内温度进行了数值模拟,给出了散热器不同位置时的温度和风速可视化图像。

关键词: Fluent软件;散热器;数值模拟;计算流体力学随着人们生活水平的提高,消费者在装修时越来越重视室内美观。

新型的钢制散热器外形美观、产品多样化和系列化,是不少装修家庭的首选。

由于建筑装饰单位和购买散热器的用户并非专业人员,不具备计算散热器数量的专业知识,因此对散热器的数量及安装位置没有明确的概念。

在传统的设计观念中,由于害怕房间供热不足而盲目增加散热器片数,使散热器安装面积过大,导致冬天室温过高,既造成了能源浪费,又难于调节温度,同时还会出现热力失调的问题。

CFD商用软件能形象直观地模拟出流体状况,对于研究室内温度舒适度有很高的价值。

国外对散热器的研究起步比较早,早在上世纪初,英、美、苏等发达国家就有一批学者积极从事这一领域的研究并取得了一些成果。

前苏联在散热器片数取整方面的研究较早并作出了相应的规范[1-2]。

国内从上世纪90年代开始对采暖工程设计计算进行研究,开发出了一批散热器数量计算软件,如王华章利用Excel表格进行采暖系统房间热负荷和采暖管道的水力计算,并编制了一种散热器数量计算程序,降低了计算工作的繁杂性[3]。

但以往研究仅仅给出了散热器的片数研究,在相同入口温度的情况下,散热器安装位置和安装方式对房间温度的影响分析比较少,尚缺乏具体的计算,未给出具体的参考建议。

本文利用Fluent数值模拟软件对室内温度和风速进行模拟计算,主要讨论了散热器在不同安装位置下的温度场和速度场分布,对传统的研究方法进行了改进和提升。

1 Fluent软件1.1 Fluent 软件特点(1)Fluent软件采用基于完全非结构化网格的有限体积法,而且具有基于网格节点和网格单元的梯度算法;(2)Fluent软件包含丰富而先进的物理模型,使得用户能够精确地模拟无粘流、层流、湍流。

001-力控scada平台软件eforcecon

001-力控scada平台软件eforcecon

产品概述力控SCADA平台组态软件eForceCon是力控产品家族的重要组成部分,是力控科技为企业用户的工业信息化应用提供的一个基础软件平台,该SCADA平台的设计涵盖从现场监控站到调度中心,为企业提供从下到上的完整的生产信息采集与集成服务,从而为企业综合自动化、工厂数字化及完整的“管控一体化”的解决方案提供支撑平台。

力控SCADA平台组态软件以分布式区域实时数据库为核心,分布式实时数据库技术可以保证生产数据精确输出并完成可视化,实时数据库无限的分层结构可使大型企业信息尽收眼底。

力控SCADA平台组态软件具有灵活的系统应用架构,可以自由构建不同规模的应用,满足用户对企业信息化的多样性要求,用户在此基础上可以灵活的构建适合企业应用的解决方案。

力控SCADA平台组态软件支持独立的历史归档数据库,可进行海量历史数据归档,方便历史数据追忆。

具备分布式的数据源管理模式,SCADA平台软件的可视化人机交互界面无需编程,直接通过远程数据源的组态方式就能与远程数据库进行信息交互,完成生产监控、查询、曲线分析等各项功能,满足企业“两化融合”的需要。

应用架构力控SCADA平台组态软件eForceCon具备灵活的架构,能满足现有多种系统架构要求。

力控产品提供了针对各行业业务特点的部署架构方案,即可以在生产调度系统中部署SCADA实现集中中控制模式,亦可以按照2级单位部署监控及调度系统来实现集中监视与分散控制管理,力控产品可适应多种架构模式来面对多种业务模式。

典型的SCADA系统架构图⏹通信服务器:通讯服务器能以有线,无线等多种通讯方式与地理分散的控制设备进行实时采集与控制,通讯服务器将实时数据提供给SCADA系统的实时及历史服务器来完成数据的上传与指令下达。

通信服务器支持冗余配置,支持设备冗余与链路冗余。

SCADA平台组态软件的通讯服务程序可独立进行部署。

⏹实时数据服务器:分布式的实时数据库支持多种工厂模型的信息数据类型及结构,提供多种功能点类型。

故障注入设备

故障注入设备

在仿真和测试环境的设计中实现故障模拟在系统仿真和测试环境的设计中,可以对数据、信息流和控制时序的变化进行故障注入,即设计算法时不仅要考虑系统正常的状态,还需要考虑各种异常状态,包括传感器和执行机构异常、通信接口异常、信号传递异常、控制时序异常等。

有些通用仿真测试平台(如德国TechSAT 公司的ADS-2,国内的FireBlade 等系统)的软件具备故障注入功能,可以很方便地实现算法的故障设计。

不管是通用的仿真测试平台还是专门设计的系统,一般都采用COTS(Commercial-Off-the-Shelf)功能模块,这样就只能模拟硬件无关类型的故障,更多体现在处理算法方面,而对于具体的物理层和电气层的故障模拟还需要采用其他手段采用专业的故障注入设备目前专业性的故障注入设备还比较少,德国TechSAT 公司提供的ADS2-FIBO 可模拟航电系统连接电缆上可能发生的连接故障(包括短路、断路、阻抗等)。

北京旋极信息技术股份有限公司吸取国外相关系统的设计经验,结合国内的需求,设计了IceBlade 故障注入系统。

针对各种航电接口,该系统可在物理层、电气层、协议层和应用层实现故障注入功能,而它特有的探针故障注入功能可以在PCB 层面实现故障注入。

IceBlade 故障注入系统介绍IceBlade 故障注入系统用于高稳定、高可靠性电子设备的调试、测试和验证过程。

通过模拟电子系统在运行过程中可能出现的异常来实现设备的容错性测试、故障模拟、故障定位和故障分析。

系统可以模拟通信总线和接口信号在物理层、电气层、协议层的性能变化,在不对被测系统进行任何改动的条件下实现故障注入功能。

系统提供电源故障注入和探针故障注入功能,用以模拟电源质量变化情况和线路板上芯片级故障。

IceBlade 故障注入系统在实现故障模拟的同时,还具有对目标信号进行观察、记录和分析的能力,提供最详细的信号,便于调试、测试人员发现任何潜在的威胁。

2022年下半年(下午)《电子商务设计师》案例分析真题_8

2022年下半年(下午)《电子商务设计师》案例分析真题2022年下半年(下午)《电子商务设计师》案例分析真题问答题(共9题,共9分)1.某企业委托软件公司设计企业管理系统,该系统涉及企业的许多商业机密,对软件安全性、可靠性、易用性等方面提出了较高的要求。

【问题1】为了达到预期的安全性,测试人员采用了静态代码安全测试、动态渗透测试、程序数据扫描三种方法对系统进行安全性测试。

其中,(1)对应用系统进行攻击性测试,从中找出系统运行时所存在的安全漏洞;(2)在早期的代码开发阶段完成;(3)通过内存测试来发现缓冲区溢出类的漏洞。

【问题2】为了方便用户使用本系统,测试人员对软件的易用性进行了测试。

功能易用性测试是软件易用性测试的一个方面,它包括业务符合性、功能定制性、业务模块的集成度、数据共享能力、约束性、交互性和错误提示等。

其中,(4)是测试界面风格、表格设计、数据加密机制等是否符合相关的法律法规及使用人员的习惯;(5)是测试数据库表的关联和数据重用程度;(6)是测试关键操作前是否有明确提示。

(4)~(6)备选答案:A.业务符合性测试B.业务模块的集成度测试C.约束性测试D.功能定制性测试E.数据共享能力F.错误提示测试【问题3】为了验证系统的可恢复性,测试人员从自动恢复和人工恢复两个方面着手测试。

自动恢复需验证数据恢复、(7)和(8)等机制的正确性;需人工干预的系统恢复还需(9),确定其是否在可接受的范围内。

(7)~(9)备选答案:A.重新初始化B.数据备份C.重新启动D.关闭系统E.界面刷新F.估计平均修复时间G.估计平均故障时间【问题4】技术员小张选择以下三个实例对系统进行测试:A.输入错误的密码B.手工拔下客户端的网线,在许可的时间范围内再插上C.关闭服务器电源,判断备份机器是否能够正常启动其中,(10)进行的是可恢复性测试;(11)进行的是安全测试;(12)进行的是故障转移测试。

2.某公司的商务网站需要实现公司产品的网上销售,预采用+SQL Server 技术开发,网站主要功能包括商品列表、商品详情、订单管理、订单结算和会员管理等。

信息安全练习卷


ANSWER:CD 10、 下列属于 PKI 相关标准的是( )。
A. CHAP
B. NTLM
C. X.509
D. Kerberos
E. LDAP
F. X.500
ANSWER:CEF
11、 数字签名是用于保障()
A、机密性
B、完整性
D、不可否认性 E、可靠性
C、 认证性
ANSWER:BCD 12、 防范网络嗅探的主要方法有( ) A. 安全的拓扑结构 B. 用静态的 ARP 代替动态的 ARP 或者 IP-MAC 对应表 C. 用静态路由代替动态路由 D. 会话加密
第 1 页 共 12 页
C. SMSS D. WINLOGON ANSWER:D 7、 恶意代码往往会进行“三线程”运动。其中注入其他可执行文件内,与恶意代码进程同步的是哪个线
程?( ) A. 主线程 B. 监视线程 C. 守护线程 D. 注入线程 ANSWER:C 8、 下列不具有容错特性的磁盘阵列类型是( )。 A. RAID-0 B. RAID-1 C. RAID-4 D. RAID-5 ANSWER:A 9、 证书和证书撤销信息的分发办法是( )。 A. 发布 B. 注册 C. 下载 D. 导入 ANSWER:A 10、在 Windows 系统中,如果仅对某个文件夹中更改过的数据进行备份,最好选择哪种备份?( ) A. 普通备份 B. 差异备份 C. 增量备份 D. 副本备份 ANSWER:C 11、下面的哪一项不是对称密钥加密技术的有关问题:( ) A. 认证中心的安全 B. 有 m 个用户的网络组中,每对用户之间有一个不同的密钥,那么这个网络组将需要 m(m-1)/2 个密钥 C. 密钥的安全分发 D. 密钥的泄漏使攻击者能够模仿密钥的所有者 ANSWER:A 12、关于入侵检测技术,下列哪一项描述是错误的( ) A.入侵检测系统不对系统或网络造成任何影响 B.审计数据或系统日志信息是入侵检测系统的一项主要信息来源 C.入侵检测信息的统计分析有利于检测到未知的入侵和更为复杂的入侵 D.基于网络的入侵检测系统无法检查加密的数据流 ANSWER:A 13、在支持认证、完整性和保密性的大多数安全协议中:( ) A. 使用公开密钥加密技术生成数字签名 B. 使用私有密钥加密技术生成数字签名 C. 使用 DES 生成数字签名

软工测试复习

软件测试基础1.为什么要进行软件测试?——为了保证软件质量“程序测试是为了发现错误而执行程序的过程”。

测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。

在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。

2.软件质量的内涵总结说来,高品质软件应该是相对的无产品缺陷(bug free)或只有极少量的缺陷,它能够及时递交给客户,所花费用都在预算内,并且满足客户需求,是可维护的。

但是,有关质量好坏的最终评价依赖于用户的反馈3.软件缺陷的定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。

4.软件错误产生的可能原因是:1)需求规格说明书包含错误的需求、或漏掉一些需求,或没有准确表达客户所需要的内容2)需求规格说明书中有些功能不可能或无法实现3)系统设计(system design)中的不合理性4)程序设计中的错误5)程序代码中的问题,包括错误的算法、复杂的逻辑等5.软件缺陷的种类:按照严重性级别的定义不尽相同,但一般可以概括为4种类型:1)致命的(fatal):致命的错误,造成系统或应用程序崩溃(crash)、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。

2)严重的(critical):严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,提示信息不太准确,或致命的错误声明3)一般的(major):不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。

如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长4)微小的(minor):一些小问题,对功能几乎没有影响,产品或属性仍可使用,如有个别错别字、文字排列不整齐等。

5)此外,有时还需要“建议(Suggestion)”级别来处理测试人员所提出的建议或质疑。

第7章 网络操作系统概述


7.2.3 Novell NetWare操作系统
美国Novell公司在1985年开始发布了NetWare操作系统,它 与DOS和Windows等操作系统一样,除了访问磁盘文件、内存使 用的管理与维护之外,还提供一些比其他操作系统更强大的实用程 序和专用程序,包括用户的管理、文件属性的管理、文件的访问、 系统环境的设置等。NetWare操作系统可以让工作站用户像使用自 身的资源一样访问服务器资源,除了在访问速度上受到网络传输的 影响外,没有任何不同。随着硬件产品的发展,这些问题也不断得 到改善。该操作系统具有如下特点。 (1)强大的文件及打印服务能力 NetWare能够通过文件及目录高速缓存,将那些读取频率较 高的数据预先读入内存,来实现高速文件处理。 (2)良好的兼容性及系统容错能力 较高版本的NetWare不仅能与不同类型的计算机兼容,而且 还能在系统出错时及时进行自我修复,大大降低了因文件和数据丢 失所带来的不必要的损失。 (3)比较完善的安全措施 NetWare采用四级安全控制原则以管理不同级别的用户对网 络资源的使用。
第7章 网络操作系统概述
7.1 网络操作系统的概念
如果用户的计算机已连接到一个局域网中,但是没有安装网 络操作系统,那么这台计算机也不能提供任何网络服务功能。从 OSI参考模型角度看,完整的计算机网络有七层结构,而初期的局 域网标准只定义了低层(物理层、数据链路层)协议,实现局域网 协议的硬件与驱动程序只能为高层用户提供数据传输功能,因此早 期的局域网常被称为通信网络。 一个局域网要能实现分布式进程通信,为用户提供完备的网 络服务功能,就必须具备局域网高层软件,如网络操作系统,使网 络上各计算机能方便而有效地共享网络资源以及为网络用户提供所 需的各种服务的软件和有关规程。网络操作系统就是利用局域网低 层提供的数据传输功能,为高层网络用户提供共享资源管理服务, 以及其他网络服务功能的局域网系统软件。 网络操作系统与运行在工作站上的单用户操作系统(如 Windows98等)或多用户操作系统由于提供的服务类型不同而有 差别。一般情况下,网络操作系统是以使网络相关特性最佳为目标 的。如共享数据文件、应用软件以及共享硬盘、打印机、调制解调 器、扫描仪和传真机等。一般计算机的操作系统,如DOS和OS/2 等,其目的是让用户与系统及在此操作系统上运行的各种应用之间 的交互作用最佳。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4242 2010,31(19) 计算机工程与设计ComputerEngineering andDesign ・软件与算法・ 非侵入式容错软件模型及实现 

胡 平, 王忠群, 王 勇 (安m_v-程科技学院计算机科学与工程系,安徽芜湖241000) 

摘要:为消除或降低容错软件开发人员对非业务逻辑的关注度要求,提升系统的可维护性,提出了一种支持容错逻辑动 态织入的非侵入式容错软件模型。通过在设计阶段将容错逻辑抽取成为若干独立可管理的容错切面,并在运行时将其动态 织入软件系统中以保证软件服务质量。分析了声明式容错策略,探讨了以软件冗余副本为容错机制的容错切面建模和编织 方法。最后基于此模型扩展了一个J2EE常规应用,使之具有容错能力。测试结果表明,该模型能有效提升容错软件的开发 效率和可维护性。 关键词:容错软件;侵入性;面向切面设计;声明式策略;动态织入;副本 中图法分类号:TP311.5 文献标识码:A 文章编号:1000—7024(2010)19—4242.05 

Model and realization of non—invasive fault tolerance software HUPing,WANGZhong—qun,WANGYong (Department of Computer Science and Engineering,Anhui University Technology and Science,Wuhu 24 1 000,China) 

Abstract:To eliminate or reduce concern ofnon—business logic inflict on developers offault.tolerance software.and increase the main. tainability of system,a non—invasive model is proposed,which supports fault—tolerance logic weaving dynamically.Fault-tolerance logic is extracted to independent and manageable aspects at design stage,and is woven into the system to satisfy quality ofservice ofsoft— ware at runtime.The declaration offault-tolerance policy is constructed,and then how to modeling and weave the fault—tolerance aspects by using component replicate is discussed.Finally,a regular J2EE application is extended to satisfy the capability of fault-tolerance based on this mode1.Experimental results show that the model promotes development productivity and maintainability offault-tolerance software effectively ̄ Key words:fault・-tolerance software;invasion;aspect--oriented design;policy declaration;dynamic weaving;replicate 

0引 言 当前,对以网格计算、普适计算、自主计算等为代表的新 型计算模式的研究正成为热点,它们都将如何保证软件系统 的容错和自适应能力等问题作为了研究内容,并取得了一些 重要的研究成果。但同时也应注意到,在开发容错软件(或扩 展已有不具有容错能力的系统)时,需要开发人员关注大量用 以实现容错逻辑的代码(即非功能性代码,它们往往与业务无 关,且“横切”了多个功能性模块),致使容错系统具有了侵入 性,增加了系统的开发难度和维护成本。另一方面,在指定不 同容错策略或性能指标时,容错软件中各构件(特别是含有容 错逻辑的构件)的行为可能是完全不同的,而传统的面向对象 分析、设计方法缺乏对容错软件系统在设计阶段的统一描述 机制,降低了容错逻辑的可管理性和复用性。 近年来,一些研究人员开始关注于将AOP(aspect-oriented programming,面向切面编程)技术用于容错软件的实现以消除 或降低上述侵入性,并已取得了一些重要成果。文献[6]6从消 息被ORB拦截和转发的时序的角度来刻画构件副本的交互 行为,并提供了一套用以在设计阶段定义副本切面属性、状 态、操作及织入的基本语义;文献[9]从容错机制的角度,利用 AOP技术为软件系统创建增量恢复缓存、时间冗余执行点、控 制流检测等切面来保证节点级的计算可靠性;文献[2】则提出 

一种支持针对不同中间件服务失效定制合适的故障检测和修 复机制,并利用AOP技术将容错机制插装到中间件中,使其 具备指定的容错能力。AOP技术为容错软件的具体实施提供 了新的解决途径,可有效提升系统的可理解性和可维护性,但 现有的相关研究成果未关注以下几个方面的问题:①在设计 阶段,如何精确描述切面结构及软件副本间的交互行为;②在 保证一定的容错级别和性能指标下,如何定量评价不同模块 的被侵入性程度;③缺乏通用的基于现有平台和技术的编程 级容错模型支持。我们认为,以上问题对于容错软件的具体 实施及评价都是必须要解决的问题。 

收稿日期:2009—10—16;修订日期:2009.12.28。 基金项目:安徽省自然科学基金项目(07o4l2058);安徽工程科技学院青年科研基金项目(2006YQ034)。 作者简介:胡平(1979一),男,湖北武汉人,硕士,讲师,研究方向为容错中间件、分布式计算; 王忠群(1965一),男,安徽芜湖人,硕士 教授,研究方向为分布式计算、软件协同与工作流; 王勇(1978--),男,安徽六安人,硕士,讲师,研究方向为分布式计算、智能Agent。 E・mail:JavaFounder@gmail.tom 胡平,王忠群,王勇:非侵入式容错软件模型及实现 2010,3 1(19)4243 本文将AOP和副本技术引入到容错软件的设计阶段,提 出了一种以软件冗余副本为容错机制的非侵入式容错软件模 型。该模型以声明式容错策略描述软件系统的服务质量和性 能指标,通过面向切面的UML扩展机制,在设计阶段精确刻 画容错切面的结构及副本问的交互行为,并在运行时通过拦 截和代理机制将指定的容错切面动态织入软件系统,最终达 到消除或最大程度降低系统中容错逻辑对业务逻辑的侵入性 的目标。最后,基于此模型扩展了一个J2EE实例系统,并对 其相关指标进行了验证和分析。 1非侵入式容错软件模型 1.1模型概述 一般而言,消除或降低侵入性可以分为3步:切面分离、 切面实现和切面编织。对于我们的容错模型而言,切面分离 主要体现在用各种容错指标和服务质量描述的容错策略上; 切面实现是对各种容错逻辑进行编码描述;而切面编织则是 将切面所描述的容错逻辑“添加”到系统所含的业务逻辑之 上,最终使得软件系统具有容错能力。模型如图1所示。 图1 支持容错逻辑动态织入的非侵入式容错软件模型 模型典型的工作场景如下: (1)服务请求者发出服务请求。一般情况下,该请求者是 请求服务的客户端,也可以是多个软件冗余副本所形成的集 群中的一员。 (2)服务请求由拦截器(Request Interceptor)截获并转发至 代理构件(DynamicProxy)。请求拦截器扮演着分派器的角色, 是容错应用(集群成员)公开给外界的唯一可见接口,其作用在 于:①对所有原本应发送至构件的服务请求进行统一控制和 管理(如初始化、身份验证、权限检查等);②对请求者/执行者 的依赖关系进行降耦。当服务请求者要求访问构件的业务逻 辑时,为了达到非侵入容错的目的,我们为原有应用的每个构 件设置了代理。代理构件是请求拦截器和原有构件的中介, 并且被织入了用以保证各种性能指标和服务质量的容错逻辑。 首次访问时,代理构件尚未被创建,则:①动态切面编织器(Dy— namic Aspects Weaver)装载和解析为应用配置的容错策略(FT Policy),后者在较高层次定义了各种服务质量、故障检测/恢复 机制(一般以XML格式描述),如图1中2.1。②依据容错策略, 动态切面编织器在切面管理器(AspectsManager)中匹配相关的 切面,并将这些切面所含的逻辑织入相应构件,最终创建出代 理构件,如图1中2.2、2.3。 (3)代理构件根据服务请求调用原有构件的业务逻辑。代 理构件并不含其对应的原有构件的业务逻辑代码,而只含转 发代码,业务逻辑的真正执行者仍然是原有构件。在完成业 务逻辑的同时,代理构件也负责完成容错逻辑(如事件通知、 服务质量、状态同步等)和其他非关键逻辑(日志、事务、安全 等),这些逻辑的执行细节对服务请求者来说是完全透明的。 在容错机制方面,模型采用了软件冗余副本的思想,即同 

一软件所含关键构件的多个副本形成一个集群,每个副本都 是该集群的成员。为了保证集群各成员间的状态一致性,我 们在模型中设置了集群管理器(GroupManager),其主要负责成 员加入/离开事件通知、消息发送/接收、成员状态的序列化/反 序列化等工作。 1.2声明式容错策略 基于目前主流面向对象编程语言的特点,较好的消除侵 入性的方法是声明式(或配置式)编程,即,让软件系统以某种 非编程的方式表达出自身要达到的各种性能指标或服务质量, 然后在运行时装载和分析这些需求,并将其动态“织入”系统。 容错策略从高层描述了容错系统应能达到的各种服务质量和 性能指标,以及当错误发生和相关指标不能被满足时,系统主 动采取的调整行为和适应机制,如下述的XML文件: <?xml version=”1.0”encoding=”UTF一8”?> <policy xmlns=”http://www.auts.edu.cn/SEDC/schemaJpolicy” xmlns:tt=-”http://www.auts.edu.crfSEDC/schema/fl” xmlns:qos=”http://www.auts.edu.cn/SEDC/schema/qos” 

相关文档
最新文档