CN102779041A - 一种工程计算系统及方法 - Google Patents
一种工程计算系统及方法 Download PDFInfo
- Publication number
- CN102779041A CN102779041A CN2012102119247A CN201210211924A CN102779041A CN 102779041 A CN102779041 A CN 102779041A CN 2012102119247 A CN2012102119247 A CN 2012102119247A CN 201210211924 A CN201210211924 A CN 201210211924A CN 102779041 A CN102779041 A CN 102779041A
- Authority
- CN
- China
- Prior art keywords
- module
- parameter information
- script
- web service
- engineering 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种工程计算系统及方法,涉及计算机网络技术领域,所述系统包括:Web用户界面模块、中间件模块、Web服务模块、至少一个脚本和分布式CAE应用模块,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接。本发明的工程计算系统及方法,能够在系统运行状态时开发和部署新的工程计算脚本,避免了业务中断,降低了系统的开发周期和开发成本,并降低了在增加新功能时的运营风险和运营成本。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及一种工程计算系统及方法。
背景技术
在传统的工程计算系统中,单个系统只针对特定的用户需求或工作流程进行处理。前端的页面接收到用户的请求,然后以消息的形式提交给后端。后端通过分析消息并响应该请求,然后进行工程计算,最后把结果以消息的形式返回给页面。页面将结果的内容以特定的可视化形式展现给用户。当用户的需求发生变更或者产生新的应用需求时,则需要在原来的系统基础上做出改良以适应新的需求。
传统的工程计算系统,当需要扩展新的功能时,在开发阶段需要修改原来的系统,在部署阶段则需要先停止原来的系统,并用新的系统取而代之后重启服务。所以存在两个明显的不足:1)由于开发时需要对原来的系统进行重构,开发周期和开发成本较高。2)由于部署时需要暂停和重启服务,运营风险和运营成本也较高。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何降低系统的开发周期和开发成本,并降低在增加新功能时的运营风险和运营成本。
(二)技术方案
为解决上述技术问题,本发明提供了一种工程计算系统,所述系统包括:Web用户界面模块、中间件模块、Web服务模块、至少一个脚本和分布式CAE应用模块,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接,
所述Web用户界面模块接收用户输入的工程计算任务的参数信息,并将所述参数信息发送至所述中间件模块,所述中间件模块将所述参数信息转发至所述Web服务模块,所述Web服务模块将所述参数信息提交给所述脚本,所述脚本对所述参数信息进行解析,并将解析后的参数信息传递至所述分布式CAE应用模块,所述分布式CAE应用模块执行所述工程计算任务。
优选地,所述中间件模块为RPC中间件模块。
优选地,当所述Web用户界面模块和Web服务模块不在同一服务器上时,所述中间件模块将所述参数信息转发至所述Web服务模块之前,将所述参数信息按照第一预设格式进行封装。
优选地,所述Web用户界面模块将所述参数信息发送至所述中间件模块之前,将所述参数信息按照第二预设格式进行封装。
优选地,所述第二预设格式为JSON格式。
优选地,所述系统还包括:支撑类库,所述脚本通过调用所述支撑类库对所述参数信息进行解析。
优选地,所述系统还包括:数据库,所述Web服务模块将所述参数信息提交给所述脚本时,还将所述参数信息存入所述数据库。
优选地,所述脚本使用环境变量的方式将解析后的参数信息传递至所述分布式CAE应用模块。
优选地,所述脚本采用不需要编译的语言编写。
本发明还公开了一种基于所述工程计算系统的计算方法,所述方法包括:
Web用户界面模块接收用户输入的工程计算任务的参数信息,并将所述参数信息发送至中间件模块;
所述中间件模块将所述参数信息转发至Web服务模块;
所述Web服务模块将所述参数信息提交给所述脚本;
所述脚本对所述参数信息进行解析,并将解析后的参数信息传递至分布式CAE应用模块;
所述分布式CAE应用模块执行所述工程计算任务;
其中,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接。
(三)有益效果
本发明的工程计算系统及方法,所述系统作为一个服务的容器,可以处理多种不同的用户需求或工作流程,能够在系统运行状态时开发和部署新的工程计算脚本,避免了业务中断,降低了系统的开发周期和开发成本,并降低了在增加新功能时的运营风险和运营成本。
附图说明
图1是按照本发明一种实施方式的工程计算系统的结构示意图;
图2是按照本发明一种实施方式的计算方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是按照本发明一种实施方式的工程计算系统的结构示意图;参照图1,所述系统包括:网络(Web)用户界面模块、中间件模块、Web服务模块、至少一个脚本和分布式计算机辅助工程(ComputerAided Engineering,CAE)应用模块,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接,
所述Web用户界面模块接收用户输入的工程计算任务的参数信息,并将所述参数信息发送至所述中间件模块,所述中间件模块将所述参数信息转发至所述Web服务模块,所述Web服务模块将所述参数信息提交给所述脚本,所述脚本对所述参数信息进行解析,并将解析后的参数信息传递至所述分布式CAE应用模块,所述分布式CAE应用模块执行所述工程计算任务。
本实施方式中,由于所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接,而并不是由脚本调用容器,因此在扩展新功能时不需要改动原系统的结构和代码,只需要开发脚本即可,在部署新脚本时,不需要暂停和重启服务,把脚本部署到事先规定好的位置即可启用。
本实施方式中,所述Web用户界面模块是基于超文本标记语言(Hypertext Markup Language,HTML)、JavaScript和级联样式表(Cascading Style Sheet,CSS)开发的,但其的表现形式并不是传统的Web页面方式,而是在浏览器中呈现一个虚拟的Windows桌面,里面的元素不再是子页面或标签页,而是子窗口和对话框。
所述脚本是对分布式CAE应用的工作流的封装,它调用分布式CAE应用模块执行计算任务,是Web服务模块与分布式CAE应用模块之间的桥梁。它用于解析Web服务模块传入的工程计算任务的参数信息;根据参数信息建立合适的计算模型;把参数信息和计算模型传递给分布式CAE应用模块。
所述分布式CAE应用模块是工程计算任务的最终执行者,它接受脚本传入的工程计算任务的参数信息,执行计算,然后按照与Web服务模块之间的协议输出计算结果。
为增加系统的灵活性,使得所述Web用户界面模块和Web服务模块不在同一服务器,优选地,所述中间件模块为远程过程调用(RemoteProcedure Call,RPC)中间件模块。
优选地,当所述Web用户界面模块和Web服务模块不在同一服务器上时,所述中间件模块将所述参数信息转发至所述Web服务模块之前,将所述参数信息按照第一预设格式进行封装,本实施方式中,所述第一预设格式优选为简单对象访问协议(Simple Object AccessProtocol,SOAP)格式,所述Web服务模块是一组符合SOAP协议的网络服务。它需要放置在Web容器中运行。它的主要职责有:1)处理Web用户界面模块发来的工程计算任务的参数信息(把工程计算任务的参数信息存入数据库;把工程计算任务的参数信息传递给脚本,调用并执行脚本);2)查询历史的工程计算任务的参数信息,然后返回给Web用户界面模块。
Web服务模块提供符合SOAP协议规范的接口,供Web用户界面模块调用,Web服务模块以同步的方式响应。
中间件模块负责将JSON格式的字符串消息,封装成SOAP消息,传输完成后再解析成JSON格式的字符串消息。
优选地,所述Web用户界面模块将所述参数信息发送至所述中间件模块之前,将所述参数信息按照第二预设格式进行封装。
优选地,所述第二预设格式为JSON格式,由于JSON是一种跨语言的数据格式,在Web用户界面模块中进行封装,在脚本中进行解析,使得在Web用户界面模块到脚本之间的中间环节,参数信息作为一个黑盒子,而中间环节也没有必要了解其内容,因此,对于不同的脚本,所述中间环节只需使用同一种处理方式。
优选地,所述系统还包括:支撑类库,所述支撑类库是为脚本开发提供的基础类库,所述脚本通过调用所述支撑类库对所述参数信息进行解析。在开发系统时,可通过调用支撑类库的脚本语言接口,使脚本遵从特定的协议,并且节省开发周期和开发时间。
优选地,所述系统还包括:数据库,所述Web服务模块将所述参数信息提交给所述脚本时,还将所述参数信息存入所述数据库。
数据库用于存储工程计算任务的信息,存储的信息主要包括:任务身份标识号码(Identity,ID)、任务名称、参数信息、任务状态、开始和结束时间、以及任务的用户ID和所使用的分布式CAE应用ID。
优选地,所述脚本使用环境变量的方式将解析后的参数信息传递至所述分布式CAE应用模块,由于环境变量是跨语言的,并且通用,因此提高了效率和灵活性。
优选地,所述脚本采用不需要编译的语言编写,例如:Python或TCL(Tool Command Language,TCL)等语言。
本发明还公开了一种基于所述工程计算系统的计算方法,参照图2,所述方法包括:
S201:Web用户界面模块接收用户输入的工程计算任务的参数信息,并将所述参数信息发送至中间件模块;
S202:所述中间件模块将所述参数信息转发至Web服务模块;
S203:所述Web服务模块将所述参数信息提交给所述脚本;
S204:所述脚本对所述参数信息进行解析,并将解析后的参数信息传递至分布式CAE应用模块;
S205:所述分布式CAE应用模块执行所述工程计算任务;
其中,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接。
本发明的目的是为了解决用于工程计算的Web系统的运营和持续开发之间的矛盾。由于用户需求的变更导致了对系统的更新和维护,需要改变原来系统的代码及结构。而新系统的开发周期较长,并且在部署过程中需要中断业务,从而带来运营风险。
本发明提供了一种工程计算系统及方法,能够在系统运行状态时开发和部署新的工程计算脚本,避免了业务中断,从而降低运营风险;本发明利用可重用模块和底层架构,并且不需要改动原系统的结构和代码,从而缩短工程计算脚本的开发周期,降低开发风险和成本。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种工程计算系统,其特征在于,所述系统包括:Web用户界面模块、中间件模块、Web服务模块、至少一个脚本和分布式CAE应用模块,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接,
所述Web用户界面模块接收用户输入的工程计算任务的参数信息,并将所述参数信息发送至所述中间件模块,所述中间件模块将所述参数信息转发至所述Web服务模块,所述Web服务模块将所述参数信息提交给所述脚本,所述脚本对所述参数信息进行解析,并将解析后的参数信息传递至所述分布式CAE应用模块,所述分布式CAE应用模块执行所述工程计算任务。
2.如权利要求1所述的系统,其特征在于,所述中间件模块为RPC中间件模块。
3.如权利要求2所述的系统,其特征在于,当所述Web用户界面模块和Web服务模块不在同一服务器上时,所述中间件模块将所述参数信息转发至所述Web服务模块之前,将所述参数信息按照第一预设格式进行封装。
4.如权利要求1所述的系统,其特征在于,所述Web用户界面模块将所述参数信息发送至所述中间件模块之前,将所述参数信息按照第二预设格式进行封装。
5.如权利要求4所述的系统,其特征在于,所述第二预设格式为JSON格式。
6.如权利要求4或5所述的系统,其特征在于,所述系统还包括:支撑类库,所述脚本通过调用所述支撑类库对所述参数信息进行解析。
7.如权利要求1~5中任一项所述的系统,其特征在于,所述系统还包括:数据库,所述Web服务模块将所述参数信息提交给所述脚本时,还将所述参数信息存入所述数据库。
8.如权利要求1~5中任一项所述的系统,其特征在于,所述脚本使用环境变量的方式将解析后的参数信息传递至所述分布式CAE应用模块。
9.如权利要求1~5中任一项所述的系统,其特征在于,所述脚本采用不需要编译的语言编写。
10.一种基于权利要求1~9中任一项所述工程计算系统的计算方法,其特征在于,所述方法包括:
Web用户界面模块接收用户输入的工程计算任务的参数信息,并将所述参数信息发送至中间件模块;
所述中间件模块将所述参数信息转发至Web服务模块;
所述Web服务模块将所述参数信息提交给所述脚本;
所述脚本对所述参数信息进行解析,并将解析后的参数信息传递至分布式CAE应用模块;
所述分布式CAE应用模块执行所述工程计算任务;
其中,所述Web服务模块为一个容器、且与所述脚本之间通过预设的接口连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102119247A CN102779041A (zh) | 2012-06-20 | 2012-06-20 | 一种工程计算系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102119247A CN102779041A (zh) | 2012-06-20 | 2012-06-20 | 一种工程计算系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102779041A true CN102779041A (zh) | 2012-11-14 |
Family
ID=47123962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102119247A Pending CN102779041A (zh) | 2012-06-20 | 2012-06-20 | 一种工程计算系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102779041A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002047A (zh) * | 2012-12-19 | 2013-03-27 | 上海斐讯数据通信技术有限公司 | 一种rpc式web服务架构方法 |
CN106227397A (zh) * | 2016-08-05 | 2016-12-14 | 北京市计算中心 | 基于应用虚拟化技术的计算集群作业管理系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794314A (zh) * | 2010-03-12 | 2010-08-04 | 同济大学 | 一种基于Web的异地协同设计信息化平台 |
CN102185707A (zh) * | 2011-04-15 | 2011-09-14 | 浪潮电子信息产业股份有限公司 | 一种对服务器管理ipmi接口协议的扩展方法 |
-
2012
- 2012-06-20 CN CN2012102119247A patent/CN102779041A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794314A (zh) * | 2010-03-12 | 2010-08-04 | 同济大学 | 一种基于Web的异地协同设计信息化平台 |
CN102185707A (zh) * | 2011-04-15 | 2011-09-14 | 浪潮电子信息产业股份有限公司 | 一种对服务器管理ipmi接口协议的扩展方法 |
Non-Patent Citations (1)
Title |
---|
范国闯等: "Web应用服务器研究综述", 《软件学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002047A (zh) * | 2012-12-19 | 2013-03-27 | 上海斐讯数据通信技术有限公司 | 一种rpc式web服务架构方法 |
CN103002047B (zh) * | 2012-12-19 | 2017-10-31 | 上海斐讯数据通信技术有限公司 | 一种rpc式web服务架构方法 |
CN106227397A (zh) * | 2016-08-05 | 2016-12-14 | 北京市计算中心 | 基于应用虚拟化技术的计算集群作业管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866512A (zh) | 提取网页内容的方法、装置及系统 | |
CN106293675B (zh) | 系统静态资源加载方法及装置 | |
CN103167004A (zh) | 云平台主机系统故障修复方法及云平台前端控制服务器 | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
CN101000544A (zh) | 基于Web页面的事件分发方法与装置 | |
CN102999608A (zh) | 大数据的树表展现系统和树表展现方法 | |
CN103440151A (zh) | 一种动态加载Web页面的方法和装置 | |
CN102799764B (zh) | 一种基于Web的工程计算系统及方法 | |
CN105743955A (zh) | 一种扩展JavaScript对象方法 | |
CN102662837A (zh) | 一种浏览器的测试方法和系统 | |
CN103034622A (zh) | 富文本内容的处理方法和服务器 | |
CN102073686A (zh) | 一种页面文件的垂直动态加载方法及装置 | |
CN103559097B (zh) | 一种浏览器中进程间通信的方法、装置和浏览器 | |
CN102130953A (zh) | 一种嵌入式web系统及交互方法 | |
CN110851123A (zh) | 基于SpringMVC的WebGIS电网可视化框架的构建方法、系统及装置 | |
CN110555145A (zh) | 一种基于浏览器的网页内容采集系统及其采集方法 | |
CN103309989A (zh) | 人力资源和社会保障智慧浏览器 | |
CN102779041A (zh) | 一种工程计算系统及方法 | |
CN114253798A (zh) | 指标数据采集方法和装置、电子设备、存储介质 | |
CN104166545A (zh) | 一种网页资源的嗅探方法以及装置 | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN103019818A (zh) | 页面交互方法与装置 | |
CN102810065B (zh) | 用于加载程序模块的方法和系统 | |
CN109062548B (zh) | 一种基于工作流搭建的Web服务扩展方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121114 |