CN117478726A - 一种对接虚幻引擎的物联网数据传输方法及系统 - Google Patents
一种对接虚幻引擎的物联网数据传输方法及系统 Download PDFInfo
- Publication number
- CN117478726A CN117478726A CN202311798979.7A CN202311798979A CN117478726A CN 117478726 A CN117478726 A CN 117478726A CN 202311798979 A CN202311798979 A CN 202311798979A CN 117478726 A CN117478726 A CN 117478726A
- Authority
- CN
- China
- Prior art keywords
- internet
- theme
- things
- data
- proxy server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012795 verification Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000003032 molecular docking Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 45
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000011800 void material Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004573 interface analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种对接虚幻引擎的物联网数据传输方法及系统,属于数据传输技术领域,能够解决现有技术中虚幻引擎与物联网设备之间无法直接传输数据,导致数据传输过程繁琐、效率低下的问题。所述数据传输方法包括:根据消息队列遥测传输协议搭建代理服务器;代理服务器根据物联网设备发送的发布主题请求创建主题;代理服务器根据虚幻引擎发送的订阅主题请求为虚幻引擎订阅主题;代理服务器将物联网设备发送的物联网数据关联至主题,并将主题推送至虚幻引擎。本发明用于传输物联网数据。
Description
技术领域
本发明涉及一种对接虚幻引擎的物联网数据传输方法及系统,属于数据传输技术领域。
背景技术
数字孪生技术是实现虚拟环境与物理环境互联互通、场景互动、信息同步的重要技术。该技术的实现通常先由物联网设备采集物理环境的基础数据和实时数据,然后根据基础数据在建模工具中构建高仿真的虚拟环境,再将物理环境的实时数据传输至虚拟环境中,实现虚拟环境与物理环境的时空同步。
虚幻引擎是目前用于数字孪生可视化开发的重要建模工具,其突出的视觉展示能力、真实场景渲染能力以及强大的物理引擎能够实现对虚拟环境的高仿真构建。但因为目前虚幻引擎尚不能与物联网设备进行直接的数据传输,使得虚幻引擎无法更好地应用于数字孪生技术领域。
发明内容
本发明提供了一种对接虚幻引擎的物联网数据传输方法及系统,能够解决现有技术中虚幻引擎与物联网设备之间无法直接进行数据传输的问题。
一方面,本发明提供了一种对接虚幻引擎的物联网数据传输方法,所述方法包括:
S1、根据消息队列遥测传输协议搭建代理服务器;
S2、所述代理服务器根据物联网设备发送的发布主题请求创建主题;
S3、所述代理服务器根据虚幻引擎发送的订阅主题请求为所述虚幻引擎订阅所述主题;
S4、所述代理服务器将所述物联网设备发送的物联网数据关联至所述主题,并将所述主题推送至所述虚幻引擎。
可选地,在所述S2之前,所述方法还可以包括:
所述代理服务器对客户端进行链接认证;所述客户端为所述物联网设备和/或所述虚幻引擎。
相应地,所述S2具体为:
所述代理服务器确认所述物联网设备的链接认证通过后,接收所述物联网设备发送的发布主题请求,并根据所述发布主题请求创建主题。
相应地,所述S3具体为:
所述代理服务器确认所述虚幻引擎的链接认证通过后,接收所述虚幻引擎发送的订阅主题请求,并根据所述订阅主题请求为所述虚幻引擎订阅所述主题。
可选地,所述对客户端进行链接认证,具体包括:
所述代理服务器接收所述客户端发送的链接请求,并验证所述链接请求中的用户信息;
当验证通过后,所述代理服务器向所述客户端发送访问令牌;
所述代理服务器接收所述客户端发送的验证信息,并验证所述验证信息是否为所述访问令牌。
当所述代理服务器验证所述验证信息为所述访问令牌时,确认所述客户端的链接认证通过。
可选地,该方法还包括:
所述代理服务器对所述客户端进行在线状态判断,当所述客户端在线时,所述代理服务器接收所述客户端发送的数据或向所述客户端发送数据。
可选地,所述虚幻引擎中创建有数据接收函数;
相应地,所述S4中的将所述主题推送至所述虚幻引擎,可以具体为:
将所述主题中的物联网数据推送给所述数据接收函数。
另一方面,本发明提供了一种对接虚幻引擎的物联网数据传输系统,所述系统包括:
创建模块,用于根据物联网设备发送的发布主题请求创建主题;
订阅模块,用于根据虚幻引擎发送的订阅主题请求为所述虚幻引擎订阅所述主题;
推送模块,用于将所述物联网设备发送的物联网数据关联至所述主题,并将所述主题推送至所述虚幻引擎。
可选地,所述系统还可以包括:
安全认证模块,用于对客户端进行链接认证;所述客户端为所述物联网设备和/或所述虚幻引擎。
可选地,所述系统还可以包括:
心跳机制模块,用于验证所述物联网设备和/或所述虚幻引擎是否在线。
可选地,所述创建模块、所述订阅模块和所述推送模块均可以采用多线程处理方式进行数据处理。
可选地,所述虚幻引擎中创建有数据接收函数、接口函数和控件蓝图,所述数据接收函数用于接收物联网数据;所述控件蓝图用于展示所述物联网数据。所述数据接收函数可以通过调用所述接口函数,将所述物联网数据传输至所述控件蓝图。
本发明能产生的有益效果包括:
本发明提供的数据传输方法,首先根据物联网设备的请求创建主题,然后根据虚幻引擎的请求为虚幻引擎订阅主题,最后将物联网设备发送的物联网数据关联到主题,并将主题推送给虚幻引擎,从而将物联网设备的数据传输给虚幻引擎,实现了在虚幻引擎与物联网设备之间直接进行数据传输。
附图说明
图1为本发明实施例提供的对接虚幻引擎的物联网数据传输方法的流程图;
图2为本发明实施例提供的链接认证的流程图;
图3为本发明实施例提供的代理服务器的搭建示意图。
具体实施方式
下面结合实施例详述本发明,但本发明并不局限于这些实施例。
本发明实施例提供了一种对接虚幻引擎的物联网数据传输方法,参照图1,该方法包括:
S1、基于消息队列遥测传输协议(Message Queuing Telemetry Transport,简称MQTT)搭建代理服务器;
S2、代理服务器根据物联网设备发送的发布主题请求创建主题;
S3、代理服务器根据虚幻引擎发送的订阅主题请求为虚幻引擎订阅主题;
S4、代理服务器将物联网设备发送的物联网数据关联至主题,并将主题推送至虚幻引擎。
参照图3,本实施例基于Spring Boot和Netty框架,搭建了网络层通信框架,运用JavaScript语言开发了基于消息队列遥测传输协议的代理服务器,构建了高并发传输通道。一方面,代理服务器与远程终端单元(Remote Terminal Unit,简称RTU)、可编程逻辑控制器(Programmable Logic Controller ,简称PLC)、微控制单元(Microcontroller Unit,简称MCU)等物联网设备的控制单元建立通信连接,使物联网设备成为代理服务器的远程传输单元;另一方面,代理服务器与虚幻引擎建立通信连接,建立起数据的传输通道。其中,代理服务器的创建代码如下所示:
private void mqttServer() throws Exception {
ServerBootstrap sb = new ServerBootstrap();
sb.group(bossGroup, workerGroup)
.channel(brokerProperties.getUseEpoll() ?EpollServerSocketChannel.class : NioServerSocketChannel.class)
//初始化执行handler业务
.handler(new LoggingHandler(LogLevel.INFO))
// childHandler会在客户端成功connect后才执行
.childHandler(new ChannelInitializer<SocketChannel>(){
@Override
protected void initChannel(SocketChannelsocketChannel) throws Exception {
ChannelPipeline channelPipeline =socketChannel.pipeline();
// Netty提供的心跳检测
channelPipeline.addFirst("idle", newIdleStateHandler(0, 0, brokerProperties.getKeepAlive()));
if (brokerProperties.getSslEnabled()) {
SSLEngine sslEngine =sslContext.newEngine(socketChannel.alloc());
sslEngine.setUseClientMode(false);// 服务端模式
sslEngine.setNeedClientAuth(false);// 不需要验证客户端
channelPipeline.addLast("ssl", newSslHandler(sslEngine));
}
channelPipeline.addLast("decoder", newMqttDecoder());
channelPipeline.addLast("encoder",MqttEncoder.INSTANCE);
channelPipeline.addLast("broker", ioc.get(BrokerHandler.class));
}
})
.option(ChannelOption.SO_BACKLOG,brokerProperties.getSoBacklog())
.childOption(ChannelOption.SO_KEEPALIVE,brokerProperties.getSoKeepAlive());
if (Strings.isNotBlank(brokerProperties.getHost())) {
channel = sb.bind(brokerProperties.getHost(),brokerProperties.getPort()).sync().channel();
} else {
channel = sb.bind(brokerProperties.getPort()).sync().channel();
}
}
基于上述传输通道,物联网设备可以向代理服务器发送订阅主题请求,代理服务器收到请求后创建主题,物联网设备向主题中传输物联网数据,虚幻引擎可以在代理服务器上订阅相关主题,并获取订阅的主题中的物联网数据,从而实现将物联网设备采集的物联网数据传输至虚幻引擎的全过程。
在本实施例中,代理服务器会将其与物联网设备和虚幻引擎的会话维护到缓存中。当收到物联网设备发送的带有主题的数据时,首先对缓存中的物联网设备进行遍历,判断该设备是否在线。如果在线,根据数据的主题,查找与该设备的会话中是否存在该主题,如果存在该主题,获取该主题的链路通道,将数据写入该主题中;如果不存在该主题,则创建相关主题。
相应地,代理服务器收到虚幻引擎发送的订阅请求时,首先对缓存中虚幻引擎进行遍历,判断虚幻引擎是否在线。如果在线,根据订阅数据的主题,查找与虚幻引擎的会话中是否存在该主题,如果存在该主题,获取该主题的链路通道,将该主题中的数据推送至虚幻引擎;如果不存在该主题,则为虚幻引擎订阅相关主题。当虚幻引擎取消主题订阅时,代理服务器在虚幻引擎的会话缓存参数中删除该主题。
因为虚幻引擎的会话缓存使用双向链表的方式实现,可以分别以链表的头尾两端为起点对缓存进行遍历,以两种方式进行查找保证了遍历的高效性。
应用本实施例代理服务器的数据传输方法,不仅可以对常规的JSON标准数据格式进行解析,还可以根据虚幻引擎本身的数据格式,对虚幻引擎特定数据格式进行解析。
进一步地,在S2之前,该方法还可以包括:
代理服务器对客户端进行链接认证;客户端为物联网设备和/或虚幻引擎。
相应地,S2具体为:
代理服务器确认物联网设备的链接认证通过后,接收物联网设备发送的发布主题请求,并根据发布主题请求创建主题。
相应地,S3具体为:
代理服务器确认虚幻引擎的链接认证通过后,接收虚幻引擎发送的订阅主题请求,并根据订阅主题请求为虚幻引擎订阅主题。
进一步地,代理服务器对客户端进行链接认证,参照图2,具体可以包括:
代理服务器接收客户端发送的链接请求,并验证链接请求中的用户信息。本发明对用户信息不做限定,示例地,可以为用户标识符、用户名、密码等。
当验证通过后,代理服务器向客户端发送访问令牌。
代理服务器接收客户端发送的验证信息,并验证验证信息是否为访问令牌。
当代理服务器验证验证信息为访问令牌时,确认客户端的链接认证通过。
在本实施例中,链接认证之前,代理服务器会获取客户端的用户标识符、用户名以及密码,首先判断该客户端的用户标识符在会话缓存中是否已经存在,如果已经存在,不会添加该新的会话缓存,如果不存在,添加新的会话缓存。然后再判断该用户名和密码是否为空,为空则不进行链接认证,不为空则进行链接认证。
链接认证时,代理服务器会根据客户端的用户信息生成访问令牌。访问令牌的内容包括客户端的用户标识符、用于控制访问令牌生命周期的发布时间等信息。本实施例的访问令牌生成方式不采用传统的将用户名和密码分开的令牌生成方式,而是将用户标识符和用户名进行合并,并将用户名作为密码的盐加在密码中,实现双重安全保证。然后基于OAuth 2.0的第五版信息摘要算法(Message Digest Algorithm 5,简称MD5),在对上述合并后的信息进行1024次加密后生成加密信息,并将加密信息缓存到客户端的会话中。同时,基于OAuth 2.0用合并后的用户标识符和用户名,结合已加盐的密码,生成访问令牌。
链接认证通过后,代理服务器开启对每次链接的会话的保存机制,记录客户端的用户标识符,每个用户标识符对应一个会话,保证每个客户端身份的唯一性。该过程采用字典数据结构方式,每次与客户端链接时,以用户标识符为字典键值,以会话信息为字典值,包含当次链路通道,保证了每个客户端的唯一性。当客户端主动断开链接时,代理服务器向客户端发送断开协议报文并断开会话连接,然后将缓存中客户端信息更新为离线状态,同时清除该客户端订阅的所有主题。
进一步地,该方法还包括:
代理服务器对客户端进行在线状态判断,当客户端在线时,接收客户端发送的数据或向客户端发送数据。
在本实施例中,代理服务器中创建有定时心跳机制,通过定时向客户端发送心跳数据包,并根据客户端接收心跳数据包的情况来判断客户是否在线。如果客户端在心跳时间内一直在接收心跳数据包,定义客户端在线;如果客户端在心跳时间内的某一段时间内没有接收心跳数据包,则定义为客户端不在线,代理服务器随即将客户端在其缓存中的状态设置为离线状态。心跳时间由客户端进行设置,保证链接的可靠性,示例地,心跳时间可以设置为60秒。
更进一步地,虚幻引擎中创建有数据接收函数。
相应地,S4中的将主题推送至虚幻引擎,可以具体为:
将主题中的物联网数据推送给数据接收函数。
在本实施例中,首先在虚幻引擎中创建样本项目,并在样本项目中插入网络产品界面设计(Website User Interface,简称Web UI)插件。在样本项目中基于JavaScript通信脚本创建超文本标记语言(Hyper Text Markup Language,简称HTML)文件,在文件中引入mqttws31.min.js模块,进一步使用Paho.MQTT.Client创建基于消息队列遥测传输协议的客户端,并设置客户端的用户信息和属性,包括设置用户标识符、用户名、密码、心跳时间等,该用户信息即为代理服务器链接认证需要获取的用户信息。最后在客户端中设置代理服务器的ip和端口号,将客户端与代理服务器关联。
为实现代理服务器向客户端传递数据,本实施例的客户端中创建有数据接收函数,该函数的参数为代理服务器发送给客户端的的物联网数据。当客户端在代理服务器上订阅主题后,该主题中的物联网数据会被推送至数据接收函数,即完成代理服务器向虚幻引擎的数据传输。
实际中,技术人员在虚幻引擎上建模时,往往还需要将物联网数据传递到模型的特定控件中,并将数据可视化地展示出来。为实现这一过程,本实施例在虚幻引擎中创建了可视化数据传输通道。
首先在虚幻引擎中创建控件蓝图,并在控件蓝图的设计器中创建可将物联网数据可视化展示的事件函数;然后,在上述超文本标记语言文件中创建接口解析脚本,该脚本会在JavaScript中创建自定义封装的接口函数,将事件函数嵌套在该接口函数中,再将该接口函数嵌套在数据接收函数中。另外,解析脚本运行期间会在超文本标记语言文件中找出被调用的该接口函数,构建了控件蓝图和JavaScript脚本之间的通信桥梁。其中,JavaScirpt脚本解析代码如下所示:
"object"!=typeof ue||"object"!=typeof ue.interface?("object"!=typeofue&&(ue={}),ue.interface={},ue.interface.broadcast=function(e,t){if("string"==typeof e){var o=[e,""];void 0!==t&&(o[1]=t);var n=encodeURIComponent(JSON.stringify(o));"object"==typeof history&&"function"==typeofhistory.pushState?(history.pushState({},"","#"+n),history.pushState({},"","#"+encodeURIComponent("[]"))):(document.location.hash=n,document.location.hash=encodeURIComponent("[]"))}}):function(e){ue.interface={},ue.interface.broadcast=function(t,o){"string"==typeof t&&(void 0!==o?e.broadcast(t,JSON.stringify(o)):e.broadcast(t,""))}}(ue.interface),(window.ue4=ue.interface.broadcast);
具体地,该接口函数具有两个参数,第一个参数以字符串的形式出现,内容为上述事件函数的函数名,第二个参数由上述数据接收函数为其赋值。
数据传递时,虚幻引擎通过调用上述网络产品界面设计插件,加载上述超文本标记语言文件,启动数据接收函数。数据接收函数通过调用接口函数,将代理服务器推送来的物联网数据赋值给接口函数的第二个参数;接口函数又通过调用事件函数,将其第二个参数中的物联网数据赋值给第一个参数中的事件函数。这样便实现了将数据接收函数收到的物联网数据传递到具体的事件函数中。其中,数据接收函数代码如下所示:
client.onMessageArrived = onMessageArrived;//注册数据接收函数
function onMessageArrived(message) {
//传递ue
ue4("js2ue", message.payloadString);//调用接口函数
}
本发明另一实施例提供了一种对接虚幻引擎的物联网数据传输系统,该系统包括:
创建模块,用于根据物联网设备发送的发布主题请求创建主题;
订阅模块,用于根据虚幻引擎发送的订阅主题请求为虚幻引擎订阅主题;
推送模块,用于将物联网设备发送的物联网数据关联至主题,并将主题推送至虚幻引擎。
在本实施例中,搭建了基于消息队列遥测传输协议的代理服务器,该代理服务器包括上述创建模块、订阅模块和推送模块。该系统一端连接虚幻引擎,一端连接物联网设备,实现虚幻引擎和物联网设备之间直接传输数据。
实际应用中,该系统通过跟不同的物联网设备连接,可以实现系统在各个领域的广泛应用。示例地,系统可以与水质检测仪、投入式液位计、流量监测仪、雷达液位计等物联网设备连接,实现系统在多个领域的应用。
进一步地,该系统还可以包括:
安全认证模块,用于对客户端进行链接认证;客户端为物联网设备和/或虚幻引擎。
在本实施例中,基于Netty的出站入站链以及OAuth2,在代理服务器上搭建安全认证模块,参照图2,代理服务器通过生成访问令牌并发送给客户端,再验证客户端的访问令牌,来对客户端进行安全认证,安全认证通过后,代理服务器与客户端建立链接,保证了链接的安全和数据传输的可靠性。
在本实施中,参照图2,代理服务器内设有访问令牌生成器和访问令牌验证器,分别用于为客户端生成访问令牌和验证客户端发送的访问令牌。同时,代理服务器中还设有应用程序编程接口(Application Programming Interface,简称API),用于接收客户端发送的访问令牌,并将访问令牌发送至访问令牌验证器。
进一步地,该系统还可以包括:
心跳机制模块,用于验证物联网设备和/或虚幻引擎是否在线。
在本实施例中,代理服务器中创建了定时心跳机制,通过定时向客户端发送心跳数据包,并根据客户端接收心跳数据包的情况来判断客户是否在线。如果客户端在心跳时间内一直在接收心跳数据包,定义客户端在线;如果客户端在心跳时间内的某一段时间内没有接收心跳数据包,则定义为客户端不在线,代理服务器随即将客户端在其缓存中的状态设置为离线状态。心跳时间由客户端进行设置,保证链接的可靠性,示例地,心跳时间可以设置为60秒。
进一步地,创建模块、订阅模块和推送模块均可以采用多线程处理方式进行数据处理。
在本实施例中,参照图3,构建了Netty Reactor多线程模型,该模型包括一个输入/输出事件处理线程,一个异步读取/写入和监听线程,以及多个事件线程。代理服务器收到任务后,可以用异步读取/写入和监听线程把任务分派给各个事件线程去处理,并监听各个事件线程的处理情况。这样,任务无需等待就可以得到快速处理,相比单个线程,多线程处理速度更快、效率更高,保证了信息处理的及时性和系统的高可用性。
可选地,虚幻引擎中创建有数据接收函数、接口函数和控件蓝图,数据接收函数用于接收物联网数据;控件蓝图用于展示物联网数据。数据接收函数可以通过调用接口函数,将物联网数据传输至控件蓝图。
本发明提供的数据传输方法,首先根据物联网设备的请求创建主题,然后根据虚幻引擎的请求为虚幻引擎订阅主题,最后将物联网设备发送的物联网数据关联到主题中,并将主题推送给虚幻引擎,从而将物联网设备的数据传输给虚幻引擎。本发明实现了在虚幻引擎与物联网设备之间直接进行数据传输。
以上所述,仅是本申请的几个实施例,并非对本申请做任何形式的限制,虽然本申请以较佳实施例揭示如上,然而并非用以限制本申请,任何熟悉本专业的技术人员,在不脱离本申请技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。
Claims (9)
1.一种对接虚幻引擎的物联网数据传输方法,其特征在于,包括:
S1、根据消息队列遥测传输协议搭建代理服务器;
S2、所述代理服务器根据物联网设备发送的发布主题请求创建主题;
S3、所述代理服务器根据虚幻引擎发送的订阅主题请求为所述虚幻引擎订阅所述主题;
S4、所述代理服务器将所述物联网设备发送的物联网数据关联至所述主题,并将所述主题推送至所述虚幻引擎。
2.根据权利要求1所述的方法,其特征在于,在所述S2之前,所述方法还包括:
所述代理服务器对客户端进行链接认证;所述客户端为所述物联网设备和/或所述虚幻引擎。
3.根据权利要求2所述的方法,其特征在于,所述对客户端进行链接认证,具体包括:
所述代理服务器接收所述客户端发送的链接请求,并验证所述链接请求中的用户信息;
当验证通过后,所述代理服务器向所述客户端发送访问令牌;
所述代理服务器接收所述客户端发送的验证信息,并验证所述验证信息是否为所述访问令牌。
4.根据权利要求1所述的方法,其特征在于,所述虚幻引擎中创建有数据接收函数;
相应地,所述S4中的将所述主题推送至所述虚幻引擎,具体为:
将所述主题中的物联网数据推送给所述数据接收函数。
5.一种对接虚幻引擎的物联网数据传输系统,其特征在于,所述系统包括:
创建模块,用于根据物联网设备发送的发布主题请求创建主题;
订阅模块,用于根据虚幻引擎发送的订阅主题请求为所述虚幻引擎订阅所述主题;
推送模块,用于将所述物联网设备发送的物联网数据关联至所述主题,并将所述主题推送至所述虚幻引擎。
6.根据权利要求5所述的系统,其特征在于,还包括:
安全认证模块,用于对客户端进行链接认证;所述客户端为所述物联网设备和/或所述虚幻引擎。
7.根据权利要求5所述的系统,其特征在于,还包括:
心跳机制模块,用于验证所述物联网设备和/或所述虚幻引擎是否在线。
8.根据权利要求5所述的系统,其特征在于,所述创建模块、所述订阅模块和所述推送模块均采用多线程处理方式进行数据处理。
9.根据权利要求5所述的系统,其特征在于,所述虚幻引擎中创建有数据接收函数、接口函数和控件蓝图,所述数据接收函数用于接收物联网数据;
所述数据接收函数通过调用所述接口函数,将所述物联网数据传输至所述控件蓝图;所述控件蓝图用于展示所述物联网数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311798979.7A CN117478726A (zh) | 2023-12-26 | 2023-12-26 | 一种对接虚幻引擎的物联网数据传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311798979.7A CN117478726A (zh) | 2023-12-26 | 2023-12-26 | 一种对接虚幻引擎的物联网数据传输方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117478726A true CN117478726A (zh) | 2024-01-30 |
Family
ID=89635032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311798979.7A Pending CN117478726A (zh) | 2023-12-26 | 2023-12-26 | 一种对接虚幻引擎的物联网数据传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478726A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180066369A (ko) * | 2016-12-08 | 2018-06-19 | 제주대학교 산학협력단 | 현실과 사이버 세상을 연계한 IoT 기반 O2O 도망자 추적 게임 시스템 및 방법 |
US20210392386A1 (en) * | 2020-06-12 | 2021-12-16 | Tencent America LLC | Data model for representation and streaming of heterogeneous immersive media |
CN115794095A (zh) * | 2023-01-10 | 2023-03-14 | 北京爱特拉斯信息科技有限公司 | 基于JavaScript的虚幻引擎UI开发方法及系统 |
CN117065357A (zh) * | 2022-05-10 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法、装置、计算机设备和存储介质 |
CN117216857A (zh) * | 2023-10-20 | 2023-12-12 | 广西大藤峡水利枢纽开发有限责任公司 | 一种基于虚幻和gis双引擎的数字孪生可视化方法及平台 |
-
2023
- 2023-12-26 CN CN202311798979.7A patent/CN117478726A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180066369A (ko) * | 2016-12-08 | 2018-06-19 | 제주대학교 산학협력단 | 현실과 사이버 세상을 연계한 IoT 기반 O2O 도망자 추적 게임 시스템 및 방법 |
US20210392386A1 (en) * | 2020-06-12 | 2021-12-16 | Tencent America LLC | Data model for representation and streaming of heterogeneous immersive media |
CN117065357A (zh) * | 2022-05-10 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法、装置、计算机设备和存储介质 |
CN115794095A (zh) * | 2023-01-10 | 2023-03-14 | 北京爱特拉斯信息科技有限公司 | 基于JavaScript的虚幻引擎UI开发方法及系统 |
CN117216857A (zh) * | 2023-10-20 | 2023-12-12 | 广西大藤峡水利枢纽开发有限责任公司 | 一种基于虚幻和gis双引擎的数字孪生可视化方法及平台 |
Non-Patent Citations (2)
Title |
---|
CSDN用户: ""ue4 bp mqtt"", pages 1 - 2, Retrieved from the Internet <URL:https://wenku.csdn.net/answer/39bc10241e9a11ee94bdfa163eeb3507> * |
钟良骥 等著: "《物联网技术与应用》", 31 January 2020, 华中科技大学出版社, pages: 72 - 81 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10326807B2 (en) | Method and software for enabling n-way collaborative work over a network of computers | |
US8843832B2 (en) | Architecture, system and method for a real-time collaboration interface | |
US9425973B2 (en) | Resource-based synchronization between endpoints in a web-based real time collaboration | |
CN105847988B (zh) | 视频分享方法和装置 | |
US6880010B1 (en) | Methods, systems, and computer program products that request updated host screen information from host systems in response to notification by servers | |
US20120079066A1 (en) | System and method to create bi-directional event subscriptions | |
US20100082747A1 (en) | Real-time collaborative browsing | |
US20070033441A1 (en) | System for and method of multi-location test execution | |
CN103139051A (zh) | 一种基于Websocket协议的即时通讯方法 | |
EP2745467A1 (en) | Method for flow control and for reliable communication in a collaborative environment | |
WO2017174026A1 (zh) | 一种客户端连接方法及系统 | |
CN105429958A (zh) | 一种基于Android开发的企业应用平台系统 | |
CN110430126A (zh) | 即时通信消息处理方法、装置、系统、设备及存储介质 | |
CN114629904B (zh) | 一种分布式事件的处理方法、系统、设备及介质 | |
CN105704001A (zh) | 一种微信服务器消息分发方法及系统 | |
Mesnil | Mobile and Web Messaging: Messaging Protocols for Web and Mobile Devices | |
CN105959278B (zh) | 一种调用vpn的方法、设备和系统 | |
CN117478726A (zh) | 一种对接虚幻引擎的物联网数据传输方法及系统 | |
US8856651B2 (en) | Remote user interface cooperative application | |
CN108989404A (zh) | 一种弹幕消息下发方法、服务器、系统和存储介质 | |
Chika et al. | Financial stock application using websocket in Real Time Application | |
El Saddik et al. | JASMINE: Java application sharing in multiuser interactive environments | |
Smolka | Real-time communication in web browser | |
Laurențiu-Bogdan et al. | Command and Control Systems for Video Sensors Communications Based on Python Application for Mobile Smart Devices | |
US20220382825A1 (en) | Method and system for web page co-browsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |