GAF"数据管理"能力介绍

前几篇文章对GAF本身、安装部署、快速开始等进行了介绍,本文则对GAF的功能模块数据管理进行详细介绍。

利用web端页面和桌面端插件在不同场景下进行高效协同管理,对不同类型的数据资产提供注册上传等功能,并将其管理起来,通过元数据插件和标签采集元数据, 并基于元数据管理打通数据应用链路,实现数据生态化运营,深度解放数据价值。

还提供通用的文件上传、下载、分片上传、删除 、分享等能力。

下面,将详细介绍模块功能和使用说明。

基本概念

  • 工作空间:即用户的工作环境,用户在进行数据操作时,都需要先创建一个工作空间,才能进一步操作 GIS 数据。工作空间会保存用户在该工作环境中的操作结果,包括用户在该工作空间中打开的数据源、保存的地图、布局和三维场景等,当用户打开工作空间时可以继续上一次的工作成果来工作。
  • 数据源:数据源用于存储空间数据,独立于工作空间,因此存储在数据源中的所有空间数据也独立于工作空间存储。SuperMap iDesktop 系列产品 的空间数据可以存储在文件中和数据库中,即数据源可以保存在文件中或者数据库中,因此,数据源可以分为三大类:文件型数据源、数据库型数据源和 Web 数据源。

空间数据源管理

提供对SuperMap格式的数据库型和文件型空间数据源的注册、移除等管理功能。 注册的类型包括 文件型:UDB和UDBX,数据库型:SQLPLUS、MYSQL、PostgreSQL、PostGIS、MongoDB等。

管理界面如下图所示。

其中,数据连接型所需填写参数如下图所示:

文件型数据源需要根据本地文件路径进行上传:

标准数据源管理

同上面的空间数据源管理。区别是标准数据源的数据源类型只有PostgreSQL。

工作空间

提供对SuperMap格式的数据库型和文件型工作空间的注册、查看详情、移除、下载文件型等管理功能。 注册的类型包括 文件型:UDB和UDBX,数据库型:SQLPLUS、MYSQL、PostgreSQL、PostGIS、MongoDB等。

管理界面如下图所示。

查看某个工作空间的详情

瓦片管理

提供注册、删除等能力,将瓦片管理起来。 暂时支持SuperMap格式的MongdoDB瓦片和UGCV5瓦片。

桌面端插件

简介与安装

SuperMap iDesktopX 桌面 拥有强大的GIS数据管理和处理能能力。使用SuperMap iDesktopX GAF插件 可以将iDesktopX强大的能力与GAF的数据管理功能联系起来。该插件可直接在SuperMap iDesktopX中登录访问、注册、同步、下载、上传GAF数据源和工作空间及瓦片。

下载jar包

releases

安装

  • 安装SuperMap iDesktopX 10i(2020),版本要求10.1.2以上 官网
  • 复制插件jar包到iDesktopX安装目录下的bundles/plugin_bundles子目录中(不存在则手动创建)

操作说明

配置

在桌面开始菜单选择GAF,在基本设置中配置GAF服务器的地址+api。例如http://gaf.net.cn/api

登录

单击左上方GAF选项弹出下拉框选择"登录",在弹出的对话框中填写用户名密码等信息。登录完成后右侧浮动面板会多出"GAF数据源"、“GAF工作空间"和"GAF瓦片”


打开GAF工作空间

  1. 点击右侧"GAF工作空间"浮动面板,在树形列表中”双击“某个工作空间
  2. 文件型下载到本地完成后自动打开
  3. 到右侧"GAF数据源"浮动面板,下载当前工作空间使用到的文件型数据源到同一目录
  4. 数据源下载完成后,左侧"工作空间管理器"刷新数据源

注册工作空间到GAF(文件型自动上传)

  1. 使用iDesktopX打开要注册的工作空间
  2. 单击左上方GAF选项弹出下拉框选择"注册工作空间"
  3. 注册完成后右侧"GAF工作空间"将会看到注册的信息

同步上传已修改的文件型工作空间和文件型数据源(数据连接型不需要同步)

  1. 使用iDesktopX打开要注册的工作空间并修改内容
  2. 单击左上方GAF选项弹出下拉框选择"同步工作空间"

打开GAF数据源

点击右侧"GAF数据源"浮动面板,在树形列表中”双击“某个数据源

注册数据源到GAF(文件型自动上传)

  1. 使用iDesktopX打开要注册的数据源
  2. 点击右侧"GAF数据源"浮动面板,在树形列表中"右键单击"某个父级节点,在弹出的选项中
  3. 在弹出的表格选项中选择要注册的数据源
  4. 注册完成后右侧"GAF数据源"选中的那个父级节点下将会看到注册的信息

发布服务

发布服务是iDesktopX自带的功能

  1. 使用iDesktopX打开要注册的工作空间
  2. 左侧"工作空间管理器"右键选择"发布服务"
  3. 在弹出的对话框中,创建iserver链接,填写发布参数,选中要上传的数据文件提交等待

瓦片

同步获取到瓦片完成后,可双击打开某瓦片。若是文件型的瓦片则需要邮件下载到本地,然后打开。还可以右键将瓦片发布成iserver服务。

其他:

上传、下载、分享、属性。。。(可自行探索)

预览


文件存储

采用对象存储的方式来提供文件服务,部署了开源软件Minio作为默认的对象存储服务。除此之外,还可以新增支持s3协议的对象存储服务。通过在文件存储中新增配置即可,如下图。

并且,提供了类似文件浏览器的方式对存储的文件进行管理,如下图所示。

为了方便开发,还提供了前后端的sdk。

后端sdk

在后端,通过引入后端sdk依赖gaf-common-storage-service来完成文件的上传、下载、删除、覆盖等操作。jar包的版本根据实际情况引入。

   <dependency><groupId>com.supermap.gaf</groupId><artifactId>gaf-common-storage-service</artifactId><version>3.0.pro-beta-SNAPSHOT</version></dependency>

在扩展微服务组件中,增加如下配置。注意:configName的名称与GAF文件存储的配置管理的名称对应。

@Configuration("com.supermap.gaf.data.mgt.config.BeanConfig")
public class BeanConfig {@Value("${GAF_DATAMGT_STORAGE_CONFIG_NAME:default}")private String configName;@Value("${GAF_DATAMGT_STORAGE_PRE_URL:http://gaf-storage/storage/api/tenant-created-first/}")private String storagePreUrl;@Bean("DatamgtStorageClient")public StorageClient storageClient() {return new StorageClient(storagePreUrl, configName, storageRestTemplate());}@Bean("storageRestTemplate")@LoadBalancedpublic RestTemplate storageRestTemplate() {return new RestTemplate();}}

在需要使用文件操作的代码处,注入StorageClient对象。如下所示。

@Service
public class StorageClientDemo {@Autowiredprivate StorageClient storageClient;public void test() {File file = new File();// 上传文件  参数包括path(上传的路径)、tenantId(租户id)、file(需要上传的文件)storageClient.uploadFlie("data/xxx.png","system", file);// 快速上传  参数包括path(上传的路径)、tenantId(租户id)、file(需要上传的文件)storageClient.quickUploadFlie("data/xxx.png","system", file);// 下载文件  参数包括path(上传时的文件路径)、tenantId(租户id)、file(要下载的位置)String downloadPath = "xxx.png";storageClient.downloadFile("data/xxx.png","system", downloadPath);// 获取文件的挂载绝对路径  参数包括path(上传时的文件路径)、tenantId(租户id)、returnUrl(是否返回文件的url) VolumePathReturn volumePathReturn = storageClient.getVolumePath("data/xxx.png", "system", false);String path1 = volumePathReturn.getPath(); // 真实挂载路径// 根据路径删除文件   参数包括path(路径)、tenantId(租户id)// 删除单个文件Integer count = storageClient.delete("data/xxx.png","system");// 删除以data/前缀的所有文件Integer count2 = storageClient.delete("data/","system");// 根据路径获取签名后的下载url  参数包括path(上传时的文件路径)、tenantId(租户id)String signUrl = storageClient.getDownloadSignUrl("data/xxx.png", "system");}}

前端sdk

前端的上传组件<gaf-upload/>基于ant-design-vue中的<a-upload> 和 封装的GafUploadUtil工具类调用后端文件服务,完成文件操作。

前端工程安装@gaf/ui包,版本1.0.22及以上,并注册vue组件。若通过GAF提供的前端工程模板创建的前端工程,已经安装了@gaf/ui包,无需再次安装,已全局注册vue组件,无需注册vue组件。

安装@gaf/ui并全局注册@gaf/ui,如下所示

# 提前设置yarn和npm的registry为https://nexus.gaf.net.cn/repository/npm-group
# npm config set registry https://nexus.gaf.net.cn/repository/npm-group
# yarn config set registry https://nexus.gaf.net.cn/repository/npm-group
# 安装@gaf/ui@1.0.22
yarn add @gaf/ui@1.0.22
// js代码。全局注册@gaf/ui
import Vue from 'vue'
import GafUI from '@gaf/ui'
Vue.use(GafUI)

在需要文件上传的vue代码处,加入如下示例代码

          <gaf-upload:override="true":path="data/xxx.png":accept=".png"text="选择" :dir="dirPath"minioServiceUrl="/storage/api/tenant-created-first/":config-name="default"@uploadComplate="uploadChange"@fileRemove="fileRemove"></gaf-upload>

<gaf-upload/>上传组件说明

属性:

 (1) multiple 是否可以选择多个文件 Boolean类型  默认值 false(2) text     组件显示内容        String类型   默认值 'Click to Upload'(3) dir      上传的目录路径      String类型   默认值 '/'  (4) minioServiceUrl '/storage/api/tenant-created-first/'(5) partSize 断点续传分片的大小(Byte)   Number类型  默认值 5 * 1024 * 1024(填写需要大于等于此值)(6) multipartUploadMinSize 开启断点续传的最小文件大小(Byte) Number类型 20 * 1024 * 1024(7) override 默认true,直接覆盖服务器文件;false,当服务器文件已存在返回错误提醒  Boolean类型 (8) quickUpload 默认true,是否开启秒传,开启后会计算文件MD5值 Boolean类型 (9) styles  修改上传按钮a-button的style属性 String类型 (10) accept  默认'*' 设置文件管理器允许选择的文件类型 String类型(11) maxUpload 默认1 最大成功上传数量(12) path 固定上传到服务器的path包含文件名(非必填),优先级高于dir+filename String类型(13) showUploadList 默认true, 是否展示上传列表 Boolean类型(14) config-name 指定存储配置name(见存储配置管理页面)

事件:

 (1)uploadComplate 上传完成后的回调 Function(file)   file.remoteUrl获取文件url(2)fileRemove 文件移除的回调(2)fileAlreadyExist 文件已存在的回调 Function(file)

若不使用<gaf-upload/>组件,还可以导入工具类完成文件操作。

import {GafUploadUtil} from '@gaf/ui'

新建GafUploadUtil对象

// axios 对象,minioServiceUrl
const gafUpload = new GafUploadUtil(axios, minioServiceUrl)
gafUpload.setConfigName("default");

GafUploadUtil可用方法

// --------------------------------------------------------------------
// 上传、下载、删除等/*** 普通上传* @param {boolean} override 是否覆盖* @param {file} file 待上传文件* @param {String} path 服务器路径(dir+filename)* @param {String} md5 文件base64 MD5(选填)*/gafUpload.upload(override, file, path, md5)/*** 启用秒传的普通上传,默认计算文件base64 MD5* @param {boolean} override 是否覆盖* @param {file} file 待上传文件* @param {String} path 服务器路径*/gafUpload.quickUpload(override, file, path)/*** 普通断点续传,要求文件大于5m* @param {boolean} override 是否覆盖* @param {file} file 待上传文件* @param {String} path 服务器路径* @param {String} md5 文件MD5(选填)*/gafUpload.multiUpload(override, file, path, md5)/*** 启用秒传的断点续传,默认计算文件MD5,要求文件大于5m* @param {boolean} override 是否覆盖* @param {file} file 待上传文件* @param {String} path 服务器路径*/gafUpload.quickMultiUpload(override, file, path)/*** 终止文件上传* @param {file} file * @param {String} path 服务器路径*/gafUpload.abortUpload(file,path)/*** 设置断点续传分片大小* @param {number} _partSize 断点续传分片大小bit,默认5*1024*1024*/gafUpload.setPartSize(partSize)/*** 删除文件或者目录* @param {String} path 服务器路径*/gafUpload.delete(path)// -----------------------------------------------------------
//  回调方法,监听上传状态/*** 监听上传进度* @param {file} file * @param {进度监听回调} _progressCallBack */gafUpload.setProgressCallBack(file,progress=>{})/*** 设置上传成功回调* @param {file} file * @param {上传成功回调} _successCallBack isQuick===true代表此次是秒传*/gafUpload.setSuccessCallBack(file,isQuick=>{})/*** 设置上传失败回调* @param {file} file * @param {上传成功回调} _errorCallBack status===409代表文件已存在,仅当上传条件overider为false才会报此错误*/gafUpload.setErrorCallBack(file,status=>{})

元数据

提供对标准数据源中数据的元数据进行统一管理,支持对元数据的采集、编辑、数据链路分析、版本管理。

可利用注册至平台的元数据采集插件对指定标准数据源元数据进行采集。支持对元数据目录的个性化定制。进行元数据采集前需要将所需插件提前注册至插件管理中。

采集元数据后,点击元数据名称可查看元数据详情,查看属性、数据链路、模式、版本审计。

资产总览

资产总览设置了元数据、瓦片数据、服务、工作空间等信息的展示框架,打开后会实时读取并统计系统中现有的资产信息。

GAF“数据管理“能力介绍相关推荐

  1. GAF运维监控能力介绍

    GAF运维监控能力介绍 上一篇文章对GAF的工作流进行详细介绍,接下来就介绍系统运维监控相关的能力. 在运维监控方面,提供微服务配置中心.后端微服务路由配置.前端微应用路由配置,用于支持后端微服务和前 ...

  2. DCMM数据管理能力成熟度标准介绍

    数据管理能力成熟度标准介绍 DCMM背景 由于大数据是相对较新的行业,现阶段大数据相关理论的发展相对滞后,特别是数据治理相关的理论.目前国内各家单位更多是采用国际咨询公司的理论框架或者国际数据管理协会 ...

  3. DCMM数据管理能力成熟度评估详细介绍

    一.DCMM定义 数据管理能力成熟度模型,英文Data Capability Maturity Model(简称DCMM),是我国在数据管理领域正式发布的首个国家标准,该标准已于2018年发布执行,标 ...

  4. 《数据管理能力成熟度模型》标准宣贯会在上海召开

    2017年5月12日,由全国信标委大数据标准工作组.中国电子技术标准化研究院.上海市经信委主办,上海市大数据联盟承办的"数据管理能力成熟度模型标准宣贯会"在上海超级计算中心召开.工 ...

  5. 【2017年第4期】数据管理能力成熟度模型

    李冰1,宾军志2 1.中国电子技术标准化研究院,北京 100007:2.御数坊(北京)科技咨询有限公司,北京 100007 摘要:为促进大数据产业持续深入发展,提高政府.企事业单位大数据资产管理意识, ...

  6. 华为数字化转型与数据管理实践介绍 附下载

    华为提出了企业的新愿景:"把数字世界带入每个人.每个家庭.每个组织,构建万物互联的智能世界".同时, 华为公司提出了"实现全联接的智能华为,成为行业标杆"的数字 ...

  7. KingbaseES V8 GIS数据迁移方案(2. Kingbase GIS能力介绍)

    2. Kingbase GIS能力介绍 2.1. 概述 以5G.大数据中心.人工智能.工业互联网.物联网等为代表的新基建正成为我国经济发展的助推新引擎.作为新基建底层的安全重要保障,地理信息技术也将大 ...

  8. DCMM数据管理能力成熟度评估模型

    Hi,大家好! 今天想再次跟大家聊一聊关于数据治理能力成熟度评估模型的事,这次要聊的这个模型是DCMM. 根据国务院国资委印发的<关于加快推进国有企业数字化转型工作的通知>要求,明确指出了 ...

  9. 实施DCMM数据管理能力成熟度的意义

    发展数字经济产业已经成为各国经济增长和实现创新发展的新动能.新扒手,日前我国数字经济正蓬勃发展,产业规模快速扩大,新模式快速涌现,企业数据总量呈几何性增长,数据资源已经成为国民经济建设的基础性.战略性 ...

最新文章

  1. 5G NGC — AUSF 鉴权服务功能
  2. java split 逗号_咦,Java拆分个字符串都这么讲究
  3. 解决 C3P0 中文乱码问题
  4. mac搭建appium自动化之testNG
  5. 如何将APACHE许可证应用于您的工作
  6. Linux学习之CentOS(五)--让我有些郁闷的mount命令
  7. 程序员考核的五大死因(上)
  8. Hello,World!(信息学奥赛一本通-T1001)
  9. Python 修改pip源---windows / Linux
  10. c语言编写弹窗提示是否确认退出_弹窗设计的5条基本原则
  11. python加法例子_第二讲 做加法的例子
  12. 不生成Excel文件,将Datatable数据 Response.write 输出生成Excel (转载)
  13. Excel 常用快捷键总结(Alt系列)
  14. 酷狗歌词Krc批量转换工具Lrc [附转换编码DLL]
  15. 学习机器学习总体感受
  16. 高效的睡眠——睡眠革命
  17. 推荐系统-推荐模型总结
  18. Python自动化完成tb喵币任务
  19. 快速下载 Android framework 源码
  20. 谈一下关于python-docx指定位置插入图片的故事

热门文章

  1. pygame的使用及进阶
  2. vue+ iview Table表格插入图片显示不同状态
  3. 根据Schema写出XML文档四部曲
  4. 产品的思路——来自腾讯张小龙的分享
  5. 华硕windows10怎么安装c语言,华硕x441sc笔记本使用雨林木风u盘安装win10系统教程?...
  6. RGB颜色查询对照表#FFFFFF
  7. 企业如何做好财务管理?
  8. wps居中对齐不在中间_wps文字插入表格单元格内容不能居中(无法居中对齐)
  9. 抖音群怎么设置进群权限
  10. css背景图片全屏铺满自适应不拉伸