Scheduling method and device, electronic equipment and computer readable storage medium

By pre-storing the storage location information of the algorithm to be scheduled in the algorithm library, automatic scheduling is realized, solving the problem of low scheduling efficiency in the prior art, improving the scheduling efficiency and shortening the scheduling time.

CN119902865APending Publication Date: 2025-04-29CONTEMPORARY AMPEREX FUTURE ENERGY RES INST (SHANGHAI) LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311414934.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-28
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

In the prior art, algorithm scheduling efficiency is low, and developers are required to set file directories for each algorithm before each scheduling, resulting in cumbersome operations and long scheduling time.

Method used

By pre-storing the storage location information of the algorithm to be scheduled in the algorithm library, the algorithm is automatically searched and scheduled, so that users can avoid setting the file directory before each schedule.

Benefits of technology

Simplify algorithm scheduling operations, improve scheduling efficiency, and shorten scheduling time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902865A_ABST
    Figure CN119902865A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of algorithm scheduling, and provides a scheduling method and device, electronic equipment and a computer readable storage medium, and the scheduling method comprises the steps: determining a to-be-scheduled algorithm; searching storage position information of the to-be-scheduled algorithm in an algorithm library according to a configuration file of the algorithm library; and scheduling the to-be-scheduled algorithm according to the storage position information. Through the method, the scheduling rate of the algorithm can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of algorithm scheduling, and in particular, relates to a scheduling method, device, electronic device, and computer-readable storage medium. Background Art

[0002] Currently, electronic devices usually rely on the algorithms stored in them to implement corresponding functions. Before the algorithm is applied to the electronic device, the developer needs to upload the algorithm. After the system scans the algorithm, the developer can schedule and verify the algorithm. Only after the verification is successful can it be applied to the electronic device.

[0003] Since development is a process of continuous improvement, after an algorithm is developed, the code of the algorithm may be changed. Of course, a new algorithm may also be developed, and the scheduling of the new algorithm needs to be combined with the execution results of the developed algorithm. In the existing method, before each algorithm or combined algorithm (i.e., a new algorithm composed of multiple algorithms) is scheduled and verified, the developer needs to set a file directory for each algorithm (if it is a combined algorithm, it is necessary to set a file directory for each algorithm in the combined algorithm) in order to scan the corresponding algorithm. Therefore, when scheduling the algorithm, the operation is relatively cumbersome, resulting in a longer scheduling time and lower scheduling efficiency. Summary of the invention

[0004] The embodiments of the present application provide a scheduling method, an apparatus, an electronic device, and a computer-readable storage medium, which can solve the problem of low algorithm scheduling efficiency.

[0005] In a first aspect, an embodiment of the present application provides a scheduling method, including:

[0006] Determine the algorithm to be scheduled;

[0007] Searching for storage location information of the algorithm to be scheduled in the algorithm library according to the configuration file of the algorithm library;

[0008] The algorithm to be scheduled is scheduled according to the storage location information.

[0009] In the embodiment of the present application, after the algorithm to be scheduled is determined, the storage location information of the algorithm to be scheduled in the algorithm library is searched in the algorithm library according to the configuration file of the algorithm library, and then the scheduling algorithm can be scheduled according to the storage location information. Since the algorithm to be scheduled is pre-stored in the algorithm library, there is no need for the user to set the file directory of the algorithm to be scheduled one by one before scheduling. After the algorithm to be scheduled is determined, the storage location information corresponding to the algorithm to be scheduled can be automatically determined in the algorithm library, and then the algorithm to be scheduled can be automatically scheduled according to the storage location information, thereby simplifying the operations required for algorithm scheduling, improving scheduling efficiency, and thus shortening the scheduling time.

[0010] In an implementation of the first aspect, determining the algorithm to be scheduled includes:

[0011] Determine the order of the algorithms constituting the algorithm to be scheduled.

[0012] In an implementation of the first aspect, the to-be-scheduled algorithms include at least two algorithms, and scheduling the to-be-scheduled algorithms according to the storage location information includes:

[0013] For each algorithm to be scheduled, construct a node object corresponding to the algorithm according to the parameter configuration of the algorithm, and determine the algorithm node corresponding to the algorithm according to the storage location information of the algorithm and the node object;

[0014] Generate an algorithm scheduling chain according to the order of the algorithms to be scheduled and the algorithm nodes corresponding to the algorithms;

[0015] The algorithm to be scheduled is scheduled according to the algorithm scheduling chain.

[0016] In an implementation of the first aspect, determining the order of the algorithms constituting the to-be-scheduled algorithm includes:

[0017] Determine the order of the algorithms constituting the algorithm to be scheduled based on a preset rule; or

[0018] The order of the algorithms constituting the algorithm to be scheduled is determined based on the user's selection.

[0019] In an implementation of the first aspect, before determining the order of the algorithms constituting the to-be-scheduled algorithm based on the user's selection, the method further includes:

[0020] Displaying algorithms used to form the algorithm to be scheduled;

[0021] Receiving a check instruction issued by a user on the display interface of the algorithm, wherein the check instruction is used to indicate that the corresponding algorithm is selected;

[0022] The determining, based on the user's selection, the order of the algorithms constituting the algorithm to be scheduled comprises:

[0023] The order between the corresponding selected algorithms is determined according to the order between the respective check instructions, and the order between the selected algorithms is used as the order between the respective algorithms constituting the algorithm to be scheduled.

[0024] In an implementation of the first aspect, before scheduling the algorithm to be scheduled according to the storage location information, the method further includes:

[0025] A progress bar is generated according to the algorithm information included in the algorithm to be scheduled, and the progress bar is used to indicate the currently scheduled algorithm and the remaining scheduling time of this scheduling.

[0026] In an implementation of the first aspect, scheduling the algorithm to be scheduled according to the storage location information includes:

[0027] Scan the algorithm file corresponding to the algorithm to be scheduled according to the storage location information to obtain the corresponding function module;

[0028] Encapsulating the functional modules;

[0029] The algorithm to be scheduled is scheduled according to the encapsulated functional module.

[0030] In an implementation of the first aspect, after obtaining the corresponding functional module, the method further includes:

[0031] Classifying the functional modules;

[0032] The encapsulating the functional module comprises:

[0033] The functional modules are encapsulated according to the classification results.

[0034] In an implementation of the first aspect, the functional module includes at least one sub-functional module, and the classifying the functional modules includes:

[0035] According to a preset base class algorithm, a preset base class input processing function and a preset base class output processing function, respectively judging whether the functional module includes an algorithm function, an input processing function of the algorithm function and an output processing function of the algorithm function, wherein the preset base class algorithm includes a feature for judging whether a sub-functional module is an algorithm function, the preset base class input processing function includes a feature for judging whether a sub-functional module is an input processing function, and the preset base class output processing function includes a feature for judging whether a sub-functional module is an output processing function;

[0036] The step of packaging the functional modules according to the classification results includes:

[0037] In the case where the functional module includes the algorithm function, the algorithm function and / or the input processing function of the algorithm function and / or the output processing function of the algorithm function are encapsulated into an independent algorithm packaging function.

[0038] In an implementation of the first aspect, the algorithm to be scheduled includes at least two algorithms, and the method further includes:

[0039] After scheduling each algorithm in the to-be-scheduled algorithms according to the storage location information, the obtained scheduling results are recorded in the algorithm context, wherein the algorithm context exists in the entire scheduling cycle of the to-be-scheduled algorithm, and each algorithm in the to-be-scheduled algorithm can access the scheduling results recorded in the algorithm context.

[0040] In an implementation of the first aspect, the scheduling method further includes:

[0041] In the case where the scheduled algorithm runs abnormally, counting the input data corresponding to the algorithm, the running time of the algorithm and / or the abnormal information to obtain statistical information;

[0042] Displays the stated statistics.

[0043] In a second aspect, an embodiment of the present application provides a scheduling device, including:

[0044] A module for determining an algorithm to be scheduled, used for determining an algorithm to be scheduled;

[0045] A storage location information search module, used to search the storage location information of the algorithm to be scheduled in the algorithm library according to the configuration file of the algorithm library;

[0046] A scheduling module is used to schedule the algorithm to be scheduled according to the storage location information.

[0047] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements a method as described in any one of the first aspects when executing the computer program.

[0048] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the first aspects is implemented.

[0049] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on an electronic device, the electronic device executes any one of the methods described in the first aspect.

[0050] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art are briefly introduced below.

[0052] Figure 1 It is a flowchart of a scheduling method provided by an embodiment of the present application;

[0053] Figure 2 It is a structural schematic diagram of a scheduling device provided by an embodiment of the present application;

[0054] Figure 3 It is a structural schematic diagram of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0055] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0056] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0057] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0058] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.

[0059] With the development of science and technology, electronic devices can realize more and more functions, and the realization of different functions usually requires different algorithms to support.

[0060] After the algorithm is developed, it needs to be scheduled for verification. Before each algorithm is scheduled for verification, the developer of the algorithm needs to set the corresponding file directory for the algorithm in order to scan the algorithm. The setting of the file directory takes a certain amount of time, which results in a longer scheduling time for the algorithm. For example, when scheduling the algorithm through the Windows command line or the Linux system command line, before each scheduling verification, the file directory of the algorithm library needs to be configured through the corresponding configuration file, and then the algorithm can be scanned and scheduled.

[0061] In order to shorten the scheduling time of the algorithm and improve the scheduling efficiency of the algorithm, an embodiment of the present application provides a scheduling method. In the scheduling method, the file directory where the algorithm library is located is agreed upon, and each algorithm to be scheduled is stored in the location corresponding to the file directory. That is, it is only necessary to set the file directory once, and before scheduling each algorithm later, it is only necessary to scan the corresponding algorithm from the file directory of the algorithm library, and there is no need for the developer to set the file directory of the algorithm to be scheduled once before each scheduling, thereby saving the algorithm scanning time and the scheduling time of the algorithm.

[0062] For example, assuming that the scheduling method provided in the embodiment of the present application is implemented as software A, during the installation of software A, the installer pre-agreed that the file directory of the algorithm library is disk D. After the developer has developed the algorithm, the algorithm can be stored in disk D. When the software A needs to be started for algorithm scheduling later, the software A will automatically schedule the algorithm to be scheduled in disk D, without the developer having to set the file directory for the algorithm to be scheduled again. That is, the algorithm to be scheduled is automatically scheduled without the developer's awareness, thereby improving the algorithm scheduling efficiency.

[0063] The scheduling method provided in the embodiment of the present application is described below with reference to the accompanying drawings.

[0064] Figure 1 A schematic diagram of a scheduling method provided in an embodiment of the present application is shown, which is described in detail as follows:

[0065] S11, determine the algorithm to be scheduled.

[0066] In an embodiment of the present application, a file directory of an algorithm library is pre-set, and the file directory is used to store various algorithms (or algorithm files) that may be scheduled. When algorithm scheduling is required, the algorithm to be scheduled is determined in the file directory of the algorithm library. The number of algorithms included in the algorithm to be scheduled is greater than or equal to 1. For example, if only one independent algorithm needs to be scheduled, then the number of algorithms included in the algorithm to be scheduled is 1. If a combined algorithm obtained by combining multiple independent algorithms needs to be scheduled, then the number of algorithms included in the algorithm to be scheduled is greater than 1.

[0067] Optionally, after detecting the scheduling instruction, the algorithm to be scheduled can be determined based on the detected algorithm identifier (the algorithm identifier is used to uniquely identify the algorithm, and the algorithm identifier is represented by the algorithm name, etc.), or the algorithm to be scheduled can be determined based on the detected algorithm identifier selected by the user, which is not limited here.

[0068] Optionally, the dispatch instruction can be detected by:

[0069] (1) When it is detected that the button corresponding to the dispatch instruction is triggered, it can be determined that the dispatch instruction is detected.

[0070] (2) When the software implementing the scheduling method provided in the embodiment of the present application is refreshed, it can be determined that a scheduling instruction is detected.

[0071] Of course, in actual situations, other determination methods of setting scheduling instructions may also be used to determine whether a scheduling instruction is detected, which is not limited here.

[0072] S12, searching the algorithm library for storage location information of the algorithm to be scheduled according to the configuration file of the algorithm library.

[0073] The algorithm library pre-sets a configuration file, which is used to record the storage location information of each algorithm stored in the directory file of the algorithm library.

[0074] In the embodiment of the present application, considering that the configuration file is usually stored in the software directory of the algorithm library, the configuration file of the algorithm library can be found from the software directory, and the storage location information of the algorithm to be scheduled can be found according to the content recorded in the configuration file. Among them, the storage location information can be represented by a configuration path, which is the path of the algorithm file storing the algorithm to be scheduled.

[0075] S13, scheduling the above-mentioned algorithm to be scheduled according to the above-mentioned storage location information.

[0076] Specifically, the corresponding algorithm file is scheduled according to the storage location information to implement the scheduling of the to-be-scheduled algorithm corresponding to the scheduled algorithm file.

[0077] In the embodiment of the present application, after the algorithm to be scheduled is determined, the storage location information of the algorithm to be scheduled in the algorithm library is searched in the algorithm library according to the configuration file of the algorithm library, and then the scheduling algorithm can be scheduled according to the storage location information. Since the algorithm to be scheduled is pre-stored in the algorithm library, there is no need for the user to set the file directory of the algorithm to be scheduled one by one before scheduling. After the algorithm to be scheduled is determined, the storage location information corresponding to the algorithm to be scheduled can be automatically determined in the algorithm library, and then the algorithm to be scheduled can be automatically scheduled according to the storage location information, thereby simplifying the operations required for algorithm scheduling, improving scheduling efficiency, and thus shortening the scheduling time.

[0078] In some embodiments, when the number of algorithms included in the to-be-scheduled algorithm is equal to 1, the to-be-scheduled algorithm has only one scheduling order. However, when the number of algorithms included in the to-be-scheduled algorithm is greater than 1, the scheduling order of the to-be-scheduled algorithm will be greater than 1. At this time, it is necessary to determine the arrangement order of each algorithm in the to-be-scheduled algorithm. At this time, the above S11 includes:

[0079] Determine the order of the algorithms that constitute the above-mentioned algorithm to be scheduled.

[0080] In the embodiment of the present application, since the algorithm will involve a sequence in the scheduling process, when the number of algorithms in the algorithm to be scheduled is greater than 1, the arrangement order of each algorithm in the algorithm to be scheduled is first determined, which can ensure the accuracy of the scheduling when the algorithm to be scheduled is subsequently scheduled.

[0081] In some embodiments, the above-mentioned algorithm to be scheduled includes at least 2 algorithms, and the above-mentioned S13 includes:

[0082] A1. For each algorithm to be scheduled, a node object corresponding to the algorithm is constructed according to the parameter configuration of the algorithm, and an algorithm node corresponding to the algorithm is determined according to the storage location information of the algorithm and the node object.

[0083] Specifically, after determining the parameter configuration corresponding to each algorithm, the node object corresponding to each algorithm is constructed according to the parameter configuration of each algorithm, and the corresponding algorithm file is extracted according to the storage location information of each algorithm, and the corresponding algorithm node is determined according to the algorithm file and the corresponding node object, so that each algorithm node can be called as independent information subsequently, which is conducive to improving the convenience of the scheduling process.

[0084] A2. Generate an algorithm scheduling chain according to the order of the algorithms to be scheduled and the algorithm nodes corresponding to the algorithms.

[0085] Specifically, the arrangement order of each algorithm node in the algorithm scheduling chain is the same as the arrangement order of each algorithm corresponding to each algorithm node.

[0086] A3. Schedule the above-mentioned algorithm to be scheduled according to the above-mentioned algorithm scheduling chain.

[0087] Specifically, since the algorithm scheduling chain can obtain the algorithm files of each algorithm included in the algorithm to be scheduled, the parameter configuration corresponding to the algorithm, and the order between each algorithm, the algorithm scheduling chain can accurately and quickly implement the scheduling of the algorithm to be scheduled.

[0088] In some embodiments, the determining of the order of the algorithms constituting the algorithm to be scheduled includes:

[0089] The order of the various algorithms constituting the above-mentioned algorithm to be scheduled is determined based on a preset rule, or the order of the various algorithms constituting the above-mentioned algorithm to be scheduled is determined based on a user's choice.

[0090] Among them, determining the order between algorithms based on preset rules refers to automatically determining the order between algorithms. In the preset rules, the corresponding order of different algorithms when they are simultaneously used as the same algorithm to be scheduled is defined. For example, suppose that the preset rules are set as follows: when Algorithm 1 and Algorithm 2 are both used as algorithms to be scheduled, Algorithm 1 must be executed first, and then Algorithm 2. Then, when the algorithms to be scheduled determined by the user later include Algorithm 1 and Algorithm 2, the execution order of Algorithm 1 and Algorithm 2 is automatically determined as follows: Algorithm 1 must be executed first, and then Algorithm 2.

[0091] The order of algorithms is determined based on the user's selection, which means that the order of algorithms is determined by the user independently. For example, the order of algorithms is determined by the user inputting information indicating the order of each algorithm, or the order of algorithms is determined by the order of the algorithms selected by the user, etc., which is not limited here.

[0092] In the embodiment of the present application, since the order of the algorithms to be scheduled can be determined according to preset rules and user selections, that is, the method of determining the order is increased, the flexibility of determining the order of the algorithms is improved.

[0093] In some embodiments, in order to improve the convenience of the user in selecting an algorithm, the algorithms that can be used as the algorithms to be scheduled can be displayed on the display interface. At this time, before determining the order of the algorithms used to constitute the algorithms to be scheduled based on the user's selection, the following steps are also included:

[0094] B1. Show the algorithm used to form the above-mentioned scheduling algorithm.

[0095] Specifically, after software A (the software implementing the scheduling method provided in the embodiment of the present application) is started, each algorithm stored in the algorithm library is displayed on the display interface, such as displaying each algorithm in the form of a list. In order to facilitate user selection, a selection box can be set next to the algorithm. When the selection box is clicked, the algorithm corresponding to the selection box is determined to be selected. Optionally, the displayed algorithm can be represented by the algorithm identifier of the algorithm (such as the name of the algorithm), or by the feature description of the algorithm, which is not limited here.

[0096] B2. Receive a check instruction issued by the user on the display interface of the above algorithm, where the check instruction is used to indicate that the corresponding algorithm is selected.

[0097] Among them, a check instruction is used to indicate that a displayed algorithm is selected.

[0098] Specifically, after receiving the check mark instruction, the display interface will display the corresponding check mark information according to the position indicated by the check mark instruction, such as displaying the check mark information such as "√". For example, if a check mark instruction issued by the user is detected in the selection box corresponding to Algorithm 1, "√" can be displayed in the selection box to indicate that Algorithm 1 has been selected as the algorithm to be scheduled.

[0099] Correspondingly, the above-mentioned order between the various algorithms used to constitute the above-mentioned to-be-scheduled algorithm is determined based on the user's selection, including:

[0100] The order between the corresponding selected algorithms is determined according to the order between the above-mentioned check instructions, and the order between the above-mentioned selected algorithms is used as the order between the algorithms constituting the above-mentioned algorithms to be scheduled.

[0101] Specifically, the order of the various check instructions is determined according to the time sequence of detecting the various check instructions, and then the order of the algorithms corresponding to the various check instructions is determined according to the order of the various check instructions. For example, assuming that check instruction 1 corresponds to algorithm 1, check instruction 2 corresponds to algorithm 2, and check instruction 1 is detected first and then check instruction 2 is detected, then the order between algorithm 1 and algorithm 2 is: algorithm 1 is before algorithm 2. That is, during scheduling, algorithm 1 is scheduled first and then algorithm 2.

[0102] In the embodiment of the present application, since the order between the algorithms corresponding to the check instructions is directly determined according to the order between the check instructions, the user does not need to perform additional operations for determining the order, thereby improving the efficiency of determining the algorithms to be scheduled.

[0103] In some embodiments, after receiving a start scheduling instruction issued by the user or after the preset selection time is reached, it can be determined that the user wants to start algorithm scheduling. At this time, the above-mentioned step of "determining the order between the corresponding selected algorithms according to the order between each of the above-mentioned check instructions" is executed to improve the accuracy of the determined algorithm to be scheduled.

[0104] In some embodiments, in order to facilitate the user to promptly obtain information during the algorithm scheduling process, a progress bar may be generated, that is, the scheduling method provided in the embodiment of the present application further includes:

[0105] A progress bar is generated according to the algorithm information included in the algorithm to be scheduled. The progress bar is used to indicate the algorithm currently being scheduled and to indicate the remaining scheduling time of this scheduling.

[0106] The algorithm information here includes the algorithm identifier (such as the algorithm name) and the duration required for scheduling the algorithm, etc. When the algorithm to be scheduled consists of multiple algorithms, the algorithm information may also include the order between the algorithms, etc.

[0107] In the embodiment of the present application, when the algorithm to be scheduled consists of only one algorithm, assuming that the time required to schedule the algorithm is T, before scheduling the algorithm, the remaining scheduling time of this scheduling is T, and after scheduling the algorithm, the remaining scheduling time of this scheduling is 0. When the algorithm to be scheduled consists of at least 2 algorithms, the required running time of each algorithm in the algorithm to be scheduled is estimated after the scheduling is completed, and the total scheduling time corresponding to the algorithm to be scheduled is determined according to the running time of each algorithm, and finally, according to the arrangement order of the algorithm in the algorithm to be scheduled, the running time of the algorithm, and the total scheduling time, the corresponding time percentage after the algorithm is scheduled is determined. For example, assuming that the algorithms to be scheduled include Algorithm 1 and Algorithm 2, and the running time of Algorithm 1 and Algorithm 2 are estimated to be 1 minute and 2 minutes respectively, then the total scheduling time corresponding to the algorithms to be scheduled is 3 minutes. Since Algorithm 1 is before Algorithm 2, when scheduling the algorithms to be scheduled, Algorithm 1 is scheduled first. After Algorithm 1 is successfully scheduled, the time percentage corresponding to Algorithm 1 is 33%, that is, the node corresponding to Algorithm 1 on the progress bar indicates that the scheduling is successful and displays 33%. After Algorithm 2 is successfully scheduled, the time percentage corresponding to Algorithm 2 is 100%, and the node corresponding to Algorithm 2 on the progress bar indicates that the scheduling is completed.

[0108] Since the progress bar can indicate the current scheduling algorithm and the remaining scheduling time of this scheduling, the user can intuitively obtain relevant information in the scheduling process from the progress bar.

[0109] In some embodiments, different colors are set on the progress bar to indicate whether the algorithm is successfully scheduled. For example, green is used to indicate that the algorithm is successfully scheduled, and red is used to indicate that the algorithm is not successfully scheduled (or the scheduling fails). Taking the algorithms to be scheduled as Algorithm 1 and Algorithm 2, when Algorithm 1 is not scheduled, the node of Algorithm 1 on the progress bar can be represented by gray (other colors can also be used, as long as they are different from the colors corresponding to successful scheduling and unsuccessful scheduling). When Algorithm 1 is successfully scheduled, the corresponding node of Algorithm 1 on the progress bar changes from gray to green (that is, indicating that Algorithm 1 is successfully scheduled). If Algorithm 1 is not successfully scheduled, the corresponding node of Algorithm 1 on the progress bar changes from gray to red.

[0110] Of course, other colors may also be used to distinguish whether the scheduling is successful, which is not limited here.

[0111] In some embodiments, considering that some algorithm files need to be scanned before scheduling, in order to obtain functional modules that can be executed by the program. That is, the above S13 includes:

[0112] C1. Scan the algorithm file corresponding to the algorithm to be scheduled according to the storage location information to obtain the corresponding function module.

[0113] Optionally, the functional module can be represented by a method function. Optionally, the method function can be saved in the form of a dictionary or an array list in the memory, and the corresponding information can be read from the memory to implement the call of the algorithm during subsequent scheduling.

[0114] Assuming that an algorithm file of the algorithm to be scheduled is a file described in Python, all algorithm files in ".py" format under the algorithm are scanned in sequence according to the storage location information of the algorithm, and the inspect module in Python is used to read the methods, modules, etc. corresponding to the loaded algorithm files to obtain the corresponding method functions. It should be pointed out that since the method function described in Python language needs to be bound to a module before the program can be executed, after reading the method function, the method function can be bound to a module named lib. Of course, "lib" can also be named with other names, which is not limited here.

[0115] C2. Encapsulate the above functional modules.

[0116] Specifically, when the algorithm to be scheduled includes multiple algorithms, the functional modules corresponding to each algorithm are encapsulated independently so that the functional modules can be quickly called later.

[0117] C3. Schedule the above-mentioned algorithm to be scheduled according to the encapsulated functional modules.

[0118] Since the functional module corresponds to the algorithm included in the algorithm to be scheduled, and the functional module is information obtained after scanning the algorithm file and can be executed by the program, the algorithm to be scheduled can be accurately scheduled according to the encapsulated functional module.

[0119] In some embodiments, considering that the same functional module can implement one or more functions, in order to improve the compatibility when the functional module is subsequently called, after the above C1, it also includes:

[0120] Classify the above functional modules.

[0121] Specifically, the functional modules can be classified according to the preset functions and the functions that the functional modules can realize, wherein the preset functions include but are not limited to: input functions, output functions, and algorithm functions (i.e., functions for specific data processing).

[0122] Correspondingly, the above C2 includes:

[0123] The above functional modules are encapsulated according to the classification results.

[0124] When a functional module can only implement one type of function, the above classification result can indicate the type of function corresponding to the functional module; when a functional module can implement multiple types of functions, the above classification result can indicate the function type corresponding to each sub-functional module in the functional module.

[0125] In the embodiment of the present application, since the functional modules are encapsulated according to the classification results, it is beneficial to be able to quickly determine the sub-functional modules of each classification corresponding to the functional module when the encapsulated functional modules are subsequently scheduled, so that the sub-functional modules can be directly changed when necessary, thereby improving the compatibility of various algorithms in the scheduling process.

[0126] In some embodiments, the functional module includes at least one sub-functional module, and the functional modules are classified as follows:

[0127] According to the preset base class algorithm, the preset base class input processing function and the preset base class output processing function, it is respectively determined whether the above-mentioned functional module includes an algorithm function, an input processing function of the above-mentioned algorithm function and an output processing function of the above-mentioned algorithm function, wherein the above-mentioned preset base class algorithm includes a feature for determining whether a sub-functional module is an algorithm function, the above-mentioned preset base class input processing function includes a feature for determining whether a sub-functional module is an input processing function, and the above-mentioned preset base class output processing function includes a feature for determining whether a sub-functional module is an output processing function.

[0128] Correspondingly, the above functional modules are encapsulated according to the classification results, including:

[0129] In the case where the above-mentioned functional module includes the above-mentioned algorithm function, the above-mentioned algorithm function, and / or the input processing function of the above-mentioned algorithm function and / or the output processing function of the above-mentioned algorithm function are encapsulated into an independent algorithm packaging function.

[0130] The input processing function is used to pre-process the input data. The pre-processing here includes: processing the format of the input data, etc.

[0131] The algorithm function is used to directly perform algorithmic operations on the input data. It should be pointed out that the input data corresponding to the algorithm function can be data pre-processed by the input processing function, or can be data passed in from other files.

[0132] Among them, the output processing function is used to post-process the data after the algorithm operation is processed. The post-processing here includes processing the format of the data after the algorithm operation is processed. For example, the format of the data obtained after the current algorithm operation is processed into the format required by the next scheduled algorithm and then outputted.

[0133] The features of the base class algorithm include: the name of the parent class of the algorithm function.

[0134] For example, suppose that in the base class algorithm, the name of the parent class defined is "Algorithm", and in the algorithm file, the subclass defined may be OcvAlgo (Algorithm). When the Python language defines a class, the parent class in brackets represents its parent class, that is, the name of the parent class defined by the base class function is the same as the name of the parent class defined in the algorithm file. Therefore, the functional module corresponding to the algorithm file can be identified as including the algorithm function.

[0135] Similarly, the base class input processing function and the base class output processing function can also be determined by defining the name of the corresponding parent class and judging whether there is a parent class name in the algorithm file that is the same as the name of the parent class defined by the base class input processing function or the base class output processing function, to determine whether the functional module corresponding to the algorithm file includes an input processing function or an output processing function.

[0136] Since the algorithm function is the most important function in a functional module, only after it is determined that the functional module includes the algorithm function, the functional module will be encapsulated as an independent algorithm packaging function (i.e., the encapsulated functional module). That is, whether the functional module includes an input processing function and / or an output processing function, the functional module can be determined to be complete. Furthermore, the scanning information of the functional module is recorded in the form of a log to mark the successful scanning of the functional module.

[0137] Optionally, if it is determined that the function module does not include an algorithm function, the function module may be determined to be incomplete, and the function module may be discarded. Further, defect information of the function module, such as which type of function is missing, may be recorded in a log (such as an info log).

[0138] Optionally, in order to facilitate distinction, the obtained algorithm function, input processing function and output processing function can be registered in the corresponding library respectively. For example, the algorithm function is registered in the algorithm function library, the input processing function is registered in the algorithm input processing function library, and the output processing function is registered in the algorithm output processing function library, and is marked with the corresponding name during registration, and then a functional module is analyzed from the information registered in the corresponding library to see whether it contains an algorithm function. Optionally, the name can be defined in the base class, for example, the name of the algorithm function is defined in the base class algorithm, and when the algorithm function is registered in the algorithm function library, the corresponding algorithm function can be registered in the algorithm function library with the name of the algorithm function defined in the base class algorithm.

[0139] In some embodiments, the above-mentioned algorithm to be scheduled includes at least two algorithms, and the above-mentioned S13 includes:

[0140] After scheduling each algorithm in the above-mentioned algorithms to be scheduled according to the above-mentioned storage location information, the obtained scheduling results are recorded in the algorithm context, wherein the above-mentioned algorithm context exists in the entire scheduling cycle of the above-mentioned algorithm to be scheduled, and each algorithm in the above-mentioned algorithms to be scheduled can access the scheduling results recorded in the above-mentioned algorithm context.

[0141] In the embodiment of the present application, considering that when the algorithms to be scheduled include at least two algorithms, the scheduling result (i.e., output) of the algorithm scheduled first may be used as an input of the algorithm scheduled later (wherein, the input data corresponding to the algorithm scheduled for the first time may be the parameter configuration recorded in the algorithm context, or may be the data queried according to the file or database pointed to by the parameter configuration passed in), therefore, an algorithm context that exists in the entire scheduling cycle is set, and the algorithm context is used to record the scheduling results obtained after each algorithm is scheduled (i.e., the output data obtained after the algorithm is scheduled). Optionally, the algorithm context is also used to record the general type of parameter configuration required by each algorithm (the general type of parameter configuration includes the parameter configuration that needs to be used by two or more algorithms). In this way, each algorithm can access the algorithm context when it is scheduled to obtain or record the corresponding data in the algorithm context, without the user having to use other data (such as estimated data) as the input data of the algorithm scheduled later, which not only improves the accuracy of the input data, but also improves the scheduling efficiency of the algorithm.

[0142] In some embodiments, in order to facilitate the user to intuitively view the scheduling exception information, the above scheduling method further includes:

[0143] D1. When the above-mentioned scheduled algorithm runs abnormally, the input data corresponding to the above-mentioned algorithm, the running time of the above-mentioned algorithm and / or the abnormal information are counted to obtain statistical information.

[0144] The above-mentioned abnormal information includes one or more of the following: compilation error, runtime error, and logic error.

[0145] D2. Display the above statistical information.

[0146] Specifically, during the algorithm scheduling process, exceptions can be captured through try statements and / or except statements (i.e., try statements are used to try to execute specific operations, and if these operations cause exceptions, except statements can be used to handle them). If an exception is captured, it can be determined that the algorithm has an operating exception. Alternatively, if the algorithm is scheduled and no scheduling result is obtained, it can be determined that the algorithm has an operating exception, and so on.

[0147] In an embodiment of the present application, when it is determined that an algorithm has an operating abnormality, the input data of the algorithm can be obtained, and / or the running time of the algorithm can be obtained, and / or the abnormal information of the algorithm can be obtained, and the obtained information can be displayed, thereby facilitating the user to analyze the abnormal problem based on the displayed information.

[0148] In some embodiments, the code line information corresponding to the running abnormality may also be recorded in the log. Since the code line information contains more specific information, it is helpful for the user to analyze the abnormal problem according to the information recorded in the log.

[0149] In some embodiments, in order to facilitate users to intuitively view the scheduling results obtained by the normal operation of each algorithm, after each algorithm is completed, one or more of the input data, output time and running time corresponding to the algorithm can be obtained, and the above information obtained can be displayed.

[0150] In some embodiments, in order to facilitate users to intuitively view the final scheduling results obtained after the algorithm is scheduled, the scheduling results can be displayed according to a set display method, wherein the display method includes at least one of the following: a line graph, a table, a histogram, etc.

[0151] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0152] Corresponding to the scheduling method described in the above embodiment, Figure 2 A structural block diagram of a scheduling device provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0153] Reference Figure 2 The scheduling device 2 includes: a module for determining the algorithm to be scheduled 21, a storage location information search module 22, and a scheduling module 23. Among them:

[0154] The algorithm to be scheduled determining module 21 is used to determine the algorithm to be scheduled.

[0155] The storage location information search module 22 is used to search the storage location information of the algorithm to be scheduled in the algorithm library according to the configuration file of the algorithm library.

[0156] The scheduling module 23 is used to schedule the above-mentioned algorithm to be scheduled according to the above-mentioned storage location information.

[0157] In the embodiment of the present application, after the algorithm to be scheduled is determined, the storage location information of the algorithm to be scheduled in the algorithm library is searched in the algorithm library according to the configuration file of the algorithm library, and then the scheduling algorithm can be scheduled according to the storage location information. Since the algorithm to be scheduled is pre-stored in the algorithm library, there is no need for the user to set the file directory of the algorithm to be scheduled one by one before scheduling. After the algorithm to be scheduled is determined, the storage location information corresponding to the algorithm to be scheduled can be automatically determined in the algorithm library, and then the algorithm to be scheduled can be automatically scheduled according to the storage location information, thereby simplifying the operations required for algorithm scheduling, improving scheduling efficiency, and thus shortening the scheduling time.

[0158] In some embodiments, the above-mentioned to-be-scheduled algorithm determination module 21 includes:

[0159] The sequence determination unit is used to determine the sequence between the various algorithms used to constitute the above-mentioned algorithm to be scheduled.

[0160] In some embodiments, the above-mentioned algorithm to be scheduled includes at least 2 algorithms, and the above-mentioned scheduling module 23 includes:

[0161] The algorithm node determination unit is used to construct a node object corresponding to each algorithm to be scheduled according to the parameter configuration of the algorithm, and determine the algorithm node corresponding to the algorithm according to the storage location information of the algorithm and the node object.

[0162] The algorithm scheduling chain generating unit is used to generate an algorithm scheduling chain according to the order between the algorithms in the above-mentioned to-be-scheduled algorithms and the above-mentioned algorithm nodes corresponding to the algorithms.

[0163] The algorithm scheduling chain scheduling unit is used to schedule the above-mentioned algorithm to be scheduled according to the above-mentioned algorithm scheduling chain.

[0164] In some embodiments, the determining of the order of the algorithms constituting the algorithm to be scheduled includes:

[0165] Determine the order of the algorithms constituting the above-mentioned algorithm to be scheduled based on a preset rule; or

[0166] The order of the various algorithms constituting the above-mentioned algorithm to be scheduled is determined based on the user's selection.

[0167] In some embodiments, the scheduling device 2 provided in the embodiment of the present application further includes:

[0168] The algorithm display module is used to display the algorithms used to constitute the above-mentioned algorithm to be scheduled before determining the order between the various algorithms used to constitute the above-mentioned algorithm to be scheduled based on the user's selection.

[0169] The check instruction receiving module is used to receive the check instruction issued by the user on the display interface of the above algorithm, and the above check instruction is used to indicate that the corresponding algorithm is selected.

[0170] Correspondingly, the above-mentioned order between the various algorithms used to constitute the above-mentioned to-be-scheduled algorithm is determined based on the user's selection, including:

[0171] The order between the corresponding selected algorithms is determined according to the order between the above-mentioned check instructions, and the order between the above-mentioned selected algorithms is used as the order between the various algorithms constituting the above-mentioned algorithms to be scheduled.

[0172] In some embodiments, the scheduling device 2 provided in the embodiment of the present application further includes:

[0173] The progress bar generation module is used to generate a progress bar according to the algorithm information included in the algorithm to be scheduled, and the progress bar is used to indicate the currently scheduled algorithm and the remaining scheduling time of this scheduling.

[0174] In some embodiments, the scheduling module 23 includes:

[0175] The scanning unit is used to scan the algorithm file corresponding to the algorithm to be scheduled according to the storage location information to obtain the corresponding functional module.

[0176] The encapsulation unit is used to encapsulate the above functional modules.

[0177] The encapsulated module scheduling unit is used to schedule the above-mentioned algorithm to be scheduled according to the encapsulated functional module.

[0178] In some embodiments, the scheduling device 2 provided in the embodiment of the present application further includes:

[0179] The classification unit is used to classify the above functional modules after the corresponding functional modules are obtained.

[0180] Correspondingly, the above encapsulation unit is specifically used for:

[0181] The above functional modules are encapsulated according to the classification results.

[0182] In some embodiments, the functional module includes at least one sub-functional module, and the classification unit is specifically used for:

[0183] According to the preset base class algorithm, the preset base class input processing function and the preset base class output processing function, it is respectively determined whether the above-mentioned functional module includes an algorithm function, an input processing function of the above-mentioned algorithm function and an output processing function of the above-mentioned algorithm function, wherein the above-mentioned preset base class algorithm includes a feature for determining whether a sub-functional module is an algorithm function, the above-mentioned preset base class input processing function includes a feature for determining whether a sub-functional module is an input processing function, and the above-mentioned preset base class output processing function includes a feature for determining whether a sub-functional module is an output processing function.

[0184] Correspondingly, when the encapsulation unit encapsulates the functional modules according to the classification results, it is specifically used to:

[0185] In the case where the above-mentioned functional module includes the above-mentioned algorithm function, the above-mentioned algorithm function, and / or the input processing function of the above-mentioned algorithm function and / or the output processing function of the above-mentioned algorithm function are encapsulated into an independent algorithm packaging function.

[0186] In some embodiments, the above-mentioned algorithm to be scheduled includes at least two algorithms, and the scheduling device 2 provided in the embodiment of the present application also includes:

[0187] The scheduling result recording module is used to record the obtained scheduling results in the algorithm context after scheduling each algorithm in the above-mentioned algorithms to be scheduled according to the above-mentioned storage location information, wherein the above-mentioned algorithm context exists in the entire scheduling cycle of the above-mentioned algorithms to be scheduled, and each algorithm in the above-mentioned algorithms to be scheduled can access the scheduling results recorded in the above-mentioned algorithm context.

[0188] In some embodiments, the scheduling device 2 provided in the embodiment of the present application further includes:

[0189] The statistical information determination module is used to obtain statistical information by counting the input data corresponding to the above-mentioned algorithm, the running time of the above-mentioned algorithm and / or the abnormal information when the above-mentioned scheduled algorithm has an abnormal operation.

[0190] The statistical information display module is used to display the above statistical information.

[0191] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0192] Figure 3 This is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Figure 3 As shown, the electronic device 3 of this embodiment includes: at least one processor 30 ( Figure 3 Only one processor is shown in the figure), a memory 31, and a computer program 32 stored in the memory 31 and executable on the at least one processor 30, wherein the processor 30 implements the steps in any of the above-mentioned method embodiments when executing the computer program 32.

[0193] The electronic device 3 may be a computing device such as a desktop computer, a notebook, a PDA, or a cloud server. The electronic device may include, but is not limited to, a processor 30 and a memory 31. Those skilled in the art will appreciate that Figure 3 It is only an example of the electronic device 3 and does not constitute a limitation on the electronic device 3. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, it may also include input and output devices, network access devices, etc.

[0194] The processor 30 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0195] In some embodiments, the memory 31 may be an internal storage unit of the electronic device 3, such as a hard disk or memory of the electronic device 3. In other embodiments, the memory 31 may also be an external storage device of the electronic device 3, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the electronic device 3. Further, the memory 31 may also include both an internal storage unit of the electronic device 3 and an external storage device. The memory 31 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program, etc. The memory 31 may also be used to temporarily store data that has been output or is to be output.

[0196] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0197] An embodiment of the present application also provides a network device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, wherein the processor implements the steps in any of the above-mentioned method embodiments when executing the computer program.

[0198] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0199] An embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0200] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of the above-mentioned various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the camera / electronic device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0201] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0202] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0203] In the embodiments provided in the present application, it should be understood that the disclosed devices / network equipment and methods can be implemented in other ways. For example, the device / network equipment embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0204] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0205] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A scheduling method, characterized in that: include: Determine the algorithm to be scheduled; Searching for storage location information of the algorithm to be scheduled in the algorithm library according to the configuration file of the algorithm library; The algorithm to be scheduled is scheduled according to the storage location information.

2. The scheduling method according to claim 1, characterized in that: The step of determining the algorithm to be scheduled includes: Determine the order of the algorithms constituting the algorithm to be scheduled.

3. The scheduling method according to claim 2, characterized in that: The algorithms to be scheduled include at least two algorithms, and scheduling the algorithms to be scheduled according to the storage location information includes: For each algorithm to be scheduled, construct a node object corresponding to the algorithm according to the parameter configuration of the algorithm, and determine the algorithm node corresponding to the algorithm according to the storage location information of the algorithm and the node object; Generate an algorithm scheduling chain according to the order of the algorithms to be scheduled and the algorithm nodes corresponding to the algorithms; The algorithm to be scheduled is scheduled according to the algorithm scheduling chain.

4. The scheduling method according to claim 2, characterized in that: The determining of the order of the algorithms constituting the algorithm to be scheduled comprises: Determine the order of the algorithms constituting the algorithm to be scheduled based on a preset rule; or The order of the algorithms constituting the algorithm to be scheduled is determined based on the user's selection.

5. The scheduling method according to claim 4, characterized in that: Before determining the order of the algorithms constituting the to-be-scheduled algorithm based on the user's selection, the method further includes: Displaying algorithms used to form the algorithm to be scheduled; Receiving a check instruction issued by a user on the display interface of the algorithm, wherein the check instruction is used to indicate that the corresponding algorithm is selected; The determining, based on the user's selection, the order of the algorithms constituting the algorithm to be scheduled comprises: The order between the corresponding selected algorithms is determined according to the order between the respective check instructions, and the order between the selected algorithms is used as the order between the respective algorithms constituting the algorithm to be scheduled.

6. The scheduling method according to claim 1, characterized in that: Also includes: A progress bar is generated according to the algorithm information included in the algorithm to be scheduled, and the progress bar is used to indicate the currently scheduled algorithm and the remaining scheduling time of this scheduling.

7. The scheduling method according to claim 1, characterized in that: The scheduling of the algorithm to be scheduled according to the storage location information includes: Scan the algorithm file corresponding to the algorithm to be scheduled according to the storage location information to obtain the corresponding function module; Encapsulating the functional modules; The algorithm to be scheduled is scheduled according to the encapsulated functional module.

8. The scheduling method according to claim 7, characterized in that: After obtaining the corresponding functional module, the method further includes: Classifying the functional modules; The encapsulating the functional module comprises: The functional modules are encapsulated according to the classification results.

9. The scheduling method according to claim 8, characterized in that: The functional module includes at least one sub-functional module, and the classification of the functional modules includes: According to a preset base class algorithm, a preset base class input processing function and a preset base class output processing function, respectively judging whether the functional module includes an algorithm function, an input processing function of the algorithm function and an output processing function of the algorithm function, wherein the preset base class algorithm includes a feature for judging whether a sub-functional module is an algorithm function, the preset base class input processing function includes a feature for judging whether a sub-functional module is an input processing function, and the preset base class output processing function includes a feature for judging whether a sub-functional module is an output processing function; The step of packaging the functional modules according to the classification results includes: In the case where the functional module includes the algorithm function, the algorithm function and / or the input processing function of the algorithm function and / or the output processing function of the algorithm function are encapsulated into an independent algorithm packaging function.

10. The scheduling method according to any one of claims 1 to 9, characterized in that: The algorithms to be scheduled include at least two algorithms, and the scheduling method further includes: After scheduling each algorithm in the to-be-scheduled algorithms according to the storage location information, the obtained scheduling results are recorded in the algorithm context, wherein the algorithm context exists in the entire scheduling cycle of the to-be-scheduled algorithm, and each algorithm in the to-be-scheduled algorithm can access the scheduling results recorded in the algorithm context.

11. The scheduling method according to claim 10, characterized in that: The scheduling method further includes: In the case where the scheduled algorithm runs abnormally, counting the input data corresponding to the algorithm, the running time of the algorithm and / or the abnormal information to obtain statistical information; Displays the stated statistics.

12. A scheduling device, characterized in that: include: A module for determining an algorithm to be scheduled, used for determining an algorithm to be scheduled; A storage location information search module, used to search the storage location information of the algorithm to be scheduled in the algorithm library according to the configuration file of the algorithm library; A scheduling module is used to schedule the algorithm to be scheduled according to the storage location information.

13. 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 computer program, the method according to any one of claims 1 to 11 is implemented.

14. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.