事件调度方法及组件与流程

专利2022-06-30  68


本申请涉及事件驱动架构技术领域,尤其涉及一种事件调度方法及组件。



背景技术:

在企业级的系统架构中,多个系统之间需要进行准实时的信息通知与信息同步,若基于soa架构实施,将会消耗大量计算资源与网络资源,使信息的发送与接收方承受额外的负载。

事件驱动架构(event-drivenarchitecture,eda)是一种生产者/消费者模式的异步通信的架构,该架构体系以事件作为核心,角色主要为事件发布者与事件订阅者,事件发布者根据自身情况生成事件并推送到消息中心,事件订阅者根据自身订阅情况消费事件,各系统组件间保持松耦合的关系。应用基于生产者/消费者模式的事件驱动架构,能够提升信息发送的效率。在事件驱动架构下,各个系统除了需要在消息中心完成事件发布与订阅,还需要在本地自行管理事件发送与接收、事件落地、报文转换和事件处理等流程,各系统都需针对这些流程设计自有的处理逻辑。消息中心或事件管理中心统一提供的收发程序包只负责事件消息的收发,无法根据事件对收发配置、落地配置、报文字段转换和处理方式等进行统一配置。

各个系统仍需自行管理事件处理的全流程,存在重复开发的问题,开发运维成本高,自动化程度较低,且容易导致各系统流程不统一。



技术实现要素:

针对现有技术中的问题,本申请提出了一种事件调度方法及组件,能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性。

为了解决上述技术问题,本申请提供以下技术方案:

第一方面,本申请提供一种事件调度方法,包括:

若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统;

若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

进一步地,所述根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统,包括:根据自所述发送配置表中获取的配置信息将所述事件消息进行报文封装,得到该事件消息对应的压缩包;将所述压缩包经对应的消息中心发送至订阅该事件消息的应用系统。

进一步地,所述根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统,包括:根据自所述接收配置表中获取的配置信息将所述事件消息进行解压缩,得到该事件消息对应的解压文件;将所述解压文件发送至订阅该事件消息的应用系统。

进一步地,所述发送配置表和接收配置表设置在同一调度配置表中,该调度配置表存储在目标数据库中。

进一步地,所述根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统,包括:若自所述发送配置表中获取的配置信息对应的事件处理类型为批量发送类型,则将所述事件消息存储在目标数据库中;接收批量发送指令并基于该批量发送指令将对应的相同事件类型的事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

第二方面,本申请提供一种事件调度组件,包括:

配置模块,用于若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统;

发送模块,用于若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

进一步地,所述配置模块,包括:封装单元,用于根据自所述发送配置表中获取的配置信息将所述事件消息进行报文封装,得到该事件消息对应的压缩包;压缩包发送单元,用于将所述压缩包经对应的消息中心发送至订阅该事件消息的应用系统。

进一步地,所述发送模块,包括:解压单元,用于根据自所述接收配置表中获取的配置信息将所述事件消息进行解压缩,得到该事件消息对应的解压文件;解压文件发送单元,用于将所述解压文件发送至订阅该事件消息的应用系统。

进一步地,所述发送配置表和接收配置表设置在同一调度配置表中,该调度配置表存储在目标数据库中。

进一步地,所述发送模块,包括:存储单元,用于若自所述发送配置表中获取的配置信息对应的事件处理类型为批量发送类型,则将所述事件消息存储在目标数据库中;批量发送单元,用于接收批量发送指令并基于该批量发送指令将对应的相同事件类型的事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的事件调度方法。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的事件调度方法。

由上述技术方案可知,本申请提供一种事件调度方法及组件中,该方法包括:若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统;若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统,能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性;具体地,通过将事件的配置信息集中到数据库中,能够对事件进行集中的配置和处理,并可以根据实际需求实时修改配置信息,实现对配置信息的统一管理;自动读取配置信息,屏蔽与消息中心的连接创建和线程管理等细节,提高事件发送、接收、落地、转换和自动调度的全流程的自动化程度;可根据需要编写处理程序,由事件调度组件统一调度,提高业务处理逻辑的灵活度;可预先设置通用的报文转换器,也可以自定义报文转换器和自定义报文转换配置,进而提高报文转换的高可扩展性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例中事件调度方法的数据流图;

图2是本申请实施例中事件调度方法的流程示意图;

图3是本申请又一实施例中事件调度方法中步骤101和102的流程示意图;

图4是本申请再一实施例中事件调度方法中步骤201和202的流程示意图;

图5是本申请实施例中事件调度组件的结构示意图;

图6是本申请具体应用实例中事件调度方法的数据流图;

图7是本申请又一具体应用实例中事件调度方法的数据流图;

图8为本申请实施例的电子设备9600的系统构成示意框图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了解决现有技术中各系统事件管理方式不统一、需重复了解报文转换技术细节、事件处理流程方式不统一和代码重复开发等问题,本申请基于事件驱动架构提供了一种事件调度方法及组件,涉及消息中心、事件发布方、事件订阅方、事件管理与事件处理组件、关系型数据库和java等;参见图1,在本申请实施例中所述事件调度的过程包含有:事件消息由事件发布方产生,经由事件管理与事件处理组件处理后,发送至消息中心;消息中心会为一组发布者-订阅者基于不同的事件类型建立一条事件消息队列,通道会暂时存储事件消息,直到订阅者取走事件消息;事件消息由事件订阅方经由事件管理与事件处理组件进行收取。应用该事件调度方法及组件,事件调度简单直观,可实现事件的发送、接收、落地、转换和自动调度处理的全流程控制;并且能够为使用方系统屏蔽技术细节与流程细节,提高系统的安全性,更加专注于业务层面的开发。各系统订阅事件或发布事件只需维护统一的配置表,以控制事件的发送/接收模式、处理模式,并可自动进行事件的落地备份、报文转换和后续流程的多线程处理。所述事件调度组件还提供了统一的接收/发送接口和报文转换接口,便于各系统应用,并同时提高事件调度的可扩展性。

基于此,为了提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性,本申请实施例提供一种事件调度组件,该组件可以是一服务器或客户端设备,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备和智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表和智能手环等。

在实际应用中,进行事件调度的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括tcp/ip协议、udp/ip协议、http协议、https协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的rpc协议(remoteprocedurecallprotocol,远程过程调用协议)、rest协议(representationalstatetransfer,表述性状态转移协议)等。

具体通过下述各个实施例进行说明。

如图2所示,为了提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性,本申请提供一种执行主体是事件调度组件的事件调度方法的实施例,具体包含有如下内容:

步骤100:若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

具体地,所述消息中心存储有订阅该事件消息的应用系统信息;所述消息中心负责储存和转发事件消息,是应用系统间消息传输的通道。所述目标应用系统即事件发布方,所述订阅该事件消息的应用系统即事件接收方。

所述发送配置表可以存储在关系型数据库中,如oracle和mysql数据库;在本申请一个具体应用实例中,所述发送配置表中的参数如表1所示,下面对表1中部分参数进行说明:

1)事件发送方式:主要处理方式有实时发送、批量发送和实时 批量发送三类,选择实时发送将应用实时发送参数,选择批量发送将应用批量发送的参数,选择实时 批量方式应用所有发送参数。

2)事件报文转换器:配置报文转换器的唯一标识符。发送事件时的报文转换器会将javaobject转换为xml报文。

3)报文落地开关:实时发送报文时可配置报文是否存储到数据库。若发送方式为批量或实时 批量则必须存储。

发送事件管理配置被集中配置并保存到数据库中,事件调度组件可以在开始事件调度时自动从数据库加载当前事件消息对应的配置信息,并根据配置信息自动调起相应处理过程。

表1

步骤200:若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

具体地,所述消息中心存储有订阅该事件消息的应用系统信息;所述接收配置表可以存储在关系型数据库中,如oracle或mysql数据库;在本申请一个具体应用实例中,所述发送配置表中的参数可以如表2所示,下面对表2中的部分参数进行说明:

1)事件处理方式:主要处理方式有实时处理、批量处理、不处理三类,其中选择实时处理将使用实时处理的参数,选择批量处理将使用批量处理的参数。

2)事件处理类:配置自动调度处理需要调起的程序的唯一标识符。被调起的程序由使用方根据自身业务逻辑编写。

3)事件报文转换器:配置报文转换器的唯一标识符。报文转换器根据转换器的提取配置获取报文内容,将xml报文转换为map<string,string>类型的值,其中:支持流格式内容按长度提取;支持单分隔符的内容提取,如数据“内容1|内容2|内容3”;支持多分隔符的分层内容提取,如数据“内容1|内容2|内容3@@内容4|内容5|内容6”;提取规则由使用方按需配置。

4)事件处理线程数:控制自动调度处理线程池的大小。

5)批量执行方式:选择批量调度模式时,可以指定:定长时间间隔执行模式;每日定时批量执行模式。

表2

为了节省系统内存并提高调用和处理配置信息的便捷性,在本申请一个实施例中,所述发送配置表和接收配置表设置在同一调度配置表中,该调度配置表存储在目标数据库中。

具体地,所述目标数据库可以设置在事件调度组件内部,也可以存储在一个单独的服务器中。

参见图3,为了进一步提高事件调度的可靠性和效率,在本申请一个实施例中,步骤100包含有:

步骤101:根据自所述发送配置表中获取的配置信息将所述事件消息进行报文封装,得到该事件消息对应的压缩包。

步骤102:将所述压缩包经对应的消息中心发送至订阅该事件消息的应用系统。

具体地,根据发送配置表中所述事件消息对应的配置信息获取该事件消息对应的报文要求,根据该报文要求自动组建报文头、公共域和报文体的字段,其中报文体的内容即该事件消息的内容,组建完成的报文即所述压缩包。进一步地,所述事件调度组件可以根据发送配置表中的配置信息将所述压缩包信息存储在目标数据库中。

参见图4,为了进一步提高事件调度的可靠性和效率,在本申请一个实施例中,步骤200包括:

步骤201:根据自所述接收配置表中获取的配置信息将所述事件消息进行解压缩,得到该事件消息对应的解压文件。

步骤202:将所述解压文件发送至订阅该事件消息的应用系统。

具体地,将事件消息中的业务信息进行转换提取,并将事件消息中的内容、状态和时间等关键信息存储在目标数据库中。若在接收配置表中所述事件消息对应的事件处理方式为实时处理,监听线程将调起订阅该事件消息的应用系统中的事件处理程序,并将转换后的报文作为对象传给该事件处理程序;若事件处理方式为批量调度处理,报文存储转换流程后的事件处理控制由批量的守护线程接管,根据批量调度配置调起所述事件处理程序。

为了提高事件调度的灵活性和效率,在本申请一个实施例中,步骤100包含有:

步骤103:若自所述发送配置表中获取的配置信息对应的事件处理类型为批量发送类型,则将所述事件消息存储在目标数据库中。

步骤104:接收批量发送指令并基于该批量发送指令将对应的相同事件类型的事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

具体地,所述事件消息对应的发送配置表中的事件处理方式为实时发送模式时,报文可以不进行存储,实时发送事件消息到消息中心。若出现发送失败,可立即进行重发,重发次数根据配置次数而定。发事件处理方式为批量模式时,报文必须进行存储,后续将根据批量配置调起事件发送。若出现发送失败,可立即进行重发,重发次数根据配置次数而定。事件处理方式为实时 批量模式时,报文必须进行存储,实时发送事件消息到消息中心。若出现发送失败,不立即重发,使用批量调度调起重发流程。

从软件层面来说,为了提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性,本申请实施例提供一种事件调度方法中全部或部分内容的事件调度组件的实施例,参见图5,所述事件调度组件具体包含有如下内容:

配置模块10,用于若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

发送模块20,用于若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

具体地,所述发送配置表和接收配置表设置在同一调度配置表中,该调度配置表存储在目标数据库中。

在本申请一个实施例中,所述配置模块10包含有:

封装单元11,用于根据自所述发送配置表中获取的配置信息将所述事件消息进行报文封装,得到该事件消息对应的压缩包。

压缩包发送单元12,用于将所述压缩包经对应的消息中心发送至订阅该事件消息的应用系统。

在本申请一个实施例中,所述发送模块20包含有:

解压单元21,用于根据自所述接收配置表中获取的配置信息将所述事件消息进行解压缩,得到该事件消息对应的解压文件;

解压文件发送单元22,用于将所述解压文件发送至订阅该事件消息的应用系统。

在本申请一个实施例中,所述发送模块20包含有:

存储单元23,用于若自所述发送配置表中获取的配置信息对应的事件处理类型为批量发送类型,则将所述事件消息存储在目标数据库中。

批量发送单元24,用于接收批量发送指令并基于该批量发送指令将对应的相同事件类型的事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

本说明书提供的事件调度组件的实施例具体可以用于执行上述事件调度方法的实施例的处理流程,其功能在此不再赘述,可以参照上述事件调度方法实施例的详细描述。

为了进一步说明本方案,本申请还提供一种事件调度方法及组件的具体应用实例,在本具体应用实例中,事件调度方法由java语言实现,实现事件调度功能的程序可以封装为独立jar包,该jar包可以存储在所述事件调度组件中,供事件发布方或订阅方使用,发送事件和接收事件的处理方式与流程分别由各自对应的事件管理配置控制,接收事件管理配置和发送事件管理配置均内被集中配置并保存在数据库中,可以由一关系型数据库实现,如oracle或mysql数据库。事件调度组件在启动时会自动从数据库加载当前配置,并根据配置自动调起相应处理过程。事件调度方法主要包含有接收事件处理、发送事件处理两部分,具体描述如下。

(一)接收事件处理

参见图6,针对系统接收事件消息的场景,事件调度方法以事件调度组件为执行主体能够实现事件接收、事件落地、报文组建、报文处理、自动调度处理和线程管理的接收全流程的控制,具体描述如下:

在事件驱动架构中,每一类事件会指定一个编号,所有该类事件的消息都使用同一编号,所以接收事件管理配置以一类事件作为配置的粒度。所述事件调度组件需随应用启动并初始化。初始化时将进行以下操作:

1)读取接收事件管理配置。

2)启动消息中心客户端,创建到消息中心的连接。

3)初始化事件监听线程池、事件处理线程池。

4)根据配置初始化对应事件的监听线程。

5)创建批量调度守护线程。

具体地,事件消息由事件监听线程负责监听和接收,接收消息后会自动地调起消息存储与转换流程,对消息的业务信息进行转换提取,并将消息的内容、状态、时间等关键信息存储到数据库。接收事件管理中若配置为实时处理,监听线程将调起应用组件的事件处理程序,并将转换后的报文作为对象传给处理程序。若配置为批量调度处理,报文存储转换流程后的事件处理控制由批量的守护线程接管,根据批量调度配置调起应用组件的事件处理程序。事件处理程序完成处理后,需根据实际处理情况更新该消息的处理结果和处理状态。

(二)发送事件处理

参见图7,针对系统发送事件消息的场景提供了事件发送、重发、事件落地、报文转换和自动调度发送的发送全流程的管理与控制。所述事件调度组件能够实现接收事件消息、事件监听与接收,消息存储与转换,批量处理调度,以及实时处理调度等功能。

发送事件管理配置以一类事件作为配置的粒度,所述事件调度组件需随应用启动并初始化。初始化时将进行以下操作:

1)读取发送事件管理配置。

2)启动消息中心客户端,创建到消息中心的连接。

3)创建批量发送守护线程。

具体地,事件发送由应用组件自行发起,应用通过组件提供的公用发送接口,可将指定对象转换为xml格式,并根据事件驱动架构的报文要求自动组建报文头、公共域、报文体的技术字段。完成报文组建后,组件会根据配置将事件报文入库。发送事件管理配置为实时发送模式时,报文可以不进行存储,实时发送事件消息到消息中心。若出现发送失败,可立即进行重发,重发次数根据配置次数而定。发送事件管理配置为批量模式时,报文必须进行存储,后续将根据批量配置调起事件发送。若出现发送失败,可立即进行重发,重发次数根据配置次数而定。发送事件管理配置为实时 批量模式时,报文必须进行存储,实时发送事件消息到消息中心。若出现发送失败,不立即重发,使用批量调度调起重发流程。

从上述描述可知,本申请实施例提供的事件调度方法及组件能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性,还可以提高事件调度的自动化程度和灵活性,实时进行各个系统之间的事件调度,节省系统内存和维护成本。

从硬件层面来说,为了提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性,本申请提供一种用于实现所述事件调度方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:

处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述事件调度组件以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述事件调度方法的实施例及用于实现所述事件调度装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。

图8为本申请实施例的电子设备9600的系统构成的示意框图。如图8所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图8是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在本申请一个或多个实施例中,事件调度功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:

步骤100:若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

步骤200:若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

从上述描述可知,本申请的实施例提供的电子设备,能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性。

在另一个实施方式中,事件调度组件可以与中央处理器9100分开配置,例如可以将事件调度组件配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现事件调度功能。

如图8所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图8中所示的所有部件;此外,电子设备9600还可以包括图8中没有示出的部件,可以参考现有技术。

如图8所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

上述描述可知,本申请的实施例提供的电子设备,能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性。

本申请的实施例还提供能够实现上述实施例中的事件调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的事件调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

步骤200:若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

从上述描述可知,本申请实施例提供的计算机可读存储介质,能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性。

本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。


技术特征:

1.一种事件调度方法,其特征在于,包括:

若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统;

若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

2.根据权利要求1所述的事件调度方法,其特征在于,所述根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统,包括:

根据自所述发送配置表中获取的配置信息将所述事件消息进行报文封装,得到该事件消息对应的压缩包;

将所述压缩包经对应的消息中心发送至订阅该事件消息的应用系统。

3.根据权利要求1所述的事件调度方法,其特征在于,所述根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统,包括:

根据自所述接收配置表中获取的配置信息将所述事件消息进行解压缩,得到该事件消息对应的解压文件;

将所述解压文件发送至订阅该事件消息的应用系统。

4.根据权利要求1所述的事件调度方法,其特征在于,所述发送配置表和接收配置表设置在同一调度配置表中,该调度配置表存储在目标数据库中。

5.根据权利要求1所述的事件调度方法,其特征在于,所述根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统,包括:

若自所述发送配置表中获取的配置信息对应的事件处理类型为批量发送类型,则将所述事件消息存储在目标数据库中;

接收批量发送指令并基于该批量发送指令将对应的相同事件类型的事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

6.一种事件调度组件,其特征在于,包括:

配置模块,用于若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统;

发送模块,用于若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统。

7.根据权利要求6所述的事件调度组件,其特征在于,所述配置模块,包括:

封装单元,用于根据自所述发送配置表中获取的配置信息将所述事件消息进行报文封装,得到该事件消息对应的压缩包;

压缩包发送单元,用于将所述压缩包经对应的消息中心发送至订阅该事件消息的应用系统。

8.根据权利要求6所述的事件调度组件,其特征在于,所述发送模块,包括:

解压单元,用于根据自所述接收配置表中获取的配置信息将所述事件消息进行解压缩,得到该事件消息对应的解压文件;

解压文件发送单元,用于将所述解压文件发送至订阅该事件消息的应用系统。

9.根据权利要求6所述的事件调度组件,其特征在于,所述发送配置表和接收配置表设置在同一调度配置表中,该调度配置表存储在目标数据库中。

10.根据权利要求6所述的事件调度组件,其特征在于,所述发送模块,包括:

存储单元,用于若自所述发送配置表中获取的配置信息对应的事件处理类型为批量发送类型,则将所述事件消息存储在目标数据库中;

批量发送单元,用于接收批量发送指令并基于该批量发送指令将对应的相同事件类型的事件消息经对应的消息中心发送至订阅该事件消息的应用系统。

11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的事件调度方法。

12.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至5任一项所述的事件调度方法。

技术总结
本申请提供了一种事件调度方法及组件,该方法包括:若接收到对应的目标应用系统生成的待发布的事件消息,则根据自一发送配置表中获取的配置信息将该事件消息经对应的消息中心发送至订阅该事件消息的应用系统;若经对应的消息中心接收到发布事件消息的应用系统发送的事件消息,则根据自一接收配置表中获取的配置信息将该事件消息发送至订阅该事件消息的应用系统,能够提高事件调度的效率和准确性,进而提高不同系统之间事件的一致性。

技术研发人员:游屹;郭涵;冯世杰;陈德栋
受保护的技术使用者:中国建设银行股份有限公司;建信金融科技有限责任公司
技术研发日:2020.01.07
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-59456.html

最新回复(0)