CN106503010A - Method and device for changing write-in partitions of database - Google Patents

Method and device for changing write-in partitions of database Download PDF

Info

Publication number
CN106503010A
CN106503010A CN201510564356.2A CN201510564356A CN106503010A CN 106503010 A CN106503010 A CN 106503010A CN 201510564356 A CN201510564356 A CN 201510564356A CN 106503010 A CN106503010 A CN 106503010A
Authority
CN
China
Prior art keywords
time
slice
data
pre
latest
Prior art date
Application number
CN201510564356.2A
Other languages
Chinese (zh)
Inventor
石岱曦
Original Assignee
北京国双科技有限公司
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 北京国双科技有限公司 filed Critical 北京国双科技有限公司
Priority to CN201510564356.2A priority Critical patent/CN106503010A/en
Publication of CN106503010A publication Critical patent/CN106503010A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Abstract

The invention discloses a method and device for changing write-in partitions of a database, relates to the field of data processing and solves the problem that data fragmentation is unbalanced when monotone increasing slice keys are selected in a database fragmentation cluster for partitioning. The method disclosed by the invention comprises the steps that a time slice key scope of a newest data block in a current fragment of the database is acquired, wherein the newest data block is a data block of currently written-in data; a pre-split time point is determined in the time slice key scope; the newest data block is split at the pre-split time point; two sub-data blocks are generated; and the sub-data block which takes the pre-split time point as a starting point of the time slice key scope is moved to another fragment. The method and the device disclosed by the invention are mainly used for balanced distribution of the written-in data in the database.

Description

一种数据库更改写入分区的方法及装置 A method for writing changes to the database and partition means

技术领域 FIELD

[0001] 本发明涉及数据处理领域,特别是涉及一种数据库更改写入分区的方法及装置。 [0001] The present invention relates to data processing, and more particularly to a method and apparatus for database changes are written to the partition.

背景技术 Background technique

[0002] 在MongoDB数据库的分片集群中,片键决定了每条数据应该被写入到集群中的哪个分片上,各个分片之间通过数据块的移动达到分片负载的均衡,因此在设置分片时,需要从数据集合中选取一个键,用该键作为数据拆分的依据,这个键就是片键。 [0002] In the slice cluster MongoDB database, determines the key sheet should be written to each data slice on which the cluster, by moving between the respective fragments of data blocks reaches equilibrium slice load, thus Fragmentation is provided, it is necessary to select a key from the data set, using the key data as a basis for the split, the key is the key sheet. 片键的选择非常重要,MongoDB会根据选定的片键将数据划分到有着相同片键的数据块中,而后这些数据块将根据片键的大致顺序分散到分片中。 Sheet selection key is very important, MongoDB sheet based on the selected key data to the data block dividing sheet has the same key, the data blocks are then distributed to slice sequence substantially according to the key sheet. 然而,当数据写入的负载较大且选择了单调递增片键如时间单调递增片键时,新的数据只会写入到时间最新的一个数据块中得到信息量巨大的数据块,导致数据的不平均分布。 However, when the load is large and the data is written to the selected key, such as time slice a monotonically increasing monotonically incrementing the key sheet, the new data is written only to the latest time of a data block huge amount of information obtained in the data block, resulting in the data the uneven distribution. 由于数据写入的负载较高,MongoDB在各个分片中移动数据块的速度远远无法跟上数据的写入速度,而且一旦数据块的信息量大小超过一定数值,那么就无法在分片之间对其进行移动,从而使得大量数据堆积在一个分片上,导致硬盘的容量迅速达到极限。 Due to the high load of data writing, MongoDB each slice in a data block move much faster data writing speed can not keep up, but the amount of information once the data block exceeds a certain value, then it can not fragmented between move them, so that a large amount of data on a slice deposited, resulting in the capacity of the hard disk quickly reaches a limit.

发明内容 SUMMARY

[0003] 有鉴于此,本发明提出了一种数据库更改写入分区的方法及装置,主要目的在于解决在数据库分片集群中选取单调递增片键进行分区时导致数据分片不均衡的问题。 [0003] Accordingly, the present invention provides a method and apparatus for writing changes to database partition, the main purpose to solve the problems resulting in uneven data pieces selected in a database when the cluster fragmentation monotonically increasing key sheet partition.

[0004] 依据本发明的第一个方面,本发明提供了一种数据库更改写入分区的方法,包括: [0004] According to a first aspect of the present invention, the present invention provides a method of writing changes to database partitions, comprising:

[0005] 获取数据库当前分片中最新数据块的时间片键范围,最新数据块为当前写入数据的数据块; [0005] access to the database of the current slice time slice latest data block key range, the latest data of the data block for the current block of data is written;

[0006] 在最新数据块的时间片键范围内确定预分裂时间点; [0006] The pre-determined point in time division within a time slice latest data block key range;

[0007] 将最新数据块在预分裂时间点进行分裂,生成两个子数据块; [0007] The latest pre-split data block in the time division points, generating two sub-data blocks;

[0008] 将以预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 Subblock [0008] The disintegration time will be the time point of the pre-shard key range of the start point to another slice.

[0009] 依据本发明的第二个方面,本发明提供了一种数据库更改写入分区的装置,包括: [0009] According to a second aspect of the present invention, the present invention provides an apparatus for writing changes to database partitions, comprising:

[0010] 获取单元,用于获取数据库当前分片中最新数据块的时间片键范围,最新数据块为当前写入数据的数据块; [0010] acquiring unit, for acquiring the latest database of the current slice time slice data block key range, the latest data of the data block for the current block of data is written;

[0011] 确定单元,用于在获取单元获取的最新数据块的时间片键范围内确定预分裂时间占.V , [0011] determination means for determining a time accounting for pre-.V split in unit of data block to obtain the latest acquisition time slice key range,

[0012] 分裂单元,用于将最新数据块在选择单元选择的预分裂时间点进行分裂,生成两个子数据块; [0012] division unit, the latest data for the blocks in the pre-split split time point selection unit, generating two sub-data blocks;

[0013] 移动单元,用于将分裂单元生成的以预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 Subblock [0013] the mobile unit, for generating a pre-splitting unit to split the point of time of the time slice starting key range to another slice.

[0014] 借由上述技术方案,本发明实施例提供的数据库更改写入分区的方法及装置,能够获取数据库当前分片中最新数据块的时间片键范围,并在该时间片键范围内确定预分裂时间点,将所述最新数据块在预分裂时间点进行分裂,生成两个子数据块,其中以预分裂时间点为时间片键范围起点的子数据块由于还未插入数据,因此将其移动到另一分片中,当实际时间到达预分裂时间点后,新的数据会自动写入到被移动的子数据块所在的新的分片中,从而避免了由于分裂前的最新数据块写入数据的速度高于数据块自动分裂和移动的速度导致当前分片的容量过高,确保了数据在数据库分片集群中的均衡分布。 [0014] The method and apparatus provided by the database changes are written to the partition by the above technical solutions, embodiments of the present invention, it is possible to obtain the current time slice slice latest database data block key ranges, and determines the key range of the time slice pre-split point of time, the latest point of the pre-split data block in time division, generating two sub-data blocks, wherein the pre-split time point is the starting point of the time slice of the key range has not been inserted since the subblock data, which moves to another slice, when the actual time reaches the pre-split time point, the new data is automatically written to the new slice is shifted subblock is located, thereby avoiding the latest data block before division due It is higher than the speed of the write data block and the moving speed automatic splitting results in capacity high current fragmentation, to ensure even distribution of data in the database cluster fragmentation.

[0015] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。 [0015] The above description is only an overview of the technical solution of the present invention, in order to more fully understood from the present invention, but may be implemented in accordance with the contents of the specification, and in order to make the aforementioned and other objects, features and advantages of the present invention can be more apparent from the following specific embodiments cite Patent of the present invention.

附图说明 BRIEF DESCRIPTION

[0016] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。 [0016] By reading the following detailed description of preferred embodiments Hereinafter, a variety of other advantages and benefits to those of ordinary skill in the art will become apparent. 附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。 The drawings are only for purposes of illustrating a preferred embodiment and are not to be considered limiting of the present invention. 而且在整个附图中,用相同的参考符号表示相同的部件。 But throughout the drawings, like parts with the same reference symbols. 在附图中: In the drawings:

[0017] 图1示出了本发明实施例提供的一种数据库更改写入分区的方法的流程图; [0017] FIG. 1 shows a flowchart of a method of the present invention, a database provided in the partition changes are written embodiment;

[0018]图2示出了本发明实施例提供的一种数据库更改写入分区的装置的结构示意图; [0018] FIG. 2 shows a schematic structure of the apparatus of the present invention provides a database partition write the changes embodiment;

[0019] 图3示出了本发明实施例提供的另一种数据库更改写入分区的装置的结构示意图。 [0019] FIG. 3 shows a schematic structure of the apparatus of the present invention, another embodiment provides the changes are written to the database partition embodiments.

具体实施方式 Detailed ways

[0020] 下面将参照附图更加详细地描述本公开的示例性实施例。 [0020] The following exemplary embodiments of the present disclosure will be described in more detail with reference to the drawings. 虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。 While the exemplary embodiment shows an exemplary embodiment of the present disclosure in the drawings, it should be understood that the present disclosure may be implemented embodiments and should not be set forth herein to limit in various forms. 相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。 Rather, these embodiments are able to more thorough understanding of the present disclosure, and the scope of the present disclosure can be completely conveying to those skilled in the art.

[0021] 在使用数据库的业务中,随着业务的发展,产生的数据量也越来越大,因此基于数据分片的数据库构架应运而生。 [0021] In the use of database services, with the development of business, the amount of generated data is also growing, so the database based on frame data pieces emerged. 数据分片就是将整体数据分摊在多个存储设备上,这样每个存储设备的数据量相对变小,从而满足数据库性能需求。 Data fragmentation is assessed in the overall data across multiple storage devices, the amount of data so that each storage device is relatively small, to meet the performance requirements of the database. 在设置分片时,需要从数据集合中选取一个键,用该键作为数据拆分的依据,这个键被称为片键。 Fragmentation is provided, it is necessary to select a key from the data set, using the key data as a basis for the split, the key sheet is called the key. 最初在数据库中插入数据时,数据会被插入到一个分片中的数据块中,随着数据块的数据量逐渐增大,该分片的负载逐渐增高,在这种情况下,数据库通常会自动将该数据块已写入数据的部分分裂出去并移动到其他分片中,从而保证各个分片的数据分布均衡。 Initially the database data is inserted, is inserted into a data sub-block of data slice, the data block with the data amount is gradually increased, the load is gradually increased slice, in this case, the database will usually the portion of the data block written data is automatically moved to secede and other fragmentations, to ensure a balanced distribution of each data slice.

[0022] 在本发明实施例中,由于采用时间单调递增片键作为数据拆分的依据,这样会导致数据一直被写入到最新的分片中,同时如果数据的写入负载过高,在各个分片间移动数据块的速度远远无法跟上数据的写入速度时,会导致当前分片的数据量增大,而且一旦数据块的信息量大小超过一定数值,那么就无法在分片之间对其进行移动,从而使得大量数据堆积在一个分片上,导致硬盘的容量迅速达到极限。 [0022] In an embodiment of the present invention, since the time slice a monotonically increasing key data as a basis for split, this will cause the data has been written to the latest slice, and if the write load data is too high, when the speed of movement between the respective fragments of data blocks much data writing speed can not keep up, this will lead to an increase the amount of data pieces, and the amount of information once the data block exceeds a certain value, then the fragment can not move between them, so that a large amount of data on a slice deposited, resulting in the capacity of the hard disk quickly reaches a limit.

[0023] 为了解决在数据库分片集群中选取单调递增片键进行分区时导致数据分片不均衡的问题,本发明实施例提供了一种数据库更改写入分区的方法,如图1所示,该方法包括: [0023] In order to solve the fragmentation of data results in imbalance in the sheet while selecting monotonically increasing key database partition slice cluster, embodiments of the present invention provides a method of writing changes to database partition, shown in Figure 1, the method comprising:

[0024] 101、获取数据库当前分片中最新数据块的时间片键范围。 [0024] 101 acquires the latest database of the current slice time slice data block key range.

[0025] 由于数据是被写入数据块中的,每个数据块所包含的数据范围是按照片键的取值来划分的,若对数据库进行分区,就需要对数据块进行操作。 [0025] Since data is written into the data block, the data range for each data block contains the key sheet according to the divided value, if the database partition, it is necessary to operate on the data block. 因此在本发明实施例中,需要执行步骤101获取数据库当前分片中最新数据块的时间片键范围,当前分片为数据库分片集群中当前正在写入数据的分片,其中,当前分片中最新数据块的时间片键范围为该分片中当前正在写入数据的数据块的时间片键范围。 Therefore, in the present invention embodiment, step 101 need to obtain the current time slice slice latest database data block key range, the current slice is the slice cluster database is currently writing data slice, wherein the current fragmentation the latest time slice time slice data block keys for a range of data slice currently being written data block key range.

[0026] 102、在最新数据块的时间片键范围内确定预分裂时间点。 [0026] 102, a pre-determined point in time division within a time slice latest data block key range.

[0027] 当获取到最新数据块的时间片键范围后,为了防止最新数据块自动分裂和移动的速度慢于数据写入速度导致的当前分片负载过高情况的发生,因此本发明实施例需要提前对最新数据块中未写入数据的部分进行分裂,得到未写入数据的空数据块,进行分裂的前提是需要知道分裂的节点,因此本发明实施例需要执行步骤102在最新数据块的时间片键范围内确定预分裂时间点。 [0027] After obtaining the key range of the latest time slice of data blocks, data blocks in order to prevent the latest speed automatic splitting and moving slower than the speed of the data writing current caused by excessive fragmentation occurs in the load condition, and therefore embodiments of the invention advance unwritten part of the data block to divide the latest data, null data to obtain the block data provided is not written to split the split node needs to know, so the latest data block on to step 102 in embodiments of the present invention time slice within the key range to determine a pre-split time point. 这里需要说明的是,选择的该预分裂时间点一定要确保在该预分裂时间点之后的数据块未被写入数据,也就是该预分裂时间点之后的数据块为空数据块。 It should be noted that the choice of the pre-split point in time we must ensure that the data block after the pre-split point of time the data is not written, that is, the pre-data block after the split point in time is empty blocks.

[0028] 103、将最新数据块在预分裂时间点进行分裂,生成两个子数据块。 [0028] 103, the data blocks in the latest time point of the pre-split to split, generating two sub-data blocks.

[0029] 当在步骤102中得到最新数据块的预分裂时间点后,需要在该预分裂时间点将最新数据块进行分裂操作,生成两个子数据块,其中一个子数据块为空数据块,未被写入数据,另一个子数据块为分裂前最新数据块中已写入数据的部分,将继续写入数据。 [0029] When the latest point in time to give a pre-split data block in step 102, the required pre-splitting point of time to the latest data block splitting operation, generating two sub-data blocks, a data block is empty of data sub-blocks, data is not written, another sub-blocks as the latest data block before splitting in part written data, will continue to write data.

[0030] 104、将以预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 [0030] 104, will split time point of the pre-shard key time range starting from a block to another sub-data slice.

[0031]当最新数据块在预分裂时间点被分裂后,需要将未被写入数据的子数据块,也就是以预分裂时间点为时间片键范围起点的子数据块移动到另一分片中,当系统时间到达预分裂时间点后,新的数据会被自动写入到以预分裂时间点为时间片键范围起点的子数据块所在的分片中,从而保证分裂前的最新数据块所在的分片的负载不会超过极限。 [0031] When the data block in the latest time point of the pre-splitting is split, not necessary to write the subblock data, it is pre-split time point of the time slice starting key range of a block to another sub-data points slice subblocks sheet, when the system reaches a pre-split time point of time, the new data is automatically written to a pre-split time point as the time slice starting point where the key range to ensure the latest data before cleavage. load block is located slice does not exceed the limit.

[0032] 本发明实施例提供的数据库更改写入分区的方法,能够获取数据库当前分片中最新数据块的时间片键范围,并在该时间片键范围内确定预分裂时间点,将所述最新数据块在预分裂时间点进行分裂,生成两个子数据块,其中以预分裂时间点为时间片键范围起点的子数据块由于还未插入数据,因此将其移动到另一分片中,当实际时间到达预分裂时间点后,新的数据会自动写入到被移动的子数据块所在的新的分片中,从而避免了由于分裂前的最新数据块写入数据的速度高于数据块自动分裂和移动的速度导致当前分片的容量过高,确保了数据在数据库分片集群中的均衡分布。 [0032] Database embodiment of the present invention is provided a method of writing changes to the partition, can acquire the current time slice slice-date database of key data block range, and the pre-determined break-up point of time within the time range of the key sheet, the the latest pre-split data block in a time division points, generating two sub-data blocks, wherein the time point a pre-split sub-time slice of data blocks due to the key range of the start point data has not been inserted, thus moving it to another slice, when the actual time reaches the pre-split time point, the new data is automatically written to the new slice is shifted subblock is located, thereby avoiding due to the speed of the write data before the latest data block split over data automatic block division and the speed of movement results in too high a current capacity of the slice to ensure a balanced distribution of the data in the database cluster fragmentation.

[0033] 进一步的,为了更好的对上述图1所示的方法进行理解,作为对上述实施方式的细化和扩展,本发明实施例将针对图1中的步骤进行详细说明。 [0033] Further, for better understanding of the method is shown in FIG. 1 described above, as a refinement of the above embodiments and extend, embodiments of the present invention will be described in detail with respect to step 1 in FIG.

[0034] 在本发明实施例中以时间单调递增片键为例,数据库分片集群中当前分片的最新数据块也就是当前被写入数据的数据块,例如当前被写入数据的数据块为最新数据块M,其时间片键范围为[Tni, T-),则获取数据库当前分片中最新数据块的时间片键范围为[Tni,T 00 ) O [0034] The data blocks in the data blocks of the key in a time slice a monotonically increasing, for example, a database cluster fragmentation most current data block which is the current slice data is written embodiment of the present invention, the current data is written e.g. the latest data block M, the range of its time slice key [Tni, T-), the sheet acquisition time slice current database key range latest data block is [Tni, T 00) O

[0035] 由于时间片键位于[Tni, T -)内的数据都被写入该最新数据块M中,因此随着时间的推移,该最新数据块M的容量为越来越大,导致其所在分片的容量逐渐接近极限。 [0035] Since the key is located in the time slice [Tni, T - data) in the latest data is written in block M, and thus over time, the latest data block M capacity is increasing, leading to where slices approaching the capacity limit. 为了避免上述问题的发生,现有技术中数据库提供了自动拆分数据块的功能,将数据块中已经写入数据的部分拆分出来并移动到其他分片中,从而防止当前分片的容量达到极限。 To avoid these problems, the prior art provides a database function automatically split data blocks, the data block of the data has been written out and moved to a partially resolved other slice, thereby preventing the capacity of the current slice Reach the limit. 但是数据库提供的自动拆分数据块的功能并不能拆分并移动数据块中未写入数据的部分,因此当数据写入该最新数据块M的速度远大于数据库自动拆分该最新数据块M并将拆分后的数据块移动到其他分片中的速度时,该分片的容量将迅速达到极限。 However, the function automatically split data block provided by the database and not be split and move part of unwritten data in the data block, so much larger than the latest database automatically split data block M when the data writing speed to the latest data block M and the data block is moved to a different speed of the slice, the slice will quickly reach the capacity limit of the resolution. 为了解决上述问题,本发明实施例需要将该最新数据块M中未写入数据的部分提前进行拆分,获取该最新数据块M中未写入数据的部分并将其进行移动,从而保证当前分片的容量不会达到极限。 To solve the above problems, embodiments of the present invention requires the latest data portion of the data block M in the unwritten split in advance, the data acquisition section of the M latest data of the unwritten block and subjected to movement, thereby ensuring the current slice capacity will not reach the limit.

[0036] 作为一种可选的实施方式,本发明实施例会实时监控数据库分片集群中当前分片的数据量,当当前分片的数据量大于预设阈值时,会获取当前分片中最新数据块M的时间片键范围[Tni, T⑴),并在该时间片键范围内确定预分裂时间点,从而将最新数据块M在预分裂时间点进行拆分。 [0036] As an alternative embodiment, the embodiment of the present invention, the amount of real-time monitoring of data Regular database cluster fragmentation current slice, when the amount of data in the current fragmentation preset threshold value, obtains the latest current slice time slice of data block M key range [Tni, T⑴), and the pre-determined break-up point of time within the time range of the key sheet, so that the latest data block M in the pre-split split time point.

[0037] 由于本发明实施例的关键在于拆分并移动最新数据块中未写入数据的部分,因此在最新数据块M的时间片键范围[T1^T内确定的预分裂时间点必须能够将该最新数据块M分裂为两个部分,其中一部分从未写入数据。 [0037] Since the embodiment of the present invention is critical that the splitting movement and some of the latest data block of the data is not written, so the pre-split time point the data block in the latest M pieces of time key range [T1 ^ T must be able to determine the the latest data block M is split into two parts, one of which were never written. 作为一种可选的实施方式,本发明实施例可以将当前时间点T_之后的一个时间点T fut_确定为预分裂时间点。 As an alternative embodiment, the embodiments of the present invention a point in time after the current time point T_ T fut_ may be pre-determined point in time division. 由于在当前时间点丁_处,数据写入状态只有两种,一种为正在写入数据,一种为未写入数据,如果在当前时间点丁_处对最新数据块M进行分裂,则很有可能被正在写入数据的情况所干扰,导致无法正确对最新数据块M进行分裂。 Since D _, the data write state at the current time point only two, one for the data is being written, one for the data is not written, if the current time point D _ at the latest data block M is split, the is likely to be disturbed by the situation is writing data, making it impossible to correct the latest data block M to split. 而在当前时间点T_之后的时间点T fut_处的数据写入状态只有一种情况,即未写入数据状态。 In the current data at time T fut_ point after the time point T_ write state only one case, i.e. not writing status. 因此在时间点Tfutura处一定能够将最新数据块M进行分裂得到未写入数据的部分。 Therefore, at a certain time point Tfutura latest data block M can be partially divide the data is not written.

[0038] 当在最新数据块M的时间片键范围[Tni,T OO )内确定预分裂时间点Tfutura后,就可以在预分裂时间点Tfut_处将最新数据块M进行分裂,由于数据库无法对空数据块也就是数据块中未写入数据的部分进行自动分裂,因此,本发明实施例提供了一种可选的实施方式,由数据库基于分裂操作指令的触发将最新数据块M在预分裂时间点Tfut_处进行分裂。 [0038] When the split time point pre-determined Tfutura the latest data block M in the time slice key range [Tni, T OO), can pre-split at the latest at the time point Tfut_ data block M is split, since the database can not is part of the data blocks of unwritten data blocks of dummy data is automatically split, therefore, provides an alternative embodiment of the embodiment of the present invention, the split is triggered based on the operation instruction from the database to the latest data block M in the pre split time at the point Tfut_ divide. 在具体实施过程中,可以使用sp I it命令在预分裂时间点Tfutura处将最新数据块M进行分裂,生成两个子数据块,子数据块A和子数据块B。 In a particular embodiment the process can be used in the pre-command sp I it split at the latest time point Tfutura divide data block M, to generate two sub-blocks of data, subblock A and the subblock B. 其中,两个子数据块具有各自新的时间片键范围,若子数据块B为未写入数据的部分,那么子数据块B的时间片键范围为[Tfut_,T-),以预分裂时间点Tfut_和分裂前的最新数据块M的时间片键范围的终点T⑴作为自身时间片键范围的起点和终点;子数据块A的时间片键范围为[Ufutura),以分裂前的最新数据块M的时间片键范围的起点!„和预分裂时间点T fut_作为自身时间片键范围的起点和终点。 Wherein two subblocks having respective new key range time slice, if the subblock B is not part of the data written, then the time slice key range subblock B is [Tfut_, T-), a pre-split time point time slice bond end of the range block M latest data before division T⑴ Tfut_ and as its own time slice beginning and end of the key range; time slice subblock a key range of [Ufutura), to the latest data block before cleavage the start time slice of the key range of M! "and pre-split time point T fut_ as its own time slice key range start and end points.

[0039] 当将最新数据块M在预分裂时间点Tfut_处进行分裂得到未写入数据的子数据块B后,需要将子数据块B移动到另一分片中,从而避免分裂前最新数据块M所在分片的容量达到极限。 [0039] When the latest write data block M is not B subblock data obtained in the pre-split at time point Tfut_ be split subblocks B needs to be moved to another slice, so as to avoid splitting the latest before slice data block M where the limit capacity. 由于数据库无法对分裂后得到的空数据块也就是数据块中未写入数据的部分进行自动迀移,因此,本发明实施例提供了一种可选的实施方式,由数据库基于移动操作指令的触发将以预分裂时间点Tfut_为时间片键范围起点的子数据块B移动到另一分片中。 Since the database can not null data block is obtained after splitting the data portion of the data block is not written to automatically shift Gan, therefore, it provides an alternative embodiment of the embodiment of the present invention, the operation by the database based on the movement instruction It will trigger a pre-split time point of the time slice Tfut_ key range starting subblock B moves to another slice. 在具体实施过程中,可以使用moveChunk命令来迀移子数据块B,将其移动到另一分片中。 In a particular embodiment the process can be used to Gan shift command moveChunk subblock B, and move it to another slice. 当将子数据块B移动到另一分片中后,若实际时间在到达预分裂时间点Tfut_之前,新的数据会被数据库继续自动写入子数据块A所在的分片中;若实际时间到达预分裂时间点Tfutura之后,新的数据会被数据库自动写入子数据块B所在的分片中,从而避免分裂前最新数据块M所在分片的容量达到极限。 When the B subblocks to another slice, if the actual time is before reaching the pre-split time point Tfut_, the new data will be automatically written to the database continue slice subblock A is located; If the actual after pre-split time reaches a time point Tfutura, the new data will be automatically written to the database slice subblock B is located so as to avoid splitting the latest before the data block M is located fragmented capacity limit.

[0040] 本发明实施例通过监控数据库分片集群中当前分片的数据量,当当前分片的数据量大于预设阈值时,触发对最新数据块的预分裂和迀移,从而避免最新数据块所在分片的容量达到极限。 [0040] The embodiments of the present invention is illustrated by the data amount monitoring database slice cluster current slice, when the current data slice is greater than a predetermined threshold, triggers the pre-splitting the latest data block and Gan shift, thereby avoiding the latest data block is located fragmented capacity limit. 此外,通过多次在未来时间点触发数据块的分裂和迀移操作,能够均衡的在数据库分片集群中分布写入的数据。 In addition, by dividing and Gan trigger data block a plurality of times at a point of time next shift operation, the data written in the distributed database cluster fragmentation can be equalized.

[0041] 作为对上述图1所示方法的应用,本发明实施例提供了一种数据库更改写入分区的装置,如图2所示,该装置包括:获取单元21、确定单元22、分裂单元23及移动单元24,其中, [0041] As described above the application of the method shown in FIG. 1, the embodiment of the present invention provides an apparatus for writing changes to database partition 2, the apparatus comprising: an acquisition unit 21, a determining unit 22, division unit 23 and mobile unit 24, wherein,

[0042] 获取单元21,用于获取数据库当前分片中最新数据块的时间片键范围,最新数据块为当前写入数据的数据块; [0042] The acquisition unit 21 for acquiring the latest database of the current slice time slice data block key range, the latest data of the data block for the current block of data is written;

[0043] 确定单元22,用于在获取单元21获取的最新数据块的时间片键范围内确定预分裂时间点; [0043] The determination unit 22 for determining the pre-split point in time for the current data block acquisition unit 21 time slices key range;

[0044] 分裂单元23,用于将最新数据块在确定单元22确定的预分裂时间点进行分裂,生成两个子数据块; [0044] division unit 23, the latest data for the blocks in the pre-split determination unit 22 determines the point of time to split, generating two sub-data blocks;

[0045] 移动单元24,用于将分裂单元23生成的以预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 [0045] The moving unit 24 for splitting the subblock unit 23 generates the time point a pre-split key range time slice starting point to another slice.

[0046] 进一步的,如图3所示,获取单元21包括: [0046] Further, as shown in FIG. 3, the acquisition unit 21 comprises:

[0047] 监控模块211,用于监控数据库分片集群中当前分片的数据量; [0047] The monitoring module 211 for monitoring the amount of data in the cluster database fragmentation current slice;

[0048] 获取模块212,用于当当前分片的数据量大于预设阈值时,获取当前分片中最新数据块的时间片键范围。 [0048] The obtaining module 212, configured to, when the current data slice is greater than the preset threshold, the current slice time slice acquisition date data block key range.

[0049] 进一步的,确定单元22用于在最新数据块的时间片键范围内,将当前时间点之后的任一个时间点确定为预分裂时间点。 [0049] Further, determining unit 22 within the time slice for the latest data block key range, any of the current time point after a pre-determined point of time division time point.

[0050] 进一步的,分裂单元23用于基于分裂操作指令的触发将最新数据块在预分裂时间点进行分裂。 [0050] Further, the split based triggering unit 23 for splitting operation instruction data block of the latest split time point of the pre-split.

[0051] 进一步的,移动单元24用于基于移动操作指令的触发将以预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 [0051] Further, the moving unit 24 for moving the operation instruction based on the trigger will split time point of the pre-shard key time range starting from a block to another sub-data slice.

[0052] 本发明实施例提供的数据库更改写入分区的装置,能够获取数据库当前分片中最新数据块的时间片键范围,并在该时间片键范围内确定预分裂时间点,将所述最新数据块在预分裂时间点进行分裂,生成两个子数据块,其中以预分裂时间点为时间片键范围起点的子数据块由于还未插入数据,因此将其移动到另一分片中,当实际时间到达预分裂时间点后,新的数据会自动写入到被移动的子数据块所在的新的分片中,从而避免了由于分裂前的最新数据块写入数据的速度高于数据块自动分裂和移动的速度导致当前分片的容量过高,确保了数据在数据库分片集群中的均衡分布。 [0052] The database provided in the embodiment of the apparatus of the present invention to change the partition is written, the time slice can be acquired slice-date database of the current data block key range, and a pre-determined point in time division within a time slice of the key range, the the latest pre-split data block in a time division points, generating two sub-data blocks, wherein the time point a pre-split sub-time slice of data blocks due to the key range of the start point data has not been inserted, thus moving it to another slice, when the actual time reaches the pre-split time point, the new data is automatically written to the new slice is shifted subblock is located, thereby avoiding due to the speed of the write data before the latest data block split over data automatic block division and the speed of movement results in too high a current capacity of the slice to ensure a balanced distribution of the data in the database cluster fragmentation.

[0053] 此外,本发明实施例通过实时监控数据库分片集群中当前分片的数据量,当当前分片的数据量大于预设阈值时,触发对最新数据块的预分裂和迀移,从而避免最新数据块所在分片的容量达到极限。 [0053] Further, embodiments of the present invention by the amount of data in real time to monitor database slice cluster current slice, when the data of the current slice is greater than a predetermined threshold, triggers the pre-split and Gan latest data block shifted to the latest block is located to avoid slice data capacity limit. 同时,通过多次在未来时间点触发数据块的分裂和迀移操作,能够均衡的在数据库分片集群中分布写入的数据。 At the same time, by dividing and Gan trigger data block a plurality of times at the time point of the next shift operation, the data written in the distributed database cluster fragmentation can be equalized.

[0054] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。 [0054] In the above embodiment, the description of the various embodiments have different emphases, certain embodiments not detailed in part, be related descriptions in other embodiments.

[0055] 可以理解的是,上述方法及装置中的相关特征可以相互参考。 [0055] It will be appreciated that the above-described method and apparatus related features can refer to each other. 另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。 Further, the above-described embodiments of the "first," "second," etc. are used to distinguish one embodiment, each do not represent embodiments of the merits.

[0056] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。 [0056] Those skilled in the art may clearly understand that, for convenience and brevity of description, specific working process of the foregoing system, apparatus, and unit may refer to the corresponding process in the foregoing method embodiments, not described herein again .

[0057] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 [0057] The algorithms and displays are not provided, the virtual system or other device inherently related to any particular computer. 各种通用系统也可以与基于在此的示教一起使用。 Various general-purpose systems may also be used with the teachings herein based. 根据上面的描述,构造这类系统所要求的结构是显而易见的。 According to the above description, the configuration of such a system requires a structure will be apparent. 此外,本发明也不针对任何特定编程语言。 Further, the present invention is not to any particular programming language. 应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。 It should be appreciated that a variety of programming languages ​​may be utilized to achieve the present invention described herein, the above description and specific language is made to the disclosure of preferred embodiments of the present invention.

[0058] 在此处所提供的说明书中,说明了大量具体细节。 [0058] In the description provided herein, numerous specific details are described. 然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。 However, it can be understood that the embodiments of the present invention may be practiced without these specific details. 在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。 In some examples, not shown in detail in well-known methods, structures and techniques, so as not to obscure the understanding of this description.

[0059] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。 [0059] Similarly, it should be understood that the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects in the description of exemplary embodiments of the present invention, various features of the invention are sometimes grouped into a single together embodiment, FIG, or the description thereof. 然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。 However, the methods disclosed herein should not be interpreted as reflecting an intention: that the claimed invention requires more features than in each of the claims expressly recited. 更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。 More specifically, as reflected in the book as the following claims, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. 因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。 Thus, the claims following the specific embodiments are hereby incorporated into this Detailed Description explicitly, with each claim itself as a separate embodiment of the present invention.

[0060] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。 [0060] Those skilled in the art can understand may be made to change adaptively embodiment device module and provided them with one or more devices different from this embodiment of the. 可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。 The embodiments may be modules or units into one module or component or components or units, and in addition they can be divided into a plurality of sub-modules or sub-units or sub-assemblies. 除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。 Any method other than such features and / or process, or at least some of the units are mutually exclusive, any combination of the present specification (including the accompanying claims, abstract and drawings) All of the features disclosed in, or disclosed herein and such All process units or equipment combination. 除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。 Unless expressly stated otherwise, each feature of the present specification (including the accompanying claims, abstract and drawings) may be provided by the same disclosed, characterized equivalents or similar purpose may be substituted.

[0061] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。 [0061] Moreover, those skilled in the art will appreciate that although in some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant in the present within the scope of the invention and form different embodiments. 例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。 For example, in one embodiment any forth in the following claims, it may be claimed in any combination used.

[0062] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。 Example [0062] The various components of the present invention may be implemented in hardware, or as software modules running on one or more processors, or in a combination thereof. 本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。 Those skilled in the art will appreciate that a microprocessor may be used or a digital signal processor (DSP) in practice to implement some or all of the embodiments of the invention, part names (e.g., devices within the site link level determination) in accordance with embodiments of the present invention Some or all functions. 本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。 The present invention may also be implemented as a part or all of the device or apparatus programs for performing the methods described herein (e.g., computer programs and computer program products). 这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。 Such a program implementing the present invention may be stored on a computer-readable medium, or may have the form of one or more signals. 这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。 Such signals can be downloaded from the Internet website, or provided on a carrier signal, or in any other form.

[0063] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。 [0063] It should be noted that the embodiments of the present invention, the above-described embodiments illustrate rather than limit the invention, and those skilled in the art without departing from the scope of the appended claims may be devised alternative embodiments. 在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。 In the claims, should not be limited by any reference signs located claimed configured to claims between parentheses. 单词“包含”不排除存在未列在权利要求中的元件或步骤。 The word "comprising" does not exclude the presence of elements or steps not listed in the appended claims. 位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。 Preceding an element of the word "a" or "an" does not exclude the presence of a plurality of such elements. 本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。 The present invention by means of hardware comprising several distinct elements, and by means of a suitably programmed computer implemented. 在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。 Unit claims enumerating several means, several of these means may be embodied by the same item of hardware. 单词第一、第二、以及第三等的使用不表示任何顺序。 Word of the first, second, and third, etc. does not denote any order. 可将这些单词解释为名称。 These words can be interpreted as names.

Claims (8)

1.一种数据库更改写入分区的方法,其特征在于,所述方法包括: 获取数据库当前分片中最新数据块的时间片键范围,所述最新数据块为当前写入数据的数据块; 在所述最新数据块的时间片键范围内确定预分裂时间点; 将所述最新数据块在所述预分裂时间点进行分裂,生成两个子数据块; 将以所述预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 1. A method of writing changes to database partition, characterized in that, the method comprising: acquiring slice-date database of the current time slice data block key range, the latest data block for the current block data is written; determining the latest within a time slice of data blocks pre-split time point the key range; the latest data block in the pre-splitting the split time point, generating two sub-data blocks; disintegration time will be the point of time pre key range starting sheet subblock moved to another slice.
2.根据权利要求1所述的方法,其特征在于,所述获取数据库当前分片中最新数据块的时间片键范围,包括: 监控所述数据库分片集群中当前分片的数据量,当所述当前分片的数据量大于预设阈值时,获取所述当前分片中最新数据块的时间片键范围。 2. The method according to claim 1, wherein said sheet acquisition time database the latest current slice data block key range, comprising: monitoring an amount of said slice data slice cluster database current, when the current data slice is greater than a preset threshold value, acquiring the latest slice of the current time slice data block key range.
3.根据权利要求1所述的方法,其特征在于,在所述最新数据块的时间片键范围内确定预分裂时间点,包括: 在所述最新数据块的时间片键范围内,将当前时间点之后的任一个时间点确定为预分裂时间点。 3. The method according to claim 1, wherein the pre-determined point in time division within a time slice of the latest data block key range, comprising: a time slice within the scope of the latest key data block, the current any one point in time after a pre-determined point in time the split point in time.
4.根据权利要求1所述的方法,其特征在于,将所述最新数据块在所述预分裂时间点进行分裂,包括: 基于分裂操作指令的触发将所述最新数据块在所述预分裂时间点进行分裂。 4. The method according to claim 1, wherein the data blocks in the latest time point of the pre-split to split, comprising: a division operation based on a trigger of the instruction data block in the latest pre-splitting point in time division.
5.根据权利要求1所述的方法,其特征在于,所述生成两个子数据块,包括: 生成子数据块A和子数据块B ; 所述子数据块A以分裂前的所述最新数据块的时间片键范围的起点和所述预分裂时间点作为自身时间片键范围的起点和终点; 所述子数据块B以所述预分裂时间点和分裂前的所述最新数据块的时间片键范围的终点作为自身时间片键范围的起点和终点; 将以所述预分裂时间点为时间片键范围起点的子数据块移动到另一分片中,包括: 将以所述预分裂时间点为时间片键范围起点的子数据块B移动到另一分片中。 5. The method according to claim 1, wherein said generating two sub-data blocks, comprising: generating a subblock A and the subblock B; the subblocks A to the latest data block before cleavage starting time slice and key range of the pre-split time point as its own time slice beginning and end of the key range; the B subblocks to the pre-splitting the time slice before the latest data block and the division time point end key range as its own time slice of the start and end key range; will split time point of the pre-shard key time range starting from a block to another sub-data slice, comprising: a disintegration time will be the pre- point range starting time slice bond subblock B moves to another slice.
6.根据权利要求1所述的方法,其特征在于,将以所述预分裂时间点为时间片键范围起点的子数据块移动到另一分片中,包括: 基于移动操作指令的触发将以所述预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 6. The method according to claim 1, characterized in that the disintegration time will be the pre-shard key point of time range starting from a block to another sub-data slice, comprising: an operation instruction based on the movement of the trigger subblocks to said pre-split time points of starting time slice key range to another slice.
7.一种数据库更改写入分区的装置,其特征在于,所述装置包括: 获取单元,用于获取数据库当前分片中最新数据块的时间片键范围,所述最新数据块为当前写入数据的数据块; 确定单元,用于在所述获取单元获取的所述最新数据块的时间片键范围内确定预分裂时间点; 分裂单元,用于将所述最新数据块在所述确定单元确定的所述预分裂时间点进行分裂,生成两个子数据块; 移动单元,用于将所述分裂单元生成的以所述预分裂时间点为时间片键范围起点的子数据块移动到另一分片中。 7. An apparatus partitioned database changes are written, characterized in that said apparatus comprises: an acquisition unit for acquiring the latest database of the current slice time slice data block key range, the latest data is written to the current block block data; determining means for determining the pre-acquisition time point of the time slice division unit acquires the latest data block key range; splitting unit for the data block in the latest determination unit the pre-determined time split point to split, generating two sub-data blocks; moving unit for moving the pre-split sub-data points to generate the time unit for the split starting time slice key range block to another slice.
8.根据权利要求7所述的装置,其特征在于,所述获取单元包括: 监控模块,用于监控所述数据库分片集群中当前分片的数据量; 获取模块,用于当所述当前分片的数据量大于预设阈值时,获取所述当前分片中最新数据块的时间片键范围。 8. The apparatus according to claim 7, characterized in that the obtaining unit comprises: a monitoring module configured to monitor the amount of data in the current database cluster fragmentation fragmentation; obtaining module, configured to, when the current data slice is greater than a predetermined threshold value, acquiring the latest slice of the current time slice data block key range.
CN201510564356.2A 2015-09-07 2015-09-07 Method and device for changing write-in partitions of database CN106503010A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510564356.2A CN106503010A (en) 2015-09-07 2015-09-07 Method and device for changing write-in partitions of database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510564356.2A CN106503010A (en) 2015-09-07 2015-09-07 Method and device for changing write-in partitions of database

Publications (1)

Publication Number Publication Date
CN106503010A true CN106503010A (en) 2017-03-15

Family

ID=58287833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510564356.2A CN106503010A (en) 2015-09-07 2015-09-07 Method and device for changing write-in partitions of database

Country Status (1)

Country Link
CN (1) CN106503010A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676855A (en) * 2008-09-11 2010-03-24 美国日本电气实验室公司 Scalable secondary storage systems and methods
CN102629247A (en) * 2011-12-31 2012-08-08 成都市华为赛门铁克科技有限公司 Method, device and system for data processing
CN103929500A (en) * 2014-05-06 2014-07-16 刘跃 Method for data fragmentation of distributed storage system
CN104883394A (en) * 2015-04-28 2015-09-02 浙江大学 Method and system for server load balancing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676855A (en) * 2008-09-11 2010-03-24 美国日本电气实验室公司 Scalable secondary storage systems and methods
CN102629247A (en) * 2011-12-31 2012-08-08 成都市华为赛门铁克科技有限公司 Method, device and system for data processing
CN103929500A (en) * 2014-05-06 2014-07-16 刘跃 Method for data fragmentation of distributed storage system
CN104883394A (en) * 2015-04-28 2015-09-02 浙江大学 Method and system for server load balancing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
追寻北极: ""MongoDB分片问题汇总"", 《HTTPS://BLOG.CSDN.NET/JOEYON1985/ARTICLE/DETAILS/46123199》 *

Similar Documents

Publication Publication Date Title
US8442942B2 (en) Combining hash-based duplication with sub-block differencing to deduplicate data
EP2881854A1 (en) Storage method and apparatus for distributed file system
US20150186376A1 (en) Tile Cache
WO2004097565A3 (en) Data preservation across an enterprise
CN103034516B (en) The method of application and the terminal opening
CN102156738A (en) Method for processing data blocks, and data block storage equipment and system
US20130276126A1 (en) Website scanning device and method
US9870288B2 (en) Container-based processing method, apparatus, and system
WO2013152660A1 (en) Operating system startup acceleration method and device, terminal and computer storage medium
JP5758995B2 (en) System for sharing the results of the analysis between virtual machines, methods and computer-readable storage medium
US20120260053A1 (en) Cascade ordering
US20140164391A1 (en) Data block saving system and method
WO2010009085A3 (en) System, program product, and related methods for bit design optimization and selection
WO2010109568A1 (en) Storage device
EP2737395B1 (en) System and method for virtual partition monitoring
CN102937882B (en) Efficient access to the storage device with the use of bitmaps
US9876696B2 (en) Method and system for processing browser crash information
US9195666B2 (en) Location independent files
EP2688000A1 (en) Data deduplication method and device
CN101840314B (en) Method, device and server for expanding storage space of database
US8667245B2 (en) Spatial extent migration for tiered storage architecture
WO2015175062A3 (en) Modified memory compression
CN103246578B (en) Methods of processing software crashes and crash-processing browser
US8966142B2 (en) Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique
CN104423894B (en) Data storage device and a control method of a flash memory

Legal Events

Date Code Title Description
C06 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information