一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种HEC-HMS模型的Web服务发布插件及其安装方式

2022-12-20 22:28:07 来源:中国专利 TAG:

一种hec-hms模型的web服务发布插件及其安装方式
技术领域
1.本发明涉及hec-hms模型的服务发布技术领域,特别是一种hec-hms模型的web服务发布插件及其安装方式。


背景技术:

2.hec-hms模型是美国陆军兵团水文中心开发的水文模型。hec-hms模型不仅详细刻画了流域主要水文过程,还充分体现了下垫面及驱动因子(如降雨)空间异质性的影响,是流域在数字世界最佳映像之一。基于这些特点和优势,hec-hms模型在全球诸多特征差异显著的流域都有成功应用,这些应用为解决水资源规划、洪水预报、城镇化影响及水库设计评估等问题提供了有效决策支持。
3.因此,在构建流域决策管理系统时,如果能集成hec-hms模型,可以充分利用其既有决策支持能力,为水资源规划、洪水预报、城镇化影响及水库设计评估等提供决策支持能力,进而大大降低系统研发的难度和周期。然而,当构建以hec-hms模型为引擎的综合决策系统时,通常需要模型以静默形式(背景进程)提供决策支持。目前,流域决策管理系统主要通过hec-hms模型脚本系统来集成hec-hms模型,即开发者要在决策系统内构建一个模块用于动态生成与hec-hms模型交互的jython脚本,及另一个模块通过系统shell脚本来调用这些jython脚本。此方案有效实现系统和模型之间的静默交互,但这种交互链条长,涉及shell、jython、java、fortran及决策系统所开发语言之间相互通信,其性能受到一定影响,动态生成shell脚本也可能因为系统安全限制而失效(特别是系统移植时),进而影响决策支持的实时和稳定性。此外,通过脚本调用也意味着综合决策系统和模型之间必须部署在相同设备上,降低了系统扩展能力。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种hec-hms模型的web服务发布插件及其安装方式,实现避免当前通过jython脚本集成方案的不足之处,构建高性能、高稳定性和易扩展的决策系统。
5.为实现上述目的,本发明采用如下技术方案:一种hec-hms模型的web服务发布插件,具体包括:
6.服务监听模块:接受客户端http协议服务请求,并将客户端服务请求转发至调度模块;
7.调度模块:提取客户端服务请求的统一资源标识uri,并依据预设uri与服务端资源子模块映射字典,将客户端服务请求转至对应服务处理模块实例;
8.hec-hms模型服务模块:过滤客户端服务请求,并负责hec-hms模型时间序列编辑、模型输入文件编辑、模型调用及模拟结果提取;
9.客户端连接请求模块:当hec-hms模型服务模块需要调用外部资源时,客户端连接请求模块负责从外部获取相应的资源;
10.模块间的调用次序依次为:服务监听模块、调度模块、服务处理模块、客户端连接请求模块,任一模块依据业务处理逻辑决定是否调用下一模块。
11.在一较佳的实施例中,服务监听模块创建和运作过程如下:
12.步骤s1-1:创建一个restlet的component组件,component组件是所述hec-hms模型的web服务发布插件的总容器;
13.步骤s1-2:获取component组件中现有服务容器集合入口类,为下一步添加新服务容器做好准备;
14.步骤s1-3:指定服务监听协议和端口,通过component组件中现有服务容器集合入口类的添加方法新web服务容器到现有服务容器集合;
15.步骤s1-4:启动component组件,连动开启现有服务容器集合中的所有服务容器。
16.在一较佳的实施例中,所述服务处理模块包括:
17.拆装子模块:解压缩客户端服务请求中携带的压缩信息,对返回客户端的响应信息进行压缩;
18.过滤子模块:对客户端服务请求进行鉴权,放弃非法请求,并返回错误提示;
19.路由子模块:依据统一资源标识uri和http请求方法与服务端资源及其处理方法之间的映射关系,将客户端服务请求转至对应的服务端资源子模块进行处理;
20.服务端资源子模块:将hec-hms模型输入时间序列、模型输入参数文件、模型程序及模型输入时间序列定义为资源,并依据资源类型定义每个资源的创建、修改、删除、查询及运行操作。
21.在一较佳的实施例中,所述hec-hms模型服务模块的过滤子模块对客户端请求进行鉴权过滤非法请求,其处理流程如下:
22.步骤s2-1:从请求信息中提取用户名、信息体及鉴权摘要;
23.步骤s2-2:利用提取的用户名,在本地存储中获取该用户的密码;
24.步骤s2-3:将用户名、密码和传输信息串接,并进行md5加密,生成鉴权摘要;
25.步骤s2-4:对比客户端提交的鉴权摘要和过滤子模块生成鉴权摘要,如果一致,则执行步骤s2-5,如果不一致,则执行步骤s2-6;
26.步骤s2-5:将请求传递给路由子模块进行后继处理;
27.步骤s2-6:返回非法请求的提示,并结束业务处理流程。
28.本发明还提供了一种hec-hms模型的web服务发布插件的安装方式,采用了上述的一种hec-hms模型的web服务发布插件,插件安装方式为:在hec-hms模型启动入口shell脚本中添加插件依赖库,并指定插件为程序入口;所述启动入口shell脚本在windows系列操作系统上为hec-hms.cmd文件,在linux操作系统上为hec-hms.sh文件。
29.与现有技术相比,本发明具有以下有益效果:首先,通过hec-hms模型的web服务发布插件,可实现流域决策系统和hec-hms模型分离、松散式集成,使集成后的系统具备更好的稳定和易扩展特性;其次,hec-hms模型的web服务发布插件安装简单,因此比传统集成方法更易实施,可降低集成项目研发的难度和周期;最后,利用hec-hms模型的web服务发布插件,集成系统可快速获取依托于hec-hms模型的水资源规划、洪水预报、城镇化影响及水库设计评估能力。
附图说明
30.图1为本发明优选实施例的插件结构示意图。
31.图2为本发明优选实施例的服务监听模块处理流程示意图。
32.图3为本发明优选实施例的hec-hms模型服务模块示意图。
33.图4为本发明优选实施例的hec-hms模型服务的拆装子模块示意图。
34.图5为本发明优选实施例的hec-hms模型服务模块的过滤子模块处理流程示意图。
35.图6为本发明优选实施例的插件与hec-hms模型关系示意图。
具体实施方式
36.下面结合附图及实施例对本发明做进一步说明。
37.应该指出,以下详细说明都是例示性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
38.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式;如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
39.如图1所示,本实施例提供了一种hec-hms模型的web服务发布插件及其安装方式,该插件包括服务监听模块、调度模块、服务处理模块及客户端连接请求模块;该插件所有模块均利用restlet框架和java编程语言实现。其中,服务监听模块接受客户端http协议服务请求,并将客户端服务请求转发至调度模块;调度模块依据统一资源标识uri和服务处理模块映射关系,将客户端服务请求转至服务处理模块实例;服务处理模块过滤客户端服务请求,并负责hec-hms模型时间序列编辑、模型输入文件编辑、模型调用及模拟结果提取;当服务处理模块需要调用外部资源时,客户端连接请求模块负责从外部获取相应的资源。
40.如图2所示,在本实施例中,服务监听模块创建和运作过程如下:
41.s1-1:创建一个restlet的component组件,component组件是所述hec-hms模型的web服务发布插件的总容器;
42.s1-2:获取component组件中现有服务容器集合入口类,为下一步添加新服务容器做好准备;
43.s1-3:指定服务监听协议和端口,通过component组件中现有服务容器集合入口类的添加方法新web服务容器到现有服务容器集合;
44.s1-4:启动component组件,连动开启现有服务容器集合中的所有服务容器。
45.在本实施例中,所述的一种hec-hms模型的web服务发布插件的调度模块依据统一资源标识uri和服务处理模块映射,按将客户端服务请求转至服务处理模块实例,所述服务处理模块实例由component组件创建和管理。
46.表1描述了统一资源标识uri和服务处理模块映射关系。编号1、2、3和4映射关系分别规定了模型参数所有操作、模型输入序列操作、模型运行及模型输出序列获取的入口路径,即当客户请求路径以表格1中规定的uri为起始时,将请求转发至对应的服务处理模块进行处理。
47.表格1.统一资源标识与服务处理类型映射表
48.编号统一资源标识(uri)服务处理模块类型1/input/txt模型参数处理模块2/input/ts模型输入序列处理模块3/model模型处理模块4/output/ts模型输出序列处理模块
49.在本实施例中,如图3所示,所述的一种hec-hms模型的web服务发布插件的hec-hms模型服务模块包括:
50.拆装子模块:解压缩客户端服务请求中携带的压缩信息,对返回客户端的响应信息进行压缩;
51.过滤子模块:对客户端服务请求进行鉴权,放弃非法请求,并返回错误提示;
52.路由子模块:依据统一资源标识(uri)和http请求方法与服务端资源及其处理方法之间的映射关系,将客户端服务请求转至对应的服务端资源子模块进行处理;
53.服务端资源子模块:将hec-hms模型输入时间序列、模型输入参数文件、模型程序及模型输入时间序列定义为资源,并依据资源类型定义每个资源的创建、修改、删除、查询及运行操作。
54.在本实施例中,如图4所示,所述hec-hms模型服务的拆装子模块对客户端请求信息进行解压缩,以方便后继模块对该信息进行处理;对返回客户端响应信息进行压缩,通过降低网络数据量,提高信息交换效率。
55.在本实施例中,如图5所示,所述hec-hms模型服务模块的过滤子模块对客户端请求进行鉴权过滤非法请求,其处理流程如下:
56.步骤s2-1:从请求信息中提取用户名、信息体及鉴权摘要;
57.步骤s2-2:利用提取的用户名,在本地存储中获取该用户的密码;
58.步骤s2-3:将用户名、密码和传输信息串接,并进行md5加密,生成鉴权摘要;
59.步骤s2-4:对比客户端提交的鉴权摘要和过滤子模块生成鉴权摘要,如果一致,则执行步骤步骤s2-5,如果不一致,则执行步骤s2-6;
60.步骤s2-5:将请求传递给路由子模块进行后继处理;
61.步骤s2-6:返回非法请求的提示,并结束业务处理流程。
62.在本实施例中,所述服务处理模块的路由子模块依据统一资源标识uri、http请求方法、服务端资源及其处理方法之间映射关系,按将客户端服务请求转至服务端资源子模块实例,所述服务端资源子模块实例由component组件创建和管理。
63.表2描述了统一资源标识uri、http请求方法、服务端资源及其处理方法映射关系。分别指定get、put、post及delete方法用来查询、更新、创建(或执行)及删除资源。
64.表格2.统一资源标识和http请求方法与服务端资源及其处理方法之间的映射
[0065][0066]
在本实施例中,模块间的调用次序依次为:服务监听模块、调度模块、服务处理模块、客户端连接请求模块,任一模块可以依据业务处理逻辑决定是否调用下一模块。
[0067]
本实施例还提供了一种hec-hms模型的web服务发布插件安装方法,如图6所示和列表1所示,所述插件安装方式为:在hec-hms模型启动入口shell脚本中添加插件依赖库,并指定插件为程序入口;所述启动入口shell脚本在windows系列操作系统上为hec-hms.cmd文件,在linux操作系统上为hec-hms.sh文件。除修改hec-hms模型启动入口shell脚本安装插件外,也可以复制一份hec-hms模型启动入口shell脚本,并在该备份的hec-hms模型启动入口shell脚本实现插件安装。
[0068]
列表1.修改hec-hms入口脚本实现web服务插件安装(详见加下划线部分)
[0069][0070][0071]
当决策系统的各个构件是由不同的语言开发或仅支持特定平台时,通过对这些构件的web服务封装,可有效实现这些构件松散式的集成。因此,通过对hec-hms模型的web服务封装和集成,可避免当前通过jython脚本集成方案的不足之处,构建高性能、高稳定性和易扩展的决策系统。
[0072]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0073]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0074]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0075]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0076]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献