CN102725752B - 处理脏数据的方法及装置 - Google Patents

处理脏数据的方法及装置 Download PDF

Info

Publication number
CN102725752B
CN102725752B CN201180002177.XA CN201180002177A CN102725752B CN 102725752 B CN102725752 B CN 102725752B CN 201180002177 A CN201180002177 A CN 201180002177A CN 102725752 B CN102725752 B CN 102725752B
Authority
CN
China
Prior art keywords
tuple
storage block
cache
data
mapping table
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.)
Active
Application number
CN201180002177.XA
Other languages
English (en)
Other versions
CN102725752A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102725752A publication Critical patent/CN102725752A/zh
Application granted granted Critical
Publication of CN102725752B publication Critical patent/CN102725752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种处理脏数据的方法及装置。本发明实施例提供的方法包括:在内存中确定第一存储块,所述第一存储块的大小与cache的写规格相匹配;将内存中标记为脏数据的元组合并写入所述第一存储块;将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘。通过实施本发明,能够提升数据库***的数据吞吐量以及读写性能。

Description

处理脏数据的方法及装置
技术领域
本发明涉及存储技术领域,尤其涉及一种处理脏数据的方法及装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。在日常工作中,常常需要把某些相关的数据放进这样“仓库”,并根据管理的需要进行相应的处理。传统的数据库***等与存储相关的引擎工作原理是当数据在内存中被修改后,需要马上(或者在很短时间内)将修改后的数据写入磁盘,以保证事务的完整或数据库中数据的可靠性。在向磁盘写入所述修改后的数据的过程中,无法向内存写入数据,导致内存不得不暂停对外的业务,从而导致内存的吞吐量及***的读写性能都受到较大限制。
由于磁盘的读写速度远低于内存,很大程度上降低了***性能。目前,主要通过增加类似于固态硬盘(Solid State Disk,SSD)的闪存设备作为高速缓冲存储器(cache)提升***的读写性能:内存以SSD中的存储块为单位将修改后的数据写入SSD;在业务空闲期将cache的数据写入磁盘,从而提高***吞吐量及读写性能。其中,所述cache中已经修改过的、还未写入磁盘的数据就是脏数据。
当内存中短时间内有大量数据被修改、且修改的数据分散于不同存储块时,SSD完成一次数据块读写时仅能够对少量脏数据进行处理,导致数据库***的数据吞吐量及读写性能较低,造成***响应延迟甚至导致数据库崩溃。
发明内容
本发明的实施例提供了一种处理脏数据的方法及装置,能够提升数据库***的数据吞吐量以及读写性能。
本发明的实施例采用如下技术方案:
一方面,本发明实施例提供了一种处理脏数据的方法,包括:
在内存中确定第一存储块,所述第一存储块的大小与高速缓冲存储器cache的写规格相匹配;
将内存中标记为脏数据的元组合并写入所述第一存储块;
将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘。
另一方面,本发明实施例提供了一种处理脏数据的装置,包括:
确定单元,用于在内存中确定第一存储块,所述第一存储块的大小与cache高速缓冲存储器的写规格相匹配;
第一写单元,用于将内存中标记为脏数据的元组合并写入所述第一存储块;
第二写单元,用于将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘。
本发明实施例提供的处理脏数据的方法及装置,能够将内存中标记为脏数据的元组合并在一起写入cache,再通过所述cache将脏数据写入磁盘。本发明实施例提供的方法及装置可以提升数据库***的数据吞吐量以及读写性能,还能降低cache的读写使用频率,延长cache的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的方法的流程示意图;
图2为本发明另一实施例提供的方法的流程示意图;
图3为本发明又一实施例提供的装置的一个结构示意图;
图4为本发明又一实施例提供的装置的另一个结构示意图;
图5为本发明又一实施例提供的装置的又一个结构示意图;
图6为本发明又一实施例提供的装置的再一个结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的脏数据可以是cache中已经修改过的、还未写入磁盘的数据。本发明实施例可以应用在各种类型的数据库和数据仓库***中,包括DB数据库、Oracle数据库、SQL数据库等。
本发明一实施例提供了一种处理脏数据的方法,如图1所示,包括:
101、在内存中确定第一存储块,所述第一存储块的大小与cache的写规格相匹配。
102、将内存中标记为脏数据的元组合并写入所述第一存储块。
103、将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘。
本发明实施例提供的处理脏数据的方法,能够将内存中标记为脏数据的元组合并在一起写入cache,再通过所述cache将脏数据写入磁盘。本发明实施例提供的方法能够提升数据库***的数据吞吐量以及读写性能,还能降低cache的读写使用频率,从而延长cache的使用寿命。
本发明另一实施例还提供了一种脏数据的处理方法,如图2所示,包括:
201、在内存中确定第一存储块,所述第一存储块的大小与cache的写规格相匹配。
其中,所述cache是连接内存和磁盘的缓存设备;所述cache的写规格是指cache每刷新一次所能写入的最大数据量。一般的,cache的读写速度远大于内存的读写速度,为了提高脏数据的读写效率,可以在内存中确定与cache的写规格大小相同或接近的存储空间作为第一存储模块。具体的,可以将内存中的空闲空间进行整合,得到第一存储块;也可以在内存中预留符合第一存储块规格的存储空间作为第一存储块,此处不做限定。
优选的,所述cache可以是类似于固态硬盘(Solid State Disk,SSD)的闪存设备,但不仅限于此。
202、将内存中标记为脏数据的元组合并写入所述第一存储块。
值得说明的是,将内存中标记为脏数据的元组合并写入第一存储块之后,所述第一存储块中存储有标记为脏数据的每个元组所属的原始存储块信息、每个元组的数据以及指向每个元组数据的指针;其中,元组可以是存储脏数据的存储单元,还能够表示多个存储单元的联系,但不仅限于此。
具体的,当内存中短时间内有大量数据被修改、且修改的数据分散于不同的存储块时,所述第一存储块可以将标记为脏数据的数组整合在一起写入cache,从而提升脏数据的读写效率。
203、在内存中建立第一映射表,所述第一映射表用于记录所述第一存储块中各元组的时间版本号以及所述各元组所属的原始存储块信息。
具体的,当内存中的脏数据较多时,可能需要多次使用第一存储块将脏数据写入cache;从而在cache中将存储有多个不同版本的第一存储块信息。为了便于索引,可以根据写入cache的先后顺序对第一存储块中的信息进行编号,确定每个第一存储块信息的时间版本号,其中,同一版本的第一存储块信息中各元组的时间版本号相同,所述各元组的时间版本号用于表征该元组在cache中所属的第一存储块信息。
204、将所述第一存储块中的脏数据合并写入所述cache。
值得说明的是,当内存中标记为脏数据的存储空间大于所述第一存储块的存储空间时,需要通过多次使用第一存储块将内存中标记为脏数据的元组写入cache,从而在cache中存储不同版本的第一储存块信息。
在实际应用中,内存中标记为脏数据的元组往往可能进行过多次修改,从而在cache中往往会记录该元组的多个值;但是在将cache中的脏数据写入磁盘时仅需要将各元组的最终值写入磁盘;为了提高数据的读写效率,本实施例提供的方法还包括:
205、当内存中标记为脏数据的元组进行过多次修改时,修改该元组在所述第一映射表中的时间版本号信息,更新所述第一映射表。
206、根据所述第一映射表查找所述脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组。
具体的,可以采用但不限于如下方法确定有效元组:
按照各存储块版本的先后顺序,从最低版本的存储块开始依次读取各版本的第一存储块信息;根据所述时间版本号检测当前版本的第一存储块中的元组在较高版本的存储块中是否被再次修改;若是,则忽略当前元组;若否,则保留当前元组,将其标记为有效元组。
207、在业务空闲期将cache中的有效元组写入磁盘,同时删除所述有效元组在所述第一映射表中对应的时间版本号信息以及所述有效元组在所述cache中对应的第一存储块信息。
优选的,在将所述有效元组写入磁盘时,还可以根据所述第一映射表确定所述有效元组中各元组所属的原始存储块信息,将属于同一原始存储块的元组合并在一起写入磁盘,以提升数据的读写效率。
具体的,当***需要查找指定元组时,可以通过访问所述第一映射表,确定cache中是否包括所述指定元组数据;若否,则从磁盘中读取该元组数据;若是,则根据第一映射表确定包括该指定元组所述cache中包括所述指定元组的第一存储块信息,确定该指定元组的数据。
当***需要对整个存储块中的数据进行修改时,则从cache中获取相应的元组以覆盖磁盘中指定的存储块;当***需要对单个元组进行修改时,则按照本实施例提供的方法完成指定元组的修改。
值得说明的是,当发生异常情况(如断电、数据库***崩溃、或强制性关闭数据库服务器等)导致将脏数据写入磁盘的过程被迫终止时,可以通过如下步骤将cache中剩余脏数据写入磁盘:
在服务器重启后,根据所述cache中剩余版本的第一存储块信息重构所述第一映射表;
根据所述第一映射表查找所述cache中剩余脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
将所述有效元组写入磁盘,同时删除所述有效元组在所述第一映射表中对应的时间版本号信息以及所述有效元组在所述cache中对应的第一存储块信息。
此外,当根据用户指示选择关闭服务器时,可以将内存中的第一映射表存储于所述cache中,以使得服务器在重启后根据所述第一映射表将所述cache中剩余版本的第一存储块信息写入磁盘。其中,将cache中脏数据写入磁盘的方法参照本实施例,此处不再赘述。
本发明实施例提供的脏数据的处理方法,通过在内存中确定第一存储块,将内存中标记为脏数据的元组整合在一起写入cache;在业务空闲期将cache中的脏数据写入磁盘。与现有技术相比,当内存中短时间内有大量数据被修改、且修改的数据分散于不同的存储块时,本发明实施例提供的方法能够明显提升数据库***的数据吞吐量以及读写性能,还便于***对指定的元组数据进行查找或修改;同时还能够能降低cache的读写使用频率,延长cache的使用寿命。
本发明又一实施例提供了一种脏数据的处理装置,能够实现上述方法实施例,如图3所示,所述装置包括:
确定单元31,用于在内存中确定第一存储块,所述第一存储块的大小与cache的写规格相匹配;
第一写单元32,用于将内存中标记为脏数据的元组合并写入所述第一存储块;
第二写单元33,用于将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘。
进一步的,如图4所示,确定单元31还可以包括整合子单元311或预留子单元312,其中:
整合子单元311用于将内存中的空闲空间进行整合,得到所述第一存储块;
预留子单元312用于在内存中预留符合所述第一存储块规格的存储空间作为所述第一存储块。
具体的,第一写单元32还用于将内存中标记为脏数据的元组的相关信息写入所述第一存储块,所述元组的相关信息包括标记为脏数据的每个元组所属的原始存储块信息、每个元组的数据以及指向每个元组数据的指针。
进一步的,如图5所示,所述装置还包括处理单元34,第二写单元33具体包括第一处理子单元331、第一查找子单元332和第二处理子单元333,其中:
处理单元34用于在所述内存中建立第一映射表,所述第一映射表用于记录所述第一存储块中各元组的时间版本号以及所述各元组所属的原始存储块信息,其中,所述各元组的时间版本号用于表征该元组在所述cache中所属的第一存储块的版本信息。
具体的,所述处理单元34还用于当所述内存中标记为脏数据的元组进行过多次修改时,修改该元组在所述第一映射表中的时间版本号信息,更新所述第一映射表;
具体的,第一处理子单元331用于将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘;
第一查找子单元332用于当内存中标记为脏数据的元组进行过多次修改时,根据所述第一映射表查找所述脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
第二处理子单元333用于将第一查找子单元332确定的有效元组写入磁盘,并删除所述有效元组在所述cache中对应的元组数据信息;
则处理单元34还用于在第二处理子单元333将所述有效元组写入磁盘后,删除所述有效元组在第一映射表中对应的时间版本号信息。
则所述处理单元34还用于在所述第二处理子单元333将所述有效元组写入磁盘后,删除所述有效元组在所述第一映射表中对应的时间版本号信息。
进一步的,如图6所示,第二写单元33还可以包括第二查找子单元334和第三处理子单元335,所述装置还包括第一查找单元35和第二查找单元36,其中:
第二查找子单元334用于根据所述第一映射表确定所述有效元组中各元组所属的原始存储块信息;
第二处理子单元335用于将属于同一原始存储块的元组合并写入磁盘,并删除该元组在所述cache中对应的元组数据信息。
第一查找单元35用于当需要查找指定元组时,查找所述第一映射表,确定所述cache中是否包括所述指定元组;
第二查找单元36用于当所述cache中包括所述指定元组时,根据第一映射表确定所述cache中包括该指定元组数据最终值的第一存储块信息,确定所述指定元组的数据。
根据图6所述的装置,进一步的,所述处理单元34还用于当发生异常情况导致将脏数据写入磁盘的过程被迫终止时,在服务器重启后根据所述cache中剩余版本的第一存储块信息重构所述第一映射表;
第一查找子单元332还用于根据所述处理单元34确定的第一映射表查找所述cache中剩余脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
第二处理子单元333还用于将所述第一查找子单元332确定的有效元组写入磁盘,并删除所述有效元组在所述cache中对应的元组数据信息;
处理单元34还用于在第二处理子单元333将所述有效元组写入磁盘后,删除所述有效元组在所述第一映射表中对应的时间版本号信息。
根据图6所述的装置,进一步的,处理单元34还用于当服务器关闭时,将所述内存中的第一映射表存储于所述cache中,以使得所述服务器在重启后根据所述第一映射表将所述cache中剩余版本的第一存储块信息写入磁盘。
本发明实施例提供的脏数据的处理装置,通过确定单元31在内存中确定第一存储块,通过第一写单元32将内存中标记为脏数据的元组整合在一起写入第一存储块;由第二写单元33在业务空闲期将第一存储块中的脏数据写入cache,通过所述cache将所述脏数据写入磁盘。与现有技术相比,当内存中短时间内有大量数据被修改、且修改的数据分散于不同的存储块时,本发明实施例提供的装置能够明显提升数据库***的数据吞吐量以及读写性能,还便于***对指定的元组数据进行查找或修改;同时还能够能降低cache的读写使用频率,延长cache的使用寿命。
本发明实施例还提供了一种存储器,所述存储器包括图3至图6所述的装置以及处理器,所述处理器用于控制所述处理脏数据的装置。该存储器能够处理脏数据。值得说明的是,所述存储器可以用作内存,也可以用作cache,此处不做限定。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种处理脏数据的方法,其特征在于,包括:
在内存中确定第一存储块,所述第一存储块的大小与高速缓冲存储器cache的写规格相匹配,所述cache的写规格是指所述cache每刷新一次所能写入的最大数据量;
将内存中标记为脏数据的元组合并写入所述第一存储块;
在所述内存中建立第一映射表,所述第一映射表用于记录所述第一存储块中各元组的时间版本号以及所述各元组所属的原始存储块信息,其中,所述各元组的时间版本号用于表征该元组在所述cache中所属的第一存储块信息;
将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘;
当所述内存中标记为脏数据的元组进行过多次修改时,所述方法还包括:
修改该元组在所述第一映射表中的时间版本号信息,更新所述第一映射表;
则所述将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘包括:
根据所述第一映射表查找所述脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
将所述有效元组写入磁盘,删除所述有效元组在所述第一映射表中对应的时间版本号信息以及所述有效元组在所述cache中对应的元组数据信息。
2.根据权利要求1所述的方法,其特征在于,所述在内存中确定第一存储块包括:
将内存中的空闲空间进行整合,得到所述第一存储块;或者
在内存中预留符合所述第一存储块规格的存储空间作为所述第一存储块。
3.根据权利要求2所述的方法,其特征在于,所述将内存中标记为脏数据的元组合并写入所述第一存储块之后,所述第一存储块中存储有标记为脏数据的每个元组所属的原始存储块信息、每个元组的数据以及指向每个元组数据的指针。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述将所述有效元组写入磁盘包括:
根据所述第一映射表确定所述有效元组中各元组所属的原始存储块信息;
将属于同一原始存储块的元组合并写入磁盘,并删除该元组在所述cache中对应的元组数据信息。
5.根据权利要求1至3中任一项所述的方法,其特征在于,当需要查找指定元组时,所述方法还包括:
访问所述第一映射表,确定所述cache中是否包括所述指定元组;
当所述cache中包括所述指定元组时,根据第一映射表确定所述cache中包括该指定元组数据最终值的第一存储块信息,确定所述指定元组的数据。
6.根据权利要求1至3中任一项所述的方法,其特征在于,当发生异常情况导致将脏数据写入磁盘的过程被迫终止时,所述方法还包括:
在服务器重启后,根据所述cache中剩余版本的第一存储块信息重构所述第一映射表;
根据所述第一映射表查找所述cache中剩余脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
将所述有效元组写入磁盘,删除所述有效元组在所述第一映射表中对应的时间版本号信息以及所述有效元组在所述cache中对应的元组数据信息。
7.根据权利要求1至3中任一项所述的方法,其特征在于,当服务器关闭时,所述方法还包括:
将内存中的第一映射表存储于所述cache中,以使得服务器在重启后根据所述第一映射表将所述cache中剩余版本的第一存储块信息写入磁盘。
8.一种处理脏数据的装置,其特征在于,包括:
确定单元,用于在内存中确定第一存储块,所述第一存储块的大小与高速缓冲存储器cache的写规格相匹配,所述cache的写规格是指所述cache每刷新一次所能写入的最大数据量;
第一写单元,用于将内存中标记为脏数据的元组合并写入所述第一存储块;
处理单元,用于在所述内存中建立第一映射表,所述第一映射表用于记录所述第一存储块中各元组的时间版本号以及所述各元组所属的原始存储块信息,其中,所述各元组的时间版本号用于表征该元组在所述cache中所属的第一存储块信息;
第二写单元,用于将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘;
所述处理单元还用于当所述内存中标记为脏数据的元组进行过多次修改时,修改该元组在所述第一映射表中的时间版本号信息,更新所述第一映射表;
所述第二写单元包括第一处理子单元、第一查找子单元和第二处理子单元,其中:
所述第一处理子单元用于将所述第一存储块中的脏数据写入所述cache,通过所述cache将所述脏数据写入磁盘;
所述第一查找子单元用于当所述内存中标记为脏数据的元组进行过多次修改时,根据所述第一映射表查找所述脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
所述第二处理子单元用于将所述第一查找子单元确定的有效元组写入磁盘,并删除所述有效元组在所述cache中对应的元组数据信息;
所述处理单元还用于在所述第二处理子单元将所述有效元组写入磁盘后,删除所述有效元组在所述第一映射表中对应的时间版本号信息。
9.根据权利要求8所述的装置,其特征在于,所述确定单元包括整合子单元或预留子单元,其中:
所述整合子单元用于将内存中的空闲空间进行整合,得到所述第一存储块;
所述预留子单元用于在内存中预留符合所述第一存储块规格的存储空间作为所述第一存储块。
10.根据权利要求9所述的装置,其特征在于,所述第一写单元还用于将内存中标记为脏数据的元组的相关信息写入所述第一存储块,所述元组的相关信息包括标记为脏数据的每个元组所属的原始存储块信息、每个元组的数据以及指向每个元组数据的指针。
11.根据权利要求8-10中任一项所述的装置,其特征在于,所述第二写单元还包括第二查找子单元和第三处理子单元,其中:
所述第二查找子单元用于根据所述第一映射表确定所述有效元组中各元组所属的原始存储块信息;
所述第三处理子单元用于将属于同一原始存储块的元组合并写入磁盘,并删除该元组在所述cache中对应的元组数据信息。
12.根据权利要求8至10中任一项所述的装置,其特征在于,还包括:
第一查找单元,用于当需要查找指定元组时,访问所述第一映射表,确定所述cache中是否包括所述指定元组;
第二查找单元,用于当所述cache中包括所述指定元组时,根据第一映射表确定所述cache中包括该指定元组数据最终值的第一存储块信息,确定所述指定元组的数据。
13.根据权利要求8至10中任一项所述的装置,其特征在于,所述处理单元还用于当发生异常情况导致将脏数据写入磁盘的过程被迫终止时,在服务器重启后根据所述cache中剩余版本的第一存储块信息重构所述第一映射表;
所述第一查找子单元还用于根据所述处理单元重构的第一映射表查找所述cache中剩余脏数据中各元组数据最终值的时间版本号,确定所述cache中与所述时间版本号对应的第一存储块信息,并将该第一存储块信息中存储有所述各元组数据最终值的元组进行标记,将其设置为有效元组;
所述第二处理子单元还用于将所述第一查找子单元确定的有效元组写入磁盘,并删除所述有效元组在所述cache中对应的元组数据信息;
所述处理单元还用于在所述第二处理子单元将所述有效元组写入磁盘后,删除所述有效元组在所述第一映射表中对应的时间版本号信息。
14.根据权利要求8至10中任一项所述的装置,其特征在于,所述处理单元还用于当服务器关闭时,将所述内存中的第一映射表存储于所述cache中,以使得所述服务器在重启后根据所述第一映射表将所述cache中剩余版本的第一存储块信息写入磁盘。
CN201180002177.XA 2011-10-20 2011-10-20 处理脏数据的方法及装置 Active CN102725752B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/081046 WO2012083754A1 (zh) 2011-10-20 2011-10-20 处理脏数据的方法及装置

Publications (2)

Publication Number Publication Date
CN102725752A CN102725752A (zh) 2012-10-10
CN102725752B true CN102725752B (zh) 2014-07-16

Family

ID=46313122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180002177.XA Active CN102725752B (zh) 2011-10-20 2011-10-20 处理脏数据的方法及装置

Country Status (2)

Country Link
CN (1) CN102725752B (zh)
WO (1) WO2012083754A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593352B (zh) * 2012-08-15 2016-10-12 阿里巴巴集团控股有限公司 一种海量数据清洗方法及装置
CN103218430B (zh) * 2013-04-11 2016-03-02 华为技术有限公司 控制数据写入的方法、***及设备
CN103513941B (zh) * 2013-10-18 2016-08-17 华为技术有限公司 写入数据的方法及装置
CN103714121B (zh) * 2013-12-03 2017-07-14 华为技术有限公司 一种索引记录的管理方法及装置
CN103631940B (zh) * 2013-12-09 2017-02-08 中国联合网络通信集团有限公司 一种应用于hbase数据库的数据写入方法及***
CN104331452B (zh) * 2014-10-30 2017-07-28 北京思特奇信息技术股份有限公司 一种处理脏数据的方法及***
CN105763351B (zh) * 2014-12-17 2019-09-03 华为技术有限公司 部署增值业务的方法、转发设备、检测设备和管理设备
WO2017113247A1 (zh) * 2015-12-30 2017-07-06 华为技术有限公司 降低内存功耗的方法及计算机设备
CN108319609A (zh) * 2017-01-16 2018-07-24 医渡云(北京)技术有限公司 Etl数据处理方法及***、数据清洗方法及装置
CN106802950A (zh) * 2017-01-16 2017-06-06 郑州云海信息技术有限公司 一种分布式文件***小文件写缓存优化的方法
CN108399047B (zh) * 2017-02-06 2022-11-29 中兴通讯股份有限公司 一种闪存文件***及其数据管理方法
CN110704468A (zh) * 2019-10-17 2020-01-17 武汉微派网络科技有限公司 数据更新方法、装置及控制器
CN111563053B (zh) * 2020-07-10 2020-12-11 阿里云计算有限公司 处理Bitmap数据的方法以及装置
CN112115073A (zh) * 2020-09-04 2020-12-22 北京易捷思达科技发展有限公司 应用于Bcache的回收方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851677A (zh) * 2005-11-25 2006-10-25 华为技术有限公司 嵌入式处理器***及其数据操作方法
CN101916290A (zh) * 2010-08-18 2010-12-15 中兴通讯股份有限公司 内存数据库的管理方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100565477C (zh) * 2007-12-06 2009-12-02 浙江科技学院 一种NAND Flash存储器的动态管理方法
JP5454177B2 (ja) * 2010-02-01 2014-03-26 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置制御方法
WO2011114384A1 (en) * 2010-03-19 2011-09-22 Hitachi, Ltd. Storage system and method for changing configuration of cache memory for storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851677A (zh) * 2005-11-25 2006-10-25 华为技术有限公司 嵌入式处理器***及其数据操作方法
CN101916290A (zh) * 2010-08-18 2010-12-15 中兴通讯股份有限公司 内存数据库的管理方法和装置

Also Published As

Publication number Publication date
CN102725752A (zh) 2012-10-10
WO2012083754A1 (zh) 2012-06-28

Similar Documents

Publication Publication Date Title
CN102725752B (zh) 处理脏数据的方法及装置
CN110149803B (zh) 数据存储方法、***及终端设备
US8799601B1 (en) Techniques for managing deduplication based on recently written extents
US8782324B1 (en) Techniques for managing placement of extents based on a history of active extents
EP3746906A1 (en) Cache for efficient record lookups in an lsm data structure
WO2017185579A1 (zh) 一种数据存储方法及装置
KR20010082032A (ko) 영구적이고 확실한 저장 할당을 위한 시스템 및 방법
CN110515957A (zh) 一种区块链数据存储的方法、***、设备及可读存储介质
CN110309233A (zh) 数据存储的方法、装置、服务器和存储介质
WO2017161540A1 (zh) 数据查询的方法、数据对象的存储方法和数据***
CN103186622A (zh) 一种全文检索***中索引信息的更新方法以及装置
CN107817945A (zh) 一种混合内存结构的数据读取方法和***
US11625503B2 (en) Data integrity procedure
CN115794669A (zh) 一种扩展内存的方法、装置及相关设备
US20170322960A1 (en) Storing mid-sized large objects for use with an in-memory database system
US10747773B2 (en) Database management system, computer, and database management method
CN109407985B (zh) 一种数据管理的方法以及相关装置
KR101806394B1 (ko) 모바일 dbms환경에서 트랜잭션에 특화된 색인 캐시의 구조를 갖는 데이터 처리 방법
CN102955787A (zh) 一种文件目录表的使用方法、文件写入方法及应用的主电路板、cpu和外部存储器
CN109408416B (zh) 一种地址映射表项页管理方法及装置
CN110532228A (zh) 一种区块链数据读取的方法、***、设备及可读存储介质
Xu et al. Building a fast and efficient LSM-tree store by integrating local storage with cloud storage
CN111831691A (zh) 一种数据读写方法及装置、电子设备、存储介质
CN108804571B (zh) 一种数据存储方法、装置以及设备
CN202443462U (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
TR01 Transfer of patent right

Effective date of registration: 20211220

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: xFusion Digital Technologies Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right