1.一种物联网(iot)发布者计算机,用于根据预定的发布者-订户(pub-sub)模型发布iot数据,所述iot发布者计算机包括:
至少一个处理器;
至少一个计算机可读介质,用于存储由所述至少一个处理器可运行的机器可读指令,用以:
接收所述iot发布者计算机的开放式平台通信统一架构(opcua)服务器处的pub-sub节点的选择,其中所述pub-sub节点表示与根据客户端-服务器通信模型从至少一个iot设备接收数据相关联的pub-sub过程,所述客户端-服务器通信模型不同于所述pub-sub模型;
从所述opcua服务器向所述iot发布者计算机的opcua客户端发送消息,以运行所述pub-sub过程;以及
对从运行所述pub-sub过程的所述opcua客户端接收的数据进行编码,以用于根据所述pub-sub模型向远程计算机传输。
2.根据权利要求1所述的iot发布者计算机,其中所述pub-sub过程包括:
发布过程,用于在所述iot发布者计算机的所述opcua客户端处接收由第一远程opcua服务器的节点表示的数据,其中所述数据与被连接至所述第一远程opcua服务器的iot设备相关联;
非发布过程,用于停止在所述iot发布者计算机的所述opcua客户端处接收由第二远程opcua服务器的节点表示的数据;或者
发布列表过程,用于提供由所述iot发布者计算机的所述opcua客户端正在取回的节点的列表。
3.根据权利要求2所述的iot发布者计算机,其中接收的所述pub-sub节点的所述选择包括表示所述发布过程的所述pub-sub节点,并且所述iot发布者计算机的所述opcua服务器还接收:
标识所述第一远程opcua服务器的所述节点的节点标识符(id);以及
将要向所述iot发布者计算机的所述opcua客户端发送针对所述节点的所述数据的计算机的网络地址;以及
用以从所述opcua服务器向所述iot发布者计算机的所述opcua客户端发送所述消息以运行所述发布过程,所述opcua服务器将所述节点id和所述网络地址包括在向所述opcua客户端发送的所述消息中,
其中所述opcua客户端使用所述节点id和所述网络地址来请求所述第一远程opcua服务器向所述opcua客户端发送针对所述第一节点的所述数据。
4.根据权利要求3所述的iot发布者计算机,其中在所述opcua客户端处接收针对所述节点的所述数据,并且所述iot发布者计算机将要根据所述pub-sub模型向所述远程计算机传输所述数据,包括根据javascript对象表示法(json)编码格式对所述数据进行编码,并且根据高级消息队列协议(amqp)协议传输编码的所述数据。
5.根据权利要求2所述的iot发布者计算机,其中接收的所述pub-sub节点的所述选择包括表示所述非发布过程的所述pub-sub节点,并且所述iot发布者计算机的所述opcua服务器还接收:
标识所述第二远程opcua服务器的所述节点的节点id;以及
正在向所述iot发布者计算机的所述opcua客户端发送针对所述节点的所述数据的计算机的网络地址;以及
用以从所述opcua服务器向所述iot发布者计算机的所述opcua客户端发送所述消息,以运行所述非发布过程,所述opcua服务器将所述节点id和所述网络地址包括在向所述opcua客户端发送的所述消息中,
其中所述opcua客户端使用所述节点id和所述网络地址来运行用于停止在所述opcua客户端处接收针对所述第二远程opcua服务器的所述节点的所述数据的操作。
6.根据权利要求2所述的iot发布者计算机,其中接收的所述pub-sub节点的所述选择包括表示所述发布列表过程的所述pub-sub节点,并且所述iot发布者计算机的所述opcua客户端确定一个或多个远程opcua服务器的节点的所述列表,所述opcua客户端针对所述列表当前具有用于接收针对所述节点的数据的订阅;以及
所述iot发布者计算机根据json编码格式对此列表进行编码,并且向请求所述列表的计算机传输编码的所述列表数据。
7.根据权利要求1所述的iot发布者计算机,其中所述iot发布者计算机的所述opcua客户端通过传输控制协议(tcp)从一个或多个远程opcua服务器接收以opcua二进制格式编码的数据,并且通过amqp向一个或多个远程计算机发布以json编码的所述数据。
8.根据权利要求2所述的iot发布者计算机,其中所述iot发布者计算机的所述opcua服务器包括地址空间,所述地址空间包括用于所述发布过程、所述非发布过程和所述发布列表过程的pub-sub节点。
9.根据权利要求8所述的iot发布者计算机,其中为了接收所述pub-sub节点的所述选择,所述iot发布者计算机的所述opcua服务器将要向远程opcua客户端提供针对所述opcua服务器的所述地址空间的视图以用于浏览;以及
所述iot发布者计算机的所述opcua服务器将要从所述远程opcua客户端接收在所述视图中表示的、所述pub-sub节点中的一个pub-sub节点的选择。
10.一种iot网关计算机,用于从iot设备向云基础架构传输数据,所述iot网关计算机包括:
opcua服务器,所述opcua服务器包括存储在计算机可读介质上并且由至少一个处理器可运行的机器可读指令,用于:
维护地址空间,所述地址空间包括用于发布过程、非发布过程和发布列表过程的pub-sub节点;
从远程opcua客户端接收所述opcua服务器的所述地址空间中的所述pub-sub节点中的一个pub-sub节点的选择;
opcua客户端,所述opcua客户端包括存储在所述计算机可读介质上并且由所述至少一个处理器可运行的机器可读指令,用于:
从所述opcua服务器接收消息以运行与选择的所述pub-sub节点相关联的所述过程;以及
运行所述过程,其中运行的所述过程与由所述opcua客户端根据opcua客户端-服务器通信模型订阅的至少一个远程opcua服务器的至少一个节点相关联;以及
发布者,所述发布者包括存储在所述计算机可读介质上并且由所述至少一个处理器可运行的机器可读指令,用于:
从所述opcua客户端接收与所述至少一个远程opcua服务器的所述至少一个节点相关联的数据,其中所述数据由所述opcua客户端从所述至少一个远程opcua服务器收集;以及
根据用于针对opcua的pub-sub通信模型的编码格式和传送协议对所述数据进行编码以用于传输。
11.根据权利要求10所述的iot网关计算机,其中根据用于所述pub-sub通信模型的所述编码格式和所述传送协议进行传输的所述数据包括:针对被连接至所述至少一个远程服务器的iot设备的数据。
12.一种方法,包括:
接收在发布者计算机的服务器处可选择的多个pub-sub过程中的pub-sub过程的选择,
其中所述多个pub-sub过程包括:
发布过程,所述发布过程用于在所述发布者计算机的客户端处根据第一通信模型接收由第一远程服务器的节点表示的数据,其中所述数据与被连接至多个远程服务器的所述第一远程服务器的iot设备相关联;
非发布过程,所述非发布过程用于停止在所述客户端处接收由多个远程服务器中的第二远程服务器的节点表示的数据;以及
发布列表过程,所述发布列表过程用于提供正在由所述客户端从所述多个远程服务器取回的节点的列表;从所述发布者计算机的所述服务器向所述发布者计算机的所述客户端发送消息,以运行选择的所述pub-sub过程;以及
根据第二通信模型向远程计算机传输与选择的所述pub-sub过程相关联的数据。
13.根据权利要求12所述的方法,其中所述第一通信模型包括客户端-服务器通信模型。
14.根据权利要求12所述的方法,其中所述第二通信模型包括pub-sub通信模型。
15.根据权利要求12所述的方法,其中所述第一通信模型和所述第二通信模型包括在opcua标准中指定的不同通信模型。