CN111399768A - 一种数据的存储方法、***、设备及计算机可读存储介质 - Google Patents
一种数据的存储方法、***、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111399768A CN111399768A CN202010110907.9A CN202010110907A CN111399768A CN 111399768 A CN111399768 A CN 111399768A CN 202010110907 A CN202010110907 A CN 202010110907A CN 111399768 A CN111399768 A CN 111399768A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- value
- deduplication
- storing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013500 data storage Methods 0.000 title claims abstract description 36
- 238000012986 modification Methods 0.000 claims description 29
- 230000004048 modification Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
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
技术领域
本发明涉及存储技术领域,特别是涉及一种数据的存储方法、***、设备及计算机可读存储介质。
背景技术
在存储领域,海量数据查询和存储需要占用超大的资源,在这些数据中,存在着大量的重复数据。因此,为了降低存储数据占用的资源,提高数据存储的性能,重复数据会只保存一份在存储介质中,不影响数据一致性,又能够减少盘上的数据存放量,也就是重复数据的删除,通常也称为重删。
目前的方案在实现重删时,是先按照逻辑地址对齐的方式,并以固定长度的数据为粒度进行拆分,然后将重复数据删除。以粒度大小为256k为例,按照逻辑地址对齐的方式进行拆分,即256k的整数倍地址为每个grain的数据起始位置,然后依次向后的256k数据为一个grain,实现将数据拆分成256k的目的。但是,这种拆分方式仅能保证逻辑地址是对齐的。而例如出现了图1的情况时,两份相同的数据先后写入存储***,但是,数据写入的逻辑地址未必与256k的整数倍对齐。在这种情况下,即便写入了完全相同的两份数据,也无法实现重删。具体的,第一次写入时,数据逻辑地址的起始地址是grain的整数倍,该io在同一个存储卷io中处理,第二次写入时,数据逻辑地址的起始地址并非grain的整数倍,而存储卷以grain对齐的方式切分本次io之后,一个完整的256k的io会被拆为两个io处理,并导致拆分完成后无法实现重删,导致***重删率下降,也就不利于提高数据存储的性能。
综上所述,如何有效地提高重删率以提高数据存储的性能,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种数据的存储方法、***、设备及计算机可读存储介质,以有效地提高重删率以提高数据存储的性能。
为解决上述技术问题,本发明提供如下技术方案:
一种数据的存储方法,包括:
在接收到待写入数据之后,从所述待写入数据的起始位置开始,按照预设的粒度值进行拆分;
将进行了拆分之后的所述待写入数据进行重删;
存储经过重删之后的数据。
优选的,还包括:
接收粒度值修改指令;
将预设的所述粒度值的取值调整为所述粒度值修改指令中携带的数值。
优选的,所述粒度值修改指令中携带的数值为通过以下操作确定的数值:
统计在第一时长内接收到的各次待写入数据的平均大小,基于所述平均大小,确定出对应的数值作为所述粒度值修改指令中携带的数值。
优选的,所述平均大小与确定出的数值呈正相关。
优选的,在存储经过重删之后的数据之后,还包括:
输出表示存储完毕的提示信息。
一种数据的存储***,包括:
数据拆分模块,用于在接收到待写入数据之后,从所述待写入数据的起始位置开始,按照预设的粒度值进行拆分;
数据重删模块,用于将进行了拆分之后的所述待写入数据进行重删;
数据存储模块,用于存储经过重删之后的数据。
优选的,还包括:
粒度值修改指令接收模块,用于接收粒度值修改指令;
粒度值取值调整模块,用于将预设的所述粒度值的取值调整为所述粒度值修改指令中携带的数值。
优选的,还包括:
提示信息输出模块,用于在所述数据存储模块存储经过重删之后的数据之后,输出表示存储完毕的提示信息。
一种数据的存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任一项所述的数据的存储方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的数据的存储方法的步骤。
应用本发明实施例所提供的技术方案,并不是按照逻辑地址对齐的方式进行拆分,针对待写入数据,是从待写入数据的起始位置开始,按照预设的粒度值进行拆分,因此不会出现传统的方案中由于写入的逻辑地址不对齐导致的重删率升高的情况。如果两次进行的待写入数据的数据内容相同,不会出现传统方案中无法实现重删的情况。因此,本申请的方案可以有效地提高重删率,进而有利于提高数据存储的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统方案中按照逻辑地址对齐进行数据拆分的示意图;
图2为本发明中一种数据的存储方法的实施流程图;
图3为本发明中一种数据的存储***的结构示意图;
图4为本发明中一种数据的存储方法的结构示意图。
具体实施方式
本发明的核心是提供一种数据的存储方法,可以有效地提高重删率,进而有利于提高数据存储的性能。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明中一种数据的存储方法的实施流程图,该数据的存储方法可以包括以下步骤:
步骤S101:在接收到待写入数据之后,从待写入数据的起始位置开始,按照预设的粒度值进行拆分。
具体的,可以接收主机下发的待写入数据,接收到待写入数据之后,本申请进行拆分时,是从待写入数据的起始位置开始,按照预设的粒度值进行拆分。例如预设的粒度值的8k,待写入数据表示为XXXXYYYYZZZZ,并且,此处的X、Y、Z均表示的是8k大小的数据,则针对待写入数据XXXXYYYYZZZZ,无论其数据的逻辑地址是什么,按照本申请的原则进行了拆分之后,拆分结果都会是唯一确定的,该例子中会被拆分为X,X,X,X,Y,Y,Y,Y,Z,Z,Z,Z。即得到4个X,4个Y以及4个Z。
步骤S102:将进行了拆分之后的待写入数据进行重删。
在进行了拆分之后,便可以将重复的数据删除,例如上述例子中得到了4个X,4个Y以及4个Z,在执行步骤S102时,便只会保留1个X,1个Y以及1个Z,从而有效地降低存储数据占用的资源。当然,由于只存储1个X,1个Y以及1个Z,而重删之前的数据是XXXXYYYYZZZZ,该映射信息通常需要存储在相应数据库中。
步骤S103:存储经过重删之后的数据。
由于是将进行了重删之后的数据落盘,而不是直接存储待写入数据,有利于降低存储数据占用的存储空间。
进一步的,在本发明的一种具体实施方式中,还可以支持用户手动地调整拆分时的粒度,具体的,还可以包括以下两个步骤:
步骤一:接收粒度值修改指令;
步骤二:将预设的粒度值的取值调整为粒度值修改指令中携带的数值。
在实际应用中,通常会预先设定一个默认值作为拆分时需要利用到的粒度值,本申请的方案中,进一步考虑到业务情况会不断变化,原先设定的粒度值可能无法很好地满足当前的业务需求,因此,用户可以根据实际需要、经验总结,通过输入设备发送粒度值修改指令。接收到用户发送的粒度值修改指令之后,将预设的粒度值的取值调整为粒度值修改指令中携带的数值,便使得本申请的方案可以支持用户手动地调整拆分时的粒度,有利于进一步地提高当前情况下的重删率。
当然,除了用户手动地调整拆分时的粒度,也可以设定相应的策略,对粒度值进行自动调整。例如,粒度值修改指令可以是周期性地自动生成的,粒度值修改指令中携带的数值可以为通过以下操作确定的数值:
统计在第一时长内接收到的各次待写入数据的平均大小,基于平均大小,确定出对应的数值作为粒度值修改指令中携带的数值。
该种实施方式中,考虑到单次待写入数据的大小差异情况较大,因此,统计在第一时长内接收到的各次待写入数据的平均大小,以反映当前时间段的待写入数据的情况,进而能够反映出当前时间段的业务情况。当然,第一时长的具体取值也可以根据实际需要进行设定和调整,并不影响本发明的实施。
在基于平均大小确定出对应的数值作为粒度值修改指令中携带的数值时,考虑到待写入数据较小时,应当适当降低粒度值的大小,避免粒度过大导致重复数据较少,重删率较低的情况。相应的,待写入数据较大时,可以适当地提高粒度值大小。即平均大小可以与确定出的数值呈正相关。
在本发明的一种具体实施方式中,在步骤S103之后,还可以包括:输出表示存储完毕的提示信息,以使得用户可以接收到反馈。
应用本发明实施例所提供的技术方案,并不是按照逻辑地址对齐的方式进行拆分,针对待写入数据,是从待写入数据的起始位置开始,按照预设的粒度值进行拆分,因此不会出现传统的方案中由于写入的逻辑地址不对齐导致的重删率升高的情况。如果两次进行的待写入数据的数据内容相同,不会出现传统方案中无法实现重删的情况。因此,本申请的方案可以有效地提高重删率,进而有利于提高数据存储的性能。
相应于上面的方法实施例,本发明实施例还提供了一种数据的存储***,可与上文相互对应参照。
可参阅图3,为本发明中一种数据的存储***的结构示意图,可以包括:
数据拆分模块301,用于在接收到待写入数据之后,从待写入数据的起始位置开始,按照预设的粒度值进行拆分,
数据重删模块302,用于将进行了拆分之后的待写入数据进行重删;
数据存储模块303,用于存储经过重删之后的数据。
在本发明的一种具体实施方式中,还包括:
粒度值修改指令接收模块,用于接收粒度值修改指令;
粒度值取值调整模块,用于将预设的粒度值的取值调整为粒度值修改指令中携带的数值。
在本发明的一种具体实施方式中,粒度值修改指令中携带的数值为通过粒度值自动调整模块确定的数值:
粒度值自动调整模块,用于统计在第一时长内接收到的各次待写入数据的平均大小,基于平均大小,确定出对应的数值作为粒度值修改指令中携带的数值。
在本发明的一种具体实施方式中,平均大小与确定出的数值呈正相关。
在本发明的一种具体实施方式中,还包括:
提示信息输出模块,用于在数据存储模块存储经过重删之后的数据之后,输出表示存储完毕的提示信息。
相应于上面的方法和***实施例,本发明实施例还提供了一种数据的存储设备以及一种计算机可读存储介质,可与上文相互对应参照。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例中的数据的存储方法的步骤。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
参阅图4,该数据的存储设备可以包括:
存储器401,用于存储计算机程序;
处理器402,用于执行计算机程序以实现如上述任一实施例中的数据的存储方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种数据的存储方法,其特征在于,包括:
在接收到待写入数据之后,从所述待写入数据的起始位置开始,按照预设的粒度值进行拆分;
将进行了拆分之后的所述待写入数据进行重删;
存储经过重删之后的数据。
2.根据权利要求1所述的数据的存储方法,其特征在于,还包括:
接收粒度值修改指令;
将预设的所述粒度值的取值调整为所述粒度值修改指令中携带的数值。
3.根据权利要求2所述的数据的存储方法,其特征在于,所述粒度值修改指令中携带的数值为通过以下操作确定的数值:
统计在第一时长内接收到的各次待写入数据的平均大小,基于所述平均大小,确定出对应的数值作为所述粒度值修改指令中携带的数值。
4.根据权利要求3所述的数据的存储方法,其特征在于,所述平均大小与确定出的数值呈正相关。
5.根据权利要求1所述的数据的存储方法,其特征在于,在存储经过重删之后的数据之后,还包括:
输出表示存储完毕的提示信息。
6.一种数据的存储***,其特征在于,包括:
数据拆分模块,用于在接收到待写入数据之后,从所述待写入数据的起始位置开始,按照预设的粒度值进行拆分;
数据重删模块,用于将进行了拆分之后的所述待写入数据进行重删;
数据存储模块,用于存储经过重删之后的数据。
7.根据权利要求6所述的数据的存储***,其特征在于,还包括:
粒度值修改指令接收模块,用于接收粒度值修改指令;
粒度值取值调整模块,用于将预设的所述粒度值的取值调整为所述粒度值修改指令中携带的数值。
8.根据权利要求6所述的数据的存储***,其特征在于,还包括:
提示信息输出模块,用于在所述数据存储模块存储经过重删之后的数据之后,输出表示存储完毕的提示信息。
9.一种数据的存储设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的数据的存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据的存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110907.9A CN111399768A (zh) | 2020-02-21 | 2020-02-21 | 一种数据的存储方法、***、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110907.9A CN111399768A (zh) | 2020-02-21 | 2020-02-21 | 一种数据的存储方法、***、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111399768A true CN111399768A (zh) | 2020-07-10 |
Family
ID=71434020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010110907.9A Pending CN111399768A (zh) | 2020-02-21 | 2020-02-21 | 一种数据的存储方法、***、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399768A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150142755A1 (en) * | 2012-08-24 | 2015-05-21 | Hitachi, Ltd. | Storage apparatus and data management method |
CN105493080A (zh) * | 2013-12-23 | 2016-04-13 | 华为技术有限公司 | 基于上下文感知的重复数据删除的方法和装置 |
US20160291877A1 (en) * | 2013-12-24 | 2016-10-06 | Hitachi, Ltd. | Storage system and deduplication control method |
CN106610794A (zh) * | 2016-11-21 | 2017-05-03 | 深圳市深信服电子科技有限公司 | 数据去重的收敛分块方法及装置 |
WO2018156503A1 (en) * | 2017-02-24 | 2018-08-30 | Netapp Inc. | Methods for performing data deduplication on data blocks at granularity level and devices thereof |
CN109800218A (zh) * | 2019-01-04 | 2019-05-24 | 平安科技(深圳)有限公司 | 分布式存储***、存储节点设备和数据去重方法 |
CN110427347A (zh) * | 2019-07-08 | 2019-11-08 | 新华三技术有限公司成都分公司 | 重复数据删除的方法、装置、存储节点及存储介质 |
-
2020
- 2020-02-21 CN CN202010110907.9A patent/CN111399768A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150142755A1 (en) * | 2012-08-24 | 2015-05-21 | Hitachi, Ltd. | Storage apparatus and data management method |
CN105493080A (zh) * | 2013-12-23 | 2016-04-13 | 华为技术有限公司 | 基于上下文感知的重复数据删除的方法和装置 |
US20160291877A1 (en) * | 2013-12-24 | 2016-10-06 | Hitachi, Ltd. | Storage system and deduplication control method |
CN106610794A (zh) * | 2016-11-21 | 2017-05-03 | 深圳市深信服电子科技有限公司 | 数据去重的收敛分块方法及装置 |
WO2018156503A1 (en) * | 2017-02-24 | 2018-08-30 | Netapp Inc. | Methods for performing data deduplication on data blocks at granularity level and devices thereof |
CN109800218A (zh) * | 2019-01-04 | 2019-05-24 | 平安科技(深圳)有限公司 | 分布式存储***、存储节点设备和数据去重方法 |
CN110427347A (zh) * | 2019-07-08 | 2019-11-08 | 新华三技术有限公司成都分公司 | 重复数据删除的方法、装置、存储节点及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829344A (zh) | 数据存储方法、装置及存储介质 | |
CN107436725A (zh) | 一种数据写、读方法、装置及分布式对象存储集群 | |
CN111427859B (zh) | 一种消息处理方法、装置、电子设备及存储介质 | |
CN110737388A (zh) | 数据预读方法、客户端、服务器以及文件*** | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN108874324B (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
CN110399096B (zh) | 分布式文件***元数据缓存重删的方法、装置以及设备 | |
CN113094183B (zh) | Ai训练平台的训练任务创建方法、装置、***及介质 | |
CN109471843A (zh) | 一种元数据缓存方法、***及相关装置 | |
CN109407997B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN111880734A (zh) | 一种数据处理方法、***、电子设备及存储介质 | |
CN113794764A (zh) | 服务器集群的请求处理方法、介质和电子设备 | |
CN110045924B (zh) | 分级存储方法、装置、电子设备及计算机可读存储介质 | |
CN109508150B (zh) | 一种存储空间分配的方法和装置 | |
CN109977074B (zh) | 一种基于hdfs的lob数据处理方法及装置 | |
CN111124307B (zh) | 一种数据下刷方法、装置、设备及可读存储介质 | |
CN111176570B (zh) | 一种厚置备卷创建方法、装置、设备及介质 | |
CN110109970B (zh) | 一种数据查询处理方法及装置 | |
CN111399768A (zh) | 一种数据的存储方法、***、设备及计算机可读存储介质 | |
CN111506254A (zh) | 分布式存储***及其管理方法、装置 | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN116700606A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN112463048B (zh) | 一种compact处理速度的调整方法、装置、电子设备和介质 | |
CN110866066B (zh) | 一种业务处理方法及装置 | |
CN110362769B (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200710 |