华为北向网管NCE开发教程(1)闭坑选接口协议
华为北向网管NCE开发教程(1)闭坑选接口协议
华为北向网管NCE开发教程(2)REST接口开发
华为北向网管NCE开发教程(3)CORBA协议开发
本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人,提供一点便利,方便后来的人少走弯路,篇幅太长,分几个章节写,这个章节主要以我自身经历,在进行开发前,避坑。
说一句吐槽的话,连家里的体称器都是华为的,电子产品基本都是华为的,一直都是华为的忠实粉,但是不得不吐槽一句,经过这次北向网管,不得不说吃相是真的难看。对接华为北向网管,是我作为程序员生涯最让人无语的一次开发经历,总之就是得加钱!
在开始北向网管之前,需要有北向网管接口及其相关文件资料,参考资料如下,本文将给你一个参考,减少你的开发成本

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

- 写完代码,于是准备去客户现场了,采集真实数据看看,好家伙到了现场,蒙蔽了,别说REST接口能用了,特码的,网络都不通,折腾了一下午,网终于通了,然后端口没通,这就是客户和华为那边给我们说的,你们需要的REST接口能用了,快来入场开发采集数据吧,你就说坑不坑吧。
- 第二天华为那边很忙,一直不搭理我们,然后给我们说的已经配置好的REST也没配置,我说,我知道怎么配置,你给我账号密码,我自己来配置,配置完了以后,一调接口赫然出现的返回报文,惊呆了我的双下巴。然后蒙蔽的联系客户现场华为,他真的很忙,忙到我在客户现场前后出差8天,我都没看到这个人过,打电话给他反正沟通下来也不知道怎么回事,最后就说,我们要用的REST没有license,然后我们就说,之前不是说license的吗?我们也登录系统,看到有license的啊,怎么现在就没了
{"code": "LICENSE_INVALID", "description": "License limit."
}
- 最后得出,要使用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开发吧。
- 用CORBA就CORBA吧,想着弄个北向接口测试工具NBITestTool来提前测试下接口,按照文档操作手册,最后我发现,还是得加钱,不加钱,你根本拿不到这个测试工具。
你以为你照着文档能到这个界面下载软件么?

实际上你根本照着这个文档就找不到上面的这个下载页面。好不容能一顿百度找到了以后,你以为你能下载了,不要意思,你点下载看到的是这个,还是那句话,得加钱!得加钱!得加钱!得加钱!得加钱!得加钱!

总结:
- 如果你要开始华为北向网管,或者中兴北向网管、烽火北向网管等等,首先第一个事,确定客户现场到底能用什么样的接口来开发,一定要在三确定,别像楼主一样,饶了几大圈,最后还是用corba开发。
- 华为的REST、Kafka属于增值服务接口,需要额外掏钱,这个看你项目是什么情况了,比如,如果你们是第一批用他们北向网管的,那就想办法说服客户,让他们买REST的增值服务,CORBA那玩意,无论开发效率还是维护性,可读性,调试性,跟REST完全没得比。那个CORBA接口文档,写的跟屎一样,写接口的人和写代码的人是两波人吧?
- 如果你们不是第一批采集数据的,避免风险,前面的人用什么接口协议采集数据,你们就用什么。
- 最后在吐槽一句,当初写华为北向网管CORBA接口文档的人,以及现在维护接口文档的人,真该拉出去枪毙了,拿那么高的工资,写的什么垃圾玩意文档。
- 通过华为北向网管这次接口对接,我是发现了,得加钱!得加钱!得加钱!得加钱!不加钱都是无解的。
相关文章:
华为北向网管NCE开发教程(1)闭坑选接口协议
华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人&…...
JavaScript极速入门-综合案例(3)
综合案例 猜数字 预期效果 代码实现 <button type"button" id"reset">重新开始一局游戏</button><br>请输入要猜的数字:<input type"text" id"number"><button type"button" id"button&q…...
RabbitMQ架构详解
文章目录 概述架构详解核心组件虚拟主机(Virtual Host)RabbitMQ 有几种广播类型 概述 RabbitMQ是⼀个高可用的消息中间件,支持多种协议和集群扩展。并且支持消息持久化和镜像队列,适用于对消息可靠性较高的场合 官网https://www.…...
编译内核错误 multiple definition of `yylloc‘
编译内核错误 # make ARCHarm CROSS_COMPILEarm-mix410-linux- uImageHOSTLD scripts/dtc/dtc /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss0x10): multiple definition of yylloc; scripts/dtc/dtc-lexer.lex.o:(.bss0x0): first defined here collect2: error: ld ret…...
深度学习模型部署(四)常用模型及推理平台评估指标
判断选择什么模型,什么量化方案,什么推理框架,最基础的知识就是如何评估自己的模型以及推理平台。 模型衡量标准 衡量一个模型的最直接标准就是运算速度,但是运算速度是无法计算的,所以定义了一些间接标准来推测模型的…...
【控制台警告】npm WARN EBADENGINE Unsupported engine
今天用webpack下载几个loader依赖,爆出了三个警告,大概的意思就是本地安装的node和npm的版本不是很匹配? 我的解决思路是: 先检查node和npm版本 然后去官网查找版本的对应 靠,官网404 Node.js (nodejs.org) 就找到…...
ArmSoM Rockchip系列产品 通用教程 之 GPIO 使用
1. GPIO简介 GPIO,全称 General-Purpose Input/Output(通用输入输出),是一种在计算机和嵌入式系统中常见的数字输入输出接口。它允许软件控制硬件的数字输入和输出,例如开关、传感器、LED灯等。GPIO通常由一个芯片或…...
npm镜像源地址
镜像源地址替换问题(重要) 2024 年 1 月 22 日 ,registry.npm.taobao.org 的 SSL 证书正式过期。 2022 年 5 月 淘宝源发布了公告: (大家应该没有太多关注哦,也包括我,哈哈) &am…...
Java的Writer类详解
咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…...
R语言基础的代码语法解译笔记
1、双冒号,即:“::” 要使用某个包里的函数,通常做法是先加载(library)包,再调用函数。最新加载的包的namespace会成为最新的enviroment,某些情况下可能影响函数的结果。而package name::funct…...
【蓝桥杯】蓝桥杯算法复习(一)
😀大家好,我是白晨,一个不是很能熬夜😫,但是也想日更的人✈。如果喜欢这篇文章,点个赞👍,关注一下👀白晨吧!你的支持就是我最大的动力!Ǵ…...
移动端精准测试简介
在测试领域每隔一段时间,就会有一些主流的测试技术,比如说:接口自动化,WebUI, AppUI自动化,然后就是测试平台的开发,各类专项测试(性能,安全),再到前几年的手机集群云测平…...
CCProxy代理服务器地址的设置步骤
目录 前言 一、下载和安装CCProxy 二、启动CCProxy并设置代理服务器地址 三、验证代理服务器设置是否生效 四、使用CCProxy进行代理设置的代码示例 总结 前言 CCProxy是一款常用的代理服务器软件,可以帮助用户实现网络共享和上网代理。本文将详细介绍CCProxy…...
探秘分布式神器RMI:原理、应用与前景分析(二)
本系列文章简介: 本系列文章将深入探究RMI远程调用的原理、应用及未来的发展趋势。首先,我们会详细介绍RMI的工作原理和基本流程,解析其在分布式系统中的核心技术。随后,我们将探讨RMI在各个领域的应用,包括分布式计算…...
[项目设计] 从零实现的高并发内存池(三)
🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[高并发内存池] ❤️ 前置学习专栏:[Linux学习] ⏰ 我们仍在旅途 目录 4.CentralCache实现 4.1 CentralCache整体架构 4.2 围绕Span的相关设计…...
将Q算法和D算法结合应用到llm解码上之人在回路
将Q算法和D算法结合应用到llm解码上之人在回路 参考地址代码解释 参考地址 https://dongfangyou.blog.csdn.net/article/details/136466609 代码 import numpy as np from tqdm import tqdmfrom sample import net, char2id_dict, get_real_p# 假设的词汇表 VOCABULARY lis…...
el-table-column嵌套el-form-item不能进行校验问题解决
项目为vue3elementPlus开发的项目 业务要求:table表格展示数据,其中有一行是ip地址可展示可修改,此处要求增加自定义校验规则 先看一下效果: 此处先描述一下,问题出在了哪里,我将el-table的data,使用一个…...
leetcode200. 岛屿数量
leetcode200. 岛屿数量 题目 思路 遍历每一个网格,若网格为1,岛屿数量1,利用一个深度优先搜索函数将岛屿置零,注意判断数组边界 代码 class Solution:def numIslands(self, grid: List[List[str]]) -> int:self.grid grid…...
MySQL--索引类型详解
索引的类型 主键索引: PRIMARY KEY,当一张表的某个列是主键的时候,该列就是主键索引,一张表只允许有一个主键索引,主键所在的列不能为空。 创建主键索引的SQL语法: # 给user表中的id字段创建名为id_ind…...
R语言中ggplot2图例位置、颜色、背景、标题
目录 1、不显示图例 2、自定义图例位置 3、修改图例背景颜色、外框颜色、大小 4、修改图例大小 5、图例设置背景、线框为空 6、自定义设置多个图例的标题 7、设置多个图例的之间的间隔 8、取消不需要的图例显示 1、不显示图例 theme(legend.position "none"…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
