CN118114964A - Method, apparatus, device, storage medium and program product for planning job path - Google Patents

Method, apparatus, device, storage medium and program product for planning job path Download PDF

Info

Publication number
CN118114964A
CN118114964A CN202410327814.XA CN202410327814A CN118114964A CN 118114964 A CN118114964 A CN 118114964A CN 202410327814 A CN202410327814 A CN 202410327814A CN 118114964 A CN118114964 A CN 118114964A
Authority
CN
China
Prior art keywords
job
path
jobs
upstream
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410327814.XA
Other languages
Chinese (zh)
Inventor
王子俨
颜谨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202410327814.XA priority Critical patent/CN118114964A/en
Publication of CN118114964A publication Critical patent/CN118114964A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Development Economics (AREA)
  • Computational Mathematics (AREA)
  • Educational Administration (AREA)
  • Computational Linguistics (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present disclosure provides a method, apparatus, device, storage medium, and program product for planning a job path, which can be applied to the technical field of computers and the technical field of financial science and technology. The method comprises the following steps: comparing the job information among the plurality of jobs to obtain a dependency relationship among the plurality of jobs, wherein the dependency relationship characterizes the job execution sequence among the plurality of jobs; constructing a dependency tree among a plurality of jobs according to the dependency relationship among the plurality of jobs, wherein the dependency tree comprises at least one initial path, and the initial path comprises at least one job; according to the respective job time information of the plurality of jobs, a target job path having a key job, which is a job satisfying a time condition, is determined from at least one initial path.

Description

Method, apparatus, device, storage medium and program product for planning job path
Technical Field
The present disclosure relates to the field of computer technology and the field of financial technology, and in particular, to a method, an apparatus, a device, a storage medium, and a program product for planning a job path.
Background
Currently, the financial industry typically uses batch jobs for business processes. The timeliness of business processing becomes an important index for customer evaluation. A job path affecting the execution timeliness of the whole batch job is determined from a plurality of job paths of the batch job to be used as a key path, so that a developer improves the performance of computer processing business by improving the job program in the key path.
Typically, the job path of the greatest depth layer is used as the critical path for batch jobs. Some job paths have fewer job hierarchy relationships, but the time consumption of the job is far more than that of the job path of the maximum depth layer, so that the obtained critical path is inaccurate, and the performance of the computer is low.
Disclosure of Invention
In view of the foregoing, the present disclosure provides a job path planning method, apparatus, device, storage medium, and program product.
According to a first aspect of the present disclosure, there is provided a method of planning a job path, including: and comparing the job information among the plurality of jobs to obtain the dependency relationship among the plurality of jobs, wherein the dependency relationship characterizes the job execution sequence among the plurality of jobs. And constructing a dependency tree among the plurality of jobs according to the dependency relationship among the plurality of jobs, wherein the dependency tree comprises at least one initial path, and the initial path comprises at least one job. And determining a target job path having a key job from at least one of the initial paths according to job time information of each of the plurality of jobs, the key job being a job satisfying a time condition.
According to an embodiment of the present disclosure, determining a target job path having a critical job from at least one of the initial paths according to the job time information of each of the plurality of jobs includes: and determining the key job from the plurality of jobs according to the job time information of each of the plurality of jobs. And determining an upstream path corresponding to the key job from the dependency tree, wherein the upstream path comprises at least one upstream job before the key job in the execution sequence of the job. And determining a target job path from at least one of the initial paths based on the job time information of each of the at least one upstream job.
According to an embodiment of the present disclosure, the determining a target job path from at least one of the initial paths according to the job time information of each of the at least one upstream job includes: an upstream time evaluation value of the upstream path is calculated based on the job time information of each of at least one of the upstream jobs. And determining the target working path from at least one of the initial paths according to the upstream time evaluation value.
According to an embodiment of the present disclosure, the job time information includes a job running time, and the calculating the upstream time evaluation value of the upstream path according to the respective job time information of at least one of the upstream jobs includes: and determining the weight of each of the at least one upstream job according to the respective job running time of the at least one upstream job. An upstream time evaluation value of the upstream path is calculated based on the weight of each of at least one of the upstream jobs.
According to an embodiment of the present disclosure, determining the respective weights of the at least one upstream job according to the respective job run times of the at least one upstream job includes: and taking the reciprocal of the operation time of each of the at least one upstream operation as the weight of each of the at least one upstream operation.
According to an embodiment of the present disclosure, the determining a target job path from at least one of the initial paths according to the upstream time evaluation value further includes: and determining at least one intermediate job path from at least one of the initial paths according to the upstream time evaluation value. Calculating an intermediate time evaluation value of at least one intermediate path based on the respective running times of at least one intermediate job path. And determining a target working path from at least one intermediate path according to the intermediate time evaluation value of the at least one intermediate path.
According to an embodiment of the present disclosure, the job time information further includes a job end time, and the determining, from the plurality of jobs, a key job satisfying a time condition according to the job time information of each of the plurality of jobs includes: and determining a key job meeting the time condition from the plurality of jobs according to the job end time of each of the plurality of jobs.
According to an embodiment of the present disclosure, the above method further includes: and responding to the received aging evaluation request, and acquiring the display files corresponding to the dependency tree and the target operation path. And analyzing the display file corresponding to the target operation path to obtain display information. And analyzing the display file corresponding to the dependency tree to obtain a dependency tree display diagram.
According to an embodiment of the present disclosure, the above method further includes: and adding a display zone bit to the target working path in response to receiving a target working path query request.
A second aspect of the present disclosure provides a planning apparatus for a job path, including: and the comparison module is used for comparing the job information among the plurality of jobs to obtain the dependency relationship among the plurality of jobs, wherein the dependency relationship characterizes the job execution sequence among the plurality of jobs. And the construction module is used for constructing a dependency tree among the plurality of jobs according to the dependency relationship among the plurality of jobs, wherein the dependency tree comprises at least one initial path, and the initial path comprises at least one job. And a determining module, configured to determine a target job path having a key job from at least one of the initial paths according to job time information of each of the plurality of jobs, where the key job is a job satisfying a time condition.
A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method described above.
A fourth aspect of the present disclosure also provides a computer readable storage medium having stored thereon an executable computer program which when executed by a processor performs the steps of the above method.
A fifth aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the steps of the method described above.
According to the job path planning method, device, equipment, storage medium and program product provided by the disclosure, the dependency relationship among a plurality of jobs is obtained by comparing the job information among the plurality of jobs in the task. According to the dependency relationship among the plurality of jobs, a dependency tree among the plurality of jobs is constructed, the dependency tree comprises at least one initial path, and the initial path comprises at least one job, so that the constructed dependency tree can accurately reflect the execution sequence and the hierarchical relationship among the jobs. According to the respective operation time information of the plurality of operations, a target operation path with a key operation is determined from at least one initial path, wherein the key operation is an operation meeting a time condition, and the operation time information of each operation in the initial path is considered, so that the target operation path of batch operation can be accurately obtained, and further the performance of a computer is improved.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be more apparent from the following description of embodiments of the disclosure with reference to the accompanying drawings, in which:
FIG. 1 schematically illustrates an application scenario diagram of a job path planning method according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a method of planning a job path, in accordance with an embodiment of the present disclosure;
FIG. 3 schematically illustrates a schematic diagram of a dependency tree in accordance with an embodiment of the present disclosure;
FIG. 4 schematically illustrates a flow chart of a method of planning a job path, according to another embodiment of the present disclosure;
FIG. 5 schematically illustrates a block diagram of a planning apparatus of a job path, according to an embodiment of the present disclosure; and
Fig. 6 schematically illustrates a block diagram of an electronic device adapted to implement a method of planning a job path, according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a convention should be interpreted in accordance with the meaning of one of skill in the art having generally understood the convention (e.g., "a system having at least one of A, B and C" would include, but not be limited to, systems having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical solution of the present disclosure, the related user information (including, but not limited to, user personal information, user image information, user equipment information, such as location information, etc.) and data (including, but not limited to, data for analysis, stored data, displayed data, etc.) are information and data authorized by the user or sufficiently authorized by each party, and the related data is collected, stored, used, processed, transmitted, provided, disclosed, applied, etc. in compliance with relevant laws and regulations and standards, necessary security measures are taken, no prejudice to the public order colloquia is provided, and corresponding operation entries are provided for the user to select authorization or rejection.
In the scenario of using personal information to make an automated decision, the method, the device and the system provided by the embodiment of the disclosure provide corresponding operation inlets for users, so that the users can choose to agree or reject the automated decision result; if the user selects refusal, the expert decision flow is entered. The expression "automated decision" here refers to an activity of automatically analyzing, assessing the behavioral habits, hobbies or economic, health, credit status of an individual, etc. by means of a computer program, and making a decision. The expression "expert decision" here refers to an activity of making a decision by a person who is specializing in a certain field of work, has specialized experience, knowledge and skills and reaches a certain level of expertise.
Typically, the job path of the greatest depth layer is used as the critical path for batch jobs. Some job paths have fewer job hierarchy relationships, but the time consumption of the job is far more than that of the critical path of the maximum depth layer, so that the critical path for obtaining batch job is inaccurate, and the performance of a computer is low.
In view of this, an embodiment of the present disclosure provides a method for planning a working path, including: comparing the job information among the plurality of jobs to obtain a dependency relationship among the plurality of jobs, wherein the dependency relationship characterizes the job execution sequence among the plurality of jobs; constructing a dependency tree among a plurality of jobs according to the dependency relationship among the plurality of jobs, wherein the dependency tree comprises at least one initial path, and the initial path comprises at least one job; according to the respective job time information of the plurality of jobs, a target job path having a key job, which is a job satisfying a time condition, is determined from at least one initial path.
Fig. 1 schematically illustrates an application scenario diagram of a planning method of a job path according to an embodiment of the present disclosure.
As shown in fig. 1, an application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is a medium used to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 through the network 104 using at least one of the first terminal device 101, the second terminal device 102, the third terminal device 103, to receive or send messages, etc. Various communication client applications, such as a shopping class application, a web browser application, a search class application, an instant messaging tool, a mailbox client, social platform software, etc. (by way of example only) may be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103.
The first terminal device 101, the second terminal device 102, the third terminal device 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (by way of example only) providing support for websites browsed by the user using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as the user request, and feed back the processing result (e.g., the web page, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that, the method for planning a job path provided by the embodiments of the present disclosure may be generally performed by the server 105. Accordingly, the planning apparatus for a job path provided by the embodiments of the present disclosure may be generally disposed in the server 105. The method for planning a job path provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105. Accordingly, the planning apparatus for a job path provided in the embodiments of the present disclosure may also be provided in a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Fig. 2 schematically illustrates a flow chart of a method of planning a job path in accordance with an embodiment of the present disclosure.
As shown in fig. 2, the job path planning method of this embodiment includes operations S210 to S230.
In operation S210, job information between a plurality of jobs is compared to obtain a dependency relationship between the plurality of jobs.
In operation S220, a dependency tree between a plurality of jobs is constructed according to the dependency relationship between the plurality of jobs.
In operation S230, a target job path having a critical job is determined from at least one initial path according to job time information of each of a plurality of jobs.
According to embodiments of the present disclosure, multiple jobs may constitute a batch job to complete business processes. A job may be a statement or command to execute. A batch job may be a collection of multiple sequentially executed statements or commands.
According to embodiments of the present disclosure, the job information may be a program language of the job, for example, a data file name, a subroutine name, etc. called in the program.
According to an embodiment of the present disclosure, a dependency characterizes a job execution order among a plurality of jobs. The dependencies may include execution hierarchy relationships, parallel relationships, conditional relationships, and the like.
For example, order B in the job invokes the result data from job a. The program language in the job B presents the result data name of the job a, the program name or subroutine name of the job a, and the like. I.e., job a is located at the upper layer of job B.
For example, after the execution of the job a, the execution result of the job a is input to the job B and the job C, that is, the job a is an upper layer of the job B and the job C, which may also be referred to as a serial relationship; job B and job C may be in parallel relationship.
For example, the condition for execution of job a may be that job B is no, and job a and job B may be a conditional relationship.
According to an embodiment of the present disclosure, a dependency tree includes at least one initial path, the initial path including at least one job.
FIG. 3 schematically illustrates a schematic diagram of a dependency tree in accordance with an embodiment of the present disclosure.
As shown in fig. 3, the dependency tree includes jobs a, B, C, D, E, F, G, and H (hereinafter referred to as A, B, C, D, E, F, G, H) in the batch job. The illustrative dependency tree has five levels, representing five levels of hierarchical relationships between multiple jobs.
An exemplary dependency tree may have 6 initial paths, which may be "A→B→C→D", "A→B→D→G→B", "A→C→D→G→B", "A→C→D→F→H", "A→D→B" and "A→D→E→B".
According to an embodiment of the present disclosure, the job time information may be time information related to the job operation, such as a start time of the job operation, or the like.
According to an embodiment of the present disclosure, a key job is a job that satisfies a time condition. The time condition may be a job that affects the overall batch job execution timeliness. The target job path is a path that affects the execution timeliness of the entire batch job.
For example, a batch job includes job a, job B, and job C, and there are two initial paths "b→a→c" and "b→c" in total. The execution time of job a takes 60% of the entire batch job time, and the total execution time of job B and job C takes 40% of the entire batch job time. Job a may act as a job that affects the overall batch job execution timeliness, i.e., job a is a critical path. "B→A→C" may be the target job path.
According to the embodiment of the disclosure, the dependency relationship among the plurality of jobs is obtained by comparing the job information among the plurality of jobs in the task. According to the dependency relationship among the plurality of jobs, a dependency tree among the plurality of jobs is constructed, the dependency tree comprises at least one initial path, and the initial path comprises at least one job, so that the constructed dependency tree can accurately reflect the execution sequence and the hierarchical relationship among the jobs. According to the respective operation time information of the plurality of operations, a target operation path with a key operation is determined from at least one initial path, wherein the key operation is an operation meeting a time condition, and the operation time information of each operation in the initial path is considered, so that the target operation path of batch operation can be accurately obtained, and further the performance of a computer is improved.
According to an embodiment of the present disclosure, the job time information further includes a job end time, and determining, from the plurality of jobs, a key job satisfying a time condition according to the job time information of each of the plurality of jobs includes: and determining the key job meeting the time condition from the plurality of jobs according to the job end time of each of the plurality of jobs.
According to the embodiment of the disclosure, the job end time may be obtained from the result recorded after each job program is executed, or may be obtained from a knowledge graph constructed by a plurality of jobs. The knowledge graph has a vertex table and an edge table. The vertex table records job time information of a plurality of jobs. The dependency relationship between each job is recorded in the edge table, and table 1 is a vertex table, and table 2 is an edge table.
TABLE 1
Attribute names Attribute type
VERTEX_ID Job name
beginTime Job start time
endTime Job end time
runningTimeStr Duration of operation (character string form)
runTimeInt Duration of operation (unit: second)
······ ······
TABLE 2
Attribute names Attribute type
SOURCE_ID Dependent job name
TARGET_ID Relying on downstream job names
EDGE_ID Edge type (default: depend)
weight Reflecting the weight of the operation duration, the longer the operation duration is, the larger the numerical value is
According to the embodiment of the disclosure, the dependency tree can be constructed according to dependency relationship information among a plurality of jobs recorded in the edge table.
According to an embodiment of the present disclosure, the time condition may be a job whose job end time is the latest among the plurality of jobs.
According to an embodiment of the present disclosure, determining a target job path having a critical job from at least one initial path according to job time information of each of a plurality of jobs includes: determining a key job from the plurality of jobs according to the job time information of each of the plurality of jobs; determining an upstream path corresponding to the key job from the dependency tree, the upstream path including at least one upstream job whose execution order precedes the key job; a target job path is determined from the at least one initial path based on the respective job time information for the at least one upstream job.
According to an embodiment of the present disclosure, as shown in fig. 3, job B is a job that satisfies a time condition. The time condition may be the job with the latest job end time among job a, job B, job C, job D, job E, job F, job G, and job H. Job B appears at two, three, four, five levels of dependency tree. The corresponding job B is recorded with four job end times.
The upstream path corresponding to the job B is determined from the dependency tree, and may be "a", "a→b→d→g", "a→c→d→g", "a→d" and "a→d→e".
Meanwhile, in the initial path, "A- & gt, B- & gt, D- & gt, G- & gt, B" appears twice (nested operation) on the same path, the first operation B can call the data of the operation A, and the second operation B can call the data of the operation G. Corresponding to upstream paths "A", "A- & gtB- & gtD- & gtG", respectively.
In order to accurately determine which initial path (or which layer in the dependency tree) is the latest job end time of job B, the upstream path whose job end time is the latest is determined from the respective job end times of the upstream jobs of job B.
According to the embodiment of the disclosure, the key operation meeting the time condition is determined from the plurality of operations according to the operation ending time of each of the plurality of operations, the upstream path corresponding to the key operation is determined from the dependency tree, and the condition that the searched key operation is inaccurate due to the nested operation can be effectively avoided by accurately determining the upstream path with the latest operation ending time, so that the accuracy of the target operation path of the batch operation is improved, and further the computer performance is improved.
According to an embodiment of the present disclosure, determining a target job path from at least one initial path according to respective job time information of at least one upstream job includes: an upstream time evaluation value of the upstream path is calculated based on the job time information of each of the at least one upstream job. A target job path is determined from the at least one initial path based on the upstream time evaluation value.
According to an embodiment of the present disclosure, the upstream time assessment value characterizes an upstream path's execution age to complete an upstream job. And judging whether the upstream time evaluation value meets an upstream threshold value, if so, determining a target working path in an initial path corresponding to the upstream path. If not, the initial path corresponding to the upstream path is not used as the target working path.
According to an embodiment of the present disclosure, the job time information includes job running time, and calculating an upstream time evaluation value of the upstream path according to the respective job time information of at least one upstream job includes: determining the respective weights of the at least one upstream job according to the respective job running time of the at least one upstream job; an upstream time evaluation value of the upstream path is calculated based on the respective weights of the at least one upstream job.
According to embodiments of the present disclosure, job run time characterizes the period of time a job takes from start to end. In order to better improve timeliness of service processing, the longer the operation running time of the upstream operation is, the smaller the weight of the upstream operation can be.
According to an embodiment of the present disclosure, determining the respective weights of the at least one upstream job according to the respective job run times of the at least one upstream job comprises: and taking the reciprocal of the operation running time of each of the at least one upstream operation as the weight of each of the at least one upstream operation.
According to the embodiment of the present disclosure, the larger the operation time of the upstream job, the smaller the reciprocal of the operation time of the job, that is, the smaller the upstream job weight, the smaller the upstream time evaluation value of the upstream path. The more efficient the run time of the upstream job, the greater the inverse of the job run time, i.e., the greater the upstream job weight, the greater the upstream time assessment value of the upstream path.
According to the embodiment of the disclosure, according to the reciprocal of the operation running time of each of at least one upstream operation, as the respective weight of at least one upstream operation, the smaller the upstream time evaluation value of the upstream path is, so as not to meet the upstream threshold value, thereby reminding a developer of improving the operation program and improving the performance of the computer.
According to an embodiment of the present disclosure, determining a target job path from at least one initial path according to the upstream time evaluation value further includes: at least one intermediate job path is determined from the at least one initial path based on the upstream time evaluation value. An intermediate time evaluation value of the at least one intermediate job path is calculated based on the respective run times of the at least one intermediate job path. A target job path is determined from the at least one intermediate path based on the intermediate time estimate for the at least one intermediate path.
According to an embodiment of the present disclosure, an initial path corresponding to an upstream path having a smallest upstream time evaluation value (a maximum running time of an upstream job) may be selected as the intermediate path. But there are different initial paths with the same upstream path. As shown in fig. 3, job D is a critical job, and the upstream path may be "a→c→d", but the corresponding initial path may be "a→c→d→g→b", "a→c→d→f→h". In order to accurately obtain the target working path, downstream time evaluation may be performed on downstream paths "g→b", "f→h" corresponding to "a→c→d→g→b", "a→c→d→f→h", respectively, so as to determine the target working path.
According to an embodiment of the present disclosure, at least one downstream path corresponding to a critical job is determined from at least one intermediate job path, the downstream path including downstream jobs whose execution order is subsequent to the critical job. And taking the reciprocal of the operation running time of each of the at least one downstream operation as the weight of each of the at least one downstream operation. And calculating the downstream time evaluation value of each of the at least one downstream paths according to the weight of each of the at least one downstream job. A target job path is determined from the at least one intermediate job path based on the respective downstream time evaluation values of the at least one downstream path.
According to the embodiment of the disclosure, the number of layers of the dependency tree is excessive due to the large number of batch jobs. For example, the dependency tree has 100 layers in total, and the path filtering can be performed every 10 layers. Therefore, the determination of key operation can be carried out in a layering manner according to the actual situation, and the upstream path meeting the aging threshold is screened as an alternative intermediate operation path. And then searching a target operation path by sequentially going down deeper operations. This results in a large number of different initial paths having the same upstream path.
For this purpose, at least one intermediate work path is determined from the at least one initial path by means of an upstream time evaluation value; calculating an intermediate time evaluation value of the at least one intermediate job path according to the respective running time of the at least one intermediate job path; and determining a target operation path from at least one intermediate path according to the intermediate time evaluation value of the at least one intermediate path, realizing hierarchical key path searching, reducing the complexity of operation path planning, improving the accuracy of the target operation path for obtaining batch operation, and further improving the performance of a computer.
Fig. 4 schematically illustrates a flow chart of a method of planning a job path according to another embodiment of the present disclosure.
As shown in fig. 4, the job path planning method of this embodiment includes operations S410 to 480.
In operation S410, job information between a plurality of jobs is compared to obtain a dependency relationship between the plurality of jobs.
In operation S420, a dependency tree between a plurality of jobs is constructed according to the dependency relationship between the plurality of jobs.
In operation S430, a key job satisfying the time condition is determined from the plurality of jobs according to the job end time of each of the plurality of jobs.
In operation S440, the respective weights of the at least one upstream job are calculated as the reciprocal of the job run time of the respective at least one upstream job.
In operation S450, an upstream time evaluation value of the upstream path is calculated according to the respective weights of the at least one upstream job.
In operation S460, at least one intermediate job path is determined from the at least one initial path according to the upstream time evaluation value.
In operation S470, an intermediate time evaluation value of at least one intermediate job path is calculated according to the respective running times of the at least one intermediate job path.
In operation S480, a target job path is determined from the at least one intermediate path according to the intermediate time evaluation value of the at least one intermediate path.
According to an embodiment of the present disclosure, the above method further includes: and responding to the received aging evaluation request, and acquiring the display files corresponding to the dependency tree and the target operation path. And analyzing the display file corresponding to the target operation path to obtain display information. And analyzing the presentation file corresponding to the dependency tree to obtain a dependency tree presentation diagram.
According to an embodiment of the present disclosure, the aging evaluation request may be a POST request. The presentation files corresponding to the dependency tree and the target job path, respectively, may be in a structured format. For example, the presentation file may be in JSON (JavaScript Object Notation) format. And analyzing the display file corresponding to the target operation path by using an analysis tool to obtain display information. And analyzing the presentation file corresponding to the dependency tree by using an analysis tool to obtain a dependency tree presentation diagram.
According to the embodiment of the disclosure, the operation ending time and the dependency relationship are obtained from the knowledge graph constructed by a plurality of operations. The knowledge graph has a vertex table and an edge table. The vertex table records job time information of a plurality of jobs. The dependency relationship between each job is recorded in the edge table. The presentation information may be knowledge-graph based information.
According to the embodiment of the disclosure, the display information is obtained by analyzing and processing the display file corresponding to the target operation path; analyzing the display file corresponding to the dependency tree to obtain a dependency tree display diagram; thereby improving the information display function in batch operation.
According to an embodiment of the present disclosure, the above method further includes: and adding a display flag bit to the target job path in response to receiving the target job path query request.
According to embodiments of the present disclosure, the presentation information may be knowledge-graph based information. Then the target job path may be displayed in the dependency tree in response to receiving the target job path query request.
According to an embodiment of the present disclosure, the display flag bit may be a highlight path flag bit that highlights the queried target job path in the dependency tree.
An electronic device executing embodiments of the present disclosure may provide an access interface and a query interface to a knowledge graph, and an access interface and a query interface to job information (node attribute information) and dependency relationships (edge attributes). For example, the node attribute information may be the completion time of the job, the edge attribute may be the strength of the dependency, and the like.
An electronic device executing embodiments of the present disclosure may provide access interfaces and query interfaces to critical jobs and target job paths, provide an interoperation interface to target job paths, and so on.
According to the embodiment of the disclosure, the display flag bit is added to the target operation path, so that the queried target operation path can be highlighted in the dependency tree, and the graph query performance of the dependency tree in batch operation is improved.
Fig. 5 schematically shows a block diagram of a configuration of a planning apparatus of a job path according to an embodiment of the present disclosure.
As shown in fig. 5, the job path planning apparatus 500 of this embodiment includes a comparison module 510, a construction module 520, and a determination module 530.
The comparison module 510 is used for comparing the job information among the plurality of jobs to obtain the dependency relationship among the plurality of jobs. In an embodiment, the comparison module 510 may be used to perform the operation S210 described above, which is not described herein.
The building module 520 is configured to build a dependency tree between a plurality of jobs according to the dependency relationship between the plurality of jobs. In an embodiment, the construction module 520 may be configured to perform the operation S220 described above, which is not described herein.
The determining module 530 is configured to determine a target job path having a critical job from at least one initial path according to job time information of each of the plurality of jobs. In an embodiment, the determining module 530 may be configured to perform the operation S230 described above, which is not described herein.
According to an embodiment of the present disclosure, the determination module 530 includes a first determination sub-module, a second determination sub-module, and a third determination sub-module. And the first determination submodule is used for determining key jobs from the jobs according to the respective job time information of the jobs. A second determining sub-module for determining an upstream path corresponding to the key job from the dependency tree, the upstream path including at least one upstream job whose execution order precedes the key job. And a third determining sub-module for determining a target job path from the at least one initial path according to the respective job time information of the at least one upstream job.
According to an embodiment of the present disclosure, the third determination submodule includes a calculation unit and a first determination unit. And a calculation unit for calculating an upstream time evaluation value of the upstream path based on the respective job time information of the at least one upstream job. A first determining unit for determining a target job path from at least one initial path according to the upstream time evaluation value.
According to an embodiment of the present disclosure, the computing unit includes a first determining subunit and a computing subunit. And the first determination subunit is used for determining the respective weight of the at least one upstream job according to the respective job running time of the at least one upstream job. And a calculating subunit for calculating an upstream time evaluation value of the upstream path according to the respective weights of the at least one upstream job.
According to an embodiment of the present disclosure, the first determining subunit includes: and taking the reciprocal of the operation running time of each of the at least one upstream operation as the weight of each of the at least one upstream operation.
According to an embodiment of the present disclosure, the first determination unit further comprises a second determination subunit, a calculation subunit, and a third determination subunit. The second determination subunit is configured to determine at least one intermediate job path from the at least one initial path according to the upstream time evaluation value. The calculating subunit is configured to calculate an intermediate time evaluation value of the at least one intermediate job path according to the respective running times of the at least one intermediate job path. The third determination subunit is configured to determine a target job path from the at least one intermediate path according to the intermediate time evaluation value of the at least one intermediate path.
According to an embodiment of the present disclosure, the first determination submodule comprises a second determination unit. The second determination unit is configured to determine a key job satisfying a time condition from the plurality of jobs, based on job end times of the respective plurality of jobs.
According to an embodiment of the present disclosure, the above apparatus further includes: the device comprises an acquisition module, a first analysis module and a second analysis module. The acquisition module is used for responding to the received aging evaluation request and acquiring the display files corresponding to the dependency tree and the target operation path. The first analysis module is used for analyzing the display file corresponding to the target operation path to obtain display information. And the second analysis module is used for analyzing the presentation file corresponding to the dependency tree to obtain a dependency tree presentation diagram.
According to an embodiment of the disclosure, the apparatus further includes a joining module. The joining module is used for joining the display zone bit to the target working path in response to receiving the target working path query request.
It should be noted that, the planning device portion of the working path in the embodiment of the present disclosure corresponds to the planning method portion of the working path in the embodiment of the present disclosure, and the description of the planning device portion of the working path specifically refers to the planning method portion of the working path and is not described herein.
Any of the plurality of modules in the comparison module 510, the construction module 520, and the determination module 530 may be combined in one module to be implemented, or any of the plurality of modules may be split into a plurality of modules according to an embodiment of the present disclosure. Or at least some of the functionality of one or more of the modules may be combined with, and implemented in, at least some of the functionality of other modules. At least one of the comparison module 510, the construction module 520, and the determination module 530 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or in hardware or firmware in any other reasonable manner of integrating or packaging circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware, in accordance with embodiments of the present disclosure. Or at least one of the comparison module 510, the construction module 520 and the determination module 530 may be at least partially implemented as a computer program module which, when executed, may perform the corresponding functions.
As shown in fig. 6, an electronic device 600 according to an embodiment of the present disclosure includes a processor 601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. The processor 601 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. Processor 601 may also include on-board memory for caching purposes. The processor 601 may comprise a single processing unit or a plurality of processing units for performing different actions of the method flows according to embodiments of the disclosure.
In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are stored. The processor 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. The processor 601 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 602 and/or the RAM 603. Note that the program may be stored in one or more memories other than the ROM 602 and the RAM 603. The processor 601 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the present disclosure, the electronic device 600 may also include an input/output (I/O) interface 605, the input/output (I/O) interface 605 also being connected to the bus 604. The electronic device 600 may also include one or more of the following components connected to an input/output (I/O) interface 605: an input portion 606 including a keyboard, mouse, etc.; an output portion 607 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The drive 610 is also connected to an input/output (I/O) interface 605 as needed. Removable media 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is installed as needed on drive 610 so that a computer program read therefrom is installed as needed into storage section 608.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example, but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 602 and/or RAM 603 and/or one or more memories other than ROM 602 and RAM 603 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowcharts. When the computer program product runs in a computer system, the program code is used for enabling the computer system to realize the planning method of the working path provided by the embodiment of the disclosure.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 601. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed in the form of signals over a network medium, and downloaded and installed via the communication section 609, and/or installed from the removable medium 611. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program may be downloaded and installed from a network through the communication portion 609, and/or installed from the removable medium 611. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 601. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be provided in a variety of combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. These examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (13)

1. A method of planning a working path, the method comprising:
Comparing the job information among a plurality of jobs to obtain a dependency relationship among the plurality of jobs, wherein the dependency relationship characterizes the job execution sequence among the plurality of jobs;
constructing a dependency tree among the plurality of jobs according to the dependency relationship among the plurality of jobs, wherein the dependency tree comprises at least one initial path, and the initial path comprises at least one job;
And determining a target job path with a key job from at least one initial path according to the respective job time information of the plurality of jobs, wherein the key job is a job meeting a time condition.
2. The method of claim 1, wherein determining a target job path having a critical job from at least one of the initial paths based on job time information for each of the plurality of jobs comprises:
determining the key job from the plurality of jobs according to the job time information of each of the plurality of jobs;
determining an upstream path corresponding to the key job from the dependency tree, wherein the upstream path comprises at least one upstream job of which the job execution sequence is before the key job;
And determining a target job path from at least one initial path according to the respective job time information of at least one upstream job.
3. The method of claim 2, wherein said determining a target job path from at least one of said initial paths based on said job time information for each of at least one of said upstream jobs comprises:
calculating an upstream time evaluation value of the upstream path based on the job time information of each of at least one of the upstream jobs;
and determining the target working path from at least one initial path according to the upstream time evaluation value.
4. A method according to claim 3, wherein the job time information includes job run time, and wherein calculating an upstream time estimate for the upstream path based on the job time information for each of at least one of the upstream jobs comprises:
determining the respective weight of at least one upstream job according to the respective job running time of the at least one upstream job;
An upstream time evaluation value of the upstream path is calculated based on the weight of each of at least one of the upstream jobs.
5. The method of claim 4, wherein said determining the respective weights of at least one of said upstream jobs based on the respective job run times of at least one of said upstream jobs comprises:
And taking the reciprocal of the operation running time of at least one upstream operation as the weight of at least one upstream operation.
6. The method of claim 3, wherein said determining a target job path from at least one of said initial paths based on said upstream time assessment value further comprises:
determining at least one intermediate job path from at least one of the initial paths according to the upstream time evaluation value;
Calculating an intermediate time evaluation value of at least one intermediate job path based on the respective run times of the at least one intermediate job path;
And determining a target working path from at least one intermediate path according to the intermediate time evaluation value of the at least one intermediate path.
7. The method of claim 2, wherein the job time information further includes a job end time, and wherein the determining, from the plurality of jobs, a key job that satisfies a time condition based on the job time information of each of the plurality of jobs includes:
and determining a key job meeting the time condition from the plurality of jobs according to the job end time of each of the plurality of jobs.
8. The method according to claim 1, wherein the method further comprises:
responding to the received aging evaluation request, and acquiring display files corresponding to the dependency tree and the target operation path respectively;
analyzing the display file corresponding to the target operation path to obtain display information;
and analyzing the display file corresponding to the dependency tree to obtain a dependency tree display diagram.
9. The method according to claim 1, wherein the method further comprises:
and in response to receiving a target job path query request, adding a display zone bit to the target job path.
10. A work path planning apparatus, the apparatus comprising:
the comparison module is used for comparing the job information among a plurality of jobs to obtain the dependency relationship among the plurality of jobs, wherein the dependency relationship represents the job execution sequence among the plurality of jobs;
A building module, configured to build a dependency tree between the plurality of jobs according to the dependency relationship between the plurality of jobs, where the dependency tree includes at least one initial path, and the initial path includes at least one job;
and the determining module is used for determining a target job path with a key job from at least one initial path according to the respective job time information of the plurality of jobs, wherein the key job is a job meeting a time condition.
11. An electronic device, comprising:
One or more processors;
a memory for storing one or more computer programs,
Characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 9.
12. A computer-readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, realizes the steps of the method according to any one of claims 1-9.
13. A computer program product comprising a computer program, characterized in that the computer program, when executed by a processor, implements the steps of the method according to any one of claims 1-9.
CN202410327814.XA 2024-03-21 2024-03-21 Method, apparatus, device, storage medium and program product for planning job path Pending CN118114964A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410327814.XA CN118114964A (en) 2024-03-21 2024-03-21 Method, apparatus, device, storage medium and program product for planning job path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410327814.XA CN118114964A (en) 2024-03-21 2024-03-21 Method, apparatus, device, storage medium and program product for planning job path

Publications (1)

Publication Number Publication Date
CN118114964A true CN118114964A (en) 2024-05-31

Family

ID=91218654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410327814.XA Pending CN118114964A (en) 2024-03-21 2024-03-21 Method, apparatus, device, storage medium and program product for planning job path

Country Status (1)

Country Link
CN (1) CN118114964A (en)

Similar Documents

Publication Publication Date Title
US9953022B2 (en) Natural language metric condition alerts
US20140100923A1 (en) Natural language metric condition alerts orchestration
US20140100901A1 (en) Natural language metric condition alerts user interfaces
US20170192872A1 (en) Interactive detection of system anomalies
CN101923557A (en) Data analysis system and method
US11651291B2 (en) Real-time predictions based on machine learning models
US10831473B2 (en) Locating business rules in application source code
CN116560661A (en) Code optimization method, device, equipment and storage medium
CN115048561A (en) Recommendation information determination method and device, electronic equipment and readable storage medium
CN118114964A (en) Method, apparatus, device, storage medium and program product for planning job path
US20120317081A1 (en) Detecting wasteful data collection
CN114186555A (en) Demand identification method, apparatus, electronic device, medium, and computer program
CN118444973A (en) Code processing method, apparatus, device, medium, and program product
CN118521398A (en) Risk prediction method and apparatus, device, storage medium, and program product
CN115687284A (en) Information processing method, device, equipment and storage medium
CN117806977A (en) Test method, apparatus, device, medium and program product
CN118093345A (en) Performance capacity assessment method, device, apparatus, storage medium, and program product
CN118115264A (en) Risk identification method, risk identification device, electronic equipment and storage medium
CN118153959A (en) Risk identification method, apparatus, device and storage medium
CN118446518A (en) Risk data processing method, apparatus, device, storage medium, and program product
CN118154245A (en) Client group circle selection method, device, electronic equipment and medium
CN115689263A (en) Information generation method, device, equipment and storage medium
CN118503308A (en) Method, apparatus, device, medium and program product for processing response request
CN118114649A (en) Data processing method and device, equipment, storage medium and program product
CN114625963A (en) Business activity information matching pushing method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination