一种数据备份方法
【技术领域】
[0001] 本发明设及分布式存储,特别设及一种数据备份方法。
【背景技术】
[0002] 数据多版本的备份可W显著提高系统的运行效率,保证存储服务的可靠性W及整 个存储系统的负载均衡。传统的数据备份方法都是针对存储特性为频繁读的网络应用,而 交互性的网络应用的用户数量众多,位置分布广泛,且单次上传数据量小,但上传次数频 繁。传统的云存储数据备份方法在支持该一类网络应用时,衡量数据节点的标准单一,而且 处理海量数据传输请求的同时会频繁进行备份版本的调整,该会导致用户使用体验的降低 及服务器端有限计算资源的浪费。
【发明内容】
[0003] 为解决上述现有技术所存在的问题,本发明提出了一种数据备份方法,包括:
[0004] 用户连接到分布式存储系统的主节点,当用户上传数据资源时,发送上传数据资 源的请求信息,主节点返回距离用户位置最近且可用的数据节点信息,并将最新的属性信 息发送到一致性节点,用户根据主节点返回的信息上传资源到数据节点,数据节点向用户 返回处理的结果,并将属性信息更新到分布式存储系统的多个一致性节点,一致性节点根 据版本策略备份数据到适当的数据节点,并更新备份版本标识信息到主节点;当用户对已 有数据资源进行读操作时,用户对主节点发送读数据请求,主节点返回相匹配的属性信息, 用户根据主节点返回的信息访问数据节点并发送读数据请求,数据节点传输用户请求的数 据;当用户对已有数据资源进行写操作时,用户向主节点发送写数据请求,主节点返回匹配 的属性信息,用户根据主节点返回的信息访问数据节点并发送写数据请求,数据节点传输 用户请求的数据并更新属性信息到一致性节点,一致性节点协调各数据节点保持备份版本 数据一致性,一致性节点将更新的属性信息传输到主节点,主节点返回更新结果,每次用户 写资源后,由一致性节点维护所有备份版本资源的数据一致性,主节点只保存已确定更新 一致性后的属性信息。
[0005] 优选地,所述一致性节点还用于保持系统多个数据备份版本的一致性,并且当需 要创建备份版本时,包括W下步骤:
[0006] 步骤1,用户向主节点发送传输数据的请求,主节点将属性信息与读取到的用户位 置信息发送到一致性节点;
[0007] 步骤2, 一致性节点计算各个数据节点相对于用户的节点价值度,所述数据节点的 价值度R的计算方式如下:
[000引R = 1/化孤X曰-BWX 0 )
[0009] 其中,U孤代表用户与数据节点之间的位置距离,a代表用户与数据节点之间距 离的加权比,BW代表数据节点接入网络的带宽,0代表数据节点网络带宽的加权比,并且 其中,U孤的计算方式如下;
[0010]
[0011] 其中D.X代表数据节点位置横坐标,U.X代表用户位置横坐标,D.y代表数据节点 位置纵坐标,U.y代表用户位置纵坐标;
[0012] 步骤3,创建备份版本,一致性节点维护多个上传相同类型数据资源用户位置的数 据集合S;怯1,S2,S3…S。},W及所有数据节点信息的数据集合D;化,〇2, …Dm},当用户上 传资源时,若该资源类型的用户位置数据集合为空,新加入数据元素St,则依次扫描数据节 点位置的数据集合,选取所述价值度最高的数据节点作为备份版本设置待选节点;若该数 据节点存储有该版本的原始数据,则选择价值度最低的数据节点作为备份版本设置待选节 点;若价值度最低的数据节点与价值度最高的数据节点为同一节点,则随机选择一个数据 节点作为备份版本设置待选节点;当该资源类型的用户位置数据集合非空时,且只有一个 数据节点D。作为该集合的备份版本设置节点而D。上不存在数据元素St的原始数据时,贝U 选择D。为新加入数据元素St的备份版本设置待选节点;若该数据节点存储有St的原始数 据,则从D不包括D。的集合中选择价值度最高的数据节点作为备份版本设置待选节点;当 该资源类型的用户位置数据集合非空时,且有多个数据节点作为该集合的备份版本设置节 点,依次扫描化化,町…}并做如下处理,选择对于新加入数据元素St的价值度最高的数 据节点Dti作为备份版本设置待选节点,选择对于新加入数据元素St的价值度最低的数据 节点町2作为备份版本设置待选节点;若DU与Dt2为相同节点,且不存储有St的原始数据, 则只存储一份备份版本;若Dti与Dt2为相同节点,且存储有St的原始数据,则在不包含DU 与町2的集合中随机选择一个节点作为备份版本设置待选节点;若DU与Dt2为不同节点,DU 存储有St的原始数据,则只选Dt2为备份版本设置待选节点;若DU与Dt2为不同节点,D存 储有St的原始数据,则只选DU为备份版本设置待选节点;
[0013] 步骤4,检查备份版本设置待选节点的存储负载率是否未满,若未满,则选择该待 选节点为备份版本设置节点,在该节点设置备份版本;否则对St屏蔽该待选节点,重新返回 步骤3,继续寻找满足条件的数据节点作为备份版本设置节点;在返回两个备份版本设置 待选节点时,若存在至少一个待选节点的存储负载率未满则结束捜索,在符合条件的数据 节点上设置备份版本;
[0014] 步骤5,更新备份版本属性信息,数据节点返回操作结果到一致性节点,一致性节 点将集合的数据信息更新,返回最新的属性信息到主节点。
[0015] 本发明相比现有技术,具有W下优点:
[0016] 本发明提出了一种备份方法,不仅提高用户的使用体验,同时保证存储系统的健 壮性和保持各数据节点负载的均衡。
【附图说明】
[0017] 图1是根据本发明实施例的数据备份方法的流程图。
【具体实施方式】
[0018] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合该样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权 利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节W便提供对本发明的透彻理解。出于示例的目的而提供该些细节,并且无该些具体细节中 的一些或者所有细节也可W根据权利要求书实现本发明。
[0019] 本发明的一方面提供了一种数据备份方法。图1是根据本发明实施例的数据备份 方法流程图。
[0020] 该方法基于=层架构的分布式存储系统。该系统模型由一个逻辑主节点,多个一 致性节点及大量的数据节点组成。主节点是属性信息服务器,用户通过访问主节点来获得 数据节点的存储信息。为了防止主节点单点失效的情况,系统内可W有多个备用主节点进 行属性信息的备份。主节点只存储数据备份版本保持最后更新一致性情况下的属性信息, 为用户访问数据一致性提供高可靠的保证。一致性节点负责保持系统内数据备份版本的一 致性,它将已完成同步的备份版本的属性信息提交给主节点,使用户只可W访问到最后更 新的数据。数据节点是数据存储服务器,存储用户的数据资源,理论上可W分布在世界上任 何适宜的地点。考虑到读写型网络应用数据资源的特点多为小文件,用户经常使用的数据 一般不大于30M,本系统W32M的定长数据块来划分用户的数据资源。
[0021] 当用户上传数据资源时,用户连接到主节点,发送上传数据资源的请求信息,主节 点返回距离用户位置最近且可用的数据节点信息,并将最新的属性信息发送到一致性节 点,用户根据主节点返回的信息上传资源到数据