【发布时间】:2016-10-10 04:42:56
【问题描述】:
如何通过双向镜像将地址空间扩展到您的 SQL 数据库中,它会立即反映对端的变量或数据库端的任何值变化。 因此,如果我在数据库中有一个表,其值可以从外部更改(例如可以添加、删除或更新数据),我的 node-opcua 服务器将如何得到通知?
【问题讨论】:
如何通过双向镜像将地址空间扩展到您的 SQL 数据库中,它会立即反映对端的变量或数据库端的任何值变化。 因此,如果我在数据库中有一个表,其值可以从外部更改(例如可以添加、删除或更新数据),我的 node-opcua 服务器将如何得到通知?
【问题讨论】:
在 OPC UA 中,创建的任何服务器都将遵循 SoA 架构。意思是服务器只有在某些服务请求时才会处理请求。
在您的情况下,您可以借助订阅数据更改和监控将数据库中的表公开给客户端的节点来实现这一点。只有当该节点暴露给客户端时,才能订阅数据更改。
一旦节点订阅了数据更改,服务器需要从客户端获取 2 个值。
例如,采样间隔为 100 毫秒,发布间隔为 1 分钟。这意味着服务器必须每 100 毫秒从源(在您的情况下可能是数据库)收集样本,但客户端将每 1 分钟请求所有收集的样本。
您将能够使用数据库中表的更改值来更新服务器。
如果 SDK 支持多线程,那么还有另一种方法可以实现上述问题。
我希望这回答了你的问题。
【讨论】: