DPM 入门 > 升级 DPM > 在客户拥有的系统或云上升级 DPM > 通过“PTC 软件下载”页面升级 DPM
通过“PTC 软件下载”页面升级 DPM
要通过“PTC 软件下载”页面从 DPM 1.1 升级到 DPM 1.2,请完成以下各部分中的步骤:
开始升级过程之前
在开始升级过程之前,请查看以下信息:
ThingWorx 帮助中心中的 ThingWorx 9.3 系统要求
ThingWorx 帮助中心中的升级 ThingWorx
对 DPM 的自定义会受到升级过程的影响。有关详细信息,请参阅自定义和升级
升级 ThingWorx 之前
在升级 ThingWorx 之前,请完成以下步骤:
如果您已自定义任何构建基块,请备份您的自定义。
升级过程中将覆盖本地化表。如果已在本地化表中自定义标记,请在执行升级之前导出自定义的本地化表。可在升级完成后导入已导出的本地化表,以保留您的修改。
升级 ThingWorx
请完成以下步骤:
1. 升级 ThingWorx 安装。有关详细信息,请参阅 ThingWorx 帮助中心中的升级 ThingWorx
有关与 DPM 1.2 兼容的 ThingWorx 版本,请参阅DPM 系统要求
2. 重新启动 ThingWorx 服务器。
升级 DPM 之前
在升级 DPM 之前,请查看以下信息并执行必要的操作:
DPM 将在升级过程中不可用,这意味着在这段时间内无法输入生产数据。PTC 建议您先在测试系统上进行升级,然后再升级生产系统。这样有助于确定生产系统不可用的时长。
在执行升级之前,请增加脚本超时设置的持续时间。升级完成后,可将此设置返回到其先前的值。要更新脚本超时设置,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx 服务器上,导航至 ThingWorxPlatform 文件夹。
2. 在文本编辑器中打开 platform-settings.json 文件。
3. 找到 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 配置详细信息主题。
升级 DPM
1. 通过“PTC 软件下载”页面下载新版本的 DPM。请完成以下步骤:
a. 导航至“PTC 软件下载”页面,URL 如下:https://support.ptc.com/appserver/auth/it/esd/index.jsp
b. 选择 ThingWorx Foundation
c. 展开以下文件夹:ThingWorx Foundation > Release 9.3 > ThingWorx Digital Performance Management (DPM) 1.2 > “最近的日期代码”
d. 下载 DPM-1-2 扩展包 ZIP 文件。
2. 导入 DPM 解决方案。导入 DPM 解决方案前,ThingWorx 管理员必须完成以下步骤:
a. 请确保 ThingWorx Composer 中已安装许可证。有关详细信息,请参阅 PTC 知识库中的此技术支持文章
b. 在 ThingWorx Composer 中,导航至“导入/导出” > “导入”
c. “导入”窗口中,从“导入选项”列表中选择“扩展”
d. “文件名”下面,单击“浏览”。导航至上一节下载的扩展包 ZIP 文件并将其选中。
e. 单击“导入”。导入完成后,单击“关闭”
f. 要在导入完成后查看 DPM 解决方案扩展,请导航至“管理” > “安装的扩展”
3. 重新启动 ThingWorx 服务器。
4. 获取 UpgradeSolution 服务的配置参数。
a. ThingWorx Composer 中,导航至 PTC.Base.Manager 事物。
b. “服务”下,查找并执行 GetSolutionUpgradeConfigurationParameters 服务。服务输出为 JSON,其中包含 UpgradeSolution 服务所需的配置参数 (具体根据所提供的构建基块集而动态变化)。服务输出 JSON 如下所示:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"automatedMigration": {
"types": [
"Boolean"
],
"description": "When TRUE, the MigrateSolution service is automatically called by the UpgradeSolution service after the upgrade action completes. When FALSE, the MigrateSolution service must be manually executed.",
"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
}
}
c. 复制服务输出中返回的 JSON,并将其粘贴到文本编辑器中。
d. 编辑 JSON,使用特定于站点的值替换各个配置参数的大括号之间的内容。
databaseUser - 具有系统管理权限的数据库用户的登录名。
databasePassword - 具有系统管理权限的数据库用户的登录密码。
databaseJDBCString - DPM 数据库的 JDBC 连接字符串。
databaseThing - 默认数据库事物 (PTC.DBConnection.SQLThingDatabase)。
overrideComponentDeploymentState - 此值应为 false
automatedMigration - 如果此值为 true,则系统会自动执行 MigrateSolution 服务,并将所有解决方案数据均迁移到已更新的数据库架构。此迁移可能需要较长时间,具体取决于要迁移的数据量。如果此值为 false,则系统不会自动执行 MigrateSolution 服务,因此必须在稍后手动执行此服务。
以下示例是输入 JSON:
{
"databaseUser": "DPMadmin",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"databaseThing": "PTC.DBConnection.SQLThingDatabase",
"overrideComponentDeploymentState": false,
“automatedMigration”: true
}
5. 将通过步骤 3.d 编辑的 JSON 用作 UpgradeSolution 服务的 config 输入参数来运行此服务。
此服务完成后,输出会显示一个信息表,其中列出已升级、已部署和已迁移的构建基块 (如果 MigrateSolution 服务已自动运行) 及其配置状况:SuccessfulNot ProcessedError。如果在此服务处理构建基块时遇到错误,则此服务会停止运行。此构建基块的状况显示为 Error,而其余构建基块的状况显示为 Not Processed
如果构建基块具有 ErrorNot Processed 状况,请完成以下故障排除步骤:
a. 请确保 JSON 中指定的数据库凭据是有效的,然后再执行 UpgradeSolution 服务。
b. 如果构建模块在服务输出中仍具有 ErrorNot Processed 状况,请审阅 ThingWorx 应用程序和脚本错误日志,并解决在此发现的任何错误。然后执行 UpgradeSolution 服务。
c. 如果构建模块在服务输出中仍具有 ErrorNot Processed 状况,请更新 JSON 以在其中包含以下内容,然后执行 UpgradeSolution 服务:
"overrideComponentDeploymentState": true
6. 如果 MigrateSolution 服务未由 UpgradeSolution 服务自动执行,则执行 MigrateSolution 服务。此服务没有任何必需的输入参数。
MigrateSolution 服务的服务输出、状况和故障排除步骤与 UpgradeSolution 服务的相同,如步骤 4 中所示。重复故障排除步骤,直至所有构建基块的状况均显示为 Successful
* 
升级会在 MigrateSolution 服务成功执行后才会完成。在迁移数据之前,不能使用 DPM 1.2。
7. 如果已自定义 DPM,请参阅自定义和升级以应对升级给自定义带来的影响。
8. 如果在升级 DPM 之前增加了脚本超时设置的持续时间,请将其返回到先前的设置。
9. 审阅初始管理活动,并执行新功能所需的全部活动。有关详细信息,请参阅初始 DPM 管理活动
升级后活动
在成功升级 DPM 之后,以及在使更新的系统可供用户使用之前,请完成以下步骤:
1. 聚合数据库中的事件。请完成以下步骤:
a. 在 ThingWorx Composer 中,导航至 PTC.OperationKPIImpl.EventsAggregationScheduler
b. “服务”下,执行 AggregateEvents 服务。
2. 如果已自定义 DPM,请参阅自定义和升级以应对升级给自定义带来的影响。
3. 在升级 ThingWorx 之前,导入从 ThingWorx Composer 导出的所有自定义本地化表。
4. 如果在升级 DPM 之前增加了脚本超时设置的持续时间,请将其返回到先前的设置。
5. 审阅初始管理活动,并执行新功能所需的全部活动。有关详细信息,请参阅初始 DPM 管理活动
6. 根据需要,更新物料名称及其所属的站点。
在 DPM 1.1 中,单个物料只能属于一个站点,而物料名称在各个站点内必须是唯一的。这意味着可能存在多个同名的物料,每个物料都属于不同的站点。目前,在 DPM 1.2 中,物料可以属于一个、多个或所有站点,并且物料名称在整个企业中必须是唯一的。数据迁移服务可处理具有重复名称的物料,如下所示:
遇到的具有特定名称的第一个物料将按原样进行迁移。
在迁移过程中,以“物料名称_站点名称”格式将同名的后续物料所属的站点附加到其名称后面。
迁移完成后,您可以通过对物料表格进行排序或筛选来轻松找到这些迁移的重复物料。您可以通过编辑物料来更改物料名称,并根据需要将这些物料添加到其他站点。任何您不想使用的重复物料都可以被禁用
例如,在 DPM 1.1 中,有三个名为 Material1 的物料,分别属于 Boston、London 和 Berlin 站点。下表显示了 DPM 1.1 中每个物料的物料名称及其所属站点,以及迁移到 DPM 1.2 后每个物料的物料名称及其所属站点。在本示例中,数据迁移服务首先遇到属于 Boston 站点的 Material1。
DPM 1.1 中的物料名称和站点
迁移至 DPM 1.2 后的物料名称和站点
Material1, Boston
Material1, Boston
Material1, London
Material1_London, London
Material1, Berlin
Material1_Berlin, Berlin
“物料”表格中,您可以通过筛选 "Material1" 来查找这些物料的所有实例。如果要使用属于所有三个站点且名为 Material1 的单一物料,则可以通过编辑 Material1 来添加 London 和 Berlin 站点,并禁用 Material1_London 和 Material1_Berlin。
7. 建议用户清除客户端计算机上的浏览器缓存。
这对您有帮助吗?