一种动态网络事件关联与联动的实现方法和装置制造方法及图纸

技术编号:4052874 阅读:240 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种动态网络事件关联和联动的实现方法和装置,初始化关联场景运行环境,将用户通过关联语言编写关联场景脚本编译生成关联场景,将编译后生成的关联场景加载到关联场景运行环境中,当网络事件产生时,逐个执行关联场景中描述的操作,实现事件关联和关联结果联动。本发明专利技术基于脚本技术,为用户提供事件关联语言,用户通过关联语言编写不同的关联场景脚本,用户可以通过记事本打开查看、编辑关联场景脚本文件,关联场景脚本更接近于自然语言。本发明专利技术克服现有技术基于状态机的方法描述能力差且无法保障应用连续性的缺陷。

【技术实现步骤摘要】

本专利技术涉及网络事件关联和联动
,尤其涉及一种动态网络事件关联和联 动的实现方法和装置。
技术介绍
关联分析是指如果两个或多个事物之间存在一定的关联,其中一个事物能通过其 他事物进行预测,它的目的是为了挖掘隐藏在数据间的相互关系。联动的含义是,当发生了某事件时,需要同时触发其它系统中特定的操作。如网 络入侵检测系统发现了入侵操作,通过与防火墙系统联动阻止入侵操作。目前普遍使用的是基于状态机的事件关联与联动处理方法。状态机确切的说是一 个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而运行。 其中每个事件都在属于当前节点的转移函数的控制范围内,其中函数的范围是节点的一个 子集。函数返回下一个,也许是同一个节点。这些节点中至少有一个必须是终态,当到达终 态,状态机停止。系统通过读取一些定义好的状态机场景,并为每个场景建立一个状态机,当收到 事件时依次把事件输入到每个状态机中,从而触发状态机的状态变迁与联动。作为一种广泛使用的事件关联与联动处理方法,状态机已经有了一定的应用规 模,此种方法存在的最大问题为,状态场景需要专业人员编写,系统的最终用户通常无法掌 握状态机场景的定义方法。其次,状态机方法中多个场景间的关联很难实现,而且现有的方 法在场景发生变化后,必须重启程序,重新加载场景,无法保障应用持续性,这些都是由状 态机自身的技术特点决定的,另外,状态机场景对于自身的描述能力差,即使是专业人员定 义的状态机,经过一段时间后再对状态机场景的阅读,常常也无法了解此状态机的编写目 的与原因,对更改产生很大的阻力。
技术实现思路
本专利技术要解决的技术问题是,提供一种动态网络事件关联和联动的实现方法和装 置,克服现有技术中基于状态机的方法,关联场景描述能力差且无法保障应用连续性的缺 陷。本专利技术采用的技术方案是,所述动态网络事件关联和联动的实现方法,包括初始化关联场景运行环境;将用户通过关联语言编写关联场景脚本编译生成关联场景,并将编译后生成的关 联场景加载到关联场景运行环境中;当网络事件产生时,记录网络事件,逐个执行关联场景中描述的操作,实现事件关 联和关联结果联动。所述初始化关联场景运行环境包括加载网络事件关联和联动所需的动态链接 库;所述网络事件关联和联动所需的动态链接库包括运行环境本身定义的函数,以及 用户编写的扩展函数。所述将用户通过关联语言编写关联场景脚本编译生成关联场景,并将编译后生成 的关联场景加载到关联场景运行环境中的具体过程包括步骤一、对用户编写的关联场景脚本进行词法分析与语法分析,留下符合脚本语 法规则的关联场景脚本;步骤二、在运行环境中,把每个符合脚本语法规则的关联场景脚本翻译成一个独 立的语法树栈,语法树栈中元素为运行环境可识别的二进制格式;步骤三、判断语法树栈中是否存在关联场景的入口函数,若存在则加载成功,否则 加载失败,跳转步骤一重新执行编译。所述语法树栈中的元素包括字符串相关操作、数学运算相关操作、网络相关操作 和系统配置相关操作在内存中的函数地址以及变量的地址。所述当网络事件产生时,记录网络事件,逐个执行关联场景中描述的操作,实现事 件关联和关联结果联动的具体过程包括当有网络事件产生时,运行环境把网络事件写入每个关联场景对应的语法树栈, 然后调用关联场景的入口函数,关联场景的入口函数从语法树栈的栈顶取出参数并执行语 法树栈内描述的操作。该方法进一步包括实时判断关联场景的更改,更新关联场景库。本专利技术还提供一种动态网络事件关联和联动的实现装置,包括如下组成部分运行环境初始化模块,用于加载网络事件关联和联动所需的动态链接库;脚本编译加载模块,用于将用户通过关联语言编写关联场景脚本编译生成关联场 景,并将编译后生成的关联场景加载到关联场景运行环境中;关联场景运行模块,用于当网络事件产生时,记录网络事件,逐个执行关联场景中 描述的操作,实现事件关联和关联结果联动。所述网络事件关联和联动所需的动态链接库包括运行环境本身定义的函数,以及 用户编写的扩展函数。所述脚本编译加载模块进一步包括规则匹配模块,用于对用户编写的关联场景脚本进行词法分析与语法分析,留下 符合脚本语法规则的关联场景脚本;语法树创建模块,用于把每个符合脚本语法规则的关联场景脚本翻译成一个独立 的语法树栈,语法树栈中元素为运行环境可识别的二进制格式;确认加载模块,用于判断语法树栈中是否存在关联场景的入口函数,若存在则加 载成功,否则加载失败。 所述关联场景运行模块进一步用于当有网络事件产生时,把网络事件入每个关联场景对应的语法树栈,然后调用关 联场景的入口函数,关联场景的入口函数从语法树栈的栈顶取出参数并执行语法树栈内描 述的操作。采用上述技术方案,本专利技术至少具有下列优点本专利技术所述动态网络事件关联和联动的实现方法和装置,初始化关联场景运行环境,将用户通过关联语言编写关联场景脚本编译生成关联场景,将编译后生成的关联场景 加载到关联场景运行环境中,当网络事件产生时,逐个执行关联场景中描述的操作,实现事 件关联和关联结果联动。本专利技术基于脚本技术,为用户提供事件关联语言,用户通过关联语 言编写不同的关联场景脚本,用户可以通过记事本打开查看、编辑关联场景脚本文件,关联 场景脚本更接近于自然语言,通过阅读关联语言脚本很容易理解关联场景含义,不需要更 专业的人员,场景维护人员只要具有简单的编程知识即可实现场景的定义。系统运行过程中只要针对每个网络事件调用关联场景,只需要保持一个语法树 栈,而不用为每个关联场景保存状态,这就节省了大量的系统资源,且脚本经过了编译优化 处理,运行效率更高。同时关联语言编写的联动、报警等关联场景也可以被其它关联场景调用,进而减 少系统管理人员的负担。脚本方法可以实现场景的动态加载,由于场景状态都存储在运行时语法树栈中, 所以场景加载、卸载、变更对于已经记录的网络事件状态没有影响,保障了应用持续性。附图说明图1为本专利技术第一实施例所述动态网络事件关联和联动的实现方法流程图;图2为本专利技术算数操作在语法树栈中的描述形式;图3为本专利技术函数调用操作在语法树栈中的描述形式;图4为本专利技术第二实施例所述动态网络事件关联和联动的实现方法流程图;图5为本专利技术第三实施例所述动态网络事件关联和联动的实现装置组成结构示 意图。具体实施例方式为更进一步阐述本专利技术为达成预定目的所采取的技术手段及功效,以下结合附图 及较佳实施例,对本专利技术提出的所述动态网络事件关联和联动的实现方法和装置,详细说 明如后。本专利技术第一实施例,如图1所示,所述动态网络事件关联和联动的实现方法,包括 如下具体步骤步骤S101,初始化关联场景运行环境,具体的,加载网络事件关联和联动所需的动 态链接库。网络事件关联和联动所需的动态链接库包括运行环境本身定义的函数,以及用 户编写的扩展函数,方便关联场景脚本的编写。用户基于运行环境比如C语言运行环境、 Java虚拟机运行环境、glibc库运行环境等,编写扩展函数的内容是本领域技术人员熟练 掌握的,故此处不详述。以C语言运行环境为例,实现网络事件的关联和联动共涉及下述几类函数库,如 表1-表4所示表1数学运算相关操作函数库 表2字符串相关操作 表3网络相关操作 表4系统配置相关操作 步骤S102本文档来自技高网...

【技术保护点】
一种动态网络事件关联和联动的实现方法,其特征在于,包括:初始化关联场景运行环境;将用户通过关联语言编写的关联场景脚本编译生成关联场景,并将所述关联场景加载到关联场景运行环境中;当网络事件产生时,记录网络事件,逐个执行关联场景中描述的操作,实现事件关联和关联结果联动。

【技术特征摘要】

【专利技术属性】
技术研发人员:张凤羽刘勇
申请(专利权)人:北京天融信科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1