基于云的抗辐射加固协同设计-仿真系统及方法与流程

文档序号:15271227发布日期:2018-08-28 22:27阅读:182来源:国知局

本发明属于计算机技术领域,涉及一种用于抗辐射加固领域的分布式协同设计-仿真系统及方法,可用于电子系统、仪器等在辐射环境中的抗辐射加固设计和风险估计。



背景技术:

对电子系统、仪器等进行抗辐射加固,需要在设计阶段就能够对设计出的机械装置和电路系统进行辐射效应仿真,预测在实际辐射环境中可能出现的问题,从而对设计过程进行指导和修正,并对机械装置和电路系统的抗辐射性能进行评估。

随着设计和仿真技术在抗辐射加固领域的深入,抗辐射加固的设计和仿真软件对仿真系统的性能需求日益增长,将云计算技术引入到抗辐射加固领域势在必行。目前,在其他领域已经提出了基于云的仿真系统,能极大的提高设计、仿真效率和系统资源利用率,比如申请公开号为cn106789339a、名称为“一种基于轻量级虚拟化架构的分布式云仿真方法与系统”的专利申请,公开了一种基于轻量级虚拟化架构的分布式云仿真系统,其整体框架包括云仿真中控平台和多个服务器集群仿真容器模块。基于轻量虚拟化的仿真方案,其仿真资源虚拟化用到了容器,但是由于容器会共用一些公共库,所以基于容器镜像的仿真资源封装可能会暴露一些隐私信息,而且容器支持的操作系统类型有限,如目前还不支持windows操作系统。另外一种常见的云仿真系统是采用基于saas(平台即服务)技术的方案实现,其仿真资源虚拟化中用到了虚拟机,但是基于虚拟机的资源封装体量大、仿真资源复制共享效率低、可重用性也有局限,而且更难以在多中心之间实现快速的部署。故现有云仿真系统的实现方案存在难以兼顾提高对设计仿真工具软件兼容性和仿真资源利用率的问题。

抗辐射加固领域的设计-仿真涉及到机械,物理,热学,力学、电磁学等多个学科,在设计-仿真流程中需要使用多个学科的不同设计/仿真软件,如autocad,orcad,proe,mcnp,ansys,systemvision等,这些软件可以对机械结构,电路系统进行设计和建模,并根据不同的因素(例如辐射剂量,单粒子效应等)对器件或电路进行抗辐射效应的仿真,一个完整的抗辐射加固设计-仿真过程需要使用不同学科的多个软件协同完成。要从真正意义上提高抗辐射加固的设计-仿真效率,就需要能够完整实现抗辐射加固设计-仿真软件的协同工作。目前,国内在抗辐射加固领域还没有一个有效的自动、协同的设计-仿真系统及方法。主要原因是存在以下几个问题需要解决:1、各个设计软件/仿真软件所属的学科和使用的模型不同,需要的输入数据和产生的输出数据也不同,整个协同设计和仿真流程中需要实现不同软件之间的数据转换才能将一个软件的输出用于另一个软件的输入,而目前抗辐射加固领域涉及的部分软件间缺少自动转换工具,还需要人手动进行转换。2、要进行抗辐射加固设计和仿真的协同,需要多个工具软件间协同工作,并且这些工具软件需要严格依照抗辐射加固设计仿真的一般流程按顺序执行,而目前缺少对抗辐射加固涉及的这些工具软件的执行进行严格流程控制的工具。3、保存抗辐射加固设计-仿真相关参数、模型文件和仿真结果的多个数据库数量多、数据库类型差别大,难以整合。而现有其他领域的协同仿真系统无法提供解决上述三个问题的技术。



技术实现要素:

本发明的目的在于克服上述现有技术的不足,提出了一种基于云的抗辐射加固协同设计-仿真系统及方法,旨在提高抗辐射加固仿真的效率。

为实现上述目的,本发明采取的技术方案为:

一种基于云的抗辐射加固协同设计-仿真系统,包括基础平台系统、设计-仿真支撑系统、前端系统和平台统一数据库模块,其中:

所述基础平台系统,用于为设计-仿真支撑系统、前端系统和平台统一数据库模块提供基于云的运行环境;

所述设计-仿真支撑系统,用于对抗辐射加固设计-仿真任务进行分解,并对抗辐射加固设计-仿真流程进行控制,同时对抗辐射加固设计-仿真所需的资源进行调度,对抗辐射加固设计-仿真过程中产生的数据进行格式转换,以辅助对抗辐射加固设计-仿真的协同;

所述前端系统,用于获取抗辐射加固设计-仿真参数和模型文件的输入,显示设计-仿真的状态及结果,同时提供虚拟机及容器管理界面和用户管理界面;

所述平台统一数据库模块,用于存储抗辐射加固设计-仿真所需的模型文件、参数及抗辐射加固设计-仿真输出的结果,并为基础平台系统、设计-仿真支撑系统和前端系统提供统一的数据访问和管理接口。

上述基于云的抗辐射加固协同设计-仿真系统,所述基础平台系统,包括基础云资源、基于云的虚拟机集群和基于云的容器集群,其中:

所述基础云资源,用于提供基于云的虚拟机集群和基于云的容器集群所需要的运行环境。

所述基于云的虚拟机集群,包括多个配备不同运行环境的虚拟机,用于提供对隐私要求高、系统环境要求苛刻的运行环境;

所述基于云的容器集群,由多个轻量化的仿真容器组成,用于提供无特殊要求的轻量级的运行环境。

上述基于云的抗辐射加固协同设计-仿真系统,所述设计-仿真支撑系统,包括基于消息的中间件系统和设计-仿真辅助模块组,其中:

所述基于消息的中间件系统,采用“总线/构件”的架构,实现了各个设计-仿真节点和设计-仿真辅助模块组各个模块间的通信和数据传输,包括消息服务器、消息总线和构件中间件;所述消息服务器,用于接受构件中间件的注册,同时对接收到的来自构件中间件发送的消息进行解析和标记并发送给消息总线;

所述消息总线,用于发布由消息服务器标记处理过的消息到各个构件中间件上;所述的构件中间件,是负责设计-仿真辅助模块组的各模块上接收和发送消息的组件,用于接收消息总线发来与自身路由键匹配的消息,交给所属的功能模块处理;

所述设计-仿真辅助模块组,包括数据转换模块、资源调度模块、任务分解模块、任务调度模块、资源监控模块、任务流程控制模块、模型存储转发模块和日志模块;所述数据转换模块,用于完成一个抗辐射加固设计-仿真软件的输出结果向另一个抗辐射加固设计-仿真软件输入格式的转换;所述资源调度模块,用于提供为设计-仿真任务调度所需的虚拟机或者容器资源以及设计-仿真环境;所述任务分解模块,用于将设计-仿真任务分解成能由单一设计-仿真软件或者设计-仿真辅助模块执行的多个子任务;所述的任务调度模块,包含一个任务调度队列,用于对多个设计-仿真任务进行调度;所述资源监控模块,用于监控资源的使用情况;所述任务流程控制模块,用于控制子任务的执行顺序;所述模型存储转发模块,用于将设计-仿真完成的结果存储到数据库并转发执行所需的模型文件和参数;所述日志模块,用于记录每次任务执行任务产生的日志。

上述基于云的抗辐射加固协同设计-仿真系统,所述平台统一数据库模块,包括数据库中间件和多个异构数据库,其中:

所述数据库中间件,用于提供对多个异构数据库的访问和管理的统一接口;

所述多个异构数据库,包括元器件辐射效应库、电子模型库、模型库、辐射源库、材料库和结果库,用于存储抗辐射加固设计-仿真所需的参数和模型文件,以及抗辐射加固设计-仿真输出的结果。

一种基于云的抗辐射加固协同设计-仿真方法,是通过运行在基础平台系统提供的云环境上的设计-仿真支撑系统、前端系统和平台统一数据库模块实现的,包括如下步骤:

(1)前端系统获取抗辐射加固协同设计-仿真任务:

前端系统获取用户输入的抗辐射加固设计-仿真所需的参数、隐私需求和模型文件,得到抗辐射加固协同设计-仿真任务;

(2)任务分解模块对抗辐射加固协同设计-仿真任务进行分解并发送:

(2a)任务分解模块对抗辐射加固协同设计-仿真任务按类别分解,得到设计、仿真和模型转换三种类型的多个子任务,并通过分解模块的构件中间件将分解结果以消息的形式发送给消息服务器;

(2b)消息服务器对包含分解结果的消息进行解析,并将任务流程控制模块的路由键标记到解析后的消息上,再通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(3)任务流程控制模块对多个子任务进行流程控制并发送:

(3a)任务流程控制模块的构件中间件通过查看收到消息的路由键,判断该消息是否为发给任务流程控制模块的消息,若是,对该消息进行解析,得到多个子任务,否则丢弃该消息;

(3b)任务流程控制模块依照抗辐射加固设计-仿真的顺序对多个子任务进行流程控制,得到多个子任务的执行顺序表,并通过任务流程控制模块的构件中间件将执行顺序表中的首个子任务,以消息的形式发送给消息服务器;

(3c)消息服务器对包含首个子任务的消息进行解析,并将任务调度模块的路由键标记到解析后的消息上,并通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(4)任务调度模块对首个子任务进行任务调度并发送:

(4a)任务调度模块的构件中间件通过查看收到消息的路由键,判断该消息是否为发给任务调度模块的消息,若是,对该消息进行解析,得到首个子任务,否则丢弃该消息;

(4b)任务调度模块将首个子任务加入调度队列,当该首个子任务执行所需的资源空闲时,将该首个子任务设定为可被调度,并将被设定为可调度状态的首个子任务通过任务调度模块的构件中间件,以消息的形式发送给消息服务器;

(4c)消息服务器对包含被设定为可调度状态的首个子任务的消息进行解析,并将资源调度模块的路由键标记到解析后的消息上,通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(5)资源调度模块为首个子任务调度资源:

(5a)资源调度模块的构件中间件通过查看收到消息的路由键,判断该消息是否为发给资源调度模块的消息,若是,对该消息进行解析,得到首个子任务,否则丢弃该消息;

(5b)资源调度模块为对隐私性或操作系统敏感度有要求的首个子任务,从基于云的虚拟机集群中调度资源,为对隐私性或操作系统敏感度无要求的可被调度子任务,从基于云的容器集群中调度资源,且在首个子任务为设计类型子任务时,通过gpu加速模块为首个子任务调度gpu资源,得到首个子任务的资源;

(6)存储转发模块获取首个子任务所需的模型文件和参数:

存储转发模块向平台统一数据库模块发起请求,并将平台统一数据库模块对请求做出的响应作为首个子任务所需的参数和模型文件;

(7)存储转发模块将首个子任务的资源在基础平台上执行首个子任务的执行结果保存到平台统一数据库模块中;

(8)任务流程控制模块判断执行顺序表中的所有子任务是否执行完毕:

任务流程控制模块将执行完成的首个子任务从执行顺序表中移除,并判断执行顺序表是否为空,若是,执行步骤(11),否则,执行步骤(9);

(9)任务流程控制模块对执行顺序表中的移除首个子任务后的其他子任务进行流程控制并发送:

任务流程控制模块对执行顺序表中的移除首个子任务后的其他子任务进行流程控制,得到新的执行顺序表,任务流程控制模块的构件中间件将新的执行顺序表中的首个子任务,以消息的形式发送给消息服务器;

(10)消息服务器对包含首个子任务的消息解析和标记后发送:

消息服务器对包含首个子任务的消息进行解析,并将任务调度模块的路由键标记到解析后的消息上,再通过消息总线将标记后的消息发送至设计-仿真辅助模块组,并执行步骤(4);

(11)前端系统显示从平台统一数据库模块中获取的设计-仿真结果。

本发明与现有技术相比,具有如下优点:

1)本发明的任务流程控制模块,能够严格按照抗辐射加固设计-仿真流程,控制抗辐射加固领域的软件在基于云的虚拟机或容器上顺序执行任务,完成抗辐射加固设计-仿真的各个软件的协同工作,有效的提高了抗辐射加固设计仿真的效率。

2)本发明的gpu加速模块,对设计任务进行加速,进一步的提高了抗辐射加固设计-仿真的速度。

3)本发明的资源调度模块,能够根据任务类别和隐私需求自动的为抗辐射加固设计-仿真任务调度资源,资源包括了基于云的虚拟机和容器两种资源,解决了现有云仿真系统中设计仿真工具软件不兼容和仿真资源利用率低的问题,在保证系统兼容仿真工具软件的同时,提高了仿真资源的利用率。

4)本发明的平台统一数据库模块,为多个异构数据库提供了统一的接口,简化了数据访问部分的开发难度,提高了程序开发的效率,同时覆盖多个类型的数据库,方便了数据库的整合。

附图说明

图1为本发明协同设计-仿真系统的整体结构示意图;

图2为本发明基于消息的中间系统结构图;

图3为本发明平台统一数据库模块结构图;

图4为本发明协同设计-仿真方法的实现流程图。

具体实施方式

以下结合附图和具体实施例,对本发明作进一步详细描述。

参照图1,一种基于云的抗辐射加固协同设计-仿真系统,包括基础平台系统、设计-仿真支撑系统、前端系统和平台统一数据库模块,其中:

所述基础平台系统,用于为设计-仿真支撑系统、前端系统和平台统一数据库模块提供基于云的运行环境,包括基础云资源、基于云的虚拟机集群和基于云的容器集群。其中:

所述基础云资源,用于提供基于云的虚拟机集群和基于云的容器集群所需要的运行环境。

所述基于云的虚拟机集群,包括多个配备不同运行环境的虚拟机,用于提供对隐私要求高、系统环境要求苛刻的运行环境;

所述基于云的容器集群,由多个轻量化的仿真容器组成,用于提供无特殊要求的轻量级的运行环境;

所述设计-仿真支撑系统,包括基于消息的中间件系统和设计-仿真辅助模块组其中:

参照图2,所述基于消息的中间件系统,采用“总线/构件”的架构,实现了各个设计-仿真节点和设计-仿真辅助模块组各个模块间的通信和数据传输,包括消息服务器、消息总线和构件中间件;

所述消息服务器,用于接受构件中间件的注册,同时对接收到的来自构件中间件发送的消息进行解析和标记并发送给消息总线;

所述消息总线,用于发布由消息服务器标记处理过的消息到各个构件中间件上;

所述的构件中间件,是负责设计-仿真辅助模块组的各模块上接收和发送消息的组件,用于接收消息总线发来与自身路由键匹配的消息,交给所属的功能模块处理;

消息服务器和消息总线实现了“总线/构件”架构中的总线部分,构件中间件和其所属的模块实现“总线/构件”架构中的构件部分。消息的传递采用的是“发布-订阅”模式。构件中间件在消息服务器上注册会得到一个唯一的路由键,该路由键作为消息订阅的标志。当一个消息发送到消息服务器时,消息服务器会对消息进行一个简单的解析,了解消息的类别,然后会将消息标记能够处理这条消息的模块的路由键,消息总线的只负责发送标记后的消息,每个构件中间件都会收到该条消息,然后判断消息标记的路由键是否与自己的一致,若一致就接收消息,若不一致,则不接收。

所述设计-仿真辅助模块组,包括数据转换模块、资源调度模块、任务分解模块、任务调度模块、资源监控模块、任务流程控制模块、模型存储转发模块和日志模块。其中:

所述数据转换模块,用于完成一个设计-仿真软件的输出结果向另一个设计-仿真软件输入格式的转换,包括了基于iges标准的mcnp辅助建模模块和“网表”文件解析模块,所述的基于iges标准的mcnp辅助建模模块,用于将pro/e工具输出的三维cad模型,基于iges协议,实现的对模型文件进行转换,快速生成mcnp输入文件,代替手工输入mcnp所需的参数;所述的“网表”文件解析模块,用于将orcad工具输出的网表文件进行解析转换,生成systemvison仿真工具所需的输入。

所述资源调度模块,用于提供设计-仿真任务执行所需的虚拟机或者容器资源以及设计-仿真环境,根据子任务仿真环境需求(如执行子任务的工具软件对操作系统的要求)和用户的隐私需求从容器集群或者虚拟机集群中调度一个空闲的容器或虚拟机,再根据是否为仿真设计类型子任务,选择是否为该子任务调度虚拟gpu资源;

所述任务分解模块,用于将设计-仿真任务分解成能由单一设计-仿真软件或者设计-仿真辅助模块执行的子任务,并将分解后的结果发送给任务流程控制模块;

所述的任务调度模块,包含一个任务调度队列,用于对多个设计-仿真任务进行调度。任务调度模块根据调度队列中任务所需资源的状态对设计-仿真任务选择任务进行调度。

所述资源监控模块,用于监控资源的使用情况,如虚拟机集群中虚拟机资源的使用情况空闲情况,容器集群中,容器资源的使用情况,以及gpu资源的使用情况;

所述任务流程控制模块,用于控制子任务的执行顺序;

所述模型存储转发模块,用于将设计-仿真完成的结果存储到数据库并转发给下一个需要该结果的模块;

所述日志模块,用于记录每次任务执行任务产生的日志,以供用户分析任务的执行情况。

所述前端系统,用于获取抗辐射加固设计-仿真参数和模型文件的输入,显示设计-仿真的状态及结果,同时提供虚拟机及容器管理界面和用户管理界面;

所述平台统一数据库模块,用于存储抗辐射加固设计-仿真所需的模型文件、参数及抗辐射加固设计-仿真输出的结果,并为基础平台系统、设计-仿真支撑系统和前端系统提供统一的数据访问和管理接口。

参照图4所述平台统一数据库模块,包括数据库中间件和多个异构数据库,其中:

所述数据库中间件,用于提供对多个异构数据库的访问和管理的统一接口。数据库中间件按三层架构实现,上层为查询处理层,提供:sql解析功能——统一处理应用提交的请求、sql拦截功能——对解析后的存在异常、错误的语句进行拦截、sql路由功能_根据请求选择合适的数据库;中间层为请求/结果传输层主要负责sql/结果推送功能;下层为混合存储层,该层为一个基于jdbc技术实现的数据库连接池,包含着能够多种类型数据库的驱动程序,负责连接着多个异构的数据库。

所述多个异构数据库,包括元器件辐射效应库、电子模型库、模型库、辐射源库、材料库和结果库,用于存储抗辐射加固设计-仿真所需的参数和模型文件,以及抗辐射加固设计-仿真输出的结果。

参照图4,一种基于云的抗辐射加固协同设计-仿真方法,通过运行在基础平台系统提供的云环境上的设计-仿真支撑系统、前端系统和平台统一数据库模块实现的,包括如下步骤:

(1)前端系统获取抗辐射加固协同设计-仿真任务:

前端系统获取用户输入的抗辐射加固设计-仿真所需的参数、隐私需求和模型文件,得到抗辐射加固协同设计-仿真任务;

(2)任务分解模块对抗辐射加固协同设计-仿真任务进行分解并发送:

(2a)任务分解模块对抗辐射加固协同设计-仿真任务按类别分解,得到设计、仿真和模型转换三种类型的多个子任务,并通过分解模块的构件中间件将分解结果以消息的形式发送给消息服务器;

(2b)消息服务器对包含分解结果的消息进行解析,并将任务流程控制模块的路由键标记到解析后的消息上,再通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(3)任务流程控制模块对多个子任务进行流程控制并发送:

(3a)任务流程控制模块的构件中间件通过查看收到消息的路由键,判断该消息是否为发给任务流程控制模块的消息,若是,对该消息进行解析,得到多个子任务,否则丢弃该消息;

(3b)任务流程控制模块依照抗辐射加固设计-仿真的顺序对多个子任务进行流程控制,得到多个子任务的执行顺序表,并通过任务流程控制的构件中间件将执行顺序表中的首个子任务,以消息的形式发送给消息服务器。

(3c)消息服务器对包含首个子任务的消息进行解析,并将任务调度模块的路由键标记到解析后的消息上,并通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(4)任务调度模块对首个子任务进行任务调度并发送:

(4a)任务调度模块的构件中间件通过查看收到消息的路由键,判断该消息是否为发给任务调度模块的消息,若是,对该消息进行解析,得到首个子任务,否则丢弃该消息;

(4b)任务调度模块将首个子任务加入调度队列,当该首个子任务执行所需的资源空闲时,将该首个子任务设定为可被调度,并将被设定为可调度状态的首个子任务通过任务调度模块的构件中间件,以消息的形式发送给消息服务器;

(4c)消息服务器对包含被设定为可调度状态的首个子任务的消息进行解析,并将资源调度模块的路由键标记到解析后的消息上,通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(5)资源调度模块为可被调度子任务调度执行所需的资源:

(5a)资源调度模块的构件中间件通过查看收到消息的路由键,判断该消息是否为发给资源调度模块的消息,若是,对该消息进行解析,得到首个子任务,否则丢弃该消息;

(5b)资源调度模块为对隐私性或操作系统敏感度有要求的首个子任务,从基于云的虚拟机集群中调度资源,为对隐私性或操作系统敏感度无要求的可被调度子任务,从基于云的容器集群中调度资源,且在可被调度子任务为设计类型子任务时,通过gpu加速模块为可被调度子任务调度gpu资源,得到执行首个子任务的资源;

(6)存储转发模块获取首个子任务所需的模型文件和参数:

存储转发模块向平台统一数据库模块发起请求,并将平台统一数据库模块对请求做出的响应作为首个子任务所需的参数和模型文件;

(7)执行首个子任务的资源在基础平台上执行首个子任务并通过存储转发模块将执行结果保存:

执行首个子任务的资源在基础平台上执行首个子任务,执行完成后,通过存储转发模块将执行结果存入平台统一数据库模块中;

(8)任务流程控制模块判断执行顺序表中的所有子任务是否执行完毕:

任务流程控制模块将执行完成的子任务从执行顺序表中移除,并判断执行顺序表是否为空,若执行顺序表为空,执行步骤(10),若执行顺序表不为空,执行步骤(9);

(9)任务流程控制模块对顺序表中的多个子任务进行流程控制并发送:

(9a)通过任务流程控制的构件中间件将执行顺序表中的首个子任务,以消息的形式发送给消息服务器;

(9b)消息服务器对包含首个子任务的消息进行解析,并将任务调度模块的路由键标记到解析后的消息上,并通过消息总线将标记后的消息发送至设计-仿真辅助模块组;

(9c)执行步骤(4)至步骤(8);

(10)前端系统的设计-仿真任务管理模块,显示从平台统一数据库模块中获取设计-仿真结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1