CN111447392B - Data transmission method, device, server and computer readable storage medium - Google Patents
Data transmission method, device, server and computer readable storage medium Download PDFInfo
- Publication number
- CN111447392B CN111447392B CN202010144597.2A CN202010144597A CN111447392B CN 111447392 B CN111447392 B CN 111447392B CN 202010144597 A CN202010144597 A CN 202010144597A CN 111447392 B CN111447392 B CN 111447392B
- Authority
- CN
- China
- Prior art keywords
- audio
- server
- recording
- connection
- video data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000005540 biological transmission Effects 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000006855 networking Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006854 communication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The invention provides a data transmission method, a data transmission device, a server and a computer readable storage medium. The method comprises the following steps: receiving audio and video data aiming at the video conference from at least two conference participating terminals, and sending the audio and video data to a first recording and broadcasting server in at least two recording and broadcasting servers; if the interruption of the first connection between the first recording and broadcasting server is detected, establishing a second connection between the first connection and a second recording and broadcasting server in at least two recording and broadcasting servers; sending first audio and video data, which are received after the first connection is interrupted and are aimed at the video conference, to a second recording and playing server through a second connection; and if the first connection is detected to be recovered to the connection state from the interruption state, controlling the first recording and playing server to send second audio and video data which are stored before the interruption of the first connection and aim at the video conference to the second recording and playing server. The invention can ensure the integrity of the recorded video.
Description
Technical Field
The present invention relates to the field of data transmission technologies, and in particular, to a data transmission method, an apparatus, a server, and a computer-readable storage medium.
Background
In the field of audio and video data transmission, a recording and playing device can record transmitted video streams, for example, audio and video data in a video conference.
However, in the process of recording the audio and video data by the recording and playing device, if the recording and playing device is abnormal in operation due to abnormal power failure or network problems, the recorded audio and video data is interrupted by the recording and playing device, which may result in incomplete content loss and incomplete data when the recorded audio and video data is played back.
Disclosure of Invention
In view of the above-mentioned problems of recorded data loss or incomplete recorded data in the data recording schemes in the related art, embodiments of the present invention provide a data transmission method, a data transmission apparatus, a server, and a computer-readable storage medium to overcome or at least partially solve the above-mentioned problems.
In order to solve the above problem, an embodiment of the present invention discloses a data transmission method, which is applied to a streaming media server in a video networking system, where the video networking system further includes at least two participant terminals and at least two recording and broadcasting servers, where the at least two participant terminals are in the same video conference, and the method includes:
the streaming media server receives audio and video data aiming at the video conference from the at least two participant terminals and sends the audio and video data to a first recorded broadcast server in the at least two recorded broadcast servers;
if the streaming media server detects that the first connection between the streaming media server and the first recording and broadcasting server is interrupted, the streaming media server establishes a second connection between the streaming media server and a second recording and broadcasting server in the at least two recording and broadcasting servers;
the streaming media server sends the first audio and video data which are received after the first connection is interrupted and are aimed at the video conference to the second recording and broadcasting server through the second connection;
and if the streaming media server detects that the first connection is recovered to the connection state from the interruption state, the streaming media server controls the first recording and broadcasting server to send second audio and video data which are stored before the first connection is interrupted and aim at the video conference to the second recording and broadcasting server.
The embodiment of the invention also discloses a data transmission device, which is applied to a streaming media server in a video networking system, the video networking system further comprises at least two participant terminals and at least two recording and broadcasting servers, wherein the at least two participant terminals are positioned in the same video conference, and the device comprises:
the first receiving module is used for receiving audio and video data aiming at the video conference from the at least two participating terminals;
the first sending module is used for sending the audio and video data to a first recorded broadcast server in the at least two recorded broadcast servers;
the establishing module is used for establishing a second connection between the streaming media server and a second recorded broadcast server in the at least two recorded broadcast servers if the interruption of the first connection between the streaming media server and the first recorded broadcast server is detected;
the second sending module is used for sending the first audio and video data which are received after the first connection is interrupted and are aimed at the video conference to the second recording and broadcasting server through the second connection;
and the control module is used for controlling the first recording and broadcasting server to send second audio and video data which are stored before the first connection is interrupted and aim at the video conference to the second recording and broadcasting server if the first connection is detected to be recovered from the interrupted state to the connected state.
The embodiment of the invention also discloses a server, which comprises:
one or more processors; and
one or more machine-readable media having instructions stored thereon, which when executed by the one or more processors, cause the apparatus to perform a data transmission method according to an embodiment of the present invention.
The embodiment of the invention also discloses a computer readable storage medium, and a stored computer program enables a processor to execute the data transmission method.
The embodiment of the invention has the following advantages:
in the embodiment of the invention, the streaming media server sends the audio and video data of the video conference received from at least two conference participating terminals to the first recording and playing server, so that when the first recording and playing server interrupts the first connection between the first recording and playing server and the streaming media server due to abnormal power failure or network problems, the streaming media server can establish a second connection with the second recording and playing server, send the first audio and video data of the video conference received after the first connection is interrupted to the second recording and playing server, and supplement the audio and video data of the video conference which is not transmitted due to abnormal breakpoint of the first recording and playing server or network reasons to the second recording and playing server in a breakpoint continuous transmission mode, thereby ensuring that the audio and video data of the video conference after the first connection is interrupted can be completely recorded by the second recording and playing server; in addition, in order to ensure that the second recording and playing server records complete audio and video data of the video conference, the streaming media server can control the first recording and playing server to synchronously send the stored second audio and video data of the video conference to the second recording and playing server when detecting that the first connection is recovered from the interrupted state to the connected state, so that the synchronization of the audio and video data can be realized in the audio and video data of the video conference stored in a distributed manner, and the problems of data loss and data incompleteness of the audio and video data of the video conference recorded by the recording and playing server due to abnormal power failure or network problems and the like in the process of recording the video conference of the participating terminal are solved.
Drawings
FIG. 1 is a block diagram of a video networking system according to an embodiment of the invention;
FIG. 2 is a flow chart of steps of a data transmission method embodiment of the present invention;
FIG. 3 is a flow chart of steps in another embodiment of a method of data transmission in accordance with the present invention;
FIG. 4 is a schematic structural diagram of an embodiment of a data transmission apparatus according to the present invention;
FIG. 5 is a networking schematic 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 is a schematic diagram of a hardware architecture of an access switch of the present invention;
fig. 8 is a schematic diagram of 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.
In the field of video networking, a recording and playing server can record an ongoing video conference, and then the video conference can be played back through recording of the video conference.
However, in the conventional technology, due to an abnormal reason such as a network problem or a system power failure, the recording server that is recording a video conference is abnormal, and the recording of the video is interrupted, which may cause the recorded video to be incomplete.
Taking a data transmission method as an example, in the data transmission method of the embodiment of the present invention, in the transmission process of the audio and video stream of the video conference, after the recording and broadcasting server and the streaming media server are interrupted, the streaming media server sends the audio and video stream of the video conference after interruption to another recording and broadcasting server which normally works in a manner of continuous transmission at a breakpoint, and after the original recording and broadcasting server is recovered to be normal, the original recording and broadcasting server is controlled to synchronize the audio and video stream of the video conference recorded before interruption to the other recording and broadcasting server which normally works, so that the other recording and broadcasting server can store the complete audio and video stream of the video conference, and it is ensured that after the recording and broadcasting server is abnormal, the audio and video stream of the video conference without content loss can still be recorded completely and completely, and the playback accuracy of the video conference is ensured.
In particular, referring to fig. 1, a block diagram of a video networking system of an embodiment of the present invention is shown.
The video networking system can comprise at least two conference participating terminals (here, a conference participating terminal 1 at a webpage end and a conference participating terminal 2 at a mobile device side), at least two recording and broadcasting servers (here, a recording and broadcasting server A and a recording and broadcasting server B), a streaming media server and a control terminal;
wherein, the participating terminal can be understood as a client of the video network, and can carry out the video conference.
The at least two participating terminals are in the same video conference, and the control terminal is used for controlling the at least two participating terminals to be in the same video conference.
The control terminal is used for providing functions of conference reservation, conference control, subtitle push, conference terminal control and the like, and guaranteeing the video conference of the video network;
the recording and broadcasting server is used for providing recording management of a visual interface, setting a recording standard according to newly added recording content, recording size and recording time, inquiring the recording content, modifying the associated information of the recording content and deleting the recording content;
the streaming media server is a bridge and a link of audio and video transmission services between a video network and the Internet, realizes seamless fusion of the video network services and IP network services, can safely access various audio and video resources in the IP network into the video network, can convert different audio and video streams of a video conference, a monitoring image, a digital television, a program on demand and the like in the video network and output the different audio and video streams in a common standard IP network protocol mode, and is core equipment for interconnection and intercommunication of the video network and an IP network mobile phone client.
The streaming media server can comprise a recording and broadcasting abnormal service module which is used for monitoring whether the recording and broadcasting server works normally or not, and management personnel can know the sites of the abnormal conditions of the intelligent recording and broadcasting system conveniently.
In an embodiment, the embodiment of the invention can install a UPS power supply on the recording and broadcasting server on the deployment architecture of the recording and broadcasting server;
wherein, the UPS power: the uninterruptible power supply is a system device which connects a storage battery with a host and converts direct current into commercial power through module circuits such as a host inverter and the like, and is mainly used for providing stable and uninterrupted power supply for a single computer, a computer network system or other power electronic devices such as an electromagnetic valve, a pressure transmitter and the like.
The recording and broadcasting server with the UPS can avoid the situation that the recorded and broadcasting content is incomplete due to power failure.
The data transmission method according to the embodiment of the present invention is described in detail below with reference to the step flow chart of an embodiment of the data transmission method according to the embodiment of the present invention shown in fig. 2 based on the system shown in fig. 1. The data transmission method can be applied to a streaming media server in the video networking system shown in fig. 1, and the method can include the following steps:
101, the streaming media server receives audio and video data aiming at the video conference from the at least two participant terminals and sends the audio and video data to a first recorded broadcast server in the at least two recorded broadcast servers;
in one example, as shown in fig. 1, the streaming media server may receive two paths of audio and video data from the participant terminal 1 and the participant terminal 2, where the two paths of audio and video data are audio and video data of an ongoing video conference of the two participant terminals. In order to enable the audio and video data of the video conference to be played in the video network, the streaming media server can perform protocol conversion on the audio and video data of the IP protocol received from the participant terminal, convert the audio and video data into the audio and video data conforming to the video network protocol, and then send the audio and video data conforming to the video network protocol to the recording and playing server A in the figure 1, namely the first recording and playing server.
Optionally, when the streaming media server sends the audio and video data from the participant terminal 1 and the participant terminal 2, which conform to the video networking protocol after the protocol conversion, to the recording and broadcasting server a, the streaming media server may send the converted audio and video data to the recording and broadcasting server a by sending a transmission instruction.
Alternatively, when step 101 is executed, it may be realized by S11 to S14:
s11, the streaming media server receives a recording and broadcasting instruction from the control terminal, wherein the recording and broadcasting instruction comprises a target terminal identifier, a target video conference identifier and a target recording and broadcasting server identifier;
the control terminal can send a recording and playing instruction to the streaming media server, and the recording and playing instruction is used for controlling which video conference is recorded by the streaming media server. Therefore, the recording and playing instruction may include the target terminal identifier of the participant terminal involved in the video conference that needs to be recorded (since the video conference generally involves at least two participant terminals, the target terminal identifier here includes the identification information of at least two participant terminals, and the identification information may be the participant terminal numbers);
in addition, a video conference may have a conference name, and since the same conference terminal may participate in different video conferences, a video conference identifier (i.e., a target video conference identifier, which may be video conference name information, for example) needs to be specified to uniquely determine a video conference by combining the target terminal identifier;
in addition, the control terminal may further specify which recording server records a certain video conference, and therefore, the recording instruction may further include identification information of the recording server that needs to record the video conference having the target video conference identification (i.e., a target recording server identification, such as a recording server ID).
S12, the streaming media server receives audio and video data aiming at the video conference from the at least two participant terminals, wherein the audio and video data comprise at least two terminal identifiers of the at least two participant terminals and a video conference identifier;
whether the video conference needs to be recorded or not, the participating terminal which is carrying out the video conference can send the audio and video data of the video conference which is live to the streaming media server, and each path of audio and video data from each participating terminal can comprise a terminal identification of the participating terminal which sends the path of audio and video data and a video conference identification corresponding to the path of audio and video data. Therefore, in this step, in at least two paths of audio and video data from at least two participant terminals received by the streaming media server, each path of audio and video data includes a terminal identifier of a corresponding participant terminal and a video conference identifier corresponding to the path of audio and video data.
In this example, since at least two participating terminals are conducting the same video conference, the video conference is identified as the same.
In this embodiment, the execution sequence between S11 and S12 is not limited in this embodiment of the present invention.
S13, the streaming media server judges whether to record the audio and video data according to the recording and broadcasting instruction;
the streaming media server may determine whether a target video conference identifier in the recording and playing instruction is the same as video conference identifiers in the audio and video data received from the at least two participant terminals, and determine whether a target terminal identifier in the recording and playing instruction (because a video conference generally involves at least two participant terminals, the target terminal identifier here is a combination of identifier information of the at least two participant terminals) is matched with at least two terminal identifiers of the at least two participant terminals in the audio and video data received from the at least two participant terminals (that is, the target terminal identifier includes the at least two terminal identifiers).
Wherein S13 is performed at S11 and S12.
And S14, if the video conference identifier is the same as the target video conference identifier and the at least two terminal identifiers are matched with the target terminal identifier, the streaming media server sends the audio and video data to a first recorded broadcast server of which the recorded broadcast server identifier is the target recorded broadcast server identifier in the at least two recorded broadcast servers.
If the video conference identifier is the same as the target video conference identifier and the at least two terminal identifiers are matched with the target terminal identifier after judgment, the streaming media server sends at least two paths of audio and video data (which are converted into data streams conforming to a video networking protocol) received from the at least two participating terminals to the at least two recording and broadcasting servers, and the recording and broadcasting server identifier is a first recording and broadcasting server of the target recording and broadcasting server identifier, which is the recording and broadcasting server a in fig. 1.
Wherein, after S13, S14 is performed.
In addition, it should be noted that before the streaming media server sends the audio and video data to the first recording and broadcasting server, the streaming media server needs to establish a connection with the first recording and broadcasting server, and then sends the audio and video data to the first recording and broadcasting server.
Therefore, the streaming media server can determine which audio and video data received from the participant terminals need to be recorded and which recording server the audio and video data need to be recorded needs to be sent to record based on the recording and broadcasting instructions of the control terminal, and the accuracy of recording the video conference can be ensured.
Step 102, if the streaming media server detects that the first connection between the streaming media server and the first recording and broadcasting server is interrupted, the streaming media server establishes a second connection between the streaming media server and a second recording and broadcasting server in the at least two recording and broadcasting servers;
after the streaming media server establishes a connection with one recording and broadcasting server (here, the first recording and broadcasting server), the recording and broadcasting abnormal service module in the streaming media server may detect whether the first recording and broadcasting server is working normally in a polling manner.
The specific polling manner may be that the streaming media server sends an access instruction (e.g., a heartbeat instruction) to the first recording and broadcasting server every first preset time (e.g., every 5 s), if the streaming media server receives a reply instruction to the access instruction from the first recording and broadcasting server in a second preset time (e.g., 3 s), it indicates that the first recording and broadcasting server is operating normally, and if the long-term streaming media server does not receive a reply command to the access instruction from the first recording and broadcasting server in excess of the second preset time, it indicates that the first recording and broadcasting server is abnormal and is not in a normal operating state.
Therefore, when the streaming media server does not receive a reply command to the access instruction from the first recording and broadcasting server when the streaming media server exceeds the second preset time, the streaming media server may determine that the first connection originally established between the streaming media server and the first recording and broadcasting server is interrupted because the maintained heartbeat instruction is interrupted. Then, in order to ensure normal recording of the video conference and avoid interruption of recording, the streaming media server may establish a second connection with a second recording server, where the second recording server is the recording server B in fig. 1.
Alternatively, the streaming media server side may store list information of the recording servers in an online state, and then the second recording server to which switching is required may be selected based on the list, for example, a recording server is randomly selected from the list to serve as the second recording server to be switched to.
Optionally, the method according to the embodiment of the present invention may further include:
therefore, after the first connection between the first recording and broadcasting server that originally records the video and the streaming media server is interrupted, the streaming media server can acquire the target contact information of the target administrator matched with the first recording and broadcasting server with the fault from the contact information of the administrator corresponding to the recording and broadcasting server configured in advance, and the target contact information can include at least one item of contact information such as a mobile phone number and a mailbox.
Step 102 and step 105 are parallel steps, and the execution order between the two steps is not limited by the present invention.
Step 106, the streaming media server informs the target administrator of fault information according to the target contact information;
wherein the fault information includes a recording and broadcasting server identifier of the first recording and broadcasting server.
For example, the recorded broadcast abnormal service module in the streaming media server may notify the target administrator of the fault information of the first recorded broadcast server by means of short message and/or email. The fault information may carry identification information of the first recording and broadcasting server, for example, the recording and broadcasting server a.
Therefore, when the streaming media server detects that the first connection between the first recording and playing server (which is originally connected with the streaming media server and is used for recording the audio and video data of the video conference) and the streaming media server is interrupted, the first recording and playing server is indicated to have a fault, and in order to solve the fault as soon as possible and enable the first recording and playing server to recover normal work, the streaming media server can acquire target contact information of a target administrator matched with the first recording and playing server, and inform the target administrator of fault information including the recording and playing server identification of the first recording and playing server according to the target contact information, so that the administrator can remove and process the fault conveniently, the faulty recording and playing server can be accurately positioned, and the administrator is informed to investigate and process the fault as soon as possible, the time for the interruption of the recording and playing server is shortened, and the influence on the recording of the video conference is reduced.
103, the streaming media server sends the first audio and video data, which is received after the first connection is interrupted and is specific to the video conference, to the second recording and playing server through the second connection;
after the streaming media server establishes a second connection with a second recording and broadcasting server, for example, the recording and broadcasting server B in fig. 1, first audio and video data, which is received from the at least two participant terminals after the first connection is interrupted and is specific to the video conference, may be sent to the recording and broadcasting server B through the second connection.
Optionally, the first audio/video data includes third audio/video data and fourth audio/video data, and then when step 103 is executed, the streaming media server may send, to the second recording and playing server, the third audio/video data, which is cached after the first connection is interrupted and before the second connection is established, for the video conference through the second connection; and the streaming media server can also send the fourth audio and video data which are received after the second connection is established and aim at the video conference to the second recording and broadcasting server through the second connection.
The first audio and video data after the first connection interruption sent by the streaming media server to the second recording and playing server can be divided into two parts, one part is third audio and video data which is received from the at least two participant terminals after the first connection interruption and before the second connection is established and aims at the video conference, and the other part is fourth audio and video data which is received from the at least two participant terminals after the second connection is established and aims at the video conference.
As for the fourth audio/video data, it is better understood that the audio/video data for the video conference, which are received by the streaming media server from the at least two participating terminals after the second connection is established, can be converted into the video networking protocol through the IP protocol and then transmitted to the recording and playing server B in real time.
For the third audio-video data, after the first connection of the streaming media server is interrupted, before the second connection is switched to (i.e., before the time point when the second connection is established), because the video conference is in a live broadcast form, audio-video data from at least two participating terminals for the video conference is still received by the streaming media server, but at this time, the streaming media server has not yet determined to which recording and playing server the audio-video data received at this time needs to be sent, therefore, the streaming media server may locally buffer the audio-video data from the at least two participating terminals for the video conference received in this period of time (i.e., after the first connection is interrupted, before the second connection is established), and after the second connection is established, send the buffered third audio-video data subjected to protocol conversion to the recording and playing server B.
In the embodiment of the present invention, it is considered that after the first connection is interrupted, the streaming media server may also receive the audio and video data for the video conference from the at least two participant terminals during the period before the second connection is established, and therefore, in order to ensure that the second recording and playing server may receive the audio and video data for the video conference that is complete after the first connection is interrupted, the streaming media server according to the embodiment of the present invention may locally cache the third audio and video data for the video conference from the at least two participant terminals during the period before the second connection is established after the first connection is interrupted, and send the fourth audio and video data for the video conference that is complete after the second connection is established after the protocol conversion and conforms to the video networking protocol to the second recording and playing server, thereby ensuring that the second recording and playing server may receive the complete audio and video conference data for the video conference after the first recording and playing server for the video conference is interrupted, and not only the first audio and video data for the video conference that is lost during the period when the streaming media server is switched is interrupted, but also stored in the first recording and playing server is able to implement the distributed storage of the audio and video conference data for the first recording and playing.
And step 104, if the streaming media server detects that the first connection is restored from the interrupted state to the connected state, the streaming media server controls the first recording and playing server to send second audio and video data, which are stored before the first connection is interrupted and aim at the video conference, to the second recording and playing server.
After the first recording and broadcasting server returns to normal, the first recording and broadcasting server may send the reply instruction (e.g., a heartbeat instruction) to the streaming media server, and then the streaming media server may continue to send an access instruction to the first recording and broadcasting server, and if the reply instruction of the first recording and broadcasting server is received within a second preset time period, it may be determined that the first connection between the streaming media server and the first recording and broadcasting server (e.g., the recording and broadcasting server a in fig. 1) returns from the interrupted state to the connected state, and then the streaming media server may control the recording and broadcasting server a to synchronize second audio and video data, which is stored before the first connection is interrupted, for the video conference to the recording and broadcasting server B.
Specifically, the streaming media server may send a control instruction (including a target video conference identifier and a recording and broadcasting server identifier of a second recording and broadcasting server) to the recording and broadcasting server a, so that the recording and broadcasting server a may query, according to the control instruction, second audio and video data associated with the target video conference identifier (that is, second audio and video data of the video conference recorded before the first connection is interrupted) in locally stored audio and video data, and then the recording and broadcasting server a may send the second audio and video data to the recording and broadcasting server B.
The recording and playing server B may receive, from the recording and playing server a, second audio and video data recorded before the first connection interruption for the video conference, and after receiving, from the streaming media server, the third audio and video data cached by the streaming media server before the second connection is established, and receive, from the streaming media server, fourth audio and video data received by the streaming media server from the at least two participant terminals after the second connection is established for the video conference. The second audio and video data, the third audio and video data and the fourth audio and video data are audio and video data which are converted by a streaming media server protocol and conform to a video networking protocol.
In addition, the recording and broadcasting server B can sequence the received multiple sets of audio and video data for the video conference in sequence according to the frame number, so as to obtain accurate and complete audio and video data of the video conference, and can ensure that the played video conference is also complete and accurate when the video conference is played back.
The execution order of step 103 and step 104 is not limited in the present invention.
In the embodiment of the invention, the streaming media server sends the audio and video data of the video conference received from at least two conference participating terminals to the first recording and playing server, so that when the first recording and playing server interrupts the first connection between the first recording and playing server and the streaming media server due to abnormal power failure or network problems, the streaming media server can establish a second connection with the second recording and playing server, send the first audio and video data of the video conference received after the first connection is interrupted to the second recording and playing server, and supplement the audio and video data of the video conference which is not transmitted due to abnormal breakpoint of the first recording and playing server or network reasons to the second recording and playing server in a breakpoint continuous transmission mode, thereby ensuring that the audio and video data of the video conference after the first connection is interrupted can be completely recorded by the second recording and playing server; in addition, in order to ensure that the second recording and playing server records complete audio and video data of the video conference, the streaming media server can also control the first recording and playing server to synchronously send the second audio and video data of the video conference, which is stored before the interruption of the first connection, to the second recording and playing server when detecting that the first connection is restored to the connection state from the interruption state, so that the synchronization of the audio and video data can be realized in a mode of storing the audio and video data of the video conference in a distributed manner through the audio and video data, and the problems of data loss and data incompleteness of the audio and video data of the video conference, which are recorded by the recording and playing server due to abnormal power failure or network problems and the like in the process of recording the video conference of the participating terminal are solved.
In an application scenario, in the video networking communication process, the method provided by the embodiment of the invention can solve the problem that the recorded video content is complete due to abnormal power failure of a recorded broadcast service system or network problems when a video conference of a handheld terminal and a webpage terminal is recorded. In the process of audio and video stream transmission, the streaming media server adopts a breakpoint continuous transmission mode to solve the problem of supplementary transmission of content which is not transmitted due to abnormal breakpoints or network reasons.
Optionally, based on the system shown in fig. 1, the data transmission method according to the embodiment of the present invention is described in detail with reference to the step flow chart of another data transmission method embodiment shown in fig. 3. The data transmission method can be applied to a streaming media server in the video networking system shown in fig. 1, and the method can include the following steps:
specifically, referring to step 101, details are not described here.
Step 502, the streaming media server sends the audio and video data to a first recorded broadcast server of the at least two recorded broadcast servers;
specifically, refer to step 101 above, which is not described herein again.
the initial value of the fifth audio-video data is the audio-video data which is received from the at least two participant terminals for the preset time length of the video conference for the first time;
that is to say, when the streaming media server receives the audio and video data for the video conference from the at least two participant terminals, the streaming media server may locally buffer the audio and video data in real time, and keep the time length of the buffered audio and video data at the preset time length (for example, 1 minute), so that the fifth audio and video data buffered for the first time is the audio and video data received for the first time and having the time length of 1 minute from the at least two participant terminals for the first time, that is, the audio and video data for the first minute of the video conference.
Wherein, step 503 is executed after step 501, and the execution order between step 502 and step 503 is not limited by the present invention.
Since the streaming media server is limited by the memory, only the audio and video data with the preset duration is cached each time, and as described in step 504, the cached audio and video data with the preset duration is updated in real time, that is, updated to the latest received audio and video data of the latest 1 minute in real time.
step 505, if the streaming media server detects that the first connection between the streaming media server and the first recording and broadcasting server is interrupted, the streaming media server establishes a second connection between the streaming media server and a second recording and broadcasting server of the at least two recording and broadcasting servers;
for detailed description of this step, reference may be made to step 102, which is not described herein again.
The locally cached fifth audio/video data is the latest audio/video data of the video conference received last time, and since the streaming media server receives the latest audio/video data from the at least two participant terminals within the time period (for example, 30 seconds) after the first connection is interrupted and before the second connection is established, and updates the locally cached audio/video data of 1 minute to the latest received audio/video data of the latest 1 minute in real time, the third audio/video data cached by the streaming media server after the first connection is interrupted and before the second connection is established can be inquired and obtained from the cached fifth audio/video data of 1 minute, and then the found third audio/video data is sent to the second recording and playing server.
In addition, step 506 may be performed at the time point of the establishment of the second connection, so that it may be avoided that the cached fifth audio/video data is already covered by the newly received audio/video data due to a later query, and it is difficult to query that the streaming media server receives the audio/video data of the video conference in the period of time (for example, 30 seconds) after the interruption of the first connection and before the establishment of the second connection.
Optionally, in an embodiment, in step 506, the streaming media server may obtain, in the locally cached fifth audio-video data, third audio-video data cached by the streaming media server after the first caching time point and before the second caching time point, and send the third audio-video data to the second recording and playing server; the first buffering time point is an interruption time point of the first connection, and the second buffering time point is a setup time point of the second connection.
In the embodiment of the present invention, by obtaining, from the latest fifth audiovisual data cached locally in real time, the third audiovisual data in the time period in which the time of the caching time period coincides with the time of the first connection interruption and the time of the second connection establishment, the obtained third audiovisual data is accurate in the time period after the first connection interruption and before the second connection establishment, and there is no audiovisual data with data loss, and it is possible to accurately synchronize the audiovisual data cached by the streaming media server to the second recording and playing server in the process of switching the first connection to the second connection.
Step 507, the streaming media server sends the fourth audio and video data for the video conference, which is received after the second connection is established, to the second recording and playing server through the second connection.
After the second connection is established, the audio and video data received by the streaming media server from the at least two participant terminals can be transmitted to the second recording and broadcasting server in real time through the fourth audio and video data after protocol conversion.
The detailed description of this step may refer to step 104, which is not described herein again.
The execution sequence between step 506 and step 507 and step 508 is not limited by the present invention.
In the embodiment of the invention, after receiving the audio and video data aiming at a certain video conference from at least two conference terminals, the streaming media server can buffer the audio and video data with preset time length in real time and update the buffered audio and video data into the audio and video data aiming at the video conference received last time in real time, so that the streaming media server can locally buffer the fifth audio and video data (such as the video conference content of the last minute) with the latest preset time length of the video conference; and by means of the cached fifth audio-video data, after the first recording server which records the video conference is abnormal and the first connection between the first recording server and the streaming media server is interrupted, and the streaming media server is switched to another second recording server to be connected and generate the second connection, the audio-video data of the video conference which is carried out in the time period can be completely cached at the streaming media server side, so that the third audio-video data cached in the time period can be extracted from the cached fifth audio-video data and synchronized to the second recording server, the completeness of the video conference recorded by the second recording server is ensured, and the condition of data loss does not exist.
It should be noted that for simplicity of description, the method embodiments are shown as a series of combinations of acts, but those skilled in the art will recognize that the embodiments are not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments. 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 data transmission apparatus according to an embodiment of the present invention is shown, where the apparatus is applied to a streaming media server in a video networking system, the video networking system further includes at least two participant terminals and at least two recording and broadcasting servers, where the at least two participant terminals are in a same video conference, and the apparatus may include the following modules:
a first receiving module 21, configured to receive audio and video data for the video conference from the at least two conference participating terminals;
the first sending module 22 is configured to send the audio and video data to a first recording and playing server of the at least two recording and playing servers;
an establishing module 23, configured to establish a second connection between the streaming media server and a second recorded broadcast server of the at least two recorded broadcast servers if it is detected that a first connection between the streaming media server and the first recorded broadcast server is interrupted;
a second sending module 24, configured to send, through the second connection, the first audio and video data for the video conference, which is received after the first connection is interrupted, to the second recording and playing server;
and the control module 25 is configured to, if it is detected that the first connection is restored from the interrupted state to the connected state, control the first recording and playing server to send, to the second recording and playing server, second audio and video data, which is stored before the first connection is interrupted and is specific to the video conference.
Optionally, the first audio/video data includes third audio/video data and fourth audio/video data, and the second sending module 24 includes:
a first sending submodule, configured to send, through the second connection, the third audio and video data, which is cached after the first connection is interrupted and before the second connection is established, to the second recording and playing server for the video conference;
and the second sending submodule is used for sending the fourth audio and video data which are received by the first receiving module and aim at the video conference after the second connection is established to the second recording and broadcasting server through the second connection.
Optionally, the apparatus further comprises:
the buffer module is configured to buffer locally fifth audio and video data, where an initial value of the fifth audio and video data is audio and video data of the preset duration for the video conference, where the audio and video data is received by the first receiving module 21 from the at least two participant terminals for the first time;
the updating module is used for updating the locally cached fifth audio and video data into the audio and video data which is received at the last time and has preset duration aiming at the video conference in real time;
the first sending submodule is further configured to obtain, in the locally cached fifth audio-video data, third audio-video data cached after the first connection is interrupted and before the second connection is established, and send the third audio-video data to the second recording and playing server.
Optionally, the first sending sub-module is further configured to, in the locally cached fifth audio-video data, obtain third audio-video data cached after the first caching time point and before the second caching time point, and send the third audio-video data to the second recording and playing server;
the first buffering time point is an interruption time point of the first connection, and the second buffering time point is a setup time point of the second connection.
Optionally, the video networking system further includes a control terminal, and the apparatus further includes:
the second receiving module is used for receiving a recording and broadcasting instruction from the control terminal, wherein the recording and broadcasting instruction comprises a target terminal identifier, a target video conference identifier and a target recording and broadcasting server identifier;
the first receiving module 21 is configured to receive audio and video data for the video conference from the at least two conference participating terminals, where the audio and video data includes at least two terminal identifiers of the at least two conference participating terminals and a video conference identifier;
optionally, the apparatus further comprises:
the judging module is used for judging whether the audio and video data are recorded according to the recording and broadcasting instruction;
the first sending module 22 is further configured to send the audio and video data to a first recorded broadcast server of the at least two recorded broadcast servers, where the recorded broadcast server identifier is the target recorded broadcast server identifier, if the video conference identifier is the same as the target video conference identifier and the at least two terminal identifiers are matched with the target terminal identifier.
Optionally, the apparatus further comprises:
the acquisition module is used for acquiring target contact information of a target administrator matched with the first recording and broadcasting server if the interruption of the first connection between the streaming media server and the first recording and broadcasting server is detected;
and the notification module is used for notifying the target administrator of fault information according to the target contact information, wherein the fault information comprises a recording and broadcasting server identifier of the first recording and broadcasting server.
In the embodiment of the invention, the audio and video data of the video conference received from at least two conference participating terminals can be sent to the first recording and playing server, so that when the first connection between the first recording and playing server and the streaming media server is interrupted due to abnormal power failure or network problems and the like, the streaming media server and the second recording and playing server establish second connection, and the first audio and video data of the video conference received after the first connection is interrupted and aiming at the video conference is sent to the second recording and playing server, and the audio and video data of the video conference which is not transmitted due to abnormal breakpoint of the first recording and playing server or network reasons is supplemented to the second recording and playing server in a breakpoint continuous transmission mode, so that the audio and video data of the video conference after the first connection interruption can be completely recorded by the second recording and playing server; in addition, in order to ensure that the second recording and playing server records complete audio and video data of the video conference, when it is detected that the first connection is recovered from the interrupted state to the connected state, the first recording and playing server can be controlled to synchronously send the second audio and video data of the video conference, which is stored before the interruption of the first connection, to the second recording and playing server, so that the synchronization of the audio and video data can be realized in a manner of storing the audio and video data of the video conference in a distributed manner, and the problems of data loss and data incompleteness of the audio and video data of the video conference, which are recorded by the recording and playing server due to abnormal power failure, network problems and the like in the process of recording the video conference of the participant terminal, are solved.
For the embodiment of the data transmission device, since it is basically similar to the embodiment of the data transmission method, the description is relatively simple, and for relevant points, reference may be made to part of the description of the embodiment of the data transmission method.
An embodiment of the present invention further provides a server, including:
one or more processors; and
one or more machine-readable media having instructions stored thereon, which when executed by the one or more processors, cause the apparatus to perform a data transmission method according to any one of the embodiments of the invention.
The embodiment of the invention also provides a computer readable storage medium, which stores a computer program for enabling a processor to execute the data transmission method according to any embodiment of the invention.
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 the traditional Ethernet (Ethernet) to face the potentially huge first video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network Circuit Switching (Circuit Switching), the video networking technology adopts Packet Switching 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 network is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the large-scale high-definition video real-time transmission of the whole network which can not be realized by the current 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 over one hundred times compared with that of the 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:
an internet of view is a centrally controlled network structure, which may be of the tree, star, ring, etc. type, but on this basis a centralized control node is required in the network to control the entire 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 may be directly connected to the access switch or may be directly connected to 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 central control function in the metropolitan area network and can control the node switch and the 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 controlled by a hierarchical centralized way, and the network controlled by the node server and the metropolitan area server can be in various structures such as a tree, a star, a ring and the like.
The access network part can form a unified video platform (the part in a 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: server, exchanger (including Ethernet protocol gateway), terminal (including various set-top box, coding board, memory, 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 the devices of the access network part can be mainly classified into 3 types: node server, access exchanger (including Ethernet protocol conversion gateway), terminal (including various set-top boxes, coding board, memory, 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 packets coming from 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 according to 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 queued 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 close to 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 close to full, it is discarded.
The switching engine module 303 polls all packet buffer queues and may include 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 queued 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 co-rotating 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 DA, MAC SA, length or frame type (2 byte) is subtracted by the MAC deletion module 410 and enters the corresponding receiving buffer, otherwise it is discarded;
the downlink network interface module 401 detects the sending buffer of the port, if there is a packet, the ethernet MAC DA of the corresponding terminal is known according to the destination address DA of the packet in the video network, the ethernet MAC DA of the terminal, the MAC SA of the ethernet protocol gateway, and the ethernet length or frame type are added, and the packet is sent.
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 byte, 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);
reserved bytes consist of 2 bytes;
the payload part has different lengths according to the types of different datagrams, 64 bytes if it is a packet of various protocols, 32+1024=1056 bytes if it is a packet of unicast data, and certainly not limited to the above 2 types;
the CRC consists of 4 bytes and its calculation method follows 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 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 0x0001. 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 all passively executed, which is different from label allocation of MPLS, which 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, which is located between the reserved bytes and the payload of the packet.
The embodiments in the present specification are all described in a progressive manner, and each embodiment focuses on differences from other embodiments, and portions that are the same and similar between the embodiments may be 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 apparatus 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, in this document, relational terms such as first and second, and the like are 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 phrases "comprising one of \ 8230; \8230;" does not exclude the presence of additional like elements in a process, method, article, or terminal device that comprises the element.
The data transmission method, the data transmission device, the server and the computer-readable storage medium provided by the present invention are described in detail above, and specific examples are applied herein to illustrate the principles and embodiments of the present invention, and the description of the above embodiments is only used to help understand the method and the core idea of the present 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. A data transmission method is applied to a streaming media server in a video networking system, the video networking system further comprises at least two participant terminals and at least two recording and broadcasting servers, wherein the at least two participant terminals are in the same video conference, and the method comprises the following steps:
the streaming media server receives audio and video data aiming at the video conference from the at least two participant terminals and sends the audio and video data to a first recorded broadcast server in the at least two recorded broadcast servers;
if the streaming media server detects that the first connection between the streaming media server and the first recording and broadcasting server is interrupted, the streaming media server establishes a second connection between the streaming media server and a second recording and broadcasting server in the at least two recording and broadcasting servers;
the streaming media server sends the first audio and video data which are received after the first connection is interrupted and are aimed at the video conference to the second recording and broadcasting server through the second connection; the first audio and video data comprise third audio and video data cached after the first connection is interrupted and before the second connection is established and fourth audio and video data received after the second connection is established;
and if the streaming media server detects that the first connection is recovered to the connection state from the interruption state, the streaming media server controls the first recording and broadcasting server to send second audio and video data which are stored before the first connection is interrupted and aim at the video conference to the second recording and broadcasting server.
2. The method of claim 1, wherein the streaming media server sends, to the second recording server, the first audio and video data for the video conference received after the first connection is interrupted through the second connection, and the method includes:
the streaming media server sends the third audio and video data which are cached for the video conference after the first connection is interrupted and before the second connection is established to the second recording and broadcasting server through the second connection;
and the streaming media server sends the fourth audio and video data which are received after the second connection is established and aim at the video conference to the second recording and broadcasting server through the second connection.
3. The method of claim 2,
after the streaming media server receives the audio and video data for the video conference from the at least two participating terminals, the method further includes:
the streaming media server caches fifth audio and video data locally, wherein an initial value of the fifth audio and video data is audio and video data which are received from the at least two participant terminals for the first time and aim at a preset time length of the video conference;
the streaming media server updates the locally cached fifth audio and video data into audio and video data which are received at the last time and have preset duration aiming at the video conference in real time;
the streaming media server sends the third audio and video data for the video conference, which are cached after the first connection is interrupted and before the second connection is established, to the second recording and playing server through the second connection, where the sending of the third audio and video data for the video conference includes:
and the streaming media server acquires third audio-video data cached by the streaming media server after the first connection is interrupted and before the second connection is established in the locally cached fifth audio-video data, and sends the third audio-video data to the second recording and playing server.
4. The method of claim 3, wherein the streaming media server obtains, in the locally cached fifth audio-video data, third audio-video data cached by the streaming media server after the interruption of the first connection and before the establishment of the second connection, and sends the third audio-video data to the second recording server, and the method includes:
the streaming media server obtains third audio and video data cached by the streaming media server after the first caching time point and before the second caching time point in the locally cached fifth audio and video data, and sends the third audio and video data to the second recording and playing server;
the first cache time point is an interruption time point of the first connection, and the second cache time point is a setup time point of the second connection.
5. The method according to claim 1, wherein the video networking system further comprises a control terminal, the streaming media server receives audio and video data for the video conference from the at least two participating terminals and sends the audio and video data to a first recording server of the at least two recording servers, and the method comprises:
the streaming media server receives a recorded broadcast instruction from the control terminal, wherein the recorded broadcast instruction comprises a target terminal identifier, a target video conference identifier and a target recorded broadcast server identifier;
the streaming media server receives audio and video data aiming at the video conference from the at least two participant terminals, wherein the audio and video data comprise at least two terminal identifications of the at least two participant terminals and a video conference identification;
the streaming media server judges whether to record the audio and video data according to the recording and playing instruction;
and if the video conference identifier is the same as the target video conference identifier and the at least two terminal identifiers are matched with the target terminal identifier, the streaming media server sends the audio and video data to a first recorded broadcast server of which the recorded broadcast server identifier is the target recorded broadcast server identifier in the at least two recorded broadcast servers.
6. The method of claim 1, further comprising:
if the streaming media server detects that the first connection between the streaming media server and the first recording and broadcasting server is interrupted, the streaming media server acquires target contact information of a target administrator matched with the first recording and broadcasting server;
and the streaming media server informs the target administrator of fault information according to target contact information, wherein the fault information comprises a recording and broadcasting server identifier of the first recording and broadcasting server.
7. A data transmission device, wherein the device is applied to a streaming media server in a video networking system, the video networking system further includes at least two participant terminals and at least two recording and broadcasting servers, wherein the at least two participant terminals are in the same video conference, the device includes:
the first receiving module is used for receiving audio and video data aiming at the video conference from the at least two participating terminals;
the first sending module is used for sending the audio and video data to a first recording and broadcasting server in the at least two recording and broadcasting servers;
the establishing module is used for establishing a second connection between the streaming media server and a second recorded broadcast server in the at least two recorded broadcast servers if the interruption of the first connection between the streaming media server and the first recorded broadcast server is detected;
the second sending module is used for sending the first audio and video data which are received after the first connection is interrupted and aim at the video conference to the second recording and broadcasting server through the second connection; the first audio and video data comprises third audio and video data cached after the first connection is interrupted and before the second connection is established and fourth audio and video data received after the second connection is established;
and the control module is used for controlling the first recording and broadcasting server to send second audio and video data which are stored before the first connection is interrupted and aim at the video conference to the second recording and broadcasting server if the first connection is detected to be recovered from the interrupted state to the connected state.
8. The apparatus of claim 7, wherein the second sending module comprises:
a first sending submodule, configured to send, through the second connection, the third audio and video data, which is cached after the first connection is interrupted and before the second connection is established, to the second recording and playing server for the video conference;
and the second sending submodule is used for sending the fourth audio and video data which are received by the first receiving module and aim at the video conference after the second connection is established to the second recording and broadcasting server through the second connection.
9. A server, comprising:
one or more processors; and
one or more machine-readable media having instructions stored thereon, which when executed by the one or more processors, cause the processors to perform a data transmission method as recited in any of claims 1-6.
10. A computer-readable storage medium, characterized in that it stores a computer program that causes a processor to execute the data transmission method according to any one of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010144597.2A CN111447392B (en) | 2020-03-04 | 2020-03-04 | Data transmission method, device, server and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010144597.2A CN111447392B (en) | 2020-03-04 | 2020-03-04 | Data transmission method, device, server and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111447392A CN111447392A (en) | 2020-07-24 |
CN111447392B true CN111447392B (en) | 2022-12-23 |
Family
ID=71653022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010144597.2A Active CN111447392B (en) | 2020-03-04 | 2020-03-04 | Data transmission method, device, server and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447392B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822433B (en) * | 2021-04-19 | 2021-07-23 | 荣耀终端有限公司 | Control method and related device in video conference |
CN113691762B (en) * | 2021-08-16 | 2023-07-07 | 咪咕文化科技有限公司 | Data transmission method and device for video conference and computer readable storage medium |
CN113840003B (en) * | 2021-09-24 | 2024-07-26 | 维沃移动通信有限公司 | Synchronization method and device |
CN114860370B (en) * | 2022-05-17 | 2024-03-29 | 聚好看科技股份有限公司 | Display equipment, server and software development kit switching method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889665A (en) * | 2005-06-29 | 2007-01-03 | 建兴电子科技股份有限公司 | Reserved recording task executing method |
CN101094380A (en) * | 2006-06-20 | 2007-12-26 | 中兴通讯股份有限公司 | Method and device of syncretizing conference TV system and interactive network TV system |
CN107566883A (en) * | 2017-08-11 | 2018-01-09 | 中广热点云科技有限公司 | A kind of method using recorded broadcast equipment recorded broadcast TV programme |
CN110166728A (en) * | 2019-05-29 | 2019-08-23 | 视联动力信息技术股份有限公司 | A kind of view networking meeting method and device |
CN110418092A (en) * | 2019-06-17 | 2019-11-05 | 腾讯科技(深圳)有限公司 | Video record management system, method, control management node and recording node |
CN110784678A (en) * | 2019-10-11 | 2020-02-11 | 视联动力信息技术股份有限公司 | Conference data recording method and device |
CN110784452A (en) * | 2019-09-26 | 2020-02-11 | 视联动力信息技术股份有限公司 | Video data pushing method and device |
-
2020
- 2020-03-04 CN CN202010144597.2A patent/CN111447392B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889665A (en) * | 2005-06-29 | 2007-01-03 | 建兴电子科技股份有限公司 | Reserved recording task executing method |
CN101094380A (en) * | 2006-06-20 | 2007-12-26 | 中兴通讯股份有限公司 | Method and device of syncretizing conference TV system and interactive network TV system |
WO2008000114A1 (en) * | 2006-06-20 | 2008-01-03 | Zte Corporation | Method for interfusing conference television system with iptv system and apparatus thereof |
CN107566883A (en) * | 2017-08-11 | 2018-01-09 | 中广热点云科技有限公司 | A kind of method using recorded broadcast equipment recorded broadcast TV programme |
CN110166728A (en) * | 2019-05-29 | 2019-08-23 | 视联动力信息技术股份有限公司 | A kind of view networking meeting method and device |
CN110418092A (en) * | 2019-06-17 | 2019-11-05 | 腾讯科技(深圳)有限公司 | Video record management system, method, control management node and recording node |
CN110784452A (en) * | 2019-09-26 | 2020-02-11 | 视联动力信息技术股份有限公司 | Video data pushing method and device |
CN110784678A (en) * | 2019-10-11 | 2020-02-11 | 视联动力信息技术股份有限公司 | Conference data recording method and device |
Also Published As
Publication number | Publication date |
---|---|
CN111447392A (en) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111447392B (en) | Data transmission method, device, server and computer readable storage medium | |
CN111200521B (en) | Video networking service recovery method, server, electronic equipment and storage medium | |
CN110489484B (en) | Data synchronization method and device, readable storage medium and electronic equipment | |
CN109547728B (en) | Recorded broadcast source conference entering and conference recorded broadcast method and system | |
CN109379254B (en) | Network connection detection method and system based on video conference | |
CN109587002B (en) | State detection method and system for video network monitoring equipment | |
CN109246486B (en) | Method and device for framing | |
CN108965220B (en) | Method and system for synchronizing conference control right | |
CN109729388B (en) | Method and device for switching video networking servers | |
CN109819062B (en) | Method and device for accessing network by using virtual MAC address | |
CN110224988B (en) | Image data processing method, system and device and storage medium | |
CN109889775B (en) | Data timeout processing method and device | |
CN109714568B (en) | Video monitoring data synchronization method and device | |
CN111131747A (en) | Method and device for determining data channel state, electronic equipment and storage medium | |
CN110690989A (en) | Service data transmission method, device and computer readable storage medium | |
CN110166363B (en) | Multicast link monitoring method and device | |
CN110401876B (en) | Audio and video asynchronous warning method and device, electronic equipment and readable storage medium | |
CN110519549B (en) | Conference terminal list obtaining method and system | |
CN110445639B (en) | Hot standby method and device for server | |
CN109698953B (en) | State detection method and system for video network monitoring equipment | |
CN109861929B (en) | Data caching processing method and device | |
CN109474661B (en) | Method and system for processing network request event | |
CN110213533B (en) | Method and device for acquiring video stream monitored by video network | |
CN110392233B (en) | Monitoring video processing method, device and storage medium | |
CN109688073B (en) | Data processing method and system based on video network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 33rd Floor, No.1 Huasheng Road, Yuzhong District, Chongqing 400013 Patentee after: VISIONVERA INFORMATION TECHNOLOGY Co.,Ltd. Country or region after: China Address before: 100000 Beijing Dongcheng District Qinglong Hutong 1 Song Hua Building A1103-1113 Patentee before: VISIONVERA INFORMATION TECHNOLOGY Co.,Ltd. Country or region before: China |