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

文档序号:9202696阅读:来源:国知局
选择一个存储数据副本的数据存储节点,并将第一操作指令发送给选择的数据存储将诶点。
[0040]步骤217:根据第一操作指令,对选择的数据存储节点中的副本进行读取。
[0041]根据第一操作指令,读取选择的数据存储节点中的数据。
[0042]步骤218,判断对该数据是否读取成功,如果判断结果为是,执行步骤22,在进行读操作成功之后,更新所述保留的数据块对应的访问频率。反之,执行步骤221。
[0043]步骤219:所有的数据块处理完成时,返回与第一操作指令对应的结果。
[0044]其中,所有的数据块处理完成时,返回数据读操作请求的结果。
[0045]步骤220:若没有查找到对应的数据副本时,返回数据块分配异常。
[0046]步骤221:若数据块读取失败时,返回数据块输入输出异常。
[0047]在上述步骤14指示分布式数据存储系统中的各数据存储节点共享保留的数据块之后,还包括对分布式数据存储系统中的数据进行读操作和写操作的具体处理方式,其中,对分布式数据存储系统中的数据进行写操作的具体处理如下述:
[0048]步骤一,接收对保留的数据块中的数据进行写操作的第二操作指令。
[0049]步骤二,在对所述保留的数据块进行写操作成功之后,更新保留的数据块对应的访问频率。
[0050]步骤三,在确定出所述写操作成功的数据块已进行过备份存储时,根据第二操作指令,对备份存储的数据块中的数据进行写操作后存储。
[0051]其中,对保留的数据块中的数据进行写操作,如图3所示,可以包括下述步骤:
[0052]步骤511,根据接收到的第二操作指令,确定待进行写操作的数据块。
[0053]步骤512,根据待进行写操作的数据块的逻辑地址,查找和所述待进行写操作的数据块副本和存储副本的数据存储节点。
[0054]其中,可以在接收到进行读操作的第二操作指令时,根据数据读操作所在的数据卷、逻辑地址偏移量和长度,计算第二操作指令对应的数据块列表。
[0055]步骤513,判断是否所有的数据块均处理完成,如果判断结果为是,执行步骤523,反之,执行步骤514。
[0056]步骤514,在查找到的存储副本的数据存储节点中,选择其中一个数据存储节点。
[0057]根据逻辑地址,采用平衡树结构,查找对应的数据库块副本和存储该副本的数据存储节点。
[0058]步骤515,判断是否找到与第二操作指令对应的数据块副本。如果判断结果为是,执行步骤515A,反之,执行步骤524。
[0059]步骤515A,判断该选择的数据块是否在工作缓冲区,如果判断结果为是,执行步骤516,反之,执行步骤525。
[0060]步骤516,将查找到的数据块副本按照第二操作指令进行写操作,在写操作完成后数据块副本存储到数据存储节点中。
[0061]其中,可以将对该选择的数据块进行写操作,发送给分布式数据存储节点中所有存储该数据块副本的数据存储节点。
[0062]步骤517,按照第二操作指令,对数据块进行写操作。
[0063]步骤518,判断分布式存储系统中所有相同的数据开副本的写操作是否成功,如果判断结果为是,执行步骤519,反之,执行步骤526。
[0064]步骤519,更新写操作完成后的数据块的访问频率。
[0065]其中,可以增加进行写操作的数据块的写操作技术。
[0066]进一步地,还可以包括下述步骤:
[0067]步骤520,判断数据块是否存储在预备份存储节点中,如果判断结果为是,执行步骤521,反之执行步骤527。
[0068]步骤521,该数据块存储在预备份存储节点中,以异步处理的方式将第二操作指令发送给预备份存储节点,并进行共享关系处理。
[0069]步骤522,返回数据块写操作成功。进而返回执行判断所有数据块是否处理完成的步骤。
[0070]步骤523,返回与第二操作指令对应的写操作结果。
[0071]步骤524,若未找到对应的数据副本,则为数据卷分配数据块。
[0072]步骤525,若数据块未在工作缓冲区,则可以选择若干个数据数据节点,将第二操作指令发送给选择的数据存储节点中。并继续执行步骤516。
[0073]步骤526,若数据块写操作失败时,返回数据块输入输出异常。
[0074]步骤527,通过异步的方式转发第二操作指令给预备份存储节点,进行共享关系处理。
[0075]本发明实施例提出的技术方案中,对于分布式数据存储系统中的数据,首先区分冷数据和热数据,对于冷数据的写操作,首先在数据存储节点集群中,正常写入数据的各个副本。并把请求的信息发送给分布式数据存储系统中的预备份存储节点。如果预备份存储节点自身存储有该数据块信息,则会降低该数据块的引用计数,即解除冗余数据块服务的共享。如果没有共享情况,则在预备份存储节点中直接放弃该数据块。如果预备份存储节点内没有该数据块,则可忽略该信息。
[0076]对于数据备份操作,分布式数据存储系统中的备份进程会首先在预备份存储节点中查找要备份的数据块。如果找到该数据块则会直接从预备份存储节点中读取数据块。如果没有找到该数据块则从在存储节点上读取该数据块。这样,大部分冷数据的I/o请求都会落在预备份存储节点上,从而降低备份操作对在线数据存储节点的性能影响。
[0077]相应地,本发明实施还提出一种数据存储装置,如图4所示,包括:
[0078]接收模块401,用于在分布式数据存储系统中,若确定出数据块中的数据是冷数据时,接收并备份存储所述冷数据。
[0079]存储模块402,用于根据备份存储的所述冷数据,在确定出数据存储节点中至少有两个和所述冷数据相同的数据块时,保留其中一个数据存储节点中的数据块。
[0080]指示模块403,用于指示分布式数据存储系统中的各数据存储节点共享保留的数据块。
[0081]可选地,所述装置还包括确定模块,用于在第一设定时长内,确定数据存储节点中的每个数据块的访问频率和值,并确定每个数据块的访问频率,若单个数据块的访问频率和所述访问频率和值的比值小于第一设定阈值时,确定所述数据块中的数据是冷数据。
[0082]可选地,所述接收模块,还用于接收对保留的数据块中的数据进行读操作的第一操作指令;所述装置还包括:更新模块,用于在进行读操作成功之后,更新所述保留的数据块对应的访问频率。
[0083]可选地,所述装置还包括:确定模块,还用于根据接收到的第一操作指令,确定待进行读操作的数据块;查找模块,用于根据所述待进行读操作的数据块的逻辑地址,查找和所述待进行读操作的数据块副本和存储所述副本的数据存储节点;选择模块,用于在查找到的存储所述副本的数据存储节点中,选择其中一个数据存储节点;发送模块,还用于将所述第一操作指令发送给选择的数据存储节点;读取模块,用于根据所述第一操作指令,对选择的数据存储节点中的副本进行读取。
[0084]可选地,所述接收模块,还用于接收对保留的数据块中的数据进行写操作的第二操作指令;所述装置还包括:更新模块,在对所述保留的数据块进行写操作成功之后,更新所述保留的数据块对应的访问频率;在确定出所述写操作成功的数据块已进行过备份存储时,根据所述第二操作指令,对备份存储的数据块中的数据进行写操作后存储。
[0085]可选地,该装置还包括:确定模块,用于根据接收到的第二操作指令,确定待进行写操作的数据块;查找模块,用于根据所述待进行写操作的数据块的逻辑地址,查找和所述待进行写操作的数据块副本和存储所述副本的数据存储节点;将查找到的数据块副本按照第二操作指令进行写操作,在写操作完成后数据块副本存储到数据存储节点中;更新模块,用于更新写操作完成后的数据块的访问频率。
[0086]采用上述技术方案,能够实现自动监测数据块级别的访问热度,动态将冷数据的副本占用降低,释放存储空间,提高存储空间的利用率。能够利用在线存储系统外的预备份存储节点上进行复杂的消冗操作,并根据结果来调整在线数据块副本
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1