历史版本14 :工程迁移 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0-

1.2 应用场景

企业部署完工程后,可能会因为服务器到期、测试生产环境互相拷贝等因素,需要迁移工程。

1.3 方案选择

帆软提供各种情况下的工程迁移方案。

本文方案,帮助用户将原有非容器化部署的单机工程,迁移为非容器化部署的单机工程。

建议在查看本文方案之前,参考下表选择更适合自己的迁移方案。

现有工程情况迁移方案
单机工程
非容器化部署

说明:

相比于传统部署架构,容器化部署具有隔离性、可移植性、灵活性、可伸缩性和可控性等优点,可大幅降低企业的维护成本和资源成本

相比于单机工程,集群具有高可用性、高性能、易于管理、可伸缩性和安全保障等优点,适用于企业级的报表生成和管理需求

方案选择:

1)在服务器资源充足的情况下,建议容器化部署新集群工程并进行迁移

详情请参见:非容器化单机迁移容器化集群

2)在服务器资源紧张的情况下,建议容器化署新单机工程并进行迁移

详情请参见:非容器化单机迁移容器化单机

3)如仍想使用传统方式部署新单机工程并进行迁移,可参考本文进行

容器化部署

说明:

相比于单机工程,集群具有高可用性、高性能、易于管理、可伸缩性和安全保障等优点,适用于企业级的报表生成和管理需

方案选择:

1)在服务器资源充足的情况下,建议容器化部署新集群工程并进行迁移

详情请参见:容器化单机迁移容器化集群

2)在服务器资源紧张的情况下,建议容器化部署新单机工程并进行迁移

详情请参见:容器化单机迁移容器化单机

集群工程非容器化部署

说明:

相比于传统部署架构,容器化部署具有隔离性、可移植性、灵活性、可伸缩性和可控性等优点,可大幅降低企业的维护成本和资源成

方案选择:

1)若服务器资源充足,希望迁移后原集群工程仍可启动,建议容器化部署新集群工程和集群组件并进行迁移

详情请参见:非容器化集群迁移容器化集群(迁移工程和集群组件)

2)若服务器资源紧张,迁移后仅需启动新集群工程,建议容器化部署新集群工程,调用原集群组件并进行迁移

详情请参见:非容器化集群迁移容器化集群(仅迁移工程)

容器化部署详情请参见:容器化集群迁移容器化集群

2. 新工程准备编辑

2.1 部署新工程

请参考 Linux下Tomcat服务器部署包 ,部署一个全新FineReport工程。

2.2 确认新工程服务器剩余磁盘空间

1)检查原工程的大小。

2)根据原工程大小,适度扩大新工程所在服务器节点剩余磁盘空间,建议大于原工程的两倍。

2.3 确认新工程版本

由于官网下载的部署包,一般为帆软发布的最新版本。因此用户需要先确认新工程版本,确保后续升级旧工程到同一版本。

管理员登录新工程,点击「管理系统>注册管理>版本信息」,查看新工程的小版本号(精确到JAR包日期)。

2.4 关闭新工程

请参考「关闭或重启FineReport工程」文档,关闭新工程。

3. 原工程准备编辑

3.1 备份原工程

在进行工程迁移前,为避免迁移失败,导致工程文件丢失无法回退等问题,请务必对原工程进行备份后再进行后续操作。

请参考 工程备份还原方案 4.1节,对工程进行备份。

3.2 升级原工程

由于新部署的 FineReport 工程,一般为帆软发布的较新版本。

因此用户需要将原工程升级到同一新版本,方可进行同版本间的迁移。

1)判断是否需要升级

管理员登录老工程,点击「管理系统>注册管理>版本信息」,查看老工程的小版本号,检查是否与2.3节新工程版本号一致。

若一致,则可跳过本节步骤;若不一致,必须执行本节操作,升级到同一版本方可。

2)获取JAR包

付费用户请联系帆软技术支持,获取2.3节新工程同一小版本的工程JAR包(精确到JAR包日期)。

技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。

3)升级原工程

请参考「FineReport小版本升级」文档升级工程至指定版本。

3.3 确认原工程配置库

为了保证新老工程的平台配置完全一致,需要同步两个工程的配置库。用户需要先确认老工程所用的finedb数据库信息。

管理员登录原工程,点击「管理系统>系统管理>常规」,检查外接数据库是否已配置。

  • 已配置:点击「已配置」,记录该工程的外接数据库位置信息。用户必须确保新工程所在服务器与该外接数据库所在服务器互通。

  • 未配置:说明工程未配置外接数据库。(对于正式工程,建议管理员为其配置外接数据库,工程使用更加稳定,详情请参见:配置外接数据库

3.4 关闭原工程

请参考「关闭或重启FineReport工程」文档,关闭原工程。

3.5 检查原工程路径

一般来说,工程路径为%Tomcat_HOME%/webapps/webroot,但是为了配置短链,可能配置了外挂目录,工程路径就会发生变化。

检查方法:查看原工程%Tomcat_HOME%/conf/server.xml文件,查看是否配置了docBase,若配置了,那么该路径即为原工程外挂目录的路径

4. 迁移工程编辑

4.1 拷贝文件

请将原工程路径webroot文件夹内容,拷贝到新工程%Tomcat_HOME%/webapps/webroot中。

1)请提前按照3.5节,检查原工程是否配置了外挂目录,确保拷贝到正确的文件。

2)请勿使用3.1节备份的文件,而是使用工程最终的文件进行拷贝操作。

3)若服务器资源不足,webroot文件夹过大,请至少拷贝工程中以下文件:

工程文件说明
/webroot/backup

作用:工程历史备份文件

是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝

/webroot/help

作用:工程自定义内容

是否必须拷贝:必须拷贝

该文件夹中存放着自定义地图、自定义函数、定制css、定制js等文件,不拷贝会导致模板预览出现异常

/webroot/logs

作用:swift日志

是否必须拷贝:用户自行决定

如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据

如对历史使用情况无要求,无需拷贝

/webroot/WEB-INF/assets/temp_attach

作用:读写缓存存储路径

是否必须拷贝:必须拷贝

该文件夹中存放着工程读写(图片)缓存,不拷贝可能会导致模板设置的背景图片预览为空

/webroot/WEB-INF/assets/vcs

作用:FineReport模板备份文件

是否必须拷贝:用户自行决定

如果工程不需要回退历史开发的FineReport模板,则无需拷贝

/webroot/WEB-INF/assets/其他文件

作用:通用的共享持久化目录

是否必须拷贝:必须拷贝

工程正常运行所需要的文件,如不拷贝会影响工程正常使用

/webroot/WEB-INF/classes

作用:工程调用的默认和自定义class文件

是否必须拷贝:必须拷贝

有可能存在自定义的class文件,如不拷贝会影响工程正常使用

/webroot/WEB-INF/config

作用:配置库相关文件

是否必须拷贝:必须拷贝

平台调用的配置库(finedb),如不拷贝会影响工程正常使用

/webroot/WEB-INF/customLib

作用:工程定制/外部引入的JAR包

是否必须拷贝:必须拷贝,如不拷贝会影响模板访问

/webroot/WEB-INF/dpworks

作用:FineDataLink任务相关的配置文件

是否必须拷贝:必须拷贝,如不拷贝会影响FineDataLink任务使用

(如不存在该文件夹,说明工程没有使用FDL相关功能,略过)

/webroot/WEB-INF/embed

作用:存放着工程曾经/现在使用的内置finedb数据库

是否必须拷贝:必须拷贝即使现在使用着外接配置库,也建议拷贝,方便回退

/webroot/WEB-INF/lib

作用:工程原有/外部引入的JAR包,提供工程所有基础功能,是工程的关键文件

是否必须拷贝:必须拷贝,如不拷贝会影响模板访问

/webroot/WEB-INF/plugins作用:插件相关文件

是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现

/webroot/WEB-INF/reportlets作用:FineReport模板存放目录

是否必须拷贝:必须拷贝,如不拷贝会导致工程所有模板丢失

/webroot/WEB-INF/schedule作用:定时调度生成的文件

是否必须拷贝:用户自行决定

如果不拷贝,定时任务挂载到决策平台的结果报表无法访问

4.2 启动新工程

请参考「关闭或重启FineReport工程」文档,启动新工程。

4.3 迁移新工程外接数据库

若3.3节原工程未配置外接数据库,仅使用内置数据库,请直接跳过本节内容。

若3.3节配置了外接数据库,此时新老工程使用了同一个finedb数据库,需要将新工程的外接数据库迁移到其他数据库。

1)新建空数据库

请在老工程原外接数据库地址新建一个库名,作为待迁移的空库。

2)迁移数据库

管理员登录新工程,点击「管理系统>系统管理>常规>外接数据库」。

  • 配置外接数据库为上一步的空库

  • 勾选「迁移数据至要启用的数据库」

  • 点击「启用新数据库」

当出现提示「已成功切换至目标数据库!」,则代表外接数据库切换成功。

5. 启动原工程编辑

请参考「关闭或重启FineReport工程」文档,启动原工程。

6. 迁移授权编辑

若老工程进行了注册,一般需要将授权迁移到新工程。

请参考 授权迁移插件 的使用步骤,向商务索要一个授权迁移插件,销毁原工程的旧授权,并为新工程进行授权。