CN1741558A - 一种通话费用的计费方法 - Google Patents
一种通话费用的计费方法 Download PDFInfo
- Publication number
- CN1741558A CN1741558A CN 200410064323 CN200410064323A CN1741558A CN 1741558 A CN1741558 A CN 1741558A CN 200410064323 CN200410064323 CN 200410064323 CN 200410064323 A CN200410064323 A CN 200410064323A CN 1741558 A CN1741558 A CN 1741558A
- Authority
- CN
- China
- Prior art keywords
- format
- data
- field
- format field
- source
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Meter Arrangements (AREA)
Abstract
本发明公开了一种通话费用的计费方法,以解决现有计费方式存在工作量大和灵活性差的问题;该方法为:话单采集机获取交换机产生的原始计费数据;获取所述原始计费数据的源格式描述和对应的目标格式描述;根据所述源格式描述和目标格式描述将所述原始计费数据转换为目标格式的计费数据;话单采集机将目标格式的计费数据发送给计费系统,由计费系统完成计费操作。
Description
技术领域
本发明电信技术领域,尤其涉及该领域中的通话费用的计费方法。
背景技术
在电信领域,交换机设备制造商多,各个设备制造商的交换机产生的计费数据格式千差万别,即使是同一设备制造商,在不同的软件版本中,计费格式也是经常变化的。网络运营商通常会同时使用多个设备制造商的交换机,而计费系统一般只选择一家,因此,计费系统经常要面临适配各个厂家的计费格式的问题。
例如,有两个电信设备制造商,其交换机产生的计费数据格式分别为结构CDR_A和CDR_B:
struct CDR_A
{
INT csn;∥话单流水号,整型
BCD caller[12];∥主叫号码,BCD码
BCD called[12];∥被叫号码,BCD码
BCD thirdPaty[12];∥第三方号码,BCD码
BYTE year;∥通话年份,一字节无符号整型
BYTE month;∥通话起始月份,一字节无符号整型
BYTE day;∥通话起始日,一字节无符号整型
BYTE hour;∥通话起始时,一字节无符号整型
BYTE minute;∥通话起始分,一字节无符号整型
BYTE second;∥通话起始秒,一字节无符号整型
INT duration;∥通话时长,整型
CHAR callType[10];∥呼叫类型,字符串
};
struct CDR_B
{
TIME time;∥通话起始时间,时间类型(自1900年1月1日以来的秒)
INT duration;∥通话时长,整型
BCD caller[12];∥主叫号码,BCD码
BCD called[12];∥被叫号码,BCD码
BCD thirdPaty[12];∥第三方号码,BCD码
CHAR callType[10];∥呼叫类型,字符串
INT inTrunk;∥入中继,整型
INT outTrunk;∥出中继,整型
}
而计费系统使用的统一的计费数据格式CDR_C如下:
struct CDR_C
{
CHAR time[14];∥通话起始日期、时间,字符串
CHAR duration[6];∥通话时长,字符串
CHAR caller[24];∥主叫号码,字符串
CHAR called[24];∥被叫号码,字符串
CHAR thirdPaty[24];∥第三方号码,字符串
CHAR callType[10];∥呼叫类型,字符串
}
因此计费系统在收到CDR_A和CDR_B两种结构的计费数据时,首先需要将这两种数据转换成符合CDR_C格式的计费数据,然后才能完成计费和结算。
(注:后面将对本节所举的CDR_A、CDR_B和CDR_C三个数据结构直接进行引用。)
目前,对于不同厂家的计费数据,计费系统都是开发格式转换软件,或者叫格式适配软件,采用硬编码的方式(注:这里所提到的“硬编码”意思是指对于所转换的数据源的格式和目标格式,先采用计算机编程语言定义各自的数据结构,然后再编写特定转换函数进行数据结构的变换处理,最后通过编译器生成可执行程序。),将不同的计费格式转换成计费系统能处理的统一格式。
从上述所举的例子,可以看出目前的处理方式存在如下问题:
对不同的数据格式需要提供特殊的转换方法,工作量和重复性劳动大;一旦处理的格式发生变化,必须升级格式转换系统,所以系统的灵活性差,而且维护工作量也大。
发明内容
本发明一种通话费用的计费方法,以解决现有计费方式存在灵活性差、开发和维护工作量大的问题。
本发明的计费方法包括步骤:
A、话单采集机获取交换机产生的原始计费数据;
B、获取所述原始计费数据的源格式描述和对应的目标格式描述;
C、根据所述源格式描述和目标格式描述将所述原始计费数据转换为目标格式的计费数据;
D、话单采集机将目标格式的计费数据发送给计费系统,由计费系统完成计费操作。
其中:
计费数据的格式描述由格式域的属性定义组成,该格式域是指组成一种数据格式的每一个元素。
步骤C包括下述步骤:
(1)根据源格式描述从原始计费数据中分解出每一个格式域的数据;
(2)依次调用目标格式描述中每一个格式域的转换函数,由各转换函数根据所在格式域的属性定义,将步骤(1)中分解出的一个或多个格式域的数据转换为目标格式描述中一个格式域的数据;
(3)将目标格式描述中所有格式域的数据组合成一份完整的计费数据。
采用本发明可以带来以下有益效果:
1、不需要对每种格式都提供特殊的转换方法,工作量小。数据处理系统在开发前,可以不必知道将要处理的数据的具体格式,等数据处理系统开发完成后再根据具体的源格式和目标格式进行配置。
2、灵活性和适应性强。当数据格式变化时,数据处理系统不需要升级,只需重新配置源格式或者目标格式即可。
3、格式配置简单,对操作人员要求很低。
附图说明
图1为实现计费的组网图;
图2为计费数据格式转换示意图;
图3为本发明的流程图。
具体实施方式
参阅图1所示,交换机提供原始计费数据,话单采集机获取原始计费数据并转换为最终计费数据,最后由计费系统完成计费操作。
本文中定义如下名词:
源格式:数据处理系统(例如计费系统)接收的原始数据的格式,例如前述例子中的CDR_A和CDR_B就是两种源格式。
目标格式:数据处理系统(例如计费系统)需要的内部数据的格式,例如前述所举例子中的CDR_C就是源格式CDR_A和CDR_B共同的目标格式。一种目标格式也可以对应多种源格式。
格式域:组成一种数据格式的每一个元素,例如CDR_A中的date、time、duration等。
格式转换:将符合源格式的数据转换成目标格式的过程,例如将CDR_A的数据转换成CDR_C的数据。
话单采集机对数据的处理流程如图2所示,存在N个数据的源格式,即,源格式1、源格式2、......、源格式N,它们都对应同一个目标格式。这些源格式与目标格式之间是转换关系,并且是单向不可逆的。
组成源格式或者目标格式的每一个格式域都可以用表1中的基本属性来定义:
表1格式域的属性定义
序号 | 属性 | 属性含义 |
1 | 域索引 | 每一个域按其在数据结构中出现的先后顺序,从0开始编号。 |
2 | 域名 | 表明该域在数据结构中的含义,例如CDR_B中的date的含义是用户一次通话的起始日期。 |
3 | 数据类型 | 该域的数据类型,例如日期型、时间型、整型、字符串型、字符型、BCD码等等。所指定的数据类型必须是格式转换系统能够识别的。 |
4 | 域的长度 | 表明该域需要占用多少个其对应的“数据类型”表示。例如CDR_A中的caller域就需要12个BCD码来表示,则其数据类型为BCD码,域长度为12。 |
5 | 转换函数 | 转换函数规定了从源格式的某一个或者某几个域转换成目标格式的某一个域需要进行的动作。该转换函数必须是格式转换系统识别的。对于源格式,转换函数为空,对于目标格式,每一个域必须配置转换函数。 |
对表1说明如下:
1、根据“域索引”、“数据类型”和“域的长度”这三个属性,可以确定一个域在一种数据格式中的确切的字节位置。
2、“数据类型”应该覆盖到一个数据处理系统用到的所有源格式和目标格式数据类型,为了后面描述的方便,假设格式转换系统能识别如下数据类型:
(1)BCD BCD码
(2)INT 四字节有符号整型
(3)CHAR 字符
(4)STRING 字符串型
(5)TIME 时间型
(6)BYTE 一字节无符号整型
3、“转换函数”应该尽可能地丰富,至少能完成最常见的数据类型转换,例如,从BCD码转换成字符串,数据块拷贝、整数转换成字符串、日期/时间转换成字符串等等。为了后面描述的方便,假设格式转换系统提供如下的转换函数:
(1)BCD2String 将BCD码转换成字符串
(2)INT2String 将整数转换成字符串
(3)BlockCopy 数据块拷贝
(4)GetTextTime 将年、月、日、时、分、秒转换成YYYYMMDDhhmmss标准格式
(5)Time2String 将TIME型转换为YYYYMMDDhhmmss标准格式
4、转换函数可以带一个或者一个以上的参数,所带参数的参数名必须和源格式中的某个格式域的域名完全匹配。如果不带参数,转换函数则直接将原字段的值拷贝给目标字段。
本发明将源格式和目标格式的每一个域用表1规定的属性进行描述,并用嵌入的转换函数将源格式转换成目标格式。
下面以CDR_A、CDR_B和CDR_C为例,对本发明进行详细说明:
CDR_A和CDR_B的格式可以用分别用表2和表3来描述:
表2CDR_A的格式描述
域索引 | 域名 | 数据类型 | 域长度 | 转换函数 |
0 | Csn | INT | 1 | 无 |
1 | Caller | BCD | 12 | 无 |
2 | Called | BCD | 12 | 无 |
3 | thirdParty | BCD | 12 | 无 |
4 | Year | BYTE | 1 | 无 |
5 | Month | BYTE | 1 | 无 |
6 | Day | BYTE | 1 | 无 |
7 | Hour | BYTE | 1 | 无 |
8 | Minute | BYTE | 1 | 无 |
9 | second | BYTE | 1 | 无 |
10 | Time | TIME | 1 | 无 |
11 | duration | INT | 1 | 无 |
12 | callType | INT | 1 | 无 |
表3CDR_B的格式描述
域索引 | 域名 | 数据类型 | 域长度 | 转换函数 |
0 | Time | TIME | 1 | 无 |
1 | duration | INT | 1 | 无 |
2 | Caller | BCD | 12 | 无 |
3 | Called | BCD | 12 | 无 |
4 | thirdParty | BCD | 12 | 无 |
5 | callType | INT | 1 | 无 |
6 | inTrunk | INT | 1 | 无 |
7 | outTrunk | INT | 1 | 无 |
8 | callType | char | 10 | 无 |
当将CDR_A转换成CDR_C时,使用表4定义的目标格式描述:
域索引 | 域名 | 数据类型 | 域长度 | 转换函数 |
0 | time | char | 14 | GetTextTime(year,month,day,hour,minute,second) |
1 | duration | char | 6 | INT2String(duration) |
2 | caller | char | 24 | BCD2String(caller) |
3 | called | char | 24 | BCD2String(called) |
4 | thirdParty | char | 24 | BCD2String(thirdParty) |
5 | callType | char | 10 | BlockCopy(callType) |
当将CDR_B转换成CDR_C时,使用表5定义的格式描述:
表5
域索引 | 域名 | 数据类型 | 域长度 | 转换函数 |
0 | Time | char | 14 | Time2String(time) |
1 | Duration | char | 6 | INT2String(duration) |
2 | Caller | char | 24 | BCD2String(caller) |
3 | Called | char | 24 | BCD2String(called) |
4 | thirdParty | char | 24 | BCD2String(thirdParty) |
5 | callType | char | 10 | BlockCopy(callType) |
这样,用四张表就能把从CDR_A或者CDR_B的数据转换成符合CDR_C的数据结构的转换关系描述清楚了。而且从表1-5还可以看到:目标格式的一个域可以由源格式的多个域组合转换而来。
尽管表4和表5的表现形式不同,但转换出来的数据格式是完全一样的,即不同的源格式到其目标格式的格式定义是独立的,这样一种源格式的修改,不会影响到对另一个源格式的转换。
在实际实现中,对每一种源格式和目标格式用一个链表,链表中的元素就是格式的某一个域的属性。
参阅图3所示,计费的具体过程如下:
1、交换机产生原始计费数据。
2、话单采集机获取所述原始计费数据,并该原始计费数据的源格式描述和对应的目标格式描述。
3、根据源格式描述从原始计费数据中分解出每一个格式域的数据。根据每一个字段的索引定位到该字段在一张话单中的位置,然后取出它的值
4、依次调用目标格式描述中每一个格式域的转换函数,由各转换函数根据所在格式域的属性定义,将步骤4中分解出的一个或多个格式域的数据转换为目标格式描述中一个格式域的数据。
5、将目标格式描述中所有格式域的数据组合成一份完整的计费数据,并发送给计费系统。
6、计费系统完成计费操作。
本发明旨在解决计费过程从源格式到目标格式的灵活转换问题,通过一种基于用户可定义的转换模式,能将不同源格式的数据转换成一种统一的目标格式数据。
对于格式域属性中的“转换函数”除了上述描述的一般函数外,还可以是某种语言的脚本,这样格式转换系统可更加灵活。例如,对于表4、表5中的转换函数BlockCopy,如果采用脚本方式,则表现形式如下:
if(callType=“”)then∥如果callType字段为空,
callType=“”;∥对应目标字段的值也赋值为空
else
strcpy(callType);∥将源字段的值拷贝给目标字段
endif
本发明采用对不同的源格式到其目标格式的进行独立定义,因而一种源格式的修改不会影响到其他源格式的转换,使系统的灵活性大大提高。
Claims (6)
1、一种通话费用的计费方法,其特征在于该方法包括步骤:
A、话单采集机获取交换机产生的原始计费数据;
B、获取所述原始计费数据的源格式描述和对应的目标格式描述;
C、根据所述源格式描述和目标格式描述将所述原始计费数据转换为目标格式的计费数据;
D、话单采集机将目标格式的计费数据发送给计费系统,由计费系统完成计费操作。
2、如权利要求1所述的计费方法,其特征在于,计费数据的格式描述由格式域的属性定义组成,该格式域是指组成一种数据格式的每一个元素。
3、如权利要求2所述的计费方法,其特征在于,所述格式域的属性定义包括:
域索引,用于确定格式域在数据结构中出现的顺序;
域名,用于表明格式域在数据结构中的含义;
数据类型,用于表明格式域的数据类型;
域长度,用于表明格式域需要用多个“数据类型”表示;
转换函数,用于规定从源格式的一个或多个格式域转换成目标格式的一个格式域需要进行的动作。
4、如权利要求3所述的方法,其特征在于,采用链表组织所述格式描述,链表中的元素为格式描述中一个域的属性。
5、如权利要求2或3所述的方法,其特征在于,步骤C包括下述步骤:
(1)根据源格式描述从原始计费数据中分解出每一个格式域的数据;
(2)依次调用目标格式描述中每一个格式域的转换函数,由各转换函数根据所在格式域的属性定义,将步骤(1)中分解出的一个或多个格式域的数据转换为目标格式描述中一个格式域的数据;
(3)将目标格式描述中所有格式域的数据组合成一份完整的计费数据。
6、如权利要求5所述的方法,其特征在于,所述转换函数带有一个或者多个参数,所带参数的参数名和与源格式中的一个或多个格式域的域名完全匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100643233A CN100515002C (zh) | 2004-08-23 | 2004-08-23 | 一种通话费用的计费方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100643233A CN100515002C (zh) | 2004-08-23 | 2004-08-23 | 一种通话费用的计费方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1741558A true CN1741558A (zh) | 2006-03-01 |
CN100515002C CN100515002C (zh) | 2009-07-15 |
Family
ID=36093766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100643233A Expired - Fee Related CN100515002C (zh) | 2004-08-23 | 2004-08-23 | 一种通话费用的计费方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100515002C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859505B (zh) * | 2006-03-10 | 2010-08-25 | 华为技术有限公司 | 话单查询系统及查询方法 |
CN1933512B (zh) * | 2006-09-30 | 2011-01-05 | 华为技术有限公司 | 一种话单处理设备及方法 |
WO2011026364A1 (zh) * | 2009-09-04 | 2011-03-10 | 中兴通讯股份有限公司 | 一种话单转换方法及话单转换系统 |
WO2014166405A1 (zh) * | 2013-04-10 | 2014-10-16 | 华为技术有限公司 | 一种基于OpenFlow协议的计费的方法及系统 |
CN112217944A (zh) * | 2020-10-09 | 2021-01-12 | 中国联合网络通信集团有限公司 | 在线话单处理方法、装置、设备以及存储介质 |
-
2004
- 2004-08-23 CN CNB2004100643233A patent/CN100515002C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859505B (zh) * | 2006-03-10 | 2010-08-25 | 华为技术有限公司 | 话单查询系统及查询方法 |
CN1933512B (zh) * | 2006-09-30 | 2011-01-05 | 华为技术有限公司 | 一种话单处理设备及方法 |
WO2011026364A1 (zh) * | 2009-09-04 | 2011-03-10 | 中兴通讯股份有限公司 | 一种话单转换方法及话单转换系统 |
WO2014166405A1 (zh) * | 2013-04-10 | 2014-10-16 | 华为技术有限公司 | 一种基于OpenFlow协议的计费的方法及系统 |
CN112217944A (zh) * | 2020-10-09 | 2021-01-12 | 中国联合网络通信集团有限公司 | 在线话单处理方法、装置、设备以及存储介质 |
CN112217944B (zh) * | 2020-10-09 | 2022-04-15 | 中国联合网络通信集团有限公司 | 在线话单处理方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100515002C (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1265282C (zh) | 序列控制用编程系统和执行序列控制程序的控制单元 | |
CN1379335A (zh) | 遥控程序下装系统 | |
CN1798170A (zh) | 用于在无线终端中处理日程相关事件的设备和方法 | |
CN1741460A (zh) | 一种电信网络通用性能管理的实现方法及系统 | |
CN1168591A (zh) | 屏幕电话机和管理屏幕电话机菜单的方法 | |
CN1866283A (zh) | 实现规则系统触发的系统及方法 | |
CN1708753A (zh) | 下载系统、通信终端、服务器以及下载方法 | |
CN1933512A (zh) | 一种话单处理设备及方法 | |
CN1848111A (zh) | 用于内存数据库的一种数据操作接口的实现方法 | |
CN1886976A (zh) | 用于使用动作列表及版本控制对一无线装置执行动作的方法、软件及设备 | |
CN1741558A (zh) | 一种通话费用的计费方法 | |
CN1862267A (zh) | 对电路原理图进行审查的方法 | |
CN103793240B (zh) | 接口扫描方法、接口扫描装置及相应的插件更新方法 | |
CN1412648A (zh) | 与主机系统相连的设备的用户接口方法和装置 | |
CN1859462A (zh) | 实现自动切换的方法、系统及装置 | |
CN1960367A (zh) | 一种通用多协议关联方法 | |
CN1629803A (zh) | 在宿主程序界面中嵌入第三方界面的方法 | |
CN1811709A (zh) | 手持设备中操作系统的无限升级方法及装置 | |
CN1614933A (zh) | 升级系统设备的方法 | |
CN1700782A (zh) | 在专用小交换机中管理配置信息的方法和设备 | |
CN1674517A (zh) | 一种实现计费的方法和装置 | |
CN1885888A (zh) | 一种话单分拣方法及系统 | |
CN1929679A (zh) | 一种业务激活操作的实现方法及装置 | |
CN1790996A (zh) | 通用计费方法及通用计费模型的实现方法 | |
CN1211736C (zh) | 数据传输排程系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090715 Termination date: 20160823 |
|
CF01 | Termination of patent right due to non-payment of annual fee |