第 1章绪论
近年来 ,随着高度信息化的现代社会的飞速发展 ,各种成像技术的完善 ,以及相应的数据收集能力的持续增强 ,我们获得了越来越多的变化数据 ,当海量的模糊图像应用于军事目标的监测时 ,传统的人工图像判读方式已经不能满足信息获取的实际需求 ,因此迫切需要开展模糊图像信息处理技术的研究 .此外 ,目标识别和人们的身份鉴别已经渗透到日常生活的每一个方面 .金融、安全、网络、电子商务等无一不需要可靠的目标或身份鉴别技术 .传统的利用密码等物体或身份鉴别的方法具有易遗忘、易假冒等缺点 ,已不符合现代数字社会的需求 .而计算机是信息处理的必要工具 ,那么为保证软件系统的稳定性 ,就要对软件系统进行老化分析和再生方法研究 .研究老化与再生方法前 ,首先要对测量到的大量数据进行数据挖掘.
1.1本书的研究目标和意义
1.1.1研究目标
针对不同情况下的数据处理问题 ,本书研究开放环境下软件中间件运行时的软件老化、再生的数据处理方法 ;提出不完备的数据挖掘方法 ,并给出其与现有数据挖掘方法的比较 ;研究模糊图像的阈值处理方法 ;提出模糊图像的去模糊处理方法 ;讨论纹理图像的处理 ;给出小波的能量提取和目标的识别方法,并给出目标识别方法的比较.
本章从软件老化的不确定性因素的角度出发 ,首先 ,对软件老化检测的数据进行挖掘 ,给出一种新的数据挖掘方法 ,并把它与老的数据挖掘方法进行比较 .其次 ,对软件老化问题进行建模、预测 ,建立预测模型 ;以提高系统可靠性和不降低系统性能为出发点 ,研究具有软件再生特征的应用服务器软件中间件 (简称中间件 )系统 ,建立相应的系统理论模型 .再次,研究系统资源配置 ,主要是两种资源的配置方法 ,即给出软件再生的一种新方法 .最后 ,研究多种资源的配置 ,延缓软件的老化 .研究中间件运行时系统的稳定性特征 ,提出中间件运行时系统的多维度稳定性度量模型 ;基于该度量模型 ,结合预测与在线监控方法 ,给出相应的稳定性恢复机制 ;建立具有高稳定性特征的中间件系统理论框架 ,进行实验分析验证.
1.1.2研究意义
由于目前对于中间件运行时系统稳定性问题、航天航空不完备数据、极地高空模糊图像数据等的研究和应用几乎是一片空白 ,所以本书展开对中间件运行时系统的稳定性、不完备数据的挖掘、模糊图像数据处理等的研究具有重要的理论和实用价值 ,为该领域的研究提供理论依据以及新的方法 .本研究工作能够拓展人们的思维 ,并有益于培养人们的思考及解决问题的能力,这些能力具有持久的价值.
本书对不同情况下的数据挖掘所展开的研究具有重要的理论和实用价值 ,可为信息处理领域的研究提供理论依据以及新的方法 .本书主要是对软件中间件系统稳定性进行建模 ,并对稳定性恢复机制的理论和方法进行研究 ,它不但丰富了软件中间件理论的内容 ,并对该理论的进一步发展提供了重要的参考 ,而且为研究中间件运行时系统的稳定性、环境的可靠性问题提供了理论依据以及新的开发方法和实现途径 ,为中间件运行环境在线稳定能力检测提供了新的解决方案 ,为中间件控制台的检测系统设计开发以及中间件的故障自愈技术提供了理论依据和方法 ,这使得高可靠的中间件运行环境能够在互联网应用中发挥作用 ,并取得较大的社会效益和经济效益.
此外 ,随着发射的应用卫星日益增多 ,以及世界各国对周边地区环境监视的需求日益增长 ,模糊图像的理解和应用研究成为图像处理领域的一个热点问题 .对于模糊图像感兴趣区域目标而言 ,目标的检测、识别、分类对目标的动态监视、意图评估具有重要意义 .研究如何解决现实中模糊图像的理解问题 ,对降低信号的处理成本、减少操作人员的劳动强度,具有特殊的现实意义和广阔的实际应用前景 ,也为图像的更好识别和全局性理解提供了强有力的工具.
1.2国内外研究现状分析
1.2.1软件老化与再生
可信计算技术体现的是运行系统整体可靠性的思想 ,涉及硬件、软件、网络等多个方面 .关于可信计算目前尚无标准的、形式化的定义 ,各组织和个人都按照自己研究的侧重点对可信计算进行了描述性定义 .例如 ,“可信计算组织 ”(TCG)用实体行为的预期性来定义可信:如果一个实体的行为总是以预期的方式朝着预期的目标 ,则称这个实体是可信的[1]. ISO/ IEC 15408标准定义可信为:参与计算的组件、操作或过程在任意的条件下是可预测的 ,并能够抵御病毒和物理干扰 [2].文献 [3]认为 ,所谓可信是指计算机系统所提供的服务可以论证其是可信赖的 ,即从用户角度看 ,计算机系统所提供的服务是可信赖的 ,而且这种可信赖是可论证的 .闵应骅 [4]认为 ,可信计算是系统提供可信赖的计算服务的能力 ,而这种可信赖性是可以验证的 .沈昌祥 [5]认为 ,可信的概念是指 “一个实体在实现给定目标时其行为总是如同预期一样的结果”.
复杂开放环境下软件中间件运行时的系统稳定性是指 :系统在遭受攻击、故障和很多模糊不清的偶然事故时还能及时完成其任务 .在这种情况下 ,我们说软件中间件的生存力强 ,是可生存的 .那么 ,这里的稳定性是一种可生存性.
可生存性作为可信性的一个重要组成部分 ,概念最早出现在武器系统[6]和通信系统 [7]中,定义为系统被破坏或发生故障后服务可用的概率 . NeumAnn等于 1993年最先定义了网络系统可生存性 [8]:在任意的不利条件下 ,基于计算机通信系统的应用所具有的持续满足用户需求的能力 .目前引用较多的是 Ellison等给出的定义:系统在遭受攻击、故障和偶然事故时还能及时完成其任务的能力 [9,10].基于 Ellison的定义 ,不少学者提出了类似的可生存性定义 ,如 MoitrA[11]认为可生存性是系统抵抗攻击以及被攻击后仍能提供一定程度服务的能力 ; Wilson[12]认为可生存性是在确定的故障等事件下 ,系统仍能保持工作状态的能力 ; LoucA[13]认为网络可生存性包括两方面内容:在出现故障等情况下 ,系统还能保持或者恢复到可被用户接受的性能的能力 ,以及阻止或者转移潜在服务故障的能力 ;多个文献 [22.29]使用以下定义:系统在遭遇攻击、失效或故障时,仍能实时提供服务的能力.
目前对于可生存性的研究主要集中在网络安全方面 .随着计算机技术的不断发展 ,传统的保护 [14]和检测 [15.17]技术已经无法保证网络系统的安全性 .于是网络安全的研究重点逐步转向 “容忍 ”技术 ,即承认网络系统漏洞无法完全消除 ,入侵也不能全部防范 ,而采用的新思想 ——在系统遭受入侵和破坏时 ,系统能够触发一定的保护机制 ,使得系统仍能运行并提供一定的基本服务 ,在一定程度上消除入侵的影响 .可生存性就是在以上传统安全领域研究的基础上 ,提出一种在系统安全机制被破坏后 (自身和外在 ),保障系统基本功能并进行恢复的技术 .传统网络安全方法仍然是提高和保障系统可生存性的重要手段 ,但并不足以解决所有问题.
软件稳定性与网络可生存性问题的研究有一定的相关性 .保证网络系统的可生存性需要保证网络中软件的稳定性 ;复杂环境下软件系统的体系结构与网络系统存在相似性 ,同样面临与网络类似的可生存性问题 .此外 ,软件系统在设计阶段存在缺陷、错误等 ,通过传统的软件工程方法并不能完全解决 ;软件在运行过程中可能受到各种外界环境的影响 ,造成系统可用性下降 ,甚至宕机 ,需要在运行时提供一种保护和恢复软件关键服务的机制.所以对于软件稳定性的研究势在必行.
目前对软件稳定性的研究较少 ,尚未形成统一的定义 .我们研究的软件稳定性是指软件系统在运行期间遭受攻击、发生故障以及环境发生变化时 ,系统仍能持续提供服务并恢复部分功能的能力 .包含以下几层意思: 1稳定性所涉及的主体是运行时软件系统 ; 2软件系统与环境的交互以及环境发生变化时对系统的影响 ; 3在确定的故障或不确定的偶发因素影响等事件下 ,系统仍能保持工作状态或者及时恢复到可被用户接受的性能的能力.
上述定义中 ,将运行时软件系统分为两部分 ,即系统本身和运行环境.环境包含以下几方面因素.
(1)
资源:软件运行时所需的条件 ,如 CPU时间、内存、网络带宽等;
(2)
人:对于软件运行有影响的所有用户 ,如普通用户、维护人员、管理人员以及黑客等;
(3)
其他软件:运行时与该软件进行交互的其他软件 ,它们之间可能存在多种关系,如提供支持、协作、竞争等 .
影响软件稳定性的因素很多 ,归纳起来包括: 1软件自身因素 (软件的缺陷、算法效率等 ); 2软件的容错恢复能力及保护能力 (故障检测、故障恢复等 ); 3软件运行时对环境变化的适应能力 (即对自身运行状态的监测及发展趋势的预测能力 ,对恢复机制的正确调度等 ).目前的研究工作主要集中在 1和 2这两个方面 . DAvid Wells[18]等研究新的软件机制确保了系统的可生存性 ,提出了基于 OSA(object services Architec-ture)的软件结构 ,并采用适应性和易构建性 (eAse of construction)对基于 OSA应用进行描述 . Anup K. Ghosh[19]等在分析了软件可生存性研究的必要性基础上 ,指出传统软件测试方法的不足 ,提出了基于故障注入的 “o.-nominAl”测试方法 ,旨在增强软件的可生存能力 .在文献 [20] 中,作者提出了采用快速软件组件迁移的方法实现软件可生存性 .北京航空航天大学李未院士主持的 “973”项目 “海量信息的协同性和可生存性的理论与实践研究 ”[21]研究了海量信息的可生存性 ,该问题的解决能够提高海量信息系统的服务质量.
目前增强软件稳定性的途径主要包括: 1在开发阶段 ,提高代码质量,降低系统出错概率 ; 2在系统发生错误时 ,提供相应的补救措施 ,如错误检测、恢复机制等 ; 3在运行时基本上采用人工干预的方式实现系统的稳定恢复.其一般过程如下:
(1)
用户对软件的稳定性提出需求;
(2)
确定稳定性的描述指标,并进行量化;
(3)
根据用户的需求目标,进行软件系统设计开发;
(4)
评价开发出的系统是否满足用户需求;
(5)如果不满足
,进行修改、完善 (可能需要多次迭代);
(6)运行时
,由人工管理来恢复系统.
这种方法存在的问题包括: 1用户的需求往往随着运行情况而变化 ,系统无法适应 ; 2系统自身的措施是在开发时确定的 ,所考虑的环境相对封闭、简单 ,无法适应复杂多变的环境 ; 3采用的机制缺乏自主性、前摄性; 4对系统的行为特征研究主要是统计意义上的.
中间件是位于应用与操作系统之间 ,屏蔽底层操作系统、网络以及数据库的异构性和复杂性 ,简化网络分布式应用的开发、管理和维护的一类重要软件系统 .从 20世纪 80年代末到现在 ,取得了长足的发展 ,获得了工业界和学术界的青睐 ,已成为分布式系统的主流技术之一 .应用服务器是 Web计算环境下产生的新型中间件 ,为创建、部署、运行、集成和管理事务性 Web应用提供一个跨平台的运行环境 .近年来 ,随着基于互联网的各种企业级应用的大量出现 ,有关中间件的高可靠性和运行时服务质量 (QoS)保证问题受到了人们的普遍重视.
对于中间件来说 ,其面临的稳定性问题尤为突出 .首先,其所处的环
展开