发明名称 |
一种基于彼得森图的数据存储和读取方法 |
摘要 |
本发明提供一种基于Peterson图的数据存储和读取方法,包括如下步骤:1)获取表示数据的存储节点所对应ID,并将数据存储在提交该数据存储请求的节点或者相近的节点上,2)将包括数据ID以及数据文件名的相关信息组成一个索引项,通过分布式哈希表方式,生成一个索引ID的值j,并将索引项存储于该ID值的节点j上;3)从任意节点读取数据,读取步骤如下:a)根据数据文件名或标识计算获取索引ID的值j:f_ID=Hash(f)%10;b),路由到索引节点j,取出索引表项;c)根据索引表项中的数据ID,找到目标节点,读取数据。该方法可以有效地对数据进行路由定位和存储管理,同时,负载均衡的特性,也有利于Peterson结构在分布式存储系统中的应用。 |
申请公布号 |
CN101645039A |
申请公布日期 |
2010.02.10 |
申请号 |
CN200910085126.2 |
申请日期 |
2009.06.02 |
申请人 |
中国科学院声学研究所 |
发明人 |
尤佳莉;王劲林;邓浩江;王玲芳 |
分类号 |
G06F12/00(2006.01)I;G06F3/06(2006.01)I;H04L12/54(2006.01)I;H04L29/08(2006.01)I |
主分类号 |
G06F12/00(2006.01)I |
代理机构 |
北京法思腾知识产权代理有限公司 |
代理人 |
杨小蓉 |
主权项 |
1、一种基于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,读取数据。 |
地址 |
100190北京市海淀区北四环西路21号中国科学院声学研究所 |