USSD(Unstructured Supplementary Service Data)即非结构化补充数据业务,是一种新型基于GSM网络的交互式数据业务。用户通过手机键盘回复实现功能操作。USSD是短信,IVR系统补充。USSD实现与短信相比实现信息实时通信,与IVR相比简捷方便。
完整USSD应用由通信平台和后台支撑系统组成。通信平台实现USSD通信协议,后台支撑平台实现系统指令解析和内容返回。通信平台分为三部分:
1.控制和监控模块
控制模块主要功能是与USSD网关建立SOCKET连接,启动监控,网关通信,外部通信模块线程。监控模块是单独线程,主要功能是发送SOCKET链路保持包,保证SOCKET持续存在。
2.USSD网关通信模块
网关通信模块包括三个部分,发送和接收队列模块,发送模块和接受模块。发送和接收队列是单例的java类,由两个LinkedList组成接收和发送队列,发送数据对象和接收数据对象放到相应队列中。发送模块功能是从发送队列中取出发送数据对象,根据对象类型组成不同byte流发送给网关。接收模块功能是从SOCKET中取得接收基类对象,根据对象类型转换成相应数据对象放到接收队列中。
3.外部应用通信模块
外部应用通信模块是接收类,功能是从接收队列中取得对象,通过webservice接口把对象传给后台应用解析,取得返回结果,放入发送队列。