【技术实现步骤摘要】
一种延时消息处理的方法及装置
本专利技术涉及信息处理技术,尤其涉及一种延时消息处理的方法及装置。
技术介绍
延时消息有别于定时任务,定时任务是有固定的周期并且有明确的执行触发时间,但是延时消息一般没有固定的开始时间,延时消息通常是由业务系统的事件触发,间隔指定的时间之后再触发另外一个事件。软件开发流程中会经常遇到这样的需求,比如:场景一:订购系统中用户已经下单,但是用户还未付款,这个时候就需要系统能够提供延时消息的能力,在一段时间之后主动关闭用户订单,释放产品库存。场景二:产品在上架初期为了吸引客户,推出一周免费试用,在用户试用期结束前一段时间内需要主动提醒用户将试用产品转商用。现有的延时消息实现方式是将消息记录到数据库中,然后起新线程扫描数据库,查询到超时的消息则触发相应的处理逻辑。延时消息存储在数据库中,消息发送端需要等待消息入库后方可返回处理剩下的逻辑,消息发送端会随着并发的增大出现性能瓶颈。
技术实现思路
本专利技术实施例提供一种延时消息处理的方法和装置。本专利技术实施例提 ...
【技术保护点】
1.一种延时消息处理的方法,其特征在于,所述方法包括:/n利用消息队列缓存接收的延时消息;/n在所述消息队列成功写入所述延时消息后,向发送所述延时消息的终端发送应答消息。/n
【技术特征摘要】
1.一种延时消息处理的方法,其特征在于,所述方法包括:
利用消息队列缓存接收的延时消息;
在所述消息队列成功写入所述延时消息后,向发送所述延时消息的终端发送应答消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述消息队列的所述延时消息转存到文件系统;
从所述文件系统中获取待消费的延时消息。
3.根据权利要求2所述的方法,其特征在于,所述利用消息队列缓存接收的延时消息,包括:
将所述延时消息存入所述消息队列中第一主题对应的第一存储位置;
所述将所述消息队列的所述延时消息转存到文件系统,包括:
将所述第一存储位置的延时消息移动到所述文件系统中。
4.根据权利要求2所述的方法,其特征在于,所述从所述文件系统中获取待消费的延时消息,包括:
获取所述待消费的延时消息的第二主题,将所述文件系统中的延时消息写入所述消息队列中所述第二主题对应的第二存储位置;从所述消息队列中所述第二主题对应的第二存储位置获取待消费的延时消息;
或者,将所述文件系统中的待消费的延时消息发送给消费对象。
5.根据权利要求2所述的方法,其特征在于,所述将所述消息队列的所述延时消息转存到文件系统,包括:
将所述延时消息的消息数据存储在所述文件系统中,
确定所述消息数据的元数据,其中,所述元数据包括:所述消息数据的消息标识ID、延时时长及所述消息数据存储在所述文件系统中的偏移量;
在所述文件系统中存储所述元数据。
6.根据权利要求5所述的方法,其特征在于,所述在所述文件系统中存储所述元数据,包括:
根据所述延时时长除以N个预设单位时间的余数i,将所述元数据存入环形数据结构的第i个存储位置,其中,N为所述环形数据结构的存储位置数量,所述环形数据结构的存储位置编号从0至N-1,0≤i≤N-1,且i和N为整数。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当延时的实际延时到达所述延时时长后,从所述第i个存储位置获取所述元数据。
8.根据权利要求6所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:张浩,
申请(专利权)人:中移苏州软件技术有限公司,中国移动通信集团有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。