专利名称:自适应检测方法及装置的制作方法
技术领域:
本发明涉及检测技术领域,特别涉及自适应检测方法及装置。
背景技术:
目前,随着通信和自控技术的发展,自适应检测已经变得越来越重要。 开始并广泛应用于工业自动化、航天、装备、通信、网络、医疗等领域。当 然自适应检测也可以用于网络安全中,作为主动防御的数据基础。众所周知, 由于IP网络的开放性,使得攻击很容易发生,而且随着网络的演进,攻击 方法层出不穷。这直接导致网络防御已经从单纯的被动防御进入到主动防 御,从孤立的单点防御进入到系统防御。
无论是系统防御,还是主动防御都需要能够感知到攻击发生,并且通知 系统进入防御状态。业界称这种感知为自适应检测,即系统能够根据 一 系列
检测去确定是否有某种异常发生,如果有异常发生则进入相应的保护状态; 如果检测到异常停止,则退出这种保护状态。
现有技术实现这种自适应检测的方式比较简单,其对系统内的检测点没 有设置状态的概念或者状态单一。例如,某系统包括单个用户SIP的连接速 率、所有用户SIP的连接速率、短时间内用户访问的变化速率等检测点。系 统检测时,根据命令或预定的顺序,对检测点逐一进行检测,当检测到某个 检测点异常时,立即进行异常处理,处理完就退出,继续检测下面的检测点, 直至检测完毕。
由以上描述可见,现有技术中,检测点之间的4全测和处理动作都是独立 完成的,检测点之间关系不明确,难以对检测点进行分类检测,并根据;险测 点的检测数据进行分析和判断,不便于检测点的管理。
发明内容
本发明实施例提供一种自适应检测方法,使检测点之间的关系清晰,便 于对检测点的分类纟企测。
本发明实施例提供一种自适应检测装置,使检测点之间的关系清晰,便 于对检测点的分类检测。
为达到上述目的,本发明的技术方案具体是这样实现的 一种自适应纟全测方法,该方法包4舌 将检测点数据保存为线性树结构的数据; 根据所述线性树结构的检测点数据进行自适应检测。 一种自适应检测装置,该装置包括
检测点数据保存模块,用于将检测点数据保存为线性树结构的数据; 检测模块,用于根据所述检测点数据保存模块保存的线性树结构的检测
点数据,对4全测点进行检测。
由上述的技术方案可见,本发明实施例的这种将检测点数据保存为线性
树结构的数据;根据该线性树结构的检测点数据进行自适应检测的方法和装
置,因为明确了检测点之间的关系,因此很容易对检测点进行分类检测,并
根据检测数据进行分析和判断,方便对检测点的管理。
图1为本发明实施例的自适应检测方法流程图; 图2为一个比较简单的线性树结构示意图; 图3为一个较复杂的线性树结构示意图; 图4为本发明实施例的自适应检测装置结构图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细说明。本发明实施例主要是将检测点数据保存为一个线性树结构的数据,并根 据检测点的检测数据对保存的检测点数据进行更新,使得检测点之间的关系 清晰,便于管理。
图1为本发明实施例的自适应检测方法流程图。
如图1所示,S101,将检测点数据保存为线性树结构的数据; S102,根据该线性树结构的检测点数据进行自适应检测。
在S101中,线性树是指,检测点的存储是线性的,比如静态数组、动 态数组或类似的线性表,但具备树的特性,比如检测点之间分根检测点、中 间检测点、孩子检测点等。根检测点下可以有中间检测点,中间检测点下还 可以含孩子检测点,依次类推可以形成一个具有多层次、多继承关系的树性 结构。这种以线性方式存储的树状数据结构称之为线性树结构。
例如,图2是一个比较简单的线性树结构示意图,ROOT是树根,Cl、 C2、 C3分别是中间检测点。
图3是一个较复杂的线性树结构示意图,树根ROOT有两个中间检测 点,分别是C1、 C2;中间检测点C2又有两个孩子检测点C21、 C22,其 中孩子检测点C21还含有C211、 C212两个孩子检测点。
对于一个有很多个检测点的复杂系统,其中每个检测点都可能含有若干 孩子检测点,每个孩子检测点还可能含有更小的孩子检测点,依次类推。对 于这个复杂的系统,可轻松的利用上述线性树的结构来描述这种层次、继承 关系。这种关系可以在系统初始化或启动的时候建立。
由此,整个系统的状态取决于它的检测点的状态,每个检测点的状态又 取决它自己的孩子检测点的状态,依此类推。孩子检测点的状态对它的父亲 检测点的状态产生贡献。
具体来说,可以按如下的方式来表示系统内一个检测点。这个才全测点可 以是根检测点,也可以是中间检测点或孩子检测点,可以通过检测点类型来 区分它们。例如,可以在描述检测点的数据中包括如下字段
Type:;险测点类型,比如才艮检测点,中间检测点,孩子4企测点; State:检测点检测状态,用位bit来标识,若该检测点有下属的孩子检 测点,则取决于下属孩子检测点的状态;
Depth:该检测点与其父检测点的距离,可用于检测点之间的查找和定
位;
Check:检测方法,可以是指针函数,若不用可以为空; Action:处理方法,如放行、丢弃、緩存、标记、分类、多级队列和QoS, 以及其任意组合,可以是指针函数,若不用可以为空;
Others:其它信息,比如输入参数,可以根据需要扩展,若不用可以为工。
在以上字段中,可以包含检测点类型、检测点检测状态和该检测点与其 父检测点的距离的参数中的至少一个,而且,还可以包括检测方法、处理方 法、其他信息的参数,并且可以任意组合。
比如某个系统含有两个中间4全测点,每个中间点又含有两个孩子4企测 点,那么,以数组为例,将所有检测点建立成的线性树结构的数据组织如下
数组索引为0:
Type:根检测点;
State:取决于所有中间检测点的状态,初始时可以赋值为0
Depth:离父检测点的距离0
Check: check0, 4艮据实际确定,初始时可以留空;
Action: action0,冲艮据实际确定,初始时可以留空;
Others: others, #>据实际确定,初始时可以留空;
数组索引为1:
Type:中间;险测点;
State:取决于其孩子4企测点的状态,初始时可以赋值为0
Depth:离父检测点的距离为1
Check: check 1,根据实际确定,初始时可以留空;
Action: action 1 ,根据实际确定,初始时可以留空; Others: others,才艮据实际确定,初始时可以留空; 数组索引为2: Type:孩子4企测点;
State:通过check2得到,初始时可以赋值为0
Depth:离父冲全测点的距离为1
Check: check2,才艮据实际确定,初始时可以留空;
Action: action2, 4艮据实际确定,初始时可以留空;
Others: others,才艮据实际确定,初始时可以留空;
数组索引为3:
Type:孩子4企测点;
State:通过check3得到,初始时可以赋j直为0
Depth:离父检测点的距离为2
Check: check3, 4艮据实际确定,初始时可以留空;
Action: action3 ,冲艮据实际确定,初始时可以留空;
Others: others,才艮据实际确定,初始时可以留空;
数组索引为4:
Type:中间4企测点;
State:通过check4得到,初始时可以赋值为0
Depth:离父检测点的距离为4
Check: check4,才艮才居实际确定,初始时可以留空;
Action: action4 ,根据实际确定,初始时可以留空;
Others: others, 4艮据实际确定,初始时可以留空;
数组索引为5:
Type:孩子纟全测点;
State:通过check5得到,初始时可以赋值为0 Depth:离父4企测点的距离为1
Check: check5 ,冲艮据实际确定,初始时可以留空; Action: action5 ,根据实际确定,初始时可以留空; Others: others,才艮据实际确定,初始时可以留空; 数组索引为6: Type:孩子4企测点;
State:通过check6得到,初始时可以赋值为0
Depth:离父检测点的距离为2
Check: check6,冲艮据实际确定,初始时可以留空;
Action: action6,根据实际确定,初始时可以留空;
Others: others,才艮据实际确定,初始时可以留空;
以上各参数中,离父检测点的距离是根据建立的数组的索引编号决定 的,孩子检测点与其父检测点的数组索引编号的差值就是孩子检测点离父检 测点的距离。当因业务需要而增加或减少检测点时,可对数组索引编号进行 实时更新,使得索引编号可以实时反映孩子检测点与其父检测点的距离。
通过这个数组,线性树关系清楚的表达出来。对于大多数应用场景,检 测点分布在各个流程中,并不需要复杂的查找,通过线性树表索引之间定位 到相应的检测点。孩子检测点的状态决定其父亲的状态,通过孩子检测点离 父检测点的距离便可以迅速的找到其父检测点。如果某种应用场景中,需要 对检测点进行特殊的快速查找,很容易做到,只需建立索引表即可。
以上数组数据在系统启动或初始化时建立,建立时需要的基本数据可以 通过手动输入,或者由其他设备检测得到;线性树结构的检测点数据建立后, 即可根据该线性树结构的检测点数据进行自适应检测。比如根据所述检测点 类型,对不同类型的检测点进行分类的自适应检观'J;或根据所述检测点状态, 对不同状态的检测点进行分类的自适应检测。
S102之后,还可以根据自适应检测得到的检测点的检测数据对保存的 检测点lt据进行更新。
以上介绍了本发明实施例的自适应检测方法,下面将介绍本发明实施例
的自适应检测装置。
图3是本发明实施例的自适应检测装置结构图。
如图所示,该自适应检测装置401包括检测点数据保存模块402和检 测才莫块403。
所述检测点数据保存模块402,用于将检测点数据保存为线性树结构的数据;。
所述检测模块403,用于根据所述检测点数据保存模块402保存的线性树 结构的4全测点数据,对检测点进行4全测。
其中,该装置还可以包括发送模块406,用于将所述检测模块检测到的检 测点的检测数据向所述检测点数据保存模块402发送。
其中,所述检测点数据保存模块402包括检测点数据初始化单元404和 检测点数据更新单元405 。
所述检测点数据初始化单元404,用于将4企测点数据保存为动态数组、静 态数组或线性表,并为其中的参数赋上初始值。
所述检测点数据更新单元405,用于接收发送模块406发来的检测点的检 测数据,并根据该检测数据对检测点数据初始化单元404保存的检测点数据进 行更新。
具体来说,所述检测点数据初始化单元405生成的动态数组、静态数组或 线性表中包括检测点类型、检测点状态和离父检测点的距离。
所述检测点类型的初始值是根检测点、中间检测点或孩子检测点。 其中检测模块403中包括类型检测单元407,用于根据所述检测点类型, 对不同类型的检测点进行分类的自适应检测;和/或包括状态监测单元408,用 于根据所述检测点状态,对不同状态的检测点进行分类的自适应检测。
由上述的实施例可见,本发明实施例的这种自适应检测方法及装置,将 检测点数据保存为一个线性树结构的数据,并根据所述线性树结构的检测点 数据进行自适应检测,使得检测点之间的关系清晰,便于管理。另外,清晰 的检测点关系,使得自适应检测系统的开发、调试都非常容易,系统性很强。
检测点的扩展也非常容易,只需添加数组或在线性表中添加数项,设计好相 应的函数即可满足进一步的扩展,还可以设计共用的函数接口去换算状态、 显示信息等,最终形成库或组件,这将大大简化自适应检测系统的设计、编 码和调试。
假如某个系统有单个用户SIP的连接速率、所有用户SIP的连接速率、 短时间内用户访问的变化速率等子检测点。根据本发明所述的方法,当设定 好相应的静态数组、动态数组或类似的线性表后,除了很容易得到各个检测 点的状态和执行相应的动作(比如丢弃攻击报文等),也很容易得到整个系
统的状态和执行整个系统相应的动作,比如使用QoS流量技术来调节流量 和报文速率等。当由于某种原因而需要支持MGCP、 H323等协议时,可以 将单个用户MGCP的连接速率、所有用户MGCP的连接速率、单个用户H323 的连接速率、所有用户H323的连接速率等检测点增添到表中,则很容易得 到整个系统的状态,使自适应检测系统的设计、管理非常简洁、直观。
再比如在一个网络防御系统中,有多个防御设备,每个设备都是一个自 适应检测系统。另外可以设定一个设备兼为控制中心,包含整个网络防御系 统的根检测点,根据本发明所述的方法和数据结构可以得到整个网络防御系 统的状态,控制中心通过对整个网络系统的状态分析,每个网络设备除根据 自身的各个检测点执行相应的处理动作,也可以通过接收控制中心下发的执 行动作,以便更好的实现全网的有效防御。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实 现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬 盘、光盘或软盘等等。在运行该软件程序时,会执行以下动作
将检测点数据保存为线性树结构的数据;根据所述线性树结构的检测点 数据进行自适应^r测。
其中,根据所述线性树结构的检测点数据进行自适应检测之后根据自适应 检测的结果,对保存的检测点数据进行更新。
其中所述将检测点数据保存为线性树结构的数据,包括将每个检测点的检
测点数据保存为静态数组、动态数组或线性表。
该静态数组、动态数组或线性表中包括检测点类型、检测点状态和离父检 测点的距离中的至少 一个。
其中,根据线性树结构的检测点数据进行自适应检测,可以是根据所述检
测点类型,对不同类型的检测点进行分类的自适应检测;或根据所述检测点状 态,对不同状态的检测点进行分类的自适应检测。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限 定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等 同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种自适应检测方法,其特征是,该方法包括将检测点数据保存为线性树结构的数据;根据所述线性树结构的检测点数据进行自适应检测。
2、 如权利要求1所述的自适应检测方法,其特征是,所述根据所述线性树 结构的检测点数据进行自适应检测之后还包括根据自适应检测的结果,对保存的检测点数据进行更新。
3、 如权利要求1所述的自适应检测方法,其特征是,所述将检测点数据保 存为线性树结构的数据,包括将每个检测点的检测点数据保存为静态数组、动态数组或线性表。
4、 如权利要求3所述的自适应检测方法,其特征是,所述静态数组、动态 数组或线性表中包括检测点类型、检测点状态和离父检测点的距离中的至少 一个。
5、 如权利要求4所述的自适应检测方法,其特征是,所述根据线性树结构 的检测点数据进行自适应检测包括根据所述检测点类型,对不同类型的检测点进行分类的自适应检测;或根 据所述检测点状态,对不同状态的检测点进行分类的自适应检测。
6、 一种自适应检测装置,其特征是,该装置包括 检测点数据保存模块,用于将检测点数据保存为线性树结构的数据; 检测模块,用于根据所述检测点数据保存模块保存的线性树结构的检测点数据,对检测点进行检测。
7、 如权利要求6所述的自适应检测装置,其特征是,该装置还包括发送模 块,用于将所述检测模块检测到的检测点的检测数据向所述检测点数据保存模 块发送。
8、 如权利要求7所述的自适应检测装置,其特征是,所述检测点数据保存 模块包括检测点数据初始化单元,检测点数据更新单元;所述检测点数据初始化单元,用于将检测点数据保存为动态数组、静态数组或线性表,并为其中的参数赋上初始值;所述检测点数据更新单元,用于接收发送模块发来的检测点的检测数据, 并根据该检测数据对所述检测点数据初始化单元保存的检测点数据进行更新。
9、 如权利要求8所述的自适应检测装置,其特征是,所述检测点数据初始 化单元生成的动态数组、静态数组或线性表中包括^r测点类型、检测点状态和 离父^r测点的距离中的至少一个。
10、 如权利要求9所述的自适应检测装置,其特征是,所述检测模块,包 括类型检测单元,用于根据所述检测点类型,对不同类型的检测点进行分类的 自适应检测;和/或包括状态监测单元,用于根据所述检测点状态,对不同状态 的检测点进行分类的自适应检测。
全文摘要
本发明公开了一种自适应检测方法及装置,将检测点数据保存为线性树结构的数据;根据所述线性树结构的检测点数据进行自适应检测。因为明确了检测点之间的关系,使得容易根据检测数据分析判断得到整个系统的状态,方便对系统内检测点的统一管理。
文档编号H04L12/26GK101197735SQ200710306380
公开日2008年6月11日 申请日期2007年12月28日 优先权日2007年12月28日
发明者鑫 姚, 魏建雄 申请人:华为技术有限公司