本文介绍了广电网络资源管理系统构建中所应用的关键技术,结合关键技术,阐述了广州市广电网络OSS资源管理系统分析、设计与实现的过程。 关键词:OSS,ComGIS,ArcObject,空间数据引擎,组件技术
1、 概述
随着当前数字电视业务及宽带数据业务的迅猛发展,广电网络运营商的工作重点已由“如何建”逐步转移到“如何管”。以客户为中心、以市场为导向、以效益为目标,建设科学、先进、高效、自动的网络信息综合管理系统,在保证网络安全的同时,最大限度地利用网络资源,提高网络的运行质量和效率,为用户提供更多的服务内容和更高的服务质量已成为实现数字化整体平移和集约化经营的必然要求。怎样才能建设成一个系统、完整、有效支撑的广电信息系统是摆在所有广电人面前的一个崭新的课题。 根据文献[1],广电网络企业建模的视图模型由企业价值链视图、过程视图、功能视图、组织视图、信息视图、资源视图等组成。建模方法以企业价值链视图模型为先导,以过程视图模型为核心,功能视图、组织视图、资源视图模型为辅助来实现信息视图,最终实施广电网络信息系统的整体规划。 文献[3]对广电网络的信息系统进行了全面系统的整体规划,提出广电网络信息系统应在“广电综合网络管理系统专家建议书”的规范指导下,由综合管理支撑系统、业务支撑系统、运维支撑系统、企业数据中心等四大部分组成。如图1所示。

图1
广电网络企业运维支撑系统主要涵盖服务开通保障、接口管理、设备管理、定单管理、资源管理、综合网管和专业网管等。其中的资源管理与运营,主要对在城市丰富的电子形式的地理信息资料的基础上的广电网络资源(包括线路设备、库存设备和广电用户)统一管理的系统。它的特点在于在原有系统中引入了 GIS (地理信息系统)的空间数据与一般信息数据相互关联的概念和直观、统一的数据管理模式,使广电系统中的每一项资源都与地理位置存在直接或间接的联系,使各广电管理部门直观地、方便地执行各自相应的职能和管理各自的业务并简便快捷地进行各部门的业务联系,使整个广电网络资源和广电业务的管理达到统一、合理、方便、迅捷、高效、清晰的现代企业管理的标准。 GIS 起源于20世纪60年代末期,由于其独特的处理地理空间数据的功能,GIS技术已被广泛应用于环境资源管理与评价、城市和区域规划、土地管理、公共事业管理、灾害分析预测等诸多领域,因此GIS已经不再是一个单纯意义上的地理信息系统,它所包含的概念、引用的技术手段已经触及到各信息技术领域的前沿;信息科学的每一步发展,都能在 GIS 中得到较为及时的反映,并且在技术的深化过程中与 GIS 不断融合,相互补充,共同发展。 地理信息系统发展到今天,已经从单一领域扩大到了很广泛的领域,将这一技术在广电网络资源管理中推广,会收到很好的效果。有线电视 HFC 网络路由复杂,网络设备信息量大,网络管理维护困难,GIS 能够提供了最为自然、直观的维护管理系统图形界面,利用GIS这种高科技领域的核心技术结合计算机技术、通信技术等研制广电网络OSS资源管理软件系统,会是一种新型的、基于地图导航的、灵活方便的、又富有特色的管理系统。作为广电信息化综合运维支撑系统的重要组成部分,网络资源管理软件系统为广电各项业务的开展提供了有力的后盾支撑。 本文将对广电网络OSS资源管理系统中关键技术进行分析,并对广州市广电网络OSS资源管理系统的设计过程作了详细的介绍。
2、 构建广电网络OSS资源管理系统的关键技术
2.1 组件技术
目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术引发的。几年前,当微软公司首先使用OLE(Object Linking and Embedding,对象链接与嵌入技术)的时候,其初衷是为了增加软件的互操作性。然而在使用过程中,人们逐渐认识到这一技术背后的实质性内容和它在软件开发中所扮演的重要角色。组件技术以前所未有的方式提高了软件产业的生产效率,这一点已逐步成为软件开发人员的共识。传统的C/S结构、中间件等大型软件系统的构成形式,都将在组件的基础上重新构造。组件技术使近20年来兴起的面向对象技术进入到成熟的实用阶段。组件技术的关键是根据地理信息系统的功能和应用,形成一个对用户充分透明的属性和方法接口,做到组件的即插即用和无缝集成。 面对软件挑战而发展的面向对象技术(Object Oriented),其基本出发点是尽可能按照人类认识世界的方法和思维方式来分析和解决问题,并以对象为中心综合了功能抽象和数据抽象。由于面向对象方法特有的对象封装性和类的继承性,其开发的软件具有可复用、易维护、易集成等特性,因此能很好地满足系统的实际使用。在GIS所解决的问题中,许多空间实体都可视为面向对象中的对象,而现在流行的GIS软件也逐渐采用了面向对象的思想,如ArcInfo、MapInfo等。而如今不少GIS软件供应商开发的基于ActiveX的可编程GIS控件(如ESRI Map Objects、MapInfo MapX),则更加成熟地应用了面向对象的思想。
图2为基于组件技术的应用系统的构建。
组件技术有如下两方面的特点:
(1)可重用性。由于组件标准是建立在二进制基础上的,因此可以重用组件对象的功能,而不用考虑组件具体是如何实现的。

图2
(2)开发语言无关性。即组件的实现不依赖某一种特定的编程语言,并且编写组件的语言与调用组件的语言可以不同。
组件技术使近20年来兴起的面向对象技术进入到成熟实用化阶段。在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其它对象了解和调用。组件间的接口通过和一种与平台无关的语言IDL(Interface Define Language)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。目前主要有两个标准用来规范组件的连接和通讯问题。一个是OMG提出的CORBA(Common Object Request Broker Architecture),另一个是微软公司的DCOM (Distributed Component Object Model)。CORBA主要是采用对象管理体系参考模型来实现的,它包括应用对象、对象服务、通用实施和对象请求代理(ORB),其中,ORB是核心,它是在C/S应用模式下,负责客户机和服务器对话、实时颁布式处理应用的分布式软件(中间件)。ORB的机理首先接收客户对象发出的请求,找出能够满足请求的对象,然后将其转给服务器,通过相应的对象及对象服务进行处理,最后将执行结果或异常返回给请求的客户方。在异构分布环境中,ORB提供了应用程序交互操作的能力。但由于微软在PC操作系统中的地位,使得COM和DCOM逐渐赢得多数程序员的偏爱。
2.2 组件式GIS(ComGIS,Component GIS)和ArcObjects
GIS 技术的发展,在软件模式上经历了功能模块、包式软件、核心式软件,从而发展到组件式 GIS 的过程。传统 GIS 应用虽然在功能上已经比较成熟,但是由于这些系统大多是基于十多年前的软件技术开发的,属于独立封闭的系统。同时,GIS应用软件变得日益庞大,用户难以掌握,费用昂贵,阻碍了 GIS 的普及和应用。组件技术的出现为传统 GIS 面临的多种问题提供了全新的解决思路。组件技术是新一代 GIS 应用系统的重要基础,组件式 GIS 就是面向对象技术和组件技术在 GIS 软件开发中的应用。 组件式 GIS 给予标准的组件式平台,各个组件之间不仅可以进行自由、灵活的重组,而且具有可视化的界面和使用方便的标准接口。组件式 GIS 代表着当今 GIS发展的潮流。传统 GIS 开发工具由于其不灵活的开发方式及昂贵的价格,在相当大的程度上限制了 GIS 应用领域的发展。 ArcGIS是美国ESRI公司在全面整合了GIS与数据库、软件工程、人工智能、网络技术及其他多方面的计算机注流技术之后推出的一个统一的地理信息系统平台。ArcGIS是基于一套由共享GIS组件组成的通用组件库实现的,这些组件被称为ArcObjects。ArcObjects包含了大量的可编程组件,从细粒度的对象(例如,单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象)涉及面极广,这些对象为开发者集成了全面的GIS功能。 ArcObjects是一个允许用户从其他组件创建指定域组件的框架。ArcObjects组件和大多数GIS应用程序一样,用于数据管理功能服务和地图表现功能服务。ArcObjects这定制应用程序提供了基本的框架。开发人员无论应用何种开发环境进行二次开发,只要在设计时把引入的对象类声明为对象变量即可调用ArcObjects组件,轻松地实现GIS方面的功能。因此,开发人员只需把大部分注意力集中在用户的需求和软件界面设计上,开发出符合用户要求的界面及相关功能的应用软件系统。 ArcObjects组件库的每一个组件中定义有不同的类,类下面定义了不同接口,接口中包含不同的属性和方法。类之间有类型继承关系,接口之间有接口查询及接口继承关系。类型继承意味着子类继承父类所支持的所有接口,子类自己负责父类所支持的接口的代码实现;接口查询是客户需要其他的接口时调用的一种方法,可以使用COM对象的任何一个接口来检索到该对象的其他接口;接口继承意味着不需要采用接口查询的方法来获得父类或抽象类支持的接口。在ArcObjects组件的基础上可以进一步封装自己的COM组件,即新生成一个DLL、EXE或OCX工程,引用ArcObjects库,定义自己的接口和功能,底层功能的实现仍依赖于ArcObjects。这种开发方式具有最大的灵活性。
2.3 ArcSDE
ESRI的ArcSDE是一套空间数据库解决方案, 它在现有关系型数据库系统的基础上进行空间扩展,可以将空间和非空间数据存储在单一的关系型数据库中。ArcSDE提供了应用程序接口 (API), 开发人员可将空间数据检索和分析功能集成到他们的应用工程中去。由于采用了C/S的结构, 服务器和客户端异步协同工作, 支持大量用户可同时并发地对同一数据进行操作。ArcSDE相对于其所选用的DBMS而言,是扮演了一个“中间件”的角色。本系统在服务器端采用了ArcSDE空间数据库引擎, 将各项图形信息集中存储在MS-SQL-Server关系数据库中, 并通过ArcSDE实现对空间数据的快速调用, 这样可以实现空间数据与属性数据的集中存储, 而无需再建立数据库单独存放属性数据, 又可以保证数据的安全和多用户的并发控制。

图3
ArcSDE是位于RDBMS 和客户端之间的空间服务器,与RDBMS 集成于服务器端。ArcSDE在客户端和服务器端都有API,客户端API用于处理客户端应用程序提出的请求,并把这个请求翻译成标准的SQL语言,然后,通过服务器端的API建立与RDBMS的通讯,RDBMS统一管理图形和属性数据,将满足要求的结果由ArcSDE返回给客户。
3、 广电网络OSS资源管理系统的实现
3.1 技术框架 本系统将基于组件技术采用集成二次开发方式开发独立的应用系统,其具体实现的技术框架为:以Visual C++ 6.0为开发平台,嵌入基于接口编程的组件ArcObjects,利用其提供的Map控件,对地图数据进行可视化表达;利用ArcObjects提供的一些高级通用组件来完成ArcGIS提供的基本地图功能,如地图工具(选择、多边形选择,漫游、放大、缩小、实时缩放等),编辑工具(测距、标记、热点、增加节点、删除节点、打断、延长、剪切、画平行线、旋转、镜像等);而对于ArcGIS没有直接提供的一些行业特有的功能,如原理图生成、建立拓扑、连接分析、覆盖分析等,则在Visual C++ 6.0中建立动态链接库(DLL),在应该系统中以Windows API函数的形式调用。

图4
3.2 动态链接库的封装及调用
动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于dll中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。动态链接是相对于静态链接而言的。所谓静态链接是把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。 换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存就会存在这个函数的多个拷贝,这样就浪费内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用DLL中的函数时,根据链接产生的重定位信息,windows才转去执行DLL中相应的函数代码。一般情况下,如果一个应用程序使用了动态库,win32系统保证内存中只有DLL的一份复制品,这是通过内存映射文件实现的。DLL首先被调入Win32系统的全局堆栈,然后映射到调用这个DLL的进程地址空间。在Win32系统中,每个进程拥有自己的32位线性地址空间,如果一个DLL被多个进程调用,每个进程都会收到该DLL的一份映像。 许多编程工具(如VC、VB、Delphi等)都可以创建DLL,其中VC++ 6.0提供的功能最为强大,配合其丰富的MFC(MicroSoft Foundation Class,微软基础类库),使得VC成为许多开发者开发DLL的首选。VC支持的动态链接库包括4种:非MFC DLL、常规静态MFC链接DLL、常规动态MFC链接DLL、扩展MFC DLL。 DLL中有导出函数和内部函数二种。导出函数是可以被外部程序调用的函数,内部函数只能在DLL内部使用。导出函数是DLL的入口点。DLL中包含共享的数据、函数、类和其他资源,它们的导出方法并不一致。一种导出方法是使用*.def文件,在其中声明要导出的成员,*.h和*.cpp文件的编写规则同一般EXE程序源文件的编写规则一样。建立DLL时,链接器使用*.def文件来创建一个导出文件(.exp)和一个导入库文件(.lib),然后使用导出文件来创建.dll文件。另一种导出方法是导出符号(或其宏定义),直接在导出成员定义前加导出符号。使用关键字_declspec(dllexport)从DLL导出数据、函数、类和类的成员函数。 建立可执行程序时,使用隐式链接来调用DLL,需要相应的DDL(.dll文件)、包含导出函数声明的头文件(.h)和导入库(.lib)。Visual C++集成环境中,选择“Projects”选单中的“Setting”选项,然后从“Project Setting”对话框的“Link”选项卡的“Object/Library Modules”编辑框中指定导入库的名字。
3.3 系统数据的组织与管理 GIS数据中既不能采取传统的某种单一的数据库模型,也不能抛弃传统的数据库模型。而要采用建立在关系数据库管理系统基础上的一种综合数据模型,我们称之为扩展结构模型。扩展模型采用统一的DBMS 存储空间数据和属性数据。其做法是在标准的关系数据库上增加一个空间数据管理层。同时它将具体的实现细节完全封装起来,从而方便了用户的使用。 根据广电网络资源OSS系统应用的需要,系统数据分为需要经常编辑维护的网络资源数据层和相对比较稳定的背景地理图层两类。系统中空间数据采用分层存放。本系统采用分别设计空间数据库与属性数据库,统一存储,空间数据库按照ArcGIS的图层来管理,系统通过ArcSDE来访问、管理空间数据,进行空间查询和分析。系统中背景地理图每一图层对应一种类型的空间实体,其属性数据也通过ArcGIS内部数据库管理。ArcGIS的最大好处就是能实现空间数据和属性数据的无缝连接,突破了空间与属性数据分别存储的常规模式、实现了空间和属性数据的一体化管理。 数据库规划图如图5所示。
在设计综合空间地理数据库时,分为空间基础数据与空间专题数据两部分。空间基础数据又分成若干层来描述,如行政区划层包括了城市各区、镇的地理分布,属性信息主要有名称、面积等,其它主要还有大路层、房屋层、绿化层、水域层等。 空间专题数据主要有三类:传输线路层、线路节点层和通道层。 传输线路存放有线电视传输线路(包括光缆、电缆网络等)的地理分布、连接关系。其中:光缆表的属性信息包括:型号、芯数、结构、色谱、长度、生产厂家、生产日期、施工日期、敷设方式等。

图5
电缆表的属性信息包括:型号、长度、生产厂家、生产日期、施工日期、敷设方式、通电电流等。 线路节点层存放光缆和电缆连接点的地理分布,连接关系,对电缆而言,节点有:干放、延放、楼放、分配器、分支器、供电点等。对光缆而言,节点有:前端,分前端,光节点、熔接盒等。其中: 光缆接续点的属性信息包括:位置、类型、接续光缆数量、接续情况、安装形态等。 ODF架的属性信息包括:工作温度、大气压力、标称工作波长、光纤活动连接器、光纤光缆、介入损耗、回波损耗、机械性能等。 光发射机的属性信息包括:工作带宽、输入阻抗、输入反射损耗、带内平坦度、输入信号电平、射频检测衰减等。 光纤放大器的属性信息包括:标称增益、增益稳定度、射频、标称输入电平、标称输出电平等。 电缆放大器的属性信息包括:型号、编号、生产厂家、各口电平、配件安装情况、安装形态等。 分支/分配器的属性信息包括:型号、生产厂家、各口电平、安装形态等。 通道层主要存放管道、杆路及井位、线架等线路通道的地理分布信息等。其中: 管道表的属性信息包括:规格、数量、使用情况等。 管井表的属性信息包括:规格、位置等。 ArcSDE采用连续的数据模型,这些层中所有地理要素都可以用SDE 中的一层来存放,然后ArcSDE用格网对层进行逻辑分区,这样就可以通过格网来确定某个地理要素的位置。ArcSDE通过把空间数据类型加到关系型数据库中的方法来组织和存放空间要素,而不改变和影响现有数据库的使用。ArcSDE对所有的图层建立了层表(layer table),以便用于索引,加快查询速度。每一个图层由事务表( business table)、要素表(feature table)、空间索引表(spatial index tale)和坐标表(point table)组成。 关系数据库的采集、存储和管理相对简单一些。主要设计有权限库、用户库、器材库、故障维护库和工程库。将这些资料分析整理并按实体类型分类,每一类实体的属性数据存储在一个关系数据库表中。属性数据库可以使用E-R从用户的角度对数据和信息建立概念模型。 各类原理图、示意图、报表等应尽量采取即用即生成原则,使得需要存储的数据量大幅度减小,数据得到优化,并且各类图表与现有运行网络保持一致,加强数据的现实性。 3.4 功能设计 主要包括网络资源管理、工程辅助设计、网络运营和故障管理等,它涵盖了广州有线电视网络工程公司目前的主要业务需求。 (1)网络资源管理 实现对现有在线的网络资源的统一管理,对资源状况能做到方便的查询、统计和分析;包括:机房资源管理、光缆网资源管理、电缆网资源管理、管道和杆路资源管理等。

图6
(2)工程辅助设计 实现工程图纸的设计和工程管理,包括:光缆网设计、电缆网设计和管道及杆路设计;能确实做到方便的设计和出图,起到辅助设计的作用;工程管理主要实现工程的流程管理和工程信息数据录入、维护、审核、验收、查询、统计等。

图7
(3)网络运行维护和故障管理 对网络资源实现数据维护,对网络发生的历史故障能够统计、查询和分析。 网络运行维护可实现对网络发生故障的设备进行小范围的改动和调整;对设备的维护记录,能够查询统计;对网络设备做日常的测试,并且保存每次的测试记录,可与竣工数据进行比较,对历史的测试记录能够自动分析,当达到一定的临界值时,系统自动报警提示等。 故障管理中的故障分析可对指定发生故障的设备,分析故障设备所覆盖的范围,从而分析出故障影响的范围;能对历史故障信息能够查询和统计;可以分析各个片区的故障率,从而分析工程施工的质量;统计某个厂家的设备故障率等;还能根据预先指定的设备使用期限和维修期限,统计已到或者是快到期限的设备,生成统计表。 (4)系统维护 系统维护主要包括系统配置、权限以及用户管理、器材库管理、图层维护等,同时提供日志以及数据备份、恢复等功能。

图8
4、 结束语
广州市广电网络OSS资源管理系统是广州市广电运营支撑综合平台(BOSS系统)的重要组成部分,该系统已经应用于广州市广播电视网络有限公司各分公司,并在实际应用中对广州市的有线网络进行有效的管理,这对使用单位提高工作效率,降低成本,提高企业的市场竞争力具有巨大意义。 参考文献: [1] 王斌、章云,“广电网络企业建模的体系结构研究”,《电视技术》,2006年4月。 [2] 王卫乡等,“增强的电信运营图(eTOM)信息和通信服务行业的业务流程框架”,中信出版社。2000年。 [3] 王斌、罗嵘等,“企业信息系统整体规划方案的研究”,《世界宽带网络》,2006年6月。 [4] Understanding ArcSDE Environmental Systems Research Institute Inc, 2002 [5] SDE Help Environmental Systems Research Institute Inc, 2002 [6] ESRI ArcObject Developer Help Environmental Systems Research Institute Inc, 2002 [7] http://www.esri.com [8] http://www.gissky.net
作者简介: 王斌先生,广州市广播电视网络有限公司总经理助理,高级工程师,广东工业大学博士生。 李建华先生,广州市广播电视网络有限公司网络信息部工程师。 章云先生,广东工业大学副校长,教授,博士导师。
|