掌桥专利:专业的专利平台
掌桥专利
首页

一种异构系统多学科软件动态集成方法

文献发布时间:2024-01-17 01:21:27


一种异构系统多学科软件动态集成方法

技术领域

本申请涉及一种异构系统多学科软件动态集成方法,属于CAE软件集成技术领域。

背景技术

在大型CAE软件集成过程中,会遇到多种不同软件的联合使用,涉及到众多不同学科的CAE软件(自研的、商业的、开源的等),在仿真过程中不同软件之间需要交换数据,同时遵循一定的仿真顺序。其中不同的软件可能涉及到多种不同的平台,环境。即不同的CAE软件在开发环境(开发语言、平台)、运行环境(操作系统、依赖的运行库、依赖软件等)均存在较大差异。

目前在CAE软件集成过程中一般采用的技术是通过人机交互的方式链接,靠用户自行手动链接多个软件,从不同软件间获得的输入输出数据流就行手动串联,这种手动方式重复工作较多,效率较低,误差大、且影响用户体验。

发明内容

本申请的目的在于提供一种异构系统多学科软件动态集成方法,解决在CAE软件集成过程中不同软件的集成问题,在强异构特性环境下满足不同软件之间的数据交互和协同运行。

为实现上述目的,本申请第一方面提供了一种异构系统多学科软件动态集成方法,包括:

根据待求解数据获取仿真任务,其中,所述仿真任务包括求解时所需调用的各仿真软件,以及所述各仿真软件的输入参数和启动顺序;

构建动态集成系统,所述动态集成系统包括:主控端程序、服务器端程序和客户端程序;

基于所述仿真任务,通过所述主控端程序封装若干分别与各仿真软件对应的组件,根据各组件搭建可编辑的跨软件耦合流程;

通过所述主控端程序运行所述跨软件耦合流程,并向所述服务器端程序下发仿真任务,所述服务器端程序将所述仿真任务下发至所述客户端程序;

通过所述客户端程序驱动相应仿真软件运行以对所述待求解数据进行求解,并得到相应仿真软件的运行状态和求解数据,将所述求解数据存储至预设路径,同时将所述运行状态和所述预设路径实时同步至所述服务器端程序;

通过所述服务器端程序将所述运行状态和所述预设路径实时同步至所述主控端程序,通过所述主控端程序对求解过程进行监控。

在一种实施方式中,所述动态集成系统还包括:主控节点、硬盘存储节点、数据管理节点和部署软件节点;

其中,所述主控节点用于运行所述主控端程序;

所述硬盘存储节点用于存储运行所述动态集成系统时所产生的所有数据;

所述数据管理节点用于通过运行数据管理软件对所述硬盘存储节点的所有数据进行管理;

所述部署软件节点用于为所述动态集成系统提供运行环境。

在一种实施方式中,所述主控端程序用于基于所述主控节点以图形交互界面的形式执行封装若干分别与各仿真软件对应的组件的步骤和对求解过程进行监控的步骤;

所述服务器端程序用于分别与所述主控端程序和所述客户端程序通信连接,同时基于所述数据管理节点对所述硬盘存储节点中的所有数据进行传输和管理;

所述客户端程序用于与各仿真软件直接对接以根据所述仿真任务驱动相应仿真软件运行。

在一种实施方式中,所述通过所述主控端程序封装若干分别与各仿真软件对应的组件包括:

所述主控端程序通过所述服务器端程序获取各仿真软件在硬盘存储节点中的存储路径,并通过所述图形交互界面分别对所述各仿真软件进行软件注册,其中,所述各仿真软件包括前处理软件、求解软件和后处理软件;

分别封装与所述前处理软件、所述求解软件和所述后处理软件对应的前处理组件、求解组件和后处理组件,并通过所述服务器端程序将封装过程中产生的数据存储至所述硬盘存储节点。

在一种实施方式中,所述根据各组件搭建可编辑的跨软件耦合流程包括:

通过所述图形交互界面以拖拽形式将所述前处理组件、求解组件和后处理组件搭建为所述跨软件耦合流程,并分别对所述前处理组件、求解组件和后处理组件的组件端口和数据连接关系进行配置。

在一种实施方式中,所述通过所述主控端程序运行所述跨软件耦合流程包括:

所述主控端程序通过所述服务器端程序获取待求解数据在硬盘存储节点中的存储路径;

初始化所述跨软件耦合流程,对所述跨软件耦合流程的耦合参数进行配置;

根据所述待求解数据运行所述跨软件耦合流程。

在一种实施方式中,所述通过所述主控端程序运行所述跨软件耦合流程之后还包括:

通过所述服务器端程序将所述跨软件耦合流程存储至所述硬盘存储节点,以实现对所述跨软件耦合流程进行重复编辑或调用。

在一种实施方式中,所述通过所述客户端程序驱动相应仿真软件运行以对所述待求解数据进行求解包括:

根据所述跨软件耦合流程,通过所述客户端程序驱动前处理软件对所述待求解数据进行前处理操作;

通过所述客户端程序驱动求解软件对进行前处理操作后的待求解数据进行耦合计算并得到计算结果;

通过所述客户端程序驱动后处理软件,并通过执行后处理脚本对所述计算结果进行后处理操作。

本申请第二方面提供了一种电子设备,包括:存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述第一方面或者上述第一方面的任一实施方式中的步骤。

本申请第三方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述第一方面或者上述第一方面的任一实施方式中的步骤。

由上可见,本申请提供了一种异构系统多学科软件动态集成方法,构建了一种动态集成系统,该系统以集成方式将所有仿真任务所需的仿真软件变成组件,即可通过系统自动对各仿真软件进行调用,且通过用户进行自定义集成,可以根据实际应用情况集成对应的仿真软件,使得动态集成方法的适用性更强。同时,通过组件搭建跨软件耦合流程,通过跨软件耦合流程运行相应仿真软件以对所述待求解数据进行求解,降低了用户手动操作的复杂程度,提高了CAE仿真的效率,降低了仿真过程中可能出现的误差。能够适用不同仿真软件的集成使用。此外,搭建的跨软件耦合流程可进行多次编辑使用,有效的降低了用户手动操作频率,提高了CAE仿真的效率及数据的准确度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种异构系统多学科软件动态集成方法的流程示意图;

图2为本申请实施例提供的一种E3核心机全三维气功耦合仿真的操作流程示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例的限制。

实施例一

本申请实施例提供了一种异构系统多学科软件动态集成方法,如图1所示,该方法包括:

S11根据待求解数据获取仿真任务,其中,所述仿真任务包括求解时所需调用的各仿真软件,以及所述各仿真软件的输入参数和启动顺序;

S12构建动态集成系统,所述动态集成系统包括:主控端程序、服务器端程序和客户端程序;

S13基于所述仿真任务,通过所述主控端程序封装若干分别与各仿真软件对应的组件,根据各组件搭建可编辑的跨软件耦合流程;

S14通过所述主控端程序运行所述跨软件耦合流程,并向所述服务器端程序下发仿真任务,所述服务器端程序将所述仿真任务下发至所述客户端程序;

S15通过所述客户端程序驱动相应仿真软件运行以对所述待求解数据进行求解,并得到相应仿真软件的运行状态和求解数据,将所述求解数据存储至预设路径,同时将所述运行状态和所述预设路径实时同步至所述服务器端程序;

S16通过所述服务器端程序将所述运行状态和所述预设路径实时同步至所述主控端程序,通过所述主控端程序对求解过程进行监控。

在一种实施方案中,主控端程序是整个动态集成系统的全局界面,根据待求解数据获取仿真任务后,主控端程序根据仿真任务搭建跨软件耦合流程,对仿真的输入参数进行配置、通过选择所需的计算模块(即仿真软件)和数据处理要求等。根据仿真任务运行跨软件耦合流程,同时将仿真任务下达到服务器端程序,该服务器端程序会按照各计算模块的计算顺序将仿真任务下达到客户端程序,客户端程序驱动相应仿真软件运行,同时将运行状态同步到服务器端程序,对仿真数据进行存储,同时将存储的文件路径名称等返回到服务器端程序。其中,各仿真软件之间如果需要交换数据,需要服务器端程序通过数据传递告知对应数据的文件路径和名称。主控端程序实时从服务器端程序获取各仿真软件的运行状态,求解完成后,主控端程序可以依据服务器端程序上反馈的求解结果文件位置,开展对应的数据后处理可视化工作。

可选的,所述动态集成系统还包括:主控节点、硬盘存储节点、数据管理节点和部署软件节点四种节点;

其中,所述主控节点用于运行所述主控端程序,是整个系统的控制中心;

所述硬盘存储节点用于存储运行所述动态集成系统时所产生的所有数据,包括结构化数据库数据和非结构化各种文件数据,采用nfs或smb挂载各个节点磁盘;

所述数据管理节点用于通过运行数据管理软件对所述硬盘存储节点的所有数据进行管理,也可结合数据库系统或数据管理系统对数据进行管理;

所述部署软件节点用于为所述动态集成系统提供运行环境,由于动态集成系统系统的安装依赖操作系统及运行环境,因此本申请实施例中的动态集成系统包括Win7、Win10、Win11等Windows版本,以及CenOS、Redhat、Ubuntu等Linux系统。

在一种实施方案中,所有节点产生的数据均存储在磁盘阵列上,映射到各个节点,可直接类似操作本地文件形式来进行读写。整个动态集成系统中的数据管理由服务器端程序统一控制和管理。

可选的,所述主控端程序用于基于所述主控节点以图形交互界面的形式下发指令,如执行封装若干分别与各仿真软件对应的组件的步骤和对求解过程进行监控的步骤、运行监控、系统配置、数据管理等,负责与服务器端程序进行连接,可采用C/S架构;

所述服务器端程序是整个动态集成系统运行的集控中心,包括各个软件客户(仿真软件)的数据管理,程序驱动,数据驱动引擎等的消息信号的传输,用于分别与所述主控端程序和所述客户端程序通信连接,同时基于所述数据管理节点对所述硬盘存储节点中的所有数据进行传输和管理。

所述客户端程序是与仿真软件直接对接的常驻程序,与服务器端程序一直保持联系,监控运行软件的状态,并接收服务器端程序的指令,用于与各仿真软件直接对接以根据所述仿真任务驱动相应仿真软件运行。

在一种实施方案中,所有节点之间的消息,由服务器端程序统一通知,时刻与服务器端程序进行互联。服务器端程序负责网络中所有节点的消息管理,采用消息引擎实现异步消息分布式管理,极端情况下,主控端程序与服务器端程序可以是一个节点。

可选的,所述通过所述主控端程序封装若干分别与各仿真软件对应的组件包括:

所述主控端程序通过所述服务器端程序获取各仿真软件在硬盘存储节点中的存储路径,并通过所述图形交互界面分别对所述各仿真软件进行软件注册,其中,所述各仿真软件包括前处理软件、求解软件和后处理软件;

分别封装与所述前处理软件、所述求解软件和所述后处理软件对应的前处理组件、求解组件和后处理组件,并通过所述服务器端程序将封装过程中产生的数据存储至所述硬盘存储节点。

可选的,所述根据各组件搭建可编辑的跨软件耦合流程包括:

通过所述图形交互界面以拖拽形式将所述前处理组件、求解组件和后处理组件搭建为所述跨软件耦合流程,并分别对所述前处理组件、求解组件和后处理组件的组件端口和数据连接关系进行配置。通过拖拽形式进行操作,便于用户进行跨软件耦合流程的搭建。

可选的,所述通过所述主控端程序运行所述跨软件耦合流程包括:

所述主控端程序通过所述服务器端程序获取待求解数据在硬盘存储节点中的存储路径;

初始化所述跨软件耦合流程,对所述跨软件耦合流程的耦合参数进行配置;

根据所述待求解数据运行所述跨软件耦合流程。

可选的,所述通过所述主控端程序运行所述跨软件耦合流程之后还包括:

通过所述服务器端程序将所述跨软件耦合流程存储至所述硬盘存储节点,以实现对所述跨软件耦合流程进行重复编辑或调用,保证了流程的可编辑、可复用。

可选的,所述通过所述客户端程序驱动相应仿真软件运行以对所述待求解数据进行求解包括:

根据所述跨软件耦合流程,通过所述客户端程序驱动前处理软件对所述待求解数据进行前处理操作;

通过所述客户端程序驱动求解软件对进行前处理操作后的待求解数据进行耦合计算并得到计算结果;

通过所述客户端程序驱动后处理软件,并通过执行后处理脚本对所述计算结果进行后处理操作。

在一种应用场景中,如图2所示,以E3核心机全三维气功耦合仿真为例,采用所述异构系统多学科软件动态集成方法时,用户可在所述主控端程序通过图形交互界面执行如下操作:

1.软件注册:分别对Fluent软件、Mpcci软件和CFDpost软件进行注册,并在注册时设置输入参数;

2.新建组件:分别封装Fluent组件、Mpcci组件和CFDpost组件,并在封装时设置输入参数;

3.流程搭建:将Fluent组件、Mpcci组件和CFDpost组件拖拽至流程搭建区域,并分别针对各组件配置组件端口,通过组件端口将各组件通过连线方式进行连接,使得各组件建立数据联系,进而得到跨部件耦合流程;

4.参数配置:针对各组件分别设置对应的工作流节点名称,以便对各组件的作用进行区分,同时针对各组件配置参数模板;

5.组件驱动:设置组件驱动参数,并填入待求解数据的文件路径,然后配置组件端口的输入输出参数,实现参数映射;

6.耦合计算:初始化跨部件耦合流程,设置与耦合相关的参数后启动耦合计算,所述主控端程序按流程顺序自动运行求解软件并对软件运行状态进行监控;

7.后处理:耦合计算完成后,所述主控端程序按流程顺序自动运行后处理软件以得到仿真结果,执行后处理脚本的同时对软件运行状态进行监控。

由上可见,本申请实施例提供了一种异构系统多学科软件动态集成方法,构建了一种动态集成系统,该系统以集成方式将所有仿真任务所需的仿真软件变成组件,即可通过系统自动对各仿真软件进行调用,且通过用户进行自定义集成,可以根据实际应用情况集成对应的仿真软件,使得动态集成方法的适用性更强。同时,通过组件搭建跨软件耦合流程,通过跨软件耦合流程运行相应仿真软件以对所述待求解数据进行求解,降低了用户手动操作的复杂程度,提高了CAE仿真的效率,降低了仿真过程中可能出现的误差。能够适用不同仿真软件的集成使用。此外,搭建的跨软件耦合流程可进行多次编辑使用,有效的降低了用户手动操作频率,提高了CAE仿真的效率及数据的准确度。

实施例二

本申请实施例提供了一种电子设备,该电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,其中,存储器用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器和处理器通过总线连接。具体地,处理器通过运行存储在存储器的上述计算机程序时实现上述实施例一中的任一步骤。

应当理解,在本申请实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器、快闪存储器和随机存储器,并向处理器提供指令和数据。存储器的一部分或全部还可以包括非易失性随机存取存储器。

由上可见,本申请实施例提供的一种电子设备,通过运行计算机程序实现如实施例一所述的方法,支持用户进行自定义集成,可以根据实际应用情况集成对应的仿真软件,降低了用户手动操作的复杂程度和操作频率,提高了CAE仿真的效率和准确度。

应当理解,上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于以计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,上述实施例所提供的方法及其细节举例可结合至实施例提供的装置和设备中,相互参照,不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种基于软件定义的工业异构网络集成配置系统和方法
  • 一种基于OpenAPI的异构软件集成系统及方法
技术分类

06120116155525