一种事件统一处理方法、设备和存储介质与流程

文档序号:16735598发布日期:2019-01-28 12:36阅读:154来源:国知局
一种事件统一处理方法、设备和存储介质与流程

本发明涉及数据处理,更为具体而言,涉及一种事件处理方法、设备和存储介质。



背景技术:

在传统银行业务系统中,涉及到大量的给用户发送通知的场景,通知的类型多种多样,通知的内容千变万化,由每个系统去实现实时联机发送通知,需要每个系统去单独开发通知发送功能,导致此功能和系统的核心业务逻辑耦合度较高,实时发送时如果发送模块异常会严重影响系统的吞吐量,造成系统响应时间过长。现有it系统设计中,短信发送、消息通知等都是单独设计,单独处理,导致系统间大量重复开发、系统耦合度高,进而导致系统的吞吐量下降,系统响应速度降低,用户体验差。



技术实现要素:

本申请提供一种事件统一处理方法,通过从分布式消息中间件获取与事件相关的各个主题的消息,并且经过统一的匹配和事件处理框架分配到外部处理组件进行处理,与核心业务系统的业务逻辑进行剥离,可以整合事件处理操作,使得事件处理和主体业务逻辑分离,降低应用组件间的耦合度,便于敏捷开发,提升系统运行可靠程度和可用性水平,减少组件变动对其他组件的影响,减少回归测试工作量;消息获取以及外部组件对消息的异步处理,能够提供数据缓冲能力,流量削峰,避免短时间内流量高峰。

第一方面,本发明实施方式提供一种事件统一处理方法,包括:从分布式消息中间件获取订阅的多个预定主题的json格式的消息,将所述json格式的消息转换为map对象格式;调用规则引擎对所述map对象格式的消息按照预定的匹配规则进行匹配;响应于匹配成功,根据所述匹配规则匹配出的动作action行,确定外呼交易码,根据所述外呼交易码组装外呼报文以便调用外呼组件执行外呼操作。

在本发明的一些实施方式中,所述调用规则引擎对所述map对象格式的消息按照预定的匹配规则进行匹配包括:将所述map对象格式的消息封装为msgreqentity对象格式;按照预定校验规则对所述封装为msgreqentity对象格式的消息进行校验;调用规则引擎对所述校验成功的msgreqentity对象格式的消息按照预定的匹配规则进行匹配。

在本发明的一些实施方式中,所述调用规则引擎对所述校验成功的msgreqentity对象格式的消息按照预定的匹配规则进行匹配包括:遍历所述预定的匹配规则,根据规则组id和规则id查询规则动作映射表,以便获取动作action行。

在本发明的一些实施方式中,所述方法还包括:获取动作action行,封装msgactentity对象,根据所述动作action行处理bean名称获取处理器实例,通过调用所述处理器实例process方法,传入所述msgactentity对象,对消息进行处理。

在本发明的一些实施方式中,所述方法还包括:获取批量短信文件,调用所述规则引擎对所述批量短信文件中的每个短信记录进行短信规则匹配,循环处理匹配规则集,查询匹配规则对应的action行集合,循环处理动作action行集合,解析动作action行参数以便确定短信模板。

在本发明的一些实施方式中,所述方法还包括:确定短信模板,执行短信模板实例化,生成短信内容,调用统一通讯组件统一发送短信内容。

在本发明的一些实施方式中,所述短信模板包括下述的多项或全部:约定还款扣款结果短信提醒、利率市场化短信提醒、账务结清短信提醒、公务卡还款交易提醒批量短信、公务卡还款到期前提醒批量短信、个人卡非约定账户还款到期后提醒批量短信、卡片激活提醒批量短信、银信app卡片激活提醒批量短信、个人卡非约定账户还款到期前提醒批量短信、约定还款到期还款短信提醒、利率市场化预提醒短信、临额到期短信提醒批量短信、不活动账户短信提醒批量短信、风险预警停卡调额短信提醒批量短信。

在本发明的一些实施方式中,所述统一通讯接口和所述外呼组件为不同的组件,采用异步方式对匹配后的事件进行相应的处理。

第二方面,本发明实施方式提供一种计算机设备,包括存储器和处理器,其中,存储器,存储有计算机指令;处理器,配置为运行所述计算机指令以使所述计算机设备执行第一方面所述的方法。

第三方面,本发明实施方式提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第一方面所述的方法。

本发明实施方式提供的事件统一处理方法至少具有下述有益效果:

通过从分布式消息中间件获取与事件相关的各个主题的消息,可以提供数据在各个子系统中高性能,低延迟的不停流转,同时降低不同应用组件之间的耦合程度;

经过统一的匹配规则和事件框架进行处理,与核心业务系统的业务逻辑进行剥离,可以整合事件处理操作,使得事件处理和主体业务逻辑分离,降低应用组件间的耦合度,便于敏捷开发,提升系统运行可靠程度和可用性水平,减少组件变动对其他组件的影响,减少回归测试工作量;

通过外呼组件和统一通讯接口对不同的事件进行异步处理,减少短时间的流量高峰,而且可以提高系统响应速度,增加系统吞吐量;

从功能设计角度而言,通过将主体业务逻辑和事件处理分离,能够更好的按照功能设计应用模板,实现系统功能间的解耦。

附图说明

图1示出了根据本发明实施方式的事件统一处理方法的流程示意图。

图2示出了根据本发明实施方式的事件统一处理的框架示意图。

图3示出了根据本发明实施方式的消息匹配和处理流程示意图。

图4示出了根据本发明实施方式的计算机设备的结构示意图。

具体实施方式

以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。

参见图1,图1示出了根据本发明实施方式的事件统一处理方法的流程示意图,该方法包括:步骤s101、步骤s102和步骤s103,上述方法可以统一事件服务的形式部署,下面结合具体的实施例对上述步骤进行说明,。

步骤s101,从分布式消息中间件获取订阅的多个预定主题的json格式的消息,将所述所述json格式的消息转换为map对象格式。

在本发明的一些实施例中,分布式消息中间件可以部署与统一事件服务配合的、产生各种不同类型通知消息的各个子系统中可以提供数据在各个子系统中高性能,低延迟的不停流转。通过使用分布式消息可以降低系统组网复杂度,降低编程复杂度。

在本发明的一些实施例中,采用如图2所示的框架示意图。系统200包括消息中心201,消息中心201包括主题topic202、主题203和主题204,消息订阅205可以从消息中心201订阅不同主题的消息,通过回调函数进行业务逻辑处理。从消息中心订阅的消息为json格式,在获取到订阅消息后,将json格式消息对象转换为map对象。

步骤102,调用规则引擎对所述map对象格式的消息按照预定的匹配规则进行匹配。

在本发明的一些实施例中,调用规则引擎对所述map对象格式的消息按照预定的匹配规则进行匹配包括:对消息的预处理,具体而言,可包括:将所述map对象格式的消息封装为msgreqentity对象格式;按照预定校验规则对所述封装为msgregentity对象格式的消息进行校验;调用规则引擎对所述校验成功的msgregentity对象格式的消息按照预定的匹配规则进行匹配。在一些实施例中,在将map对象格式的消息封装为msgreqentity对象格式之前,还可包括:判断json消息转为map对象是否异常,如果转换异常,则计入统一事件消息表,并且将校验结果置为标识校验不成功的值,例如,0;如果转换无异常,则将map对象格式的消息封装为msgreqentity对象格式。除了上述校验之外,还对封装的msgregentity对象格式的消息进行校验,如果校验成功,在调用规则引擎按照预定的匹配规则进行匹配,如果检验不成功,则将本次校验不成功的时间计入统一事件消息表,并且将校验结果置为标识校验不成功的值,例如,0。

调用规则规则对校验成功的msgreqentity对象格式的消息按照预定的匹配规则进行匹配包括:遍历所述预定的匹配规则,根据规则组id和规则id查询规则动作映射表,以便获取动作action行。接着,获取动作action行,封装msgactentity对象,根据所述动作action行处理bean名称获取处理器实例,通过调用所述处理器实例process方法,传入所述msgactentity对象,对消息进行处理。

步骤s103,响应于匹配成功,根据所述匹配规则匹配出的动作action行,确定外呼交易码,根据所述外呼交易码组装外呼报文以便调用外呼组件执行外呼操作。

在本发明的实施例中,根据规则引擎的匹配结果,进行具体的事件处理。具体而言,可包括:根据匹配规则匹配出的动作行,确定外呼的交易码,根据该外呼交易码可确定外呼报文的格式等信息,根据外呼交易码的信息组装外呼报文,将外呼报文发送到外呼组件,由外呼组件执行对应的外呼操作。外呼组件可以为多个,如图2所示,外呼组件为两个,例如外呼组件a和外呼组件b。不同的外呼组件,分别执行不同的通知操作,而且可以异步处理,因此可以提高设备的利用率,提高事件总体的处理效率。

如图2所示,规则引擎206对消息订阅205订阅的消息进行规则匹配。规则引擎206进行匹配后,交由事件处理207进行处理,事件处理207调用外呼组件a211或外呼组件b212进行具体的外部处理,由于涉及到外部组件的处理,可能存在处理不成功的情况,设置失败重发机制进行处理。自动任务208在外部组件处理失败的情况下,设置自动重发任务,并将自动重发任务的执行结果反馈给事件处理207,同时设置数据库db209记录自动任务的执行情况,并且存储日志处理210的相关日志数据。通过上述设置,能够保证统一事件处理服务的可用性,而且能够记录任务执行情况,方便用户查看服务的运行情况。

在一种具体的实施例中,订阅消息的匹配和处理可以如图3所示。

步骤s301,匹配规则组遍历;

步骤s302,判断规则组遍历是否结束,若未结束,则继续步骤s303,若结束,则结束流程;

步骤s303,匹配规则遍历;

步骤s304,判断匹配规则遍历是否结束,若未结束,则继续步骤s305,若结束,则结束流程;

步骤s305,根据组id和规则id查询规则动作映射表,获取action相关信息;

步骤s306,封装msgactentity对象;

步骤s307,根据action处理bean名称获取处理器实例;

步骤s308,调用处理器实例process方法,传入msgactentity对象,对消息进行处理;

步骤s309,判断消息是否处理成功,若成功,则执行步骤s310,若不成功,则执行步骤s311;

步骤s310,记录消息处理流水表,更新状态为成功;

步骤s311,创建自动任务处理失败消息;

步骤s312,判断自动任务是否处理成功,若成功,则执行步骤s310,若不成功,则执行步骤s313;

步骤s313,记录消息处理流水表,更新状态为失败。

在一些实施例中,本发明的事件统一处理方法还包括:获取批量短信文件,调用所述规则引擎对所述批量短信文件中的每个短信记录进行短信规则匹配,循环处理匹配规则集,查询匹配规则对应的action行集合,循环处理动作action行集合,解析动作action行参数以便确定短信模板。

例如,短信模板可包括下述的多个或全部:约定还款扣款结果短信提醒、利率市场化短信提醒、账务结清短信提醒、公务卡还款交易提醒批量短信、公务卡还款到期前提醒批量短信、个人卡非约定账户还款到期后提醒批量短信、卡片激活提醒批量短信、银信app卡片激活提醒批量短信、个人卡非约定账户还款到期前提醒批量短信、约定还款到期还款短信提醒、利率市场化预提醒短信、临额到期短信提醒批量短信、不活动账户短信提醒批量短信、风险预警停卡调额短信提醒批量短信。

本发明的统一事件处理方法还可包括:确定短信模板,执行模板实例化,生成短信内容,调用统一通讯组件统一发送短信内容。本发明提供的事件统一处理方法,对获取的批量文件记录进行逐条处理,通过模板匹配、模板实例化等操作后生成短信内容明细,处理完毕生成短信内容文件,调用统一通讯进行批量短信发送。

在一种具体的实施例中,短信发送部分需要先进行短信模板匹配并生成短信内容,然后调用统一通信进行短信发送,具体流程如下:

(1)调用规则引擎进行短信规则匹配;

(2)循环处理匹配规则集;

(3)查询规则对应的action动作集合;

(4)循环处理动作集;

(5)解析动作集中各动作的动作参数;

(6)匹配短信模板;

(7)短信外呼;

(8)判断短信外呼是否成功,若成功,则执行(9),否则,执行(10);

(9)将相关信息记录消息处理成功日志表;

(10)创建自动任务处理失败消息。

本发明实施方式提供的事件统一处理方法,针对不同模板匹配的批量短信进行统一处理,相对于非批量的单独处理方法,显著提高了短信通知业务的处理效率。

本发明的实施例中,统一通讯接口和外部组件为不同的组件,异步方式对匹配后的事件进行处理,减少短时间的流量高峰,而且可以提高系统响应速度,增加系统吞吐量。

本发明实施方式提供的事件统一处理方法,从功能设计角度而言,通过将主体业务逻辑和事件处理分离,能够更好的按照功能设计应用模板,实现系统功能间的解耦。

本发明实施方式还提供一种计算机设备。如图4所示,计算机设备400可包括存储器401和处理器402,其中,存储器401存储有计算机指令,处理器402配置为执行所述计算机指令以使计算机设备400实现上面所述的方法。对于上面所述的方法,在此不再赘述。

本发明实施方式还提供计算机可读的存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现上面所述的方法,对于上面所述的方法,在此不再赘述。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。

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