一种话单转换方法及话单转换系统的制作方法

文档序号:7715322阅读:151来源:国知局
专利名称:一种话单转换方法及话单转换系统的制作方法
技术领域
本发明涉及业务软件领域,具体的说,涉及一种话单转换方法及话单 转换系统。
背景技术
以往的话单转换中,需要针对一套话单转换需求,完整地编写一套相 应的话单转换程序代码,这样的做法很不通用,而且在实际应用中,也存
在着很大的问题,主要表现在
一、 开发效率低,处理原始话单文件及写目的话单文件的部分,代码 及功能都重复;
二、 版本太多,造成维护不方便,如果发现了某个转换方面的问题, 需要修改大量的版本及代码;
三、 程序复杂,如果刚开始学习这种话单转换方法的话,容易遗漏某 个文件处理的细节部分,并且开发人员水平的差异也会造成问题的出现。

发明内容
有鉴于上述背景,本发明提供了一种话单转换方法及话单转换系统, 能够高效、简便地实现话单转换。
为了解决上述技术问题,本发明采用了如下技术方案 一种话单转换方法,包含如下步骤
A、 抽取话单转换平台中的话单格式转换部分,配置转换脚本,以在所 述转换脚本中进行所述话单格式转换部分的执行处理;
B、 话单转换平台获取原始话单,根据格式转换需求调用所述转换脚本 以执行原始话单的格式转换,生成目的话单。
在上述方法的一种实施例中,所述转换脚本为awk脚本。在上述方法的一种实施例中,所述步骤B具体按如下步骤实现 Bl、获取原始话单,依次读取该原始话单中的所有4亍记录; B2、根据格式转换需求调用awk转换脚本;
B3、以行记录作为入参,运行所述awk转换脚本,依次将原始话单的 所有行记录转换为目的话单格式的行记录,由目的话单格式的行记录生成 目的话单。
在上述方法的一种实施例中,所述步骤B3中,awk转换脚本通过返回 成功或失败标识以标识话单转换成功或者失败,转换失败的话单记录被记 录到失败话单中。
在上述方法的一种实施例中,所述原始话单包括后缀名为r、 dat、 txt 的文本文件。
在上述方法的一种实施例中,所述转换脚本根据预设格式转换需求进 行模板配置。
在上述方法的一种实施例中,所述转换脚本4艮据格式转换需求现场配置。
在上述方法的一种实施例中,原始话单获取采用定时获:f又、分类存》文 方式进行。
本发明还公开了 一种话单转换系统,包括话单转换平台和转换脚本配 置模块,所述转换脚本配置模块用于配置转换脚本,以执行从话单转换平 台中抽取出的话单格式转换部分;所述话单转换平台用于获取原始话单, 根据格式转换需求调用所述转换脚本配置模块配置的转换脚本以执行原始 话单的格式转换,生成目的话单。
本发明通过将话单转换平台中的话单格式转换部分抽取处理,而单独 配置转换脚本来执行话单格式转换,从而可以简便、高效地实现话单格式 转换。


图l为本发明实施例的获取原始话单的流程示意图2为本发明实施例的利用awk脚本实现话单转换流程示意图3为本发明实施例的字段格式转换示意图;图4为本发明实施例的话单转换系统框图。
具体实施例方式
下面对照附图并结合具体实施方式
对本发明估文详细"i兌明。 本发明具体实施方式
的话单转换方法,其主要包含如下步骤
1、 抽取话单转换平台中的话单格式转换部分,配置转换脚本,以在所 述转换脚本中进行所述话单格式转换部分的执行处理;
2、 话单转换平台获取原始话单,根据格式转换需求调用所述转换脚本 以执行原始话单的格式转换,生成目的话单。
在步骤1中,首先抽^L话单转换平台中的话单^f各式转换部分,话单转 换平台作为执行话单转换的功能平台,可以通过话单转换软件的执行来实 现话单转换。在执行话单转换时,其最活跃的部分是其话单格式转换部分, 由于工程中具有各种不同的格式转换需求,因而常常需要根据实际格式转 换需求配置相应的话单转换程序。在本发明的实施例中,将话单格式转换 部分从话单转换平台中抽取出来,配置转换脚本,在转换脚本中执行话单 格式转换的处理。转换脚本配置,可以对实际工程的才各式转换需求进行综 合分析,预先配置出一个或多个模板类转换脚本,以执行常见的格式转换 需求,从而通过使用转换脚本模板而加快话单转换流程的执行速度;也可 以根据临时性的工程现场的格式转换需求,进行转换脚本的现场配置,以 适应工程现场的格式转换需求,在与模板场景类似的情况下,还可在模板 基础上进行配置,以加快脚本配置速度。转换脚本的模板配置和现场配置 使得脚本配置兼具通用性和灵活性。而后,话单平台通过调用配置的转换 脚本,执行话单转换。由于抽取出话单转换平台中的话单格式转换部分, 并加以脚本配置,从而使得话单转换平台的话单转换程序中的诸如文件读 取、写入等基本不变的部分无需重新编写,话单转换程序编译完成后,即 使需要进行新的格式转换,也无需重新编译话单转换程序,仅需修改转换 脚本即可。因而可以大大减少需要修改的部分,减少软件的编译次数和版 本数,提高开发效率,增加话单转换平台的可维护性。
话单格式转换部分是根据一定的运算规则对原始话单的行记录进行格 式转换,组合成新的文本行,在本例中,脚本配置采用awk脚本,awk脚本广泛应用在linux系统中,使用范围广,使用方式灵活,具有丰富的内 置函数,适合于处理行中的字段的各种组合运算及输出。
本发明的实施例,主要针对原始话单是文本文件的场景,文本文件包 括后缀名为"r"、 "dat"、 "txt"等的文件。下面示例性的描述了一段awk 转换脚本。 ;源文件目录1
sourcedirl= C: \zxinl0\cdr316ftpl0
sourcedirf iletypel=*. r ;源文件的类型,r是要处理的文件后缀 类型。
selectFi 1 terC脂-c: \zxinlO\selectcdr unSelectFi1terCDRl=c:\zxinlO\unselectcdr ;异常话单或异常的话单记录 exceptionCDRl=c:\zxinlO\except ioncdr ;该目录下的源文件用shell的哪一部分处理
shellsectl=0 ;调用的awk脚本文件固定为awk317. sh, shellsectl-O表示入参为0,代表传入awk317. sh脚本的入口参数为0。
awk317. sh脚本如下
BEGIN {FS=" I"; 0RS="\r\n"; 0FS-" |";}
if(ARGV[O] == T)
#sect=l时,以下为怎样在生成的记录中使用序号的示例 if (($0 — A I/) && length ($0) 〉=3)
SERIAL_N0+=1
SERIAL—N0_STR=sprintf("%06d", SERIAL—NO)
7print 0, SERIAL—NO_STR,ARGV
, substr($l, 1, 7),$1,$2
gsub("\r", "", $0) gsub("W', "", $0) print 1000, $0
else if(ARGV[O] == "2")
#sect=2时,以下为怎样在生成的记录中使用序号,及原样引用其 它字段的示例
if (($0 — A|/) && length, >=3)
SERIAL_NO+=l
SERIAL—NO—STR-sprintf ("%06d", SERIAL—NO) print 0, SERIAL—NO—STR,ARGV[O], substr($l, 1, 7)
6lS6
gsub("\r", "", $0) gsub("W', 11", $0) print 1000, $0
如图l所示,图1示例性的描述了原始话单的获取流程,包括步骤Sll,定时从FTP服务器1和FTP服务器2上取一种类型的话单 文件,该种类型的话单文件可以通过配置文件中的文件名通配符(例如*. r 文件表示所有后缀名为"r"的文件)来配置,才艮据文件名通配符取下文件 放到话单转换平台的本地目录1中;
步骤S12,定时从FTP服务器1和FTP服务器2上取另一种类型的话 单文件,该种类型的话单文件可以通过配置文件中的文件名通配符来配置, 根据文件名通配符取下文件放到话单转换平台的本地目录2中。
图1的示例展示的是一个话单转换的网络拓朴结构,在该结构中,话 单转换功能由本地的话单转换平台执行,而原始话单文件存储在远程的 FTP服务器中,通过FTP的文件传输协议,本地的话单转换平台可从FTP 服务器获取原始话单文件并存储在本地存储器中。这是一种集中式的话单 转换处理系统,当然也可以构成一种分布式的话单转换处理系统,即话单 转换功能平台与原始话单文件所在地(例如FTP服务器)集成在一起,直 接在原始话单所在地完成话单转换。
原始话单文件可存储在FTP服务器上,当然也可以存储在其他协议的 服务器上,并且,图1仅是示例性的描述了两个FTP服务器,但原始话单 文件并不限于仅存储在两个服务器上,也可以是存储在一个服务器上,或 者两个以上的服务器上。 一个FTP服务器上可以存储不同类型的原始话单 文件,在实际操作中,可以采用定时获取方式,例如通过设置定时器,在 定时器的定时时间到达,则访问FTP服务器(对于多个FTP服务器,可以 采用轮流访问方式),从FTP服务器获取原始话单后,采用分类存放方式存 放到本地存储器中,分类存放方式是针对每一种原始话单类型,话单转换 平台分别设置本地存储目录,在从FTP服务器取下原始话单文件后,可以 根据文件名通配符确定原始话单的文件类型,然后存储到相应的目录中, 例如上述的本地目录1或本地目录2。定时获取、分类存放可使原始话单 文件获取自动进行,并提高从本地获取原始话单文件的速度。
如图2所示,本发明具体实施例的利用awk脚本实现话单记录;f各式转 换的流程,包括
步骤S21,读取本地目录中的一个原始话单文件;原始话单文件为文 本文件。
步骤S22,打开该原始话单文件,读取文件中的一行记录;
9步骤S23,读取格式转换需求相应的awk转换脚本,以步骤S22读取 的行记录作为该awk转换脚本的函数入口参数(入参),运行awk转换脚本 进行话单转换;其中,可以通过awk转换脚本返回成功或失败的标识来通 知该4于i己录转^:成功或转:换失败。
步骤S24,如果转换成功,把转换成功的话单记录写入目的话单文件 中;如果转换失败,将转换失败的话单记录写入失败话单文件中。
如图3所示,具体的话单转换包括
在步骤S31和S32,对于待转换的原始话单的行记录,awk脚本按照分 隔符定义,根据行记录中的分隔符,把原始话单的行记录分隔为一个或多 个字段值SFieldl、 SField2、 SField3等;(分隔符默认为空格,也可以指 定为"I"等),而后,awk脚本的语法利用S51,S2,S3...这些字符来代表分 隔好的每个字段,awk脚本输出记录时,就是对这些字段进行组合和运算。
S33,话单转换平台加载并运行awk脚本,对格式进行转换,转换后输 出的字符串内容由awk脚本进行控制,输出的字符串即为目的话单的记录 格式;话单转换平台加载的awk脚本,可以是在话单转换平台配置文件中 配置的一个单独的awk脚本文件,也可以是在话单转换平台配置文件中配 置的一段符合awk语法的awk语句。
步骤S33的输出内容可以为
1) S32中字段的随意完整的组合;
2) S32中字段的随意截取和合并;
3) 非S32中字I爻的输出,也即可以输出常量的字符串及符号等;
4) 其它符合awk语法格式的运算符,函数调用,及语句输出。
其中,完整组合就是用原始话单格式中的完整字段进行组合,字段截 取和合并就是取部分字段或把取得的部分字段进行合并。
例如原来字段为1234|abcd|5678 输出字段可以为12345678labcd,即完整组合。 也可以为1256ablcd,即截取和合并。 甚至可以加上特别的常量及符号
如输出ztel234lzteabcdl910111 !9#5678。在步骤S34和S35,将目的话单格式的字符串DFieldl、 DField2、 DField3等形成目的话单格式的行记录,将目的话单格式的行记录写入到 目的话单文件中。
下面是一个话单转换示例,假设原始话单格式为112131415
目的话单需要取第1, 3, 5字段,也就是需要格式为11315
则需要写的awk脚本为
BEGIN {FS=" I"; 0RS="\r\n"; 0FS=" I";}
if(ARGV[O] == "0")
print $1,$3,$5
需要说明的是,在上文中以步骤的形式示出并描述了本发明方法实施 例的技术方案,这些步骤可以在诸如一组计算机可执行指令的计算机系统 中执行。虽然在相关的附图中示出了逻辑顺序,但是在某些情况下,可以 以不同于此处的顺序执行所示出或描述的步骤。另夕卜,在不冲突的情况下, 本发明的上述实施例及实施例中的特征可以相互组合。
如图4所示,本发明具体实施方式
的话单转换系统中,话单转换平台 42的话单格式转换部分被抽取出而由脚本配置模块41配置的转换脚本执 行,脚本配置模块41完成适应于不同格式转换需求的各种转换脚本的配 置;话单转换平台42获取原始话单41,根据话单转换需求从脚本配置模 块41中加载并运行对应的转换脚本,将原始话单转换为目的话单,其包括
行记录读取单元421,获取原始话单43,依次读取该原始话单43中的 所有行记录;
转换脚本运行单元422,从脚本配置模块41加载对应的awk转换脚本, 以行记录作为字符串入口参数,运行awk转换脚本,依次将原始话单43的所有行记录转换为目的话单格式的记录,由目的话单格式的记录构成目
的话单44。
综上所述,本发明利用话单转换平台加载awk转换脚本,而后读取本 地的原始话单文件,运行awk转换脚本,输出相应的目的结果格式,然后 话单转换平台把该结果记录格式写入目的话单中。通过从话单转换平台中 抽取出话单格式转换部分,结合awk脚本进行话单格式转换的方式来完成 原始话单格式到目的话单格式的转换。相比于原有技术,话单转换平台程 序可以保持不变,只需要配置转换awk脚本文件,转换脚本编写方式简单, 现场升级方便,并且提高了现场调试和维护的工作效率,也提高了现场的 灵活配置性及话单转换平台的稳定可靠性。
明,但这只是为便于理解而举的实例,不应认为本发明的具体实施只局限 于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本 发明构思的前提下,可以做出各种可能的等同改变或替换,这些改变或替 换都应属于本发明的保护范围。
1权利要求
1.一种话单转换方法,其特征在于,包含如下步骤A、抽取话单转换平台中的话单格式转换部分,配置转换脚本,以在所述转换脚本中进行所述话单格式转换部分的执行处理;B、话单转换平台获取原始话单,根据格式转换需求调用所述转换脚本以执行原始话单的格式转换,生成目的话单。
2. 如权利要求l所述的方法,其特征在于,所述转换脚本为awk脚本。
3. 如权利要求2所述的方法,其特征在于,所述步骤B具体按如下步 骤实现Bl、获取原始话单,依次读取该原始话单中的所有行记录; B2、根据格式转换需求调用awk转换脚本;B3、以行记录作为入参,运行所述awk转换脚本,依次将原始话单 的所有行记录转换为目的话单格式的行记录,由目的话单格式的行 记录生成目的话单。
4. 如权利要求3所述的方法,其特征在于,所述步骤B3中,awk转换 脚本通过返回成功或失败标识以标识话单转换成功或者失败,转换 失败的话单记录被记录到失败话单中。
5. 如权利要求1-4任一所述的方法,其特征在于,所述原始话单包括 后纟叕名为r、 dat、 txt的文本文4牛。
6. 如权利要求5所述的方法,其特征在于,所述转换脚4^艮据预设格 式转换需求进行模板配置。
7. 如权利要求5所述的方法,其特征在于,所述转换脚^艮据格式转 换需求现场配置。
8. 如权利要求1-4任一所述的方法,其特征在于,原始话单获取采用 定时获取、分类存放方式进行。
9. 一种话单转换系统,包括话单转换平台和转换脚本配置模块,所述 转换脚本配置模块用于配置转换脚本,以执行从话单转换平台中抽 取出的话单格式转换部分;所述话单转换平台用于获取原始话单, 根据格式转换需求调用所述转换脚本配置模块配置的转换脚本以执行原始话单的格式转换,生成目的话单。
10. 如权利要求9所述的话单转换系统,其特征在于,所述转换脚本为awk脚本。
全文摘要
本发明公开了一种话单转换方法及话单转换系统,所述方法包含如下步骤抽取话单转换平台中的话单格式转换部分,配置转换脚本,以在所述转换脚本中进行所述话单格式转换部分的执行处理;话单转换平台获取原始话单,根据格式转换需求调用所述转换脚本以执行原始话单的格式转换,生成目的话单。所述系统包括话单转换平台和转换脚本配置模块,所述转换脚本配置模块用于配置转换脚本,以执行从话单转换平台中抽取出的话单格式转换部分;所述话单转换平台用于获取原始话单,根据格式转换需求调用所述转换脚本配置模块配置的转换脚本以执行原始话单的格式转换,生成目的话单。本发明可以高效、简便地实现话单转换。
文档编号H04W4/24GK101651940SQ20091018989
公开日2010年2月17日 申请日期2009年9月4日 优先权日2009年9月4日
发明者魏霄鹏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1