一种数据事件推送方法和装置制造方法及图纸

技术编号:14914833 阅读:99 留言:0更新日期:2017-03-30 04:01
本发明专利技术公开了一种数据事件推送方法和装置。该方法包括:实时监测上游系统对数据库的操作,生成数据库变更事件;通过主题匹配器将变更事件与预先定义的至少一个设定主题进行匹配;如果匹配到相应主题,则通过视图消息生成器为该主题的变更事件生成视图消息;将所述视图消息推送给订阅所述主题的下游系统。本发明专利技术提供的数据事件推送方法和装置,有效解除系统之间的强耦合,简化交易流程,提高系统运行速度和用户体验。

【技术实现步骤摘要】

本专利技术实施例涉及数据处理技术,尤其涉及一种数据事件推送方法和装置
技术介绍
随着时代的发展,信息技术随之高速发展,互联网已成为承载和传输信息数据的最佳媒体,通过网络进行信息数据的推送也已经成为信息传播的重要方法。现有技术中一个上游系统常常串联多个下游系统,系统间通过应用程序接口(ApplicationProgramInterface,API)的调用,同步系统间的数据变更事件,实现信息数据事件在系统间的推送。例如,交易系统中包括下单、支付、退款等环节,在每个订单环节,需要调用10多个下游系统的API接口,用于通知订单状态的变化,从而导致系统之间强耦合、流程臃肿、维护性差。同时,每个下游系统的API接口调用的平均耗时为50ms,较多下游系统的API接口调用增加了系统耗时,导致客户端响应慢,进而降低用户体验。
技术实现思路
本专利技术提供一种数据事件推送方法和装置,以有效解除系统之间的强耦合,简化交易流程,提高系统运行速度和用户体验。第一方面,本专利技术实施例提供了一种数据事件推送方法,该方法包括:实时监测上游系统对数据库的操作,生成数据库变更事件;通过主题匹配器将变更事件与预先定义的至少一个设定主题进行匹配;如果匹配到相应主题,则通过视图消息生成器为该主题的变更事件生成视图消息;将所述视图消息推送给订阅所述主题的下游系统。第二方面,本专利技术实施例还提供了一种数据事件推送装置,该装置包括:变更事件模块,用于实时监测上游系统对数据库的操作,生成数据库变更事件;主题匹配模块,用于通过主题匹配器将变更事件与预先定义的至少一个设定主题进行匹配;视图消息模块,用于如果匹配到相应主题,则通过视图消息生成器为该主题的变更事件生成视图消息;推送模块,用于将所述视图消息推送给订阅所述主题的下游系统。本专利技术通过实时监测数据库,并生成变更事件,然后为变更事件匹配主题,最后根据匹配到的主题生成视图消息推送给下游系统,相对于现有技术而言,现有技术需要上游系统在自身所执行的操作过程中,嵌入地调用下游系统的API,因此,上下游系统之间的耦合性强。然而,本专利技术实施例,无需在上游系统执行操作的过程中调用API,而是借助上游系统的操作对数据库中数据引起的变化进行监测,获知数据库变更事件,其中数据库变更事件反映了上游系统中执行的操作。由于不需要上游系统在操作过程中调用API,所以取消了因同步系统间的数据变更事件所需的多个系统间的串联,有效解除系统之间的强耦合,简化交易流程,提高系统运行速度和用户体验。附图说明图1是本专利技术实施例一提供的一种数据事件推送方法的流程图;图2是一种基于本专利技术实施例方法的实际应用的流程图;图3是一种基于本专利技术实施例方法的主体关系结构示意图;图4是本专利技术实施例二提供的一种数据事件推送方法的流程图;图5是本专利技术实施例三提供的一种数据事件推送装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1是本专利技术实施例一提供的一种数据事件推送方法的流程图,本实施例可适用于因同步系统间的数据变更事件所需的多个系统串联的情况,该方法可以由数据事件推送装置来执行,该装置可通过硬件和/或软件的方式实现,具体包括:S110、实时监测上游系统对数据库的操作,生成数据库变更事件;其中,上游系统是指对数据库执行操作的系统,对数据库执行的操作可以是订单的提交、订单的支付和订单的导出等,上游系统可以是任意对数据库执行操作的系统;变更事件为数据库中数据状态发生变化的事件。进一步的,所述实时监测上游系统对数据库的操作,生成数据库变更事件可以包括:实时对数据库中的上游系统操作日志进行解析,生成数据库变更事件,其中,所述变更事件包括读事件、写事件或更新事件。S120、通过主题匹配器将变更事件与预先定义的至少一个设定主题进行匹配;其中,主题匹配器为实现将变更事件与设定主题进行匹配的软件和/或硬件;设定主题为利用一定规则预先定义的主题,该主题可以有多个。具体的,所述通过主题匹配器将变更事件与设定主题进行匹配,可以包括:通过主题匹配器将变更事件与预先设定的至少一个主题基于下述至少一个属性进行匹配:数据库名称、表名称、事件类型和字段规则。其中,数据库名称和表名称分别为,变更事件所在的数据库的名称和数据库中表的名称。事件类型可以是读事件、写事件和更新事件;字段规则为字段从起始值变化为终点值的条件,例如,订单状态从未支付变为已支付,字段规则也可以为多个字段变化条件的与/或的组合。S130、如果匹配到相应主题,则通过视图消息生成器为该主题的变更事件生成视图消息;其中,一件变更事件可以匹配多个主题,例如变更事件为支付操作事件,则与该变更事件对应的主题可以是增加用户积分主题,也可以是订单打印主题。当匹配到多个主题时,则将变更事件对应的多个主题分别执行S130和S140的操作;当没有匹配到对应主题时,则将该变更事件丢弃;视图消息生成器为该主题的变更事件生成视图消息的软件和/或硬件;视图消息为含有变更事件信息字段的图文信息。可选的,所述如果匹配到相应主题,则通过视图消息生成器为该主题变更事件生成视图消息,可以包括:将变更事件包含的字段填入相应主题关联的视图消息模板;当变更事件中包含的字段不能满足视图消息模板需求时,通过应用程序接口访问上游系统,获取相应字段填入相应主题关联的视图消息模板,生成视图消息。其中,视图消息模板为不包含变更事件字段的视图消息,视图消息模板与相应主题关联。当变更事件在数据库中包含的字段不能满足视图需求时,则可以通过应用程序接口访问上游系统,获取相应字段填入相应主题关联的视图消息模板,生成视图消息;其中相应字段为变更事件没有的,而视图消息模板需要的字段。当变更事件中包含的字段能满足视图需求时,可以将变更事件包含的字段填入相应主题关联的视图消息模板,生成视图消息,也可以通过应用程序接口访问上游系统,获取相应字段填入相应主题关联的视图消息模板,生成视图消息。S140、将所述视图消息推送给订阅所述主题的下游系统。其中,下游系统为根据变更事件需要执行一定操作的系统,例如当变更事件为支付操作事件时,对应的下本文档来自技高网...
一种数据事件推送方法和装置

【技术保护点】
一种数据事件推送方法,其特征在于,包括:实时监测上游系统对数据库的操作,生成数据库变更事件;通过主题匹配器将变更事件与预先定义的至少一个设定主题进行匹配;如果匹配到相应主题,则通过视图消息生成器为该主题的变更事件生成视图消息;将所述视图消息推送给订阅所述主题的下游系统。

【技术特征摘要】
1.一种数据事件推送方法,其特征在于,包括:
实时监测上游系统对数据库的操作,生成数据库变更事件;
通过主题匹配器将变更事件与预先定义的至少一个设定主题进行匹配;
如果匹配到相应主题,则通过视图消息生成器为该主题的变更事件生成视
图消息;
将所述视图消息推送给订阅所述主题的下游系统。
2.根据权利要求1所述的方法,其特征在于,所述实时监测上游系统对数
据库的操作,生成数据库变更事件包括:
实时对数据库中的上游系统操作日志进行解析,生成数据库变更事件,其
中,所述变更事件包括读事件、写事件或更新事件。
3.根据权利要求1所述的方法,其特征在于,所述通过主题匹配器将变更
事件与设定主题进行匹配,包括:
通过主题匹配器将变更事件与预先设定的至少一个主题基于下述至少一个
属性进行匹配:
数据库名称、表名称、事件类型和字段规则。
4.根据权利要求1所述方法,其特征在于,所述如果匹配到相应主题,则
通过视图消息生成器为该主题变更事件生成视图消息,包括:
将变更事件包含的字段填入相应主题关联的视图消息模板;
当变更事件中包含的字段不能满足视图消息模板需求时,通过应用程序接
口访问上游系统,获取相应字段填入相应主题关联的视图消息模板,生成视图
消息。
5.根据权利要求1所述的方法,其特征在于,将所述视图消息推送给订阅

\t所述主题的下游系统之前,还包括:
将生成的视图消息通过视图权限过滤器过滤。
6.根据权利要求5所述方法,其特征在于,所述将生成的视图消息通过视
图权限过滤器过滤,包括:
通过视图权限过滤器根据下游系统权限对视图消息中包含的字段集进行过
滤;
或者
通过视图权限过滤器,根据下游系统设定的筛选条件,对视图消息进行过
滤。
7.根据权利要求1所述方法,其特征在于:
所述变更事件包括下述至少一项:
订单提交操作事件、支付操作事件、订单导出操作事件、物流地址变更操
作事件和订单价格修改事件;
所述主题包括下述至少一项:
订单支付主题、增加用户积分主题、打印订单主题、优惠券反馈主题、物
流跟踪主题和价格修改主题;
上游系统是交易系统时,下游系统包括下述至少一项:
订单打印系统、支付系统和用户系统。

【专利技术属性】
技术研发人员:刘源旭祝定权杨蒙蒙刘湛钟宇亮
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1