一种虚级联组乱序重排的方法
技术领域
本发明涉及同步数字体系(SDH:Synchronous Digital Hierarchy)光传输设备的多业务传送平台(MSTP:Multi-Service Transport Platform),具体而言涉及一种虚级联传输技术。
背景技术
近年来,基于SDH的多业务传送平台(MSTP:Multi-Service TransportPlatform)技术在城域网中得到了广泛应用,技术该技术的核心思想就是采用VC虚级联的方式来传输数据的业务。VC指的是虚容器,是SDH中的一个专业术语,VC4和VC12表示不同粒度的虚容器,VC4是一个140M的虚容器,VC12是一个2M的虚容器。由于不同的数据业务对带宽要求不一样,而对SDH来说,其每个虚容器承载的业务带宽是有限制的。例如VC12就是一个2M的虚容器,VC4就是一个140M的虚容器。但是实际数据业务的带宽要求可能大于一个虚容器的容量,这就需要将虚容器级联起来合成一个更大带宽的容器承载数据业务,在原理上有两种级联方式,即相邻级联和虚级联。由于虚级联可以进行多路径传输,因此在数据业务的承载过程中,一般采用的是虚级联。通过虚级联对级联的虚容器数量的配置,可以灵活的满足各种数据业务的要求。
图1是虚级联业务的传输过程示意图。如图1所示,由5个虚容器组成的虚级联组进行多路径传输,前2个虚容器通过一条路径到达:从数据业务板A到光线路板A1,然后通过传输网络M到达光线路板B1,最后到达数据业务板B;后3个虚容器通过另一条路径到达:从数据业务板A到光线路板A2,然后通过传输网络N到达光线路板B2,最后到达数据业务板B。如果由于某种原因在中间路径的时隙配置中前2个虚容器的顺序发生颠倒,则到达接收端的时候,这个数据业务就不可再恢复。而由于采用虚级联技术,所有的虚容器在SDH网络上是完全没有关系的,其在中间路径中很有可能由于时隙调配或其它因素而导致其顺序发生改变,这将对数据业务造成灾难性的后果。目前尚未发现有较好的现有技术来解决虚级联组乱序的问题。
发明内容
本发明的目的就是提出一种虚级联组乱序重排的方法,能够自动在收端重新排列时隙的顺序,恢复成与发送端的顺序一致,以便于虚级联组的恢复。
一种虚级联组乱序重排的方法,包括下列步骤:
步骤一、初始化;
1、在接收端增加一个时隙交叉矩阵;
2、初始化时隙交叉矩阵:所有时隙通过时隙交叉矩阵作直通,初始化时置每个时隙的当前接收时隙号和历史接收时隙号均设为其自身时隙号;
步骤二、接收端接收通过光网络传输的虚级联组,各时隙的当前接收时隙号仍保持为其自身时隙号;
步骤三、提取接收到的所有时隙的顺序号:对于没有加入虚级联组中的时隙和加入到虚级联组中但是存在告警指示信号或指针丢失告警的时隙,其相应的顺序号置为无效;
步骤四、对于同一个虚级联组中的所有时隙,按照顺序号进行排序,顺序号无效的时隙不参加排序,在排序的同时根据排序的结果变更各时隙的当前接收时隙号;
步骤五、比较所有时隙的当前接收时隙号和历史接收时隙号,如果一致则无需对该时隙重配交叉矩阵,如果不一致则需对该时隙重配交叉矩阵,根据比较结果得出配置信息;
步骤六、重新配置时隙交叉矩阵:根据步骤五中各时隙的配置信息对交叉矩阵进行相应的时隙交叉配置;
步骤七、对各时隙通过时隙交叉矩阵进行时隙交叉,输出顺序重排后的虚级联组;
步骤八、将每个时隙的当前接收时隙号记录到历史接收时隙号中,转到步骤二。
上述时隙交叉矩阵的交叉级别和交叉容量根据虚容器的大小及数量确定。
上述步骤三中提取到的所有时隙的顺序号可以用其自身的顺序号+虚级联组号来表示。
上述步骤四中的所有时隙按照顺序号从小到大的顺序进行排序。
采用本发明提出的方法,能够解决虚级联业务对时隙配置的依赖性,虚级联的接收端能够根据每个虚容器携带的顺序号信息自动对虚级联组中的所有时隙进行排序,完成对时隙乱序的恢复。通过这样的处理,当虚级联的业务通过多条路径到达接收端时,只要发送端所发送的时隙全部到达接收端,不论其顺序如何,接收端都能够完成虚级联业务的恢复,有效地增加了虚级联业务的灵活性和数据网络的健壮性。
附图说明
图1是虚级联业务的传输过程示意图;
图2是本发明提出的方法的过程示意图;
图3是本发明提出方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
图1在背景技术中已经进行过说明。
图2是本发明提出的方法的过程示意图。如图2所示,本发明提出的虚级联组乱序重排的方法的核心就是在接收端增加一个时隙交叉矩阵,先对接收到的时隙进行顺序号提取,然后对同一虚级联组中的时隙根据顺序号进行排序,根据排序结构确定时隙交叉矩阵的配置方案,配置完毕后通过时隙交叉矩阵交叉后完成虚级联的恢复。
图3是本发明提出方法的流程图。在虚级联技术的实现中,按照协议规定,对于虚级联组里的每个成员,在虚级联组的发送端都会分配一个组内的SQ号(Sequence Number顺序号)。对于VC12的SQ标识号通过K4字节的最高2个Bit来传送,对于VC4、VC3的SQ标识号通过H4字节来传送。具体而言,结合图3,本发明提出的虚级联组乱序重排的方法,包括下列步骤:
步骤一、初始化;
1、在接收端增加一个时隙交叉矩阵,时隙交叉矩阵的交叉级别和交叉容量根据虚容器的大小及数量确定。
2、初始化时隙交叉矩阵:所有时隙通过时隙交叉矩阵作直通,初始化时置每个时隙的当前接收时隙号和历史接收时隙号均设为其自身时隙号;
步骤二、接收端接收通过光网络传输的虚级联组,各时隙的当前接收时隙号仍保持为其自身时隙号;
步骤三、提取接收到的所有时隙的顺序号:对于没有加入虚级联组中的时隙和加入到虚级联组中但是存在告警指示信号或指针丢失告警的时隙,其相应的顺序号置为无效;
步骤四、对于同一个虚级联组中的所有时隙,按照顺序号从小到大的顺序进行排序,顺序号无效的时隙不参加排序,在排序的同时根据排序的结果变更各时隙的当前接收时隙号;
步骤五、比较所有时隙的当前接收时隙号和历史接收时隙号,如果一致则无需对该时隙重配交叉矩阵,如果不一致则需对该时隙重配交叉矩阵,根据比较结果得出配置信息;
步骤六、重新配置时隙交叉矩阵:根据步骤五中各时隙的配置信息对交叉矩阵进行相应的时隙交叉配置;
步骤七、对各时隙通过时隙交叉矩阵进行时隙交叉,输出顺序重排后的虚级联组;
步骤八、将每个时隙的当前接收时隙号记录到历史接收时隙号中,转到步骤二。
下面结合一个具体的实施例对本发明提出的虚级联组乱序重排的方法作进一步的详细说明。假设虚级联处理模块能够处理10个VC12,则交叉矩阵需要一个1×1的交叉矩阵。初始化的时候其交叉矩阵配置关系为:
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
历史接收时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
顺序号 |
空 |
空 |
空 |
空 |
空 |
空 |
空 |
空 |
空 |
空 |
在运行中,如果1、3、5、7、9时隙加入到第一个虚级联组,而2、4、6、8、10时隙加入到第二个虚级联组,其获取的顺序号信息为(顺序号可以用形式如:顺序号虚级联组号来表示):
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
历史接收时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
顺序号 |
4_1 |
2_2 |
2_1 |
4_2 |
1_1 |
1_2 |
3_1 |
0_2 |
0_1 |
3_2 |
[0041]对于在同一个虚级联组中的时隙根据顺序号进行排序,其排序结果为:
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
9 |
8 |
5 |
6 |
3 |
2 |
7 |
10 |
1 |
4 |
历史接收时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
顺序号 |
0_1 |
0_2 |
1_1 |
1_2 |
2_1 |
2_2 |
3_1 |
3_2 |
4_1 |
4_2 |
比较当前接收的时隙号和历史接收的时隙号,如果有变化,则重新配置相应时隙的交叉矩阵。由上表可以看出,第一个虚级联组中的时隙交叉发生了变化,第二个虚级联组中的时隙交叉也发生了变化。配置完交叉矩阵后的表结果如下:
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
9 |
8 |
5 |
6 |
3 |
2 |
7 |
10 |
1 |
4 |
历史接收时隙号 |
9 |
8 |
5 |
6 |
3 |
2 |
7 |
10 |
1 |
4 |
顺序号 |
0_1 |
0_2 |
1_1 |
1_2 |
2_1 |
2_2 |
3_1 |
3_2 |
4_1 |
4_2 |
如果由于第3、6个时隙出现告警指示信号和指针丢失告警的时候,其接收的顺序号无效,则会进行重新排序,其排序前为:
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
历史接收时隙号 |
9 |
8 |
5 |
6 |
3 |
2 |
7 |
10 |
1 |
4 |
顺序号 |
4_1 |
2_2 |
空 |
4_2 |
1_1 |
空 |
3_1 |
0_2 |
0_1 |
3_2 |
则在进行虚级联组排序的时候需要剔除第3、6个时隙,它们不参与虚级联组的排序操作。排序后的结果为:
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
9 |
8 |
3 |
2 |
5 |
6 |
7 |
10 |
1 |
4 |
历史接收时隙号 |
9 |
8 |
5 |
6 |
3 |
2 |
7 |
10 |
1 |
4 |
顺序号 |
0_1 |
0_2 |
空 |
2_2 |
1_1 |
空 |
3_1 |
3_2 |
4_1 |
4_2 |
[0049]比较每个时隙当前的接收时隙号和历史接收时隙号是否一致,如果不一致,则需要修改交叉矩阵进行重新配置。重配交叉矩阵后,结果变为:
时隙号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
当前接收时隙号 |
9 |
8 |
3 |
2 |
5 |
6 |
7 |
10 |
1 |
4 |
历史接收时隙号 |
9 |
8 |
3 |
2 |
5 |
6 |
7 |
10 |
1 |
4 |
顺序号 |
0_1 |
0_2 |
空 |
2_2 |
1_1 |
空 |
3_1 |
3_2 |
4_1 |
4_2 |