CN114826803A - Conference state processing method, conference state processing device, electronic device, conference state processing medium, and program product - Google Patents

Conference state processing method, conference state processing device, electronic device, conference state processing medium, and program product Download PDF

Info

Publication number
CN114826803A
CN114826803A CN202210451624.XA CN202210451624A CN114826803A CN 114826803 A CN114826803 A CN 114826803A CN 202210451624 A CN202210451624 A CN 202210451624A CN 114826803 A CN114826803 A CN 114826803A
Authority
CN
China
Prior art keywords
state
change request
conference
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210451624.XA
Other languages
Chinese (zh)
Other versions
CN114826803B (en
Inventor
茅志翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202210451624.XA priority Critical patent/CN114826803B/en
Publication of CN114826803A publication Critical patent/CN114826803A/en
Application granted granted Critical
Publication of CN114826803B publication Critical patent/CN114826803B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Abstract

The application relates to a conference state processing method, a conference state processing device, an electronic device, a medium and a program product, which are applied to the technical field of multi-party communication, wherein the method comprises the following steps: responding to the change operation of the state object in the client participating in the conference, and generating a state change request corresponding to the change operation; sending the state change request to a server so that the server responds to the state change request; and if the response message which is returned by the server and aims at the state change request is not received, determining the state value of the state object in the client according to the priority of the state change request, wherein the state value is used for representing the conference state of the state object, and updating the conference state of the state object according to the state value of the state object. The method and the device can improve the probability of successful conference state change of the clients participating in the conference.

Description

Conference state processing method, conference state processing device, electronic device, conference state processing medium, and program product
Technical Field
The present application relates to the field of multi-party communication technologies, and in particular, to a conference state processing method, apparatus, electronic device, medium, and program product.
Background
In a video conference, a plurality of participants can see the state of the client of the opposite party, such as whether a microphone is muted or not, whether a camera is turned on or not, and the like. According to the requirement, the user can actively change the state of the client, and the administrator can also change the state of the client participating in the conference through the server. At present, how to respond to the requirement of user state change in time becomes a technical problem to be solved urgently.
Disclosure of Invention
In order to solve the technical problem, the present application provides a conference state processing method, an apparatus, an electronic device, a medium, and a program product.
According to a first aspect of the present application, there is provided a conference state processing method, including:
responding to a change operation aiming at a state object in a client participating in a conference, and generating a state change request corresponding to the change operation;
sending the state change request to a server so that the server responds to the state change request;
if a response message which is returned by the server and aims at the state change request is not received, determining a state value of the state object in the client according to the priority of the state change request, wherein the state value is used for representing the conference state of the state object;
and updating the conference state of the state object according to the state value of the state object.
Optionally, the method further includes:
if a response message which is returned by the server and aims at the state change request is received, acquiring a conference state copy returned by the server;
and updating the conference state of the state object according to the state value of the state object in the client recorded in the conference state copy, and updating the state value of the state object in a local conference state text of the client.
Optionally, if a response message for the status change request returned by the server is not received, determining the status value of the status object in the client according to the priority of the status change request includes:
if the response message returned by the server is not received and the priority of the state change request is the first priority, determining the change value of the state object in the state change request as the state value of the state object in the client; alternatively, the first and second electrodes may be,
if the response message returned by the server is not received when the timeout time is reached, and the priority of the state change request is the second priority, determining that the state change request fails, and determining the previous value of the state object in the state change request as the state value of the state object in the client, wherein the first priority is higher than the second priority.
Optionally, the method further includes:
and after determining that the state change request fails, sending a state restoration request to the server to determine the state value of the state object in the server as the previous value of the state object in the state change request.
Optionally, the sending the state change request to a server includes:
and adding the state change request into a message queue corresponding to the client, and sending the state change request to the server through the message queue.
Optionally, the method further includes:
and if the response message returned by the server is not received and the priority of the state change request is the first priority, keeping the state change request in the message queue until the response message is received.
Optionally, the sending a state restoration request to the server includes:
removing the state change request from the message queue and adding the state restore request to the message queue.
Optionally, the state change request includes a state change sequence number corresponding to the change operation;
the method further comprises the following steps:
and if a plurality of different change operations aiming at the client side are received, sequentially sending state change requests corresponding to the change operations to the server so that the server processes the state change requests according to state change serial numbers with sequence relation in the state change requests.
Optionally, the state change request includes identity information characterizing a user performing the change operation.
According to a second aspect of the present application, there is provided a conference state processing apparatus including:
the state change request generation module is used for responding to the change operation of a state object in a client participating in the conference and generating a state change request corresponding to the change operation;
the state change request sending module is used for sending the state change request to a server so that the server responds to the state change request;
a state value determining module, configured to determine, if a response message, which is returned by the server and is directed to the state change request, a state value of the state object in the client according to the priority of the state change request, where the state value is used to represent a conference state of the state object;
and the conference state updating module is used for updating the conference state of the state object according to the state value of the state object.
Optionally, the conference state processing apparatus further includes:
a conference state copy obtaining module, configured to obtain a conference state copy returned by the server if a response message to the state change request returned by the server is received;
the conference state updating module is further configured to update the conference state of the state object according to the state value of the state object in the client recorded in the conference state copy;
and the state value updating module is used for updating the state value of the state object in the local conference state text of the client according to the state value of the state object in the client recorded in the conference state copy.
Optionally, the state value determining module is specifically configured to determine, if a response message returned by the server is not received and the priority of the state change request is the first priority, the change value of the state object in the state change request as the state value of the state object in the client; alternatively, the first and second electrodes may be,
if the response message returned by the server is not received when the timeout time is reached, and the priority of the state change request is the second priority, determining that the state change request fails, and determining the previous value of the state object in the state change request as the state value of the state object in the client, wherein the first priority is higher than the second priority.
Optionally, the conference state processing apparatus further includes:
and the state restoration request sending module is used for sending a state restoration request to the server after determining that the state change request fails so as to determine the state value of the state object in the server as the previous value of the state object in the state change request.
Optionally, the status change request sending module is specifically configured to add the status change request to a message queue corresponding to the client, and send the status change request to the server through the message queue, so that the server responds to the status change request.
Optionally, the conference state processing apparatus further includes:
and the state change request holding module is used for holding the state change request in the message queue until the response message is received if the response message returned by the server is not received and the priority of the state change request is the first priority.
Optionally, the state restoration request sending module is specifically configured to, after determining that the state change request fails, remove the state change request from the message queue, and add the state restoration request to the message queue.
Optionally, the state change request includes a state change sequence number corresponding to the change operation;
the state change request sending module is further configured to, if a plurality of different change operations for the client are received, sequentially send state change requests corresponding to the plurality of change operations to the server, so that the server processes the plurality of state change requests according to state change sequence numbers having an order relationship among the plurality of state change requests.
Optionally, the state change request includes identity information characterizing a user performing the change operation.
According to a third aspect of the present application, there is provided an electronic device comprising: a processor for executing a computer program stored in the memory, the computer program, when executed by the processor, implementing the conference state handling method of the first aspect.
According to a fourth aspect of the present application, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the conference state processing method of the first aspect.
According to a fifth aspect of the present application, there is provided a computer program product which, when run on a computer, causes the computer to perform the conference state handling method of the first aspect.
Compared with the prior art, the technical scheme provided by the embodiment of the application has the following advantages:
when a user changes a conference state of a client participating in a conference, the client generates a state change request corresponding to a change operation in response to the change operation for a state object (e.g., a microphone, a camera, or the like) in the client, and transmits the state change request to a server. In the related art, only after the client receives the response of the server, the state of the client can be successfully changed. Therefore, in some scenarios, for example, when the network quality between the client and the server is poor, the client cannot receive the response of the server, so that the state of the client cannot be successfully changed, which affects the user experience. For example, the client cannot be muted, which results in the privacy of the user not being protected. In the embodiment of the application, if the client does not receive the response message returned by the server, the state value of the state object in the client can be determined according to the priority of the state change request. It can be seen that, even if the network request fails, the client may actively determine the state value of the state object according to the priority of the state change request, so as to update the conference state of the state object according to the state value of the state object. For example, for a state change request with high priority, the client may actively change the conference state of the state object in the client without being affected by network request failure, so that the probability of success of conference state change may be increased, and user experience may be improved. For example, the client may immediately turn off the microphone if the microphone is turned off, thereby protecting the privacy of the user.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
Fig. 1 is a schematic diagram showing a system architecture of an exemplary application environment to which a conference state processing method of an embodiment of the present application can be applied;
FIG. 2 is a schematic diagram of an interaction between a client and a server;
fig. 3 is a flowchart of a conference state processing method in the embodiment of the present application;
fig. 4 is a schematic diagram of a conference state determination method in an embodiment of the present application;
FIG. 5 is a diagram illustrating an example of a user and an administrator performing change operations on the same client;
FIG. 6 is another schematic diagram illustrating a user and an administrator performing change operations on the same client according to an embodiment of the present application;
fig. 7 is another flowchart of a conference state processing method in the embodiment of the present application;
fig. 8 is a schematic structural diagram of a conference state processing apparatus in an embodiment of the present application;
fig. 9 is a schematic structural diagram of an electronic device in an embodiment of the present application.
Detailed Description
In order that the above-mentioned objects, features and advantages of the present application may be more clearly understood, the solution of the present application will be further described below. It should be noted that the embodiments and features of the embodiments of the present application may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application, but the present application may be practiced in other ways than those described herein; it is to be understood that the embodiments described in this specification are only some embodiments of the present application and not all embodiments.
Fig. 1 is a schematic diagram showing a system architecture of an exemplary application environment to which the conference state processing method of the embodiment of the present application can be applied.
As shown in fig. 1, system architecture 100 may include a client 101, a client 102, at least two of the clients 103, a network 104, and a server 105. Network 104 is the medium used to provide communications links between clients 101, 102, 103, and server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few. The clients 101, 102, 103 are clients participating in the same conference, and may be various electronic devices including but not limited to desktop computers, portable computers, smart phones, tablet computers, and the like. The server 105 is a server corresponding to an application used when the client 101, the client 102, and the client 103 participate in the conference.
It should be understood that the number of clients, networks, and servers in FIG. 1 is merely illustrative. There may be more clients, networks, and servers, as desired for an implementation. For example, server 105 may be a server cluster comprised of multiple servers, or the like.
The conference state processing method provided by the embodiment of the application is generally executed by the client 101, the client 102, and the client 103, and accordingly, the conference state processing apparatus may be disposed in the client 101, the client 102, and the client 103. During the conference, the user may perform a change operation on a state object (e.g., microphone, camera, etc.) in the client 101, the client 102, or the client 103. For example, a mute operation is performed on the microphone, i.e., the microphone is changed from a non-mute state to a mute state. The client 101, the client 102, and the client 103 may process the change operation according to the conference state processing method of the embodiment of the present application, so as to update the conference state of the state object.
Referring to fig. 2, fig. 2 is a schematic diagram of an interaction between a client and a server. Assuming that the user performs a mute operation on the client 101, a mute change request may be generated in response to the mute operation, and transmitted to the server 105. The server 105 responds after receiving the mute change request, and the client 101 may operate a local microphone to mute after receiving the response message. It can be seen that each state change operation has a corresponding SeqID, which ensures that the server 105 performs ordered processing on each change request.
However, in some cases (e.g. poor network quality), the client 101, 102, 103 cannot receive the response message, and the client 101 will not be able to change the conference state of the state object. For example, a microphone cannot be operated to mute, and the privacy of the user cannot be protected. In order to solve this problem, in the embodiment of the present application, the state value of the state object in the client 101, that is, the conference state of the state object, may be determined according to the priority of the state change request. The client 101 can actively determine the conference state of the state object without being affected by the failure of the network request, so that the probability of the success of the change of the conference state of the client participating in the conference can be improved.
First, a conference state processing method according to an embodiment of the present application will be described below.
Referring to fig. 3, fig. 3 is a flowchart of a conference state processing method in an embodiment of the present application, which may include the following steps:
step S310 is to generate a state change request corresponding to a change operation in response to the change operation for the state object in the client participating in the conference.
In a video conference or a voice conference, the number of clients participating in the conference at least includes two, the initiator of the conference is an administrator of the conference, and the other participants are users. The user can perform a change operation on a state object in the client used by the user (e.g., a microphone, a camera, etc. in a video conference, a microphone in a voice conference). For example, in a video conference, a user may perform a mute operation, a mute release operation, an on operation, an off operation, and the like on a microphone, and a camera. The administrator can perform change operation on the state object in the client used by the administrator, and can also perform change operation on the state object in the client used by other users. For example, when the noise of the user a is found to be large, a muting operation may be performed on the client used by the user a.
When a change operation is performed on a state object in a client, a state change request corresponding to the change operation may be generated. The state change request may include: a state object to be changed, a previous value of the state object (i.e., the state value corresponding to the state object before the change operation), and a changed value of the state object (i.e., the state value corresponding to the state object after the change operation).
For example, if the user performs a mute operation on the microphone, the state object in the generated state change request is the microphone, the previous value of the state object is on, and the change value of the state object is off. The previous value and the changed value may be specific text contents, or may be represented by numbers. For example, a 1 may indicate on and a 0 may indicate off.
It should be noted that, for the client used by the user, if the user performs a change operation on the state object in the client, the client that generates the state change request is the client used by the user. And if the administrator executes change operation on the state object in the client, the client generating the state change request is the client used by the administrator.
Step S320 is to send the status change request to the server so that the server responds to the status change request.
After generating the state change request, the client may send the state change request to a server, that is, a server corresponding to an application used when participating in the conference. After receiving the state change request, the server can respond and return a corresponding response message.
In some embodiments, the client may add the status change request to a message queue corresponding to the client, and send the status change request to the server through the message queue. The message queue may record the state change requests generated by the client but not responded by the server. That is, for any change of state request, the change of state request may be removed from the message queue after getting the server's response.
Step S330, if a response message aiming at the state change request returned by the server is not received, determining the state value of the state object in the client according to the priority of the state change request, wherein the state value is used for representing the conference state of the state object.
If the client does not receive the response message, which indicates that the current network condition is possibly poor, the state value of the state object in the client can be determined according to the preset priority of the state change request. The priority of the state change request may be set according to an actual situation, for example, for a mute operation, in order to prevent the user from being unable to stop local audio acquisition and upload, the user may take effect locally immediately after the mute operation is performed. If the mute operation is performed, the server and other clients participating in the conference can be responded and then locally activated in order to prevent the server and other clients from considering that the client is in a mute state and can hear the voice. That is, the state change request corresponding to the mute operation may have a higher priority, and the state change request corresponding to the un-mute operation may have a lower priority.
Similarly, the status change request corresponding to the operation of turning off the camera may have a higher priority, and the status change request corresponding to the operation of turning on the camera may have a lower priority. If the priority of the state change request corresponding to the mute operation and the operation of turning off the camera is the first priority, and the priority of the state change request corresponding to the operation of turning off the mute operation and the operation of turning on the camera is the second priority, the first priority is higher than the second priority.
In some embodiments, if the response message returned by the server is not received and the priority of the state change request is the first priority, because the client does not receive the conference state copy returned by the server, the state value of the state object in the client is not updated in time in the locally stored conference state text, at this time, the change value of the state object in the state change request may be selected and determined as the state value of the state object in the client.
If the message queue comprises a plurality of state change requests, traversing all the state change requests in the message queue, comparing the change value of the state object in the state change requests in the message queue with the current value of the corresponding state object in the locally stored conference state text, and if the priority of the state change requests is the first priority, selecting the change value in the message queue to finally obtain a correct local state. And if the priority of the state change request is the second priority, selecting the current value of the corresponding state object in the conference state text.
Referring to fig. 4, fig. 4 is a schematic diagram of a conference state determination method in an embodiment of the present application. For example, the current value of the camera in the conference state text is on, and the current value of the microphone is on. The message queue comprises two state change requests, one state change request is to change the camera from off to on and corresponds to a second priority, and the other state change request is to change the microphone from on to off and corresponds to a first priority. Therefore, the microphone is finally switched off by using the changed value in the message queue; and the camera is started by selecting the current value in the conference state text.
If the response message returned by the server is not received and the priority of the state change request is the first priority, the state change request can be kept in the message queue until the response message is received. That is, the state change request with the first priority is removed from the message queue after the server response is obtained, and is not removed from the message queue under the condition that the server response is not obtained, so that the change operation is guaranteed to be finally successful.
A timeout may correspond to a status change request of a second priority. If the response message returned by the server is not received when the timeout time is reached, and the priority of the state change request is the second priority, the state change request is determined to fail, and the previous value of the state object in the state change request can be determined as the state value of the state object in the client. At this time, since the response message returned by the server is not received, the server may or may not process the state change request, that is, the conference state of the client in the conference state copy of the server is not determined, and the server may or may not be updated.
In order to ensure that the conference state of the client in the conference state copy of the server is the same as the conference state of the client in the conference state text of the client locally, a state restoration request can be sent to the server, so that the state value of the state object in the server is determined as the previous value of the state object in the state change request. The state restoration request is a request opposite to the state change request, and the change value of the state restoration request is the previous value of the state change request.
For example, if the state object of the state change request is a microphone, the previous value is off, and the change value is on, then the state change request corresponds to the second priority. If the client does not receive the response message when the timeout time is reached, the client can determine that the state change request fails, and can send a state restoration request, wherein the state object of the state restoration request is a microphone, and the change value is closed. At this time, the state restoring request corresponds to the first priority, and similarly, the state restoring request of the first priority is removed from the message queue after the server response is obtained, so that the state restoring request can finally obtain the server response. For example, after the network returns to normal, the response of the server may be obtained.
If the response message returned by the server is not received when the timeout time is reached, and the priority of the state change request is the second priority, the state change request is determined to fail, at this time, the state change request can be removed from the message queue, and the state restoration request is added to the message queue. It will be appreciated that where there are state change requests and/or state restore requests in the message queue, the commit to the server may be continually attempted until successful.
In some embodiments, the state change request includes a state change sequence number corresponding to the change operation, which may be denoted as CliSeqID, for recording each change operation. The CliSeqID attached to the client request may be updated to the state copy recorded by the server each time the server processes a state change request from the client. And if a plurality of different change operations of the user for the client side are received, sequentially sending state change requests corresponding to the change operations to the server. The plurality of status change requests may have corresponding status change sequence numbers, and the status change sequence numbers may have a sequential relationship, e.g., sequentially increasing in chronological order.
For example, the user performs two change operations to the client in sequence, and performs an operation of turning off the camera and a mute operation. CliSeqID in the state change request corresponding to the operation of turning off the camera may be 1, and CliSeqID in the state change request corresponding to the mute operation may be 2. If the user subsequently performs the third change operation, CliSeqID in the corresponding status change request may be 3.
In this way, the server processes the plurality of status change requests based on the status change numbers having an order relationship among the plurality of status change requests. For example, in a scenario where requests are out of order, the server compares the CliSeqID sizes to process the status change requests that arrive out of order in order.
In some embodiments, each time the client requests the server, the client may merge multiple state change requests in the message queue into one target state change request, in which each state object, the previous value and the change value of each state object are recorded, and the CliSeqID of the target state change request may use the CliSeqID of the last state change request in the message queue, that is, the target CliSeqID. After the server successfully processes the conference state copy, the server can send the conference state copy to the client, and after the client receives the conference state copy, the client can regard the state change request of the CliSeqID less than or equal to the target CliSeqID in the message queue as successful and remove the state change request out of the message queue.
In some embodiments, the state change request may include identity information characterizing the user performing the change operation. For example, whether the user performing the change operation is a normal user or an administrator may be determined based on the identity information. If the change operation of the user for the state object in the client is a first change operation, and the change operation of the administrator for the state object in the client is a second change operation, the state change sequence number in the state change request corresponding to the first change operation and the state change sequence number in the state change request corresponding to the second change operation may not have a sequential relationship.
Referring to fig. 5 and 6, the user performs mute release, mute, and mute release operations on the client in sequence, and the state change serial numbers CliSeqID in the corresponding state change requests are 1, 2, and 3, respectively. If the administrator also performs the same change operation on the client in the process, for example, the administrator also performs the mute operation when the user performs the mute operation. The mute operation performed by the administrator in fig. 5 follows the mute operation by the user, and the mute operation performed by the administrator in fig. 6 precedes the mute operation by the user. In the response message returned by the server, the state change numbers may be sequentially added to the change operation performed by the user, and the state change numbers may be not added to the change operation performed by the administrator but may be the same as the CliSeqID in the previous state change request. However, the SeqID corresponding to each change operation may be sequentially increased. It can be seen that when the change operations performed by the user and the administrator occur simultaneously, the order in which the server processes the state change requests does not affect the correctness of the final conference state.
Step S340, updating the conference state of the state object according to the state value of the state object.
Since the state value may characterize the conference state of the state object, after determining the state value of the state object, the conference state of the state object may be updated directly according to the state value. For example, the state object is a camera, the state value 1 indicates on, the state value 0 indicates off, and if it is determined that the state value of the state object is 1, the camera is turned on; and if the state value of the state object is determined to be 0, the camera is turned off.
In the conference state processing method according to the embodiment of the application, when a user changes a conference state of a client participating in a conference, the client generates a state change request corresponding to a change operation in response to the change operation on a state object (for example, a microphone, a camera, or the like) in the client, and transmits the state change request to a server. In the related art, only after the client receives the response of the server, the state of the client can be successfully changed. Therefore, in some scenarios, for example, when the network quality between the client and the server is poor, the client cannot receive the response of the server, so that the state of the client cannot be successfully changed, which affects the user experience. For example, the client cannot be muted, which results in the privacy of the user not being protected. In the embodiment of the application, if the client does not receive the response message returned by the server, the state value of the state object in the client can be determined according to the priority of the state change request. It can be seen that, even if the network request fails, the client may actively determine the state value of the state object according to the priority of the state change request, so as to update the conference state of the state object according to the state value of the state object. For example, for a state change request with high priority, the client may actively change the conference state of the state object in the client without being affected by network request failure, so that the probability of success of conference state change may be increased, and user experience may be improved. For example, the client may immediately turn off the microphone in case of turning off the microphone, thereby protecting the privacy of the user.
Referring to fig. 7, fig. 7 is a flowchart of a conference state processing method in an embodiment of the present application, where the method may include the following steps:
step S410 is to generate a state change request corresponding to a change operation in response to the change operation for the state object in the client participating in the conference.
Step S420 is to transmit the status change request to the server so that the server responds to the status change request.
The steps S410 to S420 are the same as the steps S310 to S320 in the embodiment of fig. 3, and specific reference may be made to the description in the embodiment of fig. 3, which is not repeated herein.
Step S430, if a response message for the state change request returned by the server is received, a conference state copy returned by the server is obtained.
In the embodiment of the application, the server locally stores the conference state copy, and the state of each client participating in the conference is recorded in the conference state copy. After the server responds to the state change request, the state of the client in the conference state copy can be modified, and the modified conference state copy (namely the latest conference state copy) can be synchronized to all clients in the conference.
Step S440, updating the conference state of the state object according to the state value of the state object in the client recorded in the conference state copy, and updating the state value of the state object in the local conference state text of the client.
The client locally stores a conference state text, which is similar to the conference state copy stored in the server, and the state of each client participating in the conference is recorded in the conference state text. The server updates the conference state copy, so that the client can synchronously update the state value of the state object in the local conference state text after receiving the conference state copy, thereby ensuring the conference state consistency of the client in the client and the server. The state value is used for representing the conference state of the state object, so that the conference state of the state object in the client can be determined directly according to the state value, and the conference state of the state object is updated.
Step S450, if the response message aiming at the state change request returned by the server is not received, the state value of the state object in the client is determined according to the priority of the state change request.
Step S460, updating the conference state of the state object according to the state value of the state object.
The steps S450 to S460 are the same as the steps S330 to S340 in the embodiment of fig. 3, and refer to the description in the embodiment of fig. 3 for details, which are not repeated herein.
The conference state processing method of the embodiment of the application can maintain the conference state copy for recording the conference state of each client locally in the server, and maintain the conference state text for recording the conference state of each client locally in the client. And under the condition that the client receives the response message, updating the local conference state text according to the conference state copy received from the server, and determining the conference state of the state object according to the state value of the state object in the conference state text. When the response message is not received, the change value of the state object in the state change request is determined as the final state value for the state change request of the first priority, so that the state change request of the first priority is not affected by the failure of the network request, for example, the microphone can be immediately closed when the client closes the microphone. And determining the current value of the state object in the conference state text as a final state value aiming at the state change request of the second priority, ensuring that the client executes change operation after receiving the response of the server, and preventing the server and other clients from hearing the sound of the client when considering that the client is in a mute state.
Corresponding to the foregoing method embodiment, an embodiment of the present application further provides a conference state processing apparatus, and referring to fig. 8, a conference state processing apparatus 800 includes:
a state change request generation module 810, configured to generate a state change request corresponding to a change operation in response to the change operation for a state object in a client participating in a conference;
a status change request sending module 820, configured to send a status change request to a server, so that the server responds to the status change request;
a state value determining module 830, configured to determine, if a response message, which is returned by the server and is directed to the state change request, a state value of the state object in the client according to the priority of the state change request, where the state value is used to represent a conference state of the state object;
the conference state updating module 840 is configured to update the conference state of the state object according to the state value of the state object.
Optionally, the conference state processing apparatus 800 further includes:
the conference state copy acquisition module is used for acquiring a conference state copy returned by the server if a response message which is returned by the server and aims at the state change request is received;
the conference state updating module 840 is further configured to update the conference state of the state object according to the state value of the state object in the client recorded in the conference state copy;
and the state value updating module is used for updating the state value of the state object in the local conference state text of the client according to the state value of the state object in the client recorded in the conference state copy.
Optionally, the state value determining module 830 is specifically configured to determine, if a response message returned by the server is not received and the priority of the state change request is the first priority, the change value of the state object in the state change request as the state value of the state object in the client; alternatively, the first and second electrodes may be,
and if the response message returned by the server is not received when the timeout time is up, and the priority of the state change request is the second priority, determining that the state change request fails, and determining the previous value of the state object in the state change request as the state value of the state object in the client, wherein the first priority is higher than the second priority.
Optionally, the conference state processing apparatus 800 further includes:
and the state restoration request sending module is used for sending the state restoration request to the server after determining that the state change request fails so as to determine the state value of the state object in the server as the previous value of the state object in the state change request.
Optionally, the status change request sending module 820 is specifically configured to add the status change request to a message queue corresponding to the client, and send the status change request to the server through the message queue, so that the server responds to the status change request.
Optionally, the conference state processing apparatus 800 further includes:
and the state change request holding module is used for holding the state change request in the message queue until the response message is received if the response message returned by the server is not received and the priority of the state change request is the first priority.
Optionally, the state restoration request sending module is specifically configured to remove the state change request from the message queue and add the state restoration request to the message queue after determining that the state change request fails.
Optionally, the state change request includes a state change sequence number corresponding to the change operation;
the status change request sending module 820 is further configured to, if a plurality of different change operations for the client are received, sequentially send status change requests corresponding to the plurality of change operations to the server, so that the server processes the plurality of status change requests according to the status change sequence numbers having a sequential relationship in the plurality of status change requests.
Optionally, the status change request includes identity information characterizing a user performing the change operation.
The details of each module or unit in the above device have been described in detail in the corresponding method, and therefore are not described herein again.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
In an exemplary embodiment of the present application, there is also provided an electronic device including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to perform the conference state handling method described above in this exemplary embodiment.
Fig. 9 is a schematic structural diagram of an electronic device in an embodiment of the present application. It should be noted that the electronic device 900 shown in fig. 9 is only an example, and should not bring any limitation to the functions and the scope of the application of the embodiments.
As shown in fig. 9, the electronic apparatus 900 includes a Central Processing Unit (CPU)901 that can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)902 or a program loaded from a storage section 908 into a Random Access Memory (RAM) 903. In the RAM 903, various programs and data necessary for system operation are also stored. The central processing unit 901, ROM 902, and RAM 903 are connected to each other by a bus 904. An input/output (I/O) interface 905 is also connected to bus 904.
The following components are connected to the I/O interface 905: an input portion 906 including a keyboard, a mouse, and the like; an output section 907 including components such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 908 including a hard disk and the like; and a communication section 909 including a network interface card such as a Local Area Network (LAN) card, a modem, or the like. The communication section 909 performs communication processing via a network such as the internet. The drive 910 is also connected to the I/O interface 905 as necessary. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 910 as necessary, so that a computer program read out therefrom is mounted into the storage section 908 as necessary.
In particular, according to embodiments of the application, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 909, and/or installed from the removable medium 911. When the computer program is executed by the central processing unit 901, various functions defined in the apparatus of the present application are executed.
In an embodiment of the present application, a computer-readable storage medium is further provided, on which a computer program is stored, and when the computer program is executed by a processor, the conference state processing method is implemented.
It should be noted that the computer readable storage medium shown in the present application can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, radio frequency, etc., or any suitable combination of the foregoing.
In an embodiment of the present application, a computer program product is further provided, which, when running on a computer, causes the computer to execute the conference state processing method.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
The above description is merely exemplary of the present application and is presented to enable those skilled in the art to understand and practice the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (13)

1. A conference state processing method, the method comprising:
responding to a change operation aiming at a state object in a client participating in a conference, and generating a state change request corresponding to the change operation;
sending the state change request to a server so that the server responds to the state change request;
if a response message which is returned by the server and aims at the state change request is not received, determining a state value of the state object in the client according to the priority of the state change request, wherein the state value is used for representing the conference state of the state object;
and updating the conference state of the state object according to the state value of the state object.
2. The method of claim 1, further comprising:
if a response message which is returned by the server and aims at the state change request is received, acquiring a conference state copy returned by the server;
and updating the conference state of the state object according to the state value of the state object in the client recorded in the conference state copy, and updating the state value of the state object in a local conference state text of the client.
3. The method according to claim 1 or 2, wherein if a response message for the status change request returned by the server is not received, determining the status value of the status object in the client according to the priority of the status change request comprises:
if the response message returned by the server is not received and the priority of the state change request is the first priority, determining the change value of the state object in the state change request as the state value of the state object in the client; alternatively, the first and second electrodes may be,
if the response message returned by the server is not received when the timeout time is reached, and the priority of the state change request is the second priority, determining that the state change request fails, and determining the previous value of the state object in the state change request as the state value of the state object in the client, wherein the first priority is higher than the second priority.
4. The method of claim 3, further comprising:
and after determining that the state change request fails, sending a state restoration request to the server to determine the state value of the state object in the server as a previous value of the state object in the state change request.
5. The method of claim 4, wherein sending the state change request to a server comprises:
and adding the state change request into a message queue corresponding to the client, and sending the state change request to the server through the message queue.
6. The method of claim 5, further comprising:
and if the response message returned by the server is not received and the priority of the state change request is the first priority, keeping the state change request in the message queue until the response message is received.
7. The method of claim 5, wherein sending a state restoration request to the server comprises:
removing the state change request from the message queue and adding the state restore request to the message queue.
8. The method according to claim 1, wherein the state change request includes a state change sequence number corresponding to the change operation;
the method further comprises the following steps:
and if a plurality of different change operations aiming at the client side are received, sequentially sending state change requests corresponding to the change operations to the server so that the server processes the state change requests according to state change serial numbers with sequence relation in the state change requests.
9. The method of claim 1, wherein the state change request includes identity information characterizing a user performing the change operation.
10. A conference state processing apparatus, characterized in that the apparatus comprises:
the state change request generation module is used for responding to the change operation of the state object in the client participating in the conference and generating a state change request corresponding to the change operation;
the state change request sending module is used for sending the state change request to a server so that the server responds to the state change request;
a state value determining module, configured to determine, if a response message, which is returned by the server and is directed to the state change request, a state value of the state object in the client according to the priority of the state change request, where the state value is used to represent a conference state of the state object;
and the conference state updating module is used for updating the conference state of the state object according to the state value of the state object.
11. An electronic device, comprising: a processor for executing a computer program stored in a memory, the computer program, when executed by the processor, implementing the conference state handling method of any of claims 1-9.
12. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the conference state processing method of any one of claims 1 to 9.
13. A computer program product, characterized in that it causes a computer to carry out the conference state handling method of any one of claims 1-9, when said computer program product is run on said computer.
CN202210451624.XA 2022-04-26 2022-04-26 Conference state processing method and device, electronic equipment and medium Active CN114826803B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210451624.XA CN114826803B (en) 2022-04-26 2022-04-26 Conference state processing method and device, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210451624.XA CN114826803B (en) 2022-04-26 2022-04-26 Conference state processing method and device, electronic equipment and medium

Publications (2)

Publication Number Publication Date
CN114826803A true CN114826803A (en) 2022-07-29
CN114826803B CN114826803B (en) 2023-10-31

Family

ID=82509910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210451624.XA Active CN114826803B (en) 2022-04-26 2022-04-26 Conference state processing method and device, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN114826803B (en)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101866A1 (en) * 1995-10-25 2002-08-01 Alec Miloslavsky Method and apparatus for determining and using multiple object states in an intelligent internet protocol telephony network
CA2408766A1 (en) * 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system
CN1859361A (en) * 2005-05-08 2006-11-08 中兴通讯股份有限公司 Method for detecting terminal on-line state of meeting sponsored protocol server
CN101227533A (en) * 2008-01-31 2008-07-23 华为技术有限公司 Apparatus and method for establishing audio conference connection
CN105340263A (en) * 2013-06-10 2016-02-17 思杰系统有限公司 Providing user video having a virtual curtain to an online conference
CN105933641A (en) * 2016-05-18 2016-09-07 阿里巴巴集团控股有限公司 User state reminding method and device in video communication
CN107360128A (en) * 2016-05-03 2017-11-17 三星Sds株式会社 Conference service provides method and its device
CN109491766A (en) * 2018-10-10 2019-03-19 阿里巴巴集团控股有限公司 A kind of delivering method of transaction message, device, system and message server
CN110460715A (en) * 2018-05-07 2019-11-15 苹果公司 For operating the method, equipment and medium of digital assistants
CN110944013A (en) * 2019-12-17 2020-03-31 腾讯科技(深圳)有限公司 Network session switching method and device, computer equipment and storage medium
CN111385349A (en) * 2020-02-07 2020-07-07 北京达佳互联信息技术有限公司 Communication processing method, communication processing device, terminal, server and storage medium
CN112073664A (en) * 2019-06-11 2020-12-11 聚好看科技股份有限公司 Video call method and display device
CN112073203A (en) * 2020-07-20 2020-12-11 视联动力信息技术股份有限公司 Service recovery method and device, electronic equipment and storage medium
CN112398955A (en) * 2021-01-19 2021-02-23 树根互联技术有限公司 Internet of things equipment state event processing method and device and electronic equipment
CN112437294A (en) * 2020-11-25 2021-03-02 腾讯科技(深圳)有限公司 Method, device and equipment for testing identity hiding function and storage medium
CN112601045A (en) * 2020-12-10 2021-04-02 广州虎牙科技有限公司 Speaking control method, device, equipment and storage medium for video conference
CN112866622A (en) * 2021-02-10 2021-05-28 北京字跳网络技术有限公司 Information processing method, device, server, storage medium and system
CN113348505A (en) * 2019-02-08 2021-09-03 谷歌有限责任公司 Adaptation for discrepancies in device status reports for third-party servers
CN214480996U (en) * 2021-03-24 2021-10-22 北方民族大学 Conference room reservation system and device adaptive according to environmental information
CN113542660A (en) * 2021-07-20 2021-10-22 随锐科技集团股份有限公司 Method, system and storage medium for realizing conference multi-picture high-definition display

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101866A1 (en) * 1995-10-25 2002-08-01 Alec Miloslavsky Method and apparatus for determining and using multiple object states in an intelligent internet protocol telephony network
CA2408766A1 (en) * 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system
CN1859361A (en) * 2005-05-08 2006-11-08 中兴通讯股份有限公司 Method for detecting terminal on-line state of meeting sponsored protocol server
CN101227533A (en) * 2008-01-31 2008-07-23 华为技术有限公司 Apparatus and method for establishing audio conference connection
CN105340263A (en) * 2013-06-10 2016-02-17 思杰系统有限公司 Providing user video having a virtual curtain to an online conference
CN107360128A (en) * 2016-05-03 2017-11-17 三星Sds株式会社 Conference service provides method and its device
CN105933641A (en) * 2016-05-18 2016-09-07 阿里巴巴集团控股有限公司 User state reminding method and device in video communication
CN110460715A (en) * 2018-05-07 2019-11-15 苹果公司 For operating the method, equipment and medium of digital assistants
CN109491766A (en) * 2018-10-10 2019-03-19 阿里巴巴集团控股有限公司 A kind of delivering method of transaction message, device, system and message server
CN113348505A (en) * 2019-02-08 2021-09-03 谷歌有限责任公司 Adaptation for discrepancies in device status reports for third-party servers
CN112073664A (en) * 2019-06-11 2020-12-11 聚好看科技股份有限公司 Video call method and display device
CN110944013A (en) * 2019-12-17 2020-03-31 腾讯科技(深圳)有限公司 Network session switching method and device, computer equipment and storage medium
CN111385349A (en) * 2020-02-07 2020-07-07 北京达佳互联信息技术有限公司 Communication processing method, communication processing device, terminal, server and storage medium
CN112073203A (en) * 2020-07-20 2020-12-11 视联动力信息技术股份有限公司 Service recovery method and device, electronic equipment and storage medium
CN112437294A (en) * 2020-11-25 2021-03-02 腾讯科技(深圳)有限公司 Method, device and equipment for testing identity hiding function and storage medium
CN112601045A (en) * 2020-12-10 2021-04-02 广州虎牙科技有限公司 Speaking control method, device, equipment and storage medium for video conference
CN112398955A (en) * 2021-01-19 2021-02-23 树根互联技术有限公司 Internet of things equipment state event processing method and device and electronic equipment
CN112866622A (en) * 2021-02-10 2021-05-28 北京字跳网络技术有限公司 Information processing method, device, server, storage medium and system
CN214480996U (en) * 2021-03-24 2021-10-22 北方民族大学 Conference room reservation system and device adaptive according to environmental information
CN113542660A (en) * 2021-07-20 2021-10-22 随锐科技集团股份有限公司 Method, system and storage medium for realizing conference multi-picture high-definition display

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FREDRIK WALLIN: "Using an energy intervention framework to evaluate end-user willingness to participate in demand-response activities", 《2016 IEEE POWER AND ENERGY SOCIETY GENERAL MEETING (PESGM)》 *
姜淑慧;: "数学课在线授课的特征及优化策略探析", 数学之友, no. 02 *

Also Published As

Publication number Publication date
CN114826803B (en) 2023-10-31

Similar Documents

Publication Publication Date Title
US20150133106A1 (en) Communication apparatus, communication system, communication method, and recording medium
JP2017529711A (en) Method, apparatus and system for voice confirmation
EP2876866A1 (en) Communication apparatus, communication method, and recording medium
US10044766B2 (en) Managing mid-dialog session initiation protocol (SIP) messages
CN110704582A (en) Information processing method, device and equipment
CN111193792A (en) Message transmission method and device, electronic equipment and storage medium
US8719622B2 (en) Recording and preventing crash in an appliance
CN107818027B (en) Method and device for switching main name node and standby name node and distributed system
US11088974B2 (en) Cross-platform messaging system
CN111698281B (en) Resource downloading method and device, electronic equipment and storage medium
CN111866544B (en) Data processing method, device, equipment and computer readable storage medium
CN114826803B (en) Conference state processing method and device, electronic equipment and medium
US20150134748A1 (en) Online and offline cooperation to obtain input to augment recording of meeting
CN112738153B (en) Gateway selection method, system, device, server and medium in service system
CN111290873B (en) Fault processing method and device
CN111355919B (en) Communication session control method and device
CN113407498A (en) Data synchronization method, device, cloud platform, system and storage medium
CN111596953A (en) Version management system, development data transmission control method and related device
CN115086408B (en) Data processing method, system, device, electronic equipment and storage medium
CN111478782B (en) Chat room control method, server, electronic equipment and storage medium
CN111179097B (en) Method, device, electronic equipment and storage medium for modifying warranty
CN109614439B (en) Data synchronization method, device, electronic equipment and storage medium
CN115344540A (en) File processing method, file checking method and electronic equipment
CN115167769A (en) Method, device and system for writing data
CN117950762A (en) Service processing method, device, electronic equipment and storage medium

Legal Events

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