WO2023035374A1 - 一种高可靠视频会议系统及其控制方法、存储介质 - Google Patents

一种高可靠视频会议系统及其控制方法、存储介质 Download PDF

Info

Publication number
WO2023035374A1
WO2023035374A1 PCT/CN2021/126265 CN2021126265W WO2023035374A1 WO 2023035374 A1 WO2023035374 A1 WO 2023035374A1 CN 2021126265 W CN2021126265 W CN 2021126265W WO 2023035374 A1 WO2023035374 A1 WO 2023035374A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
service
node
communication node
client
Prior art date
Application number
PCT/CN2021/126265
Other languages
English (en)
French (fr)
Inventor
宋飞
张宏科
孙涛
邹标飞
朱恕星
王椋
Original Assignee
北京交通大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京交通大学 filed Critical 北京交通大学
Publication of WO2023035374A1 publication Critical patent/WO2023035374A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Definitions

  • the present application relates to the technical field of computer network application services, in particular to a highly reliable video conferencing system, a control method thereof, and a storage medium.
  • multimedia network communication technology is developing rapidly, video conferencing technology is developing rapidly and becoming more mature, and its application fields are more extensive.
  • First of all with the development of a series of standards on video coding by the International Organization for Standardization, especially the establishment of the MPEG4 standard of ISO/IEC, it is possible to provide high-quality images for video conferences on low-bandwidth networks.
  • software-based video conferencing systems are developing rapidly and steadily, and have been widely deployed and applied in various industries.
  • Web-based software-based video conferencing has been a hot topic in the development of the multimedia industry in the past two years.
  • Web-based video conferencing means that users do not need to download software or install plug-ins on the client in advance, and do not need to lower the system security level or worry about browser versions. Compatibility issues. Directly open the webpage of the video conference, and you can conduct all-round interaction based on audio, video and data, which greatly reduces the difficulty of video conference interaction.
  • the embodiment of the present application provides a highly reliable video conferencing system, its control method, and a storage medium, so as to solve the technical problem of low transmission efficiency of the video conferencing system in the prior art.
  • the first aspect of the embodiment of the present application provides a highly reliable video conferencing system, including: a cluster scheduling node, multiple cluster communication nodes, and multiple cluster service nodes, the cluster scheduling node obtains the service connection request sent by the client, and according to the cluster The load selects a target cluster communication node, and sends the service connection request to the target cluster communication node; the target cluster communication node establishes a connection with the client according to the service connection request; the cluster scheduling node sends the target cluster communication node The communication node forwards the service request sent by the client, the target cluster communication node selects a target cluster service node according to cluster load balancing, and sends service acquisition information to the target cluster service node according to the uniform resource location address in the service request The target cluster service node returns service information to the target cluster communication node according to the service acquisition information; the target cluster communication node sends the service information to the client.
  • the cluster scheduling node includes an Apache component
  • the cluster communication node includes a Jetty component, a plurality of Jetty components form a load balancing group
  • the Apache component manages the load balancing group
  • the Apache component receives the service sent by the client Connection request, querying the load situation of each Jetty component in the load balancing group according to the service connection request, and determining the target cluster communication node
  • the Apache component updates the load in the load balancing group according to the load change of the target cluster communication node information.
  • the target cluster communication node After the target cluster communication node establishes a connection with the client according to the service connection request, it creates session state information of the connection in memory, sends a unique identifier to the client according to the session state information, and sends The session state information is backed up to other cluster communication nodes; after the Apache component detects that the Jetty component of the target cluster communication node fails, it controls the backup cluster communication node to process the service request of the client.
  • Red5 software is installed in the cluster communication node and the cluster service node, the cluster communication node is an Edge node in the Red5 cluster, the cluster service node is an Origin node in the Red5 cluster, and the cluster communication component is based on the Red5
  • the embedded Mina component is connected to the corresponding cluster service node; when a new cluster communication node is added to the Red5 cluster, the new cluster communication node broadcasts an access message and initiates a connection to the corresponding cluster service node; when a new cluster communication node is added to the Red5 cluster
  • the relevant cluster communication nodes are connected to the new cluster service node.
  • the cluster communication node After the cluster communication node establishes a connection with the client, it monitors the service request of the client according to Red5, and after receiving the service request of the client, establishes a connection with the corresponding cluster service node, and sends the service The request is sent to the cluster service node; the cluster service node returns the requested resource according to the service request.
  • the cluster communication node when the cluster communication node receives the service information returned by the cluster service node, it saves the data packets in the service information in the cache area; when the cluster communication node receives a new service request, it judges that the Whether the data corresponding to the service request exists in the cache includes, if yes, sending the data packet in the cache to the client.
  • the target cluster communication node generates shared data according to the received service request and the returned service information, and sends the shared data to the cluster scheduling node; when other cluster communication nodes receive the same When a service request is made, the shared data is obtained from the cluster scheduling node, and the service request is answered.
  • the working mode of the cluster communication node is the working mode of a connection state machine; a video conference application program is deployed on the cluster service node, and video conference content access services are allocated according to access rules; the cluster service node and the The identity and performance parameters of the cluster scheduling nodes are stored in the knowledge base of Zhirong Identification Network.
  • the second aspect of the embodiment of the present application provides a control method of a highly reliable video conferencing system, including: controlling the cluster scheduling node to obtain the service connection request sent by the client; controlling sending the service connection request to the target cluster communication node, the The target cluster communication node is selected according to the cluster load; the target cluster communication node is controlled to establish a connection with the client according to the service connection request; the cluster scheduling node is controlled to forward the service request sent by the client to the target cluster communication node ; Control the target cluster communication node to select a target cluster service node according to cluster load balancing, and send service acquisition information to the target cluster service node according to the uniform resource location address in the service request; control the target cluster service node to Returning service information to the target cluster communication node through the service acquisition information; controlling the target cluster communication node to send the service information to the client.
  • the third aspect of the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and the computer instructions are used to make the computer execute the second aspect and the second aspect of the embodiment of the present application.
  • the highly reliable video conferencing system and its control method and storage medium are equipped with cluster scheduling nodes, cluster communication nodes and cluster service nodes, and realize efficient transmission of video conference service information through communication between nodes; at the same time,
  • the system incorporates a load balancing mechanism, and the cluster scheduling node selects the optimal target cluster communication node for information transmission according to the cluster load, so that the system can effectively work in a low-bandwidth network environment and meet the user's needs for real-time and efficient transmission .
  • the highly reliable video conferencing system provided by the embodiment of the present application adopts Red5 as the server carrying the HRVC application program, and performs cluster management on it through external interconnection and dynamic injection.
  • the HRVC application program As far as the system is concerned, there is no need to change the HRVC application program, which improves the flexibility of the system structure and reduces the complexity of deployment.
  • For users there is not much difference between the service provided by the original node and the service provided by the HRVC system, but the performance of the latter has been greatly improved.
  • the highly reliable video conferencing system provided by the embodiment of this application, multiple service nodes exist and work together at the same time.
  • a service node fails, other service nodes are still available without failure.
  • a cluster communication node fails, other clusters Communication nodes are still available.
  • This method can ensure the continuous operation of the cluster system as a whole.
  • the system can also transfer faults, continue to serve users, and improve the availability and reliability of the system (the availability reliability mainly refers to the average time between failures of a system, that is, the time spent in productive activities accounts for Compare).
  • the highly reliable video conferencing system provided by the embodiment of the present application can improve the performance by changing the structure of the system and the like.
  • all software, hardware and other supporting structures used to provide services can be regarded as resources.
  • increasing the storage components used increasing the number of service nodes, upgrading software or even changing the system architecture, To meet the requirements of HRVC system for large load capacity and real-time and high-efficiency transmission.
  • the HRVC system proposed in this application realizes the expansion of the original HRVC system, and solves its shortcomings such as low operating efficiency, small user capacity, and poor scalability.
  • it also incorporates mechanisms such as load balancing, failover, node dynamic management, and shared data flow allocation, which optimizes the video conferencing system architecture, improves system reliability and scalability, and satisfies users.
  • load balancing failover
  • node dynamic management node dynamic management
  • shared data flow allocation which optimizes the video conferencing system architecture, improves system reliability and scalability, and satisfies users.
  • the demand for large load capacity and real-time and high-efficiency transmission can effectively work in a low-bandwidth network environment.
  • the highly reliable video conferencing system provided by the embodiment of this application is developed based on the Red5 streaming media server and is a Web video conferencing system supported by the network system of the Zhirong logo.
  • the system uses Flash to develop the human-computer interaction interface, realizes the background management of the server based on Java EE technology, and conducts data interaction with the client through protocols such as HTTP and RTMP.
  • the service supports multiple functions such as audio and video communication, electronic whiteboard, text chat, document conversion, and desktop sharing. It has various room modes such as meeting rooms and chat rooms on the web page. Users only need to install flash on the client side. browser, you can directly open the video conferencing webpage to obtain corresponding services.
  • Fig. 1 is a structural block diagram of a highly reliable video conferencing system according to an embodiment of the present application
  • FIG. 2 is a flowchart of a control method of a highly reliable video conferencing system according to an embodiment of the present application
  • Fig. 3 is a schematic structural diagram of a computer-readable storage medium provided according to an embodiment of the present application.
  • the embodiment of the present application provides a highly reliable video conferencing system, as shown in Figure 1, including: a cluster scheduling node, multiple cluster communication nodes, and multiple cluster service nodes, and the cluster scheduling node obtains the service connection request sent by the client , select the target cluster communication node according to the cluster load, and send the service connection request to the target cluster communication node; the target cluster communication node establishes a connection with the client according to the service connection request; the cluster scheduling node sends the The target cluster communication node forwards the service request sent by the client, the target cluster communication node selects a target cluster service node according to cluster load balancing, and sends a service acquisition to the target cluster service node according to the uniform resource location address in the service request information; the target cluster service node returns service information to the target cluster communication node according to the service acquisition information; the target cluster communication node sends the service information to the client.
  • the highly reliable video conferencing system provided by the embodiment of the present application is equipped with cluster scheduling nodes, cluster communication nodes, and cluster service nodes, and realizes efficient transmission of video conference service information through communication between nodes; at the same time, the system incorporates load balancing
  • the cluster scheduling node selects the optimal target cluster communication node for information transmission according to the cluster load, so that the system can effectively work in a low-bandwidth network environment and meet the user's demand for real-time and efficient transmission.
  • the cluster scheduling node (Group Dispatch Node, GDN) serves as the access entrance of the High Reliable Video Conference System (HRVC, High Reliable Video Conference), connects downward with the client, and connects upward It is connected with the cluster communication node, and is also responsible for controlling and managing the entire cluster system.
  • HRVC High Reliable Video Conference System
  • the service request is sent to the cluster scheduling node.
  • the cluster scheduling node can dynamically monitor the internal load of the cluster and select the optimal cluster communication node as the target communication node to forward the client request.
  • the cluster scheduling node can also detect the connection status between the cluster communication nodes inside the system, and automatically complete the isolation of the faulty node.
  • the cluster scheduling node can also reduce the transmission of redundant data within the system network, and can allocate data flow between communication nodes in the cluster, and cache shared data.
  • the knowledge base in the Zhirong ID network can query the identity, performance parameters and other information of the cluster scheduling nodes.
  • the Zhirong identification network vertically correlates the service level of the existing Internet with the network level, so as to facilitate the coordinated mobilization and intelligent integration of resources in service and cyberspace.
  • Smart Financial Identity Network horizontally decouples “service space” and “cyberspace”, including the “smart plane” composed of service smart objects and network smart objects, and the “smart plane” composed of service operation objects and network operation objects.
  • the "running plane” of the platform realizes the separation of “control management” and “function execution”, which facilitates the dynamic and on-demand adjustment of services and networks.
  • ID is the unique identity symbol of the service/network object in the entire network
  • SA is the static multi-dimensional attribute quantification information of the service/network object, such as CPU Performance, memory capacity, link bandwidth, required security level, required quality of service level, etc.
  • the service/network object knowledge base is used to collect dynamic multi-dimensional attribute quantification information of service/network objects.
  • the cluster communication node (Group Communication Node, GCN) is connected downward to the cluster scheduling node and upward to the cluster service node.
  • the function of information exchange agent is realized.
  • the cluster communication node receives the service connection request forwarded from the cluster scheduling node and establishes a session connection with the client (Client), and then obtains the corresponding service from the cluster service node, which can effectively share the cluster Concurrent load of service nodes.
  • the working mode used by the cluster communication nodes is the working mode of the connection state machine, which can isolate faults, that is, if a cluster communication node fails, other nodes in the cluster can also operate normally, and the system has a high fault tolerance rate.
  • the HRVC video conferencing application is deployed on the cluster service node (Group Service Node, GSN), and is connected downward to the cluster communication node, which is the actual provider of the service.
  • Information sharing will not be carried out between multiple cluster service nodes, it distributes video conference content access services according to access rules, and the access rules are established by cluster communication nodes under the cluster framework.
  • Information such as the identity and performance parameters of cluster service nodes can be queried in the knowledge base in the Zhirong Identification Network.
  • corresponding application software is deployed on the cluster scheduling node, cluster communication node, and cluster service node, and the main functions of the system are realized through software control.
  • the application software deployed on the cluster scheduling nodes is Apache or Terracotta Server.
  • the application software deployed on the cluster communication nodes is Red5 or Terracotta Driver.
  • the application software deployed on the cluster service nodes is Red5.
  • the Apache component (GDN Apache ) on the cluster scheduling node and the Red5 embedded Jetty component (referred to as GCN Red5 Jetty ) on the cluster communication node constitute a highly reliable video conferencing system
  • the access control module is responsible for load balancing and failover in the system. Specifically, when a client sends a service connection request to the system, the GDN Apache component intercepts the service connection request. This component then transparently transmits the message to the appropriate Red5 embedded Jetty component in GCN. Next, the GCN Red5 Jetty component provides a web server to receive and process the request message sent by the client through the web server.
  • the GDN Apache component is the control and scheduling center of the access control module, without changing the client, which ensures the relative independence between the client and the server.
  • a plurality of GCN Red5 Jetty forms a load balancing group
  • the GDN Apache component is responsible for maintaining the load balancing group, uniformly managing the Web response service provided by GCN Red5 Jetty , and is the control dispatching center of the access control module. If you need to add a new GCN Red5 Jetty component to the load balancing group, you need to register in advance.
  • the control dispatch center GDN Apache is responsible for intercepting the client's request to the service connection, querying the load status of GCN Red5 Jetty in the current cluster, selecting the optimal node, and then connecting the client's service to The request is forwarded to the Target node; the Target GCN Red5 Jetty of this node receives and processes the forwarded service connection request, and establishes a connection with the Client.
  • GCN Red5 Jetty establishes a connection with the client, it actively sends load information to GDN Apache , and GDN Apache updates the GCN Red5 Jetty load information maintained by itself according to the load changes of GCN Red5 Jetty .
  • the access control module can also realize the failover mechanism of the system, specifically by replicating session information between each GCN Red5 Jetty , that is, synchronizing session information between each GCN Red5 Jetty and its backup node .
  • GCN Red5 Jetty when the client client establishes a connection with GCN Red5 Jetty , GCN Red5 Jetty will create the session state information of the connection in memory, and generate a unique identifier Session ID according to the session state information, and send the unique identifier to the client end, and back up the session state information to other GCN Red5 Jetty every preset time.
  • control and scheduling center GDN Apache When the control and scheduling center GDN Apache detects that GCN Red5 Jetty has failed, it can control the backup GCN Red5 Jetty in the load balancing group to process the next Client request. Since the session state information has been backed up, the newly established connection between the client and the backup GCN Red5 Jetty can restore and correctly process the previous session state.
  • the cluster communication node and the cluster service node constitute a service providing module of the system.
  • the Red5 software is installed on the cluster communication nodes and the cluster service nodes, and the GCN is set as the Edge node in the Red5 cluster, denoted as GCN Edge ; the GSN corresponds to the Origin node, on which the HRVC video conferencing application is deployed, denoted as For GSN Origin .
  • the Red5 embedded Mina components in different GCN nodes are connected and information exchanged with the Red5 embedded Mina components in different GSN nodes.
  • the new cluster communication node when a new cluster communication node is added to the Red5 cluster, the new cluster communication node broadcasts an access message and initiates a connection to the corresponding cluster service node; at the same time, after the connection, all nodes will update Own correspondence list.
  • the new cluster service node When a new cluster service node is added in the Red5 cluster, the new cluster service node broadcasts to connect with the relevant cluster communication node.
  • the GCN Edge node associated with this node will automatically connect to it, and if the connection fails, it will reconnect every once in a while. It should be noted here that there is no information exchange between different GSN Origin nodes.
  • the GCN Edge and GSN Origin nodes in the Red5 cluster will start related processes to regularly query and monitor the connection status of other nodes. If a new node joins or exits, this mode can ensure timely updates Communication list for each node.
  • the cluster communication node after the cluster communication node establishes a connection with the client, it listens to the service request of the client according to Red5, and after receiving the service request of the client, starts a related process to regularly and continuously connect to the corresponding cluster At the same time, the cluster service node establishes a monitor and waits for a connection from the cluster communication node. After the connection is established, the cluster communication node sends the service request to the cluster service node, and waits for the requested resource to be returned; after receiving the request message, the cluster service node returns the requested resource to the cluster communication node. The cluster communication node forwards the returned requested resource to the client client.
  • the GCN Edge node will maintain a cache area. When receiving a data packet from GSN Origin , the node can store it in the cache area. If there is a request from the client, the GCN Edge node can quickly reply to it. If the cache does not have the resources the client wants, GCN Edge will request data packets from GSN Origin .
  • the request packet sent by GCN Edge to GSN Origin includes many types, including not only the actual data packet, but also the metadata packet. For some data packets such as audio and video data packets, the GSN Origin node will send some metadata packets with index numbers to the GCN Edge to maintain the buffer and will not send the actual content.
  • the above caching process can be implemented in the following manner: the client sends a service request to GCN, and the data is received in the cache of the Edge component of Red5 in GCN. Secondly, the Edge component of Red5 in GCN interacts with the Origin component of Red5 in GSN, and GSN returns corresponding service information to GCN. Next, GCN returns service information to Client.
  • the cluster scheduling node and the cluster communication node constitute a shared data management module of the system.
  • the shared data management module implements shared data within the system, thereby reducing the data transmission process.
  • the data between the GDN and each GCN can be managed in a unified manner through the Terracotta cluster and the Red5 cluster to realize data sharing.
  • the Terracotta cluster has a master mode and a slave mode.
  • GCN acts as the master mode, which is recorded as GCN Terracotta Driver
  • GDN is configured as a slave mode, which is recorded as GDN Terracotta Server .
  • the data management mechanism in the shared data management module can be implemented in the following manner: when the cluster scheduling node sends the client's service request to the target cluster communication node, the target communication node will return the cluster service node's service request according to the service request. Service information, then generate shared data according to the received service request and the returned service information, and send the shared data to the cluster scheduling node; when other cluster communication nodes receive the same service request as in the shared data, from The cluster scheduling node acquires the shared data and responds to the service request.
  • the shared information generated by GCN is managed and scheduled by GDN in a unified manner, without broadcasting to other GCNs in the cluster.
  • GDN can deliver shared data information according to the service requirements of GCN.
  • the cluster has no shared information changes or receives service requests, there is no data transmission between GCN nodes, which can greatly reduce the load pressure on the HRVC internal network and meet
  • the existing video conferencing system requires high throughput, so that it can work effectively in a large-scale and high-load network environment.
  • the highly reliable video conferencing system provided by the embodiment of the present application adopts Red5 as the server carrying the HRVC application program, and performs cluster management on it through external interconnection and dynamic injection.
  • the HRVC application program As far as the system is concerned, there is no need to change the HRVC application program, which improves the flexibility of the system structure and reduces the complexity of deployment.
  • For users there is not much difference between the service provided by the original node and the service provided by the HRVC system, but the performance of the latter has been greatly improved.
  • the highly reliable video conferencing system provided by the embodiment of this application, multiple service nodes exist and work together at the same time.
  • a service node fails, other service nodes are still available without failure.
  • a cluster communication node fails, other clusters Communication nodes are still available.
  • This method can ensure the continuous operation of the cluster system as a whole.
  • the system can also transfer faults, continue to serve users, and improve the availability and reliability of the system (the availability reliability mainly refers to the average time between failures of a system, that is, the time spent in productive activities accounts for Compare).
  • the highly reliable video conferencing system provided by the embodiment of the present application can improve the performance by changing the structure of the system and the like.
  • all software, hardware and other supporting structures used to provide services can be regarded as resources.
  • increasing the storage components used increasing the number of service nodes, upgrading software or even changing the system architecture, To meet the requirements of HRVC system for large load capacity and real-time and high-efficiency transmission.
  • the HRVC system proposed in this application realizes the expansion of the original HRVC system, and solves its shortcomings such as low operating efficiency, small user capacity, and poor scalability.
  • it also incorporates mechanisms such as load balancing, failover, node dynamic management, and shared data flow allocation, which optimizes the video conferencing system architecture, improves system reliability and scalability, and satisfies users.
  • load balancing failover
  • node dynamic management node dynamic management
  • shared data flow allocation which optimizes the video conferencing system architecture, improves system reliability and scalability, and satisfies users.
  • the demand for large load capacity and real-time and high-efficiency transmission can effectively work in a low-bandwidth network environment.
  • the highly reliable video conferencing system provided by the embodiment of this application is developed based on the Red5 streaming media server and is a Web video conferencing system supported by the network system of the Zhirong logo.
  • the system uses Flash to develop the human-computer interaction interface, realizes the background management of the server based on Java EE technology, and conducts data interaction with the client through protocols such as HTTP and RTMP.
  • the service supports multiple functions such as audio and video communication, electronic whiteboard, text chat, document conversion, and desktop sharing. It has various room modes such as meeting rooms and chat rooms on the web page. Users only need to install flash on the client side. browser, you can directly open the video conferencing webpage to obtain corresponding services.
  • the embodiment of the present application also provides a control method of a highly reliable video conferencing system. As shown in FIG. 2, the control method can be applied to the highly reliable video conferencing system in the above embodiment, and the control method includes the following steps:
  • Step S101 Control the cluster dispatch node to obtain the service connection request sent by the client; wherein, the cluster dispatch node (Group Dispatch Node, GDN) serves as the access entrance of the high-reliability video conferencing system (HRVC, High Reliable Video Conference), and communicates downward with the client Connected to the terminal, connected upward to the cluster communication node, and also responsible for controlling and managing the entire cluster system.
  • the cluster scheduling node can dynamically monitor the internal load of the cluster and select the optimal cluster communication node as the target communication node to forward the client request.
  • the cluster scheduling node can also detect the connection status between the cluster communication nodes inside the system, and automatically complete the isolation of the faulty node.
  • the cluster scheduling node can also reduce the transmission of redundant data within the system network, and can allocate data flow between communication nodes in the cluster, and cache shared data.
  • the knowledge base in the Zhirong ID network can query the identity, performance parameters and other information of the cluster scheduling nodes.
  • Step S102 control to send the service connection request to the target cluster communication node, the target cluster communication node is selected according to the cluster load; wherein, the cluster communication node (Group Communication Node, GCN) is connected downward with the cluster scheduling node, and upward with the cluster scheduling node Cluster service nodes are connected, and the function of information exchange agent is realized in this system.
  • the cluster communication node receives the service connection request forwarded from the cluster scheduling node and establishes a session connection with the client (Client), and then obtains the corresponding service from the cluster service node, which can effectively share the cluster Concurrent load of service nodes.
  • the working mode used by the cluster communication nodes is the working mode of the connection state machine, which can isolate faults, that is, if a cluster communication node fails, other nodes in the cluster can also operate normally, and the system has a high fault tolerance rate.
  • Step S103 Control the target cluster communication node to establish a connection with the client according to the service connection request; specifically, when establishing a connection, the Client and the target cluster communication node implement a protocol handshake, and the cluster communication node will establish a connection and maintain the current
  • the connection state enables mutual connection within the scope displayed by the URL of the uniform resource location.
  • the uniform resource location address is URL (Uniform Resource Locator), and the address is included in the service connection request sent by the client.
  • Step S104 Control the cluster scheduling node to forward the service request sent by the client to the target cluster communication node; specifically, after the target cluster communication node establishes a connection with the client, the cluster scheduling node can forward the service request sent by the client to the target cluster communication node.
  • a service request is sent to the target communication node.
  • the service request may be request information sent by the client requesting service resources.
  • Step S105 Control the target cluster communication node to select a target cluster service node according to cluster load balancing, and send service acquisition information to the target cluster service node according to the uniform resource location address in the service request.
  • the cluster communication node uses the uniform resource location address sent by the Client, and then obtains corresponding services from the cluster service node.
  • the cluster communication node selects the cluster service node to obtain service information, it may select the corresponding cluster service node according to the load balancing principle, and send the service acquisition information to it.
  • Step S106 Control the cluster service node to return service information to the target cluster communication node according to the service acquisition information; specifically, the cluster service node allocates video conference content access services according to access rules, and returns service information to the cluster communication node .
  • Step S107 controlling the target cluster communication node to send the service information to the client.
  • the control method of the highly reliable video conferencing system provided by the embodiment of the present application adopts cluster scheduling nodes, cluster communication nodes and cluster service nodes, and realizes efficient transmission of video conference service information through communication between nodes; at the same time, in the system Incorporating the load balancing mechanism, the cluster scheduling node selects the optimal target cluster communication node for information transmission according to the cluster load, so that the system can effectively work in a low-bandwidth network environment and meet the user's needs for real-time and efficient transmission.
  • the embodiment of the present application also provides a storage medium, as shown in FIG. 3 , on which a computer program 601 is stored.
  • a storage medium as shown in FIG. 3 , on which a computer program 601 is stored.
  • the storage medium also stores audio and video stream data, feature frame data, interaction request signaling, encrypted data, and preset data sizes.
  • the storage medium can be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a flash memory (Flash Memory), a hard disk (Hard Disk Drive) , abbreviation: HDD) or solid-state hard disk (Solid-State Drive, SSD) etc.;
  • the storage medium may also include a combination of the above-mentioned types of memory.
  • the storage medium can be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a flash memory (Flash Memory), a hard disk (Hard Disk) Disk Drive, abbreviation: HDD) or solid-state hard drive (Solid-State Drive, SSD) etc.;
  • the storage medium can also include the combination of above-mentioned types of memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种高可靠视频会议系统及其控制方法、存储介质,该系统包括:集群调度节点获取客户端发送的服务连接请求,根据集群负载选取目标集群通信节点,将服务连接请求发送至目标集群通信节点;目标集群通信节点根据服务连接请求与客户端建立连接;集群调度节点向目标集群通信节点转发客户端发送的服务请求,目标集群通信节点根据集群负载均衡选择目标集群服务节点,向目标集群服务节点发送服务获取信息;集群服务节点根据服务获取信息向目标集群通信节点返回服务信息;目标集群通信节点将服务信息返回。实现了视频会议服务信息的高效传输;且该系统能够有效工作于低带宽的网络环境中,满足了用户对传输实时高效的需求。

Description

一种高可靠视频会议系统及其控制方法、存储介质 技术领域
本申请涉及计算机网络应用服务技术领域,具体涉及一种高可靠视频会议系统及其控制方法、存储介质。
背景技术
当前多媒体网络通信技术飞速发展,视频会议技术发展迅速且日臻成熟,运用领域也更加广泛。首先,随着国际标准化组织制订一系列关于视频编码的标准,尤其是ISO/IEC的MPEG4标准的制定,在低带宽网络上为视频会议提供高画质图像成为可能。其次,由于可用带宽不断增加、网络性能不断改善、计算机和个人移动终端的广泛普及,让人们更加倾向于将以往线下的会议变更为线上进行。由此,基于软件的视频会议系统正在快速平稳的发展,已经在各行各业得到了广泛的部署应用。
基于软件的视频会议Web化是近两年来多媒体行业发展的一大热点方向,Web化的视频会议是用户无需提前在客户端下载软件或安装插件,也不用降低系统安全级别或担心浏览器的版本兼容性问题。直接打开视频会议网页,即可全方位进行基于音频、视频和数据的交互,这种方式大大降低了视频会议的交互难度。
传统既有系统大多以单服务器模式工作,部署相对简单。然而随着应用规模的扩大和用户数量的增多,该服务逐渐暴露出运行效率不高、用户容量小、扩展性差等缺点。因此,十分有必要研究满足高负载容量、实时高效传输等需求的视频会议系统。
发明内容
有鉴于此,本申请实施例提供了涉及一种高可靠视频会议系统及其控制方法、存储介质,以解决现有技术中的视频会议系统传输效率较低的技术问题。
本申请提出的技术方案如下:
本申请实施例第一方面提供一种高可靠视频会议系统,包括:集群调度节点、多个集群通信节点以及多个集群服务节点,所述集群调度节点获取客户端发送的服务连接请求,根据集群负载选取目标集群通信节点,将所述服务连接请求发送至所述目标集群通信节点;所述目标集群通信节点根据所述服务连接请求与客户端建立连接;所述集群调度节点向所述目标集群通信节点转发所述客户端发送的服务请求,所述目标集群通信节点根据集群负载均衡选择目标集群服务节点,根据所述服务请求中的统一资源定位地址向所述目标集群服务节点发送服务获取信息;所述目标集群服务节点根据所述服务获取信息向所述目标集群通信节点返回服务信息;所述目标集群通信节点将所述服务信息发送至所述客户端。
可选地,所述集群调度节点包括Apache组件,所述集群通信节点包括Jetty组件,多个Jetty组件构成负载均衡组,Apache组件管理所述负载均衡组,所述Apache组件接收客户端发送的服务连接请求,根据所述服务连接请求查询所述负载均衡组中各Jetty组件负载情况,确定目标集群通信节点;所述Apache组件根据所述目标集群通信节点的负载变化,更新负载均衡组中的负载信息。
可选地,所述目标集群通信节点根据所述服务连接请求与客户端建立连接后,在内存中创建连接的会话状态信息,根据所述会话状态信息向所述客户端发送唯一标识,并将所述会话状态信息备份到其他集群通信节点;所述Apache组件检测到所述目标集群通信节点的Jetty组件发生故障后,控制备份的集群通信节点处理所述客户端的服务请求。
可选地,所述集群通信节点和集群服务节点中均安装Red5软件,所述集群通信节点为Red5集群中的Edge节点,所述集群服务节点为Red5集群中的Origin节点,集群通信组件根据Red5嵌入式Mina组件与对应集群服务节点连接;当Red5集群中增加新的集群通信节点时,新的集群通信节点广播接入消息,并向对应的集群服务节点发起连接;当Red5集群中增加新的集群服务节点时,相关的集群通信节点与新的集群服务节点连接。
可选地,所述集群通信节点与所述客户端建立连接后,根据Red5监听客户端的服务请求,当接收到所述客户端的服务请求后,与对应的集群服务节点建立连接,将所述服务请求发送至所述集群服务节点;所述集群服务节点根据所述服务请求返回请求资源。
可选地,所述集群通信节点接收到所述集群服务节点返回的服务信息时,将服务信息中的数据包保存在缓存区;所述集群通信节点接收到新的服务请求时,判断所述缓存区中是否存在所述服务请求对应的数据包括,当存在时,将缓存区中的数据包发送至所述客户端。
可选地,所述目标集群通信节点根据接收的服务请求以及返回的服务信息生成共享数据,将所述共享数据发送至所述集群调度节点;当其他集群通信节点接收到与共享数据中相同的服务请求时,从所述集群调度节点获取所述共享数据,对所述服务请求进行应答。
可选地,所述集群通信节点的工作方式为连接状态机的工作方式;所述集群服务节点上部署视频会议应用程序,根据访问规则分配视频会议内容访问服务;所述集群服务节点和所述集群调度节点的身份标识和性能参数保存在智融标识网络的知识库中。
本申请实施例第二方面提供一种高可靠视频会议系统的控制方法,包括:控制集群调度节点获取客户端发送的服务连接请求;控制将所述服务连接请求 发送至目标集群通信节点,所述目标集群通信节点根据集群负载选取;控制所述目标集群通信节点根据所述服务连接请求与客户端建立连接;控制所述集群调度节点向所述目标集群通信节点转发所述客户端发送的服务请求;控制所述目标集群通信节点根据集群负载均衡选择目标集群服务节点,根据所述服务请求中的统一资源定位地址向所述目标集群服务节点发送服务获取信息;控制所述目标集群服务节点根据所述服务获取信息向所述目标集群通信节点返回服务信息;控制所述目标集群通信节点将所述服务信息发送至所述客户端。
本申请实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本申请实施例第二方面及第二方面任一项所述的高可靠视频会议系统。
本申请提供的技术方案,具有如下效果:
本申请实施例提供的高可靠视频会议系统及其控制方法、存储介质,设置集群调度节点、集群通信节点以及集群服务节点,通过节点之间的通信实现了视频会议服务信息的高效传输;同时,该系统中融入了负载均衡机制,集群调度节点根据集群负载选择最优的目标集群通信节点进行信息传输,使得该系统能够有效工作于低带宽的网络环境中,满足了用户对传输实时高效的需求。
本申请实施例提供的高可靠视频会议系统,采用Red5作为承载HRVC应用程序的服务器,对其以外部互联及动态注入的方式进行集群管理。对系统而言,不需改动HRVC应用程序,在提高了系统结构的灵活性的同时降低了部署的复杂度。对于用户而言,原来节点提供的服务和HRVC系统提供的服务没有太大区别,但是后者性能相比得到了较大的提高。
本申请实施例提供的高可靠视频会议系统,多个服务节点同时存在并协同工作,当某个服务节点发生故障时,其他服务节点未发生故障仍然可用,如一个集群通信节点发生故障,其他集群通信节点仍旧可用。该方式能够保证集群 系统整体的继续运行。同时,该系统还能够对故障进行转移,延续对用户的服务,提高了系统的可用可靠性(该可用可靠性主要指的是一个系统平均无故障时间,即从事生产性活动时使用的时间占比)。
本申请实施例提供的高可靠视频会议系统,可以通过改变系统的结构等来提高性能。在该系统中,用于提供服务的一切软件、硬件和其它配套的结构,都可以视作资源,可以通过增加使用的存储部件,增加服务节点的数量,升级软件甚至是改变系统的体系结构,来满足HRVC系统对大负载容量、传输实时高效的需求。
本申请提出的HRVC系统,实现对原HRVC系统的扩展,解决了其运行效率不高、用户容量小和扩展性差等缺点。除能够提供视频会议服务外,还融入了负载均衡、故障转移、节点动态管理、共享数据流调配等机制,优化了视频会议的体系架构,提高了系统的可靠性及可扩展性,满足了用户对大负载容量、传输实时高效的需求,能有效工作于低带宽的网络环境中。
本申请实施例提供的高可靠视频会议系统,基于Red5流媒体服务器开发、是智融标识网络体系下支持的Web视频会议系统。该系统采用Flash开发人机交互界面,基于Java EE技术实现服务器的后台管理,通过HTTP、RTMP等协议与客户端进行数据的交互。该服务支持音视频通信、电子白板、文字聊天、文档转换和桌面共享等多种功能,在网页端具有会议室、聊天室等多种形式的房间模式,用户只需要在客户端使用安装了flash的浏览器,就可以直接打开视频会议网页,获取相应的服务。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来 讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的高可靠视频会议系统的结构框图;
图2是根据本申请实施例的高可靠视频会议系统的控制方法流程图;
图3是根据本申请实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种高可靠视频会议系统,如图1所示,包括:集群调度节点、多个集群通信节点以及多个集群服务节点,所述集群调度节点获取客户端发送的服务连接请求,根据集群负载选取目标集群通信节点,将所述服务连接请求发送至所述目标集群通信节点;所述目标集群通信节点根据所述服务连接请求与客户端建立连接;所述集群调度节点向所述目标集群通信节点转发所述客户端发送的服务请求,所述目标集群通信节点根据集群负载均衡选择目标集群服务节点,根据所述服务请求中的统一资源定位地址向目标集群服务节点发送服务获取信息;所述目标集群服务节点根据所述服务获取信息向所述目标集群通信节点返回服务信息;所述目标集群通信节点将所述服务信息发送至所述客户端。
本申请实施例提供的高可靠视频会议系统,设置集群调度节点、集群通信节点以及集群服务节点,通过节点之间的通信实现了视频会议服务信息的高效 传输;同时,该系统中融入了负载均衡机制,集群调度节点根据集群负载选择最优的目标集群通信节点进行信息传输,使得该系统能够有效工作于低带宽的网络环境中,满足了用户对传输实时高效的需求。
作为本申请实施例的一种可选地实施方式,集群调度节点(Group Dispatch Node,GDN)作为高可靠视频会议系统(HRVC,High Reliable Video Conference)的访问入口,向下与客户端连接,向上与集群通信节点相连接,同时也负责控制管理整个集群系统。当客户端向系统发出服务请求时,该服务请求发送至集群调度节点,集群调度节点能够动态监测集群内部负载的情况并选择最优的集群通信节点作为目标通信节点转发客户端请求。并且,集群调度节点还能检测系统内部的各集群通信节点之间的连接状态,自动完成对故障节点的隔离。另外,集群调度节点还能减少系统网络内部冗余数据的传输,能够调配集群中各通信节点之间的数据流向,缓存共享数据。在智融标识网络中的知识库可以查询到集群调度节点的身份标识、性能参数等信息。
其中,智融标识网络将现有互联网的服务层面与网络层面进行纵向关联,以便于服务与网络空间对其所属资源进行协同调动与智慧融合。同时,“智融标识网络”将“服务空间”与“网络空间”进行横向解耦,包括由服务智慧对象和网络智慧对象构成的“智慧平面”,以及包括由服务运行对象和网络运行对象构成的“运行平面”,以实现“控制管理”与“功能执行”的分离,便于服务与网络的动态按需调整。此外,“智融标识网络”引入包含服务/网络对象标识库以及服务/网络对象知识库的“知识空间”,以标识各类实体与虚拟对象,并对其静态与动态属性特征、需求描述进行细粒度说明。其中,服务/网络对象标识库含ID(IDentifier)和SA(Static Attribute)两类信息,ID为服务/网络对象的全网唯一身份符号;SA为服务/网络对象静态多维属性量化信息,如CPU性能、内存容量、链路带宽、所需安全等级、所需服务质量等级等。服务/网络对象知识库则用于收集服务/网络对象的动态多维属性量化信息。
集群通信节点(Group Communication Node,GCN)向下与集群调度节点连接,向上与集群服务节点相连接,在该系统中实现的是信息交互代理的功能。当客户端向系统发出服务请求时,集群通信节点接收来自集群调度节点转发的服务连接请求并建立与客户端(Client)的会话连接,然后从集群服务节点获取相应的服务,这样能够有效分担集群服务节点的并发负载。此外,集群通信节点使用的工作方式是连接状态机的工作方式,这样能够隔离故障,即若某个集群通信节点出了故障,集群中其他节点也能够正常运行,系统容错率较高。
集群服务节点(Group Service Node,GSN)上部署HRVC视频会议应用程序,向下与集群通信节点连接,是服务的实际提供者。多个集群服务节点之间不会进行信息共享,它根据访问规则来分配视频会议内容访问服务,访问规则是集群通信节点在集群框架下建立的。集群服务节点的身份标识、性能参数等信息可在智融标识网络中的知识库进行查询。
在一实施方式中,集群调度节点、集群通信节点以及集群服务节点上均部署相应的应用软件,通过软件控制的方式实现系统的主要功能。其中,集群调度节点上部署的应用软件为Apache或Terracotta Server。集群通信节点上部署的应用软件为Red5或Terracotta Driver。集群服务节点上部署的应用软件为Red5。
作为本申请实施例的一种可选地实施方式,集群调度节点上的Apache组件(GDN Apache)以及集群通信节点上的Red5嵌入式Jetty组件(记作GCN Red5 Jetty)构成高可靠视频会议系统的接入控制模块,用于负责系统中的负载均衡和故障转移。具体地,当客户端向该系统发送服务连接请求时,GDN Apache组件拦截该服务连接请求。之后,该组件将消息透明传输给GCN中合适的Red5嵌入式Jetty组件。接着,GCN Red5 Jetty组件提供Web服务器,通过Web服务器来接收并处理客户端发送的请求消息。GDN Apache组件是接入控制模块的控制调度中心,不用对客户端进行改动,保证了客户端与服务器之间的相对独立性。
在一实施方式中,多个GCN Red5 Jetty组成一个负载均衡组,GDN Apache组件负责维持该负载均衡组,统一管理GCN Red5 Jetty提供的Web响应服务,是接入控制模块的控制调度中心。如果需要在负载均衡组添加新的GCN Red5 Jetty组件,需要提前注册。具体地,当客户端Client发出HTTP服务连接请求,控制调度中心GDN Apache负责拦截客户端到服务连接请求,查询当前集群中GCN Red5 Jetty的负载情况,选取最优节点,然后再将Client的服务连接请求转发给该Target节点;该节点Target GCN Red5 Jetty接收并处理转发来的服务连接请求,与Client建立连接。此外,GCN Red5 Jetty与客户端建立连接后,主动向GDN Apache发送负载信息,GDN Apache根据GCN Red5 Jetty的负载变化情况,更新自身所维护的GCN Red5 Jetty负载信息。
在一实施方式中,接入控制模块还能实现系统的故障转移机制,具体通过在各个GCN Red5 Jetty之间进行会话信息复制,即在每个GCN Red5 Jetty和它的备份节点之间同步会话信息。具体地,当客户端Client与GCN Red5 Jetty建立连接后,GCN Red5 Jetty将在内存中创建该连接的会话状态信息,同时根据该会话状态信息生成一个唯一标识Session ID,将该唯一标识发送至客户端,并将该会话状态信息每隔预设时间备份到其他GCN Red5 Jetty。当控制调度中心GDN Apache检测到GCN Red5 Jetty发生故障后,能够控制负载均衡组里的备份GCN Red5 Jetty紧接着处理下一个Client请求发送。由于已经备份会话状态信息,因此客户端与备份GCN Red5 Jetty新建立的连接可以恢复并正确地处理之前的会话状态。
作为本申请实施例的一种可选地实施方式,集群通信节点和集群服务节点构成系统的服务提供模块。其中,集群通信节点和集群服务节点上均安装了Red5软件,GCN被设置为Red5集群中的Edge节点,记作GCN Edge;GSN对应的则是Origin节点,其上部署HRVC视频会议应用程序,记作GSN Origin。在实现服务提供功能时,不同GCN节点中Red5嵌入式Mina组件与不同GSN节点中Red5嵌入式Mina组件进行连接以及信息交互。
在一实施例方式中,当Red5集群中增加新的集群通信节点时,新的集群通信节点广播接入消息,并向对应的集群服务节点发起连接;同时,在连接后,所有的节点会更新自己的通信列表。当Red5集群中增加新的集群服务节点时,新的集群服务节点广播与相关的集群通信节点进行连接。与该节点相关的GCN Edge节点会自动与其连接,如果连接失败,则每过一段时间重新进行连接。这里需要注意的是,不同的GSN Origin节点之间不进行信息交互。在服务提供模块的工作过程中,Red5集群中的GCN Edge与GSN Origin节点会启动相关进程来定期不断查询监听其他节点的连接状态,如果有某个节点新加入或退出,这个模式能保证及时更新各节点的通信列表。
在一实施方式中,所述集群通信节点与所述客户端建立连接后,根据Red5监听客户端的服务请求,当接收到所述客户端的服务请求后,启动相关进程来定期不断地连接对应的集群服务节点,同时集群服务节点建立监听,等待来自集群通信节点的连接。在建立连接后,集群通信节点将所述服务请求发送至所述集群服务节点,等待返回被请求资源;集群服务节点接收到该请求消息后,返回被请求的资源给集群通信节点。集群通信节点将返回的请求资源转发给客户端Client。
在一实施方式中,GCN Edge节点会维护一个缓存区,当接收到来自GSN Origin的数据包时,该节点可以将其存储在缓存区中,如果有来自客户端的请求,GCN Edge节点可以很快的对其进行回复。如果缓存区没有客户端想要的资源,GCN Edge才会向GSN Origin请求数据包。GCN Edge向GSN Origin发送的请求数据包中包括很多类型,除实际的数据包外,也包含元数据包。对于一些数据包比如音视频数据包,GSN Origin节点会发送一些带有索引号的元数据包给GCN Edge,用于维护缓冲区,不会发送实际内容。
具体地,上述缓存过程可以按照如下方式实现:客户端Client向GCN发送服务请求,数据接收到GCN中的Red5的Edge组件的高速缓存中。其次,GCN 中的Red5的Edge组件与GSN中Red5的Origin组件进行信息交互,GSN向GCN返回相应的服务信息。接着,GCN向Client返回服务信息。
作为本申请实施例的一种可选地实施方式,集群调度节点和集群通信节点构成了该系统的共享数据管理模块。该共享数据管理模块实现系统内部的共享数据,从而减少了数据传输过程。其中,由于集群通信节点上部署了Red5,集群调度节点上部署了Terracotta组件,由此,通过Terracotta集群和Red5集群可以统一管理GDN与各GCN之间的数据,实现数据共享。具体地,Terracotta集群工作模式有主模式和从模式,GCN充当主模式,记为GCN Terracotta Driver,GDN被配置为从模式,记为GDN Terracotta Server
在一实施方式中,共享数据管理模块中数据管理机制可以按照以下方式实现:当集群调度节点将客户端的服务请求发送至目标集群通信节点时,目标通信节点会根据该服务请求返回集群服务节点的服务信息,然后根据接收的服务请求以及返回的服务信息生成共享数据,并将所述共享数据发送至所述集群调度节点;当其他集群通信节点接收到与共享数据中相同的服务请求时,从所述集群调度节点获取所述共享数据,对所述服务请求进行应答。
由此,GCN产生的共享信息由GDN统一进行管理与调度,不必通过广播方式通知集群中的其他GCN。GDN能够根据GCN的服务需求来交付共享数据信息,在集群没有共享信息变更或收到服务请求时,各GCN节点之间是没有数据的传输,这样就可以大大减轻HRVC内部网络的负载压力,满足现有视频会议系统对高吞吐量的需求,使之能有效工作于大规模高负载的网络环境中。
本申请实施例提供的高可靠视频会议系统,采用Red5作为承载HRVC应用程序的服务器,对其以外部互联及动态注入的方式进行集群管理。对系统而言,不需改动HRVC应用程序,在提高了系统结构的灵活性的同时降低了部署的复杂度。对于用户而言,原来节点提供的服务和HRVC系统提供的服务没有 太大区别,但是后者性能相比得到了较大的提高。
本申请实施例提供的高可靠视频会议系统,多个服务节点同时存在并协同工作,当某个服务节点发生故障时,其他服务节点未发生故障仍然可用,如一个集群通信节点发生故障,其他集群通信节点仍旧可用。该方式能够保证集群系统整体的继续运行。同时,该系统还能够对故障进行转移,延续对用户的服务,提高了系统的可用可靠性(该可用可靠性主要指的是一个系统平均无故障时间,即从事生产性活动时使用的时间占比)。
本申请实施例提供的高可靠视频会议系统,可以通过改变系统的结构等来提高性能。在该系统中,用于提供服务的一切软件、硬件和其它配套的结构,都可以视作资源,可以通过增加使用的存储部件,增加服务节点的数量,升级软件甚至是改变系统的体系结构,来满足HRVC系统对大负载容量、传输实时高效的需求。
本申请提出的HRVC系统,实现对原HRVC系统的扩展,解决了其运行效率不高、用户容量小和扩展性差等缺点。除能够提供视频会议服务外,还融入了负载均衡、故障转移、节点动态管理、共享数据流调配等机制,优化了视频会议的体系架构,提高了系统的可靠性及可扩展性,满足了用户对大负载容量、传输实时高效的需求,能有效工作于低带宽的网络环境中。
本申请实施例提供的高可靠视频会议系统,基于Red5流媒体服务器开发、是智融标识网络体系下支持的Web视频会议系统。该系统采用Flash开发人机交互界面,基于Java EE技术实现服务器的后台管理,通过HTTP、RTMP等协议与客户端进行数据的交互。该服务支持音视频通信、电子白板、文字聊天、文档转换和桌面共享等多种功能,在网页端具有会议室、聊天室等多种形式的房间模式,用户只需要在客户端使用安装了flash的浏览器,就可以直接打开视频会议网页,获取相应的服务。
本申请实施例还提供一种高可靠视频会议系统的控制方法,如图2所示,该控制方法可以应用于上述实施例中的高可靠视频会议系统,该控制方法包括如下步骤:
步骤S101:控制集群调度节点获取客户端发送的服务连接请求;其中,集群调度节点(Group Dispatch Node,GDN)作为高可靠视频会议系统(HRVC,High Reliable Video Conference)的访问入口,向下与客户端连接,向上与集群通信节点相连接,同时也负责控制管理整个集群系统。当客户端向系统发出服务请求时,该服务请求发送至集群调度节点,集群调度节点能够动态监测集群内部负载的情况并选择最优的集群通信节点作为目标通信节点转发客户端请求。并且,集群调度节点还能检测系统内部的各集群通信节点之间的连接状态,自动完成对故障节点的隔离。另外,集群调度节点还能减少系统网络内部冗余数据的传输,能够调配集群中各通信节点之间的数据流向,缓存共享数据。在智融标识网络中的知识库可以查询到集群调度节点的身份标识、性能参数等信息。
步骤S102:控制将所述服务连接请求发送至目标集群通信节点,所述目标集群通信节点根据集群负载选取;其中,集群通信节点(Group Communication Node,GCN)向下与集群调度节点连接,向上与集群服务节点相连接,在该系统中实现的是信息交互代理的功能。当客户端向系统发出服务请求时,集群通信节点接收来自集群调度节点转发的服务连接请求并建立与客户端(Client)的会话连接,然后从集群服务节点获取相应的服务,这样能够有效分担集群服务节点的并发负载。此外,集群通信节点使用的工作方式是连接状态机的工作方式,这样能够隔离故障,即若某个集群通信节点出了故障,集群中其他节点也能够正常运行,系统容错率较高。
步骤S103:控制所述目标集群通信节点根据所述服务连接请求与客户端建立连接;具体地,在建立连接时,Client与目标集群通信节点实现协议握手, 该集群通信节点会创建连接并维持当前连接状态,使得统一资源定位地址所显示范围内能够相互连接。其中,该统一资源定位地址即URL(Uniform Resource Locator),该地址包含在客户端发送的服务连接请求中。
步骤S104:控制所述集群调度节点向所述目标集群通信节点转发所述客户端发送的服务请求;具体地,当目标集群通信节点和客户端建立连接后,集群调度节点可以将客户端发送的服务请求发送至该目标通信节点。其中,该服务请求可以是客户端发送的请求服务资源的请求信息。
步骤S105:控制所述目标集群通信节点根据集群负载均衡选择目标集群服务节点,根据所述服务请求中的统一资源定位地址向目标集群服务节点发送服务获取信息。具体地,集群通信节点使用Client传来的统一资源定位地址,然后从集群服务节点获取相应的服务。其中,集群通信节点选择集群服务节点获取服务信息时,可以根据负载均衡原则选择对应的集群服务节点,向其发送服务获取信息。
步骤S106:控制所述集群服务节点根据所述服务获取信息向所述目标集群通信节点返回服务信息;具体地,集群服务节点根据访问规则分配视频会议内容访问服务,并向集群通信节点返回服务信息。
步骤S107:控制所述目标集群通信节点将所述服务信息发送至所述客户端。
本申请实施例该提供的高可靠视频会议系统的控制方法,采用集群调度节点、集群通信节点以及集群服务节点,通过节点之间的通信实现了视频会议服务信息的高效传输;同时,该系统中融入了负载均衡机制,集群调度节点根据集群负载选择最优的目标集群通信节点进行信息传输,使得该系统能够有效工作于低带宽的网络环境中,满足了用户对传输实时高效的需求。
本申请实施例提供的高可靠视频会议系统的控制方法的功能描述详细参见 上述实施例中高可靠视频会议系统描述。
本申请实施例还提供一种存储介质,如图3所示,其上存储有计算机程序601,该指令被处理器执行时实现上述实施例中高可靠视频会议系统的步骤。该存储介质上还存储有音视频流数据,特征帧数据、交互请求信令、加密数据以及预设数据大小等。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本申请的实施例,但是本领域技术人员可以在不脱离本申请的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

  1. 一种高可靠视频会议系统,其特征在于,包括:集群调度节点、多个集群通信节点以及多个集群服务节点,
    所述集群调度节点获取客户端发送的服务连接请求,根据集群负载选取目标集群通信节点,将所述服务连接请求发送至所述目标集群通信节点;
    所述目标集群通信节点根据所述服务连接请求与客户端建立连接;
    所述集群调度节点向所述目标集群通信节点转发所述客户端发送的服务请求,所述目标集群通信节点根据集群负载均衡选择目标集群服务节点,根据所述服务请求中的统一资源定位地址向所述目标集群服务节点发送服务获取信息;
    所述目标集群服务节点根据所述服务获取信息向所述目标集群通信节点返回服务信息;
    所述目标集群通信节点将所述服务信息发送至所述客户端。
  2. 根据权利要求1所述的高可靠视频会议系统,其特征在于,所述集群调度节点包括Apache组件,所述集群通信节点包括Jetty组件,多个Jetty组件构成负载均衡组,Apache组件管理所述负载均衡组,
    所述Apache组件接收客户端发送的服务连接请求,根据所述服务连接请求查询所述负载均衡组中各Jetty组件负载情况,确定目标集群通信节点;
    所述Apache组件根据所述目标集群通信节点的负载变化,更新负载均衡组中的负载信息。
  3. 根据权利要求2所述的高可靠视频会议系统,其特征在于,
    所述目标集群通信节点根据所述服务连接请求与客户端建立连接后,在内存中创建连接的会话状态信息,根据所述会话状态信息向所述客户端发送唯一标识,并将所述会话状态信息备份到其他集群通信节点;
    所述Apache组件检测到所述目标集群通信节点的Jetty组件发生故障后,控制备份的集群通信节点处理所述客户端的服务请求。
  4. 根据权利要求1所述的高可靠视频会议系统,其特征在于,所述集群通信节点和集群服务节点中均安装Red5软件,所述集群通信节点为Red5集群中的Edge节点,所述集群服务节点为Red5集群中的Origin节点,集群通信组件根据Red5嵌入式Mina组件与对应集群服务节点连接;
    当Red5集群中增加新的集群通信节点时,新的集群通信节点广播接入消息,并向对应的集群服务节点发起连接;
    当Red5集群中增加新的集群服务节点时,相关的集群通信节点与新的集群服务节点连接。
  5. 根据权利要求4所述的高可靠视频会议系统,其特征在于,
    所述集群通信节点与所述客户端建立连接后,根据Red5监听客户端的服务请求,当接收到所述客户端的服务请求后,与对应的集群服务节点建立连接,将所述服务请求发送至所述集群服务节点;
    所述集群服务节点根据所述服务请求返回请求资源。
  6. 根据权利要求1所述的高可靠视频会议系统,其特征在于,
    所述集群通信节点接收到所述集群服务节点返回的服务信息时,将服务信息中的数据包保存在缓存区;
    所述集群通信节点接收到新的服务请求时,判断所述缓存区中是否存在所 述服务请求对应的数据包括,当存在时,将缓存区中的数据包发送至所述客户端。
  7. 根据权利要求1所述的高可靠视频会议系统,其特征在于,
    所述目标集群通信节点根据接收的服务请求以及返回的服务信息生成共享数据,将所述共享数据发送至所述集群调度节点;
    当其他集群通信节点接收到与共享数据中相同的服务请求时,从所述集群调度节点获取所述共享数据,对所述服务请求进行应答。
  8. 根据权利要求1所述的高可靠视频会议系统,其特征在于,
    所述集群通信节点的工作方式为连接状态机的工作方式;
    所述集群服务节点上部署视频会议应用程序,根据访问规则分配视频会议内容访问服务;
    所述集群服务节点和所述集群调度节点的身份标识和性能参数保存在智融标识网络的知识库中。
  9. 一种高可靠视频会议系统的控制方法,其特征在于,包括:
    控制集群调度节点获取客户端发送的服务连接请求;
    控制将所述服务连接请求发送至目标集群通信节点,所述目标集群通信节点根据集群负载选取;
    控制所述目标集群通信节点根据所述服务连接请求与客户端建立连接;
    控制所述集群调度节点向所述目标集群通信节点转发所述客户端发送的服务请求;
    控制所述目标集群通信节点根据集群负载均衡选择目标集群服务节点,根据所述服务请求中的统一资源定位地址向所述目标集群服务节点发送服务获取信息;
    控制所述目标集群服务节点根据所述服务获取信息向所述目标集群通信节点返回服务信息;
    控制所述目标集群通信节点将所述服务信息发送至所述客户端。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求9所述的高可靠视频会议系统的控制方法。
PCT/CN2021/126265 2021-09-08 2021-10-26 一种高可靠视频会议系统及其控制方法、存储介质 WO2023035374A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111046561.1 2021-09-08
CN202111046561.1A CN113485821A (zh) 2021-09-08 2021-09-08 一种高可靠视频会议系统及其控制方法、存储介质

Publications (1)

Publication Number Publication Date
WO2023035374A1 true WO2023035374A1 (zh) 2023-03-16

Family

ID=77947336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/126265 WO2023035374A1 (zh) 2021-09-08 2021-10-26 一种高可靠视频会议系统及其控制方法、存储介质

Country Status (2)

Country Link
CN (1) CN113485821A (zh)
WO (1) WO2023035374A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485821A (zh) * 2021-09-08 2021-10-08 北京交通大学 一种高可靠视频会议系统及其控制方法、存储介质
CN114070889B (zh) * 2021-11-10 2023-11-14 北京百度网讯科技有限公司 配置方法、流量转发方法、设备、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180288163A1 (en) * 2017-03-30 2018-10-04 Microsoft Technology Licensing, Llc Systems and methods for achieving session stickiness for stateful cloud services with non-sticky load balancers
CN111355731A (zh) * 2020-02-28 2020-06-30 北京奇艺世纪科技有限公司 资源访问的方法、装置、资源访问系统、设备及存储介质
CN112015544A (zh) * 2020-06-30 2020-12-01 苏州浪潮智能科技有限公司 一种k8s集群的负载均衡方法、装置、设备及存储介质
CN113485821A (zh) * 2021-09-08 2021-10-08 北京交通大学 一种高可靠视频会议系统及其控制方法、存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699447B (zh) * 2014-01-08 2017-02-08 北京航空航天大学 一个基于云计算的视频会议的转码分发系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180288163A1 (en) * 2017-03-30 2018-10-04 Microsoft Technology Licensing, Llc Systems and methods for achieving session stickiness for stateful cloud services with non-sticky load balancers
CN111355731A (zh) * 2020-02-28 2020-06-30 北京奇艺世纪科技有限公司 资源访问的方法、装置、资源访问系统、设备及存储介质
CN112015544A (zh) * 2020-06-30 2020-12-01 苏州浪潮智能科技有限公司 一种k8s集群的负载均衡方法、装置、设备及存储介质
CN113485821A (zh) * 2021-09-08 2021-10-08 北京交通大学 一种高可靠视频会议系统及其控制方法、存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Master's Thesis", 19 December 2011, BEIJING JIAOTONG UNIVERSITY, CN, article SUN, TAO: "Design and Implementation of Video Conferencing System in Cloud Computing", pages: 1 - 74, XP009544369 *
ZHANG HONG-KE, FENG BO-HAO; QUAN WEI: "Fundamental Research on Smart Integration Identifier Networking", ACTA ELECTRONICA SINICA, ZHONGGUO DIANZI XUEHUI, CN, vol. 47, no. 5, 1 May 2019 (2019-05-01), CN , pages 977 - 982, XP093045991, ISSN: 0372-2112, DOI: 10.3969/j.issn.0372-2112.2019.05.001 *

Also Published As

Publication number Publication date
CN113485821A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
EP3490224B1 (en) Data synchronization method and system
US10367852B2 (en) Multiplexed demand signaled distributed messaging
US9565396B2 (en) Methods, systems and program products for initiating a process on data network
WO2023035374A1 (zh) 一种高可靠视频会议系统及其控制方法、存储介质
USRE44560E1 (en) Data processing system, information processing apparatus, data processing method and computer program
WO2022161430A1 (zh) 边缘云系统、边缘管控方法、管控节点及存储介质
RU2518194C2 (ru) Система видеонаблюдения с распределенными узлами и способ управления такой системой
US9191439B2 (en) Method and system for data synchronization in content delivery network
KR102127019B1 (ko) 무선 네트워크 상에서의 멀티 모달 통신 우선순위
US8144632B1 (en) Methods, systems and program products for efficient communications during data sharing event
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
WO2008034352A1 (fr) Procédé, système et serveur frontière destinés à distribuer des ressources
WO2016180189A1 (zh) 接入多媒体会议系统的方法及装置
WO2011103837A2 (zh) 服务器故障时的报文处理方法及路由器
CN111615066A (zh) 一种基于广播的分布式微服务注册及调用方法
CN105681462A (zh) 一种基于消息路由的集群系统及数据通信中转方法
US9473316B2 (en) Resource consumption reduction via meeting affinity
CN112671554A (zh) 一种节点故障处理方法及相关装置
CA3156410A1 (en) Method of and device for networking access of client ends in p2p system
WO2019100364A1 (zh) 一种云视频平台中的动态资源调配方法
CN107438098B (zh) 一种动态内容分发方法及其系统
CN112543150A (zh) 基于服务端控制的动态负载均衡方法
CN114143569B (zh) 一种网页录制和直播方法及系统
JP2010527475A (ja) 情報家電のデータ蓄積システム及びデータ処理方法
CN110519397B (zh) 一种基于nginx的sip终端接入的负载均衡系统及方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21956547

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE