一种短信分发方法及系统技术方案

技术编号:14641112 阅读:359 留言:0更新日期:2017-02-15 15:29
本发明专利技术涉及一种短信分发方法,包括以下步骤:S1:接收用户提交的短信包,并送到异步消息服务队列;S2:从异步消息服务队列取短信包,根据通道配置参数,进行通道分包,分包完后送回异步消息服务队列;S3:从异步消息服务队列中提取所属的短信包,进行发送;S4:短信发送完后,生成入库数据包,送到异步消息服务队列;S5:由入库服务进行入库保存。本发明专利技术还提供了一种用于实现上述方法的短信分发系统。相比于现有技术,本发明专利技术在短信分发的整个过程数据只在内存中交互,比传统访问文件或数据库的方式快,在以下操作中,有明显的优势。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是一种短信分发方法及系统
技术介绍
随着移动终端的用户越来越多,企业或商家会使用将重要的信息推送到用户的手机中。目前的服务商家通常都会通过群发短信的方式,将相关的内容通过短信推送至用户的手机。而现有技术中的批发短信发送一般包括以下步骤:1、客户调用短信平台接口,提交短信。2、接口处理模块把短信包存入数据库中。3、分检处理模块根据帐号配置,把短信数据包送到相应的通道发送队表。4、通道发送程序从发送队列表取数据,发送到通道营运商。然而,传统的方法需要访问数据库及文件,当大批量短信发送存在处理速度慢,分发效率低。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供了一种能快速进行短信分发方法及系统。本专利技术具体通过以下的技术方案实现:一种短信分发方法,包括以下步骤:S1:接收用户提交的短信包,并送到异步消息服务队列;S2:从异步消息服务队列取短信包,根据通道配置参数,进行通道分包,分包完后送回异步消息服务队列;S3:从异步消息服务队列中提取所属的短信包,进行发送;S4:短信发送完后,生成入库数据包,送到异步消息服务队列;S5:由入库服务进行入库保存。作为本专利技术的进一步改进,所述异步消息服务队列的工作方式为socket服务,其在内存中申请key、list和set数据格式;其中,所述key数据格式用于存储用户信息,进行认证;所述list数据格式为一个先进先出的队列,用于提供数据插入和取出;所述队列list包括发送队列list、多个通多队列list和备用通道队列list;所述set数据格式为一个集合,用于提供交集、并集操作。作为本专利技术的进一步改进,所述步骤S1中,在接收用户提交的短信包时,包括以下步骤:通过http接口接收用户提交的短信数据包,并将该用户信息放在key值中;对用户进行认证,认证通过后送到异步消息服务队列中。作为本专利技术的进一步改进,所述步骤2中,根据配置信息,将发送队列list数据分发至多个通道队列list中。作为本专利技术的进一步改进,在所述步骤2中,还包括步骤:监控各个通道队列list,如果超过设定的分流阀值,触发分流到备用通道队列list。作为本专利技术的进一步改进,所述步骤S2中,进行通道分包时,包括以下步骤:S21:把黑名单、通道白名单、通道参数设置、号码段、地区、特别指定手机号加载到内存;S22:过滤黑名单;S23:如果特别指定手机号表有这个手机号,按特别指定手机号的通道走;S24:如果设置通过地区选择通道功能,取手机号码前七位,定位对应地区;S25:查找该地区是否指定特别通道;如果找到,则放到对应的通道队列中,并判断这个通道是否为白名单通道;若是,则判断该手机号码是否属于白名单,并将不是白名单的手机号过滤。作为本专利技术的进一步改进,所述步骤S3中,具体包括以下步骤:S31:从多个通道队列list中提取数据发送到移动、联通、电信短信行业网关;S32:从多个通道队列list提取数据,发送到第三方通道。作为本专利技术的进一步改进,所述步骤S1中,具体包括:S11:由直连网关、第三方通道接收到上行数据,送到异步消息服务的上行队列;S12:由上行服务从异步消息服务上行队列提取未处理上行信息,根据编码进行相应的触发。本专利技术还提供了一种短信分发系统,其包括接收模块,用于接收用户提交的短信包,并送到异步消息服务队列;分包模块,用于从异步消息服务队列取短信包,根据通道配置参数,进行通道分包,分包完后送回异步消息服务队列;发送模块,用于从异步消息服务队列中提取所属的短信包,进行发送;生成模块,用于在短信发送完后,生成入库数据包,送到异步消息服务队列;保存模块,用于对短信数据包进行入库保存。作为本专利技术的进一步改进,所述异步消息服务队列的工作方式为socket服务,其在内存中申请key、list和set数据格式;其中,所述key数据格式用于存储用户信息,进行认证;所述list数据格式为一个先进先出的队列,用于提供数据插入和取出;所述队列list包括发送队列list、多个通多队列list和备用通道队列list;所述set数据格式为一个集合,用于提供交集、并集操作。作为本专利技术的进一步改进,所述接收模块包括:用户信息存储子模块,用于通过http接口接收用户提交的短信数据包,并将该用户信息放在key值中;认证子模块,用于对用户进行认证,认证通过后送到异步消息服务队列中。作为本专利技术的进一步改进,所述分包模块包括分发子模块,用于根据配置信息,将发送队列list数据分发至多个通道队列list中。作为本专利技术的进一步改进,所述分包模块还包括监控子模块,用于监控各个通道队列list,如果超过设定的分流阀值,触发分流到备用通道队列list。作为本专利技术的进一步改进,所述分包模块还包括:加载子模块,用于把黑名单、通道白名单、通道参数设置、号码段、地区、特别指定手机号加载到内存;过滤子模块,用于过滤黑名单;判断子模块,用于判断特别指定手机号表是否有对应的手机号,如果特别指定手机号表有这个手机号,则按特别指定手机号的通道走;定位子模块,用于当设置通过地区选择通道功能时,取手机号码前七位,定位对应地区;查找子模块,用于查找该地区是否指定特别通道;如果找到,则放到对应的通道队列中,并判断这个通道是否为白名单通道;若是,则判断该手机号码是否属于白名单,并将不是白名单的手机号过滤。作为本专利技术的进一步改进,所述发送模块包括:直通网关发送模块,用于从多个通道队列list中提取数据发送到移动、联通、电信短信行业网关;第三方通道发送模块,用于从多个通道队列list提取数据,发送到第三方通道。作为本专利技术的进一步改进,所述接收模块中还包括:上行数据接收子模块,用于通过直连网关、第三方通道接收到上行数据,送到异步消息服务的上行队列;触发子模块,用于由上行服务从异步消息服务上行队列提取未处理上行信息,根据编码进行相应的触发。相比于现有技术,本专利技术具备以下的有益效果:(1)短信分发的整个过程数据只在内存中交互,比传统访问文件或数据库的方式快,在以下操作中,有明显的优势。(2)用户认证:传统方法访问数据库提取客户信息,涉及数据库查询操作,一般在秒级;新方法是把用户信息放在key值里,提取客户信息在毫秒级。(3)白名单过滤:利用异步消息服务的交集功能,一次交互就可把白名单数据提取出来,避免传统大量访问数据库操作。(4)多通道分发:根据配置,把发送队列表的数据分发到各通道队列,由于在异步消息服务队列操作,比在数据库迁移数据快。(5)优先处理:采用不用通道队列list分隔开不同优先级的数据,与传统数据库通过排序方式处理方法相比,做到数据分开,互不干扰。为了更好地理解和实施,下面结合附图详细说明本专利技术。附图说明图1是本专利技术的短信分发过程的逻辑架构示意图。图2是本专利技术短信分发方法的步骤流程图。图3是本专利技术的短信分发过程的数据流向的示意图。图4是本专利技术的短信分发系统的模块连接框图。图5是本专利技术的接收模块内部的模块框图。图6是本专利技术的分包模块内部的模块框图。图7是本专利技术的发送模块内部的模块框图。具体实施方式本专利技术为了解决现有技术中进行大批量短信发送时处理速度慢,分发效率低的问题,提供了一种处理效率高的短信分发方法及系统。具体通过以下的实施例进行介本文档来自技高网...
一种短信分发方法及系统

【技术保护点】
一种短信分发方法,其特征在于:包括以下步骤:S1:接收用户提交的短信包,并送到异步消息服务队列;S2:从异步消息服务队列取短信包,根据通道配置参数,进行通道分包,分包完后送回异步消息服务队列;S3:从异步消息服务队列中提取所属的短信包,进行发送;S4:短信发送完后,生成入库数据包,送到异步消息服务队列;S5:由入库服务进行入库保存。

【技术特征摘要】
1.一种短信分发方法,其特征在于:包括以下步骤:S1:接收用户提交的短信包,并送到异步消息服务队列;S2:从异步消息服务队列取短信包,根据通道配置参数,进行通道分包,分包完后送回异步消息服务队列;S3:从异步消息服务队列中提取所属的短信包,进行发送;S4:短信发送完后,生成入库数据包,送到异步消息服务队列;S5:由入库服务进行入库保存。2.根据权利要求1所述短信分发方法,其特征在于:所述异步消息服务队列的工作方式为socket服务,其在内存中申请key、list和set数据格式;其中,所述key数据格式用于存储用户信息,进行认证;所述list数据格式为一个先进先出的队列,用于提供数据插入和取出;所述队列list包括发送队列list、多个通多队列list和备用通道队列list;所述set数据格式为一个集合,用于提供交集、并集操作。3.根据权利要求2所述短信分发方法,其特征在于:所述步骤S1中,在接收用户提交的短信包时,包括以下步骤:通过http接口接收用户提交的短信数据包,并将该用户信息放在key值中;对用户进行认证,认证通过后送到异步消息服务队列中。4.根据权利要求2所述短信分发方法,其特征在于:所述步骤S2中,根据配置信息,将发送队列list数据分发至多个通道队列list中。5.根据权利要求4所述短信分发方法,其特征在于:在所述步骤S2中,还包括步骤:监控各个通道队列list,如果超过设定的分流阀值,触发分流到备用通道队列list。6.根据权利要求4所述短信分发方法,其特征在于:所述步骤S2中,进行通道分包时,包括以下步骤:S21:把黑名单、通道白名单、通道参数设置、号码段、地区、特别指定手机号加载到内存;S22:过滤黑名单;S23:如果特别指定手机号表有这个手机号,则按特别指定手机号的通道发送;S24:如果设置通过地区选择通道功能,则选取手机号码前七位,定位对应地区;S25:查找该地区是否指定特别通道;如果找到,则放到对应的通道队列中,并判断这个通道是否为白名单通道;若是,则判断该手机号码是否属于白名单,并将不是白名单的手机号过滤。7.根据权利要求4所述短信分发方法,其特征在于:所述步骤S3中,具体包括以下步骤:S31:从多个通道队列list中提取数据发送到移动、联通、电信短信行业网关;S32:从多个通道队列list提取数据,发送到第三方通道。8.根据权利要求1所述短信分发方法,其特征在于:所述步骤S1中,具体包括:S11:由直连网关、第三方通道接收到上行数据,送到异步消息服务的上行队列;S12:由上行服务从异步消息服务上行队列提取未处理上行信息,根据编码进行相应的触发。9.一种短信分发系统,其特征在于:包括接收模块,用于接收用户提交的短信包,并送到异步...

【专利技术属性】
技术研发人员:朱思深刘彬陈卓红
申请(专利权)人:海南港澳资讯产业股份有限公司
类型:发明
国别省市:海南;46

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

1