news 2026/9/20 2:32:15

MODIS MOD44B植被覆盖数据处理全流程:2000-2020中国区实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MODIS MOD44B植被覆盖数据处理全流程:2000-2020中国区实践

MODIS 这摊子事,玩遥感的几乎没有不知道MOD44B的。这个产品全名叫 Vegetation Continuous Fields,中文圈一般叫“植被连续场”或者干脆叫“植被覆盖百分比”。我这次做的是把 2000 到 2020 年中国区域的 MOD44B 数据整理成一套干净可用的植被覆盖百分比数据集,周期长、瓦片多、坑也不少。整个过程走下来,从下载、拼接、投影处理到时间序列分析,每一步都有最容易被忽略的细节。这篇文章我把整套操作思路、遇到的问题和现在的处理方案都写出来,想碰这套数据的人应该能少走不少弯路。

先说清楚这东西适合谁看。如果你是要做长时序植被变化、荒漠化监测、生态工程评估,或者只是想给论文补一张像样的植被覆盖趋势图,那么 MOD44B 会是一个比 NDVI 阈值法更省心也更靠谱的选择。当然,如果你从来没接触过 HDF 文件、MODIS 正弦投影和瓦片拼接,这篇文章也足够带你走完一个完整流程,不需要额外翻太多文档。

1. 为什么拿 MOD44B 当主角:给中国植被覆盖长时段监测做底稿

1.1 一个植被覆盖研究中绕不开的产品

用遥感做植被覆盖,有一条经典路线是拿 NDVI 算覆盖度,公式现成、工具也多。但这条路有个让人头疼的地方:需要自己定阈值、定像元二分模型参数,不同区域不同传感器结果还不一样。MOD44B 的逻辑完全不同,它用训练好的回归树模型,直接输出“每个像元里树木覆盖、非树木植被、裸地分别占百分之多少”,把覆盖度这个本来要靠估算的变量变成了一种标准化的观测值。

这个产品来自 NASA 的 MODIS 传感器,搭载在 Terra 卫星上。卫星从 2000 年起持续回传数据,所以它天然就是做 2000 年至今长时序分析的骨干数据源。空间分辨率 250 米,一个像元相当于地面 250×250 米的范围,对省域、国家级别的生态环境监测来说很合适,既不会粗糙得看不了细节,也不像 30 米 Landsat 那样需要海量存储和计算资源。

MOD44B 最核心的一点是它把“植被覆盖”这个问题分段处理:不再笼统地说“这里植被多那里植被少”,而是把覆盖结构拆成树覆盖、低矮植被和裸地。这种分层在西南林区、西北荒漠区、华北农田区之间做对比时特别有用,比如同样是 60% 的覆盖度,纯草地和混交林在结构和生态功能上完全不同,但如果只看总数就很容易被误导。

1.2 MOD44B 对中国区域意味着什么

中国的地形和植被类型跨度大,从热带雨林到温带荒漠都有分布,这对任何一个全球尺度覆盖产品都是一个考验。MOD44B 在很多地区的表现比较均衡,尤其在大尺度森林监测中已经被广泛验证。它对中国区域的覆盖是完整的,只要把覆盖中国的 MODIS 瓦片下载齐全,再经过拼接裁剪,就能得到一张完整的 250 米分辨率的全国图。

时间范围方面,2000 到 2020 正好跨越了 21 年,足够支撑趋势分析和突变检测。这些年里,中国经历了退耕还林、天然林保护等一系列重大生态工程,也经历了部分区域的城市扩张和荒漠化。用 MOD44B 算出的树覆盖趋势图,可以直接看到哪些地方在变绿、哪些地方在退化,不用再靠定性描述或者小区域样地推断。

我从实际处理中得到的一个直接经验是:MOD44B 非常适合当做“底图”或者“主变量”来用。你可以把它和气象数据、土壤数据、夜间灯光数据叠加,做驱动因子分析;也可以把它简化成“植被覆盖度大于多少”的图,来制作宏观生态区划。它的语义清晰、可解释性强,基本上任何后续分析都能接得住。

2. MOD44B 数据集结构与背后算法深度拆解

2.1 四个子数据集就是四张“体检表”

打开一个 MOD44B 的 .hdf 文件,里面不是一张单波段影像,而是一堆子数据集。一般你能看到四个主要的层:树木覆盖百分比(Percent_Tree_Cover)、非树木植被覆盖百分比(Percent_NonTree_Vegetation)、裸地/非植被百分比(Percent_NonVegetated)以及一个质量控制层(Quality)。

数值范围是 0 到 100,代表百分比。要注意的是,这三个覆盖百分比加在一起并不一定严格等于 100,因为算法本身存在不确定性和噪声,加上云污染、传感器视角等影响,像元内会有残差。处理的时候不要强行对三个波段做归一化加和,否则会人为引入误差。

质量控制层是很多人下载完就忽略的,但它恰恰是最有价值的一个波段。质控层用位标志(Bit Flag)记录了像元质量、水体、云、雪等情况。比如某些像元是水体、某些像元被云覆盖,如果不加过滤就直接参与统计,最后出来的趋势图会被严重干扰。这一点后面分析处理时我会专门展开讲。

算法层面,MOD44B 使用的是回归树模型,每个树节点会根据光谱反射率、纹理信息等特征把训练样本分成不同类别,最终输出的是连续覆盖度而不是离散类别。这种做法的好处是抗噪能力强,训练样本中混合像元的覆盖度能被更平滑地估计出来,比单纯的最大似然分类要稳定得多。

2.2 投影、瓦片与文件命名的几个硬知识点

MOD44B 默认采用 MODIS 正弦投影(Sinusoidal),并且按瓦片(tile)组织全球数据。整个全球网格横向从 0 到 35,纵向从 0 到 17,一共 36×18 个瓦片,每个瓦片约 10 度经度、约 8 度纬度。中国区域大概覆盖了 h23 到 h28、v03 到 v07 这个范围的瓦片,具体到不同研究区还需要再确认。

文件名也有一套固定的逻辑,比如MOD44B.A2000001.h25v05.006.2015167203617.hdf。拆开看就是:产品名 + A + 年份加儒略日 + 瓦片编号 + 数据版本 + 生产时间。这里有个容易被忽视的点:虽然文件名里写的是 A2000001(表示 2000 年第 1 天),但 MOD44B 实际是年度合成产品,不是每天的影像,你展开来看会发现这个“1 月 1 日”其实是代表一整年的结果。所以做年度趋势分析的时候,直接按年份来组织文件就行,不要纠结具体日期。

下载前建议先用 MODIS 瓦片分布图或者工具算出自己研究区涉及的瓦片编号。别凭感觉猜,我之前就吃过亏,一开始只下了 h25v05 一个瓦片,结果图一拼出来发现缺了一大块。工具方面,可以直接用 MODIS 官方的 Tile Calculator,或者打开一个全球瓦片索引矢量文件,把你的研究区 Shapefile 叠上去,一目了然。

2.3 与其他植被覆盖产品对比,选它的理由

市面上能拿来做植被覆盖的数据不少,我试过几类,简单说下体验:

  • 基于 NDVI 的覆盖度提取:灵活,但需要自己标定像元二分模型,阈值换一个区域就得重新调,不好做横向比较,也不适合大范围自动处理。
  • MODIS 土地覆盖产品 MCD12Q1:分成离散类型,比如常绿针叶林、落叶阔叶林、草地,但没有连续的覆盖比率,生态学计算中往往需要转成连续量,转换过程容易损失精度。
  • GLASS 植被覆盖度产品:是另一个不错的连续覆盖产品,时间序列也长,但下载路径和多数据源融合流程对初学者不够友好。
  • Landsat 系列:空间分辨率高,但 30 米数据覆盖全国需要处理太多景影像,2000 年以前的还好说,做 20 年长序列的存储和算力需求比较大。

MOD44B 的 250 米分辨率、连续百分比输出、单一来源卫星持续观测,让它在大尺度生态监测里成了一个“性价比”很高的选择。尤其适合做国家级或省域级别的时空变化分析,以及配合气候变量做驱动分析。如果你是做小流域精确制图的,那 MOD44B 的分辨率不够,还是回到 Landsat 更实用;但如果你需要快速拿到一套中国的长时序植被底图,它就是当前最省事的方案之一。

3. 2000-2020 中国区 MOD44B 数据获取全流程

3.1 前置准备:账号、工具和网络节奏

去 NASA 的 Earthdata 官网下载 MODIS 数据,第一步是注册一个 Earthdata 账号。这个账号是免费申请的,但别想着绕过登录直接抓链接,现在官方数据分发基本都要求带登录凭证。注册时填好邮箱和机构信息即可,选学科方向时可以选“Ecology”或者“Earth Science”,审批一般很快,我那次是几分钟之内就收到了确认邮件。

工具方面,建议备齐这几个:一个支持 HDF4 读取的 GDAL 环境,一个支持断点续传的下载器或脚本,再加一个影像拼接与裁剪工具。GDAL 可以通过 Anaconda 安装,也可以用 OSGeo4W 包。国内玩家如果在 Windows 环境下用 pip 安装 GDAL 遇到兼容问题,建议直接装gisinternalsosgeo的预编译版本,省去自己编译 HDF4 驱动的痛苦。

下载节奏也是经验之谈。NASA 服务器在国内的响应速度不稳定,高峰期经常几十 KB 每秒,一个瓦片传半天。我后来基本选择凌晨或上午下载,成功率明显更高,也建议用支持断点续传的下载脚本,别断了就从头再来。

3.2 官方下载路径的选择与细节

MOD44B 的官方下载路径主要有两条,一条是 NASA Earthdata Search(search.earthdata.nasa.gov),另一条是 AppEEARS(appeears.earthdata.nasa.gov)。

Earthdata Search 适合下瓦片原文件。搜索框里输入 MOD44B,然后在时间面板选择 2000-2020,再在地图上画出中国大致的范围,系统会把涉及的所有瓦片列出来。你可以添加到购物车后批量下载。缺点是它给的是原始 HDF 瓦片,后面还需要自己做投影转换和拼接。

AppEEARS 更适合做点采样和区域提取。你上传一个 Shapefile 或者直接在图上画范围,选择要的产品和年份,系统会自动裁剪、重投影(可以指定 WGS84),输出 GeoTIFF。这种方式的用户体验好,但局限是如果研究区特别大、时间序列特别长,提交任务后等待时间会很长,而且返回的数据组织方式有时候需要再整理。

真正追求批量自动化的人,我建议直接用脚本下载。Earthdata 提供了wgetcurl配合 token 的方式,也有现成的 Python 第三方库比如pyModismodis-tools。我个人现在的习惯是写一个小脚本,自动读取瓦片列表、逐条下载并校验文件大小,如果下载失败就自动重试三次,这比在网页上手工点上万次鼠标要靠谱得多。

3.3 批量下载规划:瓦片清单与命名规则

中国区域要下载全 21 年,如果使用瓦片方式,一年大概需要 15 到 25 个瓦片,全部下来文件总数可能会接近四五百个。单个 HDF 文件几十到上百 MB,整套数据完整落盘可能要几十 GB。下载前最好按照“年份/瓦片”的目录结构存放,后面处理时检索会快得多。

我整理瓦片清单的办法是:先准备一个全国 Shapefile,然后转成 MODIS 正弦投影,和全球瓦片网格叠加,把相交的瓦片编号提取出来,导出成tiles.txt。再用一个循环逐一拼 URL 下载。这种办法虽然第一次准备有点麻烦,但以后你再下别的 MODIS 产品可以直接复用同一份瓦片清单,一步到位。

下载完一定要抽查文件是否完整。HDF 文件损坏时,GDAL 打开会报错,但有些文件表面能打开、内部却缺层。稳妥的做法是写一个检查脚本,遍历所有.hdf,尝试用 GDAL 打开并统计子数据集数量,小于预期数量的文件直接标记为异常重新下载。别小看这一步,我在东北地区的瓦片中真的碰到过几个文件,下载中途断了但大小看着正常,结果一打开全是空数据。

4. 数据处理与质量控制的核心操作

4.1 数据可以这样处理:拼接、裁剪、重投影

拿到一堆瓦片以后,处理链路一般固定为“拼接瓦片→重投影→裁剪到研究区→按年份合成时间序列”。

拼接这一步用 GDAL 的gdalbuildvrt很方便,它不会真的拷贝像素,而是生成一个虚拟栅格,把多个瓦片链接在一起。等做完投影转换后再输出成实际文件,可以省掉一次中间文件的转换时间。举个例子,把 2001 年的多个瓦片拼接并转换到 WGS84,可以用这几条命令:

gdalbuildvrt mod44b_2001.vrt MOD44B.A2001001.*.hdf gdalwarp -t_srs EPSG:4326 -te 73 18 135 54 -tr 0.0025 0.0025 mod44b_2001.vrt mod44b_2001_wgs84.tif

这里-te指定的是范围(中国大致经纬范围),-tr指定输出像元大小。0.0025 度大概对应 250 米左右,和原始分辨率保持一致。

裁剪到行政区时,可以直接用-cutline参数加一个中国省级边界矢量:

gdalwarp -cutline china.shp -crop_to_cutline mod44b_2001_wgs84.tif mod44b_2001_china.tif

需要注意,gdalwarp在处理多波段 HDF 子数据集时,要先拆出你需要的那个覆盖度层。HDF4 里的子数据集不能像普通 GeoTIFF 一样直接整个文件扔给 GDAL,得用HDF4_EOS:...子数据集路径,或者用 Python 先把子数据集转成 GeoTIFF 再继续处理。这也是新手最容易卡住的一步。

4.2 质量图层和数值缩放,怎么用才不掉入陷阱

MOD44B 的覆盖度层虽然是 0-100 的百分比,但在原始 HDF 中存储类型通常是整型,可能还带缩放因子。有些处理软件会自动应用缩放,有些不会,这就要你看数据说明文档确认scale_factor。如果确实有缩放,使用前要乘以系数,别把原值直接当百分比,否则时间序列会整体偏低或偏高。

质量层的使用更要谨慎。它不是简单的“0好1坏”,而是位标志编码,不同 bit 位代表不同含义:有的是像元质量等级,有的是水体掩膜,有的是云/雪覆盖,有的是气溶胶程度。想过滤像元,需要把质控值转换成二进制,按位读取对应标志位。我见过不少人在 GEE 里直接写quality == 0,这样很可能把大量边界区域或山区像元误删。

我的做法是:把质量层读出来,然后根据产品说明,把需要屏蔽的像元集合(云、水、雪、低质量)统一设为 NoData。对 MOD44B 来说,一般会去掉水体和云污染的像元,保留陆地和非云区。这样处理后年际间像元覆盖更加一致,趋势分析时不会因为某一年的云污染而出现局部异常。

为了不丢数据,处理时建议用一个栅格数组保存数据,一个布尔数组保存掩膜。每一年先把未通过质控的像元填充为 NaN,再参与后续统计。否则直接把 NoData 记成 0,会让裸地区域的比重被系统性抬高,整张趋势图直接失真。

4.3 时间序列统计和趋势计算要留意的细节

21 年序列的统计工作,最经典的是算每像元的趋势斜率。常见方法是最小二乘线性回归,更稳健的选择是 Theil-Sen 估计,因为它对异常值不那么敏感。下面这段 Python 思路可以复用:

from osgeo import gdal import numpy as np from scipy import stats slope = np.ones((rows, cols)) * np.nan for i in range(rows): for j in range(cols): vals = series[:, i, j] mask = np.isfinite(vals) & (vals >= 0) & (vals <= 100) if mask.sum() > 12: res = stats.theilslopes(vals[mask], years[mask]) slope[i, j] = res[0]

在写循环之前,记得先把所有年份数据读入一个三维数组,维度是(年份,行,列),并且统一所有年份的 NoData 表达。还有一个容易忽略的问题是,不同年份的边界范围可能因为裁剪和投影精度略有偏差,必须把所有年份重采样到完全相同的网格(相同的范围、行列数、分辨率),否则数组逐像元比较时会错位。

做显著性检验时,我建议同时输出 p 值。p 值小于 0.05 的像元才标记为显著变化,否则很多弱趋势会被图上颜色放大成“大片变绿”,误导读者。实际写论文、画图时,把“显著变绿”“显著退化”“无显著变化”三类的面积统计出来,比只扔一张斜率图更有说服力。

5. 被问爆的相关 MODIS 产品:气象信息系列与 NPP

5.1 MODIS 里能拿到的“气象相关”数据集

有段时间很多人在后台问我:MODIS 到底有哪些产品能获取气象相关的信息?这里统一说清楚。

严格意义上,MODIS 不是气象卫星,它是遥感对地观测平台,很多产品更偏“地表状态”而不是“气象观测”。但以下产品和气象研究密切相关的变量直接挂钩:

  • MOD07_L2:大气剖面产品,包含温度廓线、湿度廓线、大气可降水量等,是做大气校正和天气过程分析的常用辅助数据。
  • MOD05_L2:近红外可降水量产品,能反演大气中的水汽总量,对研究降水过程和水循环也很有用。
  • MOD06_L2:云产品,包含云顶温度、云顶气压、云相态、云光学厚度等,是天气分析里常用的参数。
  • MOD11A1 / MYD11A1:地表温度产品(LST),虽然叫地表温度,但和近地表气温关系密切,很多山区气温插值研究都会用 LST 做协变量。
  • MOD13A1:植被指数产品,NDVI/EVI,虽然不是直接的气象变量,但做干旱监测时经常和降水、温度数据联合使用。

这些数据同样可以通过 Earthdata 和 AppEEARS 获取,处理链路和 MOD44B 相似,都是 HDF 瓦片、正弦投影,需要重投影和裁剪。如果你做植被-气候相互作用分析,一般会拿 MOD44B 做植被覆盖变量,再配 MOD11A1 的地表温度和 MOD07 的水汽变量,作为气候侧的解释变量,效果很好。

5.2 MOD17A3H NPP 下载实操记录

MOD17A3H 是年度的 NPP(净初级生产力)产品,空间分辨率 500 米,版本现在以 MOD17A3HGF 为主。很多做碳循环、植被生产力评估的朋友都来问“MOD17 NPP 怎么下载”,其实流程和 MOD44B 一模一样,只是产品代码不同。

走 AppEEARS 的步骤很简单:

  1. 登录 AppEEARS,点新建任务;
  2. 在数据列表里搜MOD17A3HGF,选年份(比如 2000-2020);
  3. 上传你的研究区 Shapefile,或者在地图上框选范围;
  4. 指定输出格式为 GeoTIFF、投影为 WGS84;
  5. 提交任务,等邮件通知下载。

要注意的是,MOD17A3HGF 子数据集不止一个,有 GPP、NPP、NPP_QC 等,需要按需勾选。NPP 的单位是 kg C/m²/year,下载后要先确认数值范围,遇到特别大的值需要查看是否包含填充值。产品说明里通常给了scale_factor,不按缩放直接出图的话,数值会有量级偏差。

另外,MOD17 产品经常更新有不同版本,老版本的数据可能在服务里已经下线。如果你用的是 Earthdata 直接搜 HDF 瓦片,注意把版本号对清楚,.061.006在文件名里都会有体现。

5.3 一份能少走弯路的 MODIS 数据获取清单

很多新手一上来就埋头下载,结果后期分析时发现缺少气候数据、缺少辅助验证数据,又得重新补。这里分享一份我常用的清单:

  • 核心植被覆盖:MOD44B(树覆盖、非树植被、裸地)
  • 植被生产力:MOD17A3HGF(NPP/GPP)
  • 植被指数:MOD13A1 或 MOD13Q1(NDVI/EVI)
  • 地表温度:MOD11A1(逐日)或 MOD11A2(8 天合成)
  • 大气水汽:MOD05_L2
  • 土壤湿度:SMAP 产品(不是严格 MODIS,但与 MODIS 常配合使用)
  • 夜间灯光:NPP-VIIRS(做城市扩张和人类活动影响评估时用)

这套组合基本覆盖了“自然+人为”两类驱动因子的主流变量。做 2000-2020 的中国植被覆盖研究,我建议先把这个清单里的变量下载到本地,后续不管做回归分析还是机器学习驱动因子识别,都不用再为数据来源发愁。

6. 实操过程问题排查与避坑记录

6.1 下载和处理中途最容易暴雷的地方

把实际操作里遇到最多的几个问题整理成一张速查表,遇到相似问题可以直接对症下药:

现象原因解决思路
HDF 文件打不开GDAL 没有编译 HDF4 驱动安装完整版 GDAL,或改用 gisinternals 包
下载到一半就断NASA 服务器连接不稳定使用断点续传脚本,设置失败重试机制
数据全是 0 或 255没做 NoData 和缩放处理检查产品文档里的 _FillValue 和 scale_factor
拼出来的图有黑缝瓦片边界有重叠或填充值没统一在 gdalbuildvrt 里设置-srcnodata,拼接后统一处理
不同年份边界对不上重投影范围不一致所有年份在同一个-te-tr下重采样
植被覆盖百分比加起来超过 100算法本身存在残差不要强制归一化,保留原始输出做分析
趋势图上出现大片异常没有用质量层过滤云和水按位解析 Quality 层,建立统一的掩膜

这些问题的核心共同点是:你当它是普通图片,但它是科学观测数据。每个产品都带着自己的坐标系、缩放系数、填充值和质量标志,拿到新数据的第一件事绝对不是开心地画图,而是先读产品文档,把元数据搞明白。

6.2 一个典型的全年数据提取流程

这里给一个可以直接参照的全年数据提取流程,它综合了下载、处理和质量控制的关键步骤。

第一步,确定研究区和瓦片号。我一般直接用全国范围的 Shapefile,叠加 MODIS 瓦片网格,自动提取出要下载的瓦片列表。第二步,写下载脚本从 Earthdata 拉取 HDF,每个文件下载后自动校验大小,小于阈值的重新下载。第三步,将每个 HDF 的子数据集拆出来,树覆盖、非树植被、裸地、质量层分别存成 GeoTIFF。第四步,逐年用 gdalbuildvrt 拼接,再统一重投影到 WGS84 并裁剪到研究区。第五步,根据质量层生成掩膜,把云、水体、低质量像元设置为 NaN。第六步,把所有年份堆叠成一个三维数组,做趋势分析、统计面积和画图。

这六步听起来挺线性,实际执行中会有很多循环和调试。比如拆子数据集那一步,HDF4 的路径经常因为文件名里版本号变化而改变,需要写正则表达式去匹配;又比如掩膜处理时,不同年份有效像元数差异较大,后续趋势计算要把有效像元数少于一半的年份像元剔除掉,否则回归结果不稳定。

6.3 我反复踩过、也反复修改的几条心得

第一,不要迷信“一个产品走天下”。MOD44B 确实好用,但它是年度的,只反映一年内覆盖状态的综合,不能看出植物猛然变绿或者叶片凋落的季节变化。如果要做物候分析,需要补充 MOD13Q1 等 16 天合成的植被指数产品。

第二,下载数据时要带着“验证需求”去下。如果你只是为了构图,下载三五年就够用了;但做趋势分析建议把 2000-2020 的完整序列都下齐,因为后续要补某一年的数据是非常痛苦的,NASA 的数据档案虽然保留完整,但下载服务器有速率限制,临时补一两年数据的等待时间比一次下载完整序列更闹心。

第三,质控图一定要留档。很多论文要求提供像元有效数量和掩膜情况的说明,如果处理时没留质控图,后面补绘会非常麻烦。我在处理时会给每一年都出一张“有效像元占比”图,做成一个逐年变化小动画,既能检查数据质量又能给报告添彩。

第四,处理中间文件尽量选择 GeoTIFF 而不是继续用 HDF。HDF 文件虽然保留了最完整的信息,但读取速度慢,而且很多软件对它的支持不完全。拆成 GeoTIFF 后,以后用 QGIS、ArcGIS、Python 都能顺畅操作。当然,原始 HDF 还是要备份一份,防止处理过程出错后无法回头。

最后再分享一个小技巧:做别把全中国放进一幅图里出趋势结果。这个大区域里气候差异太大,同一套趋势参数在东南湿润区和西北干旱区解释力完全不同。我实际操作时是按八大生态区或者省域分区分别统计的,效果比全国一刀切要清楚得多。这个处理方式在写结论时也更有说服力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 2:26:26

n 迁移指南:从 Homebrew 等旧安装方式平滑切换到 n 管理的 Node.js

n 迁移指南&#xff1a;从 Homebrew 等旧安装方式平滑切换到 n 管理的 Node.js 【免费下载链接】n Node version management 项目地址: https://gitcode.com/gh_mirrors/n/n 导读 当系统里已经通过 Homebrew、Linux 发行版包管理器或其它 Node 版本管理器安装过 Node.j…

作者头像 李华
网站建设 2026/9/20 2:24:05

容灾演练实战:SMTX备份与容灾+Everoute VPC协同方案

1. 项目背景&#xff1a;容灾演练为什么非做不可1.1 从一次“差点翻车”的切换说起前几年我帮一家制造业客户做年度容灾演练&#xff0c;原计划只是验证一下备份数据能不能起来。当时客户的虚拟化平台跑着MES系统&#xff0c;底层是SmartX超融合集群&#xff0c;备份走的是SMTX…

作者头像 李华
网站建设 2026/9/20 2:22:10

赛事直播全链路架构解析:从推流到分发的技术实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华