桥接通信的方法和设备与流程

文档序号:20049856发布日期:2020-03-03 04:29阅读:391来源:国知局
桥接通信的方法和设备与流程

本发明实施例涉及领域,并且更具体地,涉及一种桥接通信的方法和设备。



背景技术:

随着技术的发展,物联网作为未来信息网络领域发展的重要方向之一,在世界范围内受到了广泛的关注。但是,目前不同的厂家使用不同的生态链协议,导致不同厂家生产的产品之间不能通信,不能达到真正的万物互联。

桥接设备可以实现不同协议之间的转换,从而可以实现采用不同协议的设备之间的通信。以开放连接基金会(openconnectivityfoundation,ocf)设备为例,桥接设备可以为ocf设备创建虚拟ocf服务端,这样ocf客户端可以和虚拟ocf服务端通过ocf协议进行通信,虚拟ocf服务端可以和非ocf设备以非ocf协议进行通信,这样就可以实现ocf设备和非ocf设备之间的通信。

目前,通信系统对通信要求越来越高,桥接设备在实现两种不同协议的设备之间的通信的过程中,如何能够降低通信复杂度成为亟需解决的问题。



技术实现要素:

本发明实施例提供一种,能够减少桥接设备中的端点数量,并降低设备桥接通信的复杂度。

第一方面,提供了一种桥接通信的方法,包括:桥接设备接收第一通信协议客户端发送的资源发现请求消息;所述桥接设备向所述第一通信协议客户端发送资源发现响应消息,所述资源发现响应消息中包括第一通信协议虚拟服务端的信息,第一通信协议虚拟服务端的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符和端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

第二方面,提供了一种桥接通信的方法,包括:第一通信协议客户端向桥接设备发送资源发现请求消息;所述第一通信协议客户端接收所述桥接设备发送的资源发现响应消息,所述资源发现响应消息中包括第一通信协议虚拟服务端的信息,第一通信协议虚拟服务端的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符和端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

第三方面,提供了一种桥接通信的方法,包括:桥接设备接收第二通信协议设备发送的设备注册请求消息;所述桥接设备为所述第二通信协议设备创建第一通信协议虚拟服务端,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

第四方面,提供了一种桥接通信的方法,包括:桥接设备接收第一通信协议客户端发送的资源发现请求消息;所述桥接设备向所述第一通信协议客户端发送资源发现响应消息,所述资源发现响应消息中包括预先创建的代理服务资源和第一通信协议虚拟服务端的信息,该预先创建的代理服务资源和第一通信协议虚拟服务端的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符及端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同;所述桥接设备接收所述第一通信协议客户端发送的资源操作请求消息,所述资源操作请求消息中包括所述代理服务资源的平台资源的统一资源标识符和设备资源的统一资源标识符,所述资源操作请求消息中还包括目标标识,所述目标标识用于标识所述代理服务资源进行操作的第二通信协议设备;所述桥接设备将所述资源操作请求消息转换为所述第二通信协议设备的协议消息;所述桥接设备向所述第二通信协议设备发送所述协议消息。

第五方面,提供了一种桥接通信的方法,包括:第一通信协议客户端向桥接设备发送资源发现请求消息;所述第一通信协议客户端接收所述桥接设备发送的资源发现响应消息,所述资源发现响应消息中包括预先创建的代理服务资源和第一通信协议虚拟服务端的信息,该预先创建的代理服务资源和第一通信协议虚拟服务端的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符和端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同;所述第一通信协议客户端向所述桥接设备发送资源操作请求消息,所述资源操作请求消息中包括所述代理服务资源的平台资源的统一资源标识符和设备资源的统一资源标识符,所述资源操作请求消息中还包括目标标识,所述目标标识用于标识所述代理服务资源进行操作的第二通信协议设备。

第六方面,提供了一种桥接通信的方法,包括:桥接设备接收第二通信协议设备发送的设备注册请求消息;所述桥接设备为所述第二通信协议设备创建第一通信协议虚拟服务端和代理服务资源,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同,所述代理服务资源用于代理第一通信协议客户端对所述第一通信协议虚拟服务端的请求。

第七方面,提供了一种桥接设备,用于执行上述第一方面或第三方面中任意可选的实现方式中所述的方法。具体地,该桥接设备括用于执行上述第一方面、第三方面、第四方面或第六方面中任意可选的实现方式中所述的方法的功能模块。

第八方面,提供了一种第一通信协议设备,用于执行上述第二方面或第四方面中任意可选的实现方式中所述的方法。具体地,该桥接设备括用于执行上述第二方面或第五方面中任意可选的实现方式中所述的方法的功能模块。

第九方面,提供了一种桥接设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行上述第一方面、第三方面、第四方面或第六方面中各实现方式中的方法。

第十方面,提供了一种第一通信协议设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行上述第二方面或或第五方面中各实现方式中的方法。

第十一方面,提供了一种芯片,用于实现上述第一方面或第三方面中的任意可能的实现方式中的方法。具体地,该芯片包括处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面、第三方面、第四方面或第六方面中的任意可能的实现方式中的方法。

第十二方面,提供了一种芯片,用于实现上述第二方面或第四方面中的任意可能的实现方式中的方法。具体地,该芯片包括处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第二方面或第五方面中的任意可能的实现方式中的方法。

第十三方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面、第三方面、第四方面或第六方面中的任意可能的实现方式中的方法。

第十四方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第二方面或第五方面中的任意可能的实现方式中的方法。

第十五方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面、第三方面、第四方面或第六方面中的任意可能的实现方式中的方法。

第十六方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第二方面或第五方面中的任意可能的实现方式中的方法。

第十七方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面、第三方面、第四方面或第六方面中的任意可能的实现方式中的方法。

第十八方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第二方面或第五方面中的任意可能的实现方式中的方法。

本申请提供的技术方案,桥接设备上所有虚拟服务端的端点与桥接设备的端点都相同,相比于传统方案,桥接设备上的端点数量会减少,这样可以降低桥接设备对端点的维护成本。为了区分不同的平台资源和设备资源,虚拟服务端的平台资源、设备资源不再使用固定的统一资源标识符,而是将虚拟服务端的平台资源的统一资源标识符和桥接设备的平台资源的统一资源标识符设置为不同,将虚拟服务端的设备资源的统一资源标识符和桥接设备的设备资源的统一资源标识符设置为不同。

端点和通信通道相关,端点减少后,桥接设备建立的客户端与桥接设备之间的通信通道就会减少,通信通道的减少能够减少资源的开销,且桥接设备只需要维护一个通信通道,从而能够降低桥接设备的通信复杂度。

附图说明

图1是本申请实施例提供的一种桥接设备与ocf设备进行通信的示意图。

图2是本申请实施例提供的一种桥接通信的方法的示意性流程图。

图3是本申请实施例提供的另一种桥接通信的方法的示意性流程图。

图4是本申请实施例提供的另一种桥接通信的方法的示意性流程图。

图5是本申请实施例提供的另一种桥接通信的方法的示意性流程图。

图6是本申请实施例提供的另一种桥接通信的方法的示意性流程图。

图7是本申请实施例提供的另一种桥接通信的方法的示意性流程图。

图8是本申请实施例提供的一种桥接设备的示意性框图。

图9是本申请实施例提供的一种第一通信协议设备的示意性框图。

图10是本申请实施例提供的另一种桥接设备的示意性框图。

图11是本申请实施例提供的另一种桥接设备的示意性框图。

图12是本申请实施例提供的另一种第一通信协议设备的示意性框图。

图13是本申请实施例提供的另一种桥接设备的示意性框图。

图14是本申请实施例提供的一种通信设备的示意性结构图。

图15是本申请实施例提供的一种芯片的示意性结构图。

图16是本申请实施例提供的一种通信系统的示意性框图。

具体实施方式

下面将结合附图,对本发明实施例中的技术方案进行描述。

随着技术的发展,物联网作为未来信息网络领域发展的重要方向之一,在世界范围内受到了广泛的关注。但是,目前不同的厂家使用不同的生态链协议(也可以称为通信协议),导致不同厂家生产的产品之间不能通信,不能达到真正的万物互联。

桥接设备可以实现不同协议之间的转换,从而可以实现采用不同协议的设备之间的通信。以ocf设备为例,桥接设备可以为ocf设备创建虚拟ocf服务端,这样ocf客户端可以和虚拟ocf服务端通过ocf协议进行通信,虚拟ocf服务端可以和非ocf设备以非ocf协议进行通信,这样就可以实现ocf设备和非ocf设备之间的通信。

本申请实施例仅是以ocf协议为例,桥接设备也可以实现任意多种通信协议设备之间的转换。例如,桥接设备可以实现受限制的应用协议(constrainedapplicationprotocol,coap)设备和蓝牙设备之间的通信,也可以实现wifi设备与紫蜂(zigbee)设备之间的通信。

可选地,本申请实施例中的通信协议也可以是为了统一物联网而产生的其他协议。

可选地,桥接设备可以仅支持两种不同通信协议设备之间的通信,也可以同时支持多种不同通信协议设备之间的通信。

为方便描述,下面以ocf为例进行描述。

ocf是新兴的物联网应用层技术标准组织,为了实现真正的万物互联,ocf希望制定统一的物联网标准,实现跨越不同的操作系统和平台,实现安全、可靠的设备发现和连接机制。

ocf为物联网应用程序、设备和平台提供通用表征性状态转移(representationalstatetransfer,restful)架构,ocf的restful架构将物联网实体及其服务能力表征为ocf资源。在restful架构下,所有的物理实体可以被描述为资源,通过资源的形式暴露给外部世界,实体的状态通过资源表征来描述,每个资源都具有自己的统一资源标识符(uniformresourceidentifier,uri)和可以支持的接口类型。提供资源的实体是ocf服务端,访问资源的实体是ocf客户端。例如,获取室内环境状态数据的智能手机的移动应用程序是ocf客户端,监测室内环境状态数据的传感器是ocf服务端。ocf客户端和ocf服务端的业务交互是通过对ocf资源的创建、读取、更新、删除或者通知这些资源操作方法而实现。

ocf资源的表征包括:资源uri、资源类型、接口等,具体的定义如下。

资源uri:在ocf资源表征中用“href”标识,提供ocf服务端资源的地址。“href”的值是具体的资源uri,ocf客户端通过资源uri来访问ocf服务端的资源。

资源类型:在ocf资源表征中用“rt”表示,表示资源的类型。

接口:在ocf资源保证中用“if”表示,提供对资源的查看以及资源支持的响应。

为了便于ocf设备及资源的发现,ocf还定义了ocf设备都支持的核心资源。ocf核心资源包括平台资源和设备资源,一个平台资源可以包括一个或多个ocf设备实例。平台资源为设备实例资源的宿主资源,设备资源用于描述一个平台资源上所有的ocf设备实例资源的公共信息。

下面对平台资源和设备资源的资源表征进行描述:

平台资源:提供ocf设备所属平台的相关信息,平台资源的uri固定为“/oic/p”,平台资源的资源类型为“oic.wk.p”。

设备资源:提供具体的ocf设备的相关的信息,设备资源的uri固定为“/oic/d”,设备资源的资源类型为“oic.wk.d”。此外,设备资源的资源类型还可以包括一个或多个与设备特性相关的资源类型。例如,桥接设备的资源类型包括“oic.wk.d”和“oic.d.bridge”,表示这个设备支持桥接资源类型。又例如灯的资源类型包括“oic.wk.d”和“oic.d.light”,表示这个设备支持灯的资源类型。

另外,由于ocf标准协议在传输层采用coap承载ocf消息,因此,为了实现ocf客户端与ocf服务端之间的通信,每个ocf服务端需要具有端点。每一个ocf设备必须关联至少一个端点用于发送和接收消息。其中,端点可以理解为通信协议的通信地址,用于ocf设备交换消息。例如,对于coap协议来说,端点可以为ip地址和udp端口号。

ocf客户端可以向ocf服务端发送资源操作请求消息,该资源操作请求消息中可以携带资源操作方法,该资源操作方法例如可以是创建资源、读取资源、更新资源、删除资源等操作。ocf服务端可以向ocf客户端返回资源操作响应消息,资源操作响应消息中携带所请求的资源的表征。

目前,物联网应用中还存在很多非ocf设备,非ocf设备是指不支持ocf标准协议的物联网设备。例如,zigbee设备,z-wave设备,蓝牙设备等,将非ocf设备接入到ocf系统中可以实现非ocf设备和ocf设备的通信,扩大物联网设备互联互通的范围。

为了将ocf设备接入到ocf系统中,ocf定义了设备桥接通信机制,通过ocf桥接设备可以实现ocf设备与非ocf设备之间的通信。ocf桥接设备可以将非ocf设备映射为虚拟ocf服务端,并进行ocf协议和非ocf协议的转换,从而ocf客户端可以和非ocf设备进行通信,进而实现ocf设备与非ocf设备的通信。

下面结合图1,对ocf设备和非ocf设备之间的通信方式进行描述。

ocf桥接设备可以将非ocf设备映射为虚拟ocf服务端1,将非ocf设备映射为虚拟ocf服务端2。客户端可以通过ocf协议和虚拟ocf服务端1、虚拟ocf服务端2进行通信,桥接设备可以将ocf客户端的请求转换为非ocf协议的指令发送给非ocf设备1和非ocf设备2。

由于ocf设备的平台资源和设备资源都采用的是固定的uri,因此虚拟ocf服务端1、虚拟ocf服务端2和桥接设备的平台资源、设备资源的uri都是相同的。也就是说,虚拟ocf服务端1和虚拟ocf服务端2的平台资源的uri都是“/oic/p”,设备资源的uri都是“/oic/d”。为了区分不同的平台资源和设备资源,虚拟ocf服务端1和虚拟ocf服务端2必须拥有自己的端点,ocf桥接设备、虚拟ocf服务端1、虚拟ocf服务端2的端点不同。如图1所示,ocf桥接设备的端点为端点1,虚拟ocf服务端1的端点为端点2,虚拟ocf服务端2的端点为端点3。

例如,桥接设备的端点可以为“coap://[fe80::b1d6]:44444”,虚拟ocf服务端1的端点可以为“coap://[2001:db8:b::c2e5]:11111”,虚拟ocf服务端2的端点可以为“coap://[2001:db8:b::c2e5]:22222”。

下面以非ocf设备1为灯(light),非ocf设备2为烤箱(oven)为例,对桥接设备、虚拟ocf服务端1和虚拟ocf服务端2的资源表征进行描述。以下资源表征仅是举例说明,并不会对本申请实施例造成限定。

桥接设备的资源表征如下:

桥接设备的平台资源的uri为“/oic/p”,平台资源的资源类型为“oic.wk.p”,平台资源的接口为“oic.if.r”和“oic.if.baseline”,平台资源的端点为“coap://[fe80::b1d6]:44444”。

桥接设备的设备资源的uri为“/oic/d”,设备资源的资源类型为“oic.wk.d”和“oic.d.bridge”,设备资源的接口为“oic.if.r”和“oic.if.baseline”,设备资源的端点为“coap://[fe80::b1d6]:44444”。

虚拟ocf服务端1的资源表征如下:

虚拟ocf服务端1的平台资源的uri为“/oic/p”,平台资源的资源类型为“oic.wk.p”,平台资源的接口为“oic.if.r”和“oic.if.baseline”,平台资源的端点为“coap://[2001:db8:b::c2e5]:11111”。

虚拟ocf服务端1的设备资源的uri为“/oic/d”,设备资源的资源类型为“oic.wk.d”和“oic.d.light”,设备资源的接口为“oic.if.r”和“oic.if.baseline”,设备资源的端点为“coap://[2001:db8:b::c2e5]:11111”。

虚拟ocf服务端1的设备实例资源的uri为“/mylightswitch”,设备实例资源的资源类型为“oic.r.switch.binary”,设备实例资源的接口为“oic.if.a”和“oic.if.baseline”,设备实例资源的端点为“coap://[2001:db8:b::c2e5]:11111”。

虚拟ocf服务端2的资源表征如下:

虚拟ocf服务端2的平台资源的uri为“/oic/p”,平台资源的资源类型为“oic.wk.p”,平台资源的接口为“oic.if.r”和“oic.if.baseline”,平台资源的端点为“coap://[2001:db8:b::c2e5]:22222”。

虚拟ocf服务2的设备资源的uri为“/oic/d”,设备资源的资源类型为“oic.wk.d”和“oic.d.oven”,设备资源的接口为“oic.if.r”和“oic.if.baseline”,设备资源的端点为“coap://[2001:db8:b::c2e5]:22222”。

虚拟ocf服务端2的设备实例资源的uri为“/myoven”,设备实例资源的资源类型为“oic.r.switch.binary”和“oic.r.temperature”,设备实例资源的接口为“oic.if.a”和“oic.if.baseline”,设备实例资源的端点为“coap://[2001:db8:b::c2e5]:22222”。

从图1可以看出,传统方案中,为了区分不同的平台资源和设备资源,桥接设备上映射的每一个虚拟ocf服务端都有自己的端点,虚拟ocf服务端的端点与桥接设备的端点不同。当桥接设备连接大量非ocf设备时,ocf桥接设备需要维护大量端点,造成端点维护的成本较大。其次,端点与传输协议相关,端点越多,设备的通信复杂度越高。例如,对于coap协议来说,端点越多,分配的互联网协议(internetprotocol,ip)地址和用户数据报协议(userdatagramprotocol,udp)端口号就越多,ocf客户端发送请求消息关联到正确的端点的难度就会增加,从而增加通信的复杂度。

本申请实施例提供了一种桥接通信的方法,能够降低端点的维护成本,及降低设备通信的复杂度。

下面结合图2,对本申请实施例的桥接通信的方法进行详细描述。如图2所示,该方法包括步骤210-220。

在步骤210中,桥接设备接收第一通信协议客户端发送的资源发现请求消息。

第一通信协议客户端可以指该客户端可以通过第一通信协议与桥接设备进行通信。该第一通信协议客户端可以为物联网中的客户端。

资源发现请求消息可以用于发现桥接设备上的所有资源。例如,该资源发现请求消息可以用于发现桥接设备上所有虚拟服务端的资源信息。

可选地,桥接设备接收到第一通信协议客户端发送的资源发现请求消息时,可以将桥接设备上所有第一通信协议虚拟服务端的相关信息发送给该第一通信协议客户端。

本申请实施例对第一通信协议和第二通信协议不作具体限定,只要第一通信协议和第二通信协议为两种不同的协议即可。例如,第一通信协议可以为物联网中的通信协议,第二通信协议为非物联网中的通信协议。又例如,第一通信协议可以为zigbee协议,第二通信协议可以为蓝牙协议。或者,第一通信协议可以为ocf协议,第二通信协议可以为非ocf协议。也就是说,第一通信协议客户端可以为ocf客户端,第二通信协议设备可以为非ocf设备,第一通信协议虚拟服务端可以为虚拟ocf服务端。

可选地,非ocf协议可以为zigbee、z-wave或者蓝牙等。

桥接设备在为第二通信协议设备创建第一通信协议虚拟服务端时,可以为第二通信协议设备创建平台资源、设备资源以及端点。为了降低通信复杂度,桥接设备可以为创建的虚拟服务端设置相同的端点,通过平台资源和设备资源的uri不同来区分不同的第二通信协议设备。

下面以第一通信协议为ocf协议为例,对桥接设备和虚拟ocf服务端的资源信息、端点信息进行描述。

当桥接设备的端点为“coap://[fe80::b1d6]:44444”时,桥接设备为所有非ocf设备创建的虚拟ocf服务端的端点都为“coap://[fe80::b1d6]:44444”。

虚拟ocf服务端的平台资源的uri不再使用固定的“/oic/p”,虚拟ocf服务端的设备资源也不再使用固定的“/oic/d”。虚拟ocf服务端可以使用不同于桥接设备的平台资源和设备资源的uri。

对于虚拟ocf服务端使用的平台资源和设备资源的uri的情况,本申请实施例可以不做具体限定。

例如,桥接设备可以对创建的虚拟ocf服务端进行编号,将编号顺序添加在虚拟ocf服务端的平台资源和设备资源的uri中,这样可以通过uri来区分不同的平台资源和设备资源。

又例如,桥接设备在为非ocf设备创建虚拟ocf服务端时,可以将映射的虚拟ocf服务端的平台资源和设备资源的uri中添加非ocf设备的设备标识,由于不同的非ocf设备具有不同的设备标识,这样就可以通过非ocf设备的设备标识来区分不同的平台资源和设备资源。

具体地,非ocf设备1的设备标识为“light_device_id”,非ocf设备1在桥接设备上映射的服务端为虚拟ocf服务端1,则虚拟ocf服务端1的平台资源的uri可以为“/di/light_device_id/oic/p”,虚拟ocf服务端1的设备资源的uri可以为“/di/light_device_id/oic/d”。非ocf设备2的设备标识为“/di/oven_device_id”,非ocf设备2在桥接设备上映射的服务端为虚拟ocf服务端2,则虚拟ocf服务端2的平台资源的uri可以为“/di/oven_device_id/oic/d”,虚拟ocf服务端2的设备资源的uri可以为“/di/oven_device_id/oic/d”。

桥接设备在在接收到第一通信协议客户端发送的资源发现请求消息后,可以将桥接设备上所有的虚拟服务端的相关信息发送给该第一通信协议客户端。

在步骤220中,桥接设备向第一通信协议客户端发送资源发现响应消息,该资源发现响应消息中包括第一通信协议虚拟服务端的信息。

第一通信协议虚拟服务端的信息包括第一通信协议虚拟服务端的端点平台资源的uri和/或设备资源的uri等。

可选地,第一通信协议虚拟服务端的信息还可以包括第一通信协议虚拟服务端的接口和资源类型等。

以ocf为例,该虚拟ocf服务端的信息包括虚拟ocf服务端的端点,平台资源的uri和/或设备资源的uri等。

虚拟ocf服务端的端点,平台资源的uri和/或设备资源的uri的具体情况看可以参照上文描述,为避免重复,此处不再赘述。

此外,该虚拟ocf服务端的信息还包括以下信息中的至少一种:虚拟ocf服务端的接口和资源类型。

虚拟ocf服务端的接口例如可以为“oic.if.baseline”。虚拟ocf服务端的平台资源的资源类型例如可以为“oic.wk.p”。对于虚拟ocf服务端1来说,设备资源的资源类型例如可以为“oic.wk.d”和“oic.d.light”。对于虚拟ocf服务端2来说,设备资源的资源类型例如可以为“oic.wk.d”和“oic.d.oven”。

本申请提供的技术方案,桥接设备上所有虚拟服务端的端点与桥接设备的端点都相同,相比于传统方案,桥接设备上的端点数量会减少,这样可以降低桥接设备对端点的维护成本。为了区分不同的平台资源和设备资源,虚拟服务端的平台资源、设备资源不再使用固定的uri,而是将虚拟服务端的平台资源的uri和桥接设备的平台资源的uri设置为不同,将虚拟服务端的设备资源的uri和桥接设备的设备资源的uri设置为不同。

采用本申请实施例的通信方法,能够减少桥接设备中的端点数量,从而能够降低桥接设备的通信复杂度。

具体地,端点用于网络层的传输,端点和通信通道相关,桥接设备上的端点减少后,桥接设备建立的客户端与桥接设备之间的通信通道就会减少,通信通道的减少能够减少资源的开销,降低网络层的复杂度。且桥接设备只需要维护一个通信通道,从而能够降低桥接设备的通信复杂度。

应理解,桥接设备在建立通信通道时,可以根据传输协议来建立传输通道。例如,对于使用coap协议的客户端,桥接设备建立的客户端与桥接设备之间的通信通道是基于coap协议建立的。

可选地,第一通信协议虚拟服务端的资源还包括设备实例资源,资源响应消息中可以包括设备实例资源的uri。

桥接设备可以接收第一通信协议客户端发送的资源操作请求消息,该资源操作请求消息中包括第一通信协议虚拟服务端的设备实例资源的uri。设备实例资源的uri用于标识第一通信协议客户端所请求的设备。

例如,桥接设备可以接收ocf客户端发送的资源操作请求消息,该资源操作请求消息中可以包括虚拟ocf服务端的设备实例资源的uri,该实例资源的uri用于标识ocf客户端所请求的设备。

该资源操作请求消息中还可以包括以下信息中的至少一种:设备实例资源的接口、设备实例资源的资源类型、资源操作方法和设备实例资源的属性值。

例如,对于虚拟ocf服务端1来说,设备实例资源的接口可以为“oic.if.a”和“oic.if.baseline”,设备实例资源的资源类型可以为“oic.r.switch.binary”。

对于虚拟ocf服务端2来说,设备实例资源的接口可以为“oic.if.a”和“oic.if.baseline”,设备实例资源的资源类型可以为“oic.r.switch.binary”和“oic.r.temperature”。

资源操作方法包括以下方法中的至少一种:创建资源、读取资源、更新资源和删除资源。

设备实例资源的属性值是指对资源的操作数据。

以“light”为例,设备实例资源的属性值“value”可以为“true”或“false”,当属性值为“true”时,表示打开灯,当属性值为“false”时,表示关灯。

以为“oven”为例,属性值“setvalue”为25时,可以表示温度调节到25℃。

桥接设备收到该资源操作请求消息后,可以根据设备实例资源的uri,确定第一通信协议客户端所请求的第二通信协议设备。然后可以将该操作请求消息转换成该第一通信协议设备的协议消息,并将转换后的协议消息发送给该第一通信协议设备。

可选地,该协议消息也可以是第二通信协议设备的设备指令。

例如,当资源操作请求消息的uri为虚拟ocf服务端1的设备实例资源的uri时,桥接设备可以将资源操作请求消息转换成非ocf设备1的设备指令,并将转换后的设备指令发送给非ocf设备1。当资源操作请求消息的uri为虚拟ocf服务端2的设备实例资源的uri时,桥接设备可以将资源操作请求消息转换成非ocf设备2的设备指令,并将转换后的设备指令发送给非ocf设备2。

可选地,桥接设备在创建第一通信协议虚拟服务端时,也可以在第一通信协议虚拟服务端的实例资源的uri中添加设备标识。

可选地,第一通信协议虚拟服务端的信息可以是桥接设备创建的,也可以是桥接设备从其他设备获得的。

可选地,在步骤210之前,图2的方法还可以包括:桥接设备接收第二通信协议设备发送的连接建立请求消息,桥接设备为第二通信协议设备创建第一通信协议虚拟服务端。桥接设备在收到该连接建立请求消息后,可以为该第二通信协议设备创建第一通信协议虚拟服务端,实现第一通信协议与第二通信协议之间的转换,建立第一通信协议设备和第二通信协议设备之间的连接。

该设备标识可以唯一地标识非ocf设备,通过该设备标识可以识别出非ocf设备。

可选地,该连接建立请求消息可以为设备注册请求消息,也可以为其他的用于建立与桥接设备之间的连接的消息。

图3是本申请实施例提供的另一种桥接通信的方法的示意性流程图。图3的方法包括步骤310-320。

在步骤310中,第一通信协议客户端向桥接设备发送资源发现请求消息。

资源发现请求消息可以用于发现桥接设备上的资源。例如,资源发现请求消息可以用于发现桥接设备上的所有虚拟服务端的资源信息。

第一通信协议客户端可以指该客户端可以通过第一通信协议与桥接设备进行通信。

可选地,第一通信协议可以为物联网中的通信协议。例如,第一通信协议可以为ocf协议。

在步骤320中,第一通信协议客户端接收所述桥接设备发送的资源发现响应消息,所述资源发现响应消息中包括桥接设备创建的第一通信协议虚拟服务端的信息。

第一通信协议虚拟服务端的信息包括第一通信协议虚拟服务端的端点、平台资源的uri和设备资源的uri等。其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同,所述第一通信协议与所述第二通信协议不同。

可选地,第一通信协议虚拟服务端的信息还可以包括第一通信协议虚拟服务端的接口和资源类型等。

本申请实施例对第一通信协议和第二通信协议不作具体限定,只要第一通信协议和第二铜通信协议为两种不同的协议即可。例如,第一通信协议可以为物联网中的通信协议,第二通信协议为非物联网中的通信协议。又例如,第一通信协议为zigbee协议,第二通信协议为蓝牙协议。或者,第一通信协议可以为ocf协议,第二通信协议可以为非ocf协议。也就是说,第一通信协议客户端可以为ocf客户端,第二通信协议设备可以为非ocf设备,第一通信协议虚拟服务端可以为虚拟ocf服务端。

可选地,非ocf协议可以为zigbee、z-wave或者蓝牙等。

桥接设备在为第二通信协议设备创建第一通信协议虚拟服务端时,可以为第二通信协议设备创建平台资源、设备资源以及端点。为了降低通信复杂度,桥接设备可以为创建的虚拟服务端设置相同的端点,通过平台资源和设备资源的uri不同来区分不同的第二通信协议设备。

下面以第一通信协议为ocf协议为例,对桥接设备和虚拟ocf服务端的资源信息、端点信息进行描述。

当桥接设备的端点为“coap://[fe80::b1d6]:44444”时,虚拟ocf服务端的端点都为“coap://[fe80::b1d6]:44444”。

虚拟ocf服务端的平台资源的uri不再使用固定的“/oic/p”,虚拟ocf服务端的设备资源也不再使用固定的“/oic/d”。虚拟ocf服务端可以使用不同于桥接设备的平台资源和设备资源的uri。

对于虚拟ocf服务端使用的平台资源和设备资源的uri的情况,本申请实施例可以不做具体限定。

例如,虚拟ocf服务端的平台资源和设备资源的uri可以是按顺序进行编号的,即虚拟ocf服务端的平台资源和设备资源的uri中包括编号顺序,这样可以通过uri来区分不同的平台资源和设备资源。

又例如,虚拟ocf服务端的平台资源和设备资源的uri中包括非ocf设备的设备标识,由于不同的非ocf设备具有不同的设备标识,这样就可以通过非ocf设备的设备标识来区分不同的平台资源和设备资源。

具体地,非ocf设备1的设备标识为“light_device_id”,非ocf设备1在桥接设备上映射的服务端为虚拟ocf服务端1,则虚拟ocf服务端1的平台资源的uri可以为“/di/light_device_id/oic/p”,虚拟ocf服务端1的设备资源的uri可以为“/di/light_device_id/oic/d”。非ocf设备2的设备标识为“/di/oven_device_id”,非ocf设备2在桥接设备上映射的服务端为虚拟ocf服务端2,则虚拟ocf服务端2的平台资源的uri可以为“/di/oven_device_id/oic/d”,虚拟ocf服务端2的设备资源的uri可以为“/di/oven_device_id/oic/d”。

可选地,该资源响应消息中可以包括桥接设备上所有虚拟ocf服务端的资源的信息。

ocf客户端收到该资源响应消息后,可以选择想要进行操作的虚拟ocf服务端的资源。

本申请提供的技术方案,桥接设备上所有虚拟服务端的端点与桥接设备的端点都相同,相比于传统方案,桥接设备上的端点数量会减少,这样可以降低桥接设备对端点的维护成本。为了区分不同的平台资源和设备资源,虚拟服务端的平台资源、设备资源不再使用固定的uri,而是将虚拟服务端的平台资源的uri和桥接设备的平台资源的uri设置为不同,将虚拟服务端的设备资源的uri和桥接设备的设备资源的uri设置为不同。

采用本申请实施例的通信方法,能够减少桥接设备中的端点数量,从而能够降低桥接设备的通信复杂度。

具体地,端点用于网络层的传输,端点和通信通道相关,桥接设备上的端点减少后,桥接设备建立的客户端与桥接设备之间的通信通道就会减少,通信通道的减少能够减少资源的开销,降低网络层的复杂度。且桥接设备只需要维护一个通信通道,从而能够降低桥接设备的通信复杂度。

可选地,第一通信协议虚拟服务端的平台资源和设备资源的uri中均包第二通信协议设备的设备标识。

不同的第二通信协议设备具有不同的设备标识,因此,通过第二通信协议设备的设备标识可以区分不同的平台资源和设备资源。

此外,第一通信协议虚拟服务端的资源还包括设备实例资源,资源响应消息中还可以包括设备实例资源的uri。第一通信协议客户端收到桥接设备发送的资源响应消息后,可以根据响应消息中携带的平台资源和设备资源的信息,选择想要接入的平台资源和设备资源,并可以根据平台资源上的设备实例资源的信息,选择想要操作的设备实例资源。

可选地,在第一通信协议客户端向第一通信协议虚拟服务端发送资源操作请求消息之前,第一通信协议客户端可以根据资源响应消息中携带的信息选择想要进行操作的第二通信协议设备,然后第一通信协议客户端可以向选择的第二通信协议设备对应的第一通信协议虚拟服务端发送资源操作请求消息。其中,该资源操作者请求消息中包括设备实例资源的uri。

可选地,该资源操作请求消息中还可以包括以下信息中的至少一种:设备实例资源的接口、设备实例资源的资源类型、资源操作方法和设备实例资源的属性值。

例如,对于虚拟ocf服务端1来说,设备实例资源的接口可以为“oic.if.a”和“oic.if.baseline”,设备实例资源的资源类型可以为“oic.r.switch.binary”。

对于虚拟ocf服务端2来说,设备实例资源的接口可以为“oic.if.a”和“oic.if.baseline”,设备实例资源的资源类型可以为“oic.r.switch.binary”和“oic.r.temperature”。

资源操作方法包括以下方法中的至少一种:创建资源、读取资源、更新资源和删除资源。

设备实例资源的属性值是指对资源的操作数据。

以“light”为例,设备实例资源的属性值“value”可以为“true”或“false”,当属性值为“true”时,表示打开灯,当属性值为“false”时,表示关灯。

以为“oven”为例,属性值“setvalue”为25时,可以表示温度调节到25℃。

图4是本申请实施例提供的另一种桥接设备通信的方法的示意性流程图。图4的方法包括步骤410-420。

图4的方法可以与图2、图3的方法结合使用,图4的方法中具体的描述可以参见上文图2和图3方法中的描述,为避免重复,此处不再赘述。

在步骤410中,桥接设备接收第二通信协议设备发送的设备注册请求消息。

该设备注册请求消息也可以连接建立请求消息。

可选地,该连接建立请求消息中可以包括第二通信协议设备的设备标识。

在步骤420中,桥接设备为所述第二通信协议设备创建第一通信协议虚拟服务端,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

桥接设备在创建第一通信协议虚拟服务端的过程中,会创建第一通信协议虚拟服务端的信息,所述第一通信协议虚拟服务端的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符和端点。

图5是本申请实施例提供的另一种桥接设备通信的方法的示意性流程图。图5的方法包括步骤510-550。

在步骤510中,桥接设备接收第一通信协议客户端发送的资源发现请求消息。

资源发现请求消息主要用于发现桥接设备上的资源。例如,资源发现请求消息可以用于发现桥接设备上的所有虚拟服务端的资源信息。

第一通信协议客户端可以指该客户端可以通过第一通信协议与桥接设备进行通信的。

可选地,第一通信协议可以为物联网中的协议。例如,第一通信协议可以为ocf协议。

在步骤520中,桥接设备向所述第一通信协议客户端发送资源发现响应消息,所述资源发现响应消息中包括预先创建的代理服务资源的信息和第一通信协议虚拟服务端的信息。

其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同。

可选地,第一通信协议虚拟服务端可以为第二通信协议设备映射在桥接设备上的服务端,且第一通信协议与第二通信协议不同。

本申请实施例对第一通信协议和第二通信协议不作具体限定,只要第一通信协议和第二通信协议为两种不同的协议即可。例如,第一通信协议可以为物联网中的通信协议,第二通信协议为非物联网中的通信协议。又例如,第一通信协议为zigbee协议,第二通信协议为蓝牙协议。或者,第一通信协议可以为ocf协议,第二通信协议可以为非ocf协议。也就是说,第一通信协议客户端可以为ocf客户端,第二通信协议设备可以为非ocf设备,第一通信协议虚拟服务端可以为虚拟ocf服务端。

可选地,非ocf协议可以为zigbee、z-wave或者蓝牙等。

可选地,资源发现响应消息中可以包括桥接设备上所有的代理服务资源的信息和第一通信协议虚拟服务端的资源的信息。

一个桥接设备上可以包括一个代理服务资源,也可以包括多个代理服务资源。代理服务资源用于代理对第一通信协议虚拟服务端上资源的请求。对于桥接设备包括一个代理服务资源的情况,该代理服务资源可以代理对桥接设备上所有的第一通信协议虚拟服务端的资源的请求。对于桥接设备包括多个代理服务资源的情况,该代理服务资源中的一个代理服务资源可以代理对桥接设备上的部分第一通信协议虚拟服务端的资源的请求。

代理服务资源可以是桥接设备在出厂之前就创建好的,也可以是桥接设备在收到第二通信协议设备发送的连接建立请求消息后创建的。

可选地,该连接建立请求消息可以为设备注册请求消息。

代理服务资源的信息可以包括代理服务资源的uri信息,该代理服务资源的uri与桥接设备的设备资源、平台资源的uri均不同。

例如,代理服务资源的uri为“/proxyservice”,该代理服务资源的uri与桥接设备的平台资源的uri“/oic/p”不同,也与桥接设备的设备资源的uri“/oic/d”不同。

第一通信协议虚拟服务端的信息包括端点信息,该端点与桥接设备的端点相同。

例如,当桥接设备的端点为“coap://[fe80::b1d6]:44444”时,第一通信协议虚拟服务端的端点也为“coap://[fe80::b1d6]:44444”。

可选地,代理服务资源的信息还可以包括以下信息中的至少一种:代理服务资源的资源类型和接口。例如,代理服务资源的资源类型可以为“oic.r.proxyservice”。代理服务资源的接口可以为“oic.if.a”。

可选地,第一通信协议虚拟服务端的信息还可以包括以下信息中的至少一种:第一通信协议虚拟服务端的平台资源的uri、设备资源的uri、资源类型、接口和目标标识。

可选地,第一通信协议虚拟服务端的设备资源可以采用与桥接设备的设备资源的uri相同的uri,也可以采用与桥接设备的设备资源的uri不同的uri。第一通信协议虚拟服务端的平台资源的uri可以采用和桥接设备的平台资源的uri相同的uri,也可以采用与桥接设备的设备资源的uri不同的uri。

可选地,第一通信协议可以为ocf协议。第一通信协议虚拟服务端可以为ocf虚拟服务端,第一通信协议客户端可以为ocf客户端。

以ocf为例,虚拟ocf服务端的平台资源的uri、设备资源的uri可以采用固定的uri。例如,虚拟ocf服务端的平台资源的uri为“/oic/p”,设备资源的uri为“/oic/d”。

或者,虚拟ocf服务端的平台资源的uri、设备资源的uri中可以包括非ocf设备的设备标识。例如,非ocf设备1的设备标识为“light_device_id”,非ocf设备1在桥接设备上映射的服务端为虚拟ocf服务端1,则虚拟ocf服务端1的平台资源的uri可以为“/di/light_device_id/oic/p”,虚拟ocf服务端1的设备资源的uri可以为“/di/light_device_id/oic/d”。非ocf设备2的设备标识为“/di/oven_device_id”,非ocf设备2在桥接设备上映射的服务端为虚拟ocf服务端2,则虚拟ocf服务端2的平台资源的uri可以为“/di/oven_device_id/oic/d”,虚拟ocf服务端2的设备资源的uri可以为“/di/oven_device_id/oic/d”。

目标标识可以为第二通信协议设备的设备标识。第一通信协议客户端收到资源响应消息后,可以根据该目标标识选择想要进行操作的第二通信协议设备。

在步骤530中,桥接设备接收第一通信协议客户端发送的资源操作请求消息,该资源操作请求消息中包括代理服务资源的平台资源的统一资源标识符和设备资源的统一资源标识符,该资源操作请求消息中还包括目标标识,该目标标识用于标识代理服务资源进行操作的第二通信协议设备。

桥接设备上的代理服务资源收到第一通信协议客户端发送的资源操作请求后,可以根据资源操作请求消息中携带的目标标识,确定第一通信协议客户端想要进行操作的第二通信协议设备。

资源操作请求消息中还包括以下信息中的至少一种:第一通信协议虚拟服务端的设备实例资源的uri、资源操作方法和载荷。

以ocf为例,虚拟ocf服务端的设备实例资源的uri例如,可以为“/mylightswitch”,或者也可以为“/myoven”。又例如,虚拟ocf服务端的设备实例资源的uri中还可以包括非ocf设备的设备标识,非ocf设备1的设备标识为“light_device_id”,则虚拟ocf服务端1的设备实例资源的uri为“/di/light_device_id/mylightswitch”。非ocf设备2的设备标识为“oven_device_id”,则虚拟ocf服务端2的设备实例资源的uri为“/di/oven_device_id/myoven”。

资源操作方法可以包括以下方法中的至少一种:创建资源、读取资源、更新资源和删除资源。

载荷是指对资源的操作数据。

以“light”为例,载荷“payload”可以为{“value”:true},或者载荷可以为{value”:false}。当载荷所指示的操作为“true”时,表示打开灯,当载荷所指示的操作为“false”时,表示关灯。

以为“oven”为例,载荷“payload”可以为{“setvalue”:25},该载荷所指示的操作可以表示将温度调节到25℃。

在步骤540中,桥接设备将资源操作请求消息转换为第二通信协议设备的协议消息。

在步骤550中,桥接设备向第二通信协议设备发送转换后的协议消息。

在确定目标标识对应的第二通信协议设备后,桥接设备可以将资源操作请求消息转换为该第二通信协议设备的协议消息,并将转换后的协议消息发送给该第二通信协议设备。

可选地,该协议消息也可以是第二通信协议设备的设备指令。

该目标标识可以是第二通信协议设备的设备标识。

例如,非ocf设备1的设备标识为“light_device_id”,非ocf设备2的设备标识为“oven_device_id”。非ocf设备1映射在桥接设备上的服务端为虚拟ocf服务端1,非ocf设2映射在桥接设备上的服务端为虚拟ocf服务端2。代理服务资源可以代理对虚拟ocf服务端1和虚拟ocf服务端2上资源的请求。

当资源操作请求消息包括的目标标识为“light_device_id”时,表示ocf客户端请求操作虚拟ocf服务端1上的资源。桥接设备可以将该操作请求消息转换成非ocf设备1的设备指令,并发送给非ocf设备1。

当资源操作请求消息包括的目标标识为“oven_device_id”时,表示ocf客户端请求操作虚拟ocf服务端2上的资源。桥接设备可以将该操作请求消息转换成非ocf设备2的设备指令,并发送给非ocf设备2。

由于设备实例资源的uri能够唯一地标识一个第二通信协议设备,因此,目标标识也可以为设备实例资源的uri。

本申请实施例提供的技术方案中,桥接设备上所有虚拟服务端的端点与桥接设备的端点都相同,桥接设备上的端点数量会减少,这样可以降低桥接设备对端点的维护成本。代理服务资源的uri与桥接设备的平台资源的uri、设备资源的uri均不同,客户端可以向代理服务资源发送请求消息,并在请求消息中携带目标标识,用于标识请求代理操作的设备。这样客户端就可以通过代理服务资源来对虚拟服务端上的资源进行操作。

采用本申请实施例的通信方法,能够减少桥接设备中的端点数量,从而能够降低桥接设备的通信复杂度。

具体地,端点用于网络层的传输,端点和通信通道相关,桥接设备上的端点减少后,桥接设备建立的客户端与桥接设备之间的通信通道就会减少,通信通道的减少能够减少资源的开销,降低网络层的复杂度。且桥接设备只需要维护一个通信通道,从而能够降低桥接设备的通信复杂度。

可选地,第一通信协议虚拟服务端的信息可以是桥接设备创建的,也可以是桥接设备从其他设备获得的。同样地,代理服务资源的信息可以是桥接设备创建的,也可以是桥接设备从其他设备获得的。

在步骤510之前,所述方法还包括:桥接设备接收第二通信协议设备发送的设备注册请求消息,所述桥接设备为第二通信协议设备创建第一通信协议虚拟服务端。

可选地,该设备注册请求消息中可以包括该第二通信协议设备的设备标识。

桥接设备可以为第二通信协议设备创建第一通信协议虚拟服务端,该第一通信协议虚拟服务端的端点与桥接设备的端点相同。

可选地,桥接设备可以在收到第二通信协议设备的设备发送的注册请求消息后,再为该第二通信协议设备创建代理服务资源,该代理服务资源能够代理对该第二通信协议设备的操作请求。

图6是本申请实施例提供的另一种桥接通信的方法的示意性流程图。图6的方法包括步骤610-630。

在步骤610中,第一通信协议客户端向桥接设备发送资源发现请求消息。

资源发现请求消息主要用于发现桥接设备上的资源。

第一通信协议客户端可以指该客户端可以通过第一通信协议与桥接设备进行通信的。该客户端可以为物联网中的客户端。

可选地,第一通信协议可以为物联网中的通信协议,例如,第一通信协议可以为ocf协议。

在步骤620中,第一通信协议客户端接收桥接设备发送的资源发现响应消息。其中,该资源发现响应消息中包括代理服务资源的信息和第一通信协议虚拟服务端的信息。

其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同。

可选地,第一通信协议虚拟服务端可以为第二通信协议设备映射在桥接设备上的服务端,且第一通信协议与第二通信协议不同。

本申请实施例对第一通信协议和第二通信协议不作具体限定,只要第一通信协议和第二通信协议为两种不同的协议即可。例如,第一通信协议为zigbee协议,第二通信协议为蓝牙协议。或者,第一通信协议可以为ocf协议,第二通信协议可以为非ocf协议。也就是说,第一通信协议客户端可以为ocf客户端,第二通信协议设备可以为非ocf设备,第一通信协议虚拟服务端可以为虚拟ocf服务端。

可选地,非ocf协议可以为zigbee、z-wave或者蓝牙等。

可选地,资源发现响应消息中可以包括桥接设备上所有的代理服务资源的信息和第一通信协议虚拟服务端的资源的信息。

一个桥接设备上可以包括一个代理服务资源,也可以包括多个代理服务资源。代理服务资源用于代理对第一通信协议虚拟服务端上资源的请求。对于桥接设备包括一个代理服务资源的情况,该代理服务资源可以代理对桥接设备上所有的第一通信协议虚拟服务端的资源的请求。对于桥接设备包括多个代理服务资源的情况,该代理服务资源中的一个代理服务资源可以代理对桥接设备上的部分第一通信协议虚拟服务端的资源的请求。

代理服务资源可以是桥接设备在出厂之前就创建好的,也可以是桥接设备在收到第二通信协议设备发送的连接建立求消息后创建的。

可选地,该连接建立请求消息可以为设备注册请求消息。

代理服务资源的信息包括代理服务资源的uri信息,该代理服务资源的uri与桥接设备的设备资源、平台资源的uri均不同。

例如,代理服务资源的uri为“/proxyservice”,该代理服务资源的uri与桥接设备的平台资源的uri“/oic/p”不同,也与桥接设备的设备资源的uri“/oic/d”不同。

第一通信协议虚拟服务端的信息包括端点信息,该端点与桥接设备的端点相同。

第一通信协议虚拟服务端的信息包括第一通信协议虚拟服务端的端点信息,例如,当桥接设备的端点为“coap://[fe80::b1d6]:44444”时,第一通信协议虚拟服务端的端点也为“coap://[fe80::b1d6]:44444”。

可选地,代理服务资源的信息还可以包括以下信息中的至少一种:代理服务资源的资源类型和接口。例如,代理服务资源的资源类型可以为“oic.r.proxyservice”。代理服务资源的接口可以为“oic.if.a”。

可选地,第一通信协议虚拟服务端的信息还可以包括以下信息中的至少一种:第一通信协议虚拟服务端的平台资源的uri、设备资源的uri、资源类型、接口和目标标识。

可选地,第一通信协议虚拟服务端的设备资源可以采用与桥接设备的设备资源的uri相同的uri,也可以采用与桥接设备的设备资源的uri不同的uri。第一通信协议虚拟服务端的平台资源的uri可以采用和桥接设备的平台资源的uri相同的uri,也可以采用与桥接设备的设备资源的uri不同的uri。

可选地,第一通信协议可以为ocf协议。第一通信协议虚拟服务端可以为ocf虚拟服务端,第一通信协议客户端可以为ocf客户端。

以ocf为例,虚拟ocf服务端的平台资源的uri、设备资源的uri可以采用固定的uri。例如,虚拟ocf服务端的平台资源的uri为“/oic/p”,设备资源的uri为“/oic/d”。

或者,虚拟ocf服务端的平台资源的uri、设备资源的uri中可以包括非ocf设备的设备标识。例如,非ocf设备1的设备标识为“light_device_id”,非ocf设备1在桥接设备上映射的服务端为虚拟ocf服务端1,则虚拟ocf服务端1的平台资源的uri可以为“/di/light_device_id/oic/p”,虚拟ocf服务端1的设备资源的uri可以为“/di/light_device_id/oic/d”。非ocf设备2的设备标识为“/di/oven_device_id”,非ocf设备2在桥接设备上映射的服务端为虚拟ocf服务端2,则虚拟ocf服务端2的平台资源的uri可以为“/di/oven_device_id/oic/d”,虚拟ocf服务端2的设备资源的uri可以为“/di/oven_device_id/oic/d”。

目标标识可以为第二通信协议设备的设备标识。第一通信协议客户端收到资源响应消息后,可以根据该目标标识选择想要进行操作的第二通信协议设备。

在步骤630中,第一通信协议客户端向桥接设备发送资源操作请求消息,该资源操作请求消息中包括代理服务资源的平台资源的uri和设备资源的uri,该资源操作请求消息中还包括目标标识,该目标标识用于标识代理服务资源进行操作的第二通信协议设备。

第一通信协议客户端收到资源响应消息后,可以选择想要进行操作的第二通信协议设备,在资源操作请求消息中添加该第二通信协议设备的目标标识,并向能够代理该操作的代理服务资源发送该资源操作请求消息。

以ocf为例,非ocf设备1的设备标识为“light_device_id”,非ocf设备2的设备标识为“oven_device_id”。非ocf设备1映射在桥接设备上的服务端为虚拟ocf服务端1,非ocf设2映射在桥接设备上的服务端为虚拟ocf服务端2。代理服务资源可以代理对虚拟ocf服务端1和虚拟ocf服务端2上资源的请求。

当ocf客户端想要对非ocf设备1进行资源操作时,可以向代理服务资源发送资源操作请求消息。该资源操作请求消息中包括的目标标识可以为“light_device_id”。

当ocf客户端想要对非ocf设备2进行资源操作时,可以向代理服务资源发送资源操作请求消息。该资源操作请求消息中包括的目标标识可以为“light_device_id”。

由于设备实例资源的uri能够唯一地标识一个第二通信协议设备,因此,目标标识也可以为设备实例资源的uri。

本申请实施例提供的技术方案中,桥接设备上所有第一通信协议虚拟服务端的端点与桥接设备的端点都相同,桥接设备上的端点数量会减少,这样可以降低桥接设备对端点的维护成本。代理服务资源的uri与桥接设备的平台资源的uri、设备资源的uri均不同,第一通信协议客户端可以向代理服务资源发送请求消息,并在请求消息中携带目标标识,用于标识请求代理操作的第二通信协议设备。这样第一通信协议客户端就可以通过代理服务资源来对第一通信协议虚拟服务端上的资源进行操作。

采用本申请实施例的通信方法,能够减少桥接设备中的端点数量,从而能够降低桥接设备的通信复杂度。

具体地,端点用于网络层的传输,端点和通信通道相关,桥接设备上的端点减少后,桥接设备建立的客户端与桥接设备之间的通信通道就会减少,通信通道的减少能够减少资源的开销,降低网络层的复杂度。且桥接设备只需要维护一个通信通道,从而能够降低桥接设备的通信复杂度。

图7是本申请实施例提供的另一种桥接设备通信的方法的示意性流程图。图7的方法包括步骤710-720。

图7的方法可以与图5、图6的方法结合使用,图7的方法中具体的描述可以参见上文图5和图6方法中的描述,为避免重复,此处不再赘述。

在步骤710中,桥接设备接收第二通信协议设备发送的设备注册请求消息。

该设备注册请求消息也可以连接建立请求消息。

可选地,该连接建立请求消息中可以包括第二通信协议设备的设备标识。

在步骤720中,桥接设备为所述第二通信协议设备创建第一通信协议虚拟服务端和代理服务资源,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同,所述代理服务资源用于代理第一通信协议客户端对所述第一通信协议虚拟服务端的请求。

桥接设备在创建第一通信协议虚拟服务端的过程中,会创建第一通信协议虚拟服务端的信息,所述第一通信协议虚拟服务端的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符和端点。

此外,桥接设备在创建代理服务资源的过程中,会创建创建代理服务资源的信息,所述创建代理服务资源的信息包括平台资源的统一资源标识符、设备资源的统一资源标识符和端点。

图8是本申请实施例提供的一种桥接设备的示意性框图。图8的桥接设备800包括通信单元810。

通信单元810,用于接收第一通信协议客户端发送的资源发现请求消息。

所述通信单元810,还用于向所述第一通信协议客户端发送资源发现响应消息,所述资源发现响应消息中包括所述桥接设备创建的第一通信协议虚拟服务端的平台资源的统一资源标识符、设备资源的统一资源标识符和端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

可选地,通信单元810,还用于接收第二通信协议设备发送的设备注册请求消息。桥接设备800还包括处理单元,用于为所述第二通信协议设备创建所述第一通信协议虚拟服务端。

可选地,所述第一通信协议虚拟服务端的平台资源和设备资源的统一资源标识符中均包括第二通信协议设备的设备标识。

可选地,所述第一通信协议虚拟服务端的设备实例资源的统一资源标识符包括第二通信协议设备的设备标识,所述通信单元810,还用于接收第一通信协议客户端发送的资源操作请求消息,所述资源操作请求消息中包括所述第一通信协议虚拟服务端的设备实例资源的统一资源标识符;处理单元,还用于将所述资源操作请求消息转换为所述第二通信协议设备的协议消息;通信单元810,还用于向所述第二通信协议设备发送所述协议消息。

可选地,所述第一通信协议为ocf协议。

图9是本申请实施例提供的一种第一通信协议设备的结构示意性框图,图9的第一通信协议设备900包括通信单元910。

通信单元910,用于向桥接设备发送资源发现请求消息。

通信单元910,还用于接收所述桥接设备发送的资源发现响应消息,所述资源发现响应消息中包括第一通信协议虚拟服务端的所述桥接设备创建的第一通信协议虚拟服务端的平台资源的统一资源标识符、设备资源的统一资源标识符和端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

可选地,所述第一通信协议虚拟服务端的平台资源和设备资源的统一资源标识符中均包括第二通信协议设备的设备标识。

可选地,所述第一通信协议虚拟服务端的设备实例资源的统一资源标识符包括第二通信协议设备的设备标识,所述通信单元910,还用于向所述桥接设备发送资源操作请求消息,所述资源操作请求消息中包括所述第一通信协议虚拟服务端的设备实例资源的统一资源标识符,所述设备实例资源的统一资源标识符用于标识所述第一通信协议虚拟服务端进行操作的所述第二通信协议设备。

可选地,所述第一通信协议为ocf协议。

图10是本申请实施例提供的另一种桥接设备的示意性框图。图10的桥接设备1000包括通信单元1010和处理单元1020。

通信单元1010,用于接收第二通信协议设备发送的设备注册请求消息。

处理单元1020,用于为所述第二通信协议设备创建第一通信协议虚拟服务端,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述第一通信协议虚拟服务端的平台资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符不同,所述第一通信协议虚拟服务端的设备资源的统一资源标识符与所述桥接设备的设备资源的统一资源标识符不同。

图11是本申请实施例提供的另一种桥接设备的示意性框图。图11的桥接设备1100包括通信单元1110和处理单元1120。

通信单元1110,用于接收第一通信协议客户端发送的资源发现请求消息。

通信单元1110,还用于向所述第一通信协议客户端发送资源发现响应消息,所述资源发现响应消息中包括预先创建的代理服务资源的信息和第一通信协议虚拟服务端的平台资源的统一资源标识符、设备资源的统一资源标识符及端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同。

通信单元1110,还用于接收所述第一通信协议客户端向所述桥接设备发送的资源操作请求消息,所述资源操作请求消息中包括所述代理服务资源的平台资源的统一资源标识符和设备资源的统一资源标识符,所述资源操作请求消息中还包括目标标识,所述目标标识用于标识所述代理服务资源进行操作的第二通信协议设备,所述第一通信协议与所述第二通信协议不同。

处理单元1120,用于将所述资源操作请求消息转换为所述第二通信协议设备的协议消息。

通信单元1110,还用于向所述第二通信协议设备发送所述协议消息。

可选地,所述资源发现响应消息中还包括以下信息中的至少一种:所述代理服务资源的资源类型、和接口。

可选地,所述资源操作请求消息中包括以下信息中的至少一种:所述第一通信协议虚拟服务端的设备实例资源的uri、资源操作方法和载荷。

可选地,所述第一通信协议为ocf协议。

图12是本申请实施例提供的另一种第一通信协议设备的示意性框图。图12的第一通信协议设备1200包括通信单元1210。

通信单元1210,用于向桥接设备发送资源发现请求消息。

通信单元1210,还用于接收所述桥接设备发送的资源发现响应消息,所述资源发现响应消息中包括预先创建的代理服务资源和第一通信协议虚拟服务端的平台资源的统一资源标识符、设备资源的统一资源标识符及端点,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同。

通信单元1210,还用于向所述代理服务资源发送资源操作请求消息,所述资源操作请求消息中包括目标标识,所述资源操作请求消息中包括所述代理服务资源的平台资源的统一资源标识符和设备资源的统一资源标识符,所述目标标识用于标识所述代理服务资源进行操作的第二通信协议设备,所述第一通信协议与所述第二通信协议不同。

可选地,所述资源发现响应消息中还包括以下信息中的至少一种:所述代理服务资源的资源类型和接口。

可选地,所述资源操作请求消息中包括以下信息中的至少一种:所述第一通信协议虚拟服务端的设备实例资源的uri、资源操作方法和载荷。

可选地,所述第一通信协议可以为ocf协议。

图13是本申请实施例提供的另一种桥接设备的示意性框图。图13的桥接设备1300包括通信单元1310和处理单元1320。

通信单元1310,用于接收第二通信协议设备发送的设备注册请求消息。

处理单元1320,用于为所述第二通信协议设备创建第一通信协议虚拟服务端和代理服务资源,其中,所述第一通信协议虚拟服务端的端点与所述桥接设备的端点相同,所述代理服务资源的统一资源标识符与所述桥接设备的平台资源的统一资源标识符、设备资源的统一资源标识符均不同,所述代理服务资源用于代理第一通信协议客户端对所述第一通信协议虚拟服务端的请求。

图14是本申请实施例提供的一种通信设备1400示意性结构图。图14所示的通信设备1400包括处理器1410,处理器1410可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。

可选地,如图14所示,通信设备1400还可以包括存储器1420。其中,处理器1410可以从存储器1420中调用并运行计算机程序,以实现本申请实施例中的方法。

其中,存储器1420可以是独立于处理器1410的一个单独的器件,也可以集成在处理器1410中。

可选地,如图14所示,通信设备1400还可以包括收发器1430,处理器1410可以控制该收发器1430与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。

其中,收发器1430可以包括发射机和接收机。收发器1430还可以进一步包括天线,天线的数量可以为一个或多个。

可选地,该通信设备1400具体可为本申请实施例的网络设备,并且该通信设备1400可以实现本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该通信设备1400具体可为本申请实施例的移动终端/终端设备,并且该通信设备1400可以实现本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。

图15是本申请实施例的芯片的示意性结构图。图15所示的芯片1500包括处理器1510,处理器1510可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。

可选地,如图15所示,芯片1500还可以包括存储器1520。其中,处理器1510可以从存储器1520中调用并运行计算机程序,以实现本申请实施例中的方法。

其中,存储器1520可以是独立于处理器1510的一个单独的器件,也可以集成在处理器1510中。

可选地,该芯片1500还可以包括输入接口1530。其中,处理器1510可以控制该输入接口1530与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。

可选地,该芯片1500还可以包括输出接口1540。其中,处理器1510可以控制该输出接口1540与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。

可选地,该芯片可应用于本申请实施例中的网络设备,并且该芯片可以实现本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该芯片可应用于本申请实施例中的移动终端/终端设备,并且该芯片可以实现本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。

图16是本申请实施例提供的一种通信系统1600的示意性框图。如图16所示,该通信系统1600包括桥接设备1610和第一通信协议设备1620。

其中,该桥接设备1610可以用于实现上述方法中由桥接设备实现的相应的功能,以及该第一通信协议设备1620可以用于实现上述方法中由设备实现的相应的功能为了简洁,在此不再赘述。

应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)以及直接内存总线随机存取存储器(directrambusram,drram)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。

可选的,该计算机可读存储介质可应用于本申请实施例中的网络设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该计算机可读存储介质可应用于本申请实施例中的移动终端/终端设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。

本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。

可选的,该计算机程序产品可应用于本申请实施例中的网络设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该计算机程序产品可应用于本申请实施例中的移动终端/终端设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。

本申请实施例还提供了一种计算机程序。

可选的,该计算机程序可应用于本申请实施例中的网络设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。

可选地,该计算机程序可应用于本申请实施例中的移动终端/终端设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,)rom、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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