SQL在网优中的应用--45G外部核查

网优小兵玩Python

共 21621字,需浏览 44分钟

 ·

2024-03-26 17:30

点击上方蓝字关注「 网优小兵玩Python

   


应用背景

a8c470a7b22cad549d90cc793c0977cd.webp



    网优日常工作中,邻区关系中的外部信息一致性核查与修正是确保切换性能的基础保障,该项工作主要涉及到LTE系统中的4G外部信息(TAC、频点、PCI)、5G外部信息(TAC、频点、PCI)核查修正,NR系统中的4G外部信息(TAC、频点、PCI)、5G外部信息(TAC、SSB频点、PCI)核查修正。就当前各地市网络规模来看,各外部信息数目在百万级别左右,通过EXCEL软件的VLOOKUP函数进行匹配核查,普通的办公电脑对单个外部信息核查一次所需时间在30分钟左右,时效性较差。应用SQL技术进行该项工作,时间粒度可压缩到秒级。


部署教程
a8c470a7b22cad549d90cc793c0977cd.webp


    本工 以Mysql + Navicat两个工具部署工作环境。Mysql为数据库工作,Navicat为连接管理数据库的工具,两个工具的官方下载链接如下(使用教程可在网上查找):

Mysql下载地址:https://dev.mysql.com/downloads/mysql/

Navicat下载地址: https://www.navicat.com.cn/download/navicat-premiu

    数据库建模,共计6张数据库表,各数据表的结构如下:

1、LTE工参表: lte_parameter_table

8c376723faad0e638dd93f1fb2b64d32.webp

2、NR工参表:nr_parameter_table

0a7294b0efc505c454185216bb18f6b7.webp

3、LTE网络4G外部信息表:lte_lte_ex

061a658b1192fe5a6fc30868d5c40c08.webp

4、LTE网络5G外部信息表:lte_nr_ex

d6446f222bba47928f5904ca2cbb1954.webp

5、NR网络4G外部信息表:nr_lte_ex

583f5ac1ca549e6a37d8d0a3a828a3a1.webp

6、NR网络5G外部信息表:nr_nr_ex

b375718fa61b92d1693f7123fbfd664e.webp4G站点外部信息核查修正SQL代码如下:

                
                  
                    /*
                  
                
                
                  
                    1、4G外部信息中的频点核查修正
                  
                
                
                  
                    */
                  
                
                
                  
                    SELECT
                  
                
                
                    lle.bts_name AS '网元名',
                
                
                    lle.ex_enb_id AS '4G外部基站ID',
                
                
                    lle.ex_cell_id AS '4G外部小区ID',
                
                
                    lle.ex_freq AS '外部配置频点',
                
                
                    lp.freq AS '4G小区现网频点',
                
                
                    CONCAT( 'MOD EUTRANEXTERNALCELL:MCC="460",MNC="00",ENODEBID=', lle.ex_enb_id, ',CELLID=', lle.ex_cell_id, ',DLEARFCN=', lp.freq, ';{', lle.bts_name , '}' ) AS '修正脚本' 
                
                
                  
                    FROM
                  
                
                
                    lte_parameter_table AS lp,
                
                
                    lte_lte_ex AS lle 
                
                
                  
                    WHERE
                  
                
                
                    lle.ex_enb_id = lp.enb_id 
                
                
                    AND lle.ex_cell_id = lp.cell_id 
                
                
                    AND lle.ex_freq <> lp.freq;
                
                
                
                  
                    /*
                  
                
                
                  
                    2、4G外部信息中的PCI核查修正
                  
                
                
                  
                    */
                  
                
                
                  
                    SELECT
                  
                
                
                    lle.bts_name AS '网元名',
                
                
                    lle.ex_enb_id AS '4G外部基站ID',
                
                
                    lle.ex_cell_id AS '4G外部小区ID',
                
                
                    lle.ex_pci AS '外部配置PCI',
                
                
                    lp.pci AS '4G小区现网PCI',
                
                
                    CONCAT( 'MOD EUTRANEXTERNALCELL:MCC="460",MNC="00",ENODEBID=', lle.ex_enb_id, ',CELLID=', lle.ex_cell_id, ',PHYCELLID=', lp.pci, ';{', lle.bts_name , '}' ) AS '修正脚本' 
                
                
                  
                    FROM
                  
                
                
                    lte_parameter_table AS lp,
                
                
                    lte_lte_ex AS lle 
                
                
                  
                    WHERE
                  
                
                
                    lle.ex_enb_id = lp.enb_id 
                
                
                    AND lle.ex_cell_id = lp.cell_id 
                
                
                    AND lle.ex_pci <> lp.pci;
                
                
                  
                    
/* 3、4G外部信息中的TAC核查修正 */ SELECT lle.bts_name AS '网元名', lle.ex_enb_id AS '4G外部基站ID', lle.ex_cell_id AS '4G外部小区ID', lle.ex_tac AS '外部配置TAC', lp.tac AS '4G小区现网TAC', CONCAT( 'MOD EUTRANEXTERNALCELL:MCC="460",MNC="00",ENODEBID=', lle.ex_enb_id, ',CELLID=', lle.ex_cell_id, ',TAC=', lp.tac, ';{', lle.bts_name , '}' ) AS '修正脚本' FROM lte_parameter_table AS lp, lte_lte_ex AS lle WHERE lle.ex_enb_id = lp.enb_id AND lle.ex_cell_id = lp.cell_id AND lle.ex_tac <> lp.tac;
/* 4、5G外部信息中的频点核查修正 */ SELECT lne.bts_name AS '网元名', lne.ex_gnb_id AS '5G外部基站ID', lne.ex_cell_id AS '5G外部小区ID', lne.ex_freq AS '外部配置频点', np.freq AS '5G小区现网频点', CONCAT( 'MOD NREXTERNALCELL:MCC="460",MNC="00",GNODEBID=', lne.ex_gnb_id, ',CELLID=', lne.ex_cell_id, ',DLARFCN=', np.freq, ';{', lne.bts_name , '}' ) AS '修正脚本' FROM nr_parameter_table AS np, lte_nr_ex AS lne WHERE lne.ex_gnb_id = np.gnb_id AND lne.ex_cell_id = np.cell_id AND lne.ex_freq <> np.freq;
/* 5、5G外部信息中的PCI核查修正 */ SELECT lne.bts_name AS '网元名', lne.ex_gnb_id AS '5G外部基站ID', lne.ex_pci AS '5G外部小区ID', lne.ex_pci AS '外部配置PCI', np.freq AS '5G小区现网PCI', CONCAT( 'MOD NREXTERNALCELL:MCC="460",MNC="00",GNODEBID=', lne.ex_gnb_id, ',CELLID=', lne.ex_cell_id, ',PHYCELLID=', np.pci, ';{', lne.bts_name , '}' ) AS '修正脚本' FROM nr_parameter_table AS np, lte_nr_ex AS lne WHERE lne.ex_gnb_id = np.gnb_id AND lne.ex_cell_id = np.cell_id AND lne.ex_pci <> np.pci;
/* 6、5G外部信息中的tac核查修正 */ SELECT lne.bts_name AS '网元名', lne.ex_gnb_id AS '5G外部基站ID', lne.ex_cell_id AS '5G外部小区ID', lne.ex_tac AS '外部配置TAC', np.tac AS '5G小区现网TAC', CONCAT( 'MOD NREXTERNALCELL:MCC="460",MNC="00",GNODEBID=', lne.ex_gnb_id, ',CELLID=', lne.ex_cell_id, ',TAC=', np.tac, ';{', lne.bts_name , '}' ) AS '修正脚本' FROM nr_parameter_table AS np, lte_nr_ex AS lne WHERE lne.ex_gnb_id = np.gnb_id AND lne.ex_cell_id = np.cell_id AND lne.ex_tac <> np.tac;

5G 站点外部信息核查修正 SQL 代码如 下:

                
                  
                    /*
                  
                
                
                  
                    1、5G外部信息中的频点核查修正
                  
                
                
                  
                    */
                  
                
                
                  
                    SELECT
                  
                
                
                    nne.bts_name AS '网元名',
                
                
                    nne.ex_gnb_id AS '5G外部基站ID',
                
                
                    nne.ex_cell_id AS '5G外部小区ID',
                
                
                    nne.ex_ssb_freq AS '外部配置SSB频点',
                
                
                    np.ssb_freq AS '5G小区现网SSB频点',
                
                
                    CONCAT( 'MOD NREXTERNALNCELL:MCC="460",MNC="00",GNBID=', nne.ex_gnb_id, ',CELLID=', nne.ex_cell_id, ',SSBFREQPOS=', np.ssb_freq, ';{', nne.bts_name , '}' ) AS '修正脚本' 
                
                
                  
                    FROM
                  
                
                
                    nr_parameter_table AS np,
                
                
                    nr_nr_ex AS nne 
                
                
                  
                    WHERE
                  
                
                
                    nne.ex_gnb_id = np.gnb_id 
                
                
                    AND nne.ex_cell_id = np.cell_id 
                
                
                    AND nne.ex_ssb_freq <> np.ssb_freq;
                
                
                  
                    
/* 2、5G外部信息中的PCI核查修正 */ SELECT nne.bts_name AS '网元名', nne.ex_gnb_id AS '5G外部基站ID', nne.ex_cell_id AS '外部小区ID', nne.ex_pci AS '外部配置PCI', np.pci AS '5G小区现网PCI', CONCAT( 'MOD NREXTERNALNCELL:MCC="460",MNC="00",GNBID=', nne.ex_gnb_id, ',CELLID=', nne.ex_cell_id, ',PHYSICALCELLID=', np.pci, ';{', nne.bts_name , '}' ) AS '修正脚本' FROM nr_parameter_table AS np, nr_nr_ex AS nne WHERE nne.ex_gnb_id = np.gnb_id AND nne.ex_cell_id = np.cell_id AND nne.ex_pci <> np.pci;
/* 3、5G外部信息中的TAC核查修正 */ SELECT nne.bts_name AS '网元名', nne.ex_gnb_id AS '5G外部基站ID', nne.ex_cell_id AS '5G外部小区ID', nne.ex_tac AS '外部配置TAC', np.tac AS '5G小区现网TAC', CONCAT( 'MOD NREXTERNALNCELL:MCC="460",MNC="00",GNBID=', nne.ex_gnb_id, ',CELLID=', nne.ex_cell_id, ',TAC=', np.tac, ';{', nne.bts_name , '}' ) AS '修正脚本' FROM nr_parameter_table AS np, nr_nr_ex AS nne WHERE nne.ex_gnb_id = np.gnb_id AND nne.ex_cell_id = np.cell_id AND nne.ex_tac <> np.tac;
/* 4、4G外部信息中的频点核查修正 */ SELECT nle.bts_name AS '网元名', nle.ex_enb_id AS '4G外部基站ID', nle.ex_cell_id AS '4G外部小区ID', nle.ex_freq AS '外部配置频点', lp.freq AS '4G小区现网频点', CONCAT( 'MOD GNBEUTRAEXTERNALCELL:MCC="460",MNC="00",ENODEBID=', nle.ex_enb_id, ',CELLID=', nle.ex_cell_id, ',DLEARFCN=', lp.freq, ';{', nle.bts_name , '}' ) AS '修正脚本' FROM lte_parameter_table AS lp, nr_lte_ex AS nle WHERE nle.ex_enb_id = lp.enb_id AND nle.ex_cell_id = lp.cell_id AND nle.ex_freq <> lp.freq;
/* 5、4G外部信息中的PCI核查修正 */ SELECT nle.bts_name AS '网元名', nle.ex_enb_id AS '4G外部基站ID', nle.ex_cell_id AS '4G外部小区ID', nle.ex_pci AS '外部配置PCI', lp.pci AS '4G小区现网PCI', CONCAT( 'MOD GNBEUTRAEXTERNALCELL:MCC="460",MNC="00",ENODEBID=', nle.ex_enb_id, ',CELLID=', nle.ex_cell_id, ',PHYSICALCELLID=', lp.pci, ';{', nle.bts_name , '}' ) AS '修正脚本' FROM lte_parameter_table AS lp, nr_lte_ex AS nle WHERE nle.ex_enb_id = lp.enb_id AND nle.ex_cell_id = lp.cell_id AND nle.ex_pci <> lp.pci;
/* 6、4G外部信息中的TAC核查修正 */ SELECT nle.bts_name AS '网元名', nle.ex_enb_id AS '4G外部基站ID', nle.ex_cell_id AS '4G外部小区ID', nle.ex_tac AS '外部配置TAC', lp.tac AS '4G小区现网TAC', CONCAT( 'MOD GNBEUTRAEXTERNALCELL:MCC="460",MNC="00",ENODEBID=', nle.ex_enb_id, ',CELLID=', nle.ex_cell_id, ',TAC=', lp.tac, ';{', nle.bts_name , '}' ) AS '修正脚本' FROM lte_parameter_table AS lp, nr_lte_ex AS nle WHERE nle.ex_enb_id = lp.enb_id AND nle.ex_cell_id = lp.cell_id AND nle.ex_tac <> lp.tac;


应用效果
a8c470a7b22cad549d90cc793c0977cd.webp


    以某个地市的现网数据为例:全网LTE小区共计26872个、NR小区共计11007个,4-4外部信息共计66903条、4-5外部信息共计68217条、5-4外部信息共计479664条、5-5外部信息共计354445条。

    4G 网络的 45G 外部信息核查修正共计花费 0.912 秒:

cc240350df3acf5d2b3d369df1bc4d52.webp

5G网络的 45G外部信息核查修正共计花费4.254秒

c72f2e4cf23e69fb3d123eba38480776.webp

在数据量更大的情况下,比如一次核查一个省的数据,可以在数据建模阶段对数据库表建立索引以提升核查速度。


网优苦短,我用Python


dcf357e5aeb58e107ee12689df8508ba.webp

53398c1c1f09071d2d89932eeba669dd.webp


网优小工具传送门

1ce894bee19098f681472c883c40b97f.webp

自动扩容

4G网优规划工具

同向最小站间距

4/5G新开站脚本制作

号码归属地查询

站间距计算工具

图片相似度核查工具

载频配置统计工具

活动保障

浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报