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



http://www.chinasem.cn/article/383153

相关文章

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符