一种发送消息的方法及装置制造方法及图纸

技术编号:13986599 阅读:110 留言:0更新日期:2016-11-13 03:33
本发明专利技术实施例提供一种发送消息的方法及装置,所述方法包括:消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。上述技术方案具有如下有益效果:可以将推送消息服务可定制化,并将所有的消息集中到一套逻辑进程中处理,形成一套前端简单易用、后端低资源占用、便于维护的消息发送方案。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种发送消息的方法及装置。
技术介绍
有很多需要发送消息的场景,比如用户私信、提醒、通知、活动等,根据业务需要,不同的消息发送时间点也不尽相同。比如,私信类消息可能需要及时发送,活动、通知类消息可能需要在白天发送效果更好,而提醒类消息可能需要在特定的时间点发送。传统的消息发送手段为针对不同的发送时间点,设置对应的处理进程。比如需要及时发送的消息一个进程,针对不同的活动提醒启动不同的任务进程,不同时间发送的私信也启动相应的进程。当业务量较低时,现有的消息发送机制可以基本满足业务需求,但当业务量和业务线丰富到一定程度时,比如每天有十几、几十条不同业务的消息,他们的发送时间和及时性要求各不相同,现有的消息推送机制就会导致以下问题:1、发送量大,导致系统负载高;2、需要针对每一种发送模式启动相应的进程,资源消耗大,维护困难;3、每当要增加新的消息推送需求时,开发人员工作量大。因此,如果提供一种简单易用便于维护的消息发送方案,这是本领域的技术人员亟待解决的技术问题。
技术实现思路
本专利技术实施例提供一种发送消息的方法及装置,以将推送消息服务可定制化,并将所有的消息集中到一套逻辑进程中处理,形成一套前端简单易用、后端低资源占用、便于维护的消息发送方案。一方面,本专利技术实施例提供了一种发送消息的方法,所述方法包括:消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。另一方面,本专利技术实施例提供了一种发送消息的装置,所述装置包括:获取单元,用于消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;匹配单元,用于从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;发送单元,用于从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。上述技术方案具有如下有益效果:1、发送时间策略可定制,避免了不同时间发送的消息需要单独开发启动相应进程。2、消息产生和消息发送进程相互独立,如有新增的消息发送需求,只需要根据时间策略将消息推送到消息发送队列中即可,不需要单独开发相应的发送逻辑。3、只有一套消息发送逻辑,便于维护,可根据消息量自由设置一次性读取条数和消息进程,实现了系统运行的弹性化。4、消息发送队列服务和发送进程服务可以部署到不同的服务器,提高性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一种发送消息的方法流程图;图2为本专利技术实施例一种发送消息的装置结构示意图;图3为本专利技术应用实例发送消息的技术方案示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术实施例一种发送消息的方法流程图,所述方法包括:101、消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;102、从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;103、从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。优选地,所述方法还包括:获取需要发送的消息;将所述需要发送的消息设置发送策略标记,然后将所述需要发送的消息、以及对应的发送策略标记保存到数据库的消息发送队列中。优选地,从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送,包括:从所述数据库的消息发送队列中读取所述匹配发送策略对应的多条消息分别进行发送。优选地,还包括:从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息后,将所述数据库中已读取的所述消息删除。优选地,所述方法还包括:将消息发送结果保存到消息日志中。对应于上述方法实施例,如图2所示,为本专利技术实施例一种发送消息的装置结构示意图,所述装置包括:获取单元21,用于消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;匹配单元22,用于从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;发送单元23,用于从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。优选地,所述装置还包括:策略设置单元24,用于获取需要发送的消息,将所述需要发送的消息设置发送策略标记;存储单元25,用于将所述需要发送的消息、以及对应的发送策略标记保存到数据库的消息发送队列中。优选地,所述发送单元23,具体用于从所述数据库的消息发送队列中读取所述匹配发送策略对应的多条消息分别进行发送。优选地,所述装置还包括:删除单元26,具体用于所述发送单元从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息后,将所述数据库中已读取的所述消息删除。优选地,所述存储单元25,还用于将消息发送结果保存到消息日志中。以下结合应用实例对本专利技术技术方案进行详细说明:本专利技术应用实例首先预定义不同的发送策略,比如A-及时发送、B-8:00到10:00发送、C-每周一零点发送等等。将所有需要发送的消息加上发送策略标记保存到数据库消息发送队列中。消息发送进程会不间断读取消息发送队列中的消息,会在每次读取消息前查看当前日期及时间,并匹配满足当前日期及时间的发送策略(本专利技术实施例中称为匹配发送策略),在读取消息发送队列时仅取出满足匹配发送策略的消息。如图3所示,为本专利技术应用实例发送消息的技术方案示意图,以下详述:举例,目前微博话题需要发送消息的场景有:1-话题上榜单后需要及时给主持人发送上榜提醒私信;2-每周一凌晨会计算出主持人活跃度,需要从上午8点开始给主持人发送活跃度提醒私信,由于要发送海量的消息,为了不影响用户休息,晚上11点停止发送,第二天8点起再发送;3-话题某活动需要在4月1号上午9:00发送活动通知。根据以上的业务需要,建立以下三条发送策略:A-及时发送B-8:00至23点发送C-4月1号9:00起发送消息发送进程在读取消息发送队列时,获取到当前日期及时间为4月1号上午8:01分,匹配到预先配置的发送策略中的A、B策略符合当前日期及时间,因此会从消息发送队列中按条件一次性取出100条(可根据实际业务需要调整一次性取出的条数)消息进行发送操作。假如当前日期及时间为4月1号9:20,则匹配到预先配置的发送策略中的A、B、C,那么就会读取消息发送队列中发送策略为A、B、C的消息分别进行发送。本方案的技术细节方案中,首先,将所有需要发送的消息对应的发送策略标记保存到数据库的消息发送队列中,可以实现根据条件查询消息的功能。其次,由于一次性取出多条消息进行处理,并不是每取一条消息都要判断一下与当前时间匹配的时间策略,因此判断符合时间策略的逻辑性能消耗极为微小,对本文档来自技高网...

【技术保护点】
一种发送消息的方法,其特征在于,所述方法包括:消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。

【技术特征摘要】
1.一种发送消息的方法,其特征在于,所述方法包括:消息发送进程读取数据库的消息发送队列中的消息之前,获取当前日期及时间;从预先配置的发送策略中匹配满足当前日期及时间的发送策略,获得匹配发送策略;从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送。2.如权利要求1所述发送消息的方法,其特征在于,所述方法还包括:获取需要发送的消息;为所述需要发送的消息设置发送策略标记,然后将所述需要发送的消息、以及对应的发送策略标记保存到数据库的消息发送队列中。3.如权利要求1所述发送消息的方法,其特征在于,从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息进行发送,包括:从所述数据库的消息发送队列中读取所述匹配发送策略对应的多条消息分别进行发送。4.如权利要求1所述发送消息的方法,其特征在于,还包括:从所述数据库的消息发送队列中读取所述匹配发送策略对应的消息后,将所述数据库中已读取的所述消息删除。5.如权利要求1所述发送消息的方法,其特征在于,所述方法还包括:将消息发送结果保存到消息日志中。6.一种发送消息的装置,其特...

【专利技术属性】
技术研发人员:马文东
申请(专利权)人:微梦创科网络科技中国有限公司
类型:发明
国别省市:北京;11

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

1