一种适合移动设备访问的云存储方法和系统与流程

文档序号:12624867阅读:279来源:国知局
一种适合移动设备访问的云存储方法和系统与流程
本发明属于计算机数据存储领域,更具体地,涉及一种适合移动设备访问的云存储方法和系统。
背景技术
:随着大数据时代的到来,数据的规模出现了爆炸式的增长,面对如此巨大的数据量的存储与处理,云存储技术应运而生,云存储为云计算提供了底层的数据存储功能,为其提供海量存储空间,高可靠,易扩展的存储系统。然而目前类似GFS,Hadoop等云存储系统都是一维的云存储系统,用户直接通过读取系统中存储节点来获取数据,然而由于用户和存储节点之间的距离,网络和数据存储方式等因素的影响,会给用户客户端带来延迟和负载加重的缺点。随着基于IOS,Android等移动便携设备的快速发展,用户使用移动操作系统访问云存储也越来越频繁,然而移动设备具有功耗敏感,计算能力相对低下,位置经常变换的特点,如果将移动设备和台式设备以同样的方式直接访问云存储系统的存储节点,肯定会导致部分移动设备访问延迟增大,移动端处理数据过多导致功耗增大的问题,严重影响了云存储系统对外的服务质量。技术实现要素:针对现有技术的以上缺陷或改进需求,本发明提供了一种适合移动设备客户端访问的云存储方法和系统,其目的在于,通过在存储层和客户端之间加入一层移动节点层来缓存数据,并且在移动节点层和存储层分别使用不同的数据冗余技术,在减少移动设备访问延迟、提高移动设备的访问 速度的同时降低了存储成本。为实现上述目的,按照本发明的一个方面,提供了一种适合移动设备客户端访问的云存储系统,包括以下步骤:(1)距离移动设备最近的移动节点组的组长接收来自移动设备的数据访问请求,并判断该数据访问请求是读请求还是写请求,如果是读请求则转入步骤(2),如果是写请求则转入步骤(6);(2)移动节点组的组长根据该读请求判断该移动设备是否具有读权限,如果是则转入步骤(3),否则拒绝该读请求,并向移动设备返回无读权限提示,过程结束;(3)移动节点组的组长查找移动节点组内的元数据信息,并根据该元数据信息判断读请求对应的读数据是否存在于本组内,如果存在,则将该读数据返回给移动设备,然后进入步骤(5),否则转入步骤(4);(4)移动节点组的组长代替移动设备向存储节点层转发读请求,将存储节点层发回的读数据发回给移动节点组,并由移动节点组将读数据发回给移动设备;(5)移动节点组的组长根据读数据请求采用曲线拟合方法预测其热度值,并根据该热度值调整该读数据在移动节点组中副本的个数,然后过程结束;(6)移动节点组的组长根据该写请求判断该移动设备是否具有写权限,如果是则转入步骤(7),否则拒绝该写请求,并向移动设备返回无写权限提示,过程结束;(7)移动节点组根据该写请求从移动设备接收对应的写数据,将该写数据分成多个完全副本,将这些完全副本存储在该移动节点组中,并向移动设备返回写成功;(8)移动节点组的组长根据写数据采用曲线拟合方法预测其热度值,并根据该热度值调整该写数据在移动节点组中副本的个数,然后过程结束。优选地,步骤(5)包括以下子步骤:(5-1)建立二次曲线模型Y=a+bX+cX2,其中a、b、c为拟合参数,X表示统计周期内读数据请求的数量,Y表示读数据请求对应的读数据的访问热度;(5-2)分别获取读数据请求在最近三个统计周期内的读请求次数(X1,X2,X3)和其访问热度(Y1,Y2,Y3),并结合上述公式以及以下公式计算得到拟合参数a、b和c的值:X=1x1x121x2x221x3x32Y=Y1Y2Y3]]>(5-3)确定某个统计周期内的读数据请求数量,并根据确定拟合参数后的二次曲线获得该统计周期内读数据请求的访问热度H;(5-4)判断该访问热度是否大于访问热度平均值(其等于所统计的历史访问热度的平均值)Haverage,还是大于0且小于Haverage,还是等于0,如果是大于,则将该读数据请求对应的读数据在移动节点组中副本的个数设置为如果是大于0且小于Haverage,则将读数据请求对应的读数据在移动节点组中副本的个数设置为如果等于0,则将副本个数设置为0;优选地,步骤(8)包括以下子步骤:(8-1)对写数据请求进行曲线拟合,即建立写数据二次曲线模型Z=p+qC+rC2,其中p、q、r为拟合参数,C表示统计周期内写数据请求的数量,Z表示写数据请求对应的写数据的访问热度。(8-2)分别获取写数据请求在最近三个统计周期内的写请求次数(C1,C2,C3)和其访问热度(Z1,Z2,Z3),并结合上述公式以及以下公式计算得到拟合参数p、q和r的值:C=1c1c121c2c221c3c32Z=z1z2z3]]>(8-3)确定某个周期内的写数据请求数量,并根据确定拟合参数后的二次曲线获得该周期内写数据请求的访问热度H;(8-4)判断该访问热度是否大于访问热度平均值(其等于所统计的历史访问热度的平均值)Haverage,还是大于0且小于Haverage,还是等于0,如果是大于,则将该写数据请求对应的写数据在移动节点组中副本的个数设置为如果是大于0且小于Haverage,则将写数据请求对应的写数据在移动节点组中副本的个数设置为如果等于0,则将副本个数设置为0。按照本发明的另一方面,提供了一种适合移动设备访问的云存储系统,包括:第一模块,用于距离移动设备最近的移动节点组的组长接收来自移动设备的数据访问请求,并判断该数据访问请求是读请求还是写请求,如果是读请求则转入第二模块,如果是写请求则转入第六模块;第二模块,用于移动节点组的组长根据该读请求判断该移动设备是否具有读权限,如果是则转入第三模块,否则拒绝该读请求,并向移动设备返回无读权限提示,过程结束;第三模块,用于移动节点组的组长查找移动节点组内的元数据信息,并根据该元数据信息判断读请求对应的读数据是否存在于本组内,如果存在,则将该读数据返回给移动设备,然后进入第五模块,否则转入第四模块;第四模块,用于移动节点组的组长代替移动设备向存储节点层转发读请求,将存储节点层发回的读数据发回给移动节点组,并由移动节点组将读数据发回给移动设备;第五模块,用于移动节点组的组长根据读数据请求采用曲线拟合方法预测其热度值,并根据该热度值调整该读数据在移动节点组中副本的个数,然后过程结束;第六模块,用于移动节点组的组长根据该写请求判断该移动设备是否具有写权限,如果是则转入第七模块,否则拒绝该写请求,并向移动设备返回无写权限提示,过程结束;第七模块,用于移动节点组根据该写请求从移动设备接收对应的写数据,将该写数据分成多个完全副本,将这些完全副本存储在该移动节点组中,并向移动设备返回写成功;第八模块,用于移动节点组的组长根据写数据采用曲线拟合方法预测其热度值,并根据该热度值调整该写数据在移动节点组中副本的个数,然后过程结束。总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:1、减少了移动设备访问延迟:由于采用了步骤(1),在存储层和客户端之间加入了移动节点层,这些移动节点按实际需求分布在广域网空间中,其具有高性能,离客户端距离近的特点,若干个移动节点组成一组为附近的用户提供服务,移动设备可以直接访问离其最近的移动节点组以获取最大带宽,减少访问延迟。2、加快了移动设备存取数据的速度:由于采用了步骤(4)、步骤(5)和步骤(9),移动节点采用完全副本方式保存用户数据,并且提供了一种高效的曲线拟合预测副本的热度算法,可以及时调整副本数目来提高移动设备存取数据的速度,在存储层采用了一种线性的数据片存取方案,数据 片的存取复杂度均为o(n),加快了数据存取速度。3、降低了云存储系统成本:由于存储层采用了纠删码的方式持久化所有数据,在保证数据可靠性的同时最大化的减少了存储的成本。4、降低了移动设备的功耗:由于采用了步骤(4),移动设备访问云存储系统时只需要直接发出数据访问请求,其所有的操作都由移动节点组中的组长节点完成,存储层的纠删码片也由移动节点代替客户端完成解码工作,大大降低了移动设备处理的数据量,降低了其功耗。附图说明图1是本发明适合移动设备访问的云存储方法的应用环境图。图2是本发明适合移动设备访问的云存储方法的流程图。图3是本发明方法中步骤(5)的细化流程图。图4是本发明方法中步骤(8)的细化流程图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本发明的总体思路在于,由于云存储中主要使用完全副本和纠删编码保证数据的可靠性,我们充分使用这两种数据冗余方案的优点,在存储节点和移动客户端之间加入一层移动节点层来充当高性能缓存层的作用,在移动节点层中使用完全副本的方式并使用一种动态副本调整算法保证移动设备能够高性能的访问云存储系统,然后在存储节点中使用纠删编码方式保证数据可靠性的同时节省存储成本,在存储节点中加入一种数据片的线性分布方式,有利于移动节点快速的找到需要的数据片并利用解码算法恢复出原始数据反馈给移动客户端。以下首先就本发明的术语进行解释和说明:移动节点组层:移动节点组层有许多高性能计算机节点组成,在系统中充当缓存层的作用,若干个移动节点组成一个移动节点组(如图1所示),利用Paxos算法选举出一个组长节点负责协调组内事务,移动节点组分布的存在于广域网空间中,移动客户端优先访问离其最近的移动节点组以获得最大带宽服务,客户端数据以完全副本的方式保存在移动节点组中。存储节点层:存储节点层由海量存储节点构成,其拥有存储容量大的计算机节点构成,数据经过纠删编码分片后存储在存储节点中。控制节点:控制节点主要用来负责协调系统中的所有节点,当有新节点加入系统时需要向控制节点注册节点信息,并且控制节点和系统中所有节点发送心跳包保持联系,及时发现节点的加入和离开,控制节点保存了一份节点信息表供其他节点缓存使用。如图2所示,本发明适合移动设备访问的云存储方法包括如下步骤:(1)距离移动设备最近的移动节点组的组长接收来自移动设备的数据访问请求,并判断该数据访问请求是读请求还是写请求,如果是读请求则转入步骤(2),如果是写请求则转入步骤(6);本步骤的优点在于移动设备访问离其最近的移动节点组能够减小网络延迟,获得最大的网络带宽,移动设备发出请求后续处理都交给组长节点处理,减少了移动设备的处理负荷。(2)移动节点组的组长根据该读请求判断该移动设备是否具有读权限,如果是则转入步骤(3),否则拒绝该读请求,并向移动设备返回无读权限提示,过程结束;具体而言,如果该读请求中包括权限控制信息,则该移动设备具有读权限,否则该移动设备没有读权限;(3)移动节点组的组长查找移动节点组内的元数据信息,并根据该元数据信息判断读请求对应的读数据是否存在于本组内,如果存在,则将该读数据返回给移动设备,然后进入步骤(5),否则转入步骤(4);本步骤的优点在于优先利用本组内的数据返回给移动设备能够加快移动设备下载数据的速度,从而充分发挥了移动节点层的缓存功能。(4)移动节点组的组长代替移动设备向存储节点层转发读请求,将存储节点层发回的读数据发回给移动节点组,并由移动节点组将读数据发回给移动设备;本步骤的优点在于,如果移动设备需要的数据不存在于移动节点组中,那么组长节点请求存储节点调取数据,而不用移动客户端去存储节点取数据,减少了移动设备的访问请求,减少了功耗。(5)移动节点组的组长根据读数据请求采用曲线拟合方法预测其热度值,并根据该热度值调整该读数据在移动节点组中副本的个数,然后过程结束;如图3所示,本步骤具体包括以下子步骤:(5-1)对读数据请求进行曲线拟合,即建立二次曲线模型Y=a+bX+cX2,其中a、b、c为拟合参数,X表示统计周期内读数据请求的数量,Y表示读数据请求对应的读数据的访问热度。(5-2)分别获取读数据请求在最近三个统计周期内的读请求次数(X1,X2,X3)和其访问热度(Y1,Y2,Y3),并结合上述公式以及以下公式计算得到拟合参数a、b和c的值:X=1x1x121x2x221x3x32Y=Y1Y2Y3]]>(5-3)确定某个周期内的读数据请求数量,并根据确定拟合参数后的二次曲线获得该周期内读数据请求的访问热度H;(5-4)判断该访问热度是否大于访问热度平均值(其等于所统计的历史访问热度的平均值)Haverage,还是大于0且小于Haverage,还是等于0,如果是大于,则将该读数据请求对应的读数据在移动节点组中副本的个数设置为如果是大于0且小于Haverage,则将读数据请求对应的读数 据在移动节点组中副本的个数设置为如果等于0,则将副本个数设置为0。在本实施方式中,预设阈值Haverage的取值为本步骤的优点在于,能够根据前几个读数据的热度预测当前读数据的热度,从而及时调整该读数据在移动节点组中副本的数目,并通过为移动设备提供足够的副本个数以提高下载带宽。(6)移动节点组的组长根据该写请求判断该移动设备是否具有写权限,如果是则转入步骤(7),否则拒绝该写请求,并向移动设备返回无写权限提示,过程结束;具体而言,如果该写请求中包括权限控制信息,则该移动设备具有写权限,否则该移动设备没有写权限;。(7)移动节点组根据该写请求从移动设备接收对应的写数据,将该写数据分成3-5个完全副本,将这些完全副本存储在该移动节点组中,并向移动设备返回写成功。本步骤的优点在于,移动设备不用把写数据直接写入存储节点,而是先写入移动节点进行缓存,这样写入速度会很快,后续移动节点会选择适当的时机将写数据写入存储节点。(8)移动节点组的组长根据写数据采用曲线拟合方法预测其热度值,并根据该热度值调整该写数据在移动节点组中副本的个数,然后过程结束;如图4所示,本步骤具体包括以下子步骤:(8-1)对写数据请求进行曲线拟合,即建立写数据二次曲线模型Z=p+qC+rC2,其中p、q、r为拟合参数,C表示统计周期内写数据请求的数量,Z表示写数据请求对应的写数据的访问热度。(8-2)分别获取写数据请求在最近三个统计周期内的写请求次数(C1,C2,C3)和其访问热度(Z1,Z2,Z3),并结合上述公式以及以下公式计算得到拟合参数p、q和r的值:C=1c1c121c2c221c3c32Z=z1z2z3]]>(8-3)确定某个周期内的写数据请求数量,并根据确定拟合参数后的二次曲线获得该周期内写数据请求的访问热度H;(8-4)判断该访问热度是否大于访问热度平均值(其等于所统计的历史访问热度的平均值)Haverage,还是大于0且小于Haverage,还是等于0,如果是大于,则将该写数据请求对应的写数据在移动节点组中副本的个数设置为如果是大于0且小于HHaverage,则将写数据请求对应的写数据在移动节点组中副本的个数设置为如果等于0,则将副本个数设置为0。本步骤的优点在于,能够及时调整移动节点中副本的个数,为移动设备提供快速的读取和访问。需要注意的是,本发明对应的软件可存储于计算机可读存储介质中。本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1