一种电信计费系统的设计和实现_第1页
一种电信计费系统的设计和实现_第2页
一种电信计费系统的设计和实现_第3页
一种电信计费系统的设计和实现_第4页
一种电信计费系统的设计和实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑一种电信计费系统的设计和实现

电信计费综合管理系统在电信市话业务综合管理系统中占有着重要的地位。传统的计费系统针对不同的业务开发相应的计费软件,当费率调整或计费规则发生变化时,必须对原有软件做大的修改。当业务扩充时,则要重新开发相应的软件功能模块。软件维护人员工作量大,系统容易出现差错。这种系统已经不能适应电信业务飞速发展的需要。针对这种状况,银川市电信局在"九七"工程实施时,重新开发了满足"九七"工程技术规范的新计费系统。对计费系统的设计,要求它形成一个综合计费平台,不仅能为用户提供全方位的计费服务,同时还必须适应电信业务发展的需要,满足电信业务种类繁多、新业务增加快等发展要求,因此系统必须具备灵活性和易扩充性,功能涵盖所有的电信业务,终实现对所有业务的统一计费结算。

1计费系统的功能结构

电信计费系统按模块化的组件思想来设计,根据各功能模块所起作用可将它们分为四个层次:网络设备层、系统设备接口支持层、系统业务处理层和系统管理层。图1为系统功能结构。

(1)网络设备层主要是各种各样的网络设备、连接设备等,它们是生产系统的组成部分,用来处理各种业务的原始数据。(2)系统设备接口支持层主要负责对各种设备提交的业务请求进行响应(如RADIUS服务器)。(3)系统业务处理层主要处理各种业务数据,包括数据库、计费子系统和账务子系统等。这些子系统又分别包含了对业务的支持功能模块,它们与具体的业务操作设备相连,通过Mediation对上层提供一致的数据格式和控制接口。(4)系统管理层主要处理业务的统计分析、业务的快速生成、整个系统的运行管理和维护以及用户的业务受理等,为系统提供外部的应用接口。

由图1可以看出计费系统的规模大,处理流程十分复杂;承载的业务种类多,涉及众多网络设备及相关协议;数据的处理量大,模块的相互调用相当频繁等。这些都是传统模式的计费系统很难实现的。

2基于CORBA的计费系统软件架构

CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。或者说CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。

CORBA是一种异构平台下的语言无关的对象互操作模型。它通过ORB屏蔽了底层的通信细节,实现真正的跨平台;通过IDL(InterfaceDefinitionLanguage)接口定义语言,实现语言无关性。基于CORBA的计费系统软件架构如图2所示。

整个系统按照请求/服务的方式进行设计,各功能模块统一中间层(MediationServiceComponent)、业务处理层(BillingServiceComponent)、外部接口OMS(OutInterfaceManagementService)、数据访问平台DAP(DataAccessPlatform),以组件的方式连接在CORBA上,通过CORBA自身的分布式对象服务支持的功能,实现分布环境中的透明对象服务,保证系统的开放性和扩展性。同时,图中各组件之间的接口功能简单,有利于实现系统的边缘智能化和功能的任意组合。各功能模块关键技术的设计思路如下:

(1)统一中间层可实现系统对业务的灵活支持。前端各种业务的生产数据采集器Agent将采集到的由不同协议封装的各种不同数据格式的原始设备数据提交给统一中间层,由统一中间层依据对业务分析的理解,生成统一的系统处理数据格式XDR(extendedDetailedRecord),即扩展的详细记录,从而提高系统运行层资源的计算能力。(2)数据访问平台DAP作为数据库中间件和一组服务的集成,位于数据库和CORBA数据总线之间,是数据操作的统一通道。DAP通过实现数据存储与业务处理逻辑相分离,保证数据存储与业务的无关性,有利于实现高性能的数据存储事务操作。同时,该系统可根据需要连接多个DAP在CORBA总线上,使其能够自动有效地实现负载平衡。(3)业务处理是计费系统的重要部分,主要包括计费管理、结算管理、账务管理和信用管理等功能模块。这些模块构建在CORBA总线上,在逻辑上和物理上是对等的,具有可重复性,可以实现业务处理的均衡负载,有助于新业务的扩展。(4)外部接口是一系列面向系统管理员、操作员和终用户的辅助工具集,主要提供统计、查询、出账、结算和系统配置等功能。因为CORBA具有语言无关性,开发人员可使用熟悉或高效的语言进行开发和实现外部接口,从而提高开发的效率和降低开发人员的劳动强度。同时这种语言无关的特性也有利于实现计费系统的无缝集成。(5)CORBA中间件作为计费系统的模块,主要负责各主机间的连接和通信。在该系统架构中,CORBA中间件担当对象Servent资源管理器的角色,为分布式应用提供实时的、高效的、可靠的、跨越不同操作系统、不同网络环境、不同编程语言的对象传送服务。

同时,CORBA中间件还构造了一个多层结构的应用和开发平台,其主要组成部分包括应用程序开发接口SmartAgent、运行、负载平衡等。SmartAgent是一组功能完善的函数,应用程序通过此组函数与各个节点上的对象交换信息,获取该节点对象提供的服务;运行是给应用进程提供服务,对网络状态进行监控,处理各种异常情况;负载平衡允许动态加载模块等。

3SmartAgent和负载平衡策略

3.1SmartAgent

CORBA中间件提供的是一个开发平台,与一般的应用程序不同,其表现形式主要是通过API或Class来给客户程序调用。在基于CORBA计费系统中,所有服务和调用都是基于对象的,而这些对象服务程序分布在网络上的大量节点上,因此当一个节点要获取另外一个节点的计算结果时,只需要获取这个节点的对象服务程序的引用。依据这些特点设计了SmartAgent类图,如图3所示。

图3说明了一个节点通过SmartAgent获得另外一个节点的引用过程。在SmartAgent类中存在一个Object_Group_Factory的对象,此对象封装了"各类对象引用集合"的管理和操作,其中resolve()可以得到一个"引用集合"的指针,Make_group()可以创建一个"引用集合".而"引用集合"Object_Group负责同一类引用的管理和操作,其中Resolve_with_id()可以获得该集合中的一个元素,Bind()可以将一个元素插入到该集合中,Unbind()可以把一个元素从该集合中删除。

SmartAgent的作用主要有二点:(1)屏蔽底层ORB的编程细节。当客户端要获得一个引用时,客户程序不需要了解CORBA编程细节和底层通信问题,只需调用SmartAgent的resolve()方法就可得到,或直接利用数据路由调用SmartAgent的Do()方法。(2)为实现灵活的负载平衡策略提供条件。SmartAgent在初始化时和各个需要通信的模块预先建立多个数据通道,此数据通道的表现形式为Object_Group_

Factory类。当客户端请求和另外的模块进行通信时,SmartAgent自动从自己的对象引用池中根据系统配置的负载平衡策略找出空闲的引用,交给客户程序使用。若客户程序发现引用已失效,SmartAgent将自动从LoadBalance服务器中重新取得对象引用。

3.2负载平衡策略

负载均衡NAT(NetworkAddressTranslation网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的InternetIP地址间进行转换。适用于解决InternetIP地址紧张、不想让网络外部知道内部网络结构等的场合下。

基于CORBA中间件的负载平衡策略如下:所有服务接口在"LoadBalance服务器中注册",对每个Servent的method都有一个负载因子。客户端在初始化时,性调用SmartAgent从LoadBalance获得所需要的所有服务对象引用。其中,每个Servent的负载情况算法为:interface的负载因子=(各个method的负载系数?鄢单位时间内调用次数)?鄢硬件系数。每个Interface会在单位时间内将自己的负载情况统计出来。当SmartAgent从LoadBalance获取引用时,LoadBalance根据各个Servent的负载因子分配相应的引用。

负载平衡策略的IDL描述如下:

moduleLoadBalance{

typedefstringMember_ID;

typedefsequenceMember_IDMember_ID_List;

structObjMember{

Objectobj;

Member_IDid;};

typedefstringGroup_ID;

typedefsequenceGroup_IDGroup_List;

interfaceObject_Chain;

interfaceObject_Chain_Store{

Object_Chainmake(inGroup_ID);

Object_Chainresolve(inGroup_ID)raise(no_such_group);

Group_ListList();};

interfaceObject_Chain{

readonlyattributestringid;

voidbind(inMembermember_)raises(duplicate_member);

voidunbind(inMember_IDid)raises(no_such_member);

Objectresolve()raises(no_such_member);

Objectresolve_with_id(inMember_IDid)raises(no_such_member);

Member_ID_Listmembers();

voiddestroy();};}

4结论

综上所述,基于CORBA的电信计费系统有如下特点:支持跨

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论