Data processing method, system and device, electronic equipment and readable storage medium

By removing the control process from the set of logical processes, each logical process manages cross-process interactions and performs locking operations independently, thus solving the problems of control process overload and crashes, and achieving more efficient data processing and faster response speed.

CN119271423APending Publication Date: 2025-01-07NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411248823.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-05
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In existing technologies, when data interaction between various logical processes is coordinated through an independent control process, it is easy to cause the control process to be overloaded or crash, resulting in low fault tolerance. At the same time, it increases development and maintenance costs, and data broadcasting has latency and additional data volume.

Method used

In the set of logical processes, each logical process manages its own cross-process interaction, cancels the control process, and distributes the execution permissions of the target task evenly across the logical processes through locking operations to achieve atomic execution.

Benefits of technology

It reduces the risk of data processing downtime, reduces the time latency and development and maintenance costs of broadcast mechanisms, and improves the response speed and user experience of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271423A_ABST
    Figure CN119271423A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method, system and device, electronic equipment and a readable storage medium, and the method comprises the steps: when a first logic process in a logic process set receives an execution request for a target task, determining a target process set corresponding to the first logic process, the target process set comprising the first logic process, the at least one second logic process needs to communicate with the first logic process in the target task in the logic process set; the first logic process calls each target logic process to lock the target task; the target logic process is a first logic process in a target process set or any second logic process; and the first logic process responds to successful locking of each target logic process and executes the target task. According to the method, the downtime risk of data processing can be reduced, and the response speed of data processing is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computers, and specifically to a data processing method, system, device, electronic device and computer-readable storage medium. Background Art

[0002] In large-world games, player data and game logic data are usually distributed across multiple logic processes. In some games, only one player can perform a target task in a specific area. In such games, data exchange between logic processes is required.

[0003] In the related art, an independent control process can be set up to coordinate the data interaction permissions between various logical processes, such as locking, unlocking, database interaction, or data broadcasting through the control process.

[0004] However, in the above method, when an independent control process is used to coordinate the data interaction between the logical processes, the control process is overloaded, which can easily lead to full load or crash of the control process, and the fault tolerance is low; at the same time, when the control process broadcasts data, it brings additional data volume to the other logical processes, and the data broadcast has a time delay, which requires an additional error correction mechanism; in addition, setting up an independent control process increases additional development and maintenance costs.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present application, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0006] In view of this, the present application provides a data processing method, system, device, electronic device and computer-readable storage medium, which can reduce the risk of downtime in data processing and improve the response speed of data processing.

[0007] In a first aspect, an embodiment of the present application provides a data processing method, the method comprising:

[0008] When a first logic process in the logic process set receives an execution request for a target task, a target process set corresponding to the first logic process is determined, wherein the target process set includes the first logic process and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task;

[0009] The first logic process calls each target logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes;

[0010] In response to each target logic process being locked successfully, the first logic process executes the target task.

[0011] In a second aspect, an embodiment of the present application provides a data processing system, the system comprising at least a logical process set, wherein the logical process set comprises at least two logical processes;

[0012] When a first logic process in the logic process set receives an execution request for a target task, determining a target process set corresponding to the first logic process, the target process set including the first logic process and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task;

[0013] The first logic process calls each target logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes;

[0014] In response to each target logic process being locked successfully, the first logic process executes the target task.

[0015] In a third aspect, an embodiment of the present application provides a data processing device, the device comprising: a determination unit, a calling unit, and an execution unit;

[0016] The determining unit is configured to determine, when receiving an execution request for a target task through a first logical process in a logical process set, a target process set corresponding to the first logical process, wherein the target process set includes the first logical process and at least one second logical process in the logical process set that needs to communicate with the first logical process in the target task;

[0017] The calling unit is used to call each target logic process through the first logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes;

[0018] The execution unit is used to respond to each target logic process locking success through the first logic process to execute the target task.

[0019] In a fourth aspect, an embodiment of the present application provides an electronic device, including:

[0020] Processor; and

[0021] The memory is used to store a data processing program. After the electronic device is powered on and the program is run by the processor, the method of the first aspect is executed.

[0022] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium storing a data processing program, which is executed by a processor to perform the method of the first aspect.

[0023] The data processing method provided by the present application, when the first logic process in the logic process set receives an execution request for a target task, determines the target process set corresponding to the first logic process, the target process set includes the first logic process, and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task; the first logic process calls each target logic process respectively to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any second logic process; the first logic process responds to each target logic process locking successfully and executes the target task.

[0024] It can be seen that in the above data processing method, when each logical process executes an atomic target task, there is no need to control the authority of each logical process to execute the target task by adding an additional separate control process. Instead, the execution authority of the target task is logically and evenly distributed on each logical process, thereby increasing the data carrying capacity during the data processing process and reducing the risk of data processing downtime. In addition, after canceling the separate control process, the broadcast mechanism brought by the control process is removed. In this way, the amount of additional data brought by the control process to each logical process during the broadcast process can be reduced, and the time delay of the broadcast mechanism is reduced, thereby improving the response speed of data processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0026] Figure 1 A schematic diagram of a software layer of a data processing system in the related art;

[0027] Figure 2 A schematic diagram of a hardware level of a data processing system in the related art;

[0028] Figure 3 A schematic diagram for comparing the related technologies provided in the embodiments of the present application with the system of the present application at the software level;

[0029] Figure 4 A schematic diagram of the hardware level of a data processing system provided in an embodiment of the present application;

[0030] Figure 5 A flowchart of a data processing method provided in an embodiment of the present application;

[0031] Figure 6 A schematic diagram of a game example of the application data processing method provided in an embodiment of the present application;

[0032] Figure 7 A schematic diagram of data interaction of a data processing method provided in an embodiment of the present application;

[0033] Figure 8 A schematic diagram of an example interface of a data processing method provided in an embodiment of the present application;

[0034] Fig. 9 A schematic diagram of another example interface of the data processing method provided in an embodiment of the present application;

[0035] Fig.10 A timing diagram of data interaction between logical processes in a concurrent situation provided by an embodiment of the present application;

[0036] Fig.11 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;

[0037] Fig.12 A structural block diagram of an electronic device for implementing a data processing method is provided for an embodiment of the present application. DETAILED DESCRIPTION

[0038] Many specific details are described in the following description to facilitate a full understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of the present application, so the present application is not limited by the specific implementation disclosed below.

[0039] It should be noted that the terms "first", "second", "third", etc. in the claims, description and drawings of the present application are used to distinguish similar objects and are not used to describe a specific order or sequence. The data used in this way are interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including", "having" and their variants are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0040] It should be understood that in the embodiments of the present application, "at least one" refers to one or more, "more than one" refers to two or more, and several refers to one or more. "And / or" is only a way to describe the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "Including A, B and / or C" means including any one, any two, or any three of A, B, and C.

[0041] It should be understood that in the embodiments of the present application, "B corresponding to A", "B corresponding to A", "A corresponds to B", or "B corresponds to A" means that B is associated with A, and B can be determined according to A. Determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.

[0042] Before describing the implementation methods of the present application in detail, some related concepts and technologies are first introduced.

[0043] 1. A single-point server refers to a central server that is responsible for coordinating and managing other servers or processes in a distributed system or online game. That is, a single-point server is a centralized server that is often used to coordinate communication or data synchronization between multiple logical servers or processes.

[0044] 2. A single-point process refers to a process that is responsible for a specific core task in the system. It is usually responsible for coordinating and managing communication and data synchronization between multiple logical servers or multiple processes to ensure the overall stability and consistency of the system.

[0045] 3. Locking mechanism, a technology used to protect shared resources from concurrent access. The locking mechanism ensures that in a multi-threaded or multi-process environment, shared resources can only be accessed by one thread or process at a time, thereby avoiding problems such as data inconsistency or race conditions. The locking mechanism may include, but is not limited to: mutex locks, read-write locks, semaphores, and spin locks. Among them, in the embodiments of the present application, various locks are collectively referred to as process locks, and process locks can be used to explicitly ensure that only one process can execute the target task at the same time.

[0046] 4. Atomicity is used to ensure the integrity of an action or a series of actions. During the execution of the action, the action is either completed in full or not executed in part. In addition, after the completion of the atomic action, the system or data is in a consistent state. That is, in a multi-process environment, the atomic action can determine the consistency of data in multiple processes. That is, if an action is atomic, it is necessary to ensure that only one process executes the action at the same time. Usually, the atomicity of the action can be achieved through the above-mentioned process locks such as mutex locks, read-write locks, and semaphores.

[0047] Next, the relevant technologies are further introduced.

[0048] like Figure 1 As shown, Figure 1 A schematic diagram of the software level of a data processing system in the related art; the data processing system at the software level may include several logical processes and a control process. The user data and game logic data of the game can be distributed in logical process B, logical process B and logical process C. The data interaction rights between logical process B, logical process B and logical process C are managed by the control process, which is a single-point process. It can be seen that when the data interaction between the logical processes is coordinated by an independent control process, the control process is prone to overload, resulting in full load or downtime of the control process, and the fault tolerance is low; at the same time, when the control process broadcasts data, it brings additional data volume to the other logical processes, and the data broadcast has a delay, which requires an additional error correction mechanism; in addition, setting up an independent control process increases additional development costs and maintenance costs.

[0049] For example, Figure 2 As shown, Figure 2 This is a hardware-level schematic diagram of an example of a data processing system in the related technology; the hardware-level data processing system schematic diagram may include terminal devices, proxy servers, logic servers, and control servers. Among them, the terminal device is used for users to interact with the game, such as displaying game content, processing user input, etc.; the logic server is used to process the core logic of the game, such as game rules, item drops, user interaction, etc.; the proxy server is used to improve the security of the data processing system, as well as the overall response speed and stability of the system; the control server is used to control the data interaction between the logic servers in a specific game example, and the control server is the single-point server introduced above.

[0050] Specifically, the terminal devices may include terminal A corresponding to user A, terminal B corresponding to user B, terminal C corresponding to user C, and terminal D corresponding to user D; based on this, the game server where user A is located is logical server A, the game servers where users B and C are located are logical server B, and the game server where user D is located is logical server C. Among them, Figure 1 As shown, logical process B is running on logical server A, and logical process B and logical process C are running on logical server B.

[0051] Assume that user A, user B, user C, and user D are all in a specific area of ​​the game, and the target task in the specific area can only be successfully executed by one user, that is, the data of the target task can be regarded as shared data and can only be accessed by one user; for example, the target task is to build a fortress, and only one fortress is allowed to be built between multiple galaxies.

[0052] Based on the above game scenario, it is necessary to coordinate and handle concurrent request problems that may arise between the logical servers through the control server. For example, if user A sends execution requests to execute the target task through terminal A and user B sends execution requests through terminal B at the same time, the control server is needed to determine which logical server of which user executes the target task, because only one user can execute it successfully in this specific area.

[0053] Terminal A can send execution request A to logical server A through proxy server A, and logical server A sends the execution request A to the control server. Similarly, terminal B can send execution request B to logical server B through proxy server B, and logical server B sends the execution request B to the control server. Due to the network conditions of the space where user A and user B are located or other factors, the control server receives execution request A and execution request B in a certain order.

[0054] Assume that the control server receives execution request A first and then execution request B. The control server will respond to execution request A and put execution request B into the request queue for processing. After execution request A is completed, execution request B will be processed.

[0055] Specifically, the control server responds to the execution request A, and locks the logic process B corresponding to user B in the logic server B, the logic process C corresponding to user C, and the logic process D corresponding to user D in the logic server C, to prevent the logic process B, the logic process C, and the logic process D from executing the target task during the execution of the target task by user A. After the control process is locked, the logic server A starts to execute the target task, and after the logic server A completes the target task, the control process unlocks the logic process B, the logic process C, and the logic process D, and broadcasts the message that the logic server A completes the target task to the logic process B, the logic process C, and the logic process D; after receiving the broadcast message, the logic process B interrupts the operation related to the target task before sending the execution request, and sends a prompt message of request failure to the terminal B. For example, in the game task of building a fortress, the member first deducts the materials and gold coins required for building the fortress before the player initiates the request. If the logic process B interrupts the game task of building the fortress after receiving the broadcast message, a process of returning the materials and gold coins submitted by user B before requesting to build the fortress will be generated.

[0056] In this way, when the control server coordinates the data interaction between the logical servers, the control server is easily overloaded, causing the control server to be fully loaded or crash, and the fault tolerance is low; at the same time, when the control server broadcasts data, it brings additional data volume to each logical server, and the data broadcast has a time delay, requiring an additional error correction mechanism to be set up.

[0057] In addition, after user B initiates a request, it is necessary to wait for user A to complete the target task before determining whether user B's request operation is successful or failed, which is not a good user experience.

[0058] Based on the above-mentioned problems, the embodiments of the present application provide a data processing method, system, device, electronic device and computer-readable storage medium.

[0059] First, a comparative introduction is made between the data processing methods in the above-mentioned related technologies and the concept of the data processing method provided in this application.

[0060] like Figure 3 As shown, Figure 3 A schematic diagram of the system comparison between the related technology provided by the embodiment of the present application and the present application at the software level. Figure 3 (a) is a schematic diagram of a data processing system at the software level in the related art. Figure 3 (b) is a schematic diagram of an example of a data processing system at the software level provided in an embodiment of the present application.

[0061] Figure 3 The data processing system architecture diagram in the related art shown in (a) may include several logic processes and a control process. The user data and game logic data of the game may be distributed in logic process B, logic process B and logic process C, and the data interaction rights between logic process B, logic process B and logic process C are managed by the control process.

[0062] With respect to the data processing system architecture in the above-mentioned related technologies, the main idea of ​​the data processing method provided by this application is to remove the above-mentioned control process so that each logical process can manage cross-process interactions by itself; Figure 3As shown in (b), the data processing system architecture provided by the embodiment of the present application only includes several logical processes, excluding the control process. User data, game logic data, and data interaction permissions between processes are evenly distributed in each logical process, and each logical process can directly interact across processes. On the basis of no control process, the above-mentioned broadcast mechanism is cancelled, so that time delay can be reduced, no error correction mechanism needs to be set, and the user can guide whether the operation is successful or failed at the moment of initiating the request, thereby improving the user's gaming experience; in addition, the memory requirements for the servers where the logical processes are located can be removed, the memory cost of the servers where the logical processes are located can be reduced, and the labor cost of developing and maintaining the data processing system can be reduced.

[0063] like Figure 3 As shown in (b), the data processing system architecture of the data processing method provided in this application mainly involves the improvement of the system architecture at the software level, that is, the data interaction between each process. This application does not specifically limit the system architecture at the hardware level in the data processing system.

[0064] To facilitate understanding, a specific example of the hardware architecture of a data processing system for implementing the data processing method provided in the present application is introduced below.

[0065] The data processing method provided in the embodiment of the present application can be performed by an electronic device, which may include devices such as a terminal and / or a server. The terminal may be a terminal device such as a smart phone, a tablet computer, or a laptop computer. The server may be an independent physical server, or a server cluster or a 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 storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster consisting of multiple servers, or it may be implemented as a single server. When the server is software, it may be implemented as multiple software or software modules (e.g., software or software modules for providing distributed services), or it may be implemented as a single software or software module. The embodiment of the present application does not specifically limit this.

[0066] It should be noted that in the embodiments of the present application, the execution subject of the data processing method may be a terminal device, or a server, or a terminal device and a server in a data processing system, wherein the terminal device may be a local terminal device, or a client device in the aforementioned cloud game. The embodiments of the present application do not limit the type of the execution subject.

[0067] When the execution subject of the data processing method is a terminal device or a server, the data processing method is used to process the data interaction between several processes in the terminal device, or to process the data interaction between several processes in the server. That is, in the game, the logic process for processing the game logic and the client process for processing the user interaction run in one electronic device.

[0068] For example, in combination with the above introduction, Figure 4 A schematic diagram of the hardware level of a data processing system 1000 provided in an embodiment of the present application is shown, and the data processing system 1000 includes at least one terminal device 1001, at least one proxy service device 1002, at least one logic service device 1003, and a network. The terminal device 1001 held by the user can be connected to different proxy service devices 1002 through the network, and has been connected to the corresponding logic service device 1003 through the corresponding proxy service device communication. The terminal device 1001 is any device with computing hardware that can support and execute the software application tool corresponding to the game.

[0069] In the specific example, Figure 4 As shown, the terminal device 1001 may include terminal A, terminal B, terminal C and terminal D. Accordingly, the proxy service device 1002 may include a proxy server A corresponding to terminal A, a proxy server B corresponding to terminals B and C, and a proxy server C corresponding to terminal D; accordingly, the logical service device 1003 includes a logical server A corresponding to proxy server A, a logical server B corresponding to proxy server B, and a logical server C corresponding to proxy server C. Among them, Figure 3 The logical process A shown in (b) is Figure 4 As shown in the figure, logical server A is running, logical process B and logical process C are running on Figure 4 The logical process runs on the logical server B shown in the figure, that is, one logical process corresponds to one logical server.

[0070] For example, when the above data processing system is a game data processing system for processing game data, in the above data processing system 1000, the terminal device 1001 is used to install and run the game application. In some cases, the game application may not be installed in advance in the terminal device 1001, and the user can directly access the game through the client such as the browser in the terminal device. The user logs in to the game application using the registered game account, and can control the virtual character corresponding to the game account to participate in the game. When the user logs in to the game application, the terminal device 1001 will send a login request to the logic service device 1003 through the proxy service device 1002, and the logic service device 1003 verifies the game account used by the user. At the same time, the logic service device 1003 determines the game mechanism corresponding to the game account according to the login request, and returns a login success notification to the terminal device 1001 after the verification is passed. When a user participates in a game through a game application, data is exchanged between the terminal device 1001 and the logic service device 1003. The terminal device 1001 sends various information to the logic service device 1003. The logic service device 1003 determines the display data of the terminal device 1001 based on the stored game mechanism (such as the data processing method provided in this application) and the received information, and sends the display data to the terminal device 1001, so that the display data sent by the logic service device 1003 is displayed to the user through the terminal device 1001.

[0071] In possible application scenarios, different terminal devices 1001 may be served by different logical service devices 1003. Therefore, in order to distinguish the logical service devices 1003 corresponding to different game terminal devices 1001, the first and second methods will be used for description when involved in the text of the embodiment of the present application. In fact, the logical service devices 1003 corresponding to different terminal devices 1001 can be the same logical service device 1003, for example, terminal B and terminal C correspond to the same logical server B. Therefore, without distinguishing between the first and the second, it can be understood that the terminal devices 1001 corresponding to the virtual characters in the same game scene are served by the same logical service device 1003.

[0072] In addition, when the data processing system 1000 includes multiple terminals, multiple servers, and multiple networks, the terminal devices and the service devices can be connected through different network communications. The network can be a wireless network or a wired network, such as a wireless network such as a wireless local area network (WLAN), a local area network (LAN), a cellular network, a 2G network, a 3G network, a 4G network, a 5G network, etc. In addition, different terminals can also use their own Bluetooth network or hotspot network to connect to other terminals or to servers, etc. In addition, the data processing system 1000 may include multiple databases, multiple databases are coupled to different servers, and game-related information can be continuously stored in the database when different users play multi-user games online.

[0073] It should be noted that in Figure 4 In the data processing system shown, one or more logical processes may be run on a server device, and one or more client processes may be run on a terminal device, which is not limited in this embodiment.

[0074] visible, Figure 4 The data processing system shown is Figure 2 The data processing system in the related art shown reduces the configuration of the control server, that is, reduces the hardware cost of the data processing system.

[0075] It should be noted that Figure 4 The data processing system diagram shown is only an example. The data processing system 1000 described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application. Ordinary technicians in this field can know that with the evolution of data processing systems and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.

[0076] It should be noted that the following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0077] like Figure 5 As shown, Figure 5 This is a flowchart of an example of a data processing method provided in an embodiment of the present application. It should be noted that the steps shown may be performed in a logical order different from that shown in the flowchart of the method. The method may include the following steps S110 to S140.

[0078] Step S110: When the first logical process in the logical process set receives an execution request for a target task, a target process set corresponding to the first logical process is determined, where the target process set includes the first logical process and at least one second logical process in the logical process set that needs to communicate with the first logical process in the target task.

[0079] Step S120: the first logic process calls each of the target logic processes to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any second logic process.

[0080] Step S130: The first logic process responds to each target logic process being locked successfully and executes the target task.

[0081] Next, the above steps S110 to S130 are described in detail.

[0082] Regarding step S110, the purpose of step S110 is to filter out the logical processes with which the first logical process in the target task needs to communicate from the logical process set, and obtain the target process set corresponding to the first logical process.

[0083] The above-mentioned logical process set is a set of at least two logical processes in the data processing system, wherein a logical process is an execution process for running data processing logic in the data processing system; usually, the logical processes in the logical process set can communicate with each other. Figure 3 The logical process set described in (b) may include logical process A, logical process B, and logical process C, and logical process A, logical process B, and logical process C may communicate with each other.

[0084] The first logic process in the above logic process set refers to any logic process in the logic process set. When a certain logic process receives an execution request for a target task sent by its corresponding client process, the logic process can be used as the first logic process. The client process refers to a process running on the terminal side to process user input.

[0085] In this embodiment, the target task refers to a series of atomic computing tasks, data processing or other logical operations; in the game application scenario, the target task in this embodiment usually refers to the specific tasks or goals that the user needs to complete or achieve in order to advance the game process or unlock new game content, and the target task is atomic. For example, in several areas of the game, a game task in which a fortress can only be built in one area; in a specific area, only one user can enter a decrypted game task at the same time, etc., which are not specifically limited in the embodiments of this application.

[0086] The target process set corresponding to the first logical process refers to a process set consisting of the logical processes in the logical process set that need to perform data interaction with the first logical process in the target task.

[0087] According to the above introduction, the logical processes in the logical process set can communicate with each other, but in different target tasks, some logical processes need to communicate with each other, while some logical processes do not need to communicate with each other. Therefore, the logical processes that need to communicate with the first logical process in the target task can be screened out first to obtain the target process set corresponding to the first logical process.

[0088] In an optional specific embodiment, the target process set corresponding to the first logical process may be determined by the following steps S111 to S113.

[0089] Step S111: obtaining a preset configuration table, in which the communication relationship between the logical processes in the logical process set is configured.

[0090] Step S112: According to the process identifier of the first logic process, query the preset configuration table for at least one second logic process that communicates with the first logic process in the target task.

[0091] Step S113: Determine a target process set corresponding to the first logical process according to the first logical process and each second logical process.

[0092] In the embodiment of the present application, a preset configuration table is set for each logic process in the logic process set, and the preset configuration table is used to configure the communication relationship between the logic processes in different tasks. Furthermore, when the first logic process executes the target task, the preset configuration table can be queried to find several second logic processes that the first logic process needs to communicate with in the process of executing the target task, and the set consisting of the first logic process and the screened second logic processes is determined as the target process set corresponding to the first logic process.

[0093] The process identifier of a logical process is the process ID (PID). The process ID is a unique identifier assigned by the operating system to each logical process and is used to identify each process in the data processing system. The process ID is usually an integer in digital form. For example, the process identifier can include but is not limited to any value from 1 to 32768; it can also be an alphabetic identifier. For example, as shown in Table 1, the alphabetic identifier can be A, B, C, D, etc.

[0094] It should be noted that, in this embodiment, the logical processes that the first logical process needs to communicate with in the target task include the first logical process itself, so the target process set corresponding to the first logical process may include the first logical process, and at least one second logical process in the logical process set that needs to communicate with the first logical process in the target task. In this case, the second logical process is a logical process in the logical process set that is different from the first logical process, that is, the embodiment of the present application uses the first and second to distinguish different logical processes.

[0095] For example, as shown in Table 1, Table 1 provides specific examples of a logical process set, a first logical process, and a target process set.

[0096] Table 1 Specific examples of logical process set, first logical process, and target process set

[0097]

[0098] As shown in Table 1, the logical process set of a certain data processing system includes logical process A, logical process B, logical process C, logical process D, logical process E, logical process F, logical process G and logical process H.

[0099] In a certain target task, when the first logic process is logic process A, under the task requirements of the target task, the logic processes that need to interact with logic process A may include: logic process A itself, logic process B, and logic process C. Then the target process set corresponding to logic process A includes: logic process A, logic process B, and logic process C.

[0100] When the first logical process is logical process B, under the task requirements of the target task, the logical processes that need to interact with logical process B may include: logical process B itself, logical process A, logical process D, and logical process E. Then the target process set corresponding to logical process B includes: logical process A, logical process B, logical process D, and logical process E.

[0101] When the first logical process is logical process E, under the task requirements of the target task, the logical processes that need to interact with the logical process E may include: logical process E itself, logical process B, logical process F, logical process G and logical process H, then the target process set corresponding to logical process E includes: logical process B, logical process E, logical process F, logical process G and logical process H.

[0102] Regarding the above-mentioned step S120, the purpose of this step S120 is that the first logical process sends a lock request to each logical process in its corresponding target process set, so that each logical process in the target process set responds to the lock request to lock the target task, so as to achieve the atomicity of the target task and ensure that only the first logical process executes the target task at the same time.

[0103] In this embodiment, each logical process in the target process set corresponding to the first logical process is referred to as a target logical process, and the target logical process may be the first logical process itself, or any second logical process that needs to communicate with the first logical process in the target task. For example, as shown in Table 1, in the target process set corresponding to logical process A, the target logical process may be logical process A, logical process B, or logical process C.

[0104] In this embodiment, the first logic process can call any target logic process to perform a locking operation on the target task.

[0105] In an optional specific embodiment, since the target process set corresponding to the first logical process may include the first logical process itself and the second logical process, the locking operation for the target task in the embodiment of the present application may include the first locking operation and / or the second locking operation. The first locking operation is the locking operation performed by the first logical process on the target task when the first logical process calls a second logical process; the second locking operation is the locking operation performed by the first logical process itself on the target task.

[0106] Among them, the locking operation for the target task means that each target logic process locally locks the target task related logic, so that the target logic process cannot respond to the request for the target task after locking the target task, ensuring that only one logic process can execute the target task at the same time.

[0107] The following describes in detail the specific implementation methods of performing the locking operation on the target task when the target logical process is the first logical process and the second logical process respectively.

[0108] First, when the target logical process is the second logical process, the first logical process calls the second logical process to perform a first locking operation on the target task, which involves cross-process communication between the two processes.

[0109] In some optional specific implementations, the cross-process communication mode between two logical processes is a request-response mode, that is, a first logical process sends a first locking request to a second logical process, and after receiving the first locking request, the second logical process responds to the first locking request, performs a first locking operation on the target task, and sends feedback information to the first logical process after the locking is successful.

[0110] The request-response communication mode can realize data transmission through different protocols, for example, using Hyper Text Transfer Protocol (HTTP) for transmission, in which case the lock request can be an HTTP request; using TCP (Transmission Control Protocol) protocol, etc., which is not specifically limited in this embodiment.

[0111] Secondly, when the target logic process is the first logic process itself, the first logic process calls the target logic process itself to perform the second locking operation on the target task. Specifically, the first logic process does not need to send a relevant locking request, but can respond to the execution request for the target task and call the relevant thread or locking function set in the first logic process to perform the second locking operation. The specific locking process can be referred to in detail later, and will not be described here.

[0112] It should be noted that, in this embodiment, the lock request sent by the first logical process is called the first lock request, the lock operation performed in response to the first lock request is called the first lock operation, and the lock operation performed by the first logical process itself is called the second lock operation, which is convenient for distinguishing from the lock requests and lock operations sent by other logical processes in the following text.

[0113] It should be noted that when the first logic process requests each target logic process to perform a locking operation, a serial request-response mode is adopted. In this mode, the first logic process sends requests to the target logic process in turn, and waits for the response of each target logic process before continuing to send requests to the next target logic process. The characteristic of this mode is that each request and response is processed serially, that is, the next request will not start until one request is completed.

[0114] For the above step S130, successful locking means that the locking operations performed by each target logic process have been successful. In a specific embodiment, when the target logic process is the second logic process, when the first locking operation of the second logic process is completed, feedback information of successful locking can be sent to the first logic process. When the first logic process receives the feedback information sent by each target logic process, it can determine that each target logic process has been successfully locked, and then start to execute the target task.

[0115] It can be seen that in the above data processing method, when each logical process executes an atomic target task, there is no need to control the authority of each logical process to execute the target task by adding an additional separate control process. Instead, the execution authority of the target task is logically and evenly distributed on each logical process, which increases the data carrying capacity and reduces the risk of data processing downtime. When the amount of data to be processed increases subsequently, it can be solved by adding logical processes, which is convenient for expansion.

[0116] In addition, after canceling the separate control process, the broadcast mechanism brought by the control process is removed. In this way, there is no need to design an error correction mechanism for the broadcast mechanism, which further reduces the development cost and maintenance cost in the data processing process. It can reduce the amount of additional data brought by the control process to each logical process during the broadcast process, and reduce the time delay of the broadcast mechanism, thereby improving the response speed of data processing.

[0117] Next, the data processing method provided in this application is described in further detail.

[0118] In a preferred embodiment, in the above-described step S120, "the first logic process calls each target logic process to perform a locking operation on the target task" is specifically implemented through the following steps S121 to S122.

[0119] Step S121: The first logic process sorts each target logic process according to a preset sorting method.

[0120] Step S122: The first logic process calls each target logic process in sequence to perform a locking operation on the target task.

[0121] In this embodiment, each target logical process corresponds to a process identifier. Based on this, the above preset sorting method may include but is not limited to the following methods:

[0122] 1. When the process identifier is a numerical identifier, sort the target logical processes from small to large according to the numerical values ​​of the process identifiers corresponding to the target logical processes.

[0123] 2. When the process identifier is a numerical identifier, sort the target logical processes from large to small according to the numerical values ​​of the process identifiers corresponding to the target logical processes.

[0124] 3. Sort the target logical processes according to their priority in the target tasks.

[0125] 4. When the process identifier is an alphabetical identifier, sort them according to the order of the alphabetical identifiers in the alphabetical table.

[0126] Among them, mode 1 and mode 2 are that when the process identifier is a numerical identifier, the target logical processes in the target process set are sorted according to the numerical values ​​of the process identifiers of the target logical processes in the target process set.

[0127] The process identifier, as described above, is the process ID. The process ID is a unique identifier assigned by the operating system to each logical process, and is used to identify each process in the data processing system. The process ID is usually an integer in digital form. For example, the process identifier may include but is not limited to any value from 1 to 32768; it may also be an alphabetic identifier in alphabetical form. For example, as shown in Table 1, the alphabetic identifier may be A, B, C, D, etc. When the first logical process is logical process B, its corresponding target process set may include logical process D, logical process E, logical process A, and logical process B. Then, according to the order of the alphabetic identifiers in the alphabetical table, the target logical processes can be sorted, and the sorting result is: logical process A, logical process B, logical process D, logical process E.

[0128] In a preferred embodiment, the process ID can be a digital identifier, so that the uniqueness of multiple process identifiers can be ensured. When the process ID is a digital identifier, the process identifier has a size attribute, so the target logical processes can be sorted from small to large, or from large to small according to the size attribute of the numerical value. This sorting method can ensure that the order of each target logical process in the target process set is unique and the order will not change, thereby avoiding deadlock in the case of concurrent requests.

[0129] For example, under the premise that the target logical processes are not sorted, when logic process 2000 and logic process 2001 simultaneously receive execution requests for the target task, and the target logical processes corresponding to logic process 2000 and logic process 2001 are: logic integration 2000, logic process 2001 and logic process 2003.

[0130] When logic process 2000 responds to the execution request for the target task, it performs a locking operation on the target task locally and locks it successfully, and then tries to call logic process 2001 and logic process 2003 to execute the locking request; and logic process 2001 responds to the execution request for the target task, it also performs a locking operation on the target task locally and locks it successfully, and then tries to call logic process 2000 and logic process 2003 to execute the locking request. At this time, if logic process 2000 receives the locking request sent by logic process 2001, logic process 2000 has been locked by itself; when logic process 2001 receives the locking request sent by logic process 2000, logic process 2001 has also been locked by itself. In this way, there will be a situation where logic process 2000 waits for logic process 2001 to release the lock, and logic process 2001 waits for logic process 2000 to release the lock, that is, a deadlock situation.

[0131] Therefore, in the process of data processing where concurrent processing may occur, it is necessary to ensure the uniqueness of the process identifier of each logical process in the logical process set and the uniqueness of the order of each target logical process, so that the first logical process can call each target logical process in sequence according to the order of each target logical process to make a lock request for the target task.

[0132] Next, the specific locking method for performing the locking operation on the target task described above is introduced in detail.

[0133] In this embodiment, when the target logical process is the second logical process, the target logical process needs to respond to the locking request to perform the first locking operation after receiving the first locking request sent by the first logical process.

[0134] It is understandable that the first lock request may carry a task identifier of the target task, which is an identifier used to uniquely identify a task. Based on this, the target logic process may determine the start interface of the target task set in the target logic process according to the task identifier of the target task, and perform the first lock operation on the start interface of the target task set in the target logic process.

[0135] Among them, the startup interface of the target task set in a certain logic process refers to a functional service interface that is pre-set in the logic process and can be accessed by the logic process and is used to start the logic process to execute the target task. When the first logic process sends a first lock request to the target logic process, the first lock request carries the task identifier of the target task. When the target logic process receives the first lock request, it parses the target task from the first lock request and learns that it needs to start executing the target task. Therefore, the target logic process will start and execute the target task through the startup interface.

[0136] In this embodiment, the locking operation of the target logic process for the target task refers to the locking operation for the start interface corresponding to the target task set in the target logic process. Since the start interface corresponding to the target task is the starting position of the entire game logic about the target task in the target logic process, after the starting position is locked, the atomicity of the target task can be ensured, that is, to ensure that the target logic process will not be interrupted as long as it starts to execute the target task until the target task is completed; or, to ensure that the target logic process will not start to execute the target task.

[0137] Correspondingly, when the target logical process is the first logical process, the first logical process will perform a second locking operation on the startup interface of the locally set target task when it is scheduled. The specific locking method and the purpose achieved are consistent with the first locking operation described above, and will not be repeated here.

[0138] It should be noted that when the target logical process is the first logical process, since the target logical process performs a locking operation after receiving an execution request for a target task, that is, the target task has been started, locking the target logical process at this time can ensure that the target logical process will not be interrupted during the execution of the target task; and when the target logical process is the second logical process, since each second logical process has not yet received an execution request to execute the target task, after being locked, each second logical process cannot receive an execution request for the target task.

[0139] Based on this, if the game user corresponding to each second logical process initiates an execution request for the target task, feedback information that the target task cannot be executed can be quickly obtained, thereby reducing the interruption of the user's execution of the target task and improving the user's gaming experience.

[0140] In some optional specific embodiments, the locking operation on the start interface of the target task set in the target logical process described above can be implemented in the following manner, steps S1 to S3.

[0141] Step S1: Acquire the process lock corresponding to the start interface of the target task set in the target logical process.

[0142] Step S2: Determine the occupancy status of the process lock.

[0143] Step S3: When the process lock is in an unoccupied state, the process lock in the unoccupied state is adjusted to an occupied state, where the occupied state is used to indicate that the process lock is occupied by the target task corresponding to the task identifier.

[0144] In this embodiment, a process lock can be allocated to the startup interface set in each target logical process for the target task. In this embodiment, the process lock can be used to control the order in which each target logical process executes the target task, ensuring that only one logical process executes the target task at the same time. As introduced above, the process lock may include but is not limited to: mutex locks, read-write locks, semaphores, and spin locks, etc., which can be selected according to needs. In this embodiment, the process lock only needs to satisfy mutual exclusivity.

[0145] The acquisition of the process lock in the above step S1 refers to the process in which the target logical process attempts to acquire the exclusive execution right to the target task.

[0146] When the target logical process attempts to obtain the exclusive execution right of the target task, the occupation status of the process lock will be determined. The occupation status of the process lock refers to whether the process lock is currently held by the target logical process, that is, the occupation status can include unoccupied and occupied.

[0147] When the occupied state of the process lock is the unoccupied state, it means that the startup interface of the target task in the target logical process has not been locked. At this time, the process lock in the unoccupied state is adjusted to the occupied state to indicate that the process lock is occupied by the target task corresponding to the task identifier, that is, the locking operation of the startup interface of the target task in the target logical process is completed.

[0148] It should be noted that, no matter the target logical process is the first logical process or the second logical process, the locking operation on the target task is implemented through the above steps S1 to S3.

[0149] Based on the above steps S1 to S3, correspondingly, when the target logical process is the second logical process, the data processing method provided by the present application may further include the following step S4.

[0150] Step S4: When the process lock of the target logical process is in an occupied state, the first lock request is added to the request waiting queue corresponding to the target logical process.

[0151] In this embodiment, the request waiting queue corresponding to the target logical process refers to the waiting queue set in the target logical process for managing requests of external processes. The request waiting queue stores requests waiting to be processed by the target logical process. Normally, the request waiting queue follows the first-in-first-out principle, that is, the earliest arriving request is processed first.

[0152] When the process lock corresponding to the startup interface of the target task in the target logical process is in an occupied state, it indicates that the locking operation of the target logical process for the target task has been completed. At this time, the first locking request sent by the first logical process to the target logical process is added to the request waiting queue corresponding to the target logical process. When the occupied state of the process lock is adjusted to an unoccupied state, the first locking request is taken out from the request waiting queue, and the locking operation is performed in response to the first locking request.

[0153] It can be understood that in this embodiment, when the target logical process is the first logical process and is locked locally, if the process lock corresponding to the startup interface of the local target task in the first logical process is in an occupied state, the first logical process is directly blocked, that is, the task of locking the startup interface process for the local target task is added to the task waiting queue of the internal tasks of the first logical process; the task waiting queue is a waiting queue for processing internal instructions of the first logical process. Normally, the task waiting queue follows the first-in-first-out principle, that is, the earliest arriving task is processed first.

[0154] When the first logic process is blocked, the first logic process will be interrupted from attempting to call the remaining second logic processes or execute the target task, and wait until the process lock is released from the occupied state before attempting to call the remaining second logic processes or execute the target task.

[0155] In some optional embodiments, when the first logic process completes the target task, according to the order of the target logic processes described above, each target logic process is called in turn to perform an unlocking operation on the start interface of the target task set in the target logic process.

[0156] In an optional specific embodiment, when the target logical process is the second logical process, the first logical process sends an unlock request to the target logical process; the target logical process responds to the unlock request and performs an unlock operation on the start interface of the target task set in the target logical process.

[0157] In an optional specific embodiment, when the target logical process is the first logical process, the first logical process performs an unlocking operation on the startup interface of the locally set target task without executing the step of sending an unlocking request.

[0158] In a specific embodiment, the unlocking operation for the start interface of the target task may be to adjust the occupied state of the process lock corresponding to the start interface, that is, to adjust the process lock in the occupied state to the unoccupied state, and the unoccupied state indicates that the process lock corresponding to the start interface of the target task in the target logical process is not occupied by any logical process lock. Similar concepts can be referred to the description of the locking process in the previous text, which will not be repeated here.

[0159] In some optional embodiments, after the start interface of the target task set in each target logic process is unlocked successfully, each target logic process detects whether there is a suspended locked task locally, and if so, it is executed sequentially.

[0160] Specifically, when the target logic process is the second logic process, the target logic process detects whether there is a second lock request in the request waiting queue set locally. If there is a second lock request, the target logic process responds to the second lock request and performs a third lock operation on the start interface of the target task set in the target logic process. The description of the request waiting queue can be referred to in the previous text and will not be repeated here; the second lock request is the lock request sent by the remaining second logic processes except the first logic process and the current target logic process.

[0161] When the target logical process is the first logical process, and the second locking operation of the first logical process on the startup interface of the locally set target task is blocked, the second locking operation is added to the task waiting queue of the first logical process. Based on this, if the startup interface of the target task in the first logical process is successfully unlocked, the instruction of the second locking operation can be taken out from the local task waiting queue and the second locking operation can be executed.

[0162] In some optional embodiments, in the above described step S130, "the first logic process responds to each target logic process being locked successfully and executes the target task" can be specifically implemented through the following steps S131 to S132.

[0163] Step S131: the first logic process responds to each target logic process being locked successfully and detects the task status of the target task.

[0164] Step S132: When the task status of the target task meets the preset status, the target task is executed.

[0165] It is defined in step S131 to step S132 that before the first logical process executes the target task, the task status of the target task needs to be detected. The target task can be executed only when the task status of the target task satisfies a preset status.

[0166] In this embodiment, the preset state may be: the target task is in a state where it is not executed by any target logical process in the target process set. That is, when the target task is not completed by any target logical process, the first logical process may start to execute the target task.

[0167] Based on this, optionally, the data processing method provided in this embodiment may further include the following step S133.

[0168] Step S133: When the task status of the target task does not meet the preset status, a prompt message is generated, where the prompt message is used to prompt that the target task has been executed.

[0169] That is, if the target task is completed by any target logic process before the first logic process executes the target task, it means that when the first logic process executes the target task, the character status of the target task no longer meets the preset status. Therefore, the first logic process can generate a prompt message to prompt the user on the terminal side that the target task has been executed.

[0170] In some optional implementations, before executing step S110 described above, in the data processing method provided by the present application, the first client process sends an execution request for the target task to the first logic process, and the first logic process executes step S110 when receiving the execution request sent by the first client process. The first client process is the client process corresponding to the first logic process, and the client process is a process for processing input data on the terminal side.

[0171] Optionally, the execution request for the target task sent by the first client process to the first logic process may be generated in the following manner.

[0172] In this embodiment, a graphical user interface is provided by a terminal device, in which a start control corresponding to the target task is displayed, and the first client process generates an execution request for the target task in response to a trigger operation on the start control.

[0173] It is understood that the graphical user interface is a visual representation and operation interface for users to interact with the target task, which contains scene elements and component elements of the target task and other information for guiding user operations. In this embodiment, the graphical user interface provides a start control for the target task.

[0174] The trigger operation for starting the control may include but is not limited to: touch operations such as clicking, sliding, pressing, voice command operations, air gesture operations or shortcut key operations, etc., which are not specifically limited in this embodiment.

[0175] It can be seen that in the above data processing method, when each logical process executes an atomic target task, there is no need to control the authority of each logical process to execute the target task by adding an additional separate control process. Instead, the execution authority of the target task is logically and evenly distributed on each logical process, which increases the data carrying capacity and reduces the risk of data processing downtime. In addition, after canceling the separate control process, the broadcast mechanism brought by the control process is removed. In this way, the amount of additional data brought by the control process to each logical process during the broadcast process can be reduced, and the time delay of the broadcast mechanism is reduced, thereby improving the response speed of data processing. When used to trigger the start control to start the target task, if the current target task is executed by others, the user can be quickly prompted that the target task cannot be executed, thereby reducing the user's waiting time.

[0176] Next, based on the embodiments described above, Figure 6 The data processing method provided in the embodiment of the present application is specifically described with reference to specific application scenarios, but it should be noted that: Figure 6 This is only an example of an application scenario of the data processing method provided in this application. Figure 6 The specific application scenario shown is a game scenario. The player described below is an example of the user described above and does not constitute a specific limitation on the data processing method provided in this application.

[0177] In some real-time strategy games, the game map can be divided into several star fields, each star field can be divided into several constellations, and each constellation can be divided into several galaxies; wherein, the star field can be regarded as a larger area of ​​cosmic space in the game map, while the constellations and galaxies are divisions of the star field space in different dimensions, that is, in this specific example, the game map is divided into space areas of different dimensions by star fields, constellations and galaxies.

[0178] Based on the game map, players can control virtual objects to build fortresses in a certain galaxy, capture cities of the enemy camp, or protect fortresses of their own camp. Figure 6 As shown, star field A includes constellations A1 and A2; constellation A1 includes galaxies A11, A12, A13 and A14; constellation A2 includes galaxies A21 and A22.

[0179] In the game map of this specific example, the behavior of the player controlling the virtual object to build a fortress is atomic. For example, among several adjacent galaxies, a fortress can only be built in one galaxy, that is, only one player or one camp can build a fortress belonging to its own camp in one galaxy. Figure XAs shown, adjacent galaxies refer to galaxies that are touching or overlapping in space. For example, galaxy A11, galaxy A12 and galaxy A13 are adjacent galaxies, galaxy A12, galaxy A13 and galaxy A14 are adjacent galaxies, galaxy A21 and galaxy A22 are adjacent galaxies, while galaxy A11, galaxy A14 and galaxy A21 are not adjacent galaxies.

[0180] It should be noted that all the logical processes involved in the virtual game can constitute an example of the logical process set described above. In the system framework of the game system software level of this specific example, one galaxy corresponds to one logical process, that is, the game logics corresponding to different galaxies run on different logical processes. In addition, one logical process can correspond to at least one client process, as shown in Table 2, which provides an example of the correspondence between star fields, constellations, galaxies, logical processes, and client processes.

[0181] Table 2 Example of correspondence between star domains, constellations, galaxies, logical processes and client processes

[0182]

[0183] As shown in Table 2, the game logic corresponding to galaxy A11 is run on logic process B11, and there is one player in galaxy A11, that is, the logic process B11 corresponds to one client process C11;

[0184] The game logic of galaxy A12 corresponding to galaxy A12 runs on logic process B12. Galaxy A12 may include two players, that is, logic process B12 corresponds to client process C12 and client process C13 corresponding to the two players respectively;

[0185] The game logic corresponding to galaxy A13 is run on logic process B13, and there is one player in galaxy A13, that is, the logic process B13 corresponds to one client process C14;

[0186] The game logic corresponding to galaxy A14 is run on logic process B14, and there is one player in galaxy A14, that is, the logic process B14 corresponds to one client process C15;

[0187] The game logic corresponding to galaxy A21 is run on logic process B21, and there is one player in galaxy A21, that is, the logic process B21 corresponds to one client process C16;

[0188] The game logic corresponding to galaxy A22 runs on the logic process B22. The galaxy A22 may include two players, that is, the logic process B22 corresponds to the client process C16 and the client process C17 corresponding to the two players respectively.

[0189] Then, in this specific example, the above-mentioned logic process B11, logic process B12, logic process B13, logic process B14, logic process B21, and logic process B22 constitute a specific example of the logic process set described above.

[0190] It can be understood that in this specific game application scenario, when building the hardware system architecture based on the software system architecture described above, the logical process corresponding to a galaxy can correspond to a server device, and a client process can correspond to a terminal device; or, the above-mentioned logical process and client process run in an electronic device, and this example does not specifically limit the hardware system architecture.

[0191] It should be noted that, in this specific example, when a certain logic process executes the game task of building a fortress, it is not necessary for all logic processes to communicate with each other. Only the logic processes related to the game task need to communicate with each other. According to the limiting conditions described above, a fortress can only be built in one of several adjacent galaxies. That is, when several adjacent galaxies execute the game task of building a fortress in one of the galaxies, the logic processes corresponding to the several adjacent galaxies need to communicate with each other, while the logic processes corresponding to non-adjacent galaxies do not need to communicate with each other.

[0192] Based on the above description, next, combined with Figure 7 as well as Figure 8 The implementation process of the data processing method provided by this application in the above specific example is described in detail. Figure 7 is a data interaction diagram of the data processing method in this specific example, Figure 8 FIG. 1 is a schematic diagram of the graphical user interface in this specific example. Figure 7 As shown, in this specific example, the data processing method provided by the present application may include the following steps T1 to T23.

[0193] Step T1: A graphical user interface of a virtual game is provided through terminal A; the graphical user interface displays at least a part of the game scene of the virtual game, the game scene displays virtual objects, and the graphical user interface also displays a start control corresponding to a target task, and the target task is to build a fortress in the galaxy A11 where the virtual object is located.

[0194] Among them, terminal A can be regarded as a specific example of the hardware device corresponding to the first client process described above. In a specific example, a client process C11 runs on the terminal A, and the client process C11 is a specific example of the first client process described above.

[0195] The graphical user interface in this specific example is a visual representation and operation interface for players to interact with virtual games, which includes the game scenes of the virtual game as well as control components, social elements, etc. for displaying the style of the game world and information for guiding user operations.

[0196] In a graphical user interface, multiple interface contents to be displayed are usually presented in layers. Layers refer to a layered display method in a graphical user interface. Different interface contents can be placed on different layers to better control the display and hiding of each interface content. For example, the game scene can be placed on the scene layer, that is, the scene layer is mainly used to render the game world and the objects therein, including characters, environments, dynamic elements, etc. The display of various UI (User Interface) elements is placed on the UI layer. For example, UI elements can include but are not limited to various operation controls, information panels for displaying various game information (such as chat interfaces, character status panels, etc.), game thumbnail maps, and other elements. Since UI elements are interface elements for players to interact with games, generally, the display level of the UI layer where UI elements are placed is higher than the scene layer of the game scene. That is, the display level of each UI element is higher than the display level of the scene screen.

[0197] In this example, Figure 8 As shown, in the graphical user interface 3000, a game scene 100 of the virtual game cited in this specific example and a start control 10 for the target task of building a fortress are displayed; wherein, in the game scene 100, a virtual object 11 controlled by the game account logged in on the terminal A can also be displayed. It is assumed that the current game scene is the scene range of the galaxy A11 described in Table 2.

[0198] Step T2: The client process C11 generates a construction request for building a fortress in the galaxy A11 in response to a click operation on the start control.

[0199] As introduced in step T1 , the client process C11 is a process running on terminal A.

[0200] like Figure 8 As shown, when the player applies a click operation to the start control 10 displayed in the graphical user interface 3000, the start control is displayed in a gray filled state in the graphical user interface 3000 to indicate that the start control is clicked.

[0201] In response to the click operation on the start control, the client process C11 may generate a construction request for building a fortress in the galaxy A11. The construction request is a specific example of the execution request described above.

[0202] Step T3: The client process C11 sends a construction request to the logic process B11, and the construction request carries a task identifier for building a fortress in the galaxy A11.

[0203] In this example summary, the logic process B11 is a specific example of the first logic process described in the previous embodiment.

[0204] Step T4: When the logic process B11 receives the construction request, it obtains a preset configuration table stored locally, in which the communication relationship between the logic processes in the logic process set is configured.

[0205] Step T5: the logic process B11 searches the preset configuration table for logic processes adjacent to the logic process B11 according to the process identifier of the logic process B11, including: the logic process B12 and the logic process B13.

[0206] The logic process B12 and the logic process B13 are two specific examples of the second logic process described above. That is, in this example, the target logic processes in the target process set corresponding to the logic process B11 may include: the logic process B11, the logic process B12 and the logic process B13.

[0207] Step T6: The logic process B11 is sorted according to a preset sorting method, and the sorting result is: logic process B11, logic process B12, and logic process B13.

[0208] Step T7: the logic process B11 first determines the start interface of the fortress building task set in the logic process B11 according to the task identifier according to the above sorting results.

[0209] Step T8: The logic process B11 locks the start interface of the fortress building task set in the logic process B11.

[0210] Step T8-1: The logic process B11 obtains the process lock corresponding to the start interface of the fortress building task set in the logic process B11, and determines the occupation status of the process lock. When it is determined that the process lock is in an unoccupied state, execute the following step T8-2a; when it is determined that the process lock is in an occupied state, execute the following step T8-2b.

[0211] Step T8-2a: The logic process B11 adjusts the process lock in the unoccupied state to the occupied state. The occupied state is used to indicate that the process lock is occupied by the fortress building task.

[0212] Step T8 - 2b: the logic process B11 adds the lock operation to the task waiting queue corresponding to the logic process B11 .

[0213] It can be understood that the task waiting queue is used by the logic integration B11 to manage the execution order of tasks within the logic process B11. For a detailed introduction, please refer to the above description, which will not be repeated here.

[0214] Step T9: In response to the successful locking operation on the start interface of the fortress building task set in the logic process B11, the logic process B11 sends a locking request to the logic process B12.

[0215] Step T10: In response to the lock request, the logic process B12 performs a lock operation on the start interface of the fortress building task set in the logic process B12.

[0216] Step T11: In response to the lock operation being successful, the logic process B12 sends a lock success message to the logic process B11.

[0217] Step T12: In response to receiving the lock success information from the logic process B12, the logic process B11 sends a lock request to the logic process B13.

[0218] Step T13: In response to the lock request, the logic process B13 performs a lock operation on the start interface of the fortress building task set in the logic process B13.

[0219] Step T14: In response to the success of the locking operation, the logic process B13 sends a locking success message to the logic process B11.

[0220] The above steps T7 to T14 are specific examples of the first logic process sequentially calling each target logic process to perform a locking operation on the target task as described above.

[0221] Step T15: In response to the successful locking of logic process B11, logic process B12 and logic process B13, logic process B11 detects whether a fortress has been built in galaxy A11, galaxy A12 and galaxy A13. If a fortress has not been built in galaxy A11, galaxy A12 and galaxy A13, execute the following step T16a. If a fortress has been built in any of galaxies A11, galaxy A12 and galaxy A13, execute the following step T16b.

[0222] Step T16a: The logic process B11 executes the game logic of building a fortress.

[0223] Optionally, after the logical process B11 successfully builds the fortress, Figure 8 As shown, the successfully constructed fortress 12 can be displayed in the graphical user interface 3001 provided by terminal A. Figure 8 As shown, when the player clicks the start control 10 corresponding to building a fortress in the graphical user interface 3000, when the logic process B11 can execute the game logic of building a fortress, the graphical user interface 3000 can be switched to the graphical user interface 3001 to display the built fortress in the graphical user interface 3001.

[0224] Step T16b: Generate a prompt message and send it to the client process C11. The prompt message is used to prompt that the fortress has been built.

[0225] Regarding step T15, whether the fortress has been built in the logical process B11 galaxy A11, galaxy A12, and galaxy A13, specifically, it detects whether the logical process B11, the logical process B12, and the logical process B13 have successfully executed the action of building the fortress. Its purpose is to achieve the game requirement described above that a fortress can only be built in one of several adjacent galaxies.

[0226] After the logic process B11 successfully builds the fortress, the logic process can call the logic process B11, the logic process B12 and the logic process B13 in sequence according to the sorting result to start the interface process unlocking operation for the task of building the fortress. Figure 7 As shown, it can be specifically implemented through the following steps T17 to T23.

[0227] Step T17: In response to the successful construction of the fortress, the logic process B11 unlocks the start interface of the fortress construction task set in the logic process B11.

[0228] Step T18: In response to the successful unlocking operation of the start interface of the fortress building task set in the logic process B11, the logic process B11 sends an unlocking request to the logic process B12.

[0229] Step T19: In response to the unlocking request, the logic process B12 unlocks the start interface of the fortress building task set in the logic process B12.

[0230] Step T20: In response to the unlocking operation being successful, the logic process B12 sends unlocking success information to the logic process B11.

[0231] Step T21: In response to receiving the unlocking success information from the logic process B12, the logic process B11 sends an unlocking request to the logic process B13.

[0232] Step T22: In response to the unlocking request, the logic process B13 unlocks the start interface of the fortress building task set in the logic process B13.

[0233] Step T23: In response to the unlocking operation being successful, the logic process B13 sends unlocking success information to the logic process B11.

[0234] It can be understood that when the logic process B11, the logic process B12 and the logic process B13 are all locked successfully, since the logic process B11 has responded to the construction request for building a fortress, the logic process B11 can build the fortress without interruption after the lock is successful, while the logic process B12 and the logic process B13 do not receive the construction request between the locks, so the logic process B12 and the logic process B13 cannot respond to the construction request sent by the player through the client process C12 and the client process C13 after being locked. Therefore, on the terminal devices corresponding to the client process C12 and the client process C13, when the player clicks the start control displayed in the graphical user interface at this time, the logic process B12 and the logic process B13 cannot start building the fortress;

[0235] After logic process B11 successfully builds a fortress and unlocks it in turn, logic process B12 and logic process B13 can find that a fortress has been built in the adjacent galaxy, and will immediately send a reminder message of the fortress built in galaxy A11 to client process C12 and client process C13. In this way, the player corresponding to client process C11 will not feel interrupted during the process of building a fortress; the players corresponding to client process C12 and client process C13 will not experience the interruption of the fortress construction halfway, thereby improving the player's gaming experience.

[0236] like Fig. 9 As shown, Fig. 9 The graphical user interface 4000 shown is a graphical user interface provided by the terminal B to which the client process C12 belongs. The graphical user interface 4000 displays a game scene of the galaxy A12 of the virtual game, and a virtual object 21 located in the galaxy A12 is displayed in the game scene. In addition, a start control 20 for building a fortress in the galaxy A12 is displayed in the graphical user interface 4000.

[0237] based on Figure 8 and Fig. 9 , when the player corresponding to terminal A clicks the start control 10 earlier than the player at terminal B clicks the start control 20, the logic process B11 can execute the game logic of building the fortress before the logic process B12. Figure 8As shown, when the logic process B11 successfully executes the construction of the fortress, the player corresponding to the terminal B can switch the graphical user interface 4000 to the graphical user interface 4001 after clicking the start control 20, and display the prompt information 22 in the graphical user interface 4001. The prompt information 22 is used to prompt the player that "the fortress has been built in the galaxy A11, and the fortress cannot be built in the galaxy A12 at present."

[0238] In this regard, the client process C11 initiates a construction request to build a fortress in the galaxy A11, and the interaction process between the various logical processes is as described above.

[0239] Next, the following describes a concurrent request in which the client process C11 initiates a construction request to build a fortress in the galaxy A11 and at the same time, the client process C12 initiates a construction request to build a fortress in the galaxy A12.

[0240] like Fig.10 As shown, Fig.10 A timing diagram of data interaction between logical processes in a concurrent situation provided in an embodiment of the present application.

[0241] It should be noted that Fig.10 The timing shown mainly focuses on the data interaction between various logical processes that need to communicate in the target task of building a fortress when two players located in adjacent galaxies initiate construction requests for building a fortress at the same time.

[0242] For example, galaxies A11 and A12 are adjacent. When the client process C11 corresponding to the player in galaxy A11 and the client process C12 corresponding to the player in galaxy A12 initiate a construction request to build a fortress at the same time, client process C11 sends the construction request to its corresponding logic process B11, and client process C12 sends the construction request to its corresponding logic process B12.

[0243] As described above, in the target task of building a fortress, the logical process B11 and logical process B12 that need to communicate and the logical process B11 are sorted according to the preset sorting method to obtain the following sorting results: the first is logical process B11, the second is logical process B12, and the third is logical process B13. Therefore, when logical process B11 receives the building request sent by client process C11 and logical process B12 receives the building request sent by client process C12, they both first send a lock request to logical process B11, in the hope of first locking the start interface of the target task of starting the building of the fortress set in logical process B11. In the timing diagram shown in Figure X3, the process indicated by the solid arrow is the data flow when the client process C11 initiates the building request, and the process indicated by the dotted arrow is the data flow when the client process C12 initiates the building request.

[0244] According to the data processing method introduced above, the logic process B11 will lock the locally set startup interface in advance, and the construction request sent by the client process C12 needs to be sent to the logic process B12 first, and the logic process B12 sends a lock request to the logic process B11. In terms of execution flow and time, the lock request sent by the logic process B12 reaches the logic process B11 later; that is, when the lock request sent by the logic process B12 reaches the logic process B11, the logic process B11 has been locked by itself. At this time, the logic process B11 will add the lock request sent by the logic process B12 to the request waiting queue corresponding to the logic process B11, that is, suspend the lock request sent by the logic process B12 until the logic process B11 completes the target task of building a fortress in the galaxy A11 and unlocks the startup interface.

[0245] After the logic process B11 completes the target task of building a fortress in the galaxy A11 and unlocks the startup interface, the logic process B11 can take out and execute the locking request sent by the logic process B12 in the request waiting queue, that is, lock the startup interface set in the logic process B11 again, and thereby realize the locking of the startup interface set in the logic process B12 and the locking of the startup interface set in the logic process B13. After the locking is completed, it is detected whether the logic process B11, the logic process B12 and the logic process B13 have completed the construction of the fortress. Since the logic process B11 has completed the construction of the fortress before, the logic process B12 can return the prompt information that the fortress has been built in the galaxy A11 to the client process C12.

[0246] It should be noted that in order to prevent deadlock in the locking process under concurrent conditions, the logical processes that need to communicate in the goal task of building a fortress must be sorted before locking, and locked in sequence during the locking process.

[0247] It should be noted that Fig. 9 The dotted lines in the figure are fictitious lines for the sake of understanding. These dotted lines do not exist on the graphical user interface displayed by the terminal device. In each interface schematic diagram, the same pattern represents the same element. Therefore, each pattern is labeled when it first appears. Although it is not labeled when it appears in subsequent figures, it can be referred to in the description of the previous figure. In addition, it can be understood that the above similar to Figure 8-Figure 9 The size, appearance, layout, display text and other information of each element in the schematic diagram are exemplary and are not intended to limit the actual graphical user interface.

[0248] So far, the method provided in this embodiment has been explained. In the above data processing method, when each logical process executes an atomic target task, there is no need to control the authority of each logical process to execute the target task by adding a separate control process. Instead, the execution authority of the target task is logically and evenly distributed on each logical process, thereby increasing the data carrying capacity and reducing the risk of data processing downtime. In addition, after canceling the separate control process, the broadcast mechanism brought by the control process is removed. In this way, the amount of additional data brought by the control process to each logical process during the broadcast process can be reduced, and the time delay of the broadcast mechanism is reduced, thereby improving the response speed of data processing.

[0249] Corresponding to the data processing method provided in the embodiment of the present application, the embodiment of the present application also provides a data processing device 5000, such as Fig.11 As shown, the device 5000 includes: a determination unit 5001, a calling unit 5002 and an execution unit 5003;

[0250] The determining unit 5001 is configured to determine, when receiving an execution request for a target task through a first logical process in a logical process set, a target process set corresponding to the first logical process, wherein the target process set includes the first logical process and at least one second logical process in the logical process set that needs to communicate with the first logical process in the target task;

[0251] The calling unit 5002 is used to call each target logic process through the first logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes;

[0252] The execution unit 5003 is used to respond to each target logic process being locked successfully through the first logic process to execute the target task.

[0253] Optionally, the calling unit 5002 is specifically used to sort each of the target logic processes according to a preset sorting method through the first logic process; the first logic process calls each of the target logic processes in turn according to the sorting to perform a locking operation on the target task.

[0254] Optionally, the locking operation includes a first locking operation;

[0255] The calling unit 5002 is specifically configured to, when the target logical process is any of the second logical processes, send a first locking request to the target logical process through the first logical process; and respond to the first locking request through the target logical process to perform a first locking operation on the target task;

[0256] Optionally, the locking operation includes a second locking operation;

[0257] The calling unit 5002 is specifically configured to, when the target logical process is the first logical process, respond to the execution request through the target logical process and perform a second locking operation on the target task.

[0258] Optionally, the first lock request carries a task identifier of the target task;

[0259] The calling unit 5002 is further specifically used to determine the startup interface of the target task set in the target logic process according to the task identifier of the target task through the target logic process; and perform a first locking operation on the startup interface of the target task set in the target logic process.

[0260] Optionally, the calling unit 5002 is also specifically used to obtain the process lock corresponding to the start interface of the target task set in the target logical process; determine the occupancy state of the process lock; when the process lock is in an unoccupied state, adjust the process lock in the unoccupied state to an occupied state, and the occupied state is used to characterize that the process lock is occupied by the target task corresponding to the task identifier.

[0261] Optionally, the above device 5000 further includes a management unit 5004;

[0262] The management unit 5004 is used to add the first lock request to the request waiting queue corresponding to the target logical process through the target logical process when the process lock is in an occupied state.

[0263] Optionally, the execution unit 5003 is further configured to respond to the completion of execution of the target task through the first logic process, and call each of the target logic processes in sequence according to the order to perform an unlocking operation on the start interface of the target task.

[0264] Optionally, the execution unit 5003 is specifically used to respond to the successful locking of each target logical process through the first logical process, detect the task status of the target task; when the task status of the target task meets the preset status, execute the target task.

[0265] Optionally, the above device 5000 further includes a generating unit 5005;

[0266] The generating unit 5005 is configured to generate prompt information through the first logical process when the task status of the target task does not meet a preset status, wherein the prompt information is used to prompt that the target task has been executed.

[0267] Optionally, the execution unit 5003 is specifically used to determine that each target logical process is locked successfully when feedback information that each target logical process is locked successfully is received through the first logical process; the first logical process responds to each target logical process being locked successfully and executes the target task.

[0268] Optionally, the management unit 5004 is also used to detect whether there is a second locking request in the request waiting queue corresponding to the target logical process after the startup interface of the target task set in the target logical process is successfully unlocked; the second locking request is sent by any logical process in the logical process set that communicates with the target logical process in the target task; if the second locking request exists, the target logical process responds to the second locking request and performs a third locking operation on the startup interface of the target task set in the target logical process.

[0269] Optionally, the determination unit 5001 is used to obtain a preset configuration table through the first logical process, wherein the preset configuration table is configured with the communication relationship between the respective logical processes in the logical process set; according to the process identifier of the first logical process, query at least one second logical process in the preset configuration table that communicates with the first logical process in the target task; and determine the target process set corresponding to the first logical process according to the first logical process and each second logical process.

[0270] Optionally, each target logical process in the target process set corresponds to a process identifier, and the process identifier is a numerical identifier;

[0271] The calling unit 5002 is specifically configured to sort the target logical processes in the target process set according to the numerical values ​​of the process identifiers of the target logical processes in the target process set through the first logical process.

[0272] Optionally, the above device 5000 further includes a sending unit 5006;

[0273] The sending unit 5006 is used to send an execution request for the target task to the first logic process through a first client process; the first client process is a client process corresponding to the first logic process.

[0274] Optionally, the apparatus 5000 provides a graphical user interface through a terminal device, and a start control corresponding to the target task is provided in the graphical user interface;

[0275] The generating unit 5005 is further configured to generate an execution request for the target task by responding to the triggering operation for the start control through the first client process.

[0276] Corresponding to a data processing method provided in an embodiment of the present application, an electronic device 6000 for implementing the data processing method is also provided in an embodiment of the present application. Fig.12 As shown, the electronic device 6000 includes: a processor 6001; and a memory 6002, which is used to store a program of the data processing method. After the device is powered on and runs the program of the data processing method through the processor, any embodiment of the above-mentioned data processing method is executed. For example, the following steps can be executed:

[0277] When a first logic process in the logic process set receives an execution request for a target task, a target process set corresponding to the first logic process is determined, wherein the target process set includes the first logic process and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task;

[0278] The first logic process calls each target logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes;

[0279] In response to each target logic process being locked successfully, the first logic process executes the target task.

[0280] Corresponding to the data processing method provided in the embodiment of the present application, the embodiment of the present application further provides a computer-readable storage medium storing a program of the data processing method, the program is run by a processor to perform any embodiment of the above-mentioned data processing method, for example, the following steps may be performed:

[0281] When a first logic process in the logic process set receives an execution request for a target task, a target process set corresponding to the first logic process is determined, wherein the target process set includes the first logic process and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task;

[0282] The first logic process calls each target logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes;

[0283] The first logic process responds to each target logic process being locked successfully and executes the target task

[0284] It should be noted that, for the detailed description of the system, device, electronic device and computer-readable storage medium provided in the embodiments of the present application, reference can be made to the relevant description of the data processing method embodiment provided in the embodiments of the present application, which will not be repeated here; in addition, the improvements brought about by the system, device, electronic device and computer-readable storage medium provided in the embodiments of the present application can refer to the improvements of the data processing method provided in the embodiments of the present application, which will not be repeated here.

[0285] Although the present application is disclosed as above in the form of a preferred embodiment, it is not intended to limit the present application. Any technical personnel in this field may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.

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

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

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

[0289] 2. Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0290] Although the present application is disclosed as above in the form of a preferred embodiment, it is not intended to limit the present application. Any technical personnel in this field may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.

Claims

1. A data processing method, characterized in that: The method comprises: When a first logic process in the logic process set receives an execution request for a target task, a target process set corresponding to the first logic process is determined, wherein the target process set includes the first logic process and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task; The first logic process calls each target logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes; In response to each target logic process being locked successfully, the first logic process executes the target task.

2. The method according to claim 1, characterized in that The first logic process calls each target logic process to perform a locking operation on the target task, including: The first logic process sorts the target logic processes according to a preset sorting method; The first logic process calls each of the target logic processes in sequence according to the order to perform a locking operation on the target task.

3. The method according to claim 1 or 2, characterized in that: The locking operation includes a first locking operation; the step of the first logic process calling the target logic process to perform a locking operation on the target task includes: When the target logical process is any of the second logical processes, the first logical process sends a first lock request to the target logical process; The target logical process responds to the first locking request and performs a first locking operation on the target task.

4. The method according to claim 1 or 2, characterized in that: The locking operation includes a second locking operation; the step of the first logic process calling the target logic process to perform a locking operation on the target task includes: When the target logical process is the first logical process, the target logical process responds to the execution request and performs a second locking operation on the target task.

5. The method according to claim 3, characterized in that: The first locking request carries a task identifier of the target task; and performing a first locking operation on the target task includes: Determining, according to the task identifier of the target task, a start interface of the target task set in the target logical process; A first locking operation is performed on a start interface of the target task set in the target logical process.

6. The method according to claim 5, characterized in that The performing a first locking operation on the start interface of the target task set in the target logical process includes: Acquire a process lock corresponding to the start interface of the target task set in the target logical process; Determining an occupation state of the process lock; When the process lock is in an unoccupied state, the process lock in the unoccupied state is adjusted to an occupied state, where the occupied state is used to indicate that the process lock is occupied by the target task corresponding to the task identifier.

7. The method according to claim 5, characterized in that The method further comprises: When the process lock is in an occupied state, the target logical process adds the first lock request to a request waiting queue corresponding to the target logical process.

8. The method according to claim 5, characterized in that The method further comprises: In response to the target task being executed, the first logic process sequentially calls each of the target logic processes according to the sequence to perform an unlocking operation on the start interface of the target task.

9. The method according to claim 1, characterized in that: The first logic process responds to each target logic process being locked successfully and executes the target task, including: The first logic process detects the task status of the target task in response to each target logic process being locked successfully; When the task status of the target task meets the preset status, the target task is executed.

10. The method according to claim 9, characterized in that: The method further comprises: When the task status of the target task does not meet the preset status, a prompt message is generated, where the prompt message is used to prompt that the target task has been executed.

11. The method according to claim 1, characterized in that The first logic process responds to each target logic process being locked successfully and executes the target task, including: When the first logic process receives feedback information that each target logic process is successfully locked, it determines that each target logic process is successfully locked; The first logic process executes the target task in response to each target logic process being locked successfully.

12. The method according to claim 7, characterized in that The method further comprises: After the start interface of the target task set in the target logical process is unlocked successfully, detecting whether there is a second lock request in the request waiting queue corresponding to the target logical process; the second lock request is sent by any logical process in the logical process set that communicates with the target logical process in the target task; If the second locking request exists, the target logic process responds to the second locking request and performs a third locking operation on the start interface of the target task set in the target logic process.

13. The method according to claim 1, characterized in that The determining a target process set corresponding to the first logical process includes: Obtaining a preset configuration table, wherein the preset configuration table configures the communication relationship between each logical process in the logical process set; According to the process identifier of the first logic process, searching the preset configuration table for at least one second logic process that communicates with the first logic process in the target task; A target process set corresponding to the first logical process is determined according to the first logical process and each of the second logical processes.

14. The method according to claim 2, characterized in that Each target logical process in the target process set corresponds to a process identifier, and the process identifier is a numerical identifier; the first logical process sorts each of the target logical processes according to a preset sorting method, including: The first logic process sorts the target logic processes in the target process set according to the numerical values ​​of the process identifiers of the target logic processes in the target process set.

15. The method according to claim 1, characterized in that The method further comprises: The first client process sends an execution request for the target task to the first logical process; the first client process is a client process corresponding to the first logical process.

16. The method according to claim 15, characterized in that Providing a graphical user interface through a terminal device, wherein a start control corresponding to the target task is provided in the graphical user interface; the method further comprises: The first client process generates an execution request for the target task in response to a trigger operation on the startup control.

17. A data processing system, characterized in that: The system includes at least a set of logical processes, wherein the set of logical processes includes at least two logical processes; When a first logic process in the logic process set receives an execution request for a target task, determining a target process set corresponding to the first logic process, the target process set including the first logic process and at least one second logic process in the logic process set that needs to communicate with the first logic process in the target task; The first logic process calls each target logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes; In response to each target logic process being locked successfully, the first logic process executes the target task.

18. A data processing device, characterized in that: The device comprises: a determination unit, a calling unit and an execution unit; The determining unit is configured to determine, when receiving an execution request for a target task through a first logical process in a logical process set, a target process set corresponding to the first logical process, wherein the target process set includes the first logical process and at least one second logical process in the logical process set that needs to communicate with the first logical process in the target task; The calling unit is used to call each target logic process through the first logic process to perform a locking operation on the target task; the target logic process is the first logic process in the target process set, or any of the second logic processes; The execution unit is used to respond to each target logic process being locked successfully through the first logic process to execute the target task.

19. An electronic device, characterized in that: include: processor; as well as The memory is used to store a data processing program. After the electronic device is powered on and the program is run by the processor, the method according to any one of claims 1 to 16 is executed.

20. A computer-readable storage medium, characterized in that: A data processing program is stored, and the program is run by a processor to execute the method according to any one of claims 1 to 16.