构建 ThingWorx 解决方案的最佳做法概览
构建 IoT 解决方案时,请考虑采取以下最佳做法:
将实体包括在项目中。一个解决方案仅使用一个项目。
使用模型标记来标记实体。
将所有扩展实体设置为不可编辑。
为所有用户界面标签创建本地化标记。
使用 JavaScript 来实现服务。
使用事物形态来定义服务和属性。
对实体名称、属性和服务使用唯一的命名空间前缀。
为实体定义组织和用户组来设置可见性和权限。
将大型解决方案拆分为多个小型扩展。
请勿在混搭中使用固定资产事物来执行服务。应动态选择或查找资产事物,然后执行其服务。
* 
为避免出现问题,请使用帮助程序或管理器事物的服务。这些服务采用资产事物的名称作为进一步用于混搭的输入参数。
事物订阅中的“按顺序执行事件”复选框清除,否则将占用大量 CPU 资源。“按顺序执行事件”订阅功能仅适用于需要逐个运行订阅执行的场合。如有必要,可使用 JSONState 对象保留有序订阅执行间的数据。
如果更新同一时间戳的多个属性,请使用新服务 UpdatePropertyValuesBatchedUpdateSubscribedPropertyValuesBatched
审阅有序订阅脚本,以免在该状态下保留过多数据。如果限制设置得过低,请使用 platform-settings.json 配置详细信息 SubscriptionSettings 部分的 SubscriptionsStatesMaxDirectMemorySize 设置提高限值。订阅性能中所述的指标可用于跟踪订阅状态存储的当前大小。
* 
达到订阅状态的存储大小限值后,保存新状态时会清除旧状态。ApplicationLog 中将出现如下错误消息:
Memory size limit exceeded, dropped state for key [RemoteRouter-1:Thing1:Template1:ThingTemplate:Subscription1]
这对您有帮助吗?