计算模型的交互架构、交互方法和存储介质与流程

文档序号:14571751发布日期:2018-06-01 22:36阅读:142来源:国知局
计算模型的交互架构、交互方法和存储介质与流程

本公开的实施例涉及一种计算模型的交互架构及其交互方法,属于计算机领域。



背景技术:

在科研和工程上,通过计算机的模型运算执行数值模拟是一个重要的计算工具。模型运算的一般过程为:输入条件->运算->输出结果。输入条件通常将模型需要的各类数据写成电脑文件,由模型程序读入,经过模型运算将模型计算结果以文件形式输出。

在相关技术中,一种计算模型的计算机结构为在根目录下管理同一工程的所有文件,例如模型文件、数据文件等;在模型控制中通过可视化方式建立输入文件然后在配置界面下根据输入文件启动模型执行运算过程。这种计算模型的计算机结构不便于查询相关模型的参数,也无法实现不同模型之间的逻辑约束等操作,适用范围较窄。另一种计算模型的计算机结构为将计算模型封装为外部程序调用的组件,例如ActiveX或COM+。这种计算模型的计算机结构需要对计算模型进行较大改动,开发工作量较大,且无法适用于已有的模型。

由此可见,本领域依旧需要一种便于进行计算模型的管理、配置、操作的计算机框架结构。



技术实现要素:

在一个方面,本公开的实施例公开了一种计算模型的交互架构,包括:

模型信息模块,被配置为存储所述计算模型的信息;

模型计算模块,被配置为执行所述计算模型;

模型控制模块,连接所述模型信息模块和所述模型计算模块,被配置为根据所述计算模型的信息控制所述计算模型的执行。

在本公开的一些实施例中,所述计算模型的信息包括所述计算模型的状态和配置参数。

在本公开的一些实施例中,所述模型信息模块包括配置单元,所述配置单元被配置为接受对所述计算模型信息的访问和/或配置;与所述配置单元连接的数据库单元,被配置为存储所述计算模型信息的状态和配置参数。

在本公开的一些实施例中,所述对所述计算模型信息的访问包括使用所述计算模型的用户、使用所述计算模型的项目、所述计算模型的名称、所述计算模型的类型和所述计算模型的子模型信息中的至少一者,所述使用所述计算模型的用户、使用所述计算模型的项目、所述计算模型的名称、所述计算模型的类型和所述计算模型的子模型信息中的至少一者与所述数据库单元中的所述计算模型信息相对应。

在本公开的一些实施例中,所述模型配置模块被配置为根据使用所述计算模型的用户、使用所述计算模型的项目、所述计算模型的名称、所述计算模型的类型和所述计算模型的子模型信息中的至少一者,从所述数据库单元中获得对应的所述计算模型信息,控制所述模型计算模块的所述计算模型的执行。

在本公开的一些实施例中,所述对所述计算模型信息的配置包括配置所述计算模型的参数和/或参数的约束。

在本公开的一些实施例中,所述对所述计算模型信息的配置包括配置多个所述计算模型的逻辑关系。

在本公开的一些实施例中,所述模型控制模块被配置为根据所述计算模型的状态,控制所述计算模型的执行的操作。

在另一方面,本公开的实施例提供了一种计算模型的交互方法,基于上述的交互架构实现,所述交互方法包括下述步骤:存储所述计算模型的信息,根据所述计算模型的信息控制所述计算模型的执行,执行所述计算模型。

在又一方面,本公开的实施例提供了一种存储介质,存储有由处理器运行的计算机指令,所述计算机指令被处理器执行时可以执行上述的交互方法。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,其构成本公开发明内容的一部分,本公开的示意性实施例及其说明用于解释本公开的技术方案,并不构成对本公开的不当或进一步限定。

图1所示为本公开一个实施例的计算模型交互架构的示意图;

图2所示为本公开一个实施例的计算模型交互方法流程图;

图3所示为本公开一个实施例的实现计算模型交互架构的计算机系统工作的示意图;

图4所示为本公开一个实施例的实现计算模型交互架构的计算机系统的流程图。

具体实施方式

为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

在下述中,所称的计算机是具有计算资源的硬件系统的统称,即可以是家用计算机PC,也可以是服务器或服务器集群,还可以是云服务器或运行于云端环境的云主机等。根据所要执行的功能,在计算机上安装所需的系统和软件并进行配置。

在下述中,计算模型可以是包括一个或多个计算机指令的程序,以被处理器运行以执行对应的计算功能,例如对数据进行分析、进行数学运算、处理图像等。

在下述中,连接是可以通过网络连接进行直接或间接的通信,例如通过无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者Wi-Fi等通信方式。

为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。

参考图1、2所示,显示了本公开实施例的计算模型交互架构以及交互方法。本公开一个实施例提供的一种计算模型的交互架构,包括:

模型信息模块,被配置为存储所述计算模型的信息;

模型计算模块,被配置为执行所述计算模型;

模型控制模块,连接所述模型信息模块和所述模型计算模块,被配置为根据所述计算模型的信息控制所述计算模型的执行。

与上述计算模型的交互架构所对应的,本公开实施例提供的一种计算模型的交互方法中,包括下述步骤:

S10、存储、访问和配置所述计算模型的信息;

S20、根据所述计算模型的信息控制所述计算模型的执行;

S30、执行所述计算模型。

通过上述实施例的技术方案,至少部分地实现如下效果中的一个:

1、便于管理和使用计算模型。

2、易于配置计算模型的信息和参数。

3、可以通过网络控制计算模型建立、运行和后处理。

4、模型之间可建立逻辑关联和约束关系,如一个模型输出可作为另一模型输入,或者一个模型状态决定另一模型可执行的操作。

可选地,计算模型的信息包括计算模型的状态和配置参数。例如,计算模型的状态包括可配置、可运行、可查看等,根据计算模型的状态,模型控制模块控制所选择的计算模型在模型计算模块中可执行的操作。例如,计算模型的配置参数包括计算模型在模型计算模块中执行时所需要进行配置的参数,例如CPU的数目、内存大小、数据存储位置、上传下载数据等,模型控制模块根据计算模型的配置参数控制模型计算模块中的计算模型以何种方式执行。

可选地,模型信息模块包括配置单元,配置单元被配置为接受对计算模型信息的访问和/或配置;与配置单元连接的数据库单元,被配置为存储计算模型信息的状态和配置参数。

例如,接受对计算模型信息的访问可以是在运行配置单元的计算机中设置WEB服务器,通过其架设的WWW服务实现对计算模型信息的访问;例如,可以通过HTTP、HTTPS、Socket、FTP等方式实现对WWW服务的连接;例如,可以设置用户名和密码的方式、通过设置可信证书等的方式实现对访问的权限控制。

例如,用户可通过电脑、手机、平板等任何可进行对WWW服务进行访问的终端进行。

在本公开的一些实施例中,所述对所述计算模型信息的访问包括使用所述计算模型的用户、使用所述计算模型的项目、所述计算模型的名称、所述计算模型的类型和所述计算模型的子模型信息中的至少一者,所述使用所述计算模型的用户、使用所述计算模型的项目、所述计算模型的名称、所述计算模型的类型和所述计算模型的子模型信息中的至少一者与所述数据库单元中的所述计算模型信息相对应。

例如,计算模型信息在逻辑上按照用户、项目、模型、类型、子模型等多级组织进行构建,每级可以对应一个或多个实例。

例如,每级组织结构中的每个实例以唯一ID标识符进行标识,每个ID与每个实例的对应关系可以存储在数据库单元中。

在本公开的一些实施例中,接受对计算模型信息的访问和/或配置还包括以可视化或命令化的方式实现对计算模型信息的访问和/或配置。

例如,在可视化的方式下,对计算模型信息的访问和/或配置可以由对应配置单元的计算机可视化界面GUI实现,用户在访问或配置时通过鼠标、触摸板、键盘等点击、双击、拖动等方式实现相应的访问或配置操作。

例如,在可视化的方式下,计算模型信息在逻辑上的用户、项目、模型、类型、子模型等多级组织可以以树形进行显示,可以以框图进行显示,可以以扇形图进行显示等。

例如,在命令化方式下,对计算模型信息的访问和/或配置可以由对应配置单元的计算机文本命令界面实现,用户在访问或配置时通过相应的文本命令、控制脚本、配置文件等方式实现相应的访问或配置操作。

例如,在命令化的方式下,计算模型信息在逻辑上的用户、项目、模型、类型、子模型等多级组织可以以文本进行显示等。

在本公开的一些实施例中,所述模型配置模块被配置为根据使用所述计算模型的用户、使用所述计算模型的项目、所述计算模型的名称、所述计算模型的类型和所述计算模型的子模型信息中的至少一者,从所述数据库单元中获得对应的所述计算模型信息,控制所述模型计算模块的所述计算模型的执行。

例如,在数据库单元中存储计算机模型信息与用户、项目、模型、类型、子模型等多级组织中的每一个实例ID的对应关系。基于该对应关系,模型控制模块可以获得对应的计算机模型配置和状态信息,从而在模型计算模块上执行、控制计算模型的运行、处理等操作。

在本公开的一些实施例中,对所述计算模型信息的配置包括配置计算模型的参数和/或参数的约束。

例如,计算模型的参数可以是对实现计算模型的运行所需的硬件资源的配置。

在本公开的一些实施例中,所述对所述计算模型信息的配置包括配置多个所述计算模型的逻辑关系。

例如,逻辑关系可以是多个计算模型的操作关系,包括一个模型输出可作为另一模型输入,或者一个模型状态决定另一模型可执行的操作,或者一个模型基于另一个模型的状态从而向不同的模型提供不同的输入。诸如此类,此处的逻辑关系涵盖计算模型不低于两个时,计算模型中的至少任意两个在逻辑上的关联。

在本公开的一些实施例中,模型控制模块被配置为根据计算模型的状态,控制计算模型的执行的操作。

例如,模型控制模块根据数据库单元中存储的计算模型的状态,包括可配置、可运行、可查看等,以确定控制计算模型可执行的操作;在确定可执行的操作后,模型控制模块从数据库单元中获得与计算模型对应的配置信息后,控制计算模型的运行。

例如,计算模型的状态可以通过状态代码的方式进行表示。

例如,如下表所示,显示了计算模型的状态与其可执行的操作之间的对应关系:

表1计算模型的状态代码、信息及对应操作

例如,模型控制模块被配置为在模型计算模块中不存在所需的计算模型时,在模型计算模块上建立所需的计算模型;例如在模型计算模块中生成计算模型的程序和程序运行所需的文件,例如通过软链接的方式将在其它位置存储的已经编译好的程序和程序运行所需的文件软链接到模型计算模块中。

为了更清楚的描述本公开实施例提供的计算模型交互架构的运行方式,如下申请人提供一个具体的工程实现。

在本公开的一些实施例中,模型信息模块被配置为以一个或多个运行WEB服务的服务器,在WEB服务器上运行有WWW服务以执行配置单元,在WEB服务器上运行有服务器以执行服务器单元。终端用户通过联网的终端,访问WEB服务器的对应服务。

在本公开的一些实施例中,计算模型在逻辑上按照用户、项目、模型、类型和子模型五级组织,每级包括至少一个实例,每个实例具有唯一ID进行标识,其对应关系存储在数据库单元中,并在WWW服务的前台访问界面以可视化方式向终端用户显示。

在本公开的一些实施例中,模型信息模块通过网页以可视化的界面呈现,如表单、GIS地图等。

在本公开的一些实施例中,计算模型的参数、计算模型的约束关系通过网页编程实现。配置完成后经WWW服务保存入数据库单元中。

在本公开的一些实施例中,模型计算模块可以被配置为以单机或计算集群或云计算所实现的计算资源服务器,在计算资源服务器上运行有FTP、HTTP、HTTPS等可访问的服务端口以实现数据的上传和下载。计算资源服务器连接WEB服务器上的数据库。

在本公开的一些实施例中,模型计算模块中可以对应于模型信息模块中的计算模型的逻辑组织结构存放所要运行的计算模型的位置。例如,计算模型在模型信息模块中的逻辑组织ID分别为user1、proj1、model1、type1、submodel1,模型计算模块中对应的存放目录为user1/proj1/model1/type1/submodel1/。

在本公开的一些实施例中,模型控制模块可以通过单独的计算机实现,也可以在执行模型信息模块或模型计算模块的服务器上实现。例如,模型控制模块集成在模型计算模块的服务器上。

在本公开的一些实施例中,模型控制模块被配置为建立网络服务,接收来自用户终端的联接。在运行模型信息模块的WEB服务与模型控制模块连接后,将当前访问操作的用户、项目、模型、类型及子模型等模型信息传给模型控制模块,模型控制模块根据这些信息在数据库单元中获得计算模型配置和状态信息,在运行模型计算模块的服务器上建立或访问模型对应的目录,并控制模型的运行、后处理等操作。

在本公开的一些实施例中,如图4所示,显示了通过模型控制模块完成计算模型工作的过程。

例如,终端用户在浏览器上点击运行计算模型的超链接触发流程,所带参数为用户、项目、模型、类型和子模型的ID。

例如,运行模型信息模块的WEB服务器可以通过具有网络编程功能的语言实现,例如PHP、ASP、ASP.NET、JSP等。以JSP为例,通过JavaBean引入socket网络编程功能。

例如,模型信息模块连接模型控制模块并将终端用户ID发送给模型控制模块以检查当前正在运行计算模型的用户列表,如果有该用户则向模型信息模块反馈正在运行计算模型的信息,例如JSP中的“in_processing”信息,然后返回等待下一个网络联接。模型信息模块接收信息后向终端用户输出正有任务在运行,不能同时运行两个任务的提示信息。如果没有任务在运行则向模型信息模块反馈可以进行模型控制的信息,例如JSP中的“OK”信息,然后建立一个针对该次计算模型任务的子线程负责本次任务,主线程返回等待下一个网络联接。

例如,模型信息模块将指令、项目、模型、类型、子模型等的实例ID依次或一次发送给模型控制模块。在需要并行计算的情况下,模型信息模块还可以将用户配置的计算模型运行节点分配的线程数信息一并发送给模型控制模块。

例如,在模型信息模块向模型控制模块发送计算模型的相关信息后,数据库单元刷新其所存储的计算模型的状态,例如将计算模型状态改为3(正在运行),向访问WEB服务器的终端用户浏览器输出计算模型启动成功的信息。

例如,模型控制模块接到指令和各级的实例ID后,首先检查模型计算模块中是否存在该计算模型,如果没有该计算模型,则建立存放该计算模型的文件目录并放入所需计算模型需要的程序及文件。

例如,模型控制模块从数据库单元中读取计算模型的配置参数,生成计算模型配置文件。同时根据配置信息将需要的数据文件联接过来。

例如,被配置为并行计算的计算模型,模型控制模块检查各计算节点空闲情况,确定最多可启动多少线程,与所读取的用户设定值比较,取较小者生成节点线程分配文件,如果线程数不足,则更新数据库单元的中模型状态,例如更新计算模型的状态为6(未分配到CPU),然后结束。如果线程数满足,则以并行方式启动模型。如果不需要并行计算,则直接启动模型。

例如,模型控制模块还被配置为在计算模型运行结束后检查其日志文件,以判断计算模型是否运行成功。如果运行成功,则更新数据库中的计算模型状态,例如改为4(模型运行成功);如果运行失败,将模型状态改为5(未成功得到结果)。

在又一方面,本公开的实施例提供了一种存储介质,存储有由处理器运行的计算机指令,所述计算机指令被处理器执行时可以(执行上述实施例的模块、单元)执行上述的交互方法。

例如,处理器可以是中央处理单元(CPU)或者现场可编程逻辑阵列(FPGA)或者单片机(MCU)或者数字信号处理器(DSP)等具有数据处理能力和/或程序执行能力的器件。

例如,存储介质可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在存储介质上可以存储一个或多个计算机指令,处理器可以运行所述计算机指令,以实现各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。

例如,包含上述存储介质的计算机系统还可以包括操作输入设备。操作输入设备例如可以为键盘、鼠标、遥控器或带触摸功能的触摸屏等。操作输入设备可被用于从外部计算机设备、从用户等处接收指令以实现终端用户与计算机系统进行交互。

对于本公开,还有以下几点需要说明:

(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。

(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。

以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1