CN104317669A - 一种云端异构存储系统及其数据副本管理方法 - Google Patents
一种云端异构存储系统及其数据副本管理方法 Download PDFInfo
- Publication number
- CN104317669A CN104317669A CN201410553604.9A CN201410553604A CN104317669A CN 104317669 A CN104317669 A CN 104317669A CN 201410553604 A CN201410553604 A CN 201410553604A CN 104317669 A CN104317669 A CN 104317669A
- Authority
- CN
- China
- Prior art keywords
- data block
- copy
- node
- data
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种云端异构存储系统,属于分布式数据存储与数据管理技术领域。本发明云端异构存储系统包括核心层、云内层、边缘层,所述核心层为管理云节点SN,云内层为普通云节点CN,边缘层为边缘节点PN;所述SN、CN、PN相互之间通过网络进行信息交互;SN用于存储数据块的元数据信息以及所有CN的属性信息,并对所有CN进行管理;CN用于存储与管理数据块及数据块副本信息,各CN分别负责管理一组PN,每个CN存储与管理其所管理的PN的信息;PN只作为存储节点,存储和管理本地的数据副本及数据副本属性信息。本发明还公开了上述云端异构存储系统的数据副本管理方法。相比现有技术,本发明可有效避免服务器端性能瓶颈与单点失效问题,缓解系统负载压力。
Description
技术领域
本发明涉及一种云端异构存储系统及其数据副本管理方法,属于分布式数据存储与数据管理技术领域。
背景技术
随着Internet技术的快速发展,互联网上的数据如海啸般迎面扑来,单纯的同构环境处理数据的能力变得越来越不能满足数据处理的需求;作为目前两种典型的网络计算模式,云计算和对等计算技术分别侧重于利用集群服务器端的资源和网络边缘节点的资源。考虑到经济效应,云服务器高昂的价格决定了其数量的有限性,访问过于频繁便会出现服务器端的瓶颈问题;而纯对等计算环境下,每一个节点的地位都是一样的,每个节点的承受能力基本相同导致没有负责节点,整体系统的管理比较复杂。
随着数据的海量增加,分布式存储系统的负担越来越重。考虑到云服务器与端节点的特点,如果能够更加充分利用网络中集群服务器和边缘节点上的存储资源,并使两者互联互通融合于一个云端异构存储系统中,并结合有效的数据副本管理策略,则可有效避免服务器端性能瓶颈与单点失效问题,从而有效缓解系统负载压力。有研究者近期提出了一种PA_Cloud存储架构[沈静波.基于P2P和云计算的动态内容管理研究[D].合肥:中国科学技术大学,2011.4],其基本思想是通过利用P2P技术在服务提供商的核心云外延构建由用户节点构成的扩展云结构,实现了一部分的负载转嫁,降低了云端服务器的负载。但是文中并没有将核心层中云节点进行有效的角色分工,而是笼统的构建成了Chord环,这样一来并不能在用户提出数据块访问请求时迅速地定位到此数据块的所有数据副本存储地址和存储节点的属性信息以便快递选择目标节点进行访问;同样在数据块创建时也不能很迅速的选择出数据块的管理节点。而对于扩展云中的用户节点,文中提出的架构并没有有效的管理扩展云中的节点,在对扩展云中的节点提出访问请求时不能迅速定位到目前负载较小的端节点进行访问。
发明内容
本发明所要解决的技术问题在于克服现有技术不足,提供一种云端异构存储系统及其数据副本管理方法,可有效避免服务器端性能瓶颈与单点失效问题,缓解系统负载压力。
本发明具体采用以下技术方案:
一种云端异构存储系统,包括核心层、云内层、边缘层,所述核心层为管理云节点SN,云内层为普通云节点CN,边缘层为边缘节点PN;所述SN、CN、PN相互之间通过网络进行信息交互;SN用于存储数据块的元数据信息以及所有CN的属性信息,并对所有CN进行管理;CN用于存储与管理数据块及数据块副本信息,各CN分别负责管理一组PN,每个CN存储与管理其所管理的PN的信息;PN只作为存储节点,存储和管理本地的数据副本及数据副本属性信息。
如上所述云端异构存储系统的数据副本管理方法,包括副本创建、副本访问以及数据清除;所述副本创建具体如下:
步骤1、SN接收到用户发出的数据块存储请求后,首先选择剩余容量最大的一个CN作为该数据块的管理节点,并将该数据块从用户端上传并部署到选定的CN,作为该数据块的第一个副本,然后更新SN所保存的相应信息;
步骤2、SN根据该数据块的重要性确定部署在其它CN上的该数据块的副本数量n,n为大于等于1的整数,数据块的重要性越高,n的值越大;
步骤3、SN从除数据块的管理节点以外的其它CN中选择剩余容量最大的n个CN并将所选定的这n个CN的信息传给该数据块的管理节点,所选择的n个CN中包括该数据块的管理节点的备份节点;该数据块的管理节点复制该数据块的副本并分别部署至这n个CN;部署完成后,SN、该数据块的管理节点以及这n个CN分别更新各自所保存的相应信息;
步骤4、该数据块的管理节点根据该数据块的重要性确定部署在PN上的该数据块的副本数量m,并从自身所管理的可用的PN中选择剩余容量最大的m个PN;m为大于等于1的整数,数据块的重要性越高,m的值越大;
步骤5、被选中的m个PN分别在本地部署该数据块的副本;部署完成后,该数据块的管理节点、所选中的m个PN分别更新各自所保存的相应信息;
步骤6、该数据块的管理节点的备份节点更新自身所保存的相应信息。
进一步地,所述副本访问具体如下:
步骤1、SN接收到用户发出的数据块访问请求后,首先查找该数据块的管理节点,然后通过该数据块的管理节点确定该数据块的所有副本及相应的存储节点;
步骤2、SN按照以下方法从所确定的该数据块的所有副本中选择访问目标:如果该数据块的各副本的存储节点中既有CN又有PN,则从这些PN中选择一个剩余容量最大的,并以所选择PN上存储的该数据块的副本作为访问目标;如果该数据块的各副本的存储节点中仅有CN,则从这些CN中选择一个剩余容量最大的,并以所选择CN上存储的该数据块的副本作为访问目标;
步骤3、如用户对访问目标进行了修改,则更新该数据块的所有副本后转步骤4;否则,直接转步骤4;
步骤4、该数据块的各副本所在的CN和PN分别更新各自所保存的相应信息;
步骤5、该数据块的管理节点的备份节点更新自身所保存的相应信息。
更进一步地,所述数据清除具体如下:
步骤1、SN接收到用户发出的数据块删除请求后,首先查找该数据块的管理节点,然后通过该数据块的管理节点确定该数据块的所有副本及相应的存储节点;
步骤2、SN依次访问该数据块各副本所在的存储节点并删除该数据块相应的副本;
步骤3、全部副本删除后,SN以及该数据块的所有副本的存储节点分别更新自身所保存的相应信息;
步骤4、该数据块的管理节点的备份节点更新自身所保存的相应信息。
进一步地,所述数据副本管理方法还包括副本复制和副本减少;所述副本复制具体如下:各CN定期检查自身所管理的每个数据块的所有副本在当前周期内被访问的总次数与该数据块的副本总数之间的比值,如该比值大于预设阈值,则SN复制该数据块的一个新副本,并从该数据块的管理节点所管理的可用PN中选择一个此前未部署该数据块副本的剩余容量最大的PN,将该新副本部署在所选择的PN中;所述副本减少具体如下:任一数据块的某个副本如在预设周期内一直未被访问,则将该副本删除。
相比现有技术,本发明具有以下有益效果:
(1)本发明的云端异构存储系统模型明确了管理云节点、普通云节点、端节点之间的分工,管理关系更加清晰和明朗。
(2)本发明的云端异构存储系统模型可有效的管理云节点与端节点上所部署的数据副本,包括存储、访问、查询、修改等。
(3)本发明的数据副本管理方法能有效的提高系统的可靠性,同时能够有效的利用边缘节点,减少云节点的负载压力,使得整个系统达到负载均衡的状态。
(4)本发明云端异构存储系统采取的三层结构使得系统更加的稳定,数据的访问将更加高效,节点与节点之间的交互也更加的方便快捷。
附图说明
图1为本发明云端异构存储系统的系统架构示意图;
图2为本发明云端异构存储系统的数据副本部署示意图;
图3为本发明云端异构存储系统的副本创建流程示意图;
图4为本发明云端异构存储系统的副本复制流程示意图;
图5为本发明云端异构存储系统的副本只读访问流程示意图;
图6为本发明云端异构存储系统的副本修改访问流程示意图;
图7为本发明云端异构存储系统的副本减少流程示意图;
图8为本发明云端异构存储系统的数据清除流程示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
一、系统架构
本发明云端异构存储系统的系统架构如图1所示,其在三维空间里的平面图似雪花状,空间上分为三层架构,包括核心层、云内层、边缘层,其中管理云节点SN为核心层的节点,普通云节点CN为云内层的节点,边缘节点PN为边缘层的节点。下面对各层节点进行详细说明。
1、管理云节点
在本发明的存储模型架构设计中,SN位于核心层,主要存储数据块的元数据信息,同时还有所有的数据块直接管理者CN的属性信息。SN存储与管理的信息如表1和表2所示。
系统中的数据块与负责管理该数据块及其副本的普通云节点之间的对应索引信息如表1所示,作为全局宏观的元数据管理者SN,管理着所有作为数据块的直接管理者与存储者的CN。
表1 数据块及其管理者索引表
字段 | 注释 |
BID | 数据块标识 |
NID | 负责管理数据的云节点标识 |
SN存储和管理数据块直接管理者即普通云节点的信息,如表2所示。
表2 普通云节点属性信息表
字段 | 注释 |
NID | 节点标识 |
Capacity | 节点剩余容量 |
Status | 节点状态 |
Backup | 备份云节点标识 |
2、普通云节点
普通云节点(CN)位于云内层,负责存储与管理数据块及其副本信息,以及存储与管理其所管辖的边缘节点的信息。
CN作为数据块的直接管理节点,存储和管理着数据块的属性信息,包括数据块标识、数据块的等级以及数据块所有副本的全局被访问次数。
表3表示CN上存储着该CN直接管理的数据块的数据块标识、数据块等级以及该数据块所有副本的全局被访总次数。
表3 数据块信息表
字段 | 注释 |
BID | CN直接管理的数据块标识 |
Level | 数据块等级(1代表重要、2代表不重要) |
Access | 该数据块所有副本的全局被访总次数 |
对于一个数据块,最终需要用户的访问的基本单位是数据块的副本,所以CN还存储与管理数据块对应的所有副本的标识以及其所在的存储节点标识,如表4所示。
表4 数据副本信息表
字段 | 注释 |
BID.RID | 数据副本标识 |
NID | 数据副本的存储节点标识 |
CN作为数据副本的实际存储节点,本地也存储着若干数据副本,CN的本地数据副本存储信息如表5所示,包括副本在本地节点辅存上的存储位置和副本的本地访问次数。
表5 CN本地数据副本信息表
CN还作为边缘层节点的管理节点。边缘层节点按IP地址划分为若干组,每个CN管辖一个PN组。CN存储着所管辖PN组中所有节点的属性信息,如表6所示。
表6 端节点属性信息表
字段 | 注释 |
NID | 节点标识 |
Capacity | 节点的剩余容量 |
Status | 节点状态,包括可用和不可用两种状态 |
3、边缘节点(或称端节点)
PN位于边缘层,只作为存储节点存储和管理本地的数据副本及其属性信息,如表7所示。
表7 PN本地数据副本信息表
二、数据副本管理方法
在云存储系统中,需要进行副本的存储、副本的访问等操作,本发明的数据副本管理方法中,数据块被分为不同的重要性等级,数据块的重要性越高,其副本数量越大。本发明云端异构存储系统的数据副本部署如图2所示,非重要数据块B1的副本B1R0放置于该数据块的管理节点C1,数据块B1还拥有另外的一个CN节点放置副本B1R1,在C1负责管理的PN中,PN1,1、PN1,3分别存储着数据块B1的另外两个副本B1R2、B1R3;重要重要数据块B2的副本B2R0放置于其管理节点C4,数据块B2还拥有另外的两个CN节点分别放置副本B2R1、B2R2,同时在C4负责的PN中,PN4,1、PN4,2、PN4,4也分别存储数据块B2的另外三个副本B2R3、B2R4、B2R5。
本发明的数据副本管理同样包括副本创建、副本访问以及数据清除,具体如下:
副本创建:当用户发出新的数据块的创建请求,首先SN给出响应,查询自身存储的CN信息表,找到对应的CN作为数据块的直接管理节点。选定这个CN后,将数据副本部署在CN上,作为第一个副本。为了保证数据块的可用性,避免数据块仅有的一个副本失效,根据数据块的等级,放置若干副本在其他的CN上。并且,为了进一步保证数据块的可用性,降低云内层节点的负载压力,继续在边缘层部署副本,选择若干PN放置副本。
副本访问:系统中的副本被访问,分为只读性访问和非只读性访问。用户对副本的处理结果会有以下几种:副本访问(只读)、副本修改;首先在SN中查找索引表找到副本对应数据块的管理节点、访问管理节点找到此数据块的所有副本所在的节点,然后选择对应节点上的副本进行访问、修改。
数据清除:当数据块所有者因为某种原因需要彻底删除数据块,向系统发出数据块清除指令。首先SN检索相关信息找到副本对应数据块的管理节点,然后找到此数据块的所有副本所在的节点,访问副本所在节点,依次删除所有副本,然后更新相关列表。
此外,本发明的副本管理方法还包括副本复制和副本减少,具体如下:
副本复制:系统中的数据块的副本经过一段时间被访后便可能会出现过热问题,有必要对过热数据块增加新的副本,各CN定期检查自身所管理的每个数据块的所有副本在当前周期内被访问的总次数与该数据块的副本总数之间的比值,如该比值大于预设阈值,则SN复制该数据块的一个新副本,并从该数据块的管理节点所管理的可用PN中选择一个此前未部署该数据块副本的剩余容量最大的PN,将该新副本部署在所选择的PN中。
副本减少:当副本长时间不被访问,则有必要对该副本进行删除,以减少副本数量,降低存储资源消耗,即任一数据块的某个副本如在预设周期内一直未被访问,则将该副本删除。
为便于公众理解,下面一个具体实施例来对本发明的数据副本管理方法进行详细介绍。
副本创建
步骤1、用户发出标识BID为Bi+1的数据块存储请求,SN给予响应,SN接到该数据块部署请求后,检索普通云节点属性信息表的详细表,详见表8,Capacity一列中的数字表示存储单位,每存储一个副本需要一个存储单位。例如:2表示两个单位。
比较各个CN的剩余容量Capacity,选择剩余容量最大的CN1作为Bi+1的管理节点,将数据块从用户端上传并部署到选定的CN1上,成为该数据块的第一个副本。然后,更新数据块及其管理者索引表,增加Bi+1与其管理者CN1信息,详见表9。然后转步骤2;
表8 普通云节点的属性信息表详细表
NID | Capacity | Status | Backup |
CN1 | 20 | 1 | CN2 |
CN2 | 15 | 1 | CN5 |
CN3 | 18 | 1 | CN1 |
... | ... | ... | .... |
CNj | 10 | 1 | CNj+1 |
CNj+1 | 11 | 0 | CN3 |
表9 增加Bi+1与其管理者CN1后的数据块及其管理者索引表
BID | NID |
B1 | CN1 |
B2 | CN2 |
… | … |
Bi | CNj |
Bi+1 | CN1 |
步骤2、继续创建Bi+1在系统中其它CN上的n个副本:首先判断数据块等级Level,如果是重要数据块,即Level=1,则确定至少2个副本在其他CN上,如果是非重要副本Level=2,则可确定至多2份副本在其他CN即可。此处数据块Bi+1的Level为1,需要再另外选择两个CN。转步骤3;
步骤3、SN依次选择除去数据块管理节点CN1外的其它CN,查看剩余容量较大的n个节点,此处n为2,分别是CN2、CN3。然后检索普通云节点属性信息表,检查Bi+1的管理节点CN1是否有备份节点。若无,从这n个节点中选择Capacity最大的节点作为该数据块管理节点CN1的备份节点backup,否则不需要再设置备份节点;此处CN1的备份节点为CN2,不需另行设置。SN将选定CN2、CN3节点标识传送给数据块管理节点CN1。CN1将数据副本依次复制并部署到CN2、CN3上,部署成功后更新SN上的普通云节点属性信息表中CN1、CN2、CN3的Capacity,详见表10。同时要更新CN1上的数据块信息表,插入新数据块Bi+1的Level和Access信息,详见表11;更新CN1上的数据副本信息表,增加Bi+1的副本存储地址信息,详见表12;更新CN本地数据副本信息表:插入数据副本Bi+1.R1在CN1上的存储信息,详见表13;插入数据副本Bi+1.R2在CN2的存储信息,详见表14;插入数据副本Bi+1.R3在CN3的存储信息,详见表15。
表10 更新CN1、CN2、CN3的Capacity后的普通云节点的属性信息表
表11 插入新数据块Bi+1的Level和Access信息后的数据块信息表
BID | Level | Access |
B1 | 2 | 3 |
Bi+1 | 1 | 0 |
表12 增加Bi+1的副本存储地址信息后的数据副本信息表
BID.RID | NID |
Bi+1.R1 | CN1 |
Bi+1.R2 | CN2 |
Bi+1.R3 | CN3 |
表13 CN1上插入数据副本Bi+1.R1的存储信息后的CN本地数据副本信息表
BID.RID | Address | Access |
Bi+1.R1 | /D/block/Bi+1.R1 | 0 |
表14 CN2上插入数据副本Bi+1.R2的存储信息后的CN本地数据副本信息表
BID.RID | Address | Access |
Bi+1.R2 | /D/block/Bi+1.R2 | 0 |
表15 CN3上插入数据副本Bi+1.R3的存储信息后的CN本地数据副本信息表
BID.RID | Address | Access |
Bi+1.R3 | /D/block/Bi+1.R3 | 0 |
步骤4、数据副本在云内层部署完成后,继续在边缘层部署。设根据该数据块重要性确定需在边缘层部署的副本数量m,m为大于等于1的整数,数据块的重要性越高,m的值越大。CN1选择其所管辖的PN具体依据包括:1、节点可用,即其状态Status=1;2、节点的剩余容量是该CN负责的所有PN中较大的。CN1负责的PN为PN1组。此处m假定为2。查询端节点属性信息表详细表,详见表16,按照上述条件选定的PN为PN1,0和PN1,1。
表16 端节点属性信息表详细表
NID | Capacity | Status |
PN1,0 | 2 | 1 |
PN1,1 | 1 | 1 |
… | 2 | 0 |
PN1,j | 0 | 1 |
PN1,j+1 | 1 | 1 |
步骤5、被选中的2个PN在本地部署该数据块的副本,更新CN1上的数据副本信息表,增加副本Bi+1.R4、Bi+1.R5的存储地址信息,详见表17;更新CN1上的端节点属性信息表,更新PN1,0、PN1,1的Capacity,详见表18;分别在PN1,0、PN1,1上更新本地的副本存储信息,详见表19、表20。
表17 增加副本Bi+1.R4、Bi+1.R5的存储地址信息后的数据副本信息表
BID.RID | NID |
Bi+1.R1 | CN1 |
Bi+1.R2 | CN2 |
Bi+1.R3 | CN3 |
Bi+1.R4 | CN4 |
Bi+1.R5 | CN5 |
表18 更新PN1,0、PN1,1的Capacity后的端节点属性信息表
表19 新增Bi+1.R4后的PN本地数据副本信息表
BID.RID | Address | Access |
Bi+1.R4 | /D/block/Bi+1.R4 | 0 |
表20 新增Bi+1.R5后的PN本地数据副本信息表
BID.RID | Address | Access |
Bi+1.R5 | /D/block/Bi+1.R5 | 0 |
步骤6、将表11中Bi+1的存储信息、表17中Bi+1.R1~Bi+1.R5的存储信息、表18中PN1,0、PN1,1的Capacity的信息,相应的在CN1的备份节点CN2中更新。
上述副本创建的流程如图3所示。
副本复制
步骤1、每隔一个同步周期(T),数据块的管理者CN会检查数据块信息表中的Access;并检索表数据副本信息表得到数据块的总副本数目count(BID.RID);
步骤2、数据副本的全局访问总次数Access(即该数据块的所有副本在当前周期T内被访问的总次数)与数据副本的总数目之比,达到预设的安全阈值时,即Bi+1.Access/count(BID.RID)达到阈值α时,系统便为这样的数据块复制新的副本;
步骤3、系统发出标识为Bi+1的数据副本复制请求,SN响应请求,查询数据块及其管理者索引表,获得Bi+1的管理节点CN1;
步骤4、访问CN1,检索最新的数据副本信息表,即表17,查看Bi+1的所有副本及其对应的位置,记录其中的PN,即PN1,0、PN1,1;
步骤5、检索最新的端节点属性信息表,即表18,找到CN1所负责管理的除PN1,0、PN1,1以外的PN中Status为1的PN,并且选择Capacity最大的一个PN,即PN1,j+1,复制新副本Bi+1.R6,从CN1上复制并部署到PN1,j+1上。
步骤6、副本复制完成后,更新PN1,j+1上的PN本地数据副本信息表,详见表21;同时更新CN1上数据副本信息表,详见表22,更新端节点属性信息表,更新PN1,j+1的Capacity信息,详见表23。
步骤7、表22中Bi+1.R6的存储信息、表23中PN1,j的Capacity的信息,相应的在备份节点CN2中更新。
表21 复制新副本Bi+1.R6后的PN本地数据副本信息表
BID.RID | Address | Access |
Bi+1.R6 | /D/block/Bi+1.R6 | 0 |
表22 复制新副本Bi+1.R6后的数据副本信息表
BID.RID | NID |
Bi+1.R1 | CN1 |
Bi+1.R2 | CN2 |
Bi+1.R3 | CN3 |
Bi+1.R4 | PN1,0 |
Bi+1.R5 | PN1,1 |
Bi+1.R6 | PN1,j+1 |
表23 更新PN1,j+1的Capacity后的端节点属性信息表
上述副本复制的流程如图4所示。
副本访问—只读
步骤1、用户向系统发出数据块为Bi+1的访问请求,系统响应请求,将标识发送给SN;
步骤2、SN查询普通云节点属性信息表,找到Bi+1的管理节点CN1;
步骤3、访问CN1,通过查询CN1的数据副本信息表,查找Bi+1在系统中所有副本及其存储地址标识;
步骤4、判断所有存储标识,如果既有CN又有PN,优先选取PN上存储的副本。选取依据:选择端节点剩余容量Capacity最大的一个PN作为访问目标。否则选择CN作为访问目标。若访问的是PN上的副本,访问结束时,更新PN本地存储的副本的被访次数,即PN本地数据副本信息表。否则,更新被访问CN本地存储的副本的被访次数,即CN本地数据副本信息表;按照上述规则,此处选择PN1,0,同时更新PN本地数据副本信息表中的Access,详见表24。
表24 更新Bi+1.R5被访次数后的PN本地数据副本信息表
步骤5、更新数据块信息表中数据副本的全局被访总次数Access,详见表25。
表25 更新数据副本全局被访总次数后的数据块信息表
步骤6、表25中Bi+1的Access信息,相应的在备份节点CN2中更新。
上述副本只读访问的流程如图5所示。
副本修改
步骤1、存储在PN1,1上的数据副本标识为Bi+1.R5的副本被用户访问并且修改。
步骤2、由PN1,1定位到其管理节点CN1,CN1通过查询数据副本信息表,得到Bi+1.R5有着相同源数据块的所有副本Bi+1.R1~Bi+1.R4、Bi+1.R6;
步骤3、根据步骤2的查找结果,依次访问到Bi+1.R1~Bi+1.R4、Bi+1.R6的存储地址CN1、CN2、CN3和PN1,0、PN1,j+1;
步骤4、依次访问数据副本的存储节点的本地存储地址CN1上的/D/block/Bi+1.R1,CN2上的/D/block/Bi+1.R2,CN3上的/D/block/Bi+1.R3和PN1,0上/D/block/Bi+1.R4、PN1,j+1上的/D/block/Bi+1.R6,修改对应的数据副本;
步骤4、修改结束后,更新PN本地数据副本信息表中副本的本地访问次数Access,每一个被放置节点上的PN本地数据副本信息表中对应副本的Access分别加1,更新数据块信息表中数据副本的全局访问总次数Access,需要加6,详见表26。
步骤5、表26中数据副本全局被访总次数Access,相应的在备份节点CN2中更新。
表26 更新数据副本全局访问总次数Access后的数据块信息表
上述副本修改的流程如图6所示。
副本减少
步骤1、副本Bi+1.R6经过时间T′一直没有被访问,Access在T′时间段内没有改变。系统发出对Bi+1.R6删除指令,SN节点给出响应,检索数据块及其管理索引表,定位到数据块Bi+1的管理节点CN1;
步骤2、访问CN1,检索CN1上的最新的数据副本信息表,即表22,定位到Bi+1.R6对应的存储地址PN1,j+1;
步骤3、访问PN1,j+1,检索PN1,j+1上的PN本地数据副本信息表,找到Bi+1.R6本地存储位置/D/block/Bi+1.R6,删除副本Bi+1.R6;
表27 PN1,j+1上删除Bi+1.R6后的PN本地数据副本信息表
步骤4、删除结束后,更新PN1,j+1上的本地数据副本信息表,删除Bi+1.R6相关的信息,详见表27;同时删除CN1上的数据副本信息表中Bi+1.R6的信息,详见表28;更新CN1上端节点属性信息表中关于PN1,j+1的Capacity信息,详见表29。
表28 CN1上删除Bi+1.R6后的数据副本信息表
表29 更新CN1中端节点属性信息表中PN1,j+1的Capacity信息后的端节点属性信息表
步骤5、表28中删除Bi+1.R6后的数据副本信息表的变化、表29中PN1,j+1的Capacity的变化信息,相应的在备份节点CN2中更新。
上述副本减少的流程如图7所示。
数据清除
步骤1、用户发出对数据块标识为Bi+1的数据块的删除指令,SN响应此指令,检索SN上数据块及其管理者索引表,定位Bi+1的直接管理节点CN1;
步骤2、访问CN1,检索CN1上的数据副本信息表,定位到Bi+1对应的所有副本的存储地址;
步骤3、根据步骤2的的定位结果,依次访问所有副本的存储地址;CN1、CN2、CN3、PN1,0、PN1,1;
步骤4、依次访问数据副本的存储节点的本地存储地址CN1上的/D/block/Bi+1.R1,CN2上的/D/block/Bi+1.R2,CN3上的/D/block/Bi+1.R3和PN1,0上/D/block/Bi+1.R4、PN1,1上的/D/block/Bi+1.R5,删除对应副本;
步骤5、所有副本全部删除结束,删除数据块信息表中的Bi+1信息,详见表30;删除数据副本信息表关于Bi+1副本的信息,详见表31;删除数据块及其管理者索引表中关于Bi+1的信息,详见表32。
步骤6、表30中Bi+1的变化信息、表31中Bi+1副本的变化信息,相应的在备份节点CN2中更新。
表30 删除Bi+1后的数据块信息表
表31 删除关于Bi+1副本后的数据副本信息表
表32 删除Bi+1后的数据块及其管理者索引表
上述数据清除的流程如图8所示。
本发明技术方案明确了管理云节点、普通云节点、端节点之间的分工,能更有效管理云节点与边缘节点之间的关系,可有效提高系统的可靠性;同时利用边缘节点降低了云节点的负载压力,使整个系统达到负载均衡的状态。
Claims (5)
1.一种云端异构存储系统,其特征在于,包括核心层、云内层、边缘层,所述核心层为管理云节点SN,云内层为普通云节点CN,边缘层为边缘节点PN;所述SN、CN、PN相互之间通过网络进行信息交互;SN用于存储数据块的元数据信息以及所有CN的属性信息,并对所有CN进行管理;CN用于存储与管理数据块及数据块副本信息,各CN分别负责管理一组PN,每个CN存储与管理其所管理的PN的信息;PN只作为存储节点,存储和管理本地的数据副本及数据副本属性信息。
2.如权利要求1所述云端异构存储系统的数据副本管理方法,包括副本创建、副本访问以及数据清除;其特征在于,所述副本创建具体如下:
步骤1、SN接收到用户发出的数据块存储请求后,首先选择剩余容量最大的一个CN作为该数据块的管理节点,并将该数据块从用户端上传并部署到选定的CN,作为该数据块的第一个副本,然后更新SN所保存的相应信息;
步骤2、SN根据该数据块的重要性确定部署在其它CN上的该数据块的副本数量n,n为大于等于1的整数,数据块的重要性越高,n的值越大;
步骤3、SN从除数据块的管理节点以外的其它CN中选择剩余容量最大的n个CN并将所选定的这n个CN的信息传给该数据块的管理节点,所选择的n个CN中包括该数据块的管理节点的备份节点;该数据块的管理节点复制该数据块的副本并分别部署至这n个CN;部署完成后,SN、该数据块的管理节点以及这n个CN分别更新各自所保存的相应信息;
步骤4、该数据块的管理节点根据该数据块的重要性确定部署在PN上的该数据块的副本数量m,并从自身所管理的可用的PN中选择剩余容量最大的m个PN;m为大于等于1的整数,数据块的重要性越高,m的值越大;
步骤5、被选中的m个PN分别在本地部署该数据块的副本;部署完成后,该数据块的管理节点、所选中的m个PN分别更新各自所保存的相应信息;
步骤6、该数据块的管理节点的备份节点更新自身所保存的相应信息。
3.如权利要求2所述数据副本管理方法,其特征在于,所述副本访问具体如下:
步骤1、SN接收到用户发出的数据块访问请求后,首先查找该数据块的管理节点,然后通过该数据块的管理节点确定该数据块的所有副本及相应的存储节点;
步骤2、SN按照以下方法从所确定的该数据块的所有副本中选择访问目标:如果该数据块的各副本的存储节点中既有CN又有PN,则从这些PN中选择一个剩余容量最大的,并以所选择PN上存储的该数据块的副本作为访问目标;如果该数据块的各副本的存储节点中仅有CN,则从这些CN中选择一个剩余容量最大的,并以所选择CN上存储的该数据块的副本作为访问目标;
步骤3、如用户对访问目标进行了修改,则更新该数据块的所有副本后转步骤4;否则,直接转步骤4;
步骤4、该数据块的各副本所在的CN和PN分别更新各自所保存的相应信息;
步骤5、该数据块的管理节点的备份节点更新自身所保存的相应信息。
4.如权利要求3所述数据副本管理方法,其特征在于,所述数据清除具体如下:
步骤1、SN接收到用户发出的数据块删除请求后,首先查找该数据块的管理节点,然后通过该数据块的管理节点确定该数据块的所有副本及相应的存储节点;
步骤2、SN依次访问该数据块各副本所在的存储节点并删除该数据块相应的副本;
步骤3、全部副本删除后,SN以及该数据块的所有副本的存储节点分别更新自身所保存的相应信息;
步骤4、该数据块的管理节点的备份节点更新自身所保存的相应信息。
5.如权利要求2~4任一项所述数据副本管理方法,其特征在于,还包括副本复制和副本减少;所述副本复制具体如下:各CN定期检查自身所管理的每个数据块的所有副本在当前周期内被访问的总次数与该数据块的副本总数之间的比值,如该比值大于预设阈值,则SN复制该数据块的一个新副本,并从该数据块的管理节点所管理的可用PN中选择一个此前未部署该数据块副本的剩余容量最大的PN,将该新副本部署在所选择的PN中;所述副本减少具体如下:任一数据块的某个副本如在预设周期内一直未被访问,则将该副本删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410553604.9A CN104317669B (zh) | 2014-10-17 | 2014-10-17 | 一种云端异构存储系统及其数据副本管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410553604.9A CN104317669B (zh) | 2014-10-17 | 2014-10-17 | 一种云端异构存储系统及其数据副本管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317669A true CN104317669A (zh) | 2015-01-28 |
CN104317669B CN104317669B (zh) | 2017-03-15 |
Family
ID=52372904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410553604.9A Active CN104317669B (zh) | 2014-10-17 | 2014-10-17 | 一种云端异构存储系统及其数据副本管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317669B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836851A (zh) * | 2015-04-21 | 2015-08-12 | 成都影泰科技有限公司 | 一种数据备份方法 |
CN106598973A (zh) * | 2015-10-14 | 2017-04-26 | 杭州海康威视数字技术股份有限公司 | 一种基于云存储管理的智能检索的方法及系统 |
CN107547657A (zh) * | 2017-09-27 | 2018-01-05 | 柏科数据技术(深圳)股份有限公司 | 一种基于云存储系统中单点数据编号的方法、装置以及存储介质 |
CN108156040A (zh) * | 2018-01-30 | 2018-06-12 | 北京交通大学 | 一种分布式云存储系统中的中央控制节点 |
CN109726600A (zh) * | 2017-10-31 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 针对超融合基础设施提供数据保护的系统和方法 |
CN109753360A (zh) * | 2018-12-29 | 2019-05-14 | 南方电网科学研究院有限责任公司 | 面向电力系统中边缘节点的轻量级数据管理系统及方法 |
CN110188006A (zh) * | 2019-06-03 | 2019-08-30 | 深圳市网心科技有限公司 | 一种数据维护方法、装置及设备 |
CN110365783A (zh) * | 2019-07-18 | 2019-10-22 | 深圳市网心科技有限公司 | 文件部署方法及装置、网络节点及存储介质 |
CN110572448A (zh) * | 2019-08-30 | 2019-12-13 | 烽火通信科技股份有限公司 | 一种分布式边缘云系统架构 |
CN110601992A (zh) * | 2019-09-20 | 2019-12-20 | 南方电网科学研究院有限责任公司 | 一种基于边缘计算的智能量测终端的数据处理方法及装置 |
CN111385327A (zh) * | 2018-12-28 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
CN111510497A (zh) * | 2020-04-17 | 2020-08-07 | 上海七牛信息技术有限公司 | 一种边缘存储的处理方法和系统 |
CN111726403A (zh) * | 2020-06-11 | 2020-09-29 | 深圳市赛宇景观设计工程有限公司 | 一种跨云平台的大数据管理的方法与系统 |
CN111770152A (zh) * | 2020-06-24 | 2020-10-13 | 中国科学院计算技术研究所 | 一种边缘数据管理方法、介质、边缘服务器和系统 |
CN115033187A (zh) * | 2022-08-10 | 2022-09-09 | 蓝深远望科技股份有限公司 | 一种基于大数据的分析管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954498B (zh) * | 2012-07-03 | 2019-09-20 | 厦门简帛信息科技有限公司 | 一种数字资源的拷贝方法 |
-
2014
- 2014-10-17 CN CN201410553604.9A patent/CN104317669B/zh active Active
Non-Patent Citations (1)
Title |
---|
徐小龙: "基于multi_agent的云端计算融合模型的研究", 《通信学报》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836851A (zh) * | 2015-04-21 | 2015-08-12 | 成都影泰科技有限公司 | 一种数据备份方法 |
CN106598973A (zh) * | 2015-10-14 | 2017-04-26 | 杭州海康威视数字技术股份有限公司 | 一种基于云存储管理的智能检索的方法及系统 |
CN107547657A (zh) * | 2017-09-27 | 2018-01-05 | 柏科数据技术(深圳)股份有限公司 | 一种基于云存储系统中单点数据编号的方法、装置以及存储介质 |
CN109726600A (zh) * | 2017-10-31 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 针对超融合基础设施提供数据保护的系统和方法 |
CN109726600B (zh) * | 2017-10-31 | 2023-07-14 | 伊姆西Ip控股有限责任公司 | 针对超融合基础设施提供数据保护的系统和方法 |
CN108156040A (zh) * | 2018-01-30 | 2018-06-12 | 北京交通大学 | 一种分布式云存储系统中的中央控制节点 |
CN111385327A (zh) * | 2018-12-28 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
CN111385327B (zh) * | 2018-12-28 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统 |
CN109753360A (zh) * | 2018-12-29 | 2019-05-14 | 南方电网科学研究院有限责任公司 | 面向电力系统中边缘节点的轻量级数据管理系统及方法 |
CN110188006B (zh) * | 2019-06-03 | 2022-04-29 | 深圳市网心科技有限公司 | 一种数据维护方法、装置及设备 |
CN110188006A (zh) * | 2019-06-03 | 2019-08-30 | 深圳市网心科技有限公司 | 一种数据维护方法、装置及设备 |
CN110365783A (zh) * | 2019-07-18 | 2019-10-22 | 深圳市网心科技有限公司 | 文件部署方法及装置、网络节点及存储介质 |
CN110572448A (zh) * | 2019-08-30 | 2019-12-13 | 烽火通信科技股份有限公司 | 一种分布式边缘云系统架构 |
CN110572448B (zh) * | 2019-08-30 | 2020-11-06 | 烽火通信科技股份有限公司 | 一种分布式边缘云系统架构 |
CN110601992A (zh) * | 2019-09-20 | 2019-12-20 | 南方电网科学研究院有限责任公司 | 一种基于边缘计算的智能量测终端的数据处理方法及装置 |
CN111510497A (zh) * | 2020-04-17 | 2020-08-07 | 上海七牛信息技术有限公司 | 一种边缘存储的处理方法和系统 |
CN111726403A (zh) * | 2020-06-11 | 2020-09-29 | 深圳市赛宇景观设计工程有限公司 | 一种跨云平台的大数据管理的方法与系统 |
CN111726403B (zh) * | 2020-06-11 | 2021-01-29 | 和宇健康科技股份有限公司 | 一种跨云平台的大数据管理的方法与系统 |
CN111770152B (zh) * | 2020-06-24 | 2021-07-20 | 中国科学院计算技术研究所 | 一种边缘数据管理方法、介质、边缘服务器和系统 |
CN111770152A (zh) * | 2020-06-24 | 2020-10-13 | 中国科学院计算技术研究所 | 一种边缘数据管理方法、介质、边缘服务器和系统 |
CN115033187A (zh) * | 2022-08-10 | 2022-09-09 | 蓝深远望科技股份有限公司 | 一种基于大数据的分析管理方法 |
CN115033187B (zh) * | 2022-08-10 | 2022-11-08 | 蓝深远望科技股份有限公司 | 一种基于大数据的分析管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104317669B (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317669A (zh) | 一种云端异构存储系统及其数据副本管理方法 | |
CN102855239B (zh) | 一种分布式地理文件系统 | |
CN100565512C (zh) | 消除文件存储系统中冗余文件的系统及方法 | |
CN101334797B (zh) | 一种分布式文件系统及其数据块一致性管理的方法 | |
CN102591970B (zh) | 一种分布式键-值查询方法和查询引擎系统 | |
CN107844269A (zh) | 一种基于一致性哈希的分层混合存储系统及方法 | |
CN103002027B (zh) | 基于键值对系统实现树形目录结构的数据存储系统及方法 | |
CN100518131C (zh) | 网格数据副本管理系统 | |
CN101796514B (zh) | 对象存储系统的管理方法 | |
CN102541990B (zh) | 利用虚拟分区的数据库重新分布方法和系统 | |
CN101753625B (zh) | 对等网络环境下副本服务的部署及副本创建方法 | |
CN110447021A (zh) | 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统 | |
CN102984280B (zh) | 针对社交类云存储网络应用的数据备份系统和方法 | |
CN104133882A (zh) | 一种基于hdfs的小文件处理方法 | |
CN101697526A (zh) | 分布式文件系统中元数据管理的负载均衡方法及其系统 | |
CN102917025A (zh) | 一种云计算平台的业务迁移方法 | |
CN110232049A (zh) | 一种元数据缓存管理方法和装置 | |
CN103294785B (zh) | 一种基于分组的元数据服务器集群管理方法 | |
CN102035881A (zh) | 一种云端存储系统的数据缓存方法 | |
CN101866305A (zh) | 支持数据查询和快速恢复的连续数据保护方法及系统 | |
CN103631894A (zh) | 一种基于hdfs的动态副本管理方法 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
CN101957861A (zh) | 新型元数据服务器集群和基于调整表的元数据管理方法 | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
CN104951464B (zh) | 数据存储方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170930 Address after: 215000 4B06 room, Fuhua science and technology building, 199 Chongwen Road, Suzhou Industrial Park, Jiangsu Patentee after: Camry (Suzhou) information Polytron Technologies Inc Address before: Yuen Road Qixia District of Nanjing City, Jiangsu Province, No. 9 210023 Patentee before: Nanjing Post & Telecommunication Univ. |