事件处理方法、系统、设备和存储介质技术方案

技术编号:21183904 阅读:23 留言:0更新日期:2019-05-22 14:49
本发明专利技术公开了一种事件处理方法、系统、设备和存储介质。该方法包括:设置处理模式为事件驱动方式;按照事件驱动方式处理接收到的待处理事件;确定待处理事件是否为高优先级事件,待处理事件为高优先级事件时,将事件处理模式设置为轮询方式;当事件处理模式为轮询方式时,按照轮询方式执行轮询,并处理轮询结果中包含的新的高优先级事件。根据本发明专利技术实施例提供的事件处理方法,可以提高事件处理效率,优化系统性能。

Event handling methods, systems, devices and storage media

The invention discloses an event processing method, a system, a device and a storage medium. The method includes: setting processing mode as event-driven mode; processing received pending events according to event-driven mode; determining whether the pending events are high-priority events; setting event processing mode as polling mode when the pending events are high-priority events; executing polling according to polling mode when the event processing mode is polling mode, and processing polling. New high priority events included in the results. The event processing method provided according to the embodiment of the present invention can improve the event processing efficiency and optimize the system performance.

【技术实现步骤摘要】
事件处理方法、系统、设备和存储介质
本专利技术涉及计算机领域,尤其涉及事件处理方法、系统、设备和存储介质。
技术介绍
随着互联网、物联网的普及和发展,应用系统的规模和数据量处理量日渐增大,在云计算服务和网络交互平台等大规模数据处理过程中,需要及时对事件消息进行响应和处理。目前,大多数系统应用通常大多采用事件驱动的方式进行事件处理。简单地说,事件驱动的事件处理方式可以理解为:当有事件触发时,事件驱动机制被唤醒以选择事件并处理事件,而没有事件触发时,事件驱动机制可以进入睡眠状态,从而释放中央处理器(CPU,CentralProcessingUnit)的资源。通常,事件驱动的方式下需要事件唤醒会产生额外的系统开销,当事件处理对系统性能要求较高时,事件驱动的方式往往会成为系统的瓶颈,导致事件处理效率低下。
技术实现思路
本专利技术实施例提供事件处理方法、系统、设备和存储介质,可以根据事件的优先级类型,自适应调整事件处理方式,使业务应用系统具有较高的性能,并提高了事件处理效率。根据本专利技术实施例的一方面,提供一种事件处理方法,包括:设置事件处理模式为事件驱动方式;按照事件驱动方式处理接收到的待处理事件;确定待处理事件是否为高优先级事件,当确定待处理事件为高优先级事件时,将事件处理模式设置为轮询方式;当事件处理模式为轮询方式时,按照轮询方式执行轮询,并处理轮询结果中包含的高优先级事件。根据本专利技术实施例的另一方面,提供一种事件处理方法,包括:设置事件处理模式为事件驱动方式;当满足第一条件时,将事件处理模式设置为轮询方式;当满足第二条件时,将事件处理模式设置为事件驱动方式。根据本专利技术实施例的再一方面,提供一种事件处理系统,包括:事件驱动方式设置组件,用于设置事件处理模式为事件驱动方式;事件驱动方式执行组件,用于按照事件驱动方式处理接收到的待处理事件;轮询方式执行组件,用于确定待处理事件是否为高优先级事件,当确定待处理事件为高优先级事件时,将事件处理模式设置为轮询方式;轮询方式执行组件,用于当事件处理模式为轮询方式时,按照轮询方式执行轮询,并处理轮询结果中包含的新的高优先级事件。根据本专利技术实施例的还一方面,提供一种事件处理系统,包括:事件驱动方式设置组件,用于设置事件处理模式为事件驱动方式;轮询方式设置组件,用于当满足第一条件时,将事件处理模式设置为轮询方式;该事件驱动方式设置组件还用于:当满足第二条件时,将事件处理模式设置为事件驱动方式。根据本专利技术实施例的又一方面,提供一种事件处理设备,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述的事件处理方法。根据本专利技术实施例的再另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述各方面所述的事件处理方法。根据本专利技术实施例中的事件处理方法、系统、设备和存储介质,可以结合事件驱动和轮询两种处理方式,根据事件的优先级类型调整处理策略,从而使应用事件处理的业务系统拥有较高的性能,并且在降低系统开销的同时可以兼顾事件处理的公平性,提高了事件处理效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是示出根据本专利技术示例性实施例的事件处理系统的架构示意图;图2是示出本专利技术一实施例提供的事件处理方法的流程图;图3是示出根据本专利技术一实施例的事件处理系统的结构示意图;图4是示出本专利技术另一实施例提供的事件处理方法的流程图;图5是示出根据本专利技术另一实施例的事件处理系统的结构示意图;图6是示出能够实现根据本专利技术实施例的事件处理方法的计算设备的示例性硬件架构的结构图。具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例,为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本专利技术,并不被配置为限定本专利技术。对于本领域技术人员来说,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。为了更好的理解本专利技术,下面将结合附图,详细描述根据本专利技术实施例的事件处理方法、系统、设备和存储介质,应注意,这些实施例并不是用来限制本专利技术公开的范围。在本专利技术实施例中,事件是指操作系统或应用软件系统中任意一个活动的发生,事件处理是指调用有关程序或例程,对操作系统或应用软件系统中所发生的任意一个活动进行处理。在本专利技术实施例中,事件驱动方式也可以称作消息通知方式,是一种被动响应并处理事件的方式。简单来说,就是如果没有事件发生,应用程序将处于等待状态,不会执行事件处理,一旦事件发生,将根据不同的事件做出相应的处理。作为事件驱动处理方式的一个示例,利用网络库(SocketsLibrary),例如开源的面向对象的程序设计语言C/C++网络库(C/C++SocketsLibrary),开发的基于网络的大规模应用系统中,网络库对数据包的处理大多是可以采用事件驱动的事件处理模式。通过大量的实践经验表明,采用事件驱动的方式可以节约系统资源。但是,事件响应延时较高,通常会有5~15μs的系统开销用于例如事件唤醒和消息通知,从而影响了系统的吞吐率。在本专利技术实施例中,轮询是可以主动检查事件是否产生,并对事件进行处理的方式。作为轮询方式的一个示例,CPU以一定的周期按次序查询每一个外设,看它是否有数据输入或输出的要求,若有,则进行相应的输入/输出服务;若无,或输入/输出处理完毕,CPU接着查询下一个外设。在该示例中,轮询方式使CPU通过执行指令主动对外部设备进行查询,可以更及时地检查到事件并进行处理。相比事件驱动的方式,轮询方式对事件响应延时较低。但是轮询方式具有很大的弊端在于:当系统空闲时,轮询过程会做许多主动的检查,不是每次检查都会有事件需要处理,这样会造成系统资源的浪费。基于此,本专利技术实施例提供一种事件处理方法、系统、设备和存储介质,并可以广泛应用于云计算基础架构平台等业务应用系统中以进行事件处理。图1是示出根据本专利技术实施例的事件处理系统的架构示意图。如图1所示,事件处理系统100可以包括:信号接收组件110、优先级确定组件120、事件驱动方式设置组件130、事件驱动方式执行组件140、轮询方式设置组件150和轮询方式执行组件160。在一些实施例中,事件处理系统100可以和指定的数据存储组件耦合,数据本文档来自技高网...

【技术保护点】
1.一种事件处理方法,包括:设置事件处理模式为事件驱动方式;按照所述事件驱动方式处理接收到的待处理事件;确定所述待处理事件是否为高优先级事件,当确定所述待处理事件为高优先级事件时,将所述事件处理模式设置为轮询方式;当所述事件处理模式为轮询方式时,按照所述轮询方式执行轮询,并处理轮询结果中包含的新的待处理事件。

【技术特征摘要】
1.一种事件处理方法,包括:设置事件处理模式为事件驱动方式;按照所述事件驱动方式处理接收到的待处理事件;确定所述待处理事件是否为高优先级事件,当确定所述待处理事件为高优先级事件时,将所述事件处理模式设置为轮询方式;当所述事件处理模式为轮询方式时,按照所述轮询方式执行轮询,并处理轮询结果中包含的新的待处理事件。2.根据权利要求1所述的事件处理方法,还包括:当确定所述待处理时间为非高优先级事件时,继续按照所述事件驱动方式处理接收到的待处理事件。3.根据权利要求1所述的事件处理方法,所述当所述事件处理模式为轮询方式时,按照所述轮询方式执行轮询,包括:当所述事件处理模式为轮询方式,且未达到预设的轮询执行限制条件时,按照所述轮询方式执行轮询。4.根据权利要求1所述的事件处理方法,还包括:当所述事件处理模式为所述轮询方式,在达到预设的轮询执行限制条件时,重新设置所述事件处理模式为事件驱动方式。5.根据权利要求1所述的事件处理方法,所述确定所述待处理事件是否为高优先级事件,包括:接收事件信号,根据所述事件信号确定待处理事件;根据预设的事件处理业务逻辑和/或优先级调整策略,对所述待处理事件进行分析,得到所述待处理事件的优先级数值;所述优先级数值大于等于所述优先级判定阈值时,确定所述待处理事件的优先级类型为高优先级事件;所述优先级数值小于优先级判定阈值时,确定所述待处理事件的优先级类型为非高优先级事件。6.根据权利要求1或4所述的事件处理方法,其中,所述轮询执行限制条件包括轮询总次数或轮询总时间。7.根据权利要求6所述的事件处理方法,其中,按照所述轮询方式执行轮询时,不同的高优先级事件,所述轮询总次数或所述轮询总时间不相同。8.一种事件处理方法,包括:设置事件处理模式为事件驱动方式;当满足第一条件时,将所述事件处理模式设置为轮询方式;当满足第二条件时,将所述事件处理模式设置为所述事件驱动方式。9.根据权利要求8所述的事件处理方法,其中,所述当满足第一条件时,将所述事件处理模式设置为轮询方式,包括:确定所述待处理事件是否为高优先级事件;当确定所述待处理事件为高优先级事件时,将所述事件处理模式设置为轮询方式。10.根据权利要求9所述的事件处理方法,所述确定所述待处理事件是否为高优先级事件,包括:接收事件信号,根据所述事件信号确定待处理事件;根据预设的事件处理业务逻辑或事件处理策略,对所述待处理事件进行分析,得到所述待处理事件的优先级数值;所述优先级数值大于等于所述优先级判定阈值时,确定所述待处理事件的优先级类型为高优先级事件;所述优先级数值小于优先级判定阈值时,确定所述待处理事件的优先级类型为非高优先级事件。11.根据权利要求9所述的事件处理方法,还包括:当所述事件处理模式为轮询方式时,按照所述轮询方式执行轮询;处理轮询结果中包含的新的待处理事件。12.根据权利要求11所述的事件处理方法,所述当所述事件处理模式为轮询方式时,按照所述轮询方式执行轮询,包括:当所述事件处理模式为轮询方式,且未达到预设的轮询执行限制条件时,按照所述轮询方式执行轮询。13.根据权利要求9所述的事件处理方法,其中,所述事件处理方法还包括:当确定所述待处理事件为非高优先级事件时,按照所述事件驱动方式处理接收到的待处理事件。14.根据权利要求8所述的事件处理方法,所述当满足第二条件时,将所述事件处理模式设置为所述事件驱动方式,包括:当事件处理模式为轮询方式,并且达到预设的轮询执行限制条件时,将所述事件处理模式设置为所述事件驱动方式。15.根据权利要求11或14所述的事件处理方法,其中,所述轮询执行限制条件包括轮询总次数或轮询总时间。16.根据权利要求8所述的事件处理方法,其中,所述事件处理模式为轮询方式时,不同的高优先级事件,所述轮询总次数或轮询总时间不相同。17.一种事件处理系统,包括:事件驱动方式设置组件,用于设置事件处理模式为事件驱动方式;事件驱动方式执行组件,用于按照所述事件驱动方式处理接收到的待处理事件;轮询方式设置组件,用于确定所述待处理事件是否为高优先级事件,当确定所述待处理事件为高优先级事件时,将所述事件处理模式设置为轮询方式;轮询方式执行组件,用于当所述事件处理模式为轮询方式时,按照所述轮询方式执行轮询...

【专利技术属性】
技术研发人员:邢勇石超
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1