电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

健壮设计范文

来源:漫步者作者:开心麻花2025-11-201

健壮设计范文(精选9篇)

健壮设计 第1篇

液压换向滑阀几乎遍布各类液压系统中,其稳定性与可靠性影响着整个液压系统的正常工作。换向滑阀的工作特征导致其内部存在着难以控制的瞬态液动力,影响了滑阀的动态操纵性能, 降低了滑阀的稳定性和可靠性。然而,决定瞬态液动力的因素很多,可分为可控因素和不可控因素,可控因素主要为滑阀内部结构参数;不可控因素则包含环境参数、滑阀开启或关闭速度以及进出油口压差等。因此,如何通过优化可控因素来降低不可控因素对瞬态液动力的影响是提升液压滑阀稳定性和可靠性的关键。

国内外已有众多学者对滑阀稳态和瞬态液动力展开了研究,Amirante等[1,2,3]对换向滑阀内部液动力进行了计算流体动力学(CFD)仿真模拟, 分析了不同流道结构对滑阀内部液动力的影响, 为滑阀内部结构的优化提供了理论依据;PalauSalvador等[4]对滑阀内部流场特性进行了仿真, 并分析了不同结构对滑阀内部流场特性的影响; Morita等[5]利用CFD仿真对液压阀内液动力进行了模拟,并通过相关实验验证了模拟结果的正确性;赵蕾等[6]、郑淑娟等[7]利用Fluent动网格技术对阀芯运动过程中液压锥阀内部流场进行了仿真模拟,获得了阀芯开启和关闭时瞬态液动力与流量、阀口开度之间的关系;王安麟等[8]对液压换向滑阀进行了CFD模拟,获得了瞬态液动力与内部结构之间的近似定量化模型,对滑阀内部流道结构参数进行了优化设计。鉴于以上研究基础,本文针对液压滑阀瞬态液动力进行CFD模拟计算,分析设计因子与噪声因子对瞬态液动力的影响,在仿真数据基础上利用概率统计和近似模型手段建立瞬态液动力关于各影响因子的响应面函数,并以噪声因子对瞬态液动力影响最小为目标,对设计因子进行优化设计,从而提高液压滑阀动态操纵性能。

1滑阀瞬态液动力分析及换向过程的CFD模拟

1.1滑阀瞬态液动力

阀口开度变化引起流量的变化,从而改变了阀腔内流体的流速,流体质量将对阀芯产生一个瞬态作用力,该力即为瞬态液动力,从流体角度分析,该力由流体质量的惯性产生,它的作用大小可根据动量定理导出,方向则与流体的加速度方向相反(图1),也就是该瞬态液动力始终是阻碍阀芯运动的力,其表达式为

式中,Fs为瞬态液动力;m为流体单元质量;v为流体单元速度;A为流体流经阀体时的过流面积;Δp为通油节流口两端压差;ρ为介质密度;x为阀芯位移;qV为经过滑阀从P口到B口的体积流量;Cd为体积流动系数,它与流道结构有关;d为阀芯开口处的水力直径;L为P和B两口之间的直线距离。

由式 ( 3 ) 可以看出 , 滑阀瞬态液动力与流动系数均成正比 , 因此 , 滑阀瞬态液动力与节流两端压差 、 阀芯移动速度以及滑阀内部流道结构相关 。 但实际流动系数和压差时刻在变化 , 且流动系数Cd、 节流口两端压差 Δp以及阀芯移动速度dx / dt互相之间存在着复杂的耦合关系 , 这些因素决定了瞬态液动力方程存在着高度非线性特征 , 若仅根据式 ( 3 ) 求解瞬态液动力 , 则需要知道每个瞬时的流动特征和内部流场分布 , 因此 , 需要借助于计算流体动力学方法 , 以滑阀阀芯为对象 , 根据阀内各处流体动态特性 , 对滑阀每个瞬态进行解析 , 以获得瞬态液动力的变化规律 。 为了便于测量 , 滑阀瞬态液动力也可定义如下 :

式中,p1为作用在dA1上的动压;p2为作用在dA2上的动压;dA1、dA2分别为端面A1和A2上的微元面积。

1.2计算流体动力学控制方程

连续性方程为

运动方程为

式中,u为流体速度;g为流体重力项;p为流体压降;ν为黏性系数。

标准k?ε湍流方程为

式中,k为湍动能;ε为耗散率;Γk、Γτ为耗散系数;μ为动力黏度;μi为i方向的动力黏度,i=1,y,z;Cτ1、Cτ2、σk、στ为紊流模型常数,本文中选取Cτ1=1.44,Cτ2=1.92,σk= 1,στ=1.3。

1.3滑阀换向过程的CFD模拟[9?10]

液压系统中利用滑阀换向其实就是控制油路的通断,由于多路滑阀在一个位置可以同时控制多条油路的通断,这里选择滑阀任意两口(P-B口)的通断控制进行建模仿真,如图2所示,图中P-B贯通区域称为P-B腔。为了模拟滑阀开启和关闭过程的操纵性能,以图2所示滑阀为例,定义阀芯移动距 离x =0~4mm为开启过 程,x = 4~8mm为关闭过程。

利用UG建立P-B口通断流体的三维模型如图3所示,并导出step格式文件,导入Gambit进行网格划分,网格单元采用hybrid,网格类型采用Tgrid(混合网格),如图4所示,并定义入口为流量入口,出口为压力出口,定义中间圆柱流体为运动区域,运动区域与两腔的接触面为Interface,其余各面为Wall,最后导出mesh文件。

将mesh文件导入Fluent 6.3软件中,定义流动介质为40号液压油,选择unsteady瞬态模拟;选择Define中Boundary Conditions选项,定义入口压力为10MPa,出口压力为0.1MPa,设置圆柱流体边界为移动边界,一开始移动速度为0,然后按照给 定的1m/s速度向右 移动;选择Define中Grid Interfaces选项,定义圆柱运动流体与P-B腔的接触面为Interface面;最后选择有限体积法中常用的SIMPLE算法,设置仿真步长和时间,对液压滑阀动态换向过程进行仿真模拟, 获得图5所示的滑阀开启某一瞬时的内部压力分布,图6为滑阀开启某一瞬时内部速度矢量云图, 最大速度出 现在滑阀 环形节流 开口处,约为55m/s,随着开口变大,开口处速度逐渐变小。

2滑阀CFD仿真结果分析

2.1速度和压差对瞬态液动力的影响

为了了解不同的阀芯移动速度对瞬态液动力的影响,设置阀芯从静止开始移动,研究速度分别为1m/s、0.5m/s、0.1m/s时瞬态液 动力的变 化,结果如图7所示。由图可知,滑阀阀芯速度越大,瞬态液动力越大。当阀芯向右移动速度从0突然升高到1m/s时,阀芯移动 至开启位 置0.55mm处,滑阀内产生向左的最大瞬态液动力为36N;当阀芯向 右移动速 度从0突然升高 到0.5m/s时,阀芯移动至开启位置0.8mm处,滑阀内产生向左的最大瞬态液动力为19N;当阀芯向右移动速度从0突然升高到0.1m/s时,阀芯移动至开启位置1.2mm处,滑阀内产生向左的最大瞬态液动力为7.5N。滑阀阀芯从静止到达到某一速度的运动过程中,滑阀内作用在阀芯上的瞬态液动力先迅速升高至峰值(阀芯加速度越大,上升时间越短),随后缓慢下降,结合对比仿真结果和式(3)可知,滑阀瞬态液动力与阀芯速度成正比,式(3)中,dx/dt越大,即开启瞬间加速度越大,则出现的瞬态液动力也就越大,反之越小。

为了了解压差对瞬态液动力的影响,在滑阀进出口加载10MPa、5MPa、1MPa三组不同的压差,滑阀开启速度设置为1m/s。如图8所示,滑阀开启至0.6mm处三组不同压差分别对应出现的最大瞬态液动力为36N、27N、13N。因此,滑阀最大瞬态液动力与压差变化有关,随着压差变小而变小。结合对比仿真结果和式(3)可知,滑阀瞬态液动 力与压差 变化成正 比,式 (3)中,若dΔp/dt越大,即开启瞬间压差突变越大,则出现的瞬态液动力也就越大,反之越小。

2.2结构参数对换向滑阀瞬态液动力的影响

滑阀内瞬态液动力主要是由流体速度变化引起的,为了减小开启或关闭过程滑阀内的瞬态液动力,通常通过改变滑阀内流道结构增加流体阻尼来实现。图9所示为滑阀新流道结构,即在阀芯杆上增加凸台,阀座和阀芯上分别开槽。通过仿真获得原结构与新结构在滑阀开启瞬时内部流体速度分布,如图10和图11所示。

分析仿真结果(图12)可知,新流道结构增大了流道阻尼,这确实可有效减小滑阀开启时的瞬态液动力,相同开启速度和压差条件下,滑阀开启瞬时,原流道结构最大瞬态液动力为36N;新流道结构最大瞬态液动力降低为22N。新的流道结构在滑阀开启瞬时缓解了阀内流体速度的变化, 如图10和图11所示,原流道结构射流角在80°左右,滑阀内速度变化较大;新流道结构射流角在50°左右,速度变化较原结构的小。新的流道结构改变了流道内的流动系数Cd,如图13所示,原流道结构流动系数Cd在开启瞬间dCd/dt即曲线的斜率变化较大,而新结构流动系数曲线斜率变化平缓,说明流动系数变化越大,引起的瞬态液动力也就越大,新结构较原结构流动系数变化小,从而减小了瞬态液动力。

3面向滑阀操纵性能的健壮性设计

3.1试验设计

以上通过CFD模拟结果证明了阀芯速度、压差、流道结构对瞬态液动力确实有影响,为了进一步获知各因素的影响程度以及各因素之间的耦合效应,建立瞬态液动力与各因子之间的定量化关系,以仿真数据为基础,对滑阀开启过程内部瞬态液动力的计算进行试验设计。

这里以滑阀开启瞬间出现的瞬态液动力峰值为目标值,如图14所示,令L1~L6为滑阀内部结构的设计变量,设定L3=L5,L4=L6,再加上开启速度dx/dt和压差Δp,总共6个设计因子,并根据设计因子的范围,选取5个水平,进行正交试验设计,结果如表1。为了便于表达,设计因子按顺序用x1~ x6来表示。

3.2瞬态液动力近似模型

选择二阶响应面模型对滑阀瞬态液动力峰值进行拟合,为了求解和校正响应面函数表达式各项系数,将正交试验数据代入进行计算,获得响应面模型如下:

以上响应面函数评价标准为误差决定系数, 检验误差决定系数为

式中 , yrsm( i ) 为响应面值 ; y ( i ) 为仿真值 ;为仿真平 均值 ; N为检验点的数量 。

通过另选取的30组数据的校正计算,获得检验误差决定系数R2=0.954,这表明响应面模型与仿真模型基本一致,响应面模型可以作为瞬态液动力峰值关于各设计因子的数学模型。

3.3滑阀内部结构的健壮性设计[11?14]

健壮性设计要求目标响应程度在部分设计变量随机波动时不能过大,如果采用确定性优化,会导致变量过多,结果与实际的差距难以控制,因此,健壮性设计中的优化必须定量估计各不可控因素对响应的影响,使得设计结果在不可控因素变化时也能保证比较稳定的性能指标。这里以滑阀开启速度和压差为不可控的随机变量,以滑阀内瞬态液动力出现的峰值服从正态分布为目标, 通过优化滑阀内流道结构来实现“均值达到目标” 和“均方差最小目标”,从而降低瞬态液动力对开启速度和压差的敏感性。

健壮性设计的目标响应为

目标函数转化为求最大或最小表达式:

式中,n为实验次数,这里n=300;wi为权重系数;ηi为比例因子;Mi为目标值;uYi为均值;σ2Yi为均方差。

选取滑阀内部结构参数L1~ L4为优化设计变量, 约束条件 为3mm≤x1≤5mm, 1.5mm ≤x2≤2.5mm,2mm ≤x3≤5mm,2 mm ≤x4≤ 5mm,噪声因子x5在0.5m/s的 [50%,150%]范围内随机取值,x6在10MPa的 [50%,150%]范围内随机取值,经过300次迭代计算,获得具有健壮性能的滑阀内部结构尺寸如表2所示。

图15和图16所示为健壮性设计前后滑阀瞬态液动力峰值分布情况,可见健壮性设计后瞬态液动力 峰值分布 较健壮性 设计前集 中 ,均值在50N左右,说明开启速度和压差变化时,瞬态液动力峰值均集中在均值附近,此滑阀结构具有一定的抵抗噪声因子干扰的能力。

mm

4结论

(1)针对液压滑阀瞬态液动力问题,基于计算流体动力学方法对滑阀内部流体动态特性进行了仿真模拟,并结合理论公式,验证了滑阀瞬态液动力与滑阀阀芯开启位移变化、进出口压差的变化以及内部流动系数变化成正比的结论。

(2)以滑阀内部流道结构参数、滑阀开启速度、压差为设计因子,滑阀开启瞬时瞬态液动力峰值为目标值,进行了试验设计,借助于正交试验和近似模型手段,获得了瞬态液动力峰值关于各因子的二次响应面模型,对瞬态液动力峰值实现了定量化表达。

(3)在滑阀内部结构健壮性设计前,滑阀瞬态液动力峰值变化无规律、范围大、难以控制,通过以速度和压差为噪声设计因子,内部结构为优化设计因子,瞬态液动力峰值在某一设定值附近服从正态分布为目标进行健壮性设计后,滑阀瞬态液动峰值分布在该设定值左右,实现了对瞬态液动力的控制,从而提高了滑阀动态操纵性能。

摘要:为了优化液压滑阀可控因子以降低滑阀开启或关闭时操纵性能对噪声因子的敏感性,提高液压滑阀工作时的可控性与稳定性,提出了液压滑阀健壮性设计方法。利用计算流体动力学方法对液压滑阀开启或关闭时内部流体的动态特性进行了仿真模拟,分析了滑阀内部流道结构参数、阀芯运动速度、滑阀进油口与出油口压差对瞬态液动力的影响,并借助于试验设计和响应面函数方法,获得了滑阀瞬态液动力与各参数的定量化关系。最后以滑阀内部流道结构参数为设计变量,阀芯运动速度和滑阀进出油口压差为不可控的噪声因子,以仿真中液压换向滑阀瞬态液动力服从正态分布且方差最小为目标,对滑阀进行了健壮性设计,设计结果表明,通过对结构参数进行优化设计可明显降低噪声因子对滑阀瞬态液动力的影响。

《让我们更健壮》的教学反思 第2篇

一、创设情境,激发兴趣

在过去的教学里,我发现低年级的学生特别喜欢通过丰富的现象力及生活经验结合学过的`各种识字方法来识字,为此,我以北京奥运会为契机,从他们感兴趣的体育用品、体育游戏入手,真正创设了一个逼真的情境,学生在交流中识字,满足了表达的欲望,收到了很好的效果。

二、教会方法,自主识字

本节课我重视学生对学习方法的获取和强化,引导学生用已有的识字方法主动识字,以旧促新。同时对学生进行必要的点拨、指导,例如在认识新偏旁后,我引导学生充分回忆带有这些偏旁的字,巩固了所学知识,以新带旧,逐步扩展。

程序的健壮性研究 第3篇

1 程序的健壮性介绍

程序的健壮性又成为程序的鲁棒性, 是用来评估程序在异常情况下保证正常运行的能力。通常情况下用其来描述一个程序在应对预设范围之外需求的行为, 如若程序在异常情况下仍能正确执行即称该程序具有良好的健壮性, 比如, 一个程序可以从错误的输入推断出正确合理的输出, 这便可以认为这个程序是健壮的。但是对于程序开发者来说, 如何区分正常情况与异常情况是件极具技术性的工作, 大多数程序开发者容易错将异常情况归属为正常情况而不作处理从而导致程序的健壮性降低。而软件的使用者即用户很少能区分出程序的正确性和健壮性的差别, 只要在使用软件过程中出现错误和崩溃都认为是软件开发者未能正确开发软件, 因此, 提高程序的健壮性不仅有助于提升用户体验, 也是一名程序员必须具备的技能。

一般来说, 程序的健壮性包括两层含义, 高可靠性即差错屏蔽能力, 是指程序在异常情况下保持系统正常运行的能力;高差错恢复能力, 是指程序在错误发生后重新运行时能否恢复到发生错误前的正常运行状态。程序的健壮性本质上是完成一项众多因素的函数功能。如果一个程序可以允许广泛的操作条件范围, 可以运行在不同的操作环境下, 可以检测自己内部的设计或者编码错误, 并得到正确的执行结果, 这样的程序便是一个健壮的程序。通常为了测试程序的健壮性, 程序测试员会故意输入一些不符合规则的测试数据以判断该程序是否健壮。

2 程序的健壮性测试

如上所述, 一个程序是否健壮是衡量一个系统性能是否过关的一个重要指标, 尤其是涉及到大型人身财产安全的系统时尤其需要该程序有良好的健壮性。由于程序健壮性缺失导致软件系统不能很好的处理异常情况而引发事故的情况时有发生, 如2000年上海浦东程控交换机软件故障导致浦东地区12.5小时电话中断, 73万户电话用户通讯受阻, 浦东期货交易所关闭, 所有依靠公众电话报警的信息全部中断。如加拿大一所医院由于Therac一25放射治疗仪存在软件错误致使多名癌症病人接受过量放射死亡。由此可见, 对程序进行健壮性测试很有必要。

2.1 健壮性测试的特点

健壮性测试主要是为了找出使程序不健壮的因素从而为程序提供相应的保护代码以提高程序的健壮性。以操作系统程序的健壮性测试为例, 其特点主要有可移植性、覆盖率、可扩展性、细节等级、结果报告和可重复性。

通常对程序进行健壮性测试的结果一般笼统分为通过和失效。通过即指在程序员输入错误代码后, 程序将正确的错误处理代码返回。而失效则由“崩溃”尺度来衡量。程序“崩溃”一般分为灾难性崩溃、重启崩溃、异常中断崩溃、沉寂崩溃和阻碍性崩溃几大类。灾难性崩溃一般比较严重, 通常会导致整个系统停止工作而只有系统重启才能解决, 即“死机”, 这种情况是所有程序员必须避免的错误;重启崩溃是指系统调用的函数未返回而致使该程序停止;异常中断崩溃是指在测试进程中由于异常输入等原因致使程序发生不正常的中断, 沉寂崩溃是指程序本应对非法输入返回错误处理代码但实际却无反馈, 阻碍性崩溃是指程序返回的错误处理代码与实际的非法输入不相符。

2.2 健壮性测试方法

程序的健壮性测试方法在目前一般分为基于测量的方法、基于故障注入的方法和健壮性基准程序方法几大类, 其中当下应用最为广泛的当属健壮性基准程序方法。下文将简单介绍目前比较普遍的几种典型的健壮性测试基准程序。

2.2.1 Crashme

Crashme测试基准程序采用的方式是通过将随机数据写入内存使程序产生大量并行进程, 一旦其中某一进程出错将引起系统失效, 在这种情况下程序如若不具有良好的健壮性可将出错进程替代将造成整个程序异常终止。Crashme方法要求系统程序具备短时间内应对大量异常激励的能力, 因此对于测试系统程序处理错误的能力非常有效, 并且具有很好的可移植性。但由于Crashme方法的运行结果只有终止和通过两种可能, 无法通过该方法找出程序崩溃的具体原因, 因此也就无法为增强系统程序的健壮性提供相应的保护代码。所以程序员通常只利用该方法进行构建健壮系统的评测方法。

2.2.2 CMU Crashme

CMU Crashme是在Crashme方法基础上提出的改进版本。该方法的测试策略为通过检查传递到系统调用的参数以确保系统不会因为调用随机参数而崩溃, 但是该改进版本仍无法解决随机参数的随机性所造成的测试结果不确定性, 因而该方法在检测系统健壮性方面仍然具有一定局限性。

2.2.3 Fuzz

Fuzz测试技术是通过往不同Unix系统程序和Linux系统程序的内建命令中注入随机生成的输入来检测程序是否出现进程中止或系统崩溃等系统健壮性失效的现象。尽管Fuzz技术可以测试特定的系统接口也可以构造一些特殊的字符串进行输入比Crashme方法有所提高, 但它仍依赖于随机输入的数据, 其测试重复性的实现状况并不理想。

2.2.4 模块化基准测试

该测试方法是通过将一个系统拆分看成是由一系列子系统的集合然后对其进行分离测试, 如测试一个操作系统可分别测试其文件系统、内存系统、外部交互系统、锁机制和多道程序运作等, 此外, 模块化基准测试还需要设定一个监视器程序用来将测试结果进行监视和收集。

该方法利用模块化分离测试有效的降低了系统测试的复杂性, 并且通过其模块分离的过程可以做到对测试结果的分析定位, 但它也有其自身的缺点, 即不适用于大型操作系统的测试, 因为该测试方法基于模块分离, 而大型操作系统通常是个整体, 其各个模块之间紧密联系难以进行模块分离, 因此便无法对其子模块系统进行独立测试。除了不适用于大型操作系统的测试, 对于其适用的系统测试, 该方法也有其不足之处, 即无法测试系统内各模块之间的相互关系, 同时, 由于其对每一个模块都进行一次独立编码而因此无法利用模块之间的相似性, 这对于程序的可扩展性会产生极为不利的影响。

2.2.5 层次化方法

如上所述, 模块化基准测试的缺点便是其未能达到细节等级上的要求, 为了避免这方面的弊端, 可采取抽象化的测试理念, 定义一个具有明确范围的交互层使得模块测试下的执行细节相分离, 规定某些测试可以适用于所有模块而另一些测试只能适用于特定的模块子集。通过这种层次化分解系统可使测试收到较好的效果。

3 提高程序的健壮性——异常处理

提高程序健壮性的方法有很多, 程序员在开放软件的过程中通常都会形成一套自己熟悉的方法用以提高程序的健壮性以求软件系统有更好的用户体验。此处仅以异常处理这一方法进行如何提高程序健壮性的简单介绍

3.1 异常处理

异常处理的概念最早在1975年由John Goodenough提出。异常处理中的异常通常是指程序在运行过程中所遇到的错误输入或者设定范围外的需求或者其它有可能引起程序崩溃的因素。异常处理是引导程序在异常发生时由正常控制流改变为异常控制流的机制, 该功能的实现可以来源于程序语言本身也可以通过对函数库的调用增加其程序功能。异常处理程序通常与正常程序分开, 仅作专门应对异常用, 在程序正常执行时该段程序不会被执行, 每段异常程序都与一个实体即一个保护区或保护块相关联。

异常处理的方法有很多如C ul等人提出的面向数据的异常处理的方法, Sinha等人提出的控制流分析法和控制依赖分析法, Choi等人提出的要素控制流法, Maxion等人提出的鱼骨图分析法, 本文仅以其中几种典型方法为例进行介绍。

3.1.1 鱼骨图法

鱼骨图又可称之为原因效果图, 它是将内容以类似于鱼骨状图形结构的方法呈现帮助程序人员记忆程序开发过程中需要注意的各方面问题, 帮助其预测异常发生的条件。Maxion等人曾提出如下图所示的异常分类鱼骨图。

上图将每一种可能引发异常的问题都以鱼刺方式列出, 分为计算问题、硬件问题、输入输出与文件问题、库函数问题、数据输入问题、函数/过程调用的返回值问题、外部用户/客户问题、空指针与内存问题这八个方面, 鱼骨状清晰的结构图可以很好的帮助程序员不遗漏任何一个有可能导致程序崩溃的异常。

3.1.2 控制流分析法

控制流分析法是将存在于程序中的控制流关系用控制流图表示。在控制流图中, 用结点表示程序语句, 用边表示程序语句彼此之间的控制流, 一般情况下控制流图分为过程内控制流图和过程间控制流图。程序员可通过控制流图中边与节点的关系分析异常发生的类型和其如何传播。

3.1.3 要素控制流分析法

要素控制流分析法是一种用来表示程序中的过程内控制流的方法。该方法尤其适用于含有大量潜在异常抛出指令的程序, 例如程序包含大量的数组存取, 变量读写以及函数调用等。该方法可以将显式异常所引起的控制流变化和隐式异常所引起的控制流变化情况都进行很好的展现。对于显式异常, 该方法与上文控制流分析法的呈现方法类似, 区别是在对于隐式异常时, 该方法并没有从每一个潜在异常抛出指令生成边, 而是将这些指令合并入一个具有单独出入口的基本块中并为该基本块生成出针对每一种可能引发异常的类型的要素边。之后再将这些要素边连接至异常处理块或者退出块, 这样可以将传统的控制流分析法进行简化。

4 结语

提高程序健壮性是计算机技术发展道路上必须完成的一项工作, 只有健壮的程序才能担负起实现越来越功能多样化的系统和软件的目标, 目前我国在程序健壮性方面的研究还不够完善, 包括健壮性的测试方法以及增强程序健壮性的方法等等, 还需进一步加强对该领域的研究, 以求使我国的计算机事业发展走上新的高度。

参考文献

[1]赵则章.操作系统健壮性测试方法的分析与比较[J].福建电脑, 2007 (01) .

[2]刘治国.软件健壮性测试的一种新方法[J].电脑知识与技术, 2005 (08) .

[3]刘洪涛, 江建慧, 赵则章.软件健壮性的包裹测试[J].计算机工程与科学, 2005 (04) .

关于健壮的近义词和反义词 第4篇

刚强:(性格、意志)坚强,不怕困难或不屈服于恶势力:~刚强

坚硬:非常硬:~的山石。坚硬

健康:①(人体)生理机能正常,没有缺陷和疾病:恢复~ㄧ健康

强健:1.亦作“强健”。 2.强壮健康。强健

矫健:强壮有力:身手~ㄧ~的步伐。矫健

结实:①坚固耐用:这双鞋很~。 ②健壮:他的身体~。结实

牢固:结实;坚固:基础~ㄧ~的大坝挡住了洪水。牢固

强壮:1.亦作“强壮”。 2.中年﹑壮年。 3.壮强壮

强盛:1.亦作“强盛”。 2.强大兴盛。 3.谓青强盛

强大:1.亦作“强大”。 2.谓力量坚强雄厚。强大

雄壮:1.雄伟勇武。 2.声音洪亮有气势。 3.雄雄壮

充实:1.使完满;加强。 2.充足;富足。 3.犹充实

粗壮:1.粗大健壮。 2.指物体粗大结实。 3.形粗壮

厚实:①厚:这布挺~丨炕上厚厚实实地铺着一层稻草。 厚实

雄厚:(赤力、物力、财力)充足,丰富:实力雄厚。雄厚

健旺:身体健康,精力旺盛:精神 ~ㄧ年纪虽老,但人还~健旺

壮健:1.强壮;强健。 2.强健的人。 3.雄壮劲壮健

康健:健康①:身体~。康健

喷施玉米健壮素试验研究 第5篇

1.1 供试材料

供试品种为郑丹958。供试调节剂为玉米健壮素。

1.2 试验方法

试验于2008年在任丘市原种场进行, 设3个处理, 分别为8叶展叶期、10.9片展叶期、14.9片展叶期, 用450mL/hm2健壮素对水300kg/hm2喷布玉米植株上部叶片, 各处理间隔时间为6d, 以不喷健壮素作对照 (CK) 。

1.3 调查统计

生育期间进行穗数、株高、气生根层、根数、叶片数、叶色、叶面积、穗位等田间调查记载, 成熟后取样进行节间长度、穗粒重、穗粒数、千粒重等室内考种测产。

2 结果与分析

2.1 不同时期喷药对株高及各节间的影响

3个喷药处理均有效地降低了株高, 但不同时期喷药, 其主要缩短的节位不同, 植株下降高度也不尽相同。8片展叶期喷施, 主要缩短地上4~11节间, 平均每节间比对照缩短2.6cm, 平均株高降低40.9cm, 其中第7节间缩短量最多, 达6.3cm, 其相邻上下节间缩短的高度逐渐减少。12节间以上则与对照接近。10.9片展叶喷施 (与第1处理相隔6d) , 主要缩短地上6~13节间, 平均每节间比对照缩短1.5cm, 株高平均降低24.5cm;也以第7节间缩短的长度最多, 达9.0cm, 相邻节间缩短的长度依次渐少。14.9片展叶时喷施 (与第1处理相隔12d) , 主要缩短地上8~16节间, 平均每节间比对照缩短3.0cm, 其中以第10节间缩短最多, 为8.5cm, 也表现为其相邻节间缩短的长度依次渐少。平均株高降低47.6cm, 3处理比较, 以14.9片展叶期喷药降低最多。早喷处理主要降低中下部节间, 晚喷处理主要降低中上部节间。

2.2 不同时期喷药对根系、叶面积及穗位的影响

不同时期喷药对气生根有一定影响。8片展叶期喷施, 气生根层数和条数都略有减少, 10.9片展叶时喷施对气生根影响也不大, 而在14.9片展叶时喷施, 平均气生根层比对照增加0.5层, 气生根增长8条。可见喷施时期对气生根的影响以14.9叶展开时较好, 早喷对气生根影响不大或有负作用。

不同时期喷药对叶面积影响也有较大差异, 喷药过早, 叶面积减少, 适期喷药, 则叶面积有所增加。8片展叶期喷施, 平均叶面积减少87.2cm2, 10.9片叶展开时喷施, 平均叶面积减少4.4cm2, 14.9片展叶时喷药, 平均叶面积增加39.4cm2。

不同时期喷药均可降低穗位高度, 喷药越早, 穗位越低, 随喷施时期推迟, 穗位逐渐增高, 比对照穗位降低的高度渐少。8片展叶时喷药, 平均穗位比对照降低32.5cm, 10.9片展叶时喷药, 平均穗位比对照降低21.7cm, 14.9片展叶时喷药, 平均穗位比对照降低9.9cm, 但穗位过低, 会造成果穗变小。

2.3 不同时期喷药对产量结构的影响

不同时期喷药处理, 其产量结构也不尽相同。早喷处理会造成减产, 适期喷药可促增产。8片展叶时喷药, 平均穗粒重比对照减少38.5g, 穗粒数减少68粒, 千粒重减少42g, 产量减少2 185.5kg/hm2, 减产幅度为25.6%;10.9片展叶时喷药, 单穗粒数增加, 而千粒重减少, 产量基本持平。14.9片展叶时喷药效果最好, 其单穗重增加15g, 穗粒数增加70.9粒, 千粒重减少10g, 产量增加850.5kg/hm2, 增产10.6%。同年大面积示范的121.3hm2, 平均增产892.5kg/hm2, 增幅11.5%, 投入产出比为1∶19。

2.4 喷健壮素对植株性状的影响

适期喷施玉米健壮素后植株性状出现明显的变化, 首先, 延缓了株高的增加, 主要是抑制上部节间的伸长, 因而使整体植株降低。其次, 上部叶片短宽肥厚, 叶色变深, 叶绿素增加, 有利于光合作用。第三, 次生根层数增加, 一般次生根可增加1~3层, 实际增加次生根10~15条。因此, 可以增加土壤对养分和水分的吸收能力并增强对茎秆的支持力。茎秆相应增粗, 使植株表现矮健粗壮, 根系发达, 抗倒能力增加。据试验人员在试验地取样调查, 喷施健壮素的玉米株高为207.2cm, 较对照245.8cm, 降低15.7%, 经统计分析, 二者差异极显著。从玉米穗位看, 喷健壮素的玉米穗位高度为100.0cm, 对照为104.2cm, 喷健壮素使玉米穗略有降低, 但二者差异未达显著水平。表明玉米健壮素主要是抑制喷施时开始伸长和正在迅速伸长的节间以及尚未伸长的节间, 因此, 上部节间紧凑, 缩短较多, 而穗位以下的节间喷施时已基本定型, 影响较小。

2.5 喷健壮素对穗部性状及产量的影响

喷施健壮素后, 从外观看对果穗影响不大, 经取样调查结果如表1所示, 可以看出, 穗长略有增加, 秃尖有所减少, 穗行数和行粒数均有所增加, 百粒重增加1.73g, 提高了8.3%, 容重增加3g, 产量增加333.75kg/hm2, 提高4.24%, 喷药的费用和增产的效益比约为1∶16。

3 结论与讨论

玉米健壮素对玉米植株生长的抑制作用很强, 喷药时期必须严格掌握, 过早或过晚均不利。如前所述, 8片展叶期喷药虽能降低株高, 防止倒伏, 却使产量减少25.6%。用药过早, 使植株过于矮小, 不仅抑制了节间伸长, 使果穗发育受到很大影响, 造成严重减产;用药偏晚, 在雄穗抽出后才喷药, 此时大多数节间已基本定型, 降低株高的作用不明显。此外, 由于不同品种、不同播期 (春播或夏播) 的玉米叶片总数常有一定的变异, 以叶片数为喷药标准, 应注意品种特性, 还应注意基部已经枯萎的叶片。喷药时期最好根据雄穗发育情况而定, 一般以雄穗即将露头、手摸顶部可触摸到即将抽出的雄穗, 此时喷药效果最好。

喷施玉米健壮素最明显的效果是降低株高防止倒伏, 因此, 应适当增加密度, 靠增穗降秆防倒伏增加产量, 一般可掌握在常规播种密度下再增加0.75~1.50万株/hm2。在不增密度并且无倒伏危险的情况下, 喷施健壮素的增产幅度较小。

参考文献

[1]许谓华, 吴光清.玉米健壮素增产效果好[J].云南农业科技报, 1990 (3) :41.

浅析数字水印算法与健壮性 第6篇

数字水印就是通过将数字、序列号、文字、图像标志等信息嵌入到媒体中, 在嵌入过程中, 对载体进行尽量小的修改, 以达到最强的鲁棒性。当嵌入水印后的媒体受到攻击后, 仍然恢复水印或者检测水印的存在。当前数字水印主要应用领域包括原始数据的真伪鉴别, 数据侦测与跟踪, 数字产品的版权保护等。

数字水印技术就是把所需要保护的信息在不引起公众注意的前提下, 通过隐秘的通道进行传送, 但万一隐秘通道暴露, 将所有内容将一览无余。攻击者获得水印信息之后就可以对其进行篡改伪装, 变成自己的。而把保护的水印信息通过传统加密技术进行加密, 然后再使用数字水印技术的隐藏密通道加以传输, 这样的水印系统就具有了更好的安全性。

二、水印加密提取

数字水印都是通过不同的算法把水印信息加入到产品中, 数字水印的加入就是通过不同的算法来实现的。水印系统的算法是完全公开的, 其安全性完全取决于密钥, 而不是对算法进行保密。以取得安全性, 算法是完全公开的, 这就很容易所到攻击, 所以算法都要有很好的隐藏性和鲁棒性。

经过对数字水印算法的分析, 经过整理, 总结一个通用的水印加密、提前的框架, 框架有二个部分组成, 一部分为水印嵌入过程, 一部分为水印提前过程, 水印提取的输出结果可以是水印本身, 也可以是判断水印是否存在的判决结果, 取决于水印的提取算法。

三、空间域变换域

基于安全性, 不可感知性, 可以证明性和健壮性等原因, 对水印加载方法, 有空间域水印和变换域水印。

空间域水印是直接加载在载体数据上, 空间域的信息隐藏方法一般都具有盲提的特性, 即不需要拥有覆盖媒体就可以直接从隐秘媒体中提取出秘密数据。但空间域的隐藏方法很容易在传输过程中, 由于各种压缩或格式转换处理而丢失秘密数据, 并且一旦受到攻击和截获, 极易被破坏和侦破。

变换域水印, 可以嵌入而不会引起感觉上的察觉。变换域的信息隐藏技术则对覆盖信号作正交变换后, 利用人体感官对频域数据的感觉冗余, 将秘密数据嵌入在较隐藏的频域中, 因而具有较强的鲁棒性和较高的安全性。通常有DCT变换、小波变换、傅立叶变换等一些变换。

四、健壮性脆弱性

水印特性上有健壮性数字水印和脆弱性数字水印。

健壮性数字水印嵌入的水印能够经受各种常用的信号处理操作, 包括无意的或恶意的处理, 如有损压缩、滤波、平滑、信号裁剪、图像增加、重采样、几何变形等等。健壮性水印在经过各种处理后, 只要载体信号没有破坏到不可使用的程度, 都应该能够检测出水印信息。主要应用于数字作品中标出标著作权信息, 如作者、作品序号等。

脆弱性数字水印主要用于完整性保护, 脆弱性水印必须对信号的改动很敏感, 人们根据脆弱水印的状态就可以判断数据是否被篡改过, 客观存在特点是载体数据经过很微小的处理后所加载的水印就会被改变或毁掉。脆弱性水印通常是用在证明图像的真实性、检测或确定图像内容的改动等方向, 如图像中的水印被发现受到了破坏, 则可证明图像遭到了篡改。

五、算法介绍

基于现在各种算法, 算法各有优缺点, 下面介绍几种算法的结果, 以对数字水印的鲁棒性、安全性、稳健性, 让大家更深的了解各种算法, 更好地有创新算法出现。

混沌序列的数字图像加密算法通过大量实验证明, 提出的基于混沌序列折数字加密新算法能够达到很好的加密效果, 与其它加密算法相比, 本文设计的加密算法具有以下几个优点:

⑴具有通用性, 设计的算法跟图像文件的类型无关, 没有考虑图像文件的结构。

⑵先对原始图像进行压缩, 再进行加密, 这样可以减少存储空间, 有利于加密和传输。

⑶利用混沌序列加密, 对密钥的判断灵敏性性极高, 即使输入与正确密钥相差很小的密钥, 也不能得到解密图像。

⑷加密后的图像数据保存在文本文件中, 这样可以隐藏文件的类型, 具有很高的保密性。

基于椭圆曲线加密技术的数字水印研究, 采用二级离散小波变换方法将水印嵌入到图像小波变换的低频区域, 加强了算法的鲁棒性。同时对水印信息本身采用了椭圆曲线加密处理, 水印的嵌入位置也由嵌入水印密钥决定, 实现了双重安全, 对抵御攻击是非常有效的。在安全性方面做到了以下几点:a.利用椭圆曲线加密体制对水印信息进行了预处理, 这样即使水印信息被提取, 也因攻击者没有加密密钥而无法解密也原始的水印信息, 使其它保证了原始信息的安全性。b.利用椭圆曲线生成的嵌入水印密钥, 使得攻击者知道加密密钥时因为不知道任意选取的基点嵌入水印密钥也是安全的。c.嵌入水印密钥集的生成中, 任意选取的基点使密钥得到了列好的保护, 并得到安全。d.在选取嵌入水印信息的过程中, 小波系数的选取的随机性加强了水印的安全性。且该算法在提取水印时不需要原始图像的任何信息, 这对实际应用意义更大。

六、结束语

对于数字水印的研究, 就是将水印信息嵌入到所保护的数字产品中, 又不让数字产品对视觉影响。要让数字水印不对视觉影响, 这样, 就需要更好的嵌入算法来实现, 嵌入算法的正确与否, 对数字产品影响与否, 就要选择一个合适的算法, 现在各种算法很多各有优缺点。所以一个好的嵌入算法, 应该是能够嵌入较多的信息而引起视觉感知最小, 评价一个算法的优劣, 应该建立对水印的评价准则。水印的健壮性就是其中的一个重要指标。健壮性取决于几个因素, 嵌入的信息越多, 水印的健壮性就低。水印嵌入的强度越大, 健壮性越高。

摘要:通过对数字水印的嵌入算法和健壮性的分析, 了解了嵌入算法有不同种类, 嵌入算法对数字水印加入载体中的效果, 以及载体中对数字水印的健壮性要求。

关键词:数字水印,算法,健壮性

参考文献

[1]钮心忻, 信息隐藏与数字水印, 北京邮电大学出版社

[2]吕翠英, 基于椭圆曲线加密技术的数字水印方案研究, 计算机安全2009.4

[3]许艳, 基于混沌序列的数字图像加密算法, 计算机安全2009.4

构建健壮的企业级软件架构 第7篇

关键词:毕业生服务,企业级,软件架构

1. 引言

一个企业级的商业软件能够满足用户需要、正常运行、易于维护、易于扩展, 必须拥有一个良好的软件架构支撑。本文以"河北省毕业生就业服务办公平台"项目为依托, 对如何构建一个满足以上目标的企业级商业软件架构进行分析和论述。

2. 项目架构关键技术分析

2.1 项目系统架构设计

在软件体系结构中, 分层式结构是最常见, 也是最重要的一种结构。架构师通常推荐的分层式结构一般为三层, 从下至上分别为数据访问层、业务逻辑层、表示层。数据访问层有时候也称为持久层, 其功能主要是负责数据库访问。简而言之就是实现对数据表的Select, Insert, Update, Delete操作。如果要加入ORM的元素, 那么就会包括对象和数据表之间的mapping, 以及对象实体的持久化。本项目中的数据访问层中, 并未使用ORM技术;业务逻辑层是整个系统的核心, 它与整个系统的业务 (领域) 有关, 本项目中的业务逻辑层的相关设计均和项目业务有关, 如注册、登录、登记简历、发布招聘信息等。如果涉及到数据库的访问, 则调用数据访问层;表示层是系统的UI部分, 负责使用者与整个系统的交互, 在这一层中, 理想的状态是不包括系统的业务逻辑, 表示层中的逻辑代码, 仅与界面元素有关。本项目中表示层是分别通过Heb BYS.Web和Heb BYS.Web.Mvc两个站点来实现的, 概括来说, 分层式设计可以达到分散关注、松散耦合、逻辑复用、标准定义的目的。本项目架构采用了Pet Shop4.0的实现方式, 同时对其进行了改进及精简, 并且采用了经典的三层式结构。

2.2 数据访问层设计

在本项目的数据访问层 (DAL) 的设计中, 采用Heb BYS.IDAL抽象出数据访问逻辑, 并以Heb BYS.DALFactory作为数据访问层对象的工厂模块, 而HebBYS.Model模块则包含了数据实体对象。在数据访问层中, 完全采用了"面向接口编程"思想, 抽象出来的Heb BYS.IDAL模块, 脱离了与具体数据库的依赖, 从而使数据访问层利于数据库迁移Heb BYS.DALFactory模块专门管理DAL对象的创建, 便于业务逻辑层访问。Heb BYS.Base DAL、Heb BYS.Auth DAL、Heb BYS.CM SDAL、Heb BYS.Msg DAL模块实现Heb BYS.IDAL模块中相应逻辑的接口, 其中包含的逻辑就是对数据库的Select、Insert、Update和Delete操作。本项目未引入Oracle数据库, 如果存在多种类型数据库, 那么对数据库的操作也会有所不同, 代码也会有所区别。

此外, 抽象出来的Heb BYS.IDAL模块, 除了已解除向下的依赖之外, 对于其上的业务逻辑层, 同样仅存在弱依赖关系。Heb BYS.BLL是业务逻辑层的核心模块, 它包含了整个系统的核心业务。在业务逻辑层中, 不能直接访问数据库, 而必须通过数据访问层。注意对数据访问层的调用, 是通过接口模块Heb BYS.IDAL来完成的, 与具体的数据访问逻辑无关, 则层与层之间的关系就是松散耦合的。如果此时需要修改数据访问层的具体实现, 只要不涉及到Heb BYS.IDAL的接口定义, 那么业务逻辑层不会受到任何影响。

在本项目中, 系统需要处理的数据库对象分为数据实体与业务逻辑对象两类, 数据实体对应数据库中相应的数据表, 仅用于表现对象的数据。这些实体类被放到Heb BYS.Model程序集中, 这些对象并不具有持久化的功能, 简单的说是做为数据的载体, 便于业务逻辑针对相应的数据表进行读、写操作。虽然这些类的属性分别映射了数据表的列, 而每一个对象实例也恰恰对应于数据表的每一行, 但这些实体类却并不具备对应的数据访问能力。这里所指的业务逻辑, 并非业务逻辑层 (BLL) 意义上的领域 (domain) 业务逻辑, 一般意义上这些业务逻辑即为基本的数据库操作, 包括Select, Insert, Update和Delete。由于这些业务逻辑对象, 仅具有行为而与数据无关, 因此它们被抽象为一个单独的接口模块Heb BYS.IDAL。

将数据实体与相关的数据库操作分离出来, 符合面向对象的精神, 使得两者之间依赖减弱, 当数据行为发生改变时, 并不影响Heb BYS.Model模块中的数据实体对象, 避免了因一个类职责过多、过大, 而导致该类的引用者发生"灾难性"的影响。其次体现了"抽象"的精神, 或者说是"面向接口编程"的最佳体现。抽象的接口模块Heb BYS.IDAL, 与具体的数据库访问实现完全隔离。这种与实现无关的设计, 保证了系统的可扩展性, 同时也保证了数据库的可移植性。

本项目中没有使用ORM框架, 所以要对数据表进行读、写操作, 以SQL Server为例, 就必须使用SqlCommand, Sql Parameter, Sql Data Reader等对象, 以完成这些操作。但是直接使用这些对象时无疑增加了大量的代码, 为了操作方便, 本项目中专门为SQL Server和Oracle提供了抽象的Helper类, 包装了一些常用操作, 如Execute Non Query、Execute Reader等方法。

对于数据访问层来说, 最头疼的是SQL语句的处理。在早期的CS结构中, 由于未采用三层式架构设计, 数据访问层和业务逻辑层是紧密柔和在一起的, 因此, SQL语句遍布于系统的每一个角落。这给程序维护带来极大的困难。此外, 由于Oracle使用的是PL-SQL, 而SQL Server使用的是T-SQL, 两者虽然遵循标准SQL语法, 但在很多细节上仍有区别, 如果将SQL语句大量的使用到程序中, 无疑为可能的数据库移植带来了极大的困难。最好的方法是采用存储过程。这种方法使得程序更加整洁, 此外, 由于存储过程可以以数据库脚本的形式存在, 也便于移植和修改。

2.3 业务逻辑层设计

业务逻辑层 (Business Logic Layer) 无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计, 也即是说它与系统所应对的领域 (Domain) 逻辑有关, 很多时候, 我们也将业务逻辑层称为领域层。

业务逻辑层在体系架构中的位置很关键, 它处于数据访问层与表示层中间, 起到了数据交换中承上启下的作用。由于层是一种弱耦合结构, 层与层之间的依赖是向下的, 底层对于上层而言是"透明"的, 改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时, 遵循了面向接口设计的思想, 那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下, 理想的分层式架构, 应该是一个支持可抽取、可替换的"抽屉"式架构。正因为如此, 业务逻辑层的设计对于一个支持可扩展的架构尤为关键, 因为它扮演了两个不同的角色。对于数据访问层而言, 它是调用者;对于表示层而言, 它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上, 如何实现依赖关系的解耦, 则是除了实现业务逻辑之外留给设计师的任务。

2.4 表示层设计

表示层 (Presentation Layer) 的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样, 初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品, 如果在用户界面 (User Interface, UI) 上缺乏吸引人的特色, 界面不友好, 操作不够体贴, 即使产品性能很优异, 架构设计合理, 业务逻辑都满足了客户的需求, 却仍然难讨得客户欢心。本项目中表示层根据业务对象不同采用了MVC模式和常规的Web Form模式两种设计。

根据用户对象不同将表示层分成后台管理和门户网站两个模块。后台管理即Heb BYS.Web站点, 使用对象为就业主管部门、大中专院校和系统管理员, 此站点采用Web Form模式;前台门户即Heb BYS.Web.Mvc站点, 使用对象为毕业生及用人单位, 此站点采用MVC模式。

3. 总结

通过良好的分层结构设计, 使得河北省毕业生就业服务办公平台有了清晰地结构布局, 开发人员的分工更加明确, 每个开发人员的任务得到了确认, 开发进度就可以迅速提高。软件架构设计达到了可靠性、安全性、可扩展性、可定制化、可扩展性、可维护性、客户体验优良的目标。

参考文献

[1]郑人杰, 殷人昆, 陶永雷.实用软件工程.北京, 清华大学出版社, 1997

[2]Booch, G.Object Oriented Analysis and Design with Applica-tions.北京:中国电力出版社

虚拟健壮主机入侵检测的实验研究 第8篇

随着人们对计算机网络的依赖性不断增强,网络安全越来越受到重视。入侵已经成为网络中一个越来越严重且日益普遍的问题。由于入侵检测能有效弥补传统防御技术的缺陷,近年来得到了学术界和业界的广泛关注。随着入侵检测系统研究和应用范围的日益广泛,造成了对其本身攻击方法的日益成熟。而应用虚拟机的概念,可以保护入侵检测系统的安全。

当今入侵检测的体系结构迫使入侵检测系统的设计者必须作出一个艰难的选择。如果将入侵检测系统置于被监控的主机之上,它对主机应用程序中的所有事件都能检测到,但抗攻击能力非常弱。另一方面,如果将入侵检测系统放置在网络中,它的抗攻击能力将会增强,但是对主机的监控能力就相对下降,攻击者比较容易绕过入侵检测系统的检测。

针对现存入侵检测系统存在的问题,基于虚拟机监控器[1]VMM(Virtual Machine Monitor)的主机入侵检测系统[2]IDS(Intrusion detection system)成为当今信息安全研究领域的一个研究热点。因为虚拟机监控器处于操作系统和硬件之间,从而使得这个入侵检测系统位于监控所有对操作系统的入侵事件的最佳位置,并处于一个独立于操作系统之外的受保护的空间内,这样它既能对被监控主机保持良好的可见性,同时还增强了IDS的独立性、健壮性和检测能力,是传统的基于主机和网络的入侵检测系统优点的完美结合。

Setuid进程和守候进程等特权进程是入侵者攻击的主要目标,由于特权进程具有超级用户权限,攻击者利用它们的漏洞则可以以超级用户身份访问系统资源,这些漏洞将为系统的安全性带来致命的打击。因此对特权进程实施监控是防范攻击的重要手段。

1 虚拟化技术

虚拟机监控器是一个将主机的硬件平台分割给一个或若干个虚拟机的软件抽象层,虚拟化技术附加了硬件支持,增强了当今的软件虚拟化方法带来的虚拟分割的逻辑独立性。Xen是目前流行的一种虚拟机监控器,它采用了半虚拟化技术,为上层虚拟机给出与底层硬件设备略微不同的抽象层。

2 基于系统调用的入侵检测

2.1 基于系统调用的入侵检测

基于主机系统调用序列的入侵检测技术[3],是针对主机系统调用数据集进行监测的网络安全技术。它用特权进程所产生的系统调用信息对用户正常行为轮廓进行描述或预测,以此来与未知行为的系统调用信息进行比较,判别是否发生入侵。

2.2 系统调用序列号的截获

(1)内核修改法用内核修改法来截获系统调用就是对内核中系统调用的流程进行修改,以使在系统调用过程中能先执行截获代码。在对内核编译以后,每一个系统调用都要先被判断是否是被跟踪程序调用,若是则要提取其系统调用号及参数作为分析模块的输入。该方法使截获模块与内核溶入一体,能够减少系统调用截获开销,运行速度快,系统工作较稳定。

(2)strace采集系统调用号方法收集系统调用信息的一个可选工具是LINUX系统提供的程序strace。strace能够用来跟踪程序的执行,并输出程序执行过程中发出的系统调用序列及其参数等信息。不过对于守护进程的追踪却很不理想。

(3)ptrace编程法用ptrace编程实现系统调用截获[4]能根据用户需求来完成系统调用截获功能,系统实现灵活,能较容易地观察和控制另一个程序的运行,检测和改变系统调用参数等等信息。但是用ptrace编程实现的截获模块运行在用户态下,存在较大的用户空间与内核空间的信息交换,系统运行速度慢。

3 Xen下的基于系统调用的入侵检测

3.1 Xen下的入侵检测

基于系统调用的主机入侵检测是采集特权进程的系统调用号进行分析和检测,这在主机上已经有很成熟的研究。本文是要把这个系统移植到Xen上。这个移植过程实际上是数据采集模块、分析模块、响应模块分别移植的过程。数据分析与响应模块可以用已经成熟的产品,这两个模块是在采集好数据后才运行,所以可以将其以用户进程的形式运行在Host OS上。这样,真正需要移植的只有数据采集模块,它是连接虚拟机(特权进程的数据)和主机(数据分析模块)的一个中间模块,将其放在虚拟机管理器Xen上。

3.2 虚拟机用户特权进程系统调用号的采集原理

虚拟机管理器内核进程的一个任务是拦截系统调用号[5],我们可以利用这个机制将拦截下的系统调用号输出到一个文件。本文采用修改虚拟机管理器内核进程tracing thread的拦截机制,将拦截到的特权进程的系统调用序列号输出到一个文件,作为数据源进行分析和评估。这个过程由两部分组成:(1)创建一个输出文件/root/collect_pid_syscall,该文件被创建在主机操作系统上。(2)将拦截下的系统调用号输出。基本算法如下(特权进程以sendmail为例):

4 试验结果及分析

4.1 数据的采集及分析

实验环境:主机操作系统为Fedora Core 7;虚拟机操作系统为Fedora Core 6。对Xen虚拟机的内核修改后,重新编译,然后启动虚拟机,配置sendmail,由于虚拟机一启动,/root/collect_pid_syscall文件中就会写入数据,所以在配置好sendmail后,应该删除此文件,然后进行下一次启动,此时,文件/root/collect_pid_syscall中的数据即为特权进程sendmail的系统调用号。采集的数据如图1所示。

图1采集的数据中,左边为进程sendmail的进程号4551,这里需要注意的是4551不是sendmail在虚拟机Xen上的进程号,而是这个进程在主机上的进程号,右边的数据即为这个进程在整个运行过程中的系统调用号。

4.2 数据正确性的理论分析

因为Linux中的系统调用是通过中断int0x80,从用户模式进入内核模式,然后调用系统调用处理函数实现的。而Xen虚拟机的处理系统调用的方法就是利用ptrace函数拦截系统调用信号,即,每有一个int0x80产生,就发出一个信号通知ptrace,由ptrace迫使Xen用户模式进入内核模式,具体处理方法就是:ptrace将用户进程的运行环境,即寄存器堆栈的值(其中就包括系统调用号,存放于eax寄存器中)复制到用户内核的堆栈中。本采集算法就是利用了系统调用和Xen虚拟机的原理,当ptrace复制用户进程环境时,插入一些语句,将系统调用号输出到指定的文件中。所以,只要有一个int0x80相关的信号产生,就会有一个监视语句,判断是否是某特权进程产生的。因此从理论上讲,采集到了所有的系统调用号,又因为是根据进程名来判断指定进程,所以也不会产生采集错误。

4.3 数据正确性的实验分析

(1)实验思路

由于虚拟机本身就是一个操作系统,有自己虚拟CPU,内存,硬盘,I/O设备,所以,单从虚拟机自身的角度来看,它就是一个操作系统,可以运行自己的用户进程。现在将虚拟机看成一个直接位于硬件平台上的操作系统,那么就可以用传统的采集主机用户进程系统调用的方法来采集它的特权进程的系统调用号。这个方法已经在主机上得到检验,所以它可以作为数据正确性的模板,我们可以用在虚拟机外部采集到的数据和这个模板作比较,如果完全匹配,则证明在虚拟机外部采集系统调用号的方法是正确的。

(2)实验算法

这里采用了ptrace编程的方法,将进程trace作为一条守护进程运行,将数据采集到文件/root/collect.txt中,这个文件位于虚拟机的文件系统中(/root/collect_pid位于主机文件系统中),然后执行命令:

(3)实验结果

(4)两种数据的比较

本文利用STIDE[3,6]工具中的文件比较工具进行比较。STIDE主要是对采集下的系统调用号与正常模式库或者异常模式库进行比较,用于判断是否发生入侵,设定一个阈值,如果比较结果大于这个阈值,就判断为发生入侵,否则就判断为正常。本文将阈值设置为0,如果等于0,就证明两个文件完全相同,没有异常;如果大于0,就证明有不匹配的记录,说明两个文件不完全相同。本文通过使用STIDE的两个参数来实现:

功能:将文件input1.dat的数据按照“%pt%st%dn”格式以长度为10的短序列存储到文件our_data.db中。

功能:比较文件input2.dat与our_data.db,按照run3.config中的规则。

(5)两种数据的比较结果及其分析

执行命令(1),运行结果如图4所示。

执行命令(2),结果如图5所示。

结果显示:Number of anomalies=0,Percentage anomalous=0,即异常条数位0,异常百分比为0,从而可知两个文件中的数据完全相同。故而证明了这种数据采集方法的正确性。

4.4 虚拟环境对占用CPU时间百分比的分析

作为一个运行在主机操作系统中的普通进程,开启虚拟机中的客户操作系统一定会占用一定的系统资源。判定虚拟机所占CPU的大小,作为对基于VMM的入侵检测系统理论是否可行的实际判断。在开启主机操作系统的情况下,通过对top命令返回结果的分析,得出主机操作系统对CPU资源利用的情况,每间隔10秒钟对数据进行一次记录,计算平均值作为主机操作系统对CPU资源利用的标准数值。

测出主机操作系统对CPU资源利用的标准数值后(如表1所示),在几种不同的情况下分别检测CPU占用率,与主机操作系统占用情况作对比,从表2中可以看出,在客户机启动的过程中,对主机CPU资源的占用有较大的影响;在客户机启动完成后,CPU占用率比起只开启主机操作系统时也有较大的提高。但在客户操作系统稳定后,在其中进行业务操作时,CPU资源占用率就明显降低,甚至比只启动主机操作系统时占用的CPU资源还要少。

通过对实验结果的分析,可以发现,利用虚拟环境来提高入侵检测系统自身的安全性,对系统CPU资源的影响并不是很严重,在启动虚拟机的过程中有较为明显的影响,但进入正常运行的情况下,CPU利用率明显降低,可以得出结论,启动虚拟环境的过程对CPU资源的占用率会有一定的影响,但虚拟环境稳定工作后,对系统CPU资源就没有任何影响,所以就CPU资源来说,这种方法是可行的。

5 结论

本文主要进行了虚拟机健壮主机入侵检测数据采集的实验研究。主要思想是将入侵检测系统与其监控的主机放置在同一台机器上并且利用VMM将入侵检测系统与被监控主机隔离开,在虚拟机外部即虚拟机监控器上采集虚拟机内部的特权进程的系统调用号,由位于实际主机上的检测系统来检测判断系统是否被入侵。这样,入侵检测系统虽然不可以访问虚拟机内的进程,但检测模块可以跟踪这些进程,响应模块可以约束可疑进程而不需要打扰别的进程的运行。同时,入侵检测系统对入侵者也是透明的,从而健壮了本系统。文章还从理论和实验两方面证明了该方法的正确性和可行性。

参考文献

[1]Rosenblum M,Garfinkel T.Virtual machine monitors:Current technolo-gy and future trends[J].IEEE Computer,2005,38(5):39-47.

[2]Laureano M,Maziero C,Jamhour E.Protecting host-based intrusion de-tectors through virtual machines.Graduate Program in Applied Comput-er Science,Pontical Catholic,University of Parana,Brazil,2006.

[3]Hofmeyr S,Forrest S,Somayaji A.Intrusion detection using sequences of system calls[J].Journal of Computer Security,1998,6.

[4]Sandeep S.Process tracing using ptrace-part III.July2005.http://linuxgazette.net/issue85/sandeep.html.

[5]Xen3.0User Manual.March2007.http://www.cl.cam.ac.uk/re-search/srg/netos/xen/readmes/user/.

健壮设计 第9篇

人民银行网络系统承载着央行的各项业务, 其良好的健壮性是实现人民银行“优先恢复对外服务”、“提高业务连续性”的重要基础。但当前各分支机构在网络健壮性方面缺乏科学的评价体系, 无法及时有效地发现存在的问题, 因此, 准确把握人民银行网络工作状况、客观评价网络性能水平、综合评估网络健壮性等十分必要。人民银行福州中心支行 (以下简称“人行福州中支”) 科技处结合省级网络管理实际, 开展了相关实践, 取得了一些经验。

二、主要做法

人行福州中支科技处组织网络运维相关骨干人员, 从可操作和易管理的角度出发, 选取了有代表性的制度、设备、数据链路、日常运维能力、应急处置等作为评估对象, 通过“明确要素、设计指标、设置权重”3个步骤, 编制《中国人民银行网络健壮性评估调查表》 (以下简称《调查表》) , 将网络健壮性评估工作转变为可量化、可操作的简单调查过程。

(一) 明确要素

网络健壮性评估内容包括管理制度评估、网络稳定性评估、网络性能评估、网络可管理性评估4个方面13个子项。针对每个评估项目, 分别提出重要工作节点作为评估内容。具体选取要素与理由如表1所列。

(二) 设计指标

评估要素应进一步分解为易理解、可量化、能操作的评估指标, 目的是通过简单填写或勾选即可获得较为准确的评估结果。主要做法有两种, 一是单项选择, 如将网络运维管理办法的评估设计为“制度内容是否包含口令安全内容”、“是否包含访问控制内容”等, 只须回答“是”或“否”即可获取结果;二是区间选择, 如将“CPU使用率”设计为“小于20%”“20%~50%”“50%~80%”“80%以上”等, 根据实际情况可方便找到对应区间, 获得对应结果。

(三) 设置权重

根据日常经验, 遵循兼顾均衡和适当向发现问题多与工作难度大的项目倾斜的原则设置权重, 并可根据实际情况变化进行调整。具体权重设置如表2所列。

三、评估结果

在编制《调查表》的基础上, 依据表格内容对福州中支业务网健壮性进行试评估, 得分为86.95。详见表3所列。

从上表可知, 人行福州中支业务网在网络架构、网络设备性能、数据链路、网络管理系统方面存在薄弱环节。后续应通过改造局域网分层分区、更新升级核心网络设备、扩容广域网线路带宽、完善网管监控系统功能等方式进一步提升网络健壮性。

四、思考与建议

(一) 科学制定评估调查表

适当时候可邀请网络设备厂商、通信运营商和维保服务机构的网络技术专家, 利用其丰富的运维保障经验, 在网络设备、数据链路、日常维护方面引入更多评估子项目, 丰富评估指标体系, 更深入全面地开展评估工作。

(二) 合理确定指标权重

评估中如何确定各指标的权重是一个关键问题。采用客观权重确定法能够比人为主观地确定权重更加准确地反映评估对象的真实状况。目前常用的客观权重确定方法有标准差法、离差最大法、熵权法和基于指标相关性的指标权重确定方法。可在今后评估中引入其中一种或两种权重确定法, 争取更客观、全面地评价网络健壮性。

(三) 利用科学测量工具

健壮设计范文

健壮设计范文(精选9篇)健壮设计 第1篇液压换向滑阀几乎遍布各类液压系统中,其稳定性与可靠性影响着整个液压系统的正常工作。换向滑阀的...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部