[发明专利]安卓日志存储方法和装置有效
申请号: | 202110858412.9 | 申请日: | 2021-07-28 |
公开(公告)号: | CN113535660B | 公开(公告)日: | 2023-09-05 |
发明(设计)人: | 镐东越;王宪臻 | 申请(专利权)人: | 展讯通信(天津)有限公司 |
主分类号: | G06F16/172 | 分类号: | G06F16/172;G06F16/18 |
代理公司: | 北京汇思诚业知识产权代理有限公司 11444 | 代理人: | 汪源 |
地址: | 300450 天津市滨海新区自贸*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 日志 存储 方法 装置 | ||
本发明涉及安卓系统技术领域,尤其涉及一种安卓日志存储方法和装置。该方法包括:内核初始化时,在内核空间确定第一内存区域,并将所述第一内存区域的地址信息存储至指定区域;将所述第一内存区域映射到用户空间的第一缓存区域,并将所述第一缓存区域的地址信息提供给安卓程序;其中,所述第一缓存区域用于所述安卓程序存储日志数据,所述第一内存区域的地址信息用于指示安卓程序日志数据的存储位置。通过本发明的技术方案,解决了在底层内核异常时缓存信息无法及时被同步到存储设备,导致缓存数据丢失的情况,对安卓系统的关键缓存日志进行了完好的保存。
【技术领域】
本发明涉及安卓系统技术领域,尤其涉及一种安卓日志存储方法和装置。
【背景技术】
目前,在安卓系统中,由于内核空间对用户空间是不可见的,因此对于内核空间来说,用户空间的进程程序打印的日志(log)文件无法被其直接获取。
通常来讲,安卓设备在发生底层异常时会导致整机重启,在此场景下,由于上层系统无法提前感知,文件系统输入/输出(Input/Output,I/O)过程的缓存信息无法及时被同步到存储设备,导致缓存数据丢失,日志无法完整保存,尤其是定位问题所需的重启前的关键日志,大大降低了问题定位的效率和准确性。
因此,如何在内核异常的情况下完好保存安卓缓存日志文件,成为目前亟待解决的问题。
【发明内容】
本发明实施例提供了一种安卓日志存储方法和装置,旨在解决相关技术中内核发生异常时安卓缓存日志如何保存的技术问题,能够完好的保存安卓系统的关键缓存日志,防止数据的意外丢失。
第一方面,本发明实施例提供了一种安卓日志存储方法,包括:内核初始化时,在内核空间确定第一内存区域,并将所述第一内存区域的地址信息存储至指定区域;将所述第一内存区域映射到用户空间的第一缓存区域,并将所述第一缓存区域的地址信息提供给安卓程序;其中,所述第一缓存区域用于所述安卓程序存储日志数据,所述第一内存区域的地址信息用于指示安卓程序日志数据的存储位置。
可选地,在内核空间确定第一内存区域之后,还包括:设置所述第一内存区域为不可回收页。
可选地,将所述第一内存区域映射到用户空间的第一缓存区域,还包括:注册设备节点,通过所述设备节点将所述第一内存区域映射到用户空间的第一缓存区域。
可选地,所述指定区域定义有全局结构体,所述全局结构体用于存储所述第一内存区域的地址信息。
可选地,所述方法还包括:内核异常时,根据所述指定区域存储的所述第一内存区域的地址信息,将相应物理内存中的日志数据生成日志文件。
第二方面,本发明实施例提供了一种安卓日志存储装置,包括:第一处理模块,用于在内核空间确定第一内存区域,并将所述第一内存区域的地址信息存储至指定区域;第二处理模块,用于将所述第一内存区域映射到用户空间的第一缓存区域,并将所述第一缓存区域在所述用户空间的地址信息存储至所述指定区域;其中,所述第一缓存区域用于存储安卓程序的日志数据,所述第一内存区域和所述第一内存区域的地址信息用于指示安卓程序日志数据的存储位置。
可选地,所述第一处理模块还用于设置所述第一内存区域为不可回收页。
可选地,所述第二处理模块,具体用于注册设备节点,通过所述设备节点将所述第一内存区域映射到用户空间的第一缓存区域。
第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的程序指令,所述处理器调用所述程序指令以执行上述第一方面或者第一方面任一可能实施方式的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(天津)有限公司,未经展讯通信(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110858412.9/2.html,转载请声明来源钻瓜专利网。