CN112800122B - Data processing method and device and electronic equipment - Google Patents

Data processing method and device and electronic equipment Download PDF

Info

Publication number
CN112800122B
CN112800122B CN202110172696.6A CN202110172696A CN112800122B CN 112800122 B CN112800122 B CN 112800122B CN 202110172696 A CN202110172696 A CN 202110172696A CN 112800122 B CN112800122 B CN 112800122B
Authority
CN
China
Prior art keywords
tenant
data
target
application
data model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110172696.6A
Other languages
Chinese (zh)
Other versions
CN112800122A (en
Inventor
郑浩锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110172696.6A priority Critical patent/CN112800122B/en
Publication of CN112800122A publication Critical patent/CN112800122A/en
Application granted granted Critical
Publication of CN112800122B publication Critical patent/CN112800122B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2393Updating materialised views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the invention discloses a data processing method, a data processing device and electronic equipment. One embodiment of the method comprises the following steps: receiving a data operation request sent by a first tenant, wherein the data operation request comprises model identification information of a target data model and operation data of target operation, and the target data model is used for describing a target data object associated with a second tenant in a first tenant application; forwarding the data operation request to the first tenant application so that the first tenant application executes target operation on target tenant data associated with the target data model; and in response to receiving the operation result data sent by the first tenant application, feeding back the operation result data to the first tenant. Thus, on the premise of abstracting the data object into a data model, the first tenant operates target tenant data generated by the second tenant in the first tenant application. Thus, a new way for a first tenant to operate on target tenant data of a second tenant is provided.

Description

Data processing method and device and electronic equipment
Technical Field
Embodiments of the present disclosure relate to the field of computer technologies, and in particular, to a data processing method, a data processing device, and an electronic device.
Background
SaaS (Software-as-a-Service) is a Service mode that provides Software services to tenants. Generally, the SaaS platform formulates personalized software according to the needs of tenants, and deploys the formulated software on its own server. Meanwhile, the SaaS platform maintains software rented by the tenant.
Therefore, the tenant only needs to operate the software deployed in the server of the SaaS platform, and does not need to be additionally provided with the server deployment software. Therefore, the cost of the tenant provisioning server, maintenance software and the like can be saved.
In practice, tenant data of a tenant is generated in the process that the tenant uses software. In the related art, the manner in which the first tenant operates the tenant data of the second tenant is relatively single.
Disclosure of Invention
This disclosure is provided in part to introduce concepts in a simplified form that are further described below in the detailed description. This disclosure is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The embodiment of the disclosure provides a data processing method, a data processing device and electronic equipment, and provides a new mode for a first tenant to operate target tenant data of a second tenant.
In a first aspect, embodiments of the present disclosure provide a data processing method, the method including: receiving a data operation request sent by a first tenant, wherein the data operation request comprises model identification information of a target data model and operation data of target operation, and the target data model is used for describing a target data object associated with a second tenant in a first tenant application; forwarding the data operation request to the first tenant application so that the first tenant application executes target operation on target tenant data associated with the target data model; and in response to receiving the operation result data sent by the first tenant application, feeding back the operation result data to the first tenant.
In a second aspect, embodiments of the present disclosure provide a data processing apparatus including a receiving unit, a forwarding unit, and a transmitting unit. The system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for receiving a data operation request sent by a first tenant, the data operation request comprises model identification information of a target data model and operation data of target operation, and the target data model is used for describing a target data object associated with a second tenant in a first tenant application; a forwarding unit, configured to forward the data operation request to the first tenant application, so that the first tenant application performs the target operation on target tenant data associated with the target data model; and the sending unit is used for responding to the received operation result data sent by the first tenant application and feeding back the operation result data to the first tenant.
In a third aspect, embodiments of the present disclosure provide an electronic device, comprising: one or more processors; storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the data processing method as described in the first aspect.
In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium, on which a computer program is stored which, when executed by a processor, implements the steps of the data processing method according to the first aspect.
The data processing method, the data processing device and the electronic equipment provided by the embodiment of the disclosure can firstly receive a data operation request sent by a first tenant. The data manipulation request includes model identification information of the target data model and manipulation data of the target manipulation. The target data model is used to describe target data objects associated with a second tenant in the first tenant application. The data operation request may then be forwarded to a first tenant application to cause the first tenant application to perform the target operation on target tenant data associated with the target data model. Thus, in response to receiving the operation result data sent by the first tenant application, the operation result data is fed back to the first tenant. Thus, on the premise of abstracting the data object into a data model, the first tenant operates target tenant data generated by the second tenant in the first tenant application. Thus, a new way for a first tenant to operate on target tenant data of a second tenant is provided.
Drawings
The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. The same or similar reference numbers will be used throughout the drawings to refer to the same or like elements. It should be understood that the figures are schematic and that elements and components are not necessarily drawn to scale.
FIG. 1 is a flow chart of some embodiments of a data processing method according to the present disclosure;
FIG. 2 is a schematic diagram of tenant data in some application scenarios of a data processing method according to the present disclosure;
FIG. 3 is a schematic diagram of the structure of some embodiments of a data processing apparatus according to the present disclosure;
FIG. 4 is an exemplary system architecture in which data processing methods of some embodiments of the present disclosure may be applied;
fig. 5 is a schematic diagram of a basic structure of an electronic device provided according to some embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
Referring to FIG. 1, a flow chart of some embodiments of a data processing method according to the present disclosure is shown. As shown in fig. 1, the data processing method includes the steps of:
step 101, receiving a data operation request sent by a first tenant.
In this embodiment, an execution body of the data processing method (for example, ESB4021 shown in fig. 4) may receive a data operation request sent by the first tenant.
The tenant may be an enterprise, organization, etc. that rents the tenant application. The tenant application may be various applications that provide services to the tenant. For example, the tenant application may be an ERP (Enterprise Resource Planning ) system, an OA (Office Automation, office automation) system, or the like. Optionally, the enterprise service bus (Enterprise Service Bus, ESB) is integrated with at least one tenant application rented to the tenant.
The data manipulation request includes model identification information of the target data model and manipulation data of the target manipulation.
A Data Model (Data Model) is one way to describe Data objects. Generally, a field name for describing a field of a data object may be included in a data model. Data objects are a variety of objects that can be described. For example, the data object may be an employee, a department, an enterprise, or the like. As an example, in a data model for describing a data object "employee", it may include, but is not limited to, describing at least one of the following field names: employee name, employee gender, employee job number, department to which the employee belongs, employee time of job entry. For another example, the data objects may be tables, articles, files, and the like. As an example, in a data model for describing a data object "article" may include, but is not limited to, describing at least one of the following field names: article title, article author, article publication time, article body.
The target data model is used to describe target data objects associated with a second tenant in the first tenant application.
The first tenant application may be a tenant application rented by the second tenant.
In practice, different tenants of the same tenant application may associate the same data object. For example, tenant a and tenant B of the same tenant application may both associate a data object "employee". In general, if a plurality of tenants rents the same tenant application, tenant data generated in the tenant application by each tenant is stored separately.
Typically, a field name is included in the data model to describe the data object. The tenant data associated with the data model contains a field name and a field value corresponding to the field name. As an example, fig. 2 shows tenant data associated with a data model describing a digital object "employee", in which tenant data includes field names "employee name", "employee gender" and "employee job number", field values corresponding to "employee name" include "Zhang San", "Lifour", "employee gender" include "man", "woman", "employee job number" include "0012", "0013".
The model identification information may be information that uniquely identifies the data model. For example, the model identification information may be the name, coding, etc. of the data model.
The target operations may be various operations performed on tenant data, including but not limited to at least one of: the method comprises a data adding operation, a data deleting operation, a data updating operation and a data inquiring operation. The data adding operation may be an operation of adding data in tenant data. As an example, data such as name, sex, job number, belonging department, job time, and the like of Zhang three are added to tenant data. The data deletion operation may be an operation of deleting data from tenant data. As an example, the data of the name, sex, job number, belonging department, job time, and the like of the fourth prune is deleted from the tenant data. The data update operation may be an operation of updating data in tenant data. As an example, the job entry time for sheet three is updated to "2021-1-1" in tenant data. The data query operation may be an operation to query data from tenant data. As an example, departments to which employees of no more than 28 age belong are queried from tenant data.
Step 102, forwarding the data operation request to the first tenant application, so that the first tenant application executes the target operation on target tenant data associated with the target data model.
In this embodiment, the execution body may forward the data operation request to the first tenant application. Further, the first tenant application may perform the target operation on target tenant data associated with the target data model.
Step 103, in response to receiving the operation result data sent by the first tenant application, feeding back the operation result data to the first tenant.
In this embodiment, in response to receiving the operation result data sent by the first tenant application, the execution body may feed back the operation result data to the first tenant.
The operation result data may characterize an operation result of the first tenant application performing the target operation on the target tenant data.
As an example, if the target operation is to query for employee names of employees exceeding 26 in age, the target operation is to query for employee names of employees exceeding 26 in age from tenant data. Accordingly, the operation result data may include employee names of employees who are queried for ages exceeding 26.
In this embodiment, the data operation request sent by the first tenant includes model identification information of the target data model and operation data of the target operation. First, the execution body determines target tenant data associated with a target data model according to model identification information, and forwards the operation data to a first tenant application. Then, the first tenant application executes target operation on the target tenant data, and obtains operation result data. Further, the execution body feeds back the operation result data to the first tenant. Thus, on the premise of abstracting the data object into a data model, the first tenant operates target tenant data generated by the second tenant in the first tenant application. Thus, a new way for a first tenant to operate on target tenant data of a second tenant is provided.
In practical applications, updating of data objects is achieved by changing fields in the data model, rather than by changing more code. Thus, the efficiency of updating the data object can be improved. Therefore, the efficiency of maintaining the tenant application by the SaaS can be improved.
In some embodiments, the above-described operational data includes: a target field name, an operator describing the target operation, a field value interval for which the target operation is directed.
The operators describing the target operations may be set according to specific needs, and are not particularly limited herein.
At this time, the execution body may execute the step 102 as follows.
Specifically, the data operation request is forwarded to the first tenant application, so that the first tenant application executes the target operation on the target tenant data according to the target field name, the operator and the field value interval.
As an example, the above operation data includes "employee age=" >26"", where "employee age" is a field name, "=" is an operator describing a query, ">26" indicates that a field value interval of the query employee age is greater than 26. Thus, the first tenant application may query the target tenant data for relevant data for employees whose employees are older than 26.
Therefore, the efficiency of the first tenant application to execute the target operation on the target tenant data can be improved by restricting the format of the operation data contained in the data operation request.
In some embodiments, the target data model has a nested data model.
The nested data model may be a data model nested in a target data model. As an example, in a data model for describing "departments", a data model for describing "employees" may be nested.
The target tenant data includes at least one of: first target tenant data associated with the target data model, and second target tenant data associated with the nested data model.
The operation result data includes at least one of: first operation result data obtained for first target tenant data; and second operation result data obtained for the second target tenant data.
The first operation result data is operation result data obtained by performing a target operation on the first target tenant data. The second operation result data is operation result data obtained by performing the target operation on the second target tenant data.
As can be seen, if the data operation request relates to the nested data model, the first tenant application may perform the target operation on the second target tenant data, so as to obtain second operation result data. Thus, the first tenant can execute the target operation on the second target tenant data associated with the nested data model.
In some embodiments, the data manipulation request is sent by the first tenant using a view interface for accessing the target data model.
In general, a second tenant may provide a view interface of the target data model to the first tenant. The first tenant may send a data operation request to perform a target operation on target tenant data associated with a target data model using the view interface.
In some embodiments, the target tenant application rented by the first tenant is a second tenant application or a first tenant application.
It can be seen that the first tenant and the second tenant may rent the same tenant application, or may rent different tenant applications. If the first tenant rents the second tenant application, the first tenant can execute the target operation on the target tenant data generated by the second tenant under the first tenant application by sending the data operation request. Therefore, the purpose operation of executing the tenant across the tenant application can be realized.
In some embodiments, tenant application data of different sub-tenants under the same tenant in the same tenant application is stored separately.
In some scenarios, there are multiple sub-tenants under the same tenant. As an example, both the subsidiary A1 and the subsidiary A2 of the enterprise a rent the tenant application X, and at this time, the subsidiary A1 and the subsidiary A2 are different sub-tenants of the tenant application X.
The first tenant and the second tenant are different sub-tenants of the first tenant application under the same tenant.
By storing tenant application data of different sub-tenants respectively, the tenant application data of different sub-tenants can be prevented from being mixed. Therefore, when operation needs to be performed on the tenant application data of a certain sub-tenant, the tenant application data of the sub-tenant can be quickly searched. Therefore, the efficiency of executing the operation on the tenant application data of the sub-tenant can be improved.
Therefore, if the first tenant and the second tenant are different sub-tenants, the efficiency of executing the target operation on the target tenant data can be improved by respectively managing the tenant application data of the first tenant and the second tenant.
In some embodiments, the data operation request further includes at least one of: storage location information of the target data model, application identification information of the first tenant application.
The storage location information of the data model may characterize the storage location of the data model in the database. The identification information of the tenant application may be information that uniquely identifies the tenant application.
In some embodiments, the data model is stored at least one data source.
In some embodiments, the execution body may execute the step 102 according to the following steps S1 and S2.
Step S1, determining whether the first tenant has the access right of the target data model.
And step S2, in response to the first tenant having the access right of the target data model, forwarding the data operation request to the first tenant application.
Thus, when the first tenant has the access right of the target data model, the first tenant can execute the target operation on the target tenant data associated with the target data model. Therefore, leakage or tampering of tenant data can be avoided.
In some embodiments, the data operation request further includes authentication information encrypted with a public key of the second tenant.
The authentication information may be information authenticating access rights of the data model.
Authentication information may be preset for the second tenant. In practice, the authentication information of the tenant may be set according to specific requirements, which is not specifically limited herein.
At this time, the execution body may execute the step S1 as follows.
And firstly, decrypting the encrypted authentication information by using the private key of the second tenant.
And a second step of determining that the first tenant has the access right in response to the decrypted authentication information being authentication information preset for the second tenant.
Thus, whether the first tenant accessing the target data model has access rights is determined by using the public key and the private key of the second tenant. Therefore, the security of the target tenant data associated with the target data model can be further ensured.
In some embodiments, tenant conditions that can access tenants are preset for the target data model.
The accessible tenant is the tenant that can access the target data model.
Optionally, the tenant condition includes: an accessible tenant is a predetermined sub-tenant of a predetermined tenant application. The predetermined tenant application may be a tenant application specified by the second tenant. The predetermined sub-tenant may be a sub-tenant designated by the second tenant.
At this time, the execution body may execute the step S1 as follows.
Specifically, in response to the first tenant satisfying the tenant condition, it is determined that the first tenant has access rights.
It can be seen that, when the first tenant satisfies the tenant condition preset for the target data model, the target operation can be performed on the target tenant data associated with the target data model.
Therefore, the security of the target tenant data associated with the target data model is ensured by presetting the tenant condition of the accessible tenant.
With further reference to fig. 3, as an implementation of the method shown in the above figures, the present disclosure provides some embodiments of a data processing apparatus, where the apparatus embodiments correspond to the method embodiments shown in fig. 1, and the apparatus is particularly applicable to various electronic devices.
As shown in fig. 3, the data processing apparatus of the present embodiment includes: a receiving unit 301, a forwarding unit 302, and a transmitting unit 303. The receiving unit 301 is configured to: and receiving a data operation request sent by a first tenant, wherein the data operation request comprises model identification information of a target data model and operation data of the target operation, and the target data model is used for describing a target data object associated with a second tenant in the first tenant application. The forwarding unit 302 is configured to: and forwarding the data operation request to the first tenant application so that the first tenant application can execute the target operation on target tenant data associated with the target data model. The transmitting unit 303 is configured to: and in response to receiving the operation result data sent by the first tenant application, feeding back the operation result data to the first tenant.
In this embodiment, the specific processing of the receiving unit 301, the forwarding unit 302, and the transmitting unit 303 of the data processing apparatus and the technical effects thereof may refer to the descriptions related to the steps 101, 102, and 103 in the corresponding embodiment of fig. 1, and are not repeated here.
In some embodiments, the operational data includes: a target field name in the target data model, describing an operator of the target operation, wherein the field value interval is aimed by the target operation; the forwarding unit 302 is further configured to: and forwarding the data operation request to the first tenant application, so that the first tenant application executes the target operation on the target tenant data according to the target field name, the operator and the field value interval.
In some embodiments, the target data model has a nested data model; the target tenant data includes at least one of: first target tenant data associated with the target data model, and second target tenant data associated with the nested data model; the operation result data includes at least one of: first operation result data obtained for the first target tenant data; and second operation result data obtained for the second target tenant data.
In some embodiments, the above data operation request is sent by the first tenant using a view interface for accessing the target data model.
In some embodiments, the target tenant application rented by the first tenant is a second tenant application or the first tenant application.
In some embodiments, tenant application data of different sub-tenants under the same tenant in the same tenant application is stored respectively; the first tenant and the second tenant are different sub-tenants of the first tenant application under the same tenant.
In some embodiments, the data operation request further includes at least one of: and storing position information of the target data model, and application identification information of the first tenant application.
In some embodiments, the enterprise service bus is integrated with at least one tenant application rented to a tenant.
In some embodiments, forwarding unit 302 is further to: determining whether the first tenant has access rights to the target data model; and in response to the first tenant having the access right of the target data model, forwarding the data operation request to the first tenant application.
In some embodiments, the data manipulation request further includes authentication information encrypted with the public key of the second tenant; the forwarding unit 302 is further configured to: decrypting the encrypted authentication information by using the private key of the second tenant; and determining that the first tenant has the access right according to the decrypted authentication information which is preset for the second tenant.
In some embodiments, tenant conditions of accessible tenants are preset for the target data model; the forwarding unit 302 is further configured to: and in response to the first tenant satisfying the tenant condition, determining that the first tenant has the access right.
With further reference to fig. 4, fig. 4 illustrates an exemplary system architecture in which the data processing methods of some embodiments of the present disclosure may be applied.
As shown in fig. 4, the system architecture may include a terminal device 401 and a server 402. The server 402 is provided with an ESB4021. The ESB4021 integrates at least one tenant application, such as tenant application 4022 and tenant application 4023 shown in the figure.
The terminal device 401 and the server 402 interact through a network. In practice, the network may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
As an example, if the tenant application 4022 is a tenant application rented by a second tenant, the target data model is used to describe a target data object associated with the second tenant in the tenant application 4022. The first tenant may send a data manipulation request to the server 402 via the terminal device 401 using a view interface for accessing the target data model. The data manipulation request includes model identification information of the target data model and manipulation data of the target manipulation. Further, server 402 may forward the operation request to tenant application 4022 through ESB 4021. The tenant application 4022 may perform a target operation on target tenant data associated with the target data model, and send operation result data to the ESB 4021. Thus, the server 402 may feed back the operation result data received by the ESB4021 to the terminal device 401 (i.e., to the first tenant).
The terminal device 401 may be hardware or software. When the terminal device 401 is hardware, it may be various electronic devices having a display screen and supporting information interaction, including but not limited to a smart phone, a tablet computer, a laptop portable computer, a desktop computer, and the like. When the terminal device 401 is software, it can be installed in the above-listed electronic devices. Which may be implemented as a plurality of software or software modules, or as a single software or software module. The present invention is not particularly limited herein.
The server 402 may be hardware or software. When the server 402 is hardware, it may be implemented as a distributed server cluster formed by a plurality of servers, or as a single server. When the server 402 is software, it may be implemented as a plurality of software or software modules (e.g., a plurality of software or software modules for providing distributed services), or as a single software or software module. The present invention is not particularly limited herein.
It should be noted that, the data processing method provided by the embodiment of the present disclosure may be executed by the server 402, and accordingly, the data processing apparatus may be disposed in the server 402.
It should be understood that the number of terminal devices and servers in fig. 4 is merely illustrative. There may be any number of terminal devices and servers, as desired for implementation.
Referring now to fig. 5, a schematic diagram of an electronic device (e.g., the server of fig. 4) suitable for use in implementing some embodiments of the present disclosure is shown. Terminal devices in some embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), car terminals (e.g., car navigation terminals), and the like, as well as stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 5 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments. The electronic device shown in fig. 5 is merely an example and should not impose any limitations on the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 5, the electronic device may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 501, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device are also stored. The processing device 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
In general, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 507 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 508 including, for example, magnetic tape, hard disk, etc.; and communication means 509. The communication means 509 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. While fig. 5 shows an electronic device having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead. Each block shown in fig. 5 may represent one device or a plurality of devices as needed.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 509, or from the storage means 508, or from the ROM 502. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing device 501.
It should be noted that the computer readable medium according to some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, the computer-readable signal medium may comprise a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be included in the electronic device or may exist alone without being incorporated into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receiving a data operation request sent by a first tenant, wherein the data operation request comprises model identification information of a target data model and operation data of target operation, and the target data model is used for describing a target data object associated with a second tenant in a first tenant application; forwarding the data operation request to the first tenant application so that the first tenant application executes target operation on target tenant data associated with the target data model; and in response to receiving the operation result data sent by the first tenant application, feeding back the operation result data to the first tenant.
Computer program code for carrying out operations for some embodiments of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in some embodiments of the present disclosure may be implemented by means of software, or may be implemented by means of hardware. The names of these units do not constitute a limitation on the unit itself in some cases, and for example, the receiving unit may also be described as a unit that "receives the data operation request sent by the first tenant".
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by those skilled in the art that the scope of the disclosure in the embodiments of the disclosure is not limited to the specific combination of features described above, but encompasses other technical solutions formed by any combination of features described above or their equivalents without departing from the spirit of the disclosure. Such as those described above, are provided in the present disclosure in place of, but not limited to, features having similar functions.
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims.

Claims (15)

1. A method of data processing, comprising:
receiving a data operation request sent by a first tenant, wherein the data operation request comprises model identification information of a target data model and operation data of the target operation, the target data model is used for describing a target data object associated with a second tenant in a first tenant application, the first tenant and the second tenant rent the tenant application, the first tenant application is the tenant application rented by the second tenant, and the target operation is an operation executed on the tenant data;
forwarding the data operation request to the first tenant application so that the first tenant application executes the target operation on target tenant data associated with the target data model, wherein the target data model comprises a field name for describing a data object, and the target tenant data associated with the target data model comprises the field name and a field value corresponding to the field name;
And in response to receiving operation result data sent by the first tenant application, feeding back the operation result data to the first tenant, wherein the operation result data characterizes an operation result of the first tenant application on the target tenant data for executing the target operation.
2. The method of claim 1, wherein the operational data comprises: a target field name in the target data model, describing an operator of the target operation, wherein the field value interval is aimed by the target operation;
the forwarding the data operation request to the first tenant application, so that the first tenant application performs the target operation on target tenant data associated with the target data model, including:
and forwarding the data operation request to the first tenant application, so that the first tenant application executes the target operation on the target tenant data according to the target field name, the operator and the field value interval.
3. The method of claim 1, wherein the target data model has a nested data model, the nested data model being a data model nested in the target data model;
The target tenant data includes at least one of: first target tenant data associated with the target data model, and second target tenant data associated with the nested data model;
the operation result data includes at least one of: first operation result data obtained for the first target tenant data; and second operation result data obtained for the second target tenant data.
4. The method of claim 1, wherein the data operation request is sent by the first tenant using a view interface for accessing the target data model.
5. The method of claim 1, wherein the target tenant application rented by the first tenant is a second tenant application or the first tenant application.
6. The method of claim 1, wherein tenant data of different sub-tenants under the same tenant in the same tenant application are stored separately; the first tenant and the second tenant are different sub-tenants of the first tenant application under the same tenant.
7. The method of claim 1, wherein the data operation request further comprises at least one of: and storing position information of the target data model, and application identification information of the first tenant application.
8. The method of claim 1, wherein the enterprise service bus is integrated with at least one tenant application rented to a tenant.
9. The method of claim 1, wherein the target data model is stored in at least one data source.
10. The method of claim 1, wherein forwarding the data operation request to the first tenant application comprises:
determining whether the first tenant has access rights to the target data model;
and in response to the first tenant having the access right of the target data model, forwarding the data operation request to the first tenant application.
11. The method of claim 10, wherein the data operation request further comprises authentication information encrypted with a public key of the second tenant;
the determining whether the first tenant has access rights to the target data model includes:
decrypting the encrypted authentication information by using the private key of the second tenant;
and determining that the first tenant has the access right according to the decrypted authentication information which is preset for the second tenant.
12. The method of claim 10, wherein tenant conditions for accessible tenants are preset for the target data model;
the determining whether the first tenant has access rights to the target data model includes:
and in response to the first tenant satisfying the tenant condition, determining that the first tenant has the access right.
13. A data processing apparatus, comprising:
a receiving unit, configured to receive a data operation request sent by a first tenant, where the data operation request includes model identification information of a target data model and operation data of a target operation, the target data model is used to describe a target data object associated with a second tenant in a first tenant application, the first tenant and the second tenant rent the tenant application, the first tenant application is a tenant application rented by the second tenant, and the target operation is an operation performed on tenant data;
a forwarding unit, configured to forward the data operation request to the first tenant application, so that the first tenant application executes the target operation on target tenant data associated with the target data model, where the target data model includes a field name for describing a data object, and the target tenant data associated with the target data model includes the field name and a field value corresponding to the field name;
And the sending unit is used for responding to the received operation result data sent by the first tenant application and feeding back the operation result data to the first tenant, wherein the operation result data represents the operation result of the first tenant application for executing the target operation on the target tenant data.
14. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs,
when executed by the one or more processors, causes the one or more processors to implement the method of any of claims 1-12.
15. A computer readable medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the method according to any one of claims 1-12.
CN202110172696.6A 2021-02-08 2021-02-08 Data processing method and device and electronic equipment Active CN112800122B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110172696.6A CN112800122B (en) 2021-02-08 2021-02-08 Data processing method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110172696.6A CN112800122B (en) 2021-02-08 2021-02-08 Data processing method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN112800122A CN112800122A (en) 2021-05-14
CN112800122B true CN112800122B (en) 2024-01-30

Family

ID=75814814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110172696.6A Active CN112800122B (en) 2021-02-08 2021-02-08 Data processing method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN112800122B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160381A (en) * 2012-03-08 2014-11-19 国际商业机器公司 Managing tenant-specific data sets in a multi-tenant environment
CN109388631A (en) * 2018-10-11 2019-02-26 山东浪潮通软信息科技有限公司 A kind of database of multi-tenant divides library implementation method
CN109510866A (en) * 2018-10-23 2019-03-22 东软集团股份有限公司 For the method for pushing of cloud supplying system, device, storage medium and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9749441B2 (en) * 2009-12-08 2017-08-29 Sap Se Application server runlevel framework
US8819210B2 (en) * 2011-12-06 2014-08-26 Sap Portals Israel Ltd Multi-tenant infrastructure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160381A (en) * 2012-03-08 2014-11-19 国际商业机器公司 Managing tenant-specific data sets in a multi-tenant environment
CN109388631A (en) * 2018-10-11 2019-02-26 山东浪潮通软信息科技有限公司 A kind of database of multi-tenant divides library implementation method
CN109510866A (en) * 2018-10-23 2019-03-22 东软集团股份有限公司 For the method for pushing of cloud supplying system, device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN112800122A (en) 2021-05-14

Similar Documents

Publication Publication Date Title
EP4167102A1 (en) Method and device for updating reference document, electronic device, and storage medium
CN111368519B (en) Method, device, equipment and storage medium for editing online form
US20240126914A1 (en) Method, apparatus and electronic device for data processing
WO2022111290A1 (en) Display method and apparatus, and electronic device
CN110852720A (en) Document processing method, device, equipment and storage medium
CN111241137B (en) Data processing method, device, electronic equipment and storage medium
CN111596992B (en) Navigation bar display method and device and electronic equipment
CN111813685B (en) Automatic test method and device
CN110515909B (en) File storage method and device, electronic equipment and computer storage medium
CN112800122B (en) Data processing method and device and electronic equipment
CN113204790B (en) View authority processing method, device, equipment and medium
CN110941683B (en) Method, device, medium and electronic equipment for acquiring object attribute information in space
CN112507676B (en) Method and device for generating energy report, electronic equipment and computer readable medium
CN110674082B (en) Method and device for removing online document, electronic equipment and computer readable medium
CN112685075A (en) Gray scale distribution method and device, electronic equipment and computer readable medium
CN115034175A (en) Table data processing method, device, terminal and storage medium
CN111240657A (en) Method and device for generating SDK and electronic equipment
CN111628938A (en) Branch merging method and device, electronic equipment and computer storage medium
CN111787043A (en) Data request method and device
CN110633324B (en) Method, apparatus, electronic device and computer readable medium for synchronizing data
CN111581305B (en) Feature processing method, device, electronic equipment and medium
CN115037716B (en) Information processing method, device, terminal and storage medium
CN111291199B (en) Information query method and device
CN111258670B (en) Method and device for managing component data, electronic equipment and storage medium
CN110262756B (en) Method and device for caching data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant