王文涛,李玉行,姜涛
S1240交换机实时话务量统计的分析与实现研究
王文涛,李玉行,姜涛
(91033部队,山东青岛266000)
文章从S1240交换机话务统计日志分析着手,提出了一种根据话务统计日志自动分拣出话务量数据的方法,将话务量数据存入数据库中,实时显示在用户界面上,增加了对历史话务量数据的导入,实现对全部话务量数据的查询。
S1240;话务;统计
S1240数字程控交换机是自动电话网中常见的一种程控交换机,因其强大的话务处理能力、丰富的新业务功能以及优秀的稳定性,广泛应用于各汇接局及关口局,担负着重要的话务转接任务。本文从S1240交换机话务量统计分析着手,结合数据库技术,提出了一种对该型交换机话务量进行实时统计、实时显示以及存储、查询的方法,并通过Java编码实现其用户界面,方便交换机维护人员的监测及统计。
S1240交换机每一小时统计一次至各个直达局向的话务量,显示在交换机日志终端上,若要进行话务量实时统计,需要在交换机输出话务统计至日志终端时,从日志终端上提取话务量数据,并对各局向的话务量进行分拣,实时更新于用户界面上,并存储进数据库以便以后查询。
S1240交换机话务统计分入局话务量统计和出局话务量统计两个方面,入局话务量各参数意义如表1所示。
表1 入局话务量参数
出局话务量各参数意义如表2所示。
表2 出局话务量参数
在对话务量逐条分拣并存储至数据库后,就可以对话务量进行查询(根据局向或者统计时间等),从而根据某个局向的历史话务量,获得某局向的话务量统计数据。软件中增加导入历史话务量模块,通过手动导入交换机历史日志,将分拣出的历史话务量存储进数据库。
话务量处理软件分为五个模块,各模块功能如下:
1)话务量实时导入模块:该模块实现了实时采集交换机话务量统计数据功能。
2)话务量历史数据导入模块:该模块读取该日志终端中已经存储的话务量信息,在数据库中存储历史话务量数据,以便将历史话务量数据与当前话务量数据进行比较,更好地进行话务统计。
3)话务量实时显示模块:在话务设置为实时导入后,对实时话务量进行查询,并显示在终端上,话务量每小时统计一次,显示界面上每小时刷新一次。
4)话务量综合查询模块:通过该模块可以对话务量进行查询,获取某段时间或者某一局向的话务量信息,方便维护人员对话务量进行统计分析。
5)系统配置模块:在设计话务量处理系统时,增加一个配置文件,用来保存连接数据库的用户名、密码,话务日志目录等,使用ConfigFile类来实现,在软件目录下生成一个conn.ini文件,使用java系统类Properties实现对该文件的读取和写入等。
6)数据库模块:使用Mysql数据库对话务量进行存储和读取,数据库中包含三张表:分别为出局话务量统计表statistics_int;入局话务量统计表statistics_out;局向ID配置表alias。各表的设计如下:
入局话务量配置表如图1所示,其中ID为该局向名,Time为话务量统计时间,其余参数见表1。
图1 入局话务量配置表数据库设计图
出局话务量配置表如图2所示,其中ID为该局向名,Time为话务量统计时间,其余参数见表2。
图2 出局话务量配置表数据库设计图
局向ID配置表如图3所示,其中ID为各局向的标识名,Name为各局向的中文名,用来显示在界面上。Signal为各局向使用的信令方式:分为No.7信令和中国一号信令两种。Location区分该局为本地局还是长途局。
图3 局向ID配置表数据库设计图
软件模块总体结构如图4所示。
图4 软件模块总体结构
S1240交换机的日志文件经交换机生成后保存在日志维护终端硬盘上,每天对应于一个文件,该文件随着日志文件的增加不断写入。在设计话务量实时显示模块时,需要先找出当前日期对应的话务量文件,并对该文件每小时读取一次,找出该时刻对应的实时话务量,分拣后存储进数据库。
一个典型的话单日志文件如下:
所有话务量统计报告都以“ACTIVATE-TKGREPORT”字段开始,在读入文件后,首先对文件使用表达式进行匹配查找,寻找日志文件中“ACTIVATE-TKG-REPORT”字段。在找到该字段后按照话单日志输出格式读取这段话单日志中的话单产生时间,话单的详细内容等。相关部分代码如下:
String reg="\bACTIVATE-TKG-REPORT\b";
Pattern p=Pattern.compile(reg);
while((line=lnr.readLine())!=null)
{
Matcher m=p.matcher(line);
if(m.find())
{
line=lnr.readLine();
if(line.indexOf("PART 0001")!=-1)
{
line=lnr.readLine();line=lnr.readLine();
if(line.indexOf("R E S U L T S")!=-1)
{
handleTraffic(hour);
}
}
…………
}
在话务量读取完成后,需要将话务量存储进对应的数据库中,因为入局话务量和出局话务量参数不同,所以首先要对该话务量是入局话务量还是出局话务量进行判断,进而存入对应的数据库中。相关代码如下:
if(incout.equals("inc"))
{
//如果该字段为inc,则判断为入局话务量,写入入局话务量数据表。
String query="insert ignore into statistics_inc(ID, Time,Assgn,Avlb,Seiz,Answ,Occ,Convocc,Attlocal,Atttrans,Answlocal,Answtrans)values('"+traffic1[0]+"','"+trafficDateTime+"','"+traffic1[1]+"','"+traffic1[2]+"',"+"'"+traffic1[3]+"','"+traffic1[4]+"','"+traffic1[5]+"','"+traffic1[6]+"',"+"'"+traffic2[0]+"','"+traffic2[1]+"','"+traffic2[2]+"','"+traffic2[3]+"')";
//在执行SQL语句时使用了insert ignore,是为了防止数据库的重复写入。
try{
stmt.executeUpdate(query);
}catch(SQLException e){
e.printStackTrace();
}
}
else if(incout.equals("out"))
{
//如果该字段为out,则判断为出局话务量,写入出局话务量数据表。
String query="insert ignore into statistics_out(ID,Time,Assgn,Avlb,Seiz,Answ,Occ,Convocc,Callatt,Thrsw,Retries,Noansw,Congdist)values('"+traffic1[0]+"','"+trafficDateTime+"','"+traffic1[1]+"','"+traffic1[2]+"',"+ "'"+traffic1[3]+"','"+traffic1[4]+"','"+traffic1[5]+"','"+traffic1[6]+"',"+"'"+traffic2[0]+"','"+traffic2[1]+"','"+traffic2[2]+"','"+traffic2[3]+"','"+traffic2[4]+"')";
try{
stmt.executeUpdate(query);
}catch(SQLException e){
e.printStackTrace();
}
}
…………
在将话单信息写入数据库后,就可以对话单进行查询了。话单查询分为三种类型。
1)入局话务量实时查询,如图5所示。
图5 入局话务量实时查询界面
2)出局话务量实时查询,如图6所示。
图6 出局话务量实时查询界面
3)话务量自定义查询,如图7所示。
话务量自定义查询可以将入局话务量、出局话务量、局向名、查询时间作为查询条件进行查询,为维护人员进行网络优化提出参考依据。并可以将查询结果导出至Excel文件中。
图7 话务量自定义查询界面
文章从S1240交换机输出日志的分析入手,分拣出日志报告中的话务量数据,并存储进数据库,在界面上实现了实时话务量显示以及话务量历史查询功能,可以大大提高S1240交换机维护人员的话务统计效率,也为自动电话网的网络分析和机构优化提供了参考依据。
[1]上海贝尔公司.S12系统培训教材-统计测量[M].上海:上海贝尔公司,1999.
[2]上海贝尔公司.S1240操作与维护[M].北京:人民邮电出版社,1995.
[3]程峰,黄若波译.JAVA核心技术卷I:基础知识[M].北京:机械工业出版社,2005.
[4]高宏星.S12EC7.4版话务统计和接通率[J].电信技术,2003(3).
[5]陈浩.浅析S1240交换机的网络接通率[J].铁道通信信号,2003(10).
[6]叶卫民.程控交换机的维护与管理[J].西北电力技术,2004(6).
Analysis and implementation of S1240 real-time traffic statistics
WANG Wen-tao,LI Yu-xing,JIANG Tao
(Unit91033,Qingdao,Shandong,China266000)
This paper analyzes the S1240 switch traffic statistics log,presents an automatic traffic data statistical method and proposeshow to store the data in the databaseand display on theuser interface.Italso implements the importofhistorical traffic data to achieveaquery forall traffic data.
S1240;traffic;statistics
10.3969/j.issn.2095-7661.2016.01.001】
TN915.05
A
2095-7661(2016)01-0001-04
2015-11-15
王文涛(1968-),男,吉林九台人,91033部队总工程师,高级工程师,本科,研究方向:有线通信。