- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
移动网间号码携带业务受理体系通信机制
3 NP业务消息及参数的定义
号码携带受理节点之间的通信,本质上就是在节点之间通过携带参数的消息来传递信息。因此,仅仅确定使用SOAP协议是不够的,SOAP协议只是解决了节点之间交互方式的问题,下一步的工作就是要在此基础上自定义SOAP的应用语义,即各种NP消息和消息参数。
基于NP业务的特点,NP业务节点之间需要传递的消息可以分为5大类,即请求类消息、响应类消息、指示类消息、确认类消息和告知类消息,在此基础上又定义出了"申请请求消息"、"申请响应消息"、"生效广播指示"、"生效广播确认"、"生效结果告知"等共计34个NP业务消息。响应类消息用于对请求类消息进行反馈,而确认类消息用于对指示类消息进行反馈,告知类消息用于在某一流程完成后通知相关第三方。所有NP消息都通过HTTP协议的POST方法进行传递。
在消息参数上,每一个消息都携带长短不等的各种参数,所有参数都以UTF-8编码的字符格式定义,以最大限度的保证兼容性。在这些参数之中,有一个称之为"消息命令码"的必备参数存在于任何消息之中,用于区分各种消息。
由于NP通信中消息的收发过程是异步的,例如从发出一个请求类消息到接收对应的相应消息之间可能间隔数小时以上,因此需要在消息参数中定义各种ID号,来解决NP通信中消息之间的关联问题。在现有的NP通信机制中主要定义了3种ID号,分别是MessageID,BrcID和FlowID。MessageID除了惟一标定一个消息外,还用于实现NP消息和ACK消息之间的关联;BrcID主要用于管理广播消息和审计消息;而FlowID用于将一个完整的NP申请及生效流程串联起来。
除此以外,还定义了其他的一些参数,包括"NP号码"、"申请人姓名"、"申请人证件号"、"携入/携出网络"、"申请结果代码"等,在此就不再一一介绍。
4 ACK立即响应机制
为了提高号码携带受理系统的整体可用性,在NP的通信机制中,还定义了ACK立即响应机制。由于NP自身的业务特点,许多消息不是立即反馈结果——如果发送方一直等待结果,会导致资源被大量占用,运行效率下降;如果发送完转去处理其他消息,又不知道对端节点是否正确的收到并开始处理此消息。
为解决此矛盾,在NP的通信协议中定义了一种消息,称为ACK立即响应消息。ACK消息非常简单,通过HTTP协议的200响应进行传递。当接收节点收到一个NP消息时,不需要进行业务层面的处理,只需要对消息进行初步处理,即可通过ACK消息告知发送节点处理结果,包括已"经确认接收"、"消息格式错误"、"对端网络忙"等。这样,发送节点就可以根据反馈的结果进行相应的处理——如果对端接收正常,则开始异步等待下面的响应消息;如果对端接收出现问题,则根据既定的策略进行修改或重发。接收节点在收到NP消息后,必须在30s内反馈ACK消息,否则发送节点会认为消息发送失败。
有了ACK立即响应机制,NP业务节点的处理效率大大提高,也为NP业务节点的设计和开发带来了便利。
5 结束语
我国的移动网间号码携带业务正在稳步推进,其业务受理体系将会采用集中式的架构,即运营商的业务受理节点(SOA/LSMS)都需要通过与CSMS通信完成业务受理。CSMS和SOA/LSMS之间主要采用基于HTTP的SOAP协议作为业务承载协议,并在此基础上定义了NP业务特有的消息和参数。
上述的一整套通信机制已经通过实验室验证,并且在实际开发的NP受理系统中得到了应用。实践证明,这套通信机制行之有效,能够很好地实现各种NP业务流程,为NP业务的开展提供了强有力的支撑。相信随着移动网间号码携带业务的不断深入,这套通信机制在未来必将发挥出更大的作用。