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

共 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新开站脚本制作


号码归属地查询


站间距计算工具


图片相似度核查工具


载频配置统计工具


活动保障


浏览 111
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报