文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州
▲ 本章节目的
⚪ 了解TELECOM项目的架构和环境配置;
⚪ 了解TELECOM项目的数据字典;
一、简介
1. 概述
1. 当用户通过网络设备(手机、平板电脑、笔记本电脑等)进行上网的时候,信号经过基站进行传输的时候,会在基站这儿留下日志。
2. 可以通过分析日志来获取用户的行为记录,例如用户浏览了哪个网站或者用户喜欢哪个APP等行为,从而可以做到相对精准的推荐。
2. 架构
1. 因为此处做的是离线的数据分析,所以没有使用到HBase。
2. 硬件环境:至少需要三台服务器,每一台服务器至少是2核4G(推荐是2核8G),磁盘至少是20G(推荐是50G~60G)。
3. 软件环境:三台服务器上都需要安装Flume,第一台服务器上需要安装Hive。可以选择安装Hadoop的伪分布式或者也可以选择安装Hadoop的完全分布式,如果选择安装Hadoop的完全分布式,那么在这之前需要先安装好Zookeeper。
软件 | 版本 |
Flume | 1.9.0 |
Hive | 3.1.2 |
Hadoop | 3.1.3 |
Zookeeper | 3.5.7 |
MySQL | 5.7.33 |
二、数据字典
1. 数据字段
序号 | 字段名 | 类型 | 长度 | 说明 |
0 | reporttime | string | 14 | 从文件名截取获取,动态填上 |
1 | Length | unsigned int | 2 | 用于指示整个XDR所占用字节数 |
2 | City | byte | 2 | 城市区号,如010代表北京 |
3 | Interface | unsigned int | 1 | 接口类型,16进制编码 1. Uu 2. X2 3. UE_MR 4. Cell_MR 5. S1-MME 6. S6a 7. S11 8. S10 9. SGs 10. S5/S8 11. S1-U 12. Gn 13~20 预留 21. IDC出口 22.省网出口 23.省网网间出口 24.骨干网网间出口 |
4 | xDR ID | unsigned int | 16 | DPI设备内唯一的xDR编号,16进制编码。一个会话生成一个xDR ID S1-U接口中,一个会话在同一个小区中的传输过程生成一个xDR ID,如该会话切换到新的小区,则生成新的XDR ID及会话记录 对于超长会话设立时间阈值,超过阈值则该条记录结束,重新生成另一条会话记录并生成新的XDR ID,阈值默认为5分钟 |
5 | RAT | unsigned int | 1 | RAT类型,16进制编码 1. UTRAN 2. GERAN 3. WLAN 4. GAN 5. HSPA Evolution 6. EUTRAN |
6 | IMSI | byte | 8 | 用户IMSI(TBCD编码),通过Gn/S11接口信令获取 |
7 | IMEI | byte | 8 | 终端IMEI(TBCD编码),通过Gn/S11接口信令获取 |
8 | MSISDN | byte | 16 | 用户号码(TBCD编码),通过Gn/S11接口信令获取 |
9 | Machine IP Add type | Unsigned int | 1 | 设备IP地址类型 0x01:IPv4 0x02:IPv6 |
10 | SGW/GGSN IP Add | byte | 4(16) | 对于Gn口,填写GGSN的用户面IP地址;对于S1-U口,填写SGW的用户面IP地 Ipv4:4字节 Ipv6:16字节 |
11 | eNB/SGSN IP Add | byte | 4(16) | 对于Gn口,填写SGSN的用户面IP地址;对于S1-U口,填写eNB用户面IP地址: Ipv4:4字节 Ipv6:16字节 |
12 | SGW/GGSN Port | byte | 2 | 对于Gn口,填写GGSN的端口;对于S1-U口,填写SGW端口 |
13 | eNB/SGSN Port | byte | 2 | 对于Gn口,填写SGSN的端口;对于S1-U口,填写eNB端口 |
14 | eNB/SGSN GTP-TEID | byte | 4 | 对于Gn口,填写该业务对应承载的SGSN侧GTP-TEID;对于S1-U口,填写该业务对应承载的eNB侧GTP-TEID |
15 | SGW/GGSN GTP-TEID | unsigned byte | 4 | 对于Gn口,填写该业务对应承载的GGSN侧GTP-TEID;对于S1-U口,填写该业务对应承载的SGW侧GTP-TEID |
16 | TAC | byte | 2 | TAC |
17 | Cell ID | Byte | 4 | UE所在小区的ECI |
18 | APN | String | 32 | APN |
19 | App Type Code | byte | 1 | 业务类型编码,参见附录D XDR类型编码定义 |
20 | Procedure Start Time | dateTime | 8 | TCP/UDP流开始时间,UTC时间),从1970/1/1 00:00:00开始到当前的毫秒数。 |
21 | Procedure End Time | dateTime | 8 | TCP/UDP流结束时间,UTC时间),从1970/1/1 00:00:00开始到当前的毫秒数。 |
22 | Protocol Type | byte | 2 | 协议类型,集团规定的协议识别分类,参加《XXXX数据流量DPI识别能力规范》中的“DPI设备协议识别能力要求” |
23 | App Type | byte | 2 | 应用大类 集团规定的18种应用大类,参见《XXXX数据流量DPI识别能力规范》 |
24 | App Sub-type | byte | 2 | 应用小类 根据集团定义的识别规则识别出来的小类, 参见《XXXX数据流量DPI识别能力规范》 集团未定义的各厂家根据自己的DPI进行识别 |
25 | App Content | byte | 1 | 应用小类的内容细分,如微信文本、微信语音等 0.心跳,1.文本,2.图片,3.音频,4.视频,5.其他文件 如无则填全F |
26 | App Status | byte | 1 | 标识业务是否成功 0:业务成功 1:业务失败 2:业务未识别 |
27 | USER_IPv4 | byte | 4 | 终端用户的IPv4地址,如无则填全F |
28 | USER_IPv6 | byte | 16 | 终端用户的IPv6地址,如无则填全F |
29 | User Port | byte | 2 | 用户的四层端口号 |
30 | L4 protocal | byte | 1 | L4协议类型: 0:TCP 1:UDP |
31 | App Server IP_IPv4 | byte | 4 | 访问服务器的IPv4地址,如无则填全F |
32 | App Server IP_IPv6 | byte | 16 | 访问服务器的IPv6地址,如无则填全F |
33 | App Server Port | byte | 2 | 访问的服务器的端口 |
34 | UL Data | byte | 4 | 上行流量 单位:字节 对于场景一,定义为从内层IP包头开始计算的数据包大小总和;对于其他场景,定义为从链路层封装开始计算的数据包大小总和。 |
35 | DL Data | byte | 4 | 下行流量 单位:字节 对于场景一,定义为从内层IP包头开始计算的数据包大小总和;对于其他场景,定义为从链路层封装开始计算的数据包大小总和。 |
36 | UL IP Packet | byte | 4 | 上行IP包数,内层IP包的个数 |
37 | DL IP Packet | byte | 4 | 下行IP包数,内层IP包的个数 |
38 | 上行TCP乱序报文数 | byte | 4 | 上行TCP乱序报文数。L4协议非TCP传输时,此字段填0 |
39 | 下行TCP乱序报文数 | byte | 4 | 下行TCP乱序报文数。非TCP传输时,此字段填0 |
40 | 上行TCP重传报文数 | byte | 4 | 上行TCP重传报文数。非TCP传输时,此字段填0 |
41 | 下行TCP重传报文数 | byte | 4 | 下行TCP重传报文数, 非TCP传输时,此字段填0 |
42 | TCP建链响应时延(ms) | byte | 4 | TCP建链响应时延(ms),非TCP传输时,此字段填0 |
43 | TCP建链确认时延(ms) | byte | 4 | TCP建链确认时延(ms),非TCP传输时,此字段填0 |
44 | UL_IP_FRAG_PACKETS | byte | 4 | 以内层IP包的分片为准 |
45 | DL_IP_FRAG_PACKETS | byte | 4 | 以内层IP包的分片为准 |
46 | TCP建链成功到第一条事务请求的时延(ms) | byte | 4 | TCP建链成功到第一条事务请求的时延(ms)。没有事务的时候可以不填写,此时填0 |
47 | 第一条事务请求到其第一个响应包时延(ms) | byte | 4 | 第一条事务请求到其第一个响应包时延(ms)。没有事务的时候可以不填写,此时填0 |
48 | 窗口大小 | byte | 4 | 窗口大小,TCP 建链协商后的窗口。非TCP传输时,此字段填0 |
49 | MSS大小 | byte | 4 | MSS尺寸,TCP层的最大分段大小。非TCP传输时,此字段填0 |
50 | TCP建链尝试次数 | byte | 1 | TCP SYN的次数,一次TCP流多次SYN的数值。非TCP传输时,此字段填0 |
51 | TCP连接状态指示 | byte | 1 | TCP连接状态指示 0:成功 1:失败 |
52 | 会话是否结束标志 | byte | 1 | 1:结束 2:未结束 |
53 | HTTP版本 | byte | 1 | 0x01----HTTP0.9 0x02----HTTP1.0 0x03----HTTP1.1 0x04----HTTP2.0 0x05----WAP1.0 0x06----WAP1.1 0x07----WAP1.2 |
54 | 事务类型 | byte | 2 | HTTP/WAP2.0的事务类型,遵照HTTP/WAP1.x协议上的编码 |
55 | HTTP/WAP事务状态 | byte | 2 | HTTP/WAP2.0层的响应码,参见附录A 状态编码 |
56 | 第一个HTTP响应包时延(MS) | byte | 4 | 第一个HTTP响应包相对于第一个HTTP请求包(如get命令)的时延 |
57 | 最后一个HTTP内容包的时延(MS) | byte | 4 | 最后一个HTTP内容包相对于第一个HTTP请求包(如get命令)的时延 |
58 | 最后一个ACK确认包的时延(ms) | byte | 4 | 最后一个HTTP包的ACK相对于第一个HTTP请求包(如get命令)的时延,如果无ACK,则按照最后一个数据包计算 |
59 | HOST | char | 64 | 访问域名 |
60 | URI | char | 512 | 访问的URI,对于超过512字节的URI进行截短 |
61 | X-Online-Host | char | 128 | 针对wap代理上网的私有头部字段,对于cmnet上网该字段与HOST字段相同 |
62 | User-Agent | char | 256 | 终端向访问网站提供的终端信息,包括IMEI、浏览器类型等 |
63 | HTTP_content_type | char | 128 | HTTP的内容是文字还是图片、视频、应用等,具体编码参考附录A |
64 | refer_URI | char | 128 | 参考URI |
65 | Cookie | char | 256 | 协议中Cookie字段 |
66 | Content-Length | byte | 4 | 协议中Content-Length字段 |
67 | 目标行为 | byte | 1 | 目标行为 0:会话是用户主动点击的页面 1:站点目标而产生的页面 |
68 | Wtp中断类型 | byte | 1 | WTP层的失败类型 |
69 | wtp中断原因 | byte | 1 | WTP层失败原因 |
70 | title | char | 256 | 网站名称,在上网内容里解析 |
71 | key word | char | 256 | 网站关键字,在上网内容里解析 |
72 | 业务行为标识 | byte | 1 | 0-业务登陆 1-页面访问 2-刷新 3-未识别 判断规则详见《业务KPI定义(20130821)》 |
73 | 业务完成标识 | byte | 1 | 0-业务成功 1-业务失败 2-未识别 成功的判断规则:状态码<400 |
74 | 业务时延(ms) | byte | 4 | 登陆、访问响应或者刷新时延,具体指标描述参见《业务KPI定义(20130821)》 |
75 | 浏览工具 | byte | 1 | 详见附录F"浏览工具",未识别的数据用0填充,该字段不能为空 |
76 | 门户应用集合 | byte1 | 详见附录G"门户应用集合",未识别的数据用0填充,该字段不能为空 | |
77 | 未知列 | 例:1:894/1102??这样字段 |
2. 应用大类
序号 | 业务类型 | 业务说明 |
1 | 即时通信 | 互联网消息即时收发业务,如:QQ、飞信等 |
2 | 阅读 | 向用户提供在线或离线阅读服务的业务,如:移动手机阅读、熊猫阅读等 |
3 | 微博 | 微博业务,如:移动微博、新浪微博等 |
4 | 导航 | 提供浏览、查询、导航等功能的电子地图类业务,如:谷歌地图、高德导航等 |
5 | 视频 | 向用户提供音视频内容的直播、分享和下载服务的网站和应用(不包括传统意义上基于P2P技术的视频业务),如:优酷、手机电视等 |
6 | 音乐 | 提供音乐在线欣赏和下载服务的网站和应用,如:咪咕音乐、QQ音乐等 |
7 | 应用商店 | 提供应用程序、音乐、图书等内容浏览、下载及购买服务的业务,如:Mobile Market、AppStore等 |
8 | 游戏 | 基于客户端或者网页的游戏业务:QQ游戏、开心农场等 |
9 | 支付 | 电子商务类业务,如:手机支付、支付宝、网银等 |
10 | 动漫 | 提供动漫在线欣赏和下载服务的网站和应用,如:手机动漫、爱看动漫等 |
11 | 邮箱 | 电子邮箱业务,如:139邮箱、QQ邮箱等 |
12 | P2P业务 | 基于P2P技术的资源共享业务,包括下载和视频两部分,前者如:迅雷、eMule等,后者如:迅雷看看、PPLive等 |
13 | VoIP业务 | 互联网语音通信业务,如:Skype、Uucall等 |
14 | 彩信 | 彩信业务 |
15 | 浏览下载 | 基于HTTP、WAP、FTP等的普通浏览和下载业务 |
16 | 财经 | 金融资讯、股票证劵类业务,如:手机商界、大智慧等 |
17 | 安全杀毒 | 提供网络安全服务的应用,如:360安全卫士、麦咖啡等;以及网络恶意流量,如:病毒、攻击等 |
18 | 其他业务 |
3. 应用小类举例
业务类型 | 子业务 | |||
序号 | 子业务名称 | 优先级 | 备注 | |
即时通信 | 1 | 飞聊 | 必选 | 自有业务 |
2 | 飞信 | 必选 |
| |
3 | Gtalk | 必选 | 互联网业务 | |
4 | MSN | 必选 |
| |
5 | | 必选 | ||
6 | TM | 必选 | ||
7 | 阿里旺旺 | 必选 | ||
8 | 米聊 | 必选 | ||
9 | 微信 | 必选 | ||
10 | 人人桌面 | 必选 | ||
11 | AOL AIM | 可选 | ||
12 | Gadu_Gadu | 可选 | ||
13 | go聊 | 可选 | ||
14 | ICQ | 可选 | ||
15 | IMVU | 可选 | ||
16 | Lava-Lava | 可选 | ||
17 | NetChat | 可选 | ||
18 | Paltalk | 可选 | ||
19 | PowWow | 可选 | ||
20 | TeamSpeak | 可选 | ||
21 | Trillian | 可选 | ||
22 | VZOchat | 可选 | ||
23 | Xfire | 可选 | ||
24 | 百度Hi | 可选 | ||
25 | 都秀 | 可选 | ||
26 | 陌陌 | 可选 | ||
27 | 天翼Live | 可选 | ||
28 | 翼聊 | 可选 | ||
29 | 网易 | 泡泡 | 可选 | |
30 | 新浪UC | 可选 | ||
31 | 新浪UT | 可选 | ||
32 | 雅虎通 | 可选 |