CN109992425B - Information processing method, information processing device, computer equipment and computer readable storage medium - Google Patents

Information processing method, information processing device, computer equipment and computer readable storage medium Download PDF

Info

Publication number
CN109992425B
CN109992425B CN201711480459.6A CN201711480459A CN109992425B CN 109992425 B CN109992425 B CN 109992425B CN 201711480459 A CN201711480459 A CN 201711480459A CN 109992425 B CN109992425 B CN 109992425B
Authority
CN
China
Prior art keywords
event
user space
events
resource
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711480459.6A
Other languages
Chinese (zh)
Other versions
CN109992425A (en
Inventor
方攀
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201711480459.6A priority Critical patent/CN109992425B/en
Priority to PCT/CN2018/117010 priority patent/WO2019128573A1/en
Publication of CN109992425A publication Critical patent/CN109992425A/en
Application granted granted Critical
Publication of CN109992425B publication Critical patent/CN109992425B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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
    • 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/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/54Interprogram communication

Abstract

The application provides an information processing method, an information processing device, computer equipment and a computer readable storage medium. The method comprises the following steps: acquiring a process event in a kernel space, and classifying the process event to obtain a classified process event; the classified process events comprise process communication events, and the process communication events are generated according to communication among processes; and the kernel space asynchronously transmits the classified process events and the corresponding processes to a user space so that the user space adjusts the resource limitation of the processes according to the process communication events. According to the method, the kernel space asynchronously transmits the process event to the user space, so that the efficiency of acquiring the change information of the bottom layer of the process by the user space is improved, the method is compatible with the rich strategy of the user space and the characteristic that the kernel space can acquire the change of the state of the process in time, and the problem of abnormal state of the process caused by resource limitation can be avoided when the process is subjected to resource limitation.

Description

Information processing method, information processing device, computer equipment and computer readable storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to an information processing method, an information processing apparatus, a computer device, and a computer-readable storage medium.
Background
In the Linux operating system, the system can be divided into a kernel space and a user space. The system kernel software runs in the kernel space, and the common application program runs in the user space. The authority of the kernel space is higher, and the authority of the user space is lower. The kernel space may perceive underlying changes to the application.
Disclosure of Invention
The embodiment of the application provides an information processing method, an information processing device, computer equipment and a computer readable storage medium, wherein a kernel space process event can be asynchronously transmitted to a user space.
An information processing method comprising:
acquiring a process event in a kernel space, and classifying the process event to obtain a classified process event; the classified process events comprise process communication events, and the process communication events are generated according to communication among processes;
and the kernel space asynchronously transmits the classified process events and the corresponding processes to a user space so that the user space adjusts the resource limitation of the processes according to the process communication events.
An information processing apparatus comprising:
the classification module is used for acquiring the process events in the kernel space and classifying the process events to obtain the classified process events; the classified process events comprise process communication events, and the process communication events are generated according to communication among processes;
and the transmission module is used for asynchronously transmitting the classified process event and the corresponding process to a user space by the kernel space so that the user space adjusts the resource limitation of the process according to the process communication event.
A computer device comprising a memory and a processor, the memory having stored therein a computer program which, when executed by the processor, causes the processor to carry out the steps of the method as described above.
A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method as set forth above.
In the embodiment of the application, the kernel space asynchronously transmits the process event to the user space, so that the efficiency of acquiring the process bottom layer change information by the user space is improved. The method for classifying the process events through the kernel space and deciding the available resources of the process through the user space can be compatible with the rich strategy of the user space and the characteristic that the kernel space can timely acquire the state change of the process, and can avoid the problem of abnormal state of the process caused by resource limitation when the resource limitation is carried out on the process.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic diagram showing an internal configuration of a computer device according to an embodiment;
FIG. 2 is a partial block diagram of a computer device in one embodiment;
FIG. 3 is a flow diagram of a method of information processing in one embodiment;
FIG. 4 is a flowchart of an information processing method in another embodiment;
FIG. 5 is a flowchart of an information processing method in another embodiment;
FIG. 6 is a flowchart of an information processing method in another embodiment;
FIG. 7 is a block diagram showing the configuration of an information processing apparatus according to an embodiment;
FIG. 8 is a block diagram showing the construction of an information processing apparatus according to another embodiment;
FIG. 9 is a block diagram showing the construction of an information processing apparatus according to another embodiment;
FIG. 10 is a block diagram showing the construction of an information processing apparatus according to another embodiment;
fig. 11 is a block diagram of a partial structure of a mobile phone related to a computer device provided in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
Fig. 1 is a schematic diagram of an internal structure of a computer device according to an embodiment. As shown in fig. 1, the computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein, the processor is used for providing calculation and control capability and supporting the operation of the whole computer equipment. The memory is used for storing data, programs and the like, and at least one computer program is stored on the memory, and can be executed by the processor to realize the information processing method suitable for the computer device provided in the embodiment of the application. The memory may include a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The computer program can be executed by a processor to implement an information processing method provided in each of the following embodiments. The internal memory provides a cached execution environment for the operating system computer programs in the non-volatile storage medium. The network interface may be an ethernet card or a wireless network card, etc. for communicating with an external computer device. The computer device may be a mobile phone, a tablet computer or a personal digital assistant or a wearable device, etc.
Those skilled in the art will appreciate that the architecture shown in fig. 1 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components. For example, the computer device further includes a network interface connected via the system bus, where the network interface may be an ethernet card or a wireless network card, and the like, and is used for communicating with an external computer device, such as a server.
FIG. 2 is a diagram illustrating a portion of the architecture of a computer device, in accordance with one embodiment. As shown in FIG. 2, the architectural system of the computer device includes a Java space layer 210, a local framework layer 220, and a Kernel space layer 230. The Java space layer includes a freezing and unfreezing module 212, and the freezing and unfreezing module 212 is used for implementing a freezing policy for each application program, for example, freezing the application program consuming power in the background.
The local framework layer 220 includes a resource priority and restriction management module 222 and a platform freeze management module 224. The resource priority and restriction management module 222 may perform different resource restrictions on different applications, so that different applications are in different resource priorities. The resource priority and restriction management module 222 may also adjust the resource priority of the application according to the requirements of the upper layers so that the computer device can make it reasonable for the application to use the resources. The platform freezing management module 224 may determine the level of resource limitation on the process application program according to the time length of the application program entering the background, the platform freezing management module 224 may preset different levels of resource limitation, and the longer the time length of the application program entering the background is, the higher the level of resource limitation on the application program by the platform freezing management module 224 is, that is, the higher the degree of resource limitation on the application program is. Optionally, the resource restriction level may include: a CPU restricted sleep mode, a CPU frozen sleep mode, and a process deep frozen mode. The CPU restricted sleep mode is to restrict a Central Processing Unit (CPU) resource that can be used by a process of an application, so that the process of the application can use less CPU resource; network resources and input/output (I/O) resources that can be used by processes of the application may be further limited in the CPU limited sleep mode. The CPU freeze sleep mode is a deep restricted mode in which resources available to an application are not recovered, but CPU resources, network resources, and I/O resources are prohibited from being used by the process of the application. The CPU freeze sleep mode is to prohibit the process of the application program from using CPU resources, network resources and I/O resources, and recycle the memory resources occupied by the process of the application program. The interface module of the local framework layer 220 includes a binder interface that is developed to the upper layer, and the framework or the application program of the upper layer can send a resource restriction instruction to the resource restriction management module 222 and send a freeze instruction to the platform freeze management module 224 through the binder interface.
The kernel space layer 230 includes a UID management module 231, a Cgroup module 232, a binder management and control module 233, a process memory recycling module 234, and a timeout freeze exit module 235. Currently, Process management for an application is implemented based on a Process Identification (PID), and a Process does not correspond to an application, which is not beneficial to uniformly managing resources corresponding to all processes of an application. The UID management module 231 may manage resources of the application program through a User Identifier (UID) of the application program, and may also freeze the application program through the UID of the application program. The Cgroup module 232 may provide a CPU, CPUSET, memory, I/O resources and Net related resource restriction mechanism. binder management module 233 may be used to limit the priority of background inter-process binder communications. The process memory recycling module 234 is configured to implement a process deep freeze mode, and release a file area of a process when the process enters the process deep freeze mode, thereby saving memory and speeding up the next start of an application program corresponding to the process. The timeout freeze exit module 235 is used to solve the problem that the process is abnormal during the freeze timeout.
Through the above-mentioned architecture, the information processing method in each embodiment of the present application can be realized.
FIG. 3 is a flow diagram of a method for information processing in one embodiment. As shown in fig. 3, an information processing method includes:
step 302, acquiring a process event in a kernel space, and classifying the process event to obtain a classified process event; the classified process events include process communication events, which are generated according to inter-process communication.
Generally, in a Linux system, the system can be divided into two parts, namely a kernel space and a user space. The kernel space stores kernel codes and data, and the user space stores codes and data of application programs. The kernel space has a higher authority and the user space has a lower authority.
A process is a running activity of a program with certain independence ability with respect to a certain data set, and an application program includes a plurality of processes at the time of running. During the process running, process events are generated due to changes in the interprocess communication mechanism and the process state. The process events generated by the process can be classified in the kernel space to obtain the classified process events. The classified process events may include process communication events and process state events. The process communication event is an event generated according to inter-process communication, and the process state event is an event generated due to a change in process state.
In step 304, the kernel space asynchronously delivers the classified process events and corresponding processes to the user space, so that the user space adjusts resource restrictions on the processes according to the process communication events.
After the user space classifies the process events generated by the process to obtain the classified process events, the classified process time can be asynchronously transmitted to the user space. The kernel space and the user space are mainly communicated in an asynchronous netlink mode, and when the kernel space is communicated with the user space, the kernel space can follow a packet structure appointed by the kernel space and the user space and generate different data according to different process events. When the kernel space asynchronously transmits the classified process event and the corresponding process to the user space, the kernel space can transmit the classified process event, the process corresponding to the event and the reason for the occurrence of the event to the user space. For example, after receiving the communication message of the foreground process, the background process may generate a socket arrival event, and the kernel space may use the socket arrival event, the UID of the background process, and the reason for the occurrence of the socket arrival event: and the background process receives the communication message of the foreground process and transmits the communication message to the user space.
After receiving the data asynchronously transmitted by the kernel space, the user space can analyze the received data, acquire the change of the process bottom layer, and update the resource limitation of the process in time according to the change of the process bottom layer. The resource limitation of the process by the user space mainly comprises the limitation of CPU resources, I/O resources, network resources, memory resources and the like which can be used by the process, so that the resources among the processes can be reasonably allocated.
In the current mainstream mobile operating system, the limitation on the available resources of the application program is mainly performed by the user space, and the user space can put the application programs corresponding to the resources of different levels into different resource groups through the Cgroup mechanism. The limitation of the available resources of the application program is judged by calling rich libraries and rich strategies through the user space, but the resource limitation level of the application program cannot be updated in time according to the change of the bottom layer of the application program only through the information and the strategies of the user space due to the lower user space authority.
According to the method, the kernel space asynchronously transmits the process event to the user space, and the efficiency of acquiring the process bottom layer change information by the user space is improved. The method for classifying the process events through the kernel space and deciding the available resources of the process through the user space can be compatible with the rich strategy of the user space and the characteristic that the kernel space can timely acquire the state change of the process, and can avoid the problem of abnormal state of the process caused by resource limitation when the resource limitation is carried out on the process.
In one embodiment, the user space adjusting resource restrictions on the process based on the process communication event includes at least one of:
(1) and the user space starts an event according to the binder to promote the resource priority of the process.
(2) The user space reduces the resource priority of the process according to the binder idle event.
(3) And the user space promotes the resource priority of the process according to the socket arrival event.
The communication events among the processes comprise a binder start event, a binder idle event and a socket arrival event. The user space may adjust the resource limitations of the process based on the received process communication events.
Binder is an important interprocess communication mechanism in mobile operating systems. The communication between different processes is mostly binder communication. Wherein, the kernel space can set two events for binder communication: the binder start event and the binder idle event. The binder start event refers to that a process generates a binder start event immediately when receiving a binder sent by other processes. A binder idle event is a condition that a process no longer has binder session inventory within a preset time period and then generates a binder idle event. When the progress generates a binder starting event, the communication between the progress and other progresses is represented, the user space can promote the resource priority of the progress, and the usable resources of the progress are increased. When the process generates the binder idle event, the process is not communicated with other processes, and the user space can reduce the resource priority of the process and reduce the resources which can be used by the process.
socket is also a widely used communication mechanism in mobile operating systems. For example, the socket mechanism is often used in the Android system. Kernel space can set an event for socket communication: socket arrives at an event. The socket arrival event is generated when a process receives a socket sent by another process. When the socket arrival event is generated by the process, the communication between the process and other processes is represented, and the user space can improve the resource priority of the process and increase the resources available for the process. By the socket, the problem that the communication application program cannot receive the message in time when the resource is limited can be solved.
The kernel space can be provided with a process list, and only when the process in the process list receives the binder or the socket, the corresponding process communication event can be generated.
The resource priority is a limit level of resources available to the process. The user space can set different resource priorities for the application program, and when the resource priorities are different, the limitation on the available resources of the process of the application program is different, namely the user space can set the resource priorities for the process of the application program by setting the resource priorities for the application program. The user space can place the application programs with different resource priorities in different resource groups, and the management of the application programs by the user space is facilitated. User space includes by prioritizing application resources: and setting the resource priority corresponding to the application program by the user space, wherein the resource priority corresponds to the size of the total available resources of the application program. For example, if the user space sets the resource priority of the application to level 1 and the application can use 80% of the total resources, the application can use 80% of the CPU resources, 80% of the memory resources, 80% of the I/O resources, and 80% of the network resources, respectively. The user space may also set resource priorities for the resources available to the application, including CPU resource priority, memory resource priority, I/O resource priority, and network resource priority, respectively. The priority of each resource corresponding to an application program may be different, for example, the priority of the CPU resource corresponding to an application program is 1 level, and 90% of the total CPU resource may be used; the priority of the corresponding memory resource is 2, and 75% of the total memory resource can be used; the priority of the corresponding I/O resource is 4, and 30% of the total I/O resource can be used; the corresponding network resource has a priority of 2, and 80% of the total network resource can be used.
According to the method, the resource priority corresponding to the process can be adjusted by the user space through the received process event, the resource limitation of the process by the user space is quicker and more accurate, and the accuracy of the resource limitation of the process by the user space is improved.
In one embodiment, raising the resource priority of a process comprises:
(1) and if the process of detecting the resource priority to be promoted is a background process, acquiring the resource priority of the currently running foreground process.
(2) And promoting the resource priority of the background process, wherein the resource priority of the background process is not higher than the resource priority of the foreground process after promotion.
The user space may allocate different resource priorities to different applications, so that the resource priorities of the processes corresponding to the same application are the same, and the resource priorities of the processes corresponding to different applications may be different. When the user space promotes the resource priority of the process, if the process with the resource priority promoted is detected to be a background process, the resource priority of the currently running foreground process is obtained.
In order to avoid the preemption of resources by the background process and the foreground process, under a normal condition, the resource priority of the background process is set to be lower than that of the foreground process, and then the resources available for the background process are lower than those available for the foreground process. After the resource priority of the foreground process is obtained, when the user space can improve the resource priority of the background process, the resource priority of the background process is lower than that of the foreground process. When the resource priority of the background process is promoted, the user space comprises the following steps: the total resource priority of the background process is promoted, namely the priority of each resource which can be used by the background process can be promoted; or the priority of one or more resources of the background process is raised, for example, the priority of the CPU resource of the background process is raised, so that the CPU resource available to the background process is increased.
According to the method, when the resource priority of the process is improved, the resource priority of the foreground process is higher than that of the background process, and the problems that the resource of the foreground process is seized and the foreground process runs slowly due to the fact that the resource priority of the background process is higher than that of the foreground process can be avoided.
In one embodiment, the classified process events further include process state events, the process state events being generated according to changes in the life cycle of the process; the user space may update the process information for the process in the user space based on the process state event.
The kernel space can also monitor the change of the process in the life cycle, and generate a process state event according to the change of the process in the life cycle. When the process creates, exits and changes UID, it will generate corresponding process state event, which represents the process state change. When the user space receives a process state event, updates to the process and application states can be maintained according to the process state event. According to the method, the user space can update the process and the process state according to the process state event after receiving the process state event, so that the user space can maintain the update of the process, the user space does not need to inquire the update process and the process state when the user space limits resources of the process, and the efficiency of the user space is improved.
In one embodiment, the method further comprises:
step 306, the user space acquires the time length for the process to enter the background, and if the time length for the process to enter the background reaches the preset time length, the process is frozen; freezing a process refers to prohibiting the process from using system resources.
In general, in order to save power consumption of a computer device, a process entering a background is resource-limited, so that the power consumption of the computer device is saved. Wherein the resource restriction of the process by the computer device may include: a normal limited mode, a depth limited mode and a freeze mode. The common restriction mode restricts available CPU resources of the process, and correspondingly restricts available other resources of the process, such as I/O resources, network resources, and the like; the deep restriction mode is to prohibit the process from using CPU resources, network resources and I/O resources for restriction, but not to restrict the memory resources used by the process. The freeze mode is that the process uses all system resources, namely, the process is prohibited from using CPU resources, network resources and I/O resources, and memory resources occupied by the process are recovered. The user space can obtain the time length of the process entering the background, when the time length of the process entering the background reaches the preset time length, the process can be judged not to be started for a long time, the process is frozen, and resources occupied by the process are released.
According to the method, when the time length of the process entering the background reaches the preset time length, the process can be frozen, and system resources occupied by the process are released, so that the computer equipment can reasonably regulate and control resources used by the process, and the power consumption of the computer equipment is reduced.
In one embodiment, the method further comprises:
step 308, if the user space receives a process communication event corresponding to the process in the frozen state, the process in the frozen state is awakened and resource limitation on the process is adjusted.
When a process is in a frozen state, the process cannot use system resources. When the user space receives a process communication event corresponding to the process in the frozen state, the process in the frozen state can be awakened, so that the process can respond to the process communication event by using the system resources. Wherein, the waking up the process in the frozen state by the user space comprises: and switching the process from the freezing mode to the common limiting mode so that the process can use the system resources. After the user space wakes up the process in the frozen state, the resource priority of the process can be adjusted according to the type of the received process communication event.
According to the method, when the user space receives the process communication event corresponding to the process in the frozen state, the process in the frozen state can be awakened and the resource limitation of the process is adjusted, so that the frozen process can respond to the communication messages of other processes in time, and the resource control rate of the user space to the process is improved.
In one embodiment, the method further comprises:
and step 310, if the user space receives a termination command for the process in the frozen state, unfreezing the process, setting the unfrozen process to be in the unfrozen state, and terminating the unfrozen process according to the termination command.
If the resources of the computer equipment are in short supply, the computer equipment sends a termination command to the frozen process, closes the frozen process and releases the resources occupied by the frozen process. However, when the process is in the frozen state, the process cannot receive any message, and even if the process in the frozen state is awakened, the process can be quickly restored to the frozen state after being awakened, so that the computer device cannot close the process in the frozen state. Typically, a computer device will use two sets of code to terminate a process, one for terminating an unfrozen process and the other for terminating a frozen process.
When the computer equipment receives a termination command for a frozen process, if the frozen process is detected to be in a frozen state, the frozen process is unfrozen, and the unfrozen process is set to be in a non-unfrozen state, the unfrozen process can correctly respond to the termination command, namely the unfrozen process can be closed.
According to the method in the embodiment of the application, the frozen process can be safely terminated by firstly unfreezing and then terminating the frozen process, the situation that the process cannot be terminated is avoided, the computer equipment can terminate the frozen process and the unfrozen process according to a unified termination instruction, the compatibility of terminating the frozen process and terminating the unfrozen process is realized, the difficulty in software development is reduced, and the maintenance of a mobile operating system is facilitated.
In one embodiment, an information processing method includes:
(1) acquiring a process event in a kernel space, and classifying the process event to obtain a classified process event; the classified process events include process communication events, which are generated according to inter-process communication.
(2) The kernel space asynchronously transfers the classified process events and the corresponding processes to the user space, so that the user space adjusts resource limitation of the processes according to the process communication events.
Optionally, the adjusting, by the user space, the resource limitation on the process according to the process communication event includes at least one of the following methods: the user space starts an event according to the binder to promote the resource priority of the process; the user space reduces the resource priority of the process according to the binder idle event; and the user space promotes the resource priority of the process according to the socket arrival event.
Optionally, the raising the resource priority of the process includes: if the process of detecting the resource priority to be promoted is a background process, acquiring the resource priority of the currently running foreground process; and promoting the resource priority of the background process, wherein the resource priority of the background process is not higher than the resource priority of the foreground process after promotion.
Optionally, the classified process events further include process state events, and the process state events are generated according to changes of the process in the life cycle; and the user space updates the process information of the process in the user space according to the process state event.
Optionally, the method further includes: the method comprises the steps that a user space obtains the time length of a process entering a background, and if the time length of the process entering the background reaches a preset time length, the process is frozen; freezing a process refers to prohibiting the process from using system resources.
Optionally, the method further includes: and if the user space receives a process communication event corresponding to the process in the frozen state, awakening the process in the frozen state and adjusting the resource limitation of the process.
Optionally, the method further includes: and if the user space receives a termination command for the process in the frozen state, unfreezing the process, setting the unfrozen process to be in a non-frozen state, and terminating the unfrozen process according to the termination command.
It should be understood that, although the steps in the above-described flowcharts are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps described above may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or stages is not necessarily sequential, but may be performed alternately or alternately with other steps or at least some of the sub-steps or stages of other steps.
Fig. 7 is a block diagram showing the configuration of an information processing apparatus according to an embodiment. As shown in fig. 7, an information processing apparatus includes:
the classification module 702 is configured to obtain a process event in a kernel space, and classify the process event to obtain a classified process event. The classified process events include process communication events, which are generated according to inter-process communication.
And a transmitting module 704, configured to transmit the classified process event and the corresponding process to a user space asynchronously by using the kernel space, so that the user space adjusts resource limitation on the process according to the process communication event.
In one embodiment, the user space adjusting resource restrictions on the process based on the process communication event includes at least one of:
(1) and the user space starts an event according to the binder to promote the resource priority of the process.
(2) The user space reduces the resource priority of the process according to the binder idle event.
(3) And the user space promotes the resource priority of the process according to the socket arrival event.
In one embodiment, the resource priority of the user space promotion process includes: and if the process of detecting the resource priority to be promoted is a background process, acquiring the resource priority of the currently running foreground process. And promoting the resource priority of the background process, wherein the resource priority of the background process is not higher than the resource priority of the foreground process after promotion.
In one embodiment, the categorized process events further include process state events, which are generated from changes in the life cycle of the process. After the transmission module 704 transmits the process state event to the user space, the user space updates the process information of the process in the user space according to the process state event.
Fig. 8 is a block diagram showing the structure of an information processing module in another embodiment. As shown in fig. 8, an information processing apparatus includes: a classification module 802, a transfer module 804, and a freeze module 806. The sorting module 802 and the transmitting module 804 have the same functions as the corresponding modules in fig. 7.
The freezing module 806 is configured to obtain, by the user space, a duration for the process to enter the background, and freeze the process if the duration for the process to enter the background reaches a preset duration. Freezing a process refers to prohibiting the process from using system resources.
Fig. 9 is a block diagram showing the structure of an information processing module in another embodiment. As shown in fig. 9, an information processing apparatus includes: a classification module 902, a transmission module 904, and a wake-up module 906. The sorting module 902 and the transmitting module 904 have the same functions as the corresponding modules in fig. 7.
And the waking module 906 is configured to wake up the process in the frozen state and adjust resource restriction on the process if the user space receives a process communication event corresponding to the process in the frozen state.
Fig. 10 is a block diagram showing the structure of an information processing module in another embodiment. As shown in fig. 10, an information processing apparatus includes: a sort module 1002, a transfer module 1004, a thaw module 1006, and a terminate module 1008. The sorting module 1002 and the transmitting module 1004 have the same functions as the corresponding modules in fig. 7.
The unfreezing module 1006 is configured to unfreeze the process if the user space receives a termination command for the process in the frozen state, and set the process after unfreezing to the non-frozen state.
A termination module 1008 for terminating the thawed process according to the termination command.
The division of the modules in the information processing apparatus is only for illustration, and in other embodiments, the information processing apparatus may be divided into different modules as needed to complete all or part of the functions of the information processing apparatus.
For specific limitations of the information processing apparatus, reference may be made to the above limitations of the information processing method, which are not described herein again. Each module in the information processing apparatus described above may be entirely or partially implemented by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
The implementation of each module in the information processing apparatus provided in the embodiment of the present application may be in the form of a computer program. The computer program may be run on a terminal or a server. The program modules constituted by the computer program may be stored on the memory of the terminal or the server. Which when executed by a processor, performs the steps of the method described in the embodiments of the present application.
The embodiment of the application also provides a computer readable storage medium. One or more non-transitory computer-readable storage media containing computer-executable instructions that, when executed by one or more processors, cause the processors to perform the steps of the information processing methods of embodiments of the present application.
A computer program product containing instructions which, when run on a computer, cause the computer to perform the steps of the information processing method in the embodiments of the present application.
The embodiment of the application also provides computer equipment. As shown in fig. 11, for convenience of explanation, only the parts related to the embodiments of the present application are shown, and details of the technology are not disclosed, please refer to the method part of the embodiments of the present application. The computer device may be any terminal device including a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a POS (Point of Sales), a vehicle-mounted computer, a wearable device, and the like, taking the computer device as the mobile phone as an example:
fig. 11 is a block diagram of a partial structure of a mobile phone related to a computer device provided in an embodiment of the present application. Referring to fig. 11, the cellular phone includes: radio Frequency (RF) circuitry 1110, memory 1120, input unit 1130, display unit 1140, sensors 1150, audio circuitry 1160, wireless fidelity (WiFi) module 1170, processor 1180, and power supply 1190. Those skilled in the art will appreciate that the handset configuration shown in fig. 11 is not intended to be limiting and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
The RF circuit 1110 may be configured to receive and transmit signals during information transmission and reception or during a call, and may receive downlink information of a base station and then process the downlink information to the processor 1180; the uplink data may also be transmitted to the base station. Typically, the RF circuitry includes, but is not limited to, an antenna, at least one Amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, the RF circuitry 1110 may also communicate with networks and other devices via wireless communications. The wireless communication may use any communication standard or protocol, including but not limited to Global System for Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE)), e-mail, Short Messaging Service (SMS), and the like.
The memory 1120 may be used to store software programs and modules, and the processor 1180 may execute various functional applications and data processing of the mobile phone by operating the software programs and modules stored in the memory 1120. The memory 1120 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function (such as an application program for a sound playing function, an application program for an image playing function, and the like), and the like; the data storage area may store data (such as audio data, an address book, etc.) created according to the use of the mobile phone, and the like. Further, the memory 1120 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The input unit 1130 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the cellular phone 1100. Specifically, the input unit 1130 may include a touch panel 1131 and other input devices 1132. Touch panel 1131, which may also be referred to as a touch screen, can collect touch operations of a user on or near the touch panel 1131 (for example, operations of the user on or near touch panel 1131 by using any suitable object or accessory such as a finger or a stylus pen), and drive corresponding connection devices according to a preset program. In one embodiment, the touch panel 1131 may include two parts, a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 1180, and can receive and execute commands sent by the processor 1180. In addition, the touch panel 1131 can be implemented by using various types, such as resistive, capacitive, infrared, and surface acoustic wave. The input unit 1130 may include other input devices 1132 in addition to the touch panel 1131. In particular, other input devices 1132 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), and the like.
The display unit 1140 may be used to display information input by the user or information provided to the user and various menus of the cellular phone. The display unit 1140 may include a display panel 1141. In one embodiment, the Display panel 1141 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like. In one embodiment, touch panel 1131 can cover display panel 1141, and when touch panel 1131 detects a touch operation thereon or nearby, the touch operation is transmitted to processor 1180 to determine the type of touch event, and then processor 1180 provides a corresponding visual output on display panel 1141 according to the type of touch event. Although in fig. 11, the touch panel 1131 and the display panel 1141 are two independent components to implement the input and output functions of the mobile phone, in some embodiments, the touch panel 1131 and the display panel 1141 may be integrated to implement the input and output functions of the mobile phone.
The cell phone 1100 can also include at least one sensor 1150, such as a light sensor, motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 1141 according to the brightness of ambient light, and the proximity sensor may turn off the display panel 1141 and/or the backlight when the mobile phone moves to the ear. The motion sensor can comprise an acceleration sensor, the acceleration sensor can detect the magnitude of acceleration in each direction, the magnitude and the direction of gravity can be detected when the mobile phone is static, and the motion sensor can be used for identifying the application of the gesture of the mobile phone (such as horizontal and vertical screen switching), the vibration identification related functions (such as pedometer and knocking) and the like; the mobile phone may be provided with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor.
Audio circuitry 1160, speaker 1161 and microphone 1162 may provide an audio interface between a user and a cell phone. The audio circuit 1160 may transmit the electrical signal converted from the received audio data to the speaker 1161, and convert the electrical signal into a sound signal for output by the speaker 1161; on the other hand, the microphone 1162 converts the collected sound signal into an electrical signal, and the electrical signal is received by the audio circuit 1160 and converted into audio data, and then the audio data is processed by the audio data output processor 1180, and then the audio data is sent to another mobile phone through the RF circuit 1110, or the audio data is output to the memory 1120 for subsequent processing.
WiFi belongs to short-distance wireless transmission technology, and the cell phone can help a user to receive and send e-mails, browse webpages, access streaming media and the like through the WiFi module 1170, and provides wireless broadband internet access for the user. Although fig. 11 shows the WiFi module 1170, it is to be understood that it does not necessarily form part of the handset 1100 and may be omitted as desired.
The processor 1180 is a control center of the mobile phone, and is connected to various parts of the whole mobile phone through various interfaces and lines, and executes various functions of the mobile phone and processes data by operating or executing software programs and/or modules stored in the memory 1120 and calling data stored in the memory 1120, thereby performing overall monitoring of the mobile phone. In one embodiment, the processor 1180 may include one or more processing units. In one embodiment, the processor 1180 may integrate an application processor and a modem processor, wherein the application processor mainly handles operating systems, user interfaces, application programs, and the like; the modem processor handles primarily wireless communications. It will be appreciated that the modem processor described above may not be integrated within processor 1180.
The cell phone 1100 also includes a power supply 1190 (e.g., a battery) for providing power to various components, which may be logically coupled to the processor 1180 via a power management system, such that the power management system may be configured to manage charging, discharging, and power consumption.
In one embodiment, the cell phone 1100 may also include a camera, a bluetooth module, and the like.
In the embodiment of the present application, the processor 1180 included in the computer device implements the steps of the information processing method in the embodiment of the present application when executing the computer program stored in the memory.
Any reference to memory, storage, database, or other medium used herein may include non-volatile and/or volatile memory. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and bus dynamic RAM (RDRAM).
The above examples only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. An information processing method characterized by comprising:
acquiring a process event in a kernel space, and classifying the process event to obtain a classified process event; the classified process events comprise process communication events, and the process communication events are generated according to communication among processes;
the kernel space asynchronously transmits the classified process events, the processes corresponding to the process events and the reasons for the occurrence of the process events to a user space, so that the user space adjusts resource limitation on the processes according to the process communication events; the user space adjusting resource restrictions on the process according to the process communication event comprises at least one of the following methods:
the user space promotes the resource priority of the process according to the binder starting event;
the user space reduces the resource priority of the process according to the binder idle event;
and the user space promotes the resource priority of the process according to the socket arrival event.
2. The method of claim 1, wherein: the method further comprises the following steps:
setting a process list in the kernel space;
and if the process in the process list receives the binder starting event or the socket idle event, generating a corresponding process communication event.
3. The method of claim 2, wherein the raising the resource priority of the process comprises:
if the process of detecting the resource priority to be promoted is a background process, acquiring the resource priority of a currently running foreground process;
and promoting the resource priority of the background process, wherein the resource priority of the background process after promotion is not higher than the resource priority of the foreground process.
4. The method of claim 1, wherein:
the classified process events further comprise process state events, and the process state events are generated according to changes of the processes in the life cycle;
and the user space updates the process information of the process in the user space according to the process state event.
5. The method of any of claims 1 to 4, further comprising:
the user space acquires the time length of a process entering a background, and if the time length of the process entering the background reaches a preset time length, the process is frozen; the step of freezing the process refers to forbidding the process from using system resources.
6. The method of any of claims 1 to 4, further comprising:
and if the user space receives a process communication event corresponding to the process in the frozen state, awakening the process in the frozen state and adjusting the resource limitation of the process.
7. The method of any of claims 1 to 4, further comprising:
and if the user space receives a termination command of the process in the frozen state, unfreezing the process, setting the unfrozen process to be in a non-frozen state, and terminating the unfrozen process according to the termination command.
8. An information processing apparatus characterized by comprising:
the classification module is used for acquiring the process events in the kernel space and classifying the process events to obtain the classified process events; the classified process events comprise process communication events, and the process communication events are generated according to communication among processes;
a transmission module, configured to asynchronously transmit, by the kernel space, the classified process event, the process corresponding to the process event, and the reason for the occurrence of the process event to a user space, so that the user space adjusts resource limitation on the process according to the process communication event; the user space adjusting resource restrictions on the process according to the process communication event comprises at least one of the following methods:
the user space promotes the resource priority of the process according to the binder starting event;
the user space reduces the resource priority of the process according to the binder idle event;
and the user space promotes the resource priority of the process according to the socket arrival event.
9. A computer device comprising a memory and a processor, the memory having stored therein a computer program that, when executed by the processor, causes the processor to perform the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 7.
CN201711480459.6A 2017-12-29 2017-12-29 Information processing method, information processing device, computer equipment and computer readable storage medium Active CN109992425B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711480459.6A CN109992425B (en) 2017-12-29 2017-12-29 Information processing method, information processing device, computer equipment and computer readable storage medium
PCT/CN2018/117010 WO2019128573A1 (en) 2017-12-29 2018-11-22 Information processing method, apparatus, computer device and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711480459.6A CN109992425B (en) 2017-12-29 2017-12-29 Information processing method, information processing device, computer equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN109992425A CN109992425A (en) 2019-07-09
CN109992425B true CN109992425B (en) 2022-03-15

Family

ID=67066408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711480459.6A Active CN109992425B (en) 2017-12-29 2017-12-29 Information processing method, information processing device, computer equipment and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN109992425B (en)
WO (1) WO2019128573A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416380B (en) * 2019-08-21 2024-03-29 成都鼎桥通信技术有限公司 Method and device for killing and freezing prevention by application
CN113472952A (en) * 2020-03-31 2021-10-01 深圳市万普拉斯科技有限公司 Call making method, device, computer equipment and storage medium
CN111832976A (en) * 2020-07-29 2020-10-27 深圳市睿策者科技有限公司 Resource configuration pushing method and device, computer equipment and storage medium
CN113849238B (en) * 2021-09-29 2024-02-09 浪潮电子信息产业股份有限公司 Data communication method, device, electronic equipment and readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479108A (en) * 2010-11-26 2012-05-30 中国科学院声学研究所 Terminal resource management system for multi-application process embedded system and method
CN102722431A (en) * 2012-04-25 2012-10-10 华为技术有限公司 Process monitoring method and process monitoring device
CN103514030A (en) * 2012-07-24 2014-01-15 Tcl集团股份有限公司 Event collecting and reporting system and method of Android system
CN105677460A (en) * 2015-12-28 2016-06-15 小米科技有限责任公司 Application processing method and apparatus
CN105808324A (en) * 2014-12-30 2016-07-27 展讯通信(天津)有限公司 Method for improving fluency of system and mobile terminal
CN105938441A (en) * 2016-04-15 2016-09-14 惠州Tcl移动通信有限公司 Mobile terminal application setting processing method and system
CN106648849A (en) * 2016-10-18 2017-05-10 上海传英信息技术有限公司 Process freezing method and mobile terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971205B2 (en) * 2005-12-01 2011-06-28 International Business Machines Corporation Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status
CN102117240B (en) * 2009-12-31 2016-01-20 腾讯科技(深圳)有限公司 A kind of method and device obtaining progress blocking information
CN105138402B (en) * 2015-08-25 2019-02-15 海信集团有限公司 A kind of priority level adjustment method and device of the release of application process memory
CN106909834A (en) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 A kind of data processing method and device
CN106951314B (en) * 2017-03-10 2020-06-09 清华大学 Cutting-off method for Android system background service automatic awakening

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479108A (en) * 2010-11-26 2012-05-30 中国科学院声学研究所 Terminal resource management system for multi-application process embedded system and method
CN102722431A (en) * 2012-04-25 2012-10-10 华为技术有限公司 Process monitoring method and process monitoring device
CN103514030A (en) * 2012-07-24 2014-01-15 Tcl集团股份有限公司 Event collecting and reporting system and method of Android system
CN105808324A (en) * 2014-12-30 2016-07-27 展讯通信(天津)有限公司 Method for improving fluency of system and mobile terminal
CN105677460A (en) * 2015-12-28 2016-06-15 小米科技有限责任公司 Application processing method and apparatus
CN105938441A (en) * 2016-04-15 2016-09-14 惠州Tcl移动通信有限公司 Mobile terminal application setting processing method and system
CN106648849A (en) * 2016-10-18 2017-05-10 上海传英信息技术有限公司 Process freezing method and mobile terminal

Also Published As

Publication number Publication date
WO2019128573A1 (en) 2019-07-04
CN109992425A (en) 2019-07-09

Similar Documents

Publication Publication Date Title
CN110018901B (en) Memory recovery method and device, computer equipment and computer readable storage medium
CN109144232B (en) Process processing method and device, electronic equipment and computer readable storage medium
CN110032266B (en) Information processing method, information processing device, computer equipment and computer readable storage medium
CN109992425B (en) Information processing method, information processing device, computer equipment and computer readable storage medium
CN109992364B (en) Application freezing method and device, computer equipment and computer readable storage medium
CN112703714B (en) Application processing method and device, computer equipment and computer readable storage medium
WO2019128546A1 (en) Application program processing method, electronic device, and computer readable storage medium
CN108541013B (en) Information processing method, device, mobile terminal and computer readable storage medium
CN109992375B (en) Information processing method, information processing device, computer equipment and computer readable storage medium
CN109445917B (en) Application processing method and device, electronic equipment and computer readable storage medium
CN110018905B (en) Information processing method, information processing apparatus, computer device, and computer-readable storage medium
CN109992380B (en) Application program processing method and device, electronic equipment and computer readable storage medium
CN110018886B (en) Application state switching method and device, electronic equipment and readable storage medium
CN109992309B (en) Application program processing method and device, electronic equipment and computer readable storage medium
CN110018885B (en) Application program freezing method and device, storage medium and terminal
CN109992323B (en) Process processing method and device, electronic equipment and computer readable storage medium
CN110032397B (en) Application processing method and device, electronic equipment and computer readable storage medium
CN109992360B (en) Process processing method and device, electronic equipment and computer readable storage medium
CN109375995B (en) Application freezing method and device, storage medium and electronic equipment
CN109992362B (en) Application program processing method and device, electronic equipment and computer readable storage medium
CN109992395B (en) Application freezing method and device, terminal and computer readable storage medium
CN109992369B (en) Application program processing method and device, electronic equipment and computer readable storage medium
CN110046033B (en) Application program processing method and device, electronic equipment and computer readable storage medium
WO2019128553A1 (en) Application processing method, electronic device, and computer-readable storage medium
CN110045812B (en) Information processing method, information processing device, computer equipment and computer readable storage 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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant