c语言网络实时吞吐量_启迪实训 | 深圳日记:网络性能的高效测量

点击蓝字关注我们

63110d1d668f391ae872e70217273a21.png

启迪数字人才实训学校目前联合运营的实训基地有北京大数据实训基地、厦门创客孵化实训基地、深圳鹏城实验室实训基地、武汉网络安全实训基地、宁波机器人实训基地等。

从2019年暑期开始,启迪学子在各实训基地开展专业实践活动,走进职场进行实战演练,根据市场需求进行项目设计与开发。

在实战中,启迪学子体会到了学习社会化的价值,在学习中创造价值的获得感。他们通过日记和实践报告等形式分享了经历和体验。

     姓名:              袁熙龙             

     年级:             2016级             

     地点:      南方科技大学(鹏城实验室)

     报告日期:   2019年9月1日 星期日    

     指导老师:         邱飞      

01

项目时间:2019年7月10日-2019年8月31日

02

参与项目

项目参与人员:邱飞、袁熙龙、陈佩怡

项目技术选用:

a) 后端:springboot + mybaitis + mysql + influshDB+ shiro + xxjob分布式调度+ docker

b) 前端:angular + echart + next.js

03

项目介绍

随着各行业数字化进程的推进,数据逐渐成为企业的运营核心,用户对承载数据的存储系统的稳定性要求也越来越高,传统的单数据中心,已不足以保障企业数据的安全。一旦单数据中心存储发生故障后,可能会导致业务长时间中断,甚至数据丢失。

只做本地的数据冗余保护或容灾建设,已不能规避区域性灾难对企业数据的破坏。为了保证数据存取的持续性、可恢复性和高可用性,远程容灾解决方案应运而生,通过在多地建设数据中心、部署分布式存储设备并结合专业的容灾管理软件,可以实现多数据中心间的数据备份及保护,从而保障数据的安全。

目前,企业存储和分布式存储逐步走向ALL IP化,数据中心之间通过IP WLAN网络实现双活和灾备业务,如eBackup跨数据中心的远程复制/企业存储双活/分布式存储跨AZ的EC等。

然而,由于WLAN网络环境复杂,存在各种时延过长或时延抖动、丢包、重传、乱序等现象,业务带宽和时延会受到较大影响和波动。此外,由于多数据中心之间设备众多,故障定位困难,作为存储设备和服务提供商,容易受到客户的质疑。

04

项目功能点

测量节点

1. 定时测量并上报数据

2. 拓扑发现

3. 网络流量监控

4. 网络性能测量

5. 路由探测

6. 接受服务器下发的测量任务

7. 测量结果put到中心控制器

8. 协作其它节点完成测量任务

存储模块:

1. 采集数据用InfluxDB

2. 对实时数据和历史数据进行采集存储

3. 配置数据采用MySQL

4. 存储用户信息、测量主机、工具、测量任务

分析模块:

1. 回溯分析

2. 异常检测

1. 测量节点管理

a)      注册

b)      状态管理

c)      ssh访问

2. 测量任务管理

a)     下发测量任务

b)      取消任务

3. 测量工具管理

a)      部署

b)      更新

c)      上传

d)      下载

4. 用户管理

a)      权限设置

b)      用户添加

c)      修改信息

d)      登录

5. 监控

a)      概览统计测量情况

b)      测量结果(成功失败的饼图和折线图),性能指标

c)      拓扑图展示节点关系

d)      告紧

e)      日志

工具管理模块、认证信息、异常处理、前后端联调、sshweb访问、日志高吞吐量异步处理、项目接口书写、功能单元测试、虚拟机安装、生成docker的shell脚本书写。

01

学习内容

a)      NIO(new IO)是将传统的IO进行改进,改进输入输出。面向缓冲区Buffer,并且不阻塞,以及支持更丰富的功能。

b)      Spring的特性,注解,IOC,AOP。

c)      实现高吞吐量异步处理

d)      对请求信息进行日志拦截

e)      HTTP传输协议,web信息抓取

f)       编写测试信息进行功能测试

g)      用http Client进行模拟web请求,进行数据传输

h)      Linux的文件管理、shell脚本、系统管理、vim模式使用

i)      后端环境搭建与部署

j)      书写模拟sshweb连接以及debug上传

k)     ubuntu虚拟机安装

l)      shiro认证框架、xxjob分布式调度框架

m)    异常工具类封装

n)     正则表达式高级语法的理解以及书写自己想要的表达式。

02

学习感想

1、目前还是主要以自学为主,对个人的自学能力要求很高,面对新知识的理解能力,与吸收情况,不断总结经验。

2、在这里学习已经两个月了,我学了很多在学校里面学不到的技术,了解到了java领域的重要性与技术栈。

3、2019年7月13日,导师给我们介绍大湾区项目,在ppt中,老师提到了很多我第一次看到和听到的名词,总的来说就是很懵的状态。反过来想,我在大学里究竟学了些什么?会些什么?也就会写些程序代码,对于理论知识是半知不解。

当老师找我单独聊的时候,聊到了我的兴趣方向。我第一反应肯定是java呀,于是老师问了我好多的java知识点,所学到的知识有哪些,用过哪些。

我尽最大的努力把自己懂的说了出来,在表达过程中发现自己的表达能力和现场梳理能力较差。在老师问问题的时候,我就知道我差哪些知识,该补哪些知识点。

4、来这边第一次接触项目,我们的项目是一个针对网络性能测量的项目,对机器网络的时延、丢包、速率等进行测量。后端采用:springboot + mybaitis +mysql + shiro + xxjob分布式调度框架进行开发。

除了这个之外,还需要用到linux + docker 技术。因为我学过一些框架,上手起来也相对容易些。学习框架的前提最好先把基础知识打扎实。

1、列一下在大学中我认为比较重要的课程:C语言、专业方向语言(java/C++/python等)、数据结构、算法、计算机网络、操作系统、mysql数据库、linux


2、列一下方向需要掌握的技术栈(只分前端web、后端java)前端:html + css +javascript+jQuery+bootstrap(element、layUI这几个用法都差不多)、vue.js(react、angular)、node.js等。

3、后端:java基础(IO\NIO、多线程、并发) + mysql + spring + springMVC + mybatis+Hibernate + springboot等

4、学校里学的东西虽旧,但并不是没有用,再厉害的技术都需要理论知识支撑,所以在学校把理论基础学好的同时,边实践边理解。

5、如果很有想法考研的学弟学妹一定要考!

文字:软件Q168 袁熙龙

编辑:启迪数字教育品牌运营部 丁嘉琦

0e394341838125e6a1ede8f9ca23746d.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值