发明内容:
本发明的目的是提供实现LCAS协议无损切换的方法,在设计原理上不需要额外的高层用户自定义协议就可以实现LCAS协议的数据无损切换。
本发明的技术方案如下:
一种实现LCAS协议无损切换的方法,采用主备页面的工作模式,通过最高地址位来区分主备页面,控制设备工作在主页面,LCAS控制帧和映射表项的修改在备用页面,所述控制设备通过控制最高地址位完成备用页面表项的配置,并在切换机会处实现主备页面的切换。
所述的切换机会在LCAS控制帧的帧边界处。
以下分控制设备工作在源端和宿端两种情况说明:
当控制设备作为源端工作时,控制设备修改LCAS控制帧,在LCAS控制帧边界处把LCAS控制帧的备用页面切换为主用页面,原主用页面切换为备用页面;控制设备在LCAS控制帧边界处把备用页面切换为主用页面,把更新的LCAS控制帧发送出去;控制设备通过LCAS协议与远端交互,决定如何修改数据映射表项,同时控制设备(即源端)解析实际发送的LCAS控制帧,判断映射表是否变更,在下16帧调整后的数据到来时把映射表项备用页面切换成主用页面。这样对LCAS控制帧和映射表修改可以是异步操作,降低了对设备控制部分的实时性要求,同时实现LCAS控制帧和数据发送无损切换。
当控制设备作为宿端工作时,分为以下两种情况:
1.当远端要求某逻辑通道添加MEMBER(逻辑通道中的最小虚容器单位)时,控制设备决定是否添加或拒绝,然后修改备用映射表项或不变,最后应答远端。控制设备解析LCAS控制帧,确定源端每16帧数据所用的表项(映射关系)。当解析到数据帧变更时,在16帧的边界处更改这16帧数据的映射关系。这样对映射表项的操作是异步操作,不需要实时响应,降低了对控制设备的要求,实现了接收数据无损切换。
当远端要求某逻辑通道删减MEMBER或是做DNU(虚级联逻辑通道中临时不使用的虚容器)时。由控制设备解析LCAS控制帧,由于此时是从一个已知的逻辑通道做删减或是DNU,控制设备有足够的信息确定下16帧数据使用的映射表项(映射关系),不需要控制设备实时响应,只需要通知控制即可。这样对映射表项的操作是异步操作,不需要实时响应,降低了对控制设备的要求,同时实现接收删减或是DNU时无损切换。
所述映射关系是虚级联中虚容器与逻辑通道依照LCAS重构后的数据帧在虚容器中的对应关系。
本发明的优点和积极效果:本发明在理论上不需要控制设备实时响应,解决了LCAS控制帧和映射表项与数据帧的配合问题,在实现LCAS无损切换上有技术优势。
具体实施方式:
如图1所示,是本发明的实现LCAS协议无损切换的方法中主备页面切换工作流程示意图。具体包括以下几个方面:
1.主备用表项采用一个双端口ram来实现,一个端口只读,用于读表项,另一个端口只写,用于表项的配置,通过最高地址位来区分主备页面。
2.表项的配置(即ram的写入)通过控制设备的控制模块控制最高地址位,完成对此时备用表项的配置。与以往多数的设计不同,这里对备用表项的配置完全可以不考虑与实时数据帧的配合,也不必考虑配置的时机,控制模块可以随意地配置。
3.表项的读出(即工作页面的使用),根据表项高位地址锁存模块送来的高位地址,读出表的内容供工作模块使用。
4.高位地址的锁存,完成了主备页面的切换,同时完成表项内容与实时数据帧的同步,它是本设计中最关键的部分。控制模块配置好备用表项内容后,修改表项高位地址,此时并不完成主备切换,由高位地址锁存模块等待切换机会的到来,再做切换。
5.切换机会的产生严格保证在LCAS复帧(16帧)的帧边界处,从而保证表项内容与实时数据帧的配合。
图2示出了本发明一具体实施例的工作流程图。图中:
SOURCE端(源端),工作流程如下:
1.控制设备通过修改高位地址选择映射表项;
2.控制设备通过修改高位地址选择与映射表项对应的LCAS控制帧;
3.在调整机会(MFI1=0000)处把备用LCAS控制帧改为主用;
4.控制设备发送主用页面的LCAS控制帧;
5.控制设备解析实际发送的LCAS控制帧,提供映射表项的选择信息;
6.映射表项在调整机会(MFI1=0000)处把备用页面改为主用页面;
通过以上操作在帧构成模块把数据报文映射成SDH帧;
SINK端(宿端),分两种情况:
一、做添加MEMBER操作时,工作流程如下:
1’、解析LCAS控制帧;
2’、提交LCAS解析信息;
3’、控制设备修改逻辑通道虚 m,容器备用映射表,然后修改表项高位地址,在切换机会(MFI1=0000)时切换到备用页面(控制设备通知源端添加成功);
4’、控制设备解析LCAS控制帧,当本虚容器通道没有数据时,通知重构模块本通道无效;当本虚容器有数据时,通知重构模块本通道有效,同时把重构信息提交给重构模块;
5’、重构模块根据每个虚容器的重构信息构造物理映射信息,选择映射表;
6’、映射表在实际数据构成变更处把备用页面改为主用页面。
二、当删减MEMBER或DNU操作时,工作流程如下:
A’、解析LCAS控制帧,当本虚容器通道没有数据时,通知重构模块本通道无效;
B’、重构模块根据每个虚容器的重构信息构造物理映射信息,选择映射表;
C’、通知控制设备某逻辑通道的某个虚容器被删减或是处于DNU状态;
通过以上操作在帧构成模块SDH帧转换成数据报文;
其中,映射表项工作在重构后的物理通道映射关系而不是工作在逻辑通道的逻辑映射关系。如图9所示为物理通道重构功能示意图。譬如,某逻辑通道由1、2、3(DNU)和4构成,经过重构,由实际使用的1、2和4构造成物理通道1’、2’和3’。这样只需要等于MEMBER数量的映射表而不是等于2^MEMBER数量的映射表,有效降低了映射表项的数量,为设备自行确定映射表奠定了基础。
图3至图8示出了LCAS处理模块与控制设备的控制模块的交互控制流程。
图3至图5示出了源端与控制模块的交互流程,图中的“修改步骤A”指:
修改UPMAPPER映射表
→修改LCAS控制字
→修改LCAS控制帧高位地址
如图3所示,为SO添加MEMBER流程,图中:
STEP1:由控制模块下发添加命令;
STEP2:修改LCAS控制帧的备用页面,修改映射表备用页面,修改LCAS控制帧高位地址;
STEP3、STEP4、STEP5、STEP6:根据远端的反馈确定添加命令是否被远端确认;
STEP6:重新构造数据帧结构;
STEP7:查询远端ACK是否翻转,确定是否可以发送下一命令。
如图4所示,为SO删减MEMBER流程,图中:
STEP1:由控制模块下发删减命令;
STEP2:修改LCAS控制帧的备用页面,修改映射表备用页面,修改LCAS控制帧高位地址,重新构造数据帧结构;
STEP3、STEP4、STEP5:根据远端的反馈确定删减命令是否被远端确认;
STEP6:查询远端ACK是否翻转,确定是否可以发送下一命令。
如图5所示,为SO处理DNU的流程,图中:
STEP1、STEP2:解析远端的LCAS控制帧确认有DNU产生;
STEP3:修改LCAS控制帧的备用页面,修改映射表备用页面,修改LCAS控制帧高位地址,重新构造数据帧结构;
STEP4:解析远端的LCAS控制帧确认有DNU恢复产生;
STEP6:修改LCAS控制帧的备用页面,修改映射表备用页面,修改LCAS控制帧高位地址,重新构造数据帧结构。
图6至图8示出了SK端与控制设备的控制模块的交互流程。图中“修改步骤B”指:
如图6所示,为SK删减MEMBER的流程,图中:
STEP1:解析远端的LCAS控制帧确定有删减命令,逻辑自行重构数据帧;
STEP2:通知管理模块修改数据库,管理模块通过LCAS通知远端命令被接收;
STEP3:管理模块发ACK命令通知远端可以接收下一命令。
如图7所示,为SK添加MEMBER的流程,图中:
STEP1:解析远端的LCAS控制帧确定有添加命令,逻辑自行重构数据帧;
STEP2:通知管理模块修改数据库,管理模块修改映射表项;
STEP3:管理模块通过LCAS通知远端命令被接收;
STEP4:接收重构的数据;
STEP5:管理模块发ACK命令通知远端可以接收下一命令。
如图8所示,为SK处理DNU流程,图中:
STEP1:解析远端的LCAS控制帧确定有DNU,逻辑自行重构数据帧;
STEP2:通知管理模块修改数据库,管理模块修改映射表项;
STEP3:解析远端的LCAS控制帧确定有DNU恢复,逻辑自行重构数据帧;
STEP4:通知管理模块修改数据库,管理模块修改映射表项。