【技术实现步骤摘要】
数据更新技术
本专利技术涉及存储
,尤其涉及一种数据更新技术。
技术介绍
在存储系统中,通常基于纠错码(errorcorrectingcode,ECC)编码的可靠性技术来保证数据的可靠性。基于EC编码的可靠性技术是通过对待存储的数据进行编码,增加冗余位。在存储设备出现故障时,通过冗余位来恢复故障设备的数据。独立磁盘冗余阵列(RedundantArrayofIndependentDisks,RAID),又称廉价磁盘冗余阵列(RedundantArrayofInexpensiveDisks,RAID),简称磁盘阵列。其原理是通过将多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘,并且配合数据分散排列的设计,提升数据的安全性。随着RAID技术的发展,EC编码技术被应用于RAID技术中,以不断提高数据的安全性。例如,RAID5、RAID6及RAID7等均是基于EC编码技术实现的RAID技术。在基于RAID技术实现的存储系统中,可以将多个数据块与校验数据一起组成RAID的一个 ...
【技术保护点】
1.一种数据更新方法,所述方法应用于包含有管理节点和多个存储节点的存储系统中,所述多个存储节点构成磁盘冗余阵列RAID,其特征在于,包括:/n所述管理节点接收写请求,所述写请求中携带有待写入数据;/n所述管理节点根据所述待写入数据获得至少一个更新数据片,其中,所述至少一个更新数据片构成更新分条,所述更新分条用于更新所述RAID中的一个分条的一部分数据块,所述分条包括分别存储于所述多个存储节点中的数据块和校验块;/n所述管理节点向所述多个存储节点中的第一存储节点发送更新请求,所述更新请求中携带有所述更新分条中的一个更新数据片以及所述更新分条的完整性信息,其中,所述完整性信息用 ...
【技术特征摘要】
20160218 CN PCT/CN2016/0740591.一种数据更新方法,所述方法应用于包含有管理节点和多个存储节点的存储系统中,所述多个存储节点构成磁盘冗余阵列RAID,其特征在于,包括:
所述管理节点接收写请求,所述写请求中携带有待写入数据;
所述管理节点根据所述待写入数据获得至少一个更新数据片,其中,所述至少一个更新数据片构成更新分条,所述更新分条用于更新所述RAID中的一个分条的一部分数据块,所述分条包括分别存储于所述多个存储节点中的数据块和校验块;
所述管理节点向所述多个存储节点中的第一存储节点发送更新请求,所述更新请求中携带有所述更新分条中的一个更新数据片以及所述更新分条的完整性信息,其中,所述完整性信息用于指示所述更新分条的大小小于所述RAID的分条的大小,所述更新数据片是用于更新所述分条中的第一数据块的数据,所述第一数据块为所述分条中的任意一个数据块,所述第一数据块被存储于所述第一存储节点;
所述第一存储节点根据所述更新分条的完整性信息将所述更新数据片存储于所述第一存储节点的非易失性内存NVM中。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一存储节点向所述多个存储节点中的第二存储节点发送备份请求,所述备份请求中携带有所述更新数据片,所述备份请求用于指示所述第二存储节点对所述更新数据片进行备份。
3.根据权利要求1所述的方法,其特征在于,所述第一存储节点的NVM中存储有所述第一数据块的日志链logchain,所述第一数据块的logchain包括数据节点,每个数据节点包括所述第一数据块在至少一次更新过程中的更新数据的信息,
所述第一存储节点根据所述更新分条的完整性信息将所述更新数据片存储于所述第一存储节点的非易失性内存中包括:
所述第一存储节点在所述第一数据块的日志链logchain中插入数据节点,所述插入的数据节点中记录有所述更新数据片的信息,所述更新数据片的信息包括所述更新数据片或者所述更新数据片在所述第一存储节点的NVM中的存储地址。
4.根据权利要求3所述的方法,其特征在于,所述在所述数据块的logchain中插入数据节点包括:
在所述第一数据块的logchain的尾部或头部插入数据节点,其中,在插入所述数据节点后,所述第一数据块的logchain中包含有根据所述第一数据块的更新顺序依次链接的至少两个数据节点。
5.根据权利要求1-4任意一项所述的方法,其特征在于,还包括:
所述管理节点向所述多个存储节点发送读请求,所述读请求用于读取存储于所述多个存储节点中的所述分条的数据块;
所述管理节点接收所述多个存储节点返回的所述分条中更新后的数据块,其中,所述分条中更新后的数据块包括所述第一存储节点返回的更新后的第一数据块;
所述管理节点根据所述多个存储节点返回的所述分条中更新后的数据块计算更新后的校验块;
所述管理节点将更新后的分条中的数据块和校验块分别存储于所述多个存储节点的外存设备中,其中,所述更新后的分条包括所述更新后的第一数据块以及所述更新后的校验块。
6.根据权利要求5所述的方法,其特征在于,在将更新后的分条中的数据块和校验块分别存储于所述多个存储节点的外存设备中之后,所述方法还包括:
所述管理节点无效所述分条的管理信息;
所述第一存储节点释放所述第一数据块的logchain占用的存储空间。
7.一种数据更新方法,所述方法由包含有管理节点和多个存储节点的存储系统中的第一存储节点执行,其中,所述多个存储节点构成磁盘冗余阵列RAID,所述第一存储节点中包含有非易失性内存NVM,其特征在于,包括:
接收所述管理节点发送的更新请求,所述更新请求中携带有更新分条中的一个更新数据片以及所述更新分条的完整性信息,所述完整性信息用于指示所述更新分条的大小小于所述RAID的分条的大小,所述更新数据片是用于更新所述RAID中的一个分条中的第一数据块的数据,所述分条包括分别存储于所述多个存储节点中的数据块以及校验块,其中,所述第一数据块为所述分条中的任意一个数据块;
根据所述更新分条的完整性信息将所述更新数据片缓存于所述NVM中。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述第一存储节点向第二存储节点发送备份请求,所述备份请求中携带有所述更新数据片,所述备份请求用于指示所述第二存储节点备份所述更新数据片。
9.根据权利要求7或8所述的方法,其特征在于,所述第一存储节点的NVM中存储有所述第一数据块的日志链logchain,所述第一数据块的logchain包括数据节点,每个数据节点包括所述第一数据块在至少一次更新过程中的更新数据的信息,
所述根据所述更新分条的完整性信息将所述更新数据片缓存于所述NVM中包括:
在所述第一数据块的日志链logchain中插入数据节点,所述插入的数据节点中记录有所述更新数据片的信息,所述更新数据片的信息包括所述更新数据片或者所述更新数据片在所述第一存储节点的NVM中的存储地址。
10.根据权利要求9所述的方法,其特征在于,所述在所述第一数据块的logchain中插入数据节点包括:
在所述第一数据块的logchain的尾部或头部插入所述数据节点,其中,在插入所述数据节点后,所述第一数据块的logchain中包含有根据所述第一数据块的更新顺序依次链接的至少两个数据节点。
11.根据权利要求7-10任意一项所述的方法,其特征在于,还包括:
接收所述管理节点发送的读请求,所述读请求中携带有所述分条的标识以及所述第一数据块的标识;
根据所述分条的标识以及所述第一数据块的标识确定所述第一存储节点的NVM中存储有所述第一数据块的logchain;
根据所述第一数据块的logchain中记录的至少一个更新数据片的信息以及所述第一存储节点的外存中存储的第一数据块获得更新后的第一数据块,其中,所述至少一个更新数据片包括所述更新数据片;
向所述管理节点返回所述更新后的第一数据块。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第一数据块的logchain中记录的至少一个更新数据片的信息以及所述第一存储节点的外存中存储的第一数据块获得更新后的第一数据块包括:
根据所述第一数据块的logchain中记录的至少一个更新数据片的信息确定所述第一数据块的logchain中的有效数据,其中,所述有效数据为所述第一数据块的最新修改数据;
将所述有效数据合并到所述第一数据块中,以获得所述更新后的第一数据块,其中,所述第一数据块由所述第一存储节点从所述第一存储节点的外存设备中读取。
13.根据权利要求9-12任意一项所述...
【专利技术属性】
技术研发人员:于群,徐君,王元钢,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。