An algorithm scheduling method, apparatus, device and medium

CN115686488BActive Publication Date: 2026-09-04HANGZHOU HOLLYSYS AUTOMATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211378184.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-04
Publication Date
2026-09-04
Estimated Expiration
2042-11-04

AI Technical Summary

Technical Problem

[0002]当前,在电力能源行业的控制器组态领域,针对偏计算分析类业务目前存在一些工具,例如基于PC(Personal Computer)客户端的Auto Think和Power Pro,基于WEB(WorldWide Web,全球广域网)端的逻辑编排工具Node-RED;其中,Auto Think和Power Pro是针对控制器编程来设计的,它们的设计器提供了多种标准的控制器编程语言,设计好后的逻辑需要经过编译下装到控制器进行执行,强依赖控制器,所以设计器的功能也受到控制器有限资源以及实时性、高可靠要求的限制,很难集成计算时间长且高耗资源的分析类算法

Benefits of technology

[0032]As can be seen, this application abstracts each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types; the graph editing engine generates a call relationship description between each algorithm description; the parameter configuration engine configures parameters based on the original parameter descriptions to determine the target parameter descriptions corresponding to each target algorithm; the front-end state management engine obtains an algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor so that the executor parses and executes the algorithm orchestration description. Therefore, this application decouples the designer from the executor, reducing the limitations imposed on the designer by the executor's limited resources, real-time requirements, and high reliability, thus making the designer's orchestration process more flexible. Furthermore, the designer is divided into three parts: a graph editing engine, a parameter configuration engine, and a front-end state management engine. These three parts operate independently yet influence each other, further enhancing the designer's orchestration flexibility. Additionally, the original parameter configuration supporting multiple input and output parameters and parameter validation rules is obtained during the initial algorithm abstraction, enabling the generation of an algorithm orchestration description that supports multiple input and output parameters. This allows for support for both single and multiple input and output parameters, increasing orchestration flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115686488B_ABST
    Figure CN115686488B_ABST
Patent Text Reader

Abstract

The application discloses an algorithm arrangement method and device, equipment and medium, relates to the controller configuration field of the power energy industry, and the method comprises the following steps: abstracting each target algorithm into an algorithm description; the algorithm description comprises a parameter type and a parameter description; a calling relationship description between the algorithm descriptions is generated through a graph editing engine; target parameter descriptions corresponding to the target algorithms are determined based on the original parameter description through a parameter configuration engine; and algorithm arrangement descriptions are obtained based on the algorithm descriptions, the target parameter descriptions and the calling relationship description through a front-end state management engine. The designer and the executor are decoupled, the limitation of the executor on the designer is reduced, the designer is divided into three parts, the original parameter configuration supporting multiple input parameters and multiple output parameters is obtained, the algorithm arrangement description supporting multiple input parameters and multiple output parameters is obtained, and the flexibility of arrangement is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of controller configuration in the power energy industry, and particularly to an algorithm orchestration method, apparatus, equipment, and medium. Background Technology

[0002] Currently, in the controller configuration field of the power energy industry, there are several tools available for computationally intensive and analytical tasks. These include PC-based (Personal Computer) clients like Auto Think and Power Pro, and web-based (World Wide Web) logic orchestration tool Node-RED. Auto Think and Power Pro are designed for controller programming; their designers provide various standard controller programming languages. The designed logic needs to be compiled and downloaded to the controller for execution, making them heavily reliant on the controller. Therefore, the designers' functionality is limited by the controller's limited resources and real-time and high reliability requirements, making it difficult to integrate computationally intensive and resource-intensive analytical algorithms. As for the web-based Node-RED orchestration tool, because algorithms exchange parameters in batches, it doesn't consider the case of control algorithms with multiple input parameters. Therefore, the logic nodes in these designers only have one input parameter, making it difficult to integrate control algorithms requiring multiple input parameters and lacking orchestration flexibility.

[0003] In conclusion, improving the flexibility of algorithm orchestration is a problem that urgently needs to be solved. Summary of the Invention

[0004] In view of this, the purpose of this invention is to provide an algorithm orchestration method that can improve the flexibility of algorithm orchestration. The specific solution is as follows:

[0005] In a first aspect, this application discloses an algorithm orchestration method, characterized in that it is applied to a designer decoupled from the executor, the designer including a graph editing engine, a parameter configuration engine, and a front-end state management engine, the method comprising:

[0006] Each target algorithm is abstracted into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types.

[0007] The graph editing engine generates a description of the call relationships between the various algorithm descriptions.

[0008] The parameter configuration engine configures parameters based on the original parameter description to determine the target parameter description corresponding to each target algorithm.

[0009] The front-end state management engine obtains the algorithm orchestration description based on the algorithm description, the target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor so that the executor can parse and execute the algorithm orchestration description.

[0010] Optionally, the step of abstracting each target algorithm into an algorithm description includes:

[0011] Each virtual controller is pre-built based on different computation times, and each target algorithm is classified into a virtual controller according to the algorithm time of each target algorithm.

[0012] Under the virtual controller, each of the target algorithms is abstracted into an algorithm description.

[0013] Optionally, sending the algorithm orchestration description to the executor so that the executor parses and executes the algorithm orchestration description includes:

[0014] The algorithm orchestration description is sent to the executor so that the executor can create target containers corresponding to each virtual controller according to the algorithm orchestration description, and classify the algorithm orchestration description under the virtual controller into the target container corresponding to the virtual controller, so as to parse and execute the algorithm orchestration description.

[0015] Optionally, generating the call relationship description between the various algorithm descriptions through the graph editing engine includes:

[0016] The graph editing engine obtains the calling order and parameter passing rules between the algorithm descriptions configured by the target user through dragging and dropping lines on a visual canvas. Then, based on the calling order and parameter passing rules, it generates a calling relationship description between the algorithm descriptions.

[0017] Optionally, the step of configuring parameters based on the original parameter description through the parameter configuration engine to determine the target parameter description corresponding to each target algorithm includes:

[0018] The parameter configuration engine obtains the parameter configuration interface based on the original parameter description;

[0019] Obtain the new parameters that the target user fills in to the parameter configuration interface through the client, and generate a target parameter description based on the new parameters.

[0020] Optionally, obtaining the parameter configuration interface based on the original parameter description through the parameter configuration engine includes:

[0021] The parameter configuration engine selects appropriate front-end components from the front-end component library based on the parameter type in the original parameter description;

[0022] Based on the parameter validation rules in the original parameter description, the front-end component is set with validation attributes, and the parameter configuration interface is rendered based on the validation attributes.

[0023] Optionally, the algorithm description, the description of each of the target parameters, the description of the calling relationship, and the description of the algorithm orchestration are described in JSON format.

[0024] Secondly, this application discloses an algorithm orchestration device, characterized in that it is applied to a designer decoupled from the executor, the designer including a graph editing engine, a parameter configuration engine, and a front-end state management engine, the device comprising:

[0025] The algorithm description acquisition module is used to abstract each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types.

[0026] The call relationship description generation module is used to generate call relationship descriptions between the algorithm descriptions through the graph editing engine.

[0027] The target parameter description determination module is used to determine the target parameter description corresponding to each target algorithm by configuring parameters based on the original parameter description through the parameter configuration engine.

[0028] The algorithm orchestration description acquisition module is used to acquire the algorithm orchestration description based on the algorithm description, the target parameter description and the call relationship description through the front-end state management engine.

[0029] The target algorithm execution module is used to send the algorithm orchestration description to the executor so that the executor can parse and execute the algorithm orchestration description.

[0030] Thirdly, this application discloses an electronic device, including a processor and a memory; wherein, when the processor executes a computer program stored in the memory, it implements the aforementioned algorithm arrangement method.

[0031] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned algorithm arrangement method.

[0032] As can be seen, this application abstracts each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types; the graph editing engine generates a call relationship description between each algorithm description; the parameter configuration engine configures parameters based on the original parameter descriptions to determine the target parameter descriptions corresponding to each target algorithm; the front-end state management engine obtains an algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor so that the executor parses and executes the algorithm orchestration description. Therefore, this application decouples the designer from the executor, reducing the limitations imposed on the designer by the executor's limited resources, real-time requirements, and high reliability, thus making the designer's orchestration process more flexible. Furthermore, the designer is divided into three parts: a graph editing engine, a parameter configuration engine, and a front-end state management engine. These three parts operate independently yet influence each other, further enhancing the designer's orchestration flexibility. Additionally, the original parameter configuration supporting multiple input and output parameters and parameter validation rules is obtained during the initial algorithm abstraction, enabling the generation of an algorithm orchestration description that supports multiple input and output parameters. This allows for support for both single and multiple input and output parameters, increasing orchestration flexibility. Attached Figure Description

[0033] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0034] Figure 1 A flowchart of an algorithm orchestration method provided in this application;

[0035] Figure 2 A schematic diagram of a graph editing engine provided in this application;

[0036] Figure 3 A schematic diagram of a parameter configuration engine provided in this application;

[0037] Figure 4 A schematic diagram of a front-end state management engine provided in this application;

[0038] Figure 5 A flowchart of a specific algorithm orchestration method provided in this application;

[0039] Figure 6 A schematic diagram of an algorithm orchestration device provided in this application;

[0040] Figure 7This application provides a structural diagram of an electronic device. Detailed Implementation

[0041] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0042] Currently, Auto Think and Power Pro are designed for controller programming. Their designers offer various standard controller programming languages, but the designed logic needs to be compiled and downloaded to the controller for execution. This strong dependence on the controller limits the designers' functionality, making them constrained by the controller's limited resources and real-time, high-reliability requirements. It's difficult to integrate computationally intensive and resource-intensive analytical algorithms. As for current web-based Node-RED orchestration tools, because algorithms pass parameters in batches, they don't consider the case of control algorithms with multiple input parameters. Therefore, the logic nodes in these designers only have one input parameter, making it difficult to integrate control algorithms requiring multiple input parameters and lacking orchestration flexibility.

[0043] To overcome the above problems, this application provides an algorithm orchestration scheme that can improve the flexibility of algorithm orchestration.

[0044] See Figure 1 As shown in the figure, this application discloses an algorithm orchestration method applied to a designer decoupled from the executor. The designer includes a graph editing engine, a parameter configuration engine, and a front-end state management engine. The method includes:

[0045] Step S11: Abstract each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter verification rules, and original parameter descriptions including parameter types.

[0046] In this embodiment, the designer and executor are decoupled, shielding the execution environment and programming language. The designer is only responsible for algorithm orchestration, while the executor aims to provide a stable computing platform. It should be noted that the designer runs on a web-based platform, making it more lightweight and convenient to use.

[0047] In the embodiments of this application, such as Figure 2As shown, this is the algorithm orchestration designer. The designer abstracts the algorithms in the algorithm library into algorithm descriptions (algorithm block descriptions). The algorithm block descriptions are configured through a graph editing engine and a parameter configuration engine. The graph editing engine configures the calling relationships between algorithm blocks and obtains the algorithm block and calling relationship description (algorithm description and calling relationship description between algorithm descriptions). The parameter configuration engine configures the algorithm block parameters and obtains the algorithm block parameter description (original parameter description). Then, the front-end state manager obtains the algorithm orchestration description based on the algorithm block and calling relationship description and the algorithm block parameter description.

[0048] In this embodiment, an algorithm orchestration description is obtained through algorithm orchestration. This description mainly includes the algorithm description and the description of the algorithm call relationships. First, each target algorithm is abstracted into an algorithm description. It should be noted that during algorithm abstraction, a raw parameter description supporting multiple input and output parameters is obtained, facilitating the subsequent generation of an algorithm orchestration description supporting multiple input and output parameters. It should also be noted that the algorithm description is an abstraction of the algorithm, shielding the algorithm implementation language and runtime environment. It primarily uses JSON (JavaScript Object Notation) to describe the algorithm's running mode and parameter descriptions, where the parameter descriptions support multiple inputs, multiple outputs, and custom parameter validation rules.

[0049] Step S12: Generate a description of the calling relationships between the algorithm descriptions using the graph editing engine.

[0050] In this embodiment of the application, generating the call relationship description between each of the algorithm descriptions through the graph editing engine includes: obtaining the call order and parameter passing rules between each of the algorithm descriptions configured by the target user through dragging and connecting lines on a visual drag-and-drop canvas using the graph editing engine, and then generating the call relationship description between each of the algorithm descriptions based on the call order and the parameter passing rules.

[0051] It should be noted that the call relationship description uses JSON to describe the algorithm call order and parameter passing rules during execution. The graph editing engine supports custom nodes, edges, routes, events, etc., to obtain the call order and parameter passing rules configured by the target user through drag-and-drop connections on the client, further generating a call relationship description between algorithms and writing it to the front-end state manager. It should also be noted that the algorithm description is written to the front-end state manager through the graph editing engine. Furthermore, the graph editing engine supports custom nodes, edges, routes, events, etc., to meet diverse algorithm orchestration needs.

[0052] See Figure 3The diagram shows a schematic of a graph editing engine. The graph editing engine obtains the calling order and parameter passing rules between the algorithm descriptions obtained by the target user through dragging and connecting lines on the client's visual drag-and-drop canvas, and further obtains the algorithm blocks and calling relationship descriptions.

[0053] Step S13: The parameter configuration engine configures parameters based on the original parameter description to determine the target parameter description corresponding to each target algorithm.

[0054] In this embodiment of the application, the step of configuring parameters based on the original parameter description through the parameter configuration engine to determine the target parameter description corresponding to each target algorithm includes: obtaining a parameter configuration interface based on the original parameter description through the parameter configuration engine; obtaining new parameters filled in by the target user through the client to the parameter configuration interface, and generating a target parameter description based on the new parameters.

[0055] It should be noted that obtaining the parameter configuration interface based on the original parameter description through the parameter configuration engine includes: selecting a suitable front-end component from the front-end component library based on the parameter type in the original parameter description; setting validation attributes for the front-end component based on the parameter validation rules in the original parameter description; and rendering the parameter configuration interface based on the validation attributes. Specifically, the parameter configuration engine configures the parameter type according to the algorithm, finds a suitable front-end component from the front-end component library, dynamically sets validation attributes for the front-end component according to the parameter validation rules in the parameter description, and then renders the parameter configuration interface. When the user sets a new parameter value using the parameter configuration interface, the parameter configuration engine generates a new parameter description and writes it to the front-end state manager.

[0056] It should be noted that each front-end component needs to have corresponding validation attributes. These validation attributes can be: numeric input only, maximum value, or minimum value, without any specific limitations.

[0057] See Figure 4 The diagram illustrates the parameter configuration engine. It selects appropriate front-end components from the front-end component library based on the parameter types in the algorithm block parameter description (original parameter description) (i.e., component adaptation). Then, it dynamically sets validation attributes for the front-end components using the parameter validation rules in the algorithm block parameter description. Finally, it renders the parameter configuration interface (i.e., dynamically rendering the front-end component), retrieves the new parameters set by the target user through the parameter configuration interface, and obtains the target parameter description. It should be noted that the parameter configuration engine supports custom parameter validation rules and automatically matches front-end components, meeting the usability requirements of parameter configuration.

[0058] Step S14: The front-end state management engine obtains the algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor so that the executor can parse and execute the algorithm orchestration description.

[0059] In this embodiment, the algorithm description, the descriptions of each target parameter, the description of the call relationship, and the algorithm orchestration description are JSON descriptions. JSON is a lightweight data interchange format. It is based on a subset of ECMAScript (the JavaScript specification developed by the European Computer Manufacturers Association) and uses a text format that is completely independent of programming languages ​​to store and represent data.

[0060] In this embodiment, the front-end state management engine obtains the algorithm description and configuration relationship description sent by the image editing engine, as well as the target parameter description sent by the parameter configuration engine. Based on these algorithm descriptions, target parameter descriptions, and the call relationship description, an algorithm orchestration description is obtained. This orchestration description is then sent to the executor so that the executor can parse and execute it. It should be noted that the front-end state manager is responsible for coordinating the state linkage between the image editing engine and the parameter configuration engine, acting as a communication bridge for state synchronization in a reactive manner.

[0061] It should be noted that this application can expand the functionality of the image editing engine, parameter configuration engine, and front-end state management engine. By expanding the functionality of the three major modules of the designer, the flexibility and complexity of the layout can be easily enhanced. In one specific embodiment, a smart layout algorithm can be added to the image editing engine; in another specific embodiment, a front-end component can be added to the parameter configuration engine.

[0062] It should be noted that the algorithms currently integrated into the designer described in this application include control classes, AI (Artificial Intelligence) classes, FMU classes (a compressed file (the compressed file name has the extension *.fmu) containing XML (Extensible Markup Language) interface data descriptions and C code or binary implementation functions), as well as algorithm nesting and drill-down functions.

[0063] As can be seen, this application abstracts each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types; the graph editing engine generates a call relationship description between each algorithm description; the parameter configuration engine configures parameters based on the original parameter descriptions to determine the target parameter descriptions corresponding to each target algorithm; the front-end state management engine obtains an algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor so that the executor parses and executes the algorithm orchestration description. Therefore, this application decouples the designer from the executor, reducing the limitations imposed on the designer by the executor's limited resources, real-time requirements, and high reliability, thus making the designer's orchestration process more flexible. Furthermore, the designer is divided into three parts: a graph editing engine, a parameter configuration engine, and a front-end state management engine. These three parts operate independently yet influence each other, further enhancing the designer's orchestration flexibility. Additionally, the original parameter configuration supporting multiple input and output parameters and parameter validation rules is obtained during the initial algorithm abstraction, enabling the generation of an algorithm orchestration description that supports multiple input and output parameters. This allows for support for both single and multiple input and output parameters, increasing orchestration flexibility. Moreover, this application improves the performance of parameter validity validation in the parameter configuration interface, making the parameter configuration process more secure.

[0064] See Figure 5 As shown in the figure, this application discloses a specific algorithm orchestration method applied to a designer decoupled from the executor. The designer includes a graph editing engine, a parameter configuration engine, and a front-end state management engine. The method includes:

[0065] Step S21: Pre-construct each virtual controller based on different computation times, and classify each target algorithm into the virtual controller according to the algorithm time of each target algorithm; under the virtual controller, each target algorithm is abstracted into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters and parameter verification rules, as well as the original parameter description including parameter types.

[0066] In this embodiment of the application, the designer is responsible for algorithm orchestration; specifically, the designer pre-builds each virtual controller based on different computation times, and classifies each target algorithm into a virtual controller according to the algorithm computation time in accordance with the control layering principle. Then, under the virtual controller, each target algorithm is abstracted into an algorithm description.

[0067] Step S22: Generate a description of the calling relationships between the algorithm descriptions using the graph editing engine.

[0068] For a more detailed description of the process of step S22, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.

[0069] Step S23: The parameter configuration engine configures parameters based on the original parameter description to determine the target parameter description corresponding to each target algorithm.

[0070] For a more detailed description of the process of step S23, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.

[0071] Step S24: The front-end state management engine obtains the algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description. Then, the algorithm orchestration description is sent to the executor so that the executor creates target containers corresponding to each virtual controller according to the algorithm orchestration description, and classifies the algorithm orchestration description under the virtual controller into the target container corresponding to the virtual controller, so as to parse and execute the algorithm orchestration description.

[0072] In this embodiment of the application, the goal of the executor is to provide a stable computing platform. By parsing the algorithm orchestration description generated by the designer, multiple target containers are virtualized. Resource isolation is achieved between the target containers, and the target containers are independent of each other and do not affect each other, ensuring that various algorithms can run stably.

[0073] As can be seen, this application pre-constructs virtual controllers based on different computation times, and classifies each target algorithm into a virtual controller according to its computation time. Under each virtual controller, each target algorithm is abstracted into an algorithm description, which includes support for multiple input and output parameters, parameter validation rules, and a raw parameter description including parameter types. The graph editing engine generates a call relationship description between each algorithm description. The parameter configuration engine configures parameters based on the raw parameter description to determine the target parameter description corresponding to each target algorithm. The front-end state management engine obtains an algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor. The executor creates target containers corresponding to each virtual controller according to the algorithm orchestration description, and classifies the algorithm orchestration descriptions under each virtual controller into the target containers corresponding to the virtual controller, so as to parse and execute the algorithm orchestration descriptions. Therefore, this application decouples the designer from the executor, reducing the limitations imposed on the designer by the executor's limited resources, real-time requirements, and high reliability, thus making the designer's orchestration process more flexible. Furthermore, the designer is divided into three parts: a graph editing engine, a parameter configuration engine, and a front-end state management engine. These three parts operate independently yet influence each other, further enhancing the designer's orchestration flexibility. Additionally, the original parameter configuration supporting multiple input and output parameters and parameter validation rules is obtained during the initial algorithm abstraction, enabling the generation of an algorithm orchestration description that supports multiple input and output parameters. This allows for support for both single and multiple input and output parameters, increasing orchestration flexibility.

[0074] See Figure 6 As shown in the figure, this application discloses an algorithm orchestration device applied to a designer decoupled from the executor. The designer includes a graph editing engine, a parameter configuration engine, and a front-end state management engine. The device includes:

[0075] The algorithm description acquisition module 11 is used to abstract each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters and parameter verification rules, as well as the original parameter description including parameter types;

[0076] Call relationship description generation module 12 is used to generate call relationship descriptions between the algorithm descriptions through the graph editing engine;

[0077] The target parameter description determination module 13 is used to determine the target parameter description corresponding to each target algorithm by configuring parameters based on the original parameter description through the parameter configuration engine.

[0078] The algorithm orchestration description acquisition module 14 is used to acquire the algorithm orchestration description based on each of the algorithm descriptions, each of the target parameter descriptions and the call relationship descriptions through the front-end state management engine.

[0079] The target algorithm execution module 15 is used to send the algorithm orchestration description to the executor so that the executor can parse and execute the algorithm orchestration description.

[0080] For more detailed information on the working process of each of the above modules, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.

[0081] As can be seen, this application abstracts each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types; the graph editing engine generates a call relationship description between each algorithm description; the parameter configuration engine configures parameters based on the original parameter descriptions to determine the target parameter descriptions corresponding to each target algorithm; the front-end state management engine obtains an algorithm orchestration description based on each algorithm description, each target parameter description, and the call relationship description, and then sends the algorithm orchestration description to the executor so that the executor parses and executes the algorithm orchestration description. Therefore, this application decouples the designer from the executor, reducing the limitations imposed on the designer by the executor's limited resources, real-time requirements, and high reliability, thus making the designer's orchestration process more flexible. Furthermore, the designer is divided into three parts: a graph editing engine, a parameter configuration engine, and a front-end state management engine. These three parts operate independently yet influence each other, further enhancing the designer's orchestration flexibility. Additionally, the original parameter configuration supporting multiple input and output parameters and parameter validation rules is obtained during the initial algorithm abstraction, enabling the generation of an algorithm orchestration description that supports multiple input and output parameters. This allows for support for both single and multiple input and output parameters, increasing orchestration flexibility.

[0082] Furthermore, embodiments of this application also provide an electronic device. Figure 7 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.

[0083] Figure 7 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, an input / output interface 24, a communication interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps of the algorithm arrangement method disclosed in any of the foregoing embodiments.

[0084] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 25 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 24 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0085] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The memory 22 can be a random access memory that can be used as running memory and a non-volatile memory used for external memory storage. The storage resources on it include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0086] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 on the source host and the computer program 222. The operating system 221 can be Windows, Unix, Linux, etc. In addition to including computer programs that can be used to perform the algorithm arrangement method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include computer programs that can be used to perform other specific tasks.

[0087] In this embodiment, the input / output interface 24 may include, but is not limited to, a USB interface, a hard disk read interface, a serial interface, a voice input interface, a fingerprint input interface, etc.

[0088] Furthermore, embodiments of this application also disclose a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned algorithm arrangement method.

[0089] For the specific steps of this method, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.

[0090] The computer-readable storage medium referred to herein includes random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, magnetic disks, optical disks, or any other form of storage medium known in the art. The computer program, when executed by a processor, implements the aforementioned algorithm arrangement method. Specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.

[0091] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. The apparatus disclosed in the embodiments is described simply because it corresponds to the algorithm arrangement method disclosed in the embodiments; relevant parts can be referred to the method section.

[0092] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0093] The steps of the algorithm described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0094] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0095] The above provides a detailed description of the algorithm arrangement method, apparatus, device, and medium provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. An algorithm orchestration method, characterized in that, A method applied to a designer decoupled from the executor, the designer including a graph editing engine, a parameter configuration engine, and a front-end state management engine, the method comprising: Each target algorithm is abstracted into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types. The graph editing engine generates a description of the call relationships between the various algorithm descriptions. The parameter configuration engine configures parameters based on the original parameter description to determine the target parameter description corresponding to each target algorithm. The front-end state management engine obtains the algorithm orchestration description based on the algorithm description, the target parameter description, and the call relationship description in a responsive state linkage manner. Then, the algorithm orchestration description is sent to the executor so that the executor can parse and execute the algorithm orchestration description. The algorithm orchestration method is a method applied to the controller configuration field of the power energy industry; The step of generating a description of the call relationships between the algorithm descriptions through the graph editing engine includes: The graph editing engine is used to perform custom target information operations to obtain the calling order and parameter passing rules between the algorithm descriptions configured by the target user through dragging and dropping lines on a visual canvas. Then, a calling relationship description between the algorithm descriptions is generated based on the calling order and the parameter passing rules. The target information includes nodes, edges, routes, and events. The designer integrates algorithms including control algorithms, AI algorithms, and FMU algorithms; the designer has algorithm nesting and drill-down functions. The step of abstracting each target algorithm into an algorithm description includes: Each virtual controller is pre-built based on different computation times, and each target algorithm is classified into a virtual controller according to the algorithm time of each target algorithm, based on the control layering principle. Under the virtual controller, each of the target algorithms is abstracted into an algorithm description; The step of sending the algorithm orchestration description to the executor so that the executor parses and executes the algorithm orchestration description includes: The algorithm orchestration description is sent to the executor so that the executor can create target containers corresponding to each virtual controller according to the algorithm orchestration description, and classify the algorithm orchestration description under the virtual controller into the target container corresponding to the virtual controller, so as to parse and execute the algorithm orchestration description.

2. The algorithm arrangement method according to claim 1, characterized in that, The step of configuring parameters based on the original parameter description through the parameter configuration engine to determine the target parameter description corresponding to each target algorithm includes: The parameter configuration engine obtains the parameter configuration interface based on the original parameter description; Obtain the new parameters that the target user fills in to the parameter configuration interface through the client, and generate a target parameter description based on the new parameters.

3. The algorithm arrangement method according to claim 2, characterized in that, The step of obtaining a parameter configuration interface based on the original parameter description through the parameter configuration engine includes: The parameter configuration engine selects appropriate front-end components from the front-end component library based on the parameter type in the original parameter description; Based on the parameter validation rules in the original parameter description, the front-end component is set with validation attributes, and the parameter configuration interface is rendered based on the validation attributes.

4. The algorithm arrangement method according to any one of claims 1 to 3, characterized in that, The algorithm description, the description of each target parameter, the description of the calling relationship, and the description of the algorithm orchestration are described in JSON format.

5. An algorithm orchestration device, characterized in that, A designer decoupled from an actuator, the designer including a graph editing engine, a parameter configuration engine, and a front-end state management engine, the apparatus comprising: The algorithm description acquisition module is used to abstract each target algorithm into an algorithm description; the algorithm description includes support for multiple input parameters and multiple output parameters, parameter validation rules, and original parameter descriptions including parameter types. The call relationship description generation module is used to generate call relationship descriptions between the algorithm descriptions through the graph editing engine. The target parameter description determination module is used to determine the target parameter description corresponding to each target algorithm by configuring parameters based on the original parameter description through the parameter configuration engine. The algorithm orchestration description acquisition module is used to acquire the algorithm orchestration description based on each of the algorithm descriptions, each of the target parameter descriptions and the call relationship descriptions through the front-end state management engine in a responsive state linkage manner. The target algorithm execution module is used to send the algorithm orchestration description to the executor so that the executor can parse and execute the algorithm orchestration description; The algorithm orchestration device is a device applied to the controller configuration field of the power energy industry; Specifically, the call relationship description generation module is used to perform custom target information operations through the graph editing engine to obtain the call order and parameter passing rules between the algorithm descriptions configured by the target user through drag-and-drop connection configuration on a visual drag-and-drop canvas. Then, based on the call order and parameter passing rules, a call relationship description between the algorithm descriptions is generated. The target information includes nodes, edges, routes, and events. The designer integrates algorithms including control algorithms, AI algorithms, and FMU algorithms; the designer has algorithm nesting and drill-down functions. The algorithm description acquisition module is specifically used to pre-construct each virtual controller based on different computation times, and classify each target algorithm into the virtual controller according to the algorithm time of each target algorithm according to the control layering principle. Under the virtual controller, each of the target algorithms is abstracted into an algorithm description; Specifically, the target algorithm execution module is used to send the algorithm orchestration description to the executor, so that the executor can create target containers corresponding to each virtual controller according to the algorithm orchestration description, and classify the algorithm orchestration description under the virtual controller into the target container corresponding to the virtual controller, so as to parse and execute the algorithm orchestration description.

6. An electronic device, characterized in that, It includes a processor and a memory; wherein, when the processor executes a computer program stored in the memory, it implements the algorithm arrangement method as described in any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when the computer programs are executed by a processor, they implement the algorithm orchestration method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Web model package and distributed processing method for remote-sensing image processing

    CN107423053A