Multi-person co-screen control method in a single scene map based on distributed computing framework

By dividing the scene map into multiple areas according to geographic coordinates and using a distributed computing framework to dynamically adjust the number of instances, the problems of limited user carrying and load capacity in existing technologies are solved, and more efficient resource utilization is achieved.

CN114491334BActive Publication Date: 2025-09-26BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111618711.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2025-09-26
Estimated Expiration
2041-12-27

AI Technical Summary

Technical Problem

In the existing technology, multi-person same-screen technology based on the same map or the same scene cannot effectively carry massive users and solve the problem of limited single-area load capacity caused by user aggregation due to limited server computing power.

Method used

A distributed computing framework is used to divide the scene map into multiple areas according to geographic coordinates. Each area has multiple parallel instances. The same-screen joining request is processed by determining the target area and instance, and the number of instances is dynamically adjusted to optimize load balancing.

Benefits of technology

It improves the user carrying capacity of a single scene map, solves the problem of limited load capacity caused by user aggregation, and improves resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114491334B_ABST
    Figure CN114491334B_ABST
Patent Text Reader

Abstract

The present disclosure proposes a method for multi-person same-screen control in a single scene map based on a distributed computing framework, which relates to the field of data processing, and in particular to the field of cloud computing and artificial intelligence technology. The scene map is divided into multiple regions according to geographic coordinates, and each region has multiple parallel instances. The method includes: responding to an object's request to join the same screen, determining the corresponding region identifier according to the map identifier and geographic coordinates of the scene map; determining a target region corresponding to the region identifier from multiple regions; determining a target instance from multiple instances within the target region; and based on the target instance, adding the object to the multi-person same-screen scene corresponding to the scene map in response to the object's request to join the same screen. This solution can increase the number of users carried by a single scene map, which not only effectively solves the problem of limited number of users carried by a single scene map, but also solves the problem of limited load capacity of a single region due to user aggregation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing, in particular to the fields of cloud computing and artificial intelligence technology, and specifically to a method for multi-person same-screen control within a single scene map based on a distributed computing framework. Background Art

[0002] Typically, multi-person co-screen technology for map applications is implemented by processing the same map or scene on a single thread. However, due to the limited computing power of the server architecture, this server architecture cannot meet business needs for scenarios where a single map carries a large number of users or where users gather in large numbers. Summary of the Invention

[0003] The present disclosure provides a method for multi-person same-screen control within a single scene map based on a distributed computing framework.

[0004] According to a first aspect of the present disclosure, a method for multi-person co-screen control within a single scene map based on a distributed computing framework is provided, wherein the scene map is divided into multiple regions according to geographic coordinates, and each region has multiple parallel instances. The method includes:

[0005] In response to the object's request to join the same screen, determining a corresponding area identifier according to the map identifier and geographic coordinates of the scene map;

[0006] determining a target area corresponding to the area identifier from the multiple areas;

[0007] determining a target instance from a plurality of instances within the target area;

[0008] Based on the target instance, the object is added to the multi-person same-screen scene corresponding to the scene map to respond to the same-screen joining request of the object.

[0009] According to a second aspect of the present disclosure, a device for multi-person simultaneous screen control within a single scene map based on a distributed computing framework is provided, wherein the scene map is divided into multiple regions according to geographic coordinates, each region having multiple parallel instances, and the device includes:

[0010] A first determining module is configured to respond to an object's request to join the same screen and determine a corresponding area identifier based on a map identifier and geographic coordinates of the scene map;

[0011] a second determining module, configured to determine a target area corresponding to the area identifier from the multiple areas;

[0012] a third determining module, configured to determine a target instance from a plurality of instances within the target area;

[0013] A joining module is used to add the object to a multi-person same-screen scene corresponding to the scene map based on the target instance, in response to the same-screen joining request of the object.

[0014] According to a third aspect of the present disclosure, there is provided an electronic device, including:

[0015] at least one processor; and

[0016] a memory communicatively connected to the at least one processor; wherein,

[0017] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the first aspect.

[0018] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the first aspect.

[0019] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein the computer program implements the steps of the method described in the first aspect when executed by a processor.

[0020] According to the technical solution disclosed in the present invention, the scene map is divided into multiple areas according to geographic coordinates, and each area has multiple parallel instances. When an object is added to the same screen, the corresponding target area can be determined according to the map identifier and geographic coordinates of the scene map, and the target instance can be determined from the multiple instances within the target area, so that the object can be added to the multi-person same-screen scene corresponding to the scene map based on the target instance, thereby increasing the number of users carried by a single scene map, which not only effectively solves the problem of limited number of users carried by a single scene map, but also solves the problem of limited load capacity of a single area due to user aggregation, thereby greatly improving resource utilization.

[0021] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present disclosure.

[0023] Figure 1 It is an example diagram of a scene structure in the related art;

[0024] Figure 2is a schematic diagram according to a first embodiment of the present disclosure;

[0025] Figure 3 is an example diagram of a scene structure in an embodiment of the present disclosure;

[0026] Figure 4 is a schematic diagram according to a second embodiment of the present disclosure;

[0027] Figure 5 is a schematic diagram according to a third embodiment of the present disclosure;

[0028] Figure 6 is a schematic diagram according to a fourth embodiment of the present disclosure;

[0029] Figure 7 is a block diagram of an electronic device for implementing the method according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0031] The acquisition, storage, and application of user personal information involved in the technical solutions disclosed herein comply with relevant laws and regulations and do not violate public order and good morals. The user personal information involved is acquired, stored, and used with the user's consent.

[0032] Typically, multi-person co-screen technology for map applications is implemented by processing the same map or scene on a single thread. However, due to the limited computing power of this server architecture, it cannot meet business needs for scenarios where a single map carries a large number of users or where users gather in large numbers.

[0033] In related technologies, in order to disperse the computing pressure, a single scene map is divided into multiple areas, such as Figure 1As shown in the figure, each area runs independently. However, since the area is the smallest computing unit and cannot be split further, the computing power of a single area becomes a bottleneck and does not solve the fundamental problem. In addition, if a single scene map is divided into updated areas, it will also not solve the existing problem. The reasons are: (1) If the area is split too small, it will greatly increase cross-area behavior. When users walk from area A to area B, they need to be hot-migrated, which is relatively costly; (2) Users are unevenly distributed on the map. Naturally, there will be many areas where there are no users, but the area instances are still running, resulting in a waste of resources; (3) The problem of user aggregation cannot be solved. When there is an activity, there is likely to be a clustering phenomenon. A large number of users gather within the visible range, which will still exceed the load capacity of a single area.

[0034] In order to solve the above problems, the present disclosure proposes a method for multi-person same-screen control in a single scene map based on a distributed computing framework.

[0035] Figure 2 This is a flowchart of a method for multi-person co-screen control within a single scene map based on a distributed computing framework, proposed in an embodiment of the present disclosure. It should be noted that the method for multi-person co-screen control within a single scene map based on a distributed computing framework in an embodiment of the present disclosure can be applied to the multi-person co-screen control device within a single scene map based on a distributed computing framework in an embodiment of the present disclosure, and the device can be configured in an electronic device.

[0036] In some embodiments of the present disclosure, the scene map is divided into multiple regions according to geographic coordinates, and each region has multiple parallel instances, so that the users in each region can be taken care of by multiple parallel instances, that is, the multiple parallel instances in each region have the same geographic range, and each takes care of a part of the users in the region, thereby increasing the number of users taken care of. Figure 3 As shown, each scene map is divided into multiple areas according to geographic coordinates. Figure 1 peacefully Figure 2 Are all scene maps, ground Figure 1 It is divided into four areas: Area 1, Area 2, Area 3 and Area 4. Figure 2 It is also divided into four areas: Area 1, Area 2, Area 3 and Area 4. Figure 3 Land Figure 1 As an example, region 1 in the figure illustrates the structure of multiple parallel instances in each region. Figure 1 -Area 1-Instance 1, Ground Figure 1 -Area 1-Instance 2, Ground Figure 1 -Area 1-Instance 3, Ground Figure 1 -Area 1-Instance 4 are all ground Figure 1 - Multiple parallel instances running in region 1, so that Figure 1 -Area 1-Instance 1, Ground Figure 1 -Area 1-Instance 2, Ground Figure 1 -Area 1-Instance 3, Ground Figure 1 -Area 1-Instance 4 can be respectively assumed Figure 1 - At least some users in area 1 to improve the Figure 1 The number of users in area 1. Figure 1 The other regions (such as region 2, region 3 and region 4) in the same region can also be divided into multiple parallel instances by referring to the division method of region 1. Figure 1 Can carry more users.

[0037] It should be noted that the number of parallel instances in each region can be dynamically configured and elastically adjusted based on load conditions. For example, the scenario service can dynamically configure the base capacity of each region. The size of this capacity can be determined by stress testing and actual operational experience. The scenario management module monitors the instance status of each region. If the overall load in a region is high, the instance capacity in this region can be automatically expanded. If there are many idle instances in a region, they can be recycled when appropriate, and users on the recycled instances can be hot migrated to other instances.

[0038] like Figure 2 As shown, the method for multi-person co-screen control in a single scene map based on a distributed computing framework in an embodiment of the present disclosure includes the following steps:

[0039] Step 201 : In response to an object's request to join the same screen, a corresponding area identifier is determined according to a map identifier and geographic coordinates of a scene map.

[0040] In some embodiments of the present disclosure, a scene map may be a map running within a map application. Users may register and log in with a user account to access various services provided by the map application. Multiple users may interact with each other on the scene map through simultaneous on-screen control. As an example, the scene map may be a map within a virtual interactive scene in a game, and multi-user simultaneous on-screen control may be virtual interaction between players in the game within the same scene map.

[0041] Among them, the object can be a user, an item, etc., and the object's request to join the same screen can be initiated by the user through an electronic device with a map application installed. For example, the user logs in through the interactive interface of the map application, selects the scene map to be joined, and submits it. The server obtains the object's request to join the same screen by receiving the information submitted by the electronic device. In some embodiments of the present disclosure, the object's request to join the same screen may include a map identifier of the scene map to be joined, and may also include information such as the object's geographic coordinates, wherein the object's geographic coordinates may be the default geographic coordinates or the geographic location selected by the user through the electronic device. This can be determined based on the actual application scenario, and the present disclosure does not limit this.

[0042] It is understandable that a map application may contain multiple scene maps, so each scene map can correspond to its own map identifier to uniquely identify the corresponding scene map. Since each scene map is divided into multiple areas according to geographic coordinates, each area in the scene map can correspond to its own unique area identifier. It should be noted that in the embodiments of the present disclosure, the object's request to join the same screen is a request to join a preset single map scene.

[0043] As an example, the association between the scene map identifier and the multiple areas it is divided into can be managed by the scene management module. For example, the scene management module stores the geographic coordinates corresponding to each map identifier, the area identifier corresponding to each map identifier, and the geographic coordinates corresponding to each area identifier, etc.; corresponding to the object's request to join the same screen, the area identifier corresponding to the object can be determined based on the map identifier and geographic coordinates of the corresponding scene map.

[0044] Step 202: Determine a target area corresponding to the area identifier from multiple areas.

[0045] Step 203: Determine a target instance from multiple instances in the target area.

[0046] In some embodiments of the present disclosure, the capacity of each region can be dynamically configured. For example, if the capacity of region 1 is set to 3, three instances will be launched by default in region 1. Because some instances carry a large number of users while others carry a small number of users, to ensure load balancing, when determining the target instance from multiple instances in the target region, instances with relatively low loads in the target region can be used as the target instance.

[0047] As an example, the operation status of instances in each area can be monitored through the scenario management module, such as: the current number of people carried, pressure status, etc.; based on the operation status data, the service status of each instance is defined, where the status may include: idle, good, busy, etc., where idle means that the service load is very low, the latency is low, and new traffic can be accepted; good means that the service load is low, the latency is low, and new traffic can be accepted; busy means that the service is close to full load, the response delay increases, and no more traffic can be imported; in response to the existence of an instance with a good status among multiple instances in the target area, an instance with a good status is randomly selected from the multiple instances and determined as the target instance; in response to the absence of an instance with a good status among the multiple instances, an instance with an idle status is randomly selected from the multiple instances and determined as the target instance.

[0048] Based on the above example, in response to the fact that there is no instance in the good state and no instance in the idle state among the multiple instances in the target area, it means that there is no instance to execute the same-screen joining of the object at this time. The object can be included in the queuing system and scheduled and managed based on the load conditions of subsequent instances.

[0049] Step 204: Based on the target instance, the object is added to the multi-person same-screen scene corresponding to the scene map to respond to the object's same-screen joining request.

[0050] That is, data calculation of the object is performed based on the target instance to add the object to the multi-person same-screen scene corresponding to the scene map.

[0051] According to the method for multi-person same-screen control in a single scene map based on a distributed computing framework proposed in an embodiment of the present disclosure, the scene map is divided into multiple areas according to geographic coordinates, and each area has multiple parallel instances. When an object is added to the same screen, the corresponding target area can be determined according to the map identifier and geographic coordinates of the scene map, and the target instance can be determined from the multiple instances within the target area, so as to add the object to the multi-person same-screen scene corresponding to the scene map based on the target instance, thereby increasing the number of users carried by a single scene map, effectively solving the problem of limited number of users carried by a single scene map, and also solving the problem of limited load capacity of a single area due to user aggregation, thereby greatly improving resource utilization.

[0052] It can be understood that since the position of each user in the scene map changes in real time, the objects within the user's field of view will also change accordingly. For this reason, the present disclosure proposes another embodiment.

[0053] Figure 4This is a flowchart of another method for multi-person co-screen control in a single scene map based on a distributed computing framework provided by the present disclosure. It can be understood that a single scene map contains multiple users, and each user can include some other objects within the field of view of their corresponding electronic device. Therefore, when a user enters or leaves the scene or the user's position changes, the objects within the corresponding field of view also change accordingly. Figure 4 As shown, based on the above embodiment, the method may include the following steps:

[0054] Step 401: In response to the object's request to join the same screen, a corresponding area identifier is determined according to the map identifier and geographic coordinates of the scene map.

[0055] Step 402: Determine a target area corresponding to the area identifier from multiple areas.

[0056] Step 403: Determine a target instance from multiple instances in the target area.

[0057] Step 404: Based on the target instance, the object is added to the multi-person same-screen scene corresponding to the scene map to respond to the object's same-screen joining request.

[0058] in, Figure 4 Steps 401-404 in Figure 2 The implementation of steps 201-204 is the same as that of FIG. 1 and will not be repeated here.

[0059] Step 405 , in response to the object entering a multi-person co-screen scene, query the Nearby list of objects in the field of view, and notify other objects in the Nearby list to add the object.

[0060] It should be noted that the Nearby list refers to a list of other objects within the field of view of each object. It is understandable that when an object enters a multi-person co-screen scene, it needs to obtain other objects within its field of view to render them on the screen of the electronic device corresponding to the object. At the same time, it also needs to notify other objects to add the object to their field of view to achieve the effect of co-screen operation.

[0061] As an example, the geographic coordinates of all objects in the scene map can be traversed based on the geographic coordinates of the object's field of view to determine whether each object is within its field of view, so as to query and obtain the object's Nearby list; notify other objects in the Nearby list to instruct other objects to add the object to their Nearby lists.

[0062] As another example, the first area within the field of view of the object can be determined based on the geographic coordinates of the field of view of the object; the first objects contained in each area in the first area can be obtained; the geographic coordinates of each first object can be traversed to determine whether each first object is within the field of view of the object, so as to query and obtain the Nearby list of the object; and other objects in the Nearby list can be notified to instruct other objects to add the object to their Nearby lists.

[0063] Alternatively, in step 406, in response to the object leaving the multi-person co-screen scene, other objects in the Nearby list are notified to delete the object.

[0064] It can be understood that when an object leaves a multi-person co-screen scene, it means that the object no longer exists in the field of view of other objects, so it is necessary to notify other objects to delete the object in their field of view to avoid unnecessary waste of resources.

[0065] As an example, if an object leaves a multi-person co-screen scenario, the object's Nearby list can be obtained, and other objects in the Nearby list can be notified to instruct other objects to delete the object from their Nearby lists.

[0066] In some other embodiments of the present disclosure, the method may further include:

[0067] Step 407 : In response to the change in the location of the object, send a Nearby query request to each of the multiple instances in the multiple regions, aggregate the query results based on the Nearby query request, and update the Nearby list according to the aggregated results.

[0068] It's understandable that if an object's position changes, the objects within its field of view will change accordingly, and the objects within the fields of view of other objects may also change accordingly. For example, if object 1 moves from position A to position B, the objects within object 1's field of view may change from objects 2, 3, and 4 to objects 3, 4, and 5. At the same time, object 1 was within object 2's field of view before the position change, but is no longer within object 2's field of view after the position change. Therefore, in order to make timely changes,

[0069] As an example, its implementation method may include: monitoring the location of an object, and when the location of the object changes, sending a Nearby query request to multiple instances respectively; aggregating the query results based on the Nearby query request to determine the objects to be deleted and the objects to be added; deleting the objects to be deleted from the Nearby list of the object whose location has changed, and notifying the objects to be deleted to delete the objects from their Nearby list; adding the objects to be added to the Nearby list of the object whose location has changed, and notifying the objects to be added to add the objects to their Nearby list.

[0070] In some embodiments of the present disclosure, the received updated location of an object can be compared with its pre-update location to determine whether the object's location has changed. As an example, each region can be divided into multiple grids based on geographic coordinates. If an object was in grid A before its location update and remains in grid A after its location update, the object's location has not changed. If an object was in grid A before its location update and remains in grid B after its location update, the object's location has changed.

[0071] According to the method for multi-person same-screen control in a single scene map based on a distributed computing framework proposed in an embodiment of the present disclosure, when an object enters a multi-person same-screen scene, the Nearby list in the field of view is queried, and other objects in the Nearby list are notified to add the object. When the object leaves the multi-person same-screen scene, the other objects in the Nearby list are notified to delete the object. When the position of the object changes, the Nearby list is updated in time, thereby ensuring timely update of the Nearby list to realize multi-person same-screen control in the scene map.

[0072] Figure 5 This is a flow chart of updating the Nearby list when the object position changes in the embodiment of the present disclosure. Figure 5 As shown, based on the above embodiment, Figure 4 The implementation of step 407 may include the following steps:

[0073] Step 501: Calculate the first object that leaves the field of view based on the object coordinates and the current Nearby list, delete it from the Nearby list, and send a message to notify the first object to delete the object from the Nearby list.

[0074] As an implementation method, after the position of an object changes, its updated field of view coordinate range is obtained based on the object coordinates; the object's current Nearby list is traversed, and based on the geographic coordinates of each object in the Nearby list and the updated field of view coordinate range, it is determined whether each object exceeds its field of view coordinate range, and the object that exceeds the field of view coordinate range is regarded as the first object; the first object is deleted from the Nearby list, and a message is sent to notify the first object so that the object is deleted from the first object's respective Nearby list.

[0075] As another implementation method, each area is divided into multiple grids according to the geographic coordinate range, and each grid stores a list of objects it contains; after the position changes, the area difference set between the new field of view and the original field of view is calculated, that is, the area leaving the field of view is obtained; based on the area leaving the field of view, the grids it covers are obtained, and the objects in these grids are determined as first objects; the first object is deleted from the Nearby list, and a message is sent to notify the first object so that the object is deleted from its respective Nearby list.

[0076] Step 502: query the global server for all instance server IDs in the area where the object is located, and send a query Nearby request to all location servers, where the Nearby request includes the coordinates of the object. The query Nearby request is used to instruct each location server to perform a query operation based on the coordinates of the object and return a Nearby object list.

[0077] Step 503: Receive the Nearby object list returned by each location server, compare the received Nearby object list with the existing Nearby list, determine the second object that has newly entered the object's field of view based on the comparison result, add it to the existing Nearby list, and send a message to notify the second object to add the object to the Nearby list.

[0078] As an implementation method, for each object in the received Nearby object list, it can be queried in turn whether it exists in the currently existing Nearby list. If the object does not exist in the currently existing Nearby list, it will be treated as the second object and added to the currently existing Nearby list. At the same time, a message is sent to notify the second object so that the object is added to the respective Nearby lists of the second objects.

[0079] As another implementation method, each area is divided into multiple grids according to the geographic coordinate range, and each grid stores a list of objects it contains; after the position changes, the area difference set between the new field of view and the original field of view is calculated, that is, the area newly entering the field of view is obtained; based on the received Nearby object list, the grid corresponding to each object in the list is calculated in turn and stored in the object list of the corresponding grid; the grids covered by the newly entering field of view are calculated, and the objects in these grids are used as second objects; they are added to the currently existing Nearby list, and a message is sent to notify the second object so that the object is added to its respective Nearby list.

[0080] According to the method for multi-person same-screen control in a single scene map based on a distributed computing framework proposed in an embodiment of the present disclosure, the first object that leaves the field of view is calculated based on the coordinates of the position-changed object and the currently existing Nearby list, and is deleted from the Nearby list. At the same time, a Nearby query request is sent to the location server to obtain a Nearby object list. By comparing it with the currently existing Nearby list, the second object that newly enters the field of view is determined and added to the Nearby list, thereby realizing the update of the Nearby list and ensuring the realization of multi-person same-screen control in the scene map.

[0081] In order to implement the above embodiments, the present disclosure provides a multi-person same-screen control device within a single scene map based on a distributed computing framework.

[0082] Figure 6 This is a block diagram of a device for multi-user simultaneous screen control within a single scene map based on a distributed computing framework, provided in an embodiment of the present disclosure. The scene map is divided into multiple regions according to geographic coordinates, each region having multiple parallel instances. The device includes:

[0083] A first determining module 601 is configured to respond to an object's request to join the same screen and determine a corresponding area identifier based on a map identifier and geographic coordinates of a scene map;

[0084] A second determining module 602 is configured to determine a target area corresponding to the area identifier from among the multiple areas;

[0085] A third determining module 603 is configured to determine a target instance from multiple instances within the target area;

[0086] The joining module 604 is used to join the object to the multi-person same-screen scene corresponding to the scene map based on the target instance, in response to the object's same-screen joining request.

[0087] In some embodiments of the present disclosure, the third determining module 603 is specifically configured to:

[0088] In response to the presence of an instance in a good state among the multiple instances in the target area, randomly selecting an instance in a good state from the multiple instances and determining it as a target instance;

[0089] In response to the fact that there is no instance in a good state among the multiple instances, an instance in an idle state is randomly selected from the multiple instances and determined as the target instance.

[0090] Optionally, in some embodiments of the present disclosure, the device further includes:

[0091] A query module 605 is configured to query a Nearby list of objects in the field of view in response to an object entering a multi-person co-screen scene, and notify other objects in the Nearby list to add the object;

[0092] Alternatively, the notification module 606 is configured to notify other objects in the Nearby list to delete the object in response to the object leaving the multi-person co-screen scene.

[0093] Optionally, in some embodiments of the present disclosure, the device further includes:

[0094] The updating module 607 is configured to send a Nearby query request to multiple instances in multiple areas respectively in response to a change in the location of the object, aggregate query results based on the Nearby query request, and update the Nearby list according to the aggregated results.

[0095] In some embodiments of the present disclosure, the update module 607 is specifically configured to:

[0096] Calculate the first object that leaves the field of view based on the object coordinates and the existing Nearby list, delete it from the Nearby list, and send a message to notify the first object to delete the object from the Nearby list;

[0097] Query the global server for all instance server IDs in the area where the object is located, and send a Nearby query request to all location servers. The Nearby query request includes the object's coordinates. The Nearby query request instructs each location server to perform a query based on the object's coordinates and return a list of Nearby objects.

[0098] Receive the Nearby object list returned by each location server, compare the received Nearby object list with the current Nearby list, determine the second object that has newly entered the object's field of view based on the comparison result, add it to the current Nearby list, and send a message to notify the second object to add the object to the Nearby list.

[0099] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0100] According to the multi-person same-screen control device in a single scene map based on a distributed computing framework provided by the embodiment of the present disclosure, the scene map is divided into multiple areas according to geographic coordinates, and each area has multiple parallel instances. When an object is added to the same screen, the corresponding target area can be determined according to the map identifier and geographic coordinates of the scene map, and the target instance can be determined from the multiple instances in the target area, so as to add the object to the multi-person same-screen scene corresponding to the scene map based on the target instance, thereby increasing the number of users carried by a single scene map, effectively solving the problem of limited users carried by a single scene map, and also solving the problem of limited load capacity of a single area due to user aggregation, thereby greatly improving resource utilization.

[0101] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

[0102] like Figure 7 , is a block diagram of an electronic device for a method of multi-person same-screen manipulation within a single scene map based on a distributed computing framework according to an embodiment of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0103] like Figure 7 As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. Various programs and data required for the operation of the device 700 can also be stored in the RAM 703. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0104] Various components in device 700 are connected to I / O interface 705, including an input unit 706, such as a keyboard, mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a magnetic disk, optical disk, etc.; and a communication unit 709, such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows device 700 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0105] The computing unit 701 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as the method for controlling multiple people on the same screen within a single scene map based on a distributed computing framework. For example, in some embodiments, the method for controlling multiple people on the same screen within a single scene map based on a distributed computing framework can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the method for controlling multiple people on the same screen within a single scene map based on a distributed computing framework described above can be performed. Alternatively, in other embodiments, the computing unit 701 may be configured in any other appropriate manner (e.g., by means of firmware) to execute a multi-person same-screen control method within a single scene map based on a distributed computing framework.

[0106] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0107] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0108] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0109] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0110] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0111] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact via a communication network. This client-server relationship is established by computer programs running on the respective computers, establishing a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host, a host product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosts and VPS services ("Virtual Private Servers" or simply "VPS"). The server may also be a server in a distributed system or a server integrated with blockchain.

[0112] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions of this disclosure can be achieved. This is not a limitation herein.

[0113] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.

Claims

1. A method for multi-person simultaneous screen control within a single scene map based on a distributed computing framework, wherein: The scene map is divided into multiple regions according to geographic coordinates, each region has multiple parallel instances, the multiple parallel instances in each region have the same geographic range, and each instance is responsible for a portion of users in the region. The method includes: In response to the object's request to join the same screen, determining a corresponding area identifier according to the map identifier and geographic coordinates of the scene map; determining a target area corresponding to the area identifier from the multiple areas; determining a target instance from a plurality of instances within the target area; Based on the target instance, the object is added to the multi-person same-screen scene corresponding to the scene map to respond to the same-screen joining request of the object.

2. The method according to claim 1, wherein Determining a target instance from a plurality of instances within the target area includes: In response to the presence of an instance in a good state among the multiple instances in the target area, randomly selecting one instance in a good state from the multiple instances and determining it as the target instance; In response to the fact that there is no instance in the good state among the multiple instances, an instance in the idle state is randomly selected from the multiple instances and determined as the target instance.

3. The method according to claim 1, further comprising: In response to the object entering the multi-person co-screen scene, querying a Nearby list of objects in the field of view, and notifying other objects in the Nearby list to add the object; Alternatively, in response to the object leaving the multi-person co-screen scene, other objects in the Nearby list are notified to delete the object.

4. The method according to claim 1, further comprising: In response to a change in the location of the object, a Nearby query request is sent to each of the multiple instances in the multiple areas, query results are aggregated based on the Nearby query request, and a Nearby list is updated according to the aggregated results.

5. The method according to claim 4, wherein The sending of the Nearby query requests to the multiple instances in the multiple zones, aggregating query results based on the Nearby query requests, and updating the Nearby list according to the aggregated results, includes: Calculate the first object that leaves the field of view based on the object coordinates and the currently existing Nearby list, delete the object from the Nearby list, and simultaneously send a message to notify the first object to delete the object from the Nearby list; Querying the global server for all instance server IDs in the area where the object is located, and sending a query Nearby request to all location servers, the Nearby request including the coordinates of the object; the query Nearby request is used to instruct each location server to perform a query operation based on the coordinates of the object and return a list of Nearby objects; Receive the Nearby object list returned by each location server, compare the received Nearby object list with the currently existing Nearby list, determine the second object that has newly entered the object's field of view based on the comparison result, add it to the currently existing Nearby list, and send a message to notify the second object to add the object to the Nearby list.

6. A multi-person same-screen control device within a single scene map based on a distributed computing framework, wherein: The scene map is divided into multiple regions according to geographic coordinates, each region has multiple parallel instances, the multiple parallel instances in each region have the same geographic range, and each instance is responsible for a portion of users in the region, and the device includes: A first determining module is configured to respond to an object's request to join the same screen and determine a corresponding area identifier based on a map identifier and geographic coordinates of the scene map; a second determining module, configured to determine a target area corresponding to the area identifier from the multiple areas; a third determining module, configured to determine a target instance from a plurality of instances within the target area; A joining module is used to add the object to a multi-person same-screen scene corresponding to the scene map based on the target instance, in response to the same-screen joining request of the object.

7. The device according to claim 6, wherein The third determining module is specifically configured to: In response to the presence of an instance in a good state among the multiple instances in the target area, randomly selecting one instance in a good state from the multiple instances and determining it as the target instance; In response to the fact that there is no instance in the good state among the multiple instances, an instance in the idle state is randomly selected from the multiple instances and determined as the target instance.

8. The apparatus according to claim 6, further comprising: a query module, configured to query a Nearby list of objects in the field of view in response to the object entering the multi-person co-screen scene, and notify other objects in the Nearby list to add the object; Alternatively, the notification module is used to notify other objects in the Nearby list to delete the object in response to the object leaving the multi-person same-screen scene.

9. The apparatus according to claim 6, further comprising: An update module is configured to send a Nearby query request to each of the multiple instances in the multiple areas in response to a change in the location of the object, aggregate query results based on the Nearby query request, and update the Nearby list according to the aggregated results.

10. The device according to claim 9, wherein The update module is specifically used for: Calculate the first object that leaves the field of view based on the object coordinates and the currently existing Nearby list, delete the object from the Nearby list, and simultaneously send a message to notify the first object to delete the object from the Nearby list; Querying the global server for all instance server IDs in the area where the object is located, and sending a query Nearby request to all location servers, the Nearby request including the coordinates of the object; the query Nearby request is used to instruct each location server to perform a query operation based on the coordinates of the object and return a list of Nearby objects; Receive the Nearby object list returned by each location server, compare the received Nearby object list with the currently existing Nearby list, determine the second object that has newly entered the object's field of view based on the comparison result, add it to the currently existing Nearby list, and send a message to notify the second object to add the object to the Nearby list.

11. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 5.

12. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 5.

13. A computer program product comprising a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Game synchronization method, game client, computer storage medium and electronic equipment

    CN111135558A

  • Game data processing method, device and system, server and storage medium

    CN112657185A