一种消息推送方法、装置、电子设备和存储介质制造方法及图纸

技术编号:35510965 阅读:17 留言:0更新日期:2022-11-09 14:25
本申请适用于数据传输领域,提供一种消息推送方法、装置、电子设备和计算机可读存储介质。方法包括:获取当前消息的当前业务类型;若当前消息的推送任务存在异常,则根据预设的业务类型依赖关系,确定所述当前业务类型的子级业务类型;将所述子级业务类型的推送任务创建为阻塞状态的待推送任务;其中,所述业务类型依赖关系包括消息的每种预设业务类型的子级业务类型和父级业务类型;本申请可以实现在推送过程存在异常时,中断后续推送任务,后续消息不会先推送到接收方,保证接收方接收消息的时序与业务所需的时序是相同的。时序与业务所需的时序是相同的。时序与业务所需的时序是相同的。

【技术实现步骤摘要】
一种消息推送方法、装置、电子设备和存储介质


[0001]本申请属于数据传输领域,尤其涉及一种消息推送方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]随着互联网技术的发展,企业间推送业务数据日渐频繁。在推送过程中存在异常时,企业间通常采用重推策略,将推送消息重新推送一定次数,以减少消息丢失的问题,同时并不会停止后续消息的推送。但是在强时序业务场景中,推送方以指定时序推送消息,若当中的某条消息推送异常,导致后续推送的消息先到达接收方,即接收方未能按同一时序接收成功,业务数据就会出现问题。

技术实现思路

[0003]本申请提供了一种消息推送方法、装置、电子设备和计算机可读存储介质,可以在推送过程存在异常时,阻塞推送任务,保证消息推送时序正确。
[0004]本申请实施例的第一方面提供了一种消息推送方法,包括:
[0005]获取当前消息的当前业务类型;
[0006]若当前消息的推送任务存在异常,则根据预设的业务类型依赖关系,确定所述当前业务类型的子级业务类型;
[0007]将所述子级业务类型的推送任务创建为阻塞状态的待推送任务;
[0008]其中,所述业务类型依赖关系包括消息的每种预设业务类型的子级业务类型和父级业务类型。
[0009]本申请实施例的第二方面提供了一种消息推送装置,包括:
[0010]类型获取模块,用于获取当前消息的当前业务类型;
[0011]所述类型获取模块,还用于在当前消息的推送任务存在异常时,根据预设的业务类型依赖关系,确定所述当前业务类型的子级业务类型;
[0012]消息拦截模块,用于将所述子级业务类型的推送任务创建为阻塞状态的待推送任务;
[0013]监听模块,用于在获取到来自接收方的成功回调事件后,确定当前消息的推送任务恢复正常;
[0014]查询模块,用于查询所述子级业务类型是否存在所述待推送任务;
[0015]激活模块,用于在子级业务类型存在所述待推送任务时,将所述待推送任务由阻塞状态更改为激活状态,重新执行所述子级业务类型的推送任务,删除所述待推送任务;
[0016]其中,所述业务类型依赖关系包括消息的每种预设业务类型的子级业务类型和父级业务类型。
[0017]本申请实施例的第三方面提供了一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时
实现如第一方面所述的方法。
[0018]本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面所述的方法。
[0019]本申请实施例提供的消息推送方法,在当前消息的推送任务存在异常时,根据预设的业务类型依赖关系,确定当前业务类型的子级业务类型,将子级业务类型的推送任务创建为阻塞状态的待推送任务。通过上述描述可以理解,在强时序业务场景中,当消息推送过程存在异常时,将后续消息推送任务创建为阻塞状态的待推送任务,可以防止后续消息先到达接收方,保证接收方接收消息的时序与推送方指定的时序是相同的。
附图说明
[0020]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本申请要求保护的范围。
[0021]图1示出本申请实施例提供的消息推送方法的流程示意图;
[0022]图2示出本申请另一实施例中消息推送方法的流程示意图;
[0023]图3示出本申请实施例的消息推送装置的示意框图。
具体实施方式
[0024]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0025]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
[0026]本领域技术人员可以理解,附图只是示例实施例的示意图,可能不是按比例的。附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
[0027]本实施例提供一种消息推送方法方法,适用于强时序业务推送场景,可以实现在推送过程存在异常时,阻塞推送任务,保证消息推送时序正确。该方法由一种消息推送装置来执行,装置由软件和/或硬件组成,一般集成于一种电子设备中,该电子设备具备通信能力,可以将消息推送到指定的接收方或将消息广播出去,并接收来自接收方的应答。
[0028]图1是本申请实施例提供的一种消息推送方法的流程示意图,如图1所示,该方法可以包括:
[0029]步骤101,获取当前消息的当前业务类型。
[0030]在实际应用中,当一个业务流程必须按照指定顺序执行的时候,则该任务属于强
时序业务。针对不同的业务流程,可根据业务流程的执行顺序,预先对每个业务流程中的各种消息定义业务类型。例如,什么消息定义为什么类型。
[0031]步骤102,若当前消息的推送任务存在异常,则根据预设的业务类型依赖关系,确定当前业务类型的子级业务类型。
[0032]在实际应用中,判断当前消息的推送任务存在异常的方式包括但不限于:可以是在执行当前消息的推送任务时,超过预设时间未收到来自接收方的成功回调事件,则确定当前消息的推送任务存在异常。也可以是接收方检验到接收的消息不完整,存在消息丢失的情况,发出请求重新推送的事件,则确定当前消息的推送任务存在异常。还可以是其他事件导致推送任务不能正常执行或是不能被接收,则确定当前消息的推送任务存在异常。
[0033]各业务类型的依赖关系是预先配置的,可以是一个层级依赖关系。业务类型依赖关系包括消息的每种预设业务类型的子级业务类型和父级业务类型。
[0034]可以在企业内其他系统的配置目录中新增配置,记录所有业务类型的依赖关系,再将该配置应用在业务系统中。上述配置可以是文档形式,也可以是数据库形式,还可以是缓存形式。
[0035]步骤103,将子级业务类型的推送任务创建为阻塞状态的待推送任务。
[0036]以企业内有两个业务系统,分别是订单系统和营销统计系统,两个系统之间业务消息推送过程为例。
[0037]订单系统负责处理订单业务,营销统计系统在数据库有一张用户出单统计表,负责存储并统计用户的出单总数和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息推送方法,其特征在于,包括:获取当前消息的当前业务类型;若当前消息的推送任务存在异常,则根据预设的业务类型依赖关系,确定所述当前业务类型的子级业务类型;将所述子级业务类型的推送任务创建为阻塞状态的待推送任务;其中,所述业务类型依赖关系包括消息的每种预设业务类型的子级业务类型和父级业务类型。2.如权利要求1所述的方法,其特征在于,将所述子级业务类型的推送任务创建为阻塞状态的待推送任务之后,还包括:当获取到来自接收方的成功回调事件,则确定当前消息的推送任务恢复正常;查询所述子级业务类型是否存在所述待推送任务;若是,将所述待推送任务由阻塞状态更改为激活状态,重新执行所述子级业务类型的推送任务,删除所述待推送任务。3.如权利要求1所述的方法,其特征在于,获取当前消息的当前业务类型之后,还包括:根据预设的业务类型依赖关系,获取所述当前业务类型的父级业务类型;查询所述父级业务类型是否存在推送任务的服务成功日志;若是,执行当前消息的推送任务;若否,将所述当前业务类型创建为阻塞状态的待推送任务。4.如权利要求2所述的方法,其特征在于,获取到来自接收方的成功回调事件之后,还包括:为所述当前业务类型创建推送任务的服务成功日志。5.如权利要求1所述的方法,其特征在于,将所述子级业务类型的推送任务创建为阻塞状态的待推送任务之后,还包括:获取所有业务类型的所述待推送任务的数量;若所述数量达到预设阈值,则发出告警。6.一种消息推送装置,其特征在于,包括:类型获取模块,用于获取当前消息的当前业务类型;所述类型获取模块,还用于在当前消息的推...

【专利技术属性】
技术研发人员:练昌华蔡泽键韩立炜
申请(专利权)人:深圳手回科技集团有限公司
类型:发明
国别省市:

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

1