CN111131911A - Multicast method and device - Google Patents

Multicast method and device Download PDF

Info

Publication number
CN111131911A
CN111131911A CN201911369488.4A CN201911369488A CN111131911A CN 111131911 A CN111131911 A CN 111131911A CN 201911369488 A CN201911369488 A CN 201911369488A CN 111131911 A CN111131911 A CN 111131911A
Authority
CN
China
Prior art keywords
multicast
video
node server
terminal
request message
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.)
Granted
Application number
CN201911369488.4A
Other languages
Chinese (zh)
Other versions
CN111131911B (en
Inventor
周兴
周新海
沈军
杨春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN201911369488.4A priority Critical patent/CN111131911B/en
Publication of CN111131911A publication Critical patent/CN111131911A/en
Application granted granted Critical
Publication of CN111131911B publication Critical patent/CN111131911B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the invention provides a multicast method and a device, wherein a node server is connected with a terminal in the same local area network, and the node server is connected with a core server, and the method comprises the following steps: the node server receives a video request message sent by a terminal, judges whether multicast of videos corresponding to the video request message is established or not, if so, adds the terminal to the multicast, simultaneously acquires an authentication token of the videos corresponding to the video request message, and sends the authentication token to the terminal, otherwise, establishes multicast of the videos corresponding to the video request message, and generates and sends the authentication token of the videos corresponding to the video request message to the terminal, thereby realizing that a multicast signaling for describing a routing path is not required to be additionally generated, a routing server on the routing path is not required to process complex multicast signaling, further responding to the multicast request of the terminal in the local area network more quickly, improving the smoothness of the multicast, and in addition, improving the stability of the multi-path multicast concurrence in the local area network.

Description

Multicast method and device
Technical Field
The present invention relates to the field of multicast technologies, and in particular, to a multicast method and a multicast apparatus.
Background
Multicast is also called multicast, which is a transmission method used in a network. The multicast approach allows for the delivery of a transmitted message to a selected subset of all possible destinations, i.e., to deliver information to a variety of addresses as specified. Multicast is a method of communication between a sender and multiple receivers.
In the current multicast implementation method, a terminal generally directly sends a video push request to a core server, and after the core server adds the terminal into a multicast list, the core server sends video data to the terminal in the multicast list. When a plurality of terminals are respectively located in different local area networks and a core server sends video data to the terminals, the video data need to pass through a plurality of routing servers between the core server and the terminals, so when the core server sends the video data, a multicast signaling carrying routing path information is needed at the same time to indicate a plurality of routers on a transmission path to forward, and finally the video data accurately reach the terminals.
However, when there are many routing servers on the transmission path, the structure of the multicast signaling becomes more complex, and the time spent by each router in analyzing the multicast signaling is further prolonged, which greatly affects the transmission speed of the video data. In addition, when the structure of the multicast signaling is complex, the probability of errors when the routing server analyzes the multicast signaling is also greatly increased, and once a certain routing server on a transmission path analyzes the multicast signaling and has errors, the result that the video data cannot be accurately transmitted to the terminal is caused.
Disclosure of Invention
In view of the above problems, embodiments of the present invention are proposed to provide a multicast method and a corresponding multicast apparatus that overcome or at least partially solve the above problems.
In order to solve the above problem, an embodiment of the present invention discloses a multicast method, where the method relates to a terminal, a node server, and a core server, where the node server is connected to the terminal in the same local area network, the node server is connected to the core server, and the core server is used to send video data to the node server, and the method includes:
the node server receives a video request message sent by the terminal;
the node server judges whether multicast of the video corresponding to the video request message is established;
if the multicast of the video corresponding to the video request message is established, the node server adds the terminal to the multicast;
the node server acquires an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal;
if the multicast of the video corresponding to the video request message is not established, the node server establishes the multicast of the video corresponding to the video request message;
after the multicast of the video corresponding to the video request message is established, the node server generates an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal.
Optionally, the video request message includes a video identifier corresponding to video data requested by the terminal, and the step of the node server determining whether multicast of a video corresponding to the video request message has been established includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the video request message;
the node server acquires a multicast address list set;
the node server judges whether a multicast address list corresponding to the video identifier exists in the multicast address list set;
if the multicast address list corresponding to the video identifier exists, the node server determines that multicast of the video corresponding to the video request message is established;
and if the multicast address list corresponding to the video identifier does not exist, the node server determines that the multicast of the video corresponding to the video request message is not established.
Optionally, the video request message includes a video identifier corresponding to the video data requested by the terminal and a network address of the terminal, and the adding, by the node server, the terminal to the multicast includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal and a network address of the terminal from the video request message;
the node server acquires a multicast address list set;
the node server inquires the multicast address list set to obtain a multicast address list corresponding to the video identifier;
the node server adds the network address to the multicast address list.
Optionally, the step of the node server obtaining the authentication token of the video corresponding to the video request message includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the video request message;
the node server acquires an authentication token relation table;
and the node server inquires the authentication token relation table and determines the authentication token corresponding to the video identifier.
Optionally, the video request message includes a video identifier corresponding to video data requested by the terminal and a network address of the terminal, and the step of the node server establishing multicast of a video corresponding to the video request message includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal and a network address of the terminal from the video request message;
the node server establishes a multicast address list corresponding to the video identifier;
the node server adds the network address to the multicast address list.
Optionally, the video request message includes a video identifier corresponding to video data requested by the terminal, and the step of generating, by the node server, an authentication token of a video corresponding to the video request message includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the video request message;
and the node server adopts the video identification to generate an authentication token in a packaging way.
Correspondingly, the embodiment of the invention also discloses a multicast method, which relates to a terminal, a node server and a core server, wherein the node server is connected with the terminal in the same local area network, the node server is connected with the core server, and the core server is used for sending video data to the node server, and the method comprises the following steps:
the node server receives a multicast closing message sent by the terminal;
the node server determines that the terminal requests to close the multicast corresponding to the video according to the multicast closing message;
the node server acquires a multicast address list corresponding to the multicast, and judges whether other terminals use the multicast or not according to the multicast address list;
if other terminals use the multicast, the node server deletes the network address of the terminal in the multicast address list;
and if no other terminal uses the multicast, the node server closes the multicast.
Optionally, the multicast close message includes a video identifier corresponding to the video data requested by the terminal, and the step of determining, by the node server according to the multicast close message, that the terminal requests to close a multicast corresponding to the video includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the multicast closing message;
and the node server determines the multicast corresponding to the video identifier as the multicast which is requested to be closed by the terminal.
Optionally, the step of the node server determining whether there is another terminal using the multicast according to the multicast address list includes:
the node server acquires a network address of the terminal;
the node server inquires whether a network address different from the network address of the terminal exists in the multicast address list or not;
if the network address different from the network address of the terminal exists, the node server determines that other terminals use the multicast;
and if the network address different from the network address of the terminal does not exist, the node server determines that other terminals do not use the multicast.
Optionally, the multicast closing message includes a video identifier corresponding to video data requested by the terminal, and the step of closing the multicast by the node server includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the multicast closing message;
the node server acquires an authentication token relation table and deletes the corresponding relation between the video identification and the authentication token;
and the node server deletes the multicast address list.
Correspondingly, the embodiment of the invention also discloses a multicast device, which relates to a terminal, a node server and a core server, wherein the node server is connected with the terminal in the same local area network, the node server is connected with the core server, and the core server is used for sending video data to the node server, and the device comprises:
the node server comprises a video request message receiving module, a multicast judging module, a terminal adding module, an authentication token obtaining and sending module, a multicast establishing module and an authentication token generating and sending module;
a video request message receiving module, configured to receive a video request message sent by the terminal;
the multicast judging module is used for judging whether the multicast of the video corresponding to the video request message is established;
the terminal adding module is used for adding the terminal to the multicast if the multicast of the video corresponding to the video request message is established;
the authentication token obtaining and sending module is used for obtaining the authentication token of the video corresponding to the video request message and sending the authentication token to the terminal;
the multicast establishing module is used for establishing the multicast of the video corresponding to the video request message if the multicast of the video corresponding to the video request message is not established;
and the authentication token generating and sending module is used for generating an authentication token of the video corresponding to the video request message after the multicast of the video corresponding to the video request message is established, and sending the authentication token to the terminal.
Optionally, the multicast determining module includes the following sub-modules:
a video identifier obtaining sub-module, configured to obtain, from the video request message, a video identifier corresponding to the video data requested by the terminal;
a multicast address list set acquisition submodule for acquiring a multicast address list set;
a multicast address list judgment submodule, configured to judge whether a multicast address list corresponding to the video identifier exists in the multicast address list set;
a multicast establishing and confirming submodule, configured to determine that multicast of a video corresponding to the video request message has been established if a multicast address list corresponding to the video identifier exists;
and the multicast non-establishment confirming submodule is used for confirming that the multicast of the video corresponding to the video request message is not established if the multicast address list corresponding to the video identification does not exist.
Optionally, the terminal adding module includes the following sub-modules:
a network address obtaining submodule, configured to obtain, from the video request message, a video identifier corresponding to video data requested by the terminal and a network address of the terminal;
a multicast address list set acquisition submodule for acquiring a multicast address list set;
a multicast address list obtaining submodule, wherein the node server inquires the multicast address list set to obtain a multicast address list corresponding to the video identifier;
and the terminal adding submodule is used for adding the network address into the multicast address list.
Optionally, the authentication token obtaining and sending module includes the following sub-modules:
a video identifier obtaining sub-module, configured to obtain, from the video request message, a video identifier corresponding to the video data requested by the terminal;
the authentication token relation table acquisition submodule is used for acquiring an authentication token relation table;
and the authentication token determining submodule is used for inquiring the authentication token relation table and determining the authentication token corresponding to the video identifier.
Optionally, the multicast establishing module includes:
a video identifier and network address obtaining submodule, configured to obtain, from the video request message, a video identifier corresponding to video data requested by the terminal and a network address of the terminal;
the multicast address list establishing submodule is used for establishing a multicast address list corresponding to the video identifier;
and the network address adding submodule is used for adding the network address into the multicast address list.
Optionally, the authentication token generation and transmission module includes:
a video identifier obtaining sub-module, configured to obtain, from the video request message, a video identifier corresponding to the video data requested by the terminal;
and the authentication token encapsulation submodule is used for generating an authentication token by adopting the video identification through encapsulation.
Correspondingly, the embodiment of the invention also discloses a multicast device, which relates to a terminal, a node server and a core server, wherein the node server is connected with the terminal in the same local area network, the node server is connected with the core server, and the core server is used for sending video data to the node server, and the device comprises:
the node server comprises a multicast closing message receiving module, a multicast closing determining module, a multicast use judging module, a network address deleting module and a multicast closing module;
a multicast closing message receiving module, configured to receive a multicast closing message sent by the terminal;
a multicast closing determining module, configured to determine, according to the multicast closing message, that the terminal requests to close a multicast corresponding to a video;
the multicast use judging module is used for acquiring a multicast address list corresponding to the multicast and judging whether other terminals use the multicast according to the multicast address list;
a network address deleting module, configured to delete the network address of the terminal in the multicast address list by the node server if there is another terminal using the multicast;
and the multicast closing module is used for closing the multicast by the node server if no other terminal uses the multicast.
Optionally, the multicast closing message includes a video identifier corresponding to video data requested by the terminal, and the multicast closing determining module includes:
a video identifier obtaining sub-module, configured to obtain, from the multicast close message, a video identifier corresponding to video data requested by the terminal;
and the multicast closing determining submodule is used for determining the multicast corresponding to the video identifier as the multicast which is requested to be closed by the terminal.
Optionally, the multicast use determining module includes:
a network address obtaining submodule for obtaining a network address of the terminal;
a multicast address list inquiry submodule, configured to inquire whether a network address different from the network address of the terminal exists in the multicast address list;
a multicast use determining submodule, configured to determine that there is another terminal using the multicast if there is a network address different from the network address of the terminal;
and the multicast unused determining submodule is used for determining that other terminals do not use the multicast if the network address which is different from the network address of the terminal does not exist.
Optionally, the multicast closing module includes:
a video identifier obtaining sub-module, configured to obtain, from the multicast close message, a video identifier corresponding to video data requested by the terminal;
the corresponding relation deleting submodule is used for acquiring an authentication token relation table and deleting the corresponding relation between the video identification and the authentication token;
and the multicast address list deleting submodule is used for deleting the multicast address list.
The embodiment of the invention has the following advantages:
in the embodiment of the invention, the node server is connected with the terminals in the same local area network, the node server is connected with the core server, the node server receives the video request message sent by the terminals, judges whether the multicast of the video corresponding to the video request message is established or not, if so, the terminals are added to the multicast, the authentication token of the video corresponding to the video request message is obtained and sent to the terminals, if not, the multicast of the video corresponding to the video request message is established, the authentication token of the video corresponding to the video request message is generated and sent to the terminals, thereby realizing that the multicast signaling for describing the routing path is not required to be additionally generated, the routing server on the routing path is not required to process complex multicast signaling, the multicast request of the terminals can be responded more quickly, the smoothness of the multicast is improved, in addition, the complex multicast signaling is not required to be processed, the workload of the server is reduced, and the stability of the multi-path multicast concurrence in the local area network is improved.
Drawings
FIG. 1 is a flowchart illustrating steps of a first embodiment of a multicast method according to the present invention;
FIG. 2 is a schematic diagram of a network architecture of the present invention;
FIG. 3 is a flowchart illustrating steps of a second embodiment of a multicast method;
fig. 4 is a block diagram of a first multicast apparatus according to a first embodiment of the present invention;
fig. 5 is a block diagram of a second multicast apparatus according to a second embodiment of the present invention;
FIG. 6 is a networking schematic of a video network of the present invention;
FIG. 7 is a diagram of a hardware architecture of a node server according to the present invention;
fig. 8 is a schematic diagram of a hardware architecture of an access switch of the present invention;
fig. 9 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 current multicast mode, when a plurality of terminals are respectively located in different local area networks, and a core server multicasts video data to the terminals, the video data need to pass through a plurality of routing servers between the core server and the terminals, so that when the core server issues the video data, a multicast signaling carrying routing path information is needed at the same time to indicate a plurality of routers on a transmission path to forward, and finally the video data accurately reach the terminals.
However, when there are many routing servers on the transmission path, the structure of the multicast signaling becomes more complex, and the time spent by each router in analyzing the multicast signaling is further prolonged, which greatly affects the downlink transmission speed of the video data. In addition, when the structure of the multicast signaling is complex, the probability of errors when the routing server analyzes the multicast signaling is also greatly increased, and once a certain routing server on a transmission path analyzes the multicast signaling and has errors, the result that the video data cannot be accurately transmitted to the terminal is caused.
In view of the problems existing in the current multicast mode, one of the core concepts of the embodiments of the present invention is that the present invention adds a node server in the network structure, the node server is connected with all terminals in the same local area network and is only responsible for multicast of the terminals in the local area network, the node server is connected with the core server, when a video request message sent by a certain terminal in a local area network reaches a node server, the video request message is processed by the node server, and judges whether the multicast of the video corresponding to the video request message is established or not, if the multicast of the video corresponding to the video request message is established, the node server acquires an authentication token of a video corresponding to the video request message and sends the authentication token to the terminal, and if multicast of the video corresponding to the video request message is not established, the node server establishes multicast of the video corresponding to the video request message; after the multicast of the video corresponding to the video request message is established, the node server generates an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal, and after the terminal receives the authentication token, the multicast can be identified according to the authentication token, and then the video data is obtained.
Referring to fig. 1, a flowchart illustrating steps of an embodiment of a multicast method according to the present invention is shown, where the method according to the embodiment of the present invention may be used in a video network and an internet, and the method involves a terminal, a node server and a core server, where the node server is connected to the terminal in the same lan, the node server is connected to the core server, and the core server is configured to send video data to the node server, and specifically may include the following steps:
step 101, the node server receives a video request message sent by the terminal;
referring to fig. 2, a schematic diagram of a network structure of the present invention is shown, and the network of the present invention may include a plurality of local area networks. For each local area network, a node server is respectively provided, for example, a node server 1 is provided in the local area network 1, a node server 2 is provided in the local area network 2, and a node server 3 is provided in the local area network 3. The node server is connected with all terminals in the same local area network, the node server 1 is connected with the terminals 1 to n in the local area network 1, the node server 2 is connected with the terminals 1 to n in the local area network 2, and the node server 3 is connected with the terminals 1 to n in the local area network 3, and each node server is responsible for multicast of the terminals in one local area network. The video network is provided with a core server, and the core server is connected with the node servers, is responsible for managing the node servers and provides video data requested by the terminal for the node servers.
The node server can be a cooperative server, and the cooperative server is used for accessing monitoring front-end equipment, video monitoring equipment, a video monitoring system, a video monitoring networking platform and the like of different manufacturers. In the embodiment of the invention, when a user wants to watch a monitoring video of a certain path, a video request message can be sent to the node server through the terminal.
102, the node server judges whether the multicast of the video corresponding to the video request message is established;
after receiving a video request message sent by a terminal, the node server firstly judges the multicast of the video corresponding to the video request message, if the multicast of the video corresponding to the video request message exists, the terminal is added into the multicast list, and if the multicast of the video corresponding to the video request message does not exist, the multicast of the video corresponding to the video request message is newly established.
Optionally, the video request message includes a video identifier corresponding to video data requested by the terminal, and the step of the node server determining whether multicast of a video corresponding to the video request message has been established includes the following sub-steps:
in substep S11, the node server obtains a video identifier corresponding to the video data requested by the terminal from the video request message;
substep S12, the node server obtains a multicast address list set;
in the embodiment of the invention, each path of video data corresponds to a multicast address list, the multicast address list is used for recording the network addresses of terminals in the same local area network, and the node server sends the video data to the network addresses in the multicast address list to realize the multicast process. And the multicast address list set comprises address multicast lists corresponding to all paths of video data. The multicast address list set is stored in a preset storage position of the node server, and the node server can call the multicast address list set on the preset storage position to complete the acquisition process.
In substep S13, the node server determines whether a multicast address list corresponding to the video identifier exists in the multicast address list set;
it should be noted that each path of video data corresponds to a multicast address list, that is, the video identifier of each path of video data uniquely corresponds to a multicast address list. The node server may query the multicast address list set, and determine whether there is a multicast address list corresponding to the video identifier uniquely.
In substep S14, if there is a multicast address list corresponding to the video identifier, the node server determines that multicast of the video corresponding to the video request message has been established;
when detecting that a multicast address list corresponding to the video identifier exists in a multicast address list set, the node server determines that multicast of the video corresponding to the video request message is established, that is, the node server is performing multicast of the video data requested by the terminal, and the terminal needs to be added into the multicast.
And a substep S15, if there is no multicast address list corresponding to the video identifier, determining that multicast of the video corresponding to the video request message is not established by the node server.
When it is detected that the multicast address list corresponding to the video identifier does not exist in the multicast address list set, the node server determines that a multicast of the video corresponding to the video request message is not established, that is, the node server does not perform a multicast of the video data requested by the terminal, and needs to establish a new multicast for the video data requested by the terminal.
Step 103, if the multicast of the video corresponding to the video request message is established, the node server adds the terminal to the multicast;
when the node server determines that the multicast of the video corresponding to the video request message is established, that is, the node server is performing the multicast of the video data requested by the terminal, therefore, the terminal is added into the multicast, and the user can watch the multicast video data through the terminal.
Wherein the video request message includes a video identifier corresponding to the video data requested by the terminal and a network address of the terminal, and the step of the node server adding the terminal to the multicast may include the following sub-steps:
in substep S21, the node server obtains a video identifier corresponding to the video data requested by the terminal and a network address of the terminal from the video request message;
and the node server analyzes the video request message to acquire a video identifier corresponding to the video data requested by the terminal and a network address of the terminal.
Substep S22, the node server obtains a multicast address list set;
in substep S23, the node server queries the multicast address list set to obtain a multicast address list corresponding to the video identifier;
in sub-step S24, the node server adds the network address to the multicast address list.
Step 104, the node server obtains an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal;
since a certain terminal may receive video data of multiple multicast channels at the same time, the terminal needs to determine which channel of video data is the video data that is just requested from the received video data of multiple multicast channels, and after the authentication token is sent to the terminal, the terminal can identify the multicast channel corresponding to the requested video data by virtue of the authentication token, thereby accurately acquiring the video data.
The step of the node server obtaining the authentication token of the video corresponding to the video request message may include the following sub-steps:
in substep S31, the node server obtains a video identifier corresponding to the video data requested by the terminal from the video request message;
substep S32, the node server obtains an authentication token relation table;
in the embodiment of the invention, each authentication token corresponds to multicast of one path of video data, and the authentication token relationship table stores the corresponding relationship between the authentication token and the video identifier of the video.
And a substep S33, wherein the node server queries the authentication token relation table and determines an authentication token corresponding to the video identifier.
Step 105, if the multicast of the video corresponding to the video request message is not established, the node server establishes the multicast of the video corresponding to the video request message;
when the node server judges that the multicast of the video corresponding to the video request message is not established, the node server needs to newly establish the multicast of the video corresponding to the video request message so that the terminal can acquire the requested video data.
In an optional embodiment of the present invention, the video request message includes a video identifier corresponding to video data requested by the terminal and a network address of the terminal, and the step of the node server establishing a multicast of a video corresponding to the video request message may include the following sub-steps:
in substep S41, the node server obtains, from the video request message, a video identifier corresponding to the video data requested by the terminal and a network address of the terminal;
the node server may parse the video request message to obtain a video identifier corresponding to the video data requested by the terminal and a network address of the terminal, which is not further limited in the present invention.
Substep S42, the node server establishing a multicast address list corresponding to the video identifier;
the node server establishes a multicast address list, and the multicast address list is provided with a network address blank column.
In sub-step S43, the node server adds the network address to the multicast address list.
And the node server adds the network address to a network address blank column of a multicast address list. After the multicast address list corresponding to the video identifier is completed, the node server can send the video data corresponding to the video identifier to the network terminal corresponding to the network address in the multicast address list, so that the multicast process in the local area network is realized.
And 106, after the multicast of the video corresponding to the video request message is established, the node server generates an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal.
After the multicast corresponding to the video request message is established, the node server further needs to generate an authentication token of the video corresponding to the video request message and send the authentication token to the terminal, so that the terminal can accurately find the corresponding multicast by virtue of the authentication token, thereby acquiring video data.
The node server generating the authentication token of the video corresponding to the video request message may include the following sub-steps:
in substep S51, the node server obtains a video identifier corresponding to the video data requested by the terminal from the video request message;
and a substep S52, the node server generates an authentication token by adopting the video identification in a packaging mode.
In the embodiment of the present invention, the node server may map the video identifier to a payload of a preset encapsulation protocol, and then fill a packet header of a corresponding protocol to form an authentication token. After the terminal acquires the authentication token, the terminal can analyze the authentication token to obtain the video identifier, so that the terminal can know that the video data transmitted in the multicast established at the same time is the video data corresponding to the video identifier, namely the video data requested by the invention.
In the embodiment of the invention, a node server is connected with the terminals in the same local area network, the node server is connected with a core server, the node server receives a video request message sent by the terminals, the node server judges whether the multicast of the video corresponding to the video request message is established or not, if so, the node server adds the terminals to the multicast, the node server acquires an authentication token of the video corresponding to the video request message and sends the authentication token to the terminals, if not, the node server establishes the multicast of the video corresponding to the video request message, after the multicast of the video corresponding to the video request message is established, the node server generates the authentication token of the video corresponding to the video request message and sends the authentication token to the terminals, thereby realizing that the multicast of the local area network can be completed by a simple local area network structure without additionally generating a multicast signaling for describing a routing path, and in addition, because the routing server on the routing path is not required to process the complex multicast signaling, the multicast request of the terminal can be responded more quickly, and the smoothness of the multicast is improved.
Referring to fig. 3, a flowchart illustrating steps of a second multicast method embodiment of the present invention is shown, where the method according to the second multicast method embodiment of the present invention may be used in a video network and an internet, where the method includes a terminal, a node server and a core server, the node server is connected to the terminal in the same lan, the node server is connected to the core server, and the core server is used to send video data to the node server, and the method specifically includes the following steps:
step 201, the node server receives a multicast closing message sent by the terminal;
when the terminal does not need to use video data of a certain path, a multicast closing message can be sent to the node server so as to instruct the node server to close the multicast to the terminal, so that the consumption of multicast resources is reduced.
Step 202, the node server determines that the terminal requests to close the multicast corresponding to the video according to the multicast closing message;
specifically, the multicast close message includes a video identifier corresponding to the video data requested by the terminal, and the step of determining, by the node server, that the terminal requests to close the multicast corresponding to the video according to the multicast close message includes the following substeps:
in substep S61, the node server obtains a video identifier corresponding to the video data requested by the terminal from the multicast closing message;
in the embodiment of the present invention, the node server may analyze the multicast close message to obtain the video identifier corresponding to the video data requested by the terminal, and the analyzing process of the multicast close message is not further limited in the present invention.
And a substep S62, determining, by the node server, the multicast corresponding to the video identifier as the multicast requested to be closed by the terminal.
The node server determines the multicast corresponding to the video identifier by the following method:
the node server acquires a multicast address list set;
the multicast address list set is stored in a preset storage position, and the node server can access the preset storage position to realize the calling of the multicast address list set. In addition, the multicast address list set comprises a multicast address list corresponding to each path of video data in the local area network.
And the node server inquires the address list set to obtain a multicast address list corresponding to the video identifier, and determines the multicast requested by the terminal according to the multicast address list.
Step 203, the node server obtains a multicast address list corresponding to the multicast, and determines whether other terminals use the multicast according to the multicast address list.
When the terminal does not need to use the multicast of a certain path of video, whether the multicast of the path of video still used by other terminals exists needs to be judged, and when the multicast of the path of video is not used by other terminals, the multicast is determined to be closed, so that the use of the multicast by other terminals is not influenced.
In an optional embodiment of the present invention, the step of the node server determining whether there is another terminal using the multicast according to the multicast address list may include the following sub-steps:
substep S71, the node server obtaining the network address of the terminal;
specifically, the multicast close message may include a network address of the terminal, and the node server may obtain the network address of the terminal by analyzing the multicast close message.
Substep S72, the node server querying whether a network address different from the network address of the terminal exists in the multicast address list;
step S73, if yes, the node server determines that other terminals use the multicast;
when a network address different from the network address of the terminal exists in the multicast address list, the node server is still sending video data to the network address different from the network address of the terminal, so that the node server determines that other terminals use the multicast.
Substep S74, if not, the node server determines that there are no other terminals using the multicast group
When only the network address of the terminal exists in the multicast address list, the node server only sends data to the network address of the terminal, and then the broadcast can be directly closed.
Step 204, if yes, the node server deletes the network address of the terminal in the multicast address list;
when the node server deletes the network address of the terminal in the multicast address list, the node server will not send video data to the network address of the terminal, and meanwhile, the node server will not influence sending video data to other terminals in the multicast address list.
Step 205, if not, the node server closes the multicast.
In one embodiment of the present invention, the step of the node server closing the multicast comprises the following substeps:
in the substep S81, the node server obtains an authentication token relationship table, and deletes the corresponding relationship between the video identifier and the authentication token;
in sub-step S82, the node server deletes the multicast address list.
When the node server deletes the corresponding relation between the video identifier and the authentication token and deletes the multicast address list corresponding to the video identifier, the node server cannot multicast the video data corresponding to the video identifier, so that the multicast corresponding to the video identifier is closed. When other terminals need to use the multicast of the video data, the multicast needs to be reestablished.
In the embodiment of the invention, the node server receives a multicast closing message sent by the terminal, determines that the terminal requests to close the multicast corresponding to the video according to the multicast closing message, acquires a multicast address list corresponding to the multicast, and judges whether other terminals use the multicast according to the multicast address list, if so, the node server deletes the network address of the terminal in the multicast address list, and if not, the node server closes the multicast, so that the quick response of the multicast closing in the local area network is realized, the fluency of the whole multicast system is improved, in addition, the closing of the multicast of a certain terminal does not influence other terminals to use the multicast, and the stability of the multicast in the local area network is ensured.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Referring to fig. 4, a block diagram of a first multicast apparatus according to a first embodiment of the present invention is shown, where the apparatus relates to a terminal, a node server, and a core server, where the node server is connected to the terminal in the same lan, the node server is connected to the core server, and the core server is configured to send video data to the node server, and the apparatus may specifically include the following modules:
the device comprises a node server, a video request message receiving module, a multicast judging module, a terminal adding module, an authentication token obtaining and sending module, a multicast establishing module and an authentication token generating and sending module, wherein the node server comprises the video request message receiving module, the multicast judging module, the terminal adding module, the authentication token obtaining and sending module, the multicast establishing module and the authentication token generating and sending module;
a video request message receiving module 301, configured to receive a video request message sent by the terminal;
a multicast determining module 302, configured to determine whether a multicast of a video corresponding to the video request message is already established;
a terminal adding module 303, configured to add the terminal to a multicast if the multicast of the video corresponding to the video request message is already established;
an authentication token obtaining and sending module 304, configured to obtain an authentication token of a video corresponding to the video request message, and send the authentication token to the terminal;
a multicast establishing module 305, configured to establish a multicast of a video corresponding to the video request message if the multicast of the video corresponding to the video request message is not established;
an authentication token generation and sending module 306, configured to generate an authentication token for the video corresponding to the video request message after establishing the multicast of the video corresponding to the video request message, and send the authentication token to the terminal.
In the embodiment of the present invention, the multicast determining module includes the following sub-modules:
a video identifier obtaining sub-module, configured to obtain, from the video request message, a video identifier corresponding to the video data requested by the terminal;
a multicast address list set acquisition submodule for acquiring a multicast address list set;
a multicast address list judgment submodule, configured to judge whether a multicast address list corresponding to the video identifier exists in the multicast address list set;
a multicast establishing and confirming submodule, configured to determine that multicast of a video corresponding to the video request message has been established if a multicast address list corresponding to the video identifier exists;
and the multicast non-establishment confirming submodule is used for confirming that the multicast of the video corresponding to the video request message is not established if the multicast address list corresponding to the video identification does not exist.
In the embodiment of the present invention, the terminal adding module includes the following sub-modules:
a network address obtaining submodule, configured to obtain, from the video request message, a video identifier corresponding to video data requested by the terminal and a network address of the terminal;
a multicast address list set acquisition submodule for acquiring a multicast address list set;
a multicast address list obtaining submodule, wherein the node server inquires the multicast address list set to obtain a multicast address list corresponding to the video identifier;
and the terminal adding submodule is used for adding the network address into the multicast address list.
In the embodiment of the present invention, the authentication token obtaining and sending module includes the following sub-modules:
a video identifier obtaining sub-module, configured to obtain, from the video request message, a video identifier corresponding to the video data requested by the terminal;
the authentication token relation table acquisition submodule is used for acquiring an authentication token relation table;
and the authentication token determining submodule is used for inquiring the authentication token relation table and determining the authentication token corresponding to the video identifier.
In this embodiment of the present invention, the multicast establishing module includes:
a video identifier and network address obtaining submodule, configured to obtain, from the video request message, a video identifier corresponding to video data requested by the terminal and a network address of the terminal;
the multicast address list establishing submodule is used for establishing a multicast address list corresponding to the video identifier;
and the network address adding submodule is used for adding the network address into the multicast address list.
In an embodiment of the present invention, the authentication token generating and sending module includes:
a video identifier obtaining sub-module, configured to obtain, from the video request message, a video identifier corresponding to the video data requested by the terminal;
and the authentication token encapsulation submodule is used for generating an authentication token by adopting the video identification through encapsulation.
Referring to fig. 5, a block diagram of a second multicast apparatus embodiment of the present invention is shown, where the apparatus relates to a terminal, a node server, and a core server, where the node server is connected to the terminal in the same lan, the node server is connected to the core server, and the core server is configured to send video data to the node server, and the apparatus may specifically include the following modules:
the node server comprises a multicast closing message receiving module, a multicast closing determining module, a multicast use judging module, a network address deleting module and a multicast closing module;
a multicast close message receiving module 401, configured to receive a multicast close message sent by the terminal;
a multicast closing determining module 402, configured to determine, according to the multicast closing message, that the terminal requests to close a multicast corresponding to a video;
a multicast use determining module 403, configured to acquire a multicast address list corresponding to the multicast, and determine whether there is another terminal to use the multicast according to the multicast address list;
a network address deleting module 404, configured to delete the network address of the terminal in the multicast address list if there is another terminal using the multicast;
a multicast closing module 405, configured to close the multicast by the node server if there is no other terminal using the multicast.
In this embodiment of the present invention, the multicast close message includes a video identifier corresponding to video data requested by the terminal, and the multicast close determining module includes:
a video identifier obtaining sub-module, configured to obtain, from the multicast close message, a video identifier corresponding to video data requested by the terminal;
and the multicast closing determining submodule is used for determining the multicast corresponding to the video identifier as the multicast which is requested to be closed by the terminal.
In the embodiment of the invention, the multicast use judging module comprises:
a network address obtaining submodule for obtaining a network address of the terminal;
a multicast address list inquiry submodule, configured to inquire whether a network address different from the network address of the terminal exists in the multicast address list;
a multicast use determining submodule, configured to determine that there is another terminal using the multicast if there is a network address different from the network address of the terminal;
and the multicast unused determining submodule is used for determining that other terminals do not use the multicast if the network address which is different from the network address of the terminal does not exist.
In this embodiment of the present invention, the multicast closing module includes:
a video identifier obtaining sub-module, configured to obtain, from the multicast close message, a video identifier corresponding to video data requested by the terminal;
the corresponding relation deleting submodule is used for acquiring an authentication token relation table and deleting the corresponding relation between the video identification and the authentication token;
and the multicast address list deleting submodule is used for deleting the multicast address list.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
An embodiment of the present invention further provides an apparatus, including:
the multicast method comprises a processor, a memory and a computer program which is stored on the memory and can run on the processor, wherein when the computer program is executed by the processor, each process of the multicast method embodiment is realized, the same technical effect can be achieved, and the detailed description is omitted for avoiding the repetition.
The embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when being executed by a processor, the computer program implements each process of the foregoing multicast method embodiment, and can achieve the same technical effect, and is not described herein again to avoid repetition.
The video networking is an important milestone for network development, is a real-time network, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video, and high-definition faces each other.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of services of video, voice, pictures, characters, communication, data and the like on a system platform on a network platform, such as high-definition video conference, video monitoring, intelligent monitoring analysis, emergency command, digital broadcast television, delayed television, network teaching, live broadcast, VOD on demand, television mail, Personal Video Recorder (PVR), intranet (self-office) channels, intelligent video broadcast control, information distribution and the like, and realizes high-definition quality video broadcast through a television or a computer.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved over traditional Ethernet (Ethernet) to face the potentially enormous video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network circuit Switching (circuit Switching), the Packet Switching is adopted by the technology of the video networking to meet the Streaming requirement. The video networking technology has the advantages of flexibility, simplicity and low price of packet switching, and simultaneously has the quality and safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Switching Technology (Switching Technology)
The video network adopts two advantages of asynchronism and packet switching of the Ethernet, eliminates the defects of the Ethernet on the premise of full compatibility, has end-to-end seamless connection of the whole network, is directly communicated with a user terminal, and directly bears an IP data packet. The user data does not require any format conversion across the entire network. The video networking is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the real-time transmission of the whole-network large-scale high-definition video which cannot be realized by the existing Internet, and pushes a plurality of network video applications to high-definition and unification.
Server Technology (Server Technology)
The server technology on the video networking and unified video platform is different from the traditional server, the streaming media transmission of the video networking and unified video platform is established on the basis of connection orientation, the data processing capacity of the video networking and unified video platform is independent of flow and communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than one hundred times compared with that of a traditional server.
Storage Technology (Storage Technology)
The super-high speed storage technology of the unified video platform adopts the most advanced real-time operating system in order to adapt to the media content with super-large capacity and super-large flow, the program information in the server instruction is mapped to the specific hard disk space, the media content is not passed through the server any more, and is directly sent to the user terminal instantly, and the general waiting time of the user is less than 0.2 second. The optimized sector distribution greatly reduces the mechanical motion of the magnetic head track seeking of the hard disk, the resource consumption only accounts for 20% of that of the IP internet of the same grade, but concurrent flow which is 3 times larger than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network Security Technology (Network Security Technology)
The structural design of the video network completely eliminates the network security problem troubling the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, generally does not need antivirus programs and firewalls, avoids the attack of hackers and viruses, and provides a structural carefree security network for users.
Service Innovation Technology (Service Innovation Technology)
The unified video platform integrates services and transmission, and is not only automatically connected once whether a single user, a private network user or a network aggregate. The user terminal, the set-top box or the PC are directly connected to the unified video platform to obtain various multimedia video services in various forms. The unified video platform adopts a menu type configuration table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes infinite new service innovation.
Networking of the video network is as follows:
the video network is a centralized control network structure, and the network can be a tree network, a star network, a ring network and the like, but on the basis of the centralized control node, the whole network is controlled by the centralized control node in the network.
As shown in fig. 6, the video network is divided into an access network and a metropolitan network.
The devices of the access network part can be mainly classified into 3 types: node server, access switch, terminal (including various set-top boxes, coding boards, memories, etc.). The node server is connected to an access switch, which may be connected to a plurality of terminals and may be connected to an ethernet network.
The node server is a node which plays a centralized control function in the access network and can control the access switch and the terminal. The node server can be directly connected with the access switch or directly connected with the terminal.
Similarly, devices of the metropolitan network portion may also be classified into 3 types: a metropolitan area server, a node switch and a node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is a node server of the access network part, namely the node server belongs to both the access network part and the metropolitan area network part.
The metropolitan area server is a node which plays a centralized control function in the metropolitan area network and can control a node switch and a node server. The metropolitan area server can be directly connected with the node switch or directly connected with the node server.
Therefore, the whole video network is a network structure with layered centralized control, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star and ring.
The access network part can form a unified video platform (the part in the dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform may be interconnected via metropolitan area and wide area video networking.
Video networking device classification
1.1 devices in the video network of the embodiment of the present invention can be mainly classified into 3 types: servers, switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node servers, access switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 7, the system mainly includes a network interface module 701, a switching engine module 702, a CPU module 703, and a disk array module 704;
the network interface module 701, the CPU module 703 and the disk array module 704 enter the switching engine module 702; the switching engine module 702 performs an operation of looking up the address table 705 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a corresponding queue of the packet buffer 706 based on the packet's steering information; if the queue of the packet buffer 706 is nearly full, discard; the switching engine module 702 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. The disk array module 704 mainly implements control over the hard disk, including initialization, read-write, and other operations; the CPU module 703 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 705 (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 704.
The access switch:
as shown in fig. 8, the network interface module mainly includes a network interface module (a downlink network interface module 801, an uplink network interface module 802), a switching engine module 803, and a CPU module 804;
wherein, the packet (uplink data) coming from the downlink network interface module 801 enters the packet detection module 805; the packet detection module 805 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 803, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 802 enters the switching engine module 803; the incoming data packet from the CPU module 804 enters the switching engine module 803; the switching engine module 803 performs an operation of looking up the address table 806 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 803 is from the downstream network interface to the upstream network interface, the packet is stored in a queue of the corresponding packet buffer 807 in association with a stream-id; if the queue of the packet buffer 807 is nearly full, it is discarded; if the packet entering the switching engine module 803 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 807 according to the packet guiding information; if the queue of the packet buffer 807 is nearly full, it is discarded.
The switching engine module 803 polls all packet buffer queues, which in this embodiment of the invention is divided into two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
The rate control module 808 is configured by the CPU module 804, and generates tokens for packet buffer queues from all downlink network interfaces to uplink network interfaces at programmable intervals to control the rate of uplink forwarding.
The CPU module 804 is mainly responsible for protocol processing with the node server, configuration of the address table 806, and configuration of the code rate control module 808.
Ethernet protocol conversion gateway
As shown in fig. 9, the system mainly includes a network interface module (a downlink network interface module 901 and an uplink network interface module 902), a switching engine module 903, a CPU module 904, a packet detection module 905, a rate control module 908, an address table 906, a packet buffer 907, a MAC adding module 909, and a MAC deleting module 910.
Wherein, the data packet coming from the downlink network interface module 901 enters the packet detection module 905; the packet detection module 905 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 deleting module 910 subtracts MAC DA, MAC SA, length or frame type (2byte), and enters the corresponding receiving buffer, otherwise, discards it;
the downlink network interface module 901 detects the sending buffer of the port, and if there is a packet, obtains the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MACSA of the ethernet coordination gateway, and the ethernet length or frame type, and sends the packet.
The other modules in the ethernet protocol gateway function similarly to the access switch.
A terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set-top box mainly comprises a network interface module, a video and audio coding and decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 types: node server, node exchanger, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. Video networking packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), Source Address (SA), reserved bytes, payload (pdu), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
DA SA Reserved Payload CRC
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are 256 possibilities at most, the second byte to the sixth byte are metropolitan area network addresses, and the seventh byte and the eighth byte are access network addresses;
the Source Address (SA) is also composed of 8 bytes (byte), defined as the same as the Destination Address (DA);
the reserved byte consists of 2 bytes;
the payload part has different lengths according to different types of datagrams, and is 64 bytes if the datagram is various types of protocol packets, and is 32+1024 or 1056 bytes if the datagram is a unicast packet, of course, the length is not limited to the above 2 types;
the CRC consists of 4 bytes and is calculated in accordance with the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of a metropolitan area network is a graph and there may be 2, or even more than 2, connections between two devices, i.e., there may be more than 2 connections between a node switch and a node server, a node switch and a node switch, and a node switch and a node server. However, the metro network address of the metro network device is unique, and in order to accurately describe the connection relationship between the metro network devices, parameters are introduced in the embodiment of the present invention: a label to uniquely describe a metropolitan area network device.
In this specification, the definition of the Label is similar to that of the Label of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between the device a and the device B, there are 2 labels for the packet from the device a to the device B, and 2 labels for the packet from the device B to the device a. The label is classified into an incoming label and an outgoing label, and assuming that the label (incoming label) of the packet entering the device a is 0x0000, the label (outgoing label) of the packet leaving the device a may become 0x 0001. The network access process of the metro network is a network access process under centralized control, that is, address allocation and label allocation of the metro network are both dominated by the metro server, and the node switch and the node server are both passively executed, which is different from label allocation of MPLS, and label allocation of MPLS is a result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metro network mainly includes the following parts:
DA SA Reserved label (R) Payload CRC
Namely Destination Address (DA), Source Address (SA), Reserved byte (Reserved), tag, payload (pdu), CRC. The format of the tag may be defined by reference to the following: the tag is 32 bits with the upper 16 bits reserved and only the lower 16 bits used, and its position is between the reserved bytes and payload of the packet.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The multicast method and the multicast apparatus provided by the present invention are described in detail above, and the principle and the implementation manner of the present invention are explained in the present document by applying specific examples, and the description of the above embodiments is only used to help understanding 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 (14)

1. A multicast method involving a terminal, a node server, and a core server, wherein the node server is connected to the terminal in the same lan, the node server is connected to the core server, and the core server is configured to send video data to the node server, the method comprising:
the node server receives a video request message sent by the terminal;
the node server judges whether multicast of the video corresponding to the video request message is established;
if the multicast of the video corresponding to the video request message is established, the node server adds the terminal to the multicast;
the node server acquires an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal;
if the multicast of the video corresponding to the video request message is not established, the node server establishes the multicast of the video corresponding to the video request message;
after the multicast of the video corresponding to the video request message is established, the node server generates an authentication token of the video corresponding to the video request message and sends the authentication token to the terminal.
2. The method according to claim 1, wherein the video request message includes a video identifier corresponding to the video data requested by the terminal, and the step of the node server determining whether multicast of the video corresponding to the video request message has been established comprises:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the video request message;
the node server acquires a multicast address list set;
the node server judges whether a multicast address list corresponding to the video identifier exists in the multicast address list set;
if the multicast address list corresponding to the video identifier exists, the node server determines that multicast of the video corresponding to the video request message is established;
and if the multicast address list corresponding to the video identifier does not exist, the node server determines that the multicast of the video corresponding to the video request message is not established.
3. The method according to claim 1, wherein the video request message includes a video identifier corresponding to the video data requested by the terminal and a network address of the terminal, and the step of the node server adding the terminal to the multicast comprises:
the node server acquires a video identifier corresponding to the video data requested by the terminal and a network address of the terminal from the video request message;
the node server acquires a multicast address list set;
the node server inquires the multicast address list set to obtain a multicast address list corresponding to the video identifier;
the node server adds the network address to the multicast address list.
4. The method according to claim 1, wherein the step of the node server obtaining the authentication token of the video corresponding to the video request message comprises:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the video request message;
the node server acquires an authentication token relation table;
and the node server inquires the authentication token relation table and determines the authentication token corresponding to the video identifier.
5. The method according to claim 1, wherein the video request message includes a video identifier corresponding to the video data requested by the terminal and a network address of the terminal, and the step of the node server establishing the multicast of the video corresponding to the video request message includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal and a network address of the terminal from the video request message;
the node server establishes a multicast address list corresponding to the video identifier;
the node server adds the network address to the multicast address list.
6. The method according to claim 1, wherein the video request message includes a video identifier corresponding to the video data requested by the terminal, and the step of the node server generating the authentication token for the video corresponding to the video request message includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the video request message;
and the node server adopts the video identification to generate an authentication token in a packaging way.
7. A multicast method involving a terminal, a node server, and a core server, wherein the node server is connected to the terminal in the same lan, the node server is connected to the core server, and the core server is configured to send video data to the node server, the method comprising:
the node server receives a multicast closing message sent by the terminal;
the node server determines that the terminal requests to close the multicast corresponding to the video according to the multicast closing message;
the node server acquires a multicast address list corresponding to the multicast, and judges whether other terminals use the multicast or not according to the multicast address list;
if other terminals use the multicast, the node server deletes the network address of the terminal in the multicast address list;
and if no other terminal uses the multicast, the node server closes the multicast.
8. The method according to claim 7, wherein the multicast close message includes a video identifier corresponding to the video data requested by the terminal, and the step of the node server determining, according to the multicast close message, that the terminal requests to close the multicast corresponding to the video includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the multicast closing message;
and the node server determines the multicast corresponding to the video identifier as the multicast which is requested to be closed by the terminal.
9. The method according to claim 7, wherein the step of the node server determining whether there are other terminals using the multicast according to the multicast address list comprises:
the node server acquires a network address of the terminal;
the node server inquires whether a network address different from the network address of the terminal exists in the multicast address list or not;
if the network address different from the network address of the terminal exists, the node server determines that other terminals use the multicast;
and if the network address different from the network address of the terminal does not exist, the node server determines that other terminals do not use the multicast.
10. The method according to claim 7, wherein the multicast close message includes a video identifier corresponding to the video data requested by the terminal, and the step of the node server closing the multicast includes:
the node server acquires a video identifier corresponding to the video data requested by the terminal from the multicast closing message;
the node server acquires an authentication token relation table and deletes the corresponding relation between the video identification and the authentication token;
and the node server deletes the multicast address list.
11. A multicast apparatus, the apparatus relating to a terminal, a node server, and a core server, the node server being connected to the terminal in the same lan, the node server being connected to the core server, the core server being configured to send video data to the node server, the apparatus comprising:
the node server comprises a video request message receiving module, a multicast judging module, a terminal adding module, an authentication token obtaining and sending module, a multicast establishing module and an authentication token generating and sending module;
a video request message receiving module, configured to receive a video request message sent by the terminal;
the multicast judging module is used for judging whether the multicast of the video corresponding to the video request message is established;
the terminal adding module is used for adding the terminal to the multicast if the multicast of the video corresponding to the video request message is established;
the authentication token obtaining and sending module is used for obtaining the authentication token of the video corresponding to the video request message and sending the authentication token to the terminal;
the multicast establishing module is used for establishing the multicast of the video corresponding to the video request message if the multicast of the video corresponding to the video request message is not established;
and the authentication token generating and sending module is used for generating an authentication token of the video corresponding to the video request message after the multicast of the video corresponding to the video request message is established, and sending the authentication token to the terminal.
12. A multicast apparatus, the apparatus relating to a terminal, a node server, and a core server, the node server being connected to the terminal in the same lan, the node server being connected to the core server, the core server being configured to send video data to the node server, the apparatus comprising:
the node server comprises a multicast closing message receiving module, a multicast closing determining module, a multicast use judging module, a network address deleting module and a multicast closing module;
a multicast closing message receiving module, configured to receive a multicast closing message sent by the terminal;
a multicast closing determining module, configured to determine, according to the multicast closing message, that the terminal requests to close a multicast corresponding to a video;
the multicast use judging module is used for acquiring a multicast address list corresponding to the multicast and judging whether other terminals use the multicast according to the multicast address list;
a network address deleting module, configured to delete the network address of the terminal in the multicast address list by the node server if there is another terminal using the multicast;
and the multicast closing module is used for closing the multicast by the node server if no other terminal uses the multicast.
13. An apparatus, comprising: processor, memory and computer program stored on the memory and executable on the processor, which computer program, when executed by the processor, performs the steps of a multicast method according to any of claims 1-6 or 7-10.
14. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of a multicast method according to any one of claims 1 to 6 or 7 to 10.
CN201911369488.4A 2019-12-26 2019-12-26 Multicast method and device Active CN111131911B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911369488.4A CN111131911B (en) 2019-12-26 2019-12-26 Multicast method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911369488.4A CN111131911B (en) 2019-12-26 2019-12-26 Multicast method and device

Publications (2)

Publication Number Publication Date
CN111131911A true CN111131911A (en) 2020-05-08
CN111131911B CN111131911B (en) 2022-11-08

Family

ID=70503386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911369488.4A Active CN111131911B (en) 2019-12-26 2019-12-26 Multicast method and device

Country Status (1)

Country Link
CN (1) CN111131911B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988414A (en) * 2020-08-26 2020-11-24 杭州速递科技有限公司 Video hard terminal conference control method and system
CN113612964A (en) * 2021-07-29 2021-11-05 深圳市捷视飞通科技股份有限公司 Interactive teaching processing method and device, computer equipment and storage medium
CN115102993A (en) * 2022-07-15 2022-09-23 北京智芯微电子科技有限公司 Active access method, device and equipment for plug and play of terminal and readable medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592250A (en) * 2003-09-03 2005-03-09 北京鼎视通软件技术有限公司 Flow medium data multi-point transmission method
CN1798024A (en) * 2004-12-20 2006-07-05 上海贝尔阿尔卡特股份有限公司 Method and device for implementing multicast authentication and fee charging
CN1933413A (en) * 2006-09-30 2007-03-21 中兴通讯股份有限公司 Group broadcasting member management method for radio local network IP group broadcasting frame transmission
CN101114900A (en) * 2006-07-27 2008-01-30 上海贝尔阿尔卡特股份有限公司 Multicast service authentication method and device, system
CN102377636A (en) * 2010-08-06 2012-03-14 北京乾唐视联网络科技有限公司 Service communication method of access network device and system thereof
CN103458370A (en) * 2012-06-01 2013-12-18 华为技术有限公司 Transmission method, device and system for receiving mobile network multicast data
US8750300B2 (en) * 2012-02-13 2014-06-10 Sigma Designs Israel S.D.I. Ltd. Relaying of multicast transmissions
CN108156424A (en) * 2017-12-27 2018-06-12 浙江宇视科技有限公司 Multicast group port management method, device and video management server

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592250A (en) * 2003-09-03 2005-03-09 北京鼎视通软件技术有限公司 Flow medium data multi-point transmission method
CN1798024A (en) * 2004-12-20 2006-07-05 上海贝尔阿尔卡特股份有限公司 Method and device for implementing multicast authentication and fee charging
CN101114900A (en) * 2006-07-27 2008-01-30 上海贝尔阿尔卡特股份有限公司 Multicast service authentication method and device, system
CN1933413A (en) * 2006-09-30 2007-03-21 中兴通讯股份有限公司 Group broadcasting member management method for radio local network IP group broadcasting frame transmission
CN102377636A (en) * 2010-08-06 2012-03-14 北京乾唐视联网络科技有限公司 Service communication method of access network device and system thereof
US8750300B2 (en) * 2012-02-13 2014-06-10 Sigma Designs Israel S.D.I. Ltd. Relaying of multicast transmissions
CN103458370A (en) * 2012-06-01 2013-12-18 华为技术有限公司 Transmission method, device and system for receiving mobile network multicast data
CN108156424A (en) * 2017-12-27 2018-06-12 浙江宇视科技有限公司 Multicast group port management method, device and video management server

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988414A (en) * 2020-08-26 2020-11-24 杭州速递科技有限公司 Video hard terminal conference control method and system
CN113612964A (en) * 2021-07-29 2021-11-05 深圳市捷视飞通科技股份有限公司 Interactive teaching processing method and device, computer equipment and storage medium
CN115102993A (en) * 2022-07-15 2022-09-23 北京智芯微电子科技有限公司 Active access method, device and equipment for plug and play of terminal and readable medium
CN115102993B (en) * 2022-07-15 2023-08-11 北京智芯微电子科技有限公司 Active access method, device and equipment for plug and play of terminal and readable medium

Also Published As

Publication number Publication date
CN111131911B (en) 2022-11-08

Similar Documents

Publication Publication Date Title
CN111193788A (en) Audio and video stream load balancing method and device
CN109617956B (en) Data processing method and device
CN109474715B (en) Resource configuration method and device based on video network
CN110602266B (en) Domain name resolution method and system
CN110719258B (en) Server access method and system
CN111131911B (en) Multicast method and device
CN110049341B (en) Video processing method and device
CN110266577B (en) Tunnel establishment method and video networking system
CN109005378B (en) Video conference processing method and system
CN110493149B (en) Message processing method and device
CN110289974B (en) Data stream processing method, system and device and storage medium
CN110336710B (en) Terminal testing method, system and device and storage medium
CN109889516B (en) Method and device for establishing session channel
CN110677315A (en) Method and system for monitoring state
CN110557411A (en) video stream processing method and device based on video network
CN110062259B (en) Video acquisition method, system, device and computer readable storage medium
CN110213533B (en) Method and device for acquiring video stream monitored by video network
CN110798657B (en) Video stream processing method and system
CN110113553B (en) Method and device for processing video telephone
CN111225241A (en) Communication method and device
CN111614536A (en) Data forwarding method and device
CN111614921A (en) Communication method and device
CN111541858A (en) Audio and video recording method, system and device
CN110572694A (en) Video data processing method and device, electronic equipment and storage medium
CN110557657A (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