ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

网络游戏体验度量设计

2019-03-13 09:54:54  阅读:438  来源: 互联网

标签:游戏 pkt 报文 len 网络游戏 体验 IAT 间隔时间 度量


网络游戏场景

 

网络游戏中目前常见架构是C/S和B/S,这里只考虑主流即C/S的情况,它们间报文交互涉及

服务器发送到客户端:状态更新、对话框、请求的应答

客户端发送到服务器:用户指令,位置更新等

影响游戏体验的2个最重要的网络因素,延迟(导致卡顿)和丢包(导致重传=变相延迟)。对于延迟,可以通过报文时间间隔判断出来。对于重传,tcp报文重传是通过序列号比较判断出来的,因此无法根据单独一个报文判断出来,而需要完整的流序列;Udp重传是通过应用程序自己封装设计完成,没有标准可循。

 

前一阶段试验的方法和经验

 

编号

方法

失败原因

可改进点

1

根据拟合公式,在网络设备中模拟探针,执行ping,将得到的qos数据代入公式计算,如

5.2696-6.8749*10^(-9)*x^3+2.3495*10^(-5)*x^2-0.0222*x

x=delay+9.8371*jitter

  1. 不同游戏公式不同
  2. 游戏对短期异常敏感,IQX假设适用于长期
  3. Qos是通过ping得到可能不准确

获取当前网络情况

2

使用神经网络对报文流特征进行监督学习(判别模型)

  1. 不同游戏对网络要求不同,各特征阈值不同
  2. 通过特征权重分析,发现不同游戏,特征对体验影响的权重不同
  3. 收集的流特征可能不足够反映体验

无量纲化处理(上下限,中心化等),特征筛选(信息增益等),发现更有用的特征(熵取代方差)

 

难点分析

  1. 不同(类型)游戏的识别
    1. 每个游戏识别
    2. 每类游戏识别
  2. 不同(类型)游戏达到正常体验时对网络要求不同(棋牌益智类属于非实时,FPS、RTS属于实时。棋类游戏和卡牌游戏有严格的先后顺序,不容易出现逻辑错误,更不会出现不一致的情况;而且回合时间较长,能够容忍高延迟。)
    1. 每个游戏网络要求
    2. 每类游戏网络要求
  3. 其他:某些游戏自带延迟补偿纠正机制(早期Lockstep,后来的dead reckoning、time warp),导致相同网络相同游戏情况下,有无机制也会导致体验的不同,另外有研究发现在长时间尺度下(如按年)同一游戏网络报文特征也会发生变化(如梦幻西游),不同游戏使用协议不同延迟敏感的使用UDP

  1.  

 

模型思路

 

游戏数据

方法2中考虑到的数据特征

 

min_IAT

最小间隔时间

q1_IAT

第1四分位间隔时间

med_IAT

中位间隔时间

mean_IAT

平均间隔时间

q3_IAT

第3四分位间隔时间

max_IAT

最大间隔时间

var_IAT

间隔时间方差

min_len_pkt

报文最小长度

q1_len_pkt

报文第1四分位长度

med_len_pkt

报文中位长度

mean_len_pkt

报文平均长度

q3_len_pkt

报文第3四分位长度

max_len_pkt

报文最大长度

var_len_pkt

报文长度方差

pkt_num_upwd

上行报文个数

pkt_num_dowd

下行报文个数

min_len_pkt_upwd

上行报文最小长度

q1_len_pkt_upwd

上行报文第1四分位长度

med_len_pkt_upwd

上行报文中位长度

mean_len_pkt_upwd

上行报文平均长度

q3_len_pkt_upwd

上行报文第3四分位长度

max_len_pkt_upwd

上行报文最大长度

var_len_pkt_upwd

上行报文长度方差

min_len_pkt_dowd

下行报文最小长度

q1_len_pkt_dowd

下行报文第1四分位长度

med_len_pkt_dowd

下行报文中位长度

mean_len_pkt_dowd

下行报文平均长度

q3_len_pkt_dowd

下行报文第3四分位长度

max_len_pkt_dowd

下行报文最大长度

var_len_pkt_dowd

下行报文长度方差

min_IAT_upwd

上行最小间隔时间

q1_IAT_upwd

上行第1四分位间隔时间

med_IAT_upwd

上行中位间隔时间

mean_IAT_upwd

上行平均间隔时间

q3_IAT_upwd

上行第3四分位间隔时间

max_IAT_upwd

上行最大间隔时间

var_IAT_upwd

上行间隔时间方差

min_IAT_dowd

下行最小间隔时间

q1_IAT_dowd

下行第1四分位间隔时间

med_IAT_dowd

下行中位间隔时间

mean_IAT_dowd

下行平均间隔时间

q3_IAT_dowd

下行第3四分位间隔时间

max_IAT_dowd

下行最大间隔时间

var_IAT_dowd

下行间隔时间方差

 

游戏体验一般情况下考虑到的特征

文献1:平均rtt,最大rtt,抖动,平均延迟,客户端丢包率,服务端丢包率,

文献2:会话时间,最长报文,最短报文,平均长度,背景流,游戏流,上传延迟、下载延迟、RTT延迟、间隔时间

网络数据

网络特征数据,反映网络客观环境(可以考虑主动收集方式,注入流量)

游戏类型

对于游戏类型识别,已有不少研究,无需DPI,只需基于流特征即可做到类型级别的区分,具体特征包括上下行报文数目比、包大小信息熵,下行PPS等。这里考虑2种分类标准

  1. 按照游戏内容模式:即

ACT,AVG,PUZ,CAG,FTG,LVG,TCG,TAB,MSC,SPG,SLG,STG,RPG,RCG,RTS,ETC,WAG,SIM,S•RPG,A•RPG,FPS,MUD,MMORPG等,优点是符合用户认知、便于理解,缺点是无法区分是否重合或者过细,而且不能保证覆盖新类型游戏,需要使用DPI技术来实现

  1. 按照网络特征,即从报文长度,报文时间间隔等,优点是实现技术相对简单(如下图已有借鉴成果)、类型有限、适应性强,缺点是无法直接对应到具体游戏

 

 

 

报文长度特征(双向,平均,分布)、报文个数特征(同上),协议(tcp,udp,tcp+udp),终端(手游、端游)

 

游戏体验

按MOS值输出为5类(实际上根据调研结果来看,体现出两极趋势,要么一般要么很差,没有很好和中间层)

 

生成模型

基于贝叶斯思想,对应游戏类型识别,不考虑使用该模型

对应体验,P(c_i|A)=P(A|c_i)P(c_i)/P(A), c_i标识体验,假设体验分5类,则为c1,c2,c3,c4,c5, A为输入数据,或者说收集到的各种网络参数和游戏参数,

假设该参数间无关联,则A可以拆分为(a1,a2,a3….a_n)个单独的特征,诸如丢包率、延迟、抖动等。

P(c_i|A)=P(A|c_i)P(c_i)/P(A)= P(c_i)× P(a_1|c_i)×P(a_2|c_i)×… P(a_n|c_i)/P(A),

则分类问题归结为挑选max P(c_i|A),又因为P(A)视为常数,最终就是求max P(c_i)× P(a_1|c_i)×P(a_2|c_i)×… P(a_n|c_i)

模型优点

  1. 可解释性,所得结果是最可能的情况
  2. 基于统计计算,方法简单

模型缺点

  1. 属于生成模型(G-model),但是网络环境并不保证稳定,因而不能保证某种体验出现概率是固定的,也就是无法给出概率,比如P(c1)并不一定是固定比例,也无法预先知道
  2. A的拆分出特征,无法保证独立无关,例如抖动为a_1,延迟为a_2,则P(a_1|c_i)×P(a_2|c_i)不等于P(a_1,a_2|c_i)
  3. 本身P(a_j|c_i)也不能基于是稳定值

 

总结:该方法还未试验过,但从网络搜索到的结果来看,一般认为该模型在实际应用中效果不如判别模型

 

判别模型

对应游戏类型,输入层包含游戏数据参数,对应游戏类型作为标签

 

对应游戏体验,输入层包含游戏类型和游戏数据参数,对应游戏体验作为标签

该模型具体实现有3种考虑

  1. 使用参数拟合方法,根据qos参数和主观打分来拟合公式,已知大多数游戏体验研究是按此思路进行,已经试验过,效果不好
  2. 人工提取特征,使用BP网络(或其他监督学习算法)进行训练。输入层包含游戏类型参数、游戏数据参数、网络数据参数,对应时间类体验作为标签,使用BP网络进行训练,已经试验过,效果不好
  3. 通过深度学习,输入层直接以原始报文和时间点作为输入,由神经网络自动提取特征,该方法还未试验过,特别是需要海量数据,不能轻易尝试

 

总结:局限于有限类型的游戏情况,扩展性差(基本上限于拟合公式)

 

异常检测模型

正常情况下,游戏体验正常时间占大多数(不同于下载,如果体验不好,游戏操作不可能长时间进行),通过检测报文的异常特征来发现体验异常,特征包括报文时间间隔,延迟,重传,心跳报文异常(现在大部分网游都有内置保活机制,一种考虑是通过心跳报文检测网络异常)

 

该模型实现有2种考虑

  1. 时间序列的统计方法
  2. 基于机器学习算法

 

优点:基于不同游戏自身特性来分析,不依赖于游戏分类,极端情况下该游戏特征可以和其他游戏完全不同,不需要监督学习。思科新框架DNA里面也是使用这种模型来监测网络异常,找到一个专利描述的方法是使用小波系数来进行预测。

缺点:从已收集资料来看,该模型若采用时间序列的方法,需要原始数据保证一定的平稳性和周期性,例如校园网或办公网中的网络流量,对于游戏而言,从流量上来看还没发现有周期性特征(一种想法是通过一段时间的数据学习来构建数据转移概率模型,进而判断是否异常,这种方法也属于异常检测中常见的方法之一,但目前有2个问题需要考虑,一是该方法仅是基于相邻的时间尺度做出判断全局性不足,二是正常数据的学习标准不好判断)。若干使用机器学习方法需要保证特征服从正态分布。

总结:有部分研究使用该方法进行体验度量(游戏离开时间检测、预测和实际偏差检测),该模型还未试验过

 

基于数量(原始特征)异常

基于分布(特征概率)异常

 

收集数据

根据人的行为特征,正常情况下,游戏体验正常时间占大多数(不同于下载,如果体验不好,游戏操作不可能长时间进行),所以游戏分类和游戏体验度量中的数据收集部分重叠,可以合并进行。

“基于特征选取的网络游戏与视频业务分类研究.pdf”中每类应用/游戏采集了60条流,每条流时长30分钟

 

数据采样对数据的影响,数据缺失,精度下降

 

 

标签:游戏,pkt,报文,len,网络游戏,体验,IAT,间隔时间,度量
来源: https://blog.csdn.net/b0207191/article/details/88524827

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有