别被本文的标题吓住了,本文只是要阐述一个关于SP的短信应用(标题党?!),一个很简的单场景的很巧妙的实现方式。当然,不是我发明的,是移动旺旺的方法,一个很值得借鉴的方法。
做过SP短信业务的童鞋都知道,向用户手机下行短信容易,直接向用户手机号码MT即可。但反过来用户在收到SP的短信后,向SP回复短信就不那么简 单了。当然这个不简单指的是SP端对用户上行短信的处理。最基本的,需要识别用户发送或者回复的短信针对的是哪一个业务。这里必须给用户提供一个简单的使 用方法,否则你指望用户去“学习”你的使用指南,然后在来编发短信,基本上是痴人说梦。
一般情况下,SP会在推广业务的时候告知用户:“请发送AA+短信内容到123456”。这是常见的方式,这里的AA被称为命令字,SP在接收到短 息之后,可以通过这个标示来识别用户所请求的业务;后面的123456被称为端口号,也就是SP的特服号码(或者成为端口号),这个号码的总长度是21 位,但运营商分配给SP的并不是一个21位长度的号码。现在几大运营商的SP业务特服号是根据工信部的要求,统一为10655开头,然后跟3-5位由运营 商自行分配的数字。也就是说SP得到是一个8-11位长度的号码,距离21位长度还远着呢。也就是说SP在得到端口号后,还有10-13位长度的数字可以 自行任意分配。运营商会把所有接收人为SP短号码开头的不超过21位长度的短信统统转发到SP的业务系统。
回到我们的问题上来。移动旺旺,简单来说就是给普通用户提供一个通过电脑向手机用户发送短信,并且手机可以直接回复短信到电脑的服务。有点类似飞信,但不同的地方是,它可以向所有运营商的用户发送,而不仅仅是移动用户。另外它是收费的。
通过前面的描述不难看出,通过移动旺旺发出短信的处理过程是很简单的,问题的重点是手机在收到来自移动旺旺的短信后,直接回复了短信,旺旺的短信平台在收到这条用户上行之后将怎么处理。当然,目标是很明确的,需要把这条上行短信转发给通过旺旺发出短信的旺旺用户。
举例:用户A通过移动旺旺向手机号13911112222发出短信,手机收到了来自SP特服号为106551234的短信,然后手机直接回复了这条短信,他希望这条短信被用户A收到。
好了,移动旺旺的短息平台收到一条用户上行短信,它知道这条短信是要转发给一个移动旺旺用户的,但是要转给哪个用户呢?不知道了……移动旺旺当然不是吃菜的,它在呆立了片刻之后,露出了一个奸笑。汗,它想到办法了!
办法就是在SP端口号和用户手机号上做文章。为了便于阅读,这里假设移动旺旺的端口号为106551234。用户A在通过旺旺发出短信的时候,移动 旺旺的短信平台会在端口号后面分配4位数字给用户A使用,并且同接收人的手机号绑定起来(在数据库里建立一个关系),比如这个数字是5678。这样用户A 发送给手机号13911112222的短信,在手机上显示的发送人号码就是1065512345678,用户直接向这个号码回复短信。移动旺旺的短信平台 在收到用户上行后,提取端口号的最后4位数字即5678,然后到数据库中通过手机号和5678这个数字作为条件查询绑定关系,得到的就是移动旺旺用户A的 id了,那个需要接收短信的用户A就这样被“无情的”揪了出来:)
注意,分配端口号的后4位数字的原则是:该数字没有同某手机号绑定过。否则当两个移动旺旺用户同时向该手机发送短信,并且很巧的是,这个手机号得到了两个相同的端口号后4位数字,然后手机用户回复短信。我敢保证,移动旺旺的短信平台立马呆在当场:)。
回到本篇的标题,“无限扩展”,这是为什么呢?真的就无限了吗?是的,基本上可以这么说!(pia-pia,基本上是什么意思?)嗯,关键就在移动 旺旺用户id、端口号的后4为数字、用户手机的绑定关系表上。有了这个绑定关系,一个手机号就以同1W(端口号后4位0000-9999)个联系人进行无 障碍的短信沟通了。谁能整1W个联系人?!I肯定服U。你要真有这本事整了1W多个联系人,没关系,增加这个数字的长度即可,还有7、8位可以使用呢,有 本事你让我都用上,哈哈。
最后,如果把这个绑定关系持久保存起来,那么手机用户就可以随时向移动旺旺的特服号发送短信让旺旺用户在电脑那端接收了。

转载于:https://blog.51cto.com/firefish/266437

浅析移动旺旺特服号之无限扩展相关推荐

  1. 重构智能合约(中):平行宇宙与无限扩展

    1.前言 本文是小蚁的两位创始人过去两年中在设计小蚁智能合约时所做的深度思考和技术探索的结果.<重构智能合约>系列文章将分为上.中.下三篇,分别从确定性和资源控制.扩展性和耦合度.通用性和 ...

  2. 一直在构建工作空间_智能工作空间让Dropbox拥有无限扩展潜力

    智能工作空间让Dropbox拥有无限扩展潜力 Dropbox一直以"让工作变得更好"的使命.在竞争激烈的市场中,Dropbox有着卓越的历史,就连苹果创始人史蒂夫·乔布斯曾经提出来 ...

  3. MultiTimer | 一款可无限扩展的软件定时器

    嵌入式开源项目精选专栏 本专栏由Mculover666创建,主要内容为寻找嵌入式领域内的优质开源项目,一是帮助开发者使用开源项目实现更多的功能,二是通过这些开源项目,学习大佬的代码及背后的实现思想,提 ...

  4. 区块链不可能三角(一)--扩容、扩展、无限扩展

    1 区块链不可能三角 区块链可扩展性,也就是不可能三角 2 可扩展的第一个定义-可扩展的POW 可扩展性的定义: 在不加任何限定下,这是指某个表现y随着某个变量x的增长的变化情况,如果y能够随着x的增 ...

  5. 荣耀4c显示无服务器,荣耀畅玩4C标准版存储紧张?教你不花钱,无限扩展

    原标题:荣耀畅玩4C标准版存储紧张?教你不花钱,无限扩展 荣耀畅玩4C存储空间由8GB升级为16GB的增强版已经上市一些时日了,能多下载3000首歌曲,15部电影,肆意下载更多APP.标准版的小伙伴们 ...

  6. 使用 Eav 模型构建可无限扩展的数据存储能力

    举个例子 假设要做一个电商的商品管理,我们先卖一些衣服,需要管理衣服的尺码.颜色.款式等信息,有一天需要卖电脑了,电脑需要 主板.CPU.显卡.内存.硬盘.散热 等信息,过几天又需要卖手机了,手机有 ...

  7. 「数据ETL」从数据民工到数据白领蜕变之旅(五)-使用dotNET脚本实现SSIS无限扩展...

    在前面一文中,正式引出了SSIS专业数据ETL工具,笔者仅能作引路作用,未能使用文章的方式给大家写出更多的入门级的文章,希望读者们可以自行根据分享的学习资源自行完成入门及进阶的学习. 同时也想给大家分 ...

  8. 响应式扩展_响应式和无限扩展的JS动画

    响应式扩展 Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - ...

  9. php表格无限扩展,php 无限级缓存的类的扩展

    /** * 功能: 根据条件建立分类缓存减少类别使用 * 创建日期:Thu May 31 15:55:11 CST 2007 * 最后更新: * 作者: sanshi */ class treeCac ...

最新文章

  1. oracle expdp导出教程,Oracle Expdp Impdp 数据泵导入导出
  2. 记Redis那坑人的HGETALL
  3. python123平台作业答案第十二周_【2018年 网鼎杯CTF 第二场】红日安全-网鼎杯WriteUp(24日 更新:web详解)...
  4. viterbi算法_序列比对(十四)——viterbi算法和后验解码的比较
  5. 原理c++_浅谈C/S和B/S架构的工作原理及优缺点
  6. C++语言实现-邻接矩阵
  7. 1-3 Sass 语法、编译、调试
  8. pcc定义_PCC介绍——智能管道
  9. miui android 9q,小米 9 MIUI Android Q Beta 优先体验版正式推送:轻松升级
  10. Xshell 5 免费版本安装过程
  11. 颜色对照表(二)(16进制、RGB、CMYK、HSV、中英文名)
  12. nginx代理、白名单过滤、双域名备案代理
  13. volatile的区别
  14. 苍穹插件常用事件与方法
  15. Linux网络连接命令
  16. 第三次工业革命(四)
  17. ExecuteNoQuery()返回值
  18. baidupcsgo安卓_百度网盘资源下载器下载
  19. 当我用ChatGPT中学习CNN卷积神经网络时...
  20. 安装SPSS24用到的链接

热门文章

  1. 使用python采集某二手房源数据并做数据可视化展示(含完整源代码)
  2. 毕业设计-基于BP神经网络预测系统的设计- MATLAB
  3. ? 精美图文带你掌握 JVM 内存布局
  4. FusionCharts Free (FCF) V3 新特性之样式(Styles)
  5. 《大学章句集注》-读书笔记之一
  6. 交你如何快速破解word限制编辑密码!
  7. PVM58N-YY1AGR0BN-1213光电采样编码器
  8. oracle快速了解法,快速掌握Oracle基本语法,让你来去自如
  9. VtigerCRM重置管理员密码
  10. 使用 Live Transcribe 进行实时连续转录