[发明专利]消息推送方法和装置有效
申请号: | 201611202827.6 | 申请日: | 2016-12-23 |
公开(公告)号: | CN108241616B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 张彦龙 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/951;G06F16/958 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉;徐焕 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 推送 方法 装置 | ||
本申请提供了一种消息推送方法和装置。其中,该方法包括:响应于消息推送请求,获取目标对象数据文件;从目标对象数据文件中读取预设条数的对象数据作为一个任务块,其中,每条对象数据指示一个目标终端;将待推送消息,推送至任务块中的每条对象数据所指示的目标终端,并记录任务块的整体推送状态。由于该方案通过将目标对象数据划分成多个任务块进行读取和推送,并以任务块为单位记录任务块整体推送状态,从而解决了现有的消息推送方法在目标对象数据量较大时,存在的对数据库操作频繁、实施过程复杂的技术问题,达到了快速、简易且进度可控地向大批量目标对象数据指示的目标终端进行消息推送的技术效果。
技术领域
本申请涉及数据处理技术领域,特别涉及一种消息推送方法和装置。
背景技术
目前,在进行消息等推送的领域,通过数据库来存储用户的推送记录,例如:如给A用户发送完之后,就更新数据库,表明已经给此用户发送成功,以防止重复处理。即,以单个用户作为记录推送状态的单位。
这种操作模式势必要多次访问数据库,就造成了数据库的负担。进一步的,在灾难恢复的时候,也就需要逐个用户记录确定是否需要重新进行推送,所谓的灾难恢复指的是在大量消息的发送过程当中,出现意外情况(例如:宕机、应用crash等)时,等到机器或应用恢复之后,还可以接着之前的发送进度来继续发送,不会出现消息的重发或遗漏。
当然,对于类似于银行给用户推送账单这种特别精准的用户触发需求,是需要这样逐条保证准确性的,但是对于很多场景而言,是不需要有如此高的准确性,如果仍旧采用这种推送和灾难恢复方式,所达到的系统损耗要远远超出所能达到的效益,造成了系统资源不必要的浪费。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种消息推送方法和装置,以解决现有技术中在消息推送的过程中需要频繁对数据库进行读写,而导致的系统负荷大、处理效率低的技术问题。
本申请实施例提供了一种消息推送方法,包括:
响应于消息推送请求,获取目标对象数据文件;
从所述目标对象数据文件中读取预设条数的对象数据作为一个任务块,其中,每条对象数据指示一个目标终端;
将所述消息推送请求所请求的待推送消息,推送至所述任务块中的每条对象数据所指示的目标终端,并记录所述任务块的整体推送状态。
在一个实施方式中,在所述任务块中的对象数据还未开始推送的情况下,将所述任务块的整体推送状态记录为未推送;在所述任务块中的对象数据已推送至少一条的情况下,将所述任务块的整体推送状态记录为推送中;在所述任务块中的对象数据已推送完毕的情况下,将所述任务块的整体推送状态记录为已推送。
在一个实施方式中,在将所述消息推送请求所请求的待推送消息,推送至所述任务块中的每条对象数据所指示的目标终端,并记录所述任务块的整体推送状态的过程中,所述方法还包括:
检测是否需要进行灾难恢复;
如果需要,则重新发送处于未推送状态的任务块,不再重发处于推送中和已推送状态的任务块。
在一个实施方式中,所述预设条数是按照系统所能容忍的推送失败的目标终端的数量确定的。
在一个实施方式中,从所述目标对象数据文件中读取预设条数的对象数据作为一个任务块:
控制任务管理器从所述目标对象数据文件中读取预设条数的对象数据作为一个任务块。
在一个实施方式中,系统中包括多个任务管理器,相应的,从所述目标对象数据文件中读取预设条数的对象数据作为一个任务块,包括:
控制所述多个任务管理器分别从所述目标对象数据文件中读取预设条数的对象数据作为一个任务块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611202827.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据去重方法和装置
- 下一篇:一种油气生产实时数据存储系统及数据读取方法