短信网关系统设计文档 - CodePlex.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
短信网关系统设计文档 - CodePlex

短信网关系统设计文档Wicresoft EKAParker Zhou作者/修改者版本修改原因时间Parker Zhou1.0.0创建2010-11-24目录1、概述32、总体架构42.1 需求概要42.2 总体设计思路42.2 系统设计图53、详细设计63.1 设计概要63.2 数据库与SP概述63.3 短信发送与验证逻辑73.4 全局工厂与接口83.5 Web Service模块(WCF Web Service)103.6 短信服务接口(WE Web Service Interface)113.7 主线程(Main thread to query)123.7 邮件模块141、概述本文档详细说明了短信网关系统的设计。2、总体架构2.1 需求概要使用短信网关替换原有的短信猫来发送短信,并提供一些必要的增值服务。短信网关提供基础功能API(SOAP、SP、Email),以便短信平台或其他业务接口调用。2.2 总体设计思路网关作为一个Windows服务宿主在服务器操作系统中运行,使用SQL Server作为存储管理工具,维护一张Message表,详见短信网关\平台数据库设计。Message表中的记录相当于一个短信队列,网关用多线程的方式定时抽取其中的数据,在新线程中发送或查询短信。为了快速实现数据处理,在SQL Server中定义若干SP(存储过程),对于Message表的任何操作都要通过SP完成,包括新加一条短信记录,修改短信的状态等。同时,网关宿主一个Web Service以提供SOAP编程接口。为了支持通过邮件发送短信,网关还将实现一个邮件模块与Microsoft Exchange的通讯,解析相关的邮件信息,然后调用SP完成短信;邮件模块还负责邮件通知“短信发送失败”的报告。2.2 系统设计图下图的“短信网关”说明了短信网关各个模块的组成关系以及相关技术。关于短信平台的内容详见短信平台系统设计文档。上图的红色模块属于短信网关,其中Window Service有四个主要模块组成:主线程(Main thread to query)负责轮训数据库,并调用短信服务接口(WE Web Service Interface)发送或查询短信,短信接口负责封装若干接口,并通过Web Service的调用方式调用公网的WE Web Service;网关自己的Web Service使用WCF Web Service构建,调用SP,提供发送短信的接口;另外需要一个邮件线程(Thread to query E-mail)负责使用Exchange发送接收邮件,当收到邮件后调用SP。SP存储在数据库中,提供底层的数据库访问。3、详细设计3.1 设计概要本节将根据短信平台各模块分开阐述设计细节。3.2 数据库与SP概述在数据库中设计有一张Message表,存放所有待发送,正在发送,发送成功或发送失败的短信记录。SP模块负责提供接口,将短信记录添加到Message表中,SP的接口如下:proc_PushMessage入口参数类型描述@from nvarchar(20)发送者的alias@pwd varchar(20)发送者密码@text nvarchar(max)发送短信内容@to nvarchar(max)接受者字串,用;间隔,支持联系人名和手机号。相关请参见流程设计返回值int0 成功1 错误的用户名或密码2 错误的联系人名单或电话号码3 其他错误?SP可以被很多业务逻辑调用,因此需要做好完整的单元测试(详见)。这些调用者可能是:用户程序:根据需求,用户可以自己调用。Web Service:短信网关内部的WCF Web Service。详见E-mail模块:邮件模块也是直接调用SP。详见短信平台:短信平台作为一个Web应用程序,向普通用户提供发送短信的便捷方式。详见关于更多数据库和SP的设计细节,请参见3.3 短信发送与验证逻辑系统需要实现重发机制,并且需要提供正确的短信到达状态信息。为了适应WE Web Service提供的接口,在实际的设计中考虑使用两个线程,一个负责发送短信,一个负责查询短信状态。因此,设计如下短信发送与验证逻辑:图中的圆圈表示短信所处的状态,箭头和箭头的注释表示短信状态转移的条件,菱形表示判断,矩形表示操作流程。可以看到短信定义有四种状态,他们之间的状态转移由两个线程的执行结果决定参见主线程(Main thread to query)。其中send线程总是处理待发送状态的短信,query线程总是处理正在发送状态的短信。两个线程通过两个内部存储过程使短信状态发生转移并做相应操作,详见短信网关\平台数据库设计。3.4 全局工厂与接口下图定义了短信网关系统中短信网关层和数据库访问层之间的主要接口以及短信网关层内部的接口。为了降低对象和对

文档评论(0)

pangzilva + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档