CN117290164B - 重启时的信息记录方法、电子设备及可读存储介质 - Google Patents
重启时的信息记录方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117290164B CN117290164B CN202311561498.4A CN202311561498A CN117290164B CN 117290164 B CN117290164 B CN 117290164B CN 202311561498 A CN202311561498 A CN 202311561498A CN 117290164 B CN117290164 B CN 117290164B
- Authority
- CN
- China
- Prior art keywords
- restart
- target
- target information
- information
- restarting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000003860 storage Methods 0.000 title claims abstract description 53
- 230000008569 process Effects 0.000 claims description 62
- 239000010410 layer Substances 0.000 description 71
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000004064 dysfunction Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请公开了一种重启时的信息记录方法、电子设备及可读存储介质。所述方法包括:在重启目标发生重启事件之前,检测到所述重启目标产生第一目标信息的情况下,启动对第一目标信息的记录操作;所述重启事件包括对所述重启目标的关闭操作,和在所述关闭操作之后执行的、对所述重启目标的启动操作;根据所述对第一目标信息的记录操作的完成情况,更新第一记录标识;检测到所述重启目标执行所述重启事件中的关闭操作之后,根据更新后的所述第一记录标识,更新第二记录标识;根据更新后的所述第二记录标识,完成所述对第一目标信息的记录操作。本申请实施例能够提高重启时的信息记录的成功率。
Description
技术领域
本申请涉及终端技术领域,特别涉及一种重启时的信息记录方法、电子设备及可读存储介质。
背景技术
电子设备如计算机或其他设备在运行过程中,由于发生故障或者接收到指令等情况下会进行重启(即重新启动)。同时,电子设备上运行的软件模块,也可能由于发生故障、响应用户指令等原因而重新启动。电子设备在重启时,会清除内存并重新加载操作***和其他软件程序。软件模块在重新启动时,也会关闭软件模块正在运行的进程或线程,停止当前进行中的任务。从而,在电子设备或者软件模块等重启目标发生重启事件时,可能有一些相关的信息,比如重启原因、因故障重启时的故障信息等,会因为重启而得不到有效的记录。
发明内容
本申请提供了一种重启时的信息记录方法、电子设备及可读存储介质。技术方案如下:
第一方面,提供了一种重启时的信息记录方法,包括:在重启目标发生重启事件之前,检测到重启目标产生第一目标信息的情况下,启动对第一目标信息的记录操作;重启事件包括对重启目标的关闭操作,和在关闭操作之后执行的、对重启目标的启动操作;由于第一目标信息可能在重启事件的关闭操作之前来不及完成记录,或者在单次记录操作中记录失败,从而,在触发对第一目标信息的记录操作之后,还根据对第一目标信息的记录操作的完成情况,更新第一记录标识;更新后的第一记录标识可能表示第一目标信息已经记录成功或者未记录成功;重启目标的重启事件不会因为对第一目标的记录操作、对第一记录标识的更新操作而停止,在检测到重启目标执行重启事件中的关闭操作之后,根据更新后的第一记录标识,更新第二记录标识;从而在重启事件的关闭操作之后,使用更新后的第二记录标识表示第一目标信息的记录情况,之后,在重启目标的重启事件的剩余时间内,以及在重启目标发生重启事件的启动操作完成之后的运行时间内,根据更新后的第二记录标识,完成对第一目标信息的记录操作。
一般情况下,重启事件包括对重启目标的关闭操作和对重启目标的启动操作,其中,重启事件的关闭操作和重启事件的启动操作,均是逐层推进的。比如,在重启目标为运行有操作***以及程序的电子设备的情况下,关闭操作包括从应用层到硬件层的逐层关闭操作;启动操作包括从硬件层到应用层的逐层启动操作。
本申请实施例中,设置至少两套记录标识,即第一记录标识和第二记录标识。其中,第一记录表示重启事件发生之前产生的第一目标信息的记录情况,更新后的第二记录标识用于表示重启事件的关闭操作之后,对第一目标信息的记录情况。从而,在重启目标的重启事件的关闭操作发生之后,能够对重启事件的关闭操作发生之前产生的第一目标信息的记录情况进行检查,并根据更新后的第二记录标识,在重启事件的关闭操作发生之后,对第一目标信息继续执行记录操作,并最终完成对第一目标信息的记录操作。进而,重启目标在重启事件的关闭操作之前产生的第一目标信息,不会因为重启事件的发生而得不到有效记录,提高了对第一目标信息的记录的成功率。
本申请实施例中,根据对第一目标信息的记录操作的完成情况,更新第一记录标识,包括:在重启目标未产生第一目标信息的情况下,将第一记录标识更新为表示:重启目标未产生第一目标信息,且对第一目标信息的记录操作未完成的状态;在重启目标产生第一目标信息,且对第一目标信息的记录操作未完成的情况下,将第一记录标识更新为表示:重启目标产生了第一目标信息,且对第一目标信息的记录操作未完成的状态;在重启目标产生第一目标信息,且完成对第一目标信息的记录操作的情况下,将第一记录标识更新为表示:重启目标产生了第一目标信息,且对第一目标信息的记录操作已完成的状态。
在本申请实施例中,对第一目标信息的记录操作的完成情况可能包括多种,其一为:表示在重启事件的关闭操作之前,重启目标并没有产生第一目标信息。比如,第一目标信息为故障信息,但是重启目标单纯因为用户误触重启按键而产生了重启事件,那么重启目标在重启之前并没有故障信息产生,并不需要对第一目标信息(即故障信息)进行记录。这种情况下,可以令第一记录标识表示重启目标在重启事件之前并没有产生第一目标信息。由于重启目标在重启事件之前并没有产生第一目标信息,因此,对第一目标信息的记录操作并没有发生,对第一目标信息的记录操作也必然没有完成,从而,还可以令更新后的第一记录标识表示对第一目标信息的记录操作未完成。在根据更新后的第一记录标识对第二记录标识进行更新后,通过读取更新后的第二记录标识,即可判定在重启之前并没有产生第一目标信息,也没有完成对第一目标信息的记录操作,从而在重启事件的关闭操作之后,不会再执行不必要的对第一目标信息的记录操作。
如果在重启事件的关闭操作之前,重启目标产生了目标信息,那么在重启事件的关闭操作之前,会对重启目标的目标信息进行保存和记录,其中,目标信息包括本申请实施例提到的第一目标信息和第二目标信息。在重启事件的关闭操作之前,第一目标信息可能记录成功或者可能没有记录成功。从而,第一目标信息另外两种可能的状态包括:表示重启目标产生了第一目标信息,但是对第一目标信息的记录操作未完成;或者,表示重启目标产生了第一目标信息,但是对第一目标信息的记录操作已完成。如果第一记录标识表示重启目标在重启事件的关闭操作之前产生了第一目标信息,但是对第一目标信息的记录操作未完成,那么,根据第一记录标识更新第二记录标识之后,根据更新后的第二记录标识可以得知,在重启事件的关闭操作之后,甚至可能在重启事件之后的重启目标运行阶段,仍然需要继续执行对第一目标信息的记录操作。如果第一记录标识表示重启目标在重启事件的关闭操作之前产生了第一目标信息,但是对第一目标信息的记录操作已完成,那么根据更新后的第一记录标识更新第二记录标识之后,根据更新后的第二记录标识可以得知,第一目标信息已经被成功记录,那么无需在重启事件的关闭操作之后,对第一目标信息进行再次的记录,以免重复记录第一目标信息。
本申请实施例在重启事件的关闭操作之后的重启目标启动或运行过程中,读取更新后的第二记录标识,并根据更新后的第二记录标识完成对第一目标信息系的记录操作。其中,在一种实施方式中,根据更新后的第二记录标识,完成对第一目标信息的记录操作,包括:获取重启事件的进行阶段,该进行阶段为对重启过程进行预先划分形成的多个阶段之一;根据重启事件当前的进行阶段,读取更新后的第二记录标识;并在更新后的第二记录标识表示第一目标信息未完成记录的情况下,重新启动对第一目标信息的记录操作。
一般情况下,对第一目标信息的记录操作包括,将第一目标信息从重启目标的第一存储位置,转入重启目标的第二存储位置,且第一存储位置一般为临时性的存储位置,第二存储位置一般为持久的存储位置。如果第一目标信息在重启事件之前产生,并在重启事件的关闭操作发生之前没有完成记录,那么,在重启事件的关闭操作发生之后,根据更新后的第二记录标识继续执行对第一目标信息的记录操作时,仍然可能因为某些原因导致对第一目标信息的记录操作不能成功。因此,本申请实施例中,针对同一个目标信息,可以在重启事件的启动操作及其之后的不同进行阶段检测对目标信息的记录操作的完成情况。若上一进行阶段记录失败,仍然可以在下一个进行阶段记录进行记录,直至(第一)目标信息记录成功,大大提高了对目标信息的记录操作的准确性与成功概率。
针对在重启事件的关闭操作之后将第一目标信息成功记录的情况,本申请实施例提供的重启时的信息记录方法还包括:在重新启动的对第一目标信息的记录操作完成的情况下,将更新后的第二记录标识再次更新为表示对第一目标信息的记录操作已完成。
如果根据更新后的第二记录标识,需要重新启动对第一目标信息的记录操作,那么说明在重启目标的重启事件的关闭操作之前,第一目标信息从第一指定位置转存到第二指定位置的记录操作失败,第二指定位置在重启事件的启动操作发生时,仍然没有被记录在第二指定位置,且更新后的第二记录标识应当表示重启目标产生了第一目标信息,且第一目标信息没有成功记录。
从而,在重启事件的关闭操作之后,如果完成了对第一目标信息的记录操作,将第二记录标识进行相应的更改,使得第二记录标识能够动态表示第一目标信息的记录情况,并根据对第一目标信息的存储记录操作的完成情况进行变更。
在一种实现方式中,重启时的信息记录方法还包括:在重新启动的对第一目标信息的记录操作未完成的情况下,保留第二记录标识为表示:第一目标信息未完成记录的状态,即保留更新后的第二记录标识为根据更新后的第一记录标识更新的状态;返回根据进行阶段,读取更新后的第二记录标识的步骤。
本申请实施例中,如果在重启时关闭操作之后,第一目标信息仍然没有一次性成功记录,那么保持第二记录标识为根据第一记录标识更新后的不变,使得当前第二记录标识仍然表示产生了第一目标信息,且对第一目标信息的记录操作未完成,根据第一目标信息的记录情况动态改变第二记录标识,从而在重启事件的启动操作的多个进行阶段,能够多次根据读取到的第二记录标识,检测第一目标信息的记录情况,在第一目标信息未成功记录的情况下重复对第一目标信息的记录操作,直至第一目标信息成功记录为止。
在一种实施方式中,根据进行阶段,读取更新后的第二记录标识,包括:在进行阶段发生变更的情况下,读取更新后的第二记录标识。同时,在其它可能的实现方式中,也可以在特定的一个或多个进行阶段读取根据更新后的第一记录标识更新的第二记录标识。
在重启目标的重启事件的关闭操作完成之后,由于第一目标信息可能在一次记录操作中仍然不能成功记录,可能需要对第一目标信息进行反复记录以确保第一目标信息得以保存,因此,需要对第一目标信息的记录操作是否成功执行进行反复检查。由于在重启事件的关闭操作之后,第一目标信息的记录状态与更新后的第二记录标识具有直接的关联关系,从而,在本申请实施例中,设定多个对更新后的第二记录标识进行读取的时间节点,当到达该设定时间节点时,多次读取更新后的第二记录标识,确认第一目标信息的记录情况。
在一种实施方式中,在重启目标为电子设备的情况下,进行阶段包括:启动装载的第一阶段、启动装载的第二阶段、内核层启动阶段、应用框架层启动阶段、应用层启动阶段;根据第一记录标识,更新第二记录标识,包括:在启动装载的第一阶段,根据第一记录标识,更新第二记录标识。
本申请实施例中,重启目标可能为计算机或者具有运算功能的电子设备,针对具有运算功能的电子设备,重启事件为对电子设备的操作***的重启。在操作***重启的过程中,启动过程从电子设备的硬件层到顶层的应用层逐层进行。因此,可以根据电子设备的操作***的启动操作逐层执行的特点,确定进行阶段。
在一种实施方式中,根据第一记录标识,更新第二记录标识之后,还包括:重置第一记录标识;在重启目标再次发生重启事件之前,检测到重启目标产生第二目标信息情况下,启动对第二目标信息的记录操作;根据对第二目标信息的记录操作的完成情况,更新重置后的第一记录标识。
本申请实施例中,在根据更新后的第一记录标识更新第二记录标识之后,更新后的第一记录标识可以被清除,使得第一记录标识重置为最初的内容,恢复到产生第一目标信息之前的状态。那么,在重启目标进行了重启事件的关闭操作之后,再次启动运行的过程中,可以利用重置后的第一记录标识,对重启目标再次运行过程中产生的其它同类的目标信息(比如第二目标信息)进行记录。
在一种实施方式中,第一目标信息为重启目标的故障信息。
由于本申请实施例使用了多阶段记录目标信息的方式,能够提高目标信息记录的成功率,从而,针对重启目标运行过程中可能产生的一些较为重要的信息,比如故障信息,可以通过本申请实施例提供的方法进行记录。
在一种实施方式中,重启目标为目标电子设备,也可以是软件模块或应用。
其中,电子设备可能为计算机,或者具有计算机功能的专门设备,比如智能家电、智能生产设备、电子书等辅助设备,或者服务器等。
第二方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当存储介质中存储的指令在计算机上运行时,能够使得计算机执行上述第一方面的确定位置信息的方法。
第三方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面的确定位置信息的方法。
上述第二方面和第三方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例的一种应用场景示意图;
图2是本申请实施例的另一种应用场景示意图;
图3为本申请实施例的又一种应用场景示意图;
图4为本申请实施例所涉及的电子设备的软件结构示意图;
图5为本申请实施例提供的一种重启时的信息记录方法流程示意图;
图6为本申请一种示例中的进行阶段与信息记录操作的对应关系示意图;
图7为本申请一种示例中第一记录标识和第二记录标识同步流程示意图;
图8为本申请一种示例中运行异常处理步骤实现流程示意图;
图9为本申请一种示例中重启异常检测步骤实现流程示意图;
图10为本申请一种示例中的重启时的信息记录方法示意图;
图11为本申请另一种示例中的重启时的信息记录方法示意图;
图12为本申请一种示例中的重启时的信息记录装置结构示意图;
图13是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着计算机技术的快速发展,电子设备可以应用于人们工作和生活的方方面面。比如,终端类的电子设备,包括手机、笔记本电脑、平板电脑、台式电脑、智能可穿戴设备、掌上电脑等,与人们日常生活紧密结合,并极大地方便了人们的衣食住行。再如,路由器、服务器、交换机、数据库、调制解调器等非终端类的电子设备能够辅助用户对终端的使用,和人们使用终端和网络的行为密不可分。再如,随着技术的不断发展,不仅生产设备具备了自动化的计算能力,冰箱、空调、洗衣机、电视机等家用电器也能够存储数据、执行计算机程序指令。
在电子设备启动或运行的过程中,由于某些原因可能需要重新启动。比如,在***升级时需要重新启动电子设备以使得更新的***文件和设置生效,同时也可以清除内存中的临时文件和缓存,以确保***的稳定性和安全性。再如,在软件更新后也常常需要重启***以使得更新的软件生效。
此外,在电子设备运行的过程中,可能会存在发生软件、硬件故障的情形,在产生故障时,电子设备也有可能会自动重新启动,或者根据用户的指令进行重新启动。一般情况下,在电子设备因为发生故障而重新启动时,需要对电子设备产生的故障进行记录。而在重启过程中,电子设备的***需要关闭当前正在运行的程序,然后对相关数据进行记录,进而关闭***服务。在重启过程中,计算机会关闭所有正在运行的程序和服务,并重新启动操作***和硬件设备,由于重新启动时可能在较短时间内发生对重启目标的一些强制关闭的操作,这些强制关闭操作也可能会导致电子设备在重启(即重新启动)事件之前发生的故障信息或者其它重要信息并没有进行正确的记录,比如,在重新启动之前电子设备产生的故障信息或者异常信息没有记录完整,或者,在重新启动之前电子设备产生了故障信息或异常信息但是并没有被记录,或者,在重新启动之前电子设备产生的故障信息或异常信息被重复记录等。
在电子设备因为故障以外的其它原因而重新启动时,也需要保存电子设备的当前状态,保存的内容包括当前正在运行的程序和数据,以便在重启后能够根据保存的内容恢复到重启之前的状态。然而,由于重启的过程较为短暂,且在重启过程中很多程序、进程可能被强制停止、关闭,导致重启之前的信息、数据来不及被有效保存或者正确保存。因此需要采用有效的方式保存电子设备重启之前的信息。
同时,软件或应用重新启动时,也会执行强行关闭操作,可能导致软件或应用的数据丢失。
图1是根据本申请实施例提供的重启时的信息记录方法的一种应用场景的示意图。如图1中的a所示,用户使用手机进行网络相关的活动,在使用网络过程中,需要登录用户账号,在输入用户的账户名和密码之后,还需要人脸验证,使用手机的相机进行人脸识别。同时,如果注册新账号或者忘记密码的情况下,也需要进行人脸验证,从而需要从用户手机应用界面启动相机进行人脸识别。参照图1中的b所示,在人脸识别场景中,手机会自动调用相机,开启人脸图像获取功能。而在调用手机相机的过程中,出现了相机调用故障,导致相机调用失败,从而用户的手机进行***自动重启,进入如图1中的c所示的重新启动的界面,并通过重新启动进行相机的重新驱动,以保证相机功能的正常使用。
同时,在图1所示的手机一次性处理了大量的数据或信息,导致手机的内存空间不足,那么也可能会因为应用程序在数据处理过程中的故障而使得手机进入图1中的c所示的界面进行自动重启。
除此之外,在图1所示的手机进行***更新、软件更新之后,也可能根据用户的指令进行重启,或者在更新的过程中自动重启。
图2为本申请实施例提供的重启时的信息记录方法的另一种应用场景的示意图。通过路由器21,具备上网功能的电子设备连接网络服务器进行网络活动,如图2中所示的手机22和台式电脑23,进行网络信息收发活动。当用户的电子设备通过路由器21连接网络的通信链路存在问题时,用户的手机22和台式电脑23可能无法连接到网络,进而显示无法连接到网络的提示界面。用户可以通过关闭路由器21的开关,然后将路由器21重新开启,实现对路由器的重启。用户也可以通过拔掉路由器21的电源,然后再将路由器21与电源连接而实现对路由器的重启。通过对路由器21的重启,可以使得路由器21与网络连接的功能重新运行,消除网络连接功能障碍。
图3为本申请实施例提供的重启时的信息记录方法所涉及的另一种场景示意图。在图3所示的场景下,用户在终端32上使用目标应用31。当目标应用31发生故障时,会自动进行应用的重启,如果在目标应用31运行的过程中,终端32发生故障或者发生其它的重启触发事件,目标应用31也会被强制关闭而进行重启。如果目标应用31发生重启事件,可能因为重启事件的过程持续时间短暂而导致目标应用31相关的数据、信息来不及保存。
需要说明的是,上述几种可能的应用场景仅是示例性地,在应用中还可能包括其它可能的类似应用场景,譬如还可能包括智能家电重启、生产设备的重启、科研设备的重启、打印机的重启、服务器和数据库的重启等应用场景,在这些类似场景下,均可以采用本申请实施例提供的方法进行目标信息的保存,该方法的具体实现流程可以参见下文各个实施例。
在对本申请实施例提供的重启时的信息记录方法流程进行详细介绍之前,先对本申请实施例涉及的电子设备的软件架构进行简单介绍,图4是根据一示例性实施例示出的一种电子设备的软件架构示意图,图4所示的电子设备运行有安卓(Android)***。
图4是本申请实施例提供的方法所应用的一种电子设备的软件***的框图。参见图4,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***包括多层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***层,以及内核层。在重启事件发生时,重启事件的关闭操作和启动操作逐层执行。
应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括桌面应用,相机,图库,通话,地图,导航,蓝牙,音乐,视频等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,比如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序的显示界面。电话管理器用于提供电子设备的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。在本申请实施例提供的方法应用于应用时,应用的重启事件可以按照从应用程序框架层到应用层的进行顺序划分进行阶段。
在本申请实施例中,当应用程序重新启动时,会关闭当前应用程序,终止应用程序框架层运行的应用程序的线程,由应用层重新调用应用程序相关的程序包和函数,重新启动应用程序的线程。
***层包括安卓运行时(Android Runtime)。Android Runtime包括核心库和虚拟机。Android Runtime负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。在电子设备进行重启时,通过监测内核层的状态,能够感知到异常以及发生重启事件。当电子设备重新启动时,在内核层之下的Bootloader(启动装载)固件程序启动,然后启动过程依次从内核层、***库、应用程序框架层进行至应用层。
在图4所示实施例的基础上,接下来对本申请实施例提供的重启时的信息记录方法的具体实现进行介绍。图5所提供的方法也可以应用于具有其它不同层结构的***。图5是根据一示例性实施例示出的一种重启时的信息记录方法的流程示意图,该方法可以由上述电子设备通过如图4所示的多个模块交互实现。该方法可以包括如下步骤S51-步骤S54相关的至少一部分或者全部内容。
步骤S51,在重启目标的重启事件的关闭操作之前,检测到重启目标产生第一目标信息的情况下,启动对第一目标信息的记录操作;重启事件包括对重启目标的关闭操作,和在关闭操作之后执行的、对重启目标的启动操作。
在本实施例中,重启事件可能由一定的重启触发事件引起,目标信息可能为重启触发事件的信息。重启触发事件可以是引起重启目标重新启动的事件,也称为重新启动触发事件。比如,软件更新、***更新、计算机宕机、软件故障、硬件故障等。同理,本申请实施例中重启事件也称为重新启动事件。
重启目标可以是一个具有程序运行功能的电子设备,比如用户在日常生活中使用的终端,可能包括手机、台式电脑、智能可穿戴设备、车载电脑、笔记本电脑、掌上电脑等。电子设备也可以是结合了运算控制功能的专门设备,比如智能锁、智能打印柜机、智能快递机、电子相册、智能娱乐设备、音视频播放器、电子书、蓝牙耳机、智能音箱、空气净化器、智能空调、智能洗衣机、智能冰箱、智能灯具、智能相机等等。
重启目标也可以是在具有程序运行功能的电子设备上运行的软件模块。比如,在手机上运行的视频播放应用、网页浏览应用、地图应用、购物应用、社交应用、支付应用、电子银行应用等。再如,重启目标可以是在笔记本电脑或者台式电脑上运行的文档编辑软件模块、图形处理软件模块、网页软件模块、文件下载软件模块、邮件收发软件模块、音视频处理软件模块等。
本申请实施例中,检测到重启目标的重启触发事件的情况下进行重启,即,针对的重启目标进行监测,发生了重新启动的原因,比如故障、指令、冲突等,重启目标进行重启。
在重启目标为电子设备的情况下,在电子设备安装了新的软件或者进行了***升级后,根据用户的指令进行重启,则用户向电子设备发送重启指令之前的软件更新事件或***升级的事件为重启触发事件。
或者,重启目标为电子设备的情况下,在电子设备进行了***升级之后,为了使得新升级的***生效,进行自动重启,则导致电子设备自动重启的***升级完成的事件为重启触发事件。
或者,重启目标为电子设备的情况下,有时候电子设备的***可能会出现故障或错误,为了清除内存中的错误信息、修复问题,电子设备进行自动重启,那么电子设备的***出现的故障或错误为重启触发事件。
或者,重启目标为计算机的情况下,由于缓存空间中存储了较多的临时文件,导致计算机运行性能降低,从而用户向电子设备发送重启指令,那么在用户发送重启指令之前,导致计算机运行性能降低的缓存空间占用过多的事件,为重启触发事件。
或者,重启目标为图形处理软件的情况下,由于图形处理软件执行了大量的图形处理操作,导致内存空间或者缓存空间占用过多,图形处理软件可能进行自动重启,清除内存空间或者缓存空间中不必要的数据。那么图形处理软件处理大量图形处理操作的事件为重启触发事件。
或者,重启目标为手机上运行的目标应用的情况下,目标应用与手机的其它应用相冲突,那么目标应用运行时可能会因为应用之间的冲突而重启。或者目标应用可能遭受恶意攻击,进而导致目标应用重启。那么,冲突信息或者恶意攻击事件,可以为本申请实施例中的重启触发事件。
本实施例中,重启目标产生的第一目标信息也可能包括与重启事件相关的信息。比如第一目标信息可能包括:在重启事件发生的设定短暂时间内,重启目标的运行状态信息;或者,导致重启的原因。重启目标的运行状态可能包括重启目标的更新状态、对文件的处理进度、运行的应用等。
在重启目标为软件模块或者应用的情况下,在重启事件的关闭操作之前,重启目标产生的第一目标信息,可以包括用户使用重启目标进行记录的信息,或者用户使用重启目标运行文件的运行进度信息。比如,用户使用文档编辑软件记录的文档信息等。
在重启目标为电子设备的情况下,重启触发事件可能包括故障、升级、单纯的用户指令等。
重启事件为重启目标发生的一次重新启动的事件,重启目标每次的重启事件均可以包括针对重启目标的关闭操作和针对重启目标的启动操作。针对重启目标的关闭操作和启动操作,可以按照重启目标的软件层次结构,逐层执行,也可以根据预先设置的模块运行顺序,逐个模块实现关闭和启动。在重启目标为软件模块或者应用的情况下,重启事件也包括对软件模块或者应用进行分块或分层执行的关闭操作,以及对软件模块或者应用进行分块或者分层执行的启动操作。在重启事件中,关闭操作一般发生在启动操作之前,即将重启目标的至少一个软件或硬件组成部分进行关闭后,再次启动。
本实施例中,启动对第一目标信息记录操作,即开始进行第一目标信息记录过程,可以包括对重启目标的第一目标信息的记录操作进行触发,使得重启目标的第一目标信息开始记录。
步骤S52,根据对第一目标信息的记录操作的完成情况,更新第一记录标识。
一般情况下,在电子设备重启之前,可能会针对重启目标本次运行过程中产生的某些特定种类的信息(第一目标信息)进行记录。
第一目标信息为重启触发事件的信息的情况下,重启目标发生重启触发事件后,相关信息自动存放于一个指定的存储位置。或者,如果目标信息包括多个不同种类,重启目标在重启前的运行过程中,对在发生的不同类型的目标信息,均对应存储在指定的存储位置。再如,应用或者软件等重启目标在运行过程中,针对运行中发生的信息也会相应记录在指定的存储位置。而指定的存储位置可能为一个临时的存储空间,这一临时存储空间可能为本地存储空间或者云端存储空间。当重启目标重启后,如果没有将目标信息从指定的存储位置转移到持久的存储位置,那么有可能会导致指定的存储位置中存储的目标信息被删除,或者在下一次重启事件发生后被其它信息覆盖,或者因为其它原因而丢失。
在本实施例中,第一目标信息记录操作,包括从重启事件的信息存放的第一指定位置获取第一目标信息,并将第一目标信息存入第二指定位置的操作。
在一种可能的实现方式中,第一指定位置可能为一个临时的存储空间,第二指定位置可能为一个持久的存储空间。
在本申请实施例中,更新后的第一记录标识除了用于表示第一目标信息记录操作的完成情况之外,还可以用于表示在重启目标重启之前的运行过程中是否产生第一目标信息,或者在重启事件发生时,第一指定位置是否存在第一目标信息。作为一种实现方式,可以对第一指定位置进行监测,当监测到第一指定位置中产生了第一目标信息,即可触发对第一目标信息的记录操作。从而,第一记录标识可能存在至少三种不同的内容,对应重启事件以及第一目标信息记录的三种不同情况。
第一种情况下,第一目标信息未产生,虽然重启目标进行了重启操作,但是在重启目标重启之前的运行过程中没有产生第一目标信息;相应的,更新后的第一记录标识表示没有产生第一目标信息,无需记录第一目标信息,同时第一目标信息的记录操作未完成。
第二种情况下,产生了第一目标信息,即重启目标进行了重启操作,且重启目标重启之前产生了第一目标信息,需要执行第一目标信息记录操作,但第一目标信息记录操作未完成;相应的,更新后的第一记录标识表示重启目标重启之前产生了第一目标信息,进而需要记录第一目标信息,但第一目标信息的记录操作未完成。
第三种情况下,在重启目标重启之前产生了第一目标信息,需要记录第一目标信息,且完成了对第一目标信息的记录操作;相对应的,更新后的第一记录标识表示对第一目标信息的记录操作已完成。
在重启目标为电子设备的情况下,第一目标信息可以为导致重启目标发生重启事件的故障信息,进一步包括了故障类型的重启触发事件的信息。在发生故障引起的重启事件时,需要记录故障信息,作为第一目标信息。那么,重启目标因为软件更新、***升级而发生重启事件时,则未产生第一目标信息,不需要记录第一目标信息,这种情况下更新后的第一记录标识表示没有产生第一目标信息,无需记录第一目标信息。
在第一目标信息为故障信息,重启目标发生因为故障而引起的重启事件,且故障信息未记录的情况下,更新后的第一记录标识表示重启目标重启之前产生了第一目标信息,进而需要记录第一目标信息,但第一目标信息的记录操作未完成。
重启目标发生因为故障而引起的重启事件,且故障信息已记录的情况下,更新后的第一记录标识表示对第一目标信息的记录操作已完成。
作为一种示例,如果第一目标信息为文档编辑信息,重启目标为文档编辑应用。那么,如果文档编辑应用在没有产生编辑内容的情况下重启,则属于重启目标进行了重启操作,但是不存在第一目标信息的情况,更新后的第一记录标识表示没有产生第一目标信息,无需记录第一目标信息。如果文档编辑应用在产生编辑内容的情况下进行重启,且编辑内容未记录,则更新后的第一记录标识表示重启目标重启之前产生了第一目标信息,进而需要记录第一目标信息,但第一目标信息的记录操作未完成。如果文档编辑应用在产生编辑内容的情况下进行了重启,且编辑内容已记录,则更新后的第一记录标识表示对第一目标信息的记录操作已完成。
步骤S53,检测到重启目标执行重启事件中的关闭操作之后,根据更新后的第一记录标识,更新第二记录标识。
本实施例中,当重启目标发生重启触发事件后,重启触发事件引起重启操作。步骤S52可以和步骤S53中的关闭操作以任意顺序先后执行,也可以同时执行。
在重启目标为电子设备的情况下,重启过程中,重启目标首先自行产生重启指令或者收到用户主动发送的重启指令,然后关闭正在运行的数据,并同时保存相关数据;之后关闭***服务,清除缓存的数据。接着操作***重新启动电子设备的硬件,如CPU(CentralProcessing Unit,中央处理器)、内存、硬盘等。在硬件重新启动后,重启目标加载操作***,并初始化***环境,然后启动必要的***服务,以准备好接受用户的输入和请求,接下来加载用户配置,加载的用户配置包括用户的个人配置文件和设置,通过加载用户配置恢复用户的工作环境。
在本申请实施例中,重启目标为电子设备的情况下,记录第一目标信息的操作或者对第一记录标识进行更新的操作,可以在重启事件中的关闭操作之前或者与之同时进行。
在重启目标为软件模块或者应用的情况下,重启目标执行重启事件中的关闭操作,可以包括软件模块或者应用执行了关闭操作。
本实施例中,检测到重启目标执行重启事件中的关闭操作之后,根据更新后的第一记录标识,更新第二记录标识,可以包括:在重启目标执行了重启事件的关闭操作之后,开始执行重启事件中的启动操作时,根据更新后的第一记录标识,更新第二记录标识。
从而,重启事件中,重启目标需要执行关闭操作,关闭至少一个模块,在关闭操作之后需要执行启动操作,以实现重启,重启事件包括按照先后顺序执行的关闭操作和启动操作。在重启目标执行重启之间的关闭操作之后,更新第二记录标识,从而第二记录标识不会因为重启事件中的关闭操作而丢失。
在一种可能的实现方式中,根据更新后的第一记录标识,更新第二记录标识,包括:将第一记录标识作为第二记录标识。或者,可以根据第一记录标识的内容,计算得到第二记录标识的内容,且第一记录标识的内容和第二记录标识的内容不同。
步骤S54:根据更新后的第二记录标识,完成对第一目标信息的记录操作。
本实施例中,可以设定:在未发生重启触发事件时,无论是否生成第一目标信息,第一记录标识均为默认内容。
在另一种可能的实现方式中,第一记录标识的默认内容表示第一目标信息未产生,且第一目标信息记录操作未完成。
在另一种可能的实现方式中,更新之前,第二记录标识的默认内容与第一记录标识的默认内容相同。第二记录标识用于在每次重启事件的关闭操作之后,表示重启目标本次重启事件的关闭操作之前产生的第一目标信息的记录操作的完成情况。
如果更新后的第二记录标识仍然为第二记录标识的默认内容,则可以判定在重启事件的关闭操作之前第一目标信息未产生,从而无需记录第一目标信息,此时可直接确定无需继续完成第一目标信息记录操作。如果更新后的第二记录标识非第二记录标识的默认内容,则可以判定在重启事件的关闭操作之前产生了目标信息,那么可以根据第二记录标识的具体内容,对目标信息进行继续记录或者判定对目标信息的记录操作已经完成。
在一种实现方式中,根据更新后的第二记录标识,完成目标信息记录操作,包括:在更新后的第二记录标识表示重启事件之前产生了第一目标信息,且第一目标信息未完成记录的情况下,完成对第一目标信息的记录操作。
在另一种实现方式中,根据更新后的第二记录标识,完成目标信息记录操作,包括:在更新后的第二记录标识表示重启目标在重启事件的关闭操作之前产生了第一目标信息,且第一目标信息未完成记录的情况下,完成对第一目标信息的记录操作;在更新后的第二记录标识表示重启事件的关闭操作之前未产生第一目标信息,且第一目标信息未完成记录的情况下,确认当前已完成对第一目标信息的记录操作。
在本申请实施例中,设定第二记录标识,在重启事件中的关闭操作发生之后,将根据第一记录标识更新第二记录标识,从而更新后的第二记录标识能够表示重启事件中的关闭操作发生之前的第一目标信息的记录操作完成情况。同时,在重启目标重新启动之后,根据更新后的第二记录标识对在本次重启事件的关闭操作发生前,产生的第一目标信息完成记录操作,避免因为重启目标的重启而导致重启之前产生的第一目标信息不能够被正确记录的情况。
一般情况下,对第一目标信息的记录操作包括,将第一目标信息从重启目标的第一存储位置,转入重启目标的第二存储位置,且第一存储位置一般为临时性的存储位置,第二存储位置一般为持久的存储位置。但是,如果第一目标信息在重启事件的关闭操作之前产生,并在重启事件的关闭操作发生之前没有完成记录,那么,在重启事件的关闭操作发生之后,根据更新后的第二记录标识继续执行对第一目标信息的记录操作时,仍然可能因为某些原因导致对第一目标信息的记录操作未完成。因此,为了保证第一目标信息被记录,可能需要在重启事件的关闭操作发生之后,对第一目标信息的记录操作的完成情况进行多次监控。
相应的,在本申请一种实施方式中,根据更新后的第二记录标识,完成对第一目标信息的记录操作,包括:获取重启事件的进行阶段;进行阶段为对重启过程进行预先划分形成的多个阶段之一;根据进行阶段,读取更新后的第二记录标识;在更新后的第二记录标识表示第一目标信息未完成记录的情况下,重新启动对第一目标信息的记录操作。
本申请实施例提供了一种可以在重启目标的重启事件的启动操作过程中,分多个进行阶段进行第一目标信息记录的方法,针对同一个目标信息,可以在重启事件的启动操作的不同进行阶段检测记录操作的完成情况。若上一进行阶段记录失败,仍然可以在下一个进行阶段记录,直至该目标信息记录成功,大大提高了目标信息记录的准确性与成功概率。
在重启目标重启事件的关闭操作执行之后,对第一目标信息的记录操作的完成情况将由更新后的第二记录标识进行记载,为了确保对第一目标信息的被记录进行正确的记载,如果在重启目标的重启事件的关闭操作执行之后,第一目标信息仍然在较长时间内得不到记录,需要仍然保持更新后的第二记录标识为表示“产生了第一目标信息,但是第一目标信息未记录”的状态。同时,如果在根据第一记录标识更新第二记录标识之后,第一目标信息完成了记录,即成功将第一目标信息从第一指定位置转存到第二指定位置,那么,对应再次更新修改第二记录标识,避免第一目标信息重复记录。
相应的,在本申请一种实施方式中,重启时的信息记录方法还包括:在重新启动的对第一目标信息的记录操作完成的情况下,将更新后的第二记录标识再次更新为:表示对第一目标信息的记录操作已完成的状态。
如果需要重新启动对第一目标信息的记录操作,那么说明在重启目标的重启事件的关闭操作之前,第一目标信息从第一指定位置转存到第二指定位置的记录操作失败,第二指定位置在重启事件的启动操作发生时,仍然没有被记录在第二指定位置。
从而,在重启事件的关闭操作之后,如果完成了对第一目标信息的记录操作,将更新后的第二记录标识进行再次更新和更改,使得第二记录标识动态表示第一目标信息的记录情况,并根据更新后的第二记录标识正确执行对第一目标信息的存储记录操作。
在重启目标的重启事件中,执行了对重启目标的关闭操作之后,如果对第一目标信息的记录操作尚未完成,那么在重启目标的关闭操作之后的阶段,第一目标信息的记录操作仍然可能失败,导致第一目标信息仍然无法完成记录。因此,在本申请一些实施例中,在重启目标的关闭操作之后的启动操作阶段,开始按照预先划分的多个阶段,对第一目标信息的记录操作的完成情况进行检测,并在任意一次检测确定第一目标信息的记录操作未完成时,都继续执行对第一目标信息的记录操作;或者通过重启对第一目标信息的记录操作的方式,继续执行对第一目标信息的记录操作。
相应的,在一种实现方式中,重启时的信息记录方法还包括:在重新启动的对第一目标信息的记录操作未完成的情况下,保留更新后的第二记录标识为表示第一目标信息未完成记录的状态;返回根据进行阶段,读取更新后的第二记录标识的步骤。
如果在重启时关闭操作之后,第一目标信息仍然没有一次性成功记录,那么保持第二记录标识为根据更新后的第一记录标识所更新的状态不变,使得更新后的第二记录标识仍然表示对第一目标信息的记录操作未完成,实现根据第一目标信息的记录情况动态改变第二记录标识,从而在重启事件的启动操作的多个阶段,能够多次根据读取到的更新后的第二记录标识,检测第一目标信息的记录情况,直至第一目标信息成功记录为止。
在重启目标的重启事件的关闭操作完成之后,由于第一目标信息可能在一次记录操作中仍然不能成功记录,可能需要对第一目标信息进行反复记录以确保第一目标信息得以保存,因此,需要对第一目标信息的记录操作是否成功执行进行反复检查。由于在重启事件的关闭操作之后,第一目标信息的记录状态与更新后的第二记录标识具有直接的关联关系,从而,需要设定多个对更新后的第二记录标识进行读取的时间节点,当到达该设定时间节点时,多次读取更新后的第二记录标识,确认第一目标信息的记录情况。
相应的,在一种实现方式中,根据进行阶段,读取更新后的第二记录标识,包括:在进行阶段发生变更的情况下,读取更新后的第二记录标识。由于在重启事件的启动操作中,进行阶段的变更涉及重启目标内部有关重启的信息或指令的传递,因此,在进行阶段发生变化的情况下,读取更新后的第二记录标识,将进行阶段发生变化的节点设置为读取更新后的第二记录标识的节点,便于实现对更新后的第二记录标识的读取操作的反复触发。
本申请实施例中,重启目标可能为计算机或者具有运算功能的电子设备,针对具有运算功能的电子设备,重启事件为对电子设备的操作***的重启。在操作***重启的过程中,启动过程从电子设备的硬件层到顶层的应用层逐层进行。因此,可以根据电子设备的操作***的启动操作逐层执行的特点,确定进行阶段。
在重启目标为电子设备的情况下,如图6所示,进行阶段包括:启动装载(Bootloader)的第一阶段(Stage 1)、启动装载的第二阶段(Stage 2)、内核层(Kernel)启动阶段、应用框架层(Framework)启动阶段、应用层(Application)启动阶段;根据第一记录标识,更新第二记录标识,包括:在启动装载的第一阶段,根据第一记录标识,更新第二记录标识。在其它实现方式中,如果将电子设备、应用或者软件模块抽象为更多的层结构,可以根据电子设备、应用或软件模块具体的层结构,确定重启事件的启动操作的进行阶段。
从而,在本实施例中,电子设备在重启事件中完成了关闭操作之后,启动操作划分为了:启动装载的第一阶段、启动装载的第二阶段、内核层启动阶段、应用框架层启动阶段、应用层启动阶段,以及启动后的运行阶段。在启动装载第一阶段,对第二记录标识的初始化以实现对第二记录标识的更新,即根据第一记录标识,对第二记录标识进行更新,使得第二记录标识与第一记录标识相同。从而在对第二记录标识进行初始化之后,可以根据更新后的第二记录标识,在电子设备启动操作的每个阶段执行根据更新后的第二记录标识完成对第一目标信息的记录操作的步骤。
Bootloader是电子设备的嵌入式***在加电后执行的第一段代码,在电子设备的嵌入式操作***的内核层运行之前运行。在由Bootloader完成电子设备的CPU和相关硬件设备的初始化之后,再将电子设备的嵌入式操作***创建空间映像图,或将电子设备的嵌入时操作***的固化的嵌入式应用程序装载到内存中,然后跳转到电子设备的嵌入式操作***所在的空间,从而将电子设备的操作***的软硬件环境带到一个合适状态,以便为最终调用操作***内核准备好正确的环境,在正确的环境中启动电子设备的嵌入式操作***运行。在电子设备的嵌入式***中,整个***的加载启动任务就完全由Bootloader来完成。
Bootloader启动大多数都分为两个阶段,包括Bootloader的第一阶段和Bootloader的第二阶段。其中,Bootloader的第一阶段主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。在Bootloader的第一阶段,可以执行的启动操作包括:基本的硬件设备初始化,比如,屏蔽所有的中断、关闭处理器内部指令/数据Cache(高速缓冲存储器)以提高***性能等;为第二阶段准备RAM(Random Access Memory,随机存取存储器)空间;设置堆栈;跳转到第二阶段的C语言程序入口点等。
Bootloader的第二阶段通常用C语言程序完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。这Bootloader的第二阶段执行的启动操作包括:初始化Bootloader的第二阶段要使用到的硬件设备;检测***内存映射;将内核映像和根文件***映像从Flash(快闪存储器)读到RAM;为内核设置启动参数;调用内核等。
除了第一阶段和第二阶段,Bootloader可能还具有其它进行阶段。如果Bootloader包括了第三阶段等其它进行阶段,则在Bootloader的其它阶段也执行根据更新后的第二记录标识,判定对第一目标信息的记录操作是否完成,并在未完成的情况下,继续执行对第一目标信息的记录操作的步骤。
在其它可能的实现方式中,可以按照设定的时间间隔,将电子设备或者目标模块、目标应用在重启事件的关闭操作之后的过程划分为多个阶段,当到达设定的时间间隔时读取查询第二记录标识,判断是否需要继续执行对第一目标信息的记录操作。
但是,如果按照设定的时间间隔触发读取更新后的第二记录标识,并根据读取结果判断是否要继续执行对第一目标信息的记录操作,那么需要设置定时器。而在重启目标为电子设备的情况下,按照***启动操作在电子设备各层之间的进行顺序划分多个进行阶段,无需设置额外的定时器,只需要根据重启事件的启动操作在各层之间进行时产生的特定信息,触发读取第二记录标识的操作即可。
在本申请实施例中,对第二目标记录信息的初始化步骤可以在Bootloader的第一阶段执行,而根据更新后的第二记录标识完成对第一目标信息的记录操作的步骤,可以在从Bootloader的第一阶段至应用层启动阶段,直到后续的运行阶段的全部过程中反复执行。
在本申请实施例中,第一目标信息可能包括多种状态,其一为:表示在重启事件的关闭操作之前,重启目标并没有产生第一目标信息。比如,第一目标信息为故障信息,但是重启目标单纯因为用户误触重启按键而产生了重启事件,那么重启目标在重启之前并没有故障信息产生,并不需要对第一目标信息(即故障信息)进行记录。这种情况下,可以令更新后的第一记录标识表示重启目标在重启事件之前并没有产生第一目标信息。由于重启目标在重启事件之前并没有产生第一目标信息,因此,对第一目标信息的记录操作并没有发生,对第一目标信息的记录操作也必然没有完成,从而,还可以令更新后的第一记录标识表示对第一目标信息的记录操作未完成。在根据更新后的第一记录标识对第二记录标识进行更新后,通过读取第二记录标识,即可判定在重启之前并没有产生第一目标信息,从而在重启事件的关闭操作之后,不会再执行不必要的对第一目标信息的记录操作。
如果在重启事件的关闭操作之前,重启目标产生了第一目标信息。那么在关闭操作之前,会对重启目标的目标信息、状态进行保存和记录,其中,目标信息包括前述实施例中的第一目标信息和第二目标信息。第一目标信息可能记录成功或者没有记录成功。从而,第一目标信息另外两种可能的状态包括:表示产生了第一目标信息,但是对第一目标信息的记录操作未完成;或者,表示产生了第一目标信息,但是对第一目标信息的记录操作已完成。如果第一记录标识表示重启目标在重启事件的关闭操作之前产生了第一目标信息,但是对第一目标信息的记录操作未完成,那么,根据更新后的第一记录标识更新第二记录标识之后,根据更新后的第二记录标识可以得知,在重启事件的关闭操作之后,甚至在重启事件之后的重启目标运行阶段,仍然需要继续执行对第一目标信息的记录操作。如果第一记录标识表示重启目标在重启事件的关闭操作之前产生了第一目标信息,但是对第一目标信息的记录操作已完成,那么根据更新后的第一记录标识更新第二记录标识之后,根据更新后的第二记录标识可以得知,第一目标信息已经被成功记录,那么无需在重启事件的关闭操作之后,对第一目标信息进行再次的记录,以免重复记录第一目标信息。
相应的,在本申请一种实施方式中,根据对第一目标信息的记录操作的完成情况,更新第一记录标识,包括:在未产生第一目标信息的情况下,将第一记录标识更新为表示:重启目标未产生第一目标信息,且对第一目标信息的记录操作未完成;在产生第一目标信息,且对第一目标信息的记录操作未完成的情况下,将第一记录标识更新为表示:重启目标产生了第一目标信息,且对第一目标信息的记录操作未完成;在产生第一目标信息,且完成对第一目标信息的记录操作的情况下,将第一记录标识更新为表示:重启目标产生了第一目标信息,且对第一目标信息的记录操作已完成。
在重启目标发生重启事件之前,在没有产生第一目标信息的情况下,第一记录标识可以为默认的内容。默认内容可以表示重启目标未产生第一目标信息,且对第一目标信息的记录操作未完成。从而,在重启目标发生重启事件之前没有产生第一目标信息的情况下,根据对第一目标信息的记录操作更新第一记录标识,可以包括:保留第一记录标识为默认内容。
在本申请实施例中,根据对第一目标信息的记录操作的完成情况,第一记录标识可能具有至少三种不同的内容。根据第一记录标识的不同内容,可以对重启目标在重启事件发生之前是否产生第一目标信息的情况、对第一目标信息的记录情况进行准确表达,从而协助在重启目标发生重启事件的情况下,对第一目标信息进行正确的记录。进而,如果第一目标信息为表征重启目标某种重要的性能的信息,比如重启目标发生某种重大故障的信息,或者重启目标发生一般故障的信息,那么根据正确记录的第一目标信息,能够对重启目标的性能状况进行准确的判断,比如,可以准确判断重启目标发生故障的次数,进而对改进重启目标的性能、修复重启目标可能存在的隐患或漏洞具有更大的参考价值。
本申请实施例中,在根据更新后的第一记录标识更新第二记录标识之后,更新后的第一记录标识可以被清除,使得第一记录标识重置,并恢复到根据对第一目标信息的记录操作进行更新之前的状态。那么,在重启目标进行了重启事件的关闭操作之后,再次启动运行的过程中,可以利用重置后的第一记录标识对重启事件的关闭操作之后,重启目标再次运行过程中产生的其它同类的目标信息(比如第二目标信息)进行记录。
相应的,在本申请一种实施方式中,根据更新后的第一记录标识,更新第二记录标识之后,还包括:重置第一记录标识;在重启目标的重启事件的关闭操作之前,检测到重启目标产生第二目标信息情况下,启动对第二目标信息的记录操作;根据对第二目标信息的记录操作的完成情况,更新重置后的第一记录标识。
在重启目标发生重启事件之前,如果没有产生第一目标信息,第一记录标识为默认内容,默认内容可以表示没有产生第一目标信息,或者,第一记录标识表示重启目标发生重启事件之前,既没有产生第一目标信息,也没有完成对第一目标信息的记录操作。如果重启目标发生了多次重启事件,那么针对多次重启事件可以对不同时间产生的不同目标信息进行分别记录,并采用不同的记录标识表示相应的记录操作完成情况。
在本申请实施例中,重启事件发生之后,仍然能够对重启目标产生的同类的目标信息进行记录。结合图6所示的实施例,如果在重启目标重启事件中的关闭操作之后,按照进行阶段对更新后的第二记录标识进行重复的检测,同时利用重置的第一记录标识,对重启事件中的关闭操作之后产生的与第一目标信息相同类型的第二目标信息进行记录,能够针对重启事件发生前后的目标信息进行完整的记录,且能够区分目标信息产生的时间段为重启事件发生前或重启事件发生之后。
在第一目标信息、第二目标信息均为故障信息。故障信息包括重启目标在启动操作过程中、关闭操作过程中发生的一切异常信息。重启目标为电子设备的情况下,在重启事件的关闭操作之后的信息记录方法包括了初始化步骤、运行异常处理步骤和重启异常检测步骤三部分。其中,初始化部分将更新后的第一记录标识同步到第二记录标识,初始化步骤只在电子设备启动操作Bootloader的Stage 1阶段存在;而运行异常处理步骤和重启异常检测步骤可以覆盖电子设备启动操作的Bootloader、Kernel和Framework阶段。
结合图7所示,在电子设备的重启事件的关闭操作之后的启动操作过程中,在Bootloader的Stage 1阶段进行记录标记信息(即第一记录标识和第二记录标识)的初始化。通过保存第一记录标识和第二记录标识这两套记录标记来对目标信息进行记录。第一记录标识采用CurFlag来表示,第二记录标识采用ExpFlag来表示。根据对第一目标信息的记录操作的完成情况,第一记录标识的内容可以是NO_ERROR、ERROR_NOT_SAVED、ERROR_HAS_SAVED中之一。其中,NO_ERROR表示没有故障信息产生、ERROR_NOT_SAVED表示发生故障信息但故障信息尚未记录、ERROR_HAS_SAVED发表示生故障信息且故障信息已经记录。
在初始化流程中,会将CurFlag的内容同步赋值到ExpFlag的内容中,用于保存对重启前的对故障信息的记录操作的完成情况。之后,将CurFlag标记重置为NO_ERROR,用来对重启事件的启动操作过程直至运行过程中,产生的故障信息进行检测和记录处理。
结合图8所示,执行运行异常处理步骤时,在当次启动或者运行过程中有异常发生时,触发运行异常处理步骤的机制。在运行异常处理步骤的执行流程中,如果在重启事件的关闭步骤之后发生异常,即产生了故障信息,则首先将CurFlag置为ERROR_NOT_SAVED,标记***发生异常问题,产生了故障信息。之后,对重启事件关闭操作之后产生的故障信息进行首次记录操作处理。然后对记录操作是否成功进行判断:若该故障信息从第一存储位置转存到了第二存储位置,则说明重启事件的关闭操作后产生的故障信息已经成功记录到异常记录数据中,则将CurFlag置为ERROR_HAS_SAVED;若重启时间的关闭操作之后产生的故障信息由于某些原因,没有成功记录到异常记录数据中,则维持CurFlag状态为ERROR_NOT_SAVED不变。
结合图9所示,在电子设备的***启动过程中的每个启动阶段(包括BootLoader的每个阶段、Kernel和Framework等)的启动操作的流程中,进行重启事件中的异常检测处理。如图所示,在检测流程开始时,首先检测ExpFlag是否为ERROR_NOT_SAVED状态。如果ExpFlag为ERROR_NOT_SAVED,在重启事件的关闭操作之前产生的故障信息没有成功记录到异常记录数据中,则图7所示的初始化步骤之后,会进行重复执行对故障信息的记录操作。在重启事件的关闭操作之后,如果故障信息未成功从第一存储位置转存到第二存储位置,即故障信息未成功记录到异常记录数据中之前,ExpFlag会维持ERROR_NOT_SAVED状态不变。
同样的,如果故障信息被成功保存在异常记录数据中,则ExpFlag的内容被置为ERROR_HAS_SAVED状态,否则返回执行对故障信息的记录操作的步骤。这样,在下一个启动阶段的重启异常检测步骤中不会再次记录同一故障信息,防止同样的故障信息产生多次重复记录。
参照图10所示,结合图7、图8和图9,在电子设备上电后的运行过程中,保存两套记录标识来对故障信息进行记录,分别用ExpFlag和CurFlag来表示。记录标识的内容可以是NO_ERROR、ERROR、SAVED其一。其中,NO_ERROR表示没有故障信息产生、ERROR表示发生故障信息但故障信息尚未记录、SAVED发表示生故障信息且故障信息已经记录。
仍然参照图10所示,具有安卓***的电子设备上电后,启动指令引导芯片加载Bootloader到内存中,并开始拉起Linux Kernel(内核层)。待Linux内核层启动完成之后,会启动第一个用户空间的进程,这个进程为init进程。在Bootloader阶段的初始,执行BootROM(Boot Read-Only Memory,用于存放路由器启动程序的存储器)程序。BootROM程序是处理器在上电或复位时执行的第一个代码。BootROM可以决定从哪里加载要执行的代码的下一部分,以及如何或者是否验证其正确性或有效性。有时候BootROM程序可能包含其它功能,可能在引导芯片启动期间或之后由用户代码使用。在执行BootROM程序之后,执行Bootloader的第一阶段。在Bootloader的第一阶段,对第一记录标识和第二记录标识进行初始化。如果电子设备尚未重启,则第一记录标识和第二记录标识均为默认内容,即均为NO_ERROR。
仍然参照图10所示,针对电子设备发生重启事件的情况,在重启事件的关闭操作之后,***RESET(复位),然后,在Bootloader的第一阶段,先将CurFlag的内容同步到ExpFlag中,同时将CurFlag置为NO_ERROR,以应对重启事件的关闭操作之后的运行过程中可能发生的异常。从Bootloader的第二阶段起,判断第二记录标识ExpFlag的内容是否为ERROR。如果ExpFlag为ERROR,则重新启动对故障信息的记录操作。然后在启动的多个启动阶段中,对ExpFlag进行检测,判断故障信息是否记录。如果ExpFlag为ERROR,即故障信息尚未记录或记录未成功,则继续对该故障进行保存,直至记录成功后将ExpFlag置为SAVED。同时,如果对故障信息的记录操作执行完成,故障信息成功保存,则将ExpFlag置为SAVED,并结束继续执行对故障信息的记录操作,防止重复记录,继续执行重启事件中的启动操作。否则,可以对对故障信息的记录操作进行多次重复执行。
仍然参照图10所示,当在电子设备在每次重启事件的关闭操作之后的运行过程中,执行EXP指令。如果电子设备的***发生故障,会首先将CurFlag的内容置为ERROR,标记电子设备的***发生故障。此后直至再次发生重启事件之前,可以根据电子设备的***状态,尝试对故障信息进行记录,若记录成功则将CurFlag置为SAVED,否则保持CurFlag的内容为ERROR的状态,直至电子设备发生重启事件进入复位操作。
由于本申请实施例使用了多阶段记录目标信息的方式,能够提高目标信息记录的成功率,从而,针对重启目标运行过程中可能产生的一些较为重要的信息,可以通过本申请实施例提供的方法进行记录。比如,在本申请一种实施例中,第一目标信息为重启目标的故障信息。电子设备在启动/运行过程中发生故障无法继续工作时会自动重启进行恢复,而对电子设备的维测需要对发生的故障进行记录,一般情况下的维测记录,是等待电子设备启动到一个特定的模式后进行记录。这种方式对这个特定模式的可靠性要求比较高,若该启动到特定模式的过程异常,则会导致漏记录或者错记录的问题。而本申请实施例提供的方法应用于故障记录时,在多个进行阶段都可执行对故障信息的记录操作,不依赖与特定模式的可靠性,提高了故障信息记录的成功率。
根据本申请实施例提供的方法,在重启目标发生重启事件之后的运行过程中,可以继续对于第一目标信息同种类型的第二目标信息进行记录,第二目标信息也可以为重启目标的故障信息。针对发生重启的电子设备、软件模块或者应用,本申请实施例使用不同的信息记录标识对同一种类的目标信息进行记录,避免目标信息因为电子设备、软件模块或者应用的重启而丢失,提高了目标信息被保存的成功率,从而本申请实施例提供的方法可以应用于对重启目标产生的一些较为重要的信息的记录。而无论是电子设备产品、软件模块产品或者是应用产品,运行过程中产生的故障信息,对提高产品性能,解决产品可能存在的隐患具有重要意义。因此,本申请实施例可以应用于对重启目标的故障信息的记录,记录的故障信息可以包括在一般运行过程中产生的故障信息,或者在重启、关闭过程中产生的故障信息。
以终端应用的故障信息为例,当用户使用终端应用进行网络活动时,可能由于某种故障,导致终端应用卡顿,从而用户不得不强行关闭终端应用,并再次启动终端应用,来使得终端应用恢复到正常运行的状态。通过本申请实施例提供的方法,能够将终端应用的故障信息作为目标信息,将造成终端应用卡顿的故障信息进行记录,有助于后续根据终端应用的故障信息改进终端应用的性能,减少或者避免终端应用运行过程中的卡顿。
在本申请一种实施方式中,重启目标为目标电子设备。其中,电子设备可能为计算机,或者具有计算机功能的专门设备,比如智能家电、智能生产设备、电子书等辅助设备,或者服务器,等。
在重启目标为软件模块或者应用时,可以针对软件模块或者应用设置与电子设备不同的进行阶段,比如,可以对软件模块或者应用的启动过程,按照设定时间间隔划分为多个进行阶段。也可以针对软件模块或者应用的运行特点,设置对更新后的第二记录标识进行反复检查、以确认第一目标信息的记录操作是否完成的步骤的触发节点。
图11为重启目标为电子设备的情况下,电子设备的***、目标信息记录模块之间的信令交互示意图,包括步骤S111-步骤S119。
步骤S111:在电子设备的***启动之后,目标信息记录模块检测到电子设备的***产生了目标信息。本实施例中,目标信息可以为设定类型的信息,比如,电子设备运行异常时的异常信息或故障信息。目标信息记录模块可以通过对第一存储位置进行主动监测,监测到电子设备产生了目标信息,第一存储位置可以是电子设备的一个临时性的存储位置。如果目标信息包括不同种类的信息,第一存储位置可以包括对应于不同种类的信息的不同存储位置。
步骤S112:目标信息记录模块将第一记录标识更改为表示目标信息未记录,并执行对目标信息的记录操作。
步骤S113:目标信息记录模块在对目标信息的记录操作成功执行的情况下,将第一记录标识更改为表示目标信息已记录;在对目标信息的记录操作未成功执行的情况下,将第一记录标识更改为表示目标信息未记录。
步骤S114:电子设备产生重启事件。
步骤S115:目标信息记录模块检测到电子设备产生的重启事件,将更新后的第一记录标识赋予第二记录标识,并将更新后的第一记录标识重置。
步骤S116:目标信息记录模块根据更新后的第二记录标识,重复执行对重启事件发生之前产生的目标信息的记录操作。
步骤S117:目标信息记录模块检测到重启事件发生之后,电子设备的***产生了目标信息,将第一记录标识更改为表示目标信息未记录。如果在重启事件之后,电子设备再次产生了另一目标信息,可以利用重置后的第一记录标识,表示对新产生的另一目标信息的记录操作的完成情况。
步骤S118:目标信息记录模块记录重启事件发生之后产生的目标信息。目标信息记录模块可以通过将目标信息从第一指定位置转存到第二指定位置的方式,记录重启事件发生之后的目标信息。
步骤S119:在重启事件发生之后的目标信息成功记录的情况下,将第一记录标识更改为表示目标信息已记录;否则,保持第一记录标识为表示目标信息未记录。
在本申请其它实施例中,还可以设置第三记录标识、第四记录标识等,以对应记录重启目标多次重启事件发生时,对重启事件发生之前的目标信息的记录操作的完成情况。
图12是本申请实施例提供的一种重启时的信息记录装置的结构示意图,包括:记录操作启动模块1201、第一内容更新模块1202、第二内容更新模块1203和记录操作完成模块1204。
其中,记录操作启动模块1201,用于在重启目标发生重启事件之前,检测到重启目标产生第一目标信息的情况下,启动对第一目标信息的记录操作;重启事件包括对重启目标的关闭操作,和在关闭操作之后执行的、对重启目标的启动操作。
第一内容更新模块1202,用于根据对第一目标信息的记录操作的完成情况,更新第一记录标识。
第二内容更新模块1203,用于检测到重启目标执行重启事件中的关闭操作之后,根据更新后的第一记录标识,更新第二记录标识。
记录操作完成模块1204,用于根据更新后的第二记录标识,完成对第一目标信息的记录操作。
需要说明的是:上述实施例提供的重启时的信息记录装置在记录信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
同时,本申请实施例的重启时的信息记录装置,还可以包括其它的功能模块,实现本申请任意实施例提供的重启时的信息记录方法中的任意步骤和功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的确定位置信息的装置与确定位置信息的方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
作为本申请的一个示例,上述电子设备能够接入基站,同时也具有接入无线局域网的能力,譬如该电子设备是手机、平板、智能手表、便携式笔记本等。请参考图13,图13是本申请实施例提供的一种电子设备的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。图13中所示的硬件结构在重启事件的启动操作执行时,可以于Bootloader阶段之前通电开启。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在本申请实施例中,不同的处理器可以作为单独的重启目标,即,如果在调用相机的过程中,图形处理器进行重启,那么,相机应用随之重启,这种情况下重启目标可以认定为图形处理器本身,而非相机应用。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。比如,控制器可以根据指令操作码,产生用于关闭电子设备100的控制信号、用于在关闭电子设备100之后短暂时间内重新启动电子设备100的控制信号。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据,比如循环执行对目标信息的记录操作。如果处理器110可以用于对第二存储位置进行监测,判断第二存储位置中是否存在第一目标信息或第二目标信息,并以此判定对第一目标信息的记录操作或者对第二目标信息的记录操作是否成功。
在一些实施例中,处理器110可以包括一个或多个接口,如可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serialbus,USB)接口等。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
其中,无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(WiFi网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信,从其他设备获取目标信息,比如,从云端获取临时存储的目标信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的整数。在重启事件中,N个显示屏中有至少一个显示屏显示重启提示信息。
外部存储器接口120可以用于连接外部存储卡,比如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将经过转存的第一目标信息进行持久存储。
内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。内部存储器也可以用于存储目标信息。在本申请实施例提供的方法适用于不同种类的目标信息的情况下,不同种类的目标信息可以对应地存储于不同的存储位置,在转存后,也可以存储于不同的存储位置实现目标信息的相对的持久性保存。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。触摸传感器180K,可以在用户决定重启电子设备的情况下,接收用户通过触控方式发送的重启指令。
按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。通过按键190,也可以生成重启触发事件。比如,通过长按按键190生成强制关机指令,然后通过按压按键190生成开机指令,若符合预设的判定条件,可以将强制关机的过程和开机过程拟制为电子设备100的一次重启过程。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的整数。SIM卡接口195也可以兼容外部存储卡。电子设备100也可以通过SIM卡,实现移动通信功能,进而通过移动通信功能,可以从其它通信终端获得目标信息,或者将目标信息存储在其它通信终端的指定位置实现相对的持久性存储。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(Digital SubscriberLine,DSL))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(比如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种重启时的信息记录方法,其特征在于,包括:
在重启目标发生重启事件之前,检测到所述重启目标产生第一目标信息的情况下,启动对第一目标信息的记录操作;所述重启事件包括对所述重启目标的关闭操作,和在所述关闭操作之后执行的、对所述重启目标的启动操作;所述重启目标为目标电子设备,所述第一目标信息为所述重启目标的故障信息;
若所述第一目标信息成功记录,将第一记录标识的内容置为SAVED,若所述第一目标信息未成功记录,将所述第一记录标识的内容置为ERROR;
检测到所述重启目标执行重启事件中的关闭操作之后,所述重启目标的***复位,在所述重启事件的进行阶段的Bootloader的第一阶段,将所述第一记录标识的内容同步到第二记录标识,同时,将所述第一记录标识的内容置为NO_ERROR,所述进行阶段为对重启过程进行预先划分形成的多个阶段之一;
从所述进行阶段的Bootloader的第二阶段起,判断所述第二记录标识的内容是否为ERROR;
若所述第二记录标识的内容为ERROR,重新启动对所述第一目标信息的记录操作;
若所述第一目标信息成功记录,将所述第二记录标识的内容置为SAVED;
根据所述进行阶段,对所述第二记录标识的内容进行检测;
若所述第二记录标识的内容为ERROR,表示所述第一目标信息未记录或记录未成功,继续对所述第一目标信息进行保存,直至成功记录后,将所述第二记录标识的内容置为SAVED;
在所述重启目标每次重启事件的关闭操作之后的运行过程中,执行EXP指令,若所述重启目标的***发生故障,将所述第一记录标识的内容置为ERROR,标记所述重启目标的***发生故障,直至所述重启目标再次发生所述重启事件之前,根据所述重启目标的***状态,启动对所述第一目标信息的记录操作,若所述第一目标信息成功记录,将所述第一记录标识的内容置为SAVED,若所述第一目标信息未成功记录,保持所述第一记录标识的内容为ERROR,直至所述重启目标发生重启事件进入复位操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述重启目标未产生所述第一目标信息的情况下,将所述第一记录标识置为NO_ERROR。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述进行阶段,对所述第二记录标识的内容进行检测,包括:
在所述进行阶段发生变更的情况下,对所述第二记录标识的内容进行检测。
4.根据权利要求1或2所述的方法,其特征在于,在所述重启目标为电子设备的情况下,所述进行阶段包括:所述Bootloader的第一阶段、所述Bootloader的第二阶段、内核层启动阶段、应用框架层启动阶段、应用层启动阶段。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述重启目标再次发生重启事件之前,检测到所述重启目标产生第二目标信息情况下,启动对所述第二目标信息的记录操作;
根据所述对所述第二目标信息的记录操作的完成情况,更新重置后的所述第一记录标识。
6.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器;
所述存储器用于存储所述电子设备执行如权利要求1-5中任意一项所述的方法的程序,以及存储用于实现如权利要求1-5中任意一项所述的方法所涉及的数据;
所述处理器被配置为用于执行所述存储器中存储的程序。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311561498.4A CN117290164B (zh) | 2023-11-22 | 2023-11-22 | 重启时的信息记录方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311561498.4A CN117290164B (zh) | 2023-11-22 | 2023-11-22 | 重启时的信息记录方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117290164A CN117290164A (zh) | 2023-12-26 |
CN117290164B true CN117290164B (zh) | 2024-05-10 |
Family
ID=89258903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311561498.4A Active CN117290164B (zh) | 2023-11-22 | 2023-11-22 | 重启时的信息记录方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290164B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038030A (zh) * | 2017-11-30 | 2018-05-15 | 努比亚技术有限公司 | 移动终端重启定位方法、移动终端及计算机可读存储介质 |
WO2020173377A1 (zh) * | 2019-02-28 | 2020-09-03 | 华为技术有限公司 | 一种日志信息生成方法、装置及电子设备 |
CN115658113A (zh) * | 2022-11-07 | 2023-01-31 | 苏州浪潮智能科技有限公司 | 服务器自启动方法、装置、可读存储介质及电子设备 |
CN115757042A (zh) * | 2022-11-29 | 2023-03-07 | 宁畅信息产业(北京)有限公司 | Bmc异常重启的故障定位方法、装置、电子设备及存储介质 |
-
2023
- 2023-11-22 CN CN202311561498.4A patent/CN117290164B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038030A (zh) * | 2017-11-30 | 2018-05-15 | 努比亚技术有限公司 | 移动终端重启定位方法、移动终端及计算机可读存储介质 |
WO2020173377A1 (zh) * | 2019-02-28 | 2020-09-03 | 华为技术有限公司 | 一种日志信息生成方法、装置及电子设备 |
CN115658113A (zh) * | 2022-11-07 | 2023-01-31 | 苏州浪潮智能科技有限公司 | 服务器自启动方法、装置、可读存储介质及电子设备 |
CN115757042A (zh) * | 2022-11-29 | 2023-03-07 | 宁畅信息产业(北京)有限公司 | Bmc异常重启的故障定位方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
"基于Linux的嵌入式设备多状态重启记录***设计与实现";王晨光等;《软件导刊》;20190104(第05期);第131-135页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117290164A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825563B (zh) | ***恢复方法、装置以及电子设备 | |
CN109964227A (zh) | 更新SELinux安全策略的方法及终端 | |
CN115328563B (zh) | ***启动方法及电子设备 | |
CN116737214A (zh) | 操作***的升级方法、电子设备及存储介质 | |
CN112463199A (zh) | 一种***升级方法及终端 | |
CN107861827B (zh) | 卡屏检测方法、移动终端及计算机可读存储介质 | |
CN116719670B (zh) | 数据处理的方法、电子设备及可读存储介质 | |
CN103455750A (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN116400938B (zh) | 操作***的升级方法、设备及存储介质 | |
CN116700768B (zh) | 一种应用的处理方法及相关装置 | |
CN117290164B (zh) | 重启时的信息记录方法、电子设备及可读存储介质 | |
CN109634782B (zh) | 一种***健壮性的检测方法、装置、存储介质及终端 | |
CN115357295B (zh) | ***回退方法、设备及存储介质 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN115269023A (zh) | 程序更新方法、设备终端及存储介质 | |
CN113190244A (zh) | 无线模组升级的方法、装置、计算机设备和存储介质 | |
CN112559131A (zh) | 更新容器镜像的方法、装置、设备及计算机可读存储介质 | |
CN113656063A (zh) | 一种***版本更换方法、装置、设备及计算机可读介质 | |
CN117130627B (zh) | 配件升级方法及电子设备 | |
CN116662101B (zh) | 电子设备的故障修复方法和电子设备 | |
CN117177246B (zh) | 一种用于锁死电子设备的方法、电子设备及服务器 | |
CN116302454B (zh) | 申请网络资源的方法及电子设备 | |
CN110858148B (zh) | 一种存储介质预置应用程序的更新方法、装置及电子设备 | |
CN116069370A (zh) | 冷补丁的升级方法、设备、存储介质及计算机程序产品 | |
CN117707629A (zh) | ***启动方法、可读存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |