首页> 中国专利> 用于海洋数值模拟ROMS的Web服务封装方法以及系统

用于海洋数值模拟ROMS的Web服务封装方法以及系统

摘要

本发明公开了一种用于海洋数值模拟计算系统ROMS的Web服务封装方法,包括:通过Web服务界面接收与任务相关的信息;根据所接收到的与任务相关的信息由脚本生成器提取有用信息并生成作业脚本文件;以及,将所生成的作业脚本文件提交给计算集群系统,以便所述计算集群系统根据所述作业脚本文件调用所述海洋数值模拟计算系统ROMS来执行相应的作业。相应地,还提供了一种用于用于海洋数值模拟计算系统ROMS的Web服务封装系统。采用本发明,可以降低任务提交的难度和提高工作效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-05

    专利权的转移 IPC(主分类):G06F 9/44 专利号:ZL2013102637772 登记生效日:20220726 变更事项:专利权人 变更前权利人:曙光信息产业(北京)有限公司 变更后权利人:曙光信息产业(北京)有限公司 变更事项:地址 变更前权利人:100193 北京市海淀区东北旺西路8号院36号楼 变更后权利人:100089 北京市海淀区东北旺西路8号院36号楼 变更事项:专利权人 变更前权利人: 变更后权利人:曙光信息产业股份有限公司

    专利申请权、专利权的转移

  • 2016-12-28

    授权

    授权

  • 2013-10-23

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20130627

    实质审查的生效

  • 2013-09-18

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,更具体地,涉及一种用于海洋数值模拟计 算系统ROMS的Web服务封装方法以及Web服务封装系统。

背景技术

数值模拟是海洋研究的重要手段,在海洋科学研究中发挥着越来越重要的 作用。而海洋数值模式通过数值求解控制海水运动的偏微分方程组来实现对海 水运动的数值模拟。在众多海洋数值模式中,ROMS(Regional Ocean Modeling  System)是其中一个区域和大洋环流模式,作为主要的海洋业务化模式之一, ROMS已经得到大量使用。ROMS采用Fortran90/95编写,支持共享和分布式 两种计算机体系架构,具有计算密集、IO读写量大、网络带宽要求高等特点。 ROMS模式具有较好的并行扩展性,问题规模较小时可加速到将近100核,问 题规模较大时可达到200-600核。同时,ROMS也可跟其它海洋气象模式组 成耦合模式,或者作为其它海洋气象应用的驱动模式。

用ROMS进行海洋数值模拟的计算量一般较大,因此需要在高性能计算 集群上进行并行计算。在现在有的操作方式中,用户通常需要使用远程字符终 端连接到高性能计算集群,并在命令行环境下执行一系列操作才能完成这一数 值模拟过程,一般包含如下几个流程:

用ROMS进行海洋数值模拟的计算量一般较大,因此需要在高性能计算 集群上进行并行计算。在现在有的操作方式中,用户通常需要使用远程字符终 端连接到高性能计算集群系统,并在命令行环境下执行一系列操作才能完成这 一数值模拟过程,一般包含如下几个流程:

准备ROMS的可执行文件及其需要的数据文件。这些文件通常需要放置 在集群的全局共享存储中,用户一般使用FTP、SFTP等工具向集群上传这些 文件,在大多数情况下,用户还需要用文本编辑工具对这些文件进行修改。

如果计算集群系统上有作业调度器,则用户需要使用文本编辑器编写一个 脚本文件,其中填写需要申请的计算资源数量,以及运行ROMS程序的命令, 然后使用作业调度命令提交作业。如果没有作业调度器,则用户需要将运行 ROMS程序的进程数以及在哪些节点上运行等信息通过命令行参数的方式传 递给MPI的进程启动器,如mpirun、mpiexec等。通过MPI的进程启动器启 动ROMS程序来进行并行计算。

程序运行完成后,使用FTP、SFTP等工具下载结果文件到用户本地计算 机查看计算结果。

现有运行ROMS计算程序的方法存在以下缺陷:

(1)使用难度大。想要顺利完成ROMS程序的计算任务,用户往往需要 非常熟悉很多计专业的计算机知识和工具,如Linux操作系统基本操作、Shell 脚本语言、常用的文本编辑和字符处理工具、MPI环境的使用、作业调度软件 的使用等等。

(2)执行效率低。想要顺利提交一个ROMS程序的计算任务,需要执行 多个流程,需要在命令行环境执行复杂繁琐的操作,从而导致并行计算任务的 提交费时费力,效率低下。

(3)出错概率大。对于大部分普通用户来说,在命令行环境执行复杂繁 琐的操作,出现人为操作失误的概率很大。特别是对于操作流程不熟悉的用户, 在执行的各个环节均容易遇到问题。

(4)安全风险高。传统的操作方法需要对普通用户开放命令行终端访问 权限,对于高性能计算集群的管理员来说,对普通用户开放命令行终端存在安 全性的风险。用户的误操作可能会影响系统的稳定运行,黑客也有可能趁虚而 入。

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

针对相关技术中的问题,本发明提出一种降低用户对海洋数值模拟计算 系统ROMS提交作业的Web封装方法以及Web封装系统。

本发明的技术方案是这样实现的:

在一方面,提供了一种用于海洋数值模拟计算系统ROMS的Web服务 封装方法,包括:

通过Web服务界面接收与任务相关的信息;

根据所接收到的与任务相关的信息由脚本生成器提取有用信息并生成 作业脚本文件;

将所生成的作业脚本文件提交给计算集群系统;

所述计算集群系统根据所述作业脚本文件调用所述海洋数值模拟计算 系统ROMS来执行相应的作业。

在可选实施例中,在通过Web服务界面接收与任务相关的信息的步骤 之前,所述Web封装方法还包括:根据接收到的应用请求获取对应的应用 配置文件;以及,根据所述应用配置文件以及所述海洋数值模拟计算系统 ROMS的运行情况生成相对应的Web服务界面。

在可选实施例中,所述与任务相关的信息包括以下之一或任意组合: 所述海洋数值模拟计算系统ROMS所在路径、所需输入文件的目录、执行 命令、所需的计算节点、每个计算节点的CPU核心数和内存大小以及执行 任务的计算时间。

在可选实施例中,根据所接收到的与任务相关的信息由脚本生成器提 取有用信息并生成作业脚本之前,所述Web封装方法还包括:检测所述与 任务相关的信息是否合法,检测为是时,执行根据所接收到的与任务相关 的信息由脚本生成器提取有用信息并生成作业脚本的步骤;检测否时,生 成不合法提示信息并显示在所述Web服务界面上。

在可选实施例中,将所生成的作业脚本提交给所述海洋数值模拟计算 系统ROMS系统以执行作业,包括:将所生成的作业脚本文件提交作业调 度队列中,由作业调度系统进行调度以执行作业。

在可选实施例中,在通过Web服务应用界面接收与任务相关的信息之 前,检测所述计算集群系统的队列信息,包括:队列名、可使用总核数、 队列中的作业数和可用计算节点数。

在可选实施例中,在通过Web服务界面接收与任务相关的信息之前, 检测用户的磁盘配额和计费额度。

在另一方面提供了一种用于海洋数值模拟计算系统ROMS的Web服务 封装系统,包括:

Web应用模块,用于通过Web服务界面接收与任务相关的信息;

脚本生成模块,用于根据所接收到的与任务相关的信息提取有用信息 并生成作业脚本文件;

作业提交模块,用于将所生成的作业脚本文件提交给计算集群系统; 以便所述计算集群系统根据所述作业脚本文件调用所述海洋数值模拟计算 系统ROMS来执行相应的作业。

在可选实施例中,所述Web应用模块包括:配置解析模块,用于根据 接收到的应用请求获取对应的应用配置文件;以及,Web服务界面生 成模块,用于根据所述应用配置文件以及所述海洋数值模拟计算系统 ROMS的运行情况生成相对应的Web服务界面。

在可选实施例中,所述Web服务封装系统还包括检测模块,用于检测 所述与任务相关的信息是否合法,检测为是时,所述脚本生成模块根据所 接收到的与任务相关的信息提取有用信息并生成作业脚本文件;检测否时, 生成不合法提示信息并显示在所述Web服务界面上。

附图说明

图1示出根据本发明一实施例的用于海洋数值模拟计算系统ROMS的 Web服务封装方法的流程图。

图2示出根据本发明另一实施例的用于海洋数值模拟计算系统ROMS的 Web服务封装系统的示意框图。

具体实施方式

下面结合附图对本发明实施例作进一步地说明。

图1是根据本发明一实施例的用于海洋数值模拟计算系统ROMS的 Web服务封装方法的流程图。如图1所示,该Web服务封装方法包括:

S101,通过Web服务界面接收与任务相关的信息。

可选地,在步骤S101之前,该Web服务封装方法还可以包括根据接 收到的应用请求获取对应的应用配置文件;根据所述应用配置文件以及所 述海洋数值模拟计算系统ROMS的运行情况生成相对应的Web服务界面。

在本发明实施例中,对于海洋数值模拟计算系统ROMS的每个应用, 都会有一个相对应的应用配置文件。该应用配置文件中包括:相应的页面 各项初始值,配置解析会根据计算集群系统的运行情况以及应用的实际情 况进行配置解析,生成相应的应用页面,也就是相对应的Web服务界面。

可选地,与任务相关的信息可以包括:在所述海洋数值模拟计算系统 ROMS所在路径、所需输入文件的目录和执行命令。

可选地,在步骤S101之前、同时或之后还可以通过所述Web服务界 面接收与要执行的作业相关的计算资源信息,所述计算资源信息包括:CPU 核心数、内存大小和计算时间。

可选地,用户还可以通过Web服务界面,选择是否使用虚拟网络计算 机(Virtual Network Computing,VNC)功能或CheckPoint功能(即断点再 计算功能)。可选地,用户还可以通过Web服务界面提交计算集群系统中的 节点、单节点核心数、网速协议、执行命令、应用所需输入文件等。

S102,根据所接收到的与任务相关的信息由脚本生成器提取有用信息 并生成作业脚本文件。

S103,将所生成的作业脚本文件提交给计算集群系统,以便所述计算 集群系统根据所述作业脚本文件调用所述海洋数值模拟计算系统ROMS来 执行相应的作业。

在可选实施例中,所述Web封装方法在步骤S102之前还包括:检测 所述与任务相关的信息是否合法,检测为是时,执行步骤S103;检测否时, 生成不合法提示信息并显示在所述Web服务界面上。

在可选实施例中,计算集群系统包括作业调度系统,步骤S103包括: 将所生成的作业脚本文件提交计算集群系统的作业调度队列中,由作业调 度系统进行调度以便调用所述海洋数值模拟计算系统ROMS来执行相应的 作业。

在可选实施例中,在步骤S101之前,Web封装方法还包括:检测所述 计算集群系统的队列信息,包括:队列名、可使用总核数、队列中的作业 数和可用计算节点数。

在可选实施例中,在通过Web服务界面接收与任务相关的信息之前, 检测用户的磁盘配额和计费额度。

图2是根据本发明实施例的用于海洋数值模拟计算系统ROMS的Web 服务封装系统的示意框图。如图2所示意,该Web服务封装系统包括: Web应用模块10,用于通过Web服务界面接收与任务相关的信息;脚本 生成模块20,用于根据所接收到的与任务相关的信息提取有用信息并生成 作业脚本文件;以及,作业提交模块30,用于将所生成的作业脚本文件提 交给计算集群系统;以便所述计算集群系统根据所述作业脚本文件调用所 述海洋数值模拟计算系统ROMS来执行相应的作业。

在可选实施例中,所述与任务相关的信息包括以下之一或任意组合: 所述海洋数值模拟计算系统ROMS所在路径、所需输入文件的目录、执行 命令、所需的计算节点、每个计算节点的CPU核心数和内存大小以及执行 任务的计算时间。

在可选实施例中,所述Web应用模块包括:配置解析模块,用于根据 接收到的应用请求获取对应的应用配置文件;以及,Web服务界面生成模 块,用于根据所述应用配置文件以及所述海洋数值模拟计算系统ROMS的 运行情况生成相对应的Web服务界面。

在可选实施例中,所述Web服务封装系统还包括检测模块,用于检测 所述与任务相关的信息是否合法,检测为是时,所述脚本生成模块根据所 接收到的与任务相关的信息提取有用信息并生成作业脚本文件;检测否时, 生成不合法提示信息并显示在所述Web服务界面上。

在可选实施例中,作业提交模块将所生成的作业脚本文件提交给计算集 群系统包括:将所生成的作业脚本文件提交计算集群系统的作业调度队列 中,由作业调度系统进行作业调度以便调用所述海洋数值模拟计算系统 ROMS来执行相应的作业。

在可选实施例中,所述检测模块还用于在Web服务应用界面接收与任 务相关的信息之前,检测所述计算集群系统的队列信息,包括:队列名、 可使用总核数、队列中的作业数和可用计算节点数。

在可选实施例中,所述Web服务封装系统还包括额度计算模块,用于 在通过Web服务界面接收与任务相关的信息之前,检测用户的磁盘配额和 计费额度,以便Web服务封装系统根据用户的磁盘配额和计费额度确定是 否为该用户的作业提供Web封装服务。进一步地,根据用户的磁盘配额还 可以用于计算集群系统为该用户分配相应的资源。

本发明通过Web封装,将海洋数值模拟计算系统ROMS的作业提交流 程隐藏在底层,提供给用户一个简单直观的Web页面,用户只需要Web 页面上执行简单的操作就能实现数据文件准备、计算资源申请、作业提交、 结果查看等整套流程。通过Web封装,可以大大降低用户的使用门槛,提 高使用效率,减小出错概率。

其有益效果可以体现在以下几个方面:

(1)降低使用难度。用户不再需要掌握Linux操作系统基本操作、Shell 脚本语言、常用的文本编辑和字符处理工具、MPI环境的调用、作业调度 软件等与其专业背景无关的知识和工具,就能轻松完成海洋数值模拟计算 系统ROMS计算任务的准备、执行等工作,大大降低了使用门槛。

(2)提高工作效率。繁琐复杂的命令行操作全部隐藏在底层,在底层 自动批量执行,可以节省大量的人为操作时间,提高使用效率。

(3)提高任务提交的成功率。本发明实施例中,会对用户在Web界 面提交的参数和数据进行各种合法性检查。比如,检查用户申请的计算资 源是否超过其权限,用户输入的参数是否合法,用户的输入文件格式是否 正确等,如果判断出错误,会在Web界面给出相应提示。通过这些合法性 检查可以大大提高并行任务提交的成功率。

(4)可轻松地实现复杂功能。海洋数值模拟计算系统ROMS运行的 一些复杂或高级功能,比如计算网络的选择,启动CPU进程绑定等,如果 通过命令行方式需要指定复杂的参数,操作繁琐,使用难度较大。进行Web 封装后,用户只需要通过界面上的一些选项框就能实现这些功能。

(5)提高高性能计算集群系统的使用安全性。将普通用户的任务提交 操作封装在Web后,用户执行的都是封闭式的操作,很大程度上避免了影 响系统稳定或安全的用户非法操作。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号