专利名称:一种业务数据的映射和解映射方法以及相关装置的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种业务数据的映射和解映射方法以及相关装置。
背景技术:
随着光纤通信网络传输速率的不断提高,通信网络的业务数据的路径增多,芯片内部原有的空分总线在资源面积,模块重用,易用性方面变得不可接受,而新的时分总线可以在同一总线下传输多种不同速率的业务,可以节省互联资源,使得多个业务可以共享同一个通道进行传输。可以通过空分、时分的转换完成光纤通信网络的映射和解映射。其中,在进行低阶和高阶的映射或解映射中,需要将时分总线上的低阶业务数据 映射到空分字节间插的高阶帧结构中,或者将高阶帧结构中空分间插的字节解映射出低阶的业务数据。时分和空分转换可以完成映射或解映射,并可以决定映射或解映射的逻辑复杂度,成本功耗等。在映射或解映射的时分转空分或空分转时分的转换中,涉及到多通道调度,数据缓存和数据选择。现有技术中,大多是按通道对低阶业务数据进行缓存和选择。其实现原理如图I所示,BUF模块分通道缓存多路低阶业务数据,一个通道缓存一个业务数据,并由TDM模块分时将这多个通道的业务数据写入多个先入先出队列中缓存,其中,一个业务数据写入一个先入先出队列中。若一个业务数据占用η个高阶时隙,则每个先入先出队列对应η个高阶时隙,其中,MUX完成业务数据的移位输出逻辑和字节插入时隙,用于读取先入先出队列中的业务数据,按字节移位输出,插入到η个高阶时隙中。本发明的发明人在对现有技术的研究和实践过程中发现,现有技术中将一个通道中的业务数据写入一个先入先出队列中,一个业务数据占用η个高阶时隙,则需要将每个先入先出队列中的业务数据写入η个高阶时隙中。现有技术中分通道进行业务数据的缓存和选择,各个通道和各个先入先出队列独立处理一个业务数据,各个先入先出队列之间不共享储存资源和逻辑资源,导致逻辑资源占用大,且当只有少数业务数据需要处理时,大部分的通道以及先入先出队列闲置,资源利用率低,成本高,功耗大。
发明内容
本发明实施例提供了一种业务数据的映射和解映射方法以及相关装置,用于提高资源的利用率。—种业务数据的映射方法,可包括读取业务数据;将读取的业务数据切分为N个数据块,其中,N等于业务数据占用的时隙的个数;将切分的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列;从先入先出队列中选择数据块,并插入先入先出队列对应的时隙中,其中,一个先入先出队列对应于一个时隙。可选的,读取业务数据,具体包括从多个通道的业务数据中读取一个通道的业务数据。
可选的,从多个通道的业务数据中读取一个通道的业务数据,具体为比较多个通道的业务数据所写入的先入先出队列的水线大小;若水线大小不相等,则读取与所写入水线最小的先入先出队列对应的通道的业务数据;若水线大小相等,则判断多个通道的业务数据的带宽大小,并优先读取带宽较大的业务数据。可选的,多个通道的业务数据中读取一个通道的业务数据,具体为轮询多个通道的业务数据所写入的先入先出队列的水线状态;每轮询到先入先出队列的水线状态处于非满状态时,读取与所写入处于非满状态的先入先出队列对应的通道的业务数据。可选的,将读取的业务数据切分为N个数据块,具体包括根据字节数将读取的业务数据切分为N个数据块。根据第二种可能的实现方式,在同一先入先出队列中,每间隔N个字节取出一个字节插入与先入先出队列对应的时隙中。可选的,若业务数据增加P个占用的时隙,则每间隔N+P个字节取出一个字节插入与先入先出队列对应的时隙中;若业务数据减少Q个占用的时隙,则每间隔N-Q个字节取出一个字节插入与先入先出队列对应的时隙中。 一种业务数据的解映射方法,包括确定业务数据所属的N个时隙,业务数据包括N个数据块,每个数据块存放在一个时隙中;分别从N个时隙中读取数据块;将从时隙中读取的数据块写入N个先入先出队列中,其中,一个先入先出队列对应于一个时隙;WN个先入先出队列中读取数据块,组合成业务数据。可选的,数据块根据字节存放在时隙中;在同一时隙中,数据块每间隔N个字节有一个字节存放在时隙中。可选的,分别同时从N个时隙中读取数据块的字节,并同时将从时隙中读取的数据块写入N个先入先出队列中。可选的,若业务数据所属的时隙增加P个,则在同一时隙中,数据块每间隔N+P个字节有一个字节存放在时隙中;若业务数据所属的时隙减少Q个时隙,则在同一时隙中,数据块每间隔N-Q个字节有一个字节存放在时隙中。一种业务数据的映射装置,包括读取模块,用于读取业务数据;切分模块,用于将读取模块读取到的业务数据切分为N个数据块,其中,N等于业务占用的时隙的个数;写入模块,用于将切分模块切分后的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列;选择插入模块,用于从先入先出队列中选择数据块,并插入先入先出队列对应的时隙中,其中,一个先入先出队列对应于一个时隙。可选的,读取模块从多个通道的业务数据中读取一个通道的业务数据。可选的,读取模块,具体用于比较多个通道的业务数据所写入的先入先出队列的水线大小;若水线大小不相等,则读取与所写入水线最小的先入先出队列对应的通道的业务数据,若水线大小相等,则判断多个通道的业务数据的带宽大小,并优先读取带宽较大的业务数据。可选的,读取模块,具体用于轮询多个通道的业务数据所写入的先出队列的水线状态,每轮询到先入先出队列的水线状态处于非满状态时,读取与所写入处于非满状态的先入先出队列对应的通道的业务数据。可选的,划分模块,具体用于根据字节数将读取的业务数据切分为N个数据块;其中,在同一先入先出队列中,每间隔N个字节取出一个字节插入与先入先出队列对应的时隙中。可选的,选择插入模块,具体用于若业务数据增加P个占用的时隙,选择插入模块每间隔N+P个字节取出一个字节插入与先入先出队列对应的时隙中;若业务数据减少Q个占用的时隙,选择插入模块每间隔N-Q个字节取出一个字节插入与先入先出队列对应的时隙中。一种业务数据的解映射装置,包括确定模块,用于确定业务数据所属的N个时隙,业务数据包括N个数据块,每个数据块存放在一个时隙中;读取模块,用于分别从N个时 隙中读取数据块;写入模块,用于将读取模块从时隙中读取的数据块写入N个先入先出队列中,其中,一个先入先出队列对应于一个时隙;组合模块,用于从N个先入先出队列中读取数据块,组合成业务数据。可选的,数据块根据字节存放在时隙中;在同一时隙中,数据块每间隔N个字节有一个字节存放在时隙中。可选的,写入模块,具体用于若业务数据所属的时隙增加P个,则在同一时隙中,数据块每间隔N+P个字节有一个字节存放在时隙中;若业务数据所属的时隙减少Q个时隙,则在同一时隙中,数据块每间隔N-Q个字节有一个字节存放在时隙中。一种业务数据的处理系统,包括上述任一种业务数据的映射装置和业务数据的
解映射装置。从以上技术方案可以看出,本发明实施例具有以下优点本发明实施例可以将一个业务数据按其占用的时隙个数切分为N个数据块,每个数据块与一个先入先出队列和一个时隙对应,本实施例可以按业务数据占用的时隙进行缓存和选择,并可以同时将一个业务数据写入该业务数据占用的N个时隙中,可以优化业务数据的逻辑资源,提高了资源的利用率,降低功耗。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是现有技术中的业务数据的映射方法的一个示意图;图2是本发明实施例中业务数据的映射方法的一个方法流程图;图3是本发明实施例中业务数据的映射方法的另一个方法流程图;图4是本发明实施例中业务数据的映射装置的结构图;图5是本发明实施例中业务数据的映射方法的一个具体应用例的示意图;图6是本发明实施例中业务数据的解映射方法的方法流程图;图7是本发明实施例中业务数据的解映射方法的一个具体应用例的示意图;图8是本发明实施例中业务数据的解映射装置的结构图;图9是本发明实施例中业务数据的处理系统的结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种业务数据的映射和解映射方法,用于提高资源的利用率。本发明实施例还提供相关装置。以下分别详细说明。实施例一本发明提供了一种业务数据的映射方法,其中,本发明实施例将以业务数据的映射装置的角度进行详细描述,为了描述方便,以下将该业务数据的映射装置简称为映射装置。一种业务数据的映射方法,包括读取业务数据;将读取的业务数据切分为N个数据块,其中,N等于业务数据占用的时隙的个数;将切分的数据块分别写入先入先出队列,
其中,一个数据块写入一个先入先出队列;从先入先出队列中选择数据块,并插入先入先出队列对应的时隙中,其中,一个先入先出队列对应于一个时隙。如图2所示,具体流程可以如下101、读取业务数据;例如,具体可以如下首先可以将多个业务数据缓存在数据缓存区的多个通道中,其中,可以将一个业务数据缓存在一个通道中,不同的业务数据被分配固定长度的地址段,独立进行地址管理。其中,为保证业务数据不会断流或溢出,每个业务数据在正常工作时,数据缓存区中存储的业务数据维持在非空和非满的状态。应当理解的是,该业务数据可以是低阶业务数据。具体的,本实施例中映射装置可以在多个通道的业务数据中读取其中一个通道的业务数据,为了保证写入先入先出队列中的业务数据不会断流,需要选择先读出哪一个业务数据。例如,具体可以通过以下方式从多个通道的业务数据中读取一个通道的业务数据方式一、可以比较多个通道的业务数据所写入的先入先出队列的水线大小若这多个通道的业务数据所写入的先入先出队列的水线大小不相等,则读取与水线最小的先入先出队列对应的通道的业务数据;若这多个通道的业务数据对应的先入先出队列的水线大小相等,则判断这多个通道的业务数据的带宽大小,并优先读取带宽较大的业务数据。方式二、可以轮询多个通道的业务数据所写入的先入先出队列的水线状态每当轮询到这些通道的业务数据所写入的先入先出队列的水线状态处于非满状态时,读取与所写入处于非满状态的先入先出队列对应的通道的业务数据。102、将读取的业务数据切分为N个数据块,其中,N等于业务数据占用的时隙的个数;可选的,可以根据字节数将读取的业务数据切分为N个数据块,其中,N等于业务数据占用的时隙的个数。103、将切分的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列;可选的,可以同时将一个业务数据切分后的N个数据块分别写入N个先入先出队列中进行缓存。其中,可以将一个业务数据写入任意N个先入先出队列中,一个数据块分别写入一个先入先出队列中。应当理解的是,这个业务数据写入的任意N个先入先出队列是相互关联的。104、从先入先出队列中选择数据块,并插入该先入先出队列对应的时隙中,其中,一个先入先出队列对应于一个时隙。每个先入先出队列对应一个时隙,所有写入先入先出队列中的数据块可写入与先入先出队列对应的时隙中。可选的,可以同时将从先入先出队列中选择数据块插入该先入先出队列对应的时隙中。 可选的,在同一先入先出队列中,具体可以通过以下方式将数据块插入一个时隙中第一、在正常的写入情况下,每间隔N个字节取出一个字节插入与先入先出队列对应的时隙中。第二、若业务数据增加P个占用的时隙,则每间隔N+P个字节取出一个字节插入先入先出队列对应的时隙中;第三、若业务数据减少Q个占用的时隙,则每间隔N-Q个字节取出一个字节插入先入先出队列对应的时隙中。由上可知,本实施例首先可以根据业务数据占用的时隙切分为N个数据块,其中,N等于业务数据占用的时隙的个数,然后将切分的每个数据块分别写入一个先入先出队列,并将每个数据块插入一个与先入先出队列对应的时隙中,可以优化业务数据的逻辑资源,提高了资源的利用率,降低功耗。实施例二为了更好的理解上述方案,下面将详细说明本发明技术方案。其中,为了描述方便,本实施例以总线数据位宽为32字节,数据缓存区中最多有32个通道,可以最多缓存32个业务数据为例进行详细说明。其中,本发明实施例将以业务数据的映射装置的角度进行详细描述,如图3所示,具体流程可以如下201、从多个通道的业务数据中读取一个通道的业务数据;例如,具体可以如下具体的,本实施例中映射装置可以在多个通道的业务数据中读取其中一个通道的业务数据,为了保证写入先入先出队列中的业务数据不会断流,需要选择先读出哪一个业务数据。例如,具体可以通过以下方式从多个通道的业务数据中读取一个通道的业务数据方式一、可以比较多个通道的业务数据所写入的先入先出队列的水线大小应当理解的是,每个数据缓冲区的通道里有一个业务数据,每个通道的业务数据可以根据其占用的时隙个数写入先入先出队列中,其中,每个通道的业务数据写入的先入先出队列各不相同,其中,同一通道的业务数据写入的先入先出队列是相互关联的。比较输入的多个通道的业务数据对应的先入先出队列的水线大小这多个通道的业务数据所写入的先入先出队列的水线大小不相等,则读取与水线最小的先入先出队列对应的通道的业务数据;若这多个通道的业务数据对应的先入先出队列的水线大小相等,则判断这多个通道的业务数据的带宽大小,并优先读取带宽较大的业务数据。
方式二、可以轮询输入的多个通道的业务数据对应的先入先出队列的水线状态每当轮询到这些通道的业务数据所写入的先入先出队列的水线状态处于非满状态时,读取与所写入处于非满状态的先入先出队列对应的通道的业务数据。具体的,为了提高多个通道的业务数据中读取一个通道的业务数据的读取效率,可以增加业务数据的轮询机会。例如,可以在数据缓存区增加出口,提供多个出口让缓存在通道中的业务数据输出。例如,可以在数据缓存区设置A和B两个出口。如果数据缓存区中有k个业务数据,则A和B出口分别可以轮询k/2个业务数据,占有η个时隙的业务数据在一次轮询过程中占有2 Λ (ceil (In(η)/In(2)))次机会。例如,一个业务数据占15个时隙,另一个业务数据占17个时隙,15个时隙的业务数据占有16个轮询机会,17个时隙的业务数据占有32个轮询机会,可以将这两个业务数据分配在A和B两个出口,分别读取这两个出口的业务数据,进行切分后写入先入先出队列中。202、根据字节数将读取的业务数据切分为N个数据块,其中,N等于业务数据占用 的时隙的个数;本实施例以数据位宽为32字节为例进行详细说明,其中,N可以为I到32的整数。也就是说,本实施例中的一个业务数据可以占用I到32个时隙。需说明的是,对N的具体取值不作限定,具体可根据用户需要决定N的取值。本实施例中一个业务数据的位宽为32字节,当一个业务数据占用8个时隙,则可以将该业务数据切分为8个数据块,每个数据块可以平均的包含4个字节。203、将切分的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列;—个业务数据切分后的N个数据块可以分别写入N个先入先出队列中进行缓存。其中,可以将一个业务数据写入任意N个先入先出队列中,一个数据块分别写入一个先入先出队列中。应当理解的是,这个业务数据写入的任意N个先入先出队列是相互关联的,例如,这个业务数据写入的任意N个先入先出队列的水线大小相同。204、从先入先出队列中选择数据块,并插入该先入先出队列对应的时隙中,其中,一个先入先出队列对应于一个时隙。每个先入先出队列对应一个时隙,所有写入先入先出队列中的业务数据可写入与先入先出队列对应的时隙中。可选的,可以同时将从先入先出队列中选择数据块插入该先入先出队列对应的时隙中。例如,一个业务数据占用8个时隙,则可以将该业务数据切分为8个数据块,每个数据块被写入与一个先入先出队列对应的时隙中,也就是从32个字节中每间隔8个字节取出一个字节插入一个时隙中。其中,当不能平均的将32个字节写入时隙中时,在同一先入先出队列中,依据每间隔N个字节取出一个字节插入一个时隙中的原则将数据块插入时隙中。应当理解的是,一个先入先出队列对应于一个时隙。可选的,相邻的时隙中写入的字节数相邻。例如,一个数据块插入一个时隙的第8字节,则另一个数据块插入另一个时隙的第9字节。本实施例可以支持业务数据占用的时隙的个数的动态变化,保证业务数据无损。可选的,在同一先入先出队列中,具体可以通过以下方式将每个数据块分别插入一个先入先出队列对应的时隙中
第一、在正常的写入情况下,每间隔N个字节取出一个字节插入与先入先出队列对应的时隙中例如,一个业务数据占a、b、C、d、e、f和g —共7个时隙,则将这个业务数据切分为7个数据块,那么,从32个字节中每间隔7个字节取出一个字节插入a时隙,从a时隙的所取字节的下一个字节取出一个字节插入b时隙,以此类推。具体可以参阅表一,表中加粗部分为写入该时隙的字节表一
权利要求
1.一种业务数据的映射方法,其特征在于,包括 读取业务数据; 将所述读取的业务数据切分为N个数据块,其中,所述N等于所述业务数据占用的时隙的个数; 将切分的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列; 从所述先入先出队列中选择数据块,并插入所述先入先出队列对应的时隙中,其中,一个所述先入先出队列对应于一个时隙。
2.根据权利要求I所述的方法,其特征在于,所述读取业务数据,具体包括 从多个通道的业务数据中读取一个通道的业务数据。
3.根据权利要求2所述的方法,其特征在于,所述从多个通道的业务数据中读取一个通道的业务数据,具体为 比较所述多个通道的业务数据所写入的先入先出队列的水线大小; 若所述水线大小不相等,则读取与所写入水线最小的先入先出队列对应的通道的业务数据; 若所述水线大小相等,则判断所述多个通道的业务数据的带宽大小,并优先读取带宽较大的业务数据。
4.根据权利要求2所述的方法,其特征在于,所述多个通道的业务数据中读取一个通道的业务数据,具体为 轮询所述多个通道的业务数据所写入的先入先出队列的水线状态; 每轮询到所述先入先出队列的水线状态处于非满状态时,读取与所写入处于非满状态的先入先出队列对应的通道的业务数据。
5.根据权利要求I至4中任一项所述的方法,其特征在于,所述将所述读取的业务数据切分为N个数据块,具体包括 根据字节数将所述读取的业务数据切分为N个数据块。
6.根据权利要求5所述的方法,其特征在于, 在同一先入先出队列中,每间隔N个字节取出一个字节插入与所述先入先出队列对应的时隙中。
7.根据权利要求6所述的方法,其特征在于, 若所述业务数据增加P个占用的时隙,则每间隔N+P个字节取出一个字节插入与所述先入先出队列对应的时隙中; 若所述业务数据减少Q个占用的时隙,则每间隔N-Q个字节取出一个字节插入与所述先入先出队列对应的时隙中。
8.—种业务数据的解映射方法,其特征在于,包括 确定业务数据所属的N个时隙,所述业务数据包括N个数据块,每个数据块存放在一个时隙中; 分别从所述N个时隙中读取数据块; 将从时隙中读取的数据块写入N个先入先出队列中,其中,一个先入先出队列对应于一个时隙; 从所述N个先入先出队列中读取数据块,组合成业务数据。
9.根据权利要求8所述的方法,其特征在于, 所述数据块根据字节存放在所述时隙中; 在同一时隙中,所述数据块每间隔N个字节有一个字节存放在所述时隙中。
10.根据权利要求9所述的方法,其特征在于, 分别同时从所述N个时隙中读取所述数据块的字节,并同时将从时隙中读取的数据块写入N个先入先出队列中。
11.根据权利要求9或10所述的方法,其特征在于, 若所述业务数据所属的时隙增加P个,则在同一时隙中,所述数据块每间隔N+P个字节有一个字节存放在所述时隙中; 若所述业务数据所属的时隙减少Q个时隙,则在同一时隙中,所述数据块每间隔N-Q个字节有一个字节存放在所述时隙中。
12.—种业务数据的映射装置,其特征在于,包括 读取模块,用于读取业务数据; 切分模块,用于将所述读取模块读取到的业务数据切分为N个数据块,其中,所述N等于所述业务占用的时隙的个数; 写入模块,用于将所述切分模块切分后的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列; 选择插入模块,用于从先入先出队列中选择数据块,并插入所述先入先出队列对应的时隙中,其中,一个所述先入先出队列对应于一个时隙。
13.根据权利要求12所述的装置,其特征在于, 所述读取模块从多个通道的业务数据中读取一个通道的业务数据。
14.根据权利要求13所述的装置,其特征在于, 所述读取模块,具体用于比较所述多个通道的业务数据所写入的先入先出队列的水线大小; 若所述水线大小不相等,则读取与所写入水线最小的先入先出队列对应的通道的业务数据,若所述水线大小相等,则判断所述多个通道的业务数据的带宽大小,并优先读取带宽较大的业务数据。
15.根据权利要求13所述的装置,其特征在于, 所述读取模块,具体用于轮询所述多个通道的业务数据所写入的先出队列的水线状态,每轮询到所述先入先出队列的水线状态处于非满状态时,读取与所写入处于非满状态的先入先出队列对应的通道的业务数据。
16.根据权利要求12至15中任一项所述的装置,其特征在于, 所述划分模块,具体用于根据字节数将所述读取的业务数据切分为N个数据块; 其中,在同一先入先出队列中,每间隔N个字节取出一个字节插入与所述先入先出队列对应的时隙中。
17.根据权利要求16所述的装置,其特征在于, 所述选择插入模块,具体用于若所述业务数据增加P个占用的时隙,所述选择插入模块每间隔N+P个字节取出一个字节插入与所述先入先出队列对应的时隙中;若所述业务数据减少Q个占用的时隙,所述选择插入模块每间隔N-Q个字节取出一个字节插入与所述先入先出队列对应的时隙中。
18.—种业务数据的解映射装置,其特征在于,包括 确定模块,用于确定业务数据所属的N个时隙,所述业务数据包括N个数据块,每个数据块存放在一个时隙中; 读取模块,用于分别从所述N个时隙中读取数据块; 写入模块,用于将所述读取模块从时隙中读取的数据块写入N个先入先出队列中,其中,一个先入先出队列对应于一个时隙; 组合模块,用于从所述N个先入先出队列中读取数据块,组合成业务数据。
19.根据权利要求18所述的装置,其特征在于, 所述数据块根据字节存放在所述时隙中; 在同一时隙中,所述数据块每间隔N个字节有一个字节存放在所述时隙中。
20.根据权利要求19所述的装置,其特征在于, 所述写入模块,具体用于若所述业务数据所属的时隙增加P个,则在同一时隙中,所述数据块每间隔N+P个字节有一个字节存放在所述时隙中; 若所述业务数据所属的时隙减少Q个时隙,则在同一时隙中,所述数据块每间隔N-Q个字节有一个字节存放在所述时隙中。
21.—种业务数据的处理系统,其特征在于,包括 如权利要求12至17中任一项所述的业务数据的映射装置和如权利要求18至20中任一项所述的业务数据的解映射装置。
全文摘要
本发明实施例公开了一种业务数据的映射和解映射方法以及相关装置。本发明实施例方法包括读取业务数据;将读取的业务数据切分为N个数据块,其中,N等于业务数据占用的时隙的个数;将切分的数据块分别写入先入先出队列,其中,一个数据块写入一个先入先出队列;从先入先出队列中选择数据块,并插入先入先出队列对应的时隙中,其中,一个先入先出队列对应于一个时隙。本实施例可以优化映射和解映方法的逻辑资源,提高资源的利用率。
文档编号H04L1/00GK102882627SQ20121033839
公开日2013年1月16日 申请日期2012年9月13日 优先权日2012年9月13日
发明者廖锦秋, 吴德亮 申请人:华为技术有限公司