CN100587694C - 一种维护表项的方法和装置 - Google Patents
一种维护表项的方法和装置 Download PDFInfo
- Publication number
- CN100587694C CN100587694C CN200810102248A CN200810102248A CN100587694C CN 100587694 C CN100587694 C CN 100587694C CN 200810102248 A CN200810102248 A CN 200810102248A CN 200810102248 A CN200810102248 A CN 200810102248A CN 100587694 C CN100587694 C CN 100587694C
- Authority
- CN
- China
- Prior art keywords
- list item
- submodule
- sign
- current list
- hitting
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000032683 aging Effects 0.000 claims abstract description 125
- 238000003860 storage Methods 0.000 claims abstract description 23
- 238000005070 sampling Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 claims description 7
- 230000029087 digestion Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000003068 static effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供了一种维护表项的方法和装置,其中,方法包括:以预设的时间T1为周期对所有表项进行遍历,并对遍历到的当前表项执行以下步骤:判断当前表项是否命中,如果否,增加该当前表项对应的不命中计数值,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则上报当前表项的老化信息,根据该老化信息删除当前表项。以此提供了一种针对三态内容可寻址存储器(TCAM)中表项的定时老化机制,从而实现自动地删除TCAM中老化的表项,减轻TCAM的存储负担。
Description
技术领域
本发明涉及网络通信技术,特别涉及一种维护表项的方法和装置。
背景技术
三态内容可寻址存储器(TCAM,Ternary Content Addressable Memory)是随着网络设备处理速度不断提高而衍生出的一种高效的专用芯片。TCAM可以根据输入的内容得到地址,当输入一个内容时,TCAM利用该输入的内容对TCAM中存储的数据进行搜索,如果有匹配的数据,则命中该数据对应的表项,并获取该命中表项的内容。
图1为现有技术中TCAM的结构示意图,如图1所示,表项存储模块中存储各表项,其中,每条表项都与一个索引对应,当表项管理模块通过驱动模块在表项存储模块中添加一个表项时,驱动模块可以获取该表项的索引并进行存储,表项管理模块可以利用驱动模块中各表项的索引对表项进行更新和删除。另外,表项存储模块中存储的每条表项都具有各自的命中标识,各命中标识的初始值为0,当内容搜索模块搜索到匹配的数据时,将该数据对应的表项的命中标识置1,代表该表项被命中,只有当驱动模块读取该命中标识后,才将该命中标识清0。
在现有技术中,并没有存在针对TCAM中表项的老化机制,因此,仅能够手工对TCAM中的表项进行删除,否则,长时间没有命中的表项则仍然会占用TCAM的存储空间,从而造成TCAM的存储负担。
发明内容
本发明提供了一种维护表项的方法和装置,能够自动地删除TCAM中老化的表项,从而减轻TCAM的存储负担。
一种维护表项的方法,预先对所有表项进行分片,该方法包括:
以预设的时间T1为周期对所有表项进行遍历,并对遍历到的当前表项执行以下步骤:
A、判断当前表项是否命中,如果否,增加该当前表项对应的不命中计数值加1,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果达到预设的计数阈值M,则上报当前表项的老化信息,根据该老化信息删除所述当前表项;
B、判断所述当前表项是否为所在分片的最后一个表项,如果是,则等待时长T3后再对所述当前表项的下一个表项进行遍历;否则继续对所述当前表项的下一个表项进行遍历。
一种维护表项的装置,所有表项预先被进行分片,该装置包括:不命中计数值存储模块、表项管理模块以及包含遍历子模块、命中标识获取子模块、第一判断子模块、计数值处理子模块、第二判断子模块和上报子模块的老化模块;
所述不命中计数值存储模块,用于存储各表项的不命中计数值;
所述遍历子模块,用于以预设的时间T1为周期对所有表项进行遍历,在对当前表项的下一表项进行遍历之前判断所述当前表项是否为所在分片中的最后一个表项,如果是,则等待时长T3后再对所述当前表项的下一个表项进行遍历,否则继续对所述当前表项的下一个表项进行遍历;
所述命中标识获取子模块,用于获取所述遍历子模块遍历到的当前表项的命中标识;
所述第一判断子模块,用于根据所述命中标识获取子模块获取的命中标识,判断当前表项是否命中,如果否,向所述计数值处理子模块发送不命中通知;
所述计数值处理子模块,用于接收到所述不命中通知后,增加所述不命中计数值存储模块中存储的当前表项的不命中计数值,并向所述第二判断子模块发送执行通知;
所述第二判断子模块,用于接收到所述执行通知后,判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则向所述上报子模块发送上报通知,触发所述遍历子模块进行下一表项的遍历;
所述上报子模块,用于接收到所述上报通知后,向所述表项管理模块上报当前表项的老化信息;
所述表项管理模块,用于接收所述老化模块上报的所述老化信息后,根据所述老化信息删除所述当前表项。
由以上技术方案可以看出,本发明提供的方法和装置以预设的时间T1为周期对所有表项进行遍历,并对遍历到的当前表项执行以下步骤:判断当前表项是否命中,如果否,增加该当前表项对应的不命中计数值,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则上报当前表项的老化信息,根据该老化信息删除当前表项。可以利用该方法对TCAM表项在T1时间内连续不命中次数进行记录,当达到预设的计数阈值M时上报该表项的老化信息,表项管理模块可以根据该表项的老化信息对该表项进行删除,以此提供了一种针对TCAM中表项的定时老化机制,从而实现自动地删除TCAM中老化的表项,减轻TCAM的存储负担。
附图说明
图1为现有技术中TCAM的结构示意图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的老化属性位图数组结构示意图;
图4为本发明实施例提供的不命中计数数组示意图;
图5为本发明实施例提供的装置结构图;
图6为采用本发明的方法和装置实现定时老化的时序图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法主要包括:以预设的时间T1为周期对表项进行遍历,并对各表项执行以下步骤:判断当前表项是否命中;如果否,增加该当前表项对应的不命中计数值,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则上报该表项的老化信息,根据该老化信息删除当前表项。
下面以图2为例对本发明提供的方法进行详细描述,图2为本发明实施例提供的方法流程图,如图2所示,该方法可以包括以下步骤:
步骤201:读取当前表项的老化属性标识。
预先存储TCAM中各表项的老化属性标识,通常TCAM中的表项可以分为静态表项和可老化表项,其中,静态表项通常为重要表项或核心表项,静态表项不能被删除,不可老化;可老化表项是指可老化的普通表项,可以设置其老化时间为T,则针对该表项的不命中计数值的计数阈值M为:
M=T/T1。(1)
本步骤中的老化属性标识可以根据各表项的索引以老化属性位图数组的形式进行存储,该老化属性位图数组体现了表项索引和表项老化属性之间的对应关系,通过该对应关系可以确定各表项的老化属性。当然,也可以采用除了老化属性位图数组之外的其它表现形式。
当表项为静态表项时,可以预先设置该表项对应的老化属性标识为0,表项为可老化表项时,可以预先设置该表项对应的老化属性标识为1,按照表项的索引按位填到老化属性位图数组中。在此,除了0和1之外,还可以采用其它方式表征静态表项和可老化表项,并不具体限定表征静态表项和老化表项的老化属性标识的形式。
每个表项的索引Handle为表项在TCAM中的索引基址Base加表内偏移Offset,可以表示为:Handle=Base+Offset。当一条表项添加成功时,驱动模块会将表项索引返回给表项管理模块,表项管理模块将该表项索引和该表项的老化属性按表项索引的顺序添加到老化属性位图数组中。
如果老化属性位图数组为32位的位图数组,则老化属性位图数组的大小ArraySize可以为:当表项数目为32的整数倍时,ArraySize=Size/32;当表项数目不是32的整数倍时,ArraySize=Size/32+1。其中,Size为表项的数目,/表示求商并取整。
第N个表项的老化属性标识在位图数组中的数组序号Index为:Index=N/32;第N个表项在序号为Index的数组中的位数Bit为:Bit=N%32。其中,%表示取余数。图3为本发明实施例提供的老化属性位图数组结构示意图,如图3所示,该老化属性位图数组共ArraySize条数组,每条数组中包含32位,其中,阴影部分的位置对应的位图数组序号为Index,对应的位数为Bit。
本方法中以预设的时间T1为周期对所有表项进行遍历,也就是以预设的时间T1为周期对老化属性位图数组中的老化属性标识进行遍历。
步骤202:根据当前表项的老化属性标识,判断当前表项是否可老化,如果是,则执行步骤203;如果否,则执行步骤209。
步骤203:根据该老化属性标识的位置计算该表项的索引。
由步骤201中关于老化属性位图数组中老化属性标识位置的描述,可以得出,老化属性标识在老化属性位图数组中的位置与索引之间的对应关系为:Handle=Index×32+Bit+Base。
步骤204:根据该表项的索引读取该表项的命中标识,读取后将该表项的命中标识清零。
同样,各表项的命中标识也可以以命中标识位图数组的形式进行存储,该命中标识位图数组的形式可以与老化属性位图数组相同。
通常,表项命中时,其命中标识为1,表项不命中时,其命中标识为0。同样,除了0和1之外,还可以采用其它方式表征表项不命中和命中,本发明也不具体限定命中标识的形式。
驱动模块可以以固定的采样周期T2对各表项的命中标识进行采样,如果该T2=T1,即在T1内进行单次采样,则驱动模块将采样到的命中标识按照表项索引的顺序依次添加到命中标识位图数组中;如果该T2=T1/n,其中,n为自然数,即T1时间内进行n次采样,则驱动模块可以将n次采样到的命中标识以按位或的形式添加到命中标识位图数组中,即将n次采样到的各表项的命中标识进行或运算后,将预算后的结果按照表项索引的顺序保存到命中标识位图数组中。在T1时间内,某表项只要有一次命中,则该表项的命中标识为1。
本步骤可以根据该表项的索引,从该命中标识位图数组中读取该表项的命中标识;当然,驱动模块也可以不采样命中标识并以位图数组的形式存储各表项的命中标识,此时,可以根据表项的索引,直接从表项存储单元中读取该表项的命中标识。
步骤205:判断读取的该表项的命中标识是否为1,如果否,则执行步骤206;如果是,则执行步骤212。
步骤206:将该表项对应的不命中计数值加1。
在该方法中可以对应每一表项设置计数器,记录在老化周期内表项的连续不命中次数。每遍历到该表项,如果该表项的命中标识为0,则将该表项对应的不命中计数值加1。本实施例中,增加表项对应的不命中计数值以加1为例,在此不对具体增加表项不命中计数值的方案进行限定。
各表项的不命中计数值可以以不命中计数数组的形式进行存储,如图4所示,图4为本发明实施例提供的不命中计数数组示意图。
步骤207:判断该表项对应的不命中计数值是否达到预设的计数阈值M,如果是,则执行步骤208,否则,执行步骤209。
步骤208:将该表项对应的不命中计数值清零,上报该表项的老化信息。
本步骤中,该表项对应的不命中计数值达到预设的计数阈值M,说明该表项已经达到老化时间而未被命中,因此,可以将该表项的老化信息上报表项管理模块;表项管理模块接收到该表项的老化信息后,可以通过驱动模块对该表项进行删除。
步骤209:判断本次T1周期内遍历的表项数目是否达到预设数目Num的整数倍,如果是,则执行步骤210,如果否,则执行步骤211。
为了不使表项遍历长时间的占用CPU,可以对表项进行分片,每一片中包含的表项数目可以为Num,该Num可以为Size/P,其中,P为将所有表项分成的片数。每完成一片内的表项遍历后,可以将任务挂起T3时间,使得CPU可以及时处理其它任务。每一片中包含的表项数目均为Num仅为该实施例提供的一种方案,还可以根据具体需要,设置各分片中的表项数目不同。
步骤210:在T3时间内暂停遍历表项,即将遍历任务挂起T3时间。
对所有表项遍历一次的时间T1可以表示为:T1=P×(T3+t);(2)
其中,t为遍历该分片内表项所用的时间,通常t远远小于T3,相对于T3可忽略不计。
步骤211:读取下一个表项的老化属性标识,转至执行步骤202。
步骤212:将该表项对应的不命中计数值清零,执行步骤209。
以上是对本发明提供的方法的描述,下面对本发明提供的装置进行详细描述,图5为本发明实施例提供的装置结构图,如图5所示,该装置可以包括:不命中计数值存储模块510、老化模块520和表项管理模块530。
不命中计数值存储模块510,用于存储各表项的不命中计数值。
老化模块520,用于以预设的时间T1为周期对所有表项进行遍历,并获取遍历到的当前表项的命中标识,判断当前表项是否命中,如果否,增加当前表项的不命中计数值,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则向表项管理模块530上报当前表项的老化信息,继续进行下一表项的遍历。
另外,老化模块520如果确定当前表项不命中,则可以将不命中计数值存储模块510中存储的当前表项的不命中计数值清零,继续进行下一表项的遍历。
表项管理模块530,用于接收老化模块上报的老化信息,并根据该老化信息删除当前表项。
表项管理模块530接收到该表项的老化信息后,可以将该表项进行删除。
其中,老化模块520可以包括:遍历子模块521、命中标识获取子模块522、第一判断子模块523、计数值处理子模块524、第二判断子模块525和上报子模块526。
遍历子模块521,用于以预设的时间T1为周期对所有表项进行遍历。
命中标识获取子模块522,用于获取遍历子模块遍历到的当前表项的命中标识。
第一判断子模块523,用于根据命中标识获取子模块获取的命中标识,判断当前表项是否命中,如果是,则向计数值处理子模块524发送命中通知,否则,向计数值处理子模块524发送不命中通知。
计数值处理子模块524,用于接收到命中通知后,将不命中计数值存储模块522中存储的当前表项的不命中计数值清零,并触发遍历子模块521进行下一表项的遍历;接收到不命中通知后,将不命中计数值存储模块510中存储的当前表项的不命中计数值加1,并向第二判断子模块525发送执行通知。
第二判断子模块525,用于接收到执行通知后,判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则向上报子模块526发送上报通知,触发遍历子模块521进行下一表项的遍历。
上报子模块526,用于接收到上报通知后,向表项管理模块530上报当前表项的老化信息。
该装置还可以包括:老化属性标识存储模块540,用于存储各表项的老化属性标识。
该老化属性标识存储模块540可以以老化属性位图数组的形式,按照各表项索引的顺序存储各表项的老化属性标识。遍历子模块521以预设的时间T1为周期对所有表项进行遍历可以为以预设的时间T1对老化属性标识存储模块540存储的老化属性位图数组中各表项的老化属性标识进行遍历。
此时,老化模块520还可以包括:老化属性读取子模块527和第三判断子模块528。
老化属性读取子模块527,用于从老化属性标识存储模块540中读取当前表项的老化属性标识。
第三判断子模块528,用于根据老化属性读取子模块527读取的老化属性标识,判断当前表项是否可老化,如果是,则触发命中标识获取子模块522获取遍历子模块521遍历到的当前表项的命中标识,否则触发遍历子模块521进行下一表项的遍历。
该装置还可以包括:表项存储模块550、驱动模块560和命中标识位图数组存储模块570。
表项存储模块550,用于存储各表项的命中标识。
命中标识位图数组存储模块570,用于存储命中标识位图数组。
驱动模块560,用于以预设的采样周期T2对表项存储模块550中存储的各表项的命中标识进行采样,并将采样到的命中标识保存到命中标识位图数组中。
老化模块520从命中标识位图数组存储模块570中获取当前表项的命中标识。
如果T2=T1/n,则上述驱动模块560可以包括采样子模块561和或运算子模块562。
采样子模块561,用于以预设的采样周期T2对表项存储模块550中存储的各表项的命中标识进行采样。
或运算子模块562,用于将在T2周期内采样到的命中标识进行或运算,并将运算后的结果按照表项索引的顺序保存到命中标识位图数组中。
其中,上述的遍历子模块521可以包括:遍历处理子模块5211、第四判断子模块5212和延时定时器5213。
遍历处理子模块5211,用于对以预设的时间T1为周期对所有表项进行遍历。
第四判断子模块5212,用于判断当前表项是否为所在分片中的而最后一个表项,如果是,则向延时定时器5213发送计时通知,否则触发遍历处理子模块5211对当前表项的下一表项进行遍历。
延时定时器5213,用于接收到计时通知后,开始计时,当达到预设的计时门限T3时,触发遍历处理子模块5211对当前表项的下一表项进行遍历。
上述不命中计数值存储模块510、老化模块520、老化属性标识存储模块540可以设置于一个模块中实现,驱动模块560、命中标识位图数组存储模块570可以设置于一个模块中实现。当然各模块也可以采用其它的组合设置方式。
图6为采用本发明的方法和装置实现定时老化的时序图。从时序图中可以看出,从表项最后一次被命中到上报老化信息的时间最长为T1+T2+T,误差率为(T1+T2)/T,如果要求老化精度为X%,则可以控制(T1+T2)/T≤X%,且T1≥T2,并根据选定的T1值计算出在老化时间T内需遍历表项的次数,也就是不命中计数的计数阈值M,由(1)式可以得出M为T/T1;最后可以根据设定的分片数P,计算出完成一组分片需要挂起遍历任务的时间T3,由(2)式可以得出T3=T2/P。
由以上描述可以看出,本发明提供的方法和装置以预设的时间T1为周期对所有表项进行遍历,并对遍历到的当前表项执行以下步骤:判断当前表项是否命中,如果否,增加该当前表项对应的不命中计数值,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则上报当前表项的老化信息,根据该老化信息删除当前表项。可以利用该方法对TCAM表项在T1时间内连续不命中次数进行记录,当达到预设的计数阈值M时上报该表项的老化信息,表项管理模块可以根据该表项的老化信息对该表项进行删除,以此提供了一种针对TCAM中表项的定时老化机制,从而实现自动地删除TCAM中老化的表项,减轻TCAM的存储负担。
更进一步地,本发明在判断当前表项是否命中之前还可以首先读取当前表项的老化属性标识,根据读取的老化属性标识判断当前表项是否可老化,如果是,则判断当前表项是否命中,否则,直接遍历下一个表项。也就是说,可以根据表项的老化属性进行区分,并选择性地对可老化表项进行定时老化,而对静态表项则无需进行定时老化,增加了该方法的灵活性。
更优地,本发明还可以在对下一表项进行遍历之前,判断当前表项是否为所在分片的最后一个表项,如果是,则等待T3后再对当前表项的下一表项进行遍历;否则继续对当前表项的下一表项进行遍历。也就是说,可以对所有表项进行分片,当完成一片内表项的遍历后,将遍历任务挂起T3时间,从而避免遍历任务长时间占用CPU。
更优地,驱动模块可以在T1时间内对各表项的命中标识进行多次采样,并以按位或的形式将各表项的命中标识添加到命中标识位图数组中,在T1时间内,表项只要有一次命中,则该表项的命中标识就为1,从而提高了表项定时老化的精度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1、一种维护表项的方法,其特征在于,预先将所有表项进行分片,该方法包括:
以预设的时间T1为周期对所有表项进行遍历,并对遍历到的当前表项执行以下步骤:
A、判断当前表项是否命中,如果否,增加该当前表项对应的不命中计数值,并判断当前表项的不命中计数值是否达到预设的计数阈值M,如果达到预设的计数阈值M,则上报当前表项的老化信息,根据该老化信息删除所述当前表项;
B、判断所述当前表项是否为所在分片的最后一个表项,如果是,则等待时长T3后再对所述当前表项的下一个表项进行遍历;否则继续对所述当前表项的下一个表项进行遍历。
2、根据权利要求1所述的方法,其特征在于,在所述步骤A之前还包括:读取当前表项的老化属性标识,根据所述读取的老化属性标识判断当前表项是否可老化,如果是,则继续执行所述步骤A;否则,执行所述步骤B。
3、根据权利要求2所述的方法,其特征在于,该方法还包括:预先按照各表项的索引顺序,将各表项的老化属性标识存储在老化属性位图数组中;
所述以预设的时间T1为周期对所有表项进行遍历包括:以预设的时间T1为周期对所述老化属性位图数组中所有表项的老化属性标识进行遍历;
所述读取当前表项的老化属性标识包括:从所述老化属性位图数组中读取当前表项对应的老化属性标识。
4、根据权利要求3所述的方法,其特征在于,所述判断当前表项是否命中包括:根据当前表项的老化属性标识的位置获取当前表项的索引,并根据当前表项的索引读取当前表项的命中标识,根据当前表项的命中标识判断当前表项是否命中。
5、根据权利要求1所述的方法,其特征在于,该方法还包括:
驱动模块以预设的采样周期T2对各表项的命中标识进行采样,并将采样到的命中标识按照表项索引的顺序保存到命中标识位图数组中;
所述判断当前表项是否命中包括:读取当前表项在所述命中标识位图数组中对应的命中标识,并根据该读取的命中标识判断当前表项是否命中。
6、根据权利要求5所述的方法,其特征在于,如果T2=T1/n,则所述驱动模块将采样到的命中标识按照表项索引的顺序保存到命中标识位图数组中包括:所述驱动模块将n次采样到的各表项的命中标识进行或运算后,将运算后的结果按照表项索引的顺序保存到命中标识位图数组中;其中,n为自然数。
7、根据权利要求1所述的方法,其特征在于,所述计数阈值M为:M=T/T1,其中,T为所述当前表项的老化时间。
8、根据权利要求1所述的方法,其特征在于,所述步骤A中,如果判断出当前表项命中,则将当前表项对应的不命中计数值清零,执行所述步骤B。
9、根据权利要求1所述的方法,其特征在于,在所述步骤A中,如果判断出当前表项的不命中计数值没有达到预设的计数阈值M,则执行所述步骤B。
10、一种维护表项的装置,其特征在于,所有表项预先被进行分片,该装置包括:不命中计数值存储模块、表项管理模块以及包含遍历子模块、命中标识获取子模块、第一判断子模块、计数值处理子模块、第二判断子模块和上报子模块的老化模块;
所述不命中计数值存储模块,用于存储各表项的不命中计数值;
所述遍历子模块,用于以预设的时间T1为周期对所有表项进行遍历,在对当前表项的下一表项进行遍历之前判断所述当前表项是否为所在分片中的最后一个表项,如果是,则等待时长T3后再对所述当前表项的下一个表项进行遍历,否则继续对所述当前表项的下一个表项进行遍历;
所述命中标识获取子模块,用于获取所述遍历子模块遍历到的当前表项的命中标识;
所述第一判断子模块,用于根据所述命中标识获取子模块获取的命中标识,判断当前表项是否命中,如果否,向所述计数值处理子模块发送不命中通知;
所述计数值处理子模块,用于接收到所述不命中通知后,增加所述不命中计数值存储模块中存储的当前表项的不命中计数值,并向所述第二判断子模块发送执行通知;
所述第二判断子模块,用于接收到所述执行通知后,判断当前表项的不命中计数值是否达到预设的计数阈值M,如果是,则向所述上报子模块发送上报通知,触发所述遍历子模块进行下一表项的遍历;
所述上报子模块,用于接收到所述上报通知后,向所述表项管理模块上报当前表项的老化信息;
所述表项管理模块,用于接收所述老化模块上报的所述老化信息后,根据所述老化信息删除所述当前表项。
11、根据权利要求10所述的装置,其特征在于,该装置还包括:老化属性标识存储模块,用于存储各表项的老化属性标识;
所述老化模块还包括:老化属性读取子模块和第三判断子模块;
所述老化属性读取子模块,用于从所述老化属性标识存储模块中读取所述当前表项的老化属性标识;
所述第三判断子模块,用于根据所述老化属性读取子模块读取的老化属性标识,判断当前表项是否可老化,如果是,则触发所述命中标识获取子模块获取所述遍历子模块遍历到的当前表项的命中标识,否则触发所述遍历子模块进行下一表项的遍历。
12、根据权利要求10所述的装置,其特征在于,所述遍历子模块包括:遍历处理子模块、第四判断子模块和延时定时器;
所述遍历处理子模块,用于对以预设的时间T1为周期对所有表项进行遍历;
所述第四判断子模块,用于在所述遍历处理子模块对所述当前表项的下一个表项进行遍历之前,判断所述当前表项是否为所在分片中的最后一个表项,如果是,则向所述延时定时器发送计时通知,否则触发所述遍历处理子模块对当前表项的下一表项进行遍历;
所述延时定时器,用于接收到所述计时通知后,开始计时,当达到预设的计时门限T3时,触发所述遍历处理子模块对当前表项的下一表项进行遍历。
13、根据权利要求10所述的装置,其特征在于,该装置还包括:表项存储模块、驱动模块和命中标识位图数组存储模块;
所述表项存储模块,用于存储各表项的命中标识;
所述命中标识位图数组存储模块,用于存储命中标识位图数组;
所述驱动模块,用于以预设的采样周期T2对所述表项存储模块中存储的各表项的命中标识进行采样,并将采样到的命中标识保存到所述命中标识位图数组中;
所述老化模块从所述命中标识位图数组存储模块中获取所述当前表项的命中标识。
14、根据权利要求13所述的装置,其特征在于,如果T2=T1/n,则所述驱动模块包括:采样子模块和或运算子模块;
所述采样子模块,用于以预设的采样周期T2对所述表项存储模块中存储的各表项的命中标识进行采样;
所述或运算子模块,用于将在T2周期内采样到的命中标识进行或运算,并将运算后的结果按照表项索引的顺序保存到命中标识位图数组中;
其中,n为自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810102248A CN100587694C (zh) | 2008-03-19 | 2008-03-19 | 一种维护表项的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810102248A CN100587694C (zh) | 2008-03-19 | 2008-03-19 | 一种维护表项的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101241513A CN101241513A (zh) | 2008-08-13 |
CN100587694C true CN100587694C (zh) | 2010-02-03 |
Family
ID=39933044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810102248A Expired - Fee Related CN100587694C (zh) | 2008-03-19 | 2008-03-19 | 一种维护表项的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100587694C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719871B (zh) * | 2009-11-27 | 2012-09-05 | 中兴通讯股份有限公司 | 媒体接入控制mac地址老化控制方法及装置 |
CN104683415A (zh) * | 2013-12-02 | 2015-06-03 | 乐视网信息技术(北京)股份有限公司 | 一种点对点网络中删除数据通知消息的发送方法及装置 |
WO2016145572A1 (zh) * | 2015-03-13 | 2016-09-22 | 华为技术有限公司 | 网络设备与终端设备通信的方法、网络设备及终端设备 |
CN105591793B (zh) * | 2015-07-07 | 2019-01-18 | 新华三技术有限公司 | 一种快转表项老化方法和装置 |
CN114710438B (zh) * | 2022-05-07 | 2022-12-27 | 珠海星云智联科技有限公司 | 硬件表项老化处理方法及相关设备 |
CN116016258A (zh) * | 2023-03-29 | 2023-04-25 | 苏州浪潮智能科技有限公司 | 一种网卡检测方法、装置及电子设备和存储介质 |
-
2008
- 2008-03-19 CN CN200810102248A patent/CN100587694C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101241513A (zh) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100587694C (zh) | 一种维护表项的方法和装置 | |
CN103440207B (zh) | 缓存方法及装置 | |
CN104794228B (zh) | 一种搜索结果提供方法及装置 | |
US8918436B2 (en) | Hybrid database table stored as both row and column store | |
CN104699422B (zh) | 缓存数据的确定方法及装置 | |
EP2608072A1 (en) | Hybrid database table stored as both row and column store | |
EP2608071A1 (en) | Hybrid database table stored as both row and column store | |
CN105183764B (zh) | 一种数据分页方法及装置 | |
CN101364231A (zh) | 浏览器历史记录的整理方法及装置 | |
TW201237653A (en) | Sending product information based on determined preference values | |
CN101493821A (zh) | 数据缓存方法和装置 | |
CN107562851B (zh) | 一种数据的更新方法、装置及电子设备 | |
CN105354256A (zh) | 一种数据分页查询的方法及装置 | |
CN104077242A (zh) | 一种缓存管理方法和装置 | |
CN107133367A (zh) | 一种信息处理方法及系统、服务器 | |
CN107704203A (zh) | 聚合大文件的删除方法、装置、设备及计算机存储介质 | |
CN102243884B (zh) | 一种存储流媒体数据的方法及装置 | |
CN104063504A (zh) | 网页的综合访问权值的确定方法及访问记录的排序方法 | |
CN106874326A (zh) | 一种条目列表获取请求处理方法及装置 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN103559307A (zh) | 一种查询的缓存方法及装置 | |
CN104424188B (zh) | 对获取的网页数据进行更新的系统及方法 | |
CN109144431A (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
JP4177833B2 (ja) | リンクリストへのマルチプロセスアクセス方法および装置 | |
CN107783978A (zh) | 一种大数据查询返回方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |