首页> 中国专利> 基于分布式存储逻辑卷ID分配效率的优化方法及系统

基于分布式存储逻辑卷ID分配效率的优化方法及系统

摘要

本发明提供了一种基于分布式存储逻辑卷ID分配效率的优化方法及系统。该方法包括:建立由m个数组组成的数组序列,每个数组包含n位;遍历数组序列中的各个数组,确定是否每个数组的每个位的取值为1;对于并不是每个位的取值均为1的数组,根据该数组中的按位与的运算结果,确定空闲逻辑卷的ID;其中,m×n=N,m为数组个数,n为每个数组中包含的二进制位的数量,N为逻辑卷的总数。本发明提供的基于分布式存储逻辑卷ID分配效率的优化方法及系统不仅提高了遍历的速度,而且节省了保存逻辑卷id记录表的大小。

著录项

  • 公开/公告号CN112732188A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 北京同有飞骥科技股份有限公司;

    申请/专利号CN202110014805.1

  • 申请日2021-01-06

  • 分类号G06F3/06(20060101);

  • 代理机构11303 北京方韬法业专利代理事务所(普通合伙);

  • 代理人党小林

  • 地址 100000 北京市海淀区地锦路9号院2号楼-1至4层101

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

本发明涉及银行开放系统技术领域,特别是涉及一种基于分布式存储逻辑卷ID分配效率的优化方法及系统。

背景技术

基于iSCSI协议的解决方案tgtd配置target时,对其中包含的逻辑卷id有一定的要求。一个target的逻辑卷id数值不能超过255,且已加入的逻辑卷id不能被变更。这样target中的卷在增删改的变动过程中,逻辑卷id不能重新排列,只能按照座位分配方案插空处理,需要有一个记录逻辑卷id的表以及每次添加逻辑卷时获取空闲id的方法。如果有逻辑卷被移出target后,可分配的id不能一直以递增方式分配,而需要从之前被移除的卷占用过的id进行再分配。

参见图1,现有的方案是通过数组的方式,把1~255作为下标,取值在0/1之间。用线性遍历的方式查找某个数组元素取值为0,则返回其下标作为空闲卷id分配给target使用。

这种计算方式主要由以下的弊端:

问题1:遍历时间长,当空闲位置处于末尾时,需要比较判断的次数最大是254次。

问题2:空间占用多,数组需要255个单字节整型值,当iSCSI的target数量增加1个,则需要255个字节来保存其id分配表信息。

发明内容

本发明要解决的技术问题是提供一种基于分布式存储逻辑卷ID分配效率的优化方法及系统,不仅提高了遍历的速度,而且节省了保存逻辑卷id记录表的大小。

为解决上述技术问题,本发明提供了一种基于分布式存储逻辑卷ID分配效率的优化方法,所述方法包括:建立由m个数组组成的数组序列,每个数组包含n位;遍历数组序列中的各个数组,确定是否每个数组的每个位的取值为1;对于并不是每个位的取值均为1的数组,根据该数组中的按位与的运算结果,确定空闲逻辑卷的ID;其中,m×n=N,m为数组个数,n为每个数组中包含的二进制位的数量,N为逻辑卷的总数。

在一些实施方式中,确定是否每个数组的每个位的取值为1,包括:确定是否每个数组中存储的数值等于2

在一些实施方式中,对于并不是每个位的取值均为1的数组,根据该数组中的按位与的运算结果,确定空闲逻辑卷的ID,包括:将数组中存储的数值与运算值进行按位与;判断按位与的结果是否为零;一旦按位与的结果为零,则与按位与运算次数相对应的逻辑卷ID为空闲的逻辑卷ID;如果按位与的结果不为零,将运算值进行左移,再次执行按位与运算。

在一些实施方式中,运算值包含二进制位的数量为n。

在一些实施方式中,运算值的所有二进制位中,仅有一位的取值为1,其他位的取值均为0。

在一些实施方式中,对于并不是每个位的取值均为1的数组,根据该数组中的按位与的运算结果,确定空闲逻辑卷的ID,还包括:一旦运算值的取值为可能的最大值,结束按位与的运算。

在一些实施方式中,n的取值为16,m的取值为16,M的取值为256。

此外,本发明还提供了一种基于分布式存储逻辑卷ID分配效率的优化系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的基于分布式存储逻辑卷ID分配效率的优化方法。

采用这样的设计后,本发明至少具有以下优点:

最多16次判断是否与255相等,16次位于运算就能遍历256个位置,对于32位或者64位的服务器CPU而言,16位的整型值判断和位与运算都只需一个指令即可完成。不仅提高了遍历的速度,而且节省了保存逻辑卷ID记录表的大小。

附图说明

上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。

图1是现有技术提供的数组遍历的流程示意图;

图2是本发明实施例提供的数组遍历的流程示意图;

图3是本发明实施例提供的基于分布式存储逻辑卷ID分配效率的优化方法的流程图;

图4是本发明实施例提供的基于分布式存储逻辑卷ID分配效率的优化系统的结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

将N个元素的一维数组序列,转换成的数组序列提高线性遍历效率。N作为分配序号最大值,向上取整2的n次方值,M的取值则应该是。线性遍历转化成跨区间跳跃式遍历。的取值符合高斯分布,达到最低遍历次数。

本次案例中,逻辑卷在target中id最大值255,则N取256,M取16,保存id记录的数组从255个元素,减少到16个元素,每个元素是双字节整型值。利用每个元素的16个bit位作为id分配值,遍历的时候可以根据1个元素的值一次性判断连续16个位置是否被占用的情况,达到一步跳跃16个位置的效果。对于逻辑卷id分配场景,最多查找16(值判断)+16(位运算)=32次就能得到空闲id位置。对比线性遍历的255次,提高了近8倍速度。如果M不取值,而是其他2的n次方值,例如8或32,针对逻辑卷id分配场景,最多查找次数是8+32或32+8都大于32。

判断空位的逻辑是16个元素挨个先判断是否等于255,如果是255则直接遍历下一个元素,直到第16个元素都完成。当某个元素不为255时,则用分别用b0000000000000001,b0000000000000010...,b1000000000000000共计16个不同的值依次进行位与运算,结果为0,则代表该bit为0,从而得到空闲逻辑卷id的值。16个元素的初始值,第一个元素为0x80000000,最后一个元素为0x01,其他元素都为0(0和256都非有效id值)。

综上,本发明提供的技术方案最多16次判断是否与255相等,16次位与运算就能遍历256个位置。对于32或64位的服务器CPU而言,16bit的整形值判断和位与运算都只需一个指令即可完成。不仅提高了遍历的速度,而且节省了保存逻辑卷id记录表的大小。

图4示出了基于分布式存储逻辑卷ID分配效率的优化系统的结构。参见图4,例如,所述基于分布式存储逻辑卷ID分配效率的优化系统400可以用于充当iscsi系统中的空闲逻辑卷智能查找装置。如本文所述,基于分布式存储逻辑卷ID分配效率的优化系统400可以用于在iscsi系统中实现对空闲逻辑卷的智能查找功能。基于分布式存储逻辑卷ID分配效率的优化系统400可以在单个节点中实现,或者基于分布式存储逻辑卷ID分配效率的优化系统400的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语基于分布式存储逻辑卷ID分配效率的优化系统包括广泛意义上的设备,图4中示出的基于分布式存储逻辑卷ID分配效率的优化系统400仅是其中一个示例。包括基于分布式存储逻辑卷ID分配效率的优化系统400是为了表述清楚,并不旨在将本发明的应用限制为特定的基于分布式存储逻辑卷ID分配效率的优化系统实施例或某一类基于分布式存储逻辑卷ID分配效率的优化系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,基于分布式存储逻辑卷ID分配效率的优化系统400中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。基于分布式存储逻辑卷ID分配效率的优化系统400可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。如图4所示,基于分布式存储逻辑卷ID分配效率的优化系统400可以包括收发器(Tx/Rx)410,其可以是发射器,接收器,或其组合。Tx/Rx410可以耦合到多个端口450(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器430可耦合至Tx/Rx410,以处理帧和/或确定向哪些节点发送帧。处理器430可以包括一个或多个多核处理器和/或存储器设备432,其可以用作数据存储器,缓冲区等。处理器430可以被实现为通用处理器,或者可以是一个或多个专用集成电路(application specific integratedcircuit,简称ASIC)和/或数字信号处理器(digital signal processor,简称DSP)的一部分。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号