A method for processing data in a virtual scene, an apparatus therefor, an electronic device, and a computer program.

By sharing static resources and isolating dynamic resources across multiple single-round games within a shared service process, the method addresses data redundancy and resource inefficiencies in game servers, enhancing memory and CPU efficiency.

JP7882459B2Active Publication Date: 2026-06-30TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-11-17
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing game server technologies face significant data redundancy and increased memory and CPU usage due to the need for separate service processes for each single-round game match, leading to inefficient resource utilization.

Method used

Implement a method where multiple single-round games share a service process, using static resource masks to share static resources and dynamic resource masks to isolate dynamic resources, thereby reducing the number of service processes and minimizing redundant memory usage.

Benefits of technology

This approach significantly reduces server memory occupancy and CPU load by allowing static resources to be shared across games while isolating dynamic resources, effectively minimizing data redundancy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007882459000006
    Figure 0007882459000006
  • Figure 0007882459000007
    Figure 0007882459000007
  • Figure 0007882459000008
    Figure 0007882459000008
Patent Text Reader

Abstract

The present application provides a data processing method and device for a virtual scene, an electronic device, a computer-readable storage medium, and a computer program product related to cloud-based gaming technology, the method including the steps of: allowing a plurality of clients to access a plurality of single-round games; assigning static resource masks corresponding to static resources to the plurality of clients, respectively, wherein the static resource masks assigned to the plurality of clients are the same; assigning dynamic resource masks corresponding to dynamic resources to the plurality of clients, respectively; sharing the static resources among the plurality of single-round games in response to assigning the static resource masks corresponding to the static resources to the plurality of clients, respectively; and separating the dynamic resources between different single-round games in response to assigning the dynamic resource masks corresponding to the dynamic resources to the plurality of clients, respectively.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - reference to related applications) This application is filed based on a Chinese patent application with application number 202210152301.0 filed with the Chinese Patent Office on February 18, 2022, claims the priority of the Chinese patent application, and all the contents of the Chinese patent application are incorporated herein by reference.

[0002] (Technical Field) This application relates to the field of cloud technology, and particularly to a data processing method and apparatus for virtual scenes, an electronic device, and a computer program.

Background Art

[0003] With the development of game technology, the server needs to provide resource services to a large number of game clients simultaneously. Different game clients access single - round matches of different games, and the service process provides resource services to the game clients of each single - round match.

[0004] In related technologies, each single - round match of a game needs to start a corresponding service process. Since the service processes corresponding to different single - round matches are different, the separation of dynamic resources between different single - round matches is realized. Then, the number of service processes is equal to the number of game single - round matches. Therefore, a large number of game single - round matches start the same number of service processes correspondingly. Since the size of the memory occupied by static resources has a positive correlation with the number of service processes, when the number of service processes increases rapidly, the memory occupancy of static resources increases significantly, and a large amount of data redundancy occurs on the server.

[0005] Regarding the method to effectively reduce data redundancy in the server, there is still no effective solution in related technologies.

Summary of the Invention

[0006] This embodiment provides a virtual scene data processing method and apparatus, electronic device, computer-readable storage medium, and computer program product that can reduce server data redundancy by achieving dynamic resource separation and static resource sharing between different single-round games. [Means for solving the problem]

[0007] The technical solution of the present embodiment is realized as follows.

[0008] This embodiment provides a method for processing data in a virtual scene, which is performed by a server, and the method is A step to allow multiple clients to access multiple single-round games, wherein the multiple single-round games share a service process, and the service process includes static and dynamic resources for the virtual scene. A step of assigning static resource masks corresponding to static resources to multiple clients, wherein the static resource masks assigned to each of the multiple clients are the same. A step of assigning dynamic resource masks corresponding to dynamic resources to multiple clients, wherein the dynamic resource masks assigned to clients accessing the same single-round game are the same, and the dynamic resource masks assigned to clients accessing different single-round games are different. The steps include sharing static resources across multiple single-round matches, based on assigning static resource masks corresponding to static resources to multiple clients, and The process includes the step of isolating dynamic resources between different single-round games, based on assigning a dynamic resource mask corresponding to the dynamic resources to each of multiple clients.

[0009] This embodiment provides a method for processing data of a virtual scene, which is performed by a terminal device, and the method is The steps include: connecting to the server's service process via a first client of a terminal device, and in response to a game start command sent from the server, accessing one of several single-round games created by the server for several clients, wherein the several single-round games share a service process, the service process includes static and dynamic resources for a virtual scene, and the several clients include the first client; A step of receiving a static resource mask sent by a server regarding a static resource, wherein the static resource masks sent by the server to different clients are the same. A step of receiving a dynamic resource mask sent by a server with respect to a dynamic resource, wherein the dynamic resource mask sent by the server to a client accessing the same single-round game is the same, and the dynamic resource mask sent to a client accessing a different single-round game is different, Here, a static resource mask is used to share static resources across multiple single-round games, while a dynamic resource mask is used to isolate dynamic resources across different single-round games.

[0010] This embodiment provides a data processing device for a virtual scene, and the device is An access module configured to allow multiple clients to access multiple single-round games, wherein the multiple single-round games share a service process, and the service process includes static and dynamic resources for the virtual scene, and the access module... A first allocation module configured to assign static resource masks corresponding to static resources to multiple clients, wherein the static resource masks assigned to each of the multiple clients are the same; A second assignment module configured to assign dynamic resource masks corresponding to dynamic resources to multiple clients, wherein the dynamic resource masks assigned to clients accessing the same single-round game are the same, and the dynamic resource masks assigned to clients accessing different single-round games are different. A shared module configured to share static resources across multiple single-round games, based on assigning a static resource mask corresponding to the static resource to each of multiple clients, The system includes an isolation module configured to isolate dynamic resources between different single-round games, based on assigning a dynamic resource mask corresponding to the dynamic resources to each of multiple clients.

[0011] This embodiment provides a data processing device for a virtual scene, and the device is An access module configured to connect to a server's service process via a first client of a terminal device, and to access one of several single-round games created by the server for several clients in response to a game start command sent from the server, wherein the several single-round games share a service process, the service process includes static and dynamic resources for a virtual scene, and the several clients include the first client, and the access module, A first receiving module configured to receive static resource masks sent by a server regarding static resources, wherein the static resource masks sent by the server to different clients are the same; A second receiving module configured to receive dynamic resource masks sent by a server regarding dynamic resources, wherein the dynamic resource masks sent by the server to clients accessing the same single-round game are the same, and the dynamic resource masks sent to clients accessing different single-round games are different. Here, a static resource mask is used to share static resources across multiple single-round games, while a dynamic resource mask is used to isolate dynamic resources across different single-round games.

[0012] The present embodiment provides an electronic device, and the electronic device is Memory configured to store executable instructions, The invention comprises a processor configured to implement the virtual scene data processing method according to the embodiment of the present invention by executing executable instructions stored in memory.

[0013] This embodiment provides a computer-readable storage medium in which executable instructions for causing a processor to execute the virtual scene data processing method according to this embodiment are stored.

[0014] This embodiment provides a computer program product or computer program that includes computer instructions stored on a computer-readable storage medium. The processor of a computer device reads and executes the computer instructions from the computer-readable storage medium, thereby causing the computer device to execute the virtual scene data processing method described in this embodiment. [Effects of the Invention]

[0015] The embodiment of this application has the following beneficial effects.

[0016] When allowing multiple clients to access multiple single-round games, make multiple single-round games share one service process, and by assigning corresponding static resource masks and dynamic resource masks to clients of different single-round games, realize the sharing of static resources and the separation of dynamic resources among multiple single-round games. As a result, the number of service processes is significantly reduced. Since the size of the memory occupied by static resources is positively correlated with the number of service processes, by significantly reducing the number of service processes, the amount of memory capacity occupied by static resources can be significantly reduced, thereby effectively reducing the data redundancy of the server.

Brief Description of the Drawings

[0017] [Figure 1] It is a schematic diagram of the architecture of the virtual scene data processing system 100 according to an embodiment of the present application. [Figure 2A] It is an exemplary structural diagram of the server 200 according to an embodiment of the present application. [Figure 2B] It is an exemplary structural diagram of the terminal device 400-1 according to an embodiment of the present application. [Figure 3A] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 3B] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 3C] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 3D] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 3E] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 3F] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 3G] It is an exemplary flowchart of the virtual scene data processing method according to an embodiment of the present application. [Figure 4A] This is a schematic diagram illustrating the principle of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 4B] This is a schematic diagram illustrating the principle of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 4C] This is a schematic diagram illustrating the principle of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 4D] This is a schematic diagram illustrating the principle of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5A] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5B] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5C] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5D] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5E] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5F] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5G] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5H] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5I] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5J] This is a schematic diagram illustrating the effects of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5K] This is an illustrative flowchart of a data processing method for a virtual scene according to the present embodiment. [Figure 5L] This is an illustrative flowchart of a data processing method for a virtual scene according to the present embodiment. [Figure 5M] This is an illustrative flowchart of a data processing method for a virtual scene according to the present embodiment. [Figure 5N] This is a schematic diagram illustrating the principle of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5O] This is an illustrative flowchart of a data processing method for a virtual scene according to the present embodiment. [Figure 5P] This is a schematic diagram illustrating the principle based on related technologies. [Figure 5Q] This is a schematic diagram illustrating the principle of the data processing method for virtual scenes according to the embodiment of the present invention. [Figure 5R] This is a schematic diagram illustrating the principle based on related technologies. [Figure 5S] This is a schematic diagram illustrating the principle based on related technologies. [Modes for carrying out the invention]

[0018] To further clarify the purpose, technical solutions and advantages of this application, the present application will be described in more detail below with reference to the drawings, and the embodiments described therein should not be understood as limitations to this application, and all other embodiments that can be obtained by those skilled in the art without creative effort are included within the scope of protection of the present invention.

[0019] In the following description, the term “several embodiments” refers to a subset of all possible embodiments, and as can be understood, “several embodiments” may be the same subset or different subsets of all possible embodiments, and these can be combined with one another without conflict.

[0020] The terms “first / second / third” as used in the following description are merely for distinguishing similar subjects and do not represent a specific order of subjects. Naturally, “first / second / third” may, in some cases, be interchangeable with a specific order or sequence, and it should be noted that the embodiments of the present application described herein may be carried out in an order other than that shown in the drawings or described.

[0021] Unless otherwise specified, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art. The terms used herein are for illustrative purposes only and are not intended to limit the application.

[0022] Before describing the embodiments of this application in more detail, the nouns and terms relating to the embodiments of this application will be explained below, with the following interpretations.

[0023] 1) A "virtual scene" is a scene displayed when a game program is executed on a terminal device. This scene may be a simulation environment of the real world, a semi-simulation / semi-fictional environment, or a purely fictional virtual environment. The virtual scene may be any one of a 2D virtual scene, a 2.5D virtual scene, or a 3D virtual scene, and the embodiments of this application are not limited to the dimensions of the virtual scene. For example, the virtual scene may include the sky, land, sea, etc., and the land may include environmental elements such as deserts or cities, and the user can control virtual objects and move around in the virtual scene.

[0024] 2) A “static resource” is a non-interactive resource within a virtual scene, that is, a resource whose state cannot be changed during the game process. For example, static resources may include buildings, road scenes, mountains, and seas in an online game.

[0025] 3) A "dynamic resource" is an interactive resource within a virtual scene, that is, a resource whose state can be changed during the game process. For example, a dynamic resource may be a virtual character controlled by the player, a destructible wall, or a virtual bullet.

[0026] 4) The term "in response to..." indicates a condition or state on which an operation to be performed depends, and if the dependent condition or state is met, one or more operations to be performed may be performed in real time or with a set delay, and unless otherwise specified, there are no restrictions on the order in which multiple operations to be performed are executed.

[0027] 5) "Cloud gaming" is a gaming method based on cloud computing. In cloud gaming, all games run on the server side, and the rendered game screen is compressed and sent to the user over the network. On the client side, the user's gaming device does not require a high-end processor or graphics card; only basic video compression capabilities are needed.

[0028] 6) "Single-round match" may refer to a single round of online gaming, where a single round of gaming involves a match in which characters controlled by at least two online game players are assigned by matchmaking.

[0029] 7) A "Dedicated Server (DS)" is a server that operates without an interface. A server that operates without an interface does not display visual effects, and the player does not run the game locally on the server. This allows the dedicated server to focus on the game logic and maximize its resources by coordinating the information transmitted from the client to host the game. The process that runs on the server to provide services related to the display of the client's virtual scene is called a service process, and is abbreviated as a process.

[0030] 8) A "client" is a game application program that runs on a terminal device.

[0031] In the process of implementing the embodiments of this invention, the applicant found the following problems with the related technology.

[0032] Referring to Figure 5P, which is a schematic diagram of the principle according to the related technology, each single-round game requires the launch of a corresponding process to run the online game; that is, single-round game 01 corresponds to process 011, single-round game 02 corresponds to process 012, single-round game 03 corresponds to process 013, and so on. Therefore, in the related technology, the number of processes is equal to the number of single-round games. In the case of a large number of single-round games, the related technology requires that the same number of processes be running. The lifecycle of a process coincides with the execution time of a single-round game; a process is created when a single-round game is created and terminated when a single-round game is destroyed. The size of memory occupied by static resources is linearly correlated with the number of processes; for example, static resources occupied by two processes are twice the static resources occupied by one process.

[0033] In related technologies, when a large number of processes are executed simultaneously and a large number of processes are terminated simultaneously, the following problems arise.

[0034] (1) Memory usage increases. As can be seen from the above analysis, the amount of memory occupied by static resources is positively correlated with the number of processes, with static resources occupied by two processes being twice as much as those occupied by one process. When multiple processes include the same static resources, the static resources are loaded repeatedly, leading to an increase in memory usage. For example, if multiple processes run the same game stage, the same stage is loaded repeatedly by multiple processes. A large map contains instances, and different instances use the same static resources, so the static resources are loaded repeatedly by multiple processes.

[0035] (2) The load on the Central Processing Unit (CPU) increases. Since the size of memory occupied by static resources is positively correlated with the number of processes, an increase in the number of single-round games leads to an increase in CPU load, limiting the capacity of the physical server. For example, if four clients can play the game in the same single-round game, 100 clients would require 25 processes to be launched. An increase in processes leads to an increase in L3 cache misses. Referring to Figure 5R, which is a schematic diagram of the principle by the relevant technology, as shown in Figure 5R, an increase in L3 cache misses is expressed as a rate of increase in CPU load that is greater than a linear rate of increase, and as the number of processes increases, the CPU usage of a single process also increases accordingly.

[0036] (3) The process is executed repeatedly. Referring to Figure 5S, which is a schematic diagram of the principle by the related technology, the process lifecycle follows a single round game, with the process starting when the single round game begins and ending when the single round game ends. In other words, during the execution of a single round game, there is overhead of redundancy for loading, unloading, and building large amounts of resources, and each time the process is created, there is CPU load jitter, as shown in Figure 5S.

[0037] This embodiment provides a virtual scene data processing method and apparatus, electronic device, computer-readable storage medium, and computer program product that can reduce server data redundancy by achieving dynamic resource separation and static resource sharing between different single-round games. Below, an exemplary application of the electronic device according to this embodiment will be described. The electronic device according to this embodiment may run as various types of user terminals such as notebook computers, tablet computers, desktop computers, set-top boxes, and mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable game devices), or it may be implemented as a server. Furthermore, one of multiple terminal devices may be used as a server; for example, a desktop computer with computing power greater than a computing power threshold may be used as a server, and the remaining user terminals may be used as clients. Below, an exemplary application when the electronic device is implemented as a server will be described.

[0038] Referring to Figure 1, which is a schematic diagram of the architecture of a virtual scene data processing system 100 according to an embodiment of the present invention, in order to realize an application scenario for processing an online game (for example, multiple terminals obtain static and dynamic resources from a network server), terminal devices (terminal devices 400-1, 400-2, and 400-3 are shown as examples) are connected to a server 200 via a network 300, and the network 300 may be a wide area network, a local area network, or a combination of both.

[0039] Terminal device 400-1 runs client 410-1 (for example, an online game client), terminal device 400-2 runs client 410-2, terminal device 400-3 runs client 410-3, and terminal devices 400-1, 400-2, and 400-3 are connected to each other with server 200 via a wired or wireless network.

[0040] In some embodiments, server 200 may be an independent physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud memory, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), big data, and artificial intelligence platforms. Terminal devices 400-1, 400-2, and 400-3 may be, but are not limited to, smartphones, tablet computers, notebook computers, desktop computers, smart speakers, smart watches, or in-vehicle terminals. The terminal devices and servers may be connected directly or indirectly by wired or wireless communication, and the embodiments of this application are not limited to this.

[0041] In some embodiments, the embodiments of the present invention can be further implemented using Cloud Technology, which refers to hosting technology that integrates a set of resources such as hardware, software, and networks within a wide area network or local area network to enable the computation, storage, processing, and sharing of data.

[0042] Cloud technology is a general term encompassing network technologies, information technologies, integration technologies, management platform technologies, and application technologies applied based on the cloud computing business mode. It allows for the formation of resource pools, which can be used as needed, making it flexible and convenient. Cloud computing technology provides crucial support. Backend services of technical network systems require significant computing and memory resources. Backend services of technical network systems require significant computing and storage resources.

[0043] The structure of the electronic device according to the embodiment of this application will be described below.

[0044] Taking the example that the electronic device is the server 200 shown in Figure 1, and referring to Figure 2A, Figure 2A is an exemplary structural diagram of the server 200 according to an embodiment of the present invention, and the server 200 shown in Figure 2A comprises at least one processor 210, memory 250, and at least one network interface 220. Each component within the server 200 is coupled by a bus system 240. Understandably, the bus system 240 is used to enable connection communication between these components. In addition to the data bus, the bus system 240 further includes a power bus, a control bus, and a status signal bus. However, for clarity in the explanation, in Figure 2A, the various buses are labeled as the bus system 240.

[0045] The processor 210 may be an integrated circuit chip having signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, where the general-purpose processor may be a microprocessor or any conventional processor.

[0046] The memory 250 may be removable, non-removable, or a combination thereof, and exemplary hardware devices include solid memory, hard disk drivers, optical disk drivers, etc. The memory 250 optionally includes one or more storage devices located physically away from the processor 210.

[0047] Memory 250 may include volatile memory or non-volatile memory, or it may include both volatile and non-volatile memory. Non-volatile memory may be read-only memory (ROM), and volatile memory may be random-access memory (RAM). Memory 250 as described in the embodiments of this application is intended to include any suitable type of memory.

[0048] In some embodiments, the memory 250 can store data to support various operations, and examples of this data include programs, modules, and data structures or subsets or supersets thereof, which are described illustratively below.

[0049] Operating System 251 includes system programs for handling various basic system services and performing hardware-related tasks, such as a framework layer, core library layer, and driver layer, which are used to implement various basic services and handle hardware-based tasks.

[0050] The network communication module 252 is configured to reach other electronic devices via one or more (wired or wireless) network interfaces 220, which, exemplary, include Bluetooth® technology, Wireless Fidelity (WiFi), and Universal Serial Bus (USB).

[0051] In some embodiments, the virtual scene data processing device according to the present embodiment can be implemented in software, and the virtual scene data processing device may be a functional entity within the server 200, and the virtual scene data processing device can implement the functions of a service process within the server 200, and multiple service processes each provide services to different clients, and the service processes in the server 200 may be written in software code environments of different programming languages, and Figure 2A shows the virtual scene data processing device 255 stored in memory 250, and the virtual scene data processing device 255 may be software in the form of a program or a plug-in, and includes software modules such as an access module 2551, a first assignment module 2552, a second assignment module 2553, a shared module 2554, and an isolated module 2555, and since these modules are logical, they can be arbitrarily combined or further divided based on the functions to be implemented. The functions of each module will be described below.

[0052] Taking as an example the electronic device being terminal device 400-1 shown in Figure 1, and referring to Figure 2B, Figure 2B is an exemplary structural diagram of terminal device 400-1 according to an embodiment of the present invention, and the terminal device 400-1 shown in Figure 2B comprises at least one processor 410, memory 450, at least one network interface 420 and a user interface 430. Each component of terminal device 400-1 is coupled to one another via a bus system 440. Understandably, the bus system 440 is used to enable connection communication between these components. In addition to the data bus, the bus system 440 further includes a power bus, a control bus and a status signal bus. However, for clarity of explanation, in Figure 2B, the various buses are labeled as the bus system 440.

[0053] The user interface 430 includes one or more output devices 431 that enable the display of media content, and each output device 431 includes one or more speakers and / or one or more visual display screens. The user interface 430 further includes one or more input devices 432, each input device 432 includes user interface components that assist user input, such as a keyboard, mouse, microphone, touchscreen display, camera, and other input buttons and controls.

[0054] The display module 453 is configured to display information via one or more output devices 431 (e.g., a display, speaker, etc.) associated with the user interface 430 (e.g., a user interface for operating peripheral devices and displaying content and information).

[0055] The input processing module 454 is configured to detect one or more user inputs or interactions from one or more input devices 432 and to interpret the detected inputs or interactions.

[0056] In some embodiments, the virtual scene data processing device according to the present embodiment can be implemented in software. Figure 2B shows the virtual scene data processing device 455 stored in memory 450. The virtual scene data processing device 455 may be software in the form of a program or plug-in, and includes software modules such as an access module 4551, a first receiving module 4552, and a second receiving module 4553. Since these modules are logical, they can be arbitrarily combined or further divided based on the functions they implement. The functions of each module will be described below.

[0057] A method for processing data in a virtual scene according to an embodiment of the present invention will be described with reference to the exemplary application and implementation of a server or terminal device according to the embodiment of the present invention.

[0058] Referring to Figure 3A, which is an exemplary flowchart of a virtual scene data processing method according to an embodiment of the present invention, steps 101 to 105 shown in Figure 3A will be described with reference. The entity executing steps 101 to 105 may be the aforementioned server, and steps 101 to 105 can be executed via the server's service process. The server may have multiple service processes, each providing services to a different client.

[0059] In step 101, multiple clients are allowed to access multiple single-round games.

[0060] In some embodiments, multiple single-round matches share a service process, which includes static and dynamic resources for the virtual scene; that is, at least two single-round matches share one service process. A single-round match may also be a single round of a game in an online game, where a single round of a game refers to a single round of competition in which virtual characters controlled by at least two online game players are assigned by matchmaking.

[0061] As an example, referring to Figure 4D, which is a schematic diagram of the principle of the data processing method for a virtual scene according to an embodiment of the present invention. Service process 11 allows clients 131, 132, and 133 to access single-round game 13, service process 11 allows clients 141, 142, and 143 to access single-round game 14, service process 12 allows clients 151, 152, and 153 to access single-round game 15, and service process 16 allows client 161 to access single-round game 16. Single-round games 13 and 14 share service process 11, and single-round games 15 and 16 share service process 12.

[0062] Referring to Figure 3B in some embodiments, Figure 3B is an exemplary flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. As shown in Figure 3B, step 101 shown in Figure 3A can be realized via step 1011 shown in Figure 3B, and will be described below with reference to step 1011 shown in Figure 3B.

[0063] In step 1011, in response to multiple clients connecting to the service process, multiple single-round games are executed, and game start commands are sent to multiple clients, causing the multiple clients to connect to multiple single-round games.

[0064] In some embodiments, each client connects to one single-round game, and the number of accesses to each single-round game is greater than or equal to a game start threshold and less than or equal to a game close threshold, where the game close threshold represents the maximum number of clients that can access one single-round game, and the game start threshold represents the minimum number of clients that must be accessible to start one single-round game.

[0065] As an example, referring to Figure 4A, Figure 4A is a schematic diagram of the principle of the data processing method for a virtual scene according to an embodiment of the present invention. In response to clients 421, 422, 431, 432, 441, and 442 connecting to the service process, the service process 41 executes single-round games 42, 43, and 44, and sends a game start command to clients 421, 422, 431, 432, 441, and 442, causing clients 421 and 422 to connect to single-round game 42, clients 431 and 432 to connect to single-round game 43, and clients 441 and 442 to connect to single-round game 44.

[0066] As an example, referring to Figure 4A, the number of accesses to each single-round game is greater than or equal to the game start threshold and less than or equal to the game close threshold. The number of accesses to single-round game 42 is 2, the game start threshold may be 1, and the game close threshold may be 2. In other words, the number of accesses to single-round game 42 is greater than the game start threshold and equal to the game close threshold.

[0067] As an example, referring to Figure 4C, which is a schematic diagram of the principle of the data processing method for a virtual scene according to an embodiment of the present invention. As shown in Figure 4C, in response to clients 311, 312, 313, 321, 322, 323, and 331 connecting to the service process 49, the service process 49 executes single-round games 31, 32, and 33, and sends a game start command to clients 311, 312, 313, 321, 322, 323, and 331, causing clients 311, 312, and 313 to connect to single-round game 31, clients 321, 322, and 323 to connect to single-round game 32, and client 331 to connect to single-round game 33.

[0068] Referring to Figure 3C in some embodiments, Figure 3C is an illustrative flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. Step 1011 shown in Figure 3B can be implemented via steps 10111 to 10112 shown in Figure 3C, and will be described below with reference to steps 10111 to 10112 shown in Figure 3C.

[0069] In step 10111, in response to multiple clients being connected to the service process and the number of clients being greater than or equal to the game start threshold, the first single-round game is initiated, a game start command is sent to the first number of clients, and the game start command is used by the first number of clients to access the first single-round game.

[0070] As an example, referring to Figure 4B, which is a schematic diagram of the principle of the virtual scene data processing method according to the embodiment of the present invention. When the game start threshold is set to 2 and the game close threshold is set to 3, the service process 45 starts executing the first single round game 46 in response that clients 461, 462, 463, 471, 472, 473, 481, and 482 are connected to the service process 45 and the number of clients (8) is greater than the game start threshold (2). The service process 45 sends a game start command to the first number of clients (assuming it is 3) (for example, clients 461, 462, and 463) to allow clients 461, 462, and 463 to access the first single round game 46.

[0071] In step 10112, in response to the number of clients who have accessed the t-th single-round game being equal to the game closing threshold, and the number of clients who have not accessed the first to t-th single-round games being equal to or greater than the game start threshold, the (t+1)-th single-round game is started, and at least some of the clients who have not accessed the first to t-th single-round games are allowed to access the (t+1)-th single-round game.

[0072] As an example, referring to Figure 4B, when the game start threshold is set to 2 and the game close threshold is set to 3, the service process 45 responds that the number of clients who have accessed the second single-round game 47 (which is 3) is equal to the game close threshold of 3, and the number of clients who have not accessed the first or second single-round game (clients 481 and 482) is greater than or equal to the game start threshold of 2, by starting the third single-round game 48 and allowing clients 481 and 482 who have not accessed the first single-round game 46 and the second single-round game 47 to access the third single-round game.

[0073] In some embodiments, t( Step 10112 above is performed by sequentially assigning a gradually increasing value (TIFF0007882459000001.tif511, where T is the upper limit of the number of single-round games that the service process can execute).

[0074] By setting a game start threshold and a game end threshold in this way, when multiple clients access multiple single-round games, a certain number of clients access each single-round game, thereby enabling multiple clients to connect to multiple single-round games. By allowing multiple clients to access multiple single-round games and having multiple single-round games share a single service process, the number of service processes can be made significantly smaller than the number of single-round games. In other words, the number of service processes is drastically reduced, and since the size of memory occupied by static resources is positively correlated with the number of service processes, drastically reducing the number of service processes can drastically reduce the amount of memory capacity occupied by static resources, thereby effectively reducing data redundancy on the server.

[0075] Next, referring to Figure 3A, in step 102, static resource masks corresponding to static resources are assigned to each of the multiple clients.

[0076] In some embodiments, a static resource mask is used to share static resources across multiple single-round games. The service process can ensure that static resources are shared across different single-round games by assigning a static resource mask corresponding to the same static resource to each of the multiple clients, and by ensuring that the static resource mask assigned to each of the multiple clients is the same.

[0077] As an example, referring to Figure 4A, service process 41 assigns static resource masks corresponding to static resources to clients 421, 422, 431, 432, 441, and 442, respectively.

[0078] As an example, referring to Figure 4B, service process 45 assigns static resource masks corresponding to static resources to clients 461, 462, 463, 471, 472, 473, 481, and 482, respectively.

[0079] In some embodiments, step 102 described above can be implemented in the following way: assign a static resource mask with a value of 0 to multiple clients. That is, the value of the static resource mask may be 0.

[0080] In step 103, a dynamic resource mask corresponding to the dynamic resource is assigned to each of the multiple clients.

[0081] In some embodiments, dynamic resource masks are used to isolate dynamic resources between multiple single-round games. The service process ensures complementary visibility of dynamic resources between different single-round games and achieves dynamic resource isolation by assigning dynamic resource masks corresponding to different dynamic resources to multiple clients. Here, the dynamic resource masks assigned to clients accessing the same single-round game are the same, while the dynamic resource masks assigned to clients accessing different single-round games are different.

[0082] As an example, referring to Figure 4A, a first dynamic resource mask corresponding to a dynamic resource is assigned to clients 421 and 422, respectively. Here, the first dynamic resource mask corresponds to the single-round game 42, and the first dynamic resource masks assigned to clients 421 and 422 are the same. A second dynamic resource mask corresponding to a dynamic resource is assigned to clients 431 and 432, respectively. Here, the second dynamic resource mask corresponds to the single-round game 43, and the second dynamic resource masks assigned to clients 431 and 432 are the same. The first dynamic resource mask and the second dynamic resource mask are different.

[0083] As an example, referring to Figure 4B, a third dynamic resource mask corresponding to the dynamic resource is assigned to clients 461, 462, and 463, respectively. Here, the third dynamic resource mask is the dynamic resource mask corresponding to single-round game 46, and the third dynamic resource mask assigned to clients 461, 462, and 463 is the same. A fourth dynamic resource mask corresponding to the dynamic resource is assigned to clients 471, 472, and 473, respectively. Here, the fourth dynamic resource mask is the dynamic resource mask corresponding to single-round game 47, and the fourth dynamic resource mask assigned to clients 471, 472, and 473 is the same. The third dynamic resource mask and the fourth dynamic resource mask are different.

[0084] In some embodiments, step 103 above can be implemented in the following way: The client accessing the m-th single round game receives the m value (the range of m is...) TIFF0007882459000002.tif33m The file is TIFF0007882459000003.tif34, and M is the upper limit on the number of single-round games that the service process can run.

[0085] Here, the dynamic resource mask assigned to clients accessing the same single-round game is the same, while the dynamic resource mask assigned to clients accessing different single-round games is different.

[0086] As an example, referring to Figure 4A, a 1-value dynamic resource mask is assigned to clients 421 and 422 accessing the first single-round game 42, a 2-value dynamic resource mask is assigned to clients 431 and 432 accessing the second single-round game 43, and a 3-value dynamic resource mask is assigned to clients 441 and 442 accessing the third single-round game 44.

[0087] As an example, referring to Figure 4B, a 1-value dynamic resource mask is assigned to clients 461, 462, and 463 accessing the first single-round game 46; a 2-value dynamic resource mask is assigned to clients 471, 472, and 473 accessing the second single-round game 47; and a 3-value dynamic resource mask is assigned to clients 481 and 482 accessing the third single-round game 48.

[0088] In step 104, static resources are shared among multiple single-round matches based on assigning static resource masks corresponding to static resources to multiple clients.

[0089] In some embodiments, the static resource masks corresponding to the static resources assigned to multiple clients are the same, allowing static resources to be shared between different single-round games using the same static resource mask. Clients in different single-round games share the same static resources; that is, the same static resources are sent to each client by the service process.

[0090] In this way, by assigning the same static resource mask to each client corresponding to the static resources, the static resources sent to each client by the service process are ensured to be the same. This allows all clients across different single-round matches to share the same static resources, effectively avoiding redundant loading of static resources.

[0091] Referring to Figure 3B in some embodiments, Figure 3B is an exemplary flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. Step 104 shown in Figure 3A can be implemented via steps 1041 to 1042 shown in Figure 3B, and will be described below with reference to steps 1041 to 1042 shown in Figure 3B.

[0092] In step 1041, a static resource request is received from one of several clients.

[0093] As an example, referring to Figure 4A, service process 41 receives a static resource request sent from client 421, one of several clients, where the static resource request carries a static resource mask.

[0094] As an example, referring to Figure 4B, service process 45 receives a static resource request sent from client 471, one of several clients, where the static resource request carries a static resource mask.

[0095] In step 1042, based on the static resource mask carried in the static resource request, it is queried whether the same static resource mask has been assigned to other clients among the multiple clients, it is determined that the multiple clients are sharing the static resource, and the same static resource is sent to one of the multiple clients.

[0096] As an example, referring to Figure 4A, the service process 41 queries whether the static resource masks assigned to clients 422, 431, 432, 441, and 442 are the same as the static resource masks carried in the static resource request sent from client 421, based on the static resource masks carried in the static resource request sent from client 421. It then decides to send the same static resource to one of the clients among clients 421, 422, 431, 432, 441, and 442, thereby enabling the sharing of static resources among multiple clients in different single-round games and saving the amount of memory capacity occupied by static resources.

[0097] In step 105, dynamic resources are isolated between different single-round matches based on assigning dynamic resource masks corresponding to the dynamic resources to multiple clients.

[0098] Here, separation includes physical separation and visual separation. Physical separation is used to assign the same horizontal, vertical, and vertical axis coordinates to dynamic resources within the field of view of any two different single-round game clients. Visual separation is used to prevent dynamic resources of two different single-round game clients from being visible to each other.

[0099] Referring to Figure 3B in some embodiments, Figure 3B is an exemplary flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. Step 105 shown in Figure 3A can be implemented via steps 1051 to 1053 shown in Figure 3B, and will be described below with reference to steps 1051 to 1053 shown in Figure 3B.

[0100] In step 1051, a dynamic resource update request is received from the first client among multiple clients.

[0101] In this case, the dynamic resource update request carries the operation information of the first client on the dynamic resource and the dynamic resource mask assigned to the first client.

[0102] As an example, referring to Figure 4A, the service process 41 receives a dynamic resource update request sent from the first client 431 among multiple clients. The dynamic resource update request carries operation information of the first client 431 with respect to the dynamic resource. For example, if the dynamic resource is a virtual bullet, the first client 431 determines the operation information of the first client 431 with respect to the dynamic resource (virtual bullet) in response to a user control operation to trigger a virtual shooting item and fire the virtual bullet. Based on the operation information for the dynamic resource, the service process 41 generates a dynamic resource update request, where the control operation is used to trigger a virtual shooting item and fire the virtual bullet. Thus, the dynamic resource update request received by the service process 41 carries the operation information of the first client 431 with respect to the dynamic resource and the dynamic resource mask assigned to the first client 431.

[0103] As an example, referring to Figure 4B, the service process 45 receives a dynamic resource update request sent from the first client 472 among multiple clients. The dynamic resource update request carries operation information of the first client 472 on the dynamic resource. For example, if the dynamic resource is a character controlled by a player, the first client 431 responds to the player's control operation on the character to determine operation information of the first client 431 on the dynamic resource (character) (e.g., triggering the character to move its position). Based on the operation information for the dynamic resource, the first client 431 generates a dynamic resource update request, where the control operation is used to change the state of the character (e.g., moving the character). Thus, the dynamic resource update request received by the service process 45 carries operation information of the first client 431 on the dynamic resource and the dynamic resource mask assigned to the first client 431.

[0104] In step 1052, the dynamic resource is updated based on the operation information, and the updated dynamic resource is retrieved.

[0105] As an example, referring to Figure 4A, if the dynamic resource is a character controlled by the player, the first client 431 responds to the player's control operation on the character by changing the character's state (e.g., moving the character), determines the operation information of the first client 431 on the dynamic resource (character) (e.g., moving the character), updates the dynamic resource (character) based on the operation information (moving the character), obtains the updated dynamic resource, and compares it with the character before the update, thereby changing the position coordinates of the updated character.

[0106] As an example, referring to Figure 4A, if the dynamic resource is a virtual bullet, the first client 431, in response to a user control operation to trigger a virtual shooting item and fire the virtual bullet, determines the operation information of the first client 431 on the dynamic resource (virtual bullet) (e.g., fire the virtual bullet), updates the dynamic resource (virtual bullet) based on the operation information (fire the virtual bullet), obtains the updated dynamic resource, and compares it with the virtual bullet before the update to change the position coordinates and firing state of the updated virtual bullet, where the control operation is used to change the state of the virtual bullet (e.g., adjust from an unfired state to a fired state).

[0107] In step 1053, based on the dynamic resource mask assigned to the first client, at least one second client is determined that has access to the same single-round game as the first client and has the same field of view.

[0108] For example, having the same field of view means that the characters of two clients in the same single-round game can see each other. Having the same field of view may mean that the field of view is completely the same, or that only a portion of the field of view is the same. Referring to Figure 5D, Figure 5D is a schematic diagram of the effect of the virtual scene data processing method according to the embodiment of the present invention. When virtual character 7 can be observed from the viewpoint of virtual character 8, the field of view of the client corresponding to virtual character 7 and the client corresponding to virtual character 8 are the same.

[0109] As an example, referring to Figure 4A, based on the dynamic resource mask 431 assigned to the first client, client 432 is determined to access the same single-round game as the first client 431. It is then determined whether the field of view of client 432 is the same as that of the first client 431. If the field of view of the first client 431 and client 432 are the same, client 432 is determined to be the second client.

[0110] As an example, referring to Figure 4B, based on the dynamic resource mask assigned to the first client 472, clients 471 and 473 are determined to access the same single-round game as the first client 472. It is then determined whether the field of view of clients 471 and 473 is the same as that of the first client 472. If the field of view of the first client 472 is the same as that of clients 473 and 471, then clients 471 and 473 are determined to be the second clients.

[0111] In some embodiments, if the virtual scene can be fully displayed by multiple clients at once, step 1053 above can be implemented in the following way: Based on the dynamic resource mask assigned to the first client, query the multiple clients to identify at least one client as the second client that has been assigned the same dynamic resource mask as the first client.

[0112] Thus, since clients accessing the same single-round game have the same dynamic resource mask, it is possible to determine a target client with the same dynamic resource mask as the first client based on the dynamic resource mask assigned to the first client, and to identify the target client as a client that accessed the same single-round game as the first client. In this way, querying clients that accessed the same single-round game using the dynamic resource mask facilitates the visual and physical separation of the dynamic resources of clients accessing different single-round games in subsequent instances.

[0113] In some embodiments, when a portion of a virtual scene is displayed simultaneously to multiple clients, refer to Figure 3D, which is an illustrative flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. Step 1053 shown in Figure 3B can be implemented via steps 10531 to 10533 shown in Figure 3D, and will be described below with reference to steps 10531 to 10533 shown in Figure 3D.

[0114] In step 10531, based on the dynamic resource mask assigned to the first client, query from multiple clients for at least one client that has been assigned the same dynamic resource mask as the first client.

[0115] As an example, referring to Figure 4A, the service process 41 queries clients 421, 422, 432, 441, and 442 for a client that has been assigned the same dynamic resource mask as the first client 431, such as client 432, based on the dynamic resource mask assigned to the first client 431.

[0116] As an example, referring to Figure 4B, the service process 45 queries clients 461, 462, 463, 471, 473, 481, and 482 for clients that have been assigned the same dynamic resource mask as the first client 472, such as clients 471 and 473, based on the dynamic resource mask assigned to the first client 472.

[0117] In step 10532, the distance in the virtual scene between the dynamic resource currently displayed to the first client and the dynamic resource corresponding to each of at least one other client is determined.

[0118] As an example, referring to Figures 5D and 4A, the distance in the virtual scene between the virtual character 7 currently displayed on the first client 431 and the virtual character 8 corresponding to client 432 is determined, that is, the distance in the virtual scene between the virtual character 7 and the virtual character 8 shown in Figure 5D, where distance refers to the length in the two-dimensional or three-dimensional space of the virtual scene.

[0119] As an example, referring to Figure 4B, the distance in the virtual scene between the dynamic resource currently displayed on the first client 472 and the dynamic resource corresponding to client 471, and the distance in the virtual scene between the dynamic resource currently displayed on the first client 472 and the dynamic resource corresponding to client 473 are determined.

[0120] In step 10533, at least one client whose distance is less than the field of view distance threshold is designated as the second client.

[0121] In some embodiments, the field of view threshold is the minimum distance at which dynamic resources currently displayed to two clients in the same single-round game are not visible to each other. If the distance between dynamic resources currently displayed to two clients in the same single-round game is less than the field of view threshold, the dynamic resources currently displayed to the two clients in the same single-round game are visible to each other. If the distance between dynamic resources currently displayed to two clients in the same single-round game is greater than or equal to the field of view threshold, the dynamic resources currently displayed to the two clients in the same single-round game are not visible to each other.

[0122] As an example, referring to Figures 4A and 5D, if at least one client that has been queried and assigned the same dynamic resource mask as the first client 431 is client 432, then client 432 is determined to be the second client if the distance in the virtual scene between the virtual character 7 currently displayed on the first client 431 and the virtual character 8 currently displayed on client 432 is less than the field of view distance threshold. If the distance in the virtual scene between the virtual character 7 currently displayed on the first client 431 and the virtual character 8 corresponding to client 432 is greater than or equal to the field of view distance threshold, client 432 is not determined to be the second client.

[0123] As an example, referring to Figure 4B, if the queried clients that are assigned the same dynamic resource mask as the first client 472 are client 471 and client 473, then if the distance in the virtual scene between the dynamic resource currently displayed to the first client 472 and the dynamic resource currently displayed to client 471 is less than the field of view distance threshold, then client 471 is determined to be the second client. If the distance in the virtual scene between the dynamic resource currently displayed to the first client 472 and the dynamic resource currently displayed to client 473 is less than the field of view distance threshold, then client 473 is determined to be the second client. If the distance in the virtual scene between the dynamic resource currently displayed to the first client 472 and the dynamic resource currently displayed to client 471 is greater than or equal to the field of view distance threshold, then client 471 is not determined to be the second client. If the distance in the virtual scene between the dynamic resource currently displayed to the first client 472 and the dynamic resource currently displayed to client 473 is greater than or equal to the field of view distance threshold, then client 473 is not determined to be the second client.

[0124] In some embodiments, if, among multiple clients, there is no second client accessing the same single-round game as the first client, the updated dynamic resources are sent to the first client. If, among multiple clients, there is at least one client accessing the same single-round game as the first client, and at least one client has a different field of view than the first client, the updated dynamic resources are sent to the first client.

[0125] As an example, referring to Figure 4C, if there are no second clients among multiple clients (e.g., client 311, client 312, client 313, client 321, client 322, client 323) that access the same single-round game (single-round game 33) as the first client 331, the updated dynamic resources are sent to the first client 331.

[0126] As an example, referring to Figure 4B, if, among the multiple clients, at least one client (clients 471 and 473) is not accessing the same single-round game as the first client 472, and the field of view of clients 471 and 473 differs from that of the first client 472, then the updated dynamic resources are sent to the first client 472.

[0127] In this way, by using two dimensions—a field of view distance threshold and a dynamic resource threshold—the system determines at least one second client that accesses the same single-round game as the first client and has the same field of view. If no second client meets the conditions, the updated dynamic resources are sent only to the first client, thereby achieving separation of dynamic resources between the first client and other clients.

[0128] In step 1054, the updated dynamic resources are sent to the first client and at least one second client.

[0129] In this way, by determining at least one second client that has access to the same single-round game as the first client and has the same field of view, based on two dimensions—field of view distance threshold and dynamic resource threshold—dynamic resources are shared between the first and second clients, while dynamic resources are separated between the first client and clients other than the second client.

[0130] Referring to Figure 3E in some embodiments, Figure 3E is an illustrative flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. Step 105 shown in Figure 3A can be realized via steps 1055 to 1056 shown in Figure 3E, and will be described below with reference to steps 1055 to 1056 shown in Figure 3E.

[0131] In step 1055, if the position of a dynamic resource in the virtual scene within the first client's field of view overlaps with the position of a dynamic resource in the virtual scene within the second client's field of view, the relationship between the single-round games accessed by the first and second clients is determined based on the dynamic resource masks assigned to the first and second clients, respectively.

[0132] Here, the first client and the second client are any two of the multiple clients.

[0133] In some embodiments, before performing step 1055 above, it is possible to determine whether the position of a dynamic resource in the virtual scene within the field of view of the first client overlaps with the position of a dynamic resource in the virtual scene within the field of view of the second client in the following manner: A dynamic resource update request is received from the first client among multiple clients, where the dynamic resource update request from the first client carries the operation information of the first client for the dynamic resource and the dynamic resource mask assigned to the first client. A dynamic resource update request is received from the second client among multiple clients, where the dynamic resource update request from the second client carries the operation information of the second client for the dynamic resource and the dynamic resource mask assigned to the second client. Based on the operation information of the second client for the dynamic resource and the operation information of the first client for the dynamic resource, it is determined whether the position of a dynamic resource in the virtual scene within the field of view of the first client overlaps with the position of a dynamic resource in the virtual scene within the field of view of the second client.

[0134] In some embodiments, positional overlap means that the 2D coordinates in the virtual scene of dynamic resources within the field of view of any two clients are the same, i.e., the dynamic resources within the field of view of any two clients touch in the virtual scene.

[0135] In some embodiments, the relationship between single-round games accessed by the first client and the second client indicates whether the single-round games accessed by the first client and the second client are different single-round games. That is, the relationship between single-round games accessed by the first client and the second client can indicate that the single-round games accessed by the first client and the second client are the same single-round game, and the relationship between single-round games accessed by the first client and the second client can also indicate that the single-round games accessed by the first client and the second client are different single-round games.

[0136] In some embodiments, in step 1055 above, determining the relationship between single-round games accessed by the first client and the second client based on the dynamic resource masks assigned to the first client and the second client, respectively, can be achieved in the following manner: If the dynamic resource masks assigned to the first client and the second client are the same, it is determined that the first client and the second client accessed the same single-round game; if the dynamic resource masks assigned to the first client and the second client are different, it is determined that the first client and the second client accessed different single-round games.

[0137] As an example, referring to Figure 4A, if the first client is client 421 of single-round game 42 and the second client is client 431 of single-round game 43, that is, if the dynamic resource masks assigned to the first and second clients are different, then the first and second clients will decide to access different single-round games.

[0138] As an example, referring to Figure 4C, if the first client is client 331 of single-round game 33 and the second client is client 321 of single-round game 32, that is, if the dynamic resource masks assigned to the first and second clients are different, then the first and second clients will decide to access different single-round games.

[0139] In step 1056, if the relationship indicates that the single-round games accessed by the first client and the second client are different single-round games, then physical isolation is performed for the dynamic resources corresponding to the first client and the second client, respectively.

[0140] Here, physical isolation is used to assign the same horizontal, vertical, and vertical coordinates to dynamic resources within the field of view of the first client and dynamic resources within the field of view of the second client.

[0141] As an example, referring to Figure 4A, if the first client is client 421 of single-round game 42 and the second client is client 431 of single-round game 43, the relationship indicates that the single-round games accessed by the first and second clients are different single-round games, and physical separation is performed for the dynamic resources corresponding to the first and second clients, i.e., the same horizontal, vertical, and vertical axis coordinates are assigned to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client. The fact that the single-round games accessed by the first and second clients are different single-round games indicates that the first and second clients are not related in the network, while the fact that the single-round games accessed by the first and second clients are the same single-round game indicates that the first and second clients are related in the network.

[0142] As an example, referring to Figure 5F, the physical separation between virtual character 11 and virtual character 12 is represented as virtual character 11 and virtual character 12 being invisible to each other but passable to each other, and virtual character 11 and virtual character 12 are assigned the same horizontal axis coordinates, vertical axis coordinates, and vertical axis coordinates.

[0143] In this way, by assigning the same horizontal, vertical, and vertical axis coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client, the dynamic resources within the field of view of the first client completely overlap with the dynamic resources within the field of view of the second client, thereby achieving physical separation between the dynamic resources corresponding to the first and second clients.

[0144] In some embodiments, if the relationship indicates that the single-round games accessed by the first client and the second client are the same single-round game, the same horizontal and vertical coordinates and different vertical coordinates are assigned to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client.

[0145] As an example, referring to Figure 5E, the absence of physical separation between virtual character 9 and virtual character 10 is represented as virtual character 9 and virtual character 10 being visible to each other but not traversable to each other, and virtual character 9 and virtual character 10 are assigned the same horizontal and vertical axis coordinates, and different vertical axis coordinates.

[0146] In some embodiments, after performing physical isolation on the dynamic resources corresponding to the first client and the second client, the physically isolated dynamic resources corresponding to the first client can be sent to the first client, and the physically isolated dynamic resources corresponding to the second client can be sent to the second client.

[0147] As an example, referring to Figure 4A, if the first client is client 421 and the second client is client 431, after performing physical isolation on the dynamic resources corresponding to client 421 and client 431 respectively, the physically isolated dynamic resources corresponding to client 421 can be sent to client 421, and the physically isolated dynamic resources corresponding to client 431 can be sent to client 431.

[0148] As an example, referring to Figure 4B, if the first client is client 462 and the second client is client 471, after performing physical isolation on the dynamic resources corresponding to client 462 and client 471 respectively, the physically isolated dynamic resources corresponding to client 462 can be sent to client 462, and the physically isolated dynamic resources corresponding to client 471 can be sent to client 471.

[0149] Referring to Figure 3F, Figure 3F is an exemplary flowchart of a data processing method for a virtual scene according to an embodiment of the present invention. Steps 201 to 210 shown in Figure 3F will be explained with reference, and the entity executing steps 201 to 210 may be the server or terminal device mentioned above.

[0150] In step 201, the server executes multiple single-round games in response to multiple clients connecting to the service process.

[0151] In step 202, the server sends a command to start a game to multiple clients.

[0152] In step 203, the server assigns a static resource mask corresponding to the static resource to each of the multiple clients.

[0153] In step 204, the server assigns a dynamic resource mask corresponding to the dynamic resources to each of the multiple clients.

[0154] In step 205, the server receives a static resource request sent from one of several clients.

[0155] In step 206, the server queries whether the same static resource mask has been assigned to other clients among the multiple clients, based on the static resource mask carried in the static resource request, and determines that multiple clients are sharing the static resource.

[0156] In step 207, the server sends the same static resource to one of the multiple clients.

[0157] In step 208, the server receives a dynamic resource update request sent from the first of several clients.

[0158] In step 209, the server updates the dynamic resource based on the operation information and retrieves the updated dynamic resource.

[0159] In step 210, the server sends the updated dynamic resources to the first client and at least one second client.

[0160] In some embodiments, referring to Figure 3G, which is an exemplary flowchart of a virtual scene data processing method according to the embodiment of the present invention, the steps 301 to 303 shown in Figure 3G will be described with reference, and the entity executing steps 301 to 303 may be the terminal device described above.

[0161] In step 301, the terminal device connects to the server's service process via the first client and, in response to a game start command sent from the server, accesses one of several single-round games that the server has created for multiple clients.

[0162] In some embodiments, multiple single-round games can share a service process, which includes static and dynamic resources for the virtual scene, and multiple clients include the first client.

[0163] In step 302, the first client receives the static resource mask that the server sent regarding the static resource.

[0164] In some embodiments, the static resource mask sent by the server to different clients is the same.

[0165] In step 303, the first client receives the dynamic resource mask that the server sent regarding the dynamic resource.

[0166] In some embodiments, the dynamic resource mask sent by the server to clients accessing the same single-round game is the same, while the dynamic resource mask sent to clients accessing different single-round games is different.

[0167] Here, a static resource mask is used to share static resources across multiple single-round games, while a dynamic resource mask is used to isolate dynamic resources across different single-round games.

[0168] In some embodiments, the separation includes field-of-view separation, and after performing step 303 above, field-of-view separation can be achieved in the following manner: A dynamic resource update request is sent to the server, which carries the operation information of the first client for the dynamic resource and the dynamic resource mask assigned to the first client; the updated dynamic resource is received from the server, where the server sends the updated dynamic resource to the first client and to at least one other client that has access to the same single-round game as the first client and has the same field of view.

[0169] In this way, by sending the updated dynamic resources to the first client and at least one other client that accesses the same single-round game as the first client and has the same field of view via the server, the first client and at least one other client that accesses the same single-round game as the first client and has the same field of view are made visible to each other, while the first client and a client that accesses a different single-round game are made invisible to each other, thereby achieving visual separation between the first client and a client that accesses a different single-round game.

[0170] In some embodiments, the separation includes physical separation, and after the first client sends a dynamic resource update request to the server, physical separation can be achieved in the following manner: The server receives the horizontal, vertical, and vertical axis coordinates assigned to the dynamic resources within the first client's field of view, where the position of the dynamic resources within the first client's field of view in the virtual scene overlaps with the position of the dynamic resources within the second client's field of view in the virtual scene, and the single-round games accessed by the first and second clients are different single-round games, the server assigns the same horizontal, vertical, and vertical axis coordinates to the dynamic resources within the first client's field of view and the dynamic resources within the second client's field of view.

[0171] Thus, if the position of the dynamic resources in the virtual scene within the field of view of the first client overlaps with the position of the dynamic resources in the virtual scene within the field of view of the second client, and the single-round games accessed by the first and second clients are different single-round games, the server will achieve physical separation between the first and second clients by assigning the same horizontal, vertical, and perpendicular coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client.

[0172] Thus, on the one hand, multiple clients can access multiple single-round games, and these multiple single-round games share a single service process. This significantly reduces the number of service processes to be much smaller than the number of single-round games, i.e., drastically reducing the number of service processes. Since the size of memory occupied by static resources is positively correlated with the number of service processes, drastically reducing the number of service processes drastically reduces the amount of memory occupied by static resources, thereby effectively reducing data redundancy. On the other hand, because multiple single-round games share a single service process, by assigning corresponding static resource masks and dynamic resource masks to clients of different single-round games, static resource sharing and dynamic resource separation between multiple single-round games can be achieved. In this way, data redundancy on the server can be effectively reduced, and dynamic resource separation and static resource sharing between different single-round games can be achieved.

[0173] Referring to Figure 5Q, Figure 5Q is a schematic diagram of the principle of the virtual scene data processing method according to the embodiment of the present invention. The virtual scene data processing method according to the embodiment of the present invention enables multiple single-round games to use the same process multiple times. For example, single-round game 04, single-round game 05, and single-round game 06 can use process 014 multiple times. By having multiple single-round games use the same process multiple times in this way, the following beneficial effects can be achieved.

[0174] (1) Memory usage is reduced. By having multiple single-round games share the same static resources, redundant loading of static resources is effectively reduced.

[0175] (2) CPU load is reduced. Compared to related technologies, the number of processes is significantly reduced, effectively saving overhead in the physical computing and rendering computing of processes. On the other hand, it effectively reduces level 3 cache misses and thus reduces cache overhead.

[0176] (3) Multiple single-round games utilize the process in a rolling multiplexing manner. The process supports the rolling multiplexing of multiple single-round games, thereby avoiding the overhead of redundancy in loading and unloading large amounts of resources.

[0177] The following describes an exemplary application of the embodiment of the present invention in a real-world online game application scenario.

[0178] The embodiments of this invention can have the following application scenarios. For example, in an application scenario of an actual online game, referring to Figures 5A to 5D, Figures 5A to 5D are schematic diagrams illustrating the effects of the virtual scene data processing method according to the embodiments of this invention. Referring to Figure 5A, in the virtual scene of the online game shown in Figure 5A, virtual character 1 controlled by player A and virtual character 2 controlled by player B belong to the same single-round match, while virtual character 3 controlled by player C belongs to a different single-round match from virtual character 1 and virtual character 2. Virtual characters in different single-round matches are not visible to each other. For example, virtual character 1 can see virtual character 3 but not virtual character 2, and virtual character 3 cannot see virtual character 1 and virtual character 2. Specifically, referring to Figure 5B, in the virtual scene from the perspective of virtual character 4 shown in Figure 5B, virtual character 4 cannot see virtual character 1 and virtual character 2 shown in Figure 5A. Referring to Figure 5C, in the virtual scene from the perspective of virtual character 5 shown in Figure 5C, virtual character 5 can see virtual character 6, but virtual character 3 shown in Figure 5A cannot. Referring to Figure 5D, in the virtual scene from the perspective of virtual character 8 shown in Figure 5D, virtual character 8 can see virtual character 7, but virtual character 3 shown in Figure 5A cannot. In other words, characters in different single-round games cannot see each other, while characters in the same single-round game can see each other. With the virtual scene data processing method according to this embodiment, clients in different single-round games share the service process of the network server, and the service process assigns the same single-round game mask (i.e., the aforementioned dynamic resource mask) to the dynamic resources within each single-round game, and assigns different single-round game masks to the dynamic resources within different single-round games, thereby achieving visual and physical separation of dynamic resources within different single-round games through the assignment of single-round game masks.This significantly frees up space on the network servers, effectively improving their capacity.

[0179] As an example, referring to Figure 5E, which is a schematic diagram of the effect of the data processing method for a virtual scene according to the embodiment of the present invention. The single-round match mask of virtual character 9 (i.e., the dynamic resource mask mentioned above) and the single-round match mask of virtual character 10 are the same, meaning that virtual character 9 and virtual character 10 belong to the same single-round match, and when the positions of virtual character 9 and virtual character 10 overlap (they have the same 2D coordinates), a physical collision exists between virtual character 9 and virtual character 10, and virtual character 9 and virtual character 10 determine that they exist, and in spatial representation, virtual character 9 and virtual character 10 are stacked vertically in the same 2D coordinates, meaning that when virtual character 9 and virtual character 10 are in the same 2D coordinates, a collision occurs and they cannot pass each other, meaning that characters in the same single-round match can detect each other's presence.

[0180] As an example, referring to Figure 5F, which is a schematic diagram of the effect of the data processing method for a virtual scene according to the embodiment of the present invention. The single-round match mask of virtual character 11 and the single-round match mask of virtual character 12 are different, that is, virtual character 11 and virtual character 12 belong to different single-round matches, and when the positions of virtual character 11 and virtual character 12 overlap (they have the same 2D coordinates), that is, there is no physical collision between virtual character 11 and virtual character 12, and virtual character 11 and virtual character 12 determine that they do not exist. In terms of spatial representation, virtual character 11 and virtual character 12 can overlap at the same 2D coordinates, that is, when virtual character 11 and virtual character 12 are at the same 2D coordinates, no collision occurs and they can pass through each other, that is, characters from different single-round matches cannot detect each other's presence.

[0181] Referring to Figures 5G to 5J, these figures are schematic diagrams illustrating the effects of the data processing method for a virtual scene according to the embodiment of the present invention. A static resource refers to a resource shared by different clients, and static resources can be shared by different clients. In online games, a static resource is a non-interactive resource in the online game, that is, a resource whose state cannot be changed during the game process. For example, a static resource may be the virtual building 51 in the online game shown in Figure 5G, or a virtual cityscape 52 in the online game shown in Figure 5H. A dynamic resource refers to different resources for different clients, and dynamic resources can be dedicated to each client. In online games, a dynamic resource is an interactive resource in the online game, that is, a resource whose state can be changed during the game process. For example, a dynamic resource may be the virtual character 53 controlled by the player shown in Figure 5I, or a virtual bullet 54 in the online game shown in Figure 5J.

[0182] In this way, characters in different single-round games are not visible to each other in the field of view, while characters within the same single-round game are visible to each other in the field of view. Dynamically, characters in different single-round games are physically separated, while characters within the same single-round game are determined to be physically present. That is, characters within the same single-round game can detect each other, while characters in different single-round games cannot detect each other, thereby enabling the simultaneous execution of multiple single-round games by using the same process multiple times.

[0183] The following describes the specific implementation process of the data processing method for virtual scenes according to the embodiment of this invention.

[0184] First, we will explain the specific method for generating the single-round game mask (i.e., the dynamic resource mask and static resource mask mentioned above). Referring to Figure 5K, Figure 5K is an exemplary flowchart of the data processing method for a virtual scene according to the embodiment of this invention. Below, we will explain the method for generating the single-round game mask with reference to steps 501 to 509 shown in Figure 5K.

[0185] In step 501, the server process is initialized.

[0186] In step 502, the first client connects to the process.

[0187] In step 503, the second client connects to the process.

[0188] In step 504, the server process generates a single-round game mask.

[0189] In some embodiments, the single-round game mask (i.e., the aforementioned dynamic resource mask) for the dynamic resources of each single-round game is the same, while the single-round game masks for the dynamic resources of different single-round games are different. That is, the same single-round game mask is set for all dynamic resources of a single single-round game, and the characters are a subset of the dynamic resources.

[0190] The single-round match mask for each dynamic resource is recorded in the variable of each dynamic resource, and the maximum value of the single-round match mask may be 256. The relational expression for the rules of generating the single-round match mask may be as follows: (Formula 1) view_mask_id=battle_count Here, `view_mask_id` represents the single-round battle mask for the dynamic resource, and `battle_count` represents the number of single-round battles created by the process.

[0191] In step 505, the server process returns a single-round game mask to the second client.

[0192] In step 506, the server process returns a single-round game mask to the first client.

[0193] In step 507, the server process starts a single-round game.

[0194] If the conditions for starting a game are met, the process starts a single-round game. The conditions for starting a game may also be that the number of characters in the single-round game is 2 or more, that is, the number of players in the single-round game is equal to or greater than the lower limit threshold for the number of players, and the process issues a game start command to the client to start the first single-round game. If the number of characters in the first single-round game reaches the upper limit threshold for the number of characters, the process prepares to start the next single-round game, and if the conditions for starting the next single-round game are met, the next single-round game starts.

[0195] In step 508, the server process issues a command to the first client to start the game.

[0196] In step 509, the server process issues a command to the second client to start the game.

[0197] Referring to Figure 5L, which is an illustrative flowchart of the data processing method for a virtual scene according to an embodiment of the present invention. Below, the process attribute synchronization method will be described with reference to steps 510 to 514 shown in Figure 5L.

[0198] In step 510, the server process enters the main loop.

[0199] As an example, the process continues after it enters the main loop.

[0200] In step 511, the server process receives the client's uplink network packets.

[0201] For example, the process receives uplink network packets sent from each client, and these uplink network packets carry client operation information for dynamic resources, where client operation information for dynamic resources may include operations such as moving the virtual character's position, firing a virtual bullet, or releasing a virtual character skill.

[0202] In step 512, the server process executes logical processing.

[0203] For example, after receiving an uplink network packet, the process performs a logical calculation on the collected operation information. For instance, the logical calculation determines whether two different virtual characters are within each other's field of view based on positional movement operations performed on the virtual characters.

[0204] In step 513, the server process performs network relevance calculations.

[0205] For example, network relationship calculation could involve determining whether two virtual characters within a field of view have a network relationship, that is, determining whether two virtual characters within a field of view belong to the same single-round game.

[0206] As an example, referring to Figure 5M, which is an exemplary flowchart of the data processing method for a virtual scene according to the embodiment of the present invention. Below, referring to steps 5131 to 5134 shown in Figure 5M, the calculation process of network relationships will be described from the perspective of virtual character A (hereinafter abbreviated as character A).

[0207] In step 5131, the server process determines whether the single-round match mask of any resource within character A's field of view is 0.

[0208] As an example, any resource within character A's field of view includes all dynamic and static resources within character A's field of view. The process traverses all resources within character A's field of view to determine whether the single-round match mask of any resource within character A's field of view is 0. If the single-round match mask of any resource within character A's field of view is 0, this means that resources with a single-round match mask of 0 are static resources, and since static resources are shared by all single-round matches, character A has network relationships with all static resources regardless of which single-round match character A belongs to. If the single-round match mask of any resource within character A's field of view is 0, the process proceeds to step 5133; if the single-round match mask of any resource within character A's field of view is not 0, the process proceeds to step 5132.

[0209] In step 5132, the server process determines whether the single-round match mask of character A is equal to the single-round match mask of any resource.

[0210] For example, if the single-round game mask of any resource within character A's field of view is not 0, the process determines whether character A's single-round game mask is the same as the single-round game mask of the resource. If character A's single-round game mask is equal to the single-round game mask of the resource, this means that the single-round game to which the resource belongs is the same single-round game to which character A belongs, and the process proceeds to step 5133. If character A's single-round game mask is different from the single-round game mask of the resource, this means that the single-round game to which the resource belongs is a different single-round game to which character A belongs, and the process proceeds to step 5134.

[0211] In step 5133, it is determined that a network is involved.

[0212] For example, it is determined that resources within character A's field of view are related to character A's network.

[0213] In step 5134, it is determined that the network is not involved.

[0214] For example, it might be determined that resources within character A's field of view are not related to character A's network.

[0215] In this way, network relevance is determined based on the single-round game mask, enabling asynchronous transfer of dynamic resource attributes between different single-round games, thereby achieving visual separation between single-round games.

[0216] In step 514, the server process performs attribute synchronization.

[0217] For example, if two characters have a network relationship, the process synchronizes each other's attribute information and dynamic resources with the other character.

[0218] Referring to Figure 5N, Figure 5N is a schematic diagram of the principle of the data processing method for a virtual scene according to an embodiment of the present invention. During the execution of a single-round game, a collision may occur between dynamic resources in the process. The process determines whether a collision occurs between dynamic resource A and dynamic resource B by determining whether the single-round game masks between dynamic resource A and dynamic resource B are the same. If the single-round game masks between dynamic resource A and dynamic resource B are the same, a collision occurs between dynamic resource A and dynamic resource B. If the single-round game masks between dynamic resource A and dynamic resource B are different, no collision occurs between dynamic resource A and dynamic resource B.

[0219] For example, if dynamic resource A is a virtual character controlled by the player, and dynamic resource B is a virtual bullet, when the virtual bullet is fired at the virtual character, it is determined whether the single-round match mask of the virtual character is the same as the single-round match mask of the virtual bullet, and whether a collision occurs between the virtual character and the virtual bullet. If the single-round match mask of the virtual character is the same as the single-round match mask of the virtual bullet, the virtual character and the virtual bullet belong to the same single-round match, and when the virtual bullet is fired at the character, the virtual character and the virtual bullet collide. If the single-round match mask of the virtual character is different from the single-round match mask of the virtual bullet, the virtual character belongs to a different single-round match than the virtual bullet, and when the virtual bullet is fired at the virtual character, the virtual character and the virtual bullet do not collide.

[0220] Referring to Figure 5O, Figure 5O is an exemplary flowchart of the data processing method for a virtual scene according to an embodiment of the present invention. Below, referring to steps 520 to 523 shown in Figure 5O, the process of determining whether or not to calculate a collision from the perspective of character A will be described.

[0221] In step 520, the server determines whether the single-round match mask for any resource within character A's field of view is 0.

[0222] For example, if the single-round game mask of any resource within character A's field of view is 0, proceed to step 522. If the single-round game mask of any resource within character A's field of view is not 0, proceed to step 521. Resources with a single-round game mask of 0 are static resources, and static resources are shared by all single-round games. Therefore, any one static resource can potentially collide with other resources (which may be static or dynamic resources), and thus, collisions must be calculated for all resources with a single-round game mask of 0.

[0223] In step 521, the server determines whether the single-round match mask of character A is the same as the single-round match mask of any resource.

[0224] For example, if the single-round game mask of character A is the same as the single-round game mask of any resource, proceed to step 522. If the single-round game mask of character A is different from the single-round game mask of any resource, proceed to step 523.

[0225] In step 522, the server calculates a collision between character A and any resource.

[0226] In step 523, the server does not calculate collisions between character A and any resource.

[0227] In this way, by filtering collision detection using a single-round match mask, collision calculations only need to be performed for players within the same single-round match, thus achieving physical separation between single-round matches.

[0228] Since the size of memory occupied by static resources is positively correlated with the number of processes, the amount of static resources occupied by two processes is twice that of one process. When the same static resources are included in multiple processes, the static resources are loaded repeatedly, leading to an increase in the memory occupied by the static resources. The virtual scene data processing method according to this embodiment enables multiple single-round games to use processes in multiple instances, thereby saving the number of processes and enabling the multiple use of static resources.

[0229] Multiple single-round games share the same static resources, effectively reducing the redundancy of static resource recording. Reducing the number of processes saves the overhead of physical and rendering calculations for each process, while significantly decreasing Level 3 cache misses (L3 Cache Misses) and effectively reducing cache overhead. The process supports rolling multiple use of multiple single-round games, effectively avoiding the redundancy overhead of loading, unloading, and building large amounts of resources.

[0230] It is understood that while the embodiments of this application refer to relevant data such as static and dynamic resources, if the embodiments of this application apply to a specific product or technology, user permission or consent is required, and the collection, use, and processing of relevant data should comply with the relevant laws, regulations, and standards of the relevant country or region.

[0231] The following describes an exemplary structure of the virtual scene data processing device 255 according to the embodiment of the present invention, which is implemented as a software module. In some embodiments, as shown in Figure 2A, the software module in the virtual scene data processing device 255 stored in memory 250 includes an access module 2551 configured to allow multiple clients to access multiple single-round games, where the multiple single-round games share a service process, and the service process includes static and dynamic resources of the virtual scene, and a first allocation module 2552 configured to allocate static resource masks corresponding to static resources to multiple clients, where the static resource masks allocated to each of the multiple clients are the same, and a dynamic resource mask corresponding to dynamic resources to multiple clients. The system includes a second assignment module 2553 configured to assign to each ant, wherein the dynamic resource mask assigned to a client accessing the same single-round game is the same, and the dynamic resource mask assigned to a client accessing a different single-round game is different; a sharing module 2554 configured to share static resources among multiple single-round games based on assigning static resource masks corresponding to static resources to multiple clients, respectively; and an isolation module 2555 configured to isolate dynamic resources among different single-round games in response to assigning dynamic resource masks corresponding to dynamic resources to multiple clients, respectively.

[0232] In some embodiments, the access module 2551 described above is further configured to execute multiple single-round games in response to multiple clients connecting to a service process and to send game start commands to multiple clients, where the game start command is used for multiple clients to connect to multiple single-round games, each client connecting to one single-round game, and the number of accesses to each single-round game is greater than or equal to a game start threshold and less than or equal to a game closure threshold.

[0233] In some embodiments, the access module 2551 further initiates the first single-round game in response to multiple clients being connected to the service process and the number of clients being greater than or equal to a game start threshold, sending a game start command to the first number of clients, the game start command is used by the first number of clients to access the first single-round game, and t( The process is configured to perform the following operations by sequentially incrementing TIFF0007882459000004.tif511 (where T is the upper limit of the number of single-round games that the service process can execute), the operations of which include starting to execute the (t+1)th single-round game in response that the number of clients that have accessed the t-th single-round game is equal to the game closing threshold and the number of clients that have not accessed the first through t-th single-round games is equal to or greater than the game start threshold, and causing at least some of the clients that have not accessed the first through t-th single-round games to access the (t+1)th single-round game.

[0234] In some embodiments, the first allocation module 2552 described above is further configured to allocate a static resource mask with a value of 0 to multiple clients. The second allocation module 2552 described above is further configured to perform the following process by sequentially assigning m incrementing values, the process being performed by assigning m values ​​(where m is in the range of The process is TIFF0007882459000005.tif39, and includes the step of assigning a dynamic resource mask (where M is the upper limit on the number of single-round games that the service process can run) to the client that accesses the mth single-round game.

[0235] In some embodiments, the above separation includes field-of-view separation, and the separation module 2555 is configured to receive a dynamic resource update request sent from a first client among a plurality of clients, where the dynamic resource update request carries the first client's operation information on the dynamic resource and the dynamic resource mask assigned to the first client, to update the dynamic resource based on the operation information and to obtain the updated dynamic resource, to determine at least one second client that has access to the same single-round game as the first client and has the same field of view based on the dynamic resource mask assigned to the first client, and to send the updated dynamic resource to the first client and at least one second client.

[0236] In some embodiments, if the virtual scene can be fully displayed by multiple clients at once, the isolation module 2555 described above is further configured to query from the multiple clients as a second client, based on the dynamic resource mask assigned to the first client, for at least one client that has been assigned the same dynamic resource mask as the first client.

[0237] In some embodiments, if a portion of a virtual scene is displayed to multiple clients simultaneously, the isolation module 2555 is configured to further query the multiple clients for at least one client that has been assigned the same dynamic resource mask as the first client, based on the dynamic resource mask assigned to the first client, determine the distance in the virtual scene between the dynamic resources currently displayed to the first client and the dynamic resources corresponding to each of the at least one client, and designate at least one client whose distance is less than a field of view distance threshold as the second client.

[0238] In some embodiments, the data processing device 255 of the virtual scene described above further includes a first transmission module configured to send the updated dynamic resources to the first client if, among multiple clients, there is no second client accessing the same single-round game as the first client, and to send the updated dynamic resources to the first client if, among multiple clients, there is at least one client accessing the same single-round game as the first client, and at least one client has a different field of view than the first client.

[0239] In some embodiments, the separation includes physical separation, and the separation module 2555 further determines the relationship between single-round games accessed by the first and second clients, respectively, based on the dynamic resource masks assigned to the first and second clients, if the position of a dynamic resource in the virtual scene within the field of view of the first client overlaps with the position of a dynamic resource in the virtual scene within the field of view of the second client, where the first and second clients are any two of a plurality of clients, and the relationship indicates that the single-round games accessed by the first and second clients are different single-round games from each other, and the module is configured to perform physical separation on the dynamic resources corresponding to the first and second clients, respectively, where the physical separation is used to assign the same horizontal, vertical, and vertical coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client.

[0240] In some embodiments, the virtual scene data processing device 255 further includes a second transmission module configured to transmit physically isolated dynamic resources corresponding to a first client to the first client and physically isolated dynamic resources corresponding to a second client to the second client.

[0241] In some embodiments, the isolation module 2555 described above is further configured to determine that the first and second clients have accessed the same single-round game if the dynamic resource masks assigned to the first and second clients are the same, and to determine that the first and second clients have accessed different single-round games if the dynamic resource masks assigned to the first and second clients are different.

[0242] In some embodiments, the virtual scene data processing device 255 further includes a third assignment module configured to assign the same horizontal and vertical axis coordinates and different vertical axis coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client, when the relationship indicates that the single round games accessed by the first client and the second client are the same single round game.

[0243] In some embodiments, the shared module 2554 is configured to receive a static resource request sent from any one of the multiple clients, where the static resource request carries a static resource mask, and to query whether the same static resource mask has been assigned to any of the other clients based on the static resource mask carried in the static resource request, determine that the multiple clients are sharing a static resource, and send the same static resource to any one of the multiple clients.

[0244] The following describes an exemplary structure of the virtual scene data processing device 255 according to the embodiment of the present invention, implemented as a software module. In some embodiments, as shown in Figure 2B, the software module in the virtual scene data processing device 455 stored in memory 450 is an access module 4551 configured to connect to the server's service process via a first client of terminal equipment and to access one of several single-round games created by the server for several clients in response to a game start command sent from the server, wherein the several single-round games share a service process, the service process includes static and dynamic resources of the virtual scene, and the several clients include the first client, and the access module 4551 receives static resource masks sent by the server with respect to static resources. The system includes a first receiving module 4552 configured such that the static resource masks sent by the server to different clients are the same, and a second receiving module 4553 configured to receive dynamic resource masks sent by the server with respect to dynamic resources, wherein the dynamic resource masks sent by the server to clients accessing the same single-round game are the same, and the dynamic resource masks sent to clients accessing different single-round games are different, where the static resource mask is used to share static resources among multiple single-round games, and the dynamic resource mask is used to isolate dynamic resources among different single-round games.

[0245] In some embodiments, the separation includes field-of-view separation, and the data processing device 455 of the virtual scene further comprises a request module configured to send a dynamic resource update request to a server, the request module carrying a first client operation information for the dynamic resource and a dynamic resource mask assigned to the first client, and a third receiving module configured to receive the updated dynamic resource sent from the server, where the server sends the updated dynamic resource to at least one client that accesses the same single-round game as the first client and has the same field of view, and to the first client, respectively.

[0246] In some embodiments, separation includes physical separation, and the virtual scene data processing device 455 further comprises a fourth receiving module configured to receive horizontal, vertical, and vertical axis coordinates assigned by the server to dynamic resources within the field of view of a first client, wherein the positions in the virtual scene of the dynamic resources within the field of view of the first client overlap with the positions in the virtual scene of the dynamic resources within the field of view of a second client, and the single-round games accessed by the first and second clients are different single-round games, the server assigns the same horizontal, vertical, and vertical axis coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client.

[0247] This embodiment provides a computer program product or computer program that includes computer instructions stored on a computer-readable storage medium. The processor of a computer device reads and executes the computer instructions from the computer-readable storage medium, thereby causing the computer device to execute the virtual scene data processing method described in this embodiment.

[0248] The embodiment of the present invention provides a computer-readable storage medium in which executable instructions are stored, and when the executable instructions are executed by the processor, the processor is instructed to execute a virtual scene data processing method according to the embodiment of the present invention, for example, the virtual scene data processing method shown in Figure 3A.

[0249] In some embodiments, the computer-readable storage medium may be memory such as FRAM®, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM, or it may be a variety of devices including one or any combination of the above memories.

[0250] In some embodiments, executable instructions can take the form of a program, software, software module, script, or code, and may be written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, such as being deployed as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0251] For example, executable instructions may, but not necessarily, correspond to files in the file system; they can be stored in parts of files that store other programs or data, for example, in one or more scripts within a Hyper Text Markup Language (HTML) document, in a single file of the program discussed, or in multiple collaborative files (e.g., files that store one or more modules, subprograms, or code portions).

[0252] For example, an executable instruction may be deployed to run on a single computer device, or on multiple computer devices located in the same place, or on multiple computer devices distributed across multiple locations and interconnected by a communication network.

[0253] In summary, the embodiments of this invention have the following beneficial effects.

[0254] (1) On the one hand, multiple clients can access multiple single-round games, and these multiple single-round games share a single service process. This significantly reduces the number of service processes to be less than the number of single-round games, i.e., drastically reducing the number of service processes. Since the size of memory occupied by static resources is positively correlated with the number of service processes, drastically reducing the number of service processes drastically reduces the amount of memory occupied by static resources, thereby effectively reducing data redundancy. On the other hand, since multiple single-round games share a single service process, the sharing of static resources and the separation of dynamic resources between multiple single-round games are achieved by assigning corresponding static resource masks and dynamic resource masks to clients of different single-round games. In this way, data redundancy on the server is effectively reduced, and the separation of dynamic resources and the sharing of static resources between different single-round games can be achieved.

[0255] (2) By setting a game start threshold and a game end threshold, when multiple clients access multiple single-round games, a certain number of clients access each single-round game, thereby enabling multiple clients to connect to multiple single-round games. By allowing multiple clients to access multiple single-round games and having multiple single-round games share one service process, the number of service processes can be made significantly smaller than the number of single-round games, i.e., the number of service processes can be drastically reduced. Since the size of memory occupied by static resources is positively correlated with the number of service processes, drastically reducing the number of service processes can drastically reduce the amount of memory capacity occupied by static resources, thereby effectively reducing data redundancy on the server.

[0256] (3) By assigning the same static resource mask to each client corresponding to the static resource, the static resource sent to each client by the service process is made the same, thereby ensuring that all clients between different single-round matches share the same static resource and effectively avoiding redundant loading of the static resource.

[0257] (4) Since the dynamic resource masks of clients accessing the same single-round game are the same, based on the dynamic resource mask assigned to the first client, it is possible to determine the target client that has the same dynamic resource mask as the first client, and to determine the target client as a client that has accessed the same single-round game as the first client. In this way, querying clients that have accessed the same single-round game using the dynamic resource mask facilitates the visual and physical separation of the dynamic resources of clients accessing different single-round games in subsequent instances.

[0258] (5) By determining at least one second client that has access to the same single-round game as the first client and has the same field of view range, based on two dimensions, a field of view distance threshold and a dynamic resource threshold, dynamic resources are shared between the first client and the second client, and dynamic resources are separated between the first client and clients other than the second client.

[0259] (6) Based on two dimensions, a field of view distance threshold and a dynamic resource threshold, at least one second client is determined that has access to the same single-round game as the first client and has the same field of view. If no second client satisfies the conditions, the updated dynamic resources are sent only to the first client, thereby achieving separation of dynamic resources between the first client and other clients.

[0260] (7) By assigning the same horizontal, vertical, and vertical axis coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client, the dynamic resources within the field of view of the first client completely overlap with the dynamic resources within the field of view of the second client, thereby achieving physical separation between the dynamic resources corresponding to the first client and the second client.

[0261] The foregoing is merely an example of the present invention and is not intended to limit the scope of protection of this invention. Any modifications, equivalent substitutions, improvements, etc., made in the spirit and scope of this invention shall all be included within the scope of protection of this invention.

Claims

1. A method for processing data in a virtual scene, which is executed by a server, A step of allowing multiple clients to access multiple single-round games, wherein the multiple single-round games share a service process, and the service process includes static and dynamic resources for the virtual scene. A step of assigning a static resource mask corresponding to the static resource to each of the multiple clients, wherein the static resource mask assigned to each of the multiple clients is the same. A step of assigning a dynamic resource mask corresponding to the dynamic resource to each of the multiple clients, wherein the dynamic resource mask assigned to a client accessing the same single-round game is the same, and the dynamic resource masks assigned to clients accessing different single-round games are different. The steps include sharing the static resources among the multiple single-round matches, based on assigning a static resource mask corresponding to the static resource to each of the multiple clients, The steps include: separating the dynamic resources between different single-round games based on assigning a dynamic resource mask corresponding to the dynamic resources to each of the multiple clients; including, Data processing methods for virtual scenes.

2. The step of allowing the aforementioned multiple clients to access multiple single-round games is: The process includes the steps of executing multiple single-round games in response to multiple clients connecting to the service process, and sending game start commands to the multiple clients, the game start commands being used by the multiple clients to connect to the multiple single-round games. Each client is connected to one of the single-round games, and the number of accesses to each of the single-round games is equal to or greater than the game start threshold and equal to or less than the game close threshold. The data processing method for a virtual scene according to claim 1.

3. The step of executing multiple single-round games and sending game start commands to the multiple clients in response to the multiple clients connecting to the service process is: Steps include: starting the first single-round game and sending a game start command to a first number of clients in response to the number of clients being connected to the service process and the number of clients being equal to or greater than the game start threshold, wherein the game start command is used by the first number of clients to access the first single-round game; The process includes the step of performing the following operations by gradually increasing t and substituting it sequentially, Here, 1 ≤ t ≤ T, where T is the upper limit of the number of single-round games that the service process can execute, and the process is, The process includes the step of starting the (t+1)th single-round game in response to the number of clients that have accessed the t-th single-round game being equal to the game closing threshold, and the number of clients that have not accessed the first to t-th single-round games being equal to or greater than the game start threshold, and causing at least some of the clients that have not accessed the first to t-th single-round games to access the (t+1)th single-round game. The data processing method for a virtual scene according to claim 2.

4. The step of assigning a static resource mask corresponding to the static resource to each of the multiple clients is: The step includes assigning a static resource mask with a value of 0 to each of the aforementioned clients, The step of assigning a dynamic resource mask corresponding to the aforementioned dynamic resource to each of the multiple clients is: The process includes the step of performing the following operations by gradually increasing m and substituting it sequentially, The range of m is 1 ≤ m ≤ M, where M is the upper limit of the number of single-round games that the service process can execute, and the process is The step includes assigning a dynamic resource mask of value m to the client that accessed the m-th single-round game, The data processing method for a virtual scene according to claim 1.

5. The separation includes visual separation, The step of separating the dynamic resources between different single-round games is based on assigning a dynamic resource mask corresponding to the dynamic resources to each of the multiple clients, The step of receiving a dynamic resource update request sent from a first client among the plurality of clients, wherein the dynamic resource update request carries operation information of the first client for the dynamic resource and a dynamic resource mask assigned to the first client. The steps include updating the dynamic resource based on the operation information and obtaining the updated dynamic resource, The steps include determining at least one second client that has access to the same single-round game as the first client and has the same field of view, based on the dynamic resource mask assigned to the first client, The steps include sending the updated dynamic resource to the first client and the at least one second client, The data processing method for a virtual scene according to claim 1.

6. If the virtual scene can be fully displayed to the multiple clients at once, the step of determining at least one second client that has access to the same single-round game as the first client and has the same field of view, based on the dynamic resource mask assigned to the first client, is: The process includes the step of querying the plurality of clients for a second client, based on the dynamic resource mask assigned to the first client, where at least one client has been assigned the same dynamic resource mask as the first client. The data processing method for a virtual scene according to claim 5.

7. When a portion of the virtual scene is displayed to multiple clients simultaneously, the step of determining at least one second client that has access to the same single-round game as the first client and has the same field of view, based on the dynamic resource mask assigned to the first client, is: The steps include querying the plurality of clients for at least one client that has been assigned the same dynamic resource mask as the first client, based on the dynamic resource mask assigned to the first client, The steps include determining the distance in the virtual scene between the dynamic resource currently displayed to the first client and the dynamic resource corresponding to each of the at least one client, The step of designating at least one client whose distance is less than the field of view distance threshold as the second client, The data processing method for a virtual scene according to claim 5.

8. The data processing method for the virtual scene is as follows: If, among the plurality of clients, there is no second client that accesses the same single-round game as the first client, the step of sending the updated dynamic resource to the first client, The further step includes sending the updated dynamic resources to the first client if, among the plurality of clients, there is at least one client that accesses the same single-round game as the first client, and the field of view of the at least one client and the first client are different. The data processing method for a virtual scene according to claim 5.

9. The separation includes physical separation, The step of separating the dynamic resources between different single-round games is based on assigning a dynamic resource mask corresponding to the dynamic resources to each of the multiple clients, If the position of the dynamic resource in the virtual scene within the field of view of the first client overlaps with the position of the dynamic resource in the virtual scene within the field of view of the second client, the relationship between the single-round games accessed by the first client and the second client is determined based on the dynamic resource masks assigned to the first client and the second client, respectively. Step A, where the first client and the second client are any two of the plurality of clients, If the relationship indicates that the single-round games accessed by the first client and the second client are different single-round games, the step includes performing physical isolation for the dynamic resources corresponding to the first client and the second client, respectively. The physical separation is used to assign the same horizontal, vertical, and vertical coordinates to the dynamic resources within the field of view of the first client and the dynamic resources within the field of view of the second client. The data processing method for a virtual scene according to claim 1.

10. The data processing method for the virtual scene is as follows: The steps include sending a physically isolated dynamic resource corresponding to the first client to the first client, The further step includes sending a physically isolated dynamic resource corresponding to the second client to the second client, The data processing method for a virtual scene according to claim 9.

11. The step of determining the relationship between single-round games accessed by the first client and the second client based on the dynamic resource masks assigned to the first client and the second client, respectively, is: If the dynamic resource masks assigned to the first client and the second client are the same, the first client and the second client are determined to have accessed the same single-round game. The process includes the step of determining that if the dynamic resource masks assigned to the first client and the second client are different, the first client and the second client have accessed different single-round games. The data processing method for a virtual scene according to claim 9.

12. The data processing method for the virtual scene is as follows: If the relationship indicates that the single-round game accessed by the first client and the second client is the same single-round game, the further step includes assigning the same horizontal and vertical coordinates and different vertical coordinates to the dynamic resource within the field of view of the first client and the dynamic resource within the field of view of the second client. The data processing method for a virtual scene according to claim 9.

13. The step of sharing the static resource among the multiple single-round matches, based on assigning a static resource mask corresponding to the static resource to each of the multiple clients, is: The step of receiving a static resource request sent from any one of the plurality of clients, wherein the static resource request carries the static resource mask. The process includes the steps of: querying whether the same static resource mask has been assigned to another client among the plurality of clients based on the static resource mask carried in the static resource request, determining that the plurality of clients share the static resource, and sending the same static resource to any one of the plurality of clients. The data processing method for a virtual scene according to claim 1.

14. A method for processing virtual scene data, which is performed by a terminal device, A step of connecting to a server's service process via a first client of the terminal device, and in response to a game start command sent from the server, accessing one of a plurality of single-round games created by the server for a plurality of clients, wherein the plurality of single-round games share the service process, the service process includes static and dynamic resources of the virtual scene, and the plurality of clients include the first client, A step of receiving a static resource mask sent by the server with respect to the static resource, wherein the static resource masks sent by the server to different clients are the same. The step of receiving a dynamic resource mask transmitted by the server with respect to the dynamic resource, wherein the dynamic resource mask transmitted by the server to the client accessing the same single-round game is the same, and the dynamic resource mask transmitted to the client accessing a different single-round game is different, The static resource mask is used to share the static resources among the multiple single-round games, and the dynamic resource mask is used to separate the dynamic resources among different single-round games. Data processing methods for virtual scenes.

15. The separation includes visual separation, and the data processing method for the virtual scene is: A step of sending a dynamic resource update request to the server, wherein the dynamic resource update request carries the operation information of the first client for the dynamic resource and the dynamic resource mask assigned to the first client. The step further includes receiving the updated dynamic resource sent from the server, The server transmits the updated dynamic resources to at least one client that accesses the same single-round game as the first client and has the same field of view, and to the first client. The data processing method for a virtual scene according to claim 14.

16. The separation includes physical separation, and after sending a dynamic resource update request to the server, the data processing method for the virtual scene is as follows: The step further includes receiving the horizontal axis coordinates, vertical axis coordinates, and vertical axis coordinates that the server has assigned to the dynamic resource within the field of view of the first client, If the position of the dynamic resource in the virtual scene within the field of view of the first client overlaps with the position of the dynamic resource in the virtual scene within the field of view of the second client, and the single-round games accessed by the first client and the second client are different single-round games, then the same horizontal axis coordinates, vertical axis coordinates, and vertical axis coordinates are assigned by the server to the dynamic resource within the field of view of the first client and the dynamic resource within the field of view of the second client. The data processing method for a virtual scene according to claim 15.

17. A data processing device for virtual scenes, An access module configured to allow multiple clients to access multiple single-round games, wherein the multiple single-round games share a service process, and the service process includes static and dynamic resources of the virtual scene, and the access module... A first allocation module configured to allocate a static resource mask corresponding to the static resource to each of the multiple clients, wherein the static resource mask allocated to each of the multiple clients is the same; A second assignment module configured to assign a dynamic resource mask corresponding to the aforementioned dynamic resource to each of the multiple clients, wherein the dynamic resource mask assigned to the client accessing the same single-round game is the same, and the dynamic resource mask assigned to the client accessing different single-round games is different. A shared module configured to share the static resource among the multiple single-round games, based on assigning a static resource mask corresponding to the static resource to each of the multiple clients, The system includes an isolation module configured to isolate the dynamic resources between different single-round games, based on assigning a dynamic resource mask corresponding to the dynamic resources to each of the multiple clients. A data processing unit for virtual scenes.

18. It is an electronic device, Memory configured to store executable instructions, A processor configured to realize the data processing method for a virtual scene described in any one of claims 1 to 16 by executing executable instructions or computer programs stored in the memory, electronic equipment.

19. A computer program for causing a computer to execute the data processing method for a virtual scene described in any one of claims 1 to 16.