CN1324481C - 一种用于网络处理器的数据老化方法 - Google Patents
一种用于网络处理器的数据老化方法 Download PDFInfo
- Publication number
- CN1324481C CN1324481C CNB031440851A CN03144085A CN1324481C CN 1324481 C CN1324481 C CN 1324481C CN B031440851 A CNB031440851 A CN B031440851A CN 03144085 A CN03144085 A CN 03144085A CN 1324481 C CN1324481 C CN 1324481C
- Authority
- CN
- China
- Prior art keywords
- data
- aging
- list item
- timestamp value
- time
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于网络处理器的数据老化方法,该方法首先设置数据老化时间间隔;依据该时间间隔,在数据操作时,设置或更新该数据的时间戳值;所述时间戳值存储在所述数据的时间戳域中;在数据老化操作时,取得系统时间戳值,并从数据的时间戳域中获取数据的时间戳值,然后,获取所述系统时间戳值与所述数据的时间戳值的差,根据所述差与数据老化时间间隔判断数据存储是否超时,如果超时,删除该数据。采用上述方案对数据进行老化处理,不但能够提高老化操作的效率,还能够保证数据的安全。
Description
技术领域
本发明涉及存储器中所存储数据的更新方法,尤其是基于网络处理器(NP)的数据更新方法。
背景技术
对于存储在存储器中的数据来说,由于利用率的不同,通常需要对这些数据进行老化处理,即及时删除长期不用的数据,以节省存储资源存储利用率高的数据。例如,对于存储在网络处理器(NP)中的数据表来说,它在NP内存中所分配的资源是有限的,怎样合理利用数据表项资源、最大可能的存储有用的信息、删除无用信息、提高内存的利用率?是数据表管理中的一个重要问题。以网络交换设备中的二层媒体访问控制(Mac)转发表来举例,该表的内容为不断学习得到的来自源端口的Mac地址信息。因此,对于Mac转发表来说,不论分配到多大的内存资源都会有充满的时候,一旦表项资源被用光,新的Mac转发信息就没办法记录下来。此时,Mac转发表的表项中塞满了大量过去学习到的Mac信息,这些信息中大部分信息的利用率很低,甚至有的表项的信息可能永远都不会再被利用;同时又有大量的Mac信息因为没有表项资源而不能被学习到,而这些信息可能在下面的时间中会被多次使用。可见,及时对Mac转发表中的信息进行老化处理能够避免上述情况的出现。
实现数据老化的方法有多种,如根据时间老化,根据访问量老化等。以根据时间对Mac转发表老化为例,就是每隔一段时间发起一轮表项的轮循检查,将那些长时间都没有用到的表项删除掉。为了判别一个表项是否需要被老化删除,在NP中处理老化的方法为:在表项中设置一个老化标志(aging)位,这个aging位标志表示该表项在一段时间内是否被使用过。当一个表项新建时,该表项的aging位初始值设为“1”,当表项被使用到的时候(如被查找命中),该表项中的aging位也会被重置“1”。数据的老化操作通常定时完成,在老化过程检查到一个表项的时候,如果判断该表项的aging位为“1”,表示此表项在定时老化间隔时间内被使用过,可能利用率较高,不执行删除操作,但同时要将该aging位置为“0”;如果发现该表项的aging为“0”,则表示在定时老化间隔时间内没有被使用过,可能利用率较低,因此将该表项删除。
使用上述按照时间老化存储数据的方法能够将长时间没有被用到的表项删除掉,避免表项充满而导致其它问题。上述方法的去缺点在于,一个表项被老化掉需要至少要经过两次的老化检查,即第一次老化操作时将aging位设为0,第二次老化操作时将此表项删除,在有大量的表项需要被老化掉时,如果每个表项需要被读两次才能删除,而且在第一次老化操作时还有对表项的写aging位操作,这就会大大的增加老化操作时间而导致资源损耗。
另外,对于存储器中的数据来说,数据的老化操作和其它的处理操作常常是在不同的线程中进行的。以上述Mac转发表为例,假设对Mac转发表的老化操作为A线程,数据转发为B线程。当A线程中对一个表项进行老化检查,可能在刚刚读出一个表项内容后,另一个B线程正好执行将该表项内容的更新操作,此时A线程又将该表项的aging位置位后的内容写了回去,这样,这个表项的内容又被写成了更新前的内容了(除了aging位)。这时候的老化操作就是往表项中写入了无效数据,破坏了表项内容。可见,现有方法无法解决数据的安全的问题。
发明内容
本发明的目的在于提供一种效率高、使用安全的专用于网络处理器的数据老化方法。
为达到上述目的,本发明提供的用于网络处理器的数据老化方法,包括:设置数据老化时间间隔;
在数据操作时,设置该数据的时间戳值;所述时间戳值存储在所述数据的时间戳域中;
在数据老化操作时,取得系统时间戳值,并从数据的时间戳域中获取数据的时间戳值,然后,获取所述系统时间戳值与所述数据的时间戳值的差,根据所述差与数据老化时间间隔判断数据存储是否超时,如果超时,删除该数据。
所述判断数据存储时间是否超时,通过系统时间戳值与数据的时间戳值的差是否大于或等于所述数据老化时间间隔完成。
所述方法还包括:
在数据首次存储时,将系统当前时间戳值作为该数据的时间戳值。
在数据更新时,使用系统的时间戳值更新该数据的时间戳值。
在数据被使用时,使用系统的时间戳值更新该数据的时间戳值。
将数据存储在二维数据表中。也可以将数据存储在树形数据表中。
上述系统时间戳值通过实时刷新系统时间获得。
由于本发明采用时间戳技术对数据进行老化处理,方法简单,在对数据进行老化处理时,只需根据系统时间戳值与数据的时间戳值的差即可判断数据存储的时间是否超时,从而决定是否需要将该数据老化掉。这样,能够在一次老化过程中就解决数据的老化问题,与现有方法相比减少系统的资源耗损。同时,本发明在老化操作时,不需要对数据进行写操作,不但提高的老化操作的效率,也能够避免对多个线程对数据的读写操作冲突而导致的无效数据的写入被老化数据,或更改数据失误的问题,提高数据操作的安全性。
附图说明
图1是采用本发明老化表项所存储数据时的表项状态变迁图;
图2是本发明所述方法的实施例流程图。
具体实施方式
为了避免存储器中的数据过多地占用存储资源,提高存储资源的利用率,通常需要将存储器中所存储的不常用的数据删除掉,以回收其资源,为此,就需要对存储器中的数据进行老化操作。尽管对数据的老化操作有多种标准,但实际中的老化依据本质上都是时间,即将超时不用的数据删除掉,释放其占用的存储资源。由于现有老化方法需要两次老化过程以及需要写操作才能完成对数据表中一个表项的老化处理,导致了效率的降低。同时,在数据的老化操作与数据的使用等操作需要由多个线程完成的情况下,必然导致对数据的操作失误。这种失误的本质是由于多线程对同一块区域的数据同时进行写操作引起,因此,要提高数据的老化效率以及避免在表项中写入脏数据,就需要减少老化操作的过程以及减少老化过程中的读写操作,从而避免数据的老化线程与数据的其它处理线程对数据进行操作时产生的矛盾。
为此,本发明采用时间戳技术对需要老化的数据进行处理,其主要思想就是记录并比较时间戳的值,来判断该数据是否由于超时不用而需要删除,即使用系统时间戳和需要老化数据的时间戳作为判断数据是否能够被老化掉的依据,从而在一次老化过程中完成对数据的老化处理。下面假设存储器中的数据以数据表的二维形式存储,结合附图对本发明作进一步详细的描述。实际中,任何存储形式的数据都能应用本发明进行老化处理,如采用树形结构。
首先设置对数据表项中存储的数据老化时间间隔,即设置超时时间标准,并在系统的寄存器组中选择寄存器用于存储该超时时间(也可以在存储器的存储单元中选定一个或多个存储单元用于存储该超时时间)。同时,在数据表中设置一个时间戳字段,用来记录数据表中的表项中所存储数据的时间戳的值。对表项中的时间戳域操作的动作有以下几种:
1)新建表项时,将系统当前的时间戳记录下来,即将系统时间戳值作为该表项所存储数据的时间戳值。
2)更新表项的时候,同时也取得系统当前的时间戳,更新表项中的时间戳值,即用系统的时间戳值更新该表项所存储数据的时间戳值。
3)表项被使用时,也就是该表项所存储数据被应用该数据的线程命中时,更新表项所存储数据的时间戳值,即用系统的时间戳值更新该表项所存储数据的时间戳值。
上述系统时间戳值由NP处理器实时刷新系统时间获得。
可见,数据表的各表项中的时间戳记录了这个表项所存储数据最近一次被使用的时间。当老化操作到来时,只需要取出系统当前的时间戳值和表项中的时间戳值做比较,就可以知道这个表项所存储数据没有被使用的时间长度,并以此判断出该表项是否已经超时,从而是否需要被老化删除掉。
因此,如果采用本发明的方法对数据表中各表项存储的数据进行老化处理,则表项的状态为两个,一是正常状态,即表项存在的状态;二是删除状态,即表项被删除的状态。上述表项状态的变迁参考图1。图1中,如果在老化操作时的表项检查中没有发现表项没有超时,则经过步骤1后状态没有改变;如果在老化操作时的表项检查中发现表项已经超时,则经过步骤2后表项状态发生改变,从正常状态跃迁到删除状态。
可见,利用时间戳解决表项所存储数据老化方法的状态机看起来非常的简单明了,一条表项的老化删除最少只需经过一次老化操作即可完成,很显然,这样大大减少了老化时的资源损耗。
图2是本发明所述方法的实施例流程图。按照图2,当定时器启动老化线程开始操作时,首先在步骤11对需要老化操作的数据表进行检查,看是否有可以进行老化操作的表项,即看该数据表是否为空,如果该表没有表项,说明该表是一个空表,则在步骤18执行老化线程终止操作,否则在步骤12读取该表项的指针,依据该指针的指向,在步骤13读取指针指向表项的内容以及该表项数据的时间戳值,设为T1,接着在步骤14从存储系统时间戳的寄存器中读取系统时间戳值,设为T2,并读取老化超时时间,设为T3,然后在步骤15计算系统时间戳值T2与表项数据的时间戳值T1的差值,利用该差值与老化超时时间T3进行比较,如果上述差值,即T2-T1大于或等于T3,说明该表项所存储数据的存储时间已经超过老化时间T3,该表项中存储的数据已经长时间未被使用,可以删除,因此在步骤16执行对该表项的删除操作,然后执行步骤17;如果T2-T1小于T3,说明该表项所存储数据的存储时间还没有超过老化时间T3,需要保留,因此直接进行步骤17,在步骤17判断当前表项是否为最后一个表项,如果不是,返回步骤12继续后续的老化操作,否则说明对数据表的老化操作完成,则在步骤18执行老化线程终止操作。
以下述数据表为例:
序号 | 字段1 | …… | 字段n | 时间戳 |
1 | …… | …… | …… | 100 |
2 | …… | …… | …… | 105 |
3 | …… | …… | …… | 98 |
4 | …… | …… | …… | 102 |
…… | …… | …… | …… | …… |
上述表中的时间戳字段是依据时间转化的时间戳值,假设系统当前的时间戳值T2为106,超时时间T3为5,则对于表中第1到第4个表项的数据来说,系统时间戳与表项1到表项4的时间戳差值分别为6、1、8、4,因此表项1和表项3的数据在进行老化操作时,由于上述时间戳差值大于超时时间而被删除,而表项2和表项4的数据将被保留。
在本发明所述的老化方法中,首先只需要一个过程即可决定具体表项的数据是否可以被老化,与现有方法相比减少了一个过程,因此减少了系统资源的消耗;另外,在具体的老化过程中没有对数据表项的写操作,这样不但能够提高老化操作的效率,还能够避免多线程同时对数据表的读写操作的冲突发生,也就避免了现有的老化方法可能将无效数据写入表项的问题。
本发明所述的方法适合于对任何存储器中存储的数据进行老化操作,尤其适合于对网络处理器(NP)中的数据进行老化操作。
Claims (8)
1、一种用于网络处理器的数据老化方法,其特征在于包括:
设置数据老化时间间隔;
在数据操作时,设置该数据的时间戳值;所述时间戳值存储在所述数据的时间戳域中;
在数据老化操作时,取得系统时间戳值,并从数据的时间戳域中获取数据的时间戳值,然后,获取所述系统时间戳值与所述数据的时间戳值的差,根据所述差与数据老化时间间隔判断数据存储是否超时,如果超时,删除该数据。
2、根据权利要求1所述的数据老化方法,其特征在于:所述判断数据存储时间是否超时,通过系统时间戳值与数据的时间戳值的差是否大于或等于所述数据老化时间间隔完成。
3、根据权利要求1所述的数据老化方法,其特征在于,所述方法还包括:在数据首次存储时,将系统当前时间戳值作为该数据的时间戳值。
4、根据权利要求1所述的数据老化方法,其特征在于,所述方法还包括:在数据更新时,使用系统的时间戳值更新该数据的时间戳值。
5、根据权利要求1所述的数据老化方法,其特征在于,所述方法还包括:在数据被使用时,使用系统的时间戳值更新该数据的时间戳值。
6、根据权利要求1所述的数据老化方法,其特征在于,所述方法还包括:将数据存储在二维数据表中。
7、根据权利要求1所述的数据老化方法,其特征在于,所述方法还包括:将数据存储在树形数据表中。
8、根据权利要求1所述的数据老化方法,其特征在于:所述系统时间戳值通过实时刷新系统时间获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031440851A CN1324481C (zh) | 2003-07-31 | 2003-07-31 | 一种用于网络处理器的数据老化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031440851A CN1324481C (zh) | 2003-07-31 | 2003-07-31 | 一种用于网络处理器的数据老化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1581100A CN1581100A (zh) | 2005-02-16 |
CN1324481C true CN1324481C (zh) | 2007-07-04 |
Family
ID=34579584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031440851A Expired - Fee Related CN1324481C (zh) | 2003-07-31 | 2003-07-31 | 一种用于网络处理器的数据老化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1324481C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170551B (zh) * | 2007-11-30 | 2011-11-30 | 中兴通讯股份有限公司 | 一种数据老化处理方法 |
CN102023926B (zh) * | 2010-12-08 | 2013-12-11 | 杭州华三通信技术有限公司 | 一种数据超时老化处理方法及其装置 |
US9087010B2 (en) | 2011-12-15 | 2015-07-21 | International Business Machines Corporation | Data selection for movement from a source to a target |
CN103841144A (zh) * | 2012-11-23 | 2014-06-04 | 中兴通讯股份有限公司 | 云存储系统、方法、用户端及云存储服务器 |
CN103019858B (zh) * | 2012-12-03 | 2016-08-17 | 中兴通讯股份有限公司 | 媒体访问控制老化方法及网络处理器 |
CN104660439B (zh) * | 2013-11-25 | 2018-10-02 | 华为技术有限公司 | 会话表项老化时间的设置方法及装置 |
CN106559345A (zh) * | 2016-12-05 | 2017-04-05 | 深圳市国电科技通信有限公司 | 基于网络拓扑的分级数据采集算法 |
CN108347494B (zh) * | 2017-01-25 | 2022-03-11 | 中兴通讯股份有限公司 | Mac地址老化处理方法、网络处理器芯片及通信设备 |
CN109460411A (zh) * | 2018-11-13 | 2019-03-12 | 杭州数梦工场科技有限公司 | 一种基于hive的数据老化方法、装置及设备 |
CN111381951B (zh) * | 2020-03-06 | 2023-06-30 | 北京思特奇信息技术股份有限公司 | 一种系统架构中脏数据处理方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5689699A (en) * | 1992-12-23 | 1997-11-18 | International Business Machines Corporation | Dynamic verification of authorization in retention management schemes for data processing systems |
JPH10124351A (ja) * | 1996-10-18 | 1998-05-15 | Nec Corp | ファイル保存期間管理装置、ファイル保存期間管理方法 およびファイル保存期間管理用プログラムを記憶した記 憶媒体 |
WO2002019161A2 (en) * | 2000-08-30 | 2002-03-07 | International Business Machines Corporation | Temporary directory management |
-
2003
- 2003-07-31 CN CNB031440851A patent/CN1324481C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5689699A (en) * | 1992-12-23 | 1997-11-18 | International Business Machines Corporation | Dynamic verification of authorization in retention management schemes for data processing systems |
JPH10124351A (ja) * | 1996-10-18 | 1998-05-15 | Nec Corp | ファイル保存期間管理装置、ファイル保存期間管理方法 およびファイル保存期間管理用プログラムを記憶した記 憶媒体 |
WO2002019161A2 (en) * | 2000-08-30 | 2002-03-07 | International Business Machines Corporation | Temporary directory management |
Also Published As
Publication number | Publication date |
---|---|
CN1581100A (zh) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521269B (zh) | 一种基于索引的计算机连续数据保护方法 | |
CN101501623B (zh) | 感知文件系统的块存储系统、装置和方法 | |
CN104063186B (zh) | 一种电子设备的数据访问方法 | |
US7765180B2 (en) | Database re-organizing system and database | |
CN105630865B (zh) | 用于内存列式存储的n比特压缩版本化列数据阵列 | |
CN105339907B (zh) | 非易失性存储器系统中的同步镜像 | |
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
CN101930404B (zh) | 存储装置及其操作方法 | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
US8799601B1 (en) | Techniques for managing deduplication based on recently written extents | |
CN105224478B (zh) | 一种映射表的形成、更新和恢复方法及电子设备 | |
CN102508784B (zh) | 视频监控设备中闪存卡的数据存储方法及其系统 | |
CN110226157A (zh) | 用于减少行缓冲冲突的动态存储器重新映射 | |
CN107066393A (zh) | 提高地址映射表中映射信息密度的方法 | |
US20180011892A1 (en) | Foster twin data structure | |
CN101526927B (zh) | Flash文件系统的数据处理方法及数据处理装置 | |
CN103558992A (zh) | 堆外直接内存数据存储器,创建和/或管理堆外直接内存数据存储器的方法,和/或包括堆外直接内存数据存储器的系统 | |
US11100083B2 (en) | Read only bufferpool | |
CN103577339A (zh) | 一种数据存储方法及系统 | |
CN1324481C (zh) | 一种用于网络处理器的数据老化方法 | |
CN104040481A (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
CN105404673A (zh) | 基于nvram的高效文件系统构建方法 | |
CN103164490A (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN106569751A (zh) | 一种多控制器缓存镜像方法及系统 | |
CN107102954B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070704 Termination date: 20150731 |
|
EXPY | Termination of patent right or utility model |