联系InfoSphere Streams和OpenMI时对水利模型联系的设计模式的一些考虑

Posted Nothing is true, everything is

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了联系InfoSphere Streams和OpenMI时对水利模型联系的设计模式的一些考虑相关的知识,希望对你有一定的参考价值。

  从《时序计算通用模型接口 OpenMI开发技术及应用》一书中的第一章的对接口要求描述,我想到InfoSphere streams的流数据处理模式刚好可以满足这种模型/数据之间对接的需求。

  首先就是标准化的问题,如SPL一般,我们设计数据类型,将模型(包括其计算内核【可能由不同语言和不同人开发编写】、作为adapter的中间件【负责将计算内核的接口重新包装为平台接口】)看作是SPL中的operator,模型间的联系看作是operator之间的输入输出端口【包括将计算内核的数据转化为平台数据格式的模块】,这些都需要提供标准接口才能做到类似SPS的管理系统的集中管理和分析以及它们之间的通信。

  这样一来,对于构建各个模型间的协同关系并使其共同工作的设计难度会有所下降,应该也满足项目的需求。开发人员所需要做的就是“自己定制operator“(【可以用已有的类似SPL的语言进行简单的定制,也可以使用别的语言实现内核,并如同InfoSphere支持的C++编写原生Operator一样进行开发和包装】)或是使用我们设计的Toolkit里的标准Operator【即已经包装好的模型】进行模型构建、连接。

  发现这个水利工程其实很多应用需求和流数据的情景很相像,如需要历史数据分析时我们还可以引入Window的概念等。

  其实也不知道这样的想法的可行性如何,毕竟InfoSphere Streams是IBM的大牛们进过几年的开发才有的产品。

以上是关于联系InfoSphere Streams和OpenMI时对水利模型联系的设计模式的一些考虑的主要内容,如果未能解决你的问题,请参考以下文章

[Fortify][.NET]Unreleased Resource: Streams 排除

mysql中打开文件和打开文件的区别

io.ByteIO和open操作二进制流的区别(转)

Node.js 中的 Streams3 是啥,它与 Streams2 有何不同?

为啥 Files.lines(和类似的 Streams)不会自动关闭?

Streams 和 Firehose 的用例是啥?