中国移动Mas短信平台开发增值服务的一些心得

Mas短信开发增值服务平台建设

   

中国移动MAS机的知识本人不是很熟悉,只知道如何使用它和.net开发链接起来做短信发布,下面是我在网上看到的一些介绍:

移动代理服务器 Mobile Agent Server(MAS)

1MAS系统组成和功能:

  MAS系统包括MAS终端、MAS服务器和MAS管理平台,中国移动通过在集团客户(主要为拥有完备企业信息系统的政府行业用户和企业)内部部署移动代理服务器,为集团客户提供的基于移动终端(包括短信、彩信、GPRS 、WAP、手机客户端等)的信息化应用服务。通过移动代理服务器将不同的行业用户应用和业务延伸到移动终端。

  1.1 MAS服务器组成和功能:

  MAS服务器的组成:

  MAS服务器由应用接入适配插件模块、业务调度模块、移动安全接入模块及管理模块组成。

  各组成完成的功能:

  应用接入适配插件模块实现移动应用业务的移动应用接口,通过多种移动通讯方式完成移动办公、移动Email、数据的现场查询、采集、录入、WAP应用等移动应用业务。

  业务处理模块对从应用系统接收到的数据信息进行处理,主要功能包括信息处理及路由、用户认证、业务调度、日志处理和QoS控制等。

  移动安全接入模块一方面通过移动行业网关提供的接口协议,实现MAS服务器与行业网关的数据通信。另一方面采用安全加密技术提供短信安全接入、彩信安全接入、GPRS安全接入、WAP安全接入、USSD安全接入、智能终端安全接入功能,通过这种方式实现信息的空中加密传输,为MAS终端提供安全服务。

  管理模块完成MAS服务器的自管理和服务,可提供网络管理、认证鉴权在内的接口子模块。可选用业务导航、路由管理、业务管理、数据管理、应用发布、统计分析、地址本管理、系统配置管理等功能模块。

  1.2、MAS管理平台:

  MAS管理平台运行于移动公司,通过加密IP通道与MAS服务器进行通讯,完成对MAS服务器的管理和控制,具体的管理的内容有配置管理、认证管理、监控管理、故障管理、安全管理、升级维护管理。

  1、3、MAS终端:

  移动终端通过MAS系统能够以SMS/MMS短消息、GPRS等移动通讯方式连接访问信息网中应用数据,完成对数据移动应用。MAS终端配备硬件加密模块(如手机配备安全SIM卡、笔记本配备安全PCMCIA卡),对移动安全接入模块加密的下发信息进行解密,对上行信息进行加密等操作,保证接收到的信息或发送的信息的传输安全。MAS终端可以是普通手机、智能手机或PDA手机、移动笔记本电脑等移动终端。

2MAS系统结构:

  2.1 系统结构图:

  2.2 MAS网络结构:

  MAS服务器:部署在行业用户和企业内部,通过广域网或者移动公网与行业网关、MAS管理平台进行通讯。

  MAS管理平台:部署在移动机房,通过中国移动内部网络与BOSS及省综合网管通讯,通过广域网对各MAS服务器进行管理。

  MAS终端:MAS终端通过移动网络使用MAS系统所提供的业务。根据需要,可能需要安装客户端软件。

3MAS完成的业务:

  3.1 MAS业务描述:

  MAS终端通过安全短消息、GPRS在线方式、IP 在线业务、WAP等数据业务方式,通过MAS业务代理服务器转发MAS终端的业务请求,完成数据的移动查询、采集、录入等移动应用,业务处理完毕后从MAS服务器接收处理结果,并将处理结果返回到MAS终端。

  3.2 MAS完成业务的流程:

  1)MAS服务器的部署:依据行业用户需要完成的业务进行MAS服务器的安装部署,

  2)业务受理:

  业务受理时序图:

  3)MAS服务器的注册:

  MAS服务器注册管理:

  4)MAS服务器认证与鉴权:

  MAS服务器认证与鉴权

  5)配置应用接入适配模块:

  在MAS服务器对移动应用接入适配模块中的需开通的插件进行配置,配置内容包括MAS 服务器的基本信息,包括主机信息、支持用户数、IP地址、业务服务端口等。

  6)运行MAS系统:

  MAS服务器根据MAS管理平台下发的移动数据业务及业务适配能力开通相应功能;

  MAS管理平台对MAS服务器的设备状态及运行状况进行监控和管理;

  MAS终端配置安全模块、应用模块,通过移动通信网络与MAS服务器之间实现安全通信, MAS服务器作为业务代理服务器向应用业务处理服务器转发MAS终端的业务请求,业务处理完毕后从MAS处理服务器接收处理结果,并将处理结果返回到MAS终端。

4MAS系统中的安全:

  MAS系统采用安全措施保证信息网络传输安全、MAS服务器安全、行业用户信息网信息安全、移动终端安全,保护中国移动行业用户移动应用整体安全。

  4.1 数据传输安全:

  MAS服务器通过VPDN方式连接到行业网关和MAS管理平台等设备,从IP链路上保证数据传输的安全;信息在网络传输中以加密方式进行传输,保证了数据传输的安全。

  在对安全传输有较高要求的行业与应用中,可采用安全级别更高的专用安全传输与认证系统,保证信息安全。

  4.2 移动终端安全:

  移动终端上可使用专用安全SIM卡、安全PCMCIA模块进行信息加密、用户身份认证,以保证移动终端的安全。

  4.3 MAS管理平台安全:

  MAS系统从访问控制、安全检测、攻击监控、操作审计等一系列方面提供安全功能,有完整的网络安全监控、报警和故障处理功能,保证了MAS管理平台的安全

  4.4 完善的权限管理和日志管理:

  MAS系统提供数据库日志、操作系统日志完善的管理日志;移动终端上的安全SIM卡/安全PIMCIA卡以及MAS管理平台提供的使用用户、管理员权限管理有效的对MAS系统的使用进行权限管理。

 

他的功能很多,下面就简单介绍一下自己一个月来对他的使用。主要是在短信发送接收方面的一些内容

   Mas机的数据库我们可以看一下,里面有很多的表,我们做移动增值开发的时候,真正用到的只有两张表:tbl_SMSendTask和tbl_SMReceived

   Tbl_SMSendTask表:这是短信发出任务表,添加到这个表里面得内容,如果条件符合,或者说对应的插入信息是真实的话,那么mas机就会立即发出该条信息,发出成功后这条记录就会自动删除。

  下面简单介绍一下,该表的字段名称以及作用:

字段名

说明

ID

主键,任务的ID号,自动增加字段

CreatorID

创建者ID

TaskName

任务名称
当SMType为3或4时,表示企业代码 spId

SmSendedNum

该任务的已经发送的数量,初始值为0
暂停的实现也需要这里支持。

OperationType

标识是移动办公:WAS,业务定制:SPS

SuboperationType

对应移动办公WAS中的常用业务的类型,取值50-99;sps中配置的业务,取值0-49。便于扩展定制化的业务类型。和小类别的统计

SendType

1:表示普通短信2:表示群发短信3:表示点点通4:表示常用业务5:表示wap-push短信

OrgAddr

主叫标识号码,源地址

DestAddr

1.目的地址手机号码.当为SPS业务和WAS的单发任务时为手机号码用空隔分隔;2.当目的地址为文件时,目前为一条消息一个文件号码,不支持多个文件;3.当SMType为3或4时,表示使用用户标识destUserId

SM_Content

消息内容,当SMType为3或4时,表示计费用户类型 feeUserId

SendTime

短信要求下发时间

NeedStateReport

是否需要状态报告;0:不要状态报告;1:要状态报告

ServiceID

业务代码

FeeType

该短信的资费类型

FeeCode

资费代码(以分为单位)

MsgID

从网关返回的消息ID,用于匹状态报告

SMType

默认值为0
表明该短信的类型
0:普通短信1:点播短信3 反向定购消息4 反向取消定购消息5 正向消息应答

MessageID

默认值为'0'
SMType为0,本字段为0
SMType为1,本字段为LindID
SMType为2,本字段为TransactionID(CMPP3的版本支持)
当SMType为3或4时,表示事务ID号 transactionID

DestAddrType

默认值为0
标识DestAddr是真实的手机号码还是伪码
0:真实的手机号码
1:伪码(CMPP3的版本支持)

SubTime

消息被提交到待发表中的时间

TaskStatus

该任务是否已经被取出,没有被取出为:0,取出后为:1

SendLevel

普通发送级别,0级最高,依次类推,现在分为最高 0,高 1,中 2,低 3,四级。Sps的都为0级,was的使用后面三级。

SendState

短信发送任务的状态分为:发送 0,暂停 1,取消 3,暂停转发送,如果该任务已经被加载到内存即 (TaskStatus=1)设为2,如果还没有加载到内存即(TaskStatus=0),设为0。由取消状态转为发送时需要将 TaskStatus设为0,发送状态为0,对已经加载到内存的任务,要同时删除Tbl_SMSendState表中该任务的相关记录。

TryTimes

重发次数

Count

任务的总条数

SuccessID

任务发送进度,表示发送到任务的第几条短信

Reserve1

保留字段

Reserve2

保留字段

 

看完这些字段作用之后,还是有很多不明白的地方,那么看一下下面的这个插入实例:

 

insert into tbl_SMSendTask  (CreatorID,ServiceID,OperationType,sm_Content,OrgAddr,DestAddr,SendType,TaskStatus,FeeType,FeeCode,MsgID)

values('0000','MSC2110505','WAS', '对不起,该投票已结束',' 10657307023210170','1354444****','4','0','01','0','0')

 

上述使用的这条插入语句中字段都为必须添加的字段,不然的话mas机就不会发送这条短信。

ServiceID是mas机的编码,每个mas机都有一个名字,就像计算机名称一样。

OrgAddr:主叫的号码地址,这是send表,那么这个主叫地址就是mas机的地址,这个地址很长,大致为:10657307023210170。这个号码的前十二位是每个mas机启用后中国移动给的固定的标示。就像mas机的身份证一样的,利用他中国移动可以追踪到具体的硬件位置。这条记录进到mas数据库里面之后,如果符合条件,mas机就会与中国移动通信从而将短信内容发布到对应的手机号码。

上面的那条插入语句,可以实现向中国移动用户1354444****发送短信息,用户收到的短信息显示的号码就是10657307023210170。

 

另外一张表就是接受短信的表tbl_SMReceived

这张表是用来接收移动用户给本Mas机回复的短信息。

这张表也是很重要的表,我们做增值开发的人员可以从这张表中读取我们想要的信息,进行统计分析等,得到我们想要的内容。

这张表中的字段中存有的我们比较关心的东西有:回复短信的电话号码,回复内容,回复时间等。

总结

介绍到这儿,我们应该可以了解到,移动增值服务系统的一些开发思路了吧。其实一开始接触mas系统开发的时候,我最无从下手的就是不明白这个短信是怎么发出去的,以及回复的短信是怎么收到的。经过本文,我们应该可以了解到,对于短信的发送和收取,我们要做的就只是mas机的数据库中的发送表中加入记录,在接收表中读取记录就可以啦,至于短信怎么发出去的,我们没有必要去知道啦。

另外,这些东西很多是关于数据库处理的,那么很多操作我们不能在程序中完成,这样就没了时效性,比如用户针对某个投票调查回复了一条信息,那么他应该立即收到提示说投票成功或失败,如果这一过程要在程序中实现,那么你必须将程序时刻运行,时刻刷新进行回复,否则用户就只能在你程序下一次执行时才会收到信息提示,时效性就没啦。这个例子中的用户提示信息可能可以晚一些,但是对于做数据统计或者其他的工作就不一样啦,系统的使用者不可能时刻去刷新系统,重新去访问数据库,那样负载也太大啦。

所以,在开发移动MAS增值服务时,我们要在数据库中作很多处理而不是程序。比如触发器的使用,作业的使用等,这样就可以立即对用户回复的短信内容进行有效性判断和一些简单的统计归类个、分析,使得系统更人性化,可用性、时效性更强。

以上便是我对mas增值服务开发的一些小的心得,不足之处或错误之处还请指正。

你可能感兴趣的:(.net开发)