反馈已提交

网络繁忙

最佳实践-备份还原

  • 文档创建者:Carly
  • 历史版本:9
  • 最近更新:Carly 于 2023-08-28
  • 1. 概述

    1.1 用户痛点

    小明同学负责一个FineReport工程的运维,为了防止工程出现意外,需要定期对工程进行备份。

    FineReport/FineBI提供了「备份还原」功能,但是在使用该功能的过程中,小明又爱又恨。

    1)无法异地备份:工程部署在A服务器上,备份的内容也在A服务器上,结果小明误删除的时候,把工程和备份都删除了。

    2)备份速度缓慢:随着工程中的模板、数据越来越多,应用备份的速度越来越慢了。

    3)还原逻辑复杂:JAR包、模板、配置都是分开备份的,但是大多时候需要将这些内容按照时间点统一备份还原。

    4)备份内容不全:一些重要内容不在备份还原范围内,会影响工程的正常运行,例如classes、resources等。

    1.2 解决思路

    针对备份还原的相关诉求,运维平台提供「备份还原」功能,帮助用户对工程进行异地、整体、快速的备份还原。

    1.3 备份内容

    在了解具体场景方案之前,用户应当先了解下,一个FineReport/FineBI工程中,需要备份的内容有哪些:

    备份内容
    说明位置
    平台配置

    备份内容:工程的数据决策系统配置,包括:系统设置、用户、权限、BI模板等

    备份必要性:没有备份的话,工程还原后,平台中的所有用户、权限、目录等配置都会丢失

    使用内置数据库:webroot\WEB-INF\embed\finedb

    使用外接数据库:外接数据库中

    报表模板

    备份内容:FineReport的报表模板文件

    备份必要性:FineReport最重要的模板文件,没有备份的话,就无法访问任何一张模板

    单机:webroot\WEB-INF\reportlets

    集群:文件服务器\reportlets

    JAR包

    备份内容:工程的JAR包

    备份必要性:没有备份的话,工程还原后,工程无法正常运行

    webroot\WEB-INF\lib
    自定义JAR包

    备份内容:工程定制/外部引入的JAR包

    备份必要性:没有备份的话,工程还原后,工程无法正常运行

    webroot\WEB-INF\customlib
    插件

    备份内容:工程安装的插件

    备份必要性:没有备份的话,工程还原后,依赖插件运行的模板和功能将无法正常使用

    webroot\WEB-INF\plugins
    classes

    备份内容:工程中自定义的一些程序数据集等编译好的可执行class文件

    备份必要性:没有备份的话,工程还原后,依赖这些class文件的模板,无法正常使用

    webroot\WEB-INF\classes
    resources

    备份内容:设计器注册文件、模板加密文件

    备份必要性:没有备份的话,工程还原后,通过lic方式注册的工程需要重新注册,使用了模板加密会导致所有模板都打不开

    单机:webroot\WEB-INF\resources

    集群:文件服务器\resources

    通用属性配置

    备份内容:FineBI的Excel原始文件信息、FineReport模板备份文件、通用的共享持久化目录

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

    webroot\WEB-INF\assets

    集群配置

    备份内容:集群的一些配置信息,例如外接数据库配置信息,仅当记录过集群配置信息后才会出现

    备份必要性:如果工程配置了外接库或开启了集群,没有备份的话,工程还原后是单机+内置,集群的连接信息都会丢失,需要重新配置外接库

    单机:webroot\WEB-INF\config

    集群:文件服务器\config

    FineDataLink任务配置

    备份内容:FineDataLink任务相关的配置文件

    备份必要性:如不备份,工程还原后,会影响FineDataLink任务使用

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

    webroot\WEB-INF\dpworks

    2. 最佳实践

    对于不同情况下部署的FineReport/FineBI工程,工程的最佳备份还原方案不完全相同。

    1)非容器化部署工程

    部署方式说明:未使用FineKey工具/运维平台部署的FineReport、FineBI工程。

    备份还原方案:

    • 本机备份还原:通过数据决策系统的功能,可以进行本机备份还原。备份内容包括JAR包、模板文件、插件、配置库。

    • 异地备份还原:通过运维平台对接非容器化工程,可以实现异地备份,需要手动还原。备份内容包括JAR包、模板文件、插件、配置库。

    • 集群备份还原:对于集群组件备份的场景,基本都需要管理员自行手动备份还原。

    2)容器化部署工程自有配置库

    部署方式说明:使用FineKey工具/运维平台部署的FineReport、FineBI工程,且工程的finedb配置库是后期自行接入的,工程使用的集群组件都是用户自行安装配置。

    备份还原方案:运维平台仅能将工程的JAR包、插件、集群配置和classes备份到运维平台所在服务器,其余都需要管理员自行处理。

    3)容器化部署工程(推荐)

    部署方式说明:使用FineKey工具/运维平台部署的FineReport、FineBI工程,且工程的finedb配置库、集群组件等是部署时全新安装接入的。

    备份还原方案:运维平台可以直接实现全部功能功能化备份还原,包括异地备份

    2.1 单机工程-本地备份

    备份内容
    非容器化部署工程

    容器化部署工程

    自有配置库

    容器化部署工程
    平台配置

    工程未配置外接数据库:

    使用数据决策系统的备份还原功能

    对平台配置进行备份还原

    工程配置了外接数据库:

    用户自行手动备份

    用户自行手动还原

    工程配置了外接数据库:

    用户自行手动备份

    用户自行手动还原

    使用运维平台的备份还原功能,对整体工程进行备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    报表模板

    使用数据决策系统的备份还原功能

    对报表模板进行备份还原

    使用运维平台的备份还原功能,对整体工程进行备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    JAR包

    使用数据决策系统的备份还原功能

    对工程JAR包进行备份还原

    插件

    使用数据决策系统的备份还原功能

    对插件进行备份还原

    classes

    用户自行手动备份

    用户自行手动还原

    集群配置

    工程未配置外接数据库:

    无需备份

    工程配置了外接数据库:

    用户自行手动备份

    用户自行手动还原

    resources

    用户自行手动备份

    用户自行手动还原

    2.2 单机工程-异地备份

    备份内容
    非容器化部署工程

    容器化部署工程

    自有配置库

    容器化部署工程
    平台配置

    工程未配置外接数据库:

    运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可对平台配置进行异地备份

    用户自行手动还原

    工程配置了外接数据库:

    用户自行手动异地备份

    用户自行手动还原

    工程配置了外接数据库:

    用户自行手动异地备份

    用户自行手动还原

    运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可对整体工程进行异地备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    报表模板运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可进行异地备份

    用户自行手动还原

    运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可对整体工程进行异地备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    JAR包
    插件
    classes

    用户自行手动异地备份

    用户自行手动还原

    集群配置

    工程未配置外接数据库:

    无需备份

    工程配置了外接数据库:

    用户自行手动异地备份

    用户自行手动还原

    resources

    用户自行手动异地备份

    用户自行手动还原

    2.3 集群工程-本地备份

    备份内容
    非容器化部署工程

    容器化部署工程

    自有配置库

    容器化部署工程
    平台配置

    用户自行手动备份

    用户自行手动还原

    用户自行手动备份

    用户自行手动还原

    使用运维平台的备份还原功能,对整体工程进行备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    报表模板

    使用数据决策系统的备份还原功能

    对报表模板进行备份还原

    备份到文件服务器

    使用数据决策系统的备份还原功能

    对报表模板进行备份还原

    备份到文件服务器

    JAR包

    使用数据决策系统的备份还原功能

    对工程JAR包进行备份还原

    备份到文件服务器

    使用运维平台的备份还原功能,对整体工程进行备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    插件

    使用数据决策系统的备份还原功能

    对插件进行备份还原

    备份到文件服务器

    classes

    用户自行手动备份

    用户自行手动还原

    集群配置

    用户自行手动备份

    用户自行手动还原

    resources

    用户自行手动备份

    用户自行手动还原

    用户自行手动备份

    用户自行手动还原

    集群组件

    用户自行手动备份

    用户自行手动还原

    用户自行手动备份

    用户自行手动还原

    使用运维平台的备份还原功能,对以下集群组件进行备份还原

    外接数据库:MySQL单机

    文件服务器:MinIO单机

    负载均衡:nginx单机

    状态服务器:Redis单机

    2.3 集群工程-异地备份

    备份内容
    非容器化部署工程

    容器化部署工程

    自有配置库

    容器化部署工程
    平台配置

    运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可对平台配置进行异地备份

    用户自行手动还原

    用户自行手动异地备份

    用户自行手动还原

    使用运维平台的备份还原功能,对整体工程进行备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    报表模板

    运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可进行异地备份

    用户自行手动还原

    用户自行手动异地备份

    用户自行手动还原

    JAR包

    使用运维平台的备份还原功能,对整体工程进行备份还原

    1)备份内容包括:

    assets

    reportlets

    resources

    dashboards

    config

    plugins

    classes

    customlib

    drivers

    2)其中assets下排除了:

    temp_attach/default

    temp_attach/session

    temp_attach/query

    temp_attach/restart

    插件
    classes

    运维平台和FR/BI工程异地部署(部署在不同服务器上)

    使用运维平台的备份还原功能,即可进行异地备份

    用户自行手动还原

    集群配置

    用户自行手动异地备份

    用户自行手动还原

    resources

    用户自行手动异地备份

    用户自行手动还原

    用户自行手动异地备份

    用户自行手动还原

    集群组件

    用户自行手动异地备份

    用户自行手动还原

    用户自行手动异地备份

    用户自行手动还原

    使用运维平台的备份还原功能,对以下集群组件进行备份还原

    外接数据库:MySQL单机

    文件服务器:MinIO单机

    负载均衡:nginx单机

    状态服务器:Redis单机

    3. 下一步操作

    对比完本文各种类型工程的备份还原方案后推荐进行下一步操作:

    推荐步骤
    功能说明
    部署新项目

    未部署FineReport/FineBI工程

    可参考本文,使用运维平台容器化部署单机/集群工程

    4. 相关推荐

    本文主要讲述的是备份还原的场景案例,推荐你进行阅读并了解运维平台的备份还原功能:

    文档索引方法简介
    备份管理
    运维平台提供「备份管理」功能。
    • 支持一键备份,支持自动备份,支持异机备份。

    • 支持还原备份,支持管理备份版本,支持查看备份失败记录


    附件列表


    主题: 场景案例
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持