发明名称 一种基于彼得森图的数据存储和读取方法
摘要 本发明提供一种基于Peterson图的数据存储和读取方法,包括如下步骤:1)获取表示数据的存储节点所对应ID,并将数据存储在提交该数据存储请求的节点或者相近的节点上,2)将包括数据ID以及数据文件名的相关信息组成一个索引项,通过分布式哈希表方式,生成一个索引ID的值j,并将索引项存储于该ID值的节点j上;3)从任意节点读取数据,读取步骤如下:a)根据数据文件名或标识计算获取索引ID的值j:f_IDD=Hash (f)%10;b),路由到索引节点j,取出索引表项;c)根据索引表项中的数据ID,找到目标节点,读取数据。该方法可以有效地对数据进行路由定位和存储管理,同时,负载均衡的特性,也有利于Peterson结构在分布式存储系统中的应用。
申请公布号 CN101645039B 申请公布日期 2011.06.22
申请号 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
代理机构 北京法思腾知识产权代理有限公司 11318 代理人 杨小蓉
主权项 一种基于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:f_ID=Hash(f)%10,其中,f表示文件名或者任意表示文件特性的标识,该计算得到的值即为索引ID的哈希值j,且使其取得[0,9]之间的任意且唯一值;b)根据邻接矩阵表,找到从节点i到目标存储节点j的一条最短路径,并将索引项存入其中;c)每个节点定期对邻接表中的邻接节点进行检测,如果某个邻接节点已失效,则修改邻接矩阵中该节点ID和邻接节点ID所对应行、列的值,将其设为无穷大或者一个很大的数,表示该路径已经无效;3)从任意节点读取数据,读取步骤如下:a)根据数据文件名或标识计算获取索引ID的值j:f_ID=Hash(f)%10,其中,f表示文件名或者任意表示文件特性的标识,该计算得到的值即为索引ID的哈希值j;b)通过一条最短路径路由到索引节点j,取出索引表项;c)根据索引表项中的数据ID,即所存储数据的节点ID值i,找到目标节点i,读取数据。
地址 100190 北京市海淀区北四环西路21号中国科学院声学研究所