一种云计算环境下事件处理方法及装置与流程

文档序号:12491713阅读:329来源:国知局
一种云计算环境下事件处理方法及装置与流程

本发明涉及云计算技术领域,特别是涉及一种云计算环境下事件处理方法及装置。



背景技术:

随着云计算技术的快速发展,云计算环境中包含的资源对象越来越多。不同于传统数据中心中以小型机、服务器、数据库、各种应用等资源对象为主,在云计算环境中,采用云计算服务模式构建了IT基础架构,增加了多种新型资源对象,如云服务器、虚拟机、虚拟化存储、虚拟网络、各种类型的云中间件、云服务、云应用等。

在这种情况下,云计算环境下的IT基础架构的复杂度呈爆发性增长,系统运维管理工作越来越复杂。例如,当一个物理网卡发生故障事件时,和这个物理网卡关联的多个虚拟机交换机、和虚拟机交换机关联的多个虚拟机及虚拟机之上的属于多个用户的业务应用都将受到影响。但目前没有一种有效处理各类事件的方法,需要耗费较多时间排查问题,处理相关事件,事件处理效率和准确率较低。



技术实现要素:

本发明的目的是提供一种云计算环境下事件处理方法及装置,以有效处理云计算环境下的各类事件,提高事件处理效率和准确率。

为解决上述技术问题,本发明提供如下技术方案:

一种云计算环境下事件处理方法,包括:

在对云计算环境中包含的目标资源对象的使用和管理过程中,如果所述目标资源对象需要消耗其他资源对象所产生的事件,则根据预设的匹配规则,确定所述目标资源对象的待消耗事件;

确定事件队列中是否存在所述待消耗事件;

如果是,则提取并消耗所述待消耗事件。

在本发明的一种具体实施方式中,所述事件队列中包含多个事件,每个事件为:在对所述云计算环境中包含的各资源对象进行监控的过程中,获得针对任意一个资源对象的消息后生成的事件。

在本发明的一种具体实施方式中,在所述提取并消耗所述待消耗事件之后,还包括:

在所述事件队列中注销所述待消耗事件。

在本发明的一种具体实施方式中,所述待消耗事件仅为单一事件,所述确定事件队列中是否存在所述待消耗事件,包括:

如果所述事件队列中存在所述单一事件,则确定所述事件队列中存在所述待消耗事件。

在本发明的一种具体实施方式中,所述待消耗事件由一个或多个单一事件通过设定的构成条件构成,所述确定事件队列中是否存在所述待消耗事件,包括:

确定所述事件队列中是否存在满足所述构成条件的单一事件;

如果是,则确定所述事件队列中存在所述待消耗事件。

一种云计算环境下事件处理装置,包括:

事件确定模块,用于在对云计算环境中包含的目标资源对象的使用和管理过程中,如果所述目标资源对象需要消耗其他资源对象所产生的事件,则根据预设的匹配规则,确定所述目标资源对象的待消耗事件;

判断模块,用于确定事件队列中是否存在所述待消耗事件,如果是,则触发事件消耗模块;

所述事件消耗模块,用于提取并消耗所述待消耗事件。

在本发明的一种具体实施方式中,所述事件队列中包含多个事件,每个事件为:在对所述云计算环境中包含的各资源对象进行监控的过程中,获得针对任意一个资源对象的消息后生成的事件。

在本发明的一种具体实施方式中,还包括事件注销模块,用于:

在所述提取并消耗所述待消耗事件之后,在所述事件队列中注销所述待消耗事件。

在本发明的一种具体实施方式中,所述待消耗事件仅为单一事件,所述判断模块,具体用于:

如果所述事件队列中存在所述单一事件,则确定所述事件队列中存在所述待消耗事件。

在本发明的一种具体实施方式中,所述待消耗事件由一个或多个单一事件通过设定的构成条件构成,所述判断模块,具体用于:

确定所述事件队列中是否存在满足所述构成条件的单一事件;

如果是,则确定所述事件队列中存在所述待消耗事件。

应用本发明实施例所提供的技术方案,在对云计算环境中包含的目标资源对象的使用和管理过程中,如果目标资源对象需要消耗其他资源对象所产生的事件,则可以根据预设的匹配规则,确定目标资源对象的待消耗事件,如果确定事件队列中存在该待消耗事件,则可以提取并消耗该待消耗事件,可以有效处理云计算环境下的各类事件,提高事件处理效率和准确率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种云计算环境下事件处理方法的实施流程图;

图2为本发明实施例中一种云计算环境下事件处理装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示,为本发明实施例所提供的一种云计算环境下事件处理方法的实施流程图,该方法可以包括以下步骤:

S110:在对云计算环境中包含的目标资源对象的使用和管理过程中,如果目标资源对象需要消耗其他资源对象所产生的事件,则根据预设的匹配规则,确定目标资源对象的待消耗事件。

云计算环境中可以包含多种资源对象,如云服务器、虚拟机、虚拟化存储、虚拟网络、各种类型的云中间件、云服务、云应用等,这些资源对象的正常运行是云计算环境整个系统正常运行的重要保障。

某个资源对象的运行可能会依赖于其他资源对象当前状态,资源对象之间具有一定的依赖关系。

在本发明实施例中,可以预先对云计算环境整个系统中所有事件进行定义,如虚拟磁盘建立完成事件、虚拟机建立完成事件、物理网卡故障事件等。

在对云计算环境中包含的各资源对象进行监控的过程中,业务构件或者WebService可以产生针对资源对象的消息,获得针对任意一个资源对象的消息后,可以根据该消息和预先设定的事件定义,生成该资源对象的事件,并将该事件加入到事件队列中。在事件中可以包含事件内容、事件发生时间点、事件对应的资源对象等信息。

一个资源对象要产生的事件可能需要消耗其他资源对象所产生的事件,即在其他资源对象产生的事件基础上,该资源对象才能发生相应事件。比如,新建虚拟机的事件,需要在新建虚拟磁盘这个事件完成之后才可以进行,新建虚拟磁盘事件为新建虚拟机事件的待消耗事件。在本发明实施例中,可以预先定义匹配规则,确定事件之间的依赖关系,资源生产者和消费者之间的事件关系可以采用事件的发布和订阅方式实现关联,使用事件的发布与订阅机制允许资源对象之间的业务流程可以异步执行。在系统配置阶段发布产生的事件信息和订阅需求的事件信息。

在对云计算环境中包含的目标资源对象的使用和管理过程中,如果目标资源对象需要消耗其他资源对象所产生的事件,则可以根据预设的匹配规则确定目标资源对象的待消耗事件。

S120:确定事件队列中是否存在待消耗事件。

在本发明实施例中,事件队列中包含多个事件,每个事件为:在对云计算环境中包含的各资源对象进行监控的过程中,获得针对任意一个资源对象的消息后生成的事件。

在本发明的一种具体实施方式中,待消耗事件仅为单一事件,步骤S120可以包括以下步骤:

如果事件队列中存在单一事件,则确定事件队列中存在待消耗事件。

如果待消耗事件仅为单一事件,则在事件队列中查找是否存在该单一事件,如果是,则可以确定事件队列中存在该待消耗事件,如果否,则可以不做任何处理,或者在设定时长后再次查看事件队列。

在本发明的一种具体实施方式中,待消耗事件由一个或多个单一事件通过设定的构成条件构成,步骤S120可以包括以下步骤:

步骤一:确定事件队列中是否存在满足构成条件的单一事件,如果是,则执行步骤二的操作;

步骤二:确定事件队列中存在待消耗事件。

为便于描述,将上述两个步骤结合起来进行说明。

待消耗事件可以是由一个或多个单一事件构成的复杂事件,并具有设定的构成条件。如果事件队列中存在满足待消耗事件构成条件的单一事件,则可以确定事件队列中存在待消耗事件,否则,可以确定事件队列中不存在待消耗事件,可以等待设定时长后再次确认。

具体的,待消耗事件可以由多个单一事件通过或运算(OR)构成,只要事件队列中存在任意一个该待消耗事件包含的单一事件,就可以确定事件队列中存在该待消耗事件。比如,待消耗事件E由E1和E2通过或运算构成,则只要事件队列中存在E1或者E2,就可以确定事件队列中存在该待消耗事件E。

待消耗事件可以由多个单一事件通过与运算(AND)构成,如果事件队列中同时存在该待消耗事件包含的单一事件,则可以确定事件队列中存在该待消耗事件。比如,待消耗事件E由E1和E2通过与运算构成,则只有事件队列中同时存在E1和E2,才可确定事件队列中存在该待消耗事件E。

待消耗事件可以由多个单一事件通过顺序运算(SEQ)构成,如果事件队列中存在该待消耗事件包含的所有单一事件,且这些单一事件的发生满足先后约束条件,则可以确定事件队列中存在该待消耗事件。

待消耗事件可以由单一事件通过非运算(NOT)构成,如果事件队列中不存在在某时间点发生的该单一事件,则可以确定事件队列中存在该待消耗事件。

待消耗事件可以由多个单一事件通过ANY运算构成,如果事件队列中存在该待消耗事件包含的单一事件中设定数量的单一事件发生,则可以确定事件队列中存在该待消耗事件。

待消耗事件可以由一个或多个单一事件通过重复运算(REP)构成,如果事件队列中存在该待消耗事件包含的单一事件发生的次数达到设定值,则可以确定事件队列中存在该待消耗事件。

当然,在实际应用中,待消耗事件还可以有其他定义方式,本发明实施例对此不做限制。

步骤S130:提取并消耗待消耗事件。

在步骤S120确定事件队列中存在待消耗事件后,可以在事件列表中提取待消耗事件,并消耗该待消耗事件。

在消耗该待消耗事件之后,还可以在事件队列中注销该待消耗事件。实现业务流程之间的异步执行。

通过对云计算环境下事件的处理,容易获得云计算环境下资源异常事件,通过分析异常事件的发生位置和类型等,可以发出相应的告警信息,为云计算平台运维支撑提供有效手段。

应用本发明实施例所提供的方法,在对云计算环境中包含的目标资源对象的使用和管理过程中,如果目标资源对象需要消耗其他资源对象所产生的事件,则可以根据预设的匹配规则,确定目标资源对象的待消耗事件,如果确定事件队列中存在该待消耗事件,则可以提取并消耗该待消耗事件,可以有效处理云计算环境下的各类事件,提高事件处理效率和准确率。

相应于上面的方法实施例,本发明实施例还提供了一种云计算环境下事件处理装置,下文描述的一种云计算环境下事件处理装置与上文描述的一种云计算环境下事件处理方法可相互对应参照。

参见图2所示,该装置包括以下模块:

事件确定模块210,用于在对云计算环境中包含的目标资源对象的使用和管理过程中,如果目标资源对象需要消耗其他资源对象所产生的事件,则根据预设的匹配规则,确定目标资源对象的待消耗事件;

判断模块220,用于确定事件队列中是否存在待消耗事件,如果是,则触发事件消耗模块230;

事件消耗模块230,用于提取并消耗待消耗事件。

应用本发明实施例所提供的装置,在对云计算环境中包含的目标资源对象的使用和管理过程中,如果目标资源对象需要消耗其他资源对象所产生的事件,则可以根据预设的匹配规则,确定目标资源对象的待消耗事件,如果确定事件队列中存在该待消耗事件,则可以提取并消耗该待消耗事件,可以有效处理云计算环境下的各类事件,提高事件处理效率和准确率。

在本发明的一种具体实施方式中,事件队列中包含多个事件,每个事件为:在对云计算环境中包含的各资源对象进行监控的过程中,获得针对任意一个资源对象的消息后生成的事件。

在本发明的一种具体实施方式中,还包括事件注销模块,用于:

在提取并消耗待消耗事件之后,在事件队列中注销待消耗事件。

在本发明的一种具体实施方式中,待消耗事件仅为单一事件,判断模块220,具体用于:

如果事件队列中存在单一事件,则确定事件队列中存在待消耗事件。

在本发明的一种具体实施方式中,待消耗事件由一个或多个单一事件通过设定的构成条件构成,判断模块220,具体用于:

确定事件队列中是否存在满足构成条件的单一事件;

如果是,则确定事件队列中存在待消耗事件。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1