CN113055695B - Data transmission method, device, server, equipment and medium - Google Patents

Data transmission method, device, server, equipment and medium Download PDF

Info

Publication number
CN113055695B
CN113055695B CN202011538819.5A CN202011538819A CN113055695B CN 113055695 B CN113055695 B CN 113055695B CN 202011538819 A CN202011538819 A CN 202011538819A CN 113055695 B CN113055695 B CN 113055695B
Authority
CN
China
Prior art keywords
server
live broadcast
broadcast room
event
client
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
CN202011538819.5A
Other languages
Chinese (zh)
Other versions
CN113055695A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011538819.5A priority Critical patent/CN113055695B/en
Publication of CN113055695A publication Critical patent/CN113055695A/en
Application granted granted Critical
Publication of CN113055695B publication Critical patent/CN113055695B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the disclosure provides a data transmission method, a data transmission device, a server, equipment and a medium, wherein a first server actively obtains at least one event corresponding to an identifier of a self-stored live broadcast room from a second server, wherein the live broadcast room is a live broadcast room displayed by a client side which is in communication connection with the first server; the second server is at least used for receiving and displaying events generated by the client side of the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room, the second server does not actively send notification messages to the plurality of first servers, and because the number of the first servers connected with the client side of the live broadcast room and displaying the identification is far smaller than that of all the first servers, the at least one event corresponding to the identification of the live broadcast room can be obtained from the second server at the same time, so that the time for displaying the same event by different client sides of the same live broadcast room is the same, namely, the same event is synchronously displayed.

Description

Data transmission method, device, server, equipment and medium
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a data transmission method, apparatus, server, device, and medium.
Background
The user can watch the live broadcast through the live broadcast room displayed by the client, and in the process of watching the live broadcast, the user needs to watch events occurring in the live broadcast room besides watching a live broadcast video stream, for example, an event that the audience plays a main view, and an event that the audience sends comment content. +
The event that the live broadcast room that the customer end reveals takes place is sent to the customer end by the long connecting server, the event that the long connecting server obtains is sent to the long connecting server by the event server, the event server sends the in-process of the event to a plurality of long connecting servers, the situation that the time that the event server sends the event to a plurality of long connecting servers is different may appear, cause a plurality of long connecting servers to send the event that the live broadcast room takes place to show that there is different time of different customer ends of the live broadcast room, show that different customer ends of the live broadcast room show the problem that the event is not synchronous.
Disclosure of Invention
The disclosure provides a data transmission method, a data transmission device, data transmission equipment and a data transmission medium, which at least solve the problem that different clients displaying a live broadcast room in the related art display the event asynchronously. The technical scheme of the disclosure is as follows:
according to a first aspect of the embodiments of the present disclosure, there is provided a data transmission method, applied to a first server, including:
acquiring a stored identification of a live broadcast room, wherein the live broadcast room is a live broadcast room displayed by a client side in communication connection with the first server, and the identification is a room number of the live broadcast room or an ID of a main broadcast corresponding to the live broadcast room;
generating an acquisition request, wherein the acquisition request is used for acquiring at least one event corresponding to the identifier of the live broadcast room, and the event comprises an account number of a client for logging in to generate the event and interactive data sent by the client for generating the event;
sending the acquisition request to a second server, wherein the second server is at least used for receiving and displaying an event generated by a client of the live broadcast room and storing at least one event corresponding to the identifier of the live broadcast room;
receiving at least one event corresponding to the identification of the live broadcast room fed back by the second server;
and sending the at least one event to a client side with the live broadcast room.
With reference to the first aspect, in a first possible implementation manner, the sending the obtaining request to the second server includes:
calculating to obtain a target numerical value based on the identification of the live broadcast room;
determining the second server that a packet having a group number corresponding to the target value contains;
and sending the acquisition request to the second server.
With reference to the first aspect, in a second possible implementation manner, the sending the obtaining request to a second server includes:
acquiring a preset grouping total number, wherein the preset grouping total number is the total number of groups to which a plurality of second servers belong, which are divided in advance;
calculating to obtain the target numerical value based on the identification of the live broadcast room and the preset grouping total number;
determining the second server that a packet having a group number corresponding to the target value contains;
and sending the acquisition request to the second server.
With reference to the first aspect, in a third possible implementation manner, the sending the obtaining request to the second server includes:
determining that a time interval from a first moment reaches a preset time length, wherein the first moment is the moment of sending the acquisition request to the second server last time; the acquisition request is used for acquiring events occurring in the live broadcast room from the first moment to the current moment;
and sending the acquisition request to the second server.
With reference to the first aspect, in a fourth possible implementation manner, multiple clients are connected to a first server belonging to the same group, and the multiple clients are displayed with the same live broadcast room.
With reference to the first aspect, in a fifth possible implementation manner, the sending the at least one event to the client that displays the live broadcast room includes:
determining a client with a communication connection state being a normal connection state from at least one client displayed with the live broadcast room;
and sending the at least one event to the client with the communication connection state being the normal connection state.
According to a second aspect of the embodiments of the present disclosure, there is provided a data transmission method, applied to a second server, including:
receiving a storage request sent by a client, wherein the storage request comprises an identifier of a live broadcast room displayed by the client and an event generated by the client, and the event comprises an account number for logging in the client and interactive data sent by the client;
responding to the storage request, and storing the identification of the live broadcast room and the event;
receiving an acquisition request sent by a first server, wherein the acquisition request is used for acquiring at least one event corresponding to an identifier of a live broadcast room stored by the first server;
and responding to the acquisition request, and sending at least one event corresponding to the identification of the live broadcast room included in the acquisition request to the first server so that the first server sends the at least one event to the client side with the live broadcast room.
With reference to the second aspect, in a first possible implementation manner, the method further includes:
calculating to obtain a first numerical value based on the identification of the live broadcast room contained in the storage request;
and if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the first numerical value, executing the step of responding to the storage request, and storing the identifier of the live broadcast room and the event.
With reference to the second aspect, in a second possible implementation manner, the method further includes:
if the numerical value corresponding to the group number of the group to which the second server belongs is different from the first numerical value, refusing to respond to the storage request;
and sending first information representing the storage failure of the event to the client.
With reference to the second aspect, in a third possible implementation manner, the method further includes:
calculating to obtain a second numerical value based on the identification of the live broadcast room contained in the acquisition request;
and if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the second numerical value, executing the step of responding to the acquisition request and sending at least one event corresponding to the identification of the live broadcast included in the acquisition request to the first server.
With reference to the second aspect, in a fourth possible implementation manner, the method further includes:
if the numerical value corresponding to the group number of the group to which the second server belongs is different from the second numerical value, refusing to respond to the acquisition request;
and sending second information representing the failure of event acquisition to the first server.
According to a third aspect of the embodiments of the present disclosure, there is provided a data transmission method, which is applied to a client, and includes:
if the data sending operation implemented in the displayed live broadcast room is detected, generating an event, wherein the event comprises an account number for logging in the client and interactive data corresponding to the data sending operation;
determining a second server based on the identification of the live broadcast room, wherein the second server is at least used for receiving and displaying events generated by a client of the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room;
sending a storage request to the second server, so that the second server stores the identifier of the live broadcast room and the event, wherein the storage request includes the identifier of the live broadcast room and the event, the second server is used for receiving an acquisition request sent by the first server, and the acquisition request is used for acquiring at least one event corresponding to the identifier of the live broadcast room stored by the first server.
With reference to the third aspect, in a first possible implementation manner, the determining a second server based on the identity of the live broadcast room includes:
calculating to obtain a target numerical value based on the identification of the live broadcast room;
determining the second server that a packet having a group number corresponding to the target value contains.
With reference to the third aspect, in a second possible implementation manner, the method further includes:
sending an address acquisition request for representing the acquisition of the network protocol IP address of the first server to a third server;
receiving a packet fed back by the third server and having a group number corresponding to the target value, wherein the packet comprises one or more IP addresses of the first server;
sending a request to establish a communication connection to the one or more first servers;
receiving response messages respectively fed back by the one or more first servers;
only the communication connection with the first server of the earliest feedback response message is reserved.
According to a fourth aspect of the embodiments of the present disclosure, there is provided a data transmission apparatus, applied to a first server, including:
the acquisition module is configured to acquire a stored identifier of a live broadcast room, wherein the live broadcast room is a live broadcast room displayed by a client side in communication connection with the first server, and the identifier is a room number of the live broadcast room or an ID of a main broadcast corresponding to the live broadcast room;
a first generation module configured to generate an acquisition request, where the acquisition request is used to acquire at least one event corresponding to the identifier of the live broadcast room, and the event includes an account number of a client that logs in to generate the event and interactive data sent by the client that generates the event;
the first sending module is configured to send the acquisition request to a second server, and the second server is at least used for receiving and displaying an event generated by a client of the live broadcast room and storing at least one event corresponding to the identifier of the live broadcast room;
a first receiving module configured to receive at least one event corresponding to the identifier of the live broadcast room fed back by the second server;
a second sending module configured to send the at least one event to a client on which the live broadcast room is displayed.
With reference to the fourth aspect, in a first possible implementation manner, the first sending module is specifically configured to:
the first calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room;
a first determination unit configured to determine the second server included in a packet having a group number corresponding to the target numerical value;
a first sending unit configured to send the acquisition request to the second server.
With reference to the fourth aspect, in a second possible implementation manner, the first sending module is specifically configured to:
an obtaining unit configured to obtain a preset total number of groups, where the preset total number of groups is a total number of groups to which a plurality of second servers divided in advance belong;
the second calculation unit is configured to calculate the target numerical value based on the identification of the live broadcast room and the preset grouping total number;
a second determination unit configured to determine the second server included in the packet having the group number corresponding to the target numerical value;
a second sending unit configured to send the acquisition request to the second server.
With reference to the fourth aspect, in a third possible implementation manner, the first sending module is specifically configured to:
a third determining unit, configured to determine that a time interval from a first time reaches a preset time length, where the first time is a time when the acquisition request is last sent to the second server; the acquisition request is used for acquiring events occurring in the live broadcast room from the first moment to the current moment;
a third sending unit configured to send the acquisition request to the second server.
With reference to the fourth aspect, in a fourth possible implementation manner, multiple clients are connected to the first server belonging to the same group, and the multiple clients are displayed with the same live broadcast room.
With reference to the fourth aspect, in a fifth possible implementation manner, the second sending module is specifically configured to:
a fourth determination unit configured to determine a client whose communication connection state is a normal connection state from among the at least one client on which the live broadcast room is displayed;
a fourth sending unit configured to send the at least one event to the client whose communication connection state is a normal connection state.
According to a fifth aspect of the embodiments of the present disclosure, there is provided a data transmission apparatus, applied to a second server, including:
the second receiving module is configured to receive a storage request sent by a client, wherein the storage request comprises an identifier of a live broadcast room displayed by the client and an event generated by the client, and the event comprises an account number for logging in the client and interactive data sent by the client;
a storage module configured to store an identification of the live broadcast room and the event in response to the storage request;
a third receiving module, configured to receive an obtaining request sent by a first server, where the obtaining request is used to obtain at least one event corresponding to an identifier of a live broadcast room stored by the first server;
and the third sending module is configured to respond to the obtaining request and send at least one event corresponding to the identification of the live broadcast room included in the obtaining request to the first server so that the first server sends the at least one event to the client side with the live broadcast room displayed.
With reference to the fifth aspect, in a first possible implementation manner, the method further includes:
the first calculation module is configured to calculate a first numerical value based on the identification of the live broadcast room contained in the storage request;
and the first execution module is configured to execute the storage module if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the first numerical value.
With reference to the fifth aspect, in a second possible implementation manner, the method further includes:
the first refusal response module is configured to refuse to respond to the storage request if the numerical value corresponding to the group number of the group to which the second server belongs is different from the first numerical value;
a fourth sending module configured to send first information characterizing an event storage failure to the client.
With reference to the fifth aspect, in a third possible implementation manner, the method further includes:
the second calculation module is configured to calculate a second numerical value based on the identification of the live broadcast room contained in the acquisition request;
and the second execution module is configured to execute the third sending module if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the second numerical value.
With reference to the fifth aspect, in a fourth possible implementation manner, the method further includes:
a first refusal response module configured to refuse to respond to the acquisition request if a numerical value corresponding to a group number of a group to which the second server belongs is different from the second numerical value;
a fifth sending module configured to send second information characterizing an event acquisition failure to the first server.
According to a sixth aspect of the embodiments of the present disclosure, there is provided a data transmission apparatus, applied to a client, including:
the second generation module is configured to generate an event if a data transmission operation implemented in a displayed live broadcast room is detected, wherein the event comprises an account for logging in the client and interactive data corresponding to the data transmission operation;
the determining module is configured to determine a second server based on the identification of the live broadcast room, wherein the second server is at least used for receiving the events generated by the client displaying the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room;
a sixth sending module, configured to send a storage request to the second server, so that the second server stores the identifier of the live broadcast room and the event, where the storage request includes the identifier of the live broadcast room and the event, the second server is configured to receive an acquisition request sent by the first server, and the acquisition request is used to acquire at least one event corresponding to the identifier of the live broadcast room stored by the first server.
With reference to the sixth aspect, in a first possible implementation manner, the determining module is specifically configured to:
the third calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room;
a fifth determination unit configured to determine the second server included in the packet having the group number corresponding to the target numerical value.
With reference to the sixth aspect, in a second possible implementation manner, the method further includes:
a seventh sending module, configured to send an address obtaining request representing obtaining a network protocol IP address of the first server to the third server;
a fourth receiving module configured to receive the packet fed back by the third server and having the group number corresponding to the target value, the packet including the IP addresses of one or more first servers;
an eighth sending module configured to send a request to establish a communication connection to the one or more first servers;
a fifth receiving module configured to receive response messages respectively fed back by the one or more first servers;
a communication connection maintaining module configured to maintain a communication connection with only the first server of the earliest feedback response message.
According to a seventh aspect of an embodiment of the present disclosure, there is provided a first server including:
a first processor;
a first memory for storing the first processor-executable instructions;
wherein the first processor is configured to execute the instructions to implement the data transmission method of the first aspect.
According to an eighth aspect of the embodiments of the present disclosure, there is provided a second server, including:
a second processor;
a second memory for storing the second processor-executable instructions;
wherein the second processor is configured to execute the instructions to implement the data transmission method according to the second aspect.
According to a ninth aspect of an embodiment of the present disclosure, there is provided an electronic apparatus, comprising:
a third processor;
a third memory for storing the third processor-executable instructions;
wherein the third processor is configured to execute the instructions to implement the data transmission method of the third aspect.
According to a tenth aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium, wherein instructions, when executed by a first processor of a first server, enable the first server to perform the data transmission method according to the first aspect; or, when the instructions in the computer readable storage medium are executed by a second processor of a second server, enabling the second server to perform the data transmission method according to the second aspect; alternatively, the instructions in the computer readable storage medium, when executed by a third processor of the electronic device, enable the electronic device to perform the data transmission method according to the third aspect.
According to an eleventh aspect of embodiments of the present disclosure, there is provided a computer program product comprising computer programs/instructions, characterized in that the computer programs/instructions, when executed by a first processor, implement the data transmission method of the first aspect; or, the computer program/instructions, when executed by a second processor, implement the data transmission method of the second aspect; alternatively, the computer program/instructions, when executed by a third processor, implement the data transmission method of the third aspect.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
in the data transmission method applied to the first server, the first server actively obtains at least one event corresponding to an identifier of a stored live broadcast room from the second server, wherein the live broadcast room is a live broadcast room displayed by a client side which is in communication connection with the first server; the second server is at least used for receiving and displaying events generated by the client side of the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room, the second server does not actively send notification messages to the plurality of first servers, and because the number of the first servers connected with the client side of the live broadcast room and displaying the identification is far smaller than that of all the first servers, at least one event corresponding to the identification of the live broadcast room can be obtained from the second server at the same time, the first servers connected with the client side of the live broadcast room and displaying the identification can send the events to the client side displaying the live broadcast room at the same time, so that the time for displaying the same event by different client sides is the same, namely, the same event is synchronously displayed.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
FIG. 1 is an architectural diagram illustrating an implementation environment to which embodiments of the present disclosure relate, according to an exemplary embodiment;
fig. 2 is a flowchart illustrating a data transmission method applied to a first server according to an exemplary embodiment;
FIG. 3 is a signaling diagram illustrating one implementation of multiple clients with the same live room connecting a first server belonging to the same group, according to an example embodiment;
FIG. 4 is a signaling diagram illustrating another implementation showing multiple clients with the same live room connecting a first server belonging to the same group, according to an example embodiment;
fig. 5 is a signaling diagram illustrating a method of data transmission between an electronic device, a first server, and a second server, according to an example embodiment;
FIG. 6 is a flow chart illustrating a data transmission method applied to an electronic device in accordance with an exemplary embodiment;
FIG. 7 is a block diagram illustrating a data transfer device applied to a first server according to an example embodiment;
FIG. 8 is a block diagram illustrating a data transfer device applied to a second server in accordance with an exemplary embodiment;
FIG. 9 is a block diagram illustrating a data transmission arrangement for use with an electronic device in accordance with an exemplary embodiment;
FIG. 10 is a block diagram illustrating a first server in accordance with an exemplary embodiment;
FIG. 11 is a block diagram illustrating a second server in accordance with an exemplary embodiment;
FIG. 12 is a block diagram illustrating an electronic device in accordance with an exemplary embodiment.
Detailed Description
In order to make the technical solutions of the present disclosure better understood, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
The embodiment of the disclosure provides a data transmission method, a data transmission device, a first server, a second server, an electronic device, a computer-readable storage medium, and a computer program product.
First, a description will be given of a related art to which an embodiment of the present disclosure relates.
In the process that a user watches live broadcast through a live broadcast room displayed by the client, the client requests an Application Program Interface (API) server for two types of data, wherein the first type of data is a live broadcast video stream played in the live broadcast room, and the second type of data is an event occurring in the live broadcast room, for example, an event representing that an audience plays a view to a main broadcast, and an event occurring in the live broadcast room.
For example, the API server may feed back, to the client, a pull address corresponding to a CDN (Content Delivery Network) server, so that the client obtains a live video stream from the CDN server based on the pull address.
For example, the API server may feed back, to the client, public network IP addresses (Internet Protocol addresses) of one or more first servers that the client can establish a communication connection, so that the client establishes a communication connection with any one of the first servers.
After any client side in a plurality of client sides with the same live broadcast room generates an event, the event and the identifier of the live broadcast room displayed by the event are sent to a second server; the second server will send the notice message containing the identification of the live broadcast room and the event to each first server, and if each first server is connected with the client terminal of the live broadcast room displaying the identification, the event is sent to the corresponding client terminal.
For example, the way for displaying the first server connected by different clients of the same live broadcast room includes: and displaying that all the clients in the same live broadcast room already know the public network IP addresses of all the first servers. Different clients displaying the same live broadcast room can establish communication connection with the first server directly based on the public network IP address of any first server.
Each client randomly establishes a communication connection with any first server, and since the second server does not know which first server has a communication connection with the client displaying the live broadcast room with the corresponding identifier, in order to enable different clients displaying the same live broadcast room to receive events occurring in the live broadcast room, the second server needs to send notification messages to all first servers, for example. For example, the notification message is sent to a part of the first servers at time 1, and the notification message is sent to the remaining first servers at time 2, and the first servers connected to the different clients displaying the same live broadcast may obtain the notification message at time 1 and time 2, respectively, so that the first servers cannot send the notification message to the different clients displaying the same live broadcast at the same time, and the different clients displaying the same live broadcast have different times of displaying the same event, that is, are asynchronous.
Based on this, the embodiment of the present disclosure provides a data transmission method, where a first server actively obtains at least one event corresponding to an identifier of a live broadcast room stored by the first server from a second server, where the live broadcast room is a live broadcast room displayed by a client having a communication connection with the first server; the second server is at least used for receiving and displaying events generated by the client side of the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room, the second server does not actively send notification messages to the plurality of first servers, and because the number of the first servers connected with the client side of the live broadcast room and displaying the identification is far smaller than that of all the first servers, the at least one event corresponding to the identification of the live broadcast room can be obtained from the second server at the same time, the first servers connected with the client side of the live broadcast room and displaying the identification can send the events to the client side displaying the live broadcast room at the same time, and the time for displaying the same event by different client sides of the same live broadcast room is the same, namely, the same event is synchronously displayed.
Next, an implementation environment according to the embodiment of the present disclosure will be described.
Fig. 1 is an architecture diagram illustrating an implementation environment to which embodiments of the present disclosure relate, according to an example embodiment, the implementation environment comprising: a plurality of first servers 11, a second server 12, at least one electronic device 13, and a CDN (Content Delivery Network) server 14.
The electronic device 13 and the first server 11 can establish connection and communication through a wireless network; the electronic device 13 and the second server 12 can establish connection and communication through a wireless network; the electronic device 13 and the CDN server 14 may establish connection and communication through a wireless network; the first server 11 and the second server 12 may establish connection and communication through a wireless network or a wired network.
For example, the electronic device 13 may be any electronic product capable of interacting with a user through one or more modes of a keyboard, a touch PAD, a touch screen, a remote controller, voice interaction, or a handwriting device, for example, a mobile phone, a notebook computer, a tablet computer, a palm computer, a personal computer, a wearable device, a smart television, a PAD, and the like.
For example, any one of the first server 11, the second server 12 and the CDN server 14 may be a server, or may be a server cluster composed of a plurality of servers, or may be a cloud computing service center. The server may include a processor, memory, and a network interface, among others.
It should be noted that fig. 1 is only an example, and the types of the electronic devices may be various, and are not limited to the smart phone and the PAD in fig. 1. Two electronic devices 13 are shown in fig. 1, a first server 11, a second server 12, a CDN server 14. Fig. 1 is an example, and the number of the electronic device 13, the first server 11, the second server 12, and the CDN server is not limited, and the number of the electronic device 13, the first server 11, the second server 12, and the CDN server may be determined based on actual situations.
For example, the electronic device 13 may have a client running therein, and the client may be an application client or a web page version client.
Illustratively, the electronic device 13 is a client running to obtain a live video stream from the CDN server 14 and display the live video stream; the client running in the electronic device 13 generates an event and sends the event and the identifier of the live broadcast room displayed by the client to the second server 12, and the second server 12 correspondingly stores the identifier of the live broadcast room and the event. The first server 11 actively obtains the identity of the live room and the event from the second server 12 and sends the event to the electronic device 13 displaying the live room with the identity. So that other clients located in the live room can see the event.
Illustratively, the identification of the live room may be the ID of the anchor or the ID of the live room.
For example, multiple clients located in the same live broadcast room may connect to the same first server 11, or may connect to different first servers 11.
The following describes the above data transmission procedure by way of example. Fig. 1 illustrates an example in which a plurality of clients located in the same live broadcast room are connected to the same first server 11. Assume that the identity of the live room is a live room ID.
As shown in fig. 1, a client operating two electronic devices 13 may obtain a live video stream from the CDN server 14, so that the client displays the live video stream. The clients of the two electronic devices 13 shown in fig. 1 are located in the same live broadcast room, and the live broadcast room ID is 123456; if one or more clients generate an event, for example, the client running on the electronic device 13 on the right side of fig. 1 generates an event, it is assumed that the event is: the user name 3 operates the client and issues a comment "the technical goodness of the anchor". The client operating on the electronic device 13 on the right side of fig. 1 sends the event and the live room ID (123456) to the second server 12, and the second server 12 stores the time and the live room ID. The first server 11 obtains 123456 the event and the live-air ID from the second server 12, and the first server 11 sends 123456 the event to at least the client running on the electronic device 13 shown on the left side of fig. 1, so that the client running on the electronic device 13 on the left side of fig. 1 can receive and display the event in the live-air.
It will be understood by those skilled in the art that the foregoing electronic devices and servers are merely exemplary and that other existing or future electronic devices or servers, which may be suitable for use with the present disclosure, are also encompassed within the scope of the present disclosure and are hereby incorporated by reference.
The following describes a data transmission method provided by the embodiments of the present disclosure with reference to the foregoing implementation environment.
Fig. 2 is a flowchart illustrating a data transmission method applied to a first server according to an exemplary embodiment, and the method includes the following steps S21 to S25 in implementation.
In step S21, the first server 11 obtains the stored identification of the live room.
The live broadcast room is a live broadcast room displayed by a client side and in communication connection with the first server, and the identification is a room number of the live broadcast room or an ID of a main broadcast corresponding to the live broadcast room.
For example, the first server 11 may have a communication connection with one or more clients, and the identities of live rooms displayed by the multiple clients respectively may be the same and different, if different, the first server 11 stores the identities of multiple live rooms, and if the same, the first server 11 stores the identity of one live room. The subsequent steps S22 through S25 may be performed for the identification of each live room.
In step S22, the first server 11 generates an acquisition request.
The obtaining request is used for obtaining at least one event corresponding to the identification of the live broadcast room, and the event comprises an account number of a client for logging in to generate the event and interactive data sent by the client for generating the event.
For example, the account number of the login client may be a user name as shown in fig. 1.
Illustratively, the interaction data may be any of a praise, comment on content, still egg, or present.
In step S23, the first server 11 sends the acquisition request to the second server 12.
The second server is at least used for receiving the events generated by the client side displaying the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room.
In step S24, the first server 11 receives at least one event corresponding to the identity of the live broadcast fed back by the second server.
Illustratively, the second server responds to the acquisition request, and generates a notification message based on the identification of the live broadcast room and the corresponding at least one event; the notification message is sent to the first server 11.
The following describes the notification message with reference to fig. 1, and the notification message may include, for example: the identity of the live room, event 1 was generated at time 1, event 1 sent a comment "anchor really good" for user name 3; event 2 is generated at time 2, and event 2 sends a comment "hero sees" for usemame 2.
In step S25, the first server 11 sends the at least one event to the client on which the live broadcast is displayed.
For example, after the first server 11 establishes a communication connection with the client, if the first server 11 has already created a service entity object corresponding to a live broadcast room displayed by the client, the communication address of the client is added to the service entity object; if the first server 11 does not create a service entity object corresponding to the live broadcast room displayed by the client, the service entity object is created, and the service entity object includes the identifier of the live broadcast room and the communication address of the client.
Illustratively, different live broadcasting rooms correspond to different business entity objects, and the same live broadcasting room corresponds to one business entity object. Illustratively, the first server 11 sends at least one event corresponding to the live broadcast room to one or more clients displaying the live broadcast room through the business entity object.
Illustratively, the first server 11 may obtain the identity of the live room from one or more business entity objects created by itself.
Illustratively, the first server 11 may store a live-air list including an identification of live-air rooms displayed by clients connected to the first server 11. The identity of the live room stored by the first server 11 may be obtained from a list of live rooms.
For example, if a client having a communication connection with the first server 11 changes and the changed client displays a different live broadcast room identifier than before, the live broadcast room identifier included in the live broadcast room list stored by the first server 11 may change.
In an alternative implementation, the communication connection established between the first server 11 and the client is a long connection. I.e. a long connection between the first server 11 and the client exists until the live video stream stops being live, without the need to establish a communication connection frequently.
In an optional implementation manner, the communication connection between the client and the second server 12 is a short connection, that is, the client has a requirement for establishing a communication connection with the second server 12 only after generating an event, and the client can disconnect the communication connection with the second server after sending the event to the second server. That is, when data is transferred between the client and the second server 12, the client and the second server have a communication connection, and do not have a communication connection at other times. And network communication cost is saved. For example, if no event is generated during the process of watching the live broadcast displayed on the client by the user, no communication connection exists between the client and the second server.
For example, since the communication connection between the client and the second server 12 is a short connection, that is, the communication connection is established between the client and the second server 12 only when a plurality of clients displaying the same live broadcast room generate an event, in this embodiment of the present disclosure, one second server may be provided, that is, events generated by different clients displaying different live broadcast rooms are all sent to the second server.
If it is displayed that events respectively generated by different clients of different live broadcast rooms are all sent to the same second server, when the first server 11 obtains at least one event corresponding to the identifier of the live broadcast room, only the second server needs to be accessed, and the access time is saved.
For example, a second server 12 may store at least one event corresponding to the identification of one or more live rooms.
In an optional implementation manner, the second server stores event lists corresponding to the identifiers of the at least one live broadcast room, respectively, where the event list corresponding to the identifier of one live broadcast room includes: the time of event generation and the event.
In an optional implementation manner, the event list stored by the second server includes events corresponding to the identifications of the at least one live broadcast room respectively.
For example, after the second server sends the event corresponding to the identifier of the live broadcast to the first server, the event corresponding to the identifier of the live broadcast may be deleted.
In the data transmission method applied to the first server, the first server actively obtains at least one event corresponding to the identifier of the self-stored live broadcast room from the second server, wherein the live broadcast room is a live broadcast room displayed by a client end which is in communication connection with the first server; the second server is at least used for receiving and displaying events generated by the client side of the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room, the second server does not actively send notification messages to the plurality of first servers, and because the number of the first servers connected with the client side of the live broadcast room and displaying the identification is far smaller than that of all the first servers, the at least one event corresponding to the identification of the live broadcast room can be obtained from the second server at the same time, the first servers connected with the client side of the live broadcast room and displaying the identification can send the events to the client side displaying the live broadcast room at the same time, and the time for displaying the same event by different client sides of the same live broadcast room is the same, namely, the same event is synchronously displayed.
In an alternative implementation manner, there are various implementation manners of step S23, and the disclosed embodiment provides, but is not limited to, the following three.
In a first implementation manner of step S23, the implementation environment related to the embodiment of the present disclosure includes a second server.
All the first servers are connected with the same second server, so that the first servers directly send the acquisition requests to the server after generating the acquisition requests.
It can be understood that the times when different first servers connected to different live broadcast rooms acquire events from the second server may be different, the times when one or more first servers connected to the same live broadcast room acquire the events from the second server are the same, and because the total number of the one or more first servers connected to the same live broadcast room is far less than the total number of all first servers, the one or more first servers connected to the same live broadcast room can access the second server at the same time, so that at least one event corresponding to the identifier of the live broadcast room can be obtained at the same time, and thus, different clients displaying the same live broadcast room can obtain and display the events generated in the live broadcast room at the same time.
In an implementation manner of the second step S23, an implementation environment related to the embodiment of the present disclosure includes a plurality of second servers.
The second step S23 includes the following steps a11 to a13 in implementation.
In step a11, a target value is calculated based on the identity of the live broadcast room.
Illustratively, the identifier of the live broadcast room and the fixed value are subjected to preset operation to obtain a target numerical value. Illustratively, the predetermined operation includes at least one of multiplication, division, addition, and weighted average.
Illustratively, the last character of the identification of the live room is taken as the target numeric value.
Illustratively, a hash operation is performed on the identifier of the live broadcast room to obtain a hash value, where the hash value is a target numerical value.
In step a12, the second server included in the packet having the group number corresponding to the target numerical value is determined.
For example, the group number corresponding to the target value may be equal to the target value; for example, the target value may correspond to a group number different from the target value.
Illustratively, a group includes one or more second servers 12, and illustratively, the number of second servers included in a group is made as small as possible, so that the number of second servers accessed by a first server is small, thereby saving access time.
In step a13, the acquisition request is sent to the second server.
In the embodiment of the present disclosure, a group number is set for the second server in advance, and for any group number, the second server included in the group having the group number does not store at least one event corresponding to the identifiers of all live broadcast rooms, but stores at least one event corresponding to the identifier of the live broadcast room having a correspondence relationship with the group number of the group to which the second server belongs. Each first server can acquire the identifier of the live broadcast room displayed by the client connected with the first server, obtain a target numerical value based on the identifier of the live broadcast room, and can actively obtain at least one event corresponding to the identifier of the live broadcast room from a second server (namely, a second server contained in a group with a group number corresponding to the target numerical value). Because the plurality of second servers are arranged into groups, the live broadcast rooms corresponding to the events stored by the second servers in different groups have different identifications, namely the total number of the identifications of the live broadcast rooms corresponding to the events stored by each second server is reduced, the time of the second server for inquiring at least one event corresponding to the identification of the live broadcast room contained in the acquisition request from the second server is reduced, and the time of the first server for accessing the second server is shortened.
It can be understood that a first server connected to a client of a live broadcast room displaying a corresponding identifier (an identifier of a different live broadcast room capable of obtaining the same target value in the embodiment of the present disclosure is referred to as a corresponding identifier) can actively obtain an event from a second server included in a packet having a group number corresponding to the target value, a first server not connected to a client of a live broadcast room displaying a corresponding identifier cannot obtain an event from a second server included in a packet having a group number corresponding to the target value, since the number of first servers connected to clients of live broadcast rooms displaying corresponding identifiers is much smaller than that of all first servers, a plurality of first servers connected to clients of live broadcast rooms displaying corresponding identifiers can simultaneously obtain a notification message from a second server included in a packet having a group number corresponding to the target value, therefore, at least one event corresponding to the identification of one live broadcast room can be sent to different clients displaying the live broadcast room at the same time, so that the time for displaying the same event by different clients is the same, namely, the same event is synchronously displayed.
In an implementation manner of the third step S23, an implementation environment related to the embodiment of the present disclosure includes a plurality of second servers.
The third step S23 includes the following steps a21 to a24 in implementation.
In step a21, a preset group total is obtained, where the preset group total is the total number of groups to which the plurality of second servers are pre-divided.
In step a22, the target value is calculated based on the identifier of the live broadcast room and the preset total number of groups.
For example, assuming that the identity of the live room is the anchor ID of the live room and the preset total number of packets is represented by a variable NUM, step a22 may include: step a221, obtaining a hash value of the ID of the anchor, int hash ═ clientip. Step a222, modulo the total number of the preset packets by a hash value, for example, int index ═ hash% NUM (); wherein index is the target value. Alternatively, NUM can be any positive integer, such as 64.
For example, the identifier of the live broadcast room and the preset total number of packets may be subjected to a preset operation to obtain the target value, where the preset operation includes at least one of multiplication, division, addition, and weighted average.
In step a23, the second server included in the packet having the group number corresponding to the target numerical value is determined.
In step a24, the acquisition request is sent to the second server.
For a description of the implementation of the third step S23, reference may be made to the description of the implementation of the second step S23, which is not described herein again.
In an alternative implementation manner, there are various implementation manners of step S25, and the embodiment of the present disclosure provides, but is not limited to, the following two implementation manners.
The first implementation manner of step S25 includes: and sending the at least one event to the client side with the live broadcast room.
For example, for each client, after the client generates an event, the event is directly displayed in the live broadcast, and the first server does not need to forward the event. If the client receives the self-generated event sent by the first server again, the client does not display the event. That is, the client has a function of filtering the events generated by itself and displaying only the events generated by other clients.
The second implementation manner of step S25 includes: and for each event in the at least one event, sending the event to all clients which are displayed with the live broadcast room except the client which generates the event.
For example, for each client, after the client generates an event, the event is displayed in the live broadcast room, and the client does not need to receive the event from the first server any more, so that the event generated by the client is filtered in the process of sending the event to any client by the first server. I.e. the client will not receive the self-generated event sent by the first server.
In an alternative implementation manner, there are various forms in which the first server sends the at least one event, and the disclosed embodiment provides, but is not limited to, the following three forms.
The first implementation mode comprises the following steps: for each client which is in communication connection with the first server and is displayed with the live broadcast room, if the number of the at least one event is greater than or equal to 2, the first server sequentially sends the events to the clients based on the morning and the evening of the generation time of the at least one event.
It can be understood that, since the client receives the events in sequence according to the morning and the evening of the event generation time, the client may sequentially present the events based on the receiving order of the events.
The second implementation mode comprises the following steps: for each client which is in communication connection with the first server and is displayed with the live broadcast room, if the number of the at least one event is greater than or equal to 2, the first server simultaneously sends the at least one event to the client.
It can be appreciated that since the client receives the events at the same time, the client can present the events at the same time.
The third implementation mode comprises the following steps: for each client which is in communication connection with the first server and is displayed with the live broadcast room, if the number of the at least one event is greater than or equal to 2, the first server simultaneously sends the at least one event and the generation time corresponding to the at least one event to the client.
For example, the client may display the events in turn according to the morning and evening of the production time.
It is understood that after the first server sends the event to the client, the client may not normally display the event for its own reason or even receive the event, for example, the electronic device running the client goes down, or the network status of the electronic device running the client is poor.
In the first implementation manner of step S25, the first server sends the event to the client regardless of whether the client can normally display the event, which results in a waste of communication resources.
Based on this, the embodiments of the present disclosure provide a second implementation manner. The second implementation of step S25 includes steps B1 through B2.
In step B1, the first server 11 determines, from the at least one electronic device on which the live broadcast room is displayed, a client whose communication connection state is a normal connection state.
In step B2, the first server 11 sends the at least one event to the client whose communication connection status is the normal connection status.
For example, after the client establishes a communication connection with the first server 11, the client sends preset information, such as a heartbeat packet, to the first server 11 at preset intervals. After receiving the heartbeat packet sent by the client, the first service end replies a response message to the client.
For example, the process of the first server 11 setting the communication connection state of each client connected thereto includes steps B11 through B12.
In step B11, for each client, if the preset information sent by the client is not received within a first preset duration, the communication connection status of the client is set to be an abnormal connection status.
In step B12, for each client, if the preset information sent by the client is received every second preset duration, the communication connection state of the client is set to be a normal connection state.
Illustratively, the second predetermined duration is less than the first predetermined duration.
In the embodiment of the disclosure, the first server only sends the at least one event to the client whose communication connection state is the normal connection state, but does not send the at least one event to the client whose communication connection state is the abnormal connection state, so that network communication resources are saved.
In an alternative implementation manner, there are various forms of the first server sending the at least one event in step B2, and the embodiment of the present disclosure provides, but is not limited to, the following three forms.
The first implementation mode comprises the following steps: for each client which is in communication connection with the first server, is displayed with the live broadcast room and is in a normal connection state, if the number of the at least one event is greater than or equal to 2, the first server sequentially sends the events to the client based on the morning and the evening of the generation time of the at least one event.
It can be understood that, since the client receives the events in sequence according to the morning and the evening of the event generation time, the client may sequentially present the events based on the receiving order of the events.
The second implementation mode comprises the following steps: and for each client which is in communication connection with the first server, is displayed with the live broadcast room and has a normal communication connection state, if the number of the at least one event is greater than or equal to 2, the first server simultaneously sends the at least one event to the client.
It can be appreciated that since the client receives the events at the same time, the client can present the events at the same time.
The third implementation mode comprises the following steps: for each client which is in communication connection with the first server, is displayed with the live broadcast room and is in a normal connection state, if the number of the at least one event is greater than or equal to 2, the first server simultaneously sends the at least one event and the generation time corresponding to the at least one event to the client.
For example, the client may display the events in turn according to the morning and evening of the production time.
In an alternative implementation, the first server may continuously access the second server to obtain events occurring in the corresponding live broadcast from the second server.
It is understood that, each client displaying the same live broadcast room may not generate an event in a time period, that is, the second server does not store the event in the time period, and if the first server continues to access the second server, resources of the processor of the first server are wasted. Based on this, the embodiment of the present disclosure provides a scheme in which the first server accesses the second server once every preset time.
For example, the step of sending the obtaining request to the second server according to the embodiment of the present disclosure further includes the following steps: judging whether a time interval from a first moment reaches a preset time length or not, wherein the first moment is the moment of sending the acquisition request to the second server last time; the acquisition request is used for acquiring events occurring in the live broadcast room from the first moment to the current moment. Illustratively, if so, the step is executed to send the acquisition request to the second server, and if not, the step is returned to judge whether the time interval from the first moment reaches the preset time length.
Illustratively, the acquisition request includes a start time and an end time. The starting time is the first moment, and the ending time is the current time.
In the embodiment of the disclosure, because the first server acquires the event from the second server every preset time, compared with the case of always accessing the second server, the number of times of interaction between the first server and the second server is reduced, and network communication resources are saved.
It will be appreciated that the identity of the live room contained in the acquisition requests sent at different times may be different and may be the same.
For example, the preset time duration is 1 second, 11: 9/2020/11/30/29 seconds, the client a and the first server 11 have already had communication connection, and the identifier of the live broadcast displayed by the client a is identifier a; the acquisition request sent by the first server 11 includes an identifier a; if 11: 9/11/29/30/centi-second in 2020, the client B establishes communication connection with the first server 11, the identifier of the live broadcast displayed by the client B is an identifier B, and in 11/9/11/30/second in 2020, the acquisition request sent by the first server 11 includes an identifier a and an identifier B; if the client a and the first server 11 are disconnected from each other in communication at 11/9/30/centi/sec in 2020, for example, the client a exits from the live broadcast room, or the live broadcast is ended, assuming that the first server 11 only provides service for the client a for the live broadcast room with the identifier a, the first server will not acquire an event corresponding to the identifier a after the first server 11 is disconnected from the client a in communication; at 11 o ' clock, 9 o ' clock, 11 o ' clock, 30 min, 31 sec in 2020, the first server 11 sends an acquisition request including the identifier B and not including the identifier a.
In an optional implementation manner, in any of the embodiments of the data transmission method applied to the first server, different clients displaying the same live broadcast room may obtain public network IP addresses of all the first servers, and each of the different clients displaying the same live broadcast room may establish a communication connection with any one of the first servers, so that the number of the first servers displaying the connection of the different clients displaying the same live broadcast room is larger, the number of the first servers accessing the second server is larger, and network communication resources are wasted. Based on this, the embodiment of the present disclosure provides a method for grouping a plurality of first servers, so that a plurality of clients displaying the same live broadcast room are connected to the first servers belonging to the same group.
Illustratively, a group comprises one or more first servers, and if a group comprises one first server, a plurality of clients in the same live broadcast room are connected with the same first server; if a group includes multiple first servers, multiple clients showing the same live broadcast room may connect to the same first server in the same group, or different first servers in the same group.
It can be understood that the plurality of first servers are divided, each group contains a smaller number of first servers than the total number of all first servers, and the number of first servers showing different client connections of the same live broadcast room is smaller, for example, the number of first servers showing different client connections of the same live broadcast room is at most the total number of first servers contained in the group, so that the number of first servers accessing the second servers is smaller, and network communication resources are saved.
In an alternative implementation manner, there are various methods for connecting multiple clients, which are displayed with the same live broadcast room, to the first server belonging to the same group, and the disclosed embodiment provides, but is not limited to, the following two methods.
First implementation as shown in fig. 3, fig. 3 is a signaling diagram showing an implementation manner in which multiple clients with the same live broadcast room connect to a first server belonging to the same group, according to an exemplary embodiment, and the method includes steps S301 to S307 in implementation.
In step S301, the client 31 generates an address acquisition request for acquiring an IP address of the first server; the address acquisition request is sent to the third server 32.
Illustratively, the third server 32 may be an API server.
The expression form of the address obtaining request may be, for example, a message, and may be, for example, an HTTP (HyperText Transfer Protocol) request message, or an HTML (text Markup Language) request message, or an XML (Extensible Markup Language) request message, or a json (javascript Object notification) request message, or a custom message.
And the address acquisition request carries the identification of the live broadcast room displayed by the client.
In step S302, the third server 32 obtains the configuration file from the database 33 in response to the address acquisition request.
The configuration file comprises configuration information corresponding to at least one packet, and the configuration information corresponding to each packet comprises a group number of the packet and a public network IP address of at least one first server contained in the packet.
Illustratively, the database 33 is a database that can be accessed by the third server, the first server, and the second server.
Illustratively, the profile further includes a total number of the at least one packet, i.e., a number of packets.
In step S303, the third server 32 calculates a target value based on the identifier of the live broadcast room.
The process of calculating the target value by the third server 32 based on the identifier of the live broadcast room may refer to the implementation manner of the second step S23 or the implementation manner of the third step S23, which is not described herein again.
In step S304, the third server 32 transmits the public network IP addresses of all the first servers included in the packet having the group number corresponding to the target value to the client terminal 31.
In step S305, the client terminal 31 transmits a request for establishing a communication connection to the public IP addresses of all the first servers received by the client terminal.
Since the third server 32 transmits only the public IP addresses of all the first servers included in the packet having the group number corresponding to the target numerical value to the client terminal 31, the client terminal 31 can communicate only with the first servers included in the packet having the group number corresponding to the target numerical value.
In step S306, for each first server 11, if the request for establishing the communication connection is accepted, a first response message is generated; the first response message is sent to the client terminal 31.
In step S307, the client terminal 31 receives the first response message fed back by each target server included in the packet having the group number corresponding to the target value, maintains the communication connection with the first server 11 corresponding to the first response message, and disconnects the communication connection with the other first servers. The first response message is the first response message received by the client, that is, the first response message received earliest.
Fig. 3 illustrates an example in which a packet having a group number corresponding to the target value includes two first servers. As shown in fig. 3, the client terminal 31 disconnects the communication connection with one of the first servers and reserves the communication connection with the other first server. The rectangular dashed boxes shown in fig. 3 characterize the communication connections reserved by the client 31.
Second implementation as shown in fig. 4, fig. 4 is a signaling diagram illustrating another implementation in which multiple clients with the same live broadcast room are connected to a first server belonging to the same group according to an exemplary embodiment, and the method includes steps S401 to S407 in implementation.
In step S401, the client 41 calculates a target value based on the identifier of the live broadcast room displayed by the client.
For an exemplary process of calculating the target value based on the identifier of the live broadcast room, reference may be made to the implementation manner of the second step S23, which is not described herein again.
In step S402, the client 41 generates an address acquisition request for acquiring the IP address of the first server; the address acquisition request is sent to the third server 42.
Illustratively, the third server 42 may be an API server.
The address fetch request includes the target value.
In step S403, the third server 42 acquires, in response to the address acquisition request, that the packet having the group number corresponding to the target value contains the IP addresses of one or more first servers.
In an alternative implementation, the third server 42 obtains the configuration file from the database 43 in response to the acquisition request. For example, the third server may obtain, from a configuration file stored in the database 43, the IP addresses of all first servers included in the packet having the group number corresponding to the target value.
The configuration file comprises configuration information corresponding to at least one packet, and the configuration information corresponding to each packet comprises a group number of the packet and a public network IP address of at least one first server contained in the packet.
Illustratively, the database 43 is a database accessible by the third server, the first server, and the second server.
In step S404, the third server 32 transmits the public network IP addresses of all the first servers included in the packet having the group number corresponding to the target value to the client terminal 31.
In step S405, the client 31 sends a request for establishing a communication connection to the public IP addresses of all the first servers received by the client.
Since the third server 32 transmits only the public network IP addresses of all the first servers included in the packet having the group number corresponding to the target value to the client terminal 31, the client terminal 31 can communicate only with the first servers included in the packet having the group number corresponding to the target value.
In step S406, for each first server 11, if the request for establishing the communication connection is accepted, a first response message is generated; the first response message is sent to the client terminal 31.
In step S407, the client 41 receives the first response message fed back by each of the destination servers included in the packet having the group number corresponding to the destination numerical value, maintains the communication connection with the first server 11 corresponding to the first response message, and disconnects the communication connection with the other first servers. The first response message is the first response message received by the client, that is, the first response message received earliest.
Fig. 4 illustrates an example in which a packet having a group number corresponding to the target value includes two first servers. As shown in fig. 4, the client 41 disconnects the communication connection with one of the first servers and reserves the communication connection with the other first server. The rectangular dashed box shown in fig. 4 characterizes the communication connections reserved by the client 41.
In an alternative implementation manner, the embodiment of the present disclosure further provides a data transmission method applied to the second server, which is described below with reference to an interaction process of the second server 12, the electronic device 13, and the first server 11. Fig. 5 is a signaling diagram illustrating a data transmission method between an electronic device, a first server and a second server according to an exemplary embodiment, where the method includes the following steps S51 to S55.
In step S51, the client 51 displays the live broadcast room, and if an event occurs in the live broadcast room, the client 51 sends a storage request including an identifier of the live broadcast room and the event to the second server 12.
In step S52, the second server 12 receives the storage request.
In step S53, the second server 12 stores the identity of the live room and the event in response to the storage request.
Illustratively, the second server 12 stores at least one event corresponding to the identity of at least one live broadcast; illustratively, the second server 12 stores at least one event corresponding to the identity of at least one live broadcast room, and the time of occurrence of each of said events.
For example, the generation time of the event may be the reception time when the second server 12 receives the storage request, or the time when the client generates the event.
Illustratively, the second server 12 stores an event list, where the event list includes at least one event corresponding to the identification of at least one live broadcast room, or the event list includes at least one event corresponding to the identification of at least one live broadcast room and the generation time of each event.
For example, there are various storage forms of the event list, and the disclosed embodiment provides but is not limited to: any of tables, linked lists, and functions.
In the following, a storage form of an event list is taken as an example of a table, and it is assumed that the event list includes at least one event corresponding to an identifier of at least one live broadcast and a generation time of each event, and the event list is shown in table 1.
TABLE 1
Figure GDA0003082612770000231
As shown in table 1, one row in the event list may record one or more events corresponding to the identifier of one live broadcast room, where table 1 is merely an example, and the present disclosure embodiment does not limit the presentation form of the event list.
Illustratively, if the event list is stored in a linked list, the identifier of each live broadcast room corresponds to one linked list.
In step S54, the second server 12 receives the acquisition request sent by the first server 11.
The process of sending the obtaining request from the first server 11 to the second server 12 refers to the process described in the embodiment of the data transmission method applied to the first server, and is not described herein again.
The obtaining request is used for obtaining at least one event corresponding to the identification of the live broadcast room stored by the first server.
In step S55, the second server 12 responds to the obtaining request, and sends at least one event corresponding to the identifier of the live broadcast included in the obtaining request to the first server.
For example, after the second server 12 sends the at least one event corresponding to the identifier of the live broadcast room to the first server, the at least one event corresponding to the identifier of the live broadcast room may be deleted.
After receiving the at least one event corresponding to the identifier of the live broadcast, the first server 11 may execute step S25, which is not described herein again.
As can be seen from the above data transmission method, the second server 12 may store at least one event corresponding to the identity of at least one live broadcast room. The second server 12 does not actively send the notification message to the first server 11 any more, but passively receives the acquisition request of the first server 11, thereby saving resources of the processor of the second server 12.
In an alternative implementation, the first server 11 may continuously access the second server 12, that is, the first server 11 continuously sends the acquisition request to the second server 12. The second server 12 may continuously respond to the acquisition request, so that the second server 12 immediately sends the event to the first server 11 each time the event corresponding to the identification of the live broadcast included in the acquisition request is received.
In an optional implementation manner, in order to further reduce the number of interactions between the first server and the second server, so as to save network communication resources, one first server 11 may access the second server 12 every preset time, at this time, the obtaining request generated by the first server 11 is used to obtain an event occurring between a first time and a current time in the live broadcast room, where the first time is a time when the obtaining request is last sent to the second server. The second server 12 responds to the acquisition request, and obtains all events with the generation time later than or equal to the first time from at least one event of the occurrence of the identification of the live broadcast room contained in the acquisition request stored in the second server; the second server 12 sends all events that occur from the first time to the current time, which are the identifiers of the live broadcast rooms included in the acquisition request, to the first server 11.
In an optional implementation manner, after step S53, the data transmission method applied to the second server further includes: a message is fed back to the client 51 indicating that the event storage was successful.
It can be understood that, in the related art, the second server does not store the event and the identifier of the live broadcast room, and after receiving the event sent by the client 51 and the identifier of the live broadcast room, the second server sends the notification message containing the identifier of the event and the identifier of the live broadcast room to each first server, and then feeds back the message representing that the event is successfully stored to the client 51, if the number of the first servers is large, the time for the second server to send the notification message to each first server is long, so that the client 51 generating the event cannot receive the message representing that the event is successfully stored in time, and the user may mistakenly think that the event is not successfully sent, and the same event is repeatedly generated.
In the embodiment of the present disclosure, the second server may store the identifier of the event and the identifier of the live broadcast room, and after the second server stores the identifier of the event and the identifier of the live broadcast room, the second server may feed back a message indicating that the storage of the event is successful to the client 51 generating the event.
It is to be understood that, if there are a plurality of second servers, the plurality of second servers may be grouped in advance, and the first server 11 may access the second server 12 included in the group having the group number corresponding to the target numerical value. In an alternative implementation manner, after receiving the storage request sent by the client 51, the second server 12 automatically stores the identity of the live broadcast room and the corresponding event included in the storage request. Whether or not the storage request contains an identification of the live room corresponding to the group number of the group to which the second server 12 belongs.
If the identifier a of the live broadcast room a corresponding to the event stored in the second server does not correspond to the group number of the group to which the second server belongs, a problem that a plurality of clients displaying the live broadcast room a cannot receive the event may be caused. This problem will be described below by way of example.
Assume that the identifier of the live broadcast room displayed by the client a is an identifier a, the first server connected to the client a calculates a target value a based on the identifier a, and the group number corresponding to the target value a is a group number a, that is, the first server 11 storing the identifier a of the live broadcast room accesses the second server 12 included in the group having the group number a, and does not access the second server 12 included in the group having another group number (the other group number is a group number other than the group number a, for example, the group number B). If the second server 12 included in the group having the group number B stores the event a generated by the client of the live broadcast room displaying the identifier a, the client that generates the event a may misunderstand that the event transmission by itself is successful, and may not generate the event, but the first server 11 storing the identifier a of the live broadcast room may not obtain the event a corresponding to the identifier a of the live broadcast room from the second server 12 included in the group having the group number B, because the group number corresponding to the target value calculated based on the identifier a by the first server storing the identifier a of the live broadcast room is not the group number B, a situation may occur in which the client that displays the live broadcast room having the identifier a may not receive and display the event a.
For example, there may be the following two reasons why the identity of the live broadcast room corresponding to the event stored by the second server does not correspond to the group number of the group to which the second server belongs.
For the first reason, the client calculates an error numerical value based on the identifier of the live broadcast room displayed by the client, so that the client sends the storage request to the second server included in the group having the group number corresponding to the error numerical value.
For the second reason, the client sends the storage request to all the second servers in a broadcast manner, and assuming that the identifier of the live broadcast room shown by the client is identifier a, the group number a corresponding to identifier a, the second server included in the group with group number a does not store the event, and the second server included in the group with group number B (different from group number a) stores the event.
In order to avoid the above problem, the embodiments of the present disclosure also provide a method, which includes step C1 to step C4 in implementation.
In step C1, the second server 12 calculates a first value based on the identity of the live broadcast included in the storage request.
For an exemplary process of calculating the first value based on the identity of the live broadcast room by the second server 12, reference may be made to the implementation manner of the second step S23, or the implementation manner of the third step S23, which is not described herein again.
In step C2, the second server 12 determines whether the value corresponding to the group number of the group to which the second server belongs is the same as the first value, if so, performs step C3, and if not, performs step C4.
In step C3, the second server 12 stores the identity of the live room and the event in response to the storage request.
In step C4, the second server 12 refuses to respond to the storage request, and sends the first information characterizing the storage failure of the event to the client 51.
Illustratively, after receiving the first information of the event storage failure, the client 51 displays a prompt message prompting to resend the data.
In the embodiment of the present disclosure, before responding to the storage request, the second server 12 needs to determine whether the identifier of the live broadcast included in the storage request corresponds to the group number of the group to which the second server belongs, and if so, the second server will respond to the storage request, thereby saving the storage space. And for each second server 12, the identifier of the live broadcast room corresponding to the stored event corresponds to the group number of the group to which the second server belongs, so that the problem caused by the fact that the identifier of the live broadcast room corresponding to the stored event of the second server does not correspond to the group number of the group to which the second server belongs can be avoided.
The following is a detailed description for the two reasons mentioned above.
In the embodiment of the present disclosure, after receiving the storage request, the second server calculates to obtain a correct numerical value based on the identifier of the live broadcast room carried in the storage request, and if the correct numerical value does not correspond to the group number of the group to which the second server belongs, executes step C4, so that the client regenerates the corresponding event. The client calculates to obtain a numerical value based on the identification of the live broadcast room displayed by the client again, and sends the storage request to a second server contained in a group with a group number corresponding to the numerical value. And if the calculated numerical value is still inaccurate, the event is generated again until the numerical value calculated by the client based on the identification of the live broadcast room is correct. The situation that the identification of the live broadcast room corresponding to the event stored by the second server does not correspond to the group number of the group to which the second server belongs is avoided.
The identification of the live broadcast room corresponding to the event stored in the second server caused by the second reason does not correspond to the group number of the group to which the live broadcast room belongs, after each second server receives the storage request, a numerical value is calculated and obtained based on the identification of the live broadcast room carried by the storage request, if the numerical value does not correspond to the group number of the group to which the second server belongs, the response is rejected and, if the value corresponds to the group number of the group to which it belongs, the storage request is responded to, illustratively, the information of successful storage of the characterization event can be fed back to the client, the client considers that the storage of the event is successful after receiving the information of successful storage of the characterization event, otherwise, the client can generate the event again, and broadcasts the storage request again until the client receives the information representing the successful storage of the event, therefore, the situation that the identification of the live broadcast room corresponding to the event stored by the second server does not correspond to the group number of the group to which the second server belongs is avoided.
In an optional implementation manner, after receiving the acquisition request sent by the first server 11, the second server 12 may directly respond to the acquisition request, but if the first server 11 obtains an incorrect value (assuming that the group number corresponding to the correct value is the group number B) by calculation based on the live broadcast identifier a, the first server 11 may send the acquisition request to the second server 12 included in the group with the group number a, but since the second server 12 included in the group with the group number a does not store the event corresponding to the identifier a, and after the group with the group number a includes the second server 12 and responds to the acquisition request, the event corresponding to the identifier a is not fed back to the first server 11, so that the first server 11 mistakenly assumes that the live broadcast with the identifier a does not generate an event. However, the second server 12, which is actually included in the packet having the group number B, stores the event corresponding to the identifier a. To avoid this, embodiments of the present disclosure provide a method including steps D1 through D4.
In step D1, the second server 12 calculates a second value based on the identifier of the live room included in the acquisition request.
For an exemplary process of calculating the second value based on the identifier of the live broadcast, reference may be made to the implementation manner of the second step S23, or the implementation manner of the third step S23, which is not described herein again.
In step D2, the second server 12 determines whether the numerical value corresponding to the group number of the group to which the second server belongs is the same as the second numerical value, if so, performs step D3, and if not, performs step D4.
In step D3, the second server 12 responds to the obtaining request, and sends at least one event corresponding to the identification of the live broadcast included in the obtaining request to the first server.
In step D4, the second server 12 refuses to respond to the acquiring request, and sends second information representing the event acquisition failure to the first server.
In the embodiment of the present disclosure, if the identifier of the live broadcast included in the acquisition request received by the second server 12 does not correspond to the group number of the group to which the second server belongs, the second information may be fed back to the first server, and after the first server receives the second information, it is obtained that the value calculated by the first server based on the identifier of the live broadcast may be incorrect, so that the first server may calculate the value again based on the identifier of the live broadcast, and send the acquisition request to the second server included in the group having the group number corresponding to the value, thereby avoiding a situation that the second server having an access error is caused by obtaining an incorrect value by calculation based on the identifier of the live broadcast, and thus a corresponding event cannot be obtained.
In an alternative implementation manner, the embodiment of the present disclosure provides a data transmission method applied to an electronic device, and fig. 6 is a flowchart illustrating a data transmission method applied to an electronic device according to an exemplary embodiment, where the method includes the following steps S61 to S63 in implementation.
In step S61, when a data transmission operation performed in the live view displayed is detected, an event is generated.
The event comprises an account number for logging in the client and interactive data corresponding to the data sending operation.
In an optional implementation manner, the data sending operation may be at least one of a voice operation, a touch operation of a preset key, a preset gesture, and a preset touch trajectory. For example, the preset key may be a virtual key or a physical key.
In step S62, a second server is determined based on the identifier of the live broadcast room, and the second server is at least used for receiving an event generated by a client displaying the live broadcast room and storing at least one event corresponding to the identifier of the live broadcast room.
In step S63, a storage request is sent to the second server, so that the second server stores the identifier of the live broadcast and the event, where the storage request includes the identifier of the live broadcast and the event, the second server is configured to receive an acquisition request sent by the first server, and the acquisition request is used to acquire at least one event corresponding to the identifier of the live broadcast stored by the first server.
In the embodiment of the disclosure, the client sends the event generated by the client to the second server corresponding to the identifier of the live broadcast room, and does not send the event to the second server not corresponding to the identifier of the live broadcast room, so that the storage space of the second server not corresponding to the identifier of the live broadcast room is saved.
In an alternative implementation manner, there are various implementation manners of step S62, and the embodiments of the present disclosure provide, but are not limited to, the following two.
The first step S62 includes the following steps E11 to E12.
In step E1, a target value is calculated based on the identity of the live broadcast room.
In step E2, the second server included in the packet having the group number corresponding to the target numerical value is determined.
For the description of the first step S62, reference may be made to the description of the implementation of the second step S23, which is not described herein again.
The second implementation of step S62 includes the following steps E21 to E24.
In step E21, a preset total number of groups is obtained, where the preset total number of groups is the total number of groups to which the plurality of second servers are pre-divided.
In step E22, the target value is calculated based on the identifier of the live broadcast room and the preset total number of groups.
In step E23, the second server included in the packet having the group number corresponding to the target numerical value is determined.
In step E24, the obtaining request is sent to the second server.
For the description of the second step S62, reference may be made to the description of the implementation of the third step S23, which is not described herein again.
The method is described in detail in the embodiments disclosed in the present application, and the method of the present application can be implemented by using various types of apparatuses, so that various apparatuses are also disclosed in the present application, and specific embodiments are given below for detailed description.
Fig. 7 is a block diagram illustrating a data transmission apparatus applied to a first server according to an exemplary embodiment. Referring to fig. 7, the apparatus includes an obtaining module 51, a first generating module 72, a first transmitting module 73, a first receiving module 74, and a second transmitting module 75.
An obtaining module 71, configured to obtain a stored identifier of a live broadcast room, where the live broadcast room is a live broadcast room displayed by a client in communication connection with the first server, and the identifier is a room number of the live broadcast room or an ID of a main broadcast corresponding to the live broadcast room;
a first generating module 72 configured to generate an obtaining request, where the obtaining request is used to obtain at least one event corresponding to the identifier of the live broadcast room, where the event includes an account number of a client that logs in to generate the event and interactive data sent by the client that generates the event;
a first sending module 73, configured to send the obtaining request to a second server, where the second server is at least used to receive an event generated by a client displaying the live broadcast room and store at least one event corresponding to an identifier of the live broadcast room;
a first receiving module 74 configured to receive at least one event corresponding to the identity of the live broadcast fed back by the second server;
a second sending module 75 configured to send the at least one event to the client on which the live room is displayed.
In an optional implementation, the first sending module is specifically configured to:
the first calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room;
a first determination unit configured to determine the second server included in the packet having the group number corresponding to the target numerical value;
a first sending unit configured to send the acquisition request to the second server.
In an optional implementation, the first sending module is specifically configured to:
an obtaining unit configured to obtain a preset packet total number, where the preset packet total number is a total number of packets to which a plurality of second servers divided in advance belong;
the second calculation unit is configured to calculate the target numerical value based on the identification of the live broadcast room and the preset grouping total number;
a second determination unit configured to determine the second server included in the packet having the group number corresponding to the target numerical value;
a second sending unit configured to send the acquisition request to the second server.
In an optional implementation, the first sending module is specifically configured to:
a third determining unit, configured to determine that a time interval from a first time reaches a preset time length, where the first time is a time when the acquisition request is last sent to the second server; the acquisition request is used for acquiring events occurring in the live broadcast room from the first moment to the current moment;
a third sending unit configured to send the acquisition request to the second server.
In an optional implementation mode, a plurality of clients are connected with the first server belonging to the same group, and the plurality of clients are displayed with the same live broadcast room.
In an optional implementation, the second sending module is specifically configured to:
a fourth determining unit configured to determine, from the at least one client on which the live broadcast room is displayed, a client whose communication connection state is a normal connection state;
a fourth sending unit configured to send the at least one event to the client whose communication connection state is a normal connection state.
Fig. 8 is a block diagram illustrating a data transmission apparatus applied to a second server according to an exemplary embodiment. Referring to fig. 6, the apparatus includes a second receiving module 81, a storing module 82, a third receiving module 83, and a third transmitting module 84.
A second receiving module 81, configured to receive a storage request sent by a client, where the storage request includes an identifier of a live broadcast room displayed by the client and an event generated by the client, and the event includes an account number for logging in the client and interactive data sent by the client;
a storage module 82 configured to store an identification of the live room and the event in response to the storage request;
a third receiving module 83 configured to receive an obtaining request sent by a first server, where the obtaining request is used to obtain at least one event corresponding to an identifier of a live broadcast room stored by the first server;
a third sending module 84, configured to, in response to the obtaining request, send at least one event corresponding to the identifier of the live broadcast included in the obtaining request to the first server, so that the first server sends the at least one event to the client on which the live broadcast is displayed.
In an optional implementation manner, the data transmission apparatus applied to the second server further includes:
the first calculation module is configured to calculate a first numerical value based on the identification of the live broadcast room contained in the storage request;
and the first execution module is configured to execute the storage module if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the first numerical value.
In an optional implementation manner, the data transmission apparatus applied to the second server further includes:
further comprising:
the first refusal response module is configured to refuse to respond to the storage request if the numerical value corresponding to the group number of the group to which the second server belongs is different from the first numerical value;
a fourth sending module configured to send first information characterizing an event storage failure to the client.
In an optional implementation manner, the data transmission apparatus applied to the second server further includes:
the second calculation module is configured to calculate a second numerical value based on the identification of the live broadcast room contained in the acquisition request;
and the second execution module is configured to execute the third sending module if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the second numerical value.
In an optional implementation manner, the data transmission apparatus applied to the second server further includes:
a first refusal response module configured to refuse to respond to the acquisition request if a numerical value corresponding to a group number of a group to which the second server belongs is different from the second numerical value;
a fifth sending module configured to send second information characterizing an event acquisition failure to the first server.
Fig. 9 is a block diagram illustrating a data transmission apparatus applied to an electronic device according to an exemplary embodiment. Referring to fig. 7, the apparatus includes a second generating module 91, a determining module 92, and a sixth transmitting module 93.
A second generating module 91, configured to generate an event if a data sending operation implemented in a displayed live broadcast room is detected, where the event includes an account for logging in the client and interactive data corresponding to the data sending operation;
a determining module 92 configured to determine, based on the identity of the live broadcast room, a second server, where the second server is at least used for receiving an event generated by a client displaying the live broadcast room and storing at least one event corresponding to the identity of the live broadcast room;
a sixth sending module 93, configured to send a storage request to the second server, so that the second server stores the identifier of the live broadcast room and the event, where the storage request includes the identifier of the live broadcast room and the event, the second server is configured to receive an acquisition request sent by the first server, and the acquisition request is used to acquire at least one event corresponding to the identifier of the live broadcast room stored by the first server.
In an optional implementation, the determining module is specifically configured to:
the third calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room;
a fifth determination unit configured to determine the second server included in the packet having the group number corresponding to the target numerical value.
In an optional implementation manner, the data transmission apparatus applied to the client further includes:
a seventh sending module, configured to send an address obtaining request representing obtaining a network protocol IP address of the first server to the third server;
a fourth receiving module configured to receive the packet fed back by the third server and having the group number corresponding to the target value, the packet including the IP addresses of one or more first servers;
an eighth sending module configured to send a request to establish a communication connection to the one or more first servers;
a fifth receiving module configured to receive response messages respectively fed back by the one or more first servers;
a communication connection maintaining module configured to maintain a communication connection with only the first server of the earliest feedback response message.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 10 is a block diagram illustrating a first server 11 according to an exemplary embodiment.
As shown in fig. 10, the first server 11 includes but is not limited to: a first processor 1001, a first memory 1002, a network interface 1003, an I/O controller 1004, and a communication bus 1005.
It should be noted that, as those skilled in the art will appreciate, the structure of the first server shown in fig. 10 does not constitute a limitation to the server, and the first server may include more or less components than those shown in fig. 10, or may combine some components, or may have different component arrangements.
The following describes each component of the first server 11 in detail with reference to fig. 10:
the first processor 1001 is a control center of the first server, connects various parts of the entire first server using various interfaces and lines, and performs various functions of the first server and processes data by running or executing software programs and/or modules stored in the first memory 1002 and calling data stored in the memory 1002, thereby performing overall monitoring of the first server. The first processor 1001 may include one or more processing units; alternatively, the first processor 1001 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, an application program, and the like, and the modem processor mainly processes wireless communication. It will be appreciated that the modem processor described above may not be integrated into the first processor 1001.
The first processor 1001 may be a Central Processing Unit (CPU), or an application Specific Integrated circuit (asic), or one or more Integrated circuits configured to implement embodiments of the present invention, etc.;
the first storage 1002 may include memories, such as a Random-Access Memory (RAM) 10021 and a Read-Only Memory (ROM) 10022, and may further include a mass storage device 10023, such as at least 1 disk storage. Of course, the first memory 1002 may also include hardware needed for other services.
The first memory 1002 is used for storing the executable instructions of the first processor 1001. The first processor 1001 is configured to execute any one of the steps of the data transmission method applied to the first server.
A wired or wireless network connection 1003 is configured to connect the first server 11 to a network.
The first processor 1001, the first memory 1002, the network interface 1003, and the I/O controller 1004 may be connected to each other via a communication bus 1005, which may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, an EISA (Extended Industry Standard Architecture) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc.
In an exemplary embodiment, the first server 11 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic elements for performing the above-described electronic resource transmission method.
Fig. 11 is a block diagram illustrating a second server 12 according to an example embodiment.
As shown in fig. 11, the second server 12 includes, but is not limited to: a second processor 1101, a second memory 1102, a network interface 1103, an I/O controller 1104, and a communication bus 1105.
It should be noted that, as those skilled in the art will appreciate, the structure of the second server shown in fig. 11 does not constitute a limitation to the server, and the second server may include more or less components than those shown in fig. 11, or may combine some components, or may arrange different components.
The following describes each component of the second server 12 in detail with reference to fig. 11:
the second processor 1101 is a control center of the second server, connects various parts of the entire second server using various interfaces and lines, performs various functions of the second server and processes data by running or executing software programs and/or modules stored in the second memory 1102 and calling data stored in the second memory 1102, thereby performing overall monitoring of the second server. The second processor 1101 may include one or more processing units; optionally, the second processor 1101 may integrate an application processor and a modem processor, wherein the application processor mainly handles operating systems, user interfaces, application programs, and the like, and the modem processor mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the second processor 1101.
The second processor 1101 may be a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement embodiments of the present invention, or the like;
the secondary storage 1102 may include Memory, such as Random-Access Memory (RAM) 11021 and Read-Only Memory (ROM) 11022, and may also include a mass storage device 11023, such as at least 1 disk storage. Of course, the second memory 1102 may also include hardware required for other services.
The second memory 1102 is configured to store instructions executable by the second processor 1101. The second processor 1101 is configured to execute any one of the steps of the data transmission method embodiments applied to the second server.
A wired or wireless network connection 1103 is configured to connect the second server 12 to a network.
The second processor 1101, the second memory 1102, the network interface 1103, and the I/O controller 1104 may be connected to each other by a communication bus 1105, which may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, an EISA (Extended Industry Standard Architecture) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc.
In an exemplary embodiment, the second server 12 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described electronic resource transmission method.
FIG. 12 is a block diagram illustrating an electronic device 13 in accordance with an exemplary embodiment. As shown in fig. 12, the electronic device 13 includes, but is not limited to, an input unit 1201, a third memory 1202, a display unit 1203, a third processor 1204, and the like. Those skilled in the art will appreciate that the configuration shown in fig. 12 is merely an example of an implementation and does not constitute a limitation on electronic devices that may include more or fewer components than those shown, or that certain components may be combined, or that a different arrangement of components may be used.
The following describes each component of the electronic device in detail with reference to fig. 12:
for example, the input unit 1201 may be used to receive information (e.g., interactive data) or character information input by a user and generate key signal inputs related to user settings and function control of the electronic device 13. Alternatively, the input unit 1201 may include a touch panel 12011 and other input devices 12012. The touch panel 12011, also referred to as a touch screen, may collect a touch operation performed by a user on or near the touch panel 12011 (e.g., a user operating the touch panel 12011 or near the touch panel 12011 using a finger, a stylus, or any other suitable object or accessory), and drive a corresponding connection device according to a predetermined program (e.g., drive a search system in the third processor 1204). Alternatively, the touch panel 12011 may include two parts, a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the third processor 1204, and can receive and execute commands sent by the third processor 1204. In addition, the touch panel 12011 may be implemented by using various types such as a resistive type, a capacitive type, an infrared ray, and a surface acoustic wave. The input unit 1201 may include other input devices 12012 in addition to the touch panel 12011. In particular, other input devices 12012 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
Alternatively, the third memory 1202 may be used to store software programs and modules, and the third processor 1204 may execute various functional applications and data processing of the electronic device 13 by executing the software programs and modules stored in the third memory 1202. The third memory 1202 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function, and the like; the storage data area may store data created according to the usage of the electronic device 13 (such as an interval level resource profile, interval resource mapping information, a background image corresponding to each of at least one user level interval), and the like. Further, the third memory 1202 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
Optionally, the display unit 1203 may be used to display information input by the user or information provided to the user (e.g., display video of a main cast, display events), and various menus of the electronic device 13. The Display unit 1203 may include a Display panel 12031, and optionally, the Display panel 12031 may be configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like. Further, the touch panel 12011 can cover the display panel 12031, and when the touch panel 12011 detects a touch operation on or near the touch panel 12011, the touch operation is transmitted to the third processor 1204 to determine the type of the touch event, and then the third processor 1204 provides a corresponding visual output on the display panel 12031 according to the type of the touch event. Although in fig. 12, the touch panel 12011 and the display panel 12031 are two separate components to implement the input and output functions of the electronic device 13, in some embodiments, the touch panel 12011 and the display panel 12031 may be integrated to implement the input and output functions of the electronic device 13.
Optionally, the third processor 1204 is a control center of the electronic device 13, connects various parts of the whole electronic device by using various interfaces and lines, and performs various functions of the electronic device 13 and processes data by running or executing software programs and/or modules stored in the third memory 1202 and calling data stored in the third memory 1202, thereby performing overall monitoring of the electronic device 13. Alternatively, the third processor 1204 may include one or more processing units; preferably, the third processor 1204 may integrate an application processor, which mainly handles operating system, user interface, application programs, etc., and a modem processor, which mainly handles wireless communication. It is to be understood that the above-described modem processor may not be integrated into the third processor 1204.
The electronic device 13 also includes a power supply 1205 (e.g., a battery) for powering the various components, which may be logically coupled to the third processor 1204 via a power management system that may be used to manage charging, discharging, and power consumption.
Although not shown, the electronic device 13 may further include a camera, a bluetooth module, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi (wireless fidelity) module, a sensor, a network unit, an interface unit, and the like.
The electronic device provides wireless broadband internet access to the user, such as accessing a server, through the network element.
The interface unit is an interface for connecting an external device to the electronic apparatus 13. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device having an identification module, an audio input/output (I/O) port, a video I/O port, an earphone port, and the like. The interface unit may be used to receive input from an external device (e.g., data information, power, etc.) and transmit the received input to one or more elements within the electronic equipment 13 or may be used to transmit data between the electronic equipment 13 and the external device.
In the embodiment of the present invention, the third processor 1104 included in the electronic device 13 may be a central processing unit CPU, or an application Specific Integrated circuit asic (application Specific Integrated circuit), or one or more Integrated circuits configured to implement the embodiment of the present invention.
The third processor 1104 included in the electronic device 13 may execute a data transmission method applied to the electronic device.
In an exemplary embodiment, there is also provided a storage medium comprising instructions, such as a first memory 1002 comprising instructions, executable by a first processor 1001 of a first server 11 to perform the above method. Alternatively, the storage medium may be a non-transitory computer readable storage medium, which may be, for example, a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, there is also provided a storage medium comprising instructions, such as the second memory 1102 comprising instructions, executable by the second processor 1101 of the second server 12 to perform the above method. Alternatively, the storage medium may be a non-transitory computer readable storage medium, which may be, for example, a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, a storage medium comprising instructions, such as the third memory 1202 comprising instructions, executable by the third processor 1204 of the electronic device 13 to perform the above-described method is also provided. Alternatively, the storage medium may be a non-transitory computer readable storage medium, which may be, for example, a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, a computer program product is also provided, which can be directly loaded into the internal memory of a computer, such as the first memory 1002, the second memory 1102 or the third memory 1202, and contains software codes, and which can implement any of the above data transmission methods when loaded and executed by a computer.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (32)

1. A data transmission method is applied to a first server and comprises the following steps:
acquiring a stored identification of a live broadcast room, wherein the live broadcast room is a live broadcast room displayed by a client side in communication connection with the first server, and the identification is a room number of the live broadcast room or an ID of a main broadcast corresponding to the live broadcast room;
generating an acquisition request, wherein the acquisition request is used for acquiring at least one event corresponding to the identifier of the live broadcast room, and the event comprises an account number of a client for logging in to generate the event and interactive data sent by the client for generating the event;
sending the acquisition request to a second server, wherein the second server is at least used for receiving and displaying an event generated by a client of the live broadcast room and storing at least one event corresponding to the identifier of the live broadcast room;
receiving at least one event corresponding to the identification of the live broadcast room fed back by the second server;
and sending the at least one event to a client side with the live broadcast room.
2. The data transmission method according to claim 1, wherein the step of sending the acquisition request to the second server comprises:
calculating to obtain a target numerical value based on the identification of the live broadcast room;
determining the second server that a packet having a group number corresponding to the target value contains;
and sending the acquisition request to the second server.
3. The data transmission method according to claim 1, wherein the step of sending the acquisition request to the second server comprises:
acquiring a preset grouping total number, wherein the preset grouping total number is the total number of groups to which a plurality of second servers belong, which are divided in advance;
calculating to obtain a target numerical value based on the identification of the live broadcast room and the preset grouping total number;
determining the second server that a packet having a group number corresponding to the target value contains;
and sending the acquisition request to the second server.
4. The data transmission method according to any one of claims 1 to 3, wherein the step of sending the acquisition request to the second server includes:
determining that a time interval from a first moment reaches a preset time length, wherein the first moment is the moment when the acquisition request is sent to the second server last time; the acquisition request is used for acquiring events occurring in the live broadcast room from the first moment to the current moment;
and sending the acquisition request to the second server.
5. A data transmission method according to any one of claims 1 to 3, wherein a plurality of clients are connected to the first server belonging to the same group, and the plurality of clients are displayed with the same live broadcast.
6. The data transmission method according to any one of claims 1 to 3, wherein the step of sending the at least one event to the client on which the live broadcast room is displayed comprises:
determining a client with a communication connection state being a normal connection state from at least one client displayed with the live broadcast room;
and sending the at least one event to the client with the communication connection state being the normal connection state.
7. A data transmission method is applied to a second server and comprises the following steps:
receiving a storage request sent by a client, wherein the storage request comprises an identifier of a live broadcast room displayed by the client and an event generated by the client, and the event comprises an account number for logging in the client and interactive data sent by the client;
responding to the storage request, and storing the identification of the live broadcast room and the event;
receiving an acquisition request sent by a first server, wherein the acquisition request is used for acquiring at least one event corresponding to an identifier of a live broadcast room stored by the first server;
and responding to the acquisition request, and sending at least one event corresponding to the identification of the live broadcast room included in the acquisition request to the first server so that the first server sends the at least one event to the client side displaying the live broadcast room.
8. The data transmission method according to claim 7, further comprising:
calculating to obtain a first numerical value based on the identification of the live broadcast room contained in the storage request;
and if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the first numerical value, executing the step of responding to the storage request, and storing the identifier of the live broadcast room and the event.
9. The data transmission method according to claim 8, further comprising:
if the numerical value corresponding to the group number of the group to which the second server belongs is different from the first numerical value, refusing to respond to the storage request;
and sending first information representing the storage failure of the event to the client.
10. The data transmission method according to any one of claims 7 to 9, further comprising:
calculating to obtain a second numerical value based on the identification of the live broadcast room contained in the acquisition request;
and if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the second numerical value, executing the step of responding to the acquisition request and sending at least one event corresponding to the identification of the live broadcast included in the acquisition request to the first server.
11. The data transmission method according to claim 10, further comprising:
if the numerical value corresponding to the group number of the group to which the second server belongs is different from the second numerical value, refusing to respond to the acquisition request;
and sending second information representing the failure of event acquisition to the first server.
12. A data transmission method is applied to a client and comprises the following steps:
if the data sending operation implemented in the displayed live broadcast room is detected, generating an event, wherein the event comprises an account number for logging in the client and interactive data corresponding to the data sending operation;
determining a second server based on the identification of the live broadcast room, wherein the second server is at least used for receiving and displaying events generated by a client of the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room;
sending a storage request to the second server, so that the second server stores the identifier of the live broadcast room and the event, wherein the storage request includes the identifier of the live broadcast room and the event, the second server is used for receiving an acquisition request sent by the first server, and the acquisition request is used for acquiring at least one event corresponding to the identifier of the live broadcast room stored by the first server.
13. The data transmission method of claim 12, wherein the step of determining the second server based on the identity of the live broadcast room comprises:
calculating to obtain a target numerical value based on the identification of the live broadcast room;
determining the second server that a packet having a group number corresponding to the target value contains.
14. The data transmission method according to claim 13, further comprising:
sending an address acquisition request for representing the acquisition of the network protocol IP address of the first server to a third server;
receiving a packet fed back by the third server and having a group number corresponding to the target value, wherein the packet comprises one or more IP addresses of the first server;
sending a request to establish a communication connection to the one or more first servers;
receiving response messages respectively fed back by the one or more first servers;
only the communication connection with the first server of the earliest feedback response message is reserved.
15. A data transmission device applied to a first server comprises:
the acquisition module is configured to acquire a stored identifier of a live broadcast room, wherein the live broadcast room is a live broadcast room displayed by a client side in communication connection with the first server, and the identifier is a room number of the live broadcast room or an ID of a main broadcast corresponding to the live broadcast room;
a first generation module configured to generate an acquisition request, where the acquisition request is used to acquire at least one event corresponding to the identifier of the live broadcast room, and the event includes an account number of a client that logs in to generate the event and interactive data sent by the client that generates the event;
the first sending module is configured to send the acquisition request to a second server, and the second server is at least used for receiving and displaying an event generated by a client of the live broadcast room and storing at least one event corresponding to the identifier of the live broadcast room;
a first receiving module configured to receive at least one event corresponding to the identifier of the live broadcast room fed back by the second server;
a second sending module configured to send the at least one event to a client on which the live broadcast room is displayed.
16. The data transmission apparatus of claim 15, wherein the first sending module is specifically configured to:
the first calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room;
a first determination unit configured to determine the second server included in a packet having a group number corresponding to the target numerical value;
a first sending unit configured to send the acquisition request to the second server.
17. The data transmission apparatus of claim 15, wherein the first sending module is specifically configured to:
an obtaining unit configured to obtain a preset total number of groups, where the preset total number of groups is a total number of groups to which a plurality of second servers divided in advance belong;
the second calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room and the preset grouping total number;
a second determination unit configured to determine the second server included in a packet having a group number corresponding to the target numerical value;
a second sending unit configured to send the acquisition request to the second server.
18. The data transmission apparatus according to any one of claims 15 to 17, wherein the first sending module is specifically configured to:
a third determining unit, configured to determine that a time interval from a first time reaches a preset time length, where the first time is a time when the acquisition request is last sent to the second server; the acquisition request is used for acquiring events occurring in the live broadcast room from the first moment to the current moment;
a third sending unit configured to send the acquisition request to the second server.
19. The data transmission apparatus according to any one of claims 15 to 17, wherein a plurality of clients are connected to the first server belonging to the same group, and the plurality of clients are displayed with the same live broadcast.
20. The data transmission apparatus according to any one of claims 15 to 17, wherein the second sending module is specifically configured to:
a fourth determining unit configured to determine, from the at least one client on which the live broadcast room is displayed, a client whose communication connection state is a normal connection state;
a fourth sending unit configured to send the at least one event to the client whose communication connection state is a normal connection state.
21. A data transmission apparatus, applied to a second server, comprising:
the second receiving module is configured to receive a storage request sent by a client, wherein the storage request comprises an identifier of a live broadcast room displayed by the client and an event generated by the client, and the event comprises an account number for logging in the client and interactive data sent by the client;
a storage module configured to store an identification of the live broadcast room and the event in response to the storage request;
a third receiving module, configured to receive an obtaining request sent by a first server, where the obtaining request is used to obtain at least one event corresponding to an identifier of a live broadcast room stored by the first server;
and the third sending module is configured to respond to the obtaining request, send at least one event corresponding to the identification of the live broadcast room included in the obtaining request to the first server, so that the first server sends the at least one event to the client side displaying the live broadcast room.
22. The data transmission apparatus according to claim 21, further comprising:
the first calculation module is configured to calculate a first numerical value based on the identification of the live broadcast room contained in the storage request;
and the first execution module is configured to execute the storage module if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the first numerical value.
23. The data transmission apparatus of claim 22, further comprising:
the first refusal response module is configured to refuse to respond to the storage request if the numerical value corresponding to the group number of the group to which the second server belongs is different from the first numerical value;
a fourth sending module configured to send first information characterizing an event storage failure to the client.
24. The data transmission apparatus according to any one of claims 21 to 23, further comprising:
the second calculation module is configured to calculate a second numerical value based on the identification of the live broadcast room contained in the acquisition request;
and the second execution module is configured to execute the third sending module if the numerical value corresponding to the group number of the group to which the second server belongs is the same as the second numerical value.
25. The data transmission apparatus of claim 24, further comprising:
a first refusal response module configured to refuse to respond to the acquisition request if a numerical value corresponding to a group number of a group to which the second server belongs is different from the second numerical value;
a fifth sending module configured to send second information characterizing an event acquisition failure to the first server.
26. A data transmission apparatus, applied to a client, comprising:
the second generation module is configured to generate an event if a data transmission operation implemented in a displayed live broadcast room is detected, wherein the event comprises an account for logging in the client and interactive data corresponding to the data transmission operation;
the determining module is configured to determine a second server based on the identification of the live broadcast room, wherein the second server is at least used for receiving the events generated by the client displaying the live broadcast room and storing at least one event corresponding to the identification of the live broadcast room;
a sixth sending module, configured to send a storage request to the second server, so that the second server stores the identifier of the live broadcast room and the event, where the storage request includes the identifier of the live broadcast room and the event, the second server is configured to receive an acquisition request sent by the first server, and the acquisition request is used to acquire at least one event corresponding to the identifier of the live broadcast room stored by the first server.
27. The data transmission apparatus according to claim 26, wherein the determining module is specifically configured to:
the third calculation unit is configured to calculate a target numerical value based on the identification of the live broadcast room;
a fifth determination unit configured to determine the second server included in the packet having the group number corresponding to the target numerical value.
28. The data transmission apparatus according to claim 17, further comprising:
a seventh sending module, configured to send an address obtaining request representing obtaining a network protocol IP address of the first server to the third server;
a fourth receiving module configured to receive the packet fed back by the third server and having the group number corresponding to the target value, the packet including the IP addresses of one or more first servers;
an eighth sending module configured to send a request to establish a communication connection to the one or more first servers;
a fifth receiving module configured to receive response messages respectively fed back by the one or more first servers;
a communication connection maintaining module configured to maintain a communication connection with only the first server of the earliest feedback response message.
29. A first server, comprising:
a first processor;
a first memory for storing the first processor-executable instructions;
wherein the first processor is configured to execute the instructions to implement the data transmission method of any one of claims 1 to 6.
30. A second server, comprising:
a second processor;
a second memory for storing the second processor-executable instructions;
wherein the second processor is configured to execute the instructions to implement the data transmission method of any of claims 7 to 11.
31. An electronic device, comprising:
a third processor;
a third memory for storing the third processor-executable instructions;
wherein the third processor is configured to execute the instructions to implement the data transmission method of any of claims 12 to 14.
32. A computer-readable storage medium whose instructions, when executed by a first processor of a first server, enable the first server to perform the data transfer method of any of claims 1 to 6; or, when executed by a second processor of a second server, the instructions in the computer readable storage medium enable the second server to perform the data transmission method of any of claims 7 to 11; alternatively, the instructions in the computer readable storage medium, when executed by the third processor of the electronic device, enable the electronic device to perform the data transmission method of any of claims 12 to 14.
CN202011538819.5A 2020-12-23 2020-12-23 Data transmission method, device, server, equipment and medium Active CN113055695B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011538819.5A CN113055695B (en) 2020-12-23 2020-12-23 Data transmission method, device, server, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011538819.5A CN113055695B (en) 2020-12-23 2020-12-23 Data transmission method, device, server, equipment and medium

Publications (2)

Publication Number Publication Date
CN113055695A CN113055695A (en) 2021-06-29
CN113055695B true CN113055695B (en) 2022-08-12

Family

ID=76508124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011538819.5A Active CN113055695B (en) 2020-12-23 2020-12-23 Data transmission method, device, server, equipment and medium

Country Status (1)

Country Link
CN (1) CN113055695B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549856A (en) * 2016-11-24 2017-03-29 广州华多网络科技有限公司 A kind of method and apparatus for sending feedback data
CN108833934A (en) * 2018-06-21 2018-11-16 广州酷狗计算机科技有限公司 Obtain method, server and the system of video data
CN110166791A (en) * 2019-06-12 2019-08-23 北京字节跳动网络技术有限公司 Establishment of connection method, apparatus, equipment and storage medium
CN110659121A (en) * 2019-09-24 2020-01-07 北京达佳互联信息技术有限公司 Task data acquisition method and device, task configuration method and device and server

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9648074B2 (en) * 2013-05-31 2017-05-09 Tencent Technology (Shenzhen) Company Limited Systems and methods for delivering media data based on geographical locations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549856A (en) * 2016-11-24 2017-03-29 广州华多网络科技有限公司 A kind of method and apparatus for sending feedback data
CN108833934A (en) * 2018-06-21 2018-11-16 广州酷狗计算机科技有限公司 Obtain method, server and the system of video data
CN110166791A (en) * 2019-06-12 2019-08-23 北京字节跳动网络技术有限公司 Establishment of connection method, apparatus, equipment and storage medium
CN110659121A (en) * 2019-09-24 2020-01-07 北京达佳互联信息技术有限公司 Task data acquisition method and device, task configuration method and device and server

Also Published As

Publication number Publication date
CN113055695A (en) 2021-06-29

Similar Documents

Publication Publication Date Title
CN107645529B (en) Heartbeat packet sending method and device
CN106534940B (en) Display method and device of live broadcast entry preview
EP2770788B1 (en) Notification push method, device, and system
CN106487928B (en) Message pushing method and device
US20200213403A1 (en) Information transmission method and device
CN106713323B (en) page content preview method, client, server and system
WO2021237433A1 (en) Message pushing method and apparatus, and electronic device and computer-readable medium
JP2018512792A (en) System, method and apparatus for displaying content items
WO2021233262A1 (en) Communication control
CN106453231B (en) Signaling acquisition and transmission method and device
US20220171011A1 (en) Positioning method and device, server, storage medium and terminal
CN111314416B (en) Data synchronization method, device, system, equipment and storage medium
CN103312593A (en) Message distribution system and message distribution method
CN109428908B (en) Information display method, device and equipment
CN109729582B (en) Information interaction method and device and computer readable storage medium
CN105306244B (en) Router management method, system and equipment
CN113055695B (en) Data transmission method, device, server, equipment and medium
CN105898596B (en) Direct broadcasting room display control method and device
CN112169312A (en) Queuing scheduling method, device, equipment and storage medium for cloud game service
CN113468346B (en) Resource processing method and device, electronic equipment and storage medium
CN113132745B (en) Live broadcast service system, method and server
KR20180091910A (en) METHODS, DEVICES, AND SYSTEMS FOR PERFORMING INFORMATION PROVIDING
CN115379249B (en) Interactive processing method and device, electronic equipment and storage medium
CN112333492B (en) Video return control method and device, intelligent large-screen equipment and storage medium
CN111787587B (en) Data transmission method and device and electronic equipment

Legal Events

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