首页> 中国专利> 使用基于DHT的P2P系统构建云存储辅助系统的方法

使用基于DHT的P2P系统构建云存储辅助系统的方法

摘要

本发明公开了一种使用基于DHT的P2P系统构建云存储辅助系统的方法,包括以下步骤:1、在基于DHT的P2P存储系统中顺序存储数据分块;2、从基于DHT的P2P存储系统中快速读取数据;3、使用马尔可夫模型为数据动态性建模,有效预测P2P存储中的数据有效性,进行带宽分配,及重备份重要数据。本发明有效的降低由云端读取数据产生的带宽费用。

著录项

  • 公开/公告号CN103297547A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201310284183.X

  • 发明设计人 陈贵海;张旭;吴小兵;

    申请日2013-07-08

  • 分类号H04L29/08(20060101);

  • 代理机构苏州威世朋知识产权代理事务所(普通合伙);

  • 代理人杨林洁

  • 地址 210093 江苏省南京市汉口路22号

  • 入库时间 2024-02-19 21:10:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-25

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20160406 终止日期:20160708 申请日:20130708

    专利权的终止

  • 2016-04-06

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20130708

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

本发明涉及一种使用基于DHT(Distributed Hash Table,分布式哈希表)的P2P存储系统(简称“P2P系统”)构建云存储辅助系统的方法。

背景技术

目前,云存储服务得到了人们的广泛关注。一些实际应用的云存储也开始向公众提供服务。不同的云存储服务提供商,其收费模式也不尽相同。存在一些云存储服务,不仅对用户存储数据占用的存储空间收取费用,当用户由云端读取数据时,也需要为传输数据所占用的带宽支付费用。

发明内容

发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种使用基于DHT的P2P系统构建云存储辅助系统的方法,通过将使用云存储服务的用户以P2P的方式组织起来,充分利节点的带宽与存储来有效的降低由云端读取数据产生的带宽费用。

技术方案:为实现上述发明目的,本发明采用的技术方案为一种使用基于DHT的P2P系统构建云存储辅助系统的方法,该方法包括以下步骤:

(1) 顺序的存储数据块,当数据存储在P2P系统中时,被划分为大小相同的数据块并顺序的存储在使用Chord协议构成的环形结构的节点上;

(2) 读取数据,从起始节点开始,顺序向后续节点发送读取消息,到终止节点结束;同时,当节点能力有空余时,利用由Chord协议维持的路由表信息加速该读取过程;

(3) 带宽分配,当节点从系统中读取数据时,确定P2P系统是否有足够的能力为其提供服务;当P2P系统不能满足节点的请求时,节点向云存储请求数据;

(4) 数据重备份,当P2P系统需要存储新数据又没有足够空间的情况下,移除部分旧的数据,如果这部分旧的数据包含P2P系统仍需要的数据,重新备份这些数据。

进一步的,数据存储到P2P系统中时,所有的数据块按节点在环形结构上的顺序顺序存储,当节点没有足够的存储空间存储数据时,移除旧的数据块来存储新的数据块。

进一步的,当节点读取数据时,首先使用Chord协议将读取消息发送到起始节点;之后,每个收到此读取消息的节点向其后继节点转发读取消息,直到终止节点结束;当节点有空余能力时,利用由Chord协议维持的路由表信息随机向其它节点发送读取消息,其随机发送的消息数目不能超过指定阈值。

进一步的,使用马尔可夫链模型对数据的动态性建模,预测任意时刻系统中某个数据块的有效性的概率,通过这种方式可以有效的预测P2P系统的性能从而进行带宽分配。

进一步的,当P2P系统检测到某重要文件在P2P系统中的备份数小于指定阈值时,重新备份此文件。

有益效果:本发明与现有技术相比,其显著优点是:使用已取得广泛研究的结构化P2P存储系统作为云存储辅助系统,可以充分利用以前的研究成果。通过顺序的在Chord环上存储数据,可以将读取数据协议的复杂度由O(KlogN) 降到O(logN+K),实现快速的读取数据,当使用随机发送加速时,可以进一步提高读取数据效率。通过对数据的动态性建模,可以有效的预测P2P系统的性能,从而有效的进行带宽分配及重备份数据。

附图说明

图1为数据动态模型图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

本发明可分为4个阶段:存储数据、读取数据、使用马尔可夫链模型为数据动态性建模预测数据有效性、根据分块预测信息进行带宽分配,并重备份重要数据。

 阶段1:存储数据

       当数据存储到系统时,首先被划分为若干个大小相等的数据块,设为K块。使用常用的哈希函数如SHA1对文件名进行哈希,得到键值                                                ,使用Chord协议找到负责的节点,将文件的第一个分块存储在此结点,并将第二个分块存储在节点的直接后继节点success(),依次类推。记存储最后一个分块的节点为。将(文件名,,)在目录服务器处记录。节点存储数据块时,如果当前其没有足够的存储空间存储此数据块,移除其存储空间中存在最久的数据块。通过这种方法,即完成一次存储过程。具体步骤如下:

步骤1:对文件名使用系统设定的哈希函数进行哈希,得到键值,并将文件划分为等大小的数据块。

步骤2:使用Chord协议提供的lookup接口,查找系统当前时刻负责键值的节点,并向其发送存储消息。

步骤3:节点收到存储消息后,根据给定的分块序号存储相应分块。

步骤4:节点检查是否存储的是最后一个分块。如果不是,向其后继节点发送存储消息,存储分块序号递增1,收到存储消息的节点进入步骤3。如果是,记录当前节点为,并向目录服务器记录分块的存储的基本信息。

 阶段2:读取数据

       节点读取数据时,首先联系目录服务器通过文件名查找相应的记录。获取记录在目录服务器的存储数据分块的起始节点与终止节点的id,即(,)。之后,使用Chord协议将读取消息路由到success()节点,记此节点为。之后,从节点开始,顺序向其后继节点发送此读取消息,直至某节点的id大于或等于后终止。具体步骤如下:

步骤1:通过文件名在目录服务器查找文件分块存储的起始节点与终止节点,记为与。

步骤2:使用Chord提供的lookup接口查找当前负责的节点,并向其发送读取分块消息。

步骤3:节点收到读取消息后,检查自身id与的大小。如果大于,通知读取过程结束。如果小于,进入步骤4。

步骤4:节点检查自身是否存有需要读取的分块,如果有,则向请求数据节点传输数据。否则,直接进入下一步骤。

步骤5:节点向其后继结点发送读取分块消息。收到消息的节点进入步骤3.

       当节点的能力有空余时,可以使用Chord维持的路由表信息来加速这一读取过程。根据Chord协议可以知道,系统中每个节点都记录到自身id指定距离的id的负责节点的信息。因此,每个节点除自身的后继节点外,有一定机会知道若干其他持有需要读取数据分块的节点。当开启加速模式时,节点首先按照读取文件协议向其后继节点转发读取消息,保证读取协议能够成功执行。之后,其根据给定的阈值随机的向其他节点发送此读取文件消息。假设文件被划分为K个大小相等的分块,则随机发送的阈值为的直接后继随机发送阈值相对减少1,依次类推。直至随机发送次数变为0或到达终止节点。

阶段3:使用马尔可夫链模型为数据动态性建模预测数据有效性

用户(节点)读取数据时,需要预测P2P系统的能力,当P2P系统有足够能力为用户提供服务时,用户从P2P存储中读取数据,否则,为了保障用户的服务质量,用户从云存储(或称“云端”)读取数据。

数据在ON,OFF,DEAD三个状态之间相互转换。转换关系如图所示,数据不断在状态之间转换,直至进入DEAD状态,数据在ON和OFF停留状态符合指数分布,参数分别为为数据的平均有效时间,为节点的平均无效时间,可通过对节点的在线与离线进行观测得到,为数据块(或称“分块”)的平均命周期,在系统中,通过统计分块所在节点上最新的被移除的100个分块的生命周期的均值得到。

在此模型下,如果分块i在时刻存储在某节点上,那么在任意时刻此分块在系统中有效的概率为

阶段4:根据分块预测信息进行带宽分配并重备份重要数据

根据阶段3得到的数据有效性概率,可以统计出系统平均有效的数据块数目。假设存储储在系统中的文件被划分为K个数据块,则从当前系统中可获得数据块总数的期望为。通过对系统的观察,可以获得节点的平均上传带宽与平均下载带宽。基于这些数据,当系统收到用户读取数据请求时,带宽分配步骤如下:

步骤1:获取统计信息及系统的一些当前状态。预测可得的数据块,平均上传与下载带宽、,当前读取此数据的用户数量。

步骤2:如果有当前P2P存储能够为所有用户提供服务,即则用户从P2P存储中读取数据,并从云端读取P2P存储中缺失的数据块。如果P2P存储没有足够的带宽为此用户提供服务,则进入步骤3。

步骤3:用户直接由云端读取所有的数据块。

在读取文件过程中,当系统检测到当前文件仍有较大数目的用户请求,但P2P存储中可得到分块数少于文件总分块数的0.3时,会启动重备份策略,保证P2P存储能尽可能的响应用户的请求。0.3来自对仿真实验的观测,在这个时候重新备份文件既可以保证由P2P端与云端提供稳定的服务,又可以最大程度降低云端的开销。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号