Message processing method, chip, device and medium

CN123020894APending Publication Date: 2026-10-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510549767.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

若附属设备或者该通信链路出现异常,会导致智能电视无法正常使用,用户通常会误认为是智能电视存在异常,而难以获知实际异常情况

Benefits of technology

[0031]前述各个方面的技术效果可互相参考,在此不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123020894A_ABST
    Figure CN123020894A_ABST
Patent Text Reader

Abstract

The application provides a message processing method, a chip, a device and a medium. The device communicates with m connected subsidiary devices through a communication link. The device stores first information and second information. The first information records k identifiers and corresponding abnormal times. The i-th identifier in the k identifiers represents the i-th device corresponding to the sending failure when the device last sent a message to the i-th device. The corresponding abnormal time is the consecutive number of sending message failures of the device to the i-th device, and the consecutive number includes the latest time. The second information records the identifiers of the m subsidiary devices. When any abnormal time reaches a number threshold, if the k identifiers include the identifiers of the m subsidiary devices and / or the identifier of the communication link, it is prompted that the communication link is abnormal; if the k identifiers do not include the identifier of the communication link and include the identifiers of n subsidiary devices, it is prompted that the n subsidiary devices are abnormal, which helps the user to know the actual abnormal situation when the device cannot work normally.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of equipment technology, and in particular to a message processing method, chip, device and medium. Background Technology

[0002] When a smart TV is connected to a set-top box, amplifier, or other auxiliary devices via a physical cable, the smart TV and these devices can send and receive messages through a communication link. If the auxiliary devices or this communication link malfunctions, the smart TV will become unusable. Users often mistakenly believe that there is a problem with the smart TV itself, making it difficult to ascertain the actual cause of the problem. Summary of the Invention

[0003] This application provides a message processing method, chip, device, and medium, which helps users to know the actual abnormal situation when the device malfunctions.

[0004] The first aspect provides a message processing method applied to a device that communicates with m connected auxiliary devices via a communication link. The device stores first information and second information. The first information records k identifiers and the number of exceptions corresponding to each identifier, where k is an integer not less than 1. The i-th identifier among the k identifiers represents the i-th device at which the latest message transmission to the i-th device failed. The number of exceptions corresponding to the i-th identifier is the consecutive number of times the device failed to send a message to the i-th device, including the latest failure, where i is an integer greater than 0 and not greater than k. The second information records the m connected auxiliary devices. The identifiers are m, where m is an integer greater than 1. The message processing method includes: when the number of anomalies corresponding to any one of the k identifiers in the first information reaches a threshold, and the k identifiers include the identifiers of m auxiliary devices, or at least one of the identifiers of the communication link, outputting a prompt message indicating that the communication link is abnormal; when the number of anomalies corresponding to any one of the k identifiers in the first information reaches a threshold, and the k identifiers do not include the identifier of the communication link but include the identifiers of n auxiliary devices from the m identifiers of the auxiliary devices, outputting a prompt message indicating that the n auxiliary devices corresponding to the identifiers of the n auxiliary devices are abnormal, where n is an integer greater than 1 and less than m.

[0005] For example, the communication link described above can be the CEC bus as described in other embodiments of this application. In other feasible examples, the communication link may also be other buses.

[0006] Understandably, the first piece of information can be dynamically updated based on the device's message sending status, and the second piece of information can be dynamically updated based on changes in the auxiliary devices connected to the device.

[0007] This application embodiment, by executing software fault determination logic, can provide a reminder of the corresponding fault type when a message transmission fails due to an anomaly in the bus or auxiliary device, thus preventing the user from using the device normally. This can prevent the user from easily assuming that the device is faulty, and can guide the user to conduct a preliminary investigation of the abnormal auxiliary device, so that the user can understand the actual abnormal situation and help the user resolve the anomaly.

[0008] Furthermore, problems with equipment malfunctions can be addressed by executing software fault diagnosis logic, thus avoiding any changes to the equipment hardware.

[0009] Optionally, the message processing method further includes: sending a first message based on the communication link; if the first message fails to be sent, updating the first information according to the identifier of the recipient of the first message. Whether the message is successfully sent can reflect whether there is an anomaly in the bus or auxiliary device. By updating the first information in real time when the first message fails to be sent, support can be provided for subsequent anomaly judgment based on the first information, so as to ensure the accuracy of the anomaly judgment.

[0010] Optionally, the first information is updated based on the identifier of the recipient of the first message, including: if the first information records the identifier of the recipient of the first message, then the exception count corresponding to the identifier of the recipient of the first message is incremented by 1; if the first information does not record the identifier of the recipient of the first message, then the identifier of the recipient of the first message is added to the first information, and the exception count corresponding to the identifier of the recipient of the first message is set to 1. By updating the corresponding exception count in the first information in real time when the first message fails to be sent, support can be provided for subsequent exception judgment based on the first information, so as to ensure the accuracy of exception judgment.

[0011] Optionally, sending a first message includes: if the first message fails to be sent, sending the first message based on a retry mechanism. Repeatedly sending the message helps to successfully send messages when the bus, device, or auxiliary device is busy. Furthermore, if sending still fails after multiple repeated message retransmissions, it can be assumed that the reason for the failure is likely an anomaly in the bus or auxiliary device, rather than the bus, device, or auxiliary device being busy. Therefore, updating the first information helps to ensure that the recorded first information more accurately reflects the actual anomaly situation, avoiding the impact of busy-related message sending failures on the accuracy of anomaly judgments based on the first information.

[0012] Optionally, the retry mechanism includes sequentially increasing the interval between at least two first message transmissions to better address potential issues where busy bus, device, or auxiliary devices could cause message transmission / reception failures.

[0013] By retrying when message transmission fails and gradually increasing the retry interval, it helps to avoid message transmission failures caused by busy bus, device, or accessory devices, ensuring that messages can still be successfully sent even when the bus, device, or accessory devices are busy.

[0014] Optionally, the message processing method further includes: if the first message is successfully sent and the first information records the identifier of the sender of the first message, then clear the identifier of the sender of the first message and the corresponding number of exceptions recorded in the first information. Whether the message is successfully sent can reflect whether there is an anomaly in the bus or auxiliary device. By clearing the corresponding sender and the corresponding number of exceptions in the first information in real time when the first message is successfully sent, support can be provided for subsequent anomaly judgment based on the first information, so as to ensure the accuracy of anomaly judgment.

[0015] Optionally, the device stores third information, which records f identifiers; wherein, the j-th identifier among the f identifiers represents the j-th device that did not receive a reply message from the j-th device after the device successfully sent a message requiring a reply to the j-th device the latest time, f is an integer not less than 1, and i is an integer greater than 0 and not greater than f; the message processing method further includes: when the f identifiers in the third information include the identifiers of m auxiliary devices, or at least one of the identifiers of the communication link, outputting a prompt message indicating that the communication link is abnormal; when the f identifiers in the third information do not include the identifiers of the communication link but include the identifiers of h auxiliary devices among the m identifiers of the auxiliary devices, outputting a prompt message indicating that the h auxiliary devices corresponding to the identifiers of the h auxiliary devices are abnormal, where h is an integer greater than 1 and less than m.

[0016] Understandably, the third information can be dynamically updated based on the device receiving reply messages.

[0017] By executing software fault diagnosis logic, when an anomaly in the bus or auxiliary device causes message reply failure and prevents the user from using the device normally, the corresponding anomaly type can be alerted. This can prevent users from easily assuming that the device is faulty, and can guide users to conduct preliminary troubleshooting of the abnormal auxiliary device, so that users know the actual anomaly situation and can help users resolve the anomaly.

[0018] Optionally, the message processing method further includes: sending a second message requiring a reply based on the communication link; if the second message is successfully sent, determining whether a reply message for the second message has been received; if no reply message for the second message is received and the identifier of the sender of the second message is not recorded in the third information, then adding the identifier of the sender of the second message to the third information; if a reply message for the second message is received and the identifier of the sender of the second message is recorded in the third information, then clearing the identifier of the sender of the second message recorded in the third information.

[0019] Whether a reply message is received can reflect whether there is an anomaly in the bus or auxiliary device. By updating the third information in real time according to whether a reply message for the second message is received, support can be provided for subsequent anomaly judgment based on the third information, so as to ensure the accuracy of anomaly judgment.

[0020] Optionally, determining whether a reply message to the second message has been received includes: if no reply message is received, resending the second message. After the device resends the second message and it is successfully sent, it can receive a reply message to the second message again. Repeatedly receiving reply messages helps to successfully receive them when the bus, device, or auxiliary device is busy. Furthermore, if a reply fails after multiple attempts to receive it, it can be assumed that the failure is likely due to an anomaly in the bus or auxiliary device, rather than the bus, device, or auxiliary device being busy. This helps to ensure that the third information is recorded in a way that better reflects the actual anomaly, preventing message reply failures caused by busy conditions from affecting the accuracy of anomaly judgments based on the third information.

[0021] Optionally, the message processing method further includes increasing the interval for repeatedly sending the second message. By increasing the interval for repeatedly sending the second message, the retry interval for receiving reply messages can be increased.

[0022] By retrying when a message reply fails and gradually increasing the retry interval for receiving reply messages, it helps to avoid message reply failures caused by busy bus, device, or accessory devices, ensuring that message replies can still be successfully received even when the bus, device, or accessory devices are busy.

[0023] Optionally, resending the second message includes: if the second message fails to be sent, resending the second message based on a retry mechanism. By resending the message to retry receiving the reply message when the message reply fails, and by resending the message based on a retry mechanism, the implementation of a two-level retry mechanism helps to successfully send and receive messages when the bus, device, or accessory device is busy.

[0024] Optionally, the first information includes the destination address of the message sent by the device to the i-th device; the second information includes the address of the auxiliary device to which the device is connected. In embodiments where both the first and second information include addresses, the device can compare the first and second information and issue corresponding anomaly alerts based on the comparison result, which helps simplify the software fault determination logic.

[0025] Optionally, the device includes a smart TV, and the communication link includes an I2C bus using a consumer electronics control communication protocol.

[0026] The second aspect provides a message processing apparatus applied to a device that communicates with m connected auxiliary devices via a communication link. The device stores first information and second information. The first information records k identifiers and the number of exceptions corresponding to each identifier, where k is an integer not less than 1. The i-th identifier among the k identifiers represents the i-th device at which the latest message transmission to the i-th device failed. The number of exceptions corresponding to the i-th identifier is the consecutive number of times the device failed to send a message to the i-th device, including the latest failure, where i is an integer greater than 0 and not greater than k. The second information records the identifiers of the m connected auxiliary devices, where m is greater than 1. The message processing device includes: a first processing module, configured to output a prompt message indicating that the communication link is abnormal when the number of abnormal occurrences corresponding to any one of the k identifiers in the first information reaches a threshold, and the k identifiers include the identifiers of m auxiliary devices, or at least one of the identifiers of the communication link; and a second processing module, configured to output a prompt message indicating that n auxiliary devices are abnormal when the number of abnormal occurrences corresponding to any one of the k identifiers in the first information reaches a threshold, and the k identifiers do not include the identifier of the communication link but include the identifiers of n auxiliary devices from the identifiers of m auxiliary devices, where n is an integer greater than 1 and less than m.

[0027] A third aspect provides a chip system comprising: one or more processors for executing a program or instructions stored in a memory, wherein when the program or instructions are executed by the one or more processors, the chip system is triggered to perform a method as described in any of the first aspects.

[0028] A fourth aspect provides an apparatus including one or more memories for storing programs or instructions, and one or more processors, wherein when the programs or instructions are executed by the one or more processors, the apparatus is triggered to perform a method as described in any of the first aspects.

[0029] The fifth aspect provides a readable storage medium (also referred to as a computer-readable storage medium) storing a program that, when run on a device, causes the device to perform the method as described in any of the first aspects.

[0030] The sixth aspect provides a program product (also referred to as a computer program product), the program product including a program that, when run on a device, causes the device to perform the method as described in any of the first aspects.

[0031] The technical effects of the aforementioned aspects can be referenced from each other, and will not be elaborated further here. Attached Figure Description

[0032] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly described below.

[0033] Figure 1 This is a schematic diagram illustrating a smart TV usage scenario.

[0034] Figure 2 This is a diagram illustrating another use case for smart TVs.

[0035] Figure 3 This is a schematic diagram illustrating the process of sending and receiving messages between a smart TV and a smart speaker.

[0036] Figure 4 A schematic diagram of a message processing system provided in one embodiment of this application;

[0037] Figure 5 This is a flowchart illustrating a message processing procedure for a smart TV, provided as an embodiment of this application.

[0038] Figure 6 A flowchart illustrating a message processing method provided in one embodiment of this application;

[0039] Figure 7 This is a schematic diagram of the structure of a device provided in one embodiment of this application. Detailed Implementation

[0040] To better understand the technical solution of this application, the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0041] It should be understood that the described embodiments are merely some, not all, of the embodiments in this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.

[0042] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0043] It should be understood that the term "at least one" as used in this document refers to one or more, and "more than one" refers to two or more. The term "and / or" as used in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. A and B can be singular or plural. Additionally, the character " / " in this document generally indicates that the preceding and following related objects 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 represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0044] It should be understood that although the terms "first," "second," etc., may be used to describe the set thresholds in the embodiments of this 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 this 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.

[0045] When a smart TV (or smart screen) is connected to a set-top box, amplifier, or other auxiliary devices via a physical connection cable, the smart TV and these auxiliary devices can send and receive messages through a communication link. For example, when the smart TV and the amplifier establish an Audio Return Channel (ARC) link, the smart TV can send multiple messages sequentially through this communication link.

[0046] For example, the set-top box mentioned above may include a TV box and a digital set-top box. The TV box transmits data via network signals and is a network set-top box, unlike a digital set-top box used to receive cable TV signals, satellite signals, or Interactive Personality TV (IPTV) signals.

[0047] For example, the aforementioned amplifier can be a smart speaker such as a soundbar.

[0048] For example, the physical connection cable described above can be a High Definition Multimedia Interface (HDMI) cable. HDMI is a fully digital video and audio transmission interface that can transmit uncompressed audio and video signals.

[0049] For example, the aforementioned communication link can be an Inter-Integrated Circuit Bus (I2C bus). The I2C bus is a bidirectional two-wire synchronous serial communication bus that requires only two wires (i.e., a serial data line and a serial clock line) to transmit information between devices connected to the I2C bus. Understandably, devices on the I2C bus can refer to the various devices that transmit information via the I2C bus.

[0050] For example, the communication protocol used by the I2C bus is the Consumer Electronics Control (CEC) communication protocol. CEC is a communication protocol built on the HDMI standard, supporting interconnection and unified control between multiple devices through a single HDMI cable. In some related technologies, the I2C bus using the CEC communication protocol can be called a CEC bus, and the above communication link can be a CEC bus. Smart TVs can communicate and interact with any of their auxiliary devices through the CEC bus. In other feasible examples, the above communication link can also be other buses, and this is not limited.

[0051] Optionally, the smart TV may include multiple HDMI ports to support the connection of smart TV accessories (such as TV boxes, amplifiers, digital set-top boxes, etc.) to the smart TV via HDMI cables through the HDMI ports, and then to the smart TV via the CEC bus.

[0052] Optionally, the above message can be a broadcast message or a unicast message. Broadcast is a one-to-many communication method, that is, sending a message from one source address to all devices on the bus (such as the CEC bus). Unicast is a one-to-one communication method, that is, sending a message from one source address to a specific device on the bus (such as the CEC bus). Understandably, devices on the bus can refer to devices that send and receive messages through the bus.

[0053] If the auxiliary devices or the aforementioned communication links malfunction, the smart TV will become unusable, leading users to mistakenly believe that the smart TV is faulty, making it difficult to ascertain the actual problem. Some possible scenarios where malfunctions in auxiliary devices or communication links cause the smart TV to malfunction include the following usage scenarios 1-7.

[0054] In use case 1, some TV boxes do not conform to the CEC communication protocol. When they are connected to a smart TV, the CEC bus will not work properly, which will prevent the smart TV from communicating with any of the auxiliary devices on the CEC bus.

[0055] Typically, after connecting a smart speaker to a smart TV via an HDMI (ARC) interface, the smart TV can communicate with the smart speaker through the CEC bus. The HDMI interface can transmit video and audio signals but does not support audio return transmission. The HDMI (ARC) interface, however, adds audio return transmission functionality to the HDMI interface, allowing audio signals to be transmitted from the smart TV to the smart speaker. See also... Figure 1 If a faulty TV box is connected to a smart TV via the HDMI interface, the connection of the faulty TV box will cause the CEC bus to malfunction. For example, the connection of a faulty TV box may cause the CEC bus to be pulled low for a long time, thus preventing the smart TV from communicating with the smart speaker through the CEC bus.

[0056] In use case 2, after the faulty TV box is connected to the smart TV, it will send a message indicating that the broadcast message has failed to be sent when the smart TV sends a broadcast message. This causes the smart TV to stop sending other messages due to the message sending failure, which in turn prevents the smart TV from communicating with all auxiliary devices on the CEC bus.

[0057] Normally, when all devices on the CEC bus are working properly, if the smart TV sends a broadcast message, none of the devices on the CEC bus will return a message. In this case, the smart TV's internal driver (e.g., ...) will fail to respond. Figure 4 The HDMI driver 402 shown can send messages to the message processing module inside the smart TV (e.g., Figure 4 The CEC message processing module 401 shown sends an ACK to indicate that the broadcast message was successfully sent, allowing the smart TV's message processing module to continue sending other messages.

[0058] See Figure 2 The smart speaker connects to the smart TV via an HDMI (ARC) interface. If a faulty TV box is connected to the smart TV via HDMI, the faulty TV box will send a message indicating that the broadcast message transmission failed when the smart TV sends a broadcast message (e.g., sending an ACK ERROR; the smart TV's internal driver can then send a NACK to the smart TV's message processing module based on the received ACK ERROR). This will cause the broadcast message to be interrupted because the smart TV's message processing module, upon receiving the message indicating broadcast message transmission failure, will no longer send other messages. These other messages include messages yet to be sent by the smart TV, and their message type can be either unicast or broadcast. Since the smart TV needs to send multiple messages sequentially when establishing an ARC connection with the smart speaker, the faulty TV box's message indicating broadcast message transmission failure will prevent the smart TV from establishing an ARC connection normally, thus causing the ARC connection to fail.

[0059] In use case 3, if the HDMI driver of the auxiliary device malfunctions, it will cause it to fail to respond to messages sent by the smart TV. For example, if the HDMI driver of the power amplifier malfunctions, it will cause it to fail to respond to messages sent by the smart TV, thus preventing the smart TV and the power amplifier from communicating.

[0060] In use case 4, some HDMI cables do not support the CEC communication protocol, preventing the smart TV from communicating with connected devices. For example, the smart TV cannot communicate with the amplifier connected to the HDMI cable, thus preventing the amplifier from being used as an audio output device.

[0061] As shown in usage scenarios 1 to 4 above, any abnormality in the bus (such as the CEC bus) or auxiliary devices will prevent users from selecting the power amplifier as the audio output device of the smart TV. This will often lead users to mistakenly believe that there is a problem with the smart TV, making it difficult to know the actual abnormality.

[0062] Besides bus or accessory device malfunctions causing smart TVs to malfunction, busy bus, device (such as smart TV) or accessory devices can also cause smart TVs to malfunction, leading users to mistakenly believe that there is a problem with the smart TV, thus affecting the user experience.

[0063] In use case 5, if the CEC bus is busy, the smart TV may fail to send messages, which will prevent the smart TV from communicating with its accessories via the CEC bus.

[0064] For example, when a smart TV establishes an ARC connection, it needs to send messages frequently. If the bus is busy, the smart TV may fail to send messages and will not be aware of it, which may lead the user to mistakenly believe that there is an abnormality in the smart TV or the accessory device.

[0065] In use case 6, if the auxiliary device is busy, it may be unable to respond to messages sent by the smart TV, thus preventing the smart TV from communicating with the auxiliary device.

[0066] For example, when a smart TV is establishing an ARC connection, if the underlying driver of the power amplifier is busy, the power amplifier may be unable to respond to the messages sent by the smart TV, thus causing the ARC connection to fail.

[0067] In use case 7, if the smart TV is busy, it may fail to send messages to the auxiliary device or refuse to reply to messages sent by the auxiliary device, thus preventing the smart TV from receiving subsequent messages from the auxiliary device.

[0068] For example, when a smart TV is establishing an ARC connection, if the underlying driver of the smart TV is busy, it may cause the TV to fail to send messages to the power amplifier or refuse to reply to messages sent by the power amplifier, thus causing the ARC connection to fail.

[0069] See Figure 3 When the smart TV sends message 1, if both the bus and the smart speaker are functioning normally, and the destination address in message 1 is the address of the smart speaker, then message 1 can be sent to the smart speaker via the bus. Afterwards, if the underlying driver of the smart TV or smart speaker is busy, the smart TV will not be able to receive the smart speaker's reply message to message 1; if the bus is busy, the smart TV will not be able to successfully send message 2 via the bus. If both message 1 and message 2 are messages required for the smart TV to establish an ARC connection, then busy bus, device, or auxiliary device conditions will all cause the ARC connection to fail.

[0070] It is evident that abnormalities in the bus or auxiliary devices, as well as busy bus, devices, or auxiliary devices, can cause smart TVs to malfunction. This often leads users to mistakenly believe that there is something wrong with the smart TV, making it difficult to know the actual abnormality and affecting the user experience.

[0071] In one feasible implementation, the voltage status on the CEC bus can be determined by modifying the hardware of the smart TV (e.g., setting the switch described below). If the CEC bus voltage is pulled low for an extended period after a device is connected to the smart TV, the hardware can interrupt the CEC bus-based communication between that device and the smart TV. This allows users to easily identify a problem with that device, rather than with the smart TV itself.

[0072] For example, among the pins (or pins) of the HDMI interface of a smart TV, there are specific pins that support communication via the CEC bus. After the HDMI connector of an auxiliary device is plugged into the HDMI interface of the smart TV, this specific pin of the HDMI connector makes contact with the specific pin of the HDMI interface, allowing the smart TV and the auxiliary device to communicate via the CEC bus. Based on this, a switch can be set in the HDMI interface of the smart TV. If the CEC bus is pulled low for an extended period after a device is connected to the smart TV, the switch in the corresponding HDMI interface can switch from the ON state to the OFF state, thus isolating the resistance of the aforementioned specific pin of the HDMI connector of that device, thereby preventing the smart TV and the auxiliary device from communicating via the CEC bus.

[0073] However, this implementation method requires increased hardware costs and cannot cope with other abnormal situations that cause smart TVs to malfunction, such as bus congestion leading to message processing failures, or abnormal voltage fluctuations causing TV boxes to interfere with the bus.

[0074] Therefore, one embodiment of this application provides a message processing method. This method can execute software fault determination logic to alert the user when a message transmission fails due to an anomaly in the bus or auxiliary device, preventing the user from using the smart TV normally. This avoids the user mistakenly believing that the smart TV is faulty and guides the user to initially check the abnormal auxiliary device, enabling the user to understand the actual anomaly and helping them resolve the issue. Since this method can address the problem of device malfunction by executing software fault determination logic, it does not involve any changes to the device hardware.

[0075] Furthermore, this method can also automatically repair anomalies caused by busy bus, device, or auxiliary devices by adaptively adjusting the number and interval of message sending and receiving retries (such as the number and interval of retries when sending a message fails as shown in step 502 below, and the number and interval of retries when receiving a reply message fails as shown in step 507 below). This can address the problem of message sending and receiving failures caused by busy bus, device, or auxiliary devices, and enable smart TVs to automatically resume normal use without the user restarting the device when the bus, device, or auxiliary devices are busy.

[0076] The following describes some embodiments of this application. The implementation methods and beneficial effects of different embodiments can be referred to each other. Although described separately, multiple embodiments can be implemented simultaneously on the same smart TV, and this application does not limit this.

[0077] See Figure 4 One embodiment of this application provides a message processing system, which includes a smart TV 400, a set-top box 1, a set-top box 2, and a power amplifier 404. These devices can communicate with each other via a CEC bus 403. Figure 4 In the illustrated embodiment, these devices are referred to as devices on the CEC bus 403. Set-top box 1, set-top box 2, and power amplifier 404 are all auxiliary devices of the smart TV 400. Set-top box 1 and set-top box 2 are connected to the smart TV 400 via an HDMI interface, and power amplifier 404 is connected to the smart TV 400 via an HDMI (ARC) interface. For example, set-top box 1 and set-top box 2 can be a TV box and a digital set-top box respectively connected to the smart TV 400. Devices on the same CEC bus 403 can exchange messages via the CEC bus 403. Figure 4 In the illustrated embodiment, messages transmitted via the CEC bus are referred to as CEC messages. The destination address of a CEC message can be used to describe the recipient of the CEC message.

[0078] If the CEC bus 403 and the devices on the CEC bus 403, such as the smart TV 400, set-top box 1, set-top box 2, and power amplifier 404, are all working normally, then when any device on the CEC bus 403 sends a broadcast CEC message, the recipient of the CEC message can be all devices on the CEC bus 403, and the destination address of the CEC message can be the address of the CEC bus 403. In this case, all devices on the CEC bus 403 will receive the CEC message. Conversely, when any device on the CEC bus 403 sends a unicast CEC message, the recipient of the CEC message can be a specific device on the CEC bus 403, and the destination address of the CEC message can be the address of the recipient, i.e., the address of that specific device. In this case, that specific device will receive the CEC message.

[0079] like Figure 4 As shown, the message processing system includes a smart TV 400, set-top box 1, set-top box 2, and power amplifier 404. The system also includes a CEC bus 403, an in-TV HDMI driver (i.e., HDMI driver 402), and an in-TV CEC message processing module (i.e., CEC message processing module 401). The CEC message processing module 401 and the HDMI driver 402 are functional modules within the smart TV 400.

[0080] The CEC message processing module 401 can be used to perform logical processing on CEC messages sent by any auxiliary device of the smart TV 400 through the CEC bus 403, and to determine which type of CEC message to send to the CEC bus 403 according to the TV service. For example, a CEC message sent by the CEC message processing module inside the power amplifier 404 is converted into a message by the HDMI driver inside the power amplifier 404. This message is then transmitted to the HDMI driver 402 via the CEC bus 403. The HDMI driver 402 parses the message into a CEC message and sends it to the CEC message processing module 401, enabling the CEC message processing module 401 to perform logical processing on the received CEC message.

[0081] The HDMI driver 402 can be used to convert CEC messages sent by the CEC message processing module 401 into packets and send them to the CEC bus 403, and to parse the packets transmitted by the CEC bus 403 into CEC messages and send them to the CEC message processing module 401.

[0082] For any CEC message sent by the CEC message processing module 401, if the CEC message is successfully sent by the HDMI driver 402, the CEC message processing module 401 can receive information indicating that the CEC message was successfully sent, such as receiving an ACK sent by the HDMI driver 402 for the CEC message. Then, the CEC message processing module 401 can continue to send other CEC messages when it receives the ACK.

[0083] In one example, if the CEC bus 403 and all devices on the CEC bus 403 are working properly, and a broadcast message issued by the CEC message processing module 401 is successfully sent by the HDMI driver 402, and none of the devices on the CEC bus 403 return any information, then the HDMI driver 402 can send an ACK to the CEC message processing module 401 in this case.

[0084] For any CEC message sent by the CEC message processing module 401, if the CEC message fails to be sent by the HDMI driver 402, the CEC message processing module 401 can receive information indicating that the CEC message has failed to be sent. For example, if it receives a NACK from the HDMI driver 402 for the CEC message, the CEC message processing module 401 can stop sending other CEC messages when it receives the NACK.

[0085] In one example, if set-top box 1 is an abnormal TV box and returns an ACK ERROR when the HDMI driver 402 sends a broadcast message, the HDMI driver 402 can send a NACK to the CEC message processing module 401 based on the received ACK ERROR.

[0086] In one embodiment, the CEC message processing module 401 can also be used to execute software fault determination logic to deal with the inability of the smart TV to function properly due to abnormalities in the bus or auxiliary devices, which would often lead users to mistakenly believe that there is a problem with the smart TV.

[0087] In one feasible implementation, address error information can be set in the smart TV 400. The aforementioned software fault determination logic includes: for any CEC message sent by the CEC message processing module 401, if the CEC message fails to be sent, and the address error information does not include the destination address of the CEC message, then the destination address of the CEC message is added to the address error information, and the error count corresponding to the destination address of the CEC message is set to 1; if the address error information includes the destination address of the CEC message, then the error count corresponding to the destination address of the CEC message in the address error information is incremented by 1; and if the CEC message is successfully sent, the destination address of the CEC message is removed from the address error information; when the error count corresponding to any address in the address error information reaches the threshold, an error judgment is performed based on the address of the connected auxiliary device of the smart TV and the address in the address error information to determine whether there is a bus error or an auxiliary device error that caused the message sending failure.

[0088] For example, when performing the above-mentioned anomaly judgment, if there are multiple auxiliary devices of the smart TV, and the address anomaly information includes the bus address, or includes the address of each auxiliary device, then it can be considered that the current anomaly is likely to be a bus anomaly. In this way, a reminder to indicate that the bus is anomaly can be output, such as a pop-up reminder that the bus is anomaly or may be anomaly.

[0089] For example, when performing the above-mentioned anomaly judgment, if the number of auxiliary devices of the smart TV is multiple, and the address anomaly information does not include the bus address, but includes the addresses of some auxiliary devices rather than all auxiliary devices, then it can be considered that the current anomaly is likely to be caused by the anomaly of those auxiliary devices. In this way, a reminder can be output to indicate that the anomaly of those auxiliary devices is present, such as a pop-up reminder that the anomaly of those auxiliary devices is present or may be present. Some auxiliary devices can be understood as one or more auxiliary devices.

[0090] In one feasible implementation, the smart TV 400 can be configured with no-reply information. The aforementioned software fault determination logic includes: for any CEC message successfully sent by the CEC message processing module 401, if the CEC message requires a reply but the reply fails, the destination address of the CEC message is added to the no-reply information. An anomaly judgment is performed based on the address of the connected auxiliary device of the smart TV and the address in the no-reply information to determine whether there is a bus anomaly or an auxiliary device anomaly that causes the message reply to fail. If the CEC message requires a reply and the reply is successful, the destination address of the CEC message is removed from the no-reply information.

[0091] Understandably, for any message sent by the message sender (such as a smart TV 400), a failed message reply can mean that the message sender did not receive the reply message sent by the recipient of the message, or simply that the reply message was not received. Conversely, a successful message reply can mean that the reply message was received.

[0092] For example, when performing the above-mentioned anomaly judgment, if there are multiple auxiliary devices of the smart TV and no reply information includes the bus address, or includes the address of each auxiliary device, then it can be considered that the current anomaly is likely to be a bus anomaly. In this way, a reminder to indicate that the bus is anomaly can be output, such as a pop-up reminder that the bus is anomaly or may be anomaly.

[0093] For example, when performing the above-mentioned anomaly judgment, if the number of auxiliary devices of the smart TV is multiple, and the no-response information does not include the bus address, but includes the addresses of some auxiliary devices rather than all auxiliary devices, then it can be considered that the current anomaly is likely to be that some auxiliary devices are abnormal. In this way, a reminder can be output to indicate that some auxiliary devices are abnormal, such as a pop-up reminder that some auxiliary devices are abnormal or may be abnormal. Some auxiliary devices can be understood as one or more auxiliary devices.

[0094] Optionally, in addition to alerting users about the type of error in case of message sending or reply failure, as described above, suggestions for handling the error can also be provided. For example, when alerting users about an error with a TV box, suggestions could include unplugging the TV box or replacing its HDMI cable. Similarly, when alerting users about an error with a smart speaker, suggestions could include restarting and resetting the smart speaker.

[0095] Figure 4 In the illustrated embodiment, the CEC message processing module 401, by executing software fault determination logic, can alert the user to the corresponding fault type when an anomaly occurs in the bus or auxiliary device, thus guiding the user to conduct an initial investigation of the faulty auxiliary device. Guiding the user to independently investigate the faulty auxiliary device helps the user understand the actual fault situation.

[0096] In one embodiment, the CEC message processing module 401 can also be used to adaptively adjust the number and interval of message retry based on whether the CEC message is successfully sent or received, in order to address the problem that the smart TV cannot be used normally due to busy bus, device or auxiliary device.

[0097] In one feasible implementation, the process of adaptively adjusting the number and interval of message retry includes: for any CEC message sent by the CEC message processing module 401, the CEC message can be sent based on the retry mechanism until it is successfully sent, or until it fails to be sent after multiple retrying. By repeatedly sending the CEC message, it is helpful to successfully send the CEC message when the bus, device, or auxiliary device is busy.

[0098] Optionally, as the number of times the same message is repeatedly sent increases, the retry interval for sending the message can be increased accordingly to better address the problem of CEC message transmission and reception failures caused by bus, device or auxiliary device busyness.

[0099] In one feasible implementation, the process of adaptively adjusting the number and interval of message transmission and reception retries includes: for any CEC message that the HDMI driver 402 has successfully sent and requires a reply, a reply message for that CEC message can be received based on the retry mechanism until a successful reply is received, or until a reply fails to be received after multiple attempts. Repeatedly receiving reply messages helps to successfully receive reply messages when the bus, device, or auxiliary devices are busy.

[0100] Optionally, as the number of times the same message is repeatedly received as a reply message increases, the retry interval for receiving the reply message can be increased accordingly to better address the problem of CEC message transmission and reception failures caused by bus, device, or auxiliary device busyness.

[0101] Optionally, when receiving a reply message for the same message repeatedly, the same message can be resent, and after successful message transmission, it can be determined whether a reply message for the same message has been received. Based on this, in one feasible implementation, the process of adaptively adjusting the number and interval of message transmission and reception retries includes: for any CEC message that has been successfully sent by the HDMI driver 402 and requires a reply, when retrying to receive the reply message for the CEC message, the CEC message transmission interval of the smart TV can be increased to reduce the transmission frequency of CEC messages, for example, by increasing it by 50ms. This not only increases the interval for receiving reply messages, but also prevents frequent CEC message transmission from increasing the bus busyness and hindering the successful transmission and reception of CEC messages.

[0102] Figure 4In the illustrated embodiment, the CEC message processing module 401 can automatically repair anomalies caused by busy bus, device, or auxiliary device by adaptively adjusting the number and interval of message transmission and reception retries. This can address the problem of CEC message transmission and reception failure caused by busy bus, device, or auxiliary device, so that smart TVs can automatically resume normal use without user restart when the bus, device, or auxiliary device is busy. For example, it can connect to the power amplifier normally and output sound. It can also address the problem of ARC link establishment failure caused by busy bus, device, or auxiliary device, thereby improving link establishment reliability.

[0103] See Figure 5 One embodiment of this application provides a message processing flow for a smart TV, which may include the following steps 501 to 510. The execution subject of this embodiment can be a smart TV, specifically a message processing module in the smart TV, such as the CEC message processing module 401 mentioned above.

[0104] Understandable. Figure 5 The number of retries, retry interval, and judgment threshold shown in the embodiments are some feasible examples. Other feasible values ​​can also be set as needed in other embodiments of this application, and there is no limitation on this.

[0105] Step 501: Send message.

[0106] The message in this step could be, for example, the CEC message mentioned above.

[0107] The message in this step can be a broadcast message or a unicast message.

[0108] The message in this step can be any message sent by the smart TV via a bus, such as the CEC bus mentioned above. For example, the message in this step can be any message sent by the smart TV to the power amplifier based on the ARC protocol during the ARC link establishment process between the smart TV and the power amplifier.

[0109] Referring to step 502 below, if the message sent in step 501 fails to be sent, step 501 can be executed again to resend the message based on the retry mechanism for sending failure. Therefore, the message in this step can be the message sent for the first time, or a message resent based on the retry mechanism for sending failure. For example, assuming a smart TV needs to send message 1, this step can be triggered when message 1 is sent for the first time, and it can also be triggered when message 1 fails to be sent and needs to be resent.

[0110] In one embodiment, the smart TV can trigger execution when a new device is detected being inserted. Figure 5The message processing flow shown enables timely identification of anomalies, whether caused by the new device itself or by the new device affecting the bus, and provides real-time alerts to the user. This ensures the user is aware of any anomalies resulting from the insertion of a new device. In other embodiments, the smart TV may also trigger execution upon power-on. Figure 5 The message processing flow shown is not limited to this.

[0111] Optionally, the smart TV can be equipped with a hot-plug detection circuit. When a user plugs or unplugs an accessory device from the smart TV, the smart TV can perform hot-plug detection (HPD) based on the voltage change caused by the hot-plug operation to obtain real-time information about the insertion or removal of the accessory device. In this way, the smart TV can determine in real time whether a new device should be inserted through the aforementioned hot-plug detection.

[0112] Optionally, the smart TV can maintain a message queue, and the smart TV's hardware abstraction layer (HAL) can send each message in this message queue sequentially. Correspondingly, when performing this step, the message processing module in the smart TV can add the messages to be sent in this step to the aforementioned message queue to achieve message sending.

[0113] Step 502: Wait for confirmation information indicating successful message transmission and determine whether confirmation information has been received. If yes, remove the destination address of the message from the address error information and execute step 506. If no, execute step 501 again based on the retry mechanism for failed transmission, until step 503 is executed when the retry fails.

[0114] The step of waiting for confirmation information and determining whether confirmation information has been received in step 502 can be used to determine whether the message sent in step 501 was sent successfully.

[0115] Optionally, the smart TV can maintain a queue of messages awaiting confirmation. The smart TV can determine whether a message has been sent successfully by waiting for confirmation messages in this queue that indicate successful message transmission. For example, the confirmation message can be an ACK, and in this case, the queue of messages awaiting confirmation can also be called the ACK queue.

[0116] Optionally, for any message in the acknowledgment queue, the smart TV can determine (e.g., every 10ms) whether it has received an acknowledgment for that message. If an acknowledgment is received, such as an ACK, the message is considered successfully sent; if no acknowledgment is received, such as a NACK, the message is considered to have failed to send.

[0117] After sending the message in step 501, the smart TV can add the message to the acknowledgment queue to wait for acknowledgment information (e.g., ACK) for messages in the queue. By waiting for this acknowledgment information, the bus communication status can be determined in real time to determine whether the bus may be in a busy state.

[0118] Optionally, the smart TV may maintain address error information. If the address error information includes a specific address, it may indicate that the smart TV failed to send a message to that address due to a malfunction in the corresponding device or a bus malfunction. It should be understood that the format of the address error information is not limited; for example, it can be a list or a document.

[0119] If the message is sent successfully, it indicates that the device corresponding to the destination address of the message is normal. This allows the destination address to be removed from the address error information, thus providing support for the subsequent error judgment shown in step 505 and ensuring the accuracy of the error judgment.

[0120] If message transmission fails, a retry mechanism can be implemented to resend the message. Optionally, this retry mechanism may include: retrying to send the message a maximum of 3 times (i.e., a cumulative total of 4 times), with retry intervals of 50ms, 100ms, and 150ms respectively. By retrying when message transmission fails and progressively increasing the retry intervals, message transmission failures caused by busy bus, device, or auxiliary devices can be avoided, ensuring successful message transmission even in scenarios where the bus, device, or auxiliary devices are busy.

[0121] Step 503: In the address error information, record the destination address of the message, increment the error count corresponding to the destination address of the message by 1, and then execute step 504.

[0122] If message transmission fails repeatedly after multiple attempts, the cause of the failure is likely an anomaly in the bus or auxiliary device, rather than a busy bus, device, or auxiliary device. In this case, the address anomaly information can be updated to include the message's destination address, and the anomaly count corresponding to that destination address can be incremented by 1. Real-time updates to the address anomaly information support the subsequent anomaly assessment shown in step 505, ensuring the accuracy of the anomaly assessment.

[0123] Optionally, the message may carry its destination address. The destination address of a broadcast message can be the logical address of the bus, while the destination address of a unicast message can be the logical address of a specific auxiliary device. In the CEC communication protocol, corresponding logical addresses can be assigned to the bus and each device, and these logical addresses serve as unique identifiers.

[0124] Figure 5 In the illustrated embodiment, the smart TV can update the address error information when message transmission fails, and then execute step 504 after updating the address error information. In other embodiments, the smart TV may also execute step 504 periodically, and there is no limitation thereto.

[0125] Step 504: If the number of exceptions corresponding to any address in the address exception information is greater than 3, determine whether the auxiliary device information is empty. If yes, clear the address exception information and end the process; otherwise, proceed to step 505. It should be understood that the format of the auxiliary device information is not limited; for example, it can be a list or a document.

[0126] Optionally, the smart TV can maintain auxiliary device information, which records all auxiliary devices connected to the smart TV. Optionally, the smart TV can update the auxiliary device information in real time based on the aforementioned hot-plug detection.

[0127] After updating the address error information based on message transmission failure, it's possible to check if the error count for any address in the error information exceeds 3. If the error count for any address exceeds 3 and the auxiliary device information is not empty, it indicates a high probability of an error in the bus or auxiliary device. In this case, the error judgment shown in step 505 can be executed to determine if there is a situation where a bus error or auxiliary device error is causing the message transmission failure. Performing error judgment when the error count reaches a threshold helps to reduce the risk of misjudgment.

[0128] When performing the exception judgment shown in step 505 in the event of message sending failure, it is possible to first determine whether the auxiliary device information is empty, in order to rule out the possibility that the local driver has an exception and returns NACK, thus determining that the message sending has failed. If it is determined that the auxiliary device information is empty (for example, the smart TV is not connected to any auxiliary devices), the address exception information can be cleared. This provides support for the subsequent execution of the exception judgment shown in step 505 and ensures the accuracy of the exception judgment.

[0129] Optionally, when the smart TV determines in step 504 that the accessory device information is empty, it may display a pop-up message reminding the user that there are currently no accessory devices, such as guiding the user to restart the smart TV or check the wiring status of the accessory devices.

[0130] Optionally, if the smart TV determines in step 504 that the accessory device information is empty, it can also trigger the HAL layer to stop sending messages.

[0131] Step 505: Determine whether the address error information and the auxiliary device information are consistent. If they are consistent and there are multiple (i.e., ≥2) auxiliary devices, a pop-up message will be displayed indicating that there is an error in the bus. If they are inconsistent and there are multiple auxiliary devices, a pop-up message will be displayed indicating that there is an error in the auxiliary device in the address error information. If they are consistent and there is one auxiliary device, a pop-up message will be displayed indicating that there is an error in the bus or the auxiliary device.

[0132] Optionally, the address error information can be judged as consistent if it includes the bus address or the logical address of each (i.e., all) accessory devices; and as inconsistent if the address error information does not include the bus address or includes the logical address of some (i.e., not all) accessory devices.

[0133] Optionally, in addition to displaying the type of error in the pop-up notification, suggestions for dealing with the error can also be provided. For example, when a pop-up notification indicates an error with the TV box, it can also suggest that the user unplug the TV box or replace the HDMI cable for the TV box; when a pop-up notification indicates an error with the smart speaker, it can also suggest that the user restart and reset the smart speaker.

[0134] Figure 5 The illustrated embodiment alerts the user to the abnormal situation when a message sending failure prevents the user from mistakenly believing that the smart TV is malfunctioning. It also guides the user to conduct a preliminary investigation of any abnormal accessory devices, allowing the user to understand the actual abnormal situation and helping the user to resolve the problem.

[0135] Step 506: Determine if a reply is needed. If yes, proceed to step 507; otherwise, end the process.

[0136] For example, for any message successfully sent by a smart TV, if the smart TV needs to receive a reply message from the sender of the message, it can indicate that a reply is required; if the smart TV does not need to receive a reply message from the sender of the message, it can indicate that a reply is not required. Optionally, the message may carry information indicating whether a reply is required.

[0137] If the message is a broadcast message and the bus is functioning normally, a reply message can be sent via the bus. If the message is a unicast message and both the bus and the corresponding auxiliary devices (i.e., the devices corresponding to the destination address of the unicast message) are functioning normally, a reply message can be sent via the bus by the corresponding auxiliary devices.

[0138] Step 507: Wait for a reply message to be received and determine whether a reply message has been received. If yes, remove the destination address of the message from the no-reply information and end the process. If no, increase the message sending interval of the message sending queue by 50ms and execute step 501 again based on the reply failure retry mechanism until the retry fails and then execute step 508.

[0139] The step 507, which involves waiting for a reply and determining whether a reply has been received, can be used to determine whether the message was successfully replied to.

[0140] Optionally, the smart TV can maintain a waiting response queue (e.g., denoted as waiting for responsemap). The smart TV can determine whether a message has been successfully responded to by waiting for confirmation messages in this queue that indicate successful message responses.

[0141] Optionally, for any message in the reply queue, the smart TV can determine (e.g., every 200ms) whether it has received an acknowledgment for that message. If an acknowledgment is received, such as an ACK, the message reply is considered successful; if no acknowledgment is received, such as a NACK, the message reply is considered unsuccessful.

[0142] For example, for any message in the waiting reply queue, the HDMI driver in the smart TV can send an ACK corresponding to the message to the message processing module in the smart TV when it receives a reply message for the message, and send a NACK corresponding to the message to the message processing module when it does not receive a reply message for the message.

[0143] After the message is successfully sent in step 501, the smart TV can determine whether a reply is needed. If a reply is needed, the message is added to the reply queue to await confirmation information (e.g., ACK) from messages in the queue. By waiting for this confirmation information, the real-time determination of the bus communication status can be achieved, thereby determining whether the bus may be in a busy state.

[0144] Optionally, the smart TV can maintain no-response information. If the no-response information includes a specific address, it may indicate that due to a malfunction in the corresponding device or bus at that address, the smart TV successfully sent a message requiring a response to that address but did not receive a response message from that address for that message. It should be understood that the format of the no-response information is not limited; for example, it can be a list or a document.

[0145] If the message is successfully replied to, it means that the device corresponding to the destination address of the message is normal. This allows the destination address to be removed from the list of messages without a reply, thus providing support for the subsequent anomaly judgment shown in step 510 and ensuring the accuracy of the anomaly judgment.

[0146] If a message reply fails, you can resend the message to retry. For example, in Figure 5In the example shown, if it is determined that the message reply failed, step 501 can be executed again to send the message. After the message is sent or the message is retried and sent successfully, it can be determined again whether the message reply was successful. This process is repeated until it is determined that the message reply was successful or the retry failed.

[0147] Optionally, the reply failure retry mechanism includes: retrying to receive the reply up to 3 times, and increasing the message sending interval in the HAL layer's message queue with each retry, for example, by 50ms. By increasing the message sending interval each time a reply failure is determined, the retry interval for receiving reply messages can be increased sequentially. By retrying when a message reply fails and sequentially increasing the retry interval for receiving reply messages, it helps to avoid message reply failures caused by busy bus, device, or auxiliary devices, ensuring that message replies can still be successfully received even in scenarios where the bus, device, or auxiliary devices are busy.

[0148] By increasing the message sending interval in the HAL layer's message queue in the event of a reply failure, frequent message sending can avoid increasing bus congestion and prevent message sending and receiving failures caused by frequent message sending by the smart TV.

[0149] Step 508: Add the destination address of the message to the no-reply message and proceed to step 509.

[0150] If a reply fails to be received after multiple attempts, it can be assumed that the failure is likely due to an anomaly in the bus or auxiliary device, rather than the bus, device, or auxiliary device being busy. In this case, the no-reply information can be updated to include the message's destination address. Real-time updates to the no-reply information support the subsequent anomaly assessment shown in step 510, ensuring the accuracy of the anomaly assessment.

[0151] Figure 5 In the illustrated embodiment, the smart TV can update the no-response information when a message reply fails, and then execute step 509 after updating the no-response information. In other embodiments, the smart TV may also execute step 509 periodically, and this is not limited.

[0152] Step 509: Determine if the auxiliary device information is empty. If yes, clear the no-response information and end. If no, proceed to step 510.

[0153] When performing the exception judgment shown in step 510 in the event of a message reply failure, it is possible to first determine whether the auxiliary device information is empty, in order to rule out the possibility that the local driver has an exception and returns NACK, thus determining that the message reply has failed. If it is determined that the auxiliary device information is empty (for example, the smart TV is not connected to any auxiliary devices), the no-reply information can be cleared. This provides support for the subsequent execution of the exception judgment shown in step 510, ensuring the accuracy of the exception judgment.

[0154] Optionally, when the smart TV determines in step 509 that the accessory device information is empty, it may display a pop-up message reminding the user that there are currently no accessory devices, such as guiding the user to restart the smart TV or check the wiring status of the accessory devices.

[0155] Optionally, if the smart TV determines in step 509 that the accessory device information is empty, it can also trigger the HAL layer to stop sending messages.

[0156] Step 510: Determine whether the no-response information and the auxiliary device information are consistent. If they are consistent and there are multiple auxiliary devices, a pop-up message will be displayed indicating that there is an abnormality in the bus. If they are inconsistent and there are multiple auxiliary devices, a pop-up message will be displayed indicating that there is an abnormality in the auxiliary device in the no-response information. If they are consistent and there is one auxiliary device, a pop-up message will be displayed indicating that there is an abnormality in the bus or the auxiliary device.

[0157] The technical implementation logic of step 510 is the same as that of step 505 above, and will not be repeated here.

[0158] Figure 5 The illustrated embodiment alerts the user to the abnormal situation when the user is unable to use the smart TV due to a failed message reply. This prevents the user from mistakenly believing that the smart TV is malfunctioning and guides the user to conduct a preliminary investigation of any abnormal accessory devices. This allows the user to understand the actual abnormal situation and helps them resolve the problem.

[0159] Referring to steps 502 and 507, the smart TV can send and receive messages based on a retry mechanism and increase the message sending interval as needed. This adaptively adjusts the number and interval of message sending and receiving retries to address the impact of busy bus, device, or auxiliary devices on message sending and receiving. Referring to steps 503-505 and 508-510, the smart TV can obtain the specific abnormality type and provide an abnormality alert when the smart TV cannot be used normally, guiding the user to conduct a preliminary investigation of the abnormal auxiliary devices. All of these measures help improve the reliability of the aforementioned ARC link establishment.

[0160] like Figure 6 As shown, one embodiment of this application provides a message processing method applied to a device, which may include steps 601 to 603. In one embodiment, the device may be a smart TV.

[0161] Figure 6 In the illustrated embodiment, the device communicates with m connected auxiliary devices via a communication link, where m is an integer greater than 1. In one embodiment, the communication link can be a CEC bus. In other embodiments, the communication link can also be other buses, and there is no limitation thereto. The auxiliary devices connected to the smart TV can be set-top boxes, power amplifiers, etc.

[0162] Figure 6 In the illustrated embodiment, the device stores first information, which records k identifiers and the number of exceptions corresponding to the k identifiers, where k is an integer not less than 1; wherein, the i-th identifier among the k identifiers represents the i-th device corresponding to the last time the device failed to send a message to the i-th device; the number of exceptions corresponding to the i-th identifier among the k identifiers is the number of consecutive times the device failed to send a message to the i-th device, and the number of consecutive times includes the last one, where i is an integer greater than 0 and not greater than k.

[0163] It should be understood that if the device fails to send a message to a particular auxiliary device in its latest attempt, the updated first message will contain the identifier of that auxiliary device. If the device successfully sends a message to a particular auxiliary device in its latest attempt, the updated first message will not contain the identifier of that auxiliary device.

[0164] It should be understood that, as one possible implementation, the first piece of information is the address anomaly information described above.

[0165] Understandably, the initial information can be dynamically updated based on the device's message sending status. Please refer to the subsequent instructions for specific update methods.

[0166] Optionally, when recording the identifier of the message sending object in the first information, this can be achieved by recording the address of the message sending object, as long as it can uniquely identify the message sending object. Taking recording the address of the message sending object as an example, in some embodiments, the first information records the destination address from which the device sends the message to the message sending object. For example, the first information could be... Figure 5 The address error information described in the illustrated embodiment. Taking a smart TV as the device and a power amplifier as the message recipient as an example, when the smart TV fails to send a message to the power amplifier via the CEC bus, the first information can be updated according to the destination address of the message, i.e., the address of the power amplifier, and the updated first information records the address of the power amplifier.

[0167] Optionally, the message sent by the device can be a broadcast message or a unicast message. A broadcast message can be sent to all devices on the bus, while a unicast message can be sent to a specific auxiliary device on the bus. The destination address of a broadcast message can be the bus address, while the destination address of a unicast message can be the address of a specific auxiliary device. For example, the address of the CEC bus can be the logical address of the CEC bus, and the address of the auxiliary device can be the logical address of the auxiliary device.

[0168] When a broadcast message fails to be sent, the device can update the first information to include the bus address and increment the exception count corresponding to the bus address by 1. For example, if the first information includes the bus address, the exception count corresponding to the bus address is incremented by 1; if the first information does not include the bus address, the bus address is recorded in the first information, and the exception count corresponding to the bus address is set to 1.

[0169] When a unicast message fails to be sent, the device can update the first information to include the destination address of the unicast message and increment the error count corresponding to that destination address by 1.

[0170] For example, suppose the device sends unicast messages to the power amplifier six times in succession. These six messages are messages 1 through 6. Messages 1 through 2 and messages 4 through 6 all fail to be sent, while message 3 is sent successfully. In the case of sending messages based on a retry mechanism, the success or failure of a message can be determined by the success or failure of sending the message after multiple retrying attempts.

[0171] When message 1 fails to be sent, the device can record the power amplifier's address in the first message and set the error count corresponding to the power amplifier's address to 1; when message 2 fails to be sent, the error count corresponding to the power amplifier's address is modified to 2; when message 3 is successfully sent, the power amplifier's address and the error count corresponding to the power amplifier's address are cleared from the first message; when message 4 fails to be sent, the device can record the power amplifier's address in the first message and set the error count corresponding to the power amplifier's address to 1; when message 5 fails to be sent, the error count corresponding to the power amplifier's address is modified to 2; and when message 5 fails to be sent, the error count corresponding to the power amplifier's address is modified to 3.

[0172] As can be seen in the above example, regardless of the time, if the first information records the power amplifier's address and the corresponding number of anomalies, the device's latest message to the power amplifier fails to send, and the number of anomalies corresponding to the power amplifier's address includes the consecutive counts of this latest attempt. If the first information does not record the power amplifier's address and the corresponding number of anomalies, the device's latest message to the power amplifier is successfully sent.

[0173] For example, if the device fails to send message 2 at the current time, the updated first information records the power amplifier's address and the number of exceptions corresponding to the power amplifier's address. The number of exceptions corresponding to the power amplifier's address is 2, that is, the first and second times. The second of the above 6 times is the latest failure to send a message to the power amplifier.

[0174] For example, if the device fails to send message 5 at the current time, the updated first information records the power amplifier's address and the number of exceptions corresponding to the power amplifier's address. The number of exceptions corresponding to the power amplifier's address is 2, that is, the 4th and 5th times. The 5th of the above 6 times is the latest failure to send a message to the power amplifier.

[0175] For example, if the device fails to send message 6 at the current time, the updated first information records the power amplifier's address and the number of exceptions corresponding to the power amplifier's address. The number of exceptions corresponding to the power amplifier's address is 3, that is, the 4th to the 6th times. The 6th of the above 6 times is the latest failure to send a message to the power amplifier.

[0176] In some embodiments, Figure 6 The message processing method shown may further include: sending a first message based on the communication link; if the first message fails to be sent, updating the first information according to the identifier of the recipient of the first message; if the first message is successfully sent and the identifier of the recipient of the first message is recorded in the first information, then clearing the identifier of the recipient of the first message and the number of exceptions corresponding to the identifier of the recipient of the first message recorded in the first information.

[0177] Optionally, the first message can be any message sent by the device via the communication link. The device can update the first message in real time based on whether the message was successfully sent.

[0178] In one embodiment, the step of updating the first information according to the identifier of the sending object of the first message may include: if the first information records the identifier of the sending object of the first message, then increment the number of exceptions corresponding to the identifier of the sending object of the first message by 1; if the first information does not record the identifier of the sending object of the first message, then add the identifier of the sending object of the first message to the first information and set the number of exceptions corresponding to the identifier of the sending object of the first message to 1.

[0179] Whether a message is successfully sent can reflect whether there is an anomaly in the bus or auxiliary device. By updating the corresponding number of anomalies in the first information in real time according to whether the first message is successfully sent, support can be provided for subsequent anomaly judgment as shown in steps 602 to 603 based on the first information, so as to ensure the accuracy of anomaly judgment.

[0180] In one embodiment, the step of sending the first message may include: if the first message fails to be sent, sending the first message based on a retry mechanism. For example, this retry mechanism may be the retry mechanism shown in step 502 above. Repeatedly sending the message multiple times helps to successfully send messages when the bus, device, or auxiliary device is busy.

[0181] Optionally, the retry mechanism may include a retry threshold. The retry threshold can be any value not less than 1; for example, referring to step 502 above, the retry threshold can be 3.

[0182] If a message fails to be sent after multiple attempts, it can be assumed that the cause of the failure is likely an anomaly in the bus or auxiliary device, rather than the bus, device, or auxiliary device being busy. Updating the first information in this way helps to ensure that the record of the first information is more consistent with the actual anomaly situation, and avoids the situation where message sending failure is caused by being busy, which affects the accuracy of anomaly judgment based on the first information.

[0183] Optionally, the retry mechanism may include sequentially increasing at least two intervals for sending the first message to better address potential issues such as message transmission / reception failures due to bus, device, or auxiliary device congestion. For example, referring to step 502 above, for a failed message, the retry mechanism may include three sequentially increasing retry intervals for sending the message, meaning the retry mechanism may limit retries to a maximum of three times, with retry intervals of 50ms, 100ms, and 150ms respectively.

[0184] By retrying when message transmission fails and gradually increasing the retry interval, it helps to avoid message transmission failures caused by busy bus, device, or accessory devices, ensuring that messages can still be successfully sent even when the bus, device, or accessory devices are busy.

[0185] This application embodiment can automatically repair anomalies caused by busy bus, device, or auxiliary device by adaptively adjusting the number and interval of message transmission and reception retries. This can address the problem of message transmission and reception failure caused by busy bus, device, or auxiliary device, and enable the device to automatically resume normal use without user restart when the bus, device, or auxiliary device is busy. For example, it can connect to the power amplifier normally and output sound. It can also address the problem of ARC link establishment failure caused by busy bus, device, or auxiliary device, thereby improving link establishment reliability.

[0186] In one example, the device may execute step 601 when any of the anomaly counts in the first information increases (e.g., the anomaly count is incremented by 1 or the anomaly count is set to 1). In other examples, the device may execute step 601 periodically, without limitation.

[0187] Step 601: When the number of anomalies corresponding to any of the k identifiers in the first information reaches the number threshold, execute step 602 or step 603.

[0188] Optionally, the aforementioned threshold number can be any value not less than 2, such as 4. By performing anomaly detection when the number of abnormal occurrences reaches the threshold, the risk of misjudgment can be reduced.

[0189] Figure 6 In the illustrated embodiment, the device stores second information recording the identifiers of m auxiliary devices connected to the device.

[0190] Understandably, the second information can be dynamically updated based on the plugging and unplugging status of the auxiliary devices connected to the device. For specific update methods, please refer to the relevant descriptions in other embodiments of this application.

[0191] It should be understood that, as one possible implementation, the second information is the auxiliary equipment information described above.

[0192] Optionally, when recording the identifier of the auxiliary device in the second information, this can be achieved by recording the address of the auxiliary device, as long as it can uniquely identify the auxiliary device. Taking recording the address of the auxiliary device as an example, in some embodiments, the second information records the address of the auxiliary device to which the device is connected. The second information can be, for example, the address of the auxiliary device to which the device is connected. Figure 5 The illustrated embodiment contains information about the auxiliary device. Taking a smart TV as the device and a power amplifier as the auxiliary device, when the smart TV is connected to the power amplifier, the second information records the address of the power amplifier.

[0193] Optionally, the identifiers in the first and second information can be implemented in a unified way, such as both being addresses, to facilitate matching. For example, in an embodiment where both the first and second information record addresses, the device can compare the first and second information to determine if the addresses recorded in the first and second information are consistent, and execute step 602 or step 603 based on the comparison result to provide a corresponding anomaly alert. This helps simplify the software fault determination logic. Feasible technical implementations for comparing the first and second information can be found in the relevant description in step 505 above.

[0194] Step 602: When the k identifiers include the identifiers of m auxiliary devices, or at least one of the identifiers of the communication link, output a prompt message indicating that there is an anomaly in the communication link.

[0195] Step 603: When the k identifiers do not include the identifiers of the communication link but include the identifiers of n auxiliary devices from the m identifiers of the auxiliary devices, output a prompt message indicating that the n auxiliary devices corresponding to the identifiers of the n auxiliary devices are abnormal, where n is an integer greater than 1 and less than m.

[0196] This application embodiment, by executing software fault determination logic, can provide a reminder of the corresponding fault type when a message transmission fails due to an anomaly in the bus or auxiliary device, thus preventing the user from using the device normally. This can prevent the user from easily assuming that the device is faulty, and can guide the user to conduct a preliminary investigation of the abnormal auxiliary device, so that the user can understand the actual abnormal situation and help the user resolve the anomaly.

[0197] Furthermore, the embodiments of this application can address the problem of the device malfunctioning by executing software fault determination logic, thus avoiding any changes to the device hardware.

[0198] For any message that is successfully sent, it can be either a message requiring a reply or a message that does not require a reply. After successfully sending a message requiring a reply, the device can, as needed, provide an error alert based on whether a reply message has been received, and adaptively adjust the number and interval of message sending and receiving retries as needed.

[0199] In some embodiments, the device stores third information, which records f identifiers; wherein, the j-th identifier among the f identifiers represents the j-th device when the device did not receive a reply message from the j-th device after successfully sending a message requiring a reply to the j-th device the latest time, f is an integer not less than 1, and i is an integer greater than 0 and not greater than f.

[0200] It should be understood that if the device successfully sends a message requiring a reply to a subsidiary device in its latest instance, but does not receive a reply from that subsidiary device, the updated third information will record the identifier of that subsidiary device. If the device successfully sends a message requiring a reply to a subsidiary device in its latest instance, and receives a reply from that subsidiary device, the updated third information will not record the identifier of that subsidiary device.

[0201] It should be understood that, as one possible implementation, the third message is the no-response message described above.

[0202] Understandably, the third piece of information can be dynamically updated based on the device receiving reply messages. Please refer to the subsequent explanation for the specific update method. For example, when the sender of the first message is working normally, the sender can send a reply message to the device via the bus after the device successfully sends the first message, and the device can then receive the reply message to the first message.

[0203] Optionally, when recording the identifier of the message sending object in the third information, this can be achieved by recording the address of the message sending object, as long as it can uniquely identify the message sending object. Taking recording the address of the message sending object as an example, in some embodiments, the third information records the destination address from which the device sends the message to the message sending object. For example, the third information could be... Figure 5 The embodiment shown illustrates the absence of a reply message. Taking a smart TV as the device and a power amplifier as the message sender, when the smart TV successfully sends a message requiring a reply to the power amplifier via the CEC bus but does not receive a reply message from the power amplifier, the third information can be updated based on the destination address of the message, i.e., the address of the power amplifier. The updated third information records the address of the power amplifier.

[0204] For example, suppose the device successfully sends two unicast messages requiring a reply to the power amplifier, unicast message 7 and unicast message 8 respectively. The device receives a reply message from the power amplifier for unicast message 7, but does not receive a reply message for unicast message 8. In the case of receiving reply messages based on a retry mechanism, receiving or not receiving a reply message can be determined by repeatedly receiving reply messages.

[0205] When the device receives a reply message to unicast message 7, it can clear the power amplifier's address from the third information; when it does not receive a reply message from the power amplifier to unicast message 8, it can record the power amplifier's address in the third information.

[0206] As can be seen in the above examples, regardless of the time, when the third information contains the power amplifier's address, the device does not receive a reply message from the power amplifier after successfully sending the message requiring a reply to it. Conversely, when the third information does not contain the power amplifier's address, the device receives a reply message from the power amplifier after successfully sending the message requiring a reply to it.

[0207] For example, if the current moment is when the device receives a reply message to unicast message 7, then the updated third information does not record the address of the power amplifier.

[0208] For example, if the device has not received a reply message from unicast message 8 at the current time, the updated third information records the address of the power amplifier. The second of the two instances mentioned above is the latest instance where no reply message was received from the power amplifier.

[0209] In some embodiments, Figure 6The message processing method shown may further include: sending a second message requiring a reply based on the communication link; if the second message is successfully sent, determining whether a reply message for the second message has been received; if no reply message for the second message has been received and the identifier of the sender of the second message is not recorded in the third information, then adding the identifier of the sender of the second message to the third information; if a reply message for the second message has been received and the identifier of the sender of the second message is recorded in the third information, then clearing the identifier of the sender of the second message recorded in the third information.

[0210] Whether a reply message is received can reflect whether there is an anomaly in the bus or auxiliary device. By updating the third information in real time according to whether a reply message for the second message is received, support can be provided for subsequent anomaly judgment based on the third information, so as to ensure the accuracy of anomaly judgment.

[0211] Optionally, the first message and the second message can be the same message or different messages; there is no limitation on this. The device can update the third message in real time based on whether a reply message to the second message is received.

[0212] Optionally, the device may update the third information to include the destination address of the second message if no reply message to the second message is received. Alternatively, the device may update the third information to exclude the destination address of the second message upon receiving a reply message to the second message.

[0213] By updating the third information in real time based on whether the reply message to the second message has been successfully received, support can be provided for subsequent anomaly judgment based on the third information, so as to ensure the accuracy of the anomaly judgment.

[0214] In one embodiment, the step of determining whether a reply message to the second message has been received may include: if no reply message to the second message has been received, resending the second message. After the device resends the second message and the transmission is successful, it can receive a reply message to the second message again. By repeatedly receiving reply messages, it is helpful to successfully receive reply messages when the bus, device, or auxiliary device is busy.

[0215] For example, the retry mechanism may include a retry threshold. The retry threshold can be any value not less than 1; for example, referring to step 507 above, the retry threshold can be 3.

[0216] If no reply message is received after repeatedly receiving reply messages, it can be assumed that the reason for the reply failure is likely an anomaly in the bus or auxiliary device, rather than the bus, device, or auxiliary device being busy. In this way, when updating the third information, it helps to make the record of the third information more consistent with the actual anomaly situation, and avoids the situation where the reply message is not received due to being busy, which affects the accuracy of the anomaly judgment based on the third information.

[0217] In one embodiment, the message processing method further includes increasing the interval for repeatedly sending the second message. By increasing the interval for repeatedly sending the second message, the retry interval for receiving reply messages can be increased.

[0218] For example, if no reply message for the second message is received, the interval for retransmitting the second message can be increased by increasing the device's message transmission interval, such as increasing the message transmission interval of the device's message queue by 50ms. This not only increases the retry interval for receiving reply messages, but also prevents frequent message transmissions from increasing bus congestion and hindering successful message sending and receiving on the bus.

[0219] By retrying when a message reply fails and gradually increasing the retry interval for receiving reply messages, it helps to avoid message reply failures caused by busy bus, device, or accessory devices, ensuring that message replies can still be successfully received even when the bus, device, or accessory devices are busy.

[0220] In one embodiment, resending the second message includes: if the second message fails to be sent, resending the second message based on a retry mechanism. For example, in... Figure 5 In the example shown, if no reply message for the second message is received, step 501 can be executed again to send the message. After the message is sent or the message is successfully retried, it can be determined again whether a reply message for the second message has been received. This process is repeated until a reply message for the second message is received, or no reply message for the second message is received.

[0221] By resending the message to retry receiving the reply message when no reply message is received from the second message, and by resending the message based on the retry mechanism, the implementation of the two-level retry mechanism helps to successfully send and receive messages when the bus, device or accessory device is busy.

[0222] In this embodiment, the device can send and receive messages based on a retry mechanism and increase the message sending interval as needed. By adaptively adjusting the number and interval of message sending and receiving retries, it can cope with the impact of bus, device or auxiliary device busyness on message sending and receiving. It can also obtain the specific abnormality type and provide abnormality reminders when the device cannot be used normally, so as to guide users to initially check the abnormal auxiliary devices. This helps to improve the reliability of link establishment.

[0223] In some embodiments, where the device stores third-party information, Figure 6 The message processing method shown may further include: when the f identifiers in the third information include the identifiers of m auxiliary devices, or at least one of the identifiers of the communication link, outputting a prompt message indicating that the communication link is abnormal; when the f identifiers in the third information do not include the identifier of the communication link but include the identifiers of h auxiliary devices among the identifiers of m auxiliary devices, outputting a prompt message indicating that the h auxiliary devices corresponding to the identifiers of the h auxiliary devices are abnormal, where h is an integer greater than 1 and less than m.

[0224] Optionally, the identifiers in the third and second information can be implemented in a unified way. For example, both the third and second information can be identifiers that are addresses, so as to match the identifiers in the third and second information. For example, in an embodiment where both the third and second information record addresses, the device can compare the third and second information to determine whether the address recorded in the third information is consistent with the address recorded in the second information, and issue a corresponding anomaly alert based on the comparison result. Feasible technical implementations for comparing the third and second information can be found in the relevant description in step 510 above.

[0225] In one example, the device may perform the step of comparing the third information and the second information if no reply message is received. In other examples, the device may periodically perform the step of comparing the third information and the second information, without limitation.

[0226] This application embodiment, by executing software fault determination logic, can provide a reminder of the corresponding fault type when a message reply fails due to an anomaly in the bus or auxiliary device, thus preventing the user from using the device normally. This can prevent the user from easily assuming that the device is faulty, and can guide the user to conduct a preliminary investigation of the abnormal auxiliary device, so that the user can understand the actual abnormal situation and help the user resolve the anomaly.

[0227] Figure 6 The specific technical implementation of the illustrated embodiment can be found in the relevant descriptions in other embodiments of this application, and will not be repeated here.

[0228] The method provided in any embodiment of this application can be applied to... Figure 7The device 100 shown can be, for example, a smart TV. Figure 7 A schematic diagram of the structure of device 100 is shown. Device 100 may include a processor 110, internal memory 121, antenna, wireless communication module 160, audio module 170, speaker 170A, display screen 194, etc.

[0229] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on device 100. In other embodiments of this application, device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0230] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors. The controller can generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution.

[0231] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0232] It is understood that the connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the device 100. In other embodiments of this application, the device 100 may also employ different interface connection methods or a combination of multiple interface connection methods as described in the above embodiments.

[0233] The wireless communication function of device 100 can be achieved through an antenna and a wireless communication module 160. The wireless communication module 160 can provide a solution for at least one of the following wireless communication technologies applied to device 100: Wireless Local Area Networks (WLAN) (such as Wireless Fidelity (Wi-Fi) networks), Bluetooth (BT), Near Link, Ultra Wide Band (UWB), Near Field Communication (NFC), and Infrared (IR). The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna, frequency-modulates and filters the electromagnetic wave signal, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, frequency-modulate and amplify them, and then convert them into electromagnetic waves for radiation via the antenna.

[0234] Internal memory 121 can be used to store program code, including instructions. Internal memory 121 includes a program storage area and a data storage area. The program storage area can store the operating system, application programs required for at least one function (such as sound playback, image playback, etc.), etc. The data storage area can store data created during the use of device 100 (such as audio data, etc.). Furthermore, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory located within the processor.

[0235] The device 100 can realize audio functions through audio module 170, speaker 170A, etc.

[0236] In addition, an operating system runs on the aforementioned components. For example... operating system, Operating systems, etc. Applications can be installed and run on an operating system.

[0237] The software system of Device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture.

[0238] This application also provides a chip system installed in a device. The chip system includes one or more processors for executing programs or instructions stored in a memory. When the program or instructions are executed by one or more processors, the chip system is triggered to execute the method steps provided in any method embodiment of this application.

[0239] This application also proposes an apparatus, which includes a communication module, one or more memories for storing programs or instructions, and one or more processors for executing programs or instructions, wherein when the program or instructions are executed by the one or more processors, the apparatus is triggered to execute the method steps provided in any method embodiment of this application.

[0240] Furthermore, the devices, apparatuses, and modules described in the embodiments of this application can be implemented by chips or physical entities, or by products with certain functions.

[0241] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus, or program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a program product implemented on one or more usable storage media containing usable program code.

[0242] In the several embodiments provided in this application, any function, if implemented as a software functional unit and sold or used as an independent product, can be stored in a readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device to execute all or part of the steps of the methods described in the various embodiments of this application.

[0243] Specifically, this application also provides a readable storage medium (also known as a computer-readable storage medium) that stores a program. When the program is run on the device, it causes the device to execute the method steps provided in this application.

[0244] This application also provides a program product (also referred to as a computer program product), which includes a program that, when run on a device, causes the device to perform the method steps provided in this application.

[0245] In this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0246] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, similar or identical parts between the various embodiments of this application can be referred to mutually. For example, the specific working process of the system, device, and unit described in the embodiments of this application can be...

[0247] The corresponding process in the method embodiments of this application will not be repeated here.

[0248] The above description is merely a specific embodiment of this application and is not intended to limit this application. The scope of protection of this application shall be determined by the claims.

Claims

1. A message processing method, characterized in that, Applied to a device, which communicates with m connected auxiliary devices via a communication link; The device stores first information and second information. The first information records k identifiers and the number of exceptions corresponding to the k identifiers, where k is an integer not less than 1. The i-th identifier among the k identifiers represents the i-th device corresponding to the last time the device failed to send a message to the i-th device. The number of exceptions corresponding to the i-th identifier among the k identifiers is the consecutive number of times the device failed to send a message to the i-th device, and the consecutive number includes the last one, where i is an integer greater than 0 and not greater than k. The second information records the identifiers of m auxiliary devices connected to the device, where m is an integer greater than 1. The method includes: If the number of anomalies corresponding to any one of the k identifiers in the first information reaches a threshold, and the k identifiers include the identifiers of the m auxiliary devices, or at least one of the identifiers of the communication link, then an error message indicating that the communication link is abnormal is output. If the number of anomalies corresponding to any one of the k identifiers in the first information reaches the threshold, and the k identifiers do not include the identifier of the communication link but include the identifiers of n auxiliary devices among the m auxiliary device identifiers, then output a prompt message indicating that the n auxiliary devices corresponding to the identifiers of the n auxiliary devices are abnormal, where n is an integer greater than 1 and less than m.

2. The method according to claim 1, characterized in that, The method further includes: Send a first message based on the communication link; If the first message fails to be sent, the first information is updated according to the identifier of the recipient of the first message.

3. The method according to claim 2, characterized in that, Update the first information based on the identifier of the recipient of the first message, including: If the first information contains the identifier of the object to which the first message was sent, then the number of exceptions corresponding to the identifier of the object to which the first message was sent is incremented by 1. If the identifier of the sender of the first message is not recorded in the first information, then the identifier of the sender of the first message is added to the first information, and the number of exceptions corresponding to the identifier of the sender of the first message is set to 1.

4. The method according to claim 2, characterized in that, Sending the first message includes: if the first message fails to be sent, sending the first message based on a retry mechanism.

5. The method according to claim 4, characterized in that, The retry mechanism includes sequentially increasing the interval between at least two sending of the first message.

6. The method according to claim 2, characterized in that, The method further includes: If the first message is successfully sent and the first information contains the identifier of the recipient of the first message, then the identifier of the recipient of the first message and the number of exceptions corresponding to the identifier of the recipient of the first message recorded in the first information are cleared.

7. The method according to any one of claims 1-6, characterized in that, The device stores third information, which records f identifiers; wherein, the j-th identifier among the f identifiers represents the j-th device when the device did not receive a reply message from the j-th device after successfully sending a message requiring a reply to the j-th device in the latest instance, and f is an integer not less than 1, and i is an integer greater than 0 and not greater than f; The method further includes: If the f identifiers in the third information include the identifiers of the m auxiliary devices, or if at least one of the identifiers of the communication link is included, an error message indicating that the communication link is abnormal is output. When the f identifiers in the third information do not include the identifier of the communication link but include the identifiers of h auxiliary devices among the m auxiliary device identifiers, output a prompt message indicating that the h auxiliary devices corresponding to the identifiers of the h auxiliary devices are abnormal, where h is an integer greater than 1 and less than m.

8. The method according to claim 7, characterized in that, The method further includes: A second message requiring a response is sent based on the communication link; If the second message is sent successfully, determine whether a reply message to the second message has been received; If no reply message is received for the second message, and the identifier of the sender of the second message is not recorded in the third information, then the identifier of the sender of the second message is added to the third information; If a reply message to the second message is received, and the third information records the identifier of the sender of the second message, then the identifier of the sender of the second message recorded in the third information is cleared.

9. The method according to claim 8, characterized in that, Determining whether a reply message to the second message has been received includes: if no reply message to the second message has been received, resending the second message.

10. A chip system, characterized in that, include: One or more processors are configured to execute a program or instructions stored in memory, wherein, when the program or instructions are executed by the one or more processors, the chip system is triggered to perform the method as described in any one of claims 1-9.

11. A device, characterized in that, The device includes one or more memories for storing programs or instructions, and one or more processors, wherein when the programs or instructions are executed by the one or more processors, the device is triggered to perform the method as described in any one of claims 1-9.

12. A readable storage medium, characterized in that, The readable storage medium stores a program that, when run on the device, causes the device to perform the method as described in any one of claims 1-9.

13. A program product, characterized in that, The program product includes a program that, when run on a device, causes the device to perform the method as described in any one of claims 1-9.