CN110289974B - Data stream processing method, system and device and storage medium - Google Patents

Data stream processing method, system and device and storage medium Download PDF

Info

Publication number
CN110289974B
CN110289974B CN201910435836.7A CN201910435836A CN110289974B CN 110289974 B CN110289974 B CN 110289974B CN 201910435836 A CN201910435836 A CN 201910435836A CN 110289974 B CN110289974 B CN 110289974B
Authority
CN
China
Prior art keywords
terminal
sub
data stream
multicast address
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910435836.7A
Other languages
Chinese (zh)
Other versions
CN110289974A (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 CN201910435836.7A priority Critical patent/CN110289974B/en
Publication of CN110289974A publication Critical patent/CN110289974A/en
Application granted granted Critical
Publication of CN110289974B publication Critical patent/CN110289974B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication

Landscapes

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

Abstract

The embodiment of the invention provides a method, a system, a device and a computer readable storage medium for processing data streams, wherein the method comprises the following steps: the node server receives a plurality of data packet request messages from the terminal; the node server allocates a common multicast address for a plurality of sub-devices in the terminal according to the plurality of data packet request messages, wherein the multicast address is used for transmitting the target data stream to the plurality of sub-devices in the terminal; the node server acquires a path of target data stream from the data source equipment according to the plurality of data packet request information, transmits a path of target data stream and a multicast address to the terminal according to the plurality of data packet request information, and the terminal is used for searching at least one piece of sub-equipment corresponding to the multicast address in a pre-established corresponding relation and sending the target data stream to the searched at least one piece of sub-equipment. The embodiment of the invention reduces the operating pressure of the node server for distributing the multicast address and saves the network bandwidth between the node server and the terminal.

Description

Data stream processing method, system and device and storage medium
Technical Field
The present invention relates to the field of video networking technologies, and in particular, to a method, a system, and an apparatus for processing a data stream and a computer-readable storage medium.
Background
The video network is a special network for transmitting high-definition video and a special protocol at high speed based on Ethernet hardware, is a higher-level form of the Ethernet and is a real-time network.
The terminal in the video network may be configured with a plurality of sub-devices, each sub-device is a minimum logic unit for executing a video network service, and each sub-device in the terminal may be specifically a software module. When a child device requests a server in the video network for a data stream, the server needs to allocate a multicast address to the child device, where the multicast address is used to transmit the data stream from a data source to the child device. When a plurality of sub-devices in the same terminal request the same data stream from a server in the video network, the server needs to allocate a plurality of multicast addresses to each sub-device, and transmit one data stream to each sub-device, and the more sub-devices requesting the data stream, the more data streams transmitted by the server, which causes waste of network bandwidth between the server and the terminal.
Disclosure of Invention
In view of the above, embodiments of the present invention are proposed in order to provide a method, a system and an apparatus for processing a data stream and a computer-readable storage medium 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 method for processing a data stream, where the method is applied to a video network, the video network includes a data source device, a node server and a terminal, the terminal includes a plurality of sub-devices, and the node server is in communication connection with the data source device and the terminal, respectively; the method comprises the following steps: the node server receives a plurality of data packet request messages from the terminal, wherein the data packet request messages comprise identification information of a target data stream, identification information of the terminal and identification information of the sub-equipment; the node server allocates a common multicast address to the plurality of sub-devices in the terminal according to the plurality of data packet request messages, wherein the multicast address is used for transmitting the target data stream to the plurality of sub-devices in the terminal; the node server obtains a path of target data stream from the data source device according to the plurality of data packet request messages, and transmits a path of target data stream and the multicast address to the terminal according to the plurality of data packet request messages, and the terminal is used for searching at least one piece of sub-device corresponding to the multicast address in a pre-established corresponding relation and sending the target data stream to the searched at least one piece of sub-device.
Optionally, after the step of the node server receiving a plurality of data packet request messages from the terminal, the method further includes: the node server judges whether multicast addresses are distributed to the plurality of sub-devices of the terminal or not according to the identification information of the terminal and the identification information of the target data stream carried in the plurality of data packet request messages; if the node server does not allocate the multicast address to the plurality of the sub-devices of the terminal, executing the operation of allocating a common multicast address to the plurality of the sub-devices in the terminal; and if the node server distributes multicast addresses to the plurality of the sub-devices of the terminal, selecting the multicast addresses distributed to the plurality of the sub-devices of the terminal.
Optionally, after the step of the node server transmitting the target data stream and the multicast address to the terminal according to the multiple data packet request messages, the terminal is further configured to establish the corresponding relationship according to the multicast address and the identification information of the multiple sub-devices.
Optionally, the terminal is configured to search for at least one of the child devices corresponding to the multicast address from the correspondence according to the identifier information of the child device carried in the multiple data packet request messages.
Optionally, the terminal is further configured to obtain service states of the multiple pieces of sub-equipment, and maintain the corresponding relationship according to the service states.
The embodiment of the invention also discloses a system for processing the data stream, which is applied to the video network, wherein the video network comprises data source equipment, a node server and a terminal, the terminal comprises a plurality of sub-equipment, and the node server is respectively in communication connection with the data source equipment and the terminal; the node server includes: a receiving module, configured to receive multiple data packet request information from the terminal, where the data packet request information includes identification information of a target data stream, identification information of the terminal, and identification information of the child device; a distribution module, configured to distribute a common multicast address to the multiple sub-devices in the terminal according to the multiple data packet request messages, where the multicast address is used to transmit the target data stream to the multiple sub-devices in the terminal; a transmission module, configured to obtain a path of the target data stream from the data source device according to the multiple data packet request messages, and transmit a path of the target data stream and the multicast address to the terminal according to the multiple data packet request messages, where the terminal is configured to search for at least one piece of sub-device corresponding to the multicast address in a pre-established correspondence, and send the target data stream to the searched at least one piece of sub-device.
Optionally, the node server further includes: a determining module, configured to determine, after the receiving module receives multiple data packet request information from the terminal, whether a multicast address has been allocated to the multiple sub-devices of the terminal according to identification information of the terminal and identification information of the target data stream, where the identification information of the terminal is carried in the multiple data packet request information; the allocating module is configured to allocate a common multicast address to the multiple sub-devices in the terminal when the multicast address is not allocated to the multiple sub-devices in the terminal; a selecting module, configured to select a multicast address already allocated to the plurality of sub devices of the terminal when the allocating module already allocates the multicast address to the plurality of sub devices of the terminal.
Optionally, the terminal is further configured to establish the correspondence relationship according to the multicast address and the identifier information of the multiple pieces of sub-devices after the transmission module transmits the target data stream and the multicast address to the terminal according to the multiple pieces of data packet request information; the terminal is used for searching at least one piece of sub-equipment corresponding to the multicast address from the corresponding relation according to the identification information of the sub-equipment carried in the data packet request information; the terminal is further configured to obtain service states of the plurality of sub-devices, and maintain the corresponding relationship according to the service states.
The embodiment of the invention also discloses a device, which comprises:
one or more processors; and
one or more machine-readable media having instructions stored thereon, which when executed by the one or more processors, cause the apparatus to perform one or more methods of processing a data stream as described in embodiments of the invention.
The embodiment of the invention also discloses a computer readable storage medium, and a stored computer program enables a processor to execute the processing method of the data stream.
The embodiment of the invention has the following advantages:
the embodiment of the invention is applied to the video network, the video network can comprise data source equipment, a node server and a terminal, wherein the terminal can comprise a plurality of sub-equipment, and the node server can be respectively in communication connection with the data source equipment and the terminal. The data source device may obtain the data stream and transmit the data stream to the node server, and the node server may transmit the corresponding data stream to the child device according to the request information of the child device.
In the embodiment of the invention, a plurality of sub-devices in the terminal send data packet request information to the node server, and each data packet request information requests the same target data stream. Each packet request message may include identification information of the target data stream, identification information of the terminal, and identification information of the sub-device. The node server may allocate a common multicast address to the sub-devices in the terminal according to the received packet request information, where the multicast address is used to transmit the target data stream to the sub-devices in the terminal. The node server obtains a path of target data stream from the data source equipment according to the received data packet request information, and transmits a path of target data stream and a multicast address to the terminal according to the data packet request information. The terminal may find at least one sub-device corresponding to the multicast address in the pre-established correspondence, and send the target data stream to the found at least one sub-device.
Through the technical scheme of the embodiment of the invention, when a plurality of sub-devices in the same terminal request the same target data stream, the node server allocates a common multicast address for the plurality of sub-devices in the terminal and transmits a path of target data stream to the terminal. The terminal can find the corresponding sub-device according to the multicast address and distribute the received one path of target data stream to each sub-device. In the embodiment of the invention, when a plurality of sub-devices in the same terminal request the same target data stream, on one hand, the node server does not need to respectively distribute a plurality of multicast addresses for each sub-device, thereby reducing the operating pressure of the node server in distributing the multicast addresses; on the other hand, the node server does not need to transmit multiple paths of same target data streams to the terminal, so that the network bandwidth between the node server and the terminal is saved.
Drawings
FIG. 1 is a schematic networking diagram of a video network of the present invention;
FIG. 2 is a schematic diagram of a hardware architecture of a node server according to the present invention;
fig. 3 is a schematic diagram of a hardware structure of an access switch of the present invention;
fig. 4 is a schematic diagram of a hardware structure of an ethernet protocol conversion gateway according to the present invention;
FIG. 5 is a flowchart illustrating steps of a method for processing a data stream according to an embodiment of the present invention;
fig. 6 is a schematic diagram of a design between an autonomous server and a terminal in a live viewing method of a video network according to an embodiment of the present invention;
fig. 7 is a schematic diagram of the internal design of a terminal in a live viewing method of a video network according to an embodiment of the present invention;
fig. 8 is a block diagram of a node server in a data stream processing system according to an embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
The video networking is an important milestone for network development, is a real-time network, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video, and high-definition faces each other.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of services of video, voice, pictures, characters, communication, data and the like on a system platform on a network platform, such as high-definition video conference, video monitoring, intelligent monitoring analysis, emergency command, digital broadcast television, delayed television, network teaching, live broadcast, VOD on demand, television mail, Personal Video Recorder (PVR), intranet (self-office) channels, intelligent video broadcast control, information distribution and the like, and realizes high-definition quality video broadcast through a television or a computer.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved the traditional Ethernet (Ethernet) to face the potentially huge first video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network Circuit Switching (Circuit Switching), the 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. 1, 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: server, exchanger (including Ethernet protocol conversion gateway), terminal (including various set-top boxes, code board, memory, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node server, access exchanger (including Ethernet protocol conversion gateway), terminal (including various set-top boxes, coding board, memory, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 2, the system mainly includes a network interface module 201, a switching engine module 202, a CPU module 203, and a disk array module 204;
the packets coming from the network interface module 201, the CPU module 203, and the disk array module 204 all enter the switching engine module 202; the switching engine module 202 performs an operation of looking up the address table 205 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a queue of the corresponding packet buffer 206 based on the packet's steering information; if the queue of the packet buffer 206 is nearly full, it is discarded; the switching engine module 202 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. The disk array module 204 mainly implements control over the hard disk, including initialization, read-write, and other operations on the hard disk; the CPU module 203 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 205 (including a downlink protocol packet address table, an uplink protocol packet address table, and a data packet address table), and configuring the disk array module 204.
The access switch:
as shown in fig. 3, the network interface module mainly includes a network interface module (a downlink network interface module 301 and an uplink network interface module 302), a switching engine module 303 and a CPU module 304;
wherein, the packet (uplink data) coming from the downlink network interface module 301 enters the packet detection module 305; the packet detection module 305 detects whether the Destination Address (DA), the Source Address (SA), the packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id) and enters the switching engine module 303, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 302 enters the switching engine module 303; the incoming data packet of the CPU module 304 enters the switching engine module 303; the switching engine module 303 performs an operation of looking up the address table 306 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 303 is from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 307 in association with the stream-id; if the queue of the packet buffer 307 is nearly full, it is discarded; if the packet entering the switching engine module 303 is not from the downlink network interface to the uplink network interface, the data packet is stored in the queue of the corresponding packet buffer 307 according to the guiding information of the packet; if the queue of the packet buffer 307 is nearly full, it is discarded.
The switching engine module 303 polls all packet buffer queues and may include two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
The rate control module 308 is configured by the CPU module 304, and generates tokens for packet buffer queues from all downstream network interfaces to upstream network interfaces at programmable intervals to control the rate of upstream forwarding.
The CPU module 304 is mainly responsible for protocol processing with the node server, configuration of the address table 306, and configuration of the code rate control module 308.
Ethernet protocol conversion gateway
As shown in fig. 4, the apparatus mainly includes a network interface module (a downlink network interface module 401 and an uplink network interface module 402), a switching engine module 403, a CPU module 404, a packet detection module 405, a rate control module 408, an address table 406, a packet buffer 407, a MAC adding module 409, and a MAC deleting module 410.
Wherein, the data packet coming from the downlink network interface module 401 enters the packet detection module 405; the packet detection module 405 detects whether the ethernet MAC DA, the ethernet MAC SA, the ethernet length or frame type, the video network destination address DA, the video network source address SA, the video network packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, the MAC deletion module 410 subtracts MAC DA, MAC SA, length or frame type (2byte) and enters the corresponding receiving buffer, otherwise, discards it;
the downlink network interface module 401 detects the sending buffer of the port, and if there is a packet, obtains the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MAC SA of the ethernet protocol 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.
Referring to fig. 5, a flowchart illustrating steps of an embodiment of a method for processing a data stream according to an embodiment of the present invention is shown, where the method may be applied to a video network, where the video network may include a data source device, a node server, and a terminal, where the terminal may include a plurality of sub-devices, and the node server may be communicatively connected to the data source device and the terminal, respectively. The method specifically comprises the following steps:
in step 501, a node server receives a plurality of data packet request messages from a terminal.
In the embodiment of the present invention, a plurality of sub-devices in the same terminal may respectively generate a data packet request message, where the data packet request message is used to obtain a target data stream of a data source device. Specifically, the packet request information may include identification information of the target data stream, identification information of a terminal where the child device is located, and identification information of the child device. For example, each of the sub-devices a01 and a02 in the terminal a generates a packet request message, and the packet request message q01 generated by the sub-device a01 includes the identification information of the target data stream d01, the identification information of the terminal a, and the identification information of the sub-device a 01. The packet request information q02 generated by the child device a02 includes identification information of the target data stream d01, identification information of the terminal a, and identification information of the child device a 02.
Step 502, the node server allocates a common multicast address to a plurality of sub-devices in the terminal according to the plurality of data packet request messages.
After receiving the multiple data packet request messages, the node server may analyze the multiple data packet request messages respectively to obtain the identification information of the target data stream and the identification information of the terminal in each data packet request message. If the identification information of the target data stream in each data packet request message is the same, it indicates that each data packet request message indicates to acquire the same target data stream. And if the identification information of the terminal in each data packet request message is the same, indicating that each data packet request message indicates a plurality of sub-devices from the same terminal to acquire the target data stream.
After receiving the multiple data packet request messages, the node server may also allocate a common multicast address to each of the sub-devices that generate and send the data packet request messages according to the identification information of the terminal and the identification information of the sub-devices in the multiple data packet request messages. For example, the node server J assigns a common multicast address z01 to the child devices a01 and a02 in the terminal a. The multicast address is used to transmit the target data stream to the child device in the terminal.
In a preferred embodiment of the present invention, after receiving multiple data packet request messages from a terminal, a node server may determine whether a multicast address has been allocated to multiple sub-devices of the terminal according to the identification information of the terminal and the identification information of a target data stream, which are carried in the data packet request messages. Specifically, after receiving one or more data packet request messages, the node server may parse the received data packet request messages to obtain the identification information of the terminal and the identification information of the target data stream. And the node server searches whether a multicast address corresponding to the analyzed identification information of the terminal and the identification information of the target data stream exists in a pre-recorded multicast address queue. For example, after the node server J receives the packet request information x01, the identification information of the terminal a and the identification information of the target data flow d01 may be parsed from the packet request information x 01. The node server J searches in the pre-recorded multicast address queue whether there is a multicast address of a child device originating from the terminal a and requesting to acquire the target data stream d 01. If the multicast address of the sub-device which originates from the terminal a and requests to acquire the target data stream d01 does not exist in the multicast address queue, the node server J allocates a multicast address to the sub-device which sends the packet request information x01, and records the allocated multicast address into the multicast address queue. If the multicast address of the child device originating from the terminal a and requesting to acquire the target data stream d01 exists in the multicast address queue, the node server J selects the multicast address of the child device originating from the terminal a and requesting to acquire the target data stream d01 from the multicast address queue, and assigns the multicast address as the child device that transmits the packet request information x01 using the selected multicast address.
Step 503, the node server obtains a path of target data stream from the data source device according to the multiple data packet request messages, and transmits a path of target data stream and a multicast address to the terminal according to the multiple data packet request messages, so that the terminal distributes the target data stream to the sub-devices.
In the embodiment of the present invention, after receiving the multiple data packet request messages, the node server may further determine the corresponding data source device according to the identification information of the target data stream in the multiple data packet request messages, further acquire the target data stream from the corresponding data source device, and then transmit the target data stream and the multicast address to the terminal. Specifically, the node server may determine the data source device corresponding to the identification information of the target data stream according to the identification information of the target data stream and a preset list of data source devices. The node server may determine a terminal corresponding to the identification information of the terminal according to the identification information of the terminal and a preset list of terminals.
It should be noted that, no matter one or more of the sub-devices in the terminal requests to acquire the target data stream, the node server only transmits one path of the target data stream when transmitting the target data stream to the terminal.
After receiving the target data stream and the multicast address, the terminal may distribute the target data stream to the sub-devices, specifically to which sub-device or sub-devices the target data stream is distributed, and the terminal needs to search for one or more sub-devices corresponding to the multicast address in a pre-established correspondence relationship, and further distribute the target data stream to the searched one or more sub-devices.
After the node server transmits the target data stream and the multicast address to the terminal, the terminal may establish a corresponding relationship according to the multicast address and the identification information of the sub-device. For example, the sub-devices a01 and a02 of the terminal a send packet request information to the node server, which assigns a common multicast address z01 to the sub-devices a01 and a 02. The terminal a establishes a correspondence between the multicast address z01 and the sub-devices a01 and a 02. Specifically, the terminal a can award the correspondence between the multicast address z01 and the identification information of the sub-devices a01 and a 02. If the sub-device a03 of the terminal a does not send the packet request information to the node server, or the sub-device a03 of the terminal a sends the packet request information to the node server, but the multicast address z02 allocated by the node server to the sub-device a03 is different from the multicast address z01, the correspondence relationship established by the terminal a does not include the correspondence relationship between the multicast address z01 and the sub-device a03, and the correspondence relationship established by the terminal a may include the correspondence relationship between the multicast address z02 and the sub-device a 03.
As for the previous example, if the terminal a receives the target data stream d01 and the multicast address z01, the terminal a finds that the sub-devices corresponding to the multicast address z01 are the sub-devices a01 and a02 in the corresponding relationship, that is, the terminal a finds that the identification information of the sub-devices a01 and a02 in the corresponding relationship correspond to the multicast address z 01. The target data stream d01 is then distributed inside terminal a to sub-devices a01 and d 02. Since the sub-device a03 does not correspond to the multicast address z01, or the multicast address of the sub-device a03 is not the multicast address z01, the terminal a does not need to distribute the target data stream d01 to the sub-device a 03.
In a preferred embodiment of the present invention, the terminal may further obtain a service state of each sub-device, and maintain the established corresponding relationship according to the service state. For example, when the terminal a acquires that the service state of the sub-device a02 is the dormant state, the correspondence between the identifier information of the sub-device a02 and the multicast address z01 may be deleted in the correspondence. In addition, the terminal a may also add a new corresponding relationship to the established corresponding relationship, or modify an existing corresponding relationship, and the like.
Based on the above description about the embodiment of the data stream processing method, a live broadcast watching method of video networking is introduced below, where the live broadcast watching method involves a data source device, an autonomous server and a terminal, where the data source device may collect a live broadcast signal, i.e., an audio and video data stream, the autonomous server may be connected to the data source device and the terminal, and the terminal may include a plurality of sub-devices, and each of the sub-devices may send a live broadcast watching request to the autonomous server. As shown in fig. 6, each of the sub-devices a01 and a02 of the terminal a transmits a live viewing request to the autonomous server, and each of the live viewing requests transmitted by the sub-devices a01 and a02 indicates viewing of the audio-visual data stream of the data source device y 01. After receiving the live broadcast viewing request, the autonomous server searches for a multicast address corresponding to the data source device y01, and then determines whether the multicast address is a multicast address allocated to the child device in the terminal a. And if the searched multicast address is the multicast address distributed to the sub-equipment in the terminal A, sending the searched multicast address to the terminal A. If the searched multicast address is not the multicast address allocated to the sub-device in the terminal A, the autonomous server allocates a common multicast address to the sub-devices a01 and a02 and sends the allocated multicast address to the terminal A. Furthermore, the autonomous server may also transmit the audio-visual data stream acquired from the data source device y01 to the terminal a together with the multicast address.
As shown in fig. 7, after receiving the audio-video data stream and the multicast address, the terminal a may search for a sub-device corresponding to the received multicast address in the correspondence between the multicast address and the sub-device, and further distribute the received audio-video data stream to the searched sub-device.
The embodiment of the invention is applied to the video network, the video network can comprise data source equipment, a node server and a terminal, wherein the terminal can comprise a plurality of sub-equipment, and the node server can be respectively in communication connection with the data source equipment and the terminal. The data source device may obtain the data stream and transmit the data stream to the node server, and the node server may transmit the corresponding data stream to the child device according to the request information of the child device.
In the embodiment of the invention, a plurality of sub-devices in the terminal send data packet request information to the node server, and each data packet request information requests the same target data stream. Each packet request message may include identification information of the target data stream, identification information of the terminal, and identification information of the sub-device. The node server may allocate a common multicast address to the sub-devices in the terminal according to the received packet request information, where the multicast address is used to transmit the target data stream to the sub-devices in the terminal. The node server obtains a path of target data stream from the data source equipment according to the received data packet request information, and transmits a path of target data stream and a multicast address to the terminal according to the data packet request information. The terminal may find at least one sub-device corresponding to the multicast address in the pre-established correspondence, and send the target data stream to the found at least one sub-device.
Through the technical scheme of the embodiment of the invention, when a plurality of sub-devices in the same terminal request the same target data stream, the node server allocates a common multicast address for the plurality of sub-devices in the terminal and transmits a path of target data stream to the terminal. The terminal can find the corresponding sub-device according to the multicast address and distribute the received one path of target data stream to each sub-device. In the embodiment of the invention, when a plurality of sub-devices in the same terminal request the same target data stream, on one hand, the node server does not need to respectively distribute a plurality of multicast addresses for each sub-device, thereby reducing the operating pressure of the node server in distributing the multicast addresses; on the other hand, the node server does not need to transmit multiple paths of same target data streams to the terminal, so that the network bandwidth between the node server and the terminal is saved.
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. 8, a block diagram of a node server in an embodiment of a data stream processing system according to an embodiment of the present invention is shown, where the system is applied to a video network, where the video network includes a data source device, a node server, and a terminal, and the terminal includes a plurality of sub devices, and the node server is in communication connection with the data source device and the terminal, respectively; the node server may include the following modules:
a receiving module 801, configured to receive multiple data packet request information from the terminal, where the data packet request information includes identification information of a target data stream, identification information of the terminal, and identification information of the sub-device; an allocating module 802, configured to allocate a common multicast address to the multiple sub-devices in the terminal according to the multiple data packet request messages, where the multicast address is used to transmit the target data stream to the multiple sub-devices in the terminal; a transmission module 803, configured to obtain a path of the target data stream from the data source device according to the multiple data packet request messages, and transmit a path of the target data stream and the multicast address to the terminal according to the multiple data packet request messages, where the terminal is configured to search for at least one sub-device corresponding to the multicast address in a pre-established correspondence, and send the target data stream to the at least one searched sub-device.
In a preferred embodiment of the present invention, the node server further includes: a determining module 804, configured to determine, after the receiving module 801 receives multiple data packet request information from the terminal, whether a multicast address has been allocated to multiple sub-devices of the terminal according to the identifier information of the terminal and the identifier information of the target data stream, where the identifier information of the terminal is carried in the multiple data packet request information; the allocating module 802 is configured to, in a case that a multicast address is not allocated to the multiple sub-devices of the terminal, allocate a common multicast address to the multiple sub-devices in the terminal; a selecting module 805, configured to select, in a case that the allocating module 802 has allocated a multicast address to the plurality of sub devices of the terminal, the multicast address that has been allocated to the plurality of sub devices of the terminal.
In a preferred embodiment of the present invention, the terminal is further configured to establish the corresponding relationship according to the multicast address and the identifier information of the plurality of sub-devices after the transmission module 803 transmits the target data stream and the multicast address to the terminal according to the plurality of data packet request information; the terminal is used for searching at least one piece of sub-equipment corresponding to the multicast address from the corresponding relation according to the identification information of the sub-equipment carried in the data packet request information; the terminal is further configured to obtain service states of the plurality of sub-devices, and maintain the corresponding relationship according to the service states.
For the embodiment of the data stream processing system, since it is basically similar to the embodiment of the data stream processing method, the description is relatively simple, and for relevant points, reference may be made to the partial description of the embodiment of the data stream processing method.
An embodiment of the present invention further provides an apparatus, including:
one or more processors; and
one or more machine-readable media having instructions stored thereon, which when executed by the one or more processors, cause the apparatus to perform one or more methods of processing a data stream as described in embodiments of the invention.
Embodiments of the present invention further provide a computer-readable storage medium, which stores a computer program to enable a processor to execute the method for processing a data stream according to the embodiments of the present invention.
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 present invention provides a method, a system, a device and a computer readable storage medium for processing data stream, wherein the method, the system, the device and the computer readable storage medium apply specific examples to explain the principles and embodiments of the present invention, and the descriptions of the above examples are only used to help understand the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. The method for processing the data stream is applied to a video network, wherein the video network comprises a data source device, a node server and a terminal, the terminal comprises a plurality of sub-devices, and the node server is respectively in communication connection with the data source device and the terminal; the method comprises the following steps:
the node server receives a plurality of data packet request messages from the terminal, wherein the data packet request messages comprise identification information of a target data stream, identification information of the terminal and identification information of the sub-equipment;
when the identification information of the target data stream in the plurality of data packet request information is the same as the identification information of the terminal, the node server allocates a common multicast address to the plurality of sub-devices in the terminal according to the plurality of data packet request information, wherein the multicast address is used for transmitting the target data stream to the plurality of sub-devices in the terminal;
the node server obtains a path of target data stream from the data source device according to the plurality of data packet request information, and transmits a path of target data stream and the multicast address to the terminal according to the plurality of data packet request information, the terminal is used for searching at least one piece of sub-device corresponding to the multicast address in a pre-established corresponding relation, and transmitting the target data stream to the searched at least one piece of sub-device, so that the node server only transmits a path of target data stream when transmitting the target data stream to the terminal.
2. The method for processing data stream according to claim 1, wherein after the step of the node server receiving a plurality of data packet request messages from the terminal, the method further comprises:
the node server judges whether multicast addresses are distributed to the plurality of sub-devices of the terminal or not according to the identification information of the terminal and the identification information of the target data stream carried in the plurality of data packet request messages;
if the node server does not allocate the multicast address to the plurality of the sub-devices of the terminal, executing the operation of allocating a common multicast address to the plurality of the sub-devices in the terminal;
and if the node server distributes multicast addresses to the plurality of the sub-devices of the terminal, selecting the multicast addresses distributed to the plurality of the sub-devices of the terminal.
3. The method according to claim 1, wherein after the step of the node server transmitting the target data stream and the multicast address to the terminal according to the plurality of packet request messages, the terminal is further configured to establish the correspondence relationship according to the multicast address and the identification information of the plurality of sub-devices.
4. The method according to claim 1 or 3, wherein the terminal is configured to search for at least one of the child devices corresponding to the multicast address from the correspondence relationship according to the identifier information of the child device carried in the multiple pieces of packet request information.
5. The method according to claim 4, wherein the terminal is further configured to obtain service states of the plurality of sub-devices, and maintain the correspondence according to the service states.
6. The system is characterized in that the system is applied to a video network, the video network comprises a data source device, a node server and a terminal, the terminal comprises a plurality of sub-devices, and the node server is respectively in communication connection with the data source device and the terminal; the node server includes:
a receiving module, configured to receive multiple data packet request information from the terminal, where the data packet request information includes identification information of a target data stream, identification information of the terminal, and identification information of the child device;
an allocating module, configured to allocate a common multicast address to the multiple sub-devices in the terminal according to the multiple data packet request messages when the identification information of the target data stream in the multiple data packet request messages is the same, where the multicast address is used to transmit the target data stream to the multiple sub-devices in the terminal;
a transmission module, configured to obtain a path of the target data stream from the data source device according to the multiple data packet request messages, and transmit a path of the target data stream and the multicast address to the terminal according to the multiple data packet request messages, where the terminal is configured to search for at least one sub-device corresponding to the multicast address in a pre-established correspondence, and send the target data stream to the at least one searched sub-device, so that the node server only transmits a path of the target data stream when transmitting the target data stream to the terminal.
7. The data stream processing system of claim 6, wherein the node server further comprises:
a determining module, configured to determine, after the receiving module receives multiple data packet request information from the terminal, whether a multicast address has been allocated to the multiple sub-devices of the terminal according to identification information of the terminal and identification information of the target data stream, where the identification information of the terminal is carried in the multiple data packet request information;
the allocating module is configured to allocate a common multicast address to the multiple sub-devices in the terminal when the multicast address is not allocated to the multiple sub-devices in the terminal;
a selecting module, configured to select a multicast address already allocated to the plurality of sub devices of the terminal when the allocating module already allocates the multicast address to the plurality of sub devices of the terminal.
8. The system according to claim 6, wherein the terminal is further configured to establish the correspondence relationship according to the multicast address and the identification information of the plurality of sub-devices after the transmission module transmits the target data stream and the multicast address to the terminal according to the plurality of packet request messages;
the terminal is used for searching at least one piece of sub-equipment corresponding to the multicast address from the corresponding relation according to the identification information of the sub-equipment carried in the data packet request information;
the terminal is further configured to obtain service states of the plurality of sub-devices, and maintain the corresponding relationship according to the service states.
9. A data stream processing apparatus, comprising:
one or more processors; and
one or more machine-readable media having instructions stored thereon, which when executed by the one or more processors, cause the apparatus to perform a method of processing a data stream of one or more of claims 1-5.
10. A computer-readable storage medium, characterized in that it stores a computer program causing a processor to execute the method of processing a data stream according to any one of claims 1 to 5.
CN201910435836.7A 2019-05-23 2019-05-23 Data stream processing method, system and device and storage medium Active CN110289974B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910435836.7A CN110289974B (en) 2019-05-23 2019-05-23 Data stream processing method, system and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910435836.7A CN110289974B (en) 2019-05-23 2019-05-23 Data stream processing method, system and device and storage medium

Publications (2)

Publication Number Publication Date
CN110289974A CN110289974A (en) 2019-09-27
CN110289974B true CN110289974B (en) 2021-05-14

Family

ID=68002529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910435836.7A Active CN110289974B (en) 2019-05-23 2019-05-23 Data stream processing method, system and device and storage medium

Country Status (1)

Country Link
CN (1) CN110289974B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669610B (en) * 2020-05-27 2022-08-05 北京奇艺世纪科技有限公司 Live video transmission method, system, device, server, electronic equipment and storage medium
CN114390007B (en) * 2021-12-23 2024-03-15 西安诺瓦星云科技股份有限公司 Data processing method, device, storage medium and processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333394A (en) * 2000-05-19 2001-11-30 Hitachi Ltd Program distributing device, duplication transferring device and method for transferring duplication of program data
CN1276663A (en) * 2000-07-20 2000-12-13 上海龙林通讯技术开发有限公司 Multicast method for broad-band Ethermet
CN100490425C (en) * 2006-07-17 2009-05-20 杭州华三通信技术有限公司 Multicast network deploying method and multicast network
CN101707568B (en) * 2009-12-07 2012-06-06 中兴通讯股份有限公司 Method and system for controller user multicast service and multicast main control device

Also Published As

Publication number Publication date
CN110289974A (en) 2019-09-27

Similar Documents

Publication Publication Date Title
CN109167960B (en) Method and system for processing video stream data
CN110198345B (en) Data request method, system and device and storage medium
CN109617956B (en) Data processing method and device
CN110190973B (en) Online state detection method and device
CN109474715B (en) Resource configuration method and device based on video network
CN109150905B (en) Video network resource release method and video network sharing platform server
CN109547731B (en) Video conference display method and system
CN109660816B (en) Information processing method and device
CN110049273B (en) Video networking-based conference recording method and transfer server
CN109246135B (en) Method and system for acquiring streaming media data
CN110224988B (en) Image data processing method, system and device and storage medium
CN109005378B (en) Video conference processing method and system
CN110557319A (en) Message processing method and device based on video network
CN110289974B (en) Data stream processing method, system and device and storage medium
CN110493149B (en) Message processing method and device
CN110087147B (en) Audio and video stream transmission method and device
CN110022500B (en) Packet loss processing method and device
CN109743360B (en) Information processing method and device
CN109889516B (en) Method and device for establishing session channel
CN110557411A (en) video stream processing method and device based on video network
CN110798450B (en) Audio and video data processing method and device and storage medium
CN110417933B (en) Business object processing method and device and storage medium
CN110784683B (en) Management method, device and storage medium for monitoring resources
CN110139059B (en) Method and device for allocating video networking resources
CN110557687B (en) Multicast data packet processing method, device and storage medium

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