[发明专利]一种定时发送消息的方法、装置及存储介质有效
申请号: | 201910182484.9 | 申请日: | 2019-03-12 |
公开(公告)号: | CN110061902B | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 乐志能 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | H04L51/214 | 分类号: | H04L51/214;H04L51/58;H04L67/00;H04L67/55 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 刘立天 |
地址: | 518033 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定时 发送 消息 方法 装置 存储 介质 | ||
本申请涉及数据查询领域,提供一种定时发送消息的方法、装置及存储介质,该方法包括:确定至少一个定时生效日,估算定时生效日的最大消息容量,创建容纳所述最大消息容量的多张哈希hash表,所述hash表包括定时任务、任务内容和定时生效日;获取多个定时消息,所述定时消息是指在定时生效时间时发出的消息;对所述多个定时消息进行hash处理并分表存储在所述多张hash表中;启动每张所述hash表中的定时任务,调用线程分别发送每张hash表中的定时消息到对应的用户。通过采用本方案,能够将定时消息分多表进行存储,解决单表容量过大的瓶颈。
技术领域
本申请涉及数据查询领域,尤其涉及一种定时发送消息的方法、装置及存储介质。
背景技术
目前市场上APP消息推送系统都支持定时消息推送功能,比如想在国庆假期给用户推送一些优惠活动的消息,那么需要在国庆假期前生成定时消息,设置该定时消息的推送时间后,将该定时消息发送给消息推送系统。消息推送系统收到定时消息后,将定时消息存储在数据库中,然后启动定时任务,并遍历这些定时任务,如果某个定时任务到达定时时间,则将定时消息推送到用户的手机上。
但是,采用该方式推送定时消息时,如果定时消息量比较小的情况下,定时消息能比较快和准时的发送到用户手机上;如果定时消息量比较大,如表中有超过千万级数据后,推送就非常慢,无法保证消息的实时性。
发明内容
本申请提供了一种定时发送消息的方法、装置及存储介质,能够解决现有技术中无法保证批量推送定时消息的实时性的问题。
第一方面,本申请提供一种定时发送消息的方法,所述方法包括:
确定至少一个定时生效日,所述定时生效日是指发送消息的时间;
估算定时生效日的最大消息容量,所述最大消息容量是指在特定日待发送的消息条数的最大值;
创建容纳所述最大消息容量的多张哈希hash表,所述hash表包括定时任务、任务内容和定时生效日;
获取多个定时消息,所述定时消息是指在定时生效时间时发出的消息;
对所述多个定时消息进行hash处理并分表存储在所述多张hash表中;
启动每张所述hash表中的定时任务,调用线程分别发送每张hash表中的定时消息到对应的用户。
在一些可能的设计中,所述定时消息为相同内容或不同内容的定时消息。
在一些可能的设计中,每条所述定时消息中包含指定接收对象的用户标识,所述指定接收对象是指安装了通讯卡的终端设备、者网络上的虚拟用户、或者访问网页的用户。
在一些可能的设计中,所述对所述多个定时消息进行hash处理并分表存储在所述多张hash表中,包括:
根据定时消息的标识对各定时消息分别进行hash处理;
根据定时消息的标识对一张hash表中的多个定时消息进行分表,得到多张hash表;
将各定时消息分别存储到对应的hash表中,每个定时消息对应一个定时任务。
在一些可能的设计中,在对所述多个定时消息进行hash处理并分表存储在所述多张hash表中之后,所述启动每张所述hash表中的定时任务之前,所述方法还包括:
配置多个线程和多个定时器,所述多个线程包括消息处理线程、消息监测线程,所述定时器用于对hash表中的定时任务进行定时;
所述启动每张所述hash表中的定时任务,调用线程分别发送每张hash表中的定时消息到对应的用户,包括:
启动所述消息监测线程对各hash表进行监测,以及启动所述定时器对hash表中的定时任务进行定时;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910182484.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据报文传输方法、装置及系统
- 下一篇:用于生成社交网络活动流的方法