浅谈「DataFlux」移动设备数据采集

简介:

DataFlux是上海驻云自研发的一套大数据统一分析平台,可以通过对任何来源、类型、规模的实时数据进行监控、分析和处理,释放数据价值

DataFlux 作为实时大数据分析平台,支持移动设备数据的收集,是其中非常重要的功能。短期规划,我们的目标是聚焦用户行为分析。下面就用户行为分析这一块展开,从系统设计、原理实现、后期展望来说说 Dataflux 移动设备的收集。

系统设计

移动端的数据采集,通过集成方在应用中集成我们的 SDK 来实现。具体实现如下图:
image

DataFlux 所有的系统设计都本着一个概念叫旁路,这里摘录一段百度百科的解释:

ByPass Mode(略过模式或旁路模式),泛指在一个系统的正常流程中,有一堆检核机制,而“ByPass Mode”就是当检核机制发生异常,无法在短期间内排除时,使系统作业能绕过这些检核机制,使系统能够继续运行的作业模式。

回到 SDK 的设计,我们引入了程序设计 AOP (Aspect-oriented programming 面线切面的程序设计)的概念,我就这里就不对 AOP 做赘述,相对应原理讲解网上有很多,简单来说集成方只需要进行简单的 SDK 启动配置之后,不需要将我们 SDK的夹杂应用的业务代码,换一种说法,这个就是全埋点。
image

好处是不要进行埋点的重复工作,另外因为没有和业务代码中添加代码,降低了代码耦合,在版本迭代过程中,不需因为界面或者业务代码变动一同修改,减少了代码维护成本。

当然全埋点也有它的缺点,因为把所有的数据都采集,如何在这些数据中过滤出有价值的数据,又变成了新的课题。我们这里一方面是通过 SDK 配置,通过黑白名单策略对上报采集数据进行过滤,另一方面是通过 Dataflux Web 端的自定义图标来实现。
image

实现原理

用户行为分析,全埋点这一块,这里 Android 使用了 Gradle Plugin Transform 静态代理的方式写入拦截代码,原理是在代码编译之前,由插件写入需要拦截的方法,iOS 则是在 Runtime,动态代理方式,在程序运行之后,注册拦截方法进行拦截,拦截到方法之后,我们对应应用的界面和用户的行为进行采集,之后以时序数据的方式,上报给 DataFlux服务器,然后用户通过 DataFlux 进行对收集数据进行洞察。
image

为了解除集成方安全性顾虑我们对SDK iOS 和 Android 进行了开源。

后期展望
在移动设备数据采集规划上,用户行为分析只是一部分,中期规划是采集设备的监控项目,例如,一方面用户行为数据可以根据这些监控数据做关联,另一方面可以作为实时监控手段,主要针对的是手机平板性能监控场景。

目前 SDK 只限于移动端,支持Android、iOS ,后期还会支持Flutter,并且会对支持的设备进行扩充,理论上安装有移动操作系统的设备,都是我们努力的目标,例如TV、车载设备等等。

image

相关文章
|
6月前
|
生物认证 数据安全/隐私保护
|
监控 API C++
利用C++构建PC端监控软件:实时屏幕录制
在今天的数字化世界中,监控软件变得越来越重要。无论是家庭用户需要监控他们的孩子,还是企业需要监控员工的电脑活动,实时屏幕录制是一种有效的方法。本文将向您介绍如何使用C++构建PC端监控软件,实现实时屏幕录制功能。此外,我们还将讨论如何自动提交监控到的数据到一个网站上。
482 0
|
2月前
|
Android开发 开发者
Android平台无纸化同屏如何实现实时录像功能
Android平台无纸化同屏,如果需要本地录像的话,实现难度不大,只要复用之前开发的录像模块的就可以,对我们来说,同屏采集这块,只是数据源不同而已,如果是自采集的其他数据,我们一样可以编码录像。
|
4月前
|
缓存 前端开发 JavaScript
PWA离线访问与推送通知实现的技术探讨
【7月更文挑战第18天】PWA通过Service Worker和一系列现代Web技术,实现了离线访问和推送通知等强大功能,为用户提供了类似于原生应用程序的体验。开发人员在构建PWA时,需要熟悉Service Worker、Web App Manifest和HTTPS协议等基础知识,并掌握离线缓存、推送通知等功能的开发实践。随着PWA技术的不断发展和完善,我们有理由相信,
|
3月前
|
小程序 前端开发 JavaScript
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。开发者运用Service Worker等实现资源缓存与实时推送,利用Web App Manifest添加快捷方式至桌面,通过CSS3和JavaScript打造流畅动画与手势操作,需注意兼容性与性能优化,为用户创造更佳体验。
105 0
|
6月前
|
监控 JavaScript 前端开发
使用JavaScript开发公司电脑监控软件:利用WebSocket实现实时监控
使用JavaScript和WebSocket实现员工电脑监控软件,通过WebSocket服务器实现实时数据传输。监控软件发送数据到服务器,服务器接收到数据后可自动提交至指定网站,提升企业管理效率和保障安全性。
177 2
|
监控 UED 开发者
通过云拨测对指定网页进行网页性能监测
本实验将通过云拨测对指定服务器进行网页性能监测,评估网站服务质量和用户体验。
288 10
|
缓存 前端开发 Cloud Native
《PWA实战:如何为你的网站增加离线功能和推送通知》
《PWA实战:如何为你的网站增加离线功能和推送通知》
328 0
|
编解码 监控 前端开发
如何快速实现Android平台前端设备接入能力
SIP(会话初始化协议)是在 IP网络上进行多媒体通信的应用层控制协议,以几种RFC的形式提供,其中最重要的是包含核心协议规范的RFC3261。该协议用于创建,修改和终止与一个或多个参与者的会话。通过会话,我们了解了一组进行通信的发送方和接收方,以及在通信过程中这些发送方和接收方保持的状态。会话的示例可以包括Internet电话呼叫,多媒体分发,多媒体会议,分布式计算机游戏等。
|
存储 编解码 监控
变废为宝:使用废旧手机实现实时监控方案
随着手机淘汰的速度越来越快,大多数手机功能性能很强劲就不再使用了,以大牛直播SDK现有方案为例,本文探讨下,如何用废旧手机实现实时监控方案(把手机当摄像头做监控之用): 本方案需要准备一个手机作为采集手机(要求摄像头完好就行),采集到的数据,编码,然后推送到服务器,本地也可以实时录像,其他终端,作为远程监控端设备,拉取采集手机的实时音视频即可。
293 0