CN110764970B - 事件监听信息处理方法、系统及计算机可读存储介质 - Google Patents
事件监听信息处理方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110764970B CN110764970B CN201911041737.7A CN201911041737A CN110764970B CN 110764970 B CN110764970 B CN 110764970B CN 201911041737 A CN201911041737 A CN 201911041737A CN 110764970 B CN110764970 B CN 110764970B
- Authority
- CN
- China
- Prior art keywords
- event
- event message
- target
- message
- transaction
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种事件监听信息处理方法、系统及计算机可读存储介质,其中,所述方法包括:所述事件管理系统接收所述API网关发送的至少一个事件消息,每个所述事件消息为所述API网关在检测到事件服务被调用时所生成的消息,所述事件消息用于指示所述事务监听系统完成所述事件消息所对应的事务处理;所述事件管理系统将目标事件消息发送给目标事务监听系统,所述目标事件消息为所述至少一个事件消息中的事件消息,所述目标事务监听系统为所述至少一个事务监听系统中支持监听所述目标事件消息的监听系统。可见,通过实施本发明,可以将每个事件消息主动发送给多个事务监听系统,减少了系统开销。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种事件监听信息处理方法、系统及计算机可读存储介质。
背景技术
目前,两个系统间进行事件交互时,一般都采用的发布和订阅模型。如图1所示为发布模型,在该模型中一个系统(生产者)向一个特定的队列发送事件消息,另一个系统(消费者)从该队列中接收事件消息。如图2所示为订阅模型,该模型中一个生产者向一个特定的队列发送事件消息,多个消费者通过协同工作,按照一定的顺序订阅该事件消息。
但是,生产者生产的消息只能被一个消费者消费一次。如果一个生产者需要将事件同时通知三个消费者,则需要生产三条事件消息,对应分别发送给每个消费者,这无疑增加了系统间的消息交互数量、增加系统开销、造成资源的浪费。
发明内容
本发明实施例公开了一种事件监听信息处理方法、系统及计算机可读存储介质,可以将每个事件消息主动发送给多个事务监听系统,减少了系统开销。
第一方面,本发明实施例提供了一种事件监听信息处理方法,应用于事件管理系统中,该事件管理系统分别与应用程序编程接口API网关和至少一个事务监听系统相互通信,该事件监听信息处理方法包括:事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于指示事务监听系统完成事件消息所对应的事务处理;事件管理系统将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
在一种实现方式中,事件管理系统将目标事件消息发送给目标事务监听系统之前包括:事件管理系统获取配置过滤条件,该配置过滤条件用于筛选目标事件消息;事件管理系统根据配置过滤条件,从至少一个事件消息中选取满足配置过滤条件的目标事件消息。
在一种实现方式中,每个事务监听系统配置有事务监听系统的监听地址及所支持监听的事件消息的事件名,事件管理系统将目标事件消息发送给目标事务监听系统包括:事件管理系统根据目标事件消息的事件名,从至少一个事务监听系统中查找出支持监听目标事件消息的目标监听系统的监听地址;事件管理系统根据目标监听系统的监听地址,将目标事件消息发送给目标监听系统。
在一种实现方式中,该事件服务方法包括:事件管理系统在检测到所述目标事件消息发送失败后,重新将目标事件消息发送给目标监听系统。
在一种实现方式中,重新将目标事件消息发送给目标监听系统包括:事件管理系统在检测到目标事件消息的发送次数小于或等于第一阈值时,按照配置的发送间隔将目标事件消息重发给目标监听系统。
第二方面,本发明实施例提供了一种事件管理系统,该事件管理系统部署在至少一个计算机设备中,该计算机设备包括:
存储器,该存储器包括计算机可读指令;
与存储器相连的处理器,该处理器用于执行所述计算机可读指令,从而使得计算机设备执行如下步骤:
接收API网关发送的至少一个事件消息,每个事件消息为所述API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成事件消息所对应的事务处理;
将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
第三方面,本发明实施例提供了一种事件监听信息处理装置,该事件监听信息处理装置包括:
接收单元:用于接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于指示事务监听系统完成事件消息所对应的事务处理;
发送单元:用于将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法。
本发明实施例中,事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理;将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。因此,可以实现将每个事件消息主动发送给多个事务监听系统,减少系统开销;并且事件消息发送失败时事件管理系统可以主动重发,提高事务处理成功率,降低系统之间的依赖性,并减少系统维护成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种发布模型示意图;
图2是本发明实施例提供的一种订阅模型示意图;
图3是本发明实施例提供的一种事件监听信息处理系统的整体架构示意图;
图4是本发明实施例提供的一种事件监听信息处理方法的流程示意图;
图5是本发明实施例提供的一种创建服务的示意图;
图6是本发明实施例提供的一种注册监听器的示意图;
图7是本发明实施例提供的一种监听器注册结果示意图;
图8是本发明实施例提供的一种事件监听信息处理方法的流程示意图;
图9是本发明实施例提供的一种消费日志查询结果示意图;
图10是本发明实施例提供的一种事件监听信息处理方法的流程示意图;
图11是本发明实施例提供的一种事件监听信息处理的场景示意图;
图12是本发明实施例提供的一种事件监听信息处理装置的结构示意图;
图13是本发明实施例提供的一种终端设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。应当理解的是,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
为解决现有技术存在的问题,本发明实施例提供了一种事件监听信息处理方法的整体架构。请参见图3,图3是本发明实施例提供的一种事件监听信息处理系统的整体架构示意图。如图3所示,该事件监听信息处理系统100中包括API网关102、事件管理系统104和至少一个事务监听系统106。该事件管理系统104分别与API网关102和至少一个事务监听系统106相互通信,事务监听系统106也可称为监听者。其中:
1.API网关102
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API网关开放给用户调用。其中,在本发明实施例中应用可具体为生产者。
2.事件管理系统104
事件管理系统104包括事件服务1041、消费服务1042和事件管理门户1043。其中,事件服务1041和消费服务1042也可称为执行服务,该执行服务表示负责事件服务的真正执行逻辑。其中,事件服务1041包括接收器和消息队列。在事件服务系统中,事件服务1041通过接收器可接收来自API网关发送的至少一个事件消息,并将该至少一个事件消息以队列的形式存储于消息队列中。
消费服务1042包括消息服务、触发器和调用器。具体地消费服务1042通过消息服务接收消息队列中的至少一个事件消息,并对该至少一个事件消息进行筛选,获得目标事件消息。然后通过触发器查找目标事件消息得到目标事务监听系统及监听地址,并通过调用器将目标事件消息发送给目标事务监听系统。
事件管理门户1043包括监听配置、消费日志和调用记录。具体地事务监听系统可通过监听配置注册监听器,消费日志用于存储和展示消费日志,调用日志用于存储和展示调用记录。
可选地,事件管理系统104还可提供存储服务108。存储服务108用于存储事件消息、消费日志、调用记录和监听器等信息。
在实际应用中,事件管理系统104可部署在终端设备上,该终端设备包括但不限于手机、平板电脑(table personal computer)、个人数字助理(personal digitalassistant,PDA)、移动上网装置(mobile internet device,MID)、可穿戴式设备(wearabledevice)、车载设备以及其他支持和网络通信的设备。
基于图3的事件监听信息处理的整体架构示意图,本发明实施例提供了一种事件监听信息处理方法。请参见图4,图4是本发明实施例提供的一种事件监听信息处理方法的流程示意图。如图4所示方法包括如下步骤S401-S402:
步骤S401:事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于指示事务监听系统完成该事件消息所对应的事务处理。
本发明API网关中部署有事件服务,该事件服务为生产者具有的服务能力,具体可为生产者的系统接口,可被用户调用。例如生产者为入职系统,则服务能力可为提供新入职员工填写个人信息的能力,事件服务可视为入职系统的系统接口。API网关在检测到系统接口被调用时,可确定API网关中的事件服务被调用。相应地API网关每次在检测到用户调用该事件服务时,可生成相应地事件消息,便于后续将该事件消息发送给相应地事务监听系统。事务监听系统根据一系列接收的事件消息,进行相应地事务处理。
该事件服务具体可由生产者在API网关创建。请参见图5,图5是本发明实施例提供的一种可能的创建事件服务的示意图。创建事件服务时可填写基本信息(服务名称、服务标识、服务描述等)、服务信息等信息。该事件服务可通过API网关开放给用户调用,用户调用事件服务时,API网关会自动产生事件消息。其中,事件消息中的信息包括但不限于事件名、事件ID(Identity document)、事件、事件生成时间、事件服务的服务ID等。举例来说,入职系统为生产者,在API网关创建支持新入职员工进行个人身份信息填写的事件服务,并通过API网关开放给用户(新入职员工)调用。新入职员工通过用户界面填写个人信息,并可通过提交按钮调用事件服务,将新入职员工的个人信息发送给API网关(入职系统接口),入职系统接口接收到消息后,会记录新入职员工的个人信息。API网关在检测到入职系统接口被调用时,利用入职系统接口记录的新入职员工的个人信息生成事件消息,该事件消息中包括事件名(如Entry_system)、事件(如员工A,身份证号码XXX等)、事件生成时间、与事件对应的事件服务的服务标识(入职系统的服务标识,如Entry_system ID)等信息。对应的事务监听系统根据事件消息可分别完成账号注册、设备采购、开通工资卡账号等事务处理。其中,账号注册对应的事务监听系统为账号系统,设备采购对应的事务监听系统为采购系统,开通工资卡账号对应的事务监听系统为费用系统。
进一步地,每个用户调用事件服务时,API网关会自动产生与用户对应的事件消息并发送给事件管理系统。调用事件服务的用户不同,事件消息的事件ID不同,但是若生产者相同,事件消息的事件名和对应的服务ID也相同;若生产者不同,事件消息的事件名和对应的服务ID也不相同。同时,事件管理系统接收API网关发送的至少一个事件消息。具体地,如图3所示,事件管理系统中的接收器接收API网关发送的至少一个事件消息,消息队列按照事件服务被调用的先后顺序,将事件消息加入消息队列。例如用户A调用事件服务1生成事件消息A,接着用户B调用事件服务1生成事件消息B,则先将事件消息A加入消息队列,再将事件消息B加入消息队列。当有新的事件消息加入消息队列时,消息队列将新的事件消息发送给消息服务。
步骤S402:事件管理系统将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
事件管理系统接收到至少一个事件消息后,可从至少一个事件消息中选取目标事件消息,进而将该目标事件消息发送给目标事务监听系统。其中,目标事件消息选取的具体实施方式并不做限定。下面以事件管理系统依据配置过滤条件选取目标事件消息为例进行阐述。
具体地如图3所示,当事件管理系统中的消息服务接收到至少一个事件消息时,则获取配置过滤条件。根据该配置过滤条件,从至少一个事件消息中选取满足所述配置过滤条件的目标事件消息。其中,配置过滤条件可以是研发人员在消息服务中预先配置的,也可以是操作人员通过用户界面进行配置。举例来说,以事务处理为账号注册为例,事件消息中携带有员工分类,则配置过滤条件为保留内部员工对应的事件消息。事件管理系统可根据每个事件消息中携带的员工分类,从至少一个事件消息中选取员工分类指示为内部员工的事件消息,确定为目标事件消息。
本发明每个事务监听系统注册有对应的监听器,以通过该监听器监听相应地事件消息。该监听器的数量并不做限定,其可为一个或多个。
具体地请参见图6,图6是本发明实施例提供的一种可能的注册监听器的示意图,用户在事务管理系统中注册监听器时,可通过同步注册该监听器支持监听的事件消息的事件名和该监听器的监听地址。每个监听器与一个事务监听系统对应。便于各个事务监听系统根据事件名获知自身支持监听的事件消息。举例来说,请参见图7是本发明实施例提供的一种可能的监听器注册结果示意图。如图7中,用户在事务监听系统输入所需查询的事件名为USER_TODO_CHANGED,事务监听系统根据事件名可查询到支持监听该事件名的监听器为监听器1和监听器2。
相应地本发明事务管理系统将目标事件消息发送给目标事务监听系统的具体实施方式如下:事务管理系统根据目标事件消息的事件名,从至少一个事务监听系统中查找支持监听该事件名的目标事务监听系统及该目标事务监听系统的监听地址。其中,该目标事件消息的事件名具体可为事务管理系统通过浏览第三方服务或者通过线下获得。
本发明实施例中,事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理;将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。因此,可以实现将每个事件消息主动发送给多个事务监听系统,减少系统开销。
请参见图8,图8是本发明实施例提供的一种事件监听信息处理方法的流程示意图,如图8所示方法包括如下步骤S801-S803:
步骤S801:事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理。
步骤S802:事件管理系统将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
关于步骤S801-步骤S802具体可参见图4所述方法,这里不再赘述。
步骤S803:事件管理系统在检测到目标事件消息发送失败后,重新将该目标事件消息发送给目标监听系统。
事件管理系统检测到目标事件消息发送失败,则可重复将该目标事件消息发送给目标监听系统。其中,目标事件消息发送失败的具体实施方式并不做限定,例如事件管理系统可通过接收到目标事务监听系统反馈的接收失败通知消息,可获知该目标事件消息发送失败。又如事件管理系统在预设时段内未接收到目标事务监听系统发送的反馈消息,该反馈消息用于通知目标事务监听系统是否接收到该目标事件消息;或者事件管理系统通过调用器调用目标监听器失败,没有获得目标事务监听系统的监听地址等。
在一种实现方式中,事件管理系统在调用记录中记录有发送次数,当检测到目标事件消息的发送次数小于或等于第一阈值时,按照配置的发送间隔将目标事件消息发送给目标监听系统。当检测到目标事件消息的发送次数大于第一阈值时,则停止重复发送目标消息至目标事务监听系统。其中,第一阈值为系统自定义的,可根据实际应用情况定义为5次或者10次等。该发送间隔具体可为系统自定义配置,例如操作人员通过用户界面进行配置等,发送间隔可根据实际应用情况配置为1秒、2秒等。
再一种实现方式中,事件管理系统检测到目标事件消息发送失败,则按照配置的发送间隔重复将该目标事件消息发送给目标监听系统,直至目标监听系统成功接收该目标事件消息。即事件管理系统接收到目标事务监听系统反馈的接收成功信息,则停止重复发送目标消息至目标事务监听系统。
再一种实现方式中,事务监听系统检测接收目标事件消息失败,可按照配置事件间隔主动请求获取目标事件消息,直到成功接收目标事件消息。
可选地,目标事务监听系统在接收到至少一个目标事件消息后,按照用户调用事件服务的先后顺序进行事务处理,即按照事件消息中事件生成时间的先后顺序。
可选地,事件消息确定为目标事件消息并查找到目标监听系统的过程可称为消费事件消息,进而事件管理系统中的事件管理门户可记录消费日志。该消费日志包括目标事件消息的具体参数(事件ID、事件消息产生时间、事件参数等)、消费时间、是否已经被正确消费和监听器等内容。进一步地,事件管理系统中的调用器调用监听器,将目标事件消息发送给目标事务监听系统过程中,调用日志可记录调用记录,该调用记录包括目标事件消息的具体参数(事件ID、事件消息产生时间、事件参数等)、调用时间、调用结果(目标事务监听系统的反馈信息,如错误码、错误信息)、发送次数、是否重复调用等信息。消费日志和调用日志可统称为监听记录,该监听记录可存储在事件管理系统的存储服务中,其存储格式不限,如以.txt、.doc、.docx、.c、.h等格式存储。可选地,事件管理系统可提供用户查询界面,用户可根据事件名查询相应事件消息的消费日志和调用记录。请参见图9,图9是本发明实施例提供的一种可能的消费日志查询结果示意图。进一步地,事件管理系统可根据调用记录,将调用记录对应的事件消息进行重新发送;或者,事务监听系统可根据调用记录,请求重新获取调用记录对应的事件消息。
本发明实施例中,事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理;将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。因此,可以实现将每个事件消息主动发送给多个事务监听系统,减少系统开销;并且事件消息发送失败时事件管理系统可以主动重发,提高事务处理成功率,降低系统之间的依赖性,并减少系统维护成本。
为更直观地了解本发明实施例,下面请参见图10示出本发明的一种可能的事件监听信息处理方法的流程示意图。如图10中所示。
步骤S1001:用户调用API网关的事件服务并进入步骤S1002。
步骤S1002:API网关自动产生事件消息并发送给事件管理系统中的接收器并进入步骤S1003。
步骤S1003:事件管理系统中的接收器接收到事件消息并进入步骤S1004。
步骤S1004:事件管理系统中的消息队列将事件消息加入事件消息队列并进入步骤S1005。
步骤S1005:事件管理系统中的消费服务通过配置过滤条件判断事件消息是否为目标事件消息。如果是,则进入步骤S1006;如果否,则忽略该目标事件消息,结束流程。
步骤S1006:事件管理系统中的触发器查找目标事件消息是否具有目标事务监听系统。如果是,则进入步骤S1008;如果否,进入步骤S1007。
步骤S1007:事件管理系统忽略该目标事件消息,事件管理系统中的事件管理门户记录消费日志,并结束流程。
步骤S1008:事件管理系统中的调用器收到目标事件消息,调用目标监听器并根据监听地址将目标事件消息发送给目标事务监听系统,进入步骤S1010。
步骤S109:事件管理系统中的调用器判断目标事务监听系统是否成功接收目标事件消息。如果是,则进入步骤S1010,如果否,则进入步骤S1011。
步骤S1010:事件管理系统中事件管理门户记录调用日志,并结束流程。
步骤S1011:事件管理系统中的调用器判断是否需要重新将目标事件消息发送给目标事务监听系统,如果是,则进入步骤S1012;如果否,则进入步骤S1010。
步骤S1012:事件管理系统中的调用器按照配置的发送间隔将目标事件消息发送给目标监听系统并进入步骤S109。
关于本发明实施例上述各种步骤流程,具体可对应参考前述图4所述方法实施例中的相关介绍,这里不再赘述。此外,关于本发明未示出或未描述的内容,同样可对应参考前述图4所述实施例中的相关介绍,这里不再赘述。
为帮助更好地理解本发明实施例,下面以入职系统为例进行详细阐述,请参见图11,图11是本发明实施例提供的一种事件监听信息处理的场景示意图。
入职系统在新员工入职后,通过创建在API网关的事件服务产生一条与新入职员工对应的事件消息,将该事件消息发送给目标监听系统,以完成相应的事务处理。如账号系统需要开启新员工的账号,采购系统需要为新员工采购机器或者计算机设备,费用系统需要开通工资卡账号。其中,入职系统为生产者;入职系统在API网关创建的事件服务,具体为入职系统接口;账号系统、采购系统、费用系统为目标事务监听系统。
假设2019年8月28日有员工A和员工B两名新入职员工,员工A于上午08:00通过用户界面填写完成个人信息,并通过点击提交按钮调用事件服务,此时API网关自动产生一条与员工A对应的事件消息A,并发送给事件管理系统中的接收器。其中,事件消息A包括以下内容,事件名:Entry_system,服务标识:Entry_system ID,事件ID:Entry_system A,姓名:员工A,性别:女,身份证号:XXX,员工分类:内部员工,生成时间:2019.08.28,08:00。员工B于上午08:01通过用户界面填写完成个人信息,并通过点击提交按钮调用事件服务,API网关自动产生一条与员工B对应的事件消息B,并发送给事件管理系统中的接收器。其中,事件消息B包括以下内容,事件名:Entry_system,服务标识:Entry_system ID,事件ID:Entry_system B,姓名:员工B,性别:男,身份证号:XXX,员工分类:外部员工,生成时间:2019.08.28,08:01。员工C于上午08:02通过用户界面填写完成个人信息,并通过点击提交按钮调用事件服务,API网关自动产生一条与员工C对应的事件消息C,并发送给事件管理系统中的接收器。其中,事件消息C包括以下内容,事件名:Entry_system,服务标识:Entry_system ID,事件ID:Entry_system C,姓名:员工C,性别:男,身份证号:XXX,员工分类:内部员工,生成时间:2019.08.28,08:02。
事件管理系统中的接收器接收到事件消息A、事件消息B、事件消息C。事件消息A、事件消息B、事件消息C的事件名和服务ID相同,事件ID不同。消息队列按照事件消息A、事件消息B、事件消息C的先后顺序,将事件消息A、事件消息B、事件消息C加入消息队列,并将事件消息A、事件消息B、事件消息C发送给事件管理系统中的消息服务。消费服务获取配置过滤条件,配置过滤条件为保留内部员工。通过配置过滤条件确定事件消息A和事件消息C为目标事件消息;通过配置过滤条件确定事件消息B为非目标事件消息,忽略事件消息B。消费服务发送事件消息A和事件消息C给事件管理系统中的触发器,触发器根据事件消息A和事件消息C的事件名查找到监听事件消息A和事件消息C对应的事务管理系统包括账号系统、采购系统、费用系统,并记录消费日志。事件管理系统中的调用器分别调用账号系统、采购系统、费用系统对应的目标监听器,从中获取监听地址,并将事件消息A和事件消息C分别发送给账号系统、采购系统、费用系统对应的监听地址。并记录发送情况,若发送成功,则结束流程,记录调用日志;若发送失败,则在发送次数小于10次时,按照配置的发送间隔将事件消息A和事件消息C重新发送给目标监听系统。若重新发送成功,或者,重发次数大于10次后,则结束流程,记录调用日志。
账号系统、采购系统、费用系统接收到事件消息A和事件消息C后,根据事件消息生成的事件先后顺序,分别进行事件消息A和事件消息C对应的事务处理。例如,账号系统根据员工A的姓名、性别等信息为员工A开启账号,采购系统根据员工A的姓名等信息为员工A采购计算机设备,费用系统根据员工A的身份证号码为员工A开通银行卡账号。
本发明实施例中,事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理;将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。因此,可以实现将每个事件消息主动发送给多个事务监听系统,减少系统开销;并且事件消息发送失败时事件管理系统可以主动重发,提高事务处理成功率,降低系统之间的依赖性,并减少系统维护成本。
请参见图12,图12是本发明实施例提供的一种事件监听信息处理装置的结构示意图,该事件监听信息处理装置具体可为部署了事件管理系统的终端设备,用于执行图4-图10任一所示方法实施例中以事件管理系统为执行主体所描述的方法步骤,事件监听信息处理装置120可以包括接收单元1201、发送单元1202。其中:
接收单元1201:用于接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于指示事务监听系统完成事件消息所对应的事务处理;
发送单元1202:用于将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
在一种实施方式中,发送单元1202在用于将目标事件消息发送给目标事务监听系统之前,具体用于:
获取配置过滤条件,该配置过滤条件用于筛选目标事件消息;
根据配置过滤条件,从至少一个事件消息中选取满足配置过滤条件的目标事件消息。
在一种实施方式中,每个事务监听系统配置有事务监听系统的监听地址及所支持监听的事件消息的事件名,发送单元1202在用于将目标事件消息发送给目标事务监听系统时,具体用于:
根据目标事件消息的事件名,从至少一个事务监听系统中查找出支持监听目标事件消息的目标监听系统的监听地址;
根据目标监听系统的监听地址,将目标事件消息发送给目标监听系统。
在一种实施方式中,事件监听信息处理装置120包括接收单元1201、发送单元1202,还可以包括重发单元1203,该重发单元1203具体用于:
在检测到所述目标事件消息发送失败后,重新将目标事件消息发送给目标监听系统。
在一种实现方式中,重发单元1203在用于重新将目标事件消息发送给目标监听系统时,具体用于:
在检测到目标事件消息的发送次数小于或等于第一阈值时,按照配置的重发间隔将目标事件消息发送给目标监听系统。
根据本发明的另一个实施例,图12所示的事件服务装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于事件监听信息处理方法的装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
本发明实施例中,事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理;将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。因此,可以实现将每个事件消息主动发送给多个事务监听系统,减少系统开销;并且事件消息发送失败时事件管理系统可以主动重发,提高事务处理成功率,降低系统之间的依赖性,并减少系统维护成本。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种事件管理系统的结构示意图。请参见图13,该事件管理系统部署在一个或多个终端设备130,每个终端设备130至少包括处理器1301、输入设备1302、输出设备1303以及计算机存储介质1304。其中,终端设备内的处理器1301、输入设备1302、输出设备1303以及计算机存储介质1304可通过总线或其他方式连接。
计算机存储介质1304可以存储在终端设备的存储器中,所述计算机存储介质1304用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1301用于执行所述计算机存储介质1304存储的程序指令。处理器1301(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器1301可以用于对事件消息进行一系列处理,包括:事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成事件消息所对应的事务处理;事件管理系统将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是终端中的记忆终端设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器1301加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1301加载并执行计算机存储介质中存放的一条或一条以上指令,以实现上述有关事件监听信息处理方法实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或一条以上指令由处理器1301加载并执行如下步骤:
接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于指示事务监听系统完成事件消息所对应的事务处理;
将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。
在一种实施方式中,在将目标事件消息发送给目标事务监听系统之前,所述一条或一条以上指令由处理器1301加载并具体执行:
获取配置过滤条件,该配置过滤条件用于筛选目标事件消息;
根据配置过滤条件,从至少一个事件消息中选取满足配置过滤条件的目标事件消息。
在一种实施方式中,每个事务监听系统配置有事务监听系统的监听地址及所支持监听的事件消息的事件名,在将目标事件消息发送给目标事务监听系统时,所述一条或一条以上指令由处理器1301加载并具体执行:
根据目标事件消息的事件名,从至少一个事务监听系统中查找出支持监听目标事件消息的目标监听系统的监听地址;
根据目标监听系统的监听地址,将目标事件消息发送给目标监听系统。
在一种实施方式中,所述一条或一条以上指令由处理器1301加载并具体执行:
在检测到所述目标事件消息发送失败后,重新将目标事件消息发送给目标监听系统。
在一种实施方式中,在重新将目标事件消息发送给目标监听系统时,所述一条或一条以上指令由处理器1301加载并具体执行:
在检测到目标事件消息的发送次数小于或等于第一阈值时,按照配置的发送间隔将目标事件消息重发给目标监听系统。
本发明实施例中,事件管理系统接收API网关发送的至少一个事件消息,每个事件消息为API网关在检测到事件服务被调用时所生成的消息,该事件消息用于事务监听系统根据事件消息,完成该事件消息所对应的事务处理;将目标事件消息发送给目标事务监听系统,该目标事件消息为至少一个事件消息中的事件消息,该目标事务监听系统为至少一个事务监听系统中支持监听目标事件消息的监听系统。因此,可以实现将每个事件消息主动发送给多个事务监听系统,减少系统开销;并且事件消息发送失败时事件管理系统可以主动重发,提高事务处理成功率,降低系统之间的依赖性,并减少系统维护成本。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (9)
1.一种事件监听信息处理方法,其特征在于,应用于事件管理系统中,所述事件管理系统分别与应用程序编程接口API网关和至少一个事务监听系统相互通信,所述方法包括:
所述事件管理系统接收所述API网关发送的至少一个事件消息,每个所述事件消息为所述API网关在检测到事件服务被调用时所生成的与调用者对应的消息,所述事件消息用于指示所述事务监听系统完成所述事件消息所对应的事务处理;
所述事件管理系统获取配置过滤条件,所述配置过滤条件包括所述事件服务的调用者信息;
所述事件管理系统根据所述配置过滤条件中的所述调用者信息,从所述至少一个事件消息中选取满足所述配置过滤条件的目标事件消息;
所述事件管理系统将目标事件消息发送给目标事务监听系统,所述目标事件消息为所述至少一个事件消息中的事件消息,所述目标事务监听系统为所述至少一个事务监听系统中支持监听所述目标事件消息的监听系统。
2.如权利要求1所述的方法,其特征在于,每个所述事务监听系统配置有所述事务监听系统的监听地址及所支持监听的事件消息的事件名,所述事件管理系统将目标事件消息发送给目标事务监听系统包括:
所述事件管理系统根据目标事件消息的事件名,从所述至少一个事务监听系统中查找出支持监听所述目标事件消息的目标事务监听系统的监听地址;
所述事件管理系统根据所述目标事务监听系统的监听地址,将所述目标事件消息发送给所述目标事务监听系统。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述事件管理系统在检测到所述目标事件消息发送失败后,重新将所述目标事件消息发送给所述目标事务监听系统。
4.如权利要求3所述的方法,所述重新将所述目标事件消息发送给所述目标事务监听系统包括:
所述事件管理系统在检测到所述目标事件消息的发送次数小于或等于第一阈值时,按照配置的发送间隔将所述目标事件消息重发给所述目标事务监听系统。
5.一种事件管理系统,其特征在于,所述事件管理系统分别与应用程序编程接口API网关和至少一个事务监听系统相互通信,所述事件管理系统部署在至少一个计算机设备中,所述计算机设备包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器相连的处理器,所述处理器用于执行所述计算机可读指令,从而使得所述计算机设备执行如下步骤:
接收所述API网关发送的至少一个事件消息,每个所述事件消息为所述API网关在检测到事件服务被调用时所生成的与调用者对应的消息,所述事件消息用于所述事务监听系统根据所述事件消息,完成所述事件消息所对应的事务处理;
所述事件管理系统获取配置过滤条件,所述配置过滤条件包括所述事件服务的调用者信息;
所述事件管理系统根据所述配置过滤条件中的所述调用者信息,从所述至少一个事件消息中选取满足所述配置过滤条件的目标事件消息;
将目标事件消息发送给目标事务监听系统,所述目标事件消息为所述至少一个事件消息中的事件消息,所述目标事务监听系统为所述至少一个事务监听系统中支持监听所述目标事件消息的监听系统。
6.如权利要求5所述的系统,其特征在于,每个所述事务监听系统配置有所述事务监听系统的监听地址及所支持监听的事件消息的事件名,所述计算机设备具体用于执行:
根据目标事件消息的事件名,从所述至少一个事务监听系统中查找出支持监听所述目标事件消息的目标事务监听系统的监听地址;
根据所述目标事务监听系统的监听地址,将所述目标事件消息发送给所述目标事务监听系统。
7.如权利要求5或6所述的系统,其特征在于,所述计算机设备还用于执行如下步骤:
在检测到所述目标事件消息发送失败后,重新将所述目标事件消息发送给所述目标事务监听系统。
8.如权利要求7所述的系统,其特征在于,所述计算机设备还用于执行如下步骤:
在检测到所述目标事件消息的发送次数小于或等于第一阈值时,按照配置的发送间隔将所述目标事件消息重发给所述目标事务监听系统。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911041737.7A CN110764970B (zh) | 2019-10-30 | 2019-10-30 | 事件监听信息处理方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911041737.7A CN110764970B (zh) | 2019-10-30 | 2019-10-30 | 事件监听信息处理方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764970A CN110764970A (zh) | 2020-02-07 |
CN110764970B true CN110764970B (zh) | 2022-02-22 |
Family
ID=69334764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911041737.7A Active CN110764970B (zh) | 2019-10-30 | 2019-10-30 | 事件监听信息处理方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764970B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001086437A1 (en) * | 2000-05-05 | 2001-11-15 | Bristol Technology, Inc. | Method and apparatus for correlation of events in a distributed multi-system computing environment |
CN106874424A (zh) * | 2017-01-25 | 2017-06-20 | 杭州淘淘搜科技有限公司 | 一种基于MongoDB和Redis的网页数据采集处理方法及系统 |
CN107391276A (zh) * | 2017-07-05 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 分布式监听方法、监听控制装置及系统 |
CN108319509A (zh) * | 2017-12-20 | 2018-07-24 | 瑞斯康达科技发展股份有限公司 | 一种事件管理方法、系统及主控设备 |
-
2019
- 2019-10-30 CN CN201911041737.7A patent/CN110764970B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001086437A1 (en) * | 2000-05-05 | 2001-11-15 | Bristol Technology, Inc. | Method and apparatus for correlation of events in a distributed multi-system computing environment |
CN106874424A (zh) * | 2017-01-25 | 2017-06-20 | 杭州淘淘搜科技有限公司 | 一种基于MongoDB和Redis的网页数据采集处理方法及系统 |
CN107391276A (zh) * | 2017-07-05 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 分布式监听方法、监听控制装置及系统 |
CN108319509A (zh) * | 2017-12-20 | 2018-07-24 | 瑞斯康达科技发展股份有限公司 | 一种事件管理方法、系统及主控设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110764970A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9961129B2 (en) | Business transaction correlation with client request monitoring data | |
CN106873961B (zh) | 通过移动浏览器唤醒app应用的方法及装置 | |
US10298469B2 (en) | Automatic asynchronous handoff identification | |
US20120221893A1 (en) | Managing test automation | |
US20150067146A1 (en) | Custom correlation of a distributed business transaction | |
CN110309005B (zh) | 一种功能调用方法、装置、终端设备及存储介质 | |
CN107370806B (zh) | Http状态码监控方法、装置、存储介质和电子设备 | |
US10257316B2 (en) | Monitoring of node.js applications | |
CN109766253B (zh) | 一种性能数据发送方法、装置、计算机设备及存储介质 | |
US11294740B2 (en) | Event to serverless function workflow instance mapping mechanism | |
US7366505B2 (en) | Apparatus and method for delivering messages to a mobile information terminal | |
CN108900627B (zh) | 一种网络请求方法、终端装置及存储介质 | |
CN111258565A (zh) | 小程序的生成方法、系统、服务器及存储介质 | |
EP2492814A1 (en) | Managing test automation | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
CN110764970B (zh) | 事件监听信息处理方法、系统及计算机可读存储介质 | |
CN101305389A (zh) | 独立消息存储和消息传输代理 | |
CN111049938B (zh) | 消息通知方法、装置、电子设备及可读存储介质 | |
CN114443343A (zh) | 一种服务接口反馈异常信息方法、装置、设备、存储介质 | |
CN112416698B (zh) | 监控系统的扩展方法及装置、存储介质及电子设备 | |
US20090276789A1 (en) | Universal client and framework | |
CN108881991B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
KR100666712B1 (ko) | 푸시 에이전트 서비스 장치 및 방법, 그리고 이를 수용한개방형 모바일 비즈니스 지원 시스템 | |
CN111552907A (zh) | 消息处理方法、装置、设备和存储介质 | |
CN112380037B (zh) | 页面间的通信方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020404 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |