一种数据存储方法及装置的制造方法

文档序号:9202696阅读:218来源:国知局
一种数据存储方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术领域,尤其是涉及一种数据存储方法及装置。
【背景技术】
[0002]分布式数据存储系统,是由分布于多个计算机节点的若干个数据存储系统组成。其中,分布于多个计算机节点的数据存储系统,又可以称之为数据存储节点。
[0003]在分布式数据存储系统中,通常采用数据备份的方式来保证数据存储的可靠性。其中,作为备份存储的数据可以称之为副本。一般情况下,分布式数据存储系统采用多副本的方式来保证数据存储的可靠性。例如,采用2副本或者3副本技术,其实现方式为将提供给用户使用的存储卷划分成固定大小的数据块。对于数据块,系统会在不同的数据存储节点上保留固定数量的数据副本。随着技术的不断发展,数据消冗技术出现在分布式数据存储系统中,其主要方法类似于数据压缩技术,分别以不同长度来查找和比对某个存储卷内的数据,压缩数据存储空间。对于重复的数据块只保留I份,以节省存储空间。
[0004]现有的分布式数据存储系统一般采用固定的数据副本(如:2或3副本),不支持数据副本数量的增加和减少。一旦系统运行后,则不再支持副本变化。其主要缺点是对于数据存储节点中存储的访问次数较少的冷数据,需要同样占用多副本存储空间,使得无法腾出较多的存储空间给数据存储节点中存储的访问次数较多的热点数据使用,造成存储空间的有效利用率较低。另外,对于数据的备份操作,需要从在线的数据存储节点上读取数据,这样会对正常业务操作产生一定影响和干扰。
[0005]综上所述,在分布式数据存储系统中,存储空间的有效利用率较低,且从在线的数据存储节点上读取数据,对正常业务操作产生一定影响和干扰。

【发明内容】

[0006]本发明提供了一种数据存储方法及装置,能够较好地解决在分布式数据存储系统中,存储空间的有效利用率较低,且从在线的数据存储节点上读取数据,对正常业务操作产生一定影响和干扰的问题。
[0007]—种数据存储方法,包括:在分布式数据存储系统中,若确定出数据块中的数据是冷数据时,接收并备份存储所述冷数据;根据备份存储的所述冷数据,在确定出数据存储节点中至少有两个和所述冷数据相同的数据块时,保留其中一个数据存储节点中的数据块;并指示分布式数据存储系统中的各数据存储节点共享保留的数据块。
[0008]一种数据存储装置,包括:接收模块,用于在分布式数据存储系统中,若确定出数据块中的数据是冷数据时,接收并备份存储所述冷数据;存储模块,用于根据备份存储的所述冷数据,在确定出数据存储节点中至少有两个和所述冷数据相同的数据块时,保留其中一个数据存储节点中的数据块;指示模块,用于指示分布式数据存储系统中的各数据存储节点共享保留的数据块。
[0009]采用上述技术方案,对于数据存储操作,首先区分冷热数据,进而对冷数据进行相应的处理,这样,可以降低备份操作对在线数据存储节点的性能影响。能够较好地解决在分布式数据存储系统中,存储空间的有效利用率较低,且从在线的数据存储节点上读取数据,对正常业务操作产生一定影响和干扰的问题。
【附图说明】
[0010]图1为本发明实施例中,提出的一种数据存储方法流程图;
[0011]图2为本发明实施例中,提出的对存储的数据进行读操作方法流程图;
[0012]图3为本发明实施例中,提出的对存储的数据进行写操作方法流程图;
[0013]图4为本发明实施例中,提出的一种数据存储装置结构组成示意图。
【具体实施方式】
[0014]下面将结合各个附图对本发明实施例技术方案的主要实现原理、【具体实施方式】及其对应能够达到的有益效果进行详细地阐述。
[0015]本发明实施例提出一种数据存储方法,如图1所示,其具体处理流程如下述:
[0016]步骤11,在分布式数据存储系统中,确定数据块中的数据是否是冷数据,如果判断结果为是,执行步骤12,反之结束处理。
[0017]在第一设定时长内,确定数据存储节点中的每个数据块的访问频率和值,并确定每个数据块的访问频率,若单个数据块的访问频率和访问频率和值的比值小于第一设定阈值时,确定所述数据块中的数据是冷数据。
[0018]本发明实施例提出的技术方案中,分布式数据存储系统中,包括至少一个数据存储节点,以及包括至少一个预备份存储节点。其中在数据存储节点中,存储有数据块(英文:Chunk)的元数据对象记录数据块副本的数量和地址信息。预备份存储节点用于存储冷数据。
[0019]其中,在每个数据存储节点中通过大规模数组记录所有数据块的读写次数。较佳地,本发明实施提出的技术方案中,可以周期性地统计所有数据存储节点上所有数据块的读写次数。对于相同数据块的不同副本,本发明实施例提出的技术方案中,累加其所有副本的读写次数。
[0020]一种较佳地实现方式,本发明实施例提出的技术方案中,对于数据存储节点中存储的访问次数高于一定比例的数据块(例如大于20%),将这部分数据块标记为热数据。而对于数据存储节点中存储的访问次数低于一定比例的数据块(例如:60%),将这部分数据块Chunk标记为冷数据。
[0021]步骤12,若确定出数据块中的数据是冷数据时,接收并备份存储冷数据。
[0022]步骤13,根据备份存储的冷数据,在确定出数据存储节点中至少有两个和冷数据相同的数据块时,保留其中一个数据存储节点中的数据块。
[0023]步骤14,指示分布式数据存储系统中的各数据存储节点共享保留的数据块。
[0024]在上述步骤11?步骤14中,可以周期性地将冷数据复制到预备份存储节点中。预备份存储节点可以查找和比对接收到冷数据块的内容。对于相同的数据块只保留一份,并且发送指令,来使得在线的数据存储节点共享该数据块,从而达到释放存储空间和数据副本消冗的目的。
[0025]较佳地,本发明实施例提出的技术方案中,统计的周期可以设置为数小时。例如可以是3个小时,或者4个小时等等。每个统计周期之后,可以将所有数据块的读写计数下调一定比例,(例如:30%)。可以使得数据块的读写次数信息能够更准确地反映近期的数据读写负载状态。此外,本发明实施例提出的技术方案中,在对分布式存储系统中的数据进行读或写的操作过程中,仅需要额外更新数据块的引用计数或访问计数,开销小,不影响正常读写操作。
[0026]在上述步骤14指示分布式数据存储系统中的各数据存储节点共享保留的数据块之后,还包括对分布式数据存储系统中的数据进行读操作和写操作的具体处理方式,其中,对分布式数据存储系统中的数据进行读操作的具体处理流程如下述:
[0027]步骤一,接收对保留的数据块中的数据进行读操作的第一操作指令。
[0028]步骤二,在进行读操作成功之后,更新所述保留的数据块对应的访问频率。
[0029]可以增加该保留的数据块对应的读操作计数。
[0030]其中,对保留的数据块中的数据进行读操作,具体如图2所示,可以包括下述步骤:
[0031]步骤211:根据接收到的第一操作指令,确定待进行读操作的数据块。
[0032]步骤212:根据待进行读操作的数据块的逻辑地址,查找和待进行读操作的数据块副本和存储副本的数据存储节点。
[0033]其中,可以在接收到进行读操作的第一操作指令时,根据数据读操作所在的数据卷、逻辑地址偏移量和长度,计算第一操作指令对应的数据块列表。
[0034]步骤213,判断是否所有的数据块均处理完成,如果判断结果为是,执行步骤219,反之,执行步骤214。
[0035]步骤214:在查找到的存储副本的数据存储节点中,选择其中一个数据存储节点。
[0036]可以根据逻辑地址、通过平衡树结构,查找对应的数据块副本和该副本所在的数据存储节点。
[0037]步骤215:判断是否找到对应的数据副本,如果判断结果为是,执行步骤216,反之执行步骤220。
[0038]步骤216:将第一操作指令发送给选择的数据存储节点。
[0039]其中,可以根据设定的策略,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1