feat: 容量报表富集小区信息并新增高负荷小区判定与优化建议
- ReportScript.sql 末尾:按 CGI 富集 sector/cellinfo 字段;4G/5G 高负荷判定(是否高负荷/高负荷问题);同扇区同PLMN 负载均衡优化建议(模板1/2) - 新增 docs/高负荷小区判定_调研记录.md 记录标准/字段/阈值/命中量/实现
This commit is contained in:
@@ -0,0 +1,196 @@
|
||||
# 高负荷小区判定 — 调研记录 / 工作笔记
|
||||
|
||||
> 目的:在 4G/5G 结果表中为每个小区判定「是否高负荷小区」(并可给「优化建议」)。
|
||||
> 本文档是**讨论与决策的工作底稿**,边讨论边更新;数据为实测采集,尽量准确,避免重复读取。
|
||||
> 状态:调研完成,规则**待讨论敲定**(未实现、未提交)。最后更新:2026-06-26。
|
||||
|
||||
---
|
||||
|
||||
## 0. 数据来源与位置(避免重复读取)
|
||||
|
||||
| 内容 | 位置 |
|
||||
| --- | --- |
|
||||
| 判定标准原件 | `CapacityReport/高负荷判定标准.xlsx`(单 sheet「汇总」,A1:S80;已摘录见 §4) |
|
||||
| 4G/5G 结果表 | MySQL `capacityreport` 库:`4g_结果表`、`5g_结果表`(每次跑报表重建) |
|
||||
| 小区属性支撑表 | MySQL `celldata` 库:`cellinfo`、`sector`(由 300 表处理上传;跑报表前会复制进 `capacityreport` 库) |
|
||||
| 小区信息原始源 | `F:\sftpgo_v2.7.1_windows_portable\data\网优日常优化数据文档\日常性能报表\2026年\300表\{2.6G,700M}\Result_300_小区信息导出工具模板_*.zip`(NR/LTE CellInfo 等 CSV → 提炼成 cellinfo/sector;**不含负荷指标**) |
|
||||
| 报表 SQL(拟在此追加判定逻辑) | `CapacityReport/ReportScript.sql`(末尾已有富集 + 已建空列 `是否高负荷小区` VARCHAR(100)、`优化建议` TINYTEXT) |
|
||||
|
||||
**关键事实**:负荷指标只在结果表里;`cellinfo/sector` 只提供分类属性(制式/带宽/站型/频段/功率)。判定 = 结果表负荷指标 +(按属性分档的)门限。
|
||||
|
||||
---
|
||||
|
||||
## 1. 结果表可用负荷指标 + 实测分布
|
||||
|
||||
### 1.1 4G 结果表(`4g_结果表`,34078 行)
|
||||
利用率均为 **0–1 比值**(可直接和标准的 0.5/0.7 比较)。
|
||||
|
||||
| 指标列 | 含义 | 均值 | 最大 | 命中量(阈值→小区数) |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `上行PUSCH利用率` | 上行 PUSCH 利用率 | 0.11 | 0.92 | ≥0.5: 136 |
|
||||
| `下行PDSCH利用率` | 下行 PDSCH 利用率 | 0.22 | 0.996 | ≥0.5: 2733;≥0.7: 585;≥0.9: 40 |
|
||||
| `PDCCH资源利用率` | PDCCH 利用率 | 0.12 | 0.57 | (max 仅 0.57,≥0.5 极少) |
|
||||
| `自忙时流量(GB)` | 自忙时流量 | 2.29 | 23.86 | — |
|
||||
| `ERAB流量` | **自忙时平均 E-RAB 流量(KB)**,用于大/中/小包分类 | 1551 | 446131 | 大包≥1000: 14943;中包 300–1000: 15941;小包<300: 3194 |
|
||||
| `上行流量(GB)` / `下行流量(GB)` | 上/下行流量 | — | — | — |
|
||||
| `YY-RRC连接建立最大用户数` | RRC 最大用户数(≈标准「有数据传输的RRC数/RRC连接最大数」) | 30.2 | 431 | ≥30: 13783;≥50: 5239 |
|
||||
| `用户面平均激活UE数` / `用户面最大激活UE数` | 激活 UE 数 | — | — | — |
|
||||
| 组合 | `下行PDSCH≥0.7 且 YY-RRC≥30` | — | — | **499** |
|
||||
|
||||
### 1.2 5G 结果表(`5g_结果表`,33028 行)
|
||||
|
||||
| 指标列 | 含义 | 均值 | 最大 | 命中量 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `上行PRB平均利用率` | 上行 PRB 利用率 | 0.086 | 0.85 | ≥0.5: 110 |
|
||||
| `下行PRB平均利用率` | 下行 PRB 利用率 | 0.18 | 0.99 | ≥0.7: 503;≥0.8: 238;≥0.9: 77 |
|
||||
| `RRC连接平均连接用户数` | RRC 平均用户数 | 20.3 | 356 | ≥30: 6998;≥100: 1079;≥200: 67 |
|
||||
| `RRC连接最大连接用户数` | RRC 最大用户数 | — | — | — |
|
||||
| `5G上行流量(…)(GB)` | 上行流量 | 0.66 | 16.7 | — |
|
||||
| `5G下行流量(…)(GB)` | 下行流量 | 5.9 | 101 | — |
|
||||
| `日均流量(GB)` | 日均流量 | — | 400+ | — |
|
||||
| `PDCCH信道CCE占用率(动态)(%)`、`单Flow流量(MB)`、`小区(上/下)行RLC SDU字节数`、`移动流量_GB`、`广电流量_GB` | 其他 | — | — | — |
|
||||
| 组合 | `下行PRB≥0.7 且 RRC平均≥30` | — | — | **200** |
|
||||
| 组合 | `下行PRB≥0.8 且 RRC平均≥50` | — | — | **46** |
|
||||
|
||||
> 观察:利用率呈「低均值 + 高尾部」,利用率门限本身已很筛选(4G 下行≥0.7 仅 1.7%,5G 下行≥0.7 仅 1.5%)。RRC=200(5G 标准原值)极严(仅 67 个)。
|
||||
|
||||
---
|
||||
|
||||
## 2. 小区分类属性(来自 cellinfo/sector,按 CGI 匹配结果表)
|
||||
|
||||
匹配率:4G 命中 cellinfo 98.8%、sector 98.7%;5G(NCGI=CGI) 命中 cellinfo 99.8%、sector 99.1%。
|
||||
|
||||
- `cellinfo.制式`:`700M`(19732)、`TDD`(17423)、`FDD`(16402)、`2.6G`(13221)
|
||||
- **4G 小区 → 制式 ∈ {TDD, FDD};5G 小区 → 制式 ∈ {700M, 2.6G}**(700M≈FDD-NR、2.6G≈TDD-NR)。
|
||||
- `cellinfo.带宽`:`20M`(23588)、`30M`(19726)、`100M`(12894)、`10M`(9717)、`15M`(461)、`60M`(267)、`40M`(60)、`5M`(59)、`0M`(6)
|
||||
- 30M→5G FDD-NR;100M/60M→5G TDD-NR;20M/15M/10M/5M→4G。
|
||||
- `sector.站型`:`宏站`(55608)、`室分`(10272)、`微站`(1089) —— **无 64TR/32TR/8TR 等 TR 粒度**。
|
||||
- `sector.频段`:`2.6G`、`700M`、`广电`、`FDD900`、`FDD1800`、`F频`、`E频`、`D频`、`3DMM`(1489)、`A频`、`4.9G`。
|
||||
|
||||
---
|
||||
|
||||
## 3. 标准输入 vs 我们拥有的字段(能做 / 缺)
|
||||
|
||||
| 标准需要 | 我们是否有 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 4G 利用率(上行PUSCH、下行PDSCH、PDCCH) | ✅ | 0–1 |
|
||||
| 大/中/小包(自忙时平均E-RAB流量KB) | ✅ | 用 `ERAB流量` 分档(≥1000 / 300–1000 / <300) |
|
||||
| 4G 流量(上/下行GB、自忙时GB) | ✅ | |
|
||||
| 4G RRC 数 | ✅ 近似 | `YY-RRC连接建立最大用户数` |
|
||||
| 制式 TDD/FDD | ✅ | cellinfo.制式 |
|
||||
| 带宽(5/10/15/20M…) | ✅ | cellinfo.带宽 |
|
||||
| 频段(FDD900/F/A/E/D/3DMM…) | ✅ | sector.频段(高流量感知按频段分档可用) |
|
||||
| 5G PRB 利用率(上/下)、RRC、上/下行流量 | ✅ | 5G 规则可完整套用 |
|
||||
| 5G 带宽档(100M/80M/60M/30M) | ⚠️ 部分 | 有 100M/60M/30M;无 80M(数据里没出现 80M) |
|
||||
| **TR 数(64/32/8/4/2/1TR)** | ❌ | 只有 宏/室分/微 → **2023 集团扩容标准(per-TR)难直接套用** |
|
||||
| 折算带宽系数 / 全网平均单载波流量(流量系数) | ❌ 需自算 | 流量系数 = 本小区日均流量 / 全网平均单载波流量 / 带宽系数,需先定义系数与全网均值 |
|
||||
| 3DMM 作为独立 4G 制式 | ⚠️ | 4G 制式只有 TDD/FDD;3DMM 体现在 `sector.频段`(1489 个) |
|
||||
|
||||
---
|
||||
|
||||
## 4. 原始标准摘要(xlsx「汇总」)
|
||||
|
||||
**A. 4G 通用标准 / 高负荷待扩容门限(R1–R17)**:制式(TDD/FDD/3DMM) × 小区分类(大包≥1000 / 中包<1000 或 300–1000 / 小包<300,按自忙时平均E-RAB流量KB) × 带宽(20M/15M/10M/5M)。每档给:利用率门限(上行PUSCH `D`、下行PDSCH/PDCCH `E`)+ 有数据传输的RRC数 + 上/下行流量GB。
|
||||
- TDD:利用率 0.5;下行 70%/50%(大包)、50%/50%(中小包)。例 20M 大包:RRC=10、流量 0.3/5。
|
||||
- FDD:利用率 0.7;下行 70%/70%。例 20M 大包:RRC=15、流量 2/10.5。
|
||||
- 3DMM:利用率 0.8;80%/80%。
|
||||
|
||||
**B. 高流量感知(R20–R41)**:自忙时流量 / 有效RRC连接最大数 / RRC连接最大数 / 上行利用率 / 下行利用率,按 频段(FDD900/FDD1800/F/A/E/D/3DMM) × 带宽 给阈值(多数「折算带宽」)。例:上行利用率 TDD>60%;下行利用率 全制式>80%。
|
||||
|
||||
**C. 高负荷预警(R44,集团定义,最简口径)**:无线利用率≥50% 且 有效RRC连接平均数≥30。细化:**TDD 利用率≥50%、FDD≥70%、3DMIMO≥80%**。
|
||||
|
||||
**D. 流量系数(R48–R52)**:流量系数 = 本小区日均流量 /(全网总流量/小区总数 的平均单载波流量)/ 带宽系数。低流量 0–0.2、高流量 >3。
|
||||
|
||||
**E. 5G 高负荷规则(R54–R61)**:制式 × [上行PRB 0.5 / 下行PRB 0.7 / RRC平均 / 上行流量GB / 下行流量GB]
|
||||
- TDD-NR100M:RRC 200 / 上 5 / 下 70
|
||||
- TDD-NR80M:160 / 4 / 56
|
||||
- TDD-NR60M:120 / 3 / 43
|
||||
- FDD-NR30M:90 / 8 / 30
|
||||
- 利用率口径:自忙时上/下行业务信道空分 PRB 占用利用率。
|
||||
|
||||
**F. 2023 集团扩容标准(R64–R74)**:宏站(64/32TR) / 宏站(8/4TR) / 室分(4/2/1TR) × 大/中/小包(单flow流量M) × 利用率 + 每 TR 的上/下行流量门限。**依赖 TR 数,我们缺该粒度 → 暂不采用**。
|
||||
|
||||
---
|
||||
|
||||
## 5. 候选简化规则(初版,待讨论确认)
|
||||
|
||||
> 思路:以「**利用率达标 且(用户数或流量达标)**」二选一组合作为高负荷,按制式/带宽分档取门限;优先用我们字段齐全、口径清晰的 **C(高负荷预警)** 和 **E(5G 规则)**。先只输出二分「是/否」,`优化建议` 后续再细化。
|
||||
|
||||
### 候选 A —「高负荷预警」简化口径(推荐起步,最稳)
|
||||
- **4G**:`是高负荷` = 下行PDSCH利用率 ≥ (TDD 0.5 / FDD 0.7) **且** `YY-RRC连接建立最大用户数` ≥ 30。
|
||||
- 参考命中:下行≥0.7 且 RRC≥30 = 499;若 TDD 用 0.5 会更多(下行≥0.5=2733,再叠 RRC≥30 待测)。
|
||||
- **5G**:`是高负荷` = 下行PRB利用率 ≥ 0.7 **且** RRC平均 ≥ 30(或按带宽用 E 的 RRC 档)。
|
||||
- 参考命中:下行≥0.7 且 RRC≥30 = 200。
|
||||
|
||||
### 候选 B —「5G 规则按带宽 + 4G 按大中小包」更贴标准
|
||||
- 5G:下行PRB≥0.7 **且**(RRC平均≥档 或 下行流量≥档),档按带宽(100M:200/70、60M:120/43、30M:90/30)。
|
||||
- 4G:下行PDSCH≥门限 **且**(RRC≥档 或 上/下行流量≥档),门限/档按 制式×大中小包×带宽(套 A 表,简化为主力带宽 20M/10M)。
|
||||
|
||||
---
|
||||
|
||||
## 6. 待讨论的开放问题(请逐条拍板)
|
||||
|
||||
1. **采用哪套口径**:候选 A(最简、稳)/ 候选 B(更贴标准、更细)/ 其他组合?
|
||||
2. **组合逻辑**:利用率与(用户数/流量)之间是 **AND**(推荐,避免纯利用率饱和误报)还是 OR?(用户数/流量之间是 OR 还是 AND?)
|
||||
3. **是否分档**:门限是否区分 制式(TDD/FDD)、带宽、站型(宏/室分/微)?还是先用一套统一门限?
|
||||
4. **4G 利用率口径**:用 `下行PDSCH利用率` 为主,是否叠加 `上行PUSCH`/`PDCCH`?(PDCCH max 仅 0.57,单独用意义不大)
|
||||
5. **输出形态**:只二分 `是否高负荷小区`(是/否),还是分级(高/中/低 或 高负荷/高流量/正常)?`优化建议` 要不要这次就生成(如"建议扩容/加载/分流")?
|
||||
6. **是否要「流量系数 / 高低流量」**:需要先算全网平均单载波流量 + 带宽系数,较复杂,是否本期纳入?
|
||||
7. **缺 TR 粒度**:2023 标准(per-TR)放弃,OK?室分/微站是否单独更宽松门限?
|
||||
8. **阈值校准**:希望"高负荷"占比大概多少(如 1–3%)?据此回标阈值(我可按候选规则跑命中量再调)。
|
||||
|
||||
---
|
||||
|
||||
## 8. 已确认方向 + 规则 v1(阈值待最终拍板)
|
||||
|
||||
**已定(用户 2026-06-26)**:① 用简化版;② 利用率 **AND** 用户数;③ 门限区分 制式/带宽,**不分站型**(原版简化规则 4G/5G 均不分站型,仅 TR 制的 2023 扩容标准分,但缺 TR 数);④ 5G RRC 用标准原值 200(要少);⑤ 输出 `是否高负荷小区`(**仅「高负荷」=是;两类预警与正常=否**)+ 新增 `高负荷问题` ∈ {高负荷, 利用率预警, 高流量预警};⑥ 5G 80M 档同 100M;⑦ **3DMM 不作独立 4G 制式,归 TDD(0.5)**(且 `cellinfo.制式` 本就只有 TDD/FDD,3DMM 在频段里,天然走 TDD)。
|
||||
|
||||
**判定逻辑(互斥,按利用率优先)**:
|
||||
```
|
||||
若 利用率达标:
|
||||
若 用户数达标 → 高负荷 (是否高负荷=是)
|
||||
否则 → 利用率预警 (是否高负荷=否,仅预警)
|
||||
否则若 流量达标(高) → 高流量预警 (是否高负荷=否,仅预警)
|
||||
否则 → 正常 (是否高负荷=否,高负荷问题=空)
|
||||
# 即「是否高负荷小区=是」当且仅当 高负荷问题='高负荷'(预警 ≠ 高负荷)。
|
||||
```
|
||||
|
||||
**5G 阈值(来自标准 E,按带宽;80M 同 100M)**
|
||||
| 带宽 | 利用率达标 | 用户数门限(RRC平均) | 流量达标(上行GB / 下行GB) |
|
||||
| --- | --- | --- | --- |
|
||||
| 100M/80M | 上行PRB≥0.5 或 下行PRB≥0.7 | RRC平均≥200 | 上行≥5 或 下行≥70 |
|
||||
| 60M | 同上 | ≥120 | 上行≥3 或 下行≥43 |
|
||||
| 30M | 同上 | ≥90 | 上行≥8 或 下行≥30 |
|
||||
| 其他/缺失 | 同上 | ≥200 | 上行≥5 或 下行≥70 |
|
||||
|
||||
**4G 阈值(利用率按制式、用户数/流量按带宽;不分站型;3DMM 归 TDD)— 已定**
|
||||
| 维度 | 取值 |
|
||||
| --- | --- |
|
||||
| 利用率达标(制式) | FDD:下行PDSCH≥0.7 或 上行PUSCH≥0.7;其余(TDD、3DMM):≥0.5 |
|
||||
| 用户数门限(带宽,YY-RRC) | 20M→30、15M→25、10M→20、5M→12、其他→30 |
|
||||
| 流量达标(带宽,下行GB) | 20M→10、15M→7.5、10M→5、5M→2.5、其他→10 |
|
||||
|
||||
**实测命中量(最终阈值)**
|
||||
- 5G(33028):高负荷 46 / 利用率预警 536 / 高流量预警 161 / 正常 32285。
|
||||
- 4G(34078):高负荷 792 / 利用率预警 62 / 高流量预警 158 / 正常 33066。
|
||||
|
||||
**实现(已写入 `ReportScript.sql` 富集段之后)**:判定 UPDATE 直接用富集写入结果表的 `制式`/`带宽` 列,**不再 JOIN** cellinfo/sector(规避 sector ~144 个重复 CGI 导致的行虚增)。先 UPDATE `高负荷问题`(嵌套 CASE),再 `是否高负荷小区` = `IF(高负荷问题='高负荷','是','否')`(**仅「高负荷」为是**,两类预警=否)。`优化建议` 生成见 §9。
|
||||
- 「是否高负荷小区=是」的数量 = 高负荷数:4G 792、5G 46;预警类只进 `高负荷问题`、不计入"是"。
|
||||
|
||||
## 9. 优化建议生成(仅对 `是否高负荷小区`='是' 的高负荷小区)
|
||||
|
||||
**分析范围**:同扇区(`扇区`) + **同 PLMN**(CGI/NCGI 前两段;本网仅 `460-00`(移动) / `460-15`(广电),不同运营商不可均衡、不视为同扇区)。在该范围找「最空闲」小区(`高负荷问题` IS NULL,按 下行利用率 → 日均流量 升序取第一个):
|
||||
- 小区标识统一为 **`CGI(小区名称)`**(4G 名称取 `小区名称`,5G 取 `CU小区配置名称`;空缺显示 `-`)。
|
||||
- **模板1(有空闲小区)**:`高负荷小区{CGI(名称)}:上行利用率:.. 下行利用率:.. 日均流量:..GB 用户数:.. 当前小区功率:..。存在同覆盖空闲小区:{CGI(名称)}:下行利用率:.. 上行利用率:.. 日均流量:..GB 小区功率:..,建议将本小区部分负荷均衡至该空闲小区(负载均衡/邻区参数优化)。`
|
||||
- **模板2(无空闲,同扇区皆高负荷/预警)**:`高负荷小区{CGI(名称)}:…当前小区功率:..。经分析,本站同扇区(同PLMN)小区均为高负荷或预警状态、无空闲可均衡小区,建议人工分析周边小区是否可均衡。`
|
||||
|
||||
**实现**(`ReportScript.sql` 末尾,紧接判定之后):每表建临时缓存 `_idle_4g`/`_idle_5g`(每个 (扇区,PLMN) 的最空闲小区,含其 `name`(小区名称) 列,`ROW_NUMBER()` 取一并建索引)→ `UPDATE 结果表 LEFT JOIN _idle … WHERE 是否高负荷小区='是'` 用 `CONCAT` 拼建议(利用率 ×100 显示为 %)→ `DROP` 临时表。`优化建议` 列由 `TINYTEXT` 改为 **`TEXT`**(建议文本超 255 字节会被截断)。仅 4G 用 PUSCH/PDSCH 利用率与 YY-RRC,5G 用 PRB 利用率与 RRC 平均用户数。
|
||||
|
||||
**实测(4G 高负荷 792)**:有空闲→模板1 **601**、无空闲→模板2 **191**(约 76% 可负载均衡)。语法/逻辑已在 8.0.45 只读验证通过。
|
||||
|
||||
## 7. 变更记录
|
||||
- 2026-06-26:完成首轮调研(读 xlsx 标准、查 4G/5G 结果表分布与命中量、核对 cellinfo/sector 类别、确认 300 表为小区信息源)。
|
||||
- 2026-06-26:确认方向(简化版 + AND + 分制式/带宽 + 5G RRC=200 + 是否高负荷=是/否 & 高负荷问题三类);落地规则 v1 阈值表与命中量(§8)。
|
||||
- 2026-06-26:**最终敲定**——去掉站型系数(4G/5G 均不分站型)、3DMM 归 TDD;规则与阈值已写入 `ReportScript.sql`(富集段之后:新增 `高负荷问题` 列 + 两表判定 UPDATE)。最终命中量:4G 高负荷 792 / 利用率预警 62 / 高流量预警 158;5G 46 / 536 / 161。待用户跑报表验证。
|
||||
- 2026-06-26:修正语义——`是否高负荷小区` **仅当 `高负荷问题='高负荷'` 才为「是」**(两类预警≠高负荷,记 `否`);`IF(高负荷问题 IS NULL,...)` 改为 `IF(高负荷问题='高负荷','是','否')`。故"是"的数量=高负荷数(4G 792、5G 46)。
|
||||
- 2026-06-26:实现 `优化建议`(§9)——同扇区+同PLMN找最空闲小区,模板1(建议负载均衡)/模板2(建议人工分析周边);`优化建议` TINYTEXT→TEXT。4G 实测模板1 601 / 模板2 191。已写入 ReportScript.sql(待用户跑报表验证)。
|
||||
Reference in New Issue
Block a user