Page 482 - 《软件学报》2024年第4期
P. 482
2060 软件学报 2024 年第 35 卷第 4 期
志资源.
2.3 设备兼容性原则
近年来, 以智能手机为主的智能终端创新空间逐步收窄、市场增量接近饱和, 而智能可穿戴设备和物联网设
备等轻量级设备逐渐成为智能终端产业下一个增长热点 [27] , 操作系统和相关软件对轻量设备的兼容性成为近年
来的技术热点. OpenHarmony 操作系统即是一种面向全设备的操作系统, 全设备不但包括常见的手机、平板、计
算机、智能手表等计算资源相对充足的电子产品, 也包括资源受限的轻量化设备, 如蓝牙耳机、键盘、智能音箱、
传感器等. OpenHarmony 将不同设备依据内存大小等参数分为 5 个等级 (L1–L5), 并针对不同等级的设备开发了
基于 LiteOS-m 内核的轻量系统 (mini system)、基于 LiteOS-a 内核的小型系统 (small system) 和基于 Linux 内核
的标准系统 (standard system), 3 种操作系统具体划分情况如表 1 所示.
表 1 OpenHarmony 软硬件平台划分与对应关系
设备等级 内存范围 系统类型 代表设备
L1 128 KB–128 MB 轻量系统、小型系统 传感器、穿戴设备
L2 128 MB–4 GB 小型系统、标准系统 智能摄像头、路由器
L3–L5 >4 GB 标准系统 手机、平板
表 1 中, L1 级别的设备对应的就是轻量设备, 从表 1 数据可以看出, 轻量设备的内存非常小. 此外轻量级设备
由于体积与功耗, 其计算资源和存储资源受到了较大的限制. 综上所述, HiLog 在设计时应当注意 3 个方面以提升
对轻量设备的兼容性: ① 减少 CPU 占用, ② 减少内存占用, ③ 减少存储空间占用.
2.4 数据安全原则
在操作系统的开发过程中, 开发人员会使用日志系统记录包括指针、内存地址、函数和错误代码在内的多种
系统关键信息, 作为调试工作的辅助信息. 同时, 在操作系统的使用过程中, 日志记录了大量用户行为习惯等敏感
数据. 如果不对这些信息进行保护, 则任何阅读日志的人都可以直接获取这些数据, 引发操作系统的安全问题和用
户敏感数据泄露问题. 常见的隐私保护方法有匿名化 [28] 、同态加密 [29] 、差分隐私 [30] 等, 这些方法需要基于静态的、
结构相同的数据集合计算数据之间的相关性, 构建字段隐藏规则, 可以有效利用在图、表结构表征的数据集合中.
但是日志是随时间变化的长文本数据集合, 难以适用这些方法, 原因在于: ① 基于时间序列意味着日志数据是随
时间快速更新的, 每次更新都需要重新计算数据之间的关系, 计算开销是昂贵的, 特别对于移动设备来说是难以接
受的. ② 长文本缺乏字段概念, 日志语句的长短、句式各不相同 (结构不同), 难以基于规则分辨需要保护的内容.
综上所述, HiLog 应当具备一定的日志数据安全能力, 但是同时需要保证轻量化, 不影响日志系统和操作系统
的性能.
3 HiLog 日志系统设计实现
在实践层面上, 基于上述 4 种设计原则, 给出 HiLog 日志系统的设计方案. 下文将从日志的数据结构、日志系
统的功能、日志系统模块设计 3 个方面描述 HiLog 日志系统.
3.1 日志数据结构定义
日志需要明确、详尽地体现程序运行时的相关信息. 作为 OpenHarmony 操作系统的日志, 为了协助开发、运
维人员定位问题. 因此除了由使用者定义的日志标题和内容外, 还需要提供一些的辅助信息, 用于日志信息的分类
和筛选. 同时, 为了减少内存和 IPC 负担, 这些信息需要尽可能精简.
3.1.1 日志类型
OpenHarmony 操作系统由下至上分为内核层、系统层和应用层. 内核层可由面向标准系统的 Linux 内核或面
向轻量系统的 LiteOS 内核构成; 系统层主要由 OpenHarmony 操作系统的各个子系统构成; 应用层则由运行于