本发明涉及通信领域,特别是涉及一种实现远程访问的方法、AllJoyn网关代理、云服务器及移动设备。
背景技术:
AllJoyn是一个合作的开源软件框架,程序员可以很方便的编写出搜索附近设备的应用应用程序,并且无论对方的品牌、类别、系统都可以在不需要云环境的情况下连接。AllJoyn框架是非常灵活,能使物联网实现愿景。在AllJoyn系统中,用户能在近端网络(如家庭网络)中使用其AllJoyn设备享受AllJoyn服务。而AllJoyn网关代理(Gateway Agent,简称GA)使用户能在离开近端网络时无缝体验AllJoyn服务。为此,用户在近端网络中设置可远程访问的服务列表,包括设备、应用(Application,简称App)、接口,之后,用户通过云服务器(Cloud Service,简称CS)远程访问AllJoyn服务。
移动设备(Mobile Device,简称MD)上的控制App使用户能够在近端网络之中设置远程配置文件,并且在离开近端网络后同样能够控制设备、接收通知,如同在近端网络之中。
GA与其CS连接的第三方协议由服务供应商指定,而GA中实现远程访问的组件包括:
网关管理App,实现控制App管理远程配置文件并曝露远程配置文件给连接器App;
连接器App,提供AllJoyn设备与CS的连接,同时提供AllJoyn和第三方协议间的协议转换。
控制App以基于通告的方式发现网关管理App,而网关管理App和连接 器App经GA上预设的同一AllJoyn路由器进行相互通信。
然而,用户如何使用未在近端网络中设定为可远程访问的设备或应用来远程访问AllJoyn服务,在现有技术中还没有实现所述远程访问的机制。
技术实现要素:
本发明要解决的技术问题是提供一种实现远程访问的方法、AllJoyn网关代理、云服务器及移动设备,以实现远程访问AllJoyn服务。
为了解决上述技术问题,本发明提供了一种实现远程访问的方法,包括:
移动设备向指定云服务器发送更新资源请求消息;
接收到所述指定云服务器的更新资源响应消息后,向AllJoyn网关代理发送远程访问请求消息。
进一步地,上述方法还具有下面特点:所述向AllJoyn网关代理发送远程访问请求消息之后,还包括:
接收所述AllJoyn网关代理返回的远程访问响应消息,所述远程访问响应消息包括远程访问执行结果的指示信息。
进一步地,上述方法还具有下面特点:
所述更新资源请求消息包括待更新的资源的属性、所述AllJoyn网关代理的连接器应用的标识和所述移动设备的控制应用的标识。
为了解决上述问题,本发明还提供了一种移动设备,其中,包括:
发送模块,用于向指定云服务器发送更新资源请求消息;在接收模块接收到所述指定云服务器的更新资源响应消息后,向AllJoyn网关代理发送远程访问请求消息;所述更新资源请求消息包括待更新的资源的属性、所述AllJoyn网关代理的连接器应用的标识和所述移动设备的控制应用的标识;
接收模块,用于接收所述指定云服务器的更新资源响应消息。
进一步地,上述移动设备还具有下面特点:
所述接收模块,还用于接收所述AllJoyn网关代理返回的远程访问响应消息,所述远程访问响应消息包括远程访问执行结果的指示信息。
为了解决上述问题,本发明还提供了一种实现远程访问的方法,包括:
AllJoyn网关代理接收移动设备的远程访问请求消息;
确定所述移动设备的控制应用被设置在所述远程配置文件中时,执行所述移动设备的远程访问请求;
确定所述移动设备的控制应用未被设置在所述远程配置文件中时,向所述远程配置文件指定的云服务器获取远程配置文件,并更新本地的远程配置文件,然后确定所述移动设备的控制应用被设置在本地的远程配置文件中时,执行所述移动设备的远程访问请求。
进一步地,上述方法还具有下面特点:所述AllJoyn网关代理执行所述移动设备的远程访问请求后,包括:
所述AllJoyn网关代理向所述移动设备发送远程访问响应消息,携带远程访问执行结果的指示信息。
进一步地,上述方法还具有下面特点:所述AllJoyn网关代理接收移动设备的远程访问请求消息前,包括:
所述AllJoyn网关代理向所述远程配置文件中指定的云服务器发送创建资源请求消息,所述创建资源请求消息包括待创建的资源的属性和AllJoyn网关代理的连接器应用的标识,所述待创建的资源的属性包括远程配置文件。
进一步地,上述方法还具有下面特点:还包括:
所述AllJoyn网关代理确定本地的远程配置文件被更新时,向所述远程配置文件中指定的云服务器发送更新资源请求消息,所述更新资源请求消息包括待更新的资源的属性,所述待更新的资源的属性包括远程配置文件。
为了解决上述问题,本发明还提供了一种AllJoyn网关代理,其中,包括:
接收模块,用于接收移动设备的远程访问请求消息;
远程处理模块,用于确定所述移动设备的控制应用被设置在所述远程配置文件中时,执行所述移动设备的远程访问请求;确定所述移动设备的控制应用未被设置在所述远程配置文件中时,向所述远程配置文件指定的云服务器获取远程配置文件,并更新本地的远程配置文件,然后确定所述移动设备的控制应用被设置在本地的远程配置文件中时,执行所述移动设备的远程访问请求。
进一步地,上述AllJoyn网关代理还具有下面特点:
所述远程处理模块,执行所述移动设备的远程访问请求后包括:向所述移动设备发送远程访问响应消息,携带远程访问执行结果的指示信息。
进一步地,上述AllJoyn网关代理还具有下面特点:还包括:
发送模块,用于向所述远程配置文件中指定的云服务器发送创建资源请求消息,所述创建资源请求消息包括待创建的资源的属性和AllJoyn网关代理的连接器应用的标识,所述待创建的资源的属性包括远程配置文件。
进一步地,上述AllJoyn网关代理还具有下面特点:还包括:
更新模块,用于确定本地的远程配置文件被更新时,向所述远程配置文件中指定的云服务器发送更新资源请求消息,所述更新资源请求消息包括待更新的资源的属性,所述待更新的资源的属性包括远程配置文件。
为了解决上述问题,本发明还提供了一种实现远程访问的方法,包括:
云服务器接收AllJoyn网关代理的创建资源请求消息;
根据所述创建资源请求消息创建资源的属性远程配置文件。
进一步地,上述方法还具有下面特点:所述云服务器接收AllJoyn网关代理的创建资源请求消息后,还包括:
所述云服务器对所述AllJoyn网关代理进行鉴权,鉴权通过后才根据所述创建资源请求消息创建包含属性远程配置文件的资源。
进一步地,上述方法还具有下面特点:所述云服务器根据所述创建资源请求消息创建包含属性远程配置文件的资源后,还包括:
所述云服务器接收所述AllJoyn网关代理或移动设备的更新资源请求消息,
对所述AllJoyn网关代理或所述移动设备进行鉴权后,更新所述属性远程配置文件;
向所述AllJoyn网关代理或所述移动设备返回更新资源响应消息。
进一步地,上述方法还具有下面特点:还包括:
所述云服务器接收所述AllJoyn网关代理的获取资源请求消息;
向所述AllJoyn网关代理发送获取资源响应消息,所述获取资源响应消息包括请求获取的属性远程配置文件。
为了解决上述问题,本发明还提供了一种云服务器,其中,包括:
接收模块,接收AllJoyn网关代理的创建资源请求消息;
创建模块,用于根据所述创建资源请求消息创建包含属性远程配置文件的资源。
进一步地,上述云服务器还具有下面特点:还包括更新模块,
所述接收模块,还用于接收所述AllJoyn网关代理或移动设备的更新资源请求消息,
所述鉴权模块,对所述AllJoyn网关代理或所述移动设备进行鉴权后,通知所述更新模块;
所述更新模块,接收到通知后更新所述属性远程配置文件,然后向所述AllJoyn网关代理或所述移动设备返回更新资源响应消息。
进一步地,上述云服务器还具有下面特点:还包括发送模块,其中,
所述接收模块,还用于接收所述AllJoyn网关代理的获取资源请求消息;
所述发送模块,用于向所述AllJoyn网关代理发送获取资源响应消息,所述获取资源响应消息包括请求获取的属性远程配置文件。
本发明提供一种实现远程访问的方法、AllJoyn网关代理、云服务器及移 动设备,可以实现远程访问AllJoyn服务。
附图说明
图1为现有技术的AllJoyn服务的远程访问示意图;
图2为本发明实施例的AllJoyn网关代理侧实现远程访问的方法的流程图;
图3为本发明实施例的云服务器侧实现远程访问的方法的流程图;
图4为本发明实施例的移动设备侧实现远程访问的方法的流程图;
图5为本发明应用示例的实现远程访问的方法的流程图;
图6为本发明实施例的AllJoyn网关代理的示意图;
图7为本发明实施例的云服务器的示意图;
图8为本发明实施例的移动设备的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图2为本发明实施例的AllJoyn网关代理侧实现远程访问的方法的流程图,如图2所示,本实施例的方法包括:
S11、AllJoyn网关代理接收移动设备的远程访问请求消息;
S12、AllJoyn网关代理确定所述移动设备的控制应用是否被设置在本地的远程配置文件中,根据确定结果进行远程访问处理。
步骤S12中,所述AllJoyn网关代理根据确定结果进行远程访问处理,可以包括:
所述AllJoyn网关代理确定所述移动设备的控制应用被设置在所述远程 配置文件中时,执行所述移动设备的远程访问请求;确定所述移动设备的控制应用未被设置在所述远程配置文件中时,向所述远程配置文件指定的云服务器获取远程配置文件,并更新本地的远程配置文件,然后确定所述移动设备的控制应用被设置在本地的远程配置文件中时,执行所述移动设备的远程访问请求。
AllJoyn网关代理执行所述移动设备的远程访问请求后,向所述移动设备发送远程访问响应消息,携带远程访问执行结果的指示信息。
在一优选实施例中,所述AllJoyn网关代理接收移动设备的远程访问请求消息前,可以包括:
所述AllJoyn网关代理向所述远程配置文件中指定的云服务器发送创建资源请求消息,所述创建资源请求消息包括待创建的资源的属性和本AllJoyn网关代理的连接器应用的标识,所述待创建的资源的属性包括远程配置文件。
在一优选实施例中,所述AllJoyn网关代理确定本地的远程配置文件被更新时,向所述远程配置文件中指定的云服务器发送更新资源请求消息,所述更新资源请求消息包括待更新的资源的属性,所述待更新的资源的属性包括远程配置文件。
图3为本发明实施例的云服务器侧实现远程访问的方法的流程图,如图3所示,本实施例的方法包括:
S21、云服务器接收AllJoyn网关代理的创建资源请求消息;
S22、根据所述创建资源请求消息创建远程配置文件的资源属性。
所述云服务器存储所述远程配置文件的资源属性与所述AllJoyn网关代理的连接器应用标识的对应关系信息。
在一优选实施例中,所述云服务器接收AllJoyn网关代理的创建资源请求消息后,还可以包括:
所述云服务器对所述AllJoyn网关代理进行鉴权,鉴权通过后才根据所述创建资源请求消息创建远程配置文件的资源属性。
在一优选实施例中,所述云服务器根据所述创建资源请求消息创建远程 配置文件的资源属性后,还包括:
所述云服务器接收所述AllJoyn网关代理或移动设备的更新资源请求消息,对所述AllJoyn网关代理或所述移动设备进行鉴权后,更新指定的远程配置文件;然后向所述AllJoyn网关代理或所述移动设备返回更新资源响应消息。
在一优选实施例中,所述云服务器还可以接收所述AllJoyn网关代理的获取资源请求消息;然后向所述AllJoyn网关代理发送获取资源响应消息,所述获取资源响应消息包括请求获取的远程配置文件。
图4为本发明实施例的移动设备侧实现远程访问的方法的流程图,如图4所示,本实施例的方法包括:
S31、移动设备向指定云服务器发送更新资源请求消息;
S32、接收到所述指定云服务器的更新资源响应消息后,向AllJoyn网关代理发送远程访问请求消息。
S33、接收所述AllJoyn网关代理返回的远程访问响应消息,所述远程访问响应消息包括远程访问执行结果的指示信息。
所述更新资源请求消息包括待更新的资源的属性、所述AllJoyn网关代理的连接器应用标识和所述移动设备的控制应用标识。
以下通过具体实施方式对本发明的实现远程访问的方法进行详细的说明。
本实施例一,请参考图1和图5,图5为本发明应用示例提供的方法的流程图,包括:
步骤S101:当网关代理中的远程配置文件被激活时,连接器应用发送创建资源请求到远程配置文件中设定的CS,请求消息中包含:
1)类型:“应用实体(Application Entity,简称AE)”资源;
2)标识:连接器应用的标识;
3)内容(包含需要创建的资源的属性):
“远程配置文件”,及其取值与用户通过移动设备MD1中的控制应用在近端网络中设置的远程配置文件相同。
步骤S102:CS通过对连接器应用的鉴权后,创建类型为“AE”的资源“Resource-AJ1”,为资源“Resource-AJ1”创建“远程配置文件”属性,并设置属性值与请求消息中的参数“远程配置文件”相同。
同时,CS发送创建资源响应给连接器应用,响应消息中包含资源“Resource-AJ1”的统一资源标识(Uniform Resource Identifier,简称URI)。
步骤S103:当用户需要通过未设置在网关代理本地的远程配置文件中的移动设备MD2远程访问网关代理时,MD2中的控制应用发送更新资源请求到CS,请求消息中包含:
1)标识:连接器应用的标识;
2)内容(包含需要更新的资源的属性):
“远程配置文件”,及其取值包括控制应用的标识。
步骤S104:CS通过对控制应用的鉴权后,根据请求消息中的连接器应用的标识查找资源“Resource-AJ1”,并更新资源“Resource-AJ1”的属性“远程配置文件”,更新的属性值包括控制应用的标识。
同时,CS发送更新资源响应给控制应用,响应消息中包含指示更新成功的响应码。
步骤S105:控制应用接收到CS的响应消息后,发送远程访问请求到连接器应用,例如,请求远程控制AJ设备1。
步骤S106:连接器应用接收到控制应用的请求消息后,网关代理进行对控制应用的鉴权,包括确定控制应用是否被设置在网关代理本地的远程配置文件中,结果为否,则连接器应用发送获取资源请求到CS,请求消息中包含:
1)地址:资源“Resource-AJ1”的URI;
2)内容(包含需要获取的资源的属性):“远程配置文件”。
步骤S107:CS接收到连接器的请求消息后,根据请求消息中的资源 “Resource-AJ1”的URI查找资源“Resource-AJ”的属性“远程配置文件”,并通过获取资源响应消息反馈给连接器应用。
步骤S108:连接器应用接收到CS的响应消息后,网关代理根据响应消息中的属性“远程配置文件”的值更新本地的远程配置文件,并确定控制应用是否被设置在更新后本地的远程配置文件中,结果为是,则网关代理执行MD2的远程访问请求。
步骤S109:网关代理执行MD2的远程访问请求后,连接器应用发送远程访问响应给控制应用,响应消息中包含执行结果的指示。
实施例二
本实施例为资源更新流程,包括以下步骤:
步骤S201:当网关代理中的远程配置文件被更新时,连接器应用发送更新资源请求到远程配置文件中设定的云服务器CS,请求消息中包含:
1)地址:资源“Resource-AJ2”的URI;
2)内容(包含需要更新的资源的属性):
“远程配置文件”及其取值与用户通过移动设备MD3中的控制应用在近端网络中更新的远程配置文件相同。
步骤S202:CS通过对连接器应用的鉴权后,根据请求消息中的属性“远程配置文件”的值更新资源“Resource-AJ2”的属性“远程配置文件”。
同时,CS发送更新资源响应给连接器应用,响应消息中包含指示更新成功的响应码。
图6为本发明实施例的AllJoyn网关代理的示意图,如图6所示,本实施例的AllJoyn网关代理包括:
接收模块,用于接收移动设备的远程访问请求消息;
远程处理模块,用于确定所述移动设备的控制应用是否被设置在本地的远程配置文件中,根据确定结果进行远程访问处理。
在一优选实施例中,所述远程处理模块,根据确定结果进行远程访问处 理可以包括:所述AllJoyn网关代理确定所述移动设备的控制应用被设置在所述远程配置文件中时,执行所述移动设备的远程访问请求;确定所述移动设备的控制应用未被设置在所述远程配置文件中时,向所述远程配置文件指定的云服务器获取远程配置文件,并更新本地的远程配置文件,然后确定所述移动设备的控制应用被设置在本地的远程配置文件中时,执行所述移动设备的远程访问请求。
在一优选实施例中,所述远程处理模块,执行所述移动设备的远程访问请求后可以包括:向所述移动设备发送远程访问响应消息,携带远程访问执行结果的指示信息。
在一优选实施例中,所述AllJoyn网关代理还可以包括:
发送模块,用于向所述远程配置文件中指定的云服务器发送创建资源请求消息,所述创建资源请求消息包括待创建的资源的属性和本AllJoyn网关代理的连接器应用标识,所述待创建的资源的属性包括远程配置文件。
在一优选实施例中,所述AllJoyn网关代理还可以包括:
更新模块,用于确定本地的远程配置文件被更新时,向所述远程配置文件中指定的云服务器发送更新资源请求消息,所述更新资源请求消息包括待更新的资源的属性,所述待更新的资源的属性包括远程配置文件。
图7为本发明实施例的云服务器的示意图,如图7所示,本实施例的云服务器包括:
接收模块,接收AllJoyn网关代理的创建资源请求消息;
创建模块,用于根据所述创建资源请求消息创建包括属性远程配置文件。
在一优选实施例中,所述云服务器还可以包括:
鉴权模块,对所述AllJoyn网关代理进行鉴权,鉴权通过后通知所述创建模块创建包含属性远程配置文件的资源。
在一优选实施例中,所述云服务器还可以包括更新模块,
所述接收模块,还用于接收所述AllJoyn网关代理或移动设备的更新资 源请求消息,
所述鉴权模块,对所述AllJoyn网关代理或所述移动设备进行鉴权后,通知所述更新模块;
所述更新模块,接收到通知后更新所述属性远程配置文件,然后向所述AllJoyn网关代理或所述移动设备返回更新资源响应消息。
在一优选实施例中,所述云服务器还可以包括发送模块,其中,
所述接收模块,还用于接收所述AllJoyn网关代理的获取资源请求消息;
所述发送模块,用于向所述AllJoyn网关代理发送获取资源响应消息,所述获取资源响应消息包括请求获取的属性远程配置文件。
图8为本发明实施例的移动设备的示意图,如图8所述,本实施例的移动设备包括:
发送模块,用于向指定云服务器发送更新资源请求消息;在接收模块接收到所述指定云服务器的更新资源响应消息后,向AllJoyn网关代理发送远程访问请求消息;;
接收模块,用于接收所述指定云服务器的更新资源响应消息。
所述接收模块,还用于接收所述AllJoyn网关代理返回的远程访问响应消息,所述远程访问响应消息包括远程访问执行结果的指示信息。
通过本发明实施例的实现远程访问的方法可以在近端网络中设定可远程访问的设备或应用来远程访问AllJoyn服务,可以实现远程访问AllJoyn服务。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。