物可视IOTVIZ

    私有部署

    随着越来越多的数据接入到物联网中,对于数据安全的需求也与日俱增。出于一些政策或者法律法规上的要求,一些物联网用户需要在内网环境中搭建一套物联网服务。但是当考虑到可视化需求时,因为之前物可视必须依赖公网,在内网环境下无法使用,很遗憾地无法构成服务闭环。

    不过这个问题现在有了新的解决方案,因为物可视已经支持私有部署了!换言之,天工可视化服务也可以作为物联网套件之一搭建到内网环境中了。

    什么是私有部署?

    物可视的私有部署指的是物可视的产物可以去除所有发往公网的请求,只通过访问内网(或本地服务器)即可运行的模式。它的特点有:

    1. 使用私有部署任务会得到一个 zip 包,通过使用本地静态服务器(如 nodejs 的 http-server, nginx 等)在本地启动服务即可
    2. 不向公网发送任何请求,可以部署在私有化网络中。
    3. 可以通过 PlayerAPI 由用户自行获取并更新数据,灵活性强

    这里需要说明的是,私有部署是物可视的产物离线运行,而非物可视平台本身。因此您还是必须使用公网的物可视平台对仪表盘进行编辑修改,之后通过私有部署任务获取仪表盘产物的离线包,再部署到本地离线运行。简而言之,是 “在线编辑,离线使用” 的模式。

    使用私有部署时的注意点

    1. 私有部署目前还是一个测试功能,并不对所有用户开放。但为了收集更多的用户反馈,如果您有兴趣,可以通过工单向我们申请免费试用的资格。待开通成功后即可获取您所属仪表盘的私有部署运行包。
    2. 当前每天最多执行 5 次打包任务,累积私有部署任务总量没有限制。
    3. 如果仪表盘使用了“时序数据库”或者“物影子”作为数据源,物可视会尝试将其转化为静态数据源。这之间会有一些类型转换,详见 “关于私有部署的数据源自动转换” 一节。
    4. 离线包中包含了仪表盘的全部信息,但因为无法在线更新,对仪表盘的任何更新都需要重新创建离线包
    5. 获得离线包后,请仔细阅读离线包中的 README.md,之后再按要求启动离线服务
    6. 创建私有部署任务需要一些时间(一般在一分钟以内),请耐心等待,不要重复创建

    关于私有部署的数据源

    我们知道,当前线上的物可视平台(下称“在线模式”)在编辑时可以选择 4 种数据源,分别是:

    1. 时序数据库
    2. 物影子
    3. 静态数据
    4. 仿真数据

    我们把前两种称为“动态数据”(需要发送请求实时获取),把后两种称为“静态数据”(不需要发送请求,要么不变,要么前端计算出结果)。在私有部署下,因为不能有对外网的网络连接,自然也包括物可视的数据服务器,所以动态数据是无法获取到的,只能使用静态数据。

    可现实的需求往往不是这样。用户既然要使用物可视私有部署,必然是内网有一整套物联网服务需要可视化工具来展现数据。这些物联网服务一般都有可供访问以获取数据的 API,就和在线模式的动态数据一样。在这种场景下,用户并不是想用静态数据来做个 Demo 而已。

    那么私有部署是不是就真的只能使用静态数据或者仿真数据(假数据)呢?

    并不是!用户完全可以使用自定义的脚本去获取内网环境中的任何数据源,之后使用 PlayerAPI 来更新数据(这部分可参见这篇文档)。使用这种模式同样可以周期性的更新数据,且控制权完全在用户手中。在这种模式下,物可视不关心数据源是什么,甚至可以是其他云的产品或者任何一个自己实现的 API。这种灵活性正是物可视的追求。

    关于私有部署的数据源自动转换

    在私有部署内测初期,物可视要求不包含动态数据源的仪表盘才能打包为私有部署。但考虑到用户操作的繁琐,物可视现在会尝试将 TSDB 或者 物影子 数据源转化为 静态 JSON 数据源,从而能够顺利使用私有部署。用户不必再专门复制一个专门的静态数据源仪表盘专供私有部署使用。

    在转换过程中,有两个注意点请用户关注:

    1. 物可视会在用户创建离线包时对动态数据源进行快照,获取瞬时的数据并转化为静态 JSON 数据。因为是静态数据,因此在私有部署中数据不再自动更新。
    2. 数据源附带的所有处理流程可正常运行。(例如列排序,增加列等等)
    3. 动态数据源存在 Date 类型而静态数据源不存在,因此在自动转换过程中,Date 会被转换为 Number 类型,取值为时间戳,即 JS 的 getTime(),返回1970年1月1日开始的毫秒数。

      鉴于这一点,建议有 Date 类型动态数据源的用户新建一个列存放自己需要的值,避免因为自动转化导致类型变化从而引发后续计算问题。

    如何使用私有部署?

    通过申请的用户能够在仪表盘编辑界面的右上角找到“私有部署”按钮

    image.png

    点击后可以看到两个标签页,分别是“创建私有部署任务”和“下载私有部署任务”

    image.png

    前者可以创建私有部署任务,等待片刻后提供下载按钮,供用户下载离线运行包。

    image.png

    后者可以下载历史的私有部署任务(系统会显示最近的私有部署任务供下载,随着任务数量增多后时间久远的将不再显示)

    我们还编写了一篇如何使用私有部署的最佳实践文档,其中列出了更加详细的步骤,也包括创建后如何通过 PlayerAPI 更新数据的完整流程,您可以前往参考。

    上一篇
    使用“仿真数据”数据表
    下一篇
    仪表盘模板