CN102137060B - 一种客户端/服务器模型下的事件处理方法和装置 - Google Patents
一种客户端/服务器模型下的事件处理方法和装置 Download PDFInfo
- Publication number
- CN102137060B CN102137060B CN 201010001671 CN201010001671A CN102137060B CN 102137060 B CN102137060 B CN 102137060B CN 201010001671 CN201010001671 CN 201010001671 CN 201010001671 A CN201010001671 A CN 201010001671A CN 102137060 B CN102137060 B CN 102137060B
- Authority
- CN
- China
- Prior art keywords
- event
- business event
- business
- registered
- handling process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种客户端/服务器模型下的事件处理方法和装置。其中,所述方法包括:当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件;调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理。根据本发明实施例,可以实现了一种统一的集中式的处理模型,不需要开发人员针对客户端和服务器分别进行开发,提高了开发人员的工作效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及客户端/服务器模型下的事件处理方法和装置。
背景技术
在基于网络的三层C/S(Customer/Server,客户端/服务器)模型中,通常由前端、后端和连接件组成。其中,前端即为客户端,是一个运行在客户机上并与服务器进行信息交互的小型应用程序;后端即为服务器,在服务器上运行基于C/S模型的后台程序;连接件即为起连接作用的软件和硬件,其中的软件连接件主要包括网络协议、网络应用接口和数据库的连接接口等,而硬件连接件主要包括网卡和通信介质等。
在C/S模型下,由于客户端和服务器的上下文环境不同,因此,客户端和服务器对相同事件的处理方式也不同。例如,同样是校验数据的有效性,服务器基于参数进行校验,而客户端是直接在界面事件队列中处理。当利用固有的事件处理模型处理事件时,客户端一般都是采用界面逻辑进行处理,如Java中的AWT事件处理机制,而服务器会采用另一种框架,如Web框架中的Struts。由于客户端和服务器对相同事件的处理方式不同,导致开发人员在开发时,往往需要针对客户端和服务器中各自的事件处理模式而分别进行开发,在C/S模型中,这种繁琐的事件处理方法势必会给开发人员带来巨大的工作量,在一定程度上也降低了开发人员的工作效率。
发明内容
为了解决上述技术问题,本发明实施例提供了一种客户端/服务器模型下的事件处理方法和装置,以提高开发人员的工作效率。
本发明实施例公开公开了如下技术方案:
一种客户端/服务器模型下的事件处理方法,包括:当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件;调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理。
优选的,所述分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件包括:当预先构建一个事件队列,并将指定的业务事件的事件类型存储在所述事件队列中时,接收由业务流程触发的业务事件;根据接收的业务事件的事件类型和所述事件队列中的事件类型判断接收的业务事件是否为已注册的业务事件,如果是,从接收的业务事件中提取出已注册的业务事件。
优选的,所述调用被触发的且已注册的业务事件的业务事件处理流程包括:获取捕捉到的已注册的业务事件的事件参数;根据所述事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到所述被触发的且已注册的业务事件的业务事件处理流程,并调用查找到的业务事件处理流程。
优选的,所述事件参数包括:事件类型和触发事件的源对象。
一种客户端/服务器模型下的事件处理装置,包括:捕捉单元,用于当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件;调用单元,用于调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理。
优选的,所述捕捉单元包括:接收子单元,用于当预先构建一个事件队列,并将指定的业务事件的事件类型存储在所述事件队列中时,接收由业务流程触发的业务事件;提取子单元,用于根据接收的业务事件的事件类型和所述事件队列中的事件类型判断接收的业务事件是否为已注册的业务事件,如果是,从接收的业务事件中提取出已注册的业务事件。
优选的,所述调用单元包括:获取子单元,用于获取捕捉到的已注册的业务事件的事件参数;查找子单元,用于根据所述事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到所述被触发的且已注册的业务事件的业务事件处理流程,并调用查找的业务事件处理流程。
优选的,所述事件参数包括:事件类型和触发事件的源对象。
由上述实施例可以看出,在客户端和服务器分别建立事件处理中心,统一管理事件队列。业务事件被触发时,客户端和服务器中的事件处理中心都可以调用相应的业务事件处理流程,实现了一种统一的集中式的处理模型。不需要开发人员针对客户端和服务器分别进行开发,提高了开发人员的工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种客户端/服务器模型下的事件处理方法的一个实施例的流程图;
图2为本发明中客户端和服务器端的事件处理模型的示意图;
图3为本发明一种客户端/服务器模型下的事件处理方法的另一个实施例的流程图;
图4为本发明一种客户端/服务器模型下的事件处理装置的一个实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
实施例一
请参阅图1,其为本发明一种客户端/服务器模型下的事件处理方法的一个实施例的流程图,该方法包括以下步骤:
步骤101:当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件;
其中,所述分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件包括:当预先构建一个事件队列,并将指定的业务事件的事件类型存储在所述事件队列中时,接收由业务流程触发的业务事件;根据接收的业务事件的事件类型和所述事件队列中的事件类型判断接收的业务事件是否为已注册的业务事件,如果是,从接收的业务事件中提取出已注册的业务事件。
例如,本申请为了建立一种统一的集中式的业务事件处理模型,在客户端和服务器端分别构建一个事件队列,并将指定的业务事件的事件类型存储在该事件队列中,完成将指定的业务事件在客户端和服务器中的注册过程。同时,将这些已注册的业务事件的业务事件处理流程存储在客户端和服务器中。
如图2所示,在客户端和服务器中建立一个事件队列、一个事件处理中心和一个操作单元。在事件队列中存储有指定的业务事件的事件类型,即,在事件队列中所存储的事件类型所指示的业务事件都为在客户端和服务器中注册过的业务事件。操作单元中存储有这些指定的业务事件的业务事件处理流程。由事件处理中心接收各个业务流程触发的各个业务事件,并进一步根据接收的业务事件的事件类型和事件队列中的事件类型判断事件处理中心接收到的各个业务事件是否为已注册的业务事件,当接收的业务事件的事件类型与事件队列中的事件类型相同时,说明接收的业务事件为已注册的业务事件,否则,说明接收的业务事件不是已注册的业务事件。从接收的所有业务事件中提取出已注册的业务事件。
步骤102:调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理。
其中,所述调用被触发的且已注册的业务事件的业务事件处理流程包括:获取捕捉到的已注册的业务事件的事件参数;根据所述事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到所述被触发的且已注册的业务事件的业务事件处理流程,并调用查找到的业务事件处理流程。
例如,请继续参阅图2,当事件处理中心从接收的所有业务事件中提取出已注册的业务事件后,即,捕捉到已注册的业务事件后,建立捕捉到的已注册的业务事件的事件参数,其中,事件参数包括事件类型和触发事件的源对象。并将事件参数分发给操作单元,在操作单元中存储有已注册的业务事件的业务事件处理流程,不同的事件类型对应不同的业务事件处理流程;对于相同的事件类型,由于触发事件的源对象不同,也有可能对应不同的业务事件处理流程。在操作单元中存储的业务事件处理流程都具有事件类型标识和触发事件的源对象标识,当获得某个业务事件的事件类型和触发事件的源对象时,就可以根据事件类型和触发事件的源对象从操作单元中查找到该业务事件的业务事件处理流程。因此,当操作单元获取到事件处理中心捕捉到的已注册的业务事件的事件参数后,根据事件参数中的事件类型和触发事件的源对象即可查找到相对应的业务事件处理流程。
由上述实施例可以看出,在客户端和服务器分别建立事件处理中心,统一管理事件队列。业务事件被触发时,客户端和服务器中的事件处理中心都可以调用相应的业务事件处理流程,实现了一种统一的集中式的处理模型。不需要开发人员针对客户端和服务器分别进行开发,提高了开发人员的工作效率。
实施例二
下面以在客户端和服务器建立的事件处理中心和操作单元执行主体,详细说明客户端和服务器实现事件处理的方法。请参阅图3,其为本发明一种客户端/服务器模型下的事件处理方法的另一个实施例的流程图,包括以下步骤:
步骤301:在事件处理中心建立事件队列,将指定的业务事件注册到事件队列中;
步骤302:在操作单元中存储已注册的业务事件的业务事件处理流程;
例如,针对不同的事件类型以及触发事件的源对象,分别对应一个业务事件处理流程,当操作单元获得被业务流程触发的每个业务事件的事件类型和触发事件的源对象两个属性后,就可以获得业务事件的业务事件处理流程。在操作单元中存储的所有业务事件处理流程均为在事件处理中心中已注册的业务事件的业务事件处理流程。
步骤303:事件处理中心接收由业务流程触发的各个业务事件;
步骤304:事件处理中心根据接收的各个业务事件的事件类型和事件队列中的事件类型逐个判断接收的业务事件是否为已注册的业务事件,如果是,进入步骤305,如果否,进入步骤303;
例如,为了方面描述,假设某一个业务流程触发了5个业务事件,事件处理中心接收到这5个业务事件后,逐个判断5个业务事件的事件类型是否与事件队列中的某个事件类型相同,如果相同,说明该业务事件为已注册的业务事件,如果不相同,说明该业务事件不是已注册的业务事件,重新返回到步骤303,接收业务流程触发的新的业务事件。
步骤305:从接收的所有业务事件中提取出已注册的业务事件;
例如,在上述步骤中的5个业务事件中,如果判断其中的4个业务事件为已注册的业务事件,而另外的一个业务事件不是已注册的业务事件时,从接收的5个业务事件中只提取出已注册的4个业务事件。
步骤306:事件处理中心为提取的已注册的业务事件分别建立事件参数;
其中,事件参数至少包括:业务事件的事件类型和触发事件的源对象。另外,事件参数中还可以包括:各个业务事件的业务事件处理流程中需要处理的参数和业务事件处理流程的处理结果,其中,当事件处理中心向操作单元发送的事件参数中,上述业务事件处理流程的处理结果为空,当操作单元中的业务事件处理流程对业务事件进行处理后,并返回给事件处理中心的事件参数中,上述业务事件处理流程的处理结果为成功或者失败。
例如,事件处理中心建立的事件参数可以通过如下字段实现:
字段 | 类型 | 说明 |
事件类型 | 字符 | 事件类型的标示 |
事件处理参数 | 对象数组 | 一个事件处理的参数 |
触发事件的源对象 | 对象 | 触发事件的对象 |
事件处理结果 | 对象 | 事件处理的返回结果 |
步骤307:事件处理中心将建立的事件参数分发给各个操作单元,由操作单元根据接收的事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到被触发的且已注册的业务事件的业务事件处理流程;
步骤308:操作单元调用查找到的业务事件处理流程,由业务事件处理流程根据自身的处理逻辑对被触发的且已注册的业务事件进行处理;
步骤309:操作单元将业务事件的处理结果返回给事件处理中心。
由上述实施例可以看出,在客户端和服务器分别建立事件处理中心,统一管理事件队列。业务事件被触发时,客户端和服务器中的事件处理中心都可以调用相应的业务事件处理流程,实现了一种统一的集中式的处理模型。不需要开发人员针对客户端和服务器分别进行开发,提高了开发人员的工作效率。
实施例三
与上述一种客户端/服务器模型下的事件处理方法相对应,本发明实施例还提供了一种客户端/服务器模型下的事件处理装置。请参阅图4,其为本发明一种客户端/服务器模型下的事件处理装置的一个实施例的结构图,该装置包括捕捉单元401和调用单元402。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
捕捉单元401,用于当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件;
调用单元402,用于调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理。
其中,捕捉单元401包括:接收子单元4011和提取子单元4012,
接收子单元4011,用于当预先构建一个事件队列,并将指定的业务事件的事件类型存储在所述事件队列中时,接收由业务流程触发的业务事件;
提取子单元4012,用于根据接收的业务事件的事件类型和所述事件队列中的事件类型判断接收的业务事件是否为已注册的业务事件,如果是,从接收的业务事件中提取出已注册的业务事件。
上述调用单元402包括:获取子单元4021和查找子单元4022,
获取子单元4021,用于获取捕捉到的已注册的业务事件的事件参数;
查找子单元4022,用于根据所述事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到所述被触发的且已注册的业务事件的业务事件处理流程,并调用查找的业务事件处理流程。
其中,所述事件参数包括:事件类型和触发事件的源对象。
由上述实施例可以看出,在客户端和服务器分别建立事件处理中心,统一管理事件队列。业务事件被触发时,客户端和服务器中的事件处理中心都可以调用相应的业务事件处理流程,实现了一种统一的集中式的处理模型。不需要开发人员针对客户端和服务器分别进行开发,提高了开发人员的工作效率。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明所提供的一种客户端/服务器模型下的事件处理方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种客户端/服务器模型下的事件处理方法,其特征在于,包括:
当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件,包括:
当预先构建一个事件队列,并将指定的业务事件的事件类型存储在所述事件队列中时,接收由业务流程触发的业务事件;
根据接收的业务事件的事件类型和所述事件队列中的事件类型判断接收的业务事件是否为已注册的业务事件,如果是,从接收的业务事件中提取出已注册的业务事件;
调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理;
所述调用被触发的且已注册的业务事件的业务事件处理流程包括:
获取捕捉到的已注册的业务事件的事件参数;
根据所述事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到所述被触发的且已注册的业务事件的业务事件处理流程,并调用查找到的业务事件处理流程。
2.根据权利要求1所述的方法,其特征在于,所述事件参数包括:事件类型和触发事件的源对象。
3.一种客户端/服务器模型下的事件处理装置,其特征在于,包括:
捕捉单元,用于当分别在客户端和服务器注册业务事件并存储已注册的业务事件的业务事件处理流程后,捕捉由业务流程触发的且已注册的业务事件;所述捕捉单元包括:接收子单元,用于当预先构建一个事件队列,并将指定的业务事件的事件类型存储在所述事件队列中时,接收由业务流程触发的业务事件;
提取子单元,用于根据接收的业务事件的事件类型和所述事件队列中的事件类型判断接收的业务事件是否为已注册的业务事件,如果是,从接收的业务事件中提取出已注册的业务事件;
调用单元,用于调用所述被触发的且已注册的业务事件的业务事件处理流程,以便所述业务事件处理流程根据自身的处理逻辑对所述被触发的且已注册的业务事件进行处理;
所述调用单元包括:
获取子单元,用于获取捕捉到的已注册的业务事件的事件参数;
查找子单元,用于根据所述事件参数从存储的且已注册的业务事件的业务事件处理流程中查找到所述被触发的且已注册的业务事件的业务事件处理流程,并调用查找的业务事件处理流程。
4.根据权利要求3所述的装置,其特征在于,所述事件参数包括:事件类型和触发事件的源对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010001671 CN102137060B (zh) | 2010-01-21 | 2010-01-21 | 一种客户端/服务器模型下的事件处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010001671 CN102137060B (zh) | 2010-01-21 | 2010-01-21 | 一种客户端/服务器模型下的事件处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102137060A CN102137060A (zh) | 2011-07-27 |
CN102137060B true CN102137060B (zh) | 2013-08-21 |
Family
ID=44296718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010001671 Active CN102137060B (zh) | 2010-01-21 | 2010-01-21 | 一种客户端/服务器模型下的事件处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102137060B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064726A (zh) * | 2011-10-19 | 2013-04-24 | 腾讯科技(深圳)有限公司 | 一种实现事件服务的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261584A (zh) * | 2008-04-24 | 2008-09-10 | 北京科翰软件有限公司 | 一种基于Office文档的表现层中间件系统 |
CN101360263A (zh) * | 2007-07-31 | 2009-02-04 | 华源润通(北京)科技有限公司 | 一种移动查询系统的客户端以及前后台数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028052B2 (en) * | 2004-07-09 | 2011-09-27 | Alcatel Lucent | NMS with multi-server change requests processing |
-
2010
- 2010-01-21 CN CN 201010001671 patent/CN102137060B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360263A (zh) * | 2007-07-31 | 2009-02-04 | 华源润通(北京)科技有限公司 | 一种移动查询系统的客户端以及前后台数据处理方法 |
CN101261584A (zh) * | 2008-04-24 | 2008-09-10 | 北京科翰软件有限公司 | 一种基于Office文档的表现层中间件系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102137060A (zh) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112766907A (zh) | 业务数据的处理方法、装置和服务器 | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
CN109063027A (zh) | 一种业务处理方法和装置 | |
CN101093454A (zh) | 一种在分布式系统中执行sql脚本文件的方法和装置 | |
CN111240812A (zh) | 任务执行方法及装置 | |
EP2196906A1 (en) | Cluster-based business process management through eager displacement and on-demand recovery | |
WO2023197864A1 (zh) | 一种调用拓扑图生成方法及装置 | |
CN113268500A (zh) | 业务处理方法、装置及电子设备 | |
US8224933B2 (en) | Method and apparatus for case-based service composition | |
WO2019117767A1 (en) | Method, function manager and arrangement for handling function calls | |
CN113220403B (zh) | h5拦截Android返回事件的方法、装置及电子设备 | |
CN114356596A (zh) | 分布式系统的消息处理方法和装置 | |
US20090248186A1 (en) | Methods and Systems for Matching Configurable Manufacturing Capacity Requirements and Availability | |
CN102137060B (zh) | 一种客户端/服务器模型下的事件处理方法和装置 | |
CN116028696A (zh) | 资源信息获取方法、装置、电子设备及存储介质 | |
CN107102901A (zh) | 一种任务处理方法和装置 | |
CN113590604A (zh) | 业务数据的处理方法、装置和服务器 | |
CN107402752B (zh) | 应用的定时触发方法和装置 | |
CN114968505A (zh) | 任务处理系统、方法、装置、设备、存储介质及程序产品 | |
CN112130900A (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN113568683B (zh) | 资产数据流处理服务组件动态扩展的方法和装置 | |
CN105574020B (zh) | 一种数据库操作方法和装置 | |
US20240242139A1 (en) | Data processing | |
EP4346191A1 (en) | Data processing method, and apparatus | |
CN114219626A (zh) | 任务异常处理方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |