发明内容
本发明的目的在于提供一种适用多播情况下数据交换的程控数字交换方法。
为了达到上述目的,本发明提供了一种适用于多播情况下的程控数字交换方法,其特征在于,其适用于多级交换网,包括:在搭网时,确定多播产生的位置后建立链路,并保存多播产生的位置及多播分支的个数;所述位置具体为芯片号;所述链路为输入级芯片与输出级芯片之间建立的多级链路;在拆网时,确定需要拆除的链路,若拆除的是多播分支,将所述分支申请的时隙进行释放。
确定多播产生的位置是从输出级到输入级逐级查找产生多播的位置。确定多播位置进一步为:a1:当采用三级交换网时,先判断多播输出是否在同一芯片上,若是,则在输出级进行多播,否则进行步骤a2;a2:判断能否在中间级进行多播,若是,则在中间级进行多播,否则在输入级进行多播。
步骤a2中是通过中间级芯片的时隙资源能否满足多播的资源要求来判断能否在中问级进行多播。
确定需要拆除的链路为从产生多播的级到输出级每级需要进行拆除链路操作。
确定需要拆除的链路具体为:当采用三级交换网时,若多播产生在输出级,则在输出级进行多播拆网;若多播产生在中间级,则在中间级和输出级进行多播拆网;若多播产生在输入级,则在输入级、中间级和输出级进行多播拆网。
保存发生多播的位置及多播分支的个数进一步为:
设置一多播记录表;
在链路搭建时,在多播记录表中根据源时隙所对应的通道号来记录发生多播的每个目的时隙所对应的通道号,并依次进行链接,在多播记录表中的第一个结点保存有多播分支的个数,在后面的结点中保存有多播的位置。
在多播记录表中将源时隙所在通道号对应的记录、发生多播的每个目的时隙所在通道号对应的记录以单链表的方式依次进行链接,源时隙所在通道号对应的记录为头结点,每个目的时隙所在通道号所在的记录为链表中的分支结点。
在多播记录表中设置有源时隙所在芯片号、源时隙所在HW组号、源时隙所在通道号、目标时隙所在芯片号、目的时隙所在HW组号、目的时隙所在通道号、多播分支个数/多播位置及与能链接到下一个目的时隙所在通道号的分支结点信息。
拆网时查找多播记录表确定拆除的是否是分支结点,若是分支结点,在多播记录表中删除分支结点对应的记录信息,如果要拆网的结点为头结点,则在链表中查找一个多播分支结点,将其数据拷贝到头结点,然后再将该多播分支结点删除。
一种交换装置,用于实现多播情况下的程控数字交换,其适用于多级交换网,所述交换装置包括处理器和存储单元,处理器:所述处理器进一步包括搭网处理单元和拆网处理单元,所述搭网处理单元用于在搭网时确定多播的位置后建立链路,并将多播产生的位置及多播分支的个数存储在所述存储单元上;所述拆网处理单元用于在拆网时,从存储单元中获得多播产生的位置及多播分支的个数,若拆除的是多播分支,将所述分支申请的时隙进行释放;所述位置具体为芯片号;所述链路为输入级芯片与输出级芯片之间建立的多级链路。
所述交换装置为时分复用TDM交换单板。
本发明提出一种程控数据交换,在搭网时以阻塞率小为原则确定多播产生的位置,在拆网时考虑多播分支,将所述分支申请的时隙也进行释放,上述方法不仅适用适合多播情况下的程控数据交换,而且能减少交换网上的阻塞,进而减少交换对正常业务的影响。
具体实施方式
以下结合附图,具体说明本发明。
本发明的核心在于,本发明公开了一种适用于多播情况下的交换方法,并且,本发明公开的交换方法通过本发明的搭网原则和拆网原则可以减少搭网的阻塞率且不影响正常业务。
请参阅图2,其为本发明公开的一种适用于多播情况下的程控数字交换方法的流程图。它包括:
S110:在搭网时,确定多播产生的位置后建立链路,并保存多播产生的位置及多播分支的个数;
S120:在拆网时,若拆除的是多播分支,将所述分支申请的时隙进行释放。
在本发明中,确定多播产生的位置是从输出级到输入级逐级查找产生多播的位置。以三级交换网为例,说明本发明的多播搭网原则和多播拆网原则。如果在输入级进行多播,则当多播比较多时,会导致输入级芯片的输入能力下降,阻塞率相应提高;如果在中间级进行多播,可以避免输入级芯片的输入能力下降的问题,但也存在占用中间某个芯片的通道,使得中间某个芯片出现没有通道而形成阻塞的问题。因此,若能在输出级进行多播,则可以解决输入能力下降和降低阻塞率的问题,但问题是多播不一定是发生在同一片输出芯片上。综上分析,下面规定的多播搭网原则可以使搭网阻塞率在此交换网架构基础上降低为最小,以致不影响正常业务,多播搭网原则如下:
1、如果多播输出在同一芯片上,则在输出级进行多播,如图3所示;
2、如果多播输出不在同一芯片上,则查看能否在中间级多播,如果可以,则在中间级进行多播,如图4所示;
3、如果中间级无法建立多播分支,则在输入级进行多播,相当于单独又搭接一条链路,即单播搭网,如图5所示。
本发明是通过判断中间级芯片的时隙资源能否满足多播资源要求来判断能否在中间级进行多播的。比如,在链路建立之前,首先根据输入参数确定输入级的芯片号、输出级的芯片号以及中间级的输入组号和对应的中间级的输出组号。
当输出级的芯片号为多个时(比如N1),则对应的中间级的输出组号也为也为N1个。根据每个输出级的芯片号可以按照下述方式获得对应的中间级芯片。由于对于中间级每个芯片都有可能将输入级的输出交换到输出级的相应输入上,因此本发明采用利用芯片的时隙占用情况来确定中间级芯片号。首先将所有中间级芯片对应输入组号和对应的多条输出组号的时隙占用情况进行统计,然后判断是否存在一中间级芯片满足所有需要多播链路的资源要求,若是,则将所述中间级芯片作为多播的中间级芯片,当满足所有需要多播链路的资源要求的中间级芯片不止一个时,选择其中资源条件好的中间级芯片作为多播的中间级芯片。当不存在一中间级芯片能满足所有需要多播链路的资源要求时,每一多播分支直接选择针对本分支资源条件好的中间级芯片作为本多播分支的中间级芯片。
当确定产生多播的位置后,保存多播产生的位置及多播分支的个数。以图4为例,保存多播产生的位置为中间级芯片号为4,多播分支的个数为2。
相应地,本发明得出多播拆网的原则是从产生多播的级到输出级每级需要进行拆除链路的操作。还是以三级交换网为例,多播拆网的原则为:
1、如果多播产生在输出级,则只需要将输出级进行多播拆网;
2、如果多播产生在中间级,则需要将中间级和输出级都进行拆网;
3、如果多播产生在输入级,则需要将三级交换都进行拆网。
通过本发明的搭网和拆网,能够最大限度地减少交换网上的阻塞,进而减少交换对正常业务的影响。
以下以三级交换网来具体说明如何完成多播情况下的程控数字交换。
在搭网时,先获得输入级的输入参数、输出级的输出参数。根据对输出级的输出参数的判断即可获知本次搭网是否属于多播情况下的程控交换。若输出级的输出参数为2个以上,则说明本次搭网是属于多播情况下的程控交换。当输出参数输出的HW组都位于同一输出芯片上,则只需要在输出级进行多播搭网。从输入级到输出级采用三级搭网:输入级的输出到中间级的输入、中间级的输入到中间级的输出、输出级的输入到输出级的输出。输入级的输出到中间级的输入、中间级的输入到中间级的输出的建立链路的方式和单播类似。另外,从输出级的输入到输出级的输出的链路的建立,可以根据多播的个数来建立对应条链路。还是以图3为例,芯片号为10的输出级芯片的组号为L1的输入HW组需要搭接到组号为L2、L3的输出HW组,则按照单播的链路建立的原理分别完成组号为L1的输入HW组搭接到组号为L2的输出HW组、组号为L1的输入HW组搭接到组号为L3的输出HW组即可。
若在中间级进行多播搭网,则中间级的输入到中间级的输出需要建立多条链路。还是以图4为例,芯片号为4的中间级芯片的组号为L4的输入HW组需要搭接到组号为L5、L6的输出HW组,则按照单播的链路建立的原理分别完成组号为L4的输入HW组搭接到组号为L5的输出HW组、组号为L4的输入HW组搭接到组号为L5的输出HW组即可。
若在输入级进行多播搭网,和上述公开的输出级进行多播搭网、中间级进行多播搭网的原则类似,在此省略。
本发明的链路建立的原理可以采用申请号为03146947.7利用中间级资源表的方法建立链路,也可以采用资源池的方式建立链路,但链路建立的原理并非局限于此。
以下简单介绍采用资源池的方式建立链路的原理。
(一)每一组设置一资源池,设置并保存一指向资源池中最后一空闲时隙的空闲时隙指针和最前一空闲时隙的申请时隙指针。
每一组设置一资源池,资源池的大小可以是大于等于该组的时隙数。比如一组有16条HW,每条HW在一周期内传输有512个时隙,则该组上传输的最大时隙数为16*512=8192,即可将资源池的大小设定为8192。
空闲时隙指针是指向资源池中最后一空闲时隙的。初始地,空闲时隙指针可以为(资源池的大小Number-1),比如空闲时隙指针值为8191。每从组上取一时隙,空闲时隙指针值减1,每释放一时隙,空闲时隙指针值加1。并且,通过读取空闲时隙指针值,即可获知该组上时隙占用情况。还是以资源池的大小设定为8192为例,若空闲时隙指针值为5,则说明该组还有(5+1)个空闲时隙资源。在接续之前,获知每一组的空闲时隙指针值即可获知该组的空闲资源。最前一空闲时隙的申请时隙指针是用于申请时隙的。
(二)在程控交换过程中分别在接续和断续过程中对所述资源池进行维护:在接续过程中,利用空闲时隙指针和申请时隙指针从资源池中申请空闲时隙,在断续过程中利用空闲时隙指针将时隙从资源池中释放。
在接续过程中,利用空闲时隙指针usFreeExchgPtr和所述申请时隙指针usGetResPtr从资源池中申请空闲时隙可以有很多的实现方案。在断续过程中利用空闲时隙指针usFreeExchgPtr将时隙从资源池中释放也可以有很多的实现方案。
一种较佳的接续实现方案为:usGetResPtr指向的时隙是要申请的空闲时隙,先将usFreeExchgPtr作为本申请时隙的源指针usResourcePtr保存到资源池该申请时隙对应的下标数据项usDChannelPtr,然后将usGetResPtr指向的时隙与usFreeExchgPtr指向的时隙进行交换,最后usFreeExchgPtr向前偏移(所述向前偏移主要是指指针值减1)。通过上述的实现方案,在每次接续过程中,直接从申请时隙指针usGetResPtr指向的时隙就是要申请的空闲时隙,不仅接续过程实现简单而且实现速率快、延时少。
一种较佳的断续实现方案为:从资源池中每释放一时隙,先从资源池已申请时隙对应的下标数据项usDChannelPtr中找到要释放时隙的源指针usResourcePtr,然后usFreeExchgPtr向后偏移,最后将源指针usResourcePtr指向的时隙与usFreeExchgPtr指向的时隙进行交换。当找到要释放时隙的源指针usResourcePtr之后,将源指针usResourcePtr保存到资源池该usFreeExchgPtr向后偏移指向的时隙对应的下标数据项usDChannelPtr。
举一个实施:若需要释放时隙为A,从资源池已申请时隙A对应的下标数据项usDChannelPtr中找到要释放时隙A的源指针usResourcePtr(假设源指针usResourcePtr的指针值为K1)。
UsFreeExchgPtr是指向最后一空闲时隙指针,假设UsFreeExchgPtr的指针值为K2(K2<K1),UsFreeExchgPtr向后偏移(UsFreeExchgPtr指针值加1),即目前指针值为(K2+1)的UsFreeExchgPtr指向一个非空闲时隙B,然后将该非空闲时隙B与源指针usResourcePtr指向的时隙A进行交换,此时,usFreeExchgPtr指向的就是就是需要释放的时隙A,由于usFreeExchgPtr是指向最后一个空闲时隙的指针,所以需要释释的时隙A即认为是已释放了。同时,由于指向非空闲时隙B的指针发生变化了,所以将目前指向时隙B的指针(指针值为K1的源指针usResourcePtr)进行保存。
在每次断续时根据资源池中已申请时隙的下标数据项usDChannelPtr很快就能找到需要释放的时隙,不仅断续过程实现简单而且实现速率快,做到无延迟无阻塞的交换。
除了上述公开的接续和断续的实现方案外,本发明还可以采用其它实现方案。比如较简单的一种接续方案为:usGetResPtr指向的时隙是要申请的空闲时隙,将usGetResPtr指向的时隙与usFreeExchgPtr指向的时隙进行交换,后usFreeExchgPtr向前偏移(所述向前偏移主要是指指针值减1)。通过上述的实现方案,在每次接续过程中,直接从申请时隙指针usGetResPtr指向的时隙就是要申请的空闲时隙,不仅接续过程实现简单而且实现速率快、延时少。较简单的一种断续方案为:从资源池中每释放一时隙,先从资源池找到要释放时隙,然后usFreeExchgPtr向后偏移,最后需要释放时隙与usFreeExchgPtr指向的时隙进行交换。上述方案相比较前述公开的接续和断续方案,交换速率慢些,但是同样适用多种多层交换网的交换。
为了避免芯片受到干扰致使接续数据丢失,可以设置一包括资源池时隙下标数据项usDChannelPtr的组通道资源记录表,用于实时保存每一组的接续关系和断续关系;当接续数据丢失时,访问该数据所在组的组通道资源记录表,恢复组的接续关系。
在组通道资源记录表中设置索引信息及数据信息。索引信息可以包括目的时隙所在列号、目的时隙所在芯片号、目的时隙所在组号、目的通道号。数据信息包括表明时隙所在链路处于接续还是断续状态的标识、源时隙所在的列号、源时隙所在芯片号、源时隙所在组号和源通道号。若对于同一交换网,每一通道号都是唯一且所有的通道号是连续编号的,则从通道号可以计算得到其所在组号、所在芯片号、所在列号时,索引信息中可只包含目的通道号。数据信息中只包含源通道号。比如,每一组数组的大小为8192,某一源通道号为8194,则说明该通道在第二组、所在芯片号为0,所在列号为0
请参阅表1,其为本发明组通道资源记录表的一实施表项。
表1
每一次接续或断续操作,都会在表1中进行记录,序号为1、2、3表明一次接续或断续操作。索引项中可以保存目的时隙所在列号、目的时隙所在芯片号、目的时隙所在组号、目的通道号。数据项中可以包括表明时隙所在链路处于接续还是断续状态的标识、源时隙所在的列号、源时隙所在芯片号、源时隙所在组号和源通道号。
在整个数据交换过程中,组通道资源记录表可以设置一个。在芯片受到干扰等引起接续数据丢失时,直接访问组通道资源记录表来恢复组的接续。另外,本发明也可以在整个数据交换过程中,每一组都设置一用于实时保存该组的接续关系的组通道资源记录表,则在芯片受到干扰等引起接续数据丢失时,能够通过访问该数据所在组的组通道资源记录表恢复组的接续,增加恢复功能。
本发明在接续过程中利用资源池管理时隙的申请和释放,很容易找到需要的时隙,无需费时费力去查找需要的时隙,提高了接续的效率,进而做到无阻塞无延时的交换。并且,本发明还设置一组通道资源记录表,增加恢复功能,从而提高了抗干扰能力。
为了更容易控制多播,本发明需要保存发生多播的位置及多播分支的个数。本发明可以通过设置的多播记录表来保存多播信息。比如:
预先设置一多播记录表;
在链路搭建时,在多播记录表中将源时隙所在通道号对应的记录、发生多播的每个目的时隙所在通道号对应的记录依次进行链接,在源时隙所在通道号对应的记录中保存有多播分支的个数,在目的时隙所在通道号对应的记录中保存有多播的位置。
优选地,在多播记录表中将源时隙所在通道号对应的记录、发生多播的每个目的时隙所在通道号对应的记录以单链表的方式依次进行链接,源时隙所在通道号对应的记录为头结点,每个目的时隙所在通道号所在的记录为链表中的分支结点。
在多播记录表中设置有源时隙所在芯片号、源时隙所在HW组号、源时隙所在通道号、目标时隙所在芯片号、目的时隙所在HW组号、目的时隙所在通道号、多播分支个数/多播位置及与能链接到下一个目的时隙所在通道号的分支结点信息。表1为多播记录表结构的一实例。
表1 多播记录表结构示意图
说明:ucIChip:源时隙所在芯片号;
ucSHwGroup:源时隙所在HW组号;
usSChannel:源时隙所在通道号;
ulIdleFlag:第一个结点时是空闲标志,0空闲,>=1忙,对于多播,如果其上增
加一个多播分支,则加1,减少一个,则减1。第二个以后结点该数据项
记录多播位置;
ucDChip:目的时隙所在芯片号;
ucDHwGroup:目的时隙所在HW组号;
usDChannel:目的时隙所在通道号;
pstrDChanNext:多播时,指向下一个目的通道号结点
需要说明的是,通道号用于指明该时隙在整个交换网上的位置。即
通道号=时隙所在HW组号*8192+时隙在资源池所在的下标。
为了记录每个源通道号对应多少个目的通道号,本发明可以采用单链表的方式进行记录,每个源通道号对应的多播记录表结构始终作为链表的头结点,数据项ulIdleFlag记录多播的个数。当在此源通道号上进行一个多播分支搭网时,将该多播分支信息记录到另外申请的多播记录表结构中,并连接到源通道号链表的后面,作为下一个结点,每个多播分支都是在头结点的基础上进行多播的,当有多个多播分支时就形成了一个链表,如图6所示。当进行一个多播分支拆网时,先在多播链表中找到要拆网的结点,如果要拆网的结点为头结点,则在链表中查找一个多播分支结点(查找方法按照多播拆网原则),将其数据(除ulIdleFlag)拷贝到头结点,然后再将该多播分支结点删除;如果要拆网的结点不为头结点,则直接从链表中删除该结点。
另外,本发明也可以采用以下方式进行多播分支拆网:拆网时查找多播记录表确定拆除的是否是分支结点,若是分支结点,在多播记录表中删除分支结点对应的记录信息,若是头结点,找到下一个分支结点作为链表的头结点后,在多播记录表中删除该头结点对应记录信息。若删除的是分支结点,找到该分支结点在单链表中的前一结点,将前一结点内保存的下一结点的位置信息保存为要删除的分支结点内保存的下一结点的位置信息。举例来说,若单链表中保存有头结点-N1-N2-N3-N4,若删除N1结点,则将头结点中保存的下一结点的位置信息保存为N2的位置信息,再删除N1结点,若删除N4节点,只需要将N4删除,并在N3中保存的下一结点的信息置为空即可。若删除的是头结点,找到下一个分支结点作为链表的头结点后,删除头结点。
一种交换装置(如图7所示),用于实现多播情况下交换网13中的程控数字交换,所述交换装置还包括处理器11和存储单元12,其中,
处理器11:所述处理器11进一步包括搭网处理单元111和拆网处理单元112。所述搭网处理单元111用于在搭网时确定多播的位置后建立链路,并将多播产生的位置及多播分支的个数存储在所述存储单元12上;所述拆网处理单元112用于在拆网时,从存储单元12中获得多播产生的位置及多播分支的个数,若拆除的是多播分支,将所述分支申请的时隙进行释放。
搭网处理单元111在搭网时通常会采用前述的多播搭网原则使得搭网阻塞率在此交换网架构基础上降低为最小,以致不影响正常业务。拆网处理单元112在拆网时同样也采用上述公开的多播拆网原则拆除链路,比如,从产生多播的级到输出级每级需要进行拆除链路的操作。并且,为了拆网时方便拆除链路,通常将将多播产生的位置及多播分支个数等信息存储在存储单元中。本发明还可以通过在存储单元设置多播记录表存储子单元来记录多播信息。
本发明的所述交换装置为时分复用TDM交换单板。交换网13通常是由N块交换芯片组成。所述交换芯片可以采用ZL80009芯片。
以上公开的仅为本发明的几个具体实施例,但本发明并非局限于此,任何本领域的技术人员能思之的变化,都应落在本发明的保护范围内。