Conference state synchronization method and system, storage medium and electronic equipment

By locking the conference status operation object on the server side and updating data, the problem of out-of-order meeting status change information received by the client in the network meeting is solved, and the meeting status synchronization between the client and the server is achieved.

CN119496669APending Publication Date: 2025-02-21GUANGZHOU KINDLINK SOFTWARE TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311024381.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-14
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

In a network conference, when the server directly sends the meeting status change information to the client, it may cause the information received by the client to be out of order, resulting in the client's meeting status inconsistent with the server's meeting status.

Method used

By locking the conference status operation object on the server side, preventing other operation requests, updating the conference status data and version identifiers, and generating conference status change signaling to send to the client. After the client receives the signaling, the local meeting status data is updated to ensure synchronization with the server.

Benefits of technology

Avoid out of order problems caused by thread pause, and by comparing the conference version identifiers, signaling loss or out of order problems caused by network fluctuations is avoided, thereby ensuring that the client's meeting status is consistent with the server's meeting status.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119496669A_ABST
    Figure CN119496669A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a conference state synchronization method and system, a storage medium and electronic equipment, and the method comprises the steps that a server receives a conference state operation request sent by a client, and determines a conference state operation object; locking the conference state operation object; updating conference state data and a conference version identifier of a conference state operation object according to the conference state operation request; generating a conference state change signaling according to the updated conference state data and the updated conference version identifier, and sending the conference state change signaling to the client; and the client updates local conference state data of the client according to the conference state change signaling, so that the updated local conference state data of the client is synchronized with the server. According to the method and the device, the conference state operation object is locked, and the updated conference version identifier is compared with the local conference version identifier of the client, so that the conference state of the client and the conference state of the server are kept synchronous.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular, to a conference status synchronization method, system, storage medium, and electronic device. Background Art

[0002] With the continuous development of the Internet, online conferencing plays an increasingly important role. Online conferencing refers to two or more users transmitting audio, video and file data to each other through transmission lines and multimedia equipment to achieve instant and interactive communication.

[0003] Currently, in the process of online conferences, in order to ensure that participants can view the latest conference status in real time, when the conference status changes, the server usually sends the generated conference status change information to the client where the participant is located. After receiving the conference status change information, the client updates the local conference status.

[0004] However, in the related art, after the server detects a change in the conference status, it directly sends the conference status change information to the client, which causes the client to receive multiple conference status change information out of order, thereby making the client's conference status inconsistent with the server's conference status. Summary of the invention

[0005] In order to overcome the problems existing in the related art, the present application provides a conference status synchronization method, system, storage medium and electronic device, which can ensure that the conference status of the client is consistent with the conference status of the server.

[0006] According to a first aspect of an embodiment of the present application, a conference status synchronization method is provided, comprising the following steps:

[0007] The server receives a conference status operation request sent by the client; determines a conference status operation object according to the conference status operation request; locks the conference status operation object to prevent other operation requests from operating the conference status object; updates conference status data and a conference version identifier of the conference status operation object according to the conference status operation request; generates a conference status change signaling according to the updated conference status data and the updated conference version identifier, and sends the conference status change signaling to the client;

[0008] The client obtains the updated conference version identifier and the updated conference status data according to the conference status change signaling; updates the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server.

[0009] According to a second aspect of an embodiment of the present application, a conference status synchronization system is provided, including a client and a server, wherein the client is in communication connection with the server;

[0010] The server is used to receive a conference status operation request sent by a client; determine a conference status operation object according to the conference status operation request; lock the conference status operation object to prevent other operation requests from operating the conference status object; update the conference status data and conference version identifier of the conference status operation object according to the conference status operation request; generate a conference status change signaling according to the updated conference status data and the updated conference version identifier, and send the conference status change signaling to the client;

[0011] The client is used to obtain the updated conference version identifier and the updated conference status data according to the conference status change signaling; update the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server.

[0012] According to a third aspect of an embodiment of the present application, there is provided an electronic device, comprising a display, a processor and a memory; the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the conference status synchronization method as described above.

[0013] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the conference status synchronization method as described above is implemented.

[0014] In the embodiment of the present application, the server receives a conference status operation request sent by the client; determines the conference status operation object according to the conference status operation request; locks the conference status operation object to prevent other operation requests from operating the conference status object; updates the conference status data and conference version identifier of the conference status operation object according to the conference status operation request; generates a conference status change signaling according to the updated conference status data and the updated conference version identifier, and sends the conference status change signaling to the client; the client obtains the updated conference version identifier and the updated conference status data according to the conference status change signaling; updates the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server. The present application can avoid thread suspension and disorder of conference status change signaling sent by the server to the client by locking the conference status operation object and then updating the conference status data of the conference status operation object. By comparing the updated conference version identifier with the client's local conference version identifier, network fluctuations can be avoided, which may cause loss or disorder of conference status change signaling sent from the server to the client, thereby keeping the client's conference status synchronized with the server's conference status.

[0015] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application.

[0016] For better understanding and implementation, the present invention is described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 This is an application scenario diagram of a conference status synchronization method shown in one embodiment of the present application;

[0018] Figure 2 A flowchart of a conference status synchronization method shown in one embodiment of the present application;

[0019] Figure 3 This is a flowchart of step S10 in the conference status synchronization method according to an embodiment of the present application;

[0020] Figure 4 This is a flowchart after step S10 in the conference status synchronization method according to one embodiment of the present application;

[0021] Figure 5 This is a flowchart before step S20 in the conference status synchronization method shown in one embodiment of the present application;

[0022] Figure 6A schematic block diagram of the structure of a conference status synchronization system shown in one embodiment of the present application;

[0023] Figure 7 The present invention is a block diagram showing the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0024] In order to make the objectives, technical solutions and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.

[0025] It should be clear that the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the embodiments of the present application.

[0026] When the following description relates to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. In the description of the present application, it should be understood that the terms "first", "second", "third", etc. are only used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence, nor can they be understood as indicating or implying relative importance. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to the specific circumstances. The singular forms of "a", "said" and "the" used in the present application and the appended claims are also intended to include the majority form, unless the context clearly indicates other meanings. The words "if" / "if" used herein can be interpreted as "at the time of" or "when" or "in response to determination".

[0027] In addition, in the description of this application, unless otherwise specified, "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0028] The conference status synchronization method of the embodiment of the present application can be applied to network conference scenarios. Figure 1In an application scenario of the present application: after client A joins the meeting, it is quickly kicked out by client B. Client C in the meeting will receive two meeting status change signalings. One meeting status change signaling is: the server notifies client C that a new client A has joined the meeting. The other meeting status change signaling is: the server notifies client C that client A has been kicked out of the meeting by client B. Due to fluctuations in the network environment, client C first receives the meeting status change signaling that client A has been kicked out. At this time, since client C has not yet learned that client A has joined the meeting, client C cannot execute this signaling. Afterwards, client C receives the meeting status change signaling that client A has joined the meeting. At this time, client C executes the signaling and shows user C that a new user (user a corresponding to client A) has joined. However, at this time, client A has been kicked out. In this case, client C shows that user a has joined, and the server shows that user a has been kicked out. Therefore, the meeting status displayed by client C and the meeting status displayed by the server will be inconsistent.

[0029] This application receives the updated conference version identifier and the updated conference status data through the client, compares the updated conference version identifier with the client's local conference version identifier, and if the updated conference version identifier and the local conference version identifier are continuous conference version identifiers, it is determined that the client receives the conference status change signaling normally, and replaces the client's local conference status data with the updated conference status data. If the updated conference version identifier and the initial conference version identifier are not continuous conference version identifiers, it is determined that the conference status change signaling received by the client is abnormal, and the client re-requests the conference status data, avoiding the problem of loss and disorder of the conference status change signaling sent from the server to the client due to network fluctuations, so that the client's conference status is synchronized with the server's conference status.

[0030] In another application scenario of the present application: for the speaking status of client C, client A sets it to speaking, and client B sets it to muting. Specifically, the server receives the speaking status control instruction sent by client A, calls thread 1 to set the speaking status of client C to speaking, and then thread 1 is suspended. The server receives the muting status control instruction sent by client B, calls thread 2 to set the speaking status of client C to muting, and thread 2 sends the conference status change signaling corresponding to muting to client C. After that, thread 1 resumes and sends the conference status change signaling corresponding to speaking to client C. For client C, it first receives the conference status change signaling corresponding to muting, and then receives the conference status change signaling corresponding to speaking, and the final status is speaking. For the server, the speaking status of client C is first changed to speaking, then to muting, and the final status is muting. Therefore, the conference status displayed by client C and the conference status displayed by the server will be inconsistent.

[0031] The present application locks the conference status operation object through the server to prevent other operation requests from operating the conference status object, then updates the conference status data of the conference status operation object, and sends a conference status change signaling, thereby avoiding the problem that multiple threads operate the conference status of the same conference status operation object, one or some threads are paused, resulting in disorder of the conference status change signaling sent by the server to the client, thereby keeping the conference status of the client synchronized with the conference status of the server.

[0032] Based on this, the present application proposes a conference status synchronization method, system, storage medium and electronic device.

[0033] See also Figure 2 The conference status synchronization method provided in the embodiment of the present application includes the following steps:

[0034] S10: The server receives a conference status operation request sent by the client; determines a conference status operation object according to the conference status operation request; locks the conference status operation object to prevent other operation requests from operating the conference status object; updates the conference status data and conference version identifier of the conference status operation object according to the conference status operation request; generates a conference status change signaling according to the updated conference status data and the updated conference version identifier, and sends the conference status change signaling to the client.

[0035] The conference is a network conference, specifically a multimedia conference. The server can create a conference room in response to the conference start request, and multiple conference participants can log in to the conference room to conduct a network conference.

[0036] The conference status includes the conference room status and the participant status. The conference room status includes whether the room is joinable or not. The participant status includes whether the participant is speaking, muted, the conference role he / she plays, and whether he / she has joined or exited the conference.

[0037] During the entire process from the start of the meeting to the end of the meeting, participants can perform operations related to the meeting status through the meeting application running on their client, thereby triggering a meeting status operation request. Specifically, participants can set the meeting room status and modify the meeting member status. For example, if the meeting room status is set to the room can be joined, new participants can apply to join the meeting room. If the speaking status of a participant is set to mute, the participant cannot speak during the meeting.

[0038] The conference status operation request includes a conference status operation object identifier, which is used to uniquely identify the conference operation object. Specifically, if the conference room status is set, the conference status operation object is the conference room. If the conference member status is modified, the conference operation object is the conference member.

[0039] During a conference, there will be multiple clients triggering conference status operation requests, and these conference status operation requests will correspond to the same conference operation object. For example, for the speaking status of client C, client A sets it to speaking, and client B sets it to mute, and client C is the same conference operation object. In order to ensure that these conference status operation requests are carried out in an orderly manner, after receiving a conference status request, the server can lock the corresponding conference status operation object to prevent other operation requests from operating the conference status object. Specifically, the synchronized lock (Synchronized Lcok), mutex lock (Reentrant Lcok) and distributed lock related to Java concurrency control can be used to lock the conference status operation object.

[0040] The conference version identifier is used to indicate the conference status of the server, and may specifically be a conference version number. When the conference status of the server is updated, the conference version identifier is updated accordingly, and the updated conference version identifier is stored.

[0041] The conference status change signaling is a signaling used to indicate a change in the conference status, including updated conference status data and an updated conference version identifier.

[0042] Considering that when the server responds to multiple conference status operation requests and processes the same conference status operation object concurrently, when the thread is paused or terminated, the conference status change signaling sent by the server to the client will be out of order, making the client's conference status inconsistent with the server's conference status.

[0043] To this end, in an embodiment of the present application, when the server receives a conference status operation request sent by a client, it does not directly update the conference status data of the conference status operation object, but first locks the conference status operation object, and then updates the conference status data of the conference status operation object, thereby avoiding the problem of disorder in the conference status change signaling sent by the server to the client. For example, the server receives a speech status control instruction sent by client A, calls thread 1 to set the speech status of client C to speaking, and then thread 1 pauses. The server receives a mute status control instruction sent by client B. At this time, since the speech status of client C is locked, calling thread 2 cannot set the speech status of client C to mute. After thread 1 returns to normal, the conference status change signaling corresponding to the speech is sent to client C. Afterwards, the server calls thread 2 to set the speech status of client C to mute.

[0044] S20: The client obtains the updated conference version identifier and the updated conference status data according to the conference status change signaling; updates the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server.

[0045] The client local conference version identifier is a conference version identifier pre-stored by the client. Specifically, when the client joins a conference room, the server sends an initial conference version identifier to the client, and the client stores the initial conference version identifier.

[0046] The client local conference status data is the conference status data pre-stored by the client. Specifically, when the client joins a conference room, the server sends the initial conference status data to the client, and the client stores the initial conference status data.

[0047] Consider that when the server sends conference status change signaling to the client, due to network fluctuations, the conference status change signaling sent later by the server arrives at the client first, and the conference status change signaling sent earlier arrives at the client later, resulting in the conference status change signaling received by the client being out of order. Alternatively, some conference status change signaling sent by the server does not arrive at the client, causing the client to lose some conference status change signaling.

[0048] To this end, in an embodiment of the present application, the client receives an updated conference version identifier, compares the updated conference version identifier with the initial conference version identifier, and obtains a comparison result. Based on the comparison result, it is determined whether the client receives the conference status change signaling normally. Specifically, if the updated conference version identifier and the initial conference version identifier are continuous conference version identifiers, it is determined that it is normal for the client to receive the conference status change signaling. If the updated conference version identifier and the initial conference version identifier are not continuous conference version identifiers, it is determined that the conference status change signaling received by the client is abnormal, specifically, the client has not successfully received part of the conference status change signaling. Among them, if the numbers of the two conference version identifiers are separated by a preset value, it is determined that the two conference version identifiers are continuous conference version identifiers.

[0049] When it is determined that the client receives normal conference status change signaling, the client's local conference status data can be directly updated according to the updated conference status data, so that the updated client's local conference status data is synchronized with the server. When it is determined that the client has lost part of the conference status change signaling, the server can be requested for the conference status data corresponding to the lost part of the conference status change signaling, and the client's local conference status data can be updated according to the conference status data corresponding to the lost part of the conference status change signaling, so that the updated client's local conference status data is synchronized with the server.

[0050] In the embodiment of the present application, the server receives a conference status operation request sent by the client; determines the conference status operation object according to the conference status operation request; locks the conference status operation object to prevent other operation requests from operating the conference status object; updates the conference status data and conference version identifier of the conference status operation object according to the conference status operation request; generates a conference status change signaling according to the updated conference status data and the updated conference version identifier, and sends the conference status change signaling to the client; the client obtains the updated conference version identifier and the updated conference status data according to the conference status change signaling; updates the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server. The present application can avoid thread suspension and disorder of conference status change signaling sent by the server to the client by locking the conference status operation object and then updating the conference status data of the conference status operation object. By comparing the updated conference version identifier with the client's local conference version identifier, network fluctuations can be avoided, which may cause loss or disorder of conference status change signaling sent from the server to the client, thereby keeping the client's conference status synchronized with the server's conference status.

[0051] In an alternative embodiment, see Figure 3 The step of locking the conference status operation object in step S10 includes steps S11 to S14, which are specifically as follows:

[0052] S11: The server sends a distributed lock acquisition request to a distributed server according to the conference status operation object; wherein the distributed lock acquisition request includes a conference status operation object identifier.

[0053] The conference status operation object identifier is used to uniquely identify the conference status operation object. Specifically, it can be the universal identification code (uuid) of the conference status operation object. For example, if the conference operation object is a conference room, the conference operation object identifier is the conference room number.

[0054] The distributed server stores several distributed locks, which may be a Redis cache server.

[0055] In an embodiment of the present application, the server sends a distributed lock acquisition request to a distributed server, so that the distributed server allocates a distributed lock to the conference status operation object.

[0056] S12: The distributed server matches the conference status operation object identifier with the lock key of the distributed lock, determines the distributed lock corresponding to the conference status operation object, and detects whether the distributed lock is occupied.

[0057] Among them, in the Redis cache server, a conference status operation object is preset with a unique distributed lock. Redis cache servers can usually use the setnx(key, value) function to implement distributed locks. key and value are two attributes of distributed locks. Key represents the lock key, and value is a time identifier, which represents the current time + timeout time. The current time is the time to request the distributed lock, and the timeout time is the effective time of the distributed lock. The return values ​​of the setnx function are 0 and 1. Returning 1 means that the server obtains the distributed lock. Setnx sets the value corresponding to the key to the current time + the effective time of the lock. Returning 0 means that the distributed lock is occupied.

[0058] In the embodiment of the present application, the distributed server searches for the lock key that is consistent with the conference status operation object identifier, obtains the distributed lock corresponding to the conference status operation object, and obtains the setnx function return value of the distributed lock. If the setnx function return value is 0, it is determined that the distributed lock is occupied. If the setnx function return value is 1, it is determined that the distributed lock is not occupied.

[0059] S13: If the distributed lock is not occupied, the distributed server sends the distributed lock to the server;

[0060] S14: The server locks the conference status operation object according to the distributed lock.

[0061] In the embodiment of the present application, the server locks the conference status operation object through a distributed lock, thereby preventing other operation requests from operating the conference status object.

[0062] By using a distributed lock to lock the conference status operation object, it is possible to eliminate the disorder of conference status change signals received by the client due to thread suspension.

[0063] In an alternative embodiment, see Figure 4 After the step of sending the conference status change signaling to the client in step S10, steps S101 to S102 are included, which are specifically as follows:

[0064] S101: The server sends a distributed lock release request to a distributed server; wherein the distributed lock release request includes a time identifier of the distributed lock.

[0065] In an embodiment of the present application, after updating the conference status data, the server sends a conference status change signaling to the client, and then sends a distributed lock release request to the distributed server, so that the distributed server releases the distributed lock.

[0066] S102: The distributed server determines whether the time identifier of the distributed lock is consistent with the time identifier of the distributed lock corresponding to the conference status operation object. If they are consistent, the distributed lock corresponding to the conference status operation object is released.

[0067] In an embodiment of the present application, the distributed server compares the time stamp of the distributed lock with the time stamp of the distributed lock corresponding to the conference status operation object. If they are inconsistent, the distributed server sends a prompt to the server to refuse to release the distributed lock. If they are consistent, the distributed server sends a prompt to the server to successfully release the distributed lock.

[0068] By releasing the distributed lock, it can be ensured that other operation requests corresponding to the same conference operation object can update the conference status data.

[0069] In an optional embodiment, the step of updating the conference status data and the conference version identifier of the conference status operation object in step S10 includes step S111, which is specifically as follows:

[0070] S111: After the server detects that the conference status data of the conference status operation object is updated, the server increments the conference version identifier corresponding to the conference status to obtain an updated conference version identifier.

[0071] In the embodiment of the present application, each time the conference status data of the conference status operation object is updated, the server increases the conference version identifier corresponding to the conference status by a preset value to obtain an updated conference version identifier. Specifically, the preset value may be 1.

[0072] By automatically incrementing the conference version identifier, the conference version identifier can be automatically and quickly updated.

[0073] In an alternative embodiment, see Figure 5 In step S20, the client local conference status data is updated according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server, including steps S201 to S204, which are specifically as follows:

[0074] S201: The client calculates the difference between the updated conference version identifier and the client's local conference version identifier.

[0075] In an embodiment of the present application, the client obtains an updated conference version identifier and a local conference version identifier of the client, subtracts the local conference version identifier of the client from the updated conference version identifier, and obtains the difference between the updated conference version identifier and the local conference version identifier of the client.

[0076] S202: If the difference is a first preset threshold, the client updates the client's local conference status data according to the updated conference status data, so that the updated client's local conference status data is synchronized with the server.

[0077] In the embodiment of the present application, the first preset threshold is specifically 1. If the difference is the first preset threshold, the conference status change signaling received by the client is normal, and the client performs operations corresponding to the updated conference status data, updates the client local conference status data, so that the updated client local conference status data is synchronized with the server, and stores the updated conference version identifier to replace the initial conference version identifier.

[0078] S203: If the difference is not the first preset threshold, the client sends a conference status query request to the server, so that the server re-sends the conference status data to the client according to the conference status query request.

[0079] In an embodiment of the present application, if the difference is not the first preset threshold, the conference status change signaling received by the client is abnormal, and a conference status query request needs to be initiated to the server. The server receives the conference status query request, determines the conference status data that matches the conference status query request, and returns the conference status data to the client. Specifically, the conference status data includes at least one of incremental conference status data and full conference status data. Among them, incremental conference status data refers to the data that has changed in the updated conference status data stored in the server relative to the client local conference status data stored in the client. Full conference status data refers to all the data of the updated conference status data stored in the server.

[0080] S204: The client updates the local conference status data of the client according to the re-issued conference status data, so that the updated local conference status data of the client is synchronized with the server.

[0081] In an embodiment of the present application, the client may update the client's local conference status data according to the incremental conference status data or the full conference status data, so that the updated client's local conference status data is synchronized with the server.

[0082] By comparing the difference with the first preset threshold, the local conference status data of the client can be automatically and quickly updated.

[0083] In an optional embodiment, if the difference is not the first preset threshold, the client sends a conference status query request to the server, so that the server re-sends the conference status data to the client according to the conference status query request, including:

[0084] If the difference is greater than the first preset threshold and less than the second preset threshold, the client generates a conference status query request based on the updated conference version identifier and the client's local conference version identifier, and sends the conference status query request to the server, so that the server can send each conference version identifier between the updated conference version identifier and the client's local conference version identifier and the conference status change signaling corresponding to the updated conference version identifier to the client one by one according to the conference status query request.

[0085] The second preset threshold is greater than the first preset threshold. For example, the second preset threshold is 5.

[0086] In an embodiment of the present application, when the number of conference status change signalings lost by the client is less than a second preset threshold, the client can request each lost conference status change signaling from the server, and the server returns each lost conference status change signaling to the client one by one in the order in which the conference status change signalings were generated. For example, the client's local conference version identifier is 1, and the updated conference version identifier is 5. The server sends conference status change signalings with conference version identifiers of 2, 3, 4, and 5 to the client in sequence.

[0087] The step of the client updating the local conference status data of the client according to the re-issued conference status data so as to synchronize the updated local conference status data of the client with the server includes:

[0088] The client receives the corresponding conference state change signaling, and updates the local conference state data of the client according to the conference state data in the corresponding conference state change signaling, so that the updated local conference state data of the client is synchronized with the server.

[0089] In an embodiment of the present application, the client executes the operation corresponding to the conference status data in each conference status change signaling, updates the local conference status data of the client after each operation corresponding to the conference status data in the conference status change signaling is completed, and stores the conference version identifier in the conference status change signaling. Then, the operation corresponding to the conference status data in the next conference status change signaling is executed, the local conference status data of the client is continuously updated, and the conference version identifier in the next conference status change signaling is stored until the updated local conference status data of the client is synchronized with the server.

[0090] In an optional embodiment, if the difference is not the first preset threshold, the client sends a conference status query request to the server, so that the server re-sends the conference status data to the client according to the conference status query request, including:

[0091] If the difference is greater than the first preset threshold and greater than or equal to the second preset threshold, the client sends a full conference status synchronization request to the server, so that the server obtains the full conference status data according to the full conference status synchronization request and sends the full conference status data to the client.

[0092] In an embodiment of the present application, when the number of conference status change signalings lost by the client is greater than or equal to a second preset threshold, it indicates that the client has lost too many conference status change signalings, and requesting each lost conference status change signaling one by one will result in low conference status synchronization efficiency of the client. To this end, the client sends a full conference status synchronization request to the server, the server receives the full conference status synchronization request, determines the full conference status data that matches the full conference status synchronization request, and returns the full conference status data to the client.

[0093] The step of the client updating the local conference status data of the client according to the re-issued conference status data so as to synchronize the updated local conference status data of the client with the server includes:

[0094] The client updates the local conference status data of the client according to the full conference status data, so that the updated local conference status data of the client is synchronized with the server.

[0095] In an embodiment of the present application, the client overwrites the client's local conference status data with the full conference status data, so that the client's conference status data is synchronized with the server.

[0096] By sending a conference status query request from the client to the server, the synchronization efficiency of the conference status data of the client can be improved.

[0097] The present application also provides a system embodiment, which can be used to execute the content of the conference status synchronization method in the embodiment of the present application. For details not disclosed in the system embodiment of the present application, please refer to the content of the conference status synchronization method in the embodiment of the present application.

[0098] See also Figure 6 , a conference status synchronization system 10 disclosed in an embodiment of the present application includes a client 100 and a server 110, and the client 100 is in communication connection with the server 110;

[0099] The server 110 is used to receive a conference status operation request sent by the client 10; determine a conference status operation object according to the conference status operation request; lock the conference status operation object to prevent other operation requests from operating the conference status object; update the conference status data and conference version identifier of the conference status operation object according to the conference status operation request; generate a conference status change signaling according to the updated conference status data and the updated conference version identifier, and send the conference status change signaling to the client 100;

[0100] The client 100 is used to obtain an updated conference version identifier and updated conference status data according to the conference status change signaling; and update the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server 110.

[0101] The conference status synchronization system provided in the above embodiment and the conference status synchronization method provided in the embodiment of the present application belong to the same concept. For details on the implementation process, please refer to steps S10 to S20 of the method embodiment, which will not be repeated here.

[0102] The present application also provides a device embodiment that can be used to execute the content of the conference status synchronization method in the embodiment of the present application. For details not disclosed in the device embodiment of the present application, please refer to the content of the conference status synchronization method in the embodiment of the present application.

[0103] See also Figure 7 The present application further provides an electronic device 300, which may be a computer, a conference status synchronization device, etc. In an exemplary embodiment of the present application, the electronic device 300 is a conference status synchronization device, which includes: at least one processor 301, at least one memory 302, at least one display, at least one network interface 303, a user interface 304, and at least one communication bus 305.

[0104] The user interface 304 is mainly used to provide an input interface for the user and obtain data input by the user. Optionally, the user interface may also include a standard wired interface or a wireless interface.

[0105] The network interface 303 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface).

[0106] The communication bus 305 is used to realize the connection and communication between these components.

[0107] Among them, the processor 301 may include one or more processing cores. The processor uses various interfaces and lines to connect various parts of the entire electronic device, and executes various functions of the electronic device and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory, and calling data stored in the memory. Optionally, the processor can be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). The processor can integrate one or more combinations of central processing unit (Central Processing Unit, CPU), image processor (Graphics Processing Unit, GPU) and modem. Among them, the CPU mainly processes the operating system, user interface and application program, etc.; the GPU is responsible for rendering and drawing the content to be displayed by the display layer; the modem is used to process wireless communication. It can be understood that the above-mentioned modem may not be integrated into the processor, but implemented by a single chip.

[0108] Among them, the memory 302 may include a random access memory (Random Access Memory, RAM) and may also include a read-only memory (Read-Only Memory). Optionally, the memory includes a non-transitory computer-readable storage medium. The memory can be used to store instructions, programs, codes, code sets or instruction sets. The memory may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the above-mentioned method embodiments, etc.; the data storage area may store data involved in the above-mentioned method embodiments, etc. The memory may also be optionally at least one storage device located away from the aforementioned processor. As Figure 7 As shown, the memory as a computer storage medium may include an operating system, a network communication module, a user interface module, and an operating application program.

[0109] The processor can be used to call the application of the conference status synchronization method of the conference status synchronization device stored in the memory, and specifically execute the method steps of the above-mentioned embodiment. The specific execution process can refer to the specific description shown in the method embodiment, which will not be repeated here.

[0110] The present application also provides a computer-readable storage medium on which a computer program is stored, and the instructions are suitable for being loaded by a processor and executing the method steps of the above-mentioned embodiment. The specific execution process can refer to the specific description shown in the embodiment, and will not be repeated here. The device where the storage medium is located can be a personal computer, a laptop computer, a smart phone, a tablet computer, a picture director device and other electronic devices.

[0111] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can refer to the partial description of the method embodiments. The device embodiments described above are merely schematic, wherein the components described as separate parts may or may not be physically separated, and the parts displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0112] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0113] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the function selected in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 function selected in a box or multiple boxes.

[0114] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 steps for the function selected in a box or multiple boxes.

[0115] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0116] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0117] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0118] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0119] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A conference status synchronization method, characterized in that: The steps include: The server receives a conference status operation request sent by the client; determines a conference status operation object according to the conference status operation request; locks the conference status operation object to prevent other operation requests from operating the conference status object; updates conference status data and a conference version identifier of the conference status operation object according to the conference status operation request; generates a conference status change signaling according to the updated conference status data and the updated conference version identifier, and sends the conference status change signaling to the client; The client obtains the updated conference version identifier and the updated conference status data according to the conference status change signaling; updates the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server.

2. The conference status synchronization method according to claim 1, characterized in that: The step of locking the conference status operation object includes: The server sends a distributed lock acquisition request to a distributed server according to the conference status operation object; wherein the distributed lock acquisition request includes a conference status operation object identifier; The distributed server matches the conference status operation object identifier with the lock key of the distributed lock, determines the distributed lock corresponding to the conference status operation object, and detects whether the distributed lock is occupied; If the distributed lock is not occupied, the distributed server sends the distributed lock to the server; The server locks the conference status operation object according to the distributed lock.

3. The conference status synchronization method according to claim 2, characterized in that: After the step of sending the conference status change signaling to the client, the method further includes: The server sends a distributed lock release request to a distributed server; wherein the distributed lock release request includes a time identifier of the distributed lock; The distributed server determines whether the time identifier of the distributed lock is consistent with the time identifier of the distributed lock corresponding to the conference status operation object, and if they are consistent, releases the distributed lock corresponding to the conference status operation object.

4. The conference status synchronization method according to any one of claims 1 to 3, characterized in that: The step of updating the conference status data and conference version identifier of the conference status operation object includes: After the server detects that the conference status data of the conference status operation object is updated, the server automatically increments the conference version identifier corresponding to the conference status to obtain an updated conference version identifier.

5. The conference status synchronization method according to any one of claims 1 to 3, characterized in that: The step of updating the local conference status data of the client according to the updated conference status data and the relationship between the updated conference version identifier and the local conference version identifier of the client so as to synchronize the updated local conference status data of the client with the server comprises: The client calculates the difference between the updated conference version identifier and the client local conference version identifier; If the difference is a first preset threshold, the client updates the client local conference status data according to the updated conference status data, so that the updated client local conference status data is synchronized with the server; If the difference is not the first preset threshold, the client sends a conference status query request to the server, so that the server re-sends the conference status data to the client according to the conference status query request; The client updates the local conference status data of the client according to the re-issued conference status data, so that the updated local conference status data of the client is synchronized with the server.

6. The conference status synchronization method according to claim 5, characterized in that: If the difference is not the first preset threshold, the client sends a conference status query request to the server, so that the server re-sends the conference status data to the client according to the conference status query request, including: If the difference is greater than the first preset threshold and less than the second preset threshold, the client generates a conference status query request according to the updated conference version identifier and the local conference version identifier of the client, and sends the conference status query request to the server, so that the server sends each conference version identifier between the updated conference version identifier and the local conference version identifier of the client and the conference status change signaling corresponding to the updated conference version identifier to the client one by one according to the conference status query request; The step of the client updating the local conference status data of the client according to the re-issued conference status data so as to synchronize the updated local conference status data of the client with the server comprises: The client receives the corresponding conference state change signaling, and updates the client local conference state data according to the conference state data in the corresponding conference state change signaling, so that the updated client local conference state data is synchronized with the server.

7. The conference status synchronization method according to claim 5, characterized in that: If the difference is not the first preset threshold, the client sends a conference status query request to the server, so that the server re-sends the conference status data to the client according to the conference status query request, including: If the difference is greater than the first preset threshold and greater than or equal to the second preset threshold, the client sends a full conference status synchronization request to the server, so that the server obtains the full conference status data according to the full conference status synchronization request, and sends the full conference status data to the client; The step of the client updating the local conference status data of the client according to the re-issued conference status data so as to synchronize the updated local conference status data of the client with the server comprises: The client updates the client local conference status data according to the full conference status data, so that the updated client local conference status data is synchronized with the server.

8. A conference status synchronization system, characterized in that: It includes a client and a server, wherein the client is in communication connection with the server; The server is used to receive a conference status operation request sent by a client; determine a conference status operation object according to the conference status operation request; lock the conference status operation object to prevent other operation requests from operating the conference status object; update the conference status data and conference version identifier of the conference status operation object according to the conference status operation request; generate a conference status change signaling according to the updated conference status data and the updated conference version identifier, and send the conference status change signaling to the client; The client is used to obtain the updated conference version identifier and the updated conference status data according to the conference status change signaling; and update the client local conference status data according to the updated conference status data and the relationship between the updated conference version identifier and the client local conference version identifier, so that the updated client local conference status data is synchronized with the server.

9. An electronic device comprising a display, a processor and a memory; characterized in that: The memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the conference status synchronization method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the conference status synchronization method as described in any one of claims 1 to 7 is implemented.