基于中国移动OMC系统北向接口规范实现及源码

2023-11-10 14:10

本文主要是介绍基于中国移动OMC系统北向接口规范实现及源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 中国移动OMC系统北向接口规范要求

OMC北向接口是OMC系统与网络管理系统(NMS)间的接口,分为上行接口和下行接口。上行接口指从OMC到NMS的接口,下行接口指从NMS到OMC的接口。

接口总体架构如下:


接口说明:

1、资源数据接口:数据量相对较小,周期性单向传送,数据时延要求较低。

2、性能数据接口:数据量相对较大,周期性单向传送,数据时延要求一般。

3、告警数据接口:单条信息数据量较小、总体数据量较大,要求数据实时传送。

4、操作指令接口:网络设备的操作指令通道接口,为上层网管提供下行指令通道,并反馈操作指令返回结果,数据量相对较小,实时性要求较高。

    基于上述中国移动规范要求,以及公司本身JAVA技术平台积累,提出如下技术架构方案。

二.物理架构设计

按照《OMC系统通用技术规范V1.0.0(20160612)》中描述北向支持如下分离式物理部署视图:


其中在生产模式下,OMC网管服务器与北向服务器可以支持部署在同一服务器上或者是部署在不同独立物理服务器上。如果部署在同一物理服务器上时,OMC网管服务程序与北向服务程序也是运行在不同进程中。

三.接口架构设计

根据《OMC系统北向接口通用技术规范V1.0.0(20160621)》中描述,各层次之间接口设计如下:


其中OMC北向网管与NMS综合网管系统之间接口为《OMC系统北向接口通用技术规范V1.0.0(20160621)》接口架构所定义。包含性能,资源数据的FTP接口以及告警与指令的TCP接口。OMC网管与OMC北向系统之间接口为厂商自定义,包括RMI接口与JMS接口。其中RMI接口定义北向与网管之间所有指令操作API,JMS为告警信息传递接口。满足北向告警性能要求。

四.OMC北向整体设计

根据目前网管系统架构设计,以及上述分离式北向支持需求,OMC北向系统整体由两大子系统部分构成。一是OMC北向子系统本身,二是OMC网管系统中包括北向模块子系统部分,其中包括有北向框架模块,以及各自产品北向模块。


可以看到两个子系统一并构成整个OMC北向系统整体结构,各自运行在各自不同的JVM虚拟机中,可以是跨服务器。

五.OMC北向子系统模块设计

OMC北向子系统从上到下模块划分如下图所示,其中北向接口是用于NMS直接连接Socket NIO接口,南向接口为与OMC网管系统连接接口。中间为业务处理模块,包括数据库持久化设计,FTP服务器设计等。


模块功能设计描述

根据上述逻辑架构设计,OMC北向包含三大功能模块组成:北向接口框架模块,业务处理模块以及南向接口框架模块。

北向接口模块设计

北向接口模块是负责与NMS上层综合网管对接以及指令传递处理交互作用。同时还负责着将OMC网管告警通过TCP方式上报给NMS上层网管系统。并保证时延尽可能低以及负载处理尽可能高效。同时需要考虑到集采测试过程中NMS上层模拟器的不稳定性,避免导致OMC北向系统的不稳定。

Socket框架的搭建是关键,需要保证上述条件。同时指令解析模块负责根据《OMC系统北向接口通用技术规范V1.0.0(20160621)》中描述指令格式编解码并完成指令传递与处理。

南向接口模块设计

南向接口模块是负责与OMC网管系统之间对接交互作用,同时还负责将OMC网管系统告警信息实时获取以便后续处理。

其中RMI框架负责以服务方式与OMC网管系统进行数据获取,如资源数据以及后续性能数据采集通道。

JMS框架负责获取OMC网管系统实时告警数据,保障单条数据量较小,但是总体数据量较大,实时性较高特点。

调度框架根据自定义要求实现调度要求。



这篇关于基于中国移动OMC系统北向接口规范实现及源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/bangbangdebaba/article/details/74905733
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/383153

相关文章

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经