DPM 入门 > 部署 DPM > 在客户拥有的系统或云上部署 DPM > 通过“PTC 软件下载”页面部署 DPM
通过“PTC 软件下载”页面部署 DPM
在此部署方案中,数据库和 ThingWorx 将安装于系统上,随后可通过从“PTC 软件下载”页面下载解决方案并将扩展包导入 ThingWorx 的方式来将 DPM 部署到 ThingWorx 实例。
完成下文中的操作步骤:
先决条件
在部署 DPM 之前,请完成以下先决条件:
查看 DPM 系统要求,包括与 DPM 兼容的 ThingWorx 版本。有关详细信息,请参阅DPM 系统要求
查看兼容的 ThingWorx 版本的 ThingWorx 系统要求。有关详细信息,请参阅 ThingWorx 帮助中心的系统要求
安装兼容的 ThingWorx 版本。有关详细信息,请参阅安装 ThingWorx
应用适用的 DPM 许可证。有关详细信息,请参阅 ThingWorx 帮助中心的 ThingWorx 许可
配置 ThingWorx 以启用扩展导入。有关详细信息,请参阅 ThingWorx 帮助中心的导入扩展
请确保将 ThingWorx 服务器时区设置为 UTC。有关详细信息,请参阅 ThingWorx 帮助中心中的安装 Java、Apache Tomcat 和 ThingWorx主题。
如果要在 Linux 上安装数据库,请先安装 sqlcmd 工具。
安装 Microsoft SQL Server Management Studio。有关详细信息,请参阅 https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
更新脚本超时设置
要更新脚本超时设置,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx 服务器上,导航至 ThingWorxPlatform 文件夹。
2. 在文本编辑器中打开 platform-settings.json 文件。
3. BasicSettings 部分中,找到 ScriptTimeout 设置并将其值更新为 12000。
如果该选项尚未显示,请将其添加到 BasicSettings 部分,如下所示:"ScriptTimeout": 12000
4. 保存并关闭 platform-settings.json 文件。
5. 重新启动 ThingWorx 服务器。
* 
如果脚本日志中出现如下所示的消息,请重复上述步骤以进一步增加 ScriptTimeout 设置的值:
[message: Execution of Script terminated after : 12000 seconds. Timeout configured for 12000 seconds.]
有关详细信息,请参阅 ThingWorx 帮助中心中的platform-settings.json 配置详细信息主题。
更新会话超时设置
默认情况下,空闲用户会话将在 30 分钟后超时。您可以更改此设置以满足系统需求。
要更改会话超时设置,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx 中,导航至“系统” > “子系统”
2. 在编辑模式下打开 UserManagementSubsystem
3. “配置”下,更改“空闲会话超时 (分钟)”设置。
4. 单击“保存”
5. 重新启动 ThingWorx 服务器。
有关详细信息,请参阅 ThingWorx 帮助中心中的用户管理子系统
安装 MS SQL JDBC 驱动程序
如果将 ThingWorx 实例配置为以 PostgreSQL 作为持久化方案提供工具,那么要想安装 MS SQL JDBC 驱动程序,请完成以下步骤。如果将 ThingWorx 实例配置为以 MS SQL 作为持久化方案提供工具,请跳至下一节。
1. 通过以下链接,下载与 JRE11 兼容的 Microsoft JDBC Driver 7.4.1 for SQL Server 驱动程序版本:https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-ver15#sql-version-compatibility
2. 将 JDBC JAR 文件复制到 Tomcat 安装的 lib 目录中:(<TOMCAT_HOME>/lib)。
3. 重新启动 Tomcat 服务器以加载 JDBC 驱动程序,使其可在 ThingWorx 使用。
创建 DPM 数据库和数据库用户
请完成以下步骤:
1. 在主数据库中为 DPM 数据库用户创建登录名和密码。请遵照针对数据库的密码复杂性建议来创建密码。
对于 Windows,在 Microsoft SQL Server Management Studio 的查询编辑器中使用 Transact-SQL 命令:
CREATE LOGIN <dpmadmin> WITH PASSWORD = '<password>';
在上述命令中,使用 DPM 数据库用户的登录名和密码替换 <dpmadmin><password>
对于 Linux:
1. 在 Linux 客户端中打开命令提示符。
2. 使用以下命令在 SQL Server 上创建登录:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <dpmadmin> with password = '<dpmadmin-password>'" \
GO; \
exit
在上述命令中,使用数据库服务器名称替换 <database-server-name>,使用 SQL 管理员用户名和密码分别替换 <sql-administrator-username><sql-administrator-password>,以及使用 DPM 数据库用户的登录名和密码分别替换 <dpmadmin><dpmadmin-password>
2. 创建 DPM 将使用的 Microsoft SQL Server (MSSQL) 数据库。
对于 Windows,在 Microsoft SQL Server Management Studio 的查询编辑器中使用 Transact-SQL 命令:
CREATE DATABASE <dpmdb> COLLATE SQL_Latin1_General_CP1_CI_AS;
ALTER DATABASE <dpmdb> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <dpmdb> SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE <dpmdb> SET ARITHABORT ON;
在上述命令中,使用数据库名称替换 <dpmdb>
对于 Linux:
1. 在 Linux 客户端中打开命令提示符。
2. 使用以下命令创建 SQL Server 数据库,并使用数据库服务器名称以及 SQL 管理员用户名和密码分别替换相关变量:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create database <dpmdb> COLLATE SQL_Latin1_General_CP1_CI_AS; ALTER DATABASE <dpmdb> SET READ_COMMITTED_SNAPSHOT ON; ALTER DATABASE <dpmdb> SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE <dpmdb> SET ARITHABORT ON"
在上述命令中,使用数据库服务器名称替换 <database-server-name>,使用 SQL 管理员用户名和密码分别替换 <sql-administrator-username><sql-administrator-password>,以及使用数据库名称替换 <dpmdb>
3. 针对在步骤 1 中创建的登录名创建数据库用户。使用数据库用户在登录时所用的登录名。
对于 Windows,在针对步骤 2 中所创建的数据库打开的 Microsoft SQL Server Management Studio 查询编辑器中使用 Transact-SQL 命令:
CREATE USER <dpmadmin> FOR LOGIN <dpmadmin>;
ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>;
在上述命令中,使用步骤 1 中创建的登录名替换 <dpmadmin>
对于 Linux:
1. 在 Linux 客户端中打开命令提示符。
2. 使用以下命令为 DPM 数据库创建数据库用户,并使用数据库服务器名称以及 SQL 管理员用户名和密码分别替换相关变量:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "use <dpmdb>; create user <dpmadmin> for login <dpmadmin>;ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>"
在上述命令中,使用数据库服务器名称替换 <database-server-name>,使用 SQL 管理员用户名和密码分别替换 <sql-administrator-username><sql-administrator-password>,使用数据库名称替换 <dpmdb>,以及使用步骤 1 中创建的登录名替换 <dpmadmin>
通过“PTC 软件下载”页面下载 DPM 解决方案
请完成以下步骤:
1. 导航至“PTC 软件下载”页面,URL 如下:https://support.ptc.com/appserver/auth/it/esd/index.jsp
2. 选择 ThingWorx Foundation
3. 展开以下文件夹:ThingWorx Foundation > Release 9.3 > ThingWorx Digital Performance Management (DPM) 1.2 > “最近的日期代码”
4. 下载 DPM-1-2 扩展包 ZIP 文件。
导入 DPM 解决方案
导入 DPM 解决方案前,ThingWorx 管理员必须完成以下步骤:
1. 请确保 ThingWorx Composer 中已安装许可证。有关详细信息,请参阅 PTC 知识库中的此技术支持文章
2. 在 ThingWorx Composer 中,导航至“导入/导出” > “导入”
3. “导入”窗口中,从“导入选项”列表中选择“扩展”
4. “文件名”下面,单击“浏览”。导航至上一节下载的扩展包 ZIP 文件并将其选中。
5. 单击“导入”。导入完成后,单击“关闭”
6. 要在导入完成后查看 DPM 解决方案扩展,请导航至“管理” > “安装的扩展”
运行 InitializeSolution 服务
运行 InitializeSolution 服务,以配置要连接到 DPM 数据库的数据库事物,创建数据库表,并为构成 DPM 的构建基块注册管理器事物。
要运行此服务,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx Composer 中,导航至 PTC.Base.Manager 事物。
2. 获取配置参数:
a. “服务”下,查找并执行 GetSolutionDeploymentConfigurationParameters 服务。服务输出为 JSON,其中包含 InitializeSolution 服务所需的配置参数 (具体根据所提供的构建基块集而动态变化)。服务输出 JSON 如下所示:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"overrideComponentDeploymentState": {
"types": [
"BOOLEAN"
],
"description": "If true, the current component deployment state is ignored and the DeployComponent service will be rerun.",
"optional": true
},
"databasePassword": {
"types": [
"STRING"
],
"description": "Password of the database user used for DPM database Thing",
"optional": false
},
"databaseJDBCString": {
"types": [
"STRING"
],
"description": "JDBC Connection String for the DPM database Thing",
"optional": false
},
"databaseThing": {
"types": [
"STRING"
],
"description": "The default database thing (PTC.DBConnection.SQLThingDatabase)",
"optional": true
}
}
b. 复制在服务输出中返回的 JSON,并将其粘贴到文本编辑器中。
c. 编辑 JSON,使用特定于站点的值替换各个配置参数的大括号之间的内容。
databaseUser - 具有系统管理权限的数据库用户的登录名。
databasePassword - 具有系统管理权限的数据库用户的登录密码。
databaseJDBCString - DPM 数据库的 JDBC 连接字符串。
databaseThing - 默认数据库事物 (PTC.DBConnection.SQLThingDatabase)。
以下示例是经过编辑的 JSON:
{
"databaseUser": "<dpmadmin>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<DPMdatabaseName>",
"databaseThing": "PTC.DBConnection.SQLThingDatabase"
}
以下示例是经过编辑且具有实际值的 JSON:
{
"databaseUser": "DPMadmin",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"databaseThing": "PTC.DBConnection.SQLThingDatabase"
}
3. “服务”下,查找并执行 InitializeSolution 服务,并将步骤 2.c 中编辑的 JSON 作为此服务的 deploymentConfig 输入参数。
此服务完成后,输出会显示一个信息表,其中列出已部署的构建基块及其配置状况:ConfiguredNot ConfiguredError。如果构建基块具有 ErrorNot Configured 状况,请完成以下故障排除步骤:
a. 请确保 JSON 中指定的数据库凭据是有效的,然后再执行 InitializeSolution 服务。
b. 如果构建模块在服务输出中仍具有 ErrorNot Configured 状况,请审阅 ThingWorx 应用程序和脚本错误日志,并解决在此发现的任何错误。然后执行 InitializeSolution 服务。
c. 如果构建模块在服务输出中仍具有 ErrorNot Configured 状况,请更新 JSON 以在其中包含以下内容,然后执行 InitializeSolution 服务:
"overrideComponentDeploymentState": true
这对您有帮助吗?