java:
spring,springMVC,spring boot,spring cloud
关系型数据库:oracle,mysql
非关系型数据库:ES,reids,hbase
中间件:kafka,activeMq,zookeeper
服务器:tomcat
代码管理:svn,git,github
前端:layui,bootstrap,html5,css,query,ajax,js
项目经验:
项目名称:智能化网管系统“PON网管” 时间:2018.12-2019.6 团队规模:5人
项目描述:局方电信需要对全省18000000万用户3000多台设备进行用户数据,设备数据,质量数据等有效数据进行 采集,并且对采集数据进行有效清洗,精准定位。图形化报表展示用户的性能,流量,设备数据的分析展示,并且将数据通过不同的传输方式有效分发到其他系统上。
涉及技术:我们根据需求将需求进行拆分大项:1,采集层 2,展示层 3,接口层。将各个大项再进行拆分成小项如 采集成分成,1)设备资源采集,2)用户流量采集,3)用户光衰采集等。
通过充分的需求了解,我们采用Snmp,Telnet两种网络协议对设备进行有效数据采集。通过设备厂商处 获得采集需要的Mib,对每个mib进行测试并且形成测试文档。最后将设备信息与mib数据纳入到Mysql数据库进行存储管理。再采用redis数据库将需要批量采集的mib使用String类型的数据进行缓存。配合redis的RDB和AOF两种同时开启进行持久化数据到磁盘。
由于涉及的业务较多,我们将需要拆分成“设备资源采集服务”,“用户流量采集服务”,“用户光衰采集服 务”, "MiB加载服务",“reids数据加载服务”,“采集机监控服务”等多个服务采用当下最流行技术概念的spring cloud微服务做项目架构。使用spring cloud系列erueka进行众多服务的管理注册。使用Hytrix 的commad请求失败40%进行切换状态,FallBack进行服务的降级。使用Zool路由网关进行服务之间的相互访问与控制。dashboard进行各个服务的健康监控。
采集用户数据由于用户量过多,采用线程池Executor类的ThreadPoolExecutor分300个核心线程,与500个线程总数量进行批量采集用户性能数据。项目采用spring boot开箱即用方式对每个微服务进行搭建,配合Mybatis查询数据库。前端框架采用LayUI做视图管理,数据库层使用Mysql,redis,es做视图 报表层的展示支撑。
角色 | 职位 |
负责人 | 高级java技术工程师 |
队员 | 产品经理 |
队员 | 前端工程师 |
队员 | 后端工程师 |