一种离线文件传输的方法、***、终端设备以及服务器
本发明专利申请是申请日为2013年11月26日、申请号为201310612011.0、名称为“一种离线文件传输的方法、***、终端设备以及服务器”的中国发明专利申请的分案申请。
技术领域
本发明涉及文件传输技术领域,具体涉及一种离线文件传输的方法、一种用于离线文件传输的终端设备、一种离线文件传输的***,以及一种用于离线文件传输的服务器。
背景技术
随着移动通信技术的快速发展,如手机等移动设备已经广泛应用在学习、娱乐、工作等方面,在人们的日常生活中扮演着越来越重要的角色。
由于移动设备的功能越来越多样,因此就需要与计算设备连接,进行数据传输。例如,将计算设备中的办公文件传输到移动设备中,方便随时查看;又如,将移动设备中的照片等传输到计算设备中,进行图像处理、保存等操作。
通常,移动设备可以采用数据线和计算设备进行连接,此时,可以将移动设备看作是计算设备上的一个移动存储设备,从而通过数据线可以使移动设备和计算设备实现数据传输。但通过数据线的方式进行移动设备和计算设备的连接,需要时刻携带数据线,操作麻烦,并且长期使用容易导致USB接口磨损。
因此,移动设备与计算设备之间进行无线连接的方式应运而生。对于无线连接而言,主要有以下情况:
1、有无线路由
这种方式是移动设备通过wifi连到路由,计算设备通过wifi或网线连到路由;在移动设备上用websharing、虚拟数据线、文件大师等软件开通ftp服务,计算设备上用浏览器打开ftp后,进行文件传输。
2、没有无线路由,计算设备有无线网卡
2.1无线网卡支持mywifi技术
把计算设备设为wifi热点(xp下手工设置,win7下手工设置或用connectify软件),移动设备通过wifi连到计算设备;在移动设备上用websharing、虚拟数据线、文件大师等软件开通ftp服务,计算设备上用浏览器打开ftp后进行文件传输。
2.2无线网卡不支持mywifi技术
把移动设备wifi热点打开,计算设备通过wifi连到移动设备;在移动设备上用websharing、虚拟数据线、文件大师等软件开通ftp服务,计算设备上用浏览器打开ftp后进行文件传输。
然而,无线连接的情况下,需要计算设备与移动设备同时处于在线状态时,才能在双方之间进行文件的传输,如果文件的接收方不在线,便无法成功将文件发送给接收方,从而给使用者带来了不便,降低了用户体验。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种离线文件传输的方法和相应的一种离线文件传输的***、一种用于离线文件传输的终端设备、一种用于离线文件传输的服务器。
依据本发明的一个方面,提供了一种离线文件传输的方法,包括:
当第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的所述目标文件资源的下载地址,所述目标文件资源的下载地址为所述第一服务器依据所述目标文件资源生成;
在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中。
可选地,在所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中的步骤之前,还包括:
检测用户针对悬浮窗口发起的指定操作,所述指定操作包括用户将目标文件资源拖送到悬浮窗口的操作,和/或,用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作;
当检测到所述指定操作时,发出提醒消息询问用户是否需要离线发送目标文件资源;
所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中的步骤包括:
在接收到用户发送的离线确认指令后,通过悬浮窗口将所述目标文件资源发送至第一服务器中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。
可选地,所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中的步骤包括:
在第一终端设备侧依据所述用户针对悬浮窗口的指定操作生成文件发送请求;
在第一终端设备侧将所述文件发送请求发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的文件响应消息;
在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中。
可选地,所述在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中的步骤包括:
在第一终端设备侧依据所述文件响应消息对将所述目标文件资源进行加密;
将所述加密后的目标文件资源发送至第一服务器中。
可选地,所述目标文件资源为第一终端侧依据用户发出的文件资源选定指令获得的文件资源;所述文件资源选定指令为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令,或者,所述文件资源选定指令为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。
可选地,所述在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中的步骤包括:
在第一终端设备侧获取所述目标文件资源的文件属性信息;
在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包;
在第一终端设备侧将所述信息包发送至第二服务器中。
可选地,所述方法还包括:
在第一终端设备侧接收第三服务器发送的信息确认指令;
在第一终端设备侧将所述信息确认指令展示给用户;
接收用户选择的确认信息,并将所述确认信息发送至第二服务器中。
可选地,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息。
可选地,所述方法还包括:
在第一终端设备侧生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表。
可选地,所述文件发送列表中针对每个目标文件资源具有文件发送状态信息,所述文件发送状态信息包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。
可选地,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
可选地,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
可选地,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
根据本发明的另一方面,提供了一种离线文件传输的方法,包括:
在第二服务器侧接收第一终端设备侧发送的信息包;
所述第二服务器获取所述第一终端设备的标识;
在第二服务器侧的预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中。
可选地,在所述依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中的步骤之前,还包括:
在第二服务器侧生成信息确认指令;
在第二服务器侧将所述信息确认指令发送至第三服务器中,由第三服务器发送至第一终端设备侧;
在第二服务器侧接收第一终端设备返回的确认信息。
可选地,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;
所述方法还包括:
若所述确认信息为第一确认信息,则执行所述在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中的步骤;
若所述确认信息为第二确认信息,则在第二服务器侧重新获取第二终端设备的标识。
根据本发明的另一方面,提供了一种离线文件传输的方法,包括:
在第三服务器侧接收第二服务器发送的文件获取消息,所述文件获取消息包括第二终端设备的标识;
在第三服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧。
可选地,所述检测所述第二终端设备的标识对应的第二终端设备在线的步骤包括:
在第三服务器侧获取所有已经接入的终端设备的标识;
在第三服务器侧判断所述所有接入的终端设备的标识中是否存在与所述第二终端设备的标识相同的终端设备;
若是,则判定所述第二终端设备的标识对应的第二终端设备在线。
可选地,所述方法还包括:
在第三服务器侧接收第二服务器发送的信息确认指令;在第三服务器侧将所述信息确认指令发送至第一终端设备中。
根据本发明的另一方面,提供了一种离线文件传输的方法,包括:
在第二终端设备侧接收第三服务器发送的文件获取消息;
在第二终端设备侧依据所述文件获取消息从第二服务器中获取对应的信息包,所述信息包包括目标文件资源的下载地址;
在第二终端设备侧依据所述目标文件资源的下载地址从第一服务器中下载对应的目标文件资源。
可选地,所述信息包包括文件属性信息,所述文件属性信息包括目标文件资源的类型,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书,所述的方法还包括:
若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书,则将所述目标文件资源存储在第二终端设备侧;
若所述目标文件资源的类型为软件和/或游戏,则直接安装所述目标文件资源。
可选地,在所述在第二终端设备侧接收第三服务器发送的文件获取消息的步骤之前,还包括:
在第二终端设备侧监听网络状态,所述网络状态包括当前网络可用;
若当前网络可用,则在第二终端设备侧连接当前网络;
在第二终端设备侧连接所述第三服务器。
可选地,若所述第二终端设备为移动设备,所述在第二终端设备侧监听网络状态的步骤包括:
在所述第二终端设备侧注册网络状态变化接收服务ConnctionChangeReceiver;
在第二终端设备侧采用所述网络状态变化接收服务ConnctionChangeReceiver接收***服务SystemService发出的广播CONNECTIVITY_CHANGE;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为真,则判定当前网络可用;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为假,则判定当前网络不可用。
可选地,若所述第二终端设备为计算设备,所述在第二终端设备侧监听网络状态的步骤包括:
在第二终端设备侧调用网络接口API查询当前的网络状态。
根据本发明的另一方面,提供了一种用于离线文件传输的终端设备,包括:
目标文件资源发送模块,适于在第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中;
下载地址接收模块,适于在第一终端设备侧接收所述第一服务器返回的所述目标文件资源的下载地址,所述目标文件资源的下载地址为所述第一服务器依据所述目标文件资源生成;
下载地址发送模块,适于在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中。
可选地,所述终端设备还包括:
检测模块,适于在所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中之前,检测用户针对悬浮窗口发起的指定操作,所述指定操作包括用户将目标文件资源拖送到悬浮窗口的操作,和/或,用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作;
提醒消息发送模块,适于在检测到所述指定操作时,发出提醒消息询问用户是否需要离线发送目标文件资源;
所述目标文件资源发送模块还适于:
在接收到用户发送的离线确认指令后,通过悬浮窗口将所述目标文件资源发送至第一服务器中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。
可选地,所述目标文件资源发送模块还适于:
在第一终端设备侧依据所述用户针对悬浮窗口的指定操作生成文件发送请求;
在第一终端设备侧将所述文件发送请求发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的文件响应消息;
在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中。
可选地,所述目标文件资源发送模块还适于:
在第一终端设备侧依据所述文件响应消息对将所述目标文件资源进行加密;
将所述加密后的目标文件资源发送至第一服务器中。
可选地,所述目标文件资源为第一终端侧依据用户发出的文件资源选定指令获得的文件资源;所述文件资源选定指令为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令,或者,所述文件资源选定指令为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。
可选地,所述下载地址发送模块还适于:
在第一终端设备侧获取所述目标文件资源的文件属性信息;
在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包;
在第一终端设备侧将所述信息包发送至第二服务器中。
可选地,所述终端设备还包括:
信息确认指令发送模块,适于在第一终端设备侧接收第三服务器发送的信息确认指令;
展示模块,适于在第一终端设备侧将所述信息确认指令展示给用户;
确认信息接收模块,适于接收用户选择的确认信息,并将所述确认信息发送至第二服务器中。
可选地,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息。
可选地,所述终端设备还包括:
文件发送列表生成模块,适于在第一终端设备侧生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表。
可选地,所述文件发送列表中针对每个目标文件资源具有文件发送状态信息,所述文件发送状态信息包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。
可选地,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
可选地,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
可选地,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
根据本发明的另一方面,提供了一种用于离线文件传输的服务器,包括:
信息包接收模块,适于在第二服务器侧接收第一终端设备侧发送的信息包;
设备标识获取模块,适于所述第二服务器获取所述第一终端设备的标识;
设备标识查找模块,适于在第二服务器侧的预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
第一文件获取消息发送模块,适于在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中。
可选地,所述服务器还包括:
信息确认指令生成模块,适于在所述依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中之前,在第二服务器侧生成信息确认指令;
信息确认指令发送模块,适于在第二服务器侧将所述信息确认指令发送至第三服务器中,由第三服务器发送至第一终端设备侧;
确认消息接收模块,适于在第二服务器侧接收第一终端设备返回的确认信息。
可选地,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;
所述服务器还包括:
调用模块,适于在所述确认信息为第一确认信息时,调用第一文件获取消息发送模块;
标识获取模块,适于在所述确认信息为第二确认信息时,在第二服务器侧重新获取第二终端设备的标识。
根据本发明的另一方面,提供了一种用于离线文件传输的服务器,包括:
第一文件获取消息接收模块,适于在第三服务器侧接收第二服务器发送的文件获取消息,所述文件获取消息包括第二终端设备的标识;
第二文件获取消息发送模块,适于在第三服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧。
可选地,所述第二文件获取消息发送模块还适于:
在第三服务器侧获取所有已经接入的终端设备的标识;
在第三服务器侧判断所述所有接入的终端设备的标识中是否存在与所述第二终端设备的标识相同的终端设备;
若是,则判定所述第二终端设备的标识对应的第二终端设备在线。
可选地,所述服务器还包括:
信息确认指令接收模块,适于在第三服务器侧接收第二服务器发送的信息确认指令;
信息确认指令发送模块,适于在第三服务器侧将所述信息确认指令发送至第一终端设备中。
根据本发明的另一方面,提供了一种用于离线文件传输的终端设备,包括:
第二文件获取消息接收模块,适于在第二终端设备侧接收第三服务器发送的文件获取消息;
信息包获取模块,适于在第二终端设备侧依据所述文件获取消息从第二服务器中获取对应的信息包,所述信息包包括目标文件资源的下载地址;
目标文件资源下载模块,适于在第二终端设备侧依据所述目标文件资源的下载地址从第一服务器中下载对应的目标文件资源。
可选地,所述信息包包括文件属性信息,所述文件属性信息包括目标文件资源的类型,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书,所述的终端设备还包括:
若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书,则将所述目标文件资源存储在第二终端设备侧;
若所述目标文件资源的类型为软件和/或游戏,则直接安装所述目标文件资源。
可选地,所述终端设备还包括:
监听模块,适于在所述在第二终端设备侧接收第三服务器发送的文件获取消息之前,在第二终端设备侧监听网络状态,所述网络状态包括当前网络可用;
第一连接模块,适于若当前网络可用,则在第二终端设备侧连接当前网络;
第二连接模块,适于在第二终端设备侧连接所述第三服务器。
可选地,若所述第二终端设备为移动设备,所述监听模块还适于:
在所述第二终端设备侧注册网络状态变化接收服务ConnctionChangeReceiver;
在第二终端设备侧采用所述网络状态变化接收服务ConnctionChangeReceiver接收***服务SystemService发出的广播CONNECTIVITY_CHANGE;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为真,则判定当前网络可用;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为假,则判定当前网络不可用。
可选地,若所述第二终端设备为计算设备,所述在第二终端设备侧监听网络状态的步骤包括:
在第二终端设备侧调用网络接口API查询当前的网络状态。
根据本发明的另一方面,提供了一种离线文件传输的***,包括:第一终端设备、文件服务器、应用服务器,推送服务器、第二终端设备,其中,
所述第一终端设备,适于当第一终端设备没有检测到第二终端设备的接入时,通过悬浮窗口将待发送的目标文件资源发送至文件服务器中,并接收所述文件服务器返回的所述目标文件资源的下载地址,以及,将所述目标文件资源的下载地址构建信息包发送至应用服务器中;
所述文件服务器,适于接收所述目标文件资源,依据所述目标文件资源生成对应的目标文件资源的下载地址并发送至第一终端设备中;
所述应用服务器,适于接收所述信息包,依据所述信息包中携带的第一终端设备的标识在预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识,以及,依据所述第二终端设备的标识生成文件获取消息发送至推送服务器中;
所述推送服务器,适于在检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧;
所述第二终端设备,适于依据所述文件获取消息从应用服务器中获取对应的信息包,以及,依据所述信息包携带的目标文件资源的下载地址从文件服务器中下载对应的目标文件资源。
可选地,所述第一终端设备还适于:
依据用户针对悬浮窗口的指定操作生成文件发送请求;
将所述文件发送请求发送至文件服务器中;
接收所述文件服务器返回的文件响应消息;
依据所述文件响应消息将所述目标文件资源发送至文件服务器中。
可选地,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
可选地,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
可选地,所述第二终端设备还适于:
在所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书时,将所述目标文件资源存储在第二终端设备侧;
在所述目标文件资源的类型为软件和/或游戏时,直接安装所述目标文件资源。
与背景技术相比,本发明具有如下有益效果:
在本发明中,第一终端设备与第二终端设备在进行文件资源的传输时,可以不同时处于在线状态,即第一终端设备在线时先将目标文件资源上传至后台服务器,此时第二终端设备不一定需要在线,当第二终端设备在线时再到后台服务器中下载所述目标文件资源,从而减少了文件资源传输的限制,提高用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明的一种离线文件传输的方法实施例一的步骤流程图;
图2示出了本发明的一种离线文件传输的方法实施例二的步骤流程图;
图3示出了本发明的一种离线文件传输的方法实施例三的步骤流程图;
图4示出了本发明的一种离线文件传输的方法实施例四的步骤流程图;
图5示出了本发明的一种离线文件传输的方法实施例五的步骤流程图;
图6示出了本发明的一种离线文件传输的方法实施例一中离线文件发送提醒示意图;
图7示出了本发明的一种离线文件传输的方法实施例一中悬浮窗口指定操作示意图;
图8示出了本发明的一种离线文件传输的方法实施例一中离线提醒示意图;
图9示出了本发明的一种用于离线文件传输的终端设备实施例一的结构框图;
图10示出了本发明的一种用于离线文件传输的服务器实施例一的结构框图;
图11示出了本发明的一种用于离线文件传输的服务器实施例二的结构框图;
图12示出了本发明的一种用于离线文件传输的终端设备实施例二的结构框图;
图13示出了本发明的一种离线文件传输的***实施例的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了本发明的一种离线文件传输的方法实施例一的步骤流程图,本发明实施例从第一终端设备侧进行说明,其中,所述第一终端设备为目标文件资源的发送方,本发明实施例可以包括如下步骤:
步骤101,当第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中;
其中,所述目标文件资源为第一终端侧依据用户发出的文件资源选定指令获得的文件资源;所述文件资源选定指令为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令,或者,所述文件资源选定指令为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。
在本发明的一种优选实施例中,在所述101步骤之前,还可以包括:检测用户针对悬浮窗口发起的指定操作,所述指定操作包括用户将目标文件资源拖送到悬浮窗口的操作,和/或,用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作;
当检测到所述指定操作时,发出提醒消息询问用户是否需要离线发送目标文件资源;
所述步骤101具体可以为:
在接收到用户发送的离线确认指令后,通过悬浮窗口将所述目标文件资源发送至第一服务器中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。
在本发明的一种优选实施例中,所述步骤101可以包括如下子步骤:
子步骤S11,在第一终端设备侧依据用户针对悬浮窗口的指定操作生成文件发送请求;
子步骤S12,在第一终端设备侧将所述文件发送请求发送至第一服务器中;
子步骤S13,在第一终端设备侧接收所述第一服务器返回的文件响应消息;
子步骤S14,在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中。
在本发明的一种优选实施例中,所述子步骤S14进一步可以包括如下子步骤:
子步骤S141,在第一终端设备侧依据所述文件响应消息对将所述目标文件资源进行加密;
子步骤S142,将所述加密后的目标文件资源发送至第一服务器中。
步骤102,在第一终端设备侧接收所述第一服务器返回的所述目标文件资源的下载地址,所述目标文件资源的下载地址为所述第一服务器依据所述目标文件资源生成;
步骤103,在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中。
在本发明的一种优选实施例中,所述步骤103可以包括如下子步骤:
在第一终端设备侧获取所述目标文件资源的文件属性信息;
在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包;
在第一终端设备侧将所述信息包发送至第二服务器中。
其中,所述目标文件资源的文件属性信息还可以包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
作为本发明实施例的一种优选示例,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
在本发明的一种优选实施例中,所述方法还可以包括:
在第一终端设备侧接收第三服务器发送的信息确认指令;
在第一终端设备侧将所述信息确认指令展示给用户;
接收用户选择的确认信息,并将所述确认信息发送至第二服务器中。
在本发明的一种优选实施例中,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息。
在本发明的一种优选实施例中,所述方法还可以包括:
在第一终端设备侧生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表。
在本发明的一种优选实施例中,所述文件发送列表中针对每个目标文件资源具有文件发送状态信息,所述文件发送状态信息包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。
需要说明的是,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
参照图2,示出了本发明的一种离线文件传输的方法实施例二的步骤流程图,本发明实施例从第二服务器侧进行说明,其中,所述第二服务器为应用服务器,本发明实施例可以包括如下步骤:
步骤201,在第二服务器侧接收第一终端设备侧发送的信息包;
步骤202,所述第二服务器获取所述第一终端设备的标识;
步骤203,在第二服务器侧的预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
步骤204,在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中。
在本发明的一种优选实施例中,在步骤203之前,还包括:
在第二服务器侧生成信息确认指令;
在第二服务器侧将所述信息确认指令发送至第三服务器中,由第三服务器发送至第一终端设备侧;
在第二服务器侧接收第一终端设备返回的确认信息。
在本发明的一种优选实施例中,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;
所述方法还包括:
若所述确认信息为第一确认信息,则执行所述在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中的步骤;
若所述确认信息为第二确认信息,则在第二服务器侧重新获取第二终端设备的标识。
其中,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
参照图3,示出了本发明的一种离线文件传输的方法实施例三的步骤流程图,本发明实施例从第三服务器侧进行说明,其中,所述第三服务器为推送服务器,本发明实施例可以包括如下步骤:
步骤301,在第三服务器侧接收第二服务器发送的文件获取消息,所述文件获取消息包括第二终端设备的标识;
步骤302,在第三服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧。
在本发明的一种优选实施例中,所述步骤302可以包括如下子步骤:
子步骤S31,在第三服务器侧获取所有已经接入的终端设备的标识;
子步骤S32,在第三服务器侧判断所述所有接入的终端设备的标识中是否存在与所述第二终端设备的标识相同的终端设备;
子步骤S33,在第三服务器侧判定所述所有接入的终端设备的标识中存在与所述第二终端设备的标识相同的终端设备时,判定所述第二终端设备的标识对应的第二终端设备在线。
在本发明的一种优选实施例中,所述方法还包括:
在第三服务器侧接收第二服务器发送的信息确认指令;
在第三服务器侧将所述信息确认指令发送至第一终端设备中。
需要说明的是,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
参照图4,示出了本发明的一种离线文件传输的方法实施例四的步骤流程图,本发明实施例从第二终端设备侧进行说明,其中,所述第二终端设备为目标文件资源的接收方,本发明实施例可以包括如下步骤:
步骤401,在第二终端设备侧接收第三服务器发送的文件获取消息;
步骤402,在第二终端设备侧依据所述文件获取消息从第二服务器中获取对应的信息包,所述信息包包括目标文件资源的下载地址;
步骤403,在第二终端设备侧依据所述目标文件资源的下载地址从第一服务器中下载对应的目标文件资源。
在本发明的一种优选实施例中,所述信息包包括文件属性信息,所述文件属性信息可以包括目标文件资源的类型,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书,所述的方法还可以包括:
若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书,则将所述目标文件资源存储在第二终端设备侧;
若所述目标文件资源的类型为软件和/或游戏,则直接安装所述目标文件资源。
在本发明的一种优选实施例中,在所述步骤401之前,还可以包括:
在第二终端设备侧监听网络状态,所述网络状态包括当前网络可用以及当前网络不可用;
若当前网络可用,则在第二终端设备侧连接当前网络;
在第二终端设备侧连接所述第三服务器。
在本发明的一种优选实施例中,若所述第二终端设备为移动设备,所述在第二终端设备侧监听网络状态的步骤包括:
在所述第二终端设备侧注册网络状态变化接收服务ConnctionChangeReceiver;
在第二终端设备侧采用所述网络状态变化接收服务ConnctionChangeReceiver接收***服务SystemService发出的广播CONNECTIVITY_CHANGE;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为真,则判定当前网络可用;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为假,则判定当前网络不可用。
在本发明的另一种优选实施例中,若所述第二终端设备为计算设备,所述在第二终端设备侧监听网络状态的步骤包括:
在第二终端设备侧调用网络接口API查询当前的网络状态。
需要说明的是,所述第一服务器为文件服务器,所述第二服务器为应用服务器,第三服务器为推送服务器。
参照图5,示出了本发明的一种离线文件传输的方法实施例五的步骤流程图,在本发明实施例中,所述第一终端设备为目标文件资源的发送方,所述第二终端设备为目标文件资源的接收方,所述第一终端设备和/或所述第二终端设备可以为移动设备或计算设备,其中,所述计算设备是一种能够按照程序运行,自动、高速处理海量数据的智能电子设备,如台式电脑、笔记本电脑等。所述移动设备是一种可以在移动中使用的计算设备,如手机,本发明实施例对第一终端设备以及第二终端设备的类型无需加以限制。
本发明实施例可以包括如下步骤:
步骤501,在第一终端设备侧依据用户发出的文件资源选定指令获取对应的目标文件资源;
在本发明的一种优选实施例中,所述文件资源选定指令可以为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令。具体而言,在第一终端设备侧安装有第一客户端程序,所述第一客户端程序中展示有海量免费的文件资源以供用户下载,用户可以从该第一客户端程序的文件资源中选择自己喜欢的文件资源进行下载。在实际中,当用户通过鼠标或点触操作在第一客户端程序展示的文件资源的下载列表中选定自己喜欢的文件资源后,即生成对应的文件资源下载指令,第一客户端程序接收到所述文件资源下载指令后,从服务器中下载对应的文件资源作为目标文件资源存储到第一终端设备侧。
在实际中,所述第一客户端程序在计算机侧开启一悬浮窗口用于目标文件资源的传输,当用户在第一终端设备侧开启第一客户端程序时,第一客户端程序可以在悬浮窗口中或在第一终端设备的预设位置弹出弹窗提醒用户可以发送离线文件资源到第二终端设备上,即第一终端设备不连接第二终端设备也能随时发文件资源(如图6所示)。
具体来说,悬浮窗口的作用在于,当主程序的窗口在最小化时,还可以提示用户看到该程序的运行状态,并可以通过点击这些小窗口,快捷地打开主程序的窗口。悬浮窗口包含了一个可以供用户访问的预设入口,在屏幕上显示悬浮窗口后,用户可以通过该预设入口访问预设内容或执行预设操作。例如,用户通过点击预设入口可以启动托送发文件的操作。
在本发明的另一种优选实施例中,所述文件资源选定指令可以为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。具体而言,用户还可以在第一终端侧存储的已有文件资源中选择某文件资源作为目标文件资源。
作为本实施例的一种优选示例,所述目标文件资源具有文件属性信息,所述文件属性信息可以包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识等等。其中,所述目标文件资源的类型可以包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书等多种类型。
步骤502,当第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将所述目标文件资源发送至文件服务器中;
具体而言,在第一终端设备侧获取到目标文件资源后,第一终端设备采用所述第一客户端程序检测是否有第二终端设备接入,在没有第二终端设备接入的情况下,第一客户端程序检测用户有没有针对悬浮窗口发起指定操作。其中,所述针对悬浮窗口发起的指定操作可以有多种方式,参考图7所示的悬浮窗口指定操作示意图,作为本实施例的一种优选示例,所述用户针对悬浮窗口发起的指定操作可以包括用户将目标文件资源拖送到悬浮窗口的操作,即用户从第一终端侧存储的文件资源中选择目标文件资源后,直接将目标文件资源拖到悬浮窗口中的操作。作为本实施例的另一种优选示例,所述用户针对悬浮窗口发起的指定操作可以包括用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作,例如,所述文件选定按钮可以为图7所示的“选择要发送的文件”的功能按钮,点击文件选定按钮后,第一终端设备侧会弹出文件路径选择窗口,用户可以在该文件路径选择窗口中选择目标文件资源的路径。
第一客户端程序检测到用户针对悬浮窗口发起指定操作时,第一客户端程序可以发出提醒消息来询问用户是否需要离线发送目标文件资源,具体来说,所述提醒消息可以通过在悬浮窗口中或在第一终端设备的预设位置弹出弹窗来展示给用户,在接收到用户选定的离线确认指令后,离线发送所述目标文件资源。其中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。所述离线确认指令可以体现为用户点击弹窗中的“确认发送离线文件”等类似功能按钮而触发的指令。
另一方面,若用户指示不需要离线发送目标文件资源,可以点击弹窗中的“不发送离线文件”等类似功能按钮来触发不发送离线文件的指令,此时,所述目标文件资源在所述悬浮窗口中处于等待发送状态。
在实际应用中,用户触发离线确认指令或触发不发送离线文件的指令的方式可以有多种,除了上述的点击“确认发送离线文件”、“不发送离线文件”等类似功能按钮,以实现目标文件资源的离线发送与否触发外,若第一终端设备中安装有重力感应装置,还可以通过摇动第一终端设备来触发重力感应装置,进而实现对所述目标文件资源的离线发送与否的触发。本发明实施例中,所述摇动可以理解为能够触发重力感应装置的任意操作,如上下或左右晃动所述移动设备等,本发明实施例对具体的操作不做限定。
在本发明的一种优选实施例中,当接收到用户发送的离线确认指令后,步骤502进一步可以为,在第一终端设备侧依据所述用户针对悬浮窗口的指定操作生成文件发送请求;在第一终端设备侧将所述文件发送请求发送至文件服务器中;在第一终端设备侧接收所述文件服务器返回的文件响应消息;在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至文件服务器中。具体来说,所述文件发送请求可以包括目标文件资源的大小,文件服务器接收到所述文件发送请求后,依据所述目标文件资源的大小判断自身的内存大小是否大于所述目标文件资源的大小,若大于,则文件服务器返回文件响应消息,以通知第一终端设备上传目标文件资源;否则,文件服务器不返回文件响应消息。若第一终端设备在预设时间段内接收到文件响应消息,则将依据所述文件响应消息将所述目标文件资源发送至文件服务器中;若第一终端设备在预设时间段内没有接收到文件响应消息,则不将所述目标文件资源发送至文件服务器中,此时,所述目标文件资源在所述悬浮窗口中处于等待发送状态。
在实际中,为了保障目标文件资源的安全,第一客户端程序在上传所述目标文件资源之前,可以先按照第一预设规则对所述目标文件资源进行加密后再上传至文件服务器中,所述第一预设规则可以为所述第一客户端程序与后台服务器预先约定的加密解密规则。
步骤503,文件服务器生成所述目标文件资源的下载地址并返回第一终端设备侧;
具体而言,所述文件服务器是共享文件的服务器,用于存储目标文件资源。在实际应用中,所述文件服务器中只保存预设时间段内的目标文件资源,文件服务器可以对存储的目标文件资源进行周期性或不定期地检测,若检测到有目标文件资源的存储的时间超过预设时间段,则删除所述目标文件资源。其中,所述预设时间段可以为针对每个目标文件资源的存入时间为开始时间设置的时间段(如一个月,超过存入时间一个月的目标文件资源将被删除);或者,所述预设时间还可以为文件服务器为所有存储的文件资源统一设定的时间界限(如2013年7月10号前存储的目标文件资源将删除)。
文件服务器接收到目标文件资源后,获取该目标文件资源在文件服务器侧的存储地址,将所述存储地址按照第二预设规则生成所述目标文件资源的下载地址,对所述目标文件资源的下载地址按照第一预设规则加密后返回第一终端设备侧。
在具体实现中,用户可以选定一个或多个目标文件资源,并通过所述悬浮窗口进行发送,此时第一终端设备可以采用所述第一客户端程序生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表,第一终端侧将所述文件发送列表展示在悬浮窗口的预设位置或第一终端设备界面的其他预设位置。所述文件发送列表中具有针对每个目标文件资源的文件发送状态信息,所述文件发送状态信息可以包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。其中,所述文件发送状态信息是指文件发送至文件服务器的状态信息,所述成功发送状态为在预设时间段内接收到文件服务器返回的对应的下载地址的状态;所述发送失败状态为在预设时间段内没有接收到文件服务器返回的对应的下载地址的状态。
在实际应用中,文件状态列表中还可以展示查看向导信息,所述查看向导信息用于指导用户如何在第二终端设备中接收并查看离线文件资源。
步骤504,在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包并发送至应用服务器中;
应用于本发明实施例,第一终端设备侧采用第一客户端程序接收到文件服务器返回的目标文件资源的下载地址后,对该目标文件资源的下载地址按照第一预设规则进行解密,然后构建所述目标文件资源的下载地址以及所述文件属性信息的信息包,并对所述信息包采用第一预设规则进行加密后发送至应用服务器中。
需要说明的是,所述信息包实际上是一种记录有目标文件资源的下载地址以及所述文件属性信息的数据结构。
步骤505,应用服务器获取所述第一终端设备的标识,并在预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
具体而言,所述预设的关联关系列表中存储有发生过连接的第一终端设备的标识与第二终端设备的标识之间的关联关系。所述关联关系生成的过程可以为(以第一终端设备为计算设备,第二终端设备为移动设备的情况举例):
首先计算设备接收移动设备发送的建立长连接的通知消息,通知消息中包括移动设备的标识;若计算设备允许建立长连接,则计算设备将移动设备的标识和计算设备的标识发送至应用服务器,由应用服务器在关联关系列表中记录移动设备和计算设备的关联关系。
具体地,建立移动设备和计算设备之间的关联关系,主要包括如下步骤:
1、移动设备在应用服务器上进行认证;
1.1在移动设备启动第二客户端程序(即手机助手);
1.2在移动设备上输入手机号后,移动设备将该设备的IMEI和手机号一并发送给应用服务器;
1.3应用服务器向移动设备发送带有认证码的短信;
1.4在移动设备上输入该认证码,然后发给应用服务器;
1.5应用服务器根据该认证码、移动设备号以及IMEI来确定该移动设备的标识为该移动设备所拥有。
2.在计算设备处
2.1在计算设备上启动手机助手;
2.2输入移动设备的手机号后,计算设备将移动设备的手机号和MID一并发送给应用服务器;
2.3应用服务器根据接收到的计算设备的MID、手机号在数据库中查询该手机号所对应的移动设备是否在该应用服务器处进行了认证,如果进行了认证,则在关联关系列表中建立计算设备的MID、手机号、该移动设备的IMEI的对应关系,例如把它们作为一条记录存储在关联关系列表中;否则向移动设备发出邀请,邀请流程如下:
2.3.1应用服务器向移动设备发送一条邀请短信,邀请短信中为一激活链接地址;
2.3.2移动设备接收到该短信时,会弹出一个绑定允许对话框,用户点击确定后,会将该激活链接中的信息发送给应用服务器,应用服务器接收到绑定确认请求后,将该移动设备和对应计算设备绑定。
关联关系列表结构是
消息的数据库表是:
CREATE TABLE`msg`(
`msgid`INT(10)UNSIGNED NOT NULLAUTO_INCREMENT,
`toid`INT(10)UNSIGNED NOT NULL DEFAULT'0'COMMENT'初始速递号【分表KEY】',
`title`CHAR(255)NOT NULL DEFAULT”COMMENT'消息标题',
`content`TEXT NOTNULL,
`isupload`TINYINT(4)UNSIGNED NOT NULL COMMENT'是否本地上传',
`signature`CHAR(255)NOT NULL DEFAULT”COMMENT'发送者签名',
`fileurl`VARCHAR(2800)NOT NULL DEFAULT”COMMENT'文件下载url',
`filename`VARCHAR(1200)NOT NULL DEFAULT”COMMENT'文件名',
`filetype`TINYINT(3)UNSIGNED NOT NULL DEFAULT'0'COMMENT'文件类型号',
`filehash`CHAR(32)NOT NULL DEFAULT”COMMENT'文件md5',
`filethumb`CHAR(255)NOT NULL DEFAULT”COMMENT'缩略图url',
`fileshorturl`CHAR(64)NOTNULL DEFAULT'0'COMMENT'短链接',
`filesize`INT(10)UNSIGNED NOT NULL DEFAULT'0'COMMENT'文件大小',
`status`TINYINT(4)NOT NULL DEFAULT'0',
`createtime`DATETIME NOT NULL COMMENT'创建时间',
`updatetime`DATETIME NOT NULL COMMENT'更新时间',
`flag`TINYINT(3)UNSIGNED NOT NULL DEFAULT'0',
`fromid`INT(10)UNSIGNED NOT NULL DEFAULT'0',
`appid`SMALLINT(5)UNSIGNED NOT NULL DEFAULT'0'COMMENT'应用ID',
`batchid`INT(10)UNSIGNED NULL DEFAULT'0',
`_batchid`VARCHAR(200)NULL DEFAULT”,
PRIMARY KEY(`msgid`),
INDEX`idx_toid_flag_status_msgid`(`toid`,`flag`,`status`,`msgid`)
)
COMMENT='消息表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB。
具体地,移动设备的标识是mobile1,计算设备的标识是desktop1,当移动设备要和计算设备进行关联的时候,长连接将这个关联请求发送给计算设备,计算设备同意确认后这个关联mobile1<-->desktop1建立起来了。当应用服务器收到信息包后,应用服务器中还记录了desktop1<-->信息包file1的映射关系。应用服务器在接收到信息包后,对其进行解密,并获取所述第一终端设备的标识,随后在所述预设的关联关系列表中查找与所述第一终端设备的标识关联的第二终端设备的标识。在实际应用中,所述预设的关联关系列表中所述第一终端设备的标识与所述第二终端设备的标识之间的关联关系存在如下情况:
(1)第一终端设备的标识只与一台第二终端设备的标识对应。在这种情况下,应用服务器选择所述第二终端设备的标识作为所述目标文件资源的接收方。
(2)第一终端设备的标识与多台第二终端设备的标识对应。在这种情况下,由于在实际中,预设的关联关系列表中还可以存储所述第一终端设备的标识与各第二终端设备的标识最新的发生连接的时间,此时,应用服务器可以根据所述第一终端设备的标识与各第二终端设备的标识最新的发生连接的时间选择最近发生连接的第二终端设备的标识(即最后一台与第一终端设备发生连接的第二终端设备)作为目标文件资源的接收方。
应用服务器获取到作为目标文件资源接收方的第二终端设备的标识后,生成信息确认指令,并通过推送服务器(push服务器)将所述信息确认指令发送至第一终端设备侧,所述信息确认指令包括第二终端设备的标识,所述信息确认指令用于告知第一终端设备确认是否将目标文件资源发送至所述选择的第二终端设备的标识中。如图8所示的离线提醒示意图,第一终端设备在接收到所述信息确认指令后,可以采用第一客户端程序将所述目标文件资源将要发送的第二设备的标识以弹窗等形式展示给用户,若用户选择“立即发送”,说明用户确认所述目标文件资源发送至所述第二终端设备的标识,则第一终端设备侧生成第一确认信息发送至应用服务器侧。此外,若用户的意图不是将所述目标文件资源发送至所述第二终端设备的标识中,用户可以选择“换台设备”等字样的按钮,则第一终端设备侧生成第二确认信息发送至应用服务器中,此时,用户可以将需要接收目标文件资源的第二终端设备接入第一终端设备中,以接收目标文件资源;若用户没有接入任何第二终端设备,则应用服务器再查找所述预设的关联关系列表中是否存在其他与所述第一终端设备的标识关联的第二终端设备的标识,若存在,则获取次最近发生连接的第二终端设备的标识生成信息确认指令发送至第一终端设备侧,以此类推;否则,应用服务器生成连接提醒消息发送至第一终端设备侧,以通知用户连接需要接受目标文件资源的第二终端设备。
步骤506,在应用服务器侧依据所述第二终端设备的标识生成文件获取消息发送至推送服务器中;
应用服务器接收到第一终端设备侧发送的第一确认信息后,依据所述第二终端设备的标识生成文件获取消息,并将所述文件获取消息发送至推送服务器(push服务器)中。其中,所述文件获取消息用于通知推送服务器在检测到所述第二终端设备的标识对应的第二终端设备在线时,将文件获取消息发送至所述第二终端设备中,以通知所述第二终端设备到应用服务器中获取所述信息包。
步骤507,推送服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧;
在实际中,推送服务器用于将文件获取消息推送到对应的第二终端设备中。具体而言,推送服务器在接收到所述文件获取消息后,获取所述文件获取消息中携带的第二终端设备的标识,并在所有已经接入的终端设备的标识(终端设备一在线便会自动连接推送服务器)中查找与所述第二终端设备的标识相同的终端设备,若查找成功,则说明所述第二终端设备在线,否则,则说明所述第二终端设备不在线。
推送服务器在检测到所述第二终端设备在线时,则直接将所述文件获取消息发送至所述第二终端设备中;若检测到所述第二终端设备不在线(即离线),则等到所述第二终端设备在线上再将所述文件获取消息发送至所述第二终端设备中。
在具体实现中,第二终端设备的在线与否依据监听得到的网络状态而定。具体而言,在本发明的一种优选实施例中,若所述第二终端设备为安装有安卓***的移动设备,其按照如下方式监听网络状态:
网络状态是一个SystemService,可以通过context.getSystemService(Stringname)获取,当网络状态发生变化的时候,SystemServic会发出android.net.conn.CONNECTIVITY_CHANGE广播,此时移动设备侧只需要注册一个service(服务),便可以在后台接收网络状态变化的广播,这个service可以为ConnctionChangeReceiver;处理接收到的广播,实现方法如下,在onReceive中添加网络状态判断:
ConnectivityManager connectMgr=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mobNetInfo=connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);NetworkInfowifiNetInfo=connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
其中,ConnectivityManager为获取当前***服务信息;
getNetworkInfo分别获取类型为MOBILE和WIFI两种联网方式的信息;
通过判断mobNetInfo.isConnected()和wifiNetInfo.isConnected()返回的Boolean布尔值来确定当前联网状态,若返回的布尔值为true(或1),则说明当前网络可用,移动设备可进行连接;若返回的布尔值为false(或0),则说明当前的网络不可用,移动设备不可进行连接。
在本发明的另一种优选实施例中,若所述第二终端设备为计算设备,其按照如下方式监听网络状态:若计算设备需要无线连接网络时,可以调用网络接口API获取当前的网络状态,若当前网络状态可用,则计算设备连接当前网络,否则,不连接当前网络。
步骤508,在第二终端设备侧依据所述文件获取消息从应用服务器中获取对应的信息包;
具体而言,第二终端设备侧安装有第二客户端程序,所述第二终端设备采用所述第二客户端程序接收推送服务器发送的文件获取消息,在在接收到所述文件获取消息时,可以将所述文件获取消息展示在第二终端的预设展示位置中,并以提示音或弹窗等形式通知用户有离线的文件资源,用户点击所述文件获取消息后即促使第二终端设备采用所述第二客户端程序到应用服务器中获取信息包。
步骤509,在第二终端设备侧依据所述目标文件资源的下载地址从文件服务器中下载对应的目标文件资源。
第二客户端程序获取到信息包后,解密所述信息包,获得所述信息包中的文件资源的下载地址,并依据所述文件资源的下载地址到文件服务器中获取对应的目标文件资源。
进一步地,第二客户端程序解密所述信息包后,还可以获得所述目标文件资源的类型,并根据所述目标文件资源的类型进行如下操作:若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书等类型,则将所述目标文件资源存储在第二终端设备侧;若所述目标文件资源的类型为软件和/或游戏等安装类型,则直接安装所述目标文件资源。第二客户端程序在存储完文件资源或安装完文件资源后,可以在第二终端设备界面的预设展示位置以通知消息或弹窗的形式告知用户已安装的文件资源或已存储的文件资源的文件信息,其中,所述文件信息可以以列表的形式进行展现。
在本发明实施例中,第一终端设备与第二终端设备在进行文件资源的传输时,可以不同时处于在线状态,即第一终端设备在线时先将目标文件资源上传至后台服务器,此时第二终端设备不一定需要在线,当第二终端设备在线时再到后台服务器中下载所述目标文件资源,从而减少了文件资源传输的限制,提高用户体验。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参照图9,示出了本发明的一种用于离线文件传输的终端设备实施例一的结构框图,所述的终端设备可以包括如下模块:
目标文件资源发送模块601,适于在第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中;
下载地址接收模块602,适于在第一终端设备侧接收所述第一服务器返回的所述目标文件资源的下载地址,所述目标文件资源的下载地址为所述第一服务器依据所述目标文件资源生成;
下载地址发送模块603,适于在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中。
在本发明的一种优选实施例中,还包括:
检测模块,适于在所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中之前,检测用户针对悬浮窗口发起的指定操作,所述指定操作包括用户将目标文件资源拖送到悬浮窗口的操作,和/或,用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作;
提醒消息发送模块,适于在检测到所述指定操作时,发出提醒消息询问用户是否需要离线发送目标文件资源;
所述目标文件资源发送模块还适于:
在接收到用户发送的离线确认指令后,通过悬浮窗口将所述目标文件资源发送至第一服务器中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。
在本发明的一种优选实施例中,所述目标文件资源发送模块601还适于:
在第一终端设备侧依据所述用户针对悬浮窗口的指定操作生成文件发送请求;
在第一终端设备侧将所述文件发送请求发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的文件响应消息;
在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中。
在本发明的一种优选实施例中,所述目标文件资源发送模块还适于:
在第一终端设备侧依据所述文件响应消息对将所述目标文件资源进行加密;
将所述加密后的目标文件资源发送至第一服务器中。
在本发明的一种优选实施例中,所述目标文件资源为第一终端侧依据用户发出的文件资源选定指令获得的文件资源;所述文件资源选定指令为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令,或者,所述文件资源选定指令为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。
在本发明的一种优选实施例中,所述下载地址发送模块还适于:
在第一终端设备侧获取所述目标文件资源的文件属性信息;
在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包;
在第一终端设备侧将所述信息包发送至第二服务器中。
在本发明的一种优选实施例中,还包括:
信息确认指令发送模块,适于在第一终端设备侧接收第三服务器发送的信息确认指令;
展示模块,适于在第一终端设备侧将所述信息确认指令展示给用户;
确认信息接收模块,适于接收用户选择的确认信息,并将所述确认信息发送至第二服务器中。
在本发明的一种优选实施例中,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息。
在本发明的一种优选实施例中,还包括:
文件发送列表生成模块,适于在第一终端设备侧生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表。
在本发明的一种优选实施例中,所述文件发送列表中针对每个目标文件资源具有文件发送状态信息,所述文件发送状态信息包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。
在本发明的一种优选实施例中,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
在本发明的一种优选实施例中,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
在本发明的一种优选实施例中,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
参照图10,示出了本发明的一种用于离线文件传输的服务器实施例一的结构框图,所述的服务器可以包括如下模块:
信息包接收模块701,适于在第二服务器侧接收第一终端设备侧发送的信息包;
设备标识获取模块702,适于所述第二服务器获取所述第一终端设备的标识;
设备标识查找模块703,适于在第二服务器侧的预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
第一文件获取消息发送模块704,适于在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中。
在本发明的一种优选实施例中,还包括:
信息确认指令生成模块,适于在所述依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中之前,在第二服务器侧生成信息确认指令;
信息确认指令发送模块,适于在第二服务器侧将所述信息确认指令发送至第三服务器中,由第三服务器发送至第一终端设备侧;
确认消息接收模块,适于在第二服务器侧接收第一终端设备返回的确认信息。
在本发明的一种优选实施例中,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;
所述服务器还包括:
调用模块,适于在所述确认信息为第一确认信息时,调用第一文件获取消息发送模块;
标识获取模块,适于在所述确认信息为第二确认信息时,在第二服务器侧重新获取第二终端设备的标识。
在本发明的一种优选实施例中,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
参照图11,示出了本发明的一种用于离线文件传输的服务器实施例二的结构框图,所述的服务器可以包括如下模块:
第一文件获取消息接收模块801,适于在第三服务器侧接收第二服务器发送的文件获取消息,所述文件获取消息包括第二终端设备的标识;
第二文件获取消息发送模块802,适于在第三服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧。
在本发明的一种优选实施例中,所述第二文件获取消息发送模块还适于:
在第三服务器侧获取所有已经接入的终端设备的标识;
在第三服务器侧判断所述所有接入的终端设备的标识中是否存在与所述第二终端设备的标识相同的终端设备;
若是,则判定所述第二终端设备的标识对应的第二终端设备在线。
在本发明的一种优选实施例中,还包括:
信息确认指令接收模块,适于在第三服务器侧接收第二服务器发送的信息确认指令;
信息确认指令发送模块,适于在第三服务器侧将所述信息确认指令发送至第一终端设备中。
在本发明的一种优选实施例中,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
参照图12,示出了本发明的一种用于离线文件传输的终端设备实施例二的结构框图,所述的终端设备可以包括如下模块:
第二文件获取消息接收模块901,适于在第二终端设备侧接收第三服务器发送的文件获取消息;
信息包获取模块902,适于在第二终端设备侧依据所述文件获取消息从第二服务器中获取对应的信息包,所述信息包包括目标文件资源的下载地址;
目标文件资源下载模块903,适于在第二终端设备侧依据所述目标文件资源的下载地址从第一服务器中下载对应的目标文件资源。
在本发明的一种优选实施例中,所述信息包包括文件属性信息,所述文件属性信息包括目标文件资源的类型,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书,所述的终端设备还包括:
若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书,则将所述目标文件资源存储在第二终端设备侧;
若所述目标文件资源的类型为软件和/或游戏,则直接安装所述目标文件资源。
在本发明的一种优选实施例中,所述终端设备还包括:
监听模块,适于在所述在第二终端设备侧接收第三服务器发送的文件获取消息之前,在第二终端设备侧监听网络状态,所述网络状态包括当前网络可用;
第一连接模块,适于若当前网络可用,则在第二终端设备侧连接当前网络;
第二连接模块,适于在第二终端设备侧连接所述第三服务器。
在本发明的一种优选实施例中,若所述第二终端设备为移动设备,所述监听模块还适于:
在所述第二终端设备侧注册网络状态变化接收服务ConnctionChangeReceiver;
在第二终端设备侧采用所述网络状态变化接收服务ConnctionChangeReceiver接收***服务SystemService发出的广播CONNECTIVITY_CHANGE;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为真,则判定当前网络可用;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为假,则判定当前网络不可用。
在本发明的另一种优选实施例中,若所述第二终端设备为移动设备,所述监听模块还适于:
在第二终端设备侧调用网络接口API查询当前的网络状态。
在本发明的一种优选实施例中,所述第一服务器为文件服务器,所述第二服务器为应用服务器,第三服务器为推送服务器。
参照图13,示出了本发明的一种离线文件传输的***实施例的结构框图,所述的***可以包括第一终端设备10、文件服务器20、应用服务器30,推送服务器40、第二终端设备50,其中,
所述第一终端设备10,适于当第一终端设备没有检测到第二终端设备的接入时,通过悬浮窗口将待发送的目标文件资源发送至文件服务器中,并接收所述文件服务器返回的所述目标文件资源的下载地址,以及,将所述目标文件资源的下载地址构建信息包发送至应用服务器中;
所述文件服务器20,适于接收所述目标文件资源,依据所述目标文件资源生成对应的目标文件资源的下载地址并发送至第一终端设备中;
所述应用服务器30,适于接收所述信息包,依据所述信息包中携带的第一终端设备的标识在预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识,以及,依据所述第二终端设备的标识生成文件获取消息发送至推送服务器中;
所述推送服务器40,适于在检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧;
所述第二终端设备50,适于依据所述文件获取消息从应用服务器中获取对应的信息包,以及,依据所述信息包携带的目标文件资源的下载地址从文件服务器中下载对应的目标文件资源。
在本发明的一种优选实施例中,所述第一终端设备10还适于:
依据用户针对悬浮窗口的指定操作生成文件发送请求;
将所述文件发送请求发送至文件服务器中;
接收所述文件服务器返回的文件响应消息;
依据所述文件响应消息将所述目标文件资源发送至文件服务器中。
在本发明的一种优选实施例中,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
在本发明的一种优选实施例中,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
在本发明的一种优选实施例中,所述第二终端设备50还适于:
在所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书时,将所述目标文件资源存储在第二终端设备侧;
在所述目标文件资源的类型为软件和/或游戏时,直接安装所述目标文件资源。
在此提供的算法和显示不与任何特定计算设备、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的离线文件传输设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者终端设备程序(例如,第一终端设备程序和第一终端设备程序产品)。这样的实现本发明的程序可以存储在第一终端设备可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的第一终端设备来实现。在列举了若干终端设备的单元权利要求中,这些终端设备中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种离线文件传输的方法,包括:
当第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的所述目标文件资源的下载地址,所述目标文件资源的下载地址为所述第一服务器依据所述目标文件资源生成;
在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中。
A2、如A1所述的方法,在所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中的步骤之前,还包括:
检测用户针对悬浮窗口发起的指定操作,所述指定操作包括用户将目标文件资源拖送到悬浮窗口的操作,和/或,用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作;
当检测到所述指定操作时,发出提醒消息询问用户是否需要离线发送目标文件资源;
所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中的步骤包括:
在接收到用户发送的离线确认指令后,通过悬浮窗口将所述目标文件资源发送至第一服务器中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。
A3、如A2所述的方法,所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中的步骤包括:
在第一终端设备侧依据所述用户针对悬浮窗口的指定操作生成文件发送请求;
在第一终端设备侧将所述文件发送请求发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的文件响应消息;
在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中。
A4、如A3所述的方法,所述在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中的步骤包括:
在第一终端设备侧依据所述文件响应消息对将所述目标文件资源进行加密;
将所述加密后的目标文件资源发送至第一服务器中。
A5、如A1所述的方法,所述目标文件资源为第一终端侧依据用户发出的文件资源选定指令获得的文件资源;所述文件资源选定指令为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令,或者,所述文件资源选定指令为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。
A6、如A1所述的方法,所述在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中的步骤包括:
在第一终端设备侧获取所述目标文件资源的文件属性信息;
在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包;
在第一终端设备侧将所述信息包发送至第二服务器中。
A7、如A1所述的方法,还包括:
在第一终端设备侧接收第三服务器发送的信息确认指令;
在第一终端设备侧将所述信息确认指令展示给用户;
接收用户选择的确认信息,并将所述确认信息发送至第二服务器中。
A8、如A7所述的方法,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息。
A9、如A1所述的方法,还包括:
在第一终端设备侧生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表。
A10、如A9所述的方法,所述文件发送列表中针对每个目标文件资源具有文件发送状态信息,所述文件发送状态信息包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。
A11、如A1所述的方法,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
A12、如A11所述的方法,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
A13、如A4至12任一项所述的方法,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
本发明的实施例还公开了B14、一种离线文件传输的方法,包括:
在第二服务器侧接收第一终端设备侧发送的信息包;
所述第二服务器获取所述第一终端设备的标识;
在第二服务器侧的预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中。
B15、如B14所述的方法,在所述依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中的步骤之前,还包括:
在第二服务器侧生成信息确认指令;
在第二服务器侧将所述信息确认指令发送至第三服务器中,由第三服务器发送至第一终端设备侧;
在第二服务器侧接收第一终端设备返回的确认信息。
B16、如B15所述的方法,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;
所述方法还包括:
若所述确认信息为第一确认信息,则执行所述在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中的步骤;
若所述确认信息为第二确认信息,则在第二服务器侧重新获取第二终端设备的标识。
本发明的实施例还公开了C17、一种离线文件传输的方法,包括:
在第三服务器侧接收第二服务器发送的文件获取消息,所述文件获取消息包括第二终端设备的标识;
在第三服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧。
C18、如C17所述的方法,所述检测所述第二终端设备的标识对应的第二终端设备在线的步骤包括:
在第三服务器侧获取所有已经接入的终端设备的标识;
在第三服务器侧判断所述所有接入的终端设备的标识中是否存在与所述第二终端设备的标识相同的终端设备;
若是,则判定所述第二终端设备的标识对应的第二终端设备在线。
C19、如C17所述的方法,还包括:
在第三服务器侧接收第二服务器发送的信息确认指令;在第三服务器侧将所述信息确认指令发送至第一终端设备中。
本发明的实施例还公开了D20、一种离线文件传输的方法,包括:
在第二终端设备侧接收第三服务器发送的文件获取消息;
在第二终端设备侧依据所述文件获取消息从第二服务器中获取对应的信息包,所述信息包包括目标文件资源的下载地址;
在第二终端设备侧依据所述目标文件资源的下载地址从第一服务器中下载对应的目标文件资源。
D21、如D20所述的方法,所述信息包包括文件属性信息,所述文件属性信息包括目标文件资源的类型,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书,所述的方法还包括:
若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书,则将所述目标文件资源存储在第二终端设备侧;
若所述目标文件资源的类型为软件和/或游戏,则直接安装所述目标文件资源。
D22、如D20所述的方法,在所述在第二终端设备侧接收第三服务器发送的文件获取消息的步骤之前,还包括:
在第二终端设备侧监听网络状态,所述网络状态包括当前网络可用;
若当前网络可用,则在第二终端设备侧连接当前网络;
在第二终端设备侧连接所述第三服务器。
D23、如D22所述的方法,若所述第二终端设备为移动设备,所述在第二终端设备侧监听网络状态的步骤包括:
在所述第二终端设备侧注册网络状态变化接收服务ConnctionChangeReceiver;
在第二终端设备侧采用所述网络状态变化接收服务ConnctionChangeReceiver接收***服务SystemService发出的广播CONNECTIVITY_CHANGE;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为真,则判定当前网络可用;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为假,则判定当前网络不可用。
D24、如D22所述的方法,若所述第二终端设备为计算设备,所述在第二终端设备侧监听网络状态的步骤包括:
在第二终端设备侧调用网络接口API查询当前的网络状态。
本发明的实施例还公开E25、一种用于离线文件传输的终端设备,包括:
目标文件资源发送模块,适于在第一终端设备没有检测到第二终端设备的接入时,在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中;
下载地址接收模块,适于在第一终端设备侧接收所述第一服务器返回的所述目标文件资源的下载地址,所述目标文件资源的下载地址为所述第一服务器依据所述目标文件资源生成;
下载地址发送模块,适于在第一终端设备侧依据所述目标文件资源的下载地址构建信息包并发送至第二服务器中。
E26、如E25所述的终端设备,还包括:
检测模块,适于在所述在第一终端设备侧通过悬浮窗口将目标文件资源发送至第一服务器中之前,检测用户针对悬浮窗口发起的指定操作,所述指定操作包括用户将目标文件资源拖送到悬浮窗口的操作,和/或,用户点击悬浮窗口上的文件选定按钮,在第一终端设备弹出的文件路径选择窗口中选择目标文件资源的路径的操作;
提醒消息发送模块,适于在检测到所述指定操作时,发出提醒消息询问用户是否需要离线发送目标文件资源;
所述目标文件资源发送模块还适于:
在接收到用户发送的离线确认指令后,通过悬浮窗口将所述目标文件资源发送至第一服务器中,所述离线确认指令为用户指示的确认离线发送所述目标文件资源的指令。
E27、如E26所述的终端设备,所述目标文件资源发送模块还适于:
在第一终端设备侧依据所述用户针对悬浮窗口的指定操作生成文件发送请求;
在第一终端设备侧将所述文件发送请求发送至第一服务器中;
在第一终端设备侧接收所述第一服务器返回的文件响应消息;
在第一终端设备侧依据所述文件响应消息将所述目标文件资源发送至第一服务器中。
E28、如E27所述的终端设备,所述目标文件资源发送模块还适于:
在第一终端设备侧依据所述文件响应消息对将所述目标文件资源进行加密;
将所述加密后的目标文件资源发送至第一服务器中。
E29、如E25所述的终端设备,所述目标文件资源为第一终端侧依据用户发出的文件资源选定指令获得的文件资源;所述文件资源选定指令为用户在第一终端设备侧展示的文件资源下载列表中选择的对某文件资源的下载指令,或者,所述文件资源选定指令为用户在第一终端设备侧存储的文件资源中选择的对某文件资源的选定指令。
E30、如E25所述的终端设备,所述下载地址发送模块还适于:
在第一终端设备侧获取所述目标文件资源的文件属性信息;
在第一终端设备侧构建所述目标文件资源的下载地址以及所述文件属性信息的信息包;
在第一终端设备侧将所述信息包发送至第二服务器中。
E31、如E25所述的终端设备,还包括:
信息确认指令发送模块,适于在第一终端设备侧接收第三服务器发送的信息确认指令;
展示模块,适于在第一终端设备侧将所述信息确认指令展示给用户;
确认信息接收模块,适于接收用户选择的确认信息,并将所述确认信息发送至第二服务器中。
E32、如E31所述的终端设备,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息。
E33、如E25所述的终端设备,还包括:
文件发送列表生成模块,适于在第一终端设备侧生成文件发送列表,所述文件发送列表为通过所述悬浮窗口进行离线发送的目标文件资源组织成的列表。
E34、如E33所述的终端设备,所述文件发送列表中针对每个目标文件资源具有文件发送状态信息,所述文件发送状态信息包括成功发送状态、正在发送状态、等待发送状态以及发送失败状态。
E35、如E25所述的终端设备,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
E36、如E35所述的终端设备,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
E37、如E28至36任一项所述的终端设备,所述第一服务器为文件服务器,所述第二服务器为应用服务器,所述第三服务器为推送服务器。
本发明的实施例还公开了F38、一种用于离线文件传输的服务器,包括:
信息包接收模块,适于在第二服务器侧接收第一终端设备侧发送的信息包;
设备标识获取模块,适于所述第二服务器获取所述第一终端设备的标识;
设备标识查找模块,适于在第二服务器侧的预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识;
第一文件获取消息发送模块,适于在第二服务器侧依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中。
F39、如F38所述的服务器,还包括:
信息确认指令生成模块,适于在所述依据所述第二终端设备的标识生成文件获取消息发送至第三服务器中之前,在第二服务器侧生成信息确认指令;
信息确认指令发送模块,适于在第二服务器侧将所述信息确认指令发送至第三服务器中,由第三服务器发送至第一终端设备侧;
确认消息接收模块,适于在第二服务器侧接收第一终端设备返回的确认信息。
F40、如F39所述的服务器,所述信息确认指令包括第二终端设备的标识,所述确认信息包括第一确认信息以及第二确认信息,所述第一确认信息为依据用户选定的确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;所述第二确认信息为依据用户选定的不确认所述第二终端设备的标识对应的第二终端设备为文件接收方而生成的信息;
所述服务器还包括:
调用模块,适于在所述确认信息为第一确认信息时,调用第一文件获取消息发送模块;
标识获取模块,适于在所述确认信息为第二确认信息时,在第二服务器侧重新获取第二终端设备的标识。
本发明的实施例还公开了G41、一种用于离线文件传输的服务器,包括:
第一文件获取消息接收模块,适于在第三服务器侧接收第二服务器发送的文件获取消息,所述文件获取消息包括第二终端设备的标识;
第二文件获取消息发送模块,适于在第三服务器侧检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧。
G42、如G41所述的服务器,所述第二文件获取消息发送模块还适于:
在第三服务器侧获取所有已经接入的终端设备的标识;
在第三服务器侧判断所述所有接入的终端设备的标识中是否存在与所述第二终端设备的标识相同的终端设备;
若是,则判定所述第二终端设备的标识对应的第二终端设备在线。
G43、如G41所述的服务器,还包括:
信息确认指令接收模块,适于在第三服务器侧接收第二服务器发送的信息确认指令;
信息确认指令发送模块,适于在第三服务器侧将所述信息确认指令发送至第一终端设备中。
本发明的实施例还公开了H44、一种用于离线文件传输的终端设备,包括:
第二文件获取消息接收模块,适于在第二终端设备侧接收第三服务器发送的文件获取消息;
信息包获取模块,适于在第二终端设备侧依据所述文件获取消息从第二服务器中获取对应的信息包,所述信息包包括目标文件资源的下载地址;
目标文件资源下载模块,适于在第二终端设备侧依据所述目标文件资源的下载地址从第一服务器中下载对应的目标文件资源。
H45、如H44所述的终端设备,所述信息包包括文件属性信息,所述文件属性信息包括目标文件资源的类型,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书,所述的终端设备还包括:
若所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书,则将所述目标文件资源存储在第二终端设备侧;
若所述目标文件资源的类型为软件和/或游戏,则直接安装所述目标文件资源。
H46、如H44所述的终端设备,还包括:
监听模块,适于在所述在第二终端设备侧接收第三服务器发送的文件获取消息之前,在第二终端设备侧监听网络状态,所述网络状态包括当前网络可用;
第一连接模块,适于若当前网络可用,则在第二终端设备侧连接当前网络;
第二连接模块,适于在第二终端设备侧连接所述第三服务器。
H47、如H46所述的终端设备,所述第二终端设备为移动设备,所述监听模块还适于:
在所述第二终端设备侧注册网络状态变化接收服务ConnctionChangeReceiver;
在第二终端设备侧采用所述网络状态变化接收服务ConnctionChangeReceiver接收***服务SystemService发出的广播CONNECTIVITY_CHANGE;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为真,则判定当前网络可用;
若所述广播CONNECTIVITY_CHANGE调用的方法wifiNetInfo.isConnected()返回的布尔值为假,则判定当前网络不可用。
H48、如H46所述的方法,若所述第二终端设备为计算设备,所述在第二终端设备侧监听网络状态的步骤包括:
在第二终端设备侧调用网络接口API查询当前的网络状态。
本发明的实施例还公开了I49、一种离线文件传输的***,包括:第一终端设备、文件服务器、应用服务器,推送服务器、第二终端设备,其中,
所述第一终端设备,适于当第一终端设备没有检测到第二终端设备的接入时,通过悬浮窗口将待发送的目标文件资源发送至文件服务器中,并接收所述文件服务器返回的所述目标文件资源的下载地址,以及,将所述目标文件资源的下载地址构建信息包发送至应用服务器中;
所述文件服务器,适于接收所述目标文件资源,依据所述目标文件资源生成对应的目标文件资源的下载地址并发送至第一终端设备中;
所述应用服务器,适于接收所述信息包,依据所述信息包中携带的第一终端设备的标识在预设的关联关系列表中查找与所述第一终端设备的标识存在关联关系的第二终端设备的标识,以及,依据所述第二终端设备的标识生成文件获取消息发送至推送服务器中;
所述推送服务器,适于在检测到所述第二终端设备的标识对应的第二终端设备在线时,将所述文件获取消息发送至所述第二终端设备侧;
所述第二终端设备,适于依据所述文件获取消息从应用服务器中获取对应的信息包,以及,依据所述信息包携带的目标文件资源的下载地址从文件服务器中下载对应的目标文件资源。
I50、如I49所述的***,所述第一终端设备还适于:
依据用户针对悬浮窗口的指定操作生成文件发送请求;
将所述文件发送请求发送至文件服务器中;
接收所述文件服务器返回的文件响应消息;
依据所述文件响应消息将所述目标文件资源发送至文件服务器中。
I51、如I49所述的***,所述目标文件资源的文件属性信息还包括目标文件资源的大小、目标文件资源的类型、目标文件资源的版本号、目标文件资源的标识。
I52、如I51所述的***,所述目标文件资源的类型包括主题、壁纸、铃声、软件、音乐、游戏、视频、电子书。
I53、如I52所述的***,所述第二终端设备还适于:
在所述目标文件资源的类型为主题、壁纸、铃声、音乐、视频、电子书时,将所述目标文件资源存储在第二终端设备侧;
在所述目标文件资源的类型为软件和/或游戏时,直接安装所述目标文件资源。