用于IoT设备之间的跨协议通信的方法、装置及IoT系统与流程

文档序号:14785642发布日期:2018-06-27 22:28阅读:237来源:国知局
用于IoT设备之间的跨协议通信的方法、装置及IoT系统与流程

本发明涉及通信技术领域,尤其涉及一种用于进行IoT设备之间的跨协议通信的方法、装置及IoT系统。



背景技术:

现有技术中,IoT(Internet Of Things,物联网)系统并不支持采用不同IoT或M2M(Machine to Machine,机器与机器)协议的IoT设备之间的通信,也即仅采用相同协议的IoT设备之间才能够进行交互。现有的公司或组织通常仅站在自己的立场上,坚持推广自己的设备和物联网管理系统,所推广的设备或系统仅使用满足自己的利益的协议,而若其他公司的设备或系统采用不同协议,则无法与该公司的设备或系统进行通信。此外,物联网系统的大多数当前实现是协议特定的,但由于每个协议是单独处理的,因此不可能实现采用不同协议的IoT设备之间的通信。这不仅极大地限制了物联网的发展,而且还限制了物联网应用的规模。



技术实现要素:

本发明的目的是提供一种用于进行IoT设备之间的跨协议通信的方法、装置及IoT系统。

根据本发明的一个方面,提供一种在IoT系统中用于进行IoT设备之间的跨协议通信的第一装置,该第一装置包括:

接收单元,用于接收来自基于一种特定协议的第二装置的面向所述一种特定协议的基本操作;

第一映射单元,用于将接收到的基本操作映射为基元,并将所述基元映射为面向另一种特定协议的基本操作;

发送单元,将所述面向另一种特定协议的基本操作发送至基于所述另一种特定协议的第二装置。

根据本发明的另一个方面,提供一种在IoT系统中用于辅助进行IoT设备之间的跨协议通信的第二装置,该第二装置基于特定协议,该第二装置包括:

第二映射单元,用于接收来自第三装置的面向所述特定协议的RESTful消息,将接收到的RESTful消息映射为面向所述特定协议的基本操作,并将映射得到的基本操作发送至第一装置;

第三映射单元,用于接收来自第一装置的面向所述特定协议的基本操作,将接收到基本操作映射为面向所述特定协议的RESTful API,并将基于所述RESTful API确定的RESTful消息发送至第三装置。

根据本发明的另一个方面,提供一种在IoT系统中用于辅助进行IoT设备之间的跨协议通信的第三装置,该第三装置包括:

解析单元,用于接收来自IoT设备物联网设备的基于特定协议的数据包,将接收到的数据包解析为基于所述特定协议的RESTful API,并将基于所述RESTful API确定的RESTful消息发送至相连接的第二装置;

封装单元,用于接收来自相连接的第二装置的面向所述特定协议的RESTful消息,将接收到的RESTful消息封装为基于所述特定协议的数据包,并将封装得到的数据包发送至相应的IoT设备。

根据本发明的一个方面,提供一种用于进行IoT设备之间的跨协议通信的IoT系统,该IoT系统包括本发明所述的第一装置、多个本发明所述的第二装置、以及多个本发明所述的第三装置。

根据本发明的另一个方面,还提供了一种在IoT系统中用于进行IoT设备之间的跨协议通信的方法,该方法包括:

接收来自基于一种特定协议的第二装置的面向所述一种特定协议的基本操作;

将接收到的基本操作映射为基元,并将所述基元映射为面向另一种特定协议的基本操作;

将所述面向另一种特定协议的基本操作发送至基于所述另一种特定协议的第二装置。

根据本发明的另一个方面,还提供了一种在IoT系统中用于辅助进行IoT设备之间的跨协议通信的方法,该方法包括:

接收来自第三装置的面向所述特定协议的RESTful消息,将接收到的RESTful消息映射为面向所述特定协议的基本操作,并将映射得到的基本操作发送至第一装置;或者,

接收来自第一装置的面向所述特定协议的基本操作,将接收到基本操作映射为面向所述特定协议的RESTful API,并将基于所述RESTful API确定的RESTful消息发送至第三装置。

根据本发明的另一个方面,还提供了一种在IoT系统中用于辅助进行IoT设备之间的跨协议通信的方法,该方法包括:

接收来自IoT设备的基于特定协议的数据包,将接收到的数据包解析为基于所述特定协议的RESTful API,并将基于所述RESTful API确定的RESTful消息发送至相连接的第二装置;或者,

接收来自相连接的第二装置的面向所述特定协议的RESTful消息,将接收到的RESTful消息封装为基于所述特定协议的数据包,并将封装得到的数据包发送至相应的IoT设备。

与现有技术相比,本发明具有以下优点:使得采用不同协议的IoT设备能够相互通信,从而增加了IoT设备之间的通信能力以及网络的连通性,且能够极大地增强IoT系统的管理权力,提高了IoT后端系统的地位。此外,基于本实施例的系统,对于网络运营商来说,可为终端用户提供更多可能的IoT服务;对于终端用户来说,可使用更多可能的IoT服务设备;对于开发人员来说,能够促进IoT应用的开发。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明一个实施例的用于进行IoT设备之间的跨协议通信的IoT系统的系统架构示意图;

图2为本发明一个实施例的用于进行IoT设备之间的跨协议通信的IoT系统的结构示意图;

图3为本发明一个实施例的用于进行IoT设备之间的跨协议通信的方法的流程示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。

这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。

应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。

还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

下面结合附图对本发明作进一步详细描述。

图1为本发明一个实施例的用于进行IoT设备之间的跨协议通信的IoT系统的系统架构示意图。该IoT系统包括第一装置(即图1中所示的MS)、多个基于特定协议的第二装置(即图1中所示的SS),多个基于特定协议的第三装置(即图1中所示的TA)。其中,第一装置连接至多个第二装置,每个第二装置基于不同的特定协议。对于每个第二装置,基于特定协议的该第二装置与基于相同特定协议的第三装置相连接,该第三装置与基于相同特定协议的IoT设备直接相连接。

其中,所述第三装置与实际的IoT设备直接通信。当接收到来自IoT设备的数据包时,所述第三装置用作解析器,以语法分析(syntactic analyzer)的方式将面向特定协议的数据包解析为面向该特定协议的RESTful API,也即,基于一种协议的每种类型的数据和控制会被抽象为RESTful API;当收到来自第二装置的面向特定协议的RESTful消息时,所述第三装置用于将接收到的RESTful消息封装为面向该特定协议的数据包,以传递给相应的IoT设备。其中,RESTful API是指基于RESTful(Representational State Transfer)架构的API。优选地,不应允许第三装置使用持久性数据库,可在第三装置中使用非持久性数据库,如内存数据库。这是由于第三装置直接与设备交互,故将其设计为数据管道,以增强数据安全性。而用于数据分析的持久性数据库可以在第一装置和第二装置中实施。

其中,相互连接的第二装置与第三装置基于相同的特定协议,且基于第二装置与第三装置之间的接口来传递RESTful消息。其中,第二装置与第三装置之间可采用现有的或以后可能会出现的任何能够使用RESTful消息传递的通信方式,优选地,所述第三装置与其所连接至的第二装置之间的接口采用RESTful架构来设计,且基于HTTPS来传输RESTful API,以加强两者之间的传输的安全性。优选地,可在第二装置和第三装置之间部署防火墙,如图1中所示的位于第二装置和第三装置之间的虚线,以进一步提高其安全能力。

其中,所述第二装置负责特定协议的管理(第二装置不负责协议间通信),其可用作中间解释器和中间层管理器,来管理具有特定协议的设备,例如LWM2M,LoRa,MQTT等。当接收到来自与之相连的第三装置的RESTful消息时,第二装置可用作协议检查器和基本操作生成器,以语义分析(semantic analyzer)的方式将面向特定协议的RESTful API映射为面向该特定协议的基本操作(Basic Operation,BO);当接收到来自第一装置的基本操作时,第二装置用于将面向特定协议的基本操作映射为面向该特定协议的RESTful API。

其中,BO是指面向特定协议的协议层操作的行为抽象,该行为抽象能够被特定协议理解但是不能在不同协议间共享,优选地,BP可包括:数据传输、固件升级、设备状态检查、设备发现、资源搜索等操作。基于特定协议的第二装置中定义有面向该特定协议的一系列BO,用于实现RESTful API与BO之间的映射。

其中,所述第一装置负责进行不同协议之间的解释,其能够将每个特定协议的基本操作映射至基元(Primitive),以及将基元映射为面向特定协议的基本操作,也即,第一装置用于进行基元与面向不同特定协议的基本操作之间的映射,其作为解释器,是不同协议之间的桥梁。对于分别使用两种不同特定协议的两个IoT设备,在实现该两个IoT设备的跨协议通信的过程中,第一装置用于将接收到的面向一种特定协议的基本操作映射为基元,再将该基元映射为面向另一种特定协议的基本操作,从而实现该两种不同特定协议之间的解释,使得该两个IoT设备之间的通信不受协议的限制。例如,第一装置将接收到的面向协议A的基本操作BO1映射为基元,再将该基元映射为面向协议B的基本操作BO2,从而实现协议A和协议B之间的解释。

其中,基元是指比BO更低一级的协议层操作的行为抽象,该行为抽象可为任何能够在不同协议间共享的低层次基本操作,优选地,所述基元可为读、写、开启、终止、遍历等最基本的原子操作。具体地,对于一次不同协议间的数据交互行为,如设备状态的获取,虽然该数据交互行为在不同协议中的表述不同,但通过第二装置的语义分析之后依然可以通过基元配对,从而实现不同协议之间的互联互通。其中,每一个BO是由一个或多个基元序列组合而成的,这可由在第一装置中维护的一张映射表来完成,该映射表的设计将由具体的应用场景决定,具有相同或相似基元序列的BO可以通过配置映射表来实现对接。

其中,第一装置与第二装置之间可采用现有的或以后可能会出现的任何能够用于传递BO的通信方式;优选地,第一装置与第二装置之间的接口同样采用RESTful架构来设计,且基于HTTPS来传输BO,以加强两者之间的传输的安全性。需要说明的是,第一装置可通过SoAP(Simple Object Access Protocol,简单对象访问协议),JMS(Java Message Service,Java消息服务)或其他简单消息协议与第二装置通信,来实现接口调用。

优选地,第一装置还能够用于管理IoT设备,如通过图形、图表或地图等来呈现数据。

优选地,该IoT系统还可利用云和大数据来实现大规模部署和分析。

需要说明的是,尽管图1中仅示出了第二装置与第三装置之间,以及第三装置与IoT设备之间一对一连接的情形,但本领域技术人员应能理解,一个基于特定协议的第二装置可连接至多个基于该特定协议的第三装置,一个基于特定协议的第三装置也可连接至多个基于该特定协议的IoT设备。

根据本实施例的方案,使得采用不同协议的IoT设备能够相互通信,从而增加IoT设备之间的通信能力以及网络的连通性,且能够极大地增强IoT系统的管理权力,提高了IoT后端系统的地位。此外,基于本实施例的系统,对于网络运营商来说,可为终端用户提供更多可能的IoT服务;对于终端用户来说,可使用更多可能的IoT服务设备;对于开发人员来说,能够促进IoT应用的开发。

图2为本发明一个实施例的用于进行IoT设备之间的跨协议通信的IoT系统的结构示意图。该IoT系统包括第一装置MS,基于协议A的第二装置SS1、第三装置TA1以及IoT设备D1,基于协议B的第二装置SS2、第三装置TA2以及IoT设备D2。其中,所述第一装置MS进一步包括接收单元101、第一映射单元102和发送单元103,第二装置SS1进一步包括第二映射单元104,第二装置SS2进一步包括第三映射单元105,第三装置TA1进一步包括解析单元106,第三装置TA2进一步包括封装单元107。优选地,TA1与SS1之间的接口、TA2与SS2之间的接口、MS与SS1之间的接口、MS与SS2之间的接口均采用RESTful架构,并基于HTTPS来传递数据。需要说明的是,本实施例仅示例性地说明了D1向D2发起交互的跨协议通信过程。

首先,D1向TA1发送面向协议A的数据包。

接着,TA1的解析单元106接收来自D1的面向协议A的数据包,并将接收到的数据包解析为面向协议A的RESTful API,之后,将基于解析得到的RESTful API确定的RESTful消息发送至SS1。

接着,SS1的第二映射单元104接收来自TA1的面向协议A的RESTful消息,将接收到的RESTful消息映射为面向协议A的基本操作,并将映射得到的基本操作发送至MS。其中,SS1中定义了基于协议A的一系列基本操作。

接着,MS的接收单元101接收来自SS1的面向协议A的基本操作;第一映射单元102将接收到的面向协议A的基本操作映射为基元,并将该基元映射为面向协议B的基本操作;发送单元103将面向协议B的基本操作发送至基于协议B的SS2。

接着,SS2的第三映射单元105接收来自MS的面向协议B的基本操作,将接收到的基本操作映射为面向协议B的RESTful API,并将基于映射得到的RESTful API确定的RESTful消息发送至TA2。

再接着,TA2的封装单元107接收来自SS2的面向协议B的RESTful消息,将接收到的RESTful消息封装为面向协议B的数据包,并将封装得到的数据包发送至D2。

由此,D1可不受协议限制的与D2进行交互。

图3为本发明一个实施例的用于进行IoT设备之间的跨协议通信的方法的流程示意图。该方法包括步骤S101、步骤S102、步骤S103、步骤S104、步骤S105、步骤S106、步骤S107和步骤S108。需要说明的是,本实施例仅示例性地说明了D1向D2发起交互的跨协议通信过程。

在步骤S101中,D1向TA1发送面向协议A的数据包。

在步骤S102中,TA1接收来自D1的面向协议A的数据包,并将接收到的数据包解析为面向协议A的RESTful API,之后,将解析得到的RESTful消息发送至SS1。

在步骤S103中,SS1接收来自TA1的面向协议A的RESTful消息,将接收到的RESTful消息映射为面向协议A的基本操作,并将映射得到的基本操作发送至MS。其中,SS1中定义了基于协议A的一系列基本操作。

在步骤S104中,MS收来自SS1的面向协议A的基本操作。在步骤S105中,MS将接收到的面向协议A的基本操作映射为基元,并将该基元映射为面向协议B的基本操作。在步骤S106中,MS将映射得到的面向协议B的基本操作发送至基于协议B的SS2。

在步骤S107中,SS2接收来自MS的面向协议B的基本操作,将接收到的基本操作映射为面向协议B的RESTful API,并将基于映射得到的RESTful API确定的RESTful消息发送至TA2。

在步骤S108中,TA2接收来自SS2的面向协议B的RESTful消息,将接收到的RESTful消息封装为面向协议B的数据包,并将封装得到的数据包发送至D2。

由此,D1可不受协议限制的与D2进行交互。

需要说明的是,为了更清楚地说明本发明的方案,在上述实施例中第二装置SS1、SS2和第三装置TA1、TA2分别执行一定的操作,但是本领域技术人员应能理解,本发明的第二装置能够执行上述实施例中SS1、SS2所执行的所有操作,本发明的第三装置能够执行上述实施例中TA1、TA2所执行的所有操作,如当TA2接收到来自D2的数据包时,TA2的解析单元执行操作来将该数据包解析为基于协议B的RESTful API。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1