设计模式在短信触发平台中的实践和应用毕业论文
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
目 录
think58 [资料来源:http://THINK58.com]
1 绪论 1
1.1 题背景及目的 1
1.1.1 课题背景 1
1.1.2 课题目的 1
1.2 国内研究现状 2
1.2.1 IVR 2
1.2.2 SMPP 3
2 设计模式 4
2.1 设计模式简介 4
2.1.1 基本要素 4
2.1.2 一些基本的设计模式 5
2.1.3 设计模式之Factory 6
2.2 应用框架 12
2.2.1 Spring Framework 13
2.2.2 WebWork 13
2.2.3 Struts 14
2.2.4 Hibernate 14
3 短信触发平台的需求和设计 15
3.1 需求概述 15
3.1.1 短信拦截业务 15
3.1.2 短信自动回复业务 15
3.1.3 短信转移业务 15
3.1.4 短信U盘业务 15
3.1.5 短信加密业务 16
3.2 系统结构 16
3.2.1 短信平台结构 16
3.2.2 短信触发系统结构 17
4 短信触发平台的实现 18
4.1 开发环境 18
4.1.1 流程开发IVR TOOLS 18
4.1.2 开发平台Eclipse 18
4.1.3 数据库Sybase 19 内容来自think58
4.2 IVR接口形式 20
4.3 IVR处理流程 20
4.3.1 用户业务登记注册 20
4.3.2 短信中心业务触发 21
4.3.3 短信中心短信处理流程 21
4.3.4 短信中心回执处理流程: 21
4.4 IVR指令方案 21
4.5 设计模式在短信触发平台中的应用 22
4.5.1 新太科技的openeap平台 23
4.5.2 Factory在短信触发平台应用 23
4.5.3 后台调度设计 27
5 结论与展望 30
1.1.2 课题目的
电信市场竞争的日趋激烈和移动通信对固定电话的冲击,多家电话运营商以价格和服务争夺用户的“拉锯战”,再加上网络电话等新技术、新业务的强力冲击,使得中国电信面临着前所未有的压力。正是在此压力之下,中国电信明确提出实施战略转型,推动企业由传统基础网络运营商向现代综合信息服务提供商转变。
然而,这种转变并非一蹴而就,转变的过程也非一帆风顺,商务领航信息化服务在市场运营推广的过程中面临重重困难,抛开产品本身存在的问题,尽管其商业模式得到了应用提供商、设备提供商、服务提供商、中国电信甚至用户的充分肯定,但在降低用户的资金、技术、人才压力门槛的同时,从某种程度来讲,将这种压力传递到电信自身和应用提供商、设备提供商、服务提供商身上,短期内无法大量创收,转型的道路走得非常艰辛,全新的信息化服务专家的形象暂时无法充分体现。但激烈市场竞争不容许电信公司消极等待和踌躇迟疑,需要充分挖掘现有资源潜力,提供有别于传统语音的差异化服务,推出短信触发平台业务,在满足市场需求的同时增强自身竞争力,使其发挥最大效用。
随着江苏电信小灵通短信应用的持续增长,短信业务的巨大潜力已经越来越展现出来,同时,声讯IVR业务作为增值业务的传统业务形式,在江苏已经发展的相当成熟,展现出更多的求新求变的趋势。如果能够将短信业务于IVR业务结合起来,将会极大的提升无论是短信还是IVR业务的吸引力,并提高业务的服务层次。两者的结合不仅将提升很多现有业务的服务能力,同时,两者的结合还将涌现出更多新的服务内容。 [来源:http://www.think58.com]
1.2 国内研究现状
1.2.1 IVR
IVR,(Interactive Voice Response)即互动式语音应答,您只须用电话即可进入服务中心,根据操作提示收听手机娱乐产品。 可以根据用户输入的内容播放有关的信息。IVR(交互式语音响应)是呼叫中心的重要组成部分,主要用于为用户电话来访提供语音提示,引导用户选择服务内容和输入电话事务所需的数据,并接受用户在电话拨号键盘输入的信息,实现对计算机数据库等信息资料的交互式访问。IVR可以取代或减少话务员的操作,达到提高效率、节约人力、实现24小时服务的目的。同时也可方便用户,减少用户等候时间,降低电话转接次数。
IVR业务:意即无线语音业务增值服务,和目前大家熟知的固定电话声讯服务类似。手机用户拨打指定号码,获得所需信息或者参与互动式的服务。 最常见的业务有:1 语音点歌、2 语音聊天交友、3 手机杂志、4 电子贺卡。目前运营IVR业务的SP包括雷霆无极、腾讯、鸿联九五、新浪。其中,TOM旗下的雷霆无极占有国内市场70%的份额。据中移动预计,2004年国内IVR业务的市场规模将达到25亿人民币左右,当然,这一数据相对乐观。但是不可否认,IVR也必将成为无线增值服务中的重量级业务之一。 现有的IVR业务包括彩铃(移动自己运营)、在线点歌、语音信息服务、语音游戏、多方会议、背景音乐通话以及聊天交友等等。实质上,IVR业务主要是复制以前声讯台的业务模式,同时也提供了虚拟身份的主题聊天和点对点聊天业务。 本文来自think58
1.2.2 SMPP
SMPP(short message peer to peer)协议是一个开放的消息转换协议;它定义了一系列操作的协议数据单元(PDUS)和当SMPP运行时ESMS应用系统与smsc之间交换的数据。从而完成SMSC与ESMES(外部短消息实体)的信息交换。SMPP是基于SMSC与ESME之间的请求和响应协议数据单元的交换,每一个smpp操作都由一个请求pdu和相应的一个响应PDU组成并且这种交换是在TCP/IP或x.25网络连接之上的.
1、 与CMPP/SGIP协议的差异
1) 协议定义比CMPP和SGIP严谨和规范,虽然CMPP和SGIP都是从SMPP派生出来的。
2) CMPP和SGIP中有大量的关于计费的定义,SMPP没有考虑这部分内容。这完全反映了通过短信实现的移动增值业务模式在国内的成熟和流行。
3) SMPP的网络承载层可以是TCP/IP和X.25。
2、SMPP协议解决的是移动网络之外的短消息实体与短消息中心的交互问题。即允许移动网络之外的短消息实体(External Short Message Entities,ESMEs)连接短消息中心(SMSC)来提交和接受短消息。
3、任何SMPP操作都包含请求PDU(Request Protocol Data Unit)和与之对应的回应PDU(Response Protocol Data Unit)。
4、SMPP把ESMEs分类为Transmitter/Receiver/Transceiver三种交互方式,分别对应仅提交短消息/仅接收短消息/提交和接收短消息三种形态。
5、SMPP会话有5种状态:OPEN / BOUND_TX / BOUND_RX / BOUND_TRX / CLOSED
2 设计模式
2.1 设计模式简介
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。GoF的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化,GoF包括23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。
2.1.1 基本要素:
1. 模式名称(pattern name)
一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了我们的设计词汇。设计模式允许我们在较高的抽象层次上进行设计。基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文档时使用它们。模式名可以帮助我们思考,便于我们与其他人交流设计思想及设计结果。找到恰当的模式名也是我们设计模式编目工作的难点之一。 [来源:http://think58.com]
2. 问题(problem)
描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。
3. 解决方案(solution)
描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
4. 效果(consequences)
描述了模式应用的效果及使用模式应权衡的问题。尽管描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
2.1.2 一些基本的设计模式
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 think58好,好think58
[来源:http://think58.com]
Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
Chain of Responsibility:为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
Command:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
Composite:将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。
Decorator:动态地给一个对象添加一些额外的职责。就扩展功能而言, 它比生成子类方式更为灵活。
Facade:为子系统中的一组接口提供一个一致的界面, F a c a d e模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。
内容来自think58
[资料来源:http://www.THINK58.com]
Flyweight:运用共享技术有效地支持大量细粒度的对象。
Interpreter:给定一个语言, 定义它的文法的一种表示,并定义一个解释器, 该解释器使用该表示来解释语言中的句子。
Iterator:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
Mediator:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
Memento:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。
Observer:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
Prototype:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。
Proxy:为其他对象提供一个代理以控制对这个对象的访问。
Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
State:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。
Strategy:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。 think58好,好think58
[资料来源:http://THINK58.com]
Template Method:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
Visitor:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
[资料来源:http://think58.com]