从去年7月份开始的项目终于在上周顺利验收了,项目过程遇到了很多问题,也有很多的收获。
项目背景
这个项目是老板和华为南研所合作的项目,主要是解决的NETCONF和异构YANG的语义理解问题。YANG是一种数据建模语言,用来构建设备和控制器端的配置和状态数据,NETCONF则是一个网管协议,现阶段被广泛使用。
主要工作
- 设计了Mediator框架:负责翻译转换不同的NETCONF消息,从控制器端转换为设备端的消息,消息的构建由YANG。
- Mediator部件:
- Adaptor:本期设计的是针对NETCONF消息的转换,预留了RESTFUL和GRPC等消息的接口
- mediator_core:核心转换的逻辑的编写,调用具体的翻译脚本进行翻译
- Data_provider:统一负责数据查询的接口,包括写入redis等操作
- 维护GitHub上的开源项目:mediator,mdk
- MDK:主要根据pyangbind进行的二次开发
- 主要技术栈:python:flask框架,swagger编写OPEN API,redis做事务数据缓存
总结
在项目开发过程中,进行过一次大的调整,主要是代码的重构,部分写的代码耦合过高,这也是后面在项目设计阶段需要注意的地方。在和公司交流的过程中,也学习到了很多的东西,包括4+1设计模式,开源项目的运作方式等等。项目结束之后,开始准备毕业设计了,现在项目可以支持毕业设计的实验部分和转译部分,前面部分的内容还要进一步挖掘。同时,继续进行秋招,昨天上午做了美团的面试,今天发出了面试邀请,fighting!