CN111917810A - 一种云通信方法及装置、用户设备、网络设备 - Google Patents
一种云通信方法及装置、用户设备、网络设备 Download PDFInfo
- Publication number
- CN111917810A CN111917810A CN201910385961.1A CN201910385961A CN111917810A CN 111917810 A CN111917810 A CN 111917810A CN 201910385961 A CN201910385961 A CN 201910385961A CN 111917810 A CN111917810 A CN 111917810A
- Authority
- CN
- China
- Prior art keywords
- cloud platform
- virtual
- server
- client
- instruction
- 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.)
- Granted
Links
Images
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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/56—Provisioning of proxy services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种云通信方法及装置、用户设备、网络设备,该方法包括:客户端触发第一云平台创建虚拟设备;所述客户端为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册;所述客户端通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
Description
技术领域
本申请涉及物联网技术领域,尤其涉及一种云通信方法及装置、用户设备、网络设备。
背景技术
开放互联基金会(Open Connectivity Foundation,OCF)定义了客户端和服务端,服务端是指提供资源的设备,客户端是指访问资源的设备。
云平台可以实现客户端和服务端之间的远程通信。然而,客户端和服务端需要连接到同一个云平台才能进行远程通信。如果客户端和服务端连接到不同的云平台,就无法进行远程通信。
发明内容
为解决上述技术问题,本申请实施例提供了一种云通信方法及装置、用户设备、网络设备。
本申请实施例提供的一种云通信方法,包括:
客户端触发第一云平台创建虚拟设备;
所述客户端为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册;
所述客户端通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
本申请实施例提供的一种云通信方法,包括:
第一云平台创建虚拟设备;
所述虚拟设备从客户端获取第一注册信息,基于所述第一注册信息向第二云平台注册;
所述第一云平台通过所述虚拟设备与第二云平台进行通信。
本申请实施例提供的一种云通信装置,应用于客户端,所述装置包括:
触发单元,用于触发第一云平台创建虚拟设备;
配置单元,用于为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册;
通信单元,用于通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
本申请实施例提供的一种云通信装置,应用于第一云平台,所述装置包括:
创建单元,用于创建虚拟设备;
获取单元,用于从客户端获取第一注册信息;
注册单元,用于基于所述第一注册信息向第二云平台注册;
通信单元,用于通过所述虚拟设备与第二云平台进行通信。
本申请实施例提供的用户设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行上述云通信方法。
本申请实施例提供的网络设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行上述云通信方法。
本申请实施例提供的芯片,用于实现上述云通信方法。
具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行上述云通信方法。
本申请实施例提供的计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述云通信方法。
本申请实施例提供的计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述云通信方法。
本申请实施例提供的计算机程序,当其在计算机上运行时,使得计算机执行上述云通信方法。
本申请实施例的技术方案中,在第一云平台上创建虚拟设备;将该虚拟设备注册到第二云平台,从而实现该虚拟设备与第二云平台之间的通信。客户端登录第一云平台的情况下,不仅能够与第一云平台进行通信,还可以通过第一云平台上的虚拟设备实现与第二云平台进行通信,进而可以实现对与第二云平台相连的服务端的远程控制。
附图说明
附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例;
图1是本申请实施例提供的一种可选的通信架构图;
图2是本申请实施例提供的一种可选的云端部署架构图;
图3为本申请实施例提供的云通信方法的流程示意图一;
图4为本申请实施例提供的云通信方法的流程示意图二;
图5为本申请实施例提供的云通信方法的流程示意图三;
图6为本申请实施例提供的云通信方法的流程示意图四;
图7为本申请实施例提供的云通信方法的流程示意图五;
图8为本申请实施例提供的云通信装置的结构组成示意图一;
图9为本申请实施例提供的云通信装置的结构组成示意图二;
图10为本申请实施例的一种通信设备示意性结构图;
图11为本申请实施例的芯片的示意性结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请实施例的技术方案,以下先对本申请实施例涉及到的相关技术进行说明,需要说明的是,以下相关技术可以与本申请实施例的技术方案进行任意结合进行实施,也可以单独实施本申请实施例的技术方案。
OCF采用表述状态转移(Representational State Transfer ful,RESTful)架构,通过资源来表述物联网实体设备,以及设备提供的功能服务和设备的状态等信息,提供资源的设备是服务端,访问资源的设备是客户端。OCF中定义的客户端和服务端是逻辑功能实体,一个设备可以是客户端、或服务端、或既是客户端又是服务端。
客户端和服务端的业务交互是通过对资源进行RESTful操作来实现的,RESTful操作可以是创建-读取-更新-删除-通知(Create-Retrieve-Update-Delete-Notify,CRUDN)操作,显然,CRUDN操作可以是以下任意一种或多种操作:创建(Create)、读取(Retrieve)、更新(Update)、删除(Delete)、通知(Notify)操作。客户端是RESTful操作的发起方,服务端是RESTful操作的响应方,客户端向服务端发送资源操作请求,请求对服务端上的资源进行操作,服务端执行资源操作,并向客户端返回响应,响应中携带资源的内容及描述信息。
图1是本申请实施例提供的一种可选的通信架构图,对资源的描述为资源模型层,每个资源对应一个特定的统一资源标识符(Uniform Resource Identifier,URI),可通过访问资源的URI来访问这个资源,另外每个资源具有支持Restful操作的相应接口。传输资源内容及描述信息的是传输协议层,通过把资源操作映射到具体的传输协议中,使每个资源的Restful操作转变为实体消息在设备间传递,为设备间的互联互通提供手段。
为表示资源之间的关联关系,OCF定义了资源连接(Link),OCF服务端可以以资源link的形式提供自己所拥有的资源,便于OCF客户端发现自己的资源。其中,OCF Link的参数如下表1所示:
| 参数 | 含义 |
| anchor | 上下文URI,表示包含Link的属主资源的URI |
| href | 目标URI,即Link引用的目标资源的URI |
| rel | 引用的资源URI和上下文URI的关系 |
| rt | 目标资源的资源类型标识 |
| eps | 可以访问目标资源的消息端点(Endpoints) |
表1
图2是本申请实施例提供的一种可选的云端部署架构图,云端也可以称为云平台,在一个可选例子中,云平台可以是物联网(Internetwork of Things,IoT)云平台,如图2所示,云平台包括以下三个实体:
·云端接口:云端接口是云平台上的锚点,负责服务端的接入管理,以及客户端和服务端远程通信的消息路由。
·授权服务器:授权服务器负责服务端和客户端的注册,以及对客户端和服务端进行鉴权。
·资源目录:资源目录存储了服务端的资源索引,客户端通过检索资源目录可以获取服务端的资源。
客户端和服务端可以通过云平台互相通信,互相通信的整体流程包括以下步骤:
1、用户创建云平台账户。
具体地,用户侧的客户端中提供配置器(Mediator)功能,配置器中配置了云端接口的统一资源定位符(Uniform Resource Locator,URL),用户通过配置器在云平台上注册用户名和密码。
2、配置器向云平台提供访问令牌(Access Token)进行配置器注册,云端验证Access Token并分配一个用户标识(User ID)。同一个用户用不同的配置器,授权服务器会提供不同的Access Token,但同一个用户用任何配置器都与同一个User ID关联。
3、配置器通过正常的设备发现流程连接到服务端,然后从云平台为服务端请求Access Token。配置器使用该Access Token、云端接口的URI和云端通用唯一标识符(Universal Unique Identifier,UUID)更新服务端上的“oic.r.coapcloudconf”资源。其中,这里的Access Token用于服务端向云平台进行初始注册时使用。
4、配置器配置了服务端的“oic.r.coapcloudconf”资源后,服务端使用预置的数字证书和云端建立传输层安全(Transport Layer Security,TLS)连接。服务端要在云平台注册,就需要向云平台上的账号资源“/oic/sec/account”发送更新(UPDATE)请求,更新请求中包括了“oic.r.coapcloudconf”资源中所配置的Access Token。
5、服务端需要在云平台上登录才能实现服务端和云平台之间传输数据,服务端向云平台的会话资源“/oic/sec/session”发送更新(UPDATE)请求。云平台成功验证该更新请求后,服务端和云平台之间建立了会话连接,可以开始交换数据。
6、服务端和云平台建立会话连接后,服务端在云平台的资源目录中公开其承载的资源,以便于客户端对这些资源进行远程访问。
7、当客户端向云平台承载的资源Links引用的资源请求执行CRUDN操作时,云平台将请求转发给实际承载资源的服务端,服务端对云平台的请求进行响应,云端再将响应转发给客户端。
上述流程主要描述了服务端向云平台注册的流程,客户端和服务端一样,按相同的流程向云平台注册。
目前,客户端和服务端需要连接到同一个云平台才能进行远程通信。如果客户端和服务端连接到不同的云平台,就无法进行远程通信。例如,用户的设备包括控制端A、OCF设备A、控制端B、OCF设备B,这里,控制端是指客户端,OCF设备是指服务端,其中,控制端A和OCF设备A连接到云平台A,控制端B和OCF设备B连接到云平台B,按照目前的技术控制端A无法和OCF设备B进行远程通信。另一方面,由于不同的供应商可能提供不同的云平台服务,若用户使用两家以上供应商的产品,则需要使用各自的客户端分别进行控制,从而导致无法在一个客户端的操作界面上实现对全部的服务端进行控制。为此,提出了本申请实施例的以下技术方案。
图3为本申请实施例提供的云通信方法的流程示意图一,所述配置方法包括以下步骤:
步骤301:客户端触发第一云平台创建虚拟设备。
本申请实施例中,所述客户端也可以描述成应用(APP),所述客户端位于用户设备侧,这里,用户设备可以是手机、平板电脑、笔记本、车载终端等设备。在一实施方式中,所述客户端具有配置器。该配置器可以由多个云平台(如第一云平台和第二云平台)共同开发,具体地,配置器可以携带多个云平台的相关信息,这里的相关信息包括:云平台的平台证书、URL等信息。如此,配置器可以与多个云平台进行信息交互。
本申请实施例中,客户端在与任意一个云平台进行通信之前,需要先登录该云平台。具体地,以第一云平台为例,假设用户已经注册了第一云平台的账号User_ID_A,用户在客户端上使用账号User_ID_A登录到第一云平台,而后,客户端便可以与第一云平台进行通信。
本申请实施例中,所述客户端触发第一云平台创建虚拟设备,可以通过以下方式实现:
1)客户端向第一云平台发送第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;
2)所述客户端接收所述第一云平台发送的第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
举个例子:在第一云平台上增加虚拟设备的创建接口(以下称为接口1),如/virtualdevice接口。配置器向第一云平台上的接口1发送更新请求消息(即第一请求消息),第一云平台创建虚拟设备,该虚拟设备在第一云平台上以资源的形式来体现,如oic.r.coapcloudconf资源。
需要说明的是,所述虚拟设备具有第一设备标识(以下称为Device_ID);所述第一设备标识可以通过以下任意一种方式来配置:
方式一:所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;
方式二:所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
在一可选实施方式中,第一云平台创建完虚拟设备后,会建立Device_ID和User_ID_A之间的关联关系。
步骤302:所述客户端为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册。
本申请实施例中,所述客户端为所述虚拟设备配置第一注册信息,可以通过以下方式实现:
A)所述客户端从第二云平台获取所述虚拟设备的第一安全信息;
B)所述客户端基于所述第一安全信息为所述虚拟设备配置第一注册信息。
这里,客户端与第二云平台通信之前,同样需要登录到第二云平台。具体地,假设用户已经注册了第二云平台的账号User_ID_B,用户在客户端上使用账号User_ID_B登录到第二云平台,而后,客户端便可以与第二云平台进行通信。
对于上述A)而言,所述客户端向第二云平台发送第二请求消息,所述第二请求消息用于请求所述第二云平台为所述虚拟设备创建账户;所述客户端接收所述第二云平台发送的第二响应消息,所述第二响应消息用于指示为所述虚拟设备创建账户成功,所述第二响应消息携带所述虚拟设备的第一安全信息。
举个例子:第二云平台上具有增加账户的创建接口(以下简称接口2),如/account接口。配置器向第二云平台的接口2发送更新请求消息(即第二请求消息),该更新请求消息携带虚拟设备的Device_ID,第二云平台基于该Device_ID为虚拟设备创建一个账户,即/account资源。第二云平台创建账户后,为虚拟设备生成一个访问令牌(以下称为Access_Token_D),第二云平台通过更新响应消息(即第二响应消息)将Access_Token_D返回给配置器。这里,Access_Token_D可以是配置器原有的访问令牌,也可以是新生成的访问令牌。
对于上述B)而言,配置器使用Access_Token_D和第二云平台的标识信息,配置虚拟设备在第一云平台上的资源(如oic.r.coapcloudconf资源),具体地,配置器将上述内容填入oic.r.coapcloudconf资源的相应属性内。需要说明的是,第二云平台的标识信息包括以下至少之一:URI、UUID。而后,虚拟设备便可以利用配置的oic.r.coapcloudconf资源注册到第二云平台。具体地,虚拟设备根据第二云平台的标识连接到第二云平台,将Access_Token_D、Device_ID等信息更新到第二云平台的/account资源。第二云平台验证Access_Token_D,验证通过后,将Access_Token_D与User_ID_B、Device_ID进行关联,如此,完成虚拟设备向第二云平台的注册过程。
步骤303:所述客户端通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
本申请实施例中的通信流程,可以但不局限于适用于以下场景。
场景1:服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
这种场景下,客户端与第一云平台连接,服务端与第二云平台连接,第一云平台上具有客户端虚拟设备。客户端登录第一云平台,可以实现与服务端之间的通信。
◆可选地,在一通信方式中,所述客户端从所述第一云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备从所述第二云平台获取。
举个例子:虚拟设备与第二云平台建立会话连接。虚拟设备作为客户端获取第二云平台上的资源信息。这里,假设服务端连接到第二云平台,服务端的资源被发布到第二云平台的资源目录中。那么,虚拟设备可以从第二云平台的资源目录中获取到服务端的资源信息。这里,资源信息包括但不局限于资源地址信息。虚拟设备在获得的服务端的资源信息前面加上路径Device_ID,公开到第一云平台的资源目录中。客户端向第一云平台发送资源查询指令时,第一云平台将自身存储的资源信息返给客户端。
◆可选地,在一通信方式中,所述客户端向所述第一云平台发送第一指令,所述第一指令通过所述第一云平台上的虚拟设备发送给所述第二云平台,并经所述第二云平台转发给服务端。
举个例子:客户端向服务端发出第一指令。第一指令的路径如下:客户端→第一云平台的虚拟设备→第二云平台→服务端。
◆可选地,在一通信方式中,所述客户端接收所述第一云平台发送的第二指令,所述第二指令由服务端发送给第二云平台,并经所述第二云平台转发给所述第一云平台上的虚拟设备。
举个例子:服务端向客户端发出第二指令。第二指令的路径如下:服务端→第二云平台→第一云平台的虚拟设备→客户端。
需要说明的是,上述通信方式可以单独实施,也可以进行任意结合进行实施。
场景2:服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
这种场景下,客户端与第二云平台连接,服务端与第一云平台连接,第一云平台上具有服务端虚拟设备。客户端登录第二云平台,可以实现与服务端之间的通信。
◆可选地,在一通信方式中,所述客户端从所述第二云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备发送给所述第二云平台。
举个例子:服务端连接到第一云平台,服务端的资源被发布到第一云平台的资源目录中。虚拟设备作为服务端将第一云平台上的资源信息发布到第二云平台上。那么,客户端可以从第二云平台获取到服务端的资源信息。这里,资源信息包括但不局限于资源地址信息。
◆可选地,在一通信方式中,所述客户端向所述第二云平台发送第一指令,所述第一指令通过所述第二云平台发送给所述第一云平台上的虚拟设备,并经所述第一云平台转发给服务端。
举个例子:客户端向服务端发出第一指令。第一指令的路径如下:客户端→第二云平台→第一云平台的虚拟设备→服务端。
◆可选地,在一通信方式中,所述客户端接收所述第二云平台发送的第二指令,所述第二指令由服务端发送给第一云平台,并经所述第一云平台上的虚拟设备转发给所述第二云平台。
举个例子:服务端向客户端发出第二指令。第二指令的路径如下:服务端→第一云平台的虚拟设备→第二云平台→客户端。
图4为本申请实施例提供的云通信方法的流程示意图二,所述配置方法包括以下步骤:
步骤401:第一云平台创建虚拟设备。
本申请实施例中,所述第一云平台创建虚拟设备,可以通过以下方式实现:
1)第一云平台接收客户端发送的第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;
2)所述第一云平台创建虚拟设备成功后,向所述客户端发送第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
举个例子:在第一云平台上增加虚拟设备的创建接口(以下称为接口1),如/virtualdevice接口。配置器向第一云平台上的接口1发送更新请求消息(即第一请求消息),第一云平台创建虚拟设备,该虚拟设备在第一云平台上以资源的形式来体现,如oic.r.coapcloudconf资源。
需要说明的是,所述虚拟设备具有第一设备标识(以下称为Device_ID);所述第一设备标识可以通过以下任意一种方式来配置:
方式一:所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;
方式二:所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
在一可选实施方式中,第一云平台创建完虚拟设备后,会建立Device_ID和User_ID_A之间的关联关系。
步骤402:所述虚拟设备从客户端获取第一注册信息,基于所述第一注册信息向第二云平台注册。
本申请实施例中,第二云平台上具有增加账户的创建接口(以下简称接口2),如/account接口。配置器向第二云平台的接口2发送更新请求消息,该更新请求消息携带虚拟设备的Device_ID,第二云平台基于该Device_ID为虚拟设备创建一个账户,即/account资源。第二云平台创建账户后,为虚拟设备生成一个访问令牌(以下称为Access_Token_D),第二云平台通过更新响应消息(即第二响应消息)将Access_Token_D返回给配置器。这里,Access_Token_D可以是配置器原有的访问令牌,也可以是新生成的访问令牌。配置器使用Access_Token_D和第二云平台的标识信息,配置虚拟设备在第一云平台上的资源(如oic.r.coapcloudconf资源),具体地,配置器将上述内容填入oic.r.coapcloudconf资源的相应属性内。需要说明的是,第二云平台的标识信息包括以下至少之一:URI、UUID。
而后,虚拟设备便可以利用配置的oic.r.coapcloudconf资源注册到第二云平台。具体地,虚拟设备根据第二云平台的标识连接到第二云平台,将Access_Token_D、Device_ID等信息更新到第二云平台的/account资源。第二云平台验证Access_Token_D,验证通过后,将Access_Token_D与User_ID_B、Device_ID进行关联,如此,完成虚拟设备向第二云平台的注册过程。
步骤403:所述第一云平台通过所述虚拟设备与第二云平台进行通信。
本申请实施例中的通信流程,可以但不局限于适用于以下场景。
场景1:服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
这种场景下,客户端与第一云平台连接,服务端与第二云平台连接,第一云平台上具有客户端虚拟设备。客户端登录第一云平台,可以实现与服务端之间的通信。
◆可选地,在一通信方式中,所述第一云平台通过所述虚拟设备从所述第二云平台获取服务端的资源信息。
举个例子:虚拟设备与第二云平台建立会话连接。虚拟设备作为客户端获取第二云平台上的资源信息。这里,假设服务端连接到第二云平台,服务端的资源被发布到第二云平台的资源目录中。那么,虚拟设备可以从第二云平台的资源目录中获取到服务端的资源信息。这里,资源信息包括但不局限于资源地址信息。虚拟设备在获得的服务端的资源信息前面加上路径Device_ID,公开到第一云平台的资源目录中。
◆可选地,在一通信方式中,所述第一云平台接收到客户端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给服务端。
举个例子:客户端向服务端发出第一指令。第一指令的路径如下:客户端→第一云平台的虚拟设备→第二云平台→服务端。
◆可选地,在一通信方式中,所述第一云平台通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给客户端。
举个例子:服务端向客户端发出第二指令。第二指令的路径如下:服务端→第二云平台→第一云平台的虚拟设备→客户端。
需要说明的是,上述通信方式可以单独实施,也可以进行任意结合进行实施。
场景2:服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
这种场景下,客户端与第二云平台连接,服务端与第一云平台连接,第一云平台上具有服务端虚拟设备。客户端登录第二云平台,可以实现与服务端之间的通信。
◆可选地,在一通信方式中,所述第一云平台通过所述虚拟设备向所述第二云平台发送服务端的资源信息。
举个例子:服务端连接到第一云平台,服务端的资源被发布到第一云平台的资源目录中。虚拟设备作为服务端将第一云平台上的资源信息发布到第二云平台上。这里,资源信息包括但不局限于资源地址信息。
◆可选地,在一通信方式中,所述第一云平台接收到服务端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给客户端。
举个例子:客户端向服务端发出第一指令。第一指令的路径如下:客户端→第二云平台→第一云平台的虚拟设备→服务端。
◆可选地,在一通信方式中,所述第一云平台通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给服务端。
举个例子:服务端向客户端发出第二指令。第二指令的路径如下:服务端→第一云平台的虚拟设备→第二云平台→客户端。
下面结合具体应用示例对本申请实施例的技术方案进行举例说明,需要说明的是,以下应用示例只是本申请的一种可选方案,并不局限本申请实施例的的保护范围。
应用示例一
图5为本申请实施例提供的云通信方法的流程示意图三,如图5所示,所述云通信方法的流程包括以下步骤:
步骤501:用户使用账号User_ID_A登录到第一云平台。
这里,假设用户已经注册了第一云平台的账号User_ID_A,用户可以在客户端上使用User_ID_A登录到第一云平台。
步骤502:通过访问虚拟设备创建接口,在第一云平台上创建虚拟客户端设备Vclient。
这里,第一云平台上具有虚拟设备创建接口,该虚拟设备创建接口例如是/virtualdevice接口。第一云平台提供虚拟设备创建接口的资源链接,配置器通过向该资源链接更新虚拟设备的信息,便可在第一云平台上创建一个虚拟设备。
这里,Vclient在第一云平台上以资源的方式体现,该资源例如是oic.r.coapcloudconf资源。
步骤503:Vclient被分配Device_ID,第一云平台建立Device_ID与User_ID_A的关联关系。
这里,Vclient创建后,会暴露一个“oic.r.coapcloudconf”资源的配置接口,该配置接口例如是/virtualdevice/<deviceID>/coapcloudconf。其中,<deviceID>表示Vclient的设备标识。在一个例子中,<deviceID>为88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49,相应地,上述配置接口为/virtualdevice/88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49/coapcloudconf。
Device_ID可以是在创建Vclient时,由配置器指定并携带在更新请求消息中发送到/virtualdevice接口中;也可以在创建Vclient时由第一云平台分配,并携带在更新响应消息中返回给配置器。
步骤504:创建成功后,用户登出第一云平台。
这里,登出第一云平台是指与第一云平台的会话注销(logout)或断开。
步骤505:通过配置器连接第二云平台进行用户注册,创建用户账号User_ID_B,并登录到第二云平台。
这里,若已注册了第二云平台账号则无需创建,可直接登录。若在客户端上首次登录,需要输入第二云平台的用户名和密码;若非首次登录,则客户端保留了第二云平台的访问令牌,不需要用户输入用户名和密码,直接用访问令牌与第二云平台建立会话即可。
步骤506:配置器配置服务端注册到第二云平台。
这里,配置器配置服务端注册到第二云平台,包含如下操作:配置器从第二云平台获取服务端的访问令牌;配置器配置服务端的coapcloudconf资源;服务端连接第二云平台,服务端根据coapcloudconf资源向第二云平台注册。而后,服务端与第二云平台建立会话,服务端将自身的资源发布到第二云平台。
需要说明的是,步骤506也可放在步骤507后执行。
步骤507:配置器用Device_ID在第二云平台上创建账户,并从第二云平台获取一个访问令牌。
具体地,配置器向第二云平台的账户创建接口发送更新请求,在请求中带有Device_ID。这里,账户创建接口例如是/account接口。该更新请求用于在第二云平台上创建一个Vclient的账户,创建的形式可以为以下两种形式之一:
1,第二云平台上维护一个包含设备标识、用户标识和访问令牌的数据表。当收到指向/account接口的更新请求后,在表中新增一项(item),并提取出更新请求中的Device_ID插入该item对应的条目下。
2,第二云平台上分布式地存储着多个/account资源,并能根据需要动态增加。当收到指向/account接口的更新请求后,根据规则将其指向其中一个/account资源,并将更新请求中的Device_ID写入该/account资源的di属性。
创建Account后,第二云平台为Vclient生成访问令牌——Access_Token_D,通过更新响应消息将Access_Token_D返回给配置器。Access_Token_D可以是配置器原有的访问令牌,也可以是新产生的访问令牌。
步骤508:用户登出第二云平台,登录第一云平台。
这里,用户切换登录,具体地,用户注销与第二云平台的会话,使用User_ID_A登录第一云平台,并建立与第一云平台的会话。
步骤509:配置器使用Access_Token_D和第二云平台的标识配置Vclient的oic.r.coapcloudconf资源。
这里,第二云平台的标识包括以下至少之一:URI和UUID。
这里,配置Vclient的oic.r.coapcloudconf资源是指将Access_Token_D和第二云平台的标识分别填入oic.r.coapcloudconf资源的相应属性。
步骤510:Vclient利用配置的oic.r.coapcloudconf资源注册到第二云平台。
具体地,Vclient根据第二云平台的标识(如URI和UUID)连接到第二云平台,将Access_Token_D、Device_ID等信息更新到第二云平台的/account资源。
步骤511:第二云平台验证Access_Token_D,验证通过后,将Access_Token_D与User_ID_B、Device_ID进行关联。
这里,将Access_Token_D与User_ID_B、Device_ID进行关联可以通过将这个三个内容保存在一张关系映射表中来实现。
步骤512:Vclient与第二云平台建立会话连接,获取第二云平台上发布的服务端的资源。
具体地,Vclient向第二云平台的会话资源发送更新操作请求,从而与第二云平台建立会话连接。这里,会话资源例如是“/oic/sec/session”资源。
Vclient作为客户端订阅并获取第二云平台上发布的服务端的资源,得到User_ID_B对应的服务端的资源地址,即第二云平台向Vclient返回User_ID_B所对应的资源链接。假设用户只有一台服务端(UUID为550E8400-E29B-41D4-A716-446655440000)连接到第二云平台,其资源地址为/Light。在服务端连接第二云平台后,该资源被发布到第二云平台的资源目录中,形式如下:
步骤513:Vclient在获得的服务端的资源地址中添加Device_ID,并公开到第一云平台的资源列表中。
具体地,Vclient在获得的服务端的资源地址前面加上路径Device_ID,也可同时变更anchor信息,公开到第一云平台的“/oic/res”资源列表中。发布形式为(假设Device_ID为88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49):
步骤514:客户端获取User_ID_A的资源列表。
具体地,用户通过客户端向第一云平台发出查询指令以查询“/oic/res”资源中的资源列表。第一云平台将User_ID_A关联的资源地址返回给客户端。由于前面步骤503中Vclient建立了Device_ID与User_ID_A的关联关系,因此Vclient发布的资源也会返回给客户端。
步骤515:客户端向服务端发送指令。
具体地,用户通过客户端向服务端发出指令,在一个例子中,该指令为:
UPDATE/88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49/550E8400-E29B-41D4-A716-446655440000/Light{“state”:true}
该指令首先发送到第一云平台。
步骤516:第一云平台根据指令中的路径判断服务端与客户端连接在不同的云平台。
在一个例子中,路径采用href的形式,其中,服务端在第二云平台上的资源地址是/UUIDB/path,服务端在第一云平台上的资源地址是/UUIDA/UUIDB/path,其中,UUIDB是第二云平台的标识,UUIDA是第一云平台的标识。
这里,可以根据路径解析出Device_ID,在一个例子中,Device_ID为88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49。
步骤517:通过Device_ID找到相应的Vclient,构建Vclient的指令。
步骤518:将指令中的Device_ID去掉,通过Vclient将指令发给第二云平台。
在一个例子中,发给第二云平台的指令为:
UPDATE/550E8400-E29B-41D4-A716-446655440000/Light{“state”:true}
步骤519:第二云平台收到该指令后,将指令转发给服务端。
在一个例子中,发给服务端的指令为:UPDATE/Light{“state”:true}
服务端收到指令后执行该指令并返回结果。结果延原路径返回,最终通过客户端呈现给用户。
应用示例二
图6为本申请实施例提供的云通信方法的流程示意图四,如图6所示,所述云通信方法的流程包括以下步骤:
步骤601:用户登出第二云平台,登录第一云平台。
这里,登出第二云平台是指与第二云平台的会话logout或断开,而后,通过配置器连接第一云平台进行用户注册,创建用户账号User_ID_A,并登录到第一云平台。需要说明的地,若已注册了第一云平台账号则无需创建,可直接登录。若在客户端上首次登录,需要输入第一云平台的用户名和密码;若非首次登录,则客户端保留了第一云平台的访问令牌,不需要用户输入用户名和密码,直接用访问令牌与第一云平台建立会话即可。
步骤602:配置器配置服务端注册到第一云平台。
这里,配置器配置服务端注册到第一云平台,包含如下操作:配置器从第一云平台获取服务端的访问令牌;配置器配置服务端的coapcloudconf资源;服务端连接第一云平台,服务端根据coapcloudconf资源向第一云平台注册。而后,服务端与第一云平台建立会话,服务端将自身的资源发布到第一云平台
需要说明的是,步骤602也可放在步骤605后执行。
步骤603:通过访问虚拟设备创建接口,在第一云平台上创建虚拟服务端设备Vserver。
这里,第一云平台上具有虚拟设备创建接口,该虚拟设备创建接口例如是/virtualdevice接口。第一云平台提供虚拟设备创建接口的资源链接,配置器通过向该资源链接更新虚拟设备的信息,便可在第一云平台上创建一个虚拟设备。
这里,Vserver在第一云平台上以资源的方式体现,该资源例如是oic.r.coapcloudconf资源。
步骤604:Vserver被分配Device_ID,第一云平台建立Device_ID与User_ID_A的关联关系。
Device_ID可以是在创建Vclient时,由配置器指定并携带在更新请求消息中发送到/virtualdevice接口中;也可以在创建Vclient时由第一云平台分配,并携带在更新响应消息中返回给配置器。
步骤605:Vserver中包含User_ID_A所关联的资源links。
这里,第一云平台将资源目录中发布的与User_ID_A所关联的资源发送给Vserver。
假设用户只有一台服务端(UUID为550E8400-E29B-41D4-A716-446655440000)连接到第一云平台,其资源地址为/Light。在服务端连接第一云平台后,该资源被发布到第一云平台的资源目录中,形式如下:
上述资源link从第一云平台的资源目录中转移到Vserver中,需要说明的是,此处资源link的转移为逻辑转移,该资源link始终在“/oic/res”资源中。
步骤606:用户登出第一云平台,登录第二云平台。
这里,用户切换登录,具体地,用户注销与第一云平台的会话,使用User_ID_B登录第二云平台,并建立与第二云平台的会话。
步骤607:配置器用Device_ID在第二云平台上创建账户,并从第二云平台获取一个访问令牌。
具体地,配置器向第二云平台的账户创建接口发送更新请求,在请求中带有Device_ID。这里,账户创建接口例如是/account接口。该更新请求用于在第二云平台上创建一个Vserver的账户,创建的形式可以为以下两种形式之一:
1,第二云平台上维护一个包含设备标识、用户标识和访问令牌的数据表。当收到指向/account接口的更新请求后,在表中新增一项(item),并提取出更新请求中的Device_ID插入该item对应的条目下。
2,第二云平台上分布式地存储着多个/account资源,并能根据需要动态增加。当收到指向/account接口的更新请求后,根据规则将其指向其中一个/account资源,并将更新请求中的Device_ID写入该/account资源的di属性。
创建Account后,第二云平台为Vserver生成访问令牌——Access_Token_D,通过更新响应消息将Access_Token_D返回给配置器。Access_Token_D可以是配置器原有的访问令牌,也可以是新产生的访问令牌。
步骤608:用户登出第二云平台,登录第一云平台。
这里,用户切换登录,具体地,用户注销与第二云平台的会话,使用User_ID_A登录第一云平台,并建立与第一云平台的会话。
步骤609:配置器使用Access_Token_D和第二云平台的标识配置Vserver的oic.r.coapcloudconf资源。
这里,第二云平台的标识包括以下至少之一:URI和UUID。
这里,配置Vserver的oic.r.coapcloudconf资源是指将Access_Token_D和第二云平台的标识分别填入oic.r.coapcloudconf资源的相应属性。
步骤610:Vserver利用配置的oic.r.coapcloudconf资源注册到第二云平台。
具体地,Vserver根据第二云平台的标识(如URI和UUID)连接到第二云平台,将Access_Token_D、Device_ID等信息更新到第二云平台的/account资源。
步骤611:第二云平台验证Access_Token_D,验证通过后,将Access_Token_D与User_ID_B、Device_ID进行关联。
这里,将Access_Token_D与User_ID_B、Device_ID进行关联可以通过将这个三个内容保存在一张关系映射表中来实现。
步骤612:Vserver与第二云平台建立会话连接,将存储的资源发布到第二云平台的资源目录上。
具体地,Vserver向第二云平台的会话资源发送更新操作请求,从而与第二云平台建立会话连接。这里,会话资源例如是“/oic/sec/session”资源。
Vserver作为服务端设备,将其自身资源发布到第二云平台的资源目录中。此时Vserver可作为一台真实的服务端设备看待,假设其UUID(Device_ID)为0685B960-736F-46F7-BEC0-9E6CBD61ADC1,ep采用第一云平台的地址和端口号。资源发布后,第二云平台将相关信息添加到link中进行发布,形式如下:
步骤613:用户登出第一云平台,登录第二云平台。
这里,用户切换登录,具体地,用户注销与第一云平台的会话,使用User_ID_B登录第二云平台,并建立与第二云平台的会话。
步骤614:客户端获取User_ID_B的资源列表。
具体地,用户通过客户端向第二云平台发出查询指令以查询“/oic/res”资源中的资源列表。第二云平台将User_ID_B关联的资源地址返回给客户端。由于Vserver也是已接入的User_ID_B的设备,因此Vserver的资源也会一并返回给客户端。
步骤615:客户端向服务端发送指令。
具体地,用户通过客户端向服务端发出指令,在一个例子中,该指令为:
UPDATE/0685B960-736F-46F7-BEC0-9E6CBD61ADC1/550E8400-E29B-41D4-A716-446655440000/Light{“state”:true}
该指令首先发送到第二云平台。
步骤616:第二云平台根据指令中的Device_ID将指令发给Vserver。
具体地,第二云平台收到上述指令后,根据指令中的路径解析出Vserver的Device_ID,并通过该Device_ID找到该Vserver对应的会话。之后,第二云平台将指令地址中的Device_ID去掉,通过会话发出。
这里,指令中的路径例如是:/0685B960-736F-46F7-BEC0-9E6CBD61ADC1/550E8400-E29B-41D4-A716-446655440000/Light。
这里,Vserver的Device_ID例如是:0685B960-736F-46F7-BEC0-9E6CBD61ADC1。
这里,发给Vserver的指令例如是:UPDATE/550E8400-E29B-41D4-A716-446655440000/Light{“state”:true}
步骤617:第一云平台收到该指令后,将指令转发给服务端。
在一个例子中,发给服务端的指令为:UPDATE/Light{“state”:true}
服务端收到指令后执行该指令并返回结果。结果延原路径返回,最终通过客户端呈现给用户。
对于图6所示的云通信方法,还可以作如下修改,以形成新的方案:
配置器可以预先产生虚拟设备的device UUID,并使用该UUID为虚拟设备建立账户以及向第二云平台请求访问令牌。之后再用该UUID作为虚拟设备的设备标识在第一云平台上创建虚拟设备。如此,可以减少用户在第一云平台和第二云平台之间切换登录的操作。
具体地,在步骤601之前增加如下步骤:1、客户端登陆第二云平台;2、配置器生成虚拟设备的device UUID(记作Device_ID),并用该Device_ID在第二云平台上为虚拟设备创建账户以及向第二云平台请求访问令牌。如此,在步骤603中创建的Vserver时,该Vserver的标识为预配置的Device_ID。从而可以删除步骤606至步骤608,直接执行步骤609。
应用示例三
图7为本申请实施例提供的云通信方法的流程示意图五,如图7所示,所述云通信方法的流程包括以下步骤:
步骤701:用户使用账号User_ID_A登录到第一云平台。
这里,假设用户已经注册了第一云平台的账号User_ID_A,用户可以在客户端上使用User_ID_A登录到第一云平台。
步骤702:通过访问虚拟设备创建接口,在第一云平台上创建虚拟客户端设备Vclient。
这里,第一云平台上具有虚拟设备创建接口,该虚拟设备创建接口例如是/virtualdevice接口。第一云平台提供虚拟设备创建接口的资源链接,配置器通过向该资源链接更新虚拟设备的信息,便可在第一云平台上创建一个虚拟设备。
这里,Vclient在第一云平台上以资源的方式体现,该资源例如是oic.r.coapcloudconf资源。
步骤703:Vclient被分配Device_ID,第一云平台建立Device_ID与User_ID_A的关联关系。
这里,Vclient创建后,会暴露一个“oic.r.coapcloudconf”资源的配置接口,该配置接口例如是/virtualdevice/<deviceID>/coapcloudconf。其中,<deviceID>表示Vclient的设备标识。在一个例子中,<deviceID>为88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49,相应地,上述配置接口为/virtualdevice/88B7C7F0-4B51-4E0A-9FAA-CfB439FD7F49/coapcloudconf。
Device_ID可以是在创建Vclient时,由配置器指定并携带在更新请求消息中发送到/virtualdevice接口中;也可以在创建Vclient时由第一云平台分配,并携带在更新响应消息中返回给配置器。
步骤704:创建成功后,用户登出第一云平台。
这里,登出第一云平台是指与第一云平台的会话注销(logout)或断开。
步骤705:通过配置器连接第二云平台进行用户注册,创建用户账号User_ID_B,并登录到第二云平台。
这里,若已注册了第二云平台账号则无需创建,可直接登录。若在客户端上首次登录,需要输入第二云平台的用户名和密码;若非首次登录,则客户端保留了第二云平台的访问令牌,不需要用户输入用户名和密码,直接用访问令牌与第二云平台建立会话即可。
步骤706:配置器配置服务端注册到第二云平台。
这里,配置器配置服务端注册到第二云平台,包含如下操作:配置器从第二云平台获取服务端的访问令牌;配置器配置服务端的coapcloudconf资源;服务端连接第二云平台,服务端根据coapcloudconf资源向第二云平台注册。而后,服务端与第二云平台建立会话,服务端将自身的资源发布到第二云平台。
需要说明的是,步骤706也可放在步骤707后执行。
步骤707:配置器用Device_ID在第二云平台上创建账户,并从第二云平台获取一个访问令牌。
具体地,配置器向第二云平台的账户创建接口发送更新请求,在请求中带有Device_ID。这里,账户创建接口例如是/account接口。该更新请求用于在第二云平台上创建一个Vclient的账户,创建的形式可以为以下两种形式之一:
1,第二云平台上维护一个包含设备标识、用户标识和访问令牌的数据表。当收到指向/account接口的更新请求后,在表中新增一项(item),并提取出更新请求中的Device_ID插入该item对应的条目下。
2,第二云平台上分布式地存储着多个/account资源,并能根据需要动态增加。当收到指向/account接口的更新请求后,根据规则将其指向其中一个/account资源,并将更新请求中的Device_ID写入该/account资源的di属性。
创建Account后,第二云平台为Vclient生成访问令牌——Access_Token_D,通过更新响应消息将Access_Token_D返回给配置器。Access_Token_D可以是配置器原有的访问令牌,也可以是新产生的访问令牌。
步骤708:用户登出第二云平台,登录第一云平台。
这里,用户切换登录,具体地,用户注销与第二云平台的会话,使用User_ID_A登录第一云平台,并建立与第一云平台的会话。
步骤709:配置器使用Access_Token_D和第二云平台的标识配置Vclient的oic.r.coapcloudconf资源。
这里,第二云平台的标识包括以下至少之一:URI和UUID。
这里,配置Vclient的oic.r.coapcloudconf资源是指将Access_Token_D和第二云平台的标识分别填入oic.r.coapcloudconf资源的相应属性。
步骤710:Vclient利用配置的oic.r.coapcloudconf资源注册到第二云平台。
具体地,Vclient根据第二云平台的标识(如URI和UUID)连接到第二云平台,将Access_Token_D、Device_ID等信息更新到第二云平台的/account资源。
步骤711:第二云平台验证Access_Token_D,验证通过后,将Access_Token_D与User_ID_B、Device_ID进行关联。
这里,将Access_Token_D与User_ID_B、Device_ID进行关联可以通过将这个三个内容保存在一张关系映射表中来实现。
步骤712:Vclient与第二云平台建立会话连接,获取第二云平台上发布的服务端的资源。
具体地,Vclient向第二云平台的会话资源发送更新操作请求,从而与第二云平台建立会话连接。这里,会话资源例如是“/oic/sec/session”资源。
Vclient作为客户端订阅并获取第二云平台上发布的服务端的资源,得到User_ID_B对应的服务端的资源地址,即第二云平台向Vclient返回User_ID_B所对应的资源链接。假设用户只有一台服务端(UUID为550E8400-E29B-41D4-A716-446655440000)连接到第二云平台,其资源地址为/Light。在服务端连接第二云平台后,该资源被发布到第二云平台的资源目录中,形式如下:
步骤713:Vclient在获得的服务端的资源地址中添加UUID_B,并公开到第一云平台的资源列表中。
具体地,Vclient在获得的服务端的资源地址前面加上路径UUID_B(即第二云平台的UUID),也可同时变更anchor和eps信息,公开到第一云平台的“/oic/res”资源列表中。发布形式为(假设第二云平台的UUID为E61C3E6B-9C54-4B81-8CE5-F9039C1D04D9,地址和端口号为coaps+tcp://example.com:443):
步骤714:客户端获取User_ID_A的资源列表。
具体地,用户通过客户端向第一云平台发出查询指令以查询“/oic/res”资源中的资源列表。第一云平台将User_ID_A关联的资源地址返回给客户端。由于前面步骤703中Vclient建立了Device_ID与User_ID_A的关联关系,因此Vclient发布的资源也会返回给客户端。
步骤715:客户端向服务端发送指令。
具体地,用户通过客户端向服务端发出指令,在一个例子中,该指令为:
UPDATE/E61C3E6B-9C54-4B81-8CE5-F9039C1D04D9/550E8400-E29B-41D4-A716-446655440000/Light{“state”:true}
该指令首先发送到第一云平台。
步骤716:第一云平台根据指令中的路径判断服务端与客户端连接在不同的云平台。
在一个例子中,路径采用href的形式,其中,服务端在第二云平台上的资源地址是/UUIDB/path,服务端在第一云平台上的资源地址是/UUIDA/UUIDB/path,其中,UUIDB是第二云平台的标识,UUIDA是第一云平台的标识。进一步,若路径中有eps属性,也可根据ep的地址和端口号进行判断。
这里,可以根据路径解析出UUID_B,在一个例子中,UUID_B为E61C3E6B-9C54-4B81-8CE5-F9039C1D04D9。
步骤717:通过User_ID_A找到相应的Vclient,构建Vclient的指令。
具体地,通过User_ID_A找到与之关联的Device_ID(Vclient的设备标识)。若存在多个云平台,如第一云平台、第二云平台、第三云平台,其中第一云平台与第二云平台、第三云平台分别进行互联通信,则可能在第一云平台上存在两个Vclient与User_ID_A关联,分别记为Vclient_B和Vclient_C。则通过User_ID_A可能找到两个与之关联的Device_ID——Device_ID_B(Vclient_B)和Device_ID_C(Vclient_C)。此时,需要通过结合其他条件进一步判断:①可使Vclient_B的eps与第二云平台的eps一致,Vclient_C的eps与第三云平台的eps一致,通过比较eps属性找到对应的虚拟设备;②在第一云平台上维护一张虚拟设备ID与其注册的云UUID的对应表,结合步骤717解析出的云平台的UUID与User_ID_A,找到唯一对应的Device_ID。
步骤718:将指令中的UUID_B去掉,通过Vclient将指令发给第二云平台。
在一个例子中,发给第二云平台的指令为:
UPDATE/550E8400-E29B-41D4-A716-446655440000/Light{“state”:true}
步骤719:第二云平台收到该指令后,将指令转发给服务端。
在一个例子中,发给服务端的指令为:UPDATE/Light{“state”:true}
服务端收到指令后执行该指令并返回结果。结果延原路径返回,最终通过客户端呈现给用户。
图8为本申请实施例提供的云通信装置的结构组成示意图一,该云通信装置应用于客户端侧,如图8所示,所述云通信装置包括:
触发单元801,用于触发第一云平台创建虚拟设备;
配置单元802,用于为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册;
通信单元803,用于通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
在一实施方式中,所述触发单元801,用于:
向第一云平台发送第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;
接收所述第一云平台发送的第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
在一实施方式中,所述虚拟设备具有第一设备标识;
所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;或者,
所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
在一实施方式中,所述配置单元802,用于从第二云平台获取所述虚拟设备的第一安全信息;基于所述第一安全信息为所述虚拟设备配置第一注册信息。
在一实施方式中,所述配置单元802,用于向第二云平台发送第二请求消息,所述第二请求消息用于请求所述第二云平台为所述虚拟设备创建账户;接收所述第二云平台发送的第二响应消息,所述第二响应消息用于指示为所述虚拟设备创建账户成功,所述第二响应消息携带所述虚拟设备的第一安全信息。
在一实施方式中,所述通信单元803,用于:从所述第一云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备从所述第二云平台获取。
在一实施方式中,所述通信单元803,用于:向所述第一云平台发送第一指令,所述第一指令通过所述第一云平台上的虚拟设备发送给所述第二云平台,并经所述第二云平台转发给服务端。
在一实施方式中,所述通信单元803,用于:接收所述第一云平台发送的第二指令,所述第二指令由服务端发送给第二云平台,并经所述第二云平台转发给所述第一云平台上的虚拟设备。
在一实施方式中,所述服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
在一实施方式中,所述通信单元803,用于:从所述第二云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备发送给所述第二云平台。
在一实施方式中,所述通信单元803,用于:向所述第二云平台发送第一指令,所述第一指令通过所述第二云平台发送给所述第一云平台上的虚拟设备,并经所述第一云平台转发给服务端。
在一实施方式中,所述通信单元803,用于:接收所述第二云平台发送的第二指令,所述第二指令由服务端发送给第一云平台,并经所述第一云平台上的虚拟设备转发给所述第二云平台。
在一实施方式中,所述服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
本领域技术人员应当理解,图8所示的云通信装置中的各单元的实现功能可参照云通信方法的相关描述而理解。图8所示的云通信装置中的各模块的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图9为本申请实施例提供的云通信装置的结构组成示意图二,该云通信装置应用于第一云平台侧,如图9所示,所述云通信装置包括:
创建单元901,用于创建虚拟设备;
获取单元902,用于从客户端获取第一注册信息;
注册单元903,用于基于所述第一注册信息向第二云平台注册;
通信单元904,用于通过所述虚拟设备与第二云平台进行通信。
在一实施方式中,所述创建单元901,用于:接收客户端发送的第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;创建虚拟设备成功后,向所述客户端发送第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
在一实施方式中,所述虚拟设备具有第一设备标识;
所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;或者,
所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
在一实施方式中,所述通信单元904,用于:通过所述虚拟设备从所述第二云平台获取服务端的资源信息。
在一实施方式中,所述通信单元904,用于:接收到客户端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给服务端。
在一实施方式中,所述通信单元904,用于:通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给客户端。
在一实施方式中,所述服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
在一实施方式中,所述通信单元904,用于:通过所述虚拟设备向所述第二云平台发送服务端的资源信息。
在一实施方式中,所述通信单元904,用于:接收到服务端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给客户端。
在一实施方式中,所述通信单元904,用于:通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给服务端。
在一实施方式中,所述服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
本领域技术人员应当理解,图9所示的云通信装置中的各单元的实现功能可参照云通信方法的相关描述而理解。图9所示的云通信装置中的各模块的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图10是本申请实施例提供的一种通信设备1000示意性结构图。通信设备1000可以是用户设备,或者网络设备(如云平台),图10所示的网络设备1000包括处理器1010,处理器1010可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。
可选地,如图10所示,网络设备1000还可以包括存储器1020。其中,处理器1010可以从存储器1020中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器1020可以是独立于处理器1010的一个单独的器件,也可以集成在处理器1010中。
可选地,如图10所示,网络设备1000还可以包括收发器1030,处理器1010可以控制该收发器1030与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器1030可以包括发射机和接收机。收发器1030还可以进一步包括天线,天线的数量可以为一个或多个。
可选地,该网络设备1000具体可为本申请实施例的配置云端通信的装置,并且该网络设备1000可以实现本申请实施例的各个方法中由配置云端通信的装置实现的相应流程,为了简洁,在此不再赘述。
图11是本申请实施例的芯片的示意性结构图。图11所示的芯片1100包括处理器1110,处理器1110可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。
可选地,如图11所示,芯片1100还可以包括存储器1120。其中,处理器1110可以从存储器1120中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器1120可以是独立于处理器1110的一个单独的器件,也可以集成在处理器1110中。
可选地,该芯片1100还可以包括输入接口1130。其中,处理器1110可以控制该输入接口1130与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
可选地,该芯片1100还可以包括输出接口1140。其中,处理器1110可以控制该输出接口1140与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
可选地,该芯片可应用于本申请实施例中的网络设备,并且该芯片可以实现本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
可选的,该计算机可读存储介质可应用于本申请实施例中的网络设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
可选地,该计算机可读存储介质可应用于本申请实施例中的移动终端/终端设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的网络设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
可选地,该计算机程序产品可应用于本申请实施例中的移动终端/终端设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的网络设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
可选地,该计算机程序可应用于本申请实施例中的移动终端/终端设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,)ROM、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (58)
1.一种云通信方法,所述方法包括:
客户端触发第一云平台创建虚拟设备;
所述客户端为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册;
所述客户端通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
2.根据权利要求1所述的方法,其中,所述客户端触发第一云平台创建虚拟设备,包括:
客户端向第一云平台发送第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;
所述客户端接收所述第一云平台发送的第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
3.根据权利要求2所述的方法,其中,所述虚拟设备具有第一设备标识;
所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;或者,
所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
4.根据权利要求1至3中任一项所述的方法,其中,所述客户端为所述虚拟设备配置第一注册信息,包括:
所述客户端从第二云平台获取所述虚拟设备的第一安全信息;
所述客户端基于所述第一安全信息为所述虚拟设备配置第一注册信息。
5.根据权利要求4所述的方法,其中,所述客户端从第二云平台获取所述虚拟设备的第一安全信息,包括:
所述客户端向第二云平台发送第二请求消息,所述第二请求消息用于请求所述第二云平台为所述虚拟设备创建账户;
所述客户端接收所述第二云平台发送的第二响应消息,所述第二响应消息用于指示为所述虚拟设备创建账户成功,所述第二响应消息携带所述虚拟设备的第一安全信息。
6.根据权利要求1至5中任一项所述的方法,其中,所述客户端通过所述第一云平台上的虚拟设备,与所述第二云平台进行通信,包括:
所述客户端从所述第一云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备从所述第二云平台获取。
7.根据权利要求1至5中任一项所述的方法,其中,所述客户端通过所述第一云平台上的虚拟设备,与所述第二云平台进行通信,包括:
所述客户端向所述第一云平台发送第一指令,所述第一指令通过所述第一云平台上的虚拟设备发送给所述第二云平台,并经所述第二云平台转发给服务端。
8.根据权利要求1至5中任一项所述的方法,其中,所述客户端通过所述第一云平台上的虚拟设备,与连接所述第二云平台的服务端进行通信,包括:
所述客户端接收所述第一云平台发送的第二指令,所述第二指令由服务端发送给第二云平台,并经所述第二云平台转发给所述第一云平台上的虚拟设备。
9.根据权利要求6至8中任一项所述的方法,其中,所述服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
10.根据权利要求1至5中任一项所述的方法,其中,所述客户端通过所述第一云平台上的虚拟设备,与所述第一云平台进行通信,包括:
所述客户端从所述第二云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备发送给所述第二云平台。
11.根据权利要求1至5中任一项所述的方法,其中,所述客户端通过所述第一云平台上的虚拟设备,与所述第一云平台进行通信,包括:
所述客户端向所述第二云平台发送第一指令,所述第一指令通过所述第二云平台发送给所述第一云平台上的虚拟设备,并经所述第一云平台转发给服务端。
12.根据权利要求1至5中任一项所述的方法,其中,所述客户端通过所述第一云平台上的虚拟设备,与所述第一云平台进行通信,包括:
所述客户端接收所述第二云平台发送的第二指令,所述第二指令由服务端发送给第一云平台,并经所述第一云平台上的虚拟设备转发给所述第二云平台。
13.根据权利要求10至12中任一项所述的方法,其中,所述服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
14.一种云通信方法,所述方法包括:
第一云平台创建虚拟设备;
所述虚拟设备从客户端获取第一注册信息,基于所述第一注册信息向第二云平台注册;
所述第一云平台通过所述虚拟设备与第二云平台进行通信。
15.根据权利要求14所述的方法,其中,所述第一云平台创建虚拟设备,包括:
第一云平台接收客户端发送的第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;
所述第一云平台创建虚拟设备成功后,向所述客户端发送第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
16.根据权利要求15所述的方法,其中,所述虚拟设备具有第一设备标识;
所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;或者,
所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
17.根据权利要求14至16中任一项所述的方法,其中,所述第一云平台通过所述虚拟设备与第二云平台进行通信,包括:
所述第一云平台通过所述虚拟设备从所述第二云平台获取服务端的资源信息。
18.根据权利要求14至16中任一项所述的方法,其中,所述第一云平台通过所述虚拟设备与第二云平台进行通信,包括:
所述第一云平台接收到客户端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给服务端。
19.根据权利要求14至16中任一项所述的方法,其中,所述第一云平台通过所述虚拟设备与第二云平台进行通信,包括:
所述第一云平台通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给客户端。
20.根据权利要求17至19中任一项所述的方法,其中,所述服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
21.根据权利要求14至16中任一项所述的方法,其中,所述第一云平台通过所述虚拟设备与第二云平台进行通信,包括:
所述第一云平台通过所述虚拟设备向所述第二云平台发送服务端的资源信息。
22.根据权利要求14至16中任一项所述的方法,其中,所述第一云平台通过所述虚拟设备与第二云平台进行通信,包括:
所述第一云平台接收到服务端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给客户端。
23.根据权利要求14至16中任一项所述的方法,其中,所述第一云平台通过所述虚拟设备与第二云平台进行通信,包括:
所述第一云平台通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给服务端。
24.根据权利要求21至23中任一项所述的方法,其中,所述服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
25.一种云通信装置,应用于客户端,所述装置包括:
触发单元,用于触发第一云平台创建虚拟设备;
配置单元,用于为所述虚拟设备配置第一注册信息;其中,所述第一注册信息用于所述虚拟设备向第二云平台注册;
通信单元,用于通过所述第一云平台上的虚拟设备,与所述第二云平台或所述第一云平台进行通信。
26.根据权利要求25所述的装置,其中,所述触发单元,用于:
向第一云平台发送第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;
接收所述第一云平台发送的第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
27.根据权利要求26所述的装置,其中,所述虚拟设备具有第一设备标识;
所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;或者,
所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
28.根据权利要求25至27中任一项所述的装置,其中,所述配置单元,用于从第二云平台获取所述虚拟设备的第一安全信息;基于所述第一安全信息为所述虚拟设备配置第一注册信息。
29.根据权利要求28所述的装置,其中,所述配置单元,用于向第二云平台发送第二请求消息,所述第二请求消息用于请求所述第二云平台为所述虚拟设备创建账户;接收所述第二云平台发送的第二响应消息,所述第二响应消息用于指示为所述虚拟设备创建账户成功,所述第二响应消息携带所述虚拟设备的第一安全信息。
30.根据权利要求25至29中任一项所述的装置,其中,所述通信单元,用于:从所述第一云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备从所述第二云平台获取。
31.根据权利要求25至29中任一项所述的装置,其中,所述通信单元,用于:向所述第一云平台发送第一指令,所述第一指令通过所述第一云平台上的虚拟设备发送给所述第二云平台,并经所述第二云平台转发给服务端。
32.根据权利要求25至29中任一项所述的装置,其中,所述通信单元,用于:接收所述第一云平台发送的第二指令,所述第二指令由服务端发送给第二云平台,并经所述第二云平台转发给所述第一云平台上的虚拟设备。
33.根据权利要求30至32中任一项所述的装置,其中,所述服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
34.根据权利要求25至29中任一项所述的装置,其中,所述通信单元,用于:从所述第二云平台获取服务端的资源信息,其中,所述服务端的资源信息由所述虚拟设备发送给所述第二云平台。
35.根据权利要求25至29中任一项所述的装置,其中,所述通信单元,用于:向所述第二云平台发送第一指令,所述第一指令通过所述第二云平台发送给所述第一云平台上的虚拟设备,并经所述第一云平台转发给服务端。
36.根据权利要求25至29中任一项所述的装置,其中,所述通信单元,用于:接收所述第二云平台发送的第二指令,所述第二指令由服务端发送给第一云平台,并经所述第一云平台上的虚拟设备转发给所述第二云平台。
37.根据权利要求34至36中任一项所述的装置,其中,所述服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
38.一种云通信装置,应用于第一云平台,所述装置包括:
创建单元,用于创建虚拟设备;
获取单元,用于从客户端获取第一注册信息;
注册单元,用于基于所述第一注册信息向第二云平台注册;
通信单元,用于通过所述虚拟设备与第二云平台进行通信。
39.根据权利要求38所述的装置,其中,所述创建单元,用于:接收客户端发送的第一请求消息,所述第一请求消息用于请求所述第一云平台创建虚拟设备;创建虚拟设备成功后,向所述客户端发送第一响应消息,所述第一响应消息用于指示所述虚拟设备创建成功。
40.根据权利要求39所述的装置,其中,所述虚拟设备具有第一设备标识;
所述第一设备标识由所述客户端配置,并携带在所述第一请求消息中;或者,
所述第一设备标识由所述第一云平台配置,并携带在所述第一响应消息中。
41.根据权利要求38至40中任一项所述的装置,其中,所述通信单元,用于:通过所述虚拟设备从所述第二云平台获取服务端的资源信息。
42.根据权利要求38至40中任一项所述的装置,其中,所述通信单元,用于:接收到客户端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给服务端。
43.根据权利要求38至40中任一项所述的装置,其中,所述通信单元,用于:通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给客户端。
44.根据权利要求41至43中任一项所述的装置,其中,所述服务端与所述第二云平台连接,所述虚拟设备为客户端虚拟设备。
45.根据权利要求38至40中任一项所述的装置,其中,所述通信单元,用于:通过所述虚拟设备向所述第二云平台发送服务端的资源信息。
46.根据权利要求38至40中任一项所述的装置,其中,所述通信单元,用于:接收到服务端发送的第一指令后,通过所述虚拟设备将所述第一指令转发给第二云平台,并经所述第二云平台转发给客户端。
47.根据权利要求38至40中任一项所述的装置,其中,所述通信单元,用于:通过所述虚拟设备接收到第二云平台发送的第二指令后,将所述第二指令发送给服务端。
48.根据权利要求45至47中任一项所述的装置,其中,所述服务端与所述第一云平台连接,所述虚拟设备为服务端虚拟设备。
49.一种用户设备,包括:处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至13中任一项所述的方法。
50.一种网络设备,包括:处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求14至24中任一项所述的方法。
51.一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1至13中任一项所述的方法。
52.一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求14至24中任一项所述的方法。
53.一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至13中任一项所述的方法。
54.一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求14至24中任一项所述的方法。
55.一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如权利要求1至13中任一项所述的方法。
56.一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如权利要求14至24中任一项所述的方法。
57.一种计算机程序,所述计算机程序使得计算机执行如权利要求1至13中任一项所述的方法。
58.一种计算机程序,所述计算机程序使得计算机执行如权利要求14至24中任一项所述的方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910385961.1A CN111917810B (zh) | 2019-05-09 | 2019-05-09 | 一种云通信方法及装置、用户设备、网络设备 |
| KR1020217040322A KR20220006605A (ko) | 2019-05-09 | 2019-11-27 | 클라우드 통신 방법 및 장치, 사용자 기기, 네트워크 기기 |
| PCT/CN2019/121340 WO2020224241A1 (zh) | 2019-05-09 | 2019-11-27 | 一种云通信方法及装置、用户设备、网络设备 |
| US17/521,194 US11863633B2 (en) | 2019-05-09 | 2021-11-08 | Cloud communication method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910385961.1A CN111917810B (zh) | 2019-05-09 | 2019-05-09 | 一种云通信方法及装置、用户设备、网络设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111917810A true CN111917810A (zh) | 2020-11-10 |
| CN111917810B CN111917810B (zh) | 2022-09-23 |
Family
ID=73050718
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910385961.1A Active CN111917810B (zh) | 2019-05-09 | 2019-05-09 | 一种云通信方法及装置、用户设备、网络设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11863633B2 (zh) |
| KR (1) | KR20220006605A (zh) |
| CN (1) | CN111917810B (zh) |
| WO (1) | WO2020224241A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024016124A1 (zh) * | 2022-07-18 | 2024-01-25 | Oppo广东移动通信有限公司 | 一种设备配置方法及装置、通信设备 |
| WO2024130729A1 (zh) * | 2022-12-23 | 2024-06-27 | Oppo广东移动通信有限公司 | 传输信息的方法、客户端设备及云平台 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20230022944A (ko) * | 2020-06-16 | 2023-02-16 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 자원 게시 방법, 장치, 게이트웨이, 클라우드 플랫폼 및 컴퓨터 저장 매체 |
| WO2022124652A1 (ko) * | 2020-12-10 | 2022-06-16 | 엘지전자 주식회사 | 스마트홈 환경의 무선랜 시스템에서 c2c 연결을 기반으로 iot 제어기기와 iot 피제어기기 간 등록을 설정하는 방법 및 장치 |
| CN115567231A (zh) * | 2021-07-02 | 2023-01-03 | 珠海格力电器股份有限公司 | 设备控制方法、模组、设备及计算机可读介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103229548A (zh) * | 2012-11-23 | 2013-07-31 | 华为技术有限公司 | 通信方法、用户设备和统一无线控制器 |
| CN105554004A (zh) * | 2015-12-24 | 2016-05-04 | 北京轻元科技有限公司 | 一种混合云计算环境中容器服务的认证系统和方法 |
| CN105991734A (zh) * | 2015-02-16 | 2016-10-05 | 广东亿迅科技有限公司 | 一种云平台管理方法及系统 |
| CN107707622A (zh) * | 2017-08-30 | 2018-02-16 | 华为技术有限公司 | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69907425T2 (de) * | 1998-02-27 | 2004-03-11 | Engage Technologies, Andover | System und Verfahren zum Aufbau von Benutzerprofilen |
| US9203807B2 (en) * | 2011-09-09 | 2015-12-01 | Kingston Digital, Inc. | Private cloud server and client architecture without utilizing a routing server |
| US10356080B2 (en) * | 2017-03-17 | 2019-07-16 | Verizon Patent And Licensing Inc. | System and method for centralized authentication and authorization for cloud platform with multiple deployments |
| EP3629205B1 (en) * | 2018-09-28 | 2021-03-31 | Private Machines Inc. | Method for the integrated use of a secondary cloud resource |
| CN109660567A (zh) * | 2019-02-22 | 2019-04-19 | 北京致远互联软件股份有限公司 | 一种通信连接方法、服务器、终端设备及系统 |
-
2019
- 2019-05-09 CN CN201910385961.1A patent/CN111917810B/zh active Active
- 2019-11-27 KR KR1020217040322A patent/KR20220006605A/ko not_active Withdrawn
- 2019-11-27 WO PCT/CN2019/121340 patent/WO2020224241A1/zh not_active Ceased
-
2021
- 2021-11-08 US US17/521,194 patent/US11863633B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103229548A (zh) * | 2012-11-23 | 2013-07-31 | 华为技术有限公司 | 通信方法、用户设备和统一无线控制器 |
| CN105991734A (zh) * | 2015-02-16 | 2016-10-05 | 广东亿迅科技有限公司 | 一种云平台管理方法及系统 |
| CN105554004A (zh) * | 2015-12-24 | 2016-05-04 | 北京轻元科技有限公司 | 一种混合云计算环境中容器服务的认证系统和方法 |
| CN107707622A (zh) * | 2017-08-30 | 2018-02-16 | 华为技术有限公司 | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024016124A1 (zh) * | 2022-07-18 | 2024-01-25 | Oppo广东移动通信有限公司 | 一种设备配置方法及装置、通信设备 |
| WO2024130729A1 (zh) * | 2022-12-23 | 2024-06-27 | Oppo广东移动通信有限公司 | 传输信息的方法、客户端设备及云平台 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220060560A1 (en) | 2022-02-24 |
| KR20220006605A (ko) | 2022-01-17 |
| WO2020224241A1 (zh) | 2020-11-12 |
| CN111917810B (zh) | 2022-09-23 |
| US11863633B2 (en) | 2024-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111917810B (zh) | 一种云通信方法及装置、用户设备、网络设备 | |
| US11856065B2 (en) | Data transmission for service integration between a virtual private cloud and an intranet | |
| CN102227901B (zh) | 点滴式同步协议 | |
| US20180063879A1 (en) | Apparatus and method for interoperation between internet-of-things devices | |
| CN106790420B (zh) | 一种多会话通道建立方法和系统 | |
| CN111416723B (zh) | 一种设备管理方法及相关设备 | |
| CN104580496A (zh) | 一种基于临时代理的虚拟机访问系统及服务器 | |
| CN105376299A (zh) | 一种网络通信方法、设备及网络附属存储设备 | |
| CN115379010B (zh) | 一种容器网络构建方法、装置、设备及存储介质 | |
| CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
| CN112445700A (zh) | 测试方法和装置 | |
| CN103023935B (zh) | M2m平台云系统及其处理m2m服务的方法 | |
| CN106571968B (zh) | 一种业务切换方法和系统 | |
| CN111585786A (zh) | 一种大数据集群免密搭建方法的实现 | |
| CA2931906C (en) | Systems and methods for determining a destination location in a network system | |
| BRPI0710719A2 (pt) | método para deletar um item de uma conta de usuário em um ambiente multimìdea sip; produto de programa de computador e dispositivo eletrÈnico | |
| CN114025009A (zh) | 转发请求的方法、系统、代理服务器和装置 | |
| US11750716B2 (en) | Methods for publishing resource, and gateway | |
| WO2017136979A1 (zh) | 一种远程访问的实现方法、装置和系统 | |
| KR100597405B1 (ko) | 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법 | |
| KR101485764B1 (ko) | 오픈 api를 사용한 도메인 네임 관리 서비스 제공방법 | |
| WO2022067509A1 (zh) | 设备升级控制方法、装置、计算机设备及存储介质 | |
| CN111314477A (zh) | P2p通信方法、系统、家庭网关、电子设备和存储介质 | |
| CN113612735B (zh) | 安全存储系统 | |
| US10182119B2 (en) | System and methods for facilitating communication among a subset of connections that connect to a web application |
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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |