发布包及版本选择说明
自 DolphinDB 3.00.6 起,Server 的 JIT 交付方式、Linux ARM64 的 C++ ABI 类型及 Windows JIT 支持范围发生调整。本文以 3.00.6 为版本边界,说明旧版本环境升级到 3.00.6 或后续版本时,如何选择 Server 版本和插件安装包,并给出新部署环境的版本建议。
适用范围:本文所称“3.00.6 及后续版本”,是指采用第 1 节所述发布包组合与 JIT、ABI 规则的版本。如目标版本的发布说明另有调整,请以目标版本的下载页面和兼容性说明为准。
插件升级原则:DolphinDB 官方插件支持当前发布的 Server 版本。每次升级 Server,都必须将插件更新为与目标 Server 匹配的版本;新旧版本跨越 3.00.6 时,插件安装包类型还可能发生变化。
1. 3.00.6 版本边界及主要变化
| 版本类型或能力 | 3.00.6 之前 | 自 3.00.6 起 |
|---|---|---|
| Linux x86_64 普通版(ABI=0) | 提供 | 提供 |
| Linux x86_64 ABI 版 | 提供 | 提供 |
| Linux x86_64 JIT 版 | 提供 | 不提供。需要使用 JIT 时,应选择 Linux x86_64 ABI 版;该版本默认启用 JIT。 |
| Linux ARM64 版 | 提供,使用 ABI=0。 | 提供,使用 ABI=1。 |
| Windows x86_64 普通版 | 提供 | 提供 |
| Windows x86_64 JIT 版 | 提供 | 不提供。Windows 不再支持 JIT。 |
JIT 与插件交付变化:3.00.6 之前,Linux x86_64 JIT Server 发布包随包提供除行情类插件外的全部官方插件,这些随包插件采用 ABI=0。自 3.00.6 起,提供 JIT 的 Linux x86_64 ABI Server 发布包默认不附带插件,与其匹配的插件采用 ABI=1,需按第 3.1 节单独获取。
ABI=0 和 ABI=1 表示 Linux C++ 标准库采用的不同二进制接口。Server 与其加载的 C++ 二进制组件需要保持 ABI 兼容。
2. 升级与新部署版本选择
2.1 旧版本升级到 3.00.6 及后续版本
本节所称“旧版本”是指 3.00.6 之前的版本。从旧版本升级到 3.00.6 或采用相同发布规则的后续版本时,请根据旧环境的操作系统、CPU 架构、ABI 和 JIT 类型选择目标 Server。
每次升级均应按开篇的插件升级原则更新插件;下表中的插件类型主要用于指导离线安装,具体安装和更新方式见第 3.1 节。ABI 变化及跨平台时的通用处理见第 3.2 节;使用 amdQuote 的环境还应在升级前参见第 3.3 节。
| 升级前的旧版本类型 | 目标版本类型 | 升级时的选择与处理 |
|---|---|---|
| Linux x86_64 普通版(ABI=0) |
|
|
| Linux x86_64 ABI 版 | Linux x86_64 ABI 版 | 选择目标版本的 Linux x86_64 ABI 插件。 |
| Linux x86_64 JIT 版 | Linux x86_64 ABI 版 | 将旧 JIT Server 发布包中随附的 ABI=0 插件替换为目标版本的 Linux x86_64 ABI 插件,并按第 3.2 节处理 ABI 兼容性。 |
| Linux ARM64 版(ABI=0) | Linux ARM64 ABI 版 | 将插件安装包类型改为 Linux ARM64 ABI,并按第 3.2 节处理 ABI 兼容性。 |
| Windows x86_64 普通版 | Windows x86_64 普通版 | 选择目标版本的 Windows 插件。 |
| Windows x86_64 JIT 版 |
|
|
升级到沿用相同规则的后续版本时,仍应按上表确定目标版本类型,并从目标版本的发布包中选择对应的平台、架构和 ABI 类型。
2.2 3.00.6 及后续版本之间升级
当前环境已经使用 3.00.6 或后续版本时,若升级前后操作系统、CPU 架构和 ABI 类型均不变,通常无需再次进行 JIT 或 ABI 类型转换。插件仍须按开篇的插件升级原则更新为与目标 Server 匹配的版本。
2.3 新部署环境
以下建议适用于新部署 3.00.6 或后续版本。安装其他版本时,请以相应版本的发布说明为准。
-
新建 Linux x86_64 环境:
- 默认推荐选择 ABI 版;
- 如需兼容 ABI=0 的用户自行开发的插件或其他 C++ 二进制组件,可以选择普通版;
- 需要使用 JIT 时,应选择 ABI 版。
- 新建 Linux ARM64 环境,选择 ARM64 ABI 版。
- Windows 环境选择 Windows x86_64 普通版。
3. 插件准备、安装与安装包选择
3.1 官方插件安装与更新
所需官方插件可通过以下两种方式单独安装或下载:
-
在线环境:在目标节点通过插件市场在线安装或更新插件,获取与目标 Server 匹配的最新插件版本,无需手动选择安装包类型。
-
离线环境:在插件市场按目标 Server 的版本、操作系统、CPU 架构和 ABI 下载对应的离线插件包。完整命名规则、各字段含义以及插件与 Server 安装包对应关系请参见《插件管理》“离线安装”;不得继续使用与升级前 Server 版本匹配的离线插件包。
3.2 ABI 变化及跨平台时的组件处理
Server 的操作系统、CPU 架构或 ABI 类型发生变化时,应分别处理以下组件:
- DolphinDB 官方插件:安装或更新为与目标 Server 匹配的版本,用户无需自行重新编译。
- 用户自行开发的插件或其他 C++ 二进制组件:面向目标 Server 的操作系统、CPU 架构和 ABI 重新编译。
- 第三方预编译库或厂商 SDK:更换为与目标 Server 的操作系统、CPU 架构和 ABI 兼容的版本。
3.3 amdQuote 升级前准备
目前,插件市场尚未提供 amdQuote 的 ABI 安装包。如目标 Server 使用 ABI=1 且业务依赖 amdQuote,请在升级前联系 DolphinDB 技术支持,并提供所使用版本的 AMD SDK,以便提前评估并准备适配插件。
3.4 3.00.6 离线安装包示例
下表列出目标 Server 版本为 3.00.6 时常见的插件安装包版本。为便于比较,表中仅展示安装包版本标识,并非完整文件名。
| Server 版本 | 对应的插件安装包版本 |
|---|---|
| Linux x86_64 3.00.6(ABI=0) | Linux-X86-3.00.6.0 |
| Linux x86_64 3.00.6 ABI | Linux-X86-3.00.6.0-ABI |
| Linux ARM64 3.00.6 ABI | Linux-ARM64-3.00.6.0-ABI |
| Windows x86_64 3.00.6 | Windows-X86-3.00.6.0 |
4. 升级实施与验证
实际升级前,应参见DolphinDB 3.00.6 版本兼容性说明,完成配置、License、数据和相关元数据的备份,并按照单节点部署与升级或单服务器集群部署与升级文档执行。集群及其他部署方式请参见相应的部署与升级文档。
升级后,应先在测试环境中完成以下验证:
- 旧 Linux JIT 环境或旧 Windows JIT 环境迁移至 Linux 后,调用
isJIT();返回true表示 JIT 已成功加载。随后回归原有 JIT 函数及依赖 JIT 的业务流程。 - 涉及操作系统、CPU 架构或 ABI 变化时,按第 3.2 节完成组件处理后,验证插件加载及相关业务功能。
- 旧 Windows JIT 环境如继续使用 Windows,应确认业务已不再依赖 JIT。
