首页> 中国专利> 电信网络中的干预的工作流模型的自动生成方法

电信网络中的干预的工作流模型的自动生成方法

摘要

一种自动生成与对包括在通信网络中的网络设备(NE

著录项

  • 公开/公告号CN101371496A

    专利类型发明专利

  • 公开/公告日2009-02-18

    原文格式PDF

  • 申请/专利权人 意大利电信股份公司;

    申请/专利号CN200580052542.2

  • 申请日2005-12-28

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人董莘

  • 地址 意大利米兰

  • 入库时间 2023-12-17 21:27:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-01-18

    授权

    授权

  • 2009-04-15

    实质审查的生效

    实质审查的生效

  • 2009-02-18

    公开

    公开

说明书

技术领域

本发明涉及电信网络中的干预的工作流模型的自动生成方法和系统。

在特别关注本发明在管理和支持劳动力操作的分布式平台的环境中的可能应用的情况下,形成了本发明。

背景技术

与网络管理领域中的干预有关的操作知识构成电信公司的宝贵知识。为此,诸如电信网络运营商之类的公司的困难是有效地管理这种知识,使其成为公司资产,而不仅仅是少数人的知识。

于是,问题是使个体的意会(操作)知识明晰,使其形式化、结构化。至今,知识管理(KM)领域已为希望管理他们自己的技术秘密的公司提供了有效支持。

传统的知识管理解决方案,比如在文献“KNOWLEDGEMANAGEMENT:PROBLEMS,PROMISES,REALITIES ANDCHALLENGES”,G.Fischer和J.Ostwald,IEEE Intelligence System,January/February,第60-72页,2001中描述的知识管理解决方案以“自顶向下的”方法为基础,其中知识首先被编纂成公司标准(通常由知识管理者编纂),随后提供给最终用户。特别地,上述文献宏观地描述传统的知识管理方法如何处理以认知的公司资产的形式管理、编纂和分发知识的问题。此外,该文献突出当在操作环境,例如电信环境中应用传统的知识管理方法时,它们所具有的局限性。

近年来,操作知识管理(OKM)领域已将它自己确认为传统的知识管理观点的扩展。典型的OKM系统用户是公司的现场工程师和呼叫中心顾问。

US-A-2004/0044542提供OKM系统的一个典型示例,US-A-2004/0044542描述一种利用基于案例推理技术和基于模型推理技术,捕捉和共享支持问题解决活动的知识的方法和系统。

另一方面,存在与自动工作流推导相关的详尽文献。一个示例是文献“WORKFLOW MINING:A SURVEY OF ISSUES ANDAPPRACHES”,W.M.P van der Aalst,B.F.van Dongen,J.Herbst,L.Maruster,G.Schimm和A.J.M.M.Weijters,Data and KnowledgeEngineering,47(2),第237-267页,2003。相关的技术主要针对从所谓的工作流日志获得的工作流模型的挖掘。工作流日志是在先前定义的工作流的执行期间生成的。称为工作流挖掘的方法的目的是改进(重新设计)事前定义的工作流。这些情况下工作流的执行是通过将事务记录在工作流日志中来监视的,所述工作流日志是其目的在于重建工作流模型的挖掘算法的输入。具体地说,上面提及的文献描述一种基于Petri网络的工作流挖掘方法。特别地,作者定义一种用于工作流实例的记录的标准XML日志。由该日志文件开始并应用适当的变换,达到表示最终工作流模型的Petri网络的定义。

仍然在工作流挖掘技术的领域内,US-A-2004/0254768描述一种通过对便利地记录在数据库中的工作流的执行应用数据挖掘技术,目的在于业务过程重建的方法和应用。有意义的其它背景信息可在“INTEGRATING MACHINE LEARNING AND WORKFLOWMANAGEMENT TO SUPPORT ACQUISITION ANDADAPTATION OF WORKFLOW MODELS”,J.Herbst和D.Karagiannis,International DEXA(Database and Expert SystemApplication)Conference,1998中找到;该论文描述关于工作流的采集和重新建模的一种方法和两种不同算法。顺序执行的两种算法(合并和分割)以与工作流的执行相关的日志文件作为输入,并产生表示工作流的工作流模型(通用模型)作为输出。在执行此过程中,使用隐式马可夫数据结构模型。

已知在电信领域中,可以使用正则表达式匹配技术来进行系统日志分析和模式匹配。同样的技术也可用于其它目的,比如仍然在电信领域中的信号处理,或者用于生物信息学中的DNA和蛋白质序列分析。

现有的模式匹配方法以所谓的“正则表达式”的匹配为基础。特别地,检测分别实现“正则表达式匹配”和“近似正则表达式匹配”的两种主要类别。

通常,正则表达式匹配可被定义成如下所示:已知字母数字集∑(字符的有限序列),长度m的正则表达式P=P[1]P[2]...P[m](通过考虑单个字符或者字符的种类,计算正则表达式的长度),长度n的文本T=T[1]T[2]...T[n],其中利用字母数字集∑定义所述正则表达式和文本,通常m<<n,那么正则表达式匹配由找出T的为正则表达式P的匹配项(occurrence)的所有子串S组成。

近似正则表达式匹配是正则表达式匹配的广义化,实际上具有更宽的应用领域。特别地,近似正则表达式匹配形式上可被定义成如下所示:已知字母数字集∑(字符的有限序列),长度m的正则表达式P=P[1]P[2]...P[m](通过考虑单个字符或者字符的种类,计算正则表达式的长度),长度n的文本T=T[1]T[2]...T[n],其中利用字母数字集∑定义所述正则表达式和文本,通常m<<n,整数k≥0和距离函数d。近似正则表达式匹配由找出T的所有子串S,以致d(S,Pi)≤k组成,其中Pi是正则表达式P的匹配项(occurrence)。

就近似正则表达式匹配来说,主要使用的距离函数有两种:Hamming距离和Levenshtein距离。

在相同长度的串之间定义的Hamming距离是所述两个串中具有不同字符的位置的数目。其中d距离为Hamming距离的近似正则表达式匹配被称为具有k失配的匹配。

在不一定具有相同长度的两个串之间定义的Levenshtein距离是将一个串变换成另一个串所需的字符的插入、删除和替换的最小数目。其中d距离为Levenshtein距离的近似正则表达式匹配被称为具有k个不同或错误的匹配。

在该文献中,存在正则表达式匹配问题的不同方法。

例如,文章“NR-GREP:A FAST AND FLEXIBLE PATTERNMATCHING TOOL”,G.Navarro,in Software Practice andExperience(SPE),31,第1265-1312页,2001描述用于搜索复杂模式的一种方法,一组算法和一种工具。特别地,除了字符序列内的正则表达式之外,使用的算法还允许按照两种不同的方式:有错误的方式和无错误的方式搜索简单模式和复杂模式。该工具处理的错误是:字符的删除、插入、替换和转置。

文章“FAST TEXT SEARCHING ALLOWING ERRORS”,S.Wu和U.Manber,Communication of ACM,35(10),第83-91页,1992描述一种用于文本内的近似串匹配的算法。特别地,该算法使用包括位并行在内的移位-或(Shift-or),就正则表达式来说,指的是Thompson自动机的构成。

文章“FROM REGULAR EXPRESSION TO DETERMINISTICAUTOMATA”,G.Berry和R.Sethi,Theoretical Computer Science,48,第117-126页,1987描述Glushkov自动机及其源于正则表达式的重构。Glushkov自动机是由一组状态(每个状态用于对应正则表达式中的每个字符或字符种类),以及一组标记的边缘构成的有限态自动机。Glushkov自动机与更普遍知晓的Thompson自动机的不同在于,到达某一状态的所有箭头由相同的字亩标记。

为了完成现有技术的概述,最后可以提及A.V.Aho,R.Sethi和J.D.Ullman的教科书“Compilers:Principles,Techniques and Tools”,Addison-Wesley,1986,section 3.8,第128-134页,它描述了基于堆栈的有限态自动机的模拟,可用于Glushkov自动机状态的堆栈的描述。

发明内容

申请人注意到当处理诸如电信之类的操作环境时,常规的知识管理方法并不充分,在所述这些操作环境中,(操作)知识可被看作为了执行特殊任务或特定活动所需要的一组方法和技术(操作实践)。在这种环境中,常规的KM系统表现出下述不足/缺点:

-不能管理、编纂和用操作职员在正常日常活动内产生的反馈和新知识得出公司资产;

-常规的KM系统假定操作职员(劳动力)执行重复和标准的任务或动作;

-常规的KM系统假定所述知识事先完全已知;和

-除了正常的活动之外,常规的KM系统还要求操作职员利用他自己的知识,并通过知识管理系统使所述知识可用的额外工作。

就操作知识管理系统而论,发明人注意到尽管按照有效的方式遵照上面列举的后三种限制,这些系统仍然不能提供升级和更新由参与公司过程的操作员逐渐形成的操作知识的自动或半自动机制。编纂操作知识和与所述知识涉及的实体的自动交互作用的表现形式能够有助于支持上述机制。工作流是一种公知的表现形式:通过工作流,能够提供操作知识的明确且易于理解的描述。从而,升级和更新操作知识的问题可被看作发现涉及新知识的新工作流的问题。至于和工作流发现相关的问题,发明人注意到在上面提及的常规解决方案中,所述发现始于并不依赖于人工活动的已有工作流的记录。

在这方面,申请人还注意到工作流挖掘并没有完全解决自动发现工作流模型的问题。这归因于许多原因:

-工作流必须已被事先定义,以便系统能够重建它们;

-当构成工作流的任务与人工活动相关时,工作流挖掘并不直接可用。

为了补偿这些限制,需要定义和设计一种支持劳动力的完整解决方案,由劳动力自身的干预产生的关于网络设备的日志记录开始,所述解决方案能够发现所遵循的工作流模型,并使这样的模型成为整个公司的技术秘密的一部分。上述解决方案的一个步骤需要能够确定日志内的插入错误的位置的近似正则表达式匹配技术。

前面讨论的近似正则表达式匹配技术不指定为了获得匹配,在所述近似中考虑的错误在匹配项中的位置。在一些环境中,比如在诸如电信网络之类系统的日志分析中,存在对每个匹配,检测正则表达式P的与在匹配中识别的T的子串S的距离小于k的所有匹配项Pi的需要。

于是,还存在通过允许检测利用Levenshtein距离作为距离函数的近似正则表达式匹配的插入错误的位置的方法,提供对上述问题的解决方案的需要。

从而,本发明的目的是提供对这些需要的完全令人满意的回答。

申请人发现通过从资源委托代理向现场工程师使用的记录单元发送表示发给网络设备的命令,和表示由对网络设备执行的干预(命令和人工活动)产生的事件的信号,随后通过分析所述信号,从而根据所述信号产生干预的工作流模型,能够生成与对于具有与之关联的资源委托代理的网络设备的干预相关的工作流模型。工作流模型是通过利用一种近似匹配技术来生成的,在所述近似匹配技术中,记录的事件和命令序列与预先定义的干预的正则表达式相比较。

换句话说,每当对网络设备进行干预(包括人工活动和/或命令)时,能够自动从与所考虑的网络设备连接的软件代理向另一设备,最好是操作员设备(具有与之关联的另一软件代理)发送信息信号,所述信息信号表示所执行的命令,以及作为人工活动和/或命令的结果在网络设备中发生的事件的列表,随后自动分析这样的信息信号,以便生成与干预相关的工作流模型。所述分析可由采用各种技术,包括正则表达式匹配和工作流挖掘的软件设备实现。

于是,这里说明的安排提供一种自动记录和保存与电信领域中的干预有关的操作知识,并在工作流模型中形式化所述知识的新方法和体系结构。从操作员执行的对于网络设备的干预的记录开始,自动生成工作流模型。

按照这种方式,操作员的知识不会丢失,而是保存在知识库中,于是变成公司资产。此外,除了操作员自己的正常活动之外,这里说明的安排不要求操作员承担额外的义务,因为创建工作流模型所需的信息是自动收集的。工作流模型的自动生成是以近似正则表达式匹配技术为基础的。

从而,按照本发明的第一方面,本发明涉及一种自动生成与对包括在通信网络中的网络设备的干预相关的工作流模型的方法,其中网络设备具有负责管理该设备的关联资源委托代理,所述方法包括下述步骤:

-提供至少一个记录单元;

-使资源委托代理向所述至少一个记录单元发送表示发给网络设备的命令和由对网络设备执行的干预产生的事件的信息信号;和

-分析发给所述至少一个记录单元的信息信号,以便根据所述信息信号产生对网络设备执行的干预的工作流模型。

最好,所述方法还包括将对应网络设备的状态信息保存在资源委托代理中的步骤。

所述方法还可包括将所述至少一个记录单元和所述干预涉及的对应网络设备之间的映射信息保存在资源委托代理中的步骤。

所述方法还可包括将信息信号保存在所述至少一个记录单元中的步骤。

另一方面,信息信号可被保存在资源委托代理中。

所述方法还可包括创建记录对网络设备执行的干预的数据库。

最好,所述方法还包括下述步骤:

-在对网络设备执行的干预期间,资源委托代理记录关于下面所述的信息:

-i)在干预期间,对对应的网络设备执行的命令;

-ii)在干预期间,在对应的网络设备上触发的任何事件;

-资源委托代理将关于在干预期间记录的命令和事件的信息传送给所述至少一个记录单元。

所述方法还可包括使所述至少一个记录单元中的至少一个记录单元配备照相机装置,以便直观地记录操作员对网络设备执行的干预。

此外,所述方法还可包括下述步骤:

-将关于在干预期间记录的命令和事件的信息保存为相应的日志;

-根据相应的日志产生描述一系列的人工活动和命令的多组XML日志。

最好,所述方法还包括下述步骤:

-根据所述多组XML日志,产生描述能够对网络设备执行的干预的种类的工作流模型。

根据所述多组XML日志,产生工作流模型可包括对所述多组XML日志进行工作流挖掘处理的步骤。

所述方法还可包括扫描相应的日志,以便近似匹配所述相应的日志与描述将对网络设备执行的至少一个人工活动或命令的至少一个正则表达式的步骤。

此外,所述相应的日志可包括一系列的事件,所述近似匹配可包括在具有最大数目的匹配错误的事件序列中定位正则表达式的复现,所述匹配错误对应于从与不同命令或人工活动相关的多组事件的重叠获得的插入项。

近似匹配还可包括每次在事件序列中定位正则表达式之一的复现时,除去由被定位的正则表达式定义的一组事件,同时在事件序列中保留与错误对应的那些事件。

扫描相应日志的步骤可涉及下述预备步骤:

-使描述人工活动或命令能够在网络设备上产生的事件的可能序列的正则表达式与每种人工活动或命令关联;和

-在相应日志中,使时间戳与命令和事件关联。

扫描相应日志的步骤可包括应用选自下述规则的至少一个规则的步骤:

-相应日志中的事件序列可归于给定的人工活动或命令,如果描述该人工活动或命令的正则表达式对应于所述序列,并且所述序列中没有给定数目的插入项的话;和

-时间戳早于给定命令的事件不具有与所述给定命令的时间戳相容性,并且不可归于所述给定命令。

所述方法还包括根据下述标准,定义时间戳相容性的步骤:

-相应日志中的第一事件的时间戳与给定命令的距离超过给定的最大延迟的事件序列与所述给定命令没有时间戳相容性,并且不可归于所述给定命令;和

-由依据给定正则表达式匹配的相应日志中的事件序列的第一事件和最后事件构成的事件对的时间戳之间的差异必须小于最大扩展值。

最好,在相应日志中的一个以上的事件序列适合于由正则表达式描述的情况下,所述方法包括选择满足下述标准之一的序列的步骤:

-选择的序列使匹配错误的数目降至最少;和

-在存在相同数目的匹配错误的情况下,选择的序列提供扩展更大(more extended)的匹配。

所述方法还包括通过考虑最多给定数目的插入项,将事件序列转换成与正则表达式关联的对应符号的步骤。

最好,近似匹配相应日志与至少一个正则表达式的步骤包括并行处理多个正则表达式。

所述方法还包括:在至少一个工作流模型中包括不在一个网络设备中触发任何事件的人工活动或命令。

此外,所述方法可包括下述步骤:

-定义诸如一对(X,Y)的规则,其中X是在网络设备中触发事件的人工活动或命令,Y是可能仅由一个人工活动/命令构成的任意复杂工作流子模型;

-利用工作流子模型Y替换存在于至少一个工作流模型中的人工活动或事件X的匹配项。

此外,所述方法可包括配置具有从下述特征中选择的特征的图形用户界面的步骤:

-显示可用于定义子模型的一组命令和人工操作;

-显示在替代过程中使用的子模型;

-使人工活动或命令与可能的对应子模型关联。

所述方法最好还包括提供支持工作流模型的证实和修改的图形用户界面(GUI)的步骤,和配置具有从下述特征中选择的特征的图形用户界面的步骤:

-显示在一次干预期间记录的视频图像;

-显示在一次干预期间观测到的命令和在网络设备上触发的事件;

-显示与干预的种类关联的工作流模型,该工作流模型适合于由专家用户修改和接受;

-使视频序列与和特定干预关联、且在网络设备上触发的对应事件序列同步;

-使在网络设备上触发的事件与工作流模型的对应人工活动和命令关联。

本发明还涉及一种自动生成与关于包括在通信网络中的网络设备的干预相关的工作流模型的系统,其中所述网络设备具有负责管理该设备的相关资源委托代理,所述系统包括一组至少一个记录单元,所述资源委托代理被配置成向所述至少一个记录单元发送表示发给网络设备的命令和由对网络设备执行的干预所产生的事件的信息信号;所述系统被配置成分析发送给所述至少一个记录单元的所述信息信号,以便按照前述方法,由所述信息信号产生对网络设备执行的干预的工作流模型。

本发明还涉及一种计算机程序产品,所述计算机程序产品可载入至少一个计算机的存储器中,并且包括用于实现前述方法的软件代码部分。

这里对计算机程序产品的引用等同于对包含指令的计算机可读介质的引用,所述指令用于控制计算机系统协调本发明的方法的执行。对“至少一个计算机”的引用显然意图突出按照分布式/模块化方式实现本发明的可能性

权利要求是这里提供的本发明的公开的组成部分。

附图说明

下面参考附图,举例说明本发明,其中:

图1是适合于实现这里描述的布置的系统体系结构的方框图;

图2和3是表示这里描述的布置的操作的两个流程图;

图4-6是与这里描述的布置关联的通过图形用户界面(GUI)的人-机交互作用的示例;

图7和8是可能在这里描述的布置中使用的Glushkov自动机和半自动机的例证表示。

具体实施方式

本发明的例证实施例的下述说明将主要涉及由在包含于电信网络中的设备中发生的操作事件的所谓“日志”开始,自动生成工作流模型的体系结构和方法。

作为下面的说明的介绍,提供若干基本定义。

操作员:操作员是作为劳动力一部分的公司职员的成员,意味移动劳动力(现场工程师)或者专业劳动力(后台职员)。

代理(agent):代理是具有可能的持久身份,并且要求与其它代理通信(例如,按照合作和/或竞争方式)以便完成其任务的独立进程。所述通信是通过异步消息交换,并利用公知的语言(即,代理通信)来实现的。

委托(proxy):委托是通过其能够控制或干预网络设备,和管理网络管理层级中的最高级别和网络设备之间的通信的软件组件。

工作流或工作流模型:工作流是其中信息或任务按照一组定义的程序规则,从一个参与者传给另一个参与者的过程的全部或部分自动化(“工作流管理协会-WfMC”内的定义)。在本发明的环境中,工作流的每个步骤对应于操作员对给定网络设备执行的人工活动或命令。工作流可通过流程图被表示成一系列的任务,以及包括备选分支和并行分支的任务之间的时间和逻辑相关性。工作流还可被描述成有限状态机,或者利用诸如XPDL(XML进程描述语言)之类的标准语言来描述。

工作流日志:工作流日志由与构成工作流的各个步骤相关的一系列信息组成。可利用称为XML日志的格式,用XML语言表述工作流日志。

工作流挖掘:工作流挖掘是一种目的在于从工作流日志中提取与工作流的执行相关的信息,以便产生代表工作流的执行的工作流模型的人工智能技术。

图1图解说明这里描述的整体标示为10的体系结构的基本单元。

这些基本单元包括:

-图形用户界面(GUI)12;

-所谓的挖掘管理器(MM)14;和

-支持挖掘管理器14的操作的多个数据库(DB),包括工作流数据库16,操作日志数据库18,事件日志数据库20和可视日志数据库22。

挖掘管理器14协调一层记录器代理24的操作,所述记录器代理24层又与和网络单元NE1,NE2,NE3,...,NEN关联的一层资源委托代理RP1,RP2,RP3,...,RPN合作。

图1中图解说明的体系结构以可从用于在申请WO-A-2005/18249和PCT/EP2005/008238中描述的分布式电信网络管理和相关服务的平台获得的某一功能为基础。

WO-A-2005/18249公开一种管理电信网络的系统体系结构,所述电信网络包括网络设备和支持的网络服务,所述设备具有关联的控制接口。该体系结构包括一个用于代理接口,并使接口与管理功能分离的基本层,以及一个由一群代理构成的支持层,所述一群代理协调所述基本层的操作,以便支持分布式管理功能。基本层和支持层构成该体系结构中的分离的重叠层。这些层包括适合于根据提供给它们的相应指令信息,执行相应功能的组件。提供用于保存指令信息的数据库,并且该体系结构被布置成将指令信息从数据库分发给所述组件。最好,所述体系结构中的所有层都包括进程执行器。

PCT/EP2005/008238公开了WO-A-2005/18249的基本体系结构的进一步改进,其中生成布置在工作流中的指令信号,用于对包括在具有关联的资源委托代理的通信网络中的网络设备进行干预。PCT/EP2005/008238的方法包括下述步骤:

-提供干预管理委托代理的分布式体系结构,用于管理对网络设备的干预,其中干预管理委托代理与终端设备关联,和

-生成指令信号,用于按照与和网络设备关联的资源委托代理交互的方式,通过干预管理委托代理对网络设备进行干预,以致指令信号是网络设备的状态的函数。

在图1中所示的布置中,网络单元(或者设备)NE1,NE2,NE3,...,NEN是操作员对其进行干预的那些网络单元。按照这些修改其内部状态的干预,网络设备生成一组事件-E1,E2,E3,EN-。

每个资源委托代理RP与单个网络设备关联(以致匹配是一对一的关系),并负责对应网络设备的所谓“图像”的生成、维护和管理。所述图像是与特定的数据模型一致的网络设备的配置的表现。

每个资源委托代理RP负责与对应网络设备以及与记录器代理24的通信,并且包括下述单元:

-进程通信层-PCL-它是资源委托代理RP的专用于管理与记录器代理层的通信,和与由网络设备构成的层次的通信的组件;

-高速缓冲存储器-CM-网络设备的图像,连同网络设备自身与关心登记操作员对该设备执行的干预的记录器代理24之间的映射表一起,被保存在所述高速缓冲存储器中。

代表操作员的每个PCL能够向由其所属的资源委托代理管理的网络设备发送命令-C1,C2,C3,...,CN-。由于所述命令在网络设备上触发的事件,连同命令-C1,C2,C3,...,CN一起,被方便地记录在该网络设备所属的资源委托代理RP的高速缓冲存储器CM中。

每个PCL能够向适当的记录器代理24发送信息-I1,I2,I3,...,IN-;这样的信息和与资源委托代理关联的网络设备相关,并且可包含发送给网络设备的命令和在网络设备上触发的事件。

记录器代理24一般被设置在操作员使用的设备中(桌上型计算机、膝上型计算机,移动电话机,手持式计算机)。每个记录器代理24负责记录特定操作员对网络设备执行的干预。此外,每个记录器代理24可由Web Cam支持,以便直观地记录操作员自身对网络设备执行的干预。每个记录器代理24可包括高速缓冲存储器,用于保存操作员对网络设备执行的命令、操作员对网络设备执行的人工活动的可视文件以及网络设备产生的事件。

通过发送记录请求RR1,RR2,RR3,...,RRN,每个记录器代理24能够与和不同的网络资源关联的资源委托代理交互,以便获得上面提及的包含由资源委托代理RP发给其关联的网络设备的命令,以及作为与记录器代理24关联的操作员执行的干预的结果,由网络设备产生的事件的信息。

挖掘管理器14负责协调第一活动记录层。此外,挖掘管理器14从关于网络设备的命令和事件开始自动生成XML日志文件,并从XML日志开始自动生成工作流模型。最后,挖掘管理器14使专家用户可以采用GUI 12(在自动进程失败的情况下)支持在工作流模型中重构操作员执行的干预,以及利用正则表达式定义人工活动和命令。

挖掘管理器14包括下述组件(未示出):

-工作流挖掘器:该组件负责从XML日志开始的工作流模型的生成进程,所述XML日志与操作员对网络设备的干预的执行有关;

-日志记录器:该组件负责从关于网络设备的事件的记录开始的XML日志的创建进程,所述事件是由操作员执行的干预产生的。

挖掘管理器14还负责工作流日志DB 6的管理,操作DB 18的管理,事件日志DB 20的管理,可视日志DB的管理,以及负责单个记录器代理24的管理。

工作流DB 16是开始干预时存在的,或者通过操作员的干预的自动记录进程获得的所有工作流模型的单个存储点。换句话说,工作流DB 16保存由挖掘管理器产生的工作流,挖掘管理器收集和处理来自不同的记录器代理,从而来自与所述记录器代理相关的不同专家用户的数据。

操作日志DB 18通过按照适当的XML日志格式记录数据,保存与操作者对网络设备执行的干预(即,人工活动和命令)有关的数据。该单元向用户提供单个的存储点(从逻辑的观点来看)。

事件日志DB 20保存网络设备产生的事件和操作员发给这些设备的命令。该单元向用户提供单个的存储点(从逻辑的观点来看)。

可视日志DB 22是与操作员对网络设备的干预的执行有关的所有视频记录的单个存储点。

这里描述的布置的主要特征在于,相关的系统体系结构能够记录操作员(现场工程师和后台职员)对包括在系统(通常为通信网络)中的网络设备执行的干预。

该结果是通过实现由图2的流程图表示的过程获得的。

通常,与特定设备相关,并且可能指定故障征兆的工作请求-WR-(即,发给现场专家的请求),或者干预请求(即,发给后台职员的请求)被后台职员接收(如果所述请求是干预请求的话),或者被现场工程师接收(如果所述请求是WR的话)。如果现场工程师被涉及,那么包含诸如干预类型、网络设备类型、组件类型和故障之类信息的WR被显示在现场工程师的设备(膝上型计算机,移动电话机,手持式计算机)上(步骤100)。

操作员(现场工程师或后台职员)开始其干预。在步骤110,在他自己的设备上运行的记录器代理24(自动地或者依据操作员的命令)向负责网络设备(WR或干预请求所涉及的网络设备)的适当资源委托代理RP,发送规定它将接收与所述网络设备相关的命令和事件的请求。可利用ACL语言通过记录器代理24和资源委托代理之间的有线或无线连接发送所述请求。

就现场工程师来说,如果记录器代理24便利地受Web Cam支持,那么记录器代理24能够启动(自动地或者依据现场工程师的命令)现场工程师执行的干预的可视记录。

遵照从记录器代理24接收的请求,资源委托代理RP在适当的表格中增加一条记录,所述记录表示记录器代理24对获得涉及与资源委托代理RP相关的网络设备的命令和事件的兴趣。所述记录至少包含记录器代理24的标识符和活动的开始时间(time_start_activity)(步骤120)。

资源委托代理RP通过其PCL,定期从与其关联的网络设备NE收集事件信息,并将这样的信息(该信息表示网络设备的状态信息),连同发给该网络设备的命令一起保存在它的高速缓冲存储器CM中,在所述高速缓冲存储器上,还能够记录网络设备的图像(步骤130)。

通过网络设备发给资源委托代理RP自身的独立报告,资源委托代理RP还能够检测在网络设备上触发的事件。所述事件随后被保存在资源委托代理RP的高速缓冲存储器CM中。

通过记录器代理24,操作员通知资源委托代理RP已完成其干预,通过增加活动的结束时间(time_end_activity),资源委托代理RP能够更新参考的记录器代理24的记录(步骤140)。随后,记录器代理24通过资源委托代理RP核实干预的正确执行(步骤200)。

就干预的成功执行来说(步骤200的出口Y),资源委托代理RP将在网络设备上触发的事件,以及在从time_start_activity到time_end_activity的时段中,操作员通过资源委托代理RP对网络设备执行的可能命令,传送给(已完成其干预的)操作员的记录器代理24(步骤210)。

在任何情况下,资源委托代理RP都将干预的正确执行的核实结果传给记录器代理24。另外,资源委托代理RP删除已完成其干预的操作员的记录器代理24的记录。

在成功执行干预的情况下,记录器代理24再利用ACL语言通过有线或无线连接,将和在操作员对其进行他的干预的网络设备上触发的事件有关的数据,以及操作员对网络设备本身执行的可能命令发送给挖掘管理器14(步骤220)。另外,在已启动现场工程师的干预的可视记录的情况下,记录器代理24还将包含与现场工程师的干预执行有关的图像的文件发给挖掘管理器14。

不论干预的执行是失败还是成功,记录过程都停止(步骤230),同时将与在网络设备上触发的事件有关的数据,以及操作员对网络设备本身执行的可能命令保存在事件日志DB 20中。最后,和现场工程师的干预的可能可视记录有关的文件被保存在可视日志DB 22中。

在上述过程的一种可能备选方案中,资源委托代理RP负责将刚开始观测事件或命令,就新检测到的从网络设备触发的事件或者发给网络设备的命令发送给记录器代理24。这些数据随后由记录器代理24缓存。在这种实现中,事件和命令不被临时保存在资源委托代理RP内,资源委托代理RP只需要明了哪些记录器代理24要求被告知在网络设备上触发的事件和在网络设备上执行的命令。

在干预结束时,系统进行干预的重构。由操作员对网络设备执行的人工活动和命令组成的干预的重构以恰当记录在事件日志DB2中的事件的日志和命令的日志作为输入,并以工作流模型作为输出,所述工作流模型描述由操作员执行的、并且作为输入提供给重构进程的人工活动和命令序列所涉及的干预的类型。在下面的讨论中,假定干预由人工活动和/或命令序列组成。命令和人工活动的定义由可从下面描述的挖掘管理器14得到的GUI 12支持。

进一步假定可由操作员通过资源委托代理执行的每个命令,以及触发事件的每个人工活动,可与一个“正则表达式”关联。利用可由网络设备生成的事件定义所述正则表达式。“正则表达式”的概念的定义可以参考本说明书的背景部分中的各种参考文献和论述。

这里描述的解决方案使得能够发现与操作员执行的一组干预所涉及的WR类型或者干预请求类型对应的工作流模型。

下面参考图3的流程图说明工作流模型发现过程。

挖掘管理器14的日志记录器部分询问事件日志DB 20,以获得与操作员执行的干预相关的事件和命令序列(步骤500)。

所述事件序列由挖掘管理器14的日志记录器部分通过下面详细说明的近似正则表达式匹配过程进行处理。由于网络设备可能(独立地或者由于受其它网络设备激励)产生乱真事件,或者由于对网络设备执行的人工活动或命令可能触发同时发生的事件,因此考虑了所述近似。

对于前面定义的正则表达式的每个匹配项,系统发出人工活动或命令标识符(步骤510)。

当该过程结束时,产生与作为输入给出的事件和命令序列对应的人工活动和命令序列。此外,未触发与操作员执行的干预相关的、在先前的步骤中未检测到且仍然保存在事件日志DB 20中的事件的命令被添加到输出序列中(步骤520)。

在干预期间执行的活动(即,人工活动和命令)序列按照XML日志格式,连同干预所涉及的相关WR或干预请求一起被保存在操作日志DB 18中,记录的数据被标记成“已执行”。在事件处理步骤失败的情况下,挖掘管理器14只将干预所涉及的WR或干预请求记录在操作日志DB 18中,记录的数据被标记成“已失败”(步骤530)。

挖掘管理器14的工作流挖掘器部分检查是否存在足够数目(该具体值可以是基于每个案例选择的具体值,或者可以是预先确定的固定值)的与相同类型的WR或干预请求相关的XML日志(步骤540);在检查成功的情况下(步骤S540的出口Y),挖掘管理器14的工作流挖掘器部分查询操作日志DB 18,获得与该类型的WR或干预请求相关的所有XML日志(步骤550)。在不存在足够数目的XML日志(步骤540的出口Y)的情况下,过程跳回步骤500,在步骤500,挖掘管理器14的日志记录器部分查询事件日志DB 20,获得待处理的事件和命令序列。此外,如果工作流模型的发现需要外部监管,那么专家用户配有下面说明的GUI 12,以便人工辅助发现工作流模型。

挖掘管理器14的工作流挖掘器部分通过可能包括在本文的下文中描述的扩展的工作流挖掘算法(选自在文献中列举的那些算法:参见本说明书的背景技术部分)处理在各个XML日志中列举的人工活动和命令序列。该算法的执行结果是工作流模型的生成(步骤560)。

专家用户通过利用挖掘管理器14的GUI 12可检查这样生成的工作流模型。专家用户应该分析该工作流模型,在该阶段结束时,工作流模型可被证实和接受。另外,在证实工作流模型之前,专家可向执行基于其生成工作流模型的干预的操作员要求关于生成的工作流模型的质量的更多反馈(步骤570)。

在上述过程结束时,工作流模型被保存在工作流DB 16中,并与干预或一组干预所涉及的WR/干预请求匹配。最后,从操作日志DB 18中删除与生成的工作流模型有关的所有XML日志(步骤580)。

下面说明根据网络设备的日志,确定人工活动和命令序列的方法。

假定至少可对网络设备触发事件执行一些人工活动或者命令。指定网络设备的日志按照特定于该网络设备的格式包含事件和/或命令序列。日志被认为是完整的(命令或人工活动触发的所有事件和在网络设备上执行的所有命令都存在于日志中)。命令序列按时间排序。假定依据其在指定的网络设备(日志)中报告和保存事件和命令的格式和在下面说明的方法中使用的值(例如字符)之间的映射被定义。

下面用拉丁字母集的小写字母(a、b、c、...)指示事件,例如:

A port with traffic has been extracted_on→a

Optical Service channel lost_on            →b

                                           →c

...

输入自动推导过程的数据应该根据上面提及的映射进行预处理。

对于命令定义类似的映射,不过用于映射命令的一组数值不同于用于映射事件的一组数值。下面将用后面带有数字的大写字母C表示命令,例如:

改变IP地址            →C1

保存配置              →C2

上述序列中的每个命令和事件被标记时间戳(用任意单位)。例如,事件序列可以是下述形式(时间戳用下标表示):

a1b3a4a7c9b13d14f23g26

用于表示在干预期间执行的活动(即人工活动和命令)的值这里被称为“符号”。用于识别命令的符号和在日志中使用的符号相同,即,值C1,C2,...,而人工活动将用符号OP1,OP2,...表示。于是,在下面,术语符号将识别人工活动(OP)或者命令(C)。识别能够触发事件的人工活动或命令的每个符号与正则表达式关联。

正则表达式必须按照这样的方式书写,以致它能够成功地匹配可以触发对应命令或人工活动的执行的事件的所有可能序列,例如:

C1:ab*

OP1:a(c|d)ff

OP2:fdc?

其中“”表示在前块的零个或多个匹配项的可能重复,“|”表示具有在它之前的块,或者在它之后的块的可能性,“?”表示在前块是可选的。

由指定命令或人工活动的执行触发的事件序列由时间上彼此“接近”的事件构成。

这里描述的推导方法要求一些约束条件被满足。具体地说,假定由在网络设备上执行的命令触发的事件具有在当其被记录在命令日志中时的对应命令的时间戳之后的时间戳。这意味序列a3b5b6b7不可归于观测到的命令C14

此外,进一步假定如果指定符号的正则表达式与具有小于k的插入项的序列匹配,那么事件序列可归于该符号。事先对每个网络设备定义所述k值,例如,对于k=1,a5b5c6b7b8可被回溯到观测到的命令C14(c6是插入项)。

其中第一事件的时间戳远离指定命令中的时间戳的距离超过预定时间(这里称为max_delay)的序列不可归于该命令。于是,如果max_delay被设置为10,那么a51b52b54b56不能被回溯到C14

最后,指定正则表达式的匹配项的第一事件的时间戳和相同匹配项的最后事件的时间戳之间的“距离”必须小于必须预选设置的预定值(称为max_extension)。于是,如果max_extension=5,那么a5c6f7f18不能被检测为OP1的匹配项。在推导过程的每个步骤,识别出事件流的多个序列的情况下,使用下述标准来解决模糊性:

-优选具有较少插入项的匹配;

-在匹配具有相同数目的插入项的情况下,优选扩展最大的一个匹配。

此外,自动推导过程基于下述假设:

1、输入数据可以是:

-事件序列(或事件流)和命令序列;

-事件序列(或事件流);或者

-命令序列。

2、作为一种只有当存在命令序列时才可行的可选方式,在事件日志中搜索可归于各个已记录的命令的事件序列。该步骤是如下进行的:

-按照时间顺序,每次一个地考虑在命令序列中出现的与正则表达式关联的命令;

-进行与所检查的命令关联的正则表达式的搜索。所述搜索以文献中已知的近似正则表达式匹配算法之一为基础,并在最多允许k个插入项的情况下进行所述搜索;

-如果找到匹配,那么关于相容性对时间戳进行检查;

-如果没有匹配被接受,那么整个过程被停止,否则定位多达k个插入项(除非匹配是精确的),并利用后面说明的过程确定如何处理它们。从事件序列中除去在匹配中使用的字符/值。另外从命令日志中除去该命令。

3、从事件流的起点(在前一步骤中执行的this的处理之后)到结尾,执行事件序列与对应符号的匹配。

所述匹配是通过利用允许非精确匹配的lex类工具,考虑多达k个不同的插入项来完成的。

就不进行步骤2的实现来说,如果对于触发事件的命令之中,存在于命令序列中的一个命令得到一个相容匹配,那么该匹配被接受,并从命令序列中除去该命令。

如果在某一步骤,未检测到有效的匹配,那么停止整个过程。如果正确地完成该过程,但是未从命令序列中除去触发事件的一个或多个命令,那么整个过程被停止。

例如,假设利用下述正则表达式定义命令C1和人工活动OP1,OP2,OP3:

C1:ab

OP1:a(c|d)ff

OP2:fdc?

OP3:cb

并且假设将下述两个序列视为输入:

事件:f1a3b4b5b6f7d10a12c14f14f15c21b22b23

命令:C12C217C326

如下获得事件和命令与在干预期间执行的活动(命令和人工活动)的匹配:

f1             -    ERROR

a3b4b5b6       -    C12

f7d10a         -    OP26

a12c14f14f15    -    OP112

c21b22b23       -    OP321

对于每个匹配,调用确定是否和如何在事件序列中重新输入检测到的插入项(错误)的进程。

所述进程以精确的匹配项和可能的插入项(或者读取的匹配项可被归于具有小于k+1的插入项的匹配正则表达式的匹配项的所有插入项组合)作为输入。

如下进行插入项的检测:

-对于匹配的正则表达式,(按照下面更详细说明的标准),创建Glushkov自动机(图7中表示了一个示例,并将在下文中说明;在图7中,字母表示事件,数字表示状态);

-考虑在在先步骤中描述的自动机相同的k+1个自动机,它们之间通过关于任意事件的从某一状态到下一自动机的对应状态的垂直跃迁连接(图8中表示了一个示例,并将在下文中说明);

-所述k+1个自动机在任意指定时刻的配置被保存在包含该时刻的有效状态的堆栈中。标签列表与每种状态关联:这样的标签标记为达到该状态所要考虑的插入项;

-对于每个事件,通过从堆栈中除去起始状态,并增加目的地状态,沿所有可能的跃迁而行。对于每个目的地状态,复制关于起始状态的标签列表。如果跃迁与插入项关联(垂直跃迁),那么在目的地状态的附加标签列表中增加另一个标签,从而标记插入项位置。

在所述过程的结尾,输出的符号的类型最多为三种:

-i)初始存在于命令序列中,并且与正则表达式无关的命令;

-ii)初始存在于命令序列中,与正则表达式关联,在事件流中检测到它的对应事件的命令;

-iii)从事件流的分析得到的人工活动。

人工活动和命令按照时间被排序。参见前面说明的示例,排序后的输出为:

C12OP26OP112C217OP321C326

如果提供不触发事件的命令序列作为唯一的输入,那么所列举的步骤都不被执行,并产生相同的序列作为输出。

下表表示关于可对指定网络设备执行的人工活动的正则表达式的可能定义的示例。

 

人工活动/命令人工活动/命令ID可能的事件序列正则表达式板插入OP1abcdccdab?(c|d)线缆插入OP2efef线缆移除OP3fdfd板定义C1ghhgh端口移除OP4eehiehi?端口插入OP5cjdedecj?(de)主板线缆移除OP6kk主板线缆插入OP7ll板移除OP8hhhgmeehgm?e

如下所述,通过利用挖掘管理器14的GUI 12,可利用正则表达式(其字母表为事件的集合)定义命令和人工活动。

以作为现场工程师进行的移除板的操作的结果,在网络设备上触发的事件序列dddhahhgmeeedcdccdefee为例,在允许多达2个插入项的情况下,根据前述近似正则表达式匹配算法,检测下述人工活动:

 

事件序列dddhahhgmeee识别的人工活动线缆移除线缆移除线缆移除板移除

 

事件序列dcdccdefee识别的人工活动板插入线缆插入线缆插入线缆插入

下面报告在网络设备中保存事件的格式和在自动推导过程中使用的值(这种情况下,字符)之间的可能映射。

事件图例

BoardIn                                             a

A board with traffic has been extracted_off           b

PortInsertion                                       c

Loss of signal_on                                    d

Loss of signal_off                                   e

Protection switched                                  f

BoardOut                                            g

A SPF missing                                       h

A port with traffic has been extracted_on            i

A port with traffic has been extracted_off           j

Optical Service channel lost_on                      k

Optical Service ch an nel lost_off                   l

A board with traffic has been extracted_on           m

下面,更详细地说明定位指定文本T的子序列S中的插入错误的位置,以致对于正则表达式P的一个或多个匹配项Pi,d(S,Pi)≤k。

作为第一步骤,如图7中的示例中示意所示,为指定的正则表达式P创建Glushkov自动机。就这方面来说,上面引用的文章“FROMREGULAR EXPRESSION TO DETERMINISTIC AUTOMATA”,Theoretical Computer Science,48,第117-126页,1987,描述Glushkov自动机及其自正则表达式的构成。

假定m是Glushkov自动机的状态的数目(它也是存在于正则表达式P中的字符和字段种类的数目)。每个状态(numeri)描述对应正则表达式中的字符或字符种类,并标以对应字符或字符种类在正则表达式自身中的位置。

Glushkov自动机的特征在于,到达某一状态的所有箭头都用相同的字母标记(所述字母代表与该状态关联的字符或字符种类)。只有当输入字符与标志匹配时,才能沿标记的边缘而行。对于作为给自动机的输入给出的任何字符,可沿未标记的边缘而行。

图7是与正则表达式ab(c|d)e对应的Glushkov自动机的表示。

通过经由关于任何字符的垂直跃迁,连接一个自动机中的每种状态与下一个自动机中的对应状态,建立由上述那种类型的k+1个(其中k是允许的插入错误的最大数目)自动机构成的自动机:Glushkov元自动机的一个示例参见图8。图8中描述的自动机接受允许多达一个插入项的正则表达式ab(c|d)e的匹配项。

在给定时间的元自动机(即,所述一组k+1个自动机)的配置被保存在包含元自动机同时能够处于的所有状态的堆栈中。标签列表与每种状态关联:这样的列表记录为了达到该状态,必须考虑哪些插入项。

对于子序列S的每个字符,通过从堆栈中除去起始状态,并增加目的地状态,沿所有可能的输出边缘而行。对于到达的每种目的地状态,复制起始状态的标签列表。如果跃迁与插入项关联,即垂直跃迁,那么在目的地状态中增加指示插入项位置的另一个标签。

当扫描完成时,堆栈将包含一个或多个最终状态,每个最终状态利用与正则表达式P的可能匹配项Pi相关的可能插入项的列表,表示该可能匹配项Pi

例如,再次考虑图7的由串“abdce”组成的自动机,并令k=1。于是生成图8的元自动机。通过读出串“abdce”的第一个字符“a”,并遵循从元自动机的起始状态“0”开始的可能跃迁,开始扫描过程。元自动机可到达两种可能的目的地状态:通过遵循水平跃迁到达上面的自动机中的状态“1”,或者通过遵循垂直跃迁(即,与插入项相关的跃迁)到达下面的自动机中的状态“0”。在可能的目的地状态“0”中增加指示插入项位置的标签I1。

随后,通过从先前激活的状态“0”和“1”开始读取串的字符“b”,继续进行扫描过程。不过,从下面的自动机的状态“0”不能遵循任何跃迁,以致下面的自动机的有效状态“0”使元自动机缺乏有效状态。从而从标签列表中除去与下面的自动机的状态“0”相关的标签I1。上面的自动机中的有效状态“1”使元自动机通过遵循水平跃迁(没有插入项)到达上面的自动机中的目的地状态“2”,和通过遵循垂直跃迁(插入项)到达下面的自动机的目的地状态“1”。于是在下面的自动机的目的地状态“1”中增加指示该插入项位置的另一个标签I2。

随后从所述串读出字符“d”。从下面的自动机的状态“1”开始,不存在可能的对应跃迁,于是可从标签列表中除去与下面的自动机的状态“1”相关的标签I2。上面的自动机的状态“2”允许通过遵循水平跃迁(没有插入项)到达上面的自动机的状态“4”,和通过垂直跃迁(插入项)到达下面的自动机的状态“2”。于是,在下面的自动机中的目的地状态“2”中增加指示该插入项位置的标签I3。

随后从所述串读出字符“c”。从下面的自动机的状态“2”开始,能够到达下面的自动机的状态“3”(即,没有任何插入项),以致标签I3被保留。从上面的自动机的状态“4”,不存在可能的水平跃迁,而通过垂直跃迁(插入项)能够到达下面的自动机的状态“4”。于是,在下面的自动机中的目的地状态“4”中增加指示该插入项位置的标签I4。

最后,从所述串读出字符“e”。从下面的自动机的状态“3”,能够到达下面的自动机的状态“5”,这种情况下标签I3被保留。从下面的自动机中的状态“4”,也能够到达状态“5”,这种情况下标签I4被保留。

在下表中总结了该扫描过程。

 

读出字符元自动机的有效状态标签的列表0a01I1b21I2c42I3d34I3I4e55I3I4

元自动机的有效状态(本例中,两种有效状态)被置于堆栈中。

在插入项检测过程的结尾,作为输出产生两个可能的串:abce(d被标记为插入项),abde(c被标记为插入项)。

作为另一示例,可考虑下述规范:

a(b|c)dd      →tokena

(ff)|(de)        →tokenb

其中a(b|c)dd是与“tokena”对应的正则表达式,而(ff)|(de)是与“tokenb”对应的正则表达式,其中“tokena”和“tokenb”是触发事件的人工活动(人工操作或者命令),字母“a”-“f”识别事件。

这意味“tokena”表示以“a”开始,后面是任意数目的“b”和“c”,并以一连串的一个或多个“d”结束的序列。

从而,下述序列被接受为正则表达式a(b|c)dd的匹配项:

abd

acd

acbcccd

abcbcbbbcd

abcbbddd

类似地,“tokenb”只表示这两个序列:

ff

de

识别为“tokena”和“tokenb”的人工活动可对应于例如在网络设备上执行的下述人工活动:

-“tokena”可对应于与事件的下述表达式相关的人工活动“BoardRemoved”:

<Loss of signal_on>(<BoardOut>|<A board with traffic hasbeen extracted_on>)<A SPF missing><A SPF missing>

-“tokenb”可对应于与事件的下述表达式相关的人工活动“PortRemoved”:

(<Protection switched><Protection switched>)|(<A SPFmissing><Optical Service channel lost_off>)

现在假定作为输入给出下面的事件日志:

a,1  f,2  f,4   c,5  b,6  b,7  d,8  d,9  e,10  a,11  d,12

其中每一对中的第一个元素是用于书写正则表达式的相同字母集上的一个值,第二个元素是与该值关联的时间戳(即,时间指示)。从而上面的序列意味在时间1观测到“a”,在时间2观测到第一个“f”,在时间4观测到第二个“f”,依次类推。

例如,该事件日志可对应于下述事件序列:

Loss of signal_on,1

Protection switched,2

Protection switched,4

A board with traffic has been extracted_on,5

BoardOut,6

BoardOut,7

A SPF missing,8

A SPF missing,9

Optical Service channel lost_off,10

Loss of signal_on,11

A SPF missing,12

由上述事件序列构成的输入日志(这种情况下,不存在命令日志)必需被转化成人或活动或命令序列。该步骤可通过采用正则表达式的近似识别方法来实现。将证明:

-如果在只允许精确匹配并且无时间约束条件的情况下,利用正则表达式分析日志,那么不给出任何输出;

-如果在允许近似匹配,但是无时间约束条件的情况下,利用正则表达式分析日志,那么产生下述输出:PortRemoved,BoardRemoved,BoardRemoved;

-如果在允许近似匹配,并且有时间约束条件的情况下,利用正则表达式分析日志,那么产生下述输出:PortRemoved,BoardRemoved,PortRemoved,BoardRemoved。

下面这三种情况进行描述。

假定通过利用正则表达式和非近似匹配机制,不过无时间约束条件(即,通过忽略时间戳)分析输入日志;可利用现有工具,比如lex进行这种识别。在这种情况下,识别失败,不产生任何输出。下述步骤可被执行:

-读出“a”;

-读出“f”。序列“af”不是能够由上面书写的正则表达式匹配的任意匹配项的前缀(即,不出现在开始处)。该过程立即被停止。

现在假定通过利用正则表达式和上面说明的近似匹配,通过将k(要考虑的插入项的最大数目)设置为1,不过不考虑任何时间约束条件(即不使用max_extension常数),分析作为输入给出的日志。在这种情况下,识别产生下述输出:

tokenb    tokena     tokena

下述步骤被执行:

-字母“aff”被读出,并被近似匹配成与tokenb对应的正则表达式的匹配项,同时“a”作为插入项。

-字母“acbbdd”被读出(在插入项检测算法的前一步骤中,开头的“a”被标记为插入项,其结果是“a”被放回输入序列中),并被接受为tokena的匹配项。

-字母“ead”被读出,并被匹配为tokena的匹配项,同时“e”作为插入项。

最后,假定通过将k(允许的插入项的数目)设置为1,并通过将时间约束条件max_extension设置为7,使用带有时间约束条件的正则表达式的近似匹配方法。该识别产生下述输出:

tokenb    tokena     tokenb     tokena

下述步骤被执行:

-字母“aff”被读出,并被近似匹配成tokenb的匹配项,同时“a”作为插入项。

-字母“acbbd”被读出,并被匹配为tokena的匹配项。字母“d”的第二次出现(具有时间戳9的字母“d”)不是匹配为tokena的匹配项的一部分,因为从该匹配项的第一事件(即“a”)的时间戳到它自己的时间戳的距离为9-1=8,该距离大于7。

-字母“de”被读出,并被匹配为tokenb的匹配项。

-字母“ad”被读出,并被匹配为tokena的匹配项。

上述三种情况表明下述内容的重要性:

-利用近似正则表达式匹配;

-识别(即,检测)和重新插入插入项;

-考虑时间约束条件。

挖掘管理器14被设计成提供对命令和人工活动的完全图形支持。该组件被实现成GUI 12,通过GUI 12,能够利用其字母表为事件集合的正则表达式定义命令和人工活动。

按照可用性原则始终如一地设计GUI 12,以便使专家用户能够以最大的效能、效率和满意度完成他们的任务。

在验证和选择需要为其撰写定义的网络设备的类型之后,GUI12显现给专家用户。

图4中描述了GUI 12的布局,GUI 12的布局包括下述项目:

-窗口A,在窗口A,专家能够定义在操作员进行的干预期间,能够对网络设备执行的新命令和人工活动。该任务要求关于命令C和人工活动OP,指定一个或多个正则表达式RE(e,dg,ab,...);

-窗口B,在窗口B,显示从现场收集的命令序列(子窗口B1)和/或事件序列(子窗口B2)(如果有的话)。利用上面提及的正则表达式匹配技术,使子窗口B2中的事件的子序列与在窗口A中提及的命令和人工活动匹配。这种匹配是通过考虑正则表达式如何匹配序列,即是近似匹配还是精确匹配来完成的。利用相同的颜色突出涉及相同的命令或人工活动的多组事件。

为了提供操作员应该执行以便最有效地履行WR或干预请求的一连串步骤,需要采取特殊的行动以便对不触发任何事件,从而仅仅通过考虑保存在网络设备的日志中的事件序列,不能被恢复的那些命令和人工活动给予特殊处理。

通过提供根据人工定义的规则,变换由上面提及的工作流挖掘算法作为输出产生的输入工作流模型的各个部分的自动机制,执行不触发任何事件的命令和人工活动的处理。实际上,根据使不触发事件的命令和人工活动与触发事件的命令和人工活动相互关联的规则,与不触发事件的命令和人工活动相关的子流被插入对于触发事件的命令和人工活动产生的流程中。一种规则是一对(X,Y),其中X是在网络设备上触发事件的人工活动或命令,Y是任意复杂的工作流子模型(它也可只由一个人工活动/命令构成)。在工作流子模型中,初始人工活动或命令被标记,并且由最终的人工活动或命令唯一地区分。

所述自动机制按照下述过程,用子模型Y替换存在于工作流模型中的X的匹配项:

-从初始的人工活动或命令到最终的人工活动或命令遍历工作流模型;

-每当人工活动或命令表现为前面定义的规则之一的左侧时,通过用Y替换X,应用该规则描述的替代。特别地,到X的所有输入跃迁(transition)变成到Y的初始人工活动和命令的输入跃迁,出自X的所有输出跃迁变成出自Y的每个人工活动和命令的输出跃迁。

图形用户界面12简化了知识形式化和建模过程(即,上面提及的规定的定义)。

首先参见图5,GUI 12可包括:

-与先前定义的触发事件的人工活动(例如,OP1)和命令相关的窗口D。专家用户能够滚动人工活动和命令的列表。对于该列表中的每个项目,利用下面讨论的窗口E最多能够定义一个子模型。所述子模型随后将在前面详述的替代过程中被用作人工活动或命令的替换物;

-与在前述替代过程中使用的工作流子模型相关的窗口E。通过利用GUI 12的适当控件,出现在该子模型工作流中的人工活动和命令可被标记成初始的或者最终的人工活动和命令;

-列举可用于定义子模型工作流的一组命令C(例如,C1,C2)和人工活动OP(例如,OP1)的窗口F。

GUI 12还可被配置成允许专家用户显示、修改和证实先前生成的与某一种类的干预有关的工作流模型。

特别地,GUI 12可向专家用户显示图6中描述的布局:

-与在整个特定干预过程中记录的视频相关的窗口G;应注意对于每种干预,可能存在一种以上的视频(每个视频和一个特定的干预有关);

-显示在给定干预的执行过程中,观测到的命令(子窗口H1)和生成的事件(子窗口H2)的窗口H。专家用户能够选择特殊的干预执行。GUI 12将显示与其相关的一系列命令和事件,以及相关的视频。所述两个序列(命令序列或事件序列)之一中的某一元素的选择将使视频与所选元素同步;

-与先前生成的工作流模型相关的窗口I。专家用户能够在显示的模型中选择特定的人工活动或命令。对于每个选择的人工活动或命令,GUI 12在事件子窗口H2中突出显示与活动/命令相关的可能的事件序列,并在前面描述的G窗口中突出显示该人工活动或命令的视频。专家用户能够修改和接受工作流模型;通过在(存在于下面说明的窗口L中的)那些已知人工活动或命令中进行选择,或者通过创建新的命令或人工活动,专家用户还能够向工作流模型中增加新的人工活动或命令。最后,对于工作流模型中的边缘,能够定义分支条件;

-已知的人工活动(例如,OP1)和命令(例如C1,C2),即GUI 12已为其定义了对应的正则表达式(RE)的那些人工活动和命令的窗口L。

对于每个选择的人工活动和命令,GUI 12突出事件子窗口H2中的事件的相关序列,和工作流模型中的相关人工活动和命令。

所述方法可应用于操作知识管理领域,在所述操作知识管理领域中,本发明中用于如上所述自动获得知识。

不过,本发明的方法的应用领域并不局限于知识管理。

所述方法能够应用于其中人类操作员预期人工地或者通过命令与设备交互作用的所有领域,所述设备能够输出与这些人类操作员执行的活动关联的事件,并将其记录在日志文件中。

例如,这些领域之一可以是侵入检测系统的领域,尤其是其中攻击被认为是公知的命令序列(称为情景或签名攻击),并且系统活动(以日志、网络信息流通量等...)能够被跟踪,以便检测系统中这种情景的存在的滥用检测的环境。特别地,即使系统受到由相互重叠的不同命令序列发起的多个攻击,并且不存在分离所述命令序列的简易方式,本发明的方法也能够获得应用。

在上面定义的领域中,上面所述的方法可按照下述过程,被用作正则表达式的近似匹配工具的补充:

-给定具有事件序列的输入文件,所述匹配工具利用根据正则表达式描述的对应命令/人工活动,转换所述事件序列;

-对于每个匹配,调用在本发明中描述的方法,以便确定是否和如何将在最后的匹配中检测到的可能插入项重新插入事件序列中。

对称地,至于涉及在结合图1-6说明的布置的更一般的环境内工作流模型的生成的方面,工作流挖掘过程,比如在“WORKFLOWMINING:A SURVEY OF ISSUES AND APPROACHES”,Data andKnowledge Engineering,47(2),第237-267页,2003或US-A-2004/0254768(均已在本说明书的背景部分中引用)中公开的工作流挖掘过程可被用作这里具体说明的过程的备选方案。

于是,不影响本发明的基本原理,参考仅仅作为示例说明的内容,细节和实施例可发生变化,甚至明显变化,而不脱离由附加权利要求限定的本发明的范围。

例如,资源委托代理RP能够保存事件和命令,随后将它们直接发送给挖掘管理器14,在挖掘管理器,所述事件和命令被保存,随后被分析。可在记录器代理24检查干预的正确执行,并将干预的结束告知资源委托代理RP之后,将信息传给挖掘管理器14。

作为另一种备选方案,一旦从对应设备收到事件和命令,资源委托代理RP就可直接将所述事件和命令传递给挖掘管理器14,而不保存它们。这种情况下,资源委托代理RP必须知道记录器代理24和挖掘管理器14之间的连接,以便正确地发送数据。在干预结束时,现场工程师告知资源委托代理RP干预结束,资源委托代理RP检查干预的正确执行,并据此通知记录器代理24和挖掘管理器14。

于是,在这些可能的备选方案中,记录器代理24不用于记录命令和事件,这些命令和事件直接从资源委托代理RP发送给挖掘管理器14,从而挖掘管理器14既充当数据记录单元,又充当数据处理单元。即使在记录器代理24不记录命令和事件的情况下,它们仍然被请求将干预的可能视频记录发给挖掘管理器14(不过,在干预失败的情况下,可删除而不传送视频记录)。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号