首页 / 专利库 / 资料储存系统 / 复杂事件处理 / 一种分布式环境下事件处理方法及处理系统

一种分布式环境下事件处理方法及处理系统

阅读:65发布:2020-05-18

专利汇可以提供一种分布式环境下事件处理方法及处理系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种分布式环境下事件处理方法及处理系统,在保证事件可靠发送和监听同时,降低编码的复杂度,并提高了并发性能。所述事件处理方法,包括:配置事件信息,生成事件信息 数据库 ;启动业务服务,加载可靠事件 框架 ,并从所述事件信息数据库中加载事件信息;启动事件调度服务,从所述事件信息数据库中加载事件主题和事件监听 接口 ;利用所述业务服务向业务服务数据库中发布新事件;监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。,下面是一种分布式环境下事件处理方法及处理系统专利的具体信息内容。

1.一种分布式环境下事件处理方法,其特征在于,包括:
配置事件信息,生成事件信息数据库;所述事件信息包括事件主题和事件监听接口
启动业务服务,加载可靠事件框架,并从所述事件信息数据库中加载事件信息;启动事件调度服务,从所述事件信息数据库中加载事件主题和事件监听接口;
利用所述业务服务向业务服务数据库中发布新事件;
监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
2.按照权利要求1所述的处理方法,其特征在于:所述配置事件信息,包括:
建立事件主题和事件监听接口之间的对应关系。
3.按照权利要求1所述的处理方法,其特征在于:还包括:
修改事件信息,并更新所述事件信息数据库;
将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
4.按照权利要求1所述的处理方法,其特征在于:所述利用所述业务服务向业务服务数据库中发布新事件,包括:
通过可靠事件框架中的事件发送接口,将事件本地化存储到业务服务数据库中。
5.按照权利要求1所述的处理方法,其特征在于:所述监听所述业务服务数据库中的新事件,包括:
若监听新事件失败,则重新监听所述新事件,直至监听所述新事件成功或者失败次数达到预设次数。
6.一种分布式环境下事件处理系统,其特征在于,包括:
配置模:用于配置事件信息,生成事件信息数据库;所述事件信息包括事件主题和事件监听接口;
第一加载模块:用于在启动业务服务时,加载可靠事件框架,并从所述事件信息数据库中加载事件信息;
第二加载模块:用于在启动事件调度服务时,从所述事件信息数据库中加载事件主题和事件监听接口;
发送模块:用于利用所述业务服务向业务服务数据库中发送新事件;
监听与调用模块:用于监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
7.按照权利要求6所述的处理系统,其特征在于:所述配置模块中,配置事件信息具体包括:
建立事件主题和事件监听接口之间的对应关系。
8.按照权利要求6所述的处理系统,其特征在于:还包括:
修改与更新模块:用于修改事件信息,并更新所述事件信息数据库;
推送模块:用于将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
9.按照权利要求6所述的处理系统,其特征在于:所述发送模块,具体用于:
通过可靠事件框架中的事件发送接口,将事件本地化存储到业务服务数据库中。
10.按照权利要求6所述的处理系统,其特征在于:还包括
补充监听模块:用于若监听新事件失败,则重新监听所述新事件,直至监听所述新事件成功或者失败次数达到预设次数。

说明书全文

一种分布式环境下事件处理方法及处理系统

技术领域

[0001] 本发明属于分布式服务领域,具体来说,涉及一种分布式环境下事件处理方法及处理系统。

背景技术

[0002] 目前,在分布式环境中,事件系统通常通过消息中间件来实现。事件发送可靠性通常采用两阶段发送机制或者分布式事务机制来保证。事件消费监听可靠性则通常依靠消息中间件的可靠机制来保证。
[0003] 事件发送可靠性无论是采用两阶段机制还是分布式事务机制,都需要多次调用远程服务和实现额外接口。这大大增大了编码的复杂度,同时也一定程度降低了事件消费的并发性能。

发明内容

[0004] 本发明实施例提供一种分布式环境下事件处理方法及处理系统,在保证事件可靠发送和监听同时,降低编码的复杂度,并提高了并发性能。
[0005] 为解决上述技术问题,本发明实施例提供以下技术方案:
[0006] 第一方面,本发明实施例提供一种分布式环境下事件处理方法,包括:
[0007] 配置事件信息,生成事件信息数据库;所述事件信息包括事件主题和事件监听接口;
[0008] 启动业务服务,加载可靠事件框架,并从所述事件信息数据库中加载事件信息;启动事件调度服务,从所述事件信息数据库中加载事件主题和事件监听接口;
[0009] 利用所述业务服务向业务服务数据库中发布新事件;
[0010] 监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
[0011] 结合第一方面,作为第一种可实现的技术方案,所述配置事件信息,包括:建立事件主题和事件监听接口之间的对应关系。
[0012] 结合第一方面,作为第二种可实现的技术方案,所述的处理方法,还包括:
[0013] 修改事件信息,并更新所述事件信息数据库;
[0014] 将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
[0015] 结合第一方面,作为第三种可实现的技术方案,所述利用所述业务服务向业务服务数据库中发布新事件,包括:
[0016] 通过可靠事件框架中的事件发送接口,将事件本地化存储到业务服务数据库中。
[0017] 结合第一方面,作为第四种可实现的技术方案,所述监听所述业务服务数据库中的新事件,包括:
[0018] 若监听新事件失败,则重新监听所述新事件,直至监听所述新事件成功或者失败次数达到预设次数。
[0019] 第二方面,本发明实施例还提供一种分布式环境下事件处理系统,包括:
[0020] 配置模:用于配置事件信息,生成事件信息数据库;所述事件信息包括事件主题和事件监听接口;
[0021] 第一加载模块:用于在启动业务服务时,加载可靠事件框架,并从所述事件信息数据库中加载事件信息;
[0022] 第二加载模块:用于在启动事件调度服务时,从所述事件信息数据库中加载事件主题和事件监听接口;
[0023] 发送模块:用于利用所述业务服务向业务服务数据库中发送新事件;
[0024] 监听与调用模块:用于监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
[0025] 结合第二方面,作为第一种可实现的技术方案,所述配置模块中,配置事件信息具体包括:建立事件主题和事件监听接口之间的对应关系。
[0026] 结合第二方面,作为第二种可实现的技术方案,所述的处理系统,还包括:
[0027] 修改与更新模块:用于修改事件信息,并更新所述事件信息数据库;
[0028] 推送模块:用于将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
[0029] 结合第二方面,作为第三种可实现的技术方案,所述发送模块,具体用于:
[0030] 通过可靠事件框架中的事件发送接口,将事件本地化存储到业务服务数据库中。
[0031] 结合第二方面,作为第四种可实现的技术方案,所述的处理系统,还包括:
[0032] 补充监听模块:用于若监听新事件失败,则重新监听所述新事件,直至监听所述新事件成功或者失败次数达到预设次数。
[0033] 与现有技术相比,本发明实施例的一种分布式环境下事件处理方法及处理系统,在保证事件可靠发送和监听同时,降低编码的复杂度,并提高了并发性能。现有的可靠事件系统常用的两阶段提交或者分布式事务的方式都需要实现额外接口、多次远程服务调用,编码复杂度高,而且事件消费性能较低。本实施例的处理方法包括:配置事件信息,生成事件信息数据库;启动业务服务,加载可靠事件框架,并从所述事件信息数据库中加载事件主题和事件监听接口;启动事件调度服务,从所述事件信息数据库中加载事件主题和事件监听接口;利用所述业务服务向业务服务数据库中发布新事件;监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。附图说明
[0034] 图1是本发明实施例中处理方法的流程框图
[0035] 图2是本发明实施例中处理方法的信息交互图;
[0036] 图3是本发明实施例中处理系统的结构框图;
[0037] 图4是本发明实施例中处理系统的一种架构图。

具体实施方式

[0038] 下面结合实施例,具体说明本发明的技术方案。
[0039] 如图1所示,本发明实施例提供一种分布式环境下事件处理方法,包括:
[0040] S10配置事件信息,生成事件信息数据库。
[0041] S20启动业务服务,加载可靠事件框架,并从所述事件信息数据库中加载事件信息。启动事件调度服务,从所述事件信息数据库中加载事件主题和事件监听接口。
[0042] S30利用所述业务服务向业务服务数据库中发布新事件。
[0043] S40监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
[0044] 上述实施例的事件处理方法中包含了事件发送和事件监听。
[0045] 在步骤S10中,对事件信息进行配置。事件信息包括事件主题和事件监听接口。对事件信息进行配置,建立事件主题和事件监听接口之间的对应关系。一个事件主题可能和一个事件监听接口对应,也可能和多个事件监听接口对应。例如,事件主题为支付完成,事件监听接口为邮件发送完成信息和手机短信发送完成信息。该实例中,与事件主题对应的事件监听接口为两个。配置事件信息后,生成事件信息数据库。事件信息数据库中存储有事件主题、事件监听接口以及两者的对应关系。后续步骤中的事件发送和事件监听,需调用事件信息数据库中的事件信息。
[0046] 在步骤S20中,如图2所示,启动业务服务,加载可靠事件框架,并从所述事件信息数据库中加载事件信息。
[0047] 同时,在步骤S20中,启动事件调度服务,从所述事件信息数据库中加载事件主题和事件监听接口。事件调度服务,是针对发送的新事件,调用与新事件对应的事件监听接口。事件调度服务中,先从事件信息数据库中加载事件主题和事件监听接口,然后再针对新事件调用与之对应的监听接口。本实施例中,可以将事件调度服务与对应的业务服务独立设置;或者,将事件调度服务与对应的业务服务集成设置。无论是单独设置,还是可以集成在订单服务中,事件调度服务和订单都可以共用订单服务数据库。这样,事件调度服务拉取到订单服务的事件数据。
[0048] 在步骤S30中,如图2所示,向业务服务数据库中发布新事件。新事件包括事件主题。
[0049] 优选的,向业务服务数据库中发布新事件,包括:
[0050] 通过可靠事件框架中的事件发送接口,将事件本地化存储到业务服务数据库中。
[0051] 本优选例中,通过可靠事件框架中的事件发送接口,向业务服务数据库中存储事件。这避免了远程调用程序,较少了编码难度。另外,事件发布和业务逻辑保持在同一个数据库事务中。
[0052] 在步骤S40中,如图2所示,当监听到所述业务服务数据库中的新事件时,则根据从所述事件信息数据库中加载事件主题和事件监听接口,将新事件和事件主题进行匹配。当匹配成功时,将调用与事件主题对应的事件监听接口,对新事件进行监听。事件监听接口可以为多种事件服务,也可为单独一种事件服务。
[0053] 监听新事件,可能成功,也可能失败。为确保事件的可靠监听,优选的,所述监听所述业务服务数据库中的新事件,包括:
[0054] 若监听新事件失败,则重新监听所述新事件,直至监听所述新事件成功或者失败次数达到预设次数。
[0055] 上述方法是采用事件监听调度失败补偿方法,提高监听成功几率。但是,若新事件本身设置有问题,可能出现死循环。因此,设置一定的预设次数,防止死循环现象的出现。预设次数可以为3次、5次或者8次。
[0056] 作为优选例,所述的处理方法,还包括:
[0057] 修改事件信息,并更新所述事件信息数据库;
[0058] 将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
[0059] 在实际业务中,可增加新的事件主题,也可删除不用的事件主题,亦或修改事件主题和事件监听接口的对应关系。因此,在事件信息数据库中,修改已设定的事件信息。在修改事件信息后,将更新后的事件信息推送至所述可靠事件框架和所述事件调度服务中。这样,根据更新后的事件主题和事件监听接口,完成事件发送和事件监听。
[0060] 下面结合业务场景,例举一实例。
[0061] 事件主题为:订单支付完成。事件监听接口为发送短信通知监听接口和发送邮件通知监听接口。
[0062] 事件处理方法包括:
[0063] S10配置事件信息,生成事件信息数据库。配置事件信息包括:设置事件主题为订单支付完成;设置事件监听接口为发送短信通知接口和发送邮件通知接口;同时,建立订单支付完成与发送短信通知监听接口和发送邮件通知监听接口两个监听接口的对应关系。所有设置的信息存储在事件信息数据库中。配置事件信息服务在分布式环境下是共用的。
[0064] S20订单支付服务加载可靠事件框架,从所述事件信息数据库中加载事件配置信息,同时事件框架自动检测事件表。如果首次加载,则会自动初始化事件表。启动订单支付完成事件对应的事件调度服务,可以单独设置,也可以集成在订单服务中。无论是单独设置,还是可以集成在订单服务中,事件调度服务和订单都可以共用订单服务数据库。这样,事件调度服务拉取到订单服务的事件数据。
[0065] S30订单服务在完成支付以后,在同一个事务中发送订单支付完成事件。
[0066] S40事件调度服务监听到有新的事件产生,从事件信息数据库中加载事件对应监听接口,并进行远程调度,完成事件监听。
[0067] 上述实施例的处理方法中,将新事件本地化存储,并采用分布式调度事件监听接口,以及事件监听调度失败补偿方法,使得事件的发送和监听更加可靠,并大大降低了编码的复杂度,并大大提高了并发性能。在业务服务发布事件过程中,通过可靠事件框架中的事件发送接口将事件本地化存储到业务服务数据库中,并和业务逻辑保持在同一事务中,即保证了事务的可靠发送。在事件调度服务中,当监听到新事件,调用事件监听接口;采用高并发的调度机制,大大提高了事件监听的性能。若事件监听失败,则采用事件监听调度失败补偿方法,保证了事件消费的可靠性。
[0068] 本发明实施例由于采用了本地化存储事件的方案,在保证事件发送可靠性的前提下,大大较少了可靠事件的代码量,只需要简单的调用一个事件发送接口,降低了编程的复杂度,大大提高了效率;同时采用去分布式调度事件监听接口和失败调度补偿方法,保证事件监听的可靠执行。
[0069] 另一方面,本发明实施例还提供一种分布式环境下的事件处理系统,如图3所示,包括:
[0070] 配置模块:用于配置事件信息,生成事件信息数据库。
[0071] 第一加载模块:用于在启动业务服务时,加载可靠事件框架,并从所述事件信息数据库中加载事件信息。
[0072] 第二加载模块:用于在启动事件调度服务时,从所述事件信息数据库中加载事件主题和事件监听接口。
[0073] 发送模块:用于利用所述业务服务向业务服务数据库中发送新事件。
[0074] 监听与调用模块:用于监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
[0075] 上述实施例中,配置模块对事件信息进行配置。事件信息包括事件主题和事件监听接口。对事件信息进行配置,建立事件主题和事件监听接口之间的对应关系。配置事件信息后,生成事件信息数据库。事件信息数据库中存储有事件主题、事件监听接口以及两者的对应关系。启动业务服务时,第一加载模块加载可靠事件框架,并从所述事件信息数据库中加载事件配置信息。启动事件调度服务时,第二加载模块从所述事件信息数据库中加载事件主题和事件监听接口。发送模块向业务服务数据库中发送新事件。监听与调用模块监听所述业务服务数据库中的新事件,并依据从所述事件信息数据库中加载事件主题和事件监听接口,调用事件监听接口。
[0076] 作为优选例,所述事件处理系统,还包括:
[0077] 修改与更新模块:用于修改事件信息,并更新所述事件信息数据库。
[0078] 推送模块:用于将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
[0079] 事件信息数据库中的事件信息可以修改、增加或者删除。修改与更新模块,修改事件信息数据库中的事件信息,并更新所述事件信息数据库。推送模块将修改后的事件信息推送至所述可靠事件框架和所述事件调度服务中。
[0080] 作为优选例,所述发送模块,具体用于:通过可靠事件框架中的事件发送接口,将事件本地化存储到业务服务数据库中。
[0081] 作为优选例,所述的处理系统,还包括
[0082] 补充监听模块:用于若监听新事件失败,则重新监听所述新事件,直至监听所述新事件成功或者失败次数达到预设次数。
[0083] 利用补充监听模块,多次重新监听新事件,提高监听成功率。
[0084] 下面例举一实例。如图4所示,该实例中包括事件配置服务、业务服务A、业务服务A数据库、业务服务A的事件调度服务、业务服务B、业务服务B数据库、业务服务B的事件调度服务、事件监听接口。其中,事件监听接口包括事件监听接口A、事件监听接口B、事件监听接口C、事件监听接口D、事件监听接口E和事件监听接口F。每个事件监听接口服务与一种或几种业务服务。例如,事件监听接口A和业务服务A对应。当新事件为业务服务A时,调用事件监听接口A。
[0085] 事件配置服务中,设置事件主题、事件监听接口和两者对应的绑定关系。当启动业务服务A时,加载可靠事件框架,并从事件配置服务中加载事件配置信息。业务服务A向业务服务A数据库中发布新事件。启动业务服务A的事件调度服务,从事件配置服务中加载事件配置信息。事件调度服务从业务服务A数据库中监听新事件。如果监听到新事件,则根据事件配置信息,调度事件监听接口A。业务服务A的事件调度服务可以单独部署,和可以将其集成到业务服务A中。同理,对于业务服务B,也是相同的工作过程。多种业务服务共用事件配置服务。
[0086] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0087] 本领域技术人员应该知晓,实现上述实施例的方法或者系统,可以通过计算机程序指令来实现。该计算机程序指令装载到可编程数据处理设备上,例如计算机,从而在可编程数据处理设备上执行相应的指令,用于实现上述实施例的方法或者系统实现的功能。
[0088] 本领域技术人员依据上述实施例,可以对本申请进行非创造性的技术改进,而不脱离本发明的精神实质。这些改进仍应视为在本申请权利要求的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈