[0048] 正如背景技术中提及的,如何基于JXTA网络实现网络中智能设备之间的共享认证方式和全双工通道连接,是普遍关注的问题。
[0049] 因此,本发明提供一种共享认证方法,该共享认证方法应用于JXTA网络中,JXTA网络包括若干个智能设备,第一智能设备根据第二智能设备的第一注册请求生成第一授权码,第二智能设备发送包含第一授权码的第一请求连接至第一智能设备,第一智能设备生成并发送第一Token(令牌)信息至该第二智能设备,第二智能设备发送包含第一Token信息的第二连接请求至第一智能设备,请求连接并建立全双工通道;第二智能设备向第三智能设备发送第二连接请求,第三智能设备发送第二注册请求至第一智能设备,第一智能设备验证第三智能设备,并向第二智能设备返回包含第三智能设备的第二Token信息,第二智能设备生成并发送包含第二Token信息第三连接请求至第三智能设备,与第三智能设备建立全双工通道,从而实现了网络中各智能设备通过全双工通道进行传输信息,以及实现网络中各智能设备共享认证的方式。
[0050] 以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
[0051] 本发明的实施例是基于JXTA网络的通信方法。JXTA网络由三个不同的层次组成,第一层为核心层,包含了被服务使用的核心功能;第二层是服务层,提供了对JXTA协议的访问服务;最后应用层使用这些服务来获取JXTA网络。核心层包含了JXTA的核心概念,例如对等节点、对等组、公告、管道、端点和安全。服务层包含查询、发现、中转。应用层包括资源共享、即时通信、协同工作等典型应用。服务层是为了方便上层引用而开放的已有策略,例如查询、发现、中转等,提供这些服务可以减轻上层应用的开发负担,但是不是每种服务都必须要的,不同的应用可以选择自己需要的服务,也可以完全自己重新开发服务。
[0052] 图1为本发明一个实施例的一种共享认证方法的流程图。如图1所示,该共享认证方法应用于JXTA网络中,JXTA网络包括若干个智能设备,该方法包括
[0053] S1,第一智能设备建立服务通道,并监听具有相同管道通告的第二智能设备的第一注册请求,第一注册请求包含第二智能设备的注册信息;
[0054] S2,第一智能设备根据该注册信息生成并存储第一授权码,并发送第一授权码信息至第二智能设备;
[0055] S3,第二智能设备再次向第一智能设备发送包含第一授权码的第一连接请求,第一智能设备根据第一授权码生成并存储第一Token信息,并返回第一Token信息至该第二智能设备,第二智能设备根据第一Token信息生成第二连接请求,向第一智能设备请求连接并建立全双工通道。
[0056] 优选地,于步骤S1前还包括:
[0057] 启动JXTA网络后,第一智能设备搜索并获取该JXTA网络中的智能设备节点列表;
[0058] 发送管道通告至该JXTA网络中的各智能设备。
[0059] 在JXTA网络中,管道机制是JXTA中对等体之间主要的通信机制。JXTA管道服务提供了创建和访问管道的机制,管道为两个对等体提供简单、非直连的异步通信通道。一个对等体要想接受其它对等体传来的消息,就必须先建立一个输入管道,然后构造一个和该管道相连的输出管道及其通告,最后将通告发布。其它对等体搜索到该通告后建立输出管道,该输出管道就能将消息发送到对应的输入管道,实现对等体间的通信。
[0060] 在步骤S1的实施方式中,在启动JXTA网络后,第一智能设备搜索并获取该JXTA网络中的智能设备节点列表,初始化JXTA网络中各智能设备节点中的JXTA模块应用程序,该JXTA模块包括Jar包、XML文件等。然后第一智能设备创建一个服务管道广告,并将该广告进行发布,以供网络中与之通信的智能设备发现,然后根据这个服务管道广告创建一个输入管道,第一智能设备建立完成服务通道。同时,第一智能设备在该服务通道监听网络中的其它智能设备接入该第一智能设备的连接事件。第二智能设备获取第一智能设备的服务管道广告,并根据它创建一个输出管道用以发送数据,第二智能设备建立完成服务通道。第二智能设备通过该服务通道发送第一注册请求至该第一智能设备,同时第一智能设备监听到该第一注册请求,该第一注册请求包含第二智能设备的注册信息。
[0061] 在步骤S2的实施方式中,第一智能设备接收到第二智能设备的第一注册请求,该第一注册请求包含第二智能设备的注册信息,验证第二智能设备的合法性,验证通过后,根据注册信息生成并存储该第二智能设备对应的第一授权码信息,该第一授权码信息包括该第二智能设备对应的标识信息、密钥信息以及注册信息,然后将第一授权码信息发送至第二智能设备。
[0062] 在步骤S3的具体实施过程中,第二智能设备再次向第一智能设备发送第一连接请求,该第一连接请求包含第二智能设备对应的第一授权码信息。第一智能设备根据第一授权码信息验证第二智能设备的有效性。第一智能设备验证通过后,然后根据第一授权码信息并通过JWT(JSON Web Token)授权机制生成并存储第二智能设备对应的第一Token信息,并将该第一Token信息返回至第二智能设备。第二智能设备接收第一Token信息后,即拥有了主智能设备的访问权。第二智能设备根据第一Token信息生成第二连接请求,向第一智能设备请求连接并建立全双工通道。因此,第一智能设备和第二智能设备之间建立全双工通道。
[0063] 图2为本发明又一实施例的一种共享认证方法的流程图。如图2所示,该方法还包括:
[0064] S1,第一智能设备建立服务通道,并监听具有相同管道通告的第二智能设备的第一注册请求,第一注册请求包含第二智能设备的注册信息;
[0065] S2,第一智能设备根据该注册信息生成并存储第一授权码,并发送第一授权码信息至第二智能设备;
[0066] S3,第二智能设备再次向第一智能设备发送包含第一授权码的第一连接请求,第一智能设备根据第一授权码生成并存储第一Token信息,并返回第一Token信息至该第二智能设备,第二智能设备根据第一Token信息生成第二连接请求,向第一智能设备请求连接并建立全双工通道。
[0067] S4,第二智能设备向第三智能设备发送第二连接请求,其中,第三智能设备已注册到JXTA网络,并具有管道通告;
[0068] S5,第三智能设备接收第二连接请求,发送第二注册请求至第一智能设备,第二连接请求包含第一Token信息和第三设备自身注册信息;
[0069] S6,第一智能设备验证第三智能设备,并向第二智能设备返回包含第三智能设备的第二Token信息;
[0070] S7,第二智能设备根据第二Token信息,生成并发送第三连接请求至第三智能设备,与第三智能设备建立全双工通道。
[0071] 在步骤S1的实施方式中,在启动JXTA网络后,第一智能设备搜索并获取该JXTA网络中的智能设备节点列表,初始化JXTA网络中各智能设备节点中的JXTA模块应用程序。然后第一智能设备创建一个服务管道广告,并将该广告进行发布,以供网络中与之通信的智能设备发现,然后根据这个服务管道广告创建一个输入管道,第一智能设备建立完成服务通道。同时,第一智能设备在该服务通道监听网络中的其它智能设备接入该第一智能设备的连接事件。第二智能设备获取第一智能设备的服务管道广告,并根据它创建一个输出管道用以发送数据,第二智能设备建立完成服务通道。第二智能设备通过该服务通道发送第一注册请求至该第一智能设备,同时第一智能设备监听到该第一注册请求,该第一注册请求包含第二智能设备的注册信息。
[0072] 在步骤S2的实施方式中,第一智能设备接收到第二智能设备的第一注册请求,该第一注册请求包含第二智能设备的注册信息,验证第二智能设备的合法性,验证通过后,根据注册信息生成并存储该第二智能设备对应的第一授权码信息,该第一授权码信息包括该第二智能设备对应的标识信息、密钥信息以及注册信息,然后将第一授权码信息发送至第二智能设备。
[0073] 在步骤S3的具体实施过程中,第二智能设备再次向第一智能设备发送第一连接请求,该第一连接请求包含第二智能设备对应的第一授权码信息。第一智能设备根据第一授权码信息验证第二智能设备的有效性。第一智能设备验证通过后,然后根据第一授权码信息并通过JWT(JSON Web Token)授权机制生成并存储第二智能设备对应的第一Token信息,并将该第一Token信息返回至第二智能设备。第二智能设备接收第一Token信息后,即拥有了主智能设备的访问权。第二智能设备根据第一Token信息生成第二连接请求,向第一智能设备请求连接并建立全双工通道。
[0074] 在步骤S4和S5的具体实施过程中,第二智能设备向JXTA网络中的第三智能设备发送第二连接请求,其中,第三智能设备已经注册到JXTA网路,并且具有管道通告,建立与第一智能设备的管道通道。第三智能设备接收到第二连接请求,通过与第一智能设备的管道通道发送第二注册请求至第一智能设备,第二连接请求包含第一Token信息和第三设备自身注册信息。
[0075] 在步骤S6中,第一智能设备接收到第三智能设备的第二注册请求后,根据第二注册请求包含的第一Token信息和第三设备自身注册信息,验证第二智能设备和第三智能设备的有效性,验证通过后,然后根据第三设备自身注册信息并通过JWT(JSON Web Token)授权机制生成并存储第三智能设备对应的第二Token信息,并将第二Token信息返回至第二智能设备。
[0076] 在步骤S7的具体实施过程中,第二智能设备接收到第一智能设备发送的第二Token信息,然后根据第二Token信息生成并发送第三连接请求至第三智能设备,第二智能与第三智能设备之间建立全双工通道。因此,JXTA网络中各个智能设备共享认证方式,并且通过认证之后可以直接互相通信。例如,在一JXTA网络中包含有一路由器、智能手机和智能电视,智能手机获取路由器发送的对应的Token信息。当智能手机申请智能电视的操作权时,不需要重新输入用户名和密码加以验证,只需要发送智能手机对应的Token信息至智能电视申请连接,路由器验证该Token信息和智能电视的注册信息,验证通过后,智能手机获得智能电视对应的Token信息,从而可以获得智能电视的操作权,并且智能手机和智能电视之间建立全双工通道连接。
[0077] 综上所述,JXTA网络中的智能设备建立全双工通道连接,进行双向传输信息,提高了传输控制效率;同时使用Token信息机制来进行通信传输,在保证网络安全性的情况下,可以获取网络中设备节点的使用权限,不需要一对一的重复验证就可以实现自动登录,实现了网络中各个设备节点的共享认证方式。
[0078] 为实现本发明的发明目的,本发明实施例提供了一种智能设备控制方法。图3是本发明实施例的一种智能设备控制方法流程图。如图3所示,该方法包括:
[0079] S301,第一智能设备发送第一控制信息至第二智能设备;
[0080] S302,第二智能设备监听第一控制信息;
[0081] S303,当收到第一控制信息时,根据第一控制信息控制运行自身的应用程序。
[0082] 优选地,该方法还包括:
[0083] 第二智能设备发送第二控制信息至第一智能设备;
[0084] 第一智能设备监听第二控制信息;
[0085] 当收到第二控制信息时,根据第二控制信息控制运行自身的应用程序。
[0086] 在具体实施过程中,JXTA网络中的第一智能设备和第二智能设备间建立管道通道连接。第一智能设备通过管道通道发送第一控制信息至第二智能设备,第二智能设备通过管道通道监听第一控制信息,当收到第一控制信息时,根据第一控制信息控制运行自身的应用程序。例如,JXTA网络中的智能手表和智能电视建立管道通道连接,智能手表发送一包含重力感应信息的控制信息至智能电视,智能电视通过管道通道监听包含该重力感应信息的控制信息,当智能电视接收该控制信息是时,根据该控制信息运行重力感应的应用程序,因此智能手表控制智能电视上正在运行的赛车游戏中塞车的移动。智能设备控制方法还包括,第二智能设备发送第二控制信息至第一智能设备;第一智能设备监听第二控制信息,当收到第二控制信息时,根据第二控制信息控制运行自身的应用程序。
[0087] 为实现本发明的发明目的,本发明实施例提供了一种智能设备。图4为本发明实施例的一种智能设备的结构图,如图4所示,该智能设备位于包含若干个智能设备的JXTA网络中,包括:
[0088] 验证模块40,用于监听具有相同管道通告的第二智能设备的第一注册请求,第一注册请求包含第二智能设备的注册信息,并根据注册信息验证第二智能设备并生成存储第一授权码;
[0089] 认证模块41,用于验证第二智能设备后发送第一授权码至第二智能设备,当第二智能设备再次发送包含第一授权码的第一连接请求时,根据第一授权码生成并存储第一Token信息,并返回第一Token信息至该第二智能设备,第二智能设备根据第一token信息生成第二连接请求,向第一智能设备请求连接并建立全双工通道;
[0090] 验证模块40还用于当第二智能设备向第三智能设备发送第二连接请求时,验证来自于第三智能设备的第二注册请求;
[0091] 认证模块41还用于向第二智能设备返回包含第三智能设备的第二token信息,第二智能设备根据第二token信息,生成并发送第三连接请求至第三智能设备,与第三智能设备建立全双工通道。
[0092] 优选地,智能设备还包括:
[0093] 第一控制模块42,用于监听其他智能设备的控制信息,并当收到控制信息,控制自身应用程序的运行。
[0094] 本发明还提供了一种与上述智能设备进行全双工连接的智能设备。图5为本发明另一实施例的一种智能设备的结构图。如图5所示,所述智能设备位于包含若干个智能设备的JXTA网络中,包括:
[0095] 注册请求模块50,用于生成向第一智能设备请求验证的第一注册请求;
[0096] 连接请求模块51,用于向第一智能设备发送包含第一授权码的第一连接请求,并根据第一Token信息生成并发送第二连接请求至第一智能设备和第三智能设备,第三智能设备接收第二连接请求,发送第二注册请求至第一智能设备,所述第二注册请求包含所述第一Token信息和第三设备自身注册信息,所述第一智能设备验证第三智能设备,并向第二智能设备返回包含第三智能设备的第二Token信息;
[0097] 连接请求模块51还用于根据第二Token信息,生成并发送第三连接请求至第三智能设备,与第三智能设备建立全双工通道。
[0098] 优选地,智能设备还包括:
[0099] 第二控制模块52,用于监听其它智能设备的控制信息,并当收到控制信息,控制自身应用程序的运行。
[0100] 在具体实施过程中,JXTA网路中的第二智能设备在注册请求模块50中生成向第一智能设备请求验证的第一注册请求。JXTA网路中的第一智能设备通过验证模块40中监听具有相同管道通告的第二智能设备的第一注册请求,该第一注册请求包含第二智能设备的注册信息,第二智能设备接收到该第一注册请求后,并根据注册信息验证第二智能设备,生成并存储第一授权码,然后第一智能设备通过认证模块41发送第一授权码至第二智能设备。第二智能设备接收到第一授权码后,在连接请求模块51中向第一智能设备再次发送包含第一授权码的第一连接请求。第一智能设备在认证模块41中接收来自第二智能设备的第一连接请求,根据第一连接请求包含的第一授权码生成并存储第一Token信息,并返回第一Token信息至该第二智能设备。第二智能设备在连接请求模块51中根据第一token信息生成第二连接请求,向第一智能设备请求建立全双工通道。第一智能设备在认证模块31中接收第二连接请求,并与第二智能设备建立全双工通道。
[0101] 本发明的另一具体实施方式,第二智能设备在连接请求模块51中,发送第二连接请求至第三智能设备,第三智能设备接收第二连接请求,发送第二注册请求至第一智能设备,第二注册请求包含第一Token信息和第三设备自身注册信息。第一智能设备在验证模块40中接收来自于第三智能设备的第二注册请求,并验证第三智能设备的有效性。第一智能设备通过认证模块41向第二智能设备返回包含第三智能设备的第二token信息。第二智能设备在连接请求模块51中根据第二token信息,生成并发送第三连接请求至第三智能设备,与第三智能设备建立全双工通道。
[0102] 根据上述发明目的,本发明还提供了一种共享认证系统,该系统包括如上任一所述的若干智能设备。
[0103] 综上所述,本发明一种共享认证方法及系统、智能设备及控制方法,提高了网络中智能设备之间的传输速率;使用Token机制保证网络的安全性同时,可以获取网络中设备节点的使用权限,不需要一对一的重复验证就可以实现自动登录,提供了网络中各个设备共享认证的方式,。
[0104] 任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。