Data processing method, apparatus and electronic device

CN116225492BActive Publication Date: 2026-10-30NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310111322.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-30
Publication Date
2026-10-30
Estimated Expiration
2043-01-30

AI Technical Summary

Technical Problem

在一些场景中,如多个开发人员在同一时间段分别利用GIT在各自对应的租户空间中对同一业务系统的代码进行修改的过程中,多个开发人员彼此之间无法感知对方对该同一业务系统的代码的修改意图,会存在不同开发人员对该同一业务系统的代码的修改意图存在冲突的现象

Benefits of technology

[0015]应当理解,本部分所描述的内容并非旨在标识本申请公开的实施例的关键或重要特征,也不用于限制本申请公开的范围。本申请公开的其它特征将通过以下的说明书而变得容易理解。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116225492B_ABST
    Figure CN116225492B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method, device and electronic equipment. The method comprises: setting that only one tenant has the right to own the structure of the same data object in a period of time. After a first process receives modification request information associated with the structure of the data object sent by a tenant, in the case that the tenant has the right to own the structure of the data object, the first process instructs a second process to modify the structure of the data object in a first space managed by the second process. After the first process receives merging request information associated with the structure of the data object sent by the tenant, in the case that the tenant has the right to own the structure of the data object, the first process instructs a third process to update the structure of the data object in a second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in the manner requested by the modification request information. The method can improve the accuracy of the data processing result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network technology, and in particular to a data processing method, apparatus and electronic device. Background Technology

[0002] During the iterative upgrade of a business system, developers need to modify the system's code (for example, the code of a business system must include at least one data object) to achieve the upgrade goal. To improve upgrade efficiency, developers typically use development tools to modify the business system's code.

[0003] In traditional technologies, developers typically use distributed version control systems (GIT) as development tools to modify the code of business systems for upgrade purposes. The workflow for developers using Git to modify business system code is usually as follows: The code of the business system to be modified is stored in a default space. Developers first copy the code from the default space to their assigned tenant space. Then, developers modify the code in their respective tenant spaces according to their modification intentions, obtaining the modified code. Next, developers update the code in the default space based on the modified code in their tenant spaces, achieving the goal of modifying the code of the business system to be modified according to their modification intentions. In some scenarios, such as when multiple developers simultaneously use Git to modify the code of the same business system in their respective tenant spaces, the developers cannot perceive each other's modification intentions for the same business system, leading to conflicting modification intentions among different developers. Subsequently, if the code of the business system stored in the default space is updated based on the conflicting modified code of multiple business systems corresponding to multiple tenant spaces, the updated business system code obtained in the default space will have logical anomalies, resulting in inaccurate data processing results.

[0004] Therefore, there is an urgent need for a data processing method that can improve the accuracy of data processing results. Summary of the Invention

[0005] This application provides a data processing method, apparatus, and electronic device, which can improve the accuracy of data processing results.

[0006] A first aspect of this application provides a data processing method applied to a first process in a first server. The method includes: receiving modification request information sent by a tenant, wherein the modification request information is information indicating that the tenant requests modification of the structure of a data object; the memory space of a second server includes a first space managed by a second process in the second server, and the first space is a tenant space allocated by the second server to the tenant; and, if the tenant has permission to modify the structure of the data object, sending a modification instruction corresponding to the modification request information to the second process, causing the second process to modify the structure of the data object in the first space to obtain a modified structure of the data object, wherein the structure of the data object in the first space is... The permissions for the structure of the data object obtained from the second space managed by the third process in the third server belong to a tenant for a period of time; the merge request information sent by the tenant is received, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the modified structure of the data object in the first space; if the tenant has the permissions for the structure of the data object, a merge instruction corresponding to the merge request information is sent to the third process, so that the third process updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the modification request information.

[0007] A second aspect of this application provides a data processing method applied to a second process in a second server. The memory space of the second server includes a first space managed by the second process, and the first space is a tenant space allocated by the second server to a tenant. The method includes: receiving a modification instruction corresponding to modification request information sent by a first process in a first server, wherein the modification request information is information requesting modification of the structure of a data object by the tenant, and the modification instruction is an instruction generated by the first process based on the modification request information when the tenant has permission to modify the structure of the data object; the permission to modify the structure of the data object belongs to a tenant for a period of time; the modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified data. According to the structure of the object, the structure of the data object in the first space is obtained from the second space managed by the third process in the third server; according to the modification instruction, the structure of the data object in the first space is modified to obtain the modified structure of the data object, so that when the third process receives the merge instruction corresponding to the merge request information sent by the first process, it updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space according to the method requested by the modification request information; wherein, the merge request information is the information of the tenant requesting to update the structure of the data object in the second space according to the modified structure of the data object in the first space.

[0008] A third aspect of this application provides a data processing method applied to a third process in a third server. The third process manages a second space that stores the structure of data objects. The method includes: receiving a merge instruction corresponding to merge request information sent by a first process in a first server, wherein the merge request information is information from a tenant requesting an update of the structure of the data object in the second space based on the modified structure of the data object in the first space; the first space is a tenant space allocated to the tenant by a second server, the memory space of the second server includes the first space, and a second process in the second server manages the first space; the merge instruction is an instruction generated by the first process based on the merge request information when the tenant possesses the structure of the data object; the merge instruction instructs the third process to update the structure of the data object in the second space based on the obtained modified structure of the data object, so as to modify the structure of the data object in the second space according to the modification request information sent by the tenant, the modification request information being information from the tenant requesting modification of the structure of the data object; and updating the structure of the data object in the second space using the obtained modified structure of the data object according to the merge instruction, so as to modify the structure of the data object in the second space according to the modification request information.

[0009] A fourth aspect of this application provides a data processing apparatus applied to a first process in a first server. The apparatus includes: a transceiver unit configured to: receive modification request information sent by a tenant, wherein the modification request information is information requesting modification of the structure of a data object by the tenant; the memory space of a second server includes a first space managed by a second process in the second server, and the first space is a tenant space allocated by the second server to the tenant; the transceiver unit is further configured to: when the tenant has permission to modify the structure of the data object, send a modification instruction corresponding to the modification request information to the second process, causing the second process to modify the structure of the data object in the first space to obtain a modified structure of the data object, wherein the structure of the data object in the first space is derived from the first... The third process in the three servers manages the second space, and the permissions for the structure of the data object belong to a tenant for a period of time. The transceiver unit is further configured to: receive a merge request information sent by the tenant, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the modified structure of the data object in the first space; the transceiver unit is further configured to: when the tenant has the permissions for the structure of the data object, send a merge instruction corresponding to the merge request information to the third process, so that the third process updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the method requested by the modification request information.

[0010] A fifth aspect of this application provides a data processing apparatus applied to a second process in a second server. The memory space of the second server includes a first space managed by the second process, and the first space is a tenant space allocated by the second server to a tenant. The apparatus includes a transceiver unit configured to: receive a modification instruction corresponding to modification request information sent by a first process in a first server, wherein the modification request information is information requesting modification of the structure of a data object by the tenant, and the modification instruction is an instruction generated by the first process based on the modification request information when the tenant has permission to modify the structure of the data object; the permission to modify the structure of the data object belongs to a tenant for a period of time; the modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified data. According to the structure of the object, the structure of the data object in the first space is obtained from the second space managed by the third process in the third server; the processing unit is used to: modify the structure of the data object in the first space according to the modification instruction to obtain the modified structure of the data object, so that when the third process receives the merge instruction corresponding to the merge request information sent by the first process, it updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space according to the method requested by the modification request information; wherein, the merge request information is the information of the tenant requesting to update the structure of the data object in the second space according to the modified structure of the data object in the first space.

[0011] A sixth aspect of this application provides a data processing apparatus applied to a third process in a third server. The third process manages a second space that stores the structure of data objects. The apparatus includes a transceiver unit configured to: receive a merge instruction corresponding to merge request information sent by a first process in a first server, wherein the merge request information is information from a tenant requesting an update of the structure of the data object in the second space based on the modified structure of the data object in the first space; the first space is a tenant space allocated to the tenant by a second server, the memory space of the second server includes the first space, and the second process in the second server manages the first space; the merge instruction is issued by the first process when the tenant possesses the data object... In the case of the data object's structure, an instruction is generated based on the merge request information; the merge instruction instructs the third process to update the structure of the data object in the second space according to the obtained modified data object's structure, so as to modify the structure of the data object in the second space in accordance with the modification request information sent by the tenant, the modification request information being the tenant's request to modify the structure of the data object; the processing unit is configured to: update the structure of the data object in the second space according to the merge instruction, using the obtained modified data object's structure, so as to modify the structure of the data object in the second space in accordance with the modification request information.

[0012] A seventh aspect of this application provides a data processing apparatus applied to a fourth process in a fourth server. The permission list in the process space managed by the fourth process records at least a mapping relationship between a tenant identifier and a data permission identifier. The tenant identifier indicates a tenant, and the data permission identifier indicates the permissions of a data object's structure within a preset time period. The mapping relationship indicates that the tenant has permissions for the data object's structure during the preset time period. The permissions for the data object's structure belong to one tenant for a period of time. The method includes: receiving permission query request information sent by a first process running in a first server, wherein the permission query request information is a request generated by the first process in the first server based on received modification request information sent by the tenant, the modification request information being information from the tenant requesting modification of the data object's structure, and the permission query request information being used to query the tenant's data permissions; generating a response result of the permission query request information based on the permission list and the permission query request information, wherein the response result of the permission query request information indicates that the tenant has permissions for the data object's structure; and sending the response result of the permission query request information to the first process, so that the first process determines that the tenant has permissions for the data object's structure based on the response result of the permission query request information.

[0013] An eighth aspect of this application also provides a computer-readable storage medium storing one or more computer instructions, characterized in that the instructions are executed by a processor to implement the data processing method described in any of the above technical solutions.

[0014] A ninth aspect of this application also provides an electronic device, including: a processor; and a memory for storing a data processing program, wherein after the server is powered on and runs the program through the processor, it executes the data processing method described above.

[0015] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments disclosed in this application, nor is it intended to limit the scope of this application's disclosure. Other features disclosed in this application will become readily apparent from the following description.

[0016] The technical solution of the data processing method provided in this application embodiment is applied to a first process in a first server. The method includes: receiving modification request information sent by a tenant, wherein the modification request information is information in which the tenant requests modification of the structure of a data object, the memory space of the second server includes a first space managed by a second process in the second server, and the first space is a tenant space allocated by the second server to the tenant; when the tenant has permission to access the structure of the data object, sending a modification instruction corresponding to the modification request information to the second process, causing the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object, wherein the structure of the data object in the first space is obtained from the second space managed by a third process in a third server, and the permission to access the structure of the data object belongs to a tenant for a period of time; receiving merge request information sent by a tenant, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the modified structure of the data object in the first space; when the tenant has permission to access the structure of the data object, sending a merge instruction corresponding to the merge request information to the third process, causing the third process to update the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the method requested by the modification request information. In the aforementioned data processing, it is stipulated that only one tenant has permission to access the structure of the same data object within a certain period; that is, the tenant has the permission to modify the result of the same data object during that period. After the first process receives a modification request from a tenant, and if the tenant has permission to access the structure of the data object associated with the modification request, the first process instructs the second process to modify the structure of the data objects in the first space it manages to obtain the modified data object structure. Furthermore, after the first process receives a merge request from a tenant, and if the tenant has permission to access the structure of the data object associated with the merge request, the first process instructs the third process to update the structure of the data objects in the second space based on the obtained modified data object structure, thereby modifying the structure of the data objects in the second space according to the method requested in the modification request. The above implementation, by granting tenants structural permissions for data objects, ensures that only one tenant can modify the structure of a data object at a time. This means that any subsequent modifications performed by a tenant with structural permissions are based on the modifications performed by the tenant with prior structural permissions. This avoids the problem in traditional technologies where multiple tenants are unaware of each other's modification intentions for the same data object, leading to inaccurate data processing results. In summary, the data processing method provided in this application can improve the accuracy of the obtained data processing results. Attached Figure Description

[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a schematic diagram of a data object applicable to the data processing method provided in the embodiments of this application.

[0019] Figure 2 This is a schematic diagram of data processing methods provided by traditional technologies.

[0020] Figure 3A This is a schematic diagram illustrating an application scenario of the data processing method provided in the embodiments of this application.

[0021] Figure 3B The above Figure 3A The diagram shows one structure of server 320.

[0022] Figure 3C This is a schematic diagram illustrating another application scenario of the data processing method provided in the embodiments of this application.

[0023] Figure 4 This is a schematic diagram of a data processing method provided in an embodiment of this application.

[0024] Figure 5 This is a schematic diagram of the data storage described in the data processing method provided in this application.

[0025] Figure 6A This is a schematic diagram of a data processing method provided in an embodiment of this application.

[0026] Figure 6B This is a schematic diagram of a data processing method provided in an embodiment of this application.

[0027] Figure 6C This is a schematic diagram of a data processing method provided in an embodiment of this application.

[0028] Figure 7 This is a schematic diagram of another data processing method provided in the embodiments of this application.

[0029] Figure 8 This is a schematic diagram of a data processing device provided in an embodiment of this application.

[0030] Figure 9This is a schematic diagram of a data processing system provided in an embodiment of this application.

[0031] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0032] To enable those skilled in the art to better understand the technical solutions of this application, the application will be clearly and completely described below with reference to the accompanying drawings of the embodiments. However, this application can be implemented in many other ways different from those described above. Therefore, based on the embodiments provided in this application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this application.

[0033] It should be noted that the terms "first," "second," "third," etc., in the claims, specification, and drawings of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. Such data are interchangeable where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than that shown or described herein. Furthermore, the terms "comprising," "having," and their variations are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or apparatuses.

[0034] To facilitate understanding, the technical terms that may be involved in the embodiments of this application will be briefly introduced first.

[0035] Data objects

[0036] Data objects are also known as entities. Similar to classes in programming languages, data objects include attributes and logic. Specifically, a data object includes at least one attribute and at least one logic. The attributes of a data object describe what the data object is, and the logic of a data object describes what the data object can do. A logic includes: a logic name, at least one input parameter, at least one output parameter, and a logic body. For example, Figure 1 (1) shows data object 1. Figure 1 (2) in the figure shows data object 2.

[0037] During the iterative upgrade of a business system, it is necessary to modify the business system's code (for example, the business system's code includes at least one data object) to achieve the purpose of upgrading the business system. The business system's code typically includes one or more data objects; that is, the business functions of the business system can be implemented by executing these one or more data objects. Each data object can include attributes and logic. Specifically, a data object includes: at least one attribute and at least one piece of logic. A piece of logic includes: a logic name, at least one input parameter, at least one output parameter, and a logic body. For example, Figure 1 (1) in the figure shows a data object. Figure 1 (2) shows another type of data object. In the field of upgrades, in order to improve upgrade efficiency, developers usually use development tools to modify the code of business systems. Currently, the commonly used development tool is the distributed version control system (GIT).

[0038] Below, in conjunction with Figure 2 This section describes the traditional process by which developers use Git to modify the code of a business system. In practical applications, the implementation of Git-based code modification for business systems involves storing the code in a "repository." This repository provides "branching" functionality. The repository provides a default branch for storing the business system code, and functional branches for tenants. Tenants can then modify the code stored in the default branch according to their specific needs. For example... Figure 2 As shown, the default branch stores the code of the business system. Tenant 1 can modify the business system code in functional branch 1 and merge the modified code into the default branch. Tenant 2 can modify the business system code in functional branch 2 and merge the modified code into the default branch. Specifically, Tenant 1 copies data object 2 stored in the default branch to functional branch 1, and modifies data object 2 in functional branch 1 according to Tenant 1's modification requirements, obtaining the modified data object 2 corresponding to Tenant 1. Tenant 2 copies data object 2 stored in the default branch to functional branch 2, and modifies data object 2 in functional branch 2 according to Tenant 2's modification requirements, obtaining the modified data object 2 corresponding to Tenant 2. Subsequently, Tenant 1 merges the modified data object 2 corresponding to Tenant 1 stored in functional branch 1 into the data object 2 stored in the default branch, on a "line-by-line" basis; and Tenant 2 merges the modified data object 2 corresponding to Tenant 2 stored in functional branch 2 into the data object 2 stored in the default branch, on a "line-by-line" basis. If a "merge conflict" error occurs during the merge process between tenant 1 and tenant 2, the user needs to manually intervene to merge the modified data stored in the two functional branches into the default branch.

[0039] In traditional techniques, using Git to modify the code of a business system presents the following problems:

[0040] (1) Multiple tenants who modify the code of the business system cannot perceive each other's existence, which may lead to different tenants performing the same modification on the same code or causing logical anomalies after modification.

[0041] (2) When merging code from a function branch into the default branch, the merging is done on a "line of text" basis. This merging method depends on the order and format of the text, and there may be text conflicts after merging.

[0042] For example, Figure 2 The content corresponding to function branch 1 and function branch 2 shown here is only different in the order of the logic and attributes in the text. The content of function branch 1 and function branch 2 is essentially the same. Merging the content of function branch 1 and function branch 2 into the default space, the merged content should be as follows:

[0043]

[0044]

[0045] However, when merging is performed on a "line-by-line" basis, the merged content will be as follows: Figure 2 The results of the merging process shown indicate that the code obtained using this merging method contains duplicate logic and attribute definitions, making it impossible to parse into the corresponding data object.

[0046] (3) The above merging is performed on a "line of text" basis. When the two codes to be merged have different lines of text, a merge conflict error will occur, which requires manual intervention to modify.

[0047] In summary, the results obtained by processing the code of the business system using the aforementioned traditional techniques are inaccurate, and the processing also requires manual intervention.

[0048] To address the aforementioned problems, embodiments of this application provide a data processing method, apparatus, and electronic device.

[0049] The application scenarios and data processing methods applicable to the embodiments of this application will be described in detail below with reference to the accompanying drawings. It is understood that, where there is no conflict between the various embodiments provided in this application, the following embodiments and features can be combined with each other. Furthermore, the timing of the steps in the following method embodiments is merely an example and not a strict limitation.

[0050] First, the application scenarios of the data processing method applicable to the embodiments of this application will be described with reference to the accompanying drawings.

[0051] Figure 3A This is a schematic diagram illustrating an application scenario of the data processing method provided in the embodiments of this application. For example, Figure 3A The illustrated application scenario includes tenant 310 and server 320. Tenant 310 and server 320 communicate via network 330 to exchange data. Network 330 is typically the Internet, but can be any network, including but not limited to local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), mobile, wired or wireless networks, private networks, or any combination of virtual private networks.

[0052] The type of any device among tenant 310 and server 320 is not specifically limited. For example, any device may be, but is not limited to, any of the following electronic devices: personal computer, smartphone, tablet, desktop computer, dashcam, or wearable device (such as smartwatch). The above is merely an example and not an exhaustive list. Any device includes, but is not limited to, the above-mentioned electronic devices, and the electronic devices may also include servers, such as cloud servers.

[0053] Below, in conjunction with Figure 3B The structure of the aforementioned server 320 is described. Figure 3B The above Figure 3A The diagram shows one structure of server 320.

[0054] See Figure 3B , Figure 3BThe server 320 shown includes a processor and memory. The processor can run processes 1, 2, 3, and an entry process. The memory includes: a tenant space managed by process 1, a code space managed by process 2, a permissions center managed by process 3, and an entry process space managed by the entry process. The tenant 310 space is allocated by server 320 to tenant 310; that is, process 1 can execute the modification operations requested by tenant 310 in the tenant 310 space. The code space managed by process 2 is used to store business code. The entry process is used to: receive modification requests from tenant 310 and send the modification requests to process 3 to determine whether tenant 310 has the permission to modify the data requested in the modification request. Process 2 is used to merge the modified code stored in tenant 310's space into the code space. Process 3 is used to: determine whether tenant 310 has the permission to modify the data requested in the modification request based on the modification request sent by the entry process and the mapping relationship between tenants and permissions stored in the permissions center; and send the determined result to the entry process. Optionally, in some other implementations, process 3 and the entry process can be the same process, that is, the same process has the functions of process 3 and the entry process. In this case, the same process is used to manage the permission center and the entry process space.

[0055] It should be noted that a process manages a specific space, meaning that the process can perform read and write operations on that managed space. For example, process 1 can perform read and write operations on the tenant space managed by process 1. A process cannot directly access the space managed by another process. For example, process 1 cannot directly access the code space managed by process 2. Two processes can, but are not limited to, use shared memory or message passing to allow one process to access data stored in the space managed by the other process. Shared memory is a portion of the memory space in server 320, accessible to all processes running on that processor. For example, process 1 can copy data 1 stored in tenant 310's space and store the copied data 1 in shared memory; subsequently, process 2 can access data 1 by accessing shared memory. Alternatively, process 1 can send a read request message to process 2, requesting to read data 2 stored in the code space managed by process 2; process 2 generates a read request response message based on the received read request message, including data 2; process 2 sends the read request response message to process 1; process 1 can then obtain data 2 upon receiving the read request response message.

[0056] The above Figure 3B The following section uses a server 320, including its processor and memory, as an example for explanation. Optionally, the above... Figure 3BThe server 320 shown may also include a storage device (e.g., a hard disk) for storing the execution results of processes. In this embodiment, the type of processor shown in FIG3 is not specifically limited. For example, the processor may be, but is not limited to, any of the following: a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a microprocessor, or a microcontroller.

[0057] The above Figure 3A The application scenario shown only includes one server, namely server 320, whose processor can run process 1, process 2, process 3, and the entry process. Optionally, in other implementations, in the above... Figure 3A The illustrated application scenario involves multiple servers, where process 1, process 2, process 3, and the entry process can each be run by a processor within those servers. For example, Figure 3C This is a schematic diagram illustrating another application scenario of the data processing method provided in the embodiments of this application. Figure 3C The illustrated application scenario includes four servers and one tenant 310. The four servers are designated as server 320, server 321, server 322, and server 323. Server 320 includes a processor capable of running the aforementioned... Figure 3B As shown in process 1, the memory included in server 320 may include the aforementioned... Figure 3B The tenant space 310 is shown. Server 321 includes a processor capable of running the above... Figure 3B As shown in process 2, correspondingly, the memory included in server 321 may include the aforementioned... Figure 3B The code space is shown. The processor included in server 322 can run the above. Figure 3B As shown in process 3, the memory included in server 322 may include the aforementioned... Figure 3B The permission center is shown. Server 323 includes processors capable of running the above... Figure 3B The entry process shown corresponds to the memory included in server 323, which may include the aforementioned... Figure 3B The entry process space is shown.

[0058] It should be understood that the above Figure 3A , Figure 3B and Figure 3C The content shown is for illustrative purposes only and does not constitute any limitation on the application scenarios of the data processing methods provided in the embodiments of this application, or on the structure of the servers included in such application scenarios. For example, the above... Figure 3A The application scenarios shown can also include a larger number of tenants, and correspondingly, Figure 3B The processor of the server 320 shown may also include a greater number of processes, and the memory of the server 320 may also include a greater number of tenant spaces corresponding to the greater number of processes, with each greater number of tenant spaces corresponding to a greater number of tenants.

[0059] Next, combined Figures 4 to 7 This application introduces a data processing method provided in its embodiments.

[0060] Figure 4 This is a schematic diagram of a data processing method provided in an embodiment of this application. Figure 4 As shown, the method includes steps S410 to S460. Steps S410 to S460 will be described in detail below.

[0061] Before introducing S410 to S460, let's first introduce the execution subject that performs the data processing method provided in the embodiments of this application. For example... Figure 4 As shown, the execution entities for implementing the data processing method provided in this application include: a first process of a first server, a second process of a second server, and a third process of a third server. In this application embodiment, there is no specific limitation on whether the first server, second server, and third server are the same server. In some implementations, the first server, second server, and third server are three different servers. For example, when the first server, second server, and third server are three different servers... Figure 4 The first server shown can be the one described above. Figure 3C The server shown is 320, and the second server can be... Figure 3C The server shown is 321, and the third server can be... Figure 3C Server 322 is shown. In some other implementations, at least two of the first, second, and third servers are the same server. For example, if the first, second, and third servers are the same server, then that same server can be one of the aforementioned... Figure 3A The server 320 shown, or the one mentioned above Figure 3C Any of the servers shown.

[0062] The following is a detailed introduction to S410 to S460.

[0063] S410, the first process receives modification request information sent by the tenant.

[0064] The modification request information refers to a tenant's request to modify the structure of a data object. The memory space of the second server includes a first space managed by a second process within the second server, and this first space is the tenant space allocated to the tenant by the second server. In some implementations, the modification request information includes: a data object identifier, a tenant's tenant identifier, and a modification method for modifying the data object's structure. The data object identifier indicates the data object's structure, and the tenant's tenant identifier indicates the tenant. The modification method for modifying the data object's structure can be set according to the tenant's actual needs; this embodiment does not impose specific limitations on this. The aforementioned tenant identifier can be the tenant's name or account, etc., and is not specifically limited thereto.

[0065] There are no specific limitations on how the modification request information is presented. For example, the modification request information can be carried by a message; in this implementation, the modification request information is also called a modification request message, and the modification request message can also carry the content required for message transmission (such as message type). Alternatively, the modification request information can be carried by a data packet; in this implementation, the modification request information is also called a modification request data packet, and the modification request data packet can also carry data including the content required for transmission (such as transmission protocol).

[0066] In this embodiment, the modification request information is information from a tenant requesting modification of the structure of a data object. In some implementations, the data object includes attributes and logic. Attributes represent the category of the data object, and logic represents the function of the data object. The structure of the data object includes any of the following: attribute, logic name, input parameter, output parameter, or logic body, where logic includes: logic name, input parameter, output parameter, and logic body. For example, a data object can be defined as a "robot vacuum cleaner," its attribute can be defined as "battery level," its logic indicates that it is used to perform a corresponding vacuuming operation, its input parameter can be defined as the room entrance location, and its output parameter can be defined as whether vacuuming was successful. It is understood that in this embodiment, when the structure of the data object corresponding to the modification request information is only a partial structure of the data object, the granularity of the data requested to be modified by the modification request information is smaller than the data object itself. For example, the partial structure of the data object can be, but is not limited to, any of the following: attribute, logic name, input parameter, output parameter, or logic body.

[0067] Optionally, before executing S410 above, the tenant may also perform the following operations: generate modification request information; send modification request information to the first process.

[0068] S420: If the tenant has permission to modify the structure of the data object, the first process sends a modification instruction corresponding to the modification request information to the second process in the second server. This causes the second process to modify the structure of the data object in the first space to obtain the modified data object structure. Correspondingly, the second process receives the modification instruction corresponding to the modification request information sent by the first process.

[0069] In this application, the structure of the data objects in the first space is obtained from the second space managed by the third process in the third server. The permissions for the data object structure belong to a single tenant for a given period. The source space for the data object structure stored in the first space is the second space. The permissions for the data object structure belong to a single tenant for a given period; that is, only that single tenant has permissions for the data object structure during that period, and other tenants do not have such permissions. For example, in an application scenario including tenant A and tenant B, if tenant A has permissions for the attributes of data object 1 on November 30, 2022, then tenant B will not have permissions for the attributes of data object 1 on November 30, 2022. It is understood that in this embodiment, a tenant having permissions for the structure of a data object means that the tenant has the permission to modify the structure of that data object stored in the second space.

[0070] Optionally, in other implementations, before sending the modification instruction to the second process, the first process may also perform the following steps: determine the tenant's permission to own the structure of the data object; generate a modification instruction based on the modification request information, wherein the modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object.

[0071] Below, we introduce two implementation methods for "determining the tenant's permissions to the structure of the data object" provided in the embodiments of this application, namely, implementation method one and implementation method two.

[0072] Implementation method 1:

[0073] In implementation method one, the permission list in the space managed by the first process records at least: the mapping relationship between tenant identifier and data permission identifier, wherein the tenant identifier indicates the tenant, the data permission identifier indicates the permission of the data object structure within a preset time period, and the mapping relationship indicates that the tenant has the permission of the data object structure within the preset time period; determining the tenant's permission to possess the data object structure includes: determining the tenant's permission to possess the data object structure based on the tenant identifier and the mapping relationship recorded in the permission list.

[0074] Optionally, in some implementations, before determining the tenant's permissions to the data object structure based on the mapping relationship recorded in the tenant's identifier and the permission list, the method further includes: if the initial permission list does not record a mapping relationship, updating the initial permission list according to the modification request information to obtain the permission list, wherein the space managed by the first process stores the initial permission list. That is, if the initial permission list in the space managed by the first process does not include the mapping relationship between the tenant identifier and the data object identifier, the first process can first set the mapping relationship between the tenant identifier and the data object identifier to update the initial permission list in the space managed by the first process to the permission list, thus enabling the tenant to have permissions to the structure of the data object indicated by the data object identifier.

[0075] It is understandable that the execution entities involved in the above implementation method include: the first process in the first server, the second process in the second server, and the third process in the third server.

[0076] In the first implementation described above, the permission list is stored in the space managed by the first process, which performs the operation of determining the permissions of the tenant to own the data object structure based on the tenant's tenant identifier and the permission list.

[0077] Implementation Method Two:

[0078] In implementation method two, the permission list in the process space managed by the fourth process running in the fourth server records at least: the mapping relationship between tenant identifiers and data permission identifiers, where the tenant identifier indicates the tenant, the data permission identifier indicates the permissions of the data object structure within a preset time period, and the mapping relationship indicates that the tenant has permissions to the data object structure within the preset time period; determining the tenant's permissions to the data object structure includes: sending a permission query request to the fourth process, where the permission query request is used to query the data permissions of the tenant who sent the modification request; receiving the response result of the permission query request sent by the fourth process, where the response result of the permission query request indicates that the tenant has permissions to the data object structure; and determining the tenant's permissions to the data object structure based on the response result of the permission query request. In this implementation, before the first process receives the response result of the permission query request information sent by the fourth process, the fourth process in the fourth server can also perform the following steps: receiving the permission query request information sent by the first process running in the first server, wherein the permission query request information is a request generated by the first process in the first server based on the received modification request information sent by the tenant, the modification request information is information from the tenant requesting modification of the structure of the data object, and the permission query request information is used to query the tenant's data permissions; generating the response result of the permission query request information based on the permission list and the permission query request information, wherein the response result of the permission query request information indicates that the tenant has permissions to the structure of the data object; and sending the response result of the permission query request information to the first process, so that the first process determines that the tenant has permissions to the structure of the data object based on the response result of the permission query request information.

[0079] It is understandable that the execution entities involved in the above-mentioned implementation method two include: the first process in the first server, the second process in the second server, the third process in the third server, and the fourth process in the fourth server. In some implementation methods, the first server, the second server, the third server, and the fourth server are four different servers; or, at least two of the first server, the second server, the third server, and the fourth server are the same server.

[0080] In the second implementation described above, the permission list is stored in the space managed by the fourth process in the fourth server. The fourth process performs the operation of determining the permission of the tenant to own the structure of the data object based on the tenant's tenant identifier and permission list. The first process determines the permission of the tenant to own the structure of the data object through the response result sent by the fourth process.

[0081] The following describes the data permission identifiers involved in Implementation Method 1 and Implementation Method 2. In some implementations, the data permission identifiers include: a type identifier, a data object identifier, and a time period identifier. The type identifier indicates the type of the data object's structure, the data object identifier indicates the structure of the data object, and the time period identifier indicates a preset time period. The presentation method of the above data permission identifiers is not specifically limited. In some implementations, the above data permission identifiers can be represented by strings. For example, data permission identifier 1 includes type identifier 1, data object identifier 1, and time period identifier 1. Specifically, the type identifier indicates an attribute; the data object identifier indicates the structure of the data object as: data object 1 - attribute 1; and the time period identifier indicates the time as: 20221117. Based on this, the above data permission identifier 1 can be represented by the following string: attribute / data object 1 - attribute 1 / 20221117.

[0082] S430, the second process modifies the structure of the data object in the first space according to the modification instruction to obtain the modified structure of the data object, so that when the third process receives the merge instruction corresponding to the merge request information sent by the first process, it updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the method requested by the modification request information.

[0083] In this embodiment, the second process and the third process are two different processes, therefore they cannot directly access the space managed by the other process. To enable the third process to obtain the structure of the modified data object stored in the space managed by the first process, after executing S430, the second process needs to send the modified data object obtained from the first space to the third process, or store the modified data object in a memory space accessible to both the second and third processes. In some implementations, after modifying the structure of the data object in the first space to obtain the modified data object structure, the second process can further perform the following steps: storing the modified data object structure in the first space to the shared space of the second server, so that the third process can obtain the modified data object structure by accessing the shared space, where the shared space is a space accessible to both the second and third processes. In the above implementation, the second process stores the modified data object structure stored in the first space to a space accessible to both the second and third processes, so that the third process can obtain the modified data object structure by accessing this space. Optionally, in other implementations, after modifying the structure of the data object in the first space to obtain the modified data object structure, the second process may further perform the following steps: receiving a read request message sent by the third process, wherein the read request message requests to read the modified data object structure in the first space; sending a response result of the read request message to the third process, so that the third process obtains the modified data object structure based on the received response result of the read request message, wherein the response result of the read request message includes the modified data object structure. In the above implementations, the second and third processes use a message transmission method to transmit the modified data object structure, enabling the third process to obtain the modified data object structure.

[0084] In this embodiment, if the structure of the data object in the second space is not stored in the first space before the second process executes S430, the second process also needs to execute the step of obtaining the structure of the data object in the second space. The method for the second process to obtain the structure of the data object in the second space is described below. In some implementations, before modifying the structure of the data object in the first space according to the modification instruction to obtain the modified structure of the data object, the method further includes: obtaining the structure of the data object in the second space according to first storage information, wherein the first storage information indicates the storage location of the data object's structure in the second space; and storing the obtained structure of the data object in the first space.

[0085] S440, the first process receives the merge request information sent by the tenant.

[0086] The merge request information refers to a tenant's request to update the structure of data objects in the second space based on the modified structure of data objects in the first space. In some implementations, the modification request information includes: a data object identifier, the tenant's tenant identifier, and the modification method for the data object's structure. The data object identifier indicates the data object's structure, and the tenant's tenant identifier indicates the tenant. Therefore, the merge request information includes: a data object identifier, the address of the first space, and the address of the second space.

[0087] There are no specific limitations on how the merge request information is presented. For example, the merge request information can be carried by a message; in this implementation, the merge request information is also called a modification request message, which can also carry the content required for message transmission (such as message type). Alternatively, the merge request information can be carried by a data packet; in this implementation, the merge request information is also called a modification request data packet, which can also carry data including the content required for transmission (such as transmission protocol).

[0088] Optionally, before executing S440 above, the tenant may also perform the following operations: generate merge request information; send merge request information to the first process.

[0089] S450, if the tenant has permission to access the structure of the data objects, the first process sends a merge instruction corresponding to the merge request information to the third process in the third server. This causes the third process to update the structure of the data objects in the second space based on the obtained modified data object structure, thus modifying the structure of the data objects in the second space according to the method requested in the modification request information. Correspondingly, the third process receives the merge instruction corresponding to the merge request information sent by the first process.

[0090] Optionally, in some implementations, before sending the merge instruction to the third process, the first process may also perform the following operations: determine the tenant's permissions to the data object's structure; and generate a merge instruction based on the merge request information, wherein the merge instruction instructs the third process to update the structure of the data object in the second space according to the obtained modified data object's structure, so as to modify the structure of the data object in the second space in accordance with the modification request information. The implementation method for the first process to determine the tenant's permissions to the data object's structure can be found in the relevant description above, and will not be elaborated upon here.

[0091] S460, the third process, based on the merge instruction, uses the obtained modified data object structure to update the structure of the data objects in the second space, so as to modify the structure of the data objects in the second space in the manner requested by the modification request information.

[0092] In this embodiment, the third process, according to the merge instruction, updates the structure of the data objects in the second space using the obtained modified data object structure, so as to modify the structure of the data objects in the second space according to the modification request information. This includes: using the obtained modified data object structure, updating the structure of the data objects in the second space semantically, so as to modify the structure of the data objects in the second space according to the modification request information. The aforementioned semantic approach indicates that the identifier corresponding to the structure of the modified data object is the same as the identifier corresponding to the structure of the data object in the second space. This semantic update method avoids the problem of text conflicts that may occur after merging, which relies on the order and format of text when merging at the "line-by-line" level in traditional technology.

[0093] Optionally, in some implementations, after executing S460 above, the first process may further perform the following operations: receive the response result of the merge request information sent by the third process, wherein the response result of the merge request information indicates that the structure of the modified data object in the first space has been merged into the second space; send a deletion instruction to the fourth process, causing the fourth process to delete the mapping relationship in the permission list, so that the permissions of the data object structure do not belong to the tenant. Correspondingly, in this implementation, the third process may also perform the following steps: generate the response result of the merge request information; send the response result of the merge request information to the first process. The fourth process may also perform the following steps: receive the deletion instruction sent by the first process; delete the aforementioned mapping relationship recorded in the permission list stored in the space managed by the fourth process according to the deletion instruction. In this method, the permission list is stored in the space managed by the fourth process, and the fourth process performs the operation of deleting the mapping relationship included in the permission list.

[0094] Optionally, in other implementations, the space managed by the first process stores the aforementioned permission list. In this implementation, after executing S460 above, the first process may further perform the following operations: after merging the structure of the data object in the first space into the second space, delete the mapping relationship recorded in the permission list, so that the permissions of the data object's structure do not belong to the tenant. In this method, the permission list is stored in the space managed by the first process, and the operation of deleting the mapping relationship included in the permission list is performed by the first process.

[0095] Optionally, in some implementations, the structure of the data object is stored as a file in a storage block of the hard disk space included in the third server. Before updating the structure of the data object in the second space using the obtained modified data object structure according to the merge instruction, the third process may also perform the following steps: read the structure of the data object from the storage block according to the second storage information, wherein the second storage information includes: file name information and storage block information, the file indicated by the file name information stores the structure of the data object, and the storage block information indicates the storage block; store the read data object structure in the second space. In the above implementation, the second space can store reference information of the data object structure, wherein the reference information of the data object structure is stored in a storage block of the hard disk space of the third server. Based on this, the third process can determine which storage block of the hard disk space of the third server the data object structure is specifically stored in according to the reference information of the data object structure that can be stored in the second space it manages; thereafter, the third process can read the structure of the data object from the corresponding storage block. For example, Figure 5 This illustrates one implementation where data object 1 is stored in isolation on a hard disk. See also... Figure 5 As shown, storage block 0 of the hard disk is used to store reference information for data object 1. The attribute reference information indicates that attribute 1 included in data object 1 is stored in storage block 1. The logic reference information indicates that the reference information for logic 1 included in data object 1 is stored in storage block 2. Storage block 1 specifically stores attribute 1 of data object 1, data block 3 specifically stores input parameter 1 of logic 1, data block 4 specifically stores output parameter 1 of logic 1, and data block 5 specifically stores the logic body of logic 1.

[0096] In this embodiment, before the third process executes S460, it also needs to obtain the structure of the modified data object in the first space. In some implementations, before updating the structure of the data object in the second space using the obtained modified data object structure according to the merge instruction, the third process may further perform the following steps: accessing the shared space of the second server and obtaining the structure of the modified data object from the shared space. The second process stores the structure of the modified data object in the first space in the shared space, which is accessible to both the second and third processes. In the above implementation, the second process stores the structure of the modified data object stored in the first space in a space accessible to both the second and third processes, so that the third process can obtain the structure of the modified data object by accessing this space. Optionally, in some implementations, before updating the structure of the data object in the second space using the obtained modified data object structure according to the merge instruction, the third process may further perform the following steps: sending a read request message to the second process, wherein the read request message requests to read the modified data object structure in the first space; receiving the response result of the read request message sent by the second process, wherein the response result of the read request message includes the modified data object structure; and obtaining the modified data object structure based on the response result of the read request message. In the above implementations, the second and third processes use a message transmission method to transmit the modified data object structure, enabling the third process to obtain the modified data object structure.

[0097] Optionally, in other implementations, after updating the structure of the data objects in the second space according to the merge instruction and using the obtained modified data object structure, the third process may further perform the following steps: sending a response result of the merge request information to the first process, wherein the response result of the merge request information indicates that the structure of the modified data objects in the first space has been merged into the second space. In this way, the first process can know that the structure of the modified data objects in the first space has been merged into the second space. Based on this, when the third process receives the merge instruction corresponding to the merge request information sent by the first process, after updating the structure of the data objects in the second space according to the obtained modified data object structure, the second process may further perform the following steps: deleting the structure of the modified data objects in the first space.

[0098] It should be understood that the data processing methods shown in S410 to S460 above are merely illustrative and do not constitute any limitation on the data processing methods provided in the embodiments of this application. For example, in some other implementations, the first process may also simultaneously receive multiple modification request messages sent by multiple tenants, which are messages from the multiple tenants requesting modifications to the structure of the same or different data objects.

[0099] In this embodiment, it is configured such that only one tenant has permission to access the structure of the same data object within a certain period, meaning that this single tenant has the permission to modify the result of the same data object during that period. After the first process receives a modification request from a tenant, and if the tenant has permission to access the structure of the data object associated with the modification request, the first process instructs the second process to modify the structure of the data object in the managed first space to obtain the modified data object structure. Furthermore, after the first process receives a merge request from a tenant, and if the tenant has permission to access the structure of the data object associated with the merge request, the first process instructs the third process to update the structure of the data object in the second space based on the obtained modified data object structure, thereby modifying the structure of the data object in the second space according to the method requested in the modification request. The above implementation, by granting tenants structural permissions for data objects, ensures that only one tenant can modify the structure of a data object at a time. This means that any subsequent modifications performed by a tenant with structural permissions are based on the modifications performed by the tenant with prior structural permissions. This avoids the problem in traditional technologies where multiple tenants are unaware of each other's modification intentions for the same data object, leading to inaccurate data processing results. In summary, the data processing method provided in this application can improve the accuracy of the obtained data processing results.

[0100] The above text combined Figure 4 The interaction steps between multiple servers involved in the data processing method provided in this application are described below. Figures 6A to 6C The above description Figure 4 The process of executing the data processing method provided in this application when each of the multiple servers described acts as the execution subject.

[0101] Figure 6A This is a schematic diagram illustrating a data processing method provided in an embodiment of this application. It can be understood that... Figure 6A The data processing method shown is executed by the first process in the first server. For example... Figure 6A As shown, the method includes steps S610 to S613. Steps S610 to S613 will be described below.

[0102] S610, receive modification request information sent by the tenant, wherein the modification request information is information in which the tenant requests to modify the structure of the data object, and the memory space of the second server includes the first space managed by the second process in the second server, and the first space is the tenant space allocated by the second server to the tenant.

[0103] S611, when the tenant has permission to modify the structure of the data object, a modification instruction corresponding to the modification request information is sent to the second process, so that the second process modifies the structure of the data object in the first space to obtain the modified structure of the data object. The structure of the data object in the first space is obtained from the second space managed by the third process in the third server, and the permission to modify the structure of the data object belongs to a tenant for a period of time.

[0104] S612, receive merge request information sent by the tenant, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the modified structure of the data object in the first space.

[0105] S613, if the tenant has permission to access the structure of the data object, a merge instruction corresponding to the merge request information is sent to the third process, so that the third process updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the method requested by the modification request information.

[0106] For details not elaborated in S610 to S613 above, please refer to the above descriptions. Figure 4 The data processing method shown describes the relevant steps executed by the first process in the first server.

[0107] Figure 6B This is a schematic diagram illustrating a data processing method provided in an embodiment of this application. It can be understood that... Figure 6B The data processing method shown is executed by a second process within a second server. The second server's memory space includes a first space managed by the second process, and this first space is the tenant space allocated by the second server to the tenant. For example... Figure 6B As shown, the method includes S620 and S621. S620 and S621 will be described below.

[0108] S620: Receive a modification instruction corresponding to a modification request information sent by the first process in the first server. The modification request information is a tenant's request to modify the structure of a data object. The modification instruction is an instruction generated by the first process based on the modification request information, provided the tenant has permission to modify the data object's structure. Permission to the data object's structure belongs to one tenant for a period of time. The modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified data object's structure. The structure of the data object in the first space is obtained from the second space managed by the third process in the third server.

[0109] S621, according to the modification instruction, the structure of the data object in the first space is modified to obtain the modified structure of the data object, so that when the third process receives the merge instruction corresponding to the merge request information sent by the first process, it updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the method requested by the modification request information; wherein, the merge request information is the information of the tenant requesting to update the structure of the data object in the second space according to the modified structure of the data object in the first space.

[0110] For details not elaborated in S620 and S621 above, please refer to the above descriptions. Figure 4 The data processing method shown describes the relevant steps executed by the second process in the second server.

[0111] Figure 6C This is a schematic diagram illustrating a data processing method provided in an embodiment of this application. It can be understood that... Figure 6C The data processing method shown is executed by a third process within a third server. For example... Figure 6C As shown, the method includes S630 and S631. S630 and S631 will be described below.

[0112] S630, receive a merge instruction corresponding to a merge request message sent by the first process in the first server. The merge request message is a tenant requesting an update to the structure of data objects in the second space based on the modified structure of data objects in the first space. The first space is a tenant space allocated to the tenant by the second server, and the second server's memory space includes the first space. The second process in the second server manages the first space. The merge instruction is an instruction generated by the first process based on the merge request message, given that the tenant possesses the structure of the data objects. The merge instruction instructs the third process to update the structure of the data objects in the second space based on the obtained modified structure of the data objects, so as to modify the structure of the data objects in the second space according to the modification request message sent by the tenant. The modification request message is a tenant requesting modification of the data object structure.

[0113] S631, according to the merge instruction, using the obtained modified data object structure, update the structure of the data object in the second space, so as to modify the structure of the data object in the second space in the manner requested by the modification request information.

[0114] For details not elaborated in S630 and S631 above, please refer to the above descriptions. Figure 4 The data processing method shown describes the relevant steps executed by the third process in the third server.

[0115] Below, in conjunction with Figure 7 This application introduces another data processing method provided by an embodiment. It should be understood that... Figure 7 The examples provided are merely to help those skilled in the art understand the embodiments of this application, and are not intended to limit the embodiments to the specific numerical values ​​or specific scenarios illustrated. Those skilled in the art will understand based on the following... Figure 7 The examples provided clearly demonstrate that various equivalent modifications or variations can be made, and such modifications and variations also fall within the scope of the embodiments of this application. It is understood that... Figure 7 The data processing method shown is as described above. Figure 4 This is a specific example of the data processing method shown. Specifically, Figure 7 The described data processing method is based on the above Figure 4 The first server, second server, third server, and fourth server described above refer to the same server (i.e., server 1). Figure 4 The tenant described is tenant 1, as mentioned above. Figure 4 The first process described is the tenant entry process, as mentioned above. Figure 4 The second process described is process 1, as mentioned above. Figure 4 The third process described is process 2, and, as mentioned above Figure 4The fourth process described uses the permission center process as an example.

[0116] Figure 7 This is a schematic diagram of a data processing method provided in an embodiment of this application. For example, Figure 7 The tenant 1 and server 1 shown can be respectively the above. Figure 3A The example shown depicts tenant 310 and server 320 in an application scenario. The structure of server 320 can be as described above. Figure 3B The structure shown here, at this time, Figure 3B The code space shown is Figure 7 The default space shown Figure 3B The entry process shown is Figure 7 The tenant entry process shown Figure 3B Process 3 shown is Figure 7 The permissions center process is shown. For example... Figure 7 As shown, the method includes S701 to S714, and S701 to S714 will be described in detail below.

[0117] See Figure 7 The execution entities for the data processing method provided in this application include: tenant 1 and server 1. Server 1 includes process 1, process 2, a tenant entry process, and a permission center process. Process 1 manages the tenant 1 space, meaning process 1 has read and write permissions on the tenant 1 space. Process 2 manages the default space, meaning process 2 has read and write permissions on the default space. The permission center process manages the permission center, which stores a permission list recording the mapping relationship between tenant identifiers and permission identifiers. The mapping relationship recorded in the permission list can be, but is not limited to, settings made by the system administrator in the permission center.

[0118] In this embodiment, server 1 can allocate tenant space for a tenant with which it communicates. The process managing the tenant space can execute the modification operations requested by the tenant in the modification request sent by the tenant within that tenant space. Taking tenant 1 space as an example, tenant 1 space is the tenant space allocated by server 1 to tenant 1. Process 1 managing tenant 1 space can execute the modification operations requested by modification request information 1 sent by tenant 1 within tenant 1 space. Process 2 managing the default space is used to merge the modified code in the tenant space into the default space.

[0119] In this embodiment of the application, a data object includes: at least one attribute and at least one logic, wherein a logic includes at least one logic name, at least one logic input parameter, at least one logic output parameter, and at least one logic body. The default space in server 1 can store data object 1 in an isolated storage manner, wherein data object 1 includes attribute 1 and logic 1, wherein logic 1 includes logic name, input parameter, output parameter, and logic body.

[0120] In this embodiment, the reference information for data object 1 can be stored in storage block 0 of the hard disk of server 1 by default. Process 2 can determine the specific storage location of the content associated with data object 1 on the hard disk based on the reference information of data object 1 obtained from storage block 0; subsequently, process 2 can read the content associated with data object 1 from the corresponding storage block. The reference information for data object 1 includes attribute reference information and logical reference information. Below, in conjunction with... Figure 5 This describes the reference information for data object 1 and the storage status of its associated content on the hard disk. See also... Figure 5 As shown, storage block 0 of the hard disk is used to store reference information for data object 1. Attribute reference information indicates that attribute 1, included in data object 1, is stored in storage block 1. Logical reference information indicates that reference information for logical entity 1, included in data object 1, is stored in storage block 2. Based on this isolated storage method, processes can quickly read the data requested for modification, which improves data processing efficiency. For example, if modification request information 1 only needs to modify attribute 1 of data object 1, based on the isolated storage method, process 2 only needs to use the attribute reference information recorded in storage block 0 to successfully read attribute 1 of data object 1 from storage block 1. This reading process does not require reading the data object structure that does not need to be modified (e.g., the logical body of data object 1), which improves reading efficiency and further enhances data processing efficiency.

[0121] Optionally, process 2 may also perform the following operations: access storage block 0 on the hard disk of server 1 to obtain the reference information of data object 1 based on the reference information of data object 1 stored in the default space; read the data object structure from the corresponding storage block based on the reference information of data object 1; and store the read data object structure in the default space.

[0122] It should be noted that, in this embodiment, the modification operation requested by the tenant's modification request can only be executed by the process managing the tenant's corresponding tenant space within that tenant space. In other words, process 2, which manages the default space, cannot directly execute the modification operation requested by the tenant's modification request within the default space.

[0123] In this embodiment, the modification operation requested by tenant 1 in modification request information 1 is to modify attribute 1 of data object 1, and the modified attribute 1 of data object 1 obtained by tenant 1 is merged into the default space as an example. The attribute 1 of data object 1 stored in the default space can be represented by the following code:

[0124]

[0125] S701, Tenant 1 sends Read Request Message 1 to the Tenant Entry Process in Server 1, requesting that the data object structure corresponding to the permission identifier owned by Tenant 1 be stored in the Tenant Space corresponding to Tenant 1. Accordingly, Server 1 receives Read Request Message 1 sent by Tenant 1.

[0126] Specifically, Read Request 1 requests that the data object structure corresponding to the permission identifier of tenant 1 be stored in the tenant space corresponding to tenant 1. Read Request 1 includes tenant identifier 1 of tenant 1. Tenant identifier 1 is used to identify tenant 1, and there is no specific limitation on tenant identifier 1. For example, tenant identifier 1 can be the tenant name of tenant 1 or the account of tenant 1, etc.

[0127] S702, the tenant entry process in server 1 sends permission query request information 1 to the permission center process in server 1. Correspondingly, the permission center process in server 1 receives the permission query request information 1 sent by the tenant entry process.

[0128] The permission query request information 1 requests a query for the permission identifiers possessed by tenant identifier 1. Permission query request information 1 includes tenant identifier 1. The aforementioned permission query request information 1 is a request sent by the tenant entry process to the permission center process. Optionally, permission query request information 1 may also include: the process identifier of the tenant entry process as the sender and the process identifier of the permission center process as the receiver.

[0129] Optionally, before executing S702 above, the tenant entry process in server 1 may also perform the following operations: generate permission query request information 1 based on read request information 1.

[0130] S703, the permission center process in server 1 sends permission query result 1 to the tenant entry process in server 1. Correspondingly, the tenant entry process in server 1 receives permission query result 1 sent by the permission center process in server 1.

[0131] The permission query result 1 indicates that tenant 1 has permission for attribute 1 of data object 1 within the preset time period 1. In other words, within the preset time period 1, process 1 can execute the modification operation requested by the modification request sent by tenant 1 in tenant 1's space.

[0132] The permission query result 1 can include the mapping relationship between tenant identifier 1 and permission identifier 1. Tenant identifier 1 identifies tenant 1, and permission identifier 1 identifies the permission of attribute 1 of data object 1 within a preset time period 1. Permission identifier 1 can include permission type 1, data object identifier 1, and timestamp 1. Permission type 1 represents the attribute type, data object identifier 1 identifies attribute 1 of data object 1, and timestamp 1 represents the preset time period 1. The content of the above permission identifier 1 can be represented by a string, specifically: attribute / data object 1-attribute 1 / 20221117, where permission type 1 specifically represents the attribute, data object identifier 1 specifically identifies data object 1-attribute 1, and timestamp 1 specifically represents 20221117. Tenant 1 possesses the above permission identifier 1, meaning that tenant 1 has the permission to modify attribute 1 of data object 1 on November 17, 2022, and tenant 1 does not have the permission to modify attribute 1 of data object 1 before or after November 17, 2022.

[0133] Optionally, before executing S703 above, the permission center process may also perform the following operations: the permission center process accesses the permission center and obtains the permission list; based on the permission list and the tenant identifier 1 included in the permission query request information 1, it determines the mapping relationship between the tenant identifier 1 and the permission identifier 1 recorded in the permission list; based on the mapping relationship between the tenant identifier 1 and the permission identifier 1, it generates permission query result 1.

[0134] Optionally, after executing S703 above, the tenant entry process may also perform the following steps: store the received permission query result 1 into the space corresponding to the tenant entry process.

[0135] S704, the tenant entry process in server 1 determines, based on permission query result 1, the data object structure corresponding to permission identifier 1 possessed by tenant 1 as attribute 1 of data object 1.

[0136] S705, the tenant entry process, process 1 and process 2 interact to store attribute 1 of data object 1 stored in the default space to the tenant 1 space corresponding to tenant 1.

[0137] The interaction between the tenant entry process, process 1, and process 2 to store attribute 1 of data object 1 stored in the default space to the tenant 1 space corresponding to tenant 1 may include the following steps:

[0138] The tenant entry process sends a read request 2 to process 2, so that process 2 stores attribute 1 of data object 1 stored in the default space to shared memory space 1. The read request 2 includes data object identifier 1 and the address of shared memory space 1.

[0139] The tenant entry process sends read request 3 to process 1, so that process 1 stores attribute 1 of data object 1 stored in shared memory space 1 to the tenant 1 space. Read request 2 includes the address of shared memory space 1, data object identifier 1, and the address of the tenant 1 space. Shared memory space 1 is accessible to the tenant entry process, process 2, and process 1.

[0140] S706, Tenant 1 sends Modification Request Message 1 to the Tenant Entry Process in Server 1. Modification Request Message 1 indicates that Tenant 1 requests modification of Attribute 1 of Data Object 1 corresponding to Data Object Identifier 1. Correspondingly, the Tenant Entry Process in Server 1 receives Modification Request Message 1 sent by Server 1.

[0141] Modification request information 1 indicates that tenant 1 requests modification information to modify attribute 1 of data object 1 corresponding to data object identifier 1. Modification request information 1 may include the following information: tenant identifier 1 of tenant 1, data object identifier 1, and modification information 1. Modification information 1 indicates the method of modifying attribute 1 of data object 1. In some implementations, modification information 1 may indicate changing the default value of attribute 1 of data object 1 to 80. Optionally, in other implementations, modification information 1 may indicate setting a new attribute for the attribute of data object 1. The above modification request information 1 is a request sent by tenant 1 to the tenant entry process. Optionally, the above modification request information 1 may also include: the tenant identifier of tenant 1 as the sender and the process identifier of the tenant entry process as the receiver.

[0142] S707, the tenant entry process in server 1 determines, based on the modification request information 1, that tenant 1 has permission for attribute 1 of data object 1 within the preset time period 1, and that the current time has not exceeded the latest time indicated by the preset time period 1.

[0143] It is understandable that the tenant entry process in server 1 can know that the corresponding tenant is tenant 1 based on the tenant identifier 1, and that the tenant space allocated by server 1 to tenant 1 is tenant 1 space.

[0144] The modification request information 1 may include the following information: tenant identifier 1 of tenant 1, data object identifier 1, and modification information 1. Based on this, the tenant entry process in server 1 determines, according to the modification request information 1, that tenant 1 has permission to possess attribute 1 of data object 1 within a preset time period 1, including:

[0145] The tenant entry process obtains the mapping relationship between tenant 1 and permission identifier 1 based on permission query result 1; the tenant entry process parses permission identifier 1 to determine the permission of attribute 1 of data object 1 within the preset time period 1, and the current time does not exceed the latest time indicated by the preset time period 1; the tenant entry process determines that tenant 1 has the permission of attribute 1 of data object 1 within the preset time period 1.

[0146] S708, the tenant entry process in server 1 sends modification instruction 1 to process 1. Modification instruction 1 instructs process 1 to modify attribute 1 of the data object 1 corresponding to the data object identifier 1 stored in the tenant 1 space according to the modification method indicated by modification information 1. Correspondingly, process 1 receives modification instruction 1 sent by server 1.

[0147] Modification instruction 1 instructs process 1 to modify attribute 1 of data object 1 corresponding to data object identifier 1 stored in tenant 1 space according to the modification method indicated by modification information 1. Modification instruction 1 may include: address of tenant 1 space, modification information 1, and data object identifier 1.

[0148] Executing S706 to S708 above, that is, after the tenant entry process in server 1 receives the modification request sent by tenant 1, the tenant entry process interacts with the permission center process. Only when it is determined that tenant 1 has the permission to modify the data object structure requested by the modification request information 1 at the current moment will the tenant entry process send the modification instruction 1 corresponding to the modification request information 1 to process 1.

[0149] S709, process 1 in the server modifies attribute 1 of data object 1 corresponding to data object identifier 1 stored in tenant 1 space according to modification instruction 1, obtains attribute 1 of modified data object 1 corresponding to data object identifier 1, and stores attribute 1 of modified data object 1 corresponding to data object identifier 1 into shared memory space 1.

[0150] In some implementations, modifying information 1 indicates changing the default value of attribute 1 of data object 1 corresponding to data object identifier 1 to 80. Based on this, after executing S709 above, the modified attribute 1 of data object 1 corresponding to data object identifier 1 can be represented by the following code:

[0151]

[0152]

[0153] After executing S709 above, the shared memory space 1 stores attribute 1 of the modified data object 1 corresponding to data object identifier 1. Subsequently, process 2 can access the shared memory space 1 to obtain attribute 1 of the modified data object 1 corresponding to data object identifier 1.

[0154] Optionally, after executing S709 above, process 1 can also send a notification message to the tenant entry process, wherein the notification message indicates that the shared memory space 1 stores the modified attribute 1 of the data object 1 corresponding to the data object identifier 1 stored in the tenant 1 space.

[0155] S710, Tenant 1 sends a merge request message 1 to the Tenant Entry Process. The merge request message 1 requests that the modified data object 1 corresponding to the data object identifier 1 stored in the Tenant 1 space be merged into the default space. Correspondingly, the Tenant Entry Process receives the merge request message 1 sent by Tenant 1.

[0156] The merge request information 1 may include: the address of tenant 1 space 1 and data object identifier 1.

[0157] S711, the tenant entry process in server 1 determines, based on permission query result 1, that tenant 1 has permission for attribute 1 of data object 1 corresponding to data object identifier 1 at the current moment; and generates merge instruction 1 based on merge request information 1.

[0158] Merge instruction 1 instructs process 2 to merge the modified attribute 1 of data object 1 corresponding to data object identifier 1 stored in shared memory space 1 into the default space. Merge instruction 1 may include: the address of shared memory space 1 and data object identifier 1.

[0159] Merge Request 1 requests that the modified data object 1 corresponding to data object identifier 1 stored in tenant 1's space be merged into the default space. The tenant entry process accesses shared memory space 1 based on data object identifier 1 and determines that shared memory space 1 stores the modified data object 1 corresponding to data object identifier 1 stored in tenant 1's space. Based on this, the tenant entry process can generate merge instruction 1 according to merge request information 1.

[0160] S712, the tenant entry process in server 1 sends merge instruction 1 to process 2. Correspondingly, process 2 receives merge instruction 1 sent by the tenant entry process.

[0161] Executing steps S710 to S712 above, that is, after server 1 receives merge request information 1 sent by tenant 1, server 1 first determines whether tenant 1 has permission for attribute 1 of the data object 1 requested by merge request information 1 at the current moment. If server 1 determines that tenant 1 has permission for the attribute 1 of the data object 1 requested by merge request information 1 at the current moment, server 1 will send merge instruction 1 corresponding to merge request information 1 to process 2, so that process 2 can perform the merge operation according to merge instruction 1.

[0162] S713, process 2 in server 1 reads attribute 1 of the modified data object 1 from shared memory space 1 according to merge instruction 1; and merges the read attribute 1 of the modified data object 1 into the default space according to semantic merge rules.

[0163] In some implementations, process 2 in server 1 merges the modified data object 1 corresponding to the read data object identifier 1 into the default space according to the semantic merging rules. This includes: process 2 in server 1 determines that the default space stores data corresponding to data object identifier 1 based on data object identifier 1; process 2 updates the attribute 1 of the data object 1 corresponding to data object identifier 1 stored in the default space to the attribute 1 of the modified data object 1 corresponding to the read data object identifier 1.

[0164] Optionally, in other implementations, process 2 in server 1 merges the modified data object 1 corresponding to the read data object identifier 1 into the default space according to the semantic merging rules. This includes: process 2 in server 1 determines that the default space does not store data corresponding to data object identifier 1 based on data object identifier 1; process 2 directly stores the modified data object 1 corresponding to the read data object identifier 1 into the default space.

[0165] In this embodiment of the application, before executing S713 above, the attribute 1 of the data object 1 corresponding to the data object identifier 1 stored in the default space can be represented by the following code:

[0166]

[0167]

[0168] After executing S713 above, attribute 1 of data object 1 corresponding to data object identifier 1 stored in the default space can be represented by the following code:

[0169]

[0170] In the method described in S713 above, the modified data object 1's attribute 1 is merged into the default space according to the semantic merging rules. This merging method avoids the logical anomaly problem that occurs when merging according to "text lines" in traditional technology, which helps to improve the accuracy of data processing results.

[0171] S714, the permission center process deletes the mapping relationship between tenant identifier 1 and permission identifier 1 recorded in the permission list of tenant 1 in the permission center.

[0172] Optionally, before executing S714 above, the authority center process can interact with process 2 to determine whether process 2 has successfully executed S713 above.

[0173] After executing S714 above, tenant 1 no longer possesses permissions for the data object structure corresponding to the permission identifier, meaning tenant 1 no longer has the permission to modify the data object structure corresponding to permission identifier 1. In other words, in the data processing method provided in this application embodiment, a tenant can only perform modification and merging operations on data object permissions after acquiring them. Once a tenant has completed the operation, the acquired data object permissions are released. Subsequently, other tenants besides the original tenant can reacquire the released data object permissions to fulfill their modification needs. That is, in this application embodiment, only one tenant is allowed to acquire permissions for the same data object structure within a certain period; multiple tenants cannot simultaneously modify and merge the same data object structure. This permission-based data processing method can improve the accuracy of the obtained data processing results. Furthermore, the aforementioned data object permissions specifically refer to any of the following permissions: permissions for attributes included in the data object, permissions for logical names in the logic included in the data object, permissions for logical bodies in the logic included in the data object, or permissions for input parameters in the logic included in the data object, and permissions for output parameters in the logic included in the data object. In other words, in this embodiment of the application, the granularity of the permissions of the data objects owned by the tenant is smaller. During the data processing, it is only necessary to copy the data object structure corresponding to the smaller granularity permission into the tenant space to perform the corresponding modification operation.

[0174] Optionally, after executing S701 to S714 above, S715 can also be executed.

[0175] S715, Process 1 deletes attribute 1 of the modified data object 1 corresponding to data object identifier 1 stored in tenant 1's space.

[0176] It should be understood that the above Figure 7 The data processing methods shown are for illustrative purposes only and do not constitute any limitation on the data processing methods provided in this application. Figure 7The data processing method shown is that tenant 1 requests modification of attribute 1 of data object 1. Optionally, it can also be based on the above. Figure 7 The data processing method shown can also be that tenant 1 requests modification of logic 1 of data object 1. Optionally, it can also be based on the above. Figure 7 The data processing method shown modifies the attributes of data object 1, such as adding attributes to data object 1 or deleting attributes that data object 1 possesses.

[0177] The above, combined with Figures 1 to 7 This paper details the application scenarios and data processing methods applicable to the data processing methods provided in this application. Below, we will combine... Figures 8 to 10 This application introduces the data processing apparatus, data processing system, and electronic device provided. It should be understood that the data processing method described above corresponds to the data processing apparatus, data processing system, and electronic device described below. Any content not described in detail below can be found in the relevant descriptions in the above method embodiments.

[0178] Figure 8 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application. Figure 8 As shown, the data processing device includes a transceiver unit 801 and a processing unit 802.

[0179] Implementation method 1:

[0180] In implementation method one, Figure 8 The data processing apparatus shown is applied to the first process in the first server. The functions of the transceiver unit 801 and the processing unit 802 in this implementation are described below.

[0181] The transceiver unit 801 is configured to: receive modification request information sent by a tenant, wherein the modification request information is information requesting modification of the structure of a data object by the tenant, and the memory space of the second server includes a first space managed by a second process in the second server, and the first space is a tenant space allocated by the second server to the tenant; the transceiver unit 801 is further configured to: when the tenant has permission to modify the structure of the data object, send a modification instruction corresponding to the modification request information to the second process, causing the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object, wherein the structure of the data object in the first space is obtained from the second space managed by a third process in the third server. The permissions for the structure of the data object belong to a tenant for a period of time; the transceiver unit 801 is further configured to: receive merge request information sent by the tenant, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the modified structure of the data object in the first space; the transceiver unit 801 is further configured to: when the tenant has permissions for the structure of the data object, send a merge instruction corresponding to the merge request information to the third process, so that the third process updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the manner requested by the modification request information.

[0182] Implementation Method Two:

[0183] In implementation method two, Figure 8 The data processing apparatus shown is applied to a second process in a second server. The memory space of the second server includes a first space managed by the second process, and the first space is the tenant space allocated by the second server to the tenant. The functions of the transceiver unit 801 and the processing unit 802 in this implementation are described below.

[0184] The transceiver unit 801 is configured to: receive a modification instruction corresponding to a modification request information sent by a first process in a first server, wherein the modification request information is information from the tenant requesting modification of the structure of a data object, and the modification instruction is an instruction generated by the first process based on the modification request information when the tenant has permission to access the structure of the data object; the permission to access the structure of the data object belongs to one tenant for a period of time; the modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object, and the structure of the data object in the first space is obtained from the second space managed by the third process in a third server; the processing unit 802 is configured to: modify the structure of the data object in the first space according to the modification instruction to obtain the modified structure of the data object, such that when the third process receives a merge instruction corresponding to a merge request information sent by the first process, it updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the method requested by the modification request information; wherein the merge request information is information from the tenant requesting an update of the structure of the data object in the second space based on the modified structure of the data object in the first space.

[0185] Implementation method three:

[0186] In implementation method three, Figure 8 The data processing apparatus shown is applied to a third process in a third server, and the third process manages the structure of a second space storing data objects. The functions of the transceiver unit 801 and the processing unit 802 in this implementation are described below.

[0187] The transceiver unit 801 is configured to: receive a merge instruction corresponding to a merge request information sent by a first process in a first server, wherein the merge request information is information from a tenant requesting to update the structure of the data object in the second space according to the modified structure of the data object in the first space; the first space is a tenant space allocated to the tenant by a second server, the memory space of the second server includes the first space, and the second process in the second server manages the first space; the merge instruction is an instruction generated by the first process based on the merge request information when the tenant possesses the structure of the data object; the merge instruction instructs the third process to update the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the modification request information sent by the tenant, wherein the modification request information is information from the tenant requesting to modify the structure of the data object; the processing unit 802 is configured to: update the structure of the data object in the second space according to the merge instruction and using the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the modification request information.

[0188] Figure 9 This is a schematic diagram of the structure of a data processing system provided in an embodiment of this application. For example... Figure 9 As shown, the system includes tenant 901 and server 902.

[0189] Tenant 901 is used to execute the various steps performed by the tenant in the data processing method described above, and server 902 is used to execute the various steps performed by at least one of the first server, second server, third server or fourth server in the data processing method described above. For details not described in detail here, please refer to the relevant descriptions above.

[0190] Figure 10 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application. For example... Figure 10 As shown, it includes a memory 1001, a processor 1002, a communication interface 1003, and a communication bus 1004. The memory 1001, processor 1002, and communication interface 1003 are interconnected via the communication bus 1004.

[0191] The memory 1001 may be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1001 may store a program. When the program stored in the memory 1001 is executed by the processor 1002, the processor 1002 and the communication interface 1003 are used to execute the various steps of the data processing method of the embodiments of this application.

[0192] The processor 1002 may be a general-purpose central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), graphics processing unit (GPU), or one or more integrated circuits, used to execute relevant programs to achieve the functions required by the units in the data processing apparatus of this application embodiment, or to execute the various steps of the data processing method of this application embodiment.

[0193] The processor 1002 can also be an integrated circuit chip with signal processing capabilities. In implementation, each step of the data processing method provided in this application can be completed by the integrated logic circuits in the hardware of the processor 1002 or by instructions in software form. The processor 1002 described above can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in the memory 1001. The processor 1002 reads the information in the memory 1001 and, in conjunction with its hardware, performs the functions required by the units included in the data processing apparatus of this application embodiment, or executes the data processing method of the method embodiment of this application.

[0194] The communication interface 1003 uses a transceiver device, such as, but not limited to, a transceiver, to implement... Figure 10 The device shown communicates with other devices or communication networks.

[0195] Communication bus 1004 may be included in Figure 10 The illustrated pathway for transmitting information between various components of the device (e.g., memory 1001, processor 1002, communication interface 1003).

[0196] This application provides a computer-readable storage medium, which includes computer instructions. When executed by a processor, the computer instructions are used to implement any of the data processing methods described in this application.

[0197] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored on a computer-readable medium and includes several instructions to cause a computing device (which may be a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments disclosed in this application.

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

[0199] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0200] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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 technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage media, or any other non-transferable media that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include non-transitory computer-readable media, such as modulated data signals and carrier waves.

[0201] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied 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.

[0202] Although this application discloses preferred embodiments as described above, it is not intended to limit this application. Any person skilled in the art can make possible changes and modifications without departing from the spirit and scope of this application. Therefore, the scope of protection of this application should be determined by the scope defined in the claims of this application.

Claims

1. A data processing method, characterized in that, The method, applied to a first process in a first server, includes: The system receives modification request information sent by a tenant, wherein the modification request information is information in which the tenant requests to modify the structure of a data object, and the memory space of the second server includes a first space managed by a second process in the second server, and the first space is the tenant space allocated by the second server to the tenant. When the tenant has permission to access the structure of the data object, a modification instruction corresponding to the modification request information is sent to the second process, causing the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object. The structure of the data object in the first space is obtained from the second space managed by the third process in the third server, and the permission to access the structure of the data object belongs to a tenant for a period of time. Receive merge request information sent by the tenant, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the structure of the modified data object in the first space; When the tenant has permission to access the structure of the data object, a merge instruction corresponding to the merge request information is sent to the third process. The merge instruction instructs the third process to merge the modified data object's structure into the second space in a semantic manner. The semantic manner indicates that the identifier corresponding to the modified data object's structure is the same as the identifier corresponding to the data object's structure in the second space. This allows the third process to update the structure of the data object in the second space based on the obtained modified data object's structure, thereby modifying the structure of the data object in the second space in accordance with the manner requested by the modification request information. The structure of the data object is stored in the hard disk space of the third server in an isolated storage manner. The reference information of the data object is stored in the first storage block, the attributes of the data object are stored in the second storage block, and the logic of the data object is stored in the third storage block. The reference information is used to locate the storage block where the attributes are stored and the storage block where the logic is stored.

2. The method according to claim 1, characterized in that, The modification request information includes: a data object identifier, a tenant identifier of the tenant, and a modification method for modifying the structure of the data object, wherein the data object identifier indicates the structure of the data object, and the tenant identifier of the tenant indicates the tenant; The merge request information includes: the data object identifier, the address of the first space, and the address of the second space.

3. The method according to claim 1 or 2, characterized in that, The data object includes attributes and logic, whereby the attributes represent the category of the data object and the logic represents the function of the data object. The structure of the data object includes any of the following structures: the attribute, logical name, input parameter, output parameter, or logical body, wherein the logic includes: the logical name, the input parameter, the output parameter, and the logical body.

4. The method according to any one of claims 1 to 3, characterized in that, Before sending the modification instruction to the second process, the method further includes: Determine whether the tenant has permission to access the structure of the data object; Based on the modification request information, the modification instruction is generated, wherein the modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object.

5. The method according to claim 4, characterized in that, The permission list in the space managed by the first process records at least the mapping relationship between tenant identifier and data permission identifier, wherein the tenant identifier indicates the tenant, the data permission identifier indicates the permissions of the data object's structure during a preset time period, and the mapping relationship indicates that the tenant has the permissions of the data object's structure during the preset time period; The step of determining whether the tenant has the authority to possess the structure of the data object includes: Based on the tenant's tenant identifier and the mapping relationship recorded in the permission list, the permission that the tenant has to possess the structure of the data object is determined.

6. The method according to claim 5, characterized in that, Before determining the tenant's permissions to the structure of the data object based on the tenant's tenant identifier and the mapping relationship recorded in the permission list, the method further includes: If the mapping relationship is not recorded in the initial permission list, the initial permission list is updated according to the modification request information to obtain the permission list, wherein the initial permission list is stored in the space managed by the first process.

7. The method according to claim 5 or 6, characterized in that, After merging the structure of the data objects in the first space into the second space, the method further includes: Delete the mapping relationship recorded in the permission list so that the permissions of the data object structure do not belong to the tenant.

8. The method according to claim 4, characterized in that, The permission list in the process space managed by the fourth process running in the fourth server records at least the mapping relationship between tenant identifiers and data permission identifiers, wherein the tenant identifier indicates the tenant, the data permission identifier indicates the permissions of the data object's structure within a preset time period, and the mapping relationship indicates that the tenant has permissions to the data object's structure within the preset time period; determining that the tenant has permissions to the data object's structure includes: Send permission query request information to the fourth process, wherein the permission query request information is used to query the data permissions of the tenant who sent the modification request information; The system receives a response to the permission query request sent by the fourth process, wherein the response to the permission query request indicates that the tenant has permission to access the structure of the data object. Based on the response result of the permission query request, it is determined that the tenant has permission to access the structure of the data object.

9. The method according to claim 8, characterized in that, The method further includes: The response result of the merge request information sent by the third process is received, wherein the response result of the merge request information indicates that the structure of the modified data object in the first space has been merged into the second space; A deletion instruction is sent to the fourth process, causing the fourth process to delete the mapping relationship in the permission list, so that the permissions of the data object structure do not belong to the tenant.

10. The method according to any one of claims 5 to 9, characterized in that, The data permission identifier includes: a type identifier, a data object identifier, and a time period identifier, wherein the type identifier indicates the type of the data object's structure, the data object identifier indicates the structure of the data object, and the time period identifier indicates the preset time period.

11. The method according to any one of claims 1 to 10, characterized in that, Before sending the merge instruction to the third process, the method further includes: determining that the tenant has permission to possess the structure of the data object; Based on the merge request information, a merge instruction is generated, wherein the merge instruction instructs the third process to update the structure of the data object in the second space according to the structure of the modified data object obtained, so as to modify the structure of the data object in the second space in accordance with the manner requested by the modification request information.

12. The method according to any one of claims 1 to 11, characterized in that, The first server, the second server, the third server, and the fourth server are four different servers; or, At least two of the first server, the second server, the third server, and the fourth server are the same server.

13. A data processing method, characterized in that, A second process applied in a second server, wherein the memory space of the second server includes a first space managed by the second process, and the first space is tenant space allocated by the second server to tenants, the method comprising: The system receives a modification instruction corresponding to a modification request information sent by a first process in a first server. The modification request information is information indicating that the tenant requests modification of the structure of a data object. The modification instruction is an instruction generated by the first process based on the modification request information, provided that the tenant has permission to modify the structure of the data object. The permission to modify the structure of the data object belongs to one tenant for a period of time. The modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object. The structure of the data object in the first space is obtained from the second space managed by a third process in a third server. According to the modification instruction, the structure of the data object in the first space is modified to obtain the modified structure of the data object. This allows the third process, upon receiving a merge instruction corresponding to the merge request information sent by the first process, to update the structure of the data object in the second space based on the obtained modified data object structure, thereby modifying the structure of the data object in the second space according to the method requested by the modification request information. The merge request information is information from the tenant requesting an update of the structure of the data object in the second space based on the modified data object structure in the first space. The merge instruction instructs the third process to merge the modified data object structure into the second space in a semantic manner, wherein the semantic manner indicates that the identifier corresponding to the modified data object structure is the same as the identifier corresponding to the data object structure in the second space. The structure of the data object is stored in the hard disk space of the third server in an isolated storage manner. The reference information of the data object is stored in the first storage block, the attributes of the data object are stored in the second storage block, and the logic of the data object is stored in the third storage block. The reference information is used to locate the storage block where the attributes are stored and the storage block where the logic is stored.

14. The method according to claim 13, characterized in that, The modification request information includes: a data object identifier, a tenant identifier of the tenant, and a modification method for modifying the structure of the data object, wherein the data object identifier indicates the structure of the data object, and the tenant identifier of the tenant indicates the tenant; The merge request information includes: the data object identifier, the address of the first space, and the address of the second space.

15. The method according to claim 13 or 14, characterized in that, The data object includes attributes and logic, whereby the attributes represent the category of the data object and the logic represents the function of the data object. The structure of the data object includes any of the following structures: the attribute, logical name, input parameter, output parameter, or logical body, wherein the logic includes: the logical name, the input parameter, the output parameter, and the logical body.

16. The method according to any one of claims 13 to 15, characterized in that, After modifying the structure of the data object in the first space to obtain the modified structure of the data object, the method further includes: The modified data object structure in the first space is stored in the shared space of the second server, so that the third process can obtain the modified data object structure by accessing the shared space, wherein the shared space is the space that can be accessed by the second process and the third process.

17. The method according to any one of claims 13 to 15, characterized in that, After modifying the structure of the data object in the first space to obtain the modified structure of the data object, the method further includes: Receive read request information sent by the third process, wherein the read request information requests to read the structure of the modified data object in the first space; The response result of the read request information is sent to the third process, so that the third process obtains the structure of the modified data object based on the received response result of the read request information, wherein the response result of the read request information includes the structure of the modified data object.

18. The method according to any one of claims 13 to 17, characterized in that, Before modifying the structure of the data object in the first space according to the modification instruction to obtain the modified structure of the data object, the method further includes: Based on the first storage information, the structure of the data object in the second space is obtained, wherein the first storage information indicates the storage location of the structure of the data object in the second space; The structure of the acquired data object is stored in the first space.

19. The method according to any one of claims 13 to 18, characterized in that, After the third process receives a merge instruction corresponding to the merge request information sent by the first process, and updates the structure of the data object in the second space according to the obtained modified data object structure, the method further includes: Delete the structure of the modified data object in the first space.

20. A data processing method, characterized in that, The method, which applies to a third process in a third server and manages the structure of a second space storing data objects, includes: The system receives a merge instruction corresponding to a merge request message sent by a first process in a first server. The merge request message is a tenant requesting an update of the structure of a data object in a second space based on the modified structure of the data object in the first space. The first space is a tenant space allocated to the tenant by a second server, and the memory space of the second server includes the first space. A second process in the second server manages the first space. The merge instruction is an instruction generated by the first process based on the merge request message when the tenant possesses the structure of the data object. The merge instruction instructs the third process to update the structure of the data object in the second space based on the obtained modified structure of the data object, modifying the structure of the data object in the second space according to the modification request message sent by the tenant, where the modification request message is the tenant's request to modify the structure of the data object. Furthermore, the third process merges the modified structure of the data object into the second space in a semantic manner, where the semantic manner indicates that the identifier corresponding to the modified data object's structure is the same as the identifier corresponding to the structure of the data object in the second space. According to the merge instruction, the structure of the data object in the second space is updated using the obtained modified data object structure, so as to modify the structure of the data object in the second space in the manner requested by the modification request information; The structure of the data object is stored in the hard disk space of the third server in an isolated storage manner. The reference information of the data object is stored in the first storage block, the attributes of the data object are stored in the second storage block, and the logic of the data object is stored in the third storage block. The reference information is used to locate the storage block where the attributes are stored and the storage block where the logic is stored.

21. The method according to claim 20, characterized in that, The modification request information includes: a data object identifier, a tenant identifier of the tenant, and a modification method for modifying the structure of the data object, wherein the data object identifier indicates the structure of the data object, and the tenant identifier of the tenant indicates the tenant; The merge request information includes: the data object identifier, the address of the first space, and the address of the second space.

22. The method according to claim 20 or 21, characterized in that, The data object includes attributes and logic, whereby the attributes represent the category of the data object and the logic represents the function of the data object. The structure of the data object includes any of the following structures: the attribute, logical name, input parameter, output parameter, or logical body, wherein the logic includes: the logical name, the input parameter, the output parameter, and the logical body.

23. The method according to any one of claims 20 to 22, characterized in that, The structure of the data object is stored in the storage block of the hard disk space included in the third server in the form of a file. Before updating the structure of the data object in the second space using the obtained modified data object structure according to the merge instruction, the method further includes: The structure of the data object is read from the storage block according to the second storage information, wherein the second storage information includes: file name information and storage block information, the file indicated by the file name information stores the structure of the data object, and the storage block information indicates the storage block; The structure of the read data object is stored in the second space.

24. The method according to any one of claims 20 to 23, characterized in that, Before updating the structure of the data object in the second space according to the merge instruction using the obtained modified data object structure, the method further includes: The second process accesses the shared space of the second server and obtains the structure of the modified data object from the shared space. The second process stores the structure of the modified data object in the first space into the shared space, which is a space accessible to both the second process and the third process.

25. The method according to any one of claims 20 to 23, characterized in that, Before updating the structure of the data object in the second space according to the merge instruction using the obtained modified data object structure, the method further includes: Send a read request message to the second process, wherein the read request message requests to read the structure of the modified data object in the first space; The response result of the read request information sent by the second process is received, wherein the response result of the read request information includes the structure of the modified data object; Based on the response result of the read request information, obtain the structure of the modified data object.

26. The method according to any one of claims 20 to 25, characterized in that, After updating the structure of the data object in the second space according to the merging instruction and using the obtained modified data object structure, the method further includes: A response result of the merge request information is sent to the first process, wherein the response result of the merge request information indicates that the structure of the modified data object in the first space has been merged into the second space.

27. A data processing apparatus, characterized in that, The apparatus is applied to a first process in a first server, and includes: The transceiver unit is used to: receive modification request information sent by the tenant, wherein the modification request information is information in which the tenant requests to modify the structure of the data object, and the memory space of the second server includes the first space managed by the second process in the second server, and the first space is the tenant space allocated by the second server to the tenant. The transceiver unit is further configured to: when the tenant has permission to access the structure of the data object, send a modification instruction corresponding to the modification request information to the second process, so that the second process modifies the structure of the data object in the first space to obtain the modified structure of the data object, wherein the structure of the data object in the first space is obtained from the second space managed by the third process in the third server, and the permission to access the structure of the data object belongs to a tenant for a period of time. The transceiver unit is further configured to: receive merge request information sent by the tenant, wherein the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the structure of the modified data object in the first space; The transceiver unit is further configured to: when the tenant has permission to access the structure of the data object, send a merge instruction corresponding to the merge request information to the third process, wherein the merge instruction instructs the third process to merge the structure of the modified data object into the second space in a semantic manner, wherein the semantic manner instructs the identifier corresponding to the structure of the modified data object to be the same as the identifier corresponding to the structure of the data object in the second space, so that the third process updates the structure of the data object in the second space according to the obtained structure of the modified data object, so as to modify the structure of the data object in the second space in accordance with the manner requested by the modification request information; The structure of the data object is stored in the hard disk space of the third server in an isolated storage manner. The reference information of the data object is stored in the first storage block, the attributes of the data object are stored in the second storage block, and the logic of the data object is stored in the third storage block. The reference information is used to locate the storage block where the attributes are stored and the storage block where the logic is stored.

28. A data processing apparatus, characterized in that, A second process applied in a second server, the memory space of the second server including a first space managed by the second process, and the first space being tenant space allocated by the second server to tenants, the apparatus comprising: The transceiver unit is used to: receive a modification instruction corresponding to a modification request information sent by a first process in a first server, wherein the modification request information is information from the tenant requesting modification of the structure of a data object, and the modification instruction is an instruction generated by the first process based on the modification request information when the tenant has permission to modify the structure of the data object; the permission to modify the structure of the data object belongs to one tenant for a period of time; the modification instruction instructs the second process to modify the structure of the data object in the first space to obtain the modified structure of the data object, and the structure of the data object in the first space is obtained from the second space managed by the third process in a third server; The processing unit is configured to: modify the structure of the data object in the first space according to the modification instruction to obtain the modified structure of the data object, so that when the third process receives the merge instruction corresponding to the merge request information sent by the first process, it updates the structure of the data object in the second space according to the obtained modified structure of the data object, so as to modify the structure of the data object in the second space in accordance with the manner requested by the modification request information; wherein, the merge request information is information in which the tenant requests to update the structure of the data object in the second space according to the modified structure of the data object in the first space, and the merge instruction instructs the third process to merge the modified structure of the data object into the second space in a semantic manner, wherein the semantic manner instructs the identifier corresponding to the structure of the modified data object to be the same as the identifier corresponding to the structure of the data object in the second space; The structure of the data object is stored in the hard disk space of the third server in an isolated storage manner. The reference information of the data object is stored in the first storage block, the attributes of the data object are stored in the second storage block, and the logic of the data object is stored in the third storage block. The reference information is used to locate the storage block where the attributes are stored and the storage block where the logic is stored.

29. A data processing apparatus, characterized in that, The apparatus includes a third process applied in a third server, wherein the third process manages the structure of a second space storing data objects, and the apparatus comprises: The transceiver unit is configured to: receive a merge instruction corresponding to a merge request message sent by a first process in a first server, wherein the merge request message is information from a tenant requesting an update of the structure of the data object in the second space based on the modified structure of the data object in the first space; the first space is a tenant space allocated to the tenant by a second server, the memory space of the second server includes the first space, and the second process in the second server manages the first space; the merge instruction is an instruction generated by the first process based on the merge request message when the tenant possesses the structure of the data object; the merge instruction instructs: the third process to update the structure of the data object in the second space based on the obtained modified structure of the data object, so as to modify the structure of the data object in the second space according to the modification request message sent by the tenant, wherein the modification request message is information from the tenant requesting a modification of the structure of the data object; and the third process merges the modified structure of the data object into the second space in a semantic manner, wherein the semantic manner indicates that the identifier corresponding to the structure of the modified data object is the same as the identifier corresponding to the structure of the data object in the second space; The processing unit is configured to: update the structure of the data object in the second space according to the merge instruction and using the structure of the modified data object obtained, so as to modify the structure of the data object in the second space in accordance with the manner requested by the modification request information; The structure of the data object is stored in the hard disk space of the third server in an isolated storage manner. The reference information of the data object is stored in the first storage block, the attributes of the data object are stored in the second storage block, and the logic of the data object is stored in the third storage block. The reference information is used to locate the storage block where the attributes are stored and the storage block where the logic is stored.

30. An electronic device, characterized in that, include: The memory and the processor are coupled; The memory is used to store one or more computer instructions; The processor is configured to execute one or more computer instructions to implement the method as described in any one of claims 1 to 26.

31. A computer-readable storage medium storing one or more computer instructions thereon, characterized in that, The instruction is executed by the processor to implement the method as described in any one of claims 1 to 26.