物联网平台同步调用的方法、物联网系统和网络设备技术方案

技术编号:24333980 阅读:32 留言:0更新日期:2020-05-29 21:16
本发明专利技术实施例提供了一种物联网平台同步调用的方法、物联网系统和网络设备,属于物联网技术领域。其中,方法可以包括:在接收到调用方发送的同步调用请求时,阻塞与所述同步调用请求对应的收发线程,并为所述同步调用请求生成调用标识符;建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备;在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。采用本发明专利技术,无需改动异步通信模式,即可实现调用方对物联网平台进行同步调用。

Methods, Internet of things system and network equipment of Internet of things platform synchronous call

【技术实现步骤摘要】
物联网平台同步调用的方法、物联网系统和网络设备
本专利技术涉及物联网
,特别涉及一种物联网平台同步调用的方法、物联网系统和网络设备。
技术介绍
随着互联网技术的不断发展,物联网技术得到广泛应用。各个物联网设备通过网络互联,有效推动了各个行业的智能化发展。MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)协议采用Pub/Sub(Public/Subscribe,发布/订阅)的异步通信模式,能够为连接远程设备提供实时可靠的消息服务。因此,物联网设备与物联网平台通常采用MQTT协议进行异步通信。本专利申请的专利技术人通过研究现有的物联网技术,发现现有技术至少存在以下问题:在面对涉及共享资源、多次调用操作存在严格时序关系等场景时,用户往往需要对物联网平台进行同步调用,进而通过物联网平台向物联网设备下发指令。在这种情况下,用户需要在接收到物联网设备回复的调用结果后才能进行其他操作。然而,现有的采用异步通信模式的物联网系统不能满足用户同步调用的场景需求。
技术实现思路
本申请的目的在于提供一种物联网平台同步调用的方法、物联网系统和网络设备,无需改动物联网平台与物联网设备的异步通信模式,即可实现调用方对物联网平台进行同步调用。所述技术方案如下:第一方面,提供了一种物联网平台同步调用的方法,所述方法包括:在接收到调用方发送的同步调用请求时,阻塞与所述同步调用请求对应的收发线程,并为所述同步调用请求生成调用标识符;建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备;在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。在实施中,物联网平台在接收到同步调用请求后,阻塞对应的收发线程,物联网平台与物联网设备之间仍进行异步通信。物联网平台无需改动原有的异步通信模式,根据调用标识符将涉及同一调用请求的收发线程、请求消息、以及响应消息关联起来。对于调用方而言,同步调用结果与同步调用请求对应,即实现了对物联网平台进行同步调用。进一步的,建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备,包括:通过业务处理服务建立所述调用标识符与所述收发线程的对应关系,并对所述同步调用请求进行业务处理;根据所述同步调用请求和所述调用标识符生成所述请求消息,并通过所述业务处理服务将携带所述调用标识符的请求消息发送至链接管理服务;通过所述链接管理服务建立所述调用标识符与所述业务处理服务的对应关系,并将所述请求消息发送至所述物联网设备。在实施中,若物联网平台内的业务处理服务与链接管理服务分离,业务处理服务与链接管理服务进行异步通信过程中可以携带调用标识符。这样,可以将调用标识符与业务处理服务关联起来,为物联网平台将响应消息正确发送至业务处理服务进行业务处理提供基础。并且,请求消息在转发过程中始终携带调用标识符,为实现调用方的同步调用提供了基础。进一步的,在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方,包括:在所述连接管理服务接收到携带所述调用标识符的响应消息时,将所述响应消息发送至与所述调用标识符对应的所述业务处理服务进行业务处理;通过所述业务处理服务唤醒与所述调用标识符对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。在实施中,若物联网平台内的业务处理服务与链接管理服务分离,链接管理服务可以根据调用标识符确定对请求消息进行业务处理的业务处理服务。之后,物联网平台可以将接收到的响应消息发送至业务处理服务进行业务处理。物联网平台无需改动物联网平台上业务处理服务和链接管理服务的异步通信模式,根据调用标识符将涉及同一个同步调用请求的响应消息、业务处理服务、以及收发线程关联起来。对于调用方而言,同步调用结果与同步调用请求对应,即实现了同步调用物联网平台接口。可选的,所述物联网平台通过RPC同步接口接收所述调用方发送的同步调用请求。在实施中,物联网平台可以对外提供RPC同步调用接口来接收同步调用请求,可以保证远程过程调用对调用方而言是透明的。可选的,建立所述目标调用标识符与所述收发线程的对应关系,包括:在本地存储所述调用标识符与所述收发线程的信号量标记的映射关系。在实施中,收发线程可以通过信号量来标识。信号量可协调共享资源的访问,并且保证物联网平台多线程处理的时序关系。可选的,所述方法还包括:若不存在所述物联网设备,则结束所述收发线程的阻塞状态,并向所述调用方发送代表设备不存在的错误响应码;若所述物联网设备不在线,则结束所述收发线程的阻塞状态,并向所述调用方发送代表设备离线的错误响应码;若在超时时间内未接收到携带所述调用标识符的响应消息,则结束所述收发线程的阻塞状态,并向所述调用方发送代表连接超时的错误响应码。在实施中,若出现不存在同步调用请求指定的物联网设备,或者同步调用请求指定的物联网设备不在线或设备忙碌等情况,物联网设备可以主动结束对应的收发线程的阻塞状态,并向调用方返回代表相应错误的错误响应码,使得调用方不再等待调用结果。第二方面,提供了另一种物联网平台同步调用的方法,所述方法包括:接收物联网平台发送的请求消息,并获取所述请求消息携带的调用标识符;向所述物联网平台发送携带所述调用标识符的响应消息,以使所述物联网平台根据所述调用标识符查找对应的收发线程,并通过所述收发线程将调用结果发送至调用方。在实施中,当物联网设备接收到携带调用标识符的请求消息时,可以向物联网平台返回携带相同调用标识符的响应消息。这样,可以为实现调用方的同步调用提供基础。具体而言,物联网平台根据响应消息携带的调用标识符便可查找到对应的收发线程,通过该收发线程将响应消息携带的调用结果发送给调用方。第三方面,提供了一种物联网系统,所述系统包括:物联网平台,用于在接收到调用方发送的同步调用请求时,阻塞与所述同步调用请求对应的收发线程,并为所述同步调用请求生成调用标识符;所述物联网平台,还用于建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备;所述物联网设备,用于在接收到所述物联网平台发送的请求消息后,向所述物联网平台发送携带所述调用标识符的响应消息;所述物联网平台,还用于在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。可选的,所述物联网平台具体用于:通过业务处理服务建立所述调用标识符与所述收发线程的对应关系,并对所述同步调用请求进行业务处理;根据所述本文档来自技高网...

【技术保护点】
1.一种物联网平台同步调用的方法,其特征在于,所述方法包括:/n在接收到调用方发送的同步调用请求时,阻塞与所述同步调用请求对应的收发线程,并为所述同步调用请求生成调用标识符;/n建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备;/n在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。/n

【技术特征摘要】
1.一种物联网平台同步调用的方法,其特征在于,所述方法包括:
在接收到调用方发送的同步调用请求时,阻塞与所述同步调用请求对应的收发线程,并为所述同步调用请求生成调用标识符;
建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备;
在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。


2.如权利要求1所述的方法,其特征在于,建立所述调用标识符与所述收发线程的对应关系,并将携带所述调用标识符的请求消息发送至所述同步调用请求指定的物联网设备,包括:
通过业务处理服务建立所述调用标识符与所述收发线程的对应关系,并对所述同步调用请求进行业务处理;
根据所述同步调用请求和所述调用标识符生成所述请求消息,并通过所述业务处理服务将携带所述调用标识符的请求消息发送至链接管理服务;
通过所述链接管理服务建立所述调用标识符与所述业务处理服务的对应关系,并将所述请求消息发送至所述物联网设备。


3.如权利要求2所述的方法,其特征在于,在接收到携带所述调用标识符的响应消息时,根据所述调用标识符唤醒对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方,包括:
在所述连接管理服务接收到携带所述调用标识符的响应消息时,将所述响应消息发送至与所述调用标识符对应的所述业务处理服务进行业务处理;
通过所述业务处理服务唤醒与所述调用标识符对应的所述收发线程,并通过所述收发线程将调用结果发送至所述调用方。


4.如权利要求1所述的方法,其特征在于,所述物联网平台通过RPC同步接口接收所述调用方发送的同步调用请求。


5.如权利要求1或2所述的方法,其特征在于,建立所述目标调用标识符与所述收发线程的对应关系,包括:
在本地存储所述调用标识符与所述收发线程的信号量标记的映射关系。


6.如权利要求1所述的方法,其特征在于,所述方法还包括:
若不存在所述物联网设备,则结束所述收发线程的阻塞状态,并向所述调用方发送代表设备不存在的错误响应码;
若所述物联网设备不在线,则结束所述收发线程的阻塞状态,并向所述调用方发送代表设备离线的错误响应码;
若在超时时间内未接收到携带所述调用标识符的响应消息,则结束所述收发线程的阻塞状态,并向所述调用方发送代表连接超时的错误响应码。


7.一种物联网平台同步调用的方法,其特征在于,所述方法包括:
接收物联网平台发送的请求消息,并获取所述请求消息携带的调用标识符;
向所述物联网平台发送携带所述调用标识符的响应消息,以使所述物联网平台根据所述调用标识符查找对应的收发线程,并通过所述收发线程将调用结果发送至调用方。


8.一种物联网系统,其特征在于,所述系统包括:
物联网平台,用于在接收到调用方发送的...

【专利技术属性】
技术研发人员:李俊民陈子为
申请(专利权)人:厦门网宿有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1