华为北向网管NCE开发教程(1)闭坑选接口协议

2024-03-09 08:28

本文主要是介绍华为北向网管NCE开发教程(1)闭坑选接口协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

华为北向网管NCE开发教程(1)闭坑选接口协议
华为北向网管NCE开发教程(2)REST接口开发
华为北向网管NCE开发教程(3)CORBA协议开发
本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人,提供一点便利,方便后来的人少走弯路,篇幅太长,分几个章节写,这个章节主要以我自身经历,在进行开发前,避坑。


说一句吐槽的话,连家里的体称器都是华为的,电子产品基本都是华为的,一直都是华为的忠实粉,但是不得不吐槽一句,经过这次北向网管,不得不说吃相是真的难看。对接华为北向网管,是我作为程序员生涯最让人无语的一次开发经历,总之就是得加钱!

在开始北向网管之前,需要有北向网管接口及其相关文件资料,参考资料如下,本文将给你一个参考,减少你的开发成本
在这里插入图片描述
确定使用的华为北向接口(极其重要)
华为北向接口,通过上述我手中的资料,不难发现,接口类型有很多,选择一个合适,且能用的接口,真的太重要了,不然,你白搭。这个尤其重要。

  1. corba
  2. kafka
  3. snmp
  4. xml
  5. rest
  6. omc

通过我的经历来,来让你们知道选对接口多么重要
首先作为技术来说,看到有kafka,其实还是觉得用kafka比较好的,毕竟用mq的方式,尤其采集数据这种,数据量一上来,消息队列是首选,但是经过我的慎重选择,一开始我选择用REST开发,但是最后用CORBA。血的教训

  1. 华为北向网管大概是在我入职没有多久的时候,确定下来要做的事,作为一名技术从业者,当然我选择用kafka,你非得理由,理由就是大数据量用MQ比较好,并且感觉用kafka逼格会高一点
  2. 实际上是我入职两年多了以后,这个项目才开始启动,这时候我对公司也比较了解了,和很过国企央企一样,很多项目代码水平能到2017年,就谢天谢地了,所以我放弃使用kafka,准备使用rest,别问,问就是用kafka,无异于让人家刚幼儿园毕业,就让人家去读大学了。(七八年后端开发经验的人,不知道rest、kafka是什么的程序员很多)
  3. REST开发的方便性和效率,甩corba远的不是一丁半点的距离,当然,主要原因还是,华为的北向网管的corba接口,写的是在是太烂了,很多接口看不懂,不知道怎么传参数就对了,确定好用REST接口开发以后,我就开始看接口文档了,接口文档很大,大到公司电脑打开就死机。莫得办法,用家里64G内存,13代I9处理器的电脑,转成了PDF格式,这REST接口文档,才能正常在公司打开。
  4. 接下来就是去客户现场,看下他们的华为北向网管系统,嗯,确定一个事,网络账号都是问题,反正就是ping不通,telnet不通,客户现场人员都是技术小白,不知道什么叫做端口,也没有网管,没有运维,有个华为的在远程支援。折腾了三天,终于网通了,账号能用了,测试了下,他们目前的corba能用,但是rest接口不能用,看了下客户现场的license是有rest的(至少那会儿我以为有,我也看了系统里面的license,确实有rest接口)。客户现场和华为那边支援的也给我们保证了,他们会配好了rest接口,能用rest接口采集数据。让我们尽快入场,早日推动开发。
  5. 因此我们回到自己单位,我们实验室也有华为北向网管系统,因此在我们实验室,按照用户操作指南,开启了REST接口,从我开始第一次配置,到我抓取数据结束,就仅仅用了一下午而已。以下是我第一次接触华为北向网管采集了我们需要的数据,每个数据用哪个接口,请求参数,响应参数如下面的形式。这也是我用REST的原因,只需要找一台能连接网管系统的电脑,上面安装了能测试API接口的软件即可,例如postMan,知道接口,请求参数就能开始调试接口了,拿到报文以后,在回到工位上打开GPT,然GPT根据报文生成java对象,这不分分钟就做完了嘛

在这里插入图片描述

  1. 写完代码,于是准备去客户现场了,采集真实数据看看,好家伙到了现场,蒙蔽了,别说REST接口能用了,特码的,网络都不通,折腾了一下午,网终于通了,然后端口没通,这就是客户和华为那边给我们说的,你们需要的REST接口能用了,快来入场开发采集数据吧,你就说坑不坑吧。
  2. 第二天华为那边很忙,一直不搭理我们,然后给我们说的已经配置好的REST也没配置,我说,我知道怎么配置,你给我账号密码,我自己来配置,配置完了以后,一调接口赫然出现的返回报文,惊呆了我的双下巴。然后蒙蔽的联系客户现场华为,他真的很忙,忙到我在客户现场前后出差8天,我都没看到这个人过,打电话给他反正沟通下来也不知道怎么回事,最后就说,我们要用的REST没有license,然后我们就说,之前不是说license的吗?我们也登录系统,看到有license的啊,怎么现在就没了
{"code": "LICENSE_INVALID", "description": "License limit."
}
  1. 最后得出,要使用REST接口,还需要买一个叫做消耗量的东西,我理解就是类似叫做流量的东西。并不是你办理了一张上网电话卡,你就能上网了,你还得买流量。
    下面这是SNMP、CORBA、XML接口用的license,可以看到是永久
    在这里插入图片描述
    下面这个是REST、Kafka的license,也是永久的
    在这里插入图片描述
    但是为何CORBA能用,而REST就是LICENSE_INVALID嗯?
    原来里面还有一个叫做《消耗量/容量》的东西
消耗量/容量  >  120% ,license将直接不能用
消耗量/容量  <  100% ,license一直可用
100%  <消耗量/容量  <  120% ,license只可以在用三个月看上面的消耗量
REST
588.9 / 12  这已经不知道超出多少个百分之20了,直接不能用了CORBA
206.3667 / 205 超出的部分,在百分之20以内,还能用3个月,

华为方面表示

CORBA保证一定想办法给我们能用,但是REST不保证,
因为当初买他们设备的时候,华为只答应给CORBA,没有答应给REST,
REST属于增值服务,得加钱!得加钱!得加钱!得加钱!
加多少,得和商务谈判,跟他们技术人员无关

之前一再强调能不能用REST开发的时候,你们说可以,现在用REST开发完了,然后说不可以,得加钱买消耗量,才可以用REST,我特娘的代码都写完了,你来一句要用得加钱!最后还是我们承担了开发成本,从新用CORBA开发吧。

  1. 用CORBA就CORBA吧,想着弄个北向接口测试工具NBITestTool来提前测试下接口,按照文档操作手册,最后我发现,还是得加钱,不加钱,你根本拿不到这个测试工具。
    你以为你照着文档能到这个界面下载软件么?
    在这里插入图片描述
    实际上你根本照着这个文档就找不到上面的这个下载页面。好不容能一顿百度找到了以后,你以为你能下载了,不要意思,你点下载看到的是这个,还是那句话,得加钱!得加钱!得加钱!得加钱!得加钱!得加钱!
    在这里插入图片描述

总结

  1. 如果你要开始华为北向网管,或者中兴北向网管、烽火北向网管等等,首先第一个事,确定客户现场到底能用什么样的接口来开发,一定要在三确定,别像楼主一样,饶了几大圈,最后还是用corba开发。
  2. 华为的REST、Kafka属于增值服务接口,需要额外掏钱,这个看你项目是什么情况了,比如,如果你们是第一批用他们北向网管的,那就想办法说服客户,让他们买REST的增值服务,CORBA那玩意,无论开发效率还是维护性,可读性,调试性,跟REST完全没得比。那个CORBA接口文档,写的跟屎一样,写接口的人和写代码的人是两波人吧?
  3. 如果你们不是第一批采集数据的,避免风险,前面的人用什么接口协议采集数据,你们就用什么。
  4. 最后在吐槽一句,当初写华为北向网管CORBA接口文档的人,以及现在维护接口文档的人,真该拉出去枪毙了,拿那么高的工资,写的什么垃圾玩意文档。
  5. 通过华为北向网管这次接口对接,我是发现了,得加钱!得加钱!得加钱!得加钱!不加钱都是无解的。

这篇关于华为北向网管NCE开发教程(1)闭坑选接口协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优