网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

利用SQL语句提取网络优化所需数据

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员为需要朋友们搜集整理了利用SQL语句提取网络优化所需数据相关资料,希望对各位网友有所帮助!


    语句提取网络优化所需数据利用SQL语句提取网络优化所需数据
    (南阳分公司网络部陈飞)从事网络优化的同行可能深有体会,在实际网络优化工作中,网优工具的运用对于网络运行数据的提取和分析甚至提出问题的解决方案都起着非常重要的作用。在网络优化工具中,最基本的工具就是直接利用网管提供的SQLplus界面,自己编写SQL语句,提取网络优化中所需的各种数据。下面笔者就编写SQL语句的心得体会,介绍如何利用SQL语句提取网络优化所需的数据。要自己编写SQL语句,必须首先了解好网管中的表、所需数据的计算公式和SQLplus语法。BSC、MSC、HLR、配置、告警等的测量报告在网管中都是以表的格式存储的,每张表都有自己的名字,表的内容包含列名和对应的数据,我们就是要从这些表中通过不同的公式组合来取出我们需要的数据,值得注意的是,由于网管的容量有限,网管中只保存最近一周的数据,我们也只能从网管中提取最近一周的数据。网管中表的命名具有一定的规律性,比如表p_nbsc_load,p表示该表是记录网络性能数据的,nbsc表示该表是关于bsc的测量数据,load表示该表是关于负荷的数据,从表的名字我们可以看出,此表是关于bsc的负荷性能的测量报告。常用的表可以归结为4类,分别是性能表、配置表、故障表和网络元素表。上面的例子就是一张性能表,这些均以p开头,下划杠后面紧跟着网络元素对象,常见的有nbsc、msc、hlr等,紧跟着下一个下划杠
     后面是性能类别,比如话务量、负荷、资源可用性等。性能表的例子如下:p_nbsc_trafficp_nbsc_loadp_nbsc_hop_msc_vlr_lap_msc_vlr_subscp_msc_hop_hlr_loadp_hlr_subs_vlr配置表的表名以c开头,主要记录网络当前的参数配置情况,比如c_bsc,c_bts,c_handover_control,c_power_control,c_adjacent_cell,c_trx等,分别记录BSC、BTS、HO、PC、ADJ、TRX的参数配置情况,注意由于网管有时候更新不及时,在提取这些参数时,需要先在网管上做UPLOAD,以便配置参数与现网保持一致。故障表以f开头,主要记录有关网络的告警,比如f_cause、f_waf_lock等分别记录网络的不同告警。网络元素表主要有objects,主要记录网络的各个元素,包括HLR、MSC、BSC、BCF、BTS等。对于我们编写SQL语句来说,弄清表的列名和数据类型是非常关键的。表的列名和数据类型可以利用Reflection软件的在线字典功能查看。下面是表p_nbsc_load的列名及数据类型。
     对于BSS的测量报告,表的列名及描述可以参考下面文件:
    BSC测量描述.pdf
    对于表的内容,还以p_nbsc_load为例,内容如下:
    在了解清楚表的数据格式和内
    容后,就需要了解所需的计算公式,计算公式可以从省公司下发的考核指标定义中获取,其他也有一些NOKIA公司定义的公式。下面的文件是关于BSC测量的一些计算公式,供参考。
    BSSNetworkDoctorformulas_v2.pdf
     SQLplus的学习可以参考相关的书籍,书市上有很多关于SQL的书籍,联系到网管的实际应用,建议选择专门的SQLplus的书籍查看,这样可以更好的了解在网管环境下SQL关键字的作用。常用的SQL语句的格式如下:select***from***where***having***groupby***orderby***select后面跟的是所需要提取的数据,可以有多列,彼此之间用逗号隔开;from后面跟的是数据的来源,很多时候,所取的数据来源于多个表,就需要把所用到的表依次罗列,彼此用逗号隔开;having后面跟的是提取数据的条件;groupby后面跟的是所取的数据以什么样的条件分组;orderby后面跟的是所取的的数据以什么样的顺序排序。除了上面的关键字外,常用到的关键字还有:desc、decode、substr、to_char、sum、avg、max、min等,分别对应不同的作用。1:tochar
    转换函数?TO_CHAR″使用TO_CHAR函数处理数字TO_CHAR(number,'格式')TO_CHAR(salary,’$99,999.99’);使用TO_CHAR函数处理日期TO_CHAR(date,’格式’);TO_NUMBER″使用TO_NUMBER函数将字符转换为数字TO_NUMBER(char[,'格式'])TO_DATE″使用TO_DATE函数将字符转换为日期TO_DATE(char[,'格式'])数字格式格式″是把日期或数字转换为字符串
    todate是把字符串转换为数据库中得日期类型
     9代表一个数字0强制显示0$放置一个$符L放置一个浮动本地货币符.显示小数点,显示千位指示符″日期格式格式控制描述YYYY、YYY、YY分别代表4位、3位、2位的数字年YEAR年的拼写MM数字月MONTH月的全拼MON月的缩写DD数字日DAY星期的全拼DY星期的缩写AM表示上午或者下午HH24、HH1212小时制或24小时制MI分钟SS秒钟SP数字的拼写TH数字的序数词“特殊字符”假如特殊字符HH24:MI:SSAM15:43:20PMDD“OF”MONTH12OFOCTOBERDDSPTHfourteenthDate的格式’18-5月-84’2:DESC是descend降序意思asc是ascend升序的意思
    3:
    指令—SQL指令—SUBSTR
    SQL中的substring函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:
    ???
    MySQL:SUBSTR(),SUBSTRING()Oracle:SUBSTR()SQLServer:SUBSTRING()
    最常用到的方式如下(在这里我们用SUBSTR()为例):
     SUBSTR(str,pos):SUBSTR(str,pos)由中,选出所有从第位置开始的字元。请注意,这个语法不适用于SQLServer上。SUBSTR(str,pos,len):选出接下去的个字SUBSTR(str,pos,len)由中的第位置
    开始,元。假设我们有以下的表格:
    Geography表格
    region_namestore_nameEastEastWestWest例1:SUBSTR(store_name,SELECTSUBSTR(store_name,3)FROMGeographyWHEREstore_name='LosAngeles';BostonNewYorkLosAngelesSanDiego
    结果:
    'sAngeles'例2:SELECTSUBSTR(store_name,2,4)FROMGeographyWHEREstore_name='SanDiego';
    结果:
    'anD'
    下面以例子来说明SQL语句的编写。例一:提取LAC区每天的最大用户数。在以往的常见网优工具中,很少有网优工具能够直接提取LAC
     的用户数,然而这一数据在做LAC区规划时是非常重要的。从相关的网管表和公式中可以了解到表p_msc_vlr_la中的ave_subsc_in_la列中的数据就是每小时的LAC的用户数,从一天24小时的每个LAC的用户数中取最大值,就为每个LAC区的最大用户数。表p_msc_vlr_la的内容如下:
    表p_msc_vlr_la中的int_id为LAC所属的MSC在网管中的int_id号。所编写的SQL语句如下:
     select语句中的to_char的作用是将网管中的日期/时间格式进行转化,转化后做为取LAC区用户数最大值的分组条件;to_char(t.period_start_time,'yyyymmdd')date1中的date1做为所取数据to_char(t.period_start_time,'yyyymmdd')的列名,两者之间用空格隔开,后面的其它列名和表名也是同样的道理;substr(o.name,1,6)msc是提取MSC的名称;t.loc_arealac是提取LAC区的代号;max(t.ave_subsc_in_la)是提取每个LAC区的最大用户数。From语句中除了p_msc_vlr_la表外,又使用了表objects,主要是因为表p_msc_vlr_la中只有MSC的网管int_id号,没有MSC的名字,这样不便于辨别MSC,而表objects中同时有MSC的名字和MSC在网管中的int_id号,这样就可以利用int_id号的对应来提取MSC的名字。Where语句中不同的条件之间用and隔开,o.int_id=t.int_id是将两个表的MSC的int_id相对应,以便提取MSC名字,substr(o.name,1,5)='NYMSC'限定只提取南阳的数据;t.loc_area<>0限
     定只提取在现网中运行的LAC,t.period_start_time>=to_date('&;&;start_time','yyyymmddhh24')限定提取数据的开始时间,t.period_start_time<=to_date('&;&;end_time','yyyymmddhh24')限定提取数据的结束时间。Groupby决定提取数据的结果如何分组;orderby决定提取的结果显示时如何排序。提取的结果如下:
    例二:提取LAC区每天的最大话务量。同LAC区的用户数一样,LAC区每天的最大话务量也是做LAC规划是需要参考的重要数据。
     编写的SQL语句如下:
    上面语句的编写思路是首先提取每个LAC的24小时的话务量,然后再从中提取24小时中的最大话务量。SQL语句允许重复套用,即可以中第一次提取的结果中再次提取数据。提取
    的结果如下:
    例三:提取小区每天的最大话务量。
     小区的每天的最大话务量做为小区容量规划和优化的重要原始数据,在日常优化中起着重要的作用。SQL语句如下:
    提取结果如下:
     注意:此语句的好处是根据输入时间的不同,可以连续提取多日的小区的最大话务量,这为日常优化节省了很多时间。在SQL语句编写好以后,利用FTP软件上传到自己的目录下,以后就可以直接提取了。上传的格式如下:
     总之,利用自己编写的SQL语句提取一些日常优化中所需要的数据,大大的提高了工作效率。下面附上所编的SQL语句,供参考。
    sql语句及解释.rar
    
    
  • 下一篇资讯: 删除数据的sql语句
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师