A service processing method and an electronic device
By combining user interests, business scenarios, and server performance information to generate jobs, and by adopting user collaborative filtering recommendation and pre-emptive scheduling, the problem of inaccurate resource allocation in existing technologies is solved, and efficient resource utilization and task execution are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2026-02-02
- Publication Date
- 2026-06-26
AI Technical Summary
In existing technologies, task allocation methods only consider the priority logic of the task side, resulting in insufficient accuracy in resource allocation, difficulty in meeting complex and ever-changing business needs, low resource utilization, and task blocking problems.
By combining user interest information, business scenario information, and server cluster performance information, jobs are generated. User collaborative filtering recommendation algorithms and pre-emptive task scheduling are used to optimize resource allocation, match task attributes with resource characteristics, and avoid low resource utilization and task blocking.
This enables job allocation to be more closely aligned with user needs, improves the rationality and efficiency of computing power scheduling, increases resource utilization, and avoids resource waste and task blockage.
Smart Images

Figure CN122285252A_ABST
Abstract
Description
Technical Field
[0001] This application relates to information processing technology, and more particularly to a business processing method and electronic device. Background Technology
[0002] With the rapid development of informatization and digitalization, the demand for computing resources from various businesses is increasing daily. To improve overall system efficiency and resource utilization, computing power scheduling technology has emerged and developed into various scheduling strategies, such as static allocation, dynamic allocation, and computing power sharing. Rational scheduling of computing resources is crucial for ensuring the timeliness and accuracy of business processing.
[0003] One task allocation method in related technologies determines task priority through the earliest deadline priority algorithm to ensure that high real-time tasks get computing resources first. However, this solution only considers the priority logic of the task side, which has certain drawbacks in the actual business execution process, resulting in insufficiently accurate resource allocation and difficulty in meeting complex and ever-changing business needs. Summary of the Invention
[0004] This application provides a service processing method and an electronic device, which enables efficient utilization of resources.
[0005] The technical solution of this application embodiment is implemented as follows: This application provides a service processing method, the method comprising: Acquire the first business; Based on the user interest information of the first user associated with the first service, the business scenario information of the first service, and the performance information of the server cluster, a first job is generated; wherein, the first job is used to instruct the target server to execute the first service; Execute the first task.
[0006] This application provides a service processing apparatus, the apparatus comprising: The acquisition unit is used to acquire the first service. The processing unit is configured to generate a first job based on the user interest information of a first user associated with the first service, the business scenario information to which the first service belongs, and the performance information of the server cluster; wherein the first job is configured to instruct the target server to execute the first service; The processing unit is also used to execute the first task.
[0007] This application provides an electronic device, the electronic device comprising: Memory is used to store executable instructions or computer programs. The processor is used to execute computer-executable instructions or computer programs stored in the memory to implement the processing method of the services provided in the embodiments of this application.
[0008] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the processing method of the services provided in this application when executed by a processor.
[0009] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the processing method of the service provided in this application.
[0010] The embodiments of this application have the following beneficial effects: First, this application combines user interest information, business scenario information, and server cluster performance information to generate a first job, making job allocation closer to user needs. It also considers resource conditions, thereby improving the rationality and efficiency of computing power scheduling. Second, during job execution, it can better match task attributes with resource characteristics, achieving efficient resource utilization. Compared to solutions that only consider task priority or resource idle status, it avoids problems of low resource utilization and task blocking. Attached Figure Description
[0011] Figure 1 This is a first flowchart illustrating the service processing method provided in the embodiments of this application; Figure 2 This is a second flowchart illustrating the service processing method provided in the embodiments of this application; Figure 3 This is a schematic diagram of the first process for determining the target server provided in an embodiment of this application; Figure 4 This is a schematic diagram of the second process for determining the target server provided in an embodiment of this application; Figure 5 This is a schematic diagram of the third process for determining the target server provided in an embodiment of this application; Figure 6 This is a schematic diagram illustrating the interaction between the recommendation record library, user set, and job scheduling set provided in this application; Figure 7 This is a flowchart of a job scheduling method provided in an embodiment of this application; Figure 8 This is a flowchart of a task-based pre-occupancy method provided in an embodiment of this application; Figure 9 This is a schematic diagram of the structure of the service processing apparatus provided in the embodiments of this application; Figure 10 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application.
[0012] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0013] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0014] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0015] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0016] Before explaining this application, the following description addresses the computing power scheduling schemes in related technologies: Depending on factors such as application scenarios, task requirements, and resource status, computing power scheduling schemes can be categorized into several types, including static allocation, dynamic allocation (including priority-based, demand-based, and elastic scaling scheduling), computing power sharing, software-defined scheduling, network architecture-based scheduling, intelligent algorithm-based scheduling, and scheduling tailored to specific application scenarios.
[0017] Static allocation: Before the training or computation task begins, computing resources are statically allocated to different tasks. This is suitable for situations where task requirements are relatively stable and known in advance. Resource allocation is determined before the task begins and is not adjusted as requirements change during task execution.
[0018] Dynamic allocation: Dynamic allocation strategies adjust computing resources based on the current task requirements and resource availability. This can be further divided into priority-based scheduling, demand-based scheduling, and elastic scaling. Priority-based scheduling allocates computing resources according to task priority, ensuring higher-priority tasks receive more resources and improving overall task completion efficiency. Demand-based scheduling allocates resources based on task computing resource requirements, providing more resources to tasks needing more, flexibly addressing different task demands and improving resource utilization. Elastic scaling dynamically increases or decreases the amount of computing resources based on task requirements, automatically adjusting resource scale to cope with sudden changes in resource demand.
[0019] Computing power sharing: Through specific mechanisms or platforms, computing resources are shared among different users or systems to improve resource utilization and reduce usage costs. For example, integrated scheduling of government computing resources is a practice of computing power sharing. By constructing a unified government computing resource pool, the overall planning, scheduling, and sharing of government computing resources at the municipal and district levels are achieved, thereby solving problems such as "duplication of construction and low resource utilization." This solution can significantly improve the intensification, scale, and greening of government data centers, and enhance resource utilization and data security capabilities.
[0020] Software-defined computing: This approach virtualizes hardware resources (such as Central Processing Units (CPUs) and Graphics Processing Units (GPUs)) into flexibly configurable resource pools and dynamically schedules them according to business needs. This solution significantly improves the flexibility and scalability of computing resources. For example, the software-defined heterogeneous AI computing cloud scheduling solution proposed by TrendForce uses hardware virtualization pooling technology and a cloud scheduling engine to solve the problem of fragmented AI computing resources, providing enterprises with agile, efficient, elastic, and easy-to-use heterogeneous computing resources.
[0021] Network architecture-based solutions: By optimizing the network architecture, computing resources can be scheduled across data centers or network domains. This approach breaks down the traditional boundaries between data centers or network domains, enabling global optimization and efficient utilization of computing resources. For example, a computing scheduling architecture based on programmable networks can achieve unified management of computing nodes and cross-data center resource scheduling through the collaborative work of controllers and data forwarding planes. This solution can significantly improve the flexibility and scalability of computing resources and reduce operational costs.
[0022] Based on intelligent algorithms: Intelligent algorithms (such as genetic algorithms, particle swarm optimization, and ant colony optimization) are used for automated scheduling and optimization of computing resources. These algorithms can automatically adjust resource allocation strategies based on factors such as system status, user needs, and business priorities to achieve optimal system performance and user experience. For example, cloud service providers such as Alibaba Cloud have introduced resource scheduling and management systems based on intelligent algorithms into their cloud computing platforms, providing more stable, efficient, and reliable computing resource services through precise resource scheduling and intelligent load balancing.
[0023] An embodiment of this application provides a service processing method, which is applied to an electronic device, with reference to... Figure 1 As shown, the method includes the following steps: Step 101: Obtain the first business.
[0024] In this embodiment, the first service refers to the service currently to be processed, including file processing, video rendering, and data computation. For example, in a cloud rendering scenario, the first service might be a high-resolution video frame rendering task; in a big data analysis scenario, the first service might be a large-scale dataset cleaning and statistical task.
[0025] In this embodiment, the electronic device receives a request related to a first service. This request includes contextual information related to the first service, such as task type, data volume, and expected completion time. Based on the contextual information, the electronic device determines which service scenario and user the first service belongs to. In actual implementation, the electronic device may interface with multiple service sources, such as user terminals, third-party application interfaces, and automated task systems.
[0026] Step 102: Generate the first job based on the user interest information of the first user associated with the first business, the business scenario information of the first business, and the performance information of the server cluster.
[0027] The first task is used to instruct the target server to perform the first service.
[0028] In this embodiment, user interest preference information refers to preference indicators set by users based on their own business needs, typically including three types: lowest cost (pursuing the smallest budget), lowest latency (pursuing the fastest completion time), and optimal performance (seeking a balance between budget and latency). This information is used to guide the scheduling system in selecting server resources that best meet the user's expectations.
[0029] In this embodiment, business scenario information refers to attribute parameters related to specific business operations, such as file size, video frame rate, budget cost, and latest processing completion time. By dividing and modeling business scenarios, we can better understand the needs and constraints of business execution, providing a basis for subsequent resource scheduling.
[0030] In this embodiment, the performance information of the server cluster includes the server's hardware configuration parameters, such as the number of CPU cores and memory size. By quantifying and scoring these parameters, the overall performance of the server can be evaluated, thereby predicting the time and cost required to execute a specific task.
[0031] In practice, electronic devices prioritize the consistency between user interest information and business scenario information. For example, if a user chooses the lowest cost, the scheduling system will prioritize the server with the highest cost-effectiveness, even if the server with the highest cost-effectiveness takes longer to execute; if a user chooses the lowest latency, the scheduling system will prioritize the server with the highest performance to shorten the execution time of the first business. Simultaneously, electronic devices can dynamically adjust scheduling strategies, making reasonable decisions based on the performance information of the server cluster, thereby maximizing resource utilization while ensuring service quality.
[0032] In this application, a job is a data structure or instruction unit used in a scheduling system to instruct a server to execute a task. A job contains fields such as the specific content of the task, target server information, and execution status, and is the core operation object in the scheduling process.
[0033] In this embodiment, different candidate servers perform different types of jobs.
[0034] Step 103: Perform the first task.
[0035] In this embodiment, the electronic device sends the generated first job to the designated target server. After receiving the first job, the target server initiates the corresponding task execution process according to the content of the first job. During the execution process, the electronic device continuously monitors the operating status of the target server, including the progress of the first job, resource usage, etc., and the scheduling server decides whether to preempt or reschedule the first job based on the monitoring results.
[0036] In this embodiment, the electronic device can also be configured with a first job timeout mechanism. If the execution time of a first job exceeds the estimated time, an early warning is triggered and a rescheduling attempt is made. By configuring the first job timeout mechanism and performing preprocessing operations, the electronic device ensures that the first service can be executed efficiently and reliably, and improves the overall system response speed and service quality.
[0037] This application provides a service processing method and electronic device. The method includes: acquiring a first service; generating a first job based on user interest information of a first user associated with the first service, business scenario information of the first service, and performance information of a server cluster; wherein the first job is used to instruct a target server to execute the first service; and executing the first job. In other words, this application first combines user interest information, business scenario information, and server cluster performance information to generate a first job, making job allocation more closely aligned with user needs, while also considering resource conditions, thereby improving the rationality and efficiency of computing power scheduling. Secondly, during job execution, it can better match task attributes with resource characteristics, achieving efficient resource utilization. Compared to solutions that only consider task priority or resource idle status, it avoids problems of low resource utilization and task blocking.
[0038] This application proposes a computing power scheduling scheme based on user collaborative filtering. It divides the business based on business scenario attributes, further subdivides the business based on user interest tags, and achieves accurate matching and recommendation from both user and business dimensions through a user collaborative filtering recommendation algorithm.
[0039] In some embodiments, step 102, generating the first job based on the user interest information of the first user associated with the first service, the service scenario information to which the first service belongs, and the performance information of the candidate servers, can be achieved through the following steps: Step A1: Obtain the first dataset.
[0040] The first dataset includes the second job and the completion status of the second job; the second job is the job generated before the first job was generated.
[0041] In this embodiment, the first dataset refers to a collection of historical job records used to support current task scheduling decisions. The first dataset includes information on completed, currently executing, or unexecuted jobs, such as job name, submission time, execution time, resource usage, and completion status. The job information in the first dataset can serve as a basic reference for generating and scheduling new jobs, improving the accuracy and efficiency of scheduling.
[0042] In this embodiment of the application, the second job in the first dataset refers to the job that was generated and executed before the current job (i.e. the first job). The completion status of the second job in the first dataset can be used to evaluate the system resource usage trend and job priority allocation strategy.
[0043] This application, by introducing a first dataset, enables the prediction of the resource requirements and execution time of the current job based on the execution status of historical jobs, thereby allowing for more rational allocation of computing resources. The first dataset, as input to the user collaborative filtering recommendation algorithm, can enhance the accuracy of the recommendation system. The use of the first dataset makes the generated first job more closely match the user's actual needs.
[0044] It should be noted that if the first assignment is a failed recommendation, the second assignment will become the first assignment after a new recommendation is generated.
[0045] Step A2: Call the user collaborative filtering recommendation algorithm, using the first dataset as a reference, and combine user interest information, business scenario information, and performance information to generate the first job.
[0046] In this embodiment, the electronic device employs an improved user collaborative filtering recommendation algorithm, combining historical scheduling records and real-time resource status to generate an optimal job allocation suggestion for the current first service. The job allocation suggestion includes key information such as the selection criteria for the target server, estimated execution time, and resource overhead, and is encapsulated into a first job structure for subsequent use by the scheduling engine.
[0047] In this embodiment, the user collaborative filtering recommendation algorithm is a recommendation method based on historical data and similar user behavior. By analyzing historical job data and user behavior patterns, it identifies users or tasks with similar characteristics and recommends suitable resource allocation schemes for the current user accordingly. In this application, the algorithm combines multi-dimensional information such as user interests, business scenarios, and server performance to generate personalized resource scheduling suggestions, and continuously optimizes the recommendation effect based on feedback from each scheduling result.
[0048] Based on this, the scheme to be protected in this application also includes: adding the first job to the first dataset; and updating the completion status of the first job in the first dataset based on the execution status of the first job.
[0049] In this embodiment, adding the first job to the first dataset means incorporating this operation into the historical job record system, so that the information of the first job can be referenced during subsequent job generation and scheduling. The first dataset is a dynamically updated data structure; as new jobs are added and the status of old jobs changes, the content of the first dataset also evolves continuously.
[0050] In this embodiment, after the first job is created, its basic information (such as job name, submission time, resource requirements, etc.) is recorded in the first dataset. Subsequently, during job execution, the execution status of the first job is monitored in real time, and its completion status is updated according to the actual running status of the first job (such as whether it was successfully executed, execution time, resource consumption, etc.). This dynamic update mechanism ensures that the first dataset always remains up-to-date, thereby supporting the generation and scheduling of subsequent jobs.
[0051] In this embodiment, by introducing historical job records as a reference set for the user collaborative filtering recommendation algorithm, the generation logic of the current job can be further optimized, improving the recommendation accuracy. Simultaneously, this dataset is updated after each job execution, forming a continuously iterative feedback mechanism that continuously improves the accuracy of subsequent job recommendations and the overall system efficiency.
[0052] This application proposes a user-based collaborative filtering scheme. Based on user interests, it employs an improved user collaborative filtering recommendation algorithm to mine user intent and needs, providing a multi-dimensional user scoring scheme. In addition, based on the subsequent task scheduling and execution, the entire process job record is updated, and this record is used as a reference set for the user collaborative filtering recommendation algorithm to continuously optimize the recommendation.
[0053] In some embodiments, step 103, performing the first task, can be achieved through the following steps: Step B1: Based on the business requirements of the first business, allocate and lock the first resource for the first job.
[0054] In this embodiment, the electronic device allocates and locks a first resource for the first job from a computing resource pool. Here, the resource pool is a shared resource set composed of multiple servers, from which the scheduling system selects a suitable server to execute the task. The management of the resource pool directly affects scheduling efficiency and resource utilization.
[0055] In this embodiment, business requirements refer to a series of parameters set by the user based on their task scenario, including but not limited to file size, video frame rate, budget cost, latest processing completion time, and waiting latency. These parameters describe the user's specific expectations and constraints regarding computing power scheduling. For example, in video rendering, the user might want to ensure the first job is completed within 48 hours while minimizing costs.
[0056] In this embodiment, the first resource refers to the computing resources allocated to the first job by the system, typically including hardware configuration information such as the number of CPU cores and memory size. The selection and allocation of the first resource directly affects the execution efficiency and cost of the first job. Locking refers to temporarily reserving the first resource after allocation to prevent other jobs from preempting or interfering with the execution flow of the first job. The locking method can avoid resource conflicts and improve the stability and reliability of scheduling.
[0057] Step B2: Enter the first job into the server cluster using a pre-emptive method.
[0058] In this embodiment, the pre-reservation method refers to reserving resource space for the first job in advance based on its estimated resource requirements and execution time before the first job is actually executed, and adding the first job to the queue to wait for the target server to release resources before execution. The pre-reservation method can avoid resource contention and idle time, and achieve efficient resource utilization.
[0059] In this embodiment, the server cluster is a resource pool composed of multiple physical or virtual servers, used to support the execution of multiple concurrent tasks. Each server has a certain computing power, and the task load is dynamically allocated through a scheduling system. Designing a server cluster can improve the system's fault tolerance and scalability.
[0060] Step B3: If the target server in the server cluster meets the execution conditions, execute the first job.
[0061] In this embodiment, the execution condition refers to whether the server currently has the ability to execute a new task, which typically includes indicators such as the remaining estimated duration, the number of allocated waiting jobs, and the total duration. A new job can only be executed when the server meets certain conditions.
[0062] This application adopts a task pre-occupancy computing power scheduling scheme to solve the problem of uneven allocation of computing power scheduling resources in related technologies, rationally allocate computing power resources, and improve the utilization rate of computing power resource servers.
[0063] In some embodiments, step 102, generating a first job based on the user interest information of the first user associated with the first service, the service scenario information to which the first service belongs, and the performance information of the candidate servers, can be achieved through methods such as... Figure 2 The steps shown are as follows: Step 1021: Based on performance information, determine the performance score of candidate servers in the server cluster.
[0064] In this embodiment, the performance score is a quantified numerical value of the overall capabilities of the candidate servers, used to compare the merits of different candidate servers. A higher score indicates stronger performance of the candidate server, making it more suitable for handling highly complex or time-sensitive primary tasks.
[0065] In this embodiment of the application, the performance information includes the number of CPU cores and the memory size of the candidate server. Accordingly, step 1021 can be implemented by the following steps: calculating the performance score of the candidate server based on the number of CPU cores and the memory size.
[0066] For example, for all servers (n servers), the server performance score P is calculated according to indicators such as the number of CPU cores (C) and RAM memory size (R). The calculation formula is as follows: (1) According to formula (1), the servers in the resource pool can be comprehensively scored based on two dimensions: CPU and memory, as shown in Table 1:
[0067] Table 1 In this embodiment, by quantifying and scoring the two core hardware parameters, namely the number of CPU cores and the size of memory, the server's processing capacity can be more comprehensively reflected, thereby providing reliable data support for subsequent resource matching and improving the objectivity and accuracy of scheduling decisions.
[0068] Step 1022: Based on the size of the first service and the performance score of the candidate servers, calculate the time required for each candidate server to execute the first service and the estimated total price.
[0069] In this embodiment, the size of the first service refers to a comprehensive set of parameters, including the amount of data, computational complexity, and operating cycle. It is typically measured by factors such as file size, number of processing units, and expected number of operations. As the amount of data in the first service increases, the demand for computing resources will also increase accordingly.
[0070] In this embodiment, the execution time is calculated based on the scale of the first service and the performance of the candidate servers to determine the time required to complete the first service. For example, for a large-scale video rendering service, if the candidate server has high performance, the expected completion time will be shorter; otherwise, it will be longer.
[0071] In this embodiment, the estimated total price is a cost estimate based on factors such as candidate server performance, first service execution time, and resource utilization. The estimated total price is typically calculated by multiplying the resource consumption per unit time by the unit price. For example, if a candidate server costs 1 yuan per hour and the estimated execution time is 5 hours, then the total cost is 5 yuan.
[0072] For example, based on the business file size M and the preset server performance score P (refer to Table 1), the time T (s) required for the server to complete the business and the estimated total price S (yuan) are calculated, as shown in Table 2:
[0073] Table 2 Step 1023: Based on user interest information, the time required for each candidate server to execute the first service, and the estimated total price, determine the target server in the first job.
[0074] In some embodiments, user interest preference information includes a first type of user interest preference, a second type of user interest preference, and a third type of user interest preference.
[0075] In some embodiments, if the user interest preference information is a first type of user interest preference, the server that meets the user's budget cost is selected as the target server from the candidate servers based on the estimated total price.
[0076] In this embodiment, the first type of user interest preference refers to the user's preference setting that prioritizes the lowest cost to complete the task. The first type of user interest preference is usually applicable to cost-sensitive users, such as enterprise users who are more concerned with overall budget control when performing batch data processing, rather than the execution efficiency or response speed of a single task.
[0077] In this embodiment of the application, meeting the user's budget cost means that the estimated total execution cost of the selected candidate server is lower than or equal to the user's preset maximum acceptable cost range.
[0078] In this embodiment of the application, for the case where the user prefers the lowest cost, the server with the lower price and that meets the budget requirements is selected first. This helps to control the user's overall expenditure and at the same time ensures that the task can be completed within the budget, thus meeting the user's core needs.
[0079] For example, such as Figure 3 As shown, the steps for determining the target server include: in the lowest cost mode, sorting candidate servers from low to high according to the estimated total price, and taking out the candidate server with the lowest total price S (i.e., prioritizing the selection of the server with the lowest total cost). Determining whether the total price S of the server meets the user's budget cost. If the total price S of the server meets the user's budget cost, selecting the server; if the total price S of the candidate server does not meet the user's budget cost, eliminating the candidate server and reselecting the server with the lowest total price, until the final selection of the target server is completed.
[0080] It should be noted that if none of the candidate servers meet the user's budget cost, the user will be prompted.
[0081] In some embodiments, if the user interest information is a second type of user interest, the server that meets the user's latest completion time is selected as the target server from the candidate servers based on the required duration.
[0082] In this embodiment, the second type of user interest preference refers to the type of preference where users prioritize task completion time over cost or performance balance. This second type of user interest preference is typically applicable to scenarios with high timeliness requirements, such as real-time data processing and emergency task scheduling.
[0083] In this embodiment of the application, meeting the user's latest completion time means that the target server can complete the first business within the time limit set by the user.
[0084] In this embodiment, for users who prefer the lowest latency, the server with the fastest execution speed is selected first to ensure that the task can be completed as soon as possible, thereby meeting the user's high requirements for timeliness, which is especially applicable in time-sensitive application scenarios.
[0085] For example, such as Figure 4 As shown, the steps for determining the target server include: In the lowest latency mode, sort the candidate servers from lowest to highest estimated completion time, and select the candidate server with the lowest estimated completion time t (prioritizing the server with the lowest latency). Determine whether the estimated completion time t of this candidate server meets the user's latest completion time. If the estimated completion time t of the candidate server meets the user's latest completion time, select this server; if the estimated completion time t of this server does not meet the user's latest completion time, the filter result is empty, and the user is prompted.
[0086] In some embodiments, if the user interest preference information is a third type of user interest preference, the first weight corresponding to the required duration and the second weight corresponding to the estimated total price are obtained; based on the first weight, the second weight, the required duration and the estimated total price, the target server is determined.
[0087] It should be noted that if the identified target server does not meet the requirements, one or more of the first and second weights can be adjusted to re-filter.
[0088] In this embodiment, the third type of user interest preference refers to one of the user's preferred preferences, specifically indicating that the user prefers to achieve a balance between cost and performance when completing a task. This third type of user interest preference is typically applicable to users who want the task completed quickly but do not want to spend too much of their budget. During actual scheduling, the system adjusts the weight allocation of resource evaluation based on this third type of user interest preference to ensure that the system's recommended results meet the user's timeliness requirements while controlling overall costs.
[0089] In this embodiment, the first weight refers to a numerical coefficient used to measure the impact of the time required for task execution on the final decision. The value of the first weight is adjusted accordingly when user interests change. When a user selects a third type of user interest, the system will appropriately increase the first weight to reflect the user's focus on task execution efficiency. For example, when a user selects a third type of user interest, the system can set the first weight to 0.6 and the second weight (i.e., the price weight) to 0.4, thus demonstrating that the time factor has a higher priority in the scheduling process.
[0090] In this embodiment, the second weight refers to a numerical coefficient used to measure the degree of influence of the estimated total cost of the task on the final decision. The second weight has similar characteristics to the first weight, and it is dynamically adjusted according to user interests. Under the third type of user interest, although time is more important, cost is still a factor that cannot be ignored. Therefore, the second weight is usually not completely ignored, but rather its value is set at a moderate level, such as 0.4, to ensure that the scheduling result achieves a reasonable balance between time and cost.
[0091] In this embodiment, by introducing a first weight and a second weight, the system can more flexibly adapt to the needs of different users during the scheduling process, avoiding a one-size-fits-all resource allocation strategy. By introducing the first and second weights, the system can not only improve user satisfaction but also increase the utilization rate of computing resources and reduce resource waste.
[0092] In this embodiment, the process of determining the target server comprehensively considers two key indicators: the required execution time and the estimated total price, and performs a weighted calculation based on the weight value corresponding to the user's interest preferences. Specifically, the execution time and estimated cost of each candidate server are multiplied by the weight value corresponding to that weight value, and then the two weighted values are added together to obtain a comprehensive score. The server with the highest comprehensive score will be selected as the target server for use in subsequent task execution.
[0093] For example, such as Figure 5 As shown, the steps to determine the target server include: In the optimal performance mode, it is necessary to consider both cost and latency, and select the server with the most suitable cost and latency. For example, the lowest cost is preset to 50%, which is a weight of 0.5, and the lowest latency is preset to 50%, which is a weight of 0.5. Based on the weights, cost and latency are considered in the screening. If the server meets the optimal performance condition, the server is selected. If it does not meet the condition, the cost and latency weights are readjusted and the screening is repeated.
[0094] In some embodiments, after determining the target server, the scheme to be protected by this application further includes the following steps: Obtain the remaining estimated duration of the currently executing job on the target server, the number of waiting jobs currently allocated to the target server, and the total duration of the currently allocated jobs on the target server; if the sum of the remaining estimated duration and the total duration is less than a first threshold, and the number of waiting jobs is less than a second threshold, determine that the target server meets the execution conditions; if the sum of the remaining estimated duration and the total duration is greater than or equal to the first threshold, or the number of waiting jobs is greater than or equal to the second threshold, reselect the target server to execute the first service, and generate a third job; the third job is used to instruct the re-executed target server to execute the first service.
[0095] In this embodiment, the remaining estimated time refers to how much longer it is expected the currently executing job to complete, which is collected and predicted in real time by the system monitoring module. The number of waiting jobs represents the number of jobs queued on the target server but not yet executed, used to measure the load pressure on the target server. The total time is the sum of the estimated execution times of all assigned jobs on the target server, reflecting the overall task processing capacity utilization of the target server.
[0096] In this embodiment, the first threshold and the second threshold are the set time limit and the job quantity limit, respectively, used to determine whether the target server has sufficient idle resources to receive new tasks. For example, if the first threshold is set to 120 minutes and the second threshold is set to 3 jobs, then when the remaining estimated time of the currently executing job plus the total time of the currently allocated jobs on the target server is less than 120 minutes, and the number of waiting jobs currently allocated on the target server is less than 3, it is considered that the target server still has sufficient capacity to process new tasks, and it can be marked as meeting the execution conditions.
[0097] In this embodiment, when the target server is currently under high load and cannot process new tasks in a timely manner (does not meet the execution conditions), a reselection mechanism is automatically triggered. It begins searching for other available servers as alternative execution nodes and generates a new third job. The third job carries all the parameter information of the original task, with the target server field replaced by a new candidate server.
[0098] In this embodiment, the third job is a special task instruction used to ensure that tasks are not dropped due to insufficient resources, but are instead rescheduled to a more suitable server for execution. Generating third jobs improves the system's fault tolerance and task execution success rate, especially in multi-task concurrent scenarios, significantly optimizing resource utilization.
[0099] In this embodiment, a reasonable load threshold is set to determine whether the target server has the capacity to execute new jobs, thus avoiding job delays or failures due to server overload. When the server load is too high, a reselection mechanism is automatically triggered and a new job instruction is generated, ensuring the stable operation of the system and the smooth execution of tasks.
[0100] This application models multiple dimensions, including business, users, tasks, and computing resources, and adopts business scenario segmentation, user collaborative filtering recommendation, and pre-occupied task computing power scheduling mode to achieve efficient use of computing resources and reliably meet diverse user needs.
[0101] This application provides a task preemptive computing power scheduling scheme based on user collaborative filtering; Among them, user collaborative filtering recommendation algorithms for business scenarios include: Users are tagged using a combination of business scenarios and tag sets, with data maintained and updated across three dimensions: user business scenario attributes, user interest attributes, and business computing power scheduling attributes. The purpose of this tagging is to achieve optimal and fastest solution recommendations for similar business scenarios and user interests of the same or different users, and to continuously iterate the recommendation record library based on feedback from subsequent actual computing power scheduling processes. Therefore, with a large number of users and a sufficiently rich pool of computing power scheduling jobs, the recommended solutions can be more accurate.
[0102] Among them, business scenario attributes refer to certain fixed parameter indicators in user business scenarios. Some common business scenarios include "East View West Render" and "East Data West Storage". These business scenarios usually include the following indicator parameters: file size, video frame rate, budget cost, latest processing completion time, waiting latency, etc.
[0103] User interest preference attributes refer to the user's preferred task completion settings based on business needs. These can typically be categorized into three metrics: lowest cost, lowest latency, and optimal performance. Lowest cost aims to minimize user expenses while completing the task, but may result in longer task execution times due to less efficient resource allocation. Lowest latency aims to minimize the overall delay in the selected business process, but this comes at the cost of higher user expenses due to the activation of high-performance resources. Optimal performance balances both lowest cost and lowest latency, requiring a comprehensive consideration of factors such as the user's maximum budget and the earliest possible task completion time when allocating resources to achieve a balance between the two.
[0104] Business computing power scheduling attributes refer to the assessment of the resources required to activate a business based on the user's selected business attributes and user's selected interest preferences.
[0105] For each scheduling and recommendation process, the business scenario attributes, user interest attributes, and business computing power scheduling attributes are recorded and stored in a database. A user collaborative filtering recommendation algorithm is then used for subsequent resource scheduling recommendations. After a scheduling cycle is completed, the entire process execution is synchronously updated in the database and used for subsequent user solution recommendations. The recommendation database is iteratively optimized based on data feedback until it reaches its optimal state. Figure 6 This is a schematic diagram illustrating the interaction between the recommendation record library, user set, and job scheduling set provided in this application; for example... Figure 6 As shown, the user collaborative filtering recommendation algorithm combines the user collaborative filtering recommendation feedback provided by the recommendation record library to provide relevant recommendations for the user set (including user 1, user 2, user 3, ..., user n). The electronic device executes job scheduling (including job 1, job 2, job 3, ..., job n) based on the recommendation feedback. Furthermore, the status of the relevant jobs is synchronously updated to the recommendation record library according to the job scheduling.
[0106] Task-pre-emptive computing resource scheduling schemes include: Task-pre-allocated computing resource scheduling refers to allocating and locking necessary computing resources in the computing resource pool in advance, based on the estimated needs of the task, before it officially begins execution. This scheduling method reduces the randomness and conflicts in resource allocation through prediction and planning, and improves the effective utilization of resources.
[0107] This application generates a task job based on the resource recommendation algorithm of the first step of user collaborative filtering. This job enters the queuing job module in a pre-occupancy manner and waits for the existing jobs on the target server to be completed before executing the job. Figure 7 This is a flowchart of a job scheduling method provided in an embodiment of this application, such as... Figure 7 As shown: The improved user collaborative filtering recommendation algorithm generates recommendation records based on feedback queries (recommendation records) from the recommendation record library and feeds them back to the recommendation record library. Based on the generated recommendation records, a job is generated and sent to the job scheduling module. The job scheduling module pushes the job into the queuing job module. After being queued and removed from the library, the job enters the server cluster. The server cluster will feed back the relevant job status to the recommendation record library.
[0108] The queuing module includes the following: For pending task 7, server C is recommended due to its lowest cost. For pending task 8, server B is recommended due to its lowest latency. Waiting for assignment 9, server A is recommended for optimal performance; For pending task 10, server B is recommended for optimal performance. For pending task 11, server B is recommended for optimal performance.
[0109] In this cluster, server A includes job 1, job 2, job 3, and reserved job 9; server B includes job 4, reserved job 8, reserved job 9, and reserved job 10; and server C includes job 5, job 6, and reserved job 7. The recommended records in the recommendation record library include the following: User C, business scenario: East-to-West rendering, lowest latency, recommended server C, job 1, job status: completed; User C, business scenario: East-to-West rendering, lowest latency, recommended server C, job 2, job status: completed; User C, business scenario: East-to-West rendering, lowest latency, recommended server C, job 3, job status: in progress; User A, business scenario: East data storage in the west, optimal performance, recommended server C, job 4, job status: in progress; User C, business scenario: East-to-West rendering, optimal performance, recommended server C, job 5, job status: completed; User B, business scenario: East data storage in the west, lowest cost, recommended server C, job 6, job status: in progress; User A, business scenario: East data storage in the west, lowest cost, recommended server C, job 7, job status: waiting; User A, business scenario: East View West Rendering, lowest latency, recommended server B, job 8, job status: waiting; User B, business scenario: East-to-West rendering, optimal performance, recommended server A, job 9, job status: waiting; User C, business scenario: East-to-West rendering, optimal performance, recommended server A, job 10, job status: waiting; User B, business scenario: East-to-West rendering, optimal performance, recommended server A, job 11, job status: waiting.
[0110] The specific steps of the task-based pre-occupancy scheme are as follows: Recommendation record library: The recommendation algorithm based on user collaborative filtering is used to read data from the recommendation record library. This recommendation record library contains status records such as completed, in progress, and waiting jobs. It is also used to maintain the status of the entire process from user business selection to business completion. This data is also used as a sample set in the subsequent user collaborative filtering process for subsequent business solution recommendation process. Job scheduling module: Used to generate a new task and push the task into the queued job module; The queued job module is used to maintain tasks currently waiting for job execution, as well as recommend target server information for jobs based on the recommendation scheme. It also assigns jobs to destination servers for execution based on the current server load status in the server cluster.
[0111] Server Cluster: This cluster contains servers waiting to be scheduled for jobs. Each server is used to execute different types of jobs. When a job in the waiting state enters, it will be assigned to the corresponding target server. Each server contains jobs in the status of completed, in progress, and waiting.
[0112] Figure 8 This is a flowchart of a task-based pre-occupancy method provided in an embodiment of this application; as shown... Figure 8 As shown: For waiting jobs entering target server A, before executing the job, obtain the current estimated remaining duration T1, the current number of allocated jobs N, and the current total duration T2 of allocated jobs, and based on T1, T2, and N, adopt the following allocation mode: If T1+T2>duration threshold K, or N>3, then suspend the new waiting job, notify the user that the current recommended solution is invalid and needs to be reselected, and generate a new waiting job.
[0113] If T1+T2 is less than K and N is less than 3, determine that the number of currently assigned jobs is N+1 and the total duration of currently assigned jobs is T2+T3 (the execution duration of the waiting jobs on target server A). Push new waiting jobs to the server, that is, mark the job as pre-occupied and queue it up for execution. After completing a scheduling job, the process data information will be synchronously updated to the recommendation record library for maintenance and use in subsequent recommendation processes.
[0114] Embodiments of this application provide a service processing apparatus, which can be used to implement... Figures 1 to 2 A corresponding embodiment provides a service processing method, referring to... Figure 9 As shown, the business processing device 900 includes: Acquisition unit 901 is used to acquire the first service; Processing unit 902 is used to generate a first job based on the user interest information of the first user associated with the first service, the business scenario information to which the first service belongs, and the performance information of the server cluster; wherein, the first job is used to instruct the target server to execute the first service; Processing unit 902 is used to execute the first task.
[0115] In other embodiments of this application, the acquisition unit 901 is used to acquire a first dataset; wherein the first dataset includes a second job and the completion status of the second job; the second job is the job generated before the first job was generated; Processing unit 902 is used to call the user collaborative filtering recommendation algorithm, and generate the first job by taking the first dataset as a reference and combining user interest information, business scenario information and performance information. Processing unit 902 is used to add the first job to the first dataset; Processing unit 902 is used to update the completion status of the first job in the first data set based on the execution status of the first job.
[0116] In other embodiments of this application, the processing unit 902 is used to allocate and lock first resources for the first job based on the business requirements of the first service; Processing unit 902 is used to enter the first job into the server cluster in a pre-emptive manner; Processing unit 902 is used to execute the first job when the target server in the server cluster meets the execution conditions.
[0117] In other embodiments of this application, the processing unit 902 is used to determine the performance score of candidate servers in the server cluster based on performance information; Based on the size of the first service and the performance score of the candidate servers, calculate the time required for each candidate server to execute the first service and the estimated total price. Processing unit 902 is used to determine the target server in the first job based on user interest information, the time required for each candidate server to perform the first service, and the estimated total price.
[0118] In other embodiments of this application, the user interest preference information includes a first type of user interest preference, a second type of user interest preference, and a third type of user interest preference. The processing unit 902 is used to select a server that meets the user's budget cost from the candidate servers as the target server based on the estimated total price if the user interest preference information is the first type of user interest preference.
[0119] In other embodiments of this application, the processing unit 902 is configured to select, based on the required duration, a server that meets the user's latest completion time from the candidate servers as the target server if the user's interest preference information is a second type of user interest preference.
[0120] In other embodiments of this application, the processing unit 902 is used to obtain the first weight corresponding to the required duration and the second weight corresponding to the estimated total price if the user interest tendency information is a third type of user interest tendency. Processing unit 902 is used to determine the target server based on the first weight, the second weight, the required duration, and the estimated total price.
[0121] In other embodiments of this application, the processing unit 902 is used to calculate the performance score of the candidate server based on the number of cores and memory size of the central processing unit.
[0122] In other embodiments of this application, the acquisition unit 901 is used to acquire the remaining estimated duration of the currently executed job of the target server, the number of waiting jobs currently allocated to the target server, and the total duration of the currently allocated jobs of the target server; The processing unit 902 is used to determine that the target server meets the execution conditions if the sum of the remaining estimated time and the total time is less than a first threshold and the number of waiting jobs is less than a second threshold. The processing unit 902 is used to reselect the target server for executing the first service and generate a third job if the sum of the remaining estimated time and the total time is greater than or equal to a first threshold, or the number of waiting jobs is greater than or equal to a second threshold; the third job is used to instruct the target server to execute the first service.
[0123] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0124] It should be noted that, in the embodiments of this application, if the above-mentioned business processing methods are implemented in the form of software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a terminal device to execute all or part of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.
[0125] Figure 10 This is a schematic structural diagram of an electronic device provided in an embodiment of this application. The electronic device can be an intelligent agent. Figure 10 The illustrated electronic device 1000 includes a processor 1010, which can call and run computer programs from memory to implement the methods in the embodiments of this application.
[0126] Optionally, such as Figure 10As shown, the electronic device 1000 may further include a memory 1020. The processor 1010 can retrieve and run computer programs from the memory 1020 to implement the methods described in the embodiments of this application.
[0127] The memory 1020 can be a separate device independent of the processor 1010, or it can be integrated into the processor 1010.
[0128] Optionally, such as Figure 10 As shown, the electronic device 1000 may also include a transceiver 1030, and the processor 1010 may control the transceiver 1030 to communicate with other devices. Specifically, it may send information or data to other devices or receive information or data sent by other devices.
[0129] The transceiver 1030 may include a transmitter and a receiver. The transceiver 1030 may further include an antenna, and the number of antennas may be one or more.
[0130] Optionally, the electronic device 1000 may specifically be a service processing device in the embodiments of this application, and the electronic device 1000 may implement the corresponding processes implemented by the service processing device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0131] This application also provides a computer program product, including a computer program that can be executed by the processor 1010 of the electronic device 1000 to perform the steps described in any of the foregoing methods.
[0132] It should be understood that the processor in the embodiments of this application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor described above can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0133] As one embodiment, the processor may include one or more general-purpose central processing units (CPUs). Each of these processors may be a single-core processor or a multi-core processor. Here, "processor" may refer to one or more devices, circuits, and / or processing cores used for processing data (e.g., executing instructions).
[0134] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be ROM, Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), or flash memory. The volatile memory can be Random Access Memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate Synchronous DRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0135] This application also provides a computer-readable storage medium for storing computer programs.
[0136] Optionally, the computer-readable storage medium can be applied to the service processing apparatus / electronic device in the embodiments of this application, and the computer program causes the computer to execute the corresponding processes implemented by the service processing apparatus / electronic device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0137] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0138] A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
[0139] The above provides a detailed description of the service processing method and electronic device provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
[0140] It should be understood that the phrases "an embodiment," "an embodiment," "an embodiment of this application," "the foregoing embodiment," "some implementations," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, the phrases "an embodiment," "an embodiment," "an embodiment of this application," "the foregoing embodiment," "some implementations," or "some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments of this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0141] Unless otherwise specified, any step performed by the service processing device / electronic device in the embodiments of this application may be performed by the processor of the service processing device / electronic device. Unless otherwise specified, the embodiments of this application do not limit the order in which the service processing device / electronic device performs the following steps. Furthermore, the methods used to process data in different embodiments may be the same or different methods.
[0142] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0143] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0144] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0145] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0146] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0147] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0148] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0149] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0150] The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.
[0151] It should be noted that in the various embodiments involved in this application, all steps or some steps may be performed, as long as a complete technical solution can be formed.
[0152] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for processing business transactions, characterized in that, The method includes: Acquire the first business; Based on the user interest information of the first user associated with the first service, the business scenario information of the first service, and the performance information of the server cluster, a first job is generated; wherein, the first job is used to instruct the target server to execute the first service; Execute the first task.
2. The method according to claim 1, characterized in that, The step of generating a first job based on the user interest information of the first user associated with the first service, the business scenario information to which the first service belongs, and the performance information of the candidate server includes: Obtain a first dataset; wherein the first dataset includes a second job and the completion status of the second job; the second job is the job generated before the first job was generated; The user collaborative filtering recommendation algorithm is invoked, and the first job is generated by taking the first dataset as a reference and combining the user interest information, the business scenario information, and the performance information. The method further includes: Add the first job to the first dataset; Based on the execution status of the first job, update the completion status of the first job in the first dataset.
3. The method according to claim 1, characterized in that, Executing the first job includes: Based on the business requirements of the first service, allocate and lock the first resource for the first job; The first job is pre-assigned to the server cluster; If the target server in the server cluster meets the execution conditions, the first job is executed.
4. The method according to claim 1, characterized in that, The process of generating a first job based on the user interest information of the first user associated with the first service, the business scenario information to which the first service belongs, and the performance information of the server cluster includes: Based on the performance information, determine the performance score of the candidate servers in the server cluster; Based on the size of the first service and the performance score of the candidate servers, calculate the time required for each candidate server to execute the first service and the estimated total price. Based on the user's interest information, the time required for each candidate server to execute the first service, and the estimated total price, the target server in the first job is determined.
5. The method according to claim 4, characterized in that, The user interest preference information includes a first type of user interest preference, a second type of user interest preference, and a third type of user interest preference. The step of determining the target server in the first job based on the user interest preference information, the time required for each candidate server to execute the first service, and the estimated total price includes: If the user interest preference information is a first type of user interest preference, then based on the estimated total price, a server that meets the user's budget cost is selected from the candidate servers as the target server.
6. The method according to claim 5, characterized in that, The step of determining the target server in the first job based on the user interest information, the time required for each candidate server to execute the first service, and the estimated total price includes: If the user interest preference information is the second type of user interest preference, based on the required duration, the server that meets the user's latest completion time is selected from the candidate servers as the target server.
7. The method according to claim 5, characterized in that, The step of determining the target server in the first job based on the user interest information, the time required for each candidate server to execute the first service, and the estimated total price includes: If the user interest information is a third type of user interest, obtain the first weight corresponding to the required duration and the second weight corresponding to the estimated total price; The target server is determined based on the first weight, the second weight, the required duration, and the estimated total price.
8. The method according to claim 4, characterized in that, The performance information includes the number of CPU cores and memory size of the candidate servers; determining the performance score of the candidate servers in the server cluster based on the performance information includes: The performance score of the candidate server is calculated based on the number of cores and memory size of the central processing unit.
9. The method according to claim 4, characterized in that, Different candidate servers execute different types of jobs; the method includes: Obtain the remaining estimated duration of the currently executing job on the target server, the number of waiting jobs currently allocated to the target server, and the total duration of the jobs currently allocated to the target server; If the sum of the remaining estimated duration and the total duration is less than the first threshold, and the number of waiting jobs is less than the second threshold, the target server is determined to meet the execution conditions. If the sum of the remaining estimated duration and the total duration is greater than or equal to a first threshold, or if the number of waiting jobs is greater than or equal to a second threshold, the target server for executing the first service is reselected, and a third job is generated; the third job is used to instruct the target server to execute the first service.
10. An electronic device, characterized in that, The electronic device includes: a memory for storing executable instructions; and a processor for executing the executable instructions stored in the memory to implement the processing method of any one of claims 1 to 9.