旧版公共实例已不支持资源规格扩容,如果资源规格不足,物联网平台提供实例迁移功能,可帮助您将旧版公共实例下产品、设备和消息转发数据迁移到同账号同地域下的标准型企业版实例中使用,降低迁移影响和系统改造成本。本文介绍实例迁移功能使用的相关说明。
使用限制
仅旧版公共实例下,支持使用实例迁移功能,将对应数据迁移到标准型企业版实例中使用。实例的详细说明,请参见实例概述。
限制项 | 描述 | 限制 |
迁移并发量 | 设备分发和实例迁移任务并发执行的任务总数量上限。 说明 物联网平台也支持将集成了设备分发能力的设备迁移到企业版实例。具体内容,请参见设备分发。 | 5 |
同时在线设备数 | 目标企业版实例下可用的同时在线设备数规格下限。 | 超过待迁移的设备数量。 |
目标企业版实例 |
| 1 |
设备 | 一个产品下支持迁移设备个数上限。 说明 若此限制数量不能满足您的业务需求,请提交工单说明您的需求。 | 500,000 |
迁移前须知
迁移前,您需了解以下信息,便于您评估实例迁移的业务影响。
迁移数据:
迁移公共实例时,物联网平台系统会自动同步迁移公共实例中的产品、设备和消息转发数据,具体迁移数据参见下表。
数据项
迁移数据
注意事项
产品
产品信息:ProductKey、名称、节点类型、品类等。
功能定义:属性、服务、事件,以及扩展物模型(包含物模型的草稿数据)。
脚本:数据解析脚本(包含脚本的草稿数据)。
支持迁移一机一密和一型一密预注册认证方式的产品和设备。
对于网关子设备,迁移过程中拓扑关系不变,迁移后可正常接入物联网平台。因此,若迁移网关设备或其子设备,需将网关设备及其子设备同时迁移到同一企业版实例下。
授权的产品和设备不支持迁移。企业版实例下不支持产品和设备的授权功能。
已使用数据服务的产品和设备,不支持迁移。
已开通视频服务的产品和设备,不支持迁移。
同时接入物联网边缘计算或生活物联网平台的产品和设备,不支持迁移。
迁移后,产品物模型校验类型不变。
迁移后,旧版公共实例下保留原数据。为防止误操作,实例迁移完成且确认业务正常后,建议您手动删除该数据。
设备
设备信息:设备证书信息,保证设备证书全局唯一。
设备数据:物模型属性、事件和服务数据。
重要实例下分发的设备不支持迁移。
待迁移设备必须具备重连功能。您需完成设备端SDK开发,并将设备接入物联网平台进行正常通信。
说明如果使用物联网平台提供的Link SDK开发设备,设备端会自动连接到企业版实例,无需修改设备接入域名。Link SDK的详细内容,请参见设备接入。
如果没有使用物联网平台提供的设备端SDK,需要修改设备接入域名,需您自研设备的重连逻辑。
迁移中,若设备在线,该设备会被迫下线。
迁移后,旧版公共实例下自动删除已迁移设备。设备端SDK无需修改,可成功接入目标企业版实例,并正常通信。
设备物模型数据迁移的使用说明:
默认数据同步关闭。您可在创建迁移任务后,手动开启数据同步,以保证实例迁移过程中业务不受影响。
开启数据同步后,从开启数据同步的时间点开始,最多延迟1分钟后,同步公共实例内待迁移产品下设备上报的数据到目标企业版实例。从开启数据同步的当天时间开始,最多支持同步往后30天内的数据。
设备数据同步功能,支持手动关闭和重新开启。若未手动关闭数据同步,30天后系统会自动关闭数据同步。数据同步被关闭前,请确保完成实例迁移,以免影响相关业务。
数据同步是单向的,即仅支持同步公共实例内待迁移产品下设备上报的数据到企业版实例。
数据同步开启时,若设备从企业版实例回滚到公共实例,已迁移的设备数据不会回滚。当设备再次迁移到企业版实例时,保证企业版实例内数据完整,而公共实例内数据会不完整。
消息转发
服务端订阅:AMQP、MNS服务端订阅配置以及订阅关系。
云产品流转:流转规则,包括SQL设置、数据源、数据目的(例如RocketMQ、TSDB、RDS、FC等)和解析脚本等。
消费组:消费组信息。迁移后,会创建新的消费组ID。
迁移后,旧版公共实例下保留原数据。为防止误操作,实例迁移完成且确认业务正常后,建议您手动删除该数据。
若已配置AMQP服务端订阅或消息转发到AMQP,需启动两个AMQP客户端,保证公共实例和企业版实例同时存在AMQP客户端接收数据,防止数据丢失。
企业版实例不支持服务端订阅HTTP2方式接入,原公共实例的服务端订阅HTTP2方式接入,建议修改为AMQP方式接入。
功能使用:
设备迁移到目标企业版实例后,对于已迁移的配置,可继续正常使用。若使用更多功能,您可在企业版实例中重新配置。功能使用的详细说明,请参见迁移后功能使用说明。
计费说明:
迁移到企业版实例下的设备,消息通信、连接时长和OTA升级不再计费。
迁移前的准备
了解迁移数据和功能使用后,迁移实例前,您需评估业务影响,完成业务系统改造,保证设备迁移后正常通信。
业务项 | 评估与处理 | 相关文档 |
产品和设备 | 确认待迁移产品和设备,是否符合迁移要求。产品和设备的迁移说明,请参见迁移前须知中的《注意事项》。 | 无 |
AMQP服务端订阅 | 确认是否已配置AMQP服务端订阅或消息转发到AMQP。 若已配置,对于AMQP客户端接入的SDK,需要复制新的企业版实例ID和接入域名,配置新的AMQP客户端,然后在灰度迁移后,复制更新消费组ID,启动新的AMQP客户端。 | |
云产品流转 | 在公共实例下,配置流转数据:
| |
设备OTA升级 | 确认待迁移产品下是否包含设备OTA升级任务。 若存在,请停止OTA升级任务。否则,在实例迁移过程中,OTA升级可能会失败,且运行中的OTA升级任务会继续产生计费。 | |
云端API调用 | 确认已迁移设备是否开发了调用云端API的业务。 若有相关业务,您需修改调用云端API时的请求参数,传入目标企业版实例的ID。 您需自行开发应用或服务器,在调用云端接口时,先查询数据库表中实例ID信息(企业版实例ID),然后设置接口请求参数IotInstanceId为该企业版实例ID,最后发起接口调用。 服务端修改示例,请参见实例迁移服务端修改示例。 |
迁移的整体流程
如上图所示,实例迁移整理流程分为以下四部分。
流程 | 说明 |
业务评估 | 实例迁移前,您需评估业务影响。详细说明,请参见迁移前须知。 |
系统改造 | 根据业务评估,对您的业务系统进行改造,保证公共实例和企业版实例下设备相关业务的正常运行。主要业务有:
警告
更多内容,请参见迁移前的准备。 |
实例迁移 | 在物联网平台控制台,创建实例迁移任务,迁移指定的待迁移产品相关数据。详细说明,请参见迁移的操作步骤。 |
接口切流 | 全量迁移成功后,检查业务运行状态和结果:确认云端接口的调用,已切换到目标企业版实例。 建议您在系统改造时,先订阅设备迁移的流转数据,设备迁移成功后会更新数据库表中设备所属实例的信息为企业版实例ID。调用云端接口时,会先查询数据库表中实例ID信息(企业版实例ID),然后设置接口请求参数IotInstanceId为该企业版实例ID,最后调用接口。 |
迁移的操作步骤
步骤一:创建迁移任务:为指定产品添加迁移任务。
重要为保证实例迁移过程中业务不受影响,您可在创建迁移任务后,手动开启数据同步,将公共实例内待迁移产品下设备上报的数据迁移到目标企业版实例。具体操作,请参见开启数据同步。
步骤二:灰度迁移:依次复制产品和消息转发数据、迁移指定的待灰度设备数据。
警告若已配置AMQP服务端订阅或消息转发到AMQP,灰度完成后,需复制更新消费组ID,启动新的AMQP客户端接入的SDK,用于接收数据。
观察并确保迁移任务对业务无影响后,再进行全量迁移。
步骤三:全量迁移:查询指定产品下的全部数据,迁移全量设备数据。
警告请确保系统改造已完成,并发布上线。例如云端API调用必须传入企业版实例ID、AMQP客户端SDK中消费组ID需要更新。更多内容,请参见迁移前的准备。
全量迁移成功后,您需检查业务运行状态和结果,保证云端接口的调用,已切换到目标企业版实例。
可选:回滚迁移任务:若迁移失败或出现问题,可回滚已迁移的全部设备数据(设备证书信息和物模型数据)到公共实例正常运行。此操作不会删除目标企业版实例中已迁移的服务端订阅和消息转发数据。