CN117610325B - 基于分布式的优化设计节点调度方法、系统和设备 - Google Patents
基于分布式的优化设计节点调度方法、系统和设备 Download PDFInfo
- Publication number
- CN117610325B CN117610325B CN202410100293.4A CN202410100293A CN117610325B CN 117610325 B CN117610325 B CN 117610325B CN 202410100293 A CN202410100293 A CN 202410100293A CN 117610325 B CN117610325 B CN 117610325B
- Authority
- CN
- China
- Prior art keywords
- node
- design
- optimal design
- variables
- optimal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013461 design Methods 0.000 title claims abstract description 334
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000005457 optimization Methods 0.000 claims abstract description 87
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims description 35
- 230000000007 visual effect Effects 0.000 claims description 25
- 238000009826 distribution Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000005111 flow chemistry technique Methods 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 13
- 238000012545 processing Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 125000004122 cyclic group Chemical group 0.000 description 7
- 238000012938 design process Methods 0.000 description 7
- 125000002015 acyclic group Chemical group 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Geometry (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及基于分布式的优化设计节点调度方法、系统和设备,该方法通过基于在调度过程中的“节点跳转”思想,综合考虑了优化算法与节点之间的执行顺序与数据传递逻辑,在节点调度系统中设计了三种可单独执行的节点,根据当前设计任务完成节点配置后,中心服务器将生成的有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中,节点执行服务器运行优化设计开始节点并获取设计变量后传递给普通组件节点,在运行普通组件节点时会向优化设计开始节点传递组件运行结果数据,然后运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务已完成,将所得优化设计结果进行可视化展示,大幅提高了工程设计效率。
Description
技术领域
本发明属于数据处理技术领域,涉及一种基于分布式的优化设计节点调度方法、系统和设备。
背景技术
优化设计是一种针对特定工程设计问题的优化方法,如发动机设计和飞行器构型设计等等,其优化设计流程图中的各个节点需要获取优化设计算法中生成的参数作为输入,各个节点运行产生的结果需要作为优化设计算法中的一部分数据,且上述过程是一个循环迭代的过程。在传统的设计流程节点调度技术中,数据传递采用的是相邻节点传递方式,无法满足优化设计的不相邻节点的数据传递需求,导致需要在优化计算处理的过程中手动设置大量参数数据,存在优化设计效率较低的技术问题。
发明内容
针对上述传统方法中存在的问题,本发明提出了一种基于分布式的优化设计节点调度方法、一种基于分布式的优化设计节点调度系统和一种计算机设备,能够大幅提高工程设计效率。
为了实现上述目的,本发明实施例采用以下技术方案:
一方面,提供一种基于分布式的优化设计节点调度方法,包括步骤:
上传普通组件节点的组件文件到节点调度系统当前的流程任务中,选取优化算法参数和针对当前设计任务的优化设计算法后生成有向无环图;节点调度系统包括可单独执行的优化设计开始节点、优化设计结束节点和普通组件节点,优化算法参数包括当前设计任务的目标变量、约束变量、设计变量和监控变量;
将有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中;待执行的节点状态设置为等待执行;
运行优化设计开始节点并获取设计变量后传递给普通组件节点;
运行普通组件节点并向优化设计开始节点传递组件运行结果数据;组件运行结果数据包括目标变量、约束变量和监控变量,优化设计开始节点将设计变量、目标变量、约束变量和监控变量打包为一轮优化设计结果;
运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务已完成时,将优化设计结果返回用户端前台进行可视化展示。
在其中一个实施例中,运行优化设计开始节点时,若优化设计开始节点为第一次运行,则创建一个新的线程运行优化设计算法并获取设计变量传递给普通组件节点。
在其中一个实施例中,运行优化设计开始节点时,若优化设计开始节点为非第一次运行,则获取普通组件节点计算输出的目标变量、约束变量和监控变量传递给优化设计算法;
在完成优化设计算法的一轮迭代后,将一轮优化设计结果放到阻塞队列中。
在其中一个实施例中,运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务未完成时,设置当前设计任务的当前流程状态为运行中并返回运行优化设计开始节点的过程。
在其中一个实施例中,采用加权轮询法分发各待执行的节点。
在其中一个实施例中,可视化展示的数据格式为二维可视化数组,二维可视化数组的表头包括定义的目标变量、约束变量、设计变量、监控变量、是否可行和是否最优,二维可视化数组的实体包括目标变量、约束变量、设计变量和监控变量每轮运算的数值。
另一方面,还提供一种基于分布式的优化设计节点调度系统,应用于上述的方法,该系统包括流程处理模块、节点执行模块、优化算法运行模块和线程数据通信模块;
流程处理模块包括中心服务器和节点分发服务器,中心服务器用于对当前设计任务对应的有向无环图数据进行预处理,节点分发服务器用于将需要运行的节点分发给节点执行模块;
节点执行模块部署有节点执行服务器,用于运行节点分发服务器分发过来的节点;优化算法运行模块用于将针对当前设计任务选择的优化设计算法以线程的方式运行,线程数据通信模块用于完成不同节点之间的数据通信功能。
在其中一个实施例中,节点执行服务器包括多个,节点分发服务器采用加权轮询法分发各待执行的节点到各节点执行服务器。
在其中一个实施例中,中心服务器还用于将当前设计任务的优化设计结果返回用户端前台进行可视化展示。
又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的基于分布式的优化设计节点调度方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述基于分布式的优化设计节点调度方法、系统和设备,通过基于在调度过程中的“节点跳转”思想,综合考虑了优化算法与节点之间的执行顺序与数据传递逻辑,在节点调度系统中设计了三种可单独执行的节点:优化设计开始节点、优化设计结束节点和普通组件节点,根据当前设计任务完成节点配置后,系统的中心服务器将生成的有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中,系统的节点执行服务器运行优化设计开始节点并获取设计变量后传递给普通组件节点,在运行普通组件节点时会向优化设计开始节点传递组件运行结果数据,以便优化设计开始节点将当前迭代轮次的数据打包成一组数据插入到优化设计结果数据中,然后运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务是否已完成时,如果已完成,那么可以将所得优化设计结果返回用户端前台进行可视化展示,完成优化设计任务处理。
基于在调度过程中的“节点跳转”思想,实现了优化设计节点与普通组件节点的循环执行,实现优化设计算法循环迭代计算的功能,在线完成优化设计算法计算寻找最优解输出的过程,相比于传统的有向无环流程图调度方法,具有更高效更优秀的节点运行模式,而且运行过程中使优化设计算法与节点分隔开,使优化设计算法的生命周期转为整个优化过程,而不是节点的生命周期,以此来实现工程设计参数的优化输出,具有更优秀的设计实现能力。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中基于分布式的优化设计节点调度方法的流程示意图;
图2为一个实施例中优化参数传递流程示意图;
图3为一个实施例中基于分布式的优化设计节点调度方法的应用流程示意图;
图4为一个实施例中基于分布式的优化设计节点调度系统的模块框架示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。
本领域技术人员可以理解,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
目前常用的调度系统有数据驱动的调度系统、云原生调度系统和分布式调度系统:
数据驱动的调度系统是一种基于数据流的自动化任务调度系统。它通过对业务数据和系统数据的实时监控,自动识别出需要执行的任务,并根据不同的优先级和依赖关系进行调度。此类方法实施步骤如下:实时监控业务数据和系统数据,包括日志、指标和事件等。根据监控到的数据,数据驱动的调度系统会自动识别出需要执行的任务,并将其加入到任务队列中。系统会根据任务的优先级和依赖关系,自动进行调度和执行。在任务执行完成后,系统会将执行结果保存下来并反馈给用户。
云原生调度系统是一种以容器为基础的自动化任务调度系统,它可以在云端环境中灵活地管理和调度应用程序。此类方法实施步骤如下:开发人员将应用程序打包成容器镜像,并上传到云原生调度系统中。在云原生调度系统中,开发人员可以根据业务需求配置运行规则,例如任务执行时间、任务依赖关系等。云原生调度系统会根据配置的规则,自动对容器进行调度和管理。在容器发生故障或者需要扩展时,系统会自动进行重新调度。
分布式调度系统是一种基于多台机器的自动化任务调度系统。它将任务分配给各个节点进行执行,以提高任务执行的效率和可靠性。此类方法实施步骤如下:用户将待执行的任务提交给分布式调度系统。系统会根据节点的可用性和任务的优先级,将任务分配给合适的节点进行执行。节点接收到任务后,进行执行并将结果返回给分布式调度系统。
发明人在研究实现本发明的过程中发现,目前的调度系统中,节点的运行方式都是按照顺序单次调度,无法满足需要迭代重复运行节点的优化设计需求。现有的调度系统采用的数据传递格式为相邻节点传递方式,即对于正在运行的节点只能接收上一次运行节点传递的数据,而在优化设计任务当中,优化设计算法与仿真节点之间存在复杂的数据传递逻辑,采用现有的调度系统,在每一次计算完成后,需要人工手动设置参数,过于繁琐、容易出错且效率低下。
本发明充分考虑了实际工程优化设计过程中节点之间的数据传递过程与逻辑,设计一个用于优化设计过程的有向无环流程图节点调度方法,可将基于有向无环图的优化设计调度系统用于工业生产设计过程中,能够将设计人员从复杂的手工优化设计算法中解放出来,提高设计生产效率和计算精度,实现优化算法设计过程的标准化与智能化。
下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
请参阅图1,在一个实施例中,提供了一种基于分布式的优化设计节点调度方法,包括如下处理步骤S12至S20:
S12,上传普通组件节点的组件文件到节点调度系统当前的流程任务中,选取优化算法参数和针对当前设计任务的优化设计算法后生成有向无环图;节点调度系统包括可单独执行的优化设计开始节点、优化设计结束节点和普通组件节点,优化算法参数包括当前设计任务的目标变量、约束变量、设计变量和监控变量;
S14,将有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中;待执行的节点状态设置为等待执行;
S16,运行优化设计开始节点并获取设计变量后传递给普通组件节点;
S18,运行普通组件节点并向优化设计开始节点传递组件运行结果数据;组件运行结果数据包括目标变量、约束变量和监控变量,优化设计开始节点将设计变量、目标变量、约束变量和监控变量打包为一轮优化设计结果;
S20,运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务已完成时,将优化设计结果返回用户端前台进行可视化展示。
可以理解,上述方法可以运行在工程设计任务的节点调度系统中,该系统用于优化设计过程,系统上可以有多个流程任务,基于系统预先设计了三种可单独执行的流程节点:优化设计开始节点、优化设计结束节点和普通组件节点,用于完成对应于当前设计任务的有向无环图的构建。优化算法参数是针对当前设计任务所给定的目标变量、优化边界的约束变量、所需优化的设计变量和优化处理过程的监控变量等。普通组件节点的组件文件可由当前设计任务预先给出,包含了普通组件节点的各可执行文件和数据文件。
具体的,将普通组件节点的组件文件上传到节点调度系统当前的流程任务中,然后在优化设计开始节点中上传选取的优化设计算法文件并设置优化算法参数,如目标变量、约束变量、设计变量和监控变量等。例如下表1所示的组件文件:
表1
确定有向无环图中节点执行顺序与方向,即根据构建的流程图生成有向无环图数据。设置完成后节点调度系统自动生成对应于该当前设计任务的有向无环图数据并以JSON格式(键值对格式)的方式传输到节点调度系统的中心服务器中,这些数据可以包括节点在有向无环图中的横坐标与纵坐标、节点名称、节点类型、所属项目、所属用户、节点版本信息和节点唯一标识等基础信息。
中心服务器将获取的JSON格式有向无环图数据,解析成多个节点对象数据发送给节点调度系统的节点分发服务器,节点分发服务器将节点唯一标识参数分发到节点调度系统的节点执行服务器当中的节点运行算法中,例如中心服务器调用系统提供的解析JSON数据的方法,将前述有向无环图数据解析成对象并存储在系统构建的数据库中。节点分发服务器通过查询该数据库,发现是否存在状态为等待运行的节点,以确定是否将节点分发至节点执行服务器中执行。
当节点执行服务器运行优化设计开始节点时,查询该节点的节点信息,如包括选取的优化设计算法和优化算法参数等。其中,优化设计算法是由用户按照系统提供的接口规范预先自定义的优化算法,可以采用模板方法的模式,如系统定义了优化设计算法的开始方法、结束方法、获取优化参数的方法和返回优化算法结果的方法,用户通过根据当前设计任务的需求根据系统提供的接口规范进行自定义选取来组合实现这些方法,即可作为该优化设计算法的配置选取。如果优化设计开始节点是任务开始后首次运行,那么节点执行服务器会在优化设计开始节点内部以线程的方式将优化设计算法启动,并获取设计变量后传递给普通组件节点;节点执行服务器运行普通组件节点时,也会去查询组件文件的信息,如文件信息可以包括文件名、文件路径、文件大小以及文件类型,根据执行文件类型生成对应的执行命令。节点执行服务器将组件文件拷贝到配置的运行目录中,以脚本的方式运行执行命令。在该普通组件节点执行完毕后,保存运行时产生的组件运行结果数据,并调用系统中的复杂消息传递模块向优化设计开始节点传递组件运行结果数据。
优化设计开始节点会把接收到的设计变量与普通组件节点传递过来的组件运行结果数据(包括运行后输出的目标变量、约束变量和监控变量)进行组合,打包成一组数据,也即一轮优化设计结果,插入到优化设计开始节点中的优化设计结果的二维参数数据中,作为优化设计算法一轮迭代完成的输出数据。节点执行服务器运行优化设计结束节点,以根据多个节点对象数据判断当前迭代轮次运行完成后是否已经完成当前设计任务的处理输出,如果是,那么将当前计算输出的优化设计结果返回用户端前台进行可视化展示。
例如当前设计任务结束,将设计结果存储到系统中的数据库,通知用户端该当前设计任务的优化设计过程结束并将优化设计结果返回用户端前台进行可视化展示,优化设计结果的展示方式可以但不限于是图表展示、视频展示或者两者的结合。
上述基于分布式的优化设计节点调度方法,通过基于在调度过程中的“节点跳转”思想,综合考虑了优化算法与节点之间的执行顺序与数据传递逻辑,在节点调度系统中设计了三种可单独执行的节点:优化设计开始节点、优化设计结束节点和普通组件节点,根据当前设计任务完成节点配置后,系统的中心服务器将生成的有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中,系统的节点执行服务器运行优化设计开始节点并获取设计变量后传递给普通组件节点,在运行普通组件节点时会向优化设计开始节点传递组件运行结果数据,以便优化设计开始节点将当前迭代轮次的数据打包成一组数据插入到优化设计结果数据中,然后运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务是否已完成时,如果已完成,那么可以将所得优化设计结果返回用户端前台进行可视化展示,完成优化设计任务处理。
基于在调度过程中的“节点跳转”思想,实现了优化设计节点与普通组件节点的循环执行,实现优化设计算法循环迭代计算的功能,在线完成优化设计算法计算寻找最优解输出的过程,相比于传统的有向无环流程图调度方法,具有更更高效更优秀的节点运行模式,而且运行过程中使优化设计算法与节点分隔开,使优化设计算法的生命周期转为整个优化过程,而不是节点的生命周期,以此来实现工程设计参数的优化输出,具有更优秀的设计实现能力。
在一个实施例中,可视化展示的数据格式为二维可视化数组,二维可视化数组的表头包括定义的目标变量、约束变量、设计变量、监控变量、是否可行和是否最优等六列数据,二维可视化数组的实体包括目标变量、约束变量、设计变量和监控变量每轮运算的数值。
具体的,优化设计结果的展示方式为图表展示,数据格式为二维可视化数组,包括表头和实体两个部分,表头为用户定义的目标变量、约束变量、设计变量和监控变量的名称,以及用于标识设计结果的是否可行和是否最优两列数据,该两列数据的结果在优化设计开始节点中计算得出。实体部分为目标变量、约束变量、设计变量和监控变量每轮运算具体的数值,从而向用户直观展示该当前设计任务的优化计算输出结果。采用上述方法后,即可完成多次循环迭代的优化设计过程,并基于上述的数据交互逻辑实现数据传递与结果保存,最终得到优化设计结果,高效完成参数优化。
在一个实施例中,采用加权轮询法分发各待执行的节点。可以理解,当节点调度系统中部署了多个节点执行服务器时,系统可以根据负载均衡策略将所需运行的节点信息分发给指定节点。
具体的,在任务执行过程中,节点分发服务器会不断查询数据库,发现存在状态为等待运行的节点时,便根据系统所部署的节点执行服务器的数量采用负载均衡的策略将等待运行的节点信息分发给节点执行服务器,以更高效地完成设计任务优化处理。在设计负载均衡策略时,考虑到服务器使用的机器设备也不完全统一,因此使用的均衡算法是加权轮询法,即将节点执行服务器按照权重进行分配,权重大的节点执行服务器能够承担更多的运行请求,权重低的节点执行服务器则承担较少的运行请求量,从而确保系统始终能够以最大效率和最低资源量完成节点运行任务。
在一个实施例中,运行优化设计开始节点时,若优化设计开始节点为第一次运行,则创建一个新的线程运行优化设计算法并获取设计变量传递给普通组件节点。
可以理解,如图2所示,为当前设计任务在执行过程中的优化参数传递流程图,在不同时间点,优化设计开始节点可能是第一启动运行,在该流程中,节点执行服务器会在优化设计开始节点内部,以一个新的线程的方式将优化设计算法启动,并在一个索引表中记录优化设计开始节点与优化设计算法的对应关系,同时将获取的设计变量传递给普通组件节点,以使普通组件节点获取该设计变量用于覆盖旧的设计变量。
在一个实施例中,运行优化设计开始节点时,若优化设计开始节点为非第一次运行,则获取普通组件节点计算输出的目标变量、约束变量和监控变量传递给优化设计算法;
在完成优化设计算法的一轮迭代后,将一轮优化设计结果放到阻塞队列中。
可以理解,如果优化设计开始节点是第二次及以上的运行次序,那么节点执行服务器会接收普通组件节点传递过来的目标变量、约束变量和监控变量,并将这些变量传递给优化设计算法,以此完成优化计算的过程。在优化设计算法的一轮迭代完成后,会将产生的优化设计结果放到一个阻塞队列中,直到优化设计开始节点取到该轮优化设计结果,结果的形式为设计变量数组。优化设计开始节点把接收到的设计变量与普通组件节点传递过来的目标变量、约束变量和监控变量进行组合,打包成一组数据,插入到优化设计开始节点中的优化设计结果的二维参数数据中,作为该轮迭代的输出结果。
在普通组件节点执行完毕后,保存普通组件节点运行时产生的结果数据,并调用系统的复杂消息传递模块向优化设计开始节点传递该结果数据;具体而言,该结果数据的格式信息包括:数据类型、开始参数所属节点名、开始参数所属文件名、开始参数名称、结束参数所属节点名、结束参数所属文件名和结束参数名称等。优化设计开始节点接收到该结果数据后,便可知道数据的来源是哪个节点的哪个文件的哪个参数,以此从传递的该数据中获取目标变量、约束变量和设计变量。
节点执行服务器在运行普通组件节点时,会将组件文件app.jar、Input.txt、Output.txt、Init_config.xml和Grain_data.txt拷贝到节点执行服务器中,运行生成的脚本命令‘java -jar app.jar’运行组件。运行完成后在Output.txt中提取运行结果,调用复杂消息传递模块传递给优化设计开始节点。
在一个实施例中,运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务未完成时,设置当前设计任务的当前流程状态为运行中并返回运行优化设计开始节点的过程。
可以理解,如图3所示,节点执行服务器在优化设计开始节点打包完该轮次的结果数据后,运行优化设计结束节点,以判断当前设计任务是否完成。若当前设计任务已完成,则设置当前流程的状态为已结束并运行上述步骤20。若当前设计任务为未结束,则说明任务流程还需要继续执行,设置当前流程的状态为运行中并运行上述的步骤S16。通过上述“语句跳转”的思想完成优化设计的循环迭代计算,将设计人员从复杂的手工优化设计算法中解放出来,提高设计生产效率和计算精度。
应该理解的是,虽然上述流程图1至图3中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且上述流程图1至图3的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本发明已经在多种不同的发动机设计中得到了应用,与现有方法相比,本申请上述技术方案的优化设计速度更快,自动化程度高,设计结果性能可靠。
在一个实施例中,如图4所示,提供一种基于分布式的优化设计节点调度系统100,包括流程处理模块11、节点执行模块13、优化算法运行模块15和线程数据通信模块17。其中,流程处理模块11包括中心服务器和节点分发服务器,中心服务器用于对当前设计任务对应的有向无环图数据进行预处理,节点分发服务器用于将需要运行的节点分发给节点执行模块。节点执行模块13部署有节点执行服务器,用于运行节点分发服务器分发过来的节点;优化算法运行模块15用于将针对当前设计任务选择的优化设计算法以线程的方式运行,线程数据通信模块17用于完成不同节点之间的数据通信功能。
上述基于分布式的优化设计节点调度系统100,通过基于在调度过程中的“节点跳转”思想,综合考虑了优化算法与节点之间的执行顺序与数据传递逻辑,在节点调度系统中设计了三种可单独执行的节点:优化设计开始节点、优化设计结束节点和普通组件节点,根据当前设计任务完成节点配置后,系统的中心服务器将生成的有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中,系统的节点执行服务器运行优化设计开始节点并获取设计变量后传递给普通组件节点,在运行普通组件节点时会向优化设计开始节点传递组件运行结果数据,以便优化设计开始节点将当前迭代轮次的数据打包成一组数据插入到优化设计结果数据中,然后运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务是否已完成时,如果已完成,那么可以将所得优化设计结果返回用户端前台进行可视化展示,完成优化设计任务处理。
基于在调度过程中的“节点跳转”思想,实现了优化设计节点与普通组件节点的循环执行,实现优化设计算法循环迭代计算的功能,在线完成优化设计算法计算寻找最优解输出的过程,相比于传统的有向无环流程图调度方法,具有更更高效更优秀的节点运行模式,而且运行过程中使优化设计算法与节点分隔开,使优化设计算法的生命周期转为整个优化过程,而不是节点的生命周期,以此来实现工程设计参数的优化输出,具有更优秀的设计实现能力。
在一个实施例中,节点执行服务器包括多个,节点分发服务器采用加权轮询法分发各待执行的节点到各节点执行服务器。
在一个实施例中,中心服务器还用于将当前设计任务的优化设计结果返回用户端前台进行可视化展示。
关于基于分布式的优化设计节点调度系统100的具体限定,可以参见上文中基于分布式的优化设计节点调度方法的相应限定,在此不再赘述。上述基于分布式的优化设计节点调度系统100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于具备数据处理功能的设备中,也可以软件形式存储于前述设备的存储器中,以便于处理器调用执行以上各个模块对应的操作,前述设备可以是但不限于本领域已有的各型数据计算与处理设备。
在一个实施例中,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如下处理步骤:上传普通组件节点的组件文件到节点调度系统当前的流程任务中,选取优化算法参数和针对当前设计任务的优化设计算法后生成有向无环图;节点调度系统包括可单独执行的优化设计开始节点、优化设计结束节点和普通组件节点,优化算法参数包括当前设计任务的目标变量、约束变量、设计变量和监控变量;将有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中;待执行的节点状态设置为等待执行;运行优化设计开始节点并获取设计变量后传递给普通组件节点;运行普通组件节点并向优化设计开始节点传递组件运行结果数据;组件运行结果数据包括目标变量、约束变量和监控变量,优化设计开始节点将设计变量、目标变量、约束变量和监控变量打包为一轮优化设计结果;运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务已完成时,将优化设计结果返回用户端前台进行可视化展示。
可以理解,上述计算机设备除上述述及的存储器和处理器外,还包括其他本说明书未列出的软硬件组成部分,具体可以根据不同应用场景下的具体计算机设备的型号确定,本说明书不再一一列出详述。
在一个实施例中,处理器执行计算机程序时还可以实现上述基于分布式的优化设计节点调度方法各实施例中增加的步骤或者子步骤。
在一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如下处理步骤:上传普通组件节点的组件文件到节点调度系统当前的流程任务中,选取优化算法参数和针对当前设计任务的优化设计算法后生成有向无环图;节点调度系统包括可单独执行的优化设计开始节点、优化设计结束节点和普通组件节点,优化算法参数包括当前设计任务的目标变量、约束变量、设计变量和监控变量;将有向无环图解析为多个节点对象数据并存储在节点调度系统的数据库中;待执行的节点状态设置为等待执行;运行优化设计开始节点并获取设计变量后传递给普通组件节点;运行普通组件节点并向优化设计开始节点传递组件运行结果数据;组件运行结果数据包括目标变量、约束变量和监控变量,优化设计开始节点将设计变量、目标变量、约束变量和监控变量打包为一轮优化设计结果;运行优化设计结束节点,根据多个节点对象数据确定到当前设计任务已完成时,将优化设计结果返回用户端前台进行可视化展示。
在一个实施例中,计算机程序被处理器执行时,还可以实现上述基于分布式的优化设计节点调度方法各实施例中增加的步骤或者子步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线式动态随机存储器(RambusDRAM,简称RDRAM)以及接口动态随机存储器(DRDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可做出若干变形和改进,都属于本申请保护范围。因此本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于分布式的优化设计节点调度方法,其特征在于,包括步骤:
上传普通组件节点的组件文件到节点调度系统当前的流程任务中,选取优化算法参数和针对当前设计任务的优化设计算法后生成有向无环图;所述节点调度系统包括可单独执行的优化设计开始节点、优化设计结束节点和所述普通组件节点,所述优化算法参数包括当前设计任务的目标变量、约束变量、设计变量和监控变量;
将所述有向无环图解析为多个节点对象数据并存储在所述节点调度系统的数据库中;待执行的节点状态设置为等待执行;
运行所述优化设计开始节点并获取设计变量后传递给所述普通组件节点;
运行所述普通组件节点并向所述优化设计开始节点传递组件运行结果数据;所述组件运行结果数据包括目标变量、约束变量和监控变量,所述优化设计开始节点将所述设计变量、目标变量、约束变量和监控变量打包为一轮优化设计结果;
运行所述优化设计结束节点,根据多个所述节点对象数据确定到所述当前设计任务已完成时,将所述优化设计结果返回用户端前台进行可视化展示;
运行所述优化设计结束节点,根据多个所述节点对象数据确定到所述当前设计任务未完成时,设置所述当前设计任务的当前流程状态为运行中并返回所述运行所述优化设计开始节点的过程。
2.根据权利要求1所述的基于分布式的优化设计节点调度方法,其特征在于,运行所述优化设计开始节点时,若所述优化设计开始节点为第一次运行,则创建一个新的线程运行所述优化设计算法并获取所述设计变量传递给所述普通组件节点。
3.根据权利要求1所述的基于分布式的优化设计节点调度方法,其特征在于,运行所述优化设计开始节点时,若所述优化设计开始节点为非第一次运行,则获取所述普通组件节点计算输出的所述目标变量、约束变量和监控变量传递给所述优化设计算法;
在完成所述优化设计算法的一轮迭代后,将所述一轮优化设计结果放到阻塞队列中。
4.根据权利要求1所述的基于分布式的优化设计节点调度方法,其特征在于,采用加权轮询法分发各所述待执行的节点。
5.根据权利要求1所述的基于分布式的优化设计节点调度方法,其特征在于,所述可视化展示的数据格式为二维可视化数组,所述二维可视化数组的表头包括定义的目标变量、约束变量、设计变量、监控变量、是否可行和是否最优,所述二维可视化数组的实体包括目标变量、约束变量、设计变量和监控变量每轮运算的数值。
6.一种基于分布式的优化设计节点调度系统,应用于权利要求1至5任一项所述的方法,其特征在于,所述系统包括流程处理模块、节点执行模块、优化算法运行模块和线程数据通信模块;
所述流程处理模块包括中心服务器和节点分发服务器,所述中心服务器用于对当前设计任务对应的有向无环图数据进行预处理,所述节点分发服务器用于将需要运行的节点分发给所述节点执行模块;
所述节点执行模块部署有节点执行服务器,用于运行所述节点分发服务器分发过来的节点;所述优化算法运行模块用于将针对所述当前设计任务选择的优化设计算法以线程的方式运行,所述线程数据通信模块用于完成不同节点之间的数据通信功能。
7.根据权利要求6所述的基于分布式的优化设计节点调度系统,其特征在于,所述节点执行服务器包括多个,所述节点分发服务器采用加权轮询法分发各待执行的节点到各所述节点执行服务器。
8.根据权利要求7所述的基于分布式的优化设计节点调度系统,其特征在于,所述中心服务器还用于将所述当前设计任务的优化设计结果返回用户端前台进行可视化展示。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的基于分布式的优化设计节点调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410100293.4A CN117610325B (zh) | 2024-01-24 | 2024-01-24 | 基于分布式的优化设计节点调度方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410100293.4A CN117610325B (zh) | 2024-01-24 | 2024-01-24 | 基于分布式的优化设计节点调度方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117610325A CN117610325A (zh) | 2024-02-27 |
CN117610325B true CN117610325B (zh) | 2024-04-05 |
Family
ID=89946639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410100293.4A Active CN117610325B (zh) | 2024-01-24 | 2024-01-24 | 基于分布式的优化设计节点调度方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117610325B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7647335B1 (en) * | 2005-08-30 | 2010-01-12 | ATA SpA - Advanced Technology Assessment | Computing system and methods for distributed generation and storage of complex relational data |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN110035103A (zh) * | 2018-01-12 | 2019-07-19 | 宁波中科集成电路设计中心有限公司 | 一种节点间数据可传递的分布式调度系统 |
WO2022151668A1 (zh) * | 2021-01-15 | 2022-07-21 | 长鑫存储技术有限公司 | 数据任务调度方法、装置、存储介质及调度工具 |
CN114884830A (zh) * | 2022-07-11 | 2022-08-09 | 成都众享天地网络科技有限公司 | 基于广域网的分布式并行仿真推演系统 |
WO2022227447A1 (zh) * | 2021-04-27 | 2022-11-03 | 上海商汤科技开发有限公司 | 一种任务处理装置、方法、计算机设备及存储介质 |
CN115840631A (zh) * | 2023-01-04 | 2023-03-24 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
CN116302381A (zh) * | 2022-09-08 | 2023-06-23 | 上海数禾信息科技有限公司 | 并行拓扑调度组件及方法、任务调度方法和任务处理方法 |
CN117215738A (zh) * | 2023-08-25 | 2023-12-12 | 中国科学院上海高等研究院 | 一种基于分布式系统的数据密集型计算成像优化系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054934B2 (en) * | 2001-10-26 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Tailorable optimization using model descriptions of services and servers in a computing environment |
US20100030896A1 (en) * | 2008-06-19 | 2010-02-04 | Microsoft Corporation | Estimating latencies for query optimization in distributed stream processing |
CN105162878B (zh) * | 2015-09-24 | 2018-08-31 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
US20180365578A1 (en) * | 2017-06-16 | 2018-12-20 | Fair Ip, Llc | Computer system decision engine |
US10871950B2 (en) * | 2019-05-16 | 2020-12-22 | Microsoft Technology Licensing, Llc | Persistent annotation of syntax graphs for code optimization |
-
2024
- 2024-01-24 CN CN202410100293.4A patent/CN117610325B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7647335B1 (en) * | 2005-08-30 | 2010-01-12 | ATA SpA - Advanced Technology Assessment | Computing system and methods for distributed generation and storage of complex relational data |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN110035103A (zh) * | 2018-01-12 | 2019-07-19 | 宁波中科集成电路设计中心有限公司 | 一种节点间数据可传递的分布式调度系统 |
WO2022151668A1 (zh) * | 2021-01-15 | 2022-07-21 | 长鑫存储技术有限公司 | 数据任务调度方法、装置、存储介质及调度工具 |
WO2022227447A1 (zh) * | 2021-04-27 | 2022-11-03 | 上海商汤科技开发有限公司 | 一种任务处理装置、方法、计算机设备及存储介质 |
CN114884830A (zh) * | 2022-07-11 | 2022-08-09 | 成都众享天地网络科技有限公司 | 基于广域网的分布式并行仿真推演系统 |
CN116302381A (zh) * | 2022-09-08 | 2023-06-23 | 上海数禾信息科技有限公司 | 并行拓扑调度组件及方法、任务调度方法和任务处理方法 |
CN115840631A (zh) * | 2023-01-04 | 2023-03-24 | 中科金瑞(北京)大数据科技有限公司 | 基于raft的高可用分布式任务调度方法和设备 |
CN117215738A (zh) * | 2023-08-25 | 2023-12-12 | 中国科学院上海高等研究院 | 一种基于分布式系统的数据密集型计算成像优化系统 |
Non-Patent Citations (5)
Title |
---|
Computational investigations of the effects of wall surface temperature on a hypersonic inlet isolator;Wang, Donghui et al.;《Thermal Science 》;20231231;1-17 * |
内存计算框架局部数据优先拉取策略;卞琛;于炯;修位蓉;钱育蓉;英昌甜;廖彬;;计算机研究与发展;20170415(04);787-803 * |
基于框架技术的通用虚拟计算平台的实现;张千;梁鸿;石;关新全;;计算机工程与设计;20130816(08);2668-2674 * |
支持MCO的算法组件化设计与调度方法;朱延广;朱一凡;杨峰;;计算机工程;20110105(01);41-44 * |
预训练模型驱动的固体火箭发动机总体优化设计;高经纬,马帅超,彭博,武泽平,张为华;《推进技术》;20240104;1-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN117610325A (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510082B (zh) | 对机器学习模型进行处理的方法及装置 | |
US10453165B1 (en) | Computer vision machine learning model execution service | |
CN113934763B (zh) | 分布式数据库的sql查询方法及装置 | |
US11641312B2 (en) | Consolidating manufacturing intelligence event queue items | |
CN103714137B (zh) | 一种数据文件的删除方法和系统 | |
CN113672500B (zh) | 深度学习算法的测试方法、装置、电子装置和存储介质 | |
CN112905339B (zh) | 任务调度执行方法、装置及系统 | |
CN112631680B (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN112764902B (zh) | 任务调度方法及系统 | |
CN113867600A (zh) | 处理流式数据的开发方法、装置和计算机设备 | |
CN114338738A (zh) | 基于Actor模型的规则引擎及场景联动实现方法 | |
CN113821478A (zh) | 一种基于区块链的大文件存储方法及系统 | |
CN117806654B (zh) | 一种基于Tekton的自定义云原生DevOps流水线系统及方法 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN114661752A (zh) | 分布式数据库的计划调度方法、装置和系统 | |
CN117610325B (zh) | 基于分布式的优化设计节点调度方法、系统和设备 | |
CN116661978B (zh) | 一种分布式的流程处理方法、装置及分布式业务流程引擎 | |
CN117808406A (zh) | 一种飞行器系统的技术状态管理方法、装置、设备及介质 | |
CN112560939A (zh) | 模型验证方法、装置及计算机设备 | |
CN115984022B (zh) | 分布式支付系统统一对账方法和装置 | |
US10496081B2 (en) | Method for fulfilling demands in a plan | |
CN116582407A (zh) | 一种基于深度强化学习的容器化微服务编排系统及方法 | |
CN114116256A (zh) | 变量调用方法、装置、计算机设备和存储介质 | |
US20210357196A1 (en) | Automated Deployment of Analytic Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |