当前位置: 首页 > news >正文

东数西存场景的探索与实践

“东数西算”是通过构建数据中心、云计算、大数据一体化的新型算力网络体系,将东部算力需求有序引导到西部,对优化数据中心建设布局,提升国家整体算力水平,促进绿色发展,扩大有效投资,具有重要意义。

在实际应用过程中,冷数据占数据总量的比例约80%,对冷数据来说,主要的需求是存储,计算并不是常态,“东数西算”实际上是“东数西存”,在西部主要是数据存储,偶尔有计算需求。

东数西存存在几个问题,首先是长距离数据传输的各种不确定性。距离越远,网络延迟越高、网络质量越差,给用户的体验就会越差。因此,对于东部用户而言,西部资源池位置偏远,数据的访问体验比较差。

为了解决这个问题,可以在靠近用户的地方建立资源池,这样能解决数据访问体验差的问题,但是带来了新的问题:用户在存取数据之前需要先检索数据存储位置,这就需要一个集中式的平台,提供统一的检索能力,当用户需要访问数据时,先从平台获得存取位置,然后再向目的资源池发起读写请求。显然,这不仅会增加延迟损耗,也增加了平台维护成本。

其次就是资源竞争导致的体验问题。东部业务场景比较复杂,大部分数据存储在西部几个资源池中,大量请求同时访问会出现资源竞争,进而出现网络丢包、访问延迟等不可控因素,对于有些金融、医疗等对数据安全性与精密性较高的行业,这种不可控因素是不能容忍的。

为了解决以上问题,并完成东数西存场景的探索与落地,有人提出了一个新的概念叫做“内容存储网络”(Content Storage Network,简称CSN)。

内容存储网络(CSN)是与内容分发网络(CDN)相对应的概念。CDN是在终端和中心之间的缓存,在让终端更快获取数据的同时,减轻中心的压力。如果说,CDN是一种为下而生的网络服务,那么,CSN就是为上而生的网络服务,帮助用户总是能够就近存储数据,同时可以从任何资源池读到数据,而且保证强一致性,目前已经实现了CSN并进行了大规模商用的产品有OOS。

CSN构建在现有网络基础、运营商专线之上的存储网络,依靠部署在全国各地的资源池,通过底层文件系统、分布式存储引擎,上层协议,负载调度、管理监控平台等功能模块,使用户就近写入的数据可以即时在任何一个资源池读到。对用户实现强一致性、低延迟和高效调度,对运营商实现优化资源和节约成本。CSN的关键技术主要是广域网下的全局元数据环技术。

全局元数据环服务,通过将全国资源池连通成为一个存储网络,充分利用了全国各地的资源池,在保证性能和安全的情况下,大幅提升了资源统一调配能力、资源池利用率,产生了较大的经济效益。全局元数据作为CSN的基础核心组件,为整个云存储网络提供了统一的逻辑视图,解决了云存储网络在全国范围内部署时所面临的各类技术难题,如存储资源的统一调度、数据的跨地域访问、数据可靠性降低、读写性能下降等难题;通过将全局元数据域划分为多个元数据域的方式,在保留了全局元数据统一调度能力的情况下,提供了数据就近访问的能力,故障隔离的能力,从而大幅提升了数据读写性能、数据可靠性和服务可用性;使所有的读写请求都会就近访问离用户最近的机房,数据在本地直接返还给用户,或者通过专网从其他地方拉过来给用户,比走互联网要快,因此可以获得最好的延迟。

CSN的另一个特性是虚拟存储网络。在CSN中,数据位置可以就近写入,也可以指定位置写入,如果选择就近写入终端就会选择就近,对于使用者而言不需要知道它在哪里;有的政企类客户有强烈的属地要求,采用指定位置可以满足。客户可以使用默认的公共资源池,也可以建立自己的专属资源池,CSN通过这种方法将虚拟资源池在数据层面打通形成一张虚拟网络。

以CSN为基础的东数西存系统中,全量数据可以放在位于西部成本较低的资源池,需要经常访问但存储需求没那么大的热数据可以放在位于东部离业务场景较近的资源池,各个资源池可以通过广域网连接起来,用户可以通过广域网随时随地接入东数西存系统的服务。用户读取热数据总是就近读写,偶尔跨资源池读取冷数据的部分也不走公网,而是专网,性能得到最大保障。无论是何地的用户都可以在保证高可用高性能的前提下最大化东数西存的成本优势。

无论用户在什么位置,元数据存储在什么位置,CSN都可以将用户写入的数据自动找到到最近的资源池与成本最低的资源池,并通过自定义的策略进行冷热分层,智能分配到适合的资源池。用户可以依靠分布式元数据环随时随地访问任一资源池。

CSN为东数西存提供了完整的支撑能力,解决了之前提到的两大问题。CSN的全局元数据环支持就近读写、全网数据层面打通,再搭配上CSN本身遍布全国的资源池,可以让大部分传输在短距离解决,后续再由系统自动把冷数据存储到远距离的西部机房,偶尔远距离访问时使用专线,于是解决了长途传输的问题。长途传输问题解决后,很大一部分资源竞争问题也解决了。另外,CSN的虚拟存储网络特性让用户可以灵活定制元数据、数据的位置,如果CSN运维人员发现某些资源池有拥挤风险,会提醒用户暂时不要访问这些资源池。如果客户有些业务非常担心资源竞争,也可以把这部分数据放在专属资源池,解决了资源竞争问题。

虽然CSN已经能实现“东数西存”的大部分要求,但还可以进一步设想一下:就像打通内部各个资源池那样,CSN也可以通过全局元数据环和网关(Gateway)打通多个云服务商的存储空间,还可以打通客户本地存储空间,实现跨本地、跨多云访问数据。这样CSN就构建起了“混合多云”。

跨本地与云端需要存储资源盘活系统HBlock,它本质上是一款分布式块存储管理软件,通过标准 iSCSI 协议提供块存储服务,将企业闲置的通用服务器及其存储资源转换成高性能的虚拟存储阵列,承载企业业务。

存储资源盘活系统HBlock具有以下五大特征:高可用、高性能、低成本、广泛兼容及数据安全。

  • 在服务的高可用方面,实现了多路径的“一主多备”,一个Target宕机之后,HBlock会智能选择备用的Target,调度的时间是可以进行配制的,默认时间为6秒钟。
  • 在数据的可靠性方面,单存储卷可以灵活的选择EC纠删码或者副本的方式实现数据的冗余以及数据的不丢失。
  • 在绝对指标层面,在实验室测的全SSD环境下,单卷IOPS可达15万IOPS,延迟可以低于200微秒。
  • 在规模层面,HBlock软件设计理论值为无上限,但根据过往的实践,一般建议集群的规模上限为1024个节点。
  • 在成本方面,因为HBlock本身的售卖方式为纯软件售卖,可以部署在通用硬件上。所以整体上HBlock的TCO会更低。同时,因其安装方便,运维直观,相关的人力成本、时间成本都会更低。
  • 在兼容方面,HBlock为用户态设计的软件,不切入内核,所以HBlock不挑底层的硬件与OS。另外,Hblock还可以无缝接入CSN,作为本地与云端存储之间的桥梁,将全量数据自动同步到CSN,本地仅保留热数据以节省本地存储空间,或者保留全量数据以保障本地I/O性能,实现混合云存储。
  • 在数据安全方面,用户在添加Target 连接时,可以选择启用CHAP认证。在数据的传输过程中,用户也可以选择性的开启IPSec隧道,保证传输数据的加密。

在本地存储场景中,很多客户磁盘利用率都非常低,客户也不希望投入额外的成本购入新的服务器来搭建存储集群。同时,叠加了低碳政策的要求,利用了HBlock的特点,不仅充分利用了空闲的存储资源,也充分的利用了空闲的计算资源和内存资源,将空闲的服务器整合成了高性能的虚拟存储阵列,满足了客户的需求。

在底层服务器性能优异、网络带宽足够的情况下,HBlock是可以替代传统SAN存储的。HBlock支持VMware、OpenStack、Kubernetes、KVM等主流虚拟化平台。在访问接口层,上层平台将通过API的方式来管理HBlock集群,实现存储卷的创建、删除以及HBlock集群的监控等目的,各个虚拟机通过iSCSI协议灵活的挂接存储卷,最终实现一套系统、统一存储的建设目标。

对于需要存储海量数据的客户,可以通过HBlock将本地应用与云端存储无缝连接,将数据同步到云端,实现存储空间的按需使用,弹性扩展。此外,HBlock简化了混合云存储环境中的数据管理。通过标准iSCSI协议为上层应用提供虚拟Target和逻辑卷,除了可以部署在本地,还可以部署在私有云或公有云上。

这样一来,基于CSN搭建的东数西存系统补全了最后一块拼图。

对于需要频繁访问的热数据,或对存储地域有特殊需求的场景,可以把这部分数据存在本地存储或本省资源池,其余数据存在西部资源池。对于资源池的选择,除了CSN本身分布在全国各地的机房外,用户还可以选择其他公有云存储产品,或者把自己已经存储在其他公有云的数据接入进来。CSN的就近分配和Hblock的本地存储功能可以让用户大部分时间都享受最低的延迟,对于出差、多地办公、访问冷数据的远距离访问场景,CSN可以通过专网拉过来给用户,避免走互联网,同样能获得最好的体验。

相关文章:

东数西存场景的探索与实践

“东数西算”是通过构建数据中心、云计算、大数据一体化的新型算力网络体系,将东部算力需求有序引导到西部,对优化数据中心建设布局,提升国家整体算力水平,促进绿色发展,扩大有效投资,具有重要意义。 在实…...

[图神经网络]PyTorch简单实现一个GCN

Pytorch自带一个PyG的图神经网络库,和构建卷积神经网络类似。不同于卷积神经网络仅需重构__init__( )和forward( )两个函数,PyTorch必须额外重构propagate( )和message( )函数。 一、环境构建 ①安装torch_geometric包。 pip install torch_geometric …...

Elasticsearch(黑马)

初识elasticsearch ​​. 安装elasticsearch 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net 1.2.加载镜像 这里我们采用elasticsearch的7.12.1版本的…...

oracle数据库调整字段类型

oracle数据库更改字段类型比较墨迹,因为如果该字段有值,是不允许直接更改字段类型的。另外oralce不支持在指定的某个字段后面新增一个字段,但是mysql数据可以向指定的字段后面新增一个字段。 mysql向指定字段后面新增一个字段: al…...

面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)

面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 目录 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 1.面部表情识别方法 2.面部表情识别数据集 (1)表情识别数据集说明 (2&…...

赛效:如何在线给图片加水印

学会给图片加水印是一个非常实用的技能,可以让你的图片更具保护性和个性化。说到加水印,很多人不知道怎么操作。其实,给图片加水印非常简单,不用下载任何程序,在线就能完成。今天,我将介绍如何使用改图宝在…...

动力节点杜老师Vue笔记——Vue程序初体验

一、Vue程序初体验 我们可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的,这些对我们编写Vue程序起不到太大的作用,更何况现在说了一些特点之后,我们也没有办法彻底理解它,因此我们可以先学会用,使…...

ajax上传图片存入到指定的文件夹并回显

html代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script src"js/jquery-2.1.0.js"></script> </head> <body> <form…...

cesium加载cesiumlab切的影像切片和标准TMS瓦片的区别

1.加载cesiumlab切的影像 var labImg viewer.scene.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({url:http://192.168.1.25:8080/DOMtms/{z}/{x}/{y}.png,fileExtension : "png"})); 2.标准TMS瓦片 var labImg viewer.scene.im…...

第二周P9-P22

文章目录第三章 系统总线3.1、总线的基本概念一、为什么要用总线二、什么是总线三、总线上信息的传送四、总线结构的计算机举例1、单总线结构框图2、面向CPU的双总线结构框图3、以存储器为中心的双总线结构图3.2、总线的分类1、片内总线2、系统总线3、通信走线3.3、总线特性及性…...

java反射

文章目录何为反射&#xff1f;反射的应用场景了解么&#xff1f;谈谈反射机制的优缺点优点缺点反射实战获取 Class 对象的四种方式1. 知道具体类的情况下可以使用TargetObject.class&#xff1a;2. 通过 Class.forName()传入类的全路径获取&#xff1a;3. 通过对象实例instance…...

307 Temporary Redirect 解决办法(临时重定向)

背景&#xff1a;java后台服务请求python服务端 java服务报错&#xff1a;Unexpected response status&#xff1a;307 python服务端报错&#xff1a;307 Temporary Redirect 解决&#xff1a;查了好久找不到什么原因&#xff0c;请求路径问题 请求url&#xff1a;http//:w…...

SpringBoot案例

SpringBoot案例5&#xff0c;案例5.1 创建工程5.2 代码拷贝5.3 配置文件5.4 静态资源目标 基于SpringBoot的完成SSM整合项目开发 5&#xff0c;案例 SpringBoot 到这就已经学习完毕&#xff0c;接下来我们将学习 SSM 时做的三大框架整合的案例用 SpringBoot 来实现一下。我们完…...

Android 10.0 系统framework发送悬浮通知的流程分析

1.前言 在android10.0rom定制化开发中,在原生系统的systemui中,状态栏通知,和闹钟,wifi等悬浮通知也是很重要的, 悬浮通知也是系统通知的一种,也是在frameworks中发送出来的通知,接下来就分析下10.0中的悬浮通知的发送 流程,然后就可以实现自己自定义悬浮通知的相关功…...

傅里叶谱方法-傅里叶谱方法求解二维浅水方程组和二维粘性 Burgers 方程及其Matlab程序实现

3.3.2 二维浅水方程组 二维浅水方程组是描述水波运动的基本方程之一。它主要用于描述近岸浅水区域内的波浪、潮汐等水动力学现象。这个方程组由两个偏微分方程组成&#xff0c;一个是质量守恒方程&#xff0c;另一个是动量守恒方程。浅水方程描述了具有自由表面、密度均匀、深…...

算法训练营 - 广度优先BFS

目录 从层序遍历开始 N 叉树的层序遍历 经典BFS最短路模板 经典C queue 数组模拟队列 打印路径 示例1.bfs查找所有连接方块 Cqueue版 数组模拟队列 示例2.从多个位置同时开始BFS 示例3.抽象最短路类&#xff08;作图关键&#xff09; 示例4.跨过障碍的最短路 从层序遍历…...

​​​​​​​判断两个字符串是否匹配(1个通配符代表一个字符)

目录 判断两个字符串是否匹配(1个通配符代表一个字符) 程序设计 程序分析...

用css画一个csdn程序猿

效果如下&#xff1a; 头部 我们先来拆解一下&#xff0c;程序猿的结构 两只耳朵和头是圆形组成的&#xff0c;耳朵内的红色部分也是圆形 先画头部&#xff0c;利用圆角实现头部形状 借助工具来快速实现圆角效果 https://9elements.github.io/fancy-border-radius/ <div…...

Java多线程编程—wait/notify机制

文章目录1. 不使用wait/notify机制通信的缺点2. 什么是wait/notify机制3. wait/notify机制原理4. wait/notify方法的基本用法5. 线程状态的切换6. interrupt()遇到方法wait()7. notify/notifyAll方法8. wait(long)介绍9. 生产者/消费者模式10. 管道机制11. 利用wait/notify实现…...

Three.js教程:旋转动画、requestAnimationFrame周期性渲染

推荐&#xff1a;将NSDT场景编辑器加入你3D工具链其他工具系列&#xff1a;NSDT简石数字孪生基于WebGL技术开发在线游戏、商品展示、室内漫游往往都会涉及到动画&#xff0c;初步了解three.js可以做什么&#xff0c;深入讲解three.js动画之前&#xff0c;本节课先制作一个简单的…...

租车自驾app开发有什么作用?租车便利出行APP开发

在线租车APP有哪些优势&#xff0c;租车APP开发的基本功能&#xff0c;租车自驾app开发有什么作用?租车便利出行APP开发&#xff0c;租车服务平台小程序有哪些功能&#xff0c;租车软件开发需要多少钱&#xff0c;租车app都有哪些&#xff0c;租车平台定制开发&#xff0c;租车…...

linux shell 文件分割

split 按照 10m 大小进行分割 split -b 10m large_file.bin new_file_prefix...

智慧农业系统开发功能有哪些?

农业从古至今都是备受关注的话题&#xff0c;新时代背景下农业发展已经融合了互联网&#xff0c;数字化技术等新型发展方式&#xff0c;形成了农业物联网管控系统&#xff0c;让农业生产更加科技化、智能化、高效化&#xff0c;对农业可持续发展有巨大的推动作用。所以&#xf…...

【C语言】 指针的进阶 看这一篇就够了

目录 1.字符指针 2.数组指针 3.指针数组 4.数组传参和指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针 8.回调函数 9.qsort排序和冒泡排序 1.字符指针 让我们一起来回顾一下指针的概念&#xff01; 1.指针就是一个变量&#xff0c;用来存放地址&#xff0c;地址…...

redis set list

Listlist: 插入命令&#xff1a;lpush / rpush 查看list列表所有数据(-1 表示最后一个)&#xff1a;lrange key 0 -1 查看列表长度(key 不存在则长度返回0 ): llen key list长度 获取下表 为 0 的元素 修改下标为0的元素&#xff0c;改为haha 移除列表的第一个元素 或最后一…...

如何解决DNS劫持

随着互联网的不断发展&#xff0c;DNS(域名系统)成为了构建网络基础的重要组成部分。而DNS遭到劫持&#xff0c;成为一种常见的安全问题。那么DNS遭到劫持是什么意思呢?如何解决DNS劫持问题呢?下面就让小编来为您一一解答。 DNS遭到劫持是什么意思? DNS遭到劫持指的是黑客通…...

【LeetCode】剑指 Offer(28)

目录 题目&#xff1a;剑指 Offer 54. 二叉搜索树的第k大节点 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;剑指 Offer 55 - I. 二叉树的深度 - 力…...

「ML 实践篇」模型训练

在训练不同机器学习算法模型时&#xff0c;遇到的各类训练算法大多对用户都是一个黑匣子&#xff0c;而理解它们实际怎么工作&#xff0c;对用户是很有帮助的&#xff1b; 快速定位到合适的模型与正确的训练算法&#xff0c;找到一套适当的超参数等&#xff1b;更高效的执行错…...

域名解析协议-DNS

DNS&#xff08;Domain Name System&#xff09;是互联网上非常重要的一项服务&#xff0c;我们每天上网都要依靠大量的DNS服务。在Internet上&#xff0c;用户更容易记住的是域名&#xff0c;但是网络中的计算机的互相访问是通过 IP 地址实现的。DNS 最常用的功能是给用户提供…...

分享:包括 AI 绘画在内的超齐全免费可用的API 大全

AI 绘画已经火出圈了&#xff0c;你还不知道哪里可以用嘛&#xff1f;我给大家整理了超级齐全的免费可用 API&#xff0c;包括 AI 绘画在内&#xff0c;有需要的小伙伴赶紧收藏了。 AI 绘画/AI 作画 类 AI 绘画&#xff1a;通过AI 生成图片&#xff0c;包括图生文、文生图等。…...

网站建设独立/推广服务公司

本篇文章主要介绍了深入理解Commonjs规范及Node模块实现&#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧前面的话 Node在实现中并非完全按照CommonJS规范实现&#xff0c;而是对模块规范进行了一定的取舍&#x…...

17网站一起做网店广州/郑州网站建设用户

Linux 权限控制 chmod命令的解析 指令名称&#xff1a; chmod 使用权: 所有使用者 使用方式 : chmod [-cfvR] [–help] [–version] mode file… 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数…...

wordpress更新不成功/游戏推广合作

如何理解CSS中BFC?定义: 块格式化上下文(Block Formatting Context&#xff0c;BFC) 是Web页面的可视化CSS渲染的一部分&#xff0c;是块盒子的布局过程发生的区域&#xff0c;也是浮动元素与其他元素交互的区域。BFC 特性及应用同一个 BFC 下外边距会发生折叠代码理解//两个 …...

晋城网站设计/指数搜索

学习Tensorflow之基本操作Tensorflow基本操作1. 创建张量(1) 创建标量(2) 创建向量(3) 创建矩阵(4) shape属性(5) 判别张量类型(6) 列表和ndarray转张量2. 创建特殊张量(1) tf.ones与tf.ones_like(2) tf.zeros与tf.zeros_like(3) tf.fill(3) tf.random.normal(4) tf.random.uni…...

给企业做网站的公司/知乎营销推广

2019独角兽企业重金招聘Python工程师标准>>> $img $goods_info[goods_desc];//正则匹配获取img src属性中的地址$reg_tag <img.*?src"(.*?)">;preg_match_all($reg_tag,$img,$goods_info_img, PREG_SET_ORDER);// 处理urlforeach ($goods_info_…...

天津网站建设普斯泰/百度查重

Flutter 在 Build完成后的监听和每一帧绘制完成后的监听 这个是我们监听要用的重要的类------->WidgetsBinding 官方是这么描述它的 The glue between the widgets layer and the Flutter engine. 中文的意思是 控件层和Flutter引擎之间的粘合剂。就是这个类 它能监听到…...