论文部分内容阅读
彩铃业务是一项由被叫用户定制,为主叫用户提供一段悦耳的音乐或一句问候语来替代普通回铃音的业务。用户申请开通彩铃业务之后,可以自行设定个性化回铃音,在其做被叫时,为主叫用户播放定制的个性化音乐或录音,来代替普通的回铃音。彩铃业务短信接入系统作为彩铃平台的一个子系统,接收彩铃用户短信请求,调用彩铃平台业务功能完成业务处理,并向用户回复短信告知处理结果。目前彩铃业务短信接入系统是基于UIScript(User Interaction Script)脚本语言实现短信业务处理的。UIScript脚本语言是一种基于独立智能外设平台的专用编程语言,业务开发人员通过文本编辑器编写UIScript脚本代码,加载到独立智能外设控制节点上编译并运行。随着彩铃业务属性增加,这种基于UIScript脚本语言实现短信业务逻辑处理的实现方式逐渐暴露出代码复用、可维护性以及性能等方面的问题。另一方面,各种彩铃业务接入子系统独立建设、实现技术各异的现状,造成彩铃业务属性的增加或者修改需要同时修改各接入子系统的代码来实现,一方面造成了不必要的额外工作量,另一方面也带来了业务逻辑的潜在不一致性。鉴于此,本文提出一种对彩铃业务短信接入系统的改进方案,并给出了该方案的架构设计以及关键模块的详细设计和具体代码实现。该方案在原有系统中引入彩铃短信业务服务器,用来集中进行彩铃短信业务的处理。彩铃短信业务服务器与智能外设控制节点分离,这样可以使得彩铃短信业务的处理和彩铃呼叫处理相互独立,从而降低了业务繁忙时彩铃呼叫和彩铃短信业务的相互制约。彩铃短信业务服务器采用Java语言开发,采用了分层的设计思想,整个系统分为网络通信层、编解码层、业务控制层以及统一业务逻辑层。在设计过程中引入多种流行的设计模式,如MVC(Model ViewController),IoC(Inversion of Control),DAO(Data Access Object)等,在实现中使用到Java NIO(New Input Output),多线程,Spring框架,Hibernate,JMX(Java Management Extension)等多种最新Java技术和框架工具。这样的设计和实现,使得彩铃短信业务服务器具有良好的可扩展性和可维护性。其中,统一业务逻辑层是彩铃业务能力的全集,对外提供彩铃业务逻辑API(Application Programming Interface),这些API可以被包括短信接入系统在内的各种彩铃业务接入子系统调用。各接入子系统共用统一业务逻辑层,这样就减少了不必要的工作量,也避免了同一业务逻辑在多处实现造成的潜在不一致性。目前,改进方案已经在浙江移动彩铃平台进行了试点,取得良好效果。系统上线以来运行稳定,性能满足需求,系统在代码复用、易于维护等方面的提升有效地减少了彩铃短信业务维护人员的工作量,这些成果为其他省份的彩铃平台短信接入子系统改造提供了参考。