一种基于云存储服务价格的数据碎片减少方法
【专利摘要】本发明一种基于云存储服务价格的数据碎片减少方法,该方法权衡存储空间服务费和采用重复数据删除技术所产生的数据碎片读取服务费(该数据碎片读取服务费不包含数据传输服务费),识别导致数据读取服务费大于所节约的数据存储空间服务费的数据碎片块,通过在云存储系统中保留这些数据碎片块不进行重复数据删除操作,从而减少云存储系统中的数据碎片量,减少用户所需支付的数据读取服务费用,使用户能够以最低的服务价格享受云存储系统所提供的数据存储服务。
【专利说明】
一种基于云存储服务价格的数据碎片减少方法
技术领域
[0001]本发明属于计算机信息存储技术领域,具体涉及一种基于云存储服务价格的用于减少云存储系统中数据碎片的方法。
【背景技术】
[0002]随着信息时代的来临,数据呈现爆炸式地增长,IDC预测到2020年全球将产生44ZB的数据。而作为对外提供存储服务的云存储系统,目前普遍采用重复数据删除技术来减少用户所存储的数据量。不过,该技术虽然能够节约存储空间成本,但是会引入大量的数据碎片。这主要是因为采用重复数据删除技术之后,逻辑上连续的数据块在物理空间上被分散存储,导致读数据时需要大量的数据读取操作,使用户产生大量的数据读取服务费用。例如,组成一个文件的N个连续的数据块在删除重复数据块之后,这N个连续的数据块很可能存储在云存储系统中N个不同的存储对象中(存储对象为云存储系统中数据存储的物理单位,一个存储对象通常为数百MB字节或数GB字节),导致读取这个文件需要N次的数据读取操作。而在云存储服务系统中,数据读取服务按数据读取的操作次数进行收费,因此用户读取该文件I次则需要支付N次的数据读取操作费用,若用户频繁读取该文件,则将产生巨大的数据读取服务费。
[0003]为了减少用户使用云存储服务所产生的存储服务费(包括数据存储空间服务费和数据读取操作服务费),本发明一种基于云存储服务价格的数据碎片减少方法,该方法权衡存储空间服务费和采用重复数据删除技术所产生的数据碎片读取服务费(该数据碎片读取服务费不包含数据传输服务费),识别导致用户所产生的数据读取服务费大于所节约的数据存储空间服务费的数据碎片块,通过在云存储系统中保留这些数据碎片块不进行重复数据删除操作,从而减少云存储系统中的数据碎片量,减少用户所需支付的数据读取服务费用,使用户能够以最低的服务价格享受云存储系统所提供的数据存储服务。
【发明内容】
[0004]本发明一种基于云存储服务价格的数据碎片减少方法,该方法权衡存储空间服务费和采用重复数据删除技术所产生的数据碎片读取服务费(该数据碎片读取服务费不包含数据传输服务费),识别导致用户所产生的数据读取服务费大于所节约的数据存储空间服务费的数据碎片块,通过在云存储系统中保留这些数据碎片块不进行重复数据删除操作,从而减少云存储系统中的数据碎片量,减少用户所需支付的数据读取服务费用,使用户能够以最低的服务价格享受云存储系统所提供的数据存储服务。
[0005]本发明的核心思想是识别导致用户所产生的数据读取服务费大于所节约的数据存储空间服务费的数据碎片段,数据碎片段是指存储在同一个存储对象中地址连续的多个重复数据块,同一个存储对象中可能存在多个数据碎片段。若对于某个数据碎片段,其产生的数据读取服务费大于所节约的存储空间服务费,则认定为该数据碎片段中的所有数据碎片块均为重写数据碎片块,将不对这些数据碎片块进行重复数据删除操作。如公式I所示,不等号左侧为某个数据碎片段所产生的数据读取服务费,右侧为所节约的存储空间服务费,若某个数据碎片段满足公式1,则表明该数据碎片段将产生的数据读取服务费大于所节约的存储空间费。其中不等号左侧中Cge3t指进行I次数据读取操作时所产生的数据读取服务费,该费用不包含数据传输服务费,与数据碎片段的总大小无关;Nre3ad是指用户读取该数据碎片段的次数,Cge3t*Nre3ad即为用户读取该数据碎片段所产生的数据读取服务费;不等号右侧DataSize为数据碎片段的总大小,单位为GB,Cst_ge3为每GB所需要的存储空间服务费,DataSiZe*Cst_ge即为用户存储该数据碎片段所需要支付的存储空间服务费。
[0006]Cget*Nread>DataSize*Cstorage (公式 I)
[0007]本发明的主要流程为:
[0008](I)云存储服务端接收用户客户端发送的属于同一个文件的数据块信息(包括数据块内容,数据块长度,数据块指纹等)。
[0009](2)云存储服务端在云存储系统中查找步骤(I)中得到的数据块是否为重复数据块,若是,则标记对应的数据块为重复数据块,否则,则标记对应的数据块为非重复数据块。
[0010](3)得到由步骤(2)中所标记的重复数据块组成的数据碎片段,数据碎片段由存储在同一个存储对象的地址连续的重复数据块组成,同一个存储对象中可能存在多个数据碎片段。
[0011](4)根据公式I计算步骤(3)中得到的每个数据碎片段的数据读取服务费以及存储空间服务费(其中数据读取次数由系统给出一个固定值或者系统根据经验数据给出一个预测值),若数据读取服务费大于存储空间服务费,则标记对应数据碎片段里面的所有数据块为重写数据碎片块,否则,则标记对应数据碎片段里面的所有数据块为非重写数据碎片块。
[0012](5)将步骤(4)中标记出的所有重写数据碎片块和步骤(2)中标记出的所有非重复数据块一起写入云存储系统的存储对象中,并删除步骤(4)中所标记出的非重写数据碎片块。
【附图说明】
[0013]图1为本发明的流程图
【具体实施方式】
[0014]本发明涉及用户客户端和云存储服务端。用户客户端主要向云存储服务端发送需要存储的文件数据信息,云存储服务端则使用云存储系统存储用户发送过来的数据。重复数据删除技术可以在云存储服务端独立实现,也可以通过云存储服务端和用户客户端协作实现。本发明的方法可以与重复数据删除技术的任意一种实现方式进行结合。
[0015]图1为本发明的流程图。具体步骤如下:
[0016](I)云存储服务端接收用户客户端发送过来的属于同一个文件的数据块信息,该数据块信息包括数据块的元数据信息和数据内容信息。数据块的元数据信息包括数据块的长度、用来唯一标记数据块的数据块指纹等。
[0017](2)云存储服务端在云存储系统中查找步骤(I)中所得的数据块是否为重复数据块,具体步骤如下:
[0018](2.1)读取其中一个数据块,在云存储系统中查看该数据块是否为已经存储过的数据块。若是,则标记该数据块为重复数据块,否则,则标记该数据块为非重复数据块。
[0019](2.2)若步骤(I)中的数据块全部读取完毕,则进入下一个步骤,否则转入步骤(2.1)0
[0020](3)得到步骤(2.1)中所标记的重复数据块组成的数据碎片段,数据碎片段由步骤
(2.1)中所标记的存储于同一个存储对象的地址连续的重复数据块组成。
[0021](4)查找步骤(3)中所得到的数据碎片段是否为重写数据碎片段。具体步骤如下:
[0022](4.1)得到一个数据碎片段,根据公式I计算该数据碎片段的数据读取服务费以及存储空间服务费(其中数据读取次数由系统给出一个固定值或者系统根据经验数据给出一个预测值),若数据读取服务费大于存储空间服务费,则标记该数据碎片段里的所有数据块为重写数据碎片块,否则,则标记该数据碎片段里的所有数据块为非重写数据碎片块。
[0023](4.2)若步骤(4)中的所有的数据碎片段已全部计算完毕,则进入下一个步骤,否则转入步骤(4.1)。
[0024](5)将步骤(4.1)中标记出的所有重写数据碎片块和步骤(2.1)中标记出的所有非重复数据块一起写入云存储系统的存储对象中,并删除步骤(4.1)中所标记出的非重写数据碎片块。
【主权项】
1.本发明一种基于云存储服务价格的数据碎片减少方法,具体步骤为: (1)云存储服务端接收用户客户端发送的属于同一个文件的数据块信息(包括数据块内容,数据块长度,数据块指纹等)。 (2)云存储服务端在云存储系统中查找步骤(I)中得到的数据块是否为重复数据块,若是,则标记对应的数据块为重复数据块,否则,则标记对应的数据块为非重复数据块。 (3)得到由步骤(2)中所标记的重复数据块组成的数据碎片段,数据碎片段由存储在同一个存储对象的地址连续的重复数据块组成,同一个存储对象中可能存在多个数据碎片段。 (4)计算步骤(3)中得到的每个数据碎片段的数据读取服务费以及存储空间服务费,若数据读取服务费大于存储空间服务费,则标记对应数据碎片段里面的所有数据块为重写数据碎片块,否则,则标记对应数据碎片段里面的所有数据块为非重写数据碎片块。 (5)将步骤(4)中标记出的所有重写数据碎片块和步骤(2)中标记出的所有非重复数据块一起写入云存储系统的存储对象中,并删除步骤(4)中所标记出的非重写数据碎片块。2.根据权利要求1所述的方法,其特征在于,所述步骤(4)中计算每个数据碎片段的数据读取服务费以及存储空间服务费,找出数据读取服务费大于存储空间服务费的数据碎片段,如公式I所示。若满足公式I,则说明数据读取服务费大于存储空间服务费,标记对应数据碎片段里的所有数据块为重写数据碎片块,不对这些数据块进行重复数删除操作;否则,则说明数据读取服务费小于或等于存储空间服务费,需要删除其对应数据碎片段里面的所有数据块。Cget*Nread〉DataSi Ze*Cstorage (公式 I ) 在上述公式I中,不等号左侧中Cget指进行I次数据读取操作时所产生的数据读取服务费,该费用不包含数据传输服务费,与数据碎片段的总大小无关;Nre3ad是指用户读取该数据碎片段的次数,Cge3t*Nre3ad即为用户读取该数据碎片段所产生的数据读取服务费;不等号右侧DataSize为数据碎片段的总大小,单位为GB,Cst_ge3为每GB所需要的存储空间服务费,DataSiZe*Cst_ge即为用户存储该数据碎片段所需要支付的存储空间服务费。
【文档编号】G06F17/30GK105930534SQ201610443197
【公开日】2016年9月7日
【申请日】2016年6月20日
【发明人】谭玉娟, 晏志超
【申请人】重庆大学