主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

执行已部署的 MATLAB 函数

此示例显示如何使用 MATLAB® Client for MATLAB Production Server™ 调用部署到本地 MATLAB Production Server 实例的 MATLAB 函数。

MATLAB Client for MATLAB Production Server 使用 MATLAB Production Server 附加功能在 MATLAB 客户端和服务器实例之间进行通信。MATLAB Production Server 附加功能使得部署在 MATLAB Production Server 上的存档中的函数可以在 MATLAB 中使用。已部署的存档与其对应的 MATLAB Production Server 附加功能具有相同的名称。

在您的 MATLAB 桌面环境中安装 MATLAB Production Server 附加功能允许您使用 MATLAB 中已部署存档中的函数。安装 MATLAB Production Server 附加功能会在本地创建已部署函数的代理函数。代理函数管理已部署的 MATLAB 函数与调用已部署函数的客户端之间的通信。代理函数与其对应的部署函数具有相同的名称。由于代理函数是 MATLAB 函数,因此您可以从 MATLAB 命令提示符、其他函数或脚本调用它们。您还可以编译包含代理函数的函数和脚本。您可以在 MATLAB 命令提示符下使用 prodserver.addon.install 函数或使用 MATLAB Production Server Add-On Explorer 安装 MATLAB Production Server 附加功能。

调用代理 MATLAB 函数会通过网络向活动的 MATLAB Production Server 实例发送 HTTP 请求。服务器实例调用可部署存档中的 MATLAB 函数并将来自 HTTP 请求的输入传递给它。部署的 MATLAB 函数的返回值在网络上遵循相同的路径,但路径相反。

下面的示例描述了如何安装 MATLAB Production Server 附加功能并执行已部署的 MATLAB 函数。

安装 MATLAB Client for MATLAB Production Server

使用 MATLAB 附加功能资源管理器将 MATLAB Client for MATLAB Production Server 支持包安装到您的 MATLAB 桌面环境。有关安装附加功能的信息,请参阅获取和管理附加功能 (MATLAB)

在服务器上部署 MATLAB 功能

  1. 编写一个 MATLAB 函数 mymagic,使用 magic (MATLAB) 函数创建一个幻方。

    function m = mymagic(in)
      m = magic(in);
    end

  2. 将函数 mymagic 打包到名为 mathfun 的存档中。创建存档时,必须包含 MATLAB 函数签名文件。有关创建函数签名文件的信息,请参阅 JSON 中的 MATLAB 函数签名

  3. 在正在运行的 MATLAB Production Server 实例上部署存档 mathfun。服务器实例必须启用发现服务。有关启用发现服务的信息,请参阅发现服务。服务器管理员通常会部署存档并配置服务器。

有关如何创建和部署存档的信息,请参阅针对 MATLAB Production Server 创建可部署存档将存档部署至 MATLAB Production Server

为可部署存档安装 MATLAB Production Server 附加功能

在您的 MATLAB 桌面环境中,使用 MATLAB Production Server Add-On Explorer 为已部署的存档安装 MATLAB Production Server 附加功能。安装该附加功能后,部署在服务器上的 MATLAB 函数可供您的 MATLAB 客户端程序使用。MATLAB Production Server 附加功能资源管理器与 MATLAB 附加功能资源管理器不同。

启动 MATLAB Production Server 附加功能资源管理器

从 MATLAB 命令提示符下,使用命令 prodserver.addon.Explorer 启动 MATLAB Production Server 附加功能资源管理器

>> prodserver.addon.Explorer

MATLAB Production Server Add-On Explorer

添加服务器信息

MATLAB Production Server 附加功能资源管理器中,添加有关托管可部署存档 mathfun 的服务器的信息。

  1. Servers 部分中,点击 New

  2. Host 框中输入服务器的主机名,在 Port 框中输入端口号。例如,对于在本地计算机端口 64692 上运行的服务器,为 Host 输入 localhost,为 Port 输入 64692

  3. 点击 OK 添加服务器。

  4. 添加服务器后,您可以点击 Check Status 检查服务器状态。

您可以添加多台服务器。

Add new server

安装附加功能

添加服务器后,Servers and Add-Ons 部分会列出该服务器以及可以与该服务器通信的 MATLAB Production Server 附加功能。如果您添加多台服务器,此部分将列出所有服务器以及可以与托管它们的服务器下的每个服务器通信的附加功能。

安装 mathfun 附加功能,使可部署存档 mymagic 中的 MATLAB 函数 mathfun 可以在您的 MATLAB 客户端程序中使用。

  1. 选择 mathfun 附加功能。

  2. Add-Ons 部分中,点击 Install。这将安装该附加功能。

Install add-on from MATLAB Production Server Add-On Explorer

管理已安装的附加功能

安装 MATLAB Production Server 附加功能后,MATLAB 附加功能管理器会列出它。您可以执行启用、禁用和卸载附加功能以及查看有关附加功能的详细信息等任务。不支持在附加功能资源管理器中查看附加功能。

Add-On Manager listing the mathfun add-on.

调用已部署的 MATLAB 函数

安装附加功能会在本地创建代理 MATLAB 函数,让您可以调用部署在服务器上的 MATLAB 函数。您可以从 MATLAB 命令提示符、其他 MATLAB 函数、脚本或独立应用程序以交互方式调用代理函数,进而调用已部署的 MATLAB 函数。

您可以安装具有相同名称但托管在不同服务器上的多个附加功能。附加功能创建的代理函数出现在 MATLAB 搜索路径中。当您调用代理函数时,将调用最接近 MATLAB 搜索路径顶部的同名函数。有关 MATLAB 搜索路径的更多信息,请参阅 什么是 MATLAB 搜索路径? (MATLAB)

从命令行调用已部署的 MATLAB 函数

例如,要调用服务器上托管的 mymagic 函数,您可以从 MATLAB 命令提示符下的 mymagic 附加功能调用代理 matfun 函数。

>> mymagic(3)

这将打印一个 3 x 3 的幻方。

MATLAB 函数调用已部署的 MATLAB 函数

您可以在 MATLAB 函数和脚本中调用已安装的附加代理函数。例如,编写一个简单的 MATLAB 程序 mytranspose.m,创建使用代理函数 mymagic 创建的幻方的转置。

function mytranspose
    A = mymagic(5);
    A.'    
end
运行 mytranspose 会打印 5 x 5 幻方的转置。
>> mytranspose

从独立可执行文件调用已部署的 MATLAB 函数

您可以在 MATLAB 函数中调用已安装的附加代理函数,然后从 MATLAB 函数创建独立可执行文件。例如,您可以使用 MATLAB Compiler™mytranspose MATLAB 客户端函数创建独立的可执行文件。

>> mcc -m mytranspose

在系统命令提示符下运行独立可执行文件 mytranspose。如果您的计算机上尚未安装 MATLAB Runtime,则可能需要安装它。有关更多信息,请参阅 MATLAB Runtime

C:\mytranspose> mytranspose
这将打印出一个 5×5 幻方的转置。

您可以配置独立可执行文件以使用除默认值以外的超时值或使用不同的服务器地址。有关详细信息,请参阅配置客户端-服务器通信

您可以在 support_package_root\toolbox\mps\matlabclient\demo 文件夹中找到更多示例,其中 support_package_root 是您系统上支持包的根文件夹。您可以在 MATLAB 命令提示符下输入 doc 命令或点击 MATLAB 桌面中的帮助按钮来访问文档。在打开的帮助浏览器中,导航到 Supplemental Software 下的 MATLAB Client for MATLAB Production Server

另请参阅

|

主题