Broadcast distribution method, chip, electronic device and medium

By optimizing the broadcast distribution method, the problems of inefficient broadcast distribution efficiency and broadcast blocking are solved, and more efficient broadcast distribution is achieved.

CN118890317BActive Publication Date: 2025-02-14HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411310757.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-02-14
Estimated Expiration
2044-09-20

AI Technical Summary

Technical Problem

In the prior art, the distribution efficiency of disordered broadcasts is low, and it is easy to cause broadcast blockage due to long-term processing of broadcasters by high-priority broadcast receivers, affecting the overall distribution efficiency.

Method used

By optimizing the broadcast distribution method, unordered broadcasts are distributed to broadcast receivers with high priority but the process already exists, and immediately distribute broadcasts to broadcast receivers with the next priority before their processing is completed, avoiding high priority reception due to high priority reception. blockage affects distribution efficiency.

Benefits of technology

The broadcast blockage situation is reduced, the broadcast distribution efficiency is improved, and the broadcast can reach all recipients more quickly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118890317B_ABST
    Figure CN118890317B_ABST
Patent Text Reader

Abstract

The present application provides a broadcast distribution method, chip, electronic device and medium, which are applied to the field of electronic device technology. The method includes: distributing a target broadcast to a first broadcast receiver; the target broadcast is an unordered broadcast; the first broadcast receiver has a first priority, and when distributing the target broadcast to the first broadcast receiver, the process of the first broadcast receiver already exists; before the first broadcast receiver completes processing the target broadcast, the target broadcast is distributed to the second broadcast receiver of the next priority; when distributing the target broadcast to the second broadcast receiver, there is no third broadcast receiver to which the target broadcast has not been distributed and no fourth broadcast receiver that has not processed the target broadcast; the third broadcast receiver has a first priority; the fourth broadcast receiver is a statically registered broadcast receiver and has a first priority, and when distributing the target broadcast to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist. The present application helps to improve the efficiency of broadcast distribution.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of electronic equipment, and in particular to a broadcast distribution method, chip, electronic equipment and medium. Background Art

[0002] Broadcast is a mechanism for passing messages (for example, transferring data, sending notifications, etc.) between components, which can be in the same process or different processes. Broadcast types can include ordered broadcast and unordered broadcast. For ordered broadcast, there is a sequence between broadcast receivers, and the broadcast will continue to be delivered after a broadcast receiver is processed. Unlike ordered broadcast, unordered broadcast allows multiple broadcast receivers to receive broadcast messages at the same time. There can be priorities between broadcast receivers of unordered broadcast, and broadcasts are distributed to high-priority broadcast receivers first, but high-priority broadcast receivers may cause broadcast blocking, thus affecting the efficiency of broadcast distribution. Summary of the invention

[0003] The present application provides a broadcast distribution method, chip, electronic device and medium, which help to improve the efficiency of broadcast distribution.

[0004] In a first aspect, an embodiment of the present application provides a broadcast distribution method, comprising: distributing a target broadcast to a first broadcast receiver; the target broadcast is an unordered broadcast; the first broadcast receiver has a first priority, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists (i.e., hot start delivery is supported); before the first broadcast receiver completes processing of the target broadcast, the target broadcast is distributed to a second broadcast receiver; the second broadcast receiver has a second priority, and the second priority is the next priority of the first priority; wherein, when the target broadcast is distributed to the second broadcast receiver, there is no third broadcast receiver to which the target broadcast has not been distributed, and there is no fourth broadcast receiver that has not processed the target broadcast; the third broadcast receiver has a first priority; the fourth broadcast receiver is a statically registered broadcast receiver and has a first priority, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist.

[0005] By optimizing the distribution of unordered broadcasts to some broadcast receivers (such as statically registered broadcast receivers that support hot start delivery), the occurrence of broadcast blocking can be reduced, thus improving the efficiency of broadcast distribution.

[0006] Optionally, the first broadcast receiver is a statically registered broadcast receiver; before distributing the target broadcast to the second broadcast receiver, the broadcast distribution method also includes: sending first information to the first broadcast receiver; the first information is used to indicate that the first broadcast receiver is a statically registered broadcast receiver, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists; receiving second information sent by the first broadcast receiver in response to the first information; the second information is sent after the first broadcast receiver receives the target broadcast and before the processing of the target broadcast is completed, and the second information is used to indicate that the first broadcast receiver has completed processing of the target broadcast.

[0007] In this way, the unordered broadcast can be distributed to the second broadcast receiver before the first broadcast receiver completes the broadcast processing without being restricted by the priority, so that the first broadcast receiver does not block the distribution of the broadcast to the second broadcast receiver.

[0008] Optionally, sending before completing the processing of the target broadcast includes: sending before starting to process the received target broadcast.

[0009] Compared to outputting the second information after processing the broadcast, by outputting the second information before processing the broadcast, the second information can be output in advance to a greater extent, which helps to improve the broadcast distribution efficiency to a greater extent.

[0010] Optionally, before sending the first information to the first broadcast receiver, the broadcast distribution method further includes: canceling the broadcast timeout limit on the first broadcast receiver.

[0011] By canceling the broadcast timeout, the ANR problem can be avoided to ensure that the device does not report an error, thereby supporting the first broadcast receiver to complete the broadcast processing.

[0012] Optionally, before distributing the target broadcast to the second broadcast receiver, the broadcast distribution method also includes: distributing the target broadcast to the fourth broadcast receiver; sending third information to the fourth broadcast receiver; the third information is used to indicate that the fourth broadcast receiver is a statically registered broadcast receiver, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist; receiving fourth information sent by the fourth broadcast receiver in response to the third information; the fourth information is sent after the fourth broadcast receiver completes processing of the target broadcast, and the fourth information is used to indicate that the fourth broadcast receiver has completed processing of the target broadcast.

[0013] To ensure the broadcast distribution effect, the broadcast distribution of broadcast receivers that support hot start delivery can be selectively optimized, while the broadcast distribution of broadcast receivers that do not support hot start delivery remains unchanged.

[0014] Optionally, distributing the target broadcast to the second broadcast receiver includes: determining whether there is an idle broadcast distribution channel; and distributing the target broadcast to the second broadcast receiver through the idle broadcast distribution channel.

[0015] Based on the monitoring of whether the broadcast distribution channel is idle or not, the unordered broadcast can be distributed in time.

[0016] Optionally, distributing the target broadcast to the first broadcast receiver includes: sending the target broadcast to the first application, the first application including the process of the first broadcast receiver; the target broadcast is sent by the first application to the first broadcast receiver. In this way, the applications can be distinguished to distribute the unordered broadcast.

[0017] In the second aspect, an embodiment of the present application provides a broadcast distribution device, including: a first processing module, used to distribute a target broadcast to a first broadcast receiver; the target broadcast is an unordered broadcast; the first broadcast receiver has a first priority, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists; a second processing module, used to distribute the target broadcast to a second broadcast receiver before the first broadcast receiver completes processing of the target broadcast; the second broadcast receiver has a second priority, and the second priority is the next priority of the first priority; wherein, when the target broadcast is distributed to the second broadcast receiver, there is no third broadcast receiver to which the target broadcast has not been distributed, and there is no fourth broadcast receiver that has not processed the target broadcast; the third broadcast receiver has the first priority; the fourth broadcast receiver is a statically registered broadcast receiver and has the first priority, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist.

[0018] In a third aspect, an embodiment of the present application provides a chip, comprising: a processor, which is used to execute computer program instructions stored in a memory, wherein when the computer program instructions are executed by the processor, the chip is triggered to execute any method as in the first aspect.

[0019] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising one or more memories for storing computer program instructions, and one or more processors, wherein when the computer program instructions are executed by the one or more processors, the electronic device is triggered to execute a method as described in any one of the first aspects.

[0020] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program runs on a computer, the computer executes any method in the first aspect.

[0021] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is run on a computer, the computer executes any method in the first aspect.

[0022] The technical effects of the aforementioned aspects can be referenced to each other and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments are briefly introduced below.

[0024] Figure 1a Broadcast distribution diagram for ordered broadcasting provided for this application;

[0025] Figure 1b A schematic diagram of broadcast distribution for unordered broadcasting provided for this application;

[0026] Figure 2 A schematic diagram of a broadcast distribution process provided for this application;

[0027] Figure 3 A schematic diagram of another broadcast distribution process provided in an embodiment of the present application;

[0028] Figure 4 A timing diagram of a broadcast distribution method provided in an embodiment of the present application;

[0029] Figure 5 A flowchart of a broadcast distribution method provided in an embodiment of the present application;

[0030] Figure 6 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;

[0031] Figure 7 A schematic diagram of the software architecture of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0032] In order to better understand the technical solution of the present application, the embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0033] It should be clear that the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0034] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms "a", "said" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.

[0035] It should be understood that the term "at least one" used in this article refers to one or more, and "plurality" refers to two or more. The term "and / or" used in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. Among them, A and B can be singular or plural. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b and c can be represented by: a, b, c, ab, ac, bc, or abc, wherein a, b, c can be single or multiple.

[0036] It should be understood that, although the terms first, second, etc. may be used to describe the set thresholds in the embodiments of the present application, these set thresholds should not be limited to these terms. These terms are only used to distinguish the set thresholds from each other. For example, without departing from the scope of the embodiments of the present application, the first set threshold may also be referred to as the second set threshold, and similarly, the second set threshold may also be referred to as the first set threshold.

[0037] Broadcasting is a mechanism for passing messages (e.g., passing data, sending notifications, etc.) between components, which can be in the same process or in different processes.

[0038] Exemplarily, system broadcast is a type of broadcast in the broadcast mechanism. The operating system of an electronic device (such as a smart phone, etc.) can notify various application programs (or applications for short) on the electronic device of various status information of the device system by sending system broadcasts. For example, a power-on broadcast can be issued after the device is turned on, a power change broadcast can be issued after the device power changes, and a screen on / off broadcast can be issued after the device turns on / off the screen.

[0039] The broadcast mechanism may involve a broadcast sender, a broadcast receiver (or broadcast receiver, broadcast receiver), and a broadcast distribution module. The broadcast sender may send a broadcast (i.e., a broadcast message) to the broadcast distribution module, and the broadcast distribution module may determine the broadcast receiver corresponding to the broadcast, and then distribute the broadcast to the determined broadcast receiver. Exemplarily, the broadcast distribution module may include an Activity Manager Service (AMS) in the electronic device.

[0040] Exemplarily, the application process can pre-register a broadcast receiver in the operating system, and the application process can receive system broadcasts through the registered broadcast receiver. In response to the received system broadcast, the application can perform corresponding actions, such as displaying a preset interface, executing preset instructions, etc. The types of broadcasts can include ordered broadcasts and unordered broadcasts. "Ordered" and "unordered" are used to distinguish whether the broadcasts are sent in order for the broadcast receiver (BroadcastReceiver).

[0041] For ordered broadcast, there is a sequence between broadcast receivers. After a broadcast receiver's process is processed, the broadcast will continue to be transmitted. In other words, the ordered broadcast can be sent to each broadcast receiver one by one in a serial transmission mode.

[0042] By sending ordered broadcasts serially, it is possible to ensure that the process initialization of the broadcast receiver is completed to ensure the normal call of Binder. Among them, the Binder mechanism is an inter-process communication (IPC) mechanism, and the broadcast distribution module can distribute broadcasts to broadcast receivers through the Binder mechanism.

[0043] In the process of sending ordered broadcasts serially, the previous broadcast receiver modifies (for example, it can carry information) or interrupts the broadcast. By interrupting the broadcast, other broadcast receivers behind can be prevented from continuing to receive the broadcast message. Then, the broadcast receivers behind cannot receive the broadcast, and the ordered broadcast distribution is interrupted.

[0044] See also Figure 1a , the broadcast receivers corresponding to a certain ordered broadcast are broadcast receiver 1 to broadcast receiver 3. The broadcast is first distributed to broadcast receiver 1. After broadcast receiver 1 completes the broadcast processing, the broadcast processed by broadcast receiver 1 is distributed to broadcast receiver 2. After broadcast receiver 2 completes the broadcast processing, the broadcast processed by broadcast receiver 2 is distributed to broadcast receiver 3. Both broadcast receiver 2 and broadcast receiver 3 can modify or interrupt the broadcast.

[0045] Unlike ordered broadcast, unordered broadcast allows multiple broadcast receivers to receive broadcast messages at the same time. In other words, unordered broadcast can be sent to each broadcast receiver separately in parallel.

[0046] See also Figure 1b , the broadcast receivers corresponding to a certain unordered broadcast are broadcast receivers 4 to 6, and the unordered broadcast can be distributed to broadcast receivers 4 to 6 in parallel.

[0047] There can be a priority between the broadcast receivers of unordered broadcasts. The priority is used to reflect whether the broadcast receiver has the need to receive the broadcast first. The broadcast can be distributed to the broadcast receivers with high priority first, and then to the broadcast receivers with low priority.

[0048] The registration types of broadcast receivers can include static registration and dynamic registration. Among them, static registration is registered through a manifest file (such as the AndroidManifest.xml file), and dynamic registration is registered through code. The application can dynamically register and unregister broadcast receivers in code at runtime.

[0049] It is feasible that the correspondence between the broadcast receivers and the broadcasts can be recorded in the manifest file. After the electronic device is started, the manifest files of several applications can be scanned to obtain the correspondence between the broadcast receivers and the broadcasts in each application respectively, and the obtained correspondence can be saved in the Package Manager Service (PMS). When the broadcast distribution module receives the broadcast sent by the broadcast sender, it can obtain the various broadcast receivers corresponding to the broadcast from the PMS to send the broadcast to the various broadcast receivers corresponding to the broadcast. By configuring the above correspondence to the PMS, it is possible to register the broadcast without executing the code.

[0050] Based on the different registration methods and processing logic, dynamically registered broadcast receivers can usually process broadcasts faster, while some statically registered broadcast receivers take a relatively longer time to process broadcasts. For example, some applications may not be well implemented (such as application running lags, etc.), or the system is overloaded. For statically registered broadcast receivers, even if their processes exist, it will still take a long time to process broadcasts.

[0051] In this way, some broadcast receivers that are statically registered and support hot start delivery (i.e., the receiver scheduling type is hot start delivery) may have a lower broadcast processing time, while other broadcast receivers that are statically registered and support hot start delivery may have a higher broadcast processing time. For example, the broadcast processing times of two broadcast receivers that are statically registered and support hot start delivery for a certain unordered broadcast are 660ms and 3330ms respectively, while the broadcast processing times of two broadcast receivers that are statically registered and support hot start delivery for another unordered broadcast are 254ms and 5042ms respectively.

[0052] Among them, hot start delivery may mean that when distributing a broadcast to a broadcast receiver, the receiver process already exists. The receiver scheduling type of the broadcast receiver may be hot start delivery or not.

[0053] In the case where there are priorities among broadcast receivers of unordered broadcast, it is feasible to wait until the high-priority broadcast receivers complete the broadcast processing before distributing the broadcast to the low-priority broadcast receivers. In this way, since the broadcast processing of some statically registered broadcast receivers takes a long time, when distributing unordered broadcasts, if these broadcast receivers have high priorities, it is easy for high-priority broadcast receivers to cause broadcast blocking due to the long broadcast processing time, thereby affecting the broadcast distribution efficiency.

[0054] Exemplarily, the broadcast receivers of a certain unordered broadcast may include R1 to R9 shown in Table 1, and the receiver type (static / dynamic registration) and priority of each broadcast receiver may be as shown in Table 1.

[0055] Table 1

[0056]

[0057] As shown in Table 1, broadcast receivers R1~R9 can have different priorities and receiver types. Based on the priority, the broadcast distribution module can first distribute unordered broadcasts to R1~R4, then distribute unordered broadcasts to R5, and finally distribute unordered broadcasts to R6~R9. If the broadcast processing time of R1 or R2 is long, it will block R5 from receiving the broadcast, and if the broadcast processing time of R5 is long, it will block R6~R9 from receiving the broadcast, thereby affecting the broadcast distribution efficiency.

[0058] In one feasible implementation, the broadcast distribution process of distributing unordered broadcasts to each broadcast receiver in Table 1 can be as follows: Figure 2 See Figure 2, there can be three broadcast distribution channels (broadcast distribution channel 0 to broadcast distribution channel 2, for example, which can be recorded as mRunning[0] to mRunning[2]). The broadcast distribution channel is a medium used to implement broadcast distribution. In other examples, the medium can also be called other names, such as broadcast distribution array, broadcast distribution queue, etc., which are not limited to this.

[0059] In other examples, there may be more or less at least two broadcast distribution channels, which is not limited to this. Preferably, the number of broadcast distribution channels may not exceed five.

[0060] Through the three broadcast distribution channels, the broadcast can first be distributed to the broadcast receivers R1~R4 with priority=1000. Figure 2 As shown in the figure, broadcasts can be distributed to R1~R3 ​​in parallel through three broadcast distribution channels. Compared with R1 and R2, R3 processes the broadcast first. After R3 completes the broadcast processing, broadcast distribution channel 2 is idle, and broadcasts can be distributed to R4 through broadcast distribution channel 2.

[0061] The broadcast receiver may notify the broadcast distribution module in the electronic device after completing the broadcast processing. The broadcast distribution module may distribute the broadcast to the broadcast receivers of the current priority and start distributing the broadcast to the broadcast receivers of the next priority after determining that each of the broadcast receivers has completed the broadcast processing.

[0062] See also Figure 2 Compared with R2~R4, the broadcast processing of R1 takes longer time, so the execution timing of R5 depends on the completion timing of R1. During the broadcast processing of R1, although the broadcast distribution channel 1 and the broadcast distribution channel 2 are idle for a long time, they cannot be used for broadcast distribution and need to wait for the completion of R1 processing.

[0063] The broadcast processing time of R1 may depend on whether the process is started (i.e., whether the receiver scheduling type of the broadcast receiver is hot start delivery), whether the load is too heavy, and whether the execution of the broadcast receiver is time-consuming. Among them, excessive load will cause the broadcast receiver to execute a large number of runnables (waiting for running status).

[0064] After all broadcast receivers with priority = 1000, namely R1 to R4, have completed broadcast processing, the broadcast can be distributed to all broadcast receivers with priority = 100, namely R5, through one of the three broadcast distribution channels.

[0065] See also Figure 2, the broadcast processing of R5 takes a long time, and the execution timing of R6~R9 depends on the completion timing of R5. During the broadcast processing of R5, although broadcast distribution channel 1 and broadcast distribution channel 2 are always idle, they cannot be used for broadcast distribution and need to wait for R5 to complete. Among them, the broadcast processing time of R5 can depend on whether the process is started, whether the load is too heavy, and whether the execution of the broadcast receiver is time-consuming.

[0066] After the broadcast receivers with priority = 100, i.e. R5, complete the broadcast processing, the broadcast can be distributed to the broadcast receivers with priority = 0, i.e. R6~R9, through three broadcast distribution channels. Figure 2 As shown in the figure, broadcasts can be distributed to R6~R8 in parallel through three broadcast distribution channels. After R6 completes the broadcast processing, broadcast distribution channel 0 is idle, and broadcasts can be distributed to R9 through broadcast distribution channel 0.

[0067] It can be seen that in Figure 2 In the example shown, R1 blocks R5 from receiving broadcasts, and thus indirectly blocks R6~R9 from receiving broadcasts, and R5 blocks R6~R9 from receiving broadcasts.

[0068] From the above, we can see that for some unordered broadcasts, it is necessary to distribute the unordered broadcasts to a large number of broadcast receivers. If statically registered broadcast receivers are involved and there is a receiver priority, there may be a situation where the subsequent broadcasts are blocked by the previous broadcasts for a long time due to the slow distribution speed of some statically registered broadcasts, resulting in low broadcast distribution efficiency.

[0069] An embodiment of the present application provides a broadcast distribution method. For unordered broadcasts with priorities between broadcast receivers, if the receiver type of a certain broadcast receiver is static registration, and the receiver process already exists during the broadcast distribution process (that is, the receiver scheduling type of the broadcast receiver is hot start delivery), the broadcast distribution module may not wait for the broadcast receiver to complete the broadcast processing, that is, it may not distribute the broadcast to other broadcast receivers with lower priority after the broadcast receiver completes the broadcast processing, so as to avoid the broadcast receiver blocking the distribution of broadcasts to other broadcast receivers with lower priority.

[0070] In this way, when the broadcast distribution module distributes broadcasts to broadcast receivers of different priorities, it does not need to wait for some high-priority broadcast receivers (i.e., statically registered broadcast receivers that support hot start delivery) to complete broadcast processing, but only needs to ensure that the broadcasts are distributed in order of priority. The broadcast distribution method can reduce the occurrence of broadcast blocking caused by these broadcast receivers by optimizing the distribution of unordered broadcasts to these broadcast receivers, thereby improving the efficiency of broadcast distribution.

[0071] In one embodiment, for a statically registered broadcast receiver that supports hot-start delivery, the broadcast receiver may return a notification message indicating that the broadcast processing has been completed to the broadcast distribution module in the electronic device before the broadcast processing is completed (for example, before the broadcast is processed), rather than after the broadcast processing is completed. In fact, the broadcast receiver may not have completed the processing of the received broadcast at this time. Exemplarily, the broadcast distribution module may include Figure 4 The broadcast server and broadcast scheduler shown in .

[0072] For a broadcast receiver that is statically registered but does not support hot-start delivery, the broadcast receiver returns the above notification message to the broadcast distribution module after completing the broadcast processing, and the broadcast receiver has indeed completed the broadcast processing at this time.

[0073] The broadcast distribution module may determine that the corresponding broadcast receiver is in a state of having completed the broadcast processing upon receiving the above notification message, regardless of whether the broadcast receiver has actually completed the broadcast processing at this time. The broadcast distribution module may start distributing the broadcast to the broadcast receivers of the next priority after distributing the broadcast to all the broadcast receivers of the current priority and determining that each of the broadcast receivers has completed the broadcast processing.

[0074] Feasibly, in addition to optimizing the distribution of unordered broadcasts to statically registered broadcast receivers that support hot start delivery, the above broadcast distribution method can also optimize the distribution of unordered broadcasts to dynamically registered broadcast receivers to reduce the occurrence of broadcast congestion caused by these broadcast receivers, which can also improve the broadcast distribution efficiency.

[0075] Since the dynamically registered broadcast receiver is a broadcast receiver registered by the application during the process execution, when the broadcast distribution module distributes the broadcast to the dynamically registered broadcast receiver, the process of the broadcast receiver already exists, that is, the dynamically registered broadcast receiver is a broadcast receiver that supports hot start delivery. The specific technical implementation of optimizing broadcast distribution can refer to the above related instructions, which will not be repeated here.

[0076] Optionally, if the process of the broadcast receiver does not exist (or is not running) when distributing the broadcast to the broadcast receiver, the electronic device can pull up (or start) the process of the broadcast receiver so as to subsequently send a broadcast to the process of the broadcast receiver.

[0077] In a feasible implementation, when the broadcast receiver process exists, a broadcast can be sent to the broadcast receiver process, and the sent broadcast is encapsulated into a broadcast message and queued in the message queue of the broadcast receiver to wait for processing by the broadcast receiver.

[0078] Compared to the case where the broadcast receiver's process already exists, if the broadcast receiver's process does not exist when the broadcast is distributed to the broadcast receiver, the overall time it takes for the broadcast receiver to process the broadcast (including the time it takes to start the broadcast receiver's process, etc.) is relatively higher.

[0079] It is feasible to increase the adj priority of the process to ensure that the process is started as soon as possible to receive the broadcast, but the process startup time must be controlled to ensure that the adj priority of the process remains unchanged. In the Android system, adj can represent the scheduling priority of the process, which is used to determine the execution order of the process in the system.

[0080] Taking into account aspects such as the broadcast distribution effect, the embodiments of the present application can selectively optimize the broadcast distribution for broadcast receivers that support hot start delivery, while not changing the broadcast distribution for broadcast receivers that do not support hot start delivery.

[0081] In one embodiment, for a broadcast receiver that supports hot start delivery, a first flag may be passed to the broadcast receiver, and for a broadcast receiver that is statically registered but does not support hot start delivery, a second flag may be passed to the broadcast receiver. If the broadcast receiver receives the first flag, it may return the above notification message before completing the broadcast processing, and if it receives the second flag, it may return the above notification message after processing the broadcast.

[0082] It is feasible that the operating system of the electronic device may include an Application Not Responding (ANR) mechanism. The ANR mechanism is to support users to force quit the application when the application is stuck, thereby avoiding the problem of the device being stuck and not responding. After distributing the broadcast to the broadcast receiver, if the broadcast receiver takes a long time to process the broadcast, so that the above notification message is not returned after exceeding the set time limit (such as 10 seconds), that is, there is a broadcast timeout (BroadcastTimeout), then the ANR problem may be triggered.

[0083] In one embodiment, before the broadcast distribution module transmits the first flag to the broadcast receiver, it can perform a process of canceling the broadcast timeout to cancel the broadcast timeout limit on the broadcast receiver. By canceling the broadcast timeout, the ANR problem can be avoided to ensure that the device does not report an error, thereby supporting the broadcast receiver to complete the broadcast processing.

[0084] In a feasible example of the present application, among R1~R9 shown in Table 1 above, the receiver scheduling type of R1 and R5 can both be hot start delivery, then the receiver type, receiver scheduling type and priority of each broadcast receiver of the unordered broadcast can be as shown in Table 2.

[0085] Table 2

[0086]

[0087] As shown in Table 2, broadcast receivers R1~R9 can have different priorities. Based on the priority, the device can first distribute unordered broadcasts to R1~R4, then to R5, and finally to R6~R9.

[0088] In one feasible implementation, the broadcast distribution process of distributing unordered broadcasts to each broadcast receiver in Table 2 can be as follows: Figure 3 See Figure 3 , through 3 broadcast distribution channels, the broadcast can first be distributed to each broadcast receiver with priority=1000, namely R1~R4.

[0089] like Figure 3 As shown in the figure, broadcasts can be distributed to R1~R3 ​​in parallel through three broadcast distribution channels. R1 is a statically registered broadcast receiver that supports hot start delivery. After distributing the broadcast to R1, R1 can return a notification message in advance before completing the broadcast processing to indicate that the broadcast processing is completed, but R1 has not actually completed the broadcast processing at this time. Compared with R1 and R2, R3 processes the broadcast first, and can distribute the broadcast to R4 through the idle broadcast distribution channel 2. So far, all broadcast receivers with priority=1000, namely R1~R4, have received the broadcast.

[0090] R3 is a dynamically registered broadcast receiver. After the broadcast is distributed to R3, R3 can return a notification message in advance before completing the broadcast processing to indicate that the broadcast processing is completed, but R3 has not actually completed the broadcast processing at this time. Similarly, R4 can also return a notification message in advance.

[0091] Since the broadcast has been distributed to R1~R4, and R1, R3, and R4 have all returned notification messages of the completion of the broadcast processing, after R2 completes the broadcast processing, it can distribute the broadcast to each broadcast receiver with priority=100, that is, R5, through the idle broadcast distribution channel without waiting for R1 and R4 to actually complete the broadcast processing (R3 has actually completed the broadcast processing at this time). In this way, the execution timing of R5 does not depend on the completion timing of R1 and R4. Figure 3 As shown, after R2 completes the broadcast processing, the broadcast distribution channel 1 is idle, and the broadcast can be distributed to R5 through the broadcast distribution channel 1.

[0092] Figure 3 In the example shown, the completion timing of R2 is earlier than the completion timing of R4. Regardless of whether R2 supports hot start delivery, it can distribute broadcasts to R5 without blocking.

[0093] See also Figure 3, while R1 is processing the broadcast, it can distribute the broadcast to R5 of the next priority, and R1 does not block the distribution of the broadcast to R5. Figure 2 The broadcast distribution process shown in Figure 3 In the broadcast distribution process shown, the execution timing of R5 no longer depends on the completion timing of R1, so that R1 no longer blocks R5 from receiving broadcasts.

[0094] After distributing the broadcast to R5, R5 may return a notification message to indicate that the broadcast processing is completed, but R5 has not actually completed the broadcast processing at this time. So far, each broadcast receiver with priority=100, namely R5, has received the broadcast.

[0095] Since the broadcast receivers with priority = 100 only include R5, after R5 returns a notification message to indicate that the broadcast processing is completed, the broadcast can be distributed to the broadcast receivers with priority = 0, i.e., R6 to R9, through the idle broadcast distribution channel without waiting for R5 to actually complete the broadcast processing. In this way, the execution timing of R6 to R9 is no longer dependent on the completion timing of R5.

[0096] like Figure 3 As shown in the figure, after R4 completes the broadcast processing, broadcast distribution channel 2 is idle, and broadcast can be distributed to R6 through broadcast distribution channel 2. After that, R1 completes the broadcast processing and makes broadcast distribution channel 0 idle, and broadcast can be distributed to R7 through broadcast distribution channel 0. After R7 completes the broadcast processing, broadcast distribution channel 0 is idle, and broadcast can be distributed to R8 through broadcast distribution channel 0. After R6 completes the broadcast processing, broadcast distribution channel 2 is idle, and broadcast can be distributed to R9 through broadcast distribution channel 2. So far, all broadcast receivers with priority=0, i.e. R6~R9, have received the broadcast.

[0097] See also Figure 3 , while R5 is processing a broadcast, it can distribute the broadcast to R6~R9 of the next priority, and R5 does not block the distribution of broadcasts to R6~R9. And while R1 is processing a broadcast, it can distribute the broadcast to R6, and R1 no longer indirectly blocks R6~R9 from receiving the broadcast.

[0098] Different from Figure 2 The broadcast distribution process shown in Figure 3 In the broadcast distribution process shown, the execution timing of R6~R9 no longer depends on the completion timing of R5, nor does it indirectly depend on the completion timing of R1, so that R5 no longer blocks R6~R9 from receiving broadcasts, and R1 no longer indirectly blocks R6~R9 from receiving broadcasts.

[0099] Since some high-priority broadcast receivers may not block the distribution of broadcasts to low-priority broadcast receivers, although broadcast receivers of different priorities distribute broadcasts in sequence, there may be a situation where the completion timing of a low-priority broadcast receiver is earlier than the completion timing of a high-priority broadcast receiver. For example, see Figure 3 , the completion timing of R6 and R7 can be earlier than the completion timing of R5.

[0100] Figure 3 The optimization results when broadcast distribution optimization is performed on both statically registered broadcast receivers supporting hot start delivery and dynamically registered broadcast receivers are shown. In other embodiments, broadcast distribution optimization can be performed only on statically registered broadcast receivers supporting hot start delivery, but not on dynamically registered broadcast receivers. Then, when R4 completes broadcast processing, the broadcast distribution module can distribute broadcasts to R5 through idle broadcast distribution channel 1 or broadcast distribution channel 2.

[0101] See also Figure 4 , an embodiment of the present application provides a timing diagram of a broadcast distribution method, which may include the following steps 401 to 417a / b.

[0102] Step 401: The broadcast sender sends a broadcast to a broadcast server in response to a message triggering the broadcast.

[0103] Exemplarily, when the device is turned on, the battery level changes, or the screen turns on / off, the broadcast sender may receive a corresponding message triggering the broadcast. In response to the received message, the broadcast sender may send a power-on broadcast, a battery level change broadcast, or a screen-on / off broadcast.

[0104] It is feasible that the broadcast sent by the broadcast sender may be an ordered broadcast or an unordered broadcast.

[0105] In one embodiment, the broadcast sender may send a broadcast to the broadcast server through a Binder mechanism to add the broadcast to the system side.

[0106] Step 402: The broadcast server confirms the broadcast attribute of the received broadcast. The broadcast attribute of the broadcast may include ordered broadcast and unordered broadcast.

[0107] Optionally, the broadcast server may be a component in the AMS.

[0108] Step 403: The broadcast server confirms the broadcast receiver list of the broadcast.

[0109] It is feasible that the broadcast server may obtain a broadcast receiver list of the non-sequential broadcast from the PMS, and the broadcast receiver list may list various broadcast receivers of the non-sequential broadcast.

[0110] Step 404: The broadcast server adds the broadcast to a queue of broadcasts to be distributed.

[0111] It is feasible that the broadcast queue to be distributed may list various broadcasts to be distributed, and the broadcast server may distribute the various broadcasts in the broadcast queue to be distributed in sequence.

[0112] Step 405: For the unordered broadcasts in the broadcast queue to be distributed, the broadcast scheduler updates the broadcast process queue A and the broadcast process queue B according to the broadcast receiver list of the broadcast.

[0113] It is feasible to differentiate applications to distribute broadcasts, and the broadcast scheduler can update the broadcast process queue of one or more applications as needed based on the broadcast receiver list.

[0114] For example, Figure 4 In the illustrated embodiment, the broadcast receiver list may include broadcast receivers registered by application A and broadcast receivers registered by application B, so that the broadcast process queue A of application A and the broadcast process queue B of application B can be updated based on the broadcast receiver list. The broadcast process queue A may include the processes of the part of broadcast receivers in the broadcast receiver list that belong to application A (such as broadcast receiver A), and the broadcast process queue B may include the processes of the part of broadcast receivers in the broadcast receiver list that belong to application B (such as broadcast receiver B).

[0115] Step 406: The broadcast scheduler executes a process flow for triggering broadcast distribution.

[0116] Step 407: The broadcast scheduler executes the broadcast distribution process.

[0117] Preferably, the broadcast scheduler may trigger the running of an internal broadcast distribution process, and broadcast distribution may be achieved by running the broadcast distribution process.

[0118] Step 408: The broadcast scheduler distributes the broadcast to the broadcast process queue A.

[0119] Feasibly, the broadcast scheduler can respectively execute the steps of determining whether the process exists, determining whether it is a static registration, and determining whether it is an unordered broadcast (see steps 409 to 411 below) for the currently distributed broadcast, so that the distribution of unordered broadcasts to broadcast receivers that are statically registered and support hot start delivery can be optimized based on the judgment results, thereby reducing the occurrence of broadcast blocking.

[0120] Step 409: The broadcast scheduler determines whether the process of broadcast receiver A exists.

[0121] Step 410: The broadcast scheduler determines whether broadcast receiver A is a statically registered broadcast receiver.

[0122] Step 411: The broadcast scheduler determines whether the distributed broadcast is an unordered broadcast.

[0123] If steps 409 to 411 are all judged to be yes, then broadcast receiver A is a statically registered broadcast receiver that supports hot start delivery, and the distribution of unordered broadcasts to broadcast receiver A can be optimized. The optimization process can be reflected by the following steps 412 to 417a.

[0124] In other feasible implementations, steps 409 to 411 may also be executed in other sequential orders, which is not limited to this.

[0125] Step 412: When the judgment in steps 409 to 411 is yes, the broadcast scheduler performs a process of canceling the broadcast timeout for broadcast receiver A.

[0126] It is feasible that if the judgment results are not all yes, no operation may be performed, so as not to perform the process of canceling the broadcast timeout on the broadcast receiver A.

[0127] Step 413, the broadcast scheduler adds a new mark bit and sends it to the broadcast process queue A according to the judgment results of steps 409 to 411.

[0128] In a feasible manner, if the judgment results are all yes, the newly added flag bit may be notBlocking (not blocking) = true, and if the judgment results are not all yes, the newly added flag bit may be notBlocking = false. In other feasible implementations, the newly added flag bit may also be other values, such as 0 or 1, and there is no limitation on this.

[0129] In one embodiment, when distributing broadcasts from the system_server process of the device system to the receiver process, a flag bit may be added to support the broadcast receiver to execute the following steps 416a to 417a or steps 416b to 417b accordingly according to the newly added flag bit.

[0130] Step 414: Broadcast process queue A triggers broadcast receiver A to receive the broadcast.

[0131] In one embodiment, the broadcast process queue A can call the scheduleReceiver function through the Binder mechanism to call the broadcast receiving execution operation, thereby triggering the broadcast receiver A to receive the broadcast.

[0132] Step 415, broadcast receiver A triggers the main thread to process the received broadcast and executes steps 416a to 417a or steps 416b to 417b.

[0133] In one embodiment, broadcast receiver A can send information to the main thread to trigger the main thread to process the broadcast by calling the onReceive() function. Alternatively, the broadcast can be encapsulated into a broadcast message and placed in the message queue corresponding to the main thread of the application process where broadcast receiver A is located, waiting for the main thread to process.

[0134] In other feasible implementations, broadcast receiver A may also trigger a child thread of the process to process the received broadcast, which is not limited to this.

[0135] Step 416a, if the newly added flag indicates that steps 409 to 411 are all judged as yes, the broadcast receiver A returns a notification of completion of the broadcast processing to the broadcast server before the main thread processes the broadcast.

[0136] In one embodiment, the broadcast receiver may call the finishReceiver() function to inform the broadcast distribution module that the application has received the broadcast and completed the broadcast processing.

[0137] Exemplarily, if the newly added flag bit is notBlocking=true, step 416a is executed, and if the newly added flag bit is notBlocking=false, step 416b is executed.

[0138] For example, if broadcast receiver A is R1 or R5 in Table 2 above, broadcast receiver A executes steps 416a to 417a. If broadcast receiver A is R2, R6 or R7 in Table 2 above (assuming that the receiver scheduling type of R2, R6 and R7 is not hot start delivery), broadcast receiver A executes steps 416b to 417b.

[0139] Step 417a, the main thread of broadcast receiver A processes the broadcast.

[0140] In one embodiment, the main thread may process the broadcast by calling the onReceive() function.

[0141] Since the notification of broadcast processing completion has been returned before the broadcast is processed, the notification of broadcast processing completion will not be returned after the broadcast is processed.

[0142] Step 416b: If the newly added flag indicates that the judgment results of steps 409 to 411 are not all yes, the main thread of broadcast receiver A processes the broadcast.

[0143] Step 417b, after the main thread processes the broadcast, broadcast receiver A returns a notification of completion of the broadcast processing to the broadcast server.

[0144] It is feasible that after receiving the notification of broadcast processing completion from broadcast receiver A, the broadcast server may notify the broadcast scheduler to perform broadcast distribution again (ie, perform step 408 again). The broadcast scheduler distributes the broadcast to another broadcast receiver by performing broadcast distribution again.

[0145] For example, the broadcast scheduler may perform broadcast distribution again to distribute unordered broadcast to broadcast receiver B. The implementation process of distributing unordered broadcast to broadcast receiver B may refer to the implementation process of distributing unordered broadcast to broadcast receiver A (see steps 408 to 417a / b), which will not be described in detail here.

[0146] It is feasible that after the broadcast scheduler has distributed the unordered broadcast to some broadcast receivers, it can determine the object and time to execute the broadcast distribution again according to the completion of the broadcast processing by these broadcast receivers, combined with the priority of other broadcast receivers and the idleness of the broadcast distribution channel. The relevant technical implementation can refer to the relevant description in other embodiments of the present application, which will not be repeated here.

[0147] Figure 4 The illustrated embodiment shows a feasible implementation method for optimizing the distribution of unordered broadcasts to statically registered broadcast receivers that support hot start delivery. Based on the same implementation principle, in other embodiments, the distribution of unordered broadcasts to dynamically registered broadcast receivers can also be optimized. For the specific implementation process, please refer to Figure 4 The method shown mainly differs in that: in step 413, if the judgment result indicates that the broadcast receiver A is a dynamically registered broadcast receiver and the distributed broadcast is an unordered broadcast, the distribution of the unordered broadcast to the broadcast receiver A can be optimized.

[0148] Alternatively, in other embodiments, the distribution of unordered broadcasts to dynamically registered broadcast distributors and statically registered broadcast receivers that do not support hot start delivery can also be optimized. For the specific implementation process, please refer to Figure 4 The method shown mainly differs in that: in step 413, if the judgment result indicates that the distributed broadcast is an unordered broadcast, the distribution of the unordered broadcast to the broadcast receiver A can be optimized.

[0149] like Figure 5 As shown, an embodiment of the present application provides a broadcast distribution method, which may include steps 501 to 502.

[0150] Possibly, Figure 5 The execution subject of the broadcast distribution method shown may be a broadcast distribution module in an electronic device. Exemplarily, the broadcast distribution module may include Figure 4 The broadcast server and broadcast scheduler shown in .

[0151] Step 501, distribute a target broadcast to a first broadcast receiver; the target broadcast is an unordered broadcast; the first broadcast receiver has a first priority, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists.

[0152] In one embodiment, the first broadcast receiver may be a statically registered broadcast receiver. In other embodiments, the first broadcast receiver may also be a dynamically registered broadcast receiver.

[0153] If the first broadcast receiver is a statically registered broadcast receiver that supports hot start delivery (for example Figure 3 R1, R5 in ), the distribution of unordered broadcasts to the first broadcast receiver can be optimized so that the first broadcast receiver does not block the distribution of broadcasts to other broadcast receivers with lower priorities.

[0154] In one embodiment of the present application, the first broadcast receiver is a statically registered broadcast receiver; before distributing the target broadcast to the second broadcast receiver, the broadcast distribution method also includes: sending first information to the first broadcast receiver; the first information is used to indicate that the first broadcast receiver is a statically registered broadcast receiver, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists; receiving second information sent by the first broadcast receiver in response to the first information; the second information is sent after the first broadcast receiver receives the target broadcast and before the processing of the target broadcast is completed, and the second information is used to indicate that the first broadcast receiver has completed processing of the target broadcast.

[0155] Exemplarily, the first information may be, for example, the above-mentioned notBlocking=true, and the second information may be the above-mentioned notification message indicating that the broadcast processing has been completed.

[0156] In one embodiment of the present application, the first broadcast receiver is a dynamically registered broadcast receiver; before distributing the target broadcast to the second broadcast receiver, the broadcast distribution method also includes: sending indication information to the first broadcast receiver (such as the above-mentioned notBlocking=true) to indicate that the first broadcast receiver is a dynamically registered broadcast receiver; receiving second information sent by the first broadcast receiver in response to the indication information; the second information is sent after the first broadcast receiver receives the target broadcast and before the processing of the target broadcast is completed, and the second information is used to indicate that the first broadcast receiver has completed processing of the target broadcast.

[0157] The first broadcast receiver may return the second information to the broadcast distribution module in advance before completing the broadcast process. The broadcast distribution module may determine that the first broadcast receiver is in a state of having completed the broadcast process upon receiving the second information, regardless of whether the first broadcast receiver has actually completed the broadcast process at this time.

[0158] In this way, the unordered broadcast can be distributed to the second broadcast receiver before the first broadcast receiver completes the broadcast processing without being restricted by the priority, so that the first broadcast receiver does not block the distribution of the broadcast to the second broadcast receiver.

[0159] In one embodiment of the present application, sending before the target broadcast processing is completed includes: sending before starting to process the received target broadcast. Figure 4 When broadcast receiver A receives notBlocking=true, it can return a notification message first and then process the broadcast.

[0160] Compared to outputting the second information after processing the broadcast, by outputting the second information before processing the broadcast, the second information can be output in advance to a greater extent, which helps to improve the broadcast distribution efficiency to a greater extent.

[0161] In one embodiment of the present application, before sending the first information to the first broadcast receiver, the broadcast distribution method further includes: canceling the broadcast timeout limit for the first broadcast receiver. By canceling the broadcast timeout, the ANR problem can be avoided to ensure that the device does not report an error, thereby supporting the first broadcast receiver to complete the broadcast processing.

[0162] Step 502, before the first broadcast receiver completes processing of the target broadcast, the target broadcast is distributed to the second broadcast receiver; the second broadcast receiver has a second priority, and the second priority is the next priority of the first priority; wherein, when the target broadcast is distributed to the second broadcast receiver, there is no third broadcast receiver to which the target broadcast has not been distributed, and there is no fourth broadcast receiver that has not processed the target broadcast; the third broadcast receiver has the first priority; the fourth broadcast receiver is a statically registered broadcast receiver and has the first priority, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist.

[0163] Exemplarily, the first broadcast receiver may be Figure 3 In R1, the second broadcast receiver can be Figure 3 R5 in the example can distribute the unordered broadcast to R5 of the next priority before R1 completes the processing of the received unordered broadcast, without waiting for R1 to complete the broadcast processing, and R1 does not block the distribution of broadcast to R5.

[0164] Exemplarily, the first broadcast receiver may be Figure 3 In R5, the second broadcast receiver can be Figure 3R6 / R7 / R8 / R9 in the queue can distribute unordered broadcasts to R6 / R7 / R8 / R9 of the next priority before R5 completes processing the received unordered broadcasts, without waiting for R5 to complete the broadcast processing. R5 does not block the distribution of broadcasts to R6 / R7 / R8 / R9.

[0165] Feasibly, there is no third broadcast receiver to which the unordered broadcast is not distributed, or there are no other broadcast receivers with the first priority to receive the unordered broadcast. Specifically, it may be a case where there are no other broadcast receivers with the first priority, or it may be a case where there are other broadcast receivers with the first priority but the broadcast has been distributed to each broadcast receiver of the first priority.

[0166] See also Figure 3 For example, when distributing a broadcast to R5, the broadcast has been distributed to the broadcast receivers of the previous priority, namely R1~R4. For another example, when distributing a broadcast to R6 / R7 / R8 / R9, except for R5, there are no other broadcast receivers of the same priority.

[0167] It is feasible that there is no fourth broadcast receiver that has not completed processing the out-of-order broadcast, or there is no specific type of broadcast receiver (i.e., a broadcast receiver that is statically registered but does not support hot start delivery) that has not completed processing the out-of-order broadcast. Specifically, it can be a situation where there is no broadcast receiver of this specific type, or it can be a situation where there is a broadcast receiver of this specific type but it has completed the broadcast processing.

[0168] The fourth broadcast receiver is a broadcast receiver that is statically registered but does not support hot start delivery. After completing the broadcast processing, the fourth broadcast receiver returns a notification message indicating that the broadcast processing has been completed, but does not return in advance.

[0169] See also Figure 3 For example, when distributing a broadcast to R5, R2 of the previous priority (assuming that R2 is a broadcast receiver that is statically registered but does not support hot start delivery) has completed the broadcast processing. For another example, when distributing a broadcast to R6 / R7 / R8 / R9, there is no broadcast receiver of the previous priority that is statically registered but does not support hot start delivery.

[0170] In one embodiment of the present application, before distributing the target broadcast to the second broadcast receiver, the broadcast distribution method also includes: distributing the target broadcast to the fourth broadcast receiver; sending third information to the fourth broadcast receiver; the third information is used to indicate that the fourth broadcast receiver is a statically registered broadcast receiver, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist; receiving fourth information sent by the fourth broadcast receiver in response to the third information; the fourth information is sent after the fourth broadcast receiver completes processing of the target broadcast, and the fourth information is used to indicate that the fourth broadcast receiver has completed processing of the target broadcast.

[0171] Exemplarily, the third information may be, for example, the above-mentioned notBlocking=false, and the fourth information may be the above-mentioned notification message indicating that the broadcast processing has been completed. Figure 4 When broadcast receiver A receives notBlocking=false, it processes the broadcast first and then returns the notification message.

[0172] See also Figure 3 The first broadcast receiver can be R1 or R4, the second broadcast receiver can be R5, and the fourth broadcast receiver can be R2. The broadcast can be distributed to R5 after distributing the broadcast to R1, R2 and R4 respectively, before R1 and R4 complete the broadcast processing (R1 and R4 have returned the first information at this time), and after R2 completes the broadcast processing.

[0173] In one embodiment of the present application, distributing the target broadcast to the second broadcast receiver includes: determining whether there is an idle broadcast distribution channel; and distributing the target broadcast to the second broadcast receiver through the idle broadcast distribution channel. Based on monitoring whether the broadcast distribution channel is idle, the unordered broadcast can be distributed in a timely manner.

[0174] Since the unordered broadcast can be distributed to the second broadcast receiver before the first broadcast receiver completes the broadcast processing, the first broadcast receiver and the second broadcast receiver are in different broadcast distribution channels, that is, the number of broadcast distribution channels is at least two. In the case of sending unordered broadcasts through at least two broadcast distribution channels, after distributing the broadcast to the first broadcast receiver, it is necessary to wait for an idle broadcast distribution channel, and distribute the unordered broadcast to the second broadcast receiver through the idle broadcast distribution channel.

[0175] For example, see Figure 3 After R2 completes the broadcast processing, the broadcast distribution channel 1 is idle, and then the unordered broadcast can be distributed to R5 through the broadcast distribution channel 1.

[0176] In one embodiment of the present application, distributing a target broadcast to a first broadcast receiver includes: sending the target broadcast to a first application, the first application including a process of the first broadcast receiver; and the target broadcast is sent by the first application to the first broadcast receiver.

[0177] For example, see Figure 4 , the broadcast process queue A and the broadcast process queue B can belong to different applications respectively, and the applications can be distinguished to distribute broadcasts to various broadcast receivers (such as broadcast receiver A and broadcast receiver B) of unordered broadcasts.

[0178] In other embodiments, the unordered broadcast may be distributed without distinguishing between applications, and this is not limited to this.

[0179] The method provided in any embodiment of the present application can be applicable to electronic devices such as mobile phones, tablet computers, personal digital assistants (PDA), desktops, laptops, notebook computers, ultra-mobile personal computers (UMPC), handheld computers, netbooks and wearable devices. The present application does not impose any special restrictions on the specific forms of the above-mentioned electronic devices.

[0180] The broadcast distribution method provided in any embodiment of the present application can be applied to Figure 6 In the electronic device 100 shown. Figure 6 A schematic structural diagram of an electronic device 100 is shown.

[0181] The electronic device 100 may include a processor 110, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, a sensor module 180, a button 190, a display screen 194, etc. The sensor module 180 may include a pressure sensor, a fingerprint sensor, a touch sensor, etc.

[0182] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0183] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated into one or more processors. The controller may generate an operation control signal according to the instruction opcode and the timing signal to complete the control of fetching and executing instructions.

[0184] In some embodiments, the processor 110 may be a system on chip (SOC), which may include a central processing unit (CPU) and may further include other types of processors. In some embodiments, the processor 110 may be a PWM control chip.

[0185] The processor 110 may also include necessary hardware accelerators or logic processing hardware circuits, such as ASICs, or one or more integrated circuits for controlling the execution of the technical solution program, etc. In addition, the processor 110 may have the function of operating one or more software programs, which may be stored in a storage medium.

[0186] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0187] In some embodiments, the memory of the electronic device 100 may be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), or any computer-readable medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.

[0188] In some embodiments, the processor 110 and the memory may be combined into a processing device, or may be independent components, and the processor 110 may be used to execute program codes stored in the memory. In specific implementation, the memory may also be integrated into the processor 110, or may be independent of the processor 110.

[0189] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0190] The USB interface 130 is an interface that complies with USB standard specifications, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc.

[0191] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0192] The charging management module 140 is used to receive charging input from a charger. The power management module 141 is used to connect the battery 142 , the charging management module 140 and the processor 110 .

[0193] In one embodiment, when the power management module 141 detects a power change in the battery 142 (for example, the battery power is lower than a preset power threshold), the device system may send a power change broadcast to the broadcast server.

[0194] The electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.

[0195] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0196] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running instructions stored in the internal memory 121, and / or instructions stored in a memory provided in the processor.

[0197] The pressure sensor is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor can be set on the display screen 194. There are many types of pressure sensors, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. When a touch operation is applied to the display screen 194, the electronic device 100 detects the touch operation intensity according to the pressure sensor. The electronic device 100 can also calculate the touch position according to the detection signal of the pressure sensor. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions.

[0198] The fingerprint sensor is used to collect fingerprints. The electronic device 100 can use the collected fingerprint characteristics to achieve fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.

[0199] A touch sensor is also called a "touch control device". The touch sensor can be arranged on the display screen 194. The touch sensor and the display screen 194 form a touch screen, also called a "touch control screen". The touch sensor is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor can also be arranged on the surface of the electronic device 100, which is different from the position of the display screen 194.

[0200] In one embodiment, the user can request the device to turn on or off the screen by operating the power button, clicking the lock screen control on the touch screen, unlocking with a fingerprint, etc. The device system can send a screen on / off broadcast to the broadcast server after the device turns on / off the screen.

[0201] The buttons 190 include a power button, a volume button, etc. The buttons 190 may be mechanical buttons or touch buttons.

[0202] In one embodiment, the user may operate a power button to request the device to power on, and the device system may send a power-on broadcast to the broadcast server after the device is powered on.

[0203] In addition, on top of the above components, the electronic device runs an operating system. For example, iOS ® Operating system, Android ® Operating system, Windows ® Operating system, etc. Application programs can be installed and run on the operating system.

[0204] The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device 100.

[0205] Figure 7 1 is a software structure diagram of the electronic device 100 of the embodiment of the present application. The layered architecture divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into multiple layers, from top to bottom, namely, the application layer, the application framework layer (Framework, FWK), the system library and runtime layer, the hardware abstraction layer (HAL) and the kernel layer (Kernel).

[0206] The application layer can include a series of application packages, such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message and other applications.

[0207] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions. Figure 7 As shown, the application framework layer may include a broadcast server, a broadcast scheduler, a view system, a notification manager, a resource manager, a window manager, a content provider, and the like.

[0208] The broadcast server can be used to receive ordered / unordered broadcasts sent by the broadcast sender, and add the broadcasts to the broadcast queue to be distributed. The broadcast scheduler can be used to distribute the broadcasts in the broadcast queue to be distributed to the broadcast receivers. The specific technical implementation of the broadcast server and the broadcast scheduler can refer to the relevant descriptions in other embodiments of the present application, which will not be repeated here.

[0209] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0210] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the terminal device vibrates, the indicator light flashes, etc.

[0211] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0212] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0213] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0214] The system library and runtime layer includes the system library and the Android Runtime.

[0215] The system library can include multiple functional modules, such as three-dimensional (3D) graphics processing library (such as OpenGL ES), surface manager, two-dimensional (2D) graphics engine (such as SGL), media library, etc.

[0216] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis and layer processing. The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications, such as OpenGLES. The 2D graphics engine is a drawing engine for 2D drawing, such as SGL. The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: Moving Picture Experts Group (MPEG4), Highly Compressed Digital Video Codec Standard (H.264), Moving Picture Experts Compression Standard Audio Layer 3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate Codec (AMR), Joint Photographic Experts Group (JPG), Portable Network Graphics (PNG), etc.

[0217] The Android runtime consists of a core library and a virtual machine. The Android runtime is responsible for scheduling and management of the Android system. The core library consists of two parts: one is the function that the Java language needs to call, and the other is the Android core library. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0218] The hardware abstraction layer acts as a bridge between software and hardware. It encapsulates the underlying hardware driver and provides a general interface for calling the driver to the application framework layer. The hardware abstraction layer is an abstract interface for the device kernel driver, which provides the application programming interface for accessing the underlying device to the higher-level Java API framework. The hardware abstraction layer contains multiple library modules, each of which implements an interface for a specific type of hardware component. The hardware abstraction layer can provide the higher-level Java API framework with an application programming interface for accessing the underlying device. When the API framework requires access to the hardware of an electronic device, the Android system will load the library module for the hardware component.

[0219] The hardware abstraction layer can communicate with the application framework layer through the hardware abstraction layer interface description language (HAL interface definition language, HIDL), which is an interface description language that specifies the interface between HAL and FWK.

[0220] The kernel layer is the layer between hardware and software. The kernel layer contains at least camera driver, display driver, Bluetooth driver, audio driver and sensor driver, Ultra Wide Band (UWB) driver, touch screen driver and IoT device management driver. The kernel layer is the foundation of the Android system, and the ultimate functions of the Android system can be realized through the kernel layer.

[0221] Understandably, Figure 7 The layers in the software structure shown and the components included in each layer do not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer layers than shown, and each layer may include more or fewer components, which is not limited in the present application.

[0222] An embodiment of the present application also provides a broadcast distribution device, including: a first processing module, used to distribute a target broadcast to a first broadcast receiver; the target broadcast is an unordered broadcast; the first broadcast receiver has a first priority, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists; a second processing module, used to distribute the target broadcast to a second broadcast receiver before the first broadcast receiver completes processing of the target broadcast; the second broadcast receiver has a second priority, and the second priority is the next priority of the first priority; wherein, when the target broadcast is distributed to the second broadcast receiver, there is no third broadcast receiver to which the target broadcast has not been distributed, and there is no fourth broadcast receiver that has not processed the target broadcast; the third broadcast receiver has a first priority; the fourth broadcast receiver is a statically registered broadcast receiver and has a first priority, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist.

[0223] An embodiment of the present application also provides a chip, which is installed in an electronic device. The chip includes: a processor, which is used to execute computer program instructions stored in a memory, wherein when the computer program instructions are executed by the processor, the chip is triggered to execute the method steps provided by any method embodiment of the present application.

[0224] An embodiment of the present application also proposes a terminal device, which includes a communication module, a memory for storing computer program instructions, and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, the terminal device is triggered to execute the method steps provided by any method embodiment of the present application.

[0225] An embodiment of the present application also proposes a server device, which includes a communication module, a memory for storing computer program instructions, and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, the server device is triggered to execute the method steps provided by any method embodiment of the present application.

[0226] An embodiment of the present application also provides an electronic device, which includes multiple antennas, a memory for storing computer program instructions, a processor for executing computer program instructions, and a communication device (such as a communication module that can implement 5G communication based on the NR protocol), wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps provided by any method embodiment of the present application.

[0227] Specifically, in an embodiment of the present application, one or more computer programs are stored in the above-mentioned memory, and the one or more computer programs include instructions. When the instructions are executed by the above-mentioned device, the above-mentioned device executes the method steps described in the embodiment of the present application.

[0228] Furthermore, the devices, apparatuses, and modules described in the embodiments of the present application may be implemented by computer chips or entities, or by products having certain functions.

[0229] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code.

[0230] In the several embodiments provided in the present application, if any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application.

[0231] Specifically, a computer-readable storage medium is also provided in an embodiment of the present application. The computer-readable storage medium stores a computer program, which, when executed on a computer, enables the computer to execute the method steps provided in the embodiment of the present application.

[0232] The embodiment of the present application also provides a computer program product, which includes a computer program. When the computer program is run on a computer, it enables the computer to execute the method steps provided by the embodiment of the present application.

[0233] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0234] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0235] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0236] The integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory, random access memory, disk or optical disk and other media that can store program code.

[0237] In the embodiments of the present application, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other identical elements in the process, method, commodity or device including the element.

[0238] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0239] Those skilled in the art will appreciate that the various units and algorithm steps described in the embodiments of the present application can be implemented by a combination of electronic hardware, computer software, and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0240] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the same or similar parts between the various embodiments in this application can be referred to each other. For example, the specific working process of the system, device and unit described in the embodiments of this application can refer to the corresponding process in the method embodiment of this application, and will not be repeated here.

[0241] The above description is only a specific embodiment of the present application and is not intended to limit the present application. The protection scope of the present application shall be based on the claims.

Claims

1. A broadcast distribution method, characterized in that: include: distributing the target broadcast to the first broadcast receiver; The target broadcast is an unordered broadcast; the first broadcast receiver has a first priority, and when the target broadcast is distributed to the first broadcast receiver, the process of the first broadcast receiver already exists; Before the first broadcast receiver completes processing the target broadcast, distributing the target broadcast to a second broadcast receiver; the second broadcast receiver has a second priority, which is a next priority of the first priority; Among them, when the target broadcast is distributed to the second broadcast receiver, there is no third broadcast receiver to which the target broadcast has not been distributed, and there is no fourth broadcast receiver that has not processed the target broadcast; the third broadcast receiver has the first priority; the fourth broadcast receiver is a statically registered broadcast receiver and has the first priority, and when the target broadcast is distributed to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist.

2. The method according to claim 1, characterized in that: The first broadcast receiver is a statically registered broadcast receiver; Before distributing the target broadcast to the second broadcast receiver, the method further includes: Sending first information to the first broadcast receiver; the first information is used to indicate that the first broadcast receiver is a statically registered broadcast receiver, and when distributing the target broadcast to the first broadcast receiver, the process of the first broadcast receiver already exists; Receive second information sent by the first broadcast receiver in response to the first information; the second information is sent after the first broadcast receiver receives the target broadcast and before the processing of the target broadcast is completed, and the second information is used to indicate that the first broadcast receiver has completed the processing of the target broadcast.

3. The method according to claim 2, characterized in that The sending before the processing of the target broadcast is completed includes: sending before starting to process the received target broadcast.

4. The method according to claim 2, characterized in that: Before sending the first information to the first broadcast receiver, the method further includes: The broadcast timeout limit for the first broadcast receiver is canceled.

5. The method according to claim 2, characterized in that: Before distributing the target broadcast to the second broadcast receiver, the method further includes: distributing the target broadcast to the fourth broadcast receiver; Sending third information to the fourth broadcast receiver; the third information is used to indicate that the fourth broadcast receiver is a statically registered broadcast receiver, and when distributing the target broadcast to the fourth broadcast receiver, the process of the fourth broadcast receiver does not exist; receiving fourth information sent by the fourth broadcast receiver in response to the third information; the fourth information is sent after the fourth broadcast receiver completes processing the target broadcast, and the fourth information is used to indicate that the fourth broadcast receiver has completed processing the target broadcast.

6. The method according to any one of claims 1 to 5, characterized in that: The distributing the target broadcast to the second broadcast receiver comprises: Determine whether there is an idle broadcast distribution channel; The target broadcast is distributed to the second broadcast receiver through an idle broadcast distribution channel.

7. The method according to any one of claims 1 to 5, characterized in that: The distributing the target broadcast to the first broadcast receiver includes: The target broadcast is sent to a first application, where the first application includes a process of the first broadcast receiver; the target broadcast is sent by the first application to the first broadcast receiver.

8. A chip, characterized in that: include: A processor, configured to execute computer program instructions stored in a memory, wherein when the computer program instructions are executed by the processor, the chip is triggered to execute the method as claimed in any one of claims 1 to 7.

9. An electronic device, characterized in that: The electronic device comprises one or more memories for storing computer program instructions, and one or more processors, wherein when the computer program instructions are executed by the one or more processors, the electronic device is triggered to execute the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed on a computer, the computer is enabled to execute the method according to any one of claims 1 to 7.

11. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is run on a computer, the computer is caused to perform the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Mobile terminal operation system card slack abnormity detection recovery method and mobile terminal

    CN105208590A

  • Broadcast processing method and device, electronic equipment and storage medium

    CN115277557A