私有部署
随着越来越多的数据接入到物联网中,对于数据安全的需求也与日俱增。出于一些政策或者法律法规上的要求,一些物联网用户需要在内网环境中搭建一套物联网服务。但是当考虑到可视化需求时,因为之前物可视必须依赖公网,在内网环境下无法使用,很遗憾地无法构成服务闭环。
不过这个问题现在有了新的解决方案,因为物可视已经支持私有部署了!换言之,天工可视化服务也可以作为物联网套件之一搭建到内网环境中了。
什么是私有部署?
物可视的私有部署指的是物可视的产物可以去除所有发往公网的请求,只通过访问内网(或本地服务器)即可运行的模式。它的特点有:
- 使用私有部署任务会得到一个 zip 包,通过使用本地静态服务器(如 nodejs 的 http-server, nginx 等)在本地启动服务即可
- 不向公网发送任何请求,可以部署在私有化网络中。
- 可以通过 PlayerAPI 由用户自行获取并更新数据,灵活性强
这里需要说明的是,私有部署是物可视的产物离线运行,而非物可视平台本身。因此您还是必须使用公网的物可视平台对仪表盘进行编辑修改,之后通过私有部署任务获取仪表盘产物的离线包,再部署到本地离线运行。简而言之,是 “在线编辑,离线使用” 的模式。
使用私有部署时的注意点
- 私有部署目前还是一个测试功能,并不对所有用户开放。但为了收集更多的用户反馈,如果您有兴趣,可以通过工单向我们申请免费试用的资格。待开通成功后即可获取您所属仪表盘的私有部署运行包。
- 当前每天最多执行 5 次打包任务,累积私有部署任务总量没有限制。
- 如果仪表盘使用了“时序数据库”或者“物影子”作为数据源,物可视会尝试将其转化为静态数据源。这之间会有一些类型转换,详见 “关于私有部署的数据源自动转换” 一节。
- 离线包中包含了仪表盘的全部信息,但因为无法在线更新,对仪表盘的任何更新都需要重新创建离线包
- 获得离线包后,请仔细阅读离线包中的 README.md,之后再按要求启动离线服务
- 创建私有部署任务需要一些时间(一般在一分钟以内),请耐心等待,不要重复创建
关于私有部署的数据源
我们知道,当前线上的物可视平台(下称“在线模式”)在编辑时可以选择 4 种数据源,分别是:
- 时序数据库
- 物影子
- 静态数据
- 仿真数据
我们把前两种称为“动态数据”(需要发送请求实时获取),把后两种称为“静态数据”(不需要发送请求,要么不变,要么前端计算出结果)。在私有部署下,因为不能有对外网的网络连接,自然也包括物可视的数据服务器,所以动态数据是无法获取到的,只能使用静态数据。
可现实的需求往往不是这样。用户既然要使用物可视私有部署,必然是内网有一整套物联网服务需要可视化工具来展现数据。这些物联网服务一般都有可供访问以获取数据的 API,就和在线模式的动态数据一样。在这种场景下,用户并不是想用静态数据来做个 Demo 而已。
那么私有部署是不是就真的只能使用静态数据或者仿真数据(假数据)呢?
并不是!用户完全可以使用自定义的脚本去获取内网环境中的任何数据源,之后使用 PlayerAPI 来更新数据(这部分可参见这篇文档)。使用这种模式同样可以周期性的更新数据,且控制权完全在用户手中。在这种模式下,物可视不关心数据源是什么,甚至可以是其他云的产品或者任何一个自己实现的 API。这种灵活性正是物可视的追求。
关于私有部署的数据源自动转换
在私有部署内测初期,物可视要求不包含动态数据源的仪表盘才能打包为私有部署。但考虑到用户操作的繁琐,物可视现在会尝试将 TSDB 或者 物影子 数据源转化为 静态 JSON 数据源,从而能够顺利使用私有部署。用户不必再专门复制一个专门的静态数据源仪表盘专供私有部署使用。
在转换过程中,有两个注意点请用户关注:
- 物可视会在用户创建离线包时对动态数据源进行快照,获取瞬时的数据并转化为静态 JSON 数据。因为是静态数据,因此在私有部署中数据不再自动更新。
- 数据源附带的所有处理流程可正常运行。(例如列排序,增加列等等)
-
动态数据源存在 Date 类型而静态数据源不存在,因此在自动转换过程中,Date 会被转换为 Number 类型,取值为时间戳,即 JS 的
getTime()
,返回1970年1月1日开始的毫秒数。鉴于这一点,建议有 Date 类型动态数据源的用户新建一个列存放自己需要的值,避免因为自动转化导致类型变化从而引发后续计算问题。
如何使用私有部署?
通过申请的用户能够在仪表盘编辑界面的右上角找到“私有部署”按钮
点击后可以看到三个标签页,分别是“创建私有部署任务”、“下载私有部署任务”和"Webhook配置"
创建私有部署任务可以创建私有部署任务,等待片刻后提供下载按钮,供用户下载离线运行包。
后者可以下载历史的私有部署任务(系统会显示最近的私有部署任务供下载,随着任务数量增多后时间久远的将不再显示)
我们还编写了一篇如何使用私有部署的典型实践文档,其中列出了更加详细的步骤,也包括创建后如何通过 PlayerAPI 更新数据的完整流程,您可以前往参考。
webhook推送
如何使用
- 初次使用先选择"webhook配置"选项卡,点击编辑
- 按需求填写内容后点击保存
- 回调地址: 离线部署包创建后, 将推送到的服务器接口
- 自动推送: 勾选后创建离线包完成平台自动推送下载地址到回调地址
- 自动重试: 可能因为网络波动/服务器端偶发错误导致的推送失败,选中后平台将自动重试三次
- 点击保存后显示保存成功后即可使用
- 随后再次点到创建"私有部署"点击创建离线包进行创建
- 切换到私有部署包可以查看到我们创建后自动推送的信息,也可选中后重新推送。
回调地址接口要求
接口描述
HttpMethod |
---|
POST |
输入
名称 | 类型 | 描述 |
---|---|---|
url | String | 离线部署包地址 |
dashboardId | String | 仪表盘Id |
time | Long | 推送时间戳 |
输出
成功必须返回 success 字段,物可视将以此判别是否推送成功
{
success: true
}