第三届大会回顾第4期 | OpenHarmony 高性能日志系统 HiLog 的设计与实现
演讲嘉宾 | 吴圣垚
回顾整理 | 廖 涛
排版校对 | 宋夕明
嘉宾介绍
研究分论坛
吴圣垚,中国科学院软件研究所技术专家。
正文内容
日志系统记录了操作系统运行时发生的各种事件,包括信息变更、错误和异常等,对系统的状态监控、错误检测与诊断、恢复与备份、性能优化以及安全审计等起着关键性作用。OpenHarmony的Hilog日志系统是如何构建的,又有哪些关键的特性和功能?中国科学院软件研究所工程师吴圣垚在第三届OpenHarmony技术大会上进行了精彩介绍。
为了解决OpenHarmony开源项目运营初期尚未构建日志系统,且当今主流日志系统在技术架构层面难以满足OpenHarmony发展需求的痛点,作者本人及其团队设计并实现了高性能日志系统HiLog。HiLog为OpenHarmony提供了一种可追踪、可审计和可操作的方法,以便了解系统的状态、故障和性能。适用于OpenHarmony应用、硬件开发及测试人员,是每个开发人员的必备、入门工具。
Hilog在性能原则、资源分配原则、设备兼容性原则和数据安全原则等方面均提出了创新的解决方案,具体为:
一、高性能解决方案:从软件层面提高日志吞吐量,降低丢包率。首先,针对读、写日志任务的特征,基于IO复用、异步Socket等模型,优化IPC过程。以此提高日志传输效率,降低日志传输过程中的损耗。
此外,基于双向循环链表实现缓冲区;并实现单生产者多消费者的缓冲区管理机制。以此提高缓冲区处理能力,降低日志读写的损耗。
二、资源分配解决方案:对操作系统资源和日志系统资源进行合理分配,日志系统的运转不能占用过多的操作系统资源;每个写日志业务不能占用过多的日志系统资源。在进程流控上,限制每进程的日志写入,降低IPC压力;在业务流控上,进一步限制多进程业务的日志写入,降低缓冲区管理压力。
三、设备兼容性解决方案:能够在资源较为丰富的移动端设备上体现高性能特性;能够在资源受限的小型/轻量级设备上运行。首先,采用模块化的体系结构,在移动设备上构建hilogd,实现高性能日志处理。在小型设备上不构建hilogd,降低CPU和内存资源消耗。
其次,对日志流进行压缩。高流量使用场景,将日志流直接输入压缩算法,然后持久化。大幅降低存储资源消耗;此外,采取轮转文件压缩方案,低流量实用场景,将日志写入文件轮盘,压缩文件,删除源文件。在避免日志大量丢失的前提下,降低存储资源消耗。
四、数据安全解决方案:保护流经日志系统的关键信息;尽可能减少额外的性能开销。基于格式化占位符的变量匿名化:在格式化占位符中添加隐私标识。HiLog可以识别该隐私标识,并基于隐私开关,对变量进行匿名化或非匿名化处理。以此构建轻量级数据安全能力。
目前,Hilog日志系统的相关工作已经发表在软件学报(文章链接:http://www.jos.org.cn/1000-9825/6900.html),且代码已合入了OpenHarmony主线(项目地址:https://gitee.com/openharmony/hiviewdfx_hilog),在包括HarmonyOS NEXT在内的多个OpenHarmony发行版上进行了稳定的运行,为系统开发者、应用开发者和数据分析师提供了重要的日志数据。
在OpenHarmony迅速发展以及万物智联场景逐步演进的背景下,OpenHarmony的日志系统将面临哪些挑战和机遇?作者本人提出了以下2点展望:
一、目前业界对于日志系统的数据安全的研究较少,HiLog的轻量化数据安全能力是对于日志数据安全问题的初步探索,虽然可以一定程度上遮蔽敏感数据信息,但是仍需要开发者和审核人员投入精力对日志参数进行修改和验证,具备一定的人工成本。后续希望能够引入一些自动化的判断机制,例如采用机器学习的手段对日志参数的上下文进行分析,进而自动化地判断该参数是否属于隐私信息,减少人工审核成本,提高数据安全能力的易用性。
二、OpenHarmony作为分布式操作系统,原生支持分布式能力。分布式能力涉及到多台设备的协同运作,即日志信息会在多台设备上产生,然而,目前HiLog尚不具备从多设备统一收集日志并进行管理的能力。这种缺陷对于分布式能力的开发和调试造成了一定的不便,具备优化的空间。构造分布式日志系统有两个重要的问题需要解决,其一是设备间高速、高稳定的连接问题,其二是多设备的时钟同步问题。对于第一个问题,可以等待OpenHarmony的软总线(softbus)技术成熟后,利用softbus作为稳定高速的日志传输的通道;对于第二个问题,可以考虑基于精确时间协议(precision time protocol,PTP)实现无线局域网内的多设备时钟同步。
审核编辑 黄宇
- 纳芯微发布闭环磁通门信号调节芯片NSDRV401
- 强“芯”赋能,共建智能汽车新生态!矽力杰、芯来与理想星环OS开启深入适配
- 开疆智能EtherCAT转CANopen网关连接IS620P伺服配置案例
- Anritsu 安立 MS2721A 频谱分析仪功率测量不准的检修实例
- 深圳这家传感器公司再获数亿元融资!TCL、商汤押注,这条传感器赛道炙手可热!
- 固态电池和超级电容器的区别
- 虹科免拆诊断 | 07款丰田Hilux启动故障
- MOSFET工艺参数揭秘:合科泰的技术突围之道
- 一个在华为坐了6年“冷板凳”的专家
- 四方光电激光甲烷传感器荣获中国城市燃气协会创新成果一等奖
- RFID 系统与智能工具柜:重构社康、图书馆与医疗行业的资产管理范式
- 格氏电池厂外测试基地落户星湾航空,共建低空经济发展新模式
- 开疆智能CANopen转CCLinkIE网关连接埃斯顿伺服系统配置案例
- 芯驰科技与立锜联合开发车载SoC参考设计
- 20个任何人都能完成的树莓派酷炫项目!
- ModbusRTU转Profinet网关与奥豪斯电子天平通讯案例