CN105335171B - The method and device on application program resident operating system backstage - Google Patents
The method and device on application program resident operating system backstage Download PDFInfo
- Publication number
- CN105335171B CN105335171B CN201410287640.5A CN201410287640A CN105335171B CN 105335171 B CN105335171 B CN 105335171B CN 201410287640 A CN201410287640 A CN 201410287640A CN 105335171 B CN105335171 B CN 105335171B
- Authority
- CN
- China
- Prior art keywords
- keep
- alive
- host
- alive process
- main
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 1211
- 230000001960 triggered effect Effects 0.000 claims abstract description 6
- 230000006854 communication Effects 0.000 claims description 114
- 238000004891 communication Methods 0.000 claims description 112
- 238000012544 monitoring process Methods 0.000 claims description 59
- 230000004044 response Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 20
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 49
- 230000002155 anti-virotic effect Effects 0.000 description 12
- 241000700605 Viruses Species 0.000 description 6
- 230000026676 system process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a kind of method and devices on application program resident operating system backstage.This method comprises: receiving destination application starting request, corresponding destination application is requested to create host process for destination application starting;The host process calls function creation host keep-alive process;Host's keep-alive process calls function creation keep-alive process, and after keep-alive process creation, by the keep-alive process trustship to operating system;Building host process is connect with keep-alive process, is triggered connection of the host process with keep-alive process based on building and is mutually monitored;After listening to host process or keep-alive process is closed, start pent process.With the application of the invention, application program length, which may be implemented, resides in operating system backstage.
Description
Technical Field
The invention relates to an application program communication technology, in particular to a method and a device for resident application program in an operating system background.
Background
With the popularization of the internet, the user has stronger and stronger reliance on network communication services, and has higher and higher requirements on the stability, the response capability and the uninterrupted (zero-down) service characteristics of a network communication service system. The communication equipment is used as a carrier for carrying network communication services, and provides convenient internet services for users by installing an operating system and installing an Application program (App) based on the installed operating system.
Taking an Android operating system as an example, the Android operating system is an operating system applied to mobile communication equipment, source codes are provided by google for customization of various manufacturers, and an application program is an executable program installed on the Android. Under the current Android operating system environment, some third party apps need to reside in the operating system background due to the task running requirement, for example, for instant messaging application programs, the latest messages need to be updated from a server in real time to ensure normal service. For another example, for an electronic market application, the installation and uninstallation conditions of other applications in the communication device need to be monitored in the background to upload the installation and uninstallation data of the applications in the communication device, so as to analyze the favorite behavior characteristics of the user. For another example, for Location Based Services (LBS) applications, geographic Location information of the communication device needs to be monitored to realize accurate placement of the carrier advertisement. Therefore, how to realize the third-party App resident operating system background becomes a technical problem which needs to be solved urgently.
In the prior art, since the Android operating system allows a system-level application program developed by a third-party developer to reside in an operating system background (for short, background), by acquiring Root (Root) permission of an operating system on a communication device and modifying configuration information of a system/file/built.prop file in the operating system, the third-party App can reside in the operating system background, that is, by using a vulnerability of the operating system configuration file, the background residence is realized, and the specific flow is as follows:
firstly, obtaining Root authority of an operating system; modifying the configuration information of a/system/built.prop file under an operating system, and adding a system.keep _ App _1 ═ xxx.xxx.xxx to the configuration information of the built.prop file, wherein xxx.xxx.xxx.xxx is the name of a third party App package; then, the communication device is restarted and then takes effect, and a parent process aiming at the third party App and a child process directly associated with the parent process are constructed through a fork function (fork). Therefore, due to the fact that the third party App related information is added to the configuration information of the/system/built.prop file under the operating system, the operating system can manage and control the parent process and the child process constructed by the third party App, and after the third party App exits the operating system, the parent process and the child process corresponding to the third party App can still reside in the background, and therefore the third party App can reside in the background of the operating system.
However, in the method for the application program to reside in the operating system background, firstly, the communication device is required to have the Root function, but according to incomplete statistics, the Root ratio is about 20% at present, the application is limited, and the applicability is not wide; secondly, the Android operating system is provided with a task manager for recording information such as memory resources occupied by a parent process corresponding to an application program and a child process directly associated with the parent process, and under the condition that the operating system needs to be cleaned due to the fact that the processes in the Android operating system are hosted by the operating system, the parent process and the child process corresponding to the third party App constructed by obtaining the Root authority of the operating system are managed and controlled by the operating system under the condition that the operating system has insufficient memory resources caused by the fact that more application programs run in the background of the operating system and a large amount of memory resources are occupied, and the operation of the application program is terminated by inquiring the task manager according to preset rules, for example, closing (kill) the parent process corresponding to some application programs and the child process directly associated with the parent process according to the memory resource occupation amount or the priority of the application program, the memory resources occupied by the application program can be recycled to ensure the normal operation of the operating system, so that the parent process and the associated child process corresponding to the third-party App residing in the background can be eliminated by the operating system to release the memory resources; or, in the process of virus checking and killing by virus killing software installed in the communication device, a parent process corresponding to the third-party App and a child process directly associated with the parent process may also be cleaned. And under the condition that the third party App is removed, the third party App can be placed in the background running mode again only by restarting the communication equipment and running the third party App.
As can be seen from the above description, in the conventional method for resident application in the background of the operating system, because the application resident in the background is removed when the memory resources of the operating system are insufficient or during the virus checking and killing process, the third-party App resident (for example, 24 hours) in the background of the operating system cannot be realized, so that the reliability of resident application in the background is low, which brings inconvenience to the normal communication service of the user, affects the normal operation of the communication service of the user, and reduces the communication service experience of the user. And the application program is loaded by restarting the communication equipment to restart the closed process resident background, so that the operation flow is more complicated, the time for the application program to reside in the background is longer, the communication of the whole communication equipment is interrupted, and the influence on the communication service experience of a user is larger.
Disclosure of Invention
In view of the above, the present invention has been developed to provide a method and apparatus for an application resident in the operating system background that overcomes, or at least partially solves, the above-mentioned problems.
According to one aspect of the present invention, there is provided a method for an application resident in a background of an operating system, the method comprising:
receiving a target application program starting request, and establishing a main process for a target application program corresponding to the target application program starting request;
the main process calls a function to create a host keep-alive process;
the host keep-alive process calls a function to create a keep-alive process, and after the keep-alive process is created, the keep-alive process is managed to an operating system;
constructing a main process and a keep-alive process for connection, and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
and starting the closed process after monitoring that the main process or the keep-alive process is closed.
Preferably, the operating system includes, but is not limited to, an android operating system, a Linux operating system, a saiban operating system.
Preferably, the target application program is stored in a preset start list, after the communication device is started each time, the target application program is automatically triggered to initiate a target application program start request to the operating system, the operating system obtains the preset start list according to the received target application program start request, automatically loads the application programs in the start list, and allocates a corresponding main process to each application program in the start list.
Preferably, the host keep-alive process places itself in a shutdown state, such that the keep-alive process is hosted to an operating system.
Preferably, said placing itself in the off state comprises:
when the host keep-alive process is created by the host process, a life cycle is set for the created host keep-alive process, and after the set life cycle is ended, the host keep-alive process is naturally closed.
Preferably, said placing itself in the off state comprises:
and after receiving the information that the creation of the keep-alive process is successful, the host keep-alive process sets the life cycle of the host keep-alive process to zero.
Preferably, the constructing the connection between the main process and the keep-alive process includes:
the main process creates a server socket, and the keep-alive process creates a client socket;
binding a server socket address, and monitoring a client socket through the server socket;
waiting for client socket connection;
the client socket establishes a socket connection with the server socket.
Preferably, the establishing, by the client socket, a socket connection with the server socket includes:
the main process establishes a keep-alive process host object through a server socket and distributes a corresponding keep-alive process identifier for the keep-alive process host object;
the main process starts a keep-alive process by using the created keep-alive process host object and sends a revival instruction to the keep-alive process, wherein the revival instruction carries the keep-alive process identifier and the main process communication interface handle;
the keep-alive process starts and receives a revival instruction from the main process;
the keep-alive process creates a corresponding keep-alive process object through a client socket and initializes the keep-alive process object;
the keep-alive process object sends a start response message to the main process, and the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
after receiving the start response message of the keep-alive process, the main process determines a corresponding keep-alive process host object according to the keep-alive process identifier in the start response message, and sets a corresponding keep-alive process communication interface handle for the keep-alive process host object.
Preferably, after the socket connection is established, the method further comprises:
the main process receives data from the keep-alive process through the main process communication interface handle and sends the data to the corresponding keep-alive process through the keep-alive process communication interface handle of the keep-alive process host object;
the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
Preferably, the monitoring that the master process or the keep-alive process is turned off comprises:
the first process is closed and is in a closed state;
a monitoring component corresponding to a first process end acquires that the first process is in a closed state, and sets a state parameter identifier of the first process to be 0;
reading the state parameter identification of the first process through a second process connected by a socket;
and the second process determines that the state parameter identifier of the first process is 0 and determines that the opposite process is closed.
Preferably, the monitoring that the master process or the keep-alive process is turned off comprises:
the main process and the keep-alive process use socket connection to monitor each other, determine that the virtual socket connection is disconnected, and determine that the main process or the keep-alive process is closed.
Preferably, after it is monitored that the main process or the keep-alive process is closed, starting the closed process includes:
and the main process monitors that the keep-alive process is closed, and calls a revival instruction to start the keep-alive process.
Preferably, after it is monitored that the main process or the keep-alive process is closed, starting the closed process includes:
and the keep-alive process monitors that the main process is closed, calls a revival instruction to start the main process, triggers the started main process to execute the flow of the call function to create the host keep-alive process, and places the keep-alive process in a closed state after the main process is successfully started.
Preferably, the keep-alive process starts the main process in the non-android life cycle, and starts the main process in the linux-C process by using an am instruction.
Preferably, the function is a bifurcation function.
Preferably, the host keep-alive process and the host keep-alive process are in a parent-child process relationship, and the host keep-alive process and the keep-alive process are in a parent-child process relationship.
Preferably, the process that is shut down is initiated by the keep-alive process or the master process that is not shut down.
According to another aspect of the present invention, there is provided an apparatus for an application resident in a background of an operating system, the apparatus comprising: a main process creating module, a host keep-alive process creating module, a connecting module and a monitoring processing module, wherein,
the main process creating module is used for receiving a target application program starting request and creating a main process for a target application program corresponding to the target application program starting request;
the host keep-alive process creating module is used for triggering the host process to call the function to create the host keep-alive process;
the keep-alive process creation module is used for triggering the host keep-alive process to call a function to create a keep-alive process and after the keep-alive process is created, the keep-alive process is managed to an operating system;
the connection module is used for constructing the connection between the main process and the keep-alive process and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
and the monitoring processing module is used for starting the closed process after monitoring that the main process or the keep-alive process is closed.
Preferably, the keep-alive process creation module includes: a keep-alive process creating unit, a life cycle setting unit and a life cycle running unit, wherein,
the keep-alive process creating unit is used for triggering the host keep-alive process to call the function to create the keep-alive process;
the life cycle setting unit is used for setting a life cycle for the created host keep-alive process;
and the life cycle running unit is used for running the set life cycle and triggering the host keep-alive process to be naturally closed after the set life cycle is finished.
Preferably, the connection module includes: a connection preprocessing unit, a connection unit, and a listening unit, wherein,
the connection preprocessing unit is used for triggering the main process to create a server socket and the keep-alive process to create a client socket; binding a service end socket address by a main process, and monitoring a client end socket through the service end socket; waiting for client socket connection;
the connection unit is used for triggering the client socket and the server socket to establish socket connection;
and the monitoring unit is used for triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection.
Preferably, the connection unit includes: a keep-alive process host object creating subunit, a starting subunit, a keep-alive process starting subunit, an initializing subunit, a response subunit and a response processing subunit, wherein,
the keep-alive process host object creating subunit is used for triggering the main process to create a keep-alive process host object through a server socket and distributing a corresponding keep-alive process identifier for the keep-alive process host object;
the device comprises a promoter unit, a keep-alive unit and a control unit, wherein the promoter unit is used for triggering a main process to start the keep-alive process by using a created keep-alive process host object and sending a revival instruction to the keep-alive process, and the revival instruction carries a keep-alive process identifier and a main process communication interface handle;
the keep-alive process starting promoter unit is used for triggering the keep-alive process to start and receiving a revival instruction from the main process;
the initialization subunit is used for triggering the keep-alive process to create a corresponding keep-alive process object through a client socket and initializing the keep-alive process object;
the response subunit is configured to trigger the keep-alive process object to send a start response message to the main process, where the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
and the response processing subunit is used for triggering the main process to determine a corresponding keep-alive process host object according to the keep-alive process identifier in the start response message after the main process receives the start response message of the keep-alive process, and setting a corresponding keep-alive process communication interface handle for the keep-alive process host object.
Preferably, the connection unit further comprises: the data transmission subunit is used for triggering the main process to receive the data from the keep-alive process through the handle of the main process communication interface and send the data to the corresponding keep-alive process through the handle of the keep-alive process communication interface of the keep-alive process host object; the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
Preferably, the snoop processing module includes: a state parameter identifier setting unit, a state parameter identifier reading unit, a state parameter identifier determining unit and a process restarting unit, wherein,
the state parameter identifier setting unit is used for acquiring that the first process is in a closed state by the monitoring component corresponding to the first process end after the first process is closed and in the closed state, and setting the state parameter identifier of the first process to be in the closed state;
a state parameter identifier reading unit, configured to read a state parameter identifier of a first process through a second process connected by a socket;
a state parameter identifier determining unit, configured to determine, in the second process, that the state parameter identifier of the first process is in a closed state, and determine that the first process is closed;
and the process restarting unit is used for starting the closed first process.
According to the method and the device for the application program to reside in the operating system background, after the operating system establishes the main process for the application program, the main process establishes the host keep-alive process by calling the fork function fork (), the host keep-alive process is set, then the keep-alive process is established by calling the fork function fork (), and after the keep-alive process is successfully established, the life cycle of the main process is ended. Therefore, the user process is separated through the two stages of processes, after the host keep-alive process is closed, a direct incidence relation does not exist between the main process and the keep-alive process corresponding to the same application program, the technical problem that the application program cannot reside in the background due to the fact that an operating system or antivirus software conducts searching and killing according to the direct incidence relation is solved, the closed process is started through the process which is not closed, the application program can still reside in the background, the service requirement of the application program which needs to run in the 7x24h background can be well met, and the reliability of the application program which resides in the background is improved; further, the method can be used on either Root or non-Root communication devices; moreover, the process is resident without waiting for the communication equipment to restart and reload the configuration file, the operation process is simple, the time required for the application program to reside in the background is short, the communication of the communication equipment is not influenced, and the communication service experience of the user is improved.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 illustrates a method flow of an embodiment of the present invention for an application resident in the background of an operating system;
FIG. 2 shows a specific flow of a method for an application resident in the background of an operating system according to an embodiment of the present invention; and the number of the first and second groups,
fig. 3 shows a device structure of an application resident in the background of an operating system according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Conventionally, by acquiring root authority of an operating system and then modifying configuration information of a/system/built.prop file in the operating system, a parent process constructed based on a fork function and a child process directly associated with the parent process are hosted in the operating system to realize a method for realizing application program resident backstage, after the application program exits from the foreground, the parent process running in the foreground and the child process running in the background and directly associated with the parent process can still be in an activated state, but when memory resources of the operating system are insufficient or in a virus checking and killing process of the application program residing in the background, the parent process in the activated state and the child process directly associated with the parent process can be cleaned, and third-party App resident (for example, 24 hours) in the operating system backstage cannot be realized; and the application program is loaded by restarting the communication equipment to restart the closed process resident background, so that the operation process is more complicated, the time for the application program to reside in the background is longer, and the communication of the whole communication equipment is interrupted.
Because the application program creates the parent process and the child process directly associated with the parent process through the fork function, the resident application program in the background of the operating system can be realized, if one of the two processes corresponding to the application program is closed by the operating system or the antivirus software, the closed process can be started in time through the other process, and thus, the timely revival of the closed process in the background of the operating system can be ensured, and the application program corresponding to the process can be recovered and resident in the background. However, because a direct association relationship exists between a parent process and a child process created for an application program, when the task manager releases memory resources, resources occupied by the parent process and the child process having the direct association relationship are released together, so that the parent process and the child process are closed at the same time, and a situation that one process of two processes corresponding to the application program is closed by an operating system or antivirus software does not exist.
The fork function fork () is caused by the requirement of a multi-thread task in an Operating System (OS), after an application program is started in the foreground, the operating System first allocates a process to the application program, and creates a process (child process) almost identical to the original process (parent process) through an operating System call. Wherein, two processes can execute the same function or different functions. After the parent process calls the fork () function, the operating system first allocates resources, such as space for storing data and code, to the new process (child process); and then copying all the resources of the original process into a new process, and of course, modifying the copied resources by itself after completing fork. Thus, after the fork function is executed, two processes, one child process and one parent process, appear. In the child process, the fork function returns 0, and in the parent process, fork returns the process ID of the newly created child process. Thus, the sub-process may reside in the background after the application exits.
In the embodiment of the invention, after an operating system calls a fork function fork () to create a child process for a parent process, a lower-level child process is created for the child process by calling the fork function fork (). Thus, there is no direct association between the parent process and the subordinate child process, and after the child process is closed, the subordinate child process becomes an orphan process, and thus, will be hosted to the operating system process, and since both the sub-process of the lower level and the sub-process correspond to the same application, subsequent use, in the process of system memory resource shortage or antivirus software virus checking and killing, because the parent process and the subordinate child process do not have direct association relationship, when the task manager closes the processes according to the association relationship, the probability that the two processes are simultaneously cleared by the operating system or simultaneously killed by the antivirus software is low, so that the closed processes can be started through the processes which are not closed, so that the parent process and the subordinate child processes can be resident in the background, thereby ensuring that the application program continuously runs in the background, the business requirements of (third party) applications that must be run in the 7x24h background are well met. Compared with the Root technical scheme, the embodiment of the invention can be used on Root or non-Root communication equipment, is basically not influenced by antivirus software (softening), and has low power consumption.
FIG. 1 shows a method flow of an application resident in the background of an operating system according to an embodiment of the present invention. Referring to fig. 1, the process includes:
step 101, receiving a target application program starting request, and creating a main process for a target application program corresponding to the target application program starting request;
in this step, the target application is an application that needs to reside in the operating system background, such as an instant messaging application, an electronic market application, a location service application, and the like, where the instant messaging application may be a QQ, a wechat, a microblog, and the like.
In the embodiment of the present invention, as an optional embodiment, the target application start request is received by an operating system, where the operating system includes, but is not limited to, an android operating system, a Linux operating system, a saiban operating system, and the like.
In the embodiment of the invention, the background of the operating system means that the position where the foreground application program resides in the operating system after being closed is the background of the operating system.
In practical application, an application program that needs to reside in the background of the operating system may be set in advance in a start-up list for starting up the communication device. I.e. the target application is stored in a preset launch list. In this way, after the communication device is started each time, a target application program starting request is automatically triggered to be initiated to the operating system, the operating system obtains a preset starting list according to the received target application program starting request, automatically loads the application programs in the starting list, and allocates corresponding main processes to the application programs in the starting list.
Of course, as an alternative embodiment, after the user starts the communication device, the user may click the application program that is resident in the background of the operating system and needs to be started, and trigger the target application program start request to be initiated to the operating system. Therefore, the user can select one or more application programs which need to reside in the background of the operating system according to the actual needs of the user.
In the embodiment of the present invention, the process of creating the main process for the target application is a well-known technology, and the detailed description is omitted here.
102, the main process calls a function to create a host keep-alive process;
in this step, as an alternative embodiment, the function is a bifurcation function. For the main process and the host keep-alive process, the main process corresponds to a parent process, and the host keep-alive process corresponds to a child process.
In the embodiment of the invention, a parent process calls a fork function to generate a child process, and the child process has the same resource with the parent process.
103, calling a bifurcation function by a host keep-alive process to create a keep-alive process, and after the keep-alive process is created, hosting the keep-alive process to an operating system;
in this step, the flow of the host keep-alive process calling the bifurcated function to create the keep-alive process is the same as the flow of the main process calling the bifurcated function to create the host keep-alive process, and the detailed description is omitted here.
In the embodiment of the invention, for the host keep-alive process and the keep-alive process, the host keep-alive process corresponds to the parent process, and the keep-alive process corresponds to the child process.
Setting a state parameter identifier in the main process, the host keep-alive process and the keep-alive process, for example, when the state parameter identifier is 1, indicating that the process is in a normal state; when the status parameter is identified as 0, it indicates that the process is in a closed state. That is, if a process is in a closed state, the state parameter identification corresponding to the process is automatically set to 0. Therefore, in subsequent application, the opposite-end process can actively and timely know whether the opposite-end process is alive or closed in the life cycle by reading the state parameter identifier corresponding to the process. Of course, in practical application, it may also be set that when the status parameter flag is 0, the process is in a normal state; when the status parameter is marked as 1, the process is in a closed state.
In the embodiment of the invention, taking a Linux operating system as an example, on the Linux operating system, when a host keep-alive process is closed, the keep-alive process becomes an orphan process, and meanwhile, the keep-alive process which becomes the orphan process is managed to a process coming out of the earliest fork, namely an operating system process. Therefore, the user process is separated through the two stages of processes, so that a direct association relation does not exist between the main process and the keep-alive process, and the task manager or the antivirus software can be effectively prevented from searching and killing the processes according to the direct association relation, and the main process and the keep-alive process are prevented from being searched and killed. That is to say, for example, when the task manager or the antivirus software kills the host process and needs to clear the host process, the task manager or the antivirus software queries the host keep-alive process according to the stored direct association relationship of the host process, but because the host keep-alive process is already closed, the host process is closed to release the memory resource, and under the condition that the subsequent keep-alive process is not killed, the keep-alive process that is not killed can revive the killed host process, so that the application programs corresponding to the host process and the keep-alive process can still reside in the operating system background.
As an alternative embodiment, the host keep-alive process places itself in a shutdown state, so that the keep-alive process is hosted to the operating system.
Wherein placing itself in the closed state comprises:
when the host keep-alive process is created by the host process, a life cycle is set for the created host keep-alive process, and after the set life cycle is ended, the host keep-alive process is naturally closed.
In this step, when the host keep-alive process is set with a life cycle for the host keep-alive process, the time required for the subsequent host keep-alive process to create the keep-alive process is considered, so that the set life cycle is longer than or equal to the time required for the host keep-alive process to create the keep-alive process.
As another alternative, placing itself in the off state may also include:
and after receiving the information that the creation of the keep-alive process is successful, the host keep-alive process sets the life cycle of the host keep-alive process to zero.
In this step, when setting a life cycle for the created host keep-alive process, the host process defaults to a maximum value set by the operating system, that is, the default life cycle is infinite, the host keep-alive process creates a keep-alive process, and after the keep-alive process is successfully created, the keep-alive process returns creation success information to the host keep-alive process. Therefore, after the host keep-alive process receives the information that the keep-alive process is successfully created, the life cycle of the host keep-alive process is set to be zero, so that the host keep-alive process can die naturally.
Step 104, constructing a main process and a keep-alive process to be connected, and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
in this step, as an optional embodiment, the constructing the connection between the main process and the keep-alive process includes:
a11, the main process creates a server socket (LocalServersocket), and the keep-alive process creates a client socket (Localsocket);
in this step, when a connection is performed based on multiple Transmission Control Protocols (TCPs) or there are multiple application processes, data may need to be transmitted through the same TCP Protocol port. To distinguish between different application processes and connections, the computer operating system provides an interface called Socket (Socket) for applications to interact with the transmission Control Protocol/Internet Protocol (TCP/IP). The socket is used for distinguishing network communication and connection between different application program processes, is a basic operation unit of network communication supporting a TCP/IP protocol, and is an endpoint for bidirectional communication between processes of different hosts, that is, two parties of communication can complete a communication process through a correlation function in the socket.
In the embodiment of the invention, the main process and the keep-alive process adopt a Client/server (C/S) mode to communicate. The main process establishes a Unix domain socket of the server, namely LocalServersocket is used as the server, a socket is established to monitor a client request, a keep-alive process establishes a client socket (Localsocket), and the client socket runs in the keep-alive process.
In the embodiment of the present invention, taking creating a server socket as an example, creating an existing server socket by using a file descriptor, for example, specifying a server socket resource address dev/socket/… … in init.rc, creating a socket as a server, where program code segments are as follows:
LocalServerSocket socket=new LocalServerSocket(createFileDescriptor(fi leDesc))。
as an alternative embodiment, in the embodiment of the present invention, the socket type based on the TCP/IP protocol may include: STREAM socket (SOCK _ STREAM), datagram socket (SOCK _ DGRAM), and RAW socket (SOCK _ RAW). As to the socket type, it is a well-known technique, and a detailed description is omitted here.
The socket content includes: the destination IP address of the communication, the transport layer Protocol used, e.g. the TCP Protocol or the User Datagram Protocol (UDP), and the port number used.
A12, binding a server socket address and monitoring a client socket through the server socket;
in this step, the server socket does not locate a specific client socket but is in a state of waiting for connection, and monitors the network state in real time.
The binding of the server socket address and the monitoring of the client socket via the server socket may be as follows:
// binding Address
localAddress=new LocalSocketAddress(name);
impl.bind(localAddress);
// snooping
impl.listen(LISTEN_BACKLOG);
A13, waiting for client socket connection;
in this step, the client sets a connection address and establishes a connection. Specifically, a client socket of the keep-alive process sends a connection request carrying a communication destination IP address, which is a server socket. That is, the client socket first describes the server socket to be connected, writes the address and port number of the server socket, and then sends a connection request to the server socket.
The program code segment for setting the connection address may be as follows:
LocalSocketAddress address=new LocalSocketAddress("installd",LocalSocketAddress.Namespace.RESERVED);
establishing a connection
mSocket.connect(address);
A14, the client socket establishes a socket connection with the server socket.
In this step, after the server socket monitors or receives the connection request sent by the client socket, a new thread is established in response to the client socket request, and the information of the server socket is sent to the keep-alive process corresponding to the client socket, and the keep-alive process confirms the socket connection. Specifically, the steps include:
a01, the main process creates a keep-alive process host object through a server socket and distributes a corresponding keep-alive process identifier for the keep-alive process host object;
in this step, the main process creates and manages keep-alive process host objects, each keep-alive process host object corresponds to a keep-alive process and has a keep-alive process identifier which is the same as that of the corresponding keep-alive process.
A02, the main process starts the keep-alive process by using the created keep-alive process host object and sends a revival instruction to the keep-alive process, wherein the revival instruction carries the keep-alive process identifier and the main process communication interface handle;
in this step, the keep-alive process host object provides a method for creating and starting the keep-alive process, and provides a data communication interface for sending a revival instruction to the keep-alive process. Specifically, the main process creates a new keep-alive process by calling a process creation method provided by the keep-alive process host object in a command line manner, wherein the command line comprises the revival instruction.
A03, the keep-alive process starts and receives a revival instruction from the main process;
a04, the keep-alive process creates a corresponding keep-alive process object through a client socket and initializes the keep-alive process object;
in this step, in the initialization process, the keep-alive process saves command line parameters such as a keep-alive process identifier, a main process communication interface handle and the like carried in the received revival instruction.
A05, the keep-alive process object sends a start response message to the main process, the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
in this step, after the initialization is completed, the keep-alive process object sends a start response message to the host process using Inter-process communication (IPC).
A06, after receiving the start response message of the keep-alive process, the main process determines the corresponding keep-alive process host object according to the keep-alive process identification in the start response message, and sets the corresponding keep-alive process communication interface handle for the keep-alive process host object.
Thus, the keep-alive process host object in the main process has the keep-alive process communication interface handle of the keep-alive process object corresponding to the keep-alive process host object, and the keep-alive process also obtains the communication interface handle corresponding to the main process. Based on the acquired keep-alive process communication interface handle, the keep-alive process host object provides a communication interface for inter-process communication with the corresponding keep-alive process object, so that the host process can send data to the corresponding keep-alive process by calling the communication interface.
After the socket connection is established, the main process and the keep-alive process are both in a monitoring state to monitor the state of the other side.
Further, after the socket connection is established, the method may further include:
a15, the main process and the keep-alive process establish a communication channel for data transmission.
The step may specifically include:
the main process receives data from the keep-alive process through the main process communication interface handle and sends the data to the corresponding keep-alive process through the keep-alive process communication interface handle of the keep-alive process host object;
the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
And 105, starting the closed process after monitoring that the main process or the keep-alive process is closed.
In this step, the main process and the keep-alive process are processes of the other party, that is, after it is monitored that the processes of the other party are closed, the closed processes are started.
As an alternative embodiment, the monitoring that the counterpart process is shut down includes:
b11, the first process is closed in the closed state;
in this step, the first process may be a main process or a keep-alive process. The process is closed, which may be because the operating system needs to release the memory resource to close the process when the memory resource is insufficient; or the antivirus software can check and kill the process and close the process in the virus checking and killing process; it is also possible to shut down the process in other situations.
B12, the monitoring component corresponding to the first process end acquires that the first process is in a closed state, and sets the state parameter identifier of the first process to 0;
b13, reading the status parameter identification of the first process by the second process of the socket connection;
in this step, if the first process is a main process, the second process is a keep-alive process; and if the first process is a keep-alive process, the second process is a main process.
And B14, the second process determines that the state parameter of the first process is marked as 0, and determines that the opposite process is closed.
As another alternative embodiment, the listening that the counterpart process is shut down includes:
the main process and the keep-alive process use socket connection to monitor each other, determine that the virtual socket connection is disconnected, and determine that the opposite process is closed.
In the embodiment of the invention, socket connection is adopted for mutual monitoring, so that the power consumption is low and stable, and errors are not easy to occur.
Preferably, after the operating system or the antivirus software closes the process, all resources of the closing process are further released, so that the operating system can automatically recycle system resources such as a memory and a CPU occupied by the closing process.
As an alternative embodiment, after it is monitored that the counterpart process is shut down, the process for starting shut down may include:
and the main process monitors that the keep-alive process is closed, and calls a revival instruction to start the keep-alive process.
As another optional embodiment, after it is monitored that the peer process is closed, the starting of the closed process may further include:
and the keep-alive process monitors that the main process is closed, calls a revival instruction to start the main process, triggers the started main process to execute the flow for calling the bifurcation function to create the host keep-alive process, and sets the keep-alive process in a closed state after the main process is successfully started.
In this step, in order to avoid the revived main process, a host keep-alive process is created, and a revived instruction is transmitted to create a keep-alive process, so that the operating system has a redundant keep-alive process, and unnecessary operating system memory is occupied. Therefore, after the keep-alive process starts the main process, the life cycle of the keep-alive process is ended, and the background of the operating system is quitted.
Preferably, the keep-alive process starts the main process in the non-Android life cycle, and starts the main process in the linux-C process by using an am instruction, so that the Android service is recovered, and the application program can be resident in the background of the operating system.
Fig. 2 shows a specific flow of a method for an application resident in the operating system background according to an embodiment of the present invention. Referring to fig. 2, taking the example that the main process is closed, the process includes:
step 201, after a host process is started, a fork function is called to create a host keep-alive process, a revival instruction is transmitted to the created host keep-alive process, and the keep-alive process is instructed to be started;
step 202, a host keep-alive process receives an incoming revival instruction and calls a fork function to create a keep-alive process;
in this step, by calling a fork instruction in a fork function in an operating system, a keep-alive process is copied, so that the keep-alive process is created.
Step 203, ending the life cycle of the host keep-alive process and naturally dying;
in this step, after the life cycle is over, the host keep-alive process closes itself.
Step 204, the main process creates a LocalServersocket and waits for connection;
step 205, the keep-alive process is connected to the main process and monitors each other;
in this step, the keep-alive process and the main process monitor the state of the other party, i.e. read the state parameter identifier of the other party.
Step 206, the keep-alive process monitors that the main process is killed (closed), and calls a revival instruction to revive the main process;
in this step, the keep-alive process monitors that the connection with the main process is disconnected, and then invokes a revival instruction to revive the main process, and returns to execute step 201.
And step 207, finishing the life cycle of the keep-alive process and naturally dying.
In this step, when the life cycle of the keep-alive process is finished, the operating system background is exited to prevent the revived main process from creating the host keep-alive process and introducing a revive instruction to create the keep-alive process, so that the operating system has a redundant keep-alive process, and unnecessary operating system memory is occupied.
In the embodiment of the invention, after the operating system creates the main process for the application program, the main process creates the host keep-alive process by calling the fork function fork (), the host keep-alive process creates the keep-alive process by calling the fork function fork (), and after the keep-alive process is successfully created, the life cycle of the host keep-alive process is ended. Therefore, the user process is separated through the two-stage process, after the host keep-alive process is closed, the keep-alive process becomes an orphan process, and therefore the keep-alive process can be managed to the operating system process, and the direct association relation does not exist between the main process and the keep-alive process. Therefore, in the subsequent application, when one of the main process and the keep-alive process is closed, because the main process and the keep-alive process do not have a direct association relationship, the probability that the other process for killing according to the direct association relationship is closed at the same time is low, and thus, the closed process can be started through the process which is not closed, so that the application program can still reside in the background, and the service requirement of the application program which needs to run in the background of 7x24h can be well met. Compared with the technical scheme of Root (namely obtaining the permission of a super administrator), the method provided by the embodiment of the invention can be used on Root or non-Root communication equipment, has a wide application range and low power consumption, so that the resident background running of the third-party application program is realized at a lower cost, and the method is particularly important for the application of software and hardware combination which must reside in the background, and ensures that the resident background reliability of the application program is high; furthermore, as the main process does not exit and all resources are unchanged, the generated keep-alive process inherits the resources of the main process, so that the resources of the keep-alive process are ensured to be unchanged, and the reliable running of the application program is ensured; moreover, when one process corresponding to the application program is closed, the application program can be immediately revived through the other process corresponding to the application program, the application program is not required to be loaded through restarting of the communication equipment to restart the closed process resident background, the operation process is simple, the time required for the application program to reside in the background is short, the communication interruption of the whole communication equipment cannot be caused, and the communication service experience of a user is effectively improved.
Fig. 3 shows a device structure of an application resident in the background of an operating system according to an embodiment of the present invention. Referring to fig. 3, the apparatus is a communication device, including: a main process creating module, a host keep-alive process creating module, a connecting module and a monitoring processing module, wherein,
the main process creating module is used for receiving a target application program starting request and creating a main process for a target application program corresponding to the target application program starting request;
in the embodiment of the invention, the operating system receives a target application program starting request and creates a main process, including but not limited to an android operating system, a Linux operating system, a saiban operating system and the like.
As an alternative embodiment, the target application is stored in a preset launch list. In this way, after the communication device is started each time, a target application program starting request is automatically triggered to be initiated to the operating system, the operating system obtains a preset starting list according to the received target application program starting request, automatically loads the application programs in the starting list, and allocates corresponding main processes to the application programs in the starting list.
The host keep-alive process creating module is used for triggering the host process to call the function to create the host keep-alive process;
in the embodiment of the invention, the function is a bifurcation function.
The keep-alive process creation module is used for triggering the host keep-alive process to call a function to create a keep-alive process and after the keep-alive process is created, the keep-alive process is managed to an operating system;
in the embodiment of the invention, the main process, the host keep-alive process and the keep-alive process are provided with state parameter identifiers for indicating whether the processes are in a closed state or not.
As an alternative embodiment, the keep-alive process creation module comprises: a keep-alive procedure creation unit, a life cycle setting unit, and a life cycle execution unit (not shown in the figure), wherein,
the keep-alive process creating unit is used for triggering the host keep-alive process to call the bifurcation function to create the keep-alive process;
the life cycle setting unit is used for setting a life cycle for the created host keep-alive process;
and the life cycle running unit is used for running the set life cycle and triggering the host keep-alive process to die naturally after the set life cycle is finished.
In the embodiment of the invention, when the host keep-alive process is set with the life cycle by the main process, the time required by the subsequent host keep-alive process to create the keep-alive process is considered, so that the set life cycle is more than or equal to the time required by the host keep-alive process to create the keep-alive process.
The connection module is used for constructing the connection between the main process and the keep-alive process and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
as an alternative embodiment, the connection module comprises: a connection preprocessing unit, a connection unit, and a listening unit (not shown in the figure), wherein,
the connection preprocessing unit is used for triggering the main process to create a server socket and the keep-alive process to create a client socket; binding a service end socket address by a main process, and monitoring a client end socket through the service end socket; waiting for client socket connection;
the connection unit is used for triggering the client socket and the server socket to establish socket connection;
in an embodiment of the present invention, the connection unit includes: a keep-alive process host object creating subunit, a starting subunit, a keep-alive process starting subunit, an initializing subunit, a response subunit and a response processing subunit, wherein,
the keep-alive process host object creating subunit is used for triggering the main process to create a keep-alive process host object through a server socket and distributing a corresponding keep-alive process identifier for the keep-alive process host object;
the device comprises a promoter unit, a keep-alive unit and a control unit, wherein the promoter unit is used for triggering a main process to start the keep-alive process by using a created keep-alive process host object and sending a revival instruction to the keep-alive process, and the revival instruction carries a keep-alive process identifier and a main process communication interface handle;
the keep-alive process starting promoter unit is used for triggering the keep-alive process to start and receiving a revival instruction from the main process;
the initialization subunit is used for triggering the keep-alive process to create a corresponding keep-alive process object through a client socket and initializing the keep-alive process object;
the response subunit is configured to trigger the keep-alive process object to send a start response message to the main process, where the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
and the response processing subunit is used for triggering the main process to determine a corresponding keep-alive process host object according to the keep-alive process identifier in the start response message after the main process receives the start response message of the keep-alive process, and setting a corresponding keep-alive process communication interface handle for the keep-alive process host object.
As an alternative embodiment, the connection unit may further include:
the data transmission subunit is used for triggering the main process to receive the data from the keep-alive process through the handle of the main process communication interface and send the data to the corresponding keep-alive process through the handle of the keep-alive process communication interface of the keep-alive process host object; the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
And the monitoring unit is used for triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection.
And the monitoring processing module is used for starting the closed process after monitoring that the opposite process is closed.
In the embodiment of the present invention, the monitoring processing module includes: a status parameter flag setting unit, a status parameter flag reading unit, a status parameter flag determining unit, and a process restarting unit (not shown in the figure), wherein,
the state parameter identifier setting unit is used for acquiring that the first process is in a closed state by the monitoring component corresponding to the first process end after the first process is closed and in the closed state, and setting the state parameter identifier of the first process to be in the closed state;
in the embodiment of the present invention, the first process may be a main process or a keep-alive process. The process is closed, which may be because the operating system needs to release the memory resource to close the process when the memory resource is insufficient; or the antivirus software can check and kill the process and close the process in the virus checking and killing process; it is also possible to shut down the process in other situations.
A state parameter identifier reading unit, configured to read a state parameter identifier of a first process through a second process connected by a socket;
in the embodiment of the invention, if the first process is a main process, the second process is a keep-alive process; and if the first process is a keep-alive process, the second process is a main process.
A state parameter identifier determining unit, configured to determine, in the second process, that the state parameter identifier of the first process is in a closed state, and determine that the first process is closed;
and the process restarting unit is used for starting the first process.
In the embodiment of the invention, a main process monitors that a keep-alive process is closed, and calls a revival instruction to start the keep-alive process; or,
and the keep-alive process monitors that the main process is closed, calls a revival instruction to start the main process, triggers the started main process to execute the flow for calling the bifurcation function to create the host keep-alive process, and sets the keep-alive process in a closed state after the main process is successfully started.
Preferably, the keep-alive process starts the main process in the non-Android life cycle, and starts the main process in the linux-C process by using an am instruction, so that the Android service is recovered, and the application program can be resident in the background of the operating system.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functionality of some or all of the components of an apparatus in which an application program resides in the background of an operating system in accordance with embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet web server or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
The invention discloses A1. a method for resident application program in background of operating system, comprising:
receiving a target application program starting request, and establishing a main process for a target application program corresponding to the target application program starting request;
the main process calls a function to create a host keep-alive process;
the host keep-alive process calls a function to create a keep-alive process, and after the keep-alive process is created, the keep-alive process is managed to an operating system;
constructing a main process and a keep-alive process for connection, and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
and starting the closed process after monitoring that the main process or the keep-alive process is closed.
A2. The method of a1, wherein the operating system includes, but is not limited to, android operating system, Linux operating system, saiban operating system.
A3. According to the method described in a1, the target application program is stored in a preset start list, after the communication device is started each time, a target application program start request is automatically triggered to be initiated to the operating system, the operating system obtains the preset start list according to the received target application program start request, automatically loads the application programs in the start list, and allocates corresponding main processes to the application programs in the start list.
A4. According to the method of a1, the host keep-alive process places itself in a closed state to cause the keep-alive process to be hosted to an operating system.
A5. The method of a4, the placing itself in an off state comprising:
when the host keep-alive process is created by the host process, a life cycle is set for the created host keep-alive process, and after the set life cycle is ended, the host keep-alive process is naturally closed.
A6. The method of a4, the placing itself in an off state comprising:
and after receiving the information that the creation of the keep-alive process is successful, the host keep-alive process sets the life cycle of the host keep-alive process to zero.
A7. According to the method of A1, the constructing a connection of a master process and a keep-alive process comprises:
the main process creates a server socket, and the keep-alive process creates a client socket;
binding a server socket address, and monitoring a client socket through the server socket;
waiting for client socket connection;
the client socket establishes a socket connection with the server socket.
A8. The method of a7, the client socket establishing a socket connection with a server socket comprising:
the main process establishes a keep-alive process host object through a server socket and distributes a corresponding keep-alive process identifier for the keep-alive process host object;
the main process starts a keep-alive process by using the created keep-alive process host object and sends a revival instruction to the keep-alive process, wherein the revival instruction carries the keep-alive process identifier and the main process communication interface handle;
the keep-alive process starts and receives a revival instruction from the main process;
the keep-alive process creates a corresponding keep-alive process object through a client socket and initializes the keep-alive process object;
the keep-alive process object sends a start response message to the main process, and the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
after receiving the start response message of the keep-alive process, the main process determines a corresponding keep-alive process host object according to the keep-alive process identifier in the start response message, and sets a corresponding keep-alive process communication interface handle for the keep-alive process host object.
A9. The method of A8, after establishing a socket connection, the method further comprising:
the main process receives data from the keep-alive process through the main process communication interface handle and sends the data to the corresponding keep-alive process through the keep-alive process communication interface handle of the keep-alive process host object;
the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
A10. According to the method of a1, the listening that a master process or a keep-alive process is turned off includes:
the first process is closed and is in a closed state;
a monitoring component corresponding to a first process end acquires that the first process is in a closed state, and sets a state parameter identifier of the first process to be 0;
reading the state parameter identification of the first process through a second process connected by a socket;
and the second process determines that the state parameter identifier of the first process is 0 and determines that the opposite process is closed.
A11. According to the method of a1, the listening that a master process or a keep-alive process is turned off includes:
the main process and the keep-alive process use socket connection to monitor each other, determine that the virtual socket connection is disconnected, and determine that the main process or the keep-alive process is closed.
A12. According to the method of a1, the starting the closed process after monitoring that the main process or the keep-alive process is closed comprises:
and the main process monitors that the keep-alive process is closed, and calls a revival instruction to start the keep-alive process.
A13. According to the method of a1, the starting the closed process after monitoring that the main process or the keep-alive process is closed comprises:
and the keep-alive process monitors that the main process is closed, calls a revival instruction to start the main process, triggers the started main process to execute the flow of the call function to create the host keep-alive process, and places the keep-alive process in a closed state after the main process is successfully started.
A14. According to the method A12 or 13, the keep-alive process starts the main process in the non-android life cycle, and starts the main process in the linux-C process by using an am instruction.
A15. The method of a1, wherein the function is a bifurcation function.
A16. According to the method of a1, the host keep-alive process and the host keep-alive process are in a parent-child process relationship, and the host keep-alive process and the keep-alive process are in a parent-child process relationship.
A17. According to the method of a1, the process that is shut down is initiated by the keep-alive process or the master process that is not shut down.
A18. An apparatus for an application resident in a background of an operating system, the apparatus comprising: a main process creating module, a host keep-alive process creating module, a connecting module and a monitoring processing module, wherein,
the main process creating module is used for receiving a target application program starting request and creating a main process for a target application program corresponding to the target application program starting request;
the host keep-alive process creating module is used for triggering the host process to call the function to create the host keep-alive process;
the keep-alive process creation module is used for triggering the host keep-alive process to call a function to create a keep-alive process and after the keep-alive process is created, the keep-alive process is managed to an operating system;
the connection module is used for constructing the connection between the main process and the keep-alive process and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
and the monitoring processing module is used for starting the closed process after monitoring that the main process or the keep-alive process is closed.
A19. The apparatus of A18, the keep-alive process creation module comprising: a keep-alive process creating unit, a life cycle setting unit and a life cycle running unit, wherein,
the keep-alive process creating unit is used for triggering the host keep-alive process to call the function to create the keep-alive process;
the life cycle setting unit is used for setting a life cycle for the created host keep-alive process;
and the life cycle running unit is used for running the set life cycle and triggering the host keep-alive process to be naturally closed after the set life cycle is finished.
A20. The apparatus of a18, the connection module comprising: a connection preprocessing unit, a connection unit, and a listening unit, wherein,
the connection preprocessing unit is used for triggering the main process to create a server socket and the keep-alive process to create a client socket; binding a service end socket address by a main process, and monitoring a client end socket through the service end socket; waiting for client socket connection;
the connection unit is used for triggering the client socket and the server socket to establish socket connection;
and the monitoring unit is used for triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection.
A21. The apparatus of a20, the connection unit comprising: a keep-alive process host object creating subunit, a starting subunit, a keep-alive process starting subunit, an initializing subunit, a response subunit and a response processing subunit, wherein,
the keep-alive process host object creating subunit is used for triggering the main process to create a keep-alive process host object through a server socket and distributing a corresponding keep-alive process identifier for the keep-alive process host object;
the device comprises a promoter unit, a keep-alive unit and a control unit, wherein the promoter unit is used for triggering a main process to start the keep-alive process by using a created keep-alive process host object and sending a revival instruction to the keep-alive process, and the revival instruction carries a keep-alive process identifier and a main process communication interface handle;
the keep-alive process starting promoter unit is used for triggering the keep-alive process to start and receiving a revival instruction from the main process;
the initialization subunit is used for triggering the keep-alive process to create a corresponding keep-alive process object through a client socket and initializing the keep-alive process object;
the response subunit is configured to trigger the keep-alive process object to send a start response message to the main process, where the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
and the response processing subunit is used for triggering the main process to determine a corresponding keep-alive process host object according to the keep-alive process identifier in the start response message after the main process receives the start response message of the keep-alive process, and setting a corresponding keep-alive process communication interface handle for the keep-alive process host object.
A22. The apparatus of a21, the connection unit further comprising: the data transmission subunit is used for triggering the main process to receive the data from the keep-alive process through the handle of the main process communication interface and send the data to the corresponding keep-alive process through the handle of the keep-alive process communication interface of the keep-alive process host object; the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
A23. The apparatus of a18, the snoop processing module comprising: a state parameter identifier setting unit, a state parameter identifier reading unit, a state parameter identifier determining unit and a process restarting unit, wherein,
the state parameter identifier setting unit is used for acquiring that the first process is in a closed state by the monitoring component corresponding to the first process end after the first process is closed and in the closed state, and setting the state parameter identifier of the first process to be in the closed state;
a state parameter identifier reading unit, configured to read a state parameter identifier of a first process through a second process connected by a socket;
a state parameter identifier determining unit, configured to determine, in the second process, that the state parameter identifier of the first process is in a closed state, and determine that the first process is closed;
and the process restarting unit is used for starting the closed first process.
Claims (19)
1. A method for an application resident in an operating system background, comprising:
receiving a target application program starting request, and establishing a main process for a target application program corresponding to the target application program starting request;
the main process calls a function to create a host keep-alive process;
the host keep-alive process calls a function to create a keep-alive process, and after the keep-alive process is created, the keep-alive process is managed to an operating system;
constructing a main process and a keep-alive process for connection, and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection; the constructing of the connection of the main process and the keep-alive process comprises the following steps: the main process creates a server socket, and the keep-alive process creates a client socket; binding a server socket address, and monitoring a client socket through the server socket; waiting for client socket connection; the client socket establishes a socket connection with the server socket, including: the main process establishes a keep-alive process host object through a server socket and distributes a corresponding keep-alive process identifier for the keep-alive process host object; the main process starts a keep-alive process by using the created keep-alive process host object and sends a revival instruction to the keep-alive process, wherein the revival instruction carries the keep-alive process identifier and the main process communication interface handle; the keep-alive process starts and receives a revival instruction from the main process; the keep-alive process creates a corresponding keep-alive process object through a client socket and initializes the keep-alive process object; the keep-alive process object sends a start response message to the main process, and the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object; after receiving a start response message of a keep-alive process, a main process determines a corresponding keep-alive process host object according to a keep-alive process identifier in the start response message and sets a corresponding keep-alive process communication interface handle for the keep-alive process host object;
and starting the closed process after monitoring that the main process or the keep-alive process is closed.
2. The method of claim 1, the operating system including, but not limited to, an android operating system, a Linux operating system, a saiban operating system.
3. The method according to claim 1, wherein the target application program is stored in a preset start list, and after each start of the communication device, a target application program start request is automatically triggered to be initiated to the operating system, and the operating system obtains the preset start list according to the received target application program start request, automatically loads the application programs in the start list, and allocates a corresponding main process to each application program in the start list.
4. The method of claim 1, the host keep-alive process placing itself in a closed state to cause the keep-alive process to be hosted to an operating system.
5. The method of claim 4, the placing itself in an off state comprising:
when the host keep-alive process is created by the host process, a life cycle is set for the created host keep-alive process, and after the set life cycle is ended, the host keep-alive process is naturally closed.
6. The method of claim 4, the placing itself in an off state comprising:
and after receiving the information that the creation of the keep-alive process is successful, the host keep-alive process sets the life cycle of the host keep-alive process to zero.
7. The method of claim 1, after the establishing a socket connection, the method further comprising:
the main process receives data from the keep-alive process through the main process communication interface handle and sends the data to the corresponding keep-alive process through the keep-alive process communication interface handle of the keep-alive process host object;
the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
8. The method of claim 1, the listening that a master process or a keep-alive process is turned off comprising:
the first process is closed and is in a closed state;
a monitoring component corresponding to a first process end acquires that the first process is in a closed state, and sets a state parameter identifier of the first process to be 0;
reading the state parameter identification of the first process through a second process connected by a socket;
and the second process determines that the state parameter identifier of the first process is 0 and determines that the opposite process is closed.
9. The method of claim 1, the listening that a master process or a keep-alive process is turned off comprising:
the main process and the keep-alive process use socket connection to monitor each other, determine that the virtual socket connection is disconnected, and determine that the main process or the keep-alive process is closed.
10. The method of claim 1, wherein after monitoring that the master process or the keep-alive process is shut down, starting the shut-down process comprises:
and the main process monitors that the keep-alive process is closed, and calls a revival instruction to start the keep-alive process.
11. The method of claim 1, wherein after monitoring that the master process or the keep-alive process is shut down, starting the shut-down process comprises:
and the keep-alive process monitors that the main process is closed, calls a revival instruction to start the main process, triggers the started main process to execute the flow of the call function to create the host keep-alive process, and places the keep-alive process in a closed state after the main process is successfully started.
12. The method of claim 10 or 11, wherein the keep-alive process starts the main process in the non-android lifecycle and starts the main process in the linux-C process using an am instruction.
13. The method of claim 1, the function being a bifurcation function.
14. The method of claim 1, wherein the host keep-alive process and the host keep-alive process are in a parent-child process relationship, and the host keep-alive process and the keep-alive process are in a parent-child process relationship.
15. A method according to claim 1, said closed process being initiated by said keep-alive process or said master process not being closed.
16. An apparatus for an application resident in a background of an operating system, the apparatus comprising: a main process creating module, a host keep-alive process creating module, a connecting module and a monitoring processing module, wherein,
the main process creating module is used for receiving a target application program starting request and creating a main process for a target application program corresponding to the target application program starting request;
the host keep-alive process creating module is used for triggering the host process to call the function to create the host keep-alive process;
the keep-alive process creation module is used for triggering the host keep-alive process to call a function to create a keep-alive process and after the keep-alive process is created, the keep-alive process is managed to an operating system;
the connection module is used for constructing the connection between the main process and the keep-alive process and triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
the connection module includes: a connection preprocessing unit, a connection unit, and a listening unit, wherein,
the connection preprocessing unit is used for triggering the main process to create a server socket and the keep-alive process to create a client socket; binding a service end socket address by a main process, and monitoring a client end socket through the service end socket; waiting for client socket connection;
the connection unit is used for triggering the client socket and the server socket to establish socket connection;
the monitoring unit is used for triggering the main process and the keep-alive process to carry out mutual monitoring based on the constructed connection;
the connection unit includes: a keep-alive process host object creating subunit, a starting subunit, a keep-alive process starting subunit, an initializing subunit, a response subunit and a response processing subunit, wherein,
the keep-alive process host object creating subunit is used for triggering the main process to create a keep-alive process host object through a server socket and distributing a corresponding keep-alive process identifier for the keep-alive process host object;
the device comprises a promoter unit, a keep-alive unit and a control unit, wherein the promoter unit is used for triggering a main process to start the keep-alive process by using a created keep-alive process host object and sending a revival instruction to the keep-alive process, and the revival instruction carries a keep-alive process identifier and a main process communication interface handle;
the keep-alive process starting promoter unit is used for triggering the keep-alive process to start and receiving a revival instruction from the main process;
the initialization subunit is used for triggering the keep-alive process to create a corresponding keep-alive process object through a client socket and initializing the keep-alive process object;
the response subunit is configured to trigger the keep-alive process object to send a start response message to the main process, where the start response message carries a keep-alive process communication interface handle and a keep-alive process identifier corresponding to the keep-alive process object;
the response processing subunit is used for triggering the main process to determine a corresponding keep-alive process host object according to the keep-alive process identifier in the start response message after receiving the start response message of the keep-alive process, and setting a corresponding keep-alive process communication interface handle for the keep-alive process host object;
and the monitoring processing module is used for starting the closed process after monitoring that the main process or the keep-alive process is closed.
17. The apparatus of claim 16, the keep-alive process creation module comprising: a keep-alive process creating unit, a life cycle setting unit and a life cycle running unit, wherein,
the keep-alive process creating unit is used for triggering the host keep-alive process to call the function to create the keep-alive process;
the life cycle setting unit is used for setting a life cycle for the created host keep-alive process;
and the life cycle running unit is used for running the set life cycle and triggering the host keep-alive process to be naturally closed after the set life cycle is finished.
18. The apparatus of claim 16, the connection unit further comprising: the data transmission subunit is used for triggering the main process to receive the data from the keep-alive process through the handle of the main process communication interface and send the data to the corresponding keep-alive process through the handle of the keep-alive process communication interface of the keep-alive process host object; the keep-alive process receives data from the host process through the keep-alive process communication interface handle and sends the data to the host process through the host process communication interface handle.
19. The apparatus of claim 16, the snoop processing module comprising: a state parameter identifier setting unit, a state parameter identifier reading unit, a state parameter identifier determining unit and a process restarting unit, wherein,
the state parameter identifier setting unit is used for acquiring that the first process is in a closed state by the monitoring component corresponding to the first process end after the first process is closed and in the closed state, and setting the state parameter identifier of the first process to be in the closed state;
a state parameter identifier reading unit, configured to read a state parameter identifier of a first process through a second process connected by a socket;
a state parameter identifier determining unit, configured to determine, in the second process, that the state parameter identifier of the first process is in a closed state, and determine that the first process is closed;
and the process restarting unit is used for starting the closed first process.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410287640.5A CN105335171B (en) | 2014-06-24 | 2014-06-24 | The method and device on application program resident operating system backstage |
PCT/CN2015/082075 WO2015196967A1 (en) | 2014-06-24 | 2015-06-23 | Method and apparatus for application to permanently reside in background of operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410287640.5A CN105335171B (en) | 2014-06-24 | 2014-06-24 | The method and device on application program resident operating system backstage |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335171A CN105335171A (en) | 2016-02-17 |
CN105335171B true CN105335171B (en) | 2019-05-10 |
Family
ID=54936799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410287640.5A Expired - Fee Related CN105335171B (en) | 2014-06-24 | 2014-06-24 | The method and device on application program resident operating system backstage |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105335171B (en) |
WO (1) | WO2015196967A1 (en) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11424931B2 (en) | 2016-01-27 | 2022-08-23 | Blackberry Limited | Trusted execution environment |
US10599409B2 (en) * | 2016-02-02 | 2020-03-24 | Blackberry Limited | Application lifecycle operation queueing |
CN105930215A (en) * | 2016-04-07 | 2016-09-07 | 珠海市魅族科技有限公司 | Control method and control device for mobile terminal |
CN106055365B (en) * | 2016-05-31 | 2019-10-25 | Oppo广东移动通信有限公司 | A kind of closing application program method and apparatus |
CN106201690A (en) * | 2016-07-07 | 2016-12-07 | 乐视控股(北京)有限公司 | Application progress control method and device |
CN106371911A (en) * | 2016-09-06 | 2017-02-01 | 北京海誉动想科技股份有限公司 | Method for rebooting guarded process by daemon processes |
CN106775642B (en) * | 2016-11-24 | 2018-03-13 | 广州赛意信息科技股份有限公司 | The unlimited backstage localization method and system of a kind of Mobile solution |
CN106775652A (en) * | 2016-11-24 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | The method and device waken up to the application program of terminal |
CN106648863B (en) * | 2016-12-08 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | Android application installation package, application target process keep-alive method and system |
CN107341052A (en) * | 2017-06-07 | 2017-11-10 | 努比亚技术有限公司 | A kind of message treatment method and device |
CN107342981B (en) * | 2017-06-07 | 2021-11-12 | 北京小鸟看看科技有限公司 | Sensor data transmission method and device and virtual reality head-mounted equipment |
CN109240809B (en) * | 2017-07-11 | 2022-08-23 | 阿里巴巴集团控股有限公司 | Process maintenance management method, container maintenance method, device and operating system |
CN107729128B (en) * | 2017-07-24 | 2019-09-24 | 深圳壹账通智能科技有限公司 | Application data restoration methods, device, computer equipment and storage medium |
CN107391199A (en) * | 2017-07-27 | 2017-11-24 | 珠海市魅族科技有限公司 | Using startup method and device, terminal and computer-readable recording medium |
CN108287761B (en) * | 2017-08-09 | 2020-11-06 | 珠海市魅族科技有限公司 | Memory recovery method and device, terminal equipment and computer readable storage medium |
CN108153620A (en) * | 2017-12-27 | 2018-06-12 | 深圳豪客互联网有限公司 | A kind of course control method and device |
CN109669838B (en) * | 2018-11-14 | 2022-05-27 | 百度在线网络技术(北京)有限公司 | Method and device for realizing application resident, computer equipment and storage medium |
CN109683974B (en) * | 2018-12-26 | 2022-05-31 | 北京金山安全软件有限公司 | Awakening method for application background service process in mobile terminal and related equipment |
CN109992310B (en) * | 2019-03-12 | 2024-04-05 | 中国平安财产保险股份有限公司 | Application program keep-alive method, device, computer equipment and storage medium |
CN111782347A (en) * | 2019-04-03 | 2020-10-16 | 安克创新科技股份有限公司 | Mobile phone application keep-alive method, device and system and storage medium |
CN112445530B (en) * | 2019-08-29 | 2023-03-14 | 成都鼎桥通信技术有限公司 | Method and device for keeping third-party application program alive |
CN110688319B (en) * | 2019-09-30 | 2023-05-02 | RealMe重庆移动通信有限公司 | Application keep-alive capability test method and related device |
CN110879726B (en) * | 2019-10-24 | 2023-09-26 | 深圳数位大数据科技有限公司 | Keep-alive method and keep-alive device for mobile terminal application program |
CN111538541A (en) * | 2019-12-06 | 2020-08-14 | 杭州当虹科技股份有限公司 | Method for enabling Android App to stably run in background for long time |
CN111399924B (en) * | 2020-03-18 | 2023-06-16 | 山东车微联信息技术股份有限公司 | Method, terminal and storage medium for keeping application process alive under android platform |
CN113760561B (en) * | 2020-06-17 | 2024-10-18 | 北京沃东天骏信息技术有限公司 | Data processing method and device |
CN111966425A (en) * | 2020-08-19 | 2020-11-20 | 惠州Tcl云创科技有限公司 | Process cleaning method and device, storage medium and mobile terminal |
CN114116040A (en) * | 2020-08-31 | 2022-03-01 | 华为技术有限公司 | Method for accelerating application starting, electronic equipment and computer storage medium |
CN112162783B (en) * | 2020-09-27 | 2021-09-14 | 珠海格力电器股份有限公司 | Music playing application keep-alive processing method and system, storage medium and electronic equipment |
CN112612589B (en) * | 2020-12-26 | 2024-10-15 | 吉林亿联银行股份有限公司 | Keep-alive method and device for application program |
CN112860408A (en) * | 2021-03-03 | 2021-05-28 | 苏州沁游网络科技有限公司 | Process keep-alive method, device and system in cloud reality machine and storage medium |
CN115113946A (en) * | 2021-03-17 | 2022-09-27 | 广东小天才科技有限公司 | Method and device for optimizing starting of camera |
CN113741994B (en) * | 2021-06-26 | 2022-07-12 | 荣耀终端有限公司 | Keep-alive method of video application and electronic equipment |
CN113377543A (en) * | 2021-06-28 | 2021-09-10 | 上海商汤科技开发有限公司 | Task processing system, electronic device, and storage medium |
CN116263718A (en) * | 2021-12-13 | 2023-06-16 | 北京有竹居网络技术有限公司 | Process management method and device, storage medium and electronic equipment |
CN114697377B (en) * | 2022-04-07 | 2023-09-05 | 深信服科技股份有限公司 | Keep-alive method, keep-alive system, keep-alive device and readable storage medium for client products |
CN114816546A (en) * | 2022-04-28 | 2022-07-29 | 合肥高维数据技术有限公司 | Client application program multi-keep-alive method and system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3588916A1 (en) * | 2009-10-01 | 2020-01-01 | Telefonaktiebolaget LM Ericsson (publ) | A method and arrangement for managing persistent rich internet applications |
US20110252430A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
CN103324536A (en) * | 2012-03-23 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | Terminal and application program protection method |
US9092247B2 (en) * | 2012-03-29 | 2015-07-28 | Microsoft Technology Licensing, Llc | Persistent and resilient worker processes |
US8843930B2 (en) * | 2012-07-10 | 2014-09-23 | Sap Ag | Thread scheduling and control framework |
CN103577224A (en) * | 2013-10-21 | 2014-02-12 | 杭州魔品科技有限公司 | Method for improving detection on upgrade of Android phone demons by PC terminal |
-
2014
- 2014-06-24 CN CN201410287640.5A patent/CN105335171B/en not_active Expired - Fee Related
-
2015
- 2015-06-23 WO PCT/CN2015/082075 patent/WO2015196967A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
6种进程防杀方案和源码;rovahomoimi;《https://www.xuebuyuan.com/839976.html》;20130912;第1-4页 |
Also Published As
Publication number | Publication date |
---|---|
CN105335171A (en) | 2016-02-17 |
WO2015196967A1 (en) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335171B (en) | The method and device on application program resident operating system backstage | |
US10802906B2 (en) | Monitoring method and apparatus of server, and storage medium | |
JP6363796B2 (en) | Dynamic code deployment and versioning | |
AU2017363366B2 (en) | On-demand code execution in a localized device coordinator | |
US10884787B1 (en) | Execution guarantees in an on-demand network code execution system | |
US10140137B2 (en) | Threading as a service | |
US9880826B2 (en) | Installing of application resources in a multi-tenant platform-as-a-service (PaS) system | |
JP6352535B2 (en) | Programmatic event detection and message generation for requests to execute program code | |
US11842222B2 (en) | Using scripts to bootstrap applications with metadata from a template | |
US9015710B2 (en) | Deployment system for multi-node applications | |
US10216503B2 (en) | Deploying, monitoring, and controlling multiple components of an application | |
CN108769124B (en) | Application deployment method, device, server and storage medium of PaaS platform | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
US11782748B2 (en) | Cloud shell extension framework | |
US11372654B1 (en) | Remote filesystem permissions management for on-demand code execution | |
CN110908753A (en) | Intelligent fusion cloud desktop server, client and system | |
CN114553693B (en) | Gateway upgrading method and device | |
CN107911467B (en) | Service operation management system and method for scripted operation | |
US7917614B2 (en) | Fault tolerance in a client side pre-boot execution | |
US9851980B1 (en) | Distributed update service enabling update requests | |
CN114168179A (en) | Micro-service management method, device, computer equipment and storage medium | |
JP5359835B2 (en) | Information processing apparatus, distribution system, and reception method | |
CN112948008B (en) | Method for managing physical bare machine based on Ironic | |
CN110365839B (en) | Shutdown method, shutdown device, shutdown medium and electronic equipment | |
CN112579247A (en) | Method and device for determining task state |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190510 Termination date: 20210624 |
|
CF01 | Termination of patent right due to non-payment of annual fee |