民航数据网VOIP计费系统技术方案书.docx
中国民航数据网VOIP计费系统中国民航数据网VOIP计费系统技术方案书2003年5月目 录第一章 系统分析11.1 概述11.2 系统运行环境2第二章 总体设计32.1.系统架构32.2.采集模块42.2.1.概述42.2.2.采集特点42.2.3.功能描述42.3.格式化模块82.3.1.功能概述82.3.2.功能描述82.4.分拣模块112.4.1.功能概述112.4.2.功能描述112.5.批价计费模块122.5.1.功能概述122.5.2.功能描述132.6.结算模块152.7.统计查询模块162.8.系统监控模块182.8.1.系统体系结构182.8.2.功能概述192.9.参数配置模块202.9.1.功能概述202.9.2.资费政策和优惠配置20第三章硬件配置21第四章外部接口224.1.和语音网关的接口224.2.提供给外部系统进行二次开发的接口22术语解释23技术方案书 第 25 页 共 27 页第一章 系统分析1.1 概述中国民航数据网经过改造后,支持传统的语音应用,如PBX和PSTN等设备,都可以通过语音网关以VOIP的方式集成到IP网络上来,并利用IP网的服务质量保证(QOS)功能保证语音应用的服务质量。中国民航数据网采用的语音网关设备(CISCO2600路由器)都支持并本地保存一定的CDR(Call Detailed Record)信息,这些信息可以用来对每次通话计费,生成帐单作为收费的依据,并可提供通话量、费用、收入、网络应用情况等各种统计数据,用于分析语音业务的发展状况,以便提供更高效、优质的网络服务,降低网络运行成本。为此,我们提出中国民航数据网VOIP计费的解决方案:中国民航数据网VOIP计费系统,系统建设在北京总局空管局主网管中心,可实现“集中管理、集中计费”,对全网VOIP语音业务进行统一集中计费管理,为VOIP语音业务的持续高速发展提供有力的支撑。系统主要完成语音业务的原始计费数据采集、计费、和分局结算,为用户提供原始计费信息、计费帐单和统计报表等。系统采用文件和内存等技术,系统运行稳定、高效。网络结构见系统网络结构图:系统网络结构图1.2 系统运行环境² 硬件:主机服务器:通用系列中、小型机客户端:PC微机² 软件:数据库:Oracle或Sybase、SqlServer(推荐Oralce)操作系统:主机Unix,客户机Windows95/98/2000/Xp应用软件:无开发工具:C、C Builder、JSP第二章 总体设计 2.1. 系统架构中国民航数据网VOIP计费系统负责整个民航数据网的语音业务集中采集计费,完成和各分公司的结算,实现合理的费用分摊。计费系统预留和财务系统的接口,以便将来可以方便的向各分公司收费。本系统采用了层次化、模块化的设计和开发方法,从而使系统具有强大的伸缩能力和扩展能力。系统的逻辑结构见计费系统逻辑结构图。根据上面对中国民航数据网VOIP计费系统的功能逻辑结构进行分析,系统的功能划分为数据采集、格式化、分拣查重、批价计费、结算、统计查询、参数配置以及系统监控八大模块。2.2. 采集模块2.2.1. 概述采集模块负责将各分局语音网关(CISCO2600路由器)上的原始计费信息定时采集到计费系统中,系统采用TFTP协议从网关上直接采集原始计费信息文件。数据采集为后台独立运行的子系统,稳定的进行不间断数据采集,为保证系统长时间稳定运行,系统具备完整而可靠的监控系统和恢复机制。软件系统采用总线化、模块化的体系结构。2.2.2. 采集特点² 适用于多种主流UNIX主机平台(SINIX、HPUX、AIX、SOLARIS)。² 采集系统平台可同时采集多台交换机,和同时采集多种类型的交换机。² 支持分散式采集方式和集中式采集方式。² 采集进程监控、采集链路监控、计费数据监控,保障软件系统7*24运行。2.2.3. 功能描述2.2.3.1. 数据采集单元数据采集模块由协议接口、联机数据采集和计费数据管理构成。软件系统通过TFTP、协议实现与IP语音网关的连接,实现对IP语音网关上详细计费原始文件的实时采集,定时读取语音网关产生的原始计费信息。2.2.3.1.1. 话单文件校验数据一致性校验:采集程序对每一个采集到的数据文件进行正确性校验:数据文件长度是否与网关内的文件大小一致、采集机与网关通信双方数据传输是否确认成功。数据连续性校验:采集进行根据网关话单命名规范对计费数据(话单文件)的连续性进行校验。话单文件校验异常将向监控管理系统发出告警信息,并记录错误日志。计费信息包括:Date 通话日期Orig. Time 通话时间Origination IP 主叫IP地址Orig. Device 主叫网关Dest Device 被叫网关QoS 服务质量Orig QoS Quality of service shows the voice quality grade achieved for the calls.Dest QoS The QOS category experienced by the receiver of the call.Term. Time 通话结束时间Duration(s) 通话时长Orig The directory number from which the call was placed.Dest The directory number to which the call was originally placed. Orig. Codec The codec type (compression or payload type) that the call originator used on its sending side during this call. This may differ from the codec type used on its receiving side.Dest. Codec The codec type (compression or payload type) that the destination used on its sending side during this call. This may differ from the codec type used on its receiving side.2.2.3.1.2. 采集进程监控采集进程异常退出,监控进程自动重新启动一个新的采集进程继续进行采集,记录错误日志。确保采集系统7*24小时运行。2.2.3.1.3. 数据备份灵活的数据备份方法。实时将计费数据文件进行备份,设定以自然月建立备份路径,然后在该路径下再按语音网关代码建立子目录,备份路径的日期以文件名中的日期为准。2.2.3.2. 监控告警² 线路状态监控:监控各采集点与网管系统、网关之间的线路状况,各采集点与采集服务器之间的线路状态。² 磁盘空间监控:显示采集服务器话单备份空间总量,已使用空间,剩余空间。² 计费数据状态监控:文件处理状况视图,以可视界面实时显示各采集机最后采集文件的时间。² 异常告警信息视图:以可视界面实时显示各应用进程运行过程中所产生的告警记录,包含以下信息:告警日期、告警时间、告警点、告警描述。² 向统一告警平台发送告警信息。包括告警位置,告警级别,详细信息。2.2.3.3. 状态报告为更好的对系统状况进行了解,给维护人员提供便捷的系统维护功能。采集系统可以提供采集运行状态报告。城市名称采集服务器地址网关数据量统计时间磁盘空间状况【网关1】网关名称网关ID网关类型网关链路类型网关链路状况最后话单采集名称采集时间话单校验结果。2.2.3.4. 数据管理采集系统提供数据管理工具。数据管理任务负责对采集成功并已传输给后台计费系统的历史数据进行的管理。² 备份数据管理:原始话单在线保留X月,X由参数配置;备份数据目录在超出在线保存期限后能被自动删除,以节省磁盘空间,在线保存期限由配置文件设定。² 数据检索:连续性查询,输入序号范围;话单查询,输入起始序号;检索序号范围内的话单文件名称、文件大小、文件数量,不连续话单文件名称、数量;显示所查询话单的存在状况,文件名称、文件大小;显示日期范围内序号重复话单文件名称、采集日志(采集日期)、大小;显示日期范围内序号不连续话单文件序号,数量。2.2.3.5. 日志管理对各任务执行过程中所产生的日志记录进行集中的管理,并对管理工作提供辅助手段。² 告警日志:在采集过程中若发生任何异常事件,数据采集模块记录这些事件信息,包括:发生日期、发生时间、网关编号、告警类型、告警描述。² 运行日志:记录一次采集活动成功后有关计费文件的信息,包括:、开始日期、开始时间、结束时间、交换机号、活动类型文件名、文件大小。² 日志格式如下:“年月日”“时分秒” “网关ID” “文件类型” “进程号”“action:操作类型”“content:详细信息”。其中详细信息包括,采集文件名称、文件大小。操作类型包括采集状态:成功、失败、重传。² 日志在线保留X月,X由参数配置;备份数据目录在超出在线保存期限后能被自动删除,以节省磁盘空间,在线保存期限由配置文件设定.2.3. 格式化模块2.3.1. 功能概述格式化模块负责把采集模块传输过来的原始计费记录转换成为标准格式的文本计费记录文件,供分拣计费进一步处理,同时完成计费记录的过滤等主要功能。格式化功能图在处理过程中,计费记录格式化程序将根据交换机进行轮循处理文件。不同的类型的交换机计费记录文件格式存在着差异,计费记录格式化程序能够最终将各种交换机的计费记录统一成相同格式的文本文件。2.3.2. 功能描述2.3.2.1. 计费记录文件完整性检测在正式处理计费记录文件以前,首先对文件进行完整性检测。主要来说是检测原始计费记录文件的字节数,其文件字节数必须是计费记录长度的整数倍才可以,否则可能是文件在交换机发生了错误或者传输过程中发生了错误。格式化程序在检测到不正常的计费记录文件时将向监控告警系统发送告警信息,同时作日志记录,并把不正常计费记录文件备份。2.3.2.2. 计费记录格式转换计费记录格式转换是格式化程序的核心功能。格式化程序读取原始计费记录文件(二进制或文本)后,从文件中提取通话记录信息,经过计费记录校验、计费记录过滤、分析处理,使其成为能够易于识别的字符串信息。格式化程序生成的错误计费记录、无需处理计费记录、重复计费记录、有效计费记录采用统一的格式保存。2.3.2.3. 计费记录校验这里的计费记录校验是在记录级的。检查一段被标记为一条计费记录的数据是否能够成为一条有效的计费记录,即从中找出主叫、被叫、通话起始时间、通话结束时间或时长、中继信息、卡号信息、费用信息等,并检查这些信息的有效性和合法性。只有通过了计费记录检验的计费记录记录,才能进入后继的计费记录处理过程。2.3.2.4. 计费记录过滤所谓的计费记录过滤就是剔除不需要处理的计费记录。过滤的规则是通过参数驱动的,我们可以在不需要处理的计费记录域配置信息表中自由配置过滤规则。该配置表简单灵活,含义明确,因此能在计费记录格式化时过滤掉所有不需要处理的计费记录,保证后续分拣计费处理的计费记录都是有效的。2.3.2.5. 计费记录剔重计费记录格式化期间的计费记录剔重是比较简单的,但是也是比较有效的。A文件级剔重文件重复是指在文件发生重复传输时造成计费记录文件重复。计费记录格式化程序取得文件名称以后,到稽核数据中查找该文件记录是否存在,如果存在,则告警并备份该文件到重复计费记录文件目录中,从而避免重复文件再次处理而导致后继处理重单的出现。B记录级剔重根据以往的经验,重单一般出现在同一原始计费记录中的相邻记录。因此在计费记录格式化时,作相邻计费记录的剔重,是十分有效的。相邻计费记录剔重的过程为:每次处理完成一条计费记录记录以后,将计费记录数据保存在历史计费记录记录中,在处理下一条有效计费记录时,将这两条计费记录记录的主叫、被叫、起始通话时间、通话时长等作对比,由于是同一交换机的同一计费记录内的记录,因此从格式上应该是一致的,具备了可以比较的条件,从而可以判断两条计费记录是否是重单,达到剔重的目的。2.3.2.6. 故障恢复功能采用临时文件的机制,在系统出错的时候进行文件级故障恢复。把文件作为处理的断点标志,能保证计费记录文件处理的完整性与安全性。在一个原始计费记录文件没有处理完成的时候,如果发生了意外导致进程中断,如文件系统空间满、数据库错误等,原始计费记录还在原来的位置,目标文件也没有生成,数据库也没有进行提交。当下次重新启动处理进程的时候,进程重新创建需要的所有临时文件,就如同不知道上次中断退出一样,按照正常的逻辑运行。2.4. 分拣模块2.4.1. 功能概述分拣模块从格式化模块生成的有效计费记录文件目录中读取有效计费记录文件进行分析处理,完成对计费记录的业务分析、用户类型分析、查重、计费记录校验纠错,分发给批价模块的各个计费通道去处理。分拣功能图2.4.2. 功能描述2.4.2.1. 计费记录业务分析在计费记录业务分析过程中,主要分析计费记录的业务类型。其中包括区内、区间业务等。全部通话业务分析都可以以参数配置的方式来实现,不依赖于程序的硬编码,极大的增强了分拣模块的适应性。2.4.2.2. 查重查重是指对同一语音网关产生的计费记录文件中,在一段时间范围内出现的主叫部分、被叫部分、通话结束时间、通话时长进行分析比较,完全相同的计费记录认为是重单。查重在内存中完成,对主机性能要求较高,可以根据各省主机配置情况和话务量进行分析,作为一个可选的功能模块。如计费主机内存配置足以存放一个交换机下的两小时的计费记录,并仍能保证有足够供其他程序运行的内存空间,则可选用该单元。2.5. 批价计费模块2.5.1. 功能概述批价计费模块负责把预处理后的话单文件根据设定的费率、计费单元等信息进行计费,并完成不同业务类型计费记录在不同目的地类型、日期类型和时段类型条件下的优惠,并完成各种特殊优惠。批价计费功能图2.5.2. 功能描述2.5.2.1. 多通道计费为了保证系统运行的效率,并充分利用主机系统的CPU资源,计费系统采用多个通道协同工作的方式。在配置信息中,将通道名称作为通道的标志符,根据配置信息中每个语音网关对应的处理通道标识符,来判定某个计费记录文件由哪个通道来处理。在启动批价计费模块时加载各通道对应的业务信息参数,从而实现多通道分别处理计费记录的功能。这样可以提高整体的处理效率,并且根据配置灵活设定通道处理业务对应语音网关的个数,可以实现通道与语音网关之间一对一或一对多的任意组合。2.5.2.2. 计费记录批价批价程序根据话单的通话起始、结束时间将话单拆分成若干时段,再根据主被叫等特征,对话单中的每个时段生成用来唯一标识话单特征的记录号标识,同时也就确定了计费公式以及相应的优惠规则和方法,从而实现计费和优惠。系统支持表驱动的计费公式费用计算方法。话单批价基本流程图1 批价准备(1) 确定目的地类型首先,根据话单的被叫网关,确定话单的目的地类型,分别到不同的参数表结构中去查找相应的类型标识,这些类型就是各个分局。(2) 通话时长的分段为了实现话单的灵活费率政策,先要根据话单的开始时间确定日期类型信息,如普通日、周末假日或法定节假日,再根据特定日期类型中不同的时段类型进行分段。通过确定时段类型,从而确定计费费率和单元时长,这样就可以实现不同日期、不同时间段费率的灵活设定。在每一个时段中计算出该时段内计费单元总数,供随后的批价计算本段通话费用。在将通话时长进行了分段,并记录下每个时段内通话计费的相关信息后,同时也可得到每段通话的日期类型、时段类型信息。(3) 计费公式组的确定接下来,将上述各信息记录到话单各分段的记录标识中,形成话单完整的记录标识集合,同时根据计费配置信息中定义的记录号标识域值与计费公式的对应关系,确定每个记录号标识对应的一组计费公式,其中包括基本费、附加费、优惠费和总费用的计费表达式。2批价计费在确定了通话时长各个分段对应的各组计费公式后,根据基本费或附加费的计费表达式中的关键字和数字、计算符号的表示,分别计算话单的每个分段中的费用。表达式中的关键字表示了基本的计费规则,主要包括基本费率、附加费率、计费单元数等,基本费公式一般为(基本费率*计费单元数)。根据不同的计费公式计算基本费、附加费,同时完成通话中每个分段的计费时长和计费单元总数的计算,最后将所有的费用、计费时长和单元数进行累加,得到一条通话的完整费用。2.5.2.3. 计费帐单数据格式序号名 称字节数备 注1记录类型2bytes发起话单类型为“20”,落地话单类型为“30”2发起网关15bytes标准IP地址;左对齐,右补空格3落地网关15bytes4主叫号码21bytes左对齐,右补空格。5被叫号码21bytes6服务类型1byte保留7通话起始时间14bytesYYYYMMDDHH24MISS8通话结束时间14bytesYYYYMMDDHH24MISS9通话时长6bytes单位:秒;右对齐,左补010计费单元长度1byte11总计费单元数6bytes12基本费率1byes13基本费用6bytes人民币:分;右对齐,左补0。14优惠费用6bytes人民币:分;右对齐,左补0。10总费用6bytes人民币:分;右对齐,左补0。2.6. 结算模块结算模块负责费用的分摊计算,生成详细的帐单,结算模块的主处理流程见结算处理流程图。结算处理流程结算模块的功能有:² 实时的详单处理;² 完整详细的结算分类数据;² 灵活的结算规则参数配置;² 报表查询功能。² 结算帐单生成地市来话呼叫次数(次)去话呼叫次数(次)区内(次)来话记费时长(分)去话计费时长(分)区内计费时长(分)来话费用(元)去话费用(元)区内费用(元)应付(元)北京广州上海.结算帐单格式为:2.7. 统计查询模块统计查询模块的功能是将计费系统的各个模块所产生的数据, 按用户的要求进行分类统计后, 呈现给用户。本模块实行严密的权限管理,数据准确性、一致性、抽取过程高效,且对生产系统影响小, 维护方便, 灵活、适应变化能力强,可根据用户的需求快速灵活的增加新的统计查询报表。月末,系统自动生成分局各用户的详细帐单,用户也可以按照用户名称、服务类型、时间段、发起和目的地址、连接时长、费率范围等条件或组合条件统计查询符合要求的计费细目;用户还可以查询某用户的原始计费信息、统计整个网络的业务量等。还有各种话务统计:Ø 按照业务类型统计Ø 按照通话地域统计Ø 按照时间段统计Ø 按照数据来源统计Ø 按照路由情况统计附业务量统计报表和流向流量统计报表。中国民航数据网VOIP话务量统计报表分公司代码指标名称去话通话总次数去话总计费时长去话总通话费超短话单通话时长区内去话通话次数区内去话计费时长区内去话通话费区间去话通话次数区间去话计费时长区间去话通话费分公司次6秒元6秒次6秒元次6秒元北京上海广东中国民航数据网VOIP业务流向流量明细表主叫端落地端北京上海分公司通话次数通话时长(秒)通话计费时长(计费单元)通话费用(元)通话次数通话时长(秒)通话计费时长(计费单元)通话费用(元)通话次数通话时长(秒)通话计费时长(计费单元)通话费用(元)北京上海2.8. 系统监控模块监控系统SmrtMonitor是用来对整个计费系统所处的环境(操作系统、数据库、网络、应用程序等)进行实时监控,实时显示整个系统运行状态,故障时会有邮件、短信、寻呼报警等。2.8.1. 系统体系结构体系结构示意图在SmrtMonitor监控系统中,分为前台和后台两部分:前台的SmrtMonitor、后台的Monitor Agent。系统的体系结构见体系示意图。整个SmrtMonitor监控系统采用双C/S的架构,是在传统的C/S模式上的一个升级。该系统前后台互为C/S结构,前后台之间可以随时互发请求并响应。前台SmrtMonitor为整个监控系统的主控中心,通过后台的Monitor Agent监测代理来把握整个计费系统自身以及所处的环境(主机、操作系统、数据库、网络等)的大体情况。前后台之间通过基于TCP的Socket进行通信,前后台之间通信时必须建立TCP连接方可进行,可以确保数据的完整性。2.8.2. 功能概述SmrtMonitor 监控模块是运行在若干台主机上的一套监控系统,通过该监控系统可以实时连接整个计费系统的运行状况以及计费系统所处环境的运行状况。概括起来有如下几个方面的内容:A. 查询操作系统资源状况、B. 查询操作系统安全状况、C. 查询数据库管理系统的资源状况、D. 查询计费系统相关的网络状况、E. 查询计费系统相关的后台进程运行状况。监控系统后台相关的内容有三部分:A. 提供给计费系统相关各后台进程的接口: 收集计费系统相关后台进程所在主机的信息和后台进程的信息,形成特定格式的消息串;通过Socket通信将消息串发送给监控代理Monitor Agent。B. 监控代理:接收后台进程发送来的消息串内容,初步处理后(生成日志信息)转发给前台监控系统SmrtMonitor;其他主机监测代理的功能。C. 其他主机监测代理:轮询该模块所在主机的运行状况,发现异常情况向前台监控系统SmrtMonitor汇报;响应来自前台监控系统SmrtMonitor的请求,执行前台的请求动作,并将该动作的结果返回。监控系统前台相关的内容有七部分:A. 向后台各监测代理发送特定请求: 操作人员、维护人员在前台界面上靠鼠标点击完成的用于查询特定信息状况的操作。B. 接收后台各监测代理发送的消息内容: 开启Socket Server监听服务,等待Monitor Agent的连接;一旦有后台Monitor Agent的连接,便接收Monitor Agent发送过来的消息内容。基于TCP的Socket连接可以保障数据传输的完整性和稳定性。C. 分析消息内容并按照特定格式显示: 解析自Monitor Agent那里接收过来的消息内容,不同后台进程发送过来的消息放置在不同的位置,不同告警级别的消息内容用不同的字体、颜色显示。D. 告警子模块(图形、声音、邮件、短信等各种方式的告警形式,某些形式需要用户配合完成):告警子模块的主要功能是当计费系统出现异常情况时尽快使用户(维护人员)获知当前计费系统的问题所在,尽早解决,从而尽快使计费系统恢复正常运行。E. 后台各进程发送消息内容的入库操作: 后台各进程发送至前台的信息内容,不论正常、异常一律入库,将整个计费系统后台进程的运行状况保存在数据库里面,日后进行计费系统运行状况查询、日志查询时可以做到有案可稽。F. 数据库管理系统资源的监测: 通过该子模块,操作人员、维护人员可以方便的获取当前数据库管理系统的运行状况、表空间的利用率、回滚段的使用情况、数据库整体性能、数据库锁等。2.9. 参数配置模块2.9.1. 功能概述参数配置模块的功能是提供给用户一系列界面, 来配置系统所需的参数。包括对格式化模块、分拣模块、批价计费模块和结算模块参数的配置。本模块实行严密的权限管理, 确保重要参数的安全性。用户每一次改变参数(例如资费政策), 都会在日志中记录, 用户可以清楚地知道参数的变更情况。2.9.2. 资费政策和优惠配置用户、服务、时间段、发起和目的地址、速率范围、连接方式、流量等都可以作为设定费率的条件,系统支持对任意两地之间的费率、日期优惠、时段优惠等分别进行设置,也可以对这一整套资费、优惠进行设置,我们提出资费版本的概念,一个版本就是一整套资费政策和优惠规则,系统中可以存在几个版本就是存在几套资费政策和优惠规则,每个版本都有生效和失效时间,从而实现费率的平稳切换。并且提供给用户清晰友好的配置向导信息, 这样用户可以轻松方便完成复杂的配置。第三章 硬件配置鉴于业务量不大,建议采集机和计费主机共用一台主机,客户端采用一般地pc机即可,系统容量和主机性能要求如下:主机、存储计算业务量计算(月)计费记录数VOIP业务按一部电话每一个小时12条话单,一天8个小时计算=12*8*30*100*30864.0万主机、存储计算1) 采用RAID5(0.8)2) 文件系统冗余1.24) 日志文件冗余1.25) 数据库冗余2(数据以文件和数据库方式共存)6) 索引冗余1.27) 数据在线4+1个月8) 话单字节数256byte磁盘阵列容量需求为:B=F*5*1.2*1.2*2*1.2/0.844 G1) 带库在线12个月磁带库容量需求为:B*12/4133 G每分钟处理的话单数(忙时)MA*24%/24/601440 条采集、计费、结算处理每张话单总共需要2tpmc值(X)2880 增加30的性能冗余 主机所需tpmc值X/0.7(tpmc)4114 第四章 外部接口4.1. 和语音网关的接口计费系统通过此接口获取话单的计费原始信息, 语音网关CISCO2600路由器本地保存一定的CDR(Call Detailed Record)信息,并提供TFTP服务接口,计费系统可以通TFTP协议获取此部分信息,语音网关存储的CDR内容格式为:Date 通话日期 Orig. Time 通话时间 Origination IP 主叫IP地址 Orig. Device 主叫网关 Dest Device 被叫网关 QoS 服务质量 Orig QoS Quality of service shows the voice quality grade achieved for the calls. Dest QoS The QOS category experienced by the receiver of the call. Term. Time 通话结束时间 Duration(s) 通话时长 Orig The directory number from which the call was placed. Dest The directory number to which the call was originally placed. Orig. Codec The codec type (compression or payload type) that the call originator used on its sending side during this call. This may differ from the codec type used on its receiving side. Dest. Codec The codec type (compression or payload type) that the destination used on its sending side during this call. This may differ from the codec type used on its receiving side.详细信息请参考,CISCO提供的接口文档CDR.pdf。4.2. 提供给外部系统进行二次开发的接口计费系统预留和外部系统的接口,用于将计费话单进行二次开发,计费系统采用话单