CN108076020A - 一种缓存空间的管理方法及装置 - Google Patents

一种缓存空间的管理方法及装置 Download PDF

Info

Publication number
CN108076020A
CN108076020A CN201611018368.6A CN201611018368A CN108076020A CN 108076020 A CN108076020 A CN 108076020A CN 201611018368 A CN201611018368 A CN 201611018368A CN 108076020 A CN108076020 A CN 108076020A
Authority
CN
China
Prior art keywords
unicast
spatial cache
grade
drop
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611018368.6A
Other languages
English (en)
Other versions
CN108076020B (zh
Inventor
王莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201611018368.6A priority Critical patent/CN108076020B/zh
Priority to PCT/CN2017/082635 priority patent/WO2018090573A1/zh
Publication of CN108076020A publication Critical patent/CN108076020A/zh
Application granted granted Critical
Publication of CN108076020B publication Critical patent/CN108076020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种缓存空间的管理方法,该方法包括获取多播包占用的多播缓存空间;根据多播缓存空间计算单播缓存空间的动态丢弃阈值;根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。本发明实施例同时还提供一种缓存空间的管理装置。

Description

一种缓存空间的管理方法及装置
技术领域
本发明涉及通讯领域,尤其涉及一种缓存空间的管理方法及装置。
背景技术
现在互联网Intenet网络业务中不仅对带宽要求日益增多,在原有单播业务需求量巨大的基础上,对多播业务需求也越来越多,比如远程教育,视频会议,视频点播等等,因此无论接入网,路由器,交换机都需要支持多播处理。
多播是一种一点对多点分发数据的重要技术,由于多播管理的复杂性和对资源的要求,现有芯片设计技术中多播和单播通常采用静态方法,并且对多播和单播分开管理,即缓存空间分为单播缓存空间和多播缓存空间,分配缓存空间时首先判断包类型,单播包进入单播缓存空间,多播包进入多播缓存空间。假设总缓存为S,初始时为多播包划分固定的多播缓存空间S1,为单播包划分固定的单播缓存空间S2,其中S=S1+S2,当多播包占用的缓存空间超过多播缓存空间S1时,将当前多播包全部丢弃,这样即使单播缓存空间S2空闲,多播包也无法占用,当单播包占用的缓存空间超过单播缓存空间S2时,将当前单播包全部丢弃,这样即使多播缓存空间S1空闲,单播包也无法占用。
因此,现有的这种缓存空间的管理方法会导致无法充分利用缓存空间,造成缓存空间的利用率低。
发明内容
有鉴于此,本发明实施例提供一种缓存空间的管理方法及装置,以使得缓存空间能够被充分利用,从而提高缓存空间的利用率。
本发明实施例的技术方案是这样实现的:
一种缓存空间的管理方法,包括:
获取多播包占用的多播缓存空间;
根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值;其中,所述单播缓存空间为单播包占用的缓存空间;
根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。
如上所述的方法,所述根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值,包括:
设置所述单播缓存空间的最大丢弃阈值和所述单播缓存空间的N级丢弃系数;其中,N为正整数,所述最大丢弃阈值为正整数,所述N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数;
根据所述单播缓存空间的最大丢弃阈值、所述单播缓存空间的N级丢弃系数和所述多播缓存空间,计算所述单播缓存空间的N级动态丢弃阈值。
如上所述的方法,所述根据所述单播缓存空间的最大丢弃阈值、所述单播缓存空间的N级丢弃系数和所述多播缓存空间,计算所述单播缓存空间的N级动态丢弃阈值,包括:
根据所述单播缓存空间的最大丢弃阈值和所述多播缓存空间计算得到最大动态丢弃阈值;
根据所述最大动态丢弃阈值和单播缓存空间的所述单播缓存空间的N级丢弃系数计算得到单播缓存空间的N级动态丢弃阈值。
如上所述的方法,所述根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间之前,所述方法还包括:
获取所述当前单播包携带的队列号;
计算若所述当前单播包入队后对应的队列所需的预估缓存空间;其中,所述当前单播包根据所述队列号入队;
相应的,所述根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间,包括:
根据所述预估缓存空间和所述单播缓存空间的N级动态丢弃阈值确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间。
如上所述的方法,所述根据所述预估缓存空间和所述单播缓存空间的N级动态丢弃阈值确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间,包括:
设置所述单播缓存空间的N级丢弃概率;其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率;
根据所述预估缓存空间、所述单播缓存空间的N级动态丢弃阈值和所述单播缓存空间的N级丢弃概率确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间。
如上所述的方法,所述计算若所述当前单播包入队后对应的队列所需的预估缓存空间,包括:
根据所述队列号在队列深度实时统计表中获取原始队列占用的缓存空间;
获取所述当前单播包所需的缓存空间;
根据所述原始队列占用的缓存空间、所述当前单播包所需的缓存空间和队列活跃个数计算得到所述当前单播包入队后对应的队列所需的预估缓存空间;其中所述队列活跃个数是所述缓存空间有效的单播包队列个数。
如上所述的方法,所述根据所述预估缓存空间、所述单播缓存空间的N级动态丢弃阈值和所述单播缓存空间的N级丢弃概率确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间,包括:
若所述预估缓存空间大于第1级动态丢弃阈值,将所述单播包丢弃;
若所述预估缓存空间小于第i级动态丢弃阈值,且大于第i+1级动态丢弃阈值,比较第i+1级丢弃概率和由随机数算法生成的随机数的大小,若所述第i+1级丢弃概率大于所述随机数,丢弃所述当前单播包,若所述第i+1级丢弃概率小于所述随机数,允许所述当前单播包入队,并为所述当前单播包分配缓存空间;其中,i=1、2…N-1;
若所述预估缓存空间小于第N级动态丢弃阈值,允许所述单播包入队,并为所述当前单播包分配缓存空间。
如上所述的方法,还包括:
获取所述多播包更新后占用的多播缓存空间;
相应的,所述根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值,包括:
根据所述多播包更新后占用的多播缓存空间计算单播缓存空间的N级动态丢弃阈值。
一种缓存空间的管理装置,包括:
获取模块,用于获取多播包占用的多播缓存空间;
计算模块,用于根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值;其中,所述单播缓存空间为单播包占用的缓存空间;
处理模块,用于根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。
如上所述的装置,所述计算模块包括:
第一设置单元,用于设置所述单播缓存空间的最大丢弃阈值和所述单播缓存空间的N级丢弃系数;其中,N为正整数,所述最大丢弃阈值为正整数,所述N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数;
计算单元,用于根据所述单播缓存空间的最大丢弃阈值、所述单播缓存空间的N级丢弃系数和所述多播缓存空间计算所述单播缓存空间的N级动态丢弃阈值。
如上所述的装置,所述处理模块包括:
第二设置单元,用于设置所述单播缓存空间的N级丢弃概率;其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率;
处理单元,用于根据预估缓存空间、所述单播缓存空间的N级动态丢弃阈值和所述单播缓存空间的N级丢弃概率确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间。
如上所述的装置,所述处理单元,具体用于若所述预估缓存空间大于第1级动态丢弃阈值,将所述单播包丢弃;若所述预估缓存空间小于第i级动态丢弃阈值,且大于第i+1级动态丢弃阈值,比较第i+1级丢弃概率和由随机数算法生成的随机数的大小,若所述第i+1级丢弃概率大于所述随机数,丢弃所述当前单播包,若所述第i+1级丢弃概率小于所述随机数,允许所述当前单播包入队,并为所述当前单播包分配缓存空间;其中,i=1、2…N-1;若所述预估缓存空间小于第N级动态丢弃阈值,允许所述单播包入队,并为所述当前单播包分配缓存空间。
本发明实施例提供的缓存空间的管理方法及装置,该方法包括获取多播包占用的多播缓存空间;根据多播缓存空间计算单播缓存空间的动态丢弃阈值;根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的丢弃阈值,进而根据计算出的动态丢弃阈值确定是为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
附图说明
图1为本发明实施例提供的一种缓存空间的管理方法的流程示意图;
图2为本发明实施例提供的另一种缓存空间的管理方法的流程示意图;
图3为本发明实施例提供的又一种缓存空间的管理方法的流程示意图;
图4为本发明实施例提供的又一种缓存空间的管理方法的流程示意图;
图5为本发明实施例提供的一种缓存空间的管理装置的结构示意图;
图6为本发明实施例提供的另一种缓存空间的管理装置的结构示意图;
图7为本发明实施例提供的又一种缓存空间的管理装置的结构示意图;
图8为本发明实施例提供的又一种缓存空间的管理装置的结构示意图;
图9为本发明实施例提供的又一种缓存空间的管理装置的结构示意图。
具体实施方式
图1为本发明实施例提供的一种缓存空间的管理方法的流程示意图,如图1所示,本实施例提供的方法包括以下步骤:
步骤101、获取多播包占用的多播缓存空间。
具体的,步骤101获取多播包占用的多播缓存空间可以由缓存空间的管理装置实现。需要说明的是,多播包占用的多播缓存空间就是指多播包占用的多播缓存空间的大小。
还需要说明的是,当确定是为当前多播包分配缓存空间还是丢弃当前多播包时采用现有技术的全局优先级算法,具体的处理过程如下:
设置多播包的优先级个数和每个优先级多播缓存空间的丢弃阈值以及丢弃概率。
假设当前多播包能够正常入队并获得相应的缓存空间,计算当前多播包入队后所有多播包占用的多播缓存空间,当前多播包入队后所有多播包占用的多播缓存空间等于当前多播包没有入队前所有多播包占用的多播缓存空间与当前多播包所需的缓存空间之和,即Mnew=Mold+Bm,其中,Mold为当前多播包没有入队前所有多播包占用的多播缓存空间,Bm为当前多播包所需的缓存空间。
获取当前多播包的优先级,用当前多播包入队后所有多播包占用的多播缓存空间和每个优先级多播缓存空间的动态丢弃阈值进行匹配,获得相应的丢弃概率,进而确定是为当前的多播包分配缓存空间还是丢弃当前多播包。
步骤102、根据多播缓存空间计算单播缓存空间的动态丢弃阈值。其中,单播缓存空间为单播包占用的缓存空间。
具体的,步骤102根据多播缓存空间计算单播缓存空间的动态丢弃阈值可以由缓存空间的管理装置实现。动态丢弃阈值可以是一个,也可以是多个,如果是多个,动态丢弃阈值可以分为N级,N为大于等于1的整数,N的具体取值可以根据实际缓存空间的所需要的利用程度进行设置,如果需要较大程度地利用缓存空间,则可以将N设置地大一些,这样计算出的动态丢弃阈值的级数就相应地多,进而在步骤103中所进行判断的依据会更多,从而更好地确定是否为当前单播包分配缓存空间还是丢弃当前单播包。
步骤103、根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。
具体的,步骤103根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间可以由缓存空间的管理装置实现。步骤103中的动态丢弃阈值是步骤102中计算出的动态丢弃阈值,如果步骤102中计算得到一个动态丢弃阈值,步骤103则根据这一个动态丢弃阈值确定是否为当前单播包分配缓存空间,如果步骤102中计算得到多个动态丢弃阈值,步骤103则根据这些动态丢弃阈值确定是否为当前单播包分配缓存空间。
本实施例提供的缓存空间的管理方法,获取多播包占用的多播缓存空间;根据多播缓存空间计算单播缓存空间的动态丢弃阈值;根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的丢弃阈值,进而根据计算出的动态丢弃阈值确定是为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
图2为本发明实施例提供的另一种缓存空间的管理方法的流程示意图,如图2所示,本实施例提供的方法包括以下步骤:
步骤201、缓存空间的管理装置获取多播包占用的多播缓存空间。
步骤202、缓存空间的管理装置设置单播缓存空间的最大丢弃阈值和单播缓存空间的N级丢弃系数。其中,N为正整数,最大丢弃阈值为正整数,N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数。
需要说明的是,最大丢弃阈值为计算单播缓存空间的N级动态丢弃阈值的初始输入值。
步骤203、缓存空间的管理装置根据单播缓存空间的最大丢弃阈值、单播缓存空间的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值。
具体的,步骤203包括:缓存空间的管理装置根据最大丢弃阈值和多播缓存空间计算得到最大动态丢弃阈值;缓存空间的管理装置根据最大动态丢弃阈值和单播缓存空间的N级丢弃系数计算得到单播缓存空间的N级动态丢弃阈值。
需要说明的是,N级丢弃系数包括第1级丢弃系数、第2级丢弃系数…第N级丢弃系数,根据单播缓存空间的最大丢弃阈值、单播缓存空间的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值,具体包括:
根据单播缓存空间的最大丢弃阈值、单播缓存空间的第1级丢弃系数和多播缓存空间计算播缓存空间的第1级动态丢弃阈值;根据单播缓存空间的最大丢弃阈值、单播缓存空间的第2级丢弃系数和多播缓存空间计算播缓存空间的第2级动态丢弃阈值;以此类推,根据单播缓存空间的最大丢弃阈值、单播缓存空间的第N级丢弃系数和多播缓存空间计算播缓存空间的第N级动态丢弃阈值。
具体的,单播缓存空间的第1级动态丢弃阈值T1=(T0-Qm)/β1,单播缓存空间的第2级动态丢弃阈值T2=(T0-Qm)/β2,…,单播缓存空间的第N级动态丢弃阈值TN=(T0-Qm)/βN,其中,Qm为播包占用的多播缓存空间,T0为所配置的配置单播缓存空间的最大丢弃阈值,β1、β2…βN分别为单播缓存空间的N级丢弃系数。
步骤204、缓存空间的管理装置根据单播缓存空间的N级动态丢弃阈值确定是否为当前单播包分配缓存空间。
需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参照其它实施例中的描述,此处不再赘述。
本实施例提供的缓存空间的管理方法,获取多播包占用的多播缓存空间;设置单播缓存空间的最大丢弃阈值和单播缓存空间的N级丢弃系数;根据单播缓存空间的最大丢弃阈值、单播缓存空间的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值;根据单播缓存空间的N级动态丢弃阈值确定是否为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的N级丢弃阈值,进而根据计算出的N级动态丢弃阈值确定是为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
图3为本发明实施例提供的又一种缓存空间的管理方法的流程示意图,如图3所示,本实施例提供的方法包括以下步骤:
步骤301、缓存空间的管理装置获取多播包占用的多播缓存空间。
步骤302、缓存空间的管理装置设置单播缓存空间的最大丢弃阈值和单播缓存空间的N级丢弃系数。其中,N为正整数,所述最大丢弃阈值为正整数,所述N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数。
步骤303、缓存空间的管理装置根据最大丢弃阈值和多播缓存空间计算得到最大动态丢弃阈值。
步骤304、缓存空间的管理装置根据最大动态丢弃阈值和单播缓存空间的N级丢弃系数计算得到单播缓存空间的N级动态丢弃阈值。
步骤305、缓存空间的管理装置获取当前单播包携带的队列号。
需要说明的是,单播包的队列号是单播包的一个属性,因为缓存空间有不止一列的单播包队列,每个单播包入队前,缓存空间的管理装置都要知道该单播包将要入队的相关信息,因此每个单播包都会携带关于入队的相关信息,该相关信息就是该单播包所要入队的队列号。
步骤306、缓存空间的管理装置计算若当前单播包入队后对应的队列所需的预估缓存空间。其中,当前单播包根据队列号入队。
需要说明的是,步骤406是假设在当前单播包入队的情况下,对入队后对应的队列所需的预估缓存空间进行计算的过程。
步骤307、缓存空间的管理装置设置单播缓存空间的N级丢弃概率。其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率。
需要说明的是,第1级丢弃概率对应第1级动态丢弃阈值,第2级丢弃概率对应第2级动态丢弃阈值,依次类推,第N级丢弃概率对应第N级动态丢弃阈值。
步骤308、缓存空间的管理装置根据预估缓存空间、单播缓存空间的N级动态丢弃阈值和单播缓存空间的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间。
需要说明的是,如果允许当前单播包入队,则为当前单播包分配缓存空间以放置当前单播包,如果不允许当前单播包入队,则丢弃当前单播包。
还需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参照其它实施例中的描述,此处不再赘述。
本实施例提供的缓存空间的管理方法,获取多播包占用的多播缓存空间;设置单播缓存空间的最大丢弃阈值和单播缓存空间的N级丢弃系数;根据最大丢弃阈值、N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值;计算若当前单播包入队后对应的队列所需的预估缓存空间;根据预估缓存空间、N级动态丢弃阈值和预先设置的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的N级丢弃阈值,进而根据计算出的N级动态丢弃阈值确定是否为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
图4为本发明实施例提供的又一种缓存空间的管理方法的流程示意图,如图4所示,本实施例提供的方法包括以下步骤:
步骤401、缓存空间的管理装置获取多播包占用的多播缓存空间。
步骤402、缓存空间的管理装置设置单播缓存空间的最大丢弃阈值和单播缓存空间的N级丢弃系数。其中,N为正整数,所述最大丢弃阈值为正整数,所述N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数。
步骤403、缓存空间的管理装置根据最大丢弃阈值和多播缓存空间计算得到最大动态丢弃阈值。
步骤404、缓存空间的管理装置根据最大动态丢弃阈值和单播缓存空间的N级丢弃系数计算得到单播缓存空间的N级动态丢弃阈值。
步骤405、缓存空间的管理装置获取当前单播包携带的队列号。
步骤406、缓存空间的管理装置根据队列号在队列深度实时统计表中获取原始队列占用的缓存空间。
需要说明的是,原始队列是指当前单播包没有入队之前的队列,队列深度实时统计表记录有每个队列所占用的缓存空间说明,根据队列号就可以从队列深度实时统计表中获取该队列号对应的队列占用的缓存空间。
步骤407、缓存空间的管理装置获取当前单播包所需的缓存空间。
步骤408、缓存空间的管理装置根据原始队列占用的缓存空间、当前单播包所需的缓存空间和队列活跃个数计算得到当前单播包入队后对应的队列所需的预估缓存空间。其中队列活跃个数是所述缓存空间有效的单播包队列个数。
需要说明的是,预估缓存空间可以根据原始队列占用的缓存空间与当前单播包所需的缓存空间做加法运算,再与队列活跃个数做乘法运算得到。当前单播包入队后对应的队列所需的预估缓存空间可以通过下面的计算方法获得:首先计算如果当前单播包入队该队列新的缓存空间占用值,该队列新的缓存空间占用值(Qnew)等于该队列原来的缓存占用值(Qold)+当前单播包所需的缓存空间占用值(Bu),即Qnew=Qold+Bu;然后,获取缓存空间中的单播激活队列数An;最后计算当前单播包入队后对应的队列所需的预估缓存空间Et=Qnew*An
步骤409、缓存空间的管理装置设置单播缓存空间的N级丢弃概率。其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率。
步骤410、缓存空间的管理装置根据预估缓存空间、单播缓存空间的N级动态丢弃阈值和单播缓存空间的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间。
具体的,步骤410包括:若预估缓存空间大于第1级动态丢弃阈值,将单播包丢弃;若预估缓存空间小于第1级动态丢弃阈值,且大于第2级动态丢弃阈值,比较第2级丢弃概率和由随机数算法生成的随机数的大小,若第2级丢弃概率大于随机数,丢弃单播包,若第2级丢弃概率小于随机数,允许当前单播包入队,并为当前单播包分配缓存空间;依次类推,若预估缓存空间小于第N-1级动态丢弃阈值,且大于第N级动态丢弃阈值,比较第N级丢弃概率和由随机数算法生成的随机数的大小,若第N级丢弃概率大于随机数,丢弃单播包,若第N级丢弃概率小于随机数,允许当前单播包入队,并为当前单播包分配缓存空间;若预估缓存空间小于第N级动态丢弃阈值,允许单播包入队,并为当前单播包分配缓存空间。
需要说明的是,生成随机数的随机数算法有多种,其中一种随机数算法为:NEW[7:0]={OLD[6:0],OLD[0]^OLD[1]^OLD[2]^OLD[3]^OLD[7]},其中用于计算随机数的初始值OLD=8‘h56。具体的,在确定是否允许第一个当前单播包入队时,用来与丢弃概率比较的随机数是由初始值通过随机数算法计算得到的随机数,在确定是否允许第二个当前单播包入队时,用来与丢弃概率比较的随机数是由上次随机数通过随机数算法计算得到的新随机数;也就是说,只有在确定是否允许第一个单播包入队时,所用的随机数是由初始值通过随机数算法计算得到的,在确定是否允许其它单播包入队时,所用的随机数是由上一次得到的随机数通过随机数算法计算得到的。
还需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参照其它实施例中的描述,此处不再赘述。
本实施例提供的缓存空间的管理方法,获取多播包占用的多播缓存空间;根据预先设置的最大丢弃阈值、预先设置的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值;计算若当前单播包入队后对应的队列所需的预估缓存空间;根据预估缓存空间、N级动态丢弃阈值和预先设置的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的N级丢弃阈值,进而根据计算出的N级动态丢弃阈值确定是否为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
进一步,本发明提供的缓存空间的管理方法还包括:获取多播包更新后占用的多播缓存空间;相应的,根据多播缓存空间计算单播缓存空间的动态丢弃阈值,包括:根据多播包更新后占用的多播缓存空间计算单播缓存空间的N级动态丢弃阈值。
需要说明的是,若多播包发生更新,即多播缓存空间释放一部分缓存空间或增加一部分缓存空间,则重新获取多播包占用的多播缓存空间,根据多播缓存空间重新计算单播缓存空间的动态丢弃阈值,也就是说,单播空间的丢弃阈值是动态变化的,随着多播缓存空间的变动而变化。
下面以一个实施例说明如何实现缓存空间的管理:
计算当前单播包入队后对应的队列所需的预估缓存空间。
配置单播缓存空间的最大丢弃阈值T0,单播缓存空间的N级丢弃系数β1、β2…βN,和单播缓存空间的N级丢弃概率P1、P2…PN,其中T0为大于0的整数,β12…<βN,P1>P2…>PN
获取多播包占用的多播缓存空间Qm
分别计算单播缓存空间的第1级动态丢弃阈值T1,第2级动态丢弃阈值T2,…,以及第N级动态丢弃阈值TN
若该队列新的缓存空间占用值Et超过第1级动态丢弃阈值T1,将当前单播包全部丢弃;若该队列新的缓存空间占用值Et超过第2级动态丢弃阈值T2并且没有超过第1级动态丢弃阈值T1,比较第2级丢弃概率P2和由随机数算法生成的随机数的大小,若P2大于随机数,丢弃当前单播包,若P2小于随机数,允许当前单播包入队,并为当前单播包分配缓存空间;依次类推,若该队列新的缓存空间占用值Et超过第N级动态丢弃阈值TN并且没有超过第N-1级动态丢弃阈值TN-1,比较第N级丢弃概率PN和由随机数算法生成的随机数的大小,若PN大于随机数,丢弃当前单播包,若PN小于随机数,允许当前单播包入队,并为当前单播包分配缓存空间;若该队列新的缓存空间占用值Et没有超过第N级动态丢弃阈值TN,则允许当前单播包入队,并为当前单播包分配缓存空间。
由上述实施例可以看出,单播空间的动态丢弃阈值一直处于动态调整中,随着多播包占用的多播缓存空间Qm增大,单播缓存空间的动态丢弃阈值空间减小表示单播包可用空间减小;而随着多播包占用的多播缓存空间Qm减少,单播缓存空间的动态阈值增大表示单播包可用空间增大。
下面再以二个具体实施例说明如何实现缓存空间的管理,第一个实施例为:
假设缓存空间是128,当前需要为一个优先级为0的多播包和一个单播包分配缓存空间。
首先配置多播缓存空间为128,配置单播缓存空间为128。
其次设置多播包的优先级个数为4,分别为优先级0、优先级1、优先级2和优先级3,设置多播包优先级0的丢弃阈值为Mth0,丢弃概率为Mp0,设置多播包优先级1的丢弃阈值为Mth1、丢弃概率为Mp1,设置多播包优先级2的丢弃阈值为Mth2、丢弃概率为Mp2,设置多播包优先级3的丢弃阈值为Mth3、丢弃概率为Mp3;其中,Mth0>Mth1>Mth2>Mth3且Mth0≤128,Mp0>Mp1>Mp2>Mp3。设置单播缓存空间的最大阈值T0,设置单播缓存空间的3级丢弃系数β1、β2、β3,设置单播缓存空间的3级丢弃概率P1、P2、P3
如果先确定是否为优先级为0的多播包分配缓存空间,具体过程包括:假设之前的多播包占用的缓存空间为32,当前多播包所需的缓存空间为8,则如果为当前多播包分配缓存空间,则多播包占用的多播缓存空间为32+8=40。假设配置多播包优先级0的丢弃阈值为Mth0=120,由于120>40,为当前优先级0的多播包分配缓存空间。
如果先确定是否为单播包分配缓存空间,具体过程包括:假设之前的多播包占用的缓存空间为32,假设T0=120,β1=1,β2=2,β3=3;此时多播缓存空间为40,计算单播缓存空间的第1级动态丢弃阈值T1=(120-32)/1=88,计算单播缓存空间的第2级动态丢弃阈值T2=(120-32)/2=44,计算单播缓存空间的第3级丢动态弃阈值T3=(120-32)/3≈29。若单播包入队后队列所占的缓存空间大于第1级动态丢弃阈值88,将该单播包丢弃;若单播包入队后队列所占的缓存空间小于第1级动态丢弃阈值88,并且大于第2级动态丢弃阈值44,则比较P2与随机数算法生成的随机数进行大小比较从而确定是否让该单播包入队,并为分配缓存空间;若单播包入队后队列所占的缓存空间小于第2级动态丢弃阈值44,并且大于第3级动态丢弃阈值29,则比较P3与随机数算法生成的随机数进行大小比较从而确定是否让该单播包入队,并为其分配缓存空间;若单播包入队后队列所占的缓存空间小于第3级动态丢弃阈值29,让该单播包入队,并为其分配缓存空间。
若假设多播包更新后占用的多播缓存空间为16,那么根据上述单播缓存空间的动态丢弃阈值计算公式可以计算得出单播缓存空间的第1级动态丢弃阈值、第2级动态丢弃阈值、第3级动态丢弃阈值分别为104,52,34。
由此可以看出,随着多播缓存空间的释放,单播包可用的缓存空间开始增加。
第二个实施例为:
假设缓存空间是128,当前需要为一个优先级为0的多播包、一个优先级为1的多播包和一个携带队列号0的单播包、一个携带队列号1的单播包分配缓存空间。
首先配置多播缓存空间为128,配置单播缓存空间为128。
其次设置多播包的优先级个数为2,分别为优先级0和优先级1,设置多播包的优先级0的丢弃概率为Mth0、丢弃概率为Mp0,设置多播包优先级1的丢弃阈值为Mth1、丢弃概率为Mp1;其中Mth0>Mth1且Mth0≤128,Mp0>Mp1。设置单播缓存空间的最大阈值T0且T0≤128,设置单播缓存空间的3级丢弃系数β1、β2、β3,设置单播缓存空间的3级丢弃概率P1、P2、P3
先确定是否为优先级为1的多播包分配缓存空间,具体过程包括:假设之前的多播包占用的缓存空间为32,当前多播包所需的缓存空间为8,则如果为当前多播包分配缓存空间,则多播包占用的多播缓存空间为32+8=40,假设配置多播包优先级1的丢弃阈值为Mth1=60,由于60>40,为当前优先级1的多播包分配缓存空间。
然后确定是否为优先级为0的多播包分配缓存空间,具体过程包括:之前的多播包占用的缓存空间为40,假设当前多播包所需的缓存空间为16,则如果为当前多播包分配缓存空间,则多播包占用的多播缓存空间为40+16=56,假设配置多播包优先级0的丢弃阈值为Mth0=120,由于120>56,为当前优先级0的多播包分配缓存空间。
接下来确定是否为携带队列号0的单播包分配缓存空间,具体过程包括:假设T0=120,β1=1,β2=2,β3=3;此时多播缓存空间为56,计算单播缓存空间的第1级动态丢弃阈值T1=(120-56)/1=64,计算单播缓存空间的第2级动态丢弃阈值T2=(120-56)/2=32,计算单播缓存空间的第3级动态丢弃阈值T3=(120-56)/3≈21。假设队列0之前占用的缓存空间Qold=32,队列号0的单播包所需要的缓存空间为8,因为当前单播包的队列号种类数为2,所以若队列号为0的单播包进入队列0后队列0所需的预估缓存空间Et=Qnew*An=(32+8)×2=80,由于80>第1级动态丢弃阈值64,因此将该单播包全部丢弃。
若此时,多播包更新导致多播包占用的多播缓存空间释放了一部分,假设释放的多播缓存空间为32,那么多播缓存空间变为56-32=24。相应的,计算单播缓存空间的第1级动态丢弃阈值T1=(120-24)/1=96,计算单播缓存空间的第2级动态丢弃阈值T2=(120-24)/2=48,计算单播缓存空间的第3级动态丢弃阈值T3=(120-24)/3=32。
确定是否为携带队列号1的单播包分配缓存空间,具体过程包括:假设队列1之前占用的缓存空间Qold=36,队列号1的单播包所需要的缓存空间为8,计算若队列号为1的单播包进入队列1后队列1所需的预估缓存空间Et=Qnew*An=(36+8)×2=88,由于第1级动态丢弃阈值96>80>第2级动态丢弃阈值48,因此将第2级丢弃概率P2与随机数算法生成的随机数进行大小比较从而确定是否让该单播包入队,并为其分配缓存空间。
本实施例提供的缓存空间的管理方法,获取多播包占用的多播缓存空间;根据预先设置的最大丢弃阈值、预先设置的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值;计算若当前单播包入队后对应的队列所需的预估缓存空间;根据预估缓存空间、N级动态丢弃阈值和预先设置的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的N级丢弃阈值,进而根据计算出的N级动态丢弃阈值确定是为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
图5为本发明实施例提供的一种缓存空间的管理装置的结构示意图,如图5所示,该装置5包括:
获取模块51,用于获取多播包占用的多播缓存空间。
计算模块52,用于根据多播缓存空间计算单播缓存空间的动态丢弃阈值;其中,单播缓存空间为单播包占用的缓存空间。
处理模块53,用于根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。
本实施例提供的缓存空间的管理装置,获取多播包占用的多播缓存空间;根据多播缓存空间计算单播缓存空间的动态丢弃阈值;根据单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的丢弃阈值,进而根据计算出的动态丢弃阈值确定是否为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
进一步,图6为本发明实施例提供的另一种缓存空间的管理装置的结构示意图,如图6所示,计算模块52包括:
第一设置单元521,用于设置单播缓存空间的最大丢弃阈值和单播缓存空间的N级丢弃系数;其中,其中,N为正整数,最大丢弃阈值为正整数,N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数。
计算单元522,用于根据单播缓存空间的最大丢弃阈值、单播缓存空间的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值。
进一步,计算单元522具体用于根据最大丢弃阈值和多播缓存空间计算得到最大动态丢弃阈值;根据最大动态丢弃阈值和单播缓存空间的N级丢弃系数计算得到单播缓存空间的N级动态丢弃阈值。
获取模块51,还用于获取当前单播包携带的队列号。
计算模块52,还用于若当前单播包入队后对应的队列所需的预估缓存空间;其中,当前单播包根据队列号入队。
处理模块53,还用于根据预估缓存空间和单播缓存空间的N级动态丢弃阈值确定是否允许当前单播包入队,并为当前单播包分配缓存空间。
进一步,图7为本发明实施例提供的又一种缓存空间的管理装置的结构示意图,如图7所示,处理模块53包括:
第二设置单元531,用于设置单播缓存空间的N级丢弃概率;其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率。
处理单元532,用于根据预估缓存空间、单播缓存空间的N级动态丢弃阈值和单播缓存空间的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间。
进一步,图8为本发明实施例提供的又一种缓存空间的管理装置的结构示意图,如图8所示,计算模块52还包括:
获取单元523,用于根据队列号在队列深度实时统计表中获取原始队列占用的缓存空间;获取当前单播包所需的缓存空间;
计算单元522,具体用于根据原始队列占用的缓存空间、当前单播包所需的缓存空间和队列活跃个数计算得到当前单播包入队后对应的队列所需的预估缓存空间;其中队列活跃个数是所述缓存空间有效的单播包队列个数。
进一步,处理单元532,具体用于若预估缓存空间大于第1级动态丢弃阈值,将单播包丢弃;若预估缓存空间小于第i级动态丢弃阈值,且大于第i+1级动态丢弃阈值,比较第i+1级丢弃概率和由随机数算法生成的随机数的大小,若第i+1级丢弃概率大于随机数,丢弃当前单播包,若第i+1级丢弃概率小于随机数,允许当前单播包入队,并为当前单播包分配缓存空间;其中,i=1、2…N-1;若预估缓存空间小于第N级动态丢弃阈值,允许单播包入队,并为当前单播包分配缓存空间。
进一步,获取模块51,还用于获取多播包更新后占用的多播缓存空间。
计算模块52,还用于根据多播包更新后占用的多播缓存空间计算单播缓存空间的N级动态丢弃阈值。
需要说明的是,本实施例中各个模块和单元之间的交互过程,可以参照图1~5对应的方法实施例,此处不再赘述。
本实施例提供的缓存空间的管理装置,获取多播包占用的多播缓存空间;根据预先设置的最大丢弃阈值、预先设置的N级丢弃系数和多播缓存空间计算单播缓存空间的N级动态丢弃阈值;计算若当前单播包入队后对应的队列所需的预估缓存空间;根据预估缓存空间、N级动态丢弃阈值和预先设置的N级丢弃概率确定是否允许当前单播包入队,并为当前单播包分配缓存空间;这样,能够根据多播包实际所占用的缓存空间动态地计算单播缓存空间的N级丢弃阈值,进而根据计算出的N级动态丢弃阈值确定是为当前单播包分配缓存空间还是丢弃当前单播包,从而实现了充分利用缓存空间,提高缓存空间利用率的目的。
在实际应用中,所述获取模块51、计算模块52、第一设置单元521、计算单元522、获取单元523、处理模块53、第二设置单元531、处理单元532,均可由位于缓存空间的管理装置中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(FieldProgrammable Gate Array,FPGA)等实现。
图9为本发明实施例提供的又一种缓存空间的管理装置的结构示意图,如图9所示,该装置6包括:
报文类型区分模块61,用于区分新入队的报文是多播还是单播,多播报文送到多播处理模块,单播报文送到单播处理模块。
配置模块62,用于配置缓存大小,多播缓存空间的阈值,单播缓存空间的最大阈值,单播缓存空间的丢弃系数以及单播缓存空间的丢弃概率等。
多播处理模块63,用于确定是否为当前多播包分配缓存空间。
单播处理模块64,用于确定是否为当前单播包分配缓存空间。
动态阈值计算模块65,用于计算单播缓存空间的动态丢弃阈值。
随机数计算模块66,用于进行随机数计算。
在实际应用中,报文类型区分模块61、配置模块62、多播处理模块63、单播处理模块64、动态阈值计算模块65、随机丢弃计算模块66,均可由位于缓存空间的管理装置中的CPU、MPU、DSP或FPGA等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种缓存空间的管理方法,其特征在于,所述方法包括:
获取多播包占用的多播缓存空间;
根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值;其中,所述单播缓存空间为单播包占用的缓存空间;
根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值,包括:
设置所述单播缓存空间的最大丢弃阈值和所述单播缓存空间的N级丢弃系数;其中,N为正整数,所述最大丢弃阈值为正整数,所述N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数;
根据所述单播缓存空间的最大丢弃阈值、所述单播缓存空间的N级丢弃系数和所述多播缓存空间,计算所述单播缓存空间的N级动态丢弃阈值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述单播缓存空间的最大丢弃阈值、所述单播缓存空间的N级丢弃系数和所述多播缓存空间,计算所述单播缓存空间的N级动态丢弃阈值,包括:
根据所述单播缓存空间的最大丢弃阈值和所述多播缓存空间计算得到最大动态丢弃阈值;
根据所述最大动态丢弃阈值和单播缓存空间的所述单播缓存空间的N级丢弃系数计算得到单播缓存空间的N级动态丢弃阈值。
4.根据权利要求2所述的方法,其特征在于,所述根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间之前,所述方法还包括:
获取所述当前单播包携带的队列号;
计算若所述当前单播包入队后对应的队列所需的预估缓存空间;其中,所述当前单播包根据所述队列号入队;
相应的,所述根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间,包括:
根据所述预估缓存空间和所述单播缓存空间的N级动态丢弃阈值确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间。
5.根据权利要求4所述的方法,其特征在于,所述根据所述预估缓存空间和所述单播缓存空间的N级动态丢弃阈值确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间,包括:
设置所述单播缓存空间的N级丢弃概率;其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率;
根据所述预估缓存空间、所述单播缓存空间的N级动态丢弃阈值和所述单播缓存空间的N级丢弃概率确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间。
6.根据权利要求4所述的方法,其特征在于,所述计算若所述当前单播包入队后对应的队列所需的预估缓存空间,包括:
根据所述队列号在队列深度实时统计表中获取原始队列占用的缓存空间;
获取所述当前单播包所需的缓存空间;
根据所述原始队列占用的缓存空间、所述当前单播包所需的缓存空间和队列活跃个数计算得到所述当前单播包入队后对应的队列所需的预估缓存空间;其中所述队列活跃个数是所述缓存空间有效的单播包队列个数。
7.根据权利要求5所述的方法,其特征在于,所述根据所述预估缓存空间、所述单播缓存空间的N级动态丢弃阈值和所述单播缓存空间的N级丢弃概率确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间,包括:
若所述预估缓存空间大于第1级动态丢弃阈值,将所述单播包丢弃;
若所述预估缓存空间小于第i级动态丢弃阈值,且大于第i+1级动态丢弃阈值,比较第i+1级丢弃概率和由随机数算法生成的随机数的大小,若所述第i+1级丢弃概率大于所述随机数,丢弃所述当前单播包,若所述第i+1级丢弃概率小于所述随机数,允许所述当前单播包入队,并为所述当前单播包分配缓存空间;其中,i=1、2…N-1;
若所述预估缓存空间小于第N级动态丢弃阈值,允许所述单播包入队,并为所述当前单播包分配缓存空间。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述多播包更新后占用的多播缓存空间;
相应的,所述根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值,包括:
根据所述多播包更新后占用的多播缓存空间计算单播缓存空间的N级动态丢弃阈值。
9.一种缓存空间的管理装置,其特征在于,所述装置包括:
获取模块,用于获取多播包占用的多播缓存空间;
计算模块,用于根据所述多播缓存空间计算单播缓存空间的动态丢弃阈值;其中,所述单播缓存空间为单播包占用的缓存空间;
处理模块,用于根据所述单播缓存空间的动态丢弃阈值确定是否为当前单播包分配缓存空间。
10.根据权利要求9所述的装置,其特征在于,所述计算模块包括:
第一设置单元,用于设置所述单播缓存空间的最大丢弃阈值和所述单播缓存空间的N级丢弃系数;其中,N为正整数,所述最大丢弃阈值为正整数,所述N级丢弃系数均为正整数,且第1级丢弃系数<第2级丢弃系数<…<第N级丢弃系数;
计算单元,用于根据所述单播缓存空间的最大丢弃阈值、所述单播缓存空间的N级丢弃系数和所述多播缓存空间计算所述单播缓存空间的N级动态丢弃阈值。
11.根据权利要求10所述的装置,其特征在于,所述处理模块包括:
第二设置单元,用于设置所述单播缓存空间的N级丢弃概率;其中,每一级丢弃概率与每一级动态丢弃阈值之间具有对应关系,并且第1级丢弃概率>第2级丢弃概率>…>第N级丢弃概率;
处理单元,用于根据预估缓存空间、所述单播缓存空间的N级动态丢弃阈值和所述单播缓存空间的N级丢弃概率确定是否允许所述当前单播包入队,并为所述当前单播包分配缓存空间。
12.根据权利要求11所述的装置,其特征在于,
所述处理单元,具体用于若所述预估缓存空间大于第1级动态丢弃阈值,将所述单播包丢弃;若所述预估缓存空间小于第i级动态丢弃阈值,且大于第i+1级动态丢弃阈值,比较第i+1级丢弃概率和由随机数算法生成的随机数的大小,若所述第i+1级丢弃概率大于所述随机数,丢弃所述当前单播包,若所述第i+1级丢弃概率小于所述随机数,允许所述当前单播包入队,并为所述当前单播包分配缓存空间;其中,i=1、2…N-1;若所述预估缓存空间小于第N级动态丢弃阈值,允许所述单播包入队,并为所述当前单播包分配缓存空间。
CN201611018368.6A 2016-11-18 2016-11-18 一种缓存空间的管理方法及装置 Active CN108076020B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611018368.6A CN108076020B (zh) 2016-11-18 2016-11-18 一种缓存空间的管理方法及装置
PCT/CN2017/082635 WO2018090573A1 (zh) 2016-11-18 2017-04-28 缓存空间的管理方法和装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611018368.6A CN108076020B (zh) 2016-11-18 2016-11-18 一种缓存空间的管理方法及装置

Publications (2)

Publication Number Publication Date
CN108076020A true CN108076020A (zh) 2018-05-25
CN108076020B CN108076020B (zh) 2020-09-08

Family

ID=62146054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611018368.6A Active CN108076020B (zh) 2016-11-18 2016-11-18 一种缓存空间的管理方法及装置

Country Status (2)

Country Link
CN (1) CN108076020B (zh)
WO (1) WO2018090573A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557432A (zh) * 2019-07-26 2019-12-10 苏州浪潮智能科技有限公司 一种缓存池均衡优化方法、系统、终端及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099272A (zh) * 2021-04-12 2021-07-09 上海商汤智能科技有限公司 视频处理方法及装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1452351A (zh) * 2002-04-17 2003-10-29 华为技术有限公司 以太网交换芯片传输数据过程中缓存的管理和分配方法
CN102857446A (zh) * 2011-06-30 2013-01-02 中兴通讯股份有限公司 以太网交换芯片的缓存管理方法及装置
KR101241507B1 (ko) * 2011-11-30 2013-03-11 한국과학기술원 멀티캐스트를 이용한 주문형 컨텐츠 서비스를 위한 캐시 시스템 및 캐시 할당 방법
CN103827858A (zh) * 2011-09-28 2014-05-28 瑞典爱立信有限公司 移动网络中的缓存
CN104102693A (zh) * 2014-06-19 2014-10-15 广州华多网络科技有限公司 对象处理方法和装置
US20160337142A1 (en) * 2015-05-13 2016-11-17 Cisco Technology, Inc. Dynamic Protection Of Shared Memory And Packet Descriptors Used By Output Queues In A Network Device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102036177A (zh) * 2009-09-29 2011-04-27 华为技术有限公司 组播广播业务流量控制方法及相关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1452351A (zh) * 2002-04-17 2003-10-29 华为技术有限公司 以太网交换芯片传输数据过程中缓存的管理和分配方法
CN102857446A (zh) * 2011-06-30 2013-01-02 中兴通讯股份有限公司 以太网交换芯片的缓存管理方法及装置
CN103827858A (zh) * 2011-09-28 2014-05-28 瑞典爱立信有限公司 移动网络中的缓存
KR101241507B1 (ko) * 2011-11-30 2013-03-11 한국과학기술원 멀티캐스트를 이용한 주문형 컨텐츠 서비스를 위한 캐시 시스템 및 캐시 할당 방법
CN104102693A (zh) * 2014-06-19 2014-10-15 广州华多网络科技有限公司 对象处理方法和装置
US20160337142A1 (en) * 2015-05-13 2016-11-17 Cisco Technology, Inc. Dynamic Protection Of Shared Memory And Packet Descriptors Used By Output Queues In A Network Device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何阳: "《网络拥塞控制的主动队列管理的研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557432A (zh) * 2019-07-26 2019-12-10 苏州浪潮智能科技有限公司 一种缓存池均衡优化方法、系统、终端及存储介质

Also Published As

Publication number Publication date
WO2018090573A1 (zh) 2018-05-24
CN108076020B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
CN104734989B (zh) 基于令牌桶的数据传输流量调度方法及其系统
US10129043B2 (en) Apparatus and method for network flow scheduling
US7898953B2 (en) Deficit and group round robin scheduling for efficient network traffic management
US10091675B2 (en) System and method for estimating an effective bandwidth
US7283472B2 (en) Priority-based efficient fair queuing for quality of service classification for packet processing
CN101394362B (zh) 基于流分片的对多核网络处理器进行负载均衡的方法
CN101714947B (zh) 一种可扩展的全流优先级调度方法及系统
CN103354528B (zh) 多流同步方法及装置
CN106550248A (zh) 一种音视频同步的方法和设备
CN108076020A (zh) 一种缓存空间的管理方法及装置
CN110177056B (zh) 一种自动适应的带宽控制方法
CN110855424B (zh) 一种DPI领域非对称流量xDR合成的方法和装置
Kaheel et al. A new analytical model for computing blocking probability in optical burst switching networks
CN106911740A (zh) 一种缓存管理的方法和装置
CN110266606A (zh) 一种边缘网络中主动队列管理优化方法及装置
CN106407636A (zh) 集成结果统计方法及装置
CN103532759B (zh) 面向云服务的聚合流的接纳控制方法
CN103795653B (zh) 一种数据缓存方法、装置及光网络单元
CN111786928A (zh) 面向电力天地一体量子网络运维的分等级加密方法和系统
US20040042484A1 (en) Surplus redistribution for quality of service classification for packet processing
CN110502539B (zh) 一种olap动态缓存方法及装置
Ahmed et al. An efficient parallel optimization algorithm for the Token Bucket control mechanism
CN115086720B (zh) 一种面向直播业务的网络路径计算方法和装置
CN104066138A (zh) 一种阻塞率约束下的基于业务优先级的群组切换方法
CN102244838B (zh) 一种广播多播业务im对资源选择方法、分配方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant