流量统计
2017-03-24 08:37:41 3 举报
程序框架图
作者其他创作
大纲/内容
application_traffic[1024*1024]
统计数据发送用户流量发送应用流量
mark1
读取ts_block的数据
yes
IP
downstream(下行速度)
upstream(下行速度)
发送报表数据
mark代表一个应用的标识
flow_info[256]
\tuint32_t sip; //源IP\tuint32_t dip; //目的ip\tuint32_t data[2]; //双向流量\tuint32_t mark; // 应用协议\tuint8_t proto; //区分TCP UDP
线程1
流量统计值
用户统计user_traffic
mark2
发送报表
application_num[1024*1024]
mark1
mark2
程序逻辑
app_num_count++
data(全局数据)
\tuint64_t last_send_time;\tint block_count;\t// block_data的编号 table\tint user_num;\tstruct tsblock block_data[256]; // table数据存放\tuint32_t application_num[1024*1024]; //应用流量下标值\tuint32_t application_traffic[1024*1024]; //应用流量统计值\tstruct user_traffic_data user_traffic[256]; //用户流量统计值值
no
统计用户流
发送用户统计数据发送应用统计数据
应用统计application_traffic数组存放每个应用的统计量(数组下标辨识应用的ID)application_num数组存放application_traffic数组的下标值
app_num_count初始值为0
user_traffic[256]
user1
user2
if(data.block_data[i].flag==1)或者超时
block_data[256]
\tuint32_t flag; //发送标记位\tuint32_t data_begin_time; \tstruct flow_info data[256];\tuint32_t read; //读位置\tuint32_t write; //写位置
是否到时间发送
报表统计block_traffic
是否读取到流
线程2
初始化共享内存
0 条评论
下一页