基于matlab及com技术的b/s结构远程计算平台的制作方法

文档序号:7920102阅读:290来源:国知局
专利名称:基于matlab及com技术的b/s结构远程计算平台的制作方法
技术领域
本发明涉及基于MATLAB及COM技术的B/S结构远程计算平台,属于计算机 网络应用领域,。
背景技术
MATLAB是一款被广泛应用于科学与工程计算的通用计算软件,具有强大的数 值计算功能,并包含用于不同科学领域的工具箱。然而,其全功能软件价格却 高达百万元人民币之巨,对于小型科研单位或个人,这是不可接受的。
为能够充分利用软件,很多科研单位、高校使用MATLAB早期版本中一个叫 MATLAB Web Server的组件,开发基于MATLAB的远程计算平台。当前的基于 MATLAB的B/S结构应用都是基于该组件的,由于该组件功能的限制,只能开发 一些简单的、模式固定的应用,使用本文中阐述的远程计算机平台可以使用户 能够通过Web方式任意访问MATLAB的所有功能模块,包括MATLAB控制台、 MATLAB程序编译器、Simulink等几乎所有核心功能。通过Simulink和Realtime Workshop还可以进行远程实时控制操作,进行远程实验。

发明内容
本发明提供了一种基于MATLAB及COM技术的B/S结构远程计算平台,使得 用户可以突破时间与空间的限制,随时随地通过网络使用MATLAB,为用户提供 便利,也使得资源得到充分利用。使用Simulink和Realtime Workshop工具箱 还可以进行实物仿真,通过WEB操作,可以进行远程实验,进行基于Internet 的远程实验室建设。 基于MATLAB的B/S结构远程计算平台主要分为以下几个部分WEB客户端 模块、WEB服务器、命令处理模块、文件上传模块、MATLAB控制模块、MATLAB。
(1) WEB客户端模块通过HTML和JavaScript等客户端脚本给用户提供一个 友好的交互界面;
(2) WEB服务器负责处理客户端的HTTP请求;
(3) 文件上传模块负责处理用户上传*.111程序文件和tmdl模型文件;
(4) 命令处理模块出于安全因素考虑,对用户输入的命令进行过滤、格式 化;
(5) MATLAB控制模块使用C0M技术,调用MATLAB,执行用户请求,并取回 执行结果;
(6) MATLAB:执行MATLAB命令或程序,完成计算任务。 用户进行工作流程如下
(1) 用户通过客户端模块提供的WEB界面编辑MATLAB命令或选择要上传到服 务器用以执行的.m文件或.mdl模型文件,并向WEB服务器提交请求。
(2) WEB服务器接到用户的请求之后,根据不同的请求调用不同的模块。
如果用户需要执行MATLAB命令,WEB服务器直接将命令传送给命令处 理模块,对命令字符串进行处理,主要包括两方面的处理①去掉有可能 损坏系统的命令,主要是"!"字符开头的命令,因为在MATLAB中可以通 过"!"字符后跟系统命令来执行系统命令,特别 是!format, !del, !copy, !move等命令,如果不对这些命令进行限制, 恶意的MATLAB程序或错误的MATLAB程序很可能损坏服务器的文件系统, 甚至损坏重要数据;②在命令末尾增加回车符,因为MATLAB命令以回车 结尾时才开始运行,从客户端上传的命令字符串末尾可能没有回车符,该
模块为这些命令字符串增加回车符。
如果用户要运行.m程序文件或.mdl模型文件仿真,则调用文件上传 模块上传用户的文件;.m程序文件上传后,出于安全考虑,与用户上传的 命令字符串一样,都要经过命令处理模块才能够被送往MATLAB控制模块, 然后由MATLAB执行。
(3) 命令处理模块处理后的MATLAB命令或文件上传模块得到的用户上传的文 件,被提交给MATLAB控制模块;
(4) MATLAB控制模块通过COM技术,产生一个MATLAB的COM对象,通过该对 象执行MATLAB命令或.m或.mdl文件,并得到执行结果;
如果有硬件设备连接到MATLAB服务器,用户就可以通过程序或者 Simulink模型对设备进行控制、操作,这也就是远程控制,即使用本方案 不仅可以MATLAB的共享、远程计算,还可以实现基于MATLAB的远程实验 平台。
(5) 执行结果被转交给WEB服务器,由WEB服务器作为HTTP响应返回给客户 端,客户端便可以以图表或曲线等格式看到执行结果,或者下载原始数据。 至此一次远程科学计算的请求便完成。
有益效果
本发明为基于MATLAB的WEB应用开发提供了一个框架,而对使用的WEB技 术、编程语言以及WEB服务器的种类并没有特别限制,使用该框架可以利用 MATLAB的功能开发各种远程应用,例如,通过开发不同的MATLAB控制模块功能, 可以开发各种基于MATLAB的仿真实验,使用MATLAB的Real-Time Workshop工 具箱,还可以开发各种远程实验,等等。


图1为本发明涉及基于MATLAB及COM技术的B/S结构远程计算平台的系统 架构具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步说明。
本发明是一种方案,对WEB应用系统及编程语言没有具体要求,只要可以实现 用户交互,并支持COM组件调用即可,下面以IIS为WEB服务器,以ASP. NET 作为WEB实现技术,以Ctt为编程语言为例,说明本发明的实施方式。
(1) 安装并配置ns服务器;
(2) 安装MATLAB软件;
(3) 分别设计用户界面,即WEB客户端模块,用于编写在线命令或上传文件;
(4) 用户通过客户端模块提供的WEB界面编辑MATLAB命令或选择要上传到 服务器用以执行的.m文件,并向WEB服务器提交请求。
(5) WEB服务器接到用户的请求之后,用户需要执行MATLAB命令,WEB服 务器直接将命令传送给命令处理模块,对命令字符串进行处理,主要包括两方 面的处理O去掉有可能损坏系统的命令,主要是"!"字符开头的命令,因为 在MATLAB中可以通过"!"字符后跟系统命令来执行系统命令,特别 是!format, !del, !copy, !move等命令;②在命令末尾增加回车符,因为 MATLAB命令以回车结尾时才开始运行,从客户端上传的命令字符串末尾可能没 有回车符,该模块为这些命令字符串增加回车符。
(6) 命令处理模块处理后的MATLAB命令或文件上传模块得到的用户上传的文 件,被提交给MATLAB控制模块;
(7) MATLAB控制模块通过COM技术,产生一个MATLAB的COM对象,通过该对
象执行MATLAB命令,并得到执行结果; (8)执行结果被转交给WEB服务器,由WEB服务器作为HTTP响应返回给客户 端,客户端便可以以图表或曲线等格式看到执行结果,或者下载原始数据。 至此一次远程科学计算的请求便完成。
权利要求
1.基于MATLAB的B/S结构远程计算平台,包括WEB客户端模块、WEB服务器、命令处理模块、文件上传模块、MATLAB控制模块、MATLAB;其特征在于WEB客户端模块通过HTML和JavaScript等客户端脚本给用户提供一个交互界面;WEB服务器负责处理客户端的HTTP请求;文件上传模块负责处理用户上传*.m程序文件和*.mdl模型文件;命令处理模块出于安全因素考虑,对用户输入的命令进行过滤、格式化;MATLAB控制模块使用COM技术,调用MATLAB,执行用户请求,并取回执行结果;MATLAB执行MATLAB命令或程序,完成计算任务;其特征还在于工作步骤如下(1)用户通过客户端模块提供的WEB界面编辑MATLAB命令或选择要上传到服务器用以执行的.m文件或.mdl模型文件,并向WEB服务器提交请求;(2)WEB服务器接到用户的请求之后,根据不同的请求调用不同的模块;如果用户需要执行MATLAB命令,WEB服务器直接将命令传送给命令处理模块,对命令字符串进行处理,主要包括两方面的处理①去掉有可能损坏系统的命令,主要是“!”字符开头的命令,因为在MATLAB中可以通过“!”字符后跟系统命令来执行系统命令,特别是!format,!del,!copy,!move等命令,如果不对这些命令进行限制,恶意的MATLAB程序或错误的MATLAB程序很可能损坏服务器的文件系统,甚至损坏重要数据;②在命令末尾增加回车符,因为MATLAB命令以回车结尾时才开始运行,从客户端上传的命令字符串末尾可能没有回车符,该模块为这些命令字符串增加回车符;如果用户要运行.m程序文件或.mdl模型文件仿真,则调用文件上传模块上传用户的文件;.m程序文件上传后,出于安全考虑,与用户上传的命令字符串一样,都要经过命令处理模块才能够被送往MATLAB控制模块,然后由MATLAB执行;(3)命令处理模块处理后的MATLAB命令或文件上传模块得到的用户上传的文件,被提交给MATLAB控制模块;(4)MATLAB控制模块通过COM技术,产生一个MATLAB的COM对象,通过该对象执行MATLAB命令或.m、.mdl文件,并得到执行结果;(5)执行结果被转交给WEB服务器,由WEB服务器作为HTTP响应返回给客户端,客户端便以图表或曲线等格式看到执行结果,或者下载原始数据;至此一次远程科学计算的请求完成。
全文摘要
本发明公开了基于MATLAB的B/S结构远程计算平台,包括WEB客户端模块、WEB服务器、命令处理模块、文件上传模块、MATLAB控制模块和MATLAB;向WEB服务器上传.m文件或.mdl模型文件后,根据不同的请求调用模块;处理后的MATLAB命令或文件上传模块得到上传的文件,被提交给MATLAB控制模块;MATLAB控制模块通过COM技术产生一个MATLAB的COM对象并得到执行结果;执行结果通过WEB服务器后返回给客户端,本发明为基于MATLAB的WEB应用开发提供了一个框架,而对使用的WEB技术、编程语言以及WEB服务器的种类并没有特别限制,使用该框架可开发各种远程应用。
文档编号H04L29/06GK101360126SQ200810167549
公开日2009年2月4日 申请日期2008年10月10日 优先权日2008年10月10日
发明者远 姚, 戴亚平, 田德振 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1