当前位置: 首页 > ops >正文

OpenHarmony设备使用统计深度实战:从数据埋点到信息采集的全链路方案

在 OpenHarmony 中,Device Usage Statistics(设备使用模块)主要负责 采集、统计和记录系统中各种软硬件资源的使用情况,为系统优化、应用管理、电量/性能分析、用户行为分析等提供数据支持。

即统计APP使用量、客流量、用户记录等。

1. 系统架构与核心组件

功能 说明
资源使用监控 实时统计 CPU、内存、存储、网络、传感器等硬件资源的使用量和占用时长。
应用行为记录 记录应用启动次数、运行时长、前后台切换、崩溃信息等。
用户行为分析 统计用户解锁频率、应用偏好、设备使用时段等,用于智能推荐或系统调优。
电量与性能追踪 关联资源使用与电量消耗,识别高耗电模块,辅助功耗优化。
数据上报与查询接口 向系统服务或上层应用提供查询接口,支持数据可视化或云端同步。

1.1 整体架构源码结构

文件路径: foundation/resourceschedule/device_usage_statistics/

foundation/resourceschedule/device_usage_statistics/
├── services/common/include/           # 服务层头文件
│   ├── bundle_active_service.h        # 主服务类 
│   ├── bundle_active_core.h          # 核心业务逻辑
│   └── bundle_active_usage_database.h # 数据库操作
├── services/common/src/              # 服务层实现
│   ├── bundle_active_service.cpp     # 服务实现 
│   ├── bundle_active_core.cpp        # 核心业务实现
│   └── bundle_active_usage_database.cpp
├── interfaces/innerkits/include/     # 对内接口
│   ├── bundle_active_client.h        # 客户端接口 
│   ├── bundle_active_event.h         # 事件定义 
│   ├── bundle_active_package_stats.h # 统计信息定义 
│   └── bundle_active_module_record.h # 模块记录定义
├── sa_profile/1907.json              # SA配置文件 
└── test/                             # 测试目录

1.2 核心类关系

«SystemAbility»
BundleActiveService
+OnStart() : void
+OnStop() : void
+ReportEvent() : ErrCode
+IsBundleIdle() : ErrCode
+QueryBundleStatsInfoByInterval() : ErrCode
+QueryBundleEvents() : ErrCode
+SetAppGroup() : ErrCode
«Singleton»
BundleActiveClient
+GetInstance()
+ReportEvent() : ErrCode
+IsBundleIdle() : ErrCode
+QueryBundleStatsInfoByInterval() : ErrCode
+QueryBundleEvents() : ErrCode
+SetAppGroup() : ErrCode
http://www.xdnf.cn/news/19031.html

相关文章:

  • matlab利用模糊算法控制PID参数实现模糊控制
  • echo、seq、{}、date、bc命令
  • Shell 秘典(卷二)——号令延展秘术 与 流程掌控心法・if 天机判语篇精解
  • SpringMvc下
  • log4jshell CVE-2021-44228 复现
  • 智能标签分类:新一代任务管理工具的进化方向
  • LangChain如何使用通义千问的向量模型
  • 【C语言入门级教学】sizeof和strlen的对⽐
  • Java使用apache.commons.math3的DBSCAN实现自动聚类
  • HTML 核心标签全解析:从文本排版到媒体嵌入
  • vue3中安装tailwindcss
  • C++函数继承
  • docker 搭建zookper集群,快照虚拟机多机模拟
  • 园区智慧水电管理系统:让能源管理从“成本黑洞”变“利润引擎”
  • 【实时Linux实战系列】实时数据可视化技术实现
  • 【机器学习】 12 Latent linear models
  • 【拍摄学习记录】03-曝光
  • 解决通过远程桌面访问ubuntu20.04出现的异常问题
  • IDA-pro-mcp 的核心功能 常用的prompt
  • 【机器学习入门】3.1 关联分析——从“购物篮”到推荐系统的核心逻辑
  • 【CanRun】Python终端[颜色文字]输出
  • 代理IP服务器平台推荐,企业级动态住宅IP资源哪里找?
  • 每周AI看 | 微软开源VibeVoice-1.5B、OpenAI历史性交棒、网易云商出席AICon全球人工智能开发与应用大会
  • windows下安装kafka
  • LoRA三种不同训练流程在配置和保存权重的差异(64)
  • Ubuntu 服务器 KERNEL PANIC 修复实录
  • 开源vs商用美颜sdk:美白滤镜功能在直播中的优劣对比
  • gdb打印长字符产变量信息
  • CST混合求解任务的场路联合仿真(下)
  • ACID分别如何实现