文件均衡分布方法及装置.pdf
《文件均衡分布方法及装置.pdf》由会员分享,可在线阅读,更多相关《文件均衡分布方法及装置.pdf(16页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910020186.X (22)申请日 2019.01.09 (71)申请人 深圳市茁壮网络股份有限公司 地址 518004 广东省深圳市莲塘高新技术 第一园113栋 (72)发明人 徐佳宏李银刘彬李威青 刘勇 (74)专利代理机构 深圳市深佳知识产权代理事 务所(普通合伙) 44285 代理人 王仲凯 (51)Int.Cl. G06F 3/06(2006.01) (54)发明名称 一种文件均衡分布方法及装置 (57)摘要 本申请公开了一种文件均衡分布方法及装 置, 该文件。
2、均衡方法按照磁盘组剩余空间比对磁 盘组进行排序, 然后利用正态分布随机算法选取 磁盘组, 并选取一个条带进行文件写入, 并且, 在 每写完一个磁盘组后, 排除已经使用的磁盘组, 这样, 不仅可以实现将文件尽量保存在更多的磁 盘组上, 而且, 可以将较小的文件尽量在剩余磁 盘空间比较大的磁盘组中存储, 这样可以减少磁 盘组之间的剩余空间比的差距的问题, 达到了文 件均衡的目的, 可以保证所有磁盘都能提供存储 和输出功能。 权利要求书2页 说明书10页 附图3页 CN 111427508 A 2020.07.17 CN 111427508 A 1.一种文件均衡分布方法, 其特征在于, 该方法包括:。
3、 将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序列表, 并将所述排序列 表保存到与待写入文件相关联的列表中; 在所述列表中, 通过正态分布随机算法选取第一磁盘组; 当所述待写入文件的大小在第一阈值范围内时, 在所述第一磁盘组中随机选取一个空 闲条带作为第一空闲条带, 将所述待写入文件写入所述第一空闲条带; 其中, 所述第一阈值 范围表征所述待写入文件的大小不大于所述第一空闲条带的大小; 当所述待写入文件的大小在第二阈值范围内时, 在所述第一磁盘组中随机选取一个空 闲条带作为第二空闲条带, 将所述待写入文件的第一条带的数据写入所述第二空闲条带; 所述第一空闲条带与所述第二空闲条带相同或。
4、不同; 通过正态分布随机算法选取所述列表中除第一磁盘组之外的第二磁盘组, 在所述第二 磁盘组中随机选取一个空闲条带作为第三空闲条带, 将所述待写入文件的第二条带的数据 写入所述第三空闲条带; 若所述待写入文件的写入没有完成, 则继续选取出除所述第一磁盘组和第二磁盘组之 外的其它磁盘组的空闲条带进行写入, 直至写入完成; 其中, 所述第二阈值范围表征所述待写入文件的大小大于所述第一空闲条带的大小, 且不大于一轮写入所对应的总空闲条带的大小, 所述一轮写入表示依序将所述当前所有磁 盘组选取一遍, 且每个磁盘组选取一个空闲条带进行写入。 2.根据权利要求1所述的方法, 其特征在于, 该方法还包括: 。
5、当所述待写入文件的大小在第三阈值范围内时, 开启下一轮写入, 直至写入完成; 其中, 所述第三阈值范围表征所述待写入文件的大小大于所述一轮写入所对应的总空 闲条带的大小。 3.根据权利要求1或2所述的方法, 其特征在于, 还包括: 在所述待写入文件的每一条带的数据写入完成后, 将写入数据的条带信息记录在所述 待写入文件中。 4.根据权利要求1所述的方法, 其特征在于, 所述通过正态分布随机算法选取第一磁盘 组包括: 通过正态分布随机算法得到一个随机数; 根据所述随机数与所述排序列表中计算的伪正态分布到顺序列表的映射关系, 选取相 应的磁盘组作为所述第一磁盘组。 5.根据权利要求1、 2或4任意。
6、一项所述的方法, 其特征在于, 所述正态分布随机算法的 公式为: 其中, x表示通过正态分布随机算法得到的随机数; m表示所述当前所有磁盘组的个数; v用于表示获取正态分布的前面一半数据, 还是后面一半的数据, 若v小于0, 表示获取正态 分布中的前面一半的数据, 若v大于或等于0, 表示获取正态分布后面一半的数据。 6.一种文件均衡分布装置, 其特征在于, 该装置包括: 排序单元, 用于将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序列表, 并 权利要求书 1/2 页 2 CN 111427508 A 2 将所述排序列表保存到与待写入文件相关联的列表中; 选取单元, 用于在所述列表中。
7、, 通过正态分布随机算法选取第一磁盘组; 第一写入单元, 用于当所述待写入文件的大小在第一阈值范围内时, 在所述第一磁盘 组中随机选取一个空闲条带作为第一空闲条带, 将所述待写入文件写入所述第一空闲条 带; 其中, 所述第一阈值范围表征所述待写入文件的大小不大于所述第一空闲条带的大小; 第二写入单元, 用于当所述待写入文件的大小在第二阈值范围内时, 在所述第一磁盘 组中随机选取一个空闲条带作为第二空闲条带, 将所述待写入文件的第一条带的数据写入 所述第二空闲条带; 所述第一空闲条带与所述第二空闲条带相同或不同; 所述选取单元还用于通过正态分布随机算法选取所述列表中除第一磁盘组之外的第 二磁盘组。
8、, 在所述第二磁盘组中随机选取一个空闲条带作为第三空闲条带, 以使所述第二 写入单元将所述待写入文件的第二条带的数据写入所述第三空闲条带; 判断单元, 用于判断所述待写入文件是否写入完成; 若所述待写入文件的写入没有完 成, 则所述选取单元继续选取出除所述第一磁盘组和第二磁盘组之外的其它磁盘组的空闲 条带以使所述第二写入单元进行写入, 直至写入完成; 其中, 所述第二阈值范围表征所述待写入文件的大小大于所述第一空闲条带的大小, 且不大于一轮写入所对应的总空闲条带的大小, 所述一轮写入表示依序将所述当前所有磁 盘组选取一遍, 且每个磁盘组选取一个空闲条带进行写入。 7.根据权利要求6所述的装置,。
9、 其特征在于, 该装置还包括: 第三写入单元, 用于当所述待写入文件的大小在第三阈值范围内时, 开启下一轮写入, 直至写入完成; 其中, 所述第三阈值范围表征所述待写入文件的大小大于所述一轮写入所对应的总空 闲条带的大小。 8.根据权利要求6或7所述的装置, 其特征在于, 还包括: 记录单元, 用于在所述待写入文件的每一条带的数据写入完成后, 将写入数据的条带 信息记录在所述待写入文件中。 9.根据权利要求6所述的装置, 其特征在于, 所述选取单元包括: 计算单元, 用于通过正态分布随机算法得到一个随机数; 选取子单元, 用于根据所述随机数与所述排序列表中计算的伪正态分布到顺序列表的 映射关系。
10、, 选取相应的磁盘组作为所述第一磁盘组。 10.根据权利要求6、 7或9任意一项所述的装置, 其特征在于, 所述正态分布随机算法的 公式为: 其中, x表示通过正态分布随机算法得到的随机数; m表示所述当前所有磁盘组的个数; v用于表示获取正态分布的前面一半数据, 还是后面一半的数据, 若v小于0, 表示获取正态 分布中的前面一半的数据, 若v大于或等于0, 表示获取正态分布后面一半的数据。 权利要求书 2/2 页 3 CN 111427508 A 3 一种文件均衡分布方法及装置 技术领域 0001 本申请涉及文件存储技术领域, 更具体地说, 涉及一种文件均衡分布方法及装置。 背景技术 000。
11、2 在分布式存储系统中, 当存储文件的时候, 需要将文件的数据块存储在各个磁盘 中。 0003 目前, 在文件存储时, 一般按照随机的均衡分布算法来获取条带进行文件存储, 并 且, 所有磁盘组的所有条带均在一个池子中, 然后在这个池子中随机选择一个条带进行存 储。 0004 然而, 由于是随机选择一个条带, 这样就可能多次获取的条带在同一个磁盘组中, 即可能会导致同一个磁盘组中存储了同一个文件的多个片段, 而有些磁盘组中却没有存储 到这个文件的一个片段。 此外, 当存储的文件很多的时候, 可能会造成有些磁盘组存储的文 件比较多, 而有些磁盘组存储的文件比较少。 这样的存储方式造成存储系统中磁盘。
12、存储的 不平衡, 无法保证所有磁盘都能提供存储和输出功能。 发明内容 0005 有鉴于此, 本申请提供了一种文件均衡分布方法及装置, 用于解决现有的文件存 储方式所存在的存储系统中磁盘存储不平衡, 无法保证所有磁盘都能提供存储和输出功能 的问题。 0006 为了实现上述目的, 现提出的方案如下: 0007 一种文件均衡分布方法, 该方法包括: 0008 将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序列表, 并将所述排 序列表保存到与待写入文件相关联的列表中; 0009 在所述列表中, 通过正态分布随机算法选取第一磁盘组; 0010 当所述待写入文件的大小在第一阈值范围内时, 在所述第。
13、一磁盘组中随机选取一 个空闲条带作为第一空闲条带, 将所述待写入文件写入所述第一空闲条带; 其中, 所述第一 阈值范围表征所述待写入文件的大小不大于所述第一空闲条带的大小; 0011 当所述待写入文件的大小在第二阈值范围内时, 在所述第一磁盘组中随机选取一 个空闲条带作为第二空闲条带, 将所述待写入文件的第一条带的数据写入所述第二空闲条 带; 所述第一空闲条带与所述第二空闲条带相同或不同; 0012 通过正态分布随机算法选取所述列表中除第一磁盘组之外的第二磁盘组, 在所述 第二磁盘组中随机选取一个空闲条带作为第三空闲条带, 将所述待写入文件的第二条带的 数据写入所述第三空闲条带; 0013 若。
14、所述待写入文件的写入没有完成, 则继续选取出除所述第一磁盘组和第二磁盘 组之外的其它磁盘组的空闲条带进行写入, 直至写入完成; 0014 其中, 所述第二阈值范围表征所述待写入文件的大小大于所述第一空闲条带的大 说明书 1/10 页 4 CN 111427508 A 4 小, 且不大于一轮写入所对应的总空闲条带的大小, 所述一轮写入表示依序将所述当前所 有磁盘组选取一遍, 且每个磁盘组选取一个空闲条带进行写入。 0015 优选的, 该方法还包括: 0016 当所述待写入文件的大小在第三阈值范围内时, 开启下一轮写入, 直至写入完成; 0017 其中, 所述第三阈值范围表征所述待写入文件的大小大。
15、于所述一轮写入所对应的 总空闲条带的大小。 0018 优选的, 还包括: 0019 在所述待写入文件的每一条带的数据写入完成后, 将写入数据的条带信息记录在 所述待写入文件中。 0020 优选的, 所述通过正态分布随机算法选取第一磁盘组包括: 0021 通过正态分布随机算法得到一个随机数; 0022 根据所述随机数与所述排序列表中计算的伪正态分布到顺序列表的映射关系, 选 取相应的磁盘组作为所述第一磁盘组。 0023 优选的, 所述正态分布随机算法的公式为: 0024 0025 其中, x表示通过正态分布随机算法得到的随机数; m表示所述当前所有磁盘组的 个数; v用于表示获取正态分布的前面一。
16、半数据, 还是后面一半的数据, 若v小于0, 表示获取 正态分布中的前面一半的数据, 若v大于或等于0, 表示获取正态分布后面一半的数据。 0026 一种文件均衡分布装置, 该装置包括: 0027 排序单元, 用于将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序列 表, 并将所述排序列表保存到与待写入文件相关联的列表中; 0028 选取单元, 用于在所述列表中, 通过正态分布随机算法选取第一磁盘组; 0029 第一写入单元, 用于当所述待写入文件的大小在第一阈值范围内时, 在所述第一 磁盘组中随机选取一个空闲条带作为第一空闲条带, 将所述待写入文件写入所述第一空闲 条带; 其中, 所述。
17、第一阈值范围表征所述待写入文件的大小不大于所述第一空闲条带的大 小; 0030 第二写入单元, 用于当所述待写入文件的大小在第二阈值范围内时, 在所述第一 磁盘组中随机选取一个空闲条带作为第二空闲条带, 将所述待写入文件的第一条带的数据 写入所述第二空闲条带; 所述第一空闲条带与所述第二空闲条带相同或不同; 0031 所述选取单元还用于通过正态分布随机算法选取所述列表中除第一磁盘组之外 的第二磁盘组, 在所述第二磁盘组中随机选取一个空闲条带作为第三空闲条带, 以使所述 第二写入单元将所述待写入文件的第二条带的数据写入所述第三空闲条带; 0032 判断单元, 用于判断所述待写入文件是否写入完成;。
18、 若所述待写入文件的写入没 有完成, 则所述选取单元继续选取出除所述第一磁盘组和第二磁盘组之外的其它磁盘组的 空闲条带以使所述第二写入单元进行写入, 直至写入完成; 0033 其中, 所述第二阈值范围表征所述待写入文件的大小大于所述第一空闲条带的大 小, 且不大于一轮写入所对应的总空闲条带的大小, 所述一轮写入表示依序将所述当前所 有磁盘组选取一遍, 且每个磁盘组选取一个空闲条带进行写入。 说明书 2/10 页 5 CN 111427508 A 5 0034 优选的, 该装置还包括: 0035 第三写入单元, 当所述待写入文件的大小在第三阈值范围内时, 开启下一轮写入, 直至写入完成; 003。
19、6 其中, 所述第三阈值范围表征所述待写入文件的大小大于所述一轮写入所对应的 总空闲条带的大小。 0037 优选的, 还包括: 0038 记录单元, 用于在所述待写入文件的每一条带的数据写入完成后, 将写入数据的 条带信息记录在所述待写入文件中。 0039 优选的, 所述选取单元包括: 0040 计算单元, 用于通过正态分布随机算法得到一个随机数; 0041 选取子单元, 用于根据所述随机数与所述排序列表中计算的伪正态分布到顺序列 表的映射关系, 选取相应的磁盘组作为所述第一磁盘组。 0042 优选的, 所述正态分布随机算法的公式为: 0043 0044 其中, x表示通过正态分布随机算法得到。
20、的随机数; m表示所述当前所有磁盘组的 个数; v用于表示获取正态分布的前面一半数据, 还是后面一半的数据, 若v小于0, 表示获取 正态分布中的前面一半的数据, 若v大于或等于0, 表示获取正态分布后面一半的数据。 0045 从上述的技术方案可以看出, 本申请实施例提供的文件均衡分布方法中, 通过按 照磁盘组剩余空间比对磁盘组进行排序, 然后利用正态分布随机算法选取磁盘组, 并选取 一个条带进行文件写入, 并且, 在每写完一个磁盘组后, 排除已经使用的磁盘组, 这样, 不仅 可以实现将文件尽量保存在更多的磁盘组上, 而且, 可以将较小的文件尽量在剩余磁盘空 间比较大的磁盘组中存储, 这样可以。
21、减少磁盘组之间的剩余空间比的差距的问题, 达到了 文件均衡的目的, 可以保证所有磁盘都能提供存储和输出功能。 附图说明 0046 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 申请的实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据 提供的附图获得其他的附图。 0047 图1为本申请实施例一公开的一种文件均衡分布方法的流程图; 0048 图2为本申请实施例二公开的一种文件均衡分布方法的流程图; 0049 图3为本申请实施例提供的一种磁盘组按照剩余空间从多。
22、到少的排列图; 0050 图4为本申请实施例提供的一种磁盘组伪正态分布方式排列图; 0051 图5为本申请实施例提供的一种按照公式进行有序列表和伪正态分布映射的关系 图; 0052 图6为本申请实施例三提供的一种文件均衡分布装置的结构示意图; 0053 图7为本申请实施例四提供的一种文件均衡分布装置的结构示意图。 说明书 3/10 页 6 CN 111427508 A 6 具体实施方式 0054 下面将结合本申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本申请一部分实施例, 而不是全部的实施例。 基于 本申请中的实施例, 本领域普通技术。
23、人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本申请保护的范围。 0055 为解决现有的文件存储方式所存在的存储系统中磁盘存储不平衡, 无法保证所有 磁盘都能提供存储和输出功能的问题, 本申请提供了一种文件均衡分布方法及装置, 具体 方案如下所述: 0056 实施例一 0057 本申请实施例一提供了一种文件均衡分布方法, 该方法应用于分布式存储系统 中, 分布式存储系统包括一个信息管理模块, 信息管理模块中包括有磁盘管理、 磁盘条带管 理和文件管理等。 0058 磁盘管理是将分布式存储系统中的所有磁盘进行的统一管理, 并将所有的磁盘进 行分组, 每一个组有12个磁盘。 从每个。
24、磁盘中获取一个数据块组合在一起, 就是12个数据 块, 这12个数据块称为条带, 将每一个组的磁盘分成若干个条带, 一个组中存在若干个条 带。 单个磁盘可以描述为: groupid, 磁盘的diskid、 ip、 port。 其中, groupid是磁盘组的编号 id, 用来唯一标识一组磁盘。 diskid是磁盘的编号id, 用来唯一标识一个磁盘, 在整个服务 器运行过程中保持和对应的磁盘不变。 ip和port用来连接这个磁盘, 是磁盘提供对外部其 他模块的访问地址, 其他模块通过这个磁盘的ip和port进行连接, 读取、 写入数据。 一个磁 盘组中包括有1个groupid、 12个diski。
25、d和12个连接。 0059 磁盘的条带管理: 一个条带中包含了bid、 groupid、 12个diskid和对应的12个磁盘 块的blockid以及使用标志。 其中bid是条带的编号id, 用来唯一标识一个条带。 通过 groupid可以筛选出某一个磁盘组里面的所有条带。 使用标志是用来标志这个条带是否已 经被文件使用, 若被文件使用该标志为1; 没有被使用该标志为0, 通过该标志可以确定一个 磁盘组已经使用了的条带个数和没有使用的条带个数。 0060 这里还存在一个统计表, 用来记录每一个磁盘组的总的条带个数、 已经使用的条 带个数。 该统计表的相关信息为: groupid、 total、。
26、 used。 其中gourpid表示磁盘组的id; total表示总的条带数; used表示已经使用了的条带数。 通过total-used表示还剩余的条带 个数, 那么, 剩余空间比即为(total-used)/total, 即1-used/total。 文件管理: 记录文件的 相关信息, 比如文件名、 文件的id, 文件的大小, 使用的条带列表等。 其中文件大小表示文件 实际的大小, 一般小于等于所有已经使用的条带个数对应的数据块大小的和。 就是说一个 条带为8+4, 其中8个磁盘块为原始数据块, 4个位编码数据块, 在存储实际文件的数据的时 候, 只需要确定原始数据块就可以了, 编码数据块。
27、不参与计算。 假设一个文件存储的大小是 25M, 每一个磁盘块的大小是4M, 那么通过25除以(8*4)等于0, 表示只占用了一个条带, 且这 个条带只用了25除以4再加上1等于7个磁盘块。 就是说在这个条带中存储了7个磁盘块, 且 占用了一个条带。 0061 条带列表, 表示这个文件存储所占用的条带列表。 通过文件的大小除以(8*4)就可 以知道占用了的条带个数(不能整除需要+1)。 条带列表中保存的是条带的bid, bid保存的 顺序就是文件存储的顺序。 第一个bid存储的是文件的前32M内容, 第二个bid存储的是文件 说明书 4/10 页 7 CN 111427508 A 7 的第二个。
28、32M内容, 以此类推。 0062 参见图1, 图1为本申请实施例一公开的一种文件均衡分布方法的流程图, 该方法 包括: 0063 S101: 将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序列表, 并将排 序列表保存到与待写入文件相关联的列表中; 0064 其中, 磁盘组剩余空间比是使用一个磁盘组的剩余条带数除以这个组的总的条带 数得到的值。 0065 S102: 在列表中, 通过正态分布随机算法选取第一磁盘组; 0066 S103: 当待写入文件的大小在第一阈值范围内时, 在第一磁盘组中随机选取一个 空闲条带作为第一空闲条带, 将待写入文件写入第一空闲条带; 0067 其中, 第一。
29、阈值范围表征待写入文件的大小不大于第一空闲条带的大小; 0068 S104: 当待写入文件的大小在第二阈值范围内时, 在第一磁盘组中随机选取一个 空闲条带作为第二空闲条带, 将待写入文件的第一条带的数据写入第二空闲条带; 0069 第一空闲条带与第二空闲条带相同或不同; 0070 S105: 通过正态分布随机算法选取列表中除第一磁盘组之外的第二磁盘组, 在第 二磁盘组中随机选取一个空闲条带作为第三空闲条带, 将待写入文件的第二条带的数据写 入第三空闲条带; 0071 S106: 若待写入文件的写入没有完成, 则继续选取出除第一磁盘组和第二磁盘组 之外的其它磁盘组的空闲条带进行写入, 直至写入完。
30、成; 0072 其中, 第二阈值范围表征待写入文件的大小大于第一空闲条带的大小, 且不大于 一轮写入所对应的总空闲条带的大小, 一轮写入表示依序将当前所有磁盘组选取一遍, 且 每个磁盘组选取一个空闲条带进行写入。 0073 该方案还包括: 在待写入文件的每一条带的数据写入完成后, 将写入数据的条带 信息记录在待写入文件中。 0074 需要说明的是, 本申请对于文件大小的限定仅是为了描述方便, 而对于文件大小 的确认时间不做限定, 如果是直接写入一个完整的文件, 则可在写入前先确认文件的大小, 以便确定需要几个磁盘组来存储, 来执行相应的写入流程; 本申请还可以一边写入文件一 边选取相应的磁盘组。
31、进行文件写入。 0075 具体的, 本申请在创建一个新的文件后, 将当前所有的磁盘组按照磁盘组剩余空 间比从大到小进行排序, 将排序的结果临时保存到与当前文件相关联的信息中, 假设当前 的磁盘组个数为m(m0), 保存的这个排序列表为slist。 在保存第一个条带的数据的时候, 产生一个取值不小于0, 小于m的正态分布随机数, 通过这个随机数从slist中获取一个磁盘 组, 然后在这个磁盘组中随机选择一个条带, 将数据保存在条带中; 保存完毕后, 将条带的 信息记录在这个文件中; 同时将slist中对应的磁盘组删除, 那么slist就少了一个磁盘组。 mm-1.在存储下一个条带的数据的时候, 。
32、从剩下的m个磁盘中使用正态分布随机数算法获 取一个磁盘组, 再从这个磁盘组中选择一个条带进行存储, 以此类推, 直到将文件保存完 毕。 0076 由以上技术方案可知, 本申请实施例一提供的文件均衡分布方法中, 按照磁盘组 剩余空间比对磁盘组进行排序, 然后利用正态分布随机算法选取磁盘组, 并选取一个条带 说明书 5/10 页 8 CN 111427508 A 8 进行文件写入, 并且, 在每写完一个磁盘组后, 排除已经使用的磁盘组, 这样, 不仅可以实现 将文件尽量保存在更多的磁盘组上, 而且, 可以将较小的文件尽量在剩余磁盘空间比较大 的磁盘组中存储, 这样可以减少磁盘组之间的剩余空间比的差。
33、距的问题, 达到了文件均衡 的目的, 可以保证所有磁盘都能提供存储和输出功能。 0077 实施例二 0078 基于实施例一的方案, 本申请实施例二提供了另一种文件均衡分布方法, 主要针 对于待写入文件很大的情况, 即当待写入文件的大小在第三阈值范围内时的情况, 第三阈 值范围表征待写入文件的大小大于一轮写入所对应的总空闲条带的大小。 如图2所示, 图2 为本申请实施例二公开的一种文件均衡分布方法的流程图, 该方法包括: 0079 S201: 将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序列表, 并将排 序列表保存到与待写入文件相关联的列表中; 0080 S202: 在列表中, 通过正。
34、态分布随机算法选取第一磁盘组; 在第一磁盘组中随机选 取一个空闲条带作为第二空闲条带, 将待写入文件的第一条带的数据写入第二空闲条带; 0081 S203: 通过正态分布随机算法选取列表中除第一磁盘组之外的第二磁盘组, 在第 二磁盘组中随机选取一个空闲条带作为第三空闲条带, 将待写入文件的第二条带的数据写 入第三空闲条带, 以此直至遍历所有磁盘组; 0082 S204: 开启下一轮写入, 直至写入完成。 0083 具体的, 在本实施例中, 若文件很大, 以至于列表中m最后的值被减成了0, 即完成 了一轮写入, 如果还需要存储更多的数据, 则重新将所有的磁盘组按照磁盘组剩余空间比 从大到小进行排。
35、序, 将排序的结果临时保存到当前文件关联的信息slist中, 设置m为磁盘 组的个数, 继续前面的步骤, 直到将文件保存完毕。 0084 同样的, 该方法还包括: 在待写入文件的每一条带的数据写入完成后, 将写入数据 的条带信息记录在待写入文件中。 0085 在本申请中, 通过正态分布随机算法选取第一磁盘组包括: 0086 通过伪正态分布随机算法得到一个随机数; 0087 根据随机数与排序列表中计算的伪正态分布到顺序列表的映射关系, 选取相应的 磁盘组作为第一磁盘组。 0088 具体的, 其他磁盘组的选取也参照该过程, 在本申请中不再赘述。 0089 当用户写相关的文件内容到分布式存储系统中时。
36、, 首先检查该文件对应的slist 是否为空, 若不为空, 进入下一个流程; 否则信息管理模块获取所有磁盘组的总的条带个数 和已经使用的条带个数, 通过1-(已经使用的条带个数/总的条带个数)计算出每一个磁盘 组的剩余条带比值, 将所有条带比值按照从大到小进行排序。 如图3所示, 图3为本申请实施 例提供的一种磁盘组按照剩余空间从多到少的排列图。 将磁盘组排序后, 将已经排序号的 列表保存到该文件相关联的slist中, 同时记录磁盘组的个数为m。 0090 信息管理模块在当前文件管理的对应文件的slist中, 通过正态分布随机算法, 选 取一个磁盘组。 在用正态分布随机算法选择磁盘组时, 需要。
37、将磁盘按照正态分布的方式进 行布局, 则该正态分布方式是伪正态分布方式。 由于slist中的磁盘组是按照磁盘组剩余空 间比进行排序的, 先从slist中获取第一个磁盘组作为伪正态分布的中间值, 在顺序获取第 二个和第三个磁盘组放到第一个值的两边, 再获取第四个和第五个磁盘组依次放到第一个 说明书 6/10 页 9 CN 111427508 A 9 和第三个的外侧, 以此类推, 将slist中的所有磁盘组都进行伪正态分布排列, 得到如图4所 示的伪正态分布方式排列。 0091 上述是针对磁盘组的伪正态分布形式, 中间是剩余空间比最多的磁盘组, 两头是 剩余空间比最少的磁盘组。 通过正态分布随机算。
38、法, 从这个伪正态分布的磁盘组中列表选 择一个磁盘组。 0092 实际应用中并不一定要按这种正态分布的方式进行处理, 但正态分布随机算法也 要按照这个方式进行计算, 这是因为已经排好序的磁盘组列表不需要再一次进行伪正态分 布方式进排序, 可以通过公式转换达到正态分布算法的效果。 其公式如下: 0093 0094 其中, x表示通过正态分布随机算法算产生的随机数; m表示当前磁盘组的个数; v 表示获取正态分布的前面的一半数据, 还是后面一半的数据, 若v小于0, 表示获取正态分布 中的前面一半的数据, 大于等于0表示获取正态分布后面一半的数据。 0095 当v0时, vv2 0096 当v0时。
39、, v-v2-1 0097 v表示实际的磁盘块在slist中的索引下标。 0098 这样就可以将有序的磁盘组列表变换成了一个伪正态分布的一个列表。 就是说我 们只需要一个有序的磁盘组列表就可以了。 如图5所示, 是按照公式进行有序列表和伪正态 分布映射的关系图。 0099 在有序列表中, 0,1,2,3,4,5,6,7,8,9,10表示磁盘组的有序索引下标, 并将其映 射到伪正态分布中的位置坐标。 当系统产生一个正态分布随机数x, 根据上面的图形映射关 系, 我们可以得出下面的表(m等于11,) 0100 0101 通过上表可以得出, 有序列表中的索引可以通过正态分布随机数算法中可以计算 出来。
40、, 并一一的映射。 0102 信息管理模块对应的文件的slist中, 通过正态分布随机算法产生一个数字x。 通 说明书 7/10 页 10 CN 111427508 A 10 过x计算出v , 通过v 在slist的有序列表中取出v 对应的索引下表的磁盘组, 得到 groupid; 通过groupid在条带管理中随机选择一个与该磁盘组相关的空闲条带, 得到bid, 并标记为正在写状态; 通过bid可以获取到磁盘组里面的每一个磁盘的ip、 port以及磁盘块 id, 返回给用户端。 0103 在本申请中, 若原始数据和编码数据写失败, 或者写成功的磁盘块个数大于编码 块个数, 则认为写磁盘失败,。
41、 那么这一个磁盘组就无法正常进行存储了, 就需要将这个磁盘 组从列表slist中丢弃, 然后重新在列表slist中通过正态分布随机算法选择一个磁盘组, 并在重新选取的磁盘组中随机选择一个空闲条带进行文件存储。 0104 在待写入文件写入完成后, 还包括: 清理列表slist的内容, 并清理该文件对应的 管理。 0105 本申请提供的方案, 通过正态分布随机算法得出的结果直接通过公式计算到顺序 列表中, 可以减少一次顺序列表到伪正态分布的一次排列。 按照磁盘组剩余空间比对磁盘 组进行排序, 然后利用正态分布随机算法选取磁盘组, 并选取一个条带进行文件写入, 并 且, 在每写完一个磁盘组后, 排除。
42、已经使用的磁盘组, 这样, 不仅可以实现将文件尽量保存 在更多的磁盘组上, 而且, 可以将较小的文件尽量在剩余磁盘空间比较大的磁盘组中存储, 这样可以减少磁盘组之间的剩余空间比的差距的问题, 达到了文件均衡的目的, 可以保证 所有磁盘都能提供存储和输出功能。 0106 实施例三 0107 在实施例一的基础上, 本申请实施例三提供了一种文件均衡分布装置, 如图6所 示, 该装置应用于分布式存储系统中, 包括: 0108 排序单元301, 用于将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序 列表, 并将排序列表保存到与待写入文件相关联的列表中; 0109 选取单元302, 用于在列表中,。
43、 通过正态分布随机算法选取第一磁盘组; 0110 第一写入单元303, 用于当待写入文件的大小在第一阈值范围内时, 在第一磁盘组 中随机选取一个空闲条带作为第一空闲条带, 将待写入文件写入第一空闲条带; 其中, 第一 阈值范围表征待写入文件的大小不大于第一空闲条带的大小; 0111 第二写入单元304, 用于当待写入文件的大小在第二阈值范围内时, 在第一磁盘组 中随机选取一个空闲条带作为第二空闲条带, 将待写入文件的第一条带的数据写入第二空 闲条带; 第一空闲条带与第二空闲条带相同或不同; 0112 选取单元302还用于通过正态分布随机算法选取列表中除第一磁盘组之外的第二 磁盘组, 在第二磁盘。
44、组中随机选取一个空闲条带作为第三空闲条带, 以使第二写入单元304 将待写入文件的第二条带的数据写入第三空闲条带; 0113 判断单元305, 用于判断待写入文件是否写入完成; 若待写入文件的写入没有完 成, 则选取单元302继续选取出除第一磁盘组和第二磁盘组之外的其它磁盘组的空闲条带 以使第二写入单元进行写入, 直至写入完成; 0114 其中, 第二阈值范围表征待写入文件的大小大于第一空闲条带的大小, 且不大于 一轮写入所对应的总空闲条带的大小, 一轮写入表示依序将当前所有磁盘组选取一遍, 且 每个磁盘组选取一个空闲条带进行写入。 0115 具体的, 该装置还可以包括记录单元, 用于在待写入。
45、文件的每一条带的数据写入 说明书 8/10 页 11 CN 111427508 A 11 完成后, 将写入数据的条带信息记录在待写入文件中。 0116 其他相同或相似的内容可参考实施例一, 在本申请中不再赘述。 0117 实施例四 0118 在实施例三的基础上, 本申请提供了另一种文件均衡分布装置, 主要针对于待写 入文件很大的情况, 即当待写入文件的大小在第三阈值范围内时的情况, 第三阈值范围表 征待写入文件的大小大于一轮写入所对应的总空闲条带的大小。 如图7所示, 该装置包括: 0119 排序单元401, 用于将当前所有磁盘组按照磁盘组剩余空间比进行排序, 得到排序 列表, 并将排序列表保。
46、存到与待写入文件相关联的列表中; 0120 选取单元402, 用于在列表中, 通过正态分布随机算法选取第一磁盘组; 0121 第二写入单元403, 用于在第一磁盘组中随机选取一个空闲条带作为第二空闲条 带, 将待写入文件的第一条带的数据写入第二空闲条带; 0122 选取单元402还用于通过正态分布随机算法选取列表中除第一磁盘组之外的第二 磁盘组, 在第二磁盘组中随机选取一个空闲条带作为第三空闲条带, 以使第二写入单元403 将待写入文件的第二条带的数据写入第三空闲条带, 以此直至遍历所有磁盘组; 0123 第三写入单元404, 用于开启下一轮写入, 直至写入完成; 0124 其中, 第三阈值范。
47、围表征待写入文件的大小大于一轮写入所对应的总空闲条带的 大小。 0125 同样的, 该装置还包括: 记录单元, 用于在待写入文件的每一条带的数据写入完成 后, 将写入数据的条带信息记录在待写入文件中。 0126 在本申请中, 选取单元包括: 0127 计算单元, 用于通过正态分布随机算法得到一个随机数; 0128 选取子单元, 用于根据随机数与排序列表中计算的伪正态分布到顺序列表的映射 关系, 选取相应的磁盘组作为第一磁盘组。 0129 具体的, 其他磁盘组的选取也参照该过程, 在本申请中不再赘述。 0130 需要说明的是, 正态分布随机算法的公式为: 0131 0132 其中, x表示通过正。
48、态分布随机算法得到的随机数; m表示所述当前所有磁盘组的 个数; v用于表示获取正态分布的前面一半数据, 还是后面一半的数据, 若v小于0, 表示获取 正态分布中的前面一半的数据, 若v大于或等于0, 表示获取正态分布后面一半的数据。 0133 此外, 本实施例中与其他实施例相同或相似的内容可相互参考, 在本申请中不再 赘述。 0134 最后, 还需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。 而且, 术语 “包括” 、“包含” 或者其任何其他变体意 在。
49、涵盖非排他性的包含, 从而使得包括一系列要素的过程、 方法、 物品或者设备不仅包括那 些要素, 而且还包括没有明确列出的其他要素, 或者是还包括为这种过程、 方法、 物品或者 设备所固有的要素。 在没有更多限制的情况下, 由语句 “包括一个” 限定的要素, 并不排 除在包括所述要素的过程、 方法、 物品或者设备中还存在另外的相同要素。 说明书 9/10 页 12 CN 111427508 A 12 0135 本说明书中各个实施例采用递进的方式描述, 每个实施例重点说明的都是与其他 实施例的不同之处, 各个实施例之间相同相似部分互相参见即可。 0136 对所公开的实施例的上述说明, 使本领域专业。
50、技术人员能够实现或使用本申请。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的, 本文中所定义的 一般原理可以在不脱离本申请的精神或范围的情况下, 在其它实施例中实现。 因此, 本申请 将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。 说明书 10/10 页 13 CN 111427508 A 13 图1 说明书附图 1/3 页 14 CN 111427508 A 14 图2 图3 图4 说明书附图 2/3 页 15 CN 111427508 A 15 图5 图6 图7 说明书附图 3/3 页 16 CN 111427508 A。
- 内容关键字: 文件 均衡 分布 方法 装置
活性炭吸附印刷废气净化设备.pdf
园林绿化植物可调式保护支架.pdf
烟气脱硫塔的除尘装置.pdf
石材仿形切割装置.pdf
茶叶加工用上料装置.pdf
藻类培养容器的自动清洗装置.pdf
轨道车用液压马达与扇叶的连接装置.pdf
布卷抽布装置.pdf
双电源切换装置.pdf
应用于综合配电箱风冷却的降温装置.pdf
电力电缆安装用张紧装置.pdf
用于兽药残留检测的样品预处理装置.pdf
矿用可移动终端的模块电路.pdf
净水剂检测用取样装置.pdf
汽车双发电机双蓄电池并联电路.pdf
防火型电气控制柜.pdf
便携式食品样品取样装置.pdf
电缆铺设夹持组件.pdf
柜体装配检验装置.pdf
用于按摩椅的柔性按摩机构.pdf
硬炭及其制备方法、二次电池.pdf
汽车左悬置支架焊接设备.pdf
路面摊铺器.pdf
滤波器腔体生产装置.pdf
带漏电的保护插线板.pdf
电动轮椅安全阈值控制方法.pdf
重点管控一般工业固体废物筛查方法及系统.pdf
用于小型渠道整型施工装置及施工方法.pdf
miRNA标志物组合在制备预测年龄产品中的应用.pdf
水质检测方法及其系统.pdf
防误插的圆形电连接器.pdf
用于新能源汽车零件的皮碗压装装置.pdf
特超声清洗半导体晶片中的去离子水温控去气.pdf
一种硅桥连双核茂金属锆化合物.pdf
污水净化剂.pdf
聚四氟乙烯板翅式换热器制作工艺方法.pdf
制备烷基卤代硅烷的方法.pdf
数据库存取系统.pdf
手形手势识别装置、识别方法及含该方法程序的记录媒体.pdf
上钉扎型钴铜磁自旋阀.pdf
小型摩托车式车辆.pdf
互联网多媒体信息窄带高清晰度宽幅图像传输装置及方法.pdf
加强防止泄漏引发爆炸-石油液化气调压器.pdf
信息转换方法、信息转换装置和信息重放装置.pdf
表面处理方法和设备、汽相淀积材料及稀土金属基永磁铁.pdf
一种用旋转非均匀电场修复环境的方法.pdf
一种可催化硅氢加成反应的大孔径高分子催化剂微珠的制备方法.pdf
粉粒体流量控制阀.pdf
节能水循环中央空调系统.pdf
无加灰、饱充砂糖改绵白糖新工艺方法及其专用设备.pdf
中文拼音电话键盘配置输入法.pdf