[Chrome Net Stack]用户行为统计算法

简介: Chrome为了让用户有更好的上网体验,提供了一些以统计为基础的策略。目的在于预知用户的下一步行为,并提前发起操作,以减少用户等待时间。详细的内容可以参考之前的翻译: 。

Chrome为了让用户有更好的上网体验,提供了一些以统计为基础的策略。目的在于预知用户的下一步行为,并提前发起操作,以减少用户等待时间。详细的内容可以参考之前的翻译:<<Google Chrome中的高性能网络>> 。主要的类图如下:

                  

其中应用的就是统计中的预测方法:指数平滑预测方法(Smoothing Parameter)。指数平滑算法属于时间序列预测法,主要考究变量随时间发展的变化规律,描述事物的发展规律。(另一大类的预测方法为因果关系预测,即由若干个条件推导出某个关系的预测方法)


它有两个显著的特点, 一是利用了全部历史统计数据, 二是遵循“重近轻远”的原则加权平均, 修匀数据. 历期数据的指数平滑平均值介于历期 数据最大值与最小值之间, 利用它进行数据信息的处理, 能起到抵御或减弱异常数据的影响, 致使历期统 计数据所包含历史规律性的信息能显著体现出来, 使预测模型能排除异常干扰, 更精确模拟预测对象历史 的规律. 因此, 传统的指数平滑技术仍然是一种有发展前途的处理数据信息的方法.[摘自徐大江《预测模型参数的指数平滑估计法 及其应用的进一步研究》]


数学模型为:

    

在Chrome应用中,每一个资源有一个Expected Value (内部变量为use rate) 表示它的分值。随着时间发展,这个分值不断演化并表示资源本身被使用的频繁程度。两个更新时机:

 1. 当页面被访问时,所有的页面子资源的EV值乘于0.66。

    2.     当子资源被存取一次时,其EV值加0.34。


其公式为:

       

可以对应于上面数据模型。


其中0.66和2的取值,也有一些考虑,特别是影响收敛速度。下图表示初值相同,取不同a时的收敛曲线:

         

计算出EV后,当加载页面时,会依不同的值执行预解析和预连接的流程:

          


参考资料:

    <<预测方法与应用>>


目录
相关文章
|
2月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
62 1
|
8月前
|
存储 C# 数据库
.NET开源的在Windows上统计软件使用时长和网站浏览时长工具 - Tai
.NET开源的在Windows上统计软件使用时长和网站浏览时长工具 - Tai
|
7月前
|
Web App开发 安全 网络安全
关于 Chrome 开发者工具 Network 面板里观察到的 net ERR_CERT_AUTHORITY_INVALID 错误
关于 Chrome 开发者工具 Network 面板里观察到的 net ERR_CERT_AUTHORITY_INVALID 错误
213 0
|
2月前
|
算法 安全 Java
【数据结构与算法】6、栈(Stack)的实现、LeetCode:有效的括号
【数据结构与算法】6、栈(Stack)的实现、LeetCode:有效的括号
22 0
|
4月前
|
算法 C#
C# .Net Core bytes转换为GB/MB/KB 算法
C# .Net Core bytes转换为GB/MB/KB 算法
46 0
|
5月前
|
机器学习/深度学习 算法 计算机视觉
【计算机视觉】图像分割中FCN、DeepLab、SegNet、U-Net、Mask R-CNN等算法的讲解(图文解释 超详细)
【计算机视觉】图像分割中FCN、DeepLab、SegNet、U-Net、Mask R-CNN等算法的讲解(图文解释 超详细)
67 0
|
5月前
1152人参与的.NET ORM框架使用情况统计投票结果
1152人参与的.NET ORM框架使用情况统计投票结果
|
7月前
|
Web App开发 网络协议 网络虚拟化
Chrome 开发者工具里观察到的错误消息 net - ERR_CONNECTION_RESET
Chrome 开发者工具里观察到的错误消息 net - ERR_CONNECTION_RESET
144 0
|
10月前
|
Web App开发 Java Apache
如何在Selenium自动化Chrome浏览器中模拟用户行为和交互?
Selenium是一个用于自动化Web应用程序测试的工具,它可以模拟真实的用户在浏览器中进行各种操作,如点击、输入、滚动等。Selenium支持多种浏览器,如Chrome、Firefox、Edge等,但是每种浏览器都需要相应的驱动程序才能与Selenium进行通信。本文将介绍如何在Selenium中使用Chrome浏览器,并且设置代理服务器来避免被目标网站识别。
275 0
如何在Selenium自动化Chrome浏览器中模拟用户行为和交互?