A resource recommendation method and device, electronic equipment, and storage medium
By employing different recommendation methods based on resource type within the HPC platform, and utilizing node job information and application description text for precise recommendations, the problem of inaccurate recommendations in existing technologies is solved, thereby improving the accuracy of resource recommendations and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHUGUANG ZHISUAN INFORMATION TECH CO LTD
- Filing Date
- 2023-01-12
- Publication Date
- 2026-06-26
AI Technical Summary
In HPC platforms, existing technologies cannot accurately recommend newly added compute nodes or application resources based on user usage, resulting in low recommendation accuracy.
By determining the type of resource to be recommended, when targeting node resources, users are selected and recommended based on the types of nodes they have used and their job information. When targeting application resources, users are determined by word segmentation and classifier training based on the description text.
It improved the accuracy of resource recommendations, reduced invalid recommendations, and enhanced user experience and resource utilization efficiency.
Smart Images

Figure CN115964567B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to a resource recommendation method, apparatus, electronic device, and storage medium. Background Technology
[0002] In the field of HPC (High Performance Computing) clusters, how to recommend resources to users and improve their user experience is an important research topic. Resources include hardware resources and software resources. Hardware resources refer to the hardware nodes required for users to execute computing tasks, which can be divided into CPU (Central Processing Unit) nodes and GPU (Graphics Processing Unit) nodes. Software resources refer to the specific application software required by users to submit computing tasks.
[0003] When a new compute node is added to an HPC platform or a new application is supported, the platform lacks historical user subscription data for that node or application, making it impossible to determine which users to recommend to based on user behavior. Current technology typically recommends to all users on the platform, but this method has low accuracy. Summary of the Invention
[0004] This invention provides a resource recommendation method, apparatus, electronic device, and storage medium to achieve accurate recommendations during resource cold starts.
[0005] In a first aspect, embodiments of the present invention provide a resource recommendation method, the method comprising:
[0006] Obtain the resources to be recommended and determine the resource type of the resources to be recommended;
[0007] If the resource type is determined to be a node, then a recommended user is determined among the users based on the node type of the nodes used by each user and at least two node job information.
[0008] If the resource type is determined to be an application, then the application category of the resource to be recommended is determined based on the description text of the resource to be recommended, and the subscribers corresponding to the application category are selected as recommended users.
[0009] Secondly, embodiments of the present invention also provide a resource recommendation device, the device comprising:
[0010] The resource type determination module is used to obtain the resources to be recommended and determine the resource type of the resources to be recommended;
[0011] The node recommendation user determination module is used to determine recommended users among users based on the node type of the nodes used by each user and at least two node job information if the resource type is determined to be a node.
[0012] The application recommendation user determination module is used to determine the application category of the resource to be recommended based on the description text of the resource to be recommended, and to select the subscribers corresponding to the application category as recommended users if the resource type is determined to be an application.
[0013] Thirdly, embodiments of the present invention also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the resource recommendation method as described in any of the embodiments of the present invention.
[0014] Fourthly, embodiments of the present invention also provide a storage medium for storing computer-executable instructions, which, when executed by a computer processor, are used to perform the resource recommendation method as described in any of the embodiments of the present invention.
[0015] The technical solution of this invention determines the resource type of the resource to be recommended. When the resource is a node, it identifies recommended users based on the node types of the nodes used by each user and at least two pieces of node job information. When the resource is an application, it determines the application category of the resource based on its description text and selects the subscribers corresponding to the application category as recommended users. This solves the problem of low accuracy in existing recommendation methods by adopting different recommendation methods for different types of resources and using different criteria to select users who may be interested in the resource, thus providing targeted recommendations. When recommending nodes, it fully considers the node type and node job information of each user, which can reduce invalid recommendations, reduce network latency when users use the resource, improve user experience, and increase the accuracy of resource recommendations. When recommending applications, the application's description text is segmented into words, and weights are calculated for different word segments. This effectively reflects the importance of each word segment and its distribution in the description texts of already used applications, thereby improving the accuracy of resource classification. A classifier is constructed using already used applications and existing subcategories, and this classifier is used to classify the application to be recommended. This accurately obtains the subcategories of applications most similar to the application to be recommended, thus identifying similar applications on the HPC platform. Based on the subscribers of similar applications, potential recommended users are obtained, improving the accuracy of resource recommendations.
[0016] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a flowchart of a resource recommendation method provided in Embodiment 1 of the present invention;
[0019] Figure 2 This is a flowchart of a resource recommendation method provided in Embodiment 2 of the present invention;
[0020] Figure 3 A flowchart of yet another resource recommendation method provided in Embodiment 3 of the present invention;
[0021] Figure 4 This is a schematic diagram of the structure of a resource recommendation device provided in Embodiment 4 of the present invention;
[0022] Figure 5 This is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention. Detailed Implementation
[0023] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0025] Example 1
[0026] Figure 1 The flowchart of a resource recommendation method is provided in Embodiment 1 of the present invention. This embodiment is applicable to the situation of determining recommended users during resource cold start. The method can be executed by a resource recommendation device, which can be implemented in hardware and / or software. The resource recommendation device can be configured in electronic devices, especially electronic devices in HPC clusters.
[0027] like Figure 1 As shown, the method includes:
[0028] S110. Obtain the resources to be recommended and determine the resource type of the resources to be recommended.
[0029] Among them, the resources to be recommended are new resources added to the HPC platform. The HPC platform has the ability to process data at high speed and perform complex calculations. When the HPC platform adds new resources, it needs to determine which users to recommend the resources to.
[0030] The resource type to be recommended can be either a node or an application. A node, or hardware resource, refers to the computing node required for a user to perform a computing task. For example, node types can be further divided into CPU nodes and GPU nodes. An application, or software resource, refers to the specific application software required to submit a computing task.
[0031] In this embodiment of the invention, different methods are used to determine recommended users for node-type resources and application-type resources. This is because the criteria for users selecting node-type resources and application-type resources differ: for nodes, whether a user selects a recommended node depends on whether the node is the type the user needs and whether the user needs a new node to improve job efficiency. For applications, whether a user selects an recommended application depends on whether the user needs the application.
[0032] In this embodiment of the invention, different criteria are used to select users who may be interested in the resource based on node-type resources and application-type resources, and targeted recommendations are made. This increases the probability of resource subscription and improves the accuracy of resource recommendations. Simultaneously, it enables precise recommendations based on user needs, thus improving the user experience.
[0033] S120. If the resource type is determined to be a node, then a recommended user is determined among the users based on the node type of the nodes used by each user and at least two node job information.
[0034] In this context, "used nodes" refers to the historical subscription nodes of each user on the HPC platform, including CPU nodes and GPU nodes. "Node job information" refers to the job information when a user runs a computation job on a used node. This information may include the average job wait time, maximum job wait time, average job execution time, and maximum job execution time, but this embodiment does not limit the type and quantity of node job information. "Job wait time" refers to the time required for a computation job to enter the waiting queue before it is actually executed on a used node, i.e., the queuing time for the computation job. The average job wait time is the average wait time of the used node in at least two computation job executions, and the maximum job wait time is the maximum wait time of the used node in at least two computation job executions. It is understood that the larger the average job wait time and / or the maximum job wait time, the longer the queuing time of the used node. "Job execution time" refers to the time required for a user to run a computation job on a used node. Average job runtime refers to the average runtime of a used node when executing a computational job in at least two separate instances, while maximum job runtime is the maximum runtime of a used node when executing a computational job in at least two separate instances. Understandably, the higher the average job runtime and / or maximum job runtime, the greater the computational load on the used node when performing computational tasks.
[0035] Specifically, this embodiment first filters users whose used nodes have the same node type as the recommended resource, based on the node type of the resource to be recommended. For example, if the recommended resource is a GPU node, users whose used nodes are CPU nodes generally will not select that resource. Therefore, users whose used nodes are CPU nodes can be removed from the recommendation list and not recommended to them, only users whose used nodes are GPU nodes are retained. The advantage of this setting is that it can directly filter out users with a low probability of selecting the recommended resource, thereby improving the accuracy of resource recommendations.
[0036] After filtering out users whose node types match both the currently used nodes and the node types of the resources to be recommended, further, based on at least two pieces of node job information, recommended users are determined from among these users, and the resources to be recommended are pushed to these recommended users. It is understandable that when the job efficiency of a user's currently used node is higher than the job efficiency of the new resource recommended to the user, the user will not choose the new resource, or even if they choose the new resource, they will be more inclined to use the original node. Therefore, this embodiment selects users who need new resources to improve job efficiency based on the node job information of the user's currently used nodes, and recommends new resources accordingly, which can improve the accuracy of resource recommendations.
[0037] S130. If the resource type is determined to be an application, then the application category of the resource to be recommended is determined according to the description text of the resource to be recommended, and the subscribers corresponding to the application category are selected as recommended users.
[0038] The introductory text is the text that describes the resource to be recommended when it is added to the HPC platform. Application category refers to the subcategories of applications on the HPC platform. For example, the application categories of the HPC platform may include the Industrial Manufacturing category, which in turn includes the CAE (Computer Aided Engineering) subcategory. The CAE subcategory further includes several subcategories such as motion simulation, fatigue analysis, thermal analysis, noise analysis, electromagnetic analysis, and optimization analysis.
[0039] In this embodiment, the application category of the resource to be recommended on the HPC platform is determined based on its descriptive text. It should be noted that the determined application category can be one or more, and the number of application categories can be flexibly set according to actual needs.
[0040] In an optional embodiment, the similarity score between the description text of the resource to be recommended and the description texts of various applications on the HPC platform can be calculated, and the application category of the resource to be recommended can be determined based on the similarity score. Specifically, the application category to which the application with the highest similarity score belongs can be used as the application category of the resource to be recommended.
[0041] In another optional embodiment, an application classifier can be pre-trained based on the various applications of the HPC platform. The resources to be recommended are then input into the application classifier to obtain the application classification results output by the classifier. This embodiment does not limit the training process of the application classifier.
[0042] In this embodiment, after determining the application category of the resource to be recommended, the subscribers of each application in the application category are determined, and each subscriber is used as the recommending user to recommend the resource.
[0043] The technical solution of this embodiment can obtain a more detailed classification of the application based on the existing application classification categories on the HPC platform and the application's own description text, thereby determining similar applications on the HPC platform and obtaining potential recommended users based on the subscribers of similar applications.
[0044] The technical solution of this invention determines the resource type of the resource to be recommended. When the resource is a node, it identifies recommended users based on the node types of the nodes used by each user and at least two pieces of node job information. When the resource is an application, it determines the application category of the resource based on its description text and identifies the subscribers corresponding to the application category as recommended users. This solves the problem of low accuracy in existing recommendation methods by adopting different recommendation methods for different types of resources. When recommending nodes, it fully considers the node types and node job information of each user. When recommending applications, it categorizes applications based on their description text, thus improving the accuracy and precision of the recommendations.
[0045] Example 2
[0046] Figure 2 This is a flowchart of a resource recommendation method provided in Embodiment 2 of the present invention. Based on the above embodiments, the present invention further specifies the process of determining the recommended user when the resource type is a node.
[0047] like Figure 2 As shown, the method includes:
[0048] S210. Obtain the resources to be recommended and determine the resource type of the resources to be recommended.
[0049] The definition of the resources to be recommended and the classification of resource types have been explained in the above embodiments, and will not be repeated here.
[0050] S220. If the resource type is determined to be a node, then obtain the node type of the nodes used by each user, and select users whose node type of the used nodes is the same as the node type of the resource to be recommended as initial screening users.
[0051] In this embodiment, firstly, based on the node type of the resource to be recommended, users whose used node types are the same as the node type of the resource to be recommended are selected as initial screening users. This setting can delete a large number of users whose used node types do not match the node type of the resource to be recommended, thereby reducing invalid recommendations and improving the accuracy of resource recommendations.
[0052] S230. Based on at least two node operation information, determine the recommended users among the initial screening users.
[0053] In an optional embodiment, different scoring values can be set for node job information in different numerical ranges, and weights can be assigned to different node job information. The sum of the products of the node job information's scoring value and its weight is used as the scoring value for each initially screened user. The initially screened users are then ranked, and recommended users are selected based on the ranking results.
[0054] For example, taking node job information such as average node job time and network latency as an example, the following rules can be preset: the weights of average node job time and network latency are each 0.5. For average node job time, a score of 1 is set when the time value is less than 10 minutes, a score of 3 is set when the time value is greater than or equal to 10 minutes and less than 30 minutes, and a score of 5 is set when the time value is greater than or equal to 30 minutes. For network latency, a score of 1 is set when the network latency is greater than or equal to 1 second, a score of 3 is set when the network latency is less than 1 second and greater than or equal to 0.1 seconds, and a score of 5 is set when the network latency is less than 0.1 seconds. For each initially screened user, the score values for their average node job time and network latency are determined, and the score value for each initially screened user is calculated.
[0055] Understandably, a higher average node job time indicates a greater user demand for new applications with higher job efficiency; therefore, the average node job time is directly proportional to the rating. Conversely, lower network latency results in better performance with the new application; therefore, network latency is inversely proportional to the rating.
[0056] It should be noted that this embodiment does not impose restrictions on the quantity and type of node job information, the number of intervals for dividing node job information, boundary values, the corresponding score values for each interval, or the weight of node job information. These can be flexibly set according to the actual needs recommended by the application.
[0057] Optionally, S230 may further include the following steps A1-A3.
[0058] A1. Select users whose average work time is greater than or equal to a preset time threshold as candidate users.
[0059] The average job time includes average job waiting time and / or average job running time. The definitions of average job waiting time and average job running time have been explained in the above embodiments and will not be repeated here.
[0060] In this embodiment, among the initially screened users, those with an average job waiting time greater than or equal to a preset time threshold and / or an average job running time greater than or equal to a preset time threshold are selected as candidate users. For example, the preset time threshold matching the average job waiting time can be 5 minutes, and the preset time threshold matching the average job running time can be 30 minutes. This embodiment does not limit the specific value of the preset time thresholds; they can be flexibly set according to the actual needs of the application.
[0061] In this embodiment, the greater the average job waiting time and / or average job execution time, the greater the need for new applications with shorter queuing times and higher job efficiency, and the higher the success rate of recommending new applications to users. Therefore, this embodiment further filters candidate users whose average job time is greater than or equal to a preset time threshold from the initial user screening, which can improve the accuracy of resource recommendation.
[0062] A2. Sort the candidate users according to their registration location and / or network latency.
[0063] User registration location refers to the location where a candidate user registers and logs in on the HPC platform, and network latency refers to the time required for data to be transmitted in the transmission medium.
[0064] In this embodiment, because HPC platforms are regional and geographically specific, once a resource to be recommended is launched on an HPC platform, it will be prioritized for users registered within the coverage area of that HPC platform. When a user executes a computation job on a node, the computation example needs to be uploaded from the local machine to the node, and after the node completes the computation job, the computation result is downloaded from the node back to the local machine. Therefore, prioritizing recommendations to users registered within the coverage area of the HPC platform reduces the waiting time for users during these two processes when using the recommended resource, thus improving the user experience.
[0065] For example, an HPC platform covers region A. When a resource to be recommended is launched on this HPC platform, it will be preferentially recommended to users registered in region A. Of course, this does not mean that users in region B cannot use the recommended resource; users in region B can still subscribe to and use the recommended resource.
[0066] In this embodiment, the network latency of each candidate user can also be directly obtained, and the resources to be recommended can be preferentially recommended to users with higher network latency. It is understood that the higher the current network latency of a user, the higher the success rate of recommending new applications with lower latency to the user.
[0067] Specifically, candidate users can be ranked based on their registration location and / or network latency. Candidate users whose registration location is within the area covered by the HPC platform are ranked higher, as are candidates with higher network latency.
[0068] A3. Based on the ranking results of each candidate user, determine the recommended users.
[0069] Specifically, from the sorted candidate users, the top 100 candidate users can be selected as recommended users. The exact number of these top 100 users can be preset or flexibly set according to the actual needs of the application's recommendations.
[0070] The technical solution of this invention determines the resource type of the resource to be recommended. When the resource to be recommended is a node, it first filters out users whose node types are the same as the node type of the resource to be recommended, and then sorts these users according to their node job information to determine the recommended users. This solves the problem of low accuracy in existing recommendation methods. By fully considering the node type and node job information of each user when recommending nodes, it improves the accuracy and precision of the recommendations.
[0071] Example 3
[0072] Figure 3 This is a flowchart of a resource recommendation method provided in Embodiment 3 of the present invention. Based on the above embodiments, the present invention further specifies the process of determining the recommended user when the resource type is an application.
[0073] like Figure 3 As shown, the method includes:
[0074] S310. Obtain the resource to be recommended and determine the resource type of the resource to be recommended.
[0075] The definition of the resources to be recommended and the classification of resource types have been explained in the above embodiments, and will not be repeated here.
[0076] S320. If the resource type is determined to be an application, then obtain the description text of the resource to be recommended, and perform word segmentation on the description text to obtain at least one text segmentation.
[0077] In this embodiment, after obtaining the description text of the resource to be recommended, the description text is segmented into words. Specifically, word segmentation software can be used to segment the description text; this embodiment does not limit the type of word segmentation software. After segmenting the description text, multiple word segments are obtained.
[0078] S330. Based on the word segmentation of each text and the pre-trained classifier, determine the application category of the resource to be recommended.
[0079] After segmenting the introductory text, each segmented text is input into the classifier to obtain the application classification result output by the classifier.
[0080] Optionally, S330 may further include the following steps B1-B2:
[0081] B1. Determine the weights corresponding to each text segmentation.
[0082] Specifically, you can input each text segment into the weight calculator to obtain the segmentation weights output by the weight calculator.
[0083] The weight calculator can use the TF-IDF (Term Frequency-Inverse Document Frequency) algorithm as the weight calculation algorithm. After the weight calculator is constructed, it can be saved to the NoSQL database Redis for subsequent use in calculating weights when classifying the application of the resources to be recommended.
[0084] In this embodiment, weights are calculated for different text segments, which can effectively reflect the importance of each text segment and its distribution in the description texts of the applications already in use, thereby improving the accuracy of the classification of resources to be recommended.
[0085] B2. Input each text segment and its corresponding weight into a pre-trained classifier to obtain the application classification output by the classifier.
[0086] Optionally, the training process of the classifier can be implemented through the following steps C1-C3:
[0087] C1. Obtain the description text of the used applications, and perform word segmentation on the description text of each used application to obtain the corresponding text segmentation for each used application.
[0088] The method for segmenting used applications is the same as the method for segmenting the description text of recommended resources.
[0089] C2. Determine the weight of each text segmentation corresponding to the application that has been used.
[0090] The weight calculator is used to calculate the weight of each text segmentation corresponding to the applications used.
[0091] C3. Based on the text segmentation corresponding to each used application, the weight of each text segmentation, and the type label of each used application, train the pre-set classifier to obtain the trained classifier.
[0092] Type labels are known subcategories of applications already used on the HPC platform. A classifier is constructed based on the text segmentation of each application, the weight of the text segmentation, and the type labels of the applications already used.
[0093] For example, the classifier type can be a Naive Bayes classifier, but this embodiment does not limit the type of classifier.
[0094] After constructing the classifier, it can be saved to a NoSQL database, Redis, for subsequent application classification of resources to be recommended.
[0095] In this embodiment, a classifier is constructed using used applications and existing subcategories, and this classifier is used to classify the application of the resource to be recommended, thereby accurately obtaining the subcategories of applications most similar to the resource to be recommended.
[0096] S340. Select the subscribers corresponding to the application category as recommended users.
[0097] After determining the application category, obtain a list of applications for that category, identify the subscribers of each application in the list, and use each subscriber as a recommended user.
[0098] The technical solution of this invention determines the resource type of the resource to be recommended. When the resource to be recommended is an application, it performs word segmentation based on the description text of the resource to be recommended, obtains text word segments, inputs the text word segments into a classifier to obtain the application category of the resource to be recommended, and uses the subscribed users corresponding to the application category as the recommended users. This solves the problem of low accuracy in existing recommendation methods. By classifying applications based on their description text when recommending applications, the accuracy and precision of the recommendations are improved.
[0099] Example 4
[0100] Figure 4 This is a schematic diagram of a resource recommendation device provided in Embodiment 4 of the present invention. Figure 4 As shown, the device includes: a resource type determination module 410, a node recommended user determination module 420, and an application recommended user determination module 430. Wherein:
[0101] The resource type determination module 410 is used to obtain the resource to be recommended and determine the resource type of the resource to be recommended;
[0102] The node recommendation user determination module 420 is used to determine recommended users among users based on the node type of the nodes used by each user and at least two node job information if the resource type is determined to be a node.
[0103] The application recommendation user determination module 430 is used to determine the application category of the resource to be recommended based on the description text of the resource to be recommended, and to select the subscribers corresponding to the application category as recommended users if the resource type is determined to be an application.
[0104] The technical solution of this invention determines the resource type of the resource to be recommended. When the resource is a node, recommended users are selected from among the users based on the node types of the nodes used by each user and at least two pieces of node job information. When the resource is an application, the application category of the resource is determined based on its description text, and the subscribers corresponding to the application category are selected as recommended users. This solves the problem of low accuracy in existing recommendation methods by adopting different recommendation methods for different types of resources and using different criteria to select users who may be interested in the resource to be recommended, thus providing targeted recommendations. When recommending nodes, the node type and node job information of each user are fully considered, which can delete a large number of users whose node types do not match the node type of the resource to be recommended, thereby reducing invalid recommendations. Furthermore, candidate users whose average node job time is greater than or equal to a preset time threshold are selected and prioritized for recommendation to users registered in the area covered by the HPC platform, reducing network latency when users use the resource to be recommended, improving user experience, and increasing the accuracy of resource recommendations. When recommending applications, the application's description text is segmented into words, and weights are calculated for different word segments. This effectively reflects the importance of each word segment and its distribution in the description texts of already used applications, thereby improving the accuracy of resource classification. A classifier is constructed using already used applications and existing subcategories, and this classifier is used to classify the application to be recommended. This allows for accurate subcategories of applications most similar to the application to be recommended, thus identifying similar applications on the HPC platform. Based on the subscribers of similar applications, potential recommended users are obtained, further improving the accuracy of resource recommendations.
[0105] Based on the above embodiments, the node recommendation user determination module 420 includes:
[0106] The user initial screening unit is used to obtain the node type of each user's used nodes, and users whose used node type is the same as the node type of the resource to be recommended are selected as initial screening users.
[0107] The recommended user determination unit is used to determine recommended users from among the initial screened users based on at least two node job information.
[0108] Based on the above embodiments, the node types include central processing unit nodes and graphics processing unit nodes.
[0109] Based on the above embodiments, a user determination unit is recommended, specifically used for:
[0110] Users whose average job time is greater than or equal to a preset time threshold are initially screened as candidate users, wherein the average job time includes average job waiting time and / or average job running time.
[0111] The candidate users are ranked according to their registration location and / or network latency.
[0112] Based on the ranking of each candidate user, the recommended user is determined.
[0113] Based on the above embodiments, the application recommendation user determination module 430 includes:
[0114] The introductory text segmentation unit is used to obtain the introductory text of the resource to be recommended, and to segment the introductory text to obtain at least one text segmentation unit.
[0115] The application classification determination unit is used to determine the application classification of the resource to be recommended based on the word segmentation of each text and the pre-trained classifier.
[0116] Based on the above embodiments, the classification determination unit is specifically used for:
[0117] Determine the weights corresponding to each text segmentation;
[0118] Each text segment and its corresponding weight are input into a pre-trained classifier to obtain the application classification output by the classifier.
[0119] Based on the above embodiments, the device further includes:
[0120] The application segmentation module is used to obtain the description text of the used applications and segment the description text of each used application to obtain the text segmentation corresponding to each used application.
[0121] The weight determination module is used to determine the weight of each text segmentation corresponding to each application that has been used;
[0122] The classifier training module is used to train a pre-set classifier based on the text segmentation corresponding to each used application, the weight of each text segmentation, and the type label of each used application, so as to obtain a trained classifier.
[0123] The resource recommendation device provided in this embodiment of the invention can execute the resource recommendation method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method execution.
[0124] Example 5
[0125] Figure 5 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0126] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0127] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0128] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as resource recommendation methods.
[0129] In some embodiments, the resource recommendation method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the resource recommendation method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the resource recommendation method by any other suitable means (e.g., by means of firmware).
[0130] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0131] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0132] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0133] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0134] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0135] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0136] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0137] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A resource recommendation method, characterized in that, include: Obtain the resources to be recommended and determine the resource type of the resources to be recommended; If the resource type is determined to be a node, then recommended users are determined among all users based on the node type of the nodes used by each user and at least two pieces of node job information; wherein, the used nodes refer to the historical subscribed nodes of each user on the HPC platform, and the node types include CPU nodes and GPU nodes; the node job information refers to the job information when the user executes computing jobs on the used nodes, including the average job wait time, maximum job wait time, average job run time, and maximum job run time when the user executes computing jobs on the used nodes; If the resource type is determined to be an application, then the application category of the resource to be recommended is determined based on the description text of the resource to be recommended, and the subscribers corresponding to the application category are selected as recommended users. The step of determining recommended users among all users based on the node type of each user's used nodes and at least two pieces of node job information includes: Obtain the node types of the nodes used by each user, and select users whose node types are the same as the node types of the resources to be recommended as initial screening users; Based on information from at least two node operations, recommend users are determined from among the initial screened users.
2. The method according to claim 1, characterized in that, Based on information from at least two node tasks, determine recommended users from among the initial screened users, including: Users whose average job time is greater than or equal to a preset time threshold are initially screened as candidate users, wherein the average job time includes average job waiting time and / or average job running time. The candidate users are ranked according to their registration location and / or network latency. Based on the ranking of each candidate user, the recommended user is determined.
3. The method according to claim 1, characterized in that, Based on the description text of the resource to be recommended, determine the application category of the resource to be recommended, including: Obtain the description text of the resource to be recommended, and perform word segmentation on the description text to obtain at least one text segmentation; Based on the word segmentation of each text and the pre-trained classifier, the application category of the resource to be recommended is determined.
4. The method according to claim 3, characterized in that, Based on text segmentation and a pre-trained classifier, the application category of the resource to be recommended is determined, including: Determine the weights corresponding to each text segmentation; Each text segment and its corresponding weight are input into a pre-trained classifier to obtain the application classification output by the classifier.
5. The method according to claim 3, characterized in that, The training process for the classifier includes: Get the description text of the used applications, and perform word segmentation on the description text of each used application to obtain the corresponding text word segmentation for each used application; Determine the weights of the text segmentation corresponding to each application that has been used; Based on the text segmentation corresponding to each used application, the weight of each text segmentation, and the type label of each used application, the pre-set classifier is trained to obtain the trained classifier.
6. A resource recommendation device, characterized in that, include: The resource type determination module is used to obtain the resources to be recommended and determine the resource type of the resources to be recommended; The node recommendation user determination module is used to determine recommended users among all users based on the node type of each user's used nodes and at least two pieces of node job information if the resource type is determined to be a node. The used nodes refer to the historical subscribed nodes of each user on the HPC platform, and the node types include CPU nodes and GPU nodes. The node job information refers to the job information of the user when running computational jobs on used nodes, including the average job wait time, maximum job wait time, average job execution time, and maximum job execution time when the user runs computational jobs on used nodes. The application recommendation user determination module is used to determine the application category of the resource to be recommended based on the description text of the resource to be recommended, and to select the subscribers corresponding to the application category as recommended users if the resource type is determined to be an application. The node recommendation user determination module includes: The user initial screening unit is used to obtain the node type of each user's used nodes, and users whose used node type is the same as the node type of the resource to be recommended are selected as initial screening users. The recommended user determination unit is used to determine recommended users from among the initial screened users based on at least two node job information.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the resource recommendation method as described in any one of claims 1-5.
8. A storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the resource recommendation method as described in any one of claims 1-5.