通用数据文件转换方法 技术领域
本发明涉及一种电信领域中通用数据文件的转换方法。
背景技术
由于我国地域广阔,各个地区发展情况不一,分布在各个地区的交换机类型有几百种,如S1240、EWSD、爱立信、HJD04、ZXT10、C&C08等等。其中同种类型交换机的版本参差不齐,每种类型交换机的不同版本所生成的话单文件格式也各不相同,要识别不同格式的话单格式文件,早期的计费采集系统对各种不同类型交换机需做一套采集程序,用不同的程序对不同格式话单文件进行处理,造成计费采集系统程序庞大,不易维护、升级困难等等问题。话单文件格式的多样性一直是困扰电信运营商一大问题。
原始话单格式的多样性,是目前电信系统普遍存在的问题,要想从交换机端彻底解决问题,希望交换机厂家按照统一的标准格式提供话单,在目前几乎是不可能的,原因如下:
●首先目前交换机行业内没有统一的话单格式标准。各交换机生产厂家都遵循自己认可的标准。
●另外交换机统一升级成本过高。话单格式更改,相应的交换机程序要更改,势必要收取价格不菲的升级费用。更极端的是有些小型交换机,生产厂家已不复存在了,升级更是无从谈起。因此统一升级几乎是不可能的。
发明内容
本发明是为了克服现有技术中的不足之处,提供一种将交换产生的各种格式话单文件统统转换成任意格式的系统和方法。
本发明通过下述技术方案实现:
一种通用数据文件转换方法,包括下述步骤:
(1)通用数据文件描述单元将可描述的转换数据文件用数据输入格式文件描述出来,并将数据文件描述信息数据保存到数据库;所述数据输入格式文件描述希望转换成的输出文件格式,以及希望转换前后对输入和输出文件进行简单分发的分发信息;
(2)通用数据文件转换单元将数据输入格式文件的描述解析,将数据输入格式文件数据翻译成中间状态,再根据输出文件描述,将中间状态数据转换成输出格式数据,写入输出文件,生成数据输出格式文件即完成了从输入到输出文件地转换。
所述通用数据文件转换单元完成从数据输入格式文件到输出格式文件的转换,包括下述步骤:
(1)将数据输入格式文件的数据流中符合分发条件的输入数据流输出到分发数据流中,写入分发数据文件中;
(2)对不符合分发条件的数据流判断是否在输出配置中需要运算;如果需要运算,则输出域进行运算,之后执行步骤(3);如果不需要运算,则执行步骤(3)
(3)将输出内容转换成中间字符串状态;
(4)判断输出内容是否符合分发条件;
(5)如果符合分发条件,则符合分发条件的输出数据流输出到分发数据流中,写入分发数据文件中;如果不符合分发条件则写入输出格式数据流中,最终写入输出数据文件中。
完成从输入到输出文件的转换后,通用数据检测单元将转换后的文件按照通用数据描述单元中描述的输出格式拆分,并转换成ASCII码,分列显示。
所述数据库有权限控制。
本发明具有下述有益效果:
(1)安全可靠。本发明提供严格的权限控制,有效避免了不相干人员误操作而引起的配置信息丢失、误改等问题。
(2)易学易用。提供友好的人机界面,只需简单培训即可学会使用。
(3)成本低廉。由于本发明中数据文件格式是可描述的,任意新增类型或更改配置类型更改配置描述即可,不需更新版本。只需一次性投资,为电信运营企业每年庞大的维护费用中省下一笔不小的开销。
(4)维护方便。所有数据处理都是通过同一模块处理的,同样的业务处理能力代码维护量最小。
附图说明
图1为通用数据文件转换方法的示意图;
图2为通用数据文件转换系统工作流程图;
图3为通用数据转换文件单元工作流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
通用数据转换方法示意图如图1所示,需转换的文件经本通用数据文件转换方法转换成需转换文件的最终模样。
通用数据转换系统工作流程图如图2所示,通用数据描述单元将需要转换的数据文件进行描述,生成数据输入格式文件,数据输入格式文件经通用数据转换单元转换成数据输出格式文件。为了检验转换的准确性,转换后的输出格式文件需要经过通用数据检测单元的检测。
●通用数据文件描述单元将需要转换的数据文件进行描述,生成数据输入格式文件:
通用数据文件描述单元,提供完善、友好的人机界面,按照界面提供的提示信息将数据文件描述出来。通用数据转换是完全依赖输入、输出文件格式描述来实现的,因此描述文件格式信息相当重要,任何不合理的改动都会影响到数据转换的正确性。为保证文件描述信息可靠性,本方案数据文件描述信息数据都保存到数据库。数据库有严格的权限控制,数据文件描述信息安全性得到保证。这里用到的数据库类型可为oracle、informix、sybase、access等等,不受限制。即本方案提供数据库中间件。用户不必理会数据库类型。
所有需要通用数据文件转换方法转换的文件,必须经过通用数据文件描述单元描述。所谓描述主要分为:
1.文件整体信息,必填项。文件类型、文件头、尾信息、块信息、文件填充字符等信息。
2.文件源信息,必填项。就是前面提到的输入数据。将输入数据的数据类型、数据格式、分割字段的长度等信息按照界面提示信息描述出来。
3.文件目的信息,必填项。就是前面提到的输出数据,将输出数据的数据类型、数据格式、字段长度、输出数据来源,(某段输入数据、某几段数据简单加、加、乘、除运算所得、固定值)等信息详尽描述出来。
4.文件分发信息,为可选项。根据上面描述的输入、输出项作为分发条件比较内容,比较方式包括比较整个比较内容、比较部分比较内容、比较内容长度等,比较算法包括等于、不等于、大于、小于等。根据比较内容、比较方式、比较算法的各种组合,描述文件分发信息,最后转换到需要的文件中去,不符合文件分发条件的数据写到配置描述的输出数据格式写到输出文件中,即目的文件中。
通用数据文件描述单元将各种类型的文件信息描述出来,是后续的转化模块的基础,只有描述的信息准确、详尽,转换单元转换出的数据文件才准确、无误。
●通用数据文件转换单元将数据输入格式文件转换成数据输出格式文件:
通用数据转换单元是本发明的核心部分。通用数据文件转换单元将输入格式文件的描述解析,将输入格式文件数据翻译成中间状态,再根据输出格式文件描述,将中间状态数据转换成输出格式数据,写入输出格式文件。需特别指出的一点,因为电信领域交换机话单的特异性,很多输出信息,并不能有输入项一一对应得到,而是根据某些算法组合获得输出数据的,本案的通用数据转换单元可实现输入数据与输入数据间、输入数据和固定值间的简单计算,从而得到输出数据,最终完成了从输入到输出文件的转换。
通用数据文件转换单元的工作流程如图3所示,将数据输入格式文件的数据流中符合分发条件的输入数据流输出到分发数据流中,写入分发数据文件中;对不符合分发条件的数据流判断是否在输出配置中需要运算;如果需要运算,则输出域进行运算,之后将输出内容转换成中间字符串状态;如果不需要运算,则直接将输出内容转换成中间字符串状态;判断输出内容是否符合分发条件;如果符合分发条件,则符合分发条件的输出数据流输出到分发数据流中,写入分发数据文件中;如果不符合分发条件则写入输出格式数据流中,最终写入输出数据文件中。
所有输入文件对于通用数据文件转换单元来说都是一样的,不同的只是不同文件的配置不同。配置分为四部分,结合交换机产生话单介绍四部分描述功用。
1.文件整体信息。根据文件整体信息将输入文件分割成数据流(或称为输入记录),举个例子如交换机话单文件,根据配置信息,将交换机话单文件分割成一条话单。
2.源文件信息。输入数据流又可根据源文件输入数据描述再分割为更小的域,如交换机一条话单中包含主、被叫等域,将主、被叫号码的信息描述出来,包括:
●数据类型
●数据类型描述
●偏移
●长度
源文件信息中配置的信息可完全根据源文件中的信息,逐个域描述列出,也可省略其中的某个域,如何取舍是根据选择第一条文件整体信息中的文件类型来决定的,有域偏移、域长度的文件,可选择输入域描述,只列出有用的域。总之取舍原则是最终输出要根据输入中配置的信息获得输入域的值。
3.目的文件信息。输出文件最终也是由一个个输出域不同来分割的,输出域的来源有很多:
●可以来源于输入数据源,如输出话单中的主叫号码来源与输入话单中的主叫号码。
●可来源于输入的几个域,通过输入的几个域简单计算得到输出。如输出话单中的通话结束时间来源于输入话单中的通话开始时间和通话时长计算所得。
●可来源于固定值信息,输出域不绑定输入直接根据某些常量、或常量的简单运算所得。
根据输出数据的来源不同,本单元将输出数据来源转换成中间状态字符串格式,再根据输出文件描述描述的输出域的数据类型、类型描述、偏移、长度将中间状态字符串转换成输出配置的信息,写入到输出数据流中,最终写入输出数据文件中。
如交换机话单中一条记录中的主、被教号码,根据它们的偏移、长度取出主、被叫号码,再根据主、被叫号码的数据类型,数据类型描述将主、被叫号码转换成中间字符串状态,再根据输出配置数据类型、数据类型描述,将主、被叫号码按照输出描述的偏移、长度写入输入话单中。
4.分发信息。文件分发信息根据转换的需求不同可选择设置,如果转换过程中希望根据某些条件将文件进行分流,或不需用的数据不需转换等等,单一的数据转换是不能完成上述需求的。如电信领域的计费系统,希望通过本系统和方法将不是本地区的话单统统剔掉,不作计费处理,就可通过文件分发信息描述处理,本单元在输入数据到输出数据转换之前进行文件分发条件检测,满足条件的文件写入分发文件中,不需分发的文件写入最终配置文件中,如果配置了文件分发信息,最终生成的文件除了输出格式配置文件,还将有分发的N个文件,分发文件的格式可以是输出格式文件、也可为输入配置格式文件,哪种文件格式也是在文件分发信息中配置描述的。
如某种话单文件,文件信息中包含两种类型话单,希望将其中一种类型话单分发到不同与配置输出的另一个文件,分发的条件就是话单类型标识,就可在分发条件中描述,满足该条件的话单记录都分发到指定文件后缀的文件中,不符合该类型标识的话单写入标准话单文件中。
●通用数据文件检测单元检测转换后的文件的准确性:
所有通用数据转换单元转换的文件都可通过本单元检测,所谓检测是将转换后的文件临时生成直观的文本文件,供使用者核实转换的结果是否正确。将各种格式的文件转换成文本文件,其原理同上述转换单元,将文件的输出描述作为本单元的输入描述,输出描述默认为ASCII码字符串格式,按照通用数据描述单元中描述的输出域切分文件,分列显示。
综述本发明三个单元的描述可以看出,通用数据文件转换方法实现了文件输入到输出的任意转换,转换的依据是通用数据文件的描述,根据描述的信息将数据文件转换。除了提供必要的描述、转换单元外,本发明还提供的验证单元,通过通用数据文件检测单元检测验证转换结果。