CN106897107B - 一种web远程数据计算与仿真的实现***和方法 - Google Patents
一种web远程数据计算与仿真的实现***和方法 Download PDFInfo
- Publication number
- CN106897107B CN106897107B CN201710036833.7A CN201710036833A CN106897107B CN 106897107 B CN106897107 B CN 106897107B CN 201710036833 A CN201710036833 A CN 201710036833A CN 106897107 B CN106897107 B CN 106897107B
- Authority
- CN
- China
- Prior art keywords
- matlab
- simulation
- model
- program
- data calculation
- 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
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种web远程数据计算与仿真的实现***和方法,包括服务器和客户端,服务器中安装有web服务器和Matlab应用程序;客户端通过web页面与web服务器通信;服务器中包括用户模型及参数数据库,用于保存用户通过客户端所提交的Matlab模型、Matlab模型参数、数据文件以及数据计算与仿真结果;web服务器中包括web服务引擎模块、动态网页生成器、程序与Matlab交互模块、作业路由管理模块和用户工作空间;本发明借助Matlab应用程序强大计算与图形展示功能,结合web页面交互操作,能够快速开发和建立具体对象的计算应用,提高了远程数据计算与仿真的工作效率,减轻服务器负载,缩短响应时间。
Description
技术领域
本发明涉及计算机远程计算与数值模拟网络化服务及应用领域,特别涉及一种web远程数据计算与仿真的实现***和方法。
背景技术
Matlab应用程序是MathWorks公司出品的商业数学软件,提供用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,是数据计算和计算机模拟中最为流行的软件。
为了能充分利用Matlab数据分析与数值计算功能,实现软件共享,Matlab提供了Matlab Web SERVER工具包,在Matlab 7.0版本之前基于Matlab的Web远程应用都是采用该类工具包实现的。这种方式通过CGI方式工作,当Web服务器接收到一个关联到CGI程序的计算服务请求时,就会创建一个完整的新进程,服务器运行效率比较低,同时,在服务端输出计算结果前需要与客户端保持连接,否则,客户端不能接收到仿真结果,使用不方便。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种web远程数据计算与仿真的实现***,通过该***构建一类B/S结构的Matlab服务平台,能够快速开发和建立具体对象的计算应用,提高了远程数据计算与仿真的工作效率,减轻服务器的负载,缩短响应时间。
本发明的第二目的在于提供一种通过上述***实现的一种web远程数据计算与仿真的实现方法。
本发明的第三目的在于提供一种通过第一目的***实现的一种web远程数据计算与仿真的实现方法。
本发明的第一目的通过下述技术方案实现:
一种web远程数据计算与仿真的实现***,包括服务器和客户端,所述服务器中安装有web服务器和Matlab应用程序;所述客户端通过web页面与web服务器建立通信;所述服务器中包括用户模型及参数数据库,其中所述用户模型及参数数据库,用于保存用户通过客户端所提交的Matlab模型、Matlab模型参数、需要计算与仿真的数据文件以及数据计算与仿真结果;
所述web服务器中包括web服务引擎模块、动态网页生成器、程序与Matlab交互模块、作业路由管理模块和用户工作空间;其中
web服务引擎模块,用于接收用户通过客户端输入的Matlab模型的源文件、Matlab模型参数以及需要计算与仿真的数据文件,并且通过web页面向客户端输出数据计算与仿真结果;
动态网页生成器,用于生成供用户输入Matlab模型的源文件的web页面;用于根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型计算与仿真运行web页面,通过该web页面供用户通过客户端输入Matlab模型参数以及需要计算与仿真的数据文件;用于生成供数据计算与仿真结果展示的web页面;
程序与Matlab交互模块,用于建立web服务与Matlab应用程序通信的桥梁,使两者数据类型相匹配;用于调用Matlab模型对应的运行程序包;用于将数据计算与仿真结果输出至web页面;
作业路由管理模块,在Matlab模型建立阶段,用于调用Matlab服务组件模块提供的程序包编译组件,以通过Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包;在数据计算与仿真处理阶段,用于调用程序与Matlab交互模块,以通过程序与Matlab交互模块调用Matlab模型对应的运行程序包;
用户工作空间,用于对各用户账号的各项属性、Matlab模型的源文件和Matlab模型参数进行管理;用于管理数据计算与仿真结果;用于绑定Matlab模型计算与仿真运行web页面;用于绑定数据计算与仿真结果输出web页面;
所述Matlab应用程序中包括Matlab服务组件模块,所述Matlab服务组件模块通过程序包编译组件建立Matlab模型的运行程序包,进而由运行程序包调用Matlab服务组件模块建立计算与仿真处理线程,获取到数据计算与仿真结果。
优选的,所述程序与Matlab交互模块为Java程序与Matlab交互模块,Matlab服务组件模块通过Java程序包编译组件建立Matlab模型的Java运行程序包。
优选的,
所述用户工作空间中对各用户账号的各项属性管理包括用户账号的注册、删除和修改以及用户账号访问web页面的权限修改和删除;
所述用户工作空间中对Matlab模型源文件的管理包括对于用户提交的Matlab模型源文件的增加、修改、查询和删除;
所述用户工作空间对Matlab模型参数的管理包括Matlab模型参数的增加、修改、查询和删除。
本发明的第二目的通过下述技术方案实现:一种基于第一目的***实现的web远程数据计算与仿真的实现方法,包括Matlab模型建模阶段和数据计算与仿真处理阶段;
其中Matlab模型建模阶段步骤为:
S1、web服务器通过web页面采集用户通过客户端提供的Matlab模型的源文件,保存在用户模型及参数数据库中,并由作业路由管理模块调用Matlab服务组件模块提供的程序包编译组件,通过Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包;然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型数据计算与仿真运行web页面,并且将该web页面绑定到对应的用户工作空间;
其中数据计算与仿真处理阶段步骤为:
S2、web服务器通过Matlab模型计算与仿真运行web页面获取Matlab模型参数以及需要计算与仿真的数据文件,并且保存在用户模型及参数数据库中,并由作业路由管理模块调用程序与Matlab交互模块,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,得到数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,并将该web页面绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
优选的,所述步骤S1中,web服务器通过web页面采集用户通过web客户端输入的Matlab模型的源文件后,通过以下方式获取到Matlab模型的运行程序包:
S11、首先调用Matlab服务组件模块,采用程序脚本解析方式检查Matlab模型的源文件是否存在语法或基本逻辑错误,返回检查结果;
S12、根据程序与Matlab交互模块的交互接口函数的规范和规则匹配方法,并且调用Matlab服务组件模块,使用样本参数测试Matlab模型的源程序,检查Matlab模型参数格式与数据类型是否正确,返回检查结果;
S13、若步骤S11和步骤S12返回的测试结果均正确,则由作业路由管理模块调用Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型计算与仿真运行web页面,并且绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
更进一步的,所述步骤S2的具体步骤如下:
S21、web服务器通获取到Matlab模型参数和需要计算与仿真的数据文件后,首先解析Matlab模型参数,根据对应的Matlab模型规则对Matlab模型参数进行检查,若Matlab模型参数非法,则取消本次计数据计算和仿真服务,并将Matlab模型参数非法信息以web页面的形式进行反馈;若Matlab模型参数为合法的,则将Matlab模型参数和需要计算与仿真的数据文件保存在用户模型及参数数据库中,并且进入步骤S22;
S22、作业路由管理模块分析需要计算与仿真的数据文件,并将其封装为一个作业单元,添加到作业队列中;在作业队列不为空时,将队首作业单元从作业队列中移出,并且根据此作业单元和路由规则选取相应的程序与Matlab交互模块;web服务器通过程序与Matlab交互模块调用Matlab模型对应的运行程序包,进而通过运行程序包调用Matlab服务组件模块建立数据计算与仿真处理线程,由数据计算与仿真处理线程得出数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
更进一步的,所述步骤S2中还包括以下步骤:
S23、web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,具体如下:
判断数据计算与仿真处理过程是否超过一定时间X;
若是,则将数据计算与仿真结果以邮件的方式发送至用户账号所绑定的邮箱;
若否,则web服务器采用AJAX(Asynchronous JavaScript and XML)异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面。
优选的,所述X为30秒。
本发明的第三目的通过下述技术方案实现:一种基于第一目的所述***实现的web远程数据计算与仿真的实现方法,包括Matlab模型建模阶段和数据计算与仿真处理阶段;
其中Matlab模型建模阶段步骤为:
S1、web服务器通过web页面采集用户在客户端Matlab环境下编写的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型数据计算与仿真运行web页面,并且绑定到对应的用户工作空间;
其中数据计算与仿真处理阶段步骤为:
S2、web服务器通过Matlab模型计算与仿真运行web页面获取Matlab模型参数以及需要计算与仿真的数据文件,并且保存在用户模型及参数数据库中,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
优选的,所述步骤S2的具体步骤如下:
S21、web服务器通获取到Matlab模型参数和需要计算与仿真的数据文件后,首先解析参数,根据对应的Matlab模型规则对参数进行检查,若参数非法,则取消本次计数据计算和仿真服务,并将参数非法信息以web页面的形式进行反馈;若参数为合法的,则将Matlab模型参数和需要计算与仿真的数据文件保存在用户模型及参数数据库中,并且进入步骤S22;
S22、作业路由管理模块分析需要计算与仿真的数据文件,并将其封装为一个作业单元,添加到作业队列中;在作业队列不为空时,将队首作业单元从作业队列中移出,并且根据此作业单元和路由规则调用相应的程序与Matlab交互模块;web服务器通过程序与Matlab交互模块调用Matlab模型对应的运行程序包,进而通过运行程序包调用Matlab服务组件模块建立数据计算与仿真处理线程,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中;
S23、web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,具体如下:
判断数据计算与仿真处理过程是否超过一定时间X;
若是,则将数据计算与仿真结果以邮件的方式发送至用户账号所绑定的邮箱;
若否,则web服务器采用AJAX异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明在服务器中安装有web服务器和Matlab应用程序;客户端通过web页面与web服务器建立通信,构建了一类B/S结构的Matlab服务平台;其中包括Matlab建模阶段和数据处理和模拟仿真阶段;首先用户通过在客户端显示的web页面输入Matlab模型的源文件,并且由安装在服务器中的Matlab应用程序的Matlab服务组件模块根据Matlab模型的源文件建立Matlab模型的运行程序包,例如java运行程序包(此时Matlab服务组件模块即为Matlab Builder for Java),以供web服务器进行调用,并且自动生成面向用户的Matlab模型计算与仿真运行web页面,并且绑定至用户工作空间。在用户需要进行数据计算与仿真时,通过Matlab模型计算与仿真运行web页面输入Matlab模型参数以及需要计算与仿真的数据文件,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,并且将web页面绑定至用户工作空间。可见,本发明中,当用户向web服务器发送需要计算与仿真的数据文件时,即web服务器接收到数据计算与仿真处理请求时,web服务器就开始一个线程处理请求,效率相比享有计算中的CGI方式有了显著提升,这种方式可以减轻服务器的负载,缩短响应时间。本发明借助于Matlab应用程序强大的计算与图形展示功能,结合web页面的交互操作,可以将用户提交的复杂数值计算及图形处理等服务请求交由服务器中的Matlab应用程序来完成,可以使用webfigure标签技术在web页面中调用Matlab生成的图像,为解决Matlab建模、数据处理和模拟仿真问题提供一个便捷的环境。
(2)本发明中用户可以先建立Matlab模型,然后在数据处理和模拟仿真时进行调用,因此本发明支持用户分步操作,不必在每台电脑上安装Matalb软件,用户只需采用客户端的浏览器即可完成建模、模型运行和数据处理和模拟仿真结果查看的一站式处理,不受时间和空间的影响。
(3)本发明中,web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,当数据计算与仿真处理过程未超过一定时间X时,则web服务器采用AJAX异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面,使得用户可以及时查看到数据计算与仿真结果。
(4)本发明中,用户也可以在安装有Matlab应用程序的客户端使用高级矩阵语言和内嵌在Matlab中的数学、图形和数据分析工具快速建立求解问题的模型和测试算法的原型,在验证算法完全正确后,采用Matlab服务组件模块建立该类模型的运行程序包,并将相应的m/simulink源程序绑定到该程序包,上传到服务器后。这样操作用户可以直接检查源程序的正确性,有效避免Matlab运行时的错误。
附图说明
图1是本发明***结构框图。
图2是本发明方法数据处理和模拟仿真时的流程图。
图3是本发明方法中在客户端生成运行程序包的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例公开了一种web远程数据计算与仿真的实现***,如图1所示,包括服务器和客户端,所述服务器中安装有web服务器和Matlab应用程序;所述客户端通过web页面与web服务器建立通信;所述服务器中包括用户模型及参数数据库,其中所述用户模型及参数数据库,用保存用户通过客户端所提交的Matlab模型、Matlab模型参数、需要计算与仿真的数据文件以及数据计算与仿真结果;
所述web服务器中包括web服务引擎模块、动态网页生成器、程序与Matlab交互模块、作业路由管理模块和用户工作空间;其中
web服务引擎模块,用于接收用户通过客户端输入的Matlab模型的源文件、Matlab模型参数以及需要计算与仿真的数据文件,并且通过web页面向客户端输出数据计算与仿真结果;
动态网页生成器,用于生成供用户输入Matlab模型的源文件的web页面;用于根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型计算与仿真运行web页面,通过该web页面供用户通过客户端输入Matlab模型参数以及需要计算与仿真的数据文件;用于生成供数据计算与仿真结果展示的web页面;
程序与Matlab交互模块,用于建立web服务与Matlab应用程序通信的桥梁,使两者数据类型相匹配;;用于调用Matlab模型对应的运行程序包;用于将数据计算与仿真结果输出至web页面;
作业路由管理模块,在Matlab模型建立阶段,用于调用Matlab服务组件模块提供的程序包编译组件,以通过Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包;在数据计算与仿真处理阶段,用于调用程序与Matlab交互模块,以通过程序与Matlab交互模块调用Matlab模型对应的运行程序包;
用户工作空间,用于对各用户账号的各项属性、Matlab模型的源文件和Matlab模型参数进行管理;用于管理数据计算与仿真结果;用于绑定Matlab模型计算与仿真运行web页面;用于绑定数据计算与仿真结果输出web页面;本实施例中用户工作空间中对各用户账号的各项属性管理包括用户账号的注册、删除和修改以及用户账号访问web页面的权限修改和删除;本实施例中用户工作空间中对Matlab模型源文件的管理包括对于用户提交的Matlab模型源文件的增加、修改、查询和删除;本实施例中用户工作空间对Matlab模型参数的管理包括Matlab模型参数的增加、修改、查询和删除。
Matlab应用程序中包括Matlab服务组件模块,所述Matlab服务组件模块通过程序包编译组件建立Matlab模型的运行程序包,进而由运行程序包调用Matlab服务组件模块建立计算与仿真处理线程,获取到数据计算与仿真结果。
其中图1中虚线箭头为各个模块在Matlab模型建模阶段的通信关系,实线箭头为各个模块在数据计算与仿真处理阶段的通信关系。
本实施例中程序与Matlab交互模块为Java程序与Matlab交互模块,Matlab服务组件模块通过Java程序包编译组件建立Matlab模型的Java运行程序包。
本实施例还公开了一种基于上述***实现的web远程数据计算与仿真的实现方法,包括Matlab模型建模阶段和数据计算与仿真处理阶段;
其中Matlab模型建模阶段步骤为:
S1、web服务器通过web页面采集用户通过客户端提供的Matlab模型的源文件,保存在用户模型及参数数据库中,并由作业路由管理模块调用Matlab服务组件模块提供的程序包编译组件,通过Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型数据计算与仿真运行web页面,并且将该web页面绑定到对应的用户工作空间;
本实施例上述步骤S1中,web服务器通过web页面采集用户通过web客户端输入的Matlab模型的源文件后,通过以下方式获取到Matlab模型的运行程序包:
S11、首先调用Matlab服务组件模块,采用程序脚本解析方式检查Matlab模型的源文件是否存在语法或基本逻辑错误,返回检查结果;
S12、根据程序与Matlab交互模块的交互接口函数的规范和规则匹配方法,并且调用Matlab服务组件模块,使用样本参数测试Matlab模型的源程序,检查Matlab模型参数格式与数据类型是否正确,返回检查结果;
S13、若步骤S11和步骤S12返回的测试结果均正确,则作业路由管理模块调用Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型计算与仿真运行web页面,并且绑定到对应的用户工作空间。
其中数据计算与仿真处理阶段步骤为:
S2、web服务器通过Matlab模型计算与仿真运行web页面获取Matlab模型参数以及需要计算与仿真的数据文件,并且保存在用户模型及参数数据库中,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,得到数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,并将该web页面绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
如图2所示,步骤S2的具体步骤如下:
S21、web服务器通获取到Matlab模型参数和需要计算与仿真的数据文件后,首先解析Matlab模型参数,根据对应的Matlab模型规则对Matlab模型参数进行检查,判断Matlab模型参数是否非法,若Matlab模型参数非法,则取消本次计数据计算和仿真服务,并将Matlab模型参数非法信息以web页面的形式进行反馈;若Matlab模型参数为合法的,则将Matlab模型参数和需要计算与仿真的数据文件保存在用户模型及参数数据库中,并且进入步骤S22;
S22、作业路由管理模块分析需要计算与仿真的数据文件,并将其封装为一个作业单元,添加到作业队列中;在作业队列不为空时,将队首作业单元从作业队列中移出,并且根据此作业单元和路由规则选取相应的程序与Matlab交互模块;web服务器通过程序与Matlab交互模块调用Matlab模型对应的运行程序包,进而通过运行程序包调用Matlab服务组件模块建立数据计算与仿真处理线程,由数据计算与仿真处理线程得出数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
S23、web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,具体如下:
判断数据计算与仿真处理过程是否超过一定时间X;
若是,则将数据计算与仿真结果以邮件的方式发送至用户账号所绑定的邮箱;
若否,则web服务器采用AJAX异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面。
其中上述步骤S23中X为30秒。
通过上述可知,在本实施例中,当用户向web服务器发送需要计算与仿真的数据文件时,即web服务器接收到数据计算与仿真处理请求时,web服务器就开始一个线程处理请求,效率相比享有计算中的CGI方式有了显著提升,这种方式可以减轻服务器的负载,缩短响应时间。本实施例借助于Matlab应用程序强大的计算与图形展示功能,结合web页面的交互操作,可以将用户提交的复杂数值计算及图形处理等服务请求交由服务器中的Matlab应用程序来完成,可以使用webfigure标签技术在web页面中调用Matlab生成的图像,为解决Matlab建模、数据处理和模拟仿真问题提供一个便捷的环境。
实施例2
本实施例公开了一种web远程数据计算与仿真的实现***和方法,其中本实施例中一种web远程数据计算与仿真的实现***的结构和实施例1相同,本实施例公开的一种web远程数据计算与仿真的实现系方法,
包括Matlab模型建模阶段和数据计算与仿真处理阶段;
其中Matlab模型建模阶段步骤为:
S1、web服务器通过web页面采集用户在客户端Matlab环境下编写的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型数据计算与仿真运行web页面,并且绑定到对应的用户工作空间;
本步骤中用户在客户端Matlab环境下编写的运行程序包为java运行程序包,如图3所示,具体过程如下:
1)编写Matlab模型m/simulink源程序;
2)新建Deyployment工程类,选择Matlab服务组件模块(MATLAB Builder forJava),配置工程名称和存储路径等相关参数;
3)将已经编写好的m程序文件置于工程的目录文件下;
4)编译工程,在存储路径下会自动生成一个工程文件夹,其中包含m程序文件对应的Java源码及打包的jar文件,至此m程序已经转化为Java运行程序包,将jar及m文件上传到服务器。
其中数据计算与仿真处理阶段为:
S2、web服务器通过Matlab模型计算与仿真运行web页面获取Matlab模型参数以及需要计算与仿真的数据文件,并且保存在用户模型及参数数据库中,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,得到数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
步骤S2的具体过程如下:
S21、web服务器通获取到Matlab模型参数和需要计算与仿真的数据文件后,首先解析参数,根据对应的Matlab模型规则对参数进行检查,若参数非法,则取消本次计数据计算和仿真服务,并将参数非法信息以web页面的形式进行反馈;若参数为合法的,则将Matlab模型参数和需要计算与仿真的数据文件保存在用户模型及参数数据库中,并且进入步骤S22;
S22、作业路由管理模块分析需要计算与仿真的数据文件,并将其封装为一个作业单元,添加到作业队列中;在作业队列不为空时,将队首作业单元从作业队列中移出,并且根据此作业单元和路由规则调用相应的程序与Matlab交互模块;web服务器通过程序与Matlab交互模块调用Matlab模型对应的运行程序包,进而通过运行程序包调用Matlab服务组件模块建立数据计算与仿真处理线程,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
S23、web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,具体如下:
判断数据计算与仿真处理过程是否超过一定时间X;
若是,则将数据计算与仿真结果以邮件的方式发送至用户账号所绑定的邮箱;
若否,则web服务器采用AJAX异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面。
本实施例方法与实施例1方法的区别仅在于,本实施例中用户在客户端Matlab环境下在本地编写运行程序包,编写好上传至服务器。因此用户可以在安装有Matlab应用程序的客户端使用高级矩阵语言、内嵌在Matlab中的数学、图形和数据分析工具快速建立求解问题的模型和测试算法的原型,在验证算法完全正确后,采用Matlab服务组件模块建立该类模型的运行程序包,并将相应的m/simulink源程序绑定到该程序包,上传到服务器后。这样操作用户可以直接检查源程序的正确性,有效避免Matlab运行时的错误。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种web远程数据计算与仿真的实现***,包括服务器和客户端,所述服务器中安装有web服务器和Matlab应用程序;所述客户端通过web页面与web服务器建立通信;其特征在于,所述服务器中包括用户模型及参数数据库,其中所述用户模型及参数数据库,用于保存用户通过客户端所提交的Matlab模型、Matlab模型参数、需要计算与仿真的数据文件以及数据计算与仿真结果;
所述web服务器中包括web服务引擎模块、动态网页生成器、程序与Matlab交互模块、作业路由管理模块和用户工作空间;其中
web服务引擎模块,用于接收用户通过客户端输入的Matlab模型的源文件、Matlab模型参数以及需要计算与仿真的数据文件,并且通过web页面向客户端输出数据计算与仿真结果;
动态网页生成器,用于生成供用户输入Matlab模型的源文件的web页面;用于根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型计算与仿真运行web页面,通过该web页面供用户通过客户端输入Matlab模型参数以及需要计算与仿真的数据文件;用于生成供数据计算与仿真结果展示的web页面;
程序与Matlab交互模块,用于建立web服务与Matlab应用程序通信的桥梁,使两者数据类型相匹配;用于调用Matlab模型对应的运行程序包;用于将数据计算与仿真结果输出至web页面;
作业路由管理模块,在Matlab模型建立阶段,用于调用Matlab服务组件模块提供的程序包编译组件,以通过Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包;在数据计算与仿真处理阶段,用于调用程序与Matlab交互模块,以通过程序与Matlab交互模块调用Matlab模型对应的运行程序包;
用户工作空间,用于对各用户账号的各项属性、Matlab模型的源文件和Matlab模型参数进行管理;用于管理数据计算与仿真结果;用于绑定Matlab模型计算与仿真运行web页面;用于绑定数据计算与仿真结果输出web页面;
所述Matlab应用程序中包括Matlab服务组件模块,所述Matlab服务组件模块通过程序包编译组件建立Matlab模型的运行程序包,进而由运行程序包调用Matlab服务组件模块建立计算与仿真处理线程,获取到数据计算与仿真结果。
2.根据权利要求1所述的web远程数据计算与仿真的实现***,其特征在于,所述程序与Matlab交互模块为Java程序与Matlab交互模块,Matlab服务组件模块通过Java程序包编译组件建立Matlab模型的Java运行程序包。
3.根据权利要求1所述的web远程数据计算与仿真的实现***,其特征在于,所述用户工作空间中对各用户账号的各项属性管理包括用户账号的注册、删除和修改以及用户账号访问web页面的权限修改和删除;
所述用户工作空间中对Matlab模型源文件的管理包括对于用户提交的Matlab模型源文件的增加、修改、查询和删除;
所述用户工作空间对Matlab模型参数的管理包括Matlab模型参数的增加、修改、查询和删除。
4.一种基于权利要求1所述***实现的web远程数据计算与仿真的实现方法,其特征在于,包括Matlab模型建模阶段和数据计算与仿真处理阶段;
其中Matlab模型建模阶段步骤为:
S1、web服务器通过web页面采集用户通过客户端提供的Matlab模型的源文件,保存在用户模型及参数数据库中,并由作业路由管理模块调用Matlab服务组件模块提供的程序包编译组件,通过Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包;然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型数据计算与仿真运行web页面,并且将该web页面绑定到对应的用户工作空间;
其中数据计算与仿真处理阶段步骤为:
S2、web服务器通过Matlab模型计算与仿真运行web页面获取Matlab模型参数以及需要计算与仿真的数据文件,并且保存在用户模型及参数数据库中,并由作业路由管理模块调用程序与Matlab交互模块,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,得到数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,并将该web页面绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
5.根据权利要求4所述的web远程数据计算与仿真的实现方法,其特征在于,所述步骤S1中,web服务器通过web页面采集用户通过web客户端输入的Matlab模型的源文件后,通过以下方式获取到Matlab模型的运行程序包:
S11、首先调用Matlab服务组件模块,采用程序脚本解析方式检查Matlab模型的源文件是否存在语法或基本逻辑错误,返回检查结果;
S12、根据程序与Matlab交互模块的交互接口函数的规范和规则匹配方法,并且调用Matlab服务组件模块,使用样本参数测试Matlab模型的源程序,检查Matlab模型参数格式与数据类型是否正确,返回检查结果;
S13、若步骤S11和步骤S12返回的测试结果均正确,则由作业路由管理模块调用Matlab服务组件模块提供的程序包编译组件建立Matlab模型的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型计算与仿真运行web页面,并且绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
6.根据权利要求4所述的web远程数据计算与仿真的实现方法,其特征在于,所述步骤S2的具体步骤如下:
S21、web服务器通获取到Matlab模型参数和需要计算与仿真的数据文件后,首先解析Matlab模型参数,根据对应的Matlab模型规则对Matlab模型参数进行检查,若Matlab模型参数非法,则取消本次计数据计算和仿真服务,并将Matlab模型参数非法信息以web页面的形式进行反馈;若Matlab模型参数为合法的,则将Matlab模型参数和需要计算与仿真的数据文件保存在用户模型及参数数据库中,并且进入步骤S22;
S22、作业路由管理模块分析需要计算与仿真的数据文件,并将其封装为一个作业单元,添加到作业队列中;在作业队列不为空时,将队首作业单元从作业队列中移出,并且根据此作业单元和路由规则选取相应的程序与Matlab交互模块;web服务器通过程序与Matlab交互模块调用Matlab模型对应的运行程序包,进而通过运行程序包调用Matlab服务组件模块建立数据计算与仿真处理线程,由数据计算与仿真处理线程得出数据计算与仿真结果,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
7.根据权利要求6所述的web远程数据计算与仿真的实现方法,其特征在于,所述步骤S2中还包括以下步骤:
S23、web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,具体如下:
判断数据计算与仿真处理过程是否超过一定时间X;
若是,则将数据计算与仿真结果以邮件的方式发送至用户账号所绑定的邮箱;
若否,则web服务器采用AJAX异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面。
8.根据权利要求7所述的web远程数据计算与仿真的实现方法,其特征在于,所述X为30秒。
9.一种基于权利要求1所述***实现的web远程数据计算与仿真的实现方法,其特征在于,包括Matlab模型建模阶段和数据计算与仿真处理阶段;
其中Matlab模型建模阶段步骤为:
S1、web服务器通过web页面采集用户在客户端Matlab环境下编写的运行程序包,然后根据Matlab模型参数和运行程序包存储路径自动生成Matlab模型数据计算与仿真运行web页面,并且绑定到对应的用户工作空间;
其中数据计算与仿真处理阶段步骤为:
S2、web服务器通过Matlab模型计算与仿真运行web页面获取Matlab模型参数以及需要计算与仿真的数据文件,并且保存在用户模型及参数数据库中,然后web服务器通过程序与Matlab交互模块调用该Matlab模型对应的运行程序包,进而通过运行程序调用Matlab服务组件模块建立数据计算与仿真处理线程,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中。
10.根据权利要求9所述的web远程数据计算与仿真的实现方法,其特征在于,所述步骤S2的具体步骤如下:
S21、web服务器通获取到Matlab模型参数和需要计算与仿真的数据文件后,首先解析参数,根据对应的Matlab模型规则对参数进行检查,若参数非法,则取消本次计数据计算和仿真服务,并将参数非法信息以web页面的形式进行反馈;若参数为合法的,则将Matlab模型参数和需要计算与仿真的数据文件保存在用户模型及参数数据库中,并且进入步骤S22;
S22、作业路由管理模块分析需要计算与仿真的数据文件,并将其封装为一个作业单元,添加到作业队列中;在作业队列不为空时,将队首作业单元从作业队列中移出,并且根据此作业单元和路由规则调用相应的程序与Matlab交互模块;web服务器通过程序与Matlab交互模块调用Matlab模型对应的运行程序包,进而通过运行程序包调用Matlab服务组件模块建立数据计算与仿真处理线程,然后通过程序与Matlab交互模块将数据计算与仿真结果输出至web页面,绑定到对应的用户工作空间,同时将数据计算与仿真结果存储至用户模型及参数数据库中;
S23、web服务器通过异步交换的方式将数据计算与仿真结果发送到给对应的用户账号,具体如下:
判断数据计算与仿真处理过程是否超过一定时间X;
若是,则将数据计算与仿真结果以邮件的方式发送至用户账号所绑定的邮箱;
若否,则web服务器采用AJAX异步技术将数据计算与仿真结果发送到用户账号当前操作的客户端的操作页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710036833.7A CN106897107B (zh) | 2017-01-18 | 2017-01-18 | 一种web远程数据计算与仿真的实现***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710036833.7A CN106897107B (zh) | 2017-01-18 | 2017-01-18 | 一种web远程数据计算与仿真的实现***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106897107A CN106897107A (zh) | 2017-06-27 |
CN106897107B true CN106897107B (zh) | 2019-12-10 |
Family
ID=59198088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710036833.7A Active CN106897107B (zh) | 2017-01-18 | 2017-01-18 | 一种web远程数据计算与仿真的实现***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106897107B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844675B (zh) * | 2017-12-18 | 2021-03-02 | 国家电网公司 | 一种基于燃气-蒸汽联合循环的***及其快速建模方法 |
CN110728009A (zh) * | 2018-06-28 | 2020-01-24 | 北京京东尚科信息技术有限公司 | 仿真方法、装置和*** |
CN110221926B (zh) * | 2019-05-27 | 2021-11-16 | 中国电建集团华东勘测设计研究院有限公司 | 一种高拱坝浇筑进度仿真的隔离计算管理方法 |
CN111708607A (zh) * | 2020-06-18 | 2020-09-25 | 哈工大机器人(合肥)国际创新研究院 | 基于web的在线仿真智能agv仿真调度方法及装置 |
CN112818606B (zh) * | 2021-02-09 | 2022-03-18 | 国网安徽省电力有限公司培训中心 | 数字仿真***及方法 |
CN113312793B (zh) * | 2021-04-27 | 2024-03-22 | 中国电子科技集团公司第十四研究所 | 一种基于雷达信息处理的分布式仿真验证*** |
CN113688438A (zh) * | 2021-08-16 | 2021-11-23 | 北京鼎普科技股份有限公司 | 基于web的文件销毁方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224769A (zh) * | 2015-10-30 | 2016-01-06 | 北京蓝威技术有限公司 | 一种基于Web浏览器的CAE数据处理方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189718A1 (en) * | 2007-02-02 | 2008-08-07 | The Mathworks, Inc. | Scalable architecture |
-
2017
- 2017-01-18 CN CN201710036833.7A patent/CN106897107B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224769A (zh) * | 2015-10-30 | 2016-01-06 | 北京蓝威技术有限公司 | 一种基于Web浏览器的CAE数据处理方法及*** |
Non-Patent Citations (1)
Title |
---|
"基于化学计量学的远程计算平台—web端及通信协议的设计与实现";虞柳青;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20060115(第01期);第18-68页,图3.2、3.3、3.4、3.7 * |
Also Published As
Publication number | Publication date |
---|---|
CN106897107A (zh) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897107B (zh) | 一种web远程数据计算与仿真的实现***和方法 | |
US7992127B2 (en) | Method and system of encapsulating web site transactions for computer-aided generation of web services | |
CN109933522B (zh) | 一种自动化用例的测试方法、测试***及存储介质 | |
US10489283B2 (en) | Software defect reporting | |
CN110008113B (zh) | 一种测试方法、装置、电子设备 | |
US8370859B2 (en) | Creating web services from an existing web site | |
CN105138448A (zh) | 一种在前端测试页面的方法和装置 | |
US8661404B2 (en) | Method for improving execution efficiency of a software package customization | |
KR20080053293A (ko) | 클라이언트 스크립트 웹 페이지에 대한 서버측 초기 콘텐츠렌더링 | |
CN103246606B (zh) | Esb平台的性能测试方法和*** | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN108984202B (zh) | 一种电子资源分享方法、装置和存储介质 | |
CN114398293A (zh) | 接口测试用例生成方法、电子设备和存储介质 | |
CN111767229A (zh) | 性能测试方法、装置和设备 | |
CN110134380B (zh) | 一种基于模板引擎的代码生成方法、装置及电子设备 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
US10606569B2 (en) | Declarative configuration elements | |
CN117032573A (zh) | 微服务执行方法、电子设备及可读存储介质 | |
Celik et al. | S-IDE: A tool framework for optimizing deployment architecture of High Level Architecture based simulation systems | |
CN103186551B (zh) | 基于web应用平台的异常分析方法及仿真*** | |
CN112685306A (zh) | 一种测试方法、装置、用户终端及存储介质 | |
CN111444618A (zh) | 一种基于变量字典的仿真方法及装置 | |
CN117493162B (zh) | 一种接口测试的数据校验方法、***、设备及存储介质 | |
CN109358855A (zh) | 一种用于编程的前端模拟数据敏捷开发方法及电子设备 | |
US20090132225A1 (en) | Technique for creating simulated servicing applications from data captured by a configurable software probe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |