短信发送队列设计

有个应用场景,发送短信限制为相同手机号发送短信时间间隔必须是15s,且长度限制为65字,而一些订单必须拆成几条短信,故设计此发送方案、

短信队列设计方案

 设计方案:

              短信拆分方案:

(1) 少于66字,一条发送

(2) 多于65字,拆成62字一条,后面加上(x) x表示页码

      短信发送方案:

(1) 所有短信存入数据库存档,并赋予发送状态标志位is_sent =0,加上时间,发送人卡号,内容,ID自增长

(2) 每隔20s,扫描数据库提取未发送的短信,并保证每个号码发送条数为1,装入taskqueue发送

(3) Taskqueue发送成功后,置is_sent=1

(4) 不成功滚入下一次发送队列

     数据库设计:

ID
cardn
Send_time
Add_time
Tele_num
Send_content
Is_sent

CREATE TABLE `think_sms` (

`id` int(100) NOT NULL,

`cardn` int(20) NOT NULL,

`send_time` int(20) NOT NULL,

`add_time` int(20) NOT NULL,

`tele_num` bigint(30) NOT NULL,

`send_content` varchar(80) NOT NULL,

`is_sent` int(2) NOT NULL DEFAULT ‘0’,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据