CN110837420B - Resource scheduling method, device, terminal and storage medium - Google Patents
Resource scheduling method, device, terminal and storage medium Download PDFInfo
- Publication number
- CN110837420B CN110837420B CN201911102818.3A CN201911102818A CN110837420B CN 110837420 B CN110837420 B CN 110837420B CN 201911102818 A CN201911102818 A CN 201911102818A CN 110837420 B CN110837420 B CN 110837420B
- Authority
- CN
- China
- Prior art keywords
- resource scheduling
- event
- target application
- target
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The embodiment of the application discloses a resource scheduling method, a resource scheduling device, a terminal and a storage medium, and belongs to the technical field of computers. According to the method and the device, the resource scheduling data can be obtained and analyzed immediately after the target application generates the jamming event, and when the event is the abnormal event caused by scheduling of the operating system, the resource corresponding to the abnormal resource scheduling event is distributed to the target application, so that the main cause of jamming can be rapidly determined after the jamming event occurs to the target application, the corresponding resource is released, the average frame rate and the frame rate stability of the target application are improved, and the running effect of the target application is further improved.
Description
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a resource scheduling method, a resource scheduling device, a terminal and a storage medium.
Background
With the increasing development and application of high-performance applications, the high-performance applications installed in the terminal improve the working efficiency of the user and enrich the entertainment life of the user.
In the related art, the hardware resources of the terminal are also required to be higher for high-performance applications. In order to ensure that the high-performance application always has high data computation capability, a person skilled in the art usually binds the main thread of the high-performance application to the high-performance core of the terminal.
However, in some scenarios, applications that have bound the main thread to the high performance core may still experience a stuck phenomenon.
Disclosure of Invention
The embodiment of the application provides a resource scheduling method, a resource scheduling device, a terminal and a storage medium, which can solve the problem that the phenomenon of pause still occurs in an application which binds a main thread to a high-performance core. The technical scheme is as follows:
according to an aspect of the present application, there is provided a resource scheduling method, including:
when a target application generates a stuck event, resource scheduling data is obtained, wherein the resource scheduling data is data for calling resources by the target application in a target time period, and the target time period is a time period of a specified duration before the stuck event occurs;
determining an abnormal resource scheduling event causing the stuck event according to the resource scheduling data;
and when the abnormal resource scheduling event belongs to a system scheduling abnormal event, allocating the resource corresponding to the abnormal resource scheduling event to the target application.
According to another aspect of the present application, there is provided a resource scheduling apparatus, the apparatus including:
the data acquisition module is used for acquiring resource scheduling data when a target application generates a stuck event, wherein the resource scheduling data is data for calling resources by the target application in a target time period, and the target time period is a time period of a specified duration before the stuck event occurs;
the abnormity determining module is used for determining an abnormal resource scheduling event causing the stuck event according to the resource scheduling data;
and the resource allocation module is used for allocating the resources corresponding to the abnormal resource scheduling events to the target application when the abnormal resource scheduling events belong to system scheduling abnormal events.
According to another aspect of the present application, there is provided a terminal including a processor and a memory, where at least one instruction is stored, and the instruction is loaded and executed by the processor to implement the resource scheduling method as provided in the embodiments of the present application.
According to another aspect of the present application, there is provided a computer-readable storage medium having at least one instruction stored therein, the instruction being loaded and executed by a processor to implement the resource scheduling method as provided in the embodiments of the present application.
The beneficial effects brought by the technical scheme provided by the embodiment of the application can include:
when a target application running in the terminal is subjected to a stuck event, the terminal acquires resource scheduling data, determines an abnormal resource scheduling event causing the stuck event according to the resource scheduling data, and allocates resources corresponding to the abnormal resource scheduling event to the target application when the abnormal resource scheduling event is an event caused by scheduling of an operating system. According to the method and the device, the resource scheduling data can be obtained and analyzed immediately after the target application generates the jamming event, after the abnormal resource scheduling event causing the jamming event is obtained, the terminal can allocate the resource corresponding to the abnormal resource scheduling event to the target application when the event is the abnormal event caused by the scheduling of the operating system, so that the main cause of the jamming can be rapidly determined after the jamming event occurs to the target application, the resource occupied by the cause is obtained, the resource is allocated to the target application, the problem that the target application generates the jamming is rapidly solved from the source, the jamming of the target application is reduced, the average frame rate of the target application is improved, the frame rate stability of the target application is improved, and the running effect of the target application is improved.
Drawings
In order to more clearly describe the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments of the present application will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a block diagram of a terminal according to an exemplary embodiment of the present application;
FIG. 2 is a flowchart of a resource scheduling method according to an exemplary embodiment of the present application;
FIG. 3 is a flowchart of another resource scheduling method provided by another exemplary embodiment of the present application;
FIG. 4 is a schematic diagram of resource scheduling data of an event matched with a low-frequency anomaly template according to the embodiment shown in FIG. 3;
FIG. 5 is a schematic diagram of resource scheduling data of an event matched with a kernel exception template according to the embodiment shown in FIG. 3;
FIG. 6 is a schematic diagram of resource scheduling data of an event matched with an application logic exception template according to the embodiment shown in FIG. 3;
fig. 7 is a block diagram of a structure of a resource scheduling apparatus according to an exemplary embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
The following description refers to the accompanying drawings in which the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
In the description of the present application, it is to be understood that the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. In the description of the present application, it is to be noted that, unless otherwise explicitly specified or limited, the terms "connected" and "connected" are to be interpreted broadly, e.g., as being fixed or detachable or integrally connected; can be mechanically or electrically connected; may be directly connected or indirectly connected through an intermediate. The specific meaning of the above terms in the present application can be understood in a specific case by those of ordinary skill in the art. In addition, in the description of the present application, "a plurality" means two or more unless otherwise specified. "and/or" describes the association relationship of the associated object, indicating that there may be three relationships, for example, a and/or B, which may indicate: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
In order to make the solution shown in the embodiments of the present application easy to understand, several terms appearing in the embodiments of the present application will be described below.
A stuck event: refers to an event triggered by the target application. In one possible implementation, the stuck event may be an interrupt. In one possible implementation of the present application, the stuck event may generate a stuck signal simultaneously when it occurs. When a functional module in the system receives a stuck signal, the corresponding functional module can learn the stuck event.
Resource scheduling data: is the data that the target application calls resources within the target time period. It should be noted that the resource may be at least one of a processor resource, a network resource, a read/write resource (also referred to as an I/O resource), or a storage resource. Wherein the processor resource may be at least one of a processor core size, a processor core number, a processor load, or a processor frequency. The resource scheduling data may reflect the data of the target application scheduling the respective resource at the granularity of a process or thread. For example, the resource scheduling data may reflect, on the granularity of the processes, whether a processor core used by each process on a time axis is a large core or a small core, how often the core of the processor runs, and specifically at which time periods the processes run, wait to run at which time periods, and sleep at which time periods. Similarly, the resource scheduling data can also know the resource scheduling condition of each thread in the granularity of the thread.
Alternatively, in a floor-based application scenario, the resource scheduling data may be systree (english: system Trace, chinese: system Trace) data. It should be noted that, the embodiment of the present application can also obtain other types of resource scheduling data, and the embodiment of the present application does not limit this.
The target time period is as follows: is a period of specified duration before the occurrence of a stuck event. It should be noted that, if the katon event occurs at time a, the target time interval is a time interval of a specified duration with time a as the end time. Optionally, the specified duration is a duration with a constant length, and may be a value of 500 milliseconds, 1 second, or 2 seconds, which is not limited in this embodiment of the present application.
An abnormal resource scheduling event: the event which is formed by the most main factors for causing the seizure event. Optionally, the abnormal resource scheduling event is an event when a thread in the target application calls a resource, and the thread may be a main thread (also referred to as a logical thread) of the target application or a thread other than the main thread in the target application.
Alternatively, the exceptional resource scheduling events may be divided into two categories. The first type of exceptional resource scheduling event may be an exceptional event caused by an operating system schedule. In the abnormal resource scheduling event, the operating system causes a stuck event to the improper scheduling of the resource. The second type of exceptional resource scheduling event may be an exceptional event caused by a logical error of the target application itself. In the abnormal resource scheduling event, the logic error of the target application may include problems of deadlock of the main thread, sleep (english: sleep) abnormality, or too long execution time of the main thread. It should be noted that the logic error of the target application may also be another error that can cause a stuck event, and this is not limited in this embodiment of the present application.
The target application comprises the following steps: refers to a designated application that can run in the operating system of the terminal and provide a visual user interface. Wherein the target application may be at least one of a gaming application, a shopping application, an instant messaging application, a blogging application, a mapping application, a text editing application, a ticketing application, a map navigation application, a video playing application, a live broadcast application, a browser application, a reading application, a music application, a financial payment application, a camera application, a photo beautification application, a smart device control application, a telephony application, a text messaging application, a weather application, a clock application, a system search application, a contacts application, a shared traffic application, a logistics application, a taxi taking application, a take-away application, an attendance card punching application, and a code scanning application.
The game application comprises the following steps: including at least one of a separately packaged gaming application, a gaming application providing launch access through a third party application, and a gaming application integrated in a third party application.
Alternatively, when the gaming application is a stand-alone packaged gaming application, the gaming application may be a separate application, program or client. For example, the game application may be an application installed in a terminal that mounts an android system by apk (android package); alternatively, the game application may be an application installed in a terminal having an ios operating system installed therein via an ipa (apple app) installation package.
Alternatively, when the game application is an application that provides access through a third-party application, the game application may be provided access by the specified third-party application. For example, the game application may be a mini program (mini program) written by html5 (HyperText Markup Language 5, 5 th edition), a Light App (Light App), a fast App, or the like.
Alternatively, the Game applications may be classified according to a Game Playing manner, and for example, may include at least one of a First-person Shooter-type Game application (FPS), a Role-Playing Game application (RPG), an Action Role-Playing Game Application (ARPG), a Multiplayer Online tactical sports Game application (MOBA), a massively Multiplayer Online Game application (MMOG), a cancel-type Game application, a catch-type Game application, a card-type Game application, a music-type Game application, and a place-type Game application.
In one possible implementation, when the gaming application is a massively multiplayer online-like gaming application, MMOG, the MMOG may include: at least one of a policy-like Multiplayer Online Game application (MMOSLG), an Adventure-like Multiplayer Online Game application (MMOAVG), a Simulation-like Multiplayer Online Game application MMOSG, a sports-like Multiplayer Online Game application MMT, a racing-like Multiplayer Online Game application MMORCG and a role-playing-like Multiplayer Online Game application MMORPG.
In one possible implementation, the application that provides access via the third-party application can be used without downloading an installation package, and accordingly, does not need to be uninstalled when the application is not needed. It should be noted that, when the application is used for the first time, an entrance is provided through a specified third-party application, and in a subsequent use process, a user may create a desktop launch icon for the application and directly launch the application through the desktop launch icon. The third-party application may be at least one of the target applications, or may be an application such as an application market or an application store.
Alternatively, when the game application is a game application integrated in a third-party application, the game may be started by a designated start button or start operation while the third-party application is running. The game does not need to be independently installed and uninstalled, and both the configuration file and the resource file for running the game can be integrated in a third-party application.
For example, the resource scheduling method shown in the embodiment of the present application may be applied to a terminal running a target application, where the terminal has a display screen and a resource scheduling function for preventing jamming. The terminal may include a mobile phone, a tablet computer, a laptop computer, a desktop computer, an all-in-one computer, a server, a workstation, a television, a set-top box, smart glasses, a smart watch, a digital camera, an MP4 player terminal, an MP5 player terminal, a learning machine, a point-to-read machine, an electronic book, an electronic dictionary, a vehicle-mounted terminal, a Virtual Reality (VR) player terminal, an Augmented Reality (AR) player terminal, or the like.
Referring to fig. 1, fig. 1 is a block diagram of a terminal according to an exemplary embodiment of the present application, and as shown in fig. 1, the terminal includes a processor 120, a memory 140, and a display component 160, where the memory 140 stores at least one instruction, and the instruction is loaded and executed by the processor 120 to implement a resource scheduling method according to various method embodiments of the present application. Optionally, display component 160 is used to display image frames resulting from rendering image data from memory 140 by processor 120.
In the present application, the terminal 100 is an electronic device having a target application running thereon. When a target application in the terminal 100 generates a stuck event, the terminal 100 can obtain resource scheduling data, where the resource scheduling data is data for the target application to call resources in a target time period, and the target time period is a time period of a specified duration before the stuck event occurs; determining an abnormal resource scheduling event causing the stuck event according to the resource scheduling data; and when the abnormal resource scheduling event is an abnormal event caused by scheduling of an operating system, allocating the resource corresponding to the abnormal resource scheduling event to the target application.
The Memory 140 may include a Random Access Memory (RAM) or a Read-Only Memory (ROM). Optionally, the memory 140 includes a non-transitory computer-readable medium. The memory 140 may be used to store instructions, programs, code, sets of codes, or sets of instructions. The memory 140 may include a stored program area and a stored data area, wherein the stored program area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing various method embodiments described below, and the like; the storage data area may store data and the like referred to in the following respective method embodiments.
The display unit 160 is used for displaying the image frames temporarily stored in the buffer queue. The image frames in the buffer queue are rendered by the processor 120 from the data retrieved from the memory 140, and when the processor 120 completes rendering the image frames, the processor 120 adds the rendered image frames to the buffer queue. The display component 160 extracts the image frames from the buffer queue for display according to the first-in first-out rule.
Alternatively, the display component 160 may be a display screen, a projection screen component, a projection component, or a holographic display component, which is not limited in this application.
Referring to fig. 2, fig. 2 is a flowchart of a resource scheduling method according to an exemplary embodiment of the present application. The resource scheduling method can be applied to the terminal shown above. In fig. 2, the resource scheduling method includes:
In the embodiment of the application, the terminal can install and run the target application. When the target application is running, the image data of the target application can be rendered by a processor in the terminal, and then the image frame resulting from the completion of the rendering can be displayed in the screen. Generally, when the terminal is capable of displaying 24 frames of images per second, the user can feel that the displayed picture of the target application is relatively smooth. However, when the image frames displayed by the target application are less than 24 frames per second, the user will feel stuck, i.e. the target application has stuck.
When the target application is in a stuck event, the terminal acquires resource scheduling data. In one possible implementation, the terminal can obtain the resource scheduling data by a system performance analysis tool. Optionally, the system performance analysis tool may be embedded in the operating system, developed by an operating system deep developer, or provided by a third-party service provider.
Optionally, the operating system may further be capable of acquiring the resource scheduling data and then storing the resource scheduling data locally. In detail, since the resource scheduling data is acquired and stored in the memory in real time, the storage time is limited and the resource scheduling data is periodically cleaned. Therefore, the resource scheduling data acquired from the memory is stored in the nonvolatile computer readable storage device according to the embodiment of the present application.
In the embodiment of the application, the terminal can also analyze the resource scheduling data to obtain an abnormal resource scheduling event causing a stuck event, which is contained in the data. It should be noted that the resource scheduling data may include the situation of scheduling resources by each object within the target duration. The object may be a process in the target application, and the object may also be a thread in the target application, which is not limited in this embodiment of the present application.
It should be noted that the terminal has the capability of identifying an abnormal resource scheduling event causing a stuck event. In a possible mode, a condition for judging the abnormal resource scheduling event is set in the terminal, and the terminal judges the event in the resource scheduling data according to the condition to finally obtain the abnormal resource scheduling event. Optionally, the exception resource scheduling event may be one event or multiple events.
For example, if the resource scheduling data is resource scheduling data of the main thread a, the resource recovery thread B, the rendering thread C1, the rendering thread C2, and the burst thread D of the target application within 1 second, the resource scheduling data may provide a case where the above five threads schedule various resources within 1 second.
And step 230, when the abnormal resource scheduling event is an abnormal event caused by the scheduling of the operating system, allocating the resource corresponding to the abnormal resource scheduling event to the target application.
In the embodiment of the application, the terminal can further judge the attribute of the abnormal resource scheduling event. When the terminal determines that the abnormal resource scheduling event is the abnormal event caused by the operating system, the terminal can allocate the resource corresponding to the abnormal resource scheduling event to the target application. It should be noted that, in the running process of the target application, it is ensured that the main thread has sufficient resources to run, that is, it is greatly possible to ensure that the whole running of the target application is smooth and not stuck. After the terminal allocates the resources corresponding to the abnormal resource scheduling event to the target application, the target application can allocate the resources to the main thread to ensure the smoothness of the target application in operation.
In summary, according to the resource scheduling method provided in this embodiment, when a target application running in a terminal has a stuck event, the terminal obtains resource scheduling data, and determines an abnormal resource scheduling event causing the stuck event according to the resource scheduling data, and when the abnormal resource scheduling event is an event caused by scheduling of an operating system, the terminal allocates a resource corresponding to the abnormal resource scheduling event to the target application. According to the method and the device, the resource scheduling data can be obtained and analyzed immediately after the target application generates the jamming event, after the abnormal resource scheduling event causing the jamming event is obtained, the terminal can allocate the resource corresponding to the abnormal resource scheduling event to the target application when the event is the abnormal event caused by the scheduling of the operating system, so that the main reason causing the jamming can be rapidly determined after the jamming event occurs to the target application, the resource occupied by the reason is obtained, and the resource is allocated to the target application, and the problem that the target application generates the jamming is rapidly solved from the source, so that the jamming of the target application is reduced, the average frame rate of the target application is improved, the frame rate stability of the target application is improved, and the operation effect of the target application is further improved.
Based on the solution disclosed in the previous embodiment, the terminal can also perform corresponding resource scheduling according to the difference of the specific types of the abnormal resource scheduling causing the stuck event, and please refer to the following embodiments for details.
Referring to fig. 3, fig. 3 is a flowchart of another resource scheduling method according to another exemplary embodiment of the present application. The resource scheduling method can be applied to the terminal shown in fig. 1. In fig. 3, the resource scheduling method includes:
And 313, when the target rendering duration is greater than the preset duration threshold, confirming that the target application is blocked and acquiring resource scheduling data.
In the embodiment of the application, the terminal can determine whether the jamming event is generated in the terminal in a finer mode. As a possible implementation, the terminal is able to record the first time and the second time. It should be noted that the terminal can determine the time when each image frame in the target application is completely rendered. The first image frame and the second image frame are adjacent image frames in a display image frame queue. When the terminal displays the image, the image frames are displayed according to the sequence of the image frame arrangement in the image frame display queue.
For example, if the image frame p1, the image frame p2, and the image frame p3 are rendered continuously in the target application, the terminal can record the rendering completion time of the image frame p1, the rendering completion time of the image frame p2, and the rendering completion time of the image frame p3, respectively, and the details can be seen in the example shown in table one.
Watch 1
Name of image frame | Image frame p1 | Image frame p2 | Image frame p3 |
Time of finishing rendering | 21 hour, 22 minutes, 1.322 seconds | 21 hours, 22 minutes and 1.371 seconds | 21 hour, 22 minutes and 1.461 seconds |
In the example shown in table one, if the time at which the image frame p1 is completely rendered is the first time and the time at which the image frame p2 is completely rendered is the second time, the target rendering duration is 0.049 seconds (i.e., 49 milliseconds). If the time when the rendering of the image frame p2 is completed is the first time and the time when the rendering of the image frame p3 is completed is the second time, the target rendering time period is 0.09 seconds (i.e., 90 milliseconds). It should be noted that the image frame corresponding to each of the first time and the second time needs to be an adjacent image frame in the display image frame queue of the target application. If the image frame corresponding to the first time is p1, the image frame corresponding to the second time is required to be p2.
In the embodiment of the present application, a preset duration threshold may also be preset, and the preset duration threshold may be a constant value. For example, the preset duration threshold may be 65 ms, 50 ms, or 80 ms, which is not limited in the embodiment of the present application. Taking the preset time length threshold value of 65 milliseconds as an example, if the time when the image frame p2 is rendered is the first time and the time when the image frame p3 is rendered is the second time, the terminal determines that the target application is blocked and acquires the resource scheduling data.
It should be noted that, after the terminal acquires the resource scheduling data, the terminal can compare the candidate resource scheduling event in the resource scheduling data with the abnormal scheduling template. If the resource scheduling data comprises resource scheduling data of a main thread A, a resource recovery thread B, a rendering thread C1, a rendering thread C2 and a burst thread D of the target application, and each thread comprises 3 events including a running time event, a processor occupation frequency event and a processor occupation time interval event, the resource scheduling data comprises 15 candidate resource scheduling events in total.
Taking this as an example, when there is an event matching with the abnormal scheduling template in the 15 candidate resource scheduling events, the terminal determines the matching candidate resource scheduling event as an abnormal resource scheduling event.
In the embodiment of the application, the exception scheduling template comprises a low-frequency exception template, a core occupation exception template and an application logic exception template. The exception scheduling template is used for indicating that the average frequency of the processor core bound by the target application in the stuck time interval is lower than the target frequency; the core occupation exception template is used for indicating that the processor core bound by the target application is occupied by the burst thread of the target application; and the application logic exception template is used for indicating that the main thread of the target application has logic exception.
In the embodiment of the application, the terminal can execute corresponding operation according to the specific type of the candidate resource scheduling event. Optionally, the terminal may perform step 330, may also perform step 340, or may further perform steps 351 to 353, where the execution process of the relevant steps is described as follows:
and step 330, when the abnormal resource scheduling event is an event matched with the low-frequency abnormal template, raising the frequency of the processor core bound by the target application to the maximum frequency.
It should be noted that the low-frequency exception template is an event in which the average frequency of the processor cores bound by the target application in the stuck period is lower than the target frequency. The time interval of the stuck event is the time interval between the first moment and the second moment when the stuck event occurs. The target frequency may be the highest frequency of the processor core bound by the target application, or may be close to one of the highest frequencies, which is not limited in this embodiment of the application. In one particular example, if the highest frequency of the processor cores bound by the target application is 2.2GHz, then the target frequency may be 2GHz.
In the embodiment of the application, when the abnormal resource scheduling event is an event matched with the low-frequency abnormal template, the terminal can raise the frequency of the processor core bound by the target application to the maximum frequency, that is, if the maximum frequency of the processor core bound by the target application is 2.2GHz, the terminal can adjust the frequency of the processor core to 2GHz.
Referring to fig. 4, fig. 4 is a schematic diagram of resource scheduling data of an event matched with a low frequency exception template according to the embodiment shown in fig. 3. In FIG. 4, horizontal axis 410 is a time axis and vertical axis 420 is the frequency of processor cores bound by the main thread of the target application. It should be noted that, in this scenario, the frequency of the processor core bound by the target application in the checkpoint period (i.e., the period from point 4A to point 4B) is not changed, and is 1.8GHz. On the time axis 410, a period 411 represents a period in which the main thread of the target application is in operation, and a period 412 represents a period in which the main thread of the target application is in sleep.
And step 340, when the abnormal resource scheduling event is an event matched with the occupied core abnormal template, binding the burst thread to the processor cores except the processor core bound by the target application.
It should be noted that the core occupation exception template is used to indicate that the processor core bound by the target application is occupied by the burst thread of the target application. Wherein the burst thread is a thread in the target application except the main thread.
Referring to fig. 5, fig. 5 is a schematic diagram of resource scheduling data of an event matching with a core exception template according to the embodiment shown in fig. 3. In fig. 5, the horizontal axis 510 is a time axis, and the vertical axis 520 is a case where an exception thread of the target application is running in the karton period (i.e., the period from point 4A to point 4B). Wherein, the time period 511 represents that the exception thread is in a running state, and the time period 512 represents that the exception thread is in a pending state. Because the exception thread is in all threads in the target thread, the operation time length in the pause time period is longest. Therefore, the exception thread is determined as a burst thread in the embodiment of the present application.
As can be seen from the content shown in fig. 5, the exception thread continues to run during the stuck period and preempts the processor core bound by the target application, resulting in stuck. Alternatively, in one possible implementation, the terminal may determine the thread having the longest running time in the stuck period, except for the main thread, as the exception thread.
It should be noted that, in another possible implementation manner, the processor core bound by the target application is the processor core bound by the main thread of the target application. The terminal can also judge how to process the application of the preemption thread according to the identification of the preemption thread when the processor core is applied for occupation by the preemption thread. Because the operating system cannot know the functions of all threads in the application program, the operating system can continuously maintain a blacklist in the running process of the target application, and the blacklist is used for storing the identification of the preemptive thread causing the seizure. And when the identifier of the preempting thread is in the blacklist, the operating system allocates the preempting thread to other processor cores of the terminal for processing. When the identifier of the preemption thread is not in the blacklist, the terminal can allocate the target working period with the limited duration for the preemption thread. Wherein the duration of the target working period is less than the target rendering duration.
For example, when the target application is a gaming application, the main thread of the gaming application is bound to a processor core at a frequency of 2.4 GHz. When a preempting thread L in the game application preempts the processor core, the operating system acquires the identifier of the processor core L and checks whether the preempting thread L is in a blacklist. When the preemption thread L is in the blacklist, the operating system prohibits the preemption thread L from occupying the thread of 2.4GHz and binds the preemption thread L on the other processor cores with 1.8GHz or reduced processing capability. When the preempting thread L is not in the blacklist, the operating system allocates a target working period for the preempting thread L. It should be noted that the duration of the target working period is less than the target rendering duration. If the target rendering duration is 30 ms, the duration of the target working period allocated by the operating system to the preemption thread L will be less than 30 ms. Because the duration of the processor core bound by the main thread of the game application is limited by the preemption thread, when the processor core bound by the main thread is preempted by the preemption thread, the purpose of preliminary jam prevention can be achieved by limiting the duration of the preemption core, meanwhile, the operation of the preemption thread can be ensured, and the operation efficiency of the target application is comprehensively improved.
And step 353, updating the target application according to the logic updating resource package.
It should be noted that, when the abnormal resource scheduling event is an event matched with the application logic abnormality template, the terminal can send the resource scheduling data and the abnormal resource scheduling event to the vendor server. In one possible scenario, the abnormal resource scheduling event may include a deadlock of the main thread, a sleep exception, or an excessively long execution time of the main thread.
When the abnormal resource scheduling event is an event matched with the application logic abnormal template, the reason for causing the target application to be stuck is that the logic of the target application is wrong. Therefore, when the problem is found, the resource scheduling city and the abnormal resource scheduling event are immediately sent to the manufacturer server, so that the manufacturer server searches the corresponding logic updating resource package. And then, the terminal receives the logic updating resource packet fed back by the manufacturer server.
In a possible mode, the terminal can directly load the logic updating resource package in the running process of the target application so as to realize the noninductive upgrading without interfering the user to use the target application. In this upgrade approach, the target application may be a client developed based on electron technology.
In another possible mode, the terminal can load the logic update resource package to complete the update when the current operation of the target application is confirmed to exit. Based on the updating mode, the target application can overcome the logic error of the target application in the subsequent running process, improve the fluency of the target application and quickly start when the target application is started next time.
Referring to fig. 6, fig. 6 is a schematic diagram of resource scheduling data of an event matching an application logic exception template according to the embodiment shown in fig. 3. In fig. 6, the horizontal axis 610 is a time axis, the length of the stuck period is 63.808 milliseconds (a time period between time 611 and time 613), time 611 is a time when the main thread finishes rendering the first image frame, time 612 is a time when the main thread finishes rendering the second image frame, and time 613 is a time when the main thread finishes rendering the third image frame. Time 621 is the time when the second image frame is requested to be rendered and time 622 is the time when the third image frame is requested to be rendered.
Based on the scenario shown in fig. 6, the time period 611 of the accumulated operation of the target thread in the stuck period is greater than the allowed logic operation time threshold, and therefore, the terminal determines the abnormal resource scheduling event as an event matching the application logic abnormality template.
In summary, the resource scheduling method provided in this embodiment can obtain the target rendering duration by calculating the duration of the time period between the second time and the first time according to the first time at which the rendering of the first image frame is completed and the second time at which the rendering of the second image frame is completed, and when the target rendering duration is greater than the preset duration threshold, confirm that the target application has a stuck event and obtain resource scheduling data, so that the sensitivity of detecting the stuck event by the terminal is achieved, and the capability of the terminal to perform resource scheduling again before the stuck event is sensed by the user is improved.
The resource scheduling method provided by the embodiment can also compare the candidate resource scheduling event in the resource scheduling data with the abnormal scheduling template, and when the candidate resource scheduling event is matched with the abnormal scheduling template, the candidate resource scheduling event is determined as the abnormal resource scheduling event, so that the speed of determining the cause of the stuck event is increased, and the speed of solving the stuck event by the terminal is increased.
The resource scheduling method provided in this embodiment can further determine in detail whether the frequency of the processor core bound by the target application is insufficient or a burst thread preempts the processor core bound by the target application when the stuck event is caused by an abnormal event caused by scheduling by the operating system. And when the frequency of the processor core bound by the target application is insufficient, pulling up the frequency of the processor core bound by the target application. When the burst thread occupies the processor core bound by the target application, the burst thread is bound to the processor cores except the processor core bound by the target application for processing, so that the speed of solving the jamming of the terminal is increased in a targeted manner.
The following are embodiments of the apparatus of the present application that may be used to perform embodiments of the method of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method of the present application.
Referring to fig. 7, fig. 7 is a block diagram of a resource scheduling apparatus according to an exemplary embodiment of the present application. The resource scheduling means may be implemented as all or part of the terminal by software, hardware or a combination of both. The device includes:
a data obtaining module 710, configured to obtain resource scheduling data when a target application has a stuck event, where the resource scheduling data is data for the target application to call a resource in a target time period, and the target time period is a time period of a specified duration before the stuck event occurs;
an exception determining module 720, configured to determine, according to the resource scheduling data, an exception resource scheduling event that causes the stuck event;
and the resource allocation module 730 is configured to, when the abnormal resource scheduling event belongs to a system scheduling abnormal event, allocate a resource corresponding to the abnormal resource scheduling event to the target application.
In an optional embodiment, the data obtaining module 710 is configured to record a first time and a second time, where the first time is a time when a first image frame is rendered, and the second time is a time when a second image frame is rendered, and the first image frame and the second image frame are adjacent image frames in a display image frame queue of the target application; acquiring a target rendering duration, wherein the target rendering duration is the duration of a time period between the second moment and the first moment; and when the target rendering duration is greater than a preset duration threshold, confirming that the target application generates the stuck event and acquiring resource scheduling data.
In an optional embodiment, the exception determining module 720 is configured to compare the candidate resource scheduling event in the resource scheduling data with an exception scheduling template; and when the candidate resource scheduling event is matched with the abnormal scheduling template, determining the candidate resource scheduling event as the abnormal resource scheduling event.
In an optional embodiment, the exception scheduling template referred to by the apparatus includes a low-frequency exception template, a core occupation exception template and an application logic exception template, wherein the exception scheduling template is used for indicating that the average frequency of the processor cores bound by the target application in a stuck period is lower than a target frequency; the core occupation exception template is used for indicating that the processor core bound by the target application is occupied by the burst thread of the target application; and the application logic exception template is used for indicating that the main thread of the target application has logic exception.
In an optional embodiment, the exception determining module 720 is configured to raise the frequency of the processor core bound by the target application to a maximum frequency when the exception resource scheduling event is an event matching the low-frequency exception template; and/or binding the burst thread to a processor core except the processor core bound by the target application when the abnormal resource scheduling event is an event matched with the core occupying abnormality template.
In an optional embodiment, the processor core bound to the target application involved in the apparatus is a processor core bound to a main thread of the target application, and the apparatus further includes an identifier obtaining module, a core allocating module, and a time period allocating module, where the identifier obtaining module is configured to obtain an identifier of the preemption thread when the processor core bound to the main thread of the target application is occupied by the preemption thread application; the core allocation module is used for allocating the preemption thread to other processor cores of the terminal for processing when the identification of the preemption thread is in a blacklist; and the time interval distribution module is used for distributing a target working time interval on a processor core bound by a main thread of the target application for the preemptive thread when the identifier of the preemptive thread is not in a blacklist, wherein the duration of the target working time interval is less than the target rendering duration.
In an optional embodiment, the apparatus further includes a data sending module, an update package receiving module, and an application updating module, where the data sending module is configured to send the resource scheduling data and the abnormal resource scheduling event to a vendor server when the abnormal resource scheduling event is an event matching the application logic abnormality template, and the vendor server is a server provided by a developer of the target application; the update package receiving module is used for receiving the logic update resource package fed back by the manufacturer server; and the application updating module is used for updating the target application according to the logic updating resource packet.
In summary, the resource scheduling apparatus provided in this embodiment can obtain the target rendering duration by calculating the duration of the time period between the second time and the first time according to the first time at which the rendering of the first image frame is completed and the second time at which the rendering of the second image frame is completed, and when the target rendering duration is greater than the preset duration threshold, confirm that the target application has a stuck event and obtain resource scheduling data, so that the sensitivity of detecting the stuck event by the terminal is achieved, and the capability of the terminal to perform resource scheduling again before the stuck event which is sensed by the user occurs is improved.
The resource scheduling device provided by the embodiment can also compare the candidate resource scheduling event in the resource scheduling data with the abnormal scheduling template, and when the candidate resource scheduling event is matched with the abnormal scheduling template, the candidate resource scheduling event is determined as the abnormal resource scheduling event, so that the speed of determining the cause of the stuck event is increased, and the speed of solving the stuck event by the terminal is increased.
The resource scheduling apparatus provided in this embodiment can also determine in detail whether the frequency of the processor core bound by the target application is insufficient or whether a burst thread preempts the processor core bound by the target application when the stuck event is caused by an abnormal event caused by scheduling by the operating system. And when the frequency of the processor core bound by the target application is insufficient, pulling up the frequency of the processor core bound by the target application. When the burst thread occupies the processor core bound by the target application, the burst thread is bound to the processor cores except the processor core bound by the target application for processing, so that the speed of solving the jamming of the terminal is increased in a targeted manner.
The present application further provides a computer-readable medium, where at least one instruction is stored, and the at least one instruction is loaded and executed by the processor to implement the resource scheduling method according to the above embodiments.
It should be noted that: in the resource scheduling apparatus provided in the foregoing embodiment, when executing the resource scheduling method, only the division of the functional modules is illustrated, and in practical applications, the function allocation may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the resource scheduling apparatus and the resource scheduling method provided in the foregoing embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments for details, which are not described herein again.
The above-mentioned serial numbers of the embodiments of the present application are merely for description, and do not represent the advantages and disadvantages of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the implementation of the present application and is not intended to limit the present application, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims (9)
1. A method for scheduling resources, the method comprising:
when a processor core bound by a main thread of a target application is applied to be occupied by a preemption thread, acquiring an identifier of the preemption thread, wherein the processor core bound by the target application is the processor core bound by the main thread of the target application;
when the identifier of the preemption thread is in the blacklist, allocating the preemption thread to other processor cores of the terminal for processing;
when the identifier of the preemption thread is not in the blacklist, allocating a target working period on a processor core bound by a main thread of the target application for the preemption thread, wherein the duration of the target working period is less than a target rendering duration, and the target rendering duration is the duration of a time period between adjacent image frame rendering completion moments in a display image frame queue of the target application;
when the target application generates a stuck event, acquiring resource scheduling data, wherein the resource scheduling data is data for calling resources by the target application in a target time period, and the target time period is a time period of a specified duration before the stuck event;
determining an abnormal resource scheduling event causing the stuck event according to the resource scheduling data;
and when the abnormal resource scheduling event is an abnormal event caused by scheduling of an operating system, allocating the resource corresponding to the abnormal resource scheduling event to the target application.
2. The method of claim 1, wherein obtaining resource scheduling data when a target application is stuck event comprises:
recording a first time and a second time, wherein the first time is the time when a first image frame is rendered, the second time is the time when a second image frame is rendered, and the first image frame and the second image frame are adjacent image frames in a display image frame queue of the target application;
acquiring the target rendering duration, wherein the target rendering duration is the duration of a time period between the second moment and the first moment;
and when the target rendering duration is greater than a preset duration threshold, confirming that the target application generates the stuck event and acquiring resource scheduling data.
3. The method of claim 2, wherein determining the anomalous resource scheduling event that caused the stuck event based on the resource scheduling data comprises:
comparing the candidate resource scheduling event in the resource scheduling data with an abnormal scheduling template;
and when the candidate resource scheduling event is matched with the abnormal scheduling template, determining the candidate resource scheduling event as the abnormal resource scheduling event.
4. The method of claim 3, wherein the exception scheduling template comprises a low frequency exception template, a core exception template, and an application logic exception template,
the low-frequency exception template is used for indicating that the average frequency of the processor cores bound by the target application in a stuck time period is lower than a target frequency; the core occupation exception template is used for indicating that the processor core bound by the target application is occupied by the burst thread of the target application; and the application logic exception template is used for indicating that the main thread of the target application has logic exception.
5. The method according to claim 4, wherein when the abnormal resource scheduling event is an abnormal event caused by scheduling of an operating system, allocating a resource corresponding to the abnormal resource scheduling event to the target application comprises:
when the abnormal resource scheduling event is an event matched with the low-frequency abnormal template, raising the frequency of the processor core bound by the target application to the maximum frequency;
and/or the presence of a gas in the atmosphere,
when the abnormal resource scheduling event is an event matched with the core occupying exception template, the burst thread is bound to the processor cores except the processor core bound by the target application.
6. The method of claim 4, further comprising:
when the abnormal resource scheduling event is an event matched with the application logic abnormal template, sending the resource scheduling data and the abnormal resource scheduling event to a manufacturer server, wherein the manufacturer server is a server provided by a developer of the target application;
receiving a logic updating resource packet fed back by the manufacturer server;
and updating the target application according to the logic updating resource packet.
7. An apparatus for scheduling resources, the apparatus comprising:
the identification acquisition module is used for acquiring the identification of the preemption thread when the processor core bound by the main thread of the target application is applied for occupation by the preemption thread, wherein the processor core bound by the target application is the processor core bound by the main thread of the target application;
the core allocation module is used for allocating the preemption thread to other processor cores of the terminal for processing when the identification of the preemption thread is in a blacklist;
a time interval allocation module, configured to allocate, to the preemption thread, a target work time interval on a processor core bound to a main thread of the target application when the identifier of the preemption thread is not in the blacklist, where a duration of the target work time interval is smaller than a target rendering duration, and the target rendering duration is a duration of a time interval between rendering completion times of adjacent image frames in a display image frame queue of the target application;
the data acquisition module is used for acquiring resource scheduling data when the target application generates a stuck event, wherein the resource scheduling data is data for calling resources by the target application in a target time period, and the target time period is a time period of a specified duration before the stuck event occurs;
the abnormity determining module is used for determining an abnormal resource scheduling event causing the stuck event according to the resource scheduling data;
and the resource allocation module is used for allocating the resources corresponding to the abnormal resource scheduling events to the target application when the abnormal resource scheduling events belong to system scheduling abnormal events.
8. A terminal, characterized in that the terminal comprises a processor, a memory connected to the processor, and program instructions stored on the memory, which when executed by the processor, implement the resource scheduling method according to any one of claims 1 to 6.
9. A computer readable storage medium having stored thereon program instructions which, when executed by a processor, implement the resource scheduling method according to any one of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911102818.3A CN110837420B (en) | 2019-11-12 | 2019-11-12 | Resource scheduling method, device, terminal and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911102818.3A CN110837420B (en) | 2019-11-12 | 2019-11-12 | Resource scheduling method, device, terminal and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837420A CN110837420A (en) | 2020-02-25 |
CN110837420B true CN110837420B (en) | 2022-11-15 |
Family
ID=69576451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911102818.3A Active CN110837420B (en) | 2019-11-12 | 2019-11-12 | Resource scheduling method, device, terminal and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837420B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343275B (en) * | 2020-03-02 | 2022-09-30 | 北京奇艺世纪科技有限公司 | Resource scheduling method and system |
CN111538575B (en) * | 2020-04-07 | 2023-11-14 | 北京达佳互联信息技术有限公司 | Resource scheduling system, method, device, equipment and medium |
CN112783660B (en) * | 2021-02-08 | 2024-05-07 | 腾讯科技(深圳)有限公司 | Resource processing method and device in virtual scene and electronic equipment |
CN116450363B (en) * | 2023-06-13 | 2023-11-14 | 荣耀终端有限公司 | Resource scheduling method and electronic equipment |
CN118132311A (en) * | 2024-03-19 | 2024-06-04 | 泰思物联网科技(广州)有限公司 | Automatic management system and method for transmission data based on cloud platform |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343997A (en) * | 2018-10-31 | 2019-02-15 | Oppo广东移动通信有限公司 | Caton detection method, device, terminal and storage medium |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2707796A4 (en) * | 2011-05-13 | 2016-06-08 | Samsung Electronics Co Ltd | Method and apparatus for improving application processing speed in digital device |
CN106096030B (en) * | 2013-04-23 | 2019-10-15 | 北京奇虎科技有限公司 | The method and apparatus that browser execution is optimized |
CN106484537B (en) * | 2016-09-30 | 2019-07-19 | 网易(杭州)网络有限公司 | A kind of distribution method and equipment of CPU core resource |
CN108446199A (en) * | 2017-02-16 | 2018-08-24 | 阿里巴巴集团控股有限公司 | A kind of detection method and device using interim card |
CN107133092A (en) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | Multi-thread synchronization processing method, terminal and computer-readable recording medium |
CN108427618B (en) * | 2018-03-09 | 2021-09-07 | 北京小米移动软件有限公司 | Method and device for determining stuck state and computer readable storage medium |
CN108491275B (en) * | 2018-03-13 | 2022-12-13 | Oppo广东移动通信有限公司 | Program optimization method, device, terminal and storage medium |
CN108776624A (en) * | 2018-05-29 | 2018-11-09 | 北京小米移动软件有限公司 | Determine the method, apparatus and storage medium of terminal interim card reason |
CN109445930A (en) * | 2018-05-30 | 2019-03-08 | Oppo广东移动通信有限公司 | Program optimization method, device, terminal and storage medium |
CN109032793B (en) * | 2018-07-11 | 2021-03-16 | Oppo广东移动通信有限公司 | Resource allocation method, device, terminal and storage medium |
CN109324946A (en) * | 2018-09-10 | 2019-02-12 | 天津字节跳动科技有限公司 | Operational monitoring method, apparatus, electronic equipment and computer readable storage medium |
CN109324878A (en) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | A kind of control method and relevant device of process CPU usage |
-
2019
- 2019-11-12 CN CN201911102818.3A patent/CN110837420B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343997A (en) * | 2018-10-31 | 2019-02-15 | Oppo广东移动通信有限公司 | Caton detection method, device, terminal and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN110837420A (en) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837420B (en) | Resource scheduling method, device, terminal and storage medium | |
CN109582463B (en) | Resource allocation method, device, terminal and storage medium | |
CN109032793B (en) | Resource allocation method, device, terminal and storage medium | |
CN110795056B (en) | Method, device, terminal and storage medium for adjusting display parameters | |
CN108646938B (en) | Configuration method and device of touch screen, terminal and storage medium | |
CN110418151B (en) | Bullet screen information sending and processing method, device, equipment and medium in live game | |
US9244993B1 (en) | Management of application state data | |
CN109144649A (en) | Display methods, device, terminal and the storage medium of icon | |
CN109445941B (en) | Method, device, terminal and storage medium for configuring processor performance | |
CN108721898B (en) | Frame rate determination method and apparatus, storage medium, and electronic apparatus | |
CN112473144A (en) | Game resource data processing method and device | |
CN110413347B (en) | Advertisement processing method and device in application program, storage medium and terminal | |
US20230326115A1 (en) | Bullet screen comment display method and apparatus, bullet screen comment sending method and apparatus, computer device, computer-readable storage medium, and computer program product | |
CN108737645A (en) | The reminding method and device and storage medium and terminal of message | |
CN111124668A (en) | Memory release method and device, storage medium and terminal | |
CN110647366A (en) | Method, device, terminal and storage medium for processing card pause | |
CN109842727B (en) | Touch signal reporting method and device, terminal and storage medium | |
US8434089B2 (en) | Method and system for loading of image resource | |
CN109801104A (en) | A kind of advertising information methods of exhibiting of unaware | |
CN110543384B (en) | Memory write-back method, device, terminal and storage medium | |
CN116546228B (en) | Plug flow method, device, equipment and storage medium for virtual scene | |
CN111309210A (en) | System function execution method, device, terminal and storage medium | |
CN106649621A (en) | Method and device of displaying comment information | |
CN108829824B (en) | Resource processing method and device in internet operation activity | |
CN113825022A (en) | Play control state detection method and device, storage medium and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |