浅谈「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

相关文章
|
监控 API C++
利用C++构建PC端监控软件:实时屏幕录制
在今天的数字化世界中,监控软件变得越来越重要。无论是家庭用户需要监控他们的孩子,还是企业需要监控员工的电脑活动,实时屏幕录制是一种有效的方法。本文将向您介绍如何使用C++构建PC端监控软件,实现实时屏幕录制功能。此外,我们还将讨论如何自动提交监控到的数据到一个网站上。
502 0
|
5月前
|
缓存 前端开发 JavaScript
PWA离线访问与推送通知实现的技术探讨
【7月更文挑战第18天】PWA通过Service Worker和一系列现代Web技术,实现了离线访问和推送通知等强大功能,为用户提供了类似于原生应用程序的体验。开发人员在构建PWA时,需要熟悉Service Worker、Web App Manifest和HTTPS协议等基础知识,并掌握离线缓存、推送通知等功能的开发实践。随着PWA技术的不断发展和完善,我们有理由相信,
|
4月前
|
小程序 前端开发 JavaScript
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。开发者运用Service Worker等实现资源缓存与实时推送,利用Web App Manifest添加快捷方式至桌面,通过CSS3和JavaScript打造流畅动画与手势操作,需注意兼容性与性能优化,为用户创造更佳体验。
124 0
|
7月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
|
编解码 监控 前端开发
如何快速实现Android平台前端设备接入能力
SIP(会话初始化协议)是在 IP网络上进行多媒体通信的应用层控制协议,以几种RFC的形式提供,其中最重要的是包含核心协议规范的RFC3261。该协议用于创建,修改和终止与一个或多个参与者的会话。通过会话,我们了解了一组进行通信的发送方和接收方,以及在通信过程中这些发送方和接收方保持的状态。会话的示例可以包括Internet电话呼叫,多媒体分发,多媒体会议,分布式计算机游戏等。
|
传感器 数据可视化 物联网
漏刻有时物联网传感器API接口对接说明文档
漏刻有时物联网传感器API接口对接说明文档
87 0
|
编解码 数据可视化 前端开发
漏刻有时数据可视化屏幕分辨率自适应PC端的概念
漏刻有时数据可视化屏幕分辨率自适应PC端的概念
89 0
|
传感器 物联网 Android开发
Android物联网应用程序开发(智慧园区)—— 设置传感器阈值对话框界面
Android物联网应用程序开发(智慧园区)—— 设置传感器阈值对话框界面
276 0
Android物联网应用程序开发(智慧园区)—— 设置传感器阈值对话框界面
|
数据采集 SQL 存储
基于DataFlux进行养猪场实时数据模拟生成和分析实践
摘要:DataFlux是驻云科技的实时大数据分析平台。经过对养猪场的数据分析需求,使用DataMock数据模拟器模拟生成原始数据并上传至DataFlux,快速实现了对养猪场数据的分析全流程。 注:本次业务分析、模拟数据分析生成和实践主要为培训和演示用途,旨在快速了解DataMock和DataFlux进行实时数据分析的功能和流程。
1335 0
基于DataFlux进行养猪场实时数据模拟生成和分析实践
|
存储 5G 数据处理
为什么数据处理和存储应该在云端而不是移动设备中
调查表明,用户更喜欢在云中而不是在移动设备上处理和存储数据。这是新的优秀实践吗?

热门文章

最新文章