Business processing method and device

By creating a target tablespace for each tenant and setting up basic business tables and extended business fields, combined with a universal data interface and permission verification, the problems of low data isolation level and security in multi-tenant systems are solved, achieving high security and flexible personalized services.

CN114328509BActive Publication Date: 2025-10-03泰康保险集团股份有限公司 +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202111417762.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-25
Publication Date
2025-10-03
Estimated Expiration
2041-11-25

AI Technical Summary

Technical Problem

In the existing technology, the data isolation level and security of multi-tenant systems are low, which makes it difficult to meet the needs of customers with high security requirements.

Method used

By creating a target tablespace for each tenant, setting up basic business tables and adding extended business fields, using common data interfaces to interact with third-party systems, and performing permission verification, data isolation and personalized services can be achieved.

Benefits of technology

It improves the isolation level and security of tenant data, can flexibly adapt to various business scenarios, provide personalized services for multiple tenants, and reduce maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114328509B_ABST
    Figure CN114328509B_ABST
Patent Text Reader

Abstract

The present invention discloses a business processing method and apparatus. A specific embodiment of the method comprises: obtaining the business requirements of a target tenant, determining the business type and extended business fields corresponding to the business requirements; creating a basic business table corresponding to the business type in a target tablespace corresponding to the target tenant, and then adding the extended business fields to the basic business table; and providing the target tenant with the business services corresponding to the business requirements using the basic business table with the extended business fields added. This embodiment of the present invention can provide a higher level of isolation and security for data from different tenants.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a business processing method and device. Background Art

[0002] The service system can provide business data application management and other services to different clients. For example, it provides services such as supplementary medical funds, employee benefits, health management data, and corporate pension data. Currently, the system assigns a tenant ID to each client and uses the tenant IDs in a table to distinguish between different tenants, providing services to multiple clients. However, this solution provides low isolation and security for different tenants' data. Summary of the Invention

[0003] In view of this, an embodiment of the present invention provides a business processing method and apparatus, which can provide a higher level of isolation and security for data of different tenants.

[0004] To achieve the above object, according to one aspect of an embodiment of the present invention, a service processing method is provided, including:

[0005] Obtain the target tenant's business requirements and determine the business type and extended business fields corresponding to the business requirements;

[0006] In the target tablespace corresponding to the target tenant, a basic business table corresponding to the business type is created, and then the extended business field is added to the basic business table;

[0007] The basic business table after adding the extended business field is used to provide the target tenant with business services corresponding to the business needs.

[0008] Optionally, after obtaining the target tenant's business requirements, the method further includes:

[0009] Determine an extended business table corresponding to the business requirement;

[0010] In the target tablespace, creating the extended business table;

[0011] Providing the target tenant with the business service corresponding to the business requirement by using the basic business table after adding the extended business field includes:

[0012] The business service corresponding to the business demand is provided to the target tenant by using the basic business table after adding the extended business field and the extended business table.

[0013] Optionally, before creating a basic business table corresponding to the business type in the target tablespace corresponding to the target tenant, the method further includes:

[0014] Determine the number of tenants associated with the current user;

[0015] When the number of tenants is 1, the table space corresponding to the tenant associated with the current user is determined as the target table space;

[0016] When the number of tenants is greater than 1, a selection instruction issued by a user is received; according to the selection instruction, the target tenant is determined from the multiple tenants associated with the current user, and the tablespace corresponding to the target tenant is determined as the target tablespace.

[0017] Optionally, using the basic business table after adding the extended business field to provide the target tenant with a business service corresponding to the business demand includes:

[0018] receiving a data transmission request sent by a third-party system, where the third-party system corresponds to the business requirement;

[0019] In response to the data sending request, receiving the first data information sent by the third-party system using a universal data receiving interface;

[0020] performing adaptation processing on the first data information;

[0021] The processed first data information is stored in the basic business table.

[0022] Optionally, before receiving the first data information sent by the third-party system using the universal data receiving interface in response to the data sending request, the method further includes:

[0023] Performing an authority check on the data sending request, wherein the authority check includes: tenant authority check and / or business authority check;

[0024] In a case where the data sending request passes the authority verification, the step of receiving the first data information sent by the third-party system by using a universal data receiving interface in response to the data sending request is performed.

[0025] Optionally, using the basic business table after adding the extended business field to provide the target tenant with a business service corresponding to the business demand includes:

[0026] receiving a data receiving request sent by a third-party system, where the third-party system corresponds to the business requirement;

[0027] Responding to the data receiving request, acquiring second data information from the basic business table;

[0028] performing adaptation processing on the second data information;

[0029] The processed second data information is sent to the third-party system using a universal data distribution interface.

[0030] Optionally, before obtaining the second data information from the basic business table in response to the data reception request, the method further includes:

[0031] Performing an authority check on the data receiving request, the authority check including: tenant authority check and / or business authority check;

[0032] In a case where the data receiving request passes the authority check, the step of acquiring the second data information from the basic business table in response to the data receiving request is performed.

[0033] In addition, the present invention also provides a service processing device, including:

[0034] A determination module is used to obtain the business requirements of the target tenant and determine the business type and extended business fields corresponding to the business requirements;

[0035] A creation module, configured to create a basic business table corresponding to the business type in a target tablespace corresponding to the target tenant, and then add the extended business field to the basic business table;

[0036] The service module is used to provide the target tenant with the business service corresponding to the business demand by using the basic business table after adding the extended business field.

[0037] One embodiment of the aforementioned invention has the following advantages or beneficial effects: A basic business table corresponding to the target user is created in the target tablespace corresponding to the target tenant. Each tenant's data is isolated through its own tablespace. Compared to methods that distinguish and isolate different tenants based on tenant identifiers in tables, this embodiment of the present invention provides a higher level of isolation and security for the data of different tenants.

[0038] Furthermore, based on the target tenant's business needs, the basic business table and extended business fields corresponding to the business needs are determined. The basic business table can be used to provide basic services to the tenant, while the extended business fields are used to provide personalized services to the tenant. Therefore, by setting up the basic business table and extended business fields, the solution of the embodiment of the present invention can adapt to various business scenarios and provide flexible and diverse personalized services to multiple tenants.

[0039] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The accompanying drawings are provided for a better understanding of the present invention and are not intended to limit the present invention.

[0041] Figure 1 is a schematic diagram of the main process of a business processing method provided according to an embodiment of the present invention;

[0042] Figure 2 is a schematic diagram of the main process of a business processing method provided according to another embodiment of the present invention;

[0043] Figure 3 is a schematic diagram of the main process of a business processing method provided according to another embodiment of the present invention;

[0044] Figure 4 This is a schematic diagram of a process for implementing a multi-tenant enterprise portal according to an embodiment of the present invention;

[0045] Figure 5 is a schematic diagram of main modules of a service processing device according to an embodiment of the present invention;

[0046] Figure 6 It is a schematic diagram of the structure of a computer device of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION

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

[0048] To provide customized services to multiple clients using a single system instance and ensure data isolation, a tenant identifier can be set for each customer in the system. This identifier can be used to distinguish data from different tenants in different tables. While this solution offers the advantage of low maintenance costs, it also has significant disadvantages: it provides the lowest level of isolation and security, making data backup and recovery more difficult, requiring table-by-table and record-by-record backup and restore. Some customers have high requirements for data security, while others are more cost-sensitive. A balance must be struck between data sharing, security isolation, and performance. For customers with higher security requirements, isolation is preferred. Within the same system environment, data architecture can be isolated using separate databases or shared databases at the storage layer. To ensure complete data isolation, a new database or separate schema can be created for each additional enterprise customer served. However, independent databases carry high maintenance and configuration costs.

[0049] Based on this, an embodiment of the present invention proposes a business service solution that can achieve high security isolation of customer data at a lower cost. Figure 1 FIG. 1 is a schematic diagram of the main process of a service processing method provided according to an embodiment of the present invention. The service processing method includes:

[0050] Step S101: Acquire the business requirements of the target tenant and determine the business type and extended business fields corresponding to the business requirements.

[0051] Business requirements correspond to the business services that the system needs to provide for the target tenant. Business requirements can also correspond to the business services that the target tenant hopes the system can provide for them. Target tenants can directly enter their business requirements into the system or select the business requirements corresponding to them on the interface provided by the system.

[0052] The services provided by the system can be divided into multiple business types. Business types may include: supplementary medical funds, employee benefits, health management data, enterprise annuity data, etc. The business type determines the basic business table. The basic business table provides the target tenant with the basic services corresponding to that business type.

[0053] Extended business fields provide personalized services for target users. The services provided by the basic business table corresponding to the business type are used as basic services. Based on the tenant services and basic services corresponding to the target tenant's business needs, personalized services for the target combination are determined.

[0054] The system can be configured to map business requirements to business types, and to fields for personalized services. Based on these mappings, the business types and extended business fields corresponding to the target tenant's business requirements are determined.

[0055] Step S102: Create a basic business table corresponding to the business type in the target table space corresponding to the target tenant, and then add an extended business field to the basic business table.

[0056] Different tenants correspond to different tablespaces. Storing the tenant's data in the tablespace corresponding to the tenant can not only isolate the data of each tenant, but also facilitate operations such as backup and recovery of tenant data.

[0057] Tenant namespaces can be pre-initialized in the platform. Namespaces determine the tenant's tablespace, interface name, message queue, and other information. Namespaces not only support multi-tenancy but also selectively expose the namespace's API (Application Programming Interface) to isolate applications during data transmission. Namespaces can also isolate specialized data between tenants, such as caches, logs, and message queues. Databases use different schemas depending on the namespace, and MQ (message queues) use different queues depending on the namespace.

[0058] By adding extended business fields to the basic business table, you can provide target tenants with services that match their needs, and provide personalized services to different tenants more flexibly and conveniently.

[0059] Step S103: Using the basic business table with the extended business field added, provide the target tenant with a business service corresponding to the business demand.

[0060] In this embodiment of the present invention, a basic business table corresponding to the target user is created in the target tablespace corresponding to the target tenant. Each tenant's data is isolated through its own tablespace. Compared to methods that distinguish and isolate different tenants based on tenant identifiers in tables, this embodiment of the present invention provides a higher level of isolation and security for different tenants' data.

[0061] Furthermore, based on the target tenant's business needs, the basic business table and extended business fields corresponding to the business needs are determined. The basic business table can be used to provide basic services to the tenant, while the extended business fields are used to provide personalized services to the tenant. Therefore, by setting up the basic business table and extended business fields, the solution of the embodiment of the present invention can adapt to various business scenarios and provide flexible and diverse personalized services to multiple tenants.

[0062] Figure 2 FIG. 1 is a schematic diagram of the main flow of a service processing method provided according to another embodiment of the present invention. The service processing method includes:

[0063] Step S201: Determine the business requirements of the target tenant and determine the business type corresponding to the business requirements.

[0064] Step S202: Create a basic business table corresponding to the business type in the target table space corresponding to the target tenant.

[0065] Step S203: Determine the extended service field corresponding to the service requirement.

[0066] Step S204: In the target tablespace, an extended business field is added to the basic business table.

[0067] Step S205 , determining an extended business table corresponding to the business requirement; and creating the extended business table in the target table space.

[0068] Extended business tables are used to provide personalized services for target users. For complex requirements, simply adding extended business fields to the basic business table is insufficient. Therefore, you need to create extended business tables based on the tenant's personalized needs. Specifically, you can set up a mapping between business requirements and extended business tables in the system. Based on this mapping, you can determine the extended business table that corresponds to the target tenant's business requirements.

[0069] Step S206 : Using the basic business table and the extended business table after adding fields, provide the target tenant with business services corresponding to the business needs.

[0070] In this embodiment of the present invention, the personalized needs of target tenants can be met by setting corresponding extended service fields and extended service tables. Basic needs are met through the basic service table, while personalized needs are met through service extension fields and extended service tables. This adapts to a wider range of application scenarios and allows for customized personalized services for different users.

[0071] In one embodiment of the present invention, before creating a basic business table corresponding to a business type in a target tablespace corresponding to a target tenant, the process also includes: determining the number of tenants associated with the current user; when the number of tenants is 1, determining the tablespace corresponding to the tenant associated with the current user as the target tablespace; when the number of tenants is greater than 1, receiving a selection instruction issued by the user; and according to the selection instruction, determining a target tenant from multiple tenants associated with the current user, and determining the tablespace corresponding to the target tenant as the target tablespace.

[0072] A user can be associated with multiple tenants. If the user is associated with only one tenant, the space of that tenant will be directly determined as the target space for the user. If the user is associated with multiple tenants, the user will be prompted to select a tenant, and the space of the selected tenant will be determined as the target space for the user.

[0073] Figure 3 FIG. 1 is a schematic diagram of the main process of a service processing method provided according to an embodiment of the present invention. The service processing method includes:

[0074] Step S301: Determine the business requirements of the target tenant and determine the business type corresponding to the business requirements.

[0075] Step S302: Create a basic business table corresponding to the business type in the target table space corresponding to the target tenant.

[0076] Step S303: Determine the extended service field corresponding to the service requirement.

[0077] Step S304: In the target tablespace, an extended business field is added to the basic business table.

[0078] Step S305: receiving a data sending request sent by a third-party system.

[0079] A third-party system corresponds to the target tenant's business needs. For example, if the target tenant's business needs are related to supplementary medical funds, the third-party system could be a supplementary medical system. If the target tenant's business needs are related to health management, the third-party system could be a health management system. Providing relevant business services to the target tenant requires data exchange between the current system and the third-party system.

[0080] Step S306: In response to the data sending request, the first data information sent by the third-party system is received using the universal data receiving interface.

[0081] The system's universal data receiving interface is a unified interface for receiving data from third-party systems. The system's universal data distribution interface is a unified interface for sending data to third-party systems. The system interacts with third-party systems through these interfaces, facilitating interaction between the management system and other systems and improving system security.

[0082] Step S307: perform adaptation processing on the first data information; and store the processed first data information in the basic business table.

[0083] To meet the personalized needs of different tenants, extended business fields can be added to the basic business table or extended business tables can be created. Therefore, the table structures in the tablespaces of different tenants are different. By adapting the first data information to match the table structure in the target tenant's tablespace, the processed first data information is stored in the basic business table or extended business table.

[0084] In this embodiment of the present invention, a universal data receiving interface in the system interacts with a third-party system, and the received first data information is then adapted and converted into a table structure that conforms to the target tenant's tablespace. By providing a universal data receiving interface and adaptation processing, the system can provide services to multiple tenants while improving its controllability and security.

[0085] In one embodiment of the present invention, before responding to the data sending request and receiving the first data information sent by the third-party system using the universal data receiving interface, the system further includes: performing a permission check on the data sending request, wherein the permission check includes tenant permission check and / or business permission check; if the data sending request passes the permission check, executing the step of receiving the first data information sent by the third-party system using the universal data receiving interface in response to the data sending request. The permission check ensures the security of the interaction between the system and the third-party system.

[0086] In one embodiment of the present invention, the basic business table after adding fields is used to provide the target tenant with business services corresponding to the business needs, including: receiving a data reception request sent by a third-party system; obtaining second data information from the basic business table in response to the data reception request; adapting the second data information; and using a universal data distribution interface to send the processed second data information to the third-party system.

[0087] To meet the personalized needs of different tenants, extended business fields can be added to the basic business table, or extended business tables can be created. Therefore, the table structures in different tenants' tablespaces are different, and the format of the secondary data information obtained from the tenants' tablespaces is also different. Through adaptation processing, the secondary data information is converted into a format that conforms to the universal data transmission interface, and then the processed secondary data is sent to the third-party system through the universal data transmission interface. By setting up a universal data transmission interface and adaptation processing, the system can provide services to multiple tenants while improving the controllability and security of the system.

[0088] In one embodiment of the present invention, before obtaining the second data information from the basic business table in response to the data reception request, the method further includes: performing a permission check on the data reception request, wherein the permission check includes tenant permission check and / or business permission check; if the data reception request passes the permission check, executing the step of obtaining the second data information from the basic business table in response to the data reception request. Through permission check, the security of the system during interaction with third-party systems is ensured.

[0089] In order to make the solution of the embodiment of the present invention easier to understand, the following explanation is given by taking the enterprise service portal project as an example. For the enterprise service portal project, the previous implementation method based on a single instance and a single application, which relied on system permissions and data permissions to distinguish different customers, is converted into a hybrid multi-tenant implementation method that supports multiple instances and multiple applications. The transformed system is based on the idea of ​​sharding and table sharding, and adopts a design idea that combines generalization and personalized customization. This implementation method can realize the sharing of system instances between multiple tenants, and at the same time realize the personalized customization of tenant system instances. Ensure that the common parts of the system are shared, and the individual parts can be customized separately. Business data from different and heterogeneous sources can be customized on demand, support data standardization, and ensure that the instance interface remains unchanged, thereby forming a set of efficient, easy-to-configure, and easy-to-scalable multi-tenant implementation technologies.

[0090] The solution of the embodiment of the present invention can support on-demand configuration and personalized customization of different enterprises, and support the unified business of client enterprises in the case of multiple service providers. It supports localized deployment at client enterprises and centralized deployment at service providers. Based on the abstraction of functions and interfaces, it focuses on creating a general technology platform with multiple ports, strong adaptability, light weight, and heavy experience, which is flexibly applicable to multi-dimensional unified scenarios such as single trusteeship, multi-party trusteeship, and regional division. It creates a general product for enterprise handling to meet the on-demand customization and personalized needs of different enterprises, while ensuring data isolation and achieving the purpose of data portability.

[0091] Through technical means, we provide customizable services to multiple customers based on a single system instance while ensuring data isolation. Through rational abstraction, we unify the underlying logic and external data interfaces, and use configuration to address the personalized business needs of different customer companies. By providing sufficient abstraction of products and interfaces, we create a highly adaptable universal platform, avoiding version confusion caused by the increasing number of customer companies and the emergence of a large number of personalized requirements. We support centralized deployment for multiple tenants, localized deployment for single tenants, and system migration for both deployment methods.

[0092] Figure 4 FIG. 1 is a schematic diagram of a process for implementing a multi-tenant enterprise portal according to an embodiment of the present invention. Figure 4 As shown in the figure, based on the comparison with the original system's multi-tenant implementation, it can be found that the new design introduces an improved multi-tenant concept. Its features are:

[0093] Tenant management: This approach is not directly oriented toward application end users, but rather toward application operations and maintenance. The platform provides a unified interface layer. The original multi-tenant system used a single-instance, single-application approach, while the new design adopts a multi-instance, multi-application approach. This unified interface layer ensures system version consistency while supporting the specific implementations of different tenants, addressing the on-demand customization and personalized needs of different enterprises. Data access is physically isolated by tenant, and runtime isolation is also implemented by tenant when invoking platform services.

[0094] Abstract implementation of multi-tenancy and isolation of data and status: From the application perspective, the implementation of multi-tenancy is top-down, from the on-demand customization requirements of different enterprise applications to the implementation of data isolation.

[0095] The platform's internal implementation is bottom-up. Namespaces are used to isolate data, which are then made available for application multi-tenancy. Namespaces abstract data and state isolation. Namespaces are initialized in the platform in advance. Namespaces not only support application multi-tenancy but also selectively expose namespace APIs to isolate applications during data transmission. Namespaces can be used to isolate specialized data between tenants, such as caches, logs, and message queues. Databases use different schemas based on namespaces, and MQ uses different queues based on namespaces.

[0096] Isolation during the tenant request call chain: The platform supports a single user being associated with one or more tenants. The platform provides a unified login service. Users first log in to the system. Upon successful login, if the user is associated with only one tenant, they are directly transferred to the business tenant. If the user is associated with multiple tenants, they are prompted to select a tenant. After the user enters the tenant, the system maps the tenant information to a namespace and stores it in the user's session information. All business operation requests are accompanied by the user's session context information during the call chain. The system uses this context to identify the tenant from which the request originated.

[0097] During the entire request process, namespaces are distinguished in the user center based on user information; after login, tenants are distinguished in the application system container based on user session information; when making remote procedure calls through the interface, data isolation is achieved by passing namespaces and interface permission control.

[0098] For example, a large client enterprise is developing supplementary medical and health management services, outsourcing these previously self-managed supplementary medical and health management services to three insurance service providers. At the same time, the enterprise is also requesting data collection from all levels of units and oversight of business data from each supplier. Because different corporate tenants have varying business operations and processes, their needs are highly customized.

[0099] This requires the platform to be based on the perspective of B-side enterprises, with sufficient abstraction of functions and interfaces, focusing on building a universal business platform with multiple ports, strong adaptability, lightweight size, and a focus on experience. It should be flexible and applicable to multi-dimensional scenarios such as single trusteeship, multi-party trusteeship, and regional division. It should meet the on-demand customization and personalized needs of different enterprises while ensuring data isolation and achieving data portability. The above solution may include the following steps:

[0100] Step (1) first confirms that the business type of the enterprise tenant is supplementary medical care and health management. Determine the tenant code and associate the tenant space, that is, allocate the tablespace in the tablespace pool to a specific tenant and establish an association. The client enterprise can apply for activation through the registration interface by filling in the enterprise information and automatically activate it after review. Alternatively, the system operation and maintenance personnel can assist in activation.

[0101] Step (2) initializes the basic parameter table and basic business table according to the business type determined in step (1). The creation process will directly switch the database connection to the allocated table space. When initializing the basic parameter table, some parameter data will be initialized, including enumeration values ​​and configuration parameters. When initializing the business table, the business table name corresponding to the business type will be inserted into the business definition table. The main fields include business type, business table name, verification formula, etc. At the same time, the business fields contained in the basic business table will be inserted into the business field definition table. The main fields include business type, business field, business table to which it belongs, field type, verification formula, etc.

[0102] Step (3): Customize the extended business fields and expand the fields of the business table according to the specific needs of the enterprise.

[0103] Step (4): Customize the business table, expand the business table according to the business type according to the enterprise needs, and set the association between tables.

[0104] Step (5), publish and dynamically create the business data entity table under the table space.

[0105] Step (6) involves two common interfaces: a common data receiving interface and a common data distribution interface. The interaction is a one-way request between the three suppliers' business systems. The receiving interface uses a data push method, while the distribution interface uses a data pull method.

[0106] In step (7), since the system must meet the individual needs of enterprises on the one hand and ensure the uniformity and stability of interface versions on the other, a general business model encapsulation layer and a data adaptation layer are added between the entity data and the interface. The business model encapsulation layer encapsulates the business data of the entity table into corresponding business objects according to business type. The business model mainly includes two parts: business hierarchy, fixed attributes, and dynamic extension attributes. The data adapter converts the general business model data into specific business types and business objects to complete the storage of business objects.

[0107] Step (8), in the entire process, the data distribution interface and the data receiving interface, the requests sent by different suppliers are first verified at the tenant layer, and then the interface layer performs permission matching according to the business granularity to obtain the token. Subsequent requests will carry the valid token to push and receive data to complete the data interaction.

[0108] This process uses technical means to provide customized services to multiple customers based on a single system instance, while ensuring data isolation. Sufficient abstraction of products and interfaces unifies underlying logic and external data interfaces, avoiding version confusion as the number of client companies increases and a large number of personalized requirements are raised. Configuration is used to address the personalized business needs of different client companies.

[0109] In the embodiment of the present invention, a tenant is a business concept, and a tenant is a customer. It is abstracted from a technical level and mapped to an abstract concept, namely a multi-tenant shared application, corresponding to a set of infrastructure, so as to achieve isolation requirements and minimize the impact of diversified business models on the technical architecture. It can support on-demand configuration and personalized customization for different enterprises, and support the unified business of customer enterprises in the case of multiple service providers. It supports localized deployment at customer enterprises and centralized deployment at service providers. It greatly improves the scalability and maintainability of the system, and effectively saves system development costs and implementation costs through resource reuse.

[0110] For the enterprise service portal project, the previous implementation method based on a single instance and a single application, which relied on system permissions and data permissions to distinguish different customers, was converted to a hybrid multi-tenant implementation method that supports multiple instances and multiple applications. The transformed system is based on the idea of ​​sharding and table sharding, and adopts a design concept that combines generalization and personalized customization. This implementation method can realize the sharing of system instances among multiple tenants, while also realizing personalized customization of tenant system instances. It ensures that the common parts of the system are shared, and the personalized parts can be customized separately. Business data from different and heterogeneous sources can be customized on demand, supporting data standardization and ensuring that the instance interface remains unchanged, thus forming a set of efficient, easy-to-configure, and easy-to-scalable multi-tenant implementation technologies.

[0111] We established a hybrid multi-tenant business model that supports multiple instances and multiple applications, using business domains to abstract the tenant model. Technically, tenants are mapped to an abstract concept: multi-tenant shared applications, corresponding to a single infrastructure, meeting enterprise needs for on-demand customization, personalization, and data isolation.

[0112] By sufficiently abstracting products and interfaces, we create a highly adaptable general platform, adding a general business model encapsulation layer and a data adaptation layer between entity data and interfaces. The business model encapsulation layer encapsulates the business data of the entity table into corresponding business objects according to business types. The business model mainly includes two parts: business hierarchy, fixed attributes, and dynamic extension attributes. The data adapter converts the general business model data into specific business types and business objects to complete the storage of business objects. Through reasonable abstraction, unified underlying logic and external data interfaces, and the use of configuration to solve the personalized business needs of different customer companies, we avoid the problem of version confusion caused by the increase in customer companies and the introduction of a large number of personalized needs, and minimize the impact of diversified business models on the technical architecture. It supports centralized deployment of multiple tenants, localized deployment of single tenants, and system migration and data migration of both deployment methods.

[0113] Figure 5 FIG. 1 is a schematic diagram of the main modules of the service processing device according to an embodiment of the present invention. Figure 5 As shown, the service processing device 500 includes:

[0114] Determination module 501, used to obtain the business requirements of the target tenant and determine the business type and extended business fields corresponding to the business requirements;

[0115] A creation module 502 is configured to create a basic business table corresponding to the business type in a target table space corresponding to the target tenant, and then add the extended business field to the basic business table;

[0116] The service module 503 is configured to provide the target tenant with a business service corresponding to the business requirement by using the basic business table to which the extended business field is added.

[0117] Optionally, the device further comprises:

[0118] An extension module 504 is configured to determine an extended service table corresponding to the service requirement;

[0119] In the target tablespace, creating the extended business table;

[0120] The service module 503 is specifically used for:

[0121] The business service corresponding to the business demand is provided to the target tenant by using the basic business table after adding the extended business field and the extended business table.

[0122] Optionally, the device further comprises:

[0123] The space determination module 505 is used to determine the number of tenants associated with the current user;

[0124] When the number of tenants is 1, the table space corresponding to the tenant associated with the current user is determined as the target table space;

[0125] When the number of tenants is greater than 1, a selection instruction issued by a user is received; according to the selection instruction, the target tenant is determined from the multiple tenants associated with the current user, and the tablespace corresponding to the target tenant is determined as the target tablespace.

[0126] Optionally, the service module 503 is specifically configured to:

[0127] receiving a data transmission request sent by a third-party system, where the third-party system corresponds to the business requirement;

[0128] In response to the data sending request, receiving the first data information sent by the third-party system using a universal data receiving interface;

[0129] performing adaptation processing on the first data information;

[0130] The processed first data information is stored in the basic business table.

[0131] Optionally, the device further comprises:

[0132] Verification module 506, configured to perform permission verification on the data sending request, wherein the permission verification includes: tenant permission verification and / or business permission verification;

[0133] In a case where the data sending request passes the authority verification, the step of receiving the first data information sent by the third-party system by using a universal data receiving interface in response to the data sending request is performed.

[0134] Optionally, the service module 503 is specifically configured to:

[0135] receiving a data receiving request sent by a third-party system, where the third-party system corresponds to the business requirement;

[0136] Responding to the data receiving request, acquiring second data information from the basic business table;

[0137] performing adaptation processing on the second data information;

[0138] The processed second data information is sent to the third-party system using a universal data distribution interface.

[0139] Optionally, the verification module 506 is further configured to:

[0140] Performing an authority check on the data receiving request, the authority check including: tenant authority check and / or business authority check;

[0141] In a case where the data receiving request passes the authority check, the step of acquiring the second data information from the basic business table in response to the data receiving request is performed.

[0142] Reference below Figure 6 , which shows a schematic structural diagram of a computer device 600 of a terminal device suitable for implementing an embodiment of the present invention. Figure 6 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0143] like Figure 6 As shown, the computer device 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage unit 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the computer device 600 are also stored in the RAM 603. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0144] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, and the like; an output section 607 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 608 including a hard disk; and a communication section 609 including a network interface card such as a LAN card or a modem. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. Removable media 611, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 610 as needed, so that computer programs read therefrom can be installed into the storage section 608 as needed.

[0145] In particular, according to the embodiments disclosed in the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 609, and / or installed from a removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the apparatus of the present invention are performed.

[0146] It should be noted that the computer-readable medium described in the present invention may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor device, apparatus, or component, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution device, apparatus, or component. In the present invention, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution apparatus, device, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical cable, RF, or any suitable combination thereof.

[0147] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the devices, methods and computer program products according to various embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based device that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0148] The modules described in the embodiments of the present invention may be implemented in software or hardware. The modules described may also be provided in a processor. For example, a processor may be described as including a determination module, a creation module, and a service module. The names of these modules do not, in some cases, limit the modules themselves.

[0149] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiments, or may exist independently without being incorporated into the device. The computer-readable medium carries one or more programs, and when the one or more programs are executed by the device, the device includes:

[0150] Obtain the target tenant's business requirements and determine the business type and extended business fields corresponding to the business requirements;

[0151] In the target tablespace corresponding to the target tenant, a basic business table corresponding to the business type is created, and then the extended business field is added to the basic business table;

[0152] The basic business table after adding the extended business field is used to provide the target tenant with business services corresponding to the business needs.

[0153] According to the technical solution of this embodiment of the present invention, a basic business table corresponding to the target user is created in the target tablespace corresponding to the target tenant. Each tenant's data is isolated through its own tablespace. Compared to methods that distinguish and isolate different tenants based on tenant identifiers in tables, this solution provides a higher level of isolation and security for different tenants' data.

[0154] Furthermore, based on the target tenant's business needs, the basic business table and extended business fields corresponding to the business needs are determined. The basic business table can be used to provide basic services to the tenant, while the extended business fields are used to provide personalized services to the tenant. Therefore, by setting up the basic business table and extended business fields, the solution of the embodiment of the present invention can adapt to various business scenarios and provide flexible and diverse personalized services to multiple tenants.

[0155] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.

Claims

1. A business processing method, characterized in that: include: Obtain the target tenant's business requirements and determine the business type and extended business fields corresponding to the business requirements; In the target tablespace corresponding to the target tenant, a basic business table corresponding to the business type is created, and the extended business field is added to the basic business table; and an extended business table corresponding to the business requirement is created; wherein the namespace is distinguished according to the user information, and the tenant's tablespace, interface name, cache, log, and message queue are determined by the namespace; Providing the target tenant with the business service corresponding to the business requirement by using the basic business table after adding the extended business field, or by using the basic business table after adding the extended business field and the extended business table; In response to the distribution or reception of data, requests from different suppliers are first verified for permissions at the tenant layer, and then the interface layer performs permission matching based on business granularity to obtain a token. Subsequent requests will carry a valid token to push and receive data, completing data interaction.

2. The method according to claim 1, characterized in that After obtaining the target tenant's business requirements, the following steps are also performed: Determine an extended business table corresponding to the business requirement; In the target tablespace, creating the extended business table; Providing the target tenant with the business service corresponding to the business requirement by using the basic business table after adding the extended business field includes: The business service corresponding to the business demand is provided to the target tenant by using the basic business table after adding the extended business field and the extended business table.

3. The method according to claim 1, characterized in that Before creating the basic business table corresponding to the business type in the target tablespace corresponding to the target tenant, the method further includes: Determine the number of tenants associated with the current user; When the number of tenants is 1, the table space corresponding to the tenant associated with the current user is determined as the target table space; When the number of tenants is greater than 1, a selection instruction issued by a user is received; according to the selection instruction, the target tenant is determined from the multiple tenants associated with the current user, and the tablespace corresponding to the target tenant is determined as the target tablespace.

4. The method according to claim 1, wherein Providing the target tenant with the business service corresponding to the business requirement by using the basic business table after adding the extended business field includes: receiving a data transmission request sent by a third-party system, where the third-party system corresponds to the business requirement; In response to the data sending request, receiving the first data information sent by the third-party system using a universal data receiving interface; performing adaptation processing on the first data information; The processed first data information is stored in the basic business table.

5. The method according to claim 4, characterized in that Before receiving the first data information sent by the third-party system using the universal data receiving interface in response to the data sending request, the method further includes: Performing an authority check on the data sending request, wherein the authority check includes: tenant authority check and / or business authority check; In a case where the data sending request passes the authority verification, the step of receiving the first data information sent by the third-party system by using a universal data receiving interface in response to the data sending request is performed.

6. The method according to claim 1, characterized in that Providing the target tenant with the business service corresponding to the business requirement by using the basic business table after adding the extended business field includes: receiving a data receiving request sent by a third-party system, where the third-party system corresponds to the business requirement; Responding to the data receiving request, acquiring second data information from the basic business table; performing adaptation processing on the second data information; The processed second data information is sent to the third-party system using a universal data distribution interface.

7. The method according to claim 6, characterized in that Before obtaining the second data information from the basic business table in response to the data receiving request, the method further includes: Performing an authority check on the data receiving request, the authority check including: tenant authority check and / or business authority check; In a case where the data receiving request passes the authority check, the step of acquiring the second data information from the basic business table in response to the data receiving request is performed.

8. A business processing device, characterized in that: include: A determination module is used to obtain the business requirements of the target tenant and determine the business type and extended business fields corresponding to the business requirements; A creation module is configured to create a basic business table corresponding to the business type in the target tablespace corresponding to the target tenant, and then add the extended business field to the basic business table; and create an extended business table corresponding to the business requirement; wherein the namespace is distinguished according to user information, and the tenant's tablespace, interface name, cache, log, and message queue are determined by the namespace; The service module is used to use the basic business table after adding the extended business field or the basic business table after adding the extended business field and the extended business table to provide the target tenant with business services corresponding to the business needs; in response to the distribution or reception of data, requests issued by different suppliers are first verified for permissions at the tenant layer, and then the interface layer performs permission matching at the business granularity to obtain a token. Subsequent requests will carry a valid token to push and receive data to complete data interaction.

9. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.

10. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Business data controllable distribution and fusion application system based on cloud computing

    CN101969475A

  • Data processing system and processing method in cloud computing multi-tenant architecture

    CN102930027A

  • Cloud platform-based CRM (customer relation management) data processing method

    CN106203810A

  • SaaS-based multi-tenant data processing method and device

    CN112860451A