CN105791514B - Application starting monitoring method and device - Google Patents

Application starting monitoring method and device Download PDF

Info

Publication number
CN105791514B
CN105791514B CN201410806055.1A CN201410806055A CN105791514B CN 105791514 B CN105791514 B CN 105791514B CN 201410806055 A CN201410806055 A CN 201410806055A CN 105791514 B CN105791514 B CN 105791514B
Authority
CN
China
Prior art keywords
application
state
flag bit
starting
functional module
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
Application number
CN201410806055.1A
Other languages
Chinese (zh)
Other versions
CN105791514A (en
Inventor
管维刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410806055.1A priority Critical patent/CN105791514B/en
Publication of CN105791514A publication Critical patent/CN105791514A/en
Application granted granted Critical
Publication of CN105791514B publication Critical patent/CN105791514B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The application relates to the technical field of application maintenance of mobile terminals, in particular to an application starting monitoring method and device. The method comprises the step of recording the starting state of the function module involved in the application starting process by using the flag bit group in the application starting process. As can be seen from the above technical solutions provided by the embodiments of the present application, in the embodiments of the present application, a flag group can be used to record a functional module that causes a start failure in an application start process, a reason that causes the start failure of the application (i.e., the functional module that causes the start failure) can be reported to a server with a very small communication traffic, and the flag group is uploaded to the server every time the application is started, so that a technician corrects the application according to information of the flag group, so that the application becomes more stable, and better use experience is provided for a user; and a less space is used for storing a flag bit group on the mobile terminal, so that the storage space of the mobile terminal is saved.

Description

Application starting monitoring method and device
Technical Field
The application relates to the technical field of application maintenance of mobile terminals, in particular to an application starting monitoring method and device.
Background
In the age of mobile internet being prevalent, client applications need to face complex environments such as various devices, networks, applications and the like on wireless intelligent terminal devices such as smart phones, tablet computers and the like, and the client applications are easily affected by the complex environments due to the fact that a lot of initialization work is often needed in the starting process, and collapse of the applications occurs in the starting process. The crash problem is very harmful to the user experience and is often difficult to monitor or locate because the application has not yet been initialized. How to effectively reduce the start failure rate is a big problem in the current wireless client application development.
At present, most of the existing technical schemes minimize unnecessary operations in the application starting process, and delay some non-core initialization work to be completed after the application is started. In addition, there are also some solutions to assist in locating and surveying problems by applying a method of logging the startup process.
In the process of implementing the present application, the applicant finds that at least the following problems exist in the prior art:
for the scheme that unnecessary operation in the application starting process is reduced as much as possible in the prior art, the occurrence probability of some similar problems can be reduced, however, for a complete application, the work that all functions involve initialization which must be completed in the starting stage is still many, the more complex the functions are, the more initialization processes appear in the starting process; in these initialization operations, the boot process still fails once an exception occurs.
In the prior art, for the problem of application starting failure, an effective method for locating the reason of the problem is often lacked. Some prior arts assist positioning and investigation problems by using logs recorded in the application starting process, but since the logs are all initialized in a text mode at each starting, the recorded contents affect the performance of the application itself, and since the contents recorded by the logs are relatively numerous and complicated, the logs are not easy to be recycled for network transmission in a mobile application environment, so the actual effect is not good.
Disclosure of Invention
An object of the embodiments of the present application is to provide an application start monitoring method and apparatus, so as to solve the problem in the prior art that a file of a mobile terminal recording an application start process is too large, which is not favorable for the mobile terminal to transmit data in a mobile network where communication quality is not ideal, and the problem in the prior art that an application cannot be self-repaired is solved.
In order to solve the above technical problem, an application start monitoring method provided in an embodiment of the present application is implemented as follows:
in the application starting process, recording the starting state of a function module related in the application starting process by using a flag bit group;
the starting state comprises an un-starting state, a starting state and a completing state, wherein the un-starting state is an initial state of a functional module in the application, the starting state is a state that the functional module is called and started when the application is started, and the completing state is a state that the functional module is successfully started when the application is started;
before the application starting process, finding out a function module which fails to start according to a flag bit group recorded after the application fails to start last time, and skipping the function module which fails to start in the application starting process;
skipping the functional module with failed start-up in the application start-up process further comprises exiting the application start-up process when the functional module with failed start-up is a necessary part of the application start-up process.
In order to solve the above technical problem, an embodiment of the present application further provides an application start monitoring apparatus implemented as follows:
the system comprises a main execution unit, a recording unit and a flag bit group;
the main execution unit executes an application starting process;
the recording unit is connected with the main execution unit, and records the starting state of the function module related in the application starting process in the flag bit group in the application starting process;
the starting state comprises an un-starting state, a starting state and a completing state, wherein the un-starting state is an initial state of a functional module in the application, the starting state is a state that the functional module is called and started when the application is started, and the completing state is a state that the functional module is successfully started when the application is started;
the device also comprises a monitoring unit which is respectively connected with the main execution unit and the flag bit group, finds out the functional module which fails to start according to the flag bit group recorded after the application fails to start last time, and informs the main execution unit to skip the functional module which fails to start in the process that the main execution unit executes the application start;
wherein, the main execution unit is further configured to exit the application starting process when the function module with failed starting is a necessary part of the application starting process.
According to the technical scheme provided by the embodiment of the application, the flag bit group can be used for recording the functional module which causes the starting failure in the application starting process, so that the functional module which causes the starting failure can be skipped when the application is started next time, the problem that the application causes the starting failure can be intelligently repaired, and the application can be normally started by starting the normal functional module; in addition, the method can report the reason (namely the function module with failed start) causing the application start failure to the server with extremely small communication traffic, and the flag group is uploaded to the server when the application is started each time, so that a technician can correct the application according to the information of the flag group, the application becomes more stable, and better use experience is provided for a user; and a less space is used for storing a flag bit group on the mobile terminal, so that the storage space of the mobile terminal is saved.
Of course, it is not necessary for any product or method of the present application to achieve all of the above-described advantages at the same time.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
Fig. 1 is a flowchart illustrating an application start monitoring method according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of an application start monitoring apparatus according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an embodiment of a flag bit group according to an embodiment of the present application;
fig. 4 is a flowchart illustrating an application of receiving a Push message by a mobile phone when the mobile phone operates for the first time according to the embodiment of the present application;
fig. 5 is a flowchart illustrating that the application of receiving the Push message by the mobile phone is executed again in the embodiment of the present application;
fig. 6 is a specific flowchart of an application start monitoring method according to an embodiment of the present application.
Detailed Description
The embodiment of the application provides an application starting monitoring method and device.
In order to make those skilled in the art better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Fig. 1 is a flowchart illustrating an application start monitoring method according to an embodiment of the present application.
The method comprises the step of recording the starting state of a function module involved in the application starting process by using a flag bit group in the application starting process.
As an embodiment of the present application, the application includes an application running on a mobile terminal, including but not limited to an application based on an Android system (google mobile terminal system), an application based on an IOS system (apple mobile terminal system) or an application based on a Windows Phone system (microsoft mobile terminal system).
As an embodiment of the present application, the flag bit group includes at least one flag bit, and the flag bit includes one or more bytes, for example, 2 bits may be used to indicate the activation state of 1 functional module, that is, 00, 01, 10, or 11 to indicate the activation state of 1 functional module.
As an embodiment of the present application, the startup state includes an un-started state, a started state, and a completed state. Wherein, the initial states of the function modules involved in the application starting process are all non-starting states; the functional module which is being started in the application starting process is in a starting state, the starting state is not necessarily completed, and faults can occur to cause application starting failure; and the functional module which is successfully started in the application starting process is in a finished state.
As an embodiment of the application, after recording the start states of the functional modules involved in the application start-up process by using the flag bit group, the method further includes storing the flag bit group in which the start states of all the functional modules involved in the application start-up process are recorded in a non-volatile storage medium. The non-volatile storage medium includes, but is not limited to, Nand Flash, Electrically Erasable Programmable Read-Only Memory (EEPROM), and the like.
As an embodiment of the present application, before the application starting process, the method further includes finding a functional module that fails to start according to a flag bit group recorded after the previous application starting failure, and skipping the functional module that fails to start in the current application starting process.
As an embodiment of the present application, a functional module with failed start is found according to a flag bit group recorded after the previous failed start of the application, and skipping the functional module with failed start in the current start of the application further includes finding a functional module with a start state in the flag bit group, skipping the functional module with the start state in the current start of the application, and continuing the start of the application from a functional module with a next state of the functional module with the start state as an un-start state.
As an embodiment of the application, skipping the functional module with failed start in the application start process further includes exiting the application start process when the functional module with failed start is a necessary part of the application start process.
As an embodiment of the present application, before finding the functional module with failed start according to the flag bit set recorded after the last failed start of the application, the method further includes transmitting the flag bit set recorded after the last failed start of the application to the server.
As an embodiment of the present application, after recording the start state of the function module involved in the application start process by using a flag bit group, deleting the flag bit group in the application start process last time, and replacing the flag bit group in the application start process last time by using the flag bit group in the application start process this time.
By the embodiment of the method, the flag bit group can be used for recording the functional module which causes the starting failure in the application starting process, so that the functional module which causes the starting failure can be skipped when the application is started next time, the problem of the starting failure caused by the application can be intelligently repaired, and the application can be normally started by starting the normal functional module; in addition, the method can report the reason (namely the function module with failed start) causing the application start failure to the server with extremely small communication traffic, and the flag group is uploaded to the server when the application is started each time, so that a technician can correct the application according to the information of the flag group, the application becomes more stable, and better use experience is provided for a user; and a less space is used for storing a flag bit group on the mobile terminal, so that the storage space of the mobile terminal is saved.
Fig. 2 is a schematic structural diagram of an application start monitoring apparatus according to an embodiment of the present application.
The system comprises a main execution unit 201, a recording unit 202 and a flag bit group 203.
The main execution unit 201 executes an application start process;
the recording unit 202 is connected to the main execution unit 201, and records the start state of the function module involved in the application start process in the flag group 203 during the application start process.
As an embodiment of the present application, the flag group 203 includes a nonvolatile storage medium in which the above-mentioned apparatus records the start state of the function module involved in the application start process. The non-volatile storage medium includes, but is not limited to, Nand Flash, Electrically Erasable Programmable Read-Only memory (EEPROM), and the like.
As an embodiment of the present application, the application includes an application running on a mobile terminal, including but not limited to an application based on an Android system (google mobile terminal system), an application based on an IOS system (apple mobile terminal system) or an application based on a Windows Phone system (microsoft mobile terminal system); the mobile terminal comprises a mobile phone, a tablet computer or a PDA and the like.
As an embodiment of the present application, the flag bit group includes at least one flag bit, and the flag bit includes one or more bytes, for example, 2 bits may be used to indicate the activation state of 1 functional module, that is, 00, 01, 10, or 11 to indicate the activation state of 1 functional module.
As an embodiment of the present application, the startup state includes an un-started state, a started state, and a completed state. Wherein, the initial states of the function modules involved in the application starting process are all non-starting states; the functional module which is being started in the application starting process is in a starting state, the starting state is not necessarily completed, and faults can occur to cause application starting failure; and the functional module which is successfully started in the application starting process is in a finished state.
As an embodiment of the present application, the application further includes a monitoring unit 204, which is respectively connected to the main execution unit 201 and the flag bit group 203, finds a functional module with failed start according to the flag bit group recorded after the application fails to start last time, and notifies the main execution unit 201 to skip the functional module with failed start in the process that the main execution unit 201 executes the application start this time.
As an embodiment of the present application, the monitoring unit 204 is further configured to find a functional module in the flag group whose starting state is a starting state, and in the process that the main execution unit 201 executes the application starting process this time, notify the main execution unit 201 to skip the functional module in the starting state, and the main execution unit 201 continues the starting process of the application from the functional module whose next state of the starting state is a non-starting state.
As an embodiment of the present application, the main execution unit 201 is further configured to exit the application starting process when the function module with failed starting is a necessary part of the application starting process.
As an embodiment of the present application, the application further includes a communication unit 205, connected to the flag bit set 203, for transmitting the flag bit set recorded after the application failed to start to the server. The communication unit 205 may be implemented using a wireless communication unit of a mobile terminal, such as a handset.
As an embodiment of this application, the recording unit 202 is further configured to delete the flag group in the last application starting process, and replace the flag group in the last application starting process with the flag group in the current application starting process.
The main execution unit 201, the recording unit 202, and the monitoring unit 204 in the above embodiments may all be implemented by using a logic chip in a processor of the mobile terminal, and are not described herein again.
By the embodiment of the device, the flag bit group can be used for recording the functional module which causes the starting failure in the application starting process, so that the functional module which causes the starting failure can be skipped when the application is started next time, the problem of the starting failure caused by the application can be intelligently repaired, and the application can be normally started by starting the normal functional module; in addition, the method can report the reason (namely the function module with failed start) causing the application start failure to the server with extremely small communication traffic, and the flag group is uploaded to the server when the application is started each time, so that a technician can correct the application according to the information of the flag group, the application becomes more stable, and better use experience is provided for a user; and a less space is used for storing a flag bit group on the mobile terminal, so that the storage space of the mobile terminal is saved.
In a preferred embodiment of the present application, an application in which a mobile phone receives a Push message is taken as an example for description.
The application of the mobile phone for receiving the Push message is divided into 3 functional modules which are respectively used for token taking, long connection establishment and system setting, the token taking functional module realizes that a mobile phone user obtains a token (token) representing the identity of the mobile phone user, the long connection establishment functional module realizes that the mobile phone user establishes connection with a remote server, and the system setting functional module realizes the setting of parameters such as session keeping time, heartbeat keeping interval, whether automatic reconnection is carried out after disconnection and the like for the mobile phone user when receiving the Push message. The starting state of the above-mentioned 3 functional modules is set to "not started" state when the application is not used, and the flag bit set can be initialized to "not started" state by generating a flag bit set file in the memory of the mobile phone, for example, in the TF card or the internal memory of the mobile phone when the application is installed.
For the flag bit group, 2-bit flag bits may be used to indicate the activation state of a functional module, such as 00, 01, and 10, or integer values may be used to indicate the activation state of a functional module, such as 0, 1, and 2, respectively indicating a certain activation state, and in the preferred embodiment of the present application, 2-bit flag bits are used to indicate the activation state of a functional module.
For the starting state, the starting state is divided into 3 starting states, which are respectively a "not starting" state, a "starting" state and a "completing" state, wherein the "not starting" state is an initial state of the functional module in the application, that is, the functional module which is not started; the "start" state is a state in which the functional module is called to start up when the application is started up, and in this state, the functional module is only called to perform initialization during start up, and the result position is that the functional module may be started up successfully or failed; the "complete" state is a state in which the functional module is successfully started when the application is started.
In the preferred embodiment of the present application, the flag bit 00 represents that the activation status of the functional module is "not started", the flag bit 01 represents that the activation status of the functional module is "started", and the flag bit 10 represents that the activation status of the functional module is "completed". In other embodiments, there may also be other matching relationships, for example, the flag bit 01 represents that the start state of the function module is an "un-started" state, the flag bit 10 represents that the start state of the function module is a "started" state, and the flag bit 00 represents that the start state of the function module is a "completed" state, which should not be construed as limiting the protection scope of the present application and are not described herein again.
In the application of the mobile phone receiving the Push message in the above embodiment, the 3 function modules are sequentially invoked and executed, the initial starting state of the 3 function modules is the "not started" state, the flag bits for the 3 function modules are 00, and 00, respectively, and the flag bit group formed by the three flag bits is 000000.
When the application receiving the Push message is started for the first time, the flag bit group of the application is all "1", that is, the initial starting state is successful in starting, and reference may be made to a flowchart of the application receiving the Push message by the mobile phone which is operated for the first time in the embodiment of the present application shown in fig. 4.
Step 401, the application receiving the Push message is started.
Step 402, check whether the last boot process was a successful status.
In this step, since the application is started for the first time, the application is in a startup successful state, the initial flag bit group a is all "1", i.e., "11, 11", or the application has a single flag bit to represent that the last startup was successful, for example, "0" represents that the last startup was not successful, and "1" represents that the last startup was successful.
Since the application is first launched, no other state occurs in step 402, so step 403 is entered directly.
Step 403, copying the flag bit group a in the last starting process to the flag bit group b stored in the flash memory of the mobile phone, and resetting all flag bits of the flag bit group a to be in an initial state of "not started", that is, the starting states of 3 function modules applied by the mobile phone receiving the Push message are all in an "not started" state, and the information of the applied flag bit groups is "00, 00".
Step 404, determining whether the starting state of the first flag bit of the flag bit group b is the "start" state, that is, determining whether the starting state of the first function module that receives the Push message and takes the token is the "start" state.
In this embodiment, the starting state of the token function module is taken as "not started" state, which indicates that the function module has not been started and executed in the last starting process, and it is not determined whether the function module can be started normally, step 405 is executed.
Step 405, initializing the token fetching function module in the starting process, and setting the flag bit corresponding to the token fetching function module in the flag bit group a to be in the "starting" state, i.e. setting the flag bit 01.
When the start of the token fetching function module is completed, step 406 is entered.
Step 406, the flag bit corresponding to the token fetching function module in the flag bit group a is set to "complete", i.e. set to the flag bit 10.
Step 407, it is determined whether the start state of the second flag bit of the flag bit group b is the "start" state, that is, it is determined whether the start state of the second functional module that receives the Push message and establishes the long connection is the "start" state.
In the application of starting the mobile phone for the first time to receive the Push message, the starting state of the second functional module for establishing the long connection is the 'not started' state, and the corresponding zone bit of the zone bit group is '00'.
Step 408, initializing the starting process of the long connection establishment function module, and setting the flag bit corresponding to the long connection establishment function module in the flag bit group a to "start" state, i.e. setting flag bit 01.
To better explain various situations of the technical solution of the present application, in this embodiment, the start of the long connection function module fails, and step 409 is entered, where the flag bit group a applied when the mobile phone receives the Push message is "10, 01, 00".
Step 409, the starting fails, and the flag bit group a is stored in the flash memory of the mobile phone.
Fig. 5 is a flowchart illustrating that the application for receiving the Push message by the mobile phone is executed again in the embodiment of the present application.
Step 501, the application receiving the Push message is started.
Step 502, check whether the last startup process is a successful state.
In this step, the startup success status of the application may be that flag group a is all "1", i.e., "111111", or the application has a separate flag bit to represent the last startup success, for example, "0" indicates the last startup failure and "1" indicates the last startup success.
Step 504 is entered if the last boot process was successful, otherwise step 503 is entered.
In this embodiment, the last startup process of the application that the mobile phone receives the Push message is unsuccessful, the flag bit group a is "10, 01, 00", that is, in the last application startup process, the startup state of the token function module is taken as a "successful" state (startup is successful), the startup state of the long connection function module is established as a "start" state (startup is attempted, but is unsuccessful), and the system sets the startup state of the function module as an "un-start" state (startup is not yet executed). The flag group may also include the name of the function module and the flag bit of each function module, as shown in fig. 3. In other embodiments, the flag bit set may be of different forms, but each identifies the activation state of each functional module.
Step 503, the flag bit group a of the last startup process is transmitted to the remote server through the wireless communication unit of the mobile phone. Therefore, a remote technician can judge the reason of the starting failure of the Push message application received by the mobile phone through the flag group received by the remote server, so that the application can be updated and upgraded conveniently, and the problem of starting failure is reduced.
Step 504, copying the flag bit group a of the last starting process to the flag bit group b stored in the flash memory of the mobile phone, and resetting all flag bits of the flag bit group a to be in an initial state of "not started", that is, the starting states of 3 function modules applied by the mobile phone receiving the Push message are all in a "not started" state, and the information of the applied flag bit group is "00, 00".
Step 505, it is determined whether the start state of the first flag bit of the flag bit group b is the "start" state, that is, it is determined whether the start state of the first function module that receives the Push message and takes the token is the "start" state.
If the starting state of the token function module is the 'completion' state in the step, the function module is successfully started in the last starting process, and no problem occurs; if the starting state of the token function module is not started, the function module is not started and executed in the last starting process, and whether the function module can be normally started or not is uncertain; if the starting state of the token function module is the starting state, the result indicates that the function module has attempted to be started in the last starting process, but the function module is not started successfully, namely, the reason for the failure of the last starting process may be the function module.
If the starting state of the token taking function module is the starting state, the step 508 is entered, the starting of the token taking function module is skipped, otherwise, the step 506 is entered to execute the starting of the token taking function module.
In this embodiment, the starting state of the token function module is taken as the "complete" state in the last starting process, and the process directly proceeds to step 506.
Step 506, initialize the token fetching function module in the starting process, and set the flag bit corresponding to the token fetching function module in the flag bit group a to "start" state, i.e. set flag bit 01.
And when the starting of the token taking function module is completed, the step 507 is entered, otherwise, the step 516 is entered after the starting fails.
Step 507, setting the flag bit corresponding to the token fetching function module in the flag bit group a to "complete" state, i.e. setting the flag bit 10.
Step 508, determining whether the start state of the second flag bit of the flag bit group b is the "start" state, that is, determining whether the start state of the second functional module that receives the Push message and establishes the long connection is the "start" state.
According to the foregoing assumption that the activation state of the second functional module for establishing the long connection is the "start" state, and the flag bit corresponding to the flag bit group is "01", it indicates that the functional module has attempted to be activated in the last activation process, but the functional module has not been successfully activated, that is, the reason for the last failed activation may be the functional module.
If the starting state of the long connection establishment function module is "start" state, step 511 is entered, the starting of the long connection establishment function module is skipped, otherwise step 509 is entered to start the long connection establishment function module.
In this embodiment, it is assumed that the function module for establishing long connection is skipped, that is, the application may be normally started without starting the function module for establishing long connection in the process of starting the application in which the mobile phone receives the Push message, and in other embodiments, if the skipped function module is indispensable in the process of starting the application, the function module cannot be skipped to start, and step 516 is entered to indicate that the application fails to start.
Step 509, initialize the starting process of the long connection establishing functional module, and set the flag bit corresponding to the long connection establishing functional module in the flag bit group a to "start" state, i.e. set flag bit 01.
When the starting of the function module for establishing long connection is completed, step 510 is entered, otherwise, the starting fails and step 516 is entered.
Step 510, the flag bit corresponding to the functional module for establishing long connection in the flag bit group a is set to "complete", i.e. set to flag bit 10.
Step 511, determining whether the starting state of the third flag bit of the flag bit group b is the "start" state, that is, determining whether the starting state set by the third functional module system, in which the mobile phone receives the Push message, is the "start" state.
According to the aforementioned assumption of this embodiment, if the activation state set by the third functional module system is "not started" state, and the flag bit corresponding to the flag bit group is "00", it indicates that the functional module has not been activated in the last activation process.
If the starting state of the system setup function module is "start" state, step 514 is entered, the starting of the system setup function module is skipped, otherwise step 512 is entered to execute the starting of the system setup function module.
Step 512, initialize the system setup function module in the starting process, and set the flag bit corresponding to the system setup function module in the flag bit group a to "start" state, i.e. set flag bit 01.
When the start of the system setup function is completed, step 513 is entered, otherwise, the start fails and step 516 is entered.
Step 513, set the flag bit corresponding to the system configuration function module in the flag bit group a to "complete", that is, set the flag bit 10.
At step 514, the boot is complete.
Step 515, if the starting states of all the function modules involved in the process of the mobile phone receiving the Push message application starting are all "complete" states, setting all the flag bits of the flag bit group a to "1", that is, the flag bit group a is "11, 11", and storing the flag bit group a into the flash memory of the mobile phone.
Step 516, the starting fails, and the flag bit group a is stored in the flash memory of the mobile phone.
As an extended embodiment of the present application, the embodiment of receiving a Push message by a mobile phone is extended to a general category, and reference may be made to a specific flowchart of an application start monitoring method in the embodiment of the present application as shown in fig. 6.
Step 601, the application is started.
In step 602, it is checked whether the last boot process was in a successful state.
In this step, the application has a single flag bit to indicate that the last boot was successful, e.g., "0" indicates that the last boot was not successful, and "1" indicates that the last boot was successful.
Step 604 is entered if the last boot process was successful, otherwise step 603 is entered.
Step 603, transmitting the flag bit group a of the last starting process to the remote server through the wireless communication part of the mobile terminal. Therefore, remote technicians can judge the reason of the application starting failure through the flag groups received by the remote server, so that the application can be updated and upgraded conveniently, and the problem of starting failure is reduced.
The flag bit group uploaded to the remote server can be used for monitoring the times of failure of starting crash of the application on the mobile terminal of the user, and can also be used for analyzing and positioning the position where the crash occurs, and the flag bit group a can know that the crash occurs when the starting is initialized to the fourth functional module.
Step 604, copying the flag bit group a of the last starting process to a flag bit group b stored in the flash memory of the mobile phone, and resetting all flag bits of the flag bit group a to be in an initial state of 'not started'.
Step 605, determine whether the activation state of the first flag bit (i.e. the corresponding first functional module) of the flag bit group b is "start" state.
If the activation status of the first functional module is "start" status, step 608 is entered, the activation of the functional module is skipped, otherwise step 606 is entered for executing the activation of the functional module.
Step 606, initialize the first function module in the starting process, and set the flag bit corresponding to the first function module in the flag bit group a to "start" state, i.e. set flag bit 01.
When the first functional module is started, step 607 is entered, otherwise, the starting fails and step 616 is entered.
Step 607, the flag bit corresponding to the first functional module in the flag bit group a is set to "complete", i.e. set to flag bit 10.
Step 608, determine whether the activation status of the second flag bit of the flag bit group b is "start" status, that is, determine whether the activation status of the second functional module in the application is "start" status.
If the starting state of the second functional module is "start" state, step 611 is entered, the starting of the second functional module is skipped, otherwise step 609 is entered to execute the starting of the second functional module.
Step 609, initialize the second function module in the starting process, and set the flag bit corresponding to the second function module in the flag bit group a to "start" state, i.e. set flag bit 01.
When the second function module is started, step 610 is entered, otherwise, the start fails and step 616 is entered.
Step 610, set the flag bit corresponding to the second functional module in the flag bit group a to "complete", i.e. set the flag bit 10.
The above steps 608-610 are repeated until the nth function module of the application is next.
In this embodiment, it is assumed that m of the first to (n-1) th function modules are skippable, where m is smaller than n, and m and n are both natural numbers greater than 1, and in other embodiments, if the skipped function module is indispensable in the application start process, the start of the function module cannot be skipped, and step 616 is entered to indicate that the application start is broken down.
In step 611, it is determined whether the activation state of the nth flag bit of the flag bit group b is the "start" state, that is, whether the activation state of the nth function module is the "start" state.
If the activation status of the nth function module is "start" status, step 614 is entered, the activation of the nth function module is skipped, otherwise step 612 is entered to perform the activation on the nth function module.
Step 612, initialize the nth function module in the starting process, and set the flag bit corresponding to the nth function module in the flag bit group a to the "start" state, i.e. set flag bit 01.
When the nth function module is started, step 613 is entered, otherwise step 616 is entered for failed start.
Step 613, setting the flag bit corresponding to the nth functional module in the flag bit group a to "complete", i.e. setting the flag bit 10.
And step 614, finishing the starting.
Step 615, if the starting states of all the function modules involved in the application starting process are "complete" states, all flag bits of the flag bit group a are set to "1", that is, the flag bit group a is "11, 11", and the flag bit group a is stored in the flash memory of the mobile phone for use when the application is started next time.
In step 616, if the application fails to start, the flag bit group a is stored in the flash memory of the mobile phone for use when the application is started next time.
By the method and the device, the flag bit group can be used for recording the functional module which causes the starting failure in the application starting process, so that the functional module which causes the starting failure can be skipped when the application is started next time, the problem of the starting failure caused by the application can be intelligently repaired, and the application can be normally started by starting the normal functional module; in addition, the method can report the reason (namely the function module with failed start) causing the application start failure to the server with extremely small communication traffic, and the flag group is uploaded to the server when the application is started each time, so that a technician can correct the application according to the information of the flag group, the application becomes more stable, and better use experience is provided for a user; and a less space is used for storing a flag bit group on the mobile terminal, so that the storage space of the mobile terminal is saved.
In the 90 th generation of 20 th century, it is obvious that improvements in Hardware (for example, improvements in Circuit structures such as diodes, transistors and switches) or software (for improvement in method flow) can be distinguished for a technical improvement, however, as technology develops, many of the improvements in method flow today can be regarded as direct improvements in Hardware Circuit structures, designers almost all obtain corresponding Hardware Circuit structures by Programming the improved method flow into Hardware circuits, and therefore, it cannot be said that an improvement in method flow cannot be realized by Hardware entity modules, for example, Programmable logic devices (Programmable logic devices L organic devices, P L D) (for example, Field Programmable Gate Arrays (FPGAs) are integrated circuits whose logic functions are determined by user Programming of devices), and a digital system is "integrated" on a P L D "by self Programming of designers without requiring many kinds of integrated circuits manufactured and manufactured by dedicated chips, and integrated circuits 2 are written by Hardware programs such as software programs, such as Hardware programs, software programs, Hardware programs, software programs, Hardware programs, software, Hardware programs, software programs, Hardware programs, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone L abs C8051F320, and the memory controller may also be implemented as part of the control logic for the memory.
Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
From the above description of the embodiments, it is clear to those skilled in the art that the present application can be implemented by software plus necessary general hardware platform. Based on such understanding, the technical solutions of the present application may be essentially or partially implemented in the form of a software product, which may be stored in a storage medium, such as a ROM/RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments or some parts of the embodiments of the present application.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The application is operational with numerous general purpose or special purpose computing system environments or configurations. For example: personal computers, server computers, hand-held or portable devices, tablet-type devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
While the present application has been described with examples, those of ordinary skill in the art will appreciate that there are numerous variations and permutations of the present application without departing from the spirit of the application, and it is intended that the appended claims encompass such variations and permutations without departing from the spirit of the application.

Claims (14)

1. An application startup monitoring method, comprising:
in the application starting process, recording the starting state of a function module related in the application starting process by using a flag bit group;
the starting state comprises an un-starting state, a starting state and a completing state, wherein the un-starting state is an initial state of a functional module in the application, the starting state is a state that the functional module is called and started when the application is started, and the completing state is a state that the functional module is successfully started when the application is started;
before the application starting process, finding out a function module which fails to start according to a flag bit group recorded after the application fails to start last time, and skipping the function module which fails to start in the application starting process;
skipping the functional module with failed start-up in the application start-up process further comprises exiting the application start-up process when the functional module with failed start-up is a necessary part of the application start-up process.
2. The method of claim 1, wherein the application comprises an application running on a mobile terminal.
3. The application startup monitoring method according to claim 1, wherein the flag bit group comprises at least one flag bit, and the flag bit comprises one or more bytes.
4. The method of claim 1, wherein after recording the activation status of the functional modules involved in the application activation process with the flag bits, storing the flag bits in which the activation status of all the functional modules involved in the application activation process is recorded in a non-volatile storage medium.
5. The method as claimed in claim 1, wherein the functional module with failed start is found according to the flag bit group recorded after the previous failed start of the application, and skipping the functional module with failed start in the current application start process further comprises finding the functional module with start state in the flag bit group, skipping the functional module with start state in the current application start process, and continuing the start process of the application from the functional module with next state of the functional module with start state as non-start state.
6. The method of claim 1, wherein before finding the failed functional module according to the last recorded flag bit set after the failed application start, further comprising transmitting the last recorded flag bit set after the failed application start to the server.
7. The method as claimed in claim 1, further comprising, after recording the activation status of the function module involved in the application activation process with the flag bit group, deleting the flag bit group in the previous application activation process and replacing the flag bit group in the previous application activation process with the flag bit group in the current application activation process.
8. An application start monitoring device, comprising,
the main execution unit, the recording unit and the flag bit group;
the main execution unit executes an application starting process;
the recording unit is connected with the main execution unit, and records the starting state of the function module related in the application starting process in the flag bit group in the application starting process;
the starting state comprises an un-starting state, a starting state and a completing state, wherein the un-starting state is an initial state of a functional module in the application, the starting state is a state that the functional module is called and started when the application is started, and the completing state is a state that the functional module is successfully started when the application is started;
the device also comprises a monitoring unit which is respectively connected with the main execution unit and the flag bit group, finds out the functional module which fails to start according to the flag bit group recorded after the application fails to start last time, and informs the main execution unit to skip the functional module which fails to start in the process that the main execution unit executes the application start;
wherein, the main execution unit is further configured to exit the application starting process when the function module with failed starting is a necessary part of the application starting process.
9. The device of claim 8, wherein the application comprises an application running on the mobile terminal.
10. The application startup monitoring device according to claim 8, wherein the flag bit group includes a non-volatile storage medium for recording the startup state of the function module involved in the application startup process.
11. The application launch monitor apparatus of claim 10 wherein said flag bit set comprises at least one flag bit, said flag bit comprising one or more bytes.
12. The apparatus according to claim 8, wherein the monitoring unit is further configured to find a functional module in the flag group whose starting state is a starting state, and during the execution of the current application starting process by the main execution unit, notify the main execution unit to skip the functional module in the starting state, and the main execution unit continues the starting process of the application from a functional module whose next state is an un-starting state.
13. The apparatus according to claim 8, further comprising a communication unit, connected to the flag bit set, for transmitting the flag bit set recorded after the application failed to start to the server.
14. The apparatus according to claim 8, wherein the recording unit is further configured to delete the flag bit set during the previous application starting process and replace the flag bit set during the previous application starting process with the flag bit set during the current application starting process.
CN201410806055.1A 2014-12-22 2014-12-22 Application starting monitoring method and device Active CN105791514B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410806055.1A CN105791514B (en) 2014-12-22 2014-12-22 Application starting monitoring method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410806055.1A CN105791514B (en) 2014-12-22 2014-12-22 Application starting monitoring method and device

Publications (2)

Publication Number Publication Date
CN105791514A CN105791514A (en) 2016-07-20
CN105791514B true CN105791514B (en) 2020-08-04

Family

ID=56385344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410806055.1A Active CN105791514B (en) 2014-12-22 2014-12-22 Application starting monitoring method and device

Country Status (1)

Country Link
CN (1) CN105791514B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843952B (en) * 2017-01-13 2023-02-28 百度在线网络技术(北京)有限公司 Method and device for updating function module in application
CN108108198B (en) * 2017-12-15 2021-05-18 联想(北京)有限公司 Method and system for computer system
CN111443954A (en) * 2020-03-31 2020-07-24 广东美的制冷设备有限公司 Device initialization method and device, electronic device and computer storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858703A (en) * 2005-10-13 2006-11-08 华为技术有限公司 Starting method of device
CN104166561A (en) * 2014-07-25 2014-11-26 深圳市江波龙电子有限公司 Electronic device system start method and electronic device
JP5997740B2 (en) * 2014-09-17 2016-09-28 クラリオン株式会社 Online update method for in-vehicle devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882085B (en) * 2010-06-23 2013-11-20 迈普通信技术股份有限公司 System starting method and embedded equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858703A (en) * 2005-10-13 2006-11-08 华为技术有限公司 Starting method of device
CN104166561A (en) * 2014-07-25 2014-11-26 深圳市江波龙电子有限公司 Electronic device system start method and electronic device
JP5997740B2 (en) * 2014-09-17 2016-09-28 クラリオン株式会社 Online update method for in-vehicle devices

Also Published As

Publication number Publication date
CN105791514A (en) 2016-07-20

Similar Documents

Publication Publication Date Title
CN108845930B (en) Interface operation test method and device, storage medium and electronic device
CN106020875B (en) Firmware update management method and device of embedded terminal
US20170068585A1 (en) Method and Apparatus for Recovering System Software of Intelligent Terminal
CN108228444B (en) Test method and device
US20150309878A1 (en) Method and computation node for processing application data
CN105791514B (en) Application starting monitoring method and device
CN108037932B (en) SPI-NAND configuration file acquisition method and device
CN103634668A (en) System upgrading method and device in smart television
CN103336698A (en) Wifi equipment software upgrading method, wifi equipment and system
CN107733866A (en) RPC requests, RPC request processing methods, device and equipment
CN113157481A (en) Cluster-based server jump time fault processing method, device and system
KR20210113595A (en) Anomaly handling method, terminal device and storage medium
CN109428936B (en) APP upgrading method, device, system, electronic equipment and storage medium
CN110928727A (en) Method for rapidly restoring factory settings of operating system
CN110069272A (en) The method and electronic equipment of logical file upgrading
CN109150951B (en) Method and device for starting Activity of Android system
US20190364134A1 (en) Data processing method and apparatus for client
US8473007B2 (en) IC card that discards proactive command at predetermined timing and resumes transmission of proactive command after initialization
CN115658152A (en) Firmware upgrading method, firmware, electronic device and computer readable storage medium
CN104536892A (en) Software online debugging method and system
CN114296757A (en) Software upgrading method and device for wearable equipment, wearable equipment and medium
CN113377385A (en) Client automatic deployment method and device
CN110262871B (en) Container instance start-stop method and device for container application, computer equipment and storage medium
CN106293620A (en) Method for detecting parameters in Flash Rom by intel platform
CN106055392A (en) Processing method after application enters background, test method, and terminals

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