异常重启的处理方法及装置制造方法及图纸

技术编号:39591132 阅读:5 留言:0更新日期:2023-12-03 19:45
本申请实施例提供一种对异常重启的处理方法,应用于电子设备,电子设备中运行第一模块以及用于实现重启流程的接口,接口包括第一接口,第一模块调用第一接口为异常调用,异常调用导致异常重启,对异常重启的处理方法包括:响应于接口被调用,获取调用第一接口的模块的信息,在模块的信息表示模块为第一模块的情况下,将预设参数设置为预设数值,预设参数的预设数值表示调用为异常调用,将设置为预设数值的参数存储在寄存器中,寄存器中的数据触发电子设备执行重启流程,在重启流程中,响应于寄存器中预设的参数为预设数值,获取异常调用的数据。因此,为定位异常重启的原因并提供解决方案奠定了基础。解决方案奠定了基础。解决方案奠定了基础。

【技术实现步骤摘要】
异常重启的处理方法及装置


[0001]本申请涉及电子信息
,尤其涉及一种异常重启的处理方法及装置。

技术介绍

[0002]电子设备的重启(重新启动)可以理解为:在电子设备处于开机状态的情况下,从开机状态转为关机状态,并且在关机状态下通过启动再次转为开机状态的过程。
[0003]通常用户操作触发电子设备进行重启,但电子设备可能在非用户操作的场景下发生重启,这种场景下的重启可以理解为异常重启。

技术实现思路

[0004]本申请提供了一种异常重启的处理方法及装置,目的在于解决如何处理电子设备的异常重启的问题。
[0005]为了实现上述目的,本申请提供了以下技术方案:
[0006]本申请的第一方面提供一种对异常重启的处理方法,应用于电子设备,电子设备中运行第一模块以及用于实现重启流程的接口,接口包括第一接口,第一模块调用第一接口为异常调用,异常调用导致异常重启,对异常重启的处理方法包括:响应于接口被调用,获取调用第一接口的模块的信息,在模块的信息表示模块为第一模块的情况下,将预设参数设置为预设数值,预设参数的预设数值表示调用为异常调用,将设置为预设数值的参数存储在寄存器中,寄存器中的数据触发电子设备执行重启流程,在重启流程中,响应于寄存器中预设的参数为预设数值,获取异常调用的数据。可见,在发生异常调用导致的异常重启的情况下,将预设参数设置为预设数值并存储在寄存器中,在重启的过程中,基于寄存器中预设参数的数值,能够获取异常调用的数据,因此,为定位异常重启的原因并提供解决方案奠定了基础。
[0007]在一些实现方式中,将预设参数设置为预设数值,包括以下至少一项:将第一参数设置为第一数值,第一参数的第一数值表示第一模块所属的域,将第二参数设置为第二数值,第二参数的第二数值表示接口。从第一模块所属的域以及被调用的接口的维度,分别设置参数的数值,能够为获取不同维度的异常调用的数据奠定基础,因为异常调用的数据用于定位异常重启的原因并提供解决方案,所以能够提高定位得到的原因的准确性,以及提高解决方案的针对性。
[0008]在一些实现方式中,域包括内核域或者安全空间,从而为获取内核域或安全空间中导致异常重启的数据奠定基础。
[0009]在一些实现方式中,将第一参数设置为第一数值包括:基于第一数值与第一模块所属的域的对应关系,将第一参数设置为第一数值,将第二参数设置为第二数值,包括:基于第二数值与第一接口的对应关系,将第二参数设置为第二数值。对应关系能够预先配置,具有较高的灵活性和可扩展性,进而异常调用数据的获取具有较高的灵活性和可扩展性。
[0010]在一些实现方式中,获取调用第一接口的模块的信息包括:读取第一接口的调用
栈中的信息,调用栈中的信息表示调用第一接口的模块。因为调用栈为系统中常见的模块,所以从调用栈中获取第一接口的模块的信息的方式具有兼容性,并且易于实现。
[0011]在一些实现方式中,接口还包括:第二接口,在重启流程中,第二接口被第一接口调用,将设置为预设数值的参数存储在寄存器中包括:第一接口向第二接口传输设置为预设数值的参数。重启流程通过接口之间的调用实现,所以通过接口之间的调用能够将预设数值的参数传递并存储在寄存器中,而无需额外增加信令,具有较高的兼容性和较低的代价。
[0012]在一些实现方式中,在重启流程中,响应于参数为预设数值,获取异常调用的数据包括:在重启流程中的启动加载阶段,响应于参数为预设数值,获取异常调用的数据。在启动加载阶段获取异常调用的数据,能够保证在启动完成后,及时将异常调用的数据进行上报(如发送至故障检测服务)。
[0013]在一些实现方式中,异常调用的数据包括:第一接口的信息以及第一模块所属的域的log日志数据的至少一项,从而提供更全面的数据,进而基于数据获得更全面和准确的分析结果。
[0014]在一些实现方式中,电子设备运行操作系统,操作系统包括内核层,内核层运行有第一接口对应的异常重启处理模块,异常重启处理模块用于获取调用第一接口的模块的信息,并在模块的信息表示第一模块的情况下,将预设参数设置为预设数值。因为参与重启流程的各个接口大部分设置在内核层,所以将异常重启处理模块设置在内核层便于数据的收集。
[0015]在一些实现方式中,操作系统还包括启动加载模块,启动加载模块用于在重启流程中,响应于寄存器中的参数为预设数值,获取异常调用的数据。
[0016]本申请的第二方面提供一种电子设备,包括:存储器以及至少一个处理器,存储器用于存储程序,至少一个处理器用于运行程序,以使得电子设备实现本申请的第一方面提供的一种对异常重启的处理方法。
[0017]本申请的第三方面提供一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,用于实现第一方面提供的一种对异常重启的处理方法。
附图说明
[0018]图1为用户重启手机的场景的示例图;
[0019]图2为电子设备重启流程中接口之间调用的示例图;
[0020]图3为本申请实施例提供的电子设备的结构示例图;
[0021]图4为本申请实施例提供的电子设备中的软件框架的示例图;
[0022]图5为本申请实施例提供的各个域与第一参数的数值的对应关系的示例;
[0023]图6为本申请实施例提供的各个接口与第二参数的数值的对应关系的示例;
[0024]图7为本申请实施例提供的在异常调用情况下设置参数的流程图;
[0025]图8为本申请实施例提供的接口之间传递参数的流程图;
[0026]图9为本申请实施例提供的异常重启的处理方法的流程图。
具体实施方式
[0027]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
[0028]在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。...

【技术保护点】

【技术特征摘要】
1.一种对异常重启的处理方法,其特征在于,应用于电子设备,所述电子设备中运行第一模块以及用于实现重启流程的接口,所述接口包括第一接口,所述第一模块调用所述第一接口为异常调用,所述异常调用导致异常重启,所述方法包括:响应于所述接口被调用,获取调用所述第一接口的模块的信息;在所述模块的信息表示所述模块为所述第一模块的情况下,将预设参数设置为预设数值,所述预设参数的所述预设数值表示所述调用为所述异常调用;将设置为所述预设数值的所述参数存储在寄存器中,所述寄存器中的数据触发所述电子设备执行重启流程;在所述重启流程中,响应于所述寄存器中的所述参数为所述预设数值,获取所述异常调用的数据。2.根据权利要求1所述的方法,其特征在于,所述将预设参数设置为预设数值,包括以下至少一项:将第一参数设置为第一数值,所述第一参数的所述第一数值表示所述第一模块所属的域;将所述第二参数设置为第二数值,所述第二参数的所述第二数值表示所述接口。3.根据权利要求2所述的方法,其特征在于,所述域包括内核域或者安全空间。4.根据权利要求2或3所述的方法,其特征在于,所述将第一参数设置为第一数值,包括:基于所述第一数值与所述第一模块所属的域的对应关系,将所述第一参数设置为所述第一数值;所述将所述第二参数设置为第二数值,包括:基于所述第二数值与所述第一接口的对应关系,将所述第二参数设置为所述第二数值。5.根据权利要求1

4任一项所述的方法,其特征在于,所述获取调用所述第一接口的模块的信息,包括:读取所述第一接口的调用栈中的信息,所述调用栈中的信息表示调用所述第一接口的模块。6.根据权利要求1

5任一项所述的方法,其特征在于,所述接口还包括:第二接口,在...

【专利技术属性】
技术研发人员:关航
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1