CN104615594A - 一种数据更新方法及装置 - Google Patents

一种数据更新方法及装置 Download PDF

Info

Publication number
CN104615594A
CN104615594A CN201310536126.6A CN201310536126A CN104615594A CN 104615594 A CN104615594 A CN 104615594A CN 201310536126 A CN201310536126 A CN 201310536126A CN 104615594 A CN104615594 A CN 104615594A
Authority
CN
China
Prior art keywords
data
data block
external memory
memory storage
identification
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
CN201310536126.6A
Other languages
English (en)
Other versions
CN104615594B (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.)
Beijing Oceanbase Technology Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310536126.6A priority Critical patent/CN104615594B/zh
Publication of CN104615594A publication Critical patent/CN104615594A/zh
Application granted granted Critical
Publication of CN104615594B publication Critical patent/CN104615594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据更新方法及装置,用以解决现有技术中的数据更新方法会降低存储系统的磁盘读写性能的问题。该方法将数据集合划分为若干数据块,针对每个数据块,当该数据块需要进行合并时,读取该数据块以及相应的增量数据进行合并,当该数据块不需要合并时不读取该数据块。上述方法无需将一个数据集合中的全部数据都从磁盘中读取到内存进行合并,只需读取需要合并的数据块即可,而且合并后的数据也不是数据集合中的全部数据,因此合并后重新写入磁盘中的数据也不是数据集合中的全部数据,从而降低了从磁盘中读写数据的数据量,可有效提高存储系统的磁盘读写性能。

Description

一种数据更新方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据更新方法及装置。
背景技术
目前,大多数存储系统(如数据库等)都会因其保存的数据被操作(如增加新数据、更改数据、删除数据等)而需要更新数据。
在现有技术中,存储系统一般采用归并合并的方法进行数据更新,具体如图1所示。
图1为现有技术中采用归并合并的方法进行数据更新的过程,具体包括以下步骤:
S101:预先将存储系统的磁盘中保存的所有数据按一定规则划分为各数据集合。
例如,按照数据标识进行划分,将磁盘中保存的数据标识1~10对应的数据划分为一个数据集合,数据标识11~20对应的数据划分为一个数据集合。
S102:针对划分的每个数据集合,在存储系统的内存中设置该数据集合对应的数据存储空间。
继续沿用上例,对于数据标识1~10这个数据集合,预先在内存中设置该数据集合对应的数据存储空间。
S103:如果该数据集合中的数据被操作,则将操作后的数据作为增量数据写入到该数据集合在内存中对应的数据存储空间。
继续沿用上例,当数据标识为1~10对应的数据中的任意一个或几个被操作时,并不修改磁盘中保存的相应数据,而是将修改后的数据作为增量数据写入到该数据集合在内存中对应的数据存储空间中。
S104:每隔一段时间或者当该数据集合对应的该数据存储空间中写入的数据的数据量达到一定阈值时,将该数据存储空间中写入的增量数据作为该数据集合对应的增量集合并写入到磁盘中。
由于该数据集合对应的数据存储空间是有限的,因此,当数据存储空间中写入的增量数据的数据量达到一定阈值时,就将该数据存储空间中写入的所有增量数据作为该数据集合对应的一个增量集合写入到磁盘中,并删除该数据存储空间中的数据,继续将该数据集合中被操作的数据作为增量数据写入到该存储空间中。这样,随着时间的推移,该数据集合对应的增量集合的数量会越来越多。
S105:当该数据集合对应的增量集合的数量达到一定数量时,将该数据集合以及该数据集合对应的所有增量集合中的数据读取到内存中进行合并。
假设上述一定数量设定为3,则当该数据集合对应的增量集合已经达到3个时,将该数据集合中的数据以及该数据集合对应的3个增量集合中的增量数据从磁盘中读取到内存中,并合并。在合并时,对于同一个数据标识对应的数据,以最后一次操作的该数据标识对应的数据为准。
S106:将合并后的数据集合重新写入到磁盘中。
然而,在实际应用场景中,对于一个数据集合中的数据来说,在一段时间内,该数据集合中实际被操作的数据可能很少,一般一个数据集合中只有3%的数据会被操作,而现有技术中采用归并合并进行数据更新时,无论一个数据集合中有多少数据需要更新,都要在步骤S105中把该数据集合中所有的数据从磁盘中读取到内存中进行合并,再在步骤S106中将合并后的数据重新写入磁盘中,这就会降低存储系统的磁盘读写性能。
发明内容
本申请实施例提供一种数据更新方法及装置,用以解决现有技术中的数据更新方法会降低存储系统的磁盘读写性能的问题。
本申请实施例提供的一种数据更新方法,包括:
将数据集合中的数据划分为至少两个数据块;
针对每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识;
若是,则将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,并将合并后的数据重新作为数据块写入外部存储器中;
否则不从外部存储器中读取该数据块包含的数据;
其中,所述外部存储器包括磁盘,所述内部存储器包括内存。
本申请实施例提供的一种数据更新装置,包括:
划分模块,用于将数据集合中的数据划分为至少两个数据块;
判断模块,用于针对所述划分模块划分的每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识;
读取合并模块,用于在所述判断模块的判断结果为是时,将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,并将合并后的数据重新作为数据块写入外部存储器中;在所述判断模块的判断结果为否时,不从外部存储器中读取该数据块包含的数据;其中,所述外部存储器包括磁盘,所述内部存储器包括内存。
本申请实施例提供一种数据更新方法及装置,该方法将数据集合划分为若干数据块,针对每个数据块,当该数据块需要进行合并时,读取该数据块以及相应的增量数据进行合并,当该数据块不需要合并时不读取该数据块。上述方法无需将一个数据集合中的全部数据都从磁盘中读取到内存进行合并,只需读取需要合并的数据块即可,而且合并后的数据也不是数据集合中的全部数据,因此合并后重新写入磁盘中的数据也不是数据集合中的全部数据,从而降低了从磁盘中读写数据的数据量,可有效提高存储系统的磁盘读写性能。
附图说明
图1为现有技术中采用归并合并的方法进行数据更新的过程;
图2为本申请实施例提供的数据更新过程;
图3为本申请实施例提供的将外部存储器的存储空间划分为至少两个子空间的示意图;
图4为本申请实施例提供的索引文件结构示意图;
图5为本申请实施例提供的数据更新装置结构示意图。
具体实施方式
本申请实施例中将数据集合划分为若干数据块,在进行数据更新时仅将需要进行合并的数据块从磁盘中读取到内存中,并在合并后重新写入磁盘,而无需读取一个数据集合中的全部数据,因此降低了从磁盘中读写数据的数据量,可有效提高存储系统的磁盘读写性能。
下面结合说明书附图,对本申请实施例进行详细描述。
图2为本申请实施例提供的数据更新过程,具体包括以下步骤:
S201:将数据集合中的数据划分为至少两个数据块。
在本申请实施例中,对于外部存储器中存储的一个数据集合,预先将该数据集合中的数据划分为至少两个数据块,并为每个数据块设置对应的数据块标识。其中,本申请实施例所述的外部存储器是指掉电不丢失数据的存储器,包括:磁盘、固态硬盘等存储器。
具体的,将数据集合中的数据划分为至少两个数据块时,可预先将外部存储器的存储空间划分为至少两个子空间,采用划分后的若干个子空间存储该数据集合中的数据,从而,一个数据块包含的数据就是一个子空间中存储的数据,如图3所示。
图3为本申请实施例提供的将外部存储器的存储空间划分为至少两个子空间的示意图,在图3中,整个外部存储器的存储空间被划分成了若干个子空间,这些子空间的大小可以相同。
对于一个数据集合来说,采用这些子空间存储该数据集合中的数据,一个子空间中存储的数据就是一个数据块。如图3所示,子空间3存储了该数据集合中的一部分数据,这部分数据就是该数据集合中的一个数据块,数据块标识为block1,子空间4存储了该数据集合中的另一部分数据,这另一部分数据就是该数据集合中的另一个数据块,数据块标识为block2。子空间5~N未存储任何数据,也就是说子空间5~N是空闲的子空间。
需要说明的是,对于一个数据集合来说,用于存储该数据集合中的各数据块的子空间可以是连续的,也可以是不连续的。
如图3所示的各子空间中还可以包括一个数据文件头和位图,分别存储在子空间1和子空间2中。
数据文件头中包含子空间数量信息(即,外部存储器的存储空间共被划分成了多少个子空间)、每个子空间的大小信息、位图在外部存储器中的位置信息(即,位图保存在哪个子空间上)、位图的大小信息、用于存储数据块的子空间在该外部存储器中的位置信息、整个外部存储器的存储空间的大小信息、已使用的空间大小信息等。
位图则包含各子空间是否被使用的标记,例如,对于一个子空间,如果该子空间已经存储了数据(存储的数据可能是数据文件头、位图或某个数据集合中的数据块),则位图中包含的该子空间的标记为1,如果该子空间未存储任何数据,则位图中包含的该子空间的标记为0。
进一步的,将外部存储器的存储空间划分为至少两个子空间,并采用子空间存储数据集合中的数据后,还可生成索引文件,该索引文件包含数据集合中每个数据块的数据块标识、每个数据块包含的数据的数据标识,以及每个数据块所在的子空间在该外部存储器中的位置信息,如图4所示。
图4为本申请实施例提供的索引文件结构示意图,在图4所示的索引文件中包括各数据集合的索引信息,一个数据集合的索引信息中包含该数据集合中每个数据块的数据块标识、每个数据块包含的数据的数据标识,以及每个数据块所在的子空间在外部存储器中的位置信息。
如图4所示的索引文件中还可包括一个索引文件头,该索引文件头中可以包括各数据集合的集合标识、各数据集合的索引信息在该索引文件中的位置信息等。
通过如图4所示的索引文件,则可在外部存储器中定位到任意一个数据集合中的任意一个数据块。
S202:针对每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识,若是,则执行步骤S203,否则执行步骤S204。
由于一个数据在被操作之后,外部存储器中保存的该数据是不会被修改的,而操作后的数据是作为增量数据保存在另外一个存储器中的,但外部存储器中保存的原始数据的数据标识与操作后的增量数据的数据标识是相同的,因此,在本申请实施例中,可周期性的针对每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识,若是,则说明该数据块需要进行更新,否则,说明该数据块不需要进行更新。
具体的,生成了上述如图4所示的索引文件后,数据更新装置可周期性的将索引文件读取到内存中,并针对该索引文件中包含的每个数据块标识,确定该数据块标识对应的数据块包含的数据的数据标识,并判断增量数据的数据标识中是否存在确定的数据标识。
例如,读取索引文件后,针对集合标识为J1的数据集合,确定该数据集合中包含数据块标识为block1和block2的两个数据块,其中,数据块标识为block1的数据块包含数据标识为d01~d10的数据,则数据更新装置判断增量数据的数据标识中是否包含d01~d10中的一个或几个,若是,则说明block1对应的数据块需要更新,否则说明block1对应的数据块不需要更新。
需要说明的是,步骤S202中数据更新装置并未读取外部存储器存储的数据集合中的数据,而是根据索引文件中的数据标识判断各数据块是否需要更新。
S203:将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,并将合并后的数据重新作为数据块写入外部存储器中。
当数据更新装置判定增量数据的数据标识中存在该数据块包含的数据的数据标识时,则从外部存储器中读取该数据块中包含的数据以及相应的增量数据,并在内部存储器中合并该数据块与相应的增量数据,最后将合并后的数据重新作为数据块写入外部存储器中。其中,本申请实施例所述的内部存储器是指掉电丢失数据的存储器,包括内存等。
进一步的,基于如图4所示的索引文件,在步骤S203中,数据更新装置可根据该索引文件中包含的该数据块所在的子空间在外部存储器中的位置,将外部存储器中相应位置的子空间中存储的数据作为该数据块包含的数据读取到内部存储器中,并将数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中,最后在内部存储器中对读取的该数据块包含的数据和增量数据进行合并。
在将合并后的数据重新作为数据块写入外部存储器中时,数据更新装置可在划分的各子空间中选择未使用的子空间,将合并后的数据重新作为数据块写入选择的子空间中,并根据选择的子空间在外部存储器中的位置更新索引文件。
继续沿用上例,假设对于数据块标识为block1的数据块,数据更新装置在步骤S202中判定存储数据标识与该数据块中包含的数据的数据标识相同的增量数据,则说明该数据块需要更新,因此根据索引文件中包含的该数据块标识为block1的数据块所在的子空间的位置,将外部存储器相应位置的子空间上存储的数据读取到内部存储器,即,读取数据块标识为block1的数据块包含的数据到内部存储器上,并将相应的增量数据也读取到内部存储器上,在内部存储器中合并读取的数据块标识为block1的数据块包含的数据和增量数据。
然后,数据更新装置可根据如图3所示的位图,选择未使用的子空间,将合并后的数据重新作为数据块写入选择的子空间中。其中,如果一个子空间不足以存储合并后的数据,则可选择多个未使用的子空间存储合并后的数据,一个子空间中存储的数据仍作为一个数据块,也就是说,一个数据块更新后可能会变成多个数据块。
最后,数据更新装置可将合并前该数据块所在的子空间释放掉,具体可以将合并前该数据块所在的子空间在如图3所示的位图中的标记更改为未使用,并根据合并后得到的一个或多个数据块在外部存储器中的位置更新索引文件。在更新索引文件时,具体可以为合并后得到的一个或多个数据块设置数据块标识,并将设置的数据块标识、合并后得到的各数据块包含的数据的数据标识、合并后得到的各数据块所在的子空间在外部存储器中的位置添加到合并前该数据块所属的数据集合的索引信息中,在该索引信息中删除合并前该数据块的数据块标识、合并前该数据块中包含的数据的数据标识、合并前该数据块所在的子空间在外部存储器中的位置。
S204:不从外部存储器中读取该数据块包含的数据。
当数据更新装置判定增量数据的数据标识中不存在该数据块包含的数据的数据标识时,则不从外部存储器中读取该数据块包含的数据。
通过上述方法,对于一个数据集合来说,在合并时并不需要将该数据集合中所有的数据从外部存储器读取到内部存储器,只需要读取该数据集合中需要合并的数据块即可,相应的合并后重新写入外部存储器时也只需写入合并后的数据块即可,无需写入整个数据集合中的数据,因此可有效降低从外部存储器中读写数据的数据量,提高了存储系统的磁盘读写性能。而且,在划分数据块时,划分的数据块的数据量越小,也即,对外部存储器划分的子空间越小,越可降低从外部存储器中读写数据的数据量。
而且,由于本申请实施例中采用如图4所示的索引文件保存各数据集合中每个数据块的数据块标识、每个数据块包含的数据的数据标识、每个数据块所在的子空间在外部存储器中的位置信息,因此,也可以避免将数据集合划分为多个数据块后所带来的元数据量急剧增大的问题。
以上是本申请实施例提供的数据更新方法,基于同样的思路,本申请实施例还提供一种数据更新装置,如图5所示。
图5为本申请实施例提供的数据更新装置结构示意图,具体包括:
划分模块501,用于将数据集合中的数据划分为至少两个数据块;
判断模块502,用于针对所述划分模块501划分的每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识;
读取合并模块503,用于在所述判断模块502的判断结果为是时,将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,并将合并后的数据重新作为数据块写入外部存储器中;在所述判断模块502的判断结果为否时,不从外部存储器中读取该数据块包含的数据;其中,所述外部存储器包括磁盘,所述内部存储器包括内存。
所述划分模块501具体用于,将外部存储器的存储空间划分为至少两个子空间,采用划分后的若干个子空间存储所述数据集合中的数据,一个数据块包含的数据为一个子空间中存储的数据。
所述装置还包括:
索引生成模块504,用于在所述划分模块501将数据集合中的数据划分为至少两个数据块之后,生成索引文件,所述索引文件包含所述数据集合中每个数据块的数据块标识、每个数据块包含的数据的数据标识,以及每个数据块所在的子空间在所述外部存储器中的位置。
所述判断模块502具体用于,针对所述索引生成模块504生成的所述索引文件中包含的每个数据块标识,确定该数据块标识对应的数据块包含的数据的数据标识;判断增量数据的数据标识中是否存在确定的数据标识。
所述读取合并模块503具体用于,根据所述索引文件中包含的该数据块所在的子空间在所述外部存储器中的位置,将所述外部存储器中相应位置的子空间中存储的数据作为该数据块包含的数据读取到内部存储器中;将数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中;在所述内部存储器中对读取的该数据块包含的数据和增量数据进行合并。
所述读取合并模块503具体用于,在划分的各子空间中选择未使用的子空间,将合并后的数据重新作为数据块写入选择的子空间中;
所述索引生成模块504还用于,根据所述读取合并模块503选择的子空间在所述外部存储器中的位置更新所述索引文件。
本申请实施例提供一种数据更新方法及装置,该方法将数据集合划分为若干数据块,针对每个数据块,当该数据块需要进行合并时,读取该数据块以及相应的增量数据进行合并,当该数据块不需要合并时不读取该数据块。上述方法无需将一个数据集合中的全部数据都从磁盘中读取到内存进行合并,只需读取需要合并的数据块即可,而且合并后的数据也不是数据集合中的全部数据,因此合并后重新写入磁盘中的数据也不是数据集合中的全部数据,从而降低了从磁盘中读写数据的数据量,可有效提高存储系统的磁盘读写性能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种数据更新方法,其特征在于,包括:
将数据集合中的数据划分为至少两个数据块;
针对每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识;
若是,则将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,并将合并后的数据重新作为数据块写入外部存储器中;
否则不从外部存储器中读取该数据块包含的数据;
其中,所述外部存储器包括磁盘,所述内部存储器包括内存。
2.如权利要求1所述的方法,其特征在于,将数据集合中的数据划分为至少两个数据块,具体包括:
将外部存储器的存储空间划分为至少两个子空间,采用划分后的若干个子空间存储所述数据集合中的数据,一个数据块包含的数据为一个子空间中存储的数据。
3.如权利要求2所述的方法,其特征在于,将数据集合中的数据划分为至少两个数据块之后,所述方法还包括:
生成索引文件,所述索引文件包含所述数据集合中每个数据块的数据块标识、每个数据块包含的数据的数据标识,以及每个数据块所在的子空间在所述外部存储器中的位置。
4.如权利要求3所述的方法,其特征在于,针对每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识,具体包括:
针对所述索引文件中包含的每个数据块标识,确定该数据块标识对应的数据块包含的数据的数据标识;
判断增量数据的数据标识中是否存在确定的数据标识。
5.如权利要求3所述的方法,其特征在于,将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,具体包括:
根据所述索引文件中包含的该数据块所在的子空间在所述外部存储器中的位置,将所述外部存储器中相应位置的子空间中存储的数据作为该数据块包含的数据读取到内部存储器中;
将数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中;
在所述内部存储器中对读取的该数据块包含的数据和增量数据进行合并。
6.如权利要求3所述的方法,其特征在于,将合并后的数据重新作为数据块写入外部存储器中,具体包括:
在划分的各子空间中选择未使用的子空间;
将合并后的数据重新作为数据块写入选择的子空间中,并根据选择的子空间在所述外部存储器中的位置更新所述索引文件。
7.一种数据更新装置,其特征在于,包括:
划分模块,用于将数据集合中的数据划分为至少两个数据块;
判断模块,用于针对所述划分模块划分的每个数据块,判断增量数据的数据标识中是否存在该数据块包含的数据的数据标识;
读取合并模块,用于在所述判断模块的判断结果为是时,将该数据块包含的数据,以及数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中进行合并,并将合并后的数据重新作为数据块写入外部存储器中;在所述判断模块的判断结果为否时,不从外部存储器中读取该数据块包含的数据;其中,所述外部存储器包括磁盘,所述内部存储器包括内存。
8.如权利要求7所述的装置,其特征在于,所述划分模块具体用于,将外部存储器的存储空间划分为至少两个子空间,采用划分后的若干个子空间存储所述数据集合中的数据,一个数据块包含的数据为一个子空间中存储的数据。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
索引生成模块,用于在所述划分模块将数据集合中的数据划分为至少两个数据块之后,生成索引文件,所述索引文件包含所述数据集合中每个数据块的数据块标识、每个数据块包含的数据的数据标识,以及每个数据块所在的子空间在所述外部存储器中的位置。
10.如权利要求9所述的装置,其特征在于,所述判断模块具体用于,针对所述索引生成模块生成的所述索引文件中包含的每个数据块标识,确定该数据块标识对应的数据块包含的数据的数据标识;判断增量数据的数据标识中是否存在确定的数据标识。
11.如权利要求9所述的装置,其特征在于,所述读取合并模块具体用于,根据所述索引文件中包含的该数据块所在的子空间在所述外部存储器中的位置,将所述外部存储器中相应位置的子空间中存储的数据作为该数据块包含的数据读取到内部存储器中;将数据标识与该数据块包含的数据的数据标识相同的增量数据从外部存储器中读取到内部存储器中;在所述内部存储器中对读取的该数据块包含的数据和增量数据进行合并。
12.如权利要求9所述的装置,其特征在于,所述读取合并模块具体用于,在划分的各子空间中选择未使用的子空间,将合并后的数据重新作为数据块写入选择的子空间中;
所述索引生成模块还用于,根据所述读取合并模块选择的子空间在所述外部存储器中的位置更新所述索引文件。
CN201310536126.6A 2013-11-01 2013-11-01 一种数据更新方法及装置 Active CN104615594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310536126.6A CN104615594B (zh) 2013-11-01 2013-11-01 一种数据更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310536126.6A CN104615594B (zh) 2013-11-01 2013-11-01 一种数据更新方法及装置

Publications (2)

Publication Number Publication Date
CN104615594A true CN104615594A (zh) 2015-05-13
CN104615594B CN104615594B (zh) 2018-04-03

Family

ID=53150045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310536126.6A Active CN104615594B (zh) 2013-11-01 2013-11-01 一种数据更新方法及装置

Country Status (1)

Country Link
CN (1) CN104615594B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391029A (zh) * 2017-06-15 2017-11-24 武汉斗鱼网络科技有限公司 一种文件存储、读取方法及其对应的系统
CN107623709A (zh) * 2016-07-15 2018-01-23 北京金山云网络技术有限公司 一种文件下载方法及装置
WO2018058627A1 (zh) * 2016-09-30 2018-04-05 深圳市华傲数据技术有限公司 基于增量的数据存储方法及装置
WO2018058633A1 (zh) * 2016-09-30 2018-04-05 深圳市华傲数据技术有限公司 基于增量的数据处理方法及装置
CN110413808A (zh) * 2019-07-17 2019-11-05 深兰科技(上海)有限公司 一种三维点云数据存储、查询方法及装置
CN111274275A (zh) * 2018-11-19 2020-06-12 中国电信股份有限公司 数据处理方法、装置和计算机可读存储介质
CN111625531A (zh) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 基于可编程装置的合并装置、数据合并方法及数据库系统
CN113297232A (zh) * 2020-07-31 2021-08-24 阿里巴巴集团控股有限公司 一种基于数据库分区的数据更新方法、装置及系统
CN113901276A (zh) * 2021-09-30 2022-01-07 苏州浪潮智能科技有限公司 一种数据管理、b+树加载方法、装置及电子设备
CN114265613A (zh) * 2021-12-21 2022-04-01 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统
CN114490693A (zh) * 2022-02-17 2022-05-13 平安普惠企业管理有限公司 数据修改方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和系统
CN102810092A (zh) * 2011-05-31 2012-12-05 腾讯科技(深圳)有限公司 数据读写方法及系统
WO2012174906A1 (zh) * 2011-06-21 2012-12-27 中兴通讯股份有限公司 一种数据存储、查找方法及装置
CN102968464A (zh) * 2012-11-08 2013-03-13 广东电子工业研究院有限公司 一种基于索引的本地资源快速检索系统及其检索方法
CN103023879A (zh) * 2012-11-26 2013-04-03 国电南瑞科技股份有限公司 一种基于高速缓存的数据中心间广域数据同步方法
CN103246549A (zh) * 2012-02-07 2013-08-14 阿里巴巴集团控股有限公司 一种数据转存的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和系统
CN102810092A (zh) * 2011-05-31 2012-12-05 腾讯科技(深圳)有限公司 数据读写方法及系统
WO2012174906A1 (zh) * 2011-06-21 2012-12-27 中兴通讯股份有限公司 一种数据存储、查找方法及装置
CN103246549A (zh) * 2012-02-07 2013-08-14 阿里巴巴集团控股有限公司 一种数据转存的方法及系统
CN102968464A (zh) * 2012-11-08 2013-03-13 广东电子工业研究院有限公司 一种基于索引的本地资源快速检索系统及其检索方法
CN103023879A (zh) * 2012-11-26 2013-04-03 国电南瑞科技股份有限公司 一种基于高速缓存的数据中心间广域数据同步方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623709A (zh) * 2016-07-15 2018-01-23 北京金山云网络技术有限公司 一种文件下载方法及装置
WO2018058627A1 (zh) * 2016-09-30 2018-04-05 深圳市华傲数据技术有限公司 基于增量的数据存储方法及装置
WO2018058633A1 (zh) * 2016-09-30 2018-04-05 深圳市华傲数据技术有限公司 基于增量的数据处理方法及装置
CN107391029B (zh) * 2017-06-15 2020-03-17 武汉斗鱼网络科技有限公司 一种文件存储、读取方法及其对应的系统
CN107391029A (zh) * 2017-06-15 2017-11-24 武汉斗鱼网络科技有限公司 一种文件存储、读取方法及其对应的系统
CN111274275A (zh) * 2018-11-19 2020-06-12 中国电信股份有限公司 数据处理方法、装置和计算机可读存储介质
CN111274275B (zh) * 2018-11-19 2023-07-04 中国电信股份有限公司 数据处理方法、装置和计算机可读存储介质
CN111625531B (zh) * 2019-02-28 2023-06-20 阿里巴巴集团控股有限公司 基于可编程装置的合并装置、数据合并方法及数据库系统
CN111625531A (zh) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 基于可编程装置的合并装置、数据合并方法及数据库系统
CN110413808A (zh) * 2019-07-17 2019-11-05 深兰科技(上海)有限公司 一种三维点云数据存储、查询方法及装置
CN110413808B (zh) * 2019-07-17 2021-09-24 深兰科技(上海)有限公司 一种三维点云数据存储、查询方法及装置
CN113297232A (zh) * 2020-07-31 2021-08-24 阿里巴巴集团控股有限公司 一种基于数据库分区的数据更新方法、装置及系统
CN113297232B (zh) * 2020-07-31 2024-03-01 阿里巴巴集团控股有限公司 一种基于数据库分区的数据更新方法、装置及系统
CN113901276A (zh) * 2021-09-30 2022-01-07 苏州浪潮智能科技有限公司 一种数据管理、b+树加载方法、装置及电子设备
CN114265613B (zh) * 2021-12-21 2022-06-28 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统
CN114265613A (zh) * 2021-12-21 2022-04-01 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统
CN114490693A (zh) * 2022-02-17 2022-05-13 平安普惠企业管理有限公司 数据修改方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104615594B (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
CN104615594A (zh) 一种数据更新方法及装置
CN104778127B (zh) 一种nand flash写数据的方法和装置
CN102508784B (zh) 视频监控设备中闪存卡的数据存储方法及其系统
CN105242871A (zh) 一种数据写入方法及装置
CN105718455A (zh) 一种数据查询方法及装置
CN103229164B (zh) 数据访问方法和装置
CN106294026A (zh) 一种固态盘异常掉电后的映射表恢复方法及其系统
US20200034340A1 (en) Flash file system and data management method therof
CN103914483A (zh) 文件存储方法、装置及文件读取方法、装置
CN105117402A (zh) 基于分段保序哈希的日志数据分片方法及装置
CN103559139A (zh) 一种数据存储方法及装置
CN104714957B (zh) 一种表结构的变更方法及装置
CN103473298A (zh) 数据归档方法和装置以及存储系统
CN105045850A (zh) 云存储日志文件系统中垃圾数据回收方法
CN105404691A (zh) 一种文件存储的方法及装置
CN103455284A (zh) 一种读写数据的方法及装置
CN104461384A (zh) 一种数据写入方法及存储设备
CN103430178A (zh) 数据更新方法及装置和产品
CN103092849A (zh) 文件系统簇管理方法
CN105677805A (zh) 一种利用protobuf的数据存储、读取方法及装置
CN103294658B (zh) 一种文档保存方法及装置
US9710504B2 (en) Data processing and writing method and related apparatus
CN104572492A (zh) 一种烧录数据到fat32分区的方法和装置
CN104123952A (zh) 一种无缓存光盘刻录方法及装置
CN105260266A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191212

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Patentee before: Alibaba Group Holding Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210208

Address after: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Patentee after: Ant financial (Hangzhou) Network Technology Co.,Ltd.

Address before: Ky1-1205 P.O. Box 31119, hibiscus street, 802 Sai Wan Road, Grand Cayman Islands, ky1-1205

Patentee before: Innovative advanced technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210910

Address after: 100020 unit 02, 901, floor 9, unit 1, building 1, No.1, East Third Ring Middle Road, Chaoyang District, Beijing

Patentee after: Beijing Aoxing Beisi Technology Co., Ltd

Address before: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Patentee before: Ant financial (Hangzhou) Network Technology Co.,Ltd.

TR01 Transfer of patent right