数据处理方法、装置、终端及存储介质制造方法及图纸

技术编号:24289635 阅读:34 留言:0更新日期:2020-05-26 20:02
本公开的实施例提供了一种数据处理方法、装置、终端及存储介质。数据处理方法包括:创建在第一模式和第二模式之间进行数据交换的数据分区;在终端的系统以第一模式运行时生成占位文件;在系统发生异常而重启时,进入第二模式,将终端的内存中的与发生异常相关的数据写入到存储地址中;在将数据写入到存储地址中之后,系统由第二模式进入第一模式,创建与占位文件对应的临时文件,按照文件信息读取所述数据,并且将数据写入到临时文件中。本公开的保存异常发生时的数据的方法,减少独立分区对存储容量的占用,节省系统的存储开销。

Data processing method, device, terminal and storage medium

【技术实现步骤摘要】
数据处理方法、装置、终端及存储介质
本公开的实施例涉及计算机
,更具体地,涉及一种数据处理方法、装置、终端及存储介质。
技术介绍
ramdump是把系统存储器(例如,随机存取存储器(RAM)或内存)中的某一个时间点的的数据信息通过一定手段取出来保存起来的内存崩溃文件。当系统发生致命错误无法恢复的时候,主动触发抓取ramdump把异常现场保留下来,供离线分析定位问题,这是一种非常重要的高级调试手段,广泛应用在各种智能设备的开发里面。目前,存在很多的工具用来分析抓取出来的ramdump数据文件。然而,ramdump数据文件的获取和保存方式并不令人满意。
技术实现思路
提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。为解决上述问题,本公开提供了一种数据处理方法、装置、终端及存储介质,用于保存系统发生异常时的数据。本公开的实施例提供了一种数据处理方法,所述方法包括:创建在第一模式和第二模式之间进行数据交换的数据分区;在终端的系统以所述第一模式运行时,生成占位文件,将所述占位文件的文件信息保存在所述数据分区中;在所述系统发生异常而重启时,进入所述第二模式,在所述终端的所述系统以第二模式运行时,读取所述数据分区中的所述占位文件的文件信息,根据所述文件信息,将所述终端的内存中的与发生异常相关的数据写入到所述文件信息对应的存储地址中;在将所述数据写入到所述存储地址中之后,所述系统由所述第二模式进入所述第一模式,创建与所述占位文件对应的临时文件,按照所述文件信息读取所述数据,并且将所述数据写入到所述临时文件中。本公开的实施例还提供了一种数据处理装置,所述数据处理装置包括:数据分区创建模块,配置为创建在第一模式和第二模式之间进行数据交换的数据分区;占位文件生成模块,配置为在终端的系统以所述第一模式运行时,生成占位文件,将所述占位文件的文件信息保存在所述数据分区中;数据处理模块,配置为在所述系统发生异常而重启时,进入所述第二模式,在所述终端的所述系统以第二模式运行时,读取所述数据分区中的所述占位文件的文件信息,根据所述文件信息,将所述终端的内存中的与发生异常相关的数据写入到所述文件信息对应的存储地址中;临时文件处理模块,配置为在将所述数据写入到所述存储地址中之后,所述系统由所述第二模式进入所述第一模式,创建与所述占位文件对应的临时文件,按照所述文件信息读取所述数据,并且将所述数据写入到所述临时文件中。根据本公开的另一实施例,提供了一种终端,所述终端包括:至少一个存储器和至少一个处理器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器所存储的程序代码以执行上述数据处理方法。根据本公开的又一实施例,提供了一种计算机存储介质,所述计算机存储介质存储有程序代码,所述程序代码用于执行上述数据处理方法。本公开的保存异常发生时的数据的方法,减少独立分区对存储容量的占用,节省系统的存储开销。附图说明为了更清楚地说明本公开实施例中的方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本公开的实施例的一种数据处理方法的流程图。图2示出了本公开的实施例的一种数据处理方法的示意流程图。图3示出了本公开的实施例的第一模式的实现的示意流程图。图4示出了本公开的实施例的第二模式的实现的示意流程图。图5示出了本公开的实施例的数据处理装置的示意图。图6示出了适于用来实现本公开的实施例的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。由于Ramdump数据文件的保存都是在bootloader里面实现的,系统在发生异常死机的时候会重启进入bootloader,在BootLoader里面判断是异常死机引起的重启时,会进入Ramdump模式,此时因为没有断电,所以随机存储存储器(RAM)里面的内容仍然是系统发生异常时内容,把RAM中的全部数据保存起来,就可以分析出引起异常的原因。BootLoader的代码量一般都有严格的限制,功能比较简单,因此基本都不包含对文件系统的支持,尤其是对复杂文件系统的支持,如第四代扩展文件系统(EXT4)、闪存友好文件系统(F2FS)。在当系统发生致命错误无法恢复的时候,触发ramdump,ramdump数据文件的获取方式通常有如下几种:可以连通用串行总线(USB)通过个人计算机(PC)工具保存到PC机上;如果设备支持安全数字存储卡(SD卡),可以保存到SD卡上;如果终端设备配置了专门的ramdump分区,可以把ramdump数据保存到裸分区上。然而,ramdump数据文件的以上获取方式存在各种问题,例如,连接USB线很不方便,仅仅适用于实验室开发阶段,可以稳定复现的死机,如果设备是在户外使用过程中发生的偶发死机,则无法抓取Ramdump数据;目前主流的终端(例如,手机)设计都不再支持SD卡了,通过SD卡这个方案也不实用了;而采用独立分区的方式,必须在存储器上面划分出一个独立的分区,来保存Ramdump数据文件,这个独立分区的大小至少要大于RAM的大小,如RAM是12GB,则这个独立分区至少要12GB,这样会是一个很大的浪费,相当于用户可用的空间减少了12GB。另外,为了更好的保护用户数据的隐私性,Android系统现在已经广泛采用了用户数据分区加密的技术。采用了加密技术的设备,在存储介质上面实际存储本文档来自技高网...

【技术保护点】
1.一种数据处理处理方法,其特征在于,所述数据处理方法包括:/n创建在第一模式和第二模式之间进行数据交换的数据分区;/n在终端的系统以所述第一模式运行时,生成占位文件,将所述占位文件的文件信息保存在所述数据分区中;/n在所述系统发生异常而重启时,进入所述第二模式,在所述终端的所述系统以第二模式运行时,读取所述数据分区中的所述占位文件的文件信息,根据所述文件信息,将所述终端的内存中的与发生异常相关的数据写入到所述文件信息对应的存储地址中;/n在将所述数据写入到所述存储地址中之后,所述系统由所述第二模式进入所述第一模式,创建与所述占位文件对应的临时文件,按照所述文件信息读取所述数据,并且将所述数据写入到所述临时文件中。/n

【技术特征摘要】
1.一种数据处理处理方法,其特征在于,所述数据处理方法包括:
创建在第一模式和第二模式之间进行数据交换的数据分区;
在终端的系统以所述第一模式运行时,生成占位文件,将所述占位文件的文件信息保存在所述数据分区中;
在所述系统发生异常而重启时,进入所述第二模式,在所述终端的所述系统以第二模式运行时,读取所述数据分区中的所述占位文件的文件信息,根据所述文件信息,将所述终端的内存中的与发生异常相关的数据写入到所述文件信息对应的存储地址中;
在将所述数据写入到所述存储地址中之后,所述系统由所述第二模式进入所述第一模式,创建与所述占位文件对应的临时文件,按照所述文件信息读取所述数据,并且将所述数据写入到所述临时文件中。


2.根据权利要求1所述的数据处理方法,其特征在于,生成所述占位文件包括根据所述系统发生异常时产生的另一文件信息生成所述占位文件。


3.根据权利要求1所述的数据处理方法,其特征在于,将所述占位文件的所述文件信息保存在所述数据分区中包括:将所述占位文件的文件名、存储地址和长度组成数据结构,然后保存在所述数据分区中。


4.根据权利要求1所述的数据处理方法,其特征在于,还包括:
在将所述终端的内存中的与发生异常相关的数据写入到所述文件信息对应的存储地址中时,同时记录每个文件的大小,并且将每个文件的大小组成另一数据结构之后保存到所述数据分区中;
在将所述数据写入到所述临时文件中之后,读取所述数据分区中的所述另一数据结构的信息,将所述临时文件的大小修改为所述另一数据结构记录的相应文件的大小。


5.根据权利要求4所述的数据处理方法,其特征在于,还包括将所述临时文件重命名为设定的存储路径。


6.根据权利要求1所述的数据处理方法,其特征在于,在所述系统的所述第一模式中生成所述占位文件,将所述占位文件的文件信息保存在所述数据分区中包括:
确定所述系统是否处于没有初始化状态;
如果所述系统处于没有初始化状态,则生成所述占位文件,将所述占位文件的文件信息保存在所述数据分区中,并且将所述系统的状态设置为文件创建状态;
如果所述系统不是处于没有初始化状态,则确定所述系统是否处于文件创建状态;
如果所述系统处于文件创建状态,则所述系统正常启动;
如果所述系统不是处于文件创建状态,则确定所述系统是否处于异常发生状态。


7.根据权利要求6所述的数据处理方法,其特征在于,创建与所述占位文件对应的临时文件,...

【专利技术属性】
技术研发人员:李志刚王绪强白立伟
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1