CN103297547B - 使用基于dht的p2p系统构建云存储辅助系统的方法 - Google Patents
使用基于dht的p2p系统构建云存储辅助系统的方法 Download PDFInfo
- Publication number
- CN103297547B CN103297547B CN201310284183.XA CN201310284183A CN103297547B CN 103297547 B CN103297547 B CN 103297547B CN 201310284183 A CN201310284183 A CN 201310284183A CN 103297547 B CN103297547 B CN 103297547B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- store
- dht
- message
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种使用基于DHT的P2P系统构建云存储辅助系统的方法,包括以下步骤:1、在基于DHT的P2P存储系统中顺序存储数据分块;2、从基于DHT的P2P存储系统中快速读取数据;3、使用马尔可夫模型为数据动态性建模,有效预测P2P存储中的数据有效性,进行带宽分配,及重备份重要数据。本发明有效的降低由云端读取数据产生的带宽费用。
Description
技术领域
本发明涉及一种使用基于DHT(DistributedHashTable,分布式哈希表)的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端与云端提供稳定的服务,又可以最大程度降低云端的开销。
Claims (3)
1.一种使用基于DHT的P2P系统构建云存储辅助系统的方法,其特征是该方法包括以下步骤:
(1)顺序的存储数据块,当数据存储在P2P系统中时,被划分为大小相同的数据块并顺序的存储在使用Chord协议构成的环形结构的节点上;
(2)读取数据,从起始节点开始,顺序向后续节点发送读取消息,到终止节点结束;同时,当节点能力有空余时,利用由Chord协议维持的路由表信息加速该读取过程;
(3)带宽分配,当节点从系统中读取数据时,确定P2P系统是否有足够的能力为其提供服务;当P2P系统不能满足节点的请求时,节点向云存储请求数据;
(4)数据重备份,当P2P系统需要存储新数据又没有足够空间的情况下,移除部分旧的数据,如果这部分旧的数据包含P2P系统仍需要的数据,重新备份这些数据;
数据存储到P2P系统中时,所有的数据块按节点在环形结构上的顺序顺序存储,当节点没有足够的存储空间存储数据时,移除旧的数据块来存储新的数据块;
当节点读取数据时,首先使用Chord协议将读取消息发送到起始节点;之后,每个收到此读取消息的节点向其后继节点转发读取消息,直到终止节点结束;当节点有空余能力时,利用由Chord协议维持的路由表信息随机向其它节点发送读取消息,其随机发送的消息数目不能超过指定阈值。
2.根据权利要求1所述的一种使用基于DHT的P2P系统构建云存储辅助系统的方法,其特征是:使用马尔可夫链模型对数据的动态性建模,预测任意时刻系统中某个数据块的有效性的概率。
3.根据权利要求1所述的一种使用基于DHT的P2P系统构建云存储辅助系统的方法,其特征是:当P2P系统检测到某重要文件在P2P系统中的备份数小于指定阈值时,重新备份此文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310284183.XA CN103297547B (zh) | 2013-07-08 | 2013-07-08 | 使用基于dht的p2p系统构建云存储辅助系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310284183.XA CN103297547B (zh) | 2013-07-08 | 2013-07-08 | 使用基于dht的p2p系统构建云存储辅助系统的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297547A CN103297547A (zh) | 2013-09-11 |
CN103297547B true CN103297547B (zh) | 2016-04-06 |
Family
ID=49097850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310284183.XA Expired - Fee Related CN103297547B (zh) | 2013-07-08 | 2013-07-08 | 使用基于dht的p2p系统构建云存储辅助系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297547B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544318B (zh) * | 2013-11-05 | 2017-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种云数据中心文件管理方法 |
WO2016032634A1 (en) | 2014-08-29 | 2016-03-03 | Cynny Spa | Systems and methods to organize a computing system having multiple computers, distribute computing tasks among the computers, and maintain data integrity and redundancy in the computing system |
US9928149B2 (en) | 2014-08-29 | 2018-03-27 | Cynny Space Srl | Systems and methods to maintain data integrity and redundancy in a computing system having multiple computers |
CN108965387B (zh) * | 2018-06-09 | 2021-04-06 | 西安电子科技大学 | 一种提高p2p数据存储抗毁性的均衡方法及系统 |
CN112532754B (zh) * | 2021-02-08 | 2021-07-16 | 浙江学海教育科技有限公司 | 校网文件快速服务方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175011A (zh) * | 2007-11-02 | 2008-05-07 | 南京大学 | 基于dht的p2p系统中获得高可用数据冗余的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301654B2 (en) * | 2009-02-24 | 2012-10-30 | Hitachi, Ltd. | Geographical distributed storage system based on hierarchical peer to peer architecture |
-
2013
- 2013-07-08 CN CN201310284183.XA patent/CN103297547B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175011A (zh) * | 2007-11-02 | 2008-05-07 | 南京大学 | 基于dht的p2p系统中获得高可用数据冗余的方法 |
Non-Patent Citations (2)
Title |
---|
《A DHT-based Scalable and Fault-tolerant Cloud Information Service》;Radko Zhelev etal.;《UBICOMM 2011:The Fifth International Conference on Mobile Ubiquitous Computing,Systems,Services and Technologies》;20110320;全文 * |
《基于DHT的P2P系统中高可用数据冗余机制》;陈贵海,等;《计算机学报》;20081031;第31卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103297547A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
CN107169865B (zh) | 基于区块链技术的资产数据处理系统 | |
CN103297547B (zh) | 使用基于dht的p2p系统构建云存储辅助系统的方法 | |
CN109189751A (zh) | 基于区块链的数据同步方法及终端设备 | |
CN110493148A (zh) | 一种区块处理、区块共识和区块同步方法及装置 | |
CN105404679A (zh) | 数据处理方法和装置 | |
CN110928690B (zh) | 一种在5g网络环境下区块链数据同步和验证的方法 | |
CN103326925B (zh) | 一种消息推送方法及装置 | |
CN103617007A (zh) | 多级智能存储实现方法和系统 | |
CN104092758A (zh) | 一种分布式高速云存储服务器集群系统及读取方法 | |
CN102737131B (zh) | 一种针对数据库重做日志的处理方法及系统 | |
CN110381157A (zh) | 一种基于Kademlia算法的分布式定向数据存储P2P网络 | |
CN110336875B (zh) | 一种提高物联网应用的计算和存储速度的方法 | |
CN109525633B (zh) | 区块链网络、基于区块链网络的消息发送、消息接收方法 | |
CN101344882A (zh) | 数据查询方法、插入方法及删除方法 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN106790354B (zh) | 一种防数据拥堵的通信方法及其装置 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
EP3939236B1 (en) | Node and cluster management on distributed self-governed ecosystem | |
CN102685222A (zh) | 一种用于电力系统的云存储资源管理装置 | |
CN103281383A (zh) | 一种面向分布式数据源的时序信息记录方法 | |
CN115658803A (zh) | 一种基于区块链的数据共享的方法 | |
CN105323320A (zh) | 一种内容分发的方法及装置 | |
CN114422526A (zh) | 一种区块同步方法、装置、电子设备和存储介质 | |
CN109062694B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160406 Termination date: 20160708 |