资源迁移

  • 文档创建者:doreen0813
  • 编辑次数:55次
  • 最近更新:April陶 于 2021-01-12
  • 1. 概述

    1.1 版本

    FineBI 版本JAR 包      新增功能
    5.1
    2019-01-15

    5.12020-01-15支持将Excel数据集的原始Excel附件一起导出

    1.2 应用场景

    在使用数据决策系统时,往往会先使用测试环境系统进行部署开发,确定完全没问题后再迁移至正式系统。

    因此就需要从测试环境往正式环境增量迁移仪表板、业务包等。

    1.3 功能简介

    FineBI 提供了资源迁移功能,支持仪表板和仪表板依赖的资源及权限从测试系统到正式系统的增量迁移。

    资源迁移的步骤主要分为两步:「资源导出 」「资源导入」。

    • 资源导出即表示将需要迁移到其他系统的资源从服务器中导出,以供后续迁移。资源导出的类型分为目录和BI数据表。

    • 资源导入即表示将需要迁移的资源在新系统中导入,也即迁移至新系统。

    注1:资源迁移功能仅超级管理员支持,次级管理员尽管分配了智能运维的权限,也不能进行资源迁移。

    注2:请确保在资源迁移过程中,没有其他人使用超级管理员账号,否则部分执行请求可能被取消。

    2. 准备工作

    2.1 确认版本

    在进行资源迁移之前请确保两个 BI 工程使用的版本一致(包括 JAR 包时间),可在管理系统>注册管理>BI模块查看 JAR 包时间,如下图所示:

    36.png

    若版本不一致,可进行升级来确保版本一致,详情参见:升级指南索引

    2.2 确认数据库大小写

    若系统配置了 配置外接数据库 ,在资源迁移前,请确保正式系统和测试系统的数据库默认字符校验规则都为大小写敏感。以 Mysql 为例:

    2.2.1 进行设置

    设置方式:若配置了外接数据库,连接 FineDB 数据库,打开FINE_CONF_ENTITY 表,设置字符校验规则为utf8_bin ,输入命令如下:

    ALTER TABLE fine_conf_entity MODIFY id VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;  #设置列的默认校验规则
    ALTER TABLE fine_conf_entity DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;  #设置表的校验规则

    2.2.2 查看设置结果

    如下图所示:

    1579240842669112.png

    2.3 确认数据连接

    • 若需要进行数据连接迁移,需要在资源迁移导入前,保证正式系统已创建好了数据连接,且该数据连接名需与测试系统一致,否则资源无法迁移成功。

    • 若迁移的是服务器数据集创建的仪表板,则在迁移前需要保证正式系统上创建好相同名称的服务器数据集。

    2.4 确认用户类型

    在资源迁移过程中,需要仪表板的创建者的用户类型保持一致。

    比如测试系统中仪表板创建者为 BI 数据分析用户,那么在正式系统中也需要将其添加到 BI 数据分析用户中。

    3. 资源迁移目录

    3.1 导出目录

    注:并非当前系统下的所有仪表板/数据都会被导出。如不挂出仪表板,则不存在于导出的资源中。请务必进行该章节操作!

    3.1.1 可导出资源范围

    导出目录即可以选择导出 挂载到系统目录中的仪表板 。可导出资源如下所示:

    可导出的资源范围
    • 仪表板使用到的基础表和自助数据集

    • 仪表板的配置、原始名、转义名、所属用户、挂载目录、是否公共链接、分享情况等

    3.1.2 示例

    比如将目录下的城市分析仪表板从测试系统迁移到正式系统中,且 Alice 用户有查看该仪表板及业务包使用权限,demo 用户没有,因此需要先将其资源进行导出。

    1)管理员登录系统后,进入管理系统>智能运维>资源迁移,选择资源导出,如下图所示:

    33.png

    2)选择目录>城市分析>城市数据分析,点击选择依赖资源,如下图所示:

    35.png

    3)此时会获取该仪表板所使用的数据表(包含基础表和自助数据集)资源信息,如下图所示:

    32.png

    4)可选择对应的数据表资源同时导出。若正式系统已存在仪表板需要的数据表资源,在此处可不选择导出。仪表板依赖资源支持导出范围如下所示:

    仪表板的依赖资源支持导出范围
    • 直接使用的分析表,基础表

    • 使用的分析表、基础表和在关联路径上经过的相关表。组件间的联动和控件对组件的过滤,导出最短路径中的相关表

    • 若依赖的资源来自我的自助数据集,在导出时也可以进行选择。后续导入时,也将导入到对应用户的我的自助数据集下

    此处选择全部依赖的资源导出,勾选全部数据表资源,勾选同时导出原始excel附件,勾选同时导出权限配置,单击导出按钮。如下图所示:

    注:若导出的数据表原始名(即上图资源中数据表括号内的名称)与正式系统中一样,将覆盖掉正式系统中的数据表,因此此处需确认好再进行导出导入操作。

    1591854796178353.png

    导出设置说明
    同时导出原始excel附件若仪表板使用到 Excel 数据集制作,可勾选同时导出原始excel附件,直接将原始Excel 附件与仪表板资源一起导出,这样在后续的导入中不需要再重新上传 Excel 数据集,直接随仪表板导入
    导出权限配置

    导出权限配置会导出该仪表板对应的权限配置,包含 目录权限 及对应的 业务包权限 。在后续导入后,该仪表板对应的权限设置则不会发生变化

    5)导出后会生成 resources.zip 文件,如下图所示:

    222

    3.2 导入目录

    3.2.1 资源导入

    1)已经获取城市分析仪表板资源,使用管理员账号登录需要迁移到的系统 B ,进入管理系统>智能运维>资源迁移,选择资源导入,点击上传文件,如下图所示:

    10.png

    2)选择之前获取的城市分析仪表板资源 resources.zip ,单击打开,如下图所示:

    16.png

    3)此时系统会获取该文件所包含的资源,包含文件类型平台路径物理资源权限信息导入方式。如下图所示:

    1591863568282204.png

    3.2.2 冲突检测

    1)在导入时,系统会对资源进行检测,检测是否与系统现有资源有冲突,冲突检验以资源的原始名为准。

    若导入的数据在系统中有冲突,导入方式会显示为覆盖导入;若与系统中已有资源没有冲突,则会显示直接导入。点击222按钮可以查看到详细说明,如下图所示:

    1591863667544425.png

    注:导入数据表的表名和被导入工程中原有的数据表表名不同,导入后却提示表冲突需要覆盖导入。此时需要判断导入前后数据表创建表时的表名是否相同。例如资源导出工程 1 中的表创建时名称叫自助数据集 1 ,后来改成了表 A  ;资源导入的时候会跟被导入工程中的自助数据集1冲突。导出时显示如下图所示:

    1594282410711982.png

    2)客户维度表显示了路径冲突,即表示在该路径下已存在原始名叫做客户维度表的数据表。对于有冲突的资源,可以选择不导入,保留系统中原有的;也可以选择勾选资源,进行覆盖导入

    此处选择对合同回款事实表覆盖导入,客户维度表维持系统中的原表,勾选相应资源后,点击导入按钮并选择确定。如下图所示:

    1591863842578699.png

    3.2.3 导入完成

    1)导入成功后则显示导入完成,并列出导入成功项和失败项。如下图所示:

    1591863903125220.png

    2)单击查看导入成功资源列表按钮可查看详细资源,如下图所示:

    1591863951722460.png

    3.2.4 数据更新

    1)此时系统新增了目录城市分析,在城市分析下,新增了城市数据分析仪表板。但此时查看该仪表板,仍然可能显示报错。如下图所示:

    1591864131283105.png

    这是由于原先导出的基础表资源为抽取数据保存,导入到新的系统中也需要先进行数据更新,才能正常查看对应的仪表板。

    2)在对应业务包下进行 数据更新 ,或者直接进行 全局更新 。更新后则能看到导入的数据表均能正常显示,如下图所示:

    注:2020-01-15 之前的版本,若仪表板使用的是 Excel 数据,需要进入到资源使用的数据业务包中,在对应数据表下选择更新 Excel,并将源数据的 Excel 表重新上传并更新。

    1591873177934040.png

    注:若导入数据表为 Excel 数据集或者以 Excel 数据集为基础表制作的自助数据集,则必须进行业务包更新或者全局更新,若导入的数据表为数据库表或者 SQL 数据集,则可以对导入的表进行单表更新。

    3.2.5 效果查看

    1)查看之前目录下的城市数据分析仪表板,即可看到该表正常显示。如下图所示:

    48.png

    2)同时也可以去仪表板下该表创建的位置对仪表板继续编辑,如下图所示:

    1591865322820457.png

    3.2.6 权限查看

    1)在3.1.2 节导出时选择导出权限配置,因此在导入时,该城市数据分析仪表板的权限与原系统中保持一致。即 Alice 用户有查看该仪表板及业务包使用权限,demo 用户没有。使用 Alice 用户登录 B 系统,可以看到该目录和仪表板,如下图所示:

    38.png

     demo 用户登录 B 系统,不能看到该目录节点,如下图所示:

    55.png

    注:由于对应的环境配置不同 IP 端口号会改变,资源迁移后的仪表板公共链接需要重新进行链接分享。

    4. 资源迁移 BI 数据表

    4.1 导出 BI 数据表

    4.1.1 可导出资源范围

    导出 BI 数据表可选择数据准备中的表,可导出资源如下所示:

    可导出的资源范围
    • 数据准备中的基础表和自助数据集不包含我的自助数据集,如果需要导出可以将我的自助数据集中的数据移动到公共业务包

    • 导出时表的相关配置信息、转义、关联、更新设置、实时设置、路径设置(所在业务包)

      注:定时更新任务都可以跟随表导出。

    4.1.2 示例

    1)管理员登录系统后,进入管理系统>智能运维>资源迁移,选择资源导出,如下图所示:

    33.png

    2)比如需要迁移地区访问统计自助数据集,且该业务包 Alice 用户有查看权限,demo 用户没有。在 BI 数据表中勾选该表,点击选择依赖资源,如下图所示:

    76.png

    3)此时会获取该表的依赖资源,BI数据表依赖资源支持导出范围如下所示:

    BI数据表的依赖资源支持导出范围
    • 直接使用的分析表,基础表。

    • 使用的分析表、基础表和在关联路径上经过的相关表。

    • 如果依赖的分析在我的分析表中,根据用户导出其路径,后续导入时导入对应用户的我的分析表中

    例如地区访问统计的来源表包括访问统计事实表(基础表)、地区维度表(基础表)、用户信息维度表(基础表),括号内的均为该表的原始名。如下图所示:

    01.png

    4)此处选择全部依赖的资源导出,勾选全部数据表资源,勾选同时导出原始excel附件,勾选同时导出权限配置,单击导出按钮。如下图所示:

    注:若导出的数据表原始名(即上图资源中数据表括号内的名称)与正式系统中一样,将覆盖掉正式系统中的数据表,因此此处需确认好再进行导出导入操作。

    092.png

    导出设置说明
    同时导出原始excel附件若仪表板使用到 Excel 数据集制作,可勾选同时导出原始excel附件,直接将原始Excel 附件与仪表板资源一起导出,这样在后续的导入中不需要再重新上传 Excel 数据集,直接随仪表板导入
    导出权限配置导出权限配置会导出该仪表板对应的权限配置,包含 目录权限 及对应的 业务包权限 。在后续导入后,该仪表板对应的权限设置则不会发生变化

    5)导出后,同样会生成 resources.zip 文件,如下图所示:

    222

    4.2 导入 BI 数据表

    4.2.1 资源导入

    1)使用管理员账号登录需要迁移到的系统 B ,进入管理系统>智能运维>资源迁移,选择资源导入,点击上传文件,如下图所示:

    10.png

    2)选择之前获取的地区访问统计表资源 resources.zip ,单击打开,如下图所示:

    16.png

    3)此时系统会获取该文件所包含的资源,包含文件类型、平台路径、物理资源、权限信息导入方式,选择对应表直接和覆盖导入。如下图所示:

    1591866772950662.png

    4)导入完成后,点击能看到导入表的对应路径信息。如下图所示:

    1591866824266416.png

    4.2.2 效果查看

    1)在对应业务包下进行 数据更新 ,或者直接进行 全局更新 ,如下图所示:

    50.png

    注:若导入数据表为 Excel 数据集或者以Excel 数据集为基础表制作的自助数据集,则必须进行业务包更新或者全局更新,若导入的数据表为数据库表或者 SQL 数据集,则可以对导入的表进行单表更新。

    2)更新后则能看到导入的数据表均能正常显示,可以看到未分组业务包下的地区访问统计表正常显示,如下图所示:

    28.png3)由于导出时选择了导出权限配置,因此数据表所在业务包的权限也与迁移前保持一致。该业务包 Alice 用户有查看权限,demo 用户没有。进入管理系统>权限管理,可以看到 Alice 用户有该业务包的使用权限,如下图所示:

    1591867127468885.png

    4)demo 用户没有该业务包任何权限,如下图所示:

    1591868083667609.png

    注:测试系统和正式系统中用户名不同步,可能会导致资源迁移出现问题。因此在迁移时需要保持系统用户名的一致。

    5. 其他资源迁移

    5.1 迁移自定义地图

    %FineBI%/webroot/WEB-INF/assets/map/image路径下,将需要迁移的 json 文件拷贝到需要的工程对应路径下,如下图所示:

    1595299811508748.png

    6. 注意事项

    6.1 资源迁移实质

    1)资源迁移的时候,尽管在依赖资源中选择了依赖的数据表/自助数据集导出,但实际上仅为导出该表的相关配置信息,包括表来源、创建的用户、表名、关联路径等,实际该表的数据是没有迁移的。需要在新的系统中创建名字一样的数据连接,从而根据迁移的配置信息获取完全一致的表。

    2)若资源迁移使用的是 Excel 上传的数据集,则在 2020-01-15 之后的版本中可直接选择导出原始 Excel 附件,新系统中可直接导入,不需要重新上传文件。

    6.2 普通用户挂出的模板迁移

    普通用户申请挂出的模板,在资源迁移的时候操作是一样的。即管理员在管理系统>智能运维>资源迁移中,选择已挂出的普通用户模板,选择导出依赖资源;再至新系统中,导入该资源即可。

    新系统中导入的资源,模板默认创建在普通用户账号中,挂出在对应目录下。

    注:用户 a 创建的仪表板,迁移后依旧属于对应用户 a 。如果被迁移的工程中没有用户 a ,则迁移后仪表板属于超级管理员。

    6.3 资源导入失败

    6.3.1 问题描述

    Tomcat 8.5.x 或以上版本部署的 BI 在资源导入后报错 RFC 7230 and RFC 7230 ,如下图所示:

    26.png

    6.3.2 原因分析

    高版本 Tomcat 中的新特性:严格按照 RFC 3986规范进行访问解析,而 RFC 3986 规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符 (RFC3986 中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。

    6.3.3 解决思路

    %Tomcat%/conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=| ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},表示把{}放行,如下图所示:

    1591933754784370.png

    6.4 资源迁移导入资源空白

    6.4.1 问题描述

    资源迁移上传压缩包的时候,平台提示解析成功但是下面没有资源可以勾选。

    查看日志,发现报错:File conflict xxxx

    image.png

    6.4.2 原因分析&解决方法

    1)导入的资源包中不存在对应的 fbi 文件,而对应的 entity.json 有对应对象的信息。请使用正确的资源包重新进行资源迁移

    2)文件冲突,有重名的文件导致资源解析不到。请查看工程下的资源文件夹asset进行进一步排查。

    6.5 资源导入后仪表板组件数据量显示异常

    原因检查是否配置过过滤条件,过滤条件对应的数据在导入前后是否相同。如果不同则检查导入的数据表是否相同。

    6.6 资源导入时报错用户缺失

    如果选择同时导出权限配置,但是在导入环境中没有对应的用户角色部门,则不会新增用户角色部门,会在导入页面详情显示该用户缺失,如下图所示:

    1595300533983519.png

    6.7 有公共链接权限的仪表板资源导入失败

    6.7.1 问题现象

    导入的仪表板在原系统中创建了公共链接,而新的系统中该仪表板创建用户没有创建公共链接的权限,资源导入会失败。

    6.7.2 解决方案

    在新的数据决策系统中对创建该仪表板的用户开启创建公共链接的权限,如下图所示:

    image.png

    附件列表


    主题: 管理员指南
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!