CN102426601B - 数据删除方法和装置 - Google Patents
数据删除方法和装置 Download PDFInfo
- Publication number
- CN102426601B CN102426601B CN 201110351788 CN201110351788A CN102426601B CN 102426601 B CN102426601 B CN 102426601B CN 201110351788 CN201110351788 CN 201110351788 CN 201110351788 A CN201110351788 A CN 201110351788A CN 102426601 B CN102426601 B CN 102426601B
- Authority
- CN
- China
- Prior art keywords
- list item
- bit
- data
- auxiliary table
- master meter
- 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
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据删除方法和装置。
背景技术
在处理各种网络业务的过程中,经常会用到各种表,如MAC地址表,IP路由表,VLAN表等。表项的维护会占用硬件或软件的处理时间。表项数目越大,维护表项占用的时间越久。硬件或软件耗费大量的处理能力维护表项,就会影响业务的处理,造成性能下降。大批量删除表项是维护表项的一个常用操作。在业务发生变化的时候,需要把原来的旧表项删除,例如某个端口进行业务切换的时候,需要在MAC地址表中将此端口下所有的旧MAC地址删除。
目前删除一条表项时至少要访问两次表,具体方法如下:先读取该表项的有效位,检查该确表项的有效位是否有效。如果该表项的有效位有效,将该表项的有效位置为无效并写回表中,此时该表项的删除操作完成。如果采用上述方法进行大批量删除表项,由于每个表项的删除都要至少访问两次表,删除表项需要耗费很长的时间,被占用旧表项的空间不能立即释放,新的数据无法增加到设备中,从而建立新业务的时间需要的时间较长。
发明内容
本发明实施例提供一种数据删除方法和装置,用以解决现有技术中大批量删除多个表项中数据时耗费时间较长的缺陷,实现了快速释放表项占用空间的目的。
本发明实施例提供一种数据删除方法。用于删除存储设备中存储的数据,所述存储设备包括主表和辅表,所述主表中每个表项包括数据位和至少两个有效位,所述至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而所述至少两个有效位中的其他有效位标识的有效性与所述当前有效位相反,所述辅表的每个表项包括配置位,用于记录从所述多个有效位中指出所述当前有效位的指示信息,所述方法包括:
接收用于删除数据的访问请求,所述访问请求中携带所述待删除数据的指示数据;
根据所述指示数据在所述主表中确定待访问的目标表项,根据所述主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项;
修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息,以改变所述目标表项的当前有效位。
本发明实施例提供一种数据删除装置,用于删除存储设备中存储的数据,所述存储设备包括主表和辅表,所述主表中每个表项包括数据位和至少两个有效位,所述至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而所述至少两个有效位中的其他有效位标识的有效性与所述当前有效位相反,所述辅表的每个表项包括配置位,用于记录从所述多个有效位中指出所述当前有效位的指示信息,所述装置包括:
接收模块,用于接收用于删除数据的访问请求,所述访问请求中携带所述待删除数据的指示数据;
辅表查找模块,用于根据所述指示数据在所述主表中确定待访问的目标表项,根据所述主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项;
第一删除模块,用于修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息,以改变所述目标表项的当前有效位。
本发明实施例提供一种存储设备,包括主表和辅表;
所述主表中包括多个表项,所述主表中每个表项包括数据位和至少两个有效位,所述至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而所述至少两个有效位中的其他有效位标识的有效性与所述当前有效位相反;
所述辅表的每个表项包括配置位,用于记录从所述多个有效位中指出所述当前有效位的指示信息。
本发明实施例提供的数据删除方法和装置,通过指示数据在主表中查找到待删除数据所在的目标表项后,根据主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项,从而在主表的多个有效位中确定目标表项的当前有效位。由于当前有效位标识所属表项的数据位中数据的有效性,除当前有效位的其它有效位标识的所属表项的有效性与当前有效性的标识相反,使所述目标表项的当前有效位改变成其它有效位后,可达到删除目标表项的数据位中数据的目的。在删除主表的多个表项的数据位中数据时,本发明实施例提供的数据删除方法不需要逐个访问主表中待删除数据所在的目标表项,而是在辅表中修改目标表项对应配置位中记录的指示信息,即刻使目标表项的数据位中数据无效,缩短了在大批量删除多个表项中数据时的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据删除方法流程图;
图2为本发明实施例提供的另一种数据删除方法流程图;
图3为本发明实施例提供的一种交换机中表结构示意图;
图4本发明实施例提供的又一种数据删除方法流程图;
图5本发明实施例提供的一种写数据方法流程图;
图6本发明实施例提供的一种数据查找方法流程图;
图7为本发明实施例提供的一种数据删除装置结构示意图;
图8为本发明实施例提供的另一种数据删除装置结构示意图;
图9为本发明实施例提供的又一种数据删除装置结构示意图;
图10为本发明实施例提供的再一种数据删除装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种数据删除方法流程图。本实施例提供的方法用于删除存储设备中存储的表项,存储设备包括主表和辅表。如图1所示,本实施例包括:
步骤11:接收用于删除数据的访问请求,访问请求中携带待删除数据的指示数据。
本发明实施例中待访问的主表中,每个表项包括数据位和至少两个有效位,表项的当前有效位为多个有效位中之一。当前有效位用于标识所属表项的数据位中数据的有效性,而至少两个有效位中的其他有效位标识的有效性与当前有效位相反。例如,每个表项包括两个有效位:第一有效位和第二有效位,当前有效位为第一有效位和第二有效位中之一。第一有效位为当前有效位时,用第一有效位标识所属表项的有效性,第二有效位标识的有效性与第一有效位标识的有效性相反。本发明实施例中辅表的每个表项包括配置位,配置位用于从主表的多个有效位中指出当前有效位的指示信息。
步骤12:根据指示数据在主表中确定待访问的目标表项,根据主表的表项和辅表的表项之间的对应关系,在辅表中查找目标表项对应的表项。
访问请求中携带待删除数据的指示数据,通过指示数据可在主表中查找到待删除数据所在的目标表项,该目标表项可以是一个表项,也可以是多个表项。查找到目标表项后,根据主表的表项和辅表的表项之间的对应关系,可在辅表中查找目标表项对应的表项。通过目标表项在辅表中对应表项的配置位,可确定目标表项的当前有效位。
步骤13:修改目标表项在辅表中对应表项的配置位记录的指示信息,以改变目标表项的当前有效位。
由于目前表项至少包括两个有效位,当前有效位表示所属表项的数据位中数据有效,除当前有效位的其它有效位标识的所属表项的有效性与当前有效性的标识相反,即除当前有效位的其它有效位标识的所属表项数据位中数据无效。因此,修改所述目标表项在所述辅表中对应表项的配置位所记录的指示信息,使所述目标表项的当前有效位改变成其它有效位后,可达到删除目标表项的数据位中数据的目的。
进一步,主表的每个表项还可包括用于指示所属表项在所述辅表中对应表项的辅表指示位,辅表中每个表项还可包括用于指示所属表项在主表中对应表项的主表指示位。如表1所示,主表中每个表项包括三个有效位:第一有效位、第二有效位和第三有效位。每个表项还包括表项指示位。如表2所示,辅表中每个表项包括配置位和表项指示位。主表中表项指示位的值为VLAN1的所有表项对应于辅表中表项指示位的值为VLAN1的一个表项。辅表中表项指示位的值为VLAN1的表项的配置位,用于存储主表中表项指示位的值为VLAN1的所有表项的当前有效位。辅表中表项指示位的值为VLAN1的表项的配置位存储的有效位为V0,则主表中表项指示位的值为VLAN1的所有表项的当前有效位为V0。
表1 为本发明实施例提供的一种主表结构
表2 为本发明实施例提供的一种辅表结构
表项指示位 | 配置位 |
VLAN1 | V0 |
VLAN2 | V1 |
VLANX | V1 |
主表中当前有效位用于标识所属表项的数据位中数据有效或无效。当前有效位标识有效时,表明所属表项的数据位中数据是有效的;当前有效位标识为无效时,表明所属表项的数据位中数据是无效的。可以用单个bit表示表项有效,例如用bit[1]或bit[0]分别表示表项的数据位中数据有效;也可以用编码的形式表示表项的数据位中数据有效,也可以使用其编码0b01、0b10或0b11表示表项的数据位中数据有效。在单bit表示表项有效的应用下,可以在配置位选择bit[0]作为当前有效位,也可以配置选择bit[1]作为当前有效位。在编码形式表示表项有效的应用下,可以配置编码0b01为表示表项的数据位中数据有效的编码,也可以配置0b10或0b11作为表示表项的数据位中数据有效的编码。
在本发明实施例中,未删除的数据对应的表项的当前有效位均标识有效,而其他有效位均标识无效。比如,参考表1和表2,表项指示位标志为VLAN1的表项的配置位为“V0”,如果表项指示位为VLAN1的表项对应的数据均未被删除过,则主表中的表项指示位为“VLAN1”的表项的第一有效位“V0”中应标识“有效”,而第二有效位“V1”、第三有效位“V2”应标识为无效。
在主表的每个表项包括辅表指示位且辅表的每个表项包括主表指示位时。可通过主表的辅表指示位和辅表的主表指示位指示主表的表项和所述辅表的表项之间的对应关系。另外,主表的表项也可以不包括辅表指示位,辅表的表项也可不包括主表指示位,通过其它方法指示主表的表项和所述辅表的表项之间的对应关系。根据所述主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项具体为:根据所述目标表项的辅表指示位的指示和所述辅表中每个表项的主表指示位的指示,在所述辅表中查找所述目标表项对应的表项。
进一步,在修改所述目标表项在所述辅表中对应表项的配置位所指示的有效位之后还可包括:在所述目标表项的数据位中写入新数据;修改所述目标表项在所述辅表中对应表项的配置位所指示的有效位,以改变所述目标表项的当前有效位。通过上述方法可使目标表项的数据位中新写入的数据有效。
进一步,在修改所述目标表项在所述辅表中对应表项的配置位所指示的有效位之后还可包括:遍历所述主表中每个表项,查找非当前有效位标识所属表项有效的待修改表项,修改所述待修改表项的非当前有效位的标识,使所述待修改表项的非当前有效位标识所属表项无效。通过上述方法可在目标表项的数据位中写入数据,并使写入的数据有效。
进一步,如果通过访问请求中指示数据确定待删除数据所在的目标表项为一个表项,还可通过以下方法实现删除目标表项的数据位中数据:根据所述目标表项在所述辅表中对应表项的配置位所指示的有效位,确定所述目标表项的当前有效位;根据所述目标表项的当前有效位标识的有效性,判断所述目标表项的数据位中数据的有效性,在所述目标表项的数据位中数据有效时,将所述当前有效位标识的有效性标识为无效。
本发明实施例提供的数据删除方法,通过指示数据在主表中查找到待删除数据所在的目标表项后,根据主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项,从而在主表的多个有效位中确定目标表项的当前有效位。由于当前有效位标识所属表项的数据位中数据的有效性,除当前有效位的其它有效位标识的所属表项的有效性与当前有效性的标识相反,使所述目标表项的当前有效位改变成其它有效位后,可达到删除目标表项的数据位中数据的目的。在删除主表的多个表项的数据位中数据时,本发明实施例提供的数据删除方法不需要逐个访问主表中待删除数据所在的目标表项,而是在辅表中修改目标表项对应配置位中记录的指示信息,即刻使目标表项的数据位中数据无效,缩短了在大批量删除多个表项中数据时的时间。
图2为本发明实施例提供的另一种数据删除方法流程图,图3为本发明实施例提供的一种交换机中表结构示意图。本实施例中辅表为交换机中的VLAN表,主表为MAC表。如图3中MAC表所示,MAC表的每个表项包括V0有效位、V1有效位、VLAN域和数据位,数据位包括MAC地址和PORT等信息。如图3中VLAN表所示,VLAN表中包括表项指示位:VALN域和配置位,VLAN表中不同表项的VLAN值不同。VLAN表中表项VLAN1的配置位中存储的值为V0时,则MAC表中VLAN域为VLAN1的所有表项中V0为当前有效位。
在初始化时,MAC表中各表项的V0和V1中的值均设置为0,即设置为无效。MAC表中各表项的当前有效位的值为0,表明各表项数据位中数据无效,即为空表项。VLAN表中,VLAN域不同的表项,配置位中存储的有效位可以相同也可以部分相同。例如VLAN表中所有配置位存储的有效位均为V0,或者部分表项的配置位存储的有效位为V0,其它部分表项的配置位存储的有效位为V1。
本实施例在大批量删除MAC表中表项之前,VLAN表中各配置位存储的有效位均为V0。MAC表中V0的值为1,即表示表项的数据位中数据有效,V1的值为0,即表示表项的数据位中数据无效。如图2所示,大批量删除MAC表中表项的方法包括:
步骤21:接收用于删除MAC表中数据的访问请求,访问请求中携带待删除数据的指示数据VLAN1。
步骤22:根据VLAN1在MAC表中确定待访问的目标表项后。根据所述目标表项的VLAN域的指示和所述辅表中每个表项的VLAN域的指示,在所述VLAN表中查找目标表项对应的表项。
访问请求中携带待删除数据的指示数据VLAN1,确定所述访问请求用于请求删除MAC表中VLAN域的值为VLAN1的所有表项的数据位中数据,在VLAN表中查找VLAN域的值为VLAN1的表项
步骤23:在VLAN表中,将VLAN域的值为VLAN1的表项中配置位存储的有效位,从V0修改为V1。
因为网络升级,VLAN1要被用作其他用途,VLAN1下的所有MAC地址都要被删除,即删除MAC表中VLAN域为VLAN1的所有表项。此时,在VLAN表中将VLAN1对应表项中的配置位中存储的有效位从V0修改为V1。由于MAC表中VLAN域为VLAN1的所有表项中V1的值为0,表示这些表项的数据位中数据无效,因此可释放MAC表中VLAN域为VLAN1的所有表项的数据位的空间。
在VLAN表中将VLAN域的值为VLAN1的表项中配置位存储的有效位从V0修改为V1后,可在MAC表中VLAN域为VLAN1的目标表项的数据位中写入新数据。在MAC表中VLAN域为VLAN1的目标表项的数据位中写入新数据后,在VLAN表中将VLAN域的值为VLAN1的表项中配置位存储的有效位从V1修改为V0,从而使MAC表中VLAN域为VLAN1的目标表项的数据位中新写入的数据有效。
另外步骤23之后,还可定期遍历MAC表中每个表项,查找非当前有效位V0的值为有效的表项,将这些表项V0的值修改为无效。具体地,在VLAN表中将VLAN1对应表项中的配置位中存储的有效位从V0修改为V1之后,将VLAN1对应表项中的配置位中存储的有效位再从V1修改为V0之前,将MAC表中VLAN域为VLAN1的所有表项中V0的值修改为0。如果MAC表中VLAN域为VLAN1的所有表项中V0的值为1,表示VLAN域为VLAN1的所有表项均有效,则无法在该些表项的数据位中写入新的数据,因此需要将这些表项中V0的值修改为无效。
如果MAC表中VLAN域为VLAN1的目标表项为一个表项,还可通过以下方法实现删除目标表项的数据位中数据:根据目标表项在VLAN表中对应表项的配置位所指示的有效位,确定所述目标表项的当前有效位。之后,根据所述目标表项的当前有效位标识的有效性,判断目标表项的数据位中数据的有效性,在目标表项的数据位中数据有效时,将所述当前有效位标识的有效性标识为无效。
图4本发明实施例提供的又一种数据删除方法流程图。本实施例提供另一种在MAC表中删除一个表项的方法。如图4所示,本实施例包括:
步骤40:接收访问主表的访问请求,该访问请求用于请求在该主表中删除一表项的数据位中数据。其中,该表项为目标表项,即待删除表项。
步骤41:根据待删除表项的VLAN域,在该VLAN表中查找该待删除表项对应的表项。
步骤42:根据待删除表项在VLAN表中对应表项的配置位中存储的有效位,确定该MAC表中该待删除表项的当前有效位。
步骤43:根据该待删除表项的当前有效位的值,判断该待删除表项的数据位中数据的有效性,在该待删除表项的数据位中数据有效时,将该待删除表项的当前有效位的值设置无效。
例如,在MAC表中删除VLAN域为VLAN1的一个表项。在VLAN表中查找VLAN1对应表项中的配置位。根据VLAN表中VLAN1对应表项中配置位存储的有效位V0,确定该MAC表中该待删除表项的当前有效位为V0。根据MAC表中待删除表项表项中V0的值,判断该待删除表项的数据位中数据的有效性。待删除表项中V0的值为1时,即待删除表项的数据位中数据有效,则将待删除表项中V0的值修改为0,使待删除表项的数据位中数据无效。
图5本发明实施例提供的一种写数据方法流程图。本实施例提供一种在MAC表中增加一个新表项的方法。如图5所示,本实施例提供的在MAC表中增加一个新表项的方法包括:
步骤50:接收访问主表的访问请求,该访问请求用于请求在该主表中一个空表项的数据位中写入数据,该空表项的当前有效位的值为无效。
步骤51:根据该空表项的VLAN域,在VLAN表中查找该空表项对应的表项。
步骤52:在MAC表中,根据该空表项在VLAN表中对应表项的配置位中存储的有效位,确定该MAC表中该空表项的当前有效位。
步骤53:在MAC表中,将该空表的当前有效位的值设置为有效,将该空表项中除当前有效位之外的其它有效位的值均设置为无效,并在该空表项的数据位中写入数据。
例如,在MAC表中增加VLAN域为VLAN1的一个空表项,空表项的当前有效位的值为0,表明该空表项的数据位中数据无效。根据VLAN1在VLAN表中查找该空表项对应配置位中存储的当前有效位V0。在MAC表中,将该空表项的当前有效位V0的值设置为1,将该空表项的另一有效位V1的值设置为0,同时在该空表项的数据位中写入数据。
图6本发明实施例提供的一种数据查找方法流程图。本实施例提供一种在MAC表中查找一个表项的方法。如图6所示,本实施例包括:
步骤60:接收访问主表的访问请求,该访问请求用于请求在主表中查找一表项的数据位中数据。
步骤61:根据被查找表项的VLAN域,在VLAN表中查找该被查找表项对应的表项。
步骤62:根据该被查找表项在VLAN表中对应表项的配置位中存储的有效位,确定该MAC表中该被查找表项的当前有效位。
步骤63:根据该被查找表项的当前有效位的值,判断该被查找表项的数据位中数据有效性,在该被查找表项的数据位中数据有效时,读取该被查找表项的数据位中数据。
例如,被查找表项的VLAN域为VLAN1,在VLAN表中查找VLAN1对应表项中的配置位。根据VLAN表中VLAN1对应表项中的配置位存储的有效位V0,确定该MAC表中该被查找表项的当前有效位为V0。根据MAC表中被查找表项中V0的值,判断该被查找表项的有效性。在该被查找表项有效时,读取该被查找表项的数据位中数据。
图7为本发明实施例提供的一种数据删除装置结构示意图。本实施例提供的数据删除装置用于删除存储设备中存储的数据。其中,存储设备包括主表和辅表,主表中每个表项包括数据位和至少两个有效位,至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而至少两个有效位中的其他有效位标识的有效性与当前有效位相反,辅表的每个表项包括配置位,用于记录从多个有效位中指出当前有效位的指示信息。
如图7所示,本实施例数据删除装置包括:接收模块71、辅表查找模块72和第一删除模块73。
接收模块71,用于接收用于删除数据的访问请求,访问请求中携带待删除数据的指示数据。
辅表查找模块72,用于根据接收模块71接收到的指示数据在主表中确定待访问的目标表项,根据主表的表项和辅表的表项之间的对应关系,在辅表中查找目标表项对应的表项。
第一删除模块73,用于修改辅表查找模块72查找到的目标表项在辅表中对应表项的配置位记录的指示信息,以改变目标表项的当前有效位。
以上各模块的具体工作机理参见图1对应实施例的描述,在此不再赘述。
进一步,上述主表的每个表项还包括用于指示所属表项在辅表中对应表项的辅表指示位,上述辅表中每个表项还包括用于指示所属表项在主表中对应表项的主表指示位;通过主表的辅表指示位和辅表的主表指示位,指示主表的表项和辅表的表项之间的对应关系。辅表查找模块72,具体用于根据接收模块71接收到的目标表项的辅表指示位的指示和辅表中每个表项的主表指示位的指示,在辅表中查找目标表项对应的表项。
进一步,如图8所示,在图7的基础上还可包括第二删除模块74。第二删除模块74,用于若辅表查找模块72在主表中确定的目标表项为一个表项,根据目标表项在辅表中对应表项的配置位所指示的有效位,确定目标表项的当前有效位;根据目标表项的当前有效位标识的有效性,判断目标表项的数据位中数据的有效性,在目标表项的数据位中数据有效时,将当前有效位标识的有效性标识为无效。
通过第二删除模块74可在MAC表中删除一个表项,具体工作机理参见图4对应实施例的描述,在此不再赘述。
进一步,如图9所示,在图7的基础上还可包括写入模块75。写入模块75,用于在第一删除模块73修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息之后,在目标表项的数据位中写入新数据,修改目标表项在辅表中对应表项的配置位所指示的有效位,以改变目标表项的当前有效位。
通过写入模块75可在MAC表中增加一个新表项,具体工作机理参见图5对应实施例的描述,在此不再赘述。
进一步,如图10所示,在图7的基础上还可包括修改模块76。修改模块76,用于在第一删除模块73修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息之后,遍历主表中每个表项,查找非当前有效位标识所属表项有效的待修改表项;修改待修改表项的标识,使待修改表项的非当前有效位标识所属表项无效。
可通过修改模块76定期遍历主表中每个表项,查找非当前有效位V0的值为有效的表项,将这些表项标识的有效性值修改为无效。
本发明实施例提供的数据删除装置,通过访问请求携带的指示数据在主表中查找到待删除数据所在的目标表项后,根据主表的表项和辅表的表项之间的对应关系,在辅表中查找目标表项对应的表项,从而在主表的多个有效位中确定目标表项的当前有效位。由于当前有效位标识所属表项的数据位中数据的有效性,除当前有效位的其它有效位标识的所属表项的有效性与当前有效性的标识相反,使目标表项的当前有效位改变成其它有效位后,可达到删除目标表项的数据位中数据的目的。在删除主表的多个表项的数据位中数据时,本发明实施例提供的数据删除方法不需要逐个访问主表中待删除数据所在的目标表项,而是在辅表中修改目标表项对应配置位中记录的指示信息,即刻使目标表项的数据位中数据无效,在目标表项的数据位中写入新数据。
本发明实施例还提供一种存储设备,包括主表和辅表。
其中,主表中包括多个表项,主表中每个表项包括数据位和至少两个有效位,至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而至少两个有效位中的其他有效位标识的有效性与当前有效位相反。
其中,辅表的每个表项包括配置位,用于记录从多个有效位中指出当前有效位的指示信息。
进一步,主表的每个表项还包括用于指示所属表项在辅表中对应表项的辅表指示位,辅表中每个表项还包括用于指示所属表项在主表中对应表项的主表指示位;通过主表的辅表指示位和辅表的主表指示位,指示主表的表项和辅表的表项之间的对应关系。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据删除方法,用于删除存储设备中存储的数据,其特征在于,所述存储设备包括主表和辅表,所述主表中每个表项包括数据位和至少两个有效位,所述至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而所述至少两个有效位中的其他有效位标识的有效性与所述当前有效位相反,所述辅表的每个表项包括配置位,用于记录从所述至少两个有效位中指出所述当前有效位的指示信息,所述方法包括:
接收用于删除数据的访问请求,所述访问请求中携带所述待删除数据的指示数据;
根据所述指示数据在所述主表中确定待访问的目标表项,根据所述主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项;
修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息,以改变所述目标表项的当前有效位。
2.根据权利要求1所述方法,其特征在于,所述主表的每个表项还包括用于指示所属表项在所述辅表中对应表项的辅表指示位,所述辅表中每个表项还包括用于指示所属表项在所述主表中对应表项的主表指示位;通过主表的辅表指示位和辅表的主表指示位,指示所述主表的表项和所述辅表的表项之间的对应关系;
所述根据所述主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项具体为:根据所述目标表项的辅表指示位的指示和所述辅表中每个表项的主表指示位的指示,在所述辅表中查找所述目标表项对应的表项。
3.根据权利要求1或2所述的方法,其特征在于,在根据所述指示数据在所述主表中确定待访问的目标表项之后,还包括:
若所述目标表项为一个表项,根据所述目标表项在所述辅表中对应表项的配置位所指示的有效位,确定所述目标表项的当前有效位;
根据所述目标表项的当前有效位标识的有效性,判断所述目标表项的数据位中数据的有效性,在所述目标表项的数据位中数据有效时,将所述当前有效位标识的有效性标识为无效。
4.根据权利要求1或2所述方法,其特征在于,在修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息之后,还包括:
在所述目标表项的数据位中写入新数据;
修改所述目标表项在所述辅表中对应表项的配置位所指示的有效位,以改变所述目标表项的当前有效位。
5.根据权利要求1或2所述方法,其特征在于,在修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息之后,还包括:
遍历所述主表中每个表项,查找非当前有效位标识所属表项有效的待修改表项;
修改所述待修改表项的非当前有效位的标识,使所述待修改表项的非当前有效位标识所属表项无效。
6.一种数据删除装置,用于删除存储设备中存储的数据,其特征在于,所述存储设备包括主表和辅表,所述主表中每个表项包括数据位和至少两个有效位,所述至少两个有效位中的一个为当前有效位,用于标识所属表项的数据位中数据的有效性,而所述至少两个有效位中的其他有效位标识的有效性与所述当前有效位相反,所述辅表的每个表项包括配置位,用于记录从所述至少两个有效位中指出所述当前有效位的指示信息,所述装置包括:
接收模块,用于接收用于删除数据的访问请求,所述访问请求中携带所述待删除数据的指示数据;
辅表查找模块,用于根据所述指示数据在所述主表中确定待访问的目标表项,根据所述主表的表项和所述辅表的表项之间的对应关系,在所述辅表中查找所述目标表项对应的表项;
第一删除模块,用于修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息,以改变所述目标表项的当前有效位。
7.根据权利要求6所述的装置,其特征在于,所述主表的每个表项还包括用于指示所属表项在所述辅表中对应表项的辅表指示位,所述辅表中每个表项还包括用于指示所属表项在所述主表中对应表项的主表指示位;通过主表的辅表指示位和辅表的主表指示位,指示所述主表的表项和所述辅表的表项之间的对应关系;
辅表查找模块,具体用于根据所述目标表项的辅表指示位的指示和所述辅表中每个表项的主表指示位的指示,在所述辅表中查找所述目标表项对应的表项。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
写入模块,用于在修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息之后,在所述目标表项的数据位中写入新数据;修改所述目标表项在所述辅表中对应表项的配置位所指示的有效位,以改变所述目标表项的当前有效位。
9.根据权利要求6或7所述的装置,其特征在于,还包括:
修改模块,用于在修改所述目标表项在所述辅表中对应表项的配置位记录的指示信息之后,遍历所述主表中每个表项,查找非当前有效位标识所属表项有效的待修改表项;修改所述待修改表项的非当前有效位的标识,使所述待修改表项的非当前有效位标识所属表项无效。
10.根据权利要求6或7所述的装置,其特征在于,还包括:
第二删除模块,用于若所述目标表项为一个表项,根据所述目标表项在所述辅表中对应表项的配置位所指示的有效位,确定所述目标表项的当前有效位;根据所述目标表项的当前有效位标识的有效性,判断所述目标表项的数据位中数据的有效性,在所述目标表项的数据位中数据有效时,将所述当前有效位标识的有效性标识为无效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110351788 CN102426601B (zh) | 2011-11-09 | 2011-11-09 | 数据删除方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110351788 CN102426601B (zh) | 2011-11-09 | 2011-11-09 | 数据删除方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102426601A CN102426601A (zh) | 2012-04-25 |
CN102426601B true CN102426601B (zh) | 2013-11-06 |
Family
ID=45960581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110351788 Expired - Fee Related CN102426601B (zh) | 2011-11-09 | 2011-11-09 | 数据删除方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102426601B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105869028A (zh) * | 2015-11-11 | 2016-08-17 | 乐卡汽车智能科技(北京)有限公司 | 订单回退处理系统、处理方法以及业务支撑系统 |
CN106649236B (zh) * | 2016-12-15 | 2019-05-07 | 平安科技(深圳)有限公司 | 修改提示的方法及装置 |
CN107391292B (zh) * | 2017-03-24 | 2020-09-15 | 北京瑞卓喜投科技发展有限公司 | 针对保持区块体数据实现勘误的区块链验证方法及系统 |
CN107800652A (zh) * | 2017-10-20 | 2018-03-13 | 深圳市楠菲微电子有限公司 | 在交换机中使用的协议访问方法及装置 |
CN108768859B (zh) * | 2018-05-17 | 2021-05-25 | 迈普通信技术股份有限公司 | 数据处理方法、装置及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713160A (zh) * | 2004-06-15 | 2005-12-28 | 冲电气工业株式会社 | 闪速存储器的写入方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100513331B1 (ko) * | 2002-06-19 | 2005-09-07 | 엘지전자 주식회사 | 재기록 가능 기록매체의 파일 임시 삭제 및 복구방법 |
-
2011
- 2011-11-09 CN CN 201110351788 patent/CN102426601B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713160A (zh) * | 2004-06-15 | 2005-12-28 | 冲电气工业株式会社 | 闪速存储器的写入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102426601A (zh) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102426601B (zh) | 数据删除方法和装置 | |
CN101826107B (zh) | 哈希数据处理方法和装置 | |
CN102541757B (zh) | 写缓存方法、缓存同步方法和装置 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN103617097B (zh) | 文件恢复方法及装置 | |
CN102779180A (zh) | 数据存储系统的操作处理方法,数据存储系统 | |
CN104156380A (zh) | 一种分布式存储器哈希索引方法及系统 | |
CN103049390A (zh) | 应用元数据的数据处理方法及存储系统 | |
CN102314485A (zh) | 哈希表添加、查找和删除方法及装置 | |
US20160170873A1 (en) | Information processing device | |
CN105938457A (zh) | 数据的过滤方法、装置及数据读取系统 | |
CN104933051B (zh) | 文件存储空间回收方法和装置 | |
CN109683825A (zh) | 一种存储系统在线数据压缩方法、装置及设备 | |
JP2017084338A (ja) | フラッシュメモリのフラッシングを改善する方法およびシステム | |
CN101799788A (zh) | 一种分级管理存储资源的方法及系统 | |
CN103914483A (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN104424219A (zh) | 一种数据文件的管理方法及装置 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN102375694B (zh) | 数据处理方法和装置 | |
CN103617124B (zh) | 一种闪存管理方法和装置 | |
CN104461384A (zh) | 一种数据写入方法及存储设备 | |
CN102243884B (zh) | 一种存储流媒体数据的方法及装置 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
CN101567014B (zh) | 一种设备信息的检索方法、装置和线卡 | |
CN105512325A (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: 20131106 Termination date: 20181109 |
|
CF01 | Termination of patent right due to non-payment of annual fee |