CN101076055A - 话单格式转换的方法 - Google Patents
话单格式转换的方法 Download PDFInfo
- Publication number
- CN101076055A CN101076055A CN 200710112779 CN200710112779A CN101076055A CN 101076055 A CN101076055 A CN 101076055A CN 200710112779 CN200710112779 CN 200710112779 CN 200710112779 A CN200710112779 A CN 200710112779A CN 101076055 A CN101076055 A CN 101076055A
- Authority
- CN
- China
- Prior art keywords
- field
- ticket
- source
- type
- cdr file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种话单格式转换的方法,其可以包括以下步骤:步骤1,分别定义源话单字段结构体和目的话单字段结构体;步骤2,按照源话单字段结构体和目的话单字段结构体的配置信息生成源话单字段集合和目的话单字段集合;步骤3,按照源话单字段集合逐一解析源话单记录的每个字段的值;步骤4,按照目的话单字段集合对目的话单中的字段进行赋值;以及步骤5,按照字段顺序将目的话单集合中的字段值写成话单记录,完成话单格式转换。从而,缩短了整体开发周期,提高了开发维护效率。
Description
技术领域
本发明涉及电信数据通信计费领域,更具体地,本发明涉及一种话单格式转换的方法。
背景技术
在目前的电信和数据通讯计费领域中,计费系统是一个必需的运营系统,也是一个比较敏感和关键的系统,该系统的高稳定性和高可靠性直接影响运营商业务的开展和收入,也涉及到众多用户的经济利益。
然而,大型的通信数据网络往往由多个计费子系统构成,不同的计费子系统都会产生自己的话单文件,而生成的话单文件格式都是各个计费子系统本身定义的,没有统一的话单文件格式,有的话单文件采用自定义的分隔符以标识不同的字段,有的话单文件则采用固定长度来确定每个字段,当涉及到不同的计费子系统进行话单交互时,或者从每一个计费子系统到大型统一计费系统的话单传递时,必须进行话单文件格式的转换。即使是计费子系统本身,由于不同业务的特点也不一样,不同业务的计费需求和计费依据也往往不同,针对不同业务产生的使用话单记录的格式也不一致,在与其它计费系统进行话单交互时,也涉及到要将本计费子系统话单格式转变成其它计费系统需要的话单格式。
目前,实际使用过程中,采用的传统处理方法都是根据源话单格式和目的话单格式开发一个话单转换工具,按照源话单格式的定义文档对源话单文件进行解析,分析出源话单文件的每一个字段值,再按照目的话单文件格式的定义文档对应查找每一个字段与源话单文件字段的对应关系,将源话单文件的字段值写到目的话单文件的对应字段中,形成转换后的目的话单文件。
虽然具体源话单格式和目的话单格式的话单转换工具实现起来并不是很复杂,但最为明显的缺点是,由于话单转换,涉及到源话单和目的话单两种格式,一旦源话单格式或者目的话单格式有变化,即使是很细小的变化,话单转换工具就必须针对话单格式的变化作相应的源码变化以不同适应话单格式的改变。话单格式的经常变化也会造成话单转换工具的经常变化,并产生多个互不兼容的话单转换工具版本,给话单转换工具软件的开发维护增加了难度和复杂度。
现在的话单转换处理方法还有一个明显的缺点就是对文档的依赖性太大,必须等到文档确定后才能够进行对应的开发处理,在开发完毕后还需要和两个计费系统进行联调才能验证其正确性,这样的开发处理流程很大地限制了计费系统间的联合使用进程,一个话单转换工具对应两份固定的文档,开发、使用、维护都很不方便。如图1所示,示出了现有技术中的话单转换工具的开发流程。
鉴于上述问题,急需一种对话单记录字段采用配置的方式灵活实现话单文件格式转换的方法。
发明内容
为了解决上述现有技术中的问题,本发明提供了一种话单格式转换的方法,其能够减少话单转换工具的重复开发工作和提高话单转换工具的开发维护效率,将话单转换工具的开发流程提前,减少对文档的依赖性。
本发明的方法利用修改配置实现从源话单转换到目的话单,只需要按照源话单格式和目的话单格式的文档修改对应的配置文件,就可以用同一个话单转换工具实现话单间的自由转换,大大地提高了话单转换工具开发效率和降低了维护的难度。
本发明的话单格式转换的方法可以包括以下步骤:步骤1,分别定义源话单字段结构体和目的话单字段结构体;步骤2,按照源话单字段结构体和目的话单字段结构体的配置信息生成源话单字段集合和目的话单字段集合;步骤3,按照源话单字段集合逐一解析源话单记录的每个字段的值;步骤4,按照目的话单字段集合对目的话单中的字段进行赋值;以及步骤5,按照字段顺序将目的话单集合中的字段值写成话单记录,完成话单格式转换。
步骤1包括以下处理:对源话单文件及目的话单文件中的字段进行类型定义,其中,类型包括:字符串类型、数字类型、时间类型。
步骤2包括以下处理:对源话单文件的字段进行按字段顺序编号;定义源话单文件的分隔符或每个字段的固定长度;对目的话单文件的字段进行按字段顺序编号;定义目的话单文件的分隔符或每个字段的固定长度及缺省值;以及定义目的话单文件的字段编号与源话单文件的字段编号的对应关系。
步骤3包括以下处理:从源话单文件中读取整行话单记录到字符数组中;根据分隔符或每个字段的固定长度,为每个字段取值;以及判断字段的类型,其中,如果字段的类型为字符串型,则直接拷贝赋值;如果字段的类型为数字型,则直接采用转换函数进行转换赋值;如果字段的类型为时间类型,则按照字段定义的时间格式进行赋值。
步骤4包括以下处理:按照目的话单的字段顺序进行顺序处理;判断字段是否包含逻辑组合关系,如果不包含逻辑组合关系,则进行以下处理:判断字段是否有对应的源字段序号,其中,当字段具有对应的源字段序号时,取源话单记录对应的源字段进行处理,否则,取目的话单中字段的缺省值进行处理;以及判断字段的类型是否为字符串型或数字型,如果是,则直接采用赋值的方式进行处理,否则,字段的类型为时间类型,按照字段定义的时间格式进行赋值;如果包含逻辑组合关系,则按照字段的源序号对应的逻辑关系进行对应的逻辑关系处理,对所涉及的源字段序号的字段的对应值和逻辑关系中带的常值,按照逻辑关系组合成新的字段的值。
步骤5包括以下处理:判断目的话单是否具有分隔符,如果具有分隔符,则进行以下处理:输出字段值;以及判断是否为最后一个字段,如果不是最后一个字段,则输出分隔符,否则结束;如果不具有分隔符,则按照配置的字段的宽度进行输出。
其中,每个字段的编号是唯一的,以及目的话单文件的每个字段与源话单文件中的一个或多个字段相对应。
因而,本发明利用配置实现话单灵活转换,不仅可以减少开发计费系统的软件企业在开发话单转换工具时进行的重复工作,而且可以将话单转换工具的开发流程提前,减少话单转换工具对文档的依赖性,缩短整体开发流程。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是现有技术中的话单转换工具的开发流程的示意图;
图2是根据本发明的话单格式转换的方法的流程图;
图3是根据本发明实施例的话单转换工具的开发流程的示意图;以及
图4是根据本发明实施例的话单转换方法的实现流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明所述利用配置的方式实现话单格式的灵活转变,可以方便地实现满足在话单格式转换上的新需求。
图2是根据本发明的话单格式转换的方法的流程图。如图2所示,该方法包括以下步骤:
步骤S202,分别定义源话单字段结构体和目的话单字段结构体;
步骤S204,按照源话单字段结构体和目的话单字段结构体的配置信息生成源话单字段集合和目的话单字段集合;
步骤S206,按照源话单字段集合逐一解析源话单记录的每个字段的值;
步骤S208,按照目的话单字段集合对目的话单中的字段进行赋值:以及
步骤S210,按照字段顺序将目的话单集合中的字段值写成话单记录,完成话单格式转换。
步骤S202包括以下处理:对源话单文件及目的话单文件中的字段进行类型定义,其中,类型包括:字符串类型、数字类型、时间类型。
步骤S204包括以下处理:对源话单文件的字段进行按字段顺序编号;定义源话单文件的分隔符或每个字段的固定长度;对目的话单文件的字段进行按字段顺序编号;定义目的话单文件的分隔符或每个字段的固定长度及缺省值;以及定义目的话单文件的字段编号与源话单文件的字段编号的对应关系。
步骤S206包括以下处理:从源话单文件中读取整行话单记录到字符数组中;根据分隔符或每个字段的固定长度,为每个字段取值;以及判断字段的类型,其中,如果字段的类型为字符串型,则直接拷贝赋值;如果字段的类型为数字型,则直接采用转换函数进行转换赋值;如果字段的类型为时间类型,则按照字段定义的时间格式进行赋值。
步骤S208包括以下处理:按照目的话单的字段顺序进行顺序处理;判断字段是否包含逻辑组合关系,如果不包含逻辑组合关系,则进行以下处理:判断字段是否有对应的源字段序号,其中,当字段具有对应的源字段序号时,取源话单记录对应的源字段进行处理,否则,取目的话单中字段的缺省值进行处理;以及判断字段的类型是否为字符串型或数字型,如果是,则直接采用赋值的方式进行处理,否则,字段的类型为时间类型,按照字段定义的时间格式进行赋值;如果包含逻辑组合关系,则按照字段的源序号对应的逻辑关系进行对应的逻辑关系处理,对所涉及的源字段序号的字段的对应值和逻辑关系中带的常值,按照逻辑关系组合成新的字段的值。
步骤S210包括以下处理:判断目的话单是否具有分隔符,如果具有分隔符,则进行以下处理:输出字段值;以及判断是否为最后一个字段,如果不是最后一个字段,则输出分隔符,否则结束;如果不具有分隔符,则按照配置的字段的宽度进行输出。
其中,每个字段的编号是唯一的,以及目的话单文件的每个字段与源话单文件中的一个或多个字段相对应。
图3是根据本发明实施例的话单转换工具的开发流程的示意图,对比图1和图3,比较明显的区别是现有的话单转换工具对于源话单文件和目的话单文件的格式依赖性很强,必须在文档确定后才能够进行开发实现,而本发明提出的话单转换实现方法则可以轻易的脱离文档,在计费子系统文档更新后,只需要修改配置进行调试就可以实现话单转换的需求,明显的减少了话单转换工具的开发工作,缩短了话单转换工具的开发周期。
本发明的重点是将字段规则化,采用规则化的字段定义将话单文件从一种格式转变为另外一种格式,从而实现话单转换的功能。
图4是根据本发明实施例的话单转换方法的实现流程图。如图4所示,具体执行以下过程:
一、定义一个源话单字段结构体,此结构体包含以下信息:字段名称、字段类型、字段长度、字段序号、字段时间格式;
二、定义一个目的话单字段结构体,此结构体包含以下信息:字段名称、字段类型、字段长度、字段序号、字段时间格式、源话单文件序号、缺省值;
三、按照配置信息生成一个源话单字段集合和目的话单字段集合;
四、按照源话单字段集合逐渐解析源话单记录每一个字段的值;
五、按照目的话单字段集合逐渐对目的话单的字段进行赋值;以及
六、按照字段顺序将目的话单集合中的字段值写成话单记录,完成话单的格式转换。
其中,在上述步骤一和步骤二中,字段名称只是用户配置时好记忆和使用,在本发明方法中是没有实际用途的,但对于配置维护比较重要,所以在方法中对地段定义时增加了字段名称。
在步骤三中,当生成话单字段集合时,可以按照以下具体步骤进行实现:
1.可以按照文档定义的顺序对话单记录包含的字段进行依次编号;
2.把字段按照字符串型、时间型、数字型进行分类定义;
3.如果是时间字段类型,一定要定义出时间格式,在解析赋值处理时才能正确处理;
4.如果是目的话单记录,则一定要处理字段对应的源话单记录字段序号;以及
5.目的话单记录的顺序一定要按照顺序进行定义,对应的源字段序号可以不用是顺序的和一一对应的,可以是多对一的关系或者一对多得关系,但在这里的一对多关系中,对应的“多”之间不是“或”的关系,而是“与”的关系,可以是简单的“和”、“差”等逻辑关系。
步骤d中,可以按照以下步骤具体实现:
1.读取整行话单记录到字符数组中;
2.如果源话单格式采用分隔符,则根据分隔符来话单各个字段的取值,转到步骤4;否则转到步骤3;
3.按照字段的长度进行各个字段的取值;
4.判断字段类型,如果是字符串型,则直接采用拷贝赋值的方式,否则转到步骤5;
5.如果是字段的类型数字型,则直接采用转换函数进行转换赋值,否则转到步骤6;以及
6.此时字段肯定为时间类型,则按照字段定义的时间格式进行对时间的年、月、日、时、分、秒解析出来进行赋值,完成时间字段的取值。
步骤e是此方法中最为关键的步骤,是真正实现话单格式转换功能的步骤,此步骤可以按照以下步骤具体实现:
1.按照目的话单的字段顺序进行顺序处理;
2.如果字段不包含逻辑组合关系,只是简单的单个源序号对应,转到步骤3,否则转到步骤9;
3.此字段是否有对应的源字段序号,有转到步骤4,否则转到步骤5;
4.取源话单记录对应的源字段值进行处理,转到步骤6;
5.取目的话单本字段的缺省值进行处理;转到步骤6;
6.判断字段的类型是否是字符串型,如果是,直接采用拷贝赋值的处理方式,否则转到步骤7;
7.判断字段的类型是否数字型,如果是,直接采用赋值的方式,否则转到步骤8;
8.此时字段的类型是时间型,则按照字段配置的时间格式,将对应的年、月、日、时、分、秒值赋给此字段;以及
9.按照字段的源序号对应的逻辑关系进行对应的逻辑关系处理,对涉及的源字段序号的字段的对应值和逻辑关系中带的常值按照逻辑关系进行组合成新的字段的值。
另外,步骤f,可以按照以下步骤实现:
1.目的话单是否有分隔符,如果有分隔符,转到步骤2,否则转到步骤4;
2.输出字段值,是最后一个字段,不是转到步骤3;
3.输出分隔符;以及
4.对每一个字段按照配置的宽度进行输出。
以上就是根据本发明的话单转换实现的方法的具体过程。综上所述,本发明所论述的利用配置实现话单转换方法,能减少话单转换工具对文档的依赖性,极大的降低软件企业对话单转换工具开发维护的成本投入,缩短整体开发周期,提高开发维护效率。
应当理解,上述针对企业名称和各具体步骤的举例说明较为具体,并不能因此而认为是对本发明的专利保护范围的限制,不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种话单格式转换的方法,其特征在于,包括以下步骤:步骤1,分别定义源话单字段结构体和目的话单字段结构体;
步骤2,按照所述源话单字段结构体和所述目的话单字段结构体的配置信息生成源话单字段集合和目的话单字段集合;
步骤3,按照所述源话单字段集合逐一解析源话单记录的每个字段的值;
步骤4,按照所述目的话单字段集合对所述目的话单中的字段进行赋值;以及
步骤5,按照字段顺序将所述目的话单集合中的字段值写成话单记录,完成话单格式转换。
2.根据权利要求1所述的方法,其特征在于,所述步骤1包括以下处理:
对源话单文件及目的话单文件中的字段进行类型定义,
其中,所述类型包括:字符串类型、数字类型、时间类型。
3.根据权利要求2所述的方法,其特征在于,所述步骤2包括以下处理:
对所述源话单文件的字段进行按字段顺序编号;
定义所述源话单文件的分隔符或每个字段的固定长度;
对所述目的话单文件的字段进行按字段顺序编号;
定义所述目的话单文件的分隔符或每个字段的固定长度及缺省值;以及
定义所述目的话单文件的字段编号与所述源话单文件的字段编号的对应关系。
4.根据权利要求2所述的方法,其特征在于,所述步骤3包括以下处理:
从所述源话单文件中读取整行话单记录到字符数组中;
根据所述分隔符或所述每个字段的固定长度,为所述每个字段取值;以及
判断字段的类型,
其中,如果所述字段的类型为字符串型,则直接拷贝赋值;
如果所述字段的类型为数字型,则直接采用转换函数进行转换赋值;
如果所述字段的类型为时间类型,则按照字段定义的时间格式进行赋值。
5.根据权利要求2所述的方法,其特征在于,所述步骤4包括以下处理:
按照所述目的话单的字段顺序进行顺序处理;
判断字段是否包含逻辑组合关系,如果不包含所述逻辑组合关系,则进行以下处理:
判断所述字段是否有对应的源字段序号,其中,当所述字段具有对应的源字段序号时,取所述源话单记录对应的源字段进行处理,否则,取所述目的话单中所述字段的缺省值进行处理;以及
判断所述字段的类型是否为字符串型或数字型,如果是,则直接采用赋值的方式进行处理,否则,所述字段的类型为时间类型,按照字段定义的时间格式进行赋值;
如果包含所述逻辑组合关系,则按照所述字段的源序号对应的逻辑关系进行对应的逻辑关系处理,对所涉及的源字段序号的字段的对应值和逻辑关系中带的常值,按照逻辑关系组合成新的字段的值。
6.根据权利要求2所述的方法,其特征在于,所述步骤5包括以下处理:
判断所述目的话单是否具有分隔符,如果具有所述分隔符,则进行以下处理:
输出字段值;以及
判断是否为最后一个字段,如果不是最后一个字段,则输出所述分隔符,否则结束;
如果不具有所述分隔符,则按照配置的所述字段的宽度进行输出。
7.根据权利要求1所述的方法,其特征在于,每个字段的编号是唯一的,以及所述目的话单文件的每个字段与所述源话单文件中的一个或多个字段相对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710112779 CN101076055A (zh) | 2007-06-18 | 2007-06-18 | 话单格式转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710112779 CN101076055A (zh) | 2007-06-18 | 2007-06-18 | 话单格式转换的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101076055A true CN101076055A (zh) | 2007-11-21 |
Family
ID=38976865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710112779 Pending CN101076055A (zh) | 2007-06-18 | 2007-06-18 | 话单格式转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101076055A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808175B (zh) * | 2009-02-13 | 2012-04-25 | 华为技术有限公司 | 话单转换方法及装置 |
CN102571445A (zh) * | 2012-02-06 | 2012-07-11 | 中兴通讯股份有限公司 | 一种转换网络设备配置文件的方法及装置 |
CN104601358A (zh) * | 2013-11-01 | 2015-05-06 | 中兴通讯股份有限公司 | 一种实现采集系统与分析系统间的匹配方法及装置 |
CN106156202A (zh) * | 2015-04-22 | 2016-11-23 | 中国移动通信集团广东有限公司 | 一种数据库故障的处理方法及装置 |
CN108521527A (zh) * | 2018-03-14 | 2018-09-11 | 北京思特奇信息技术股份有限公司 | 话单差异检测方法、系统、计算机存储介质及计算机设备 |
CN110868499A (zh) * | 2018-08-27 | 2020-03-06 | 中国移动通信有限公司研究院 | 话单生成、查询、校验方法、装置及设备、存储介质 |
-
2007
- 2007-06-18 CN CN 200710112779 patent/CN101076055A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808175B (zh) * | 2009-02-13 | 2012-04-25 | 华为技术有限公司 | 话单转换方法及装置 |
CN102571445A (zh) * | 2012-02-06 | 2012-07-11 | 中兴通讯股份有限公司 | 一种转换网络设备配置文件的方法及装置 |
CN102571445B (zh) * | 2012-02-06 | 2015-06-03 | 中兴通讯股份有限公司 | 一种转换网络设备配置文件的方法及装置 |
CN104601358A (zh) * | 2013-11-01 | 2015-05-06 | 中兴通讯股份有限公司 | 一种实现采集系统与分析系统间的匹配方法及装置 |
CN104601358B (zh) * | 2013-11-01 | 2019-01-04 | 中兴通讯股份有限公司 | 一种实现采集系统与分析系统间的匹配方法及装置 |
CN106156202A (zh) * | 2015-04-22 | 2016-11-23 | 中国移动通信集团广东有限公司 | 一种数据库故障的处理方法及装置 |
CN106156202B (zh) * | 2015-04-22 | 2019-11-19 | 中国移动通信集团广东有限公司 | 一种数据库故障的处理方法及装置 |
CN108521527A (zh) * | 2018-03-14 | 2018-09-11 | 北京思特奇信息技术股份有限公司 | 话单差异检测方法、系统、计算机存储介质及计算机设备 |
CN110868499A (zh) * | 2018-08-27 | 2020-03-06 | 中国移动通信有限公司研究院 | 话单生成、查询、校验方法、装置及设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101076055A (zh) | 话单格式转换的方法 | |
CN1881208A (zh) | 动态结构化查询语言语句的构造方法 | |
CN1224875A (zh) | 数据库管理系统的动态修改 | |
CN101046810A (zh) | 自动建立关系模型的系统及其方法 | |
CN101582079B (zh) | 一种对象查询方法和装置 | |
CN1713179A (zh) | 在对象模型中的影响分析 | |
CN102298607A (zh) | 数据集成的方案合约 | |
CN1684069A (zh) | 计算机化财务系统的提取、变换和加载设计器模块 | |
CN1918572A (zh) | 使web应用能够访问企业管理的数据的方法、装置和计算机程序 | |
CN1832478A (zh) | 用于传统组件的动态服务生成 | |
CN107609302B (zh) | 一种产品工艺结构生成方法及系统 | |
CN101075239A (zh) | 一种复合搜索方法和系统 | |
CN1645372A (zh) | 一种实时内存数据库通用约束的实现方法 | |
CN106095991A (zh) | 一种自动生成从关系型数据库向MongoDB数据库数据迁移的代码的方法 | |
CN1633080A (zh) | 在网络管理系统中实现日志的方法 | |
CN1275160C (zh) | 一种数据库备份方法 | |
CN101359324A (zh) | 基于程序调用接口的Oracle关系数据库的数据访问方法 | |
CN1825306A (zh) | 基于关系数据库的xml数据存储与访问方法 | |
CN1107277C (zh) | 扩大利用用户字符的系统 | |
CN102446167A (zh) | 一种基于逻辑模板对复杂字符串逻辑处理的方法和装置 | |
CN100346308C (zh) | 一种基于数据库操作的自动化测试方法 | |
CN1855052A (zh) | 一种从树型结构数据和一组代码片断结构体生成目标源代码的方法 | |
CN1652109A (zh) | 二进制大对象数据的复制方法和设备 | |
CN1949175A (zh) | 一种对软件中的数据进行替换的方法 | |
CN1945527A (zh) | 可实现代码复用的server版代码生成系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20071121 |