[发明专利]一种基于位管理的分布式文件系统节点编号分配方法有效
申请号: | 201210316061.X | 申请日: | 2012-08-31 |
公开(公告)号: | CN102867037A | 公开(公告)日: | 2013-01-09 |
发明(设计)人: | 张明富;颜秉珩 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 管理 分布式 文件系统 节点 编号 分配 方法 | ||
技术领域
本发明涉及云计算云存储领域,具体为一种基于位管理的分布式文件系统节点编号分配方法。
技术背景
云存储是在云计算(cloud computing)基础上延伸和发展出来的一个新概念,是指通过集群应用、网络技术和分布式文件系统等技术,将网络中大量不同类型的存储设备进行整合利用,形成统一的存储池对外提供存储服务。
分布式文件系统作为云存储的核心组成部分在近几年中有了长足的发展。在分布式文件系统中对节点编号的分配与管理是一个很重要的问题。节点编号作为节点的标识必须是唯一的,它的分配与回收需要有一定的机制维护与管理。当前比较常见的分布式文件系统对节点编号的管理是基于某个全局变量线性增长的,每当需要分配一个新的节点编号时,就对这个全局变量加1然后返回该值,每当需要回收一个节点编号时则使用一个变量加以记录,然后再有节点编号的分配需求时则首先查找这些变量记录的编号进行返回。这种方式虽然效率很高,但需要额外的系统开销来维护那些回收的节点编号。一般每一个节点编号会用4字节来表示,当删除的节点很多时,会因此占用大量的内存资源。
发明内容
为了降低额外的内存消耗并兼顾执行效率,本发明提出了一种基于位管理的分布式文件系统节点编号分配方法。
本发明解决所述技术问题采用的方法内容包括:内容包括:将分布式文件系统中每一个节点编号的空闲或使用情况转换为数组元素变量中的某一位来表示,用位值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<searchpos则searchpos=pos,本步骤的作用是重新设置searchpos变量,使它始终指向第一含有空闲位的freebitmask数组元素变量。
本发明的有益效果是:简化了分布式文件系统中节点编号分配与回收的过程,降低了维护空闲节点编号的系统开销,提高了节点编号分配效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210316061.X/2.html,转载请声明来源钻瓜专利网。