一种队列存储空间管理方法及装置与流程

文档序号:12595959阅读:294来源:国知局
一种队列存储空间管理方法及装置与流程

本发明涉及通信技术领域中队列管理的相关技术,尤其涉及一种队列存储空间管理方法及装置。



背景技术:

随着网络流量的飞速发展,用户对数据产品的服务质量(QoS,Quality of Service)要求越来越高,对QoS需要支持的队列数、带宽和报文存储时间也提出了更高的要求,这就对队列管理单元(QM,Queue Manager)的性能要求越来越高。

通常情况下,队列管理包括入队、出队两个基本操作。报文入队时,根据报文包含的队列号可以将报文存储到对应的队列存储空间中,在报文被调度出队时,从队列存储空间读取入队存储的报文。

对于大容量的流量管理,一般都是把报文存储在外部存储器中,随着存储报文的外部存储器越来越大,如何对外部存储器进行缓存划分和管理变得越来越重要。一般情况下,是将外部存储器按照固定大小进行划分,每个单元为一个Block块,一个Block块可以存储512B或者其他固定大小的报文分片。每个Block都对应一个地址指针,通过指针指向报文分片存储的地址。为了节省随机存取存储器RAM(RAM,Random Access Memory)资源,这些指针一般是通过链表进行管理的。

现有的队列管理方法一般是基于链表的队列管理方法。由于地址数量非常多,通常需要一个RAM来存放。队列每调度出队一个报文,都需要刷新这个队列的头指针,先从RAM中读取队列的下一个报文的地址,然后再将下一个报文的地址更新为队列头指针。这里,由于RAM的读延迟比较大,因此头指 针的刷新需要很多个时钟周期,而在头指针刷新完成之前,队列不能发送下一个报文,这就严重影响队列的出队报文的速度。

由于当前的队列存储空间都比较大,所以链表信息一般都是存储在片外的4倍数据比率(QDR,Quad Data Rate)存储器里面或者2倍数据比率(DDR,Double Data Rate)存储器中,QDR的读写延迟有8个时钟周期左右,DDR的读写延迟更大,过高的读写延迟极大的限制了队列管理性能的提升



技术实现要素:

有鉴于此,本发明实施例期望提供一种队列存储空间管理方法,解决了外部存储器高读写延迟问题。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供了一种队列存储空间管理方法,所述方法包括:

创建指针组,所述指针组包括至少一个的报文指针域,每个报文指针域存储一个报文指针;

通过所述指针组,对队列存储空间进行读写操作。

上述方案中,所述指针组中的报文指针域之间地址相互独立。

上述方案中,所述通过所述报文指针组,对队列存储空间进行读写操作包括:

通过所述报文指针组,对队列存储空间进行空闲指针申请、队列入队、队列出队、空闲指针回收以及空闲指针链表存储和队列链表存储操作。

上述方案中,所述通过指针组,对队列存储空间进行空闲指针申请包括:

判断当前的指针组内是否还有空闲指针;

当前指针组内没有空闲指针时,申请一个新的空闲指针组作为当前指针组,并读取当前指针组中的空闲指针;

当前指针组内有空闲指针时,读取当前指针组中的空闲指针。

上述方案中,所述通过指针组,对队列存储空间进行队列入队操作包括:

将需要入队的指针填充到所述指针组中的空闲指针中;

当所述指针组饱和、或相同队列的入队指针等待超时,将所述指针组进行队列入队操作。

上述方案中,所述通过指针组,对队列存储空间进行队列出队操作包括:

将需要出队的指针写入预出队先入先出队列,将所述预出队先入先出队列进行队列出队操作。

上述方案中,所述通过指针组,对队列存储空间进行空闲指针回收包括:

将队列出队操作释放的出队指针依次写入指针组;

当所述指针组饱和时,将所述指针组进行空闲指针回收。

本发明实施例还提供了一种队列存储空间管理装置,所述装置包括:指针组创建单元、操作单元,其中,

所述指针组创建单元,用于创建指针组,所述指针组包括至少一个的报文指针域,每个报文指针域存储一个报文指针;

所述操作单元,用于通过所述指针组,对队列存储空间进行读写操作。

上述方案中,所述操作单元具体用于:

通过所述报文指针组,对队列存储空间进行空闲指针申请、队列入队、队列出队、空闲指针回收以及空闲指针链表存储和队列链表存储操作。

上述方案中,所述操作单元具体用于:

判断当前的指针组内是否还有空闲指针;

当前指针组内没有空闲指针时,申请一个新的空闲指针组作为当前指针组,并读取当前指针组中的空闲指针;

当前指针组内有空闲指针时,读取当前指针组中的空闲指针。

上述方案中,所述操作单元具体用于:

将需要入队的指针填充到所述指针组中的空闲指针中;

当所述指针组饱和、或相同队列的入队指针等待超时,将所述指针组进行队列入队操作。

上述方案中,所述操作单元具体用于:

将需要出队的指针写入预出队先入先出队列,将所述预出队先入先出队列 进行队列出队操作。

上述方案中,所述操作单元具体用于:

将队列出队操作释放的出队指针依次写入指针组;

当所述指针组饱和时,将所述指针组进行空闲指针回收。

本发明实施例所提供的队列存储空间管理方法和装置,先创建指针组,所述指针组包括至少一个的报文指针域,每个报文指针域存储一个报文指针;再通过所述指针组,对队列存储空间进行读写操作。如此,在对队列存储空间进行入队、出队和空闲指针管理时,一次访问外部存储器得到能够得到N报文指针,可供多次使用,从而能够减少对外部存储器的访问次数,解决了外部存储器高读写延迟问题,提高了队列管理单元的处理性能,节省了外部存储器的读写次数,降低了功耗。

附图说明

图1为本发明实施例指针组结构示意图;

图2为本发明实施例队列存储空间管理方法流程示意图;

图3为本发明实施例空闲指针链表链接结构示意图;

图4为本发明实施例队列链表链接结构示意图;

图5为本发明实施例对队列存储空间进行空闲指针申请方法流程示意图;

图6为本发明实施例对队列存储空间进行队列入队操作方法流程示意图;

图7为本发明实施例对队列存储空间进行队列出队操作方法流程示意图;

图8为本发明实施例队列预出队方法流程示意图;

图9为本发明实施例对队列存储空间进行空闲指针回收方法流程示意图;

图10为本发明实施例出队指针拼接方法示意图;

图11为本发明实施例队列存储空间管理装置结构示意图。

具体实施方式

在本发明实施例中,先创建指针组,其中,所述指针组包括至少一个的报 文指针域,每个报文指针域存储一个报文指针;再通过所述指针组,对队列存储空间进行读写操作。

本发明实施例中,所述指针组结构示意图如图1所示,在进行队列存储空间管理时,不使用报文真实的指针进行管理,使用指针组进行管理,指针组不作为实际的报文存储指针,只是作为存储报文指针的地址。报文存储的指针按照入队顺序依次存储在指针组的报文指针域里面。

具体的,所述指针组中包含的报文指针域的数量在创建指针组时确定,在通过指针组对队列存储空间进行读写操作时,所述指针组中的报文指针域数目不变。

本发明实施例中,一个指针组可以包括N个报文指针域,存储N个实际的报文描述符,报文描述符包括报文的实际指针、存储器bank信息等,N个实际的报文指针域地址之间相互独立,没有任何地址关联关系。对队列存储空间进行入队和出队写操作时,以指针组为单位,一次读出或者写入一个指针组;由于指针组包括多个实际的包描述符,对应N个实际的报文指针,因此在对队列存储空间进行入队、出队和空闲指针管理时,一次访问外部存储器得到能够得到N报文指针,可供多次使用,从而能够减少对外部存储器的访问次数。

下面结合附图及具体实施例,对本发明实施例所述队列存储空间管理方法进行进一步详细说明,图2为本发明实施例队列存储空间管理方法流程示意图,如图2所示本发明实施例中所述队列存储空间管理方法包括以下步骤:

步骤201:创建指针组;

其中,所述指针组包括至少一个的报文指针域,每个报文指针域存储一个报文指针;所述指针组中的报文指针域之间地址相互独立,不存在地址关联关系。

具体的,在首次进行指针组初始化的时候,指针组里面的内容全部是空闲指针,按照顺序进行初始化,指针组在经过多次出队回收之后,指针组存储的实际指针全部打乱,实际指针域中的指针之间不再存在关联关系。

步骤202:通过所述指针组,对队列存储空间进行读写操作;

其中,通过所述报文指针组,对队列存储空间进行空闲指针申请、队列入队、队列出队、空闲指针回收以及空闲指针链表存储和队列链表存储操作。

本发明实施例中,所述对队列存储空间进行空闲指针链表存储时,空闲指针链表通过指针组进行链接,一个指针组存储N个实际的空闲指针,这些实际的空闲指针之间没有任何关系,指针组只是作为存储实际空闲指针的地址。空闲指针链表的头尾虚拟指针存储在芯片内,空闲指针链表头节点、尾节点和中间节点都存储在外部存储器中。每个指针组都存有N个实际的空闲指针,空闲指针链表链接结构示意图如图3所示。

本发明实施例中,所述对队列存储空间进行队列链表存储操作时,基于队列的指针链表也使用指针组进行链接,图4为本发明实施例队列链表链接结构示意图;每个队列都有各自独立的虚拟链表,一个指针组存储N个实际的队列指针,指针组只是作为存储实际队列指针的地址;队列状态表的头尾虚拟指针存储在芯片内,队列链表头节点、尾节点和中间节点都存储在外部存储器中。每个队列链表都有独立的非空状态信息,存储在芯片内,用来指示队列状态是否非空,只有非空才进行队列状态更新。

本发明实施例中,所述通过指针组,对队列存储空间进行空闲指针申请包括:判断当前的指针组内是否还有空闲指针;当前指针组内没有空闲指针时,申请一个新的空闲指针组作为当前指针组,并读取当前指针组中的空闲指针;当前指针组内有空闲指针时,读取当前指针组中的空闲指针。

图5为本发明实施例对队列存储空间进行空闲指针申请方法流程示意图,如图5所示,本发明实施例中,所述对队列存储空间进行空闲指针申请包括以下步骤:

步骤A1:接收到空闲指针申请请求;

步骤A2:判断当前的指针组内是否还有空闲指针;当前指针组内没有空闲指针时,执行步骤A3;否则,执行步骤A4;

步骤A3:申请一个新的空闲指针组作为当前指针组,并执行步骤A4;

当前指针组内没有空闲指针时,即当前的虚拟指针耗尽时,则申请一个新 的空闲指针组作为当前指针组,重新发起读空闲虚拟指针先入先出队列FIFO;具体的,一次从外部存储器中读一个指针组针,使用下一个指针组nextptr更新头指针headptr,申请到N个实际空闲指针存入先入先出队列中,以备队列实际入队使用。

步骤A4:读取当前指针组中的空闲指针。

具体的,本步骤中,当前的指针组内还有空闲指针时,即当前指针组没有耗尽,则使用当前虚拟指针中剩余的空闲指针,进行空闲链表更新操作;使用当前的指针组的头指针读外部存储器,获得当前指针组的内容和下一个指针组nextptr,使用指针组的nextptr更新空闲队列状态表头指针headptr,读取的当前指针组里面的N个实际空闲指针存入指针组FIFO中,作为队列实际入队使用。上电初始化时候,先入先出队列FIFO为空,一直进行虚拟空闲指针的更新,直到将空闲指针先入先出FIFO填到将满。

本发明实施例中,所述通过指针组,对队列存储空间进行队列入队操作包括:将需要入队的指针填充到所述指针组中的空闲指针中;当所述指针组饱和、或相同队列的入队指针等待超时,将所述指针组进行队列入队操作。

图6为本发明实施例对队列存储空间进行队列入队操作方法流程示意图,如图6所示,本发明实施例中,所述对队列存储空间进行队列入队操作包括以下步骤:

步骤B1:接收到入队指针;

步骤B2:将需要入队的指针填充到所述指针组中的空闲指针中;

本步骤中,一个指针组中只能存储一个队列的入队指针,存储的实际的入队指针之间根据队列入队的顺序进行排序,顺序不能错乱,否则会导致报文乱序。

步骤B3:判断当前指针组是否饱和;当当前指针组没有饱和时,执行步骤B4;否则,执行步骤B6;

步骤B4:继续等待相同队列的入队指针;

步骤B5:判断相同队列的入队指针是否等待超时;当相同队列的入队指针 等待超时,执行步骤B6;当相同队列的入队指针没有等待超时,即接收到相同队列的入队指针时,返回步骤B2;

在步骤B3-B5中,当接收到报文的入队指针报文进入后,判断当前虚指针是否还有空闲指针域可用,如果有则进行入队指针组拼接,然后判断当前指针组的指针域是否饱和,如果没有饱和,则继续等待下一个相同队列的指针;预设时间内,如果没有收到下一个相同队列的指针,则认为等到超时,如果达到超时条件,即使指针组没有拼接饱和,也要进行强制入队,同时记录指针组中的指针个数。

步骤B6:将所述指针组发起队列入队操作;

步骤B7:更新当前节点链表的实际指针和下一个指针组nextptr;

步骤B8:通过所述指针组写外部存储器;

步骤B9:更新当前入队指针组为尾指针tailptr;

步骤B10:更新队列状态表;

其中,步骤B6-B10所述将指针组进行队列入队操作的过程中,使用队列状态的尾指针tailptr作为地址写外部存储器,同时更新入队的nextptr为当前队列的tailptr指针。

本发明实施例中,当指针组入队的时候,使用入队的当前指针组作为地址写外部存储器,更新当前节点链表的实际指针和下一个指针组nextptr,每个队列在入队进行指针组拼接的时候都需要预取2个指针组,当前指针入队的时候,需要提供下一个指针组,这样做的好处是可以减少一次存储在外部存储器中的链表的读,链表更新同时更新当前入队虚拟指针为当前队列的尾指针tailptr。同时更新虚拟队列状态表的非空状态为非空。

本发明实施例中,所述通过指针组,对队列存储空间进行队列出队操作包括:将需要出队的指针组成指针组,将所述指针组进行队列出队操作。

图7为本发明实施例对队列存储空间进行队列出队操作方法流程示意图,如图7所示,本发明实施例中,所述对队列存储空间进行队列出队操作包括以下步骤:

步骤C1:将需要出队的指针写入预出队先入先出队列;

本发明实施例中,在预出队过程中,首次按需要进行预出队处理,将需要出队的指针写入预出队先入先出队列;图8为本发明实施例队列预出队方法流程示意图,如图8所示,包括一下步骤:

步骤D1:确定开始预出队过程;

步骤D2:判断队列状态表状态变是否为非空;当队列状态表状态不是非空时,即队列状态为空,则执行步骤D3;否则,执行步骤D4;

本步骤中,当队列状态表状态变为非空时候,且报文描述符(PD,Pack Descriptor)先入先出队列FIFO没有写满的时候,即可达到队列Queue预出队条件。

步骤D3:等待入队过程,并在报文指针入队后,返回步骤D1;

本步骤中,当队列状态为空时,无法进行出队操作。

步骤D4:根据队列头指针headptr读取外部存储器;

步骤D5:接收外部存储器返回的数据;

步骤D6:更新队列状态表;

步骤D4-D6中,根据每个队列Queue头指针headptr,对外部存储器进行读取,得到当前的N个实际的出队指针;

步骤D7:将报文指针写入PD/单元描述符(CD,Cell Descriptor)先入先出队列FIFO中;

本步骤中,如果属于报文首指针,则写入预出队PD FIFO中,如果属于报文身指针,写入预出队CD FIFO中;同时更新下一指针组nextptr为当前队列的虚拟头指针。

步骤D8:更新下一个指针组nextptr为当前队列的头指针;

如此,完成队列预出队过程;

步骤C2:将所述预出队先入先出队列进行队列出队操作;

当预出队PD FIFO非空时候,则根据队列状态调度出预出队PD FIFO后,发起真正的出队请求。在队列出队操作过程中,基于预出队PD FIFO,获取到 报文首指针,如果还有报文身信息,则继续读取预出队CD FIFO,得到队列的所有指针。同时进行指针的拼接回收,从外部存储器中读出真正的报文。

本发明实施例中,,所述通过指针组,对队列存储空间进行空闲指针回收操作包括:将队列出队操作释放的空闲指针依次写入指针组;当所述指针组饱和时,将所述指针组进行空闲指针回收。

图9为本发明实施例对队列存储空间进行空闲指针回收方法流程示意图,如图9所示,本发明实施例中,所述对队列存储空间进行空闲指针回收包括以下步骤:

步骤E1:将队列出队操作释放的出队指针依次写入指针组;

步骤E2:判断所述指针组是否饱和;当所述指针组饱和时,执行步骤E4,否则,执行步骤E3;

步骤E3:等待出队指针;并返回步骤E1;

步骤E1-E3中,将每个Queue出队释放的实际出队指针,依次写入待回收的指针组各个域,拼满之后才进行真正的回收;图10为本发明实施例出队指针拼接方法示意图,如图10所示,q0、q1、q2分别表示不同的队列,ptrA、ptrB、ptrC分别表示不同的指针,在队列出队操作释放的出队指针依次写入指针组的过程中,不对队列进行区分,任意队列出队指针都拼接到一个指针组里面,因此指针组里面的实际指针之间没有任何关联性,如此,可以及时回收空闲指针,不用基于队列的等待拼接。

步骤E4:进行空闲指针回收;

步骤E5:通过空闲队列状态的尾指针tailptr读取外部存储器;

步骤E6:通过所述指针组写外部存储器的下一个指针组域;

步骤E7:通过所述指针组更新状态表尾指针tailptr;

在步骤E4-E7中,出队的指针是满一个指针组时,才进行真正的指针回收。

本发明实施例中,需要一个出队待释放指针的先入先出队列FIFO来存储实际指针预出队产生的待释放的指针组;因为虚拟指针本身没有任何的空闲指针,因此,指针组释放还不能进行回收,需要等待出队的指针释放后,两者进 行关联才可以真正的回收。出队指针拼满一个指针组后,从出队待释放指针组先入先出队列FIFO中读出一个指针组进行回收;回收过程中,首先使用空闲队列状态表的尾指针tailptr去读取外部存储器,获得当前尾指针节点的内容,然后把待回收的指针组回写到当前尾部指针组的下一个指针组nextptr域,完成空闲虚拟链表的更新,然后用待回收的指针组更新队列状态表的尾部指针tailptr域,至此,指针回收动作全部完成。

本发明实施例还提供了一种队列存储空间管理装置,图11为本发明实施例队列存储空间管理装置结构示意图,如图11所示,本发明实施例队列存储空间管理装置包括:指针组创建单元111、操作单元112,其中,

所述指针组创建单元111,用于创建指针组,所述指针组包括至少一个的报文指针域,每个报文指针域存储一个报文指针;

本发明实施例中,所述指针组中的报文指针域之间地址相互独立,不存在地址关联关系。

具体的,在首次进行指针组初始化的时候,指针组里面的内容全部是空闲指针,按照顺序进行初始化,指针组在经过多次出队回收之后,指针组存储的实际指针全部打乱,实际指针域中的指针之间不再存在关联关系。

所述操作单元112,用于通过所述指针组,对队列存储空间进行读写操作;

其中,所述操作单元112具体用于:通过所述报文指针组,对队列存储空间进行空闲指针申请、队列入队、队列出队、空闲指针回收以及空闲指针链表存储和队列链表存储操作。

本发明实施例中,所述操作单元112对队列存储空间进行空闲指针链表存储时,空闲指针链表通过指针组进行链接,一个指针组存储N个实际的空闲指针,这些实际的空闲指针之间没有任何关系,指针组只是作为存储实际空闲指针的地址。空闲指针链表的头尾虚拟指针存储在芯片内,空闲指针链表头节点、尾节点和中间节点都存储在外部存储器中。每个指针组都存有N个实际的空闲指针。

本发明实施例中,所述操作单元112对队列存储空间进行队列链表存储操 作时,基于队列的指针链表也使用指针组进行链接,每个队列都有各自独立的虚拟链表,一个指针组存储N个实际的队列指针,指针组只是作为存储实际队列指针的地址;队列状态表的头尾虚拟指针存储在芯片内,队列链表头节点、尾节点和中间节点都存储在外部存储器中。每个队列链表都有独立的非空状态信息,存储在芯片内,用来指示队列状态是否非空,只有非空才进行队列状态更新。

本发明实施例中,所述操作单元112具体用于:判断当前的指针组内是否还有空闲指针;当前指针组内没有空闲指针时,申请一个新的空闲指针组作为当前指针组,并读取当前指针组中的空闲指针;当前指针组内有空闲指针时,读取当前指针组中的空闲指针。

具体的,当前指针组内没有空闲指针时,即当前的虚拟指针耗尽时,则所述操作单元112申请一个新的空闲指针组作为当前指针组,重新发起读空闲虚拟指针先入先出队列FIFO;具体的,所述操作单元112一次从外部存储器中读一个指针组针,使用下一个指针组nextptr更新头指针headptr,申请到N个实际空闲指针存入先入先出队列中,以备队列实际入队使用。

当前的指针组内还有空闲指针时,即当前指针组没有耗尽,则所述操作单元112使用当前虚拟指针中剩余的空闲指针,进行空闲链表更新操作;使用当前的指针组的头指针读外部存储器,获得当前指针组的内容和下一个指针组nextptr,使用指针组的nextptr更新空闲队列状态表头指针headptr,读取的当前指针组里面的N个实际空闲指针存入指针组FIFO中,作为队列实际入队使用。上电初始化时候,先入先出队列FIFO为空,一直进行虚拟空闲指针的更新,直到将空闲指针先入先出FIFO填到将满。

本发明实施例中,所述操作单元112具体用于:将需要入队的指针填充到所述指针组中的空闲指针中;当所述指针组饱和、或相同队列的入队指针等待超时,将所述指针组进行队列入队操作。

本发明实施例中,一个指针组中只能存储一个队列的入队指针,存储的实际的入队指针之间根据队列入队的顺序进行排序,顺序不能错乱,否则会导致 报文乱序。

在步骤B3-B5中,当接收到报文的入队指针报文进入后,所述操作单元112判断当前虚指针是否还有空闲指针域可用,如果有则进行入队指针组拼接,然后判断当前指针组的指针域是否饱和,如果没有饱和,则继续等待下一个相同队列的指针;预设时间内,如果没有收到下一个相同队列的指针,则认为等到超时,如果达到超时条件,即使指针组没有拼接饱和,也要进行强制入队,同时记录指针组中的指针个数。

在将指针组进行队列入队操作的过程中,使用队列状态的尾指针tailptr作为地址写外部存储器,同时更新入队的nextptr为当前队列的tailptr指针。

本发明实施例中,所述操作单元112具体用于:将需要出队的指针写入预出队先入先出队列,将所述预出队先入先出队列进行队列出队操作。

具体的,当队列状态表状态变为非空时候,且PD先入先出队列FIFO没有写满的时候,即可达到队列Queue预出队条件。

当预出队PD FIFO非空时候,则根据队列状态调度出预出队PD FIFO后,发起真正的出队请求。在队列出队操作过程中,基于预出队PD FIFO,获取到报文首指针,如果还有报文身信息,则继续读取预出队CD FIFO,得到队列的所有指针。同时进行指针的拼接回收,从外部存储器中读出真正的报文。

本发明实施例中所述操作单元112具体用于:将队列出队操作释放的出队指针依次写入指针组;当所述指针组饱和时,将所述指针组进行空闲指针回收。

具体的,所述操作单元112将每个Queue出队释放的实际出队指针,依次写入待回收的指针组各个域,拼满之后才进行真正的回收;在队列出队操作释放的出队指针依次写入指针组的过程中,不对队列进行区分,任意队列出队指针都拼接到一个指针组里面,因此指针组里面的实际指针之间没有任何关联性,如此,可以及时回收空闲指针,不用基于队列的等待拼接。

本发明实施例中,需要一个出队待释放指针的先入先出队列FIFO来存储实际指针预出队产生的待释放的指针组;因为虚拟指针本身没有任何的空闲指针,因此,指针组释放还不能进行回收,需要等待出队的指针释放后,两者进 行关联才可以真正的回收。出队指针拼满一个指针组后,从出队待释放指针组先入先出队列FIFO中读出一个指针组进行回收;回收过程中,首先使用空闲队列状态表的尾指针tailptr去读取外部存储器,获得当前尾指针节点的内容,然后把待回收的指针组回写到当前尾部指针组的下一个指针组nextptr域,完成空闲虚拟链表的更新,然后用待回收的指针组更新队列状态表的尾部指针tailptr域,至此,指针回收动作全部完成。

图11中所示的队列存储空间管理装置中的各处理单元的实现功能,可参照前述队列存储空间管理方法的相关描述而理解。本领域技术人员应当理解,图11所示的队列存储空间管理装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现,比如:可由中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法、装置及系统,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其他形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明实施例上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本发明是实例中记载的队列存储空间管理方法、装置只以上述实施例为例,但不仅限于此,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1