[发明专利]无埋点式云端收集分析浏览器Trace的方法及系统有效
申请号: | 201710787168.5 | 申请日: | 2017-09-04 |
公开(公告)号: | CN107562426B | 公开(公告)日: | 2020-01-10 |
发明(设计)人: | 刘云浩;杨启凡;李振华 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/41 |
代理公司: | 11002 北京路浩知识产权代理有限公司 | 代理人: | 王莹;李官 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机 网页 浏览器 追踪 云端 互联网技术 浏览器代理 编程框架 二次开发 分析处理 分析功能 分析计算 建立通信 配置文件 信息发送 运行过程 中计算机 代理 运行时 点式 网站 回复 分析 转发 配置 访问 开发 | ||
1.一种无埋点式云端收集分析浏览器Trace的方法,其特征在于,包括以下步骤:
计算机a根据计算机b提供的PAC配置文件设置计算机a浏览器的代理规则;
计算机a在访问计算机c所提供的符合所述规则的网页时,请求由计算机b进行代理,以使计算机b依据规则在计算机c向计算机a回复的网页信息中注入追踪代码并将所述网页信息转发至计算机a;
计算机a在运行网页时,通过追踪代码将与计算机d建立通信,并在网页解析与运行过程中,将指定追踪的API调用信息分批发送至计算机d,以供计算机d对网页在计算机a上的每次运行生成分析结果;
所述计算机b依据规则在计算机c向计算机a回复的网页信息中注入追踪代码并将所述网页信息转发至计算机a,进一步包括:
计算机b依据计算机a发出的网页访问HTTP/HTTPS请求中路径查询的inject字段取值来动态选择注入的追踪代码类型,依据预先配置在计算机b上的配置文件中声明的该追踪代码类型获取对应的追踪代码;计算机b依次在计算机c提供的HTTP/HTTPS网页回复信息中的body字段首部注入工具代码库和开发者追踪代码;
所述计算机a在运行网页时,通过追踪代码将与计算机d建立通信,进一步包括:
计算机a在运行网页时首先执行开发者追踪代码,通过所述开发者追踪代码将在浏览器内部监听指定函数的调用;其中,预先配置在计算机b上的工具代码库提供的函数用于与计算机d指定TCP端口提供的分析服务建立WebSocket连接;计算机d的IP或域名由计算机b在注入追踪代码时指定;
当追踪代码与计算机d完成WebSocket的建立后,计算机d初始化预先配置在计算机d上的分析模块,并进入等待分析的状态;
所述在网页解析与运行过程中,将指定追踪的API调用信息分批发送至计算机d,进一步包括:
计算机a利用网页上原程序调用浏览器原生函数F的被监听的函数句柄F’,基于追踪代码通过F’获取到原程序调用函数的参数列表;
基于追踪代码调用浏览器提供的原函数句柄F,获得函数返回值;
基于追踪函数将包含调用的函数签名、参数列表和返回值的函数调用记录进行二进制压缩编码后暂存在缓冲区,并将所述返回值返回给网页原程序;
当所述缓冲区的存储量达到指定阈值时,基于追踪代码将缓冲区中的所有函数调用记录拷贝至数据发送线程,清空缓冲区,并通知数据发送线程向计算机d发送编码后的函数调用记录;
计算机d在接收到函数调用记录后,使用分析模块分析解码后的调用记录列表。
2.根据权利要求1所述的方法,其特征在于,所述根据计算机b提供的PAC配置文件设置计算机a浏览器的代理规则包括:
配置文件的代理规则仅对Html协议传输的网页生效,图片资源文件、视频资源文件、音频资源文件、JavaScript代码文件以及CSS代码文件将被过滤,WebSocket连接将被过滤;配置文件中计算机d的地址将依据计算机b中所配置的IP或域名动态生成。
3.根据权利要求1所述的方法,其特征在于,对所述函数调用记录进行二进制压缩编码方式包括:
分三级缓冲区,每一级均包含8byte长度的头部,其中4byte标明缓冲区级别,取值1~3;余下4byte标明缓冲区的字节数;
第一级缓冲区为函数调用记录,每一条记录为8byte;其中,前2byte存储函数编号,之后的2byte存储函数返回值,最后4byte存储调用记录的参数列表在第二级缓冲区中的地址;
第二级缓冲区为参数列表存储区;每一条参数列表的记录长度不固定,每一条记录由如下部分组成:2byte用于存储参数列表字节数,2byte用于存储参数列表长度n,余下的byte存储n个参数;每个参数长度可变,所述参数由如下部分组成:1byte存储一级参数类型,3byte存储二级参数类型,对于指定类型的参数还包括4byte存储参数在第三级缓冲区中的地址,4byte存储参数字节数;
对于数组和字符串类型,其实际值存储在第三级缓冲区中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710787168.5/1.html,转载请声明来源钻瓜专利网。