本发明专利技术提供一种基于Peterson图的数据存储和读取方法,包括如下步骤:1)获取表示数据的存储节点所对应ID,并将数据存储在提交该数据存储请求的节点或者相近的节点上,2)将包括数据ID以及数据文件名的相关信息组成一个索引项,通过分布式哈希表方式,生成一个索引ID的值j,并将索引项存储于该ID值的节点j上;3)从任意节点读取数据,读取步骤如下:a)根据数据文件名或标识计算获取索引ID的值j:f_ID=Hash(f)%10;b),路由到索引节点j,取出索引表项;c)根据索引表项中的数据ID,找到目标节点,读取数据。该方法可以有效地对数据进行路由定位和存储管理,同时,负载均衡的特性,也有利于Peterson结构在分布式存储系统中的应用。
【技术实现步骤摘要】
本专利技术涉及信息网络
,特别涉及到由分布式存储节点构成的网络存储
中的一种基于彼得森(Peterson)图的数据存储和读取方法。
技术介绍
随着互联网的发展和用户宽带接入的普及,许多公司和机构产生了海量数据的 存储需求。如果通过扩充存储设备来解决该问题, 一方面增加了公司对海量数据存 储维护的成本,另一方面,大量的访问请求也给存储服务器来了巨大压力。在这些 条件下,分布式的存储系统应运而生。分布式存储通过网络存储设备,构建一个存储专用网络为用户提供统一的信息 存取和管理的服务,将数据合理分布在存储网络中,避免了服务器单点瓶颈的问题。 另外,随着终端计算能力的增强,越来越多的个人用户终端系统成为了宝贵的资源, 而通过peer-to-peer (P2P)技术,可以将这些资源有效的整合,并具有自组织,抗动 态性等特点,使得基于P2P的分布式存储网络受到了越来越多的青睐。Peterson图是一个包含10个节点的正则图,在该图中,所有的节点度都相同, 为3,任意两个节点间的距离不超过2。由于Peterson图结构的稳定性和对称性,使 其在并行计算等领域得到了应用,并取得了良好的效果。
技术实现思路
本专利技术的目的在于提供一种基于Peterson图的数据存储和读取方法,其将 Peterson结构有效应用于网络存储中,可增强系统的存储可靠性。该方法通过两个层 次的管理,将数据内容和索引信息进行分开存储,保证该方法可以有效地对数据进 行路由定位和存储管理,同时,负载均衡的特性,也有利于Peterson结构在分布式 存储系统中的应用。为了实现上述目的,本专利技术的基于Peterson图的数据存储和读取方法,其特征 在于,将数据内容和索引信息进行分开存储,具体包括如下步骤 1)确定待存储数据所对应的数据ID,并存储数据获取表示数据的存储节点所对应ID,并将数据存储在提交该数据存储请求的节 点或者相近的节点上,当通过节点i写入数据时,如果节点i中空间充足,则数据ID为i,并将数据写 入节点i中;如果节点i中空间不足,则数据ID为ID映射表中与节点i存在链接的其它节点 ID,选择具有可用空间且ID最小的节点并将数据写入对应节点;2) 确定数据的索引ID:将包括数据ID以及数据文件名的相关信息组成一个索引项,通过分布式哈希表 方式,生成一个索引ID的值j,并将索引项存储于该ID值的节点j上,具体步骤如 下a) 计算索引ID的值j,根据数据文件名或者标识进行哈希映射得到索引项的ID 的值j:文件ID-Hash (》%10,使其取得之间的任意且唯一值;b) 根据邻接矩阵表,找到从节点i到目标存储节点j的一条最短路径,并将索 引项存入其中;c) 每个节点定期对邻接表中的邻接节点进行检测,如果某个邻接节点已失效, 则修改邻接矩阵中该节点ID和邻接节点ID所对应行、列的值,将其设为无穷大或 者一个很大的数,表示该路径己经无效,这里,检测邻接表中的节点状态可以选择下述方法中的任意一种 0检测节点间网络拓扑距离;ii)检测相关参数,包括节点间延迟以及带宽。3) 从任意节点读取数据,读取步骤如下-a) 根据数据文件名或标识计算获取索引ID的值j: /—ID = Hash (/) %10;b) 通过一条最短路径路由到索引节点j,取出索引表项;c) 根据索引表项中的数据ID,即所存储数据的节点ID值i,找到目标节点i,读取数据。本专利技术的基于Peterson图的数据存储和读取方法的有益效果在于通过将数据 和节点映射到同一个ID空间,在统一的准则下有效地进行数据存储管理,同时,数 据和索引两级存储的方法,有利于存储空间有限等情况下的数据定位,具有很强的 实用价值。并且将Peterson结构有效应用于网络存储中,增强了系统的存储可靠性。附图说明图1是Peterson网络中的结构和ID示意图。图2是本专利技术的基于Peterson图的数据存储和读取方法中的存储流程图。 图3是本专利技术的基于Peterson图的数据存储和读取方法中的读取流程图。 图4是利用本专利技术的基于Peterson图的数据存储和读取方法的基于P2P网络和 Peterson网络的双层网络示意图。具体实施例方式下面结合附图和具体实施例对本专利技术的基于Peterson图的数据存储和读取方法 进行详细的说明。本专利技术提出的一种基于Peterson图的数据存储和读取方法,通过两个层次的管 理,将数据内容和索引信息进行分开存储;第一层是确定待存储数据所对应的数据 ID,即表示数据的存储节点所对应ID,需要尽量保证将数据存储在提交该数据存储 请求的节点或者相近的节点上,减少多个节点间传递数据带来的通信代价;第二层 是确定数据的索引ID,将数据ID等相关信息组成一个索引项,通过类似DHT的方 式,生成一个索引ID,并将索引项存储于该ID值的节点上。两个层次的存储保证了 该方法可以有效地对数据进行路由定位和存储管理,同时,负载均衡的特性,也有 利于Peterson结构在分布式存储系统中的应用。图1是Peterson网络中的结构和ID示意图。如图1所示,Peterson图由10个节 点组成,设其ID范围为,当数据存储其中时,要有一个一致的存储和管理方法。图2是本专利技术的基于Peterson图的数据存储和读取方法中的存储流程图。图3 是本专利技术的基于Peterson图的数据存储和读取方法中的读取流程图。如图2所示,本专利技术的基于Peterson图的数据存储和读取方法中的数据存储方 法,将数据内容和索引信息进行分开存储,具体包括如下步骤 1)确定待存储数据所对应的数据ID,并存储数据-获取表示数据的存储节点所对应ID,并将数据存储在提交该数据存储请求的节 点或者相近的节点上,当通过节点i写入数据时,如果节点i中空间充足,则数据 ID为i,将数据写入节点i中;如果节点i中空间不足,则数据ID只能为下述表1 所示的ID映射表中,与节点i存在链接的其它节点ID,选择具有可用空间且ID最小的节点,并将数据写入该节点。 2)确定数据的索引ID,将包括数据ID以及数据文件名等相关信息组成一个索引项,通过分布式哈希表 方式,生成一个索引ID值j,并将索引项存储于该ID值的节点j上,其步骤为a) 计算索引ID;根据数据文件名(或者标识)进行哈希映射得到索引项的ID的值j,计算方法 如下文件ID-Hash (文件名"%10,使其取得之间的任意且唯一值。b) 根据表2所示的邻接矩阵,找到从节点i到目标存储点j的一条最短路径, 并将索引项存入其中;c) 每个节点定期对邻接表中的邻接节点进行检测,如果某个邻接节点己失效, 则修改邻接矩阵中该节点ID和邻接节点ID所对应行、列的值,将其设为无穷大或 者一个很大的数,表示该路径己经无效,这里,检测邻接表中节点状态的方法可以选择下述方法中的任意一种i) 检测节点间网络拓扑距离;ii) 检测节点间延迟、带宽等相关参数。如图3所示,本专利技术的基于Peterson图的数据存储和读取方法中的数据读取方 法,从任意节点读取数据时,具体包括如下步骤1) 根据数据文件名(或标识)计算得到索引ID的值j:文件ID = Hash (文件 名/) %10;2) 通过一条最短路径路由到索引节点j,取出索引表项;3本文档来自技高网...
【技术保护点】
一种基于Peterson图的数据存储和读取方法,其特征在于,将数据内容和索引信息进行分开存储,具体包括如下步骤: 1)确定待存储数据所对应的数据ID,并存储数据: 获取表示数据的存储节点所对应ID,并将数据存储在提交该数据存储请 求的节点或者相近的节点上, 当通过节点i写入数据时,如果节点i中空间充足,则数据ID为i,并将数据写入节点i中; 如果节点i中空间不足,则数据ID为ID映射表中与节点i存在链接的其它节点ID,并将数据写入对应节点; 2)确 定数据的索引ID: 将包括数据ID以及数据文件名的相关信息组成一个索引项,通过分布式哈希表方式,生成一个索引ID的值j,并将索引项存储于该ID值的节点j上,具体步骤如下: a)计算索引ID的值j,根据数据文件名或者标识进行哈希映 射得到索引项的ID的值j:文件ID=Hash(f)%10,使其取得[0,9]之间的任意且唯一值; b)根据邻接矩阵表,找到从节点i到目标存储节点j的一条最短路径,并将索引项存入其中; c)每个节点定期对邻接表中的邻接节点进行检测 ,如果某个邻接节点已失效,则修改邻接矩阵中该节点ID和邻接节点ID所对应行、列的值,将其设为无穷大或者一个很大的数,表示该路径已经无效; 3)从任意节点读取数据,读取步骤如下: a)根据数据文件名或标识计算获取索引ID的值j:f _ID=Hash(f)%10; b)通过一条最短路径路由到索引节点j,取出索引表项; c)根据索引表项中的数据ID,即所存储数据的节点ID值i,找到目标节点i,读取数据。...
【技术特征摘要】
【专利技术属性】
技术研发人员:尤佳莉,王劲林,邓浩江,王玲芳,
申请(专利权)人:中国科学院声学研究所,
类型:发明
国别省市:11[]