A method, device and server for establishing a session
The server automatically generates target session instructions at the appointment establishment time and realizes silent interaction, which solves the problem of failure caused by unfamiliar object operations in multi-person session establishment, and realizes an efficient and user-friendly session establishment process.
Patent Information
- Application Number
- CN202310165449.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-24
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2043-02-24
AI Technical Summary
In the prior art, when conducting multi-person sessions, each object that must participate in the session must perform corresponding operations, which can easily lead to session establishment failure when the object is not familiar with it, affecting the user experience.
The server automatically generates target session instructions at the appointment establishment time, and realizes session connections between target clients through silent interaction, avoiding the need for session objects to perform operations on the target client.
It realizes efficient conversation establishment, reduces the difficulty of conversation establishment, expands the application field, and enhances the practical value of user experience and program products.
Smart Images

Figure CN117749769B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a session establishment method, device and server. Background Art
[0002] Currently, when a user needs to establish a session (such as a live broadcast room connection), at least one session object usually triggers the session establishment operation through the corresponding client, thereby generating a session request and sending it to the client's backend server, so that the backend server can generate a corresponding session invitation for the session request, and the session invitation will be sent to the clients of other objects that need to participate in the session, so that other objects can perform reception or rejection operations on the client for the session invitation. Furthermore, the client can send the reception or rejection result of the relevant object to the backend server, so that the backend server determines whether to add the session object to the session establishment scope.
[0003] It can be seen that in the prior art, when conducting a multi-person session, each object participating in the session must perform corresponding operations. If any object is not familiar with the operation of joining the session, it is very likely to cause the session establishment to fail, thereby seriously affecting the user experience. Therefore, it is necessary and meaningful to propose an efficient session establishment method. Summary of the invention
[0004] The embodiments of the present application provide a session establishment method, device, server and storage medium, which can realize efficient session establishment.
[0005] On the one hand, an embodiment of the present application provides a session establishment method, including:
[0006] Determining a reservation establishment time for a target session, determining client identifiers of a plurality of target clients participating in the target session, and establishing a target communication channel used for the target session;
[0007] When the appointment establishment time is reached, generating a target session instruction according to each target client identifier and the target communication channel, the target session instruction being used to trigger establishment of a session connection between the plurality of target clients;
[0008] Sending the target session instruction to the multiple target clients, and determining that the target session is successfully established when any target client responds to the target session instruction;
[0009] Acquire the session data stream generated by each target client after responding to the target session instruction, and add the acquired 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.
[0010] On the other hand, the embodiment of the present application proposes another session establishment method, including:
[0011] receiving a target session instruction sent by a server; the target session instruction is generated by the server when the scheduled establishment time of the target session is reached, according to the client identifier of each target client among multiple target clients participating in the target session and the determined target communication channel used to establish the target session, and the target session instruction is used to trigger the establishment of session connections with the multiple target clients;
[0012] In response to the target session instruction, the session data stream is loaded from the target communication channel, and the loaded session data stream is played; wherein the session data stream in the target communication channel is obtained by the server by acquiring the session data stream generated by each target client and adding the acquired session data stream to the target communication channel.
[0013] On the other hand, an embodiment of the present application provides a session establishment device, including:
[0014] A determination unit, configured to determine a reservation establishment time for a target session, determine client identifiers of a plurality of target clients participating in the target session, and establish a target communication channel used for establishing the target session;
[0015] An instruction generating unit, configured to generate a target session instruction according to each target client identifier and the target communication channel when the reservation establishment time is reached, wherein the target session instruction is used to trigger the establishment of a session connection between the plurality of target clients;
[0016] a sending unit, configured to send the target session instruction to the multiple target clients, and determine that the target session is successfully established when any target client responds to the target session instruction;
[0017] An acquisition unit is used to acquire the session data stream generated by each target client after responding to the target session instruction, and add the acquired 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.
[0018] On the other hand, an embodiment of the present application provides another session establishment device, including:
[0019] a receiving unit, configured to receive a target session instruction sent by a server; the target session instruction is generated by the server when the scheduled establishment time of the target session is reached, according to the client identifier of each target client among multiple target clients participating in the target session and the determined target communication channel used to establish the target session, and the target session instruction is used to trigger the establishment of a session connection with the multiple target clients;
[0020] A response unit is used to respond to the target session instruction, load the session data stream from the target communication channel, and play the loaded session data stream; wherein the session data stream in the target communication channel is obtained by the server through acquiring the session data stream generated by each target client and adding the acquired session data stream to the target communication channel.
[0021] On the other hand, an embodiment of the present application provides a server, including:
[0022] A processor configured to execute one or more computer programs;
[0023] A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and implementing the session establishment method according to the first aspect.
[0024] On the other hand, an embodiment of the present application provides a computer device, including:
[0025] A processor configured to execute one or more computer programs;
[0026] A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and implementing the session establishment method according to the second aspect.
[0027] On the other hand, an embodiment of the present application provides a computer storage medium, which stores one or more computer programs, and the one or more computer programs are suitable for being loaded by the processor and implementing the session establishment method of the first aspect or the second aspect.
[0028] 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 target client's user object (also called the session object) to perform the corresponding operation, so that the embodiment of the present application can achieve the establishment of the target session through the silent interaction between the server and the target client. And the silent 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, so that the session object can participate in the pre-agreed target session even if it is unfamiliar with the target client, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. 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 streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided by the embodiment of the present application can achieve efficient session establishment. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0030] Figure 1a It is a structural diagram of a session establishment system provided in an embodiment of the present application;
[0031] Figure 1b It is a schematic diagram of an implementation principle of session establishment provided by an embodiment of the present application;
[0032] Figure 2 is a schematic flow chart of a session establishment method provided in an embodiment of the present application;
[0033] Figure 3 is a schematic flow chart of another session establishment method provided in an embodiment of the present application;
[0034] Figure 4 This is a schematic diagram of the principle of a cross-channel connection provided by an embodiment of the present application;
[0035] Figure 5 is a schematic flow chart of a target client participating in a target session provided by an embodiment of the present application;
[0036] Figure 6 It is a schematic diagram of data flow during a session establishment process provided by an embodiment of the present application;
[0037] Figure 7 It is a structural diagram of a session establishment device provided in an embodiment of the present application;
[0038] Figure 8 It is a structural diagram of another session establishment device provided in an embodiment of the present application;
[0039] Fig. 9 It is a structural diagram of a server provided in an embodiment of the present application;
[0040] Fig.10 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] In order to enable those skilled in the art to better understand the solutions provided by the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be noted that the various specific embodiments described in the embodiments of the present application are only a part of the embodiments of the present application, rather than all of the embodiments. Based on the various embodiments in the present application, all other embodiments obtained by ordinary technicians of the art without making creative work are within the scope of protection of this application.
[0042] The embodiment of the present application proposes a session establishment method, which can be used to efficiently establish a session connection between multiple session objects. Specifically, the method points out that: for a target session that needs to be established at the scheduled establishment time, the server can first determine the target communication channel used to establish the target session, and the client identifiers of multiple target clients participating in the target session, so that when the scheduled establishment time arrives, the server can generate a target session instruction based on the client identifier of each target client and the target communication channel, and then send the target session instruction to each target client to trigger the establishment of a session connection between multiple target clients. Among them, each target client can correspond to a session object, so that the server can achieve session communication between multiple session objects by establishing a session connection between multiple target clients. In addition, each session object can generate a video data stream and / or an audio data stream in the corresponding target client, and any one or a combination of the video data stream and the audio data stream can be called a session data stream, so that the server can obtain the session data stream generated by each of the multiple target clients after sending a target session instruction to each target client, and add the obtained session data stream to the target communication channel, so that each target client can load the session data stream from the target communication channel when responding to the target session instruction based on the channel information of the target communication channel contained in the target session instruction, and play the loaded corresponding session data stream, thereby realizing the session objects corresponding to the multiple target clients to conduct conversational communication in the established target session.
[0043] Based on the above description, it can be seen that 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 target client's user object (also called session object) to perform corresponding operations, so that the embodiment of the present application can achieve the establishment of the target session through silent interaction between the server and the target client. Among them, silent interaction refers to the technology of completing data communication between multiple devices without displaying any visible interface. In the embodiment of the present application, the silent interaction between the server and the target client 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. Then, the session object does not need to select the corresponding trigger component, so that the session object can participate in the pre-agreed target session even if it is not familiar with the target client, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. In addition, the server automatically generates the target session instruction, rather than generating the target session instruction after receiving the session establishment request from the target client, so that the process of triggering the server to generate the target session instruction is streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided by the embodiment of the present application can achieve efficient session establishment.
[0044] In one embodiment, the session establishment method provided in the embodiment of the present application can be applied to the following Figure 1a The session establishment system shown in FIG. Figure 1a As shown, the session establishment system may include a server and multiple target clients, each of which has a communication connection with the server so that data can be exchanged between the target client and the server, thereby achieving session establishment. Among them, the communication connection between the server and the target client can be a unicast long connection. Unicast refers to a point-to-point connection between the target client and the server, and a long connection means that: on a communication link, multiple data packets can be sent continuously, and during the period of maintaining the connection, if no data packet is sent, both parties of the link need to send a link detection packet. In other words, if a long connection is established between the target client and the server, it means that the target client and the server are always linked, regardless of whether data is currently being sent or received on the link.
[0045] Of course, a short connection can also be established between the target client and the server. A short connection refers to a link that is established only when data is transmitted. If no data is transmitted, the link will be disconnected. The embodiment of the present application does not limit the communication connection method between the target client and the server. Among them, the server is used to provide session services for the target client, and the server can specifically provide session services for the target client by executing each step in the session establishment method provided by the present application. Optionally, the server can be, for example, an independent physical server, a server cluster or distributed system composed of multiple physical servers, and a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, and cloud storage, etc., and the embodiment of the present application does not limit this.
[0046] In addition, Figure 1a Among the multiple target clients included in the session establishment system shown, each target client can be run on a terminal device, and one target client can be run on one terminal device, so the multiple target clients can be run using multiple terminal devices. Under normal circumstances, the essence of the terminal device running the client is that the terminal device runs an application for receiving the relevant services provided by the corresponding server, and the client in the embodiment of the present application specifically refers to: an application for receiving the real-time session service provided by the server. In actual applications, logging in or registering in the application with different user identity information will generate different client identifiers (also called user identifiers) for different users, and after logging in to the application with a certain user identity information, a client will be obtained, 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 actually be understood as: multiple users log in to the target application with their own identity information on their respective terminal devices. The target application refers to a program for providing session services for users (or objects), and the server refers to a device that provides session services for the target application to support the session service. In this case, the target client can be specifically understood as: a client obtained after logging in to the target application using the identity information of the user participating in the target session.
[0047] For reference, the structure of the target client can be as follows Figure 1a As shown in the structural diagram marked by 101 in FIG. 1 , the structure of the server can be as follows Figure 1a As shown in the schematic diagram of the structure marked by 102. Figure 1a As shown in the schematic diagram marked by 101, the target client may include an RTC (Real Time Clock) client session display module, a session layout module, and a detection and response module; according to Figure 1aAs can be seen from the schematic diagram marked by 102, the server may include an RTC backend service module, a client permission verification module, and a session instruction module. Of course, both 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 the above-mentioned RTC client session display module, session layout module, and one or more modules in the detection and response module; similarly, the server may also include a module obtained by combining the RTC backend service module, the client permission verification module, and one or more modules in the session instruction module, and the embodiments of the present application do not limit this. In addition, the terminal device running the target client may be, for example, a smart phone, a tablet computer, a desktop computer, and an intelligent robot, and the terminal device may also run other clients or applications other than the target client, such as: video playback applications, image processing applications, map navigation applications, and music playback applications, and the embodiments of the present application do not limit this.
[0048] In one embodiment, a principle for implementing session establishment can be found in Figure 1b As shown. Figure 1b It can be seen that in an embodiment of the present application, each target client corresponds to a communication channel (such as target client A corresponds to channel 001), so that the session data stream generated by the corresponding user in the target client can be transmitted in the corresponding communication channel, and the server can also obtain the session data stream generated by the target client from the corresponding communication channel, so that the server can add the session data stream of each target client in the target communication channel.
[0049] See also Figure 2 , Figure 2 is a schematic flow chart of a session establishment method proposed in an embodiment of the present application. The session establishment method can be executed by the server mentioned above, and as shown in FIG. Figure 2 As shown, the method may include steps S201-S204:
[0050] S201: Determine a reservation establishment time for a target session, determine client identifiers of multiple target clients participating in the target session, and establish a target communication channel used for the target session.
[0051] In one embodiment, a session is a computer term, specifically referring to the process of a client (such as client A) communicating with an interactive system, and the interactive system may include a server and / or one or more clients (such as client B and client C, etc.). Then, in an embodiment of the present application, establishing a session refers to the process of establishing a communication connection between multiple target clients through a server, so that the user objects of the multiple target clients can communicate accordingly. Among them, the target session refers to a session that needs to be established at a certain time that is agreed in advance, and the time for establishing the session is called the appointment establishment time. After the appointment establishment time arrives, multiple target clients can participate in the target session. Optionally, in one implementation, the appointment establishment time can be determined by the server after receiving the appointment establishment request by parsing the appointment establishment request, and the appointment establishment request can be sent by any target client that has established a communication connection with the server. In this case, the appointment establishment request at least needs to contain or carry relevant indication information of the appointment establishment time, as well as indication information of multiple target clients participating in the target session. In another implementation, the reservation establishment request may be sent by a management device of the server, and the management device may be input with data by the device management object, so that the reservation establishment time may be input by the device management object in the management device and then transmitted to the server by the management device. Optionally, the management device may display a corresponding visual interface so that the management object may input corresponding information in the visual interface.
[0052] In one embodiment, the target communication channel refers to: after the target session is established, the communication channel used to transmit the session data stream generated by each target client during the target session. 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 multiple target clients is called a cross-channel connection, and correspondingly, when the target communication channel is multiple, the session connection between multiple target clients becomes a same-channel connection. Among them, optionally, when the target communication channel is one, the server can first determine the communication channel corresponding to each target client among the multiple target clients, and then select the target communication channel from the communication channels corresponding to the multiple target clients. Optionally, the server can also select a communication channel as the target communication channel from the unoccupied communication channels, and the embodiment of the present application does not limit the specific method for the server to determine the target communication channel.
[0053] S202: When the reservation establishment time arrives, a target session instruction is generated according to each target client identifier and a target communication channel, and the target session instruction is used to trigger the establishment of a session connection between multiple target clients.
[0054] In one embodiment, the instruction for triggering the establishment of a session connection between multiple target clients is called a target session instruction, and the target session instruction is generated by the server when the scheduled establishment time is reached. In actual applications, the target session instruction may include information required for the target client to join the target session, such as channel information of the target communication channel (such as a channel identifier), client identifiers of each target client participating in the target session, and one or more of the rendering information of the session interface, wherein the session interface refers to an interface for displaying corresponding images (such as character images, client identifiers, etc.) during the process of multiple target clients conducting a session communication.
[0055] S203: Send the target session instruction to multiple target clients, and when any target client responds to the target session instruction, determine that the target session is successfully established.
[0056] In one embodiment, the server may determine that the target session is successfully established after detecting that any target client responds to the target session instruction, and the way in which the server determines that the target client responds to the target session instruction may include but is not limited to one or more of the following: detecting that the target client parses the target session instruction, detecting that the target client loads the session data stream in the target communication channel, and receiving feedback information indicating that the target session instruction is successfully received. It is worth mentioning that when the server determines whether the target client responds to the target session instruction, it is also achieved by silently interacting with the target client, without the need for the session object to perform any operation on the target client.
[0057] S204: Acquire the session data stream generated by each target client, and add the acquired 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.
[0058] In one embodiment, the server can obtain the session data stream generated by the target client after responding to the target session instruction, or trigger the acquisition of 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 obtained 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 faster speed. Among them, for the session data stream generated by any target client, the server can add it to the target communication channel in any of the following two ways. (1) Copy the session data stream and paste the session data stream in the target communication channel. (2) Forward the session data stream to the target communication channel. In addition, since the target client that does not respond to the target session instruction will not load the session data stream in the target communication channel, the embodiment of the present application can better ensure the privacy security of each target client under the premise of quickly realizing conversation communication.
[0059] In the session establishment method proposed in the embodiment of the present application, for the target session that is pre-agreed to be established at the scheduled establishment time, the server can automatically send a target session instruction to each target client that needs to participate in the target session at the scheduled 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 the interaction between the session objects corresponding to other target clients in the target session. In other words, the establishment of the target session and the loading and playing of the corresponding session data stream do not require the target client's user object (also called the session object) to perform the corresponding operation, so that the embodiment of the present application can realize the establishment of the target session through the silent interaction between the server and the target client. Among them, silent interaction refers to the technology of completing data communication between multiple devices without displaying any visible interface. In the embodiment of the present application, the silent interaction between the server and the target client 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. Then, the session object does not need to select the corresponding trigger component, so that the session object can participate in the pre-agreed target session even if it is not familiar with the target client, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. In addition, the server automatically generates the target session instruction, rather than generating the target session instruction after receiving the session establishment request from the target client, so that the process of triggering the server to generate the target session instruction is streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided in the embodiment of the present application can achieve efficient session establishment.
[0060] See also Figure 3 , Figure 3 is a schematic flow chart of another session establishment method proposed in an embodiment of the present application. The session establishment method can be collaboratively executed by the above-mentioned server and the target client in the terminal device, and as shown in FIG. Figure 3 As shown, the method may include steps S301-S306:
[0061] S301. The server determines a reservation establishment time for a target session, and determines client identifiers of multiple target clients participating in the target session, and a target communication channel used to establish the target session.
[0062] In one embodiment, the server may determine the target communication channel used to establish the target session after determining the session connection mode between multiple target clients. Specifically, when determining that the session connection mode between the multiple target clients is a cross-channel connection, the server may determine the communication channel currently used by each target client as the target communication channel, and the currently used communication channel may be the communication channel used by the corresponding target client mentioned above by default. Based on the foregoing, it can be known that the cross-channel connection means: the session connection between each target client is achieved by loading the session data streams in multiple different communication channels. In this case, the server may determine the session data streams generated by other target clients among the multiple target clients except the any target client from the acquired session data streams for any target client among the multiple target clients, and add the determined session data streams to the communication channel currently used by the any target client, so that the any target client can load the session data stream from the corresponding communication channel used in the process of responding to the target session instruction. It is not difficult to understand that in an embodiment of the present application, for each target client in the target client, the server can adopt the method described above for any target client to add the acquired session data stream to the corresponding communication channel to achieve the acquired session data stream being added to the target communication channel when multiple target clients adopt cross-channel connection to achieve session connection.
[0063] In another embodiment, when determining that the session connection mode between the multiple target clients is a co-channel connection, the server can detect the data transmission quality of the communication channel currently used by each of the multiple target clients, and then use the communication channel whose quality detection result meets the communication quality requirements as the target communication channel. Wherein, based on the foregoing, it can be known that the co-channel connection means: realizing the session connection between each target client by loading the session data stream in the same communication channel. Optionally, in one implementation method, the server can also randomly select a communication channel as the target communication channel from the communication channels currently used by each of the multiple target clients, or the server selects a communication channel whose channel identifier is a preset identifier from the communication channels currently used by each of the target clients, and the preset identifier can be specified by the relevant business personnel in the server. The embodiment of the present application does not limit the method of determining the target communication channel.
[0064] In one embodiment, when determining the client identifiers of multiple target clients participating in a target session, the server can first obtain the reservation establishment information of the target session, and the reservation establishment information can be sent by the relevant business personnel using a computer device that has a communication connection with the server, or the server can obtain the reservation establishment request by parsing the reservation establishment request after detecting the corresponding reservation establishment request, and the reservation establishment request needs to satisfy: after the server parses the reservation establishment request, at least the client identifiers of multiple candidate clients can be obtained. Among them, the candidate client refers to a client that has the right to receive the target session instruction, and one candidate client corresponds to a candidate object, and the candidate object in this application can be understood as an object that is intended to participate in the target session. In other words, the candidate client refers to: a client obtained after logging into the target application using the identity information of the candidate object.
[0065] In addition, it should be noted that the computer device that has a communication connection with the server may include a terminal device that runs the target client. After the server obtains the client identifiers of multiple candidate clients, the reference information associated with the client identifier of each candidate client can be obtained respectively, so as to perform permission verification on the corresponding candidate client according to the reference information associated with each candidate client, and then use the client identifier of the candidate client that passes the permission verification as the client identifier of the target client. In other words, the candidate client that passes the permission verification will be used as the target client.
[0066] Among them, the reference information may include the state information of the candidate object (such as: whether it is in the session state), the role information of the candidate object in the target session (such as host, audience, manager, etc.), and one or more of other historical behavior information (such as historical speech information, historical purchase information, historical evaluation information, etc.). However, it should be noted that when obtaining the relevant information of the candidate object, it is necessary to obtain the permission of the relevant object in advance and obtain the information within the scope of compliance with laws and regulations. In addition, exemplarily, when the server performs permission verification on the candidate client based on the reference information, the verification conditions corresponding to each reference information can be obtained respectively, so as to determine that the permission verification of the candidate client passes when the reference information of the target number of items meets the corresponding verification conditions. Among them, the target number can be a pre-set fixed value, or it can be determined according to the number of reference information items, such as the target number can increase as the number of reference information items increases, and decrease as the number of reference information items decreases, and even the target number can be the number of reference information items obtained by the server, and the embodiment of the present application does not limit the method of determining the target number.
[0067] In addition, the verification condition of each reference information may include preset information, or may include a quality score threshold of a candidate object, or may include other conditions that can be used to measure the legitimacy of the reference information. When the verification condition is preset information, the reference information may be determined to meet the verification condition when the similarity or matching degree between the preset information and the corresponding reference information is greater than or equal to a certain threshold; when the verification condition includes a quality score threshold, the server may first determine the quality score of the candidate object, and then determine that the reference information meets the corresponding verification condition when the determined quality score is greater than or equal to the quality score threshold.
[0068] S302: When the reservation establishment time arrives, the server generates a target session instruction according to the client identifier of each target client and the target communication channel, where the target session instruction is used to trigger the establishment of a session connection between multiple target clients.
[0069] In one embodiment, the specific implementation of step S302 can refer to the above Figure 2 In the description of the embodiment related to step S202, this application will not go into details here.
[0070] S303: The server sends the target session instruction to multiple target clients, and determines that the target session is successfully established when any target client responds to the target session instruction.
[0071] In one embodiment, the specific implementation of step S303 can refer to the above Figure 2 In the description of the embodiment related to step S203, this application will not go into details here.
[0072] S304: The target client receives the target session instruction sent by the server.
[0073] In one embodiment, after receiving the target session instruction, each target client can parse the target session instruction to obtain the information required to participate in the target session, such as the communication channel used when loading the session data stream, that is, determining the target communication channel, so that each target client can trigger the establishment of a session connection with multiple target clients. For any target client, the multiple target clients that need to be connected refer to all target clients participating in the target session, or refer to one or more target clients other than the target client among all target clients participating in the target session.
[0074] In one embodiment, the session object may also use a target client to trigger the establishment of an instant session. The client participating in the instant session is called an instant session client. Then, the number of instant session clients is at least two, and the at least two instant session clients may include the target client. Wherein, the instant session refers to a session triggered and established in the target client by the session object. Unlike the target session, the instant session is not a session in which the server automatically generates a target session instruction at the scheduled establishment time to implement the session establishment. Then, the target client may establish a session connection with each instant session client in response to the operation of establishing the instant session. When the establishment of the session connection fails, an alarm message is generated, and the alarm message includes the client identifier of each instant session client participating in the instant session. By sending the alarm message to the server, the server can generate an instant session instruction after determining the communication channel used to establish the instant session. It is not difficult to understand that the instant session instruction refers to an instruction for triggering the establishment of a session connection between each instant session client. The target client can receive the instant conversation instruction sent by the server, so that the target client can respond to the instant conversation instruction, load the conversation data stream from the communication channel determined for the instant conversation, and play the loaded conversation data stream, thereby realizing the conversation communication between the target client and each instant client.
[0075] S305: The server obtains the session data stream generated by each target client after responding to the target session instruction, and adds the obtained session data stream to the target communication channel.
[0076] In one embodiment, based on the foregoing, it can be known that the session connection mode between multiple target clients can be a cross-channel connection or a same-channel connection. When the session connection mode is a cross-channel connection, each target client can correspond to a target communication channel, and the target communication channel corresponding to each target client can be the communication channel adopted by the target client by default. Then, when the server adds the acquired session data stream to the target communication channel, for each target client, the server can add the session data streams generated by other target clients among the multiple target clients except the target client to the target communication channel of the target client.
[0077] For example, the server can achieve cross-channel connection in the following manner: Figure 4 As shown. Figure 4In the example, it is assumed that target client A and target client D are clients that need to participate in the target session, and the default communication channel used by target client A is channel 001, and the default communication channel used by target client D is channel 004. Then, the server can forward the session data stream generated by target client A in channel 001 to channel 004 corresponding to target client D, and forward the session data stream forwarded by target client D in channel 004 to channel 001 corresponding to target client A, so that the session object of target client A and the session object of target client D can receive the session data generated by each other, thereby realizing session communication.
[0078] In one embodiment, correspondingly, when the session connection mode is the same channel connection, multiple target clients correspond to the same target communication channel, and the target communication channel can be one of the default communication channels corresponding to the multiple target clients, or can be other communication channels except the default communication channels of each target client. Then, when the server adds the acquired session data stream to the target communication channel, it can first determine which target clients are included in the target communication channel to generate the session data streams, 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 can also obtain the session data streams generated by one or more instant conversation clients among the at least two instant conversation clients, and add the acquired session data streams to the corresponding determined communication channel. For example, assuming that the multiple target clients are target client a, target client b, target client c and target client d, and the target communication channel is the default communication channel used by target client a (called channel 1), then there is a session data stream generated by target client a in channel 1. At this time, the server only needs to obtain the session data stream generated by target client b, target client c and target client d, and add the obtained session data to channel 1.
[0079] 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.
[0080] In one embodiment, when the target client plays the loaded session data stream, the loaded session data stream can be firstly checked for legitimacy to obtain a legitimacy check result, and then after the legitimacy check result indicates that the legitimacy check of the corresponding session data stream has passed, the loaded session data stream is played, which can effectively control the quality of the session data stream, thereby creating a good conversation communication atmosphere and further improving the user experience of the corresponding object.
[0081] In one embodiment, for the above Figure 2 as well as Figure 3 In the session establishment method shown, the session instructions (including target session instructions and instant session instructions) generated by the server may also include interface layout information. Specifically, the server may first determine the session type of each client participating in the corresponding session, and the session type may be one of an audio session, a video session, and an audio-video mixed session, and then obtain the layout data associated with the session type of each client, and the layout data includes but is not limited to the components that need to be rendered, the rendering information of the components (such as component size, component color, component display method, etc.), the session information that needs to be loaded (such as the real-time picture or default picture of the session object, etc.), the object information that needs to be loaded (such as object identification, object virtual image, etc.) One or more of the above. In this case, the schematic process of each target client participating in the target session can be as follows: Figure 5 Based on Figure 5 It can be seen that before the server establishes a session connection between each client, the communication channels corresponding to each client do not interfere with each other, and the screens displayed by each client are also unrelated to each other. After the target client A establishes a session connection with the target client D, the target client D will display the relevant session screen of the target client A, and the target client A can also display the relevant session screen of the target client D.
[0082] In order to clearly understand the application process of the embodiment of the present application, the following is a specific example of the session establishment process. Figure 2 as well as Figure 3 This example is for a multi-person call-in scenario, and the multi-person call-in task is pre-agreed and needs to be performed at the target time. For ease of understanding, please refer to Figure 6 , Figure 6 It is a schematic diagram of data flow during a session establishment process provided in an embodiment of the present application.
[0083] based on Figure 6It can be seen that the business management object can call the RTC backend scheduling session control module to input the reservation information of multi-person microphone connection into the server, so that the RTC backend service module can execute the task ACTION0. Among them, the essence of the ACTION0 task is to determine the information required to generate the target session instruction, which can be understood as the above-mentioned step S201 or step S301. Then, exemplarily, ACTION0 can include but is not limited to one or more of the following 6 subtasks: 1. Confirm the session role (such as initiator, audience, administrator, etc.); 2. Confirm the session business conditions (such as requesting business condition results from the business service); 3. Confirm the session form (such as video session, audio session, audio and video mixed session, etc.); 4. Confirm the session connection form (such as same channel session, cross-channel session); 5. Confirm the session authority (such as requesting the authority result from the authority service); 6. Confirm the session information (such as the client's streaming media information, client identification, etc.). After the server executes ACTION0, the server can call the client authority verification module to verify the authority of each client, so as to use the session instruction module to execute the task ACTION1. Among them, ACTION1 refers to the process of generating a target session instruction for each verified client (i.e., target client) and sending the target session instruction to each target client. Then, after sending the target session instruction to the target client, the server can call the RTC backend service module to perform the ACTION2 task to pull the session data stream generated by each target client to the target communication channel. Among them, exemplarily, ACTION2 can refer to the process of the RTC backend service module automatically copying the session data stream in the communication channel corresponding to each target client and forwarding it to each other's communication channel.
[0084] For the target client side, the target client can use the detection and response module to perform the ACTION3 task to receive and respond to the target session instruction and load the session data stream from the target communication channel. In other words, ACTION3 can be understood as the task that needs to be performed in the above steps S304 and S306. When the target session instruction also includes interface layout information, the target client can also call the session layout module to perform the ACTION4 task, and ACTION4 refers to the task of obtaining the rendering data of the session interface, so that the target client can call the RTC client session display module to perform the ACTION5 task. Among them, ACTION5 refers to the task of rendering the screen according to the rendering data, thereby displaying the session screen during the target session. Optionally, after the target session is established and the session connection is established between each target client, and each target client displays the corresponding session screen, the server can continue to call the RTC backend service module to perform the ACTION6 task. Exemplarily, ACTION6 refers to mixing and synthesizing the session data streams generated by each target client, and then pushing the synthesized data streams to the CDN (Content Delivery Network) separately, so as to distribute them to the audience related to the target client using CDN, so that other clients can join the target session as viewers.
[0085] In the session establishment method proposed in the embodiment of the present application, for the target session that is pre-agreed to be established at the scheduled establishment time, the server can automatically send a target session instruction to each target client that needs to participate in the target session at the scheduled 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 the interaction between the session objects corresponding to other target clients in the target session. In other words, the establishment of the target session and the loading and playing of the corresponding session data stream do not require the target client's user object (also called the session object) to perform the corresponding operation, so that the embodiment of the present application can realize the establishment of the target session through the silent interaction between the server and the target client. Among them, silent interaction refers to the technology of completing data communication between multiple devices without displaying any visible interface. In the embodiment of the present application, the silent interaction between the server and the target client 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. Then, the session object does not need to select the corresponding trigger component, so that the session object can participate in the pre-agreed target session even if it is not familiar with the target client, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. In addition, the server automatically generates the target session instruction, rather than generating the target session instruction after receiving the session establishment request from the target client, so that the process of triggering the server to generate the target session instruction is streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided in the embodiment of the present application can achieve efficient session establishment.
[0086] Based on the relevant description of the above session establishment method, the present application also provides a session establishment device, which can be a computer program (including program code) running on the above-mentioned server. The session establishment device can execute as follows Figure 2 All the steps in the session establishment method shown, and Figure 3 Some of the steps in the session establishment method shown in . Figure 7 The session establishing device may at least include: a determining unit 701, an instruction generating unit 702, a sending unit 703 and an acquiring unit 704.
[0087] in:
[0088] The determination unit 701 is used to determine the reservation establishment time of the target session, determine the client identifiers of multiple target clients participating in the target session, and establish the target communication channel used for the target session;
[0089] The instruction generating unit 702 is used to generate a target session instruction according to each target client identifier and the target communication channel when the reservation establishment time is reached, and the target session instruction is used to trigger the establishment of a session connection between the multiple target clients;
[0090] The sending unit 703 is used to send the target session instruction to the multiple target clients, and determine that the target session is successfully established when any target client responds to the target session instruction;
[0091] The acquisition unit 704 is used to acquire the session data stream generated by each target client after responding to the target session instruction, and add the acquired 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.
[0092] In one implementation, the determining unit 701 may be specifically configured to execute:
[0093] Determining a session connection mode between the multiple target clients;
[0094] When the session connection mode is a cross-channel connection, the communication channel currently used by each target client is determined as the target communication channel; wherein the cross-channel connection means: realizing the session connection between each target client by loading the session data streams in multiple different communication channels;
[0095] When adding the acquired session data flow to the target communication channel, the acquiring unit 704 may specifically perform:
[0096] For any target client among the multiple target clients, determine, from the acquired session data stream, session data streams generated by other target clients among the multiple target clients except the any target client;
[0097] The determined session data stream is added to the communication channel currently used by any target client, so that any target client loads the session data stream from the corresponding communication channel based on the target session instruction.
[0098] In yet another implementation, the determining unit 701 may be specifically configured to execute:
[0099] Determining a session connection mode between the multiple target clients;
[0100] When the session connection mode is a same-channel connection, the data transmission quality of the communication channel currently used by each target client among the multiple target clients is detected respectively; wherein the same-channel connection means: realizing the session connection between each target client by loading the session data stream in the same communication channel;
[0101] The communication channel whose quality detection result meets the communication quality requirement is used as the target communication channel.
[0102] In yet another implementation, the determining unit 701 may be specifically configured to execute:
[0103] Acquire client identifiers of multiple candidate clients from the reservation establishment information of the target session; wherein the candidate clients are clients having the permission to receive the target session instruction;
[0104] Respectively obtain reference information associated with the client identifier of each candidate client;
[0105] According to the reference information associated with each candidate client, the corresponding candidate client is subjected to permission verification, and the client identifier of the candidate client that passes the permission verification is used as the client identifier of the target client.
[0106] In the embodiment of the present application, when the session establishment device is establishing the target session and loading and playing the corresponding session data stream, the target client's user object (also called the session object) does not need to perform the corresponding operation, so that the embodiment of the present application can achieve the establishment of the target session through the silent interaction between the session establishment device and the target client. And the silent 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, so that the session object can participate in the pre-agreed target session even if it is unfamiliar with the target client, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. 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 streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided by the embodiment of the present application can achieve efficient session establishment.
[0107] Based on the relevant description of the above session establishment method, the present application also provides a session establishment device, which can be a computer program (including program code) running in the above target client, and the target client can run in a computer device. The session establishment device can execute as follows Figure 3 Some of the steps in the session establishment method shown in . Figure 8 , the session establishment device may at least include: a receiving unit 801 and a responding unit 802. Wherein:
[0108] The receiving unit 801 is used to receive a target session instruction sent by a server; the target session instruction is generated by the server when the scheduled establishment time of the target session is reached, according to the client identifier of each target client among multiple target clients participating in the target session and the determined target communication channel used to establish the target session, and the target session instruction is used to trigger the establishment of a session connection with the multiple target clients;
[0109] The response unit 802 is used to respond to the target session instruction, load the session data stream from the target communication channel, and play the loaded session data stream; wherein the session data stream in the target communication channel is obtained by the server through acquiring the session data stream generated by each target client and adding the acquired session data stream to the target communication channel.
[0110] In one implementation, the response unit 802 may be specifically configured to execute:
[0111] In response to the operation of establishing the instant session, establishing a session connection with the instant session client;
[0112] If the establishment of the session connection fails, an alarm message is generated, wherein the alarm message includes the client identifiers of each instant session client participating in the instant session;
[0113] Sending the alarm information to the server, so that the server generates an instant session instruction after determining the communication channel used to establish the instant session, wherein the instant session instruction is used to trigger the establishment of a session connection between the instant session clients;
[0114] receiving an instant conversation instruction sent by the server, and responding to the instant conversation instruction, loading a conversation data stream from a communication channel determined for the instant conversation, and playing the loaded conversation data stream;
[0115] The session data stream in the communication channel determined for the instant conversation is obtained by the server by acquiring the session data stream generated by one or more instant conversation clients among the multiple instant conversation clients and adding the acquired session data stream to the corresponding determined communication channel.
[0116] In yet another implementation, the response unit 802 may also be configured to execute:
[0117] Perform a validity check on the loaded session data stream to obtain a validity check result;
[0118] When the validity check result indicates that the validity check of the corresponding session data stream has passed, the loaded session data stream is played.
[0119] In the embodiment of the present application, the session establishment device does not use an object (also called a session object) to perform corresponding operations when establishing a target session and loading and playing the corresponding session data stream, so that the embodiment of the present application can achieve the establishment of the target session through silent interaction between the session establishment device and the server. And the silent 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, so that the session object can participate in the pre-agreed target session even if it is not familiar with the session establishment operation, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. In addition, the server automatically generates the target session instruction, so that the process of the server generating the target session instruction is streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided by the embodiment of the present application can achieve efficient session establishment.
[0120] It is worth mentioning that according to one embodiment of the present application, Figure 7 as well as Figure 8 Each unit in the session establishment device shown is divided based on logical functions. Each of the above units can be separately or completely combined into one or several other units to form a unit, or one (or some) of the units can be further divided into multiple functionally smaller units to form a unit, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. In other embodiments of the present application, the above session establishment device can also include other units. In actual applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of multiple units.
[0121] According to another embodiment of the present application, the program can be executed by running on a general computing device such as a computer including a central processing unit (CPU), a random access memory medium (RAM), a read-only memory medium (ROM), and other processing elements and storage elements. Figure 2 or Figure 3 A computer program (including program code) for each step involved in the method shown in FIG. Figure 7 or Figure 8 The session establishment device shown in and the session establishment method of the embodiment of the present application are implemented. The computer program can be recorded on, for example, a computer storage medium, and loaded into the above-mentioned computing device through the computer storage medium, and run therein.
[0122] Based on the relevant description of the above method embodiment and the device embodiment, the present application embodiment also provides a server, see Fig. 9 The server at least includes 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 via a bus or other means.
[0123] Among them, the computer storage medium 902 mentioned above is a memory device in the server, which is used to store computer programs and data. It can be understood that the computer storage medium 902 here can include both the built-in storage medium in the server and the extended storage medium supported by the server. The computer storage medium 902 provides a storage space, which stores the operating system of the server. In addition, one or more computer programs suitable for being loaded and executed by the processor 901 are also stored in the storage space, and these computer programs can be one or more program codes. It should be noted that the computer storage medium here can be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory; optionally, it can also be at least one storage medium located away from the aforementioned processor. The processor 901 (or CPU (Central Processing Unit)) is the computing core and control core of the server, which is suitable for implementing one or more computer programs, and is specifically suitable for loading and executing one or more computer programs to realize the corresponding method flow or corresponding function.
[0124] In one embodiment, the processor 901 may load and execute one or more computer programs stored in the computer storage medium 902 to implement the above-mentioned Figure 2 as well as Figure 3In a specific implementation, one or more computer programs in the computer storage medium 902 may be loaded by the processor 901 and execute the following steps:
[0125] Determining a reservation establishment time for a target session, determining client identifiers of a plurality of target clients participating in the target session, and establishing a target communication channel used for the target session;
[0126] When the appointment establishment time is reached, generating a target session instruction according to each target client identifier and the target communication channel, the target session instruction being used to trigger establishment of a session connection between the plurality of target clients;
[0127] Sending the target session instruction to the multiple target clients, and determining that the target session is successfully established when any target client responds to the target session instruction;
[0128] Acquire the session data stream generated by each target client after responding to the target session instruction, and add the acquired 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.
[0129] In one implementation, the processor 901 may be specifically configured to load and execute:
[0130] Determining a session connection mode between the multiple target clients;
[0131] When the session connection mode is a cross-channel connection, the communication channel currently used by each target client is determined as the target communication channel; wherein the cross-channel connection means: realizing the session connection between each target client by loading the session data streams in multiple different communication channels;
[0132] When the acquired session data stream is added to the target communication channel, the following operations may be specifically loaded and executed:
[0133] For any target client among the multiple target clients, determine, from the acquired session data stream, session data streams generated by other target clients among the multiple target clients except the any target client;
[0134] The determined session data stream is added to the communication channel currently used by any target client, so that any target client loads the session data stream from the corresponding communication channel based on the target session instruction.
[0135] In yet another implementation, the processor 901 may be specifically configured to load and execute:
[0136] Determining a session connection mode between the multiple target clients;
[0137] When the session connection mode is a same-channel connection, the data transmission quality of the communication channel currently used by each target client among the multiple target clients is detected respectively; wherein the same-channel connection means: realizing the session connection between each target client by loading the session data stream in the same communication channel;
[0138] The communication channel whose quality detection result meets the communication quality requirement is used as the target communication channel.
[0139] In yet another implementation, the processor 901 may be specifically configured to load and execute:
[0140] Acquire client identifiers of multiple candidate clients from the reservation establishment information of the target session; wherein the candidate clients are clients having the permission to receive the target session instruction;
[0141] Respectively obtain reference information associated with the client identifier of each candidate client;
[0142] According to the reference information associated with each candidate client, the corresponding candidate client is subjected to permission verification, and the client identifier of the candidate client that passes the permission verification is used as the client identifier of the target client.
[0143] Based on the relevant description of the above method embodiment and the device embodiment, the present application embodiment also provides a computer device, in which a target client is running. Fig.10. The computer device at least includes a processor 1001 and a computer storage medium 1002, and the processor 1001 and the computer storage medium 1002 of the computer device can be connected via a bus or other means. Among them, the computer storage medium 1002 mentioned above is a memory device in the computer device, which is used to store computer programs and data. It can be understood that the computer storage medium 1002 here can include both the built-in storage medium in the computer device and the extended storage medium supported by the computer device. The computer storage medium 1002 provides a storage space, which stores the operating system of the computer device. In addition, one or more computer programs suitable for being loaded and executed by the processor 1001 are also stored in the storage space, and these computer programs can be one or more program codes. It should be noted that the computer storage medium here can be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk storage; optionally, it can also be at least one storage medium located away from the aforementioned processor. Processor 1001 (or CPU (Central Processing Unit)) is the computing core and control core of a computer device, which is suitable for implementing one or more computer programs, and is specifically suitable for loading and executing one or more computer programs to implement corresponding method flows or corresponding functions.
[0144] In one embodiment, the processor 1001 may load and execute one or more computer programs stored in the computer storage medium 1002 to implement the above-mentioned Figure 2 as well as Figure 3 In a specific implementation, one or more computer programs in the computer storage medium 1002 can be loaded by the processor 1001 and execute the following steps:
[0145] receiving a target session instruction sent by a server; the target session instruction is generated by the server when the scheduled establishment time of the target session is reached, according to the client identifier of each target client among multiple target clients participating in the target session and the determined target communication channel used to establish the target session, and the target session instruction is used to trigger the establishment of session connections with the multiple target clients;
[0146] In response to the target session instruction, the session data stream is loaded from the target communication channel, and the loaded session data stream is played; wherein the session data stream in the target communication channel is obtained by the server by acquiring the session data stream generated by each target client and adding the acquired session data stream to the target communication channel.
[0147] In one implementation, the processor 1001 may be specifically configured to load and execute:
[0148] In response to the operation of establishing the instant session, establishing a session connection with the instant session client;
[0149] If the establishment of the session connection fails, an alarm message is generated, wherein the alarm message includes the client identifiers of each instant session client participating in the instant session;
[0150] Sending the alarm information to the server, so that the server generates an instant session instruction after determining the communication channel used to establish the instant session, wherein the instant session instruction is used to trigger the establishment of a session connection between the instant session clients;
[0151] receiving an instant conversation instruction sent by the server, and responding to the instant conversation instruction, loading a conversation data stream from a communication channel determined for the instant conversation, and playing the loaded conversation data stream;
[0152] The session data stream in the communication channel determined for the instant conversation is obtained by the server by acquiring the session data stream generated by one or more instant conversation clients among the multiple instant conversation clients and adding the acquired session data stream to the corresponding determined communication channel.
[0153] In yet another implementation, the processor 1001 may be specifically configured to load and execute:
[0154] Perform a validity check on the loaded session data stream to obtain a validity check result;
[0155] When the validity check result indicates that the validity check of the corresponding session data stream has passed, the loaded session data stream is played.
[0156] 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 target client's user object (also called the session object) to perform the corresponding operation, so that the embodiment of the present application can achieve the establishment of the target session through the silent interaction between the server and the target client. And the silent 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, so that the session object can participate in the pre-agreed target session even if it is unfamiliar with the target client, which greatly reduces the difficulty of session establishment, thereby expanding the application field to a certain extent and improving the practical value of the corresponding program product. 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 streamlined, thereby saving the overall time of session establishment and improving the efficiency of session establishment. In summary, it can be seen that the session establishment method provided by the embodiment of the present application can achieve efficient session establishment.
[0157] The present 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. 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 will not be repeated here. The description of the beneficial effects of adopting the same method will not be repeated here. It is understandable that the computer program can be deployed on one or more devices that can communicate with each other for execution.
[0158] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment method can be implemented by instructing related hardware through a computer program, and the computer program can be stored in a computer storage medium. When the computer program is executed, it can include the process of the embodiment of the above-mentioned session establishment method. Among them, the computer storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0159] It is understandable that what is disclosed above is only a partial embodiment of the present application, and it certainly cannot be used to limit the scope of rights of the present application. A person skilled in the art can understand that the entire or partial process of implementing the above-mentioned embodiment and the equivalent changes made according to the claims of the present application still fall within the scope covered by the present application.
Claims
1. A session establishment method, characterized in that: The method is applied in a server, and the method comprises: Determine the reservation establishment time of the target session, determine the client identifiers of multiple target clients participating in the target session, and establish the target communication channel used by the target session; wherein the target communication channel includes one or more, when the target communication channel is one, the session connection between the multiple target clients is a same-channel connection, and when the target communication channel is multiple, the session connection between the multiple target clients is a cross-channel connection; When the appointment establishment time is reached, generating a target session instruction according to the client identifier of each target client and the target communication channel, wherein the target session instruction is used to trigger the establishment of a session connection between the plurality of target clients; Sending the target session instruction to the multiple target clients, and determining that the target session is successfully established when any target client responds to the target session instruction; The session data stream generated by each target client is obtained, and the obtained session data stream is added 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.
2. The method according to claim 1, characterized in that The method of determining the target communication channel used to establish the target session includes: Determining a session connection mode between the multiple target clients; When the session connection mode is a cross-channel connection, the communication channel currently used by each target client is determined as the target communication channel; wherein the cross-channel connection means: realizing the session connection between each target client by loading the session data streams in multiple different communication channels; The step of adding the acquired session data stream to the target communication channel includes: For any target client among the multiple target clients, determine, from the acquired session data stream, session data streams generated by other target clients among the multiple target clients except the any target client; The determined session data stream is added to the communication channel currently used by any target client, so that any target client loads the session data stream from the corresponding communication channel based on the target session instruction.
3. The method according to claim 1, characterized in that The method of determining the target communication channel used to establish the target session includes: Determining a session connection mode between the multiple target clients; When the session connection mode is a same-channel connection, the data transmission quality of the communication channel currently used by each target client among the multiple target clients is detected respectively; wherein the same-channel connection means: realizing the session connection between each target client by loading the session data stream in the same communication channel; The communication channel whose quality detection result meets the communication quality requirement is used as the target communication channel.
4. The method according to claim 1, characterized in that: The determining of the client identifiers of the plurality of target clients participating in the target session includes: Acquire client identifiers of multiple candidate clients from the reservation establishment information of the target session; wherein the candidate clients are clients having the permission to receive the target session instruction; Respectively obtain reference information associated with the client identifier of each candidate client; According to the reference information associated with each candidate client, the corresponding candidate client is subjected to permission verification, and the client identifier of the candidate client that passes the permission verification is used as the client identifier of the target client.
5. A session establishment method, characterized in that: The method is applied to a target client, and the method comprises: Receive a target session instruction sent by a server; the target session instruction is generated by the server when the scheduled establishment time of the target session is reached, according to the client identifier of each target client among multiple target clients participating in the target session and the determined target communication channel used to establish the target session, and the target session instruction is used to trigger the establishment of a session connection with the multiple target clients; wherein the target communication channel includes one or more, when the target communication channel is one, the session connection between the multiple target clients is a same-channel connection, and when the target communication channel is multiple, the session connection between the multiple target clients is a cross-channel connection; In response to the target session instruction, the session data stream is loaded from the target communication channel, and the loaded session data stream is played; wherein the session data stream in the target communication channel is obtained by the server by acquiring the session data stream generated by each target client and adding the acquired session data stream to the target communication channel.
6. The method according to claim 5, characterized in that The method further comprises: In response to the operation of establishing the instant session, establishing a session connection with the instant session client; If the establishment of the session connection fails, an alarm message is generated, wherein the alarm message includes the client identifiers of each instant session client participating in the instant session; Sending the alarm information to the server, so that the server generates an instant session instruction after determining the communication channel used to establish the instant session, wherein the instant session instruction is used to trigger the establishment of a session connection between the instant session clients; receiving an instant conversation instruction sent by the server, and responding to the instant conversation instruction, loading a conversation data stream from a communication channel determined for the instant conversation, and playing the loaded conversation data stream; The session data stream in the communication channel determined for the instant conversation is obtained by the server by acquiring the session data stream generated by one or more instant conversation clients among the multiple instant conversation clients and adding the acquired session data stream to the corresponding determined communication channel.
7. The method according to claim 5, characterized in that The playing loaded session data stream includes: Perform a validity check on the loaded session data stream to obtain a validity check result; When the validity check result indicates that the validity check of the corresponding session data stream has passed, the loaded session data stream is played.
8. A session establishing device, characterized in that: include: A determination unit, used to determine a reservation establishment time of a target session, determine client identifiers of multiple target clients participating in the target session, and establish a target communication channel used for the target session; wherein the target communication channel includes one or more, when the target communication channel is one, the session connection between the multiple target clients is a same-channel connection, and when the target communication channel is multiple, the session connection between the multiple target clients is a cross-channel connection; An instruction generating unit, configured to generate a target session instruction according to each target client identifier and the target communication channel when the reservation establishment time is reached, wherein the target session instruction is used to trigger the establishment of a session connection between the plurality of target clients; a sending unit, configured to send the target session instruction to the multiple target clients, and determine that the target session is successfully established when any target client responds to the target session instruction; An acquisition unit is used to acquire the session data stream generated by each target client after responding to the target session instruction, and add the acquired 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.
9. A session establishment device, characterized in that: include: A receiving unit, configured to receive a target session instruction sent by a server; the target session instruction is generated by the server when the scheduled establishment time of the target session is reached, based on the client identifier of each target client among multiple target clients participating in the target session and the determined target communication channel used to establish the target session, and the target session instruction is used to trigger the establishment of a session connection with the multiple target clients; wherein the target communication channel includes one or more, when the target communication channel is one, the session connection between the multiple target clients is a same-channel connection, and when the target communication channel is multiple, the session connection between the multiple target clients is a cross-channel connection; A response unit is used to respond to the target session instruction, load the session data stream from the target communication channel, and play the loaded session data stream; wherein the session data stream in the target communication channel is obtained by the server through acquiring the session data stream generated by each target client and adding the acquired session data stream to the target communication channel.
10. A server, characterized in that: include: A processor configured to execute one or more computer programs; A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and implementing the session establishment method according to any one of claims 1 to 4.
11. A computer device, characterized in that: include: A processor configured to execute one or more computer programs; A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and implementing the session establishment method according to any one of claims 5 to 7.
12. A computer storage medium, characterized in that: The computer storage medium stores one or more computer programs, and the one or more computer programs are suitable for being loaded by a processor and implementing the session establishment method according to any one of claims 1 to 7.
13. A computer program product, characterized in that The computer program product is suitable for being loaded by a processor and implementing the session establishment method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and system for implementing multi-user voice session
CN101183961A
Method and apparatus for automatically initiating a session
CN105262750A
Method and apparatus for automatically data streaming a multiparty conference session
US7328239B1