拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

机房平面布置图绘制复盘:从编号混乱到可视化台账

机房平面布置图绘制复盘:从编号混乱到可视化台账

一、任务与问题

任务是交付一套机房平面布置图:PPT 版示意图 + CAD 版图纸。

动手之后才发现,难的不是画图,是编号。运营商机房里的机柜、网络设备、ODF、光分,长期存在多套编号并行:

编号类型来源特点
物理标签编号现场纸质标签老工程遗留,格式不统一
资管系统编号资源管理平台生产运维标准 ID
网管设备编号SNMP / 网管槽位厂商起始号不同,华为多为 0,H3C 多为 1
竣工图纸编号早期竣工图往往与现场已不一致

四套编号互不统一,直接后果就是:画图时编号混乱、对不上、漏号跳号。传统做法用 CAD 或 Visio,还有三个绕不开的痛点:

  • 图面堆砌:多套编号同时标注,密密麻麻,看图的人分不清主次;

  • 改一处动全身:设备位置一挪,编号标注要手动重排,极易出错;

  • 数据脱节:图纸、资管系统、现场实际三者之间没有联动,更新滞后。

二、解决思路

1. 编号体系:确立主编号,其余降级为属性

核心原则一句话:只选一套编号作为图面主编号,其余编号存进设备属性,不上图面。

推荐以资管系统编号作为主编号——运维查资源、割接、故障处理时可以拿着图纸直接对照,不需要二次翻译。旧标签号、网管 ID 等存为附属字段,需要时在台账里查阅,或另附一张《编号映射对照表》放在图纸副页。

其中有一条实践得来的经验:允许跳号,不要为了数字连续去改编号。机房常有拆除、利旧,编号不连续是正常现象,图纸应当如实反映现状;强行补全反而是在制造假数据。

遇到重复编号,先现场核对资管系统,判断哪一个是历史遗留的错误标签:正确编号保留为主编号,错误编号移入映射表备注并安排现场整改换签,图纸上不标注错误编号。

新上架、尚未录入资管的设备,分配临时编号,并在映射表中明确标注「临时,待资管录入」,录入完成后转正。

2. 数据模型:以物理位置为锚点

编号会变,物理位置不会。机柜在机房里的行列坐标(A01、B03)是根本不变的,因此数据模型以它作锚点,主编号负责展示,其余编号作为附属属性:

字段定位示例
physicalPos物理行列锚点(不变)A01
mainCode主编号(图面显示)资管系统编号
oldLabelCode旧标签编号(属性)现场纸质标签
resCode资管系统编号资管平台 ID
netMgrId网管 ID / 槽位设备内部编号
deviceName设备名称NE40、MA5800
status设备状态在用 / 拆除 / 待录入

这样设计的好处是:即使资管编号发生变更,底层的物理行列号仍然可以作为对齐基准,图纸布局不必推倒重来。

关于槽位号还有一个容易踩的坑:不同厂商设备槽位起始号不一致(华为部分从 0、H3C 部分从 1),图纸统一使用资管槽位编号,网管原生起始号放进映射表,避免图纸与网管对不上。

3. 工具选型:轻量级 Web 编辑器替代 CAD

既然痛点在「编号与数据的联动」,而不是绘图本身,那就没必要在 CAD 里反复手动调整标注。思路是做一个轻量级可视化编辑器:以 CAD 平面图作底图,在上面叠加设备方块并录入编号台账,实现「图 — 表 — 数据」三位一体。

四条设计约束:

  • 纯前端单文件:一个 HTML 文件,双击即运行,无需安装环境;

  • 零外部依赖:原生 HTML + CSS + JavaScript + SVG,不引入任何框架和库;

  • 数据本地化:全部数据存在浏览器本地,不上传服务器;

  • 导入导出齐全:PNG / JSON / CSV / CAD 属性文本导出,JSON 导入实现备份恢复。

三、实践结果

最终产出一个单文件 HTML 编辑器,约 58KB,双击即可在 Chrome / Edge 中运行,实测底图为 1191×842、含 5489 条<path>的 3.1MB 矢量 CAD 图。

画布层

  • 导入 PNG / SVG 底图作为背景,滚轮缩放(0.2x ~ 5x)、拖拽平移,以鼠标位置为锚点缩放;

  • 三类设备方块按颜色区分:物理机柜(绿)、网络设备(橙红)、对拖 / ODF / 光分(蓝),白底着色边框,保证黑白打印也能分辨;

  • 方块支持拖拽移动与多方向缩放控制点,坐标自动限制在画布范围内。

编号台账

  • 右侧表格展示全部字段,单元格直接编辑,无需弹窗;

  • 画布与表格双向联动:点方块→表格行高亮;点表格行→方块闪烁定位;

  • mainCode重复自动标红并提示「主编号重复,请核查资管/现场」;

  • physicalPos不强制唯一(同一机柜内可有多台设备),但悬浮提示「该位置已有 N 台设备」;

  • 表头点击排序,顶部搜索框模糊匹配编号与名称。

持久化与导入导出

  • 设备数据与视图状态存localStorage,底图存IndexedDB(突破 5MB 限制);

  • 导出 PNG(2000px 宽,用于打印贴柜)、JSON(工程快照)、CSV(台账,带 BOM 头防 Excel 中文乱码)、CAD 属性文本(纯 txt);

  • 导入 JSON 支持覆盖 / 合并两种模式。

交互细节

  • Ctrl+Z / Ctrl+Y撤销重做(上限 50 步);

  • 方向键微移 1px,Shift+方向键 10px;

  • 框选批量选中,支持批量删除、批量改状态;

  • 新建设备自动编号:PHY-001/NET-001/XCON-001;

  • 状态可视化:在用(白色)、拆除(灰色 + 删除线 + 方块半透明)、待录入(浅橙)。

完整工作流

  1. 用 PyMuPDF 把 CAD 导出的 PDF 转成 SVG(保留矢量、文字可编辑);

  2. 打开编辑器,导入 SVG 作为底图;

  3. 选择设备类型,在底图对应位置点击放置方块;

  4. 在右侧表格中录入编号、名称、状态等属性;

  5. 导出 PNG 打印贴柜、导出 CSV 交资管核对、导出 JSON 作工程备份。

与传统方式对比

对比项CAD / Visio本编辑器
安装部署需安装专业软件双击 HTML 即可
编号管理多套编号堆在图上主编号显示,其余存属性
图表联动无画布与台账双向联动
数据导出截图或手工整理PNG / JSON / CSV 一键导出
学习成本高会操作浏览器即可
数据流向文件本地存储浏览器本地存储,不上传

四、心得与反思

1. 三条最值得记住的结论

先梳理,再画图。动手前必须先用 Excel 把现场信息采集完整——机柜位置、资管编号、旧标签号、设备型号、网管 ID、ODF 架号。这一步省不得,跳过它直接开画,后面一定要返工。

物理位置是唯一锚点。编号规则会变、资管数据会脏、设备会拆旧上新,只有机房里的行列坐标是稳定的。数据模型围绕它建,图纸才不会因为一次编号变更就推倒重来。

工具的价值在「轻」,不在「强」。这个编辑器替代不了 CAD,也不需要替代。现场人员不需要学专业软件,会开浏览器就能把设备位置和编号录成一份可维护的数字台账——这才是它的意义。

2. 不足

文章开头说「难的不是画图」,但踩完坑还有一句该补上:难的是把多套编号真正统一到一处,而这一步工具帮不上忙。

  • 数据安全的边界:数据全在浏览器本地,不上传服务器,换来的是免部署;代价是浏览器清缓存、换电脑、换浏览器都可能丢数据,必须靠手动导出 JSON 备份。真要长期使用,仍需要一个服务端或共享存储。

  • 编号梳理无法自动化:多套编号的对应关系只能靠现场核对与人工确认,工具能做的是「把确认好的结果结构化」,而不是替人做判断。

  • 仍有功能性缺口:底图导入尚不能自动识别图纸上的机柜框线,仍需手动放置方块;撤销栈上限 50 步;不支持多人协同编辑。

  • 依赖底图质量:底图必须是矢量或足够清晰的位图。若只有低分辨率扫描件,设备位置的对齐精度会明显下降。

3. 后续可以做的事

  • 增加「一键从底图矢量轮廓识别候选机柜框」的半自动放置,把重复劳动压下去;

  • 增加台账与资管系统导出格式的对接,让「图 — 资 — 现场」三统一少一道手工转换;

  • 把本地 JSON 备份做成定时提醒,降低数据丢失风险。

五、小结

机房平面布置图的核心难点不在画图,而在编号体系的梳理。

先确立「物理位置为锚点、资管编号为主编号、其余编号降级为属性」的数据模型,再用轻量级工具实现图表联动,就能把混乱的多套编号整理成一份清晰的台账。

工具的价值不在于替代 CAD,而在于让非专业人员也能快速上手,把现场的设备位置与编号,录成一份可持续维护的数字资产。

返回列表