1.一种基于可扩展消息及出席协议的访问控制方法,应用于第一电子设备中,所述方法包括:
获取用于访问第二电子设备上的资源的统一资源标识符;以及
通过所述统一资源标识符访问所述第二电子设备上的资源,
其中,所述统一资源标识符从通过资源地址服务器获取的所述第二电子设备的设备标识符映射得到。
2.如权利要求1所述的方法,其中获取所述统一资源标识符包括:
从资源地址服务器接收所述统一资源标识符;和/或
从所述第一电子设备中获取之前已存储的所述统一资源标识符;和/或根据从其它电子设备接收的信息获取所述统一资源标识符;和/或
根据用户手动输入操作获取所述统一资源标识符。
3.如权利要求2所述的方法,其中从所述第一电子设备中获取之前已存储的所述统一资源标识符包括:
通过所述第一电子设备中的浏览器书签或者浏览历史记录获取所述统一资源标识符;
和/或
通过所述第一电子设备中的快捷方式获取所述统一资源标识符。
4.如权利要求2所述的方法,其中根据从其它电子设备接收的信息获取所述统一资源标识符包括:
从由其它电子设备接收的邮件中获取所述统一资源标识符;和/或
从由其它电子设备接收的短消息中获取所述统一资源标识符;和/或
从由其它电子设备接收的即时消息中获取所述统一资源标识符。
5.如权利要求1所述的方法,其中通过所述统一资源标识符访问所述第二电子设备上的资源包括:
通过所述统一资源标识符查询本地的映射地址数据库;
利用映射地址数据库将所述统一资源标识符翻译为实际资源地址,所述实际资源地址包括对应的第二电子设备的网络地址、所述第二电子设备上的资源的访问路径名和资源的访问标识;
根据获取的实际资源地址,访问所述第二电子设备上的资源。
6.如权利要求5所述的方法,还包括:
如果所述第二电子设备的网络地址为独立的因特网协议地址并且该因特网协议地址可直接访问或者两个设备处于相同的局域网内,则根据从映射地址数据库获取的实际资源地址,直接访问所述第二电子设备上的资源。
7.如权利要求5所述的方法,还包括:
如果获取的所述第二电子设备的网络地址不可直接访问,则检测第二电子设备的网络类型;
根据检测的第二电子设备的网络类型,确定第二电子设备的访问方式;
使用确定的访问方式访问所述第二电子设备上的资源。
8.如权利要求1所述的方法,还包括:
接收从资源地址服务器发送的推送信息,所述推送信息包括最新的所述第二电子设备的网络地址,并且响应于所述第二电子设备在资源地址服务器中的状态改变而发送,状态改变包括登录、重新登录、注销、连接超时。
9.如权利要求8所述的方法,还包括:
使用推送信息中的可直接访问的所述第二电子设备的网络地址更新本地的映射地址数据库。
10.如权利要求1所述的方法,其中所述资源地址服务器使用可扩展消息及出席协议进行流转。
11.一种基于可扩展消息及出席协议的访问控制方法,应用于服务器中,所述方法包括:
接收从第一电子设备发送的获取第二电子设备的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址;
响应于所述请求,根据所述第二电子设备的设备标识确定可访问的所述第二电子设备的网络地址;
将所述更新信息发送给第一电子设备。
12.如权利要求11所述的方法,还包括:
每次在所述第二电子设备登录之后,确定最新的所述第二电子设备的网络地址;以及发送推送信息给所述第一电子设备,所述推送信息包括所述最新的所述第二电子设备的网络地址。
13.如权利要求12所述的方法,还包括:
备份第一电子设备和第二电子设备的映射地址数据库,利用最新的所述第二电子设备的网络地址更新映射地址数据库。
14.一种电子设备,包括:
获取模块,用于获取用于访问第二电子设备上的资源的统一资源标识符;以及数据访问模块,用于通过所述统一资源标识符访问所述第二电子设备上的资源,其中,所述统一资源标识符从通过资源地址服务器获取的所述第二电子设备的设备标识符映射得到。
15.如权利要求14所述的电子设备,还包括:
查询模块,用于通过所述统一资源标识符查询本地的映射地址数据库;
地址翻译模块,用于利用映射地址数据库将所述统一资源标识符翻译为实际资源地址,所述实际资源地址包括对应的第二电子设备的网络地址、所述第二电子设备上的资源的访问路径名和资源的访问标识,
其中所述数据访问模块根据获取的实际资源地址访问所述第二电子设备上的资源。
16.一种基于可扩展消息及出席协议的服务器,包括:
接收模块,用于接收从第一电子设备发送的获取第二电子设备的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址;
地址确定模块;用于响应于所述请求,根据所述第二电子设备的设备标识确定可访问的所述第二电子设备的网络地址;
发送模块;用于将所述更新信息发送给第一电子设备。
访问控制方法、电子设备和服务器\n技术领域\n[0001] 本发明涉及电子设备的领域,更具体地,本发明涉及一种基于可扩展消息及出席协议(The Extensible Messaging and Presence Protocol,XMPP)的访问控制方法、电子设备和服务器。\n背景技术\n[0002] 目前,个人用户拥有了越来越多的高性能移动终端产品,比如智能手机、平板电脑(PAD)、超级本、智能电视(TV)和个人电脑(PC)。这些功能丰富的设备,具有非常强的计算能力的同时,也具有了越来越大的存储空间、无缝的访问WiFi和3G/4G网络的能力。这些设备也逐渐适应于不同的应用场景,比如智能手机适应于移动环境,PC适应于家庭环境下的媒体中心,TV适用于媒体广播数据管理,PAD适用于电子书和移动媒体消费,超级本适用于家居办公和普通办公需求。\n[0003] 另外,随着Web技术的普及,HTTP(超文本传输协议)已经变成了事实上的设备间通讯的标准协议,HTTP协议可以很好的穿越互联网,在设备间建立可信的数据通道。XMPP协议(The Extensible Messaging and Presence Protocol,可扩展消息及出席协议)可用于服务类实时通讯、表示和需求-响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP已经成为事实上的即时通讯标准协议,除了QQ以外,所有其他主流即时通讯协议已经全面支持XMPP。因此,以HTTP和XMPP为基础协议,支持设备之间的协同,具有非常好的架构扩展性,也可以全面复用现有软件架构。\n[0004] 目前,已经有越来越多的本地设备支持通过HTTP的方式进行管理,这时设备通过一个Web服务器,将本地设备的能力通过HTTP服务发布出来。在本地设备端通过解析远程HTTP的请求,将HTTP请求转换为本地设备访问请求,并将本地设备请求的执行结果,通过网页的形式反馈给远程的设备。\n[0005] 这种方式下,如果本地设备发布的地址能被远程设备访问到,则处理起来非常简单。但是在非常多的场景下,例如本地设备处于一个内网环境时,远程设备这时无法看到一个可以访问的HTTP地址。这时,实现设备之间的远程访问就必须部署一个服务端,通过服务端不停地在本地设备和远程设备之间进行转发。这样的技术架构,在HTTP现有协议实现和技术框架下,是非常低效也无法实现的。这种情况下,当远程设备需要访问一个可变IP(因特网协议)地址下的资源时,通过浏览器,无法记录并通过书签方式访问,此资源的必须每次重新确认,这在用户体验上是不可以接受的。\n[0006] 因此,期望提供一种访问控制方法、电子设备和服务器,其能够方便地访问远程资源,从而提高用户体验。\n发明内容\n[0007] 根据本发明一个实施例,提供了一种基于可扩展消息及出席协议的访问控制方法,应用于第一电子设备中,所述方法包括:\n[0008] 获取用于访问第二电子设备上的资源的统一资源标识符;以及\n[0009] 通过所述统一资源标识符访问所述第二电子设备上的资源,\n[0010] 其中,所述统一资源标识符从通过资源地址服务器获取的所述第二电子设备的设备标识符映射得到。\n[0011] 优选地,获取所述统一资源标识符包括:\n[0012] 从资源地址服务器接收所述统一资源标识符;和/或\n[0013] 从所述第一电子设备中获取之前已存储的所述统一资源标识符;和/或\n[0014] 根据从其它电子设备接收的信息获取所述统一资源标识符;和/或\n[0015] 根据用户手动输入操作获取所述统一资源标识符。\n[0016] 优选地,从所述第一电子设备中获取之前已存储的所述统一资源标识符包括:\n[0017] 通过所述第一电子设备中的浏览器书签或者浏览历史记录获取所述统一资源标识符;和/或\n[0018] 通过所述第一电子设备中的快捷方式获取所述统一资源标识符。\n[0019] 优选地,根据从其它电子设备接收的信息获取所述统一资源标识符包括:\n[0020] 从由其它电子设备接收的邮件中获取所述统一资源标识符;和/或\n[0021] 从由其它电子设备接收的短消息中获取所述统一资源标识符;和/或\n[0022] 从由其它电子设备接收的即时消息中获取所述统一资源标识符。\n[0023] 优选地,通过所述统一资源标识符访问所述第二电子设备上的资源包括:\n[0024] 通过所述统一资源标识符查询本地的映射地址数据库;\n[0025] 利用映射地址数据库将所述统一资源标识符翻译为实际资源地址,所述实际资源地址包括对应的第二电子设备的网络地址、所述第二电子设备上的资源的访问路径名和资源的访问标识;\n[0026] 根据获取的实际资源地址,访问所述第二电子设备上的资源。\n[0027] 优选地,所述方法还包括:\n[0028] 如果所述第二电子设备的网络地址为独立的因特网协议地址并且该因特网协议地址可直接访问或者两个设备处于相同的局域网内,则根据从映射地址数据库获取的实际资源地址,直接访问所述第二电子设备上的资源。\n[0029] 优选地,所述方法还包括:\n[0030] 如果获取的所述第二电子设备的网络地址不可直接访问,则检测第二电子设备的网络类型;\n[0031] 根据检测的第二电子设备的网络类型,确定第二电子设备的访问方式;\n[0032] 使用确定的访问方式访问所述第二电子设备上的资源。\n[0033] 优选地,所述方法还包括:\n[0034] 接收从资源地址服务器发送的推送信息,所述推送信息包括最新的所述第二电子设备的网络地址,并且响应于所述第二电子设备在资源地址服务器中的状态改变而发送,状态改变包括登录、重新登录、注销、连接超时。\n[0035] 优选地,所述方法还包括:\n[0036] 使用推送信息中的可直接访问的所述第二电子设备的网络地址更新本地的映射地址数据库。\n[0037] 所述资源地址服务器使用可扩展消息及出席协议进行流转。\n[0038] 根据本发明另一实施例,提供了一种基于可扩展消息及出席协议的访问控制方法,应用于服务器中,所述方法包括:\n[0039] 接收从第一电子设备发送的获取第二电子设备的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址;\n[0040] 响应于所述请求,根据所述第二电子设备的设备标识确定可访问的所述第二电子设备的网络地址;\n[0041] 将所述更新信息发送给第一电子设备。\n[0042] 优选地,所述方法还包括:\n[0043] 每次在所述第二电子设备登录之后,确定最新的所述第二电子设备的网络地址;\n以及\n[0044] 发送推送信息给所述第一电子设备,所述推送信息包括所述最新的所述第二电子设备的网络地址。\n[0045] 优选地,所述方法还包括:\n[0046] 备份第一电子设备和第二电子设备的映射地址数据库,利用最新的所述第二电子设备的网络地址更新映射地址数据库。\n[0047] 根据本发明另一实施例,提供了一种电子设备,包括:\n[0048] 获取模块,用于获取用于访问第二电子设备上的资源的统一资源标识符;以及[0049] 数据访问模块,用于通过所述统一资源标识符访问所述第二电子设备上的资源,[0050] 其中所述统一资源标识符从通过资源地址服务器获取的所述第二电子设备的设备标识符映射得到。\n[0051] 优选地,所述电子设备还包括:\n[0052] 查询模块,用于通过所述统一资源标识符查询本地的映射地址数据库;\n[0053] 地址翻译模块,用于利用映射地址数据库将所述统一资源标识符翻译为实际资源地址,所述实际资源地址包括对应的第二电子设备的网络地址、所述第二电子设备上的资源的访问路径名和资源的访问标识,\n[0054] 其中所述数据访问模块根据获取的实际资源地址访问所述第二电子设备上的资源。\n[0055] 根据本发明另一实施例,提供了一种基于可扩展消息及出席协议的服务器,包括:\n[0056] 接收模块,用于接收从第一电子设备发送的获取第二电子设备的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址;\n[0057] 地址确定模块;用于响应于所述请求,根据所述第二电子设备的设备标识确定可访问的所述第二电子设备的网络地址;\n[0058] 发送模块;用于将所述更新信息发送给第一电子设备。\n[0059] 因此,根据本发明实施例的访问控制方法、电子设备和服务器,其能够方便地访问远程资源,从而提高用户体验。\n附图说明\n[0060] 图1是图示根据本发明第一实施例的系统结构图;\n[0061] 图2是示出根据本发明第一实施例的应用于电子设备端的基于XMPP协议的控制方法的流程图;\n[0062] 图3是示出根据本发明第一实施例的XMPP远端地址和JID到本地地址的映射流程;\n[0063] 图4示出了映射地址数据库中保存的项目的示例;\n[0064] 图5示出本地设备访问远端设备上的资源的流程;\n[0065] 图6是示出根据本发明第一实施例的电子设备的方块图;\n[0066] 图7是示出根据本发明第二实施例的应用于XMPP服务器端的基于XMPP协议的控制方法的流程图;以及\n[0067] 图8是示出根据本发明第二实施例的服务器的方块图。\n具体实施方式\n[0068] 以下,将参考附图详细描述本发明的优选实施例。\n[0069] <第一实施例>\n[0070] 在描述根据本发明第一实施例的控制方法之前,首先简单描述根据本发明第一实施例的系统结构图。\n[0071] 如图1所示,该系统包括第一电子设备1、第二电子设备2和XMPP服务器3。需要注意的是,该系统内可以存在三个或更多电子设备。\n[0072] 在初次使用时,第二电子设备2通过XMPP服务器将设备资源发布给第一电子设备,然后,第一电子设备1可以通过XMPP协议的JID规则,在XMPP服务器的协助下,对第二电子设备的资源进行访问。\n[0073] 具体来说,第一电子设备1通过XMPP服务器接收第二电子设备2的网络地址和资源的访问路径名,然后保持在本地设备中。然后,第一电子设备1可以通过该网络地址和资源的访问路径名直接访问该资源,而不需要通过XMPP服务器3。此外,在以后使用时,即使第二电子设备2的网络地址改变,也可以通过XMPP服务器3更新在第一电子设备1中保存的第二电子设备2的网络地址。也就是说,在第一电子设备1中可以通过诸如浏览器标签的方式永久地直接访问第二电子设备2上的资源,而不需要对浏览器和XMPP内核进行更改。\n[0074] 图2是示出根据本发明第一实施例的应用于电子设备端的基于XMPP协议的控制方法的流程图。\n[0075] 根据本发明第一实施例的基于可扩展消息及出席协议的访问控制方法100应用于第一电子设备中。假设第一电子设备是PAD。需要注意的是,第一电子设备可以是任何电子设备,只要该电子设备具有网络连接能力即可。此外,以下描述中所述的第二电子设备也可以是任何电子设备,只要该电子设备具有网络连接能力即可。假设第二电子设备是台式机。\n[0076] 在该第一实施例中,假设第一电子设备和第二电子设备都直接连接到因特网,并且具有独立的因特网地址(IP)。\n[0077] 所述方法包括:\n[0078] 步骤S101:获取用于访问第二电子设备上的资源的统一资源标识符。\n[0079] 在该步骤中,第一电子设备通过各种方式获取用于访问第二电子设备上的资源的统一资源标识符(Uniform Resource Identifier,URI)。\n[0080] 具体来说,在一个实施例中。第一电子设备可以从资源地址服务器接收所述统一资源标识符。例如,该第一电子设备可以访问资源地址服务器,以便获取第二电子设备的URI。所述资源地址服务器例如使用可扩展消息及出席协议(XMPP)进行流转。当然,所述资源地址服务器也可以使用其它协议进行流转。\n[0081] 在另一实施例中,第一电子设备可以获取之前已存储的所述统一资源标识符。例如,第一电子设备之前已经在浏览器书签中存储了第二电子设备的资源的统一资源标识符,或者第一电子设备之前通过浏览器的浏览器历史,或者第一电子设备已经在桌面上存储了指向第二电子设备的资源的统一资源标识符的快捷方式的图标。当用户点击该浏览器书签或桌面上的快捷方式的图标时,可以获取第二电子设备上的资源的统一资源标识符。\n[0082] 在另一个实施例中,第一电子设备可以根据从其它电子设备接收的信息获取所述统一资源标识符。例如,第一电子设备可以从由其它电子设备接收的邮件中获取所述统一资源标识符。具体来说,当第一电子设备从第二电子设备接收电子邮件,该电子邮件中包含了该第二电子设备上的资源的链接地址。\n[0083] 或者,第一电子设备可以从由其它电子设备接收的短消息中获取所述统一资源标识符。例如,第一电子设备可以从诸如智能手机的电子设备接收短消息,该短消息中包含了第二电子设备上的资源的链接地址。\n[0084] 或者,第一电子设备可以从由其它电子设备接收的即时消息中获取所述统一资源标识符。例如,第一电子设备可以与第二电子设备通过QQ、MSN等即时通讯工具进行通信,并且接收从第二电子设备发送的即时消息,该即时消息中包含了第二电子设备上的资源的链接地址。\n[0085] 在另一实施例中,第一电子设备还可以根据用户手动输入操作获取所述统一资源标识符。例如,用户可以在第一电子设备的浏览器中手动输入第二电子设备的资源的统一资源标识符。或者,用户可以打开存储有第二电子设备的资源的统一资源标识符的文件,并且将该文件中存储的第二电子设备的统一资源标识符输入到第一电子设备的浏览器中。\n[0086] 步骤S102:通过所述统一资源标识符访问所述第二电子设备上的资源。\n[0087] 在该步骤中,利用第二电子设备的资源的统一资源标识符,开始访问第二电子设备上的资源。\n[0088] 资源例如可以包括设备资源和存储资源。\n[0089] 设备资源例如分成:\n[0090] Internal Device Capability(内部设备能力):指示用户设备本身包含的关键部件,比如显示器、调制解调器、GPS(全球定位系统)等;以及\n[0091] Auxiliary Device Capability(辅助设备能力):指示主设备通过UPnP/Alljoyn/SNMP/IGRS感知的周边环境连接的网络设备,比如DLNA TV、UPnP路由器、SNMP打印机、UPnP数码相机等。\n[0092] 存储资源包括数据文件、数据库条目、流媒体和网络存储数据。\n[0093] 在根据本发明第一实施例的控制方法中,所述统一资源标识符通过资源地址服务器,根据所述第二电子设备的设备标识符映射得到。\n[0094] 具体来说,在基于XMPP协议的网络环境中,各个设备在服务器中都登记有相应的唯一标识,即,Jabber标识符(JID)。\n[0095] 被访问的第二电子设备通过XMPP协议将设备资源发布给远端设备,远端设备可以通过XMPP协议的JID规则,在云端XMPP服务器的帮助下,对远端的第二电子设备进行访问。\n一个完整的JID由userID(标识设备的用户信息)、domain(标识设备所属的域)、resource(标识同用户的不同设备)组成,如userID@domain/resource。例如,第一电子设备可以具有标识DeviceID_1@domain/resource,第二电子设备可以具有标识DeviceID_2@domain/resource,其中,DeviceID_*指示第一电子设备的用户信息,domain指示XMPP服务器域,resource指示用户的不同设备。在该网络系统内,任何智能设备均通过JID作为唯一定位方法。\n[0096] 但是,在当前的浏览器中,JID并没有办法被浏览器直接访问。当前的浏览器通常是通过统一资源标识符(URI)来访问资源。因此,为了在浏览器中访问其他设备上的资源数据,必须要对XMPP设备的JID进行URI映射。\n[0097] 另一方面,由于当前网络地址的特性,被访问设备每次连接到因特网时,分配给被访问设备的网络地址可能都不同。因此,需要将被访问设备上的资源首先映射成本地的URI地址,由该URI地址上的特殊资源标签来识别该远端资源。该映射需要通过XMPP服务器来进行。\n[0098] 也就是说,需要通过资源地址服务器,根据所述第二电子设备的设备标识符(JID)映射得到所述统一资源标识符(URI)。\n[0099] 下面示出了XMPP和HTTP的URI描述的对应关系:\n[0100] 通用实体:\n[0101]\n[0102]\n[0103] 具体地,参考图3,图3描述了第二电子设备的JID到本地地址的映射流程。\n[0104] 如图3所示,当第一电子设备通过XMPP服务器获取了第二电子设备的网络地址和JID时,通过本地地址映射模块将该网络地址和JID映射为本地地址,并且登记在本地的映射地址数据库中。\n[0105] 具体来说,假设第二电子设备是初次上线,第二电子设备连接网络时分配的网络地址为210.30.208.126,并且该第二电子设备的JID为DeviceID_2@domain/resource。该网络地址在每次连接网络时可能不同。\n[0106] 第一电子设备通过XMPP服务器接收到第二电子设备的网络地址和JID之后,通过本地地址映射模块查询本地的映射地址数据库,发现不存在与该JID对应的记录,则确定该第二电子设备是初次上线。因此,将其映射为本地地址127.0.0.1,并且针对第二电子设备上的可访问的资源分配相应的标识符,该本地地址和标识符永久不变。\n[0107] 然后,第一电子设备将第二电子设备的网络地址和JID以及映射的本地地址登记在映射地址数据库中。该映射地址数据库中的每个数据项例如包括:第二电子设备的网络地址、第二电子设备的JID、第二电子设备上资源的访问路径、第二电子设备上的资源的标识符、和统一资源标识符,该统一资源标识符例如包括本地映射地址以及本地标识符。\n[0108] 当第二电子设备再次上线时,第二电子设备连接网络时分配的地址为\n210.30.208.120,该网络地址与第一次连接网络时不同。\n[0109] 第一电子设备通过XMPP服务器接收到第二电子设备的网络地址和JID之后,通过本地地址映射模块查询本地的映射地址数据库,发现已存在与该JID对应的记录,并且此时接收的第二电子设备的网络地址与记录的网络地址不同,则利用新的网络地址更新记录的网络地址。第二电子设备的映射的本地地址127.0.0.1和标识符保持不变。\n[0110] 也就是说,任何被访问设备的首次上线和地址更新可以触发上面的流程。\n[0111] 图4示出了映射地址数据库中保存的项目的示例。\n[0112] 如图4所示,该映射地址数据库中的第二电子设备的一个资源的项目包括:\n[0113] URI:指示第二电子设备中的资源在第一电子设备中的浏览器中使用的URI。项目1中为127.0.0.1/file1。\n[0114] IP:指示第二电子设备的可用IP地址。项目1中为210.30.208.120。\n[0115] 路径名:指示资源在第二电子设备中的路径。项目1中为d:/resource。\n[0116] 资源标识符:指示资源的资源标识符。项目1中为file1。\n[0117] 此外,该映射地址数据库中还可以包括:\n[0118] 网络类型:指示第一电子设备和第二电子设备通过何种类型的方式建立通信连接。例如可以有因特网直接连接、局域网直接连接和通过代理服务器连接等方式。\n[0119] 下面详细描述第一电子设备通过统一资源标识符访问第二电子设备上的资源的详细过程。\n[0120] 图5示出本地设备访问远端设备上的资源的流程。如图5所示,当用户例如点击浏览器书签,通过所述统一资源标识符访问所述第二电子设备上的资源时,首先,通过网络地址翻译模块将该URI翻译为访问设备的访问方式和网络地址。\n[0121] 具体地,第一电子设备通过用所述统一资源标识符查询本地的映射地址数据库。\n[0122] 具体来说,当用户点击浏览器上的书签“第二电子设备上的文件1”以便访问第二电子设备上的资源文件file1时,首先浏览器获取与该书签“第二电子设备上的文件1”对应的统一资源标识符“127.0.0.1/file1”。\n[0123] 然后,利用映射地址数据库将所述统一资源标识符翻译为实际资源地址,所述实际资源地址包括对应的第二电子设备的网络地址、所述第二电子设备上的资源的访问路径名和资源的访问标识符。\n[0124] 也就是说,通过查找映射地址数据库,获得该统一资源标识符对应的第二电子设备的因特网地址、资源的访问路径名和资源的访问标识符作为该资源的实际资源地址。即,获得210.30.208.120://d:/resource/file1作为该资源的实际资源地址。\n[0125] 然后,根据获取的实际资源地址,访问所述第二电子设备上的资源。具体来说,第一电子设备的浏览器通过该网络地址直接与第二电子设备建立连接,并且通过资源的访问路径名和资源的访问标识符开始访问资源文件file1。\n[0126] 上面的实施例描述了所述第二电子设备的网络地址为独立的因特网协议地址并且该因特网协议地址可直接访问,则根据获取的实际资源地址,直接访问所述第二电子设备上的资源的情况。\n[0127] 以下,将描述所述第二电子设备的网络地址不是独立的因特网协议地址的情况。\n[0128] 例如,如果第一电子设备和第二电子设备处于相同的局域网内,则根据获取的实际资源地址,直接访问所述第二电子设备上的资源。\n[0129] 在该情况下,因为第一电子设备和第二电子设备处于相同的局域网内,所以第一电子设备不需要通过知道第二电子设备的因特网地址,而是需要获取第二电子设备在该局域网内的网络地址。如图4中的项目2所示,第一电子设备根据实际资源地址:\n192.168.1.4://e:/resource/file2访问第二电子设备上的资源。192.168.1.4是第二电子设备的局域网地址。\n[0130] 此外,还存在这样的情况,其中通过XMPP服务器获取的第二电子设备的网络地址不可直接访问。该情况例如对应于第二电子设备处于某个局域网内,并且通过局域网的代理服务器与外部设备进行通信。\n[0131] 此时,如果获取的所述第二电子设备的网络地址不可直接访问,则检测第二电子设备的网络类型。内网类型决定了数据访问的方式,例如,是否可以由STUN服务器代理,是否需要中继,是否需要云端中转等等。然后,在第一电子设备的本地映射模块中,需要对网络可达类型进行特殊标记,然后进行其后的流程。\n[0132] 然后,根据检测的第二电子设备的网络类型,确定第二电子设备的访问方式。例如,如果需要通过服务器代理,则确定代理服务器的网络地址、网络端口等等,并且确定代理服务器访问第二电子设备的方式。\n[0133] 然后,使用确定的访问方式访问所述第二电子设备上的资源。\n[0134] 此时,第一电子设备上的数据访问模块利用确定的访问方式与第二电子设备上的数据访问模块通信,从而传递数据和命令,以便对资源进行访问。\n[0135] 需要注意的是,第一电子设备可以接收从资源地址服务器(例如XMPP服务器)发送的推送信息,所述推送信息包括最新的所述第二电子设备的网络地址,并且响应于所述第二电子设备在资源地址服务器中的状态改变而发送,状态改变包括登录、重新登录、注销、连接超时。也就是说,每当第二电子设备登录XMPP服务器时,如果XMPP服务器发现第二电子设备的网络地址有变化,则向其它设备发送推送信息,所述推送信息包括最新的所述第二电子设备的网络地址。或者,当第二电子设备重新登录XMPP服务器、从XMPP服务器注销、与XMPP服务器连接超时等时,XMPP服务器也发送推送消息给第一电子设备,并且该推送消息中包含最新的所述第二电子设备的网络地址,此外,第一电子设备可以使用推送信息中的可直接访问的所述第二电子设备的网络地址更新本地的映射地址数据库,从而使得第二电子设备总是保持可直接访问。\n[0136] 因此,根据本发明第一实施例的控制方法,能够方便地访问远程资源,从而提高用户体验。\n[0137] 图6是示出根据本发明第一实施例的电子设备200的方块图。\n[0138] 该电子设备200包括:\n[0139] 获取模块201,用于获取用于访问第二电子设备上的资源的统一资源标识符;以及[0140] 数据访问模块202,用于通过所述统一资源标识符访问所述第二电子设备上的资源,\n[0141] 其中,所述统一资源标识符从通过资源地址服务器获取的所述第二电子设备的设备标识符映射得到。\n[0142] 此外,所述电子设备200还包括:\n[0143] 查询模块203,用于通过所述统一资源标识符查询本地的映射地址数据库204;\n[0144] 地址翻译模块205,用于利用映射地址数据库将所述统一资源标识符翻译为实际资源地址,所述实际资源地址包括对应的第二电子设备的网络地址、所述第二电子设备上的资源的访问路径名和资源的访问标识,\n[0145] 其中所述数据访问模块202根据获取的实际资源地址访问所述第二电子设备上的资源。\n[0146] 该电子设备的各个模块执行前面描述的方法的各个步骤,在此省略其详细描述。\n[0147] 因此,根据本发明第一实施例的电子设备,能够方便地访问远程资源,从而提高用户体验。\n[0148] <第二实施例>\n[0149] 图7是示出根据本发明第二实施例的应用于XMPP服务器端的基于XMPP协议的控制方法的流程图。\n[0150] 该方法应用于如图1所示的系统环境中的XMPP服务器3。注意,下面描述的第一电子设备1和第二电子设备2可以是第一实施例中的电子设备100。\n[0151] 该方法包括:\n[0152] 步骤S301:接收从第一电子设备发送的获取第二电子设备的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址。\n[0153] 在该步骤中,该XMPP服务器3接收从第一电子设备1发送的获取第二电子设备2的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址。也就是说,XMPP服务器3可以接收从第一电子设备1发送的更新请求,以便获取第二电子设备2的最新可用网络地址。\n[0154] 步骤S302:响应于所述请求,根据所述第二电子设备的设备标识确定可访问的所述第二电子设备的网络地址。\n[0155] 在该步骤中,XMPP服务器3查询在该XMPP服务器3中登记的第二电子设备2的设备标识(JID),确定此时该第二电子设备2的网络地址。\n[0156] 步骤S303:将所述更新信息发送给第一电子设备。\n[0157] 在该步骤中,XMPP服务器3将包含第二电子设备2的当前可用网络地址的更新信息发送给第一电子设备1。\n[0158] 随后,第一电子设备1可以利用第二电子设备2的最新可用网络地址来访问第二电子设备2。\n[0159] 可替代地,在一个实施例中,每次在所述第二电子设备2登录之后,XMPP服务器3确定最新的所述第二电子设备2的网络地址。然后,XMPP服务器3发送推送信息给所述第一电子设备1,所述推送信息包括所述最新的所述第二电子设备2的网络地址。\n[0160] 在一个实施例中,XMPP服务器3还可以在其中备份第一电子设备1和第二电子设备\n2的映射地址数据库,利用最新的所述第二电子设备2的网络地址更新映射地址数据库。\n[0161] 如上面描述的,第一电子设备1和第二电子设备2都可以包含映射地址数据库,并且在各自的映射地址数据库中保存其它电子设备的网络地址。XMPP服务器3可以备份第一电子设备1和第二电子设备2的映射地址数据库,从而方便第一电子设备1和第二电子设备2的网络地址的更新。\n[0162] 图8是示出根据本发明第二实施例的服务器的方块图。\n[0163] 如图8所述,该基于可扩展消息及出席协议的服务器400包括:\n[0164] 接收模块401,用于接收从第一电子设备发送的获取第二电子设备的更新信息的请求,所述更新信息包括可访问的所述第二电子设备的网络地址;\n[0165] 地址确定模块402;用于响应于所述请求,根据所述第二电子设备的设备标识确定可访问的所述第二电子设备的网络地址;\n[0166] 发送模块403;用于将所述更新信息发送给第一电子设备。\n[0167] 此外,所述服务器400还可以包括:\n[0168] 确定单元404,用于每次在所述第二电子设备登录之后,确定最新的所述第二电子设备的网络地址;以及\n[0169] 推送单元405,用于发送推送信息给所述第一电子设备,所述推送信息包括所述最新的所述第二电子设备的网络地址。\n[0170] 所述服务器400还可以包括:\n[0171] 备份单元406,用于备份第一电子设备和第二电子设备的映射地址数据库,利用最新的所述第二电子设备的网络地址更新映射地址数据库。\n[0172] 该服务器的各个模块执行前面描述的方法的各个步骤,在此省略其详细描述。\n[0173] 因此,根据本发明第一实施例的服务器,能够方便地访问远程资源,从而提高用户体验。\n[0174] 需要注意的是,上面的实施例仅仅是用作示例,本发明不限于这样的示例,而是可以进行各种变化。\n[0175] 需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。\n[0176] 最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。\n[0177] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM(只读存储器)/RAM(随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。\n[0178] 以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2018-08-10
- 2014-09-03
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201310033142.3
申请日: 2013.01.28
- 2014-08-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-05-23
|
2006-05-11
| | |
2
| |
2009-03-25
|
2006-08-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |