Multi-tenant multi-platform oriented agent resource scheduling and isolation system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG YANJI NETWORK TECH CO LTD
- Filing Date
- 2026-02-06
- Publication Date
- 2026-06-05
Smart Images

Figure CN121704986B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent customer service technology, and in particular to an Agent resource scheduling and isolation system for multi-tenant and multi-platform applications. Background Technology
[0002] Agent resources serve as a collection of service units that support the execution of customer service. They are also the core carrier connecting multiple tenants and multiple platforms. Agent resources need to meet the dual requirements of tenant isolation and cross-platform adaptation, providing exclusive services for specific tenants while also connecting to multiple customer service platforms required by that tenant.
[0003] In multi-tenant, multi-platform customer service scenarios, since an agent may need to serve multiple tenants simultaneously and switch between multiple customer service platforms, and traditional customer service systems lack a unified resource scheduling and isolation mechanism, problems such as data leakage and response delays are likely to occur. Summary of the Invention
[0004] The purpose of this application is to provide an Agent resource scheduling and isolation system for multi-tenant and multi-platform systems, so as to overcome the shortcomings of the Agent resource scheduling and isolation mechanism in existing multi-tenant and multi-platform customer service systems.
[0005] Firstly, this application provides an Agent resource scheduling and isolation system for multi-tenant, multi-platform environments, comprising:
[0006] The data receiving module is used to receive session request information and identify the corresponding associated attribute information, which includes tenant ID, platform identifier and data type;
[0007] The intelligent scheduling and prediction module is used to generate session prediction information based on session request information and associated attribute information, through preset historical data and preset time-series prediction models;
[0008] The scheduling and control center is used to calculate the supply and demand gap of Agent resources based on session request information and session prediction information, generate scheduling instructions based on the supply and demand gap of Agent resources, and allocate target Agent instances based on tenant ID after the scheduling instructions are executed.
[0009] The task scheduling management module is used to generate a task scheduling queue based on scheduling instructions and to execute scheduling instructions based on the task scheduling queue.
[0010] The hierarchical isolation control module is used to determine the sensitivity level based on the data type, combine it with the tenant ID, generate a tenant-specific isolation policy, and formulate encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy.
[0011] By integrating historical session data with time-series prediction models, the above technical solutions can predict the fluctuation trend of session volume for different tenants and platforms, and dynamically adjust Agent resource configuration. This can avoid response delays caused by insufficient resources and waste caused by resource redundancy to a certain extent. Furthermore, generating tenant-specific isolation policies according to sensitivity levels can effectively reduce the risk of cross-tenant data leakage and improve the security of sensitive data transmission and storage.
[0012] Optionally, the intelligent scheduling prediction module includes:
[0013] The data collection unit is used to collect session request information and corresponding associated attribute information to form real-time incremental data;
[0014] The feature extraction unit is used to extract features from real-time incremental data and preset historical data to obtain real-time features and historical features, and to fuse the real-time features and historical features to generate multi-dimensional fused features.
[0015] The conversation prediction unit is used to generate conversation prediction information based on multi-dimensional fusion features and a preset time-series prediction model.
[0016] The model update unit is used to extract actual session information from real-time incremental data based on session prediction information, compare session prediction information and actual session information, calculate prediction deviation, and update the preset time series prediction model based on prediction deviation.
[0017] Optionally, the scheduling control center includes:
[0018] The cross-platform synchronization unit is used to collect and synchronize the running status of Agent instances on various platforms in real time.
[0019] The resource gap calculation unit is used to determine the total resource demand based on session request information and session prediction information, and to obtain the running status of the associated Agent instance based on the platform identifier and tenant ID. Based on the running status of the associated Agent instance, it calculates the current available supply, compares it with the total resource demand, and calculates the resource supply and demand gap.
[0020] The scheduling instruction generation unit is used to determine the type of scheduling instruction based on the resource supply and demand gap, and bind the platform identifier and tenant ID to form the scheduling instruction;
[0021] The Agent instance allocation unit is used to determine the set of available Agent instances for a tenant based on the tenant ID after the scheduling instruction is executed, and to select a unique target Agent instance from the set.
[0022] The platform link docking unit is used to determine the target platform based on the current platform identifier and establish a communication link between the target Agent instance and the target platform.
[0023] Optionally, the scheduling instruction includes an instruction type, and the task scheduling management module includes:
[0024] The dispatch instruction receiving unit is used to receive dispatch instructions from the dispatch control center and to verify the dispatch instructions;
[0025] The scheduling queue management unit is used to generate an ordered queue, denoted as the task scheduling queue, according to preset rules for the verified scheduling instructions;
[0026] The scheduling instruction execution unit is used to execute the corresponding Agent instance lifecycle operations according to the task scheduling queue and the instruction type of the scheduling instruction.
[0027] The execution result feedback unit is used to generate a structured execution result after each instruction is executed and to feed the execution result back to the scheduling control center.
[0028] Optionally, the hierarchical isolation control module includes:
[0029] The sensitivity level determination unit is used to determine the sensitivity level based on the data type and through preset mapping rules;
[0030] The hierarchical isolation unit is used to match the corresponding basic isolation policy according to the sensitivity level through the preset isolation policy library, and obtain the tenant's personalized configuration parameters according to the tenant ID through the preset tenant information library. The basic isolation policy and personalized configuration parameters are then integrated to generate a tenant-specific isolation policy.
[0031] The tenant resource isolation unit is used to perform tenant-specific resource allocation, isolation operations, and access control according to the tenant-specific isolation policy.
[0032] The encrypted transmission unit is used to match the corresponding security strength of the encryption algorithm according to the tenant's exclusive isolation policy, encrypt the session request information through the encryption algorithm, and generate an exclusive temporary key to be synchronized to the target Agent instance corresponding to the tenant.
[0033] Optionally, the system further includes:
[0034] The permission dynamic adaptation module is used to establish and maintain exclusive association and binding relationships between tenants, accounts, roles and Agent instances based on a preset role permission control model, convert the tenant's exclusive permissions into a target platform-compatible format and inject them into the corresponding Agent instance.
[0035] Secondly, this application provides a method for agent resource scheduling and isolation for multi-tenant, multi-platform environments, comprising the following steps:
[0036] Receive session request information and identify the corresponding associated attribute information, which includes tenant ID, platform identifier and data type;
[0037] Based on the session request information and associated attribute information, session prediction information is generated using preset historical data and preset time-series prediction models;
[0038] Based on session request information and session prediction information, calculate the supply and demand gap of Agent resources, and generate scheduling instructions based on the supply and demand gap of Agent resources;
[0039] A task scheduling queue is generated based on the scheduling instructions, and the scheduling instructions are executed based on the task scheduling queue. After the scheduling instructions are executed, a target Agent instance is allocated based on the tenant ID.
[0040] Based on the data type, determine the sensitivity level, combine it with the tenant ID, generate a tenant-specific isolation policy, and formulate encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy.
[0041] Optionally, based on session request information and session prediction information, the Agent resource supply and demand gap is calculated, and scheduling instructions are generated based on the Agent resource supply and demand gap, including:
[0042] The running status of Agent instances on each platform is collected and synchronized in real time. Each Agent instance is bound to a platform identifier and a tenant ID.
[0043] Based on session request information and session prediction information, determine the total resource demand, and obtain the running status of the associated Agent instance based on the platform identifier and tenant ID. Based on the running status of the associated Agent instance, calculate the current available supply, compare it with the total resource demand, and calculate the resource supply and demand gap.
[0044] Based on the resource supply and demand gap, determine the type of scheduling instruction, and bind it to the platform identifier and tenant ID to form the scheduling instruction.
[0045] Optionally, the step of determining the sensitivity level based on the data type, combining it with the tenant ID, generating a tenant-specific isolation policy, and formulating encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy includes:
[0046] Based on the data type, the sensitivity level is determined through preset mapping rules;
[0047] Based on the sensitivity level, the corresponding basic isolation policy is matched through the preset isolation policy library, and the tenant's personalized configuration parameters are obtained through the preset tenant information library based on the tenant ID. The basic isolation policy and personalized configuration parameters are then integrated to generate a tenant-specific isolation policy.
[0048] Based on the tenant-specific isolation policy, perform tenant-specific resource allocation, isolation operations, and access control.
[0049] Based on the tenant-specific isolation policy, an encryption algorithm with corresponding security strength is matched, and the session request information is encrypted using the encryption algorithm. A unique temporary key is then generated and synchronized to the tenant's corresponding target Agent instance.
[0050] Thirdly, this application provides a computer-readable storage medium storing a computer program that can be loaded by a processor and executed as described above for a multi-tenant, multi-platform Agent resource scheduling and isolation method.
[0051] In summary, firstly, by integrating historical and real-time features through a time-series prediction model, the supply and demand of Agent resources can be predicted, and resource configuration can be dynamically adjusted, effectively improving resource utilization. Secondly, by combining data sensitivity levels and tenant-specific needs, tenant-specific isolation policies are generated, deeply binding rules such as encrypted transmission and storage access with tenant-specific isolation policies to ensure consistent data security protection. Furthermore, a four-level permission association system is built based on the RBAC model, and permission changes take effect in real time without restarting Agent instances, meeting the dynamic permission adjustment needs in multi-tenant, multi-platform scenarios. Attached Figure Description
[0052] Figure 1 This is a schematic diagram of the modules of an Agent resource scheduling and isolation system for multi-tenant and multi-platform applications provided in this application embodiment;
[0053] Figure 2 This is a schematic diagram of the intelligent scheduling and prediction module provided in the embodiments of this application;
[0054] Figure 3 This is a schematic diagram of the scheduling and control center provided in the embodiments of this application;
[0055] Figure 4 This is a schematic diagram of the task scheduling management module provided in an embodiment of this application;
[0056] Figure 5 This is a flowchart of an Agent resource scheduling and isolation method for multi-tenant, multi-platform applications provided in this application embodiment. Detailed Implementation
[0057] The following is in conjunction with the appendix Figure 1 -Appendix Figure 5 This application will be described in further detail below.
[0058] This application provides an Agent resource scheduling and isolation system for multi-tenant, multi-platform environments. (See also...) Figure 1It includes a data receiving module 10, an intelligent scheduling and prediction module 20, a scheduling control center 30, a task scheduling management module 40, and a hierarchical isolation control module 50.
[0059] The data receiving module 10 is used to receive session request information and identify the corresponding associated attribute information.
[0060] The intelligent scheduling prediction module 20 is used to generate session prediction information based on session request information and associated attribute information, through preset historical data and preset time-series prediction models.
[0061] The scheduling control center 30 is used to calculate the supply and demand gap of Agent resources based on session request information and session prediction information, and generate scheduling instructions based on the supply and demand gap of Agent resources. After the scheduling instructions are executed, the target Agent instance is allocated according to the tenant ID.
[0062] The task scheduling management module 40 is used to generate a task scheduling queue according to the scheduling instructions, and to execute the scheduling instructions according to the task scheduling queue.
[0063] The hierarchical isolation control module 50 is used to determine the sensitivity level based on the data type, combine it with the tenant ID, generate a tenant-specific isolation policy, and formulate encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy.
[0064] In this embodiment of the application, the session request information is first received by the data receiving module 10, and the corresponding associated attribute information is identified.
[0065] The associated attribute information includes tenant ID, platform identifier, and data type. Tenant ID and platform identifier are used to define the tenant affiliation and platform affiliation, respectively. Data type refers to the type of business data involved in the session request, such as general inquiry, order inquiry, payment confirmation, and member information modification.
[0066] The session request information is obtained through the session access interface of each platform. The session request information includes the request content, initiation time, user identifier, and request source IP.
[0067] Then, based on the session request information, the corresponding associated attribute information can be identified. For example, the tenant ID can be parsed from the user identifier, the platform identifier can be extracted from the request source IP, and the data type can be determined by keyword matching in the request content.
[0068] After obtaining the session request information, it is necessary to allocate Agent resources according to the session request. The so-called Agent resources are essentially Agent instances, that is, intelligent agent customer service running entities, which refer to the collection of service units that support the execution of customer service. They can directly connect to the customer service platform to handle session requests and are generated based on Agent (intelligent agent customer service template). Agent can be simply understood as a logical function template with fixed core capabilities and standardized interfaces, which is the basic prototype for generating Agent instances.
[0069] In a multi-tenant, multi-platform customer service system architecture, traditional Agent resource scheduling relies on real-time session requests for allocation. That is, Agent instances are allocated based on newly received session request information. One Agent instance can serve multiple platforms of one tenant, and one platform can access Agent instances of multiple tenants. When a tenant or platform experiences a session peak, it is easy to have insufficient Agent allocation, resulting in response delays. Furthermore, during periods of low session activity, resource redundancy can easily occur, leading to waste and making it difficult to achieve dynamic supply and demand balance.
[0070] Multi-tenancy refers to a customer service system that can simultaneously provide services to multiple independent business entities. These tenants share the system's basic resources while having their own exclusive resources, data, and permissions, and are completely isolated from each other. Multi-platform refers to a system that supports integration with multiple different customer service interaction channels, i.e., external customer service platforms. These platforms are operated by different entities and have independent interface protocols and operating logic. Tenants can synchronize their customer service capabilities to multiple platforms through the system without having to manually switch between different platforms.
[0071] In this embodiment of the application, in order to achieve dynamic supply and demand balance of Agent resources, the intelligent scheduling prediction module 20 generates session prediction information based on session request information and associated attribute information, through preset historical data and preset time series prediction model.
[0072] Specifically, see Figure 2 The intelligent scheduling and prediction module 20 includes a data collection unit 21, a feature extraction unit 22, a session prediction unit 23, and a model update unit 24.
[0073] Among them, the data set unit 21 is used to collect session request information and corresponding associated attribute information to form real-time incremental data.
[0074] The feature extraction unit 22 is used to extract features from real-time incremental data and preset historical data to obtain real-time features and historical features, and to fuse the real-time features and historical features to generate multi-dimensional fused features.
[0075] The conversation prediction unit 23 is used to generate conversation prediction information based on multi-dimensional fusion features and a preset time-series prediction model.
[0076] The model update unit 24 is used to extract actual session information from real-time incremental data based on session prediction information, compare session prediction information and actual session information, calculate prediction deviation, and update the preset time series prediction model based on prediction deviation.
[0077] First, the session request information and the corresponding associated attribute information are collected through the data collection unit 21 to form real-time incremental data. Real-time incremental data is the session request information and the corresponding associated attribute information sorted according to the receiving timestamp to form a real-time data stream.
[0078] Then, the feature extraction unit 22 extracts features from the real-time incremental data and the preset historical data to obtain real-time features and historical features, and then fuses the real-time features and historical features to generate multi-dimensional fused features.
[0079] The preset historical data is a collection of historical statistics related to session requests and Agent resource scheduling, categorized by tenant ID and platform identifier.
[0080] Feature extraction from real-time incremental data can yield real-time features, including real-time session volume, session increment rate, and data type. Feature extraction from preset historical data can yield historical features, including average session volume within the same short-term period, peak session volume within a long-term period, and data type percentage. Short-term and long-term are defined according to preset time windows, such as 7 days for short-term and 1 month for long-term.
[0081] After acquiring real-time and historical features, they are fused together, and the fused features are recorded as multidimensional fused features.
[0082] After obtaining the multidimensional fusion features, the session prediction unit 23 can generate session prediction information based on the multidimensional fusion features and a preset time-series prediction model.
[0083] Among them, the preset time-series prediction model is based on a time-series prediction algorithm, such as combining LSTM and ARIMA, using historical data classified by "tenant ID + platform identifier" as training data. The session prediction model generated through training can output session prediction information for a future period of time.
[0084] Using multi-dimensional fusion features as input, a preset time-series prediction model can generate session prediction information. The session prediction information includes the prediction time window, the total number of predicted sessions, the proportion of each data type, and the peak period. All of these are classified according to "tenant ID + platform identifier" and preset time windows, such as the next 30 minutes, 1 hour, 2 hours, etc.
[0085] Since real-time incremental data is continuously accumulated data, in addition to assisting in session prediction, it can also be used to compare and verify the predicted data against the newly acquired actual data, so as to optimize the preset time series prediction model.
[0086] Therefore, after obtaining the session prediction information, the model update unit 24 will extract the actual session information from the real-time incremental data based on the session prediction information, compare the session prediction information with the actual session information, calculate the prediction deviation, and update the preset time series prediction model based on the prediction deviation.
[0087] Prediction bias can be calculated using the root mean square error (RMSE). If the bias exceeds a preset bias threshold, a model update will be triggered. For example, the parameters of the preset time series prediction model can be adjusted, and the latest actual data can be incorporated for retraining to generate an updated time series prediction model. In this way, the accuracy of session prediction can be improved through continuous iterative optimization.
[0088] After obtaining the session prediction information, the resource requirements for the current period and the future can be determined by combining the current session request information. Then, resource scheduling planning can be carried out in advance. Specifically, the scheduling control center 30 calculates the Agent resource supply and demand gap based on the session request information and session prediction information, and generates scheduling instructions based on the Agent resource supply and demand gap. After the scheduling instructions are executed, the target Agent instance is allocated according to the tenant ID.
[0089] Specifically, see Figure 3 The scheduling and control center 30 includes a cross-platform synchronization unit 31, a resource gap calculation unit 32, a scheduling instruction generation unit 33, an Agent instance allocation unit 34, and a platform link docking unit 35.
[0090] Among them, the cross-platform synchronization unit 31 is used to collect and synchronize the running status of Agent instances on each platform in real time.
[0091] The resource gap calculation unit 32 is used to determine the total resource demand based on session request information and session prediction information, and to obtain the running status of the associated Agent instance based on the platform identifier and tenant ID. Based on the running status of the associated Agent instance, it calculates the current available supply, compares it with the total resource demand, and calculates the resource supply and demand gap.
[0092] The scheduling instruction generation unit 33 is used to determine the scheduling instruction type based on the resource supply and demand gap, and bind the platform identifier and tenant ID to form a scheduling instruction.
[0093] Agent instance allocation unit 34 is used to determine the set of available Agent instances for a tenant based on the tenant ID after the scheduling instruction is executed, and select a unique target Agent instance from the set.
[0094] The platform link docking unit 35 is used to determine the target platform based on the current platform identifier and establish a communication link between the target Agent instance and the target platform.
[0095] First, before allocating Agent instances, it is necessary to understand the running status of Agent instances on each platform. The running status of Agent instances on each platform will be collected and synchronized in real time through the cross-platform synchronization unit 31.
[0096] The Agent instance running status includes basic identification fields, namely instance ID, tenant ID, and platform identifier; lifecycle status, which is divided into idle, in service, pending service, and offline; load status field, which indicates the current number of sessions; and resource usage fields, including CPU utilization, memory utilization, and network bandwidth usage.
[0097] Then, the resource supply and demand gap can be calculated through the resource gap calculation unit 32. The resource supply and demand gap = total resource demand - current available supply.
[0098] Based on the session request information and session prediction information, real-time demand and predicted demand are determined respectively. Real-time demand is the number of currently unprocessed session requests, which is categorized and counted according to "tenant ID + platform identifier + data type". Predicted demand is the predicted number of sessions in the future, such as the predicted number of sessions in the next hour, which is categorized and counted according to the same dimension. Then, based on the real-time demand and predicted demand, the total resource demand can be determined, that is, total resource demand = real-time demand + predicted demand.
[0099] Based on the platform identifier and tenant ID, the running status of the associated Agent instance can be obtained. Based on the running status of the associated Agent instance, the current available supply can be calculated. The calculation of the current available supply requires first filtering out the available Agent instances that can support new sessions. The filtering conditions are that the lifecycle status is "in space" or "in service" (excluding "pending service" and "offline, the former is locked and the latter cannot support), and the CPU utilization and memory utilization are both less than the corresponding preset thresholds.
[0100] The remaining capacity of available instances is then added together to obtain the current available supply. The remaining capacity of an available instance = the session capacity threshold of that instance - the current number of sessions of that instance. The session capacity threshold refers to the maximum number of sessions that a single Agent instance can handle at the same time, for example, 10.
[0101] Once the resource supply and demand gap is confirmed, the scheduling instruction generation unit 33 can determine the type of scheduling instruction based on the resource supply and demand gap, and bind the platform identifier and tenant ID to form a scheduling instruction.
[0102] The instruction types are divided into start instructions, destroy instructions, and allocate instructions. Start instructions are generated when resources are insufficient; destroy instructions are generated when resources are redundant; and allocate instructions are generated when there is a real-time session request and resources are sufficient.
[0103] If the resource supply-demand gap > 0, it indicates insufficient resources, and the instruction type is determined to be a start instruction; if the resource supply-demand gap ≤ -m, it indicates resource redundancy, and the instruction type is determined to be a destroy instruction; if -m ≤ resource supply-demand gap < 0, the resource supply and demand are balanced, and no scheduling instruction needs to be generated.
[0104] This is mainly to take into account the real-time fluctuation characteristics of session volume and the system cost of starting and stopping instances. Therefore, a buffer capacity is reserved, which is m here, that is, the maximum redundant implementation capacity allowed. For example, it is set to m=5, which can be flexibly set according to the actual situation.
[0105] After the scheduling instruction is determined, it will be executed through the task scheduling management module 40. After the execution is completed, the Agent instance allocation unit 34 will determine the available Agent instance set for the tenant based on the tenant ID, and select a unique target Agent instance from the set.
[0106] To determine available Agent instances, the filtering criteria are the same as above, except an additional tenant ID matching is added. This means matching the tenant ID of the current session request, which represents all available Agent instances for that tenant. These are then grouped into a set. A unique target Agent instance is selected from this set, following a preset selection rule: available Agent instances in the set are prioritized. The priority rules are as follows: Priority 1: Idle instances take precedence over active instances; Priority 2: Active instances are sorted in descending order of remaining capacity (higher remaining capacity has higher priority); Priority 3: When remaining capacity is the same, instances are sorted in descending order of creation timestamp (newest created instance has priority).
[0107] After sorting by priority rules, the available Agent instance at the top of the sort is the target Agent instance.
[0108] After confirming the target Agent instance, the platform link docking unit 35 will determine the target platform based on the current platform identifier and establish a communication link between the target Agent instance and the target platform to ensure stable transmission of session data.
[0109] Once the communication link is established, the system first reads the target platform's communication protocol, interface address, and authentication method from the system's built-in platform adaptation rule base. Then, it sends a link configuration instruction to the target Agent instance, which includes the platform interface address, authentication parameters, and protocol type, and initiates an authentication request to verify the Agent instance's communication permissions with the platform.
[0110] After the link is successfully established, the corresponding "link established successfully" feedback information will be obtained, triggering the cross-platform synchronization unit 31 to update the instance status to "service"; if the link fails to be established, the corresponding "link established failed" feedback information will also be obtained, triggering the Agent instance allocation unit 34 to reselect the target Agent instance.
[0111] As mentioned above, after the scheduling instruction is determined, it will be executed through the task scheduling management module 40. The task scheduling management module 40 is mainly responsible for receiving, verifying, sorting and executing the scheduling instructions generated by the scheduling control center 30 to ensure the orderly execution of Agent instance lifecycle operations.
[0112] Specifically, see Figure 4 The task scheduling management module 40 includes a scheduling instruction receiving unit 41, a scheduling queue management unit 42, a scheduling instruction execution unit 43, and an execution result feedback unit 44.
[0113] The scheduling instruction receiving unit 41 is used to receive scheduling instructions from the scheduling control center and to verify the scheduling instructions.
[0114] The scheduling queue management unit 42 is used to generate an ordered queue, denoted as the task scheduling queue, according to preset rules for the verified scheduling instructions.
[0115] The scheduling instruction execution unit 43 is used to execute the corresponding Agent instance lifecycle operations according to the task scheduling queue and the instruction type of the scheduling instruction.
[0116] The execution result feedback unit 44 is used to generate a structured execution result after each instruction is executed and to feed the execution result back to the scheduling control center.
[0117] First, the scheduling instructions generated by the scheduling control center 30 will be received through the scheduling instruction receiving unit 41, and the scheduling instructions will be verified.
[0118] Verification mainly includes integrity verification and validity verification. Integrity verification checks whether the required fields of the scheduling instruction are complete, such as the instruction unique ID, tenant ID, platform identifier, and instruction type. If any are missing, the instruction is deemed "invalid". Validity verification verifies whether the tenant ID is a registered tenant of the system, whether the platform identifier is within the supported range, whether the number of instances launched exceeds the tenant's resource quota (e.g., a tenant can run a maximum of 20 instances at the same time), and whether the target instance ID exists.
[0119] If the verification passes, the scheduling queue management unit 42 will generate an ordered queue of the verified scheduling instructions according to preset rules and record it as the task scheduling queue.
[0120] An ordered queue is generated according to a preset sorting rule. The sorting rule is as follows: execution priority: start instruction > allocate instruction > destroy instruction; instruction generation time: within the same priority, instructions are sorted in ascending order by the instruction generation timestamp; tenant priority: instructions with the same priority and the same timestamp are sorted in descending order by tenant priority: high-paying tenant > ordinary tenant > trial tenant.
[0121] After the task scheduling queue is determined, the scheduling instruction execution unit 43 will execute the corresponding Agent instance lifecycle operations according to the task scheduling queue and the instruction type of the scheduling instruction in the order of the queue.
[0122] The lifecycle operations of an Agent instance are staged operations that revolve around the Agent instance from creation to destruction. They only include three core actions: startup, allocation, and destruction. All operations are bound to the tenant ID and platform identifier to ensure multi-tenant isolation and cross-platform compatibility.
[0123] In addition, when the scheduling instruction execution unit 43 executes Agent instance lifecycle operations, it directly connects to the hardware resources and instance management interface that carry the Agent instance. By calling the underlying resource interface and instance configuration interface, it completes operations such as resource binding, instance creation, session allocation, resource release and status change, ensuring the real-time performance and uniqueness of the operations.
[0124] Finally, the execution result feedback unit 44 generates a structured execution result after each instruction is executed and feeds the execution result back to the scheduling control center.
[0125] The structured execution result includes the instruction ID, execution status: success / failure, agent instance ID, and current instance status: ready / serving / destroyed.
[0126] After receiving the feedback execution result, if the execution status is successful, the scheduling control center 30 will allocate the target Agent instance to the current session request through the Agent instance allocation unit 34.
[0127] Considering that data leakage or data interference can easily occur when multiple tenants share system resources, a hierarchical isolation control module 50 is also used to implement hierarchical security protection for multi-tenant data.
[0128] Specifically, the hierarchical isolation control module 50 includes a sensitivity level determination unit 51, a hierarchical isolation unit 52, a tenant resource isolation unit 53, and an encrypted transmission unit 54.
[0129] The sensitivity level determination unit 51 is used to determine the sensitivity level based on the data type and through preset mapping rules.
[0130] The hierarchical isolation unit 52 is used to match the corresponding basic isolation policy according to the sensitivity level through the preset isolation policy library, and obtain the tenant's personalized configuration parameters according to the tenant ID through the preset tenant information library, and integrate the basic isolation policy with the personalized configuration parameters to generate a tenant-specific isolation policy.
[0131] The tenant resource isolation unit 53 is used to perform tenant-specific resource allocation, isolation operations and access control according to the tenant-specific isolation policy.
[0132] The encrypted transmission unit 54 is used to match an encryption algorithm with corresponding security strength according to the tenant-specific isolation policy, encrypt the session request information through the encryption algorithm, and generate a unique temporary key to synchronize with the target Agent instance corresponding to the tenant.
[0133] First, the sensitivity level determination unit 51 determines the sensitivity level based on the data type and a preset mapping rule.
[0134] The preset mapping rule involves pre-setting sensitivity levels and defining each sensitivity level accordingly, thus clarifying the sensitivity level corresponding to different business data types.
[0135] If the data type is general consultation data, such as product function consultation, without privacy or core business information, the sensitivity level is defined as Level 1; if the data type is business-related data, such as order number, delivery address, logistics information, etc., involving tenant business data but without direct property risk, the sensitivity level is defined as Level 2; if the data type is core privacy data, such as bank card number, mobile phone number, ID card number, etc., core privacy data, leakage of which could easily lead to property loss, the sensitivity level is defined as Level 3.
[0136] After determining the sensitivity level, the hierarchical isolation unit 52 will match the corresponding basic isolation policy according to the sensitivity level through the preset isolation policy library, and obtain the tenant's personalized configuration parameters according to the tenant ID through the preset tenant information library. The basic isolation policy and personalized configuration parameters will be integrated to generate a tenant-specific isolation policy.
[0137] The preset isolation policy library stores corresponding basic isolation policies according to sensitivity levels. The isolation policy includes three sections: isolation method, encryption method, and access control.
[0138] For example, for Sensitivity Level 1, the corresponding basic isolation strategy is: 1. Isolation method: Logical isolation (shared resources, tenant-specific directory); 2. Encryption method: No strong encryption required; 3. Access control: Ordinary tenant accounts can access.
[0139] Sensitivity level 2, the corresponding basic isolation strategy is as follows: 1. Isolation method: logical isolation (dedicated cache partition); 2. Encryption method: field-level encryption (default AES-256); 3. Access control: access is allowed only by specified role accounts + access auditing.
[0140] Sensitivity level 3, the corresponding basic isolation strategy is as follows: 1. Isolation method: physical isolation (independent storage node); 2. Encryption method: transmission + storage dual encryption (default SM4); 3. Access control: super administrator + secondary authentication + full audit.
[0141] The default tenant information database is a built-in independent data storage unit for each tenant. It is used to centrally store personalized configuration parameters related to tenant data isolation and security protection, mainly including security requirements, such as the need to upgrade encryption algorithms and tighten access permissions.
[0142] The integration of basic isolation strategies with personalized configuration parameters is essentially an upgrade based on the basic isolation strategy according to the tenant's personalized needs. For example, the original two-level encryption method can be upgraded to a three-level encryption method, thus generating a tenant-specific isolation strategy.
[0143] Once the tenant-specific isolation policy is determined, the tenant resource isolation unit 53 can be used to perform tenant-specific resource allocation, isolation operations, and access control according to the tenant-specific isolation policy.
[0144] This involves allocating independent operating resources (such as cache space, computing resource quotas, etc.) to the Agent instance of the corresponding tenant, creating a dedicated data storage directory (physical / logical isolation), and blocking unauthorized cross-tenant access behavior in accordance with access control.
[0145] At the same time, the encrypted transmission unit 54 will match the corresponding security strength encryption algorithm according to the tenant's exclusive isolation policy, encrypt the session request information through the encryption algorithm, and generate an exclusive temporary key to be synchronized to the target Agent instance corresponding to the tenant.
[0146] Encryption processing involves encrypting sensitive fields (such as order numbers and bank card numbers) in the session request information to generate ciphertext data (ciphertext data format: encryption algorithm identifier + ciphertext content + encryption timestamp). A unique temporary key is then generated for the ciphertext data. For example, if the sensitivity level is level 2, a 16-byte random string is generated as the AES key, and the unique temporary key is synchronized to the target Agent instance corresponding to the tenant to ensure that only the target Agent instance can decrypt the session data during transmission.
[0147] The encrypted data is transmitted to the target Agent instance through the communication link established by the platform link docking unit. The target instance can then process the session after decrypting the data with the received temporary key.
[0148] In addition, to address the issues of inconsistent permission rules and permission confusion across multiple platforms, a dynamic permission adaptation module 60 has been added. This module is used to establish and maintain exclusive association and binding relationships between tenants, accounts, roles and Agent instances based on a preset role permission control model, convert tenant-specific permissions into a target platform-compatible format, and inject them into the corresponding Agent instance.
[0149] Among them, the preset role permission control model is a permission allocation template designed with RBAC (Role-Based Access Control) as the framework. In essence, permissions are first assigned to roles, and then a templated tool is used to associate roles with accounts and Agent instances.
[0150] First, each registered tenant will be assigned an independent permission scope. Then, permissions will be bound to preset basic roles. Preset basic roles include, for example, ordinary customer service and administrator. Different roles have different permissions.
[0151] Next, the tenant creates accounts within their own permission scope, such as Customer Service A and Administrator B, and binds one or more roles to each account. For example, Customer Service A is bound to a regular customer service representative, and Administrator B is bound to an administrator.
[0152] Finally, the Agent instance is bound to the tenant and role. When the Agent instance is created, it is bound to the tenant ID and the corresponding role. In this way, the Agent instance can only inherit the permissions of the bound role and can only access the data of the tenant to which it belongs, thus realizing instance-specific permissions.
[0153] This establishes a unique association between tenants, accounts, roles, and Agent instances. This association ensures that the roles and permissions of different tenants are completely independent, meaning each tenant has their own dedicated permissions. Furthermore, during subsequent maintenance, when role permission adjustments or account role changes are requested, the updated permission configurations can be synchronized to the associated Agent instances in real time, taking effect without requiring a restart of the Agent instances.
[0154] In addition, to address the issue of inconsistent permission rules across multiple platforms, tenant-specific permissions can be converted into a target platform-compatible format and injected into the corresponding Agent instance. That is, by using a preset platform permission adaptation rule base, the permission mapping relationship of the platform can be read from the rule base based on the "tenant ID + role + platform identifier" associated with the Agent instance. Finally, the tenant's local permissions are converted into platform-recognizable permission instructions and interface parameters.
[0155] The preset platform permission adaptation rule base stores the permission interface parameters and permission mapping relationships of each platform.
[0156] It is worth noting that, in addition to realizing cross-platform adaptation of permissions and ensuring that the permissions of Agent instances are accurately matched with tenant requirements and platform rules, the permission dynamic adaptation module 60 also collaborates with the scheduling control center 30, the task scheduling management module 40, and the hierarchical isolation control module 50. For example, it provides support for permission injection when Agent instances are started, permission verification when target Agent instances are selected, and permission adaptation when platform links are established. This ensures that the permission scope of Agent instances is accurately matched with tenant configurations and cross-platform interface requirements, effectively reducing the risk of cross-tenant unauthorized access or permission adaptation failure.
[0157] This application also provides an Agent resource scheduling and isolation method for multi-tenant, multi-platform environments. See [link to relevant documentation]. Figure 5 It includes the following steps:
[0158] S100: Receive session request information and identify the corresponding associated attribute information.
[0159] S200. Based on the session request information and associated attribute information, generate session prediction information using preset historical data and preset time-series prediction models.
[0160] S300: Calculate the Agent resource supply and demand gap based on session request information and session prediction information, and generate scheduling instructions based on the Agent resource supply and demand gap.
[0161] S400: Generate a task scheduling queue according to the scheduling instructions, and execute the scheduling instructions according to the task scheduling queue. After the scheduling instructions are executed, allocate a target Agent instance according to the tenant ID.
[0162] S500 determines the sensitivity level based on the data type, generates a tenant-specific isolation policy based on the tenant ID, and formulates encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy.
[0163] In this embodiment of the application, a session request message is first received and the corresponding associated attribute information is identified, including the tenant ID, platform identifier and data type.
[0164] Then, based on the session request information and associated attribute information, session prediction information is generated using preset historical data and preset time-series prediction models.
[0165] In other words, session request information and associated attribute information are used as real-time incremental data, combined with preset historical data, and a preset time-series prediction model is used to generate session prediction information for a certain period of time in the future.
[0166] Next, based on the session request information and session prediction information, the supply and demand gap of Agent resources is calculated, and scheduling instructions are generated based on the supply and demand gap of Agent resources.
[0167] Specifically, based on session request information and session prediction information, the supply and demand gap of Agent resources is calculated, and scheduling instructions are generated based on the supply and demand gap of Agent resources, including the following steps:
[0168] S310: Real-time collection and synchronization of the running status of Agent instances on various platforms.
[0169] S320. Based on the session request information and session prediction information, determine the total resource demand, and based on the platform identifier and tenant ID, obtain the running status of the associated Agent instance. Based on the running status of the associated Agent instance, calculate the current available supply, compare it with the total resource demand, and calculate the resource supply and demand gap.
[0170] S330. Based on the resource supply and demand gap, determine the type of scheduling instruction and bind it to the platform identifier and tenant ID to form a scheduling instruction.
[0171] First, the running status of Agent instances on each platform is collected and synchronized in real time. Each Agent instance is bound to a platform identifier and a tenant ID.
[0172] Then, based on the session request information and session prediction information, the total resource demand is determined, and based on the platform identifier and tenant ID, the running status of the associated Agent instance is obtained. Based on the running status of the associated Agent instance, the current available supply is calculated, and compared with the total resource demand, the resource supply and demand gap is calculated.
[0173] Finally, based on the resource supply and demand gap, the scheduling instruction type can be determined. By binding the scheduling instruction type to the platform identifier and tenant ID, a scheduling instruction can be formed.
[0174] After obtaining the scheduling instructions, a task scheduling queue can be generated according to the scheduling instructions, and the scheduling instructions can be executed in an orderly manner according to the task scheduling queue. After the scheduling instructions are executed, the available Agent instances for the tenant will be determined according to the tenant ID, and one of them will be selected as the target Agent instance.
[0175] Finally, based on the data type, the sensitivity level is determined, and combined with the tenant ID, a tenant-specific isolation policy is generated. Based on the tenant-specific isolation policy, encrypted transmission rules and storage access permissions are formulated.
[0176] Specifically, the sensitivity level is determined based on the data type, and a tenant-specific isolation policy is generated by combining the tenant ID. Encrypted transmission rules and storage access permissions are then established based on the tenant-specific isolation policy, including the following steps:
[0177] S510. Based on the data type, determine the sensitivity level using preset mapping rules.
[0178] S520: Based on the sensitivity level, match the corresponding basic isolation policy through the preset isolation policy library, and obtain the tenant's personalized configuration parameters through the preset tenant information library based on the tenant ID. Then, integrate the basic isolation policy with the personalized configuration parameters to generate a tenant-specific isolation policy.
[0179] S530: Based on the tenant-specific isolation policy, perform tenant-specific resource allocation, isolation operations, and access control.
[0180] S540: Based on the tenant-specific isolation policy, match the corresponding security strength encryption algorithm, encrypt the session request information using the encryption algorithm, and generate a unique temporary key to synchronize with the tenant's corresponding target Agent instance.
[0181] First, based on the data type, the sensitivity level is determined through preset mapping rules.
[0182] Then, based on the sensitivity level, the corresponding basic isolation policy is matched through the preset isolation policy library, and the tenant's personalized configuration parameters are obtained through the preset tenant information library based on the tenant ID. The basic isolation policy and the personalized configuration parameters are then merged to generate a tenant-specific isolation policy.
[0183] Finally, based on the tenant-specific isolation policy, encrypted transmission rules and storage access permissions can be formulated. Then, based on the storage access permissions, tenant-specific resource allocation, isolation operations, and access control are executed, and the execution results are fed back. At the same time, based on the encrypted transmission rules, an encryption algorithm with corresponding security strength can be matched, and the session request information is encrypted through the encryption algorithm. A unique temporary key is generated and synchronized to the tenant's corresponding target Agent instance to ensure that only the target Agent instance can decrypt the session data during transmission.
[0184] This application also provides a computer-readable storage medium storing a computer program that can be loaded by a processor and executed by any of the above-described multi-tenant, multi-platform Agent resource scheduling and isolation methods.
[0185] The embodiments described in this application are preferred embodiments of this application and are not intended to limit the scope of protection of this application. Therefore, all equivalent changes made in accordance with the principles of this application should be included within the scope of protection of this application.
Claims
1. A multi-tenant, multi-platform Agent resource scheduling and isolation system, characterized in that, include: The data receiving module is used to receive session request information and identify the corresponding associated attribute information, including tenant ID, platform identifier and data type; The intelligent scheduling and prediction module is used to generate session prediction information based on session request information and associated attribute information, through preset historical data and preset time-series prediction models; The scheduling and control center is used to calculate the supply and demand gap of Agent resources based on session request information and session prediction information, generate scheduling instructions based on the supply and demand gap of Agent resources, and allocate target Agent instances based on tenant ID after the scheduling instructions are executed. The task scheduling management module is used to generate a task scheduling queue based on scheduling instructions and to execute scheduling instructions based on the task scheduling queue. The hierarchical isolation control module is used to determine the sensitivity level based on the data type, combine it with the tenant ID, generate a tenant-specific isolation policy, and formulate encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy. The dispatch control center includes: The cross-platform synchronization unit is used to collect and synchronize the running status of Agent instances on various platforms in real time. The resource gap calculation unit is used to determine the total resource demand based on session request information and session prediction information, and to obtain the running status of the associated Agent instance based on the platform identifier and tenant ID. Based on the running status of the associated Agent instance, it calculates the current available supply, compares it with the total resource demand, and calculates the resource supply and demand gap. The scheduling instruction generation unit is used to determine the type of scheduling instruction based on the resource supply and demand gap, and bind the platform identifier and tenant ID to form the scheduling instruction; The Agent instance allocation unit is used to determine the set of available Agent instances for a tenant based on the tenant ID after the scheduling instruction is executed, and to select a unique target Agent instance from the set. The platform link docking unit is used to determine the target platform based on the current platform identifier and establish a communication link between the target Agent instance and the target platform. The hierarchical isolation control module includes: The sensitivity level determination unit is used to determine the sensitivity level based on the data type and through preset mapping rules; The hierarchical isolation unit is used to match the corresponding basic isolation policy according to the sensitivity level through the preset isolation policy library, and obtain the tenant's personalized configuration parameters according to the tenant ID through the preset tenant information library. The basic isolation policy and personalized configuration parameters are then integrated to generate a tenant-specific isolation policy. The tenant resource isolation unit is used to perform tenant-specific resource allocation, isolation operations, and access control according to the tenant-specific isolation policy. The encrypted transmission unit is used to match the corresponding security strength of the encryption algorithm according to the tenant's exclusive isolation policy, encrypt the session request information through the encryption algorithm, and generate an exclusive temporary key to be synchronized to the target Agent instance corresponding to the tenant.
2. The Agent resource scheduling and isolation system for multi-tenant, multi-platform environments according to claim 1, characterized in that, The intelligent scheduling and prediction module includes: The data collection unit is used to collect session request information and corresponding associated attribute information to form real-time incremental data. The feature extraction unit is used to extract features from real-time incremental data and preset historical data to obtain real-time features and historical features, and to fuse the real-time features and historical features to generate multi-dimensional fused features. The conversation prediction unit is used to generate conversation prediction information based on multi-dimensional fusion features and a preset time-series prediction model. The model update unit is used to extract actual session information from real-time incremental data based on session prediction information, compare session prediction information and actual session information, calculate prediction deviation, and update the preset time series prediction model based on prediction deviation.
3. The Agent resource scheduling and isolation system for multi-tenant, multi-platform environments according to claim 1, characterized in that, The scheduling instructions include instruction types, and the task scheduling management module includes: The dispatch instruction receiving unit is used to receive dispatch instructions from the dispatch control center and to verify the dispatch instructions; The scheduling queue management unit is used to generate an ordered queue, denoted as the task scheduling queue, according to preset rules for the verified scheduling instructions; The scheduling instruction execution unit is used to execute the corresponding Agent instance lifecycle operations according to the task scheduling queue and the instruction type of the scheduling instruction. The execution result feedback unit is used to generate a structured execution result after each instruction is executed and to feed the execution result back to the scheduling control center.
4. The Agent resource scheduling and isolation system for multi-tenant, multi-platform environments according to claim 1, characterized in that, The system also includes: The permission dynamic adaptation module is used to establish and maintain exclusive association and binding relationships between tenants, accounts, roles and Agent instances based on a preset role permission control model, convert the tenant's exclusive permissions into a target platform-compatible format and inject them into the corresponding Agent instance.
5. A method for agent resource scheduling and isolation for multi-tenant, multi-platform environments, characterized in that, An Agent resource scheduling and isolation system for multi-tenant, multi-platform environments, as described in claim 1, includes: Receive session request information and identify the corresponding associated attribute information, which includes tenant ID, platform identifier and data type; Based on the session request information and associated attribute information, session prediction information is generated using preset historical data and preset time-series prediction models; Based on session request information and session prediction information, calculate the supply and demand gap of Agent resources, and generate scheduling instructions based on the supply and demand gap of Agent resources; A task scheduling queue is generated based on the scheduling instructions, and the scheduling instructions are executed based on the task scheduling queue. After the scheduling instructions are executed, a target Agent instance is allocated based on the tenant ID. Based on the data type, determine the sensitivity level, combine it with the tenant ID, generate a tenant-specific isolation policy, and formulate encrypted transmission rules and storage access permissions based on the tenant-specific isolation policy.
6. A computer-readable storage medium storing a computer program that can be loaded by a processor and executed as described in claim 5, an Agent resource scheduling and isolation method for multi-tenant, multi-platform environments.