[發明專利]一種基于位管理的分布式文件系統節點編號分配方法有效
| 申請號: | 201210316061.X | 申請日: | 2012-08-31 |
| 公開(公告)號: | CN102867037A | 公開(公告)日: | 2013-01-09 |
| 發明(設計)人: | 張明富;顏秉珩 | 申請(專利權)人: | 浪潮電子信息產業股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 管理 分布式 文件系統 節點 編號 分配 方法 | ||
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<searchpos則searchpos=pos,本步驟的作用是重新設置searchpos變量,使它始終指向第一含有空閑位的freebitmask數組元素變量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產業股份有限公司,未經浪潮電子信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210316061.X/1.html,轉載請聲明來源鉆瓜專利網。





