Resource scheduling method and related device

By determining tenant categories and adjusting attribute information, the rational allocation of resources in the multi-tenant architecture is achieved, service efficiency is improved and operational costs are reduced.

CN120216190APending Publication Date: 2025-06-27HUNAN HAPPLY SUNSHINE INTERACTIVE ENTERTAINMENT MEDIA CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510344869.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In the SaaS model of multi-tenant architecture, how to achieve reasonable allocation and expansion of resources to improve service efficiency and reduce operational costs.

Method used

By determining the tenant category based on the attribute information of the target tenant and the similarity of the preset tenant category cluster, adjusting the content based on the tenant business characteristics, adjusting the attribute information using the weighting coefficient matrix, and then determining the platform services corresponding to the tenant business, realizing targeted resource allocation.

Benefits of technology

It improves the rationality of resource allocation, improves service efficiency, and effectively reduces the operating costs of tenants.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120216190A_ABST
    Figure CN120216190A_ABST
Patent Text Reader

Abstract

The invention discloses a resource scheduling method and a related device, relates to the field of software services, and determines the tenant category of a target tenant according to the attribute information of the target tenant and the similarity between preset tenant category clusters. And according to the tenant category and the tenant business required to be used by the target tenant, determining the content which needs to adjust the tenant feature adaptation of each tenant business according to the features of the tenant business. And then adjusting the attribute information according to the adjustment content so as to obtain each piece of adjusted attribute information. And according to the similarity between each piece of adjusted attribute information and the attribute information of each piece of platform service, determining the platform service correspondingly used by each tenant service. The platform service resources are distributed in a targeted mode according to the tenant attributes and the similarity between the tenant services needed by the tenants and the platform services, then reasonable distribution of the platform resources is effectively improved, and meanwhile the operation cost of the tenants can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of software services, and in particular, to a resource scheduling method and related devices. Background Art

[0002] The SaaS (Software-as-a-Service) model has become the preferred choice for enterprise services due to its flexibility, high efficiency, lower cost, etc. As one of the core concepts of SaaS, the multi-tenant architecture has a profound impact on the design and development of software. It effectively reduces the operating costs of enterprises through resource sharing and dynamic expansion, and at the same time supports rapid deployment and update, improving service efficiency. Among them, how to more reasonably allocate and expand the resources required by each tenant has become the key to improving service efficiency. Summary of the Invention

[0003] In view of the above problems, this application provides a resource scheduling method and related devices to achieve the purpose of improving service efficiency and the rationality of resource allocation. The specific solutions are as follows: In the first aspect of this application, a resource scheduling method is provided, including: Determining the tenant category of the target tenant according to the attribute information of the target tenant and the similarity between each preset tenant category cluster; Determining the tenant feature adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant; Determining the platform service corresponding to each tenant service according to the similarity between each adjusted attribute information and the attribute information of each platform service, where each adjusted attribute information is obtained by adjusting the attribute information according to a corresponding tenant feature adjustment content.

[0004] In a possible implementation, the determining the tenant category of the target tenant according to the attribute information of the target tenant and the similarity between each preset tenant category cluster includes: Determining the tenant category according to the distance between the first feature vector representing the attribute information and each preset tenant category cluster.

[0005] In a possible implementation, the determining the tenant feature adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant includes: Determining a first weighted coefficient matrix according to the tenant category; Adjusting the first weighted coefficient matrix according to each tenant service to obtain a second weighted coefficient matrix corresponding to each tenant service, and using the second weighted coefficient matrix as the tenant feature adjustment content.

[0006] In a possible implementation, the determination process of each of the adjusted attribute information includes: Multiply the first feature vector representing the attribute information by a corresponding second weighted coefficient matrix to obtain a calculation result vector, and use the calculation result vector to represent the adjusted attribute information.

[0007] In a possible implementation, determining each platform service used by each tenant service according to the similarity between each adjusted attribute information and the attribute information of each platform service includes: For each of the calculation result vectors, calculate the distances between the calculation result vector and each second feature vector respectively to obtain a preset number of distance values, and use the platform service corresponding to the minimum value among the preset number of distance values as the platform service used by the tenant service. The second feature vector represents the attribute information of the platform service, and the preset number is the number of platform services.

[0008] In a possible implementation, the determination process of the preset tenant category clusters includes: Obtain distance calculation result data according to a distance determination algorithm for the distances between the attribute feature vectors of tenants; Perform clustering processing on the distance calculation result data according to a clustering algorithm to obtain the preset tenant category clusters.

[0009] In a possible implementation, before obtaining the distance calculation result data according to the distance determination algorithm for the distances between the attribute feature vectors of tenants, it further includes: Perform normalization processing on the tenant attribute vector of each tenant to obtain the attribute feature vector of the tenant.

[0010] A second aspect of the present application provides a resource scheduling device, including: A tenant category determination module, configured to determine the tenant category of the target tenant according to the similarity between the attribute information of the target tenant and each preset tenant category cluster; A feature content adjustment module, configured to determine the tenant feature adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant; and A platform service scheduling module, configured to determine each platform service used by each tenant service according to the similarity between each adjusted attribute information and the attribute information of each platform service. Each adjusted attribute information is obtained by adjusting the attribute information according to a corresponding tenant feature adjustment content.

[0011] A third aspect of the present application provides a computer program product, including computer-readable instructions, which, when running on an electronic device, enable the electronic device to implement the resource scheduling method according to the first aspect or any implementation manner of the first aspect described above.

[0012] A fourth aspect of the present application provides an electronic device, including at least one processor and a memory connected to the processor, where: The memory is used to store a computer program; The processor is used to execute the computer program, so that the electronic device can implement the resource scheduling method according to the first aspect or any implementation manner of the first aspect described above.

[0013] A fifth aspect of the present application provides a computer storage medium, which carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, the electronic device can implement the resource scheduling method according to the first aspect or any implementation manner of the first aspect described above.

[0014] By means of the above technical solution, the resource scheduling method provided by the present application determines the tenant category of the target tenant by calculating the similarity between the attribute information of the target tenant and each preset tenant category cluster. Then, according to the tenant category and the tenant services required by the target tenant, it determines the content that needs to be adjusted for the tenant feature adaptation of each tenant service according to the characteristics of the tenant service. Then, according to the adjustment content, the attribute information is adjusted respectively, and then each adjusted attribute information is obtained. According to the similarity between each adjusted attribute information and the attribute information of each platform service, it determines the platform service corresponding to each tenant service. It realizes the targeted allocation of platform service resources according to the similarity between tenant attributes, tenant services required by the tenant and platform services, thereby effectively improving the reasonable allocation of platform resources and reducing the operating costs of tenants at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Combined with the drawings and referring to the following specific implementation manners, the above and other features, advantages and aspects of the embodiments of the present disclosure will become more obvious. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the original components and elements are not necessarily drawn to scale.

[0016] Figure 1 It is an architecture diagram of a resource scheduling system provided by the present application; Figure 2 It is an architecture diagram of a terminal provided by the present application; Figure 3 It is an architecture diagram of a server provided by the present application; Figure 4Flowchart of a resource scheduling method provided by this application; Figure 5 Correspondence diagram of services required by a tenant provided by this application; Figure 6 Structural diagram of a resource scheduling device provided by this application; Figure 7 Structural diagram of an electronic device provided by this application. Detailed implementation manners

[0017] The embodiments of this application will be described below with reference to the accompanying drawings in the embodiments of this application. The terms used in the embodiments of this application are only for explaining the specific embodiments of this application, rather than aiming to limit this application.

[0018] The embodiments of this application will be described below with reference to the accompanying drawings. Those of ordinary skill in the art will know that with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are equally applicable to similar technical problems.

[0019] The terms "first", "second", etc. in the specification of this application and the above accompanying drawings are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances, which is only a way of distinguishing when describing objects with the same attributes in the embodiments of this application. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion, so that a process, method, system, product or device including a series of units does not have to be limited to those units, but may include other units not clearly listed or inherent to these processes, methods, products or devices.

[0020] See Figure 1 , Figure 1 shows a schematic architecture diagram of a resource scheduling system. The system may include a terminal 100 and a server 200. Among them, the server 200 may include one or more servers ( Figure 1 illustrated by taking one server as an example), and the server 200 may provide the resource scheduling method provided by the embodiments of this application for one or more terminals.

[0021] Among them, an application for obtaining tenant attribute information and services to be built may be installed on the terminal 100. The above application and web page may provide an information entry interface. The terminal 100 may receive relevant parameters input by the user on the information entry interface and send the above parameters to the server 200. The server 200 may obtain the processing result of resource allocation based on the received parameters and return the processing result to the terminal 100.

[0022] It should be understood that in some alternative implementations, the terminal 100 can also complete the action of obtaining the processing result based on the received parameters by itself, without the cooperation of the server. The embodiments of the present application do not limit this.

[0023] Next, the product form of the terminal 100 will be described. Figure 1 in the following; The terminal 100 in the embodiments of the present application can be a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. The embodiments of the present application do not make any restrictions on this.

[0024] Figure 2 FIG. shows an alternative hardware structure diagram of the terminal 100.

[0025] Referring to Figure 2 as shown, the terminal 100 may include a radio frequency unit 110, a memory 120, an input unit 130, a display unit 140, a camera 150 (optional), an audio circuit 160 (optional), a speaker 161 (optional), a microphone 162 (optional), a headphone jack 163 (optional), a processor 170, an external interface 180, a power supply 190, and other components. Those skilled in the art can understand that Figure 2 This is only an example of a terminal or a multifunctional device, and does not constitute a limitation on the terminal or the multifunctional device. It may include more or fewer components than shown in the figure, or combine some components, or different components.

[0026] The input unit 130 can be used to receive input numerical or character information, and generate key signal inputs related to the user settings and function controls of the portable multifunctional device. Specifically, the input unit 130 can include a touch screen 131 (optional) and / or other input devices 132. The touch screen 131 can collect touch operations of the user thereon or nearby (such as operations of the user using any suitable object such as a finger, a joint, a stylus, etc. on or near the touch screen), and drive corresponding connection devices according to a preset program. The touch screen can detect the touch actions of the user on the touch screen, convert the touch actions into touch signals and send them to the processor 170, and can receive and execute commands sent by the processor 170; the touch signals at least include contact coordinate information. The touch screen 131 can provide an input interface and an output interface between the terminal 100 and the user. In addition, various types such as resistive, capacitive, infrared, and surface acoustic wave can be adopted to implement the touch screen. In addition to the touch screen 131, the input unit 130 can also include other input devices. Specifically, the other input devices 132 can include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, etc.

[0027] Among them, the input device 132 can receive input service information data, etc.

[0028] The display unit 140 can be used to display information input by the user or information provided to the user, various menus of the terminal 100, an interactive interface, file display, and / or the playback of any multimedia file. In the embodiment of the present application, the display unit 140 can be used to display an information entry interface, a processing result, etc.

[0029] The memory 120 can be used to store instructions and data. The memory 120 mainly includes a storage instruction area and a storage data area. The storage data area can store various data, such as multimedia files, texts, etc.; the storage instruction area can store software units such as an operating system, applications, instructions required for at least one function, or their subsets, extended sets. It can also include a non-volatile random access memory; it provides the processor 170 with management of hardware, software, and data resources in the computing processing device, supports control software and applications. It is also used for the storage of multimedia files, and the storage of running programs and applications.

[0030] The processor 170 is the control center of the terminal 100, connecting various parts of the entire terminal 100 through various interfaces and circuits. By running or executing the instructions stored in the memory 120 and calling the data stored in the memory 120, it performs various functions of the terminal 100 and processes data, thereby exercising overall control over the terminal device. Optionally, the processor 170 may include one or more processing units; preferably, the processor 170 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communications. It can be understood that the above-mentioned modem processor may not be integrated into the processor 170. In some embodiments, the processor and the memory may be implemented on a single chip, and in some embodiments, they may also be separately implemented on independent chips. The processor 170 can also be used to generate corresponding operation control signals, send them to the corresponding components of the computing and processing device, read and process the data in the software, especially read and process the data and programs in the memory 120, so that each functional module therein executes the corresponding functions, thereby controlling the corresponding components to act according to the requirements of the instructions.

[0031] Among them, the memory 120 can be used to store the software code related to the resource scheduling method, and the processor 170 can execute the steps of the resource scheduling method or schedule other units (such as the above-mentioned input unit 130 and display unit 140) to implement the corresponding functions.

[0032] The radio frequency unit 110 (optional) can be used for receiving and transmitting information or signals during a call. For example, after receiving the downlink information from the base station, it is sent to the processor 170 for processing; in addition, the uplink data designed is sent to the base station. Generally, the RF circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the radio frequency unit 110 can also communicate with network devices and other devices through wireless communication. This wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.

[0033] Wherein, in the embodiment of the present application, the radio frequency unit 110 can send the tenant's attribute data and the service information to be constructed to the server 200, and receive the processing result of resource scheduling sent by the server 200.

[0034] It should be understood that the radio frequency unit 110 is optional and can be replaced by other communication interfaces, such as a network interface.

[0035] The terminal 100 further includes a power supply 190 (such as a battery) for supplying power to each component. Preferably, the power supply can be logically connected to the processor 170 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system.

[0036] The terminal 100 further includes an external interface 180, which can be a standard Micro USB interface or a multi-pin connector, and can be used to connect the terminal 100 to other devices for communication, or can be used to connect a charger to charge the terminal 100.

[0037] Although not shown, the terminal 100 may further include a flashlight, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with different functions, etc., which will not be elaborated here. Some or all of the methods described below can be applied to the terminal 100 as Figure 2 shown.

[0038] Next, the product form of the server 200 will be described. Figure 1 in the product form of the server 200; Figure 3 A schematic structural diagram of a server 200 is provided, as Figure 3 shown. The server 200 includes a bus 201, a processor 202, a communication interface 203, and a memory 204. The processor 202, the memory 204, and the communication interface 203 communicate with each other through the bus 201.

[0039] The bus 201 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 3 only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.

[0040] The processor 202 can be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc.

[0041] The memory 204 can include volatile memory, such as random access memory (RAM). The memory 204 can also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0042] Among them, the memory 204 can be used to store software codes related to the resource scheduling method, and the processor 202 can execute the steps of the resource scheduling method of the chip, or can also schedule other units to implement corresponding functions.

[0043] It should be understood that the above-mentioned terminal 100 and server 200 can be centralized or distributed devices, and the processors in the above-mentioned terminal 100 and server 200 (such as processor 170 and processor 202) can be hardware circuits (such as application specific integrated circuit (ASIC), field-programmable gate array (FPGA), general-purpose processor, digital signal processor (DSP), microprocessor or microcontroller, etc.), or a combination of these hardware circuits. For example, the processor can be a hardware system with the function of executing instructions, such as CPU, DSP, etc., or a hardware system without the function of executing instructions, such as ASIC, FPGA, etc., or a combination of the above hardware systems without the function of executing instructions and hardware systems with the function of executing instructions.

[0044] The embodiments of the present application provide a resource scheduling method. The resource scheduling method of the embodiments of the present application will be introduced in detail below with reference to the accompanying drawings.

[0045] Refer to Figure 4 , Figure 4 is a schematic flowchart of a resource scheduling method provided by the embodiments of the present application. As Figure 4 shown, the resource scheduling method provided by the embodiments of the present application may include steps 401 to 403, and these steps will be described in detail below.

[0046] 401. Determine the tenant category of the target tenant according to the attribute information of the target tenant and the similarity between each preset tenant category cluster.

[0047] In one embodiment, the attribute information of the tenant mainly includes: tenant identifier, storage size, access frequency, security level, service type, access area, etc., and these information can be represented by a multi-dimensional feature vector. The preset tenant category cluster can calculate the distance between numerous tenants (i.e., the distance between each feature vector) by using a suitable distance algorithm. Then, according to the distance calculation result, use the clustering algorithm to divide the tenants into different clusters. Tenants within the same cluster have similar features, and thus multiple clusters are obtained. Then each cluster corresponds to a user category. By calculating the distance between the first feature vector representing the attribute information of the target tenant and each preset tenant category cluster, determine the tenant category cluster (such as exclusive category, shared category, hybrid category, etc.) to which the target tenant belongs, and then according to the tenant category corresponding to the tenant category cluster, further determine the tenant category of the target tenant.

[0048] 402. Determine the tenant feature adjustment content for each tenant service based on the tenant category and the tenant services associated with the target tenant.

[0049] Refer to Figure 5 As shown, each tenant service typically uses multiple platform services, such as web services (e.g., business management background), business services, and basic services (e.g., cache, database, message queue, gateway, load balancer, object storage), etc. Each service has its own unique attributes. The first weighted coefficient matrix can be determined according to the tenant category. Then, the first weighted coefficient matrix is adjusted for each tenant service to obtain the second weighted coefficient matrix corresponding to each tenant service, and the second weighted coefficient matrix is used as the tenant feature adjustment content.

[0050] When a tenant is associated with multiple vertical services, multiple second weighted coefficient matrices are obtained by adjusting the first weighted coefficient matrix. For example, for the storage service, if it is more concerned about storage size and io throughput, the weight values of the relevant elements in the corresponding weighted coefficient matrix W will increase. The number of rows of W is the same as the number of columns of the tenant feature vector.

[0051] 403. Determine the platform services used by each tenant service according to the similarity between each adjusted attribute information and the attribute information of each platform service. Each adjusted attribute information is obtained by adjusting the attribute information according to the corresponding tenant feature adjustment content.

[0052] In one embodiment, the first feature vector representing the attribute information is multiplied by the corresponding second weighted coefficient matrix to obtain a calculation result vector, and the calculation result vector represents the adjusted attribute information. For each calculation result vector, the distances between the calculation result vector and each second feature vector are calculated respectively to obtain a preset number of distance values, and the platform service corresponding to the minimum value among the preset number of distance values is used as the platform service used by the tenant service. The second feature vector represents the platform service attribute information, and the preset number is the number of platform services.

[0053] Then, the identifier of the determined platform service is associated with the target tenant and the vertical service, so as to realize resource scheduling and diversion according to this mapping relationship. Furthermore, the logical and physical isolation of service resources among tenants is realized, the multi-tenant isolation goal is achieved, the resource sharing ability within the platform can be effectively improved, and the tenant operation cost can be effectively reduced.

[0054] In some specific embodiments, the determination process of the preset tenant category cluster in the above embodiment may specifically include the following processing process: Obtain the distance calculation result data according to the distance determination algorithm for the distance between the attribute feature vectors of the tenants.

[0055] Cluster the distance calculation result data according to the clustering algorithm to obtain the preset tenant category clusters.

[0056] Specifically, first represent each tenant attribute (such as tenant ID, storage size, access frequency, access time range, security level, business type, access area) as a multi-dimensional feature vector, the tenant attribute vector , where is the value of the i-th feature.

[0057] Feature vector standardization: To ensure the comparability of features between different dimensions, it is necessary to standardize the tenant attribute vector. Common standardization methods include Z-score, Min-Max, etc. For example, using Z-score standardization:

[0058] where represents the standardized tenant attribute feature vector, is a feature in the tenant attribute feature vector v matrix, is the feature the mean of all values, is the feature the standard deviation of.

[0059] Distance calculation: Use distance metrics to calculate the distance between tenants, such as Mahalanobis distance, cosine similarity, etc. The result of the distance calculation will reflect the similarity or difference between tenants.

[0060] According to the distance calculation result, use a clustering algorithm (such as K-Means) to divide the tenants into different categories or clusters. Tenants within the same cluster have similar features and can adopt similar isolation strategies and service types.

[0061] Finally, according to the clustering results, different categories such as exclusive category, shared category, mixed category, etc. are defined for tenants in different clusters.

[0062] Based on the above tenant classification, represent the service attributes of the services that the platform can provide as a multi-dimensional feature vector . Then standardize the service attribute feature vector S.

[0063] According to the tenant categories determined above, establish a weighted coefficient matrix W for the tenant feature vector V and the service feature vector S: Considering that generally multiple vertical services are provided under the same tenant, such as storage service, image service, video call service, live broadcast service, on-demand service, etc., the vertical service functions are completed through the combination and orderly cooperation of multiple platform basic services and sub-service services.

[0064] According to the characteristics of vertical services, a weighted coefficient matrix W is created. If there are multiple vertical services, multiple weighted coefficient matrices are created. For example, in the storage service, since more attention is paid to the storage size and IO throughput, the weight values of the relevant elements in the corresponding weighted coefficient matrix W will increase.

[0065] For example, create a weighted coefficient matrix , where the number of rows of W is the same as the number of columns of the tenant feature vector. W is generally an identity matrix. When the weights need to be adjusted, only the numerical part with a value of 1 in the identity matrix needs to be adjusted accordingly. If there are multiple vertical services under a tenant, multiple weighted coefficient matrices are created and inserted into the weighted coefficient matrix queue L.

[0066] Among them, by traversing the weighted coefficient matrix queue under the tenant, each VW is calculated respectively, and the Z-score algorithm is used to standardize VW to VW', and the result is stored in the weighted coefficient vector queue Q.

[0067] Create feature vectors for the platform services in turn and store them in the service feature vector queue SQ.

[0068] Use the cosine similarity to calculate the distance D between VW and the S feature vector. According to the size of D, find the S that best matches VW (that is, when the distance D is the smallest, the service is the best match): Traverse the weighted coefficient vector queue Q and the service feature vector queue SQ, and use the cosine similarity to calculate the distance D between the vector VW' and S k , , where min represents the function of taking the minimum value, cos represents the calculation of cosine similarity, k represents the kth in the enhanced coefficient vector queue, j represents the jth in the service vector queue SQ, and the maximum value of j is the length value of the queue QS. Take the one with the smallest distance, which means that the enhanced coefficient vector vw' has the highest matching degree with the service feature vector s, and save and record the serial number of the corresponding service S as to the tenant vertical service module list TBQ.

[0069] At this time, the mapping relationship between the tenant - vertical service - service is recorded in the TBQ list, and the vertical service performs scheduling and traffic splitting based on this mapping relationship.

[0070] According to the above steps, find the mapping relationship from the tenant to multiple platform services. Inside the platform, through the above process, logical and physical isolation is performed on each tenant to achieve classification and traffic splitting, which not only meets the tenant isolation requirements but also improves the resource sharing efficiency.

[0071] The above introduced a resource scheduling method provided by an embodiment of the present application. Next, an apparatus for executing the above resource scheduling method will be introduced.

[0072] Please refer to Figure 6 , Figure 6 which is a schematic structural diagram of a resource scheduling apparatus provided by an embodiment of the present application. As Figure 6 shown, the resource scheduling apparatus includes: A tenant category determination module 601, configured to determine the tenant category of the target tenant according to the attribute information of the target tenant and the similarity between each preset tenant category cluster; A feature content adjustment module 602, configured to determine the tenant feature adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant; and A platform service scheduling module 603, configured to determine the platform service used by each tenant service according to the similarity between each adjusted attribute information and the attribute information of each platform service, where each adjusted attribute information is obtained by adjusting the attribute information according to a corresponding tenant feature adjustment content.

[0073] In a possible implementation, the process by which the tenant category determination module 601 determines the tenant category of the target tenant according to the attribute information of the target tenant and the similarity between each preset tenant category cluster includes: Determining the tenant category according to the distance between the first feature vector representing the attribute information and each preset tenant category cluster.

[0074] In a possible implementation, the process by which the feature content adjustment module 602 determines the tenant feature adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant includes: Determining a first weighted coefficient matrix according to the tenant category; Adjusting the first weighted coefficient matrix according to each tenant service to obtain a second weighted coefficient matrix corresponding to each tenant service, and using the second weighted coefficient matrix as the tenant feature adjustment content.

[0075] In a possible implementation, the determination process of each adjusted attribute information in the platform service scheduling module 603 includes: Multiplying the first feature vector representing the attribute information by a corresponding second weighted coefficient matrix to obtain a calculation result vector, and using the calculation result vector to represent the adjusted attribute information.

[0076] In a possible implementation, the process by which the platform service scheduling module 603 determines the platform service used by each tenant service according to the similarity between each adjusted attribute information and the attribute information of each platform service includes: For each calculated result vector, calculate the distance between the calculated result vector and each second eigenvector respectively to obtain a preset number of distance values, and use the platform service corresponding to the minimum value among the preset number of distance values as the platform service used by the tenant business. The second eigenvector characterizes the attribute information of the platform service, and the preset number is the number of platform services.

[0077] In a possible implementation, the determination process of the preset tenant category clusters in the tenant category determination module 601 includes: Obtain distance calculation result data according to a distance determination algorithm for the distance between the attribute feature vectors of tenants; Perform clustering processing on the distance calculation result data according to a clustering algorithm to obtain preset tenant category clusters.

[0078] In a possible implementation, the tenant category determination module 601 is further configured to, before obtaining distance calculation result data according to a distance determination algorithm for the distance between the attribute feature vectors of tenants: Perform normalization processing on the tenant attribute vector of each tenant to obtain the attribute feature vector of the tenant.

[0079] An embodiment of the present application also provides an electronic device. Refer to Figure 7 As shown, it shows a schematic structural diagram of an electronic device suitable for implementing the electronic device in the embodiment of the present application. The electronic device in the embodiment of the present application may include, but is not limited to, fixed terminals such as mobile phones, laptop computers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), desktop computers, and the like. Figure 7 The electronic device shown is only an example and should not impose any limitations on the functions and usage scope of the embodiment of the present application.

[0080] As Figure 7 shown, the electronic device may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 701, which may perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. When the electronic device is powered on, various programs and data required for the operation of the electronic device are also stored in the RAM 703. The processing device 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0081] Typically, the following devices can be connected to the I / O interface 705: input devices 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 708 including, for example, a memory card, a hard disk, etc.; and a communication device 709. The communication device 709 can allow the electronic device to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 7 an electronic device with various devices is shown, it should be understood that it is not required to implement or have all the shown devices. Instead, more or fewer devices can be implemented or had.

[0082] An embodiment of the present application also provides a computer program product, including computer-readable instructions, which, when running on an electronic device, enable the electronic device to implement any one of the resource scheduling methods provided by the embodiments of the present application.

[0083] An embodiment of the present application also provides a computer-readable storage medium, which carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, can enable the electronic device to implement any one of the resource scheduling methods provided by the embodiments of the present application.

[0084] In addition, it should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between modules indicates that they have a communication connection, which can be specifically implemented as one or more communication buses or signal lines.

[0085] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware. Of course, it can also be implemented by dedicated hardware including application-specific integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structures for implementing the same function can also be various, such as analog circuits, digital circuits or dedicated circuits, etc. However, for the present application, in more cases, software program implementation is a better embodiment. Based on such an understanding, the technical solution of the present application, in essence, or the part that makes a contribution to the prior art, can be embodied in the form of a software product. The computer software product is stored in a readable storage medium, such as a floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disc of a computer, etc., and includes several instructions to enable a computer device (which can be a personal computer, training device, or network device, etc.) to execute the methods described in various embodiments of the present application.

[0086] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product.

[0087] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general computer, a dedicated computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, training device or data center to another website, computer, training device or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store, or a data storage device such as a training device or data center that includes one or more integrated available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

Claims

1. A resource scheduling method, characterized in that: include: Determining the tenant category of the target tenant according to the similarity between the attribute information of the target tenant and each preset tenant category cluster; Determining tenant characteristic adjustment content of each tenant business according to the tenant category and the tenant business associated with the target tenant; According to the similarity between each adjusted attribute information and the attribute information of each platform service, the platform service corresponding to each tenant business is determined, and each adjusted attribute information is obtained by adjusting the attribute information according to a corresponding tenant characteristic adjustment content.

2. The resource scheduling method according to claim 1, characterized in that: The determining the tenant category of the target tenant according to the similarity between the attribute information of the target tenant and each preset tenant category cluster includes: The tenant category is determined according to the distance between the first feature vector representing the attribute information and each of the preset tenant category clusters.

3. The resource scheduling method according to claim 1, characterized in that: The step of determining the tenant characteristic adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant includes: Determining a first weighting coefficient matrix according to the tenant category; The first weighting coefficient matrix is ​​adjusted according to each of the tenant services to obtain a second weighting coefficient matrix corresponding to each of the tenant services, and the second weighting coefficient matrix is ​​used as the tenant characteristic adjustment content.

4. The resource scheduling method according to claim 3, characterized in that: The process of determining each of the adjusted attribute information includes: A first eigenvector representing the attribute information is multiplied with a corresponding second weighting coefficient matrix to obtain a calculation result vector, and the calculation result vector is used to represent the adjusted attribute information.

5. The resource scheduling method according to claim 4, characterized in that: The determining, according to the similarity between each adjusted attribute information and the attribute information of each platform service, the platform service corresponding to each tenant service includes: For each of the calculation result vectors, the distance between the calculation result vector and each second feature vector is calculated respectively to obtain a preset number of distance values, and the platform service corresponding to the minimum value of the preset number of distance values ​​is used as the platform service corresponding to the tenant business. The second feature vector represents the attribute information of the platform service, and the preset number is the number of the platform services.

6. The resource scheduling method according to any one of claims 1 to 5, characterized in that: The process of determining the preset tenant category cluster includes: According to the distance determination algorithm, the distance between the attribute feature vectors of the tenants is determined to obtain the distance calculation result data; The distance calculation result data is clustered according to a clustering algorithm to obtain the preset tenant category cluster.

7. The resource scheduling method according to claim 6, characterized in that: Before obtaining the distance calculation result data by determining the distance between the attribute feature vectors of the tenants according to the distance determination algorithm, the following is also included: The tenant attribute vector of each tenant is standardized to obtain the attribute feature vector of the tenant.

8. A resource scheduling device, characterized in that: include: A tenant category determination module, used to determine the tenant category of the target tenant according to the attribute information of the target tenant and the similarity between each preset tenant category cluster; A feature content adjustment module, configured to determine tenant feature adjustment content of each tenant service according to the tenant category and the tenant service associated with the target tenant; as well as The platform service scheduling module is used to determine the platform service corresponding to each tenant business based on the similarity between each adjusted attribute information and the attribute information of each platform service, and each adjusted attribute information is obtained by adjusting the attribute information according to the corresponding tenant characteristic adjustment content.

9. An electronic device, characterized in that: The method comprises at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program so that the electronic device can implement the resource scheduling method as described in any one of claims 1 to 7.

10. A computer storage medium, characterized in that: The storage medium carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, the electronic device can implement the resource scheduling method as described in any one of claims 1 to 7.