动态扩展(共7篇)
动态扩展 篇1
0 引言
大型风力机的可靠性是影响其运行成本和效率的最重要因素[1]。风力机叶片在运行时不仅承受离心力、弯曲应力、空气动力、热应力等作用,还受到冰霜雨雪的侵蚀和雷击闪电的破坏,风力机叶片蒙皮容易产生微小裂纹,当微小裂纹扩展至临界长度后会快速失稳扩展,最后导致叶片断裂,给风力机的安全运行带来严重威胁[2]。风力机叶片裂纹故障已成为大规模风场中普遍存在的安全隐患。
应力强度因子是直接判断裂纹扩展状态的重要参量,但以往的裂纹故障识别研究未能考虑复合材料的塑性影响[3,4]。有学者尝试运用声发射(acoustic emission,AE)信号来检测裂纹缺陷[5,6]。由于裂纹在扩展过程中所释放的AE信号将发生反射、散射、模式转换以及受到传播介质和传感器频响特性的影响,所以运用常规的信号处理技术难以从AE信号波形来认识声发射源的本质特征[7]。20世纪90年代,小波分析方法被引入到AE信号处理技术中,其中研究的热点问题主要集中在如何提取信号的非平稳、非线性、非高斯型特征上[8]。传统的声发射检测技术认为信号是以某一固定速度传播的,而风力机叶片的复合材料具有较强的各向异性,因此难以明确获得AE信号特征参数与裂纹扩展状态之间对应的评价机制。
为了研究风力机叶片裂纹在动态扩展过程中AE信号特征与叶片可靠性之间的映射关系,本文首先分析了影响裂纹尖端塑性区应力强度因子的因素,通过风力机叶片蒙皮张开型裂纹扩展试验,采集扩展裂纹AE信号,采用小波分析方法消除AE信号中的噪声来分析裂纹在动态扩展时的信号时频特征,从而实现复合材料中裂纹动态扩展的特征参数识别。
1 裂纹尖端塑性区的应力分析
本文所研究的风力机叶片为玻璃钢复合材料,经典断裂理论并不适用于这种复合材料的裂纹尖端应力场。当叶片某点出现应力无限大时,应力以产生裂纹的形式释放能量。根据弹性力学,理想线弹性材料的裂纹尖端应力函数U应满足协调方程[9]:
在极坐标系下,裂纹尖端相应的周向正应力σ0、径向正应力σr和剪切应力τ的解析解分别为
式中,r、θ分别为径向距离和周向角度。
本研究中所加工的裂纹是张开型裂纹(Ⅰ型裂纹),此时风力机叶片的裂纹尖端满足如下边界条件:
将式(3)代入式(2)可解得
式中,KⅠ为Ⅰ型裂纹的应力强度因子,它与坐标无关,是裂纹尖端应力状态的度量参数。
在裂纹的延长线方向(θ=0°)有
在裂纹的垂直方向(θ=90°)有
式(5)~式(6)说明Ⅰ型裂纹正前方和垂直方向的应力场均具有r1/2奇异性。由上述分析可知,裂纹应力场随着径向距离r的增大迅速衰减。若传感器安装位置不当,AE信号将难以采集。因此试验前需要调整传感器与预制裂纹的位置,以保证信号采集系统对裂纹AE信号的顺利捕捉。
对于大多数工程材料,其裂纹尖端的塑性区域尺寸λ远远小于裂纹长度L,因此可不考虑塑性影响,上述理论仍然适用。此时叶片的弹性裂纹尖端应力场有[9]:
在r=λ的塑性区边缘处,初始微小裂纹正前方塑性区内的σr等于其初始屈服应力σrs,式(7)积分后可得
由式(8)可得塑性区尺寸为
若忽略裂纹的塑性区影响,Ⅰ型裂纹在距离塑性区边缘较远处的应力强度因子KⅠ表示为[9]
式中,σr∞为塑性区外径向应力。
本文所研究的风力机叶片早期微小裂纹尺度L与其塑性区尺度λ数量级相当,所以必须考虑裂纹塑性区的应力场影响。由于裂纹尖端附近有塑性变形,其裂纹的有效尺寸将比真实尺寸L大,且风力机叶片的交变载荷与塑性区应变有关,因此式(10)中K1的修正值如下:
式(11)中的系数A与加载速率和裂纹形状有关。将式(9)代入式(11)可得
比较式(10)和式(12)发现,修正后的KIs与加载应力、材料性质和裂纹尺寸有关。当考虑裂纹尖端塑性区影响后,裂纹尖端应力状态受到径向正应力σr和初始屈服应力σrs的影响程度更大、更复杂。式(12)在大多数实际情况下是难以求解的,特别是对于复杂环境力作用下,裂纹尖端的应力场不再随外载荷的增大而呈线性增大规律,即AE信号的频谱范围随着载荷变化的规律不再呈现简单的线性关系。
由于试验研究已明确材料性质和裂纹尺寸,因此,如果再能确定裂纹扩展状态所对应的加载历史和提取AE信号波形的特征参数,那么研究风力机叶片初始裂纹扩展规律是有可能的。鉴于此,本文的试验研究从激励源(加载方式)、传播介质(材料塑性区)、裂纹形状三个影响因素来综合分析应力产生和传播与AE信号特征之间的关联机制。
2 AE信号的特性分析和处理方法
裂纹扩展的AE信号是一种突发型非平稳信号,其相应的处理方法与信号类型和传播特性有关[10]。假设沿x方向传播的某单位幅值AE信号u(x,t)由两个频率分别为ω1和ω2的单一模态导波组成,则该信号可以表示为[11]
式中,k(ω1)x、k(ω2)x分别为频率为ω和ω2处该模态的波数;i为模态的阶数。
若定义:
则式(13)可写为
由式(15)可以看出,AE信号u(x,t)可以分解为一个反映群速度的调制信号和一个反映相速度的指数型信号。一般认为,应力波在薄板结构中传播时起主要作用的是一阶弯曲波和一阶扩展波,此时采集的AE信号由于模态和频散少,处理相对容易[12]。但对于风力机叶片这类复合材料,常采用高频传感器,且风力机叶片属于杆状构件,厚度相对于其宽度并不小,此时u(x,t)是高阶弯曲波和高阶扩展波叠加后的信号。
由于扩展波速度快、离散小,不同频率的波以同样的速度传播。而弯曲波速度慢,以频率谐波形式传播,扩大了频率范围,为AE信号的特征提取带来了很大的困难。因此本文采用小波分析方法,根据AE信号中不同频率分量所具有的不同时变特性进行特征提取,此时AE信号u(x,t)的小波变换定义如下:
式中,ψa,b(t)为小波变换的基函数,参数a和b分别称为平移参数和尺度参数。
裂纹的扩展是能量不断累积所致,所有的声发射过程均为突发过程,因而在对AE信号进行处理时,目前最常用的办法是对参数按幂级数作离散化,即a=2j,b=k2j(j=0,1,2,…;-k=…-2,-1,0,1,2…),则小波变换基函数可写成:
如前所述,由于式(15)中AE信号u(x,t)为调制信号和指数型信号的叠加,而且具有突发瞬态性,这就要求所选择的小波基具有紧支性和快速衰减特性[13],以提高AE信号在频域内的局部分析能力,所以本文在处理试验采集的裂纹扩展AE信号时优先选择具有紧支性和快速衰减性的小波基。
3 风力机叶片的裂纹扩展试验
3.1 试件制备和试验装置
试件全长1000mm,蒙皮平均厚度为6mm,平均宽度为65mm。根据裂纹尖端塑性区应力场的分析结果可知,裂纹扩展时应力波的产生和传播与试件材料、加载条件、萌生裂纹形状有关。
试验前首先制作试件A,根据风力机叶片的材料试件分为两种。试件A1和A2采用普通玻璃钢复合材料,试件A3和A4在每个层间杂乱分布增韧短纤维。试件均由机加工方式来预制裂纹,试件A1和A3加工裂纹的长度为L=1mm,试件A2和A4加工裂纹的长度为L=5mm,裂纹平均深度均为H=1mm。
试验装置如图1所示,叶片根部紧固,在P点处施加载荷,用静态应变仪在加载点P测量载荷。试验温度为20℃,整个试验过程无其他影响试件裂纹扩展的环境因素。采用美国PAC公司的PCI-2声发射采集系统,采集系统由谐振式AE传感器、前置放大器、主放大器、数字信号模拟器构成,采样频率为2MHz。
试件B1~B4的材料和预制裂纹尺寸分别与试件A1~A4对应,但是加载条件不同。试件A、B的加载频率均为10Hz,其他加载条件如表1所示,表中的载荷和破坏应力为每种试件的平均值。
试验表明,A、B试件的破坏应力近似,分别为无裂纹叶片破坏应力的66%和68%(试件基底为环氧树脂,其抗拉强度均为90MPa),说明风力机叶片的断裂与其层间是否增韧、初始裂纹尺寸和加载条件没有明确关联,需进一步分析风力机叶片裂纹发生扩展时的应变规律。
3.2 扩展裂纹的形貌分析
将试件在如图1所示的装置下进行裂纹扩展试验。随着试验的进行,初始裂纹缺陷产生一系列变化,先是闭合或张开,继而出现微裂区,并由内部缺陷逐渐扩展直到演化为失稳破坏,在裂纹扩展至叶宽1/3时停止施加载荷,记录试件的裂纹扩展形貌如图2所示。
比较图2a~图2d可知,试件A1和A2的扩展裂纹近似平行,而试件A3和A4裂纹的扩展角较大,说明在初始裂纹长度相同的情况下,层间加强材料增大了扩展阻力,有更好的抗裂纹扩展特性。比较图2a、图2c可知,裂纹初始长度L=1mm,塑性区影响较大,裂纹首先平行起裂,但试件A3扩展到一定尺度后增大了扩展角,降低了横向扩展的可能性。而如图2b、图2d所示,当初始裂纹长度L=5mm时,已超过了塑性区尺度,因此塑性影响减小,试件A4甚至在蒙皮平面上出现分支裂纹。分支裂纹对主裂纹扩展没有直接影响,但却消耗了更多的能量,因此材料的裂纹扩展阻力增大,说明材料因素(纤维含量、倾斜角等)更大地影响了裂纹扩展,而初始裂纹的尺寸对材料扩展特性的影响较小。
从图2a、图2b来看,材质相同的试件初始裂纹的长度越大,则扩展裂纹变形越快,裂纹从起裂时的不稳定扩展演变为稳定扩展的时间明显缩短。比较图2c、图2d可知,由于材料中的增韧纤维增大了扩展阻力,杂乱分布的层间纤维使裂纹的扩展方向很随机,而裂纹初始尺寸对其影响不大。图2e~图2h说明当载荷增大后,试件B和试件A的裂纹增长量无明显差异,当载荷增大后,裂纹扩展并没有增长,反而有所下降。如图2e、图2f所示,说明普通叶片的试件在载荷增大后裂纹仍近似平行扩展,加载条件和裂纹尺寸对裂纹扩展几乎没有影响。比较图2c、图2d和图2g、图2h发现,加强型叶片的扩展方向明显变化,起始裂纹从加载的瞬间开始就不再平行扩展,在稳定扩展阶段就出现分支裂纹,且存在着较为严重的变形,说明加强型叶片材料加载条件与裂纹扩展的关系较大,而与裂纹的初始尺寸关系不大。
上述裂纹扩展形貌说明,影响风力机叶片扩展最主要的因素是材料,其次是加载条件,而裂纹的初始尺寸对裂纹扩展的影响很小。当循环载荷超过材料的屈服极限时,裂纹尖端应力和扩展速度与施加载荷不呈线性关系,这与裂纹尖端塑性区的应力分析结果吻合。
3.3 扩展裂纹AE信号的处理
由扩展裂纹的形貌分析结果可知,材料对裂纹的平面扩展阻力影响最大,为明确特征频率范围与施加载荷的关联,本文采集了试件A3、B3裂纹稳态扩展瞬间释放的AE信号,如图3、图4所示。
从图3和图4可以看出,稳定阶段的裂纹扩展信号频率较为丰富,高阶弯曲波在空间以不同频率扩散时可能导致振幅有所衰减;而且由于持续时间变长,到达时间延迟,频率成分有可能向低频偏移,为提取波形中的特征频率带来困扰。
研究表明,小波基Daubechies8、Symlets8和Coiflets5具有紧支性和快速衰减的特性[14,15],本文选取这三种小波基分别对扩展裂纹AE信号进行处理,并用处理结果的信噪比(SNR)和均方根误差(RSME)作为评价标准(表2)。图5、图6是采用三种小波基对扩展裂纹AE信号进行处理的结果。
由表2可知,试件A3采用Daubechies8小波基函数处理后,信噪比(SNR)为38.1064,比采用Symlets8提高了20.4%,均方根误差(RSME)为0.0035,比采用Symlets8小波基函数降低了62.4%。根据表2的比较结果,针对风力机叶片这种复合材料的稳定裂纹扩展AE信号,采用Daubechies8小波基函数的处理效果最好,采用Coiflets5小波基函数的处理效果最差。
从图5和图6的处理结果也可看出,当小波基函数为Daubechies8时,信号特征幅值明显,谐波较少;如图5b和图6b所示,采用Symlets8小波基函数时,虽然特征频率明显,但高阶弯曲波在低频区的幅值略有偏移,且谐波较多、幅值衰减明显;如图5c和图6c所示,采用Coiflets5小波基函数时,次谐波丰富说明高频噪声未被消除。
通过比较信号的SNR、RSME和波形情况,采用Daubechies8小波基函数处理后的信号更能显现信号的特征频率。如图5a所示,频谱中最大幅值集中在50kHz处;如图6a所示,试件B3的材料和裂纹初始长度与A3相同,但最大载荷和加载比均比A3大,频谱范围扩展到50kHz~75kHz范围内,最大幅值对应特征频率仍为50kHz,但是幅值从22mV增大到了27mV。比较图5a和图6a可以看出,当载荷条件改变后,裂纹稳态扩展的特征频率不变,但频谱范围扩大,幅值随载荷增大非线性增大。
4 结论
(1)研究发现对于层间有增韧材料的风力机叶片而言,影响裂纹稳态扩展的最大因素是材料,其次是加载条件,而裂纹的初始尺寸对裂纹扩展的影响最小,说明增韧类的加强材料有更好的抗裂纹扩展特性,大量短纤维桥联存在于裂纹经过的所有层间,因此增大了断裂能,阻断了基体裂纹扩展的轨迹。
(2)当载荷增大后,普通叶片的试件裂纹扩展并没有增长,反而有所下降,裂纹仍近似平行扩展,说明加载条件和裂纹尺寸对普通叶片的裂纹扩展几乎没有影响。
(3)对于层间夹杂有增韧材料的试件,稳态扩展阶段就出现严重变形的分支裂纹,说明加强型叶片的加载历史与裂纹扩展的关联较大。不同试件的裂纹特征频率均集中在50kHz处,当载荷增大后,裂纹稳态扩展的特征频率不变但频谱范围扩大到50kHz~75kHz,说明加载历史将影响裂纹尖端应力的能量分布。
(4)针对风力机叶片这种复合材料的裂纹稳定扩展AE信号,比较了采用不同小波基函数处理AE信号的信噪比和均方根误差,结果表明,采用Daubechies8小波基函数的处理效果最好,采用Coiflets5小波基函数的处理效果最差。
(5)本文所研究的裂纹深度较小,表面裂纹孤立、稳定且不互相贯通,因此蒙皮上的裂纹扩展仅限于二维平面,仅为张开型裂纹,对于其他类型的多裂纹扩展问题还有待进一步研究。
摘要:首先推导了风力机叶片裂纹尖端塑性区的应力强度因子,确定了影响裂纹扩展的主要因素,然后根据裂纹扩展时的声发射信号特性,探讨了声发射信号的特征提取方法。在试验中分析了不同试件的裂纹形貌特性,并针对采集的裂纹扩展声发射信号,比较了不同小波基函数对声发射信号特征提取的影响,提取了裂纹动态扩展的特征频率,从而建立了声发射特征参数与声发射源之间的关联机制,为风力机叶片状态监测和早期预警提供理论依据。
关键词:风力机,叶片,扩展裂纹,声发射信号
动态扩展 篇2
但是一些复杂情况还是难处理。
比如有一个界面需求,进度条上显示标签,这个需求不难,难的是显要在显示表格框内,在各种机型显示正常。
最初设定是垂直居中向上偏15个像素
这是iPhone 4S 显示效果,下面与滑块还有错位
但是在iPhone 6下显示,下面有错位,但是上面留空太多
但如果把偏移量设为21.则出现另一种情况。
大屏幕的手机显示完美。
但是iPhone 4S下就错位了
一种信息系统软件的动态扩展方法 篇3
本文介绍一种让开发商省心、客户开心的信息系统软件的动态扩展方法。
1 实现方法
1.1 功能模块的封装
动态链接库DLL(Dynamic Link Library)是一些编译过的可执行代码。在Windows环境中使用DLL可以实现多个应用程序间的代码和资源共享。DLL独立于语言,在Windows编程环境中允许程序员调用存储在DLL中的函数或者其它资源[1]。以自主编写的病历复印模块为例,设计好并封装在DLL中。该DLL的代码清单如下:
1.2 动态菜单调用DLL
动态菜单生成技术主要是分离了权限与功能的对应逻辑完成角色的访问控制。采用动态菜单设计的思想,将菜单的自动生成与软件业务功能相对应,同时也与代码的更改剥离开来,使得系统管理员可以通过菜单配置工具(或称动态菜单编辑器)来动态的增加、减少各个子系统所需要的构件,从而实现角色所需要的特定的业务功能,也可通过菜单配置工具配置不同角色下包含的构件,而实现此角色下个性化的业务功能,达到以菜单的动态变化来适应企业内个性化的要求,这对大型企业信息化软件系统的开发和部署是至关重要的,同时也能提高软件的维护性、移植性和柔性化程度[2]。
例如应用动态菜单编辑器menu.exe,它通过主菜单文件KWHIS.ZMN连接多个分菜单文件,每个分菜单再连接多个子功能,在每个子功能下挂接多个节点功能模块,每个功能模块调用不同DLL的不同函数。以病历复印管理的DLL挂接为例,新增加的病历复印管理模块调用应用Project1.dll中的函数fyy_blfy,同时赋予一个唯一的菜单项编码,以便在数据库中注册该菜单项(见图1)。
1.3 在数据库中存储配置
2 结束语
没有让软件开发商修改源代码,客户通过动态链接库、动态菜单和数据库三位一体的紧密协作,实现了软件的动态扩展,节省了信息化投入,同时也体现了系统强大的可扩展性。在软件业竞争日益激烈的今天,这种方法极大的提高了信息系统的生命力,值得同行借鉴。
另外动态菜单是中间件技术的一个应用实例。随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。伴随着应用系统集成需求不断提升,中间件本身也存在一个不断延伸与拓展的过程,原始的中间件是指位于操作系统与应用程序之间的软件中间件,而现在它则包括了所有应用系统之间的整合、集成,内涵远远超出了以前的范畴。中间件软件已经与操作系统、数据库并列为三大基础软件。依靠中间件—动态菜单编辑器来实现业务整合和工作流程的管理已成为一个趋势[3]。
摘要:随着应用环境的不断变化,对现有信息系统软件功能进行扩展的需求时有发生。该文介绍了一种利用动态链接库、动态菜单和数据库技术实现软件功能动态扩展的方法。
关键词:动态链接库,动态菜单,软件,动态扩展
参考文献
[1]何定华.在Delphi中实现窗体的DLL封装[J].电脑知识与技术,2010,6(14):3636-3637.
[2]王玉峰,张振业.基于.NET反射技术的动态菜单的设计与实现[J].微计算机信息,2008(3):9-11.
基于图斑的城市扩展动态监测研究 篇4
城市是土地利用/覆盖变化中最为敏感的区域。快速、准确的获得城市用地的变化信息对城市政策的制定和可持续发展有着重要的作用。遥感技术在自然资源监测领域的应用从70年代就已开展起来[1,2]。目前建立在遥感数据基础上的土地利用/覆盖变化的动态监测得到日益广泛的重视, 已经发展了许多基于遥感影像数据的动态监测方法[3,4,5,6]。传统的动态监测方法本质上以单个像元为基础, 提取出动态变化信息, 而单个像元信息势必受环境的影响造成辐射值发生异常变化, 导致从遥感图像上提取的地物信息产生“伪”变化, 致使动态监测的精度降低[7,8]。实际上, 地物在自然界多成连片状分布, 在遥感影像上表现为像元的集合。同一图斑内部相邻像元之间的信息 (光谱、纹理等) 是有关联的[9,10]。基于图斑的动态监测利用光谱信息、纹理信息、结构信息等提取不同尺度的图斑, 以图斑为基本单元进行比较获取不同时期土地利用/覆盖的变化信息。目前, 基于图斑的动态监测技术已经逐渐发展起来, 可分为两种: (1) 基于图斑分类法, 即利用基于图斑的分类法方法进行分类, 提取出各种地物类型信息, 最后提取出变化/非变化信息。如Volker Walter通过GIS数据库自动分割遥感图像, 提取地物图斑, 监测图斑的变化, 更新GIS数据库[11], Andrea S.Laliberte利用基于图斑分类方法针对墨西哥南部灌木从1937年到2003年侵蚀草地进行动态监测[12]; (2) 基于图斑差值法, 将各期图像图斑的信息均一化, 如求取图斑内的光谱平均值、方差, 然后进行两时期图像的求差操作, 设定阈值提取出变化/非变化信息。如L.Bruzzone提出以两期图像的共享斑块作为动态监测的基本单元, 比较其变化, Ola Hall (2003) 采用多尺度基于图斑方法对瑞典Orebro省的森林进行动态监测。Baudouin Desclée利用基于图斑的方法对森林进行动态监测。在这些研究中, 基于图斑动态监测技术能够有效复合多源信息进行分类, 提高分类精度, 并进一步提取出土地利用/覆盖变化信息。该方法不需要严格的辐射纠正在一定程度上了弥补光谱直接比较法要求数据严格的缺陷。基于图斑分类动态监测法需要人为的参与, 通过先验知识来选取训练样本, 样本选取困难的不足仍然存在, 在一定程度上影响分类的结果, 造成误差的积累;基于图斑差值法, 通过计算图斑各种类型的差值并设定阈值来计算图斑是否发生变化。阈值确定的好坏, 直接影响动态监测的精度。
为降低分类法造成的误差积累和图像差值无法确定地物转化方向的不足, 本论述利用不同时期遥感影像纹理具有较强稳定性的特点, 发展了通过计算不同时期图斑之间纹理的相似度来提取城市的变化信息的方法, 其中包括提取城市/非城市图斑, 确定潜在变化的城市/非城市图斑并合并提取两个时期的公共图斑, 计算图斑之间的纹理相似度, 通过统计方法设定阈值来进一步提取出城市/非城市变化的图斑。
2 研究区与数据
研究区位于北京城区的中心城区西北, 海淀与昌平的部分区域, 范围为116 11 57.49 E-116 23 13.80 E, 40 00 12.90 N-40 09 12.97 N, 平均海拔50m左右的平原, 随着北京经济的发展和以高新产业的快速成长, 在短时间内发生了巨大的土地利用/覆盖变化。
在本研究中, 选取了季相一致的, 质量较好, 无云, 完全覆盖研究区的编号为123/32的两期Landsat TM数据 (1997-05-16, 2004-5-19) , 见图1所示。像元大小为30m×30m。戴昌达等的研究表明, TM3, TM4, TM5波段组合包含最丰富的地物信息。因此选取这三个波段来进行城市动态变化信息提取。经过图像预处理、提取各时期的城市/非城市图斑, 确定潜在变化图斑, 提取最佳窗口的纹理信息, 计算潜在变化图斑的相似度, 最后设置阈值提取出变化的图斑。最后获得从1997年到2004年海淀区城市/非城市变化图斑。
数据预处理主要包括严格的几何纠正和研究区提取。首先以1999年标准影像图为基准, 利用二次多项式和双线性内插法对1997年的TM图像进行了图像到图像的几何校正, 经重新选点检验, 误差在一个像元内, 接着以校正好的1997年图像为基础对2004年图像进行了图像到图像的配准处理。经检验, 二者的RMS误差小于0.5个像元。最后, 从配准好的两期图像上提取出研究区域。
3 基于图斑的城市动态监测
基于图斑的城市动态监测以不同尺度的图斑作为基本的监测单元, 对两期图像的城市/非城市图斑进行相似度比较, 确定城市图斑是否发生变化。流程见图2所示。
3.1 提取城市/非城市图斑
本研究中采用基于图斑软件e Cognition3.0从两期图像 (1997年, 2004年) 提取不同尺度的图斑, 权重参数设置分别为光谱指数设置为0.8, 形状指数设置为0.2。其中, 形状指数可分为光滑指数和密度指数, 分别设置为0.9和0.1。此外, 同质斑块大小最小设置为20个像元。这在一定程度避免了细碎斑块的产生, 适合城市地区城市/非城市变化的最小单元。海淀区的土地类型很多, 包括城镇、森林、草地、水稻田、果园、水体等。在本研究中主要侧重城市和非城市之间的转化, 因此, 将城镇、街道等归并为城市, 将森林、草地、水稻田、果园等归并为非城市。为显示方便, 提取海淀区两期影像图斑的一部分进行显示, 见图3所示:
3.2 提取最佳窗口纹理信息
在目前的图像纹理特征计算方法中, Haralick等提出的灰度共生矩阵计算方法应用最为广泛。本研究中采用Envi4.4中提供的Variance方法计算纹理信息, 从潜在变化的图斑中分别选取出20个典型的变化和非变化图斑, 计算图斑纹理相似度, 确定能够最有效区分变化和非变化图斑的最佳纹理窗口尺寸。
计算出20个变化图斑/非变化图斑相似度的平均值和方差, 并根据公式 (2) 计算出在不同窗口下变化/非变化图斑之间的分离度。见表1所示, 在3×3窗口下变化图斑/非变化图斑的分离度最高, 达到1.236, 因此, 初步确定采用TM数据提取纹理信息计算图斑相似度的最佳纹理窗口大小为3×3。
3.3 计算潜在变化图斑相似度
在这里定义变化图斑/非变化图斑相似度的分离度 (公式1) , 以有效区分变化图斑和非变化图斑, 表示变化图斑/非变化图斑集合之间的相似度距离最大, 而变化图斑/非变化图斑集合内部相似度比较集中, 这样变化图斑/非变化图斑之间的可区分度最大。其中f (c, uc) 代表变化图斑/非变化图斑之间的分离度, Meanc、Meanuc分别代表变化图斑、非变化图斑相似度集合的平均值, Varc、Varuc分别为变化图斑、非变化图斑相似度集合的方差。f越大则变化图斑与非变化图斑相似度之间的差别越大, 从而能有效的区分开变化/非变化图斑, 反之变化图斑与非变化图斑相似度的差别较小, 不能有效区分变化/非变化图斑。
3.4 设置阈值, 提取城市变化图斑
最后设置相似度阈值, 提取出变化的城市/非城市图斑。根据Kittler and Illingworth提出的阈值设置理论, 将变化/非变化图斑分布曲线的交叉点设置为变化/非变化图斑的阈值, 为0.12, 从而提取城市/非城市图斑的变化信息, 见图5所示。
4 结果分析
参照Anderson J R的分类体系[1], 在相关辅助资料和野外调查的基础上, 将该区的土地覆盖类型分为:高密度城市用地、中低密度城市用地、水域、稻田、菜地、水浇地、园地、灌草地、林地共九大类, 并采用最大似然法进行分类。由于本研究重点在于城市、非城市之间的转化, 因此将高密度城市用地、中低密度城市用地归并为城市, 其他土地类型归并为非城市。
采用分层随机选取典型样本区的方法, 在研究区域设置 (其中变化区域设置为150个像元点) 300个检测点, 进行了城市/非城市变化信息的精度检验。检测结果见表2、3所示, 可以看出基于图斑动态监测方法的精度要高于分类后比较方法, 总精度达到81%, Kappa达到0.62。
5 结论和讨论
本研究中, 采用基于图斑的方法, 进行土地覆盖动态监测, 实验结果表明该方法具有一定的适用性。得到如下结论:
(1) 基于图斑法获得变化信息精度 (总精度=81%, Kappa=0.62) 相对于分类后比较法 (总精度=74.7%, Kappa=0.49) 有一定提高。基于图斑方法利用多源信息 (光谱、纹理、形状等) 提取城市/非城市图斑, 相对于最大似然分类法利用单源光谱信息提取在确定城市/非城市信息方面精度有一定提高, 同时计算城市/非城市图斑纹理相似度能够对潜在变化的图斑进一步检测, 在一定程度上降低误差的积累。
(2) 从基于图斑精度检验结果 (见表2) 来看, 变化像元的正确提取精度可达到70.7%, 说明通过提取纹理信息, 以图斑作为单元, 计算图斑相似度能够有效的区分开变化/非变化的图斑。
本研究仍存在一些方面有待进一步深入研究:探讨相似度阈值设置的有效方法, 寻找变化/非变化图斑之间的边界线, 从而能更加有效区分城市/非城市图斑。
参考文献
[1]范海生, 马蔼乃, 李京.采用图像差值法体提取土地利用变化信息方法—以攀枝花仁和区为例[J].遥感学报.2004, 5 (1) :7580
[2]赵英时等.遥感应用分析原理与方法[M].北京:科学出版社.2003
[3]Singh A.Digital change detection techniques using remote-lysensed data[J], International Journal of Remote Sensing, 1989, 10 (6) :9891003
[4]Jesen J R.Introductory Digital Image Processing, a Remote Sensing Perspective[C].Prentice Hass Saddle River, New Jersey, 2nd ED, 1996
[5]Ding Yuan, Christopher D.Elvidge, Ross S, Lunetta Survey of Multispectral Methods for Land Cover Change Detection Analy-sis[A].Ross S Lunetta, Christopher D.Elvidge.Remote Sens-ing Change Detection:Environmental Monitoring Methods and Applications[M].Sleeping Bear Press.Inc.1998
[6]Johnson R D, Kasischke E S.Change vector Analysis:a tech-nique for the multispectral monitoring for land cover and condi-tion[J].Internation Journal of Remote Sensing, 1998, 19 (3) :411426
[7]陈晋, 何春阳, 史培军等.基于变化向量分析的土地利用/覆盖变化动态监测 (I) —变化阈值的确定方法[J].遥感学报.2001, 5 (4) :559266
[8]何春阳, 陈晋, 陈云浩, 史培军.土地利用/覆盖变化混合动态监测方法研究[J].自然资源学报.2001, 16 (3) :255262.
[9]Thomas m.g., &, Hendrix, Congalton, R.G.A comparison ofurban mapping methods using highresolution digital imagery.Pho-togrammetric Engineering and Remote Sensing, 2003, 69 (9) , 963972.
[10]苏伟, 李京, 陈云浩, 张锦水, 胡德勇, 刘翠敏.基于多尺度影像分割的面向对象城市土地覆盖分类研究——以马来西亚吉隆坡市城市中心区为例[J].遥感学报, 2007, 11 (4) :521530.
[11]L.Bruzzone, Fernandez Prieto.An adaptive parcelbased technique for unsupervised change detection.Int.J.Remote Sensing.2000 (4) :817822.
动态扩展 篇5
移动自组网MANET(Mobile Ad Hoc Network)具有网络带宽有限、网络拓扑动态可变等特点,这使得设计一个合适的路由协议具有一定的挑战性。目前提出的MANET路由协议基本上可分为三类:主动式(Proactive)路由、反应式(Reactive)路由、混合(Hybrid)路由。随着无线网络设备的大量使用,可能会形成节点数目多、节点密度高的大规模移动自组网,这使得路由应具有良好的可扩展性。文献[1]指出,MANET路由可扩展性面临的主要挑战是:节点数目增多、节点密度增大、节点高速移动,导致路由开销急剧增大,网络严重拥塞直至无法正常工作。无论是主动式路由还是反应式路由,都有着自身难以克服的缺点,它们的可扩展性相对于混合路由而言比较差[2]。典型的混合路由协议ZRP[3](Zone Routing Protocol)采用虚拟拓扑技术,将规模较大的MANET划分为许多小的虚拟子网,在虚拟子网内、外采取不同的路由策略,以解决网络规模增大、节点高速移动导致的路由开销急剧增大的问题。
在MANET背景下,从分簇的角度而言,一个好的簇划分应具备两个特性:一是每一个节点至少与一个或一个以上的簇头相邻,使得所有节点都能被簇头覆盖;二是任意两个簇头都不相邻,这样可以提高空间复用度,从而提高网络吞吐量[4]。最大独立集正好具有这两个特性。针对MANET网络拓扑动态变化这一特点,本文提出了一个分布式动态最大独立集算法,然后在该算法的基础上借鉴ZRP的思想,提出了一种可扩展动态混合路由协议:SDHRP。
ZRP中每个节点都要维护一个以跳数ρ为半径的路由区域,这使得邻居节点间的路由区域严重重叠。为了减少这种邻居节点间路由区域的重叠,本文提出的SDHRP首先利用一个分布式动态最大独立集算法从网络中选出一个最大独立集,然后由那些属于最大独立集的节点来维护路由区域,这样极大地减少了邻居节点间路由区域重叠的问题,从而降低了路由控制开销。与ZRP的对比实验结果表明,在保证网络吞吐量的前提下,SDHRP的路由控制开销减小了30%左右,具有较好的可扩展性,能够有效地适应节点数目多、节点密度高的场景,具有较好的可扩展性。
1 可扩展动态混合路由SDHRP
SDHRP是一个有机结合主动式路由和反应式路由选路策略的混合路由协议,主要包括三个部分:分布式动态最大独立集(DDMIS)算法、区域内路由协议、区域间路由协议。DDMIS算法能够在网络拓扑不断变化的场景下,动态地给出某一时刻网络的一个最大独立集。区域内路由协议是纯主动式路由协议,可采用基于链路状态的主动路由协议或其它主动路由协议。区域间路由协议是纯反应式路由协议,采用按需路由协议。
1.1 DDMIS算法
网络模型:一个MANET可表示为图G =(V,E),其中:V为节点集合,每个节点i都有一个唯一的标识符来代表该节点;E为边集。假设各个节点的通信半径(欧氏空间)都是一样大。节点i和节点j间存在无向边(i,j)∈E ,当且仅当节点i与节点j处在对方的通信范围内。
所谓独立集是指图G =(V,E)的一个顶点子集S,S中任两顶点均不相邻。若S为图G的独立集,且对任一独立集S1均有|S1| ≤ |S|,则S称为图G的最大独立集(MIS)。
DDMIS算法选出一个MIS后,若网络拓扑的某个部分发生了变化,算法仅对拓扑变化的部分进行处理,而无需对整个网络进行新的MIS选举。该算法保证了MIS中节点的稳定性,能够有效地适应网络拓扑的频繁变动。
1.1.1 算法描述
本算法基于如下假设:①每个节点i都知道自己及邻居节点的标识符(ID),并保存一张邻居节点列表NListi:<IDj,misj>,其中:IDj表示节点j的标识符,当节点j∈MIS时misj为真,否则为假;②节点知道自己移动速率Vi(m/s);③某时刻节点能够接收到消息,当且仅当该时刻该节点的邻居中仅有一个节点发送消息。
算法执行过程中,每个节点i必处于三种状态(I、M、C)之一。状态I表示节点处于初始化状态,此时节点将初始化相关参数;状态M表示节点处于竞争加入MIS的状态;状态C比较特殊,表示节点处于拓扑管理状态,仅在邻居集合发生变化时才会执行。当所有的节点都进入状态C时,算法即完成了一次MIS选举。无论节点i处于何种状态,只要收到一个消息,消息触发器将被激活。算法如下:
DDMIS 算法 (节点i)
1. 状态I:
1.1:置coveredi 和 misi 属性为假,表示节点i既没被覆盖,也不属于MIS。
1.2:初始化邻居列表NListi。
1.3:p:=2-α,其中α为节点i的邻居数。转2。
2. 状态M:
先等待Vi个时间片,然后以概率p广播消息msg(IDi),若发送msg(IDi)成功,则置misi属性为真,转3;否则概率p加倍。
3. 状态C:
3.1: 节点i不属于MIS,且coveredi属性为假,转1。
3.2: 节点i属于MIS,且有新的节点加入其邻居集合,发送消息msg(IDi)。
4. 消息触发器:
4.1:当收到消息msg(IDj)时,先判断自己是否已加入MIS,如果是,则广播消息msg(del_IDi)。然后将邻居列表NListi中节点j的misj属性置为真,并将自己的coveredi属性置为真。转3。
4.2:当收到消息msg(del_IDj)时,先将邻居列表NListi中节点j的misj属性置为假。然后判断自己是否仍被覆盖,若是,转3;否则,转1。
节点i首先进入I 状态,初始化相关参数,然后进入状态M。节点i根据自己的移动速率Vi,先等待Vi个时间片。这样使得移动速率低的节点具有较高的加入MIS的优先权,提高了MIS的稳定性。等待结束后,节点i以概率p向邻居节点发送消息msg(IDi),通知邻居节点自己已经加入MIS。若发送消息成功,则进入状态C;否则概率p加倍,以加快算法进程。
当节点i收到一个msg(IDj)消息表明,其邻居中存在属于MIS的节点j,此时节点i已经被覆盖。当节点i收到一个msg(del_IDj)消息表明,其新邻居j原来属于MIS,但由于拓扑变化导致节点j与其新邻居同时属于MIS,冲突使得节点j退出MIS。
1.1.2 算法相关证明
定义1 若图G(V,E)中任意两个节点u和v, u与v 的距离小于等于1,当且仅当(u,v)∈E,则称图G(V,E)是Unit-Disk图。
根据DDMIS算法的假设,网络中的每个节点拥有相同的通信半径,此时网络可以抽象为Unit-Disk图。我们主要作两方面的比较:(1)DDMIS算法得到的解与最优的MIS的比较。(2)使用DDMIS后需要维护路由区域的节点数与网络节点总数的比较。
引理1 在Unit-Disk图中,对于任一节点v,从v的邻居节点集合中找出一个独立集NI(v),则|NI(v)|≤5。
证明 反证法。假设|NI(v)|≥6, 则存在u1,u2,…,u6与v相邻,且u1,u2,…,u6两两独立。
则一定存在某两个节点ui,uj(1≤i,j≤6).使得∠uivuj≤60°.则在三角形uivuj中,uiuj这条边一定不是最长边。从而有:|uiuj| ≤max{|uiv|,|ujv|}≤1。
即ui与uj 一定是相邻的,与假设矛盾。原命题得证。
定理1 设MIS(G)是图G的一个最大独立集,S是DDMIS得到的解,则|S|≥(1/5)*|MIS(G)|。
证明 设C1=S-MIS(G),C2=MIS(G)-S,则
|S-C1|=|MIS(G)-C2|
首先对于C2中的任意一个节点v,必存在某个u∈C1,使得v与u相邻。
由引理1,以及C2中的节点是两两独立的,可以得到:
|C2| ≤5|C1|。则|S|=|(S-C1)|+|C1|≥|MIS(G)-C2|+1/5|C2|≥(1/5)*|MIS(G)| ,
得证。
定理1表明DDMIS得到的解至少可以达到最优的MIS解的1/5。
定理2 设图G(V,E)是Unit-Disk图,且连通。DDMIS得到的解为S,则|S| ≤ 5|V|/6。
证明 设V*=V-S。
因为G是连通图,S是G的一个极大独立集,则V*必须能够连通S中的所有节点。
由引理1可以知道,V*中任意一个节点最多能够连通S中的5个连通片,则5|V*|≥|S|。
所以|S|≤5|V|/6得证。
定理2表明DDMIS得到的解与网络节点总数相比,至少可以减少1/5的维护路由区域的节点。
1.2 区域内路由协议
区域内路由协议是一个区域受限的纯主动式路由协议,可支持全局的路由发现。SDHRP中每一个属于MIS的节点都要维护一个半径为k跳的主动路由区域,图1是一个半径为3跳的主动路由区域的示意图。维护主动路由区域的节点称为中心节点,显然中心节点只能是那些属于MIS的节点。距离中心节点正好k跳或小于k跳的节点称为成员节点。由于主动路由区域的重叠,一个节点可能是多个中心节点的成员。属于MIS的成员称为MIS节点。不属于MIS的成员称为普通节点。
SDHRP的区域内路由协议,可以通过对传统的主动式路由协议进行适当的修改来实现,把转发RREQ包的跳数限制在k跳以内,将主动式路由的范围限制在有限的区域内。SDHRP的区域内路由协议与ZRP的IARP是不同的:SDHRP仅需MIS节点维护一个k跳的主动路由区域,而ZRP中每个节点都要维护一个ρ跳的路由区域,显然SDHRP有效地降低路由区域的重叠,并降低了ZRP实现的复杂度。
1.3 区域间路由协议
区域间路由协议是纯反应式路由协议,需要区域内路由协议的支持,采用RREQ/RREP(route request/route reply)机制来发现路由,所有的区域间路由发现都将由中心节点来代理。当源节点为普通节点或者目的节点不是源节点的成员节点时,网络层将触发一个区域间路由发现进程。当一个节点接收到一个RREQ包后,会把自己的标识符添加到RREQ包中。这样记录下来的节点标识符序列就形成了一条从源节点到当前节点的累积路由。由于SDHRP中不是每个节点都维护主动路由区域,所以对RREQ包的处理不能直接使用ZRP的处理方式。按生成RREQ包的源节点以及接收到RREQ包的中间节点的不同,区域间路由协议按以下五条规则处理RREQ包:
规则1:源节点发起一个区域间路由发现进程时,将生成一个标识唯一的RREQ包。若源节点是普通节点,则广播该RREQ包;否则,按规则3处理该RREQ包。
规则2:源节点是普通节点时,其邻居中的普通节点接收到该RREQ包后直接转发。因为是源节点的邻居,显然该节点可以判断出源节点是否为普通节点。
规则3:中心节点接收到一个RREQ包后,首先判断目的节点是否是自己的成员节点,如果是,则该中心节点已经知道了至目的节点的路由了,向源节点返回一个RREP包,该RREP包被沿累积路由的反方向回复至源节点;如果不是,则该中心节点利用主动路由区域的信息,构造一棵以自己为根、MIS成员节点为叶子的组播树,并将组播树添加至RREQ包,然后沿着该组播树转发RREQ包。若中心节点没有MIS成员则直接广播该RREQ包。为了减少冗余转发,应把已经被该RREQ包覆盖的节点从组播树上剪除。
规则4:除规则2中所述普通节点外,其他普通节点接收到RREQ包后,检查自己是否在组播树上,如果在,则沿着组播树继续转发该RREQ包;否则,广播该RREQ包。
规则5:和标准的洪泛算法一样,当一个节点收到同一RREQ包的复本时,就丢弃其复本,不再转发。
2 模拟实验
2.1 仿真环境及其参数
模拟仿真平台:ns-2.1b9[5];区域:1000m×1000m;物理/MAC层:IEEE 802.11 ,2Mbps,250米传播范围;SDHRP、ZRP的路由区域半径都为3跳;每个场景都随机地产生20对连接,流量模式为CBR,每秒产生5个包,每个包长度为512字节;移动模型:Random Waypoint Mode,暂停5秒;模拟时间为150秒,数据收集区间为模拟开始后5秒至模拟结束。
2.2 度量指标
路由控制开销:SDHRP的路由控制开销是构造MIS的消息数、主动区域路由更新包数目、区域间路由RREQ/RREP包数目三者之和;ZRP路由控制开销是IARP路由更新包数目和IERP的RREQ/RREP包数目之和。网络吞吐量:所有目的节点接收的数据包的总和。
2.3 实验分析
我们在静态和动态两种场景下,对SDHRP和ZRP进行了实验对比。静态场景中,节点数为30~120;节点均处于静止状态。动态场景中,所有模拟试验的节点数均为60;节点最大移动速率为5~50m/s。
静态场景实验结果(见图2)表明:在节点静止的情况下,随着节点密度的增加,SDHRP和ZRP的路由控制开销都会增加,网络吞吐量随之下降。ZRP的路由控制开销会随着节点密度的增大显著增加,这是由于其路由区域严重重叠所致;SDHRP得益于仅MIS节点维护路由区域,路由控制开销增长十分缓慢。SDHRP在网络吞吐量方面也要优于ZRP,尤其在节点密度较高场景下。
动态场景实验结果(见图3)表明:在节点高速移动场景下,SDHRP、ZRP的路由控制开销都会增大,网络吞吐量下降比较明显,但SDHRP仍然具有较大的优势。总的来说SDHRP能够较好地适应节点高速移动场景,这得益于DDMIS算法对拓扑快速变化的较好适应性。
3 总 结
本文首先提出了一个分布式动态最大独立集算法,然后在该算法的基础上借鉴ZRP的思想,提出了一种可扩展动态混合移动自组网路由协议—SDHRP。从实验结果来看,SDHRP比ZRP更适合于节点密度高、移动性强的网络场景,尤其是高密度静态网络场景。SDHRP极大地减少了路由控制开销,一定程度上提高了网络吞吐量,能够有效地适应节点数目大、节点密度高的场景,具有较好的可扩展性。
摘要:现有的主动式路由协议和反应式路由协议在节点数目多、节点密度高的场景下性能不够理想,可扩展性较差,而混合路由协议可扩展性相对较好。提出了一种可扩展动态混合移动自组网路由协议——SDHRP(Scalable Dynamic Hybrid Routing Proto-col),该协议基于一个分布式动态最大独立集算法。与ZRP的对比实验结果表明,在保证网络吞吐量的前提下,SDHRP的路由控制开销减小了30%左右,具有较好的可扩展性。
关键词:移动自组网,可扩展性,最大独立集,混合路由,路由控制开销
参考文献
[1] Hong X,Xu K,Gerla M.Scalable routing protocols for mobile ad hoc networks Network[J].IEEE Network Magazine,July-Aug 2002,16(4):11-21.
[2] Arpacioglu O,Small T,Haas Z J.Notes on scalability of wireless ad hoc networks[Z].draft-irtf- ans-scalability-definition- 01.txt,December 2003.
[3] Haas Z J,Pearlman M R,Samar P.The Zone Routing Protocol (ZRP) for Ad Hoc Networks[Z].draft-ietf-manet-zone-zrp-04.txt,July 2002.
[4]Yu J,Chong P.A survey of clustering schemes for mobile ad hoc net-works[J].IEEE Communications Surveys&Tutorials,First Qtr.2005,7(1):32-48.
动态扩展 篇6
Forcal是一个轻量级嵌入式快速脚本,绿色免安装,不读写注册表。与其他脚本不同,Forcal以动态库的形式提供,核心库只有一个动态库文件Forcal32W.dll。Forcal非常小巧,动态库版本文件小于150K,静态库版本约260K~300K。
通常,使用各种高级语言如C/C++、C#、Delphi、FOR-TRAN等设计的程序,不能对源代码进行动态编译,Forcal可为所有这些应用程序增加对字符串源代码的动态编译功能。Forcal可用于各类数学软件的设计,也可用作报表处理、Web、组态软件、游戏等的脚本,具有很高的执行效率。
Forcal软件的构成是高度组合式的。Forcal32W.dll是核心库,在此基础上可设计种类繁多的Forcal扩展动态库,Forcal程序由Forcal32W.dll及零个或任意多个Forcal扩展动态库提供支持。根据完成的功能不同,一个Forcal程序的规模(包括所有支持模块)可以很小(例如只有几百K),也可以非常大。
Forcal软件系统为应用程序提供了多种支持方式,以下是比较典型的3种方式:
(1)仅由核心库Forcal32W.dll支持。此方式用户编程难度较大,但若软件功能简单,此方式仍不失为最佳选择。
(2)由核心库Forcal32W.dll和Forcal模块化编译运行库MForcal32W.dll支持。此方式可充分使用Forcal软件系统的功能,编程难度也较小,在易用性及效率上可获得极佳的平衡。在设计大中型的软件系统时,这应是最佳选择。
(3)由实用库GForcal32W.dll及必须的支持库Forcal32W.dll、MForcal32W.dll和Fc Data32W.dll提供支持。这种方式编程难度最小,且可获得Forcal软件系统的全面支持,但稍稍损失一点运行效率,不过多数情况下用户感觉不到效率的下降,故这是最为推荐的使用方式。即采用这种使用方式。
将在Delphi 2009程序中调用GForcal及几个Forcal扩展库(Forcal 9.0版本),动态绘制函数图形,将着重讨论加载GForcal及扩展库的基础技术问题。
2 GForcal
GForcal32W.dll是一个通用的Forcal脚本系统(简称GForcal)。GForcal可看作应用程序与Forcal之间的一个接口,但GForcal简化了Forcal脚本的使用。
GForcal至少需要3个dll的支持:Forcal核心库Forcal32W.dll、Forcal模块化编译运行库MForcal32W.dll和Forcal数据类型扩展动态库Fc Data32W.dll。这3个支持库的位置比较灵活:(1)与GForcal32W.dll放在一起;(2)放在GForcal32W.dll所在文件夹的子文件夹“Fc Dll”中;(3)放在Windows搜索目录。
通过GForcal,可动态地加载和卸载任意多个Forcal扩展库,灵活地使用Forcal脚本系统。
GForcal支持在多线程中使用Forcal的功能。GForcal内置了一个Forcal运行监视器,以方便用户从无限循环中退出。
任意程序加载GForcal后,可以动态定义函数,供程序使用;动态对指定的对象进行操作,并获得结果;无限的功能扩展。
3 Delphi程序结构及功能实现
Delphi程序功能很简单,程序定时向Forcal系统发送一组数据(xi,yi),Forcal系统接收数据,然后动态绘制数据的二维图形。本程序对数据的动态采集及显示有重要的参考意义。
Delphi程序启动在界面中有两个Memo窗口和一个按钮。左面的Memo1窗口接收Forcal源代码,右面的Memo2窗口输出一些结果。Forcal源代码中定义了两个函数Set Max和Set XY,这两个函数由Delphi调用,Set Max用于设置要发送的数据组数,Set XY用于每隔一定时间向Forcal系统发送一组数据。
点击按钮时,Delphi程序每隔0.2s向Forcal系统发送一组数据,共发送30组数据,主要步骤如下:
(1)编译Memo1窗口的Forcal源代码。
(2)执行编译后得到的Forcal模块。
(3)查找Forcal中的全局函数Set Max,由该函数设置要发送的数据组数。
(4)查找Forcal中的全局函数Set XY,每隔0.2s向Forcal系统发送一组数据(xi,yi)。其中xi初值为0,每次循环xi增加0.5,yi=xi*sin(xi),共循环30次。数据(xi,yi)同时发送到Memo2窗口。
(5)销毁第一步中编译得到的Forcal模块。
点击按钮后,Delphi程序界面如图1所示,Forcal动态绘制的图形如图2所示。
本程序运行需要的Forcal库如下:
(1)GForcal32W.dll:该库是本程序唯一直接加载的Forcal接口库。
(2)Forcal32W.dll、MForcal32W.dll和Fc Data32W.dll:这3个是GForcal32W.dll的支持库,由GForcal32W.dll自动搜索加载。
(3)Fc Math32W.dll和FC2D32W.dll:这两个库是Forcal扩展库,Fc Math32W.dll为Forcal脚本提供了数组支持,FC2D32W.dll用于通过Forcal脚本动态绘制函数图形。这两个库通过函数Load Dll加载,用完后用函数Free Dll卸载。
4 Delphi源代码
Delphi源代码如下,注意函数TForm1.Form Create和TForm1.Form Destroy分别负责程序对Forcal脚本系统的初始化和卸载等工作:
5 用Forcal脚本加强动态数据的处理及动态图形绘制
本例中用到的Forcal源代码如下:
将以上代码复制到左面的Memo1窗口,点击按钮,观察图形,如图3所示。
6 结语
通过实例介绍了如何在Delphi程序中调用GForcal及几个Forcal扩展库,动态绘制函数图形,并着重讨论了加载GForcal及扩展库的基础技术问题。本程序对数据的动态采集及显示有重要的参考意义。
参考文献
动态扩展 篇7
前期项目实现了一个网络入侵检测系统[2],该系统可动态的载入和卸载系统中各个模块,具有良好的可扩展性,但是该系统采用的是专家系统库作为其规则库,无法对新型攻击进行检测;更新规则库只能靠人力、专家进行,无法保证其准确性与及时性。
数据挖掘技术是从海量数据中,提取出潜在的、有价值的知识(模型或规则)的过程。在前期项目所实现的网络入侵检测系统中应用数据挖掘技术,可以实现对海量网络数据的挖掘,提取出入侵规则并更新到规则库,提高系统对未知新型入侵攻击的检测能力,实现规则库的自动更新能力,降低维护成本,弥补前1一种基于数据挖掘的动态可扩展入侵检测系统模型
1 系统体系结构
本文设计的动态可扩展入侵检测系统模型采用了数据挖掘技术,符合CIDF规范。该模型在逻辑上划分为三个部分:数据采集、数据分析和告警响应。该系统的体系结构图,如下图1所示。
动态模块管理器负责动态的载入和卸载其它各个模块,核心扩展接口模块负责提供功能扩展接口,扩展系统功能。两者协同工作,实现系统的动态和可扩展性。数据采集子系统、数据分析子系统和响应子系统中的各个模块协同工作,实现具体的入侵检测功能[2]。这三个子系统是对核心扩展接口模块的扩展。其中,数据采集子系统包含负责捕获网络上传输数据包的数据包捕获模块和负责对数据包进行预处理并标准化数据属性特征值的数据预处理模块;数据分析子系统包含协议分析模块、规则解析模块、数据挖掘模块、规则库和数据库;响应子系统包含告警输出模块,在协议分析模块检测到攻击时调用此模块,输出报警信息。
2 系统模块间的关系
系统通过网络数据包捕获模块捕获网络上传输的数据包,将数据包交由数据预处理模块进行预处理,然后再由协议分析模块进行分析判断是否有入侵行为。协议分析模块对这些数据信息进行模式匹配,如果匹配成功,则调用告警输出模块进行报警处理;如果匹配不成功,则把数据存入数据库。数据挖掘模块学习数据库中未标记的数据,对这些数据进行聚类、关联规则挖掘,并提取相关的行为特征和规则,更新入规则库。动态模块管理器对各个模块进行统一管理。
3 数据挖掘模块
数据挖掘模块是本文提出的系统模型的关键部件,其模块结构图如下图2所示。
本系统综合采用了两种数据挖掘算法。首先,利用聚类算法聚类挖掘未标记数据,将数据标记为正常或异常,并将标记后的数据存入数据库,构成训练数据集。然后,利用关联规则算法分析已标记为异常的数据,提取出入侵行为规则,更新到入侵规则库。
数据挖掘的流程如图3所示。
4 结论
笔者根据前期项目----网络入侵检测系统对未知新型攻击检测率方面的不足,设计了一个基于数据挖掘的可扩展入侵检测系统模型。该模型通过对未标记数据进行聚类分析,区分出异常数据,再利用关联分析对异常数据进行入侵攻击规则的提取,实现自动更新规则库,缩小规则库的维护成本,具有较好的自适应能力。
摘要:根据现有网络入侵检测系统对未知的新型攻击检测率的不足,提出了一个基于数据挖掘的动态可扩展入侵检测系统的模型。论述了系统的体系结构,介绍了系统各模块间的关系,给出了具体的数据挖掘模块结构框图和数据挖掘流程图。
关键词:入侵检测,数据挖掘,关联规则,聚类,扩展性
参考文献
[1]唐正军.入侵检测技术导论[M].北京:机械工业出版社,2004.
[2]周辉毅..动态可扩展入侵检测系统研究[D].重庆:重庆大学,2006.
[3]焦李成,刘芳,缑水平,刘静,陈莉..智能数据挖掘与知识发现[M].西安:西安电子科大出版社,2006.
[4]STEVEN E,SMAHA.Haystack:an intrusion detection system[A].Proceedings of the Fourth Aerospace Computer Security ApplicationsConference[C].Washington:IEEE Computer Society Press,1988.37-44.
[5]Barrus,Joseph D.Intrusion Detection in Real Time in a Multi-Node Multi-Host Environment[D].Naval Postgraduate School,CA.Sep 1997.
[6]罗运.基于数据挖掘的动态可扩展入侵检测系统研究[D].重庆:重庆大学,2007.
[7]蒋嶷川,田盛丰.数据挖掘技术在入侵检测系统中的应用[J].计算机工程,2001.4:130-131.
[8]林筑英,林建勤.数据挖掘技术及其所面临的问题[J].贵阳师范大学学报,2003.8:19-24.