A control method, system, device and medium of a network broadcast system
Patent Information
- Application Number
- CN202611349289.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-02
- Publication Date
- 2026-10-30
AI Technical Summary
[0005]本发明提供了一种网络广播系统的控制方法、系统、设备及介质,能够解决节点组整体失效时广播服务中断的问题
Smart Images

Figure CN123019930A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network broadcasting technology, and in particular to a control method, system, device and medium for a network broadcasting system. Background Technology
[0002] A network broadcasting system is a system that generates broadcast control commands and audio streams through broadcast service nodes, transmits these commands and streams over an IP network, and is received and played by broadcast terminals such as network amplifiers and network speakers. Network broadcasting systems are widely used in scenarios such as nuclear power plants, airports, subways, and emergency command centers. These scenarios have high requirements for the real-time and continuous nature of broadcast services; interruptions in broadcast services may prevent the timely delivery of important information.
[0003] Existing technologies employ a dual-node or multi-node high-availability architecture, forming a high-availability node group with a primary broadcast server and a backup broadcast server. The primary and backup broadcast servers maintain their primary / backup relationship through heartbeat detection, state synchronization, or data synchronization mechanisms. When the primary broadcast server is functioning normally, it sends broadcast control commands and audio streams to broadcast terminals. If a failure is detected in the primary broadcast server, the backup broadcast server takes over and continues to provide broadcast services to the broadcast terminals.
[0004] However, in the aforementioned existing technologies, multiple servers within a node group are typically deployed in the same data center, sharing the same power supply, network egress, and switching equipment. When the data center where the node group is located experiences a power outage, a public network link interruption, or a core switching equipment failure, all servers within the node group may simultaneously be unable to provide broadcast services. At this time, even if there are servers within the node group that are operating normally, the entire node group is unable to send valid broadcast control commands or audio streams to the broadcast terminals it governs, resulting in broadcast failure. Summary of the Invention
[0005] This invention provides a control method, system, device, and medium for a network broadcasting system, which can solve the problem of broadcast service interruption when the entire node group fails.
[0006] This invention provides a control method for a network broadcasting system. The network broadcasting system includes multiple node groups, each node group includes one or more broadcast service nodes, and each broadcast service node controls one or more broadcast devices. The methods include: Periodically obtain the group-level health status of the second node group; The group-level health status is used to determine whether the second node group meets the preset failure conditions. If so, the second node group is determined to be failed, and the set of broadcasting devices controlled by the second node group is determined. Send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch control from the second node group to the first node group; After the switch is completed, broadcast control commands or audio streams are sent to the broadcast device set according to the broadcast task.
[0007] In this embodiment of the invention, when a node group loses its broadcast service capability due to a power outage in the data center, a public network link interruption, a core switching equipment failure, a public software anomaly, or other reasons, other normal node groups can take over its broadcast service. This compensates for the shortcomings of existing intra-group high availability mechanisms in handling node group-level failures. By taking over the entire set of broadcast devices under the jurisdiction of the node group as the overall takeover target, rather than waiting for each device to make its own judgment and select a server, devices within the same broadcast area can switch to the same new node group at the same time, avoiding the situation where some devices have switched while others are still connected to the failed node group. After the takeover is completed, the new node group continues to send broadcast control commands and audio streams, eliminating the need for administrators to adjust the configuration of each broadcast device individually, thus shortening the time between the occurrence of a node group failure and the broadcast devices regaining control commands and audio streams.
[0008] Furthermore, the group-level health status of the second node group is periodically obtained, specifically as follows: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset cycle, if all nodes are unhealthy, the second node group determines the component's health status as unhealthy; if any node is healthy, the second node group determines the component's health status as healthy.
[0009] By using node groups as the basic unit for health monitoring and fault diagnosis, the group-level health status of a node group is considered healthy as long as at least one node in the group can provide broadcast services normally. This reflects the actual ability of the entire node group to provide broadcast services and avoids misjudging the entire node group as unhealthy due to temporary anomalies of individual servers within the group. Only when all nodes in the node group are unable to provide services is the group-level health status considered unhealthy. This reduces the probability of cross-group takeover triggered by a momentary failure of a single node and reduces unnecessary device switching.
[0010] Furthermore, the health status of each node in the second node group is periodically determined, specifically as follows: In the second node group, the health status of each node is determined by detecting whether the node can provide broadcast services. Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than the first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
[0011] This node health assessment incorporates two dimensions: "whether it can provide broadcast services" and "whether the heartbeats of its subordinate devices are normal." It can identify abnormal situations where "the server process is running normally, but the subordinate devices are unable to connect," thus more accurately reflecting the node's actual broadcast service capability. By setting a first preset threshold, a small number of broadcast devices with abnormal heartbeats are allowed without affecting the node's health assessment, avoiding the misjudgment of a node as unhealthy due to network fluctuations of individual devices. The node health status integrates the node's own service capability with feedback from the controlled devices, enabling the group-level health status to truly reflect whether the node group can actually send control commands and audio streams to broadcast devices, rather than simply reflecting whether the server is online.
[0012] Furthermore, based on the group-level health status, it is determined whether the second node group meets the preset failure conditions, specifically as follows: If the component's health status is unhealthy and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than a preset period, then the second node group is determined to meet the preset failure condition.
[0013] By setting a duration threshold, unnecessary cross-group switching caused by instantaneous network fluctuations is avoided. Takeover is only initiated when a node group remains unhealthy for more than the set time, reducing the number of invalid switches in the system. Through the timeout judgment mechanism, when a node group is completely unable to report its health status due to power outages in the data center, core switching equipment failures, or network isolation, the first node group can still promptly detect the failure of the node group and trigger takeover through "no report after timeout," improving the accuracy of health status judgment.
[0014] Furthermore, by detecting whether a node can provide broadcast services, the health of each node in the second node group is determined, specifically as follows: The nodes determine the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
[0015] This solution detects the broadcast service capabilities of nodes from multiple dimensions, including broadcast service request and response, control command sending, audio stream provision, device communication, command reception, and task execution. It can comprehensively reflect the actual broadcast service capabilities of nodes, rather than just whether the nodes are online.
[0016] Furthermore, after sending the takeover information to each broadcast device in the broadcast device set, the following is also included: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcast device fails to receive a handover confirmation message within the preset confirmation time, the takeover message is sent to the target broadcast device again. For target broadcast devices that do not return a handover confirmation message and whose resend count exceeds the second preset threshold, an abnormal alarm message is generated.
[0017] This switching confirmation and retransmission mechanism ensures that takeover information is reliably delivered to each broadcast device, preventing some devices from failing to receive the takeover information and still connecting to the failed node group due to network packet loss. An abnormal alarm message is generated for devices that fail to retransmit more than the threshold, enabling maintenance personnel to accurately locate devices that have failed to be taken over without having to check all broadcast devices one by one, thus reducing the workload of manual maintenance during the fault handling phase.
[0018] Furthermore, the broadcasting equipment stores the identifier of the first node group that is the current control node group, as well as the current control version number; Send takeover information to each broadcast device in the broadcast device set, specifically: Obtain the current control version number in the broadcast device, and monotonically increment the current control version number to obtain the next control version number; Send takeover information, including the next control version number, to the broadcast equipment; After the switch is complete, the method also includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
[0019] By monotonically incrementing the version number with each change of device control, each change corresponds to a unique, strictly increasing version number. Even if the network between node groups is interrupted while both node groups are still running, the broadcast device will only accept control commands from the node group with the higher version number, thus avoiding command conflicts and playback chaos caused by two node groups simultaneously controlling the same batch of devices. Furthermore, after the original failed node group recovers, even if it continues to send commands with the original version number, the device will not execute them. Only after the system reconfirms the recovery of the original node group and reallocates device control can the original node group control the relevant devices again, avoiding frequent switching of devices when node groups repeatedly fail.
[0020] Another embodiment of the present invention provides a control system for a network broadcasting system, the network broadcasting system including multiple node groups, each node group including one or more broadcast service nodes, and each broadcast service node controlling one or more broadcasting devices; The control system of the network broadcasting system includes: a status acquisition module, a failure determination module, a control switching module, and a broadcast takeover module; The status acquisition module is used to periodically acquire the group-level health status of the second node group; The failure determination module is used to determine whether the second node group meets the preset failure conditions based on the group-level health status. If so, the second node group is determined to be failed, and the set of broadcast devices controlled by the second node group is determined. The control switching module is used to send takeover information to each broadcast device in the broadcast device set, instructing each broadcast device to switch the control relationship from the second node group to the first node group; The broadcast takeover module is used to send broadcast control commands or audio streams to the broadcast device set according to the broadcast task after the switch is completed.
[0021] Another embodiment of the present invention provides a terminal device, including: a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements the steps of the control method of the network broadcasting system of the present invention.
[0022] Another embodiment of the present invention provides a computer-readable storage medium item, including: a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located executes the steps of the control method of the network broadcasting system of the present invention. Attached Figure Description
[0023] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0024] Figure 1 This is a flowchart illustrating a control method for a network broadcasting system provided in an embodiment of the present invention; Figure 2 This is a schematic diagram of the control system of a network broadcasting system provided in an embodiment of the present invention. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0026] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings are intended to cover non-exclusive inclusion.
[0027] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly specifying the number, specific order, or primary and secondary relationship of the indicated technical features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly defined.
[0028] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0029] In the description of the embodiments in this application, the term "and / or" 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 existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0030] In the description of the embodiments of this application, the term "multiple" refers to two or more (including two), similarly, "multiple sets" refers to two or more (including two sets), and "multiple pieces" refers to two or more (including two pieces).
[0031] In the description of the embodiments of this application, unless otherwise expressly specified and limited, technical terms such as "installation," "connection," "joining," and "fixing" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components. For those skilled in the art, the specific meaning of the above terms in the embodiments of this application can be understood according to the specific circumstances.
[0032] See Figure 1 To address the issue of broadcast service interruption when the entire node group fails, an embodiment of the present invention provides a control method for a network broadcast system, the method comprising: Step S101: Periodically obtain the group-level health status of the second node group.
[0033] It should be noted that the network broadcasting system referred to in this invention includes at least two node groups, such as a first node group A and a second node group B. Each node group includes one or more broadcast service nodes, and each broadcast service node controls one or more broadcast devices, such as several network power amplifiers, network speaker columns, and network loudspeakers. Both the first node group A and the second node group B have the ability to independently provide broadcast services and can send broadcast control commands (such as play, stop, volume adjustment, etc.), real-time audio streams or file broadcast audio streams, as well as broadcast tasks and device configuration information to the broadcast devices.
[0034] In this step, each node group (in this invention, the first node group A and the second node group B) periodically checks whether the other party can provide broadcast services normally. This check not only checks whether the other party's server is powered on or whether its heartbeat is normal, but also needs to check whether the other party can actually complete the broadcast service, thereby obtaining the other party's group-level health status. The group-level health status is used to characterize the overall availability of a node group to provide broadcast services to broadcast devices.
[0035] In this invention, "healthy" means that the node can provide broadcast services normally, and "unhealthy" means that the node cannot provide broadcast services normally.
[0036] Step S102: Determine whether the second node group meets the preset failure conditions based on the group-level health status. If so, determine that the second node group has failed and determine the set of broadcasting devices controlled by the second node group.
[0037] In this step, the first node group determines whether the second node group meets the preset failure conditions based on the group-level health status obtained from the second node group. Normal server processes and normal heartbeats between servers do not necessarily mean that the entire node group can still provide normal external services. For example, if the network egress of the data center where the node group is located fails, the servers within the group may still operate normally, but the broadcast equipment will no longer be able to receive commands and audio streams sent by that node group. Therefore, this solution determines whether the broadcast service of the entire node group is available, rather than just whether a single server is functioning correctly.
[0038] Preferably, the preset failure conditions include: when the acquired group-level health status is unhealthy and the duration of the unhealthy status exceeds a preset time threshold, the second node group is determined to meet the preset failure conditions; or, when the first node group does not receive the group-level health status of the second node group for a preset period, the second node group is determined to meet the preset failure conditions. By setting a duration threshold, unnecessary cross-group switching caused by instantaneous network fluctuations can be avoided. Takeover is only initiated when a node group remains unhealthy for a set time, thereby reducing the number of invalid switching operations in the system. Through the timeout determination mechanism, when a node group is completely unable to report its health status due to a power outage in the data center, a failure of the core switching equipment, or network isolation, the first node group can still promptly detect the failure of the node group and trigger takeover by not receiving the data after the timeout, thus making up for the shortcomings of relying solely on health status content for determination.
[0039] Preferably, determining the set of broadcasting devices controlled by the second node group specifically involves: obtaining device ownership information sent by the second node group; and determining the set of broadcasting devices based on the device ownership information.
[0040] In this preferred embodiment, each node group stores information about the devices it manages and synchronizes the device ownership information to other node groups. This allows the second node group B to know in advance which devices are managed by the first node group A, and the first node group A to know which devices are managed by the second node group B. The device ownership information includes at least the identifier of the node group to which the device belongs (e.g., a node group number field), and the device information includes the device number, device name, device IP address, node group number, and node group server information. When the first node group determines that the second node group has failed, it queries all broadcast devices currently managed by the second node group based on the pre-synchronized device ownership information, and uses this as the target set of broadcast devices to be taken over.
[0041] This invention performs a complete transfer of devices managed by a node group, rather than waiting for each device to make its own judgment and select a server. This allows devices within the same broadcast area to switch to the same new node group at the same time, avoiding situations where some devices have switched while others are still connected to a failed node group, thus improving the consistency of device switching status within the same broadcast area.
[0042] The methods for notifying devices under the jurisdiction of a failed node group to switch to a new node group include, but are not limited to, communication protocols such as UDP and MQTT.
[0043] Step S103: Send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch the control relationship from the second node group to the first node group.
[0044] In this step, after determining the set of broadcast devices that need to be taken over, the first node group sends takeover information to each broadcast device in the set.
[0045] Preferably, the takeover information includes at least one of the following: the original node group identifier, the new node group identifier, the new control service address, the new audio stream address, the takeover number, the takeover start time, and the broadcast task information that needs to be continued.
[0046] After receiving the takeover information, the broadcast equipment performs the following switching operations: Based on the original node group identifier in the takeover information, verify whether the node group currently controlling its own broadcast service is the second node group. If so, determine the target node group to which it needs to switch to as the first node group based on the new node group identifier and the new control service address in the takeover information, and obtain the control service address of the first node group. Based on the new audio stream address, determine that the source of the audio stream after the switch is the first node group. Stop using the control connection and audio stream connection provided by the second node group, and establish control connection and audio stream connection with the first node group based on the new control service address and the new audio stream address. After the connection is successful, the broadcast device can return a switch confirmation message to the first node group to inform the first node group that the broadcast device has completed the control relationship switch.
[0047] Step S104: After the switch is completed, send a broadcast control command or audio stream to the broadcast device set according to the broadcast task.
[0048] In this step, after the broadcast equipment switchover is completed, the first node group begins to manage these devices and sends broadcast control commands and / or audio streams to the broadcast equipment set according to the broadcast task. Simultaneously, the device ownership information is updated, changing the current managing node group of these devices from the second node group to the first node group.
[0049] Preferably, the node group to which all devices managed by the failed node group are migrated can be determined according to a preset strategy. For example, the node group currently in an available state with the smallest node number can be selected as the takeover node group; or, when there are multiple available node groups, the takeover node group can be selected based on at least one of the following conditions: a pre-set takeover priority order, the current group-level health status of each node group, the server load of each node group, the network quality between each node group and the broadcast device to be taken over, the number of remaining accessible devices in each node group, or the data center or geographical location of each node group. A reasonable takeover node group selection strategy can prevent a single node group from becoming overloaded due to taking over too many devices, thereby improving the overall load balancing and reliability of the system.
[0050] Preferably, if the second node group was executing a broadcast task before its failure, the first node group can continue executing the task. To this end, the following broadcast task status information can be synchronized in advance among the node groups: current broadcast task identifier, broadcast content, target broadcast device, broadcast area, playback start time, current playback position, volume, and broadcast priority. After the first node group takes over, it continues executing the broadcast task from the progress corresponding to the playback position based on the aforementioned broadcast task status information, thereby reducing broadcast interruptions, repetitive playback, or playback from the beginning, and improving the continuity of broadcast services.
[0051] Preferably, this solution is not limited to mutual backup between two node groups, but can be extended to three or more node groups. When a node group fails, the system can determine the takeover node group from multiple available node groups according to a preset strategy. If the number of broadcast devices controlled by the failed node group is large, the broadcast devices can be divided into several device subsets and transferred to multiple normal node groups for takeover, which is suitable for broadcast system deployments across computer rooms, across network areas, or with multi-level disaster recovery.
[0052] As an example of an embodiment of the present invention, the group-level health status of the second node group is periodically obtained, specifically as follows: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset cycle, if all nodes are unhealthy, the second node group determines the component's health status as unhealthy; if any node is healthy, the second node group determines the component's health status as healthy.
[0053] In this embodiment, a node group consists of at least one broadcast service node. Each node in the group independently detects its own health status and reports the results to the master node (or aggregator node) within the group. When the node group contains two nodes, a master and a backup node, the backup node periodically sends its health status to the master node. The master node then aggregates its own health status and the health status of the backup node to determine the group-level health status of its node group. When the node group contains a single server, that server directly determines the group-level health status of its node group. When the node group contains two or more servers, each node reports its own health status to the master node. The master node then aggregates the health status of all nodes to determine the group-level health status of its node group.
[0054] The master node in a node group determines the group-level health status according to the following rules: if all the node health statuses obtained from the aggregation are unhealthy, that is, all nodes in the node group cannot provide broadcast services, then the group-level health status of the node group is determined to be unhealthy; if at least one node in the aggregated node health statuses is healthy, that is, at least one node in the node group can provide broadcast services, then the group-level health status of the node group is determined to be healthy.
[0055] After determining the group-level health status, the second node group sends the group-level health status to the first node group. Specifically, the master node in the second node group sends the aggregated group-level health status to each node (or master node) in the first node group. Similarly, the first node group also sends its group-level health status to the second node group, thereby enabling the mutual acquisition of group-level health status between the node groups.
[0056] As an example of an embodiment of the present invention, periodically determining whether each node in the second node group is healthy specifically involves: In the second node group, the health status of each node is determined by detecting whether the node can provide broadcast services. Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than the first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
[0057] In this embodiment, on the one hand, a node determines its health by detecting whether it can provide broadcast services, specifically including: The system checks whether a node can respond to a broadcast service request (for example, if a node in the first node group sends a service request to a node in the second node group, and the node can respond normally and return an answer message). If it can respond, the node's broadcast service request response function is normal; if it cannot respond or the response times out, the node is determined to be unhealthy. The system checks whether a node can send broadcast control commands (e.g., a node sends play, stop, or volume adjustment commands to its broadcast devices and confirms that the commands have been successfully sent). If it can send commands, the node's control command sending function is normal; if it fails to send commands or times out continuously, the node is considered unhealthy. The system checks whether a node can provide an audio stream (e.g., the node sends a real-time audio stream or a file broadcast audio stream to its broadcasting devices and confirms that the audio stream is being output normally). If it can provide an audio stream, the node's audio stream output function is normal; if it cannot provide an audio stream or the audio stream output is interrupted, the node is determined to be unhealthy. The system checks whether the node can communicate normally with the broadcasting devices under its jurisdiction (for example, the node sends a probe message to the broadcasting devices under its jurisdiction and receives the response returned by the devices). If the communication is normal, the communication link between the node and the broadcasting devices is normal; if multiple broadcasting devices fail to respond or the communication times out, the node is determined to be unhealthy. The system checks whether the broadcasting device can normally receive control commands or audio streams sent by the node (e.g., the node receives a reception confirmation message returned by the broadcasting device). If it can receive them normally, the node's command and audio transmission channels are normal. If the device reports that it has not received the data or that the received data packets are incomplete, the node is determined to be unhealthy. The node checks whether the current broadcast task is being executed normally (for example, the node checks the status of the broadcast task being executed to confirm whether the task is being performed as expected). If it is being executed normally, the node's broadcast task execution function is normal; if the task is abnormally interrupted, stuck, or the execution result is inconsistent with expectations, the node is determined to be unhealthy.
[0058] If the result of any of the above dimensions is negative, the node's health status is considered unhealthy. Failure of one or more of the above detection dimensions indicates an anomaly at some point in the broadcast service link, meaning the node's overall broadcast service capability no longer meets requirements.
[0059] On the other hand, the health of each node can also be determined by detecting the heartbeat status of the broadcasting equipment under its jurisdiction, specifically: Each node in the second node group controls one or more broadcast devices. Each broadcast device sends device heartbeat information to its affiliated node according to a preset period to report at least one of the following device statuses to the node: whether it can respond to broadcast service requests normally, whether it can receive broadcast control commands normally, whether it can receive and play audio streams normally, and whether the communication with the node is normal. The node receives heartbeat information from each broadcasting device and determines whether the heartbeat of each broadcasting device is normal based on whether the broadcasting device returns heartbeat information within a preset time. If any broadcasting device fails to return heartbeat information within the preset time or the returned heartbeat information indicates an anomaly, then the broadcasting device is considered to have experienced a heartbeat timeout or an anomaly. The node counts the number of broadcasting devices with heartbeat timeouts or anomalies and determines whether this number exceeds a first preset threshold. If so, meaning the number of broadcasting devices with heartbeat timeouts or anomalies exceeds the first preset threshold, it indicates that a large proportion of the broadcasting devices under the node's jurisdiction are unable to communicate normally with the node. Even if the node's own processes are running normally, it cannot actually provide effective broadcast services to most broadcasting devices. Therefore, the node's health status is determined to be unhealthy. If the number of broadcasting devices with heartbeat timeouts or anomalies does not exceed the first preset threshold, a small number of broadcasting devices are allowed to temporarily fail to report heartbeats due to network fluctuations or other reasons without affecting the node's health determination. The node's health status is then determined to be healthy.
[0060] Preferably, the first preset threshold can be dynamically configured based on the total number of broadcast devices under the node's jurisdiction. For example, when the total number of broadcast devices under the node's jurisdiction is N, the first preset threshold can be set to N×80%, and the specific value can be flexibly set by the system administrator according to the actual deployment scenario.
[0061] As an example of an embodiment of the present invention, determining whether the second node group meets the preset failure condition based on the group-level health status specifically involves: If the component's health status is unhealthy and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than a preset period, then the second node group is determined to meet the preset failure condition.
[0062] In this embodiment, on the one hand, after the first node group obtains the group-level health status of the second node group, it determines whether the group-level health status is unhealthy. If it is determined to be unhealthy, the first node group further determines whether the duration of the unhealthy group-level health status exceeds a preset time threshold. Specifically, the first node group starts timing when it first receives a group-level health status of the second node group that is unhealthy. If, during the timing period, the first node group continuously receives group-level health statuses that are all unhealthy, and the cumulative timing duration exceeds the preset time threshold, then the second node group is determined to meet a preset failure condition. If, during the timing period, the first node group receives a group-level health status of the second node group that has recovered to healthy, then the timing stops, and the previously accumulated unhealthy duration record is cleared.
[0063] On the other hand, the first node group receives group-level health status from the second node group according to a preset period. The first node group records the reception time of two consecutive receptions of the group-level health status and calculates the time difference between the two consecutive reception times. If the time difference is greater than the preset period, it indicates that the second node group has not sent the group-level health status normally according to the preset period, possibly due to a power outage in the data center where the second node group is located, a failure of the core switching equipment, or network isolation, resulting in a complete loss of connection. Based on this, the first node group determines that the second node group meets the preset failure conditions. Specifically, when the first node group receives the group-level health status from the second node group at the current moment, it obtains the difference between the current reception time and the previous reception time. If the difference is greater than the preset period, it determines that the second node group meets the preset failure conditions.
[0064] As an example of an embodiment of the present invention, the health status of each node in the second node group is determined by detecting whether a node can provide broadcast services, specifically as follows: The nodes determine the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
[0065] In this embodiment, the device periodically sends heartbeats to the managed node servers to report on: whether the device can respond normally to broadcast service requests, whether it can send broadcast control commands normally, whether it can provide audio streams normally, whether it can communicate normally with the broadcast devices it is responsible for, whether the broadcast devices can receive control commands and audio data normally, and whether the current broadcast task is being executed normally. These six dimensions correspond to different stages of the broadcast service link: service access (responding to requests), command issuance (sending control commands), content transmission (providing audio streams), link connectivity (communicating with devices), device reception (device receiving commands / audio), and service execution (task being executed normally). If the detection result of any of the above dimensions is negative, the node's health status is considered unhealthy.
[0066] As an example of an embodiment of the present invention, after sending takeover information to each broadcast device in the broadcast device set, the method further includes: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcast device fails to receive a handover confirmation message within the preset confirmation time, the takeover message is sent to the target broadcast device again. For target broadcast devices that do not return a handover confirmation message and whose resend count exceeds the second preset threshold, an abnormal alarm message is generated.
[0067] In this embodiment, after the first node group sends takeover information to each broadcast device in the broadcast device set, it waits for each broadcast device to return handover confirmation information. Upon successful connection, the broadcast device returns handover confirmation information to the first node group to inform it that the control relationship handover has been completed. The handover confirmation information includes at least the device identifier of the broadcast device, enabling the first node group to identify the specific device that has completed the handover based on the device identifier.
[0068] As an example of an embodiment of the present invention, the broadcasting device stores the identifier of the first node group as the current control node group, and the current control version number; Send takeover information to each broadcast device in the broadcast device set, specifically: Obtain the current control version number in the broadcast device, and monotonically increment the current control version number to obtain the next control version number; Send takeover information, including the next control version number, to the broadcast equipment; After the switch is complete, the method also includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
[0069] It should be noted that in some cases, the network between node group A and node group B may be interrupted, even though both node groups themselves are still running. In this situation, both node groups may perceive the other as inoperable. To prevent two node groups from simultaneously controlling the same batch of devices, an incrementing version number can be added for each change of device control. For example, the device currently accepts control version number 10. When node group A takes over the device, it uses version number 11. After receiving the takeover notification, the device only accepts control commands from node groups with higher version numbers. Even if node group B later recovers and continues to send commands with version number 10, the device will not execute them. Only after the system reconfirms that node group B has recovered and reallocates device control can node group B regain control of the relevant devices.
[0070] Based on this, in this embodiment, each broadcast device locally stores the identifier of the node group currently controlling the device (i.e., the current control node group identifier) and the corresponding control version number. When the first node group needs to take over the broadcast device controlled by the second node group, before sending the takeover information to the target broadcast device, the first node group first reads the current control version number stored in the target broadcast device, increments the version number by 1 to obtain the next control version number, and then sends the next control version number in the takeover information to the target broadcast device.
[0071] After receiving the takeover information, the target broadcast device performs the following operations: updates the currently stored control node group identifier to the identifier of the first node group, updates the currently stored control version number to the next control version number in the takeover information, establishes a control connection and audio stream connection with the first node group, and returns a switchover confirmation message to the first node group.
[0072] After the handover is complete, the first node group sends a broadcast control command or audio stream to the broadcast device using the next control version number. Upon receiving the broadcast control command or audio stream from the first node group, the broadcast device extracts the control version number carried within it and compares it with the currently stored control version number. If the version number carried in the command is equal to the locally stored version number, the broadcast control command is executed or the audio stream is played; otherwise, execution is refused.
[0073] As an example of an embodiment of the present invention, the processing method after the original node group is restored is as follows: After the second node group B recovers, it does not immediately take over the original equipment, but first undergoes a period of health checks. Only after confirming that the second node group B can stably provide broadcast services will a decision be made, based on a pre-set strategy, to whether to switch the equipment back to the second node group B.
[0074] Specifically, the following two recovery strategies can be adopted: Strategy 1: After the second node group B recovers, the equipment is still controlled by the first node group A, waiting for manual or planned task to trigger the switchback operation; Strategy 2: After the second node group B has been running stably for a period of time, the devices that originally belonged to the second node group B will be automatically switched back.
[0075] To avoid frequent switching between devices when node groups repeatedly fail, you can set a minimum running time, recovery observation time, and minimum switching interval. For example, you can set that the second node group B must run stably for at least 30 minutes after recovery before triggering automatic switchback; at the same time, you can set a minimum time interval between two adjacent switchback operations to prevent the second node group B from repeatedly failing and recovering in a short period of time, causing the device to switch back and forth between the first node group A and the second node group B.
[0076] As an example of an embodiment of the present invention, assume that the second node group B is deployed in the first computer room, and the first node group A has two servers that serve as primary and backup servers for each other; and is deployed in the second computer room, which has only one server. The twenty network power amplifiers are normally controlled by the second node group B.
[0077] After a network outage in the first data center failed, the two servers within the second node group B continued to operate normally, and the primary / backup heartbeats between the servers showed no abnormalities. Therefore, the high availability mechanism within the second node group B did not switch over. However, the first node group A detected from external monitoring that the second node group B was unable to provide audio streaming, and multiple network amplifiers also reported being unable to connect to the second node group B. After this anomaly occurred continuously for a set period of time, the first node group A determined that the second node group B had failed entirely.
[0078] Based on previously synchronized device ownership information, Node A (first node group) identifies the twenty network amplifiers under the responsibility of Node B (second node group) and sends takeover notifications to these amplifiers. Upon receiving the notifications, the twenty amplifiers switch their control and audio streaming connections to Node A. Subsequently, Node A continues to send broadcast commands and audio streams to these amplifiers.
[0079] In this way, even if the high availability mechanism of the servers within the second node group B does not detect any problems, the system can still detect from outside the node group that its overall service has failed, and the first node group A will take over the devices it controls.
[0080] like Figure 2 As shown, based on the above-described method embodiments, an embodiment of the present invention provides a control system 200 for a network broadcasting system, comprising: The network broadcasting system includes multiple node groups, each node group includes one or more broadcast service nodes, and each broadcast service node controls one or more broadcast devices; The control system 200 of the network broadcasting system includes: a status acquisition module 201, a failure determination module 202, a control switching module 203, and a broadcast takeover module 204; The status acquisition module 201 is used to periodically acquire the group-level health status of the second node group; The failure determination module 202 is used to determine whether the second node group meets the preset failure conditions based on the group-level health status. If so, the second node group is determined to be in failure, and the set of broadcasting devices controlled by the second node group is determined. The control switching module 203 is used to send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch the control relationship from the second node group to the first node group; The broadcast takeover module 204 is used to send broadcast control commands or audio streams to the broadcast device set according to the broadcast task after the switch is completed.
[0081] Furthermore, the status acquisition module 201 is also used for: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset cycle, if all nodes are unhealthy, the second node group determines the component's health status as unhealthy; if any node is healthy, the second node group determines the component's health status as healthy.
[0082] Furthermore, the status acquisition module 201 is also used for: In the second node group, the health status of each node is determined by detecting whether the node can provide broadcast services. Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than the first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
[0083] Furthermore, the failure determination module 202 is also used for: If the component's health status is unhealthy and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than a preset period, then the second node group is determined to meet the preset failure condition.
[0084] Furthermore, the status acquisition module 201 is also used for: The nodes determine the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
[0085] Furthermore, system 200 is also used for: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcast device fails to receive a handover confirmation message within the preset confirmation time, the takeover message is sent to the target broadcast device again. For target broadcast devices that do not return a handover confirmation message and whose resend count exceeds the second preset threshold, an abnormal alarm message is generated.
[0086] Furthermore, the broadcasting equipment stores the identifier of the first node group that is the current control node group, as well as the current control version number; The control switching module 203 is also used for: Obtain the current control version number in the broadcast device, and monotonically increment the current control version number to obtain the next control version number; Send takeover information, including the next control version number, to the broadcast equipment; After the switch is complete, the method also includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
[0087] It is understood that the above system embodiments correspond to the method embodiments of the present invention, and can implement all the implementation methods of any of the above method embodiments of the present invention, which will not be repeated here.
[0088] It should be noted that the system embodiments described above are merely illustrative, and some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the system embodiments provided by this invention, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.
[0089] Based on the embodiments of the control method for the network broadcasting system described above, another embodiment of the present invention provides a terminal device, which includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements the control method for the network broadcasting system of any of the above embodiments of the present invention, the steps of which include: Periodically obtain the group-level health status of the second node group; The group-level health status is used to determine whether the second node group meets the preset failure conditions. If so, the second node group is determined to be failed, and the set of broadcasting devices controlled by the second node group is determined. Send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch control from the second node group to the first node group; After the switch is completed, broadcast control commands or audio streams are sent to the broadcast device set according to the broadcast task.
[0090] Furthermore, the group-level health status of the second node group is periodically obtained, specifically as follows: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset cycle, if all nodes are unhealthy, the second node group determines the component's health status as unhealthy; if any node is healthy, the second node group determines the component's health status as healthy.
[0091] Furthermore, the health status of each node in the second node group is periodically determined, specifically as follows: In the second node group, the health status of each node is determined by detecting whether the node can provide broadcast services. Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than the first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
[0092] Furthermore, based on the group-level health status, it is determined whether the second node group meets the preset failure conditions, specifically as follows: If the component's health status is unhealthy and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than a preset period, then the second node group is determined to meet the preset failure condition.
[0093] Furthermore, by detecting whether a node can provide broadcast services, the health of each node in the second node group is determined, specifically as follows: The nodes determine the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
[0094] Furthermore, after sending the takeover information to each broadcast device in the broadcast device set, the following is also included: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcast device fails to receive a handover confirmation message within the preset confirmation time, the takeover message is sent to the target broadcast device again. For target broadcast devices that do not return a handover confirmation message and whose resend count exceeds the second preset threshold, an abnormal alarm message is generated.
[0095] Furthermore, the broadcasting equipment stores the identifier of the first node group that is the current control node group, as well as the current control version number; Send takeover information to each broadcast device in the broadcast device set, specifically: Obtain the current control version number in the broadcast device, and monotonically increment the current control version number to obtain the next control version number; Send takeover information, including the next control version number, to the broadcast equipment; After the switch is complete, the method also includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
[0096] For example, in this embodiment, the computer program can be divided into one or more modules, one or more modules are stored in memory and executed by a processor to complete the present invention. One or more module elements can be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in a terminal device.
[0097] Terminal devices can be computing devices such as desktop computers, laptops, handheld computers, and cloud servers. Terminal devices may include, but are not limited to, processors and memory.
[0098] The processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor. The processor is the control center of the terminal device, connecting all parts of the terminal device through various interfaces and lines.
[0099] Based on the above-described method embodiments, another embodiment of the present invention provides a computer-readable storage medium including a stored computer program, wherein, when the computer program is running, a control method for controlling the device where the computer-readable storage medium is located to execute any of the above-described method embodiments of the network broadcasting system of the present invention includes the following steps: Periodically obtain the group-level health status of the second node group; The group-level health status is used to determine whether the second node group meets the preset failure conditions. If so, the second node group is determined to be failed, and the set of broadcasting devices controlled by the second node group is determined. Send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch control from the second node group to the first node group; After the switch is completed, broadcast control commands or audio streams are sent to the broadcast device set according to the broadcast task.
[0100] Furthermore, the group-level health status of the second node group is periodically obtained, specifically as follows: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset cycle, if all nodes are unhealthy, the second node group determines the component's health status as unhealthy; if any node is healthy, the second node group determines the component's health status as healthy.
[0101] Furthermore, the health status of each node in the second node group is periodically determined, specifically as follows: In the second node group, the health status of each node is determined by detecting whether the node can provide broadcast services. Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than the first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
[0102] Furthermore, based on the group-level health status, it is determined whether the second node group meets the preset failure conditions, specifically as follows: If the component's health status is unhealthy and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than a preset period, then the second node group is determined to meet the preset failure condition.
[0103] Furthermore, by detecting whether a node can provide broadcast services, the health of each node in the second node group is determined, specifically as follows: The nodes determine the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
[0104] Furthermore, after sending the takeover information to each broadcast device in the broadcast device set, the following is also included: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcast device fails to receive a handover confirmation message within the preset confirmation time, the takeover message is sent to the target broadcast device again. For target broadcast devices that do not return a handover confirmation message and whose resend count exceeds the second preset threshold, an abnormal alarm message is generated.
[0105] Furthermore, the broadcasting equipment stores the identifier of the first node group that is the current control node group, as well as the current control version number; Send takeover information to each broadcast device in the broadcast device set, specifically: Obtain the current control version number in the broadcast device, and monotonically increment the current control version number to obtain the next control version number; Send takeover information, including the next control version number, to the broadcast equipment; After the switch is complete, the method also includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
[0106] Based on the above-described method embodiments, this invention further provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement a control method for a network broadcasting system according to any of the above-described method embodiments, the steps of which include: Periodically obtain the group-level health status of the second node group; The group-level health status is used to determine whether the second node group meets the preset failure conditions. If so, the second node group is determined to be failed, and the set of broadcasting devices controlled by the second node group is determined. Send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch control from the second node group to the first node group; After the switch is completed, broadcast control commands or audio streams are sent to the broadcast device set according to the broadcast task.
[0107] Furthermore, the group-level health status of the second node group is periodically obtained, specifically as follows: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset cycle, if all nodes are unhealthy, the second node group determines the component's health status as unhealthy; if any node is healthy, the second node group determines the component's health status as healthy.
[0108] Furthermore, the health status of each node in the second node group is periodically determined, specifically as follows: In the second node group, the health status of each node is determined by detecting whether the node can provide broadcast services. Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than the first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
[0109] Furthermore, based on the group-level health status, it is determined whether the second node group meets the preset failure conditions, specifically as follows: If the component's health status is unhealthy and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than a preset period, then the second node group is determined to meet the preset failure condition.
[0110] Furthermore, by detecting whether a node can provide broadcast services, the health of each node in the second node group is determined, specifically as follows: The nodes determine the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
[0111] Furthermore, after sending the takeover information to each broadcast device in the broadcast device set, the following is also included: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcast device fails to receive a handover confirmation message within the preset confirmation time, the takeover message is sent to the target broadcast device again. For target broadcast devices that do not return a handover confirmation message and whose resend count exceeds the second preset threshold, an abnormal alarm message is generated.
[0112] Furthermore, the broadcasting equipment stores the identifier of the first node group that is the current control node group, as well as the current control version number; Send takeover information to each broadcast device in the broadcast device set, specifically: Obtain the current control version number in the broadcast device, and monotonically increment the current control version number to obtain the next control version number; Send takeover information, including the next control version number, to the broadcast equipment; After the switch is complete, the method also includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
[0113] The modules / units integrated into the device / terminal equipment, if implemented as software functional units and sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of the present invention can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0114] The above are preferred embodiments of the present invention. It should be noted that, for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.
Claims
1. A control method for a network broadcasting system, characterized in that, The network broadcasting system includes multiple node groups, each node group includes one or more broadcast service nodes, and each broadcast service node controls one or more broadcast devices; The multi-node collaborative and mutually redundant network broadcast system control method is applied to the first node group; the method includes: Periodically obtain the group-level health status of the second node group; Based on the group-level health status, determine whether the second node group meets the preset failure conditions. If so, determine that the second node group has failed and identify the set of broadcasting devices controlled by the second node group. Send takeover information to each broadcast device in the broadcast device set to instruct each broadcast device to switch control from the second node group to the first node group; After the switch is completed, broadcast control commands or audio streams are sent to the broadcast device set according to the broadcast task.
2. The control method for the network broadcasting system as described in claim 1, characterized in that, The periodic acquisition of the group-level health status of the second node group specifically includes: In the second node group, based on a preset period, the health status of each node in the second node group is periodically determined; In each preset period, if all nodes are unhealthy, the second node group determines that the component's health status is unhealthy; if any node is healthy, the second node group determines that the component's health status is healthy.
3. The control method for the network broadcasting system as described in claim 2, characterized in that, The periodic determination of whether each node in the second node group is healthy specifically involves: In each node of the second node group, the health status of each node in the second node group is determined by detecting whether the node can provide broadcast services; Alternatively, in each node of the second node group, it is determined whether the broadcasting device controlled by the node has a heartbeat timeout or abnormality. If so, and the number of broadcasting devices with heartbeat timeout or abnormality is greater than a first preset threshold, then the health status of the second node group is unhealthy; otherwise, it is healthy.
4. The control method for the network broadcasting system as described in claim 2, characterized in that, The step of determining whether the second node group meets the preset failure condition based on the group-level health status is as follows: If the component is in an unhealthy state and the duration exceeds a preset time threshold, then the second node group is determined to meet the preset failure condition. Alternatively, if the time difference between two consecutive component health status reports received by the first node group is greater than the preset period, then the second node group is determined to meet the preset failure condition.
5. The control method for the network broadcasting system as described in claim 3, characterized in that, The step of determining the health status of each node in the second node group by detecting whether the node can provide broadcast services specifically involves: The node determines the health of each node in the second node group by detecting whether the node can respond to broadcast service requests, send broadcast control commands, provide audio streams, communicate with broadcast devices controlled by the node, receive control commands or audio streams, or execute the current broadcast task.
6. The control method for the network broadcasting system as described in claim 1, characterized in that, After sending the takeover information to each broadcast device in the broadcast device set, the method further includes: Determine whether a handover confirmation message has been received from the broadcasting device; If a target broadcasting device fails to receive the handover confirmation information within the preset confirmation time, the takeover information is sent to the target broadcasting device again. For target broadcasting devices that do not return the handover confirmation information and whose retransmission count exceeds the second preset threshold, an abnormal alarm information is generated.
7. The control method for a network broadcasting system as described in claim 1, characterized in that, The broadcasting device stores the identifier of the first node group, which is the current control node group, and the current control version number; The step of sending takeover information to each broadcast device in the broadcast device set specifically involves: Obtain the current control version number in the broadcasting device, and monotonically increment the current control version number to obtain the next control version number; The takeover information, including the next control version number, is sent to the broadcasting device; After the switching is completed, the method further includes: The broadcast control device sends a broadcast control command or audio stream carrying the next control version number to the broadcast device, so that the broadcast device updates the current control version number to the next control version number and executes the broadcast control command carrying the next control version number or plays the audio stream; and the broadcast device does not execute broadcast control commands or audio streams carrying a control version number that is not greater than the current control version number.
8. A control system for a network broadcasting system, characterized in that, The network broadcasting system includes multiple node groups, each node group includes one or more broadcast service nodes, and each broadcast service node controls one or more broadcast devices; The control system of the network broadcasting system includes: a status acquisition module, a failure determination module, a control switching module, and a broadcast takeover module; The status acquisition module is used to periodically acquire the group-level health status of the second node group; The failure determination module is used to determine whether the second node group meets the preset failure conditions based on the group-level health status. If so, the second node group is determined to be failed, and the set of broadcasting devices controlled by the second node group is determined. The control switching module is used to send takeover information to each broadcast device in the broadcast device set, so as to instruct each broadcast device to switch the control relationship from the second node group to the first node group; The broadcast takeover module is used to send broadcast control commands or audio streams to the broadcast device set according to the broadcast task after the switch is completed.
9. A terminal device, characterized in that, The system includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, it implements the control method for the network broadcasting system as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, include: A stored computer program, wherein, when the computer program is executed, it controls the device containing the computer-readable storage medium to perform the control method of the network broadcasting system as described in any one of claims 1-7.
