OPEN SOURCE RETROSPECTIVE · 开源复盘分享

HyperWeb:一人手写的 CBB 管理系统

一套在大型电视制造企业研发体系真实运行三年多的平台化基座 —— 从品类货架、技术规划到需求工单与共享率度量
2020 – 2024 · 服务 3 年 9 个月 经典 ASP / VBScript + Access 纯手工编写 · 无框架 · 无 AI 辅助 数据均实测自源码与数据库
129
ASP 功能页面
2.1万行
手写 VBScript 代码
56
数据库表(双库实测)
374
注册研发用户
838
市场需求工单
533
预研项目台账
这篇文档是什么:一个已经"功成身退"的内部系统的完整技术复盘。它于 2024 年 9 月将核心职能移交给企业级 PLM 系统,退役后仍作为查询导出工具运行了近一年半。文中所有数据均来自对全套源码(129 个 ASP 文件、20,637 行)的逐行审读和两个 Access 数据库(56 张表)的直接实测;企业标识与内部信息已做脱敏处理,技术细节完整保留,欢迎交流复用。
01

缘起:把"品类货架"从 Excel 里搬出来

CBB(Common Building Block,共用模块)是电视制造业平台化的核心命题。一台电视由主板、电源板、背光控制板、音箱组件、遥控器、底座、包装等 26 类模块构成——如果每个新机型都重新开发一遍物料,研发周期和成本都是灾难。CBB 管理的目标因此非常明确:把每个品类的模块做成"货架",新机型优先从货架上选型,整机共享率达标(>80%)才能立项

在系统诞生之前,这项工作完全依赖人工:每个品类的工程师各自维护 Excel 和 PPT(品类"现状分析 / 管控规则 / 规划选型 / 设计规范"四件套),信息散落在共享盘的层层文件夹里。没有统一台账,没有状态管理,没有共享度量化,更没有跨部门的需求流转——平台化的制度有了,但承载制度的工具是一片空白

HyperWeb 把这整条链路搬到了线上。它不是一个小工具,而是六大体系的一体化:

HyperTree 登录页原貌
图 · 登录页原貌:电路板拼成的 HyperTree 树标、青绿主色(#00AAA6)——2021 年的手笔(真实系统截图,已脱敏)
  • 品类货架 —— 三条产品线 × 30 个品类的 CBB 模块库
  • 生命周期 —— 规划 → 开发中 → 预上架 → 上架的状态管控
  • 技术规划 —— 技术树 + 预研项目 + 甘特图
  • 需求工单 —— 市场需求跨部门流转与统计看板
  • 共享率度量 —— 整机选型方案与 >80% 一票否决
  • 指标体系 —— 月度快照统计仓,2020-12 起按月留痕
02

系统全景

浏览器 frameset 工作台 · dTree 树 · jQuery + DataTables · Webix/dhtmlxGantt 甘特图 IIS · 经典 ASP(VBScript)—— 129 个页面,鉴权/渲染/回写单页闭环 页面四件套范式:Frame 容器 → 列表 → 编辑 → redirect 反馈,全站 20+ 模块复用 Database 30 张品类表 + 统计/规范 DatabaseTree 权限 374 用户 + 技术树 + 需求 DatabasePlan 机型选型方案(规划大表) 其余专用库 激光/商显 · 论证点 · 新资源
图 1 · 三层架构与多库设计 —— 业务、权限、规划数据按域分库,任何一库损坏不至于全军覆没

全站沉淀出一套统一的页面范式:*Frame.asp(权限闸门 + 双栏布局)→ 列表页(查库渲染 + 前端筛选)→ 编辑页(动态表单 + 自提交回写)→ redirect 反馈页。点列表行 ID,右侧编辑栏以"抽屉"方式滑出,提交后自动收拢——这套 frameset 抽屉面板交互贯穿全部 20 多个模块,成为整站的一致性来源

六个核心设计决策

1
元数据驱动

表结构即 UI

管理后台、CBB 新增/编辑、树维护的表单与表格,全部由数据表字段动态生成。给权限表加一列,管理界面零代码改动即生效——这是单人能维护 40+ 张表、40+ 个权限位的根本原因。

2
动态建模

表名即品类

每个品类就是业务库里一张同名表,树节点名 = 表名,点节点即查表。扩展一个新品类只需:建表 + 树上加节点 + 权限表加一列,十分钟上线。

3
权限位图

一行一用户,一列一权限

374 个用户的全部授权存在一张宽表:功能域准入、导出/汇总等行为权,以及每个品类各一列的细粒度编辑权。权限模型与元数据驱动互相咬合,加权限不动代码。

4
流程管控

CBB 状态机:终态守门

"上架"不是一个按钮,而是一种写入终态的资格:无授权用户连把记录改成"预上架/上架"的机会都没有——从源头保证货架上都是审核过的模块,列表读侧再过滤"下架"形成进退场闭环。

5
量化决策

共享率一票否决

整机 26 类模块的选型方案自动折算"共享率",六组加权、>80% 判合格(绿色),否则红色"不合格"——把公司"共享率不达标不能立项"的制度变成了系统里的一个红绿数字。

6
数据沉淀

月度快照统计仓

四状态 × 数量/支撑数/支撑比三族指标,跨 30 张品类表循环聚合,按月固化快照——2020 年 12 月起无间断留痕,品类共享率的逐月趋势线全部源于此。

03

功能模块详解

3.1 产品树与 CBB 货架(系统的核心画面)

电视、激光、商显三棵产品树,左侧树形导航按"单机 → 组件 → 单元"三级展开,点击节点打开该品类的货架列表:首列按"物料号.jpg"约定自动挂示意图,中间是品类全字段(CBB 编号、物料号、描述、技术参数),末列统计该 CBB 被多少个机型引用——共享度的直观体现。每条 CBB 的"链接"字段存 PLM 文档标识,点击直达企业 PLM 系统的文档树;货架页左栏还能展开"货架说明"(覆盖产品/完成情况/更新计划)与"规则规范"(四件套文档入口)。

电视产品树主界面实拍
图 · 电视产品树主界面实拍:左栏整机树 + 主板品类 82 条真实 CBB 数据(DataTables 逐列筛选、分页),系统至今仍在服役(已脱敏)
产品树导航 单机(整机) 组件(主板…) 单元(LCD…) CBB 货架列表(表名 = 节点名,动态查询) 示意图 CBB 编号 物料号 / 描述 / 参数 状态 · 引用机型 共享度可视
图 2 · 树节点即数据库表名 —— 点击导航节点直接打开对应品类的 CBB 货架

3.2 CBB 生命周期

规划 开发中 预上架 上架 下架 普通用户:可创建规划 / 开发中 写入终态需"上架"授权 逆向终态 · 列表过滤
图 3 · CBB 状态机 —— "上架"是受控的写入资格而非按钮,从源头保证货架质量

CBB 编号体系本身即分层设计的体现:CBB-{DJ 单机|ZJ 组件|DY 单元}-{品类缩写}-{序号},例如主板 CBB-DJ-ZB-00005、LCD CBB-DY-LCD-0031。非授权用户的"下架/删除"操作会被服务端拒绝;终态记录的物理删除仅限超级管理员。

3.3 技术树与预研项目

如果说产品树管"物",技术树管"技"——283 个技术节点支持四种视图组织(技术分类 4 级 / 需求分类 / 技术平台 / 产品平台),每个技术节点带词典定义,叶子节点反查挂接的预研项目。533 个预研项目记录状态(规划/开发中)、类型(预研/攻关/CBB)、目标价值、竞品对比、起止时间与进展,并按技术树任意层级切片联动甘特图视图。一个超前的细节:"其他"节点专门收纳未正确归类的项目,并提示管理员修正分类——用数据暴露倒逼归类质量。

3.4 市场需求工单流(2021 → 2022 的迭代)

2021 版是简单的内部台账(78 条);2022 版升级为完整的跨部门工单流(223 条 + 商显独立池 537 条):

需求提出产品部审核 审核人自动落名承接部门反馈 反馈人自动落名转化出口:预研 / CBB / 平台 / 应市 / 任务单状态:创建→已反馈→已立项→已完成 / 评估关闭提出人结论(仅本人可下)

配套一张统计看板:承接部门 × 反馈状态、提出部门 × 反馈状态两张透视矩阵实时计数,单元格可点击下钻到对应需求清单。"编辑行为即签名"的轻量审计、提出人专属的结论权、按 IPD 阶段组织的商显字段体系,都是这条工单流上的精细设计。

3.5 多方案选型与共享率算法

这是全系统技术含量最高的模块:一个拟立项机型,对 26 类模块逐一选择"货架 CBB"或四条非 CBB 路径(无此功能 / 需新开发 / 用非 CBB 物料 / 外协),一行数据即一个整机方案(69 字段)。共享率自动折算:

整机共享率 = Σ 六组模块的"已复用坑位 ÷ 有效坑位"
单机层(主板/遥控器/音响)· 电源组 · 硬件套件(摄像头/语音板/WIFI板…)· 模组屏组 + 面板折算 · 外观结构套件 · 软件
"不涉及"的模块从分母剔除,避免新机型被稀释 —— 合计 > 80% 判"合格"(绿色),否则红色"不合格",一票否决

方案页面一键导出《多方案选择及共享率分析》评审报告(Word 格式),归档后锁定、授权可重开——评审流程的完整闭环。

3.6 统计汇总体系

四级上卷:单品类实时统计 → 全品类跨表聚合(按"分层"分组)→ 月度快照落库 → 历史累计查询。一个独到的设计:月度快照的落库动作绑定权限——只有持"更新汇总"权限的人访问汇总页,当月数据才被固化,相当于"打卡式归档",既省去定时任务,又让每份快照有明确的责任人。48 条实测快照记录自 2020 年 12 月起无间断。

CBB 统计汇总页实拍
图 · 统计汇总页实拍:左「实时数据」× 右「历史数据汇总(2020-12 开始)」,各品类上架数/支撑产品/支撑比一览无余(已脱敏)

3.7 数据管道

Excel 批量导入(上传 → OLEDB 驱动把工作表当表查询 → 按物料号去重入库,24 个线材专有字段映射)、TSV 伪 Excel 导出(免 Office 组件、随机版本号防缓存)、354 张产品示意图按"物料号.jpg"约定由文件系统直接索引——零建表、零维护的图片库

04

无 AI 年代的工程技法

技法实现与代价
MIME 伪装导出 Word响应头声明 application/vnd.ms-word + 输出带样式的 HTML 表格,浏览器调起 Word 渲染——零组件、零授权成本生成评审级报告,代价是 HTML 格式的 .doc(打开时有格式提示)。
文件系统即图片索引示意图按 物料号.jpg 命名上传,列表渲染时逐行探测文件存在性决定挂图——354 张图片零建表零维护。
frameset 抽屉面板运行时改写 frameset.cols 实现列表 / 说明 / 编辑多面板无刷新切换,是 2020 年代内网系统里少见的顺滑交互。
OLEDB 读 Excel上传组件落盘后,用 SELECT * FROM [Sheet1$] 把工作表当数据表查询,校验"物料号"列后按行去重入库。
新旧共存式升级jQuery 1.3.2 → 3.5.1、picnet 筛选 → DataTables 精确列筛选,逐页面灰度替换(新旧版本并存),从不停机重写。
现代组件嫁接2021 年在 ASP 页面里接入 Webix + dhtmlxGantt 甘特组件,服务端 VBScript 直接内联吐 JSON 数据——务实且见效。
05

生命周期:三年九个月,然后体面退休

  • 2020-10人工时代 —— 品类"分析/管控/选型/规范"四件套散落在共享盘,平台化制度缺工具承载。
  • 2020-12系统上线 —— 统计指标体系开始按月留痕(第一份月度快照)。
  • 2021三线扩展 —— 激光/商显产品线复入;产品平台论证点体系运转;甘特图接入。
  • 2022工单流升级 —— 市场需求跨部门流转 + 统计看板上线;自动备份脚本体系建立。
  • 2023体验迭代 —— 货架列表升级 DataTables 精确筛选;最后一次功能性修改。
  • 2024-09功成身退 —— 新 PLM 上线"产品-CBB 选型",多方案新增入口关闭,选型职能移交。
  • 2026-01仍在服役 —— 退役后仍作为查询/导出工具被使用;每日自动备份至今运行。
传承:桌面版(VB6)→ HyperWeb(ASP,本文主角)→ 新一代数据平台(Next.js + React)→ 品类策略 AI 化工作流(2-3 天 → 30 分钟)→ AI 技能包家族。后来 AI 化的一切——查询场景的字段清单、品类管控规则、货架产品形态——领域模型都能在这套手写系统里找到源头。它不只是一段代码,是三年多业务方法的沉淀容器。
06

诚实复盘:做对了什么,局限在哪

做对的

  • 元数据驱动让单人维护成为可能——表结构变即界面变,40+ 权限位、30+ 品类零代码扩展
  • 按域分库——业务/权限/规划/产品线物理隔离,故障域小
  • 把制度写进系统——状态机终态守门、共享率一票否决,制度不再依赖人的自觉
  • 统一页面范式——20+ 模块共用一套交互语言,用户学习成本趋近于零
  • 数据持续沉淀——2020-12 起的月度快照让所有汇报图表有据可查
  • 渐进式升级——三年里前端栈换了两代,业务不中断

局限(也是年代的定义)

  • SQL 字符串拼接贯穿全部入口——内网系统未设防,放今天不可接受
  • 密码明文存储、权限校验后不终止响应——鉴权体系是"提示"而非"拦截"
  • 三条产品线代码复制粘贴——口径漂移和"只在电视树生效"的暗伤由此而来
  • 共享率算法三处复制、统计口径两页不一致——缺少抽象层的典型代价
  • Access 单文件库的并发与体量天花板,决定了它最终让位给 PLM
  • 一人维护 = 公交系数 1——知识没有第二份载体,退役后无人敢动

这些局限大多不是"想不到",而是"那个环境下够用就好"的取舍。把它们如实写出来,正是这篇复盘对后来者的价值:元数据驱动、分库隔离、制度系统化、快照沉淀这些设计决策,放到今天的低代码/平台工程语境里依然成立;而安全、抽象、知识传承的欠账,则是任何一个人的系统都终将面对的功课。

附录

数据规模实测

维度实测数据
代码规模129 个 ASP 页面 · 20,637 行 VBScript · 667 KB(不含第三方库)
数据库业务库 40 表 + 用户权限库 16 表(Access,ADO 实测)
CBB 货架30 张品类表:底座 412 · LCD 165 · 遥控器 145 · 主板 82 · 电源板 31 · 自制 TCON 28 · 背光板 23 · 音箱 23 …
技术规划技术树 283 节点 · 技术词典 281 条 · 预研项目 533 个 + 年末归档 437 个
市场需求2021 版 78 条 · 2022 版 223 条 · 商显版 537 条,合计 838 条
知识与统计品类规范登记 38 条 · 月度统计快照 48 条(2020-12 起)· 产品示意图 354 张
作者:胡安 · 格致笔记 —— 本系统的设计与开发者 2026-08 · 基于全量源码审读与数据库实测的开源复盘

本文已做脱敏处理:企业名称、内网地址、系统集成对象与账号信息已移除或泛化;品类划分、算法口径、代码规模与统计数据均为实测原貌。

HyperWeb · CBB 管理系统开源复盘2020 – 2024 · 胡安