CN116339846A - Process management method and device, storage medium and electronic equipment - Google Patents

Process management method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN116339846A
CN116339846A CN202111583471.6A CN202111583471A CN116339846A CN 116339846 A CN116339846 A CN 116339846A CN 202111583471 A CN202111583471 A CN 202111583471A CN 116339846 A CN116339846 A CN 116339846A
Authority
CN
China
Prior art keywords
process group
application program
group
application
data processing
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.)
Pending
Application number
CN202111583471.6A
Other languages
Chinese (zh)
Inventor
袁科杰
金炼城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Youzhuju Network Technology Co Ltd
Original Assignee
Beijing Youzhuju Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Youzhuju Network Technology Co Ltd filed Critical Beijing Youzhuju Network Technology Co Ltd
Priority to CN202111583471.6A priority Critical patent/CN116339846A/en
Priority to PCT/CN2022/138915 priority patent/WO2023116522A1/en
Publication of CN116339846A publication Critical patent/CN116339846A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The disclosure relates to a process management method, a device, a storage medium and electronic equipment, and relates to the technical field of computers, wherein the method comprises the following steps: determining the data processing capability of the electronic device; determining a process group used by the first application program according to the data processing capability in response to a starting request of the first application program, wherein the process group comprises at least one process of a target host application; and running the first application program through the process group. Therefore, the process group used by the application program can be dynamically determined according to the data processing capacity presented by the running state of the electronic equipment, so that the running performance of the electronic equipment is improved. And the processes of the host application are managed in a process group mode, so that the structure of the processes is clearer, and the problem of operation efficiency reduction caused by the fragmentation distribution process is avoided.

Description

Process management method and device, storage medium and electronic equipment
Technical Field
The disclosure relates to the technical field of computers, and in particular relates to a process management method, a process management device, a storage medium and electronic equipment.
Background
In the related art, a number of processes are generally predefined in a host application of an installation-free framework for running an application program. When the application program runs, the host application allocates a plurality of processes to the application program according to the requirements of the application program. However, this method of predefining a number of processes for running an application program may cause excessive processes to be occupied, thereby causing a large amount of memory of the terminal device to be occupied, resulting in a stuck application program running.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In a first aspect, the present disclosure provides a process management method, including:
determining the data processing capability of the electronic device;
determining a process group used by the first application program according to the data processing capability in response to a starting request of the first application program, wherein the process group comprises at least one process of a target host application;
And running the first application program through the process group.
In a second aspect, the present disclosure provides a process management apparatus, including:
a determination module configured to determine a data processing capability of the electronic device;
the process distribution module is configured to respond to a starting request of a first application program, and determine a process group used by the first application program according to the data processing capability, wherein the process group comprises at least one process of a target host application;
and the running module is configured to run the first application program through the process group.
In a third aspect, the present disclosure provides a computer-readable medium having stored thereon a computer program which, when executed by a processing device, implements the steps of the process management method of the first aspect.
In a fourth aspect, the present disclosure provides an electronic device comprising:
a storage device having a computer program stored thereon;
processing means for executing the computer program in the storage means to implement the steps of the process management method according to the first aspect.
According to the technical scheme, the process group used by the first application program is determined according to the data processing capacity of the electronic equipment, and the first application program is operated through the process group, so that the process group used by the application program can be dynamically determined according to the data processing capacity presented by the operation state of the electronic equipment, and the operation performance of the electronic equipment is improved. And the processes of the host application are managed in a process group mode, so that the structure of the processes is clearer, and the problem of operation efficiency reduction caused by the fragmentation distribution process is avoided.
Additional features and advantages of the present disclosure will be set forth in the detailed description which follows.
Drawings
The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. The same or similar reference numbers will be used throughout the drawings to refer to the same or like elements. It should be understood that the figures are schematic and that elements and components are not necessarily drawn to scale. In the drawings:
FIG. 1 is a flow diagram of a process management method provided in accordance with an exemplary embodiment;
FIG. 2 is a flow chart of a process management method provided in accordance with another exemplary embodiment;
FIG. 3 is a flow chart of a process management method provided in accordance with yet another exemplary embodiment;
FIG. 4 is a schematic diagram of a process management apparatus according to an exemplary embodiment;
fig. 5 is a schematic structural view of an electronic device according to an exemplary embodiment.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
For ease of understanding, the following description is directed to terms related to embodiments of the present disclosure.
Installation-free application: the installation-free application is an application which can run without installation, and refers to an application which is directly downloaded, copied or decompressed to a target directory, and does not need to copy to a system directory or write a registry. The installation-free application operates in a host application, and the host application provides a virtual operation environment required by operation for the installation-free application.
Small procedure: the applet is an application program which is developed based on a programming language and runs depending on a host application program, is an application ecology between a traditional webpage and the traditional application program, runs depending on the host application program, and can be run in the host application program without downloading and installing the applet by a user.
Host application: host applications refer to software environments under which software may live in a computer environment, referred to as host environments, referred to as hosts.
The following describes an application scenario of a process management method provided by an embodiment of the present disclosure.
The process management method provided by the embodiment of the disclosure is suitable for distributing the scenes of the processes used in the host application for the application program when the application program runs on the host application.
In some examples, the application in the embodiments of the present disclosure may be an installation-free application, and the host application in the embodiments of the present disclosure may be an installation-free platform. The installation-free platform refers to an application program arranged in an operating system and used for providing an environment required by the installation-free application to run. For example, in Android (Android) ecology, an installation-free application is an application that can be directly run in the Android system, and is also an application that can be loaded onto an installation-free platform for direct running. The installation-free platform is an application for providing a sandbox running environment for the installation-free application.
In other examples, the application in the embodiments of the present disclosure may be an applet, and the host application in the embodiments of the present disclosure refers to an application for providing a running environment for the applet, which may be an application in any operating system, such as an android application or an apple operating system (iphone Operation System, IOS) application. The host application may be an instant messaging application installed in a personal device, a newsreading application, a payment application, or a social application, among others, or may be other applications installed on a shared device.
It can be appreciated that the embodiments of the present disclosure actually provide a general process management method applicable to an application program running on a host application, that is, the embodiments of the present disclosure provide a process management method applicable to an application scenario in which an applet runs, and also applicable to a scenario in which an application program runs on an installation-free platform.
Fig. 1 is a flow diagram of a process management method according to an exemplary embodiment. Embodiments of the present disclosure may be applicable to assigning applications to processes they use in host applications while the applications are running. The process management method disclosed in the embodiment may be executed by an electronic device, and in particular, may be executed by a process management apparatus, where the apparatus may be implemented in software and/or hardware and configured in the electronic device. Referring to fig. 1, the process management method provided in the embodiment of the present disclosure may include the following steps.
S110, determining the data processing capability of the electronic device.
The data processing capability of the electronic device refers to the capability of the electronic device to process data or respond to an operation instruction. The data processing capabilities may be the same or different for different electronic devices. For example, the data processing capability may be consistent for the mobile terminals of the same model, or the data processing capability of the mobile terminals of the same model may be different due to different hardware loss degrees or different software.
It will be appreciated that the data processing capabilities of the electronic device may be different for different time periods for the same electronic device. For example, for electronic devices that are used for a long period of time, the data processing capacity is less than for electronic devices that are used for a period of time.
In some implementations, an electronic device may determine device attribute information of the electronic device and determine data processing capabilities of the electronic device based on the device attribute information. Wherein the device attribute information includes at least one of an available memory, an available storage capacity, a system version, a device model, and a device production date of the electronic device.
The available memory of the electronic device refers to the current available memory of the electronic device, and the larger the current available memory is, the stronger the data processing capability of the electronic device is. The available storage capacity of the electronic device refers to the current available storage capacity of the electronic device, and the larger the current available storage capacity of the electronic device is, the stronger the data processing capability of the electronic device is. The system version of the electronic device refers to the version number of the operating system of the electronic device, and the corresponding data processing capability is different for different system versions. For example, the newer the system version, the more data processing capabilities of the electronic device. The device model refers to a product model of the electronic device, and a hardware configuration of the electronic device, such as a processor model, can be obtained through the device model of the electronic device, so that the data processing capability of the electronic device is determined according to the hardware configuration. The device production date refers to the manufacturing time of the electronic device, and the newer the device production date is, the stronger the data processing capability is for the electronic device.
It is understood that when the device attribute information includes a plurality of pieces of information, the data processing capability of the electronic device may be comprehensively determined according to the plurality of pieces of device attribute information. For example, when the device attribute information of the electronic device is a system version and a device model, the system version and the device model need to be integrated to determine the data processing capability of the electronic device. For example, for older models of electronic devices, the newer the system version, the more data processing capacity will be.
In some embodiments, device attribute information of an electronic device may be used as input to a trained machine learning model to obtain data processing capabilities of the electronic device. The trained machine learning model may be obtained by training the machine learning model through training samples, and the training samples may be obtained by marking different data processing capacities on device attribute information of different electronic devices. It is understood that the machine learning model may be a neural network model, such as a convolutional neural network.
S120, responding to a starting request of the first application program, and determining a process group used by the first application program according to the data processing capability, wherein the process group comprises at least one process of the target host application.
The target host application may refer to a host application running on the first application, for example, if the first application is started in the "application a", the "application a" is taken as the target host application, and the first application is taken as an applet running on the target host application. Alternatively, "application B" is run in the install-free platform, and the install-free platform serves as the target host application, and "application B" serves as the install-free application running in the host application. At least one set of process groups may be included in the target host application, each process group including at least one process of the target host application.
When the electronic device receives a request for starting the first application program in the target host application, the electronic device determines a process group used by the first application program in the target host application according to the data processing capability of the electronic device. For example, the target host application includes a process group a, a process group B, and a process group C, and the electronic device determines one or more of the process group a, the process group B, and the process group C as a process group used by the first application according to the data processing capability of the electronic device.
It is understood that a set of processes in a host application refers to a set of processes in the host application that are assigned to run an application program. When a process group is determined to be a process group used by an application, then all processes in the process group are used by the application.
It should be noted that, for each process group, the number of the included processes may be consistent or inconsistent, and may be set according to the actual use situation. For example, 10 processes may be included in process group a, while 5 process groups may be included in process group B. In some embodiments, the number of processes included in each process group may be determined according to an operating state of the electronic device, and the number of processes included in the process group may be different for different operating states. For example, when the operating state of the electronic device characterizes that its data processing capability is strong, the number of processes included in the process group may be greater than the number of processes when the data processing capability of the electronic device is weak.
S130, running the first application program through the process group.
Wherein after determining the set of processes used by the first application, the electronic device runs the first application through the set of processes determined in the target host application. It will be appreciated that the first application is run in the defined set of processes, all processes in the set of processes being used only by the first application, the set of processes not being used to run other applications until the first application has completely exited.
It can be seen that, in this embodiment, by determining the process group used by the first application according to the data processing capability of the electronic device and running the first application through the process group, the process group used by the application can be dynamically determined according to the data processing capability presented by the running state of the electronic device, so as to improve the running performance of the electronic device. And the processes of the host application are managed in a process group mode, so that the structure of the processes is clearer, and the problem of operation efficiency reduction caused by the fragmentation distribution process is avoided.
Referring to fig. 2, a process management method according to an embodiment of the disclosure is shown, where the process management method may be applied to allocate a process used in a host application to an application when the application runs. The process management method disclosed in the embodiment may be applied to an electronic device, and the process management method may include the following steps.
S210, determining the data processing capability of the electronic device.
The specific embodiment of step S210 may refer to step S110, which is not described herein.
S220, in response to a starting request of the first application program, determining a first process group of the target host application as a process group used by the first application program under the condition that the data processing capacity is smaller than a preset threshold, wherein the target host application comprises a group of first process groups.
The preset threshold is a boundary of the data processing capability of the electronic device, when the data processing capability of the electronic device is smaller than the preset threshold, the data processing capability of the electronic device is weak, and when the data processing capability of the electronic device is larger than or equal to the preset threshold, the data processing capability of the electronic device is strong. It is understood that, for a mobile terminal having a data processing capability less than a preset threshold, the mobile terminal may be understood to be of a low-end model. For a mobile terminal with data processing capability greater than or equal to a preset threshold, it can be understood that the mobile terminal is a high-end model.
In an electronic device with data processing capabilities less than a preset threshold, its host application includes only a first set of processes. When the electronic device receives a request to launch a first application in a target host application, the electronic device determines the first process group as a process group used by the first application.
And S230, exiting the second application program under the condition that the first process group is occupied by the second application program, and running the first application program through the first process group.
In the electronic device with the data processing capability smaller than the preset threshold, the target host application only comprises a first process group, so that if the first process group is determined to be a process group used by the first application program, if the first process group is used by the second application program, the second application program is exited, the first process group is idle, and the first application program is operated through the first process group. For example, in the low-end type electronic device, the installation-free platform only includes a first process group, and if the electronic device receives a request for starting the application program B in the installation-free platform, the electronic device exits the application program a and runs the application program B through the first process group if the first process group in the installation-free platform is already used for running the application program a.
It will be appreciated that if the first process group is not occupied by the second application, the first application is run directly through the first process group.
In this embodiment, when the data processing capability of the electronic device is smaller than the preset threshold, only one first process group is included in the host application of the electronic device, so as to avoid configuring too many processes in the electronic device with weaker data processing capability, so that the memory of the electronic device is not occupied in a large amount, and the running speed of the application program is improved.
Referring to fig. 3, a process management method according to an embodiment of the disclosure is shown, where the process management method may be applied to allocate a process used in a host application to an application when the application runs. The process management method disclosed in the embodiment may be applied to an electronic device, and the process management method may include the following steps.
S310, determining the data processing capability of the electronic device.
The specific embodiment of step S310 may refer to step S110, which is not described herein.
S320, responding to a starting request of the first application program, and if the data processing capacity is greater than or equal to a preset threshold value, if an idle sub-process group exists in a second process group in the target host application, determining a group of idle sub-process groups in the second process group as a process group used by the first application program, wherein the second process group comprises a plurality of groups of sub-process groups.
The preset threshold is a boundary of the data processing capability of the electronic device, when the data processing capability of the electronic device is smaller than the preset threshold, the data processing capability of the electronic device is weak, and when the data processing capability of the electronic device is larger than or equal to the preset threshold, the data processing capability of the electronic device is strong. It is understood that, for a mobile terminal having a data processing capability less than a preset threshold, the mobile terminal may be understood to be of a low-end model. For a mobile terminal with data processing capability greater than or equal to a preset threshold, it can be understood that the mobile terminal is a high-end model.
In the electronic device with the data processing capability being greater than or equal to a preset threshold, the host application comprises a second process group, and the second process group comprises a plurality of sub-process groups. When the electronic device receives a request to launch the first application in the target host application, the electronic device may determine a set of idle sub-process groups in the second process group as process groups used by the first application.
In some embodiments, if the second process group does not have an idle sub-process group, determining a third process group in the target host application as a process group used by the first application program; the third process group is a process group which remains idle under the condition that the sub-process group in the second process group is not fully occupied.
In the electronic device with the data processing capability greater than or equal to the preset threshold, the host application includes a second process group and a third process group, where the second process group and the third process group may include multiple sub-process groups. The third process group is a process group that remains idle in the case where the sub-process group in the second process group is not used in its entirety, and at least one sub-process group in the third process group is determined as a process group used by the first application program after the sub-process group in the second process group is used in its entirety.
For example, the second process group includes 7 sub-process groups, the third process group includes 3 sub-process groups, and when the 7 sub-process groups in the second process group are not all used, the 3 sub-process groups in the third process group are not allocated to run the first application program, but the idle sub-process group in the second process group is determined as a process group used by the first application program. When the 7 sub-process groups in the second process group are all used, at least one sub-process group in the third process group is determined as a process group used by the first application.
In some embodiments, in the case where the third process group in the target host application is determined to be a process group used by the first application, selecting a set of target process groups from the sub-process groups in the second process group, and exiting the application using the target process groups; and taking the target process group as a subprocess group in a third process group, and taking the third process group for running the first application program as a subprocess group in a second process group, so that the number of the process groups in the third process group is maintained to be a preset number.
Wherein, in a case where the sub-process groups in the second process group are all used, the electronic device enables the third process group to run the first application program, at this time, the third process group for running the first application program is used as the sub-process group in the second process group, and a group of target process groups is selected from the sub-process groups in the second process group as the sub-process groups in the third process group. As one example, the electronic device may select a set of target process groups from among the sub-process groups in the second process group by a least recently used algorithm (Least Recently Used, LRU). For example, the least recently used application using the second set of processes is retired. As another example, the electronic device can select the target process group based on an enablement time of an application using the second process group. For example, the application that first used the second process group is exited.
It is understood that the sub-process groups in the second process group and the third process group are maintained at a predetermined number. When one group of sub-process groups in the third process group is used for running the application program, the sub-process group is used as a sub-process group of the second process group, and meanwhile, one group of sub-process groups are selected from the second process group to be used as sub-process groups in the third process group, so that the sub-process groups in the second process group and the third process group are maintained at preset numbers.
For example, the second process group includes 7 sub-process groups, the third process group includes 3 sub-process groups, and when all of the 7 sub-process groups in the second process group are used, one sub-process group in the third process group is allocated to run the application program, and the sub-process group is used as a sub-process group in the second process group. Meanwhile, a group of sub-process groups is selected from among 7 sub-process groups in the second process group, which have been used by other applications, as a sub-process group in the third process group, so that the number of sub-process groups in the second process group is maintained at 7 groups and the number of sub-process groups in the third process group is maintained at 3 groups.
And S330, running the first application program through the determined process group.
Wherein after determining the set of processes used by the first application, the electronic device runs the first application through the set of processes determined in the target host application. It will be appreciated that the first application is run in the defined set of processes, all processes in the set of processes being used only by the first application, the set of processes not being used to run other applications until the first application has completely exited.
In this embodiment, when the data processing capability of the electronic device is greater than or equal to the preset threshold, the host application of the electronic device includes the second process group and the third process group, and the electronic device may select a group of sub-process groups from the second process group or the third process group as the process group used by the first application program according to the use states of the second process group and the third process group in the target host application, so as to allocate more memories in the high-end machine model for running the application program, and improve the running speed of the application program.
In some embodiments, in the event that a process group in the target host application cannot be used to load the first application, a process group of the other host application is invoked, and the first application is run through the invoked process group of the other host application.
Wherein, the inability of the process group in the target host application to load the first application program may mean that the process group in the target host application has been used to run the application program and cannot be exited. At this time, the electronic device invokes the process group of the other host application to run the first application program through the invoked process group.
For example, when the electronic device receives a start request for starting the first application program in the host application a, if the process group in the host application a cannot be used to run the first application program, the process group of the host application B is invoked to run the first application program.
It will be appreciated that the same installation-free system framework or applet framework is used for multiple host applications in the same electronic device. Each host application may be communicatively connected in the electronic device and provided with interfaces for invoking the process group of the host application by other host applications. When the host application for starting the first application program needs to call the process groups of other host applications to run the first application program, the host application calls the process groups of other host applications through the interface to run the first application program.
In some examples, the electronic device may determine the set of processes of the other host application to call based on the running state of the set of processes of the other host application. For example, other groups of processes that host applications are idle may be referred to as the invoked group of processes.
Referring to fig. 4, which illustrates a process management apparatus provided in one embodiment of the present disclosure, the process management apparatus 400 may include: a determination module 410, a process allocation module 420, and a run module 430. Wherein:
a determination module 410 configured to determine data processing capabilities of the electronic device;
a process allocation module 420 configured to determine, in response to a start request of a first application program, a process group used by the first application program according to the data processing capability, where the process group includes at least one process of a target host application;
and a running module 430 configured to run the first application program through the process group.
In some embodiments, the process allocation module 420 includes:
a first process determining unit configured to determine a first process group of the target host application as a process group used by the first application program in a case where the data processing capability is smaller than a preset threshold, wherein the target host application includes a set of the first process group;
The operation module 430 is specifically configured to:
and under the condition that the first process group is occupied by the second application program, exiting the second application program, and running the first application program through the first process group.
In some embodiments, the process allocation module 420 further comprises:
the second process determining unit is configured to determine a group of idle sub-process groups in the second process group as a process group used by the first application program if the idle sub-process groups exist in the second process group in the target host application under the condition that the data processing capability is greater than or equal to the preset threshold value;
wherein the second process group comprises a plurality of groups of the sub-process groups.
In some embodiments, the process allocation module 420 further comprises:
a second process determining unit, configured to determine a third process group in the target host application as a process group used by the first application if there is no idle sub-process group in the second process group;
and the third process group is a process group which keeps idle under the condition that the sub-process group in the second process group is not fully occupied.
In some embodiments, the process allocation module 420 further comprises:
a process exit unit configured to select a set of target process groups from among the sub-process groups in the second process group and exit an application program using the target process groups, in the case where the third process group in the target host application is determined as a process group used by the first application program;
and the process classification unit is configured to take the target process group as a subprocess group in the third process group and take the third process group for running the first application program as a subprocess group in the second process group so as to maintain the number of the process groups in the third process group to be a preset number.
In some embodiments, the process management apparatus 400 further includes:
the process calling module is configured to call the process groups of other host applications under the condition that the process groups in the target host application cannot be used for loading the first application program;
the operation module 430 is specifically configured to:
and operating the first application program through the invoked process group of the other host application.
In some embodiments, the determining module 410 includes:
An attribute determining unit configured to determine device attribute information of the electronic device, wherein the device attribute information includes at least one of an available memory, an available storage capacity, a system version, a device model, and a device production date of the electronic device;
and the processing capability determining unit is configured to determine the data processing capability of the electronic equipment according to the equipment attribute information.
The detailed description of the respective functional modules of the apparatus in the foregoing embodiments has been given in the section of the method, and will not be repeated here.
Referring now to fig. 5, a schematic diagram of an electronic device 600 suitable for use in implementing embodiments of the present disclosure is shown. The electronic devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 5 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 5, the electronic device 600 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 601, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
In general, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, and the like; an output device 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, magnetic tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 5 shows an electronic device 600 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via communication means 609, or from storage means 608, or from ROM 602. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing device 601.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the electronic device may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: determining the data processing capability of the electronic device; determining a process group used by the first application program according to the data processing capability in response to a starting request of the first application program, wherein the process group comprises at least one process of a target host application; and running the first application program through the process group.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present disclosure may be implemented in software or hardware. The name of a module does not in some cases define the module itself.
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by persons skilled in the art that the scope of the disclosure referred to in this disclosure is not limited to the specific combinations of features described above, but also covers other embodiments which may be formed by any combination of features described above or equivalents thereof without departing from the spirit of the disclosure. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims. The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.

Claims (10)

1. A process management method, comprising:
determining the data processing capability of the electronic device;
determining a process group used by the first application program according to the data processing capability in response to a starting request of the first application program, wherein the process group comprises at least one process of a target host application;
and running the first application program through the process group.
2. The process management method according to claim 1, wherein the determining the process group used by the first application program according to the data processing capability includes:
determining a first process group of the target host application as a process group used by the first application program under the condition that the data processing capability is smaller than a preset threshold, wherein the target host application comprises a group of the first process group;
The running the application program through the process group comprises the following steps:
and under the condition that the first process group is occupied by the second application program, exiting the second application program, and running the first application program through the first process group.
3. The process management method according to claim 2, wherein the method further comprises:
if the data processing capability is greater than or equal to the preset threshold, if an idle sub-process group exists in a second process group in the target host application, determining a group of idle sub-process groups in the second process group as a process group used by the first application program;
wherein the second process group comprises a plurality of groups of the sub-process groups.
4. A process management method according to claim 3, wherein said method further comprises:
if the second process group does not have an idle sub-process group, determining a third process group in the target host application as a process group used by the first application program;
and the third process group is a process group which keeps idle under the condition that the sub-process group in the second process group is not fully occupied.
5. The process management method according to claim 4, wherein the method further comprises:
selecting a set of target process groups from among the sub-process groups in the second process group and exiting the application program using the target process groups, in the case where the third process group in the target host application is determined to be the process group used by the first application program;
and taking the target process group as a subprocess group in the third process group, and taking the third process group for running the first application program as a subprocess group in the second process group, so that the number of the process groups in the third process group is maintained to be a preset number.
6. The process management method according to claim 1, wherein the method further comprises:
invoking a process group of other host applications if the process group in the target host application cannot be used to load the first application program;
the running the first application program through the process group comprises the following steps:
and operating the first application program through the invoked process group of the other host application.
7. The process management method according to claim 1, wherein the determining the data processing capability of the electronic device includes:
Determining device attribute information of the electronic device, wherein the device attribute information comprises at least one of available memory, available storage capacity, system version, device model and device production date of the electronic device;
and determining the data processing capacity of the electronic equipment according to the equipment attribute information.
8. A process management apparatus, comprising:
a determination module configured to determine a data processing capability of the electronic device;
the process distribution module is configured to respond to a starting request of a first application program, and determine a process group used by the first application program according to the data processing capability, wherein the process group comprises at least one process of a target host application;
and the running module is configured to run the first application program through the process group.
9. A computer readable medium, on which a computer program is stored, characterized in that the program, when being executed by a processing device, implements the steps of the process management method according to any one of claims 1-7.
10. An electronic device, comprising:
a storage device having a computer program stored thereon;
processing means for executing said computer program in said storage means to carry out the steps of the process management method according to any one of claims 1-7.
CN202111583471.6A 2021-12-22 2021-12-22 Process management method and device, storage medium and electronic equipment Pending CN116339846A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111583471.6A CN116339846A (en) 2021-12-22 2021-12-22 Process management method and device, storage medium and electronic equipment
PCT/CN2022/138915 WO2023116522A1 (en) 2021-12-22 2022-12-14 Process management method and apparatus, and storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111583471.6A CN116339846A (en) 2021-12-22 2021-12-22 Process management method and device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN116339846A true CN116339846A (en) 2023-06-27

Family

ID=86889960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111583471.6A Pending CN116339846A (en) 2021-12-22 2021-12-22 Process management method and device, storage medium and electronic equipment

Country Status (2)

Country Link
CN (1) CN116339846A (en)
WO (1) WO2023116522A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9898372B2 (en) * 2013-09-18 2018-02-20 International Business Machines Corporation Backing up a computer application
CN110647393A (en) * 2018-06-27 2020-01-03 厦门本能管家科技有限公司 Elastic process management system and method
CN111008079B (en) * 2019-12-10 2022-10-21 Oppo(重庆)智能科技有限公司 Process management method, device, storage medium and electronic equipment

Also Published As

Publication number Publication date
WO2023116522A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
CN111581555B (en) Document loading method, device, equipment and storage medium
CN113835992B (en) Memory leakage processing method and device, electronic equipment and computer storage medium
CN111625422B (en) Thread monitoring method, thread monitoring device, electronic equipment and computer readable storage medium
CN111580883B (en) Application program starting method, device, computer system and medium
CN111400068B (en) Interface control method and device, readable medium and electronic equipment
CN113391882B (en) Virtual machine memory management method and device, storage medium and electronic equipment
CN116302271A (en) Page display method and device and electronic equipment
CN113518183B (en) Camera calling method and device and electronic equipment
CN111459893B (en) File processing method and device and electronic equipment
CN113448585B (en) Compiling method and device of thread pool, electronic equipment and storage medium
CN111552531B (en) Page display method, device, terminal and storage medium
CN116339846A (en) Process management method and device, storage medium and electronic equipment
CN111290812B (en) Display method, device, terminal and storage medium of application control
CN111538717B (en) Data processing method, device, electronic equipment and computer readable medium
CN112860439A (en) Application starting method and device, terminal and storage medium
CN111324387A (en) Application task control method, device, terminal and system
CN112306683A (en) Function hijacking method, device, medium and electronic equipment
CN110619079A (en) Method and device for pushing information
CN110633141A (en) Memory management method and device of application program, terminal equipment and medium
CN113138883B (en) Message processing method and device, storage medium and electronic equipment
CN111626787B (en) Resource issuing method, device, medium and equipment
CN112235333B (en) Function package management method, device, equipment and storage medium
CN110704767B (en) Page opening method and device, electronic equipment and storage medium
CN109766246B (en) Method and apparatus for monitoring applications
CN116820736A (en) Memory allocation method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination