[go: up one dir, main page]

CN117749769B - Session establishment method, device and server - Google Patents

Session establishment method, device and server Download PDF

Info

Publication number
CN117749769B
CN117749769B CN202310165449.2A CN202310165449A CN117749769B CN 117749769 B CN117749769 B CN 117749769B CN 202310165449 A CN202310165449 A CN 202310165449A CN 117749769 B CN117749769 B CN 117749769B
Authority
CN
China
Prior art keywords
target
session
client
communication channel
clients
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
CN202310165449.2A
Other languages
Chinese (zh)
Other versions
CN117749769A (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.)
Shuhang Technology Beijing Co ltd
Original Assignee
Shuhang Technology Beijing 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 Shuhang Technology Beijing Co ltd filed Critical Shuhang Technology Beijing Co ltd
Priority to CN202310165449.2A priority Critical patent/CN117749769B/en
Publication of CN117749769A publication Critical patent/CN117749769A/en
Application granted granted Critical
Publication of CN117749769B publication Critical patent/CN117749769B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The application discloses a session establishment method, a device and a server, wherein the method comprises the steps of determining reservation establishment time of a target session, client identifiers of a plurality of target clients participating in the target session and establishing a target communication channel adopted by the target session, generating a target session instruction according to each target client identifier and the target communication channel when the reservation establishment time is reached, triggering establishment of session connection among the plurality of target clients by the target session instruction, sending the target session instruction to the plurality of target clients, determining success of target session establishment when any target client responds to the target session instruction, acquiring session data streams generated by each target client after responding to the target session instruction, adding the acquired session data streams to the target communication channel, loading the session data streams from the target communication channel by each target client based on the target session instruction, and playing the loaded session data streams, so that efficient session establishment is realized.

Description

Session establishment method, device and server
Technical Field
The present application relates to the field of computer technologies, and in particular, to a session establishment method, apparatus, and server.
Background
Currently, when a user needs to perform session establishment (such as live-broadcast-to-live-broadcast connection), at least one session object triggers a session establishment operation through a corresponding client, so that a session request is generated and sent to a background server of the client, so that the background server can generate a corresponding session invitation for the session request, and the session invitation is sent to clients of other objects needing to participate in the session, so that other objects can perform a receiving or rejecting operation for the session invitation at the client. Further, the client may send the result of the reception or rejection of the related object to the background server, so that the background server determines whether to join the session object in the session establishment range.
As can be seen, in the prior art, when a multi-person session is performed, each object that has to participate in the session must perform a corresponding operation, and when any object is not familiar with the operation of joining the session, the session is very likely to fail to be established, thereby seriously affecting the user experience. It is therefore necessary and interesting to propose an efficient session establishment method.
Disclosure of Invention
The embodiment of the application provides a session establishment method, a session establishment device, a server and a storage medium, which can realize efficient session establishment.
In one aspect, an embodiment of the present application provides a session establishment method, including:
determining reservation establishment time of a target session, determining client identifiers of a plurality of target clients participating in the target session, and establishing a target communication channel adopted by the target session;
when the reservation establishing time is reached, generating a target session instruction according to each target client identifier and the target communication channel, wherein the target session instruction is used for triggering and establishing session connection among the plurality of target clients;
The target session instruction is sent to the target clients, and when any target client responds to the target session instruction, the target session is determined to be established successfully;
And acquiring session data streams generated by the target clients after responding to the target session instructions, adding the acquired session data streams to the target communication channel, so that the target clients load the session data streams from the target communication channel based on the target session instructions, and playing the loaded session data streams.
In yet another aspect, an embodiment of the present application proposes a session establishment method, including:
Receiving a target session instruction sent by a server, wherein the target session instruction is generated by the server according to a client identifier of each target client in a plurality of target clients participating in the target session and a determined target communication channel adopted for establishing the target session when reaching the reservation establishment time of the target session, and is used for triggering establishment of session connection with the plurality of target clients;
and responding to the target session instruction, loading the session data stream from the target communication channel, and playing the loaded session data stream, wherein the session data stream in the target communication channel is obtained by the server through obtaining the session data stream generated by each target client and adding the obtained session data stream to the target communication channel.
In still another aspect, an embodiment of the present application provides a session establishment apparatus, including:
A determining unit, configured to determine a reservation setup time of a target session, determine client identifiers of a plurality of target clients participating in the target session, and set up a target communication channel adopted by the target session;
The instruction generation unit is used for generating target session instructions according to the target client identifiers and the target communication channels when the reservation establishment time is reached, wherein the target session instructions are used for triggering and establishing session connection among the target clients;
The sending unit is used for sending the target session instruction to the plurality of target clients and determining that the target session is successfully established when any target client responds to the target session instruction;
And the acquisition unit is used for acquiring the session data streams generated by the target clients after responding to the target session instructions, adding the acquired session data streams into the target communication channel, so that the target clients load the session data streams from the target communication channel based on the target session instructions, and playing the loaded session data streams.
In yet another aspect, an embodiment of the present application proposes a session establishment apparatus, including:
the receiving unit is used for receiving a target session instruction sent by a server, wherein the target session instruction is generated by the server according to client identifiers of all target clients in a plurality of target clients participating in the target session and a determined target communication channel adopted by the establishment of the target session when reaching the reservation establishment time of the target session, and the target session instruction is used for triggering the establishment of session connection with the plurality of target clients;
And the response unit is used for responding to the target session instruction, loading the session data stream from the target communication channel and playing the loaded session data stream, wherein the session data stream in the target communication channel is obtained by the server through obtaining the session data stream generated by each target client and adding the obtained session data stream to the target communication channel.
In still another aspect, an embodiment of the present application provides a server, including:
A processor for implementing one or more computer programs;
A computer storage medium storing one or more computer programs adapted to be loaded by the processor and to implement a session establishment method as in the first aspect.
In yet another aspect, an embodiment of the present application provides a computer device, including:
A processor for implementing one or more computer programs;
A computer storage medium storing one or more computer programs adapted to be loaded by the processor and to implement a session establishment method as in the second aspect.
In yet another aspect, embodiments of the present application provide a computer storage medium storing one or more computer programs adapted to be loaded by the processor and to implement a session establishment method as in the first aspect or the second aspect.
In the embodiment of the application, the establishment of the target session and the loading and playing of the corresponding session data stream do not need the corresponding operation of the use object (also called session object) of the target client, so that the embodiment of the application can realize the establishment of the target session through the silent interaction between the server and the target client. The silence interaction means that the session object of the target client does not need to select the corresponding trigger component in the display page of the target client, so that the target client does not need to generate and send a session establishment request to the server after detecting the selection of the corresponding trigger component, the session object can participate in the target session appointed in advance under the condition of unfamiliar with the target client, the difficulty of session establishment is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the server automatically generates the target session instruction, so that the process of triggering the server to generate the target session instruction is simplified, the whole time for establishing the session is saved, and the efficiency of establishing the session is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1a is a schematic structural diagram of a session establishment system according to an embodiment of the present application;
FIG. 1b is a schematic diagram of a session establishment implementation principle provided by an embodiment of the present application;
fig. 2 is a schematic flow chart of a session establishment method according to an embodiment of the present application;
FIG. 3 is a schematic flow chart of yet another session establishment method provided by an embodiment of the present application;
FIG. 4 is a schematic diagram of a cross-channel connection provided by an embodiment of the present application;
FIG. 5 is a schematic flow chart of a target client participating in a target session provided by an embodiment of the present application;
Fig. 6 is a schematic diagram of a data flow in a session establishment procedure according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a session establishment apparatus according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of still another session establishment apparatus according to an embodiment of the present application;
Fig. 9 is a schematic structural diagram of a server according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
In order to enable those skilled in the art to better understand the solutions provided by the embodiments of the present application, the following description will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application. It should be noted that each of the specific embodiments described in the embodiments of the present application is only a part of the embodiments of the present application, and not all the embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the application, are within the scope of the application based on the various embodiments of the application.
The embodiment of the application provides a session establishment method, which can be used for efficiently establishing session connection among a plurality of session objects. Specifically, the method indicates that for a target session to be established at a reservation establishment time, a server can firstly determine a target communication channel adopted for establishing the target session and client identifiers of a plurality of target clients participating in the target session, so that when the reservation establishment time is reached, the server can generate a target session instruction according to the client identifiers of the target clients and the target communication channel, and then send the target session instruction to each target client to trigger establishment of session connection among the plurality of target clients. Each target client can correspond to one session object, so that the server can realize session exchange among a plurality of session objects by establishing session connection among a plurality of target clients. In addition, each session object may generate a video data stream and/or an audio data stream in a corresponding target client, and any one or both of the video data stream and the audio data stream may be referred to as a session data stream, so that the server may acquire a session data stream generated by each of a plurality of target clients after sending a target session command to the respective target client, and add the acquired session data stream to a target communication channel, so that each target client may load the session data stream from the target communication channel based on channel information of the target communication channel included in the target session command and play the loaded corresponding session data stream when responding to the target session command, thereby implementing session objects corresponding to the plurality of target clients, and performing session communication in the established target session.
Based on the above description, in the embodiment of the present application, the establishment of the target session and the loading and playing of the corresponding session data stream do not require the use object (also referred to as the session object) of the target client to perform the corresponding operation, so that the embodiment of the present application can implement the establishment of the target session through the silence interaction between the server and the target client. Wherein, silent interaction refers to a technique of completing data communication between a plurality of devices without displaying any visible interface. In the embodiment of the application, the silence interaction is performed between the server and the target client, which means that the session object of the target client does not need to select the corresponding trigger component in the display page of the target client, so that the target client does not need to generate and send a session establishment request to the server after detecting the selection of the corresponding trigger component. The session object does not need to select the corresponding triggering component, so that the session object can participate in the target session appointed in advance under the condition of unfamiliar with the target client, the difficulty of establishing the session is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the server automatically generates the target session instruction instead of generating the target session instruction after receiving the session establishment request of the target client, so that the process of triggering the server to generate the target session instruction is simplified, the overall time of session establishment is saved, and the efficiency of session establishment is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
In one embodiment, the session establishment method provided by the embodiment of the present application may be applied to the session establishment system shown in fig. 1 a. As shown in fig. 1a, the session establishment system may include a server and a plurality of target clients, where each target client establishes a communication connection with the server, so that data interaction between the target client and the server may be performed, thereby implementing session establishment. The communication connection between the server and the target client may be a unicast long connection, unicast refers to point-to-point connection between the target client and the server, and long connection refers to that multiple data packets may be continuously transmitted on one communication link, and during the connection maintaining period, if no data packet is transmitted, both sides of the link are required to transmit a link detection packet. That is, if a long connection is established between the target client and the server, this means that the link between the target client and the server is maintained at all times, regardless of whether data is currently being sent or received on the link.
Of course, a short connection may also be established between the target client and the server, where the short connection is a link that is established only when data is transmitted, and if data is not transmitted, the link may be disconnected. The server is used for providing session service for the target client, and the server can provide session service for the target client by executing each step in the session establishment method provided by the application. Alternatively, the server may be, for example, an independent physical server, a server cluster formed by a plurality of physical servers, or a distributed system, and a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, or the like, which is not limited in this embodiment of the present application.
In addition, in the multiple target clients included in the session establishment system shown in fig. 1a, each target client may be running on a terminal device, and one target client may be running on one terminal device, so that the multiple target clients may be running with multiple terminal devices. In general, the nature of the terminal device running the client is that the terminal device runs an application program for receiving the relevant service provided by the corresponding server, and the client in the embodiment of the present application specifically refers to an application program for receiving the real-time session service provided by the server. In practical application, different user identity information is used for logging in or registering in an application program, different client identifiers (also called user identifiers) are generated for different users, a client is obtained after a certain user identity information is used for logging in the application program, and the client identifier of the client is the client identifier generated for the user indicated by the user identity information. Therefore, the multiple target clients mentioned in the embodiment of the present application can be actually understood as being obtained after the multiple users log in the target application program with the respective identity information on the respective terminal devices. The target application refers to a program for providing a session service to a user (or object), and the server refers to a device for providing a session service to the target application to support the session service. In this case, the target client may be specifically understood as a client obtained after logging in the target application using the identity information of the user participating in the target session.
For reference, the structure of the target client may be shown as a schematic diagram of the structure indicated by 101 in fig. 1a, and the structure of the server may be shown as a schematic diagram of the structure indicated by 102 in fig. 1 a. As can be seen from the schematic diagram labeled 101 in fig. 1a, the target client may include an RTC (real time Clock) client session display module, a session layout module, and a detection and response module, and as can be seen from the schematic diagram labeled 102 in fig. 1a, the server may include an RTC backend service module, a client permission verification module, and a session instruction module. Of course, the target client and the server may also include one or more other modules, or the target client may include a module obtained by combining one or more modules of the RTC client session display module, the session layout module, and the detection and response module, and similarly, the server may also include a module obtained by combining one or more modules of the RTC backend service module, the client permission verification module, and the session instruction module. In addition, the terminal device running the target client may be, for example, a smart phone, a tablet computer, a desktop computer, an intelligent robot, etc., and other clients or applications besides the target client may also be run in the terminal device, for example, a video playing application, an image processing application, a map navigation application, a music playing application, etc., which is not limited in this embodiment of the present application.
In one embodiment, one principle of implementing session establishment may be seen in fig. 1 b. As can be seen from fig. 1b, in the embodiment of the present application, each target client corresponds to one communication channel (for example, the corresponding channel 001 of the target client a), so that the session data stream generated by the corresponding user at the target client may be transmitted in the corresponding communication channel, and the server may also obtain the session data stream generated by the target client from the corresponding communication channel, so that the server may add the session data stream of each target client in the target communication channel.
Referring to fig. 2, fig. 2 is a schematic flowchart of a session establishment method according to an embodiment of the present application, where the session establishment method may be performed by the above-mentioned server, and as shown in fig. 2, the method may include steps S201 to S204:
S201, determining reservation establishment time of a target session, determining client identifiers of a plurality of target clients participating in the target session, and establishing a target communication channel adopted by the target session.
In one embodiment, a session is a computer term, specifically referring to the process of a client (e.g., client A) communicating with an interactive system, which may include a server and/or one or more clients (e.g., client B, client C, etc.). In the embodiment of the present application, establishing a session refers to a process of establishing a communication connection between a plurality of target clients through a server, so that usage objects of the plurality of target clients can communicate accordingly. The target session refers to a session which is appointed in advance and needs to be established at a certain moment, the reserved time for establishing the session is called reserved establishment time, and after the reserved establishment time comes, a plurality of target clients can participate in the target session. Optionally, in an implementation manner, the reservation setup time may be determined by parsing the reservation setup request after the server receives the reservation setup request, where the reservation setup request may be sent by any target client that establishes a communication connection with the server. In this case, the reservation establishment request needs to contain or carry at least the relevant indication information of the reservation establishment time and the indication information of the plurality of target clients participating in the target session. In yet another implementation, the subscription establishment request may be sent by a management device of the server, and the management device may be data entered by the device management object, such that the subscription establishment time may be transmitted to the server by the management device after the device management object is entered in the management device. Wherein, optionally, a corresponding visual interface can be displayed on the management device, so that the management object can input corresponding information in the visual interface.
In one embodiment, the target communication channel refers to a communication channel employed when transmitting session data streams generated by respective target clients during a target session after the target session is established. In a specific application, the target communication channel may include one or more, and when the target communication channel is one, the session connection between the plurality of target clients is referred to as a cross-channel connection, and correspondingly, when the target communication channel is a plurality of target clients, the session connection between the plurality of target clients is a co-channel connection. Optionally, when the target communication channel is one, the server may first determine a communication channel corresponding to each of the plurality of target clients, and then select the target communication channel from the communication channels corresponding to the plurality of target clients. Alternatively, the server may select a communication channel from unoccupied communication channels as the target communication channel, and the embodiment of the present application does not limit a specific manner of determining the target communication channel by the server.
And S202, when the reservation establishment time is reached, generating a target session instruction according to each target client identifier and the target communication channel, wherein the target session instruction is used for triggering and establishing session connection among a plurality of target clients.
In one embodiment, the instruction for triggering establishment of a session connection between a plurality of target clients is referred to as a target session instruction, which is generated by the server upon arrival of a reservation setup time. In practical applications, the target session instruction may include information that needs to be adopted when the target client joins the target session, for example, one or more of channel information (such as channel identifier) of a target communication channel, client identifiers of respective target clients participating in the target session, rendering information of a session interface, and the like, where the session interface is an interface for displaying corresponding images (such as character images, client identifiers, and the like) in a process of session communication between multiple target clients.
S203, the target session instruction is sent to a plurality of target clients, and when any target client responds to the target session instruction, the success of the target session establishment is determined.
In one embodiment, the server may determine that the target session is established successfully after detecting that any target client responds to the target session command, and the manner in which the server determines that the target client responds to the target session command may include, but is not limited to, one or more of detecting that the target client parses the target session command, detecting that the target client loads a session data stream in the target communication channel, and receiving feedback information indicating that the target session command is received successfully. It should be noted that, when the server determines whether the target client responds to the target session command, the server performs silent interaction with the target client, without any operation performed on the target client by the session object.
S204, obtaining the session data streams generated by each target client, adding the obtained session data streams to the target communication channel, loading the session data streams from the target communication channel by each target client based on the target session instruction, and playing the loaded session data streams.
In one embodiment, the server may acquire the session data stream generated by the target client after responding to the target session command, or may trigger to acquire the session data stream generated by the target client after determining the communication channel adopted by the target client by default. Further, after detecting that the target client responds to the target session instruction, the server can load the session data stream acquired for the target client into the target communication channel, so that the target client after responding to the target session instruction can participate in the target session at a higher speed. The manner in which the server adds the session data stream generated by any target client to the target communication channel may include any one of the following two. (1) The session data stream is replicated and pasted in the target communication channel. (2) forwarding the session data stream to the target communication channel. In addition, because the target clients which do not respond to the target session instruction do not load the session data stream in the target communication channel, the embodiment of the application can better ensure the privacy security of each target client on the premise of quickly realizing session communication.
In the session establishment method provided by the embodiment of the application, for the target session which is appointed in advance and needs to be established in the reserved establishment time, the server can automatically send the target session instruction to each target client which needs to participate in the target session in the reserved establishment time, and each target client can automatically load the corresponding session data stream from the target communication channel corresponding to the target session after receiving the target session instruction so as to realize interaction between session objects corresponding to other target clients in the target session. That is, the establishment of the target session and the loading and playing of the corresponding session data stream do not need the use object (also referred to as session object) of the target client to execute the corresponding operation, so that the embodiment of the application can realize the establishment of the target session through the silent interaction between the server and the target client. Wherein, silent interaction refers to a technique of completing data communication between a plurality of devices without displaying any visible interface. In the embodiment of the application, the silence interaction is performed between the server and the target client, which means that the session object of the target client does not need to select the corresponding trigger component in the display page of the target client, so that the target client does not need to generate and send a session establishment request to the server after detecting the selection of the corresponding trigger component. The session object does not need to select the corresponding triggering component, so that the session object can participate in the target session appointed in advance under the condition of unfamiliar with the target client, the difficulty of establishing the session is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the server automatically generates the target session instruction instead of generating the target session instruction after receiving the session establishment request of the target client, so that the process of triggering the server to generate the target session instruction is simplified, the overall time of session establishment is saved, and the efficiency of session establishment is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
Referring to fig. 3, fig. 3 is a schematic flow chart of another session establishment method according to an embodiment of the present application, where the session establishment method may be cooperatively performed by the above-mentioned server and the target client in the terminal device, and as shown in fig. 3, the method may include steps S301-S306:
S301, a server determines reservation establishment time of a target session, and determines client identifiers of a plurality of target clients participating in the target session and a target communication channel adopted by the target session.
In one embodiment, the server may determine the target communication channel to be used for establishing the target session after determining the session connection between the plurality of target clients. Specifically, when determining that the session connection manner between the plurality of target clients is cross-channel connection, the server may determine the communication channel currently adopted by each target client as a target communication channel, where the currently adopted communication channel may be the communication channel default adopted by the corresponding target client mentioned above. Based on the foregoing, cross-channel connection refers to implementing session connection between respective target clients by loading session data flows in a plurality of different communication channels. In this case, the server may determine, for any one of the plurality of target clients, a session data stream generated by another target client of the plurality of target clients except for the any one target client from the acquired session data streams, and add the determined session data stream to a communication channel currently adopted by the any one target client, so that the any one target client may load the session data stream from the communication channel correspondingly adopted in a process of responding to the target session command. It will be appreciated that in embodiments of the present application, for each of the target clients, the server may implement adding the acquired session data stream to the target communication channel in the case where multiple target clients implement session connection using cross-channel connection in the manner described above for any of the target clients to add the acquired session data stream to the corresponding communication channel.
In yet another embodiment, the server may detect, when determining that the session connection manner between the plurality of target clients is co-channel connection, data transmission quality of a communication channel currently adopted by each target client in the plurality of target clients, and further use a communication channel with a quality detection result meeting a communication quality requirement as the target communication channel. Based on the foregoing, it can be seen that the on-channel connection refers to implementing session connection between each target client by loading session data flows in the same communication channel. Optionally, in an implementation manner, the server may also randomly select a communication channel from the communication channels currently adopted by each target client in the plurality of target clients as a target communication channel, or the server selects a communication channel with a channel identifier as a preset identifier from the communication channels currently adopted by each target client, where the preset identifier may be specified by a relevant service person in the server, and the determining manner of the target communication channel is not limited in the embodiment of the present application.
In one embodiment, when determining the client identifiers of the plurality of target clients participating in the target session, the server may first acquire the reservation establishment information of the target session, where the reservation establishment information may be sent by related service personnel using a computer device having a communication connection with the server, or may be obtained by parsing the reservation establishment request after detecting the corresponding reservation establishment request, where the reservation establishment request needs to be satisfied, and after parsing the reservation establishment request by the server, at least the client identifiers of the plurality of candidate clients may be obtained. The candidate clients refer to clients with receiving authority of the target session instruction, one candidate client corresponds to one candidate object, and the candidate object in the application can be understood as an object which is proposed to participate in the target session. That is, the candidate client is a client obtained after logging in the target application program by using the identity information of the candidate object.
Furthermore, the computer device having a communication connection with the server may include a terminal device of the operation target client. After the server obtains the client identifiers of the plurality of candidate clients, reference information associated with the client identifier of each candidate client can be obtained respectively, so that authority verification is performed on the corresponding candidate client according to the reference information associated with each candidate client, and the client identifier of the candidate client with the authority verification passed is used as the client identifier of the target client. That is, the candidate client whose authority verification passes will be the target client.
The reference information may include one or more of status information (e.g., whether in a session state) of the candidate object, role information (e.g., moderator, audience, manager, etc.) of the candidate object in the target session, and other historical behavior information (e.g., historical speech information, historical purchase information, historical evaluation information, etc.). However, it is specifically noted that when acquiring the related information of the candidate object, it is necessary to acquire the permission of the related object in advance and acquire the information within the range conforming to the law and regulation. In addition, when the server performs authority verification on the candidate client based on the reference information, verification conditions corresponding to the reference information can be respectively obtained, so that when the target number of reference information accords with the corresponding verification conditions, the authority verification of the candidate client is determined to pass. The number of targets may be a preset fixed value or may be determined according to the number of terms of the reference information, for example, the number of targets may increase with the increase of the number of terms of the reference information and decrease with the decrease of the number of terms of the reference information, or even the number of targets may be the number of terms of the reference information acquired by the server, which is not limited by the embodiment of the present application.
In addition, the verification condition of each item of reference information may include preset information, a quality score threshold of the candidate object, or other conditions that may be used to measure the validity of the reference information. When the verification condition comprises a quality score threshold, the server can firstly determine the quality score of the candidate object, and then determine that the reference information accords with the corresponding verification condition when the determined quality score is greater than or equal to the quality score threshold.
S302, when the server reaches the reservation establishment time, generating a target session instruction according to the client identifications of the target clients and the target communication channels, wherein the target session instruction is used for triggering and establishing session connection among a plurality of target clients.
In an embodiment, the specific implementation manner of step S302 may be referred to the above description about fig. 2, and the embodiment related to step S202 is not described herein.
S303, the server sends the target session instruction to a plurality of target clients, and when any target client responds to the target session instruction, the success of the target session establishment is determined.
In an embodiment, the specific implementation manner of step S303 may be referred to the above description about fig. 2, and the embodiment related to step S203 is not described herein.
S304, the target client receives the target session instruction sent by the server.
In one embodiment, after receiving the target session command, each target client may parse the target session command to obtain information required to participate in the target session, for example, a communication channel used when loading a session data stream, that is, determine a target communication channel, so that each target client may trigger establishment of session connection with multiple target clients. The target clients corresponding to any target client to be connected refer to all target clients participating in the target session or refer to one or more target clients except the target client among all target clients participating in the target session.
In one embodiment, the session object may also employ a target client to trigger the establishment of an instant session, and the clients participating in the instant session are referred to as instant session clients, then the number of instant session clients is at least two, and the at least two instant session clients may include the target client. The instant session is a session which is triggered to be established in the target client by the session object, and is different from the target session, the instant session is not automatically established at reserved time by the server, and a target session instruction is generated to realize the session establishment. Then, the target client may establish session connections with the respective instant session clients in response to the operation of establishing the instant session. When the session connection is established, an alert message is generated that includes a client identification of each instant session client participating in the instant session. By sending the alert information to the server, the server may be caused to generate an instant session instruction after determining a communication channel to be employed to establish the instant session. It will be understood that instant session instructions refer to instructions for triggering establishment of a session connection between individual instant session clients. The target client can receive the instant session instruction sent by the server, so that the target client can respond to the instant session instruction, load a session data stream from a communication channel determined for the instant session, and play the loaded session data stream, thereby realizing session communication between the target client and each instant client.
S305, the server acquires session data streams generated by the target clients after responding to the target session instructions, and adds the acquired session data streams to the target communication channels.
In one embodiment, based on the foregoing, the session connection manner between the multiple target clients may be a cross-channel connection or a co-channel connection. When the session connection mode is cross-channel connection, each target client may correspond to a target communication channel, and the target communication channel corresponding to each target client may be a communication channel adopted by the target client by default. Then, when adding the acquired session data stream to the target communication channel, the server may add, for each target client, session data streams generated by other target clients than the target client among the plurality of target clients to the target communication channel of the target client.
The manner in which the server implements the cross-channel connection may be seen, for example, in fig. 4. In fig. 4, assuming that the target client a and the target client D are clients that need to participate in the target session, and the communication channel adopted by the target client a by default is channel 001, and the communication channel adopted by the target client D by default is channel 004, the server may forward the session data stream generated by the target client a in channel 001 to the channel 004 corresponding to the target client D, and forward the session data stream forwarded by the target client D in channel 004 to the channel 001 corresponding to the target client a, so that the session object of the target client a and the session object of the target client D may mutually receive the session data generated by the objects, thereby implementing session communication.
In one embodiment, correspondingly, when the session connection mode is co-channel connection, the plurality of target clients correspond to the same target communication channel, and the target communication channel may be one of communication channels adopted by default corresponding to the plurality of target clients, or may be other communication channels in the communication channels adopted by default except for the respective target clients. Then, when adding the acquired session data stream to the target communication channel, the server may first determine which target clients generate session data streams included in the target communication channel, and add the session data streams of the target clients that do not exist in the target communication channel to the target communication channel. In other words, the server may also obtain session data streams generated by one or more of the at least two instant session clients and add the obtained session data streams to the respective determined communication channels. For example, assuming that a plurality of target clients are target client a, target client b, target client c and target client d, and the target communication channel is the communication channel (called channel 1) adopted by the target client a by default, then there is a session data stream generated by the target client a in the channel 1, and the server only needs to acquire the session data streams generated by the target client b, target client c and target client d, and then the acquired session data is left to be added to the channel 1.
S306, the target client responds to the target session instruction, loads the session data stream from the target communication channel, and plays the loaded session data stream.
In one embodiment, when the target client plays the loaded session data stream, the loaded session data stream can be subjected to validity check to obtain a validity check result, and then after the validity check result indicates that the validity check of the corresponding session data stream is passed, the loaded session data stream is played, so that the quality of the session data stream can be effectively controlled, a good session communication atmosphere is created, and the use experience of the corresponding object is further improved.
In one embodiment, for the session establishment method shown in fig. 2 and fig. 3, the session instruction (including the target session instruction and the instant session instruction) generated by the server may further include interface layout information. Specifically, the server may first determine a session type of each client participating in the corresponding session, where the session type may be one of an audio session, a video session, and an audio-video hybrid session, and further obtain layout data associated with the session type of each client, where the layout data includes, but is not limited to, one or more of a component to be rendered, rendering information of the component (such as a component size, a component color, a component display mode, etc.), session information to be loaded (such as a real-time screen or a default screen of a session object, etc.), object information to be loaded (such as an object identifier, an object avatar, etc.). In this case, a schematic flow of each target client participating in the target session may be as shown in fig. 5. Based on fig. 5, before the server establishes session connection between the clients, the communication channels corresponding to the clients do not interfere with each other, and the pictures displayed by the clients are not related to each other, and after the target client a establishes session connection with the target client D, the relevant session picture of the target client a is displayed in the target client D, and the relevant session picture of the target client D may also be displayed in the target client a.
In order to clearly understand the application flow of the embodiment of the present application, the session establishment method shown in fig. 2 and fig. 3 is described in detail below in conjunction with a session establishment procedure of a specific example. The present example is set forth for a multi-person headset scenario, where the multi-person headset task is pre-agreed and needs to be performed at a target time. For ease of understanding, please refer to fig. 6, fig. 6 is a schematic diagram of a data flow in a session establishment process according to an embodiment of the present application.
Based on fig. 6, the service management object may call the RTC backend scheduling session control module, and input reservation information of the multi-user communication to the server, so that the RTC backend service module may perform the task of activity 0. The essence of the ACTION0 task is to determine information required for generating the target session command, and it can be understood that step S201 or step S301 is described above. Then, illustratively, ACTION0 may include, but is not limited to, one or more of 6 of 1. Confirm session role (e.g., initiator, audience, administrator, etc.), 2. Confirm session traffic condition (e.g., request traffic condition results from a traffic service), 3. Confirm session form (e.g., video session, audio-video hybrid session, etc.), 4. Confirm session connection form (e.g., channel session, cross-channel session), 5. Confirm session rights (e.g., request rights results from a rights service), 6. Confirm session information (e.g., streaming media information of a client, client identification, etc.). After the server performs ACTION0, the server may invoke the client permission verification module to perform permission verification on each client to perform the task of ACTION1 using the session instruction module. The ACTION1 is a process of generating a target session command for each authenticated client (i.e., target client), and transmitting the target session command to each target client. Then, after sending the target session command to the target clients, the server may call the RTC backend service module to perform the ACTION2 task, so as to pull the session data streams generated by each target client to the target communication channel. For example, the ACTION2 may refer to a process of automatically copying session data flows in communication channels corresponding to respective target clients by the RTC back-end service module and forwarding the session data flows to each other communication channel.
For the target client side, the target client may employ a detection and response module to perform the task of ACTION3 to enable receiving and loading of session data streams from the target communication channel in response to target session instructions. That is, ACTION3 can be understood as the task to be executed in step S304 and step S306 described above. When the target session instruction further includes interface layout information, the target client may also call the session layout module to execute the task of ACTION4, where ACTION4 refers to a task of acquiring rendering data of the session interface, so that the target client may call the RTC client session display module to execute the task of ACTION 5. The ACTION5 is a task of performing picture rendering according to rendering data, so as to display a session picture in the target session process. Optionally, after the target session is established and session connection is established between the target clients, and each target client displays a corresponding session screen, the server may further continue to call the RTC backend service module to perform the task of ACTION 6. Illustratively, the ACTION6 refers to mixed-flow synthesis of session data streams generated by each target client, and then the synthesized data streams are respectively pushed to the CDN (Content Delivery Network ) in a bypass manner, so that the synthesized data streams are delivered to viewers related to the target clients by using the CDN, and thus other clients can join the target session with the viewers' identities.
In the session establishment method provided by the embodiment of the application, for the target session which is appointed in advance and needs to be established in the reserved establishment time, the server can automatically send the target session instruction to each target client which needs to participate in the target session in the reserved establishment time, and each target client can automatically load the corresponding session data stream from the target communication channel corresponding to the target session after receiving the target session instruction so as to realize interaction between session objects corresponding to other target clients in the target session. That is, the establishment of the target session and the loading and playing of the corresponding session data stream do not need the use object (also referred to as session object) of the target client to execute the corresponding operation, so that the embodiment of the application can realize the establishment of the target session through the silent interaction between the server and the target client. Wherein, silent interaction refers to a technique of completing data communication between a plurality of devices without displaying any visible interface. In the embodiment of the application, the silence interaction is performed between the server and the target client, which means that the session object of the target client does not need to select the corresponding trigger component in the display page of the target client, so that the target client does not need to generate and send a session establishment request to the server after detecting the selection of the corresponding trigger component. The session object does not need to select the corresponding triggering component, so that the session object can participate in the target session appointed in advance under the condition of unfamiliar with the target client, the difficulty of establishing the session is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the server automatically generates the target session instruction instead of generating the target session instruction after receiving the session establishment request of the target client, so that the process of triggering the server to generate the target session instruction is simplified, the overall time of session establishment is saved, and the efficiency of session establishment is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
Based on the above description of the session establishment method, the present application also provides a session establishment apparatus, which may be a computer program (including program code) running in the above mentioned server. The session establishment means may perform all the steps of the session establishment method as shown in fig. 2 and some of the steps of the session establishment method as shown in fig. 3. Referring to fig. 7, the session establishment apparatus may include at least a determination unit 701, an instruction generation unit 702, a transmission unit 703, and an acquisition unit 704.
Wherein:
A determining unit 701, configured to determine a reservation setup time of a target session, and determine client identifiers of a plurality of target clients participating in the target session, and a target communication channel used for setting up the target session;
An instruction generating unit 702, configured to generate, when the reservation setup time arrives, a target session instruction according to each target client identifier and the target communication channel, where the target session instruction is used to trigger establishment of session connection between the multiple target clients;
A sending unit 703, configured to send the target session instruction to the plurality of target clients, and determine that the target session is established successfully when any target client responds to the target session instruction;
And an obtaining unit 704, configured to obtain a session data stream generated by each target client after responding to the target session instruction, and add the obtained session data stream to the target communication channel, so that each target client loads the session data stream from the target communication channel based on the target session instruction, and plays the loaded session data stream.
In one embodiment, the determining unit 701 may be specifically configured to perform:
determining a session connection mode among the plurality of target clients;
When the session connection mode is cross-channel connection, determining the communication channel currently adopted by each target client as a target communication channel, wherein the cross-channel connection means that session connection among the target clients is realized by loading session data streams in a plurality of different communication channels;
the acquiring unit 704 may specifically perform, when adding the acquired session data stream to the target communication channel:
Determining session data streams generated by other target clients except any target client in the plurality of target clients from the acquired session data streams aiming at any target client in the plurality of target clients;
And adding the determined session data stream to the communication channel currently adopted by any target client so that the any target client loads the session data stream from the corresponding adopted communication channel based on the target session instruction.
In yet another embodiment, the determining unit 701 may be specifically configured to perform:
determining a session connection mode among the plurality of target clients;
When the session connection mode is co-channel connection, detecting the data transmission quality of a communication channel currently adopted by each target client in the plurality of target clients respectively, wherein the co-channel connection means that the session connection among the target clients is realized by loading session data streams in the same communication channel;
And taking the communication channel with the quality detection result meeting the communication quality requirement as the target communication channel.
In yet another embodiment, the determining unit 701 may be specifically configured to perform:
Acquiring client identifiers of a plurality of candidate clients from reservation establishment information of the target session, wherein the candidate clients are clients with receiving authority of the target session instruction;
respectively acquiring reference information associated with client identifiers of each candidate client;
And carrying out authority verification on the corresponding candidate client according to the reference information associated with each candidate client, and taking the client identification of the candidate client with the authority verification passed as the client identification of the target client.
In the embodiment of the application, when the session establishment device establishes the target session and loads and plays the corresponding session data stream, the use object (also called a session object) of the target client is not required to execute the corresponding operation, so that the embodiment of the application can realize the establishment of the target session through the silence interaction between the session establishment device and the target client. The silence interaction means that the session object of the target client does not need to select the corresponding trigger component in the display page of the target client, so that the target client does not need to generate and send a session establishment request to the session establishment device after detecting the selection of the corresponding trigger component, the session object can participate in the target session appointed in advance under the condition of unfamiliar with the target client, the difficulty of session establishment is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the session establishment device automatically generates the target session instruction, so that the process of triggering the session establishment device to generate the target session instruction is simplified, the whole time of session establishment is saved, and the efficiency of session establishment is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
Based on the above description of the session establishment method, the present application also provides a session establishment apparatus, which may be a computer program (including program code) running in the above-mentioned target client, and the target client may run in a computer device. The session establishment means may perform part of the steps of the session establishment method as shown in fig. 3. Referring to fig. 8, the session establishment apparatus may include at least a receiving unit 801 and a responding unit 802. Wherein:
A receiving unit 801, configured to receive a target session instruction sent by a server, where the target session instruction is generated by the server according to a client identifier of each target client in a plurality of target clients participating in the target session and a determined target communication channel used for establishing the target session when reaching a reservation establishment time of the target session, and the target session instruction is used to trigger establishment of session connection with the plurality of target clients;
And a response unit 802, configured to load a session data stream from the target communication channel in response to the target session instruction, and play the loaded session data stream, where the session data stream in the target communication channel is obtained by the server by acquiring session data streams generated by each target client, and adding the acquired session data stream to the target communication channel.
In one embodiment, the response unit 802 may be specifically configured to perform:
responding to the operation of establishing the instant session, and establishing session connection with the instant session client;
if the session connection is established, generating alarm information, wherein the alarm information comprises client identifiers of all instant session clients participating in the instant session;
Sending the alarm information to the server, so that the server generates an instant session instruction after determining a communication channel adopted for establishing the instant session, wherein the instant session instruction is used for triggering and establishing session connection among all instant session clients;
Receiving an instant session instruction sent by the server, responding to the instant session instruction, loading a session data stream from a communication channel determined for the instant session, and playing the loaded session data stream;
The session data stream in the communication channel determined for the instant session is obtained by the server by acquiring session data streams generated by one or more instant session clients among the plurality of instant session clients and adding the acquired session data streams to the corresponding determined communication channel.
In yet another embodiment, the response unit 802 may be further configured to perform:
Carrying out validity check on the loaded session data stream to obtain a validity check result;
And playing the loaded session data stream when the validity check result indicates that the validity check of the corresponding session data stream is passed.
In the embodiment of the application, when the session establishment device establishes the target session and loads and plays the corresponding session data stream, the object (also called a session object) is not used for executing the corresponding operation, so that the embodiment of the application can realize the establishment of the target session through the silence interaction between the session establishment device and the server. The silence interaction means that the session object corresponding to the session establishment device does not need to select the corresponding trigger component in the display page of the session establishment device, so that the session establishment device does not need to generate and send a session establishment request to the server after detecting the selection of the corresponding trigger component, the session object can participate in the target session appointed in advance under the condition of unfamiliar session establishment operation, the difficulty of session establishment is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the server automatically generates the target session instruction, so that the process of generating the target session instruction by the server is simplified, the whole time for establishing the session is saved, and the efficiency of establishing the session is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
It should be noted that, according to an embodiment of the present application, each unit in the session establishment apparatus shown in fig. 7 and fig. 8 is divided based on a logic function, and each unit may be formed by combining one or several other units separately or all of the units, or some (some) of the units may be formed by splitting a plurality of units with smaller functions, which may achieve the same operation without affecting the implementation of the technical effects of the embodiments of the present application. In other embodiments of the present application, the session-based device may also include other units, and in practical applications, these functions may also be implemented with assistance from other units, and may be implemented by cooperation of multiple units.
According to another embodiment of the present application, a session establishment apparatus as shown in fig. 7 or fig. 8 may be constructed by running a computer program (including program code) capable of executing the steps involved in the method as shown in fig. 2 or fig. 3 on a general-purpose computing device such as a computer including a processing element such as a Central Processing Unit (CPU), a random access storage medium (RAM), a read only storage medium (ROM), and the like, and a storage element, and a session establishment method of the embodiment of the present application is implemented. The computer program may be recorded on, for example, a computer storage medium, and loaded into and run in the above-described computing device through the computer storage medium.
Based on the above description of the method embodiment and the apparatus embodiment, the embodiment of the present application further provides a server, please refer to fig. 9. The server includes at least a processor 901 and a computer storage medium 902, and the processor 901 and the computer storage medium 902 of the server may be connected by a bus or other means.
Among them, the above-mentioned computer storage medium 902 is a memory device in a server for storing computer programs and data. It is to be appreciated that the computer storage media 902 herein can include both built-in storage media in a server and extended storage media supported by the server. The computer storage media 902 provides storage space that stores the operating system of the server. Also stored in the memory space are one or more computer programs, which may be one or more program codes, adapted to be loaded and executed by the processor 901. The computer storage medium may be a high-speed RAM memory, a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory, or at least one storage medium located remotely from the processor. The processor 901 (or CPU (Central Processing Unit, central processing unit)) is a computing core as well as a control core of a server, which is adapted to implement one or more computer programs, in particular to load and execute one or more computer programs to implement the respective method flows or the respective functions.
In one embodiment, one or more computer programs stored in computer storage medium 902 may be loaded and executed by processor 901 to implement the corresponding steps in the method embodiments described above with respect to fig. 2 and 3. In a specific implementation, one or more computer programs in the computer storage medium 902 can be loaded by the processor 901 and perform the steps of:
determining reservation establishment time of a target session, determining client identifiers of a plurality of target clients participating in the target session, and establishing a target communication channel adopted by the target session;
when the reservation establishing time is reached, generating a target session instruction according to each target client identifier and the target communication channel, wherein the target session instruction is used for triggering and establishing session connection among the plurality of target clients;
The target session instruction is sent to the target clients, and when any target client responds to the target session instruction, the target session is determined to be established successfully;
And acquiring session data streams generated by the target clients after responding to the target session instructions, adding the acquired session data streams into the target communication channel, so that the target clients load the session data streams from the target communication channel based on the target session instructions, and playing the loaded session data streams.
In one embodiment, the processor 901 may be specifically configured to load and execute:
determining a session connection mode among the plurality of target clients;
When the session connection mode is cross-channel connection, determining the communication channel currently adopted by each target client as a target communication channel, wherein the cross-channel connection means that session connection among the target clients is realized by loading session data streams in a plurality of different communication channels;
when the acquired session data stream is added to the target communication channel, then the method can specifically load and execute:
Determining session data streams generated by other target clients except any target client in the plurality of target clients from the acquired session data streams aiming at any target client in the plurality of target clients;
And adding the determined session data stream to the communication channel currently adopted by any target client so that the any target client loads the session data stream from the corresponding adopted communication channel based on the target session instruction.
In yet another embodiment, the processor 901 may be specifically configured to load and execute:
determining a session connection mode among the plurality of target clients;
When the session connection mode is co-channel connection, detecting the data transmission quality of a communication channel currently adopted by each target client in the plurality of target clients respectively, wherein the co-channel connection means that the session connection among the target clients is realized by loading session data streams in the same communication channel;
And taking the communication channel with the quality detection result meeting the communication quality requirement as the target communication channel.
In yet another embodiment, the processor 901 may be specifically configured to load and execute:
Acquiring client identifiers of a plurality of candidate clients from reservation establishment information of the target session, wherein the candidate clients are clients with receiving authority of the target session instruction;
respectively acquiring reference information associated with client identifiers of each candidate client;
And carrying out authority verification on the corresponding candidate client according to the reference information associated with each candidate client, and taking the client identification of the candidate client with the authority verification passed as the client identification of the target client.
Based on the above description of the method embodiment and the apparatus embodiment, the embodiment of the present application further provides a computer device, where the target client is running in the computer device. Please refer to fig. 10. The computer device includes at least a processor 1001 and a computer storage medium 1002, and the processor 1001 and the computer storage medium 1002 of the computer device may be connected by a bus or other means. Among them, the above-mentioned computer storage medium 1002 is a memory device in a computer device for storing computer programs and data. It is understood that the computer storage media 1002 herein may include both built-in storage media in a computer device and extended storage media supported by the computer device. The computer storage media 1002 provides storage space that stores the operating system of the computer device. Also stored in this memory space are one or more computer programs, which may be one or more program codes, adapted to be loaded and executed by the processor 1001. The computer storage medium may be a high-speed RAM memory, a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory, or at least one storage medium located remotely from the processor. The processor 1001, or CPU (Central Processing Unit ), is a computing core as well as a control core of a computer device, which is adapted to implement one or more computer programs, in particular to load and execute one or more computer programs to implement the respective method flows or the respective functions.
In one embodiment, one or more computer programs stored in computer storage medium 1002 may be loaded and executed by processor 1001 to implement the corresponding steps in the method embodiments described above with respect to fig. 2 and 3. In a particular implementation, one or more computer programs in computer storage media 1002 may be loaded by processor 1001 and perform the steps of:
Receiving a target session instruction sent by a server, wherein the target session instruction is generated by the server according to a client identifier of each target client in a plurality of target clients participating in the target session and a determined target communication channel adopted for establishing the target session when reaching the reservation establishment time of the target session, and is used for triggering establishment of session connection with the plurality of target clients;
and responding to the target session instruction, loading the session data stream from the target communication channel, and playing the loaded session data stream, wherein the session data stream in the target communication channel is obtained by the server through obtaining the session data stream generated by each target client and adding the obtained session data stream to the target communication channel.
In one embodiment, the processor 1001 may be specifically configured to load and execute:
responding to the operation of establishing the instant session, and establishing session connection with the instant session client;
if the session connection is established, generating alarm information, wherein the alarm information comprises client identifiers of all instant session clients participating in the instant session;
Sending the alarm information to the server, so that the server generates an instant session instruction after determining a communication channel adopted for establishing the instant session, wherein the instant session instruction is used for triggering and establishing session connection among all instant session clients;
Receiving an instant session instruction sent by the server, responding to the instant session instruction, loading a session data stream from a communication channel determined for the instant session, and playing the loaded session data stream;
The session data stream in the communication channel determined for the instant session is obtained by the server by acquiring session data streams generated by one or more instant session clients among the plurality of instant session clients and adding the acquired session data streams to the corresponding determined communication channel.
In yet another embodiment, the processor 1001 may be specifically configured to load and execute:
Carrying out validity check on the loaded session data stream to obtain a validity check result;
And playing the loaded session data stream when the validity check result indicates that the validity check of the corresponding session data stream is passed.
In the embodiment of the application, the establishment of the target session and the loading and playing of the corresponding session data stream do not need the corresponding operation of the use object (also called session object) of the target client, so that the embodiment of the application can realize the establishment of the target session through the silent interaction between the server and the target client. The silence interaction means that the session object of the target client does not need to select the corresponding trigger component in the display page of the target client, so that the target client does not need to generate and send a session establishment request to the server after detecting the selection of the corresponding trigger component, the session object can participate in the target session appointed in advance under the condition of unfamiliar with the target client, the difficulty of session establishment is greatly reduced, the application field can be enlarged to a certain extent, and the practical value of the corresponding program product is improved. In addition, the server automatically generates the target session instruction, so that the process of triggering the server to generate the target session instruction is simplified, the whole time for establishing the session is saved, and the efficiency of establishing the session is improved. In summary, by adopting the session establishment method provided by the embodiment of the application, the session can be established efficiently.
The application also provides a computer storage medium, in which one or more computer programs corresponding to any of the above-mentioned session establishment methods are stored, and when the processor loads and executes the one or more computer programs, the description of the corresponding session establishment method in the embodiment can be implemented, which is not repeated here. The description of the advantageous effects of the same method is not repeated here. It will be appreciated that a computer program may be deployed to be executed on one or more devices that are capable of communication with one another.
Those skilled in the art will appreciate that implementing all or part of the above-described embodiment methods may be accomplished by way of a computer program, which may be stored in a computer storage medium and which, when executed, may comprise the steps of embodiments of the session establishment method as described above. The computer storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random-access Memory (Random Access Memory, RAM), or the like.
It is to be understood that the foregoing disclosure is only a partial embodiment of the present application, and it is not to be limited thereto, but it is to be understood that all or a partial process for implementing the above embodiment may be modified by one skilled in the art to fall within the scope of the present application as defined by the appended claims.

Claims (13)

1. A session establishment method, wherein the method is applied to a server, and the method comprises:
Determining reservation establishment time of a target session, determining client identifiers of a plurality of target clients participating in the target session, and establishing a target communication channel adopted by the target session, wherein the target communication channel comprises one or more of session connection among the plurality of target clients is co-channel connection when the target communication channel is one, and session connection among the plurality of target clients is cross-channel connection when the target communication channel is a plurality of target clients;
When the reservation establishing time is reached, generating a target session instruction according to the client identifiers of all target clients and the target communication channel, wherein the target session instruction is used for triggering and establishing session connection among the plurality of target clients;
The target session instruction is sent to the target clients, and when any target client responds to the target session instruction, the target session is determined to be established successfully;
and acquiring the session data streams generated by the target clients, adding the acquired session data streams into the target communication channel, so that the target clients load the session data streams from the target communication channel based on the target session instructions, and playing the loaded session data streams.
2. The method of claim 1, wherein determining the manner in which the target communication channel to be employed for establishing the target session comprises:
determining a session connection mode among the plurality of target clients;
When the session connection mode is cross-channel connection, determining the communication channel currently adopted by each target client as a target communication channel, wherein the cross-channel connection means that session connection among the target clients is realized by loading session data streams in a plurality of different communication channels;
the adding the acquired session data stream to the target communication channel includes:
Determining session data streams generated by other target clients except any target client in the plurality of target clients from the acquired session data streams aiming at any target client in the plurality of target clients;
And adding the determined session data stream to the communication channel currently adopted by any target client so that the any target client loads the session data stream from the corresponding adopted communication channel based on the target session instruction.
3. The method of claim 1, wherein determining the manner in which the target communication channel to be employed for establishing the target session comprises:
determining a session connection mode among the plurality of target clients;
When the session connection mode is co-channel connection, detecting the data transmission quality of a communication channel currently adopted by each target client in the plurality of target clients respectively, wherein the co-channel connection means that the session connection among the target clients is realized by loading session data streams in the same communication channel;
And taking the communication channel with the quality detection result meeting the communication quality requirement as the target communication channel.
4. The method of claim 1, wherein the determining the client identifications of the plurality of target clients participating in the target session comprises:
Acquiring client identifiers of a plurality of candidate clients from reservation establishment information of the target session, wherein the candidate clients are clients with receiving authority of the target session instruction;
respectively acquiring reference information associated with client identifiers of each candidate client;
And carrying out authority verification on the corresponding candidate client according to the reference information associated with each candidate client, and taking the client identification of the candidate client with the authority verification passed as the client identification of the target client.
5. A method for session establishment, the method being applied to a target client, the method comprising:
Receiving a target session instruction sent by a server, wherein the target session instruction is generated by the server according to client identifiers of all target clients in a plurality of target clients participating in the target session and a determined target communication channel adopted for establishing the target session when reaching reservation establishment time of the target session, and the target session instruction is used for triggering establishment of session connection with the plurality of target clients;
and responding to the target session instruction, loading the session data stream from the target communication channel, and playing the loaded session data stream, wherein the session data stream in the target communication channel is obtained by the server through obtaining the session data stream generated by each target client and adding the obtained session data stream to the target communication channel.
6. The method of claim 5, wherein the method further comprises:
responding to the operation of establishing the instant session, and establishing session connection with the instant session client;
if the session connection is established, generating alarm information, wherein the alarm information comprises client identifiers of all instant session clients participating in the instant session;
Sending the alarm information to the server, so that the server generates an instant session instruction after determining a communication channel adopted for establishing the instant session, wherein the instant session instruction is used for triggering and establishing session connection among all instant session clients;
Receiving an instant session instruction sent by the server, responding to the instant session instruction, loading a session data stream from a communication channel determined for the instant session, and playing the loaded session data stream;
The session data stream in the communication channel determined for the instant session is obtained by the server by acquiring session data streams generated by one or more instant session clients among the plurality of instant session clients and adding the acquired session data streams to the corresponding determined communication channel.
7. The method of claim 5, wherein playing the loaded session data stream comprises:
Carrying out validity check on the loaded session data stream to obtain a validity check result;
And playing the loaded session data stream when the validity check result indicates that the validity check of the corresponding session data stream is passed.
8. A session establishment apparatus, comprising:
A determining unit, configured to determine a reservation setup time of a target session, and determine client identifiers of a plurality of target clients participating in the target session, and a target communication channel used for setting up the target session, where the target communication channel includes one or more, when the target communication channel is one, session connection between the plurality of target clients is co-channel connection, and when the target communication channel is a plurality of, session connection between the plurality of target clients is cross-channel connection;
The instruction generation unit is used for generating target session instructions according to the target client identifiers and the target communication channels when the reservation establishment time is reached, wherein the target session instructions are used for triggering and establishing session connection among the target clients;
The sending unit is used for sending the target session instruction to the plurality of target clients and determining that the target session is successfully established when any target client responds to the target session instruction;
And the acquisition unit is used for acquiring the session data streams generated by the target clients after responding to the target session instructions, adding the acquired session data streams into the target communication channel, so that the target clients load the session data streams from the target communication channel based on the target session instructions, and playing the loaded session data streams.
9. A session establishment apparatus, comprising:
The system comprises a receiving unit, a receiving unit and a processing unit, wherein the receiving unit is used for receiving a target session instruction sent by a server, the target session instruction is generated by the server according to client identifiers of all target clients in a plurality of target clients participating in the target session and a determined target communication channel adopted for establishing the target session when the reservation establishment time of the target session is reached, and the target session instruction is used for triggering the establishment of session connection with the plurality of target clients;
And the response unit is used for responding to the target session instruction, loading the session data stream from the target communication channel and playing the loaded session data stream, wherein the session data stream in the target communication channel is obtained by the server through obtaining the session data stream generated by each target client and adding the obtained session data stream to the target communication channel.
10. A server for a server, which comprises a server and a server, characterized by comprising the following steps:
A processor for implementing one or more computer programs;
computer storage medium storing one or more computer programs adapted to be loaded by the processor and to implement the session establishment method according to any of claims 1-4.
11. A computer device, comprising:
A processor for implementing one or more computer programs;
Computer storage medium storing one or more computer programs adapted to be loaded by the processor and to implement the session establishment method according to any of the claims 5-7.
12. A computer storage medium, characterized in that the computer storage medium stores one or more computer programs adapted to be loaded by a processor and to implement the session establishment method according to any of the claims 1-7.
13. A computer program product, characterized in that the computer program product is adapted to be loaded by a processor and to implement the session establishment method according to any of the claims 1-7.
CN202310165449.2A 2023-02-24 2023-02-24 Session establishment method, device and server Active CN117749769B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310165449.2A CN117749769B (en) 2023-02-24 2023-02-24 Session establishment method, device and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310165449.2A CN117749769B (en) 2023-02-24 2023-02-24 Session establishment method, device and server

Publications (2)

Publication Number Publication Date
CN117749769A CN117749769A (en) 2024-03-22
CN117749769B true CN117749769B (en) 2025-04-25

Family

ID=90253262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310165449.2A Active CN117749769B (en) 2023-02-24 2023-02-24 Session establishment method, device and server

Country Status (1)

Country Link
CN (1) CN117749769B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328239B1 (en) * 2000-03-01 2008-02-05 Intercall, Inc. Method and apparatus for automatically data streaming a multiparty conference session
CN101183961A (en) * 2006-12-26 2008-05-21 腾讯科技(深圳)有限公司 Method and system for implementing multi-user voice session
CN105262750A (en) * 2015-10-21 2016-01-20 腾讯科技(深圳)有限公司 Method and apparatus for automatically initiating a session

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004211236B2 (en) * 2003-02-10 2009-04-02 Open Invention Network, Llc Methods and apparatus for automatically adding a media component to an established multimedia collaboration session
US10542056B2 (en) * 2015-03-04 2020-01-21 Unify Gmbh & Co. Kg Communication system and method of using the same
CN110808843B (en) * 2019-09-26 2022-08-19 视联动力信息技术股份有限公司 Voice data transmission method, device, electronic equipment and storage medium
CN112751748B (en) * 2020-12-28 2023-04-18 百果园技术(新加坡)有限公司 Session message management method, device, server and readable storage medium
CN114679433B (en) * 2022-05-27 2022-08-30 武汉中科通达高新技术股份有限公司 Video access session management system, method, computer device and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328239B1 (en) * 2000-03-01 2008-02-05 Intercall, Inc. Method and apparatus for automatically data streaming a multiparty conference session
CN101183961A (en) * 2006-12-26 2008-05-21 腾讯科技(深圳)有限公司 Method and system for implementing multi-user voice session
CN105262750A (en) * 2015-10-21 2016-01-20 腾讯科技(深圳)有限公司 Method and apparatus for automatically initiating a session

Also Published As

Publication number Publication date
CN117749769A (en) 2024-03-22

Similar Documents

Publication Publication Date Title
US9686329B2 (en) Method and apparatus for displaying webcast rooms
KR101584085B1 (en) Method and system for managing real-time audio broadcasts among a group of users
US20180352303A1 (en) System and method for multi-user digital interactive experience
US9621958B2 (en) Deferred, on-demand loading of user presence within a real-time collaborative service
CN111491214A (en) Live broadcast interaction method and system based on cloud game, electronic device and storage medium
US11889159B2 (en) System and method for multi-user digital interactive experience
KR102758490B1 (en) Live streaming video-based interaction method and device, and device and storage medium
WO2014183427A1 (en) Method and apparatus for displaying webcast rooms
US12204813B2 (en) Method, server, and storage medium for reducing audio data transmission delay
US9402056B2 (en) Collaboration extension system
CN113741762A (en) Multimedia playing method, device, electronic equipment and storage medium
US20230051868A1 (en) Livestreaming Interaction Method And Apparatus, Electronic Device, And Computer Readable Storage Medium
CN113473169A (en) Group live broadcasting method and device, storage medium and computer equipment
US20220021715A1 (en) Live streaming method and apparatus, device and computer readable storage medium
CN113824983B (en) Data matching method, device, equipment and computer readable storage medium
CN109819341B (en) Video playing method and device, computing equipment and storage medium
CN111773661A (en) System, method and device for team formation game based on live broadcast interface
US20240291877A1 (en) Data processing method and apparatus, electronic device, storage medium, and program product
CN117749769B (en) Session establishment method, device and server
CN113765745A (en) Service performance testing method and device, terminal equipment and storage medium
CN111111182B (en) Game view angle determining method, device and server
CN108668140B (en) Audio and video interaction state synchronization method and device
CN117354553A (en) Interactive data processing method and device
CN112511884B (en) Mixed flow control method, system and storage medium for audio and video flow
CN111130983B (en) Method and device for sending information and generating result information

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