方案對比-備份還原

  • 最後修改時間:2025-06-24
  • 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範本備份檔案、通用的共享持久化目錄

    備份必要性:工程正常運作所需要的檔案,如不copy會影響工程正常使用

    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. 下一步操作

    對比完本文各種類型工程的備份還原方案後推薦進行下一步操作:

    推薦步驟
    功能說明
    部署新專案

    未部署帆軟應用

    可參考本文,使用維運平台容器化部署FineBI/FineReport/FineDataLink

    4. 相關推薦

    本文主要講述的是備份還原的場景案例,推薦你進行閱讀並瞭解維運平台的備份還原功能:

    文檔索引方法簡介

    備份專案

    還原專案

    維運平台提供「備份管理」功能。
    • 支援一鍵備份,支援自動備份,支援異機備份。

    • 支援還原備份,支援管理備份版本,支援查看備份失敗記錄



    附件列表


    主題: 場景案例
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽