CN105205142B - 保存日志文件的方法、装置和移动终端 - Google Patents
保存日志文件的方法、装置和移动终端 Download PDFInfo
- Publication number
- CN105205142B CN105205142B CN201510599014.4A CN201510599014A CN105205142B CN 105205142 B CN105205142 B CN 105205142B CN 201510599014 A CN201510599014 A CN 201510599014A CN 105205142 B CN105205142 B CN 105205142B
- Authority
- CN
- China
- Prior art keywords
- carry
- file
- recovery
- storage card
- journal file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种保存日志文件的方法、装置和移动终端,其中该方法包括:控制移动终端进入恢复Recovery模式,并获取挂载文件,其中,挂载文件包括外置存储卡的挂载信息;从挂载文件中提取挂载信息;根据挂载信息对外置存储卡进行挂载;以及在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件。本发明提供的保存日志文件的方法、装置和移动终端,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种保存日志文件的方法、装置和移动终端。
背景技术
随着移动互联网时代的不断发展,移动终端例如智能手机的功能越来强大,人们通过智能手机不仅可以进行通话、发短信等,还可以进行支付、存储个人隐私信息等,智能手机已成为人们日常生活不可或缺的一部分。
目前,在使用智能手机的过程中,用户可通过系统升级或者恢复出厂设置来解决智能手机中出现的一些问题。对于基于安卓系统的智能手机,用户可先通过操作进入恢复Recovery模式,然后在Recovery模式下,可根据需求选择系统升级,或者恢复出厂设置。
在对智能手机进行系统升级,或者恢复出厂设置的过程中,如果系统升级过程出现异常(如掉电),或者恢复出厂设置一直卡进度条等情况发生,由于未完成智能手机的系统升级,或者恢复出厂设置,此时,无法拷贝临时文件系统的日志,因此无法对此过程进行分析。另外,由于在对智能手机恢复出厂设置的过程中,智能手机中的数据(data)和缓存cache这两个分区会被格式化;在系统升级时,由于智能手机的system分区将会被卸载操作,由此可以看出,智能手机分区不适合存放临时系统的日志文件因此,如何保存日志文件是一个亟需解决的问题。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种保存日志文件的方法,该方法通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
本发明的第二个目的在于提出一种保存日志文件的装置。
本发明的第三个目的在于提出一种移动终端。
为了实现上述目的,本发明第一方面实施例的保存日志文件的方法,包括:控制移动终端进入恢复Recovery模式,并获取挂载文件,其中,所述挂载文件包括所述外置存储卡的挂载信息;从所述挂载文件中提取所述挂载信息;根据所述挂载信息对所述外置存储卡进行挂载;以及在所述外置存储卡中建立日志文件,并将所述移动终端的日志输出至所述日志文件。
根据本发明的一个实施例,所述从所述挂载文件中提取所述挂载信息具体包括:读取所述挂载文件,并将所述挂载信息保存至结构体数组,其中,所述结构体数组由Recovery进程创建;以及在挂载所述外置存储卡时,从所述结构体数组中读取所述挂载信息。
根据本发明的一个实施例,还包括:当所述Recovery进程结束时,删除所述结构体数组。
其中,所述结构体数组存储在全局数据区中。
其中,所述挂载信息包括挂载点、文件类型和设备信息。
根据本发明的一个实施例,所述控制移动终端进入Recovery模式并获取挂载文件具体包括:获取Recovery镜像文件,其中,所述Recovery镜像文件包括内核和设备树与根文件系统;执行所述Recovery镜像文件的内核;执行INIT进程以挂载所述根文件系统,并执行Uenventd进程;以及执行Recovery进程,并获取所述挂载文件。
根据本发明的一个实施例,通过以下指令对所述外置存储卡进行挂载:mount-t文件类型设备名称挂载点。
根据本发明的一个实施例,所述将所述移动终端的日志输出至所述日志文件具体包括:通过重定向函数,以追加方式将所述日志输出至所述日志文件。
根据本发明实施例的保存日志文件的方法,首先控制移动终端进入恢复Recovery模式,并获取包含外置存储卡的挂载信息的挂载文件,然后从挂载文件中提取挂载信息,并根据挂载信息对外置存储卡进行挂载,以及在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
为了实现上述目的,本发明第二方面实施例的保存日志文件的装置,包括:恢复控制模块,用于控制移动终端进入恢复Recovery模式;获取模块,用于获取挂载文件,其中,所述挂载文件包括所述外置存储卡的挂载信息;提取模块,用于从所述挂载文件中提取所述挂载信息;挂载模块,用于根据所述挂载信息对所述外置存储卡进行挂载;以及日志输出模块,用于在所述外置存储卡中建立日志文件,并将所述移动终端的日志输出至所述日志文件。
根据本发明的一个实施例,所述获取模块用于读取所述挂载文件,并将所述挂载信息保存至结构体数组,以及在挂载所述外置存储卡时从所述结构体数组中读取所述挂载信息,其中,所述结构体数组由Recovery进程创建。
根据本发明的一个实施例,所述装置还包括:删除模块,用于当所述Recovery进程结束时,删除所述结构体数组。
其中,所述结构体数组存储在全局数据区中。
其中,所述挂载信息包括挂载点、文件类型和设备信息。
根据本发明的一个实施例,所述恢复控制模块具体包括:获取子模块,用于获取Recovery镜像文件,其中,所述Recovery镜像文件包括内核和设备树与根文件系统;内核执行子模块,用于执行所述Recovery镜像文件的内核;进程控制子模块,用于执行INIT进程以挂载所述根文件系统,并执行Uenventd进程,以及执行Recovery进程;以及获取子模块,用于在执行Recovery进程之后获取所述挂载文件。
根据本发明的一个实施例,所述挂载模块通过以下指令对所述外置存储卡进行挂载:
mount-t文件类型设备名称挂载点。
其中,所述日志输出模块通过重定向函数,以追加方式将所述日志输出至所述日志文件。
根据本发明实施例的保存日志文件的装置,通过恢复控制模块控制移动终端进入恢复Recovery模式,并获取模块获取包含外置存储卡的挂载信息的挂载文件,然后提取模块从挂载文件中提取挂载信息,并挂载模块根据挂载信息对外置存储卡进行挂载,以及日志输出模块在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
为了实现上述目的,本发明第三方面实施例的移动终端,包括本发明第二方面实施例的保存日志文件的装置。
根据本发明实施例的移动终端,首先控制移动终端进入恢复Recovery模式,并获取包含外置存储卡的挂载信息的挂载文件,然后从挂载文件中提取挂载信息,并根据挂载信息对外置存储卡进行挂载,以及在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的保存日志文件的方法的流程图。
图2是根据本发明一个实施例的获取挂载文件的流程图。
图3是文件系统的目录层次的示例图。
图4是根据本发明另一个实施例的保存日志文件的方法的流程图。
图5是根据本发明又一个实施例的保存日志文件的方法的流程图。
图6是根据本发明一个实施例的保存日志文件的装置的结构示意图。
图7是根据本发明另一个实施例的保存日志文件的装置的结构示意图。
图8是根据本发明又一个实施例的保存日志文件的装置的结构示意图。
附图标记:
恢复控制模块110、获取模块120、提取模块130、挂载模块140、日志输出模块150、删除模块160、获取子模块111、内核执行子模块112、进程控制子模块113和获取子模块114。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的保存日志文件的方法、装置和移动终端。
图1是根据本发明一个实施例的保存日志文件的方法的流程图。
如图1所示,该保存日志文件的方法包括:
S101,控制移动终端进入恢复Recovery模式,并获取挂载文件,其中,挂载文件包括外置存储卡的挂载信息。
其中,移动终端可为例如是手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
其中,挂载信息为从外置存储卡中提取的一项或者多项与挂载有关的信息。挂载信息可以包括但不限于挂载点、文件类型和设备信息。
其中,外置存储卡可以是各种类型的适合移动终端使用的存储卡,例如,外置存储卡可以是T卡。
具体地,在使用移动终端的过程中,可通过多种方式控制移动终端进入Recovery模式,下面简单介绍两种控制移动终端进入Recovery模式,具体地:
第一种方式是直接通过移动终端进入Recovery模式。
通常每个移动终端均有通过移动终端进入Recovery模式的方式,可通过对应的方式控制移动终端进入Recovery模式。
例如,在基于安卓系统的智能手机处于关机状态时,用户可通过按住电源(挂机键)+(Home)键的方式控制智能手机进入Recovery模式。
第二种方式是借助一些应用程序控制移动终端进入Recovery模式。
具体地,用户首先在终端例如计算机中安装一个具有控制移动终端进入Recovery模式功能的应用程序,并将移动终端与计算机连接,然后,在计算机识别出移动终端后,通过应用程序控制移动终端进入Recovery模式。
其中,需要说明的是,上述两种方式仅是控制移动终端进入Recovery模式的示例,在实际应用中,还可以以其他的方式控制移动终端进入Recovery模式。
在本发明的一个实施例中,在控制移动终端进入恢复Recovery模式之后,获取挂载文件的过程,如图2所示,可以包括:
S1011,获取Recovery镜像文件。
其中,Recovery镜像文件包括内核和设备树与根文件系统。
具体地,在获取Recovery镜像文件后,可对Recovery镜像文件进行解压,Recovery镜像文件解压后所得到的文件目录层次即为进入recovery模式后文件系统的目录层次。其中,文件系统的目录层次的形式如图3所示。
需要说明的是,图3中仅示出了文件系统中的部分文件,图3仅是文件系统的目录层次的示例图,本发明的实施例不限于此。
S1012,执行Recovery镜像文件的内核。
具体地,在获取Recovery镜像文件后,可通过执行Recovery镜像文件的内核,以对各个器件进行初始化。
当进入recovery模式时,先进入内核对各个器件进行初始化,
S1013,执行INIT进程以挂载根文件系统,并执行Uenventd进程。
S1014,执行Recovery进程,并获取挂载文件。
S102,从挂载文件中提取挂载信息。
具体地,在获取挂载文件后,可从挂载文件中提取出外置存储卡的挂载信息。
例如,外置存储卡为T卡,可将T卡的挂载点、文件类型以及设置信息等信息加入一个名称recovery.fstab的挂载文件,其中,挂载文件中保存的数据形式如下:
S103,根据挂载信息对外置存储卡进行挂载。
在从挂载文件中提取出外置存储卡的挂载信息后,可通过以下指令对外置存储卡进行挂载:
mount–t文件类型设备名称挂载点
具体地,在成功挂载外置存储卡后,用户可在移动终端的/external_sd目录下即可看到外置存储卡的各个文件夹及文件。
例如,外置存储卡为T卡,在挂载T卡后,移动终端会存在一个/external_sd目录,在这个目录下,可以看到T卡的Movies/external_sd/Music/external_sd/Photo等文件夹。
S104,在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件。
具体地,在挂载外置存储卡后,可在外置存储卡中建立日志文件,并通过重定向函数,以追加方式将移动终端中的日志输出至日志文件。
综上可以看出,该实施例提出一种通过外置存储卡保存Recovery模式下的日志的方式,该方式将Recovery模式下的日志保存在外置存储卡中,避免了在系统升级或者恢复出厂设置的过程中,由于出现异常情况而造成系统升级或者恢复出厂设置操作中断,无法获取到临时系统的日志,以及无法通过临时系统的日志对系统升级或者恢复出厂设置过程进行分析情况的发生。
根据本发明实施例的保存日志文件的方法,首先控制移动终端进入恢复Recovery模式,并获取包含外置存储卡的挂载信息的挂载文件,然后从挂载文件中提取挂载信息,并根据挂载信息对外置存储卡进行挂载,以及在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
图4是根据本发明另一个实施例的保存日志文件的方法的流程图。
如图4所示,该保存日志文件的方法包括:
S401,控制移动终端进入恢复Recovery模式,并获取挂载文件,其中,挂载文件包括外置存储卡的挂载信息。
其中,移动终端可为例如是手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
其中,挂载信息为从外置存储卡中提取的一项或者多项与挂载有关的信息。挂载信息可以包括但不限于挂载点、文件类型和设备信息。
其中,外置存储卡可以是各种类型的适合移动终端使用的存储卡,例如,外置存储卡可以是T卡。
具体地,在使用移动终端的过程中,可通过多种方式控制移动终端进入Recovery模式,下面简单介绍两种控制移动终端进入Recovery模式,具体地:
第一种方式是直接通过移动终端进入Recovery模式。
通常每个移动终端均有通过移动终端进入Recovery模式的方式,可通过对应的方式控制移动终端进入Recovery模式。
例如,在基于安卓系统的智能手机处于关机状态时,用户可通过按住电源(挂机键)+(Home)键的方式控制智能手机进入Recovery模式。
第二种方式是借助一些应用程序控制移动终端进入Recovery模式。
具体地,用户首先在终端例如计算机中安装一个具有控制移动终端进入Recovery模式功能的应用程序,并将移动终端与计算机连接,然后,在计算机识别出移动终端后,通过应用程序控制移动终端进入Recovery模式。
其中,需要说明的是,上述两种方式仅是控制移动终端进入Recovery模式的示例,在实际应用中,还可以以其他的方式控制移动终端进入Recovery模式。
在本发明的一个实施例中,在控制移动终端进入恢复Recovery模式之后,获取挂载文件的过程,如图2所示,可以包括:
S1011,获取Recovery镜像文件。
其中,Recovery镜像文件包括内核和设备树与根文件系统。
具体地,在获取Recovery镜像文件后,可对Recovery镜像文件进行解压,Recovery镜像文件解压后所得到的文件目录层次即为进入recovery模式后文件系统的目录层次。其中,文件系统的目录层次的形式如图3所示。
需要说明的是,图3仅是文件系统的目录层次的示例图,本发明的实施例不限于此。
S1012,执行Recovery镜像文件的内核。
具体地,在获取Recovery镜像文件后,可通过执行Recovery镜像文件的内核,以对各个器件进行初始化。
当进入recovery模式时,先进入内核对各个器件进行初始化,
S1013,执行INIT进程以挂载根文件系统,并执行Uenventd进程。
S1014,执行Recovery进程,并获取挂载文件。
S402,读取挂载文件,并将挂载信息保存至结构体数组。
具体地,在获取挂载文件后,为了提高读取挂载信息的效率,可建立一个数据组结构,并通过这个数据组结构保存挂载信息。
具体而言,可通过Recovery进程创建一个结构体数组。
为了方便后续读取结构体数组中的挂载信息,Recovery进程在创建结构体数组的过程中,可创建一个全局类型的结构体数组。
在通过Recovery进程将挂载文件中的挂载信息保存至结构体数组后,对应的数据将存储在全局数据区中。
例如,外置存储卡为T卡,可将T卡的挂载点、文件类型以及设置信息等信息加入一个名称recovery.fstab的挂载文件,其中,挂载文件中保存的数据形式如下:
然后,通过Recovery进程创建一个结构体数组,结构体数组如下:
为了方便后续读取挂载信息,可声明该结构体数组是一个全局类型的结构体数组,并通过Recovery进程将挂载文件中每一行的信息加入数组中。其中,声明全局型的结构体数组的代码为:struct devinfo*device_info。
S403,在挂载外置存储卡时,从结构体数组中读取挂载信息。
其中,需要说明的,通过挂载点即可以得到文件类型,设备名称等信息,如structdevinfo array[10];array[2]->mount_point="/external_sd"则array[2]->fstype="vfat"array[2]->device="dev/block/mmcblk1p1"。
S404,根据挂载信息对外置存储卡进行挂载。
在从挂载文件中提取出外置存储卡的挂载信息后,可通过以下指令对外置存储卡进行挂载:
mount–t文件类型设备名称挂载点
具体地,在成功挂载外置存储卡后,用户可在移动终端的/external_sd目录下即可看到外置存储卡的各个文件夹及文件。
例如,外置存储卡为T卡,在挂载T卡后,移动终端会存在一个/external_sd目录,在这个目录下,可以看到T卡的Movies/external_sd/Music/external_sd/Photo等文件夹。
S405,在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件。
具体地,在挂载外置存储卡后,可在外置存储卡中建立日志文件,并通过重定向函数,以追加方式将移动终端中的日志输出至日志文件。
其中,追加方式是指下一日志追加到上一日志后面,即按照日志的顺序将终端中的日志输出值日志文件中。
例如,外置存储卡为T卡,在T卡目录下建立一个文件名为/external_sd/recovery.log的日志文件后,可通过重定向函数,以追加方式将智能手机中的日志输出至日志文件。其中,通过重定向函数将智能手机中的日志输出至日志文件的代码为:
static const char*LOG_FILE="/external_sd/recovery.log";重定向输出流到此文件中。
freopen(LOG_FILE,"a",stdout);
setbuf(stdout,NULL);
freopen(LOG_FILE,"a",stderr);
setbuf(stderr,NULL);
在本发明的一个实施例中,在将移动终端的日志输出至日志文件后,可根据用户的选择对移动终端执行相应地操作(例如系统升级,或者恢复出厂设置)。
为了减少保存挂载信息的结构体数组对移动终端存储空间的占用,如图5所示,该保存日志文件的方法还可以包括步骤S406。
S406,当Recovery进程结束时,删除结构体数组。
具体地,在根据用户的选择执行完对应地操作(例如系统升级,或者恢复出厂设置)后,由于结构体数组中的数据已经无用,此时,可将Recovery进程执行支出所建立的删除结构体数组,由此,可减少不必要的内容对移动终端存储空间的占用。
例如,在用户选择对智能手机执行系统升级后,Recovery进程接收用户的选择,并根据用户的选择对智能手机的系统进行升级,在对智能手机的智能手机的系统升级完,即Recovery进程结束时,可将之前创建的结构体数组删除,由此,减少结构体数组对移动终端存储空间的占用。
根据本发明实施例的保存日志文件的方法,首先控制移动终端进入恢复Recovery模式,并获取包含外置存储卡的挂载信息的挂载文件,然后从挂载文件中提取挂载信息,并根据挂载信息对外置存储卡进行挂载,以及在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
为了实现上述实施例,本发明还提出了一种保存日志文件的装置。
图6是根据本发明一个实施例的保存日志文件的装置的结构示意图。
如图6所示,该保存日志文件的装置可以包括恢复控制模块110、获取模块120、提取模块130、挂载模块140和日志输出模块150,其中:
恢复控制模块110用于控制移动终端进入恢复Recovery模式。
其中,上述移动终端可为例如是手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
获取模块120用于获取挂载文件。
其中,上述挂载文件可以包括外置存储卡的挂载信息。
其中,挂载信息为从外置存储卡中提取的一项或者多项与挂载有关的信息。挂载信息可以包括但不限于挂载点、文件类型和设备信息。
其中,外置存储卡可以是各种类型的适合移动终端使用的存储卡,例如,外置存储卡可以是T卡。
提取模块130用于从挂载文件中提取挂载信息。
挂载模块140用于根据挂载信息对外置存储卡进行挂载。
日志输出模块150用于在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件。
在提取模块130从挂载文件中提取出外置存储卡的挂载信息后,挂载模块140可通过以下指令对外置存储卡进行挂载:
mount–t文件类型设备名称挂载点
具体地,在挂载模块140挂载外置存储卡后,日志输出模块150可在外置存储卡中建立日志文件,并通过重定向函数,以追加方式将移动终端中的日志输出至日志文件。
需要说明的是,前述对保存日志文件的方法实施例的解释说明也适用于该实施例的保存日志文件的装置,此处不再赘述。
根据本发明实施例的保存日志文件的装置,通过恢复控制模块控制移动终端进入恢复Recovery模式,并获取模块获取包含外置存储卡的挂载信息的挂载文件,然后提取模块从挂载文件中提取挂载信息,并挂载模块根据挂载信息对外置存储卡进行挂载,以及日志输出模块在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
图7是根据本发明另一个实施例的保存日志文件的装置的结构示意图。
如图7所示,在图6所示实施例的基础上,该保存日志文件的装置还可以包括删除模块160。
具体地,获取模块120具体用于:读取挂载文件,并将挂载信息保存至结构体数组,以及在挂载外置存储卡时从结构体数组中读取挂载信息。
其中,结构体数组由Recovery进程创建。
为了方便读取结构体数组存储,可将结构体数组存储在全局数据区中。
删除模块170用于当Recovery进程结束时,删除结构体数组。
具体地,在日志输出模块150将移动终端的日志输出至外置存储卡中所建立的日志文件后,可对移动终端执行对应的系统升级或者恢复出厂设置,并在对移动终端的系统完成升级或者恢复出厂设置后,为了减少包含挂载信息的结构图数组对移动终端存储空间的占用,删除模块170在监控到Recovery进程结束后,可删除结构体数组。
根据本发明实施例的保存日志文件的装置,通过恢复控制模块控制移动终端进入恢复Recovery模式,并获取模块获取包含外置存储卡的挂载信息的挂载文件,然后提取模块从挂载文件中提取挂载信息,并挂载模块根据挂载信息对外置存储卡进行挂载,以及日志输出模块在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
图8是根据本发明又一个实施例的保存日志文件的装置的结构示意图。
如图8所示,该保存日志文件的装置包括恢复控制模块110、获取模块120、提取模块130、挂载模块140、日志输出模块150和删除模块160,其中,恢复控制模块110包括获取子模块111、内核执行子模块112、进程控制子模块113和获取子模块114。
具体地,获取子模块111用于获取Recovery镜像文件。
其中,所述Recovery镜像文件包括内核和设备树与根文件系统。
内核执行子模块112用于执行所述Recovery镜像文件的内核。
进程控制子模块113用于执行INIT进程以挂载所述根文件系统,并执行Uenventd进程,以及执行Recovery进程。
获取子模块114用于在执行Recovery进程之后获取所述挂载文件。
根据本发明实施例的保存日志文件的装置,通过恢复控制模块控制移动终端进入恢复Recovery模式,并获取模块获取包含外置存储卡的挂载信息的挂载文件,然后提取模块从挂载文件中提取挂载信息,并挂载模块根据挂载信息对外置存储卡进行挂载,以及日志输出模块在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
为了实现上述实施例,本发明还提出一种移动终端。
一种移动终端,包括本发明第二方面实施例的保存日志文件的装置。
本发明实施例的移动终端,首先控制移动终端进入恢复Recovery模式,并获取包含外置存储卡的挂载信息的挂载文件,然后从挂载文件中提取挂载信息,并根据挂载信息对外置存储卡进行挂载,以及在外置存储卡中建立日志文件,并将移动终端的日志输出至日志文件,由此,通过外置存储卡保存了Recovery模式下的日志文件,方便了后续通过外置存储卡中保存的日志文件进行现象分析。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (11)
1.一种保存日志文件的方法,其特征在于,包括以下步骤:
控制移动终端进入恢复Recovery模式,并获取挂载文件,其中,所述挂载文件包括外置存储卡的挂载信息;
从所述挂载文件中提取所述挂载信息,其中,所述挂载信息包括挂载点、文件类型和设备信息;
根据所述挂载信息对所述外置存储卡进行挂载;以及
在所述外置存储卡中建立日志文件,并将所述移动终端的日志输出至所述日志文件;
其中,所述从所述挂载文件中提取所述挂载信息具体包括:
读取所述挂载文件,并将所述挂载信息保存至结构体数组,其中,所述结构体数组由Recovery进程创建;以及
在挂载所述外置存储卡时,从所述结构体数组中读取所述挂载信息;
当所述Recovery进程结束时,删除所述结构体数组。
2.如权利要求1所述的保存日志文件的方法,其特征在于,所述结构体数组存储在全局数据区中。
3.如权利要求1所述的保存日志文件的方法,其特征在于,所述控制移动终端进入Recovery模式并获取挂载文件具体包括:
获取Recovery镜像文件,其中,所述Recovery镜像文件包括内核和设备树与根文件系统;
执行所述Recovery镜像文件的内核;
执行INIT进程以挂载所述根文件系统,并执行Uenventd进程;以及
执行Recovery进程,并获取所述挂载文件。
4.如权利要求1所述的保存日志文件的方法,其特征在于,通过以下指令对所述外置存储卡进行挂载:
mount–t文件类型设备名称挂载点。
5.如权利要求1所述的保存日志文件的方法,其特征在于,所述将所述移动终端的日志输出至所述日志文件具体包括:
通过重定向函数,以追加方式将所述日志输出至所述日志文件。
6.一种保存日志文件的装置,其特征在于,包括:
恢复控制模块,用于控制移动终端进入恢复Recovery模式;
获取模块,用于获取挂载文件,其中,所述挂载文件包括外置存储卡的挂载信息;
提取模块,用于从所述挂载文件中提取所述挂载信息,其中,所述挂载信息包括挂载点、文件类型和设备信息;
挂载模块,用于根据所述挂载信息对所述外置存储卡进行挂载;以及
日志输出模块,用于在所述外置存储卡中建立日志文件,并将所述移动终端的日志输出至所述日志文件;
其中,所述获取模块用于读取所述挂载文件,并将所述挂载信息保存至结构体数组,以及在挂载所述外置存储卡时从所述结构体数组中读取所述挂载信息,其中,所述结构体数组由Recovery进程创建;
删除模块,用于当所述Recovery进程结束时,删除所述结构体数组。
7.如权利要求6所述的保存日志文件的装置,其特征在于,所述结构体数组存储在全局数据区中。
8.如权利要求6所述的保存日志文件的装置,其特征在于,所述恢复控制模块具体包括:
获取子模块,用于获取Recovery镜像文件,其中,所述Recovery镜像文件包括内核和设备树与根文件系统;
内核执行子模块,用于执行所述Recovery镜像文件的内核;
进程控制子模块,用于执行INIT进程以挂载所述根文件系统,并执行Uenventd进程,以及执行Recovery进程;以及
获取子模块,用于在执行Recovery进程之后获取所述挂载文件。
9.如权利要求6所述的保存日志文件的装置,其特征在于,所述挂载模块通过以下指令对所述外置存储卡进行挂载:
mount-t文件类型设备名称挂载点。
10.如权利要求6所述的保存日志文件的装置,其特征在于,所述日志输出模块通过重定向函数,以追加方式将所述日志输出至所述日志文件。
11.一种移动终端,其特征在于,包括如权利要求6-10任一项所述的保存日志文件的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510599014.4A CN105205142B (zh) | 2015-09-18 | 2015-09-18 | 保存日志文件的方法、装置和移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510599014.4A CN105205142B (zh) | 2015-09-18 | 2015-09-18 | 保存日志文件的方法、装置和移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105205142A CN105205142A (zh) | 2015-12-30 |
CN105205142B true CN105205142B (zh) | 2017-10-31 |
Family
ID=54952825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510599014.4A Active CN105205142B (zh) | 2015-09-18 | 2015-09-18 | 保存日志文件的方法、装置和移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105205142B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955831A (zh) * | 2016-04-29 | 2016-09-21 | 乐视控股(北京)有限公司 | Recovery模式下的数据处理方法和装置 |
CN106201756B (zh) * | 2016-07-12 | 2019-09-06 | 努比亚技术有限公司 | 日志获取装置、移动终端及方法 |
CN106648768B (zh) * | 2016-12-09 | 2021-05-18 | 安科讯(福建)科技有限公司 | 一种升级设备的方法及系统 |
CN107169053A (zh) * | 2017-04-26 | 2017-09-15 | 青岛海信移动通信技术股份有限公司 | 日志信息导出方法及装置 |
CN108009426A (zh) * | 2017-11-07 | 2018-05-08 | 深圳天珑无线科技有限公司 | 可信区域日志信息的获取方法、装置、介质及电子设备 |
CN107918568B (zh) * | 2017-11-13 | 2021-03-30 | 北京全路通信信号研究设计院集团有限公司 | 一种防止Linux系统重启失败的方法 |
CN108388496A (zh) | 2018-01-23 | 2018-08-10 | 晶晨半导体(上海)股份有限公司 | 一种系统日志的收集方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117330A (zh) * | 2011-03-04 | 2011-07-06 | 中山中珩数字科技有限公司 | 一种保护嵌入式Linux操作系统关键区域完整性的方法及系统 |
CN102938817A (zh) * | 2012-11-14 | 2013-02-20 | 广东欧珀移动通信有限公司 | 一种手机恢复模式下存储挂载的实现方法和装置 |
CN103577308A (zh) * | 2013-11-15 | 2014-02-12 | 惠州Tcl移动通信有限公司 | 移动设备的日志文件的获取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244914B2 (en) * | 2012-09-28 | 2016-01-26 | Apple Inc. | Schema versioning for cloud hosted databases |
-
2015
- 2015-09-18 CN CN201510599014.4A patent/CN105205142B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117330A (zh) * | 2011-03-04 | 2011-07-06 | 中山中珩数字科技有限公司 | 一种保护嵌入式Linux操作系统关键区域完整性的方法及系统 |
CN102938817A (zh) * | 2012-11-14 | 2013-02-20 | 广东欧珀移动通信有限公司 | 一种手机恢复模式下存储挂载的实现方法和装置 |
CN103577308A (zh) * | 2013-11-15 | 2014-02-12 | 惠州Tcl移动通信有限公司 | 移动设备的日志文件的获取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105205142A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105205142B (zh) | 保存日志文件的方法、装置和移动终端 | |
CN108495192B (zh) | 页面编辑处理方法及装置 | |
CN105893084A (zh) | 版本升级方法及终端设备 | |
CN102722386A (zh) | 生成无线固件升级包的方法和装置 | |
CN105608066A (zh) | 一种证据报告生成方法及装置 | |
CN107145482A (zh) | 基于人工智能的文章生成方法及装置、设备与可读介质 | |
CN108121539B (zh) | 组件处理方法和装置 | |
CN106502715A (zh) | 一种应用程序多渠道配置方法及装置 | |
CN104035842A (zh) | 一种删除和恢复内置应用程序的方法 | |
CN108228551A (zh) | excel的数据导入方法、装置、设备及计算机可读存储介质 | |
CN104182532B (zh) | 终端文件的清理方法、装置及终端 | |
CN105550179A (zh) | 一种网页收藏方法和浏览器插件 | |
CN101827158A (zh) | 实现手机中图片资源统一处理的方法和系统 | |
CN107943782A (zh) | 一种字符处理方法及终端 | |
CN105207830A (zh) | 一种终端信息的检测方法、装置及终端 | |
CN109697281A (zh) | 在线合并文档的方法、装置及电子设备 | |
McCormack et al. | 1401 compatibility feature on the IBM System/360 Model 30 | |
CN103810249A (zh) | 一种兼容多个验印厂商算法的方法和系统 | |
KR102204047B1 (ko) | 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 | |
CN108073726A (zh) | 信息检索推送的方法、装置、存储介质及终端设备 | |
CN107766549A (zh) | 文本文件删除方法及装置、终端装置与可读存储介质 | |
CN105528394B (zh) | 一种网页处理方法、装置及电子设备 | |
CN106020616A (zh) | 桌面快链图标的更新方法和装置 | |
CN109933528A (zh) | 一种自动化脚本封装的方法及装置 | |
CN104965742B (zh) | 一种处理前端任务的自动化脚本及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., Ltd. Address before: Changan town in Guangdong province Dongguan 523859 usha Beach Road No. 18 Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., Ltd. |