CN111193788A - Audio and video stream load balancing method and device - Google Patents

Audio and video stream load balancing method and device Download PDF

Info

Publication number
CN111193788A
CN111193788A CN201911350146.8A CN201911350146A CN111193788A CN 111193788 A CN111193788 A CN 111193788A CN 201911350146 A CN201911350146 A CN 201911350146A CN 111193788 A CN111193788 A CN 111193788A
Authority
CN
China
Prior art keywords
streaming media
media server
audio
video stream
target
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201911350146.8A
Other languages
Chinese (zh)
Inventor
王辉
董勇钦
高炜
王艳辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
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 Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN201911350146.8A priority Critical patent/CN111193788A/en
Publication of CN111193788A publication Critical patent/CN111193788A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load

Abstract

The embodiment of the invention provides an audio and video stream load balancing method and device, the method is applied to an audio and video stream load balancing system, the audio and video stream load balancing system comprises a plurality of streaming media servers, and the method comprises the following steps: after receiving a server access request sent by target equipment, acquiring a streaming media server information list; determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list; determining a target streaming media server with the minimum load in the streaming media servers according to the load information; and accessing the target equipment to a target streaming media server. The method and the device can enable the target device to select the streaming media server with the minimum access load, avoid the low efficiency of processing the audio and video stream caused by the simultaneous access of a plurality of devices to one streaming media server, namely improve the efficiency of processing the audio and video stream by the streaming media server, and have smoother processing in the application related to the processing of the audio and video stream, such as real-time live broadcast.

Description

Audio and video stream load balancing method and device
Technical Field
The invention relates to the technical field of video networking, in particular to an audio and video stream load balancing method and device.
Background
Because the video networking technology can realize real-time transmission of full-network high-definition audio and video, the video networking technology is increasingly applied to the field of audio and video conferences.
At present, in the field of video networking technology, a unified management and control system (a new edition of palm communication application program background) is generally used for performing functions such as monitoring and scheduling, real-time live broadcasting, video conferencing, one-key alarming, information sharing circle and the like, and a plurality of streaming media servers are used for managing audio and video streams of the unified management and control system. When the unified management and control system logs in a plurality of streaming media servers, the unified management and control system logs in the streaming media servers which are distributed in advance.
However, when more users are allocated to the same streaming media server, the streaming media server may operate with a high load for a long time, so that the efficiency of the unified management and control system and the streaming media server for processing the audio and video streams is low, and even the streaming media server may be down.
Disclosure of Invention
In view of the above problems, embodiments of the present invention are proposed to provide an audio/video stream load balancing method and apparatus that overcome the above problems or at least partially solve the above problems.
In order to solve the above problem, an embodiment of the present invention provides an audio and video stream load balancing method, where the method is applied to an audio and video stream load balancing system, where the audio and video stream load balancing system includes multiple streaming media servers, and the method includes:
after receiving a server access request sent by target equipment, acquiring a streaming media server information list;
determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list;
determining a target streaming media server with the minimum load in the streaming media servers according to the load information;
and accessing the target equipment to the target streaming media server.
Optionally, the obtaining the streaming media server information list includes:
acquiring an initial streaming media server information list;
determining load information corresponding to each streaming media server according to the initial streaming media server information list;
and in the initial streaming media server information list, sequencing the load information according to the sequence of the load information from small to large to generate the streaming media server information list.
Optionally, after the accessing the target device to the target streaming media server, the method further includes:
recording the address information of the accessed streaming media server corresponding to the target streaming media server;
and updating the streaming media server information list according to the recorded streaming media server address information.
Optionally, the streaming media server information list includes addresses of the streaming media servers, device login times, and device logout times.
In order to solve the above problem, an embodiment of the present invention provides an audio and video stream load balancing device, where the method is applied to an audio and video stream load balancing system, where the audio and video stream load balancing system includes multiple streaming media servers, and the device includes:
the acquisition module is used for acquiring a streaming media server information list after receiving a server access request sent by target equipment;
the first determining module is used for determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list;
a second determining module, configured to determine, according to each piece of load information, a target streaming media server with a minimum load in each streaming media server;
and the access module is used for accessing the target equipment to the target streaming media server.
Optionally, the obtaining module includes:
the acquisition submodule is used for acquiring an initial streaming media server information list;
a determining submodule, configured to determine load information corresponding to each streaming media server according to the initial streaming media server information list;
and the generating submodule is used for sequencing the load information in the initial streaming media server information list according to the sequence of the load information from small to large so as to generate the streaming media server information list.
Optionally, the apparatus further comprises:
the recording module is used for recording the address information of the accessed streaming media server corresponding to the target streaming media server;
and the updating module is used for updating the streaming media server information list according to the recorded streaming media server address information.
Optionally, the streaming media server information list includes addresses of the streaming media servers, device login times, and device logout times.
In order to solve the above problem, an embodiment of the present invention provides an electronic device, including:
one or more processors; and
one or more machine readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the audio video stream load balancing method described above.
In order to solve the above problem, an embodiment of the present invention provides a computer-readable storage medium storing a computer program for causing a processor to execute the above audio/video stream load balancing method.
The embodiment of the invention has the following advantages:
in the embodiment of the invention, the audio and video stream load balancing system acquires the information list of the streaming media server after receiving the server access request sent by the target equipment, further determines the load information of each streaming media server in the preset time period away from the current time according to the information list of the streaming media server, determines the target streaming media server with the minimum load in each streaming media server according to each load information, and finally accesses the target equipment into the target streaming media server, so that the target equipment can select the streaming media server with the minimum load, the problem of low audio and video stream processing efficiency caused by the fact that a plurality of equipment are simultaneously accessed into one streaming media server is avoided, namely the audio and video stream processing efficiency of the streaming media server is improved, and in the application related to audio and video stream processing such as real-time live broadcast, video conference and the like, the processing is smoother, and the user experience is improved.
Drawings
Fig. 1 shows a flowchart of steps of an audio and video stream load balancing method according to an embodiment of the present invention;
fig. 2 is a schematic diagram illustrating an audio/video stream load balancing system according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating steps of an audio/video stream load balancing method according to a second embodiment of the present invention;
fig. 4 shows a block diagram of a structure of an audio/video stream load balancing apparatus according to a third embodiment of the present invention;
FIG. 5 illustrates a networking diagram of a video network of the present invention;
FIG. 6 is a schematic diagram of a hardware architecture of a node server according to the present invention;
fig. 7 shows a hardware architecture diagram of an access switch of the present invention;
fig. 8 is a schematic diagram illustrating a hardware structure of an ethernet protocol conversion gateway according to the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
The method is applied to the audio and video stream load balancing system, and by improving the audio and video stream load balancing system, the problem of low audio and video stream processing efficiency caused by the fact that a plurality of devices are simultaneously connected to one streaming media server can be avoided in scenes needing to process audio and video streams, such as real-time live broadcast, video conference and the like, the audio and video stream processing efficiency is improved, and the user experience is improved.
Referring to fig. 1, a flowchart illustrating steps of an audio and video stream load balancing method according to an embodiment of the present invention is shown, where the method may be applied to an audio and video stream load balancing system, where the audio and video stream load balancing system includes multiple streaming media servers, and specifically includes the following steps:
step 501, after receiving a server access request sent by a target device, obtaining a streaming media server information list.
In the embodiment of the present invention, a technical solution of the embodiment of the present invention may be described in detail with reference to fig. 2.
Referring to fig. 2, a schematic diagram of an audio and video stream load balancing system according to an embodiment of the present invention is shown, and as shown in fig. 2, the audio and video stream load balancing system may include a target device 10, a management and control system server 20, a management and control system database 30, a streaming media server management (VMServer) server 40, and a plurality of streaming media servers 50, which are connected in sequence.
The target device is also a mobile terminal, and the mobile terminal may be an APPlication, or may be another mobile terminal that needs to log in to the streaming media server.
The control system (ucsys) comprises the control system server and a control system database, the control system also becomes a new version p-server, is a background of a new version palm APP, and is a micro service system integrating functions of monitoring scheduling, a terminal address book, real-time live broadcasting, a video conference, one-key alarming, an information sharing ring and the like, a webpage end is responsible for system, enterprise, APP users, monitoring, terminals, streaming media, basic information management and authority distribution management, and the APP end is responsible for executing the whole service flow.
When the target device 10 needs to access the streaming server 50, it sends an access request to the management and control system server 20, the management and control system server 20 forwards the access request to the VMServer 40, and the VMServer 40 generates a streaming server information list and sends the streaming server information list to the management and control system server 20.
Specifically, the streaming server information list includes addresses of the streaming servers, device login times, and device logout times, and the VMServer 40 acquires the initial streaming server information list.
Further, the VMServer 40 determines load information corresponding to each streaming server according to the initial streaming server information list, that is, determines the device login times and the device logout times of each streaming server in a period of time.
Finally, the VMServer 40 sorts the load information in the initial streaming server information list according to the order of the load information from small to large, and generates a streaming server information list.
After the streaming server information list is obtained, step 502 is performed.
Step 502, determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list.
The preset time period refers to a preset time period which is a specified time length from the current time, for example, the time period is 7 days, 5 days, and the like from the current time, and specifically, the preset time period may be determined according to a service requirement, which is not limited in this embodiment of the present invention.
After obtaining the streaming media server information list, the management and control system server 20 may perform screening of a preset time period from the current time on the load information of each streaming media server according to the streaming media server information list, and reorder the load information in a sequence from small to large.
The preset time period of the current time may be ten minutes before the current time, or 30 minutes before the current time, or 120 minutes before the current time.
After determining the load information of each streaming media server within a preset time period from the current time, step 503 is executed.
Step 503, according to each load information, determining the target streaming media server with the minimum load in each streaming media server.
The target streaming server refers to a streaming server with the minimum load among the streaming servers, for example, the streaming server may be: the server 1, the server 2 and the server 3, the load capacity sequence of the 3 streaming media servers is as follows: server 1< server 3< server 2, and in this case, if the load of server 1 is the minimum, server 1 may be the target streaming server.
The management and control system server 20 may store the streaming media server information list in the management and control system database 30, and send the streaming media server information list to the target device 10, and the target device 10 may determine, as a target streaming media server, a streaming media server with the smallest device login times and device logout times within a preset time period from the current time among the streaming media servers 50.
Step 504, the target device is accessed to the target streaming media server.
The VMServer 40 may send the streaming server information list to the target device through the management and control system server 20, and access the target device to the target streaming server.
In the embodiment of the invention, the audio and video stream load balancing system acquires the information list of the streaming media server after receiving the server access request sent by the target equipment, further determines the load information of each streaming media server in the preset time period away from the current time according to the information list of the streaming media server, determines the target streaming media server with the minimum load in each streaming media server according to each load information, and finally accesses the target equipment into the target streaming media server, so that the target equipment can select the streaming media server with the minimum load, the problem of low audio and video stream processing efficiency caused by the fact that a plurality of equipment are simultaneously accessed into one streaming media server is avoided, namely the audio and video stream processing efficiency of the streaming media server is improved, and in the application related to audio and video stream processing such as real-time live broadcast, video conference and the like, the processing is smoother, and the user experience is improved.
Referring to fig. 3, a flowchart illustrating steps of an audio/video stream load balancing method according to a second embodiment of the present invention is shown, where the method may be applied to a video network, and specifically may include the following steps:
step 601, after receiving a server access request sent by a target device, acquiring a streaming media server information list.
In the embodiment of the present invention, the technical solution of the embodiment may be described in detail with reference to fig. 2.
In a preferred embodiment, the step 601 may be implemented by the following sub-steps:
sub-step 6011, an initial streaming media server information list is obtained.
Specifically, the streaming media server information list includes addresses of the streaming media servers, device login times, and device logout times, and the VMServer 40 obtains the initial streaming media server information list after receiving an access request sent by the target device.
Substep 6012, determining load information corresponding to each streaming media server according to the initial streaming media server information list.
The VMServer 40 determines load information corresponding to each streaming server according to the initial streaming server information list, that is, determines the device login times and the device logout times of each streaming server in a period of time.
Substep 6013, in the initial streaming media server information list, sorting the load information according to the order from small to large of the load information, and generating a streaming media server information list.
The VMServer 40 sorts the device login times and the device logout times of each streaming media server in a period of time in the initial streaming media server information list according to the sequence of the load information from small to large, and generates a streaming media server information list.
After the streaming server information list is obtained, step 602 is performed.
Step 602, determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list.
The preset time period refers to a preset time period which is a specified time length from the current time, for example, the time period is 7 days, 5 days, and the like from the current time, and specifically, the preset time period may be determined according to a service requirement, which is not limited in this embodiment of the present invention.
After obtaining the streaming media server information list, the management and control system server 20 may perform screening of a preset time period from the current time on the load information of each streaming media server according to the streaming media server information list, and reorder the load information in a sequence from small to large.
The preset time period of the current time may be ten minutes before the current time, or 30 minutes before the current time, or 120 minutes before the current time.
After determining the load information of each streaming media server within a preset time period from the current time, step 603 is performed.
Step 603, according to each load information, determining the target streaming media server with the minimum load in each streaming media server.
The target streaming server refers to a streaming server with the minimum load among the streaming servers, for example, the streaming server may be: the server 1, the server 2 and the server 3, the load capacity sequence of the 3 streaming media servers is as follows: server 1< server 3< server 2, and in this case, if the load of server 1 is the minimum, server 1 may be the target streaming server.
The management and control system server 20 may send the streaming media server information list to the target device 10, and the target device 10 may determine, as a target streaming media server, a streaming media server with the minimum device login times and device logout times within a preset time period from the current time among the streaming media servers 50.
Step 604, the target device is accessed to the target streaming media server.
After acquiring the target streaming media server, the VMServer 40 may send the streaming media server information list to the target device through the management and control system server 20, and access the target device to the target streaming media server.
Step 605, recording the address information of the streaming media server corresponding to the accessed target streaming media server.
The VMServer 40 records the address information of the accessed streaming media server corresponding to the target streaming media server, so that other mobile terminals can obtain the latest and most accurate device login times and device logout times of the streaming media server within a period of time when accessing the streaming media server.
Step 606, updating the information list of the streaming media server according to the recorded address information of the streaming media server.
The VMServer 40 updates the information of the streaming server information list according to the recorded address information of the streaming server, so as to facilitate the subsequent load balancing analysis and statistics, that is, facilitate other mobile terminals to access the streaming server with the minimum load when accessing the streaming server.
In the embodiment of the invention, the audio and video stream load balancing system acquires the information list of the streaming media server after receiving the server access request sent by the target equipment, determines the load information of each streaming media server within the preset time period away from the current time according to the information list of the streaming media server, determines the target streaming media server with the minimum load in each streaming media server according to each load information, accesses the target equipment into the target streaming media server, records the address information of the streaming media server corresponding to the accessed target streaming media server, updates the information list of the streaming media server according to the recorded address information of the streaming media server, so that the target equipment can select the streaming media server with the minimum load, and avoids the low audio and video stream processing efficiency caused by simultaneously accessing a plurality of equipment into one streaming media server, the efficiency of processing the audio and video stream by the streaming media server is improved, the processing is smoother in the application of processing the audio and video stream in real-time live broadcast, video conference and the like, and the user experience is improved.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Referring to fig. 4, a block diagram of an audio and video stream load balancing apparatus according to a third embodiment of the present invention is shown, where the audio and video stream load balancing apparatus 700 may be applied to an audio and video stream load balancing system, where the audio and video stream load balancing system includes a plurality of streaming media servers, and the apparatus specifically includes:
an obtaining module 701, configured to obtain a streaming media server information list after receiving a server access request sent by a target device;
a first determining module 702, configured to determine, according to the streaming media server information list, load information of each streaming media server within a preset time period from a current time;
a second determining module 703, configured to determine, according to each piece of load information, a target streaming media server with the smallest load in each streaming media server;
an accessing module 704, configured to access the target device to the target streaming media server.
Optionally, the obtaining module includes:
the acquisition submodule is used for acquiring an initial streaming media server information list;
a determining submodule, configured to determine load information corresponding to each streaming media server according to the initial streaming media server information list;
and the generating submodule is used for sequencing the load information in the initial streaming media server information list according to the sequence of the load information from small to large so as to generate the streaming media server information list.
Optionally, the apparatus further comprises:
the recording module is used for recording the address information of the accessed streaming media server corresponding to the target streaming media server;
and the updating module is used for updating the streaming media server information list according to the recorded streaming media server address information.
Optionally, the streaming media server information list includes addresses of the streaming media servers, device login times, and device logout times.
In the embodiment of the present invention, the audio/video stream load balancing system may obtain the stream media server information list through the obtaining module after receiving the server access request sent by the target device, further, may determine, through the first determining module, the load information of each stream media server within a preset time period from the current time according to the stream media server information list, and may determine, through the second determining module, the target stream media server with the minimum load among the stream media servers according to each load information, and finally, accesses the target device to the target stream media server through the access module, so that the target device may select the stream media server with the minimum load, thereby avoiding the low efficiency of processing the audio/video stream due to the simultaneous access of multiple devices to one stream media server, that is, improving the efficiency of processing the audio/video stream by the stream media server, in the application of processing audio and video streams such as real-time live broadcast and video conference, the processing is smoother, and the user experience is improved.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
An embodiment of the present invention further provides an electronic device, including:
one or more processors; and
one or more machine readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the audio video stream load balancing method as described above.
The embodiment of the invention also provides a computer-readable storage medium, and a stored computer program enables a processor to execute the audio and video stream load balancing method.
The video networking is an important milestone for network development, is a real-time network, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video, and high-definition faces each other.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of services of video, voice, pictures, characters, communication, data and the like on a system platform on a network platform, such as high-definition video conference, video monitoring, intelligent monitoring analysis, emergency command, digital broadcast television, delayed television, network teaching, live broadcast, VOD on demand, television mail, Personal Video Recorder (PVR), intranet (self-office) channels, intelligent video broadcast control, information distribution and the like, and realizes high-definition quality video broadcast through a television or a computer.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved over traditional Ethernet (Ethernet) to face the potentially enormous video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network circuit Switching (circuit Switching), the Packet Switching is adopted by the technology of the video networking to meet the Streaming requirement. The video networking technology has the advantages of flexibility, simplicity and low price of packet switching, and simultaneously has the quality and safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Switching Technology (Switching Technology)
The video network adopts two advantages of asynchronism and packet switching of the Ethernet, eliminates the defects of the Ethernet on the premise of full compatibility, has end-to-end seamless connection of the whole network, is directly communicated with a user terminal, and directly bears an IP data packet. The user data does not require any format conversion across the entire network. The video networking is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the real-time transmission of the whole-network large-scale high-definition video which cannot be realized by the existing Internet, and pushes a plurality of network video applications to high-definition and unification.
Server Technology (Server Technology)
The server technology on the video networking and unified video platform is different from the traditional server, the streaming media transmission of the video networking and unified video platform is established on the basis of connection orientation, the data processing capacity of the video networking and unified video platform is independent of flow and communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than one hundred times compared with that of a traditional server.
Storage Technology (Storage Technology)
The super-high speed storage technology of the unified video platform adopts the most advanced real-time operating system in order to adapt to the media content with super-large capacity and super-large flow, the program information in the server instruction is mapped to the specific hard disk space, the media content is not passed through the server any more, and is directly sent to the user terminal instantly, and the general waiting time of the user is less than 0.2 second. The optimized sector distribution greatly reduces the mechanical motion of the magnetic head track seeking of the hard disk, the resource consumption only accounts for 20% of that of the IP internet of the same grade, but concurrent flow which is 3 times larger than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network Security Technology (Network Security Technology)
The structural design of the video network completely eliminates the network security problem troubling the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, generally does not need antivirus programs and firewalls, avoids the attack of hackers and viruses, and provides a structural carefree security network for users.
Service Innovation Technology (Service Innovation Technology)
The unified video platform integrates services and transmission, and is not only automatically connected once whether a single user, a private network user or a network aggregate. The user terminal, the set-top box or the PC are directly connected to the unified video platform to obtain various multimedia video services in various forms. The unified video platform adopts a menu type configuration table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes infinite new service innovation.
Networking of the video network is as follows:
the video network is a centralized control network structure, and the network can be a tree network, a star network, a ring network and the like, but on the basis of the centralized control node, the whole network is controlled by the centralized control node in the network.
As shown in fig. 5, the video network is divided into an access network and a metropolitan network.
The devices of the access network part can be mainly classified into 3 types: node server, access switch, terminal (including various set-top boxes, coding boards, memories, etc.). The node server is connected to an access switch, which may be connected to a plurality of terminals and may be connected to an ethernet network.
The node server is a node which plays a centralized control function in the access network and can control the access switch and the terminal. The node server can be directly connected with the access switch or directly connected with the terminal.
Similarly, devices of the metropolitan network portion may also be classified into 3 types: a metropolitan area server, a node switch and a node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is a node server of the access network part, namely the node server belongs to both the access network part and the metropolitan area network part.
The metropolitan area server is a node which plays a centralized control function in the metropolitan area network and can control a node switch and a node server. The metropolitan area server can be directly connected with the node switch or directly connected with the node server.
Therefore, the whole video network is a network structure with layered centralized control, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star and ring.
The access network part can form a unified video platform (the part in the dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform may be interconnected via metropolitan area and wide area video networking.
Video networking device classification
1.1 devices in the video network of the embodiment of the present invention can be mainly classified into 3 types: servers, switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node servers, access switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 6, the system mainly includes a network interface module 201, a switching engine module 202, a CPU module 203, and a disk array module 204;
the network interface module 201, the CPU module 203, and the disk array module 204 all enter the switching engine module 202; the switching engine module 202 performs an operation of looking up the address table 205 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a queue of the corresponding packet buffer 206 based on the packet's steering information; if the queue of the packet buffer 206 is nearly full, it is discarded; the switching engine module 202 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. The disk array module 204 mainly implements control over the hard disk, including initialization, read-write, and other operations on the hard disk; the CPU module 203 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 205 (including a downlink protocol packet address table, an uplink protocol packet address table, and a data packet address table), and configuring the disk array module 204.
The access switch:
as shown in fig. 7, the network interface module (downlink network interface module 301, uplink network interface module 302), switching engine module 303 and CPU module 304 are mainly included;
wherein, the packet (uplink data) coming from the downlink network interface module 301 enters the packet detection module 305; the packet detection module 305 detects whether the Destination Address (DA), the Source Address (SA), the packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id) and enters the switching engine module 303, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 302 enters the switching engine module 303; the incoming data packet of the CPU module 304 enters the switching engine module 303; the switching engine module 303 performs an operation of looking up the address table 306 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 303 is from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 307 in association with the stream-id; if the queue of the packet buffer 307 is nearly full, it is discarded; if the packet entering the switching engine module 303 is not from the downlink network interface to the uplink network interface, the data packet is stored in the queue of the corresponding packet buffer 307 according to the guiding information of the packet; if the queue of the packet buffer 307 is nearly full, it is discarded.
The switching engine module 303 polls all packet buffer queues, which in this embodiment of the present invention is divided into two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
The rate control module 308 is configured by the CPU module 304, and generates tokens for packet buffer queues from all downstream network interfaces to upstream network interfaces at programmable intervals to control the rate of upstream forwarding.
The CPU module 304 is mainly responsible for protocol processing with the node server, configuration of the address table 306, and configuration of the code rate control module 308.
Ethernet protocol conversion gateway
As shown in fig. 8, the apparatus mainly includes a network interface module (a downlink network interface module 401 and an uplink network interface module 402), a switching engine module 403, a CPU module 404, a packet detection module 405, a rate control module 408, an address table 406, a packet buffer 407, a MAC adding module 409, and a MAC deleting module 410.
Wherein, the data packet coming from the downlink network interface module 401 enters the packet detection module 405; the packet detection module 405 detects whether the ethernet MAC DA, the ethernet MAC SA, the ethernet length or frame type, the video network destination address DA, the video network source address SA, the video network packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, the MAC deletion module 410 subtracts MAC DA, MAC SA, length or frame type (2byte) and enters the corresponding receiving buffer, otherwise, discards it;
the downlink network interface module 401 detects the sending buffer of the port, and if there is a packet, obtains the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MACSA of the ethernet coordination gateway, and the ethernet length or frame type, and sends the packet.
The other modules in the ethernet protocol gateway function similarly to the access switch.
A terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set-top box mainly comprises a network interface module, a video and audio coding and decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 types: node server, node exchanger, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. Video networking packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), Source Address (SA), reserved bytes, payload (pdu), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
DA SA Reserved Payload CRC
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are 256 possibilities at most, the second byte to the sixth byte are metropolitan area network addresses, and the seventh byte and the eighth byte are access network addresses;
the Source Address (SA) is also composed of 8 bytes (byte), defined as the same as the Destination Address (DA);
the reserved byte consists of 2 bytes;
the payload part has different lengths according to different types of datagrams, and is 64 bytes if the datagram is various types of protocol packets, and is 32+1024 or 1056 bytes if the datagram is a unicast packet, of course, the length is not limited to the above 2 types;
the CRC consists of 4 bytes and is calculated in accordance with the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of a metropolitan area network is a graph and there may be 2, or even more than 2, connections between two devices, i.e., there may be more than 2 connections between a node switch and a node server, a node switch and a node switch, and a node switch and a node server. However, the metro network address of the metro network device is unique, and in order to accurately describe the connection relationship between the metro network devices, parameters are introduced in the embodiment of the present invention: a label to uniquely describe a metropolitan area network device.
In this specification, the definition of the Label is similar to that of the Label of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between the device a and the device B, there are 2 labels for the packet from the device a to the device B, and 2 labels for the packet from the device B to the device a. The label is classified into an incoming label and an outgoing label, and assuming that the label (incoming label) of the packet entering the device a is 0x0000, the label (outgoing label) of the packet leaving the device a may become 0x 0001. The network access process of the metro network is a network access process under centralized control, that is, address allocation and label allocation of the metro network are both dominated by the metro server, and the node switch and the node server are both passively executed, which is different from label allocation of MPLS, and label allocation of MPLS is a result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metro network mainly includes the following parts:
DA SA Reserved label (R) Payload CRC
Namely Destination Address (DA), Source Address (SA), Reserved byte (Reserved), tag, payload (pdu), CRC. The format of the tag may be defined by reference to the following: the tag is 32 bits with the upper 16 bits reserved and only the lower 16 bits used, and its position is between the reserved bytes and payload of the packet.
Based on the characteristics of the video network, one of the core concepts of the embodiment of the invention is provided, the invention is applied to an audio and video stream load balancing system, and the audio and video stream load balancing system is improved, so that the problem of low audio and video stream processing efficiency caused by the fact that a plurality of devices are simultaneously connected to one streaming media server can be avoided in scenes such as real-time live broadcast, video conference and the like needing to process audio and video streams, the audio and video stream processing efficiency is improved, and the user experience is improved.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The method and the device for balancing the audio and video stream load provided by the invention are described in detail, a specific example is applied in the text to explain the principle and the implementation mode of the invention, and the description of the embodiment is only used for helping to understand the method and the core idea of the invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. An audio and video stream load balancing method is applied to an audio and video stream load balancing system, the audio and video stream load balancing system comprises a plurality of streaming media servers, and the method comprises the following steps:
after receiving a server access request sent by target equipment, acquiring a streaming media server information list;
determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list;
determining a target streaming media server with the minimum load in the streaming media servers according to the load information;
and accessing the target equipment to the target streaming media server.
2. The method of claim 1, wherein the obtaining the list of streaming media server information comprises:
acquiring an initial streaming media server information list;
determining load information corresponding to each streaming media server according to the initial streaming media server information list;
and in the initial streaming media server information list, sequencing the load information according to the sequence of the load information from small to large to generate the streaming media server information list.
3. The method of claim 1, further comprising, after said accessing said target device to said target streaming server:
recording the address information of the accessed streaming media server corresponding to the target streaming media server;
and updating the streaming media server information list according to the recorded streaming media server address information.
4. The method of claim 1, wherein the list of streaming media server information comprises each of the streaming media server addresses, device login times, and logout time.
5. An audio and video stream load balancing device is characterized in that the method is applied to an audio and video stream load balancing system, the audio and video stream load balancing system comprises a plurality of stream media servers, and the device comprises:
the acquisition module is used for acquiring a streaming media server information list after receiving a server access request sent by target equipment;
the first determining module is used for determining load information of each streaming media server within a preset time period from the current time according to the streaming media server information list;
a second determining module, configured to determine, according to each piece of load information, a target streaming media server with a minimum load in each streaming media server;
and the access module is used for accessing the target equipment to the target streaming media server.
6. The apparatus of claim 5, wherein the obtaining module comprises:
the acquisition submodule is used for acquiring an initial streaming media server information list;
a determining submodule, configured to determine load information corresponding to each streaming media server according to the initial streaming media server information list;
and the generating submodule is used for sequencing the load information in the initial streaming media server information list according to the sequence of the load information from small to large so as to generate the streaming media server information list.
7. The apparatus of claim 5, further comprising:
the recording module is used for recording the address information of the accessed streaming media server corresponding to the target streaming media server;
and the updating module is used for updating the streaming media server information list according to the recorded streaming media server address information.
8. The apparatus of claim 5, wherein the list of streaming media server information comprises each of the streaming media server addresses, device login times, and logout time.
9. An electronic device, comprising:
one or more processors; and
one or more machine readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the audio video stream load balancing method of any one of claims 1 to 4.
10. A computer-readable storage medium storing a computer program for causing a processor to execute the audio-video stream load balancing method according to any one of claims 1 to 5.
CN201911350146.8A 2019-12-24 2019-12-24 Audio and video stream load balancing method and device Pending CN111193788A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911350146.8A CN111193788A (en) 2019-12-24 2019-12-24 Audio and video stream load balancing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911350146.8A CN111193788A (en) 2019-12-24 2019-12-24 Audio and video stream load balancing method and device

Publications (1)

Publication Number Publication Date
CN111193788A true CN111193788A (en) 2020-05-22

Family

ID=70710464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911350146.8A Pending CN111193788A (en) 2019-12-24 2019-12-24 Audio and video stream load balancing method and device

Country Status (1)

Country Link
CN (1) CN111193788A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104676A (en) * 2020-11-20 2020-12-18 全时云商务服务股份有限公司 Media server self-management method and conference system
CN112202755A (en) * 2020-09-25 2021-01-08 浙江华创视讯科技有限公司 Server distribution method, device, equipment and medium
CN112437137A (en) * 2020-11-12 2021-03-02 翱捷科技(深圳)有限公司 Internet of things data connection method and system
CN112788368A (en) * 2020-12-23 2021-05-11 杭州海康威视系统技术有限公司 Stream taking control method and platform device for providing video streaming media service
CN113438499A (en) * 2021-06-29 2021-09-24 北京奇艺世纪科技有限公司 Data uploading and receiving method, device, equipment and storage medium
CN114222086A (en) * 2021-10-15 2022-03-22 中兴通讯股份有限公司 Method, system, medium and electronic device for scheduling audio and video code stream
US11362915B2 (en) 2019-09-06 2022-06-14 Everseen Limited Distributed computing system for intensive video processing
CN114726860A (en) * 2022-03-21 2022-07-08 慧之安信息技术股份有限公司 Load balancing system and load balancing method for streaming media transmission
CN114726860B (en) * 2022-03-21 2022-10-21 慧之安信息技术股份有限公司 Load balancing system and load balancing method for streaming media transmission

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580276A (en) * 2013-10-11 2015-04-29 深圳市腾讯计算机系统有限公司 Information pushing method, device and system, as well as information access device
CN106550003A (en) * 2015-09-23 2017-03-29 腾讯科技(深圳)有限公司 The control method of load balancing, apparatus and system
US20180097875A1 (en) * 2015-07-29 2018-04-05 Tencent Technology (Shenzhen) Company Limited Method and apparatus for leveling loads of distributed databases
CN109600624A (en) * 2018-12-18 2019-04-09 浩云科技股份有限公司 A kind of distributed load equalizing method and device based on Streaming Media
CN110300306A (en) * 2019-06-13 2019-10-01 武汉微创光电股份有限公司 Based on RTMP agreement live stream load-balancing algorithm

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580276A (en) * 2013-10-11 2015-04-29 深圳市腾讯计算机系统有限公司 Information pushing method, device and system, as well as information access device
US20180097875A1 (en) * 2015-07-29 2018-04-05 Tencent Technology (Shenzhen) Company Limited Method and apparatus for leveling loads of distributed databases
CN106550003A (en) * 2015-09-23 2017-03-29 腾讯科技(深圳)有限公司 The control method of load balancing, apparatus and system
CN109600624A (en) * 2018-12-18 2019-04-09 浩云科技股份有限公司 A kind of distributed load equalizing method and device based on Streaming Media
CN110300306A (en) * 2019-06-13 2019-10-01 武汉微创光电股份有限公司 Based on RTMP agreement live stream load-balancing algorithm

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11362915B2 (en) 2019-09-06 2022-06-14 Everseen Limited Distributed computing system for intensive video processing
CN112202755A (en) * 2020-09-25 2021-01-08 浙江华创视讯科技有限公司 Server distribution method, device, equipment and medium
CN112202755B (en) * 2020-09-25 2022-08-23 浙江华创视讯科技有限公司 Server distribution method, device, equipment and medium
CN112437137A (en) * 2020-11-12 2021-03-02 翱捷科技(深圳)有限公司 Internet of things data connection method and system
CN112437137B (en) * 2020-11-12 2021-09-28 翱捷科技(深圳)有限公司 Internet of things data connection method and system
CN112104676A (en) * 2020-11-20 2020-12-18 全时云商务服务股份有限公司 Media server self-management method and conference system
CN112104676B (en) * 2020-11-20 2021-03-02 全时云商务服务股份有限公司 Media server self-management method and conference system
CN112788368A (en) * 2020-12-23 2021-05-11 杭州海康威视系统技术有限公司 Stream taking control method and platform device for providing video streaming media service
CN113438499A (en) * 2021-06-29 2021-09-24 北京奇艺世纪科技有限公司 Data uploading and receiving method, device, equipment and storage medium
CN114222086A (en) * 2021-10-15 2022-03-22 中兴通讯股份有限公司 Method, system, medium and electronic device for scheduling audio and video code stream
CN114726860A (en) * 2022-03-21 2022-07-08 慧之安信息技术股份有限公司 Load balancing system and load balancing method for streaming media transmission
CN114726860B (en) * 2022-03-21 2022-10-21 慧之安信息技术股份有限公司 Load balancing system and load balancing method for streaming media transmission

Similar Documents

Publication Publication Date Title
CN111193788A (en) Audio and video stream load balancing method and device
CN109617956B (en) Data processing method and device
CN109120879B (en) Video conference processing method and system
CN108965226B (en) Data acquisition method and device based on video network
CN109768963B (en) Conference opening method and system based on video network
CN109743550B (en) Method and device for monitoring data flow regulation
CN109151061B (en) Data storage method and device
CN109005378B (en) Video conference processing method and system
CN110475090B (en) Conference control method and system
CN109743360B (en) Information processing method and device
CN110602039A (en) Data acquisition method and system
CN110166840B (en) Service processing method, system and device
CN110446058B (en) Video acquisition method, system, device and computer readable storage medium
CN110267110B (en) Concurrent on-demand processing method and system based on video network
CN110493311B (en) Service processing method and device
CN109788231B (en) Video telephone service processing method and device
CN109347930B (en) Task processing method and device
CN109495709B (en) Video network management system and method
CN109474848B (en) Video processing method and device based on video network, electronic equipment and medium
CN110769192B (en) Monitoring recording method and device
CN110769324A (en) Processing method and device of virtual terminal
CN110830826A (en) Video transcoding equipment scheduling method and system
CN110764794A (en) Interactive system, updating method, electronic equipment and storage medium
CN110166740B (en) Method and device for monitoring resource processing
CN110198433B (en) Access method and system of monitoring video recording equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination