一种通过短信发送验证码的方法和装置的制作方法

文档序号:7910022阅读:204来源:国知局
专利名称:一种通过短信发送验证码的方法和装置的制作方法
一种通过短信发送验证码的方法和装置技术领域
本申请涉及网络技术领域,特别是涉及一种通过短信发送验证码的方法和装置。
技术背景
随着网络技术的飞速发展,互联网络已经成为了人们生活中不可或缺的一部分。 网络平台向用户提供的一些重要的业务,比如注册、二次验证(如某网络购物平台的卖家用户在登录自己的网络店铺时在其输入账号密码后,服务器通过验证码对其身份进行再次确认)等业务,经常需要通过短信向用户发送验证码,用户收到短信之后在网络页面上输入验证码,才能进行下一步操作。
如果携带验证码的短信不能发送到用户的手机上,用户收不到验证码就无法进行接下来的操作。在短信发送失败的情况下,现有技术中采用的做法是,如果用户在请求获取验证码之后一段时间(一般是I分钟)还没有收到短信,那么用户可以向网络平台发送请求再次获取验证码,网络平台接收到用户的获取验证码的请求后,会通过短信重新发送验证码给用户。
在实现本申请的过程中,发明人发现现有技术至少存在如下问题如果运营商网关出现故障且持续较长时间,即使网络平台重复向用户发送携带验证码的短信,用户还是无法接收到短信,故无法获取到验证码,导致用户无法完成验证过程。这不但增加了用户与网络平台的交互次数,而且增加了网络负担。发明内容
本申请的目的在于,提供一种通过短信发送验证码的方法和装置,以在通过短信发送验证码 的过程中提高短信的到达率,以减少用户与网络平台的交互次数,减轻网络负担,为此,本申请实施例采用如下技术方案
一种通过短信发送验证码的方法,包括
服务器接收携带有业务标识和移动终端标识的验证码获取请求;
所述服务器判断是否已经通过短信通道向所述移动终端标识对应的移动终端发送过所述业务标识对应的验证码;
如果否,所述服务器通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码;
如果是,所述服务器获得当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码。
一种通过短信发送验证码的装置,包括
接收模块,用于接收携带有业务标识和移动终端标识的验证码获取请求;
判断模块,用于判断是否已经通过短信通道向所述移动终端标识对应的移动终端发送过所述业务标识对应的验证码;
如果否,通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码;
如果是,获得当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码。
本申请的实施例具有以下优点,服务器接收携带有业务标识和移动终端标识的验证码获取请求后,判断是否已经通过短信通道向移动终端标识对应的移动终端发送过业务标识对应的验证码,如果没发送过,则通过选择的短信通道向该移动终端发送业务标识对应的验证码,如果发送过,则获得当前没有向该移动终端发送过业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向该移动终端发送业务标识对应的验证码,可以在通过短信发送验证码的过程中提高短信的到达率,减少用户与网络平台的交互次数,并减轻网络负担。当然,实施本申请的实施例的任一产品并不一定需要同时达到以上所述的所有优点。


图1为本发明实施例提供的通过短信发送验证码的网络架构图2为本发明实施例提供的通过短信发送验证码的方法的流程示意图3为本发明实施例提供的通过短信发送验证码的装置的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例 是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中,服务器接收携带有业务标识和移动终端标识的验证码获取请求后,判断是否已经通过短信通道向移动终端标识对应的移动终端发送过业务标识对应的验证码,如果没发送过,则通过选择的短信通道向该移动终端发送业务标识对应的验证码;如果发送过,则获得当前没有向该移动终端发送过业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向该移动终端发送业务标识对应的验证码,以提高短信的到达率,从而减少用户与网络平台的交互次数,并减轻网络负担。
在本申请实施例提供的通过短信发送验证码的方法中,服务器针对每个无线网络预先建立多条短信通道。所述无线网络可以是各类无线网络运营商提供的信道,如GSM、 CDMA, WCDMA, TD-SCDMA, WIFI等。下面仅以运营商为中国移动为例进行详细阐述,但并非对本申请应用场景的限制。具体的网络架构图如图1所示,其中,服务器分别与移动杭州网关、移动上海网关、移动南京网关等网关建立短信通道(一般通过专线建立连接,如光纤等)。在图1中,是假设移动终端在北京,服务器可以分别通过移动杭州通道、移动上海通道、移动南京通道等短信通道向移动终端发送短信。
如图2所示,为本申请实施例提供的通过短信发送验证码方法的流程,具体包括以下步骤
步骤201,服务器接收携带有业务标识和移动终端标识的验证码获取请求。
具体的,以用户注册为例,一种情况是,用户通过注册页面向服务器提交自己的基本信息,提交的信息中会包含此次业务的业务标识(该业务标识可以唯一标识用户的此次注册业务)和用户的移动终端的移动终端标识(如手机号码)。另外一种情况是,用户通过注册页面向服务器提交基本信息之后,切换到填写验证码的页面,假设用户没有接收到服务器发送的验证码短信,此时用户可以通过点击页面上提供的“重新获取验证码”的按钮等方式,向服务器发送重新获取验证码的请求,其中携带有此次注册业务的业务标识和用户的移动终端的移动终端标识。
步骤202,服务器判断是否已经通过短信通道向移动终端标识对应的移动终端发送过该业务标识对应的验证码,如果没发送过,则执行步骤203,如果发送过,则执行步骤 204。
步骤203,服务器通过选择的短信通道向该移动终端发送所述业务标识对应的验证码。
服务器根据预设的规则在所有可用的短信通道中选择发送验证码的短信通道,具体的选择规则(或称选择方法)在下面将进行详细阐述。
步骤204,服务器获得当前没有向该移动终端发送过业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向该移动终端发送业务标识对应的验证码。
优选的,在服务器通过选择的短信通道移动终端发送业务标识对应的验证码之后,服务器可以记录选择的短信通道与移动终端标识、业务标识之间的对应关系。具体可以采用对应关系表的方式存储,如表I所示。在具体的应用中,每个移动终端都可能进行多个需要验证码验证的业务,所以,在缓存中对该表进行存储时,可以将移动终端标识和业务标识共同作为主键,选择的短信通道作为对应的值。
表I
移动终端标识业务标识短信通道13810000001业务A移动杭州通道13810000002业务B移动上海通道13810000003业务C移动南京通道
依据以上记录的对应关系,服务器判断是否已经通过短信通道向移动终端标识对应的移动终端发送过该业务标识对应的验证码时,具体可以查找是否记录有该移动终端标识和该业务标识对应的短信通道,如果已经记录有相应的短信通道则说明服务器已经通过该短信通道向该移动终端发送过该业务标识对应的验证码。例如,如果服务器接收到携带有移动终端标识为13810000001、业务标识为业务A的验证码获取请求,则可以根据 13810000001和业务A在表I中查找,如果查找到相应的表项,则说明已经向13810000001发送过业务A对应的验证码。
依据以上记录的对应关系,服务器还可以确定步骤204中提到的当前没有向移动终端发送过业务标识对应的验证码的短信通道,此类短信通道具体为服务器记录的与该移动终端标识和该业务标识对应的短信通道之外的其它短信通道。例如,服务器记录了 {13810000001,业务A,移动杭州通道}、{13810000001,业务A,移动上海通道}的对应关系, 且服务器通过中国移动建立的短信通道包括移动杭州通道、移动上海通道、移动南京通道, 那么之前未向移动终端13810000001发送过业务A对应的验证码的短信通道则包括移动南—S— Ν7 * A足通道。
在步骤203和步骤204中,服务器选择短信通道的具体方法可以如下
方法一,服务器根据短信通道的发送成功率选择短信通道。具体的,服务器可以选择发送成功率最高的短信通道,也可以在发送成功率大于阈值的短信通道中随机选择一短信通道。
方法二,服务器根据短信通道的发送成功次数选择短信通道。具体的,服务器可以选择发送成功次数最高的短信通道,也可以在发送成功次数大于阈值的短信通道中随机选择一短信通道。
方法三,服务器根据短信通道的发送失败次数选择短信通道。具体的,服务器可以选择发送失败次数最低的短信通道,也可以在发送失败次数小于阈值的短信通道中随机选择一短信通道。
方法四,服务器随机选择短信通道。
上述发送成功次数、发送失败次数、发送成功率的记录或获取过程可以是服务器在通过选择的短信通道向移动终端标识对应的移动终端发送业务标识对应的验证码之后, 如果在预设时间内(如两分钟)再次接收到携带有该业务标识和该移动终端标识的验证码获取请求,则将该短信通道当前发送失败次数加I ;如果在预设时间内没有接收到携带有该业务标识和该移动终端标识的验证码获取请求,则将该短信通道当前发送成功次数加I。 发送成功率则可以根据发送成功次数和发送失败次数来确定。服务器可以在数据库中存储各短信通道的发送成功次数、发送失败次数,作为各短信通道的属性,还可以存储各短信通道的发送成功率。优选的,可以建立短信通道状态表记录这些内容,如表2所示。
权利要求
1.一种通过短信发送验证码的方法,其特征在于,包括服务器接收携带有业务标识和移动终端标识的验证码获取请求;所述服务器判断是否已经通过短信通道向所述移动终端标识对应的移动终端发送过所述业务标识对应的验证码;如果否,所述服务器通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码;如果是,所述服务器获得当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码。
2.如权利要求1所述的方法,其特征在于,所述服务器通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码之后,还包括所述服务器记录选择的短信通道与移动终端标识、业务标识之间的对应关系; 所述服务器判断是否已经通过短信通道向所述移动终端标识对应的移动终端发送过所述业务标识对应的验证码,具体为所述服务器查找是否记录有所述移动终端标识和所述业务标识对应的短信通道。
3.如权利要求2所述的方法,其特征在于,所述当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,具体为所述服务器记录的与所述移动终端标识和所述业务标识对应的短信通道之外的其他短信通道。
4.如权利要求1所述的方法,其特征在于,所述服务器选择短信通道的方式包括 所述服务器根据短信通道的发送成功率选择短信通道;或者,所述服务器根据短信通道的发送成功次数选择短信通道;或者,所述服务器根据短信通道的发送失败次数选择短信通道。
5.如权利要求4所述的方法,其特征在于,所述服务器通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码之后,还包括如果所述服务器在预设时间内再次接收到携带有所述业务标识和所述移动终端标识的验证码获取请求,则将该短信通道当前发送失败次数加I ;如果所述服务器在预设时间内没有接收到携带有所述业务标识和所述移动终端标识的验证码获取请求,则将该短信通道当前发送成功次数加I。
6.如权利要求1所述的方法,其特征在于,当所述服务器已经通过短信通道向所述移动终端发送过所述业务标识对应的验证码时,所述服务器通过选择的短信通道向所述移动终端发送的所述业务标识对应的验证码,与已经向该移动终端发送过的所述业务标识对应的验证码相同。
7.一种通过短信发送验证码的装置,其特征在于,包括接收模块,用于接收携带有业务标识和移动终端标识的验证码获取请求;判断模块,用于判断是否已经通过短信通道向所述移动终端标识对应的移动终端发送过所述业务标识对应的验证码;如果否,通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码; 如果是,获得当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码。
8.如权利要求7所述的装置,其特征在于,还包括记录模块,用于记录选择的短信通道与移动终端标识、业务标识之间的对应关所述判断模块,具体用于查找是否记录有所述移动终端标识和所述业务标识对应的短信通道。
9.如权利要求8所述的装置,其特征在于,所述当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,具体为所述记录模块记录的与所述移动终端标识和所述业务标识对应的短信通道之外的其他短信通道。
10.如权利要求7所述的装置,其特征在于,所述判断模块,具体用于根据短信通道的发送成功率选择短信通道;或者,根据短信通道的发送成功次数选择短信通道;或者,根据短信通道的发送失败次数选择短信通道。
全文摘要
本申请公开了一种通过短信发送验证码的方法和装置,该方法包括服务器接收携带有业务标识和移动终端标识的验证码获取请求;所述服务器判断是否已经通过短信通道向所述移动终端标识对应的移动终端发送过所述业务标识对应的验证码;如果否,所述服务器通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码;如果是,所述服务器获得当前没有向所述移动终端发送过所述业务标识对应的验证码的短信通道,从获得的短信通道中选择一个短信通道,并通过选择的短信通道向所述移动终端发送所述业务标识对应的验证码。采用本申请的方法,可以在通过短信发送验证码的过程中提高短信的到达率。
文档编号H04W4/14GK103002415SQ20111027281
公开日2013年3月27日 申请日期2011年9月15日 优先权日2011年9月15日
发明者叶斌 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1