基于模型的事件处理的制作方法

文档序号:6454563阅读:113来源:国知局
专利名称:基于模型的事件处理的制作方法
基于模型的事件处理
背景
计算机在我们的社会中变得日益普遍且提供各种功能。一些计算机最初被 设计为个人用途,而其它则最初被设计为由多个用户和/或多个计算机同时访 问。通过使用不同的硬件组件以及安装在计算机上的不同的软件应用程序,该 计算机可以实现各种功能。
虽然可用的计算机功能和软件应用程序的多样性对计算机的最终用户来 说益处巨大,但这一广泛的多样性对被赋予保持计算机运行的任务的系统管理 员来说可能是成问题的。这对于包含大量不同的组件的计算系统尤其如此,这 些组件必须一起工作且正确地工作以使整个计算系统正确地操作。
出于这些和其它原因,事件处理变成受管计算系统的核心能力。 一般 而言,事件处理需要从事件的输入流中导出含义。然而,这一含义通常被 与复杂计算系统中的各种资源相关联的事件的巨大数量所遮蔽。例如,包
括访问计算系统的用户的数量、运行于计算系统中的应用程序的数量、以
及计算系统所执行的任务或操作的数量的因素可以导致大量的与各种各样
可用计算系统资源的相关联的不同的事件。
概述
提供本概述以便介绍将在以下详细描述中进一步描述的基于模型的事件 处理的简化概念。本概述并不旨在标识所要求保护的主题的必要特征,也不旨 在用于帮助确定所要求保护的主题的范围。
在一实施例中, 一种系统模型包括受管实体和这些受管实体之间的关
系。如果与事件相关联的受管实体具有与该模型相一致的关系,则与这些 受管实体相关联的事件被标识并被确定为是相关的。
附图简述
在全部附图中,使用相同的标号来指示相同的特征


图1示出一示例性系统,其中的事件可以使用基于模型的事件处理的 各实施例来处理。
图2示出可以与此处描述的基于模型的事件处理一起使用的示例性系
5统定义模型(SDM)。
图3示出其中可以实现基于模型的事件处理的各实施例的示例性操作
管理器和事件相关模型。
图4示出用于基于模型的事件处理的示例性方法。 图5示出其中可以实现基于模型的事件处理的各实施例的示例性通用 计算机环境。.
详细描述
描述了基于模型的事件处理,其中各实施例提供与各受管实体相关联的事 件的相关。在一示例性实现中,这些受管实体之间的关系被存储在模型中。随 后根据该模型处理这些受管实体所生成的事件,其中在事件与具有在该模型下 的关系的受管实体相关联时,它们被认为是相关的。
尽管用于基于模型的事件处理的所述系统和方法的各方面可用任何数 目的不同计算系统、环境和/或配置来实现,但在以下示例性系统体系结构 和方法的上下文中描述基于模型的事件处理的各实施例。
示例性系统 .
图1示出可以生成能够使用基于模型的事件处理的各实施例来处理的事 件的受管实体的示例性系统100。系统100包括文件系统A102、盘C:104、计 算机F106、计算机B108、消息通信服务XllO、消息通信服务Y112、和数 据中心M114。如此处所使用的,术语"受管实体"可以包括系统管理员感兴 趣的任何事情。例如,受管实体可以包括硬件和/或软件组件,如应用程序(包 括数据库应用程序、电子邮件应用程序、文件服务器应用程序、游戏应用程序、 生产性应用程序、操作系统等)、域、文件系统、计算机上的特定硬件(如网 卡、硬盘驱动器、可移动盘驱动器、多个处理器中的一个等)、虚拟机、计算 机、多个计算机的组、子网、因特网网关、服务、数据中心、成本中心、网站、 web服务、进程等。系统指的是包括受管元素在内的一个或多个硬件和/或软件 组件的集合。
在系统100中,计算机F 106包括盘C:104并运行文件系统A 102。计算 机F106还是数据中心M114中的消息通信服务X110的一部分。类似地,计 算机B 108是数据中心M114中的消息通信服务Y112的一部分。在一实现中,此处使用的术语'服务'可以指运行于多个计算机上的多个应用程序。在另一 实现中,'服务'可以指运行于单个计算机上的单个应用程序。
图1中连接受管实体的线指示所连接的实体之间的关系。可以存在于受管 实体之间的关系的示例包括包含关系、主存关系、通信关系、依赖关系、所有 权关系等。包含关系将一受管实体标识为被另一受管实体所包含。通常,被包 含的受管实体的数据和定义被合并到包含的受管实体中。同样,在一受管实体 被另一受管实体所包含时,包含的受管实体可以控制被包含的受管实体的生存 期和可见性。包含的受管实体还可以向被包含的受管实体委托行为。
主存关系标识受管实体间的依赖性。在主存关系中,主存的受管实体应该 存在以使客受管实体存在。通信关系标识可以互相通信的受管实体,而依赖关 系则标识依赖于其它受管实体的一个或多个受管实体。类似地,所有权关系标 识拥有或能够控制其它受管实体的受管实体。
此外,可以将上述类型的关系中的若干种组合成"多跳(multi-hop)"关 系。例如,可以将计算机B108看作经由通过消息通信服务Y112的一跳而相 关于数据中心M 114。通常,如果系统以XML文档来建模(如下更详细地讨 论的),则多跳关系可被表达为Xpath或Xquery,它们可能遍历多个关系支路 (leg)。
如数据中心M 114和消息通信服务X 110和Y 112 —样,文件系统A 102 和计算机F 106可被认为是直接相关的。相反,诸如消息通信服务X 110和Y112 等实体不是直接相关的,因为图1中未示出连接它们的线。然而,在一示例性 实施例中,由于消息通信服务X 110和Y 112两者都相关于数据中心M 114, 所以消息通信服务X110和Y112可被看作是间接相关的。然而,可以理解, 该特性的可传递性关系可能不是对于所有关系类型都可识别的。
出于说明的目的,在盘C:104被包含在计算机F 106中且文件系统A102 运行于计算机F 106上时,文件系统A 102、计算机F 106和盘C:104之间的间 接关系可以存在由此,文件系统A102和计算机F 106具有'运行于'类型的 关系,而盘C: 104和计算机F 106具有'包含于'类型的关系。在盘C: 104 和文件系统A102之间的两跳关系中,如果盘C: 104遇到坏的块,则在盘C: 104 纠正其问题时文件系统A102可能经历来自盘C: 104的缓慢响应。以此方式,盘C: 104处的问题可能会对文件系统102的性能产生不利影响。相应地,可以 理解,此处使用的术语关系将还包括受管实体之间的多跳关系。
用户或系统管理员可以出于各种原因将受管实体定义为相关的。例如,即 使计算机F 106和计算机B 108互相不直接相关,考虑到它们是同一模型类型 或受到类似的约束等,系统管理员也可能希望记录它们之间的关系。
系统100可以包括比图1中示出的多得多的受管实体。例如,系统100 可以包括运行支持多个服务的多个应用程序的多个计算机。另外,系统100可 以包括通过各种联网技术互连的各种服务器等等。
在系统100操作时,各受管实体生成事件。此处使用的术语'事件'指示 用户或系统管理员感兴趣的任何准则、情况、事情或动作。例如,事件可以包 括受管实体的情况的快照,如在计算机F 106处使用的存储器或处理容量的量。 类似地,事件可以包括传达受管实体的问题的错误报告。例如,在盘C: 104 处报告的盘错误或诸如来自性能计数器的数据等关于受管实体的信息也可以 组成事件。
通过使用与系统100中的每一受管实体相关联的规范116(a-g)来报告事 件。例如,与文件系统A102相关联的事件由规范116(a)注册和/或写到事件报 告中。类似地,与消息通信服务Y112相关联的事件由规范116(e)注册和域写 到事件报告中。规范116检测事件和/或周期性地检査其相关联的受管实体的情 况以形成包含与系统管理工作相关的信息的事件。该信息连同事件所关联的受 管实体的身份一起被包括在规范所发布的记录中。以下将结合图3更详细地讨 论这些记录中所包含的结构和数据。
在一示例性实施例中,规范116根据规范116所关联的受管实体来类 型化和定制。例如,与盘C: 104相关联的规范116(b)可以不同于与计算机 F 106相关联的规范116(d)。
示例性模型
图2示出系统定义模型(SDM) 200,其是图1示出的系统100的抽象模 型。然而,还可以理解,可以使用SDM之外的各种方法和建模技术来有效地 对系统100进行建模。通常,随着系统100中受管实体数量的增加,系统100的复杂性一一包括
系统100中的受管实体之间的直接和间接关系的复杂性一一也随之增加。在系 统100的开发期间,可以创作系统100的抽象模型200,并用其来表达系统100 的结构。
如下更详细地讨论的,通过发现关于系统100中的各受管实体和关系的特 定信息可以从模型200创建系统100的具体模型。例如,可以通过发现模型200 中所找到的抽象类和关系的真实实例来创建具体模型。已经完成的具体模型可 以精确地表达系统100的结构并可被用户或管理员用来更好地理解和管理系统 100。
返回到模型200,诺如系统管理员等用户可以定义与系统IOO相关联的或 与系统100中的特定受管实体相关联的一个或多个属性。模型200因此可以包 括被建模为图2中的组件的受管实体和这些组件之间的对应关系。由此,模型 200可以描述可被管理的系统,其中系统管理可以包括,例如,监视与系统中 的受管实体相关联的事件、在系统上安装软件、监视系统的性能、维护系统的 配置信息、验证系统中所满足的约束、从安全观点监视系统的完整性、其组合 等。
如图所示,模型200包括对应于被建模的系统中的每一受管实体(软件和 /或硬件)的组件。如上结合图1所讨论的,可以在系统中的硬件和/或软件组 件的示例包括应用程序(包括数据库应用程序、电子邮件应用程序、文件服务 器应用程序、游戏应用程序、生产性应用程序、操作系统等)、域、计算机上 的特定硬件(如网卡、硬盘驱动器、可移动盘驱动器、多个处理器中的一个等)、 虚拟机、计算机、多个计算机的组、子网、以及因特网网关、服务、数据中心、 网站、web服务、进程等。
模型200表示系统100的抽象模型,包括分别对文件系统A 102、盘C: 104、 计算机F106、计算机B108、消息通信服务XllO、消息通信服务Y112、以 及数据中心M114进行建模的组件202到204。类似地,连接组件的线表示各 种类型的关系。返回到以上给出的两跳示例,连接组件202和组件206的线可 以表示'运行于'类型的关系。类似地,连接组件206和组件204的线可以表 示'包含于'类型的关系。虽然示例模型200包括七个组件,但在实践中,被建模的系统,并且因此
模型200都可以包括任何数量的组件,其中系统中所管理的每一硬件或软件组 件都由模型200中的一个组件来表示。例如, 一个组件可以表示特定计算机, 而另一组件可以表示运行于该特定计算机上的操作系统。作为另一示例,又一 组件可以表示操作系统,而再一组件可以表示运行于该操作系统上的数据库应 用程序。作为又一示例, 一组件可以被包括在模型200中以表示特定计算机, 而一相关组件可以表示安装在该特定计算机上的操作系统。类似地, 一组件可 以被包括以表示运行于操作系统上的虚拟机,而另一组件可以被包括以表示运 行于该虚拟机上的操作系统。在这一示例中,操作系统可以是相同的或另选地 两个不同的操作系统。
模型200旨在作为全面的知识存储,包括以抽象类型专用方式管理系统 IOO时使用的所有信息。例如,具有变化的数量的计算机和管理服务及其实例 的类型100的系统也可以使用模型200来表示。此外,如下更详细地讨论的, 在真实系统中寻找组件和关系的知识和技巧还可以被编码在信息页中。
模型200中的信息可以包括关于系统100中的特定受管元素以及系统100 中的各受管元素之间的关系的信息。尽管有此意图,但可以理解,模型200可 以另选地只包含在管理系统时使用的信息中的某一些而不是所有信息。
系统100中的不同受管元素之间存在的关系在模型200中用连接相关组件 的线示出。如上结合图l所述,可以存在于组件之间的关系的示例包括包含关 系(如上面讨论的'包含于,关系)、主存关系(如上述'运行于,关系)、通 信关系、依赖关系、和所有权关系。
图2还示出一个或多个信息(info)页可与模型200中的每一组件相关联。 信息页216与组件202相关联;信息页218与组件204相关联;信息页220与 组件206相关联;信息页222与组件208相关联;信息页224与组件210相关 联;信息页226与组件212相关联;信息页228与组件214相关联。每一信息 页都包含关于其相关联的组件的信息。此外,可为不同的组件维护不同类型的 信息。在某些实施例中,不同的页包含不同类型的信息,如一个页包含安装信 息而另一个页包含约束信息。另选地,不同类型的信息可被包括在同一页上, 如安装信息和约束信息被包括在同一页上。此外,可以理解,页可以用与模型200中的组件(或模型100中的受管实体)相同的方式来关联。换言之,页自 身也可以是相关的。
信息页的类型的示例包括安装页、监视页、服务等级协定页、描述页、关 系页等。安装页可以包括描述如何将相关联的组件安装到另一组件上(例如, 将应用程序安装到计算机上)的信息,如要将什么文件复制到硬盘驱动器、需 要添加或改变什么系统设置(如要包括在操作系统注册表中的数据)、在文件 被复制到硬盘驱动器后要运行什么配置程序等。
监视页包括涉及监视相关联的组件的性能和/或健康状况的信息。该信息 可以包括描述如何监视相关联的组件(例如,什么准则和其它事情组成在监视 组件时要寻找的事件)以及在满足特定规则时采取什么动作(例如,在事件发 生时记录特定设置和其它信息、拉响警报等)的规则。
服务等级协定页包括描述关于相关联的组件的两方或更多方之间(例如, 相关联的组件的买方和从其购买相关联的组件的卖方之间)的协定的信息。这 些可以在系统操作以确定例如各方是否满足这两方或更多方之间达成的协定 期间访问。
描述页包括描述相关联的组件的信息,如组件的各种设置或组件的其它特 征。这些设置或特征可以包括组件的名称或其它标识符、组件的制造商、组件 何时被安装或制造、组件的性能特征等。例如,与表示计算设备的组件相关联 的描述页可以包括关于安装在该计算系统中的存储器的量的信息。类似地,与 表示处理器的组件相关联的描述页可以包括关于处理器的速度的信息,而与表 示硬盘驱动器的组件相关联的描述页可以包括关于该硬盘驱动器的存储容量 和该硬盘驱动器的速度的信息等。
关系页包括关于相关联的组件具有的与其它组件的各种关系的信息。这些 关系可以是直接的或间接的,且其可由用户或管理员来设置以帮助事件处理的 工作。例如,组件的关系页可以陈述该组件与若干其与之定期地交互(或其与 之电子地耦合)的其它组件直接相关。此外,关系页可以陈述该组件与其它类 似组件在例如,类似的所执行的任务、类似的组成、或主组件和间接地相关的 组件间的类似的操作约束的基础上间接地相关。类似地,发现页对关于寻找特 定组件或特定关系的实例的指令进行编码。由此,模型200中的信息页维护关于系统100中的每一组件的各种信息(例 如,安装、约束、监视、发现等)。尽管这些信息页的变化的本质,但其还是
被一起维护在模型200中,并且因此都可由管理模型200所描述的类型的系统 时所涉及的各实用程序或其它应用程序很容易地访问。
在此处的讨论中,对不同类的计算设备进行参考。这些不同类的计算设备 中的每一种都指的是具有特定共同特征的计算设备,所以其被分组在一起并被 看作是一类设备。不同类的计算设备的示例包括因特网可访问的ns (因特网 信息服务)服务器、只在内部内联网可访问的IIS服务器、数据库服务器、电 子邮件服务器、顺序处理服务器、台式计算机等。通常,每一不同种类的计算 设备对应于系统模型中的配置中的一个。
模型200还可以包含静态信息(例如,应用程序中的软件服务拓扑)和动 态信息(例如,特定交互的控制流)。该信息被用来描述组件、系统体系结构 和交互流(例如,执行功能的一系列步骤)。
图3示出可被用来实现基于模型的事件处理的示例性操作管理器和事件 相关模块。可以利用操作管理器300来从模型服务器304导入系统100的抽象 模型302并从抽象模型302创建具体模型306。在一实现中,可以使用抽象模 型200中的对方法进行编码来发现具体模型的实例的信息页来创建这一具体模 型。实例可以是关于类的以及关于关系的。
在一实现中,抽象模型302包括以上结合图2讨论的模型200。然而,如 前所述,也可以将使用不同于结合图2讨论的系统定义模型(SDM)的语言、 方法、和技术创建的系统100的其它类型的抽象模型导入到操作管理器300中。 在一实施例中,从模型服务器304中以XML文档的形式检索抽象模型302。
一旦操作管理器300导入了抽象模型302并创建了相对应的具体模型 306,则可以在数据库中保存具体模型306。该数据库可被主存于同时主存操作 管理器300的全部或部分的计算机上,或者其对操作管理器300可以是远程的。 另选地,可以在不同时间将该数据库保存在各计算机上,包括或不包括主存操 作管理器300的计算机。
如上结合图1所讨论的,系统100 (以抽象模型302和具体模型306建模) 中的每一受管实体都与被配置为检测与这些受管实体相关联的事件308,并发放包括关于事件308的数据的事件记录310的规范116相关联。每一事件记录 310都可以具有若干字段,包括含有关于所报告的事件的数据的事件字段312, 如事件的本质和事件发生的或被注册的时间。事件记录310还可以包括含有对 与事件308相关联的受管实体的身份和/或类型的引用的受管实体身份字段 314。在一实现中,该引用是称为受管实体标识符(MEI)的固定的模式化标 识符。在一示例性实现中,MEJ包括受管实体的身份。在另一示例性实现中, MEI包括可被映射到来自模型的受管实体的身份的IP地址。
事件记录310还可以包括其它字段,诸如其中可以存储关于事件308的、 与事件308相关联的受管实体的、或用户或管理员感兴趣的其它信息的补充数 据的附加数据字段316。 一旦被规范116所发放,事件记录310则被保存在可 以包括sequel数据库的事件集合服务器318中。
事件集合服务器318可由事件相关模块320访问。在图3中,事件集相关 合模块320被示为驻留在操作管理器300中。然而,可以理解,事件相关模块 320可以整个地或部分地驻留在操作管理器300之外,或者事件相关模块320 的各部分可以在不同的时间驻留在操作管理器300中一一或在各其它计算机 上。
在一示例性实现中,事件相关模块320访问事件相关服务器318并比较其 上保存的各个事件记录310以致力于寻找具有与抽象模型302和/或具体模型 306相一致的关系的受管实体发放的事件记录310。在一示例性实现中,事件 相关模块320通过查看事件集合服务器318中的各个事件记录310的受管实体 标识符字段314来实现这一点。在找到指示具有抽象模型302和/或具体模型 306下的关系的受管实体的受管实体标识符字段314时,可以说包括受管实体 身份字段314 (及其相应的事件308)的事件记录310是相关的。此外, 一旦 定位了指示相关的事件308的事件记录310,则事件相关模块320可以向任何 用户、管理员、或事件处理所涉及的实体发放报告。除诸如受管元素的身份、 事件308发生(或被注册)的时间、以及相关的事件308自身的本质等来自相 关的事件308的事件记录310的各种信息之外,该报告可以包括警报或其它指 示符。还可以收集报告信息并将其用在供将来审査和报告的新的概述事件的记 录中。事件相关模块320可被编程为搜索事件记录310中表示的受管实体之间的 变化类型的关系。例如,事件相关模块320可被编程为只搜索直接关系。或者, 事件相关模块320可被编程为只搜索间接关系。此外,还可以使关系的分隔等 级对事件相关模块320变得重要。
另外,由于受管实体和关系被类型化,相关逻辑可以基于指定类型以 及属性匹配准则的査询来遍历受管实体和关系的实例。以此方式,可以定 位挂起相关的受管实体的相关的事件。例如,在一实现中,只有当数据库 超时事件相关联的数据库被主存在同一 RAID设备上时,该超时事件可以 与RAID存储中的磁盘块错误相关。
示例性方法
图4示出用于基于模型的事件处理的示例性方法400,并参考图1-3中示 出的系统100、模型200、操作管理器300和事件相关模块320来描述。描述 方法的次序并不旨在解释为限制,并且任何数量的所述方法框都可以按任何次 序组合以实现本方法或实现替换方法。另外,可从方法中删除各个框,而不背 离此处所述的主题的精神和范围。此外,本方法可用任何合适的硬件、软件、 固件或其组合来实现。
在框402,检索查询模型。该抽象模型包括一个或多个受管实体的类型以 及表示模型中的受管实体的组件之间的一个或多个关系的类型的抽象定义。例 如,该模型可以认识到网站运行于web服务器上。在一示例性实现中,操作管 理器300可以从模型服务器204中检索系统100的抽象模型302。
在框404,发现该抽象模型中定义的受管实体的实例和该抽象模型中定义 的受管实体之间的关系的实例以创建具体模型。例如,定义并限定模型200中 的组件202、 204、 206、 210和214之间的关系。类似地,定义并限定模型200 中的组件208、 212和214之间的关系。在一示例性实现中,通过在诸如系统 100等被建模的系统的实际运行环境中寻找受管实体的具体实例和它们之间的 各类型的关系以及它们在发现阶段期间的关系来创建具体模型。可以使用系统 的抽象模型中描述的方法来寻找具体实例和各类型的关系。
在框406,选择与受管实体相关联的事件。在一实现中,这包括通过使用 事件相关模块320收集存储在事件集合服务器318中的事件记录310。在其它
14示例性实现中,可以使用抽象模型中编码的方法来为受管实体订阅、收集、过 滤或生成事件。此外,可以在与表示抽象模型中的受管实体的各组件相关联的 信息页中寻找引导事件选择的选择准则。
事件记录310可以包括若干字段,包括含有关于所报告的事件的数据的事
件字段312、含有对与事件308相关联的受管实体的身份和/或类型的引用的受 管实体身份字段314、以及其中可以存储关于事件308的、与事件308相关联 的受管实体的、或用户或管理员感兴趣的其它信息的补充数据的附加数据字段 316。
在框408,将每一访问的事件与其对应的受管实体进行关联。在一实现中, 可以通过访问报告事件308的事件记录310中的受管实体身份字段314来定位 与所报告的事件308相关联的受管实体。受管实体身份字段314包括关于与事 件相关联的受管实体的身份的数据。
在框410,基于相关联的受管实体之间的关系使各事件相关。例如,事件 相关模块320比较表示各个事件308的各个事件记录310中的受管实体身份字 段314。在根据抽象模型302和/或具体模型306找到与相关的受管实体(如相 对应的受管实体身份字段314所报告的)的事件记录310时,事件相关模块320 则认为事件308是相关的。在一示例性实现中,通过遵循按照相关信息页中找 到的、系统的抽象模型中的抽象类和关系描述的相关方法来使事件相关。
在框412, 一旦隔离了相关的事件,则发放指示相关的事件的发现的 通信。在一实现中,事件相关模块320可以向任何用户、管理员、或事件 处理所涉及的实体发放该通信,且除来自相关的事件308的事件记录310 的各种信息之外,该通信可以包括警报或其它指示符。该信息可以包括受 管元素的身份、事件308发生(或被注册)的时间和相关的事件308自身 的本质。
示例性计算机环境
图5示出示例通用计算机环境500,其可用于实现此处所述的技术,且整 体或部分地表示此处所述的元素。计算机环境500仅是计算环境的一个示例, 而非旨在对计算机和网络体系结构的使用范围或功能提出任何限制。计算机环境500也不应被解释成对于在示例计算机环境500中所示出的任一组件或其组
合有任何依赖或要求。
计算机环境500包括计算机502形式的通用计算设备。计算机502例如可 以是台式计算机、手持式计算机、笔记本或膝上型计算机、服务器计算机、游 戏控制台等。计算机502的各组件可以包括但不限于 一个或多个处理器或处 理单元504、系统存储器506、以及将包括处理器508在内的各系统组件耦合 至系统存储器504的系统总线506。
系统总线508表示任何若干类型的总线结构中的一个或多个,包括存储器 总线或存储器控制器、外围总线、加速图形端口以及使用任何各种总线体系结 构的处理器或局部总线。作为示例,这样的体系结构可包括工业标准体系结构 (ISA)总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视 频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称 为夹层(Mezzanine)总线)。
计算机502通常包括各种计算机可读介质。这样的介质可以是能由计算机 502访问的任何可用介质,包括易失性和非易失性介质以及可移动和不可移动 介质。
系统存储器506包括诸如随机存取存储器(RAM) 510等易失性存储器形 式的计算机可读介质,和/或诸如只读存储器(ROM) 512等非易失性存储器 形式的计算机可读介质。基本输入/输出系统(BIOS) 514被存储在ROM 502 中,它包含帮助在诸如启动期间在计算机512内元件之间传递信息的基本例程。 RAM 510通常包含处理单元504可以立即访问和/或目前正在操作的数据和/或 程序模块。
计算机502还可以包括其它可移动/不可移动、易失性/非易失性的计算机 存储介质。作为示例,图5示出了对不可移动、非易失性磁性介质(未示出) 进行读写的硬盘驱动器516、对可移动、非易失性磁盘518 (例如"软盘")进 行读写的磁盘驱动器520、以及对诸如CD-ROM、 DVD-ROM或其它光学介质 等可移动、非易失性光盘522进行读写操作的光盘驱动器524。硬盘驱动器516、 磁盘驱动器518和光盘驱动器522各自通过一个或多个数据介质接口 526连接至系统总线508。另选地,硬盘驱动器516、磁盘驱动器518和光盘驱动器522 也可通过一个或多个接口 (未示出)连接至系统总线508。
盘驱动器及其相关联的计算机可读介质向计算机502提供对计算机可读 指令、数据结构、程序模块以及其它数据的非易失性存储。尽管该示例示出了 硬盘516、可移动磁盘520和可移动光盘524,可以理解可存储可由计算机访 问的数据的其他类型的计算机可读介质也可用来实现该示例性计算系统和环 境,这些介质如盒式磁带或其它磁存储设备、闪存卡、CD-ROM、数字多功能 盘(DVD)或其它光盘存储、随机存取存储器(RAM)、只读存储器(ROM)、 电可擦除可编程只读存储器(EEPROM)等等。
众多程序模块可储存在硬盘516、磁盘520、光盘524、 ROM 512和/或 RAM510中,作为示例包括操作系统527、 一个或多个应用程序528、其它程 序模块530和程序数据532。每个这样的操作系统527、 一个或多个应用程序 528、其它程序模块530以及程序数据532 (或其某种组合)可实现支持分布式 文件系统的常驻组件的全部或部分。
用户可通过诸如键盘534和定点设备536 (例如"鼠标")等输入设备向 计算机502输入命令和信息。其它输入设备538 (未具体示出)可以包括话筒、 操纵杆、游戏手柄、圆盘式卫星天线、串行接口、扫描仪等。这些和其它输入 设备通过耦合到系统总线508的输入/输出接口 540连接到处理单元504,但也 可通过其它接口和总线结构如并行端口、游戏端口或通用串行总线(USB)来 连接。
监视器542或其它类型的显示设备也经由诸如视频适配器544等接口连接 至系统总线508。除监视器542之外,其它输出外围设备可包括诸如扬声器(未 示出)和打印机546等组件,这些组件可通过输入/输出接口 540连接至计算机 502。
计算机502可以使用至一台或多台远程计'算机,如远程计算设备548的逻 辑连接在网络化环境中工作。作为示例,远程计算设备548可以是个人计算机、 便携式计算机、服务器、路由器、网络计算机、对等设备或者其它常见网络节 点等。远程计算设备548被示为可以包括在本文中关于计算机502描述的许多 或全部元件和特征的便携式计算机。计算机502和远程计算机548之间的逻辑连接被描绘为局域网(LAN)550 和通用广域网(WAN) 552。这样的联网环境在办公室、企业范围计算机网络、 内联网和因特网中是常见的。
当在LAN联网环境中实现时,计算机502通过网络接口或适配器550连 接到局域网554。当在WAN联网环境中实现时,计算机502通常包括调制解 调器556或用于在广域网552上建立通信的其它装置。调制解调器556可以是 计算机502内置或外置的,其可通过输入/输出接口 540或其它适当的机制连接 到系统总线508。可以理解,所示网络连接是示例性的,也可采用在计算机502 和548之间建立通信链接的其它手段。
在诸如对计算环境500示出的网络化环境中,相对于计算机502描绘的程 序模块或其部分可被存储在远程存储器存储设备中。作为示例,远程应用程序
558驻留在远程计算机548的存储器设备上。为说明起见,应用程序和诸如操 作系统等其他可执行程序组件在这里被示为离散的块,但可以理解,这样的程
序和组件在不同的时间驻留在计算设备502的不同存储组件中,并由计算机的 数据处理器来执行。
各种模块和技术在此可在诸如程序模块等由一个或多个计算机或其它设 备执行的计算机可执行指令的一般上下文中描述。 一般而言,程序模块包括执 行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。 通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过 某种形式的计算机可读介质传输。计算机可读介质可以是可由计算机访问的任 何可用介质。作为示例而非限制,计算机可读介质可包括"计算机存储介质" 和"通信介质"。
"计算机存储介质"包括以存储如计算机可读指令、数据结构、程序模块 或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可 移动介质。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或 其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁 带、磁带、磁盘存储或其它磁存储设备,或者任何其它可用于存储所需信息并 可由计算机访问的介质。另选地,该框架的各部分可用硬件或硬件、软件和/或固件的组合来实
现。例如,可将一个或多个专用集成电路(ASIC)或可编程逻辑器件(PLD)
设计或编程为实现该框架的一个或多个部分。 结论
虽然己经用结构特征和/或方法特定的语言描述了基于模型的事件处 理的各实施例,但是应该理解所附权利要求不必限于所述的具体特征或方 法。相反,这些具体特征和方法是作为基于模型的数据处理的示例性实现 而公开的。
权利要求
1. 一种方法,包括发现系统的具体模型,所述具体模型包括受管实体和这些受管实体之间的关系;标识与所述受管实体相关联的事件;以及如果与所述事件相关联的所述受管实体具有与所述模型相一致的关系,则确定所述事件是相关的。
2. 如权利要求l所述的方法,其特征在于,所述模型以包括XML 模式、系统定义建模语言中的至少一个的建模语言来表达。
3. 如权利要求1所述的方法,其特征在于,生成所述系统的所述模 型包括访问所述系统的预先存在的模型。
4. 如权利要求1所述的方法,其特征在于,受管实体之间的关系包 括直接关系、间接关系中的至少一个。
5. 如权利要求l所述的方法,其特征在于,所述受管实体包括域、 计算机、子网、服务器、应用程序、因特网网关、数据库、盘、服务、成 本中心、数据中心、网站、web服务、进程中的至少一个。
6. 如权利要求1所述的方法,其特征在于,标识所述事件包括生成 纪念每一事件的事件记录,所述事件记录包括对与所述事件相关联的受管 实体的引用。
7. 如权利要求1所述的方法,其特征在于,事件包括关于受管实体 的计数器和度量。
8. 如权利要求1所述的方法,其特征在于,还包括发放包括关于相 关事件的信息报告、警报中的至少一个。
9. 如权利要求1所述的方法,其特征在于,标识与所述受管实体相 关联的事件包括为每一事件生成事件记录;以及将每一事件记录存储在数据库中。
10. —种方法,包括访问系统的模型,所述模型包括受管实体和所述受管实体之间的关系;生成关于与所述受管实体相关联的事件的信息;以及将与具有所述模型定义的关系的受管实体相关联的事件标识为相关的 事件。
11. 如权利要求10所述方法,其特征在于,生成所述信息包括为每 一事件生成包括关于与所述事件相关联的受管实体的身份的信息的记录。
12. 如权利要求ll所述方法,其特征在于,所述记录是从与每一受 管实体相关联的定制规范生成的。
13. 如权利要求IO所述的方法,其特征在于,还包括在标识相关的 事件时,发放报告或警报中的至少一个。
14. 如权利要求IO所述的方法,其特征在于,访问系统的模型包括通过发现抽象模型中描述的受管实体的类型和它们之间的关系的实例来创 建所述系统的具体模型。
15. —种或多种其上存储有计算机可执行指令的计算机可读介质,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器检索系统的抽象模型,所述抽象模型包括所述系统中的受管实体的定义;发现所述抽象模型中所描述的受管实体的类型以及它们之间的关系的实例以创建具体模型;访问与所述受管实体相关联的事件;以及 使与具有关系的受管实体相关联的事件相关。
16. 如权利要求15所述的一种或多种计算机可读介质,其特征在于, 还包括在由所述一个或多个处理器执行时使得所述一个或多个处理器使用 在所述系统的所述抽象模型中描述的方法来标识所述系统的受管实体的具 体实例及它们之间的各类型的关系的计算机可执行指令。
17. 如权利要求15所述的方法,其特征在于,受管实体之间的关系 包括直接关系、间接关系中的至少一个。
18. 如权利要求15所述的一种或多种计算机可读介质,其特征在于, 还包括在由所述一个或多个处理器执行时使得所述一个或多个处理器从事 件集合服务器中检索与所述多个事件相关联的记录的计算机可执行指令。
19. 如权利要求18所述的一种或多种计算机可读介质,其特征在于, 还包括在由所述一个或多个处理器执行时使得所述一个或多个处理器通过 检查与所述事件相关联的记录中的受管实体标识符来确定事件和受管实体 之间的关联的计算机可执行指令。
20. 如权利要求15所述的一种或多种计算机可读介质,其特征在于,还包括在由所述一个或多个处理器执行时使得所述一个或多个处理器在标 识相关的事件时发放通信的计算机可执行指令。
全文摘要
描述了基于模型的事件处理。在一实施例中,系统模型包括受管实体和这些受管实体之间的关系。如果与事件相关联的受管实体具有与该模型相一致的关系,则与这些受管实体相关联的事件被标识并被确定为是相关的。
文档编号G06F17/00GK101427219SQ200780014114
公开日2009年5月6日 申请日期2007年3月8日 优先权日2006年4月21日
发明者A·J·杉格维, L·瑞兹 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1