降低多节点之间应用层模块与传输层模块耦合性的方法
【技术领域】
[0001]本发明属于数字集群领域,尤其涉及TETRA数字集群系统中应用层模块和传输层模块降低耦合性的方法。
【背景技术】
[0002]通常一个数字集群系统之中,会有一个交换中心和多个基站,交换中心和基站往往位于地理位置相隔很远的地点,这样它们之间就会涉及到数据传输,也就是说它们之间要通过传输介质连接起来。传输介质的种类有很多种,而且在实施传输线路的建设上,会根据实际情况复用原有的传输线路,或者新建传输线路。一个交换中心和一个基站可以看成是点到点的通信,就现在的技术而言,点到点的通信协议有很多种,比如以太网、ATM、E1、T1等通信协议。
[0003]数字集群的协议总体结构分为物理层、数据链路层、网络层。各个协议层、模块之间通过原语的形式相互交互。
[0004]TETRA V+D空中接口协议总体结构:
[0005](I)空中接口协议的分层
[0006]①物理层:第一层为物理层,指控制信号与业务信息传输的实际物理信道。
[0007]②数据链路层:第二层为数据链路层(DLL,DataLink Layer),该层主要用以协议的处理。DLL层包括逻辑链路控制(LLC)和媒体接入控$ij (MAC)两个子层,其中的MAC子层又可进一步分成上MAC(UMAC)层和下MAC(LMAC)层。
[0008]③网络层:第三层为网络层,该层包括电路模式控制实体(CMCE)、移动性(MM)管理、分组数据(PD)实体和移动链路控制实体(MLE)。
[0009](2)层间/模块间的通信
[0010]空中接口协议层与层之间,模块与模块之间通过原语的形式相互交互,这种交互通过服务接入点(AP,Access Point)进行。
[0011]在研发数字集群时,物理层、数据链路层一般会在基站侧实现,而网络层一般会在交换中心侧实现。这样在基站和交换中心之间就涉及到应用程序通信的问题,而真正的传输介质或者传输协议又很多样,于是在实现TETRA数字集群系统时涉及到了以下问题:
[0012]不同传输协议下,位于交换中心和基站的应用程序如何做到它们之间的通信与真正的传输层无关,即它们感知不到模块之间到底采用何种协议、何种介质进行传输,如何降低应用层模块与传输层模块的耦合度。
【发明内容】
[0013]本发明所要解决的技术问题是:提供一种在多个节点相互通信的环境中,降低应用程序和传输层模块耦合性的方法,使得在不同的传输条件下应用程序都不用做任何改变只需要针对传输中间件进行适配,增强了系统对各种传输环境的适应性。
[0014]本发明的目的通过以下技术方案来实现:降低多节点之间应用层模块与传输层模块耦合性的方法,包括以下步骤:
[0015]S1:为各个节点分别分配节点号,为各个节点上的应用程序分别分配应用程序ID;
[0016]S2:根据通信需求建立各节点间的逻辑通信链路;
[0017]S3:各个节点上的应用程序分别发送注册请求到传输中间件上;所述的注册请求包括应用程序ID、应用程序地址和端口号;
[0018]S4:传输中间件接收到应用程序的注册请求,将应用程序ID与应用程序地址一一对应,并对注册请求进行响应,同时向应用程序报告当前本节点与其它所有节点所构成链路的链路状态;
[0019]S5:源节点的应用程序根据链路状态在要发送的数据包之前添加路由标签,根据收到的链路状态将添加有路由标签的数据包通过源传输中间件发送到目的节点;所述的路由标签包括源节点号、源应用程序ID、目的节点号、目的应用程序ID,用于源传输中间件和目的传输中间件做路由选择;
[0020]S6:当目的节点的目的传输中间件收到源节点发送过来的数据包时,根据目的应用程序ID查找其对应的应用程序的地址和端口号,将数据包发送到该地址和端口号,并向源节点发送数据响应消息。
[0021]其中,所述的传输中间件在传输层模块和应用层模块之间,用于根据网络类型进行各节点之间真实的链路传输,所述的网络类型包括TCP/IP网络、ATM网络、El网络、Tl网络、微波通信和散射通信。
[0022]本发明相比【背景技术】的优点在于:
[0023](I)本发明可以继承和使用原有网络,降低数字集群系统的建设成本;
[0024](2)本发明可以根据各种环境来选择网络类型,尤其是比较恶劣的环境,例如在基础网络还未覆盖的地方,可以通过微波、散射通信的方式在传输中间件上建立各个节点的通信,而对应用程序没有任何影响,方便数字集群系统在复杂恶劣环境里的部署。
【附图说明】
[0025]图1本发明的多节点传输系统的基本架构图;
[0026]图2本发明的数据包头中的路由标签的组成图。
【具体实施方式】
[0027]下面结合附图,以一个交换中心和一个基站为例作进一步详细描述。
[0028]为了屏蔽交换中心与基站对传输介质的感知,完成交换中心和基站在多种传输介质下都可以工作的目的,我们提出了降低应用层模块与传输层模块耦合度的方法,通过这种方式可以更加方便的部署交换控制中心和基站之间进行通信的应用程序,不必考虑过多的传输介质上的问题。
[0029]降低耦合性的原理如下:交换控制中心和基站都被看成节点,也就是有效的传输节点,交换中心和基站上应用程序都被分配了应用程序ID。传输的数据用路由标签(RouteFlag)来标记,路由标签包含这个数据的源节点号(Src Endpoint ID)、源应用程序ID(SrcApp ID)、目的节点号(Dst Endpoint ID)和目的应用程序ID(Dst App ID),具体结构如图2所示。在应用程序启动的时候,应用程序通过发送携带自己的应用程序ID的注册消息,将自己注册到传输中间件中。在传输中间件中有两种状态(暂停和恢复)告知应用程序此时的传输状态,在暂停状态下应用程序不允许通过传输中间件传输数据,在恢复状态下才允许通过传输层传输数据。传输中间件在接收到应用程序的传输命令时,根据数据的路由标签携带的目的信息将数据送达目的地。应用程序不用关心数据是通过何种方式被传送的,只需知道数据是否被送达。
[0030]降低多节点之间应用层模块与传输层模块耦合性的方法,包括以下步骤:
[0031]步骤1:为各个节点分配节点号(EndpointID),为节点之上的应用程序分配应用程序ID(App ID);
[0032]步骤2:根据通信需求按照节点号与节点号的关系建立逻辑通信链路;
[0033]应用程序不用关心两个节点之间真正采用何种物理逻辑链路。传输中间件负责节点之间真正的物理链路传输,真正的传输链路可以建立在TCP/IP网络、ATM网络、El或者Tl链路之上。
[0034]步骤3:系统启动后,应用程序将自己应用程序ID和应用程序的地址和端口注册到传输中间件;这里涉及的传输中间件具体为:
[0035]传输中间件是为了方便应用程序向不同节点发送消息,位于应用层和传输层之间的设备。它与传输层之间可以使用多种的通信介质、通信协议进行通信,通过适配双绞线接口、同轴电缆接口、光纤接口、微波射频单元、散射射频单元,并在这之上运行相应的通信协议比如TCP/IP、ATM、E1,使之为应用层提供统一的服务接口。应用层程序通过传输中间件向不同节点上的应用层程序进行通信,而不需要关心具体的传输介质、传输协议,这样降低了应用层和传输层之间的耦合度;同时提供了多节点通信的多样性,可以根据具体实施的环境选择适合的通信介质和通信协议,大大方便了数字集群系统的部署应用。
[0036]步骤4:传输中间件将节点的注册信息记录下来,并将与当前节点相关的所有链路的状态通知给对应的应用程序;
[0037]步骤5:源节点的应用程序根据链路状态在要发送的数据包之前添加路由标签,根据收到的链路状态将添加有路由标签的数据包通过源传输中间件发送到目的节点;具体为:
[0038]当应用程序接收到传输中间件报告对方节点对应的链路状态是“暂停”的消息后,应用程序不再往那个节点发送添加有路由标签的数据包;
[0039]当应用程序接收到传输中间件报告的对方节点对应的链路状态是“恢复”的消息后,应用程序可以往对方节点发送添加有路由标签的数据包。
[0040]所述的路由标签包括源节点号、源应用程序ID、目的节点号、目的应用程序ID,用于源传输中间件和目的传输中间件做路由选择。
[0041 ]步骤6:当目的传输中间件接收到来自源节点的数据包时,根据路由标签上的目的应用程序ID和对应的目的应用程序的注册信息,将数据发送给相应的目的应用程序。
【主权项】
1.降低多节点之间应用层模块与传输层模块耦合性的方法,其特征在于,包括以下步骤: S1:为各个节点分别分配节点号,为各个节点上的应用程序分别分配应用程序ID; S2:根据通信需求建立各节点间的逻辑通信链路; S3:各个节点上的应用程序分别发送注册请求到传输中间件上;所述的注册请求包括应用程序ID、应用程序地址和端口号; S4:传输中间件接收到应用程序的注册请求,将应用程序ID与应用程序地址一一对应,并对注册请求进行响应,同时向应用程序报告当前本节点与其它所有节点所构成链路的链路状态; S5:源节点的应用程序根据链路状态在要发送的数据包之前添加路由标签,根据收到的链路状态将添加有路由标签的数据包通过源传输中间件发送到目的节点;所述的路由标签包括源节点号、源应用程序ID、目的节点号、目的应用程序ID,用于源传输中间件和目的传输中间件做路由选择; S6:当目的节点的目的传输中间件收到源节点发送过来的数据包时,根据目的应用程序ID查找其对应的应用程序的地址和端口号,将数据包发送到该地址和端口号,并向源节点发送数据响应消息。2.根据权利要求1所述的一种降低多节点之间应用模块与传输模块耦合性的方法,其特征在于:所述的传输中间件在传输层模块和应用层模块之间,用于根据网络类型进行各节点之间真实的链路传输,所述的网络类型包括TCP/1P网络、ATM网络、EI网络、TI网络、微波通信和散射通信。
【专利摘要】本发明公开了一种在多个节点相互通信的环境中,降低应用层模块和传输层模块耦合性的方法,属于Tetra数据集群通信领域。Tetra数字集群系统中,交换中心要与多个基站进行通信,在建设交换中心和基站之间的链路过程中,可能会有多种链路存在。本发明在传输层模块和应用层模块之间添加了传输中间件,该传输中间件用于根据网络类型进行各节点之间真实的链路传输。通过这种方式降低了应用层模块和传输层模块的耦合性,使系统可以在多种链路介质或者链路协议上进行传输,方便Tetra数字集群系统的建设。
【IPC分类】H04W84/08, H04W80/12, H04W80/06
【公开号】CN105611650
【申请号】CN201510967421
【发明人】孙坤, 王洪书, 康瑕, 朱丽莎, 李晓玲, 袁东升
【申请人】河北远东通信系统工程有限公司
【公开日】2016年5月25日
【申请日】2015年12月22日