CN110569470B - User matching method and device, readable medium and electronic equipment - Google Patents
User matching method and device, readable medium and electronic equipment Download PDFInfo
- Publication number
- CN110569470B CN110569470B CN201910849315.6A CN201910849315A CN110569470B CN 110569470 B CN110569470 B CN 110569470B CN 201910849315 A CN201910849315 A CN 201910849315A CN 110569470 B CN110569470 B CN 110569470B
- Authority
- CN
- China
- Prior art keywords
- target user
- matching
- user
- target
- matched
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5566—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The present disclosure relates to a user matching method, apparatus, readable medium and electronic device, including: receiving a user matching request sent by a first client, wherein the user matching request comprises a first target user ID to be matched; calculating a matching score corresponding to the first target user ID according to a preset scoring rule; adding the first target user ID into a target matching pool; distributing a thread and a first distributed lock for the first target user ID, so that the thread searches a second target user ID capable of being matched with the first target user ID in a target matching pool; the first target user ID is matched with the second target user ID. Therefore, an independent thread can be distributed for each user to match the users, the situation that the users are matched with a plurality of other users at the same time can be avoided by setting a distributed lock for each user, the problems of low matching efficiency and low matching speed of single thread realization can be well solved, and the matching speed and the matching precision of the users are ensured.
Description
Technical Field
The present disclosure relates to the field of networks, and in particular, to a user matching method, apparatus, readable medium, and electronic device.
Background
In the prior art, a situation that a client user needs to be matched with other client users often occurs, that is, after one client user initiates a matching request, a server needs to find an object matched with the client in other clients that also initiate the matching request, for example, a random matching online user voice chat or text chat, or a random matching online matching user team game, or a random matching online matching user team game, or a random matching two online anchor users who both initiate pk requirements to perform matching when two anchor users perform pk in a live broadcast scene.
At present, a method for matching users usually uses a thread to match all users who initiate matching demands, that is, no matter how early or late the time of initiating matching demands is, it is necessary to wait for the same thread to match all users who have matching demands according to the matching rules. In the case of many users initiating matching demands, the matching efficiency is low, and there is a high possibility that a user initiating matching demands waits for a long time to find a matching object. The single-thread processing mode has the advantages that the condition that the same user is matched with a plurality of other users at the same time can be avoided, but the working efficiency of the single-thread processing mode can not meet the actual requirement completely under the condition that the number of the matched users is too large, so that the user experience can be seriously influenced.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In a first aspect, the present disclosure provides a user matching method applied to a server, where the method includes:
receiving a user matching request sent by a first client, wherein the user matching request comprises a first target user ID to be matched;
calculating a matching score corresponding to the first target user ID according to a preset scoring rule;
adding the first target user ID into a target matching pool;
distributing a thread and a first distributed lock for the first target user ID, so that the thread searches a second target user ID capable of being matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID and the distributed lock of the user ID to be matched;
and matching the first target user ID with the second target user ID.
In a second aspect, the present disclosure further provides a user matching apparatus, applied to a server, the apparatus including:
the system comprises a receiving module, a matching module and a matching module, wherein the receiving module is used for receiving a user matching request sent by a first client, and the user matching request comprises a first target user ID to be matched;
the calculation module is used for calculating a matching score corresponding to the first target user ID according to a preset scoring rule;
the adding module is used for adding the first target user ID into a target matching pool;
a query module, configured to allocate a thread and a first distributed lock to the first target user ID, so that the thread searches for a second target user ID that can be matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID, and the distributed lock of the user ID to be matched;
a matching module for matching the first target user ID with the second target user ID.
In a third aspect, the present disclosure also provides a computer-readable medium having stored thereon a computer program which, when executed by a processing device, performs the steps of the method of any one of the first aspect.
In a fourth aspect, the present disclosure also provides an electronic device, including:
a storage device having a computer program stored thereon;
processing means for executing the computer program in the storage means to carry out the steps of the method of the first aspect.
Through the technical scheme, when a user needs to perform online real-time matching, an independent thread can be distributed for the user to provide a service for searching a matched object for the user, the condition that the user is matched for a plurality of other users at the same time can be avoided by setting a distributed lock for each user, the problems that the matching efficiency is too low and the matching speed is low in a single thread can be well solved, the matching precision can be guaranteed on the premise that the matching speed of the user is guaranteed, and the user experience is greatly improved.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and features are not necessarily drawn to scale.
In the drawings:
fig. 1 is a flowchart illustrating a user matching method according to an exemplary embodiment of the present disclosure.
Fig. 2 is a flowchart illustrating a user matching method according to still another exemplary embodiment of the present disclosure.
Fig. 3 is a flowchart illustrating a user matching method according to still another exemplary embodiment of the present disclosure.
Fig. 4 is a block diagram illustrating a structure of a user matching apparatus according to an exemplary embodiment of the present disclosure.
Fig. 5 is a block diagram illustrating a structure of a user matching apparatus according to still another exemplary embodiment of the present disclosure.
Fig. 6 is a schematic diagram of an electronic device shown in accordance with an exemplary embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
Fig. 1 is a flowchart illustrating a user matching method according to an exemplary embodiment of the present disclosure. The method is applied to the server. As shown in fig. 1, the method includes steps 101 to 105.
In step 101, a user matching request sent by a first client is received, where the user matching request includes a first target user ID to be matched. After the user starts matching at the first client, the first client can send a user matching request to the server to represent that the user of the first client needs to be matched. The user matching request further includes a user ID of a user needing to be matched, that is, a first target user ID, which is used for characterizing the user identity needing to be matched in the first client.
In step 102, a matching score corresponding to the first target user ID is calculated according to a preset scoring rule. The preset scoring rules may be determined based on different user attributes that are referenced when actually matching. Taking a live broadcast scene as an example, when calculating the matching time of the anchor user, the matching time of the anchor user can be calculated according to the live broadcast gift receiving situation of the anchor in the past three days, the win-lose situation of the historical matching PK and the like. The user-related data required for calculating the matching time may be directly obtained in the server according to the first target user ID, or may be sent to the server by including in the user matching request when the first client sends the user matching request. The preset scoring rule is not limited here, as long as a matching score that can characterize the attribute characteristics of the user for matching can be calculated according to the preset scoring rule.
In step 103, the first target user ID is added to a target matching pool. The target matching pool may be one of a plurality of matching pools, and the manner of determining the target matching pool may be determined based on the first target user ID. Taking a live broadcast scene as an example, if the first target user ID belongs to a game block, that is, when the content being live broadcast by the anchor corresponding to the first target user ID is a game, the first target user ID is added into a target matching pool corresponding to the game to match other anchors that are also live broadcast of the game content. The method for determining the target matching pool is not limited herein, as long as one target matching pool can be determined according to actual requirements to add the first target user ID. Before the first target user ID is added into the target matching pool, the number of the user IDs to be matched included in the target matching pool may be 0 or any positive integer.
In step 104, a thread and a first distributed lock are allocated to the first target user ID, so that the thread searches for a second target user ID capable of being matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID, and the distributed lock of the user ID to be matched. When each user ID is added into the target matching pool, a dedicated thread is allocated to serve the user ID so as to inquire another user ID which can be matched with the user ID in the target matching pool. When the first target user ID is added to the target matching pool, an exclusive thread is also allocated to search for another user ID, which can be matched with the first target user ID, from the user IDs to be matched in the target matching pool for the first target user ID, that is, a second target user ID. In order to ensure that the first target user ID is not matched with a plurality of user IDs to be matched, each user ID added into the target matching pool has a distributed lock to represent whether the user ID is determined as the second target user ID by other user IDs to be matched, so as to ensure that each user ID is not matched with the plurality of user IDs in the target matching pool at the same time. Therefore, the dedicated thread allocated to the first target user ID can search a second target user ID which is not matched with other user IDs to be matched and is most matched with the first target user ID in the target matching pool according to the first distributed lock and the matching score corresponding to the first target user ID and the distributed lock and the matching score corresponding to each user ID to be matched in the target matching pool.
In step 105, the first target user ID is matched with the second target user ID. After the second target user ID which is the closest to the first target user ID in the target matching pool is determined from the user IDs to be matched in the target matching pool, the first target user ID needs to be matched with the second target user ID, so that the first client where the first target user ID is located and the first client where the second target user ID is located can know the matching states of the first client and the second target user ID, and can perform direct or indirect communication.
Through the technical scheme, when a user needs to perform online real-time matching, an independent thread can be distributed for the user to provide a service for searching a matched object for the user, the condition that the user is matched for a plurality of other users at the same time can be avoided by setting a distributed lock for each user, the problems that the matching efficiency is too low and the matching speed is low in a single thread can be well solved, the matching precision can be guaranteed on the premise that the matching speed of the user is guaranteed, and the user experience is greatly improved.
In a possible implementation manner, in the case that the target matching pool includes a plurality of to-be-matched user IDs to be matched, step 104 shown in fig. 1 may further include: and determining the user ID to be matched, which is unoccupied and is closest to the matching score of the first target user ID, as the second target user ID. Because each user ID in the target matching pool has its own thread to search for a matching object for the user ID and try to match the user ID, a part of the user IDs to be matched, which have already been determined as second target user IDs by other threads, or have already found a second target user ID that can match the user ID with the user ID by its own thread, may appear in the target matching pool, and therefore, when the thread of the first target user ID searches for a second target user ID that can match the user ID in the target matching pool, the user ID to be matched, for which the distributed lock is already occupied, needs to be excluded to avoid that the finally found second target user ID is a user ID that has already been matched by other user IDs to be matched in the target matching pool in advance. Then, in the to-be-matched user IDs of which the distributed locks are not occupied, the to-be-matched user ID whose matching score is closest to that of the first target user ID is selected as the second target user ID. For example, if the matching score of the first target user ID is 60 scores, the minimum matching score of the matching score greater than or equal to 60 is 61 and the maximum matching score of the matching score less than or equal to 60 is 58 in the to-be-matched user IDs of which the distributed lock is not occupied, the to-be-matched user ID of which the matching score is 61 is selected as the second target user ID matched with the first target user ID; in addition, if there is one to-be-matched user ID with a matching score of 61 and one to-be-matched user ID with a matching score of 59, the two may be selected according to default settings, for example, the to-be-matched user ID corresponding to the matching score larger than the matching score of the first target user ID may be selected as the second target user ID by default, or the to-be-matched user ID corresponding to the matching score smaller than the matching score of the first target user ID may be selected as the second target user ID by default, and the specific settings may be set according to actual situations, which is not limited herein.
In a possible implementation manner, in the case that the target matching pool includes a plurality of user IDs to be matched, the step 104 in fig. 1 may further include: selecting N user IDs to be matched with the first target user ID, wherein the matching phase difference between the N user IDs and the first target user ID is the minimum, N can be any positive integer larger than 1, and can be 10 for example; then, respectively calculating the matching degree between the N user IDs to be matched and the first target user ID according to the related user attributes of each user ID, wherein the user attributes can be the same as or different from the user attributes referred to when calculating the matching in the step 102 shown in fig. 1; and finally, determining the user ID to be matched with the first target user ID with the highest matching degree as a second target user ID.
Fig. 2 is a flowchart illustrating a user matching method according to still another exemplary embodiment of the present disclosure. As shown in fig. 2, the method includes steps 201 to 204 in addition to steps 101 to 104 shown in fig. 1.
In step 201, the first distributed lock of the first target user ID and the second distributed lock of the second target user ID are obtained respectively. After the second target user ID is determined, in order to ensure that the second target user ID is not simultaneously matched by the threads corresponding to the multiple user IDs in the target matching pool, the distributed locks of the first target user ID and the second target user ID are immediately obtained, that is, the first distributed lock and the second distributed lock of the first target user ID and the second target user ID are respectively locked, so that the other threads of the user IDs to be matched can not match the corresponding user IDs to be matched with the first target user ID or the second target user ID.
In step 202, it is determined whether the acquisition status of the first distributed lock and the second distributed lock succeeded or failed. Under the condition that the first distributed lock and the second distributed lock are judged to be successfully acquired, turning to step 203; when any one of the two distributed locks is successfully acquired and the other distributed lock is failed to be acquired, the process goes to step S206; and directly returning to the step S104 under the condition that the first distributed lock and the second distributed lock are failed to acquire, and searching a second target user ID which can be matched with the first target user ID in the target matching pool again.
In step 203, the matching status of the first target user ID and the second target user ID is set to matched.
In step 204, the second target user ID is sent to the first client, so that the first client can establish a matching relationship with a second client where the second target user ID is located.
In step 205, the first target user ID and the second target user ID are removed from the target matching pool, and the thread corresponding to the first target user ID is ended.
If the thread of the first target user ID can successfully acquire the first distributed lock of the thread and the second distributed lock of the second target user ID at the same time, it can be determined that the first target user ID is successfully matched with the second target user ID, and at this time, the matching state of the first target user ID and the second target user ID can be modified to be matched; after it is determined that the first target user ID is matched with the second target user ID, the thread of the first target user ID sends the second target user ID to the first client where the first target user ID is located, so that the first client can establish a matching relationship according to the second target user ID and the second client where the second target user ID is located, and the specific method may be: after receiving the second target user ID, the first client with the first target user ID sends a matching request to the second client with the second target user ID without being perceived by the user, and when receiving the matching request sent by the first client with the first target user ID, the second client with the second target user ID can automatically respond to the request to establish matching connection with the first client with the first target user ID, thereby implementing a function of establishing a matching relationship between the first client with the first target user ID and the second client with the second target user ID. After the matching relationship is established, or in a case that the matching states of the first target user ID and the second target user ID are set to be matched, the first target user ID and the second target user ID are removed from the target matching pool, and after the first target user ID is removed from the target matching pool, the corresponding thread may also end accordingly.
In step 206, the successfully acquired distributed lock is released, and then the process goes to step 104 to search the target matching pool for a second target user ID that can be matched with the first target user ID.
If only one of the first distributed lock of the first target user ID and the second distributed lock of the second target user ID is successfully acquired and the other distributed lock fails to be acquired in step 202, execute step 206 and release the successfully acquired distributed lock. Failure of acquisition of either of the two distributed locks may be due to: after the thread of the first target user ID determines the to-be-matched user ID corresponding to the distributed lock which fails to acquire as the second target user ID, before the second distributed lock of the second target user ID is not acquired, the second distributed lock of the second target user ID is already occupied by other threads of the to-be-matched user ID or a thread of the second target user ID itself. Whether the successfully acquired distributed lock is the first distributed lock or the second distributed lock, and whether the unsuccessfully acquired distributed lock is the first distributed lock or the second distributed lock, as long as one of the two distributed locks is successfully acquired and the acquisition is failed, the successfully acquired distributed lock is released according to the step 206. And after releasing the successfully acquired distributed lock, returning to step 104, and searching a second target user ID capable of being matched with the first target user ID in the target matching pool again.
Fig. 3 is a flowchart illustrating a user matching method according to still another exemplary embodiment of the present disclosure. As shown in fig. 3, the method includes step 301 and step 302 in addition to the above-mentioned step 101 to step 104.
In step 301, under the condition that it is determined that the first distributed lock of the first target user ID is occupied by the user ID to be matched in the target matching pool, the state of the distributed lock corresponding to the user ID to be matched is acquired. The execution sequence of step 301 may be executed after the execution of step 104 is finished as shown in fig. 3, or may be executed after step 202 as shown in fig. 2, that is, in step 202 shown in fig. 2, when the acquisition situations of the first distributed lock and the second distributed lock are judged, if the acquisition of the first distributed lock fails and the acquisition of the second distributed lock succeeds, or if both the acquisition of the first distributed lock and the acquisition of the second distributed lock fail, the occupation situation of the first distributed lock may be judged, and if it is judged that the acquisition of the first distributed lock fails because of being occupied by other to-be-matched user IDs in the target matching pool, the state of the distributed lock corresponding to the to-be-matched user ID occupying the first distributed lock may be obtained.
In step 302, when the state of the distributed lock corresponding to the to-be-matched user ID is occupied by the first target user ID, the thread corresponding to the first target user ID is ended. According to the acquired state of the distributed lock corresponding to the user ID to be matched, whether the distributed lock corresponding to the matched user ID is in the state occupied by the first target user ID can be judged, if yes, the first distributed lock of the first target user ID is occupied by the user ID to be matched, the distributed lock of the user ID to be matched is occupied by the first target user ID, and therefore the fact that the first target user ID is successfully matched with the user ID to be matched, which occupies the first target user ID, can be determined. At this time, the thread of the first target user ID does not need to be executed by other tasks, so the thread corresponding to the first target user ID can be ended at this time.
In one possible embodiment, the method further comprises: setting a preset working time length for a thread corresponding to each user ID to be matched in a target matching pool, starting timing when each user ID to be matched is added into the target matching pool, automatically ending the thread if a certain thread reaches the preset working time length and another user ID to be matched which can be matched with the certain thread is not found for the corresponding user ID to be matched, and removing the corresponding user ID to be matched from the target matching pool; and a message representing that the matching is not successful can be sent to the first client where the user ID to be matched is located, so that the user of the first client can initiate a matching request again to restart the matching when knowing that the matching is not successful.
Fig. 4 is a block diagram illustrating a structure of a user matching apparatus according to an exemplary embodiment of the present disclosure. As shown in fig. 4, the apparatus is applied to a server, and includes: a receiving module 10, configured to receive a user matching request sent by a first client, where the user matching request includes a first target user ID to be matched; the calculating module 20 is configured to calculate a matching score corresponding to the first target user ID according to a preset scoring rule; an adding module 30, configured to add the first target user ID to a target matching pool; a query module 40, configured to allocate a thread and a first distributed lock to the first target user ID, so that the thread searches for a second target user ID that can be matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID, and the distributed lock of the user ID to be matched; a matching module 50, configured to match the first target user ID with the second target user ID.
Through the technical scheme, when a user needs to perform online real-time matching, an independent thread can be distributed for the user to provide a service for searching a matched object for the user, the condition that the user is matched for a plurality of other users at the same time can be avoided by setting a distributed lock for each user, the problems that the matching efficiency is too low and the matching speed is low in a single thread can be well solved, the matching precision can be guaranteed on the premise that the matching speed of the user is guaranteed, and the user experience is greatly improved.
In a possible implementation manner, in a case that the target matching pool includes a plurality of to-be-matched user IDs to be matched, the query module 40 is further configured to: and determining the user ID to be matched, which is unoccupied and is closest to the matching score of the first target user ID, as the second target user ID.
Fig. 5 is a block diagram illustrating a structure of a user matching apparatus according to still another exemplary embodiment of the present disclosure. As shown in fig. 5, the matching module 50 includes: a locking submodule 501, configured to obtain the first distributed lock of the first target user ID and the second distributed lock of the second target user ID, respectively; a matching state setting submodule 502, configured to set, to be matched, a matching state of the first target user ID and the second target user ID when it is determined that both the first distributed lock and the second distributed lock are successfully acquired; the sending submodule 503 is configured to send the second target user ID to the first client, so that the first client can establish a matching relationship with a second client where the second target user ID is located; a removing submodule 504, configured to remove the first target user ID and the second target user ID from the target matching pool, and end the thread corresponding to the first target user ID.
In a possible implementation, as shown in fig. 5, the matching module 50 may further include: a release submodule 505, configured to release, when it is determined that any one of the first distributed lock and the second distributed lock fails to acquire and another distributed lock succeeds in acquiring, the another distributed lock that succeeds in acquiring; a returning sub-module 506, configured to return to the step of searching for the second target user ID that can be matched with the first target user ID until it is determined that both the first distributed lock and the second distributed lock are successfully acquired.
In a possible implementation, as shown in fig. 5, the matching module 50 may further include: an obtaining submodule 507, configured to obtain a state of a distributed lock corresponding to the to-be-matched user ID when it is determined that the first distributed lock of the first target user ID is occupied by the to-be-matched user ID in the target matching pool; the ending sub-module 508 is configured to end the thread corresponding to the first target user ID when the state of the distributed lock corresponding to the to-be-matched user ID is occupied by the first target user ID.
Referring now to FIG. 6, a block diagram of an electronic device 600 suitable for use in implementing embodiments of the present disclosure is shown. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing 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 via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. 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 (RAM), a read-only memory (ROM), 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 disclosure, 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. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receiving a user matching request sent by a first client, wherein the user matching request comprises a first target user ID to be matched; calculating a matching score corresponding to the first target user ID according to a preset scoring rule; adding a first target user ID into a target matching pool, wherein the target matching pool comprises any number of user IDs to be matched; distributing a thread and a first distributed lock for the first target user ID, so that the thread searches a second target user ID capable of being matched with the first target user ID in a target matching pool according to the matching score of the first target user ID and the user ID to be matched, the first distributed lock of the first target user ID and the distributed lock of the user ID to be matched; the first target user ID is matched with the second target user ID.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present disclosure may be implemented by software or hardware. The name of the module does not in some cases form a limitation on the module itself, and for example, the receiving module may also be described as a "module that receives the user matching request sent by the first client".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), 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.
Example 1 provides a user matching method applied to a server, according to one or more embodiments of the present disclosure, the method including: receiving a user matching request sent by a first client, wherein the user matching request comprises a first target user ID to be matched; calculating a matching score corresponding to the first target user ID according to a preset scoring rule; adding the first target user ID into a target matching pool; distributing a thread and a first distributed lock for the first target user ID, so that the thread searches a second target user ID capable of being matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID and the distributed lock of the user ID to be matched; and matching the first target user ID with the second target user ID.
In accordance with one or more embodiments of the present disclosure, example 2 provides the method of example 1, where in a case that the target matching pool includes a plurality of to-be-matched user IDs to be matched, the searching for a second target user ID that can be matched with the first target user ID includes: and determining the user ID to be matched, which is unoccupied and is closest to the matching score of the first target user ID, as the second target user ID.
Example 3 provides the method of example 1, the matching the first target user ID with the second target user ID comprising: respectively acquiring the first distributed lock of the first target user ID and a second distributed lock of the second target user ID; under the condition that the first distributed lock and the second distributed lock are judged to be successfully acquired, setting the matching state of the first target user ID and the second target user ID as matched; sending the second target user ID to the first client so that the first client can establish a matching relationship with a second client where the second target user ID is located; and removing the first target user ID and the second target user ID from the target matching pool, and ending the thread corresponding to the first target user ID.
Example 4 provides the method of example 3, the matching the first target user ID with the second target user ID comprising: respectively acquiring the first distributed lock of the first target user ID and a second distributed lock of the second target user ID; when it is determined that any one of the first distributed lock and the second distributed lock fails to acquire and the other distributed lock succeeds in acquiring, releasing the other successfully acquired distributed lock; returning to the step of searching for a second target user ID that can be matched with the first target user ID until it is determined that both the first distributed lock and the second distributed lock are successfully acquired.
Example 5 provides the method of example 1, the matching the first target user ID with the second target user ID comprising: under the condition that the first distributed lock of the first target user ID is judged to be occupied by the user ID to be matched in the target matching pool, acquiring the state of the distributed lock corresponding to the user ID to be matched; and under the condition that the state of the distributed lock corresponding to the user ID to be matched is occupied by the first target user ID, ending the thread corresponding to the first target user ID.
Example 6 provides, in accordance with one or more embodiments of the present disclosure, a user matching apparatus applied to a server, the apparatus including: the system comprises a receiving module, a matching module and a matching module, wherein the receiving module is used for receiving a user matching request sent by a first client, and the user matching request comprises a first target user ID to be matched; the calculation module is used for calculating a matching score corresponding to the first target user ID according to a preset scoring rule; the adding module is used for adding the first target user ID into a target matching pool; a query module, configured to allocate a thread and a first distributed lock to the first target user ID, so that the thread searches for a second target user ID that can be matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID, and the distributed lock of the user ID to be matched; a matching module for matching the first target user ID with the second target user ID.
Example 7 provides the apparatus of embodiment 6, wherein, in a case that the target matching pool includes a plurality of to-be-matched user IDs, the query module is further configured to: and determining the user ID to be matched, which is unoccupied and is closest to the matching score of the first target user ID, as the second target user ID.
Example 8 provides the apparatus of embodiment 6, the matching module comprising, in accordance with one or more embodiments of the present disclosure: a locking submodule, configured to obtain the first distributed lock of the first target user ID and a second distributed lock of the second target user ID, respectively; a matching state setting submodule, configured to set, to be matched, a matching state of the first target user ID and the second target user ID, when it is determined that both the first distributed lock and the second distributed lock are successfully acquired; the sending submodule is used for sending the second target user ID to the first client so that the first client can establish a matching relationship with a second client where the second target user ID is located; and the removing submodule is used for removing the first target user ID and the second target user ID from the target matching pool and finishing the thread corresponding to the first target user ID.
Example 9 provides a computer readable medium having stored thereon a computer program that, when executed by a processing apparatus, performs the steps of the method of any of examples 1-5, in accordance with one or more embodiments of the present disclosure.
Example 10 provides, in accordance with one or more embodiments of the present disclosure, an electronic device comprising: a storage device having a computer program stored thereon; processing means for executing the computer program in the storage means to carry out the steps of the method of any of examples 1-5.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Claims (10)
1. A user matching method is applied to a server, and is characterized in that the method comprises the following steps:
receiving a user matching request sent by a first client, wherein the user matching request comprises a first target user ID to be matched;
calculating a matching score corresponding to the first target user ID according to a preset scoring rule;
adding the first target user ID into a target matching pool;
distributing a thread and a first distributed lock for the first target user ID, so that the thread searches a second target user ID capable of being matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID and the distributed lock of the user ID to be matched;
matching the first target user ID with the second target user ID;
wherein the matching the first target user ID with the second target user ID comprises:
respectively acquiring the first distributed lock of the first target user ID and a second distributed lock of the second target user ID;
and under the condition that the first distributed lock and the second distributed lock are judged to be successfully acquired, setting the matching state of the first target user ID and the second target user ID as matched.
2. The method according to claim 1, wherein in the case that a plurality of the to-be-matched user IDs to be matched are included in the target matching pool, the searching for a second target user ID that can be matched with the first target user ID comprises:
and determining the user ID to be matched, which is unoccupied and has the matching score closest to the matching score of the first target user ID, as the second target user ID.
3. The method of claim 1, wherein after setting the matching status of the first target user ID and the second target user ID to matched, the matching the first target user ID with the second target user ID comprises:
sending the second target user ID to the first client so that the first client can establish a matching relationship with a second client where the second target user ID is located;
and removing the first target user ID and the second target user ID from the target matching pool, and ending the thread corresponding to the first target user ID.
4. The method of claim 3, wherein matching the first target user ID with the second target user ID further comprises:
when it is determined that any one of the first distributed lock and the second distributed lock fails to acquire and the other distributed lock succeeds in acquiring, releasing the other successfully acquired distributed lock;
returning to the step of searching for a second target user ID that can be matched with the first target user ID until it is determined that both the first distributed lock and the second distributed lock are successfully acquired.
5. The method of claim 1, wherein matching the first target user ID with the second target user ID comprises:
under the condition that the first distributed lock of the first target user ID is judged to be occupied by any user ID to be matched in the target matching pool, the state of the distributed lock corresponding to the user ID to be matched is obtained;
and under the condition that the state of the distributed lock corresponding to the user ID to be matched is occupied by the first target user ID, ending the thread corresponding to the first target user ID.
6. A user matching device applied to a server is characterized by comprising:
the system comprises a receiving module, a matching module and a matching module, wherein the receiving module is used for receiving a user matching request sent by a first client, and the user matching request comprises a first target user ID to be matched;
the calculation module is used for calculating a matching score corresponding to the first target user ID according to a preset scoring rule;
the adding module is used for adding the first target user ID into a target matching pool;
a query module, configured to allocate a thread and a first distributed lock to the first target user ID, so that the thread searches for a second target user ID that can be matched with the first target user ID in the target matching pool according to the matching score of the first target user ID, the matching score of the user ID to be matched in the target matching pool, the first distributed lock of the first target user ID, and the distributed lock of the user ID to be matched;
a matching module for matching the first target user ID with the second target user ID;
wherein the matching module comprises:
a locking submodule, configured to obtain the first distributed lock of the first target user ID and a second distributed lock of the second target user ID, respectively;
and the matching state setting submodule is used for setting the matching states of the first target user ID and the second target user ID as matched under the condition that the first distributed lock and the second distributed lock are judged to be successfully acquired.
7. The apparatus of claim 6, wherein in the case that a plurality of to-be-matched user IDs are included in the target matching pool, the query module is further configured to:
and determining the user ID to be matched, which is unoccupied and is closest to the matching score of the first target user ID, as the second target user ID.
8. The apparatus of claim 6, wherein the matching module comprises:
the sending submodule is used for sending the second target user ID to the first client after the matching state setting submodule sets the matching state of the first target user ID and the second target user ID to be matched, so that the first client can establish a matching relationship with a second client where the second target user ID is located;
and the removing submodule is used for removing the first target user ID and the second target user ID from the target matching pool and finishing the thread corresponding to the first target user ID.
9. A computer-readable medium, on which a computer program is stored, characterized in that the program, when being executed by processing means, carries out the steps of the method of any one of claims 1 to 5.
10. An electronic device, comprising:
a storage device having a computer program stored thereon;
processing means for executing the computer program in the storage means to carry out the steps of the method according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849315.6A CN110569470B (en) | 2019-09-09 | 2019-09-09 | User matching method and device, readable medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849315.6A CN110569470B (en) | 2019-09-09 | 2019-09-09 | User matching method and device, readable medium and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569470A CN110569470A (en) | 2019-12-13 |
CN110569470B true CN110569470B (en) | 2022-03-11 |
Family
ID=68778693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910849315.6A Active CN110569470B (en) | 2019-09-09 | 2019-09-09 | User matching method and device, readable medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569470B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314720A (en) * | 2020-01-23 | 2020-06-19 | 网易(杭州)网络有限公司 | Live broadcast and microphone connection control method and device, electronic equipment and computer readable medium |
CN111586889A (en) * | 2020-04-27 | 2020-08-25 | 维沃移动通信有限公司 | Equipment connection method and device and electronic equipment |
CN111589161B (en) * | 2020-05-12 | 2023-07-25 | 上海商汤临港智能科技有限公司 | Athletic task matching method, device, equipment and computer storage medium |
CN113014564B (en) * | 2021-02-19 | 2022-10-21 | 提亚有限公司 | User matching method and device, computer equipment and storage medium |
CN115086688A (en) * | 2021-03-15 | 2022-09-20 | 北京字节跳动网络技术有限公司 | Interactive video connection method and device, electronic equipment and storage medium |
CN114079825B (en) * | 2021-11-10 | 2024-02-09 | 广州方硅信息技术有限公司 | Live broadcasting room user team forming method, equipment and medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103477610A (en) * | 2011-04-04 | 2013-12-25 | 高通股份有限公司 | Recommending mobile content by matching similar users |
CN104486328A (en) * | 2014-12-10 | 2015-04-01 | 小米科技有限责任公司 | Access control method and device |
CN105991571A (en) * | 2015-02-09 | 2016-10-05 | 阿里巴巴集团控股有限公司 | Information processing method and device |
CN106163625A (en) * | 2014-01-31 | 2016-11-23 | 金.Com有限公司 | Control the user interface of computer equipment |
CN107220893A (en) * | 2017-06-12 | 2017-09-29 | 北京金未来金融信息服务有限公司 | A kind of the platform methods of figuring interest and its control system |
CN109753354A (en) * | 2018-11-26 | 2019-05-14 | 平安科技(深圳)有限公司 | Processing method, device and the computer equipment of Streaming Media task based on multithreading |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504585B2 (en) * | 2011-05-31 | 2013-08-06 | Hewlett-Packard Development Company, L.P. | Matching a user to a conversation |
CN106331783B (en) * | 2015-06-17 | 2019-10-29 | 阿里巴巴集团控股有限公司 | A kind of resource allocation methods, device and intelligent television system |
CN105138275B (en) * | 2015-07-06 | 2018-03-20 | 中国科学院高能物理研究所 | A kind of Lustre memory system datas sharing method |
US10004649B2 (en) * | 2015-07-07 | 2018-06-26 | Chien-Chung Chen | Absorbent pants |
CN106845413B (en) * | 2017-01-23 | 2020-01-14 | Oppo广东移动通信有限公司 | Fingerprint identification method and mobile terminal |
CN207712698U (en) * | 2018-01-11 | 2018-08-10 | 科曼多建筑装饰材料(上海)有限公司 | A kind of light current mounting related components storing unit |
CN109410040A (en) * | 2018-11-07 | 2019-03-01 | 杭州创金聚乾网络科技有限公司 | A kind of match method, device and the equipment of loan application and investment application |
-
2019
- 2019-09-09 CN CN201910849315.6A patent/CN110569470B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103477610A (en) * | 2011-04-04 | 2013-12-25 | 高通股份有限公司 | Recommending mobile content by matching similar users |
CN106163625A (en) * | 2014-01-31 | 2016-11-23 | 金.Com有限公司 | Control the user interface of computer equipment |
CN104486328A (en) * | 2014-12-10 | 2015-04-01 | 小米科技有限责任公司 | Access control method and device |
CN105991571A (en) * | 2015-02-09 | 2016-10-05 | 阿里巴巴集团控股有限公司 | Information processing method and device |
CN107220893A (en) * | 2017-06-12 | 2017-09-29 | 北京金未来金融信息服务有限公司 | A kind of the platform methods of figuring interest and its control system |
CN109753354A (en) * | 2018-11-26 | 2019-05-14 | 平安科技(深圳)有限公司 | Processing method, device and the computer equipment of Streaming Media task based on multithreading |
Also Published As
Publication number | Publication date |
---|---|
CN110569470A (en) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569470B (en) | User matching method and device, readable medium and electronic equipment | |
CN109981765B (en) | Method and apparatus for determining access path of content distribution network | |
US11533220B2 (en) | Network-assisted consensus protocol | |
CN110781373B (en) | List updating method and device, readable medium and electronic equipment | |
CN112311656B (en) | Message aggregation and display method and device, electronic equipment and computer readable medium | |
US20150296027A1 (en) | Continuous Browsing Across Devices | |
US11758087B2 (en) | Multimedia conference data processing method and apparatus, and electronic device | |
CN110795446A (en) | List updating method and device, readable medium and electronic equipment | |
CN111935111B (en) | Interaction method and device and electronic equipment | |
CN111163336B (en) | Video resource pushing method and device, electronic equipment and computer readable medium | |
CN110336592B (en) | Data transmission method suitable for Bluetooth card reader, electronic equipment and storage medium | |
CN112418389A (en) | Data processing method and device, electronic equipment and computer readable storage medium | |
CN111262907B (en) | Service instance access method and device and electronic equipment | |
CN113420275B (en) | Data connection processing method, related device and computer program product | |
CN110661857B (en) | Data synchronization method and device | |
CN112163237A (en) | Data processing method and device and electronic equipment | |
CN113064704A (en) | Task processing method and device, electronic equipment and computer readable medium | |
CN113824675A (en) | Method and device for managing login state | |
CN112311840A (en) | Multi-terminal data synchronization method, device, equipment and medium | |
CN112203113B (en) | Video stream structuring method and device, electronic equipment and computer readable medium | |
US20170134486A1 (en) | Method and device for information synchronization | |
CN111625707B (en) | Recommendation response method, device, medium and equipment | |
CN113382194B (en) | Screen projection code processing method, screen projection device, electronic equipment and storage medium | |
CN112527802B (en) | Soft link method and device based on key value database | |
CN110855767B (en) | Method, device, equipment and storage medium for responding operation request |
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 |