[发明专利]一种基于位管理的分布式文件系统节点编号分配方法有效
申请号: | 201210316061.X | 申请日: | 2012-08-31 |
公开(公告)号: | CN102867037A | 公开(公告)日: | 2013-01-09 |
发明(设计)人: | 张明富;颜秉珩 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于位管理的分布式文件系统节点编号分配方法,其方法内容包括:在分布式文件系统中将每一个节点编号的空闲或使用情况转换为数组元素变量中的某一位来表示(0表示空闲,1表示被占用);当需要分配一个节点编号时,从数组的搜索索引开始遍历每个元素变量中的每个位,找到第一个为0的位,根据元素变量在数组中的索引和该位在元素变量中的索引计算出节点编号值进行返回,将该位设置为1;当需要释放一个节点编号时,根据节点编号值计算出数组索引和元素变量内的索引来确定对应的位将其清零,并根据数组索引来确定是否修改搜索索引。该方法简化了节点编号分配与回收的过程,降低了维护空闲节点编号的系统开销,提高了节点编号分配效率。 | ||
搜索关键词: | 一种 基于 管理 分布式 文件系统 节点 编号 分配 方法 | ||
【主权项】:
一种基于位管理的分布式文件系统节点编号分配方法,其特征在于内容包括:将分布式文件系统中每一个节点编号的空闲或使用情况转换为数组元素变量中的某一位来表示,用位值1或0来分别表示该节点编号占用或空闲状态;当需要分配一个节点编号时,会从数组的搜索索引开始遍历每个元素变量中的每个位,找到第一个为0的位,根据元素变量在数组中的索引和该位在元素变量中的索引计算出节点编号值进行返回,然后将该位设置为1;当需要释放一个节点编号时,会根据节点编号值计算出数组索引和元素变量内的索引来确定对应的位将其清零,并根据数组索引来确定是否修改搜索索引,数组的长度在没有空闲位时,允许动态扩充,当数组的搜索索引在分配节点编号时,作为数组的起始位置查找空闲位,并根据查找情况进行调整;在回收节点编号时,若对应的数组索引小于搜索索引,则重新设置搜索索引使其指向含有最小空闲节点编号的元素变量;具体实现过程如下:1)初始化阶段:(1)bitmasksize变量初始化为0x100,用以表示freebitmask数组的长度;(2)freebitmask是一个含有bitmasksize个元素的数组,它的每一个元素都是一个4字节的变量,该数组中每个元素会被初始化为0;(3)searchpos变量初始化为0,表示freebitmask数组的搜索索引;2)分配节点编号过程:(1)若searchpos小于bitmasksize并且freebitmask[searchpos]元素变量值等于0xFFFFFFFF,则searchpos自加1并返回步骤1),本步骤的作用是从searchpos位置开始在freebitmask数组中找到一个至少含有一个空闲位bit=0的元素变量;(2)如果searchpos等于bitmasksize,则bitmasksize加上0x80,并根据新的bitmasksize值调整freebitmask数组长度,新申请的元素变量被初始化为0,本步骤的作用是若freebitmask数组中所有的元素变量的每一位都是占用位bit=1,则为freebitmask数组扩展新的元素变量并初始化为0表示所有位都是空闲位;(3)根据freebitmask[searchpos]元素变量从低位到高位计算第一个空闲位的索引位置bitpos,将该位置1表示占用位;(4)计算节点编号nodeid= (searchpos<<5)+bitpos,并返回该值;3)回收节点编号过程:(1)根据节点编号nodeid计算出数组索引pos=nodeid>>5和位索引bitpos=nodeid&0x1F;(2)根据数组索引pos和位索引bitpos将freebitmask数组中的对应元素的对应位清零,即设为空闲位;(3)若pos
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210316061.X/,转载请声明来源钻瓜专利网。