浅谈「DataFlux」移动设备数据采集
DataFlux是上海驻云自研发的一套大数据统一分析平台,可以通过对任何来源、类型、规模的实时数据进行监控、分析和处理,释放数据价值
DataFlux 作为实时大数据分析平台,支持移动设备数据的收集,是其中非常重要的功能。短期规划,我们的目标是聚焦用户行为分析。下面就用户行为分析这一块展开,从系统设计、原理实现、后期展望来说说 Dataflux 移动设备的收集。
系统设计
移动端的数据采集,通过集成方在应用中集成我们的 SDK 来实现。具体实现如下图:
DataFlux 所有的系统设计都本着一个概念叫旁路,这里摘录一段百度百科的解释:
ByPass Mode(略过模式或旁路模式),泛指在一个系统的正常流程中,有一堆检核机制,而“ByPass Mode”就是当检核机制发生异常,无法在短期间内排除时,使系统作业能绕过这些检核机制,使系统能够继续运行的作业模式。
回到 SDK 的设计,我们引入了程序设计 AOP (Aspect-oriented programming 面线切面的程序设计)的概念,我就这里就不对 AOP 做赘述,相对应原理讲解网上有很多,简单来说集成方只需要进行简单的 SDK 启动配置之后,不需要将我们 SDK的夹杂应用的业务代码,换一种说法,这个就是全埋点。
好处是不要进行埋点的重复工作,另外因为没有和业务代码中添加代码,降低了代码耦合,在版本迭代过程中,不需因为界面或者业务代码变动一同修改,减少了代码维护成本。
当然全埋点也有它的缺点,因为把所有的数据都采集,如何在这些数据中过滤出有价值的数据,又变成了新的课题。我们这里一方面是通过 SDK 配置,通过黑白名单策略对上报采集数据进行过滤,另一方面是通过 Dataflux Web 端的自定义图标来实现。
实现原理
用户行为分析,全埋点这一块,这里 Android 使用了 Gradle Plugin Transform 静态代理的方式写入拦截代码,原理是在代码编译之前,由插件写入需要拦截的方法,iOS 则是在 Runtime,动态代理方式,在程序运行之后,注册拦截方法进行拦截,拦截到方法之后,我们对应应用的界面和用户的行为进行采集,之后以时序数据的方式,上报给 DataFlux服务器,然后用户通过 DataFlux 进行对收集数据进行洞察。
为了解除集成方安全性顾虑我们对SDK iOS 和 Android 进行了开源。
后期展望
在移动设备数据采集规划上,用户行为分析只是一部分,中期规划是采集设备的监控项目,例如,一方面用户行为数据可以根据这些监控数据做关联,另一方面可以作为实时监控手段,主要针对的是手机平板性能监控场景。
目前 SDK 只限于移动端,支持Android、iOS ,后期还会支持Flutter,并且会对支持的设备进行扩充,理论上安装有移动操作系统的设备,都是我们努力的目标,例如TV、车载设备等等。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
全面升级:EDAS 全新设计控制台概览页,并新增、优化了多个功能点
近日,阿里云企业级分布式应用服务 EDAS 发布升级通告,全新设计控制台概览页,并新增、优化了多个功能点,包括: 全新概览页:根据最新的产品能力,全新设计了概览页面。在概览页可以清晰展示托管的应用数、集群数和微服务数,此外还可展示常用应用和最新的变更单等信息。 日志能力优化:ECS集群和容器服务K8s集群中的应用的日志管理能力进一步优化,您可一键添加日志文件在线查看,并且无需重新部署应用即可接入日志服务SLS(Log Service),在接入SLS时可自定义Logstore命名来提高可读性。 ECS集群中部署的应用的日志管理能力请参见日志管理。 容器服务K8s集群中部署的应用的日志管理能力请参见日志目录。 查看配置和工作负载信息:容器服务K8s集群中的应用的基本信息页面新增一键只读查看应用的部署配置信息,展示了应用的工作负载(Deployment和Pod等)信息。相关文档请参见查看应用总览。 安全沙箱容器支持:在容器服务K8s集群中的创建应用和部署应用时,支持按需选择安全沙箱容器类型为Docker或安全沙箱容器。相关文档请参见创建容器服务K8s应用。 多可用区部署:在容器服务K8s集群...
- 下一篇
我们该如何正确地理解智慧城市?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 城市是生态系统,是定义未来几年人类发展的两个新现实的交汇点:一方面是世界人口城市化的激烈过程,另一方面是信息和通信技术的传播(ICT)可供社会各阶层的人们使用。 智慧城市将通过整合新技术环境提供的可能性进行规划和管理。城市的功能不断变化,变得更加容易、灵活。首先,在提供传统服务(如城市卫生和公共交通)以及具有电子政务的公民与公共行政部门的关系方面,效率将更高。而且在点对点的新协作服务中,公民发现并开发了使用城市的另一种方式。 变革的三大因素 城市规模的扩大、对环境的尊重以及对居民的改善服务是智慧城市变革的三个因素。 1.城市化 世界人口的城市化表明,在25年内,百分之八十的欧洲人将居住在城市中。北美和南美地区每十个人中有九个人,非洲或亚洲每十个人中有五至六个人将生活在城市中。 在城市人口快速增长的新背景下,城市的概念正在发生变化:“城市”将越来越意味着“区域”。城市区域,指具有较大领土的大城市,即足够大以确保其经济和企业基础的竞争力。在新的城市地区,居民将拥有高度灵活的流动性;换句话说,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8安装Docker,最新的服务器搭配容器使用
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16