WO2017054508A1 - 数据推送方法及装置 - Google Patents

数据推送方法及装置 Download PDF

Info

Publication number
WO2017054508A1
WO2017054508A1 PCT/CN2016/085301 CN2016085301W WO2017054508A1 WO 2017054508 A1 WO2017054508 A1 WO 2017054508A1 CN 2016085301 W CN2016085301 W CN 2016085301W WO 2017054508 A1 WO2017054508 A1 WO 2017054508A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data
multicast
proxy
receiving
Prior art date
Application number
PCT/CN2016/085301
Other languages
English (en)
French (fr)
Inventor
石忠波
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017054508A1 publication Critical patent/WO2017054508A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • 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/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels

Definitions

  • This document relates to, but is not limited to, the field of network communication technology, and relates to a data pushing method and apparatus.
  • teachers and students are generally assigned a computer, and the application information (including desktop, audio and video, etc.) of the computer used by the teacher is pushed to the computer used by all students and displayed, if the teacher uses the computer and The computer used by the students can be realized by multicast under the same switch or router.
  • the teacher and the student are both Connect the virtual machine corresponding to the terminal through the terminal, and then broadcast the application information of the virtual machine to the student terminal.
  • the embodiment of the invention provides a data pushing method and device, which can reduce the difficulty of implementing multicast across network segments.
  • the embodiment of the invention provides a data pushing method, which is applied to multimedia teaching, and the data pushing method includes:
  • the proxy node After receiving the data push command sent by the first node, the proxy node adds the second node associated with the identification information to the multicast node based on the identification information carried by the data push command. group;
  • the proxy node After receiving the data stream, the proxy node sends the data stream based on a multicast manner. Sent to each second node in the multicast group.
  • the proxy node after receiving the data push instruction sent by the first node, the proxy node associates, according to the identification information carried by the data push instruction, the network segment where the proxy node is located, and is associated with the identification information.
  • the steps of joining the second node to the multicast group include:
  • the proxy node After receiving the data push instruction sent by the first node, the proxy node determines a multicast address based on the data push instruction;
  • the proxy node After receiving the join request sent by the second node based on the multicast address, the proxy node joins the second node to the multicast group corresponding to the multicast address.
  • the join request carries the authentication information of the second node
  • the step of the proxy node joining the second node to the multicast group corresponding to the multicast address includes:
  • the proxy node After receiving the join request sent by the second node based on the multicast address, the proxy node performs an authentication operation on the second node based on the authentication information carried by the join request;
  • the proxy node joins the second node to the multicast group corresponding to the multicast address.
  • the method further includes:
  • the proxy node After the step of receiving the data stream, the proxy node sends the data stream to each second node in the multicast group based on a multicast manner,
  • the proxy node receives an acknowledgement message that each of the second nodes feeds back based on the data stream received by itself;
  • the proxy node When there is a second node that does not feed back the acknowledgement message within the preset time period, the proxy node sends the data stream to the second node that does not feed back the acknowledgement message in a unicast manner.
  • the method further includes: after receiving the data push instruction sent by the first node, the proxy node is based on the identification information carried by the data push instruction, and the network segment where the proxy node is located, and After the step of joining the multicast node by the second node associated with the identification information, receiving After the adjustment instruction sent by the first node, the proxy node performs an adjustment operation on the multicast group based on the adjustment instruction, where the adjustment operation performed on the multicast group includes removing and adding the second node.
  • the embodiment of the invention further provides a data pushing device, which is applied to multimedia teaching, and the data pushing device comprises:
  • a group creation module configured to: when the proxy node that is located at the same time receives the data push instruction sent by the first node, based on the identification information carried by the data push instruction, the network segment where the proxy node is located, and the identification The second node associated with the information joins the multicast group;
  • a stream receiving module configured to receive a data stream sent by the first node according to a unicast manner
  • the stream multicast module is configured to send the data stream to each second node in the multicast group based on a multicast manner after receiving the data stream.
  • the group creation module includes:
  • An address generation submodule configured to determine a multicast address based on the data push instruction after the proxy node that is located at the proxy node receives the data push command sent by the first node;
  • An address distribution submodule configured to send the multicast address to each second node that is associated with each identification information carried by the data push instruction to a network segment where the proxy node is located;
  • the group creation sub-module is configured to join the second node to the multicast group corresponding to the multicast address after receiving the join request sent by the second node based on the multicast address.
  • the join request carries the authentication information of the second node
  • the group creation submodule includes:
  • the authentication unit is configured to perform an authentication operation on the second node based on the authentication information carried by the join request after receiving the join request sent by the second node based on the multicast address;
  • the adding unit is configured to join the second node to the multicast group corresponding to the multicast address after the authentication is passed.
  • the data pushing device further includes:
  • a feedback receiving module configured to receive each of the second nodes based on a data stream received by itself Acknowledgment message
  • the flow retransmission module is configured to send the data stream to the second node that does not feed back the acknowledgement message in a unicast-based manner when the second node does not feed back the acknowledgement message within the preset time period.
  • the data pushing device further includes a group adjustment module, configured to perform an adjustment operation on the multicast group based on the adjustment instruction after receiving the adjustment instruction sent by the first node, where The adjustment operation performed by the multicast group includes removing and adding the second node.
  • a group adjustment module configured to perform an adjustment operation on the multicast group based on the adjustment instruction after receiving the adjustment instruction sent by the first node, where The adjustment operation performed by the multicast group includes removing and adding the second node.
  • the embodiment of the invention further provides a computer readable storage medium, wherein the computer readable storage medium stores computer executable instructions, and the computer executable instructions are implemented to implement a data push method.
  • the proxy node is set in the network segment where the second node is located, and the proxy node receives the data stream sent by the remote first node in a unicast manner, and pushes the data stream to each by multicast.
  • the second node that is, the proxy node proxyes the first node as a multicast source, thereby implementing multicast across the network segment.
  • the embodiment of the present invention avoids cumbersome cross-network segment multicast setup and can reduce the implementation of cross-network segment multicast. Difficulty. Other aspects will be apparent upon reading and understanding the drawings and detailed description.
  • FIG. 1 is a schematic flowchart of a data pushing method according to Embodiment 1 of the present invention.
  • FIG. 2 is the identification information carried by the proxy node based on the data push command after the data push command sent by the first node in FIG. 1 is used, and the network segment where the proxy node is located is associated with the identification information.
  • FIG. 3 is a schematic diagram of functional modules of a data pushing apparatus according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic diagram of a refinement function module of the group creation module in FIG. 3.
  • the embodiment of the present invention provides a data pushing method, which is applied to multimedia teaching.
  • the data pushing method in the embodiment of the present invention includes:
  • Step S10 after receiving the data push command sent by the first node, the proxy node, based on the identification information carried by the data push command, the second node associated with the identification information of the network segment where the proxy node is located Join a multicast group;
  • the data pushing method provided in this embodiment can be applied to multimedia teaching.
  • the remote teacher first node
  • the remote agent proxy node
  • the multimedia data received by the multicast data is pushed to the multicast group maintained by the multicast group, and the multicast group includes a plurality of students (second nodes).
  • the teacher triggers a data push instruction based on the multimedia teaching interface provided by the first node. For example, the teacher clicks the “class” button of the multimedia teaching interface, and the first node triggers a data push instruction, and the The data push command is sent to the proxy node, wherein the data push command carries identification information characterizing the second node to designate a student participating in the multimedia teaching.
  • the proxy node and the first node are located in different network segments, but the geographic locations of the proxy node and the first node may be the same, for example, the proxy node and the first node. Located in the same school.
  • the proxy node When receiving the data push instruction sent by the first node, the proxy node identifies that the current first node will push the multimedia data; the proxy node corresponding the identification information according to the identification information carried by the data push instruction. And the second node of the network segment where the proxy node is located is added to the multicast group, where the second node may be multiple or single; the proxy node and the second node are optional. Arranged in the same classroom. It can be understood that, in other embodiments, under the premise that the proxy node and the second node are located on the same network segment, the arrangement positions of the proxy node and the second node may be set according to actual needs. For example, the agent node is placed on the second floor of the teaching building, and the second node step is on the third floor of the teaching building.
  • the proxy node feeds back a data acquisition request to the first node, so that the first node starts to push the data flow according to the data acquisition request. Describe the agent node and start multimedia teaching.
  • Step S20 the proxy node receives the data stream sent by the first node according to the unicast mode
  • the data interaction between the proxy node and the first node may be based on a TCP (Transmission Control Protocol) protocol or a connectionless UDP (User Datagram Protocol). , User Datagram Protocol) protocol implementation.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • the transmission protocol between the proxy node and the first node is selected according to actual needs. For example, to ensure the stability of data transmission, the first node and the proxy node preferably adopt TCP.
  • the protocol performs data interaction.
  • the data stream sent by the first node to the proxy node includes current video data, audio data, and text data that is pushed in real time in response to user operations.
  • Step S30 after receiving the data stream, the proxy node sends the data stream to each second node in the multicast group based on a multicast manner.
  • the proxy node after receiving the data stream pushed by the first node, pushes the data stream to each second node in the multicast group maintained by the multicast node; After receiving the data stream pushed by the proxy node, the second node decodes the data stream to carry audio data and video data, etc., and can synchronously present the multimedia content of the first node to implement multimedia teaching.
  • the proxy node is set on the network segment where the second node is located, and the proxy node receives the data stream sent by the remote first node in a unicast manner, and then performs the multicast manner by means of multicast.
  • the data stream is pushed to each of the second nodes, that is, the first node of the proxy node acts as a multicast source, thereby implementing multicast across the network segment.
  • the embodiment of the present invention avoids cumbersome cross-network segment multicast setting and can reduce cross-network. The difficulty of implementing segment multicast.
  • the foregoing step S10 includes:
  • Step S101 after receiving the data push instruction sent by the first node, the proxy node determines a multicast address based on the data push instruction;
  • the proxy node when receiving the data push instruction sent by the first node, parses the data instruction to discover the data stream to be pushed by the first node, where the data stream includes video data and a picture. Data and audio data, etc., the proxy nodes are respectively based on the first node The data types of the data to be transmitted are assigned different multicast addresses in order to transmit data of different data types. At the same time, the proxy node also assigns a port number to a multicast address corresponding to different data types.
  • Step S102 the proxy node sends the multicast address to each second node that is associated with each identification information carried by the data push instruction on the network segment where the proxy network is located;
  • Step S103 After receiving the join request sent by the second node based on the multicast address, the proxy node joins the second node to the multicast group corresponding to the multicast address.
  • the proxy node After the multicast address corresponding to the different data types is determined, the proxy node sends the multicast address to each second node that is associated with each piece of identification information carried by the data push instruction, and The corresponding port number.
  • the second node feeds back a join request to the proxy node when receiving the multicast address and the port number sent by the proxy node; the proxy node receives the join sent by the second node based on the multicast address
  • the second node is added to the multicast group corresponding to the multicast address. It can be understood that, in this embodiment, the second node joins multiple multicast groups respectively corresponding to multicast addresses of different data types, and the proxy node forwards the first node by multicasting.
  • the data stream of the second node receives the data stream of each multicast group based on each port corresponding to the port number it receives.
  • the second node after receiving the multicast address and the port number sent by the proxy node, the second node may display prompt information for the user to confirm based on the display interface of the prompt information. Whether to join the multicast group; after receiving the confirmation information input by the user, the second node feeds back the join request to the proxy node.
  • the join request carries the authentication information of the second node
  • the step of the proxy node joining the second node to the multicast group corresponding to the multicast address includes:
  • the proxy node After receiving the join request sent by the second node based on the multicast address, the proxy node performs an authentication operation on the second node based on the authentication information carried by the join request;
  • the proxy node joins the second node to the multicast group corresponding to the multicast address.
  • multicast technology involves data distribution, video conferencing, and IPTV (interactive network television) services.
  • IPTV interactive network television
  • security issues For example, an illegal user masquerades as a second node to join a multicast group and steal data.
  • the embodiment provides an optional authentication scheme to improve the security of data push.
  • the proxy node stores the authentication information of the second node that allows access to the multicast and the corresponding authentication data, and the authentication information and the authentication data and the authentication information pre-allocated to the second node. Consistent with the authentication data.
  • the proxy node After receiving the join request sent by the second node, the proxy node obtains the authentication information carried in the join request (optionally the unique identifier information of the second node, such as the second node MAC (Media Access Control, media) Access control) address, etc., and acquire one or more sets of AV (Authentication Vector) according to the authentication information.
  • the authentication information carried in the join request optionally the unique identifier information of the second node, such as the second node MAC (Media Access Control, media) Access control
  • AV Authentication Vector
  • AV is a triplet, including RAND (Random Challenge), AUTN (Authentication Token), and XRES (Expected Response), and RAND is randomly generated by the proxy node and used to provide
  • the unpredictable random number of the two nodes is 16 bytes in length
  • the AUTN is calculated by the proxy node based on the authentication information and the stored authentication data corresponding to the authentication information by using a first preset algorithm.
  • the length is 17 bytes
  • XRES is the proxy node based on the RAND and the stored and the authentication
  • the corresponding authentication data of the information is calculated by the second preset algorithm and is a second node authentication response parameter expected by the proxy node.
  • the proxy node takes RAND and AUTN in a group of AVs and returns it to the second node as a User Authentication Request (also referred to as a User Authentication Request).
  • the second node After receiving the authentication request sent by the proxy node, the second node extracts the AUTN in the authentication request, and the second node passes the first preset algorithm based on the pre-stored authentication data and the authentication information. Performing a calculation, if the calculation result is different from the AUTN, the proxy node is illegal; if the calculation result is the same as the AUTN, the proxy node is legal, and the second node is based on the RAND in the authentication request and The pre-stored authentication data is calculated by the second preset algorithm RES (User Authentication Response, also referred to as a user authentication response), and the calculated RES is returned to the proxy node as authentication information.
  • RES User Authentication Response
  • the proxy node After receiving the authentication information (RES) sent by the second node, the proxy node passes The self-calculated XRES and the received RES are compared to authenticate the second node; if they are the same, the authentication is passed; if different, the authentication fails.
  • RES authentication information
  • the proxy node joins the second node to the multicast group corresponding to the multicast address.
  • the method further includes:
  • the proxy node receives an acknowledgement message that each of the second nodes feeds back based on the data stream received by itself;
  • the proxy node When there is a second node that does not feed back the acknowledgement message within the preset time period, the proxy node sends the data stream to the second node that does not feed back the acknowledgement message in a unicast manner.
  • the second node after receiving the data stream sent by the proxy node, the second node feeds back an acknowledgement message to the proxy node to notify the proxy node that it has received the data stream; the proxy node receives Each of the second nodes is based on an acknowledgement message fed back by the data stream received by itself; and when the second node does not feed back the acknowledgement message within a preset time period, the proxy node uses the data in a unicast manner. The stream is sent again to the second node that does not feed back the acknowledgment message.
  • the preset time period is set as needed. For example, in this embodiment, it can be set to 100 ms.
  • the reason that the proxy node does not receive the acknowledgement message fed back by the second node within the preset time period comprises: the second node does not receive the data flow or the acknowledgement message fed back by the second node is in the transmission process. Lost in the middle.
  • the method further includes:
  • the proxy node After the step S10, after receiving the adjustment instruction sent by the first node, the proxy node performs an adjustment operation on the multicast group based on the adjustment instruction, where the adjustment operation is performed on the multicast group. This includes removing and adding the second node.
  • the first node may send an adjustment instruction for the multicast group to the proxy node at any time, so that the proxy node is based on the adjustment
  • the entire instruction performs a corresponding adjustment operation on the multicast group, where the adjusting operation performed on the multicast group includes removing and adding the second node.
  • the proxy node moves the corresponding second node out of the multicast group based on the identification information carried by the received adjustment instruction; for example, the proxy node receives The adjustment command is to add the second node, and the proxy node adds the corresponding second node to the multicast group based on the identification information carried by the received adjustment instruction.
  • the embodiment of the present invention further provides a data pushing device, which is applied to multimedia teaching.
  • the data pushing device in the embodiment of the present invention includes:
  • the group creation module 10 is configured to: after the proxy node that is located at the proxy node receives the data push command sent by the first node, based on the identification information carried by the data push command, the network segment where the proxy node is located, and the identifier The second node associated with the information joins the multicast group;
  • the data pushing device proposed in this embodiment is built in the proxy node and can be applied to the multimedia teaching.
  • the remote teacher first node
  • the node sends the multimedia data it receives to the multicast group it maintains by multicast, and the multicast group includes multiple students (second nodes).
  • the following is a description of the multimedia teaching scenario.
  • the teacher triggers a data push instruction based on the multimedia teaching interface provided by the first node. For example, the teacher clicks the “class” button of the multimedia teaching interface, and the first node triggers a data push instruction, and the The data push command is sent to the proxy node, wherein the data push command carries identification information characterizing the second node to designate a student participating in the multimedia teaching.
  • the proxy node and the first node are located in different network segments, but the geographic locations of the proxy node and the first node may be the same, for example, the proxy node and the first node. Located in the same school.
  • the group creation module 10 identifies that the current first node will push the multimedia data when the proxy node receives the data push instruction sent by the first node; the group creation module 10 is based on the identification carried by the data push instruction.
  • the information is associated with the identification information, and the second node of the network segment where the proxy node is located is added to the multicast group, where the second node may be multiple, It may be a single; the proxy node and the second node may be optionally arranged in the same classroom. It can be understood that, in other embodiments, under the premise that the proxy node and the second node are located on the same network segment, the arrangement positions of the proxy node and the second node may be set according to actual needs. For example, the agent node is placed on the second floor of the teaching building, and the second node step is on the third floor of the teaching building.
  • the group creation module 10 feeds back a data acquisition request to the first node based on the proxy node, so that the first node obtains the data according to the data.
  • the request starts to push the data stream to the proxy node to start multimedia teaching.
  • the stream receiving module 20 is configured to receive a data stream that is sent by the first node according to a unicast manner
  • the stream receiving module 20 receives, according to the proxy node, a data stream that is sent by the first node according to a unicast mode, where the data interaction between the proxy node and the first node may be based on
  • the TCP (Transmission Control Protocol) protocol can also be implemented based on the User Datagram Protocol (UDP) protocol.
  • UDP User Datagram Protocol
  • the transmission protocol between the proxy node and the first node is selected according to actual needs. For example, to ensure the stability of data transmission, the first node and the proxy node preferably adopt TCP.
  • the protocol performs data interaction.
  • the data stream sent by the first node to the proxy node includes current video data, audio data, and text data that is pushed in real time in response to user operations.
  • the stream multicast module 30 is configured to, after receiving the data stream, send the data stream to each second node in the multicast group based on a multicast manner.
  • the stream receiving module 20 pushes the data stream to its agent in a multicast manner.
  • the data pushing device provided in this embodiment is built in the proxy node, and the proxy node is set in the network segment where the second node is located, and the proxy node receives the data stream sent by the remote first node in a unicast manner, and then passes the group.
  • the broadcast mode pushes the data stream to each second node, that is, the proxy node proxyes the first node as a multicast source, and implements multicast across the network segment, which avoids cumbersome in the embodiment of the present invention.
  • Cross-network multicast settings can reduce the difficulty of implementing multicast across network segments.
  • the group creation module 10 includes:
  • the address generation sub-module 101 is configured to determine, according to the data push instruction, a multicast address after the proxy node that is located at the proxy node receives the data push command sent by the first node;
  • the address generation sub-module 101 parses the data command to discover the data stream to be pushed by the first node, and the data The stream includes video data, picture data, audio data, and the like.
  • the address generation sub-module 101 respectively allocates different multicast addresses based on the data type of the data to be transmitted by the first node, so as to transmit data of different data types.
  • the address generation sub-module 101 also assigns a port number to a multicast address corresponding to different data types.
  • the address distribution sub-module 102 is configured to send the multicast address to each second node that is associated with each identification information carried by the data push instruction to the network segment where the proxy node is located;
  • the group creation sub-module 103 is configured to join the second node to the multicast group corresponding to the multicast address after receiving the join request sent by the second node based on the multicast address.
  • the address distribution sub-module 102 is based on each of the identifiers that are respectively associated with the identification information carried by the proxy node to the network segment where the proxy node is located.
  • the two nodes send the multicast address and the corresponding port number.
  • the second node feeds back a join request to the proxy node when receiving the multicast address and the port number sent by the proxy node; the group creation submodule 103 receives the second node based on the proxy node based on the When the join request is sent by the multicast address, the second node is added to the multicast group corresponding to the multicast address.
  • the second node joins multiple multicast groups respectively corresponding to multicast addresses of different data types, and the flow multicast module 30 passes the multicast based on the proxy node.
  • the second node receives the data flow of each multicast group based on each port corresponding to the port number it receives.
  • the second node may display prompt information for the user to confirm based on the display interface of the prompt information. Whether to join the multicast group; after receiving the confirmation message input by the user, The second node feeds back a join request to the proxy node.
  • the join request carries the authentication information of the second node, where the group creation submodule 103 includes:
  • the authentication unit is configured to perform an authentication operation on the second node based on the authentication information carried by the join request after receiving the join request sent by the second node based on the multicast address;
  • the adding unit is configured to join the second node to the multicast group corresponding to the multicast address after the authentication is passed.
  • multicast technology involves data distribution, video conferencing, and IPTV (interactive network television) services.
  • IPTV interactive network television
  • security issues For example, an illegal user masquerades as a second node joining a multicast group to steal data.
  • the embodiment provides an optional authentication scheme to improve the security of data push.
  • the proxy node stores the authentication information of the second node that allows access to the multicast and the corresponding authentication data, where the authentication unit is specifically received by the authentication unit based on the proxy node.
  • the authentication information carried in the join request (optionally unique identification information of the second node, such as the second node MAC address, etc.) is obtained, and the authentication information is obtained according to the authentication information.
  • Group or groups of AV Authentication Vector
  • the AV is a triplet, including a RAND (Random Challenge), an AUT (Authentication Token), and an XRES (Expected Response), and the RAND is generated by the authentication unit and used to provide An unpredictable random number to the second node, the length is 16 bytes;
  • the AUTN is the authentication unit that passes the first pre-based based on the authentication information and the stored authentication data corresponding to the authentication information. Calculated by the algorithm for providing information to the second node, so that the second node can use it to authenticate the proxy node, the length is 17 bytes;
  • XRES is the authentication unit based on RAND and stored and The corresponding authentication data of the authentication information is calculated by the second preset algorithm, and is a second node authentication response parameter that is required by the authentication unit.
  • the authentication unit takes RAND and AUTN in a group of AVs, and returns an authentication request (User Authentication Request, also referred to as a user authentication request) to the second node based on the proxy node
  • the second node After receiving the authentication request sent by the proxy node, the second node extracts the authentication request.
  • the AUTN based on the pre-stored authentication data and the authentication information, is calculated by the first preset algorithm. If the calculation result is different from the AUTN, the proxy node is illegal; The calculation result is the same as the AUTN, indicating that the proxy node is legal, and the second node calculates the RES (User Authentication Response, also called REST) by using the second preset algorithm based on the RAND in the authentication request and the pre-stored authentication data. User authentication response), and returning the calculated RES as authentication information to the proxy node.
  • RES User Authentication Response
  • the authentication unit After the authentication node receives the authentication information (RES) sent by the second node, the authentication unit authenticates the second node by comparing the XRES calculated by itself with the received RES; The authentication is passed; if it is different, the authentication fails.
  • RES authentication information
  • the adding unit adds the second node to the multicast group corresponding to the multicast address.
  • the data pushing device further includes:
  • a feedback receiving module configured to receive an acknowledgement message that each of the second nodes feeds back based on the data stream received by the second node
  • the flow retransmission module is configured to send the data stream to the second node that does not feed back the acknowledgement message in a unicast-based manner when the second node does not feed back the acknowledgement message within the preset time period.
  • the second node when receiving the data flow sent by the proxy node, the second node feeds back an acknowledgement message to the proxy node to notify the proxy node that it has received the current packet. a data stream; the feedback receiving module receives, according to the proxy node, an acknowledgement message that each of the second nodes feeds back based on the data stream received by the second node; and when the second node does not feed back the acknowledgement packet within a preset time period, the flow is received.
  • the retransmission module resends the data stream to the second node that does not feed back the acknowledgment message in a unicast manner based on the proxy node.
  • the preset time period is set according to an actual requirement. For example, the embodiment may set it to 100 ms.
  • the proxy node does not receive the acknowledgement message fed back by the second node within a preset time period. The reason includes: the second node does not receive the data stream or the acknowledgement message fed back by the second node is lost in the transmission process.
  • the data pushing apparatus further includes a group adjustment module, configured to: after receiving the adjustment instruction sent by the first node, perform the multicast group based on the adjustment instruction The adjusting operation, wherein the adjusting operation performed on the multicast group includes removing and adding the second node.
  • a group adjustment module configured to: after receiving the adjustment instruction sent by the first node, perform the multicast group based on the adjustment instruction The adjusting operation, wherein the adjusting operation performed on the multicast group includes removing and adding the second node.
  • the first node may send an adjustment instruction for the multicast group to the proxy node at any time, so that the group adjustment module is based on the adjustment instruction.
  • Performing a corresponding adjustment operation on the multicast group, where the adjusting operation performed by the group adjustment module on the multicast group includes removing and adding the second node.
  • the group adjustment module is based on the adjustment instruction received by the proxy node to remove the second node, and the group adjustment module moves the corresponding second node out of the multicast group based on the identification information carried by the received adjustment instruction; for example, The group adjustment module adds a second node based on the adjustment instruction received by the proxy node, and the group adjustment module adds the corresponding second node to the multicast group based on the identification information carried by the received adjustment instruction.
  • the embodiment of the invention further provides a computer readable storage medium, wherein the computer readable storage medium stores computer executable instructions, and the computer executable instructions are implemented to implement a data push method.
  • each module/unit in the above embodiment may be implemented in the form of hardware, for example, by implementing an integrated circuit to implement its corresponding function, or may be implemented in the form of a software function module, for example, executing a program stored in the memory by a processor. / instruction to achieve its corresponding function.
  • This application is not limited to any specific combination of hardware and software.
  • the foregoing technical solution implements multicasting across network segments, avoids cumbersome cross-network segment multicast settings, and can reduce the difficulty of implementing multicast across network segments.

Landscapes

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

Abstract

一种数据推送方法,所述数据推送方法包括:在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;所述代理节点接收所述第一节点基于单播方式发送的数据流;在接收到所述数据流后,所述代理节点基于组播方式将所述数据流发送至所述组播组中的每个第二节点。上述技术方案能够降低跨网段组播的实现难度。

Description

数据推送方法及装置 技术领域
本文涉及但不限于网络通信技术领域,涉及一种数据推送方法及装置。
背景技术
在多媒体教学等场景下,一般会给教师和学生分配一个电脑,把教师使用的电脑的应用信息(包括桌面、音视频等)推送到所有学生使用的电脑上并展示,如果教师使用的电脑和学生使用的电脑在同一个交换机或路由器下,通过组播的方式即可以实现,但如果教师使用的电脑和学生使用的电脑不在同一交换机或路由器下,在桌面虚拟化场景下,老师和学生都通过终端连接自己对应的虚机,然后需要把虚机的应用信息广播到学生终端上,要在这样的情况下实现应用信息的组播,就需要把从老师端到学生端经过的所有交换机或路由器都进行组播设置,或需要把老师虚机到学生端经过的所有交换机或路由器都进行组播设置,这种方式难度较高。相关技术中,实现跨网段组播的难度较高。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种数据推送方法及装置,可以降低跨网段组播的实现难度。
本发明实施例提供一种数据推送方法,应用于多媒体教学,所述数据推送方法包括:
在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;
所述代理节点接收所述第一节点基于单播方式发送的数据流;
在接收到所述数据流后,所述代理节点基于组播方式,将所述数据流发 送至所述组播组中的每个第二节点。
可选地,所述在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组的步骤包括:
在接收到所述第一节点发送的数据推送指令后,所述代理节点基于所述数据推送指令确定组播地址;
所述代理节点向其所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的每个第二节点发送所述组播地址;
在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
可选地,所述加入请求携带有第二节点的鉴权信息;
所述在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点将所述第二节点加入所述组播地址对应的组播组的步骤包括:
在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点基于所述加入请求携带的鉴权信息对所述第二节点进行鉴权操作;
在鉴权通过后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
可选地,所述方法还包括:
所述在接收到所述数据流后,所述代理节点基于组播方式将所述数据流发送至所述组播组中的每个第二节点的步骤之后,
所述代理节点接收每个所述第二节点基于自身接收的数据流反馈的确认报文;
当有第二节点未在预设时间段内反馈确认报文时,所述代理节点基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。
可选地,所述方法还包括:所述在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组的步骤之后,在接收 到所述第一节点发送的调整指令后,所述代理节点基于所述调整指令对所述组播组进行调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。
本发明实施例还提供一种数据推送装置,应用于多媒体教学,所述数据推送装置包括:
组创建模块,设置为当其所在代理节点接收到第一节点发送的数据推送指令时后,基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;
流接收模块,设置为接收所述第一节点基于单播方式发送的数据流;
流组播模块,设置为在接收到所述数据流后,基于组播方式将所述数据流发送至所述组播组中的每个第二节点。
可选地,所述组创建模块包括:
地址生成子模块,设置为当其所在代理节点接收到所述第一节点发送的数据推送指令后,基于所述数据推送指令确定组播地址;
地址分发子模块,设置为向所述代理节点所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的每个第二节点发送所述组播地址;
组创建子模块,设置为在接收到第二节点基于所述组播地址发送的加入请求后,将所述第二节点加入所述组播地址对应的组播组。
可选地,所述加入请求携带有第二节点的鉴权信息;
所述组创建子模块包括:
鉴权单元,设置为在接收到第二节点基于所述组播地址发送的加入请求后,基于所述加入请求携带的鉴权信息对所述第二节点进行鉴权操作;
添加单元,设置为在鉴权通过后,将所述第二节点加入所述组播地址对应的组播组。
可选地,所述数据推送装置还包括:
反馈接收模块,设置为接收每个所述第二节点基于自身接收的数据流反 馈的确认报文;
流重发模块,设置为当有第二节点未在预设时间段内反馈确认报文时,基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。
可选地,所述数据推送装置还包括组调整模块,设置为在接收到所述第一节点发送的调整指令后,基于所述调整指令对所述组播组进行调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行时实现数据推送方法。
本发明实施例通过在第二节点所在网段设置代理节点,由所述代理节点接收远端第一节点以单播方式发送的数据流,通过组播的方式将所述数据流推送至每个第二节点,即代理节点代理第一节点作为组播源,从而实现了跨网段的组播,本发明实施例避免了繁琐的跨网段组播设置,能够降低跨网段组播的实现难度。在阅读并理解了附图和详细描述后,可以明白其它方面。
附图说明
图1为本发明实施例一的数据推送方法的流程示意图;
图2为图1中的在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组的细化流程示意图;
图3为本发明实施例二的数据推送装置的功能模块示意图;
图4为图3中的组创建模块的细化功能模块示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一
本发明实施例提供一种数据推送方法,应用于多媒体教学,参照图1,在本发明实施例的数据推送方法包括:
步骤S10,在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;
本实施例提出的数据推送方法可以应用于多媒体教学中,例如,远端的教师端(第一节点)将多媒体数据通过单播的方式推送至远端的代理端(代理节点),由代理端将其接收的多媒体数据通过组播的方式推送至其维护的组播组,所述组播组包括多个学生端(第二节点)。
下面以多媒体教学场景进行说明。
本实施例中,老师基于第一节点提供的多媒体教学界面触发数据推送指令,例如,老师点击所述多媒体教学界面的“上课”按钮,所述第一节点将触发数据推送指令,并将所述数据推送指令发送至代理节点,其中,所述数据推送指令携带有表征第二节点的识别信息,以指定参与此次多媒体教学的学生。需要说明的是,所述代理节点和所述第一节点位于不同网段,但所述代理节点和所述第一节点的地理位置确可相同,例如,所述代理节点和所述第一节点位于同一学校。
所述代理节点在接收到所述第一节点发送的数据推送指令时,识别当前第一节点将会推送多媒体数据;所述代理节点基于所述数据推送指令携带的识别信息将所述识别信息对应的,且在所述代理节点所在网段的第二节点加入组播组中,其中,所述第二节点可以为多个,也可以为单个;所述代理节点和所述第二节点可选布置在同一教室。可以理解的是,在其他实施例中,在满足所述代理节点和所述第二节点位于同一网段的前提下,所述代理节点和所述第二节点的布置位置可以按实际需要设置,例如,代理节点布置在教学楼二楼,第二节点步骤在教学楼三楼。
本实施例中,在将第二节点加入组播组后,所述代理节点向所述第一节点反馈数据获取请求,以供所述第一节点根据所述数据获取请求开始推送数据流至所述代理节点,开始多媒体教学。
步骤S20,所述代理节点接收所述第一节点基于单播方式发送的数据流;
本实施例中,所述代理节点和所述第一节点之间的数据交互可以是基于有连接的TCP(Transmission Control Protocol,传输控制协议)协议,也可以是基于无连接的UDP(User Datagram Protocol,用户数据报协议)协议实现。在本实施例中,所述代理节点和所述第一节点之间的传输协议按实际需要进行选择,例如,为保证数据传输的稳定性,所述第一节点和所述代理节点优选采用TCP协议进行数据交互。其中,所述第一节点发送至所述代理节点的数据流包括所述第一节点当前的视频数据、音频数据以及响应用户操作实时推送的文本数据等。
步骤S30,在接收到所述数据流后,所述代理节点基于组播方式将所述数据流发送至所述组播组中的每个第二节点。
本实施例中,所述代理节点在接收到所述第一节点推送的数据流之后,将所述数据流以组播的方式推送至其维护的组播组中的每个第二节点;每个第二节点在接收到所述代理节点推送的所述数据流之后,解码出所述数据流携带音频数据以及视频数据等,即可同步呈现第一节点的多媒体内容,实现多媒体教学。
本实施例提出的数据推送方法,通过在第二节点所在网段设置代理节点,由所述代理节点接收远端第一节点以单播方式发送的数据流,再通过组播的方式将所述数据流推送至各第二节点,即代理节点代理第一节点作为组播源,从而实现了跨网段的组播,本发明实施例避免了繁琐的跨网段组播设置,能够降低跨网段组播的实现难度。
可选地,参照图2,基于前述任一实施例,上述步骤S10包括:
步骤S101,在接收到所述第一节点发送的数据推送指令后,所述代理节点基于所述数据推送指令确定组播地址;
本实施例中,所述代理节点在接收到所述第一节点发送的数据推送指令时,解析所述数据指令发现所述第一节点待推送的数据流,所述数据流包括视频数据、图片数据以及音频数据等,所述代理节点分别基于所述第一节点 待发送数据的数据类型分配不同的组播地址,以便于传输不同数据类型的数据。同时,所述代理节点还为对应不同数据类型的组播地址分别分配端口号。
步骤S102,所述代理节点向其所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的每个第二节点发送所述组播地址;
步骤S103,在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
在不同数据类型对应的组播地址确定之后,所述代理节点向其所在网段的,且与所述数据推送指令携带的各识别信息分别关联的每个第二节点发送所述组播地址以及对应的端口号。第二节点在接收到所述代理节点发送的组播地址以及端口号时,向所述代理节点反馈加入请求;所述代理节点在接收到所述第二节点基于所述组播地址发送的加入请求时,将所述第二节点加入所述组播地址对应的组播组。可以理解的是,在本实施例中,所述第二节点加入了多个分别对应不同数据类型的组播地址的组播组,在所述代理节点通过组播的方式转发所述第一节点的数据流时,所述第二节点基于其接收的端口号所对应的每个端口接收每个组播组的数据流。
可以理解的是,在其他实施例中,上述第二节点还可以在接收到所述代理节点发送的组播地址以及端口号后,显示提示信息,以供用户基于所述提示信息的显示界面确认是否加入组播组;在接收到用户输入的确认信息后,所述第二节点向所述代理节点反馈加入请求。
可选地,基于前述任一实施例,所述加入请求携带有第二节点的鉴权信息;
所述在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点将所述第二节点加入所述组播地址对应的组播组的步骤包括:
在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点基于所述加入请求携带的鉴权信息对所述第二节点进行鉴权操作;
在鉴权通过后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
目前,组播技术的应用涉及数据的分发、视频会议、IPTV(交互式网络电视)等业务。随着组播技术的运用越来越广泛,随之而来的便是安全性的问题。例如,非法用户伪装成第二节点加入组播组、窃取数据。有鉴于此,本实施例提供一种可选地鉴权方案,提升数据推送的安全性。
需要说明的是,所述代理节点存储有允许接入组播的第二节点的鉴权信息和对应的鉴权数据,该鉴权信息和鉴权数据与预先分配给第二节点的鉴权信息和鉴权数据一致。所述代理节点在接收到第二节点发送的加入请求后,获取所述加入请求中携带的鉴权信息(可选为第二节点的唯一识别信息,如第二节点MAC(Media Access Control,媒体访问控制)地址等),并根据所述鉴权信息获取一组或多组AV(Authentication Vector,认证向量)。其中,AV是一个三元组,包括RAND(Random Challenge,随机数)、AUTN(Authentication Token,认证令牌)和XRES(Expected Response,预计响应值),RAND是代理节点随机生成并用于提供给第二节点的不可预知的随机数,长度为16个字节;AUTN是所述代理节点基于所述鉴权信息以及存储的与所述鉴权信息的对应的鉴权数据通过第一预设算法计算的,用于提供信息给第二节点,使第二节点可以用它来对所述代理节点进行认证,长度为17个字节;XRES是所述代理节点基于RAND以及存储的与所述鉴权信息的对应的鉴权数据通过第二预设算法计算的,是所述代理节点期望的第二节点认证响应参数。所述代理节点取其中的一组AV中的RAND和AUTN,作为鉴权请求(User Authentication Request,也称为用户鉴权请求)返回给所述第二节点。
第二节点在接收到所述代理节点发送的鉴权请求后,提取出鉴权请求中的AUTN,第二节点基于其预存的鉴权数据以及所述鉴权信息通过所述第一预设算法进行计算,若计算结果与所述AUTN不同,则说明所述代理节点非法;若所述计算结果与所述AUTN相同,则说明所述代理节点合法,第二节点基于鉴权请求中的RAND以及预存的鉴权数据通过所述第二预设算法计算RES(User Authentication Response,也称为用户鉴权响应),并将计算出的RES作为认证信息返回至所述代理节点。
所述代理节点在接收到所述第二节点发送的认证信息(RES)后,通过 对比自己计算的XRES和接收到的RES以对第二节点进行鉴权;若相同,则鉴权通过;若不同,则鉴权失败。
在鉴权通过后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
可选地,基于前述任一实施例,所述方法还包括:
在步骤S30之后,所述代理节点接收每个所述第二节点基于自身接收的数据流反馈的确认报文;
当有第二节点未在预设时间段内反馈确认报文时,所述代理节点基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。
本领域技术人员可以理解的是,由于组播技术基于无连接的UDP协议,即是不可靠的,也就是数据能不能到达接收端和数据到达的顺序都是不能保证的,有鉴于此,在本实施例中,第二节点在接收到所述代理节点发送的数据流后,向所述代理节点反馈确认报文,以告知所述代理节点其当前已接收到数据流;所述代理节点接收每个所述第二节点基于自身接收的数据流反馈的确认报文;当有第二节点未在预设时间段内反馈确认报文时,所述代理节点基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。其中,所述预设时间段按实际需要设置,例如,本实施例可将其设置为100ms。此外,导致所述代理节点未在预设时间段内接收到第二节点反馈的确认报文的原因包括:第二节点未接收到所述数据流或者第二节点反馈的确认报文在传输过程中遗失。
可选地,基于前述任一实施例,所述方法还包括:
在步骤S10之后,在接收到所述第一节点发送的调整指令后,所述代理节点基于所述调整指令对所述组播组进行调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。
本实施例中,在所述代理节点创建组播组之后,所述第一节点可以随时向所述代理节点下发针对组播组的调整指令,以供所述代理节点基于所述调 整指令对所述组播组进行相应的调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。例如,所述代理节点接收到的调整指令为移除第二节点,则所述代理节点基于接收的调整指令携带的识别信息将相应第二节点移出组播组;又例如,所述代理节点接收到的调整指令为添加第二节点,则所述代理节点基于接收的调整指令携带的识别信息将相应第二节点添加至组播组。
实施例二
本发明实施例还提供一种数据推送装置,应用于多媒体教学,参照图3,在本发明实施例的数据推送装置置包括:
组创建模块10,设置为当其所在代理节点接收到第一节点发送的数据推送指令后,基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;
本实施例提出的数据推送装置内置于代理节点运行,可以应用于多媒体教学中,例如,远端的教师端(第一节点)将多媒体数据通过单播的方式推送至远端的代理端(代理节点),由代理端将其接收的多媒体数据通过组播的方式推送至其维护的组播组,所述组播组包括多个学生端(第二节点)。以下以多媒体教学场景进行说明。
本实施例中,老师基于第一节点提供的多媒体教学界面触发数据推送指令,例如,老师点击所述多媒体教学界面的“上课”按钮,所述第一节点将触发数据推送指令,并将所述数据推送指令发送至代理节点,其中,所述数据推送指令携带有表征第二节点的识别信息,以指定参与此次多媒体教学的学生。需要说明的是,所述代理节点和所述第一节点位于不同网段,但所述代理节点和所述第一节点的地理位置确可相同,例如,所述代理节点和所述第一节点位于同一学校。
组创建模块10在基于所述代理节点接收到所述第一节点发送的数据推送指令时,识别当前第一节点将会推送多媒体数据;所述组创建模块10基于所述数据推送指令携带的识别信息将所述识别信息对应的,且在所述代理节点所在网段的第二节点加入组播组中,其中,所述第二节点可以为多个,也 可以为单个;所述代理节点和所述第二节点可选布置在同一教室。可以理解的是,在其他实施例中,在满足所述代理节点和所述第二节点位于同一网段的前提下,所述代理节点和所述第二节点的布置位置可以按实际需要设置,例如,代理节点布置在教学楼二楼,第二节点步骤在教学楼三楼。
本实施例中,在将第二节点加入组播组后,所述组创建模块10基于所述代理节点向所述第一节点反馈数据获取请求,以供所述第一节点根据所述数据获取请求开始推送数据流至所述代理节点,开始多媒体教学。
流接收模块20,设置为接收所述第一节点基于单播方式发送的数据流;
本实施例中,流接收模块20基于所述代理节点接收所述第一节点基于单播方式发送的数据流,其中,所述代理节点和所述第一节点之间的数据交互可以是基于有连接的TCP(Transmission Control Protocol,传输控制协议)协议,也可以是基于无连接的UDP(User Datagram Protocol,用户数据报协议)协议实现。在本实施例中,所述代理节点和所述第一节点之间的传输协议按实际需要进行选择,例如,为保证数据传输的稳定性,所述第一节点和所述代理节点优选采用TCP协议进行数据交互。其中,所述第一节点发送至所述代理节点的数据流包括所述第一节点当前的视频数据、音频数据以及响应用户操作实时推送的文本数据等。
流组播模块30,设置为在接收到所述数据流后,基于组播方式将所述数据流发送至所述组播组中的每个第二节点。
本实施例中,流组播模块30在所述流接收模块20基于所述代理节点接收到所述第一节点推送的数据流之后,将所述数据流以组播的方式推送至其所在代理节点维护的组播组中的每个第二节点;每个所述第二节点在接收到所述流组播模块30基于所述代理节点推送的所述数据流之后,解码出所述数据流携带音频数据以及视频数据等,即可同步呈现第一节点的多媒体内容,实现多媒体教学。
本实施例提出的数据推送装置,内置于代理节点运行,通过在第二节点所在网段设置代理节点,由所述代理节点接收远端第一节点以单播方式发送的数据流,再通过组播的方式将所述数据流推送至各第二节点,即代理节点代理第一节点作为组播源,实现了跨网段的组播,本发明实施例避免了繁琐 的跨网段组播设置,能够降低跨网段组播的实现难度。
可选地,参照图4,基于前述任一实施例,所述组创建模块10包括:
地址生成子模块101,设置为当其所在代理节点接收到所述第一节点发送的数据推送指令后,基于所述数据推送指令确定组播地址;
本实施例中,地址生成子模块101在基于所述代理节点接收到所述第一节点发送的数据推送指令时,解析所述数据指令发现所述第一节点待推送的数据流,所述数据流包括视频数据、图片数据以及音频数据等,所述地址生成子模块101分别基于所述第一节点待发送数据的数据类型分配不同的组播地址,以便于传输不同数据类型的数据。同时,所述地址生成子模块101还为对应不同数据类型的组播地址分别分配端口号。
地址分发子模块102,设置为向所述代理节点所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的每个第二节点发送所述组播地址;
组创建子模块103,设置为在接收到所述第二节点基于所述组播地址发送的加入请求后,将所述第二节点加入所述组播地址对应的组播组。
在不同数据类型对应的组播地址确定之后,地址分发子模块102基于所述代理节点向所述代理节点所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的各第二节点发送所述组播地址以及对应的端口号。第二节点在接收到所述代理节点发送的组播地址以及端口号时,向所述代理节点反馈加入请求;组创建子模块103在基于所述代理节点接收到所述第二节点基于所述组播地址发送的加入请求时,将所述第二节点加入所述组播地址对应的组播组。可以理解的是,在本实施例中,所述第二节点加入了多个分别对应不同数据类型的组播地址的组播组,在所述流组播模块30基于所述代理节点通过组播的方式转发所述第一节点的数据流时,所述第二节点基于其接收的端口号所对应的每个端口接收每个组播组的数据流。
可以理解的是,在其他实施例中,上述第二节点还可以在接收到所述代理节点发送的组播地址以及端口号后,显示提示信息,以供用户基于所述提示信息的显示界面确认是否加入组播组;在接收到用户输入的确认信息后, 所述第二节点向所述代理节点反馈加入请求。
可选地,基于前述实施例,所述加入请求携带有第二节点的鉴权信息,所述组创建子模块103包括:
鉴权单元,设置为在接收到第二节点基于所述组播地址发送的加入请求后,基于所述加入请求携带的鉴权信息对所述第二节点进行鉴权操作;
添加单元,设置为在鉴权通过后,将所述第二节点加入所述组播地址对应的组播组。
目前,组播技术的应用涉及数据的分发、视频会议、IPTV(交互式网络电视)等业务。随着组播技术的运用越来越广泛,随之而来的便是安全性的问题。例如,非法用户伪装成第二节点加入组播组,窃取数据。有鉴于此,本实施例提供一种可选地鉴权方案,提升数据推送的安全性。
需要说明的是,所述代理节点存储有允许接入组播的第二节点的鉴权信息和对应的鉴权数据,该鉴权信具体的,鉴权单元在基于所述代理节点在接收到第二节点发送的加入请求后,获取所述加入请求中携带的鉴权信息(可选为第二节点的唯一识别信息,如第二节点MAC地址等),并根据所述鉴权信息获取一组或多组AV(Authentication Vector,认证向量)。其中,AV是一个三元组,包括RAND(Random Challenge,随机数)、AUTN(Authentication Token,认证令牌)和XRES(Expected Response,预计响应值),RAND是所述鉴权单元生成并用于提供给第二节点的不可预知的随机数,长度为16个字节;AUTN是所述鉴权单元基于所述鉴权信息以及存储的与所述鉴权信息的对应的鉴权数据通过第一预设算法计算的,用于提供信息给第二节点,使第二节点可以用它来对所述代理节点进行认证,长度为17个字节;XRES是所述鉴权单元基于RAND以及存储的与所述鉴权信息的对应的鉴权数据通过第二预设算法计算的,是所述鉴权单元期望的第二节点认证响应参数。所述鉴权单元取其中的一组AV中的RAND和AUTN,作为鉴权请求(User Authentication Request,也称为用户鉴权请求)基于所述代理节点返回给所述第二节点。
第二节点在接收到所述代理节点发送的鉴权请求后,提取出鉴权请求中 的AUTN,第二节点基于其预存的鉴权数据以及所述鉴权信息通过所述第一预设算法进行计算,若计算结果与所述AUTN不同,则说明所述代理节点非法;若所述计算结果与所述AUTN相同,则说明所述代理节点合法,第二节点基于鉴权请求中的RAND以及预存的鉴权数据通过所述第二预设算法计算RES(User Authentication Response,也称为用户鉴权响应),并将计算出的RES作为认证信息返回至所述代理节点。
所述鉴权单元在基于所述代理节点在接收到所述第二节点发送的认证信息(RES)后,通过对比自己计算的XRES和接收到的RES以对第二节点进行鉴权;若相同,鉴权通过;若不同,则鉴权失败。
在鉴权通过后,所述添加单元将所述第二节点加入所述组播地址对应的组播组。
可选地,基于前述任一实施例,所述数据推送装置还包括:
反馈接收模块,设置为接收每个所述第二节点基于自身接收的数据流反馈的确认报文;
流重发模块,设置为当有第二节点未在预设时间段内反馈确认报文时,基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。
本领域技术人员可以理解的是,由于组播技术基于无连接的UDP协议,即是不可靠的,也就是数据能不能到达接收端和数据到达的顺序都是不能保证的,有鉴于此,在本实施例中,第二节点在接收到所述流组播模块30基于所述代理节点发送的数据流时,向所述代理节点反馈确认报文,以告知所述代理节点其当前已接收到数据流;反馈接收模块基于所述代理节点接收每个所述第二节点基于自身接收的数据流反馈的确认报文;当有第二节点未在预设时间段内反馈确认报文时,流重发模块基于所述代理节点以单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。其中,所述预设时间段按实际需要设置,例如,本实施例可将其设置为100ms;此外,导致所述代理节点未在预设时间段内接收到第二节点反馈的确认报文的原因包括:第二节点未接收到所述数据流或者第二节点反馈的确认报文在传输过程中遗失。
可选地,基于前述任一实施例,所述数据推送装置还包括组调整模块,设置为在接收到所述第一节点发送的调整指令后,基于所述调整指令对所述组播组进行调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。
本实施例中,在所述组创建模块10创建组播组之后,所述第一节点可以随时向所述代理节点下发针对组播组的调整指令,以供组调整模块基于所述调整指令对所述组播组进行相应的调整操作,其中,所述组调整模块对所述组播组进行的调整操作包括移除和添加第二节点。例如,组调整模块基于所述代理节点接收到的调整指令为移除第二节点,则所述组调整模块基于接收的调整指令携带的识别信息将相应第二节点移出组播组;又例如,所述组调整模块基于所述代理节点接收到的调整指令为添加第二节点,则所述组调整模块基于接收的调整指令携带的识别信息将相应第二节点添加至组播组。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行时实现数据推送方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或者等同替换,而不脱离本申请技术方案的精神和范围,均应涵盖在本申请的权利要求范围当中。
工业实用性
上述技术方案实现了跨网段的组播,避免了繁琐的跨网段组播设置,能够降低跨网段组播的实现难度。

Claims (10)

  1. 一种数据推送方法,应用于多媒体教学,所述数据推送方法包括:
    在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;
    所述代理节点接收所述第一节点基于单播方式发送的数据流;
    在接收到所述数据流后,所述代理节点基于组播方式,将所述数据流发送至所述组播组中的每个第二节点。
  2. 如权利要求1所述的数据推送方法,其中,所述在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组的步骤包括:
    在接收到所述第一节点发送的数据推送指令后,所述代理节点基于所述数据推送指令确定组播地址;
    所述代理节点向其所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的每个第二节点发送所述组播地址;
    在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
  3. 如权利要求2所述的数据推送方法,其中,所述加入请求携带有第二节点的鉴权信息;
    所述在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点将所述第二节点加入所述组播地址对应的组播组的步骤包括:
    在接收到第二节点基于所述组播地址发送的加入请求后,所述代理节点基于所述加入请求携带的鉴权信息对所述第二节点进行鉴权操作;
    在鉴权通过后,所述代理节点将所述第二节点加入所述组播地址对应的组播组。
  4. 如权利要求1-3任一项所述的数据推送方法,所述方法还包括:
    所述在接收到所述数据流后,所述代理节点基于组播方式将所述数据流发送至所述组播组中的每个第二节点的步骤之后,
    所述代理节点接收每个所述第二节点基于自身接收的数据流反馈的确认报文;
    当有第二节点未在预设时间段内反馈确认报文时,所述代理节点基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。
  5. 如权利要求1-3任一项所述的数据推送方法,所述方法还包括:所述在接收到第一节点发送的数据推送指令后,代理节点基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组的步骤之后,在接收到所述第一节点发送的调整指令后,所述代理节点基于所述调整指令对所述组播组进行调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。
  6. 一种数据推送装置,应用于多媒体教学,所述数据推送装置包括:
    组创建模块,设置为当其所在代理节点接收到第一节点发送的数据推送指令时后,基于所述数据推送指令携带的识别信息,将所述代理节点所在网段的,且与所述识别信息关联的第二节点加入组播组;
    流接收模块,设置为接收所述第一节点基于单播方式发送的数据流;
    流组播模块,设置为在接收到所述数据流后,基于组播方式将所述数据流发送至所述组播组中的每个第二节点。
  7. 如权利要求6所述的数据推送装置,其中,所述组创建模块包括:
    地址生成子模块,设置为当其所在代理节点接收到所述第一节点发送的数据推送指令后,基于所述数据推送指令确定组播地址;
    地址分发子模块,设置为向所述代理节点所在网段的,且与所述数据推送指令携带的每个识别信息分别关联的每个第二节点发送所述组播地址;
    组创建子模块,设置为在接收到第二节点基于所述组播地址发送的加入请求后,将所述第二节点加入所述组播地址对应的组播组。
  8. 如权利要求7所述的数据推送装置,其中,所述加入请求携带有第二节点的鉴权信息;
    所述组创建子模块包括:
    鉴权单元,设置为在接收到第二节点基于所述组播地址发送的加入请求后,基于所述加入请求携带的鉴权信息对所述第二节点进行鉴权操作;
    添加单元,设置为在鉴权通过后,将所述第二节点加入所述组播地址对应的组播组。
  9. 如权利要求6-8任一项所述的数据推送装置,所述数据推送装置还包括:
    反馈接收模块,设置为接收每个所述第二节点基于自身接收的数据流反馈的确认报文;
    流重发模块,设置为当有第二节点未在预设时间段内反馈确认报文时,基于单播的方式将所述数据流再次发送至未反馈确认报文的第二节点。
  10. 如权利要求6-8任一项所述的数据推送装置,所述数据推送装置还包括组调整模块,设置为在接收到所述第一节点发送的调整指令后,基于所述调整指令对所述组播组进行调整操作,其中,对所述组播组进行的调整操作包括移除和添加第二节点。
PCT/CN2016/085301 2015-09-30 2016-06-08 数据推送方法及装置 WO2017054508A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510642186.5A CN106559346A (zh) 2015-09-30 2015-09-30 数据推送方法及装置
CN201510642186.5 2015-09-30

Publications (1)

Publication Number Publication Date
WO2017054508A1 true WO2017054508A1 (zh) 2017-04-06

Family

ID=58417998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/085301 WO2017054508A1 (zh) 2015-09-30 2016-06-08 数据推送方法及装置

Country Status (2)

Country Link
CN (1) CN106559346A (zh)
WO (1) WO2017054508A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115376372A (zh) * 2022-08-26 2022-11-22 广东粤鹏科技有限公司 一种多媒体教学方法及教学系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109963203B (zh) * 2017-12-25 2021-12-07 中国移动通信集团福建有限公司 视频流转换及自适应切换方法及装置、设备及介质
CN110213063B (zh) * 2019-06-10 2020-09-18 南京大学 一种适用于数据中心网络的应用层多播系统及方法
CN110334504A (zh) * 2019-07-15 2019-10-15 晏保华 一种云桌面自由登录管理系统、方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1400541A (zh) * 2002-08-20 2003-03-05 西安交通大学 基于ip网的多媒体实时授课系统
WO2007062300A1 (en) * 2005-11-28 2007-05-31 Olympus Communication Technology Of America, Inc. Multilayer bridging system and method
CN101707526A (zh) * 2008-12-04 2010-05-12 广东威创视讯科技股份有限公司 一种跨网段组播数据系统及其方法
CN104426681A (zh) * 2013-08-24 2015-03-18 Nicira股份有限公司 端点的分布式多播

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1400541A (zh) * 2002-08-20 2003-03-05 西安交通大学 基于ip网的多媒体实时授课系统
WO2007062300A1 (en) * 2005-11-28 2007-05-31 Olympus Communication Technology Of America, Inc. Multilayer bridging system and method
CN101707526A (zh) * 2008-12-04 2010-05-12 广东威创视讯科技股份有限公司 一种跨网段组播数据系统及其方法
CN104426681A (zh) * 2013-08-24 2015-03-18 Nicira股份有限公司 端点的分布式多播

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115376372A (zh) * 2022-08-26 2022-11-22 广东粤鹏科技有限公司 一种多媒体教学方法及教学系统

Also Published As

Publication number Publication date
CN106559346A (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
US10447795B2 (en) System and method for collaborative telepresence amongst non-homogeneous endpoints
US7552175B2 (en) Mechanism for controlling communication paths between conference members
US20160050160A1 (en) Sharing resources across multiple devices in online meetings
CN105308934B (zh) 在无线通信系统中控制设备之间共享的内容的方法和装置
US9185346B2 (en) Real-time communications methods providing pause and resume and related devices
WO2017054508A1 (zh) 数据推送方法及装置
US10218522B2 (en) Multicast method, apparatus, and system for software-defined network
JP5903533B1 (ja) マルチユーザー無線ドッキング
US20130262686A1 (en) Method for organizing a collaborative event and system employing same
US20150067110A1 (en) Media Playing Method, Apparatus, and System
US9525848B2 (en) Domain trusted video network
KR102520817B1 (ko) 무선 통신 네트워크에서 ptt 그룹 호를 셋업하는 방식
WO2018072650A1 (zh) 移动终端与iptv进行交互的实现方法、装置及平台
JP5609608B2 (ja) 情報処理装置、グループ生成システム、グループ生成方法及びプログラム
CN111246151A (zh) 一种发言请求处理的方法、装置、设备及介质
WO2017092554A1 (zh) 基于虚拟桌面的音视频组播播放方法、装置及系统
JP4494279B2 (ja) マルチキャスト制御方法、マルチキャスト制御装置、及びコンテンツ属性情報管理装置、並びにプログラム
US20120243536A1 (en) Method and apparatus for transmitting and receiving multicast data in social networks
US20170104763A1 (en) Presentation device and presentation device coordination
JP4498968B2 (ja) 認証ゲートウェイ装置及びそのプログラム
JP4361446B2 (ja) マルチキャスト制御方法、マルチキャストエリア管理装置、及びマルチキャスト制御装置、並びにプログラム
CN115499712B (zh) 一种组播流的显示方法、装置、介质及电子设备
JP6311519B2 (ja) 認証プログラム、認証方法及び認証装置
JP4549782B2 (ja) マルチキャスト制御方法、マルチキャスト制御装置、及びプログラム
JP2006295339A (ja) ゲートウェイ装置及びそのプログラム

Legal Events

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

Ref document number: 16850133

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16850133

Country of ref document: EP

Kind code of ref document: A1