浅谈网管系统后台采集框架搭建
1 前言
传输综合网管和 c、g 网网管系统被交接给子公司已越半年。随着子公司业务和维护能
力增强,发现以前的系统由于历史原因有大量问题。而这些问题中很多都是传输综合网管
和 c、g 网网管系统共同存在的,这时整个网管系统统一改造被提了出来。传输综合网管和
c、g 网网管系统后台采集也和整个系统一样,存在大量的问题。例如,告警处理不过来,
资源同步,确认效率低等等。而这些问题都制约产品进一步发展,所以后台采集统一改造
事在必行。因为框架搭建是程序编写的先行军,所以后台采集统一框架搭建迫在眉睫。这
里结合近期项目实际工作,总结相关经验以抛砖引玉,和各位同事分享交流一下网管系统
后台采集框架搭建的架构设计经验。
2 后台框架设计需求
现在传输综合网管和 c、g 网网管系统后台采集编码语言繁多,有 c++,有 java,还有
VB,要求编码维护人员懂得多种语言,给编码维护人员能力很高要求。并且,随着软件技
术的发展,java 语言相对于 c++,VB 应用软件开发优势也越来越明显。语言统一要求,和
java 语言优势,让一个统一基于 java 语言的后台采集框架呼之欲出。
统一后台采集框架,具有多业务,跨领域的特点,决定了框架搭建时,应该具有以下
三个特性:
(1) 平台性
因为这个框架既要满足传输综合网管需求,又要满足 c、g 网网管系统需求,这要
求他具有平台性。传输综合网管和 c、g 网网管系统都基于这个已经抽象的平台上开发
就犹如每个编码人员在用专家的工具开发,效率不言而喻。一些公用功能的抽象和独
立,是框架平台性的基础,所以框架搭建时一定要能抽象出共同的业务结构和逻辑,
并将其独立化。
(2) 移植性
java 本身具有的高移植性,跨平台型,势必为我们开发节约大量的人力。这是整
个框架选择 java 这个语言最重要的原因。Java 的移植性,决定了我们可以在 windows
上开发,然后轻而易举的部署到 unix 环境上。对于 c++,这是可望而不可及的。而且,
java 的入门要比 c++容易得多,社会上的人才提供也充裕。
(3) 可扩展性
高可扩展性是能在需求发生变化的时候以最小代价去应付变化。随着 3G 时代的
到来,电信业务迅猛发展,很多 2G 功能已不适应 3G 的需求,需要重做。 这时如果我
们框架很具有从 2G 扩展到 3G 的扩展性,就将节约大量工作量,无形中会节约公司的
人力成本。可扩展性,是项目持续发展非常应该去思考的。
以下我将介绍如何将这些特性植根到我们的框架搭建之中。
3 后台框架具体设计
我们公司后台框架的历史就像项目历史一样悠久,其中不乏优秀的框架。对于前辈来
说,我充满了敬意。两次去网优支援,收获颇丰。汲取了网优后台采集设计的精华,并进
行思想上提炼,升华,总结,现和大家一起分享。
3.1 以任务调度为核心
在采集的业务需求中,有定时采集任务,比如,话单,每 10 分钟采集一次;还有人为
一次性手动采集,例如补采漏采的数据。如果只有单一一种定时任务,我们可以用操作系
统的定时任务就能解决。然而,我们如果有大量不同类型的定时任务,例如 5 分钟一次,
10 分钟一次,一天一次,还有临时一次性手动采集。这时,操作系统的定时任务已无法满