简易局用程控交换机数据预处理系统

2016-08-18 20:25张帆李佳琦
电脑知识与技术 2016年19期

张帆 李佳琦

摘要:局用程控交换机是计算机按预先编制的程序控制接续的自动交换机,全称存储程序控制交换机。该系统实现功能如下:主要对局用程控交换机的二进制磁带卸载数据,按照规定格式要求,转化成标准ASCII码格式校验并以文本形式输出,经过内存排序,提供给后续计费模块处理。结果验证了系统控制方案的可行性和正确性,并对系统算法进行分析与改进。系统具有很强的推广价值及实际工程应用前景。

关键词: 程控交换机;码制转换;数据排序 ;数据校验 ;快速排序 ;日志处理

中图分类号:U442 文献标识码:A 文章编号:1009-3044(2016)19-0249-01

Simple Conversion SPC Exchange Data Pretreatment System

ZHANG Fan, LI Jia-qi

(College of Information Engineering, ChangAn University, Xi'an 710021, China)

Abstract:Bureau of PBX is the preprogrammed computer program control in automatic exchange, the full name of stored program control switches. This system realizes the function is as follows: mainly to the public line SPC exchange of binary tape uninstall data, format requirements, in accordance with the relevant provisions into standard ASCII format validation and output in the form of text, sort through memory, for subsequent billing module processing. Results verify the correctness and feasibility of the system control scheme, and algorithm of the system were analyzed and improvement. System has a strong promotion value and the actual engineering application prospects.

Key words: bridge; SPC exchange; code system conversion; data sorting; data validation; quick sort

1 引言

程控交换机在人们日常生活中起着重要的作用。本系统主要针对二进制磁带上卸载下来的数据进行一系列预处理,从而方便后续计费模块进行分析。预处理包括将分离BCD码转换成ASCII码(码制转换),转换后的数据按照给定三种关键字进行排序(数据排序),排序后的数据针对不合理情况进行排错处理(数据校验),对之前进行的每一步工作实现日志记录(日志处理)。

2 系统实现原理

2.1 码制转换

结合实际情况,BCD码具有存储空间小,且能满足系统基本要求。所以在程控交换机系统中,数据在磁带上以BCD码格式进行存储。而实际之后由计算机进行数据处理时,ASCII码格式更为通用简便直接。则存在一个将BCD码转换成ASCII码的过程,实现方法是通过移位运算和与运算实现。

具体转换过程如下:首先得到初始存储BCD码的文件,然后根据BCD码格式的存储特点,首先通过移位运算和与运算将各个位分离出来,得到之后在和0x30做或运算,可得到相对应ASCIi码。例如:将BCD码格式的”0x27”转换成ASCII格式字符。过程如下:将0x27和0x0f做与运算,分离到最后一位0x07,再将0x27右移四位,得到数据再次与0x0f做与运算,分离得到前一位0x02,此时可将各个位分离出来。分离之后得到的数据,将其和0x30做或运算,可得到0x32,0x37。即转换后的ASCII字符。

2.2 数据排序

结合具体情况,并考虑到计费简便处理时,因此将数据按照第一关键字为主叫号码,第二关键字为日期,第三关键字为呼出时间的顺序进行排序,并将排序后的数据存放到同名文件中。考虑到排序数据具有杂乱无序,关键字为三种的特性,且快速排序适应于这种情况,平均时间复杂度为O(nlogn),则相比于冒泡排序的低效率,使用快速排序算法实现。且快速排序算法的时间复杂度和空间复杂度有相比如冒泡排序算法具有更大优势,所以选择快速排序算法。由于使用快速排序算法需将排序数据存放在内存中,则考虑到数据量大小的问题。实际检测时发现数据量最大为356M,栈上空间不足,则在堆上申请内存空间。使用完毕后,由程序员释放内存。

2.3 数据校验

程控交换机系统后续工作是基于之前硬件处理实现的,则在实际处理过程中有可能出现各种不合法的数据,因此有必要对数据进行数据校验工作,删除不合法的数据。具体原则如下:

a. 主叫号码少于7位

b. 被叫号码少于3位

c.结束时间小于开始时间

d. 文件结尾的残缺数据

具体实现方法如下:将各个数据读取到内存中,按照以上原则进行判断,保留合法数据,删除非法数据。

2.4 日志处理

日志一般是指存储软件程序、服务或操作系统产生的消息记录的文件。本功要对用户进行的所有操作进行记录并显示。每条日志需要有操作类型、结果、开始时间、结束时间等内容。本系统实现日志处理,方便用户以后查看日志并进行分析。

具体实现方法为:在之前上述操作时,对于每一步操作,进行日志记录,实现对功能的及时记录,之后有记录可查。

3 结论

本文所述的简易局用程控交换机系统基本实现了将磁带上卸载的二进制数据做一系列处理,方便后续计费模块操作的功能,也基本完成全部功能模块。首先将BCD码转换成易处理的ASCII码,考虑到数据的特点,选择了合适的数据排序算法。之后对数据的合法性进行了校验。在这个过程中,每一步操作都有对应的日志处理。