前端行为日志技术架构漫谈

1. 什么是行为日志

  1. 在久远一些的B/S框架(Browser、Server)以及现在C/S框架(Client、Server)中,商业公司对于用户的各种行为以及背后所隐含的数据价值极为感兴趣。
  2. 每一次用户在浏览器、app上的动作都能产生一条数据,而这些操作如浏览、点击、滑动及其所代表的如浏览商品、打开新页面、下单、支付、收藏等业务性行为都能为公司分析用户行为,进而优化整个行为链条带来精准的数据支撑。例如业内有公司针对行为数据分析让支付成功率提升6–7倍,带来的商业价值无法估量。
  3. 经过授权后,浏览器或者app采集用户的各类数据。
  • 软件数据,划分现成数据和需要实时采集的数据。现成数据常见如通讯录、相册、SD卡中文件等等;实时采集数据如用户的一次点击、收藏、滑动、进入app前台、切换到app后台、杀死app、浏览器关闭tab、打开新的页面等等。采集这些动作以及背后所代表的业务信息。
  • 硬件数据,主要是各类传感器的数据,GPS、陀螺仪、IMEI、手机型号、CPU、内存、磁盘容量、网卡、屏幕尺寸、屏幕分辨率、摄像头型号和分辨率等等

2. 行为日志可以解决什么问题

2.1商业价值挖掘

  1. 在目前激烈的竞争下,一款软件产品不可能等到所有功能开发完成,而是先根据产品定位,开发出主要功能,然后投入时常。之后根据市场、用户反馈、用户数据分析进行迭代和改进。这里行为日志起到一个产品优化数据支撑的作用。
  2. 当用户数达到一定规模后,这时候就可以从用户行为数据以及背后的规律进行分析,提炼出高价值信息。简单如用户分类、用户关联、商品关联、价格动态设定等等。就是根据不同时期、不同区域、不同用户群在不同场景下的行为数据以及所代表的趋势进行分析和设定。
  3. 上述说的,更简单一些,如不同用户群体,面对同一产品价格敏感度不一,有些用户可能贵1块钱,就不会从商品详情页去支付页下单购买,有些用户无明显变化。这时候就可以从用户行为数据中分析出对价格敏感度不一的用户群体。

2.2安全风控检查

  1. 银行、金融机构需要更详尽的数据来判断一个用户是否有风险,特别是在目前黑产行业猖獗,技术迭代越来越快情况下,很多用户可能都是群控软件操作的机器人用户。
  2. 安全软件机构,需要通过采集行为数据,判断一个用户的行为和实际遭受的攻击是否是有意还是无意,进而来筛选肉鸡、攻击者等。这个相对更小众,但作用更大,属于互联网的防火墙级别。国内360就有使用各种大数据技术来分析用户的行为日志数据,各类安全机构也有采用大数据技术做分析。
  3. 政府结构,针对敏感区域的用户行为日志做采集和分析,这个更敏感。提一下就可以了,有兴趣,大家去各类大公司或者安全部门进一步学习和了解。

2.3用户行为监控(主要用户安全应用,相对小众很多)

众所周知,或者假装不知。我们的手机是有很多传感器的,如麦克风,摄像头、GPS、陀螺仪、光线、距离、重力、加速度、磁场、指纹、气压、霍尔、心率等等。并且传感器随着手机功能完善,有越来越多的趋势。

  1. 简单如地理位置监控,直接定时上报手机所在的gps,可以看到手机以及手机携带者的地理位置信息从而进行监控
  2. 目前黑产行业中,群控软件众多(使用电脑软件批量操控或者单独操控某一台手机),这时候就可以采集如陀螺仪、加速度、重力、心率等等传感器数据。因为群控下的手机,一般都不会怎么移动,这时候就可以判定这台手机可能是一台黑产手机,从而在安全策略上进行拦截。据说这方面国内阿里巴巴做到全球顶级水平
  3. 直接基于手机端进行手机数据采集和分析,这方面国内的几个安全软件厂商最有发言权。如某数字安全厂商,技术确实很厉害,可以在手机端就对采集的用户行为数据做分析和处理。

3.行为日志如何实现

3.1 行为日志采集数据分类

从手机端可以采集的数据,按照各种标准都可以分类。我这里简单按照软件、硬件、实时行为三个维度分类

  1. 软件数据,
  • 通讯录、
  • 相册、
  • 操作系统信息(软件版本、厂商、内核、安装了哪些app、用户的app使用频次等等)
  1. 硬件数据,
  • 传感器数据如陀螺仪、重力计、加速度计等
  • 硬件信息如手机分辨率、屏幕尺寸、摄像头信息、电池容量、制造商等等
  1. 实时行为信息
  • 用户行为产生的信息,如app启动、打开、页面浏览、按钮点击、滑动、页面停留(曝光)等等

3.2 行为日志采集的整体架构


注意

  • 在采集行为日志过程中,数据并不是一开始就导入到最终数据库,而是有一个前期的预处理过程。例如字段缺失(不严重的字段补齐,严重的丢弃)、信息校验(防止数据篡改等问题)、数据拼接等等。
  • 当数据进行预处理之后,才会流入到下一个真正的分析和处理环节。行为日志大部分场景都对实时性要求不高,属于离线分析。但目前由于黑产行业技术升级,利用行为日志产生的实时数据做用户行为和风控判断开始增加,行为日志的实时处理以后会逐渐增多。

3.3行为日志采集的前端实现架构

  • 注意,一般都是混合上述的几种方式进行实现,对时间敏感度高的,直接不缓存上传,不敏感的,为了不丢失,一般会做持久化处理。
  • 如果需要进一步优化,在本地磁盘文件中,再做数据淘汰和数据采样,这样可以降低行为日志总量而不会显著降低行为日志质量和数据失真。具体可以参考美团、头条的行为日志实现细节。
  • 前端数据采集,一般是分为几个段的数据,固定信息段如手机型号、系统版本等等;动态信息段如传感器数据、用户授权状态如是否授权获取通讯录、相册、GPS等;业务行为数据段如浏览了某个页面、点击了某个按钮;校验信息段,为了防止数据被篡改,一般会对数据做校验。这一点对于利用行为数据做风控和安全的场景更普遍,一般化场景不会做很严格的行为日志校验。需要校验也只会对部分数据做校验来降低性能开支。
  • 数据篡改,这里可以简单提一下。
  1. 在iOS和安卓中,uuid的获取和计算不一样,同时还需要考虑软件卸载后再次安装需要确保uuid不变
  2. 直接明文传输uuid,还不针对uuid做真实性校验,最终就是被拦截https,然后直接被黑产刷崩。
  3. 所以前端行为日志最关键一环就是设计好数据防篡改机制,其中最重要一环就是uuid的设计。
  4. uuid的设计,一般采用密文传输,uuid本身需要持久化到手机上。同时需要保证uuid的随机性。
  5. uuid本身需要能够被加密和解密,这样就算外部篡改了密文,还是可以被识别出来是黑产的操作。
  6. 当uuid能够被保护不被篡改,黑产需要防止被风控系统识别出来是同一台手机多账号操作的化,就只能采取刷系统或者root后还原系统或者采取更高级也更高难度的数据传输破解或者软件app砸壳
  7. 当以上步骤都实现好,剩下能够对前端业务造成困扰的黑产就都是高技术支持的黑产,需要想其他办法来分辨和应对。本文提到的,也是阿里巴巴采用的就是行为日志实时风控机制,既可以保证用户体验,也可以保证安全性。

3.4行为日志采集的后端实现架构

  • 注意,日志采集初步存放,一般是放在日志文件服务器集群中(应对海量的初始日志文件)
  • 初始文件存放后,基于预期目标,对数据进行预处理,也就是常说的ETL,提取、转换、加载。简单说就是数据缺失的、异常的、篡改的、需要进行字段拼接等操作的都在这一步处理。这样可以很好提升数据质量,降低日志服务器中数据总量。
  • 数据分析阶段,一般采用大数据处理技术,如果是OLAP场景,则可以使用多种OLAP引擎方案如Click house、Impala等等。如果是需要特性化处理,就需要使用spark、flink或其他数据分析技术。

3.5行为日志采集后的处理和分析

4. 行为日志优缺点

优点:

  1. 实时产生,和用户行为、业务行为密切相关。可以很好反应用户的实际动作和状态
  2. 字段信息丰富,得益于手机操作系统开放的api,可以拿到用户的很多信息,从而有更多信息维度来分析和处理用户行为以及背后代表的业务流程
  3. 采样频率可控,如果需要更密集的信息频次,可以控制采样频率,这样数据更密接,也更接近真实。

缺点:

  1. 数据量大,因为实时产生,对数据存储、处理都提出了挑战。
  2. 数据价值密度低,需要专门的技术处理才能提取出有效信息
  3. 由于手机系统型号,版本差异,需要的字段在不同手机上并不一致,缺失和补齐问题较多
  4. 占用用户手机上行带宽和存储空间,会一定影响用户体验
  5. 涉及法律法规隐私问题,国内逐步加强管控,国外直接罚款和下架,这一点是出海的app需要极其极其小心应对的 。

5.行为日志风险项

  1. 法律风险,目前各个国家包括我国,对于用户隐私数据越来越看重,就算使用各种手段获取了用户的授权,随意采集并且滥用用户数据,也会有很大法律风险。这一点在出海的app应用上更明显
  2. 用户流失,随着用户隐私意识越来越高,对于随意采集自己个人信息的行为容忍度下降,会导致用户流失风险
  3. 数据泄露风险,由于采集的数据较多,一旦发生安全事故,导致数据泄露。例如采集的图片、音频、文字信息泄露,会导致用户在互联网上的行为对所有人都是公开开放的,有很大隐患。

前端行为日志技术架构漫谈相关推荐

  1. 架构漫谈:业务架构、应用架构与基础架构

    软件开发就是把一个复杂的问题分解为一系列简单的问题,再把一系列简单的解决方案组合成一个复杂的解决方案.而软件开发中最大的挑战,就是即能够快速高效地针对需求.环境的变化做出改变,也能够持续提供稳定.高可 ...

  2. 乐视云大前端技术架构

    团队介绍 乐视云计算大前端,目前团队人数20+,负责公司全部业务线的前端工作,包括官网.商业平台的前端构建,flash.html5播放器的SDK,以及还处于Alpha阶段的React Native打包 ...

  3. 大型网站技术架构(3):WEB 前端性能优化

    上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类 这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器 ...

  4. 千亿级数量下日志分析系统的技术架构选型

     
 随着数据已经逐步成为一个公司宝贵的财富,大数据团队在公司往往会承担更加重要的角色.大数据团队往往要承担数据平台维护.数据产品开发.从数据产品中挖掘业务价值等重要的职责.所以对于很多大数据工程师 ...

  5. 技术期刊 · 路尘终见泰山平 | 微前端及插件化架构在 Wix 的实践;编辑器架构的第二路径;业务中的前端组件化体系……

    蒲公英 · JELLY技术期刊 Vol.47 不想当架构师的程序员不是"合格"的程序员?这一类的言论在很多文章中应该很常见吧,我们需要架构思维,要有抽象能力,要学会分层--需要的太 ...

  6. 《前端技术架构与工程》之性能笔记

    <前端技术架构与工程>之性能 前言: <前端技术架构与工程>这本书真的越看越有味.目前写了部分这本书的笔记,共分为三部分做笔记,已写了两篇如下. <前端技术架构与工程&g ...

  7. 一文带你快速拆解云智慧前端技术架构

    主讲人:王海虎,云智慧/智能研究院/算法工程经理 讲师简介:6年开发经验,主攻可视化方向.3d引擎.视野分析方向.18年开始做可视化方向,从前端工程师做到开发经理:开源项目FlyFish的负责人(荣获 ...

  8. 德国SNS交友/视频网站Poppen.de的技术架构分享

    Poppen.de是一个德国的 交友/ 聊天/ 视频 的SNS网站, 部分内容NSFW,网站采用了很多我们熟悉的技术,像Nginx ,MySQL,CouchDB,Erlang,Memcached的,R ...

  9. 菜鸟实时数仓技术架构演进

    分享嘉宾:贾元乔 菜鸟 高级数据技术专家 内容来源:Flink Forward ASIA 出品平台:DataFunTalk 导读:在开源盛世的今天,实时数仓的建设已经有了较为成熟的方案,技术选型上也都 ...

最新文章

  1. pat 多项式A/B
  2. usaco wormhole(看了官方视频题解)
  3. 算法:两种步长的希尔排序算法
  4. 漫步数理统计二十一——变换:随机向量
  5. 路由器的四个主要内存区域
  6. 玩Mega8 智能充电器-12. 终于实现-dV检测(转)
  7. 对于 Latex CJK 的一些解释
  8. 全闪存存储的VDI场景应用
  9. EI收录的中国(中文)期刊(2022版)
  10. Mockplus Cloud Crack,项目管理顺畅
  11. JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等
  12. AD7797芯片驱动调试
  13. 类的成员函数指针和静态成员函数指针 调用成员函数***
  14. 数据库编程入门培训(一)
  15. work@Alibaba
  16. caffe常用层:Reduction层
  17. maven install、maven clean、project clean三者的区别
  18. 嵌入式系统的软件看门狗和硬件看门狗
  19. 肖仰华:知识图谱如何解决行业智能化的工程问题?
  20. H5游戏性能测试工具 选择与实践总结

热门文章

  1. Java计算租金递增,根据租金递增周期和递增率生成合同期限的所有月租金(租金计算)...
  2. 汽车的空气悬架的功能以及发展趋势
  3. 阿里云OSS图片生成缩略图和获取视频的封面方法
  4. HDMI接口类型及历史版本
  5. 上海市python培训机构
  6. 安徽大学计算机学院校友,情系安大,未来可期——校友程刚忆往昔峥嵘岁月
  7. 支付宝曝重大漏洞:交易记录可被搜索
  8. 用python爬取20w 表情包.10分钟到手
  9. DRP项目:知识,我们的成长记录
  10. 安装IntelliJIDEA的时候提示NSIS ERROR的解决办法