> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 如何升级

> 从多个早期版本升级知行之桥的分步说明。

export const companyName = "知行软件";

export const versionMajor = "26";

export const siteNameShort = "知行之桥";

export const siteName = "知行之桥";

{siteName} 20{versionMajor} 是多个早期应用程序版本的最新版本，包括：

* {siteName} 2022 和 2023
* ArcESB 2020 和 2021
* RSSBus Connect 2016、2017、2018 和 2019
* AS2 端口 V2 (/n software)
* AS2 端口 V3、FTP 端口 V1、OFTP 端口 V2 和 SFTP 端口 V1 (RSSBus)
* IP\*Works! EDI AS2 端口 V7 (/n software)

<Note>升级到新的主要版本（例如，从 {siteNameShort} 2023 升级到 {siteNameShort} 20{versionMajor}）需要新的产品密钥来授权应用程序。您可以通过 <a href="mailto:arcsales@cdata.com">[arcsales@cdata.com](mailto:arcsales@cdata.com)</a> 向我们的销售团队申请新密钥。</Note>

## 从 {siteName} 2024 或更高版本的构建升级

### 跨平台版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中则以压缩的 setup.tar.gz 文件提供。按照适合操作系统的步骤，将现有安装的 {siteNameShort} 20{versionMajor} 升级到较新的构建。

#### Linux

1. 停止 {siteNameShort} 服务器。

2. 从 tar.gz 存档中解压 `arc.war` 文件并将其放在 `/opt/arc/webapp/` 中，覆盖旧文件。

3. （可选）从 tar.gz 存档中解压 `arc.jar` 文件并将其放在 `/opt/arc/` 中，覆盖旧文件。

4. 启动服务器。

#### Windows

1. 停止 {siteNameShort} 服务器。

2. 运行 setup.exe。

3. 将安装程序指向 {siteNameShort} 的安装位置。

4. 升级完成后，启动服务器。

#### Java 用户须知

* 无论您选择如何部署 {siteNameShort}，应用程序目录 (*`ApplicationDirectory`*) 中包含的文件和文件夹都必须可由运行应用程序的用户读取和写入。Java 版本随附的 service.sh 脚本使用 **cdatarc** 作为该用户。

* 如果应用程序之前以其他用户身份运行，并且您想恢复 **cdatarc** 用户运行应用程序所需的权限，则命令应类似于以下内容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

停止服务器（通过嵌入式 Web 服务器 UI，或在适用时通过 IIS）并运行 setup.exe。安装程序会检测安装路径，覆盖旧构建，并保留所有配置数据不变。

## 从 {siteName} 2022 或 2023 升级

### 跨平台版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中则以压缩的 setup.tar.gz 文件提供。按照适合操作系统的步骤，将现有安装的 {siteNameShort} 2022 或 2023 升级到 {siteNameShort} 20{versionMajor}。

#### Linux

1. 停止 {siteNameShort} 服务器。

2. 从 tar.gz 存档中解压 `arc.war` 文件并将其放在 `/opt/arc/webapp/` 中，覆盖旧文件。

3. （可选）从 tar.gz 存档中解压 `arc.jar` 文件并将其放在 `/opt/arc/` 中，覆盖旧文件。

4. 启动服务器。

#### Windows

1. 停止 {siteNameShort} 服务器。

2. 运行 setup.exe。

3. 将安装程序指向 {siteNameShort} 的安装位置。

4. 升级完成后，启动服务器。

#### Java 用户须知

* 无论您选择如何部署 {siteNameShort}，应用程序目录 (*`ApplicationDirectory`*) 中包含的文件和文件夹都必须可由运行应用程序的用户读取和写入。Java 版本随附的 service.sh 脚本使用 **cdatarc** 作为该用户。

* 如果应用程序之前以其他用户身份运行，并且您想恢复 **cdatarc** 用户运行应用程序所需的权限，则命令应类似于以下内容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

{siteNameShort} 20{versionMajor} 可作为 {siteNameShort} 2022 的直接升级；只需运行 {siteNameShort} 20{versionMajor} 的 Windows 安装程序，即可升级所有必要的应用程序资源。

{siteNameShort} 20{versionMajor} 的 Windows 安装程序会尝试检测现有的 ArcESB 2022 安装，并保留现有安装中的端口、流和设置。如果 ArcESB 2022 未安装在默认位置，您可能需要将 {siteNameShort} 20{versionMajor} 安装程序指向磁盘上安装 ArcESB 2022 的文件夹。

## 从 ArcESB 2021 升级

### 跨平台版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中则以压缩的 setup.tar.gz 文件提供。按照适合操作系统的步骤，将现有安装的 ArcESB 2021 升级到 {siteNameShort} 20{versionMajor}。

#### Linux

1. 将 tar.gz 文件解压到 `/opt/arc/`。

2. 停止服务器（例如，`sudo systemctl stop arcesb`）。

3. 如果升级使用嵌入式 Jetty 服务器的安装，请运行 `sudo bash /opt/arc/upgrade.sh`；如果以前的安装使用非默认路径，则可以选择指定 `-InstallDirectory` 参数。如果升级使用外部 servlet 容器（例如 Apache Tomcat 或 External Jetty）的安装，请参阅[适用于您的 servlet 容器的说明](./cross-platform-edition)。

4. 将服务器作为服务（例如 `sudo systemctl start arc`）或进程内（例如 `java -jar arc.jar`）启动。

#### Windows

1. 停止 {siteNameShort} 服务器。

2. 运行 setup.exe。

3. 将安装程序指向 {siteNameShort} 的安装位置。

4. 升级完成后，启动服务器。

#### Java 用户须知

* 无论您选择如何部署 {siteNameShort}，应用程序目录 (*`ApplicationDirectory`*) 中包含的文件和文件夹都必须可由运行应用程序的用户读取和写入。Java 版本随附的 service.sh 脚本使用 **cdatarc** 作为该用户。

* 如果应用程序之前以其他用户身份运行，并且您想恢复 **cdatarc** 用户运行应用程序所需的权限，则命令应类似于以下内容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

{siteNameShort} 20{versionMajor} 可作为 ArcESB 2021 的直接升级；只需运行 {siteNameShort} 20{versionMajor} 的 Windows 安装程序，即可升级所有必要的应用程序资源。

{siteNameShort} 20{versionMajor} 的 Windows 安装程序会尝试检测现有的 ArcESB 2021 安装，并保留现有安装中的端口、流和设置。如果 ArcESB 2021 未安装在默认位置，您可能需要将 {siteNameShort} 20{versionMajor} 安装程序指向磁盘上安装 ArcESB 2021 的文件夹。

## 从 ArcESB 2020 升级

在开始之前，请记住，当前版本的 {siteNameShort} 包含多项功能，可能会导致应用程序的行为与 ArcESB 2020 安装不同：

* {siteNameShort} 20{versionMajor} 在应用程序内管理用户，而不是通过服务器配置管理，因此某些用户设置可能不会迁移。有关详细信息，请参阅[用户管理](#用户管理)。

* {siteNameShort} 20{versionMajor} 不会自动保留 FTP 和 SFTP 服务器上的子文件夹结构。有关详细信息，请参阅[基于文件的端口中的子文件夹](#基于文件的端口中的子文件夹)。

* {siteNameShort} 2023 不允许覆盖单个端口的本地文件夹。有关详细信息，请参阅[覆盖本地文件夹](#覆盖本地文件夹)。

* {siteNameShort} 20{versionMajor} 默认情况下不需要 Windows 管理员权限即可运行，因此可能需要更新某些文件夹权限。有关详细信息，请参阅 [Windows 应用程序目录](#windows-应用程序目录)。

### 跨平台版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中则以压缩的 setup.tar.gz 文件提供。按照适合操作系统的步骤，将现有安装的 ArcESB 2020 升级到 {siteNameShort} 20{versionMajor}。

#### Linux

1. 将 tar.gz 文件解压到 `/opt/arc/`。

2. 停止服务器（例如，`sudo systemctl stop arcesb`）。

3. 如果升级使用嵌入式 Jetty 服务器的安装，请运行 `sudo bash /opt/arc/upgrade.sh`；如果以前的安装使用非默认路径，则可以选择指定 `-InstallDirectory` 参数。如果升级使用外部 servlet 容器（例如 Apache Tomcat 或 External Jetty）的安装，请参阅[适用于您的 servlet 容器的说明](./cross-platform-edition)。

4. 将服务器作为服务（例如 `sudo systemctl start arc`）或进程内（例如 `java -jar arc.jar`）启动。

#### Windows

1. 停止 {siteNameShort} 服务器。

2. 运行 setup.exe。

3. 将安装程序指向 {siteNameShort} 的安装位置。

4. 升级完成后，启动服务器。

#### Java 用户须知

* 无论您选择如何部署 {siteNameShort}，应用程序目录 (*`ApplicationDirectory`*) 中包含的文件和文件夹都必须可由运行应用程序的用户读取和写入。Java 版本随附的 service.sh 脚本使用 **cdatarc** 作为该用户。

* 如果应用程序之前以其他用户身份运行，并且您想恢复 **cdatarc** 用户运行应用程序所需的权限，则命令应类似于以下内容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

{siteNameShort} 20{versionMajor} 可作为 ArcESB 2020 的直接升级。只需运行 {siteNameShort} 20{versionMajor} 的安装程序，即可升级所有必要的应用程序资源。

{siteNameShort} 20{versionMajor} 的安装程序会尝试检测现有的 ArcESB 2020 安装，并保留现有安装中的端口、流和设置。如果 ArcESB 2020 未安装在默认位置，可能需要将 {siteNameShort} 20{versionMajor} 安装程序指向磁盘上安装 ArcESB 2020 的文件夹。

{siteNameShort} 20{versionMajor} 可以与 ArcESB 2020 分开安装，方法是将 {siteNameShort} 20{versionMajor} 安装程序指向不同于 ArcESB 2020 安装位置的文件夹。只要安装在不同文件夹中，安装之间就不会相互干扰。

### 用户管理

ArcESB 2020 及更早版本通过服务器配置 XML 文件（例如 Web.Config 或 server.xml）管理用户。较新的 {siteNameShort} 版本将用户管理移入应用程序本身，在 **系统设置** 页面的 **用户** 选项卡中进行管理。

2021 之前版本中配置的用户在升级期间不会保留，必须根据需要在 **用户** 选项卡中重新创建。有关更多信息，请参阅[用户角色](../administration/settings/user-roles)。

### 基于文件的端口中的子文件夹

<Note>本节仅适用于具有基于文件的端口（包括 File、FTP 和 SFTP）的用户，这些端口会保留远程文件系统中的文件夹结构。</Note>

{siteNameShort} 的早期版本具有以下行为：

这些基于文件的端口针对远程服务器上的单个文件夹，从中上传或下载文件。当还需要从此目标文件夹内的子文件夹下载文件时，会在本地端口的 **交易** 选项卡中重新创建相同的子文件夹结构。同样对于上传，这些端口将 **交易** 选项卡子文件夹中的文件视为该文件应放置在远程文件系统上相应子文件夹中的指示。这种对子文件夹结构的重新创建就是“保留子文件夹结构”的含义。

{siteNameShort} 20{versionMajor} 要求使用 File 端口来镜像远程系统上的文件夹结构。如果文件存储在服务器上目标文件夹的子文件夹中，这些基于文件的端口会向下载的文件添加 **subfolder** 头部。上传文件到远程文件系统时，此 **subfolder** 头部用于自动重现子文件夹结构。

### 覆盖本地文件夹

在 ArcESB 2021 之前，可以通过 **端口设置** 覆盖单个端口的 `Send`、`Receive` 和 `Sent` 文件夹。从 ArcESB 2021 开始，这些选项不在界面中显示，也不建议直接覆盖端口文件夹。最佳实践是[使用 File 端口](../../flows/designing-a-flow#interacting-with-the-local-file-system)来管理本地文件系统。

如有必要，仍可通过 **高级** > **杂项** > **其他设置** 下的字段，在 **端口设置** 中手动覆盖端口的 SendFolder、ReceiveFolder 和 SentFolder 属性。如果以前版本中为端口覆盖了这些设置，则配置的设置会显示在此处。

如果选择使用此方法覆盖端口的本地文件夹，请将 **高级** > **处理延迟** 下的值设置为非零秒数（例如 10），以防止 {siteNameShort} 处理仍由外部进程写入的文件。

### Windows 应用程序目录

默认情况下，{siteNameShort} 20{versionMajor} 的 Windows 版本将应用程序目录（保存流、端口、配置文件设置等数据）存储在 `C:\ProgramData\CData\Arc` 文件夹中。在 ArcESB 2021 之前，应用程序目录位于 `C:\Program Files` 文件夹中。此更改有助于确保 {siteNameShort} 20{versionMajor} 默认情况下无需管理员权限即可运行。

当您从 ArcESB 2020 或更早版本升级到 {siteNameShort} 20{versionMajor} 时，应用程序会重复使用旧安装中的应用程序目录，但默认情况下仍会尝试在没有管理员权限的情况下运行。因此，可能需要为 `C:\Program Files` 中的应用程序目录设置访问权限规则，以允许 {siteNameShort} 在较低运行权限下访问。

有关应用程序目录的更多信息，请参阅[配置应用程序目录](./windows-edition#configuring-the-application-directory)。

## 从 RSSBus Connect 2016、2017、2018 或 2019 升级

本节介绍从 RSSBus Connect 的早期版本升级的过程。

<Note>如需从早于 RSSBus Connect 2016 的版本升级的帮助，请参阅[从 AS2 端口升级](#从-as2-端口升级)。</Note>

在开始之前，请记住，当前版本的 {siteNameShort} 包含多项功能，可能会导致应用程序的行为与 RSSBus Connect 安装不同：

* {siteNameShort} 20{versionMajor} 在应用程序内管理用户，而不是通过服务器配置管理，因此某些用户设置可能不会迁移。有关详细信息，请参阅[用户管理](#用户管理)。

* {siteNameShort} 20{versionMajor} 不会自动保留 FTP 和 SFTP 服务器上的子文件夹结构。有关详细信息，请参阅[基于文件的端口中的子文件夹](#基于文件的端口中的子文件夹)。

* {siteNameShort} 20{versionMajor} 不允许覆盖单个端口的本地文件夹。有关详细信息，请参阅[覆盖本地文件夹](#覆盖本地文件夹)。

* {siteNameShort} 20{versionMajor} 默认情况下不需要 Windows 管理员权限即可运行，因此可能需要更新某些文件夹权限。有关详细信息，请参阅 [Windows 应用程序目录](#windows-应用程序目录)。

### 跨平台版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中则以压缩的 setup.tar.gz 文件提供。按照适合操作系统的步骤，将现有安装的 RSSBus Connect Java 版本升级到 {siteNameShort} 20{versionMajor}：

#### Linux

1. 将 tar.gz 文件解压到 `/opt/arc/`。

2. 停止服务器（例如，`sudo systemctl stop arcesb`）。

3. 如果升级使用嵌入式 Jetty 服务器的安装，请运行 `sudo bash /opt/arc/upgrade.sh`；如果以前的安装使用非默认路径，则可以选择指定 `-InstallDirectory` 参数。如果升级使用外部 servlet 容器（例如 Apache Tomcat 或 External Jetty）的安装，请参阅[适用于您的 servlet 容器的说明](./cross-platform-edition)。

4. 将服务器作为服务（例如 `sudo systemctl start arc`）或进程内（例如 `java -jar arc.jar`）启动。

#### Windows

1. 停止 {siteNameShort} 服务器。

2. 运行 setup.exe。

3. 将安装程序指向 {siteNameShort} 的安装位置。

4. 升级完成后，启动服务器。

#### Java 用户须知

* 无论您选择如何部署 {siteNameShort}，应用程序目录 (*`ApplicationDirectory`*) 中包含的文件和文件夹都必须可由运行应用程序的用户读取和写入。Java 版本随附的 service.sh 脚本使用 **cdatarc** 作为该用户。

* 如果应用程序之前以其他用户身份运行，并且您想恢复 **cdatarc** 用户运行应用程序所需的权限，则命令应类似于以下内容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

#### .NET 版本

从 RSSBus Connect 2016、2017、2018 或 2019 升级到 {siteNameShort} 20{versionMajor} 可以是一步就地升级。只需运行 {siteNameShort} 安装程序即可更新应用程序资源（EXE、DLL、JAR 和 WAR 文件），而不会影响配置数据。

如果 {siteNameShort} 安装程序检测到 RSSBus Connect 安装，则安装程序会使用相同的安装路径来存储配置数据（配置文件、端口/端口、证书）。因此，新的 {siteNameShort} 安装会自动使用旧版本的设置。

### 手动传输配置数据

如果无法就地升级，仍可从以前版本的 RSSBus Connect 传输配置数据。

第一种传输方法是从旧版本中导出端口（端口）设置，然后将这些端口导入新版本：

1. 在 RSSBus Connect 中，点击窗口右上角的 **设置**（齿轮图标）并选择 **导出端口设置**，即可从 **端口** 选项卡导出端口。在较新版本的 RSSBus Connect（例如 RSSBus Connect 2019）中，可以在流中右键点击端口（端口），并选择 **导出端口设置**，从 **流** 选项卡导出端口。

2. 在 {siteNameShort} 中，点击 **设置**，然后选择 **导入工作区**，从 **流** 选项卡导入端口。

第二种方法是通过管理磁盘上的文件夹一次性传输所有配置数据。所有配置信息都保存在安装目录的 `data` 文件夹中。将以前版本中的 `data` 文件夹复制到最新版本中的相同文件夹，即可有效复制整个应用程序配置。

{siteNameShort} 的默认安装目录如下：

* **.NET 版本**：`C:\Program Files\CData\CData Arc`

* **Java**：`/opt/arc`

RSSBus Connect 的默认安装目录如下：

* **.NET 版本**：`C:\Program Files\RSSBus\RSSBus Connect`

* **Java**：`~/rssbus/connect`

在 Linux 系统上，`~` 解析为安装 Java servlet 的用户的主目录。在 Windows 系统上，`~` 解析为 `%ProgramData%`。

<Note>如果没有看到 {siteNameShort} 安装目录，请检查 RSSBus Connect 默认安装目录。{siteNameShort} 安装程序会尝试检测 RSSBus Connect 安装，并使用 RSSBus Connect 中预先存在的文件夹结构。</Note>

### 升级应用程序数据源端口

{siteNameShort} 引入了一种连接到外部数据源的新方法，这些数据源是应用程序而不是传统数据库（例如 Salesforce、NetSuite、QuickBooks 等）。在 RSSBus Connect 中，每个外部数据源应用程序都需要一个专用端口（端口）来与该应用程序集成。在 {siteNameShort} 中，使用一个名为 [{companyName} 端口](../../connectors/cdata/cdata)的端口来连接到每个应用程序数据源。

#### {companyName} 驱动程序

{companyName} 端口使用 {companyName} 驱动程序连接到特定数据源。<a href="https://www.cdata.com/" target="_blank">{companyName} Software</a> 提供 ADO.NET 和 JDBC 驱动程序，可连接数百种云端和本地应用程序、数据库等。这些驱动程序在以前的 RSSBus Connect 端口（端口）中作为底层组件使用，因此访问这些应用程序数据源中的数据所用的界面和方法没有改变。

要将这组端口（端口）升级到 {siteNameShort}，必须在 {companyName} 端口中安装并配置相应的 {companyName} 驱动程序。有关安装 {companyName} 驱动程序的详细信息，请参阅 [{companyName} 端口](../../connectors/cdata/cdata)文档。安装 {companyName} 驱动程序并在 {companyName} 端口设置中选中后，即可使用与 RSSBus Connect 端口（例如 Salesforce 端口、HubSpot 端口等）中相同的连接设置和凭据来配置 {companyName} 端口。

### 升级外部端口

少数以前属于外部的端口现在嵌入在 {siteNameShort} 20{versionMajor} 中：

* SQL Server
* Oracle
* PDF

这些端口会与应用程序的其余部分一起正确安装，不再需要额外下载。

## 从 AS2 端口升级

本节也适用于从 **FTP 端口**、**OFTP 端口**和 **SFTP 端口**升级。

### 安装 {siteName}

#### .NET 版本用户

{siteNameShort} 的 Windows 安装目标路径与早期版本产品不同，并且监听不同的端口。此更改确保两个版本可以并行运行且互不冲突。只需运行 setup.exe 并按照提示在计算机上安装应用程序。

#### Java 用户

与 AS2 端口的早期版本（以及端口系列中的其他版本）一样，该应用程序以可分发的 `arc.war` 文件形式提供。如果使用服务器的内置部署向导将此 WAR 文件分发到 Java 服务器，则会完全替换现有的 AS2 端口安装，包括交易伙伴配置文件。

如果您想就地升级 AS2 端口，并且仍在安装之间保留配置文件设置，请在部署新软件包之前创建以前安装的 `data` 文件夹副本。此 `data` 文件夹位于现有 Web 应用程序文件夹下的 `/WEB-INF/data/` 中。将此文件夹复制到新位置后，部署 {siteNameShort} 以替代现有安装。首次启动应用程序时，端口（端口）尚未配置。点击 **导入配置文件**，指定复制 `data` 文件夹的位置以恢复配置文件。

或者，可以重命名 {siteNameShort} 随附的 `arc.war` 文件，以将此版本的应用程序作为并行应用程序安装。

### 导入配置信息

如果您从 AS2 端口、SFTP 端口或其他早期版本升级，可以使用两种方法检测并导入现有的伙伴配置文件配置。

#### 自动导入

如果在已安装先前版本应用程序的计算机上安装 {siteNameShort} 的 Windows 版本，安装程序会尝试检测先前版本的安装，并可从中导入配置文件设置。如果检测到与 {siteNameShort} 中已配置的伙伴配置文件同名的伙伴配置文件，此过程会创建一个重复条目，并在标识字段后附加一个数字以确保其唯一。导入后可以放心删除重复的配置文件。

#### 使用 Admin API 导入

{siteNameShort} 的 Admin API 包含一个可用于从以前版本导入设置的 *import* 操作。**import** 操作需要三个参数：

* **arcflow** — 包含流数据的 base64 编码字符串。该字符串可以通过对 `.arcflow` 文件的整个文件内容进行 base64 编码来生成。

* **Overwrite** — 如果导入的配置文件/伙伴配置导致与当前配置发生冲突，{siteNameShort} 应如何响应。如果值为 **True**，则会覆盖现有配置。否则会生成错误。

* **WorkspaceId** — 要将流导入到的工作区。如果未指定此参数，应用程序会尝试确定要导入到哪个工作区（基于正在导入的流中的工作区值），并在必要时回退到默认工作区。

对 **import** 操作的所有请求都必须作为 HTTP POST 请求发送。

有关 Admin API 的更多信息，请参阅 [Admin API](../../admin-api)。

### 配置透明升级

运行 {siteNameShort} 安装程序并从以前的安装导入伙伴配置文件后，新版本在接收旧版本的 URL 时具有向后兼容性。但是，有两个关键区别：

* {siteNameShort} 使用的本地端口不同于托管先前应用程序安装的应用程序服务器。此行为可避免与早期版本 AS2 端口的安装发生冲突，以便您可以维护两个版本的应用程序，并按自己的节奏将伙伴迁移到新版本。

* 先前 AS2 端口安装中的 `Incoming`、`Outgoing` 和 `Sent` 文件夹不会自动导入到 {siteNameShort} 使用的配置文件中。默认情况下，应用程序使用自己的本地文件资源，因此不会干扰当前正在运行的应用程序实例。这也可确保如果先前配置文件中启用了自动化，应用程序不会立即开始发送旧版本 AS2 端口中等待发送的文件。

要替换 AS2 端口实例：

1. 确定是使用先前 AS2 端口安装中的旧文件夹结构，还是使用 {siteNameShort} 默认文件夹结构。

2. 确定是使用现有接收 URL，还是使用新的接收 URL。

#### 保留以前的文件夹

当前版本的 {siteNameShort} 包含一个 File 端口，使您可以在消息流中将文件系统中的外部文件夹作为单独的逻辑步骤进行交互。此过程允许您使用以前使用的相同资源与本地文件系统集成。不过，如果将来添加其他端口，应用程序默认会在不同的 `data` 文件夹中创建这些端口。

下图显示了以这种方式使用 File 端口的流示例：

<img src="https://mintcdn.com/qiao/bVtjD3fvHFZBo1vE/public/images/file_as2_flow.png?fit=max&auto=format&n=bVtjD3fvHFZBo1vE&q=85&s=6447cb69e0471b6fe2de0e489cceccea" alt="Flow using File connectors to interact with existing folders" width="800" data-path="public/images/file_as2_flow.png" />

有关如何为此目的配置 File 端口的信息，请参阅[与本地文件系统交互](../../flows#interacting-with-the-local-file-system)。

#### 优势

为已配置的交易伙伴保留现有的后端业务逻辑。

#### 劣势

默认情况下，其他端口使用不同的 `data` 文件夹。

#### 切换为使用新文件夹

如果计划在 {siteNameShort} 中添加更多伙伴或配置其他端口，最好切换到新的默认文件夹结构。该结构如下所述。

{siteNameShort} 应用程序目录包含所有端口和配置文件配置数据。{siteNameShort} 中每个已配置的端口在 `data` 文件夹（默认工作区）中都有自己的文件夹，或在 `workspaces` 文件夹中有相应的工作区文件夹。端口特定文件夹包含以下文件夹：

* `Logs` — 端口写入端口特定日志的文件夹。

* `Pending` — 等待伙伴响应的端口会将待处理消息存储在此文件夹中（只有某些端口类型需要此文件夹）。

* `Receive` — 从外部来源接收或下载文件的端口会将这些文件放在此文件夹中。处理本地数据（不向外部来源发送或从外部来源接收）的端口会在处理后将文件放在此处。

* `Send` — 放在此文件夹中的文件将由端口进行处理、发送和上传。

* `Sent` — 端口会将已处理、已发送和已上传文件的副本放在此文件夹中。

对于 AS2 端口，请将应发送给外部交易伙伴的文件放在端口的 `Send` 文件夹中，并从端口的 `Receive` 文件夹中获取从外部交易伙伴接收的文件。

#### 优势

如果配置了其他交易伙伴，将保持一致的文件夹结构。

#### 劣势

可能需要重新配置业务逻辑，以使用新的文件夹结构。

#### 使用新的 URL

与早期版本相比，{siteNameShort} 提供的服务器监听不同的端口，并使用不同的 URL 接收 AS2 传输。将配置文件导入 {siteNameShort} 后，必须更新交易伙伴，使其发送到新的接收 URL。

默认情况下，{siteNameShort} 提供的服务器在端口 8001 上以明文监听，并在端口 8401 上使用 SSL/TLS。您可以通过点击 **配置文件 > AS2** 找到接收 URL。

#### 优势

* 交易伙伴可以按自己的节奏迁移。
* 无停机时间。

#### 劣势

* 交易伙伴需要在其端的配置文件配置中更改您的 URL。
* 必须在防火墙上打开额外端口。
* 需要维护两个版本的应用程序。

#### 使用现有 URL

若要在先前版本使用的同一 URL 上接收请求，请停止托管先前版本的服务器，以便将同一端口分配给 {siteNameShort}。还需要将服务器分配到先前版本使用的端口。可以通过右键点击系统托盘中的图标，然后点击 **服务器选项** 来配置端口。应用程序会自动识别对先前版本应用程序支持的资源的请求（例如 `/as2connector/pub/ReceiveFile.rsb` 和 `/Receiver.aspx`），并将其转发到 {siteNameShort} 中相应的资源。

#### 优势

* 交易伙伴无需更改配置文件。
* 维护一个系统。

#### 劣势

* 旧服务器停止以便为新服务器释放端口期间会产生停机时间。
* 必须先导入现有配置文件。

<Note>如果配置的端口启用了 SSL/TLS，还需要在此端口上配置先前版本 AS2 端口使用的 SSL/TLS 证书。如果您以前在 {siteNameShort} 中托管过 SSL/TLS 端口，则同一证书存储区就是 {siteNameShort} 中 SSL/TLS 证书的位置（本地计算机的个人帐户）。</Note>

将 {siteNameShort} 配置为使用旧版本应用程序所用的同一端口后，将开始在上述配置的文件夹中接收传入传输。

## 升级 Amazon AMI

{siteNameShort} 20{versionMajor} 在 AWS Marketplace 中提供专用 AMI，可用于创建运行 {siteNameShort} 的新 EC2 实例。为了保留所有应用程序数据，请按照“手动备份”中的说明，了解如何直接从文件系统复制应用程序文件夹。请按照以下步骤为相关文件夹创建持久副本：

1. 通过 SFTP 或 SCP 等传输协议将文件夹从 Amazon VM 复制到本地计算机。

2. 将相同的文件夹传输到从最新 AMI 创建的 EC2 实例。
