一种处理事件的方法及装置制造方法及图纸

技术编号:6050153 阅读:188 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种处理事件的方法及装置,属于计算机领域。所述方法包括:当事件发生时,获取用于处理所述事件的事件处理程序;从主进程中获取处理所述事件所需要的全部上下文信息;通过所述事件处理程序利用所述获取的上下文信息处理所述事件。所述装置包括:第一获取模块、第二获取模块和处理模块。本发明专利技术在处理事件时,能够避免异常现象的产生。

Method and device for processing event

The invention discloses a method and a device for processing an event, belonging to the computer field. The method includes: when the event occurs, access for processing the event handler for the event processing; all required information from the main context in the process; through the event processing context information processing program by the acquisition of the event. The device comprises a first acquiring module, a second acquiring module and a processing module. The invention can avoid abnormal phenomena when dealing with events.

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别涉及一种处理事件的方法及装置
技术介绍
事件处理机制为当某一个组件产生一个事件,可以由其它对该事件感兴趣的组件 对该事件进行处理。目前,对事件进行处理的方法如下当某个事件发生时,获取该事件对应的事件处 理程序,并立刻利用该事件处理程序对该事件进行处理。其中,事件处理程序需要利用上下 文信息来处理事件。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题当某些事件的事件处理程序没有得到处理该事件所需要的全部上下文信息时,如 果此时立刻对该事件进行处理,会产生异常现象。
技术实现思路
为了在处理事件时,避免异常现象的产生,本专利技术提供了一种处理事件的方法及 装置。所述技术方案如下一种处理事件的方法,所述方法包括当事件发生时,获取用于处理所述事件的事件处理程序;从主进程中获取处理所述事件所需要的全部上下文信息;通过所述事件处理程序利用所述获取的上下文信息处理所述事件。所述从主进程中获取处理所述事件所需要的全部上下文信息,具体包括当接收到所述主进程发送的用于处理事件的通知时,从所述主进程中获取处理所 述事件所需要的全部上下文信息。所述从主进程中获取处理所述事件所需要的全部上下文信息,具体包括从所述主进程中获取处理所述事件所需要的上下文信息;判断所述获取的上下文信息是否为所述事件处理程序处理所述事件所需要的全 部上下文信息;如果否,则当接收到所述主进程发送的用于处理所述事件的通知时,从所述主进 程中获取处理所述事件所需要的全部上下文信息。所述从主进程中获取处理所述事件所需要的全部上下文信息,具体包括从所述主进程中获取处理所述事件所需要的上下文信息;判断所述获取的上下文信息是否为所述事件处理程序处理所述事件所需要的全 部上下文信息;如果否,则继续从所述主进程中获取处理所述事件的上下文信息,直到获取到处 理所述事件所需要的全部上下文信息时为止。所述通过所述事件处理程序利用所述获取的上下文信息处理所述事件之前,还包括缓存所述事件和所述事件处理程序。一种处理事件的装置,所述装置包括第一获取模块,用于当事件发生时,获取用于处理所述事件的事件处理程序;第二获取模块,用于从主进程中获取处理所述事件所需要的全部上下文信息;处理模块,用于通过所述事件处理程序利用所述获取的上下文信息处理所述事 件。所述第二获取模块,具体用于当接收到所述主进程发送的用于处理事件的通知 时,从所述主进程中获取处理所述事件所需要的全部上下文信息。所述第二获取模块具体包括第一获取单元,用于从所述主进程中获取处理所述事件所需要的上下文信息;第一判断单元,用于判断所述获取的上下文信息是否为所述事件处理程序处理所 述事件所需要的全部上下文信息;第二获取单元,用于如果否,则当接收到所述主进程发送的用于处理所述事件的 通知时,从所述主进程中获取处理所述事件所需要的全部上下文信息。所述第二获取模块具体包括第三获取单元,用于从所述主进程中获取处理所述事件所需要的上下文信息;第二判断单元,用于判断所述获取的上下文信息是否为所述事件处理程序处理所 述事件所需要的全部上下文信息;如果否,则继续从所述主进程中获取处理所述事件的上下文信息,直到获取到处 理所述事件所需要的全部上下文信息时为止。所述装置还包括缓存模块,用于缓存所述事件和所述事件处理程序。通过获取用于处理事件的事件处理程序,并获取处理该事件所需要的全部上下文 信息,再通过该事件处理程序利用该上下文信息处理该事件,如此,避免了异常现象的发 生。附图说明图1是本专利技术实施例1提供的一种处理事件的方法流程图;图2是本专利技术实施例2提供的一种处理事件的方法流程图;图3是本专利技术实施例3提供的一种处理事件的方法流程图;图4是本专利技术实施例4提供的一种处理事件的方法流程图;图5是本专利技术实施例5提供的一种处理事件的装置示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方 式作进一步地详细描述。实施例1如图1所示,本专利技术实施例提供了一种处理事件的方法,包括步骤101 当事件发生时,获取用于处理该事件的事件处理程序;步骤102 从主进程中获取处理该事件所需要的全部上下文信息;步骤103 通过该事件处理程序利用获取的上下文信息处理该事件。在本专利技术实施例中,通过获取用于处理事件的事件处理程序,并获取处理该事件 所需要的全部上下文信息,再通过该事件处理程序利用该上下文信息处理该事件,如此,避 免了异常现象的发生。实施例2如图2所示,本专利技术实施例提供了一种处理事件的方法,包括步骤201 当事件发生时,获取事件的事件源和相关参数;其中,当主进程在运行程序时,由于某个操作引发事件源发生某个事件,事件源为 发生事件的组件。例如,程序员进行单击某个单选按钮的操作而引发该单选按钮发生单击 事件。另外,一个事件源可以发生一个事件或多个事件。其中,当事件源发生某个事件时,并为该事件设置相关参数;事件源设置该事件的 相关参数至少包括标识、创建时间、处理时间和处理时机等;事件的标识用于唯一的标识该 事件,事件的创建时间即为发生事件的时间,事件的处理时间即为处理事件的时间,事件的 处理时机包括Immediate、D印endent、Lazy和ftOragble四种。另外,事件源还可以设置其 他的相关参数。步骤202 根据该事件的事件源,从事件源与事件处理程序的对应关系中获取事 件处理程序;具体地,以该事件的事件源为索引,从事件源与事件处理程序的对应关系中查找 出对应的所有事件处理程序。其中,程序员事先为每个事件源编写一个或多个事件处理程序,同时,程序员建立 该事件源与编写的事件处理程序之间的对应关系。编写的事件处理程序用于处理该事件源 产生的所有事件,其中,事件处理程序还规定自身所需要的上下文信息,事件处理程序先获 得自身所需要的上下文信息,再利用获得的上下文信息处理事件;而处理事件所需要的上 下文信息可以由程序员事先在程序中定义,也可以由主进程在运行程序时产生。其中,程序员在编写事件处理程序时,还在每个事件处理程序中预设条件,且程序 员分别为每个事件处理程序预设不同的条件。事件处理程序只对满足自身中的预设条件的 事件进行处理。例如,程序员为某个事件处理程序预设一个条件是处理事件的时间为Tl至 T2,即该事件处理程序只处理处理时间为Tl至T2时间内的事件。步骤203 将每个事件处理程序中的预设条件分别与其对应的该事件的相关参数 进行匹配,得到用于处理该事件的事件处理程序;具体地,针对其中一个事件处理程序,根据该事件处理程序中的预设条件,从该事 件的相关参数中选择对应的相关参数,将预设条件分别与其对应的相关参数进行匹配,如 果都匹配成功,则该事件处理程序为用于处理该事件的事件处理程序。分别按上述相同的 方法对获取的每个事件处理程序进行匹配,得到用于处理该事件的所有事件处理程序。另外,在本实施例中,在步骤201中还可以先不获取该事件的相关参数,而只获取 该事件的事件源,根据事件源,从事件源与事件处理程序的对应关系中查找出对应的所有 事件处理程序;针对其中一个事件处理程序,根据该事件处理程序中的预设条件,获取对应的该事件的相关参数,将该事件处理程序中的预设条件分别与对应的相关参数进行匹配, 如本文档来自技高网...

【技术保护点】
1.一种处理事件的方法,其特征在于,所述方法包括:当事件发生时,获取用于处理所述事件的事件处理程序;从主进程中获取处理所述事件所需要的全部上下文信息;通过所述事件处理程序利用所述获取的上下文信息处理所述事件。

【技术特征摘要】

【专利技术属性】
技术研发人员:石伟
申请(专利权)人:深圳市金蝶中间件有限公司
类型:发明
国别省市:94[中国|深圳]

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

1