Data Distribution Method, Device, Computer Equipment and Storage Medium

By allocating service nodes between the general control process and the task process and sending heartbeat packets, the problem of excessive load in the control center is solved, load balancing and efficient data distribution are achieved, and the overall performance of network nodes is improved.

CN112468589BActive Publication Date: 2025-08-01TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011360900.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-27
Publication Date
2025-08-01
Estimated Expiration
2040-11-27

AI Technical Summary

Technical Problem

In the prior art, the control center sends heartbeat packets and data distribution methods to each network node cause the control center to be overloaded, affecting the data processing efficiency and the overall service capacity of each node.

Method used

The service node is assigned to the task process through the general control process, and the heartbeat packet of configuration information is sent to the service node through the task process to obtain node status information, reducing the load pressure of the general control process.

Benefits of technology

It realizes load balancing of various task processes and service nodes, improves data distribution efficiency, reduces the operating overhead of control nodes, and improves overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112468589B_ABST
    Figure CN112468589B_ABST
Patent Text Reader

Abstract

The present application relates to a data distribution method, apparatus, computer device, and storage medium. The method includes allocating service nodes to each task process through a master control process; the master control process corresponds to multiple task processes, and each of the task processes corresponds to multiple service nodes respectively; sending data packets to each of the task processes through the master control process; the data packets include configuration information of the allocated service nodes; sending heartbeat packets carrying the configuration information to the allocated service nodes respectively through each of the task processes; obtaining, through each of the task processes, node status information returned by each of the service nodes in response to the heartbeat packets, and sending the node status information to the master control process according to a preset structure. By using this method, it is possible to effectively ensure that the loads of each node are relatively balanced, and reduce the load pressure on the master control process, thereby effectively improving the data processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technologies, and particularly to a data distribution method, apparatus, computer device, and storage medium. Background Art

[0002] With the rapid development of Internet technologies, the amount of data on the network is increasing, and various Internet applications are also increasing. However, with the substantial increase in the number of users of applications, the load pressure on each node in the network is relatively large, and situations such as network congestion may occur.

[0003] In related technologies, the control center needs to send heartbeat packets to each network node respectively, so that each network node can reply corresponding status information to the control center, and then the control center distributes the information to be distributed according to the collected status information. However, this method will cause an excessive load on the control center, and will also affect the overall service capacity of each node, thereby affecting the data processing efficiency. Summary of the Invention

[0004] Based on this, in view of the above technical problems, it is necessary to provide a data distribution method, apparatus, computer device, and storage medium that can effectively improve data processing efficiency.

[0005] A data distribution method, the method includes:

[0006] Allocating service nodes to each task process through a master control process; the master control process corresponds to multiple task processes, and each of the task processes corresponds to multiple service nodes;

[0007] Sending data packets to each of the task processes through the master control process; the data packets include configuration information of the allocated service nodes;

[0008] Sending heartbeat packets carrying the configuration information to the allocated service nodes respectively through each of the task processes;

[0009] Obtaining node status information returned by each of the service nodes in response to the heartbeat packets through each of the task processes, and sending the node status information to the master control process according to a preset structure.

[0010] A data distribution apparatus, the apparatus includes:

[0011] A node allocation module, configured to allocate service nodes to each task process through a master control process; the master control process corresponds to multiple task processes, and each of the task processes corresponds to multiple service nodes;

[0012] A data distribution module, configured to send data packets to each of the task processes through the master control process; the data packets include the configuration information of the allocated service nodes.

[0013] A heartbeat packet distribution module, configured to send heartbeat packets carrying the configuration information to the allocated service nodes respectively through each of the task processes.

[0014] A data acquisition module, configured to obtain the node status information returned by each of the service nodes in response to the heartbeat packets through each of the task processes, and send the node status information to the master control process in accordance with a preset structure.

[0015] In one embodiment, the node allocation module is further configured to regard devices with the same network address as a service node, determine the number of the network addresses as the number of the service nodes; and allocate service nodes to each task process according to the number of the service nodes through the master control process at a preset period.

[0016] In one embodiment, the node allocation module is further configured to determine the number of service nodes corresponding to each node type according to the quantity and node type corresponding to the network address of each service node, and the number of each service node; and allocate service nodes corresponding to each node type with balanced quantity to each task process respectively through the master control process.

[0017] In one embodiment, the data distribution module is further configured to generate data packets corresponding to each task process according to the configuration information of the service nodes allocated to each task process; and send the data packets to each task process respectively at equal time intervals through the master control process within a preset period.

[0018] In one embodiment, the data distribution module is further configured to generate a node list and a configuration list corresponding to each task process according to the service nodes allocated to each task process, where the configuration list includes the configuration information of each service node in the node list; and perform serialization processing on the node list and the configuration list respectively to generate corresponding data packets.

[0019] In one embodiment, the heartbeat packet distribution module is further configured to send heartbeat packets carrying the configuration information to each of the allocated service nodes respectively at a preset interval within a preset period through each of the task processes.

[0020] In one embodiment, the data packet includes a node list of the assigned service nodes and configuration information of each of the service nodes corresponding to the node list; the heartbeat packet distribution module is further configured to, through each of the task processes, at preset intervals within a preset period, sequentially send heartbeat packets carrying the configuration information to each of the service nodes in the node list.

[0021] In one embodiment, the node status information is data after serialization processing; the data acquisition module is further configured to, through each of the task processes, perform deserialization processing on the node status information; and send the deserialized node status information to the master control process in the form of a preset structure.

[0022] In one embodiment, the memory corresponding to the master control process includes configuration information of each of the service nodes; the apparatus further includes a configuration update module, configured to obtain the configuration information of the service nodes in the latest state through the master control process; when the configuration information in the memory of the master control process is inconsistent with the configuration information of the service nodes in the latest state, update the inconsistent configuration information in the memory; the node allocation module is further configured to, through the master control process, allocate service nodes to each task process according to the updated configuration information in the memory.

[0023] In one embodiment, the node status information includes connection status information and load information of each of the service nodes; the node allocation module is further configured to, through the master control process, extract the connection status information and load information of each of the service nodes from the structure corresponding to the received node status information; determine valid service nodes according to the connection status information and load information of each of the service nodes through the master control process, allocate the valid service nodes to each task process, and return to execute the step of sending data packets to each task process through the master control process.

[0024] In one embodiment, the service nodes include routing nodes and media proxy nodes, and the configuration information of the routing nodes includes the load information corresponding to the media proxy nodes; the heartbeat packet distribution module is further configured to, through each of the task processes, respectively send heartbeat packets carrying the configuration information of each media proxy node to the assigned media proxy nodes, and respectively send heartbeat packets carrying the configuration information of each routing node and the load information of each media proxy node to the assigned routing nodes; the routing node is further configured to, when the routing node receives a connection request sent by a user terminal, allocate a media proxy node to the connection request according to the load information corresponding to each media proxy node in the received heartbeat packet.

[0025] In one embodiment, the routing node is further configured to allocate media agent nodes for the conference request according to the load information corresponding to each of the media agent nodes in the received heartbeat packets, so that the user terminal communicates with the allocated media agent nodes; the allocated media agent nodes are further configured to add the account identifier corresponding to the user terminal to the virtual conference room corresponding to the conference request.

[0026] A computer device includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, the following steps are implemented:

[0027] Allocate service nodes to each task process through the master control process; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively;

[0028] Send data packets to each task process through the master control process; the data packets include the configuration information of the allocated service nodes;

[0029] Through each task process, send heartbeat packets carrying the configuration information to the allocated service nodes respectively;

[0030] Through each task process, obtain the node status information returned by each service node in response to the heartbeat packet, and send the node status information to the master control process according to a preset structure.

[0031] A computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the following steps are implemented:

[0032] Allocate service nodes to each task process through the master control process; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively;

[0033] Send data packets to each task process through the master control process; the data packets include the configuration information of the allocated service nodes;

[0034] Through each task process, send heartbeat packets carrying the configuration information to the allocated service nodes respectively;

[0035] Through each task process, obtain the node status information returned by each service node in response to the heartbeat packet, and send the node status information to the master control process according to a preset structure.

[0036] A computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium; a processor of the computer device reads the computer instructions from the computer-readable storage medium, and when the processor executes the computer instructions, the following steps are implemented:

[0037] Allocating service nodes to each task process through a master control process; the master control process corresponds to multiple task processes, and each task process respectively corresponds to multiple service nodes;

[0038] Sending data packets to each task process through the master control process; the data packets include configuration information of the allocated service nodes;

[0039] Sending heartbeat packets carrying the configuration information to the allocated service nodes respectively through each task process;

[0040] Obtaining node status information returned by each service node in response to the heartbeat packet through each task process, and sending the node status information to the master control process according to a preset structure.

[0041] In the above data distribution method, device, computer device and storage medium, the master control process in the control node allocates service nodes to each task process, and sends data packets including configuration information of the service nodes to each task process through the master control process. Among them, the master control process corresponds to multiple task processes, and each task process respectively corresponds to multiple service nodes. Furthermore, through each task process in the control node, heartbeat packets carrying configuration information are sent to the allocated service nodes respectively; thus, by distributing data packets to the corresponding multiple service nodes through each task process, the load of each task process and each service node can be guaranteed to be relatively balanced, so that data packets can be distributed more efficiently. Then, each task process obtains the node status information returned by each service node in response to the heartbeat packet, and sends the node status information to the master control process according to a preset structure. By transmitting the node status information according to the preset structure, the master control process does not need to parse the node status information any more. By each task process distributing data to each service node according to the service nodes allocated by the master control process, and each task process returning information to the master control process according to the preset structure, the load pressure of the master control process is effectively reduced, so that the operation overhead of the control node can be effectively reduced, and further the overall performance of each node and the processing efficiency of data can be effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 It is an application environment diagram of the data distribution method in an embodiment;

[0043] Figure 2Schematic flowchart of the data distribution method in one embodiment;

[0044] Figure 3 Schematic flowchart of the data distribution method in another embodiment;

[0045] Figure 4 Schematic diagram of the data distribution method process in one embodiment;

[0046] Figure 5 Schematic flowchart of the data distribution method in yet another embodiment;

[0047] Figure 6 Architecture diagram of the business system in one embodiment;

[0048] Figure 7 Timing diagram of the data distribution in one embodiment;

[0049] Figure 8 Schematic diagram of processing the meeting request in one embodiment;

[0050] Figure 9 Schematic flowchart of the specific data distribution method in one embodiment;

[0051] Figure 10 Structural block diagram of the data distribution device in one embodiment; [[ID=[]]]

[0052] Figure 11 Internal structure diagram of the computer device in one embodiment. Detailed implementation manners

[0053] In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0054] As the user's requirements for business scenarios become more and more diverse, various business systems emerge as the times require. For example, video conferencing systems, social application systems, etc., which can realize various required business functions.

[0055] The data distribution method provided by the present application can be applied to, for example Figure 1In the application environment shown. Among them, the application environment can be applied to a distributed business system, including a control node 102 and each service node 104. Among them, a general control process and each task process are running in the control node 102. The control node 102 communicates with each service node 104 through a network. The control node 102 allocates service nodes to each task process through the general control process; issues a configuration information data packet including to each task process through the general control process; then through each task process, sends a heartbeat packet carrying the configuration information to the allocated service node respectively; through each task process, obtains the node status information returned by each service node in response to the heartbeat packet, and sends the node status information to the general control process according to a preset structure.

[0056] Among them, the control node 102 and the service node 104 can be independent physical servers, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The control node 102 and each service node 104 can be directly or indirectly connected through wired or wireless communication methods, and this application does not make restrictions here.

[0057] Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data calculation, storage, processing, and sharing. Cloud technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model, which can form a resource pool, be used on demand, and be flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the background system for logical processing. Data at different levels will be processed separately, and various industry data requires a powerful system background support, which can be achieved through cloud computing.

[0058] Among them, cloud computing is a computing model that distributes computing tasks across a resource pool composed of a large number of computing devices, enabling various business systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called the "cloud". As a basic capability provider of cloud computing, a cloud computing resource pool (abbreviated as a cloud platform, generally referred to as an IaaS (Infrastructure as a Service) platform) will be established, and various types of virtual resources will be deployed in the resource pool for external customers to select and use.

[0059] The cloud computing resource pool mainly includes: computing devices (virtual machines containing operating systems), storage devices, and network devices. Broadly speaking, cloud computing refers to the delivery and usage model of services, which means obtaining the required services in a on-demand and easily scalable manner through the network. Such services can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balance. With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the promotion of demands such as search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. It can be understood that in some embodiments of the present application, cloud technology and cloud computing can be used to calculate the network resources of each service node in the network to relieve the load pressure of each service node, improve the overall service capacity and service performance of the node, and thus effectively improve the data processing efficiency.

[0060] In one embodiment, as Figure 2 shown, a data distribution method is provided. Taking the method applied to the computer device corresponding to the control node as an example, it includes the following steps:

[0061] S202, allocate service nodes to each task process through the master control process; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively.

[0062] The data distribution method in this embodiment can be applied to a distributed business system with multiple clusters and multiple service nodes. The business system includes a control node and multiple service nodes. It can be understood that multiple means two or more.

[0063] Among them, a process is an execution activity of a program with a certain independent function with respect to a certain data set. It is the basic unit for the operating system to allocate and schedule resources, and is also the carrier for the application program to run, used to effectively manage and schedule the programs running in the main memory of the computer system.

[0064] It can be understood that the service node can be a network node corresponding to each computer device in the business system. A device with an independent network address and the function of transmitting or receiving data is a network node. The node can be a workstation, a server, a personal computer or other network-connected computer devices. For example, media proxy nodes, routing nodes, etc. in the business system can all be service nodes.

[0065] Among them, the master control process can be a process in the control node used to manage and schedule each service node. The master control process is used to allocate and schedule resources for each task process. It can be understood that the control node is also the control center in the business system. For example, it can be the network operation center of the business system, which can monitor and allocate resources for the entire business system. The task process can be a subprocess that implements each sub-function in the business system. For example, various task processes such as a log service process, an exception information detection process, and a business data management process. It can be understood that the master control process corresponds to multiple task processes, and the master control process can then effectively monitor and allocate resources for multiple task processes in the business system. Each task process corresponds to multiple service nodes respectively, so that a task process communicates with multiple service nodes respectively and performs corresponding data processing.

[0066] Specifically, in the computer device corresponding to the control node, the configuration information of all service nodes in the system is stored. The configuration information of the service node includes parameter information such as the network address, host name, model, and capacity of each service node.

[0067] After the computer device corresponding to the control node starts the master control process, it obtains the task processes running in the business system and the service nodes in the business system. The control node then allocates service nodes to each task process through the master control process.

[0068] S204, send data packets to each task process through the master control process; the data packets include the configuration information of the allocated service nodes.

[0069] Among them, a data packet is a data unit in communication transmission. In the Internet, each layer of the network transmission system establishes a protocol data unit. When transmitting information to be transmitted through the network layer, this information is divided into one or more data blocks of the network address of the destination and the network address of its source, and these data blocks are data packets. For example, by encoding the configuration information to be transmitted, a data structure packet corresponding to a preset data structure can be generated to facilitate the efficient transmission of data in the network.

[0070] In a specific embodiment, the data packet can be a PB (Protocol Buffer) structure packet. Protocol Buffer is a language-independent, platform-independent, and highly extensible structured data storage format for communication protocols, which can be used for serialization and deserialization of structured data, enabling more efficient and space-saving transmission of information.

[0071] After the control node assigns service nodes to each task process through the master control process, according to the configuration information of the service nodes assigned to each task process, data packets corresponding to each task process are generated. Then, through the master control process, the corresponding data packets are sent to each task process respectively.

[0072] S206: Through each task process, heartbeat packets carrying configuration information are sent to the assigned service nodes respectively.

[0073] Among them, a heartbeat packet is an instruction message sent at regular time intervals between network device nodes communicating in the network to periodically notify the other party of its own status. The heartbeat packet mechanism can be used to detect whether the connections of each service node are normal by continuously detecting the responses of each service node through heartbeat packets. If no heartbeat response packet is received within a certain period of time, it indicates that the connection of the corresponding service node is disconnected or unavailable, etc.

[0074] The control node issues data packets to each task process through the master control process. After each task process obtains the data packets sent by the master control process, the configuration information of the service nodes assigned to each task process is extracted from the data packets. Then, according to the configuration information of each service node, heartbeat packets corresponding to each service node are generated, and then each task process sends the heartbeat packets to the assigned service nodes respectively.

[0075] S208: Through each task process, the node status information returned by each service node in response to the heartbeat packet is obtained, and the node status information is sent to the master control process according to a preset structure.

[0076] It can be understood that the node status information is the heartbeat response packet information returned by each service node, including its own connection status information, load information, etc. The node status information may include the connection status information and load information corresponding to each service node, and may also include information such as the configuration version number, process version number, and process key of the task process.

[0077] Among them, a structure is a new data type composed of a batch of data. Each piece of data that makes up the structured data is called a member of the structured data. A preset structure refers to a data structure defined in advance, which is a data type that can be directly recognized by both the master control process and the task process.

[0078] In one embodiment, the preset structure may be a data structure established based on a private protocol, enabling direct recognition between the master control process and the task process without other parsing or deserialization processing of the transmitted data.

[0079] In a specific embodiment, the preset structure may be a Struts structure. A structure refers to a data structure and is a type of aggregate data type. A structure can be declared as a variable, pointer, or array, etc., to implement a more complex data structure.

[0080] The control node sends heartbeat packets to the allocated service nodes through each task process. After each service node receives the heartbeat packet sent by the task process, it collects the current connection status information, load information, etc. of the service node as node status information according to the configuration information and instruction information in the heartbeat packet, and returns a heartbeat response packet carrying the node status information to the corresponding task process. Specifically, the service node can generate a heartbeat response packet with the node status information according to the data structure corresponding to the heartbeat packet and return it to the corresponding task process.

[0081] Each task process then obtains the node status information returned by each service node in response to the heartbeat packet. After parsing the node status information, it returns the node status information to the master control process according to the preset structure. For example, the node status information can be packaged into information in the form of a preset structure and then returned to the master control process.

[0082] Since each task process obtains the node status information returned by each service node, after parsing and packaging the node status information into information in the preset structure by each task process and then returning it to the master control process, the master control process can directly extract the required information from the node status information packaged in the preset structure. Therefore, the master control process no longer needs to parse the node status information, effectively reducing the load pressure on the master control process. This can greatly reduce the operating overhead of the control node and effectively improve the system capacity.

[0083] In the above data distribution method, the master control process in the control node distributes service nodes to each task process, and the master control process sends data packets including the configuration information of the service nodes to each task process, so that data packets can be distributed to each service node more efficiently. Among them, the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively. Then, each task process in the control node sends heartbeat packets carrying configuration information to the allocated service nodes respectively. Thus, by each task process distributing data packets to the corresponding multiple service nodes respectively, the load of each task process and each service node can be balanced, so that data packets can be distributed more efficiently. Then, each task process obtains the node status information returned by each service node in response to the heartbeat packet, and sends the node status information to the master control process according to a preset structure. By transmitting the node status information according to the preset structure, the master control process does not need to parse the node status information any more. By each task process distributing data to each service node according to the service nodes allocated by the master control process, and each task process returning information to the master control process according to the preset structure, the load pressure of the master control process is effectively reduced, so that the operation cost of the control node can be greatly reduced. At the same time, efficient resource scheduling can be realized, and then the overall performance of each node and the data processing efficiency can be effectively improved.

[0084] In one embodiment, the master control process distributes service nodes to each task process, including: regarding devices with the same network address as one service node, and determining the number of network addresses as the number of service nodes; the master control process distributes service nodes to each task process according to the number of service nodes at a preset period.

[0085] Among them, the network address is the logical address that a node on the Internet has in the network and can be used to address the node. Specifically, the network address can be an IP address (Internet Protocol Address), which is a way to address hosts on the Internet and assigns a logical address to each computer device. The IP address is a unified address format provided by the IP protocol, which assigns a logical address to each network node device and each host device on the Internet to shield the difference of the physical address. It can not only be used to identify computer devices, but also for information sharing.

[0086] It can be understood that the preset period represents the time interval for completing a set of events during the process of repeating the operation in the same order. Among them, the time interval can be a preset specified time range. Specifically, the preset period can be a heartbeat period. The heartbeat period is for each node device to judge the node status of the connected node device by periodically sending and receiving information to determine whether the connected node device is in a live state.

[0087] Among them, the preset period in the master control process can be the period for a set of sending and receiving information between the master control process and the task process.

[0088] The control node first obtains the devices running in the service system that have unique network addresses. Specifically, they can be computer devices with unique network addresses and networking functions, and each device is regarded as a service node. Then, the number of network addresses is determined as the number of service nodes. For example, if each server has a corresponding IP address, then each server with an IP address is regarded as a service node respectively.

[0089] When the control node distributes service nodes to each task process through the master control process, according to the preset period, based on the number of task processes and the number of all service nodes, it distributes corresponding numbers of service nodes to each task process respectively. Specifically, the master control process can distribute service nodes with balanced quantities to each task process. Further, it can also determine the number of service nodes required by each task process according to the resource occupation required by each task process, and then distribute the required numbers of service nodes to each task process.

[0090] It can be understood that distributing service nodes to each task process according to the preset period means that after the master control process completes one distribution of service nodes, it continues to distribute service nodes to each task process according to the collected node status information.

[0091] In this embodiment, by regarding devices with the same network address as a service node, it can effectively determine service nodes and the number of service nodes at the granularity of network addresses, and then can distribute service nodes to each task process more evenly. And through the master control process according to the preset period, continuously distributing service nodes to task processes according to the node status information collected each time, it can effectively realize dynamically distributing service nodes to task processes according to the real-time collected node status information, thereby effectively improving the node distribution efficiency and ensuring that the loads of each task process are relatively balanced.

[0092] In one embodiment, distributing service nodes to each task process through the master control process includes: determining the number of service nodes corresponding to each node type according to the quantity and node type corresponding to the network address of each service node, and the number of each service node; through the master control process, distributing service nodes corresponding to each node type with balanced quantities to each task process respectively.

[0093] It can be understood that the service system includes service nodes of at least one node type. The node type of the service node can include media proxy nodes, routing nodes, etc.

[0094] In the process of allocating service nodes to each task process through the master control process, first, the network addresses and node types of each service node are identified. According to the quantity corresponding to the network address of each service node and the corresponding node type, the quantity of service nodes corresponding to each node type is determined. Then, within a preset period, service nodes corresponding to each node type with balanced quantities are allocated to each task process respectively. That is, for the service nodes of each node type, an equal number of service nodes are allocated to each task process. Thus, the balanced allocation of service nodes to task processes is achieved.

[0095] For example, if there are 100,000 media proxy nodes and 200,000 routing nodes in the business system. When there are 4 task processes in the current scenario, 25,000 media proxy nodes and 50,000 routing nodes are allocated to each task process respectively. Specifically, it can be achieved by allocating a node list of the network addresses corresponding to each service node to each task process.

[0096] In this embodiment, after determining each service node and the quantity of service nodes according to the granularity of the network address, service nodes corresponding to each node type are evenly allocated to each task process in equal quantities. Thus, it can effectively ensure that the consumption of computing resources of each task process is balanced, so that more node loads can be borne, and the overall data processing efficiency can be improved. Furthermore, the stability of business operation can be effectively guaranteed.

[0097] In one embodiment, the master control process sends data packets to each task process, including: generating data packets corresponding to each task process according to the configuration information of the service nodes allocated to each task process; within a preset period, through the master control process, the data packets are sent to each task process at equal time intervals respectively.

[0098] It can be understood that the data packets corresponding to each task process include the configuration information of all the service nodes allocated to this task process.

[0099] Among them, the preset period is specifically the period corresponding to a heartbeat mechanism. The equal time interval means an equal time interval, and the time interval is a time period, that is, the time intervals for sending data packets to each task process are the same.

[0100] When the control node distributes data packets to each task process through the master control process, it first uses the configuration information corresponding to the service nodes allocated to each task process to package and generate data packets corresponding to each task process. Then, within a heartbeat cycle, it distributes the corresponding data packets to each task process at equal time intervals. Specifically, the heartbeat cycle is equally divided according to the number of task processes, so that the cycle of distributing data packets to each task process is equally divided. For example, when there are 4 task processes and the heartbeat cycle is 5 seconds, the master control process sends the packaged data packets to one of the task processes every 1.25 seconds.

[0101] In this embodiment, by distributing data packets to each task process at equal time intervals, the data packets transmitted to each task process are uniform in the time dimension, thereby effectively ensuring traffic balance during the process of distributing data packets, and effectively reducing the risk of packet loss, and further effectively enhancing the operational stability of the service system.

[0102] In one embodiment, generating data packets corresponding to each task process according to the service nodes allocated to each task process includes: generating a node list and a configuration list corresponding to each task process according to the service nodes allocated to each task process, where the configuration list includes the configuration information of each service node in the node list; performing serialization processing on the node list and the configuration list respectively to generate corresponding data packets.

[0103] Among them, the node list refers to a list including the network addresses corresponding to each service node. The configuration list refers to a list including the configuration information corresponding to each service node. The node list and the configuration list can establish a mapping relationship according to the network addresses of each service node, and the configuration information included in the configuration list is the configuration information corresponding to each service node in the node list. In one embodiment, for the completely identical configuration information in the configuration list, redundant configuration information can also be removed.

[0104] It can be understood that serialization processing refers to the process of converting the state information of an object into a form that can be stored or transmitted. During serialization, the object writes its current state into a temporary or persistent storage area. Then, the object can be recreated by reading or deserializing the state of the object from the storage area.

[0105] When the master control process generates data packets corresponding to each task process, it can generate a node list and a configuration list corresponding to each task process according to the configuration information of the service nodes allocated to each task process, thereby effectively separating the lists of each service node and the configuration information list.

[0106] The master control process then performs serialization processing on the node list and the configuration list respectively, and then packs the serialized node list and configuration list to generate corresponding data packets. Thus, the generated data packets include an isolated node list and configuration information.

[0107] For different service nodes of the same node type, their configuration information may be exactly the same. If the configuration information of each service node is directly packed into a data packet for transmission separately, it will cause a large number of memory copies, and the number of bytes generated is relatively large, which will seriously affect the performance of each node.

[0108] In this embodiment, by separating the node list and the configuration list, and the configuration list is the configuration information corresponding to each service node after redundant configuration information is removed. Thus, when sending the data packet, a large number of memory copies and the number of transmission bytes can be saved, thereby effectively improving the data transmission performance.

[0109] In one embodiment, each task process sends a heartbeat packet carrying configuration information to the allocated service nodes respectively, including: each task process sends a heartbeat packet carrying configuration information to each allocated service node at a preset interval within a preset period.

[0110] Among them, the preset period refers to the heartbeat period for each task process to send a heartbeat packet to the service node. The preset interval refers to the time interval preset for the task process to send a heartbeat packet to each service node. The time interval for each sending of a heartbeat packet can be the same or variable.

[0111] When each task process distributes a heartbeat packet to the service node, within a heartbeat period, it sends a heartbeat packet carrying configuration information to each allocated service node at a preset time interval. So that after each service node receives the heartbeat packet, it collects node status information such as the process information and load information of each service node by responding to the status collection instruction in the heartbeat packet.

[0112] In one embodiment, the data packet includes the node list of the allocated service nodes and the configuration information of each service node corresponding to the node list; each task process sends a heartbeat packet carrying configuration information to each allocated service node at a preset interval within a preset period, including: each task process sends a heartbeat packet carrying configuration information to each service node in the node list at equal time intervals in sequence within a preset period.

[0113] Among them, the data packet includes a node list and a configuration list, and the configuration list includes the configuration information corresponding to each service node in the node list. The node list and the configuration list can establish a mapping relationship through the network addresses of each service node.

[0114] After each task process receives the data packet sent by the master control process, it parses the received data packet, and then extracts the node list and configuration list in the data packet.

[0115] During the process of each task process distributing heartbeat packets to service nodes, it obtains the configuration information of each service node from the configuration list according to the node list, and uses the configuration information to generate heartbeat packets corresponding to each service node, and then sends them to each service node respectively. Specifically, through each task process, within a heartbeat cycle, according to the node list, heartbeat packets are sent to the allocated service nodes at equal time intervals respectively.

[0116] For example, the heartbeat cycle is 5 seconds, and the node list received by the task process includes the IP list of 25,000 media proxy nodes. When the preset equal time interval is 50 milliseconds, then 250 heartbeat packets corresponding to 250 media proxy nodes are sent respectively each time, that is, 250 heartbeat packets are sent respectively each time, and a total of 100 times are sent.

[0117] In this embodiment, each task process sends heartbeat packets to the allocated service nodes at equal time intervals in sequence within the heartbeat cycle according to the node list, so that the processing requests for sending heartbeat packets by each task process are uniform in the time dimension. This can effectively ensure the balance of heartbeat traffic during the process of sending heartbeat packets, and can effectively reduce the risk of packet loss, and further can effectively enhance the running stability of the service system.

[0118] In one embodiment, the node status information is data after serialization processing; sending the node status information to the master control process according to a preset structure includes: through each task process, performing deserialization processing on the node status information; and sending the deserialized node status information to the master control process in the form of a preset structure.

[0119] It can be understood that the information in the heartbeat packets sent by each task process to each service node can be information after serialization processing.

[0120] Specifically, after each service node receives the heartbeat packet sent by the task process, it immediately responds to the received heartbeat packet to collect its own current connection status information, load information and other node status information. Each service node also performs serialization processing on the node status information, specifically according to the data structure of the information in the heartbeat packet, using the same data structure to perform serialization processing on the node status information. Then a heartbeat reply packet corresponding to the received heartbeat packet is generated, and then a heartbeat reply packet carrying the node status information is returned to the corresponding task process.

[0121] After each task process receives the node status information returned by each service node in response to the heartbeat packet, since the received node status information is serialized, it is necessary to deserialize the node status information.

[0122] Each task process then directly returns the deserialized node status information to the master control process in the form of a preset structure that can be directly recognized between the master control process and the task process. Thus, after the master control process receives the node status signals returned by each task process, it no longer needs to deserialize the node status information.

[0123] Generally, serializing and deserializing information requires a large amount of computing resources. For example, using the Protocol Buffer protocol for serialization and deserialization consumes a large amount of CPU (Central Processing Unit) resources. If all the serialized node status information corresponding to all service nodes is directly returned to the master control, the master control process needs to deserialize all this node status information, which will consume a large amount of CPU resources in the control node and thus seriously affect the performance of the control node.

[0124] In this embodiment, after each task process deserializes the node status information, it then sends the deserialized node status information to the master control process in the form of a preset structure. This enables the master control process to no longer deserialize the node status information, effectively reducing the load pressure on the master control process and greatly reducing the operating overhead of the control node, and effectively improving the processing performance of the control node.

[0125] In one embodiment, as Figure 3 shown, another data distribution method is provided, including the following steps:

[0126] S302, obtain the configuration information of the service nodes with the latest status through the master control process; the configuration information of each service node is included in the memory corresponding to the master control process.

[0127] S304, when the configuration information of the service nodes in the memory of the master control process is inconsistent with the configuration information of the service nodes with the latest status, update the inconsistent configuration information in the memory.

[0128] S306, allocate service nodes to each task process through the master control process according to the updated configuration information in the memory.

[0129] S308, send data packets to each task process through the master control process; the data packets include the configuration information of the allocated service nodes.

[0130] S310, through each task process, send heartbeat packets carrying configuration information to the allocated service nodes respectively.

[0131] S312, through each task process, obtain the node status information returned by each service node in response to the heartbeat packet, and send the node status information to the master control process according to a preset structure.

[0132] Among them, the control node stores the configuration information of all service nodes in the business system. For example, it may include the configuration information corresponding to each media proxy node, routing node, etc., and can also be stored in the memory in the Key-value (key-value pair) or table data format.

[0133] After the business system is started, the control node automatically loads the stored configuration information into the memory of the master control process, while each task process does not automatically load the configuration information. Therefore, the configuration information of each service node is stored in the memory corresponding to the master control process.

[0134] During the operation of the master control process, it can also continuously obtain the configuration information of the service nodes in the latest state. Among them, the configuration information of the service nodes in the latest state can be obtained from the node status information returned by the task process for each service node. Specifically, the master control process can, according to a preset period, cyclically allocate service nodes to the task processes based on the obtained configuration information of the service nodes in the latest state, so that each task process sends heartbeat packets to the newly allocated service nodes, in order to collect the configuration information and node status information, etc. of each service node in the latest state, so that the control node can efficiently and dynamically perform configuration distribution, heartbeat detection, and information collection on the service nodes.

[0135] In another embodiment, the developer of the business system can update the configuration information through the front-end configuration page, and then upload the configuration information of the service nodes in the latest state after the update to the control node. Furthermore, the master control process obtains the configuration information of the service nodes in the latest state.

[0136] After the master control process obtains the configuration information of the service nodes in the latest state, it compares the configuration information of the service nodes in the memory with the configuration information of the service nodes in the latest state. When the master control process detects that the configuration information of the service nodes in the memory is inconsistent with the obtained configuration information of the service nodes in the latest state, it updates the inconsistent configuration information in the memory according to the configuration information of the service nodes in the latest state. That is, the inconsistent configuration information of the service nodes in the memory is updated to the configuration information of the corresponding service nodes in the latest state.

[0137] The master control process then loops through the steps of allocating service nodes to each task process based on the updated configuration information in the memory, in order to dynamically collect information such as the latest status configuration information and node status information of each service node.

[0138] For example, the configuration information may include the corresponding version number. The master control process can determine whether the configuration information of the service node in the latest state is consistent with the configuration information in the memory of the master control process by detecting whether the version number of the configuration information of the service node in the latest state is the same as the version number of the configuration information in the memory of the master control process. The version number can be generated when the business system is updated, and the configuration information will be updated accordingly, and then a new version number of the configuration information will be generated.

[0139] As Figure 4 shown, it is a flowchart of data distribution in a specific embodiment. The control node stores the full amount of configuration information. When the control node starts, the configuration information is loaded into the memory of the master control process. After the master control process starts, during the execution of step S302, the control node determines whether configuration distribution needs to be performed currently. Specifically, if the business system triggers a configuration update, the master control process obtains the updated configuration information and loads it into the memory of the master control process.

[0140] In step S304, the configuration information in the memory is updated by the master control process, and a landing file is generated. For example, a version number can be generated based on the configuration information loading time, that is, using the loading time as the version number, and the version number of the configuration information is updated. If the master control process finds that the version number of the configuration information in the task process is inconsistent with the configuration information stored in the memory, the configuration information in the memory is also updated.

[0141] After the master control process starts, if it is determined that configuration distribution does not need to be performed currently, the configuration information in the memory remains unchanged.

[0142] Specifically, the master control process can also detect the legality of the configuration information, generate a landing file, and at the same time, package all the kv, table, or file-type configuration information with correct parameters into a data packet in PB structure. For example, detect whether the character type of each configuration information is legal. For example, if the preset character type of one or more items of the configuration information is a number, then detect whether the character type of the corresponding information is a number; or if the preset character type and character range are numbers between 0 and 100, then detect whether the input value is within this range; or if the preset character type and character range are strings from a to z, then detect whether all characters are between a and z.

[0143] In step S306, the master control process evenly distributes service nodes to each task process. Specifically, the master control process takes each service node, regarding a device with one IP address as one service node, evenly scatters all service nodes, and then distributes the service nodes to each task process evenly according to the number of task processes. For example, if there are 100,000 service nodes and 4 task processes, then 25,000 service nodes are distributed to each task process.

[0144] In step S308, the master control process sends data packets to each task process at equal time intervals, and the data packets include the configuration information of the service nodes allocated to each task. Specifically, within one heartbeat period, the master control process evenly distributes the data packets to each task process according to equal intervals. For example, if one heartbeat period is 5 seconds and there are 4 task processes, then a data packet containing configuration information and the node list information allocated to each task process is sent to one of the task processes every 1.25 seconds. Among them, the configuration information and the node list information are stored in separate data tables.

[0145] In step S308, each task process sends heartbeat packets carrying configuration information to the allocated service nodes at equal time intervals. Specifically, after each task process receives the allocated data packet, it parses the configuration list and the node list in the data packet, and then within one heartbeat period, sends heartbeat packets carrying configuration to each service node in the node list at equal time intervals. For example, if one heartbeat period is 5 seconds and each task process receives an IP node list of 25,000 service nodes. If the sending time interval is set to 50 milliseconds, then 250 heartbeat packets are sent to the service nodes each time, with one heartbeat packet sent to each service node, and a total of 100 times are sent.

[0146] In step S312, each task process obtains the node status information returned by each service node in response to the heartbeat packet, and returns the node status information to the master control process according to the preset Struts structure. Specifically, after each task process receives the heartbeat reply packet returned by each service node, it extracts the load information, process information, status information, etc. from it, and then returns the collected node status information to the master control process in the form of the native Struts structure. The master control process then extracts the required information from the received Struts structure, updates it to the memory, and performs corresponding processing or waits for access to obtain it.

[0147] By transmitting node status information according to the preset Struts structure, the master control process no longer needs to parse the node status information. If traditional PB data packets are used to transmit node status information, the master control process needs to perform deserialization processing on the node status information after receiving it. Through experimental analysis, compared with using PB data packets, when using the native Struts structure, the CPU performance of the computer device can be increased by 250% during deserialization.

[0148] For a service system with a large number of service nodes and high traffic, if the configuration of each service node is updated separately, for example, if there are tens of thousands of device nodes in the service system with configuration change requirements, the time for full effect will be relatively long.

[0149] In this embodiment, the control node can support the distribution of configuration information of all service nodes and can efficiently change the configuration information synchronization. When the scale of the media proxy is large, such as 100,000 devices, using the solution in this embodiment, the control node can effectively achieve the second-level distribution of configuration information and can efficiently perform heartbeat detection, information collection, etc. It can effectively solve the problem that service nodes cannot be horizontally scaled, and at the same time reduce the operation pressure, and can provide stable service performance in business emergency scenarios.

[0150] In one embodiment, as Figure 5 shown, another data distribution method is provided, including:

[0151] S502, allocate service nodes to each task process through the master control process; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively.

[0152] S504, send data packets to each task process through the master control process; the data packets include the configuration information of the allocated service nodes.

[0153] S506, through each task process, send heartbeat packets carrying configuration information to the allocated service nodes respectively.

[0154] S508, through each task process, obtain the node status information returned by each service node in response to the heartbeat packet, and send the node status information to the master control process according to the preset structure; the node status information includes the connection status information and load information of each service node.

[0155] S510, through the master control process, extract the connection status information and load information of each service node from the structure corresponding to the received node status information.

[0156] S512. Through the master control process, determine the valid service nodes based on the connection status information and load information of each service node, allocate the valid service nodes to each task process, and then return to execute step S504 of sending data packets to each task process through the master control process.

[0157] Among them, the node status information includes the connection status information and load information of each service node. It can be understood that the connection status information refers to the status information of the network connections between each task process and each service node. The connection status information of each service node can reflect the survival status of each service node in the network, that is, to determine whether each service node is valid, or has been disconnected or crashed.

[0158] Each task process further obtains the node status information returned by each service node in response to the heartbeat packet. After parsing the node status information, the node status information is returned to the master control process in accordance with a preset structure. After receiving the node status information returned by each task process in the form of a preset structure, the master control process then extracts the connection status information and load information of each service node from the structure corresponding to the received node status information.

[0159] Specifically, after obtaining the node status information, the master control process further determines the currently valid service nodes in the business system according to the preset heartbeat period, based on the connection status information and load information of each service node. Then, it continues to allocate the valid service nodes to each task process and returns to execute the step of sending data packets to each task process through the master control process. In this way, it is possible to dynamically allocate service nodes to each task process in real time according to the preset heartbeat period, so as to efficiently perform network resource scheduling, and further effectively improve the node allocation efficiency and ensure that the load of each task process is relatively balanced.

[0160] In one embodiment, the service nodes include routing nodes and media proxy nodes. The configuration information of the routing nodes includes the load information corresponding to the media proxy nodes. Through each task process, send heartbeat packets carrying configuration information to the allocated service nodes respectively, including: through each task process, send heartbeat packets carrying the configuration information of each media proxy node to the allocated media proxy nodes respectively, and send heartbeat packets carrying the configuration information of each routing node and the load information of each media proxy node to the allocated routing nodes respectively.

[0161] The above data distribution method further includes: when a routing node obtains a connection request sent by a user terminal, allocate a media proxy node to the connection request according to the load information corresponding to each media proxy node in the received heartbeat packet.

[0162] Among them, a routing node refers to a network device with network routing capabilities. Among them, routing refers to the process within the network scope that determines the end-to-end path when a packet travels from the source to the destination. Routing nodes include functions such as providing signaling entry, authorization, access control, as well as storing location information, load information of media proxy nodes, etc. Media proxy nodes can provide functions such as media negotiation, transcoding, and data exchange. For example, they can provide media resource functions required to implement various services on the IP network, including services such as service tone provision, conferencing, interactive response, notification, unified messaging, and advanced voice.

[0163] It can be understood that an application program corresponding to the service system can run on the user terminal corresponding to the user. The user can initiate a connection request to the service system through the application program running on the user terminal. Among them, the connection request can include various service requests such as access requests, data storage requests, conference requests, etc. The user terminal can communicate and interact with the service system in the background through the connection request to implement the corresponding functions provided in the service system.

[0164] As Figure 6 shown, it is an architecture diagram of a service system in an embodiment. The service system includes a control node and service nodes. The service nodes further include routing nodes and media proxy nodes. Among them, the control node is used to manage the configuration distribution, heartbeat detection, information collection, etc. of all media proxy nodes and routing nodes. The media proxy node is used for data access. All data transmitted by user terminals need to be encrypted and decrypted by the media proxy. Therefore, the media proxy node is a computing consumption-type device. The routing node is used to allocate media proxy nodes to user terminals, that is, it is responsible for deciding which media proxy node the client terminal accesses. Therefore, the routing node needs to know the node status information such as the survival status and load information of each media proxy node.

[0165] As Figure 7 shown, it is a timing diagram of data distribution in an embodiment. After the master control process of the control center allocates service nodes to each task process, it sends a data packet including the configuration information of the service nodes to each task process. The data packet includes the configuration information of the routing nodes and media proxy nodes allocated to each task process. Among them, it can also include the latest collected load information of some or all media proxy nodes.

[0166] After each task process of the control center receives the data packet, it generates a corresponding heartbeat packet for each allocated service node. Among them, in the heartbeat packet for each media proxy node, only the configuration information of each media proxy node is included. In the heartbeat packet for each routing node, the configuration information of each routing node and the load information of all media proxy nodes are included.

[0167] Then each task process sends a heartbeat packet carrying the configuration information of each media proxy node to the allocated media proxy node respectively, and sends a heartbeat packet carrying the configuration information of each routing node and the load information of each media proxy node to the allocated routing node respectively. Each routing node and each media proxy node return their respective heartbeat response packets to the corresponding task processes. The heartbeat response packet includes the node status information of each routing node and each media proxy node. Thus, each routing node can obtain the load information of each media proxy node. After the task processes deserialize and parse the node status information, they return it to the master control process in the form of a preset structure.

[0168] A user can initiate a connection request in the service system through the corresponding user terminal. After the user terminal initiates the connection request, it first sends the connection request to the routing node in the service system, and the routing node schedules the connection request.

[0169] When the routing node receives the connection request, it allocates a media proxy node for the connection request according to the load information corresponding to all media proxy nodes in the latest received heartbeat packet, so that the user terminal can establish a communication connection with the allocated media proxy node. Then, the media proxy node performs corresponding service processing on the connection request.

[0170] In this embodiment, since the heartbeat packets obtained by each routing node include the load information of all media proxy nodes, and each media proxy node is relatively evenly allocated to the corresponding task process by the master control process of the control center, the routing node can then evenly allocate the connection requests sent by the user terminal to each media proxy node according to the load information of each media proxy node, thereby effectively improving the data processing efficiency.

[0171] In one embodiment, the connection request includes a meeting request; allocating a media proxy node for the connection request according to the load information corresponding to each media proxy node in the received heartbeat packet includes: through the routing node, allocating a media proxy node for the meeting request according to the load information corresponding to each media proxy node in the received heartbeat packet, so that the user terminal can establish a communication connection with the allocated media proxy node; through the allocated media proxy node, adding the account identifier corresponding to the user terminal to the virtual meeting room corresponding to the meeting request.

[0172] Among them, the service system may include a meeting system. The connection request may include a meeting request. The meeting request is a request to implement a remote meeting through a communication connection. The meeting request may be a voice meeting request, a video meeting request, etc. The meeting request may also include a meeting creation request and a meeting join request, etc. It can be understood that the virtual meeting room is a communication group generated for the meeting creation request. Users who join this virtual meeting room can achieve in-group communication among multiple members.

[0173] An application with remote conferencing capabilities is running on the user terminal. After the user initiates a meeting request through the corresponding user terminal, the connection request is first sent to the routing node in the service system, and the routing node schedules the connection request.

[0174] Among them, the meeting request may include the identifier of the created virtual meeting room. When the routing node receives the connection request, it allocates a media proxy node for the meeting request according to the load information corresponding to all media proxy nodes in the latest received heartbeat packet and the identifier of the virtual meeting room. Then, the user terminal sends the meeting request to the allocated media proxy node according to the network address of the allocated media proxy node and establishes a communication connection with the media proxy node.

[0175] After obtaining the meeting request sent by the user terminal, the media proxy node adds the account identifier corresponding to the user terminal to the virtual meeting room corresponding to the meeting request.

[0176] In another embodiment, the meeting request may also be a meeting creation request. When the routing node receives the connection request, it allocates a media proxy node for the connection request according to the load information corresponding to all media proxy nodes in the latest received heartbeat packet, and then forwards the connection request to the allocated media proxy node. After obtaining the meeting request forwarded by the routing node, the media proxy node allocates a corresponding virtual meeting room for the meeting creation request and adds the account identifier corresponding to the user terminal to the virtual meeting room corresponding to the meeting request.

[0177] For example, as Figure 8 shown, it is a schematic diagram of processing a meeting request in an embodiment. The service system includes a control node, a routing node, a heartbeat proxy node, and a media proxy node. The control node allocates routing nodes and media proxy nodes to each task process through the master control process. Among them, the control center can also transmit heartbeat packets with each media proxy node through the heartbeat proxy node to obtain the node status information of each routing node and media proxy node. Among them, the heartbeat packet sent by the control node to the routing node also includes the load information of all media proxy nodes.

[0178] An application with remote conferencing capabilities is running on the user terminal, including the SDK (Software Development Kit) of the application corresponding to the conferencing system. The application includes the port addresses of each pre-configured routing node. The user terminal can initiate a conference request by running the SDK of the application and log in to the conferencing system through SSO (Single Sign-On), that is, obtain the permission to access other associated systems and application software in the single sign-on system. Then, according to the port addresses of the pre-configured routing nodes, the application sends the conference request to the routing node. After the routing node assigns a media proxy node to the conference request, the user terminal sends the conference request to the assigned media proxy node to add the account identifier corresponding to the user terminal to the virtual conference room corresponding to the conference request, thereby realizing conference communication.

[0179] It can be understood that usually when there are a large number of users using the conferencing system, due to the large number of requests, situations such as network congestion and uneven resource allocation are likely to occur, thus affecting service performance and data processing efficiency.

[0180] In the above embodiment, since the heartbeat packets obtained by each routing node include the load information of all media proxy nodes, and each media proxy node is evenly assigned to the corresponding task processes through the master control process of the control center, the routing node can then evenly assign media proxy nodes to each conference request according to the load information of each media proxy node, thereby effectively improving the overall performance of the conferencing system and the processing efficiency of conference requests.

[0181] In one embodiment, as Figure 9 shown, a specific data distribution method is provided, including:

[0182] S902, taking devices with the same network address as a service node and determining the number of network addresses as the number of service nodes.

[0183] Among them, the data distribution method in this embodiment is applied to the scenario of a distributed business system with multiple clusters and multiple service nodes, and the business system includes multiple service nodes.

[0184] S904, determining the number of service nodes corresponding to each node type according to the number of service nodes and the node type.

[0185] S906, the master control process distributes the service nodes corresponding to each node type with balanced quantities to each task process at a preset period.

[0186] Specifically, the network address is an IP address. After determining each service node and the number of service nodes according to the granularity of the IP address, the service nodes of each node type are evenly allocated to each task process in equal numbers, so that the number of service nodes allocated to each task process is exactly evenly divided, thereby ensuring the load balance of each task process.

[0187] S908, generate a node list and a configuration list corresponding to each task process, including the allocated service nodes, according to the service nodes allocated to each task process. The configuration list includes the configuration information of each service node corresponding to the node list.

[0188] S910, perform serialization processing on the node list and the configuration list respectively to generate corresponding data packets.

[0189] S912, within a preset period, the master control process sends the data packets to each task process at equal time intervals.

[0190] In one embodiment, the node list and the configuration list can be packaged into PB data packets.

[0191] Specifically, the master control process can also filter the same configuration information in the configuration list, then perform serialization processing on the node list and the filtered configuration list respectively, and then package the serialized node list and configuration list to generate corresponding data packets. In this way, data packets with isolated node lists and configuration information can be generated, thereby saving a large amount of memory copy and transmission bytes when sending data packets. And the master control process sends data packets to each task process at equal time intervals, thereby effectively ensuring traffic balance during the process of sending data packets.

[0192] S914, within a preset period, each task process sends heartbeat packets carrying configuration information to each allocated service node at equal time intervals according to the node list.

[0193] By each task process sending heartbeat packets to each allocated service node at equal time intervals, it can effectively ensure heartbeat traffic balance during the process of sending heartbeat packets and can effectively reduce the risk of packet loss.

[0194] S916, each task process obtains the node status information returned by each service node in response to the heartbeat packet. The node status information is data after serialization processing.

[0195] S918, perform deserialization processing on the node status information by each task process.

[0196] S920, each task process sends the deserialized node status information to the master control process in the form of a preset structure.

[0197] After receiving heartbeat packets carrying node status information from each service node, the processing process deserializes the node status information, extracting information such as load, process, and status. It then returns this information to the master control process in the form of a pre-defined structure. For example, each task process returns the collected node status information to the master control process in the form of a native structs structure. The master control process extracts the required information from the structs structure, updates it to memory, and waits for page access or re-allocates service node resources based on the latest collected information.

[0198] After each task process deserializes the node status information, it is sent to the master control process in the form of a preset structure. This eliminates the need for the master control process to deserialize the node status information, effectively reducing the load on the master control process and significantly reducing the operating overhead of the control node, effectively improving the processing performance of the control node.

[0199] The above-mentioned data distribution method, in a distributed scenario with multiple clusters and multiple service nodes, employs a distribution mechanism based on a completely equal distribution rule. Through a private protocol, the IP address dimensions of all service nodes in the business system are completely broken down, and each service node is allocated equally to each task process. The master control process then transmits the configuration information of each service node to each processing process at equal intervals. Each processing process then sends heartbeat packets carrying the configuration information to each assigned service node at equal intervals. Each processing process receives the node status information returned by each service node in response to the heartbeat packet, deserializes it, and then transmits the deserialized node status information back to the master control process in the form of a native structure. This mechanism fully considers the performance of CPU, network interface cards, and other factors. By completely equalizing the number of service nodes and the transmission information, it can effectively increase the upper limit of the single-machine capacity of each node, shorten the synchronization time of configuration information, and thus save device resource costs, thereby effectively improving the overall performance of each node and data processing efficiency.

[0200] In one application scenario, the above data distribution method can also be applied to cloud conferencing. Cloud conferencing is an efficient, convenient, and low-cost conferencing format based on cloud computing technology. Users simply use an easy-to-use internet interface to quickly and efficiently share voice, data files, and videos with teams and clients around the world. The cloud conferencing service provider handles the complex technical aspects of data transmission and processing.

[0201] Currently, domestic cloud meetings mainly focus on service contents based on the SaaS (Software as a Service) model, including service forms such as telephone, network, and video. A video conference based on cloud computing is called a cloud meeting. In the era of cloud meetings, the transmission, processing, and storage of data are all handled by the computer resources of video conference manufacturers. Users no longer need to purchase expensive hardware and install cumbersome software at all. They only need to open a browser and log in to the corresponding interface to conduct efficient remote meetings.

[0202] The cloud meeting system supports multi-server dynamic cluster deployment and provides multiple high-performance servers, greatly improving the stability, security, and availability of meetings. In recent years, video conferences have been welcomed by many users because they can significantly improve communication efficiency, continuously reduce communication costs, and bring about an upgrade in internal management level. They have been widely applied in various fields such as government, transportation, finance, operators, education, and enterprises. Without a doubt, after video conferences adopt cloud computing, they are more attractive in terms of convenience, speed, and ease of use, and will surely trigger a new upsurge in the application of video conferences. Specifically, the cloud meeting system includes a control server, a media proxy server, and a routing server in the control center, etc. Among them, the control server, the media proxy server, and the routing server adopt distributed dynamic cluster deployment. The control center manages the configuration information distribution, heartbeat detection, and information collection of all media proxy servers and routing servers, etc. The media proxy server is used for access requests and provides meeting service processing. All data transmitted by user terminals during the meeting need to go through the encryption and decryption and corresponding processing of the media proxy. The routing server is used to allocate media proxy servers for the meeting requests initiated by user terminals and is responsible for deciding which media proxy server the user terminal accesses. Each routing server can obtain the survival status, load information, etc. of all media proxy servers.

[0203] The control center can adopt cloud computing technology to allocate routing servers and media proxy servers to each task process through the master control process, and send data packets including configuration information to each task process. Each task process then sends heartbeat packets carrying the configuration information to the allocated routing server and media proxy server respectively, and obtains the node status information returned by each server in response to the heartbeat packet, and sends the node status information to the master control process according to a preset structure. Thus, the master control process no longer needs to parse the node status information, effectively reducing the consumption of computing resources of the control server. When the routing server receives a conference request initiated by a user terminal, it can effectively allocate a high-performance media proxy server for the conference request according to the load information of each media proxy server in the heartbeat packet sent by the control center, and the user terminal then establishes a communication link with the allocated media proxy server. By allocating requests based on the obtained load information through the routing node, the load balance of each media proxy server can be effectively guaranteed, and thus the overall performance of the conference system and the processing efficiency of data can be effectively improved.

[0204] In another application scenario, the above data distribution method can also be applied to the scenario of a content sharing network system. The content sharing network system can also adopt the architecture of the above business system, that is, the content sharing network system includes a control server, a media proxy server, and a routing server deployed using a distributed dynamic cluster. The control server manages the configuration information distribution, heartbeat detection, and information collection of all media proxy servers and routing servers. The user terminal can initiate access requests in the content sharing network, such as content access requests, data acquisition requests, etc. After the routing server in the content sharing network receives the network request sent by the user terminal, it allocates a high-performance media proxy server for the access request according to the load information of each media proxy server in the heartbeat packet sent by the control center, so that the user terminal establishes a communication connection with the allocated media proxy server. Thus, the load balance of each media proxy node in the content sharing network can be effectively guaranteed, and a more stable service performance can be provided.

[0205] It should be understood that although Figure 2 、 3 、5, and 9 in the flowchart of FIG. follow the order indicated by the arrows in sequence, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise clearly stated in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, Figure 2 、 3At least some of the steps in 0, 5, and 9 may include multiple steps or multiple stages. These steps or stages are not necessarily executed and completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least some of the steps or stages in other steps or other steps.

[0206] In one embodiment, as Figure 10 shown, a data distribution device 1000 is provided. This device can be a software module, a hardware module, or a combination of both to become part of a computer device. Specifically, the device includes: a node allocation module 1002, a data distribution module 1004, a heartbeat packet distribution module 1006, and a data acquisition module 1008, where:

[0207] The node allocation module 1002 is used to allocate service nodes to each task process through a master control process; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively;

[0208] The data distribution module 1004 is used to send data packets to each task process through the master control process; the data packets include the configuration information of the allocated service nodes;

[0209] The heartbeat packet distribution module 1006 is used to send heartbeat packets carrying configuration information to the allocated service nodes respectively through each task process;

[0210] The data acquisition module 1008 is used to obtain the node status information returned by each service node in response to the heartbeat packet through each task process, and send the node status information to the master control process according to a preset structure.

[0211] In one embodiment, the node allocation module 1002 is further used to regard devices with the same network address as one service node, determine the number of network addresses as the number of service nodes; and allocate service nodes to each task process according to the number of service nodes through the master control process at a preset period.

[0212] In one embodiment, the node allocation module 1002 is further used to determine the number of service nodes corresponding to each node type according to the quantity and node type corresponding to the network address of each service node, and the number of each service node; and allocate service nodes corresponding to each node type with balanced quantities to each task process respectively through the master control process.

[0213] In one embodiment, the data distribution module 1004 is further used to generate data packets corresponding to each task process according to the configuration information of the service nodes allocated to each task process; and send the data packets to each task process through the master control process at equal time intervals within a preset period.

[0214] In one embodiment, the data distribution module 1004 is further configured to generate a node list and a configuration list corresponding to each task process, including the allocated service nodes, according to the service nodes allocated to each task process, where the configuration list includes the configuration information of each service node in the node list; perform serialization processing on the node list and the configuration list respectively to generate corresponding data packets.

[0215] In one embodiment, the heartbeat packet distribution module 1006 is further configured to send heartbeat packets carrying configuration information to each allocated service node through each task process at a preset interval within a preset period.

[0216] In one embodiment, the data packet includes a node list of the allocated service nodes and the configuration information of each service node corresponding to the node list; the heartbeat packet distribution module 1006 is further configured to send heartbeat packets carrying configuration information to each service node in the node list at equal time intervals in sequence through each task process within a preset period.

[0217] In one embodiment, the node status information is data after serialization processing; the data acquisition module 1008 is further configured to perform deserialization processing on the node status information through each task process; and send the deserialized node status information to the master control process in the form of a preset structure.

[0218] In one embodiment, the memory of the master control process includes the configuration information of each service node; the device further includes a configuration update module, configured to obtain the configuration information of the service node in the latest state through the master control process; when the configuration information of the service node in the memory of the master control process is inconsistent with the configuration information of the service node in the latest state, update the inconsistent configuration information in the memory; the node allocation module 1002 is further configured to allocate service nodes to each task process through the master control process according to the updated configuration information in the memory.

[0219] In one embodiment, the node status information includes the connection status information and load information of each service node; the node allocation module 1002 is further configured to extract the connection status information and load information of each service node from the structure corresponding to the received node status information through the master control process; determine valid service nodes according to the connection status information and load information of each service node through the master control process, allocate valid service nodes to each task process, and return to execute the step of sending data packets to each task process through the master control process.

[0220] In one embodiment, the service node includes a routing node and a media proxy node. The configuration information of the routing node includes the load information corresponding to the media proxy node. The heartbeat packet distribution module 1006 is further configured to send, through each task process, heartbeat packets carrying the configuration information of each media proxy node to the allocated media proxy nodes respectively, and send heartbeat packets carrying the configuration information of each routing node and the load information of each media proxy node to the allocated routing nodes respectively. The routing node is further configured to, when receiving a connection request sent by a user terminal, allocate a media proxy node to the connection request according to the load information corresponding to each media proxy node in the received heartbeat packet.

[0221] In one embodiment, the routing node is further configured to allocate a media proxy node to a conference request according to the load information corresponding to each media proxy node in the received heartbeat packet, so that the user terminal communicates with the allocated media proxy node. The allocated media proxy node is further configured to add the account identifier corresponding to the user terminal to the virtual conference room corresponding to the conference request.

[0222] For the specific limitations of the data distribution device, reference may be made to the limitations on the data distribution method in the foregoing text, which will not be elaborated here. Each module in the foregoing data distribution device can be implemented in whole or in part by software, hardware, and their combination. The foregoing modules can be embedded in the processor in the computer device in hardware form or be independent of it, or can be stored in the memory in the computer device in software form, so that the processor can call and execute the operations corresponding to each of the foregoing modules.

[0223] In one embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 11 shown. The computer device includes a processor, a memory, and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as configuration information and node status information. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, it implements a data distribution method.

[0224] Those skilled in the art can understand that Figure 11 the structure shown in is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have a different component layout.

[0225] In one embodiment, a computer device is further provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, the steps in the above method embodiments are implemented.

[0226] In one embodiment, a computer-readable storage medium is provided, storing a computer program. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0227] In one embodiment, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the steps in the above method embodiments.

[0228] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it may include the processes of the above method embodiments. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in this application may include at least one of non-volatile and volatile memories. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.

[0229] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0230] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all fall within the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the appended claims.

Claims

1. A data distribution method, characterized in that, The method includes: Using the master control process, a device with one IP address is regarded as a service node, and the service nodes are evenly distributed to each task process according to the number of task processes; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively; the service nodes include routing nodes and media proxy nodes, the routing nodes are used to allocate media proxy nodes to user terminals, and the data transmitted by the user terminals undergoes encryption and decryption by the media proxy nodes; The master control process issues data packets to each task process at equal time intervals; the data packets include the configuration information of the allocated service nodes; Each task process sends heartbeat packets carrying the configuration information to the allocated service nodes respectively at equal time intervals; Each task process obtains the node status information returned by each service node in response to the heartbeat packet, and sends the node status information to the master control process in accordance with a preset structure.

2. The method according to claim 1, wherein The step of the master control process allocating service nodes to each task process includes: Regarding devices with the same network address as one service node, and determining the number of the service nodes as the number of the network addresses; According to a preset period, the master control process allocates service nodes to each task process according to the number of the service nodes.

3. The method according to claim 1, characterized in that, The step of the master control process allocating service nodes to each task process includes: Determining the number of service nodes corresponding to each node type according to the number and node type corresponding to the network addresses of each service node, as well as the number of each service node; The master control process allocates service nodes corresponding to each node type with balanced quantities to each task process respectively.

4. The method according to claim 1, characterized in that, [[ID=***]]The step of the master control process issuing data packets to each task process at equal time intervals includes: Generating data packets corresponding to each task process according to the configuration information of the service nodes allocated to each task process; Within a preset period, the master control process issues the data packets to each task process respectively at equal time intervals.

5. The method according to claim 4, characterized in that, The step of generating data packets corresponding to each task process according to the service nodes allocated to each task process includes: Generating a node list and a configuration list corresponding to each task process according to the service nodes allocated to each task process, where the configuration list includes the configuration information of each service node in the node list; Performing serialization processing on the node list and the configuration list respectively to generate corresponding data packets.

6. The method according to claim 1, wherein The step of each task process sending heartbeat packets carrying the configuration information to the allocated service nodes respectively at equal time intervals includes: Each task process sends heartbeat packets carrying the configuration information to each of the allocated service nodes respectively at a preset interval within a preset period.

7. The method according to claim 6, characterized in that, The data packets include the node list of the allocated service nodes, and the configuration information of each service node corresponding to the node list; Each of the task processes sends heartbeat packets carrying the configuration information to the allocated service nodes at preset intervals within a preset period, including: Each of the task processes sends heartbeat packets carrying the configuration information to each of the service nodes in the node list at equal time intervals in sequence within a preset period.

8. The method according to claim 1, characterized in that, The node status information is data after serialization processing; sending the node status information to the master control process according to a preset structure includes: Each of the task processes performs deserialization processing on the node status information. The deserialized node status information is sent to the master control process in the form of a preset structure.

9. The method according to claim 1, characterized in that, The memory corresponding to the master control process includes the configuration information of each service node; the method further includes: The master control process obtains the configuration information of the service node with the latest status. When the configuration information of the service node in the memory of the master control process is inconsistent with the configuration information of the service node with the latest status, the inconsistent configuration information in the memory is updated. Allocating service nodes to each task process by the master control process includes: The master control process allocates service nodes to each task process according to the updated configuration information in the memory.

10. The method according to claim 1, characterized in that, The node status information includes the connection status information and load information of each service node; the method further includes: The master control process extracts the connection status information and load information of each service node from the structure corresponding to the received node status information. The master control process determines valid service nodes according to the connection status information and load information of each service node, allocates the valid service nodes to each task process, and returns to execute the step of sending data packets to each task process by the master control process.

11. The method according to any one of claims 1 to 10, characterized in that, The configuration information of the routing node includes the load information corresponding to the media proxy node. Each of the task processes sends heartbeat packets carrying the configuration information to the allocated service nodes at equal time intervals, including: Each of the task processes sends heartbeat packets carrying the configuration information of each media proxy node to the allocated media proxy nodes at equal time intervals, and sends heartbeat packets carrying the configuration information of each routing node and the load information of each media proxy node to the allocated routing nodes respectively. The method further includes: When the routing node receives a connection request sent by a user terminal, it allocates a media proxy node to the connection request according to the load information corresponding to each media proxy node in the received heartbeat packet.

12. The method according to claim 11, wherein The connection request includes a conference request; allocating a media proxy node to the connection request according to the load information corresponding to each media proxy node in the received heartbeat packet includes: The routing node allocates a media proxy node to the conference request according to the load information corresponding to each media proxy node in the received heartbeat packet, so that the user terminal communicates with the allocated media proxy node. Join the account identifier corresponding to the user terminal to the virtual meeting room corresponding to the meeting request through the assigned media proxy node.

13. A data distribution device, characterized in that, The device includes: A node allocation module, which is used to use a device with one IP address as a service node through the master control process, and evenly allocate service nodes to each task process according to the number of task processes; the master control process corresponds to multiple task processes, and each task process corresponds to multiple service nodes respectively; the service nodes include routing nodes and media proxy nodes, and the routing nodes are used to allocate media proxy nodes to user terminals, and the data transmitted by the user terminals is encrypted and decrypted by the media proxy nodes. A data distribution module, which is used to send data packets to each task process at equal time intervals through the master control process; the data packets include the configuration information of the assigned service nodes. A heartbeat packet distribution module, which is used to send heartbeat packets carrying the configuration information to the assigned service nodes at equal time intervals through each task process. A data acquisition module, which is used to obtain the node status information returned by each service node in response to the heartbeat packet through each task process, and send the node status information to the master control process in accordance with a preset structure.

14. The data distribution device according to claim 13, wherein The node allocation module is further used to use devices with the same network address as a service node, and determine the number of the service nodes as the number of the network addresses; allocate service nodes to each task process according to the number of the service nodes through the master control process at a preset period.

15. The data distribution device according to claim 13, wherein The node allocation module is further used to determine the number of service nodes corresponding to each node type according to the number and node type corresponding to the network address of each service node, and the number of each service node. Through the master control process, evenly allocate service nodes corresponding to each node type with balanced quantities to each task process.

16. The data distribution device according to claim 13, wherein The data distribution module is further used to generate data packets corresponding to each task process according to the configuration information of the service nodes allocated to each task process; within a preset period, send the data packets to each task process at equal time intervals through the master control process.

17. The data distribution device according to claim 16, wherein The data distribution module is further used to generate a node list and a configuration list corresponding to each task process according to the service nodes allocated to each task process, where the configuration list includes the configuration information of each service node in the node list; perform serialization processing on the node list and the configuration list respectively to generate corresponding data packets.

18. The data distribution device according to claim 13, wherein The heartbeat packet distribution module is further used to send heartbeat packets carrying the configuration information to each of the assigned service nodes at a preset interval within a preset period through each task process.

19. The data distribution device according to claim 18, wherein The data packet includes a node list of the allocated service nodes and configuration information of each of the service nodes corresponding to the node list; the heartbeat packet distribution module is further configured to, through each of the task processes, send heartbeat packets carrying the configuration information to each of the service nodes in the node list at equal time intervals within a preset period.

20. The data distribution device according to claim 13, wherein The node status information is data after serialization processing; the data acquisition module is further configured to, through each of the task processes, perform deserialization processing on the node status information; and send the deserialized node status information to the master control process in the form of a preset structure.

21. The data distribution device according to claim 13, wherein The memory corresponding to the master control process includes configuration information of each of the service nodes; the device further includes a configuration update module configured to obtain the configuration information of the service nodes in the latest state through the master control process; when the configuration information of the service nodes in the memory of the master control process is inconsistent with the configuration information of the service nodes in the latest state, update the inconsistent configuration information in the memory; the node allocation module is further configured to, through the master control process, allocate service nodes to each task process according to the updated configuration information in the memory.

22. The data distribution device according to claim 13, wherein The node status information includes connection status information and load information of each of the service nodes; the node allocation module is further configured to, through the master control process, extract the connection status information and load information of each of the service nodes from the structure corresponding to the received node status information; determine effective service nodes according to the connection status information and load information of each of the service nodes through the master control process, allocate the effective service nodes to each of the task processes, and return to execute the step of sending data packets to each of the task processes through the master control process.

23. The data distribution device according to any one of claims 13 to 22, characterized in that The configuration information of the routing node includes the load information corresponding to the media proxy node; the heartbeat packet distribution module is further configured to, through each of the task processes, send heartbeat packets carrying the configuration information of each media proxy node to the allocated media proxy nodes at equal time intervals respectively, and send heartbeat packets carrying the configuration information of each routing node and the load information of each of the media proxy nodes to the allocated routing nodes respectively; the routing node is further configured to, when the routing node receives a connection request sent by a user terminal, allocate a media proxy node to the connection request according to the load information corresponding to each of the media proxy nodes in the received heartbeat packet.

24. The data distribution device according to claim 23, wherein The connection request includes a conference request; the routing node is further configured to allocate a media proxy node to the conference request according to the load information corresponding to each of the media proxy nodes in the received heartbeat packet, so that the user terminal communicates and connects with the allocated media proxy node; the allocated media proxy node is further configured to add the account identifier corresponding to the user terminal to the virtual conference room corresponding to the conference request.

25. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the method according to any one of claims 1 to 12 is implemented.

26. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, the method according to any one of claims 1 to 12 is implemented.

27. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by a processor, the method according to any one of claims 1 to 12 is implemented.

Citation Information

Patent Citations

  • Data acquisition method and device and storage medium

    CN111092921A