移动网数据库系统接口协议分析
CSMS在收到申请请求消息后,必须在T1-1超时之前发送申请响应消息;而携入方一旦在T1-1的时间内没有正确地收到申请响应消息,将会进行重发和告警。
4 协议高可靠性的设计
为了提高CSMS接口协议的可靠性,在设计过程中引入了以下三种机制:
·ACK快速反馈机制;
·完善的错误定义和后处理机制;
·心跳检测机制。
首先,在CSMS接口协议中,定义了一种特殊的消息,称为ACK消息。在业务节点接收到任何一条NP消息后,将首先返回一条ACK消息。ACK消息不携带任何应用层面上的信息,仅仅是告知发送方我已经接收到了你方发来的消息。有了ACK消息,发送方就能立刻确认对方是否已经正确地接收到了消息,而不是在等待对方超时仍然没有返回响应消息时才发现上一条消息对方并没有正确接收到。通过使用ACK机制,无疑是提高了协议的可靠性。
其次,在CSMS接口协议中,定义了50多种错误消息代码,并且根据实际应用情况,还有可能继续扩充。这些错误消息代码的定义,最大程度上细化了NP业务中可能出现的异常情况,而细化的结果就是针对每一种错误情况都定义了完备的后处理机制。例如当消息发送方收到的ACK消息中携带“500”(接收方服务器异常)错误代码,则发送方应在五分钟后使用新的MessageID号重发此消息。
最后,CSMS接口协议中还定义了心跳检测机制,CSMS会定期通过网络层的消息(例如Ping消息)检测对端的健康状态。一旦发现与对端之间的网络出现问题,则暂停发送消息,避免在网络故障时出现大量重发消息的堆积。5 底层承载协议的选择
CSMS接口协议是一种自定义的协议,但是自定义的部分主要是为了实现NP特有的业务流程,即自定义了各种消息和定时器。而从协议的网络模型上看,接口协议然是构建于一些底层的承载协议之上。CSMS接口协议的层次结构如图3所示。
图3 CSMS接口协议层次结构
采用以上这种协议架构,是基于CSMS接口协议的网络环境决定的。CSMS接口协议需要应用于TCP/IP的网络环境之下,在此网络环境下,HTTP协议具有最强的适应性,可以很好地解决私网穿越、防火墙隔离等问题。TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP是一个四层的分层体系结构。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。
而使用SOAP协议,简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
诚然,TCP/IP网络和HTTP协议在先天上都具有可靠性不够强的缺陷,但是作为主流的应用协议,基于它们进行协议开发,能够大大降低开发周期和开发难度,自然也就提高了协议的易用性和可维护性。而对于可靠性不高的问题,也可以通过各种提高可靠性的机制加以弥补。
6 结语
从内部测试和试运行的情况来看,这套协议基本达到了当初的设计目标,能够很好地支撑各种NP业务流程。
- PLC、FCS、DCS三大控制系统区别(07-07)
- 从4G到V2V 车联网还需要哪些通信协议?(07-02)
- 用SoC设计简化可穿戴设备的开发(07-24)
- 详谈如何解决物联网应用难题(07-20)
- 计算2.4 GHz频段模块的路径损耗(09-06)
- ZigBee vs WiFi,物联网通讯协议哪个赢(12-10)