CN116764189B - Virtual space distribution method, device, medium, equipment and product - Google Patents
Virtual space distribution method, device, medium, equipment and product Download PDFInfo
- Publication number
- CN116764189B CN116764189B CN202310474570.3A CN202310474570A CN116764189B CN 116764189 B CN116764189 B CN 116764189B CN 202310474570 A CN202310474570 A CN 202310474570A CN 116764189 B CN116764189 B CN 116764189B
- Authority
- CN
- China
- Prior art keywords
- virtual space
- target
- server
- identity
- condition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000009826 distribution Methods 0.000 title description 4
- 230000006854 communication Effects 0.000 claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000003860 storage Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 30
- 230000007175 bidirectional communication Effects 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 22
- 230000003993 interaction Effects 0.000 description 22
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000009827 uniform distribution Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- 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/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Embodiments of the present specification provide a virtual space allocation method, a virtual space allocation apparatus, a computer-readable storage medium, an electronic device, and a computer program product, where the scheme includes: the terminal sends a matching request about the target user to a first gateway, which then acquires a virtual space arranged in a first server. Further, according to the sequence that the number of users corresponding to the virtual spaces is at least greater, whether the target virtual space for distributing the target user exists or not is sequentially judged. And under the condition that the first server has the target virtual space, determining the target identity of the target virtual space. And the target identity terminal can establish two-way communication connection with the first server, so that a target user is distributed to a target virtual space where the first server is arranged.
Description
Technical Field
Embodiments of the present disclosure relate to the field of data processing technologies, and in particular, to a virtual space allocation method, a virtual space allocation apparatus, a computer readable storage medium, an electronic device, and a computer program product.
Background
In the game scene of the mobile terminal, the digital person and the multi-person real-time interaction technology are hoped to be used, so that a more interesting interaction playing method is innovated, and the participation enthusiasm of users is further improved. However, the performance level of the mobile device of the user is uneven, the computing resources are limited, and in order to ensure a smoother playing experience of the user, how to reasonably distribute the user to perform the on-screen interaction becomes a great challenge.
It should be noted that the information disclosed in the foregoing background section is only for enhancement of understanding of the background of the present specification and thus may include information that does not form the prior art that is already known to those of ordinary skill in the art.
Disclosure of Invention
Embodiments of the present disclosure provide a virtual space allocation method, a virtual space allocation apparatus, a computer-readable storage medium, an electronic device, and a computer program product, which can ensure that users are preferentially matched to a virtual space with a large number of people, and can avoid the users from feeling a cool room as much as possible.
Additional features and advantages of embodiments of the present description will be set forth in the detailed description which follows, or in part will be apparent from the practice of the present description.
According to an aspect of the embodiments of the present disclosure, there is provided a virtual space allocation method, applied to a first gateway, the method including: under the condition of receiving a matching request about a target user sent by a terminal, acquiring a virtual space arranged in a first server, and sequentially judging whether a target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more; determining a target identity of the target virtual space under the condition that the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
According to another aspect of the embodiments of the present disclosure, there is provided a method for allocating a virtual space, applied to a terminal, the method including: sending a matching request about a target user to a first gateway, so that the first gateway obtains virtual spaces arranged in a first server under the condition of receiving the matching request, and sequentially judging whether target virtual spaces for distributing the target user exist or not according to the sequence that the number of users respectively corresponding to the virtual spaces is at least greater; and determining a target identity of the target virtual space when the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
According to still another aspect of the embodiments of the present disclosure, there is provided an apparatus for allocating a virtual space configured in a first gateway, where the apparatus includes: the device comprises an acquisition module and a determination module.
The acquisition module is used for acquiring virtual spaces arranged in the first server under the condition of receiving a matching request about a target user sent by a terminal, and sequentially judging whether the target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; the determining module is used for determining a target identity of the target virtual space under the condition that the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
According to still another aspect of embodiments of the present disclosure, there is provided an apparatus for allocating a virtual space configured in a terminal, where the apparatus includes: and a transmitting module.
The sending module is configured to send a matching request about a target user to a first gateway, so that the first gateway obtains a virtual space arranged in a first server when receiving the matching request, and sequentially determines whether a target virtual space for allocating the target user exists according to a sequence that the number of users respectively corresponding to the virtual space is at least greater than the number of users; and determining a target identity of the target virtual space when the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
According to an aspect of the embodiments of the present disclosure, there is provided an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the virtual space allocation method in the embodiments described above when executing the computer program.
According to another aspect of the embodiments of the present specification, there is provided a computer-readable storage medium having stored therein instructions which, when executed on a computer or a processor, cause the computer or the processor to perform the virtual space allocation method as in the embodiments described above.
According to a further aspect of the embodiments of the present specification, there is provided a computer program product comprising instructions which, when run on a computer or processor, cause the computer or processor to perform the method of allocating virtual space as in the embodiments described above.
The virtual space allocation method, the virtual space allocation device, the computer-readable storage medium, the electronic device, and the computer program product provided in the embodiments of the present disclosure have the following technical effects:
In the field virtual space allocation scheme provided in the embodiment of the present disclosure, the terminal sends a matching request about the target user to the first gateway, and the first gateway acquires the virtual space disposed in the first server. Further, according to the sequence that the number of users corresponding to the virtual spaces is at least greater, whether the target virtual space for distributing the target users exists or not is sequentially judged. And under the condition that the first server exists in the target virtual space, determining the target identity of the target virtual space. Because the terminal has limited computing resources, the number of people in the same virtual space is limited, and the number of people in the same virtual space is considered in the virtual space matching scheme provided by the embodiment of the specification, so that the display smoothness of the terminal is facilitated. Meanwhile, the method can ensure that the user preferentially joins rooms with more users, avoids the cold feeling of the rooms as much as possible, and is beneficial to improving the user experience.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the specification and together with the description, serve to explain the principles of the specification. It is obvious that the drawings in the following description are only some embodiments of the present specification, and that other drawings may be obtained from these drawings without inventive effort for a person of ordinary skill in the art.
Fig. 1 is an information interaction schematic diagram of a virtual space allocation method provided in an embodiment of the present disclosure.
Fig. 2 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure.
Fig. 3 is a schematic flow chart of establishing a communication connection based on RTMS according to an embodiment of the present disclosure.
Fig. 4 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure.
Fig. 5 is a schematic information interaction diagram among a terminal, a first gateway and a second gateway provided in an embodiment of the present disclosure.
Fig. 6 is a schematic diagram of server distribution provided in the embodiment of the present disclosure.
Fig. 7 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure.
Fig. 8 is a flowchart illustrating a method for allocating virtual space according to an embodiment of the present disclosure.
Fig. 9 is a schematic diagram of storing room information provided in an embodiment of the present disclosure.
Fig. 10 is a schematic diagram of room information provided in an embodiment of the present disclosure.
Fig. 11 is a flowchart illustrating a method for allocating virtual space according to an embodiment of the present disclosure.
Fig. 12 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure.
Fig. 13 is a schematic structural diagram of a virtual space allocation apparatus according to an embodiment of the present disclosure.
Fig. 14 is a schematic structural diagram of a virtual space allocation apparatus according to an embodiment of the present disclosure.
Fig. 15 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present specification more apparent, the following detailed description of the embodiments of the present specification will be given with reference to the accompanying drawings.
When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the present specification. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present description as detailed in the accompanying claims.
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present specification. One skilled in the relevant art will recognize, however, that the aspects of the specification may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known aspects have not been shown or described in detail to avoid obscuring aspects of the description.
Furthermore, the drawings are only schematic illustrations of the present specification and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure. Referring to fig. 1, the embodiment shown in this figure includes:
S10: the terminal sends a matching request for the target user to the first gateway.
The terminal 100 is exemplified by, but not limited to, a computer, a smart phone, a tablet, etc. The first gateway 110 is a network traffic access system Spanner developed based on the nginx secondary, and is used for carrying the functions of secure socket layer (Secure Sockets Layer, SSL) offloading and traffic load balancing. It is understood that the first gateway is not limited to Spanner.
The matching request is used for representing a request that a target user wants to be matched to a certain virtual space to participate in real-time interactive activities, wherein the matching request contains an identity identifier userID of the target user. Wherein the matching request may be a remote procedure call (Remote Procedure Call, RPC) protocol based request that requests service from a remote computer over a network without knowledge of the protocol of the underlying network technology.
In the case of receiving the above-described matching request about the target user transmitted by the terminal 100, the first gateway 110 performs S12: acquiring a virtual space arranged in a first server, and performing S14: and sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than the number of users.
In the embodiment of the present disclosure, since the real-time interaction is implemented based on the display of the user terminal, the number of users interacting with the screen in the virtual space is limited (for example, in a forgiving garden scene, the number of users participating in the interaction with the screen is limited to 10) due to the performance of the user mobile phone. And because the communication information of the same virtual space can be concentrated on the same server for processing, the problem of uneven utilization of server resources can be caused, and therefore, the scheme provides a matching mechanism of the virtual space, and the number of people in the same virtual space is considered in the virtual space matching scheme provided by the embodiment of the specification, so that the number of people interacting with a screen is avoided, the smooth display of the terminal is facilitated, and the uniform distribution of virtual resources arranged among the servers can be ensured.
Specifically, in the embodiment of the present disclosure, the first gateway 110 sequentially determines whether or not there is a target virtual space for allocating a target user according to the order in which the number of users corresponding to the virtual space is at least greater. In the case where the first gateway 110 determines that the first server 120 has the target virtual space, S16 is performed: and determining the target identity of the target virtual space. And the target identity terminal can establish two-way communication connection with the first server, so that a target user is distributed to a target virtual space where the first server is arranged.
In an exemplary embodiment, if the virtual space meeting arranged at the first server 120 is 5, the number of users corresponding to the 5 meeting is 9, 7, 5, 4, respectively. Then, according to the order that the number of users corresponding to the meeting respectively is at least greater, the first meeting (i.e. the meeting with the number of users of 9) is selected to execute the matching operation.
In order to improve the matching efficiency on the basis of ensuring the matching success rate, the same virtual space needs to be ensured to be matched with a user corresponding to one matching request (namely, concurrency is prevented), and in the embodiment of the specification, the user is matched to a certain virtual space in a locking matching mode. For example, when the request 1 and the first meeting are locked, the meeting is locked, so that the request 2 cannot be matched with the first meeting, and at this time, the request 2 is matched with the second meeting in the order of at least more people.
In the matching scheme of the virtual space provided in the embodiment shown in fig. 1, according to the order of at least the number of users corresponding to the virtual space respectively, whether the target virtual space for distributing the target user exists is sequentially determined, which is favorable for enabling the target user to join the virtual space with more people as much as possible (denoted as meeting), and is favorable for avoiding the false appearance of 'cold clearing' presented by the target user after the target user joins a certain virtual space.
The communication and collaboration parties under the remote condition can access at any time and any place, transfer virtual-real integrated multidimensional information in real time, and experience the immersive interaction activities
In another exemplary embodiment, a matching scheme of the virtual space is provided as shown in fig. 2 and fig. 3, in the embodiment shown in fig. 2, the bidirectional communication connection is established based on a real-time message service (REAL TIME MESSAGE SERVICE, RTMS), and the RTMS is a real-time channel established specially for scenes such as games, stocks, live bullets and the like, so that the method is applicable to scenes with high timeliness requirements, and a single machine operation can support a distributed architecture, in particular a single user supports 30-60 frame push of seconds. The two-way communication connection established based on the RTMS can be accessed nearby.
Because of the characteristics of the RTMS, there are custom requirements, and in order to ensure and maintain high availability, in this embodiment of the present disclosure, a second gateway 210 (refer to fig. 2 and 3) needs to be separately provided in addition to the first gateway 110, where the second gateway 210 is a dedicated gateway for establishing a bidirectional communication connection between the terminal and the server based on the RTMS.
The embodiment shown in fig. 2 is performed on the basis of the embodiment shown in fig. 1, and specifically, the embodiment shown in fig. 2 is described in connection with fig. 3. In S31, the terminal 100 transmits a matching request to the first gateway 110 (same as S10); in S32, the first gateway 110 obtains the target identity for matching the virtual space of the target user from the server (S12, S14, and S16). Further, in S33, the terminal 100 sends an access request to the second gateway 210, where the access request includes the target id. Referring to fig. 2, after determining the target identity in S16, the first gateway 110 performs S18: transmitting the target identity to the terminal 100; and executing S100: the terminal 100 transmits an access request to the second gateway 210.
After the second gateway 210 receives the above access request, it controls the directional routing of the terminal to the first server (S112 and S36) so that a bidirectional communication connection based on RTMS is established between the terminal and the first server, and the user enters the virtual space.
In the matching scheme of the virtual space provided by the embodiment shown in fig. 2, based on the real-time communication capability provided by the RTMS, the communicating and cooperating parties can access at any time and any place, transmit the virtual-real integrated multidimensional information in real time, and experience the interaction in the scene. Meanwhile, the scheme provided by the embodiment of the specification can enable the user to join the room with more people as much as possible, and the false impression that the virtual space presents 'cold clear' is avoided.
Fig. 4 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure, where the embodiment shown in the fig. 1 is performed based on the embodiment shown in the fig. 1. Specifically, in the case where it is determined in S14 that the first server does not currently have the target virtual space for matching the target user, the first gateway 110 performs S17: judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server. Wherein the first preset value is determined according to an amount of space in the server for arranging the virtual space. By setting the first preset values corresponding to the different servers, the uniform distribution and smooth expansion of virtual resources among the servers are guaranteed.
In the case where the number of virtual spaces disposed in the first server is not greater than the first preset value, which indicates that there is a free space for the current server to construct a new meeting, S19 is executed: and creating a target virtual space in the first server, and determining a target identity of the target virtual space, so that the terminal establishes two-way communication connection with the first server based on the target identity.
In an exemplary embodiment, the virtual space is created based on a real-time message service, RTMS; the specific implementation mode of creating the target virtual space at the first server is as follows: the first gateway 110 transmits a creation request for creating a target virtual space at the first server to the RTMS client, wherein the RTMS client then returns target identification information about the created target virtual space.
In another case, when the number of virtual spaces disposed in the first server is greater than the first preset value, which indicates that there is no free space for constructing a new meeting already existing in the current server, S111 is executed: and switching to the second server to judge whether a target virtual space for distributing the target user exists in the virtual space of the second server.
For example, referring to fig. 5, server resources of two regions RZ41 and RZ42 are shown, where the first server and the second server may be distributed in the region RZ41, or the first server and the second server may be distributed in the region RZ41 and the region RZ42, respectively. The determination manner of whether the target virtual space for allocating the target user exists in the virtual space arranged in the second server is the same as the determination manner of whether the target virtual space for allocating the target user exists in the virtual space arranged in the first server, and is not described herein.
For example, reference may be made to a Logical data center (Logical DATA CENTER, LDC) architecture as shown in FIG. 6 for server distribution.
In the matching scheme of the virtual space provided in the embodiment shown in fig. 4, the user initiates a matching request, and the Spanner layer (the first gateway 110) distributes the traffic to the corresponding server in an equalizing manner, so that the meeting resources created on the corresponding server are also uniformly distributed; the method can synchronously support smooth horizontal expansion or contraction based on LDC deployment architecture meeting resources; meanwhile, the user can join the room with more people as much as possible, and the false impression that the virtual space presents cold clearing is avoided.
From the perspective of users participating in real-time activity, obtaining an identity (i.e., token about virtual space) for establishing an RTMS connection includes two approaches, one is an active acquisition mode that actively initiates a meeting matching request, and the other is a passive acquisition mode that shares links by others. The passive acquisition mode is as follows: the user A participates in real-time interactive activities in the meeting, and under the condition that the number of people in the meeting is not more than a threshold value (such as 10 people), the user A can invite the friend user B to participate in the meeting nearby, so that the situation that two people are in the meeting at the same place is realized.
Fig. 7 is an information interaction schematic diagram of a virtual space allocation method according to an embodiment of the present disclosure, where the embodiment shown in the fig. 1 is performed based on the embodiment shown in the fig. 1. Specifically, the first gateway 110, after receiving the matching request with respect to the target user, performs S11: and judging whether the matching request contains the sharing identification. In the passive acquisition mode, the link acquired by the invited user contains a sharing identifier.
Under the condition that the matching request does not contain the sharing identification, if the matching request is in an active acquisition mode, S12, S14 and S16 are executed, and further, the bidirectional communication connection between the terminal and the server is constructed according to the target identity identification, so that the target user can be added into the corresponding meeting.
Under the condition that the matching request contains the sharing identifier, the matching request is described as belonging to a passive acquisition mode, in the passive acquisition mode, the identity identifier of the related meeting can be resolved in the sharing identifier, and then the first gateway executes S70: and determining the target identity of the shared virtual space according to the sharing identity, wherein the terminal establishes two-way communication connection with the corresponding server based on the target identity so as to distribute the target user to the virtual space arranged in the corresponding server, and further realize the two-way communication connection between the terminal and the server so as to add the target user into the corresponding meeting.
Since the user initiates the same virtual space and the invited mode exists, in order to ensure that the invited user can smoothly join the room where the inviter is located (to interact in the same screen), the embodiment of the present specification further provides a scheme that satisfies the following two aspects at the same time: avoiding "cool purge" as much as possible and providing a "reserve seat" solution for users joining by passive acquisition. Specifically, fig. 8 is a flow chart of a virtual space allocation method provided in the embodiment of the present disclosure, where an execution body of the embodiment shown in the fig. is a first gateway.
In S810, a virtual space with a user number smaller than a second preset value is obtained in a virtual space arranged at the first server, to obtain a first virtual space set, and a virtual space with a user number larger than the second preset value is obtained in a virtual space arranged at the first server, to obtain a second virtual space set.
That is, for all virtual spaces meeting arranged on the same server, the current number of participants is divided into two subsets according to meeting. The second preset value may be determined according to a maximum number of people threshold in one meeting, for example, the maximum number of people threshold in one meeting is 10, and the second preset value may be set to a value greater than 5 and less than 10, for example, the second preset value takes a value of 7. The virtual space arranged at the first server is divided into: in the embodiment of the present disclosure, the user in the active acquisition mode will be preferentially matched in the first virtual space set, and the second virtual space set will be reserved for the user in the passive acquisition mode.
In S820, it is sequentially determined whether or not the target virtual space for allocating the target user exists in the first virtual space set in the order in which the number of users corresponding to the virtual spaces is at least greater than the number of users corresponding to the virtual space set. In S830, a target identity of the target virtual space is determined, wherein the terminal establishes a bi-directional communication connection with the first server based on the target identity.
The method for matching the users in the first virtual space set through the active acquisition method is provided in S820 and S830, and the specific implementation of the method is described in detail in the foregoing embodiments, which are not described herein again.
In S840, it is determined whether the number of virtual spaces disposed at the first server is greater than a first preset value corresponding to the first server. In S850, a target virtual space is newly created in the first server, and a target identity of the target virtual space is determined, where the terminal establishes a bidirectional communication connection with the first server based on the target identity.
Wherein, S840 and S850 provide that if the matching fails in the first set of virtual spaces (e.g., no virtual space with a number of people less than 7 exists in the current server), then it is further determined whether the current server is able to create a new virtual space. In the case that it is determined that the current server can also create a virtual space, a new meeting is preferentially created for allocating the user who issues the matching request, and the specific implementation of this is also described in detail in the foregoing embodiments, and is not described herein again.
Under the condition that the current server cannot establish a new virtual space, the mode that the users in the active acquisition mode are matched in the second virtual space set is determined: in S860, it is sequentially determined whether or not the target virtual space for allocation of the target user exists in the second virtual space set in the order in which the number of users corresponding to the virtual spaces is at least greater than the first virtual space set. In the case where the second virtual space set has the target virtual space for allocating the target user, S870 is executed: and determining a target identity of the target virtual space, wherein the terminal establishes a two-way communication connection with the first server based on the target identity. It can be seen that the meeting in the second virtual space set is matched through the spam through S860 and S870 to ensure that the user can smoothly join.
In the case where there is also a target virtual space for allocating the target user in the second virtual space set, S880 is performed: and switching to the second server to judge whether a target virtual space for distributing the target user exists in the virtual space of the second server.
In the matching scheme of the virtual space provided in the embodiment shown in fig. 8, the following two schemes can be simultaneously satisfied: the scheme of 'cold clearing' and 'reserved seat' is provided for the user added in the passive acquisition mode as far as possible, so that the user added in the virtual space in the active acquisition mode or the user added in the passive acquisition mode can be realized smoothly, the user can be added in more virtual spaces of the user as far as possible, the cold clearing feeling of the user is avoided as far as possible, and the activity experience of the user is improved.
Fig. 9 is a schematic diagram of storing room information provided in an embodiment of the present disclosure. Referring to fig. 9, the RTMS SDK in the embodiment of the present specification maintains room information (also called meeting information) of the communication layer, and also needs to manage the corresponding room information at the server. Subsequent messaging, real-time location synchronization, room leaving, etc. operations with respect to the target user remain in the corresponding room model after the matching process with respect to the target user is completed. Referring to fig. 10 for an example, room information is shown, including: MEETINGID (Meeting unique identification), shareToken (sharing identification), backtime (backup time), status (room status, if in backup status), visualmode (room mode is classified as 2D/3D type), memberinfos (in-room member information), and memberposition (member location information), wherein memberinfos contains: userID, matchtime (matching time), userview (member information), cardview (interaction information) as keys, socialview; memberposition comprises: userID, posdata (position coordinates) as key and date (server timestamp).
The meeting information created by the RTMS service is pure memory storage, wherein the pure memory stores room information, no disk reading/writing operation exists, performance loss can be reduced, the RTMS service has the advantage of high calculation speed, and the memory is naturally supported to support high concurrency operation, so that the RTMS service is more suitable for large-scale real-time interaction scenes.
It should be noted that, the asset data of the user in the corresponding meeting is not strongly coupled with the meeting information, so even if the server is restarted, the asset data of the user will not be lost.
In the case of room information stored in server-only memory, if the server is restarted, the data resources (including room information) stored in the memory are lost. In response to this problem, embodiments of the present disclosure provide a "server restart match" capability that allows users in the same room to "feel less" to be re-matched to a new room prior to a restart in the event of an exception to a server restart.
Fig. 11 is a flowchart of a virtual space allocation method provided in the embodiment of the present disclosure, where an execution body of the embodiment shown in the fig. is a first gateway.
In S1110, a matching request sent by the terminal is received, and it is determined that the matching request includes a restart identifier.
Illustratively, in the case where room information is stored purely in memory, the end user will be forced out of the original room after having encountered a server restart. For example, the room Q before the server is restarted contains five users, user 1 to user 5, and after the server is restarted, the user 1 to user 5 is forced to leave the room Q. If the user 1-user 5 wish to reenter the same room, the matching request sent again by the user 1-user 5 will include a restart identifier. It can be seen that the restart identifier is generated when the terminal accesses the first server and when the terminal sends the matching request again after the first server is restarted.
In S1120, according to the first identity carried in the access request, the first database is queried to determine whether the first database contains the first identity.
The matching request including the restart identifier includes an identity (denoted as a first identity) of a room in which the user is located last time. The first identity identifier can be used as a part of a restarting identifier terminal, and can be set separately from the restarting identifier. For example, in the above embodiment, the identity of the room Q is Q13abc, and after the server that locates the room Q is restarted, the matching request initiated by the user 1-the user 5 includes Q13abc (first identity).
For example, when a first user in the same virtual space before restarting sends a matching request, a mapping relation of a new virtual space and an old virtual space is set in the first database, for example, an identity of the old virtual space is used as a key, and an identity of a newly-built virtual space is used as a value. For example, after the first user of the above users 1-5 sends the matching request, the identity "Q13abc" related to the new and old virtual space "room Q" is set in the first database as a key, and the corresponding value is the identity (i.e. the second identity, if Q15zx 0) of the new virtual space "room Q'", and the "Q13abc" is stored in the first database: q15zx 0'
In S1120, the first database is queried according to the first identity carried in the access request, to determine whether the first database contains the first identity. If the first database does not include the first identity, which indicates that the user is the first user to initiate a matching request in a room after the server is restarted, S1130 is executed: and determining a second identity corresponding to the reconstructed virtual space arranged on the third server, and storing the first identity and the second identity into the first database in a mapping relation.
If it is determined in S1120 that the first database does not include the first identity, indicating that the user is not the first user to initiate a matching request in a room after being restarted from the server, S1140 is performed: and acquiring a second identity mark with a mapping relation with the first identity mark from the first database.
For example, after the user 1 is the first user to send a matching request after the room Q is restarted, in response to the user 1 sending a matching request including a restart identifier and a room Q identifier, the first gateway creates a new virtual space (i.e., room Q '), and at the same time, backs up the newly-built room Q' in the first database, that is, stores the newly-built room Q 'with the first identifier of the room Q as a key and the second identifier of the newly-built room Q' as a value. Therefore, under the condition that the user 2 sends out the matching request, as the restart identifier and the first identity identifier of the room Q are carried in the matching request, when the first gateway queries the first database by taking the first identity identifier as a key, the first identity identifier can be determined to be contained in the first database, and the second identity identifier of the room Q 'can be determined according to the mapping relation, further, the user 2 can be added into the newly-built room Q', so that the user 2 and the user 1 are simultaneously in the same room to perform the same-screen interaction.
Through the embodiment shown in fig. 11, a first user initiating re-matching creates a new meeting, and all subsequently entered users can take the meeting information from the cache, so that users carrying the same token request parameters (i.e. all users on the same screen before restarting) are re-allocated into one meeting after restarting the server, thereby realizing that users originally in the same room recover the same-screen interaction state.
In an exemplary embodiment, referring to fig. 11, S1150 is also performed after S1130 is performed: setting a backup identifier for reconstructing the virtual space and setting a backup time length for the backup identifier, wherein the backup identifier for reconstructing the virtual space is canceled when the backup time length is greater than a third preset value.
By setting the backup identifier, the situation that the common user occupies the newly-built virtual space after restarting can be effectively avoided, for example, the total number of people in the room Q' is 10, and the number of users in the room Q is 5 in the embodiment. If the number of users joining in the fake Q 'exceeds 5 by the active acquisition mode, the users in the original room Q cannot join in the room Q', in this embodiment of the present disclosure, a backup identifier is set in a virtual space newly created by restarting the server, and in the matching scheme shown in fig. 1, the virtual space in the backup state is removed first, and then a specific matching process is executed, as shown in the embodiment of fig. 12:
The information interaction schematic diagram of the virtual space allocation method provided in the embodiment of the present disclosure is implemented on the basis of the embodiment shown in fig. 1. Specifically, as a specific embodiment of S12, S12' is performed: all virtual spaces arranged in the first server are acquired, and a virtual space containing a backup identifier is proposed.
For example, there is a case that a user does not need to rejoin a newly created virtual space in an old virtual space subjected to restarting, so in order to avoid resource waste, a backup identifier is set, and a backup time length is set. And canceling the backup identification of the reconstructed virtual space under the condition that the backup time length is larger than a third preset value (for example, 5 minutes), wherein the virtual space which is no longer in the backup state does not need to be rejected.
By setting the backup identifier, the embodiment shown in fig. 12 eliminates the virtual space in the backup in the matching process shown in fig. 1, thereby providing further guarantee for the user in the same room subjected to restarting to be matched to the new same room in a 'no sense'. And meanwhile, setting the backup time length for the backup mark, and canceling displaying the backup mark when the backup time length is larger than a third preset value, thereby reducing the resource waste and improving the resource utilization rate.
In an exemplary embodiment, the room information as shown in fig. 10 may be persisted in the second database so that the problem of users in the same virtual space being scattered due to server restart does not occur. Specifically, the first server is pre-arranged with N virtual spaces (N is a positive integer), each virtual space corresponding to a set of room information, wherein the virtual space arranged at the first server, the room information corresponding to which is stored in the second database. The matching scheme for the virtual space in this case is as follows:
In the virtual space matching scheme as shown in fig. 1, after performing S12 to acquire a virtual space arranged in a first server, the method includes: and acquiring a virtual space with the number of users smaller than a fourth preset value in the virtual space to obtain a third virtual space set, or executing M virtual spaces with the minimum number of users in the virtual space to obtain the third virtual space set, wherein M is a positive integer smaller than N.
Further, as a specific embodiment of S14, performing: for the third virtual space set, sequentially judging whether a target virtual space for distributing target users exists in the third virtual space set according to the sequence that the number of users corresponding to the virtual spaces is at least greater;
Further, as a specific embodiment of S16, performing: and under the condition that the third virtual space is concentrated to have the target virtual space, determining the target identity of the target virtual space, and further realizing the bidirectional communication between the terminal and the corresponding server. In the case where the target virtual space does not exist in the third virtual space set, switching to the fourth server to determine whether there is a target virtual space for allocating the target user in the virtual space arranged in the fourth server.
In the virtual space matching scheme provided by the embodiment of the specification, a random uniform matching mechanism is arranged among servers, so that uniform distribution, smooth expansion and the like of meeting resources among the servers are ensured; meanwhile, the user can join the room with more people as much as possible, and the false impression that the virtual space presents cold clearing is avoided. Based on the real-time communication capability provided by RTMS, the method is applicable to scenes with high timeliness requirements, and the single machine operation can support a distributed architecture. On the other hand, the embodiment of the specification provides pure memory for storing room information, avoids performance loss caused by disk reading and writing, has great advantage in calculation speed, and is suitable for real-time interaction scenes of large-flow, high concurrency and frequent message communication. In the case that the pure memory stores room information, the embodiments of the present disclosure also provide a "server restart matching" capability to enable a user who is on the same screen last to "feel less" to be re-matched to a new room in the case of a server restart, for the problem that may be caused after the restart.
It should be noted that the above-described figures are only schematic illustrations of processes involved in the method according to the exemplary embodiments of the present specification, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
The following are device embodiments of the present specification that may be used to perform method embodiments of the present specification. For details not disclosed in the device embodiments of the present specification, please refer to the method embodiments of the present specification.
Fig. 13 is a schematic structural diagram of a virtual space allocation device according to an embodiment of the present disclosure. Referring to fig. 13, the virtual space allocation apparatus shown in the fig. may be implemented by software, hardware, or a combination of both as all or a part of the first gateway or the electronic device, or may be integrated on the first gateway as an independent module, or may be integrated in the electronic device as an independent module.
In the embodiment of the present disclosure, the apparatus 1300 for allocating a virtual space includes: an acquisition module 1310 and a determination module 1320.
The obtaining module 1310 is configured to obtain, when receiving a matching request about a target user sent by a terminal, a virtual space arranged in a first server, and sequentially determine whether a target virtual space for allocating the target user exists according to an order in which the number of users respectively corresponding to the virtual space is at least greater than the number of users; and the determining module 1320 is configured to determine a target identity of the target virtual space when the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
In an exemplary embodiment, based on the foregoing, the apparatus further includes: the device comprises a judging module and a switching module.
The judging module is used for: judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the first server does not have the target virtual space; the determining module 1320 is further configured to: under the condition that the number of virtual spaces arranged on the first server is not larger than the first preset value, creating a target virtual space on the first server, and determining a target identity of the target virtual space, wherein the terminal establishes two-way communication connection with the first server based on the target identity; the switching module is used for: and switching to a second server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the second server under the condition that the number of the virtual spaces arranged in the first server is larger than the first preset value.
In an exemplary embodiment, based on the foregoing scheme, the obtaining module 1310 is further configured to: after the virtual space arranged in the first server is acquired, acquiring a virtual space with the number of users smaller than a second preset value in the virtual space, and obtaining a first virtual space set;
The judging module is specifically configured to: for the first virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the first virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least greater; the determining module is specifically configured to: and under the condition that the first virtual space is concentrated and the target virtual space exists, determining the target identity of the target virtual space.
In an exemplary embodiment, based on the foregoing, the apparatus further includes: and (5) newly building a module.
The judging module is further used for: judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the target virtual space does not exist in the first virtual space set; the new module is used for: and under the condition that the number of the virtual spaces arranged on the first server is not larger than the first preset value, creating a target virtual space on the first server, and determining a target identity of the target virtual space, wherein the terminal establishes two-way communication connection with the first server based on the target identity.
In an exemplary embodiment, based on the foregoing, the virtual space is created based on a real-time message service, RTMS; wherein, above-mentioned new construction module is specifically used for: and sending a creation request for creating a target virtual space on the first server to an RTMS client, wherein the RTMS client returns target identity information about the target virtual space.
In an exemplary embodiment, based on the foregoing scheme, the obtaining module 1310 is further configured to: under the condition that the number of the virtual spaces arranged on the first server is larger than the first preset value, obtaining a virtual space with the number of users in the virtual space not smaller than the second preset value, and obtaining a second virtual space set; the judging module is specifically configured to: for the second virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the second virtual space set according to the sequence that the number of users corresponding to the virtual spaces is at least greater than the number of users corresponding to the virtual space; the determining module 1320 is specifically configured to: and under the condition that the second virtual space is concentrated in the target virtual space, determining the target identity of the target virtual space.
In an exemplary embodiment, based on the foregoing scheme, the above-mentioned switching module is further configured to: and switching to a second server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the second server under the condition that the target virtual space does not exist in the second virtual space set.
In an exemplary embodiment, based on the foregoing scheme, the determining module is further configured to: before the obtaining module 1310 obtains the virtual space disposed in the first server, it is determined whether the matched request includes the sharing identifier; the judging module is used for: under the condition that the matching request contains the sharing identification, acquiring virtual spaces arranged in a first server, and sequentially judging whether target virtual spaces for distributing the target users exist or not according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; the determining module is used for: and under the condition that the matching request comprises the sharing identification, determining a target identity of the shared virtual space according to the analysis identification, and controlling the terminal to establish bidirectional communication connection with a corresponding server based on the target identity so as to distribute the target user to the virtual space arranged in the corresponding server.
In an exemplary embodiment, based on the foregoing, the bi-directional communication connection is established based on a real-time messaging service, RTMS; the device also comprises a sending module.
The sending module is used for: after the determining module 1320 determines the target identity of the target virtual space, the target identity is sent to the terminal, so that the terminal sends the target identity to a second gateway, where the second gateway establishes a bidirectional communication connection between the terminal and the first server based on the target identity after receiving the target identity.
In an exemplary embodiment, based on the foregoing, each of the virtual spaces corresponds to a set of room information, where the virtual space is disposed in the first server, and the corresponding room information is stored in the memory of the first server; the room information includes: identity and sharing identity with respect to the virtual space.
In an exemplary embodiment, based on the foregoing, the apparatus further includes: and a query module.
The judging module is further used for: after receiving a matching request about a target user sent by a terminal, judging whether the matching request contains a restarting identifier, wherein the restarting identifier is generated when the terminal sends the matching request again after the first server is restarted when the terminal accesses the first server; the query module is used for: under the condition that the matched request contains a restarting identifier, inquiring a first database according to a first identifier carried in the matched request to judge whether the first database contains the first identifier, wherein the first identifier corresponds to a virtual space which establishes bidirectional communication connection with the terminal before restarting the first server; the determining module 1320 is further configured to: under the condition that the first identity is not contained in the first database, determining a second identity corresponding to the reconstructed virtual space arranged on a third server, and storing the first identity and the second identity into the first database in a mapping relation; the second identity is used for establishing two-way communication connection between the terminal and the third server so as to distribute the target user to the reconstructed virtual space arranged on the third server.
In an exemplary embodiment, based on the foregoing scheme, the above-mentioned obtaining module is further configured to: under the condition that the first database contains the first identity, acquiring a second identity with a mapping relation with the first identity from the first database; the second identity is used for establishing two-way communication connection between the terminal and the third server so as to distribute the target user to the reconstructed virtual space arranged on the third server.
In an exemplary embodiment, based on the foregoing, the apparatus further includes: and setting a module.
Wherein, the setting module is used for: responding to the first identity mark and the second identity mark which are stored in the first database in a mapping relation, setting a backup mark for the reconstructed virtual space, and setting a backup time length for the backup mark, wherein the backup mark of the reconstructed virtual space is canceled under the condition that the backup time length is larger than a third preset value;
the acquiring module 1310 is specifically configured to: and under the condition of receiving a matching request about a target user sent by a terminal, removing the reconstructed virtual space containing the backup identifier from all the virtual spaces arranged in the first server to obtain the virtual space arranged in the first server.
In an exemplary embodiment, based on the foregoing solution, the first server is pre-configured with N virtual spaces, where N is a positive integer, each of the virtual spaces corresponds to a set of room information, where the virtual space configured in the first server stores the room information corresponding to the virtual space in the second database; the room information includes: identity and sharing identity with respect to the virtual space.
In an exemplary embodiment, based on the foregoing scheme, the obtaining module 1310 is further configured to: after the virtual space arranged in the first server is obtained, obtaining a virtual space with the number of users smaller than a fourth preset value in the virtual space, or obtaining M virtual spaces with the minimum number of users in the virtual space, so as to obtain a third virtual space set, wherein M is a positive integer smaller than N; the judging module is specifically configured to: for the third virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the third virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least greater; the determining module 1320 specifically is configured to: and under the condition that the third virtual space is concentrated in the target virtual space, determining the target identity of the target virtual space.
In an exemplary embodiment, based on the foregoing scheme, the above-mentioned switching module is further configured to: and switching to a fourth server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the fourth server under the condition that the target virtual space does not exist in the third virtual space set.
It should be noted that, when the virtual space allocation apparatus provided in the foregoing embodiment performs the virtual space allocation method, only the division of the foregoing functional modules is used as an example, in practical application, the foregoing functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above.
In addition, the virtual space allocation apparatus provided in the above embodiment and the virtual space allocation method embodiment belong to the same concept, so for details not disclosed in the embodiment of the apparatus of the present disclosure, please refer to the embodiment of the virtual space allocation method described in the present disclosure, and the details are not repeated here.
Fig. 14 is a schematic structural diagram of a virtual space allocation device according to an embodiment of the present disclosure. Referring to fig. 14, the virtual space allocation apparatus shown in the figure may be implemented as all or a part of a terminal or an electronic device by software, hardware, or a combination of both, and may be integrated on the terminal as a separate module, or may be integrated in the electronic device as a separate module.
In the embodiment of the present disclosure, the virtual space allocation apparatus 1400 includes: a transmit module 14100.
The sending module 1410 is configured to send a matching request about a target user to a first gateway, so that the first gateway obtains a virtual space arranged in a first server when receiving the matching request, and sequentially determines whether a target virtual space for allocating the target user exists according to a sequence that a number of users corresponding to the virtual space is at least greater than a number of users corresponding to the virtual space; and determining a target identity of the target virtual space when the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
In an exemplary embodiment, based on the above scheme, the above bi-directional communication connection is established based on a real-time message service RTMS; the virtual space allocation apparatus 1400 further includes: and a receiving module.
Wherein, the above-mentioned receiving module is used for: receiving the target identity sent by the first gateway; the sending module 1410 is further configured to: and sending the target identity to a second gateway, wherein the second gateway establishes bidirectional communication connection between the terminal and the first server based on the target identity after receiving the target identity.
It should be noted that, when the virtual space allocation apparatus provided in the foregoing embodiment performs the virtual space allocation method, only the division of the foregoing functional modules is used as an example, in practical application, the foregoing functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above.
In addition, the virtual space allocation apparatus provided in the above embodiment and the virtual space allocation method embodiment belong to the same concept, so for details not disclosed in the embodiment of the apparatus of the present disclosure, please refer to the embodiment of the virtual space allocation method described in the present disclosure, and the details are not repeated here.
The present description also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method of any of the previous embodiments. The computer readable storage medium may include, among other things, any type of disk including floppy disks, optical disks, DVDs (Digital Video Disc, digital versatile disks), CD-ROMs (Compact Disc Read-Only Memory), microdrives, and magneto-optical disks, ROMs (Read-Only Memory), RAMs (Random Access Memory, random access memories), EPROMs (Erasable Programmable Read-Only Memory), EEPROMs (ELECTRICALLY ERASABLE PROGRAMMABLE READ ONLY MEMORY, electrically erasable programmable Read-Only Memory), DRAMs (Dynamic Random Access Memory ), VRAMs (Video Random Access Memory, video random access Memory), flash Memory devices, magnetic or optical cards, nanosystems (including molecular Memory ICs), or any type of media or device suitable for storing instructions and/or data.
Fig. 15 schematically shows a structural diagram of an electronic device in an exemplary embodiment according to the present specification. Referring to fig. 15, an electronic device 1500 includes: a processor 1501 and a memory 1502.
In the embodiment of the present disclosure, the processor 1501 is a control center of a computer system, and may be a processor of a physical machine or a processor of a virtual machine. The processor 1501 may include one or more processing cores, such as a 4-core processor, an 8-core processor, or the like. The processor 1501 may 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), programmable logic array (Programmable Logic Array, PLA). The processor 1501 may also include a main processor, which is a processor for processing data in an awake state, and a coprocessor; a coprocessor is a low-power processor for processing data in a standby state.
In the embodiment of the present disclosure, in the case where the electronic device corresponds to the first gateway, the processor 1501 is specifically configured to:
Under the condition of receiving a matching request about a target user sent by a terminal, acquiring a virtual space arranged in a first server, and sequentially judging whether a target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more; determining a target identity of the target virtual space under the condition that the first server exists in the target virtual space; the target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
Further, the processor 1501 is further configured to: judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the first server does not have the target virtual space; under the condition that the number of virtual spaces arranged on the first server is not larger than the first preset value, creating a target virtual space on the first server, and determining a target identity of the target virtual space, wherein the terminal establishes two-way communication connection with the first server based on the target identity; and switching to a second server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the second server under the condition that the number of the virtual spaces arranged in the first server is larger than the first preset value.
Further, the processor 1501 is further configured to: after the virtual space arranged in the first server is obtained, obtaining a virtual space with the number of users smaller than a second preset value in the virtual space, and obtaining a first virtual space set; the method for sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater comprises the following steps: for the first virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the first virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least greater; and determining a target identity of the target virtual space when the first server exists in the target virtual space, including: and under the condition that the first virtual space is concentrated and the target virtual space exists, determining the target identity of the target virtual space.
Further, the processor 1501 is further configured to:
Judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the target virtual space does not exist in the first virtual space set; and under the condition that the number of the virtual spaces arranged on the first server is not larger than the first preset value, creating a target virtual space on the first server, and determining a target identity of the target virtual space, wherein the terminal establishes two-way communication connection with the first server based on the target identity.
Further, the virtual space is created based on a real-time message service (RTMS); the creating the target virtual space in the first server includes: and sending a creation request for creating a target virtual space on the first server to an RTMS client, wherein the RTMS client returns target identity information about the target virtual space.
Further, the processor 1501 is further configured to:
Under the condition that the number of the virtual spaces arranged on the first server is larger than the first preset value, obtaining a virtual space with the number of users in the virtual space not smaller than the second preset value, and obtaining a second virtual space set; the method for sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater comprises the following steps: for the second virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the second virtual space set according to the sequence that the number of users corresponding to the virtual spaces is at least greater than the number of users corresponding to the virtual space; and determining a target identity of the target virtual space when the first server exists in the target virtual space, including: and under the condition that the second virtual space is concentrated in the target virtual space, determining the target identity of the target virtual space.
Further, the processor 1501 is further configured to: and switching to a second server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the second server under the condition that the target virtual space does not exist in the second virtual space set.
Further, the processor 1501 is further configured to: before the virtual space arranged in the first server is obtained, judging whether the matched request contains a sharing identifier or not; under the condition that the matching request contains the sharing identifier, acquiring a virtual space arranged in a first server, and sequentially judging whether a target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more; and under the condition that the matching request comprises the sharing identification, determining a target identity of the shared virtual space according to the analysis identification, and controlling the terminal to establish bidirectional communication connection with a corresponding server based on the target identity so as to distribute the target user to the virtual space arranged in the corresponding server.
Further, the bidirectional communication connection is established based on a real-time message service RTMS; the above processor 1501 is also configured to: and after the target identity of the target virtual space is determined, the target identity is sent to the terminal, so that the terminal sends the target identity to a second gateway, and the second gateway establishes bidirectional communication connection between the terminal and the first server based on the target identity after receiving the target identity.
Further, each of the virtual spaces corresponds to a set of room information, wherein the virtual space is arranged in the first server, and the corresponding room information is stored in the memory of the first server; the room information includes: identity and sharing identity with respect to the virtual space.
Further, the processor 1501 is further configured to: after receiving a matching request about a target user sent by a terminal, judging whether the matching request contains a restarting identifier, wherein the restarting identifier is generated when the terminal sends the matching request again after the first server is restarted when the terminal accesses the first server; under the condition that the matched request contains a restarting identifier, inquiring a first database according to a first identifier carried in the matched request to judge whether the first database contains the first identifier, wherein the first identifier corresponds to a virtual space which establishes bidirectional communication connection with the terminal before restarting the first server; under the condition that the first identity is not contained in the first database, determining a second identity corresponding to the reconstructed virtual space arranged on a third server, and storing the first identity and the second identity into the first database in a mapping relation; the second identity is used for establishing two-way communication connection between the terminal and the third server so as to distribute the target user to the reconstructed virtual space arranged on the third server.
Further, the processor 1501 is further configured to: under the condition that the first database contains the first identity, acquiring a second identity with a mapping relation with the first identity from the first database; the second identity is used for establishing two-way communication connection between the terminal and the third server so as to distribute the target user to the reconstructed virtual space arranged on the third server.
Further, the processor 1501 is further configured to: responding to the first identity mark and the second identity mark which are stored in the first database in a mapping relation, setting a backup mark for the reconstructed virtual space, and setting a backup time length for the backup mark, wherein the backup mark of the reconstructed virtual space is canceled under the condition that the backup time length is larger than a third preset value; in the case of receiving a matching request about a target user sent by a terminal, the method for acquiring the virtual space arranged in the first server includes: and under the condition of receiving a matching request about a target user sent by a terminal, removing the reconstructed virtual space containing the backup identifier from all the virtual spaces arranged in the first server to obtain the virtual space arranged in the first server.
Further, the first server is pre-configured with N virtual spaces, where N is a positive integer, each of the virtual spaces corresponds to a set of room information, and the room information corresponding to the virtual spaces configured in the first server is stored in the second database; the room information includes: identity and sharing identity with respect to the virtual space.
Further, the processor 1501 is further configured to: after the virtual space arranged in the first server is obtained, obtaining a virtual space with the number of users smaller than a fourth preset value in the virtual space, or obtaining M virtual spaces with the minimum number of users in the virtual space, so as to obtain a third virtual space set, wherein M is a positive integer smaller than N; the method for sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater comprises the following steps: for the third virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the third virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least greater; and determining a target identity of the target virtual space when the first server exists in the target virtual space, including: and under the condition that the third virtual space is concentrated in the target virtual space, determining the target identity of the target virtual space.
Further, the processor 1501 is further configured to: and switching to a fourth server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the fourth server under the condition that the target virtual space does not exist in the third virtual space set.
In the embodiment of the present specification, in the case where the electronic device corresponds to a terminal, the processor 1501 is specifically configured to:
Sending an access request about a target user to a first gateway, so that the first gateway obtains a virtual space arranged in a first server under the condition of receiving the access request, and sequentially judges whether a target virtual space for distributing the target user exists according to the sequence that the number of users respectively corresponding to the virtual space is at least greater; and determining a target identity of the target virtual space when the first server exists in the target virtual space;
The target identity is used for establishing two-way communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server.
Further, the processor 1501 is further configured to: the two-way communication connection is established based on a real-time message service RTMS; receiving the target identity sent by the first gateway; and sending the target identity to a second gateway, wherein the second gateway establishes RTMS connection between the terminal and the first server based on the target identity after receiving the target identity.
Memory 1502 may include one or more computer-readable storage media, which may be non-transitory. Memory 1502 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments of the present description, a non-transitory computer readable storage medium in memory 1502 is used to store at least one instruction for execution by processor 1501 to implement the methods in embodiments of the present description.
In some embodiments, the electronic device 1500 further includes: a peripheral interface 1503 and at least one peripheral device. The processor 1501, memory 1502 and peripheral interface 1503 may be connected by a bus or signal lines. The individual peripheral devices may be connected to the peripheral device interface 1503 via a bus, signal lines, or circuit board. Specifically, the peripheral device includes: at least one of a display 1504, a camera 1505, and an audio circuit 1506.
A peripheral interface 1503 may be used to connect at least one Input/Output (I/O) related peripheral device to the processor 1501 and the memory 1502. In some embodiments of the present description, the processor 1501, the memory 1502, and the peripheral interface 1503 are integrated on the same chip or circuit board; in some other embodiments of the present description, either or both of the processor 1501, the memory 1502, and the peripheral interface 1503 may be implemented on separate chips or circuit boards. The embodiment of the present specification is not particularly limited thereto.
The display 1504 is used to display a User Interface (UI). The UI may include graphics, text, icons, video, and any combination thereof. When the display 1504 is a touch display, the display 1504 also has the ability to collect touch signals at or above the surface of the display 1504. The touch signal may be input to the processor 1501 as a control signal for processing. At this point, the display 1504 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments of the present description, the display 1504 may be one, providing a front panel of the electronic device 1500; in other embodiments of the present disclosure, the display 1504 may be at least two, and disposed on different surfaces of the electronic device 1500 or in a folded design; in still other embodiments of the present description, the display 1504 may be a flexible display disposed on a curved surface or a folded surface of the electronic device 1500. Even more, the display 1504 may be arranged in a non-rectangular irregular pattern, i.e. a shaped screen. The display 1504 may be made of a Liquid crystal display (Liquid CRYSTAL DISPLAY, LCD), an Organic Light-Emitting Diode (OLED), or other materials.
Camera 1505 is used to capture images or video. Optionally, camera 1505 includes a front camera and a rear camera. In general, a front camera is disposed on a front panel of an electronic device, and a rear camera is disposed on a rear surface of the electronic device. In some embodiments, the at least two rear cameras are any one of a main camera, a depth camera, a wide-angle camera and a tele camera, so as to realize that the main camera and the depth camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize a panoramic shooting and Virtual Reality (VR) shooting function or other fusion shooting functions. In some embodiments of the present description, camera 1505 may also include a flash. The flash lamp can be a single-color temperature flash lamp or a double-color temperature flash lamp. The dual-color temperature flash lamp refers to a combination of a warm light flash lamp and a cold light flash lamp, and can be used for light compensation under different color temperatures.
The audio circuit 1506 may include a microphone and a speaker. The microphone is used for collecting sound waves of users and the environment, and converting the sound waves into electric signals to be input to the processor 1501 for processing. For purposes of stereo acquisition or noise reduction, the microphone may be multiple and separately disposed at different locations of the electronic device 1500. The microphone may also be an array microphone or an omni-directional pickup microphone.
The power supply 1507 is used to power the various components in the electronic device 1500. The power supply 1507 may be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1507 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
The block diagrams of the electronic device shown in the embodiments of the present specification do not constitute a limitation of the electronic device 1500, and the electronic device 1500 may include more or less components than illustrated, or may combine some components, or may employ different arrangements of components.
In the description of the present specification, it should be understood that the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. The specific meaning of the terms in this specification will be understood by those of ordinary skill in the art in the light of the specific circumstances. In addition, in the description of the present specification, unless otherwise indicated, "a plurality" means two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship.
The present description also provides a computer-readable storage medium having instructions stored therein, which when executed on a computer or processor, cause the computer or processor to perform one or more steps of the above embodiments. The respective constituent modules of the above-described available field determining apparatus may be stored in the above-described computer-readable storage medium if implemented in the form of software functional units and sold or used as independent products. The respective constituent modules of the above-described available field determining apparatus may be stored in the above-described computer-readable storage medium if implemented in the form of software functional units and sold or used as independent products.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product described above includes one or more computer instructions. When the computer program instructions described above are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present specification are all or partially produced. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted across a computer-readable storage medium. The computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (Digital Subscriber Line, DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage media may be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disk (DIGITAL VERSATILE DISC, DVD)), or a semiconductor medium (e.g., a Solid state disk (Solid STATE DISK, SSD)), or the like.
It should be noted that the foregoing describes specific embodiments of this specification. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
The foregoing is merely specific embodiments of the present disclosure, but the scope of the disclosure is not limited thereto, and any person skilled in the art who is skilled in the art can easily think about variations or substitutions within the scope of the disclosure of the present disclosure, and it is intended to cover the variations or substitutions within the scope of the disclosure. Accordingly, equivalent variations from the claims of the present specification are intended to be covered by the present specification.
Claims (19)
1. A method for allocating a virtual space, wherein the method is applied to a first gateway, the method comprising:
Acquiring a virtual space arranged in a first server under the condition of receiving a matching request about a target user sent by a terminal;
obtaining a virtual space with the number of users smaller than a second preset value in the virtual space, and obtaining a first virtual space set;
Sequentially judging whether a target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, and comprising the following steps: for the first virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the first virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more;
determining a target identity of the target virtual space when the first server exists in the target virtual space, and determining the target identity of the target virtual space when the first server exists in the target virtual space, including: under the condition that the first virtual space is concentrated and the target virtual space exists, determining a target identity of the target virtual space; the target identity is used for establishing bidirectional communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server;
Judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the target virtual space does not exist in the first virtual space set;
sending a creation request for creating a target virtual space at the first server to an RTMS client under the condition that the number of virtual spaces arranged at the first server is not greater than the first preset value, wherein the RTMS client returns target identity information about the target virtual space and determines a target identity of the target virtual space, wherein the terminal establishes a two-way communication connection with the first server based on the target identity, and the virtual space is created based on real-time message service RTMS;
Under the condition that the number of the virtual spaces arranged on the first server is larger than the first preset value, obtaining a virtual space with the number of users in the virtual space not smaller than the second preset value, and obtaining a second virtual space set;
The step of sequentially judging whether the target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more comprises the following steps:
for the second virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the second virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more;
and under the condition that the first server has the target virtual space, determining the target identity of the target virtual space comprises the following steps:
And under the condition that the target virtual space exists in the second virtual space set, determining the target identity of the target virtual space.
2. The method according to claim 1, wherein the method comprises:
Judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the first server does not have the target virtual space;
Under the condition that the number of virtual spaces arranged on the first server is not larger than the first preset value, creating a target virtual space on the first server, and determining a target identity of the target virtual space, wherein the terminal establishes two-way communication connection with the first server based on the target identity;
And switching to a second server to judge whether a target virtual space for distributing the target user exists in the virtual space arranged in the second server under the condition that the number of the virtual spaces arranged in the first server is larger than the first preset value.
3. The method according to claim 1, wherein the method comprises:
And switching to a second server to judge whether a target virtual space for distributing the target user exists in the virtual space of the second server under the condition that the target virtual space does not exist in the second virtual space set.
4. The method of claim 1, wherein prior to the acquiring the virtual space disposed in the first server, the method further comprises:
judging whether the matched request contains a sharing identifier or not;
Under the condition that the matching request contains the sharing identification, acquiring a virtual space arranged in a first server, and sequentially judging whether a target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more;
And under the condition that the matching request contains the sharing identification, determining a target identity of the shared virtual space according to the sharing identification, and controlling the terminal to establish bidirectional communication connection with a corresponding server based on the target identity so as to distribute the target user to the virtual space arranged in the corresponding server.
5. The method of any of claims 1 to 4, wherein the bi-directional communication connection is established based on a real-time messaging service, RTMS;
After the determination of the target identity of the target virtual space, the method comprises the following steps:
And sending the target identity to the terminal so that the terminal sends the target identity to a second gateway, wherein the second gateway establishes bidirectional communication connection between the terminal and the first server based on the target identity after receiving the target identity.
6. The method of any of claims 1-4, wherein each of the virtual spaces corresponds to a set of room information, wherein the virtual space disposed in the first server has its corresponding room information stored in a memory of the first server;
the room information includes: identity and sharing identity with respect to the virtual space.
7. The method of claim 6, wherein after the receiving terminal sends the matching request about the target user, the method further comprises:
Judging whether the matched request contains a restarting identifier or not, wherein the restarting identifier is generated when the terminal sends the matching request again after the first server is restarted when the terminal accesses the first server;
under the condition that the matched request contains a restarting identifier, inquiring a first database according to a first identity identifier carried in the matched request to judge whether the first database contains the first identity identifier or not, wherein the first identity identifier corresponds to a virtual space which establishes bidirectional communication connection with the terminal before restarting the first server;
Under the condition that the first identity is not contained in the first database, determining a second identity corresponding to a reconstructed virtual space arranged on a third server, and storing the first identity and the second identity into the first database in a mapping relation;
The second identity is used for establishing two-way communication connection between the terminal and the third server so as to distribute the target user to the reconstructed virtual space arranged on the third server.
8. The method of claim 7, wherein the method further comprises:
Under the condition that the first database contains the first identity, acquiring a second identity with a mapping relation with the first identity from the first database;
The second identity is used for establishing two-way communication connection between the terminal and the third server so as to distribute the target user to the reconstructed virtual space arranged on the third server.
9. The method of claim 7, wherein the method further comprises:
responding to the first identity mark and the second identity mark which are stored in the first database in a mapping relation, setting a backup mark for the reestablished virtual space, and setting a backup time length for the backup mark, wherein the backup mark of the reestablished virtual space is canceled under the condition that the backup time length is larger than a third preset value;
The obtaining, in the case of receiving a matching request about a target user sent by a terminal, a virtual space arranged in a first server includes:
And under the condition of receiving a matching request about a target user sent by a terminal, removing the reconstructed virtual space containing the backup identifier from all the virtual spaces arranged in the first server to obtain the virtual space arranged in the first server.
10. The method of any one of claims 1 to 4, wherein the first server is pre-arranged with N virtual spaces, N being a positive integer, each of the virtual spaces corresponding to a set of room information, wherein the virtual spaces arranged at the first server have their corresponding room information stored in a second database; the room information includes: identity and sharing identity with respect to the virtual space.
11. The method of claim 10, wherein after the obtaining the virtual space disposed in the first server, the method comprises:
obtaining a virtual space with the number of users smaller than a fourth preset value in the virtual space, or obtaining M virtual spaces with the minimum number of users in the virtual space, so as to obtain a third virtual space set, wherein M is a positive integer smaller than N;
The step of sequentially judging whether the target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more comprises the following steps:
For the third virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the third virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more;
and under the condition that the first server has the target virtual space, determining the target identity of the target virtual space comprises the following steps:
and under the condition that the target virtual space exists in the third virtual space set, determining the target identity of the target virtual space.
12. The method according to claim 11, wherein the method comprises:
and switching to a fourth server to judge whether a target virtual space for distributing the target user exists in the virtual space of the fourth server under the condition that the target virtual space does not exist in the third virtual space set.
13. A method for allocating a virtual space, wherein the method is applied to a terminal, the method comprising:
Sending a matching request about a target user to a first gateway, so that the first gateway obtains a virtual space arranged in a first server under the condition of receiving the matching request, and obtains a virtual space with the number of users smaller than a second preset value in the virtual space to obtain a first virtual space set; sequentially judging whether a target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, and comprising the following steps: for the first virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the first virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; determining a target identity of the target virtual space when the first server exists in the target virtual space, and determining the target identity of the target virtual space when the first server exists in the target virtual space, including: under the condition that the first virtual space is concentrated and the target virtual space exists, determining a target identity of the target virtual space; the target identity is used for establishing bidirectional communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server; judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the target virtual space does not exist in the first virtual space set; sending a creation request for creating a target virtual space at the first server to an RTMS client under the condition that the number of virtual spaces arranged at the first server is not greater than the first preset value, wherein the RTMS client returns target identity information about the target virtual space and determines a target identity of the target virtual space, wherein the terminal establishes a two-way communication connection with the first server based on the target identity, and the virtual space is created based on real-time message service RTMS; under the condition that the number of the virtual spaces arranged on the first server is larger than the first preset value, obtaining a virtual space with the number of users in the virtual space not smaller than the second preset value, and obtaining a second virtual space set; the step of sequentially judging whether the target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more comprises the following steps: for the second virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the second virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; and under the condition that the first server has the target virtual space, determining the target identity of the target virtual space comprises the following steps: and under the condition that the target virtual space exists in the second virtual space set, determining the target identity of the target virtual space.
14. The method of claim 13, wherein the bi-directional communication connection is established based on a real-time messaging service, RTMS; the method further comprises the steps of:
receiving the target identity sent by the first gateway;
and sending the target identity to a second gateway, wherein the second gateway establishes bidirectional communication connection between the terminal and the first server based on the target identity after receiving the target identity.
15. An apparatus for allocating a virtual space, wherein the apparatus is configured in a first gateway, and the apparatus comprises:
The acquisition module is used for acquiring a virtual space arranged in the first server under the condition of receiving a matching request about a target user sent by the terminal, and acquiring a virtual space with the number of users smaller than a second preset value in the virtual space to obtain a first virtual space set; sequentially judging whether a target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, and comprising the following steps: for the first virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the first virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more;
The determining module is configured to determine, when the first server exists in the target virtual space, a target identity of the target virtual space, where determining, when the first server exists in the target virtual space, the target identity of the target virtual space includes: under the condition that the first virtual space is concentrated and the target virtual space exists, determining a target identity of the target virtual space; the target identity is used for establishing bidirectional communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server; judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the target virtual space does not exist in the first virtual space set; sending a creation request for creating a target virtual space at the first server to an RTMS client under the condition that the number of virtual spaces arranged at the first server is not greater than the first preset value, wherein the RTMS client returns target identity information about the target virtual space and determines a target identity of the target virtual space, wherein the terminal establishes a two-way communication connection with the first server based on the target identity, and the virtual space is created based on real-time message service RTMS; under the condition that the number of the virtual spaces arranged on the first server is larger than the first preset value, obtaining a virtual space with the number of users in the virtual space not smaller than the second preset value, and obtaining a second virtual space set; the step of sequentially judging whether the target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more comprises the following steps: for the second virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the second virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; and under the condition that the first server has the target virtual space, determining the target identity of the target virtual space comprises the following steps: and under the condition that the target virtual space exists in the second virtual space set, determining the target identity of the target virtual space.
16. A virtual space allocation apparatus, configured in a terminal, the apparatus comprising:
The sending module is used for sending a matching request about a target user to the first gateway so that the first gateway obtains a virtual space arranged in the first server under the condition that the matching request is received, and obtains a virtual space of which the number of users is smaller than a second preset value in the virtual space to obtain a first virtual space set; sequentially judging whether a target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, sequentially judging whether the target virtual space for distributing the target user exists according to the sequence that the number of users corresponding to the virtual space is at least greater than one, and comprising the following steps: for the first virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the first virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; determining a target identity of the target virtual space when the first server exists in the target virtual space, and determining the target identity of the target virtual space when the first server exists in the target virtual space, including: under the condition that the first virtual space is concentrated and the target virtual space exists, determining a target identity of the target virtual space; the target identity is used for establishing bidirectional communication connection between the terminal and the first server so as to distribute the target user to the target virtual space arranged in the first server; judging whether the number of virtual spaces arranged on the first server is larger than a first preset value corresponding to the first server under the condition that the target virtual space does not exist in the first virtual space set; sending a creation request for creating a target virtual space at the first server to an RTMS client under the condition that the number of virtual spaces arranged at the first server is not greater than the first preset value, wherein the RTMS client returns target identity information about the target virtual space and determines a target identity of the target virtual space, wherein the terminal establishes a two-way communication connection with the first server based on the target identity, and the virtual space is created based on real-time message service RTMS; under the condition that the number of the virtual spaces arranged on the first server is larger than the first preset value, obtaining a virtual space with the number of users in the virtual space not smaller than the second preset value, and obtaining a second virtual space set; the step of sequentially judging whether the target virtual space for distributing the target user exists or not according to the sequence that the number of users respectively corresponding to the virtual space is at least more comprises the following steps: for the second virtual space set, sequentially judging whether a target virtual space for distributing the target user exists in the second virtual space set according to the sequence that the number of users respectively corresponding to the virtual spaces is at least more; and under the condition that the first server has the target virtual space, determining the target identity of the target virtual space comprises the following steps: and under the condition that the target virtual space exists in the second virtual space set, determining the target identity of the target virtual space.
17. A computer readable storage medium having instructions stored therein, wherein the instructions, when run on a computer or processor, cause the computer or processor to perform the method of allocating virtual space of any of claims 1 to 14.
18. An electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method of allocating virtual space of any one of claims 1 to 14 when the computer program is executed.
19. A computer program product comprising instructions which, when run on a computer or processor, cause the computer or processor to perform the method of allocating virtual space of any one of claims 1 to 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310474570.3A CN116764189B (en) | 2023-04-27 | 2023-04-27 | Virtual space distribution method, device, medium, equipment and product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310474570.3A CN116764189B (en) | 2023-04-27 | 2023-04-27 | Virtual space distribution method, device, medium, equipment and product |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116764189A CN116764189A (en) | 2023-09-19 |
CN116764189B true CN116764189B (en) | 2024-05-14 |
Family
ID=88010596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310474570.3A Active CN116764189B (en) | 2023-04-27 | 2023-04-27 | Virtual space distribution method, device, medium, equipment and product |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116764189B (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008073183A (en) * | 2006-09-20 | 2008-04-03 | Namco Bandai Games Inc | Program, information storage medium, player terminal, and server system |
CN104376194A (en) * | 2013-08-16 | 2015-02-25 | 迪士尼企业公司 | Cross platform sharing of user-generated content |
CN107222316A (en) * | 2017-05-25 | 2017-09-29 | 游密科技(深圳)有限公司 | A kind of the chatroom collocation method and chat room system of adaptive room number |
CN108876081A (en) * | 2017-05-16 | 2018-11-23 | 腾讯科技(深圳)有限公司 | virtual room distribution method, device, storage medium and processor |
CN111741370A (en) * | 2020-08-12 | 2020-10-02 | 腾讯科技(深圳)有限公司 | Multimedia interaction method, related device, equipment and storage medium |
CN111754355A (en) * | 2020-06-29 | 2020-10-09 | 上海寻梦信息技术有限公司 | User social space construction method and device, electronic equipment and storage medium |
CN112910880A (en) * | 2021-01-28 | 2021-06-04 | 腾讯科技(深圳)有限公司 | Virtual room creating method, system, device, equipment and medium |
CN113908559A (en) * | 2021-10-13 | 2022-01-11 | 腾讯科技(深圳)有限公司 | Interface display method, device, terminal and storage medium |
CN114979164A (en) * | 2022-04-14 | 2022-08-30 | 网易(杭州)网络有限公司 | Virtual room allocation method and device and electronic equipment |
CN115068934A (en) * | 2022-06-17 | 2022-09-20 | 网易(杭州)网络有限公司 | Server distribution method, system, device, server and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11489684B2 (en) * | 2021-03-30 | 2022-11-01 | Snap Inc. | Assigning participants to rooms within a virtual conferencing system |
-
2023
- 2023-04-27 CN CN202310474570.3A patent/CN116764189B/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008073183A (en) * | 2006-09-20 | 2008-04-03 | Namco Bandai Games Inc | Program, information storage medium, player terminal, and server system |
CN104376194A (en) * | 2013-08-16 | 2015-02-25 | 迪士尼企业公司 | Cross platform sharing of user-generated content |
CN108876081A (en) * | 2017-05-16 | 2018-11-23 | 腾讯科技(深圳)有限公司 | virtual room distribution method, device, storage medium and processor |
CN107222316A (en) * | 2017-05-25 | 2017-09-29 | 游密科技(深圳)有限公司 | A kind of the chatroom collocation method and chat room system of adaptive room number |
CN111754355A (en) * | 2020-06-29 | 2020-10-09 | 上海寻梦信息技术有限公司 | User social space construction method and device, electronic equipment and storage medium |
CN111741370A (en) * | 2020-08-12 | 2020-10-02 | 腾讯科技(深圳)有限公司 | Multimedia interaction method, related device, equipment and storage medium |
CN112910880A (en) * | 2021-01-28 | 2021-06-04 | 腾讯科技(深圳)有限公司 | Virtual room creating method, system, device, equipment and medium |
CN113908559A (en) * | 2021-10-13 | 2022-01-11 | 腾讯科技(深圳)有限公司 | Interface display method, device, terminal and storage medium |
CN114979164A (en) * | 2022-04-14 | 2022-08-30 | 网易(杭州)网络有限公司 | Virtual room allocation method and device and electronic equipment |
CN115068934A (en) * | 2022-06-17 | 2022-09-20 | 网易(杭州)网络有限公司 | Server distribution method, system, device, server and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN116764189A (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750417B2 (en) | Method for establishing communication connection | |
CN112235121B (en) | Method, device, equipment and storage medium for realizing online conference | |
US9332039B2 (en) | Method, apparatus, and system for establishing voice communication | |
US6753857B1 (en) | Method and system for 3-D shared virtual environment display communication virtual conference and programs therefor | |
JP2019537158A (en) | Resource sharing method, apparatus and system | |
CN110856032B (en) | Live broadcast method, device, equipment and storage medium | |
US20100091687A1 (en) | Status of events | |
CN111314714B (en) | Game live broadcast method and device | |
CN112601046B (en) | Interactive method, terminal, server, interactive system and non-transitory storage medium | |
CN104854574A (en) | Updating services during real-time communication and sharing-experience sessions | |
EP3026844A1 (en) | Apparatus, system, and method of selecting relay device in conferencing system, and carrier medium | |
CN108718243A (en) | A kind of group technology of user terminal, Conference server, conference system | |
CN111416789A (en) | Method, apparatus and computer-readable storage medium for assigning usage rights to a user | |
WO2009134259A1 (en) | Communication between scheduled and in progress event attendees | |
CN116764189B (en) | Virtual space distribution method, device, medium, equipment and product | |
US20170257402A1 (en) | Control system, control method, and computer-readable recording medium | |
US11694438B2 (en) | Scalable extended reality video conferencing | |
CN113827953B (en) | Game control system | |
CN113518198B (en) | Session interface display method, conference interface display method, device and electronic equipment | |
EP3029933B1 (en) | Apparatus, system, and method of controlling session, and carrier means | |
JP3276057B2 (en) | 3D virtual world display system | |
KR102615305B1 (en) | Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen | |
CN112245906A (en) | Data synchronization method and device, electronic equipment and storage medium | |
EP3029882B1 (en) | Apparatus, system, and method for determining destination for state information and carrier means | |
Matsumoto et al. | A distributed internet live broadcasting system for multi-viewpoint videos |
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 |