php仿博客园网站/网络公司网络推广
摘要
关键词:动态参数;多属性决策;critic权重法;DBSCA聚类分析
引言
云服务存储系统是一种基于互联网的数据存储服务,它可以为用户提供大规模、低成本、高可靠的数据存储空间。云服务存储系统的核心技术之一是数据容错技术,它可以保证在存储设备发生故障时,数据不会丢失或损坏。
随着互联网和大数据发展,云服务存储供应商面临的一个重要问题是数据存储。随着数据量的不断增长,如何在保证数据可靠性的同时,降低数据存储成本,是一个亟待解决的挑战。
数据可靠性是指数据在存储、传输和处理过程中不受损坏或丢失的能力。数据存储成本是指为了实现数据存储所需投入的资源和费用。数据可靠性和数据存储成本是两个相互制约的因素,一般来说,提高数据可靠性需要增加数据冗余度,而增加数据冗余度会导致增加数据存储成本。
为了解决这一矛盾,云服务存储供应商常用的方法是使用纠删码(Erasure Code)技术进行数据存储。纠删码是一种编码技术,它可以将原始数据分割成k个数据块,并通过编码生成m个冗余块块,使得任意k个块就可以恢复原始数据。纠删码具有高效利用存储空间、提高容错能力、降低恢复开销等优点。纠删码在云服务存储系统中得到了广泛的应用。
然而,纠删码技术也存在一些问题和挑战。其中一个重要的问题是如何确定最佳的纠删码参数(k,m),即被分割的数据块个数和冗余块个数。这两个参数会影响到纠删码技术的各项性能指标,例如数据冗余度、存储成本、传输开销、可靠性、恢复性能等。如果k或m过大,会导致数据冗余度和存储成本过高;如果k或m过小,会导致可靠性和恢复性能下降。
本文提出了一种基于文件大小的纠删码参数选择方法,该方法结合了分析模型和实验数据两种方法的优点,既可以得到接近理论的最优解,又可以节省时间和资源,而且可以适应不同的实验环境。该方法的基本思想是,根据文件的大小,选择合适的纠删码参数,以实现存储成本和可靠性的平衡。该方法分为两个步骤:首先,通过在Hadoop软件上模拟实验,得到不同文件大小和纠删码参数的性能指标,包括数据冗余度、存储成本、传输开销、可靠性、恢复性能等,然后使用CRITIC客观权重法为这些性能指标赋权,并进行归一化处理,得到每种文件大小和纠删码参数的综合评分,从中选出最优的纠删码参数作为该文件大小的最佳参数;其次,使用DBSCAN聚类算法,将不同文件大小的最佳纠删码参数进行聚类,得到几组纠删码参数,作为部署在云服务存储系统中的纠删码池参数。
相关工作
纠删码是一种基于编码理论的数据容错技术,它将数据切分成多个数据块,然后通过编码算法,生成一定数量的冗余块,存储在不同的节点上。纠删码的优点是存储开销低,容错能力强,可以容忍任意多个节点的故障。然而,纠删码的缺点是编码和解码需要计算开销,数据读写和恢复需要传输开销,以及对于小文件的处理效率低。
纠删码的性能受到其参数的影响,主要包括数据块个数、冗余块个数和故障编码块个数。数据块个数和冗余块个数决定了纠删码的存储效率和容错能力,故障编码块个数决定了纠删码的恢复效率。不同的纠删码参数可能适合不同的文件大小,因为文件大小会影响数据的切分、编码和传输。因此,如何根据文件大小选择合适的纠删码参数,是一个重要的问题。
动机
云服务存储供应商面临的一个重要问题是如何在现代计算系统的高度动态、不断变化的性质与计算系统不断增长的存储需求相结合的情况下,高效地配置和管理存储资源。
当使用固定参数配置的管理方法时,所有传入的数据都使用一套纠删码参数进行配置,这可能导致资源利用的不均衡。不同大小的文件可能需要不同的纠删码配置来实现最佳的纠删码效果。如果使用固定的纠删码参数,较小的文件可能会浪费存储资源,因为它们使用了比实际需要更多的冗余数据。相反,较大的文件可能会受到不足的保护,因为它们未能获得足够的冗余数据。不当的纠删码参数可能会导致性能下降,浪费更多的存储成本和计算成本,而没有实际的好处。
当依赖于手动管理方法时,手动确定计算系统的适当纠删码配置通常会导致次优配置,而且从一个特定的EC配置更改到另一个EC配置可能是昂贵的或麻烦的。我们需要的是一种技术解决方案,以减轻管理员在动态变化的计算和存储系统中确定和实施纠删码的负担。
尽管使用不同的纠删码参数去适应不同大小的文件可能会增加系统的复杂性(需要维护一个最低存储成本和最高可靠性的表),但也可以提供更大的灵活性和性能优化的机会。复杂性的增加可能需要更多的管理和维护工作,但可以根据实际需求来权衡这些问题。
本文的主要贡献如下:
- 提出了一种纠删码参数选择方法,该方法可以综合考虑多个性能指标,如数据冗余度、存储成本、传输开销、可靠性、恢复性能等,并为每个文件自动地确定最佳的纠删码参数。
- 设计了一种基于文件大小的在线文件存储的分组策略,该策略可以将文件按照不同的大小范围分组到不同的数据池中,并为每个数据池设置不同的纠删码参数,以实现实际最低存储成本和最高可靠性的权衡。
- 在Hadoop平台上进行了实验,结果表明,该方法可以有效地降低数据存储成本,提高数据可靠性,并优化数据恢复和应用程序性能。
这些贡献对于云服务存储供应商来说具有重要的实际意义。我们的目标是为云服务存储供应商提供一种有效的解决方案,以应对现代计算环境中的存储挑战。我们希望这种方法能够帮助云服务存储供应商,为存储不同大小的数据的纠删码技术选择合适的纠删码参数,以便更好地管理他们的存储资源,提高服务质量,降低成本,最终实现更高的客户满意度。
准备工作
纠删码被广泛应用于云存储系统领域,产生低存储开销和高可靠性。通过应用纠删码,一段数据被划分为k块数据块,这k块数据块通过矩阵编码被编码为m块校验块,编码块k+m总数被分发以存储在k+m节点上,数据可以从k+m个编码块中选择k个块进行恢复,纠删码存储、恢复数据整体图如下所示:
纠删码的原理是将数据乘以编码矩阵,利用矩阵反演技术实现译码过程。实际上,为了确保乘法的结果保持在固定的大小内,通过将矩阵乘法映射到有限域来获得纠删码中的矩阵乘法结果。
模型与问题制定
各符号与对应解释:
Notation | Description |
---|---|
file_size | 原始的文件大小 |
k | X使用纠删码的数据块个数 |
m | X使用纠删码的冗余块个数 |
m’ | 故障编码块的个数 |
方案框架图:
问题表述
传入存储系统的文件file,目的是根据其文件大小自适应匹配纠删码存储成本和可靠性达到平衡的纠删码方案以及最佳参数k和m,根据选定的性能指标可知,这是一个多目标优化的问题,存在帕累托最优解。我们的目标就是获得帕雷依托最优解。
将各种不同大小的文件输入Hadoop中进行纠删码实验:文件的分割、编码、放置和恢复等操作,得到纠删码实验的性能指标,然后将得到的数据使用CRITIC客观权重赋权法为每一项性能指标赋权,将赋权后的性能参数相加得到评分,选出每一个file的最高评分,作为file的纠删码参数,最后得到一张最低存储成本和最高可靠性权衡下的(filesize,k,m)表。
然后将这张表根据DBSCAN算法,一种基于空间密度的聚类算法,分别建立几个数据池,应用于实现生活中的纠删码配置部署的低成本,最终实现纠删码存储系统低存储成本和高可靠性之间的最佳权衡。
纠删码参数自适应匹配问题(ECP-AMP)的优化目标是最小化总存储成本和最大化可靠性之间的权衡,即Cost Reliability Trade-off,它是根据存储在纠删码存储系统中的编码块和数量、大小以及数据可靠性计算的。
存储限制
在这项研究中,我们研究了最一般的编码放置场景,其中数据存储系统中的每个边缘服务器上最多有一个编码块。
此存储限制概括了每台边缘服务器上可以存储的编码块数。允许在每个边缘服务器上存储多个编码块将更容易找到存储解决方案,但会降低存储在系统中的数据的可靠性。以一个极端情况为例,所有的k+m编码块仅存储在边缘存储系统中的一台边缘服务器上,以便为所有用户提供服务。如果该边缘服务器出现故障,则所有用户都无法使用数据。相反,如果每个边缘服务器上只能存储一个编码块,则边缘服务器的故障不会显着降低数据的可靠性。事实上,只要所有用户仍然可以检索k编码块,边缘存储系统可能仍然能够为所有用户提供服务。存储限制还通过放宽应用程序供应商在单个边缘服务器上保留大量存储资源的需求。
相关文章:

纠删码参数自适应匹配问题ECP-AMP实验方案(一)
摘要 关键词:动态参数;多属性决策;critic权重法;DBSCA聚类分析 引言 云服务存储系统是一种基于互联网的数据存储服务,它可以为用户提供大规模、低成本、高可靠的数据存储空间。云服务存储系统的核心技术之一是数据容…...

五、人物持有武器攻击
一、手部添加预制体(武器) 1、骨骼(手) 由于人物模型有骨骼和动画,在添加预制体后,会抓握武器 建一个预制体在手部位置 二、添加武器拖尾 下载拖尾特效 赋值特效中的代码,直接使用 清空里面…...

mysql索引 -- 全文索引介绍(如何创建,使用),explain关键字
目录 全文索引 引入 介绍 创建 使用 表数据 简单搜索 explain关键字 使用全文索引 mysql索引结构详细介绍 -- mysql索引 -- 索引的硬件理解(磁盘,磁盘与系统),软件理解(mysql,与系统io,buffer pool),索引结构介绍和理解(page内部,page之间,为什么是b树)-CSDN博客 全文…...

Wayfair封号的常见原因及解决方案解析
近期关于Wayfair账号封禁的问题引发了广泛讨论。许多用户报告称,他们的Wayfair账户被突然封禁,这一现象不仅影响了用户的购物体验,也对Wayfair的品牌形象造成了一定的冲击。本文将深入探讨Wayfair封号的原因,并提出相应的解决方案…...

计算机视觉方面的一些模块
# __all__ 是一个可选的列表,定义在模块级别。当使用 from ... import * 语句时,如果模块中定义了 # __all__,则只有 __all__ 列表中的名称会被导入。这是模块作者控制哪些公开API被导入的一种方式。 # 使用 * 导入的行为 # 如果模块中有 __a…...

进阶美颜功能技术开发方案:探索视频美颜SDK
视频美颜SDK(SoftwareDevelopmentKit)作为提升视频质量的重要工具,越来越多地被开发者关注与应用。接下俩,笔者将深入探讨进阶美颜功能的技术开发方案,助力开发者更好地利用视频美颜SDK。 一、视频美颜SDK的核心功能 …...

【重学 MySQL】三十八、group by的使用
【重学 MySQL】三十八、group by的使用 基本语法示例示例 1: 计算每个部门的员工数示例 2: 计算每个部门的平均工资示例 3: 结合 WHERE 子句 WITH ROLLUP基本用法示例注意事项 注意事项 GROUP BY 是 SQL 中一个非常重要的子句,它通常与聚合函数(如 COUNT…...

SSM框架VUE电影售票管理系统开发mysql数据库redis设计java编程计算机网页源码maven项目
一、源码特点 smm VUE电影售票管理系统是一套完善的完整信息管理类型系统,结合SSM框架和VUE、redis完成本系统,对理解vue java编程开发语言有帮助系统采用ssm框架(MVC模式开发),系 统具有完整的源代码和数据库&#…...

基于Hive和Hadoop的白酒分析系统
本项目是一个基于大数据技术的白酒分析系统,旨在为用户提供全面的白酒市场信息和深入的价格分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 Spark 为核…...

【软考】高速缓存的组成
目录 1. 说明2. 组成 1. 说明 1.高速缓存用来存放当前最活跃的程序和数据。2.高速缓存位于CPU 与主存之间。3.容量般在几千字节到几兆字节之间。4.速度一般比主存快 5~10 倍,由快速半导体存储器构成。5.其内容是主存局部域的副本,对程序员来说是透明的。…...

UniApp基于xe-upload实现文件上传组件
xe-upload地址:文件选择、文件上传组件(图片,视频,文件等) - DCloud 插件市场 致敬开发者!!! 感觉好用的话,给xe-upload的作者一个好评 背景:开发中经常会有…...

以太网交换安全:端口隔离
一、端口隔离 以太交换网络中为了实现报文之间的二层广播域的隔离,用户通常将不同的端口加人不同的 VLAN大型网络中,业务需求种类繁多,只通过 VLAN实现报文的二层隔离,会浪费有限的VLAN资源。而采用端口隔离功能,则可…...

望繁信科技CTO李进峰受邀在上海外国语大学开展流程挖掘专题讲座
2023年,望繁信科技联合创始人兼CTO李进峰博士受邀在上海外国语大学国际工商管理学院(以下简称“上外管院”)开展专题讲座,畅谈流程挖掘的发展及对企业数字化转型的价值。演讲吸引了上外教授和来自各行各业的领军企业学员百余人。 …...

nicegui组件button用法深度解读,源代码IDE运行和调试通过
传奇开心果微博文系列 前言一、button 组件基本用法1. 最基本用法示例2. 创建带图标按钮 二、button按钮组件样式定制1. 按钮的尺寸调整2. 改变颜色示例3. 按钮的自定义字体大小4. 圆角形状示例5. 自定义边框6. 添加阴影7. 复合按钮8. 浮动按钮9. 可扩展浮动操作按钮QFAB10. 按…...

数据结构:树(并查集)
并查集(Union-Find Disjoint Sets 或 Disjoint Set Union,简称DSU)是一种树型的数据结构,主要用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。在并查集中,通常将n个对象划分为不相交的…...

校园二手交易平台的小程序+ssm(lw+演示+源码+运行)
摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…...

代码随想录训练营第46天|回文子序列
647. 回文子串 class Solution { public:int count0;void check(string& s, int left, int right){while(left>0&&right<s.length()&&s[left]s[right]){count;left--;right;}}int countSubstrings(string s) {for(int i0; i<s.length(); i){chec…...

使用 PowerShell 命令更改 RDP 远程桌面端口(无需修改防火墙设置)
节选自原文:Windows远程桌面一站式指南 | BOBO Blog 原文目录 什么是RDP开启远程桌面 检查系统版本启用远程桌面连接Windows 在Windows电脑上在MAC电脑上在Android或iOS移动设备上主机名连接 自定义电脑名通过主机名远程桌面使用Hosts文件自定义远程主…...

bilibili实现批量发送弹幕功能
代码如下: import random import time import requests from tkinter import *# 弹幕内容列表 # lis_text [ # 京口瓜洲一水间,钟山只隔数重山。,君不见黄河之水天上来,奔流到海不复回。,起舞弄清影,何似在人间! # ] lis_te…...

如何查看上网记录及上网时间?5种按步操作的方法分享!【小白也能学会!】
“知己知彼,百战不殆”,在数字时代,了解自己的上网行为和时长,不仅能帮助我们更好地管理时间,还能提升工作效率和生活质量。 今天,我们就来分享五种简单易懂的方法,即便是网络小白也能轻松学会…...

Nisshinbo日清纺pvs1114太阳模拟器手测
Nisshinbo日清纺pvs1114太阳模拟器手测...

多线程复杂系统调试利器——assert()
调试复杂系统时,最大的难点在于定位问题,如果弄清楚了问题产生的机理,那么就能有针对性的进行解决。 调试复杂系统时,遇到不好定位的问题,就要大胆去猜、去怀疑、去假设,尤其是应该重点怀疑多线程访问&…...
【2024.9.28练习】青蛙的约会
题目描述 题目分析 由于两只青蛙都在跳跃导致变量多,不妨采用物理题中的相对运动思想,设青蛙A不动,青蛙B每次跳米,两只青蛙的距离为米。正常来说,只要模拟青蛙B与青蛙A的相对运动过程,最终当青蛙B与青蛙A距…...

Python入门:类的异步资源管理与回收( __del__ 方法中如何调用异步函数)
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 使用上下文管理器📝 使用 `__del__` 方法📝 结合使用上下文管理器与 `__del__`📝 资源回收的重要性⚓️ 相关链接 ⚓️📖 介绍 📖 在编程中,资源的管理和回收至关重要,尤其是在处理网络请求时。频…...

Android开发中的ViewModel
在Android应用开发中,ViewModel作为架构组件之一,扮演着管理UI数据和生命周期的关键角色。本文将深入探讨ViewModel如何感知View的生命周期,并分析其内核原理,帮助开发者更好地利用ViewModel优化应用架构。 一、ViewModel简介 在…...

Vue 3 文件编译流程详解与 Babel 的使用
文章目录 一、背景二、结论三、vitejs/plugin-vue 插件调试前物料准备vuePlugin 入口buildStart 方法transform 方法 四、vue/compiler-sfc 核心包parse 方法compileScript、rewriteDefault 方法compileTemplate 方法 五、整体架构六、总结参考资料 一、背景 最近正在研究 rea…...

Android常用C++特性之std::chrono
声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。 std::chrono 是 C11 引入的标准库中的时间处理工具,提供了以多种精度进行时间测量、处理和操作的功能。它允许开发者处理时间点(time_point&am…...

[Oracle] ORA-04036: 实例使用的 PGA 内存超出 PGA_AGGREGATE_LIMIT
有说该问题是因为触发了Oracle的BUG导致,最直接的解决方法就是重启数据库实例; Linux下数据库实例重启...

一次 Spring 扫描 @Component 注解修饰的类坑
问题现象 之前遇到过一个问题,在一个微服务的目录下有相同功能 jar 包的两个不同的版本,其中一个版本里面的类有 Component 注解,另外一个版本的类里面没有 Component 注解,且按照加载的顺序,没有 Component 注解的 j…...

深度学习:调整学习率
目录 前言 一、什么是调整学习率? 二、调整学习率的作用 三、怎么调整学习率 1.有序调整 2.自适应调整 3.自定义调整 4.调整示例 前言 在深度学习中,调整学习率是非常重要的,它对模型的训练效果和收敛速度有显著影响。 一、什么是调整…...